diff --git a/README.md b/README.md new file mode 100644 index 0000000..69cc11d --- /dev/null +++ b/README.md @@ -0,0 +1,11 @@ +此接口为自用 ,内容均来自网络搜集,经过测试筛选后保留较高质量接口,如有冒犯 侵权所属版权方,请联系删除。转载请注明出处 + +1:多仓接口 +````bash +https://ghfast.top/https://raw.githubusercontent.com/chendi0207/my-TVBOX/refs/heads/main/本地仓.txt +```` + +- 软件下载链接如下: +- TV、手机(影视仓、OK影视等) +- https://www.123912.com/s/RQVbVv-Gi1Fd +- 提取码:8888 \ No newline at end of file diff --git a/tvboxqq/tvboxqq/OK/api.json b/tvboxqq/tvboxqq/OK/api.json new file mode 100644 index 0000000..7740dea --- /dev/null +++ b/tvboxqq/tvboxqq/OK/api.json @@ -0,0 +1,1466 @@ +//资源全部免费,仅供测试交流,请勿内置传播与转卖;关注微信公众号:奇奇乐分享,发送“本地包”获取教程与更多资源! + +{ + "spider": "./spider.jar", + "wallpaper": "http://127.0.0.1:9978/proxy?do=wall", + "logo": "https://storage.7x24cc.com/storage-server/presigned/ss1/a6-online-fileupload/newMediaImage/ACB34B_773_photo_2022-09-14_00-00-57_20251204145106336newMediaImage.jpg", + "sites": [ + { + "key": "豆瓣", + "name": "🤓公众号┃OK杰克", + "type": 3, + "api": "csp_DoubanGuard", + "searchable": 0, + "changeable": 1 + }, + { + "key": "配置中心", + "name": "👨‍🍳‍配置┃中心", + "type": 3, + "api": "csp_ConfigGuard", + "searchable": 0, + "changeable": 0, + "indexs": 0, + "style": { + "type": "rect", + "ratio": 1.43 + } + }, + { + "key": "本地播放", + "name": "🐼本地┃播放", + "type": 3, + "api": "csp_LocalGuard", + "searchable": 0, + "changeable": 0, + "indexs": 0, + "style": { + "type": "list" + }, + "timeout": 5 + }, + { + "key": "二小", + "name": "🦢二小┃4K", + "type": 3, + "api": "csp_ErXiaoGuard", + "searchable": 1, + "quickSearch": 1, + "changeable": 1, + "filterable": 1, + "timeout": 25 + }, + { + "key": "双星", + "name": "🤩双星┃4K", + "type": 3, + "api": "csp_Star2Guard", + "searchable": 1, + "filterable": 1, + "changeable": 0, + "style": { + "type": "list" + }, + "timeout": 25 + }, + { + "key": "玩偶", + "name": "👽玩偶┃4K", + "type": 3, + "api": "csp_WoggGuard", + "searchable": 1, + "filterable": 1, + "changeable": 1, + "timeout": 30 + }, + { + "key": "立播版", + "name": "🌟立播┃4K", + "type": 3, + "api": "csp_LibvioGuard", + "searchable": 1, + "filterable": 1, + "changeable": 1, + "timeout": 30 + }, + { + "key": "蜡笔", + "name": "👠蜡笔┃4K", + "type": 3, + "api": "csp_LabiGuard", + "searchable": 1, + "quickSearch": 1, + "changeable": 1, + "filterable": 1, + "timeout": 25 + }, + { + "key": "木偶", + "name": "🪵木偶┃4K", + "type": 3, + "api": "csp_MuouGuard", + "searchable": 1, + "quickSearch": 1, + "changeable": 1, + "filterable": 1, + "timeout": 25 + }, + { + "key": "多多", + "name": "🪅多多┃4K", + "type": 3, + "api": "csp_DuoDuoGuard", + "searchable": 1, + "quickSearch": 1, + "changeable": 1, + "filterable": 1, + "timeout": 25 + }, + { + "key": "小飒", + "name": "💒小飒┃4K", + "type": 3, + "api": "csp_XsayangGuard", + "searchable": 1, + "quickSearch": 1, + "changeable": 1, + "filterable": 1, + "timeout": 25 + }, + { + "key": "至臻", + "name": "💌至臻┃4K", + "type": 3, + "api": "csp_ZhiZhenGuard", + "searchable": 1, + "quickSearch": 1, + "changeable": 1, + "filterable": 1, + "timeout": 25 + }, + { + "key": "虎斑", + "name": "🐯虎斑┃4K", + "type": 3, + "api": "csp_HuBanGuard", + "searchable": 1, + "quickSearch": 1, + "changeable": 1, + "filterable": 1, + "timeout": 25 + }, + { + "key": "SeedHub", + "name": "🍀种子┃4K", + "type": 3, + "api": "csp_SeedHubGuard", + "searchable": 1, + "quickSearch": 1, + "changeable": 1, + "filterable": 1, + "timeout": 25 + }, + { + "key": "光影", + "name": "🎥光影┃4K", + "type": 3, + "api": "csp_GuanyingGuard", + "searchable": 1, + "filterable": 1, + "changeable": 0, + "timeout": 30 + }, + { + "key": "云集", + "name": "🍊云集┃4K", + "type": 3, + "api": "csp_YunJiGuard", + "searchable": 1, + "quickSearch": 1, + "changeable": 1, + "filterable": 1, + "timeout": 25 + }, + { + "key": "极狐", + "name": "🦊极狐┃4K", + "type": 3, + "api": "csp_Fox4kGuard", + "searchable": 1, + "quickSearch": 1, + "changeable": 1, + "filterable": 1, + "timeout": 25 + }, + { + "key": "盘他", + "name": "🎸盘他┃4K", + "type": 3, + "api": "csp_PantaGuard", + "searchable": 1, + "quickSearch": 1, + "changeable": 1, + "filterable": 1, + "timeout": 25 + }, + { + "key": "海绵", + "name": "🧽海绵┃4K", + "type": 3, + "api": "csp_HaiMianGuard", + "searchable": 1, + "quickSearch": 1, + "changeable": 1, + "filterable": 1, + "timeout": 25 + }, + { + "key": "雷鲸", + "name": "🐳雷鲸┃4K", + "type": 3, + "api": "csp_LeiJingGuard", + "searchable": 1, + "quickSearch": 1, + "changeable": 1, + "filterable": 1, + "timeout": 25 + }, + { + "key": "123分享", + "name": "🌂123┃4K", + "type": 3, + "api": "csp_Time123Guard", + "searchable": 1, + "quickSearch": 0, + "changeable": 0, + "filterable": 1, + "timeout": 25 + }, + { + "key": "瓜子", + "name": "🍉瓜子┃App", + "type": 3, + "api": "csp_GuaziGuard", + "searchable": 1, + "quickSearch": 1, + "changeable": 1, + "filterable": 1, + "timeout": 10 + }, + { + "key": "文才", + "name": "🌺文才┃在线", + "type": 3, + "api": "csp_JpysGuard", + "searchable": 1, + "quickSearch": 1, + "changeable": 1, + "filterable": 1, + "timeout": 10 + }, + { + "key": "糯米", + "name": "🍓糯米┃秒播", + "type": 3, + "api": "csp_NmysGuard", + "searchable": 1, + "quickSearch": 1, + "changeable": 1, + "filterable": 1, + "timeout": 10 + }, + { + "key": "热播", + "name": "📺热播┃App", + "type": 3, + "api": "csp_TianTianGuard", + "searchable": 1, + "quickSearch": 1, + "changeable": 1, + "filterable": 1, + "ext": { + "site": 0 + }, + "timeout": 10 + }, + { + "key": "小苹果", + "name": "🍎苹果┃直连", + "type": 3, + "api": "csp_XpgGuard", + "searchable": 1, + "quickSearch": 1, + "changeable": 1, + "filterable": 1, + "timeout": 10 + }, + { + "key": "云云", + "name": "☁️云云┃App", + "type": 3, + "api": "csp_YunYunGuard", + "searchable": 1, + "quickSearch": 1, + "changeable": 0, + "filterable": 1, + "timeout": 10 + }, + { + "key": "雄鹰", + "name": "🦅雄鹰┃App", + "type": 3, + "api": "csp_XiongYingGuard", + "searchable": 1, + "quickSearch": 1, + "changeable": 0, + "filterable": 1, + "timeout": 10 + }, + { + "key": "鲸鱼", + "name": "🐳鲸鱼┃App", + "type": 3, + "api": "csp_JingYuGuard", + "searchable": 1, + "quickSearch": 1, + "changeable": 0, + "filterable": 1, + "timeout": 10 + }, + { + "key": "小猪", + "name": "🐖小猪┃App", + "type": 3, + "api": "csp_XiaoZhuGuard", + "searchable": 1, + "quickSearch": 1, + "changeable": 0, + "filterable": 1, + "timeout": 10 + }, + { + "key": "一起", + "name": "📺一起┃秒播", + "type": 3, + "api": "csp_YqsGuard", + "searchable": 1, + "quickSearch": 1, + "changeable": 1, + "filterable": 1, + "timeout": 10 + }, + { + "key": "仓鼠", + "name": "🐹仓鼠┃App", + "type": 3, + "api": "csp_CangShuGuard", + "searchable": 1, + "quickSearch": 1, + "changeable": 0, + "filterable": 1, + "timeout": 10 + }, + { + "key": "吉米", + "name": "🍙吉米┃App", + "type": 3, + "api": "csp_AppFoxGuard", + "searchable": 1, + "quickSearch": 1, + "changeable": 0, + "filterable": 1, + "ext": { + "siteUrl": "http://45.207.215.137:8006" + }, + "timeout": 10 + }, + { + "key": "恋鱼", + "name": "🐟恋鱼┃App", + "type": 3, + "api": "csp_AppFoxGuard", + "searchable": 1, + "quickSearch": 1, + "changeable": 0, + "filterable": 1, + "ext": { + "siteFrom": "https://173220859-1333208043.cos.ap-shanghai.myqcloud.com/1.json" + }, + "timeout": 10 + }, + { + "key": "麒麟", + "name": "🐓麒麟┃App", + "type": 3, + "api": "csp_AppFoxGuard", + "searchable": 1, + "quickSearch": 1, + "changeable": 0, + "filterable": 1, + "ext": { + "siteUrl": "https://www.70yyw.cc" + }, + "timeout": 10 + }, + { + "key": "木瓜", + "name": "🥑木瓜┃App", + "type": 3, + "api": "csp_AppFoxGuard", + "searchable": 1, + "quickSearch": 1, + "changeable": 0, + "filterable": 1, + "ext": { + "siteUrl": "http://www.yezitv.top" + }, + "timeout": 10 + }, + { + "key": "厂长", + "name": "📔厂长┃直连", + "type": 3, + "api": "csp_CzzyGuard", + "searchable": 1, + "quickSearch": 1, + "changeable": 0, + "filterable": 1, + "timeout": 10 + }, + { + "key": "csp_Btt", + "name": "🌞比特┃在线", + "type": 3, + "api": "csp_BttGuard", + "searchable": 1, + "quickSearch": 1, + "changeable": 1, + "timeout": 10 + }, + { + "key": "荐片", + "name": "⚔️荐片┃手机", + "type": 3, + "api": "csp_JianpianGuard", + "searchable": 1, + "quickSearch": 1, + "changeable": 1, + "filterable": 1, + "timeout": 10 + }, + { + "key": "韩圈", + "name": "🦄韩圈┃App", + "type": 3, + "api": "csp_HanXiaoQuanGuard", + "playerType": 2, + "searchable": 1, + "quickSearch": 1, + "changeable": 1, + "filterable": 1, + "timeout": 10 + }, + { + "key": "我的夸克", + "name": "🗽我的┃夸克", + "type": 3, + "api": "csp_MyQuarkGuard", + "searchable": 0, + "quickSearch": 0, + "changeable": 0, + "filterable": 0, + "indexs": 0, + "style": { + "type": "list" + }, + "timeout": 30 + }, + { + "key": "我的UC", + "name": "😼我的┃UC", + "type": 3, + "api": "csp_MyUcGuard", + "searchable": 0, + "quickSearch": 0, + "changeable": 0, + "filterable": 0, + "indexs": 0, + "style": { + "type": "list" + }, + "timeout": 30 + }, + { + "key": "我的百度", + "name": "☘️我的┃百度", + "type": 3, + "api": "csp_MyBaiduGuard", + "searchable": 0, + "quickSearch": 0, + "changeable": 0, + "filterable": 0, + "indexs": 0, + "style": { + "type": "list" + }, + "timeout": 30 + }, + { + "key": "我的123", + "name": "🌂我的┃123", + "type": 3, + "api": "csp_My123Guard", + "searchable": 0, + "quickSearch": 0, + "changeable": 0, + "filterable": 0, + "indexs": 0, + "style": { + "type": "list" + }, + "timeout": 30 + }, + { + "key": "我的天逸", + "name": "🧽我的┃天逸", + "type": 3, + "api": "csp_My189Guard", + "searchable": 0, + "quickSearch": 0, + "changeable": 0, + "filterable": 0, + "indexs": 0, + "style": { + "type": "list" + }, + "timeout": 30 + }, + { + "key": "我的115", + "name": "🌷我的┃115", + "type": 3, + "api": "csp_My115Guard", + "searchable": 0, + "quickSearch": 0, + "changeable": 0, + "filterable": 0, + "indexs": 0, + "style": { + "type": "list" + }, + "timeout": 30 + }, + { + "key": "我的阿里", + "name": "🐱我的┃阿里", + "type": 3, + "api": "csp_MyAliGuard", + "searchable": 0, + "quickSearch": 0, + "changeable": 0, + "filterable": 0, + "indexs": 0, + "style": { + "type": "list" + }, + "timeout": 30 + }, + { + "key": "️爱看Bot", + "name": "⛅️爱看┃直连", + "type": 3, + "api": "csp_IkanbotGuard", + "searchable": 1, + "quickSearch": 1, + "changeable": 1, + "filterable": 1, + "timeout": 10 + }, + { + "key": "电影天堂", + "name": "🎞️天堂┃采集", + "type": 1, + "api": "http://caiji.dyttzyapi.com/api.php/provide/vod/from/dyttm3u8/at/m3u8/", + "searchable": 1, + "quickSearch": 1, + "changeable": 1, + "filterable": 1, + "timeout": 10 + }, + { + "key": "锦鲤短剧", + "name": "🐟锦鲤┃短剧", + "type": 3, + "api": "csp_JinliGuard", + "searchable": 1, + "quickSearch": 1, + "changeable": 0, + "filterable": 1, + "timeout": 10 + }, + { + "key": "盒马短剧", + "name": "🦓盒马┃短剧", + "type": 3, + "api": "csp_HeMaGuard", + "searchable": 1, + "quickSearch": 1, + "changeable": 0, + "filterable": 1, + "timeout": 10 + }, + { + "key": "星芽短剧", + "name": "💖星芽┃短剧", + "type": 3, + "api": "csp_AppXYGuard", + "searchable": 1, + "quickSearch": 1, + "changeable": 0, + "filterable": 1, + "timeout": 10 + }, + { + "key": "yhdm", + "name": "🌸樱花┃动漫", + "type": 3, + "api": "csp_YHDMGuard", + "searchable": 1, + "quickSearch": 1, + "changeable": 0, + "filterable": 1, + "timeout": 15 + }, + { + "key": "动漫巴士", + "name": "🚌巴士┃动漫", + "type": 3, + "api": "csp_Dm84Guard", + "searchable": 1, + "quickSearch": 1, + "changeable": 0, + "filterable": 1, + "timeout": 10 + }, + { + "key": "新6V", + "name": "🧲新6V┃磁力", + "type": 3, + "api": "csp_Xb6vGuard", + "searchable": 1, + "quickSearch": 1, + "changeable": 0, + "timeout": 20 + }, + { + "key": "聚合直播", + "name": "📽️聚合┃直播", + "type": 3, + "api": "csp_LivingGuard", + "searchable": 0, + "quickSearch": 0, + "changeable": 0, + "filterable": 1, + "timeout": 10 + }, + { + "key": "快手直播", + "name": "😎快手┃直播", + "type": 3, + "api": "csp_KsLiveGuard", + "searchable": 0, + "quickSearch": 0, + "changeable": 0, + "filterable": 1, + "style": { + "type": "rect", + "ratio": 1.433 + }, + "timeout": 10 + }, + { + "key": "虎牙直播", + "name": "🐯虎牙┃直播", + "type": 3, + "api": "csp_HuyaGuard", + "searchable": 0, + "quickSearch": 0, + "changeable": 0, + "filterable": 1, + "style": { + "type": "rect", + "ratio": 1.433 + }, + "timeout": 10 + }, + { + "key": "瓜子看球", + "name": "⚽瓜子┃看球", + "type": 3, + "api": "csp_GzSportGuard", + "searchable": 0, + "quickSearch": 0, + "changeable": 0, + "style": { + "type": "list" + }, + "timeout": 10 + }, + { + "key": "88看球", + "name": "⚽88┃看球", + "type": 3, + "api": "csp_KanqiuGuard", + "searchable": 0, + "quickSearch": 0, + "changeable": 0, + "style": { + "type": "list" + }, + "timeout": 10 + }, + { + "key": "世界听书", + "name": "🎸世界┃听书", + "type": 3, + "api": "csp_BookTingGuard", + "searchable": 1, + "quickSearch": 0, + "changeable": 0, + "timeout": 10 + }, + { + "key": "六月听书", + "name": "🎤六月┃听书", + "type": 3, + "api": "csp_WeiTingGuard", + "searchable": 1, + "quickSearch": 0, + "changeable": 0, + "timeout": 10 + }, + { + "key": "bilimd", + "name": "🅱哔哩┃影视", + "type": 3, + "api": "csp_BilimdGuard", + "searchable": 1, + "quickSearch": 0, + "changeable": 0, + "filterable": 1, + "style": { + "type": "rect", + "ratio": 1.433 + }, + "timeout": 10 + }, + { + "key": "bili", + "name": "🅱哔哩┃合集", + "type": 3, + "api": "csp_BiliGuard", + "searchable": 1, + "quickSearch": 0, + "changeable": 0, + "filterable": 1, + "style": { + "type": "rect", + "ratio": 1.433 + }, + "ext": { + "json": "https://storage.7x24cc.com/storage-server/presigned/ss1/a6-online-fileupload/newMediaFile/57EAD2E_773_bili_20251204145747516newMediaFile.bmp" + }, + "timeout": 20 + }, + { + "key": "biliych", + "name": "🅱哔哩┃歌曲", + "type": 3, + "api": "csp_BiliGuard", + "searchable": 0, + "quickSearch": 0, + "changeable": 0, + "filterable": 1, + "style": { + "type": "rect", + "ratio": 1.433 + }, + "ext": { + "json": "https://storage.7x24cc.com/storage-server/presigned/ss1/a6-online-fileupload/newMediaFile/28CD73E_773_biliych_20251204150624308newMediaFile.bmp" + }, + "timeout": 20 + }, + { + "key": "bilixs", + "name": "🅱哔哩┃相声", + "type": 3, + "api": "csp_BiliGuard", + "searchable": 0, + "quickSearch": 0, + "changeable": 0, + "filterable": 1, + "style": { + "type": "rect", + "ratio": 1.433 + }, + "ext": { + "json": "https://storage.7x24cc.com/storage-server/presigned/ss1/a6-online-fileupload/newMediaFile/C7FB4B_773_bilixs_20251204150416832newMediaFile.bmp" + }, + "timeout": 20 + }, + { + "key": "bilixp", + "name": "🅱哔哩┃小品", + "type": 3, + "api": "csp_BiliGuard", + "searchable": 0, + "quickSearch": 0, + "changeable": 0, + "filterable": 1, + "style": { + "type": "rect", + "ratio": 1.433 + }, + "ext": { + "json": "https://storage.7x24cc.com/storage-server/presigned/ss1/a6-online-fileupload/newMediaFile/41F4D38_773_bilixp_20251204150443351newMediaFile.bmp" + }, + "timeout": 20 + }, + { + "key": "少儿教育", + "name": "📚少儿┃教育", + "type": 3, + "api": "csp_BiliGuard", + "style": { + "type": "rect", + "ratio": 1.597 + }, + "searchable": 0, + "quickSearch": 0, + "changeable": 0, + "ext": { + "json": "https://storage.7x24cc.com/storage-server/presigned/ss1/a6-online-fileupload/newMediaFile/32EF375_773_bilisejy_20251204150311837newMediaFile.bmp" + } + }, + { + "key": "小学课堂", + "name": "📚小学┃课堂", + "type": 3, + "api": "csp_BiliGuard", + "style": { + "type": "rect", + "ratio": 1.597 + }, + "searchable": 0, + "quickSearch": 0, + "changeable": 0, + "ext": { + "json": "https://storage.7x24cc.com/storage-server/presigned/ss1/a6-online-fileupload/newMediaFile/3753221_773_bilixxkt_20251204150347660newMediaFile.bmp" + } + }, + { + "key": "初中课堂", + "name": "📚初中┃课堂", + "type": 3, + "api": "csp_BiliGuard", + "style": { + "type": "rect", + "ratio": 1.597 + }, + "searchable": 0, + "quickSearch": 0, + "changeable": 0, + "ext": { + "json": "https://storage.7x24cc.com/storage-server/presigned/ss1/a6-online-fileupload/newMediaFile/3ED04A6_773_biliczkt_20251204150157889newMediaFile.bmp" + } + }, + { + "key": "高中教育", + "name": "📚高中┃课堂", + "type": 3, + "api": "csp_BiliGuard", + "style": { + "type": "rect", + "ratio": 1.597 + }, + "searchable": 0, + "quickSearch": 0, + "changeable": 0, + "ext": { + "json": "https://storage.7x24cc.com/storage-server/presigned/ss1/a6-online-fileupload/newMediaFile/531DD35_773_biligzkt_20251204150243460newMediaFile.bmp" + } + }, + { + "key": "csp_AListGuard", + "name": "🦋AList", + "type": 3, + "api": "csp_AListGuard", + "searchable": 1, + "filterable": 1, + "changeable": 0, + "style": { + "type": "list" + }, + "ext": "file://TV/alist.json", + "timeout": 15 + }, + { + "key": "csp_QuPanSouGuard", + "name": "🤓趣盘┃搜索", + "type": 3, + "api": "csp_QuPanSouGuard", + "searchable": 1, + "filterable": 1, + "changeable": 0, + "timeout": 25 + }, + { + "key": "太极", + "name": "☯️太极┃搜索", + "type": 3, + "api": "csp_TaiChiGuard", + "searchable": 1, + "filterable": 1, + "changeable": 0, + "ext": { + "taichi": 1 + }, + "timeout": 25 + }, + { + "key": "糖果搜", + "name": "🍬糖果┃搜索", + "type": 3, + "api": "csp_TaiChiGuard", + "searchable": 1, + "filterable": 1, + "changeable": 0, + "ext": { + "taichi": 2 + }, + "timeout": 25 + }, + { + "key": "音海", + "name": "🎸音海┃搜索", + "type": 3, + "api": "csp_YinHaiGuard", + "searchable": 1, + "filterable": 1, + "changeable": 0, + "timeout": 25 + }, + { + "key": "爱盘", + "name": "❤️爱盘┃搜索", + "type": 3, + "api": "csp_AiPanGuard", + "searchable": 1, + "filterable": 1, + "changeable": 0, + "timeout": 25 + }, + { + "key": "云搜", + "name": "☁️云搜┃搜索", + "type": 3, + "api": "csp_YunPanPanGuard", + "searchable": 1, + "filterable": 1, + "changeable": 0, + "timeout": 25 + }, + { + "key": "度搜", + "name": "🦈度搜┃搜索", + "type": 3, + "api": "csp_BdxdGuard", + "searchable": 1, + "filterable": 1, + "changeable": 0, + "timeout": 25 + }, + { + "key": "找盘", + "name": "🎾找盘┃搜索", + "type": 3, + "api": "csp_V2PanGuard", + "searchable": 1, + "filterable": 1, + "changeable": 0, + "timeout": 25 + }, + { + "key": "djps", + "name": "🔍短剧┃搜索", + "type": 3, + "api": "csp_DjpsGuard", + "searchable": 1, + "filterable": 1, + "changeable": 0, + "timeout": 25 + }, + { + "key": "push_agent", + "name": "🛴手机┃推送", + "type": 3, + "api": "csp_PushGuard", + "searchable": 0, + "filterable": 0, + "changeable": 0, + "timeout": 25 + } + ], + "parses": [ + { + "name": "聚合1", + "type": 3, + "url": "Demo" + }, + { + "name": "聚合0", + "type": 3, + "url": "Web" + }, + { + "name": "ikun", + "type": 0, + "url": "https://jx.hls.one/?url=" + }, + { + "name": "77", + "type": 0, + "url": "https://jx.77flv.cc/?url=" + }, + { + "name": "A6", + "type": 0, + "url": "https://pl.a6club.com/player/analysis.php?v=" + }, + { + "name": "8090", + "type": 0, + "url": "https://www.8090g.cn/?url=" + }, + { + "name": "M3u8TV", + "type": 0, + "url": "https://jx.m3u8.tv/jiexi/?url=" + }, + { + "name": "CK", + "type": 0, + "url": "https://www.ckplayer.vip/jiexi/?url=" + }, + { + "name": "冰豆", + "type": 0, + "url": "https://bd.jx.cn/?url=" + }, + { + "name": "XY", + "type": 0, + "url": "https://jx.xymp4.cc/?url=" + }, + { + "name": "推荐", + "type": 1, + "url": "https://zy.qiaoji8.com/gouzi.php?url=94b07e0b2c0e8244&url=" + }, + { + "name": "臻享", + "type": 1, + "url": "https://150.138.78.37:4399/api?key=94b07e0b2c0e8244&url=" + }, + { + "name": "优选", + "type": 1, + "url": "http://1.94.221.189:88/algorithm.php?url=" + } + ], + "doh": [ + { + "name": "Google", + "url": "https://dns.google/dns-query", + "ips": [ + "8.8.4.4", + "8.8.8.8" + ] + }, + { + "name": "Cloudflare", + "url": "https://cloudflare-dns.com/dns-query", + "ips": [ + "1.1.1.1", + "1.0.0.1", + "2606:4700:4700::1111", + "2606:4700:4700::1001" + ] + }, + { + "name": "AdGuard", + "url": "https://dns.adguard.com/dns-query", + "ips": [ + "94.140.14.140", + "94.140.14.141" + ] + }, + { + "name": "DNSWatch", + "url": "https://resolver2.dns.watch/dns-query", + "ips": [ + "84.200.69.80", + "84.200.70.40" + ] + }, + { + "name": "Quad9", + "url": "https://dns.quad9.net/dns-quer", + "ips": [ + "9.9.9.9", + "149.112.112.112" + ] + } + ], + "ads": [ + "mozai.4gtv.tv" + ], + "lives": [ + { + "name": "MIGU", + "type": 0, + "url": "http://127.0.0.1:9978/proxy?do=live&url=https%3A%2F%2Fbc.188766.xyz%2F%3Fip%3D%26mishitong%3Dtrue%26mima%3Dbingcha1130%26json%3Dtrue", + "ua": "bingcha/1.1 (mianfeifenxiang)" + }, + { + "name": "AI直播", + "type": 0, + "url": "http://127.0.0.1:9978/proxy?do=live&url=https://raw.githubusercontent.com/develop202/migu_video/refs/heads/main/interface.txt" + }, + { + "name": "电视Live", + "type": 0, + "url": "http://127.0.0.1:9978/proxy?do=live&u=Gather", + "ua": "okhttp/3.15" + }, + { + "name": "江苏移动", + "type": 0, + "url": "http://127.0.0.1:9978/proxy?do=live&url=https://storage.7x24cc.com/storage-server/presigned/ss1/a6-online-fileupload/newMediaFile/529EAA1_773_jsyd_20251205182514164newMediaFile.bmp" + }, + { + "name": "一起看", + "type": 3, + "api": "csp_HuyaGuard", + "url": "yqk" + }, + { + "name": "肥羊虎牙一起看", + "type": 0, + "url": "http://127.0.0.1:9978/proxy?do=live&url=https://sub.ottiptv.cc/huyayqk.m3u", + "ua": "okHttp/Mod-1.4.0.0" + }, + { + "name": "肥羊B站直播", + "type": 0, + "url": "http://127.0.0.1:9978/proxy?do=live&url=https://sub.ottiptv.cc/bililive.m3u", + "ua": "okHttp/Mod-1.4.0.0" + }, + { + "name": "肥羊斗鱼一起看", + "type": 0, + "url": "http://127.0.0.1:9978/proxy?do=live&url=https://sub.ottiptv.cc/douyuyqk.m3u", + "ua": "okHttp/Mod-1.4.0.0" + }, + { + "name": "肥羊YY轮播", + "type": 0, + "url": "http://127.0.0.1:9978/proxy?do=live&url=https://sub.ottiptv.cc/yylunbo.m3u", + "ua": "okHttp/Mod-1.4.0.0" + } + ], + "ijk": [ + { + "group": "软解码", + "options": [ + { + "category": 4, + "name": "opensles", + "value": "0" + }, + { + "category": 4, + "name": "overlay-format", + "value": "842225234" + }, + { + "category": 4, + "name": "framedrop", + "value": "1" + }, + { + "category": 4, + "name": "soundtouch", + "value": "1" + }, + { + "category": 4, + "name": "start-on-prepared", + "value": "1" + }, + { + "category": 1, + "name": "http-detect-range-support", + "value": "0" + }, + { + "category": 1, + "name": "fflags", + "value": "fastseek" + }, + { + "category": 2, + "name": "skip_loop_filter", + "value": "48" + }, + { + "category": 4, + "name": "reconnect", + "value": "1" + }, + { + "category": 4, + "name": "enable-accurate-seek", + "value": "0" + }, + { + "category": 4, + "name": "mediacodec", + "value": "0" + }, + { + "category": 4, + "name": "mediacodec-auto-rotate", + "value": "0" + }, + { + "category": 4, + "name": "mediacodec-handle-resolution-change", + "value": "0" + }, + { + "category": 4, + "name": "mediacodec-hevc", + "value": "0" + }, + { + "category": 1, + "name": "dns_cache_timeout", + "value": "600000000" + } + ] + }, + { + "group": "硬解码", + "options": [ + { + "category": 4, + "name": "opensles", + "value": "0" + }, + { + "category": 4, + "name": "overlay-format", + "value": "842225234" + }, + { + "category": 4, + "name": "framedrop", + "value": "1" + }, + { + "category": 4, + "name": "soundtouch", + "value": "1" + }, + { + "category": 4, + "name": "start-on-prepared", + "value": "1" + }, + { + "category": 1, + "name": "http-detect-range-support", + "value": "0" + }, + { + "category": 1, + "name": "fflags", + "value": "fastseek" + }, + { + "category": 2, + "name": "skip_loop_filter", + "value": "48" + }, + { + "category": 4, + "name": "reconnect", + "value": "1" + }, + { + "category": 4, + "name": "enable-accurate-seek", + "value": "0" + }, + { + "category": 4, + "name": "mediacodec", + "value": "1" + }, + { + "category": 4, + "name": "mediacodec-auto-rotate", + "value": "1" + }, + { + "category": 4, + "name": "mediacodec-handle-resolution-change", + "value": "1" + }, + { + "category": 4, + "name": "mediacodec-hevc", + "value": "1" + }, + { + "category": 1, + "name": "dns_cache_timeout", + "value": "600000000" + } + ] + } + ], + "proxy": [ + "raw.githubusercontent.com", + "googlevideo.com", + "cdn.v82u1l.com", + "cdn.iz8qkg.com", + "cdn.kin6c1.com", + "c.biggggg.com", + "c.olddddd.com", + "haiwaikan.com", + "www.histar.tv", + "youtube.com", + "uhibo.com", + ".*boku.*", + ".*nivod.*", + ".*ulivetv.*", + "188766.xyz", + "4gtv.tv", + "iill.top" + ], + "rules": [ + { + "name": "cl", + "hosts": [ + "magnet" + ], + "regex": [ + "最 新", + "直 播", + "更 新" + ] + }, + { + "name": "火山嗅探", + "hosts": [ + "huoshan.com" + ], + "regex": [ + "item_id=" + ] + }, + { + "name": "抖音嗅探", + "hosts": [ + "douyin.com" + ], + "regex": [ + "is_play_url=" + ] + }, + { + "name": "农民嗅探", + "hosts": [ + "toutiaovod.com" + ], + "regex": [ + "video/tos/cn" + ] + }, + { + "name": "七新嗅探", + "hosts": [ + "api.52wyb.com" + ], + "regex": [ + "m3u8?pt=m3u8" + ] + }, + { + "name": "夜市", + "hosts": [ + "yeslivetv.com" + ], + "script": [ + "document.getElementsByClassName('vjs-big-play-button')[0].click()" + ] + }, + { + "name": "毛驴", + "hosts": [ + "www.maolvys.com" + ], + "script": [ + "document.getElementsByClassName('swal-button swal-button--confirm')[0].click()" + ] + }, + { + "name": "czzy", + "hosts": [ + "10086.cn" + ], + "regex": [ + "/storageWeb/servlet/downloadServlet" + ] + }, + { + "name": "bdys", + "hosts": [ + "bytetos.com", + "byteimg.com", + "bytednsdoc.com", + "pstatp.com" + ], + "regex": [ + "/tos-cn" + ], + "exclude": [ + ".m3u8" + ] + }, + { + "name": "bdys10", + "hosts": [ + "bdys10.com" + ], + "regex": [ + "/obj/" + ], + "exclude": [ + ".m3u8" + ] + } + ] +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/OK/spider.jar b/tvboxqq/tvboxqq/OK/spider.jar new file mode 100644 index 0000000..971bebb Binary files /dev/null and b/tvboxqq/tvboxqq/OK/spider.jar differ diff --git a/tvboxqq/tvboxqq/fm.txt b/tvboxqq/tvboxqq/fm.txt new file mode 100644 index 0000000..fa1b929 --- /dev/null +++ b/tvboxqq/tvboxqq/fm.txt @@ -0,0 +1,25 @@ +{ "urls": [{ "url": "file://tvboxqq/饭太硬/api.json", "name": "饭太硬[本地]" }, + +{ "url": "file://tvboxqq/小米/api.json", "name": "小米[本地]" }, + +{ "url": "file://tvboxqq/肥猫/api.json", "name": "肥猫[本地]" }, + +{ "url": "file://tvboxqq/王二小/api.json", "name": "王二小[本地]" }, + +{ "url": "file://tvboxqq/OK/api.json", "name": "OK[本地]" }, + +{ "url": "file://tvboxqq/潇洒/api.json", "name": "潇洒[本地]" }, + +{ "url": "file://tvboxqq/摸鱼儿/api.json", "name": "摸鱼儿[本地]" }, + +{ "url": "file://tvboxqq/小虎斑/api.json", "name": "小虎斑[本地]" }, + +{ "url": "file://tvboxqq/欧歌/api.json", "name": "欧歌[本地]" }, + +{ "url": "file://tvboxqq/南风/api.json", "name": "南风[本地]" }, + +{ "url": "file://tvboxqq/香雅情/api.json", "name": "香雅情[本地]" }, + +{ "url": "file://tvboxqq/少儿频道/api.json", "name": "少儿频道[本地]" }, + +{ "url": "file://tvboxqq/戏曲音乐/api.json", "name": "戏曲音乐[本地]" }]} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/index.txt b/tvboxqq/tvboxqq/index.txt new file mode 100644 index 0000000..8e704ea --- /dev/null +++ b/tvboxqq/tvboxqq/index.txt @@ -0,0 +1,25 @@ +{ "urls": [{ "url": "clan://localhost/tvboxqq/饭太硬/api.json", "name": "饭太硬" }, + +{ "url": "clan://localhost/tvboxqq/小米/api.json", "name": "小米" }, + +{ "url": "clan://localhost/tvboxqq/肥猫/api.json", "name": "肥猫" }, + +{ "url": "clan://localhost/tvboxqq/王二小/api.json", "name": "王二小" }, + +{ "url": "clan://localhost/tvboxqq/OK/api.json", "name": "OK" }, + +{ "url": "clan://localhost/tvboxqq/潇洒/api.json", "name": "潇洒" }, + +{ "url": "clan://localhost/tvboxqq/摸鱼儿/api.json", "name": "摸鱼儿" }, + +{ "url": "clan://localhost/tvboxqq/小虎斑/api.json", "name": "小虎斑" }, + +{ "url": "clan://localhost/tvboxqq/欧歌/api.json", "name": "欧歌" }, + +{ "url": "clan://localhost/tvboxqq/南风/api.json", "name": "南风" }, + +{ "url": "clan://localhost/tvboxqq/香雅情/api.json", "name": "香雅情" }, + +{ "url": "clan://localhost/tvboxqq/少儿频道/api.json", "name": "少儿频道" }, + +{ "url": "clan://localhost/tvboxqq/戏曲音乐/api.json", "name": "戏曲音乐" }]} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/南风/api.json b/tvboxqq/tvboxqq/南风/api.json new file mode 100644 index 0000000..f963cce --- /dev/null +++ b/tvboxqq/tvboxqq/南风/api.json @@ -0,0 +1,1646 @@ +//资源全部免费,仅供测试交流,请勿内置传播与转卖;关注微信公众号:奇奇乐分享,发送“本地包”获取教程与更多资源! + +{ + "spider": "./spider.jar", + "wallpaper": "https://深色壁纸.xxooo.cf/", + "sites": [ + { + "key": "Tg|豆瓣", + "name": "🔍Tg豆瓣┃刷新一下源才能出来", + "type": 3, + "api": "csp_TgYunDouBanPan", + "searchable": 1, + "changeable": 0, + "ext": { + "siteUrl": "http://127.0.0.1:9999", + "count": 4, + "channelUsername": "+P4IU1QbK4ChlNTYx,+h10ulzfxiQZiYTdi,+cpJ_dIx_hlYxMWQx,+Jc37JCr1diEzNDMx,bdwpzhpd,bdwpzhpd,alyp_TV,ucquark,wp123zy,oneonefivewpfx,tyypzhpd,cloudtianyi,ydypzyfx,yunpan139,guaguale115,Mbox115,shares_115,zaihuayun,PanjClub,NewQuark,yunpanpan,kuake_movie,Quark_Movies,alyp_4K_Movies,alyp_TV,yunpanshare,shareAliyun,alyp_1,BaiduCloudDisk", + "commonConfig": "https://ghfast.top/raw.githubusercontent.com/yoursmile66/TVBox/main/json/peizhi.json", + "filter": "https://ghfast.top/raw.githubusercontent.com/yoursmile66/TVBox/main/json/douban.json" + } + }, + { + "key": "弹幕", + "name": "🅿嗷嗚弹幕┃刷新一下自动启动", + "type": 3, + "api": "csp_GoConfigAmnsr", + "jar": "./jars/弹幕.jar" + }, + { + "key": "ConfigCenter", + "name": "🅿网盘配置中心", + "type": 3, + "api": "csp_ConfigCenter", + "searchable": 0, + "changeable": 0, + "ext": { + "commonConfig": "https://ghfast.top/raw.githubusercontent.com/yoursmile66/TVBox/main/json/peizhi.json" + } + }, + { + "key": "csp_Gz360", + "name": "🍉瓜子", + "type": 3, + "api": "csp_Gz360", + "searchable": 1, + "quickSearch": 1, + "filterable": 1 + }, + { + "key": "巧技二", + "name": "💢聚搜┃仅搜索", + "type": 3, + "api": "csp_qiao2", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "7lj763gg402i7942412h849jg1558j9jl8g19213il86316k465719lik158491h179312h4934183ig2l05g9" + }, + { + "key": "巧技五", + "name": "💢SOUSOU┃仅搜索", + "type": 3, + "api": "csp_qiao2", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "7lj763gg402i7942412h849jg1558j9jl8g19213il86316k465719lik158491h179312hk935886ig2l05g9" + }, + { + "key": "天天", + "name": "⛅天天", + "type": 3, + "api": "csp_TTian", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "7lj763gg0939791h1l3888jig44gi291li" + }, + { + "key": "金牌", + "name": "🥇金牌", + "type": 3, + "api": "csp_Jpys", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "7lj763gg402i7942463j9j9jh8579590k3hjii5gi4i73l2k5l" + }, + { + "key": "狂风", + "name": "🌪狂风", + "type": 3, + "api": "csp_Qiji", + "playerType": 2, + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "7lj763gg402i7942522l99jhh90ljii5g1l09i13i39g2l6i514l56l1li1k5107159113h6945h8g91351kgkijl5l315g8l3656756kjk699gj689125k773g94i16ghg596l5l022202ki910690ii5kh4i6724k0g83g70k09hgkj3jj7hl431480l3i3197" + }, + { + "key": "蝴蝶", + "name": "🦋蝴蝶", + "type": 3, + "api": "csp_Qiji", + "playerType": 2, + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "7lj763gg402i79425h2384j4g949j899hll9990i9kjl6l740h1342hjlg1848401g8610h9995i998j351gl38kklkj1hkhll757010k7hji6h377ih37k060g35161jhl3i5h0l2702g7299452l4297k5697g5390lk6935k2i9g48l8j2kh27l1g014k7j9677gg" + }, + { + "key": "橘子", + "name": "🍊橘子", + "type": 3, + "api": "csp_Qiji", + "playerType": 2, + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "7lj763gg402i79425h3l90jgh14i9ijik6h8i75lj8i73l2l4k6g48lhgl2k4j3j2kik7l83gj54h687390196j0lkgg21l1i3552i7ij087ijj9258721g03lll" + }, + { + "key": "驿站", + "name": "🚗驿站", + "type": 3, + "api": "csp_Qiji", + "playerType": 2, + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "7lj763gg402i794240208hi3g05l8181higgi609i7i73l224k141jg1lh405k0g49i60kh6ih53i6ji6g01k885g4lk4lk2l432240jk5k1igg97kj421g03lll" + }, + { + "key": "趣看", + "name": "🥽趣看", + "type": 3, + "api": "csp_Qiji", + "playerType": 2, + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "7lj763gg0939795l007hi482k508i2i0g0k69h089lj36579051707k0li150k1g0gil50gk9342i193620lg49lk5l91gh2k4712j53ljh9jhgk31ji2lkg73lk1j12" + }, + { + "key": "星河", + "name": "💫星河", + "type": 3, + "api": "csp_Qiji", + "playerType": 2, + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "7lj763gg0939795i007ki485k612jli3hil9990l96j86i79025j08k7l8055g1h1i834kg3i900i0j06k4hg190k2lj0gk6k567614jl0k399gl72j06hkl3ilj1l" + }, + { + "key": "优质", + "name": "🌈优质", + "type": 3, + "api": "csp_Qiji", + "playerType": 2, + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "7lj763gg402i7942433293i0g9458881hig7j94k818g326i51491kljlk134k401g9g54gk8j5i9097751kh28kh9kj11kjl92k6046l0gkj8l630892glj67g61h48g3kjiigkg0263k6h955430429ill43307gk8k0602hh09lh0j6jh7h" + }, + { + "key": "永夜", + "name": "🌙永夜", + "type": 3, + "api": "csp_Xdai", + "playerType": 2, + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "7lj763gg0939790i413gjh9kk011jijiggll990k9li73l224k770ik0j10l502j2j9l798lhj778hh33g018h94k5j400kij3567j7gji97kkk4118421g03lll" + }, + { + "key": "主角", + "name": "🍃主角", + "type": 3, + "api": "csp_Muou", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "7lj763gg402i794247258k9jh6598585l3g6ij13il8g20g9qiaoji8j9i9k1g3k90h7i507i213k5j602" + }, + { + "key": "云云", + "name": "☁云云", + "type": 3, + "api": "csp_Qiji", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "7lj763gg402i79425h2384j4g949j899hll9990i9kjl6l740h1342hjlg1848401g8610h9995i998j351gl38kklkj1hkhll757010k7hji6h377ih37k060g35161jhl3i5h0l2702g7299452l4297k5697g5390lk6935k2i9g48l8j2kh27l1g014k7j9475g8" + }, + { + "name": "🍎小苹果", + "key": "小苹果", + "type": 3, + "api": "csp_XpgAmns", + "searchable": 1, + "filterable": 1, + "quickSearch": 1, + "changeable": 1, + "jar": "./jars/弹幕.jar" + }, + { + "name": "🏭厂长", + "key": "厂长", + "type": 3, + "api": "csp_CzzyAmns", + "searchable": 1, + "filterable": 1, + "quickSearch": 1, + "changeable": 1, + "jar": "./jars/弹幕.jar" + }, + { + "key": "csp_SaoHuo", + "name": "🔥骚火", + "type": 3, + "api": "csp_SaoHuo", + "playerType": 2, + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "https://shdy5.us" + }, + { + "key": "csp_FourK", + "name": "🌋绝对", + "type": 3, + "api": "csp_FourK", + "playerType": "2", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "https://www.4kvm.me/" + }, + { + "key": "csp_Qiyou", + "name": "🦌奇优", + "type": 3, + "api": "csp_Qiyou", + "searchable": 1, + "quickSearch": 1, + "filterable": 1 + }, + { + "key": "csp_Lkdy", + "name": "🏔️来看", + "type": 3, + "api": "csp_Lkdy", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "https://lkvod.com" + }, + { + "key": "剧圈圈", + "name": "⭕剧圈圈", + "type": 3, + "api": "csp_XYQHiker", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "./json/剧圈圈.json", + "click": "document.getElementById('playleft').children[0].contentWindow.document.getElementById('start').click()" + }, + { + "key": "农民", + "name": "👩‍🌾农民", + "type": 3, + "api": "csp_XYQHiker", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "./json/农民影视.json" + }, + { + "key": "永乐", + "name": "🍰永乐", + "type": 3, + "api": "csp_XBPQ", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": { + "请求头": "User-Agent$MOBILE_UA", + "编码": "UTF-8", + "分类": "电影$1#电视剧$2#综艺$3#动漫$4", + "类型": "动作片$6#喜剧片$7#爱情片$8#科幻片$9#奇幻片$10#恐怖片$11#剧情片$12#战争片$20#动画片$26#悬疑片$22#冒险片$23#犯罪片$24#惊悚片$45#歌舞片$46#灾难片$47#网络片$48||国产剧$13#港台剧$14#日剧$15#韩剧$33#欧美剧$16#泰剧$34#新马剧$35#其他剧$25||内地综艺$27#港台综艺$28#日本综艺$29#韩国综艺$36#欧美综艺$30#新马泰综艺$37#其他综艺$38||国产动漫$31#日本动漫$32#韩国动漫$39#港台动漫$40#新马泰动漫$41#欧美动漫$42#其他动漫$43", + "分类url": "https://www.ylys.tv/vodshow/{cateId}-{area}-{by}-{class}-{lang}-{letter}---{catePg}---{year}.html" + } + }, + { + "key": "面包", + "name": "🎁面包", + "type": 3, + "api": "csp_XBPQ", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": { + "请求头": "User-Agent$MOBILE_UA", + "编码": "UTF-8", + "分类url": "https://v.aiwule.com/vodshow/{cateId}-{area}-{by}-{class}-{lang}-{letter}---{catePg}---{year}.html", + "分类": "电影$20#电视剧$21#动漫$23#综艺$22#短剧$47", + "简介": "简介:&&" + } + }, + { + "key": "ZXZJ", + "name": "🏠在线", + "api": "csp_Zxzj", + "type": 3, + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "7lj763gg402i7942463j9j9jgg449698khhh845ki38473" + }, + { + "key": "csp_Ikanbot", + "name": "👾Ikanbot", + "type": 3, + "api": "csp_Ikanbot", + "searchable": 1, + "quickSearch": 1, + "filterable": 1 + }, + { + "key": "csp_Jianpian", + "name": "🧲荐片", + "type": 3, + "api": "csp_Jianpian", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "./json/jianpian.json" + }, + { + "key": "csp_Dygang", + "name": "🧲电影港", + "type": 3, + "api": "csp_Dygang", + "searchable": 1, + "quickSearch": 1, + "filterable": 1 + }, + { + "key": "csp_xlys", + "name": "🧲修罗", + "type": 3, + "api": "csp_xlys", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "https://xl01.com.de/" + }, + { + "key": "csp_New6v", + "name": "🧲新6V", + "type": 3, + "api": "csp_New6v", + "searchable": 1, + "quickSearch": 1, + "filterable": 1 + }, + { + "key": "csp_DyGod", + "name": "🧲电影天堂", + "type": 3, + "api": "csp_DyGod", + "searchable": 1, + "quickSearch": 1, + "filterable": 1 + }, + { + "key": "csp_QnMp4", + "name": "🧲七妹", + "type": 3, + "api": "csp_QnMp4", + "searchable": 1, + "quickSearch": 1, + "filterable": 1 + }, + { + "key": "csp_MeijuMi", + "name": "🧲美剧迷", + "type": 3, + "api": "csp_MeijuMi", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "https://www.meijumi.net/" + }, + { + "key": "csp_BLSGod", + "name": "🧲80S影视", + "type": 3, + "api": "csp_BLSGod", + "searchable": 1, + "quickSearch": 1, + "filterable": 1 + }, + { + "key": "csp_SP360", + "name": "💘360", + "type": 3, + "api": "csp_SP360", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "changeable": 1 + }, + { + "key": "csp_Dm84", + "name": "🚌动漫巴士", + "type": 3, + "api": "csp_Dm84", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "https://dm84.net" + }, + { + "key": "樱花", + "name": "💮樱花", + "type": 3, + "api": "csp_XYQHiker", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "./json/樱花动漫.json" + }, + { + "key": "聚合短剧", + "name": "🈴聚合短剧", + "type": 3, + "api": "csp_JuheShortDrama", + "searchable": 1, + "filterable": 0, + "switchable": 0, + "ext": { + "host": { + "甜圈": "https://mov.cenguigui.cn", + "锦鲤": "https://api.jinlidj.com", + "番茄": "https://reading.snssdk.com", + "番茄2": "https://fqgo.52dns.cc", + "星芽": "https://app.whjzjx.cn", + "星芽登录": "https://u.shytkjgs.com", + "西饭": "https://xifan-api-cn.youlishipin.com", + "围观": "https://api.drama.9ddm.com", + "碎片": "https://free-api.bighotwind.cc", + "碎片图片": "https://speed.hiknz.com" + }, + "commonConfig": "https://ghfast.top/raw.githubusercontent.com/yoursmile66/TVBox/main/json/peizhi.json" + } + }, + { + "name": "🍉找短剧", + "key": "找短剧", + "type": 3, + "api": "csp_HgggAmns", + "indexs": 1, + "searchable": 0, + "filterable": 0, + "quickSearch": 0, + "changeable": 0, + "jar": "./jars/找短剧.jar" + }, + { + "name": "🎦豪堪短剧", + "key": "豪堪短剧", + "type": 3, + "api": "csp_HHkkAmns", + "searchable": 1, + "filterable": 1, + "quickSearch": 1, + "changeable": 1, + "jar": "./jars/找短剧.jar" + }, + { + "name": "📺盒马短剧", + "key": "盒马短剧", + "type": 3, + "api": "csp_HemaAmns", + "searchable": 1, + "filterable": 1, + "quickSearch": 1, + "changeable": 1, + "jar": "./jars/找短剧.jar" + }, + { + "name": "🎞️拜拜短剧", + "key": "拜拜短剧", + "type": 3, + "api": "csp_BddjAmns", + "searchable": 1, + "filterable": 1, + "quickSearch": 1, + "changeable": 1, + "jar": "./jars/找短剧.jar" + }, + { + "name": "🐠锦鲤短剧", + "key": "锦鲤短剧", + "type": 3, + "api": "csp_JLdjAmns", + "searchable": 1, + "filterable": 1, + "quickSearch": 1, + "changeable": 1, + "jar": "./jars/找短剧.jar" + }, + { + "name": "🍩甜圈短剧", + "key": "甜圈短剧", + "type": 3, + "api": "csp_TQdjAmns", + "searchable": 1, + "filterable": 1, + "quickSearch": 1, + "changeable": 1, + "jar": "./jars/找短剧.jar" + }, + { + "name": "🐱喵喵短剧", + "key": "喵喵短剧", + "type": 3, + "api": "csp_QmdjAmns", + "searchable": 1, + "filterable": 1, + "quickSearch": 1, + "changeable": 1, + "jar": "./jars/找短剧.jar" + }, + { + "name": "⭐星星短剧", + "key": "星星短剧", + "type": 3, + "api": "csp_XydjAmns", + "searchable": 1, + "filterable": 1, + "quickSearch": 1, + "changeable": 1, + "jar": "./jars/找短剧.jar" + }, + { + "name": "🎂岁岁短剧", + "key": "岁岁短剧", + "type": 3, + "api": "csp_SpdjAmns", + "searchable": 1, + "filterable": 1, + "quickSearch": 1, + "changeable": 1, + "jar": "./jars/找短剧.jar" + }, + { + "key": "豆瓣", + "name": "🚀豆瓣预告", + "type": 3, + "api": "csp_YGP", + "playerType": 2, + "searchable": 1, + "quickSearch": 1, + "filterable": 1 + }, + { + "key": "豆瓣", + "name": "🚀豆瓣预告", + "type": 3, + "api": "csp_YGP", + "playerType": 2, + "searchable": 1, + "quickSearch": 1, + "filterable": 1 + }, + { + "key": "csp_Kanqiu", + "name": "⚾看球", + "type": 3, + "api": "csp_Kanqiu", + "searchable": 1, + "quickSearch": 1, + "changeable": 0, + "gridview": 3, + "style": { + "type": "list" + } + }, + { + "key": "csp_Kugou", + "name": "🐶酷狗", + "type": 3, + "api": "csp_Kugou", + "playerType": 2, + "ext": { + "classes": [ + { + "type_name": "酷狗", + "type_id": "kugou" + } + ] + } + }, + { + "key": "csp_FirstAid", + "name": "🚑急救教学", + "type": 3, + "api": "csp_FirstAid", + "searchable": 0, + "quickSearch": 0, + "style": { + "type": "rect", + "ratio": 3.8 + } + }, + { + "key": "玩偶gg", + "name": "👽玩偶", + "type": 3, + "api": "csp_Wogg", + "searchable": 1, + "changeable": 0, + "ext": { + "commonConfig": "https://ghfast.top/raw.githubusercontent.com/yoursmile66/TVBox/main/json/peizhi.json", + "siteUrl": "https://wogg.xxooo.cf", + "filter": "https://ghfast.top/raw.githubusercontent.com/yoursmile66/TVBox/main/json/wogg.json" + } + }, + { + "key": "片库", + "name": "🅿片库", + "type": 3, + "api": "csp_Qiwei", + "searchable": 1, + "filterable": 0, + "switchable": 0, + "ext": { + "siteUrl": "https://www.qwnull.com", + "commonConfig": "https://ghfast.top/raw.githubusercontent.com/yoursmile66/TVBox/main/json/peizhi.json" + } + }, + { + "key": "pansou|fish", + "name": "🅿pansou|fish", + "type": 3, + "api": "csp_PanSouFish", + "searchable": 1, + "changeable": 0, + "ext": { + "siteUrl": "https://pansou-latest-hv4k.onrender.com", + "filter": { + "include": [ + "HDR", + "高码" + ], + "exclude": [ + "预告", + "花絮" + ] + }, + "commonConfig": "https://ghfast.top/raw.githubusercontent.com/yoursmile66/TVBox/main/json/peizhi.json" + } + }, + { + "key": "二小", + "name": "😈二小", + "type": 3, + "api": "csp_kongbai", + "searchable": 1, + "changeable": 0, + "ext": { + "commonConfig": "https://ghfast.top/raw.githubusercontent.com/yoursmile66/TVBox/main/json/peizhi.json", + "siteUrl": "https://erxiaofn.click/", + "filter": "https://ghfast.top/raw.githubusercontent.com/yoursmile66/TVBox/main/json/wogg.json" + } + }, + { + "key": "至臻", + "name": "💯至臻", + "type": 3, + "api": "csp_kongbai", + "searchable": 1, + "changeable": 0, + "ext": { + "commonConfig": "https://ghfast.top/raw.githubusercontent.com/yoursmile66/TVBox/main/json/peizhi.json", + "siteUrl": "https://www.mihdr.top", + "filter": "https://ghfast.top/raw.githubusercontent.com/yoursmile66/TVBox/main/json/wogg.json" + } + }, + { + "key": "虎斑", + "name": "🐯虎斑", + "type": 3, + "api": "csp_kongbai", + "searchable": 1, + "changeable": 0, + "ext": { + "commonConfig": "https://ghfast.top/raw.githubusercontent.com/yoursmile66/TVBox/main/json/peizhi.json", + "siteUrl": "http://103.45.162.207:20720", + "filter": "https://ghfast.top/raw.githubusercontent.com/yoursmile66/TVBox/main/json/wogg.json" + } + }, + { + "key": "蜡笔", + "name": "🖍︎蜡笔", + "type": 3, + "api": "csp_kongbai", + "searchable": 1, + "changeable": 0, + "ext": { + "commonConfig": "https://ghfast.top/raw.githubusercontent.com/yoursmile66/TVBox/main/json/peizhi.json", + "siteUrl": "https://feimao666.fun", + "filter": "https://ghfast.top/raw.githubusercontent.com/yoursmile66/TVBox/main/json/wogg.json" + } + }, + { + "key": "木偶", + "name": "🧸木偶", + "type": 3, + "api": "csp_kongbai", + "searchable": 1, + "changeable": 0, + "ext": { + "commonConfig": "https://ghfast.top/raw.githubusercontent.com/yoursmile66/TVBox/main/json/peizhi.json", + "siteUrl": "http://123.666291.xyz", + "filter": "https://ghfast.top/raw.githubusercontent.com/yoursmile66/TVBox/main/json/wogg.json" + } + }, + { + "key": "讴歌", + "name": "🅾讴歌", + "type": 3, + "api": "csp_kongbai", + "searchable": 1, + "changeable": 0, + "ext": { + "commonConfig": "https://ghfast.top/raw.githubusercontent.com/yoursmile66/TVBox/main/json/peizhi.json", + "siteUrl": "https://woog.nxog.eu.org", + "filter": "https://ghfast.top/raw.githubusercontent.com/yoursmile66/TVBox/main/json/wogg.json" + } + }, + { + "key": "多多", + "name": "🌟多多", + "type": 3, + "api": "csp_kongbai", + "searchable": 1, + "changeable": 0, + "ext": { + "commonConfig": "https://ghfast.top/raw.githubusercontent.com/yoursmile66/TVBox/main/json/peizhi.json", + "siteUrl": "https://tv.yydsys.top", + "filter": "https://ghfast.top/raw.githubusercontent.com/yoursmile66/TVBox/main/json/wogg.json" + } + }, + { + "key": "星剧社", + "name": "⭐️星剧社", + "type": 3, + "api": "csp_Star2", + "searchable": 1, + "filterable": 0, + "switchable": 0, + "ext": { + "siteUrl": "https://1.star2.cn", + "commonConfig": "https://ghfast.top/raw.githubusercontent.com/yoursmile66/TVBox/main/json/peizhi.json" + } + }, + { + "key": "闪电", + "name": "⚡闪电", + "type": 3, + "api": "csp_kongbai", + "searchable": 1, + "changeable": 0, + "ext": { + "commonConfig": "https://ghfast.top/raw.githubusercontent.com/yoursmile66/TVBox/main/json/peizhi.json", + "siteUrl": "https://sduc.cloud/", + "filter": "https://ghfast.top/raw.githubusercontent.com/yoursmile66/TVBox/main/json/wogg.json" + } + }, + { + "key": "csp_PanSearch", + "name": "📀盘搜索", + "type": 3, + "api": "csp_PanSearch", + "searchable": 1, + "changeable": 0, + "ext": { + "commonConfig": "https://ghfast.top/raw.githubusercontent.com/yoursmile66/TVBox/main/json/peizhi.json" + } + }, + { + "key": "盘Ta", + "name": "🍥盘Ta", + "type": 3, + "api": "csp_PanTa", + "searchable": 1, + "filterable": 0, + "switchable": 0, + "ext": { + "siteUrl": "https://www.91panta.cn/", + "commonConfig": "https://ghfast.top/raw.githubusercontent.com/yoursmile66/TVBox/main/json/peizhi.json" + } + }, + { + "key": "网盘集合", + "name": "🅿网盘集合|4K", + "type": 3, + "api": "csp_网盘集合", + "searchable": 1, + "filterable": 0, + "switchable": 0, + "ext": { + "commonConfig": "https://ghfast.top/raw.githubusercontent.com/yoursmile66/TVBox/main/json/peizhi.json", + "share": "https://ghfast.top/raw.githubusercontent.com/yoursmile66/TVBox/main/json/网盘集合.json" + } + }, + { + "key": "Youtube", + "name": "⚡Youtube", + "type": 3, + "api": "csp_Youtube", + "searchable": 1, + "changeable": 1, + "style": { + "type": "rect", + "ratio": 1.433 + }, + "ext": { + "commonConfig": "https://ghfast.top/raw.githubusercontent.com/yoursmile66/TVBox/main/json/peizhi.json", + "json": "https://ghfast.top/raw.githubusercontent.com/yoursmile66/TVBox/main/json/youtube.json" + } + }, + { + "key": "Emby", + "name": "Emby", + "type": 3, + "api": "csp_Emby", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": { + "server": "http://127.0.0.1:9966/api/proxy/https://lite.cn2gias.uk:443", + "username": "23", + "password": "23", + "ua": "Yamby/1.0.2(Android)", + "client": "Yamby", + "clientVersion": "0.2.3", + "deviceName": "oppo find x9 pro", + "commonConfig": "http://127.0.0.1:9978/file/TVBox/peizhi.json" + }, + "changeable": 1 + }, + { + "key": "肥牛", + "name": "Emby肥牛", + "type": 3, + "api": "csp_Emby", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": { + "server": "http://127.0.0.1:9966/api/proxy/https://emby.feiniu.lol:443", + "username": "23", + "password": "123", + "ua": "", + "client": "Yamby", + "deviceName": "Yamby", + "commonConfig": "http://127.0.0.1:9978/file/TVBox/peizhi.json" + }, + "changeable": 1 + }, + { + "key": "TgYunPan|本地", + "name": "🅿TgYunPan|本地", + "type": 3, + "api": "csp_TgYunPanLocal", + "searchable": 1, + "filterable": 0, + "switchable": 0, + "ext": { + "count": 4, + "channelUsername": "+P4IU1QbK4ChlNTYx,+h10ulzfxiQZiYTdi,+cpJ_dIx_hlYxMWQx,+Jc37JCr1diEzNDMx,bdwpzhpd,bdwpzhpd,alyp_TV,ucquark,wp123zy,oneonefivewpfx,tyypzhpd,cloudtianyi,ydypzyfx,yunpan139,guaguale115,Mbox115,shares_115,zaihuayun,PanjClub,NewQuark,yunpanpan,kuake_movie,Quark_Movies,alyp_4K_Movies,alyp_TV,yunpanshare,shareAliyun,alyp_1,BaiduCloudDisk", + "commonConfig": "https://ghfast.top/raw.githubusercontent.com/yoursmile66/TVBox/main/json/peizhi.json" + } + }, + { + "key": "push_agent", + "name": "🐧裙:926953902", + "type": 3, + "api": "csp_Push", + "searchable": 0, + "quickSearch": 0, + "ext": { + "commonConfig": "https://ghfast.top/raw.githubusercontent.com/yoursmile66/TVBox/main/json/peizhi.json" + } + }, + { + "key": "游戏直播", + "name": "🙀游戏直播", + "type": 3, + "api": "csp_Living", + "searchable": 1, + "changeable": 0, + "ext": { + "siteUrl": "https://bt.muxia.fun/api", + "commonConfig": "https://ghfast.top/raw.githubusercontent.com/yoursmile66/TVBox/main/json/peizhi.json" + } + }, + { + "key": "虎牙", + "name": "🐯虎牙直播", + "type": 3, + "api": "./api/drpy2.js", + "ext": "./js/huya2.js", + "style": { + "type": "rect", + "ratio": 1.755 + }, + "timeout": 10, + "playerType": "2", + "searchable": 0, + "quickSearch": 0, + "changeable": 0 + }, + { + "key": "斗鱼", + "name": "🐟斗鱼直播", + "type": 3, + "api": "./api/drpy2.min.js", + "ext": "./js/斗鱼直播.js", + "style": { + "type": "rect", + "ratio": 1.755 + }, + "playerType": "2", + "searchable": 0, + "quickSearch": 0, + "changeable": 0 + }, + { + "key": "有声小说吧", + "name": "📚有声小说吧", + "type": 3, + "api": "./api/drpy2.min.js", + "playerType": "2", + "searchable": 0, + "quickSearch": 0, + "filterable": 0, + "ext": "./js/有声小说吧.js" + }, + { + "key": "哔哩", + "name": "🅱️哔哩哔哩", + "type": 3, + "api": "csp_Bili", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "style": { + "type": "rect", + "ratio": 1.433 + }, + "ext": { + "json": "https://ghfast.top/raw.githubusercontent.com/yoursmile66/TVBox/main/json/Bili.json", + "commonConfig": "https://ghfast.top/raw.githubusercontent.com/yoursmile66/TVBox/main/json/peizhi.json", + "cookie": "" + } + }, + { + "key": "相声小品", + "name": "🅱️相声小品", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 0, + "filterable": 1, + "style": { + "type": "rect", + "ratio": 1.433 + }, + "ext": { + "json": "https://ghfast.top/raw.githubusercontent.com/yoursmile66/TVBox/main/json/Blixs.json", + "commonConfig": "https://ghfast.top/raw.githubusercontent.com/yoursmile66/TVBox/main/json/peizhi.json", + "cookie": "" + } + }, + { + "key": "戏曲", + "name": "🅱️戏曲", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 0, + "filterable": 1, + "style": { + "type": "rect", + "ratio": 1.433 + }, + "ext": { + "json": "https://ghfast.top/raw.githubusercontent.com/yoursmile66/TVBox/main/json/Blixq.json", + "commonConfig": "https://ghfast.top/raw.githubusercontent.com/yoursmile66/TVBox/main/json/peizhi.json", + "cookie": "" + } + }, + { + "key": "少儿", + "name": "🅱️少儿", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 0, + "filterable": 1, + "style": { + "type": "rect", + "ratio": 1.433 + }, + "ext": { + "json": "https://ghfast.top/raw.githubusercontent.com/yoursmile66/TVBox/main/json/少儿教育.json", + "commonConfig": "https://ghfast.top/raw.githubusercontent.com/yoursmile66/TVBox/main/json/peizhi.json", + "cookie": "" + } + }, + { + "key": "小学", + "name": "🅱️小学", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 0, + "filterable": 1, + "style": { + "type": "rect", + "ratio": 1.433 + }, + "ext": { + "json": "https://ghfast.top/raw.githubusercontent.com/yoursmile66/TVBox/main/json/小学课堂.json", + "commonConfig": "https://ghfast.top/raw.githubusercontent.com/yoursmile66/TVBox/main/json/peizhi.json", + "cookie": "" + } + }, + { + "key": "初中", + "name": "🅱️初中", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 0, + "filterable": 1, + "style": { + "type": "rect", + "ratio": 1.433 + }, + "ext": { + "json": "https://ghfast.top/raw.githubusercontent.com/yoursmile66/TVBox/main/json/初中课堂.json", + "commonConfig": "https://ghfast.top/raw.githubusercontent.com/yoursmile66/TVBox/main/json/peizhi.json", + "cookie": "" + } + }, + { + "key": "高中", + "name": "🅱️高中", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 0, + "filterable": 1, + "style": { + "type": "rect", + "ratio": 1.433 + }, + "ext": { + "json": "https://ghfast.top/raw.githubusercontent.com/yoursmile66/TVBox/main/json/高中课堂.json", + "commonConfig": "https://ghfast.top/raw.githubusercontent.com/yoursmile66/TVBox/main/json/peizhi.json", + "cookie": "" + } + } + ], + "parses": [ + { + "name": "Web聚合", + "type": 3, + "url": "Web" + }, + { + "name": "Json聚合", + "type": 3, + "url": "Demo" + }, + { + "name": "云", + "type": 0, + "url": "https://yparse.ik9.cc/index.php?url=", + "ext": { + "flag": [ + "qq", + "腾讯", + "qiyi", + "爱奇艺", + "奇艺", + "youku", + "优酷", + "mgtv", + "芒果", + "letv", + "乐视", + "pptv", + "PPTV", + "sohu", + "bilibili", + "哔哩哔哩", + "哔哩" + ], + "header": { + "User-Agent": "okhttp/4.1.0" + } + } + }, + { + "name": "HLS", + "type": 0, + "url": "https://jx.hls.one/?url=", + "ext": { + "flag": [ + "qq", + "腾讯", + "qiyi", + "爱奇艺", + "奇艺", + "youku", + "优酷", + "mgtv", + "芒果", + "letv", + "乐视", + "pptv", + "PPTV", + "sohu", + "bilibili", + "哔哩哔哩", + "哔哩" + ], + "header": { + "User-Agent": "okhttp/4.1.0" + } + } + }, + { + "name": "m3u8TV", + "type": 0, + "url": "https://jx.m3u8.tv/jiexi/?url=", + "ext": { + "flag": [ + "qq", + "腾讯", + "qiyi", + "爱奇艺", + "奇艺", + "youku", + "优酷", + "mgtv", + "芒果", + "letv", + "乐视", + "pptv", + "PPTV", + "sohu", + "bilibili", + "哔哩哔哩", + "哔哩" + ], + "header": { + "User-Agent": "okhttp/4.1.0" + } + } + }, + { + "name": "77", + "type": 0, + "url": "https://jx.77flv.cc/?url=", + "ext": { + "flag": [ + "qq", + "腾讯", + "qiyi", + "爱奇艺", + "奇艺", + "youku", + "优酷", + "mgtv", + "芒果", + "letv", + "乐视", + "pptv", + "PPTV", + "sohu", + "bilibili", + "哔哩哔哩", + "哔哩" + ] + } + }, + { + "name": "咸鱼", + "type": 0, + "url": "https://jx.xymp4.cc/?url=", + "ext": { + "flag": [ + "qq", + "腾讯", + "qiyi", + "爱奇艺", + "奇艺", + "youku", + "优酷", + "mgtv", + "芒果", + "letv", + "乐视", + "pptv", + "PPTV", + "sohu", + "bilibili", + "哔哩哔哩", + "哔哩" + ] + } + } + ], + "lives": [ + { + "name": "Yoursmile", + "type": 0, + "url": "./lives/Yoursmile.txt", + "epg": "http://epg.51zmt.top:8000/api/diyp/?ch={name}&date={date}", + "ua": "okhttp/3.15" + }, + { + "name": "feiyang.allinone", + "type": 0, + "url": "./lives/feiyang.allinone.txt", + "epg": "http://epg.51zmt.top:8000/api/diyp/?ch={name}&date={date}", + "ua": "okhttp/3.15" + }, + { + "name": "feiyang.bililive", + "type": 0, + "url": "./lives/feiyang.bililive.txt", + "epg": "http://epg.51zmt.top:8000/api/diyp/?ch={name}&date={date}", + "ua": "okhttp/3.15" + }, + { + "name": "feiyang.huyayqk", + "type": 0, + "url": "./lives/feiyang.huyayqk.txt", + "epg": "http://epg.51zmt.top:8000/api/diyp/?ch={name}&date={date}", + "ua": "okhttp/3.15" + }, + { + "name": "feiyang.douyuyqk", + "type": 0, + "url": "./lives/feiyang.douyuyqk.txt", + "epg": "http://epg.51zmt.top:8000/api/diyp/?ch={name}&date={date}", + "ua": "okhttp/3.15" + }, + { + "name": "feiyang.yylunbo", + "type": 0, + "url": "./lives/feiyang.yylunbo.txt", + "epg": "http://epg.51zmt.top:8000/api/diyp/?ch={name}&date={date}", + "ua": "okhttp/3.15" + } + ], + "logo": "https://ghfast.top/raw.githubusercontent.com/yoursmile66/TVBox/main/json/NanFeng.gif", + "rules": [ + { + "name": "量非", + "hosts": [ + "lz", + "vip.lz", + "v.cdnlz", + "hd.lz", + "ffzy", + "vip.ffzy", + "hd.ffzy" + ], + "regex": [ + "#EXT-X-DISCONTINUITY\r*\n*#EXTINF:6.666667,[\\s\\S]*?#EXT-X-DISCONTINUITY", + "#EXT-X-DISCONTINUITY\r*\n*#EXTINF:6.600000,[\\s\\S]*?#EXT-X-DISCONTINUITY" + ] + }, + { + "name": "索尼", + "hosts": [ + "suonizy", + "qrssv.com" + ], + "regex": [ + "15.1666", + "15.2666" + ] + }, + { + "name": "乐视", + "hosts": [ + "leshiyun" + ], + "regex": [ + "15.92" + ] + }, + { + "name": "优质", + "hosts": [ + "yzzy", + "playback" + ], + "regex": [ + "16.63", + "18.66", + "17.66", + "19.13" + ] + }, + { + "name": "快看", + "hosts": [ + "kuaikan", + "vip.kuaikan" + ], + "regex": [ + "15.32", + "15.231", + "18.066" + ] + }, + { + "name": "360", + "hosts": [ + "lyhuicheng" + ], + "regex": [ + "#EXTINF.*?\\s+.*?hrz8QcR9.*?\\.ts\\s+", + "#EXT-X-KEY:METHOD=NONE[\\s\\S]*?#EXT-X-DISCONTINUITY" + ] + }, + { + "name": "开源棋牌", + "hosts": [ + "askzycdn", + "jkunbf", + "bfikuncdn", + "bfaskcdn" + ], + "regex": [ + "#EXT-X-KEY:METHOD=NONE\r*\n*#EXTINF:5,[\\s\\S]*?#EXT-X-DISCONTINUITY", + "#EXT-X-KEY:METHOD=AES-128,URI=\"[^\"]+\"\r*\n*#EXTINF:3.333,[\\s\\S]*?#EXT-X-DISCONTINUITY" + ] + }, + { + "name": "暴风", + "hosts": [ + "bfengbf.com", + "bfzy", + "c1" + ], + "regex": [ + "#EXTINF.*?\\s+.*?adjump.*?\\.ts\\s+", + "#EXT-X-DISCONTINUITY\r*\n*#EXTINF:3,[\\s\\S]*?#EXT-X-DISCONTINUITY" + ] + }, + { + "name": "农民", + "hosts": [ + "toutiaovod.com" + ], + "regex": [ + "video/tos/cn" + ] + }, + { + "name": "火山", + "hosts": [ + "huoshan.com" + ], + "regex": [ + "item_id=" + ] + }, + { + "name": "抖音", + "hosts": [ + "douyin.com" + ], + "regex": [ + "is_play_url=" + ] + }, + { + "name": "磁力", + "hosts": [ + "magnet" + ], + "regex": [ + "最 新", + "直 播", + "更 新" + ] + }, + { + "name": "饭团点击", + "hosts": [ + "dadagui", + "freeok", + "dadagui" + ], + "script": [ + "document.querySelector(\"#playleft iframe\").contentWindow.document.querySelector(\"#start\").click();" + ] + }, + { + "name": "毛驴点击", + "hosts": [ + "www.maolvys.com" + ], + "script": [ + "document.getElementsByClassName('swal-button swal-button--confirm')[0].click()" + ] + } + ], + "doh": [ + { + "name": "Google", + "url": "https://dns.google/dns-query", + "ips": [ + "8.8.4.4", + "8.8.8.8" + ] + }, + { + "name": "Cloudflare", + "url": "https://cloudflare-dns.com/dns-query", + "ips": [ + "1.1.1.1", + "1.0.0.1", + "2606:4700:4700::1111", + "2606:4700:4700::1001" + ] + }, + { + "name": "AdGuard", + "url": "https://dns.adguard.com/dns-query", + "ips": [ + "94.140.14.140", + "94.140.14.141" + ] + }, + { + "name": "DNSWatch", + "url": "https://resolver2.dns.watch/dns-query", + "ips": [ + "84.200.69.80", + "84.200.70.40" + ] + }, + { + "name": "Quad9", + "url": "https://dns.quad9.net/dns-quer", + "ips": [ + "9.9.9.9", + "149.112.112.112" + ] + } + ], + "ijk": [ + { + "group": "软解码", + "options": [ + { + "category": 4, + "name": "opensles", + "value": "0" + }, + { + "category": 4, + "name": "overlay-format", + "value": "842225234" + }, + { + "category": 4, + "name": "framedrop", + "value": "1" + }, + { + "category": 4, + "name": "soundtouch", + "value": "1" + }, + { + "category": 4, + "name": "start-on-prepared", + "value": "1" + }, + { + "category": 1, + "name": "http-detect-rangeupport", + "value": "0" + }, + { + "category": 1, + "name": "fflags", + "value": "fastseek" + }, + { + "category": 2, + "name": "skip_loop_filter", + "value": "48" + }, + { + "category": 4, + "name": "reconnect", + "value": "1" + }, + { + "category": 4, + "name": "enable-accurateeek", + "value": "0" + }, + { + "category": 4, + "name": "mediacodec", + "value": "0" + }, + { + "category": 4, + "name": "mediacodec-auto-rotate", + "value": "0" + }, + { + "category": 4, + "name": "mediacodec-handle-resolution-change", + "value": "0" + }, + { + "category": 4, + "name": "mediacodec-hevc", + "value": "0" + }, + { + "category": 1, + "name": "dns_cache_timeout", + "value": "600000000" + } + ] + }, + { + "group": "硬解码", + "options": [ + { + "category": 4, + "name": "opensles", + "value": "0" + }, + { + "category": 4, + "name": "overlay-format", + "value": "842225234" + }, + { + "category": 4, + "name": "framedrop", + "value": "1" + }, + { + "category": 4, + "name": "soundtouch", + "value": "1" + }, + { + "category": 4, + "name": "start-on-prepared", + "value": "1" + }, + { + "category": 1, + "name": "http-detect-rangeupport", + "value": "0" + }, + { + "category": 1, + "name": "fflags", + "value": "fastseek" + }, + { + "category": 2, + "name": "skip_loop_filter", + "value": "48" + }, + { + "category": 4, + "name": "reconnect", + "value": "1" + }, + { + "category": 4, + "name": "enable-accurateeek", + "value": "0" + }, + { + "category": 4, + "name": "mediacodec", + "value": "1" + }, + { + "category": 4, + "name": "mediacodec-auto-rotate", + "value": "1" + }, + { + "category": 4, + "name": "mediacodec-handle-resolution-change", + "value": "1" + }, + { + "category": 4, + "name": "mediacodec-hevc", + "value": "1" + }, + { + "category": 1, + "name": "dns_cache_timeout", + "value": "600000000" + } + ] + } + ], + "ads": [ + "mozai.4gtv.tv", + "pv.vipwm.cc" + ] +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/南风/api/a848d2173d12b963b98a2ffa9796abe7.js b/tvboxqq/tvboxqq/南风/api/a848d2173d12b963b98a2ffa9796abe7.js new file mode 100644 index 0000000..455c0ac --- /dev/null +++ b/tvboxqq/tvboxqq/南风/api/a848d2173d12b963b98a2ffa9796abe7.js @@ -0,0 +1,7 @@ + +403 Forbidden + +

403 Forbidden

+
nginx
+ + diff --git a/tvboxqq/tvboxqq/南风/api/dffd4cc3bf2fdbddf56e179fb494a4fa.js b/tvboxqq/tvboxqq/南风/api/dffd4cc3bf2fdbddf56e179fb494a4fa.js new file mode 100644 index 0000000..455c0ac --- /dev/null +++ b/tvboxqq/tvboxqq/南风/api/dffd4cc3bf2fdbddf56e179fb494a4fa.js @@ -0,0 +1,7 @@ + +403 Forbidden + +

403 Forbidden

+
nginx
+ + diff --git a/tvboxqq/tvboxqq/南风/api/drpy2.js b/tvboxqq/tvboxqq/南风/api/drpy2.js new file mode 100644 index 0000000..83a8305 --- /dev/null +++ b/tvboxqq/tvboxqq/南风/api/drpy2.js @@ -0,0 +1 @@ +import cheerio from"assets://js/lib/cheerio.min.js";import"assets://js/lib/crypto-js.js";import 模板 from"./a848d2173d12b963b98a2ffa9796abe7.js";import{gbkTool}from"./dffd4cc3bf2fdbddf56e179fb494a4fa.js";function init_test(){console.log("init_test_start"),console.log("当前版本号:"+VERSION),console.log(RKEY),console.log(JSON.stringify(rule)),console.log("init_test_end")}function pre(){if("string"==typeof rule.预处理&&rule.预处理&&rule.预处理.trim()){let code=rule.预处理.trim();console.log("执行预处理代码:"+code),code.startsWith("js:")&&(code=code.replace("js:",""));try{eval(code)}catch(e){console.log("预处理执行失败:"+e.message)}}}let rule={},vercode="function"==typeof pdfl?"drpy2.1":"drpy2";const VERSION=vercode+" 3.9.49beta2 20231122",MOBILE_UA="Mozilla/5.0 (Linux; Android 11; M2007J3SC Build/RKQ1.200826.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045714 Mobile Safari/537.36",PC_UA="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36",UA="Mozilla/5.0",UC_UA="Mozilla/5.0 (Linux; U; Android 9; zh-CN; MI 9 Build/PKQ1.181121.001) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0.2987.108 UCBrowser/12.5.5.1035 Mobile Safari/537.36",IOS_UA="Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1",RULE_CK="cookie",CATE_EXCLUDE="首页|留言|APP|下载|资讯|新闻|动态",TAB_EXCLUDE="猜你|喜欢|下载|剧情|热播",OCR_RETRY=3,OCR_API="http://drpy.nokia.press:8028/ocr/drpy/text";if(void 0===MY_URL)var MY_URL;var HOST,RKEY,fetch,print,log,rule_fetch_params,fetch_params,oheaders,_pdfh,_pdfa,_pd;const DOM_CHECK_ATTR=/(url|src|href|-original|-src|-play|-url|style)$/,SPECIAL_URL=/^(ftp|magnet|thunder|ws):/,NOADD_INDEX=/:eq|:lt|:gt|:first|:last|^body$|^#/,URLJOIN_ATTR=/(url|src|href|-original|-src|-play|-url|style)$/,SELECT_REGEX=/:eq|:lt|:gt|#/g,SELECT_REGEX_A=/:eq|:lt|:gt/g;function 是否正版(e){return new RegExp("qq.com|iqiyi.com|youku.com|mgtv.com|bilibili.com|sohu.com|ixigua.com|pptv.com|miguvideo.com|le.com|1905.com|fun.tv").test(e)}function urlDeal(e){return e?是否正版(e)?(/miguvideo/.test(e)||(e=e.split("#")[0].split("?")[0]),e):e:""}function setResult(e){return Array.isArray(e)?(VODS=[],e.forEach(function(e){let t={vod_id:e.url||"",vod_name:e.title||"",vod_remarks:e.desc||"",vod_content:e.content||"",vod_pic:e.pic_url||e.img||""},r=Object.keys(e);r.includes("tname")&&(t.type_name=e.tname||""),r.includes("tid")&&(t.type_id=e.tid||""),r.includes("year")&&(t.vod_year=e.year||""),r.includes("actor")&&(t.vod_actor=e.actor||""),r.includes("director")&&(t.vod_director=e.director||""),r.includes("area")&&(t.vod_area=e.area||""),VODS.push(t)}),VODS):[]}function setResult2(e){return VODS=e.list||[]}function setHomeResult(e){return e&&"object"==typeof e?setResult(e.list):[]}function rc(e){if("maomi_aes.js"===e){var t=CryptoJS.enc.Utf8.parse("625222f9149e961d"),r=CryptoJS.enc.Utf8.parse("5efdtf6060e2o330");return{De:function(e){return e=CryptoJS.enc.Hex.parse(e),CryptoJS.AES.decrypt(CryptoJS.enc.Base64.stringify(e),t,{iv:r,mode:CryptoJS.mode.CBC,padding:CryptoJS.pad.Pkcs7}).toString(CryptoJS.enc.Utf8)},En:function(e){return CryptoJS.AES.encrypt(e,t,{iv:r,mode:CryptoJS.mode.CBC,padding:CryptoJS.pad.Pkcs7}).ciphertext.toString()}}}return{}}function maoss(jxurl,ref,key){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params)),eval(getCryptoJS());try{var getVideoInfo=function(e){return CryptoJS.AES.decrypt(e,key,{iv:iv,padding:CryptoJS.pad.Pkcs7}).toString(CryptoJS.enc.Utf8)},token_key=null==key?"dvyYRQlnPRCMdQSe":key;if(ref)var html=request(jxurl,{headers:{Referer:ref}});else var html=request(jxurl);-1!=html.indexOf("&btwaf=")&&(html=request(jxurl+"&btwaf"+html.match(/&btwaf(.*?)"/)[1],{headers:{Referer:ref}}));var token_iv=html.split('_token = "')[1].split('"')[0],key=CryptoJS.enc.Utf8.parse(token_key),iv=CryptoJS.enc.Utf8.parse(token_iv);return eval(html.match(/var config = {[\s\S]*?}/)[0]+""),config.url.startsWith("http")||(config.url=CryptoJS.AES.decrypt(config.url,key,{iv:iv,padding:CryptoJS.pad.Pkcs7}).toString(CryptoJS.enc.Utf8)),config.url}catch(e){return""}}function urlencode(e){return e=(e+"").toString(),encodeURIComponent(e).replace(/!/g,"%21").replace(/'/g,"%27").replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/\*/g,"%2A").replace(/%20/g,"+")}function base64Encode(e){return CryptoJS.enc.Base64.stringify(CryptoJS.enc.Utf8.parse(e))}function base64Decode(e){return CryptoJS.enc.Utf8.stringify(CryptoJS.enc.Base64.parse(e))}function md5(e){return CryptoJS.MD5(e).toString()}function encodeStr(e,t){if((t=t||"gbk").startsWith("gb")){e=gbkTool().encode(e)}return e}function decodeStr(e,t){if((t=t||"gbk").startsWith("gb")){e=gbkTool().decode(e)}return e}function getCryptoJS(){return'console.log("CryptoJS已装载");'}"function"!=typeof Object.assign&&(Object.assign=function(){for(var e=arguments[0],t=1;tthis.length)&&-1!==this.indexOf(e,t)}),Array.prototype.includes||Object.defineProperty(Array.prototype,"includes",{value:function(e,t){if(null==this)throw new TypeError('"this" is null or not defined');var r=Object(this),l=r.length>>>0;if(0===l)return!1;for(var o=0|t,s=Math.max(o>=0?o:l-Math.abs(o),0);s=o)return e;let s=e[l],a=e[o];if(t)try{s=s[t],a=a[t]}catch(e){}if(r&&"function"==typeof r)try{s=r(s),a=r(a)}catch(e){}if(a+="",(s+="").match(/(\d+)/)&&a.match(/(\d+)/)){Number(s.match(/(\d+)/)[1])>Number(a.match(/(\d+)/)[1])&&e.reverse()}return e}let VODS=[],VOD={},TABS=[],LISTS=[];function urljoin(e,t){return e=e||"",t=t||"",joinUrl(e,t)}globalThis.encodeUrl=urlencode,globalThis.urlencode=urlencode;var urljoin2=urljoin;const defaultParser={pdfh:pdfh,pdfa:pdfa,pd:pd};function pdfh2(e,t){let r=e;try{"string"!=typeof e&&(r=e.rr(e.ele).toString())}catch(e){print("html对象转文本发生了错误:"+e.message)}let l=defaultParser.pdfh(r,t),o=t.includes("&&")?t.split("&&").slice(-1)[0]:t.split(" ").slice(-1)[0];if(/style/.test(o.toLowerCase())&&/url\(/.test(l))try{l=(l=l.match(/url\((.*?)\)/)[1]).replace(/^['|"](.*)['|"]$/,"$1")}catch(e){}return l}function pdfa2(e,t){let r=e;try{"string"!=typeof e&&(r=e.rr(e.ele).toString())}catch(e){print("html对象转文本发生了错误:"+e.message)}return defaultParser.pdfa(r,t)}function pd2(e,t,r){let l=pdfh2(e,t);return void 0!==r&&r||(r=""),DOM_CHECK_ATTR.test(t)&&!SPECIAL_URL.test(l)&&(l=/http/.test(l)?l.substr(l.indexOf("http")):urljoin(MY_URL,l)),l}const parseTags={jsp:{pdfh:pdfh2,pdfa:pdfa2,pd:pd2},json:{pdfh(e,t){if(!t||!t.trim())return"";"string"==typeof e&&(e=JSON.parse(e)),(t=t.trim()).startsWith("$.")||(t="$."+t),t=t.split("||");for(let r of t){let t=cheerio.jp(r,e);if((t=Array.isArray(t)?t[0]||"":t||"")&&"string"!=typeof t&&(t=t.toString()),t)return t}return""},pdfa(e,t){if(!t||!t.trim())return"";"string"==typeof e&&(e=JSON.parse(e)),(t=t.trim()).startsWith("$.")||(t="$."+t);let r=cheerio.jp(t,e);return Array.isArray(r)&&Array.isArray(r[0])&&1===r.length?r[0]||[]:r||[]},pd(e,t){let r=parseTags.json.pdfh(e,t);return r?urljoin(MY_URL,r):r}},jq:{pdfh(e,t){if(!e||!t||!t.trim())return"";return t=t.trim(),defaultParser.pdfh(e,t)},pdfa(e,t){if(!e||!t||!t.trim())return[];t=t.trim();let r=defaultParser.pdfa(e,t);return print(`pdfa解析${t}=>${r.length}`),r},pd:(e,t,r)=>e&&t&&t.trim()?(t=t.trim(),r=r||MY_URL,defaultParser.pd(e,t,r)):""},getParse(e){return e.startsWith("jsp:")?this.jsp:e.startsWith("json:")?this.json:(e.startsWith("jq:"),this.jq)}},stringify=JSON.stringify,jsp=parseTags.jsp,jq=parseTags.jq;function readFile(e){e=e||"./uri.min.js";var t=os.open(e),r=new ArrayBuffer(1024),l=os.read(t,r,0,1024);console.log(l);let o=String.fromCharCode.apply(null,new Uint8Array(r));return console.log(o),o}function dealJson(e){try{(e=e.trim()).startsWith("{")&&e.endsWith("}")||e.startsWith("[")&&e.endsWith("]")||(e="{"+e.match(/.*?\{(.*)\}/m)[1]+"}")}catch(e){}try{e=JSON.parse(e)}catch(e){}return e}var OcrApi={api:OCR_API,classification:function(e){let t="";try{log("通过drpy_ocr验证码接口过验证..."),t=request(OCR_API,{data:{img:e},headers:{"User-Agent":PC_UA},method:"POST"},!0)||""}catch(e){log(`OCR识别验证码发生错误:${e.message}`)}return t}};function verifyCode(e){let t=0,r=getHome(e),l="";for(;t"set-cookie"===e.toLowerCase());l=e?s[e].split(";")[0]:""}console.log("cookie:"+l);let a=s.body,i=OcrApi.classification(a);console.log(`第${t+1}次验证码识别结果:${i}`);let n=`${r}/index.php/ajax/verify_check?type=search&verify=${i}`;console.log(n);let p=request(n,{headers:{Cookie:l,"User-Agent":MOBILE_UA},method:"POST"});if("ok"===(p=JSON.parse(p)).msg)return console.log(`第${t+1}次验证码提交成功`),l;"ok"!==p.msg&&t+1>=OCR_RETRY&&(l="")}catch(e){console.log(`第${t+1}次验证码提交失败:${e.message}`),t+1>=OCR_RETRY&&(l="")}t+=1}return l}function setItem(e,t){local.set(RKEY,e,t),console.log(`规则${RKEY}设置${e} => ${t}`)}function getItem(e,t){return local.get(RKEY,e)||t}function clearItem(e){local.delete(RKEY,e)}function getHome(e){if(!e)return"";let t=e.split("//");e=t[0]+"//"+t[1].split("/")[0];try{e=decodeURIComponent(e)}catch(e){}return e}function buildUrl(e,t){t=t||{},e.indexOf("?")<0&&(e+="?");let r=[],l=Object.keys(t);l.forEach(e=>{r.push(e+"="+t[e])});let o=r.join("&");return l.length>0&&!e.endsWith("?")&&(e+="&"),e+=o}function require(url){eval(request(url))}function request(e,t,r){if(r=r||!1,void 0!==t&&t&&t!=={}){let r=t.headers||{},l=Object.keys(r).map(e=>e.toLowerCase());l.includes("user-agent")||(r["User-Agent"]=MOBILE_UA),l.includes("referer")||(r.Referer=getHome(e)),t.headers=r}else{if(!fetch_params||!fetch_params.headers){let e={"User-Agent":MOBILE_UA};rule.headers&&Object.assign(e,rule.headers),fetch_params||(fetch_params={}),fetch_params.headers=e}fetch_params.headers.Referer||(fetch_params.headers.Referer=getHome(e)),t=fetch_params}if(rule.encoding&&"utf-8"!==rule.encoding&&!r&&(t.headers.hasOwnProperty("Content-Type")||t.headers.hasOwnProperty("content-type")||(t.headers["Content-Type"]="text/html; charset="+rule.encoding)),void 0!==t.body&&t.body&&"string"==typeof t.body?t.headers.hasOwnProperty("Content-Type")||t.headers.hasOwnProperty("content-type")||(t.headers["Content-Type"]="application/x-www-form-urlencoded; charset="+rule.encoding):void 0!==t.body&&t.body&&"object"==typeof t.body&&(t.data=t.body,delete t.body),!e)return t.withHeaders?"{}":"";t.toBase64&&(t.buffer=2,delete t.toBase64),console.log(JSON.stringify(t.headers)),console.log("request:"+e+`|method:${t.method||"GET"}|body:${t.body||""}`);let l=req(e,t),o=l.content||"";if(t.withHeaders){let e=l.headers;return e.body=o,JSON.stringify(e)}return o}function post(e,t){return t.method="POST",request(e,t)}function checkHtml(e,t,r){if(/\?btwaf=/.test(e)){let l=e.match(/btwaf(.*?)"/)[1];t=t.split("#")[0]+"?btwaf"+l,print("宝塔验证访问链接:"+t),e=request(t,r)}return e}function getCode(e,t){let r=request(e,t);return r=checkHtml(r,e,t)}function getHtml(e){let t={};rule.headers&&(t.headers=rule.headers);let r=getItem(RULE_CK,"");return r&&(t.headers&&!Object.keys(t.headers).map(e=>e.toLowerCase()).includes("cookie")?(log("历史无cookie,新增过验证后的cookie"),t.headers.Cookie=r):t.headers&&t.headers.cookie&&t.headers.cookie!==r?(t.headers.Cookie=r,log("历史有小写过期的cookie,更新过验证后的cookie")):t.headers&&t.headers.Cookie&&t.headers.Cookie!==r?(t.headers.Cookie=r,log("历史有大写过期的cookie,更新过验证后的cookie")):t.headers||(t.headers={Cookie:r},log("历史无headers,更新过验证后的含cookie的headers"))),getCode(e,t)}function homeParse(e){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let t=[];if(e.class_name&&e.class_url){let r=e.class_name.split("&"),l=e.class_url.split("&"),o=Math.min(r.length,l.length);for(let e=0;e=3)try{let l=getHtml(e.MY_URL);if(l){homeHtmlCache=l;let o=_pdfa(l,r[0]);o&&o.length>0&&o.forEach((l,o)=>{try{let s=_pdfh(l,r[1]);if(e.cate_exclude&&new RegExp(e.cate_exclude).test(s))return;let a=_pd(l,r[2]);if(r.length>3&&r[3]){let e=new RegExp(r[3]);a=a.match(e)[1]}t.push({type_id:a.trim(),type_name:s.trim()})}catch(e){console.log(`分类列表定位第${o}个元素正常报错:${e.message}`)}})}}catch(e){console.log(e.message)}}let r={class:t=t.filter(t=>!e.cate_exclude||!new RegExp(e.cate_exclude).test(t.type_name))};return e.filter&&(r.filters=e.filter),console.log(JSON.stringify(r)),JSON.stringify(r)}function getPP(e,t,r,l){try{return"*"===e[t]&&r.length>l?r[l]:e[t]}catch(e){return""}}function homeVodParse(homeVodObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let d=[];MY_URL=homeVodObj.homeUrl,console.log(MY_URL);let t1=(new Date).getTime(),p=homeVodObj.推荐;if(print("p:"+p),"*"===p&&rule.一级&&(p=rule.一级,homeVodObj.double=!1),!p||"string"!=typeof p)return"{}";p=p.trim();let pp=rule.一级.split(";");if(p.startsWith("js:")){const TYPE="home";var input=MY_URL;HOST=rule.host,eval(p.replace("js:","")),d=VODS}else{if(p=p.split(";"),!homeVodObj.double&&p.length<5)return"{}";if(homeVodObj.double&&p.length<6)return"{}";let e=getPP(p,0,pp,0),t=parseTags.getParse(e);_pdfa=t.pdfa,_pdfh=t.pdfh,_pd=t.pd;let r=e.startsWith("json:");e=e.replace(/^(jsp:|json:|jq:)/,"");let l=homeHtmlCache||getHtml(MY_URL);homeHtmlCache=void 0,r&&(l=dealJson(l));try{if(console.log("double:"+homeVodObj.double),homeVodObj.double){let t=_pdfa(l,e),r=getPP(p,1,pp,0),o=getPP(p,2,pp,1),s=getPP(p,3,pp,2),a=getPP(p,4,pp,3),i=getPP(p,5,pp,4),n=getPP(p,6,pp,5);for(let e of t){let t=_pdfa(e,r);for(let e of t)try{let t=_pdfh(e,o),r="";try{r=_pd(e,s)}catch(e){}let l="";try{l=_pdfh(e,a)}catch(e){}let u=[],c;for(let t of i.split("+")){let r=homeVodObj.detailUrl?_pdfh(e,t):_pd(e,t,MY_URL);u.push(r)}c=p.length>6&&p[6]?_pdfh(e,n):"";let f=u.join("$");"*"===rule.二级&&(f=f+"@@"+t+"@@"+r);let h={vod_name:t,vod_pic:r,vod_remarks:l,vod_content:c,vod_id:f};d.push(h)}catch(e){console.log("首页列表双层定位处理发生错误:"+e.message)}}}else{let t=_pdfa(l,e),r=getPP(p,1,pp,1),o=getPP(p,2,pp,2),s=getPP(p,3,pp,3),a=getPP(p,4,pp,4),i=getPP(p,5,pp,5);for(let e of t)try{let t=_pdfh(e,r),l="";try{l=_pd(e,o,MY_URL)}catch(e){}let n="";try{n=_pdfh(e,s)}catch(e){}let u=[],c;for(let t of a.split("+")){let r=homeVodObj.detailUrl?_pdfh(e,t):_pd(e,t,MY_URL);u.push(r)}c=p.length>5&&p[5]?_pdfh(e,i):"";let f=u.join("$");"*"===rule.二级&&(f=f+"@@"+t+"@@"+l);let h={vod_name:t,vod_pic:l,vod_remarks:n,vod_content:c,vod_id:f};d.push(h)}catch(e){console.log("首页列表单层定位处理发生错误:"+e.message)}}}catch(e){}}let t2=(new Date).getTime();return console.log("加载首页推荐耗时:"+(t2-t1)+"毫秒"),rule.图片来源&&d.forEach(e=>{e.vod_pic&&e.vod_pic.startsWith("http")&&(e.vod_pic=e.vod_pic+rule.图片来源)}),d.length>0&&print(d.slice(0,2)),JSON.stringify({list:d})}function categoryParse(cateObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let p=cateObj.一级;if(!p||"string"!=typeof p)return"{}";let d=[],url=cateObj.url.replaceAll("fyclass",cateObj.tid);if(1===cateObj.pg&&url.includes("[")&&url.includes("]")?url=url.split("[")[1].split("]")[0]:cateObj.pg>1&&url.includes("[")&&url.includes("]")&&(url=url.split("[")[0]),rule.filter_url){/fyfilter/.test(url)?url=url.replace("fyfilter",rule.filter_url):(url.endsWith("&")||rule.filter_url.startsWith("&")||(url+="&"),url+=rule.filter_url);let e=cateObj.filter?cateObj.extend:{},t;if(rule.filter_def&&"object"==typeof rule.filter_def)try{if(Object.keys(rule.filter_def).length>0&&rule.filter_def.hasOwnProperty(cateObj.tid)){let t=rule.filter_def[cateObj.tid];if(t&&"object"==typeof t){let r=JSON.parse(JSON.stringify(t));e=Object.assign(r,e)}}}catch(e){print("合并不同分类对应的默认筛选出错:"+e.message)}t=cheerio.jinja2(url,{fl:e}),url=t}if(/fypage/.test(url))if(url.includes("(")&&url.includes(")")){let url_rep=url.match(/.*?\((.*)\)/)[1],cnt_page=url_rep.replaceAll("fypage",cateObj.pg),cnt_pg=eval(cnt_page);url=url.replaceAll(url_rep,cnt_pg).replaceAll("(","").replaceAll(")","")}else url=url.replaceAll("fypage",cateObj.pg);MY_URL=url,console.log(MY_URL),p=p.trim();const MY_CATE=cateObj.tid;if(p.startsWith("js:")){var MY_FL=cateObj.extend;const TYPE="cate";var input=MY_URL;const MY_PAGE=cateObj.pg;var desc="";eval(p.trim().replace("js:","")),d=VODS}else{if(p=p.split(";"),p.length<5)return"{}";let e=parseTags.getParse(p[0]);_pdfa=e.pdfa,_pdfh=e.pdfh,_pd=e.pd;let t=p[0].startsWith("json:");p[0]=p[0].replace(/^(jsp:|json:|jq:)/,"");try{let e=getHtml(MY_URL);if(e){t&&(e=dealJson(e));let r=_pdfa(e,p[0]);r.forEach(e=>{let t=p[4].split("+").map(t=>rule.detailUrl?_pdfh(e,t):_pd(e,t,MY_URL)).join("$"),r=rule.detailUrl?MY_CATE+"$"+t:t,l=_pdfh(e,p[1]).replace(/\n|\t/g,"").trim(),o=_pd(e,p[2],MY_URL);"*"===rule.二级&&(r=r+"@@"+l+"@@"+o),d.push({vod_id:r,vod_name:l,vod_pic:o,vod_remarks:_pdfh(e,p[3]).replace(/\n|\t/g,"").trim()})})}}catch(e){console.log(e.message)}}rule.图片来源&&d.forEach(e=>{e.vod_pic&&e.vod_pic.startsWith("http")&&(e.vod_pic=e.vod_pic+rule.图片来源)}),d.length>0&&print(d.slice(0,2));let pagecount=0;rule.pagecount&&"object"==typeof rule.pagecount&&rule.pagecount.hasOwnProperty(MY_CATE)&&(print(`MY_CATE:${MY_CATE},pagecount:${JSON.stringify(rule.pagecount)}`),pagecount=parseInt(rule.pagecount[MY_CATE]));let nodata={list:[{vod_name:"无数据,防无限请求",vod_id:"no_data",vod_remarks:"不要点,会崩的",vod_pic:"https://ghproxy.net/https://raw.githubusercontent.com/hjdhnx/dr_py/main/404.jpg"}],total:1,pagecount:1,page:1,limit:1},vod=d.length<1?JSON.stringify(nodata):JSON.stringify({page:parseInt(cateObj.pg),pagecount:pagecount||999,limit:20,total:999,list:d});return vod}function searchParse(searchObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let d=[];if(!searchObj.searchUrl)return"{}";let p="*"===searchObj.搜索&&rule.一级?rule.一级:searchObj.搜索;if(!p||"string"!=typeof p)return"{}";p=p.trim();let pp=rule.一级.split(";"),url=searchObj.searchUrl.replaceAll("**",searchObj.wd);if(1===searchObj.pg&&url.includes("[")&&url.includes("]")&&!url.includes("#")?url=url.split("[")[1].split("]")[0]:searchObj.pg>1&&url.includes("[")&&url.includes("]")&&!url.includes("#")&&(url=url.split("[")[0]),/fypage/.test(url))if(url.includes("(")&&url.includes(")")){let url_rep=url.match(/.*?\((.*)\)/)[1],cnt_page=url_rep.replaceAll("fypage",searchObj.pg),cnt_pg=eval(cnt_page);url=url.replaceAll(url_rep,cnt_pg).replaceAll("(","").replaceAll(")","")}else url=url.replaceAll("fypage",searchObj.pg);if(MY_URL=url,console.log(MY_URL),p.startsWith("js:")){const TYPE="search",MY_PAGE=searchObj.pg,KEY=searchObj.wd;var input=MY_URL,detailUrl=rule.detailUrl||"";eval(p.trim().replace("js:","")),d=VODS}else{if(p=p.split(";"),p.length<5)return"{}";let e=getPP(p,0,pp,0),t=parseTags.getParse(e);_pdfa=t.pdfa,_pdfh=t.pdfh,_pd=t.pd;let r=e.startsWith("json:");e=e.replace(/^(jsp:|json:|jq:)/,"");try{let t=MY_URL.split(";").length>1?MY_URL.split(";")[1].toLowerCase():"get",l;if("post"===t){let e=MY_URL.split(";")[0].split("#"),t=e[0],r=e.length>1?e[1]:"";print(`post=》rurl:${t},params:${r}`);let o=JSON.parse(JSON.stringify(rule_fetch_params)),s={body:r};Object.assign(o,s),l=post(t,o)}else if("postjson"===t){let e=MY_URL.split(";")[0].split("#"),t=e[0],r=e.length>1?e[1]:"";print(`postjson-》rurl:${t},params:${r}`);try{r=JSON.parse(r)}catch(e){r="{}"}let o=JSON.parse(JSON.stringify(rule_fetch_params)),s={body:r};Object.assign(o,s),l=post(t,o)}else l=getHtml(MY_URL);if(l){if(/系统安全验证|输入验证码/.test(l)){let e=verifyCode(MY_URL);e?(console.log(`本次成功过验证,cookie:${e}`),setItem(RULE_CK,e)):console.log(`本次自动过搜索验证失败,cookie:${e}`),l=getHtml(MY_URL)}l.includes(searchObj.wd)||(console.log("搜索结果源码未包含关键字,疑似搜索失败,正为您打印结果源码"),console.log(l)),r&&(l=dealJson(l));let t=_pdfa(l,e),o=getPP(p,1,pp,1),s=getPP(p,2,pp,2),a=getPP(p,3,pp,3),i=getPP(p,4,pp,4),n=getPP(p,5,pp,5);t.forEach(e=>{let t,r=i.split("+").map(t=>rule.detailUrl?_pdfh(e,t):_pd(e,t,MY_URL)).join("$");t=p.length>5&&p[5]?_pdfh(e,n):"";let l=r,u=_pdfh(e,o).replace(/\n|\t/g,"").trim(),c=_pd(e,s,MY_URL);"*"===rule.二级&&(l=l+"@@"+u+"@@"+c);let f={vod_id:l,vod_name:u,vod_pic:c,vod_remarks:_pdfh(e,a).replace(/\n|\t/g,"").trim(),vod_content:t.replace(/\n|\t/g,"").trim()};d.push(f)})}}catch(e){return print("搜索发生错误:"+e.message),"{}"}}return rule.图片来源&&d.forEach(e=>{e.vod_pic&&e.vod_pic.startsWith("http")&&(e.vod_pic=e.vod_pic+rule.图片来源)}),JSON.stringify({page:parseInt(searchObj.pg),pagecount:10,limit:20,total:100,list:d})}function detailParse(detailObj){let t1=(new Date).getTime();fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let orId=detailObj.orId,vod_name="片名",vod_pic="",vod_id=orId;if("*"===rule.二级){let e=orId.split("@@");vod_name=e.length>1?e[1]:vod_name,vod_pic=e.length>2?e[2]:vod_pic}let vod={vod_id:vod_id,vod_name:vod_name,vod_pic:vod_pic,type_name:"类型",vod_year:"年份",vod_area:"地区",vod_remarks:"更新信息",vod_actor:"主演",vod_director:"导演",vod_content:"简介"},p=detailObj.二级,url=detailObj.url,detailUrl=detailObj.detailUrl,fyclass=detailObj.fyclass,tab_exclude=detailObj.tab_exclude,html=detailObj.html||"";if(MY_URL=url,detailObj.二级访问前)try{print(`尝试在二级访问前执行代码:${detailObj.二级访问前}`),eval(detailObj.二级访问前.trim().replace("js:",""))}catch(e){print(`二级访问前执行代码出现错误:${e.message}`)}if("*"===p)vod.vod_play_from="免费分享",vod.vod_remarks=detailUrl,vod.vod_actor="没有二级,只有一级链接直接嗅探播放",vod.vod_content=MY_URL,vod.vod_play_url="嗅探播放$"+MY_URL.split("@@")[0];else if("string"==typeof p&&p.trim().startsWith("js:")){const TYPE="detail";var input=MY_URL,play_url="";eval(p.trim().replace("js:","")),vod=VOD,console.log(JSON.stringify(vod))}else if(p&&"object"==typeof p){let tt1=(new Date).getTime(),_ps;html||(html=getHtml(MY_URL)),print(`二级${MY_URL}仅获取源码耗时:${(new Date).getTime()-tt1}毫秒`),p.is_json?(print("二级是json"),_ps=parseTags.json,html=dealJson(html)):p.is_jsp?(print("二级是jsp"),_ps=parseTags.jsp):p.is_jq?(print("二级是jq"),_ps=parseTags.jq):(print("二级默认jq"),_ps=parseTags.jq);let tt2=(new Date).getTime();if(print(`二级${MY_URL}获取并装载源码耗时:${tt2-tt1}毫秒`),_pdfa=_ps.pdfa,_pdfh=_ps.pdfh,_pd=_ps.pd,p.title){let e=p.title.split(";");vod.vod_name=_pdfh(html,e[0]).replace(/\n|\t/g,"").trim();let t=e.length>1?_pdfh(html,e[1]).replace(/\n|\t/g,"").replace(/ /g,"").trim():"";vod.type_name=t||vod.type_name}if(p.desc)try{let e=p.desc.split(";");vod.vod_remarks=_pdfh(html,e[0]).replace(/\n|\t/g,"").trim(),vod.vod_year=e.length>1?_pdfh(html,e[1]).replace(/\n|\t/g,"").trim():"",vod.vod_area=e.length>2?_pdfh(html,e[2]).replace(/\n|\t/g,"").trim():"",vod.vod_actor=e.length>3?_pdfh(html,e[3]).replace(/\n|\t/g,"").trim():"",vod.vod_director=e.length>4?_pdfh(html,e[4]).replace(/\n|\t/g,"").trim():""}catch(e){}if(p.content)try{let e=p.content.split(";");vod.vod_content=_pdfh(html,e[0]).replace(/\n|\t/g,"").trim()}catch(e){}if(p.img)try{let e=p.img.split(";");vod.vod_pic=_pd(html,e[0],MY_URL)}catch(e){}let vod_play_from="$$$",playFrom=[];if(p.重定向&&p.重定向.startsWith("js:")&&(print("开始执行重定向代码:"+p.重定向),html=eval(p.重定向.replace("js:",""))),p.tabs){if(p.tabs.startsWith("js:")){print("开始执行tabs代码:"+p.tabs);var input=MY_URL;eval(p.tabs.replace("js:","")),playFrom=TABS}else{let e=p.tabs.split(";")[0],t=_pdfa(html,e);console.log(t.length);let r=p.tab_text||"body&&Text",l={};for(let e of t){let t=_pdfh(e,r).trim();console.log(t),tab_exclude&&new RegExp(tab_exclude).test(t)||(l.hasOwnProperty(t)?l[t]+=1:l[t]=1,l[t]>1&&(t+=Number(l[t]-1)),playFrom.push(t))}}console.log(JSON.stringify(playFrom))}else playFrom=["免费分享"];vod.vod_play_from=playFrom.join(vod_play_from);let vod_play_url="$$$",vod_tab_list=[];if(p.lists)if(p.lists.startsWith("js:")){print("开始执行lists代码:"+p.lists);try{var input=MY_URL,play_url="";eval(p.lists.replace("js:",""));for(let e in LISTS)if(LISTS.hasOwnProperty(e))try{LISTS[e]=LISTS[e].map(e=>e.split("$").slice(0,2).join("$"))}catch(e){print("格式化LISTS发生错误:"+e.message)}vod_play_url=LISTS.map(e=>e.join("#")).join(vod_play_url)}catch(e){print("js执行lists: 发生错误:"+e.message)}}else{let e=p.list_text||"body&&Text",t=p.list_url||"a&&href",r=p.tabs.trim().startsWith("js:");for(let l=0;l1&&!r?p.tabs.split(";")[1]:"",a=p.lists.replaceAll("#idv",o).replaceAll("#id",l);s=s.replaceAll("#idv",o).replaceAll("#id",l);let i=s?_pdfh(html,s):o;console.log(i);let n=[],u=(new Date).getTime();if("function"==typeof pdfl)n=pdfl(html,a,e,t,MY_URL);else{let r=[];try{r=_pdfa(html,a),console.log("len(vodList):"+r.length)}catch(e){}for(let l=0;l0&&(n=forceOrder(n,"",e=>e.split("$")[0]),console.log(`drpy影响性能代码共计列表数循环次数:${n.length},耗时:${(new Date).getTime()-u}毫秒`));let c=n.join("#");vod_tab_list.push(c)}vod_play_url=vod_tab_list.join(vod_play_url)}vod.vod_play_url=vod_play_url}rule.图片来源&&vod.vod_pic&&vod.vod_pic.startsWith("http")&&(vod.vod_pic=vod.vod_pic+rule.图片来源),(!vod.vod_id||vod_id.includes("$")&&vod.vod_id!==vod_id)&&(vod.vod_id=vod_id);let t2=(new Date).getTime();return console.log(`加载二级界面${MY_URL}耗时:${t2-t1}毫秒`),vod=vodDeal(vod),void 0!==vod.type_name?vod.type_name=vod.type_name+" | 免费分享":vod.type_name="免费分享",JSON.stringify({list:[vod]})}function get_tab_index(e){let t={};return e.vod_play_from.split("$$$").forEach((e,r)=>{t[e]=r}),t}function vodDeal(e){let t=e.vod_play_from.split("$$$"),r=e.vod_play_url.split("$$$"),l=t,o=t,s=t,a=t,i=r;if(rule.tab_remove&&rule.tab_remove.length>0||rule.tab_order&&rule.tab_order.length>0){let s=get_tab_index(e);if(rule.tab_remove&&rule.tab_remove.length>0&&(a=l=t.filter(e=>!rule.tab_remove.includes(e))),rule.tab_order&&rule.tab_order.length>0){let e=rule.tab_order;a=o=l.sort((t,r)=>(-1===e.indexOf(t)?9999:e.indexOf(t))-(-1===e.indexOf(r)?9999:e.indexOf(r)))}i=a.map(e=>r[s[e]])}return rule.tab_rename&&"object"==typeof rule.tab_rename&Object.keys(rule.tab_rename).length>0&&(a=s=a.map(e=>rule.tab_rename[e]||e)),e.vod_play_from=a.join("$$$"),e.vod_play_url=i.join("$$$"),e}function tellIsJx(e){try{return!/\.(m3u8|mp4|m4a)$/.test(e.split("?")[0])&&是否正版(e)?1:0}catch(e){return 1}}function playParse(playObj){if(fetch_params=JSON.parse(JSON.stringify(rule_fetch_params)),MY_URL=playObj.url,!/http/.test(MY_URL))try{MY_URL=base64Decode(MY_URL)}catch(e){}MY_URL=decodeURIComponent(MY_URL);var input=MY_URL;let common_play={parse:1,url:input,jx:tellIsJx(input)},lazy_play;if(rule.play_parse&&rule.lazy)if(rule.play_parse&&rule.lazy&&"string"==typeof rule.lazy)try{let lazy_code=rule.lazy.replace("js:","").trim();print("开始执行js免嗅=>"+lazy_code),eval(lazy_code),lazy_play="object"==typeof input?input:{parse:1,jx:tellIsJx(input),url:input}}catch(e){print("js免嗅错误:"+e.message),lazy_play=common_play}else lazy_play=common_play;else lazy_play=common_play;if(Array.isArray(rule.play_json)&&rule.play_json.length>0){let e=lazy_play.url;for(let t of rule.play_json)if(t.re&&("*"===t.re||e.match(new RegExp(t.re)))&&t.json&&"object"==typeof t.json){let e=t.json;lazy_play=Object.assign(lazy_play,e);break}}else if(rule.play_json&&!Array.isArray(rule.play_json)){let e={jx:1,parse:1};lazy_play=Object.assign(lazy_play,e)}else if(!rule.play_json){let e={jx:0,parse:1};lazy_play=Object.assign(lazy_play,e)}return console.log(JSON.stringify(lazy_play)),JSON.stringify(lazy_play)}function proxyParse(proxyObj){var input=proxyObj.params;if(!proxyObj.proxy_rule)return[404,"text/plain","Not Found"];log("准备执行本地代理规则:\n"+proxyObj.proxy_rule);try{return eval(proxyObj.proxy_rule),input&&input!==proxyObj.params&&Array.isArray(input)&&3===input.length?input:[404,"text/plain","Not Found"]}catch(e){return[500,"text/plain","代理规则错误:"+e.message]}}function isVideoParse(isVideoObj){var input=isVideoObj.url;if(!isVideoObj.t){let e=new RegExp(isVideoObj.isVideo,"i");return e.test(input)}try{return eval(isVideoObj.isVideo),"boolean"==typeof input&&input}catch(e){return log("执行嗅探规则发生错误:"+e.message),!1}}function init(ext){console.log("init");try{let muban=模板.getMubans();if("object"==typeof ext)rule=ext;else if("string"==typeof ext)if(ext.startsWith("http")){let js=request(ext,{method:"GET"});js.startsWith("**")&&(js=base64Decode(js.substring(2))),js&&eval(js.replace("var rule","rule"))}else eval(ext.replace("var rule","rule"));rule.模板&&muban.hasOwnProperty(rule.模板)&&(print("继承模板:"+rule.模板),rule=Object.assign(muban[rule.模板],rule));let rule_cate_excludes=(rule.cate_exclude||"").split("|").filter(e=>e.trim()),rule_tab_excludes=(rule.tab_exclude||"").split("|").filter(e=>e.trim());if(rule_cate_excludes=rule_cate_excludes.concat(CATE_EXCLUDE.split("|").filter(e=>e.trim())),rule_tab_excludes=rule_tab_excludes.concat(TAB_EXCLUDE.split("|").filter(e=>e.trim())),rule.cate_exclude=rule_cate_excludes.join("|"),rule.tab_exclude=rule_tab_excludes.join("|"),rule.host=(rule.host||"").rstrip("/"),HOST=rule.host,rule.hostJs){console.log("检测到hostJs,准备执行...");try{eval(rule.hostJs),rule.host=HOST.rstrip("/")}catch(e){console.log(`执行${rule.hostJs}获取host发生错误:`+e.message)}}if(rule.url=rule.url||"",rule.double=rule.double||!1,rule.homeUrl=rule.homeUrl||"",rule.detailUrl=rule.detailUrl||"",rule.searchUrl=rule.searchUrl||"",rule.homeUrl=rule.host&&rule.homeUrl?urljoin(rule.host,rule.homeUrl):rule.homeUrl||rule.host,rule.detailUrl=rule.host&&rule.detailUrl?urljoin(rule.host,rule.detailUrl):rule.detailUrl,rule.二级访问前=rule.二级访问前||"",rule.url.includes("[")&&rule.url.includes("]")){let e=rule.url.split("[")[0],t=rule.url.split("[")[1].split("]")[0];rule.url=rule.host&&rule.url?urljoin(rule.host,e)+"["+urljoin(rule.host,t)+"]":rule.url}else rule.url=rule.host&&rule.url?urljoin(rule.host,rule.url):rule.url;if(rule.searchUrl.includes("[")&&rule.searchUrl.includes("]")&&!rule.searchUrl.includes("#")){let e=rule.searchUrl.split("[")[0],t=rule.searchUrl.split("[")[1].split("]")[0];rule.searchUrl=rule.host&&rule.searchUrl?urljoin(rule.host,e)+"["+urljoin(rule.host,t)+"]":rule.searchUrl}else rule.searchUrl=rule.host&&rule.searchUrl?urljoin(rule.host,rule.searchUrl):rule.searchUrl;if(rule.timeout=rule.timeout||5e3,rule.encoding=rule.编码||rule.encoding||"utf-8",rule.search_encoding=rule.搜索编码||rule.search_encoding||"",rule.图片来源=rule.图片来源||"",rule.play_json=rule.hasOwnProperty("play_json")?rule.play_json:[],rule.pagecount=rule.hasOwnProperty("pagecount")?rule.pagecount:{},rule.proxy_rule=rule.hasOwnProperty("proxy_rule")?rule.proxy_rule:"",rule.sniffer=rule.hasOwnProperty("sniffer")?rule.sniffer:"",rule.sniffer=!(!rule.sniffer||"0"===rule.sniffer||"false"===rule.sniffer),rule.isVideo=rule.hasOwnProperty("isVideo")?rule.isVideo:"",rule.tab_remove=rule.hasOwnProperty("tab_remove")?rule.tab_remove:[],rule.tab_order=rule.hasOwnProperty("tab_order")?rule.tab_order:[],rule.tab_rename=rule.hasOwnProperty("tab_rename")?rule.tab_rename:{},rule.headers&&"object"==typeof rule.headers)try{let header_keys=Object.keys(rule.headers);for(let k of header_keys)if("user-agent"===k.toLowerCase()){let v=rule.headers[k];console.log(v),["MOBILE_UA","PC_UA","UC_UA","IOS_UA","UA"].includes(v)&&(rule.headers[k]=eval(v))}else if("cookie"===k.toLowerCase()){let e=rule.headers[k];if(e&&e.startsWith("http")){console.log(e);try{e=fetch(e),console.log(e),rule.headers[k]=e}catch(t){console.log(`从${e}获取cookie发生错误:`+t.message)}}}}catch(e){console.log("处理headers发生错误:"+e.message)}rule_fetch_params={headers:rule.headers||!1,timeout:rule.timeout,encoding:rule.encoding},oheaders=rule.headers||{},RKEY="undefined"!=typeof key&&key?key:"drpy_"+(rule.title||rule.host),pre(),init_test()}catch(e){console.log("init_test发生错误:"+e.message)}}fetch=request,print=function(e){if("object"==typeof(e=e||"")&&Object.keys(e).length>0)try{e=JSON.stringify(e),console.log(e)}catch(t){return void console.log(typeof e+":"+e.length)}else"object"==typeof e&&Object.keys(e).length<1?console.log("null object"):console.log(e)},log=print;let homeHtmlCache=void 0;function home(e){return console.log("home"),homeParse({filter:rule.filter||!1,MY_URL:rule.homeUrl,class_name:rule.class_name||"",class_url:rule.class_url||"",class_parse:rule.class_parse||"",cate_exclude:rule.cate_exclude})}function homeVod(e){return console.log("homeVod"),homeVodParse({"推荐":rule.推荐,double:rule.double,homeUrl:rule.homeUrl,detailUrl:rule.detailUrl})}function category(e,t,r,l){return categoryParse({url:rule.url,"一级":rule.一级,tid:e,pg:parseInt(t),filter:r,extend:l})}function detail(e){let t=e,r="";if(log("orId:"+t),e.indexOf("$")>-1){let t=e.split("$");r=t[0],e=t[1]}let l,o=e.split("@@")[0];return detailParse({orId:t,url:l=o.startsWith("http")||o.includes("/")?o.includes("/")?urljoin(rule.homeUrl,o):o:rule.detailUrl.replaceAll("fyid",o).replaceAll("fyclass",r),"二级":rule.二级,"二级访问前":rule.二级访问前,detailUrl:o,fyclass:r,tab_exclude:rule.tab_exclude})}function play(e,t,r){return playParse({url:t,flag:e,flags:r})}function search(e,t,r){return rule.search_encoding?"utf-8"!==rule.search_encoding.toLowerCase()&&(e=encodeStr(e,rule.search_encoding)):rule.encoding&&"utf-8"!==rule.encoding.toLowerCase()&&(e=encodeStr(e,rule.encoding)),searchParse({searchUrl:rule.searchUrl,"搜索":rule.搜索,wd:e,pg:r||1,quick:t})}function proxy(e){return rule.proxy_rule&&rule.proxy_rule.trim()&&(rule.proxy_rule=rule.proxy_rule.trim()),rule.proxy_rule.startsWith("js:")&&(rule.proxy_rule=rule.proxy_rule.replace("js:","")),proxyParse({params:e,proxy_rule:rule.proxy_rule})}function sniffer(){let e=rule.sniffer||!1;return e&&log("开始执行辅助嗅探代理规则..."),e}function isVideo(e){let t,r=0;rule.isVideo&&rule.isVideo.trim()&&(t=rule.isVideo.trim()),t.startsWith("js:")&&(t=t.replace("js:",""),r=1);let l=isVideoParse({url:e,isVideo:t,t:r});return l&&log("成功执行辅助嗅探规则并检测到视频地址:\n"+rule.isVideo),l}function DRPY(){return{init:init,home:home,homeVod:homeVod,category:category,detail:detail,play:play,search:search,proxy:proxy,sniffer:sniffer,isVideo:isVideo}}export default{init:init,home:home,homeVod:homeVod,category:category,detail:detail,play:play,search:search,proxy:proxy,sniffer:sniffer,isVideo:isVideo,DRPY:DRPY}; \ No newline at end of file diff --git a/tvboxqq/tvboxqq/南风/api/drpy2.min.js b/tvboxqq/tvboxqq/南风/api/drpy2.min.js new file mode 100644 index 0000000..7ec73e7 --- /dev/null +++ b/tvboxqq/tvboxqq/南风/api/drpy2.min.js @@ -0,0 +1,76 @@ +import cheerio from"assets://js/lib/cheerio.min.js";import"assets://js/lib/crypto-js.js";import"./jsencrypt.js";import"./node-rsa.js";import"./pako.min.js";import 模板 from"./模板.js";import{gbkTool}from"./gbk.js";import"./json5.js";import"./jinja.js";const _jinja2=cheerio.jinja2;cheerio.jinja2=function(template,obj){try{return jinja.render(template,obj)}catch(e){console.log("新的jinja2库渲染失败,换回原始cheerio:"+e.message);return _jinja2(template,obj)}};let vercode=typeof pdfl==="function"?"drpy2.1":"drpy2";const VERSION=vercode+" 3.9.51beta5 20241104";const UpdateInfo=[{date:"20241104",title:"drpy更新,增加新特性",version:"3.9.51beta5 20241104",msg:` + 1. rule增加 搜索验证标识 属性,可以不定义,默认为 '系统安全验证|请输入验证码' + 2. rule增加 searchNoPage 属性,可以不定义,如果定义 1 将关闭该源的搜索翻页功能,超过1页直接返回空 + `}];function getUpdateInfo(){return UpdateInfo.map(_o=>{_o.msg=_o.msg.trim().split("\n").map(_it=>_it.trim()).join("\n");return _o})}function init_test(){console.log("init_test_start");console.log("当前版本号:"+VERSION);console.log("本地代理地址:"+getProxyUrl());console.log(RKEY);console.log(JSON.stringify(rule));console.log("init_test_end")}function ocr_demo_test(){let img_base64=`iVBORw0KGgoAAAANSUhEUgAAAIAAAAAoBAMAAADEX+97AAAAG1BMVEXz+/4thQTa7N6QwIFFkyNeokKozqDB3b93sWHFR+MEAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABN0lEQVRIie2TQU+DQBCFt9vScvQpxR4xrcSjJCZ67JDGXsX+AdR4B3vpsSYm/m2HXaRLmuySepR3Gdidb/btDAjRq5dT96eCMlfBuzi1QLZUoZy2yz5sOvI+9iomaPEZ6nWnEtxqIyiM1RcAy44GNDhBXUjot/VVNweV1ah68FqWRyjKIOqAcyYF6rGcmpYnHzGt3fycNoMw0d3/THFu7hFSJ/8OXO6iTM8/KSg09obAzIHLO250LgQ0txOZSfgrV4Exdw98uGycJ0ErAeExZGhOmFHV9zHO6qVSj0MpLq7xZON56o++MjlsEgfVhbQWWME+xQX7J4V6zfi9A1Ly9rP1BvEXp+BbVJ/M77n+wfOIDVp51pZ4iBxvmj9AGrtvry6emwfKnVkW+ZRKd5ZNMvob36vXP9YPDmQki8QiCFAAAAAASUVORK5CYII=`;OcrApi.api=OCR_API;let code=OcrApi.classification(img_base64);log("测试验证码图片的ocr识别结果为:"+code)}function rsa_demo_test(){let t1=(new Date).getTime();let pkcs1_public=` +-----BEGIN RSA PUBLIC KEY----- +MEgCQQCrI0pQ/ERRpJ3Ou190XJedFq846nDYP52rOtXyDxlFK5D3p6JJu2RwsKwy +lsQ9xY0xYPpRZUZKMEeR7e9gmRNLAgMBAAE= +-----END RSA PUBLIC KEY----- +`.trim();let pkcs1_public_pem=` +MEgCQQCrI0pQ/ERRpJ3Ou190XJedFq846nDYP52rOtXyDxlFK5D3p6JJu2RwsKwy +lsQ9xY0xYPpRZUZKMEeR7e9gmRNLAgMBAAE= +`.trim();let pkcs8_public=` +-----BEGIN PUBLIC KEY----- +MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKsjSlD8RFGknc67X3Rcl50WrzjqcNg/ +nas61fIPGUUrkPenokm7ZHCwrDKWxD3FjTFg+lFlRkowR5Ht72CZE0sCAwEAAQ== +-----END PUBLIC KEY-----`.trim();let pkcs8_public_pem=` +MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKsjSlD8RFGknc67X3Rcl50WrzjqcNg/ +nas61fIPGUUrkPenokm7ZHCwrDKWxD3FjTFg+lFlRkowR5Ht72CZE0sCAwEAAQ== +`.trim();let pkcs1_private=` +-----BEGIN RSA PRIVATE KEY----- +MIIBOAIBAAJBAKsjSlD8RFGknc67X3Rcl50WrzjqcNg/nas61fIPGUUrkPenokm7 +ZHCwrDKWxD3FjTFg+lFlRkowR5Ht72CZE0sCAwEAAQI/b6OV1z65UokQaMvSeRXt +0Yv6wiYtduQI9qpq5nzy/ytaqsbBfClNTi/HifKPKxlRouWFkc518EQI8LBxoarJ +AiEA4DaONMplV8PQNa3TKn2F+SDEvLOCjdL0kHKdN90Ti28CIQDDZnTBaHgZwZbA +hS7Bbf5yvwjWMhO6Y7l04/Qm7R+35QIgPuQuqXIoUSD080mp1N5WyRW++atksIF+ +5lGv9e6GP/MCICnj8y/rl6Pd7tXDN6zcSeqLrfdNsREKhB3dKOCXgW9JAiAFYtFS +EJNBXVRTK42SNsZ2hJ/9xLwOwnH2epT8Q43s3Q== +-----END RSA PRIVATE KEY----- +`.trim();let pkcs8_private=` +-----BEGIN PRIVATE KEY----- +MIIBUgIBADANBgkqhkiG9w0BAQEFAASCATwwggE4AgEAAkEAqyNKUPxEUaSdzrtf +dFyXnRavOOpw2D+dqzrV8g8ZRSuQ96eiSbtkcLCsMpbEPcWNMWD6UWVGSjBHke3v +YJkTSwIDAQABAj9vo5XXPrlSiRBoy9J5Fe3Ri/rCJi125Aj2qmrmfPL/K1qqxsF8 +KU1OL8eJ8o8rGVGi5YWRznXwRAjwsHGhqskCIQDgNo40ymVXw9A1rdMqfYX5IMS8 +s4KN0vSQcp033ROLbwIhAMNmdMFoeBnBlsCFLsFt/nK/CNYyE7pjuXTj9CbtH7fl +AiA+5C6pcihRIPTzSanU3lbJFb75q2SwgX7mUa/17oY/8wIgKePzL+uXo93u1cM3 +rNxJ6out902xEQqEHd0o4JeBb0kCIAVi0VIQk0FdVFMrjZI2xnaEn/3EvA7CcfZ6 +lPxDjezd +-----END PRIVATE KEY----- +`.trim();let data=` +NodeRsa +这是node-rsa 现在修改集成在drpy里使用`.trim();let encryptedWithPublic=NODERSA.encryptRSAWithPublicKey(data,pkcs1_public,{outputEncoding:"base64",options:{environment:"browser",encryptionScheme:"pkcs1_oaep"}});console.log("公钥加密");console.log(encryptedWithPublic);let decryptedWithPrivate=NODERSA.decryptRSAWithPrivateKey(encryptedWithPublic,pkcs1_private,{options:{environment:"browser",encryptionScheme:"pkcs1_oaep"}});console.log("私钥解密");console.log(decryptedWithPrivate);let pkcs1_sha256_sign=NODERSA.sign("1",pkcs1_private,{outputEncoding:"base64",options:{environment:"browser",encryptionScheme:"pkcs1",signingScheme:"pkcs1-sha256"}});console.log("pkcs1_sha256_sign");console.log(pkcs1_sha256_sign);let pkcs1_sha256_sign_verify=NODERSA.verify("1","Oulx2QrgeipKYBtqEDqFb2s/+ndk2cGQxO4CkhU7iBM1vyNmmvqubpsmeoUuN3waGrYZLknSEdwBkfv0tUMpFQ==",pkcs1_private,{options:{environment:"browser",encryptionScheme:"pkcs1",signingScheme:"pkcs1-sha256"}});console.log("pkcs1_sha256_sign_verify");console.log(pkcs1_sha256_sign_verify);let pkcs1_oaep_sha256=NODERSA.encryptRSAWithPublicKey(data,`-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEA5KOq1gRNyllLNWKQy8sGpZE3Q1ULLSmzZw+eaAhj9lvqn7IsT1du +SYn08FfoOA2qMwtz+1O2l1mgzNoSVCyVpVabnTG+C9XKeZXAnJHd8aYA7l7Sxhdm +kte+iymYZ0ZBPzijo8938iugtVvqi9UgDmnY3u/NlQDqiL5BGqSxSTd/Sgmy3zD8 +PYzEa3wD9vehQ5fZZ45vKIq8GNVh2Z8+IGO85FF1OsN7+b2yGJa/FmDDNn0+HP+m +PfI+kYBqEVpo0Ztbc3UdxgFwGC8O1n8AQyriwHnSOtIiuBH62J/7qyC/3LEAApRb +Dd9YszqzmODjQUddZKHmvc638VW+azc0EwIDAQAB +-----END RSA PUBLIC KEY----- +`,{outputEncoding:"base64",options:{environment:"browser",encryptionScheme:{scheme:"pkcs1_oaep",hash:"sha256"}}});console.log("pkcs1_oaep_sha256");console.log(pkcs1_oaep_sha256);decryptedWithPrivate=NODERSA.decryptRSAWithPrivateKey("kSZesAAyYh2hdsQnYMdGqb6gKAzTauBKouvBzWcc4+F8RvGd0nwO6mVkUMVilPgUuNxjEauHayHiY8gI3Py45UI3+km0rSGyHrS6dHiHgCkMejXHieglYzAB0IxX3Jkm4z/66bdB/D+GFy0oct5fGCMI1UHPjEAYOsazJDa8lBFNbjiWFeb/qiZtIx3vGM7KYPAZzyRf/zPbbQ8zy9xOmRuOl5nnIxgo0Okp3KO/RIPO4GZOSBA8f2lx1UtNwwrXAMpcNavtoqHVcjJ/9lcotXYQFrn5b299pSIRf2gVm8ZJ31SK6Z8cc14nKtvgnmsgClDzIXJ1o1RcDK+knVAySg==",`-----BEGIN RSA PRIVATE KEY----- +MIIEpAIBAAKCAQEA5KOq1gRNyllLNWKQy8sGpZE3Q1ULLSmzZw+eaAhj9lvqn7Is +T1duSYn08FfoOA2qMwtz+1O2l1mgzNoSVCyVpVabnTG+C9XKeZXAnJHd8aYA7l7S +xhdmkte+iymYZ0ZBPzijo8938iugtVvqi9UgDmnY3u/NlQDqiL5BGqSxSTd/Sgmy +3zD8PYzEa3wD9vehQ5fZZ45vKIq8GNVh2Z8+IGO85FF1OsN7+b2yGJa/FmDDNn0+ +HP+mPfI+kYBqEVpo0Ztbc3UdxgFwGC8O1n8AQyriwHnSOtIiuBH62J/7qyC/3LEA +ApRbDd9YszqzmODjQUddZKHmvc638VW+azc0EwIDAQABAoIBADZ/QGgUzInvsLp/ +zO2WbfYm39o/uhNAvk9RbLt1TIZbMFhyOpeKynHi3Swwd9xsfWX/U9zS/lGi/m31 +iKrhmaW4OA1G3vqpMcK7TBbFufYwUEaA+ZJX344euH8pIfdzyneMQ4z3Far2dS7l +QsmjuilVV2kEFadveXewiYoVOWCu00w6bN8wy2SIHlQn+kIL6HQhWz12iKKflIKu +eGRdzLHsKmBt6WbY1Wuhx7HU0fAKdlBDPxCHNlI+kybUYE9o5C2vJiaVM5wqJBgZ +8Dz8kt1QbLJ910JoLXkLVQ8uC8NJKQwFtqQjTGPnEq0+wbgz6Ij599rKZkwW/xq9 +l6KoUiECgYEA6Ah42tVdkNW047f03xVYXFH96RgorHRS36mR8Y+ONUq1fwKidovC +WjwVujt4OPf3l1W6iyn/F6cu/bsmvPrSc3HTN0B1V31QK4OjgetxQ2PSbTldH02J +NPzkt+v+cPxXpx/P5mgt7Weefw5txU547KubGrHUV5rBKFtIx9pj16MCgYEA/EF0 +o19+D24DZAPwlDS5VbEd7FStnwY4oQ5PqbuNOSbSJLMWU0AqzXcRokp8UTyCZ0X3 +ATkS1REq97kShCuR+npTR6a6DlY7sdpPI1SMLNajgB2tkx0EOzX+PfNIbHUd4jpJ +I0ZMAHv/OOtkzQHDaeTWBTrzsWm6/nTiykfduNECgYEA46AMD4HpPECqKAs66e5i +tI6q7JSKskObWVdcmQEfnSAhVOwcvPb2Ptda6UuV8S0xcwDi88rLOUUFUFzc79+P +vTkY38cYVi/VChsluDpk7ptqv0PbGu5Rf+3n4pZdEjI7OvR2W64wAAn67uIUxc7p +yiO/ET0K9rYWb6S9jXGtKMkCgYEA2kPAqoO7zZoBMQ7/oR0lp/HC1HRIbiqx4RlC +8Lgpb+QZPEwA6zPAVVvLVENi4d+bbcRp/xLlKpraNNJcJSSWAMbLPFoU7sbKjA87 +HnTPfRSTEA2d3Ibk3F7Rh8TzS3Ti0JZiJjVzGZAwu41iAMifzwaD8K6boUy80eNN +QH2CaaECgYBUsLYvC/MiYg3w+LGOONuQongoVUXjGqnw2bjVa9RK7lwRdXPUqJ51 +MpVO98IkoLvGSI/0sGNP3GKNhC+eMGjJAVwFyEuOn+JsmMv9Y9uStIVi5tIHIhKw +m7mp8il0kaftHdSxTbspG3tZ2fjIiFIZkLEOmRpd7ogWumgOajzUdA== +-----END RSA PRIVATE KEY-----`,{options:{environment:"browser",encryptionScheme:"pkcs1_oaep"}});console.log("decryptedWithPrivate");console.log(decryptedWithPrivate);(()=>{let key=new NODERSA.NodeRSA({b:1024});key.setOptions({encryptionScheme:"pkcs1"});let text=`你好drpy node-ras`;let encrypted=key.encrypt(text,"base64");console.log("encrypted: ",encrypted);const decrypted=key.decrypt(encrypted,"utf8");console.log("decrypted: ",decrypted)})();let t2=(new Date).getTime();console.log("rsa_demo_test 测试耗时:"+(t2-t1)+"毫秒")}function pre(){if(typeof rule.预处理==="string"&&rule.预处理&&rule.预处理.trim()){let code=rule.预处理.trim();console.log("执行预处理代码:"+code);if(code.startsWith("js:")){code=code.replace("js:","")}try{eval(code)}catch(e){console.log(`预处理执行失败:${e.message}`)}}}let rule={};const MOBILE_UA="Mozilla/5.0 (Linux; Android 11; Pixel 5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.91 Mobile Safari/537.36";const PC_UA="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36";const UA="Mozilla/5.0";const UC_UA="Mozilla/5.0 (Linux; U; Android 9; zh-CN; MI 9 Build/PKQ1.181121.001) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0.2987.108 UCBrowser/12.5.5.1035 Mobile Safari/537.36";const IOS_UA="Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1";const RULE_CK="cookie";const CATE_EXCLUDE="首页|留言|APP|下载|资讯|新闻|动态";const TAB_EXCLUDE="猜你|喜欢|下载|剧情|榜|评论";const OCR_RETRY=3;const OCR_API="https://api.nn.ci/ocr/b64/text";if(typeof MY_URL==="undefined"){var MY_URL}var HOST;var RKEY;var fetch;var print;var log;var rule_fetch_params;var fetch_params;var oheaders;var _pdfh;var _pdfa;var _pd;const DOM_CHECK_ATTR=/(url|src|href|-original|-src|-play|-url|style)$/;const SPECIAL_URL=/^(ftp|magnet|thunder|ws):/;const NOADD_INDEX=/:eq|:lt|:gt|:first|:last|^body$|^#/;const URLJOIN_ATTR=/(url|src|href|-original|-src|-play|-url|style)$|^(data-|url-|src-)/;const SELECT_REGEX=/:eq|:lt|:gt|#/g;const SELECT_REGEX_A=/:eq|:lt|:gt/g;const $js={toString(func){let strfun=func.toString();return strfun.replace(/^\(\)(\s+)?=>(\s+)?\{/,"js:").replace(/\}$/,"")}};function window_b64(){let b64map="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";let base64DecodeChars=new Array(-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,-1,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,-1,-1,-1,-1,-1);function btoa(str){var out,i,len;var c1,c2,c3;len=str.length;i=0;out="";while(i>2);out+=b64map.charAt((c1&3)<<4);out+="==";break}c2=str.charCodeAt(i++);if(i==len){out+=b64map.charAt(c1>>2);out+=b64map.charAt((c1&3)<<4|(c2&240)>>4);out+=b64map.charAt((c2&15)<<2);out+="=";break}c3=str.charCodeAt(i++);out+=b64map.charAt(c1>>2);out+=b64map.charAt((c1&3)<<4|(c2&240)>>4);out+=b64map.charAt((c2&15)<<2|(c3&192)>>6);out+=b64map.charAt(c3&63)}return out}function atob(str){var c1,c2,c3,c4;var i,len,out;len=str.length;i=0;out="";while(i>4);do{c3=str.charCodeAt(i++)&255;if(c3==61)return out;c3=base64DecodeChars[c3]}while(i>2);do{c4=str.charCodeAt(i++)&255;if(c4==61)return out;c4=base64DecodeChars[c4]}while(ithis.length){return false}else{return this.indexOf(search,start)!==-1}}}if(!Array.prototype.includes){Object.defineProperty(Array.prototype,"includes",{value:function(searchElement,fromIndex){if(this==null){throw new TypeError('"this" is null or not defined')}var o=Object(this);var len=o.length>>>0;if(len===0){return false}var n=fromIndex|0;var k=Math.max(n>=0?n:len-Math.abs(n),0);while(k>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:out+=String.fromCharCode(c);break;case 12:case 13:char2=array[i++];out+=String.fromCharCode((c&31)<<6|char2&63);break;case 14:char2=array[i++];char3=array[i++];out+=String.fromCharCode((c&15)<<12|(char2&63)<<6|(char3&63)<<0);break}}return out}function gzip(str){let arr=pako.gzip(str,{});return uint8ArrayToBase64(arr)}function ungzip(b64Data){let strData=atob(b64Data);const charData=strData.split("").map(function(x){return x.charCodeAt(0)});const binData=new Uint8Array(charData);const data=pako.inflate(binData);return Utf8ArrayToStr(data)}function encodeStr(input,encoding){encoding=encoding||"gbk";if(encoding.startsWith("gb")){const strTool=gbkTool();input=strTool.encode(input)}return input}function decodeStr(input,encoding){encoding=encoding||"gbk";if(encoding.startsWith("gb")){const strTool=gbkTool();input=strTool.decode(input)}return input}function getCryptoJS(){return'console.log("CryptoJS已装载");'}const RSA={decode:function(data,key,option){option=option||{};if(typeof JSEncrypt==="function"){let chunkSize=option.chunkSize||117;let privateKey=this.getPrivateKey(key);const decryptor=new JSEncrypt;decryptor.setPrivateKey(privateKey);let uncrypted="";uncrypted=decryptor.decryptUnicodeLong(data);return uncrypted}else{return false}},encode:function(data,key,option){option=option||{};if(typeof JSEncrypt==="function"){let chunkSize=option.chunkSize||117;let publicKey=this.getPublicKey(key);const encryptor=new JSEncrypt;encryptor.setPublicKey(publicKey);let encrypted="";encrypted=encryptor.encryptUnicodeLong(data);return encrypted}else{return false}},fixKey(key,prefix,endfix){if(!key.includes(prefix)){key=prefix+key}if(!key.includes(endfix)){key+=endfix}return key},getPrivateKey(key){let prefix="-----BEGIN RSA PRIVATE KEY-----";let endfix="-----END RSA PRIVATE KEY-----";return this.fixKey(key,prefix,endfix)},getPublicKey(key){let prefix="-----BEGIN PUBLIC KEY-----";let endfix="-----END PUBLIC KEY-----";return this.fixKey(key,prefix,endfix)}};function getProxyUrl(){if(typeof getProxy==="function"){return getProxy(true)}else{return"http://127.0.0.1:9978/proxy?do=js"}}function fixAdM3u8(m3u8_text,m3u8_url,ad_remove){if(!m3u8_text&&!m3u8_url||!m3u8_text&&m3u8_url&&!m3u8_url.startsWith("http")){return""}if(!m3u8_text){log("m3u8_url:"+m3u8_url);m3u8_text=request(m3u8_url)}log("len(m3u8_text):"+m3u8_text.length);if(!ad_remove){return m3u8_text}if(ad_remove.startsWith("reg:")){ad_remove=ad_remove.slice(4)}else if(ad_remove.startsWith("js:")){ad_remove=ad_remove.slice(3)}let m3u8_start=m3u8_text.slice(0,m3u8_text.indexOf("#EXTINF")).trim();let m3u8_body=m3u8_text.slice(m3u8_text.indexOf("#EXTINF"),m3u8_text.indexOf("#EXT-X-ENDLIST")).trim();let m3u8_end=m3u8_text.slice(m3u8_text.indexOf("#EXT-X-ENDLIST")).trim();let murls=[];let m3_body_list=m3u8_body.split("\n");let m3_len=m3_body_list.length;let i=0;while(i{new_m3u8_body.push(it)})}}new_m3u8_body=new_m3u8_body.join("\n").trim();m3u8_text=[m3u8_start,new_m3u8_body,m3u8_end].join("\n").trim();return m3u8_text}function fixAdM3u8Ai(m3u8_url,headers){let ts=(new Date).getTime();let option=headers?{headers:headers}:{};function b(s1,s2){let i=0;while(iit.startsWith("#")?it:urljoin(m3u8_url,it)).join("\n");m3u8=m3u8.replace(/\n\n/gi,"\n");let last_url=m3u8.split("\n").slice(-1)[0];if(last_url.length<5){last_url=m3u8.split("\n").slice(-2)[0]}if(last_url.includes(".m3u8")&&last_url!==m3u8_url){m3u8_url=urljoin2(m3u8_url,last_url);log("嵌套的m3u8_url:"+m3u8_url);m3u8=request(m3u8_url,option)}let s=m3u8.trim().split("\n").filter(it=>it.trim()).join("\n");let ss=s.split("\n");let firststr="";let maxl=0;let kk=0;let kkk=2;let secondstr="";for(let i=0;i1){if(maxl>b(firststr,s)){if(secondstr.length<5)secondstr=s;kkk=kkk+2}else{maxl=b(firststr,s);kkk++}}kk++;if(kk>=20)break}}if(kkk>30)firststr=secondstr;let firststrlen=firststr.length;let ml=Math.round(ss.length/2).toString().length;let maxc=0;let laststr=ss.toReversed().find(x=>{if(!x.startsWith("#")){let k=b(reverseString(firststr),reverseString(x));maxl=b(firststr,x);maxc++;if(firststrlen-maxl<=ml+k||maxc>10){return true}}return false});log("最后一条切片:"+laststr);let ad_urls=[];for(let i=0;i=end){return lists}let first=lists[start];let second=lists[end];if(key){try{first=first[key];second=second[key]}catch(e){}}if(option&&typeof option==="function"){try{first=option(first);second=option(second)}catch(e){}}first+="";second+="";if(first.match(/(\d+)/)&&second.match(/(\d+)/)){let num1=Number(first.match(/(\d+)/)[1]);let num2=Number(second.match(/(\d+)/)[1]);if(num1>num2){lists.reverse()}}return lists}let VODS=[];let VOD={};let TABS=[];let LISTS=[];function getQuery(url){try{if(url.indexOf("?")>-1){url=url.slice(url.indexOf("?")+1)}let arr=url.split("#")[0].split("&");const resObj={};arr.forEach(item=>{let arr1=item.split("=");let key=arr1[0];let value=arr1.slice(1).join("=");resObj[key]=value});return resObj}catch(err){log(`getQuery发生错误:${e.message}`);return{}}}function urljoin(fromPath,nowPath){fromPath=fromPath||"";nowPath=nowPath||"";return joinUrl(fromPath,nowPath)}var urljoin2=urljoin;const defaultParser={pdfh:pdfh,pdfa:pdfa,pd:pd};function pdfh2(html,parse){let html2=html;try{if(typeof html!=="string"){html2=html.rr(html.ele).toString()}}catch(e){print(`html对象转文本发生了错误:${e.message}`)}let result=defaultParser.pdfh(html2,parse);let option=parse.includes("&&")?parse.split("&&").slice(-1)[0]:parse.split(" ").slice(-1)[0];if(/style/.test(option.toLowerCase())&&/url\(/.test(result)){try{result=result.match(/url\((.*?)\)/)[1];result=result.replace(/^['|"](.*)['|"]$/,"$1")}catch(e){}}return result}function pdfa2(html,parse){let html2=html;try{if(typeof html!=="string"){html2=html.rr(html.ele).toString()}}catch(e){print(`html对象转文本发生了错误:${e.message}`)}return defaultParser.pdfa(html2,parse)}function pd2(html,parse,uri){let ret=pdfh2(html,parse);if(typeof uri==="undefined"||!uri){uri=""}if(DOM_CHECK_ATTR.test(parse)&&!SPECIAL_URL.test(ret)){if(/http/.test(ret)){ret=ret.slice(ret.indexOf("http"))}else{ret=urljoin(MY_URL,ret)}}return ret}const parseTags={jsp:{pdfh:pdfh2,pdfa:pdfa2,pd:pd2},json:{pdfh(html,parse){if(!parse||!parse.trim()){return""}if(typeof html==="string"){html=JSON.parse(html)}parse=parse.trim();if(!parse.startsWith("$.")){parse="$."+parse}parse=parse.split("||");for(let ps of parse){let ret=cheerio.jp(ps,html);if(Array.isArray(ret)){ret=ret[0]||""}else{ret=ret||""}if(ret&&typeof ret!=="string"){ret=ret.toString()}if(ret){return ret}}return""},pdfa(html,parse){if(!parse||!parse.trim()){return""}if(typeof html==="string"){html=JSON.parse(html)}parse=parse.trim();if(!parse.startsWith("$.")){parse="$."+parse}let ret=cheerio.jp(parse,html);if(Array.isArray(ret)&&Array.isArray(ret[0])&&ret.length===1){return ret[0]||[]}return ret||[]},pd(html,parse){let ret=parseTags.json.pdfh(html,parse);if(ret){return urljoin(MY_URL,ret)}return ret}},jq:{pdfh(html,parse){if(!html||!parse||!parse.trim()){return""}parse=parse.trim();let result=defaultParser.pdfh(html,parse);return result},pdfa(html,parse){if(!html||!parse||!parse.trim()){return[]}parse=parse.trim();let result=defaultParser.pdfa(html,parse);print(`pdfa解析${parse}=>${result.length}`);return result},pd(html,parse,base_url){if(!html||!parse||!parse.trim()){return""}parse=parse.trim();base_url=base_url||MY_URL;return defaultParser.pd(html,parse,base_url)}},getParse(p0){if(p0.startsWith("jsp:")){return this.jsp}else if(p0.startsWith("json:")){return this.json}else if(p0.startsWith("jq:")){return this.jq}else{return this.jq}}};const stringify=JSON.stringify;const jsp=parseTags.jsp;const jq=parseTags.jq;function readFile(filePath){filePath=filePath||"./uri.min.js";var fd=os.open(filePath);var buffer=new ArrayBuffer(1024);var len=os.read(fd,buffer,0,1024);console.log(len);let text=String.fromCharCode.apply(null,new Uint8Array(buffer));console.log(text);return text}function dealJson(html){try{html=html.trim();if(!(html.startsWith("{")&&html.endsWith("}")||html.startsWith("[")&&html.endsWith("]"))){html="{"+html.match(/.*?\{(.*)\}/m)[1]+"}"}}catch(e){}try{html=JSON.parse(html)}catch(e){}return html}var OcrApi={api:OCR_API,classification:function(img){let code="";try{log("通过drpy_ocr验证码接口过验证...");let html="";if(this.api.endsWith("drpy/text")){html=request(this.api,{data:{img:img},headers:{"User-Agent":PC_UA},method:"POST"},true)}else{html=post(this.api,{body:img})}code=html||""}catch(e){log(`OCR识别验证码发生错误:${e.message}`)}return code}};function verifyCode(url){let cnt=0;let host=getHome(url);let cookie="";while(cntit.toLowerCase()==="set-cookie");cookie=setCk?json[setCk].split(";")[0]:""}console.log("cookie:"+cookie);let img=json.body;let code=OcrApi.classification(img);console.log(`第${cnt+1}次验证码识别结果:${code}`);let submit_url=`${host}/index.php/ajax/verify_check?type=search&verify=${code}`;console.log(submit_url);let html=request(submit_url,{headers:{Cookie:cookie},method:"POST"});html=JSON.parse(html);if(html.msg==="ok"){console.log(`第${cnt+1}次验证码提交成功`);return cookie}else if(html.msg!=="ok"&&cnt+1>=OCR_RETRY){cookie=""}}catch(e){console.log(`第${cnt+1}次验证码提交失败:${e.message}`);if(cnt+1>=OCR_RETRY){cookie=""}}cnt+=1}return cookie}function setItem(k,v){local.set(RKEY,k,v);console.log(`规则${RKEY}设置${k} => ${v}`)}function getItem(k,v){return local.get(RKEY,k)||v}function clearItem(k){local.delete(RKEY,k)}function getHome(url){if(!url){return""}let tmp=url.split("//");url=tmp[0]+"//"+tmp[1].split("/")[0];try{url=decodeURIComponent(url)}catch(e){}return url}function buildUrl(url,obj){obj=obj||{};if(url.indexOf("?")<0){url+="?"}let param_list=[];let keys=Object.keys(obj);keys.forEach(it=>{param_list.push(it+"="+obj[it])});let prs=param_list.join("&");if(keys.length>0&&!url.endsWith("?")){url+="&"}url+=prs;return url}function $require(url){eval(request(url))}function keysToLowerCase(obj){return Object.keys(obj).reduce((result,key)=>{const newKey=key.toLowerCase();result[newKey]=obj[key];return result},{})}function parseQueryString(query){const params={};query.split("&").forEach(function(part){const regex=/^(.*?)=(.*)/;const match=part.match(regex);if(match){const key=decodeURIComponent(match[1]);const value=decodeURIComponent(match[2]);params[key]=value}});return params}function encodeIfContainsSpecialChars(value){const specialChars=":/?#[]@!$'()*+,;=%";if(specialChars.split("").some(char=>value.includes(char))){return encodeURIComponent(value)}return value}function objectToQueryString(obj){const encoded=[];for(let key in obj){if(obj.hasOwnProperty(key)){encoded.push(encodeURIComponent(key)+"="+encodeIfContainsSpecialChars(obj[key]))}}return encoded.join("&")}function request(url,obj,ocr_flag){ocr_flag=ocr_flag||false;if(typeof obj==="undefined"||!obj||obj==={}){if(!fetch_params||!fetch_params.headers){let headers={"User-Agent":MOBILE_UA};if(rule.headers){Object.assign(headers,rule.headers)}if(!fetch_params){fetch_params={}}fetch_params.headers=headers}if(!fetch_params.headers.Referer){fetch_params.headers.Referer=getHome(url)}obj=fetch_params}else{let headers=obj.headers||{};let keys=Object.keys(headers).map(it=>it.toLowerCase());if(!keys.includes("user-agent")){headers["User-Agent"]=MOBILE_UA;if(typeof fetch_params==="object"&&fetch_params&&fetch_params.headers){let fetch_headers=keysToLowerCase(fetch_params.headers);if(fetch_headers["user-agent"]){headers["User-Agent"]=fetch_headers["user-agent"]}}}if(!keys.includes("referer")){headers["Referer"]=getHome(url)}obj.headers=headers}if(rule.encoding&&rule.encoding!=="utf-8"&&!ocr_flag){if(!obj.headers.hasOwnProperty("Content-Type")&&!obj.headers.hasOwnProperty("content-type")){obj.headers["Content-Type"]="text/html; charset="+rule.encoding}}if(typeof obj.body!="undefined"&&obj.body&&typeof obj.body==="string"){if(!obj.headers.hasOwnProperty("Content-Type")&&!obj.headers.hasOwnProperty("content-type")){obj.headers["Content-Type"]="application/x-www-form-urlencoded; charset="+rule.encoding}}else if(typeof obj.body!="undefined"&&obj.body&&typeof obj.body==="object"){obj.data=obj.body;delete obj.body}if(!url){return obj.withHeaders?"{}":""}if(obj.toBase64){obj.buffer=2;delete obj.toBase64}if(obj.redirect===false){obj.redirect=0}if(obj.headers.hasOwnProperty("Content-Type")||obj.headers.hasOwnProperty("content-type")){let _contentType=obj.headers["Content-Type"]||obj.headers["content-type"]||"";if(_contentType.includes("application/x-www-form-urlencoded")){log("custom body is application/x-www-form-urlencoded");if(typeof obj.body=="string"){let temp_obj=parseQueryString(obj.body);console.log(JSON.stringify(temp_obj))}}}console.log(JSON.stringify(obj.headers));console.log("request:"+url+`|method:${obj.method||"GET"}|body:${obj.body||""}`);let res=req(url,obj);let html=res.content||"";if(obj.withHeaders){let htmlWithHeaders=res.headers;htmlWithHeaders.body=html;return JSON.stringify(htmlWithHeaders)}else{return html}}function post(url,obj){obj=obj||{};obj.method="POST";return request(url,obj)}function reqCookie(url,obj,all_cookie){obj=obj||{};obj.withHeaders=true;all_cookie=all_cookie||false;let html=request(url,obj);let json=JSON.parse(html);let setCk=Object.keys(json).find(it=>it.toLowerCase()==="set-cookie");let cookie=setCk?json[setCk]:"";if(Array.isArray(cookie)){cookie=cookie.join(";")}if(!all_cookie){cookie=cookie.split(";")[0]}html=json.body;return{cookie:cookie,html:html}}fetch=request;print=function(data){data=data||"";if(typeof data=="object"&&Object.keys(data).length>0){try{data=JSON.stringify(data);console.log(data)}catch(e){console.log(typeof data+":"+data.length);return}}else if(typeof data=="object"&&Object.keys(data).length<1){console.log("null object")}else{console.log(data)}};log=print;function checkHtml(html,url,obj){if(/\?btwaf=/.test(html)){let btwaf=html.match(/btwaf(.*?)"/)[1];url=url.split("#")[0]+"?btwaf"+btwaf;print("宝塔验证访问链接:"+url);html=request(url,obj)}return html}function getCode(url,obj){let html=request(url,obj);html=checkHtml(html,url,obj);return html}function getHtml(url){let obj={};if(rule.headers){obj.headers=rule.headers}let cookie=getItem(RULE_CK,"");if(cookie){if(obj.headers&&!Object.keys(obj.headers).map(it=>it.toLowerCase()).includes("cookie")){log("历史无cookie,新增过验证后的cookie");obj.headers["Cookie"]=cookie}else if(obj.headers&&obj.headers.cookie&&obj.headers.cookie!==cookie){obj.headers["Cookie"]=cookie;log("历史有小写过期的cookie,更新过验证后的cookie")}else if(obj.headers&&obj.headers.Cookie&&obj.headers.Cookie!==cookie){obj.headers["Cookie"]=cookie;log("历史有大写过期的cookie,更新过验证后的cookie")}else if(!obj.headers){obj.headers={Cookie:cookie};log("历史无headers,更新过验证后的含cookie的headers")}}let html=getCode(url,obj);return html}function homeParse(homeObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let classes=[];if(homeObj.class_name&&homeObj.class_url){let names=homeObj.class_name.split("&");let urls=homeObj.class_url.split("&");let cnt=Math.min(names.length,urls.length);for(let i=0;i0){classes=list}}}catch(e){console.log(e.message)}}else if(p.length>=3&&!is_json){try{let html=homeObj.home_html||getHtml(homeObj.MY_URL);if(html){homeHtmlCache=html;let list=_pdfa(html,p0);if(list&&list.length>0){list.forEach((it,idex)=>{try{let name=_pdfh(it,p[1]);if(homeObj.cate_exclude&&new RegExp(homeObj.cate_exclude).test(name)){return}let url=_pd(it,p[2]);if(p.length>3&&p[3]&&!homeObj.home_html){let exp=new RegExp(p[3]);url=url.match(exp)[1]}classes.push({type_id:url.trim(),type_name:name.trim()})}catch(e){console.log(`分类列表定位第${idex}个元素正常报错:${e.message}`)}})}}}catch(e){console.log(e.message)}}}}classes=classes.filter(it=>!homeObj.cate_exclude||!new RegExp(homeObj.cate_exclude).test(it.type_name));let resp={class:classes};if(homeObj.filter){resp.filters=homeObj.filter}console.log(JSON.stringify(resp));return JSON.stringify(resp)}function getPP(p,pn,pp,ppn){try{let ps=p[pn]==="*"&&pp.length>ppn?pp[ppn]:p[pn];return ps}catch(e){return""}}function homeVodParse(homeVodObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let d=[];MY_URL=homeVodObj.homeUrl;console.log(MY_URL);let t1=(new Date).getTime();let p=homeVodObj.推荐;print("p:"+p);if(p==="*"&&rule.一级){p=rule.一级;homeVodObj.double=false}if(!p||typeof p!=="string"){return"{}"}p=p.trim();let pp=rule.一级?rule.一级.split(";"):[];if(p.startsWith("js:")){const TYPE="home";var input=MY_URL;HOST=rule.host;eval(p.replace("js:",""));d=VODS}else{p=p.split(";");if(!homeVodObj.double&&p.length<5){return"{}"}else if(homeVodObj.double&&p.length<6){return"{}"}let p0=getPP(p,0,pp,0);let _ps=parseTags.getParse(p0);_pdfa=_ps.pdfa;_pdfh=_ps.pdfh;_pd=_ps.pd;let is_json=p0.startsWith("json:");p0=p0.replace(/^(jsp:|json:|jq:)/,"");let html=homeHtmlCache||getHtml(MY_URL);homeHtmlCache=undefined;if(is_json){html=dealJson(html)}try{console.log("double:"+homeVodObj.double);if(homeVodObj.double){let items=_pdfa(html,p0);let p1=getPP(p,1,pp,0);let p2=getPP(p,2,pp,1);let p3=getPP(p,3,pp,2);let p4=getPP(p,4,pp,3);let p5=getPP(p,5,pp,4);let p6=getPP(p,6,pp,5);for(let item of items){let items2=_pdfa(item,p1);for(let item2 of items2){try{let title=_pdfh(item2,p2);let img="";try{img=_pd(item2,p3)}catch(e){}let desc="";try{desc=_pdfh(item2,p4)}catch(e){}let links=[];for(let _p5 of p5.split("+")){let link=!homeVodObj.detailUrl?_pd(item2,_p5,MY_URL):_pdfh(item2,_p5);links.push(link)}let content;if(p.length>6&&p[6]){content=_pdfh(item2,p6)}else{content=""}let vid=links.join("$");if(rule.二级==="*"){vid=vid+"@@"+title+"@@"+img}let vod={vod_name:title,vod_pic:img,vod_remarks:desc,vod_content:content,vod_id:vid};d.push(vod)}catch(e){console.log(`首页列表双层定位处理发生错误:${e.message}`)}}}}else{let items=_pdfa(html,p0);let p1=getPP(p,1,pp,1);let p2=getPP(p,2,pp,2);let p3=getPP(p,3,pp,3);let p4=getPP(p,4,pp,4);let p5=getPP(p,5,pp,5);for(let item of items){try{let title=_pdfh(item,p1);let img="";try{img=_pd(item,p2,MY_URL)}catch(e){}let desc="";try{desc=_pdfh(item,p3)}catch(e){}let links=[];for(let _p5 of p4.split("+")){let link=!homeVodObj.detailUrl?_pd(item,_p5,MY_URL):_pdfh(item,_p5);links.push(link)}let content;if(p.length>5&&p[5]){content=_pdfh(item,p5)}else{content=""}let vid=links.join("$");if(rule.二级==="*"){vid=vid+"@@"+title+"@@"+img}let vod={vod_name:title,vod_pic:img,vod_remarks:desc,vod_content:content,vod_id:vid};d.push(vod)}catch(e){console.log(`首页列表单层定位处理发生错误:${e.message}`)}}}}catch(e){}}let t2=(new Date).getTime();console.log("加载首页推荐耗时:"+(t2-t1)+"毫秒");if(rule.图片替换){if(rule.图片替换.startsWith("js:")){d.forEach(it=>{try{var input=it.vod_pic;eval(rule.图片替换.trim().replace("js:",""));it.vod_pic=input}catch(e){log(`图片:${it.vod_pic}替换错误:${e.message}`)}})}else if(rule.图片替换.includes("=>")){let replace_from=rule.图片替换.split("=>")[0];let replace_to=rule.图片替换.split("=>")[1];d.forEach(it=>{if(it.vod_pic&&it.vod_pic.startsWith("http")){it.vod_pic=it.vod_pic.replace(replace_from,replace_to)}})}}if(rule.图片来源){d.forEach(it=>{if(it.vod_pic&&it.vod_pic.startsWith("http")){it.vod_pic=it.vod_pic+rule.图片来源}})}if(d.length>0){print(d.slice(0,2))}return JSON.stringify({list:d})}function categoryParse(cateObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let p=cateObj.一级;if(!p||typeof p!=="string"){return"{}"}let d=[];let url=cateObj.url.replaceAll("fyclass",cateObj.tid);if(cateObj.pg===1&&url.includes("[")&&url.includes("]")){url=url.split("[")[1].split("]")[0]}else if(cateObj.pg>1&&url.includes("[")&&url.includes("]")){url=url.split("[")[0]}if(rule.filter_url){if(!/fyfilter/.test(url)){if(!url.endsWith("&")&&!rule.filter_url.startsWith("&")){url+="&"}url+=rule.filter_url}else{url=url.replace("fyfilter",rule.filter_url)}url=url.replaceAll("fyclass",cateObj.tid);let fl=cateObj.filter?cateObj.extend:{};if(rule.filter_def&&typeof rule.filter_def==="object"){try{if(Object.keys(rule.filter_def).length>0&&rule.filter_def.hasOwnProperty(cateObj.tid)){let self_fl_def=rule.filter_def[cateObj.tid];if(self_fl_def&&typeof self_fl_def==="object"){let fl_def=JSON.parse(JSON.stringify(self_fl_def));fl=Object.assign(fl_def,fl)}}}catch(e){print(`合并不同分类对应的默认筛选出错:${e.message}`)}}let new_url;new_url=cheerio.jinja2(url,{fl:fl,fyclass:cateObj.tid});url=new_url}if(/fypage/.test(url)){if(url.includes("(")&&url.includes(")")){let url_rep=url.match(/.*?\((.*)\)/)[1];let cnt_page=url_rep.replaceAll("fypage",cateObj.pg);let cnt_pg=eval(cnt_page);url=url.replaceAll(url_rep,cnt_pg).replaceAll("(","").replaceAll(")","")}else{url=url.replaceAll("fypage",cateObj.pg)}}MY_URL=url;console.log(MY_URL);p=p.trim();const MY_CATE=cateObj.tid;if(p.startsWith("js:")){var MY_FL=cateObj.extend;const TYPE="cate";var input=MY_URL;const MY_PAGE=cateObj.pg;var desc="";eval(p.trim().replace("js:",""));d=VODS}else{p=p.split(";");if(p.length<5){return"{}"}let _ps=parseTags.getParse(p[0]);_pdfa=_ps.pdfa;_pdfh=_ps.pdfh;_pd=_ps.pd;let is_json=p[0].startsWith("json:");p[0]=p[0].replace(/^(jsp:|json:|jq:)/,"");try{let html=getHtml(MY_URL);if(html){if(is_json){html=dealJson(html)}let list=_pdfa(html,p[0]);list.forEach(it=>{let links=p[4].split("+").map(p4=>{return!rule.detailUrl?_pd(it,p4,MY_URL):_pdfh(it,p4)});let link=links.join("$");let vod_id=rule.detailUrl?MY_CATE+"$"+link:link;let vod_name=_pdfh(it,p[1]).replace(/\n|\t/g,"").trim();let vod_pic=_pd(it,p[2],MY_URL);if(rule.二级==="*"){vod_id=vod_id+"@@"+vod_name+"@@"+vod_pic}d.push({vod_id:vod_id,vod_name:vod_name,vod_pic:vod_pic,vod_remarks:_pdfh(it,p[3]).replace(/\n|\t/g,"").trim()})})}}catch(e){console.log(e.message)}}if(rule.图片替换){if(rule.图片替换.startsWith("js:")){d.forEach(it=>{try{var input=it.vod_pic;eval(rule.图片替换.trim().replace("js:",""));it.vod_pic=input}catch(e){log(`图片:${it.vod_pic}替换错误:${e.message}`)}})}else if(rule.图片替换.includes("=>")){let replace_from=rule.图片替换.split("=>")[0];let replace_to=rule.图片替换.split("=>")[1];d.forEach(it=>{if(it.vod_pic&&it.vod_pic.startsWith("http")){it.vod_pic=it.vod_pic.replace(replace_from,replace_to)}})}}if(rule.图片来源){d.forEach(it=>{if(it.vod_pic&&it.vod_pic.startsWith("http")){it.vod_pic=it.vod_pic+rule.图片来源}})}if(d.length>0){print(d.slice(0,2))}let pagecount=0;if(rule.pagecount&&typeof rule.pagecount==="object"&&rule.pagecount.hasOwnProperty(MY_CATE)){print(`MY_CATE:${MY_CATE},pagecount:${JSON.stringify(rule.pagecount)}`);pagecount=parseInt(rule.pagecount[MY_CATE])}let nodata={list:[{vod_name:"无数据,防无限请求",vod_id:"no_data",vod_remarks:"不要点,会崩的",vod_pic:"https://ghproxy.net/https://raw.githubusercontent.com/hjdhnx/dr_py/main/404.jpg"}],total:1,pagecount:1,page:1,limit:1};let vod=d.length<1?JSON.stringify(nodata):JSON.stringify({page:parseInt(cateObj.pg),pagecount:pagecount||999,limit:20,total:999,list:d});return vod}function searchParse(searchObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let d=[];if(!searchObj.searchUrl){return"{}"}if(rule.searchNoPage&&Number(searchObj.pg)>1){return"{}"}let p=searchObj.搜索==="*"&&rule.一级?rule.一级:searchObj.搜索;if(!p||typeof p!=="string"){return"{}"}p=p.trim();let pp=rule.一级?rule.一级.split(";"):[];let url=searchObj.searchUrl.replaceAll("**",searchObj.wd);if(searchObj.pg===1&&url.includes("[")&&url.includes("]")&&!url.includes("#")){url=url.split("[")[1].split("]")[0]}else if(searchObj.pg>1&&url.includes("[")&&url.includes("]")&&!url.includes("#")){url=url.split("[")[0]}if(/fypage/.test(url)){if(url.includes("(")&&url.includes(")")){let url_rep=url.match(/.*?\((.*)\)/)[1];let cnt_page=url_rep.replaceAll("fypage",searchObj.pg);let cnt_pg=eval(cnt_page);url=url.replaceAll(url_rep,cnt_pg).replaceAll("(","").replaceAll(")","")}else{url=url.replaceAll("fypage",searchObj.pg)}}MY_URL=url;console.log(MY_URL);if(p.startsWith("js:")){const TYPE="search";const MY_PAGE=searchObj.pg;const KEY=searchObj.wd;var input=MY_URL;var detailUrl=rule.detailUrl||"";eval(p.trim().replace("js:",""));d=VODS}else{p=p.split(";");if(p.length<5){return"{}"}let p0=getPP(p,0,pp,0);let _ps=parseTags.getParse(p0);_pdfa=_ps.pdfa;_pdfh=_ps.pdfh;_pd=_ps.pd;let is_json=p0.startsWith("json:");p0=p0.replace(/^(jsp:|json:|jq:)/,"");try{let req_method=MY_URL.split(";").length>1?MY_URL.split(";")[1].toLowerCase():"get";let html;if(req_method==="post"){let rurls=MY_URL.split(";")[0].split("#");let rurl=rurls[0];let params=rurls.length>1?rurls[1]:"";print(`post=》rurl:${rurl},params:${params}`);let _fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let postData={body:params};Object.assign(_fetch_params,postData);html=post(rurl,_fetch_params)}else if(req_method==="postjson"){let rurls=MY_URL.split(";")[0].split("#");let rurl=rurls[0];let params=rurls.length>1?rurls[1]:"";print(`postjson-》rurl:${rurl},params:${params}`);try{params=JSON.parse(params)}catch(e){params="{}"}let _fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let postData={body:params};Object.assign(_fetch_params,postData);html=post(rurl,_fetch_params)}else{html=getHtml(MY_URL)}if(html){let search_tag=rule.搜索验证标识||"系统安全验证|输入验证码";if(new RegExp(search_tag).test(html)){let cookie=verifyCode(MY_URL);if(cookie){console.log(`本次成功过验证,cookie:${cookie}`);setItem(RULE_CK,cookie)}else{console.log(`本次自动过搜索验证失败,cookie:${cookie}`)}html=getHtml(MY_URL)}if(!html.includes(searchObj.wd)){console.log("搜索结果源码未包含关键字,疑似搜索失败,正为您打印结果源码");console.log(html)}if(is_json){html=dealJson(html)}let list=_pdfa(html,p0);let p1=getPP(p,1,pp,1);let p2=getPP(p,2,pp,2);let p3=getPP(p,3,pp,3);let p4=getPP(p,4,pp,4);let p5=getPP(p,5,pp,5);list.forEach(it=>{let links=p4.split("+").map(_p4=>{return!rule.detailUrl?_pd(it,_p4,MY_URL):_pdfh(it,_p4)});let link=links.join("$");let content;if(p.length>5&&p[5]){content=_pdfh(it,p5)}else{content=""}let vod_id=link;let vod_name=_pdfh(it,p1).replace(/\n|\t/g,"").trim();let vod_pic=_pd(it,p2,MY_URL);if(rule.二级==="*"){vod_id=vod_id+"@@"+vod_name+"@@"+vod_pic}let ob={vod_id:vod_id,vod_name:vod_name,vod_pic:vod_pic,vod_remarks:_pdfh(it,p3).replace(/\n|\t/g,"").trim(),vod_content:content.replace(/\n|\t/g,"").trim()};d.push(ob)})}}catch(e){print(`搜索发生错误:${e.message}`);return"{}"}}if(rule.图片替换){if(rule.图片替换.startsWith("js:")){d.forEach(it=>{try{var input=it.vod_pic;eval(rule.图片替换.trim().replace("js:",""));it.vod_pic=input}catch(e){log(`图片:${it.vod_pic}替换错误:${e.message}`)}})}else if(rule.图片替换.includes("=>")){let replace_from=rule.图片替换.split("=>")[0];let replace_to=rule.图片替换.split("=>")[1];d.forEach(it=>{if(it.vod_pic&&it.vod_pic.startsWith("http")){it.vod_pic=it.vod_pic.replace(replace_from,replace_to)}})}}if(rule.图片来源){d.forEach(it=>{if(it.vod_pic&&it.vod_pic.startsWith("http")){it.vod_pic=it.vod_pic+rule.图片来源}})}return JSON.stringify({page:parseInt(searchObj.pg),pagecount:10,limit:20,total:100,list:d})}function detailParse(detailObj){let t1=(new Date).getTime();fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let orId=detailObj.orId;let vod_name="片名";let vod_pic="";let vod_id=orId;if(rule.二级==="*"){let extra=orId.split("@@");vod_name=extra.length>1?extra[1]:vod_name;vod_pic=extra.length>2?extra[2]:vod_pic}let vod={vod_id:vod_id,vod_name:vod_name,vod_pic:vod_pic,type_name:"类型",vod_year:"年份",vod_area:"地区",vod_remarks:"更新信息",vod_actor:"主演",vod_director:"导演",vod_content:"简介"};let p=detailObj.二级;let url=detailObj.url;let detailUrl=detailObj.detailUrl;let fyclass=detailObj.fyclass;let tab_exclude=detailObj.tab_exclude;let html=detailObj.html||"";MY_URL=url;if(detailObj.二级访问前){try{print(`尝试在二级访问前执行代码:${detailObj.二级访问前}`);eval(detailObj.二级访问前.trim().replace("js:",""))}catch(e){print(`二级访问前执行代码出现错误:${e.message}`)}}if(p==="*"){vod.vod_play_from="道长在线";vod.vod_remarks=detailUrl;vod.vod_actor="没有二级,只有一级链接直接嗅探播放";vod.vod_content=MY_URL;vod.vod_play_url="嗅探播放$"+MY_URL.split("@@")[0]}else if(typeof p==="string"&&p.trim().startsWith("js:")){const TYPE="detail";var input=MY_URL;var play_url="";eval(p.trim().replace("js:",""));vod=VOD;console.log(JSON.stringify(vod))}else if(p&&typeof p==="object"){let tt1=(new Date).getTime();if(!html){html=getHtml(MY_URL)}print(`二级${MY_URL}仅获取源码耗时:${(new Date).getTime()-tt1}毫秒`);let _ps;if(p.is_json){print("二级是json");_ps=parseTags.json;html=dealJson(html)}else if(p.is_jsp){print("二级是jsp");_ps=parseTags.jsp}else if(p.is_jq){print("二级是jq");_ps=parseTags.jq}else{print("二级默认jq");_ps=parseTags.jq}let tt2=(new Date).getTime();print(`二级${MY_URL}获取并装载源码耗时:${tt2-tt1}毫秒`);_pdfa=_ps.pdfa;_pdfh=_ps.pdfh;_pd=_ps.pd;if(p.title){let p1=p.title.split(";");vod.vod_name=_pdfh(html,p1[0]).replace(/\n|\t/g,"").trim();let type_name=p1.length>1?_pdfh(html,p1[1]).replace(/\n|\t/g,"").replace(/ /g,"").trim():"";vod.type_name=type_name||vod.type_name}if(p.desc){try{let p1=p.desc.split(";");vod.vod_remarks=_pdfh(html,p1[0]).replace(/\n|\t/g,"").trim();vod.vod_year=p1.length>1?_pdfh(html,p1[1]).replace(/\n|\t/g,"").trim():"";vod.vod_area=p1.length>2?_pdfh(html,p1[2]).replace(/\n|\t/g,"").trim():"";vod.vod_actor=p1.length>3?_pdfh(html,p1[3]).replace(/\n|\t/g,"").trim():"";vod.vod_director=p1.length>4?_pdfh(html,p1[4]).replace(/\n|\t/g,"").trim():""}catch(e){}}if(p.content){try{let p1=p.content.split(";");vod.vod_content=_pdfh(html,p1[0]).replace(/\n|\t/g,"").trim()}catch(e){}}if(p.img){try{let p1=p.img.split(";");vod.vod_pic=_pd(html,p1[0],MY_URL)}catch(e){}}let vod_play_from="$$$";let playFrom=[];if(p.重定向&&p.重定向.startsWith("js:")){print("开始执行重定向代码:"+p.重定向);html=eval(p.重定向.replace("js:",""))}if(p.tabs){if(p.tabs.startsWith("js:")){print("开始执行tabs代码:"+p.tabs);var input=MY_URL;eval(p.tabs.replace("js:",""));playFrom=TABS}else{let p_tab=p.tabs.split(";")[0];let vHeader=_pdfa(html,p_tab);console.log(vHeader.length);let tab_text=p.tab_text||"body&&Text";let new_map={};for(let v of vHeader){let v_title=_pdfh(v,tab_text).trim();if(!v_title){v_title="线路空"}console.log(v_title);if(tab_exclude&&new RegExp(tab_exclude).test(v_title)){continue}if(!new_map.hasOwnProperty(v_title)){new_map[v_title]=1}else{new_map[v_title]+=1}if(new_map[v_title]>1){v_title+=Number(new_map[v_title]-1)}playFrom.push(v_title)}}console.log(JSON.stringify(playFrom))}else{playFrom=["道长在线"]}vod.vod_play_from=playFrom.join(vod_play_from);let vod_play_url="$$$";let vod_tab_list=[];if(p.lists){if(p.lists.startsWith("js:")){print("开始执行lists代码:"+p.lists);try{var input=MY_URL;var play_url="";eval(p.lists.replace("js:",""));for(let i in LISTS){if(LISTS.hasOwnProperty(i)){try{LISTS[i]=LISTS[i].map(it=>it.split("$").slice(0,2).join("$"))}catch(e){print(`格式化LISTS发生错误:${e.message}`)}}}vod_play_url=LISTS.map(it=>it.join("#")).join(vod_play_url)}catch(e){print(`js执行lists: 发生错误:${e.message}`)}}else{let list_text=p.list_text||"body&&Text";let list_url=p.list_url||"a&&href";let list_url_prefix=p.list_url_prefix||"";let is_tab_js=p.tabs.trim().startsWith("js:");for(let i=0;i1&&!is_tab_js?p.tabs.split(";")[1]:"";let p1=p.lists.replaceAll("#idv",tab_name).replaceAll("#id",i);tab_ext=tab_ext.replaceAll("#idv",tab_name).replaceAll("#id",i);let tabName=tab_ext?_pdfh(html,tab_ext):tab_name;console.log(tabName);let new_vod_list=[];let tt1=(new Date).getTime();if(typeof pdfl==="function"){new_vod_list=pdfl(html,p1,list_text,list_url,MY_URL);if(list_url_prefix){new_vod_list=new_vod_list.map(it=>it.split("$")[0]+"$"+list_url_prefix+it.split("$").slice(1).join("$"))}}else{let vodList=[];try{vodList=_pdfa(html,p1);console.log("len(vodList):"+vodList.length)}catch(e){}for(let i=0;i0){new_vod_list=forceOrder(new_vod_list,"",x=>x.split("$")[0]);console.log(`drpy影响性能代码共计列表数循环次数:${new_vod_list.length},耗时:${(new Date).getTime()-tt1}毫秒`)}let vlist=new_vod_list.join("#");vod_tab_list.push(vlist)}vod_play_url=vod_tab_list.join(vod_play_url)}}vod.vod_play_url=vod_play_url}if(rule.图片替换&&rule.图片替换.includes("=>")){let replace_from=rule.图片替换.split("=>")[0];let replace_to=rule.图片替换.split("=>")[1];vod.vod_pic=vod.vod_pic.replace(replace_from,replace_to)}if(rule.图片来源&&vod.vod_pic&&vod.vod_pic.startsWith("http")){vod.vod_pic=vod.vod_pic+rule.图片来源}if(!vod.vod_id||vod_id.includes("$")&&vod.vod_id!==vod_id){vod.vod_id=vod_id}let t2=(new Date).getTime();console.log(`加载二级界面${MY_URL}耗时:${t2-t1}毫秒`);try{vod=vodDeal(vod)}catch(e){console.log(`vodDeal发生错误:${e.message}`)}return JSON.stringify({list:[vod]})}function get_tab_index(vod){let obj={};vod.vod_play_from.split("$$$").forEach((it,index)=>{obj[it]=index});return obj}function vodDeal(vod){let vod_play_from=vod.vod_play_from.split("$$$");let vod_play_url=vod.vod_play_url.split("$$$");let tab_removed_list=vod_play_from;let tab_ordered_list=vod_play_from;let tab_renamed_list=vod_play_from;let tab_list=vod_play_from;let play_ordered_list=vod_play_url;if(rule.tab_remove&&rule.tab_remove.length>0||rule.tab_order&&rule.tab_order.length>0){let tab_index_dict=get_tab_index(vod);if(rule.tab_remove&&rule.tab_remove.length>0){tab_removed_list=vod_play_from.filter(it=>!rule.tab_remove.includes(it));tab_list=tab_removed_list}if(rule.tab_order&&rule.tab_order.length>0){let tab_order=rule.tab_order;tab_ordered_list=tab_removed_list.sort((a,b)=>{return(tab_order.indexOf(a)===-1?9999:tab_order.indexOf(a))-(tab_order.indexOf(b)===-1?9999:tab_order.indexOf(b))});tab_list=tab_ordered_list}play_ordered_list=tab_list.map(it=>vod_play_url[tab_index_dict[it]])}if(rule.tab_rename&&typeof rule.tab_rename==="object"&Object.keys(rule.tab_rename).length>0){tab_renamed_list=tab_list.map(it=>rule.tab_rename[it]||it);tab_list=tab_renamed_list}vod.vod_play_from=tab_list.join("$$$");vod.vod_play_url=play_ordered_list.join("$$$");return vod}function tellIsJx(url){try{let is_vip=!/\.(m3u8|mp4|m4a)$/.test(url.split("?")[0])&&是否正版(url);return is_vip?1:0}catch(e){return 1}}function playParse(playObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));MY_URL=playObj.url;var MY_FLAG=playObj.flag;if(!/http/.test(MY_URL)){try{MY_URL=base64Decode(MY_URL)}catch(e){}}MY_URL=decodeURIComponent(MY_URL);var input=MY_URL;var flag=MY_FLAG;let common_play={parse:SPECIAL_URL.test(input)||/^(push:)/.test(input)?0:1,url:input,flag:flag,jx:tellIsJx(input)};let lazy_play;if(!rule.play_parse||!rule.lazy){lazy_play=common_play}else if(rule.play_parse&&rule.lazy&&typeof rule.lazy==="string"){try{let lazy_code=rule.lazy.trim();if(lazy_code.startsWith("js:")){lazy_code=lazy_code.replace("js:","").trim()}print("开始执行js免嗅=>"+lazy_code);eval(lazy_code);lazy_play=typeof input==="object"?input:{parse:SPECIAL_URL.test(input)||/^(push:)/.test(input)?0:1,jx:tellIsJx(input),url:input}}catch(e){print(`js免嗅错误:${e.message}`);lazy_play=common_play}}else{lazy_play=common_play}if(Array.isArray(rule.play_json)&&rule.play_json.length>0){let web_url=lazy_play.url;for(let pjson of rule.play_json){if(pjson.re&&(pjson.re==="*"||web_url.match(new RegExp(pjson.re)))){if(pjson.json&&typeof pjson.json==="object"){let base_json=pjson.json;lazy_play=Object.assign(lazy_play,base_json);break}}}}else if(rule.play_json&&!Array.isArray(rule.play_json)){let base_json={jx:1,parse:1};lazy_play=Object.assign(lazy_play,base_json)}else if(!rule.play_json){let base_json={jx:0,parse:1};lazy_play=Object.assign(lazy_play,base_json)}console.log(JSON.stringify(lazy_play));return JSON.stringify(lazy_play)}function proxyParse(proxyObj){var input=proxyObj.params;if(proxyObj.proxy_rule){log("准备执行本地代理规则:\n"+proxyObj.proxy_rule);try{eval(proxyObj.proxy_rule);if(input&&input!==proxyObj.params&&Array.isArray(input)&&input.length>=3){return input}else{return[404,"text/plain","Not Found"]}}catch(e){return[500,"text/plain","代理规则错误:"+e.message]}}else{return[404,"text/plain","Not Found"]}}function isVideoParse(isVideoObj){var input=isVideoObj.url;if(!isVideoObj.t){let re_matcher=new RegExp(isVideoObj.isVideo,"i");return re_matcher.test(input)}else{try{eval(isVideoObj.isVideo);if(typeof input==="boolean"){return input}else{return false}}catch(e){log(`执行嗅探规则发生错误:${e.message}`);return false}}}function getOriginalJs(js_code){let current_match=/var rule|[\u4E00-\u9FA5]+|function|let |var |const |\(|\)|"|'/;if(current_match.test(js_code)){return js_code}let rsa_private_key="MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCqin/jUpqM6+fgYP/oMqj9zcdHMM0mEZXLeTyixIJWP53lzJV2N2E3OP6BBpUmq2O1a9aLnTIbADBaTulTNiOnVGoNG58umBnupnbmmF8iARbDp2mTzdMMeEgLdrfXS6Y3VvazKYALP8EhEQykQVarexR78vRq7ltY3quXx7cgI0ROfZz5Sw3UOLQJ+VoWmwIxu9AMEZLVzFDQN93hzuzs3tNyHK6xspBGB7zGbwCg+TKi0JeqPDrXxYUpAz1cQ/MO+Da0WgvkXnvrry8NQROHejdLVOAslgr6vYthH9bKbsGyNY3H+P12kcxo9RAcVveONnZbcMyxjtF5dWblaernAgMBAAECggEAGdEHlSEPFmAr5PKqKrtoi6tYDHXdyHKHC5tZy4YV+Pp+a6gxxAiUJejx1hRqBcWSPYeKne35BM9dgn5JofgjI5SKzVsuGL6bxl3ayAOu+xXRHWM9f0t8NHoM5fdd0zC3g88dX3fb01geY2QSVtcxSJpEOpNH3twgZe6naT2pgiq1S4okpkpldJPo5GYWGKMCHSLnKGyhwS76gF8bTPLoay9Jxk70uv6BDUMlA4ICENjmsYtd3oirWwLwYMEJbSFMlyJvB7hjOjR/4RpT4FPnlSsIpuRtkCYXD4jdhxGlvpXREw97UF2wwnEUnfgiZJ2FT/MWmvGGoaV/CfboLsLZuQKBgQDTNZdJrs8dbijynHZuuRwvXvwC03GDpEJO6c1tbZ1s9wjRyOZjBbQFRjDgFeWs9/T1aNBLUrgsQL9c9nzgUziXjr1Nmu52I0Mwxi13Km/q3mT+aQfdgNdu6ojsI5apQQHnN/9yMhF6sNHg63YOpH+b+1bGRCtr1XubuLlumKKscwKBgQDOtQ2lQjMtwsqJmyiyRLiUOChtvQ5XI7B2mhKCGi8kZ+WEAbNQcmThPesVzW+puER6D4Ar4hgsh9gCeuTaOzbRfZ+RLn3Aksu2WJEzfs6UrGvm6DU1INn0z/tPYRAwPX7sxoZZGxqML/z+/yQdf2DREoPdClcDa2Lmf1KpHdB+vQKBgBXFCVHz7a8n4pqXG/HvrIMJdEpKRwH9lUQS/zSPPtGzaLpOzchZFyQQBwuh1imM6Te+VPHeldMh3VeUpGxux39/m+160adlnRBS7O7CdgSsZZZ/dusS06HAFNraFDZf1/VgJTk9BeYygX+AZYu+0tReBKSs9BjKSVJUqPBIVUQXAoGBAJcZ7J6oVMcXxHxwqoAeEhtvLcaCU9BJK36XQ/5M67ceJ72mjJC6/plUbNukMAMNyyi62gO6I9exearecRpB/OGIhjNXm99Ar59dAM9228X8gGfryLFMkWcO/fNZzb6lxXmJ6b2LPY3KqpMwqRLTAU/zy+ax30eFoWdDHYa4X6e1AoGAfa8asVGOJ8GL9dlWufEeFkDEDKO9ww5GdnpN+wqLwePWqeJhWCHad7bge6SnlylJp5aZXl1+YaBTtOskC4Whq9TP2J+dNIgxsaF5EFZQJr8Xv+lY9lu0CruYOh9nTNF9x3nubxJgaSid/7yRPfAGnsJRiknB5bsrCvgsFQFjJVs=";let decode_content="";function aes_decrypt(data){let key=CryptoJS.enc.Hex.parse("686A64686E780A0A0A0A0A0A0A0A0A0A");let iv=CryptoJS.enc.Hex.parse("647A797964730A0A0A0A0A0A0A0A0A0A");let encrypted=CryptoJS.AES.decrypt({ciphertext:CryptoJS.enc.Base64.parse(data)},key,{iv:iv,mode:CryptoJS.mode.CBC,padding:CryptoJS.pad.Pkcs7}).toString(CryptoJS.enc.Utf8);return encrypted}let error_log=false;function logger(text){if(error_log){log(text)}}let decode_funcs=[text=>{try{return ungzip(text)}catch(e){logger("非gzip加密");return""}},text=>{try{return base64Decode(text)}catch(e){logger("非b64加密");return""}},text=>{try{return aes_decrypt(text)}catch(e){logger("非aes加密");return""}},text=>{try{return RSA.decode(text,rsa_private_key,null)}catch(e){logger("非rsa加密");return""}}];let func_index=0;while(!current_match.test(decode_content)){decode_content=decode_funcs[func_index](js_code);func_index++;if(func_index>=decode_funcs.length){break}}return decode_content}function runMain(main_func_code,arg){let mainFunc=function(){return""};try{eval(main_func_code+"\nmainFunc=main;");return mainFunc(arg)}catch(e){log(`执行main_funct发生了错误:${e.message}`);return""}}function init(ext){console.log("init");rule={};rule_fetch_params={};fetch_params=null;try{let muban=模板.getMubans();if(typeof ext=="object"){rule=ext}else if(typeof ext=="string"){let is_file=ext.startsWith("file://");if(ext.startsWith("http")||is_file){let query=getQuery(ext);if(is_file){ext=ext.split("?")[0]}let js=request(ext,{method:"GET"});if(js){js=getOriginalJs(js);eval("(function(){"+js.replace("var rule","rule")+"})()")}if(query.type==="url"&&query.params){if(is_file&&/^http/.test(query.params)){rule.params=query.params}else{rule.params=urljoin(ext,query.params)}}else if(query.params){rule.params=query.params}}else{ext=getOriginalJs(ext);eval("(function(){"+ext.replace("var rule","rule")+"})()")}}else{console.log(`规则加载失败,不支持的规则类型:${typeof ext}`);return}rule.host=(rule.host||"").rstrip("/");HOST=rule.host;if(rule.hostJs){console.log(`检测到hostJs,准备执行...`);try{eval(rule.hostJs);rule.host=HOST.rstrip("/")}catch(e){console.log(`执行${rule.hostJs}获取host发生错误:${e.message}`)}}if(rule["模板"]==="自动"){try{let host_headers=rule["headers"]||{};let host_html=getCode(HOST,{headers:host_headers});let match_muban="";let muban_keys=Object.keys(muban).filter(it=>!/默认|短视2|采集1/.test(it));for(let muban_key of muban_keys){try{let host_data=JSON.parse(home({},host_html,muban[muban_key].class_parse));if(host_data.class&&host_data.class.length>0){match_muban=muban_key;console.log(`自动匹配模板:【${muban_key}】`);break}}catch(e){console.log(`自动匹配模板:【${muban_key}】错误:${e.message}`)}}if(match_muban){muban["自动"]=muban[match_muban];if(rule["模板修改"]&&rule["模板修改"].startsWith("js:")){eval(rule["模板修改"].replace("js:","").trim())}}else{delete rule["模板"]}}catch(e){delete rule["模板"]}}if(rule.模板&&muban.hasOwnProperty(rule.模板)){print("继承模板:"+rule.模板);rule=Object.assign(muban[rule.模板],rule)}let rule_cate_excludes=(rule.cate_exclude||"").split("|").filter(it=>it.trim());let rule_tab_excludes=(rule.tab_exclude||"").split("|").filter(it=>it.trim());rule_cate_excludes=rule_cate_excludes.concat(CATE_EXCLUDE.split("|").filter(it=>it.trim()));rule_tab_excludes=rule_tab_excludes.concat(TAB_EXCLUDE.split("|").filter(it=>it.trim()));rule.cate_exclude=rule_cate_excludes.join("|");rule.tab_exclude=rule_tab_excludes.join("|");rule.类型=rule.类型||"影视";rule.url=rule.url||"";rule.double=rule.double||false;rule.homeUrl=rule.homeUrl||"";rule.detailUrl=rule.detailUrl||"";rule.searchUrl=rule.searchUrl||"";rule.homeUrl=rule.host&&rule.homeUrl?urljoin(rule.host,rule.homeUrl):rule.homeUrl||rule.host;rule.homeUrl=cheerio.jinja2(rule.homeUrl,{rule:rule});rule.detailUrl=rule.host&&rule.detailUrl?urljoin(rule.host,rule.detailUrl):rule.detailUrl;rule.二级访问前=rule.二级访问前||"";if(rule.url.includes("[")&&rule.url.includes("]")){let u1=rule.url.split("[")[0];let u2=rule.url.split("[")[1].split("]")[0];rule.url=rule.host&&rule.url?urljoin(rule.host,u1)+"["+urljoin(rule.host,u2)+"]":rule.url}else{rule.url=rule.host&&rule.url?urljoin(rule.host,rule.url):rule.url}if(rule.searchUrl.includes("[")&&rule.searchUrl.includes("]")&&!rule.searchUrl.includes("#")){let u1=rule.searchUrl.split("[")[0];let u2=rule.searchUrl.split("[")[1].split("]")[0];rule.searchUrl=rule.host&&rule.searchUrl?urljoin(rule.host,u1)+"["+urljoin(rule.host,u2)+"]":rule.searchUrl}else{rule.searchUrl=rule.host&&rule.searchUrl?urljoin(rule.host,rule.searchUrl):rule.searchUrl}rule.timeout=rule.timeout||5e3;rule.encoding=rule.编码||rule.encoding||"utf-8";rule.search_encoding=rule.搜索编码||rule.search_encoding||"";rule.图片来源=rule.图片来源||"";rule.图片替换=rule.图片替换||"";rule.play_json=rule.hasOwnProperty("play_json")?rule.play_json:[];rule.pagecount=rule.hasOwnProperty("pagecount")?rule.pagecount:{};rule.proxy_rule=rule.hasOwnProperty("proxy_rule")?rule.proxy_rule:"";if(!rule.hasOwnProperty("sniffer")){rule.sniffer=false}rule.sniffer=rule.hasOwnProperty("sniffer")?rule.sniffer:"";rule.sniffer=!!(rule.sniffer&&rule.sniffer!=="0"&&rule.sniffer!=="false");rule.isVideo=rule.hasOwnProperty("isVideo")?rule.isVideo:"";if(rule.sniffer&&!rule.isVideo){rule.isVideo="http((?!http).){12,}?\\.(m3u8|mp4|flv|avi|mkv|rm|wmv|mpg|m4a|mp3)\\?.*|http((?!http).){12,}\\.(m3u8|mp4|flv|avi|mkv|rm|wmv|mpg|m4a|mp3)|http((?!http).)*?video/tos*|http((?!http).)*?obj/tos*"}rule.tab_remove=rule.hasOwnProperty("tab_remove")?rule.tab_remove:[];rule.tab_order=rule.hasOwnProperty("tab_order")?rule.tab_order:[];rule.tab_rename=rule.hasOwnProperty("tab_rename")?rule.tab_rename:{};if(rule.headers&&typeof rule.headers==="object"){try{let header_keys=Object.keys(rule.headers);for(let k of header_keys){if(k.toLowerCase()==="user-agent"){let v=rule.headers[k];console.log(v);if(["MOBILE_UA","PC_UA","UC_UA","IOS_UA","UA"].includes(v)){rule.headers[k]=eval(v)}}else if(k.toLowerCase()==="cookie"){let v=rule.headers[k];if(v&&v.startsWith("http")){console.log(v);try{v=fetch(v);console.log(v);rule.headers[k]=v}catch(e){console.log(`从${v}获取cookie发生错误:${e.message}`)}}}}}catch(e){console.log(`处理headers发生错误:${e.message}`)}}else{rule.headers={}}oheaders=deepCopy(rule.headers);rule_fetch_params={headers:rule.headers,timeout:rule.timeout,encoding:rule.encoding};RKEY=typeof key!=="undefined"&&key?key:"drpy_"+(rule.title||rule.host);pre();init_test()}catch(e){console.log(`init_test发生错误:${e.message}`)}}let homeHtmlCache=undefined;function home(filter,home_html,class_parse){console.log("home");home_html=home_html||"";class_parse=class_parse||"";if(typeof rule.filter==="string"&&rule.filter.trim().length>0){try{let filter_json=ungzip(rule.filter.trim());rule.filter=JSON.parse(filter_json)}catch(e){rule.filter={}}}let homeObj={filter:rule.filter||false,MY_URL:rule.homeUrl,class_name:rule.class_name||"",class_url:rule.class_url||"",class_parse:class_parse||rule.class_parse||"",cate_exclude:rule.cate_exclude,home_html:home_html};return homeParse(homeObj)}function homeVod(params){console.log("homeVod");let homeVodObj={"推荐":rule.推荐,double:rule.double,homeUrl:rule.homeUrl,detailUrl:rule.detailUrl};return homeVodParse(homeVodObj)}function category(tid,pg,filter,extend){let cateObj={url:rule.url,"一级":rule.一级,tid:tid,pg:parseInt(pg),filter:filter,extend:extend};return categoryParse(cateObj)}function detail(vod_url){let orId=vod_url;let fyclass="";log("orId:"+orId);if(vod_url.indexOf("$")>-1){let tmp=vod_url.split("$");fyclass=tmp[0];vod_url=tmp[1]}let detailUrl=vod_url.split("@@")[0];let url;if(!detailUrl.startsWith("http")&&!detailUrl.includes("/")){url=rule.detailUrl.replaceAll("fyid",detailUrl).replaceAll("fyclass",fyclass)}else if(detailUrl.includes("/")){url=urljoin(rule.homeUrl,detailUrl)}else{url=detailUrl}let detailObj={orId:orId,url:url,"二级":rule.二级,"二级访问前":rule.二级访问前,detailUrl:detailUrl,fyclass:fyclass,tab_exclude:rule.tab_exclude};return detailParse(detailObj)}function play(flag,id,flags){let playObj={url:id,flag:flag,flags:flags};return playParse(playObj)}function search(wd,quick,pg){if(rule.search_encoding){if(rule.search_encoding.toLowerCase()!=="utf-8"){wd=encodeStr(wd,rule.search_encoding)}}else if(rule.encoding&&rule.encoding.toLowerCase()!=="utf-8"){wd=encodeStr(wd,rule.encoding)}let searchObj={searchUrl:rule.searchUrl,"搜索":rule.搜索,wd:wd,pg:pg||1,quick:quick};return searchParse(searchObj)}function proxy(params){if(rule.proxy_rule&&rule.proxy_rule.trim()){rule.proxy_rule=rule.proxy_rule.trim()}if(rule.proxy_rule.startsWith("js:")){rule.proxy_rule=rule.proxy_rule.replace("js:","")}let proxyObj={params:params,proxy_rule:rule.proxy_rule};return proxyParse(proxyObj)}function sniffer(){let enable_sniffer=rule.sniffer||false;if(enable_sniffer){log("开始执行辅助嗅探代理规则...")}return enable_sniffer}function isVideo(url){let t=0;let is_video;if(rule.isVideo&&rule.isVideo.trim()){is_video=rule.isVideo.trim()}if(is_video.startsWith("js:")){is_video=is_video.replace("js:","");t=1}let isVideoObj={url:url,isVideo:is_video,t:t};let result=isVideoParse(isVideoObj);if(result){log("成功执行辅助嗅探规则并检测到视频地址:\n"+rule.isVideo)}return result}function getRule(key){return key?rule[key]||"":rule}function deepCopy(_obj){return JSON.parse(JSON.stringify(_obj))}function matchesAll(str,pattern,flatten){if(!pattern.global){pattern=new RegExp(pattern.source,"g"+(pattern.ignoreCase?"i":"")+(pattern.multiline?"m":""))}var matches=[];var match;while((match=pattern.exec(str))!==null){matches.push(match)}return flatten?matches.flat():matches}function stringUtils(){Object.defineProperties(String.prototype,{replaceX:{value:function(regex,replacement){let matches=matchesAll(this,regex,true);if(matches&&matches.length>1){const hasCaptureGroup=/\$\d/.test(replacement);if(hasCaptureGroup){return this.replace(regex,m=>m.replace(regex,replacement))}else{return this.replace(regex,(m,p1)=>m.replace(p1,replacement))}}return this.replace(regex,replacement)},configurable:true,enumerable:false,writable:true},parseX:{get:function(){try{return JSON.parse(this)}catch(e){console.log(e.message);return this.startsWith("[")?[]:{}}},configurable:true,enumerable:false}})}function cut(text,start,end,method,All){let result="";let c=(t,s,e)=>{let result="";let rs=[];let results=[];try{let lr=new RegExp(String.raw`${s}`.toString());let rr=new RegExp(String.raw`${e}`.toString());const segments=t.split(lr);if(segments.length<2)return"";let cutSegments=segments.slice(1).map(segment=>{let splitSegment=segment.split(rr);return splitSegment.length<2?undefined:splitSegment[0]+e}).filter(f=>f);if(All){return`[${cutSegments.join(",")}]`}else{return cutSegments[0]}}catch(e){console.log(`Error cutting text:${e.message}`)}return result};result=c(text,start,end);stringUtils();if(method&&typeof method==="function"){result=method(result)}return result}function DRPY(){return{runMain:runMain,getRule:getRule,init:init,home:home,homeVod:homeVod,category:category,detail:detail,play:play,search:search,proxy:proxy,sniffer:sniffer,isVideo:isVideo,fixAdM3u8Ai:fixAdM3u8Ai}}export default{runMain:runMain,getRule:getRule,init:init,home:home,homeVod:homeVod,category:category,detail:detail,play:play,search:search,proxy:proxy,sniffer:sniffer,isVideo:isVideo,fixAdM3u8Ai:fixAdM3u8Ai,DRPY:DRPY}; diff --git a/tvboxqq/tvboxqq/南风/api/gbk.js b/tvboxqq/tvboxqq/南风/api/gbk.js new file mode 100644 index 0000000..796d53a --- /dev/null +++ b/tvboxqq/tvboxqq/南风/api/gbk.js @@ -0,0 +1,68 @@ +/*** + * gbk编码解码函数 + * strTool = gbkTool() strTool.encode(key) + * @returns {{encode: (function(*): *), decode: (function(*): *)}} + */ +export function gbkTool(){ + var data=function(zipData){ + var re=zipData + .replace(/#(\d+)\$/g,function(a,b){ + return Array(+b+3).join('#'); + }) + .replace(/#/g,'####') + .replace(/(\w\w):([\w#]+)(?:,|$)/g,function(a,hd,dt){ + return dt.replace(/../g,function(a){ + if(a!='##'){ + return hd+a; + }else{ + return a; + } + }); + }); + return re; + }('4e:020405060f12171f20212326292e2f313335373c40414244464a5155575a5b6263646567686a6b6c6d6e6f727475767778797a7b7c7d7f808182838485878a#909697999c9d9ea3aaafb0b1b4b6b7b8b9bcbdbec8cccfd0d2dadbdce0e2e6e7e9edeeeff1f4f8f9fafcfe,4f:00020304050607080b0c12131415161c1d212328292c2d2e31333537393b3e3f40414244454748494a4b4c525456616266686a6b6d6e7172757778797a7d8081828586878a8c8e909293959698999a9c9e9fa1a2a4abadb0b1b2b3b4b6b7b8b9babbbcbdbec0c1c2c6c7c8c9cbcccdd2d3d4d5d6d9dbe0e2e4e5e7ebecf0f2f4f5f6f7f9fbfcfdff,50:000102030405060708090a#0b0e1011131516171b1d1e20222324272b2f303132333435363738393b3d3f404142444546494a4b4d5051525354565758595b5d5e5f6061626364666768696a6b6d6e6f70717273747578797a7c7d818283848687898a8b8c8e8f909192939495969798999a9b9c9d9e9fa0a1a2a4a6aaabadaeafb0b1b3b4b5b6b7b8b9bcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdced0d1d2d3d4d5d7d8d9dbdcdddedfe0e1e2e3e4e5e8e9eaebeff0f1f2f4f6f7f8f9fafcfdfeff,51:00010203040508#090a0c0d0e0f1011131415161718191a1b1c1d1e1f2022232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e42474a4c4e4f5052535758595b5d5e5f606163646667696a6f727a7e7f838486878a8b8e8f90919394989a9d9e9fa1a3a6a7a8a9aaadaeb4b8b9babebfc1c2c3c5c8cacdced0d2d3d4d5d6d7d8d9dadcdedfe2e3e5e6e7e8e9eaeceef1f2f4f7fe,52:0405090b0c0f101314151c1e1f2122232526272a2c2f313234353c3e4445464748494b4e4f5253555758#595a5b5d5f6062636466686b6c6d6e7071737475767778797a7b7c7e808384858687898a8b8c8d8e8f91929495969798999a9ca4a5a6a7aeafb0b4b5b6b7b8b9babbbcbdc0c1c2c4c5c6c8cacccdcecfd1d3d4d5d7d9dadbdcdddee0e1e2e3e5e6e7e8e9eaebecedeeeff1f2f3f4f5f6f7f8fbfcfd,53:0102030407090a0b0c0e11121314181b1c1e1f2224252728292b2c2d2f3031323334353637383c3d404244464b4c4d505458595b5d65686a6c6d7276797b7c7d7e80818387888a8e8f#90919293949697999b9c9ea0a1a4a7aaabacadafb0b1b2b3b4b5b7b8b9babcbdbec0c3c4c5c6c7cecfd0d2d3d5dadcdddee1e2e7f4fafeff,54:000205070b1418191a1c2224252a303336373a3d3f4142444547494c4d4e4f515a5d5e5f6061636567696a6b6c6d6e6f7074797a7e7f8183858788898a8d919397989c9e9fa0a1a2a5aeb0b2b5b6b7b9babcbec3c5cacbd6d8dbe0e1e2e3e4ebeceff0f1f4f5f6f7f8f9fbfe,55:0002030405080a0b0c0d0e121315161718191a1c1d1e1f212526#28292b2d3234353638393a3b3d40424547484b4c4d4e4f515253545758595a5b5d5e5f60626368696b6f7071727374797a7d7f85868c8d8e9092939596979a9b9ea0a1a2a3a4a5a6a8a9aaabacadaeafb0b2b4b6b8babcbfc0c1c2c3c6c7c8cacbcecfd0d5d7d8d9dadbdee0e2e7e9edeef0f1f4f6f8f9fafbfcff,56:0203040506070a0b0d1011121314151617191a1c1d202122252628292a2b2e2f30333537383a3c3d3e404142434445464748494a4b4f5051525355565a5b5d5e5f6061#636566676d6e6f70727374757778797a7d7e7f80818283848788898a8b8c8d9091929495969798999a9b9c9d9e9fa0a1a2a4a5a6a7a8a9aaabacadaeb0b1b2b3b4b5b6b8b9babbbdbebfc0c1c2c3c4c5c6c7c8c9cbcccdcecfd0d1d2d3d5d6d8d9dce3e5e6e7e8e9eaeceeeff2f3f6f7f8fbfc,57:00010205070b0c0d0e0f101112131415161718191a1b1d1e202122242526272b313234353637383c3d3f414344454648494b52535455565859626365676c6e707172747578797a7d7e7f80#818788898a8d8e8f90919495969798999a9c9d9e9fa5a8aaacafb0b1b3b5b6b7b9babbbcbdbebfc0c1c4c5c6c7c8c9cacccdd0d1d3d6d7dbdcdee1e2e3e5e6e7e8e9eaebeceef0f1f2f3f5f6f7fbfcfeff,58:0103040508090a0c0e0f101213141617181a1b1c1d1f222325262728292b2c2d2e2f31323334363738393a3b3c3d3e3f4041424345464748494a4b4e4f505253555657595a5b5c5d5f6061626364666768696a6d6e6f707172737475767778797a7b7c7d7f82848687888a8b8c#8d8e8f909194959697989b9c9da0a1a2a3a4a5a6a7aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbdbebfc0c2c3c4c6c7c8c9cacbcccdcecfd0d2d3d4d6d7d8d9dadbdcdddedfe0e1e2e3e5e6e7e8e9eaedeff1f2f4f5f7f8fafbfcfdfeff,59:000103050608090a0b0c0e1011121317181b1d1e2021222326282c30323335363b3d3e3f404345464a4c4d505253595b5c5d5e5f616364666768696a6b6c6d6e6f70717275777a7b7c7e7f8085898b8c8e8f90919495989a9b9c9d9fa0a1a2a6#a7acadb0b1b3b4b5b6b7b8babcbdbfc0c1c2c3c4c5c7c8c9cccdcecfd5d6d9dbdedfe0e1e2e4e6e7e9eaebedeeeff0f1f2f3f4f5f6f7f8fafcfdfe,5a:00020a0b0d0e0f101214151617191a1b1d1e2122242627282a2b2c2d2e2f3033353738393a3b3d3e3f414243444547484b4c4d4e4f5051525354565758595b5c5d5e5f60616364656668696b6c6d6e6f7071727378797b7c7d7e808182838485868788898a8b8c8d8e8f9091939495969798999c9d9e9fa0a1a2a3a4a5a6a7a8a9abac#adaeafb0b1b4b6b7b9babbbcbdbfc0c3c4c5c6c7c8cacbcdcecfd0d1d3d5d7d9dadbdddedfe2e4e5e7e8eaecedeeeff0f2f3f4f5f6f7f8f9fafbfcfdfeff,5b:0001020304050607080a0b0c0d0e0f10111213141518191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303133353638393a3b3c3d3e3f4142434445464748494a4b4c4d4e4f52565e606167686b6d6e6f7274767778797b7c7e7f82868a8d8e90919294969fa7a8a9acadaeafb1b2b7babbbcc0c1c3c8c9cacbcdcecf#d1d4d5d6d7d8d9dadbdce0e2e3e6e7e9eaebecedeff1f2f3f4f5f6f7fdfe,5c:0002030507080b0c0d0e10121317191b1e1f2021232628292a2b2d2e2f303233353637434446474c4d5253545657585a5b5c5d5f62646768696a6b6c6d70727374757677787b7c7d7e808384858687898a8b8e8f9293959d9e9fa0a1a4a5a6a7a8aaaeafb0b2b4b6b9babbbcbec0c2c3c5c6c7c8c9cacccdcecfd0d1d3d4d5d6d7d8dadbdcdddedfe0e2e3e7e9ebeceeeff1f2f3f4f5f6f7f8f9fafcfdfeff,5d:00#01040508090a0b0c0d0f10111213151718191a1c1d1f2021222325282a2b2c2f3031323335363738393a3b3c3f4041424344454648494d4e4f5051525354555657595a5c5e5f6061626364656667686a6d6e7071727375767778797a7b7c7d7e7f8081838485868788898a8b8c8d8e8f9091929394959697989a9b9c9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b8b9babbbcbdbebfc0c1c2c3c4c6c7c8c9cacbcccecfd0d1d2d3d4d5d6d7d8d9dadcdfe0e3e4eaeced#f0f5f6f8f9fafbfcff,5e:000407090a0b0d0e1213171e1f20212223242528292a2b2c2f303233343536393a3e3f404143464748494a4b4d4e4f50515253565758595a5c5d5f60636465666768696a6b6c6d6e6f70717577797e8182838588898c8d8e92989b9da1a2a3a4a8a9aaabacaeafb0b1b2b4babbbcbdbfc0c1c2c3c4c5c6c7c8cbcccdcecfd0d4d5d7d8d9dadcdddedfe0e1e2e3e4e5e6e7e9ebecedeeeff0f1f2f3f5f8f9fbfcfd,5f:050607090c0d0e10121416191a1c1d1e21222324#282b2c2e30323334353637383b3d3e3f4142434445464748494a4b4c4d4e4f5154595a5b5c5e5f60636567686b6e6f72747576787a7d7e7f83868d8e8f919394969a9b9d9e9fa0a2a3a4a5a6a7a9abacafb0b1b2b3b4b6b8b9babbbebfc0c1c2c7c8cacbced3d4d5dadbdcdedfe2e3e5e6e8e9eceff0f2f3f4f6f7f9fafc,60:0708090b0c10111317181a1e1f2223242c2d2e3031323334363738393a3d3e404445464748494a4c4e4f5153545657585b5c5e5f606165666e71727475777e80#8182858687888a8b8e8f909193959798999c9ea1a2a4a5a7a9aaaeb0b3b5b6b7b9babdbebfc0c1c2c3c4c7c8c9cccdcecfd0d2d3d4d6d7d9dbdee1e2e3e4e5eaf1f2f5f7f8fbfcfdfeff,61:02030405070a0b0c1011121314161718191b1c1d1e21222528292a2c2d2e2f303132333435363738393a3b3c3d3e4041424344454647494b4d4f50525354565758595a5b5c5e5f606163646566696a6b6c6d6e6f717273747678797a7b7c7d7e7f808182838485868788898a8c8d8f9091929395#969798999a9b9c9e9fa0a1a2a3a4a5a6aaabadaeafb0b1b2b3b4b5b6b8b9babbbcbdbfc0c1c3c4c5c6c7c9cccdcecfd0d3d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e7e8e9eaebecedeeeff0f1f2f3f4f6f7f8f9fafbfcfdfe,62:00010203040507091314191c1d1e2023262728292b2d2f303132353638393a3b3c424445464a4f50555657595a5c5d5e5f6061626465687172747577787a7b7d818283858687888b8c8d8e8f9094999c9d9ea3a6a7a9aaadaeafb0b2b3b4b6b7b8babec0c1#c3cbcfd1d5dddee0e1e4eaebf0f2f5f8f9fafb,63:00030405060a0b0c0d0f10121314151718191c2627292c2d2e30313334353637383b3c3e3f40414447484a51525354565758595a5b5c5d60646566686a6b6c6f707273747578797c7d7e7f81838485868b8d9193949597999a9b9c9d9e9fa1a4a6abafb1b2b5b6b9bbbdbfc0c1c2c3c5c7c8cacbccd1d3d4d5d7d8d9dadbdcdddfe2e4e5e6e7e8ebeceeeff0f1f3f5f7f9fafbfcfe,64:0304060708090a0d0e111215161718191a1d1f222324#252728292b2e2f3031323335363738393b3c3e404243494b4c4d4e4f505153555657595a5b5c5d5f60616263646566686a6b6c6e6f70717273747576777b7c7d7e7f8081838688898a8b8c8d8e8f90939497989a9b9c9d9fa0a1a2a3a5a6a7a8aaabafb1b2b3b4b6b9bbbdbebfc1c3c4c6c7c8c9cacbcccfd1d3d4d5d6d9dadbdcdddfe0e1e3e5e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,65:01020304050607080a0b0c0d0e0f10111314151617191a1b1c1d1e1f2021#222324262728292a2c2d30313233373a3c3d404142434446474a4b4d4e5052535457585a5c5f606164656768696a6d6e6f7173757678797a7b7c7d7e7f8081828384858688898a8d8e8f92949596989a9d9ea0a2a3a6a8aaacaeb1b2b3b4b5b6b7b8babbbebfc0c2c7c8c9cacdd0d1d3d4d5d8d9dadbdcdddedfe1e3e4eaebf2f3f4f5f8f9fbfcfdfeff,66:0104050708090b0d1011121617181a1b1c1e2122232426292a2b2c2e3032333738393a3b3d3f40424445464748494a4d4e505158#595b5c5d5e6062636567696a6b6c6d7172737578797b7c7d7f808183858688898a8b8d8e8f909293949598999a9b9c9e9fa0a1a2a3a4a5a6a9aaabacadafb0b1b2b3b5b6b7b8babbbcbdbfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8dadedfe0e1e2e3e4e5e7e8eaebecedeeeff1f5f6f8fafbfd,67:010203040506070c0e0f1112131618191a1c1e20212223242527292e303233363738393b3c3e3f414445474a4b4d5254555758595a5b5d62636466676b6c6e717476#78797a7b7d8082838586888a8c8d8e8f9192939496999b9fa0a1a4a6a9acaeb1b2b4b9babbbcbdbebfc0c2c5c6c7c8c9cacbcccdced5d6d7dbdfe1e3e4e6e7e8eaebedeef2f5f6f7f8f9fafbfcfe,68:01020304060d1012141518191a1b1c1e1f20222324252627282b2c2d2e2f30313435363a3b3f474b4d4f52565758595a5b5c5d5e5f6a6c6d6e6f707172737578797a7b7c7d7e7f8082848788898a8b8c8d8e90919294959698999a9b9c9d9e9fa0a1a3a4a5a9aaabacaeb1b2b4b6b7b8#b9babbbcbdbebfc1c3c4c5c6c7c8cacccecfd0d1d3d4d6d7d9dbdcdddedfe1e2e4e5e6e7e8e9eaebecedeff2f3f4f6f7f8fbfdfeff,69:00020304060708090a0c0f11131415161718191a1b1c1d1e21222325262728292a2b2c2e2f313233353637383a3b3c3e4041434445464748494a4b4c4d4e4f50515253555658595b5c5f616264656768696a6c6d6f7072737475767a7b7d7e7f8183858a8b8c8e8f909192939697999a9d9e9fa0a1a2a3a4a5a6a9aaacaeafb0b2b3b5b6b8b9babcbd#bebfc0c2c3c4c5c6c7c8c9cbcdcfd1d2d3d5d6d7d8d9dadcdddee1e2e3e4e5e6e7e8e9eaebeceeeff0f1f3f4f5f6f7f8f9fafbfcfe,6a:000102030405060708090b0c0d0e0f10111213141516191a1b1c1d1e20222324252627292b2c2d2e30323334363738393a3b3c3f40414243454648494a4b4c4d4e4f515253545556575a5c5d5e5f60626364666768696a6b6c6d6e6f70727374757677787a7b7d7e7f81828385868788898a8b8c8d8f929394959698999a9b9c9d9e9fa1a2a3a4a5a6#a7a8aaadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,6b:000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f252628292a2b2c2d2e2f303133343536383b3c3d3f4041424445484a4b4d4e4f5051525354555657585a5b5c5d5e5f606168696b6c6d6e6f7071727374757677787a7d7e7f808588#8c8e8f909194959798999c9d9e9fa0a2a3a4a5a6a7a8a9abacadaeafb0b1b2b6b8b9babbbcbdbec0c3c4c6c7c8c9caccced0d1d8dadcdddedfe0e2e3e4e5e6e7e8e9ecedeef0f1f2f4f6f7f8fafbfcfeff,6c:000102030408090a0b0c0e12171c1d1e2023252b2c2d31333637393a3b3c3e3f434445484b4c4d4e4f5152535658595a62636566676b6c6d6e6f71737577787a7b7c7f8084878a8b8d8e9192959697989a9c9d9ea0a2a8acafb0b4b5b6b7bac0c1c2c3c6c7c8cbcdcecfd1d2d8#d9dadcdddfe4e6e7e9ecedf2f4f9ff,6d:000203050608090a0d0f101113141516181c1d1f20212223242628292c2d2f30343637383a3f404244494c50555657585b5d5f6162646567686b6c6d707172737576797a7b7d7e7f8081838486878a8b8d8f9092969798999a9ca2a5acadb0b1b3b4b6b7b9babbbcbdbec1c2c3c8c9cacdcecfd0d2d3d4d5d7dadbdcdfe2e3e5e7e8e9eaedeff0f2f4f5f6f8fafdfeff,6e:0001020304060708090b0f12131518191b1c1e1f222627282a2c2e30313335#3637393b3c3d3e3f40414245464748494a4b4c4f5051525557595a5c5d5e606162636465666768696a6c6d6f707172737475767778797a7b7c7d8081828487888a8b8c8d8e91929394959697999a9b9d9ea0a1a3a4a6a8a9abacadaeb0b3b5b8b9bcbebfc0c3c4c5c6c8c9cacccdced0d2d6d8d9dbdcdde3e7eaebecedeeeff0f1f2f3f5f6f7f8fafbfcfdfeff,6f:000103040507080a0b0c0d0e101112161718191a1b1c1d1e1f212223252627282c2e303234353738393a3b3c3d3f404142#43444548494a4c4e4f5051525354555657595a5b5d5f60616364656768696a6b6c6f707173757677797b7d7e7f808182838586878a8b8f909192939495969798999a9b9d9e9fa0a2a3a4a5a6a8a9aaabacadaeafb0b1b2b4b5b7b8babbbcbdbebfc1c3c4c5c6c7c8cacbcccdcecfd0d3d4d5d6d7d8d9dadbdcdddfe2e3e4e5e6e7e8e9eaebecedf0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,70:000102030405060708090a0b0c0d0e0f1012131415161718191c1d1e1f2021222425262728292a#2b2c2d2e2f30313233343637383a3b3c3d3e3f404142434445464748494a4b4d4e505152535455565758595a5b5c5d5f606162636465666768696a6e7172737477797a7b7d818283848687888b8c8d8f90919397989a9b9e9fa0a1a2a3a4a5a6a7a8a9aab0b2b4b5b6babebfc4c5c6c7c9cbcccdcecfd0d1d2d3d4d5d6d7dadcdddee0e1e2e3e5eaeef0f1f2f3f4f5f6f8fafbfcfeff,71:0001020304050607080b0c0d0e0f111214171b1c1d1e1f2021222324252728292a2b2c2d2e323334#353738393a3b3c3d3e3f4041424344464748494b4d4f505152535455565758595a5b5d5f6061626365696a6b6c6d6f707174757677797b7c7e7f8081828385868788898b8c8d8e909192939596979a9b9c9d9ea1a2a3a4a5a6a7a9aaabadaeafb0b1b2b4b6b7b8babbbcbdbebfc0c1c2c4c5c6c7c8c9cacbcccdcfd0d1d2d3d6d7d8d9dadbdcdddedfe1e2e3e4e6e8e9eaebecedeff0f1f2f3f4f5f6f7f8fafbfcfdfeff,72:0001020304050708090a0b0c0d0e0f101112131415161718191a#1b1c1e1f2021222324252627292b2d2e2f3233343a3c3e40414243444546494a4b4e4f505153545557585a5c5e60636465686a6b6c6d707173747677787b7c7d828385868788898c8e9091939495969798999a9b9c9d9ea0a1a2a3a4a5a6a7a8a9aaabaeb1b2b3b5babbbcbdbebfc0c5c6c7c9cacbcccfd1d3d4d5d6d8dadb#95$,30:000102,00b702:c9c7,00a830:0305,2014ff5e20:162618191c1d,30:141508090a0b0c0d0e0f16171011,00:b1d7f7,22:362728110f2a2908371aa52520,231222:992b2e614c483d1d606e6f64651e3534,26:4240,00b020:3233,2103ff0400a4ff:e0e1,203000a7211626:0605,25:cbcfcec7c6a1a0b3b2,203b21:92909193,30:13#95$,21:70717273747576777879#4$,24:88898a8b8c8d8e8f909192939495969798999a9b7475767778797a7b7c7d7e7f808182838485868760616263646566676869##,32:20212223242526272829##,21:606162636465666768696a6b#97$,ff:010203e505060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5de3#95$,30:4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f90919293#106$a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6#103$,03:9192939495969798999a9b9c9d9e9fa0a1a3a4a5a6a7a8a9#6$b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c3c4c5c6c7c8c9#5$,fe:3536393a3f403d3e41424344##3b3c373831#3334#104$,04:10111213141501161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f#13$30313233343551363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f#11$,02:cacbd9,20:13152535,21:050996979899,22:151f23526667bf,25:505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f7071727381828384858687#88898a8b8c8d8e8f939495bcbde2e3e4e5,2609229530:121d1e#9$,010100e101ce00e0011300e9011b00e8012b00ed01d000ec014d00f301d200f2016b00fa01d400f901:d6d8dadc,00:fcea,0251e7c701:4448,e7c802:61#2$,31:05060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20212223242526272829#19$,30:212223242526272829,32a333:8e8f9c9d9ea1c4ced1d2d5,fe30ff:e2e4#,212132:31#,20:10#1$,30:fc9b9cfdfe069d9e,fe:494a4b4c4d4e4f50515254555657595a5b5c5d5e5f6061#626364656668696a6b,e7:e7e8e9eaebecedeeeff0f1f2f3,30:07#11$,25:000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b#13$,72:dcdddfe2e3e4e5e6e7eaebf5f6f9fdfeff,73:00020405060708090b0c0d0f1011121418191a1f2023242627282d2f30323335363a3b3c3d404142434445464748#494a4b4c4e4f515354555658595a5b5c5d5e5f6162636465666768696a6b6e7071#92$72737475767778797a7b7c7d7f808182838586888a8c8d8f90929394959798999a9c9d9ea0a1a3a4a5a6a7a8aaacadb1b4b5b6b8b9bcbdbebfc1c3c4c5c6c7#cbccced2d3d4d5d6d7d8dadbdcdddfe1e2e3e4e6e8eaebeceeeff0f1f3f4f5f6f7#92$f8f9fafbfcfdfeff,74:0001020407080b0c0d0e1112131415161718191c1d1e1f2021232427292b2d2f31323738393a3b3d3e3f4042434445464748494a4b4c4d#4e4f505152535456585d606162636465666768696a6b6c6e6f717273747578797a#92$7b7c7d7f8284858688898a8c8d8f9192939495969798999a9b9d9fa0a1a2a3a4a5a6aaabacadaeafb0b1b2b3b4b5b6b7b8b9bbbcbdbebfc0c1c2c3c4c5c6c7#c8c9cacbcccdcecfd0d1d3d4d5d6d7d8d9dadbdddfe1e5e7e8e9eaebecedf0f1f2#92$f3f5f8f9fafbfcfdfe,75:0001020305060708090a0b0c0e1012141516171b1d1e202122232426272a2e3436393c3d3f414243444647494a4d5051525355565758#5d5e5f60616263646768696b6c6d6e6f7071737576777a7b7c7d7e808182848587#92$88898a8c8d8e909395989b9c9ea2a6a7a8a9aaadb6b7babbbfc0c1c6cbcccecfd0d1d3d7d9dadcdddfe0e1e5e9ecedeeeff2f3f5f6f7f8fafbfdfe,76:02040607#08090b0d0e0f11121314161a1c1d1e212327282c2e2f31323637393a3b3d414244#92$45464748494a4b4e4f50515253555758595a5b5d5f6061626465666768696a6c6d6e7071727374757677797a7c7f80818385898a8c8d8f9092949597989a9b#9c9d9e9fa0a1a2a3a5a6a7a8a9aaabacadafb0b3b5b6b7b8b9babbbcbdbec0c1c3,554a963f57c3632854ce550954c076:914c,853c77ee827e788d72319698978d6c285b894ffa630966975cb880fa684880ae660276ce51f9655671ac7ff1888450b2596561ca6fb382ad634c625253ed54277b06516b75a45df462d48dcb9776628a8019575d97387f627238767d67cf767e64464f708d2562dc7a17659173ed642c6273822c9881677f724862:6ecc,4f3474e3534a529e7eca90a65e2e6886699c81807ed168d278c5868c9551508d8c2482de80de53058912526576:c4c7c9cbccd3d5d9dadcdddee0e1e2e3e4e6e7e8e9eaebecedf0f3f5f6f7fafbfdff,77:00020305060a0c0e0f1011121314151617181b1c1d1e21232425272a2b#2c2e3031323334393b3d3e3f4244454648494a4b4c4d4e4f52535455565758595c,858496f94fdd582199715b9d62:b1a5,66b48c799c8d7206676f789160b253:5117,8f8880cc8d1d94a1500d72c8590760eb711988ab595482ef672c7b285d297ef7752d6cf58e668ff8903c9f3b6bd491197b145f7c78a784d6853d6b:d5d9d6,5e:0187,75f995ed655d5f:0ac5,8f9f58c181c2907f965b97ad8fb97f168d2c62414fbf53:d85e,8f:a8a9ab,904d68075f6a819888689cd6618b522b762a5f6c658c6fd26ee85bbe644851:75b0,67c44e1979c9997c70b377:5d5e5f606467696a6d6e6f7071727374757677787a7b7c818283868788898a8b8f90939495969798999a9b9c9d9ea1a3a4a6a8abadaeafb1b2b4b6b7b8b9ba#bcbec0c1c2c3c4c5c6c7c8c9cacbcccecfd0d1d2d3d4d5d6d8d9dadddedfe0e1e4,75c55e7673bb83e064ad62e894b56ce2535a52c3640f94c27b944f2f5e1b823681:168a,6e246cca9a736355535c54fa886557e04e0d5e036b657c3f90e8601664e6731c88c16750624d8d22776c8e2991c75f6983dc8521991053c286956b8b60:ede8,707f82:cd31,4ed36ca785cf64cd7cd969fd66f9834953957b564fa7518c6d4b5c428e6d63d253c983:2c36,67e578b4643d5bdf5c945dee8be762c667f48c7a640063ba8749998b8c177f2094f24ea7961098a4660c731677:e6e8eaeff0f1f2f4f5f7f9fafbfc,78:0304050607080a0b0e0f101315191b1e20212224282a2b2e2f31323335363d3f414243444648494a4b4d4f51535458595a#5b5c5e5f606162636465666768696f7071727374757678797a7b7d7e7f80818283,573a5c1d5e38957f507f80a05382655e7545553150218d856284949e671d56326f6e5de2543570928f66626f64a463a35f7b6f8890f481e38fb05c1866685ff16c8996488d81886c649179f057ce6a59621054484e587a0b60e96f848bda627f901e9a8b79e4540375f4630153196c608fdf5f1b9a70803b9f7f4f885c3a8d647fc565a570bd51:45b2,866b5d075ba062bd916c75748e0c7a2061017b794ec77ef877854e1181ed521d51fa6a7153a88e87950496cf6ec19664695a78:848586888a8b8f9092949596999d9ea0a2a4a6a8a9aaabacadaeafb5b6b7b8babbbcbdbfc0c2c3c4c6c7c8cccdcecfd1d2d3d6d7d8dadbdcdddedfe0e1e2e3#e4e5e6e7e9eaebedeeeff0f1f3f5f6f8f9fbfcfdfeff,79:00020304060708090a0b0c,784050a877d7641089e6590463e35ddd7a7f693d4f20823955984e3275ae7a975e:628a,95ef521b5439708a6376952457826625693f918755076df37eaf882262337ef075b5832878c196cc8f9e614874f78bcd6b64523a8d506b21806a847156f153064e:ce1b,51d17c97918b7c074fc38e7f7be17a9c64675d1450ac810676017cb96dec7fe067515b:58f8,78cb64:ae13,63:aa2b,9519642d8fbe7b5476296253592754466b7950a362345e266b864ee38d37888b5f85902e79:0d0e0f1011121415161718191a1b1c1d1f2021222325262728292a2b2c2d2e2f3031323335363738393d3f42434445474a4b4c4d4e4f505152545558596163#6466696a6b6c6e70717273747576797b7c7d7e7f8283868788898b8c8d8e909192,6020803d62c54e39535590f863b880c665e66c2e4f4660ee6de18bde5f3986cb5f536321515a83616863520063638e4850125c9b79775bfc52307a3b60bc905376d75f:b797,76848e6c706f767b7b4977aa51f3909358244f4e6ef48fea654c7b1b72c46da47fdf5ae162b55e95573084827b2c5e1d5f1f90127f1498a063826ec7789870b95178975b57ab75354f4375385e9760e659606dc06bbf788953fc96d551cb52016389540a94938c038dcc7239789f87768fed8c0d53e079:939495969798999b9c9d9e9fa0a1a2a3a4a5a6a8a9aaabacadaeafb0b1b2b4b5b6b7b8bcbfc2c4c5c7c8cacccecfd0d3d4d6d7d9dadbdcdddee0e1e2e5e8ea#eceef1f2f3f4f5f6f7f9fafcfeff,7a:0104050708090a0c0f10111213151618191b1c,4e0176ef53ee948998769f0e952d5b9a8ba24e:221c,51ac846361c252a8680b4f97606b51bb6d1e515c6296659796618c46901775d890fd77636bd272:8aec,8bfb583577798d4c675c9540809a5ea66e2159927aef77ed953b6bb565ad7f0e58065151961f5bf958a954288e726566987f56e4949d76fe9041638754c659:1a3a,579b8eb267358dfa8235524160f0581586fe5ce89e454fc4989d8bb95a2560765384627c904f9102997f6069800c513f80335c1499756d314e8c7a:1d1f21222425262728292a2b2c2d2e2f303132343536383a3e4041424344454748494a4b4c4d4e4f50525354555658595a5b5c5d5e5f606162636465666768#696a6b6c6d6e6f717273757b7c7d7e828587898a8b8c8e8f909394999a9b9ea1a2,8d3053d17f5a7b4f4f104e4f96006cd573d085e95e06756a7ffb6a0a77fe94927e4151e170e653cd8fd483038d2972af996d6cdb574a82b365b980aa623f963259a84eff8bbf7eba653e83f2975e556198de80a5532a8bfd542080ba5e9f6cb88d3982ac915a54296c1b52067eb7575f711a6c7e7c89594b4efd5fff61247caa4e305c0167ab87025cf0950b98ce75af70fd902251af7f1d8bbd594951e44f5b5426592b657780a45b7562:76c2,8f905e456c1f7b264f:0fd8,670d7a:a3a4a7a9aaabaeafb0b1b2b4b5b6b7b8b9babbbcbdbec0c1c2c3c4c5c6c7c8c9cacccdcecfd0d1d2d3d4d5d7d8dadbdcdde1e2e4e7e8e9eaebeceef0f1f2f3#f4f5f6f7f8fbfcfe,7b:0001020507090c0d0e1012131617181a1c1d1f21222327292d,6d:6eaa,798f88b15f17752b629a8f854fef91dc65a781:2f51,5e9c81508d74526f89868d4b590d50854ed8961c723681798d1f5bcc8ba3964459877f1a549056:760e,8be565396982949976d66e895e72751867:46d1,7aff809d8d76611f79c665628d635188521a94a27f38809b7eb25c976e2f67607bd9768b9ad8818f7f947cd5641e95507a3f54:4ae5,6b4c640162089e3d80f3759952729769845b683c86e496:0194,94ec4e2a54047ed968398ddf801566f45e9a7fb97b:2f303234353637393b3d3f404142434446484a4d4e535557595c5e5f61636465666768696a6b6c6d6f70737476787a7c7d7f81828384868788898a8b8c8e8f#9192939698999a9b9e9fa0a3a4a5aeafb0b2b3b5b6b7b9babbbcbdbebfc0c2c3c4,57c2803f68975de5653b529f606d9f9a4f9b8eac516c5bab5f135de96c5e62f18d21517194a952fe6c9f82df72d757a267848d2d591f8f9c83c754957b8d4f306cbd5b6459d19f1353e486ca9aa88c3780a16545987e56fa96c7522e74dc52505be1630289024e5662d0602a68fa51735b9851a089c27ba199867f5060ef704c8d2f51495e7f901b747089c4572d78455f529f9f95fa8f689b3c8be17678684267dc8d:ea35,523d8f8a6eda68cd950590ed56fd679c88f98fc754c87b:c5c8c9cacbcdcecfd0d2d4d5d6d7d8dbdcdedfe0e2e3e4e7e8e9ebecedeff0f2f3f4f5f6f8f9fafbfdff,7c:0001020304050608090a0d0e101112131415171819#1a1b1c1d1e20212223242528292b2c2d2e2f3031323334353637393a3b3c3d3e42,9ab85b696d776c264ea55bb39a87916361a890af97e9542b6db55bd251fd558a7f:55f0,64bc634d65f161be608d710a6c:5749,592f676d822a58d5568e8c6a6beb90dd597d801753f76d695475559d83:77cf,683879be548c4f55540876d28c8996026cb36db88d6b89109e648d3a563f9ed175d55f8872e0606854fc4ea86a2a886160528f7054c470d886799e3f6d2a5b8f5f187ea255894faf7334543c539a501954:0e7c,4e4e5ffd745a58f6846b80e1877472d07cca6e567c:434445464748494a4b4c4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f70717275767778797a7e7f8081828384858687#888a8b8c8d8e8f90939496999a9ba0a1a3a6a7a8a9abacadafb0b4b5b6b7b8babb,5f27864e552c62a44e926caa623782b154d7534e733e6ed1753b521253168bdd69d05f8a60006dee574f6b2273af68538fd87f13636260a3552475ea8c6271156da35ba65e7b8352614c9ec478fa87577c27768751f060f6714c66435e4c604d8c0e707063258f895fbd606286d456de6bc160946167534960e066668d3f79fd4f1a70e96c478b:b3f2,7ed88364660f5a5a9b426d:51f7,8c416d3b4f19706b83b7621660d1970d8d27797851fb57:3efa,673a75787a3d79ef7b957c:bfc0c2c3c4c6c9cbcecfd0d1d2d3d4d8dadbdddee1e2e3e4e5e6e7e9eaebecedeef0f1f2f3f4f5f6f7f9fafcfdfeff,7d:000102030405060708090b0c0d0e0f10#1112131415161718191a1b1c1d1e1f212324252628292a2c2d2e30313233343536,808c99658ff96fc08ba59e2159ec7ee97f095409678168d88f917c4d96c653ca602575be6c7253735ac97ea7632451e0810a5df184df628051805b634f0e796d524260b86d4e5b:c4c2,8b:a1b0,65e25fcc964559937e:e7aa,560967b759394f735bb652a0835a988a8d3e753294be50477a3c4ef767b69a7e5ac16b7c76d1575a5c167b3a95f4714e517c80a9827059787f04832768c067ec78:b177,62e363617b804fed526a51cf835069db92748d:f531,89c1952e7bad4ef67d:3738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6f70717273747576#78797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798,506582305251996f6e:1085,6da75efa50f559dc5c066d466c5f7586848b686859568bb253209171964d854969127901712680f64ea490ca6d479a845a0756bc640594f077eb4fa5811a72e189d2997a7f347ede527f655991758f:7f83,53eb7a9663:eda5,768679f888579636622a52ab8282685467706377776b7aed6d017ed389e359d0621285c982a5754c501f4ecb75a58beb5c4a5dfe7b4b65a491d14eca6d25895f7d2795264ec58c288fdb9773664b79818fd170ec6d787d:999a9b9c9d9e9fa0a1a2a3a4a5a7a8a9aaabacadafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9#dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fa,5c3d52b283465162830e775b66769cb84eac60ca7c:beb3,7ecf4e958b66666f988897595883656c955c5f8475c997567a:dfde,51c070af7a9863ea7a767ea0739697ed4e4570784e5d915253a965:51e7,81fc8205548e5c31759a97a062d872d975bd5c459a7983ca5c40548077e94e3e6cae805a62d2636e5de851778ddd8e1e952f4ff153e560e770ac526763509e435a1f5026773753777ee26485652b628963985014723589c951b38bc07edd574783cc94a7519b541b5cfb7d:fbfcfdfeff,7e:000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f30313233343536373839#3a3c3d3e3f40424344454648494a4b4c4d4e4f505152535455565758595a5b5c5d,4fca7ae36d5a90e19a8f55805496536154af5f0063e9697751ef6168520a582a52d8574e780d770b5eb761777ce062:5b97,4ea27095800362f770e49760577782db67ef68f578d5989779d158f354b353ef6e34514b523b5ba28bfe80af554357a660735751542d7a7a60505b5463a762a053e362635bc767af54ed7a9f82e691775e9388e4593857ae630e8de880ef57577b774fa95feb5bbd6b3e53217b5072c2684677:ff36,65f751b54e8f76d45cbf7aa58475594e9b4150807e:5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f8081838485868788898a8b8c8d8e8f909192939495969798999a9c9d9e#aeb4bbbcd6e4ecf9,7f:0a101e37393b3c3d3e3f404143464748494a4b4c4d4e4f5253,998861276e8357646606634656f062:ec69,5ed39614578362c955878721814a8fa3556683b167658d5684dd5a6a680f62e67bee961151706f9c8c3063fd89c861d27f0670c26ee57405699472fc5eca90ce67176d6a635e52b3726280014f6c59e5916a70d96d9d52d24e5096f7956d857e78ca7d2f5121579264c2808b7c7b6cea68f1695e51b7539868a872819ece7bf172f879bb6f137406674e91cc9ca4793c83:8954,540f68174e3d538952b1783e5386522950884f:8bd0,7f:56595b5c5d5e6063646566676b6c6d6f7073757677787a7b7c7d7f8082838485868788898b8d8f9091929395969798999b9ca0a2a3a5a6a8a9aaabacadaeb1#b3b4b5b6b7babbbec0c2c3c4c6c7c8c9cbcdcfd0d1d2d3d6d7d9dadbdcdddee2e3,75e27acb7c926ca596b6529b748354e94fe9805483b28fde95705ec9601c6d9f5e18655b813894fe604b70bc7ec37cae51c968817cb1826f4e248f8691cf667e4eae8c0564a9804a50da759771ce5be58fbd6f664e86648295635ed66599521788c270c852a3730e7433679778f797164e3490bb9cde6dcb51db8d41541d62ce73b283f196f69f8494c34f367f9a51cc707596755cad988653e64ee46e9c740969b4786b998f7559521876246d4167f3516d9f99804b54997b3c7abf7f:e4e7e8eaebecedeff2f4f5f6f7f8f9fafdfeff,80:020708090a0e0f11131a1b1d1e1f2123242b2c2d2e2f303234393a3c3e404144454748494e4f505153555657#595b5c5d5e5f6061626364656667686b6c6d6e6f7072737475767778797a7b7c7d,9686578462e29647697c5a0464027bd36f0f964b82a6536298855e90708963b35364864f9c819e93788c97328d:ef42,9e7f6f5e79845f559646622e9a74541594dd4fa365c55c:6561,7f1586516c2f5f8b73876ee47eff5ce6631b5b6a6ee653754e7163a0756562a18f6e4f264ed16ca67eb68bba841d87ba7f57903b95237ba99aa188f8843d6d1b9a867edc59889ebb739b780186829a:6c82,561b541757cb4e709ea653568fc881097792999286ee6ee1851366fc61626f2b80:7e818285888a8d8e8f909192949597999ea3a6a7a8acb0b3b5b6b8b9bbc5c7c8c9cacbcfd0d1d2d3d4d5d8dfe0e2e3e6eef5f7f9fbfeff,81:000103040507080b#0c1517191b1c1d1f202122232425262728292a2b2d2e3033343537393a3b3c3d3f,8c298292832b76f26c135fd983bd732b8305951a6bdb77db94c6536f830251925e3d8c8c8d384e4873ab679a68859176970971646ca177095a9295416bcf7f8e66275bd059b95a9a95:e8f7,4eec84:0c99,6aac76df9530731b68a65b5f772f919a97617cdc8ff78c1c5f257c7379d889c56ccc871c5bc65e4268c977207ef551:954d,52c95a297f05976282d763cf778485d079d26e3a5e9959998511706d6c1162bf76bf654f60af95fd660e879f9e2394ed54:0d7d,8c2c647881:40414243444547494d4e4f525657585b5c5d5e5f6162636466686a6b6c6f727375767778818384858687898b8c8d8e90929394959697999a9e9fa0a1a2a4a5#a7a9abacadaeafb0b1b2b4b5b6b7b8b9bcbdbebfc4c5c7c8c9cbcdcecfd0d1d2d3,647986116a21819c78e864699b5462b9672b83ab58a89ed86cab6f205bde964c8c0b725f67d062c772614ea959c66bcd589366ae5e5552df6155672876ee776672677a4662ff54:ea50,94a090a35a1c7eb36c164e435976801059485357753796be56ca63208111607c95f96dd65462998151855ae980fd59ae9713502a6ce55c3c62df4f60533f817b90066eba852b62c85e7478be64b5637b5ff55a18917f9e1f5c3f634f80425b7d556e95:4a4d,6d8560a867e072de51dd5b8181:d4d5d6d7d8d9dadbdcdddedfe0e1e2e4e5e6e8e9ebeeeff0f1f2f5f6f7f8f9fafdff,82:030708090a0b0e0f111315161718191a1d2024252627292e323a3c3d3f#404142434546484a4c4d4e5051525354555657595b5c5d5e606162636465666769,62e76cde725b626d94ae7ebd81136d53519c5f04597452aa6012597366968650759f632a61e67cef8bfa54e66b279e256bb485d5545550766ca4556a8db4722c5e156015743662cd6392724c5f986e436d3e65006f5876d878d076fc7554522453db4e535e9e65c180:2ad6,629b5486522870ae888d8dd16ce1547880da57f988f48d54966a914d4f696c9b55b776c6783062a870f96f8e5f6d84ec68da787c7bf781a8670b9e4f636778b0576f7812973962:79ab,528874356bd782:6a6b6c6d71757677787b7c808183858687898c90939495969a9b9ea0a2a3a7b2b5b6babbbcbfc0c2c3c5c6c9d0d6d9dadde2e7e8e9eaecedeef0f2f3f5f6f8#fafcfdfeff,83:000a0b0d1012131618191d1e1f20212223242526292a2e3032373b3d,5564813e75b276ae533975de50fb5c418b6c7bc7504f72479a9798d86f0274e27968648777a562fc98918d2b54c180584e52576a82f9840d5e7351ed74f68bc45c4f57616cfc98875a4678349b448feb7c955256625194fa4ec68386846183e984b257d467345703666e6d668c3166dd7011671f6b3a6816621a59bb4e0351c46f0667d26c8f517668cb59476b6775665d0e81109f5065d779:4841,9a918d775c824e5e4f01542f5951780c56686c148fc45f036c:7de3,8bab639083:3e3f41424445484a4b4c4d4e5355565758595d6270717273747576797a7e7f808182838487888a8b8c8d8f909194959697999a9d9fa1a2a3a4a5a6a7acadae#afb5bbbebfc2c3c4c6c8c9cbcdced0d1d2d3d5d7d9dadbdee2e3e4e6e7e8ebeced,60706d3d7275626694:8ec5,53438fc17b7e4edf8c264e7e9ed494:b1b3,524d6f5c90636d458c3458115d4c6b:2049,67aa545b81547f8c589985375f3a62a26a47953965726084686577a74e544fa85de7979864ac7fd85ced4fcf7a8d520783044e14602f7a8394a64fb54eb279e6743452e482b964d279bd5bdd6c8197528f7b6c22503e537f6e0564ce66746c3060c598778bf75e86743c7a7779cb4e1890b174036c4256da914b6cc58d8b533a86c666f28eaf5c489a716e2083:eeeff3f4f5f6f7fafbfcfeff,84:0002050708090a10121314151617191a1b1e1f20212223292a2b2c2d2e2f30323334353637393a3b3e3f404142434445474849#4a4b4c4d4e4f505253545556585d5e5f606264656667686a6e6f70727477797b7c,53d65a369f8b8da353bb570898a76743919b6cc9516875ca62f372ac52:389d,7f3a7094763853749e4a69b7786e96c088d97fa471:36c3,518967d374e458e4651856b78ba9997662707ed560f970ed58ec4e:c1ba,5fcd97e74efb8ba45203598a7eab62544ecd65e5620e833884c98363878d71946eb65bb97ed2519763c967d480898339881551125b7a59828fb14e736c5d516589258f6f962e854a745e95:10f0,6da682e55f3164926d128428816e9cc3585e8d5b4e0953c184:7d7e7f8081838485868a8d8f90919293949596989a9b9d9e9fa0a2a3a4a5a6a7a8a9aaabacadaeb0b1b3b5b6b7bbbcbec0c2c3c5c6c7c8cbcccecfd2d4d5d7#d8d9dadbdcdee1e2e4e7e8e9eaebedeeeff1f2f3f4f5f6f7f8f9fafbfdfe,85:000102,4f1e6563685155d34e2764149a9a626b5ac2745f82726da968ee50e7838e7802674052396c997eb150bb5565715e7b5b665273ca82eb67495c715220717d886b95ea965564c58d6181b355846c5562477f2e58924f2455468d4f664c4e0a5c1a88f368a2634e7a0d70e7828d52fa97f65c1154e890b57ecd59628d4a86c782:0c0d,8d6664445c0461516d89793e8bbe78377533547b4f388eab6df15a207ec5795e6c885ba15a76751a80be614e6e1758f075:1f25,727253477ef385:030405060708090a0b0d0e0f101214151618191b1c1d1e2022232425262728292a2d2e2f303132333435363e3f404142444546474b4c4d4e4f505152535455#57585a5b5c5d5f60616263656667696a6b6c6d6e6f707173757677787c7d7f8081,770176db526980dc57235e08593172ee65bd6e7f8bd75c388671534177f362fe65f64ec098df86805b9e8bc653f277e24f7f5c4e9a7659cb5f0f793a58eb4e1667ff4e8b62ed8a93901d52bf662f55dc566c90024ed54f8d91ca99706c0f5e0260435ba489c68bd56536624b99965b:88ff,6388552e53d77626517d852c67a268b36b8a62928f9353d482126dd1758f4e668d4e5b70719f85af66:91d9,7f7287009ecd9f205c5e672f8ff06811675f620d7ad658855eb665706f3185:82838688898a8b8c8d8e909192939495969798999a9d9e9fa0a1a2a3a5a6a7a9abacadb1b2b3b4b5b6b8babbbcbdbebfc0c2c3c4c5c6c7c8cacbcccdced1d2#d4d6d7d8d9dadbdddedfe0e1e2e3e5e6e7e8eaebecedeeeff0f1f2f3f4f5f6f7f8,60555237800d6454887075295e05681362f4971c53cc723d8c016c3477617a0e542e77ac987a821c8bf47855671470c165af64955636601d79c153f84e1d6b7b80865bfa55e356db4f:3a3c,99725df3677e80386002988290015b8b8b:bcf5,641c825864de55fd82cf91654fd77d20901f7c9f50f358516eaf5bbf8bc980839178849c7b97867d96:8b8f,7ee59ad3788e5c817a57904296a7795f5b59635f7b0b84d168ad55067f2974107d2295016240584c4ed65b835979585485:f9fafcfdfe,86:0001020304060708090a0b0c0d0e0f10121314151718191a1b1c1d1e1f20212223242526282a2b2c2d2e2f3031323334353637393a3b3d3e3f40#4142434445464748494a4b4c525355565758595b5c5d5f6061636465666768696a,736d631e8e:4b0f,80ce82d462ac53f06cf0915e592a60016c70574d644a8d2a762b6ee9575b6a8075f06f6d8c:2d08,57666bef889278b363a253f970ad6c645858642a580268e0819b55107cd650188eba6dcc8d9f70eb638f6d9b6ed47ee68404684390036dd896768ba85957727985e4817e75bc8a8a68af52548e22951163d098988e44557c4f5366ff568f60d56d9552435c4959296dfb586b75:301c,606c82148146631167618fe2773a8d:f334,94c15e165385542c70c386:6d6f7072737475767778838485868788898e8f90919294969798999a9b9e9fa0a1a2a5a6abadaeb2b3b7b8b9bbbcbdbebfc1c2c3c5c8cccdd2d3d5d6d7dadc#dde0e1e2e3e5e6e7e8eaebeceff5f6f7fafbfcfdff,87:010405060b0c0e0f10111416,6c405ef7505c4ead5ead633a8247901a6850916e77b3540c94dc5f647ae5687663457b527edf75db507762955934900f51f879c37a8156fe5f9290146d825c60571f541051546e4d56e263a89893817f8715892a9000541e5c6f81c062:d658,81319e3596409a:6e7c,692d59a562d3553e631654c786d96d3c5a0374e6889c6b6a59168c4c5f2f6e7e73a9987d4e3870f75b8c7897633d665a769660cb5b9b5a494e0781556c6a738b4ea167897f515f8065fa671b5fd859845a0187:191b1d1f20242627282a2b2c2d2f303233353638393a3c3d404142434445464a4b4d4f505152545556585a5b5c5d5e5f6162666768696a6b6c6d6f71727375#7778797a7f8081848687898a8c8e8f90919294959698999a9b9c9d9ea0a1a2a3a4,5dcd5fae537197e68fdd684556f4552f60df4e3a6f4d7ef482c7840e59d44f:1f2a,5c3e7eac672a851a5473754f80c355829b4f4f4d6e2d8c135c096170536b761f6e29868a658795fb7eb9543b7a337d0a95ee55e17fc174ee631d87176da17a9d621165a1536763e16c835deb545c94a84e4c6c618bec5c4b65e0829c68a754:3e34,6b:cb66,4e9463425348821e4f:0dae,575e620a96fe6664726952:ffa1,609f8bef661471996790897f785277fd6670563b54389521727a87:a5a6a7a9aaaeb0b1b2b4b6b7b8b9bbbcbebfc1c2c3c4c5c7c8c9cccdcecfd0d4d5d6d7d8d9dadcdddedfe1e2e3e4e6e7e8e9ebecedeff0f1f2f3f4f5f6f7f8#fafbfcfdff,88:0001020405060708090b0c0d0e0f101112141718191a1c1d1e1f2023,7a00606f5e0c6089819d591560dc718470ef6eaa6c5072806a8488ad5e2d4e605ab3559c94e36d177cfb9699620f7ec6778e867e5323971e8f9666875ce14fa072ed4e0b53a6590f54136380952851484ed99c9c7ea454b88d248854823795f26d8e5f265acc663e966973:b02e,53bf817a99857fa15baa96:7750,7ebf76f853a2957699997bb189446e584e617fd479658be660f354cd4eab98795df76a6150cf54118c618427785d9704524a54ee56a395006d885bb56dc6665388:2425262728292a2b2c2d2e2f30313334353637383a3b3d3e3f414243464748494a4b4e4f505152535556585a5b5c5d5e5f6066676a6d6f717374757678797a#7b7c80838687898a8c8e8f90919394959798999a9b9d9e9fa0a1a3a5a6a7a8a9aa,5c0f5b5d6821809655787b11654869544e9b6b47874e978b534f631f643a90aa659c80c18c10519968b0537887f961c86c:c4fb,8c225c5185aa82af950c6b238f9b65b05f:fbc3,4fe18845661f8165732960fa51745211578b5f6290a2884c91925e78674f602759d351:44f6,80f853086c7996c4718a4f:11ee,7f9e673d55c5950879c088967ee3589f620c9700865a5618987b5f908bb884c4915753d965ed5e8f755c60647d6e5a7f7e:eaed,8f6955a75ba360ac65cb738488:acaeafb0b2b3b4b5b6b8b9babbbdbebfc0c3c4c7c8cacbcccdcfd0d1d3d6d7dadbdcdddee0e1e6e7e9eaebecedeeeff2f5f6f7fafbfdff,89:0001030405060708#090b0c0d0e0f1114151617181c1d1e1f20222324262728292c2d2e2f3132333537,9009766377297eda9774859b5b667a7496ea884052cb718f5faa65ec8be25bfb9a6f5de16b896c5b8b:adaf,900a8fc5538b62bc9e:262d,54404e2b82bd7259869c5d1688596daf96c554d14e9a8bb6710954bd960970df6df976d04e25781487125ca95ef68a00989c960e708e6cbf594463a9773c884d6f148273583071d5538c781a96c155015f6671305bb48c1a9a8c6b83592e9e2f79e76768626c4f6f75a17f8a6d0b96336c274ef075d2517b68376f3e908081705996747689:38393a3b3c3d3e3f40424345464748494a4b4c4d4e4f505152535455565758595a5b5c5d6061626364656768696a6b6c6d6e6f707172737475767778797a7c#7d7e808284858788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1,64475c2790657a918c2359da54ac8200836f898180006930564e8036723791ce51b64e5f987563964e1a53f666f3814b591c6db24e0058f9533b63d694f14f:9d0a,886398905937905779fb4eea80f075916c825b9c59e85f5d69058681501a5df24e5977e34ee5827a6291661390915c794ebf5f7981c69038808475ab4ea688d4610f6bc55fc64e4976ca6ea28b:e3ae,8c0a8bd15f027f:fccc,7ece83:356b,56e06bb797f3963459fb541f94f66deb5bc5996e5c395f15969089:a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c3cdd3d4d5d7d8d9dbdddfe0e1e2e4e7e8e9eaecedeef0f1f2f4f5f6f7f8f9fa#fbfcfdfeff,8a:01020304050608090a0b0c0d0e0f101112131415161718191a1b1c1d,537082f16a315a749e705e947f2883b984:2425,836787478fce8d6276c85f719896786c662054df62e54f6381c375c85eb896cd8e0a86f9548f6cf36d8c6c38607f52c775285e7d4f1860a05fe75c24753190ae94c072b96cb96e389149670953:cbf3,4f5191c98bf153c85e7c8fc26de44e8e76c26986865e611a82064f:59de,903e9c7c61096e:1d14,96854e885a3196e84e0e5c7f79b95b878bed7fbd738957df828b90c15401904755bb5cea5fa161086b3272f180b28a:891e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3f4041424344454647494a4b4c4d4e4f505152535455565758595a5b5c5d5e#5f606162636465666768696a6b6c6d6e6f7071727374757677787a7b7c7d7e7f80,6d745bd388d598848c6b9a6d9e336e0a51:a443,57a38881539f63f48f9556ed54585706733f6e907f188fdc82d1613f6028966266f07ea68d:8ac3,94a55cb37ca4670860a6960580184e9190e75300966851418fd08574915d665597f55b55531d78386742683d54c9707e5bb08f7d518d572854b1651266828d:5e43,810f846c906d7cdf51ff85fb67a365e96fa186a48e81566a90207682707671e58d2362e952196cfd8d3c600e589e618e66fe8d60624e55b36e23672d8f678a:81828384858687888b8c8d8e8f9091929495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2#c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3,94e195f87728680569a8548b4e4d70b88bc86458658b5b857a84503a5be877bb6be18a797c986cbe76cf65a98f975d2d5c5586386808536062187ad96e5b7efd6a1f7ae05f706f335f20638c6da867564e085e108d264ed780c07634969c62db662d627e6cbc8d7571677f695146808753ec906e629854f286f08f998005951785178fd96d5973cd659f771f7504782781fb8d1e94884fa6679575b98bca9707632f9547963584b8632377415f8172f04e896014657462ef6b63653f8a:e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,8b:0001020304050608090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20212223#24252728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445,5e2775c790d18bc1829d679d652f5431871877e580a281026c414e4b7ec7804c76f4690d6b966267503c4f84574063076b628dbe53ea65e87eb85fd763:1ab7,81:f3f4,7f6e5e1c5cd95236667a79e97a1a8d28709975d46ede6cbb7a924e2d76c55fe0949f88777ec879cd80bf91cd4ef24f17821f54685dde6d328bcc7ca58f7480985e1a549276b15b99663c9aa473e0682a86db6731732a8b:f8db,90107af970db716e62c477a956314e3b845767f152a986c08d2e94f87b518b:464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f6061626364656768696a6b6d6e6f707172737475767778797a7b7c7d7e7f80818283848586#8788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9facb1bbc7d0ea,8c:091e,4f4f6ce8795d9a7b6293722a62fd4e1378168f6c64b08d5a7bc668695e8488c55986649e58ee72b6690e95258ffd8d5857607f008c0651c6634962d95353684c74228301914c55447740707c6d4a517954a88d4459ff6ecb6dc45b5c7d2b4ed47c7d6ed35b5081ea6e0d5b579b0368d58e2a5b977efc603b7eb590b98d70594f63cd79df8db3535265cf79568bc5963b7ec494bb7e825634918967007f6a5c0a907566285de64f5067de505a4f5c57505e:a7#3$,8c:38393a3b3c3d3e3f4042434445484a4b4d4e4f5051525354565758595b5c5d5e5f60636465666768696c6d6e6f707172747576777b7c7d7e7f808183848687#888b8d8e8f90919293959697999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacad,4e:8d0c,51404e105eff53454e:15981e,9b325b6c56694e2879ba4e3f53154e47592d723b536e6c1056df80e499976bd3777e9f174e:369f,9f104e:5c6993,82885b5b556c560f4ec453:8d9da3a5ae,97658d5d53:1af5262e3e,8d5c53:6663,52:02080e2d333f404c5e615c,84af52:7d82819093,51827f544e:bbc3c9c2e8e1ebde,4f1b4ef34f:2264,4ef54f:2527092b5e67,65384f:5a5d,8c:aeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebec#edeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,8d:000102030405060708090a0b0c0d,4f:5f57323d76749189838f7e7baa7cac94e6e8eac5dae3dcd1dff8,50:294c,4ff350:2c0f2e2d,4ffe50:1c0c25287e4355484e6c7ba5a7a9bad6,510650:edece6ee,51:070b,4edd6c3d4f:5865ce,9fa06c467c74516e5dfd9ec999985181591452f9530d8a07531051eb591951554ea051564eb388:6ea4,4eb5811488d279805b3488037fb851:abb1bdbc,8d:0e0f101112131415161718191a1b1c205152575f6568696a6c6e6f717278797a7b7c7d7e7f808283868788898c8d8e8f90929395969798999a9b9c9d9ea0a1#a2a4a5a6a7a8a9aaabacadaeafb0b2b6b7b9bbbdc0c1c2c5c7c8c9cacdd0d2d3d4,51:c796a2a5,8b:a0a6a7aab4b5b7c2c3cbcfced2d3d4d6d8d9dcdfe0e4e8e9eef0f3f6f9fcff,8c:000204070c0f1112141516191b181d1f202125272a2b2e2f32333536,53:697a,96:1d2221312a3d3c4249545f676c7274888d97b0,90:979b9d99aca1b4b3b6ba,8d:d5d8d9dce0e1e2e5e6e7e9edeef0f1f2f4f6fcfeff,8e:00010203040607080b0d0e1011121315161718191a1b1c202124252627282b2d303233343637383b3c3e#3f4345464c4d4e4f505354555657585a5b5c5d5e5f60616263646567686a6b6e71,90:b8b0cfc5bed0c4c7d3e6e2dcd7dbebeffe,91:04221e23312f394346,520d594252:a2acadbe,54ff52:d0d6f0,53df71ee77cd5ef451:f5fc,9b2f53b65f01755a5def57:4ca9a1,58:7ebcc5d1,57:292c2a33392e2f5c3b4269856b867c7b686d7673ada48cb2cfa7b493a0d5d8dad9d2b8f4eff8e4dd,8e:73757778797a7b7d7e808283848688898a8b8c8d8e91929395969798999a9b9d9fa0a1a2a3a4a5a6a7a8a9aaadaeb0b1b3b4b5b6b7b8b9bbbcbdbebfc0c1c2#c3c4c5c6c7c8c9cacbcccdcfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4,58:0b0d,57:fded,58:001e194420656c81899a80,99a89f1961ff82:797d7f8f8aa8848e919799abb8beb0c8cae398b7aecbccc1a9b4a1aa9fc4cea4e1,830982:f7e4,83:0f07,82:dcf4d2d8,830c82:fbd3,83:111a061415,82:e0d5,83:1c515b5c08923c34319b5e2f4f47435f4017602d3a336665,8e:e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,8f:000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20212223#2425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f4041424344,83:681b696c6a6d6eb078b3b4a0aa939c857cb6a97db87b989ea8babcc1,840183:e5d8,580784:180b,83:ddfdd6,84:1c381106,83:d4df,84:0f03,83:f8f9eac5c0,842683:f0e1,84:5c515a597387887a89783c4669768c8e316dc1cdd0e6bdd3cabfbae0a1b9b497e5e3,850c750d853884f085:391f3a,8f:45464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f6061626364656a808c929da0a1a2a4a5a6a7aaacadaeafb2b3b4b5b7b8babbbcbfc0c3c6#c9cacbcccdcfd2d6d7dae0e1e3e7eceff1f2f4f5f6fafbfcfeff,90:07080c0e131518,85:563b,84:fffc,85:594868645e7a,77a285:43727ba4a8878f79ae9c85b9b7b0d3c1dcff,86:270529163c,5efe5f0859:3c41,803759:555a58,530f5c:22252c34,62:4c6a9fbbcadad7ee,632262f663:394b43adf6717a8eb46dac8a69aebcf2f8e0ffc4dece,645263:c6be,64:45410b1b200c26215e846d96,90:191c2324252728292a2b2c303132333437393a3d3f4043454648494a4b4c4e545556595a5c5d5e5f6061646667696a6b6c6f70717273767778797a7b7c7e81#84858687898a8c8d8e8f90929496989a9c9e9fa0a4a5a7a8a9abadb2b7bcbdbfc0,64:7ab7b899bac0d0d7e4e2,65:09252e,5f:0bd2,75195f1153:5ff1fde9e8fb,54:1216064b5253545643215759233282947771649a9b8476669dd0adc2b4d2a7a6d3d472a3d5bbbfccd9dadca9aaa4ddcfde,551b54e7552054fd551454f355:22230f11272a678fb5496d41553f503c,90:c2c3c6c8c9cbcccdd2d4d5d6d8d9dadedfe0e3e4e5e9eaeceef0f1f2f3f5f6f7f9fafbfcff,91:00010305060708090a0b0c0d0e0f1011121314151617181a1b1c#1d1f20212425262728292a2b2c2d2e30323334353637383a3b3c3d3e3f40414244,55:375675767733305c8bd283b1b988819f7ed6917bdfbdbe9499eaf7c9,561f55:d1ebecd4e6ddc4efe5f2f3cccde8f5e4,8f9456:1e080c012423,55fe56:00272d5839572c4d62595c4c548664716b7b7c8593afd4d7dde1f5ebf9ff,57:040a091c,5e:0f191411313b3c,91:454748515354555658595b5c5f606667686b6d737a7b7c808182838486888a8e8f939495969798999c9d9e9fa0a1a4a5a6a7a8a9abacb0b1b2b3b6b7b8b9bb#bcbdbebfc0c1c2c3c4c5c6c8cbd0d2d3d4d5d6d7d8d9dadbdddedfe0e1e2e3e4e5,5e:3744545b5e61,5c:8c7a8d9096889899919a9cb5a2bdacabb1a3c1b7c4d2e4cbe5,5d:020327262e241e061b583e343d6c5b6f5d6b4b4a697482999d,8c735d:b7c5,5f:73778287898c95999ca8adb5bc,88625f6172:adb0b4b7b8c3c1cecdd2e8efe9f2f4f7,730172f3730372fa91:e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,92:000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f2021222324#25262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445,72fb73:1713210a1e1d152239252c3831504d57606c6f7e,821b592598e759:2402,99:636768696a6b6c74777d8084878a8d9091939495,5e:80918b96a5a0b9b5beb3,8d535e:d2d1dbe8ea,81ba5f:c4c9d6cf,60035fee60045f:e1e4fe,60:0506,5f:eaedf8,60:1935261b0f0d292b0a3f2178797b7a42,92:464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f7071727375767778797a7b7c7d7e7f808182838485#868788898a8b8c8d8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7,60:6a7d969aad9d83928c9becbbb1ddd8c6dab4,61:20261523,60f461:000e2b4a75ac94a7b7d4f5,5fdd96b395:e9ebf1f3f5f6fcfe,96:030406080a0b0c0d0f12151617191a,4e2c723f62156c:35545c4aa38590948c6869747686a9d0d4adf7f8f1d7b2e0d6faebeeb1d3effe,92:a8a9aaabacadafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8#e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,93:00010203040506070809,6d:39270c43480704190e2b4d2e351a4f525433916f9ea05e93945c607c63,6e1a6d:c7c5de,6e0e6d:bfe0,6e116d:e6ddd9,6e166dab6e0c6dae6e:2b6e4e6bb25f865354322544dfb198e0,6f2d6e:e2a5a7bdbbb7d7b4cf8fc29f,6f:6246472415,6ef96f:2f364b742a0929898d8c78727c7ad1,93:0a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3f40414243444546474849#4a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696b,6f:c9a7b9b6c2e1eedee0ef,70:1a231b39354f5e,5b:80849593a5b8,752f9a9e64345b:e4ee,89305bf08e478b078f:b6d3d5e5eee4e9e6f3e8,90:05040b26110d162135362d2f445152506858625b,66b990:747d8288838b,5f:50575658,5c3b54ab5c:5059,5b715c:6366,7fbc5f:2a292d,82745f3c9b3b5c6e59:81838da9aaa3,93:6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaab#acadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cbcccd,59:97caab9ea4d2b2afd7be,5a:0506,59dd5a0859:e3d8f9,5a:0c09323411231340674a553c6275,80ec5a:aa9b777abeebb2d2d4b8e0e3f1d6e6d8dc,5b:091716323740,5c:151c,5b:5a6573515362,9a:7577787a7f7d808185888a90929396989b9c9d9fa0a2a3a5a7,7e:9fa1a3a5a8a9,93:cecfd0d1d2d3d4d5d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,94:000102030405060708090a0b0c0d#0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e,7e:adb0bec0c1c2c9cbccd0d4d7dbe0e1e8ebeeeff1f2,7f0d7e:f6fafbfe,7f:01020307080b0c0f111217191c1b1f212223242526272a2b2c2d2f3031323335,5e7a757f5ddb753e909573:8e91aea29fcfc2d1b7b3c0c9c8e5d9,987c740a73:e9e7debaf2,74:0f2a5b262528302e2c,94:2f303132333435363738393a3b3c3d3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6c6d6e6f#707172737475767778797a7b7c7d7e7f8081828384919698c7cfd3d4dae6fb,95:1c20,74:1b1a415c575559776d7e9c8e8081878b9ea8a990a7d2ba,97:eaebec,67:4c535e4869a5876a7398a775a89ead8b777cf0,680967d8680a67:e9b0,680c67:d9b5dab3dd,680067:c3b8e2,680e67:c1fd,68:323360614e624464831d55664167403e4a4929b58f7477936bc2,696e68fc69:1f20,68f995:27333d43484b555a606e74757778797a7b7c7d7e808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aa#abacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacb,692468f069:0b0157,68e369:10713960425d846b80987834cc8788ce896663799ba7bbabadd4b1c1cadf95e08dff,6a2f69ed6a:171865,69f26a:443ea0505b358e793d28587c9190a997ab,73:3752,6b:8182878492938d9a9ba1aa,8f:6b6d71727375767877797a7c7e818284878b,95:cccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7ecff,96:0713181b1e20232425262728292b2c2d2f303738393a3e41434a4e4f5152535657#58595a5c5d5e606365666b6d6e6f70717378797a7b7c7d7e7f808182838487898a,8f:8d8e8f989a,8ece62:0b171b1f222125242c,81e774:eff4ff,75:0f1113,65:34eeeff0,66:0a19,677266:031500,708566:f71d34313635,800666:5f54414f56615777848ca79dbedbdce6e9,8d:3233363b3d4045464849474d5559,89:c7cacbcccecfd0d1,72:6e9f5d666f7e7f848b8d8f92,63:0832b0,96:8c8e91929395969a9b9d9e9fa0a1a2a3a4a5a6a8a9aaabacadaeafb1b2b4b5b7b8babbbfc2c3c8cacbd0d1d3d4d6d7d8d9dadbdcdddedfe1e2e3e4e5e6e7eb#ecedeef0f1f2f4f5f8fafbfcfdff,97:0203050a0b0c10111214151718191a1b1d1f20,64:3fd8,80046b:eaf3fdf5f9,6c:0507060d1518191a2129242a32,65:35556b,72:4d525630,8662521680:9f9c93bc,670a80:bdb1abadb4b7e7e8e9eadbc2c4d9cdd7,671080:ddebf1f4ed,81:0d0e,80:f2fc,671581128c5a81:361e2c1832484c5374595a7160697c7d6d67,584d5ab581:888291,6ed581:a3aacc,672681:cabb,97:2122232425262728292b2c2e2f3133343536373a3b3c3d3f404142434445464748494a4b4c4d4e4f5051545557585a5c5d5f63646667686a6b6c6d6e6f7071#72757778797a7b7d7e7f8081828384868788898a8c8e8f9093959697999a9b9c9d,81:c1a6,6b:243739434659,98:d1d2d3d5d9da,6bb35f406bc289f365909f5165:93bcc6c4c3ccced2d6,70:809c969dbbc0b7abb1e8ca,71:1013162f31735c6845724a787a98b3b5a8a0e0d4e7f9,72:1d28,706c71:1866b9,62:3e3d434849,79:3b4046495b5c535a6257606f677a858a9aa7b3,5f:d1d0,97:9e9fa1a2a4a5a6a7a8a9aaacaeb0b1b3b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3#e4e5e8eeeff0f1f2f4f7f8f9fafbfcfdfeff,98:000102030405060708090a0b0c0d0e,60:3c5d5a67415963ab,61:060d5da99dcbd1,620680:807f,6c:93f6,6dfc77:f6f8,78:0009171811,65ab78:2d1c1d393a3b1f3c252c23294e6d56572650474c6a9b939a879ca1a3b2b9a5d4d9c9ecf2,790578f479:13241e34,9f9b9e:f9fbfc,76f177:040d,76f977:07081a22192d263538505147435a68,98:0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d#4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e,77:62657f8d7d808c919fa0b0b5bd,75:3a404e4b485b727983,7f:58615f,8a487f:68747179817e,76:cde5,883294:8586878b8a8c8d8f909497959a9b9ca3a4abaaadacafb0b2b4b6b7b8b9babcbdbfc4c8c9cacbcccdced0d1d2d5d6d7d9d8dbdedfe0e2e4e5e7e8ea,98:6f70717273748b8e929599a3a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcfd0d4d6d7dbdcdde0e1e2e3e4#e5e6e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,99:0001020304050607,94:e9ebeeeff3f4f5f7f9fcfdff,95:03020607090a0d0e0f1213141516181b1d1e1f222a2b292c3132343637383c3e3f4235444546494c4e4f525354565758595b5e5f5d61626465666768696a6b6c6f7172733a,77:e7ec,96c979:d5ede3eb,7a065d477a:03021e14,99:08090a0b0c0e0f1112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2f303132333435363738393a3b3c3d3e3f40414243444546474849#4a4b4c4d4e4f50515253565758595a5b5c5d5e5f60616264667378797b7e828389,7a:393751,9ecf99a57a7076:888e9399a4,74:dee0,752c9e:202228292a2b2c3231363837393a3e414244464748494b4c4e5155575a5b5c5e63666768696a6b6c716d73,75:929496a09daca3b3b4b8c4b1b0c3c2d6cde3e8e6e4ebe7,760375:f1fcff,76:1000050c170a25181519,99:8c8e9a9b9c9d9e9fa0a1a2a3a4a6a7a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8#d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9,76:1b3c2220402d303f35433e334d5e545c566b6f,7fca7a:e6787980868895a6a0aca8adb3,88:6469727d7f82a2c6b7bcc9e2cee3e5f1,891a88:fce8fef0,89:2119131b0a342b3641667b,758b80e576:b2b4,77dc80:1214161c20222526272928310b3543464d526971,898398:788083,99:fafbfcfdfeff,9a:000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738#393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f50515253545556575859,98:898c8d8f949a9b9e9fa1a2a5a6,86:4d546c6e7f7a7c7ba88d8bac9da7a3aa93a9b6c4b5ceb0bab1afc9cfb4e9f1f2edf3d0,871386:def4dfd8d1,87:0307,86f887:080a0d09233b1e252e1a3e48343129373f82227d7e7b60704c6e8b53637c64596593afa8d2,9a:5a5b5c5d5e5f606162636465666768696a6b7283898d8e949599a6a9aaabacadaeafb2b3b4b5b9bbbdbebfc3c4c6c7c8c9cacdcecfd0d2d4d5d6d7d9dadbdc#dddee0e2e3e4e5e7e8e9eaeceef0f1f2f3f4f5f6f7f8fafcfdfeff,9b:000102040506,87:c68885ad9783abe5acb5b3cbd3bdd1c0cadbeae0ee,88:1613,87fe88:0a1b21393c,7f:36424445,82107a:fafd,7b:080304150a2b0f47382a192e31202524333e1e585a45754c5d606e7b62727190a6a7b8ac9da885aa9ca2abb4d1c1ccdddae5e6ea,7c0c7b:fefc,7c:0f160b,9b:07090a0b0c0d0e1011121415161718191a1b1c1d1e2021222425262728292a2b2c2d2e3031333435363738393a3d3e3f40464a4b4c4e50525355565758595a#5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b,7c:1f2a26384140,81fe82:010204,81ec884482:2122232d2f282b383b33343e44494b4f5a5f68,88:7e8588d8df,895e7f:9d9fa7afb0b2,7c7c65497c:919d9c9ea2b2bcbdc1c7cccdc8c5d7e8,826e66a87f:bfced5e5e1e6e9eef3,7cf87d:77a6ae,7e:479b,9e:b8b4,8d:73849491b1676d,8c:4749,91:4a504e4f64,9b:7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9ba#bbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadb,91:626170696f7d7e7274798c85908d91a2a3aaadaeafb5b4ba,8c559e7e8d:b8eb,8e:055969,8d:b5bfbcbac4d6d7dadececfdbc6ecf7f8e3f9fbe4,8e098dfd8e:141d1f2c2e232f3a4039353d3149414251524a70767c6f74858f94909c9e,8c:78828a859894,659b89:d6dedadc,9b:dcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,9c:000102030405060708090a0b0c0d0e0f101112131415161718191a#1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b,89:e5ebef,8a3e8b26975396:e9f3ef,97:0601080f0e2a2d303e,9f:808385868788898a8c,9efe9f:0b0d,96:b9bcbdced2,77bf96e092:8eaec8,93:3e6aca8f,94:3e6b,9c:7f8285868788,7a239c:8b8e90919294959a9b9e9fa0a1a2a3a5a6a7a8a9abadaeb0b1b2b3b4b5b6b7babbbcbdc4c5c6c7cacb3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a#7b7d7e808384898a8c8f93969798999daaacafb9bebfc0c1c2c8c9d1d2dadbe0e1cccdcecfd0d3d4d5d7d8d9dcdddfe2,97:7c85919294afaba3b2b4,9a:b1b0b7,9e589a:b6babcc1c0c5c2cbccd1,9b:45434749484d51,98e899:0d2e5554,9a:dfe1e6efebfbedf9,9b:080f131f23,9e:bdbe,7e3b9e:8287888b92,93d69e:9d9fdbdcdde0dfe2e9e7e5eaef,9f:222c2f39373d3e44,9c:e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,9d:000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f2021#22232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142#92$434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f8081#82838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2#92$a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1#e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,9e:000102#92$030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e24272e30343b3c404d5052535456595d5f606162656e6f727475767778797a7b7c7d80#8183848586898a8c8d8e8f90919495969798999a9b9c9ea0a1a2a3a4a5a7a8a9aa#92$abacadaeafb0b1b2b3b5b6b7b9babcbfc0c1c2c3c5c6c7c8cacbccd0d2d3d5d6d7d9dadee1e3e4e6e8ebecedeef0f1f2f3f4f5f6f7f8fafdff,9f:000102030405#060708090a0c0f1112141516181a1b1c1d1e1f21232425262728292a2b2d2e3031#92$3233343536383a3c3f4041424345464748494a4b4c4d4e4f52535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778#797a7b7c7d7e81828d8e8f9091929394959697989c9d9ea1a2a3a4a5,f9:2c7995e7f1#92$,fa:0c0d0e0f111314181f20212324272829,e8:15161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f40414243#4445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f6061626364'), + U2Ghash={}, + G2Uhash={}; + !function(data){ + var k=0; + data=data.match(/..../g); + for(var i=0x81;i<=0xfe;i++){ + for(var j=0x40;j<=0xFE;j++){ + U2Ghash[data[k++]]=('%'+i.toString(16)+'%'+j.toString(16)) + .toUpperCase(); + } + } + for(var key in U2Ghash){ + G2Uhash[U2Ghash[key]]=key; + } + }(data); + function isAscii(unicode) { + return ((unicode == 0x20AC) || (unicode <= 0x007F && unicode >= 0x0000)); + } + return{ + encode:function(str){ + return str.replace(/./g,function(a){ + var code=a.charCodeAt(0); + if(isAscii(code)){ + return encodeURIComponent(a); + }else{ + var key=code.toString(16); + if(key.length!=4)key=('000'+key).match(/....$/)[0]; + return U2Ghash[key]||a; + } + }); + }, + decode:function(str){ + return str.replace(/%[0-9A-F]{2}%[0-9A-F]{2}/g,function(a){ + if(a in G2Uhash){ + return String.fromCharCode('0x'+G2Uhash[a]); + }else{ + return a; + } + }).replace(/%[\w]{2}/g,function(a){ + return decodeURIComponent(a); + + }); + } + }; +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/南风/api/jinja.js b/tvboxqq/tvboxqq/南风/api/jinja.js new file mode 100644 index 0000000..cc02357 --- /dev/null +++ b/tvboxqq/tvboxqq/南风/api/jinja.js @@ -0,0 +1,577 @@ +/*! + * Jinja Templating for JavaScript v0.1.8 + * https://github.com/sstur/jinja-js + * + * This is a slimmed-down Jinja2 implementation [http://jinja.pocoo.org/] + * + * In the interest of simplicity, it deviates from Jinja2 as follows: + * - Line statements, cycle, super, macro tags and block nesting are not implemented + * - auto escapes html by default (the filter is "html" not "e") + * - Only "html" and "safe" filters are built in + * - Filters are not valid in expressions; `foo|length > 1` is not valid + * - Expression Tests (`if num is odd`) not implemented (`is` translates to `==` and `isnot` to `!=`) + * + * Notes: + * - if property is not found, but method '_get' exists, it will be called with the property name (and cached) + * - `{% for n in obj %}` iterates the object's keys; get the value with `{% for n in obj %}{{ obj[n] }}{% endfor %}` + * - subscript notation `a[0]` takes literals or simple variables but not `a[item.key]` + * - `.2` is not a valid number literal; use `0.2` + * + */ +/*global require, exports, module, define */ + +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : + typeof define === 'function' && define.amd ? define(['exports'], factory) : + (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.jinja = {})); +})(this, (function (jinja) { + "use strict"; + var STRINGS = /'(\\.|[^'])*'|"(\\.|[^"'"])*"/g; + var IDENTS_AND_NUMS = /([$_a-z][$\w]*)|([+-]?\d+(\.\d+)?)/g; + var NUMBER = /^[+-]?\d+(\.\d+)?$/; + //non-primitive literals (array and object literals) + var NON_PRIMITIVES = /\[[@#~](,[@#~])*\]|\[\]|\{([@i]:[@#~])(,[@i]:[@#~])*\}|\{\}/g; + //bare identifiers such as variables and in object literals: {foo: 'value'} + var IDENTIFIERS = /[$_a-z][$\w]*/ig; + var VARIABLES = /i(\.i|\[[@#i]\])*/g; + var ACCESSOR = /(\.i|\[[@#i]\])/g; + var OPERATORS = /(===?|!==?|>=?|<=?|&&|\|\||[+\-\*\/%])/g; + //extended (english) operators + var EOPS = /(^|[^$\w])(and|or|not|is|isnot)([^$\w]|$)/g; + var LEADING_SPACE = /^\s+/; + var TRAILING_SPACE = /\s+$/; + + var START_TOKEN = /\{\{\{|\{\{|\{%|\{#/; + var TAGS = { + '{{{': /^('(\\.|[^'])*'|"(\\.|[^"'"])*"|.)+?\}\}\}/, + '{{': /^('(\\.|[^'])*'|"(\\.|[^"'"])*"|.)+?\}\}/, + '{%': /^('(\\.|[^'])*'|"(\\.|[^"'"])*"|.)+?%\}/, + '{#': /^('(\\.|[^'])*'|"(\\.|[^"'"])*"|.)+?#\}/ + }; + + var delimeters = { + '{%': 'directive', + '{{': 'output', + '{#': 'comment' + }; + + var operators = { + and: '&&', + or: '||', + not: '!', + is: '==', + isnot: '!=' + }; + + var constants = { + 'true': true, + 'false': false, + 'null': null + }; + + function Parser() { + this.nest = []; + this.compiled = []; + this.childBlocks = 0; + this.parentBlocks = 0; + this.isSilent = false; + } + + Parser.prototype.push = function (line) { + if (!this.isSilent) { + this.compiled.push(line); + } + }; + + Parser.prototype.parse = function (src) { + this.tokenize(src); + return this.compiled; + }; + + Parser.prototype.tokenize = function (src) { + var lastEnd = 0, parser = this, trimLeading = false; + matchAll(src, START_TOKEN, function (open, index, src) { + //here we match the rest of the src against a regex for this tag + var match = src.slice(index + open.length).match(TAGS[open]); + match = (match ? match[0] : ''); + //here we sub out strings so we don't get false matches + var simplified = match.replace(STRINGS, '@'); + //if we don't have a close tag or there is a nested open tag + if (!match || ~simplified.indexOf(open)) { + return index + 1; + } + var inner = match.slice(0, 0 - open.length); + //check for white-space collapse syntax + if (inner.charAt(0) === '-') var wsCollapseLeft = true; + if (inner.slice(-1) === '-') var wsCollapseRight = true; + inner = inner.replace(/^-|-$/g, '').trim(); + //if we're in raw mode and we are not looking at an "endraw" tag, move along + if (parser.rawMode && (open + inner) !== '{%endraw') { + return index + 1; + } + var text = src.slice(lastEnd, index); + lastEnd = index + open.length + match.length; + if (trimLeading) text = trimLeft(text); + if (wsCollapseLeft) text = trimRight(text); + if (wsCollapseRight) trimLeading = true; + if (open === '{{{') { + //liquid-style: make {{{x}}} => {{x|safe}} + open = '{{'; + inner += '|safe'; + } + parser.textHandler(text); + parser.tokenHandler(open, inner); + }); + var text = src.slice(lastEnd); + if (trimLeading) text = trimLeft(text); + this.textHandler(text); + }; + + Parser.prototype.textHandler = function (text) { + this.push('write(' + JSON.stringify(text) + ');'); + }; + + Parser.prototype.tokenHandler = function (open, inner) { + var type = delimeters[open]; + if (type === 'directive') { + this.compileTag(inner); + } else if (type === 'output') { + var extracted = this.extractEnt(inner, STRINGS, '@'); + //replace || operators with ~ + extracted.src = extracted.src.replace(/\|\|/g, '~').split('|'); + //put back || operators + extracted.src = extracted.src.map(function (part) { + return part.split('~').join('||'); + }); + var parts = this.injectEnt(extracted, '@'); + if (parts.length > 1) { + var filters = parts.slice(1).map(this.parseFilter.bind(this)); + this.push('filter(' + this.parseExpr(parts[0]) + ',' + filters.join(',') + ');'); + } else { + this.push('filter(' + this.parseExpr(parts[0]) + ');'); + } + } + }; + + Parser.prototype.compileTag = function (str) { + var directive = str.split(' ')[0]; + var handler = tagHandlers[directive]; + if (!handler) { + throw new Error('Invalid tag: ' + str); + } + handler.call(this, str.slice(directive.length).trim()); + }; + + Parser.prototype.parseFilter = function (src) { + src = src.trim(); + var match = src.match(/[:(]/); + var i = match ? match.index : -1; + if (i < 0) return JSON.stringify([src]); + var name = src.slice(0, i); + var args = src.charAt(i) === ':' ? src.slice(i + 1) : src.slice(i + 1, -1); + args = this.parseExpr(args, {terms: true}); + return '[' + JSON.stringify(name) + ',' + args + ']'; + }; + + Parser.prototype.extractEnt = function (src, regex, placeholder) { + var subs = [], isFunc = typeof placeholder == 'function'; + src = src.replace(regex, function (str) { + var replacement = isFunc ? placeholder(str) : placeholder; + if (replacement) { + subs.push(str); + return replacement; + } + return str; + }); + return {src: src, subs: subs}; + }; + + Parser.prototype.injectEnt = function (extracted, placeholder) { + var src = extracted.src, subs = extracted.subs, isArr = Array.isArray(src); + var arr = (isArr) ? src : [src]; + var re = new RegExp('[' + placeholder + ']', 'g'), i = 0; + arr.forEach(function (src, index) { + arr[index] = src.replace(re, function () { + return subs[i++]; + }); + }); + return isArr ? arr : arr[0]; + }; + + //replace complex literals without mistaking subscript notation with array literals + Parser.prototype.replaceComplex = function (s) { + var parsed = this.extractEnt(s, /i(\.i|\[[@#i]\])+/g, 'v'); + parsed.src = parsed.src.replace(NON_PRIMITIVES, '~'); + return this.injectEnt(parsed, 'v'); + }; + + //parse expression containing literals (including objects/arrays) and variables (including dot and subscript notation) + //valid expressions: `a + 1 > b.c or c == null`, `a and b[1] != c`, `(a < b) or (c < d and e)`, 'a || [1]` + Parser.prototype.parseExpr = function (src, opts) { + opts = opts || {}; + //extract string literals -> @ + var parsed1 = this.extractEnt(src, STRINGS, '@'); + //note: this will catch {not: 1} and a.is; could we replace temporarily and then check adjacent chars? + parsed1.src = parsed1.src.replace(EOPS, function (s, before, op, after) { + return (op in operators) ? before + operators[op] + after : s; + }); + //sub out non-string literals (numbers/true/false/null) -> # + // the distinction is necessary because @ can be object identifiers, # cannot + var parsed2 = this.extractEnt(parsed1.src, IDENTS_AND_NUMS, function (s) { + return (s in constants || NUMBER.test(s)) ? '#' : null; + }); + //sub out object/variable identifiers -> i + var parsed3 = this.extractEnt(parsed2.src, IDENTIFIERS, 'i'); + //remove white-space + parsed3.src = parsed3.src.replace(/\s+/g, ''); + + //the rest of this is simply to boil the expression down and check validity + var simplified = parsed3.src; + //sub out complex literals (objects/arrays) -> ~ + // the distinction is necessary because @ and # can be subscripts but ~ cannot + while (simplified !== (simplified = this.replaceComplex(simplified))) ; + //now @ represents strings, # represents other primitives and ~ represents non-primitives + //replace complex variables (those with dot/subscript accessors) -> v + while (simplified !== (simplified = simplified.replace(/i(\.i|\[[@#i]\])+/, 'v'))) ; + //empty subscript or complex variables in subscript, are not permitted + simplified = simplified.replace(/[iv]\[v?\]/g, 'x'); + //sub in "i" for @ and # and ~ and v (now "i" represents all literals, variables and identifiers) + simplified = simplified.replace(/[@#~v]/g, 'i'); + //sub out operators + simplified = simplified.replace(OPERATORS, '%'); + //allow 'not' unary operator + simplified = simplified.replace(/!+[i]/g, 'i'); + var terms = opts.terms ? simplified.split(',') : [simplified]; + terms.forEach(function (term) { + //simplify logical grouping + while (term !== (term = term.replace(/\(i(%i)*\)/g, 'i'))) ; + if (!term.match(/^i(%i)*/)) { + throw new Error('Invalid expression: ' + src + " " + term); + } + }); + parsed3.src = parsed3.src.replace(VARIABLES, this.parseVar.bind(this)); + parsed2.src = this.injectEnt(parsed3, 'i'); + parsed1.src = this.injectEnt(parsed2, '#'); + return this.injectEnt(parsed1, '@'); + }; + + Parser.prototype.parseVar = function (src) { + var args = Array.prototype.slice.call(arguments); + var str = args.pop(), index = args.pop(); + //quote bare object identifiers (might be a reserved word like {while: 1}) + if (src === 'i' && str.charAt(index + 1) === ':') { + return '"i"'; + } + var parts = ['"i"']; + src.replace(ACCESSOR, function (part) { + if (part === '.i') { + parts.push('"i"'); + } else if (part === '[i]') { + parts.push('get("i")'); + } else { + parts.push(part.slice(1, -1)); + } + }); + return 'get(' + parts.join(',') + ')'; + }; + + //escapes a name to be used as a javascript identifier + Parser.prototype.escName = function (str) { + return str.replace(/\W/g, function (s) { + return '$' + s.charCodeAt(0).toString(16); + }); + }; + + Parser.prototype.parseQuoted = function (str) { + if (str.charAt(0) === "'") { + str = str.slice(1, -1).replace(/\\.|"/, function (s) { + if (s === "\\'") return "'"; + return s.charAt(0) === '\\' ? s : ('\\' + s); + }); + str = '"' + str + '"'; + } + //todo: try/catch or deal with invalid characters (linebreaks, control characters) + return JSON.parse(str); + }; + + + //the context 'this' inside tagHandlers is the parser instance + var tagHandlers = { + 'if': function (expr) { + this.push('if (' + this.parseExpr(expr) + ') {'); + this.nest.unshift('if'); + }, + 'else': function () { + if (this.nest[0] === 'for') { + this.push('}, function() {'); + } else { + this.push('} else {'); + } + }, + 'elseif': function (expr) { + this.push('} else if (' + this.parseExpr(expr) + ') {'); + }, + 'endif': function () { + this.nest.shift(); + this.push('}'); + }, + 'for': function (str) { + var i = str.indexOf(' in '); + var name = str.slice(0, i).trim(); + var expr = str.slice(i + 4).trim(); + this.push('each(' + this.parseExpr(expr) + ',' + JSON.stringify(name) + ',function() {'); + this.nest.unshift('for'); + }, + 'endfor': function () { + this.nest.shift(); + this.push('});'); + }, + 'raw': function () { + this.rawMode = true; + }, + 'endraw': function () { + this.rawMode = false; + }, + 'set': function (stmt) { + var i = stmt.indexOf('='); + var name = stmt.slice(0, i).trim(); + var expr = stmt.slice(i + 1).trim(); + this.push('set(' + JSON.stringify(name) + ',' + this.parseExpr(expr) + ');'); + }, + 'block': function (name) { + if (this.isParent) { + ++this.parentBlocks; + var blockName = 'block_' + (this.escName(name) || this.parentBlocks); + this.push('block(typeof ' + blockName + ' == "function" ? ' + blockName + ' : function() {'); + } else if (this.hasParent) { + this.isSilent = false; + ++this.childBlocks; + blockName = 'block_' + (this.escName(name) || this.childBlocks); + this.push('function ' + blockName + '() {'); + } + this.nest.unshift('block'); + }, + 'endblock': function () { + this.nest.shift(); + if (this.isParent) { + this.push('});'); + } else if (this.hasParent) { + this.push('}'); + this.isSilent = true; + } + }, + 'extends': function (name) { + name = this.parseQuoted(name); + var parentSrc = this.readTemplateFile(name); + this.isParent = true; + this.tokenize(parentSrc); + this.isParent = false; + this.hasParent = true; + //silence output until we enter a child block + this.isSilent = true; + }, + 'include': function (name) { + name = this.parseQuoted(name); + var incSrc = this.readTemplateFile(name); + this.isInclude = true; + this.tokenize(incSrc); + this.isInclude = false; + } + }; + + //liquid style + tagHandlers.assign = tagHandlers.set; + //python/django style + tagHandlers.elif = tagHandlers.elseif; + + var getRuntime = function runtime(data, opts) { + var defaults = {autoEscape: 'toJson'}; + var _toString = Object.prototype.toString; + var _hasOwnProperty = Object.prototype.hasOwnProperty; + var getKeys = Object.keys || function (obj) { + var keys = []; + for (var n in obj) if (_hasOwnProperty.call(obj, n)) keys.push(n); + return keys; + }; + var isArray = Array.isArray || function (obj) { + return _toString.call(obj) === '[object Array]'; + }; + var create = Object.create || function (obj) { + function F() { + } + + F.prototype = obj; + return new F(); + }; + var toString = function (val) { + if (val == null) return ''; + return (typeof val.toString == 'function') ? val.toString() : _toString.call(val); + }; + var extend = function (dest, src) { + var keys = getKeys(src); + for (var i = 0, len = keys.length; i < len; i++) { + var key = keys[i]; + dest[key] = src[key]; + } + return dest; + }; + //get a value, lexically, starting in current context; a.b -> get("a","b") + var get = function () { + var val, n = arguments[0], c = stack.length; + while (c--) { + val = stack[c][n]; + if (typeof val != 'undefined') break; + } + for (var i = 1, len = arguments.length; i < len; i++) { + if (val == null) continue; + n = arguments[i]; + val = (_hasOwnProperty.call(val, n)) ? val[n] : (typeof val._get == 'function' ? (val[n] = val._get(n)) : null); + } + return (val == null) ? '' : val; + }; + var set = function (n, val) { + stack[stack.length - 1][n] = val; + }; + var push = function (ctx) { + stack.push(ctx || {}); + }; + var pop = function () { + stack.pop(); + }; + var write = function (str) { + output.push(str); + }; + var filter = function (val) { + for (var i = 1, len = arguments.length; i < len; i++) { + var arr = arguments[i], name = arr[0], filter = filters[name]; + if (filter) { + arr[0] = val; + //now arr looks like [val, arg1, arg2] + val = filter.apply(data, arr); + } else { + throw new Error('Invalid filter: ' + name); + } + } + if (opts.autoEscape && name !== opts.autoEscape && name !== 'safe') { + //auto escape if not explicitly safe or already escaped + val = filters[opts.autoEscape].call(data, val); + } + output.push(val); + }; + var each = function (obj, loopvar, fn1, fn2) { + if (obj == null) return; + var arr = isArray(obj) ? obj : getKeys(obj), len = arr.length; + var ctx = {loop: {length: len, first: arr[0], last: arr[len - 1]}}; + push(ctx); + for (var i = 0; i < len; i++) { + extend(ctx.loop, {index: i + 1, index0: i}); + fn1(ctx[loopvar] = arr[i]); + } + if (len === 0 && fn2) fn2(); + pop(); + }; + var block = function (fn) { + push(); + fn(); + pop(); + }; + var render = function () { + return output.join(''); + }; + data = data || {}; + opts = extend(defaults, opts || {}); + var filters = extend({ + html: function (val) { + return toString(val) + .split('&').join('&') + .split('<').join('<') + .split('>').join('>') + .split('"').join('"'); + }, + safe: function (val) { + return val; + }, + toJson: function (val) { + if (typeof val === 'object') { + return JSON.stringify(val); + } + return toString(val); + } + }, opts.filters || {}); + var stack = [create(data || {})], output = []; + return { + get: get, + set: set, + push: push, + pop: pop, + write: write, + filter: filter, + each: each, + block: block, + render: render + }; + }; + + var runtime; + + jinja.compile = function (markup, opts) { + opts = opts || {}; + var parser = new Parser(); + parser.readTemplateFile = this.readTemplateFile; + var code = []; + code.push('function render($) {'); + code.push('var get = $.get, set = $.set, push = $.push, pop = $.pop, write = $.write, filter = $.filter, each = $.each, block = $.block;'); + code.push.apply(code, parser.parse(markup)); + code.push('return $.render();'); + code.push('}'); + code = code.join('\n'); + if (opts.runtime === false) { + var fn = new Function('data', 'options', 'return (' + code + ')(runtime(data, options))'); + } else { + runtime = runtime || (runtime = getRuntime.toString()); + fn = new Function('data', 'options', 'return (' + code + ')((' + runtime + ')(data, options))'); + } + return {render: fn}; + }; + + jinja.render = function (markup, data, opts) { + var tmpl = jinja.compile(markup); + return tmpl.render(data, opts); + }; + + jinja.templateFiles = []; + + jinja.readTemplateFile = function (name) { + var templateFiles = this.templateFiles || []; + var templateFile = templateFiles[name]; + if (templateFile == null) { + throw new Error('Template file not found: ' + name); + } + return templateFile; + }; + + + /*! + * Helpers + */ + + function trimLeft(str) { + return str.replace(LEADING_SPACE, ''); + } + + function trimRight(str) { + return str.replace(TRAILING_SPACE, ''); + } + + function matchAll(str, reg, fn) { + //copy as global + reg = new RegExp(reg.source, 'g' + (reg.ignoreCase ? 'i' : '') + (reg.multiline ? 'm' : '')); + var match; + while ((match = reg.exec(str))) { + var result = fn(match[0], match.index, str); + if (typeof result == 'number') { + reg.lastIndex = result; + } + } + } +})); \ No newline at end of file diff --git a/tvboxqq/tvboxqq/南风/api/jsencrypt.js b/tvboxqq/tvboxqq/南风/api/jsencrypt.js new file mode 100644 index 0000000..fa3006c --- /dev/null +++ b/tvboxqq/tvboxqq/南风/api/jsencrypt.js @@ -0,0 +1,265 @@ +/* + * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development"). + * This devtool is neither made for production nor for readable output files. + * It uses "eval()" calls to create a separate source file in the browser devtools. + * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) + * or disable the default devtool with "devtool: false". + * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). + */ +(function webpackUniversalModuleDefinition(root, factory) { + if (typeof exports === 'object' && typeof module === 'object') { + // CommonJS + module.exports = exports = factory(); + } else if (typeof define === 'function' && define.amd) { + // AMD + define([], factory); + } else { + // Global (browser) + globalThis.JSEncrypt = factory(); + } +})(this, () => { +return /******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({ + +/***/ "./lib/JSEncrypt.js": +/*!**************************!*\ + !*** ./lib/JSEncrypt.js ***! + \**************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"JSEncrypt\": () => (/* binding */ JSEncrypt)\n/* harmony export */ });\n/* harmony import */ var _lib_jsbn_base64__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./lib/jsbn/base64 */ \"./lib/lib/jsbn/base64.js\");\n/* harmony import */ var _JSEncryptRSAKey__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./JSEncryptRSAKey */ \"./lib/JSEncryptRSAKey.js\");\n/* provided dependency */ var process = __webpack_require__(/*! process/browser */ \"./node_modules/process/browser.js\");\nvar _a;\n\n\nvar version = typeof process !== 'undefined'\n ? (_a = process.env) === null || _a === void 0 ? void 0 : \"3.3.2\"\n : undefined;\n/**\n *\n * @param {Object} [options = {}] - An object to customize JSEncrypt behaviour\n * possible parameters are:\n * - default_key_size {number} default: 1024 the key size in bit\n * - default_public_exponent {string} default: '010001' the hexadecimal representation of the public exponent\n * - log {boolean} default: false whether log warn/error or not\n * @constructor\n */\nvar JSEncrypt = /** @class */ (function () {\n function JSEncrypt(options) {\n if (options === void 0) { options = {}; }\n options = options || {};\n this.default_key_size = options.default_key_size\n ? parseInt(options.default_key_size, 10)\n : 1024;\n this.default_public_exponent = options.default_public_exponent || \"010001\"; // 65537 default openssl public exponent for rsa key type\n this.log = options.log || false;\n // The private and public key.\n this.key = null;\n }\n /**\n * Method to set the rsa key parameter (one method is enough to set both the public\n * and the private key, since the private key contains the public key paramenters)\n * Log a warning if logs are enabled\n * @param {Object|string} key the pem encoded string or an object (with or without header/footer)\n * @public\n */\n JSEncrypt.prototype.setKey = function (key) {\n if (this.log && this.key) {\n console.warn(\"A key was already set, overriding existing.\");\n }\n this.key = new _JSEncryptRSAKey__WEBPACK_IMPORTED_MODULE_1__.JSEncryptRSAKey(key);\n };\n /**\n * Proxy method for setKey, for api compatibility\n * @see setKey\n * @public\n */\n JSEncrypt.prototype.setPrivateKey = function (privkey) {\n // Create the key.\n this.setKey(privkey);\n };\n /**\n * Proxy method for setKey, for api compatibility\n * @see setKey\n * @public\n */\n JSEncrypt.prototype.setPublicKey = function (pubkey) {\n // Sets the public key.\n this.setKey(pubkey);\n };\n /**\n * Proxy method for RSAKey object's decrypt, decrypt the string using the private\n * components of the rsa key object. Note that if the object was not set will be created\n * on the fly (by the getKey method) using the parameters passed in the JSEncrypt constructor\n * @param {string} str base64 encoded crypted string to decrypt\n * @return {string} the decrypted string\n * @public\n */\n JSEncrypt.prototype.decrypt = function (str) {\n // Return the decrypted string.\n try {\n return this.getKey().decrypt((0,_lib_jsbn_base64__WEBPACK_IMPORTED_MODULE_0__.b64tohex)(str));\n }\n catch (ex) {\n return false;\n }\n };\n /**\n * Proxy method for RSAKey object's encrypt, encrypt the string using the public\n * components of the rsa key object. Note that if the object was not set will be created\n * on the fly (by the getKey method) using the parameters passed in the JSEncrypt constructor\n * @param {string} str the string to encrypt\n * @return {string} the encrypted string encoded in base64\n * @public\n */\n JSEncrypt.prototype.encrypt = function (str) {\n // Return the encrypted string.\n try {\n return (0,_lib_jsbn_base64__WEBPACK_IMPORTED_MODULE_0__.hex2b64)(this.getKey().encrypt(str));\n }\n catch (ex) {\n return false;\n }\n };\n /**\n * Proxy method for RSAKey object's sign.\n * @param {string} str the string to sign\n * @param {function} digestMethod hash method\n * @param {string} digestName the name of the hash algorithm\n * @return {string} the signature encoded in base64\n * @public\n */\n JSEncrypt.prototype.sign = function (str, digestMethod, digestName) {\n // return the RSA signature of 'str' in 'hex' format.\n try {\n return (0,_lib_jsbn_base64__WEBPACK_IMPORTED_MODULE_0__.hex2b64)(this.getKey().sign(str, digestMethod, digestName));\n }\n catch (ex) {\n return false;\n }\n };\n /**\n * Proxy method for RSAKey object's verify.\n * @param {string} str the string to verify\n * @param {string} signature the signature encoded in base64 to compare the string to\n * @param {function} digestMethod hash method\n * @return {boolean} whether the data and signature match\n * @public\n */\n JSEncrypt.prototype.verify = function (str, signature, digestMethod) {\n // Return the decrypted 'digest' of the signature.\n try {\n return this.getKey().verify(str, (0,_lib_jsbn_base64__WEBPACK_IMPORTED_MODULE_0__.b64tohex)(signature), digestMethod);\n }\n catch (ex) {\n return false;\n }\n };\n /**\n * Getter for the current JSEncryptRSAKey object. If it doesn't exists a new object\n * will be created and returned\n * @param {callback} [cb] the callback to be called if we want the key to be generated\n * in an async fashion\n * @returns {JSEncryptRSAKey} the JSEncryptRSAKey object\n * @public\n */\n JSEncrypt.prototype.getKey = function (cb) {\n // Only create new if it does not exist.\n if (!this.key) {\n // Get a new private key.\n this.key = new _JSEncryptRSAKey__WEBPACK_IMPORTED_MODULE_1__.JSEncryptRSAKey();\n if (cb && {}.toString.call(cb) === \"[object Function]\") {\n this.key.generateAsync(this.default_key_size, this.default_public_exponent, cb);\n return;\n }\n // Generate the key.\n this.key.generate(this.default_key_size, this.default_public_exponent);\n }\n return this.key;\n };\n /**\n * Returns the pem encoded representation of the private key\n * If the key doesn't exists a new key will be created\n * @returns {string} pem encoded representation of the private key WITH header and footer\n * @public\n */\n JSEncrypt.prototype.getPrivateKey = function () {\n // Return the private representation of this key.\n return this.getKey().getPrivateKey();\n };\n /**\n * Returns the pem encoded representation of the private key\n * If the key doesn't exists a new key will be created\n * @returns {string} pem encoded representation of the private key WITHOUT header and footer\n * @public\n */\n JSEncrypt.prototype.getPrivateKeyB64 = function () {\n // Return the private representation of this key.\n return this.getKey().getPrivateBaseKeyB64();\n };\n /**\n * Returns the pem encoded representation of the public key\n * If the key doesn't exists a new key will be created\n * @returns {string} pem encoded representation of the public key WITH header and footer\n * @public\n */\n JSEncrypt.prototype.getPublicKey = function () {\n // Return the private representation of this key.\n return this.getKey().getPublicKey();\n };\n /**\n * Returns the pem encoded representation of the public key\n * If the key doesn't exists a new key will be created\n * @returns {string} pem encoded representation of the public key WITHOUT header and footer\n * @public\n */\n JSEncrypt.prototype.getPublicKeyB64 = function () {\n // Return the private representation of this key.\n return this.getKey().getPublicBaseKeyB64();\n };\nvar b64map=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";var b64pad=\"=\";var base64DecodeChars=new Array(-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,-1,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,-1,-1,-1,-1,-1);function btoa(str){var out,i,len;var c1,c2,c3;len=str.length;i=0;out=\"\";while(i>2);out+=b64map.charAt((c1&3)<<4);out+=\"==\";break}c2=str.charCodeAt(i++);if(i==len){out+=b64map.charAt(c1>>2);out+=b64map.charAt((c1&3)<<4|(c2&240)>>4);out+=b64map.charAt((c2&15)<<2);out+=\"=\";break}c3=str.charCodeAt(i++);out+=b64map.charAt(c1>>2);out+=b64map.charAt((c1&3)<<4|(c2&240)>>4);out+=b64map.charAt((c2&15)<<2|(c3&192)>>6);out+=b64map.charAt(c3&63)}return out}function atob(str){var c1,c2,c3,c4;var i,len,out;len=str.length;i=0;out=\"\";while(i>4);do{c3=str.charCodeAt(i++)&255;if(c3==61)return out;c3=base64DecodeChars[c3]}while(i>2);do{c4=str.charCodeAt(i++)&255;if(c4==61)return out;c4=base64DecodeChars[c4]}while(i>6)+b64map.charAt(c&63)}if(i+1==h.length){c=parseInt(h.substring(i,i+1),16);ret+=b64map.charAt(c<<2)}else if(i+2==h.length){c=parseInt(h.substring(i,i+2),16);ret+=b64map.charAt(c>>2)+b64map.charAt((c&3)<<4)}while((ret.length&3)>0)ret+=b64pad;return ret}function hexToBytes(hex){for(var bytes=[],c=0;c>>4).toString(16));hex.push((bytes[i]&15).toString(16))}return hex.join(\"\")}function b64tohex(str){for(var i=0,bin=atob(str.replace(/[ \\r\\n]+$/,\"\")),hex=[];i>3};JSEncrypt.prototype.decryptUnicodeLong=function(string){var k=this.getKey();var maxLength=(k.n.bitLength()+7>>3)*2;try{var hexString=b64tohex(string);var decryptedString=\"\";var rexStr=\".{1,\"+maxLength+\"}\";var rex=new RegExp(rexStr,\"g\");var subStrArray=hexString.match(rex);if(subStrArray){subStrArray.forEach(function(entry){decryptedString+=k.decrypt(entry)});return decryptedString}}catch(ex){console.log(\"加密错误:\"+ex.message);return false}};JSEncrypt.prototype.encryptUnicodeLong=function(string){var k=this.getKey();var maxLength=(k.n.bitLength()+7>>3)-11;try{var subStr=\"\",encryptedString=\"\";var subStart=0,subEnd=0;var bitLen=0,tmpPoint=0;for(var i=0,len=string.length;imaxLength){subStr=string.substring(subStart,subEnd);encryptedString+=k.encrypt(subStr);subStart=subEnd;bitLen=bitLen-tmpPoint}else{subEnd=i;tmpPoint=bitLen}}subStr=string.substring(subStart,len);encryptedString+=k.encrypt(subStr);return hex2b64(encryptedString)}catch(ex){console.log(\"解密错误:\"+ex.message);return false}}; JSEncrypt.version = version;\n return JSEncrypt;\n}());\n\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/JSEncrypt.js?"); + +/***/ }), + +/***/ "./lib/JSEncryptRSAKey.js": +/*!********************************!*\ + !*** ./lib/JSEncryptRSAKey.js ***! + \********************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"JSEncryptRSAKey\": () => (/* binding */ JSEncryptRSAKey)\n/* harmony export */ });\n/* harmony import */ var _lib_jsbn_base64__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./lib/jsbn/base64 */ \"./lib/lib/jsbn/base64.js\");\n/* harmony import */ var _lib_asn1js_hex__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./lib/asn1js/hex */ \"./lib/lib/asn1js/hex.js\");\n/* harmony import */ var _lib_asn1js_base64__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./lib/asn1js/base64 */ \"./lib/lib/asn1js/base64.js\");\n/* harmony import */ var _lib_asn1js_asn1__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./lib/asn1js/asn1 */ \"./lib/lib/asn1js/asn1.js\");\n/* harmony import */ var _lib_jsbn_rsa__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./lib/jsbn/rsa */ \"./lib/lib/jsbn/rsa.js\");\n/* harmony import */ var _lib_jsbn_jsbn__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./lib/jsbn/jsbn */ \"./lib/lib/jsbn/jsbn.js\");\n/* harmony import */ var _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./lib/jsrsasign/asn1-1.0 */ \"./lib/lib/jsrsasign/asn1-1.0.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\n\n\n\n\n/**\n * Create a new JSEncryptRSAKey that extends Tom Wu's RSA key object.\n * This object is just a decorator for parsing the key parameter\n * @param {string|Object} key - The key in string format, or an object containing\n * the parameters needed to build a RSAKey object.\n * @constructor\n */\nvar JSEncryptRSAKey = /** @class */ (function (_super) {\n __extends(JSEncryptRSAKey, _super);\n function JSEncryptRSAKey(key) {\n var _this = _super.call(this) || this;\n // Call the super constructor.\n // RSAKey.call(this);\n // If a key key was provided.\n if (key) {\n // If this is a string...\n if (typeof key === \"string\") {\n _this.parseKey(key);\n }\n else if (JSEncryptRSAKey.hasPrivateKeyProperty(key) ||\n JSEncryptRSAKey.hasPublicKeyProperty(key)) {\n // Set the values for the key.\n _this.parsePropertiesFrom(key);\n }\n }\n return _this;\n }\n /**\n * Method to parse a pem encoded string containing both a public or private key.\n * The method will translate the pem encoded string in a der encoded string and\n * will parse private key and public key parameters. This method accepts public key\n * in the rsaencryption pkcs #1 format (oid: 1.2.840.113549.1.1.1).\n *\n * @todo Check how many rsa formats use the same format of pkcs #1.\n *\n * The format is defined as:\n * PublicKeyInfo ::= SEQUENCE {\n * algorithm AlgorithmIdentifier,\n * PublicKey BIT STRING\n * }\n * Where AlgorithmIdentifier is:\n * AlgorithmIdentifier ::= SEQUENCE {\n * algorithm OBJECT IDENTIFIER, the OID of the enc algorithm\n * parameters ANY DEFINED BY algorithm OPTIONAL (NULL for PKCS #1)\n * }\n * and PublicKey is a SEQUENCE encapsulated in a BIT STRING\n * RSAPublicKey ::= SEQUENCE {\n * modulus INTEGER, -- n\n * publicExponent INTEGER -- e\n * }\n * it's possible to examine the structure of the keys obtained from openssl using\n * an asn.1 dumper as the one used here to parse the components: http://lapo.it/asn1js/\n * @argument {string} pem the pem encoded string, can include the BEGIN/END header/footer\n * @private\n */\n JSEncryptRSAKey.prototype.parseKey = function (pem) {\n try {\n var modulus = 0;\n var public_exponent = 0;\n var reHex = /^\\s*(?:[0-9A-Fa-f][0-9A-Fa-f]\\s*)+$/;\n var der = reHex.test(pem) ? _lib_asn1js_hex__WEBPACK_IMPORTED_MODULE_1__.Hex.decode(pem) : _lib_asn1js_base64__WEBPACK_IMPORTED_MODULE_2__.Base64.unarmor(pem);\n var asn1 = _lib_asn1js_asn1__WEBPACK_IMPORTED_MODULE_3__.ASN1.decode(der);\n // Fixes a bug with OpenSSL 1.0+ private keys\n if (asn1.sub.length === 3) {\n asn1 = asn1.sub[2].sub[0];\n }\n if (asn1.sub.length === 9) {\n // Parse the private key.\n modulus = asn1.sub[1].getHexStringValue(); // bigint\n this.n = (0,_lib_jsbn_jsbn__WEBPACK_IMPORTED_MODULE_5__.parseBigInt)(modulus, 16);\n public_exponent = asn1.sub[2].getHexStringValue(); // int\n this.e = parseInt(public_exponent, 16);\n var private_exponent = asn1.sub[3].getHexStringValue(); // bigint\n this.d = (0,_lib_jsbn_jsbn__WEBPACK_IMPORTED_MODULE_5__.parseBigInt)(private_exponent, 16);\n var prime1 = asn1.sub[4].getHexStringValue(); // bigint\n this.p = (0,_lib_jsbn_jsbn__WEBPACK_IMPORTED_MODULE_5__.parseBigInt)(prime1, 16);\n var prime2 = asn1.sub[5].getHexStringValue(); // bigint\n this.q = (0,_lib_jsbn_jsbn__WEBPACK_IMPORTED_MODULE_5__.parseBigInt)(prime2, 16);\n var exponent1 = asn1.sub[6].getHexStringValue(); // bigint\n this.dmp1 = (0,_lib_jsbn_jsbn__WEBPACK_IMPORTED_MODULE_5__.parseBigInt)(exponent1, 16);\n var exponent2 = asn1.sub[7].getHexStringValue(); // bigint\n this.dmq1 = (0,_lib_jsbn_jsbn__WEBPACK_IMPORTED_MODULE_5__.parseBigInt)(exponent2, 16);\n var coefficient = asn1.sub[8].getHexStringValue(); // bigint\n this.coeff = (0,_lib_jsbn_jsbn__WEBPACK_IMPORTED_MODULE_5__.parseBigInt)(coefficient, 16);\n }\n else if (asn1.sub.length === 2) {\n if (asn1.sub[0].sub) {\n // Parse ASN.1 SubjectPublicKeyInfo type as defined by X.509\n var bit_string = asn1.sub[1];\n var sequence = bit_string.sub[0];\n modulus = sequence.sub[0].getHexStringValue();\n this.n = (0,_lib_jsbn_jsbn__WEBPACK_IMPORTED_MODULE_5__.parseBigInt)(modulus, 16);\n public_exponent = sequence.sub[1].getHexStringValue();\n this.e = parseInt(public_exponent, 16);\n }\n else {\n // Parse ASN.1 RSAPublicKey type as defined by PKCS #1\n modulus = asn1.sub[0].getHexStringValue();\n this.n = (0,_lib_jsbn_jsbn__WEBPACK_IMPORTED_MODULE_5__.parseBigInt)(modulus, 16);\n public_exponent = asn1.sub[1].getHexStringValue();\n this.e = parseInt(public_exponent, 16);\n }\n }\n else {\n return false;\n }\n return true;\n }\n catch (ex) {\n return false;\n }\n };\n /**\n * Translate rsa parameters in a hex encoded string representing the rsa key.\n *\n * The translation follow the ASN.1 notation :\n * RSAPrivateKey ::= SEQUENCE {\n * version Version,\n * modulus INTEGER, -- n\n * publicExponent INTEGER, -- e\n * privateExponent INTEGER, -- d\n * prime1 INTEGER, -- p\n * prime2 INTEGER, -- q\n * exponent1 INTEGER, -- d mod (p1)\n * exponent2 INTEGER, -- d mod (q-1)\n * coefficient INTEGER, -- (inverse of q) mod p\n * }\n * @returns {string} DER Encoded String representing the rsa private key\n * @private\n */\n JSEncryptRSAKey.prototype.getPrivateBaseKey = function () {\n var options = {\n array: [\n new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERInteger({ int: 0 }),\n new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERInteger({ bigint: this.n }),\n new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERInteger({ int: this.e }),\n new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERInteger({ bigint: this.d }),\n new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERInteger({ bigint: this.p }),\n new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERInteger({ bigint: this.q }),\n new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERInteger({ bigint: this.dmp1 }),\n new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERInteger({ bigint: this.dmq1 }),\n new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERInteger({ bigint: this.coeff }),\n ],\n };\n var seq = new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERSequence(options);\n return seq.getEncodedHex();\n };\n /**\n * base64 (pem) encoded version of the DER encoded representation\n * @returns {string} pem encoded representation without header and footer\n * @public\n */\n JSEncryptRSAKey.prototype.getPrivateBaseKeyB64 = function () {\n return (0,_lib_jsbn_base64__WEBPACK_IMPORTED_MODULE_0__.hex2b64)(this.getPrivateBaseKey());\n };\n /**\n * Translate rsa parameters in a hex encoded string representing the rsa public key.\n * The representation follow the ASN.1 notation :\n * PublicKeyInfo ::= SEQUENCE {\n * algorithm AlgorithmIdentifier,\n * PublicKey BIT STRING\n * }\n * Where AlgorithmIdentifier is:\n * AlgorithmIdentifier ::= SEQUENCE {\n * algorithm OBJECT IDENTIFIER, the OID of the enc algorithm\n * parameters ANY DEFINED BY algorithm OPTIONAL (NULL for PKCS #1)\n * }\n * and PublicKey is a SEQUENCE encapsulated in a BIT STRING\n * RSAPublicKey ::= SEQUENCE {\n * modulus INTEGER, -- n\n * publicExponent INTEGER -- e\n * }\n * @returns {string} DER Encoded String representing the rsa public key\n * @private\n */\n JSEncryptRSAKey.prototype.getPublicBaseKey = function () {\n var first_sequence = new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERSequence({\n array: [\n new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERObjectIdentifier({ oid: \"1.2.840.113549.1.1.1\" }),\n new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERNull(),\n ],\n });\n var second_sequence = new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERSequence({\n array: [\n new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERInteger({ bigint: this.n }),\n new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERInteger({ int: this.e }),\n ],\n });\n var bit_string = new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERBitString({\n hex: \"00\" + second_sequence.getEncodedHex(),\n });\n var seq = new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERSequence({\n array: [first_sequence, bit_string],\n });\n return seq.getEncodedHex();\n };\n /**\n * base64 (pem) encoded version of the DER encoded representation\n * @returns {string} pem encoded representation without header and footer\n * @public\n */\n JSEncryptRSAKey.prototype.getPublicBaseKeyB64 = function () {\n return (0,_lib_jsbn_base64__WEBPACK_IMPORTED_MODULE_0__.hex2b64)(this.getPublicBaseKey());\n };\n /**\n * wrap the string in block of width chars. The default value for rsa keys is 64\n * characters.\n * @param {string} str the pem encoded string without header and footer\n * @param {Number} [width=64] - the length the string has to be wrapped at\n * @returns {string}\n * @private\n */\n JSEncryptRSAKey.wordwrap = function (str, width) {\n width = width || 64;\n if (!str) {\n return str;\n }\n var regex = \"(.{1,\" + width + \"})( +|$\\n?)|(.{1,\" + width + \"})\";\n return str.match(RegExp(regex, \"g\")).join(\"\\n\");\n };\n /**\n * Retrieve the pem encoded private key\n * @returns {string} the pem encoded private key with header/footer\n * @public\n */\n JSEncryptRSAKey.prototype.getPrivateKey = function () {\n var key = \"-----BEGIN RSA PRIVATE KEY-----\\n\";\n key += JSEncryptRSAKey.wordwrap(this.getPrivateBaseKeyB64()) + \"\\n\";\n key += \"-----END RSA PRIVATE KEY-----\";\n return key;\n };\n /**\n * Retrieve the pem encoded public key\n * @returns {string} the pem encoded public key with header/footer\n * @public\n */\n JSEncryptRSAKey.prototype.getPublicKey = function () {\n var key = \"-----BEGIN PUBLIC KEY-----\\n\";\n key += JSEncryptRSAKey.wordwrap(this.getPublicBaseKeyB64()) + \"\\n\";\n key += \"-----END PUBLIC KEY-----\";\n return key;\n };\n /**\n * Check if the object contains the necessary parameters to populate the rsa modulus\n * and public exponent parameters.\n * @param {Object} [obj={}] - An object that may contain the two public key\n * parameters\n * @returns {boolean} true if the object contains both the modulus and the public exponent\n * properties (n and e)\n * @todo check for types of n and e. N should be a parseable bigInt object, E should\n * be a parseable integer number\n * @private\n */\n JSEncryptRSAKey.hasPublicKeyProperty = function (obj) {\n obj = obj || {};\n return obj.hasOwnProperty(\"n\") && obj.hasOwnProperty(\"e\");\n };\n /**\n * Check if the object contains ALL the parameters of an RSA key.\n * @param {Object} [obj={}] - An object that may contain nine rsa key\n * parameters\n * @returns {boolean} true if the object contains all the parameters needed\n * @todo check for types of the parameters all the parameters but the public exponent\n * should be parseable bigint objects, the public exponent should be a parseable integer number\n * @private\n */\n JSEncryptRSAKey.hasPrivateKeyProperty = function (obj) {\n obj = obj || {};\n return (obj.hasOwnProperty(\"n\") &&\n obj.hasOwnProperty(\"e\") &&\n obj.hasOwnProperty(\"d\") &&\n obj.hasOwnProperty(\"p\") &&\n obj.hasOwnProperty(\"q\") &&\n obj.hasOwnProperty(\"dmp1\") &&\n obj.hasOwnProperty(\"dmq1\") &&\n obj.hasOwnProperty(\"coeff\"));\n };\n /**\n * Parse the properties of obj in the current rsa object. Obj should AT LEAST\n * include the modulus and public exponent (n, e) parameters.\n * @param {Object} obj - the object containing rsa parameters\n * @private\n */\n JSEncryptRSAKey.prototype.parsePropertiesFrom = function (obj) {\n this.n = obj.n;\n this.e = obj.e;\n if (obj.hasOwnProperty(\"d\")) {\n this.d = obj.d;\n this.p = obj.p;\n this.q = obj.q;\n this.dmp1 = obj.dmp1;\n this.dmq1 = obj.dmq1;\n this.coeff = obj.coeff;\n }\n };\n return JSEncryptRSAKey;\n}(_lib_jsbn_rsa__WEBPACK_IMPORTED_MODULE_4__.RSAKey));\n\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/JSEncryptRSAKey.js?"); + +/***/ }), + +/***/ "./lib/index.js": +/*!**********************!*\ + !*** ./lib/index.js ***! + \**********************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"JSEncrypt\": () => (/* reexport safe */ _JSEncrypt__WEBPACK_IMPORTED_MODULE_0__.JSEncrypt),\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _JSEncrypt__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./JSEncrypt */ \"./lib/JSEncrypt.js\");\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_JSEncrypt__WEBPACK_IMPORTED_MODULE_0__.JSEncrypt);\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/index.js?"); + +/***/ }), + +/***/ "./lib/lib/asn1js/asn1.js": +/*!********************************!*\ + !*** ./lib/lib/asn1js/asn1.js ***! + \********************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"ASN1\": () => (/* binding */ ASN1),\n/* harmony export */ \"ASN1Tag\": () => (/* binding */ ASN1Tag),\n/* harmony export */ \"Stream\": () => (/* binding */ Stream)\n/* harmony export */ });\n/* harmony import */ var _int10__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./int10 */ \"./lib/lib/asn1js/int10.js\");\n// ASN.1 JavaScript decoder\n// Copyright (c) 2008-2014 Lapo Luchini \n// Permission to use, copy, modify, and/or distribute this software for any\n// purpose with or without fee is hereby granted, provided that the above\n// copyright notice and this permission notice appear in all copies.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n/*jshint browser: true, strict: true, immed: true, latedef: true, undef: true, regexdash: false */\n/*global oids */\n\nvar ellipsis = \"\\u2026\";\nvar reTimeS = /^(\\d\\d)(0[1-9]|1[0-2])(0[1-9]|[12]\\d|3[01])([01]\\d|2[0-3])(?:([0-5]\\d)(?:([0-5]\\d)(?:[.,](\\d{1,3}))?)?)?(Z|[-+](?:[0]\\d|1[0-2])([0-5]\\d)?)?$/;\nvar reTimeL = /^(\\d\\d\\d\\d)(0[1-9]|1[0-2])(0[1-9]|[12]\\d|3[01])([01]\\d|2[0-3])(?:([0-5]\\d)(?:([0-5]\\d)(?:[.,](\\d{1,3}))?)?)?(Z|[-+](?:[0]\\d|1[0-2])([0-5]\\d)?)?$/;\nfunction stringCut(str, len) {\n if (str.length > len) {\n str = str.substring(0, len) + ellipsis;\n }\n return str;\n}\nvar Stream = /** @class */ (function () {\n function Stream(enc, pos) {\n this.hexDigits = \"0123456789ABCDEF\";\n if (enc instanceof Stream) {\n this.enc = enc.enc;\n this.pos = enc.pos;\n }\n else {\n // enc should be an array or a binary string\n this.enc = enc;\n this.pos = pos;\n }\n }\n Stream.prototype.get = function (pos) {\n if (pos === undefined) {\n pos = this.pos++;\n }\n if (pos >= this.enc.length) {\n throw new Error(\"Requesting byte offset \".concat(pos, \" on a stream of length \").concat(this.enc.length));\n }\n return (\"string\" === typeof this.enc) ? this.enc.charCodeAt(pos) : this.enc[pos];\n };\n Stream.prototype.hexByte = function (b) {\n return this.hexDigits.charAt((b >> 4) & 0xF) + this.hexDigits.charAt(b & 0xF);\n };\n Stream.prototype.hexDump = function (start, end, raw) {\n var s = \"\";\n for (var i = start; i < end; ++i) {\n s += this.hexByte(this.get(i));\n if (raw !== true) {\n switch (i & 0xF) {\n case 0x7:\n s += \" \";\n break;\n case 0xF:\n s += \"\\n\";\n break;\n default:\n s += \" \";\n }\n }\n }\n return s;\n };\n Stream.prototype.isASCII = function (start, end) {\n for (var i = start; i < end; ++i) {\n var c = this.get(i);\n if (c < 32 || c > 176) {\n return false;\n }\n }\n return true;\n };\n Stream.prototype.parseStringISO = function (start, end) {\n var s = \"\";\n for (var i = start; i < end; ++i) {\n s += String.fromCharCode(this.get(i));\n }\n return s;\n };\n Stream.prototype.parseStringUTF = function (start, end) {\n var s = \"\";\n for (var i = start; i < end;) {\n var c = this.get(i++);\n if (c < 128) {\n s += String.fromCharCode(c);\n }\n else if ((c > 191) && (c < 224)) {\n s += String.fromCharCode(((c & 0x1F) << 6) | (this.get(i++) & 0x3F));\n }\n else {\n s += String.fromCharCode(((c & 0x0F) << 12) | ((this.get(i++) & 0x3F) << 6) | (this.get(i++) & 0x3F));\n }\n }\n return s;\n };\n Stream.prototype.parseStringBMP = function (start, end) {\n var str = \"\";\n var hi;\n var lo;\n for (var i = start; i < end;) {\n hi = this.get(i++);\n lo = this.get(i++);\n str += String.fromCharCode((hi << 8) | lo);\n }\n return str;\n };\n Stream.prototype.parseTime = function (start, end, shortYear) {\n var s = this.parseStringISO(start, end);\n var m = (shortYear ? reTimeS : reTimeL).exec(s);\n if (!m) {\n return \"Unrecognized time: \" + s;\n }\n if (shortYear) {\n // to avoid querying the timer, use the fixed range [1970, 2069]\n // it will conform with ITU X.400 [-10, +40] sliding window until 2030\n m[1] = +m[1];\n m[1] += (+m[1] < 70) ? 2000 : 1900;\n }\n s = m[1] + \"-\" + m[2] + \"-\" + m[3] + \" \" + m[4];\n if (m[5]) {\n s += \":\" + m[5];\n if (m[6]) {\n s += \":\" + m[6];\n if (m[7]) {\n s += \".\" + m[7];\n }\n }\n }\n if (m[8]) {\n s += \" UTC\";\n if (m[8] != \"Z\") {\n s += m[8];\n if (m[9]) {\n s += \":\" + m[9];\n }\n }\n }\n return s;\n };\n Stream.prototype.parseInteger = function (start, end) {\n var v = this.get(start);\n var neg = (v > 127);\n var pad = neg ? 255 : 0;\n var len;\n var s = \"\";\n // skip unuseful bits (not allowed in DER)\n while (v == pad && ++start < end) {\n v = this.get(start);\n }\n len = end - start;\n if (len === 0) {\n return neg ? -1 : 0;\n }\n // show bit length of huge integers\n if (len > 4) {\n s = v;\n len <<= 3;\n while (((+s ^ pad) & 0x80) == 0) {\n s = +s << 1;\n --len;\n }\n s = \"(\" + len + \" bit)\\n\";\n }\n // decode the integer\n if (neg) {\n v = v - 256;\n }\n var n = new _int10__WEBPACK_IMPORTED_MODULE_0__.Int10(v);\n for (var i = start + 1; i < end; ++i) {\n n.mulAdd(256, this.get(i));\n }\n return s + n.toString();\n };\n Stream.prototype.parseBitString = function (start, end, maxLength) {\n var unusedBit = this.get(start);\n var lenBit = ((end - start - 1) << 3) - unusedBit;\n var intro = \"(\" + lenBit + \" bit)\\n\";\n var s = \"\";\n for (var i = start + 1; i < end; ++i) {\n var b = this.get(i);\n var skip = (i == end - 1) ? unusedBit : 0;\n for (var j = 7; j >= skip; --j) {\n s += (b >> j) & 1 ? \"1\" : \"0\";\n }\n if (s.length > maxLength) {\n return intro + stringCut(s, maxLength);\n }\n }\n return intro + s;\n };\n Stream.prototype.parseOctetString = function (start, end, maxLength) {\n if (this.isASCII(start, end)) {\n return stringCut(this.parseStringISO(start, end), maxLength);\n }\n var len = end - start;\n var s = \"(\" + len + \" byte)\\n\";\n maxLength /= 2; // we work in bytes\n if (len > maxLength) {\n end = start + maxLength;\n }\n for (var i = start; i < end; ++i) {\n s += this.hexByte(this.get(i));\n }\n if (len > maxLength) {\n s += ellipsis;\n }\n return s;\n };\n Stream.prototype.parseOID = function (start, end, maxLength) {\n var s = \"\";\n var n = new _int10__WEBPACK_IMPORTED_MODULE_0__.Int10();\n var bits = 0;\n for (var i = start; i < end; ++i) {\n var v = this.get(i);\n n.mulAdd(128, v & 0x7F);\n bits += 7;\n if (!(v & 0x80)) { // finished\n if (s === \"\") {\n n = n.simplify();\n if (n instanceof _int10__WEBPACK_IMPORTED_MODULE_0__.Int10) {\n n.sub(80);\n s = \"2.\" + n.toString();\n }\n else {\n var m = n < 80 ? n < 40 ? 0 : 1 : 2;\n s = m + \".\" + (n - m * 40);\n }\n }\n else {\n s += \".\" + n.toString();\n }\n if (s.length > maxLength) {\n return stringCut(s, maxLength);\n }\n n = new _int10__WEBPACK_IMPORTED_MODULE_0__.Int10();\n bits = 0;\n }\n }\n if (bits > 0) {\n s += \".incomplete\";\n }\n return s;\n };\n return Stream;\n}());\n\nvar ASN1 = /** @class */ (function () {\n function ASN1(stream, header, length, tag, sub) {\n if (!(tag instanceof ASN1Tag)) {\n throw new Error(\"Invalid tag value.\");\n }\n this.stream = stream;\n this.header = header;\n this.length = length;\n this.tag = tag;\n this.sub = sub;\n }\n ASN1.prototype.typeName = function () {\n switch (this.tag.tagClass) {\n case 0: // universal\n switch (this.tag.tagNumber) {\n case 0x00:\n return \"EOC\";\n case 0x01:\n return \"BOOLEAN\";\n case 0x02:\n return \"INTEGER\";\n case 0x03:\n return \"BIT_STRING\";\n case 0x04:\n return \"OCTET_STRING\";\n case 0x05:\n return \"NULL\";\n case 0x06:\n return \"OBJECT_IDENTIFIER\";\n case 0x07:\n return \"ObjectDescriptor\";\n case 0x08:\n return \"EXTERNAL\";\n case 0x09:\n return \"REAL\";\n case 0x0A:\n return \"ENUMERATED\";\n case 0x0B:\n return \"EMBEDDED_PDV\";\n case 0x0C:\n return \"UTF8String\";\n case 0x10:\n return \"SEQUENCE\";\n case 0x11:\n return \"SET\";\n case 0x12:\n return \"NumericString\";\n case 0x13:\n return \"PrintableString\"; // ASCII subset\n case 0x14:\n return \"TeletexString\"; // aka T61String\n case 0x15:\n return \"VideotexString\";\n case 0x16:\n return \"IA5String\"; // ASCII\n case 0x17:\n return \"UTCTime\";\n case 0x18:\n return \"GeneralizedTime\";\n case 0x19:\n return \"GraphicString\";\n case 0x1A:\n return \"VisibleString\"; // ASCII subset\n case 0x1B:\n return \"GeneralString\";\n case 0x1C:\n return \"UniversalString\";\n case 0x1E:\n return \"BMPString\";\n }\n return \"Universal_\" + this.tag.tagNumber.toString();\n case 1:\n return \"Application_\" + this.tag.tagNumber.toString();\n case 2:\n return \"[\" + this.tag.tagNumber.toString() + \"]\"; // Context\n case 3:\n return \"Private_\" + this.tag.tagNumber.toString();\n }\n };\n ASN1.prototype.content = function (maxLength) {\n if (this.tag === undefined) {\n return null;\n }\n if (maxLength === undefined) {\n maxLength = Infinity;\n }\n var content = this.posContent();\n var len = Math.abs(this.length);\n if (!this.tag.isUniversal()) {\n if (this.sub !== null) {\n return \"(\" + this.sub.length + \" elem)\";\n }\n return this.stream.parseOctetString(content, content + len, maxLength);\n }\n switch (this.tag.tagNumber) {\n case 0x01: // BOOLEAN\n return (this.stream.get(content) === 0) ? \"false\" : \"true\";\n case 0x02: // INTEGER\n return this.stream.parseInteger(content, content + len);\n case 0x03: // BIT_STRING\n return this.sub ? \"(\" + this.sub.length + \" elem)\" :\n this.stream.parseBitString(content, content + len, maxLength);\n case 0x04: // OCTET_STRING\n return this.sub ? \"(\" + this.sub.length + \" elem)\" :\n this.stream.parseOctetString(content, content + len, maxLength);\n // case 0x05: // NULL\n case 0x06: // OBJECT_IDENTIFIER\n return this.stream.parseOID(content, content + len, maxLength);\n // case 0x07: // ObjectDescriptor\n // case 0x08: // EXTERNAL\n // case 0x09: // REAL\n // case 0x0A: // ENUMERATED\n // case 0x0B: // EMBEDDED_PDV\n case 0x10: // SEQUENCE\n case 0x11: // SET\n if (this.sub !== null) {\n return \"(\" + this.sub.length + \" elem)\";\n }\n else {\n return \"(no elem)\";\n }\n case 0x0C: // UTF8String\n return stringCut(this.stream.parseStringUTF(content, content + len), maxLength);\n case 0x12: // NumericString\n case 0x13: // PrintableString\n case 0x14: // TeletexString\n case 0x15: // VideotexString\n case 0x16: // IA5String\n // case 0x19: // GraphicString\n case 0x1A: // VisibleString\n // case 0x1B: // GeneralString\n // case 0x1C: // UniversalString\n return stringCut(this.stream.parseStringISO(content, content + len), maxLength);\n case 0x1E: // BMPString\n return stringCut(this.stream.parseStringBMP(content, content + len), maxLength);\n case 0x17: // UTCTime\n case 0x18: // GeneralizedTime\n return this.stream.parseTime(content, content + len, (this.tag.tagNumber == 0x17));\n }\n return null;\n };\n ASN1.prototype.toString = function () {\n return this.typeName() + \"@\" + this.stream.pos + \"[header:\" + this.header + \",length:\" + this.length + \",sub:\" + ((this.sub === null) ? \"null\" : this.sub.length) + \"]\";\n };\n ASN1.prototype.toPrettyString = function (indent) {\n if (indent === undefined) {\n indent = \"\";\n }\n var s = indent + this.typeName() + \" @\" + this.stream.pos;\n if (this.length >= 0) {\n s += \"+\";\n }\n s += this.length;\n if (this.tag.tagConstructed) {\n s += \" (constructed)\";\n }\n else if ((this.tag.isUniversal() && ((this.tag.tagNumber == 0x03) || (this.tag.tagNumber == 0x04))) && (this.sub !== null)) {\n s += \" (encapsulates)\";\n }\n s += \"\\n\";\n if (this.sub !== null) {\n indent += \" \";\n for (var i = 0, max = this.sub.length; i < max; ++i) {\n s += this.sub[i].toPrettyString(indent);\n }\n }\n return s;\n };\n ASN1.prototype.posStart = function () {\n return this.stream.pos;\n };\n ASN1.prototype.posContent = function () {\n return this.stream.pos + this.header;\n };\n ASN1.prototype.posEnd = function () {\n return this.stream.pos + this.header + Math.abs(this.length);\n };\n ASN1.prototype.toHexString = function () {\n return this.stream.hexDump(this.posStart(), this.posEnd(), true);\n };\n ASN1.decodeLength = function (stream) {\n var buf = stream.get();\n var len = buf & 0x7F;\n if (len == buf) {\n return len;\n }\n // no reason to use Int10, as it would be a huge buffer anyways\n if (len > 6) {\n throw new Error(\"Length over 48 bits not supported at position \" + (stream.pos - 1));\n }\n if (len === 0) {\n return null;\n } // undefined\n buf = 0;\n for (var i = 0; i < len; ++i) {\n buf = (buf * 256) + stream.get();\n }\n return buf;\n };\n /**\n * Retrieve the hexadecimal value (as a string) of the current ASN.1 element\n * @returns {string}\n * @public\n */\n ASN1.prototype.getHexStringValue = function () {\n var hexString = this.toHexString();\n var offset = this.header * 2;\n var length = this.length * 2;\n return hexString.substr(offset, length);\n };\n ASN1.decode = function (str) {\n var stream;\n if (!(str instanceof Stream)) {\n stream = new Stream(str, 0);\n }\n else {\n stream = str;\n }\n var streamStart = new Stream(stream);\n var tag = new ASN1Tag(stream);\n var len = ASN1.decodeLength(stream);\n var start = stream.pos;\n var header = start - streamStart.pos;\n var sub = null;\n var getSub = function () {\n var ret = [];\n if (len !== null) {\n // definite length\n var end = start + len;\n while (stream.pos < end) {\n ret[ret.length] = ASN1.decode(stream);\n }\n if (stream.pos != end) {\n throw new Error(\"Content size is not correct for container starting at offset \" + start);\n }\n }\n else {\n // undefined length\n try {\n for (;;) {\n var s = ASN1.decode(stream);\n if (s.tag.isEOC()) {\n break;\n }\n ret[ret.length] = s;\n }\n len = start - stream.pos; // undefined lengths are represented as negative values\n }\n catch (e) {\n throw new Error(\"Exception while decoding undefined length content: \" + e);\n }\n }\n return ret;\n };\n if (tag.tagConstructed) {\n // must have valid content\n sub = getSub();\n }\n else if (tag.isUniversal() && ((tag.tagNumber == 0x03) || (tag.tagNumber == 0x04))) {\n // sometimes BitString and OctetString are used to encapsulate ASN.1\n try {\n if (tag.tagNumber == 0x03) {\n if (stream.get() != 0) {\n throw new Error(\"BIT STRINGs with unused bits cannot encapsulate.\");\n }\n }\n sub = getSub();\n for (var i = 0; i < sub.length; ++i) {\n if (sub[i].tag.isEOC()) {\n throw new Error(\"EOC is not supposed to be actual content.\");\n }\n }\n }\n catch (e) {\n // but silently ignore when they don't\n sub = null;\n }\n }\n if (sub === null) {\n if (len === null) {\n throw new Error(\"We can't skip over an invalid tag with undefined length at offset \" + start);\n }\n stream.pos = start + Math.abs(len);\n }\n return new ASN1(streamStart, header, len, tag, sub);\n };\n return ASN1;\n}());\n\nvar ASN1Tag = /** @class */ (function () {\n function ASN1Tag(stream) {\n var buf = stream.get();\n this.tagClass = buf >> 6;\n this.tagConstructed = ((buf & 0x20) !== 0);\n this.tagNumber = buf & 0x1F;\n if (this.tagNumber == 0x1F) { // long tag\n var n = new _int10__WEBPACK_IMPORTED_MODULE_0__.Int10();\n do {\n buf = stream.get();\n n.mulAdd(128, buf & 0x7F);\n } while (buf & 0x80);\n this.tagNumber = n.simplify();\n }\n }\n ASN1Tag.prototype.isUniversal = function () {\n return this.tagClass === 0x00;\n };\n ASN1Tag.prototype.isEOC = function () {\n return this.tagClass === 0x00 && this.tagNumber === 0x00;\n };\n return ASN1Tag;\n}());\n\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/asn1js/asn1.js?"); + +/***/ }), + +/***/ "./lib/lib/asn1js/base64.js": +/*!**********************************!*\ + !*** ./lib/lib/asn1js/base64.js ***! + \**********************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Base64\": () => (/* binding */ Base64)\n/* harmony export */ });\n// Base64 JavaScript decoder\n// Copyright (c) 2008-2013 Lapo Luchini \n// Permission to use, copy, modify, and/or distribute this software for any\n// purpose with or without fee is hereby granted, provided that the above\n// copyright notice and this permission notice appear in all copies.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n/*jshint browser: true, strict: true, immed: true, latedef: true, undef: true, regexdash: false */\nvar decoder;\nvar Base64 = {\n decode: function (a) {\n var i;\n if (decoder === undefined) {\n var b64 = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\n var ignore = \"= \\f\\n\\r\\t\\u00A0\\u2028\\u2029\";\n decoder = Object.create(null);\n for (i = 0; i < 64; ++i) {\n decoder[b64.charAt(i)] = i;\n }\n decoder['-'] = 62; //+\n decoder['_'] = 63; //-\n for (i = 0; i < ignore.length; ++i) {\n decoder[ignore.charAt(i)] = -1;\n }\n }\n var out = [];\n var bits = 0;\n var char_count = 0;\n for (i = 0; i < a.length; ++i) {\n var c = a.charAt(i);\n if (c == \"=\") {\n break;\n }\n c = decoder[c];\n if (c == -1) {\n continue;\n }\n if (c === undefined) {\n throw new Error(\"Illegal character at offset \" + i);\n }\n bits |= c;\n if (++char_count >= 4) {\n out[out.length] = (bits >> 16);\n out[out.length] = (bits >> 8) & 0xFF;\n out[out.length] = bits & 0xFF;\n bits = 0;\n char_count = 0;\n }\n else {\n bits <<= 6;\n }\n }\n switch (char_count) {\n case 1:\n throw new Error(\"Base64 encoding incomplete: at least 2 bits missing\");\n case 2:\n out[out.length] = (bits >> 10);\n break;\n case 3:\n out[out.length] = (bits >> 16);\n out[out.length] = (bits >> 8) & 0xFF;\n break;\n }\n return out;\n },\n re: /-----BEGIN [^-]+-----([A-Za-z0-9+\\/=\\s]+)-----END [^-]+-----|begin-base64[^\\n]+\\n([A-Za-z0-9+\\/=\\s]+)====/,\n unarmor: function (a) {\n var m = Base64.re.exec(a);\n if (m) {\n if (m[1]) {\n a = m[1];\n }\n else if (m[2]) {\n a = m[2];\n }\n else {\n throw new Error(\"RegExp out of sync\");\n }\n }\n return Base64.decode(a);\n }\n};\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/asn1js/base64.js?"); + +/***/ }), + +/***/ "./lib/lib/asn1js/hex.js": +/*!*******************************!*\ + !*** ./lib/lib/asn1js/hex.js ***! + \*******************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Hex\": () => (/* binding */ Hex)\n/* harmony export */ });\n// Hex JavaScript decoder\n// Copyright (c) 2008-2013 Lapo Luchini \n// Permission to use, copy, modify, and/or distribute this software for any\n// purpose with or without fee is hereby granted, provided that the above\n// copyright notice and this permission notice appear in all copies.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n/*jshint browser: true, strict: true, immed: true, latedef: true, undef: true, regexdash: false */\nvar decoder;\nvar Hex = {\n decode: function (a) {\n var i;\n if (decoder === undefined) {\n var hex = \"0123456789ABCDEF\";\n var ignore = \" \\f\\n\\r\\t\\u00A0\\u2028\\u2029\";\n decoder = {};\n for (i = 0; i < 16; ++i) {\n decoder[hex.charAt(i)] = i;\n }\n hex = hex.toLowerCase();\n for (i = 10; i < 16; ++i) {\n decoder[hex.charAt(i)] = i;\n }\n for (i = 0; i < ignore.length; ++i) {\n decoder[ignore.charAt(i)] = -1;\n }\n }\n var out = [];\n var bits = 0;\n var char_count = 0;\n for (i = 0; i < a.length; ++i) {\n var c = a.charAt(i);\n if (c == \"=\") {\n break;\n }\n c = decoder[c];\n if (c == -1) {\n continue;\n }\n if (c === undefined) {\n throw new Error(\"Illegal character at offset \" + i);\n }\n bits |= c;\n if (++char_count >= 2) {\n out[out.length] = bits;\n bits = 0;\n char_count = 0;\n }\n else {\n bits <<= 4;\n }\n }\n if (char_count) {\n throw new Error(\"Hex encoding incomplete: 4 bits missing\");\n }\n return out;\n }\n};\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/asn1js/hex.js?"); + +/***/ }), + +/***/ "./lib/lib/asn1js/int10.js": +/*!*********************************!*\ + !*** ./lib/lib/asn1js/int10.js ***! + \*********************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Int10\": () => (/* binding */ Int10)\n/* harmony export */ });\n// Big integer base-10 printing library\n// Copyright (c) 2014 Lapo Luchini \n// Permission to use, copy, modify, and/or distribute this software for any\n// purpose with or without fee is hereby granted, provided that the above\n// copyright notice and this permission notice appear in all copies.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n/*jshint browser: true, strict: true, immed: true, latedef: true, undef: true, regexdash: false */\nvar max = 10000000000000; // biggest integer that can still fit 2^53 when multiplied by 256\nvar Int10 = /** @class */ (function () {\n function Int10(value) {\n this.buf = [+value || 0];\n }\n Int10.prototype.mulAdd = function (m, c) {\n // assert(m <= 256)\n var b = this.buf;\n var l = b.length;\n var i;\n var t;\n for (i = 0; i < l; ++i) {\n t = b[i] * m + c;\n if (t < max) {\n c = 0;\n }\n else {\n c = 0 | (t / max);\n t -= c * max;\n }\n b[i] = t;\n }\n if (c > 0) {\n b[i] = c;\n }\n };\n Int10.prototype.sub = function (c) {\n // assert(m <= 256)\n var b = this.buf;\n var l = b.length;\n var i;\n var t;\n for (i = 0; i < l; ++i) {\n t = b[i] - c;\n if (t < 0) {\n t += max;\n c = 1;\n }\n else {\n c = 0;\n }\n b[i] = t;\n }\n while (b[b.length - 1] === 0) {\n b.pop();\n }\n };\n Int10.prototype.toString = function (base) {\n if ((base || 10) != 10) {\n throw new Error(\"only base 10 is supported\");\n }\n var b = this.buf;\n var s = b[b.length - 1].toString();\n for (var i = b.length - 2; i >= 0; --i) {\n s += (max + b[i]).toString().substring(1);\n }\n return s;\n };\n Int10.prototype.valueOf = function () {\n var b = this.buf;\n var v = 0;\n for (var i = b.length - 1; i >= 0; --i) {\n v = v * max + b[i];\n }\n return v;\n };\n Int10.prototype.simplify = function () {\n var b = this.buf;\n return (b.length == 1) ? b[0] : this;\n };\n return Int10;\n}());\n\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/asn1js/int10.js?"); + +/***/ }), + +/***/ "./lib/lib/jsbn/base64.js": +/*!********************************!*\ + !*** ./lib/lib/jsbn/base64.js ***! + \********************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"b64toBA\": () => (/* binding */ b64toBA),\n/* harmony export */ \"b64tohex\": () => (/* binding */ b64tohex),\n/* harmony export */ \"hex2b64\": () => (/* binding */ hex2b64)\n/* harmony export */ });\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util */ \"./lib/lib/jsbn/util.js\");\n\nvar b64map = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\nvar b64pad = \"=\";\nfunction hex2b64(h) {\n var i;\n var c;\n var ret = \"\";\n for (i = 0; i + 3 <= h.length; i += 3) {\n c = parseInt(h.substring(i, i + 3), 16);\n ret += b64map.charAt(c >> 6) + b64map.charAt(c & 63);\n }\n if (i + 1 == h.length) {\n c = parseInt(h.substring(i, i + 1), 16);\n ret += b64map.charAt(c << 2);\n }\n else if (i + 2 == h.length) {\n c = parseInt(h.substring(i, i + 2), 16);\n ret += b64map.charAt(c >> 2) + b64map.charAt((c & 3) << 4);\n }\n while ((ret.length & 3) > 0) {\n ret += b64pad;\n }\n return ret;\n}\n// convert a base64 string to hex\nfunction b64tohex(s) {\n var ret = \"\";\n var i;\n var k = 0; // b64 state, 0-3\n var slop = 0;\n for (i = 0; i < s.length; ++i) {\n if (s.charAt(i) == b64pad) {\n break;\n }\n var v = b64map.indexOf(s.charAt(i));\n if (v < 0) {\n continue;\n }\n if (k == 0) {\n ret += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)(v >> 2);\n slop = v & 3;\n k = 1;\n }\n else if (k == 1) {\n ret += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)((slop << 2) | (v >> 4));\n slop = v & 0xf;\n k = 2;\n }\n else if (k == 2) {\n ret += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)(slop);\n ret += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)(v >> 2);\n slop = v & 3;\n k = 3;\n }\n else {\n ret += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)((slop << 2) | (v >> 4));\n ret += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)(v & 0xf);\n k = 0;\n }\n }\n if (k == 1) {\n ret += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)(slop << 2);\n }\n return ret;\n}\n// convert a base64 string to a byte/number array\nfunction b64toBA(s) {\n // piggyback on b64tohex for now, optimize later\n var h = b64tohex(s);\n var i;\n var a = [];\n for (i = 0; 2 * i < h.length; ++i) {\n a[i] = parseInt(h.substring(2 * i, 2 * i + 2), 16);\n }\n return a;\n}\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/jsbn/base64.js?"); + +/***/ }), + +/***/ "./lib/lib/jsbn/jsbn.js": +/*!******************************!*\ + !*** ./lib/lib/jsbn/jsbn.js ***! + \******************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"BigInteger\": () => (/* binding */ BigInteger),\n/* harmony export */ \"intAt\": () => (/* binding */ intAt),\n/* harmony export */ \"nbi\": () => (/* binding */ nbi),\n/* harmony export */ \"nbits\": () => (/* binding */ nbits),\n/* harmony export */ \"nbv\": () => (/* binding */ nbv),\n/* harmony export */ \"parseBigInt\": () => (/* binding */ parseBigInt)\n/* harmony export */ });\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util */ \"./lib/lib/jsbn/util.js\");\n// Copyright (c) 2005 Tom Wu\n// All Rights Reserved.\n// See \"LICENSE\" for details.\n// Basic JavaScript BN library - subset useful for RSA encryption.\n\n// Bits per digit\nvar dbits;\n// JavaScript engine analysis\nvar canary = 0xdeadbeefcafe;\nvar j_lm = ((canary & 0xffffff) == 0xefcafe);\n//#region\nvar lowprimes = [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];\nvar lplim = (1 << 26) / lowprimes[lowprimes.length - 1];\n//#endregion\n// (public) Constructor\nvar BigInteger = /** @class */ (function () {\n function BigInteger(a, b, c) {\n if (a != null) {\n if (\"number\" == typeof a) {\n this.fromNumber(a, b, c);\n }\n else if (b == null && \"string\" != typeof a) {\n this.fromString(a, 256);\n }\n else {\n this.fromString(a, b);\n }\n }\n }\n //#region PUBLIC\n // BigInteger.prototype.toString = bnToString;\n // (public) return string representation in given radix\n BigInteger.prototype.toString = function (b) {\n if (this.s < 0) {\n return \"-\" + this.negate().toString(b);\n }\n var k;\n if (b == 16) {\n k = 4;\n }\n else if (b == 8) {\n k = 3;\n }\n else if (b == 2) {\n k = 1;\n }\n else if (b == 32) {\n k = 5;\n }\n else if (b == 4) {\n k = 2;\n }\n else {\n return this.toRadix(b);\n }\n var km = (1 << k) - 1;\n var d;\n var m = false;\n var r = \"\";\n var i = this.t;\n var p = this.DB - (i * this.DB) % k;\n if (i-- > 0) {\n if (p < this.DB && (d = this[i] >> p) > 0) {\n m = true;\n r = (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)(d);\n }\n while (i >= 0) {\n if (p < k) {\n d = (this[i] & ((1 << p) - 1)) << (k - p);\n d |= this[--i] >> (p += this.DB - k);\n }\n else {\n d = (this[i] >> (p -= k)) & km;\n if (p <= 0) {\n p += this.DB;\n --i;\n }\n }\n if (d > 0) {\n m = true;\n }\n if (m) {\n r += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)(d);\n }\n }\n }\n return m ? r : \"0\";\n };\n // BigInteger.prototype.negate = bnNegate;\n // (public) -this\n BigInteger.prototype.negate = function () {\n var r = nbi();\n BigInteger.ZERO.subTo(this, r);\n return r;\n };\n // BigInteger.prototype.abs = bnAbs;\n // (public) |this|\n BigInteger.prototype.abs = function () {\n return (this.s < 0) ? this.negate() : this;\n };\n // BigInteger.prototype.compareTo = bnCompareTo;\n // (public) return + if this > a, - if this < a, 0 if equal\n BigInteger.prototype.compareTo = function (a) {\n var r = this.s - a.s;\n if (r != 0) {\n return r;\n }\n var i = this.t;\n r = i - a.t;\n if (r != 0) {\n return (this.s < 0) ? -r : r;\n }\n while (--i >= 0) {\n if ((r = this[i] - a[i]) != 0) {\n return r;\n }\n }\n return 0;\n };\n // BigInteger.prototype.bitLength = bnBitLength;\n // (public) return the number of bits in \"this\"\n BigInteger.prototype.bitLength = function () {\n if (this.t <= 0) {\n return 0;\n }\n return this.DB * (this.t - 1) + nbits(this[this.t - 1] ^ (this.s & this.DM));\n };\n // BigInteger.prototype.mod = bnMod;\n // (public) this mod a\n BigInteger.prototype.mod = function (a) {\n var r = nbi();\n this.abs().divRemTo(a, null, r);\n if (this.s < 0 && r.compareTo(BigInteger.ZERO) > 0) {\n a.subTo(r, r);\n }\n return r;\n };\n // BigInteger.prototype.modPowInt = bnModPowInt;\n // (public) this^e % m, 0 <= e < 2^32\n BigInteger.prototype.modPowInt = function (e, m) {\n var z;\n if (e < 256 || m.isEven()) {\n z = new Classic(m);\n }\n else {\n z = new Montgomery(m);\n }\n return this.exp(e, z);\n };\n // BigInteger.prototype.clone = bnClone;\n // (public)\n BigInteger.prototype.clone = function () {\n var r = nbi();\n this.copyTo(r);\n return r;\n };\n // BigInteger.prototype.intValue = bnIntValue;\n // (public) return value as integer\n BigInteger.prototype.intValue = function () {\n if (this.s < 0) {\n if (this.t == 1) {\n return this[0] - this.DV;\n }\n else if (this.t == 0) {\n return -1;\n }\n }\n else if (this.t == 1) {\n return this[0];\n }\n else if (this.t == 0) {\n return 0;\n }\n // assumes 16 < DB < 32\n return ((this[1] & ((1 << (32 - this.DB)) - 1)) << this.DB) | this[0];\n };\n // BigInteger.prototype.byteValue = bnByteValue;\n // (public) return value as byte\n BigInteger.prototype.byteValue = function () {\n return (this.t == 0) ? this.s : (this[0] << 24) >> 24;\n };\n // BigInteger.prototype.shortValue = bnShortValue;\n // (public) return value as short (assumes DB>=16)\n BigInteger.prototype.shortValue = function () {\n return (this.t == 0) ? this.s : (this[0] << 16) >> 16;\n };\n // BigInteger.prototype.signum = bnSigNum;\n // (public) 0 if this == 0, 1 if this > 0\n BigInteger.prototype.signum = function () {\n if (this.s < 0) {\n return -1;\n }\n else if (this.t <= 0 || (this.t == 1 && this[0] <= 0)) {\n return 0;\n }\n else {\n return 1;\n }\n };\n // BigInteger.prototype.toByteArray = bnToByteArray;\n // (public) convert to bigendian byte array\n BigInteger.prototype.toByteArray = function () {\n var i = this.t;\n var r = [];\n r[0] = this.s;\n var p = this.DB - (i * this.DB) % 8;\n var d;\n var k = 0;\n if (i-- > 0) {\n if (p < this.DB && (d = this[i] >> p) != (this.s & this.DM) >> p) {\n r[k++] = d | (this.s << (this.DB - p));\n }\n while (i >= 0) {\n if (p < 8) {\n d = (this[i] & ((1 << p) - 1)) << (8 - p);\n d |= this[--i] >> (p += this.DB - 8);\n }\n else {\n d = (this[i] >> (p -= 8)) & 0xff;\n if (p <= 0) {\n p += this.DB;\n --i;\n }\n }\n if ((d & 0x80) != 0) {\n d |= -256;\n }\n if (k == 0 && (this.s & 0x80) != (d & 0x80)) {\n ++k;\n }\n if (k > 0 || d != this.s) {\n r[k++] = d;\n }\n }\n }\n return r;\n };\n // BigInteger.prototype.equals = bnEquals;\n BigInteger.prototype.equals = function (a) {\n return (this.compareTo(a) == 0);\n };\n // BigInteger.prototype.min = bnMin;\n BigInteger.prototype.min = function (a) {\n return (this.compareTo(a) < 0) ? this : a;\n };\n // BigInteger.prototype.max = bnMax;\n BigInteger.prototype.max = function (a) {\n return (this.compareTo(a) > 0) ? this : a;\n };\n // BigInteger.prototype.and = bnAnd;\n BigInteger.prototype.and = function (a) {\n var r = nbi();\n this.bitwiseTo(a, _util__WEBPACK_IMPORTED_MODULE_0__.op_and, r);\n return r;\n };\n // BigInteger.prototype.or = bnOr;\n BigInteger.prototype.or = function (a) {\n var r = nbi();\n this.bitwiseTo(a, _util__WEBPACK_IMPORTED_MODULE_0__.op_or, r);\n return r;\n };\n // BigInteger.prototype.xor = bnXor;\n BigInteger.prototype.xor = function (a) {\n var r = nbi();\n this.bitwiseTo(a, _util__WEBPACK_IMPORTED_MODULE_0__.op_xor, r);\n return r;\n };\n // BigInteger.prototype.andNot = bnAndNot;\n BigInteger.prototype.andNot = function (a) {\n var r = nbi();\n this.bitwiseTo(a, _util__WEBPACK_IMPORTED_MODULE_0__.op_andnot, r);\n return r;\n };\n // BigInteger.prototype.not = bnNot;\n // (public) ~this\n BigInteger.prototype.not = function () {\n var r = nbi();\n for (var i = 0; i < this.t; ++i) {\n r[i] = this.DM & ~this[i];\n }\n r.t = this.t;\n r.s = ~this.s;\n return r;\n };\n // BigInteger.prototype.shiftLeft = bnShiftLeft;\n // (public) this << n\n BigInteger.prototype.shiftLeft = function (n) {\n var r = nbi();\n if (n < 0) {\n this.rShiftTo(-n, r);\n }\n else {\n this.lShiftTo(n, r);\n }\n return r;\n };\n // BigInteger.prototype.shiftRight = bnShiftRight;\n // (public) this >> n\n BigInteger.prototype.shiftRight = function (n) {\n var r = nbi();\n if (n < 0) {\n this.lShiftTo(-n, r);\n }\n else {\n this.rShiftTo(n, r);\n }\n return r;\n };\n // BigInteger.prototype.getLowestSetBit = bnGetLowestSetBit;\n // (public) returns index of lowest 1-bit (or -1 if none)\n BigInteger.prototype.getLowestSetBit = function () {\n for (var i = 0; i < this.t; ++i) {\n if (this[i] != 0) {\n return i * this.DB + (0,_util__WEBPACK_IMPORTED_MODULE_0__.lbit)(this[i]);\n }\n }\n if (this.s < 0) {\n return this.t * this.DB;\n }\n return -1;\n };\n // BigInteger.prototype.bitCount = bnBitCount;\n // (public) return number of set bits\n BigInteger.prototype.bitCount = function () {\n var r = 0;\n var x = this.s & this.DM;\n for (var i = 0; i < this.t; ++i) {\n r += (0,_util__WEBPACK_IMPORTED_MODULE_0__.cbit)(this[i] ^ x);\n }\n return r;\n };\n // BigInteger.prototype.testBit = bnTestBit;\n // (public) true iff nth bit is set\n BigInteger.prototype.testBit = function (n) {\n var j = Math.floor(n / this.DB);\n if (j >= this.t) {\n return (this.s != 0);\n }\n return ((this[j] & (1 << (n % this.DB))) != 0);\n };\n // BigInteger.prototype.setBit = bnSetBit;\n // (public) this | (1< 1) {\n var g2 = nbi();\n z.sqrTo(g[1], g2);\n while (n <= km) {\n g[n] = nbi();\n z.mulTo(g2, g[n - 2], g[n]);\n n += 2;\n }\n }\n var j = e.t - 1;\n var w;\n var is1 = true;\n var r2 = nbi();\n var t;\n i = nbits(e[j]) - 1;\n while (j >= 0) {\n if (i >= k1) {\n w = (e[j] >> (i - k1)) & km;\n }\n else {\n w = (e[j] & ((1 << (i + 1)) - 1)) << (k1 - i);\n if (j > 0) {\n w |= e[j - 1] >> (this.DB + i - k1);\n }\n }\n n = k;\n while ((w & 1) == 0) {\n w >>= 1;\n --n;\n }\n if ((i -= n) < 0) {\n i += this.DB;\n --j;\n }\n if (is1) { // ret == 1, don't bother squaring or multiplying it\n g[w].copyTo(r);\n is1 = false;\n }\n else {\n while (n > 1) {\n z.sqrTo(r, r2);\n z.sqrTo(r2, r);\n n -= 2;\n }\n if (n > 0) {\n z.sqrTo(r, r2);\n }\n else {\n t = r;\n r = r2;\n r2 = t;\n }\n z.mulTo(r2, g[w], r);\n }\n while (j >= 0 && (e[j] & (1 << i)) == 0) {\n z.sqrTo(r, r2);\n t = r;\n r = r2;\n r2 = t;\n if (--i < 0) {\n i = this.DB - 1;\n --j;\n }\n }\n }\n return z.revert(r);\n };\n // BigInteger.prototype.modInverse = bnModInverse;\n // (public) 1/this % m (HAC 14.61)\n BigInteger.prototype.modInverse = function (m) {\n var ac = m.isEven();\n if ((this.isEven() && ac) || m.signum() == 0) {\n return BigInteger.ZERO;\n }\n var u = m.clone();\n var v = this.clone();\n var a = nbv(1);\n var b = nbv(0);\n var c = nbv(0);\n var d = nbv(1);\n while (u.signum() != 0) {\n while (u.isEven()) {\n u.rShiftTo(1, u);\n if (ac) {\n if (!a.isEven() || !b.isEven()) {\n a.addTo(this, a);\n b.subTo(m, b);\n }\n a.rShiftTo(1, a);\n }\n else if (!b.isEven()) {\n b.subTo(m, b);\n }\n b.rShiftTo(1, b);\n }\n while (v.isEven()) {\n v.rShiftTo(1, v);\n if (ac) {\n if (!c.isEven() || !d.isEven()) {\n c.addTo(this, c);\n d.subTo(m, d);\n }\n c.rShiftTo(1, c);\n }\n else if (!d.isEven()) {\n d.subTo(m, d);\n }\n d.rShiftTo(1, d);\n }\n if (u.compareTo(v) >= 0) {\n u.subTo(v, u);\n if (ac) {\n a.subTo(c, a);\n }\n b.subTo(d, b);\n }\n else {\n v.subTo(u, v);\n if (ac) {\n c.subTo(a, c);\n }\n d.subTo(b, d);\n }\n }\n if (v.compareTo(BigInteger.ONE) != 0) {\n return BigInteger.ZERO;\n }\n if (d.compareTo(m) >= 0) {\n return d.subtract(m);\n }\n if (d.signum() < 0) {\n d.addTo(m, d);\n }\n else {\n return d;\n }\n if (d.signum() < 0) {\n return d.add(m);\n }\n else {\n return d;\n }\n };\n // BigInteger.prototype.pow = bnPow;\n // (public) this^e\n BigInteger.prototype.pow = function (e) {\n return this.exp(e, new NullExp());\n };\n // BigInteger.prototype.gcd = bnGCD;\n // (public) gcd(this,a) (HAC 14.54)\n BigInteger.prototype.gcd = function (a) {\n var x = (this.s < 0) ? this.negate() : this.clone();\n var y = (a.s < 0) ? a.negate() : a.clone();\n if (x.compareTo(y) < 0) {\n var t = x;\n x = y;\n y = t;\n }\n var i = x.getLowestSetBit();\n var g = y.getLowestSetBit();\n if (g < 0) {\n return x;\n }\n if (i < g) {\n g = i;\n }\n if (g > 0) {\n x.rShiftTo(g, x);\n y.rShiftTo(g, y);\n }\n while (x.signum() > 0) {\n if ((i = x.getLowestSetBit()) > 0) {\n x.rShiftTo(i, x);\n }\n if ((i = y.getLowestSetBit()) > 0) {\n y.rShiftTo(i, y);\n }\n if (x.compareTo(y) >= 0) {\n x.subTo(y, x);\n x.rShiftTo(1, x);\n }\n else {\n y.subTo(x, y);\n y.rShiftTo(1, y);\n }\n }\n if (g > 0) {\n y.lShiftTo(g, y);\n }\n return y;\n };\n // BigInteger.prototype.isProbablePrime = bnIsProbablePrime;\n // (public) test primality with certainty >= 1-.5^t\n BigInteger.prototype.isProbablePrime = function (t) {\n var i;\n var x = this.abs();\n if (x.t == 1 && x[0] <= lowprimes[lowprimes.length - 1]) {\n for (i = 0; i < lowprimes.length; ++i) {\n if (x[0] == lowprimes[i]) {\n return true;\n }\n }\n return false;\n }\n if (x.isEven()) {\n return false;\n }\n i = 1;\n while (i < lowprimes.length) {\n var m = lowprimes[i];\n var j = i + 1;\n while (j < lowprimes.length && m < lplim) {\n m *= lowprimes[j++];\n }\n m = x.modInt(m);\n while (i < j) {\n if (m % lowprimes[i++] == 0) {\n return false;\n }\n }\n }\n return x.millerRabin(t);\n };\n //#endregion PUBLIC\n //#region PROTECTED\n // BigInteger.prototype.copyTo = bnpCopyTo;\n // (protected) copy this to r\n BigInteger.prototype.copyTo = function (r) {\n for (var i = this.t - 1; i >= 0; --i) {\n r[i] = this[i];\n }\n r.t = this.t;\n r.s = this.s;\n };\n // BigInteger.prototype.fromInt = bnpFromInt;\n // (protected) set from integer value x, -DV <= x < DV\n BigInteger.prototype.fromInt = function (x) {\n this.t = 1;\n this.s = (x < 0) ? -1 : 0;\n if (x > 0) {\n this[0] = x;\n }\n else if (x < -1) {\n this[0] = x + this.DV;\n }\n else {\n this.t = 0;\n }\n };\n // BigInteger.prototype.fromString = bnpFromString;\n // (protected) set from string and radix\n BigInteger.prototype.fromString = function (s, b) {\n var k;\n if (b == 16) {\n k = 4;\n }\n else if (b == 8) {\n k = 3;\n }\n else if (b == 256) {\n k = 8;\n /* byte array */\n }\n else if (b == 2) {\n k = 1;\n }\n else if (b == 32) {\n k = 5;\n }\n else if (b == 4) {\n k = 2;\n }\n else {\n this.fromRadix(s, b);\n return;\n }\n this.t = 0;\n this.s = 0;\n var i = s.length;\n var mi = false;\n var sh = 0;\n while (--i >= 0) {\n var x = (k == 8) ? (+s[i]) & 0xff : intAt(s, i);\n if (x < 0) {\n if (s.charAt(i) == \"-\") {\n mi = true;\n }\n continue;\n }\n mi = false;\n if (sh == 0) {\n this[this.t++] = x;\n }\n else if (sh + k > this.DB) {\n this[this.t - 1] |= (x & ((1 << (this.DB - sh)) - 1)) << sh;\n this[this.t++] = (x >> (this.DB - sh));\n }\n else {\n this[this.t - 1] |= x << sh;\n }\n sh += k;\n if (sh >= this.DB) {\n sh -= this.DB;\n }\n }\n if (k == 8 && ((+s[0]) & 0x80) != 0) {\n this.s = -1;\n if (sh > 0) {\n this[this.t - 1] |= ((1 << (this.DB - sh)) - 1) << sh;\n }\n }\n this.clamp();\n if (mi) {\n BigInteger.ZERO.subTo(this, this);\n }\n };\n // BigInteger.prototype.clamp = bnpClamp;\n // (protected) clamp off excess high words\n BigInteger.prototype.clamp = function () {\n var c = this.s & this.DM;\n while (this.t > 0 && this[this.t - 1] == c) {\n --this.t;\n }\n };\n // BigInteger.prototype.dlShiftTo = bnpDLShiftTo;\n // (protected) r = this << n*DB\n BigInteger.prototype.dlShiftTo = function (n, r) {\n var i;\n for (i = this.t - 1; i >= 0; --i) {\n r[i + n] = this[i];\n }\n for (i = n - 1; i >= 0; --i) {\n r[i] = 0;\n }\n r.t = this.t + n;\n r.s = this.s;\n };\n // BigInteger.prototype.drShiftTo = bnpDRShiftTo;\n // (protected) r = this >> n*DB\n BigInteger.prototype.drShiftTo = function (n, r) {\n for (var i = n; i < this.t; ++i) {\n r[i - n] = this[i];\n }\n r.t = Math.max(this.t - n, 0);\n r.s = this.s;\n };\n // BigInteger.prototype.lShiftTo = bnpLShiftTo;\n // (protected) r = this << n\n BigInteger.prototype.lShiftTo = function (n, r) {\n var bs = n % this.DB;\n var cbs = this.DB - bs;\n var bm = (1 << cbs) - 1;\n var ds = Math.floor(n / this.DB);\n var c = (this.s << bs) & this.DM;\n for (var i = this.t - 1; i >= 0; --i) {\n r[i + ds + 1] = (this[i] >> cbs) | c;\n c = (this[i] & bm) << bs;\n }\n for (var i = ds - 1; i >= 0; --i) {\n r[i] = 0;\n }\n r[ds] = c;\n r.t = this.t + ds + 1;\n r.s = this.s;\n r.clamp();\n };\n // BigInteger.prototype.rShiftTo = bnpRShiftTo;\n // (protected) r = this >> n\n BigInteger.prototype.rShiftTo = function (n, r) {\n r.s = this.s;\n var ds = Math.floor(n / this.DB);\n if (ds >= this.t) {\n r.t = 0;\n return;\n }\n var bs = n % this.DB;\n var cbs = this.DB - bs;\n var bm = (1 << bs) - 1;\n r[0] = this[ds] >> bs;\n for (var i = ds + 1; i < this.t; ++i) {\n r[i - ds - 1] |= (this[i] & bm) << cbs;\n r[i - ds] = this[i] >> bs;\n }\n if (bs > 0) {\n r[this.t - ds - 1] |= (this.s & bm) << cbs;\n }\n r.t = this.t - ds;\n r.clamp();\n };\n // BigInteger.prototype.subTo = bnpSubTo;\n // (protected) r = this - a\n BigInteger.prototype.subTo = function (a, r) {\n var i = 0;\n var c = 0;\n var m = Math.min(a.t, this.t);\n while (i < m) {\n c += this[i] - a[i];\n r[i++] = c & this.DM;\n c >>= this.DB;\n }\n if (a.t < this.t) {\n c -= a.s;\n while (i < this.t) {\n c += this[i];\n r[i++] = c & this.DM;\n c >>= this.DB;\n }\n c += this.s;\n }\n else {\n c += this.s;\n while (i < a.t) {\n c -= a[i];\n r[i++] = c & this.DM;\n c >>= this.DB;\n }\n c -= a.s;\n }\n r.s = (c < 0) ? -1 : 0;\n if (c < -1) {\n r[i++] = this.DV + c;\n }\n else if (c > 0) {\n r[i++] = c;\n }\n r.t = i;\n r.clamp();\n };\n // BigInteger.prototype.multiplyTo = bnpMultiplyTo;\n // (protected) r = this * a, r != this,a (HAC 14.12)\n // \"this\" should be the larger one if appropriate.\n BigInteger.prototype.multiplyTo = function (a, r) {\n var x = this.abs();\n var y = a.abs();\n var i = x.t;\n r.t = i + y.t;\n while (--i >= 0) {\n r[i] = 0;\n }\n for (i = 0; i < y.t; ++i) {\n r[i + x.t] = x.am(0, y[i], r, i, 0, x.t);\n }\n r.s = 0;\n r.clamp();\n if (this.s != a.s) {\n BigInteger.ZERO.subTo(r, r);\n }\n };\n // BigInteger.prototype.squareTo = bnpSquareTo;\n // (protected) r = this^2, r != this (HAC 14.16)\n BigInteger.prototype.squareTo = function (r) {\n var x = this.abs();\n var i = r.t = 2 * x.t;\n while (--i >= 0) {\n r[i] = 0;\n }\n for (i = 0; i < x.t - 1; ++i) {\n var c = x.am(i, x[i], r, 2 * i, 0, 1);\n if ((r[i + x.t] += x.am(i + 1, 2 * x[i], r, 2 * i + 1, c, x.t - i - 1)) >= x.DV) {\n r[i + x.t] -= x.DV;\n r[i + x.t + 1] = 1;\n }\n }\n if (r.t > 0) {\n r[r.t - 1] += x.am(i, x[i], r, 2 * i, 0, 1);\n }\n r.s = 0;\n r.clamp();\n };\n // BigInteger.prototype.divRemTo = bnpDivRemTo;\n // (protected) divide this by m, quotient and remainder to q, r (HAC 14.20)\n // r != q, this != m. q or r may be null.\n BigInteger.prototype.divRemTo = function (m, q, r) {\n var pm = m.abs();\n if (pm.t <= 0) {\n return;\n }\n var pt = this.abs();\n if (pt.t < pm.t) {\n if (q != null) {\n q.fromInt(0);\n }\n if (r != null) {\n this.copyTo(r);\n }\n return;\n }\n if (r == null) {\n r = nbi();\n }\n var y = nbi();\n var ts = this.s;\n var ms = m.s;\n var nsh = this.DB - nbits(pm[pm.t - 1]); // normalize modulus\n if (nsh > 0) {\n pm.lShiftTo(nsh, y);\n pt.lShiftTo(nsh, r);\n }\n else {\n pm.copyTo(y);\n pt.copyTo(r);\n }\n var ys = y.t;\n var y0 = y[ys - 1];\n if (y0 == 0) {\n return;\n }\n var yt = y0 * (1 << this.F1) + ((ys > 1) ? y[ys - 2] >> this.F2 : 0);\n var d1 = this.FV / yt;\n var d2 = (1 << this.F1) / yt;\n var e = 1 << this.F2;\n var i = r.t;\n var j = i - ys;\n var t = (q == null) ? nbi() : q;\n y.dlShiftTo(j, t);\n if (r.compareTo(t) >= 0) {\n r[r.t++] = 1;\n r.subTo(t, r);\n }\n BigInteger.ONE.dlShiftTo(ys, t);\n t.subTo(y, y); // \"negative\" y so we can replace sub with am later\n while (y.t < ys) {\n y[y.t++] = 0;\n }\n while (--j >= 0) {\n // Estimate quotient digit\n var qd = (r[--i] == y0) ? this.DM : Math.floor(r[i] * d1 + (r[i - 1] + e) * d2);\n if ((r[i] += y.am(0, qd, r, j, 0, ys)) < qd) { // Try it out\n y.dlShiftTo(j, t);\n r.subTo(t, r);\n while (r[i] < --qd) {\n r.subTo(t, r);\n }\n }\n }\n if (q != null) {\n r.drShiftTo(ys, q);\n if (ts != ms) {\n BigInteger.ZERO.subTo(q, q);\n }\n }\n r.t = ys;\n r.clamp();\n if (nsh > 0) {\n r.rShiftTo(nsh, r);\n } // Denormalize remainder\n if (ts < 0) {\n BigInteger.ZERO.subTo(r, r);\n }\n };\n // BigInteger.prototype.invDigit = bnpInvDigit;\n // (protected) return \"-1/this % 2^DB\"; useful for Mont. reduction\n // justification:\n // xy == 1 (mod m)\n // xy = 1+km\n // xy(2-xy) = (1+km)(1-km)\n // x[y(2-xy)] = 1-k^2m^2\n // x[y(2-xy)] == 1 (mod m^2)\n // if y is 1/x mod m, then y(2-xy) is 1/x mod m^2\n // should reduce x and y(2-xy) by m^2 at each step to keep size bounded.\n // JS multiply \"overflows\" differently from C/C++, so care is needed here.\n BigInteger.prototype.invDigit = function () {\n if (this.t < 1) {\n return 0;\n }\n var x = this[0];\n if ((x & 1) == 0) {\n return 0;\n }\n var y = x & 3; // y == 1/x mod 2^2\n y = (y * (2 - (x & 0xf) * y)) & 0xf; // y == 1/x mod 2^4\n y = (y * (2 - (x & 0xff) * y)) & 0xff; // y == 1/x mod 2^8\n y = (y * (2 - (((x & 0xffff) * y) & 0xffff))) & 0xffff; // y == 1/x mod 2^16\n // last step - calculate inverse mod DV directly;\n // assumes 16 < DB <= 32 and assumes ability to handle 48-bit ints\n y = (y * (2 - x * y % this.DV)) % this.DV; // y == 1/x mod 2^dbits\n // we really want the negative inverse, and -DV < y < DV\n return (y > 0) ? this.DV - y : -y;\n };\n // BigInteger.prototype.isEven = bnpIsEven;\n // (protected) true iff this is even\n BigInteger.prototype.isEven = function () {\n return ((this.t > 0) ? (this[0] & 1) : this.s) == 0;\n };\n // BigInteger.prototype.exp = bnpExp;\n // (protected) this^e, e < 2^32, doing sqr and mul with \"r\" (HAC 14.79)\n BigInteger.prototype.exp = function (e, z) {\n if (e > 0xffffffff || e < 1) {\n return BigInteger.ONE;\n }\n var r = nbi();\n var r2 = nbi();\n var g = z.convert(this);\n var i = nbits(e) - 1;\n g.copyTo(r);\n while (--i >= 0) {\n z.sqrTo(r, r2);\n if ((e & (1 << i)) > 0) {\n z.mulTo(r2, g, r);\n }\n else {\n var t = r;\n r = r2;\n r2 = t;\n }\n }\n return z.revert(r);\n };\n // BigInteger.prototype.chunkSize = bnpChunkSize;\n // (protected) return x s.t. r^x < DV\n BigInteger.prototype.chunkSize = function (r) {\n return Math.floor(Math.LN2 * this.DB / Math.log(r));\n };\n // BigInteger.prototype.toRadix = bnpToRadix;\n // (protected) convert to radix string\n BigInteger.prototype.toRadix = function (b) {\n if (b == null) {\n b = 10;\n }\n if (this.signum() == 0 || b < 2 || b > 36) {\n return \"0\";\n }\n var cs = this.chunkSize(b);\n var a = Math.pow(b, cs);\n var d = nbv(a);\n var y = nbi();\n var z = nbi();\n var r = \"\";\n this.divRemTo(d, y, z);\n while (y.signum() > 0) {\n r = (a + z.intValue()).toString(b).substr(1) + r;\n y.divRemTo(d, y, z);\n }\n return z.intValue().toString(b) + r;\n };\n // BigInteger.prototype.fromRadix = bnpFromRadix;\n // (protected) convert from radix string\n BigInteger.prototype.fromRadix = function (s, b) {\n this.fromInt(0);\n if (b == null) {\n b = 10;\n }\n var cs = this.chunkSize(b);\n var d = Math.pow(b, cs);\n var mi = false;\n var j = 0;\n var w = 0;\n for (var i = 0; i < s.length; ++i) {\n var x = intAt(s, i);\n if (x < 0) {\n if (s.charAt(i) == \"-\" && this.signum() == 0) {\n mi = true;\n }\n continue;\n }\n w = b * w + x;\n if (++j >= cs) {\n this.dMultiply(d);\n this.dAddOffset(w, 0);\n j = 0;\n w = 0;\n }\n }\n if (j > 0) {\n this.dMultiply(Math.pow(b, j));\n this.dAddOffset(w, 0);\n }\n if (mi) {\n BigInteger.ZERO.subTo(this, this);\n }\n };\n // BigInteger.prototype.fromNumber = bnpFromNumber;\n // (protected) alternate constructor\n BigInteger.prototype.fromNumber = function (a, b, c) {\n if (\"number\" == typeof b) {\n // new BigInteger(int,int,RNG)\n if (a < 2) {\n this.fromInt(1);\n }\n else {\n this.fromNumber(a, c);\n if (!this.testBit(a - 1)) {\n // force MSB set\n this.bitwiseTo(BigInteger.ONE.shiftLeft(a - 1), _util__WEBPACK_IMPORTED_MODULE_0__.op_or, this);\n }\n if (this.isEven()) {\n this.dAddOffset(1, 0);\n } // force odd\n while (!this.isProbablePrime(b)) {\n this.dAddOffset(2, 0);\n if (this.bitLength() > a) {\n this.subTo(BigInteger.ONE.shiftLeft(a - 1), this);\n }\n }\n }\n }\n else {\n // new BigInteger(int,RNG)\n var x = [];\n var t = a & 7;\n x.length = (a >> 3) + 1;\n b.nextBytes(x);\n if (t > 0) {\n x[0] &= ((1 << t) - 1);\n }\n else {\n x[0] = 0;\n }\n this.fromString(x, 256);\n }\n };\n // BigInteger.prototype.bitwiseTo = bnpBitwiseTo;\n // (protected) r = this op a (bitwise)\n BigInteger.prototype.bitwiseTo = function (a, op, r) {\n var i;\n var f;\n var m = Math.min(a.t, this.t);\n for (i = 0; i < m; ++i) {\n r[i] = op(this[i], a[i]);\n }\n if (a.t < this.t) {\n f = a.s & this.DM;\n for (i = m; i < this.t; ++i) {\n r[i] = op(this[i], f);\n }\n r.t = this.t;\n }\n else {\n f = this.s & this.DM;\n for (i = m; i < a.t; ++i) {\n r[i] = op(f, a[i]);\n }\n r.t = a.t;\n }\n r.s = op(this.s, a.s);\n r.clamp();\n };\n // BigInteger.prototype.changeBit = bnpChangeBit;\n // (protected) this op (1<>= this.DB;\n }\n if (a.t < this.t) {\n c += a.s;\n while (i < this.t) {\n c += this[i];\n r[i++] = c & this.DM;\n c >>= this.DB;\n }\n c += this.s;\n }\n else {\n c += this.s;\n while (i < a.t) {\n c += a[i];\n r[i++] = c & this.DM;\n c >>= this.DB;\n }\n c += a.s;\n }\n r.s = (c < 0) ? -1 : 0;\n if (c > 0) {\n r[i++] = c;\n }\n else if (c < -1) {\n r[i++] = this.DV + c;\n }\n r.t = i;\n r.clamp();\n };\n // BigInteger.prototype.dMultiply = bnpDMultiply;\n // (protected) this *= n, this >= 0, 1 < n < DV\n BigInteger.prototype.dMultiply = function (n) {\n this[this.t] = this.am(0, n - 1, this, 0, 0, this.t);\n ++this.t;\n this.clamp();\n };\n // BigInteger.prototype.dAddOffset = bnpDAddOffset;\n // (protected) this += n << w words, this >= 0\n BigInteger.prototype.dAddOffset = function (n, w) {\n if (n == 0) {\n return;\n }\n while (this.t <= w) {\n this[this.t++] = 0;\n }\n this[w] += n;\n while (this[w] >= this.DV) {\n this[w] -= this.DV;\n if (++w >= this.t) {\n this[this.t++] = 0;\n }\n ++this[w];\n }\n };\n // BigInteger.prototype.multiplyLowerTo = bnpMultiplyLowerTo;\n // (protected) r = lower n words of \"this * a\", a.t <= n\n // \"this\" should be the larger one if appropriate.\n BigInteger.prototype.multiplyLowerTo = function (a, n, r) {\n var i = Math.min(this.t + a.t, n);\n r.s = 0; // assumes a,this >= 0\n r.t = i;\n while (i > 0) {\n r[--i] = 0;\n }\n for (var j = r.t - this.t; i < j; ++i) {\n r[i + this.t] = this.am(0, a[i], r, i, 0, this.t);\n }\n for (var j = Math.min(a.t, n); i < j; ++i) {\n this.am(0, a[i], r, i, 0, n - i);\n }\n r.clamp();\n };\n // BigInteger.prototype.multiplyUpperTo = bnpMultiplyUpperTo;\n // (protected) r = \"this * a\" without lower n words, n > 0\n // \"this\" should be the larger one if appropriate.\n BigInteger.prototype.multiplyUpperTo = function (a, n, r) {\n --n;\n var i = r.t = this.t + a.t - n;\n r.s = 0; // assumes a,this >= 0\n while (--i >= 0) {\n r[i] = 0;\n }\n for (i = Math.max(n - this.t, 0); i < a.t; ++i) {\n r[this.t + i - n] = this.am(n - i, a[i], r, 0, 0, this.t + i - n);\n }\n r.clamp();\n r.drShiftTo(1, r);\n };\n // BigInteger.prototype.modInt = bnpModInt;\n // (protected) this % n, n < 2^26\n BigInteger.prototype.modInt = function (n) {\n if (n <= 0) {\n return 0;\n }\n var d = this.DV % n;\n var r = (this.s < 0) ? n - 1 : 0;\n if (this.t > 0) {\n if (d == 0) {\n r = this[0] % n;\n }\n else {\n for (var i = this.t - 1; i >= 0; --i) {\n r = (d * r + this[i]) % n;\n }\n }\n }\n return r;\n };\n // BigInteger.prototype.millerRabin = bnpMillerRabin;\n // (protected) true if probably prime (HAC 4.24, Miller-Rabin)\n BigInteger.prototype.millerRabin = function (t) {\n var n1 = this.subtract(BigInteger.ONE);\n var k = n1.getLowestSetBit();\n if (k <= 0) {\n return false;\n }\n var r = n1.shiftRight(k);\n t = (t + 1) >> 1;\n if (t > lowprimes.length) {\n t = lowprimes.length;\n }\n var a = nbi();\n for (var i = 0; i < t; ++i) {\n // Pick bases at random, instead of starting at 2\n a.fromInt(lowprimes[Math.floor(Math.random() * lowprimes.length)]);\n var y = a.modPow(r, this);\n if (y.compareTo(BigInteger.ONE) != 0 && y.compareTo(n1) != 0) {\n var j = 1;\n while (j++ < k && y.compareTo(n1) != 0) {\n y = y.modPowInt(2, this);\n if (y.compareTo(BigInteger.ONE) == 0) {\n return false;\n }\n }\n if (y.compareTo(n1) != 0) {\n return false;\n }\n }\n }\n return true;\n };\n // BigInteger.prototype.square = bnSquare;\n // (public) this^2\n BigInteger.prototype.square = function () {\n var r = nbi();\n this.squareTo(r);\n return r;\n };\n //#region ASYNC\n // Public API method\n BigInteger.prototype.gcda = function (a, callback) {\n var x = (this.s < 0) ? this.negate() : this.clone();\n var y = (a.s < 0) ? a.negate() : a.clone();\n if (x.compareTo(y) < 0) {\n var t = x;\n x = y;\n y = t;\n }\n var i = x.getLowestSetBit();\n var g = y.getLowestSetBit();\n if (g < 0) {\n callback(x);\n return;\n }\n if (i < g) {\n g = i;\n }\n if (g > 0) {\n x.rShiftTo(g, x);\n y.rShiftTo(g, y);\n }\n // Workhorse of the algorithm, gets called 200 - 800 times per 512 bit keygen.\n var gcda1 = function () {\n if ((i = x.getLowestSetBit()) > 0) {\n x.rShiftTo(i, x);\n }\n if ((i = y.getLowestSetBit()) > 0) {\n y.rShiftTo(i, y);\n }\n if (x.compareTo(y) >= 0) {\n x.subTo(y, x);\n x.rShiftTo(1, x);\n }\n else {\n y.subTo(x, y);\n y.rShiftTo(1, y);\n }\n if (!(x.signum() > 0)) {\n if (g > 0) {\n y.lShiftTo(g, y);\n }\n setTimeout(function () { callback(y); }, 0); // escape\n }\n else {\n setTimeout(gcda1, 0);\n }\n };\n setTimeout(gcda1, 10);\n };\n // (protected) alternate constructor\n BigInteger.prototype.fromNumberAsync = function (a, b, c, callback) {\n if (\"number\" == typeof b) {\n if (a < 2) {\n this.fromInt(1);\n }\n else {\n this.fromNumber(a, c);\n if (!this.testBit(a - 1)) {\n this.bitwiseTo(BigInteger.ONE.shiftLeft(a - 1), _util__WEBPACK_IMPORTED_MODULE_0__.op_or, this);\n }\n if (this.isEven()) {\n this.dAddOffset(1, 0);\n }\n var bnp_1 = this;\n var bnpfn1_1 = function () {\n bnp_1.dAddOffset(2, 0);\n if (bnp_1.bitLength() > a) {\n bnp_1.subTo(BigInteger.ONE.shiftLeft(a - 1), bnp_1);\n }\n if (bnp_1.isProbablePrime(b)) {\n setTimeout(function () { callback(); }, 0); // escape\n }\n else {\n setTimeout(bnpfn1_1, 0);\n }\n };\n setTimeout(bnpfn1_1, 0);\n }\n }\n else {\n var x = [];\n var t = a & 7;\n x.length = (a >> 3) + 1;\n b.nextBytes(x);\n if (t > 0) {\n x[0] &= ((1 << t) - 1);\n }\n else {\n x[0] = 0;\n }\n this.fromString(x, 256);\n }\n };\n return BigInteger;\n}());\n\n//#region REDUCERS\n//#region NullExp\nvar NullExp = /** @class */ (function () {\n function NullExp() {\n }\n // NullExp.prototype.convert = nNop;\n NullExp.prototype.convert = function (x) {\n return x;\n };\n // NullExp.prototype.revert = nNop;\n NullExp.prototype.revert = function (x) {\n return x;\n };\n // NullExp.prototype.mulTo = nMulTo;\n NullExp.prototype.mulTo = function (x, y, r) {\n x.multiplyTo(y, r);\n };\n // NullExp.prototype.sqrTo = nSqrTo;\n NullExp.prototype.sqrTo = function (x, r) {\n x.squareTo(r);\n };\n return NullExp;\n}());\n// Modular reduction using \"classic\" algorithm\nvar Classic = /** @class */ (function () {\n function Classic(m) {\n this.m = m;\n }\n // Classic.prototype.convert = cConvert;\n Classic.prototype.convert = function (x) {\n if (x.s < 0 || x.compareTo(this.m) >= 0) {\n return x.mod(this.m);\n }\n else {\n return x;\n }\n };\n // Classic.prototype.revert = cRevert;\n Classic.prototype.revert = function (x) {\n return x;\n };\n // Classic.prototype.reduce = cReduce;\n Classic.prototype.reduce = function (x) {\n x.divRemTo(this.m, null, x);\n };\n // Classic.prototype.mulTo = cMulTo;\n Classic.prototype.mulTo = function (x, y, r) {\n x.multiplyTo(y, r);\n this.reduce(r);\n };\n // Classic.prototype.sqrTo = cSqrTo;\n Classic.prototype.sqrTo = function (x, r) {\n x.squareTo(r);\n this.reduce(r);\n };\n return Classic;\n}());\n//#endregion\n//#region Montgomery\n// Montgomery reduction\nvar Montgomery = /** @class */ (function () {\n function Montgomery(m) {\n this.m = m;\n this.mp = m.invDigit();\n this.mpl = this.mp & 0x7fff;\n this.mph = this.mp >> 15;\n this.um = (1 << (m.DB - 15)) - 1;\n this.mt2 = 2 * m.t;\n }\n // Montgomery.prototype.convert = montConvert;\n // xR mod m\n Montgomery.prototype.convert = function (x) {\n var r = nbi();\n x.abs().dlShiftTo(this.m.t, r);\n r.divRemTo(this.m, null, r);\n if (x.s < 0 && r.compareTo(BigInteger.ZERO) > 0) {\n this.m.subTo(r, r);\n }\n return r;\n };\n // Montgomery.prototype.revert = montRevert;\n // x/R mod m\n Montgomery.prototype.revert = function (x) {\n var r = nbi();\n x.copyTo(r);\n this.reduce(r);\n return r;\n };\n // Montgomery.prototype.reduce = montReduce;\n // x = x/R mod m (HAC 14.32)\n Montgomery.prototype.reduce = function (x) {\n while (x.t <= this.mt2) {\n // pad x so am has enough room later\n x[x.t++] = 0;\n }\n for (var i = 0; i < this.m.t; ++i) {\n // faster way of calculating u0 = x[i]*mp mod DV\n var j = x[i] & 0x7fff;\n var u0 = (j * this.mpl + (((j * this.mph + (x[i] >> 15) * this.mpl) & this.um) << 15)) & x.DM;\n // use am to combine the multiply-shift-add into one call\n j = i + this.m.t;\n x[j] += this.m.am(0, u0, x, i, 0, this.m.t);\n // propagate carry\n while (x[j] >= x.DV) {\n x[j] -= x.DV;\n x[++j]++;\n }\n }\n x.clamp();\n x.drShiftTo(this.m.t, x);\n if (x.compareTo(this.m) >= 0) {\n x.subTo(this.m, x);\n }\n };\n // Montgomery.prototype.mulTo = montMulTo;\n // r = \"xy/R mod m\"; x,y != r\n Montgomery.prototype.mulTo = function (x, y, r) {\n x.multiplyTo(y, r);\n this.reduce(r);\n };\n // Montgomery.prototype.sqrTo = montSqrTo;\n // r = \"x^2/R mod m\"; x != r\n Montgomery.prototype.sqrTo = function (x, r) {\n x.squareTo(r);\n this.reduce(r);\n };\n return Montgomery;\n}());\n//#endregion Montgomery\n//#region Barrett\n// Barrett modular reduction\nvar Barrett = /** @class */ (function () {\n function Barrett(m) {\n this.m = m;\n // setup Barrett\n this.r2 = nbi();\n this.q3 = nbi();\n BigInteger.ONE.dlShiftTo(2 * m.t, this.r2);\n this.mu = this.r2.divide(m);\n }\n // Barrett.prototype.convert = barrettConvert;\n Barrett.prototype.convert = function (x) {\n if (x.s < 0 || x.t > 2 * this.m.t) {\n return x.mod(this.m);\n }\n else if (x.compareTo(this.m) < 0) {\n return x;\n }\n else {\n var r = nbi();\n x.copyTo(r);\n this.reduce(r);\n return r;\n }\n };\n // Barrett.prototype.revert = barrettRevert;\n Barrett.prototype.revert = function (x) {\n return x;\n };\n // Barrett.prototype.reduce = barrettReduce;\n // x = x mod m (HAC 14.42)\n Barrett.prototype.reduce = function (x) {\n x.drShiftTo(this.m.t - 1, this.r2);\n if (x.t > this.m.t + 1) {\n x.t = this.m.t + 1;\n x.clamp();\n }\n this.mu.multiplyUpperTo(this.r2, this.m.t + 1, this.q3);\n this.m.multiplyLowerTo(this.q3, this.m.t + 1, this.r2);\n while (x.compareTo(this.r2) < 0) {\n x.dAddOffset(1, this.m.t + 1);\n }\n x.subTo(this.r2, x);\n while (x.compareTo(this.m) >= 0) {\n x.subTo(this.m, x);\n }\n };\n // Barrett.prototype.mulTo = barrettMulTo;\n // r = x*y mod m; x,y != r\n Barrett.prototype.mulTo = function (x, y, r) {\n x.multiplyTo(y, r);\n this.reduce(r);\n };\n // Barrett.prototype.sqrTo = barrettSqrTo;\n // r = x^2 mod m; x != r\n Barrett.prototype.sqrTo = function (x, r) {\n x.squareTo(r);\n this.reduce(r);\n };\n return Barrett;\n}());\n//#endregion\n//#endregion REDUCERS\n// return new, unset BigInteger\nfunction nbi() { return new BigInteger(null); }\nfunction parseBigInt(str, r) {\n return new BigInteger(str, r);\n}\n// am: Compute w_j += (x*this_i), propagate carries,\n// c is initial carry, returns final carry.\n// c < 3*dvalue, x < 2*dvalue, this_i < dvalue\n// We need to select the fastest one that works in this environment.\nvar inBrowser = typeof navigator !== \"undefined\";\nif (inBrowser && j_lm && (navigator.appName == \"Microsoft Internet Explorer\")) {\n // am2 avoids a big mult-and-extract completely.\n // Max digit bits should be <= 30 because we do bitwise ops\n // on values up to 2*hdvalue^2-hdvalue-1 (< 2^31)\n BigInteger.prototype.am = function am2(i, x, w, j, c, n) {\n var xl = x & 0x7fff;\n var xh = x >> 15;\n while (--n >= 0) {\n var l = this[i] & 0x7fff;\n var h = this[i++] >> 15;\n var m = xh * l + h * xl;\n l = xl * l + ((m & 0x7fff) << 15) + w[j] + (c & 0x3fffffff);\n c = (l >>> 30) + (m >>> 15) + xh * h + (c >>> 30);\n w[j++] = l & 0x3fffffff;\n }\n return c;\n };\n dbits = 30;\n}\nelse if (inBrowser && j_lm && (navigator.appName != \"Netscape\")) {\n // am1: use a single mult and divide to get the high bits,\n // max digit bits should be 26 because\n // max internal value = 2*dvalue^2-2*dvalue (< 2^53)\n BigInteger.prototype.am = function am1(i, x, w, j, c, n) {\n while (--n >= 0) {\n var v = x * this[i++] + w[j] + c;\n c = Math.floor(v / 0x4000000);\n w[j++] = v & 0x3ffffff;\n }\n return c;\n };\n dbits = 26;\n}\nelse { // Mozilla/Netscape seems to prefer am3\n // Alternately, set max digit bits to 28 since some\n // browsers slow down when dealing with 32-bit numbers.\n BigInteger.prototype.am = function am3(i, x, w, j, c, n) {\n var xl = x & 0x3fff;\n var xh = x >> 14;\n while (--n >= 0) {\n var l = this[i] & 0x3fff;\n var h = this[i++] >> 14;\n var m = xh * l + h * xl;\n l = xl * l + ((m & 0x3fff) << 14) + w[j] + c;\n c = (l >> 28) + (m >> 14) + xh * h;\n w[j++] = l & 0xfffffff;\n }\n return c;\n };\n dbits = 28;\n}\nBigInteger.prototype.DB = dbits;\nBigInteger.prototype.DM = ((1 << dbits) - 1);\nBigInteger.prototype.DV = (1 << dbits);\nvar BI_FP = 52;\nBigInteger.prototype.FV = Math.pow(2, BI_FP);\nBigInteger.prototype.F1 = BI_FP - dbits;\nBigInteger.prototype.F2 = 2 * dbits - BI_FP;\n// Digit conversions\nvar BI_RC = [];\nvar rr;\nvar vv;\nrr = \"0\".charCodeAt(0);\nfor (vv = 0; vv <= 9; ++vv) {\n BI_RC[rr++] = vv;\n}\nrr = \"a\".charCodeAt(0);\nfor (vv = 10; vv < 36; ++vv) {\n BI_RC[rr++] = vv;\n}\nrr = \"A\".charCodeAt(0);\nfor (vv = 10; vv < 36; ++vv) {\n BI_RC[rr++] = vv;\n}\nfunction intAt(s, i) {\n var c = BI_RC[s.charCodeAt(i)];\n return (c == null) ? -1 : c;\n}\n// return bigint initialized to value\nfunction nbv(i) {\n var r = nbi();\n r.fromInt(i);\n return r;\n}\n// returns bit length of the integer x\nfunction nbits(x) {\n var r = 1;\n var t;\n if ((t = x >>> 16) != 0) {\n x = t;\n r += 16;\n }\n if ((t = x >> 8) != 0) {\n x = t;\n r += 8;\n }\n if ((t = x >> 4) != 0) {\n x = t;\n r += 4;\n }\n if ((t = x >> 2) != 0) {\n x = t;\n r += 2;\n }\n if ((t = x >> 1) != 0) {\n x = t;\n r += 1;\n }\n return r;\n}\n// \"constants\"\nBigInteger.ZERO = nbv(0);\nBigInteger.ONE = nbv(1);\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/jsbn/jsbn.js?"); + +/***/ }), + +/***/ "./lib/lib/jsbn/prng4.js": +/*!*******************************!*\ + !*** ./lib/lib/jsbn/prng4.js ***! + \*******************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Arcfour\": () => (/* binding */ Arcfour),\n/* harmony export */ \"prng_newstate\": () => (/* binding */ prng_newstate),\n/* harmony export */ \"rng_psize\": () => (/* binding */ rng_psize)\n/* harmony export */ });\n// prng4.js - uses Arcfour as a PRNG\nvar Arcfour = /** @class */ (function () {\n function Arcfour() {\n this.i = 0;\n this.j = 0;\n this.S = [];\n }\n // Arcfour.prototype.init = ARC4init;\n // Initialize arcfour context from key, an array of ints, each from [0..255]\n Arcfour.prototype.init = function (key) {\n var i;\n var j;\n var t;\n for (i = 0; i < 256; ++i) {\n this.S[i] = i;\n }\n j = 0;\n for (i = 0; i < 256; ++i) {\n j = (j + this.S[i] + key[i % key.length]) & 255;\n t = this.S[i];\n this.S[i] = this.S[j];\n this.S[j] = t;\n }\n this.i = 0;\n this.j = 0;\n };\n // Arcfour.prototype.next = ARC4next;\n Arcfour.prototype.next = function () {\n var t;\n this.i = (this.i + 1) & 255;\n this.j = (this.j + this.S[this.i]) & 255;\n t = this.S[this.i];\n this.S[this.i] = this.S[this.j];\n this.S[this.j] = t;\n return this.S[(t + this.S[this.i]) & 255];\n };\n return Arcfour;\n}());\n\n// Plug in your RNG constructor here\nfunction prng_newstate() {\n return new Arcfour();\n}\n// Pool size must be a multiple of 4 and greater than 32.\n// An array of bytes the size of the pool will be passed to init()\nvar rng_psize = 256;\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/jsbn/prng4.js?"); + +/***/ }), + +/***/ "./lib/lib/jsbn/rng.js": +/*!*****************************!*\ + !*** ./lib/lib/jsbn/rng.js ***! + \*****************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"SecureRandom\": () => (/* binding */ SecureRandom)\n/* harmony export */ });\n/* harmony import */ var _prng4__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./prng4 */ \"./lib/lib/jsbn/prng4.js\");\n// Random number generator - requires a PRNG backend, e.g. prng4.js\n\nvar rng_state;\nvar rng_pool = null;\nvar rng_pptr;\n// Initialize the pool with junk if needed.\nif (rng_pool == null) {\n rng_pool = [];\n rng_pptr = 0;\n var t = void 0;\n if (typeof window !== 'undefined' && window.crypto && window.crypto.getRandomValues) {\n // Extract entropy (2048 bits) from RNG if available\n var z = new Uint32Array(256);\n window.crypto.getRandomValues(z);\n for (t = 0; t < z.length; ++t) {\n rng_pool[rng_pptr++] = z[t] & 255;\n }\n }\n // Use mouse events for entropy, if we do not have enough entropy by the time\n // we need it, entropy will be generated by Math.random.\n var count = 0;\n var onMouseMoveListener_1 = function (ev) {\n count = count || 0;\n if (count >= 256 || rng_pptr >= _prng4__WEBPACK_IMPORTED_MODULE_0__.rng_psize) {\n if (window.removeEventListener) {\n window.removeEventListener(\"mousemove\", onMouseMoveListener_1, false);\n }\n else if (window.detachEvent) {\n window.detachEvent(\"onmousemove\", onMouseMoveListener_1);\n }\n return;\n }\n try {\n var mouseCoordinates = ev.x + ev.y;\n rng_pool[rng_pptr++] = mouseCoordinates & 255;\n count += 1;\n }\n catch (e) {\n // Sometimes Firefox will deny permission to access event properties for some reason. Ignore.\n }\n };\n if (typeof window !== 'undefined') {\n if (window.addEventListener) {\n window.addEventListener(\"mousemove\", onMouseMoveListener_1, false);\n }\n else if (window.attachEvent) {\n window.attachEvent(\"onmousemove\", onMouseMoveListener_1);\n }\n }\n}\nfunction rng_get_byte() {\n if (rng_state == null) {\n rng_state = (0,_prng4__WEBPACK_IMPORTED_MODULE_0__.prng_newstate)();\n // At this point, we may not have collected enough entropy. If not, fall back to Math.random\n while (rng_pptr < _prng4__WEBPACK_IMPORTED_MODULE_0__.rng_psize) {\n var random = Math.floor(65536 * Math.random());\n rng_pool[rng_pptr++] = random & 255;\n }\n rng_state.init(rng_pool);\n for (rng_pptr = 0; rng_pptr < rng_pool.length; ++rng_pptr) {\n rng_pool[rng_pptr] = 0;\n }\n rng_pptr = 0;\n }\n // TODO: allow reseeding after first request\n return rng_state.next();\n}\nvar SecureRandom = /** @class */ (function () {\n function SecureRandom() {\n }\n SecureRandom.prototype.nextBytes = function (ba) {\n for (var i = 0; i < ba.length; ++i) {\n ba[i] = rng_get_byte();\n }\n };\n return SecureRandom;\n}());\n\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/jsbn/rng.js?"); + +/***/ }), + +/***/ "./lib/lib/jsbn/rsa.js": +/*!*****************************!*\ + !*** ./lib/lib/jsbn/rsa.js ***! + \*****************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"RSAKey\": () => (/* binding */ RSAKey)\n/* harmony export */ });\n/* harmony import */ var _jsbn__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./jsbn */ \"./lib/lib/jsbn/jsbn.js\");\n/* harmony import */ var _rng__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./rng */ \"./lib/lib/jsbn/rng.js\");\n// Depends on jsbn.js and rng.js\n// Version 1.1: support utf-8 encoding in pkcs1pad2\n// convert a (hex) string to a bignum object\n\n\n// function linebrk(s,n) {\n// var ret = \"\";\n// var i = 0;\n// while(i + n < s.length) {\n// ret += s.substring(i,i+n) + \"\\n\";\n// i += n;\n// }\n// return ret + s.substring(i,s.length);\n// }\n// function byte2Hex(b) {\n// if(b < 0x10)\n// return \"0\" + b.toString(16);\n// else\n// return b.toString(16);\n// }\nfunction pkcs1pad1(s, n) {\n if (n < s.length + 22) {\n console.error(\"Message too long for RSA\");\n return null;\n }\n var len = n - s.length - 6;\n var filler = \"\";\n for (var f = 0; f < len; f += 2) {\n filler += \"ff\";\n }\n var m = \"0001\" + filler + \"00\" + s;\n return (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.parseBigInt)(m, 16);\n}\n// PKCS#1 (type 2, random) pad input string s to n bytes, and return a bigint\nfunction pkcs1pad2(s, n) {\n if (n < s.length + 11) { // TODO: fix for utf-8\n console.error(\"Message too long for RSA\");\n return null;\n }\n var ba = [];\n var i = s.length - 1;\n while (i >= 0 && n > 0) {\n var c = s.charCodeAt(i--);\n if (c < 128) { // encode using utf-8\n ba[--n] = c;\n }\n else if ((c > 127) && (c < 2048)) {\n ba[--n] = (c & 63) | 128;\n ba[--n] = (c >> 6) | 192;\n }\n else {\n ba[--n] = (c & 63) | 128;\n ba[--n] = ((c >> 6) & 63) | 128;\n ba[--n] = (c >> 12) | 224;\n }\n }\n ba[--n] = 0;\n var rng = new _rng__WEBPACK_IMPORTED_MODULE_1__.SecureRandom();\n var x = [];\n while (n > 2) { // random non-zero pad\n x[0] = 0;\n while (x[0] == 0) {\n rng.nextBytes(x);\n }\n ba[--n] = x[0];\n }\n ba[--n] = 2;\n ba[--n] = 0;\n return new _jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger(ba);\n}\n// \"empty\" RSA key constructor\nvar RSAKey = /** @class */ (function () {\n function RSAKey() {\n this.n = null;\n this.e = 0;\n this.d = null;\n this.p = null;\n this.q = null;\n this.dmp1 = null;\n this.dmq1 = null;\n this.coeff = null;\n }\n //#region PROTECTED\n // protected\n // RSAKey.prototype.doPublic = RSADoPublic;\n // Perform raw public operation on \"x\": return x^e (mod n)\n RSAKey.prototype.doPublic = function (x) {\n return x.modPowInt(this.e, this.n);\n };\n // RSAKey.prototype.doPrivate = RSADoPrivate;\n // Perform raw private operation on \"x\": return x^d (mod n)\n RSAKey.prototype.doPrivate = function (x) {\n if (this.p == null || this.q == null) {\n return x.modPow(this.d, this.n);\n }\n // TODO: re-calculate any missing CRT params\n var xp = x.mod(this.p).modPow(this.dmp1, this.p);\n var xq = x.mod(this.q).modPow(this.dmq1, this.q);\n while (xp.compareTo(xq) < 0) {\n xp = xp.add(this.p);\n }\n return xp.subtract(xq).multiply(this.coeff).mod(this.p).multiply(this.q).add(xq);\n };\n //#endregion PROTECTED\n //#region PUBLIC\n // RSAKey.prototype.setPublic = RSASetPublic;\n // Set the public key fields N and e from hex strings\n RSAKey.prototype.setPublic = function (N, E) {\n if (N != null && E != null && N.length > 0 && E.length > 0) {\n this.n = (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.parseBigInt)(N, 16);\n this.e = parseInt(E, 16);\n }\n else {\n console.error(\"Invalid RSA public key\");\n }\n };\n // RSAKey.prototype.encrypt = RSAEncrypt;\n // Return the PKCS#1 RSA encryption of \"text\" as an even-length hex string\n RSAKey.prototype.encrypt = function (text) {\n var maxLength = (this.n.bitLength() + 7) >> 3;\n var m = pkcs1pad2(text, maxLength);\n if (m == null) {\n return null;\n }\n var c = this.doPublic(m);\n if (c == null) {\n return null;\n }\n var h = c.toString(16);\n var length = h.length;\n // fix zero before result\n for (var i = 0; i < maxLength * 2 - length; i++) {\n h = \"0\" + h;\n }\n return h;\n };\n // RSAKey.prototype.setPrivate = RSASetPrivate;\n // Set the private key fields N, e, and d from hex strings\n RSAKey.prototype.setPrivate = function (N, E, D) {\n if (N != null && E != null && N.length > 0 && E.length > 0) {\n this.n = (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.parseBigInt)(N, 16);\n this.e = parseInt(E, 16);\n this.d = (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.parseBigInt)(D, 16);\n }\n else {\n console.error(\"Invalid RSA private key\");\n }\n };\n // RSAKey.prototype.setPrivateEx = RSASetPrivateEx;\n // Set the private key fields N, e, d and CRT params from hex strings\n RSAKey.prototype.setPrivateEx = function (N, E, D, P, Q, DP, DQ, C) {\n if (N != null && E != null && N.length > 0 && E.length > 0) {\n this.n = (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.parseBigInt)(N, 16);\n this.e = parseInt(E, 16);\n this.d = (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.parseBigInt)(D, 16);\n this.p = (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.parseBigInt)(P, 16);\n this.q = (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.parseBigInt)(Q, 16);\n this.dmp1 = (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.parseBigInt)(DP, 16);\n this.dmq1 = (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.parseBigInt)(DQ, 16);\n this.coeff = (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.parseBigInt)(C, 16);\n }\n else {\n console.error(\"Invalid RSA private key\");\n }\n };\n // RSAKey.prototype.generate = RSAGenerate;\n // Generate a new random private key B bits long, using public expt E\n RSAKey.prototype.generate = function (B, E) {\n var rng = new _rng__WEBPACK_IMPORTED_MODULE_1__.SecureRandom();\n var qs = B >> 1;\n this.e = parseInt(E, 16);\n var ee = new _jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger(E, 16);\n for (;;) {\n for (;;) {\n this.p = new _jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger(B - qs, 1, rng);\n if (this.p.subtract(_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger.ONE).gcd(ee).compareTo(_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger.ONE) == 0 && this.p.isProbablePrime(10)) {\n break;\n }\n }\n for (;;) {\n this.q = new _jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger(qs, 1, rng);\n if (this.q.subtract(_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger.ONE).gcd(ee).compareTo(_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger.ONE) == 0 && this.q.isProbablePrime(10)) {\n break;\n }\n }\n if (this.p.compareTo(this.q) <= 0) {\n var t = this.p;\n this.p = this.q;\n this.q = t;\n }\n var p1 = this.p.subtract(_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger.ONE);\n var q1 = this.q.subtract(_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger.ONE);\n var phi = p1.multiply(q1);\n if (phi.gcd(ee).compareTo(_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger.ONE) == 0) {\n this.n = this.p.multiply(this.q);\n this.d = ee.modInverse(phi);\n this.dmp1 = this.d.mod(p1);\n this.dmq1 = this.d.mod(q1);\n this.coeff = this.q.modInverse(this.p);\n break;\n }\n }\n };\n // RSAKey.prototype.decrypt = RSADecrypt;\n // Return the PKCS#1 RSA decryption of \"ctext\".\n // \"ctext\" is an even-length hex string and the output is a plain string.\n RSAKey.prototype.decrypt = function (ctext) {\n var c = (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.parseBigInt)(ctext, 16);\n var m = this.doPrivate(c);\n if (m == null) {\n return null;\n }\n return pkcs1unpad2(m, (this.n.bitLength() + 7) >> 3);\n };\n // Generate a new random private key B bits long, using public expt E\n RSAKey.prototype.generateAsync = function (B, E, callback) {\n var rng = new _rng__WEBPACK_IMPORTED_MODULE_1__.SecureRandom();\n var qs = B >> 1;\n this.e = parseInt(E, 16);\n var ee = new _jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger(E, 16);\n var rsa = this;\n // These functions have non-descript names because they were originally for(;;) loops.\n // I don't know about cryptography to give them better names than loop1-4.\n var loop1 = function () {\n var loop4 = function () {\n if (rsa.p.compareTo(rsa.q) <= 0) {\n var t = rsa.p;\n rsa.p = rsa.q;\n rsa.q = t;\n }\n var p1 = rsa.p.subtract(_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger.ONE);\n var q1 = rsa.q.subtract(_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger.ONE);\n var phi = p1.multiply(q1);\n if (phi.gcd(ee).compareTo(_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger.ONE) == 0) {\n rsa.n = rsa.p.multiply(rsa.q);\n rsa.d = ee.modInverse(phi);\n rsa.dmp1 = rsa.d.mod(p1);\n rsa.dmq1 = rsa.d.mod(q1);\n rsa.coeff = rsa.q.modInverse(rsa.p);\n setTimeout(function () { callback(); }, 0); // escape\n }\n else {\n setTimeout(loop1, 0);\n }\n };\n var loop3 = function () {\n rsa.q = (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.nbi)();\n rsa.q.fromNumberAsync(qs, 1, rng, function () {\n rsa.q.subtract(_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger.ONE).gcda(ee, function (r) {\n if (r.compareTo(_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger.ONE) == 0 && rsa.q.isProbablePrime(10)) {\n setTimeout(loop4, 0);\n }\n else {\n setTimeout(loop3, 0);\n }\n });\n });\n };\n var loop2 = function () {\n rsa.p = (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.nbi)();\n rsa.p.fromNumberAsync(B - qs, 1, rng, function () {\n rsa.p.subtract(_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger.ONE).gcda(ee, function (r) {\n if (r.compareTo(_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger.ONE) == 0 && rsa.p.isProbablePrime(10)) {\n setTimeout(loop3, 0);\n }\n else {\n setTimeout(loop2, 0);\n }\n });\n });\n };\n setTimeout(loop2, 0);\n };\n setTimeout(loop1, 0);\n };\n RSAKey.prototype.sign = function (text, digestMethod, digestName) {\n var header = getDigestHeader(digestName);\n var digest = header + digestMethod(text).toString();\n var m = pkcs1pad1(digest, this.n.bitLength() / 4);\n if (m == null) {\n return null;\n }\n var c = this.doPrivate(m);\n if (c == null) {\n return null;\n }\n var h = c.toString(16);\n if ((h.length & 1) == 0) {\n return h;\n }\n else {\n return \"0\" + h;\n }\n };\n RSAKey.prototype.verify = function (text, signature, digestMethod) {\n var c = (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.parseBigInt)(signature, 16);\n var m = this.doPublic(c);\n if (m == null) {\n return null;\n }\n var unpadded = m.toString(16).replace(/^1f+00/, \"\");\n var digest = removeDigestHeader(unpadded);\n return digest == digestMethod(text).toString();\n };\n return RSAKey;\n}());\n\n// Undo PKCS#1 (type 2, random) padding and, if valid, return the plaintext\nfunction pkcs1unpad2(d, n) {\n var b = d.toByteArray();\n var i = 0;\n while (i < b.length && b[i] == 0) {\n ++i;\n }\n if (b.length - i != n - 1 || b[i] != 2) {\n return null;\n }\n ++i;\n while (b[i] != 0) {\n if (++i >= b.length) {\n return null;\n }\n }\n var ret = \"\";\n while (++i < b.length) {\n var c = b[i] & 255;\n if (c < 128) { // utf-8 decode\n ret += String.fromCharCode(c);\n }\n else if ((c > 191) && (c < 224)) {\n ret += String.fromCharCode(((c & 31) << 6) | (b[i + 1] & 63));\n ++i;\n }\n else {\n ret += String.fromCharCode(((c & 15) << 12) | ((b[i + 1] & 63) << 6) | (b[i + 2] & 63));\n i += 2;\n }\n }\n return ret;\n}\n// https://tools.ietf.org/html/rfc3447#page-43\nvar DIGEST_HEADERS = {\n md2: \"3020300c06082a864886f70d020205000410\",\n md5: \"3020300c06082a864886f70d020505000410\",\n sha1: \"3021300906052b0e03021a05000414\",\n sha224: \"302d300d06096086480165030402040500041c\",\n sha256: \"3031300d060960864801650304020105000420\",\n sha384: \"3041300d060960864801650304020205000430\",\n sha512: \"3051300d060960864801650304020305000440\",\n ripemd160: \"3021300906052b2403020105000414\"\n};\nfunction getDigestHeader(name) {\n return DIGEST_HEADERS[name] || \"\";\n}\nfunction removeDigestHeader(str) {\n for (var name_1 in DIGEST_HEADERS) {\n if (DIGEST_HEADERS.hasOwnProperty(name_1)) {\n var header = DIGEST_HEADERS[name_1];\n var len = header.length;\n if (str.substr(0, len) == header) {\n return str.substr(len);\n }\n }\n }\n return str;\n}\n// Return the PKCS#1 RSA encryption of \"text\" as a Base64-encoded string\n// function RSAEncryptB64(text) {\n// var h = this.encrypt(text);\n// if(h) return hex2b64(h); else return null;\n// }\n// public\n// RSAKey.prototype.encrypt_b64 = RSAEncryptB64;\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/jsbn/rsa.js?"); + +/***/ }), + +/***/ "./lib/lib/jsbn/util.js": +/*!******************************!*\ + !*** ./lib/lib/jsbn/util.js ***! + \******************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"cbit\": () => (/* binding */ cbit),\n/* harmony export */ \"int2char\": () => (/* binding */ int2char),\n/* harmony export */ \"lbit\": () => (/* binding */ lbit),\n/* harmony export */ \"op_and\": () => (/* binding */ op_and),\n/* harmony export */ \"op_andnot\": () => (/* binding */ op_andnot),\n/* harmony export */ \"op_or\": () => (/* binding */ op_or),\n/* harmony export */ \"op_xor\": () => (/* binding */ op_xor)\n/* harmony export */ });\nvar BI_RM = \"0123456789abcdefghijklmnopqrstuvwxyz\";\nfunction int2char(n) {\n return BI_RM.charAt(n);\n}\n//#region BIT_OPERATIONS\n// (public) this & a\nfunction op_and(x, y) {\n return x & y;\n}\n// (public) this | a\nfunction op_or(x, y) {\n return x | y;\n}\n// (public) this ^ a\nfunction op_xor(x, y) {\n return x ^ y;\n}\n// (public) this & ~a\nfunction op_andnot(x, y) {\n return x & ~y;\n}\n// return index of lowest 1-bit in x, x < 2^31\nfunction lbit(x) {\n if (x == 0) {\n return -1;\n }\n var r = 0;\n if ((x & 0xffff) == 0) {\n x >>= 16;\n r += 16;\n }\n if ((x & 0xff) == 0) {\n x >>= 8;\n r += 8;\n }\n if ((x & 0xf) == 0) {\n x >>= 4;\n r += 4;\n }\n if ((x & 3) == 0) {\n x >>= 2;\n r += 2;\n }\n if ((x & 1) == 0) {\n ++r;\n }\n return r;\n}\n// return number of 1 bits in x\nfunction cbit(x) {\n var r = 0;\n while (x != 0) {\n x &= x - 1;\n ++r;\n }\n return r;\n}\n//#endregion BIT_OPERATIONS\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/jsbn/util.js?"); + +/***/ }), + +/***/ "./lib/lib/jsrsasign/asn1-1.0.js": +/*!***************************************!*\ + !*** ./lib/lib/jsrsasign/asn1-1.0.js ***! + \***************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"KJUR\": () => (/* binding */ KJUR)\n/* harmony export */ });\n/* harmony import */ var _jsbn_jsbn__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../jsbn/jsbn */ \"./lib/lib/jsbn/jsbn.js\");\n/* harmony import */ var _yahoo__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./yahoo */ \"./lib/lib/jsrsasign/yahoo.js\");\n/* asn1-1.0.13.js (c) 2013-2017 Kenji Urushima | kjur.github.com/jsrsasign/license\n */\n/*\n * asn1.js - ASN.1 DER encoder classes\n *\n * Copyright (c) 2013-2017 Kenji Urushima (kenji.urushima@gmail.com)\n *\n * This software is licensed under the terms of the MIT License.\n * https://kjur.github.io/jsrsasign/license\n *\n * The above copyright and license notice shall be\n * included in all copies or substantial portions of the Software.\n */\n\n\n/**\n * @fileOverview\n * @name asn1-1.0.js\n * @author Kenji Urushima kenji.urushima@gmail.com\n * @version asn1 1.0.13 (2017-Jun-02)\n * @since jsrsasign 2.1\n * @license MIT License\n */\n/**\n * kjur's class library name space\n *

\n * This name space provides following name spaces:\n *

    \n *
  • {@link KJUR.asn1} - ASN.1 primitive hexadecimal encoder
  • \n *
  • {@link KJUR.asn1.x509} - ASN.1 structure for X.509 certificate and CRL
  • \n *
  • {@link KJUR.crypto} - Java Cryptographic Extension(JCE) style MessageDigest/Signature\n * class and utilities
  • \n *
\n *

\n * NOTE: Please ignore method summary and document of this namespace. This caused by a bug of jsdoc2.\n * @name KJUR\n * @namespace kjur's class library name space\n */\nvar KJUR = {};\n/**\n * kjur's ASN.1 class library name space\n *

\n * This is ITU-T X.690 ASN.1 DER encoder class library and\n * class structure and methods is very similar to\n * org.bouncycastle.asn1 package of\n * well known BouncyCaslte Cryptography Library.\n *

PROVIDING ASN.1 PRIMITIVES

\n * Here are ASN.1 DER primitive classes.\n *
    \n *
  • 0x01 {@link KJUR.asn1.DERBoolean}
  • \n *
  • 0x02 {@link KJUR.asn1.DERInteger}
  • \n *
  • 0x03 {@link KJUR.asn1.DERBitString}
  • \n *
  • 0x04 {@link KJUR.asn1.DEROctetString}
  • \n *
  • 0x05 {@link KJUR.asn1.DERNull}
  • \n *
  • 0x06 {@link KJUR.asn1.DERObjectIdentifier}
  • \n *
  • 0x0a {@link KJUR.asn1.DEREnumerated}
  • \n *
  • 0x0c {@link KJUR.asn1.DERUTF8String}
  • \n *
  • 0x12 {@link KJUR.asn1.DERNumericString}
  • \n *
  • 0x13 {@link KJUR.asn1.DERPrintableString}
  • \n *
  • 0x14 {@link KJUR.asn1.DERTeletexString}
  • \n *
  • 0x16 {@link KJUR.asn1.DERIA5String}
  • \n *
  • 0x17 {@link KJUR.asn1.DERUTCTime}
  • \n *
  • 0x18 {@link KJUR.asn1.DERGeneralizedTime}
  • \n *
  • 0x30 {@link KJUR.asn1.DERSequence}
  • \n *
  • 0x31 {@link KJUR.asn1.DERSet}
  • \n *
\n *

OTHER ASN.1 CLASSES

\n *
    \n *
  • {@link KJUR.asn1.ASN1Object}
  • \n *
  • {@link KJUR.asn1.DERAbstractString}
  • \n *
  • {@link KJUR.asn1.DERAbstractTime}
  • \n *
  • {@link KJUR.asn1.DERAbstractStructured}
  • \n *
  • {@link KJUR.asn1.DERTaggedObject}
  • \n *
\n *

SUB NAME SPACES

\n *
    \n *
  • {@link KJUR.asn1.cades} - CAdES long term signature format
  • \n *
  • {@link KJUR.asn1.cms} - Cryptographic Message Syntax
  • \n *
  • {@link KJUR.asn1.csr} - Certificate Signing Request (CSR/PKCS#10)
  • \n *
  • {@link KJUR.asn1.tsp} - RFC 3161 Timestamping Protocol Format
  • \n *
  • {@link KJUR.asn1.x509} - RFC 5280 X.509 certificate and CRL
  • \n *
\n *

\n * NOTE: Please ignore method summary and document of this namespace.\n * This caused by a bug of jsdoc2.\n * @name KJUR.asn1\n * @namespace\n */\nif (typeof KJUR.asn1 == \"undefined\" || !KJUR.asn1)\n KJUR.asn1 = {};\n/**\n * ASN1 utilities class\n * @name KJUR.asn1.ASN1Util\n * @class ASN1 utilities class\n * @since asn1 1.0.2\n */\nKJUR.asn1.ASN1Util = new function () {\n this.integerToByteHex = function (i) {\n var h = i.toString(16);\n if ((h.length % 2) == 1)\n h = '0' + h;\n return h;\n };\n this.bigIntToMinTwosComplementsHex = function (bigIntegerValue) {\n var h = bigIntegerValue.toString(16);\n if (h.substr(0, 1) != '-') {\n if (h.length % 2 == 1) {\n h = '0' + h;\n }\n else {\n if (!h.match(/^[0-7]/)) {\n h = '00' + h;\n }\n }\n }\n else {\n var hPos = h.substr(1);\n var xorLen = hPos.length;\n if (xorLen % 2 == 1) {\n xorLen += 1;\n }\n else {\n if (!h.match(/^[0-7]/)) {\n xorLen += 2;\n }\n }\n var hMask = '';\n for (var i = 0; i < xorLen; i++) {\n hMask += 'f';\n }\n var biMask = new _jsbn_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger(hMask, 16);\n var biNeg = biMask.xor(bigIntegerValue).add(_jsbn_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger.ONE);\n h = biNeg.toString(16).replace(/^-/, '');\n }\n return h;\n };\n /**\n * get PEM string from hexadecimal data and header string\n * @name getPEMStringFromHex\n * @memberOf KJUR.asn1.ASN1Util\n * @function\n * @param {String} dataHex hexadecimal string of PEM body\n * @param {String} pemHeader PEM header string (ex. 'RSA PRIVATE KEY')\n * @return {String} PEM formatted string of input data\n * @description\n * This method converts a hexadecimal string to a PEM string with\n * a specified header. Its line break will be CRLF(\"\\r\\n\").\n * @example\n * var pem = KJUR.asn1.ASN1Util.getPEMStringFromHex('616161', 'RSA PRIVATE KEY');\n * // value of pem will be:\n * -----BEGIN PRIVATE KEY-----\n * YWFh\n * -----END PRIVATE KEY-----\n */\n this.getPEMStringFromHex = function (dataHex, pemHeader) {\n return hextopem(dataHex, pemHeader);\n };\n /**\n * generate ASN1Object specifed by JSON parameters\n * @name newObject\n * @memberOf KJUR.asn1.ASN1Util\n * @function\n * @param {Array} param JSON parameter to generate ASN1Object\n * @return {KJUR.asn1.ASN1Object} generated object\n * @since asn1 1.0.3\n * @description\n * generate any ASN1Object specified by JSON param\n * including ASN.1 primitive or structured.\n * Generally 'param' can be described as follows:\n *
\n * {TYPE-OF-ASNOBJ: ASN1OBJ-PARAMETER}\n *
\n * 'TYPE-OF-ASN1OBJ' can be one of following symbols:\n *
    \n *
  • 'bool' - DERBoolean
  • \n *
  • 'int' - DERInteger
  • \n *
  • 'bitstr' - DERBitString
  • \n *
  • 'octstr' - DEROctetString
  • \n *
  • 'null' - DERNull
  • \n *
  • 'oid' - DERObjectIdentifier
  • \n *
  • 'enum' - DEREnumerated
  • \n *
  • 'utf8str' - DERUTF8String
  • \n *
  • 'numstr' - DERNumericString
  • \n *
  • 'prnstr' - DERPrintableString
  • \n *
  • 'telstr' - DERTeletexString
  • \n *
  • 'ia5str' - DERIA5String
  • \n *
  • 'utctime' - DERUTCTime
  • \n *
  • 'gentime' - DERGeneralizedTime
  • \n *
  • 'seq' - DERSequence
  • \n *
  • 'set' - DERSet
  • \n *
  • 'tag' - DERTaggedObject
  • \n *
\n * @example\n * newObject({'prnstr': 'aaa'});\n * newObject({'seq': [{'int': 3}, {'prnstr': 'aaa'}]})\n * // ASN.1 Tagged Object\n * newObject({'tag': {'tag': 'a1',\n * 'explicit': true,\n * 'obj': {'seq': [{'int': 3}, {'prnstr': 'aaa'}]}}});\n * // more simple representation of ASN.1 Tagged Object\n * newObject({'tag': ['a1',\n * true,\n * {'seq': [\n * {'int': 3},\n * {'prnstr': 'aaa'}]}\n * ]});\n */\n this.newObject = function (param) {\n var _KJUR = KJUR, _KJUR_asn1 = _KJUR.asn1, _DERBoolean = _KJUR_asn1.DERBoolean, _DERInteger = _KJUR_asn1.DERInteger, _DERBitString = _KJUR_asn1.DERBitString, _DEROctetString = _KJUR_asn1.DEROctetString, _DERNull = _KJUR_asn1.DERNull, _DERObjectIdentifier = _KJUR_asn1.DERObjectIdentifier, _DEREnumerated = _KJUR_asn1.DEREnumerated, _DERUTF8String = _KJUR_asn1.DERUTF8String, _DERNumericString = _KJUR_asn1.DERNumericString, _DERPrintableString = _KJUR_asn1.DERPrintableString, _DERTeletexString = _KJUR_asn1.DERTeletexString, _DERIA5String = _KJUR_asn1.DERIA5String, _DERUTCTime = _KJUR_asn1.DERUTCTime, _DERGeneralizedTime = _KJUR_asn1.DERGeneralizedTime, _DERSequence = _KJUR_asn1.DERSequence, _DERSet = _KJUR_asn1.DERSet, _DERTaggedObject = _KJUR_asn1.DERTaggedObject, _newObject = _KJUR_asn1.ASN1Util.newObject;\n var keys = Object.keys(param);\n if (keys.length != 1)\n throw \"key of param shall be only one.\";\n var key = keys[0];\n if (\":bool:int:bitstr:octstr:null:oid:enum:utf8str:numstr:prnstr:telstr:ia5str:utctime:gentime:seq:set:tag:\".indexOf(\":\" + key + \":\") == -1)\n throw \"undefined key: \" + key;\n if (key == \"bool\")\n return new _DERBoolean(param[key]);\n if (key == \"int\")\n return new _DERInteger(param[key]);\n if (key == \"bitstr\")\n return new _DERBitString(param[key]);\n if (key == \"octstr\")\n return new _DEROctetString(param[key]);\n if (key == \"null\")\n return new _DERNull(param[key]);\n if (key == \"oid\")\n return new _DERObjectIdentifier(param[key]);\n if (key == \"enum\")\n return new _DEREnumerated(param[key]);\n if (key == \"utf8str\")\n return new _DERUTF8String(param[key]);\n if (key == \"numstr\")\n return new _DERNumericString(param[key]);\n if (key == \"prnstr\")\n return new _DERPrintableString(param[key]);\n if (key == \"telstr\")\n return new _DERTeletexString(param[key]);\n if (key == \"ia5str\")\n return new _DERIA5String(param[key]);\n if (key == \"utctime\")\n return new _DERUTCTime(param[key]);\n if (key == \"gentime\")\n return new _DERGeneralizedTime(param[key]);\n if (key == \"seq\") {\n var paramList = param[key];\n var a = [];\n for (var i = 0; i < paramList.length; i++) {\n var asn1Obj = _newObject(paramList[i]);\n a.push(asn1Obj);\n }\n return new _DERSequence({ 'array': a });\n }\n if (key == \"set\") {\n var paramList = param[key];\n var a = [];\n for (var i = 0; i < paramList.length; i++) {\n var asn1Obj = _newObject(paramList[i]);\n a.push(asn1Obj);\n }\n return new _DERSet({ 'array': a });\n }\n if (key == \"tag\") {\n var tagParam = param[key];\n if (Object.prototype.toString.call(tagParam) === '[object Array]' &&\n tagParam.length == 3) {\n var obj = _newObject(tagParam[2]);\n return new _DERTaggedObject({ tag: tagParam[0],\n explicit: tagParam[1],\n obj: obj });\n }\n else {\n var newParam = {};\n if (tagParam.explicit !== undefined)\n newParam.explicit = tagParam.explicit;\n if (tagParam.tag !== undefined)\n newParam.tag = tagParam.tag;\n if (tagParam.obj === undefined)\n throw \"obj shall be specified for 'tag'.\";\n newParam.obj = _newObject(tagParam.obj);\n return new _DERTaggedObject(newParam);\n }\n }\n };\n /**\n * get encoded hexadecimal string of ASN1Object specifed by JSON parameters\n * @name jsonToASN1HEX\n * @memberOf KJUR.asn1.ASN1Util\n * @function\n * @param {Array} param JSON parameter to generate ASN1Object\n * @return hexadecimal string of ASN1Object\n * @since asn1 1.0.4\n * @description\n * As for ASN.1 object representation of JSON object,\n * please see {@link newObject}.\n * @example\n * jsonToASN1HEX({'prnstr': 'aaa'});\n */\n this.jsonToASN1HEX = function (param) {\n var asn1Obj = this.newObject(param);\n return asn1Obj.getEncodedHex();\n };\n};\n/**\n * get dot noted oid number string from hexadecimal value of OID\n * @name oidHexToInt\n * @memberOf KJUR.asn1.ASN1Util\n * @function\n * @param {String} hex hexadecimal value of object identifier\n * @return {String} dot noted string of object identifier\n * @since jsrsasign 4.8.3 asn1 1.0.7\n * @description\n * This static method converts from hexadecimal string representation of\n * ASN.1 value of object identifier to oid number string.\n * @example\n * KJUR.asn1.ASN1Util.oidHexToInt('550406') → \"2.5.4.6\"\n */\nKJUR.asn1.ASN1Util.oidHexToInt = function (hex) {\n var s = \"\";\n var i01 = parseInt(hex.substr(0, 2), 16);\n var i0 = Math.floor(i01 / 40);\n var i1 = i01 % 40;\n var s = i0 + \".\" + i1;\n var binbuf = \"\";\n for (var i = 2; i < hex.length; i += 2) {\n var value = parseInt(hex.substr(i, 2), 16);\n var bin = (\"00000000\" + value.toString(2)).slice(-8);\n binbuf = binbuf + bin.substr(1, 7);\n if (bin.substr(0, 1) == \"0\") {\n var bi = new _jsbn_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger(binbuf, 2);\n s = s + \".\" + bi.toString(10);\n binbuf = \"\";\n }\n }\n ;\n return s;\n};\n/**\n * get hexadecimal value of object identifier from dot noted oid value\n * @name oidIntToHex\n * @memberOf KJUR.asn1.ASN1Util\n * @function\n * @param {String} oidString dot noted string of object identifier\n * @return {String} hexadecimal value of object identifier\n * @since jsrsasign 4.8.3 asn1 1.0.7\n * @description\n * This static method converts from object identifier value string.\n * to hexadecimal string representation of it.\n * @example\n * KJUR.asn1.ASN1Util.oidIntToHex(\"2.5.4.6\") → \"550406\"\n */\nKJUR.asn1.ASN1Util.oidIntToHex = function (oidString) {\n var itox = function (i) {\n var h = i.toString(16);\n if (h.length == 1)\n h = '0' + h;\n return h;\n };\n var roidtox = function (roid) {\n var h = '';\n var bi = new _jsbn_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger(roid, 10);\n var b = bi.toString(2);\n var padLen = 7 - b.length % 7;\n if (padLen == 7)\n padLen = 0;\n var bPad = '';\n for (var i = 0; i < padLen; i++)\n bPad += '0';\n b = bPad + b;\n for (var i = 0; i < b.length - 1; i += 7) {\n var b8 = b.substr(i, 7);\n if (i != b.length - 7)\n b8 = '1' + b8;\n h += itox(parseInt(b8, 2));\n }\n return h;\n };\n if (!oidString.match(/^[0-9.]+$/)) {\n throw \"malformed oid string: \" + oidString;\n }\n var h = '';\n var a = oidString.split('.');\n var i0 = parseInt(a[0]) * 40 + parseInt(a[1]);\n h += itox(i0);\n a.splice(0, 2);\n for (var i = 0; i < a.length; i++) {\n h += roidtox(a[i]);\n }\n return h;\n};\n// ********************************************************************\n// Abstract ASN.1 Classes\n// ********************************************************************\n// ********************************************************************\n/**\n * base class for ASN.1 DER encoder object\n * @name KJUR.asn1.ASN1Object\n * @class base class for ASN.1 DER encoder object\n * @property {Boolean} isModified flag whether internal data was changed\n * @property {String} hTLV hexadecimal string of ASN.1 TLV\n * @property {String} hT hexadecimal string of ASN.1 TLV tag(T)\n * @property {String} hL hexadecimal string of ASN.1 TLV length(L)\n * @property {String} hV hexadecimal string of ASN.1 TLV value(V)\n * @description\n */\nKJUR.asn1.ASN1Object = function () {\n var isModified = true;\n var hTLV = null;\n var hT = '00';\n var hL = '00';\n var hV = '';\n /**\n * get hexadecimal ASN.1 TLV length(L) bytes from TLV value(V)\n * @name getLengthHexFromValue\n * @memberOf KJUR.asn1.ASN1Object#\n * @function\n * @return {String} hexadecimal string of ASN.1 TLV length(L)\n */\n this.getLengthHexFromValue = function () {\n if (typeof this.hV == \"undefined\" || this.hV == null) {\n throw \"this.hV is null or undefined.\";\n }\n if (this.hV.length % 2 == 1) {\n throw \"value hex must be even length: n=\" + hV.length + \",v=\" + this.hV;\n }\n var n = this.hV.length / 2;\n var hN = n.toString(16);\n if (hN.length % 2 == 1) {\n hN = \"0\" + hN;\n }\n if (n < 128) {\n return hN;\n }\n else {\n var hNlen = hN.length / 2;\n if (hNlen > 15) {\n throw \"ASN.1 length too long to represent by 8x: n = \" + n.toString(16);\n }\n var head = 128 + hNlen;\n return head.toString(16) + hN;\n }\n };\n /**\n * get hexadecimal string of ASN.1 TLV bytes\n * @name getEncodedHex\n * @memberOf KJUR.asn1.ASN1Object#\n * @function\n * @return {String} hexadecimal string of ASN.1 TLV\n */\n this.getEncodedHex = function () {\n if (this.hTLV == null || this.isModified) {\n this.hV = this.getFreshValueHex();\n this.hL = this.getLengthHexFromValue();\n this.hTLV = this.hT + this.hL + this.hV;\n this.isModified = false;\n //alert(\"first time: \" + this.hTLV);\n }\n return this.hTLV;\n };\n /**\n * get hexadecimal string of ASN.1 TLV value(V) bytes\n * @name getValueHex\n * @memberOf KJUR.asn1.ASN1Object#\n * @function\n * @return {String} hexadecimal string of ASN.1 TLV value(V) bytes\n */\n this.getValueHex = function () {\n this.getEncodedHex();\n return this.hV;\n };\n this.getFreshValueHex = function () {\n return '';\n };\n};\n// == BEGIN DERAbstractString ================================================\n/**\n * base class for ASN.1 DER string classes\n * @name KJUR.asn1.DERAbstractString\n * @class base class for ASN.1 DER string classes\n * @param {Array} params associative array of parameters (ex. {'str': 'aaa'})\n * @property {String} s internal string of value\n * @extends KJUR.asn1.ASN1Object\n * @description\n *
\n * As for argument 'params' for constructor, you can specify one of\n * following properties:\n *
    \n *
  • str - specify initial ASN.1 value(V) by a string
  • \n *
  • hex - specify initial ASN.1 value(V) by a hexadecimal string
  • \n *
\n * NOTE: 'params' can be omitted.\n */\nKJUR.asn1.DERAbstractString = function (params) {\n KJUR.asn1.DERAbstractString.superclass.constructor.call(this);\n var s = null;\n var hV = null;\n /**\n * get string value of this string object\n * @name getString\n * @memberOf KJUR.asn1.DERAbstractString#\n * @function\n * @return {String} string value of this string object\n */\n this.getString = function () {\n return this.s;\n };\n /**\n * set value by a string\n * @name setString\n * @memberOf KJUR.asn1.DERAbstractString#\n * @function\n * @param {String} newS value by a string to set\n */\n this.setString = function (newS) {\n this.hTLV = null;\n this.isModified = true;\n this.s = newS;\n this.hV = stohex(this.s);\n };\n /**\n * set value by a hexadecimal string\n * @name setStringHex\n * @memberOf KJUR.asn1.DERAbstractString#\n * @function\n * @param {String} newHexString value by a hexadecimal string to set\n */\n this.setStringHex = function (newHexString) {\n this.hTLV = null;\n this.isModified = true;\n this.s = null;\n this.hV = newHexString;\n };\n this.getFreshValueHex = function () {\n return this.hV;\n };\n if (typeof params != \"undefined\") {\n if (typeof params == \"string\") {\n this.setString(params);\n }\n else if (typeof params['str'] != \"undefined\") {\n this.setString(params['str']);\n }\n else if (typeof params['hex'] != \"undefined\") {\n this.setStringHex(params['hex']);\n }\n }\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERAbstractString, KJUR.asn1.ASN1Object);\n// == END DERAbstractString ================================================\n// == BEGIN DERAbstractTime ==================================================\n/**\n * base class for ASN.1 DER Generalized/UTCTime class\n * @name KJUR.asn1.DERAbstractTime\n * @class base class for ASN.1 DER Generalized/UTCTime class\n * @param {Array} params associative array of parameters (ex. {'str': '130430235959Z'})\n * @extends KJUR.asn1.ASN1Object\n * @description\n * @see KJUR.asn1.ASN1Object - superclass\n */\nKJUR.asn1.DERAbstractTime = function (params) {\n KJUR.asn1.DERAbstractTime.superclass.constructor.call(this);\n var s = null;\n var date = null;\n // --- PRIVATE METHODS --------------------\n this.localDateToUTC = function (d) {\n utc = d.getTime() + (d.getTimezoneOffset() * 60000);\n var utcDate = new Date(utc);\n return utcDate;\n };\n /*\n * format date string by Data object\n * @name formatDate\n * @memberOf KJUR.asn1.AbstractTime;\n * @param {Date} dateObject\n * @param {string} type 'utc' or 'gen'\n * @param {boolean} withMillis flag for with millisections or not\n * @description\n * 'withMillis' flag is supported from asn1 1.0.6.\n */\n this.formatDate = function (dateObject, type, withMillis) {\n var pad = this.zeroPadding;\n var d = this.localDateToUTC(dateObject);\n var year = String(d.getFullYear());\n if (type == 'utc')\n year = year.substr(2, 2);\n var month = pad(String(d.getMonth() + 1), 2);\n var day = pad(String(d.getDate()), 2);\n var hour = pad(String(d.getHours()), 2);\n var min = pad(String(d.getMinutes()), 2);\n var sec = pad(String(d.getSeconds()), 2);\n var s = year + month + day + hour + min + sec;\n if (withMillis === true) {\n var millis = d.getMilliseconds();\n if (millis != 0) {\n var sMillis = pad(String(millis), 3);\n sMillis = sMillis.replace(/[0]+$/, \"\");\n s = s + \".\" + sMillis;\n }\n }\n return s + \"Z\";\n };\n this.zeroPadding = function (s, len) {\n if (s.length >= len)\n return s;\n return new Array(len - s.length + 1).join('0') + s;\n };\n // --- PUBLIC METHODS --------------------\n /**\n * get string value of this string object\n * @name getString\n * @memberOf KJUR.asn1.DERAbstractTime#\n * @function\n * @return {String} string value of this time object\n */\n this.getString = function () {\n return this.s;\n };\n /**\n * set value by a string\n * @name setString\n * @memberOf KJUR.asn1.DERAbstractTime#\n * @function\n * @param {String} newS value by a string to set such like \"130430235959Z\"\n */\n this.setString = function (newS) {\n this.hTLV = null;\n this.isModified = true;\n this.s = newS;\n this.hV = stohex(newS);\n };\n /**\n * set value by a Date object\n * @name setByDateValue\n * @memberOf KJUR.asn1.DERAbstractTime#\n * @function\n * @param {Integer} year year of date (ex. 2013)\n * @param {Integer} month month of date between 1 and 12 (ex. 12)\n * @param {Integer} day day of month\n * @param {Integer} hour hours of date\n * @param {Integer} min minutes of date\n * @param {Integer} sec seconds of date\n */\n this.setByDateValue = function (year, month, day, hour, min, sec) {\n var dateObject = new Date(Date.UTC(year, month - 1, day, hour, min, sec, 0));\n this.setByDate(dateObject);\n };\n this.getFreshValueHex = function () {\n return this.hV;\n };\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERAbstractTime, KJUR.asn1.ASN1Object);\n// == END DERAbstractTime ==================================================\n// == BEGIN DERAbstractStructured ============================================\n/**\n * base class for ASN.1 DER structured class\n * @name KJUR.asn1.DERAbstractStructured\n * @class base class for ASN.1 DER structured class\n * @property {Array} asn1Array internal array of ASN1Object\n * @extends KJUR.asn1.ASN1Object\n * @description\n * @see KJUR.asn1.ASN1Object - superclass\n */\nKJUR.asn1.DERAbstractStructured = function (params) {\n KJUR.asn1.DERAbstractString.superclass.constructor.call(this);\n var asn1Array = null;\n /**\n * set value by array of ASN1Object\n * @name setByASN1ObjectArray\n * @memberOf KJUR.asn1.DERAbstractStructured#\n * @function\n * @param {array} asn1ObjectArray array of ASN1Object to set\n */\n this.setByASN1ObjectArray = function (asn1ObjectArray) {\n this.hTLV = null;\n this.isModified = true;\n this.asn1Array = asn1ObjectArray;\n };\n /**\n * append an ASN1Object to internal array\n * @name appendASN1Object\n * @memberOf KJUR.asn1.DERAbstractStructured#\n * @function\n * @param {ASN1Object} asn1Object to add\n */\n this.appendASN1Object = function (asn1Object) {\n this.hTLV = null;\n this.isModified = true;\n this.asn1Array.push(asn1Object);\n };\n this.asn1Array = new Array();\n if (typeof params != \"undefined\") {\n if (typeof params['array'] != \"undefined\") {\n this.asn1Array = params['array'];\n }\n }\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERAbstractStructured, KJUR.asn1.ASN1Object);\n// ********************************************************************\n// ASN.1 Object Classes\n// ********************************************************************\n// ********************************************************************\n/**\n * class for ASN.1 DER Boolean\n * @name KJUR.asn1.DERBoolean\n * @class class for ASN.1 DER Boolean\n * @extends KJUR.asn1.ASN1Object\n * @description\n * @see KJUR.asn1.ASN1Object - superclass\n */\nKJUR.asn1.DERBoolean = function () {\n KJUR.asn1.DERBoolean.superclass.constructor.call(this);\n this.hT = \"01\";\n this.hTLV = \"0101ff\";\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERBoolean, KJUR.asn1.ASN1Object);\n// ********************************************************************\n/**\n * class for ASN.1 DER Integer\n * @name KJUR.asn1.DERInteger\n * @class class for ASN.1 DER Integer\n * @extends KJUR.asn1.ASN1Object\n * @description\n *
\n * As for argument 'params' for constructor, you can specify one of\n * following properties:\n *
    \n *
  • int - specify initial ASN.1 value(V) by integer value
  • \n *
  • bigint - specify initial ASN.1 value(V) by BigInteger object
  • \n *
  • hex - specify initial ASN.1 value(V) by a hexadecimal string
  • \n *
\n * NOTE: 'params' can be omitted.\n */\nKJUR.asn1.DERInteger = function (params) {\n KJUR.asn1.DERInteger.superclass.constructor.call(this);\n this.hT = \"02\";\n /**\n * set value by Tom Wu's BigInteger object\n * @name setByBigInteger\n * @memberOf KJUR.asn1.DERInteger#\n * @function\n * @param {BigInteger} bigIntegerValue to set\n */\n this.setByBigInteger = function (bigIntegerValue) {\n this.hTLV = null;\n this.isModified = true;\n this.hV = KJUR.asn1.ASN1Util.bigIntToMinTwosComplementsHex(bigIntegerValue);\n };\n /**\n * set value by integer value\n * @name setByInteger\n * @memberOf KJUR.asn1.DERInteger\n * @function\n * @param {Integer} integer value to set\n */\n this.setByInteger = function (intValue) {\n var bi = new _jsbn_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger(String(intValue), 10);\n this.setByBigInteger(bi);\n };\n /**\n * set value by integer value\n * @name setValueHex\n * @memberOf KJUR.asn1.DERInteger#\n * @function\n * @param {String} hexadecimal string of integer value\n * @description\n *
\n * NOTE: Value shall be represented by minimum octet length of\n * two's complement representation.\n * @example\n * new KJUR.asn1.DERInteger(123);\n * new KJUR.asn1.DERInteger({'int': 123});\n * new KJUR.asn1.DERInteger({'hex': '1fad'});\n */\n this.setValueHex = function (newHexString) {\n this.hV = newHexString;\n };\n this.getFreshValueHex = function () {\n return this.hV;\n };\n if (typeof params != \"undefined\") {\n if (typeof params['bigint'] != \"undefined\") {\n this.setByBigInteger(params['bigint']);\n }\n else if (typeof params['int'] != \"undefined\") {\n this.setByInteger(params['int']);\n }\n else if (typeof params == \"number\") {\n this.setByInteger(params);\n }\n else if (typeof params['hex'] != \"undefined\") {\n this.setValueHex(params['hex']);\n }\n }\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERInteger, KJUR.asn1.ASN1Object);\n// ********************************************************************\n/**\n * class for ASN.1 DER encoded BitString primitive\n * @name KJUR.asn1.DERBitString\n * @class class for ASN.1 DER encoded BitString primitive\n * @extends KJUR.asn1.ASN1Object\n * @description\n *
\n * As for argument 'params' for constructor, you can specify one of\n * following properties:\n *
    \n *
  • bin - specify binary string (ex. '10111')
  • \n *
  • array - specify array of boolean (ex. [true,false,true,true])
  • \n *
  • hex - specify hexadecimal string of ASN.1 value(V) including unused bits
  • \n *
  • obj - specify {@link KJUR.asn1.ASN1Util.newObject}\n * argument for \"BitString encapsulates\" structure.
  • \n *
\n * NOTE1: 'params' can be omitted.
\n * NOTE2: 'obj' parameter have been supported since\n * asn1 1.0.11, jsrsasign 6.1.1 (2016-Sep-25).
\n * @example\n * // default constructor\n * o = new KJUR.asn1.DERBitString();\n * // initialize with binary string\n * o = new KJUR.asn1.DERBitString({bin: \"1011\"});\n * // initialize with boolean array\n * o = new KJUR.asn1.DERBitString({array: [true,false,true,true]});\n * // initialize with hexadecimal string (04 is unused bits)\n * o = new KJUR.asn1.DEROctetString({hex: \"04bac0\"});\n * // initialize with ASN1Util.newObject argument for encapsulated\n * o = new KJUR.asn1.DERBitString({obj: {seq: [{int: 3}, {prnstr: 'aaa'}]}});\n * // above generates a ASN.1 data like this:\n * // BIT STRING, encapsulates {\n * // SEQUENCE {\n * // INTEGER 3\n * // PrintableString 'aaa'\n * // }\n * // }\n */\nKJUR.asn1.DERBitString = function (params) {\n if (params !== undefined && typeof params.obj !== \"undefined\") {\n var o = KJUR.asn1.ASN1Util.newObject(params.obj);\n params.hex = \"00\" + o.getEncodedHex();\n }\n KJUR.asn1.DERBitString.superclass.constructor.call(this);\n this.hT = \"03\";\n /**\n * set ASN.1 value(V) by a hexadecimal string including unused bits\n * @name setHexValueIncludingUnusedBits\n * @memberOf KJUR.asn1.DERBitString#\n * @function\n * @param {String} newHexStringIncludingUnusedBits\n */\n this.setHexValueIncludingUnusedBits = function (newHexStringIncludingUnusedBits) {\n this.hTLV = null;\n this.isModified = true;\n this.hV = newHexStringIncludingUnusedBits;\n };\n /**\n * set ASN.1 value(V) by unused bit and hexadecimal string of value\n * @name setUnusedBitsAndHexValue\n * @memberOf KJUR.asn1.DERBitString#\n * @function\n * @param {Integer} unusedBits\n * @param {String} hValue\n */\n this.setUnusedBitsAndHexValue = function (unusedBits, hValue) {\n if (unusedBits < 0 || 7 < unusedBits) {\n throw \"unused bits shall be from 0 to 7: u = \" + unusedBits;\n }\n var hUnusedBits = \"0\" + unusedBits;\n this.hTLV = null;\n this.isModified = true;\n this.hV = hUnusedBits + hValue;\n };\n /**\n * set ASN.1 DER BitString by binary string
\n * @name setByBinaryString\n * @memberOf KJUR.asn1.DERBitString#\n * @function\n * @param {String} binaryString binary value string (i.e. '10111')\n * @description\n * Its unused bits will be calculated automatically by length of\n * 'binaryValue'.
\n * NOTE: Trailing zeros '0' will be ignored.\n * @example\n * o = new KJUR.asn1.DERBitString();\n * o.setByBooleanArray(\"01011\");\n */\n this.setByBinaryString = function (binaryString) {\n binaryString = binaryString.replace(/0+$/, '');\n var unusedBits = 8 - binaryString.length % 8;\n if (unusedBits == 8)\n unusedBits = 0;\n for (var i = 0; i <= unusedBits; i++) {\n binaryString += '0';\n }\n var h = '';\n for (var i = 0; i < binaryString.length - 1; i += 8) {\n var b = binaryString.substr(i, 8);\n var x = parseInt(b, 2).toString(16);\n if (x.length == 1)\n x = '0' + x;\n h += x;\n }\n this.hTLV = null;\n this.isModified = true;\n this.hV = '0' + unusedBits + h;\n };\n /**\n * set ASN.1 TLV value(V) by an array of boolean
\n * @name setByBooleanArray\n * @memberOf KJUR.asn1.DERBitString#\n * @function\n * @param {array} booleanArray array of boolean (ex. [true, false, true])\n * @description\n * NOTE: Trailing falses will be ignored in the ASN.1 DER Object.\n * @example\n * o = new KJUR.asn1.DERBitString();\n * o.setByBooleanArray([false, true, false, true, true]);\n */\n this.setByBooleanArray = function (booleanArray) {\n var s = '';\n for (var i = 0; i < booleanArray.length; i++) {\n if (booleanArray[i] == true) {\n s += '1';\n }\n else {\n s += '0';\n }\n }\n this.setByBinaryString(s);\n };\n /**\n * generate an array of falses with specified length
\n * @name newFalseArray\n * @memberOf KJUR.asn1.DERBitString\n * @function\n * @param {Integer} nLength length of array to generate\n * @return {array} array of boolean falses\n * @description\n * This static method may be useful to initialize boolean array.\n * @example\n * o = new KJUR.asn1.DERBitString();\n * o.newFalseArray(3) → [false, false, false]\n */\n this.newFalseArray = function (nLength) {\n var a = new Array(nLength);\n for (var i = 0; i < nLength; i++) {\n a[i] = false;\n }\n return a;\n };\n this.getFreshValueHex = function () {\n return this.hV;\n };\n if (typeof params != \"undefined\") {\n if (typeof params == \"string\" && params.toLowerCase().match(/^[0-9a-f]+$/)) {\n this.setHexValueIncludingUnusedBits(params);\n }\n else if (typeof params['hex'] != \"undefined\") {\n this.setHexValueIncludingUnusedBits(params['hex']);\n }\n else if (typeof params['bin'] != \"undefined\") {\n this.setByBinaryString(params['bin']);\n }\n else if (typeof params['array'] != \"undefined\") {\n this.setByBooleanArray(params['array']);\n }\n }\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERBitString, KJUR.asn1.ASN1Object);\n// ********************************************************************\n/**\n * class for ASN.1 DER OctetString
\n * @name KJUR.asn1.DEROctetString\n * @class class for ASN.1 DER OctetString\n * @param {Array} params associative array of parameters (ex. {'str': 'aaa'})\n * @extends KJUR.asn1.DERAbstractString\n * @description\n * This class provides ASN.1 OctetString simple type.
\n * Supported \"params\" attributes are:\n *
    \n *
  • str - to set a string as a value
  • \n *
  • hex - to set a hexadecimal string as a value
  • \n *
  • obj - to set a encapsulated ASN.1 value by JSON object\n * which is defined in {@link KJUR.asn1.ASN1Util.newObject}
  • \n *
\n * NOTE: A parameter 'obj' have been supported\n * for \"OCTET STRING, encapsulates\" structure.\n * since asn1 1.0.11, jsrsasign 6.1.1 (2016-Sep-25).\n * @see KJUR.asn1.DERAbstractString - superclass\n * @example\n * // default constructor\n * o = new KJUR.asn1.DEROctetString();\n * // initialize with string\n * o = new KJUR.asn1.DEROctetString({str: \"aaa\"});\n * // initialize with hexadecimal string\n * o = new KJUR.asn1.DEROctetString({hex: \"616161\"});\n * // initialize with ASN1Util.newObject argument\n * o = new KJUR.asn1.DEROctetString({obj: {seq: [{int: 3}, {prnstr: 'aaa'}]}});\n * // above generates a ASN.1 data like this:\n * // OCTET STRING, encapsulates {\n * // SEQUENCE {\n * // INTEGER 3\n * // PrintableString 'aaa'\n * // }\n * // }\n */\nKJUR.asn1.DEROctetString = function (params) {\n if (params !== undefined && typeof params.obj !== \"undefined\") {\n var o = KJUR.asn1.ASN1Util.newObject(params.obj);\n params.hex = o.getEncodedHex();\n }\n KJUR.asn1.DEROctetString.superclass.constructor.call(this, params);\n this.hT = \"04\";\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DEROctetString, KJUR.asn1.DERAbstractString);\n// ********************************************************************\n/**\n * class for ASN.1 DER Null\n * @name KJUR.asn1.DERNull\n * @class class for ASN.1 DER Null\n * @extends KJUR.asn1.ASN1Object\n * @description\n * @see KJUR.asn1.ASN1Object - superclass\n */\nKJUR.asn1.DERNull = function () {\n KJUR.asn1.DERNull.superclass.constructor.call(this);\n this.hT = \"05\";\n this.hTLV = \"0500\";\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERNull, KJUR.asn1.ASN1Object);\n// ********************************************************************\n/**\n * class for ASN.1 DER ObjectIdentifier\n * @name KJUR.asn1.DERObjectIdentifier\n * @class class for ASN.1 DER ObjectIdentifier\n * @param {Array} params associative array of parameters (ex. {'oid': '2.5.4.5'})\n * @extends KJUR.asn1.ASN1Object\n * @description\n *
\n * As for argument 'params' for constructor, you can specify one of\n * following properties:\n *
    \n *
  • oid - specify initial ASN.1 value(V) by a oid string (ex. 2.5.4.13)
  • \n *
  • hex - specify initial ASN.1 value(V) by a hexadecimal string
  • \n *
\n * NOTE: 'params' can be omitted.\n */\nKJUR.asn1.DERObjectIdentifier = function (params) {\n var itox = function (i) {\n var h = i.toString(16);\n if (h.length == 1)\n h = '0' + h;\n return h;\n };\n var roidtox = function (roid) {\n var h = '';\n var bi = new _jsbn_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger(roid, 10);\n var b = bi.toString(2);\n var padLen = 7 - b.length % 7;\n if (padLen == 7)\n padLen = 0;\n var bPad = '';\n for (var i = 0; i < padLen; i++)\n bPad += '0';\n b = bPad + b;\n for (var i = 0; i < b.length - 1; i += 7) {\n var b8 = b.substr(i, 7);\n if (i != b.length - 7)\n b8 = '1' + b8;\n h += itox(parseInt(b8, 2));\n }\n return h;\n };\n KJUR.asn1.DERObjectIdentifier.superclass.constructor.call(this);\n this.hT = \"06\";\n /**\n * set value by a hexadecimal string\n * @name setValueHex\n * @memberOf KJUR.asn1.DERObjectIdentifier#\n * @function\n * @param {String} newHexString hexadecimal value of OID bytes\n */\n this.setValueHex = function (newHexString) {\n this.hTLV = null;\n this.isModified = true;\n this.s = null;\n this.hV = newHexString;\n };\n /**\n * set value by a OID string
\n * @name setValueOidString\n * @memberOf KJUR.asn1.DERObjectIdentifier#\n * @function\n * @param {String} oidString OID string (ex. 2.5.4.13)\n * @example\n * o = new KJUR.asn1.DERObjectIdentifier();\n * o.setValueOidString(\"2.5.4.13\");\n */\n this.setValueOidString = function (oidString) {\n if (!oidString.match(/^[0-9.]+$/)) {\n throw \"malformed oid string: \" + oidString;\n }\n var h = '';\n var a = oidString.split('.');\n var i0 = parseInt(a[0]) * 40 + parseInt(a[1]);\n h += itox(i0);\n a.splice(0, 2);\n for (var i = 0; i < a.length; i++) {\n h += roidtox(a[i]);\n }\n this.hTLV = null;\n this.isModified = true;\n this.s = null;\n this.hV = h;\n };\n /**\n * set value by a OID name\n * @name setValueName\n * @memberOf KJUR.asn1.DERObjectIdentifier#\n * @function\n * @param {String} oidName OID name (ex. 'serverAuth')\n * @since 1.0.1\n * @description\n * OID name shall be defined in 'KJUR.asn1.x509.OID.name2oidList'.\n * Otherwise raise error.\n * @example\n * o = new KJUR.asn1.DERObjectIdentifier();\n * o.setValueName(\"serverAuth\");\n */\n this.setValueName = function (oidName) {\n var oid = KJUR.asn1.x509.OID.name2oid(oidName);\n if (oid !== '') {\n this.setValueOidString(oid);\n }\n else {\n throw \"DERObjectIdentifier oidName undefined: \" + oidName;\n }\n };\n this.getFreshValueHex = function () {\n return this.hV;\n };\n if (params !== undefined) {\n if (typeof params === \"string\") {\n if (params.match(/^[0-2].[0-9.]+$/)) {\n this.setValueOidString(params);\n }\n else {\n this.setValueName(params);\n }\n }\n else if (params.oid !== undefined) {\n this.setValueOidString(params.oid);\n }\n else if (params.hex !== undefined) {\n this.setValueHex(params.hex);\n }\n else if (params.name !== undefined) {\n this.setValueName(params.name);\n }\n }\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERObjectIdentifier, KJUR.asn1.ASN1Object);\n// ********************************************************************\n/**\n * class for ASN.1 DER Enumerated\n * @name KJUR.asn1.DEREnumerated\n * @class class for ASN.1 DER Enumerated\n * @extends KJUR.asn1.ASN1Object\n * @description\n *
\n * As for argument 'params' for constructor, you can specify one of\n * following properties:\n *
    \n *
  • int - specify initial ASN.1 value(V) by integer value
  • \n *
  • hex - specify initial ASN.1 value(V) by a hexadecimal string
  • \n *
\n * NOTE: 'params' can be omitted.\n * @example\n * new KJUR.asn1.DEREnumerated(123);\n * new KJUR.asn1.DEREnumerated({int: 123});\n * new KJUR.asn1.DEREnumerated({hex: '1fad'});\n */\nKJUR.asn1.DEREnumerated = function (params) {\n KJUR.asn1.DEREnumerated.superclass.constructor.call(this);\n this.hT = \"0a\";\n /**\n * set value by Tom Wu's BigInteger object\n * @name setByBigInteger\n * @memberOf KJUR.asn1.DEREnumerated#\n * @function\n * @param {BigInteger} bigIntegerValue to set\n */\n this.setByBigInteger = function (bigIntegerValue) {\n this.hTLV = null;\n this.isModified = true;\n this.hV = KJUR.asn1.ASN1Util.bigIntToMinTwosComplementsHex(bigIntegerValue);\n };\n /**\n * set value by integer value\n * @name setByInteger\n * @memberOf KJUR.asn1.DEREnumerated#\n * @function\n * @param {Integer} integer value to set\n */\n this.setByInteger = function (intValue) {\n var bi = new _jsbn_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger(String(intValue), 10);\n this.setByBigInteger(bi);\n };\n /**\n * set value by integer value\n * @name setValueHex\n * @memberOf KJUR.asn1.DEREnumerated#\n * @function\n * @param {String} hexadecimal string of integer value\n * @description\n *
\n * NOTE: Value shall be represented by minimum octet length of\n * two's complement representation.\n */\n this.setValueHex = function (newHexString) {\n this.hV = newHexString;\n };\n this.getFreshValueHex = function () {\n return this.hV;\n };\n if (typeof params != \"undefined\") {\n if (typeof params['int'] != \"undefined\") {\n this.setByInteger(params['int']);\n }\n else if (typeof params == \"number\") {\n this.setByInteger(params);\n }\n else if (typeof params['hex'] != \"undefined\") {\n this.setValueHex(params['hex']);\n }\n }\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DEREnumerated, KJUR.asn1.ASN1Object);\n// ********************************************************************\n/**\n * class for ASN.1 DER UTF8String\n * @name KJUR.asn1.DERUTF8String\n * @class class for ASN.1 DER UTF8String\n * @param {Array} params associative array of parameters (ex. {'str': 'aaa'})\n * @extends KJUR.asn1.DERAbstractString\n * @description\n * @see KJUR.asn1.DERAbstractString - superclass\n */\nKJUR.asn1.DERUTF8String = function (params) {\n KJUR.asn1.DERUTF8String.superclass.constructor.call(this, params);\n this.hT = \"0c\";\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERUTF8String, KJUR.asn1.DERAbstractString);\n// ********************************************************************\n/**\n * class for ASN.1 DER NumericString\n * @name KJUR.asn1.DERNumericString\n * @class class for ASN.1 DER NumericString\n * @param {Array} params associative array of parameters (ex. {'str': 'aaa'})\n * @extends KJUR.asn1.DERAbstractString\n * @description\n * @see KJUR.asn1.DERAbstractString - superclass\n */\nKJUR.asn1.DERNumericString = function (params) {\n KJUR.asn1.DERNumericString.superclass.constructor.call(this, params);\n this.hT = \"12\";\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERNumericString, KJUR.asn1.DERAbstractString);\n// ********************************************************************\n/**\n * class for ASN.1 DER PrintableString\n * @name KJUR.asn1.DERPrintableString\n * @class class for ASN.1 DER PrintableString\n * @param {Array} params associative array of parameters (ex. {'str': 'aaa'})\n * @extends KJUR.asn1.DERAbstractString\n * @description\n * @see KJUR.asn1.DERAbstractString - superclass\n */\nKJUR.asn1.DERPrintableString = function (params) {\n KJUR.asn1.DERPrintableString.superclass.constructor.call(this, params);\n this.hT = \"13\";\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERPrintableString, KJUR.asn1.DERAbstractString);\n// ********************************************************************\n/**\n * class for ASN.1 DER TeletexString\n * @name KJUR.asn1.DERTeletexString\n * @class class for ASN.1 DER TeletexString\n * @param {Array} params associative array of parameters (ex. {'str': 'aaa'})\n * @extends KJUR.asn1.DERAbstractString\n * @description\n * @see KJUR.asn1.DERAbstractString - superclass\n */\nKJUR.asn1.DERTeletexString = function (params) {\n KJUR.asn1.DERTeletexString.superclass.constructor.call(this, params);\n this.hT = \"14\";\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERTeletexString, KJUR.asn1.DERAbstractString);\n// ********************************************************************\n/**\n * class for ASN.1 DER IA5String\n * @name KJUR.asn1.DERIA5String\n * @class class for ASN.1 DER IA5String\n * @param {Array} params associative array of parameters (ex. {'str': 'aaa'})\n * @extends KJUR.asn1.DERAbstractString\n * @description\n * @see KJUR.asn1.DERAbstractString - superclass\n */\nKJUR.asn1.DERIA5String = function (params) {\n KJUR.asn1.DERIA5String.superclass.constructor.call(this, params);\n this.hT = \"16\";\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERIA5String, KJUR.asn1.DERAbstractString);\n// ********************************************************************\n/**\n * class for ASN.1 DER UTCTime\n * @name KJUR.asn1.DERUTCTime\n * @class class for ASN.1 DER UTCTime\n * @param {Array} params associative array of parameters (ex. {'str': '130430235959Z'})\n * @extends KJUR.asn1.DERAbstractTime\n * @description\n *
\n * As for argument 'params' for constructor, you can specify one of\n * following properties:\n *
    \n *
  • str - specify initial ASN.1 value(V) by a string (ex.'130430235959Z')
  • \n *
  • hex - specify initial ASN.1 value(V) by a hexadecimal string
  • \n *
  • date - specify Date object.
  • \n *
\n * NOTE: 'params' can be omitted.\n *

EXAMPLES

\n * @example\n * d1 = new KJUR.asn1.DERUTCTime();\n * d1.setString('130430125959Z');\n *\n * d2 = new KJUR.asn1.DERUTCTime({'str': '130430125959Z'});\n * d3 = new KJUR.asn1.DERUTCTime({'date': new Date(Date.UTC(2015, 0, 31, 0, 0, 0, 0))});\n * d4 = new KJUR.asn1.DERUTCTime('130430125959Z');\n */\nKJUR.asn1.DERUTCTime = function (params) {\n KJUR.asn1.DERUTCTime.superclass.constructor.call(this, params);\n this.hT = \"17\";\n /**\n * set value by a Date object
\n * @name setByDate\n * @memberOf KJUR.asn1.DERUTCTime#\n * @function\n * @param {Date} dateObject Date object to set ASN.1 value(V)\n * @example\n * o = new KJUR.asn1.DERUTCTime();\n * o.setByDate(new Date(\"2016/12/31\"));\n */\n this.setByDate = function (dateObject) {\n this.hTLV = null;\n this.isModified = true;\n this.date = dateObject;\n this.s = this.formatDate(this.date, 'utc');\n this.hV = stohex(this.s);\n };\n this.getFreshValueHex = function () {\n if (typeof this.date == \"undefined\" && typeof this.s == \"undefined\") {\n this.date = new Date();\n this.s = this.formatDate(this.date, 'utc');\n this.hV = stohex(this.s);\n }\n return this.hV;\n };\n if (params !== undefined) {\n if (params.str !== undefined) {\n this.setString(params.str);\n }\n else if (typeof params == \"string\" && params.match(/^[0-9]{12}Z$/)) {\n this.setString(params);\n }\n else if (params.hex !== undefined) {\n this.setStringHex(params.hex);\n }\n else if (params.date !== undefined) {\n this.setByDate(params.date);\n }\n }\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERUTCTime, KJUR.asn1.DERAbstractTime);\n// ********************************************************************\n/**\n * class for ASN.1 DER GeneralizedTime\n * @name KJUR.asn1.DERGeneralizedTime\n * @class class for ASN.1 DER GeneralizedTime\n * @param {Array} params associative array of parameters (ex. {'str': '20130430235959Z'})\n * @property {Boolean} withMillis flag to show milliseconds or not\n * @extends KJUR.asn1.DERAbstractTime\n * @description\n *
\n * As for argument 'params' for constructor, you can specify one of\n * following properties:\n *
    \n *
  • str - specify initial ASN.1 value(V) by a string (ex.'20130430235959Z')
  • \n *
  • hex - specify initial ASN.1 value(V) by a hexadecimal string
  • \n *
  • date - specify Date object.
  • \n *
  • millis - specify flag to show milliseconds (from 1.0.6)
  • \n *
\n * NOTE1: 'params' can be omitted.\n * NOTE2: 'withMillis' property is supported from asn1 1.0.6.\n */\nKJUR.asn1.DERGeneralizedTime = function (params) {\n KJUR.asn1.DERGeneralizedTime.superclass.constructor.call(this, params);\n this.hT = \"18\";\n this.withMillis = false;\n /**\n * set value by a Date object\n * @name setByDate\n * @memberOf KJUR.asn1.DERGeneralizedTime#\n * @function\n * @param {Date} dateObject Date object to set ASN.1 value(V)\n * @example\n * When you specify UTC time, use 'Date.UTC' method like this:
\n * o1 = new DERUTCTime();\n * o1.setByDate(date);\n *\n * date = new Date(Date.UTC(2015, 0, 31, 23, 59, 59, 0)); #2015JAN31 23:59:59\n */\n this.setByDate = function (dateObject) {\n this.hTLV = null;\n this.isModified = true;\n this.date = dateObject;\n this.s = this.formatDate(this.date, 'gen', this.withMillis);\n this.hV = stohex(this.s);\n };\n this.getFreshValueHex = function () {\n if (this.date === undefined && this.s === undefined) {\n this.date = new Date();\n this.s = this.formatDate(this.date, 'gen', this.withMillis);\n this.hV = stohex(this.s);\n }\n return this.hV;\n };\n if (params !== undefined) {\n if (params.str !== undefined) {\n this.setString(params.str);\n }\n else if (typeof params == \"string\" && params.match(/^[0-9]{14}Z$/)) {\n this.setString(params);\n }\n else if (params.hex !== undefined) {\n this.setStringHex(params.hex);\n }\n else if (params.date !== undefined) {\n this.setByDate(params.date);\n }\n if (params.millis === true) {\n this.withMillis = true;\n }\n }\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERGeneralizedTime, KJUR.asn1.DERAbstractTime);\n// ********************************************************************\n/**\n * class for ASN.1 DER Sequence\n * @name KJUR.asn1.DERSequence\n * @class class for ASN.1 DER Sequence\n * @extends KJUR.asn1.DERAbstractStructured\n * @description\n *
\n * As for argument 'params' for constructor, you can specify one of\n * following properties:\n *
    \n *
  • array - specify array of ASN1Object to set elements of content
  • \n *
\n * NOTE: 'params' can be omitted.\n */\nKJUR.asn1.DERSequence = function (params) {\n KJUR.asn1.DERSequence.superclass.constructor.call(this, params);\n this.hT = \"30\";\n this.getFreshValueHex = function () {\n var h = '';\n for (var i = 0; i < this.asn1Array.length; i++) {\n var asn1Obj = this.asn1Array[i];\n h += asn1Obj.getEncodedHex();\n }\n this.hV = h;\n return this.hV;\n };\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERSequence, KJUR.asn1.DERAbstractStructured);\n// ********************************************************************\n/**\n * class for ASN.1 DER Set\n * @name KJUR.asn1.DERSet\n * @class class for ASN.1 DER Set\n * @extends KJUR.asn1.DERAbstractStructured\n * @description\n *
\n * As for argument 'params' for constructor, you can specify one of\n * following properties:\n *
    \n *
  • array - specify array of ASN1Object to set elements of content
  • \n *
  • sortflag - flag for sort (default: true). ASN.1 BER is not sorted in 'SET OF'.
  • \n *
\n * NOTE1: 'params' can be omitted.
\n * NOTE2: sortflag is supported since 1.0.5.\n */\nKJUR.asn1.DERSet = function (params) {\n KJUR.asn1.DERSet.superclass.constructor.call(this, params);\n this.hT = \"31\";\n this.sortFlag = true; // item shall be sorted only in ASN.1 DER\n this.getFreshValueHex = function () {\n var a = new Array();\n for (var i = 0; i < this.asn1Array.length; i++) {\n var asn1Obj = this.asn1Array[i];\n a.push(asn1Obj.getEncodedHex());\n }\n if (this.sortFlag == true)\n a.sort();\n this.hV = a.join('');\n return this.hV;\n };\n if (typeof params != \"undefined\") {\n if (typeof params.sortflag != \"undefined\" &&\n params.sortflag == false)\n this.sortFlag = false;\n }\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERSet, KJUR.asn1.DERAbstractStructured);\n// ********************************************************************\n/**\n * class for ASN.1 DER TaggedObject\n * @name KJUR.asn1.DERTaggedObject\n * @class class for ASN.1 DER TaggedObject\n * @extends KJUR.asn1.ASN1Object\n * @description\n *
\n * Parameter 'tagNoNex' is ASN.1 tag(T) value for this object.\n * For example, if you find '[1]' tag in a ASN.1 dump,\n * 'tagNoHex' will be 'a1'.\n *
\n * As for optional argument 'params' for constructor, you can specify *ANY* of\n * following properties:\n *
    \n *
  • explicit - specify true if this is explicit tag otherwise false\n * (default is 'true').
  • \n *
  • tag - specify tag (default is 'a0' which means [0])
  • \n *
  • obj - specify ASN1Object which is tagged
  • \n *
\n * @example\n * d1 = new KJUR.asn1.DERUTF8String({'str':'a'});\n * d2 = new KJUR.asn1.DERTaggedObject({'obj': d1});\n * hex = d2.getEncodedHex();\n */\nKJUR.asn1.DERTaggedObject = function (params) {\n KJUR.asn1.DERTaggedObject.superclass.constructor.call(this);\n this.hT = \"a0\";\n this.hV = '';\n this.isExplicit = true;\n this.asn1Object = null;\n /**\n * set value by an ASN1Object\n * @name setString\n * @memberOf KJUR.asn1.DERTaggedObject#\n * @function\n * @param {Boolean} isExplicitFlag flag for explicit/implicit tag\n * @param {Integer} tagNoHex hexadecimal string of ASN.1 tag\n * @param {ASN1Object} asn1Object ASN.1 to encapsulate\n */\n this.setASN1Object = function (isExplicitFlag, tagNoHex, asn1Object) {\n this.hT = tagNoHex;\n this.isExplicit = isExplicitFlag;\n this.asn1Object = asn1Object;\n if (this.isExplicit) {\n this.hV = this.asn1Object.getEncodedHex();\n this.hTLV = null;\n this.isModified = true;\n }\n else {\n this.hV = null;\n this.hTLV = asn1Object.getEncodedHex();\n this.hTLV = this.hTLV.replace(/^../, tagNoHex);\n this.isModified = false;\n }\n };\n this.getFreshValueHex = function () {\n return this.hV;\n };\n if (typeof params != \"undefined\") {\n if (typeof params['tag'] != \"undefined\") {\n this.hT = params['tag'];\n }\n if (typeof params['explicit'] != \"undefined\") {\n this.isExplicit = params['explicit'];\n }\n if (typeof params['obj'] != \"undefined\") {\n this.asn1Object = params['obj'];\n this.setASN1Object(this.isExplicit, this.hT, this.asn1Object);\n }\n }\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERTaggedObject, KJUR.asn1.ASN1Object);\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/jsrsasign/asn1-1.0.js?"); + +/***/ }), + +/***/ "./lib/lib/jsrsasign/yahoo.js": +/*!************************************!*\ + !*** ./lib/lib/jsrsasign/yahoo.js ***! + \************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"YAHOO\": () => (/* binding */ YAHOO)\n/* harmony export */ });\n/*!\nCopyright (c) 2011, Yahoo! Inc. All rights reserved.\nCode licensed under the BSD License:\nhttp://developer.yahoo.com/yui/license.html\nversion: 2.9.0\n*/\nvar YAHOO = {};\nYAHOO.lang = {\n /**\n * Utility to set up the prototype, constructor and superclass properties to\n * support an inheritance strategy that can chain constructors and methods.\n * Static members will not be inherited.\n *\n * @method extend\n * @static\n * @param {Function} subc the object to modify\n * @param {Function} superc the object to inherit\n * @param {Object} overrides additional properties/methods to add to the\n * subclass prototype. These will override the\n * matching items obtained from the superclass\n * if present.\n */\n extend: function (subc, superc, overrides) {\n if (!superc || !subc) {\n throw new Error(\"YAHOO.lang.extend failed, please check that \" +\n \"all dependencies are included.\");\n }\n var F = function () { };\n F.prototype = superc.prototype;\n subc.prototype = new F();\n subc.prototype.constructor = subc;\n subc.superclass = superc.prototype;\n if (superc.prototype.constructor == Object.prototype.constructor) {\n superc.prototype.constructor = superc;\n }\n if (overrides) {\n var i;\n for (i in overrides) {\n subc.prototype[i] = overrides[i];\n }\n /*\n * IE will not enumerate native functions in a derived object even if the\n * function was overridden. This is a workaround for specific functions\n * we care about on the Object prototype.\n * @property _IEEnumFix\n * @param {Function} r the object to receive the augmentation\n * @param {Function} s the object that supplies the properties to augment\n * @static\n * @private\n */\n var _IEEnumFix = function () { }, ADD = [\"toString\", \"valueOf\"];\n try {\n if (/MSIE/.test(navigator.userAgent)) {\n _IEEnumFix = function (r, s) {\n for (i = 0; i < ADD.length; i = i + 1) {\n var fname = ADD[i], f = s[fname];\n if (typeof f === 'function' && f != Object.prototype[fname]) {\n r[fname] = f;\n }\n }\n };\n }\n }\n catch (ex) { }\n ;\n _IEEnumFix(subc.prototype, overrides);\n }\n }\n};\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/jsrsasign/yahoo.js?"); + +/***/ }), + +/***/ "./node_modules/process/browser.js": +/*!*****************************************!*\ + !*** ./node_modules/process/browser.js ***! + \*****************************************/ +/***/ ((module) => { + +eval("// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n//# sourceURL=webpack://JSEncrypt/./node_modules/process/browser.js?"); + +/***/ }) + +/******/ }); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/define property getters */ +/******/ (() => { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = (exports, definition) => { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) +/******/ })(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/************************************************************************/ +/******/ +/******/ // startup +/******/ // Load entry module and return exports +/******/ // This entry module can't be inlined because the eval devtool is used. +/******/ var __webpack_exports__ = __webpack_require__("./lib/index.js"); +/******/ __webpack_exports__ = __webpack_exports__["default"]; +/******/ +/******/ return __webpack_exports__; +/******/ })() +; +}); \ No newline at end of file diff --git a/tvboxqq/tvboxqq/南风/api/json5.js b/tvboxqq/tvboxqq/南风/api/json5.js new file mode 100644 index 0000000..10d7ab0 --- /dev/null +++ b/tvboxqq/tvboxqq/南风/api/json5.js @@ -0,0 +1,1737 @@ +(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; + +}))); diff --git a/tvboxqq/tvboxqq/南风/api/node-rsa.js b/tvboxqq/tvboxqq/南风/api/node-rsa.js new file mode 100644 index 0000000..b5ca093 --- /dev/null +++ b/tvboxqq/tvboxqq/南风/api/node-rsa.js @@ -0,0 +1,2 @@ +/*! 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-tthis._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;i4)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{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{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=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=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=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;s60?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>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;au?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>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=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;oa&&(r=a-f),o=r;o>=0;o--){for(var h=!0,p=0;pi&&(n=i):n=i;var o=e.length;n>o/2&&(n=o/2);for(var s=0;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;i239?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;nr&&(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>>=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;ii)&&(r=i);for(var o="",s=e;sr)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||et.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>>=0,e>>>=0,r||k(t,e,this.length);for(var n=this[t],i=1,o=0;++o>>=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=(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>>=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>>=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=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=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>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(o=e;o55295&&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=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;s6&&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>>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>>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>>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>>2]>>>24-o%4*8&255;e[n+o>>>2]|=s<<24-(n+o)%4*8}else for(o=0;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>>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>>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>>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>>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>>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>>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>>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>>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>>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>>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>>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.lengthn&&(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>>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<>>32-o)+e}function c(t,e,r,n,i,o,s){var a=t+(e&n|r&~n)+i+s;return(a<>>32-o)+e}function h(t,e,r,n,i,o,s){var a=t+(e^r^n)+i+s;return(a<>>32-o)+e}function p(t,e,r,n,i,o,s){var a=t+(r^(e|~n))+i+s;return(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>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>>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>>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>>0?1:0)|0,e[2]=e[2]+886263092+(e[1]>>>0>>0?1:0)|0,e[3]=e[3]+1295307597+(e[2]>>>0>>0?1:0)|0,e[4]=e[4]+3545052371+(e[3]>>>0>>0?1:0)|0,e[5]=e[5]+886263092+(e[4]>>>0>>0?1:0)|0,e[6]=e[6]+1295307597+(e[5]>>>0>>0?1:0)|0,e[7]=e[7]+3545052371+(e[6]>>>0>>0?1:0)|0,this._b=e[7]>>>0>>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>>0?1:0)|0,e[2]=e[2]+886263092+(e[1]>>>0>>0?1:0)|0,e[3]=e[3]+1295307597+(e[2]>>>0>>0?1:0)|0,e[4]=e[4]+3545052371+(e[3]>>>0>>0?1:0)|0,e[5]=e[5]+886263092+(e[4]>>>0>>0?1:0)|0,e[6]=e[6]+1295307597+(e[5]>>>0>>0?1:0)|0,e[7]=e[7]+3545052371+(e[6]>>>0>>0?1:0)|0,this._b=e[7]>>>0>>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<>>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<>>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<>>32-O,y=w<>>32-O):(l=w<>>64-O,y=E<>>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>>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>>0?1:0))+nt+((V+=it)>>>0>>0?1:0))+ut+((V+=ct)>>>0>>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>>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>>0?1:0))+bt+((ht+=Et)>>>0>>0?1:0))+W+((ht+=V)>>>0>>0?1:0))+((M=C+ht|0)>>>0>>0?1:0)|0,L=R,C=N,R=k,N=D,k=T,D=I,T=wt+(dt+yt+(Ot>>>0>>0?1:0))+((I=ht+Ot|0)>>>0>>0?1:0)|0}y=n.low=y+I,n.high=l+T+(y>>>0>>0?1:0),d=i.low=d+D,i.high=g+k+(d>>>0>>0?1:0),m=o.low=m+N,o.high=v+R+(m>>>0>>0?1:0),_=s.low=_+C,s.high=S+L+(_>>>0>>0?1:0),E=a.low=E+M,a.high=b+U+(E>>>0>>0?1:0),O=c.low=O+H,c.high=w+j+(O>>>0>>0?1:0),A=h.low=A+z,h.high=B+F+(A>>>0>>0?1:0),P=p.low=P+q,p.high=x+G+(P>>>0>>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^this._lBlock)&e;this._lBlock^=r,this._rBlock^=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{"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){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<>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<>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<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{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{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<>=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>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):this[this.t-1]|=f<=this.DB&&(a-=this.DB))}!r&&8==n&&128&t[0]&&(this.s=-1,a>0&&(this[this.t-1]|=(1<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=0;--r)e[r+s+1]=this[r]>>i|a,a=(this[r]&o)<=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;for(var s=r+1;s>n;n>0&&(e[this.t-r-1]|=(this.s&o)<>=this.DB;if(t.t>=this.DB;n+=this.s}else{for(n+=this.s;r>=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=0;)t[r]=0;for(r=0;r=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.t0?(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<1?o[h-2]>>this.F2:0),g=this.FV/l,d=(1<=0&&(r[r.t++]=1,r.subTo(_,r)),s.ONE.dlShiftTo(h,_),_.subTo(o,o);o.t=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))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<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=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<>=this.DB;if(t.t>=this.DB;n+=this.s}else{for(n+=this.s;r>=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=0;)r[n]=0;for(n=Math.max(e-this.t,0);n0)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;o0)for(a>a)>0&&(i=!0,o=h(r));s>=0;)a>(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)<>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>n)!=(this.s&this.DM)>>n&&(e[i++]=r|this.s<=0;)n<8?(r=(this[t]&(1<>(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;r0?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?0!=this.s:!!(this[e]&1<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<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<=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(i0&&(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{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()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;f0)throw Error("Incorrect data or key");for(var r=[],i=0,o=0,s=t.length/this.encryptedDataLength,a=0;a>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;hf-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{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=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>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>8-(g=8*h-r)<<8-g,p[0]=p[0]&l,y=0;0===p[y]&&y{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+e0){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;g0)for(var d=0;d{"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{"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{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=[];++c1)for(var r=1;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{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/tvboxqq/tvboxqq/南风/api/pako.min.js b/tvboxqq/tvboxqq/南风/api/pako.min.js new file mode 100644 index 0000000..05a54a2 --- /dev/null +++ b/tvboxqq/tvboxqq/南风/api/pako.min.js @@ -0,0 +1,2 @@ +/*! 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<>16-t.bi_valid,t.bi_valid+=a-16):(t.bi_buf|=e<{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{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]{const i=t.heap[a];let n=a<<1;for(;n<=t.heap_len&&(n{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{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>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{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{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{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{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<>=7;h(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>>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<{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]&&sr){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{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_outi+t.strm.avail_in&&(a=i+t.strm.avail_in),a>n&&(a=n),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_watern&&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>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=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=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_length4096)&&(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<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.gzindexi&&(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.gzindexi&&(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]&&nt.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=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>>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;i4)s[n++]=65533,i+=r-1;else{for(e&=2===r?31:3===r?15:7;r>1&&i1?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=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<>>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,c-=p),c<15&&(f+=z[a++]<>>24,f>>>=p,c-=p,p=g>>>16&255,!(16&p)){if(0==(64&p)){g=w[(65535&g)+(f&(1<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,p2;)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>3,a-=k,c-=k<<3,f&=(1<{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=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;b0&&(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;m852||2===t&&x>592)return 1;for(;;){Z=w-v,r[m]+1=u?(U=D[r[m]-u],S=A[r[m]-u]):(U=96,S=0),h=1<>v)+d]=Z<<24|U<<16|S|0}while(0!==d);for(h=1<>=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<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.mode16211?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.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.whaveKe(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++]<>>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<>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++]<>>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++]<>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++]<>>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>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++]<>>=7&d,d-=7&d,a.mode=Fe;break}for(;d<3;){if(0===o)break t;o--,h+=i[s++]<>>=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++]<>>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++]<>>=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>>=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>>24,b=z>>>16&255,g=65535&z,!(m<=d);){if(0===o)break t;o--,h+=i[s++]<>>=m,d-=m,a.lens[a.have++]=g;else{if(16===g){for(R=m+2;d>>=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>>=m,d-=m,y=0,c=3+(7&h),h>>>=3,d-=3}else{for(R=m+7;d>>=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<>>24,b=z>>>16&255,g=65535&z,!(m<=d);){if(0===o)break t;o--,h+=i[s++]<>p)],m=z>>>24,b=z>>>16&255,g=65535&z,!(p+m<=d);){if(0===o)break t;o--,h+=i[s++]<>>=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>>=a.extra,d-=a.extra,a.back+=a.extra}a.was=a.length,a.mode=16202;case 16202:for(;z=a.distcode[h&(1<>>24,b=z>>>16&255,g=65535&z,!(m<=d);){if(0===o)break t;o--,h+=i[s++]<>p)],m=z>>>24,b=z>>>16&255,g=65535&z,!(p+m<=d);){if(0===o)break t;o--,h+=i[s++]<>>=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>>=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++]<{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/tvboxqq/tvboxqq/南风/api/模板.js b/tvboxqq/tvboxqq/南风/api/模板.js new file mode 100644 index 0000000..f63e1b7 --- /dev/null +++ b/tvboxqq/tvboxqq/南风/api/模板.js @@ -0,0 +1,412 @@ +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_.*?=(.*?) {\n let slist = jo[idex].list ;\n slist.forEach(it => {\n d.push({\n url: it.rid,\n title: it.roomName,\n img: it.roomSrc,\n desc: '👁' + it.hn + ' 🆙' + it.nickname,\n })\n });\n });\n setResult(d);\n ","一级":"js:\n let d = [];\n let jo = JSON.parse(request(input)).data.list;\n jo.forEach(it => {\n d.push({\n url: it.rid,\n title: it.roomName,\n img: it.roomSrc,\n desc: '👁' + it.hn + ' 🆙' + it.nickname,\n })\n });\n setResult(d);\n ", + + 二级:'*', + +"搜索":"js:\n var d = [];\n let rurls = input.split(';')[0].split('#');\n let rurl = rurls[0];\n let params = rurls.length > 1 ?rurls[1]:'';\n let _fetch_params = JSON.parse(JSON.stringify(rule_fetch_params));\n let postData = {body:params};\n Object.assign(_fetch_params,postData);\n let jo = JSON.parse(post(rurl,_fetch_params)).data.list;\n jo.forEach(it => {\n d.push({\n url: it.roomId,\n title: it.roomName,\n img: it.roomSrc,\n desc: '👁' + it.hn + ' 🆙' + it.nickname,\n })\n });\n setResult(d);\n ",sniffer:1,isVideo:"js:\n log(input);\n if(/\\/huya/.test(input)) {\n input = true\n } else if(/\\.flv?|\\.m3u8?|\\.mp4?/.test(input)){\n input = true\n }else{\n input = false\n }\n "}; \ No newline at end of file diff --git a/tvboxqq/tvboxqq/南风/js/有声小说吧.js b/tvboxqq/tvboxqq/南风/js/有声小说吧.js new file mode 100644 index 0000000..3f5297b --- /dev/null +++ b/tvboxqq/tvboxqq/南风/js/有声小说吧.js @@ -0,0 +1,37 @@ +var rule = { + title:'有声小说吧', + 编码:'gb18030', + host:'http://m.ysxs8.vip', + url:'/downlist/fyclass_fypage.html', + searchUrl:'/search.asp?page=fypage&searchword=**&searchtype=-1', + searchable:2, + quickSearch:0, + headers:{ + 'User-Agent':'MOBILE_UA' + }, + timeout:5000, + // homeUrl:'/fenlei/', + // class_parse: '.pd-class:eq(0) dd;a&&Text;a&&href;.*/(.*?).html', + class_name:'网络玄幻&恐怖悬疑&传统武侠&都市言情&官场刑侦&历史军事&探险盗墓&职场商战&明朝那些事儿&评书下载&相声戏曲&人物传记&广播剧&百家讲坛&外语读物&有声文学&儿童读物&管理营销', + class_url:'r52&r17&r12&r13&r14&r15&r45&r81&r36&r3&r7&r16&r18&r32&r35&r41&r4&r6', + play_parse:true, + lazy:'', + limit:6, + // double:true, + 推荐:'.list-ul .list-li;.list-name&&Text;*;.module-slide-author&&Text;*', + 一级:'.book-ol&&li;h4&&Text;img&&data-original;.book-meta&&Text;a&&href', + 二级:{ + // title:'h2&&Text;.book-cell .book-rand-a:eq(2)&&Text', + title:'h1&&Text;.book-cell .book-rand-a:eq(0)&&a&&Text', + img:'.book img&&src', + // desc:';;;;.book-des p&&Text', + desc:';;;.book-rand-a:eq(2)&&Text;.book-des p&&Text', + content:'.book-des--p&&Text', + tabs:'.playlist-top&&h2', + // lists:'js:pd=jsp.pd;let url=pd(html,".bookbutton&&a&&href");log(url);html=request(url);let v=pd(html,".booksite&&script&&Html");var document={};var VideoListJson;VideoListJson=eval(v.split("VideoListJson=")[1].split(",urlinfo")[0]);log(typeof VideoListJson);let list1=VideoListJson[0][1];LISTS=[list1];log(LISTS);', + // 有声小说有防盗链,我服了(上面的列表数据正常拿到了,没法播放) + // lists:'#playlist:eq(#id)&&ul&&li', + lists:'#playlist ul li', + }, + 搜索:'*', +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/南风/json/jianpian.json b/tvboxqq/tvboxqq/南风/json/jianpian.json new file mode 100644 index 0000000..8eaed5f --- /dev/null +++ b/tvboxqq/tvboxqq/南风/json/jianpian.json @@ -0,0 +1,522 @@ +{ + "0": [ + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "国产", + "v": "1" + }, + { + "n": "中国香港", + "v": "3" + }, + { + "n": "中国台湾", + "v": "6" + }, + { + "n": "美国", + "v": "5" + }, + { + "n": "韩国", + "v": "18" + }, + { + "n": "日本", + "v": "2" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "2025", + "v": "107" + }, + { + "n": "2024", + "v": "119" + }, + { + "n": "2023", + "v": "153" + }, + { + "n": "2022", + "v": "101" + }, + { + "n": "2021", + "v": "118" + }, + { + "n": "2020", + "v": "16" + }, + { + "n": "2019", + "v": "7" + }, + { + "n": "2018", + "v": "2" + }, + { + "n": "2017", + "v": "3" + }, + { + "n": "2016", + "v": "22" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "热门", + "v": "hot" + }, + { + "n": "更新", + "v": "updata" + }, + { + "n": "评分", + "v": "rating" + } + ] + } + ], + "1": [ + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "国产", + "v": "1" + }, + { + "n": "中国香港", + "v": "3" + }, + { + "n": "中国台湾", + "v": "6" + }, + { + "n": "美国", + "v": "5" + }, + { + "n": "韩国", + "v": "18" + }, + { + "n": "日本", + "v": "2" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "2025", + "v": "107" + }, + { + "n": "2024", + "v": "119" + }, + { + "n": "2023", + "v": "153" + }, + { + "n": "2022", + "v": "101" + }, + { + "n": "2021", + "v": "118" + }, + { + "n": "2020", + "v": "16" + }, + { + "n": "2019", + "v": "7" + }, + { + "n": "2018", + "v": "2" + }, + { + "n": "2017", + "v": "3" + }, + { + "n": "2016", + "v": "22" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "热门", + "v": "hot" + }, + { + "n": "更新", + "v": "updata" + }, + { + "n": "评分", + "v": "rating" + } + ] + } + ], + "2": [ + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "国产", + "v": "1" + }, + { + "n": "中国香港", + "v": "3" + }, + { + "n": "中国台湾", + "v": "6" + }, + { + "n": "美国", + "v": "5" + }, + { + "n": "韩国", + "v": "18" + }, + { + "n": "日本", + "v": "2" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "2025", + "v": "107" + }, + { + "n": "2024", + "v": "119" + }, + { + "n": "2023", + "v": "153" + }, + { + "n": "2022", + "v": "101" + }, + { + "n": "2021", + "v": "118" + }, + { + "n": "2020", + "v": "16" + }, + { + "n": "2019", + "v": "7" + }, + { + "n": "2018", + "v": "2" + }, + { + "n": "2017", + "v": "3" + }, + { + "n": "2016", + "v": "22" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "热门", + "v": "hot" + }, + { + "n": "更新", + "v": "updata" + }, + { + "n": "评分", + "v": "rating" + } + ] + } + ], + "3": [ + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "国产", + "v": "1" + }, + { + "n": "中国香港", + "v": "3" + }, + { + "n": "中国台湾", + "v": "6" + }, + { + "n": "美国", + "v": "5" + }, + { + "n": "韩国", + "v": "18" + }, + { + "n": "日本", + "v": "2" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "2025", + "v": "107" + }, + { + "n": "2024", + "v": "119" + }, + { + "n": "2023", + "v": "153" + }, + { + "n": "2022", + "v": "101" + }, + { + "n": "2021", + "v": "118" + }, + { + "n": "2020", + "v": "16" + }, + { + "n": "2019", + "v": "7" + }, + { + "n": "2018", + "v": "2" + }, + { + "n": "2017", + "v": "3" + }, + { + "n": "2016", + "v": "22" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "热门", + "v": "hot" + }, + { + "n": "更新", + "v": "updata" + }, + { + "n": "评分", + "v": "rating" + } + ] + } + ], + "4": [ + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "国产", + "v": "1" + }, + { + "n": "中国香港", + "v": "3" + }, + { + "n": "中国台湾", + "v": "6" + }, + { + "n": "美国", + "v": "5" + }, + { + "n": "韩国", + "v": "18" + }, + { + "n": "日本", + "v": "2" + } + ] + }, + { + "key": "year", + "name": "年份", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "2025", + "v": "107" + }, + { + "n": "2024", + "v": "119" + }, + { + "n": "2023", + "v": "153" + }, + { + "n": "2022", + "v": "101" + }, + { + "n": "2021", + "v": "118" + }, + { + "n": "2020", + "v": "16" + }, + { + "n": "2019", + "v": "7" + }, + { + "n": "2018", + "v": "2" + }, + { + "n": "2017", + "v": "3" + }, + { + "n": "2016", + "v": "22" + } + ] + }, + { + "key": "by", + "name": "排序", + "value": [ + { + "n": "热门", + "v": "hot" + }, + { + "n": "更新", + "v": "updata" + }, + { + "n": "评分", + "v": "rating" + } + ] + } + ] +} diff --git a/tvboxqq/tvboxqq/南风/json/农民影视.json b/tvboxqq/tvboxqq/南风/json/农民影视.json new file mode 100644 index 0000000..b7e6b8d --- /dev/null +++ b/tvboxqq/tvboxqq/南风/json/农民影视.json @@ -0,0 +1,72 @@ +{ + "规则名": "农民影视", + "规则作者": "香雅情", + "请求头参数": "User-Agent$手机#accept$text/html#Referer$https://vip.wwgz.cn:5200", + "网页编码格式": "UTF-8", + "图片是否需要代理": "0", + "是否开启获取首页数据": "1", + "首页推荐链接": "https://vip.wwgz.cn:5200", + "首页列表数组规则": "body&&.globalPicList", + "首页片单列表数组规则": "li:has(img)", + "首页片单是否Jsoup写法": "1", + "首页片单标题": ".sTit&&Text", + "首页片单链接": "a&&href", + "首页片单图片": "img&&data-echo||data-src||src", + "首页片单副标题": ".sBottom&&Text", + "首页片单链接加前缀": "https://vip.wwgz.cn:5200", + "首页片单链接加后缀": "", + "分类起始页码": "1", + "分类链接": "https://vip.wwgz.cn:5200/vod-list-id-{cateId}-pg-{catePg}-order--by-{by}-class--year-{year}-letter--area-{area}-lang-.html", + "分类名称": "电影&电视剧&综艺&动漫&短剧", + "分类名称替换词": "1&2&3&4&26", + "筛选数据": "ext", + "筛选子分类名称": "动作片&喜剧片&爱情片&科幻片&恐怖片&剧情片&战争片&惊悚片&奇幻片||国产剧&港台泰&日韩剧&欧美剧||空||动漫剧&动漫片", + "筛选子分类替换词": "5&6&7&8&9&10&11&16&17||12&13&14&15||空||18&19", + "筛选地区名称": "大陆&香港&台湾&美国&韩国&日本&泰国&新加坡&马来西亚&印度&英国&法国&加拿大&西班牙&俄罗斯&其它", + "筛选地区替换词": "*", + "分类截取模式": "1", + "分类列表数组规则": ".globalPicList&&li", + "分类片单是否Jsoup写法": "1", + "分类片单标题": ".sTit&&Text", + "分类片单链接": "a&&href", + "分类片单图片": "img&&data-echo||data-src||src", + "分类片单副标题": ".sBottom&&Text", + "分类片单链接加前缀": "https://vip.wwgz.cn:5200", + "分类片单链接加后缀": "", + "搜索请求头参数": "User-Agent$手机#Referer$https://vip.wwgz.cn:5200", + "search_url": "https://vip.wwgz.cn:5200/index.php?m=vod-search;post", + "sea_PtBody": "wd={wd}", + "search_mode": "1", + "sea_arr_rule": "#data_list&&li", + "sea_is_jsoup": "1", + "sea_pic": ".lazyload&&data-src", + "sea_title": ".sTit&&Text", + "sea_url": "a&&href", + "搜索片单副标题": ".sDes,-1&&Text", + "搜索片单链接加前缀": "https://vip.wwgz.cn:5200", + "搜索片单链接加后缀": "", + "链接是否直接播放": "0", + "直接播放链接加前缀": "https://live.52sf.ga/huya/", + "直接播放链接加后缀": "#isVideo=true#", + "直接播放直链视频请求头": "authority$ku.peizq.online#Referer$https://play.peizq.online", + "详情是否Jsoup写法": "1", + "类型详情": ".type-title&&Text", + "年代详情": "body&&span:contains(年代:)&&Text!年代:", + "地区详情": "", + "演员详情": "body&&.sDes:contains(主演:)&&Text!主演:", + "简介详情": ".detail-con&&p&&Text!简介:", + "线路列表数组规则": "#leftTabBox&&ul&&li", + "线路标题": "Text[替换:线路=>农民专线]", + "播放列表数组规则": "#leftTabBox&&.numList", + "选集列表数组规则": "li", + "选集标题链接是否Jsoup写法": "1", + "选集标题": "a&&Text", + "选集链接": "a&&href", + "是否反转选集序列": "1", + "选集链接加前缀": "https://vip.wwgz.cn:5200", + "选集链接加后缀": "", + "分析MacPlayer": "0", + "是否开启手动嗅探": "1", + "手动嗅探视频链接关键词": ".mp4#.m3u8#item/video#video_mp4#video/tos", + "手动嗅探视频链接过滤词": ".html#=http" +} diff --git a/tvboxqq/tvboxqq/南风/json/剧圈圈.json b/tvboxqq/tvboxqq/南风/json/剧圈圈.json new file mode 100644 index 0000000..a5a6bbc --- /dev/null +++ b/tvboxqq/tvboxqq/南风/json/剧圈圈.json @@ -0,0 +1,82 @@ +{ + "规则名": "剧圈圈", + "规则作者": "香雅情", + "OCR_API":"https://api.nn.ci/ocr/b64/text", + "请求头参数": "MOBILE_UA", + "网页编码格式": "UTF-8", + "图片是否需要代理": "否", + "是否开启获取首页数据": "1", + "首页推荐链接": "https://www.jqqzx.me", + "首页列表数组规则": "body&&.module-main.tab-list.active", + "首页片单列表数组规则": ".module-item", + "首页片单是否Jsoup写法": "1", + "分类起始页码": "1", + "分类链接": "https://www.jqqzx.me/vodshow/id/{cateId}/page/{catePg}.html", + "分类名称": "电影&电视剧&综艺&动漫&纪录片&爽剧", + "分类名称替换词": "dianying&juji&zongyi&dongman&jilupian&shuangju", + "筛选数据": {}, + //"筛选数据": "ext", + //{cateId} + "筛选子分类名称": "", + "筛选子分类替换词": "", + //{class} + "筛选类型名称": "", + "筛选类型替换词": "*", + //{area} + "筛选地区名称": "", + "筛选地区替换词": "*", + //{year} + "筛选年份名称": "", + "筛选年份替换词": "*", + //{lang} + "筛选语言名称": "", + "筛选语言替换词": "*", + //{by} + "筛选排序名称": "时间&人气&评分", + "筛选排序替换词": "time&hits&score", + "分类截取模式": "1", + "分类列表数组规则": ".module-items&&.module-item", + "分类片单是否Jsoup写法": "是", + "分类片单标题": ".module-poster-item-title&&Text", + "分类片单链接": "a&&href", + "分类片单图片": ".lazyload&&data-original", + "分类片单副标题": ".module-item-note&&Text", + "分类片单链接加前缀": "https://www.jqqzx.me", + "分类片单链接加后缀": "", + "搜索请求头参数": "User-Agent$MOBILE_UA", + "搜索链接": "https://www.jqqzx.me/vodsearch{wd}/page/{SearchPg}.html", + "POST请求数据": "", + "搜索截取模式": "1", + "搜索列表数组规则": ".module-items&&.module-item", + "搜索片单是否Jsoup写法": "是", + "搜索片单图片": ".lazyload&&data-original", + "搜索片单标题": ".module-card-item-title&&Text", + "搜索片单链接": "a&&href", + "搜索片单副标题": ".module-item-note&&Text", + "搜索片单链接加前缀": "https://www.jqqzx.me", + "搜索片单链接加后缀": "", + "链接是否直接播放": "否", + "直接播放链接加前缀": "", + "直接播放链接加后缀": "", + "直接播放直链视频请求头": "", + "详情是否Jsoup写法": "是", + "类型详情": "", + "年代详情": ".module-info-content&&.module-info-item,3&&Text", + "地区详情": "", + "演员详情": ".module-info-content&&.module-info-item,2&&Text", + "简介详情": ".module-info-content&&.module-info-item&&Text", + "线路列表数组规则": ".module-tab-items-box&&.module-tab-item", + "线路标题": "Text", + "播放列表数组规则": "body&&.module-play-list-content", + "选集列表数组规则": "a", + "选集标题链接是否Jsoup写法": "是", + "选集标题": "a&&Text", + "选集链接": "a&&href", + "是否反转选集序列": "否", + "选集链接加前缀": "https://www.jqqzx.me", + "选集链接加后缀": "", + "分析MacPlayer": "否", + "是否开启手动嗅探": "否", + "手动嗅探视频链接关键词": ".mp4#.m3u8#.flv#video/tos", + "手动嗅探视频链接过滤词": ".html#=http" +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/南风/json/樱花动漫.json b/tvboxqq/tvboxqq/南风/json/樱花动漫.json new file mode 100644 index 0000000..aa91261 --- /dev/null +++ b/tvboxqq/tvboxqq/南风/json/樱花动漫.json @@ -0,0 +1,81 @@ +{ + "规则名": "樱花动漫", + "规则作者": "", + "请求头参数": "User-Agent$MOBILE_UA#Referer$WebView", + "网页编码格式": "UTF-8", + "图片是否需要代理": "0", + "是否开启获取首页数据": "0", + "首页推荐链接": "http://www.yinghuadm.cn", + "首页列表数组规则": "body&&.module-main.tab-list.active", + "首页片单列表数组规则": ".module-item", + "首页片单是否Jsoup写法": "1", + "分类起始页码": "1", + "分类链接": "http://www.yinghuadm.cn/show_{cateId}--{by}------{catePg}---.html", + "分类名称": "日本动漫&国产动漫&动漫电影&欧美动漫", + "分类名称替换词": "ribendongman&guochandongman&dongmandianying&oumeidongman", + "筛选数据": {}, + //"筛选数据": "ext", + //{cateId} + "筛选子分类名称": "", + "筛选子分类替换词": "", + //{class} + "筛选类型名称": "", + "筛选类型替换词": "*", + //{area} + "筛选地区名称": "", + "筛选地区替换词": "*", + //{year} + "筛选年份名称": "", + "筛选年份替换词": "*", + //{lang} + "筛选语言名称": "", + "筛选语言替换词": "*", + //{by} + "筛选排序名称": "时间&人气&评分", + "筛选排序替换词": "time&hits&score", + "分类截取模式": "1", + "分类列表数组规则": "body&&.module-item", + "分类片单是否Jsoup写法": "1", + "分类片单标题": "a&&title", + "分类片单链接": "a&&href", + "分类片单图片": ".lazyload&&data-original", + "分类片单副标题": ".module-item-note&&Text", + "分类片单链接加前缀": "http://www.yinghuadm.cn", + "分类片单链接加后缀": "", + "搜索请求头参数": "User-Agent$MOBILE_UA", + "搜索链接": "http://www.yinghuadm.cn/search_{wd}----------{SearchPg}---.html", + "POST请求数据": "", + "搜索截取模式": "1", + "搜索列表数组规则": "body&&.module-item", + "搜索片单是否Jsoup写法": "1", + "搜索片单图片": ".lazyload&&data-original", + "搜索片单标题": ".module-card-item-title&&Text", + "搜索片单链接": "a&&href", + "搜索片单副标题": ".module-item-note&&Text", + "搜索片单链接加前缀": "http://www.yinghuadm.cn", + "搜索片单链接加后缀": "", + "链接是否直接播放": "0", + "直接播放链接加前缀": "", + "直接播放链接加后缀": "#isVideo=true#", + "直接播放直链视频请求头": "", + "详情是否Jsoup写法": "0", + "类型详情": "", + "年代详情": "", + "地区详情": "", + "演员详情": "主演:&&", + "简介详情": "introduction\">&&

", + "线路列表数组规则": "#y-playList&&.module-tab-item", + "线路标题": "Text", + "播放列表数组规则": "body&&.module-play-list-content", + "选集列表数组规则": "a", + "选集标题链接是否Jsoup写法": "1", + "选集标题": "a&&Text", + "选集链接": "a&&href", + "是否反转选集序列": "0", + "选集链接加前缀": "http://www.yinghuadm.cn", + "选集链接加后缀": "", + "分析MacPlayer": "0", + "是否开启手动嗅探": "0", + "手动嗅探视频链接关键词": ".mp4#.m3u8#.flv#video/tos", + "手动嗅探视频链接过滤词": ".html#=http" +} diff --git a/tvboxqq/tvboxqq/南风/lib/goProxy_arm64 b/tvboxqq/tvboxqq/南风/lib/goProxy_arm64 new file mode 100644 index 0000000..7844451 Binary files /dev/null and b/tvboxqq/tvboxqq/南风/lib/goProxy_arm64 differ diff --git a/tvboxqq/tvboxqq/南风/lib/goProxy_arm64.md5 b/tvboxqq/tvboxqq/南风/lib/goProxy_arm64.md5 new file mode 100644 index 0000000..1604e37 --- /dev/null +++ b/tvboxqq/tvboxqq/南风/lib/goProxy_arm64.md5 @@ -0,0 +1 @@ +02c4deda10209e12fb40438606decf7f diff --git a/tvboxqq/tvboxqq/南风/lib/goProxy_armV7 b/tvboxqq/tvboxqq/南风/lib/goProxy_armV7 new file mode 100644 index 0000000..48b2481 Binary files /dev/null and b/tvboxqq/tvboxqq/南风/lib/goProxy_armV7 differ diff --git a/tvboxqq/tvboxqq/南风/lib/goProxy_armV7.md5 b/tvboxqq/tvboxqq/南风/lib/goProxy_armV7.md5 new file mode 100644 index 0000000..9dbe847 --- /dev/null +++ b/tvboxqq/tvboxqq/南风/lib/goProxy_armV7.md5 @@ -0,0 +1 @@ +c140caee14fe4f40e3c8348ee8e7359a diff --git a/tvboxqq/tvboxqq/南风/lib/goProxy_linux b/tvboxqq/tvboxqq/南风/lib/goProxy_linux new file mode 100644 index 0000000..042358f Binary files /dev/null and b/tvboxqq/tvboxqq/南风/lib/goProxy_linux differ diff --git a/tvboxqq/tvboxqq/南风/lib/goProxy_linux.md5 b/tvboxqq/tvboxqq/南风/lib/goProxy_linux.md5 new file mode 100644 index 0000000..843eea0 --- /dev/null +++ b/tvboxqq/tvboxqq/南风/lib/goProxy_linux.md5 @@ -0,0 +1 @@ +76f959396006d65d60499b964de2d2df diff --git a/tvboxqq/tvboxqq/南风/lib/tgsou-go-linux-amd64 b/tvboxqq/tvboxqq/南风/lib/tgsou-go-linux-amd64 new file mode 100644 index 0000000..f205838 Binary files /dev/null and b/tvboxqq/tvboxqq/南风/lib/tgsou-go-linux-amd64 differ diff --git a/tvboxqq/tvboxqq/南风/lib/tgsou-go-linux-amd64.md5 b/tvboxqq/tvboxqq/南风/lib/tgsou-go-linux-amd64.md5 new file mode 100644 index 0000000..90dcc48 --- /dev/null +++ b/tvboxqq/tvboxqq/南风/lib/tgsou-go-linux-amd64.md5 @@ -0,0 +1 @@ +d86cbc9516b3eb4ce56109c34ddf9cef \ No newline at end of file diff --git a/tvboxqq/tvboxqq/南风/lib/tgsou-go-linux-arm b/tvboxqq/tvboxqq/南风/lib/tgsou-go-linux-arm new file mode 100644 index 0000000..b9f7f6f Binary files /dev/null and b/tvboxqq/tvboxqq/南风/lib/tgsou-go-linux-arm differ diff --git a/tvboxqq/tvboxqq/南风/lib/tgsou-go-linux-arm.md5 b/tvboxqq/tvboxqq/南风/lib/tgsou-go-linux-arm.md5 new file mode 100644 index 0000000..6618afd --- /dev/null +++ b/tvboxqq/tvboxqq/南风/lib/tgsou-go-linux-arm.md5 @@ -0,0 +1 @@ +e506240b141dfcfa89db3a8c8e0f377f \ No newline at end of file diff --git a/tvboxqq/tvboxqq/南风/lib/tgsou-go-linux-arm64 b/tvboxqq/tvboxqq/南风/lib/tgsou-go-linux-arm64 new file mode 100644 index 0000000..704015a Binary files /dev/null and b/tvboxqq/tvboxqq/南风/lib/tgsou-go-linux-arm64 differ diff --git a/tvboxqq/tvboxqq/南风/lib/tgsou-go-linux-arm64.md5 b/tvboxqq/tvboxqq/南风/lib/tgsou-go-linux-arm64.md5 new file mode 100644 index 0000000..f8285dd --- /dev/null +++ b/tvboxqq/tvboxqq/南风/lib/tgsou-go-linux-arm64.md5 @@ -0,0 +1 @@ +0bda8135458cc963b341149b3fe05cc8 \ No newline at end of file diff --git a/tvboxqq/tvboxqq/南风/lives/Yoursmile.txt b/tvboxqq/tvboxqq/南风/lives/Yoursmile.txt new file mode 100644 index 0000000..98879bf --- /dev/null +++ b/tvboxqq/tvboxqq/南风/lives/Yoursmile.txt @@ -0,0 +1,1366 @@ +央视,#genre# +CCTV1,http://58.57.40.22:9901/tsfile/live/0001_1.m3u8 +CCTV1,http://play.kankanlive.com/live/1698234869325962.m3u8 +CCTV1,http://120.211.62.180:8000/hls/1/index.m3u8 +CCTV1,http://play.kankanlive.com/live/1661761962676984.m3u8 +CCTV1,http://112.123.206.32:808/hls/1/index.m3u8 +CCTV2,http://58.57.40.22:9901/tsfile/live/1001_1.m3u8 +CCTV2,https://play.kankanlive.com/live/1698234898628961.m3u8 +CCTV2,http://120.211.62.180:8000/hls/2/index.m3u8 +CCTV2,http://112.123.206.32:808/hls/2/index.m3u8 +CCTV2,http://183.11.239.36:808/hls/20/index.m3u8 +CCTV3,http://58.57.40.22:9901/tsfile/live/1002_1.m3u8 +CCTV3,http://gmxw.7766.org:808/hls/91/index.m3u8 +CCTV3,http://183.11.239.36:808/hls/91/index.m3u8 +CCTV3,http://112.46.85.60:8009/hls/3/index.m3u8 +CCTV3,https://piccpndali.v.myalicdn.com/audio/cctv3_2.m3u8 +CCTV4,http://58.57.40.22:9901/tsfile/live/1003_1.m3u8 +CCTV4,https://play.kankanlive.com/live/1698234936258960.m3u8 +CCTV4,http://120.211.62.180:8000/hls/4/index.m3u8 +CCTV4,http://183.11.239.36:808/hls/22/index.m3u8 +CCTV4,http://183.11.239.36:808/hls/77/index.m3u8 +CCTV5,http://58.57.40.22:9901/tsfile/live/1004_1.m3u8 +CCTV5,http://gmxw.7766.org:808/hls/93/index.m3u8 +CCTV5,http://183.11.239.36:808/hls/93/index.m3u8 +CCTV5,http://112.46.85.60:8009/hls/503/index.m3u8 +CCTV5,https://piccpndali.v.myalicdn.com/audio/cctv5_2.m3u8 +CCTV5+,http://58.57.40.22:9901/tsfile/live/1005_1.m3u8 +CCTV5+,http://120.211.62.180:8000/hls/18/index.m3u8 +CCTV5+,http://222.169.85.8:9901/tsfile/live/0116_1.m3u8 +CCTV5+,http://cssbyd.imwork.net:8082/hls/6/index.m3u8 +CCTV6,http://58.57.40.22:9901/tsfile/live/1006_1.m3u8 +CCTV6,http://183.11.239.36:808/hls/94/index.m3u8 +CCTV6,https://piccpndali.v.myalicdn.com/audio/cctv6_2.m3u8 +CCTV6,http://182.150.23.74:808/hls/6/index.m3u8 +CCTV6,http://61.156.228.12:8154/tsfile/live/0006_1.m3u8 +CCTV7,http://58.57.40.22:9901/tsfile/live/1007_1.m3u8 +CCTV7,http://120.211.62.180:8000/hls/7/index.m3u8 +CCTV7,http://8.138.7.223/tv/cctv7.m3u8 +CCTV7,http://183.11.239.36:808/hls/25/index.m3u8 +CCTV8,http://58.57.40.22:9901/tsfile/live/1008_1.m3u8 +CCTV8,http://gmxw.7766.org:808/hls/96/index.m3u8 +CCTV8,http://183.11.239.36:808/hls/96/index.m3u8 +CCTV8,http://112.46.85.60:8009/hls/8/index.m3u8 +CCTV9,http://58.57.40.22:9901/tsfile/live/1009_1.m3u8 +CCTV9,https://play.kankanlive.com/live/1698423397390920.m3u8 +CCTV9,http://120.211.62.180:8000/hls/9/index.m3u8 +CCTV9,http://183.11.239.36:808/hls/27/index.m3u8 +CCTV9,http://112.46.85.60:8009/hls/509/index.m3u8 +CCTV10,http://58.57.40.22:9901/tsfile/live/1010_1.m3u8 +CCTV10,https://play.kankanlive.com/live/1698423445959919.m3u8 +CCTV10,http://120.211.62.180:8000/hls/10/index.m3u8 +CCTV10,http://183.11.239.36:808/hls/28/index.m3u8 +CCTV10,https://piccpndali.v.myalicdn.com/audio/cctv10_2.m3u8 +CCTV11,http://58.57.40.22:9901/tsfile/live/1011_1.m3u8 +CCTV11,https://play.kankanlive.com/live/1698423476198918.m3u8 +CCTV11,http://120.211.62.180:8000/hls/11/index.m3u8 +CCTV11,http://183.11.239.36:808/hls/29/index.m3u8 +CCTV11,https://piccpndali.v.myalicdn.com/audio/cctv11_2.m3u8 +CCTV12,http://58.57.40.22:9901/tsfile/live/1012_1.m3u8 +CCTV12,https://play.kankanlive.com/live/1698423511884917.m3u8 +CCTV12,http://120.211.62.180:8000/hls/12/index.m3u8 +CCTV12,http://183.11.239.36:808/hls/30/index.m3u8 +CCTV12,http://112.46.85.60:8009/hls/507/index.m3u8 +CCTV13,http://58.57.40.22:9901/tsfile/live/1013_1.m3u8 +CCTV13,https://play.kankanlive.com/live/1698423543275916.m3u8 +CCTV13,http://120.211.62.180:8000/hls/13/index.m3u8 +CCTV13,https://event.pull.hebtv.com/jishi/cp1.m3u8 +CCTV13,http://ali-m-l.cztv.com/channels/lantian/channel21/1080p.m3u8 +CCTV14,http://58.57.40.22:9901/tsfile/live/1014_1.m3u8 +CCTV14,https://play.kankanlive.com/live/1698423575756915.m3u8 +CCTV14,http://120.211.62.180:8000/hls/14/index.m3u8 +CCTV14,https://event.pull.hebtv.com/jishi/cp2.m3u8 +CCTV14,https://piccpndali.v.myalicdn.com/audio/cctv14_2.m3u8 +CCTV15,http://58.57.40.22:9901/tsfile/live/1015_1.m3u8 +CCTV15,https://play.kankanlive.com/live/1698423607826914.m3u8 +CCTV15,http://120.211.62.180:8000/hls/15/index.m3u8 +CCTV15,http://gmxw.7766.org:808/hls/102/index.m3u8 +CCTV15,http://222.134.245.16:9901/tsfile/live/0015_1.m3u8 +CCTV16,http://gmxw.7766.org:808/hls/169/index.m3u8 +CCTV16,http://183.11.239.36:808/hls/169/index.m3u8 +CCTV16,https://piccpndali.v.myalicdn.com/audio/cctv16_2.m3u8 +CCTV17,http://58.57.40.22:9901/tsfile/live/0019_1.m3u8 +CCTV17,https://play.kankanlive.com/live/1698423272597921.m3u8 +CCTV17,http://120.211.62.180:8000/hls/17/index.m3u8 +CCTV17,http://hmfs.f3322.net:3388/hls/37/index.m3u8 +CCTV17,http://120.238.94.10:9901/tsfile/live/1048_1.m3u8 +CCTV世界地理,http://hmfs.f3322.net:3388/hls/28/index.m3u8 +CCTV第一剧场,http://hmfs.f3322.net:3388/hls/21/index.m3u8 +CCTV风云足球,http://hmfs.f3322.net:3388/hls/9/index.m3u8 +CGTN,http://english-livetx.cgtn.com/hls/yypdyyctzb_hd.m3u8 +CGTN,https://play.kankanlive.com/live/1698423645566913.m3u8 +CGTN俄语,http://russian-livews.cgtn.com/hls/LSvexABhNipibK5KRuUkvHZ7220802LSTeze9o8tdFXMHsb1VosgoT220802cd.m3u8 +CGTN法语,http://espanol-liveali.cgtn.com/hls/LSveOGBaBw41Ea7ukkVAUdKQ220802LSTexu6xAuFH8VZNBLE1ZNEa220802cd.m3u8 +CGTN纪录,https://english-livetx.cgtn.com/hls/yypdjlctzb_hd.m3u8 +熊猫直播,https://gcwbndali.v.myalicdn.com/gcwbnd/ipanda1000_2/index.m3u8 +直播中国,https://gcalic.v.myalicdn.com/gc/wgw05_1/index.m3u8?contentid=2820180516001 +CCTV7,http://8.138.7.223/tv/cctv7.m3u8 +CCTV13,https://event.pull.hebtv.com/jishi/cp1.m3u8 +CCTV13,http://ali-m-l.cztv.com/channels/lantian/channel21/1080p.m3u8 +CCTV14,https://event.pull.hebtv.com/jishi/cp2.m3u8 +CCTV15,http://113.57.93.165:9900/tsfile/live/0015_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路30』 +CCTV11,http://61.136.172.236:9901/tsfile/live/0011_1.m3u8 +CCTV13,http://61.136.172.236:9901/tsfile/live/0013_1.m3u8 +CCTV15,http://61.136.172.236:9901/tsfile/live/0015_1.m3u8 +CCTV,https://p2.bdstatic.com/rtmp.liveshow.lss-user.baidubce.com/live/stream_bduid_6488563992_8982723413/merged_1707497046297_88536_25144_41936.m3u8 +CCTV1,http://113.57.93.165:9900/tsfile/live/0001_1.m3u8?key=txiptv&playlive=1&authid=0 +CCTV1,http://113.57.93.165:9900/tsfile/live/0001_1.m3u8 +CCTV2,http://120.238.94.10:9901/tsfile/live/1019_1.m3u8 +CCTV3,http://113.57.93.165:9900/tsfile/live/0003_1.m3u8 +CCTV4,http://113.57.93.165:9900/tsfile/live/0004_1.m3u8?key=txiptv&playlive=1&authid=0 +CCTV4,http://113.57.93.165:9900/tsfile/live/0004_1.m3u8 +CCTV5,http://113.57.93.165:9900/tsfile/live/0005_1.m3u8 +CCTV5+,http://120.238.94.10:9901/tsfile/live/1023_1.m3u8 +CCTV7,http://120.238.94.10:9901/tsfile/live/1025_1.m3u8 +CCTV8,http://120.238.94.10:9901/tsfile/live/1026_1.m3u8 +CCTV9,http://120.238.94.10:9901/tsfile/live/1027_1.m3u8 +CCTV10,http://120.238.94.10:9901/tsfile/live/1028_1.m3u8 +CCTV11,http://120.238.94.10:9901/tsfile/live/1029_1.m3u8 +CCTV13,https://event.pull.hebtv.com/jishi/cp1.m3u8 +CCTV15,http://113.57.93.165:9900/tsfile/live/0015_1.m3u8 +CCTV16,https://piccpndali.v.myalicdn.com/audio/cctv16_2.m3u8 +CCTV16,http://183.11.239.36:808/hls/169/index.m3u8 +CCTV17,http://120.238.94.10:9901/tsfile/live/1048_1.m3u8 + + +卫视,#genre# +安徽卫视,http://58.57.40.22:9901/tsfile/live/1033_1.m3u8 +安徽卫视,http://120.211.62.180:8000/hls/33/index.m3u8 +安徽卫视,http://183.11.239.36:808/hls/40/index.m3u8 +安徽卫视,http://182.150.23.74:808/hls/25/index.m3u8 +安徽卫视,http://61.136.172.236:9901/tsfile/live/0130_1.m3u8 +北京卫视,http://58.57.40.22:9901/tsfile/live/1032_1.m3u8 +北京卫视,http://satellitepull.cnr.cn/live/wxbtv/playlist.m3u8 +北京卫视,http://120.211.62.180:8000/hls/35/index.m3u8 +北京卫视,http://183.11.239.36:808/hls/41/index.m3u8 +兵团卫视,http://183.11.239.36:808/hls/7/index.m3u8 +兵团卫视,http://218.13.170.98:9901/tsfile/live/0115_1.m3u8 +东方卫视,http://58.57.40.22:9901/tsfile/live/1030_1.m3u8 +东方卫视,http://bp-resource-dfl.bestv.cn/155/3/video.m3u8 +东方卫视,http://hmfs.f3322.net:3388/hls/24/index.m3u8 +东方卫视,http://36.32.174.67:60080/newlive/live/hls/24/live.m3u8 +东方卫视,http://183.11.239.36:808/hls/114/index.m3u8 +东南卫视,http://58.57.40.22:9901/tsfile/live/1037_1.m3u8 +东南卫视,http://hmfs.f3322.net:3388/hls/26/index.m3u8 +东南卫视,http://live.zohi.tv/video/s10001-fztv-3/index.m3u8 +东南卫视,http://36.32.174.67:60080/newlive/live/hls/33/live.m3u8 +东南卫视,http://61.136.172.236:9901/tsfile/live/0137_1.m3u8 +甘肃卫视,http://58.57.40.22:9901/tsfile/live/1056_1.m3u8 +甘肃卫视,http://120.238.94.10:9901/tsfile/live/1079_1.m3u8 +甘肃卫视,http://111.61.236.247:9081/hls/54/index.m3u8 +甘肃卫视,http://cssbyd.imwork.net:8082/hls/48/index.m3u8 +甘肃卫视,http://183.11.239.36:808/hls/119/index.m3u8 +广东卫视,http://58.57.40.22:9901/tsfile/live/1039_1.m3u8 +广东卫视,http://120.238.94.10:9901/tsfile/live/1008_1.m3u8 +广东卫视,http://183.11.239.36:808/hls/80/index.m3u8 +广东卫视,http://61.156.228.12:8154/tsfile/live/0125_1.m3u8 +广东卫视,http://222.169.85.8:9901/tsfile/live/0125_1.m3u8 +广西卫视,http://58.57.40.22:9901/tsfile/live/1049_1.m3u8 +广西卫视,http://hmfs.f3322.net:3388/hls/27/index.m3u8 +广西卫视,http://36.32.174.67:60080/newlive/live/hls/38/live.m3u8 +贵州卫视,http://58.57.40.22:9901/tsfile/live/1042_1.m3u8 +贵州卫视,http://cssbyd.imwork.net:8082/hls/39/index.m3u8 +贵州卫视,http://183.11.239.36:808/hls/49/index.m3u8 +贵州卫视,http://182.150.23.74:808/hls/26/index.m3u8 +贵州卫视,http://111.61.236.247:9081/hls/37/index.m3u8 +海南卫视,http://58.57.40.22:9901/tsfile/live/1000_1.m3u8 +海南卫视,http://36.32.174.67:60080/newlive/live/hls/46/live.m3u8 +海南卫视,http://183.11.239.36:808/hls/124/index.m3u8 +海南卫视,http://cssbyd.imwork.net:8082/hls/31/index.m3u8 +海峡卫视,http://8.138.7.223/tv/hxws.m3u8 +海峡卫视,http://38.64.72.148:80/hls/modn/list/4009/chunklist0.m3u8 +海峡卫视,http://38.64.72.148:80/hls/modn/list/4009/playlist.m3u8 +河北卫视,http://58.57.40.22:9901/tsfile/live/1044_1.m3u8 +河北卫视,http://120.211.62.180:8000/hls/19/index.m3u8 +河北卫视,http://36.32.174.67:60080/newlive/live/hls/36/live.m3u8 +河北卫视,http://111.61.236.247:9081/hls/17/index.m3u8 +河南卫视,http://58.57.40.22:9901/tsfile/live/1048_1.m3u8 +河南卫视,http://120.211.62.180:8000/hls/40/index.m3u8 +河南卫视,http://tvpull.dxhmt.cn:9081/tv/11425-1.m3u8 +河南卫视,http://120.238.94.10:9901/tsfile/live/1068_1.m3u8 +河南卫视,http://cssbyd.imwork.net:8082/hls/37/index.m3u8 +湖北卫视,http://58.57.40.22:9901/tsfile/live/1038_1.m3u8 +湖北卫视,http://120.238.94.10:9901/tsfile/live/1055_1.m3u8 +湖北卫视,http://183.11.239.36:808/hls/46/index.m3u8 +湖北卫视,http://182.150.23.74:808/hls/28/index.m3u8 +湖北卫视,http://61.156.228.12:8154/tsfile/live/0132_1.m3u8 +湖南卫视,http://58.57.40.22:9901/tsfile/live/1028_1.m3u8 +湖南卫视,http://satellitepull.cnr.cn/live/wx32hunws/playlist.m3u8 +湖南卫视,http://120.211.62.180:8000/hls/30/index.m3u8 +湖南卫视,http://antvlive.ab5c6921.cdnviet.com/antv/playlist.m3u8 +湖南卫视,http://183.11.239.36:808/hls/36/index.m3u8 +吉林卫视,http://58.57.40.22:9901/tsfile/live/1050_1.m3u8 +吉林卫视,http://111.61.236.247:9081/hls/45/index.m3u8 +吉林卫视,http://cssbyd.imwork.net:8082/hls/41/index.m3u8 +吉林卫视,http://183.11.239.36:808/hls/10/index.m3u8 +吉林卫视,http://182.150.23.74:808/hls/35/index.m3u8 +江苏卫视,http://58.57.40.22:9901/tsfile/live/1031_1.m3u8 +江苏卫视,http://120.211.62.180:8000/hls/32/index.m3u8 +江苏卫视,http://183.11.239.36:808/hls/38/index.m3u8 +江苏卫视,http://112.46.85.60:8009/hls/33/index.m3u8 +江苏卫视,http://182.150.23.74:808/hls/18/index.m3u8 +江西卫视,http://58.57.40.22:9901/tsfile/live/1043_1.m3u8 +江西卫视,http://36.32.174.67:60080/newlive/live/hls/22/live.m3u8 +江西卫视,http://183.11.239.36:808/hls/44/index.m3u8 +江西卫视,http://36.32.174.67:60080/newlive/live/hls/31/live.m3u8 +江西卫视,http://182.150.23.74:808/hls/30/index.m3u8 +辽宁卫视,http://58.57.40.22:9901/tsfile/live/1035_1.m3u8 +辽宁卫视,http://120.211.62.180:8000/hls/37/index.m3u8 +辽宁卫视,http://183.11.239.36:808/hls/47/index.m3u8 +辽宁卫视,http://61.156.228.12:8154/tsfile/live/0121_1.m3u8 +辽宁卫视,http://61.136.172.236:9901/tsfile/live/0121_1.m3u8 +宁夏卫视,http://58.57.40.22:9901/tsfile/live/1054_1.m3u8 +宁夏卫视,http://120.238.94.10:9901/tsfile/live/1076_1.m3u8 +宁夏卫视,http://36.32.174.67:60080/newlive/live/hls/49/live.m3u8 +宁夏卫视,http://111.61.236.247:9081/hls/51/index.m3u8 +宁夏卫视,http://cssbyd.imwork.net:8082/hls/45/index.m3u8 +青海卫视,http://58.57.40.22:9901/tsfile/live/1057_1.m3u8 +青海卫视,http://120.238.94.10:9901/tsfile/live/1073_1.m3u8 +青海卫视,http://111.61.236.247:9081/hls/49/index.m3u8 +厦门卫视,http://183.11.239.36:808/hls/17/index.m3u8 +山东卫视,http://120.211.62.180:8000/hls/38/index.m3u8 +山东卫视,http://183.11.239.36:808/hls/43/index.m3u8 +山东卫视,http://182.150.23.74:808/hls/23/index.m3u8 +山东卫视,http://61.136.172.236:9901/tsfile/live/0131_1.m3u8 +山西卫视,http://m3u8.channel.wsrtv.com.cn/cms/videos/nmip-media/channellive/channel7/playlist.m3u8 +山西卫视,http://60.16.0.216:5757/hls/39/index.m3u8 +上海卫视,http://genglei.8866.org:9901/tsfile/live/1011_1.m3u8?key=txiptv&playlive=1&authid=0 +深圳卫视,http://58.57.40.22:9901/tsfile/live/1036_1.m3u8 +深圳卫视,http://hmfs.f3322.net:3388/hls/25/index.m3u8 +深圳卫视,http://38.64.72.148:80/hls/modn/list/4007/playlist.m3u8 +深圳卫视,http://183.11.239.36:808/hls/45/index.m3u8 +深圳卫视,http://222.169.85.8:9901/tsfile/live/0126_1.m3u8 +四川卫视,http://58.57.40.22:9901/tsfile/live/1046_1.m3u8 +四川卫视,http://120.238.94.10:9901/tsfile/live/1058_1.m3u8 +四川卫视,http://183.11.239.36:808/hls/50/index.m3u8 +四川卫视,http://222.169.85.8:9901/tsfile/live/0123_1.m3u8 +天津卫视,http://58.57.40.22:9901/tsfile/live/1034_1.m3u8 +天津卫视,http://120.211.62.180:8000/hls/36/index.m3u8 +天津卫视,http://183.11.239.36:808/hls/42/index.m3u8 +天津卫视,http://182.150.23.74:808/hls/27/index.m3u8 +西藏卫视,http://120.238.94.10:9901/tsfile/live/1077_1.m3u8 +西藏卫视,http://36.32.174.67:60080/newlive/live/hls/48/live.m3u8 +西藏卫视,http://cssbyd.imwork.net:8082/hls/46/index.m3u8 +西藏卫视,http://183.11.239.36:808/hls/64/index.m3u8 +西藏卫视,http://221.2.148.205:8154/tsfile/live/0111_1.m3u8?key=txiptv&playlive=1&authid=0 +新疆卫视,http://58.57.40.22:9901/tsfile/live/1055_1.m3u8 +新疆卫视,http://36.32.174.67:60080/newlive/live/hls/47/live.m3u8 +新疆卫视,http://183.11.239.36:808/hls/65/index.m3u8 +新疆卫视,http://222.169.85.8:9901/tsfile/live/0110_1.m3u8 +新疆卫视,http://61.156.228.12:8154/tsfile/live/0110_1.m3u8 +延边卫视,http://gmxw.7766.org:808/hls/15/index.m3u8 +云南卫视,http://58.57.40.22:9901/tsfile/live/1047_1.m3u8 +云南卫视,http://120.211.62.180:8000/hls/39/index.m3u8 +云南卫视,http://120.238.94.10:9901/tsfile/live/1069_1.m3u8 +云南卫视,http://36.32.174.67:60080/newlive/live/hls/45/live.m3u8 +云南卫视,http://111.61.236.247:9081/hls/32/index.m3u8 +浙江卫视,http://58.57.40.22:9901/tsfile/live/1029_1.m3u8 +浙江卫视,https://ali-m-l.cztv.com/channels/lantian/channel001/1080p.m3u8 +浙江卫视,http://l.cztvcloud.com/channels/lantian/SXpinghu3/720p.m3u8 +浙江卫视,http://ali-vl.cztv.com/channels/lantian/channel001/360p.m3u8 +浙江卫视,http://ali-m-l.cztv.com:80/channels/lantian/channel001/1080p.m3u8 +重庆卫视,http://36.32.174.67:60080/newlive/live/hls/34/live.m3u8 +重庆卫视,http://183.11.239.36:808/hls/53/index.m3u8 +重庆卫视,http://222.169.85.8:9901/tsfile/live/0142_1.m3u8 +重庆卫视,http://61.136.172.236:9901/tsfile/live/0142_1.m3u8 +东方卫视,http://58.57.40.22:9901/tsfile/live/1030_1.m3u8 +东方卫视,http://bp-resource-dfl.bestv.cn/155/3/video.m3u8 +东方卫视,http://hmfs.f3322.net:3388/hls/24/index.m3u8 +东方卫视,http://36.32.174.67:60080/newlive/live/hls/24/live.m3u8 +东方卫视,http://183.11.239.36:808/hls/114/index.m3u8 +上海卫视,http://genglei.8866.org:9901/tsfile/live/1011_1.m3u8?key=txiptv&playlive=1&authid=0 +黑龙江卫视,http://58.57.40.22:9901/tsfile/live/1040_1.m3u8 +黑龙江卫视,http://l.cztvcloud.com/channels/lantian/SXyuyao3/720p.m3u8 +黑龙江卫视,http://183.11.239.36:808/hls/48/index.m3u8 +黑龙江卫视,http://61.156.228.12:8154/tsfile/live/0143_1.m3u8 +黑龙江卫视,http://61.136.172.236:9901/tsfile/live/0143_1.m3u8 +内蒙古卫视,http://111.61.236.247:9081/hls/48/index.m3u8 +内蒙古卫视,http://222.134.245.16:9901/tsfile/live/0109_1.m3u8 +内蒙古卫视,http://183.11.239.36:808/hls/60/index.m3u8 +内蒙古卫视,http://cssbyd.imwork.net:8082/hls/44/index.m3u8 +内蒙古蒙语卫视,http://play1-qk.nmtv.cn/live/1686560387346365.m3u8 +山东教育,https://test1.live.sdetv.com.cn/live/dianshizhibo/playlist.m3u8 +苏州4K,https://tylive.kan0512.com/norecord/csztv4k_4k.m3u8 +香港卫视,http://cctvtxyh5c.liveplay.myqcloud.com/cstv/xianggangweishi_2/index.m3u8 +安多卫视,https://liveout.xntv.tv/a65jur/96iln2.m3u8 +大湾区卫视,http://222.128.55.152:9080/live/dwq.m3u8 +甘肃卫视,http://live.zohi.tv/video/s10001-fztv-3/index.m3u8 +内蒙古蒙语卫视,https://livestream-bt.nmtv.cn/nmtv/2315general.m3u8?txSecret=4971666599ef9411629213c9a300bf66&txTime=771EF880 +内蒙古卫视,https://ali-m-l.cztv.com/channels/lantian/channel007/1080p.m3u8 +内蒙古卫视,https://livestream-bt.nmtv.cn/nmtv/3208526general.m3u8?txSecret=eb5a3102dd5406c7ffeddf560b024952&txTime=76B2F9A0 +山西卫视,http://m3u8.channel.wsrtv.com.cn/cms/videos/nmip-media/channellive/channel7/playlist.m3u8 +深圳卫视,http://yncbn.ks-cdn.gitv.tv/gitv_live/G_SHENZHEN-HQ/G_SHENZHEN-HQ.m3u8 +延边卫视,http://l.cztvcloud.com/channels/lantian/SXxinchang2/720p.m3u8 +延边卫视,http://l.cztvcloud.com/channels/lantian/SXxinchang2/720p.m3u8$LR•IPV4『线路20』 +浙江卫视,https://ali-m-l.cztv.com/channels/lantian/channel001/1080p.m3u8? +浙江卫视,http://ali-m-l.cztv.com:80/channels/lantian/channel001/1080p.m3u8 +浙江卫视,https://ali-m-l.cztv.com/channels/lantian/channel001/1080p.m3u8 +浙江卫视,http://ali-m-l.cztv.com/channels/lantian/channel001/1080p.m3u8 +浙江卫视,http://ali-m-l.cztv.com/channels/lantian/channel01/1080p.m3u8 +湖南卫视,http://61.136.172.236:9901/tsfile/live/0128_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路77』 +安徽卫视,http://61.136.172.236:9901/tsfile/live/0130_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路75』 +广西卫视,http://61.136.172.236:9901/tsfile/live/0113_1.m3u8?key=txiptv&playlive=1&authid=0$LR•IPV4『线路54』 + + +IPV6,#genre# +CCTV-1综合,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226895/1.m3u8? +CCTV-2财经,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226893/1.m3u8? +CCTV-3综艺,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226471/1.m3u8? +CCTV-4中文国际,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226335/1.m3u8? +CCTV-5体育,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226469/1.m3u8? +CCTV-5+体育赛事,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226894/1.m3u8? +CCTV-6电影,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226468/1.m3u8? +CCTV-7国防军事,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226946/1.m3u8? +CCTV-8电视剧,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226485/1.m3u8? +CCTV-9纪录,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226944/1.m3u8? +CCTV-10科教,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226937/1.m3u8? +CCTV-11戏曲,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226334/1.m3u8? +CCTV-12社会与法,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226942/1.m3u8? +CCTV-13新闻,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226316/1.m3u8? +CCTV-14少儿,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226947/1.m3u8? +CCTV-15音乐,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226333/1.m3u8? +CCTV-16奥林匹克,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221227002/1.m3u8? +CCTV-17农业农村,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226318/1.m3u8? +CGTN英语,https://0472.org/hls/cgtn.m3u8 +CGTN记录,https://0472.org/hls/cgtnd.m3u8 +CGTN俄语,https://0472.org/hls/cgtne.m3u8 +CGTN法语,https://0472.org/hls/cgtnf.m3u8 +CGTN西语,https://0472.org/hls/cgtnx.m3u8 +CGTN阿语,https://0472.org/hls/cgtna.m3u8 +北京卫视,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 +东方卫视,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 +浙江卫视,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 +江苏卫视,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 +广东卫视,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 +湖南卫视,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 +深圳卫视,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 +四川卫视,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 +天津卫视,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 +辽宁卫视,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 +黑龙江卫视,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 +吉林卫视,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 +海南卫视,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 +广西卫视,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 +河北卫视,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 +山东卫视,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 +山西卫视,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 +湖北卫视,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 +江西卫视,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 +重庆卫视,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 +东南卫视,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 +陕西卫视,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 +青海卫视,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 +安徽卫视,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 +云南卫视,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 +贵州卫视,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 +宁夏卫视,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 +甘肃卫视,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 +内蒙古卫视,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 +新疆卫视,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 +西藏卫视,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 +延边卫视,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 +康巴卫视,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 +中国教育1台,http://[2409:8087:8:21::18]:6610/otttv.bj.chinamobile.com/PLTV/88888888/224/3221226494/1.m3u8? +中国教育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 +中国教育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 +中国教育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 +浙江新闻,https://ali-m-l.cztv.com/channels/lantian/channel007/1080p.m3u8 +浙江国际,https://ali-m-l.cztv.com/channels/lantian/channel010/1080p.m3u8 +浙江少儿,https://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8 +浙江教科,https://ali-m-l.cztv.com/channels/lantian/channel004/1080p.m3u8 +之江纪录,https://ali-m-l.cztv.com/channels/lantian/channel012/1080p.m3u8 +浙江民生,https://ali-m-l.cztv.com/channels/lantian/channel006/1080p.m3u8 +浙江经济,https://ali-m-l.cztv.com/channels/lantian/channel003/1080p.m3u8 +浙江钱江,https://ali-m-l.cztv.com/channels/lantian/channel002/1080p.m3u8 +内蒙新闻,https://livestream-bt.nmtv.cn/nmtv/2316general.m3u8?txSecret=b4373417a82ed64e52b0982a66da8df2&txTime=771E8800 +内蒙经济,https://livestream-bt.nmtv.cn/nmtv/2317general.m3u8?txSecret=112b2c4c872de52b0f37aff6ead63ef0&txTime=771E8800 +内蒙少儿,https://livestream-bt.nmtv.cn/nmtv/2318general.m3u8?txSecret=a2c948908728a0733cecbe1fadea23dc&txTime=771E8800 +内蒙文体,https://livestream-bt.nmtv.cn/nmtv/2319general.m3u8?txSecret=c7b5c515d2bb6df442492d54955329a3&txTime=771E8800 +内蒙农牧,https://livestream-bt.nmtv.cn/nmtv/2320general.m3u8?txSecret=4d368a175afa19737a9f5be10af24fe2&txTime=771E8800 +蒙语卫视,https://livestream-bt.nmtv.cn/nmtv/2315general.m3u8?txSecret=4971666599ef9411629213c9a300bf66&txTime=771EF880 +蒙语文化,https://livestream-bt.nmtv.cn/nmtv/2321general.m3u8?txSecret=d9d0fd7a252ef56b515c46a2e21830f4&txTime=771E8800 +呼市新闻综合,https://livestream-bt.nmtv.cn/nmtv/2331general.m3u8?txSecret=4d7342ca5cd74480526ab6d292247aff&txTime=771E8800 +包头新闻综合,https://livestream-bt.nmtv.cn/nmtv/2358general.m3u8?txSecret=98390a77c143a68f0fd64bfe6e181dcb&txTime=771E8800 +鄂尔多斯新闻,https://livestream-bt.nmtv.cn/nmtv/2349general.m3u8?txSecret=e44477052aba305cadeea45aaf1c674a&txTime=771E8800 +巴彦淖尔新闻,https://livestream-bt.nmtv.cn/nmtv/2348general.m3u8?txSecret=6a4ddce077e41b976fe33619fbef2b30&txTime=771E8800 +赤峰新闻综合,https://livestream-bt.nmtv.cn/nmtv/2351general.m3u8?txSecret=8857087aeec2cec44d178a18550fdb8a&txTime=771E8800 +乌兰察布新闻,https://livestream-bt.nmtv.cn/nmtv/2354general.m3u8?txSecret=cf5f71d0000862b18f5813607b3dfd5b&txTime=771E8800 + + +少儿频道,#genre# +卡酷少儿,http://58.57.40.22:9901/tsfile/live/1060_1.m3u8 +卡酷少儿,http://218.13.170.98:9901/tsfile/live/1021_1.m3u8 +金鹰卡通,http://58.57.40.22:9901/tsfile/live/1059_1.m3u8 +金鹰卡通,http://113.57.93.165:9900/tsfile/live/1000_1.m3u8?key=txiptv&playlive=1&authid=0 +广东少儿,http://gmxw.7766.org:808/hls/175/index.m3u8 +浙江少儿,https://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8 +浙江少儿,http://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8 +浙江少儿,http://ali-vl.cztv.com/channels/lantian/channel008/360p.m3u8 +浙江少儿,https://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8? +哈哈炫动,http://120.238.94.10:9901/tsfile/live/1037_1.m3u8 +中华小当家,https://live.metshop.top/huya/11342413 +猫和老鼠,https://live.iill.top/huya/11352879 +福州少儿,http://live.zohi.tv/video/s10001-fztv-4/index.m3u8 +韩国EBS少儿,http://ebsonairios.ebs.co.kr/ebsutablet500k/tablet500k/playlist.m3u8 +黑龙江少儿,https://ls.qingting.fm/live/4972/64k.m3u8 +熊大熊二,https://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/1733da751de64e6e910abda889d87a26/1200.m3u8 +福州少儿,http://live.zohi.tv/video/s10001-fztv-4/index.m3u8 +GOOD卡通,https://dqhxk7sbp7xog.cloudfront.net/osmflivech45.m3u8 +倒霉特熊,https://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/87f87ba569c147e3805f80e4844d2de9/1200.m3u8 +雲朵妈妈,https://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/d8ad434c6b08421a927557a4d98da65c/1200.m3u8 +反转星球,https://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/3ccdecc7d6e341c1920ad4eac5d82f38/1200.m3u8 +狮子王國,https://newcntv.qcloudcdn.com/asp/hls/850/0303000a/3/default/c2e7e767f3144bed959ef20b8b961fe5/850.m3u8 + + +影视,#genre# +神乐剧场,https://tc-tc2-interact.douyucdn2.cn/dyliveflv1/85894rmovieChow_900p.m3u8 +神乐剧院,https://tc-tc2-interact.douyucdn2.cn/dyliveflv1a/122402rK7MO9bXSq_900.m3u8 +绍兴影院,http://live.shaoxing.com.cn/video/s10001-sxtv3/index.m3u8 +南宁影院,http://hls.nntv.cn/nnlive/NNTV_VOD_A.m3u8 +乌克兰影,http://serv25.vintera.tv:8081/test/aris/playlist.m3u8 +绍兴影视,http://live.shaoxing.com.cn/video/s10001-sxtv3/index.m3u8 +烟台影视,http://live.yantaitv.cn/live/e9f1d9045d474c31884d13fa4ffbbd16/a4a9b3704d854756907845107cc56129.m3u8 +北京影视,https://wstvcpudali.v.myalicdn.com/wstvcpud/udrmbtv4_1/index.m3u8?adapt=0&BR=audio +新昌休闲影视,http://l.cztvcloud.com/channels/lantian/SXxinchang2/720p.m3u8 +烟台影视,http://live.yantaitv.cn/live/e9f1d9045d474c31884d13fa4ffbbd16/a4a9b3704d854756907845107cc56129-1.m3u8 +美丽中国说,http://newcntv.qcloudcdn.com/asp/hls/4000/0303000a/3/default/8cdd688b04e4495ba1635e218419d6f9/4000.m3u8 +CHC动作电影,http://113.195.172.192:808/hls/114/index.m3u8 +CHC家庭影院,http://113.195.172.192:808/hls/113/index.m3u8 +CHC家庭影院,http://61.162.52.6:8088/newlive/live/hls/60/live.m3u8 +科幻电影,https://yylunbo.ottiptv.cc/yy/1354930209 +科幻电影,https://yylunbo.ottiptv.cc/yy/1355065896 +凤凰电影,http://iot-mqqt.111yao.cn:8080/live/diyp_fhdy.m3u8 +无线星河,https://cdn6.101.qzz.io/163189/tvbxh +靖天戏剧,http://breezy-audrie-zspace-7524863c.koyeb.app/vipsir?token=leifeng&id=4gtv-4gtv058 +靖天映画,http://breezy-audrie-zspace-7524863c.koyeb.app/vipsir?token=leifeng&id=4gtv-4gtv055 +AMC电影,http://61.221.215.25:8800/hls/43/index.m3u8 +1930年代经典电影,https://yylunbo.ottiptv.cc/yy/1356363815 +CHC电影,http://183.237.95.108:9901/tsfile/live/1008_1.m3u8?key=txiptv&playlive=0&authid=0 +CHC电影,http://120.198.101.106:9901/tsfile/live/1053_1.m3u8?key=txiptv +东阳影视生活,http://l.cztvcloud.com/channels/lantian/SXdongyang1/720p.m3u8 +人在囧途,https://vip.ffzy-play.com/20221018/1953_2d6ba500/index.m3u8 +人在囧途之泰囧,https://vip.ffzy-play.com/20221018/1951_47e1adc8/index.m3u8 +人在囧途之港囧,https://vip.ffzy-play7.com/20230112/11082_fde1a94d/index.m3u8 +倩女幽魂人间道,http://jsmov2.a.yximgs.com/bs3/video-hls/5250634317044855747_hlsb.m3u8 +倩女幽魂妖魔道,http://jsmov2.a.yximgs.com/bs3/video-hls/5232901391302199073_hlsb.m3u8 +倩女幽魂道道道,http://jsmov2.a.yximgs.com/bs3/video-hls/5216294367991385255_hlsb.m3u8 +史诗级科幻电影阿凡达,https://yylunbo.ottiptv.cc/yy/1382735577 +周星驰搞笑电影,https://yylunbo.ottiptv.cc/yy/38670875 +哈尔滨影视,https://stream.hrbtv.net/yspd/playlist.m3u8 +哈尔滨影视,https://stream.hrbtv.net/yspd/sd/live.m3u8 +哈尔滨影视,http://stream.hrbtv.net/yspd/sd/live.m3u8 +哈尔滨影视,http://111.43.126.240:9003/hls/5/index.m3u8 +哈尔滨影视,http://stream.hrbtv.net/yspd/sd/live.m3u8?zheild#http://stream.hrbtv.net/yspd/sd/live.m3u8 +喜剧神妖魔鬼怪电影,https://yylunbo.ottiptv.cc/yy/1355171231 +国产动作电影,https://yylunbo.ottiptv.cc/yy/1382736858 +国产大片电影,https://yylunbo.ottiptv.cc/yy/1354926655 +国产电影就是闹着玩的,https://yylunbo.ottiptv.cc/yy/1354931503 +国内玄幻电影林正英,https://yylunbo.ottiptv.cc/yy/1354932444 +国内经典动作电影,https://yylunbo.ottiptv.cc/yy/1382851522 +夏洛特烦恼国内电影喜剧,https://yylunbo.ottiptv.cc/yy/1354936201 +大江大河2高分影视推荐,https://yylunbo.ottiptv.cc/yy/1382736797 +大江大河高分影视推荐,https://yylunbo.ottiptv.cc/yy/1382736806 +大进军全集红色系列电影,https://yylunbo.ottiptv.cc/yy/1382745083 +奇幻冒险电影凯斯宾王子的魔法征途,https://yylunbo.ottiptv.cc/yy/1354926671 +寒战,https://vip.ffzy-play6.com/20221019/157_bf0740ee/index.m3u8 +岳云鹏宋小宝也来演电影了,https://yylunbo.ottiptv.cc/yy/1354926612 +影视小艺,https://yylunbo.ottiptv.cc/yy/1382737886 +悬疑武侠电影九门,https://yylunbo.ottiptv.cc/yy/1382828768 +我不是药神,https://vip.ffzy-play1.com/20221018/478_c3afed66/index.m3u8 +拆弹专家1,https://vip.ffzy-online.com/20221015/719_80ff87c2/index.m3u8 +拆弹专家2,https://vip.ffzy-online.com/20221015/722_e32c42bc/index.m3u8 +播放影视为主,https://yylunbo.ottiptv.cc/yy/1353454489 +末日系列外国电影合集,https://yylunbo.ottiptv.cc/yy/1354889019 +林正英经典玄幻电影,https://yylunbo.ottiptv.cc/yy/1462895099 +林正英经典电影,https://yylunbo.ottiptv.cc/yy/34229877 +梅艳芳主演喜剧电影,https://yylunbo.ottiptv.cc/yy/1382735627 +欧美配音电影,https://yylunbo.ottiptv.cc/yy/1354693629 +浙江教科影视,https://ali-m-l.cztv.com/channels/lantian/channel004/1080p.m3u8 +浙江教科影视,http://ali-m-l.cztv.com/channels/lantian/channel04/1080p.m3u8 +热血动作电影,https://yylunbo.ottiptv.cc/yy/1382736804 +热血抗日电影,https://yylunbo.ottiptv.cc/yy/1382749907 +爆笑电影王牌大贱谍23,https://yylunbo.ottiptv.cc/yy/1382735556 +珍珠港电影,https://yylunbo.ottiptv.cc/yy/1354936234 +电影,https://yylunbo.ottiptv.cc/yy/37454459 +电影八点档,http://live.metshop.top/huya/880261?cdn=alicdn +电影功夫片,http://live.metshop.top/huya/11352941?cdn=alicdn +电影动作电影,http://live.metshop.top/huya/11602077?cdn=alicdn +电影嫣然影厅,http://live.metshop.top/huya/11601977?cdn=alicdn +电影战争片,http://live.metshop.top/huya/21059574?cdn=alicdn +电影梁家辉,http://live.metshop.top/huya/11342429?cdn=alicdn +电影百团大战,https://yylunbo.ottiptv.cc/yy/1382736871 +电影蜘蛛侠,http://live.metshop.top/huya/21059599?cdn=alicdn +电影谍战,http://live.metshop.top/huya/21059585?cdn=alicdn +电影高分动作,http://live.metshop.top/huya/11352884?cdn=alicdn +电影黑豹,https://yylunbo.ottiptv.cc/yy/1382736816 +精彩动作电影,https://yylunbo.ottiptv.cc/yy/1382736823 +精彩动作电影享不停,https://yylunbo.ottiptv.cc/yy/1382736809 +经典港片电影,https://yylunbo.ottiptv.cc/yy/1461889059 +经典电影重温,https://yylunbo.ottiptv.cc/yy/1382793140 +老卓电影,https://yylunbo.ottiptv.cc/yy/1354770516 +让子弹飞,https://vip.ffzy-play7.com/20230116/11563_b9f44814/index.m3u8 +超精彩系列动作电影,https://yylunbo.ottiptv.cc/yy/1382745096 +远去的飞鹰影视剧,https://yylunbo.ottiptv.cc/yy/1354930912 +野山鹰影视剧,https://yylunbo.ottiptv.cc/yy/1354932395 +韩国电影2,https://stream.ads.ottera.tv/playlist.m3u8?network_id=743 +龙门飞甲,http://jsmov2.a.yximgs.com/bs3/video-hls/5203346449046555193_hlsb.m3u8 + + +大杂烩,#genre# +碌曲综合,http://pili-live-hls.hfmt.net/gntv/lqtv.m3u8?zgand +临潭综合,http://pili-live-hls.hfmt.net/gntv/lttv.m3u8?zgand +夏河综合,http://pili-live-hls.hfmt.net/gntv/xhtv.m3u8?zgand +舟曲新闻,http://pili-live-hls.hfmt.net/gntv/zqtv.m3u8?zgand +西峰综合,http://pili-live-rtmp.luan2.hfmt.net/luan2/xifeng/123456.m3u8?zgand +文山州新闻综合,http://tvdrs.wsrtv.com.cn:8100/channellive/ch1.flv?zyund +文山州新闻综合,http://m3u8.channel.wsrtv.com.cn/cms/videos/nmip-media/channellive/channel7/playlist.m3u8?zyund +文山州公共,http://m3u8.channel.wsrtv.com.cn/cms/videos/nmip-media/channellive/channel8/playlist.m3u8?zyund +砚山电视台,http://m3u8.channel.wsrtv.com.cn/cms/videos/nmip-media/channellive/channel16/playlist.m3u8?zyund +麻栗坡电视台,http://m3u8.channel.wsrtv.com.cn/cms/videos/nmip-media/channellive/channel18/playlist.m3u8?zyund +哈尔滨新闻综合,http://stream.hrbtv.net/xwzh/sd/live.m3u8?zheild +哈尔滨影,http://stream.hrbtv.net/yspd/sd/live.m3u8?zheild +哈尔滨生活,http://stream.hrbtv.net/shpd/sd/live.m3u8?zheild +哈尔滨娱乐,http://stream.hrbtv.net/ylpd/sd/live.m3u8?zheild +鄂托克旗电视台,http://110.19.181.138:10080/hls/F509Rh7GR/F509Rh7GR_live.m3u8?zneimd +白山公共,http://stream8.jlntv.cn/baishan2/playlist.m3u8?zjild +长白山电视台,http://stream8.jlntv.cn/cbstv/sd/live.m3u8?zjild +九台综合,http://stream10.jlntv.cn/jiutaitv/sd/live.m3u8?zjild +靖宇综合,http://stream8.jlntv.cn/jytv/sd/live.m3u8?zjild +敦化一套,http://stream8.jlntv.cn/dhtv/playlist.m3u8?zjild +珲春新闻综合,http://stream8.jlntv.cn/hctv/sd/live.m3u8?zjild +龙井综合,http://stream8.jlntv.cn/ljtv/sd/live.m3u8?zjild +桦甸综合,http://stream10.jlntv.cn/huadian/sd/live.m3u8?zjild +磐石综合,http://stream5.jlntv.cn/ps/sd/live.m3u8?zjild +舒兰新闻综合,http://stream8.jlntv.cn/shulan/sd/live.m3u8?zjild +东丰综合,http://stream5.jlntv.cn/df/sd/live.m3u8?zjild +双辽综合,http://stream5.jlntv.cn/sl/sd/live.m3u8?zjild +辉南新闻综合,http://stream5.jlntv.cn/hn/sd/live.m3u8?zjild +柳河综合,http://stream5.jlntv.cn/lh/sd/live.m3u8?zjild +通化县综合,http://stream5.jlntv.cn/thx/sd/live.m3u8?zjild +汪清综合,http://stream5.jlntv.cn/wq/sd/live.m3u8?zjild + + +浙江综合,#genre# +绍兴新闻综合,http://live.shaoxing.com.cn/video/s10001-sxhb/index.m3u8?zzhed +绍兴新闻综合,http://live.shaoxing.com.cn/video/s10001-sxtv1/index.m3u8?zzhed +绍兴文化影院,http://live.shaoxing.com.cn/video/s10001-sxtv3/index.m3u8?zzhed +武义新闻综合,http://l.cztvcloud.com/channels/lantian/SXwuyi1/720p.m3u8?zzhed +平湖新闻综合,http://l.cztvcloud.com/channels/lantian/SXpinghu1/720p.m3u8?zzhed +平湖民生休闲,http://l.cztvcloud.com/channels/lantian/SXpinghu2/720p.m3u8?zzhed +萧山新闻综合,http://l.cztvcloud.com/channels/lantian/SXxiaoshan1/720p.m3u8?zzhed +萧山生活频道,http://l.cztvcloud.com/channels/lantian/SXxiaoshan2/720p.m3u8?zzhed +余杭综合频道,http://l.cztvcloud.com/channels/lantian/SXyuhang1/720p.m3u8?zzhed +余杭未来E频道,http://l.cztvcloud.com/channels/lantian/SXyuhang3/720p.m3u8?zzhed +余姚新闻综合,http://l.cztvcloud.com/channels/lantian/SXyuyao1/720p.m3u8?zzhed +余姚姚江文化,http://l.cztvcloud.com/channels/lantian/SXyuyao3/720p.m3u8?zzhed +嵊州新闻综合,http://l.cztvcloud.com/channels/lantian/SXshengzhou1/720p.m3u8?zzhed +诸暨新闻综合,http://l.cztvcloud.com/channels/lantian/SXzhuji3/720p.m3u8?zzhed +上虞新闻综合,http://l.cztvcloud.com/channels/lantian/SXshangyu1/720p.m3u8?zzhed +上虞文化影院,http://l.cztvcloud.com/channels/lantian/SXshangyu2/720p.m3u8?zzhed +上虞新商都,http://l.cztvcloud.com/channels/lantian/SXshangyu3/720p.m3u8?zzhed +兰溪新闻综合,http://l.cztvcloud.com/channels/lantian/SXlanxi1/720p.m3u8?zzhed + + +江苏综合,#genre# +淮安公共频道,http://live1.habctv.com/ggpdsl/sd/live.m3u8?zjiangsd +淮安影院娱乐,http://live1.habctv.com/ysylsl/sd/live.m3u8?zjiangsd +张家港新闻综合,http://3gvod.zjgonline.com.cn:1935/live/xinwenzonghe2/playlist.m3u8?zjiangsd +张家港民生频道,http://3gvod.zjgonline.com.cn:1935/live/shehuishenghuo2/playlist.m3u8?zjiangsd +金湖新闻综合,http://jinhu-tv-hls.cm.jstv.com/jinhu-tv/jinhuzh.m3u8?zjiangsd +金坛新闻频道,http://jintan-tv-ori-hls.jstv.com/jintan-tv-ori/jintan_xw.m3u8?zjiangsd +沭阳综合频道,http://shuyang-tv-hls.cm.jstv.com/shuyang-tv/shuyangzh.m3u8?zjiangsd +泗阳综合频道,http://siyang-tv-hls.cm.jstv.com/siyang-tv/siyangzh.m3u8?zjiangsd +泗阳资讯频道,http://siyang-tv-hls.cm.jstv.com/siyang-tv/siyangzx.m3u8?zjiangsd + + +山东综合,#genre# +烟台新闻综合,http://live.yantaitv.cn/live/3e81a8879da44c5dadf3bd9c10468e1c/9b776d420ee4438199b7657c8eb88f07-1.m3u8?shandd +烟台公共,http://live.yantaitv.cn/live/e50f104a4ffe4a41b2217cbda534146f/d86092e69df94668b33390278b061700-1.m3u8?shandd +烟台经济科技,http://live.yantaitv.cn/live/27f84144e95a4652ae9e5c211b2a6b55/405f3e33ba384aa0a16014d0becd1261-1.m3u8?shandd +烟台影,http://live.yantaitv.cn/live/e9f1d9045d474c31884d13fa4ffbbd16/a4a9b3704d854756907845107cc56129-1.m3u8 +菏泽新闻综合,http://live.hznet.tv:1935/live/live1/500K/tzwj_video.m3u8?shandd +菏泽经济生活,http://live.hznet.tv:1935/live/live2/500K/tzwj_video.m3u8?shandd + + +纪录片频道,#genre# +人与自然,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/1425e1d505654cb48ba82b807b221193/1200.m3u8 +自然传奇,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/81a1ad3a661748bfb8560c92d38204ca/1200.m3u8 +探索发现,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/25137bd7c4494128bf0cba271974928f/1200.m3u8 +地理中国,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/c6baf6f74bb944aeacee1065ea72c798/1200.m3u8 +大太平洋,http://newcntv.qcloudcdn.com/asp/hls/4000/0303000a/3/default/2d7f4eeaed2e4ad080bcf324eb21bc0d/4000.m3u8 +生命脉动,http://newcntv.qcloudcdn.com/asp/hls/850/0303000a/3/default/c481b5826ffc4e99a92e01704c862dbc/850.m3u8 +飞碟之谜,http://newcntv.qcloudcdn.com/asp/hls/2000/0303000a/3/default/f0a47e155d32450daa1d36a04fd7d262/2000.m3u8 +飞碟之谜2,https://hls.cntv.lxdns.com/asp/hls/2000/0303000a/3/default/f0a47e155d32450daa1d36a04fd7d262/2000.m3u8 +远方的家,http://newcntv.qcloudcdn.com/asp/hls/4000/0303000a/3/default/162d7e29c3da4aab82ad47b6e2d9e7b4/4000.m3u8 +美丽中国说,http://newcntv.qcloudcdn.com/asp/hls/4000/0303000a/3/default/8cdd688b04e4495ba1635e218419d6f9/4000.m3u8 +美丽中国自然,http://newcntv.qcloudcdn.com/asp/hls/4000/0303000a/3/default/51d937a0201f4c78a5878b4b37089f3b/4000.m3u8 +航拍中国第一季,http://newcntv.qcloudcdn.com/asp/hls/4000/0303000a/3/default/8edf3fb6a69148ea9a7dc0b5a9d99fdb/4000.m3u8 +航拍中国第二季,http://newcntv.qcloudcdn.com/asp/hls/4000/0303000a/3/default/2bdfdad540b342f592f9817cb7f3b79a/4000.m3u8 +航拍中国第三季,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/18a8a559464448dbaf60d33913e09aea/1200.m3u8 +中国村庄,http://newcntv.qcloudcdn.com/asp/hls/4000/0303000a/3/default/93fc12dbf14241c18c23da104fbade23/4000.m3u8 +梵净山,http://newcntv.qcloudcdn.com/asp/hls/4000/0303000a/3/default/b9571df1181c4422a83901e827519fe6/4000.m3u8 +地球脉动第一季,http://newcntv.qcloudcdn.com/asp/hls/850/0303000a/3/default/7a3423af02284c3db48b854ab646993f/850.m3u8 +乘着火车看中国,http://newcntv.qcloudcdn.com/asp/hls/4000/0303000a/3/default/2b0f397ed9d948eb9fac38d73cde241b/4000.m3u8 +动物世界,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/71d7dce230b74c1b9e35b41e837ffc5f/1200.m3u8 +一片住着熊的森林1,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/2ac6789acc644b55a4df03445561c56b/1200.m3u8 +一片住着熊的森林2,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/969d426187eb46e19fc6839a435fbf0f/1200.m3u8 +一片住着熊的森林3,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/fd1e9f94afe948efafaa28a882661620/1200.m3u8 +与野生动物为邻,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/d25931bed86a49d4afb8780771797c19/1200.m3u8 +丛林之王美洲豹,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/bbb1037a32ad44cf8bab822eda34bc86/1200.m3u8 +丛林勇士之战(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/2550722b92464a749fa7aceb52e22895/1200.m3u8 +丛林勇士之战(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/c02959d3f2b14d3abf05ec017179c964/1200.m3u8 +从幼狮到狮王(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/0eb0c51f46ed4171a9923dd6a9703c45/1200.m3u8 +从幼狮到狮王(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/a7510a06ef494458a0f23a8a6b6918d3/1200.m3u8 +传奇母狮,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/c550dc54139b4e619e7d4a1c1ab69e56/1200.m3u8 +兄弟情深(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/0700de47ebc74232bc9f5c5c178aa488/1200.m3u8 +兄弟情深(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/30a35b521af54f1a88d74f7215ece1d3/1200.m3u8 +兄弟捕猎联盟,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/0b85d990df5c4f7fae663dc595a084bd/1200.m3u8 +充满爱的象家族1,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/4bd5e30e25244ef1a622142a1053d8c0/1200.m3u8 +充满爱的象家族2,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/0acf5b4f7fc248f1bd0801b768375fd6/1200.m3u8 +兽语如歌,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/9d7bcf3e27d941cfac2e6c933ad9b543/1200.m3u8 +冬季传说雪鸮,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/e76b2116c4514daea844fbdd1b56ab5d/1200.m3u8 +冬日雪鸮,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/1a7b439474b6439c91dc5d5b2cb736d4/1200.m3u8 +冰天雪地北极熊(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/15dd2029621a498d9c4d3eb2982285e7/1200.m3u8 +冰天雪地北极熊(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/360e77812fc84a8198e85a60f087b049/1200.m3u8 +冰雪世界狼女王(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/640f926df6fb4f398d40c8b254248750/1200.m3u8 +冰雪世界狼女王(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/d85457ff45154ff8bdf74e73422e99a4/1200.m3u8 +冰雪王国里的童话,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/3b291326cf2648cd8119f5facf9e3b92/1200.m3u8 +冷静与柔情,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/554c1b879dc646d4ab188dfd58a0f02f/1200.m3u8 +凯门鳄的奇妙旅程,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/aba970eff8be48beb339a2ad027592cf/1200.m3u8 +动物与计谋,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/403122f54ee5492fa9e5d2b8f0087ad2/1200.m3u8 +动物冠军俱乐部,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/65227347336749ffa373661cac985952/1200.m3u8 +动物冠军竞技场(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/cf107046774d4db5a1ac622e880488e2/1200.m3u8 +动物冠军竞技场(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/9f1dc957013c4765a96b86c1890e4ae2/1200.m3u8 +动物宝宝闯天涯(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/e1f91fe01a9b4b24834a0a6e4b309bb2/1200.m3u8 +动物宝宝闯天涯(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/d5937591787941518b5a1390f7a1e792/1200.m3u8 +动物搏击赛,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/22ef116331af49a782d42488e396837e/1200.m3u8 +动物搏击运动会,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/0f74c44316a34ea482ecae43f5c12fa8/1200.m3u8 +动物父母有梦想(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/f069e600b3584765840f34e9d641919a/1200.m3u8 +动物父母有梦想(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/1c1df6f1bff5454a9570693475f920ef/1200.m3u8 +动物界捕食奇观,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/5215de3e2a7b41009ed1ded1f29fea40/1200.m3u8 +动物的海底宫殿,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/0929798fce744530b14a6add96afcdf3/1200.m3u8 +动物霓裳羽衣之妙,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/b4aea8cd185c4126a37aa6e92d179f82/1200.m3u8 +勇挑重担的矮獴(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/8ef930c154a446d0a831d2dd93698fd2/1200.m3u8 +勇挑重担的矮獴(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/d9ffce5e83824939ab9bb66502778bd9/1200.m3u8 +勇敢的王者之心,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/d37b12d09c4144f0a59560f18ff6508a/1200.m3u8 +勇敢的长颈鹿(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/8a9d50517baa443b82b3e4c9e0078351/1200.m3u8 +勇敢的长颈鹿(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/773b3e9df72f4834b85c46e0f5b038fb/1200.m3u8 +勇闯包围圈,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/3af15ad56d1640fab9a1a065402b3b76/1200.m3u8 +勇闯螃蟹岛,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/3bba8da0b6c54771aa02b579ba75f8e7/1200.m3u8 +勇闯都市丛林,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/221e94ad951d4001b106d3c5af785537/1200.m3u8 +勤奋的捕食者,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/4793c8276c184d03bc3ba5e9b6dc9610/1200.m3u8 +北极熊之光(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/9df8189c94b24b8b8bb6c69e448cc936/1200.m3u8 +北极熊之光(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/ca1fabcc21d64b1f8cc933844830fcc5/1200.m3u8 +北极熊的冒险之旅(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/e1b4b7a8beb3459bbd44f505a3fcc99c/1200.m3u8 +北极熊的冒险之旅(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/9ab29267ff5b4b2b99fdb74d1b9fec55/1200.m3u8 +北极熊路在何方,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/38321222144945faa76d79c7785346a6/1200.m3u8 +南美野生世界1,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/35eac4ae4e024654b845f5c7b2221d15/1200.m3u8 +南美野生世界2,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/9c743ea1e41f4bf585fb1470c9575c0d/1200.m3u8 +南美野生世界3,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/68caf99e50bc496fb478b0ed8f4b421a/1200.m3u8 +原野逐梦记,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/01fcf61e12c242bd81dc5aca38b6f183/1200.m3u8 +变形记,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/c88fd67847314d1ab20524c9fd94d555/1200.m3u8 +古老的活化石恒河鳄(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/f8c9f1b5ac454c9a9ec5fda21c62b926/1200.m3u8 +古老的活化石恒河鳄(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/966f8103448c4dcdabee095eeb340451/1200.m3u8 +可爱的海獭(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/340266a6b3ff421fa174208845f56fef/1200.m3u8 +可爱的海獭(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/ef9b2898e92146d29a2e926ce1107eac/1200.m3u8 +呵护,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/3e2d88a89cd9464e89f3b4b6353db194/1200.m3u8 +团结的水豚家族,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/51e9c38303624369a0ba257163a5528f/1200.m3u8 +大力士捕鱼记,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/1bcefb1f860746ebbbfe7f969c3a84ea/1200.m3u8 +大地骄子,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/b08d6ad2f22047bd93af89955db5ce46/1200.m3u8 +大水獭回归的故事,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/0e114c18fa084fe58238307c66506675/1200.m3u8 +大水獭桑丘的故事(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/ffea8bb4f0a04e53a82dab943e32bfb1/1200.m3u8 +大水獭桑丘的故事(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/9934a6c232264addaf109ac76f21e7da/1200.m3u8 +大猫们的世界,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/830375ed0f54449e8e369edc9635e329/1200.m3u8 +大猫传奇,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/6976a5d0ae0d4426bbd94bc1dd8f44a9/1200.m3u8 +大猫和邻居们(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/84359a09aab544b184a40865454e0b0a/1200.m3u8 +大猫和邻居们(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/2c4bc4b10e7d408a8de9c9e3012f64ca/1200.m3u8 +大猫归来,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/8c13b8463ee54e93a0a0ccc33dab33ef/1200.m3u8 +大猫榜中榜(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/e5c95f6d2f9447e2bbb0b2bba952e062/1200.m3u8 +大猫榜中榜(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/9f813ed35c264d4ea10e57516dafe5d6/1200.m3u8 +大猫猎手训练营,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/a08d9451f00a451682973c99b503dd6a/1200.m3u8 +大象与羊的快乐生活,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/b72e3a49fdd44f36915d6cc59aa0a113/1200.m3u8 +大象与羊的神奇友情(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/7689d02607d34fdb8ce22cc479e42e91/1200.m3u8 +大象与羊的神奇友情(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/8ab73d30adff4cfa8e5afda910387dfc/1200.m3u8 +大象的别样生活(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/f4e6615b73ce42aa805767845425078a/1200.m3u8 +大象的别样生活(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/f80446c8a43c4357af8680057ec1669f/1200.m3u8 +大象的秘密生活(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/81f43884b4064750af230205752dbb63/1200.m3u8 +大象的秘密生活(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/43e021f3a6dc4b6089c71afe80552fae/1200.m3u8 +天生野长生命延续(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/87be5f0e1fb14d139fe696081a787914/1200.m3u8 +天生野长生命延续(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/b95e26a16f664da498ef421f74ad3006/1200.m3u8 +天生野长生命课程(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/95839705cfdc471aa67a09b7cfd6f52d/1200.m3u8 +奇异世界的动物们2,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/ef3ee1bb8ff946a9adf07486709883eb/1200.m3u8 +奇异世界的动物们3,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/efa51c5e3af04df89e68606d75333080/1200.m3u8 +奇特动物的奇特遭遇(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/2b20f8ba9ae14d96b9907f59bb758595/1200.m3u8 +奇特动物的奇特遭遇(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/0ebab68eda084509b18c27982ecfb660/1200.m3u8 +奇迹发生的时刻,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/1dbbdbb87b8f410cbc0f3c742201cd7d/1200.m3u8 +如履薄冰的北极熊(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/f31953326cca4b5e9c5f7e285a5cddb7/1200.m3u8 +如履薄冰的北极熊(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/b6576aa2cd4e43a9a5ddc4af16695a28/1200.m3u8 +家有萌宝(五),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/496e4c0e2de74aaf968651d447eeb12a/1200.m3u8 +家有萌宝1,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/7c53f1554802430587ecc54b1cef1002/1200.m3u8 +家有萌宝2,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/81f9af4e6a6f41daa48c6c0091e4d66b/1200.m3u8 +家有萌宝3,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/fe463d857de5415daa72441ab0cdab7f/1200.m3u8 +家有萌宝4,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/15d2240bbfc34785bfc2ab8147244466/1200.m3u8 +家有萌狗,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/0fb39f83b1764305bd0216f15b8ab88a/1200.m3u8 +小动物大猎手(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/c46a26d74f5b4da98f5c9d69f8218de0/1200.m3u8 +小动物大猎手(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/ef8ad1d36d9c4515a9e04443687a7f33/1200.m3u8 +小动物大英雄,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/27818c0197e94415946b825b2b163e22/1200.m3u8 +小动物的森林童话,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/321727074edc4cf69b5b205111569205/1200.m3u8 +小勇士闯天下,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/8737418de24a461f9785193bcbda0026/1200.m3u8 +小熊的故事1,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/d3c750e3481a4ca696898875f6e6dbf1/1200.m3u8 +小熊的故事2,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/3499a172820f47da988e5aaeb187ec29/1200.m3u8 +小熊的故事3,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/3564b5460bea444b8712fb1cb0a59c00/1200.m3u8 +小熊的梦幻森林1,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/b0f2b241c39c42beb732a5e73b5a9782/1200.m3u8 +小熊的梦幻森林2,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/b2e817cee1a7417ba34f062aa919ca02/1200.m3u8 +小熊的梦幻森林3,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/8bbcff92f2ce423bb2d822e0fb67657f/1200.m3u8 +小角马历险记,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/b7594a5bc3d241e3a8b95eac39ebd7e9/1200.m3u8 +小象和绵羊朋友(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/c69ca1ce229648ce86e97c0b86e67c58/1200.m3u8 +小象和绵羊朋友(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/138e7ea321c94a86b4f939ccb00a75a9/1200.m3u8 +小鼠奇遇记,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/9417f7c1d9f2484c901d886245892130/1200.m3u8 +巨兽来了,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/1224d3b3e1ba410d8dc316f2f2ab1872/1200.m3u8 +巨藻林的守卫者,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/432e7e692dc841bfaefb5e662de89bdc/1200.m3u8 +彩蛇之舞,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/002334474c7c4b8b98bad237a7bdeb7b/1200.m3u8 +情满大草原1,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/222ec6157bf34d8c9abd0e62ddae6ee1/1200.m3u8 +情满大草原2,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/8200031edc9f434583d9b3f738ac4448/1200.m3u8 +情满大草原3,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/0ab9b80f79884e22b6390b2deefdc571/1200.m3u8 +打造一只超级猫,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/ba966901198844d09399a354e203e6cb/1200.m3u8 +抢滩勇士(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/0d4351715b27425d87a926b964b6cdaf/1200.m3u8 +捕猎刹那间1,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/6b222a92e2b9484f86121a558915ddb5/1200.m3u8 +捕猎刹那间2,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/eb2cf087eae64ff9a40258bbbc1a92ba/1200.m3u8 +捕猎刹那间3,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/799ea1ddb3db403484fe2421d4831287/1200.m3u8 +捕食一瞬间(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/426cfdd1924a452b863c0cd52af6436b/1200.m3u8 +捕食一瞬间(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/b66704d4d4aa4ea7bab6e6ef673568b3/1200.m3u8 +捕食奇谋(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/543fa61893394cc48d2802207c8a51e8/1200.m3u8 +捕食奇谋(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/05ba8dcc7a224442a58f6d6f86885d25/1200.m3u8 +捕食者大观,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/d19e46abe2754e2985715a147e653626/1200.m3u8 +捕食者身体构造,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/83901acd0fed408f904a9b554c8e16ef/1200.m3u8 +捕食者追猎现场(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/853b68324c2e4718ad08298aaed459b7/1200.m3u8 +捕食者追猎现场(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/6016b09920a7447eb798f3f891f52bad/1200.m3u8 +探秘冰上的北极熊(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/6a74d01391d849849c7391b2466f3752/1200.m3u8 +探秘冰上的北极熊(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/509e924ad47e422984af226b26236bf6/1200.m3u8 +探秘雨林利爪族(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/dc83b3fe7f874e33959bdbf034e6451c/1200.m3u8 +探秘雨林利爪族(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/5a8fd3e4e8ba4ca5b62f1b90ae9c3640/1200.m3u8 +新狮王诞生记,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/5e156f1734234e17ab0f6f87f2e7491b/1200.m3u8 +旱季冒险故事,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/ac505ca5d2d5469eb21448c300a8c16c/1200.m3u8 +旱季极限生存战,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/1b750e952abb452c9f77d44f8d8bae17/1200.m3u8 +旱季生存攻略,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/3f34548881664dd6afb01ccdcb677a5d/1200.m3u8 +有一只美丽的大水獭,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/f1ddaab95ca9475da4cd97907cef8e96/1200.m3u8 +来到这个美丽的世界(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/003d910853de498299eb47d7d8a2eedf/1200.m3u8 +来到这个美丽的世界(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/9323ea96cf6a47afaf798fca6d9411e6/1200.m3u8 +林间潜伏,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/922b142fef9443218be5eaf44df0b397/1200.m3u8 +棋逢对手,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/3d515f3011c64797ae15bf36c639cb49/1200.m3u8 +棕熊把守的水上要塞(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/50590d053a2245428391323902e07d0e/1200.m3u8 +棕熊把守的水上要塞(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/bb2341e42865439eaed4502fcc736ea5/1200.m3u8 +棕熊捕鱼季(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/1ef91cb6079d46ccb9a62f046739d5c8/1200.m3u8 +棕熊的捕鱼生活(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/388d46918ea34570a3fed5f5ceb393ee/1200.m3u8 +棕熊的捕鱼生活(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/09def25492254217aba438e7403741e2/1200.m3u8 +森林是我家1,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/c105c056c3f744baa49ce0b8b39c1f3b/1200.m3u8 +森林是我家2,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/63bb582977074c57a127eaca9d954154/1200.m3u8 +森林是我家3,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/14b683f0668f404a9bb8ea74d14c5c8e/1200.m3u8 +植物王国漫游记,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/508b9a0c8be74d89a431b24114c91faa/1200.m3u8 +植物王国漫游记,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/fa3ad43978014ff4b64b4bff8914116c/1200.m3u8 +母爱之路,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/115d481467e04333be047fcebf482b3e/1200.m3u8 +母爱的呵护,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/a6ec4d0475e1453e8ede023e346c2350/1200.m3u8 +水牛与狮子的争战,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/d1e0dc98b1374b43b157bf82eebc6d09/1200.m3u8 +水牛向前冲(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/2f05eb49b3a049c88a848a1104dc856f/1200.m3u8 +水牛向前冲(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/bda4b441c07e40cb8a418381d0506c80/1200.m3u8 +水獭奇缘,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/da2d147b25404552b118111dd52d7a25/1200.m3u8 +水豚爱湿地,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/c7488fc3bed341ad827c054d3ec7e62d/1200.m3u8 +沙滩上的盛宴,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/31e38a0232734780842a9031072c2073/1200.m3u8 +河里的捕食大师(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/bf70f8033ec049f5be4698c3497d3868/1200.m3u8 +河里的捕食大师(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/040c050908a340238dacd1ac86694543/1200.m3u8 +河龙王出海,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/f352ba97a41146279f5d250cc8c670bb/1200.m3u8 +海底生存战,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/20225ac33ef7408e8c7040cb39d6a595/1200.m3u8 +海洋宫殿的守护者,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/86c73156b8ad405180ed252940b2155c/1200.m3u8 +海洋猎手,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/f98ebc30517647839c09fb17e0dbea04/1200.m3u8 +海洋里的神奇家族(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/ef8e561920694e4a81cd1933314610cb/1200.m3u8 +海洋里的神奇家族(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/5775e1919dca48169eb22986804455b3/1200.m3u8 +海洋里的神奇家族(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/a68ae907dc7e4783af8d9547a1926435/1200.m3u8 +海的呼唤,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/ee6a46541b624388a01ba2fc14c34079/1200.m3u8 +海豚的奇妙生活(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/30385b1caa214c9a8c6c53ef69ce7e18/1200.m3u8 +海豚的奇妙生活(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/b61b0646586142aca08c2e8d333c385b/1200.m3u8 +海鬣蜥的幸福生活,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/a66f6344f9cc4ed3b42b06e678124d0f/1200.m3u8 +海鬣蜥的故事,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/d19635c3f57f4e538e078569ac796fd6/1200.m3u8 +深海潜伏的猎手,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/f1a00ae54f3b428bac1ed388ced1ce70/1200.m3u8 +湿地之争豹与鳄鱼,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/1fe1e5df7c9d4b38a0a855e092a7b6c1/1200.m3u8 +湿地小萌兽,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/00892961ec6546ae8c78e96d1dd0874a/1200.m3u8 +湿地有萌兽,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/e3c31d84ec7e4035a8501db9df1d140b/1200.m3u8 +潜水大师的岛上生活(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/cd88344f084b47c593388fdf6a8c443f/1200.m3u8 +潜水大师的岛上生活(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/76332b54d8074b0fada76d081570d621/1200.m3u8 +熊在旅途(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/b0b95c35bce84072b10ad0b82cf83951/1200.m3u8 +熊在旅途(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/9dc810bc8a3b426f88ac8c998f9e5332/1200.m3u8 +熊的王国,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/ade1b31d23694fba82c9c4f07dba3267/1200.m3u8 +爱与狗相伴,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/530a12d274184293802f51c38603f75a/1200.m3u8 +爱你我的宝宝(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/08f97ee21d884d0486c37ae6fb7c5683/1200.m3u8 +爱你我的宝宝(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/f16dbba3ddf84af2a0ff1521448ee4da/1200.m3u8 +爱吃鱼的棕熊,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/79c7bb4495f74ca698f3111a6f7ba567/1200.m3u8 +爱的奉献1,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/5b062ba2cd854ba993166d277af8a40d/1200.m3u8 +爱的奉献2,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/80cf935aef484e15aa31b8fbd565be39/1200.m3u8 +爱的奉献3,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/aee1f28cf3e94a5fa7468206d4f417ed/1200.m3u8 +狮口余生的小角马(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/7cfc0fe7981b4022b69c3e1cb7317b77/1200.m3u8 +狮子和鬣狗(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/6ca061c3b9184e7aa46cef1ead911099/1200.m3u8 +狮子和鬣狗(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/e5ea8f4b0cbd4d7aa779b9dfed5a9448/1200.m3u8 +狮子捕猎计划,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/6f2b58a05add4e2a9907ba370473332a/1200.m3u8 +狮子的荣耀回归之路1,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/bec9f485672345339c49bc345edf9fd5/1200.m3u8 +狮子的荣耀回归之路2,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/bdb438a81a20403db85b6e9d12707f2d/1200.m3u8 +狮子的荣耀回归之路3,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/50ef8c8037da4735a9cb9288f45878b0/1200.m3u8 +狮子的荣耀回归之路4,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/2fea6699d56f4274b5ab5260b016fda2/1200.m3u8 +狮族迷踪1,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/801151749824437aaa0afa87bfcf7abf/1200.m3u8 +狮族迷踪2,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/b4ff6041c00246af815b679a7ee6c4a6/1200.m3u8 +狮族迷踪3,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/5e01c3ff2a5844ab80643ce67ba29026/1200.m3u8 +狮群的家园生活,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/cad939a2eb714f4b9d37c4185674d50b/1200.m3u8 +狮群的荣耀,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/84b850056589475f80528cf28b9b840a/1200.m3u8 +狼女王的奋斗传奇,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/f2d629470e214acf9d08dc81f4773cbf/1200.m3u8 +猎手求生记,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/5bc79939a4804f199e606cc08b1bb416/1200.m3u8 +猎手生存攻略,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/703310100a944d78a5e6838f80920cd6/1200.m3u8 +猎豹妈妈奋斗记,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/6b10d45dafaa47f4a3c3444946c074c9/1200.m3u8 +猎豹妈妈育儿记(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/dba9097ef49e42acb2c6597e04551fbc/1200.m3u8 +猎豹妈妈育儿记(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/fca702ad83284ff0a3b883a735913060/1200.m3u8 +猎食计划1,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/cd732e06e7934a3daef6483c6be1afca/1200.m3u8 +猎食计划2,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/497afdb07e92409fb8cb5c0249dfe6d7/1200.m3u8 +猎食计划3,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/947b6c076a0c4a3ca72a1274731feb66/1200.m3u8 +猛虎柔情,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/dd3be5a89c1542d3bb4db0953a1430c6/1200.m3u8 +猫科动物谁为王者(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/17c3860b26c14110a740dfa49785a1bd/1200.m3u8 +猫科动物谁为王者(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/1cbb873dc7474315b86788e9f657534a/1200.m3u8 +猴子的智慧,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/ef01d6b79fe74daf9bd63ff0469713d2/1200.m3u8 +生存极限大挑战,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/9dc7b6dcacde4fad9467c4d2c61da3d1/1200.m3u8 +生存的望(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/fd00ce388b994d7195dbefc1beb5726b/1200.m3u8 +生存的望(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/d9765b81ca83444a9ba7b6a335b2466a/1200.m3u8 +疯狂的爱,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/35b481b5e27a4fa2b2c03f42596b68ba/1200.m3u8 +白狮归来1,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/199ab14f5ba44a208371a3eef0029a09/1200.m3u8 +白狮归来2,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/e3b36e52d0bc4a0a851a1bd3fa181365/1200.m3u8 +白狮归来4,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/ffda5e0584b64e0d9dc3cc43783900cf/1200.m3u8 +白狮的荒野故事(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/649a0df6bc394fde973b2e8ef12ef3d6/1200.m3u8 +白狮的荒野故事(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/1eee9eda1dec4c8da256c6b2ef70114a/1200.m3u8 +盛宴的旅程,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/fbcd61c318c34e08854c3911086a7406/1200.m3u8 +看得见的远方1,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/f532415139fb4dc3a0e9de757d535d6a/1200.m3u8 +看得见的远方3,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/255a802e924a44f381318db92a32431e/1200.m3u8 +神秘的眼睛王蛇,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/cb73d16a9e02484ab4708b0268b63bcf/1200.m3u8 +秘境之蛇,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/c4e45ac9dd2642b6ae9fb95b470224a9/1200.m3u8 +秘境里的动物王国,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/bb36368ba24f47ed88d4204fd3db5483/1200.m3u8 +秘境里的奇观,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/38ba9675721d4259b3dd327b7e212a39/1200.m3u8 +穿越森林的迷宫,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/52bf33932d1646529b95b044f187d4d3/1200.m3u8 +穿越狮子的领地,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/ea08ccce272f4b7984eb665a97bab536/1200.m3u8 +童话般的雨林(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/a1672972c0b742239237bb1686ba0745/1200.m3u8 +童话般的雨林(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/8e99e3c9f38340a98fb79b36ab1c863f/1200.m3u8 +绽放的生命(五),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/d2f3f0f3b4c242b4983ee62034f85608/1200.m3u8 +绽放的生命1,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/87145268893a47cd8fc9cda530eee111/1200.m3u8 +绽放的生命2,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/7b6ed77c03224d298a72a8311fcf10a7/1200.m3u8 +绽放的生命3,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/aea0ef5ea21c40dea948d723d823a5fb/1200.m3u8 +绽放的生命4,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/fbb3d1d6ae37458e84f574881778ac7c/1200.m3u8 +美食的,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/9debd40527e34471bdfbe1212aa198d7/1200.m3u8 +耀眼的白狮家族1,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/07c3395ee5da4f789937372657ab980a/1200.m3u8 +耀眼的白狮家族2,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/3989c3f3416745438c4bc20abeae51ae/1200.m3u8 +耀眼的白狮家族3,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/e0efcf1181234f2dabef87db65bcdec0/1200.m3u8 +聪明的建筑师,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/d04a550f19ac42869d7b4d3f5f9246b2/1200.m3u8 +自然界奥运冠军,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/7b968e9b50984d598d96c6fc5af40b4c/1200.m3u8 +花豹柔情,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/96712ee30d144f21a0566f3c1b2fbc56/1200.m3u8 +草原三巨头,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/2bdc779138bb4235b20a5155e40fa7c8/1200.m3u8 +草原上的大猫王国,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/e98eed67d3164ec0a2f5a9215693f7a8/1200.m3u8 +草原之王上战场,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/bfb6917b29ea413c89e8ed8fa6e2a6ab/1200.m3u8 +草原狮子的戏剧舞台(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/93fde1242f50415faa6da2dd5da9105b/1200.m3u8 +草原狮子的戏剧舞台(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/c5b600bcb2c44c44b56e9afdb5243a07/1200.m3u8 +荒野里的呼唤,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/de55f16b130042b19472ef89e184d719/1200.m3u8 +萌狗诞生记,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/0f68b16f162c493c8d82a57135f16da0/1200.m3u8 +虎妈妈爱(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/6855ee238c9c4e9893ff342b7dbe5a2b/1200.m3u8 +虎妈妈爱(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/9b07324b869c457e80531b72e979ee1a/1200.m3u8 +蛇类大观园,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/414f84230ced4696af656a112385b72c/1200.m3u8 +蜥蜴安身火山岛(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/0c3c388b10ad4cf78f312c6d6620f1e0/1200.m3u8 +蜥蜴安身火山岛(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/5043f9b708fe443fb9207e26da903218/1200.m3u8 +螃蟹岛海战(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/d0137f4e9adc44a7856c7288fe8ca3d2/1200.m3u8 +螃蟹岛海战(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/d784a777f3dd42b3b73be06858b71197/1200.m3u8 +被母狮拯救的小角马(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/ba95e1a983584925887c11306f83ccf8/1200.m3u8 +被母狮拯救的小角马(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/8e655ba0c751468b9d18f3020133571f/1200.m3u8 +角马幸运儿(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/40c883e3f4c441d08422ce49aec61644/1200.m3u8 +角马幸运儿(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/67b7d65e3b3e4b509e314e65937ef369/1200.m3u8 +豹妈当家(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/984cda8d35d544658fbd96b417bdea1f/1200.m3u8 +豹妈当家(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/33343249dabd4dcfaeb64da7ab7fe061/1200.m3u8 +走出包围圈,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/38fc4f8e379445aeab6098b9ece0aa2a/1200.m3u8 +走进狗的世界,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/25c049869a174f5fa5806e57a2c376bd/1200.m3u8 +超凡猎手,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/77d5ca903f0948ad8c5ec57e49b3cc95/1200.m3u8 +超凡猎手,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/8bd3d27314fd431a84d8443c2fdc8b02/1200.m3u8 +超级狮子家族,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/f689bc846e93479898d8dcbdffad9744/1200.m3u8 +超级狮子群的故事(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/1c0a25fcb5564e02a435ec33fbdc4888/1200.m3u8 +超级狮子群的故事(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/8986640e9a3f43be9ffe66f0feb41f72/1200.m3u8 +超级猫行动,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/8d952bbdd6cc4e6abf9df153bc18e927/1200.m3u8 +足球超级猎食者(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/4d0dc6b22b8e48efa4a984ec990a4faf/1200.m3u8 +足球超级猎食者(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/d7aec4db75da469d915a5dd7a0fb3d70/1200.m3u8 +辣妈带娃记,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/8fd303fc08454c3497673fa40ced6284/1200.m3u8 +进化中的北极熊,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/caf316bd282e4bfdbbd36bac2514c428/1200.m3u8 +追踪兽王,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/93dfcb01bd634370bc211fc7484854ec/1200.m3u8 +追逐的游戏,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/34459ad5d340461daab2f453d485833d/1200.m3u8 +速度与生存(五),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/9953caf767b04ae782540c8ac53eaaa4/1200.m3u8 +速度与生存1,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/1cc83ec8b9b44794b63e1a249b9fb2fb/1200.m3u8 +速度与生存2,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/31abc302978f45df9c4e8aaa3972d599/1200.m3u8 +速度与生存3,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/570d9ce8d39d4ede9a26ae6de4d28f54/1200.m3u8 +速度与生存4,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/f37b1966271f4527a581ed9275c34f7c/1200.m3u8 +速度大比拼(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/2746acf40172425180162fc3a316416b/1200.m3u8 +速度大比拼(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/d2e5439b8a9c4b53970e5c3b0eee9abd/1200.m3u8 +遨游海底两万里,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/31d0363fb3714ce4b916790aa7da22db/1200.m3u8 +都市里的丛林(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/2e2e0e875d624196af0488f6b07bb2e0/1200.m3u8 +都市里的丛林(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/9f79dac568844de8813e682b280efb4f/1200.m3u8 +都市里的野生家园(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/03770b0594d44f289ce91022fe37a7bf/1200.m3u8 +都市里的野生家园(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/06ca0e5a61624f11987ba99dc9a8ed64/1200.m3u8 +野性生存秘籍1,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/7c8a682e6c5749b19d375b0c562f4c87/1200.m3u8 +野性生存秘籍2,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/b95862f403d5404f87114f6a651119e6/1200.m3u8 +野性的召唤1,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/ce41c579b0c84ada982b79073028d116/1200.m3u8 +野性的召唤2,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/24514b1197ea46b9a443121f5e19f535/1200.m3u8 +野性的召唤3,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/9a6b5b4568574867933091059ff57680/1200.m3u8 +野性的魅力1,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/2f83cd6f217c48e8abb8064f430bc93a/1200.m3u8 +野性的魅力2,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/091f7f7dfce34c0d83bcd93c0b58dc07/1200.m3u8 +野性美洲(五),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/58a370a91cbf49858c18e6d72007d12e/1200.m3u8 +野性美洲1,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/d1a92d87e2c74de7a799141e5e89eb3b/1200.m3u8 +野性美洲2,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/2e902191f2524bc198a656db71791080/1200.m3u8 +野性美洲3,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/1156d95bcf554d0e9df1688e8a6fd55d/1200.m3u8 +野性美洲3,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/4cb2ce54e7e047a99c772d3874f4c916/1200.m3u8 +野性美洲4,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/5dcd2b749aae4e7e973271f124e83fb1/1200.m3u8 +野狗家族传世之爱,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/dc4007615a124e29827b16bec3885db5/1200.m3u8 +野生世界竞技场(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/11ac06bbb4f0426fbc4c7b3bfd864b3f/1200.m3u8 +野生世界竞技场(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/bf683b66c36343599bcad10516c58274/1200.m3u8 +野生白狮(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/a9a5e806d97d41f5827532f1cb3f9afa/1200.m3u8 +野生白狮(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/1e405a3890d3497d80df5351ad30f169/1200.m3u8 +野生白狮(中),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/aa5594a7d44b42768d0b4f2fa3e3651d/1200.m3u8 +金豺夫妇的故事,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/5b71afacb8eb442d9d4a5844d3ceca15/1200.m3u8 +镜头里的真相1,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/df70034b3a4243bd888d18b8b877787d/1200.m3u8 +险境求生,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/3f41478fa1f24606bc1bad4725df7b59/1200.m3u8 +险境求生的小河马(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/4b24374adc24487db8c9d5ac5d037079/1200.m3u8 +险境求生的小河马(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/5c22e195021d49b8bc5868147fdc3139/1200.m3u8 +隐秘王国里的奇迹1,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/e2094de08292490db17c29ec299b4bc2/1200.m3u8 +隐秘王国里的奇迹2,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/1cee8d6ac393418e887420a6e1d54b6e/1200.m3u8 +隐秘王国里的奇迹3,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/2fe654a3cadf4838bb34ea18441378e8/1200.m3u8 +隐秘王国里的奇迹4,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/953467196a854ed786f7e3521579f1f6/1200.m3u8 +隐秘的海鬣蜥王国,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/b7af80d20f06401989879c44eaf865e8/1200.m3u8 +雄风再起,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/b9176a8a35c94c37ade29708eed40190/1200.m3u8 +雨季狮踪,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/c1af227765174580bb3ad5c641f4dfd1/1200.m3u8 +雨林守护的秘密(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/18aecd7b1b064f3692f80ce6906895d5/1200.m3u8 +雨林守护的秘密(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/084be96dbd124ac499afc25eb1e4d63d/1200.m3u8 +雪鸮的生存之舞,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/722362cb57a74028804e0413141a1866/1200.m3u8 +雪鸮的风中芭蕾,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/4ee145f174a8464fb624c4ae62992b1c/1200.m3u8 +非凡虎女王(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/2e657776c024445b83a0554d71773c0b/1200.m3u8 +非凡虎女王(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/2c7ecbc0033049efa1946472214eeae3/1200.m3u8 +非同一般的友谊,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/fc5b68979baa47e6ab90db7e78b43364/1200.m3u8 +非洲水牛战狮群(上),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/945ab75be37f46c984dade1efb742b00/1200.m3u8 +非洲水牛战狮群(下),http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/76d3b3c55eaf44b198ceb0f456f41416/1200.m3u8 +非洲野放计划2,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/21ff76c2151743f983d8f67d3cc7231d/1200.m3u8 +非洲野放计划3,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/234631821d1343b086ed272be364d861/1200.m3u8 +非洲野放计划4,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/28f6148101924fadb0f1cab6017801fe/1200.m3u8 +非洲野狗家族,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/2e64ec647a314b74b27ebc7f6bb985f2/1200.m3u8 +领养一只宠物狗,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/ec7ccf71d6544387afbfc956f4c29ceb/1200.m3u8 +高个子幸运儿,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/0ea3dbe589a34258b6109229223de234/1200.m3u8 +鬣蜥生存攻略,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/ae22dffaf28f496584fc581ab72fab9c/1200.m3u8 +鳄鱼出海,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/7bdf23a599b44a7c8308684cbb789da0/1200.m3u8 +鳄鱼王漂流记,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/8da4a365db75455cb0c15bd7681b57fc/1200.m3u8 +黑猩猩的丛林法则,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/05ff5278105445e1a9d5651372faf47e/1200.m3u8 +龙宫里的奇异动物,http://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/3528163c6b7d4a48b09b24027351ccf7/1200.m3u8 + + +直播中国,#genre# +直播中国,https://gcalic.v.myalicdn.com/gc/wgw05_1/index.m3u8?contentid=2820180516001 +直播中国精编直播,https://gcalic.v.myalicdn.com/gc/wgw05_1/index.m3u8 +八里沟风景区桃花湾瀑布,https://gcalic.v.myalicdn.com/gc/blg05_1/index.m3u8 +八里沟风景区天界山玻璃栈道,https://gcalic.v.myalicdn.com/gc/blg03_1/index.m3u8 +普陀山,https://gcalic.v.myalicdn.com/gc/pts01_1/index.m3u8 +丽江古城大水车,https://gcalic.v.myalicdn.com/gc/ljgcdsc_1/index.m3u8 +丽江古城万古楼遥望玉龙雪山,https://gcalic.v.myalicdn.com/gc/ljgcwglytylxs_1/index.m3u8 +狮子山鸟瞰丽江古城,https://gcalic.v.myalicdn.com/gc/ljgcszsnkgc_1/index.m3u8 +乌镇西市河,https://gcalic.v.myalicdn.com/gc/zjwzbblh_1/index.m3u8 +黄花城水长城01,https://gcalic.v.myalicdn.com/gc/wgw01_1/index.m3u8 +黄花城水长城02,https://gcalic.v.myalicdn.com/gc/wgw02_1/index.m3u8 +黄花城水长城03,https://gcalic.v.myalicdn.com/gc/wgw03_1/index.m3u8 +月牙泉,https://gcalic.v.myalicdn.com/gc/dhyyqsm_1/index.m3u8 +黄龙,https://gcalic.v.myalicdn.com/gc/hlzycc_1/index.m3u8 +泰山主峰,https://gcalic.v.myalicdn.com/gc/taishan01_1/index.m3u8 +泰山十八盘,https://gcalic.v.myalicdn.com/gc/taishan05_1/index.m3u8 +泰山南天门,https://gcalic.v.myalicdn.com/gc/hkts07_1/index.m3u8 +泰山白云亭悬崖,https://gcalic.v.myalicdn.com/gc/hkts02_1/index.m3u8 +泰山太平岭,https://gcalic.v.myalicdn.com/gc/hkts09_1/index.m3u8 +泰山碧霞祠,https://gcalic.v.myalicdn.com/gc/hkts03_1/index.m3u8 +黄山始信新道,https://gcalic.v.myalicdn.com/gc/hsyg_1/index.m3u8 +黄山,https://gcalic.v.myalicdn.com/gc/ahhs01_1/index.m3u8 +中央电视塔东,https://gcalic.v.myalicdn.com/gc/ztd_1/index.m3u8 +中央电视塔南,https://gcalic.v.myalicdn.com/gc/ztn_1/index.m3u8 +天涯石,https://gcalic.v.myalicdn.com/gc/tyhjtys_1/index.m3u8 +青岛崂山双福,https://gcalic.v.myalicdn.com/gc/qdls03_1/index.m3u8 +青岛崂山八水河,https://gcalic.v.myalicdn.com/gc/qdls02_1/index.m3u8 +张掖七彩丹霞,https://gcalic.v.myalicdn.com/gc/zyqcdx01_1/index.m3u8 +都江堰鱼嘴,https://gcalic.v.myalicdn.com/gc/djyqyl1_1/index.m3u8 +乐山大佛全景,https://gcalic.v.myalicdn.com/gc/lsdfgfl_1/index.m3u8 +湖南张家界水绕四门,https://gcalic.v.myalicdn.com/gc/zjjsrsm_1/index.m3u8 +湖南张家界将军列队,https://gcalic.v.myalicdn.com/gc/zjjjjdl_1/index.m3u8 +湖南张家界迷魂台,https://gcalic.v.myalicdn.com/gc/zjjmht_1/index.m3u8 +湖南张家界宝峰湖,https://gcalic.v.myalicdn.com/gc/zjjbfh_1/index.m3u8 +湖南张家界御笔峰,https://gcalic.v.myalicdn.com/gc/zjjybf_1/index.m3u8 +湖南张家界天门山西线玻璃栈道,https://gcalic.v.myalicdn.com/gc/tms05_1/index.m3u8 +四川峨眉山云海日出,https://gcalic.v.myalicdn.com/gc/emsarm_1/index.m3u8 +四川峨眉山远眺贡嘎雪山,https://gcalic.v.myalicdn.com/gc/emsyh_1/index.m3u8 +四川峨眉山普贤菩萨铜像,https://gcalic.v.myalicdn.com/gc/emspxps_1/index.m3u8 +四川峨眉山远眺万佛顶,https://gcalic.v.myalicdn.com/gc/emswfs_1/index.m3u8 +四川四姑娘山隆珠措,https://gcalic.v.myalicdn.com/gc/sgns02_1/index.m3u8 +浙江舟山东极岛,https://gcalic.v.myalicdn.com/gc/djd01_1/index.m3u8 +安徽池州九华山风景区九华山,https://gcalic.v.myalicdn.com/gc/jhs05_1/index.m3u8 +安徽池州九华山风景区花台,https://gcalic.v.myalicdn.com/gc/jhs01_1/index.m3u8 +安徽黟县西递牌坊,https://gcalic.v.myalicdn.com/gc/yxxdpf_1/index.m3u8 +安徽黟县芦村远眺,https://gcalic.v.myalicdn.com/gc/yxlcyt_1/index.m3u8 +新疆天山(定海神针),https://gcalic.v.myalicdn.com/gc/xjtcdhsz_1/index.m3u8 +新疆天山(马牙山),https://gcalic.v.myalicdn.com/gc/xjtcmys_1/index.m3u8 +新疆天山(灯杆山),https://gcalic.v.myalicdn.com/gc/xjtcdgs_1/index.m3u8 +厦门鼓浪屿,https://gcalic.v.myalicdn.com/gc/gly01_1/index.m3u8 +广西玉林大容山莲花山顶,https://gcalic.v.myalicdn.com/gc/drs01_1/index.m3u8 +广西桂林漓江景区,https://gcalic.v.myalicdn.com/gc/gllj01_1/index.m3u8 +南京玄武湖公园,https://gcalic.v.myalicdn.com/gc/xwh01_1/index.m3u8 +福建漳州醉美沙滩翡翠湾,https://gcalic.v.myalicdn.com/gc/fcw03_1/index.m3u8 +丽江古城大研花巷观景,https://gcalic.v.myalicdn.com/gc/ljgcdyhxgjt_1/index.m3u8 +雪乡梦幻家园,https://gcalic.v.myalicdn.com/gc/mdjxxmhjyxj_1/index.m3u8 +雪乡大石碑,https://gcalic.v.myalicdn.com/gc/mdjxxdsb_1/index.m3u8 +乌镇蓝印花布,https://gcalic.v.myalicdn.com/gc/zjwzlyhb_1/index.m3u8 +乌镇龙形田,https://gcalic.v.myalicdn.com/gc/zjwzlxt_1/index.m3u8 +乌镇全景,https://gcalic.v.myalicdn.com/gc/zjwzblt_1/index.m3u8 +凤凰古城南华山,https://gcalic.v.myalicdn.com/gc/fhgcdnhs_1/index.m3u8 +凤凰古城东关门,https://gcalic.v.myalicdn.com/gc/fhgcdgm_1/index.m3u8 +鸣沙山,https://gcalic.v.myalicdn.com/gc/dhyyqst_1/index.m3u8 +五彩池,https://gcalic.v.myalicdn.com/gc/hlwcc_1/index.m3u8 +泰山大观峰,https://gcalic.v.myalicdn.com/gc/taishan03_1/index.m3u8 +泰山玉皇顶,https://gcalic.v.myalicdn.com/gc/taishan06_1/index.m3u8 +黄山排云亭,https://gcalic.v.myalicdn.com/gc/hspyt_1/index.m3u8 +黄山飞来石,https://gcalic.v.myalicdn.com/gc/hsptgy_1/index.m3u8 +恒山悬空寺全景,https://gcalic.v.myalicdn.com/gc/hsxksqj_1/index.m3u8 +黄果树六角亭瀑布,https://gcalic.v.myalicdn.com/gc/hgsspzxdpb_1/index.m3u8 +江苏徐州云龙湖风景区云龙山观景台西,https://gcalic.v.myalicdn.com/gc/ylh04_1/index.m3u8 +江苏南京牛首山,https://gcalic.v.myalicdn.com/gc/nss01_1/index.m3u8 +云南丽江蓝月谷,https://gcalic.v.myalicdn.com/gc/ylxs12_1/index.m3u8 +云南丽江玉龙雪山草甸,https://gcalic.v.myalicdn.com/gc/hkylxs06_1/index.m3u8 +云南丽江冰川,https://gcalic.v.myalicdn.com/gc/hkylxs05_1/index.m3u8 +云南丽江印象实景,https://gcalic.v.myalicdn.com/gc/hkylxs01_1/index.m3u8 +云南大理崇圣寺三塔中景,https://gcalic.v.myalicdn.com/gc/dlst03_1/index.m3u8 +云南大理崇圣寺三塔远景,https://gcalic.v.myalicdn.com/gc/dlst01_1/index.m3u8 +陕西洋县国宝朱鹮03,https://gcalic.v.myalicdn.com/gc/zh03_1/index.m3u8 +贵州省兴义市万峰林,https://gcalic.v.myalicdn.com/gc/xywfl_1/index.m3u8 + + +歌星金曲,#genre# +歌MV,http://vd4.bdstatic.com/mda-ickhjq8gkcxz55i1/sc/mda-ickhjq8gkcxz55i1.mp4 +歌MV2,http://vd4.bdstatic.com/mda-ihkwerpgqm1v3ehy/sc/mda-ihkwerpgqm1v3ehy.mp4 +歌MV3,http://vd4.bdstatic.com/mda-jhid37v9u4vny09j/sc/mda-jhid37v9u4vny09j.mp4 +歌MV4,http://vd4.bdstatic.com/mda-icpieeuwfuwruijw/sc/mda-icpieeuwfuwruijw.mp4 +歌MV5,http://vd4.bdstatic.com/mda-jhtriuc2z5fddtre/sc/mda-jhtriuc2z5fddtre.mp4 +歌MV6,http://vd4.bdstatic.com/mda-jepbbqntd414qsem/sc/mda-jepbbqntd414qsem.mp4 +歌MV7,http://vd4.bdstatic.com/mda-ji3nh9t9qpewj26m/sc/mda-ji3nh9t9qpewj26m.mp4 +冷漠-古咖啡,http://antiserver.kuwo.cn/anti.s?rid=MUSIC_3142984&response=res&format=mp4&type=convert_url +冷漠-时光海灣,http://antiserver.kuwo.cn/anti.s?rid=MUSIC_9867444&response=res&format=mp4&type=convert_url +冷漠-真不是闹着玩,http://antiserver.kuwo.cn/anti.s?rid=MUSIC_22836669&response=res&format=mp4&type=convert_url +冷漠-谁都不要说分手,http://antiserver.kuwo.cn/anti.s?rid=MUSIC_12975393&response=res&format=mp4&type=convert_url +冷漠-再爱也没有用,http://antiserver.kuwo.cn/anti.s?rid=MUSIC_5834217&response=res&format=mp4&type=convert_url +冷漠-不要再说你还爱我,http://antiserver.kuwo.cn/anti.s?rid=MUSIC_911272&response=res&format=mp4&type=convert_url +冷漠-别把寂寞当缘分,http://antiserver.kuwo.cn/anti.s?rid=MUSIC_6210858&response=res&format=mp4&type=convert_url +冷漠-你把爱情给了谁,http://antiserver.kuwo.cn/anti.s?rid=MUSIC_1210771&response=res&format=mp4&type=convert_url +冷漠-我是否也在你心中,http://antiserver.kuwo.cn/anti.s?rid=MUSIC_4378249&response=res&format=mp4&type=convert_url +冷漠-多情的人不该相遇,http://antiserver.kuwo.cn/anti.s?rid=MUSIC_1041689&response=res&format=mp4&type=convert_url +凤凰传奇-華夏传说,http://antiserver.kuwo.cn/anti.s?rid=MUSIC_40828850&response=res&format=mp4&type=convert_url +凤凰传奇-奢香夫人,http://antiserver.kuwo.cn/anti.s?rid=MUSIC_51674527&response=res&format=mp4&type=convert_url +凤凰传奇-今生的缘,http://antiserver.kuwo.cn/anti.s?rid=MUSIC_646024&response=res&format=mp4&type=convert_url +凤凰传奇-荷塘月色,http://antiserver.kuwo.cn/anti.s?rid=MUSIC_1565837&response=res&format=mp4&type=convert_url +凤凰传奇-自由飞翔,http://antiserver.kuwo.cn/anti.s?rid=MUSIC_18747906&response=res&format=mp4&type=convert_url +凤凰传奇-策马奔腾,http://antiserver.kuwo.cn/anti.s?rid=MUSIC_24042013&response=res&format=mp4&type=convert_url +凤凰传奇-温柔姑娘,http://antiserver.kuwo.cn/anti.s?rid=MUSIC_6401404&response=res&format=mp4&type=convert_url +凤凰传奇-自由自在,http://antiserver.kuwo.cn/anti.s?rid=MUSIC_24042025&response=res&format=mp4&type=convert_url +凤凰传奇-奇迹世界,http://antiserver.kuwo.cn/anti.s?rid=MUSIC_954805&response=res&format=mp4&type=convert_url +凤凰传奇-歌唱二小放牛郎,http://antiserver.kuwo.cn/anti.s?rid=MUSIC_8120530&response=res&format=mp4&type=convert_url +凤凰传奇-中国味道,http://antiserver.kuwo.cn/anti.s?rid=MUSIC_24042021&response=res&format=mp4&type=convert_url +凤凰传奇-光芒,http://antiserver.kuwo.cn/anti.s?rid=MUSIC_24042019&response=res&format=mp4&type=convert_url +凤凰传奇-御龙归字谣,http://antiserver.kuwo.cn/anti.s?rid=MUSIC_1164118&response=res&format=mp4&type=convert_url +邓丽君 歌曲精选九首 經典歌曲,https://vdse.bdstatic.com//432792ba00998e73655101c9e706e1e2.mp4 +金典老歌,https://vdse.bdstatic.com//36ea0ffcf8156a44b9d524d999eb088a.mp4 +刀郎經典歌曲7首:《西海情歌》《敖包相会》《情人》冲动的惩罚,https://vdse.bdstatic.com//628ca08719cef5987ea2ae3c6f0d2386.mp4 +刀郎經典歌曲精选,https://vdse.bdstatic.com//4fcca19a19aa4974230c5ee70ab5fa55.mp4 +刀郎經典老歌合集《披着羊皮的狼》《西海情歌》《冲动的惩罚》,https://vdse.bdstatic.com//bfbb0871ed01eb3328497faae6a8531b.mp4 +云朵、刀郎、孙露、张雨生等經典怀旧歌曲6首,https://vdse.bdstatic.com//fa0ed7ad8657cc4d13972c3d9aa5ddbf.mp4 +怀旧金曲:刀郎《黄玫瑰》,https://vdse.bdstatic.com//893331fdfab5d04e5c93e2adbbf1e949.mp4 +飞鸟和蝉-任然,https://vd4.bdstatic.com/mda-kmagpap54qyv855r/v1-cae/1080p/mda-kmagpap54qyv855r.mp4 +海鸥飞-龙梅子,https://vd2.bdstatic.com/mda-kgrx6ftzptj5x4i9/v1-cae/1080p/mda-kgrx6ftzptj5x4i9.mp4 +不再痴情-黄静美,https://vd2.bdstatic.com/mda-mguiyws4cia6d0rf/1080p/cae_h264/1627568961141809995/mda-mguiyws4cia6d0rf.mp4 +天公不作美-黄静美,https://vd2.bdstatic.com/mda-mcibj6pxkwe3x1ji/1080p/cae_h264/1616117049/mda-mcibj6pxkwe3x1ji.mp4 +浪子闲话-笑纳-赤伶,https://vd3.bdstatic.com/mda-mi0jir5caqx8xtmh/1080p/cae_h264/1630505223203305128/mda-mi0jir5caqx8xtmh.mp4 +用力活着-张茜,https://vd4.bdstatic.com/mda-mfmcz8hk0qjieck2/1080p/cae_h264/1624355388377695977/mda-mfmcz8hk0qjieck2.mp4 +点歌的人-海来阿木,https://vd3.bdstatic.com/mda-maqxxg1hrznsdf1a/v1-cae/1080p/mda-maqxxg1hrznsdf1a.mp4 +你的万水千山-海来阿木,https://vd4.bdstatic.com/mda-ki4i7gfqw6cw6hq0/v1-cae/1080p/mda-ki4i7gfqw6cw6hq0.mp4 +当我孤独的时候还可以抱着你郑源,https://vd4.bdstatic.com/mda-kgaerksrx80jgdu0/v1-cae/1080p/mda-kgaerksrx80jgdu0.mp4 +寂寞的人伤心的歌-龙梅子、杨海彪,https://vd4.bdstatic.com/mda-kb5gc9c1vmtz93g8/v1-cae/sc/mda-kb5gc9c1vmtz93g8.mp4 +两个人-蔡妍-BerryGood,https://vd2.bdstatic.com/mda-iffus60ju99vp5kr/sc/mda-iffus60ju99vp5kr.mp4 +两个人-蔡妍-BerryGood,https://vd4.bdstatic.com/mda-ki9ze4v8sw9sj7cb/sc/mda-ki9ze4v8sw9sj7cb.mp4 +情歌皇后林翠萍《相见不如不见》F,https://vdse.bdstatic.com//1f65ad884619a069c68572f1ac9e2b0e.mp4 +林翠萍經典老歌《相会在梦里》F,https://vdse.bdstatic.com//00fb72cd0b27bec6d9c0cd915874b50e.mp4 +林翠萍經典情歌《相思豆》F,https://vdse.bdstatic.com//986498bb0ccd2114ba1274df22fae332.mp4 +精选韓宝仪經典歌曲10首F,https://vdse.bdstatic.com//42d5ac65a9070eeab2513bf6bc65ea4d.mp4 +龙飘飘《我没醉》F,https://vdse.bdstatic.com//3d48e45e47836cd75c202ec957260837.mp4 +龙飘飘《往事》F,https://vdse.bdstatic.com//a28e362e15fa8c361219944bfb59b596.mp4 +美酒加咖啡 龙飘飘F,https://vdse.bdstatic.com//816c73543ede254586a625cacc67ea0f.mp4 +林翠萍《麦搁來这套》,https://vdse.bdstatic.com//5b388a47b1233105831e09b8cadc1edd.mp4 +龙飘飘經典老歌《后悔爱上你》,https://vdse.bdstatic.com//bde5b937e292c240a4322d9719deb98b.mp4 +屋顶着火宋茜,https://vd3.bdstatic.com/mda-ife08h4xpq85sg65/logo//mda-ife08h4xpq85sg65.mp4?pd=19&vt=1 +陈柯宇生僻字,http://vd2.bdstatic.com/mda-jb28qp6tauzkzpy9//mda-jb28qp6tauzkzpy9.mp4 +摩登兄弟探清水河,http://vd2.bdstatic.com/mda-jg6dffnbt92877h0/sc/mda-jg6dffnbt92877h0.mp4 +筷子兄弟小苹果,http://vd1.bdstatic.com/mda-hc2rwgemn6yrnvw2/mda-hc2rwgemn6yrnvw2.mp4 +李玲玉女儿情,http://vd4.bdstatic.com/mda-jiqh0kcd7kgpwnmb/sc/mda-jiqh0kcd7kgpwnmb.mp4 +你的酒馆对我打了烊陈雪凝,https://vd3.bdstatic.com/mda-ka59e4w0qxxsxnt0//mda-ka59e4w0qxxsxnt0.mp4?pd=19&vt=1 +醉千年李袁杰,http://vd3.bdstatic.com/mda-ihai9qt3yny3sx53//mda-ihai9qt3yny3sx53.mp4?pd=19&vt=1 +就算没有如果张杰,https://vdse.bdstatic.com//b362a1c2ecbc60b18d3dc06cdc97f142.mp4?authorization=bce-auth-v1%2F40f207e648424f47b2e3dfbb1014b1a5%2F2020-01-31T15%3A58%3A51Z%2F- +浮诛张杰,https://vdse.bdstatic.com/1c2dc5580507bc1b0ef507c63b3fc461.mp4?authorization=bce-auth-v1%2Ffb297a5cc0fb434c971b8fa103e8dd7b%2F2017-05-11T09%3A02%3A31Z%2F-1%2F +望赵丽颖张碧晨,https://vdse.bdstatic.com/25f5ae931f851bf09c48abaebe5d6f8d.mp4?authorization=bce-auth-v1%2F40f207e648424f47b2e3dfbb1014b1a5%2F2017-05-11T09%3A02%3A31Z%2F-1%2F +杜德伟-情人,http://vdown.kuwo.cn:80/resource/t4/59/86/iXqIb2KOC3M.mp4 +男儿当自强 林子祥,http://vdown.kuwo.cn:80/resource/t4/35/8/byLO9W5m5Y8.mp4 +陈雷-随缘,http://vdown.kuwo.cn:80/resource//t1/34/c9596b26ffc64cb5ab2c3f82068d167a.mp4 +歡喜就好,http://vdown.kuwo.cn:80/resource//t4/33/65/I4Vpjif2dxY.mp4 +故乡,http://vdown.kuwo.cn:80/resource/t4/23/63/hQYKyFEiljU.mp4 +爱情鸟,http://vdown.kuwo.cn:80/resource//t4/69/75/bD9N0L_qjcM.mp4 +爱拼才会赢,http://vdown.kuwo.cn:80/resource//t4/20/1/y12_ecvVJgA.mp4 +浪子的心情,http://vdown.kuwo.cn:80/resource/t4/53/44/3Rve23J-sy8.mp4 +草蜢-半点心,http://vodcdn.video.taobao.com/oss/ali-video/68fc953ff930412784dada5eb79d0821/1461058499/video.m3u8.m3u8 +草蜢-宝贝对不起,http://bizcommon.alicdn.com/l2nDqpMmn6DGHnWzZQA/RQdMfitGKCINh4BPzc9%40%40sd.m3u8 +陈倩倩-婴儿,http://vodcdn.video.taobao.com/oss/ali-video/4fc8d043456c092c392483bd293d0ee3/video.m3u8 +王菲-容易受伤的女人(国语),http://vodcdn.video.taobao.com/oss/ali-video/84722d96b62883dafdcc154afbf0bb03/video.m3u8 +王菲-执迷不悔,http://vodcdn.video.taobao.com/oss/ali-video/15bf7da88b44048edaabe73d6b17c00b/video.m3u8 +陈慧娴-千千阙歌,http://vodcdn.video.taobao.com/oss/ali-video/8f45a35108ebe1b1951d2936007e3cd0/video.m3u8 +陈慧娴-归来吧,http://vodcdn.video.taobao.com/oss/ali-video/c89589fd5809cf6e2f1a4d7a52023733/video.m3u8 +叶倩文-潇洒走一回,http://vodcdn.video.taobao.com/oss/ali-video/371d75312720e701b5f3988d46cdf4ef/video.m3u8 +吕方-朋友别哭,http://bizcommon.alicdn.com/l2nDqpMmn6DGHnWzZQA/qgljCDKewD8vEgOMrrt%40%40sd.m3u8 +王麟-伤不起,http://vodcdn.video.taobao.com/oss/ali-video/1e3633ff1c3a525e148968b45c18f780/video.m3u8 +李圣杰-痴心绝对,http://vodcdn.video.taobao.com/oss/ali-video/f2b27944f9960f3dbb2c6dd6c4679747/video.m3u8 +陈瑞-有谁知道我在等你,http://antiserver.kuwo.cn/anti.s?rid=MUSIC_1583218&response=res&format=mp4&type=convert_url +陈瑞-鱼和水的故事,http://antiserver.kuwo.cn/anti.s?rid=MUSIC_353501&response=res&format=mp4&type=convert_url +陈瑞-三生三世,http://antiserver.kuwo.cn/anti.s?rid=MUSIC_6449820&response=res&format=mp4&type=convert_url +陈瑞-一生的等待,http://antiserver.kuwo.cn/anti.s?rid=MUSIC_1583215&response=res&format=mp4&type=convert_url +陈瑞-一辈子的真爱,http://antiserver.kuwo.cn/anti.s?rid=MUSIC_28470656&response=res&format=mp4&type=convert_url +陈瑞-红尘永相伴,http://antiserver.kuwo.cn/anti.s?rid=MUSIC_506435&response=res&format=mp4&type=convert_url +陈瑞-男人酒女人泪,http://antiserver.kuwo.cn/anti.s?rid=MUSIC_40090112&response=res&format=mp4&type=convert_url +陈瑞-爱的痕迹,http://antiserver.kuwo.cn/anti.s?rid=MUSIC_1218815&response=res&format=mp4&type=convert_url +陈瑞-分手了别来打扰我,http://antiserver.kuwo.cn/anti.s?rid=MUSIC_5835684&response=res&format=mp4&type=convert_url +陈瑞-曾經是我的最爱的女人,http://antiserver.kuwo.cn/anti.s?rid=MUSIC_486357&response=res&format=mp4&type=convert_url +陈瑞-烛光里的妈妈,http://antiserver.kuwo.cn/anti.s?rid=MUSIC_1024266&response=res&format=mp4&type=convert_url +陈瑞-爱得真伤的深,http://antiserver.kuwo.cn/anti.s?rid=MUSIC_1218839&response=res&format=mp4&type=convert_url +陈瑞-父亲,http://antiserver.kuwo.cn/anti.s?rid=MUSIC_4247454&response=res&format=mp4&type=convert_url +陈瑞-别思,http://antiserver.kuwo.cn/anti.s?rid=MUSIC_3429064&response=res&format=mp4&type=convert_url +陈瑞-天长地久,http://antiserver.kuwo.cn/anti.s?rid=MUSIC_1583220&response=res&format=mp4&type=convert_url +陈瑞-心中的牵挂,http://antiserver.kuwo.cn/anti.s?rid=MUSIC_1583211&response=res&format=mp4&type=convert_url +龙梅子-都说,https://vd3.bdstatic.com:443/mda-ma7cm59x1m4015ip/v2-hknm/1080p/mda-ma7cm59x1m4015ip.mp4 +谭维维《蓝莲花》,https://rescdn.yishihui.com/longvideo/transcode/video/vpc/20201112/5623330ySHJCzL4DxMMpOtgHo.mp4 +雨花石-云朵,http://newcntv.qcloudcdn.com/asp/hls/2000/0303000a/3/default/20a65dbb23e4448cbcb52a756ebdc74d/2000.m3u8 +一砖一瓦-杨哲,http://txmov2.a.yximgs.com/upic/2020/11/07/23/BMjAyMDExMDcyMzQxMzZfMTU0MDc1NjUwOF8zODg5OTUwODg5MF8yXzM=_b_B41249b6fddaf4b4ef4bb5aee7c4f431c.mp4 +雨中相思-龙千玉,http://txmov2.a.yximgs.com/upic/2020/11/25/16/BMjAyMDExMjUxNjAwNDRfMTU0MDc1NjUwOF8zOTc3MTI2OTA2MF8yXzM=_b_B0652e68c50f21d5cb6bdda5dbc7a3c13.mp4 +月光瞑-蔡秋凤,http://txmov2.a.yximgs.com/upic/2020/11/25/15/BMjAyMDExMjUxNTQxMjRfMTU0MDc1NjUwOF8zOTc3MDYxOTQzOF8yXzM=_b_B5ef50d6b7967ca637b709b0bbd215806.mp4 +梦中情人-林乔安,http://txmov2.a.yximgs.com/upic/2020/11/08/21/BMjAyMDExMDgyMTAwMTNfMTU0MDc1NjUwOF8zODk0OTg4ODcxN18yXzM=_b_B5faf49255e0be7fc042ea521c28a458e.mp4 +一句再会-陈思安,http://txmov2.a.yximgs.com/upic/2020/11/07/23/BMjAyMDExMDcyMzM3MTdfMTU0MDc1NjUwOF8zODg5OTQ0NTkxMl8yXzM=_b_B75778f52a4759d91ee9275fffb96812f.mp4 +王彩華爱情的骗子我问你,http://vd4.bdstatic.com/mda-jm4h7v1isxwc660u/sc/mda-jm4h7v1isxwc660u.mp4 +蔡丽津月圆情,http://vd3.bdstatic.com/mda-jm53zq7k0b0kbxch/sc/mda-jm53zq7k0b0kbxch.mp4 +陈小云爱人跟人走,http://vd4.bdstatic.com/mda-jgvqig36bu4rc0ej/sc/mda-jgvqig36bu4rc0ej.mp4 +江蕙梦中的情话,http://vd2.bdstatic.com/mda-ji4rwrwg7fijyqkh/mda-ji4rwrwg7fijyqkh.mp4 +小凤凤爱情一阵风,http://vd2.bdstatic.com/mda-jjm7vgq1iahz0zpg/mda-jjm7vgq1iahz0zpg.mp4 +张秀卿车站,http://vd2.bdstatic.com/mda-jjmnjgiabtvmy13u/sc/mda-jjmnjgiabtvmy13u.mp4 +龙飘飘 歌声恋情,https://vd3.bdstatic.com/mda-nbr8qai32badkdf1/sc/cae_h264_delogo/1645933170027877953/mda-nbr8qai32badkdf1.mp4 +陈百潭初恋[848*480],http://vd4.bdstatic.com/mda-jk22i7yt5vyjbgwt//mda-jk22i7yt5vyjbgwt.mp4 +陈淑苹黄昏之恋[848*480],http://vd4.bdstatic.com/mda-jk0m1rgje4eh01cw//mda-jk0m1rgje4eh01cw.mp4 +陈淑苹离家,http://vd2.bdstatic.com/mda-iftyuk6tjcxrm53p/sc/mda-iftyuk6tjcxrm53p.mp4 +陈淑苹我的伤心谁人知,http://vd3.bdstatic.com/mda-ijjfe3s5z1iyvzgq/sc/mda-ijjfe3s5z1iyvzgq.mp4 +姜玉阳-刻骨的温柔[688*464],http://cloud.video.taobao.com/play/u/1748679248/p/2/e/3/t/1/15883785.m3u8 +罗时丰爱那么痛,http://vd2.bdstatic.com/mda-jcrjbhmgprhs00c4/sc/mda-jcrjbhmgprhs00c4.mp4 +罗时丰爱情的路,http://vd4.bdstatic.com/mda-jcrjcp1wy5q2i00n/sc/mda-jcrjcp1wy5q2i00n.mp4 +罗时丰擦掉彼句我爱你[768*432],http://vd1.bdstatic.com/mda-hj3j9zhu12h99a79/vs-f5f50550f0b93f5020da43ab88266eda-watermark//mda-hj3j9zhu12h99a79.mp4 +罗时丰男人的汗[848*480],http://vd4.bdstatic.com/mda-jm491avwdp96qg02//mda-jm491avwdp96qg02.mp4 +罗时丰无情之梦,http://vd2.bdstatic.com/mda-je1jq1hvgmab08gd/sc/mda-je1jq1hvgmab08gd.mp4 +罗时丰心事,http://vd2.bdstatic.com/mda-jaadiz1rwrtrj7kw/sc/mda-jaadiz1rwrtrj7kw.mp4 +罗时丰一定要成功,http://vd1.bdstatic.com/mda-hgmk00ncqxvvix0v/mda-hgmk00ncqxvvix0v.mp4 +毛不易 Ⅰ 借,https://vd3.bdstatic.com/mda-ii2njckdbkmmcp81//mda-ii2njckdbkmmcp81.mp4?pd=20 +毛不易 Ⅰ 牧马城市,https://vdse.bdstatic.com//1d83dfc2411243e5b9f44462e1e55ab3.mp4?authorization=bce-auth-v1%2F40f207e648424f47b2e3dfbb1014b1a5%2F2019-12-14T02%3A12%3A40Z%2F-1%2Fhost%2F4739737cd8b21cbdb307a5d008abe88a61afce23616c55f2a8fae768fc2b6764 +毛不易 Ⅰ 给你给我,https://vdse.bdstatic.com//4d056936c317b35f886ced83147ad7e8.mp4?authorization=bce-auth-v1%2F40f207e648424f47b2e3dfbb1014b1a5%2F2020-01-31T14%3A42%3A28Z%2F-1%2Fhost%2F13c0f2dda852b6fdbcd7422de8ac3a48437304b4c38728deeedb6558c47a9eb9 +王七七 Ⅰ 我愿意平凡的陪在你身旁,https://vdse.bdstatic.com/570e05ef514db00b14c9c10d1aef7f1f.mp4?authorization=bce-auth-v1%2Ffb297a5cc0fb434c971b8fa103e8dd7b%2F2017-05-11T09%3A02%3A31Z%2F-1%2F%2Fd5332371b8e0882511e0b75041fcd24f0899fa4237f56edacb89b6734f95ca97 +于文文 Ⅰ 體面,https://vdse.bdstatic.com//f18bdf41f28b68a1b0177fa5e5cdf8fe.mp4?authorization=bce-auth-v1%2F40f207e648424f47b2e3dfbb1014b1a5%2F2020-01-31T14%3A25%3A29Z%2F-1%2Fhost%2F1a9107b1210343ed30aa27779a042aab3d016777226b471ee5f38c8fc1e23cf1 +魏新雨 Ⅰ 恋人心,https://vdse.bdstatic.com//e179fea2ba171a7268188a055702229d.mp4?authorization=bce-auth-v1%2F40f207e648424f47b2e3dfbb1014b1a5%2F2020-01-31T15%3A18%3A42Z%2F-1%2Fhost%2F84badc350a20f1dfe035e91408acfe7e4b1e69fe262f4faaa5ca3af837e1592b +许艺娜 Ⅰ 如梦令,https://vdse.bdstatic.com/20e606730cb53b91bd4a4d2b0323e563.mp4?authorization=bce-auth-v1%2Ffb297a5cc0fb434c971b8fa103e8dd7b%2F2017-05-11T09%3A02%3A31Z%2F-1%2F%2F105e954b546582862111230676e2cdc84b0144bf00447793daa377381b7ddb0f +张杰 Ⅰ 浮诛,https://vdse.bdstatic.com/1c2dc5580507bc1b0ef507c63b3fc461.mp4?authorization=bce-auth-v1%2Ffb297a5cc0fb434c971b8fa103e8dd7b%2F2017-05-11T09%3A02%3A31Z%2F-1%2F%2F592cfc9d5b5bc41242144504ccf1f9f9df9d15b863f6f33c610e552faf629cd9 +张杰 Ⅰ 就算没有如果,https://vdse.bdstatic.com//b362a1c2ecbc60b18d3dc06cdc97f142.mp4?authorization=bce-auth-v1%2F40f207e648424f47b2e3dfbb1014b1a5%2F2020-01-31T15%3A58%3A51Z%2F-1%2Fhost%2Ff5f960beaff319951e978ff3850b31434a5d64f13c03c9724e988c251426270d +胡夏 Ⅰ 只问你肯不肯,https://vdse.bdstatic.com/d4463cd83c0c47fba7ce65c71ad94bbb.mp4?authorization=bce-auth-v1%2Ffb297a5cc0fb434c971b8fa103e8dd7b%2F2017-05-11T09%3A02%3A31Z%2F-1%2F%2F09b9a33c3ded7584f68a3b875a10ba6a021d74f32e4144c2c0327f05c57abfdc +张碧晨/赵丽颖 Ⅰ 望,https://vdse.bdstatic.com/25f5ae931f851bf09c48abaebe5d6f8d.mp4?authorization=bce-auth-v1%2F40f207e648424f47b2e3dfbb1014b1a5%2F2017-05-11T09%3A02%3A31Z%2F-1%2F%2Fbeb15438a125af0e53bc38c98b3f304da2e2c0f1f61103ce81a9df486dc138a3 + + +DJ音乐,#genre# +热火斯卡拉,https://vd4.bdstatic.com/mda-nk3qfbxhf5dqpywt/sc/cae_h264/1667582665910576925/mda-nk3qfbxhf5dqpywt.mp4 +怒击摇,https://vd2.bdstatic.com/mda-mkibx9zvknj8d2fu/sc/cae_h264_nowatermark/1637355659217322910/mda-mkibx9zvknj8d2fu.mp4 +新送情郎,https://vd4.bdstatic.com/mda-meq936zru7niwvd2/sc/cae_h264/1621924823247730000/mda-meq936zru7niwvd2.mp4 +震撼纯电音Drown,https://vd2.bdstatic.com/mda-mjshcpd847mhnjgj/sc/cae_h264/1635337200637124885/mda-mjshcpd847mhnjgj.mp4 +送给未来的你,https://vd2.bdstatic.com/mda-ma0st3ncw6i2yerr/v1-cae/sc/mda-ma0st3ncw6i2yerr.mp4 +模特DJ,http://gcw.bdcdn.shoujiduoduo.com/201805/0247-477.mp4 +21年DJ爆红网络洗脑神曲,https://vdse.bdstatic.com//bf4bb1d82b2eb17681c49e745dc2da21.mp4 +劲爆DJ串烧,https://vdse.bdstatic.com//01b1f78bb5b009d36ce3f5051e7383c1.mp4 +今日热歌DJ《如果爱还在》《A8回心转意》《爱到最后就是痛》,https://vd2.bdstatic.com/mda-mhhf5mr00yyhpfjs/1080p/cae_h264/1629284581057661229/mda-mhhf5mr00yyhpfjs.mp4 +推荐9首DJ舞曲_首首甜美醉人,https://vd2.bdstatic.com/mda-mhig1c3sw223mx8p/1080p/cae_h264/1629380139191731149/mda-mhig1c3sw223mx8p.mp4 +动感DJ《苦了累了听听歌》,https://vd4.bdstatic.com/mda-mhqekuf2r91v08dt/1080p/cae_h264/1629888246186602728/mda-mhqekuf2r91v08dt.mp4 +车载必备DJ《殇雪》《潮湿的心》《酒醉的蝴蝶》《多年以后》,https://vd3.bdstatic.com/mda-mhve4gb9hi8cstzk/1080p/cae_h264/1630319514896018158/mda-mhve4gb9hi8cstzk.mp4 +DJ《心在跳情在烧》,https://vd4.bdstatic.com/mda-mhwf07t27w3gi1y7/1080p/cae_h264/1630406994590156367/mda-mhwf07t27w3gi1y7.mp4 +孙艺琪《寂寞的人别听伤感情歌》,https://vd2.bdstatic.com/mda-mdscsws7443npwa8/1080p/cae_h264/1619516504/mda-mdscsws7443npwa8.mp4 +郭镐鸣《野摩托》,https://vd3.bdstatic.com/mda-mekfm7wu6f4rtt99/1080p/cae_h264/1621595318412084671/mda-mekfm7wu6f4rtt99.mp4 +赵蕾蕾《寂寞的城伤心的人》,https://vd2.bdstatic.com/mda-mesdm11tdp69a9ye/1080p/cae_h264/1622115758783335310/mda-mesdm11tdp69a9ye.mp4 +叶筱萱《爱到最后是孤独》,https://vd4.bdstatic.com/mda-mh9fjm2j86uyymfa/1080p/cae_h264/1628593607912074882/mda-mh9fjm2j86uyymfa.mp4 +海来阿木《浪子心》DJ沈念版,https://vd3.bdstatic.com/mda-mgr9s5pv0jeqbcm8/1080p/cae_h264/1627298307874491239/mda-mgr9s5pv0jeqbcm8.mp4 +《人间惊鸿客》,https://vd3.bdstatic.com/mda-mh2bbyjcqjxjhzkd/1080p/cae_h264/1627978577559447916/mda-mh2bbyjcqjxjhzkd.mp4 +DJ版《三月里的小雨》,https://vd2.bdstatic.com/mda-mgwegh0bzv4cy6cb/1080p/cae_h264/1627727251470197083/mda-mgwegh0bzv4cy6cb.mp4 +DJ版《望爱却步》,https://vd4.bdstatic.com/mda-mh3ei4sg2jypty79/1080p/cae_h264/1628072927342489970/mda-mh3ei4sg2jypty79.mp4 +《唱着情歌流着泪》,https://vd3.bdstatic.com/mda-mhwaejanf0ie6b8j/1080p/cae_h264/1630409563129833732/mda-mhwaejanf0ie6b8j.mp4 +DJ版《一个人挺好》,https://vd3.bdstatic.com/mda-mh6gqq4b59z26cjx/1080p/cae_h264/1628504623473300938/mda-mh6gqq4b59z26cjx.mp4 +《爱你到最后一刻》,https://vd3.bdstatic.com/mda-mhr9c7q9xzgy1812/1080p/cae_h264/1630062648077583523/mda-mhr9c7q9xzgy1812.mp4 +伤感DJ《等》,https://vd2.bdstatic.com/mda-mhq92a7nafrh8dma/1080p/cae_h264/1629977686796490849/mda-mhq92a7nafrh8dma.mp4 +DJ《我们不再是从前》,https://vd2.bdstatic.com/mda-mhne550wq5m66zvj/1080p/cae_h264/1629803514331462220/mda-mhne550wq5m66zvj.mp4 +DJ舞曲《让我做你的眼睛》,https://vd2.bdstatic.com/mda-mhaargrart2qrkdz/1080p/cae_h264/1629630942996744682/mda-mhaargrart2qrkdz.mp4 +DJ版《时间会知道你好不好》,https://vd3.bdstatic.com/mda-mhairve7gvye1192/1080p/cae_h264/1629457148988604256/mda-mhairve7gvye1192.mp4 +DJ版《爱不得忘不舍》,https://vd3.bdstatic.com/mda-mh8j8egnj8idbvd8/1080p/cae_h264/1629367979662473678/mda-mh8j8egnj8idbvd8.mp4 +DJ版《蜜雪冰城》,https://vd3.bdstatic.com/mda-mhbae2pwwxhyxjcz/1080p/cae_h264/1628767594518574030/mda-mhbae2pwwxhyxjcz.mp4 +《无味》DJ版,https://vd3.bdstatic.com/mda-mgqiagirsmmpuarm/1080p/cae_h264/1627218846577884242/mda-mgqiagirsmmpuarm.mp4 +DJ版《原谅你的谎》,https://vd4.bdstatic.com/mda-mhacxx5vhr2we882/1080p/cae_h264/1628673933350116053/mda-mhacxx5vhr2we882.mp4 +DJ《等爱》,https://vd2.bdstatic.com/mda-mfhh1e0hwq212rrt/sc/h264/1623988905898256147/mda-mfhh1e0hwq212rrt.mp4 +DJ《醉过多少回》,https://vd4.bdstatic.com/mda-megp46e98a4f2b9g/sc/h264/1621239560364992817/mda-megp46e98a4f2b9g.mp4 +DJ情歌《爱情迷了路》,https://vd4.bdstatic.com/mda-mdbrb7fns70avrmt/1080p/cae_h264/1618222287/mda-mdbrb7fns70avrmt.mp4 +DJ流浪兄弟,https://vd2.bdstatic.com/mda-mhrdtax1km0idkc5/1080p/cae_h264/1629972852606533219/mda-mhrdtax1km0idkc5.mp4 +车载DJ《多年以后》,https://vd3.bdstatic.com/mda-mhqekuegbh6112js/1080p/cae_h264/1629891559415737083/mda-mhqekuegbh6112js.mp4 +经典老歌DJ舞曲七首,https://vd2.bdstatic.com/mda-mhwbtsnrmm6v6x5r/sc/cae_h264/1630403250895754314/mda-mhwbtsnrmm6v6x5r.mp4 +精选五首DJ男声串烧,https://vd2.bdstatic.com/mda-maqfk730tsig88wr/v2-hknm/1080p/mda-maqfk730tsig88wr.mp4 +韩可可《错位时空》DJ版,https://vd3.bdstatic.com/mda-mgciytzb45z6z8yj/1080p/cae_h264/1626183756603775947/mda-mgciytzb45z6z8yj.mp4 +忘记你需要多久(DJ小鱼儿版),https://vd2.bdstatic.com/mda-mc1sm1r5s9azchjv/v1-cae/1080p/mda-mc1sm1r5s9azchjv.mp4 +车载DJ《今夜为你醉...》,https://vdse.bdstatic.com//b68123a666cce39e7413da912e3675a3.mp4 +抖音热歌《大风吹+夜夜夜漫长》,https://vdse.bdstatic.com//13da18e12728e9d7849f6589a3070b4c.mp4 +2021年最好听的DJ串烧,https://vdse.bdstatic.com//cd396057d1fbcb12f0600d38a16effbc.mp4 +2021年最火伤感音乐,https://vdse.bdstatic.com//6d39df48360bdb12f73800397c4a6c02.mp4 +2021年网络火爆伤感情歌6首,https://vdse.bdstatic.com//80e0473f97055cec1c9c76c1c7e5498a.mp4 +2021热门伤感DJ,https://vdse.bdstatic.com//06b4e9b185b843e694e4d20e9b0a0aac.mp4 +几首比较火的DJ情歌,https://vdse.bdstatic.com//4d7e8fe409b2ba9e08b179de8e146fa3.mp4 +《爱难求情难断…》,https://vdse.bdstatic.com//0c8ed110c5522e9bd31752ecb999b1ab.mp4 +花都开了你来不来DJ,https://vd3.bdstatic.com/mda-mdee523swbezmsin/480p/h264/1618480997/mda-mdee523swbezmsin.mp4 +5首劲爆dj,https://vd2.bdstatic.com/mda-mm69dxgtcqg28j9j/sc/cae_h264/1638860024910192032/mda-mm69dxgtcqg28j9j.mp4 +动感超人dj,https://vd3.bdstatic.com/mda-mm49pxqfvevcqbx4/sc/cae_h264/1638687905397245214/mda-mm49pxqfvevcqbx4.mp4 +野花香dj,https://vd3.bdstatic.com/mda-mm68k5z0h1qjm8n0/sc/cae_h264/1638980550463660240/mda-mm68k5z0h1qjm8n0.mp4 +精选dj,https://vd3.bdstatic.com/mda-mm68drt808w1nins/720p/h264/1638861890075163680/mda-mm68drt808w1nins.mp4 +伤感情歌DJ,https://vd3.bdstatic.com/mda-mkv7idcnxrgc3cnd/sc/cae_h264/1638257251905732477/mda-mkv7idcnxrgc3cnd.mp4 +DJ情歌,https://vd2.bdstatic.com/mda-mm67ychk60q5n0d1/sc/cae_h264/1638893384360470440/mda-mm67ychk60q5n0d1.mp4 +新情歌DJ,https://vd3.bdstatic.com/mda-mkm49f32vcaf16y0/sc/cae_h264/1637551531193286304/mda-mkm49f32vcaf16y0.mp4 +爱情情歌dj网,https://vd2.bdstatic.com/mda-mkq4iax6ed1yimay/sc/cae_h264/1637837116068761026/mda-mkq4iax6ed1yimay.mp4 +绝美情歌dj,https://vd2.bdstatic.com/mda-mkp952u577gbq8uc/sc/cae_h264/1637737197319948432/mda-mkp952u577gbq8uc.mp4 +酒吧舞女,https://vd2.bdstatic.com/mda-mkpe42g9za18xetn/sc/cae_h264/1637798968815645031/mda-mkpe42g9za18xetn.mp4 +劲爆舞曲DJ,https://vd2.bdstatic.com/mda-mkjdym3r2h7y5a58/sc/cae_h264/1637440648941328664/mda-mkjdym3r2h7y5a58.mp4 +慢摇dj舞曲,https://vd2.bdstatic.com/mda-mkpi5r0xe92ja446/sc/cae_h264/1637775035132431598/mda-mkpi5r0xe92ja446.mp4 +男神dj舞曲,https://vd4.bdstatic.com/mda-mkpbcp1thzqg8vju/sc/cae_h264/1637772142027994508/mda-mkpbcp1thzqg8vju.mp4 +韩国女团dj,https://vd3.bdstatic.com/mda-mknba5i60je0d2dn/sc/cae_h264/1637654844357830568/mda-mknba5i60je0d2dn.mp4 +七星酒吧舞曲,https://vd2.bdstatic.com/mda-mkq4p7459ade8936/sc/cae_h264/1637813773613914093/mda-mkq4p7459ade8936.mp4 +dj舞曲女人版,https://vd3.bdstatic.com/mda-mkp88kxv6r8y73k9/sc/cae_h264/1637733263867775329/mda-mkp88kxv6r8y73k9.mp4 +眉飞色舞dj舞曲,https://vd2.bdstatic.com/mda-mkqi8zsh8r874xii/sc/cae_h264/1637854401020299343/mda-mkqi8zsh8r874xii.mp4 +情歌DJ合集,https://vd4.bdstatic.com/mda-mkp3tpu9ghk2ufev/sc/cae_h264/1637733480141753790/mda-mkp3tpu9ghk2ufev.mp4 +四海舞曲dj,https://vd2.bdstatic.com/mda-mkp6w1tjw8mz9kpx/sc/cae_h264/1637731815454834601/mda-mkp6w1tjw8mz9kpx.mp4 +新世纪舞曲,https://vd4.bdstatic.com/mda-mkq704rtr59i9jtj/sc/cae_h264/1637823373696903055/mda-mkq704rtr59i9jtj.mp4 +dj舞曲交流,https://vd2.bdstatic.com/mda-majhhns1q3ggkdi6/v1-cae/sc/mda-majhhns1q3ggkdi6.mp4 +干就完了,https://vd3.bdstatic.com/mda-mkpd6xzxe91etw8c/sc/cae_h264/1637766099902911413/mda-mkpd6xzxe91etw8c.mp4 +金典老歌合集dj,https://vd3.bdstatic.com/mda-mkq6zqsvfa164i4i/sc/cae_h264/1637829051855604521/mda-mkq6zqsvfa164i4i.mp4 +学生dj舞曲,https://vd2.bdstatic.com/mda-mkncvdu8w51mdbqw/sc/cae_h264/1637659554429325643/mda-mkncvdu8w51mdbqw.mp4 +日韩舞曲DJ,https://vd4.bdstatic.com/mda-mknatf58h2evy18i/sc/cae_h264/1637653930525484478/mda-mknatf58h2evy18i.mp4 +国际舞曲,https://vd4.bdstatic.com/mda-mkpde77et4yvqx7e/sc/cae_h264/1637766610977026004/mda-mkpde77et4yvqx7e.mp4 +dj舞曲合集,https://vd2.bdstatic.com/mda-mkmeak5hsf7hmguz/sc/cae_h264/1637579072201459045/mda-mkmeak5hsf7hmguz.mp4 +dj舞曲金典,https://vd2.bdstatic.com/mda-mkk0g8x89nnx62tm/sc/cae_h264/1637456174213928981/mda-mkk0g8x89nnx62tm.mp4 +车载DJ舞曲《大风吹》《浪子闲话》《玛尼情歌》《沙漠骆驼》,https://vdse.bdstatic.com//7002925e04c4c451cfa8aafc9b4190c7.mp4 +《拈花一笑》《对面的小姐姐》《想你了小哥哥》《一朵情花开》,https://vdse.bdstatic.com//7cfaf27a4db89583e069a40fbc2ed84b.mp4 +网络金曲《拈花一笑》《陪你千山万水》《对面小姐姐》,https://vdse.bdstatic.com//c2deba4d320384736569e542ac531aff.mp4 +情歌DJ《拈花一笑》《对面的小姐姐》《酒醉的蝴蝶》,https://vdse.bdstatic.com//4eece717c6cc2fb9086a59a13ce30623.mp4 +情歌皇后林翠萍《相见不如不见》,https://vdse.bdstatic.com//1f65ad884619a069c68572f1ac9e2b0e.mp4 +林翠萍经典老歌《相会在梦里》,https://vdse.bdstatic.com//00fb72cd0b27bec6d9c0cd915874b50e.mp4 +林翠萍经典情歌《相思豆》,https://vdse.bdstatic.com//986498bb0ccd2114ba1274df22fae332.mp4 +精选韩宝仪经典歌曲10首,https://vdse.bdstatic.com//42d5ac65a9070eeab2513bf6bc65ea4d.mp4 +龙飘飘《我没醉》,https://vdse.bdstatic.com//3d48e45e47836cd75c202ec957260837.mp4 +龙飘飘《往事》,https://vdse.bdstatic.com//a28e362e15fa8c361219944bfb59b596.mp4 +美酒加咖啡龙飘飘,https://vdse.bdstatic.com//816c73543ede254586a625cacc67ea0f.mp4 +刀郎经典歌曲精选,https://vdse.bdstatic.com//4fcca19a19aa4974230c5ee70ab5fa55.mp4 +几首绝美情歌DJ精选,https://vdse.bdstatic.com//c5c64b60c9fdfbdfa3e959bb1d56c4b0.mp4 +《天路》《驼铃》《鸿雁》《九儿》《绒花》《小芳》,https://vdse.bdstatic.com//e4b7325ebf3010673a51a24f948a8a97.mp4 +《驼铃》《卓玛》《天边》《鸿雁》《天路》草原歌曲,https://vdse.bdstatic.com//f8f4740a4ca7ff31c3a2d8386fc14598.mp4 +毛宁《涛声依旧》《晚秋》《心雨》《春风吻上我的脸》《大中国》,https://vdse.bdstatic.com//21736d388636d7648510b2a36fc7cbfd.mp4 +山歌《阿里山的姑娘》《康定情歌》《山路十八弯》《敖包相会》,https://vdse.bdstatic.com//ae82f5b93166f47d85ff12124a021323.mp4 +《涛声依旧》《雾里看花》《窗外》《心雨》《听心》《晚秋》《母亲》,https://vdse.bdstatic.com//db8ba0fda2aad9cb15aa32887a160f06.mp4 +张也《望星空/为了谁/人间第一情/红梅赞/高天上流云》,https://vdse.bdstatic.com//038c6250208e42b9427a885e0370e1a2.mp4 +降央卓玛:这几首歌曲太动听,https://vdse.bdstatic.com//0ce1279c88ff9ab48f48d4e86860cd46.mp4 +【老歌DJ版】《精选8首》,https://vdse.bdstatic.com//525174705415c8773bd465ce4b88b18d.mp4 +2021一夜火爆几首DJ舞曲,https://vdse.bdstatic.com//1fc9fd16e02ca272bb81666b85bf4135.mp4 +2021《精选5首酒吧DJ舞曲》,https://vdse.bdstatic.com//0e59c29ddbc68ed60dce8a6f4631c1f1.mp4 +让人陶醉的几首DJ舞曲,https://vdse.bdstatic.com//0f464b2beaf5887f90ac36b68fcd342f.mp4 +粤语和华语经典歌曲【完整版】,https://vdse.bdstatic.com//2922763f303705ef65c46689578439ea.mp4 +最新dj,https://vd2.bdstatic.com/mda-mm4dszarfc74t9mx/sc/cae_h264/1638819159347843097/mda-mm4dszarfc74t9mx.mp4 +一点泪水dj,https://vd2.bdstatic.com/mda-mm52zzkus5fqm4xh/sc/cae_h264/1638783595083455661/mda-mm52zzkus5fqm4xh.mp4 +dj舞曲英雄泪,https://vd3.bdstatic.com/mda-mkt45tnypacz3smk/sc/cae_h264/1638069225501294830/mda-mkt45tnypacz3smk.mp4 +爱江山更爱美人金典,https://vd4.bdstatic.com/mda-mm2a18n5jdh6d8bs/sc/cae_h264/1638516147610932793/mda-mm2a18n5jdh6d8bs.mp4 +舞曲视频,https://vd2.bdstatic.com/mda-mm25g3080p08di8w/sc/cae_h264/1638529553032232968/mda-mm25g3080p08di8w.mp4 +今夜回望dj,https://vd2.bdstatic.com/mda-mkv7cbzq5xdtf9ms/sc/cae_h264/1638478442002383579/mda-mkv7cbzq5xdtf9ms.mp4 +小鱼授权,https://vd4.bdstatic.com/mda-mkn4iq79ihtufbc1/sc/cae_h264/1637639849265611965/mda-mkn4iq79ihtufbc1.mp4 +舞曲视频,https://vd4.bdstatic.com/mda-mkf4g5p5hpevqbx6/sc/cae_h264/1637033781127837401/mda-mkf4g5p5hpevqbx6.mp4 +舞曲视频2,https://vd2.bdstatic.com/mda-mkn56h2g8ux3dtxq/sc/cae_h264/1637642599802363137/mda-mkn56h2g8ux3dtxq.mp4 +车震一小时,http://gcw.bdcdn.shoujiduoduo.com/201805/0748-641.mp4 +车载DJ视频6,https://vdse.bdstatic.com//7e9d2da860d4ac39c0ea86502360d6fe.mp4 +好歌分享《精选6首伤感DJ舞曲》HD,https://vdse.bdstatic.com//0c87c8977d0a33498fe7362d3c60c22c.mp4 +2021爆红《6首女生版伤感DJ》HD,https://vdse.bdstatic.com//2e77709380ad7e6163e80c4d5c179689.mp4 +美人热舞洗脑DJ舞曲HD,https://vdse.bdstatic.com//3700f6b78ceaf0f4a5313f4d68c95b72.mp4 +2021五首女声伤感DJ情歌精品HD,https://vdse.bdstatic.com//c92e81328ef6d13ba7d44e6eb80f9f1e.mp4 +情歌DJ《怎么可以如此冷血》《为爱受尽相思罪》HD,https://vdse.bdstatic.com//61e318ea76e984f2bedb66f1ed1583be.mp4 +DJ劲爆舞曲《在我心里有个你》《东南西北风》《一万个对不起》等HD,https://vdse.bdstatic.com//8343b02f5e7465d4c5b07e54403438b8.mp4 +DJ情歌串烧《痴情恋歌》《红颜知己》《事与愿违》《缘分相遇》HD,https://vdse.bdstatic.com//904548e7bec804905906557ed2752017.mp4 +动听DJ情歌《红颜知己》《今夜为你醉》《别忘了我在等你》等HD,https://vdse.bdstatic.com//92d49c2aebc0bbbe08149b8e08e4a443.mp4 +DJ伤感好听《红颜知己》《事与愿违》《缘分相遇》《知情念歌》HD,https://vdse.bdstatic.com//1a7b05ab4eab2d68a679e442f4d80fab.mp4 +DJ情歌《昨夜的我又梦到了你》《心上的人儿你在哪》等HD,https://vdse.bdstatic.com//09b76fc9762763350288fb96047ec820.mp4 +《给我一把爱情火》《无情风雨无情的你》《昨夜的我又梦到了你》HD,https://vdse.bdstatic.com//63a770491e7bae0ebe661452c27eaf33.mp4 +林翠萍《麦搁來这套》HD,https://vdse.bdstatic.com//5b388a47b1233105831e09b8cadc1edd.mp4 +刀郎经典歌曲《敖包相会》《西海情歌》等专辑金典老歌HD,https://vdse.bdstatic.com//36ea0ffcf8156a44b9d524d999eb088a.mp4 +刀郎经典歌曲7首:《西海情歌》《敖包相会》《情人》冲动的惩罚HD,https://vdse.bdstatic.com//628ca08719cef5987ea2ae3c6f0d2386.mp4 +刀郎经典老歌合集《披着羊皮的狼》《西海情歌》《冲动的惩罚》HD,https://vdse.bdstatic.com//bfbb0871ed01eb3328497faae6a8531b.mp4 +云朵、刀郎、孙露、张雨生等经典怀旧歌曲6首HD,https://vdse.bdstatic.com//fa0ed7ad8657cc4d13972c3d9aa5ddbf.mp4 +《来生再去拥抱你》《梨花飞情人泪》《落雨的秋》《梦醉荷塘》HD,https://vdse.bdstatic.com//d5e3237c7ef186217ea1c9b24d58e2ae.mp4 +宇宁《千里江山(大型纪录片《紫禁城》主题歌HD,https://vdse.bdstatic.com//688046e42c39cf6585106f945e2798e7.mov +2021最佳伤感情歌HD,https://vdse.bdstatic.com//59c5abc138bf1da5585bb765c530137e.mp4 +2021伤感洗脑神曲HD,https://vdse.bdstatic.com//8ad29ca92a901b9992431cf0c5266101.mp4 +经典粤语歌曲《上海滩》《铁血丹心》《神情神话》《沧海一声笑》HD,https://vdse.bdstatic.com//f9cda7e70273c267b61a3d0c969d2033.mp4 +苍天不负有情人,https://vd3.bdstatic.com/mda-jm5iqyuj8bapffdb/hd/mda-jm5iqyuj8bapffdb.mp4 +4k超清车载劲爆,https://vd2.bdstatic.com/mda-ncg1mhvhiy7fkgzs/sc/cae_h264_delogo/1647481028509277070/mda-ncg1mhvhiy7fkgzs.mp4 +经典dj《站台》,https://vd2.bdstatic.com/mda-mju7bud6vwuub0nq/hd/cae_h264_nowatermark/1635484907845663119/mda-mju7bud6vwuub0nq.mp4 +东南西北风DJ,https://vd2.bdstatic.com/mda-ncnfhdbt5mucyi3w/cae_h264_delogo/1648033513910900148/mda-ncnfhdbt5mucyi3w.mp4 +2022伤感DJ串烧dj,https://vd2.bdstatic.com/mda-ncm68fx91zybkka3/cae_h264_delogo/1647925011440022023/mda-ncm68fx91zybkka3.mp4 +还没有爱够DJ,https://vd3.bdstatic.com/mda-ncjgwmv1u85an74x/cae_h264_delogo/1647781725809492842/mda-ncjgwmv1u85an74x.mp4 +花儿笑了DJ,https://vd4.bdstatic.com/mda-ncj7vawq5rnk5v59/hd/cae_h264_delogo/1647759626623363912/mda-ncj7vawq5rnk5v59.mp4 +打工辛酸泪DJ2首,https://vd4.bdstatic.com/mda-na5fafrtbvvf5wib/hd/cae_h264_delogo/1641996387070390433/mda-na5fafrtbvvf5wib.mp4 +都是兄弟DJ,https://vd2.bdstatic.com/mda-nad5ctdnq3w1zssn/hd/cae_h264_delogo/1642142912024126404/mda-nad5ctdnq3w1zssn.mp4 +只能拼自己DJ人不可貌相,https://vd4.bdstatic.com/mda-mmw9fee0n7gtsu2k/480p/h264/1640932948187120706/mda-mmw9fee0n7gtsu2k.mp4 +dj新歌句句在理,https://vd4.bdstatic.com/mda-ncmb65kfdfysdq4g/sc/cae_h264_delogo/1647946141035592767/mda-ncmb65kfdfysdq4g.mp4 +新歌上线7首,https://vd2.bdstatic.com/mda-nc4fkdejg6k892tp/720p/h264_delogo/1646478313883739193/mda-nc4fkdejg6k892tp.mp4 +北方姑娘,https://vd3.bdstatic.com/mda-ncc6hbwdde59r16h/sc/cae_h264_delogo/1647146424330053026/mda-ncc6hbwdde59r16h.mp4 +一生输给了爱情,https://vd2.bdstatic.com/mda-mkn4yr0d9ypy9wns/sc/cae_h264_delogo/1643224005214992888/mda-mkn4yr0d9ypy9wns.mp4 +酒吧慢摇DJ舞曲,https://vd4.bdstatic.com/mda-ncm0qvdrfhujssxg/sc/cae_h264_delogo/1647910096911072273/mda-ncm0qvdrfhujssxg.mp4 +这首新歌_一听就上瘾,https://vd4.bdstatic.com/mda-nckaxf6j35t5e3j4/sc/cae_h264_delogo/1647849433211786752/mda-nckaxf6j35t5e3j4.mp4 +新歌上线_啥歌这么好听,https://vd4.bdstatic.com/mda-nce4pddwfdazhgrt/sc/cae_h264_delogo/1647315872347291980/mda-nce4pddwfdazhgrt.mp4 +《女人的心声》,https://vd3.bdstatic.com/mda-ncmgnz6479fenq1w/hd/cae_h264_delogo/1647950253700208169/mda-ncmgnz6479fenq1w.mp4 +负心的你,https://vd4.bdstatic.com:443/mda-mcbs0hpjpkpwethe/1080p/h264_cae/1620492489548087433/mda-mcbs0hpjpkpwethe.mp4 +初恋的人,https://vd2.bdstatic.com:443/mda-mhwdgysnspnb1nnr/1080p/cae_h264/1630404398162757730/mda-mhwdgysnspnb1nnr.mp4 +初恋情人,https://vd3.bdstatic.com:443/mda-me57bm308iu6stcz/1080p/cae_h264/1620279663855106642/mda-me57bm308iu6stcz.mp4 +爱情一阵风,https://vd4.bdstatic.com:443/mda-mdkd7yybv4y505qa/1080p/h264_cae/1620480120114753589/mda-mdkd7yybv4y505qa.mp4 +林翠萍-情网,https://vd4.bdstatic.com:443/mda-mipn4ccctdasgr2r/fhd/cae_h264_nowatermark/1632498915227563300/mda-mipn4ccctdasgr2r.mp4 +爱情的骗子我问你,https://vd4.bdstatic.com:443/mda-me7emge7ku6b7g9h/1080p/cae_h264/1620470361962860122/mda-me7emge7ku6b7g9h.mp4 +我用自己的方式爱你,http://vdown.kuwo.cn:80/resource/t1/46/26af4a23c9e04725bd1dc491b662f386.mp4 +无奈的思绪,https://vd4.bdstatic.com:443/mda-kkbxxmr5nn2swgu6/sc/cae_h264_nowatermark/1605192499/mda-kkbxxmr5nn2swgu6.mp4 +点燃一根烟,https://vd2.bdstatic.com:443/mda-mdapwdafpsiy63zu/1080p/h264_cae/1620614712517070219/mda-mdapwdafpsiy63zu.mp4 +今生最美的遇见,https://vd4.bdstatic.com/mda-ncjf6j5xqwx35wxc/sc/cae_h264_delogo/1647774687601159968/mda-ncjf6j5xqwx35wxc.mp4 +多彩的哈达,https://vd2.bdstatic.com/mda-nccdp2tcnwx6cpmn/sc/cae_h264_delogo/1647164915434344506/mda-nccdp2tcnwx6cpmn.mp4 +陕北民间,https://vd4.bdstatic.com/mda-ncfk4vpkpbuhnu0s/720p_frame30/h264_cae_delogo/1647440102957240321/mda-ncfk4vpkpbuhnu0s.mp4 +情歌DJ舞曲,https://vd2.bdstatic.com/mda-nag6y4ryfy5a0hjb/720p/h264_delogo/1642396108696963578/mda-nag6y4ryfy5a0hjb.mp4 +9首醉人的情歌,https://vd2.bdstatic.com/mda-nca3btr4bdxce5wj/sc/cae_h264_delogo/1647136483442128566/mda-nca3btr4bdxce5wj.mp4 +韩宝仪《情人桥》,https://vd4.bdstatic.com/mda-jehka6exkt6va8id/sc/mda-jehka6exkt6va8id.mp4 +韩宝仪无聊的游戏,https://vd2.bdstatic.com/mda-nb8j3b6sz77bdvk8/sc/cae_h264_delogo/1644413904258506067/mda-nb8j3b6sz77bdvk8.mp4 +高清舞曲,https://txmov2.a.kwimgs.com/upic/2022/03/25/20/BMjAyMjAzMjUyMDUyNTZfMjM0NDc1MTE5N183MDQ0NzkzMTQxOV8wXzM=_b_B383b34c7a7c97f97b5350f622d8da0a6.mp4?tag=1-1648554367-std-1-puqq96jiry-1167f7fd60758f88&clientCacheKey=3x3qtumzyu5rh6w_b.mp4&tt=b&di=79c43beb&bp=12681 +痴心是我犯的错,https://vd2.bdstatic.com/mda-ncpa1ziw0urtvsuy/720p/h264_delogo/1648105627756677310/mda-ncpa1ziw0urtvsuy.mp4 +新歌,https://vd4.bdstatic.com/mda-ncg9dxe96d9039u2/sc/cae_h264_delogo/1647648778266965968/mda-ncg9dxe96d9039u2.mp4 +《好听情歌8首》,https://vd4.bdstatic.com/mda-nca4dy51snpz9cnz/sc/cae_h264_delogo/1647144982589585207/mda-nca4dy51snpz9cnz.mp4 +DJ新歌上线,https://vd3.bdstatic.com/mda-nckdkm6sj1p9q7c9/sc/cae_h264_delogo/1647859589943780399/mda-nckdkm6sj1p9q7c9.mp4 +DJ酱爆鱿鱼舞曲版》,https://vd4.bdstatic.com/mda-ncidj3kqg98a7ent/360p/h264_delogo/1647683015061569002/mda-ncidj3kqg98a7ent.mp4 +DJ给我一把爱情火,https://vd2.bdstatic.com/mda-ncg42rnzxats8h83/cae_h264_delogo/1647486932330653636/mda-ncg42rnzxats8h83.mp4 +新歌上线,https://vd4.bdstatic.com/mda-nc005jwr87jrdssh/sc/cae_h264_delogo/1646179767551234681/mda-nc005jwr87jrdssh.mp4 +刀郎的西海情歌,https://vd2.bdstatic.com/mda-nctex3rji1v42a0w/sc/cae_h264_delogo/1648464135631429287/mda-nctex3rji1v42a0w.mp4 +伤感DJ串烧为爱流泪,https://vd3.bdstatic.com/mda-nci8jqpzeyqkhdxe/720p/h264_delogo/1647670097763149460/mda-nci8jqpzeyqkhdxe.mp4 +林翠萍的《我太傻》,https://vd2.bdstatic.com/mda-mb5qq1ic4yvekk6r/v2-hknm/sc/mda-mb5qq1ic4yvekk6r.mp4 +伤心的眼泪,https://vd3.bdstatic.com/mda-ncn2c816zrf6u0im/sc/cae_h264_delogo/1648002300550722369/mda-ncn2c816zrf6u0im.mp4 +《英雄泪》,https://vd3.bdstatic.com/mda-ncnp6tm56ngrxbis/360p/h264_delogo/1648055585617071282/mda-ncnp6tm56ngrxbis.mp4 +2022几首DJ串烧,https://vd3.bdstatic.com/mda-nck3tqzgjvj076vc/sc/cae_h264_delogo/1647833645083560959/mda-nck3tqzgjvj076vc.mp4 diff --git a/tvboxqq/tvboxqq/南风/spider.jar b/tvboxqq/tvboxqq/南风/spider.jar new file mode 100644 index 0000000..d8cc054 Binary files /dev/null and b/tvboxqq/tvboxqq/南风/spider.jar differ diff --git a/tvboxqq/tvboxqq/小米/api.json b/tvboxqq/tvboxqq/小米/api.json new file mode 100644 index 0000000..83b893d --- /dev/null +++ b/tvboxqq/tvboxqq/小米/api.json @@ -0,0 +1,439 @@ +//资源全部免费,仅供测试交流,请勿内置传播与转卖;关注微信公众号:奇奇乐分享,发送“本地包”获取教程与更多资源! + +{ + "spider": "./spider.jar", + "wallpaper": "https://www.wexwp.cc/bizhi.php", + "sites": [ + { + "key": "豆豆", + "name": "🌈热播┃项目链接>:https://link3.cc/lovemm", + "type": 3, + "quickSearch": 0, + "filterable": 0, + "changeable": 0, + "api": "csp_Douban", + "searchable": 0 + }, + { + "key": "config", + "name": "🧰网盘┃cookie配置💯", + "type": 3, + "api": "csp_Config", + "searchable": 0 + }, + { + "key": "csp_Netfixtv", + "name": "💌至臻┃网盘4K💥", + "type": 3, + "changeable": "0", + "quickSearch": 0, + "api": "csp_Duopan", + "filterable": 1, + "ext": { + "site_urls": [ + "https://mihdr.top", + "https://www.mihdr.top", + "https://www.miqk.cc", + "https://xiaomiai.site", + "https://xiaomi666.fun", + "https://www.zhizhenpan.fun" + ], + "url_key": "Netfixtv", + "token": "", + "ucCookie": "", + "quarkCookie": "", + "threadinfo": { + "chunksize": 512, + "threads": 16 + } + } + }, + { + "key": "csp_Netfixtv2", + "name": "📟二小┃网盘4K💥", + "type": 3, + "changeable": "0", + "quickSearch": 1, + "api": "csp_Duopan", + "filterable": 1, + "ext": { + "site_urls": [ + "https://www.wexwp.cc", + "https://wexwp.cc", + "https://zhizhen1.top", + "https://www.2xiaopan.fun/", + "https://2xiaopan.fun/", + "https://www.2xiaoyun.fun/" + ], + "url_key": "UC", + "token": "", + "ucCookie": "", + "quarkCookie": "", + "threadinfo": { + "chunksize": 512, + "threads": 16 + } + } + }, + { + "key": "csp_Wogg", + "name": "🧸玩偶┃网盘4K💥", + "type": 3, + "api": "csp_Wogg", + "changeable": "0", + "quickSearch": 0, + "filterable": 1, + "ext": "Yu2Y3Q8tqDTqZ+GCqfQZz8i/vsP/tl9O+/0ZjpgnBg+2RfEareoNuL/Pl5M72Qa7kLxIiSX9vw43FPihBY2n/maEHOEs7WGA2T/7NojmydALUIhhnc3jYOnh2KHHfokMo6IosAN/HGNN8Je7i0Q/rL7kSVIrNzcaH9uonFPYh5dshTaO26cuMfuRGObY7TG2etjrtIY7Cvmh9OYKVAdLzNlqAxC2m0hu+hlP/VBNWk8dJaPTEC2E8iY8E4aYgfNJPFWSDBaJoYgJ38mLekQccXn+3g/5EBt29+pMhYgbRUwxV7QArevAzfkWtcJIPf9oeOHI3qZ7a1T9Gj+k62YBcbD9e/u29Uic0IsCzJOE8xgr1gaWLs5qLUT82Rdf7Pu9gH0FPb0uQorMiBBDsaQJwll8wBCbEc1F8b9Ut/e9kyoJKNdcKaMXVfQod/XMFx6ST63piNdL/gPGecSjsKht1M3K9pa54mjEkWEx0jnxFVBx+GJt2INnNMSG1iWy574dzS9zWcED5SXgjUbXncKe4ghIUzgy1nBDoyCaTW/RlRzdYwJFCytDEeLOBI751TEKL6XcwySfB8kPdQyl1+ytAA==" + }, + { + "key": "csp_Duopan", + "name": "🖍蜡笔┃网盘4K💥", + "type": 3, + "quickSearch": 0, + "changeable": "0", + "api": "csp_Duopan", + "filterable": 1, + "ext": { + "site_urls": [ + "http://xiaocge.fun", + "http://feimo.fun", + "https://feimao666.fun", + "http://feimao888.fun", + "http://www.labi88.sbs", + "http://fmao.site", + "http://fmao.shop", + "http://xiaocgege.shop" + ], + "threadinfo": { + "chunksize": 512, + "threads": 16 + }, + "url_key": "Duopan4" + } + }, + { + "key": "天天", + "name": "💯秒播┃影视💯", + "type": 3, + "quickSearch": 1, + "searchable": 1, + "api": "csp_AppRJ", + "ext": "vxw35/hHSj07Q+maxQzOVMq1rjRCOTXpUCx8iKu5jIg=" + }, + { + "key": "csp_Music", + "name": "🎵MUSIC┃听歌", + "type": 3, + "api": "csp_Music", + "quickSearch": 0, + "searchable": 0, + "ext": "" + }, + { + "key": "88看球", + "name": "🏀看球┃直播", + "type": 3, + "api": "csp_Kanqiu", + "searchable": 0, + "quickSearch": 0, + "filterable": 1, + "order_num": 0, + "changeable": 0 + }, + { + "key": "csp_Bili", + "name": "🏵️哔哩┃哔哩", + "type": 3, + "api": "csp_Bili", + "quickSearch": 0, + "searchable": 1, + "ext": { + "json": "https://cik07-cos.7moor-fs2.com/im/4d2c3f00-7d4c-11e5-af15-41bf63ae4ea0/1ef9257f7cd6eac9/bilibil.json", + "cookie": "" + }, + "style": { + "type": "rect", + "ratio": 1.333 + } + }, + { + "key": "老丫", + "name": "🍞老雅┃1080P", + "type": 3, + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "changeable": 1, + "api": "./api/fox.js", + "ext": { + "host": "https://cms99api.ystva.com" + } + }, + { + "key": "聚搜2", + "name": "🚗JUSOU┃1080P", + "type": 3, + "api": "./api/AppToV5.py", + "ext": "http://118.89.203.120:8365/" + }, + { + "key": "巧技2", + "name": "💢聚搜┃1080P✨", + "type": 3, + "searchable": 1, + "quickSearch": 1, + "api": "csp_qiao2", + "playerType": 2, + "jar": "./jars/巧技2.jar", + "ext": "7lj763gg402i7942412h849jg1558j9jl8g19213il86316k465719lik158491h179312h4934183ig2l05g9" + }, + { + "key": "爆炸", + "name": "🎴爆炸┃1080P", + "type": 3, + "api": "csp_AppGetV2", + "changeable": "1", + "quickSearch": 0, + "filterable": 1, + "ext": "pghUv+IPbIqGFEhny2nIStK3kvYuQF1lj98M0YXLH7Vmu8vVscTp5N3ez4yblkrSfdCHlm4BW9GfqxpmOugdHzmaIMUcG6iFE2QkGiogg/EkrBoFyqPlXfgqCnwvnkLTwIm6HlAJq81hOBdm8KYMAenzS1FXuj3q8/Rbai4OcSMAWvA2Wl8uB576gCLKVN0lFUFcvAYefFSkfhF9f0iyDuG/LBv87IIBNwyVB/MgWEuUwwoBhSfvjS09Mc9Ic7G4yBz6TguFIQ5Xqa2xQBGjFYb4nDoygkIbt3a7bQGmktJxEHdOhhm8nYvhDe9+/8HB7EJgHSlT5hnLoCgqcFHLqn+oof8StNPQo8Pjjik3L4VEfTfCYWaN7ZFWASzTkPIr" + }, + { + "key": "橘子", + "name": "🎴JUZI┃1080P", + "type": 3, + "api": "csp_AppGetV2", + "changeable": "1", + "quickSearch": 0, + "filterable": 1, + "ext": "FNc7O3Sq/hxz7uCzbccPTwmKS9QhqbhDC5J/tBK99TWfK0aEwzyajhrUANmtu0o/w36kBG8LM77XaSazDF+/gYPfNaL4qTRYwqUKxL4cr84pssT9H168H7YT0HD1jUpcBYXSFfirex66s9O56hHTJCavdCBPyAY+K1jwYeoEEhGWSCLhW+JJBxU7rItkKh2VHMg4vh/A7M+5ydA1fIuNP8T5JR3+475o6yUWkUH7nv/8uqjmZKhq70mQZTaMPiVaBqG+SL9NKYo5Yk4vpsUBErE2uzducc78nK0PT5ShRhLv6POBMNNZZN+/O0MFX+83BqCWsbHMNipM5zOIja/xr2x14WPH7BDlUqkw9w105US6oRwZ8jtdS0cvn5u4BT9W14rSUBAMy36xrjYR3f1OUkmlIvz6sC8OAagD/CRSwFYrh9zbMvw5V2ntYK+wDdiIq6HTkXG/86MN6lYEHkEAC4sYoxBpS5KaPlDFoOo5ED4=" + }, + { + "key": "爱营", + "name": "🎴AIYIN┃1080P", + "type": 3, + "api": "csp_AppGetV2", + "changeable": "1", + "quickSearch": 0, + "filterable": 1, + "ext": "N/01JeZBCBEQ0wOXNuAI/kwsk5p8MqEDFtLQfMnVixAS3aeDEPdCV317OImxNn6T3Hb5VmwFLOhgFAQJ+is4HZ3ndDCtqOfPVULszPg13PiW+RHbzH5TtSdAiFfw0D1dLa7TDpTcFxuXv5MJI8925dg51pBjkSqNZt8Jz0nbRDK8eQSoCbsw2I93ke+olS9cVWkurB8mwxms5nD8AqSV4eHdYOwwU2q4ln6jV8KEyhnOHxJEjNLT8hk0SFdgLqRwqbqyl6kSqmTlPX681FYZnBN19r49ojprcBeFmLUB3Rn0LrpWzz0zIeycV8N00oXiCh5kd2caQMyUPPWdyfQbKwV6V+6dQAKtSNoTpxRNGqTimifZEJFGizQMko6AQpQpW0FHr7B3gLmmiknNMWJe/gcG7lhWSAiIGzxVnzBhCmSlOKB3sq/tAQSBrPNWKpSNFx5prQHKpStELIHAnqdNUS31u0xrGq9ejUdadgR9pxO6QcCHk0Ln0tnUA69uiJ9q1udCFx8+5i+c320rpMKGnA==" + }, + { + "key": "QD4K", + "name": "🐷猪猪┃影视", + "type": 3, + "searchable": 1, + "quickSearch": 0, + "api": "./api/AppV2.py", + "playerType": 2, + "ext": { + "api": "http://dmmax.kuailezhuiju2.com/icciu_api.php/v1.vod", + "datasignkey": "6QQNUsP3PkD2ajJCPCY8", + "apisignkey": "lvdoutv-1.0.0" + } + }, + { + "key": "顾我", + "name": "🎴顾我┃1080P", + "type": 3, + "api": "csp_AppGetV2", + "changeable": "1", + "quickSearch": 0, + "filterable": 1, + "ext": "FNc7O3Sq/hxz7uCzbccPTwmKS9QhqbhDC5J/tBK99TXBAOG5IeeHo7xSXryC0vBoO5B1l2XmjJKdkeCZu5v1UxCZcIXe/1cmcBYcHAk746JE1FosonleIPqUFKByjhLwUU1doZS06jAVhSjz7X90y5GWmFqHmqD7ArxYzUSMQxyKerhNQ2ZWaJ2ka4jFMRPVVDQrBge5CgBGsw/HTb/+Q12qdcSTymLUN/cfwoUZ4uqBcSPbxSIrB4znIU2PcCtnX14vLtsWp1u/cbGV+kP8486YY8kGEs2qq+T34UaXBZf9Kk1t0Qt6yrj57yptwkeJXa2gK176ebs/D71tmX2ErBjije7pqwpRtEmeAmBWxohh9kLrGdh97ODRSzyNYE93Ai7nbGoskd/2r1Uu5NLCEqCIBBhH1qI6Jl/jWIVcngIDBm5KoTPs1ZxNWEqnOyP8nf8FuHZkRp/o26HL5LXb17UOkCmecqDKg3vjcnBKPNg=" + }, + { + "key": "仓鼠", + "name": "🐀仓鼠┃1080P", + "type": 3, + "api": "csp_AppGetV2", + "changeable": "1", + "quickSearch": 0, + "filterable": 1, + "ext": "pghUv+IPbIqGFEhny2nISnBe3jtwrkrKmA9gFPEXpcZgiPeFt+IbNv07s1Audo9ooQlGiutxlinjRU5ay7QOX/gM8IRK1hicXoB4fj3+61s7v2vM5Thnd8MsElWnB8G9H04+FEXWP5PFsxcydV2n0MSdL9s1HLrt47UbYe79c2AWxDNSuDxJpbtrnWuR/DMq7+qlSYLPH1ZZRnJS5B2M4u20YwZRcc2V2RV85ughDqkb+Sk20Hmad84HioaOnBQFdDj8bNxsxYWjnnlLUNZori8QwADfAoBFKaDRuqxkUss=" + }, + { + "key": "云速", + "name": "🍼云云┃1080P", + "type": 3, + "api": "csp_AppGetV2", + "changeable": "1", + "quickSearch": 0, + "filterable": 1, + "ext": "pghUv+IPbIqGFEhny2nISqwnd+ZrLZS4oOovoDKrPwa8JWS5zzoWGioKpDjUFvBJr0S7A/z5np7s3vbM2DsPSgChWUFqeOtR292/yzIXpDLpHsf0V7gMJfDcOklI8ANoEHc2x/WQFzmMxg5pE9DZJFJ3pkI96Ralddap07nF39fdXftP1fxv3/2U6Oh45EXNV1haetnG3NaxebkU1OHfa4oONC1wOLIoPyDcJb4LBFptemHoubsOIiqaZoVgGdEHgQuaNYNPJ2geGyrshsfO0fnffr9Anv66uTz2sjVkh0BqZgIg4mFG1D5WMjbX/zDZKYHr+O0u+WVjF26vTPcrzSMot9nwsgXRPOw+jlu62oOSyhOlzf24jTF3KweU+oRR" + }, + { + "key": "魔方", + "name": "🥪魔方┃1080P", + "type": 3, + "api": "csp_AppGetV2", + "changeable": "1", + "quickSearch": 0, + "filterable": 1, + "ext": "0YM2rlqPCLd5eMAslwMf/kCE22ncNd3xnmwrQY9SCQHXWdeo2H/sfIiHuBMc3PzPEVY5G9M3x+gMD2forwOxfrm19dVzxOnNMp1ifx9OE2sq8B3N9rwsK51+tiWkbkBXe97ltXwk1WutyDZRGlllk+7h+Urgo217z5GqoWbso/7QmUZUdpH3zfXXuW0Guyanl7S1RWawJMkP7sCO23zv+Jp7lRMH5q/nWZFDYK7QKExZrzazEptEa/hczMEdnGJmibozbgaxeaWXIs8suJ0Y/4Oq41APBwdk28BygjvI88Wn+4GIquYsyopBZ+5lYZtn9Hi/35yqZM1xmBOqNi2QaK0o0tJGj7AWJL1nwE1Nd4rUtgvCL7CNGSnLmy35EeGfrx32x2qnpWDfLws/jyKbqkDphx1Fa9xxSqLVrulZVUJuWZS1hCeZ2yG9X0W2UWzivH+AzDUXDSWUwslvB4F4ZLR32ehoI+O39Y3/pZvCOlXjMVjvgT6von35RIiOjQbY" + }, + { + "key": "星星", + "name": "🍥星星┃1080P", + "type": 3, + "api": "csp_AppGetV2", + "changeable": "1", + "quickSearch": 0, + "filterable": 1, + "ext": "FNc7O3Sq/hxz7uCzbccPTwmKS9QhqbhDC5J/tBK99TVOHLlZGML6w5s00rYaRDRk44y4l2VZIg51xAZOs4LCX4bidVaNqnZSwvq1di3RUOk5+pqqDBbEhzsV2VsblBDDcFPmwFvwSc80outLvvsjfZ5L3Qj6KfDm63MsiSTI125bBAKRXPoqvfSLDcN0ojyD4p1gyFPEftaY/gE8Q/Z4zEzdsDaxnUJCA9wQrDOGOqmaHz400914DN7gJesIf/i+Hh8bjrqfej84yQ7cJDC6zX5MqaZFwtRGJ6PlEElJAw1i69/quACnLkHOQSHsLrs9Fuc/qM2iJqCXFsrojXIwhbDLpCasWXOJH3RLFMSd/T7nsIoeSsBt01k6xT2KC0Y5AjWMDyE1zCDwZoRoTm4MGBei0IyaWoWq6Kz+IGCqqsiC0ylLcX1nF3VM7mrhmWdZqPl6uFqpdMoGzfg+s8pRc5qH2ykzHmqLHx9pSoLiAdM=" + }, + { + "key": "JINPAI", + "name": "🍥JINPIA┃1080P", + "type": 3, + "api": "csp_AppGetV2", + "changeable": "1", + "quickSearch": 0, + "filterable": 1, + "ext": "N/01JeZBCBEQ0wOXNuAI/kwsk5p8MqEDFtLQfMnVixDB3xui1lDymx4fnoCgxm59NbdMM2FDEd1LoNOCZvedKAplW6Go0JtGfzXnn65Pg1kPIthOoYoQWgY/lKhQKzzcLQKb1ezm1qhhKR/lEhfm+EbojsfeaAOeOaSCVPPzSkVw2DmHMhYv+yWi9ExOHyfuXX1csfF6G/UWPw12lFNeElpZMAUAQG2LEcbRadEvVmNm3YDM07Dn4F8Fcvsnb08MRb3GO2sEZSdjqf85kk1tVNb5zdfho1F01S/Cvzp4Lz+TE9ttJdTPredSWbGdEqE6nSkfEYZvFEnCD8bleLRdOPik/WqX5gPv+gSRakGrrGx7FwM3Ase0Bd8sy6ZfJqfs8IllB1ckfC0POuFEmprDW4ERNmIFJHsZcS128w9xhNUrtuPnocdErRw7+shj+W3Hc4pGqZpprTTxaXp9zA+HcGj/qeNIOXt32yoDOnpy9SOHNSvD4Joue4EcTCkqnJoC" + }, + { + "key": "荐片", + "name": "🧲JIANPIAN┃磁力", + "quickSearch": 0, + "changeable": "0", + "searchable": 1, + "type": 3, + "api": "csp_Jianpian", + "style": { + "type": "rect", + "ratio": 1.333 + }, + "ext": "https://ev2089.zxbwv.com" + }, + { + "key": "csp_SaoHuo", + "name": "🔥HUOHUO┃影视", + "type": 3, + "api": "csp_SaoHuo" + }, + { + "key": "csp_LiteApple", + "name": "🍎APPLE┃影视💯", + "type": 3, + "searchable": 1, + "quickSearch": 0, + "api": "csp_LiteApple" + }, + { + "key": "csp_Gz360", + "name": "🍉GUAZI┃影视", + "type": 3, + "searchable": 1, + "quickSearch": 0, + "api": "csp_Gz360" + }, + { + "key": "csp_Jpys", + "name": "🥇JINPAI┃影视", + "type": 3, + "searchable": 1, + "quickSearch": 0, + "api": "csp_Jpys" + }, + { + "key": "csp_WWYS", + "name": "👨农民┃影视", + "type": 3, + "searchable": 1, + "quickSearch": 0, + "api": "csp_Wwys" + }, + { + "key": "csp_MiSou", + "name": "🔍MISOU┃盘搜", + "type": 3, + "searchable": 1, + "quickSearch": 0, + "api": "csp_MiSou" + }, + { + "key": "剧和短剧", + "name": "🪗聚合┃短剧", + "type": 3, + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "changeable": 1, + "api": "./api/%E8%81%9A%E5%90%88%E7%9F%AD%E5%89%A7.js" + }, + { + "key": "csp_TingBook", + "name": "📕有声┃听书", + "type": 3, + "api": "csp_TingBook" + }, + { + "key": "Aid", + "name": "🚑急救┃知识", + "type": 3, + "api": "csp_FirstAid", + "searchable": 0, + "quickSearch": 0, + "style": { + "type": "rect", + "ratio": 3.8 + } + }, + { + "key": "push_agent", + "name": "🛴推送┃播放接口免费,请测试完删除处理", + "type": 3, + "filterable": 0, + "changeable": 0, + "api": "csp_Push", + "searchable": 1, + "quickSearch": 1, + "ext": "" + } + ], + "parses": [ + { + "name": "Json聚合", + "type": 3, + "url": "Demo" + }, + { + "name": "影视聚合", + "type": 3, + "url": "影视" + }, + { + "name": "牛牛2", + "type": 1, + "url": "https://zy.qiaoji8.com/xiafan.php?url=", + "ext": { + "flag": [ + "QD4K", + "iyf", + "duanju", + "gzcj", + "GTV", + "GZYS", + "weggz", + "Ace" + ], + "header": { + "User-Agent": "okhttp/4.9.1" + } + } + }, + { + "name": "夜幕", + "type": 0, + "url": "" + } + ], + "logo": "https://wkphoto.bj.bcebos.com/bba1cd11728b47106798119ad3cec3fdfc032335.jpg", + "lives": [ + { + "name": "平台直播", + "type": 0, + "ua": "okhttp/3.15" + } + ] +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/小米/api/%E8%81%9A%E5%90%88%E7%9F%AD%E5%89%A7.js b/tvboxqq/tvboxqq/小米/api/%E8%81%9A%E5%90%88%E7%9F%AD%E5%89%A7.js new file mode 100644 index 0000000..c287c2f --- /dev/null +++ b/tvboxqq/tvboxqq/小米/api/%E8%81%9A%E5%90%88%E7%9F%AD%E5%89%A7.js @@ -0,0 +1,427 @@ +const aggConfig = { + headers: { + default: { 'User-Agent': 'okhttp/3.12.11', 'content-type': 'application/json; charset=utf-8' }, + niuniu: { 'Cache-Control': 'no-cache', 'Content-Type': 'application/json;charset=UTF-8', 'User-Agent': 'okhttp/4.12.0' } + }, + platform: { + 百度: { host: 'https://api.jkyai.top', url1: '/API/bddjss.php?name=fyclass&page=fypage', url2: '/API/bddjss.php?id=fyid', search: '/API/bddjss.php?name=**&page=fypage' }, + 甜圈: { host: 'https://mov.cenguigui.cn', url1: '/duanju/api.php?classname', url2: '/duanju/api.php?book_id', search: '/duanju/api.php?name' }, + 锦鲤: { host: 'https://api.jinlidj.com', search: '/api/search', url2: '/api/detail' }, + 番茄: { host: 'https://reading.snssdk.com', url1: '/reading/bookapi/bookmall/cell/change/v', url2: 'https://fqgo.52dns.cc/catalog', search: 'https://fqgo.52dns.cc/search' }, + 星芽: { host: 'https://app.whjzjx.cn', url1: '/cloud/v2/theater/home_page?theater_class_id', url2: '/v2/theater_parent/detail', search: '/v3/search', loginUrl: 'https://u.shytkjgs.com/user/v1/account/login' }, + 西饭: { host: 'https://xifan-api-cn.youlishipin.com', url1: '/xifan/drama/portalPage', url2: '/xifan/drama/getDuanjuInfo', search: '/xifan/search/getSearchList' }, + 围观: { host: 'https://api.drama.9ddm.com', url1: '/drama/home/shortVideoTags', url2: '/drama/home/shortVideoDetail', search: '/drama/home/search' }, + 碎片: { host: 'https://free-api.bighotwind.cc', url1: '/papaya/papaya-api/theater/tags', url2: '/papaya/papaya-api/videos/info', search: '/papaya/papaya-api/videos/page' } + }, + platformList: [ + { name: '甜圈短剧', id: '甜圈' }, { name: '锦鲤短剧', id: '锦鲤' }, { name: '番茄短剧', id: '番茄' }, + { name: '星芽短剧', id: '星芽' }, { name: '西饭短剧', id: '西饭' }, { name: '百度短剧', id: '百度' }, + { name: '围观短剧', id: '围观' }, { name: '碎片剧场', id: '碎片' } + ], + search: { limit: 30, timeout: 6000 } +}; + +const ruleFilterDef = { + 百度: { area: '逆袭' }, 甜圈: { area: '推荐榜' }, 锦鲤: { area: '' }, 番茄: { area: 'videoseries_hot' }, + 星芽: { area: '1' }, 西饭: { area: '' }, 围观: { area: '' }, 碎片: { area: '' } +}; + +let xingyaToken = ''; +let suipianToken = ''; + +function getRandomItem(arr) { return arr[Math.floor(Math.random() * arr.length)]; } + +function guid() { + return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, c => { + const r = Math.random() * 16 | 0; + return (c === 'x' ? r : (r & 0x3 | 0x8)).toString(16); + }); +} + +function base64Decode(str) { + const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; + let output = ''; + str = str.replace(/=+$/, ''); + for (let i = 0; i < str.length; i += 4) { + const [e1, e2, e3, e4] = [str[i], str[i + 1], str[i + 2], str[i + 3]].map(c => chars.indexOf(c)); + const chr1 = (e1 << 2) | (e2 >> 4); + const chr2 = ((e2 & 15) << 4) | (e3 >> 2); + const chr3 = ((e3 & 3) << 6) | e4; + output += String.fromCharCode(chr1); + if (e3 !== -1) output += String.fromCharCode(chr2); + if (e4 !== -1) output += String.fromCharCode(chr3); + } + return output; +} + +function safeParse(res) { + if (!res) return null; + if (typeof res === 'string') return JSON.parse(res); + if (typeof res === 'object') { + const content = res.content || res.body || (typeof res.data === 'string' ? res.data : null); + return content ? JSON.parse(content) : res; + } + return null; +} + +function getHeaders(platId) { + if (platId === '星芽' && xingyaToken) return { ...aggConfig.headers.default, authorization: xingyaToken }; + if (platId === '碎片' && suipianToken) return { ...aggConfig.headers.default, Authorization: suipianToken }; + return aggConfig.headers.default; +} + +async function init() { + try { + const res = await req(aggConfig.platform.星芽.loginUrl, { + method: 'POST', + headers: { 'User-Agent': 'okhttp/4.10.0', platform: '1', 'Content-Type': 'application/json' }, + body: JSON.stringify({ device: '24250683a3bdb3f118dff25ba4b1cba1a' }) + }); + const data = safeParse(res); + xingyaToken = data?.data?.token || data?.token || ''; + } catch (e) { /* ignore */ } + return true; +} + +async function ensureSuipianToken() { + if (suipianToken) return; + try { + const openId = guid(); + const res = await req('https://free-api.bighotwind.cc/papaya/papaya-api/oauth2/uuid', { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ openId }) + }); + const data = safeParse(res); + suipianToken = data?.data?.token || ''; + } catch (e) { suipianToken = ''; } +} + +async function home() { + return JSON.stringify({ class: aggConfig.platformList.map(p => ({ type_name: p.name, type_id: p.id })) }); +} +async function homeVod() { return await recommend(); } + +async function recommend() { + const randomPlat = getRandomItem(aggConfig.platformList); + const platId = randomPlat.id; + const area = ruleFilterDef[platId]?.area || ''; + const videos = await fetchList(platId, area, 1, 10); + return JSON.stringify({ list: videos.slice(0, 10) }); +} + +// Category & Search common fetch +async function fetchList(platId, area, page, pageSize = 24) { + const plat = aggConfig.platform[platId]; + if (!plat) return []; + + if (platId === '星芽' && !xingyaToken) await init(); + if (platId === '碎片') await ensureSuipianToken(); + + try { + let data = []; + const headers = getHeaders(platId); + const host = plat.host; + + switch (platId) { + case '百度': { + const res = await req(`${host}${plat.url1.replace('fyclass', area).replace('fypage', page)}`, { headers }); + const d = safeParse(res)?.data || []; + data = d.map(i => ({ vod_id: `百度@${i.id}`, vod_name: i.title, vod_pic: i.cover, vod_remarks: `更新至${i.totalChapterNum}集` })); + break; + } + case '甜圈': { + const res = await req(`${host}${plat.url1}=${area}&offset=${page}`, { headers }); + const d = safeParse(res)?.data || []; + data = d.map(i => ({ vod_id: `甜圈@${i.book_id}`, vod_name: i.title, vod_pic: i.cover, vod_remarks: i.copyright || '' })); + break; + } + case '锦鲤': { + const res = await req(`${host}${plat.search}`, { method: 'POST', body: JSON.stringify({ page, limit: pageSize, type_id: area, keyword: '' }) }); + const d = safeParse(res)?.data?.list || []; + data = d.map(i => ({ vod_id: `锦鲤@${i.vod_id}`, vod_name: i.vod_name, vod_pic: i.vod_pic, vod_remarks: `${i.vod_total}集` })); + break; + } + case '番茄': { + const sessionId = new Date().toISOString().slice(0, 16).replace(/-|T:/g, ''); + const url = `${host}${plat.url1}?change_type=0&selected_items=${area}&tab_type=8&cell_id=6952850996422770718&version_tag=video_feed_refactor&device_id=1423244030195267&aid=1967&app_name=novelapp&ssmix=a&session_id=${sessionId}${page > 1 ? `&offset=${(page - 1) * 12}` : ''}`; + const res = await req(url, { headers }); + const d = safeParse(res); + const items = d?.data?.cell_view?.cell_data || (Array.isArray(d?.data) ? d.data : []); + data = items.map(i => { + const v = i.video_data?.[0] || i; + return { vod_id: `番茄@${v.series_id || v.book_id || ''}`, vod_name: v.title, vod_pic: v.cover || v.horiz_cover, vod_remarks: v.sub_title || '' }; + }); + break; + } + case '星芽': { + const res = await req(`${host}${plat.url1}=${area}&type=1&class2_ids=0&page_num=${page}&page_size=${pageSize}`, { headers }); + const d = safeParse(res)?.data?.list || []; + data = d.map(i => ({ vod_id: `星芽@${host}${plat.url2}?theater_parent_id=${i.theater.id}`, vod_name: i.theater.title, vod_pic: i.theater.cover_url, vod_remarks: `${i.theater.total}集` })); + break; + } + case '西饭': { + const [typeId] = area.split('@'); + const url = `${host}${plat.url1}?reqType=aggregationPage&offset=${(page - 1) * 30}&categoryId=${typeId}`; + const res = await req(url, { headers }); + const elements = safeParse(res)?.result?.elements || []; + elements.forEach(s => (s.contents || []).forEach(v => { + const d = v.duanjuVo; + data.push({ vod_id: `西饭@${d.duanjuId}#${d.source}`, vod_name: d.title, vod_pic: d.coverImageUrl, vod_remarks: `${d.total}集` }); + })); + break; + } + case '围观': { + const res = await req(`${host}${plat.search}`, { + method: 'POST', headers, + body: JSON.stringify({ audience: "全部受众", page, pageSize, searchWord: "", subject: "全部主题" }) + }); + const d = safeParse(res)?.data || []; + data = d.map(i => ({ vod_id: `围观@${i.oneId}`, vod_name: i.title, vod_pic: i.vertPoster, vod_remarks: `集数:${i.episodeCount} 播放:${i.viewCount}` })); + break; + } + case '碎片': { + const res = await req(`${host}${plat.search}?type=5&tagId=&pageNum=${page}&pageSize=${pageSize}`, { headers }); + const d = safeParse(res)?.list || []; + data = d.map(i => { + const id = `${i.itemId}@${i.videoCode}`; + const pic = `https://speed.hiknz.com/papaya/papaya-file/files/download/${i.imageKey}/${i.imageName}`; + return { vod_id: `碎片@${id}`, vod_name: i.title, vod_pic: pic, vod_remarks: `集数:${i.episodesMax} 播放:${i.hitShowNum}` }; + }); + break; + } + } + return data; + } catch { return []; } +} + +async function category(tid, pg, filter, extend) { + const page = parseInt(pg) || 1; + const area = filter?.area || ruleFilterDef[tid]?.area || ''; + const videos = await fetchList(tid, area, page); + return JSON.stringify({ + list: videos, + page, + pagecount: page + 1, + limit: videos.length, + total: videos.length * (page + 1) + }); +} + +async function detail(id) { + const [platId, ...rest] = id.split('@'); + const did = rest.join('@'); + const plat = aggConfig.platform[platId]; + if (!plat) return JSON.stringify({ list: [{ vod_id: id, vod_name: '平台不支持', vod_play_url: '' }] }); + + if (platId === '星芽' && !xingyaToken) await init(); + if (platId === '碎片') await ensureSuipianToken(); + + try { + let vod = { vod_id: id, vod_name: '未知', vod_pic: '', vod_remarks: '', vod_content: '', vod_play_from: '', vod_play_url: '' }; + const headers = getHeaders(platId); + + switch (platId) { + case '百度': { + const res = safeParse(await req(`${plat.host}${plat.url2.replace('fyid', did)}`, { headers })); + if (res) vod = { ...vod, vod_name: res.title, vod_pic: res.data?.[0]?.cover, vod_remarks: `更新至:${res.total || 0}集`, vod_play_from: '百度短剧', vod_play_url: (res.data || []).map(i => `${i.title}$${i.video_id}`).join('#') }; + break; + } + case '甜圈': { + const res = safeParse(await req(`${plat.host}${plat.url2}=${did}`, { headers })); + if (res) vod = { ...vod, vod_name: res.book_name || res.title, vod_pic: res.book_pic || res.cover, vod_remarks: `更新时间:${res.time}`, vod_content: res.desc, vod_play_from: '甜圈短剧', vod_play_url: (res.data || []).map(i => `${i.title || '第1集'}$${i.video_id || i.id}`).join('#') }; + break; + } + case '锦鲤': { + const res = safeParse(await req(`${plat.host}${plat.url2}/${did}`, { headers })); + if (res?.data) { + const list = res.data; + const urls = list.player ? Object.keys(list.player).map(k => `${k}$${list.player[k]}`) : []; + vod = { ...vod, vod_name: list.vod_name, vod_pic: list.vod_pic, vod_remarks: list.vod_remarks, vod_play_from: '锦鲤短剧', vod_play_url: urls.join('#') }; + } + break; + } + case '番茄': { + const res = safeParse(await req(`${plat.url2}?book_id=${did}`, { headers })); + if (res?.data) { + const b = res.data.book_info; + const u = (res.data.item_data_list || []).map(i => `${i.title}$${i.item_id}`).join('#'); + vod = { ...vod, vod_name: b.book_name, vod_pic: b.thumb_url, vod_remarks: `更新至${res.data.item_data_list?.length}集`, vod_play_from: '番茄短剧', vod_play_url: u }; + } + break; + } + case '星芽': { + const res = safeParse(await req(did, { headers })); + if (res?.data) { + const d = res.data; + const u = (d.theaters || []).map(i => `${i.num}$${i.son_video_url}`).join('#'); + vod = { ...vod, vod_name: d.title, vod_pic: d.cover_url, vod_remarks: d.desc_tags + '', vod_play_from: '星芽短剧', vod_play_url: u }; + } + break; + } + case '西饭': { + const [duanjuId, source] = did.split('#'); + const url = `${plat.host}${plat.url2}?duanjuId=${duanjuId}&source=${source}`; + const res = safeParse(await req(url, { headers })); + if (res?.result) { + const d = res.result; + const u = (d.episodeList || []).map(e => `${e.index}$${e.playUrl}`).join('#'); + vod = { ...vod, vod_name: d.title, vod_pic: d.coverImageUrl, vod_remarks: d.updateStatus === 'over' ? `${d.total}集 已完结` : `更新${d.total}集`, vod_play_from: '西饭短剧', vod_play_url: u }; + } + break; + } + case '围观': { + const res = safeParse(await req(`${plat.host}${plat.url2}?oneId=${did}&page=1&pageSize=1000`, { headers })); + if (res?.data?.length) { + const d = res.data; + vod = { ...vod, vod_name: d[0].title, vod_pic: d[0].vertPoster, vod_remarks: `共${d.length}集`, vod_play_from: '围观短剧', vod_play_url: d.map(e => `${e.title}第${e.playOrder}集$${e.playSetting}`).join('#') }; + } + break; + } + case '碎片': { + const [itemId, videoCode] = did.split('@'); + const res = safeParse(await req(`${plat.host}${plat.url2}?videoCode=${videoCode}&itemId=${itemId}`, { headers })); + if (res) { + const d = res.data || res; + const pic = `https://speed.hiknz.com/papaya/papaya-file/files/download/${d.imageKey}/${d.imageName}`; + const u = (d.episodesList || []).map(e => { + const best = e.resolutionList?.sort((a, b) => b.resolution - a.resolution)[0]; + return best ? `第${e.episodes}集$https://speed.hiknz.com/papaya/papaya-file/files/download/${best.fileKey}/${best.fileName}` : null; + }).filter(Boolean).join('#'); + vod = { ...vod, vod_name: d.title, vod_pic: pic, vod_remarks: `共${d.episodesMax || 0}集`, vod_play_from: '碎片剧场', vod_play_url: u }; + } + break; + } + } + return JSON.stringify({ list: [vod] }); + } catch { + return JSON.stringify({ list: [{ vod_id: id, vod_name: '加载失败', vod_play_url: '' }] }); + } +} + +async function play(flag, id) { + const input = id; + const defaultRes = () => JSON.stringify({ parse: 0, url: input }); + + if (/百度/.test(flag)) { + const res = safeParse(await req(`https://api.jkyai.top/API/bddjss.php?video_id=${input}`)); + if (res?.data?.qualities) { + const order = ["1080p", "sc", "sd"]; + const qMap = { "1080p": "蓝光", "sc": "超清", "sd": "标清" }; + const urls = []; + order.forEach(k => { + const q = res.data.qualities.find(x => x.quality === k); + if (q) urls.push(qMap[k], q.download_url); + }); + return JSON.stringify({ parse: 0, url: urls }); + } + } + + if (/甜圈/.test(flag)) { + return JSON.stringify({ parse: 0, url: `https://mov.cenguigui.cn/duanju/api.php?video_id=${input}&type=mp4` }); + } + + if (/锦鲤/.test(flag)) { + try { + const html = await req(`${input}&auto=1`, { headers: { referer: 'https://www.jinlidj.com/' } }); + const str = typeof html === 'string' ? html : html.content || html.body || '{}'; + const match = str.match(/let data\s*=\s*({[^;]*});/); + if (match) { + const data = JSON.parse(match[1]); + if (data.url) return JSON.stringify({ parse: 0, url: data.url }); + } + } catch {} + } + + if (/番茄/.test(flag)) { + try { + const res = safeParse(await req(`https://fqgo.52dns.cc/video?item_ids=${input}`)); + if (res?.data?.[input]?.video_model) { + const model = JSON.parse(res.data[input].video_model); + const mainUrl = model?.video_list?.video_1?.main_url; + if (mainUrl) return JSON.stringify({ parse: 0, url: base64Decode(mainUrl) }); + } + } catch { /* ignore */ } + } + + if (/围观/.test(flag)) { + try { + const ps = typeof input === 'string' ? JSON.parse(input) : input; + const urls = []; + if (ps?.super) urls.push("超清", ps.super); + if (ps?.high) urls.push("高清", ps.high); + if (ps?.normal) urls.push("流畅", ps.normal); + return JSON.stringify({ parse: 0, url: urls }); + } catch { return defaultRes(); } + } + + return defaultRes(); +} + +async function search(wd, quick, pg) { + const page = parseInt(pg) || 1; + const timeout = aggConfig.search.timeout; + const limit = aggConfig.search.limit; + + const promises = aggConfig.platformList.map(async p => { + const plat = aggConfig.platform[p.id]; + try { + if (p.id === '星芽' && !xingyaToken) await init(); + if (p.id === '碎片') await ensureSuipianToken(); + + let res, data; + const headers = getHeaders(p.id); + const host = plat.host; + + switch (p.id) { + case '百度': + res = await req(`${host}${plat.search.replace('**', encodeURIComponent(wd)).replace('fypage', page)}`, { headers, timeout }); + data = (safeParse(res)?.data || []).map(i => ({ vod_id: `百度@${i.id}`, vod_name: i.title, vod_pic: i.cover, vod_remarks: `百度短剧|更新至${i.totalChapterNum}集` })); + break; + case '甜圈': + res = await req(`${host}${plat.search}=${encodeURIComponent(wd)}&offset=${page}`, { headers, timeout }); + data = (safeParse(res)?.data || []).map(i => ({ vod_id: `甜圈@${i.book_id}`, vod_name: i.title, vod_pic: i.cover, vod_remarks: `甜圈短剧|${i.copyright}` })); + break; + case '锦鲤': + res = await req(host + plat.search, { method: 'POST', body: JSON.stringify({ page, limit, keyword: wd }), timeout }); + data = (safeParse(res)?.data?.list || []).map(i => ({ vod_id: `锦鲤@${i.vod_id}`, vod_name: i.vod_name, vod_pic: i.vod_pic, vod_remarks: `锦鲤短剧|${i.vod_total}集` })); + break; + case '番茄': + res = await req(`${plat.search}?keyword=${encodeURIComponent(wd)}&page=${page}`, { headers, timeout }); + data = (safeParse(res)?.data || []).map(i => ({ vod_id: `番茄@${i.series_id}`, vod_name: i.title, vod_pic: i.cover, vod_remarks: `番茄短剧|${i.sub_title}` })); + break; + case '星芽': + res = await req(host + plat.search, { method: 'POST', headers, body: JSON.stringify({ text: wd }), timeout }); + data = (safeParse(res)?.data?.theater?.search_data || []).map(i => ({ vod_id: `星芽@${host}${plat.url2}?theater_parent_id=${i.id}`, vod_name: i.title, vod_pic: i.cover_url, vod_remarks: `星芽短剧|${i.total}集 播放:${i.play_amount_str}` })); + break; + case '碎片': + res = await req(`${host}${plat.search}?type=5&tagId=&pageNum=${page}&pageSize=${limit}&title=${encodeURIComponent(wd)}`, { headers, timeout }); + data = (safeParse(res)?.list || []).map(i => { + const id = `${i.itemId}@${i.videoCode}`; + const pic = `https://speed.hiknz.com/papaya/papaya-file/files/download/${i.imageKey}/${i.imageName}`; + return { vod_id: `碎片@${id}`, vod_name: i.title, vod_pic: pic, vod_remarks: `碎片剧场|集数:${i.episodesMax} 播放:${i.hitShowNum}` }; + }); + break; + default: + return []; + } + return data.filter(v => v.vod_name?.toLowerCase().includes(wd.toLowerCase())); + } catch { return []; } + }); + + const results = (await Promise.allSettled(promises)) + .filter(r => r.status === 'fulfilled') + .flatMap(r => r.value || []); + + return JSON.stringify({ + list: results, + page, + pagecount: page + 1, + limit: results.length, + total: results.length * (page + 1) + }); +} + +export function __jsEvalReturn() { + return { init, home, homeVod, category, detail, play, proxy: null, search }; +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/小米/api/AppToV5.py b/tvboxqq/tvboxqq/小米/api/AppToV5.py new file mode 100644 index 0000000..1971ad1 --- /dev/null +++ b/tvboxqq/tvboxqq/小米/api/AppToV5.py @@ -0,0 +1,225 @@ +import sys, uuid, json +from base.spider import Spider +sys.path.append('..') + +class Spider(Spider): + local_uuid = '' + config = '' + parsing_config = [] + token = '' + headers = { + 'User-Agent': "Dart/2.19 (dart:io)", + 'Accept-Encoding': "gzip", + 'appto-local-uuid': local_uuid, + 'token': '' + } + line_order = [] + block_keywords = [] + + def init(self, extend=""): + try: + self.token = '' + if extend.startswith('{') and extend.endswith('}'): + ext_dict = json.loads(extend.strip()) + self.host = ext_dict.get('host', '').strip() + self.token = ext_dict.get('token', '').strip() + line_order_input = ext_dict.get('line_order', '') + + line_order_str = ','.join(line_order_input) if isinstance(line_order_input, list) else str(line_order_input).strip() + + if '@' in line_order_str: + order_part, block_part = line_order_str.split('@', 1) + self.line_order = list({kw.strip().lower() for kw in order_part.split(',') if kw.strip()}) + self.block_keywords = list({kw.strip().lower() for kw in block_part.split(',') if kw.strip()}) + else: + self.line_order = list({kw.strip().lower() for kw in line_order_str.split(',') if kw.strip()}) + self.block_keywords = [] + else: + self.host = extend.strip() + self.line_order = [] + self.block_keywords = [] + + if not self.host.startswith('http'): + return {} + self.local_uuid = str(uuid.uuid4()) + self.headers['appto-local-uuid'] = self.local_uuid + self.headers['token'] = self.token + response = self.fetch(f'{self.host}/apptov5/v1/config/get?p=android&__platform=android', headers=self.headers).json() + config = response['data'] + self.config = config + parsing_conf = config['get_parsing']['lists'] + parsing_config = {} + for i in parsing_conf: + if len(i['config']) != 0: + label = [] + for j in i['config']: + if j['type'] == 'json': + label.append(j['label']) + parsing_config.update({i['key']: label}) + self.parsing_config = parsing_config + except Exception as e: + print(f'初始化异常:{e}') + return {} + + def detailContent(self, ids): + response = self.fetch(f"{self.host}/apptov5/v1/vod/getVod?id={ids[0]}", headers=self.headers).json() + data3 = response['data'] + videos = [] + vod_play_url = '' + vod_play_from = '' + + vod_play_list = data3['vod_play_list'] + + if self.block_keywords: + filtered_list = [] + for play_item in vod_play_list: + show_val = play_item['player_info'].get('show', '').strip().lower() + if not any(kw in show_val for kw in self.block_keywords): + filtered_list.append(play_item) + vod_play_list = filtered_list + + if self.line_order: + def get_priority(play_item): + show_val = play_item['player_info'].get('show', '').strip().lower() + for idx, kw in enumerate(self.line_order): + if kw in show_val: + return idx + return float('inf') + + vod_play_list = sorted(vod_play_list, key=get_priority, reverse=False) + + for i in vod_play_list: + play_url = '' + line_name = i['player_info'].get('show', '未知线路') + from_value = i['player_info'].get('from', '') + display_name = f"{line_name}({from_value})" if from_value else line_name + + for j in i['urls']: + play_url += f"{j['name']}${i['player_info']['from']}@{j['url']}#" + vod_play_from += display_name + '$$$' + vod_play_url += play_url.rstrip('#') + '$$$' + + vod_play_url = vod_play_url.rstrip('$$$') + vod_play_from = vod_play_from.rstrip('$$$') + videos.append({ + 'vod_id': data3.get('vod_id'), + 'vod_name': data3.get('vod_name'), + 'vod_content': data3.get('vod_content', ''), + 'vod_remarks': data3.get('vod_remarks'), + 'vod_director': data3.get('vod_director'), + 'vod_actor': data3.get('vod_actor'), + 'vod_year': data3.get('vod_year'), + 'vod_area': data3.get('vod_area'), + 'vod_play_from': vod_play_from, + 'vod_play_url': vod_play_url + }) + return {'list': videos} + + def searchContent(self, key, quick, pg='1'): + url = f"{self.host}/apptov5/v1/search/lists?wd={key}&page={pg}&type=&__platform=android" + response = self.fetch(url, headers=self.headers).json() + data = response['data']['data'] + for i in data: + if i.get('vod_pic', '').startswith('mac://'): + i['vod_pic'] = i['vod_pic'].replace('mac://', 'http://', 1) + return {'list': data, 'page': pg, 'total': response['data']['total']} + + def playerContent(self, flag, id, vipflags): + default_ua = 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1' + parsing_config = self.parsing_config + parts = id.split('@') + if len(parts) != 2: + return {'parse': 0, 'url': id, 'header': {'User-Agent': default_ua}} + playfrom, rawurl = parts + label_list = parsing_config.get(playfrom) + if not label_list: + return {'parse': 0, 'url': rawurl, 'header': {'User-Agent': default_ua}} + result = {'parse': 1, 'url': rawurl, 'header': {'User-Agent': default_ua}} + for label in label_list: + payload = { + 'play_url': rawurl, + 'label': label, + 'key': playfrom + } + try: + response = self.post( + f"{self.host}/apptov5/v1/parsing/proxy?__platform=android", + data=payload, + headers=self.headers + ).json() + except Exception as e: + print(f"请求异常: {e}") + continue + if not isinstance(response, dict): + continue + if response.get('code') == 422: + continue + data = response.get('data') + if not isinstance(data, dict): + continue + url = data.get('url') + if not url: + continue + ua = data.get('UA') or data.get('UserAgent') or default_ua + result = { + 'parse': 0, + 'url': url, + 'header': {'User-Agent': ua} + } + break + return result + + def homeContent(self, filter): + config = self.config + if not config: + return {} + home_cate = config['get_home_cate'] + classes = [] + for i in home_cate: + if isinstance(i.get('extend', []), dict): + classes.append({'type_id': i['cate'], 'type_name': i['title']}) + return {'class': classes} + + def homeVideoContent(self): + response = self.fetch(f'{self.host}/apptov5/v1/home/data?id=1&mold=1&__platform=android', headers=self.headers).json() + data = response['data'] + vod_list = [] + for i in data['sections']: + for j in i['items']: + vod_pic = j.get('vod_pic', '') + if vod_pic.startswith('mac://'): + vod_pic = vod_pic.replace('mac://', 'http://', 1) + vod_list.append({ + "vod_id": j.get('vod_id'), + "vod_name": j.get('vod_name'), + "vod_pic": vod_pic, + "vod_remarks": j.get('vod_remarks') + }) + return {'list': vod_list} + + def categoryContent(self, tid, pg, filter, extend): + response = self.fetch( + f"{self.host}/apptov5/v1/vod/lists?area={extend.get('area','')}&lang={extend.get('lang','')}&year={extend.get('year','')}&order={extend.get('sort','time')}&type_id={tid}&type_name=&page={pg}&pageSize=21&__platform=android", + headers=self.headers + ).json() + data = response['data'] + data2 = data['data'] + for i in data['data']: + if i.get('vod_pic','').startswith('mac://'): + i['vod_pic'] = i['vod_pic'].replace('mac://', 'http://', 1) + return {'list': data2, 'page': pg, 'total': data['total']} + + def getName(self): + pass + + def isVideoFormat(self, url): + pass + + def manualVideoCheck(self): + pass + + def destroy(self): + pass + + def localProxy(self, param): + pass diff --git a/tvboxqq/tvboxqq/小米/api/AppV2.py b/tvboxqq/tvboxqq/小米/api/AppV2.py new file mode 100644 index 0000000..4127782 --- /dev/null +++ b/tvboxqq/tvboxqq/小米/api/AppV2.py @@ -0,0 +1,289 @@ +# -*- coding: utf-8 -*- +# 基于原作者 @嗷呜 版本修改 +# 本资源来源于互联网公开渠道,仅可用于个人学习爬虫技术。 +# 严禁将其用于任何商业用途,下载后请于 24 小时内删除,搜索结果均来自源站,本人不承担任何责任。 + +from base.spider import Spider +from urllib.parse import urlparse, urlencode +import re,sys,time,json,urllib3,hashlib,datetime +urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning) +sys.path.append('..') + +class Spider(Spider): + api,apisignkey,datasignkey,detail_type,search_data = '', '' , '','','' + + headers = { + 'User-Agent': 'okhttp/4.12.0', + } + + def init(self, extend=""): + ext = extend.rstrip() + if ext.startswith('http'): + self.api = ext.rstrip('/') + else: + arr = json.loads(ext) + self.api = arr['api'].rstrip('/') + if self.api.endswith('v1.vod'): + self.detail_type = arr.get('detail_type','') + self.apisignkey = arr.get('apisignkey', '') + if self.apisignkey: + self.datasignkey = arr.get('datasignkey', '6QQNUsP3PkD2ajJCPCY8') + + def homeContent(self, filter): + if self.api.endswith('v1.vod'): + path = '/types' + if self.apisignkey and self.datasignkey: + path = self.datasign(path) + data = self.fetch(f"{self.api}{path}", headers=self.headers, verify=False).text + data = json.loads(data[1:] if data.startswith('\ufeff') else data) + data = data['data'] + else: + data = self.fetch(f"{self.api}/nav?token=", headers=self.headers, verify=False).json() + keys = ["class", "area", "lang", "year", "letter", "by", "sort"] + filters = {} + classes = [] + for item in data.get('list',data.get('data',[])): + has_non_empty_field = False + jsontype_extend = item["type_extend"] + classes.append({"type_name": item["type_name"], "type_id": item["type_id"]}) + for key in keys: + if key in jsontype_extend and jsontype_extend[key].strip() != "": + has_non_empty_field = True + break + if has_non_empty_field: + filters[str(item["type_id"])] = [] + for dkey in jsontype_extend: + if dkey in keys and jsontype_extend[dkey].strip() != "": + values = jsontype_extend[dkey].split(",") + value_array = [{"n": value.strip(), "v": value.strip()} for value in values if + value.strip() != ""] + filters[str(item["type_id"])].append({"key": dkey, "name": dkey, "value": value_array}) + result = {"class": classes, "filters": filters} + return result + + def homeVideoContent(self): + if self.api.endswith('v1.vod'): + path = '/vodPhbAll' + if self.apisignkey and self.datasignkey: + keytime = self.keytime() + path += self.datasign(f'?apikey={self.apikey()}&keytime={keytime}',keytime) + data = self.fetch(f"{self.api}{path}", headers=self.headers, verify=False).text + data = json.loads(data[1:] if data.startswith('\ufeff') else data) + data = data['data'] + else: + data = self.fetch(f"{self.api}/index_video?token=", headers=self.headers, verify=False).json() + videos = [] + if self.api.endswith('v1.vod'): + for item in data['list']: videos.extend(item['vod_list']) + elif 'list' in data: + for item in data['list']: videos.extend(item['vlist']) + elif 'data' in data: + for item in data['data']: videos.extend(item['vlist']) + return {'list': videos} + + def categoryContent(self, tid, pg, filter, extend): + if self.api.endswith('v1.vod'): + path = f"?type={tid}&class={extend.get('class', '')}&lang={extend.get('lang', '')}&area={extend.get('area', '')}&year={extend.get('year', '')}&by=&page={pg}&limit=9" + if self.apisignkey and self.datasignkey: + keytime = self.keytime() + path = self.datasign(f'{path}&apikey={self.apikey()}&keytime={keytime}' ,keytime) + data = self.fetch(f"{self.api}{path}", headers=self.headers, verify=False).text + data = json.loads(data[1:] if data.startswith('\ufeff') else data) + data = data['data'] + else: + params = {'tid': tid, 'class': extend.get('class', ''), 'area': extend.get('area', ''), 'lang': extend.get('lang', ''), 'year': extend.get('year', ''), 'limit': '18', 'pg': pg} + data = self.fetch(f"{self.api}/video", params=params, headers=self.headers, verify=False).json() + if 'data' in data: + data = {'list':data['data']} + return data + + def searchContent(self, key, quick, pg="1"): + if self.api.endswith('v1.vod'): + path = f"?page={pg}&limit=10&wd={key}" + if self.apisignkey and self.datasignkey: + keytime = self.keytime() + path = self.datasign(f'{path}&apikey={self.apikey()}&keytime={keytime}',keytime) + else: + path = f"/search?text={key}&pg={pg}" + data = self.fetch(f"{self.api}{path}", headers=self.headers, verify=False).text + data = json.loads(data[1:] if data.startswith('\ufeff') else data) + if self.api.endswith('v1.vod') and self.detail_type == 'search': + self.search_data = data + data2 = data.get('list',data.get('data',[])) + if 'type' in data2: + for item in data2: + item.pop('type', None) + if not 'list' in data2: + data2 = {'list': data2, 'page': pg} + return data2 + + def detailContent(self, ids): + if self.detail_type == 'search': + for i in self.search_data['data']['list']: + if str(i['vod_id']) == str(ids[0]): + data = i + break + else: + if self.api.endswith('v1.vod'): + path = f'/detail?vod_id={ids[0]}&rel_limit=10' + if self.apisignkey and self.datasignkey: + keytime = self.keytime() + path = self.datasign(f'{path}&apikey={self.apikey()}&keytime={keytime}',keytime) + else: + path = f'/video_detail?id={ids[0]}' + data = self.fetch(f"{self.api}{path}", headers=self.headers, verify=False).text + data = json.loads(data[1:] if data.startswith('\ufeff') else data) + data = data['data'] + if 'vod_info' in data: + data = data['vod_info'] + show = [] + vod_play_url = [] + if 'vod_url_with_player' in data: + for i in data['vod_url_with_player']: + if i['code'] == i['name']: + show.append(i['name']) + else: + show.append(f"{i['name']}\u2005({i['code']})") + parse_api = i.get('parse_api','') + if parse_api and parse_api.startswith('http'): + url = i.get('url','') + if url: + url2 = '#'.join([i+ '@' + parse_api for i in url.split('#')]) + vod_play_url.append(url2) + else: + vod_play_url.append(i.get('url', '')) + data.pop('vod_url_with_player') + if 'vod_play_list' in data: + vod_play_list = data['vod_play_list'] + for i in vod_play_list.values() if isinstance(vod_play_list, dict) else vod_play_list: + parses = '' + player_info = i['player_info'] + if player_info['show'] == i['from']: + show.append(player_info['show']) + else: + show.append(f"{player_info['show']}\u2005({i['from']})") + parse = player_info.get('parse','').strip() + parse2 = player_info.get('parse2','').strip() + if 'parse' in player_info and parse.startswith('http'): + parses += parse + ',' + if 'parse2' in player_info and parse2.startswith('http') and parse2 != parse: + parses += parse2 + parses = parses.rstrip(',') + url = '' + urls = i['urls'] + for j in urls.values() if isinstance(urls, dict) else urls: + if parse: + url += f"{j['name']}${j['url']}@{parses}#" + else: + url += f"{j['name']}${j['url']}#" + url = url.rstrip('#') + vod_play_url.append(url) + if 'vod_play_list' in data: + data.pop('vod_play_list') + if 'rel_vods' in data: + data.pop('rel_vods') + if 'type' in data: + data.pop('type') + if show: + data['vod_play_from'] = '$$$'.join(show) + if vod_play_url: + data['vod_play_url'] = '$$$'.join(vod_play_url) + return {'list': [data]} + + def playerContent(self, flag, id, vipFlags): + video_pattern = re.compile(r'https?:\/\/.*\.(?:m3u8|mp4|flv)') + jx,url,ua = 0,'','Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36' + if '@' in id: + rawurl, jxapi = id.split('@', 1) + jxapis = jxapi.split(',', 1) if ',' in jxapi else [jxapi] + for jxapi_ in jxapis: + try: + res = self.fetch(f"{jxapi_}{rawurl}", headers=self.headers, timeout=10, verify=False).text + res = json.loads(res[1:] if res.startswith('\ufeff') else res) + url = res.get('url', '') + if url.startswith('http'): + jxua = res.get('ua') + if jxua: + ua = jxua + except Exception: + url = '' + continue + if url.startswith('http'): + jx = 0 + else: + url = rawurl + jx = 0 if video_pattern.match(rawurl) else 1 + else: + url = id + jx = 0 if video_pattern.match(id) else 1 + if url.startswith('NBY'): + jx, url = 0,'' + return {'jx': jx,'parse': 0,'url': url,'header': {'User-Agent': ua}} + + def keytime(self): + return str(int(datetime.datetime.now().timestamp())) + + def md5(self, str): + hash_obj = hashlib.md5() + hash_obj.update(str.encode('utf-8')) + return hash_obj.hexdigest() + + def apikey(self): + date = datetime.datetime.now() + year = str(date.year) + hour = str(date.hour) + minute = str(date.minute) + if len(hour) < 2: + hour = "0" + hour + if len(minute) < 2: + minute = "0" + minute + str_value = self.apisignkey + sign_str = f"{year}:{hour}:{year}:{minute}:{str_value}" + md5_hash = self.md5(sign_str) + return md5_hash + + def datasign(self, url='', timestamp=''): + parsed_url = urlparse(url) + query_params = self._parse_query_params(parsed_url.query) + if not timestamp: + timestamp = str(time.time()) + query_params["timestamp"] = timestamp + sorted_params = sorted(query_params.items(), key=lambda x: x[0]) + sign = self._generate_signature(sorted_params) + query_params["datasign"] = sign + new_query = urlencode(query_params) + new_url = parsed_url._replace(query=new_query).geturl() + return new_url + + def _parse_query_params(self, query_str): + params = {} + if not query_str: + return params + for param in query_str.split('&'): + if '=' not in param: + continue + key, value = param.split('=', 1) + if value: + params[key] = value + return params + + def _generate_signature(self, sorted_params): + param_str = '&'.join([f"{k}={v}" for k, v in sorted_params]) + raw_sign_str = f"{param_str}{self.datasignkey}" + md5_hash = hashlib.md5(raw_sign_str.encode('utf-8')).hexdigest() + return md5_hash + + def localProxy(self, param): + pass + + def getName(self): + pass + + def isVideoFormat(self, url): + pass + + def manualVideoCheck(self): + pass + + def destroy(self): + pass diff --git a/tvboxqq/tvboxqq/小米/api/fox.js b/tvboxqq/tvboxqq/小米/api/fox.js new file mode 100644 index 0000000..5b62127 --- /dev/null +++ b/tvboxqq/tvboxqq/小米/api/fox.js @@ -0,0 +1,663 @@ +/*小心儿悠悠 +配置说明: +{ + "host": "https://xxx", // 必填,站点地址 + "ver": 1, // 可选,API版本:1或2,默认1 + "cms": "", // 可选,CMS地址 + "from": "", // 可选,搜索来源 + "category": 1, // 可选,分类模式:0-无分类 1-普通 2-搜索 + "timeout": 5, // 可选,超时时间(秒),默认5 + "custom_first": 0, // 可选,自定义解析优先:0-否 1-是 + "source_order": ["线路A", "线路B"], // 可选,线路排序 + + // UA配置//可选,特殊站点需要自定义 + "ua": { + "host": "UA字符串", // 主机检测UA + "config": "UA字符串", // 配置获取UA + "home": "UA字符串", // 首页UA + "category": "UA字符串", // 分类页UA + "search": "UA字符串", // 搜索页UA + "parse": "UA字符串", // 解析UA + "player": "UA字符串" // 播放UA + }, + + // 解析配置 + "parse": { + "线路名": "解析地址或parse:前缀" + } +} + +使用示例: +{ + "host": "https://xxx", + "ver": 1, + "source_order": ["超清", "高清", "标清"], + "ua": { + "home": "Mozilla/5.0...", + "player": "Mozilla/5.0..." + }, + "parse": { + "超清": "https://jx.xxx/?url=", + "高清": "parse:https://parse.xxx.com/" + } +} +*/ + +import { Crypto, _ } from 'assets://js/lib/cat.js'; + +const MOBILE_UA = "Mozilla/5.0 (Linux; Android 11; Pixel 5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.91 Mobile Safari/537.36"; +const TV_UA = "Dalvik/2.1.0 (Linux; U; Android 9; Pixel Build/PI)"; +var def_header = {'User-Agent': TV_UA}; +var cachedPlayUrls = {}; +var HOST; + +var foxConfig = { + host: '', + headers: {'User-Agent': TV_UA}, + timeout: 5000, + ver: 1, + uas: {}, + parses: {}, + custom_parses: {}, + froms: '', + detail: [], + custom_first: 0, + category: 1, + cms: '', + sourceOrder: [] +}; + +var recommendCache = { + data: [], + timestamp: 0, + cacheTime: 30 * 60 * 1000 +}; + +function decodeBase64(str) { + try { + return Crypto.enc.Utf8.stringify(Crypto.enc.Base64.parse(str)); + } catch (e) { + return str; + } +} + +function request(reqUrl, header, data, method) { + try { + let optObj = { + headers: header || foxConfig.headers, + method: method || 'get', + timeout: foxConfig.timeout, + }; + if (method === 'post') { + optObj.data = data || {}; + optObj.postType = 'form'; + } + let res = req(reqUrl, optObj); + return res.content; + } catch (e) { + throw new Error('请求失败: ' + reqUrl); + } +} + +function getdata(url, data, method) { + try { + url = /^http/.test(url) ? url : `${HOST}${url}`; + let res = request(url, foxConfig.headers, data, method); + return JSON.parse(res); + } catch (e) { + return {}; + } +} + +function sortSources(play_from, play_urls) { + if (!foxConfig.sourceOrder || foxConfig.sourceOrder.length === 0) { + return { play_from, play_urls }; + } + + let sourceMap = new Map(); + for (let i = 0; i < play_from.length; i++) { + if (i < play_urls.length) { + sourceMap.set(play_from[i], { + originalName: play_from[i], + url: play_urls[i], + index: i + }); + } + } + + let sorted_play_from = []; + let sorted_play_urls = []; + + for (let sourceName of foxConfig.sourceOrder) { + for (let [key, source] of sourceMap) { + if (key.includes(sourceName)) { + sorted_play_from.push(source.originalName); + sorted_play_urls.push(source.url); + sourceMap.delete(key); + break; + } + } + } + + for (let [key, source] of sourceMap) { + sorted_play_from.push(source.originalName); + sorted_play_urls.push(source.url); + } + + return { + play_from: sorted_play_from, + play_urls: sorted_play_urls + }; +} + +async function getRecommendVideos() { + try { + const now = Date.now(); + if (recommendCache.data.length > 0 && now - recommendCache.timestamp < recommendCache.cacheTime) { + return recommendCache.data; + } + + let headers = Object.assign({}, foxConfig.headers); + let recommend_ua = foxConfig.uas.home || foxConfig.uas.homeVideo; + if (recommend_ua) headers['User-Agent'] = recommend_ua; + + let videos = []; + let res = request(HOST + '/api.php/Appfox/vodList?sort=热门&page=1&limit=12', headers); + let response = JSON.parse(res); + + if (response.data && response.data.list) { + videos = response.data.list.slice(0, 12); + } else if (response.data && response.data.recommend_list) { + videos = response.data.recommend_list.slice(0, 12); + } else if (Array.isArray(response.data)) { + videos = response.data.slice(0, 12); + } + + if (videos.length > 0) { + recommendCache.data = videos; + recommendCache.timestamp = now; + } + + return videos; + } catch (e) { + return []; + } +} + +async function init(cfg) { + try { + if (!cfg.ext) throw new Error('配置参数为空'); + + let extValue = cfg.ext; + + if (typeof extValue === 'string') { + try { + extValue = decodeBase64(extValue); + } catch (e) {} + + try { + extValue = JSON.parse(extValue); + } catch (e) { + if (extValue.startsWith('http')) { + extValue = {host: extValue}; + } else { + throw new Error('配置格式错误'); + } + } + } + + let host = extValue.host || ''; + if (!host) throw new Error('主机地址为空'); + + if (!host.match(/^https?:\/\/[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*(:\d+)?(\/)?$/)) { + let headers = Object.assign({}, foxConfig.headers); + let custom_ua = foxConfig.uas.host; + if (custom_ua) headers['User-Agent'] = custom_ua; + + let res = request(host, headers); + let result = JSON.parse(res); + host = result.apiDomain; + } + + foxConfig.host = host.replace(/\/+$/, ''); + HOST = foxConfig.host; + + foxConfig.ver = extValue.ver === 2 ? 2 : 1; + foxConfig.cms = extValue.cms || ''; + foxConfig.froms = extValue.from || ''; + foxConfig.custom_parses = extValue.parse || {}; + foxConfig.custom_first = extValue.custom_first || 0; + foxConfig.category = extValue.category || 1; + foxConfig.timeout = (extValue.timeout || 5) * 1000; + foxConfig.sourceOrder = extValue.source_order || []; + + let ua = extValue.ua; + if (ua) { + if (typeof ua === 'string') { + foxConfig.headers['User-Agent'] = ua; + } else if (typeof ua === 'object') { + foxConfig.uas = { + host: ua.host, + config: ua.config, + home: ua.home, + category: ua.category, + search: ua.search, + parse: ua.parse, + player: ua.player || 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1' + }; + } + } + + if (foxConfig.cms) { + let cms = foxConfig.cms.replace(/\/+$/, ''); + if (cms.match(/^https?:\/\/.*\/vod/)) { + cms += cms.includes('?') ? '&' : '?'; + foxConfig.cms = cms; + } + } + + } catch (e) { + throw new Error('初始化失败: ' + e.message); + } +} + +async function home(filter) { + try { + if (!HOST || foxConfig.category === 0) return '{"class":[]}'; + + let headers = Object.assign({}, foxConfig.headers); + let custom_ua = foxConfig.uas.home; + if (custom_ua) headers['User-Agent'] = custom_ua; + + if (foxConfig.cms && foxConfig.category !== 2) { + let class_url = foxConfig.cms.replace(/&ac=videolist|ac=videolist&|ac=videolist|ac=detail/g, ''); + if (!class_url.includes('ac=')) class_url += 'ac=list'; + + let classRes = request(class_url, headers); + let classes = JSON.parse(classRes).class; + + let recommendVideos = await getRecommendVideos(); + let dataRes = request(foxConfig.cms.replace(/&$/, ''), headers); + let data = JSON.parse(dataRes); + data.class = classes; + + if (recommendVideos.length > 0) { + data.recommend = recommendVideos; + } + + return JSON.stringify(data); + } else { + let res = request(HOST + '/api.php/Appfox/init', headers); + let response = JSON.parse(res); + let classes = []; + for (let i of response.data.type_list) { + classes.push({type_id: i.type_id, type_name: i.type_name}); + } + + let recommendVideos = await getRecommendVideos(); + let result = {class: classes}; + + if (recommendVideos.length > 0) { + result.recommend = recommendVideos; + } + + return JSON.stringify(result); + } + } catch (e) { + return '{"class":[]}'; + } +} + +async function homeVod() { + try { + if (!HOST || foxConfig.category === 0) return '{"list":[]}'; + + if (foxConfig.cms && foxConfig.category !== 2) { + let headers = Object.assign({}, foxConfig.headers); + let custom_ua = foxConfig.uas.homeVideo || foxConfig.uas.home; + if (custom_ua) headers['User-Agent'] = custom_ua; + + let res = request(foxConfig.cms.replace(/&$/, ''), headers); + let data = JSON.parse(res); + + if (!data.list || data.list.length === 0) { + let recommendVideos = await getRecommendVideos(); + if (recommendVideos.length > 0) { + data.list = recommendVideos; + } + } + + if (foxConfig.category === 2 && data.list) { + for (let i of data.list) { + i.vod_id = 'msearch:' + i.vod_id; + } + } + return JSON.stringify(data); + } + + let headers = Object.assign({}, foxConfig.headers); + let custom_ua = foxConfig.uas.homeVideo || foxConfig.uas.home; + if (custom_ua) headers['User-Agent'] = custom_ua; + + let path = foxConfig.ver === 2 ? 'nav' : 'index'; + let res = request(HOST + '/api.php/Appfox/' + path, headers); + let response = JSON.parse(res); + let videos = []; + + if (foxConfig.ver === 2) { + let navigationId = ''; + for (let i of response.data) { + if (i.navigationId) { + navigationId = i.navigationId; + break; + } + } + if (navigationId) { + let navRes = request(HOST + '/api.php/Appfox/nav_video?id=' + navigationId, headers); + let navData = JSON.parse(navRes); + for (let item of navData.data) { + if (item.videos) { + videos = videos.concat(item.videos); + } + } + } + } else { + for (let item of response.data) { + if (item.banner) videos = videos.concat(item.banner); + if (item.categories) { + for (let cat of item.categories) { + if (cat.videos) videos = videos.concat(cat.videos); + } + } + } + } + + if (videos.length === 0) { + videos = await getRecommendVideos(); + } + + if (foxConfig.category === 2) { + for (let i of videos) { + i.vod_id = 'msearch:' + i.vod_id; + } + } + return JSON.stringify({list: videos.slice(0, 20)}); + } catch (e) { + try { + let recommendVideos = await getRecommendVideos(); + return JSON.stringify({list: recommendVideos}); + } catch (e2) { + return '{"list":[]}'; + } + } +} + +async function category(tid, pg, filter, extend) { + try { + if (!HOST) return '{"list":[]}'; + + pg = parseInt(pg) || 1; + let headers = Object.assign({}, foxConfig.headers); + let category_ua = foxConfig.uas.category; + if (category_ua) headers['User-Agent'] = category_ua; + + if (foxConfig.cms && foxConfig.category !== 2) { + let res = request(foxConfig.cms + 'pg=' + pg + '&t=' + tid, headers); + let data = JSON.parse(res); + if (foxConfig.category === 2 && data.list) { + for (let i of data.list) { + i.vod_id = 'msearch:' + i.vod_id; + } + } + return JSON.stringify(data); + } else { + let res = request(HOST + '/api.php/Appfox/vodList?type_id=' + tid + '&page=' + pg, headers); + let response = JSON.parse(res); + let videos = response.data?.list || response.data?.recommend_list || []; + let data = {list: videos}; + if (foxConfig.category === 2) { + for (let i of data.list) { + i.vod_id = 'msearch:' + i.vod_id; + } + } + return JSON.stringify(data); + } + } catch (e) { + return '{"list":[]}'; + } +} + +async function search(wd, quick, pg) { + try { + if (!HOST) return '{"list":[]}'; + + pg = parseInt(pg) || 1; + let headers = Object.assign({}, foxConfig.headers); + let search_ua = foxConfig.uas.search; + if (search_ua) headers['User-Agent'] = search_ua; + + if (foxConfig.cms) { + let cms = foxConfig.cms.split('?')[0] + '?'; + let res = request(cms + 'ac=detail&wd=' + encodeURIComponent(wd), headers); + let response = JSON.parse(res); + foxConfig.detail = response.list || []; + return JSON.stringify(response); + } else { + let path = HOST + '/api.php/Appfox/vod?ac=detail&wd=' + encodeURIComponent(wd); + if (foxConfig.froms) path += '&from=' + foxConfig.froms; + let res = request(path, headers); + let response = JSON.parse(res); + foxConfig.detail = response.list || []; + return JSON.stringify(response); + } + } catch (e) { + return '{"list":[]}'; + } +} + +async function detail(id) { + try { + let headers = Object.assign({}, foxConfig.headers); + let detail_ua = foxConfig.uas.detail || foxConfig.uas.search; + if (detail_ua) headers['User-Agent'] = detail_ua; + + let video = null; + for (let i of foxConfig.detail) { + if (String(i.vod_id) === String(id)) { + video = Object.assign({}, i); + break; + } + } + + if (!video) { + if (foxConfig.cms) { + let cms = foxConfig.cms.split('?')[0] + '?'; + let res = request(cms + 'ac=detail&ids=' + id, headers); + let response = JSON.parse(res); + video = response.list?.[0] || null; + } else { + let res = request(HOST + '/api.php/Appfox/vod?ac=detail&ids=' + id, headers); + let response = JSON.parse(res); + video = response.list?.[0] || null; + } + } + + if (!video) return '{"list":[]}'; + + let play_from = video.vod_play_from ? video.vod_play_from.split('$$$') : []; + let play_urls = video.vod_play_url ? video.vod_play_url.split('$$$') : []; + + let sortedSources = sortSources(play_from, play_urls); + play_from = sortedSources.play_from; + play_urls = sortedSources.play_urls; + + try { + let config_headers = Object.assign({}, foxConfig.headers); + let custom_ua = foxConfig.uas.config; + if (custom_ua) config_headers['User-Agent'] = custom_ua; + + let res = request(HOST + '/api.php/Appfox/config', config_headers); + let config_response = JSON.parse(res); + let player_list = config_response.data?.playerList || []; + let jiexi_data_list = config_response.data?.jiexiDataList || []; + + let player_map = {}; + for (let player of player_list) { + player_map[player.playerCode] = player; + } + + let processed_play_urls = []; + for (let idx = 0; idx < play_from.length; idx++) { + let play_code = play_from[idx]; + if (player_map[play_code]) { + let player_info = player_map[play_code]; + if (player_info.playerCode !== player_info.playerName) { + play_from[idx] = player_info.playerName + '\u2005(' + play_code + ')'; + } + } + if (idx < play_urls.length) { + let urls = play_urls[idx].split('#'); + let processed_urls = []; + for (let url of urls) { + let parts = url.split('$'); + if (parts.length >= 2) { + parts[1] = play_code + '@' + parts[1]; + processed_urls.push(parts.join('$')); + } else { + processed_urls.push(url); + } + } + processed_play_urls.push(processed_urls.join('#')); + } + } + + video.vod_play_from = play_from.join('$$$'); + video.vod_play_url = processed_play_urls.join('$$$'); + + foxConfig.parses = {}; + for (let p of jiexi_data_list) { + if (p.url && p.url.startsWith('http')) { + foxConfig.parses[p.playerCode] = p.url; + } + } + } catch (e) { + } + + return JSON.stringify({list: [video]}); + } catch (e) { + return '{"list":[]}'; + } +} + +async function play(flag, id, flags) { + try { + let parts = id.split('@', 2); + if (parts.length < 2) { + throw new Error('ID格式错误'); + } + let play_from = parts[0]; + let raw_url = parts[1]; + + let jx = 0, parse = 0, parsed = 0; + let headers = Object.assign({}, foxConfig.headers); + let parse_ua = foxConfig.uas.parse; + if (parse_ua) headers['User-Agent'] = parse_ua; + + let player_ua = foxConfig.uas.player || MOBILE_UA; + let url = raw_url; + + let parses_main = []; + if (foxConfig.custom_first === 1) { + parses_main.push(foxConfig.custom_parses); + parses_main.push(foxConfig.parses); + } else { + parses_main.push(foxConfig.parses); + parses_main.push(foxConfig.custom_parses); + } + + outer: for (let parses2 of parses_main) { + if (!parsed && !url.match(/https?:\/\/.*\.(m3u8|mp4|flv|mkv)/)) { + for (let key in parses2) { + if (!play_from.includes(key)) continue; + + let parsers = parses2[key]; + if (Array.isArray(parsers)) { + for (let parser of parsers) { + if (parser && parser.startsWith('parse:')) { + url = parser.split('parse:')[1] + raw_url; + jx = 0; + parse = 1; + break outer; + } + if (parser && parser.startsWith('http')) { + try { + let res = request(parser + raw_url, headers); + let response = JSON.parse(res); + if (response.url && response.url.startsWith('http')) { + url = response.url; + parsed = 1; + break outer; + } + } catch (e) { + continue; + } + } + } + } else { + if (parsers && parsers.startsWith('parse:')) { + url = parsers.split('parse:')[1] + raw_url; + jx = 0; + parse = 1; + break outer; + } + if (parsers && parsers.startsWith('http')) { + try { + let res = request(parsers + raw_url, headers); + let response = JSON.parse(res); + if (response.url && response.url.startsWith('http')) { + url = response.url; + parsed = 1; + break outer; + } + } catch (e) { + continue; + } + } + } + if (parsed || parse) break; + } + } + if (parsed || parse) break; + } + + if (!(url.match(/https?:\/\/.*\.(m3u8|mp4|flv|mkv)/) || parsed === 1)) { + jx = 1; + } + + return JSON.stringify({ + jx: jx, + parse: parse, + url: url, + header: {'User-Agent': player_ua} + }); + } catch (e) { + return JSON.stringify({ + jx: 0, + parse: 0, + url: id, + header: {} + }); + } +} + +export function __jsEvalReturn() { + return { + init: init, + home: home, + homeVod: homeVod, + category: category, + search: search, + detail: detail, + play: play + }; +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/小米/jars/巧技2.jar b/tvboxqq/tvboxqq/小米/jars/巧技2.jar new file mode 100644 index 0000000..6c7c871 Binary files /dev/null and b/tvboxqq/tvboxqq/小米/jars/巧技2.jar differ diff --git a/tvboxqq/tvboxqq/小米/spider.jar b/tvboxqq/tvboxqq/小米/spider.jar new file mode 100644 index 0000000..8b41402 Binary files /dev/null and b/tvboxqq/tvboxqq/小米/spider.jar differ diff --git a/tvboxqq/tvboxqq/小虎斑/api.json b/tvboxqq/tvboxqq/小虎斑/api.json new file mode 100644 index 0000000..b351f4f --- /dev/null +++ b/tvboxqq/tvboxqq/小虎斑/api.json @@ -0,0 +1,1075 @@ +//资源全部免费,仅供测试交流,请勿内置传播与转卖;关注微信公众号:奇奇乐分享,发送“本地包”获取教程与更多资源! + +{ + "spider": "./spider.jar", + "wallpaper": "https://xn--11x805d.xn--4kq62z5rby2qupq9ub.xyz/", + "warningText": "仅作学习交流测试使用,配置或下载后请于24小时之内删除", + "lives": [ + { + "name": "钵钵鸡(四网通用)", + "type": 0, + "url": "切换成你自己的地址" + } + ], + "sites": [ + { + "key": "drpy_js_豆瓣", + "name": "导航|小虎斑的口粮", + "type": 3, + "api": "csp_Douban", + "ext": "./json/douban.json" + }, + { + "key": "提醒", + "api": "csp_Douban2", + "name": "仅用作学习交流使用,请于24小时之内进行清除", + "type": 3 + }, + { + "key": "测试", + "name": "应用|更新", + "type": 3, + "api": "csp_Market", + "ext": "aHR0cHM6Ly84OTI0LmtzdG9yZS5zcGFjZS9odWJhbi9tYXJrLmpzb24=" + }, + { + "key": "设置", + "name": "网弹|设置", + "type": 3, + "api": "csp_Config" + }, + { + "key": "我的网盘", + "name": "我的|网盘", + "type": 3, + "api": "csp_MyCloud", + "style": { + "type": "list" + } + }, + { + "key": "全网", + "name": "全网|短剧", + "type": 4, + "api": "https://so.yinpai.xyz/duanju.php?type=dquark" + }, + { + "key": "duanju", + "name": "破碎|短剧", + "type": 3, + "api": "csp_HBsuipian", + "ext": "https://speed.howdbm.com/papaya/papaya-file/files/download/" + }, + { + "key": "B站直播", + "name": "B站|直播", + "type": 3, + "api": "csp_BilibiliLive" + }, + { + "key": "聚合", + "name": "聚合|在线", + "type": 3, + "api": "csp_HBlive" + }, + { + "key": "静月", + "name": "养生|京城", + "type": 3, + "api": "./api/drpy2.min.js", + "ext": "./js/养生.js" + }, + { + "key": "网盘虎斑", + "name": "虎斑|4k网盘", + "type": 3, + "playerType": 2, + "api": "csp_Mogg", + "ext": { + "tyitoken": "http://127.0.0.1:9978/file/TVBox/tyitoken.txt", + "dutoken": "http://127.0.0.1:9978/file/TVBox/dutoken.txt", + "p123token": "http://127.0.0.1:9978/file/TVBox/p123token.txt", + "token": "http://127.0.0.1:9978/file/TVBox/Altoken.txt", + "cookie": "http://127.0.0.1:9978/file/TVBox/qkcookie.txt", + "uccookie": "http://127.0.0.1:9978/file/TVBox/uccookie.txt", + "tuctoken": "http://127.0.0.1:9978/file/TVBox/tuctoken.txt", + "site": "http://103.45.162.207:20720/" + } + }, + { + "key": "傻样", + "name": "傻样|4k网盘", + "type": 3, + "playerType": 2, + "api": "csp_Mogg", + "ext": { + "site": "http://xsayang.fun:12512/" + } + }, + { + "key": "玩偶哥哥", + "name": "玩偶|4k网盘", + "type": 3, + "playerType": 2, + "api": "csp_Wogg", + "ext": { + "site": "https://wogg.xxooo.cf/" + } + }, + { + "key": "P123", + "name": "木偶|4k网盘", + "type": 3, + "playerType": 2, + "api": "csp_Mogg", + "ext": { + "site": "http://123.666291.xyz/" + } + }, + { + "key": "至臻", + "name": "至臻|4k网盘", + "type": 3, + "playerType": 2, + "api": "csp_Mogg", + "ext": { + "site": "https://mihdr.top/" + } + }, + { + "key": "多多", + "name": "多多|4k网盘", + "type": 3, + "playerType": 2, + "api": "csp_Mogg", + "ext": { + "site": "https://tv.yydsys.top/" + } + }, + { + "key": "ou多", + "name": "讴歌|4k网盘", + "type": 3, + "playerType": 2, + "api": "csp_Mogg", + "ext": { + "site": "https://woog.nxog.eu.org/" + } + }, + { + "key": "米", + "name": "小米|4k网盘", + "type": 3, + "playerType": 2, + "api": "csp_Mogg", + "ext": { + "site": "http://xiaomi666.fun" + } + }, + { + "key": "二小", + "name": "二小|4k网盘", + "type": 3, + "playerType": 2, + "api": "csp_Mogg", + "ext": { + "site": "https://xhww.net" + } + }, + { + "key": "盼盼", + "name": "海棉|盘搜", + "type": 3, + "playerType": 2, + "api": "csp_HBhaiM", + "ext": { + "hmianck": "", + "site": "https://www.haimianxz.com" + } + }, + { + "key": "雷静", + "name": "雷静|盘搜", + "type": 3, + "playerType": 2, + "api": "csp_HBleiJing", + "ext": { + "tyitoken": "http://127.0.0.1:9978/file/HBTV/tyitoken.txt", + "leijck": "" + } + }, + { + "key": "123", + "name": "123|推送", + "type": 4, + "api": "https://so.yinpai.xyz/api.php?type=123" + }, + { + "key": "夸克推送", + "name": "夸克|推送", + "type": 4, + "api": "https://so.yinpai.xyz/api.php?type=quark" + }, + { + "key": "优惜", + "name": "优惜|推送", + "type": 4, + "api": "https://so.yinpai.xyz/api.php?type=uc" + }, + { + "key": "百度", + "name": "百度|推送", + "type": 4, + "api": "https://so.yinpai.xyz/api.php?type=baidu" + }, + { + "key": "天翼", + "name": "天翼|推送", + "type": 4, + "api": "https://so.yinpai.xyz/api.php?type=tianyi" + }, + { + "key": "景天", + "name": "景天|4K弹幕", + "type": 3, + "api": "csp_HBcms10Dou", + "ext": "https://zy.jinchancaiji.com/api.php/provide/vod/from/qq/" + }, + { + "key": "茂茂", + "name": "茂茂|4K弹幕", + "type": 3, + "api": "csp_HBcms10Dou", + "ext": "https://zy.jinchancaiji.com/api.php/provide/vod/from/mgtv/" + }, + { + "key": "立春", + "name": "立春|4K弹幕", + "type": 3, + "api": "csp_HBNT4", + "ext": "DyoqWQIrBwMuGytIIxtMWy8FMQwtNStECyoUXy0YVUg=" + }, + { + "key": "夏至", + "name": "夏至|4K弹幕", + "type": 3, + "api": "csp_HBNT4", + "ext": "DyoqWQInJUMuGFdFDzUQAgIGXUUAUi9H" + }, + { + "key": "秋分", + "name": "秋分|4K弹幕", + "type": 3, + "api": "csp_HBNT4", + "ext": "DyoqWQInJUMuGFcBCgtNXAQ4Og8HOSNECiVBHi0YVUg=" + }, + { + "key": "冬至", + "name": "冬至|4K弹幕", + "type": 3, + "api": "csp_HBNT4", + "ext": "DyoqWQIrBwMuUgZBNzVBHQA7MUcsCFtcCjVMVA==" + }, + { + "key": "小猫", + "name": "小猫|自定", + "type": 3, + "api": "csp_HBcms10", + "ext": "https://vs.okcdn100.top/api.php/provide/vod/" + }, + { + "key": "tenteng", + "name": "落日|自定", + "type": 3, + "api": "./api/drpy2.min.js", + "ext": "./js/腾腾.js" + }, + { + "key": "youyou", + "name": "日出|自定", + "type": 3, + "api": "./api/drpy2.min.js", + "ext": "./js/优优.js" + }, + { + "key": "qiqi", + "name": "晚霞|自定", + "type": 3, + "api": "./api/drpy2.min.js", + "ext": "./js/奇奇.js" + }, + { + "key": "mangmang", + "name": "朝阳|自定", + "type": 3, + "api": "./api/drpy2.min.js", + "ext": "./js/茫茫.js" + }, + { + "key": "馆源", + "name": "馆源|自定", + "type": 3, + "api": "csp_HB360" + }, + { + "key": "d'd", + "name": "修罗|弹幕", + "type": 3, + "api": "csp_HBPQ", + "ext": { + "数组": "card card-sm card-link&&", + "图片": "src=\"&&\"", + "标题": "mb-0 card-title text-truncate\">&&<", + "副标题": "start-0 text-red-fg\">&&", + "链接": "href=\"&&\"", + "简介": "剧情简介:&&\"", + "线路标题": "磁力+>&&<", + "播放数组": "download-list&&", + "播放列表": "", + "播放标题": "text-muted\">&&[不包含:网盘下载]", + "跳转播放链接": "href=\"&&\"", + "分类url": "https://v.xlys.ltd.ua/s/all/{catePg}?type={cateId};;d0", + "分类": "电影$0#电视剧$1" + } + }, + { + "key": "苹果", + "name": "苹果|弹幕", + "type": 3, + "api": "csp_HBPguo" + }, + { + "key": "天天", + "name": "天天|弹幕", + "type": 3, + "api": "csp_HBtiantianv3", + "ext": "http://v.rbotv.cn" + }, + { + "key": "jianpian", + "name": "荐片|弹幕", + "type": 3, + "api": "csp_Jianpian", + "ext": "http://pizazzGY.zxbwv.com" + }, + { + "key": "风神", + "name": "风神|弹幕", + "type": 3, + "api": "csp_HBv1Class", + "ext": "DyoqWQInJUMuGFdINDU2AQMoEEAuDFdLDRtJAwMGWR8DJjhENFAqWC0CLgYDOQIADA82Ey0CJgMAMldLCzFBAQIoAwAGKQYB" + }, + { + "key": "爱影", + "name": "爱影|弹幕", + "type": 3, + "api": "csp_HBv1Class", + "ext": "./txt/api.txt" + }, + { + "key": "0°", + "name": "0°|弹幕", + "type": 3, + "api": "csp_HBlingDu" + }, + { + "key": "橘汁", + "name": "橘汁|弹幕", + "type": 3, + "api": "csp_HBmoou", + "ext": "https://ajuzi.top" + }, + { + "key": "123", + "name": "123|弹幕", + "type": 3, + "api": "csp_HBmoou", + "ext": "https://123ysw.com" + }, + { + "key": "演员", + "name": "演员|弹幕", + "type": 3, + "api": "csp_HBmoou", + "ext": "DyoqWQInJUMuGFcDDFApHDsCPgUGUyhENBtNAzgWUEg=" + }, + { + "key": "橘子", + "name": "橘子|弹幕", + "type": 3, + "api": "csp_HBmoou", + "ext": "DyoqWQInJUMuGFdZDwwuXwA8XUUAUi9HJxs1AwAnOkUBKSMHIhtBXQABPkMDMlsBDFE5HygWJR9XEANoWwNKOCgWJR8sIlpIIgg5AygWJUc7NT8FIw89WiwoIUEvJjhdNA81XCgWJR87GwUEIDYfEC8CLQ84NQkDNA8uAjsuVUg=" + }, + { + "key": "趣看", + "name": "趣看|弹幕", + "type": 3, + "api": "csp_HBmoou", + "ext": "DyoqWQInJUMuGFcCClEbHAI3Pg0GNhpZDAtNAzgWUEg=" + }, + { + "key": "HBqwKan", + "name": "全网|弹幕", + "type": 3, + "api": "csp_HBqwKan" + }, + { + "key": "csp_HBhcShun", + "name": "蝴蝶|弹幕", + "type": 3, + "api": "csp_HBhcShun" + }, + { + "key": "磁力", + "name": "6V|弹幕", + "type": 3, + "api": "csp_Xb6v", + "ext": "0" + }, + { + "key": "低端", + "name": "美剧|低端", + "type": 3, + "api": "csp_HBdiDuan" + }, + { + "key": "旺旺", + "name": "旺旺|弹幕", + "type": 3, + "api": "csp_HBwwgg" + }, + { + "key": "酷浪", + "name": "酷浪|弹幕", + "type": 3, + "api": "csp_HBtiantian", + "ext": "http://v.lkuys.cn/" + }, + { + "key": "4Kav", + "name": "4Kav|弹幕", + "type": 3, + "api": "csp_HB4kav", + "playerType": 2 + }, + { + "key": "jarcai", + "name": "文才|弹幕", + "type": 3, + "api": "csp_Wcai", + "ext": "https://www.jxshdzs.com/" + }, + { + "key": "星河", + "name": "星河|弹幕", + "type": 3, + "api": "csp_HBgetapp", + "ext": "eyJob3N0IjoiaHR0cDovLzEyMS42Mi4yMi4yMDQ6OTg3Ni8iLCJrZXkiOiJaalZsTW5SNE5UTjVhM0EyY3pKak9RPT0iLCJpdiI6IlpqVmxNblI0TlRONWEzQTJjekpqT1E9PSIsInR5cGVJZHMiOlsiMSIsIjIiLCIzIiwiNCJdLCJ0eXBlTmFtZXMiOlsi55S15b2xIiwi55S16KeG5YmnIiwi5Yqo5ryrIiwi57u86Im6Il19" + }, + { + "key": "追追", + "name": "追追|弹幕", + "type": 3, + "api": "csp_Wcai", + "ext": "https://zjuys.com/" + }, + { + "key": "风铃", + "name": "风铃|动漫", + "type": 3, + "api": "csp_HBfling" + }, + { + "key": "土豆", + "name": "土豆|搜索", + "type": 3, + "api": "csp_HBtdou" + }, + { + "key": "米饭2", + "name": "米饭|弹幕", + "type": 3, + "api": "csp_HBgetapp", + "ext": "eyJob3N0IjoiaHR0cDovL2dldC5vcGVuLm1pZnVuLm9yZy8iLCJrZXkiOiJSMFZVVFVsR1ZVNUhSVWxOU1VaVlRnPT0iLCJpdiI6IlIwVlVUVWxHVlU1SFJVbE5TVVpWVGc9PSJ9" + }, + { + "key": "dmmiku", + "name": "异世界|动漫", + "type": 3, + "api": "csp_Ysj" + }, + { + "key": "体育", + "name": "体育|实时", + "type": 3, + "api": "csp_Kanqiu" + }, + { + "key": "360", + "name": "360|弹幕", + "type": 3, + "api": "csp_HBcms10", + "ext": "https://360zy.com/api.php/provide/vod/" + }, + { + "key": "暴风", + "name": "暴风|弹幕", + "type": 3, + "api": "csp_HBcms10", + "ext": "http://43.138.242.105:8686/api.php?key=104847348&id=id1" + }, + { + "key": "如意", + "name": "如意|采集", + "type": 3, + "api": "csp_HBcms10", + "ext": "https://cj.rycjapi.com/api.php/provide/vod/" + }, + { + "key": "maoyan", + "name": "摩崖|弹幕", + "type": 3, + "api": "csp_HBcms10", + "ext": "https://api.maoyanapi.top/api.php/provide/vod/" + }, + { + "key": "木耳", + "name": "木耳|弹幕", + "type": 3, + "api": "csp_HBcms10", + "ext": "https://json02.heimuer.xyz/api.php/provide/vod/" + }, + { + "key": "234XBPQ", + "name": "234|弹幕", + "type": 3, + "api": "csp_HBPQ", + "ext": { + "首页": "0", + "数组": "class=\"stui-vodlist__thumb&&", + "图片": "original=\"&&\"", + "标题": "title=\"&&\"", + "副标题": "text-right\">&&", + "链接": "href=\"&&\"", + "免嗅": "1", + "播放数组": "
    ", + "播放列表": "", + "分类url": "https://ikan234.com/list/{cateId}-{catePg}.html", + "分类": "电视剧$2#电影$1#动漫$4#短剧$5#综艺$3" + } + }, + { + "key": "短剧", + "name": "短剧|弹幕", + "type": 3, + "api": "csp_HBPQ", + "ext": "./json/短剧网.json" + }, + { + "key": "海纳", + "name": "海纳|弹幕", + "type": 3, + "api": "csp_HBPQ", + "ext": "./json/海纳影视.json" + }, + { + "key": "咳咳", + "name": "可可|弹幕", + "type": 3, + "api": "csp_HBPQ", + "ext": "./json/可可影视.json" + }, + { + "key": "面包", + "name": "面包|弹幕", + "type": 3, + "api": "csp_HBPQ", + "ext": "./json/面包影视.json" + }, + { + "key": "七点", + "name": "七点|弹幕", + "type": 3, + "api": "csp_HBPQ", + "ext": "./json/七点影视.json" + }, + { + "key": "三九", + "name": "三九|弹幕", + "type": 3, + "api": "csp_HBPQ", + "ext": "./json/三九影视.json" + }, + { + "key": "三四", + "name": "三四|弹幕", + "type": 3, + "api": "csp_HBPQ", + "ext": "./json/三四影视.json" + }, + { + "key": "骚火", + "name": "骚火|弹幕", + "type": 3, + "api": "csp_HBPQ", + "ext": "./json/骚火影视.json" + }, + { + "key": "雪糕", + "name": "雪糕|弹幕", + "type": 3, + "api": "csp_HBPQ", + "ext": "./json/雪糕影视.json" + }, + { + "key": "樱花", + "name": "樱花|弹幕", + "type": 3, + "api": "csp_HBPQ", + "ext": "./json/樱花影视.json" + }, + { + "key": "永乐", + "name": "永乐|弹幕", + "type": 3, + "api": "csp_HBPQ", + "ext": "./json/永乐影视.json" + }, + { + "key": "push_agent", + "name": "手机|推送", + "type": 3, + "api": "csp_Push", + "searchable": 0, + "filterable": 0, + "changeable": 0 + }, + { + "key": "专用", + "name": "测试|专用", + "type": 3, + "api": "csp_HBxLei8" + } + ], + "parses": [ + { + "name": "解析聚合", + "type": 3, + "url": "Demo" + }, + { + "name": "Json轮询", + "type": 2, + "url": "Sequence" + }, + { + "name": "自定:请先设置", + "type": 1, + "url": "http://127.0.0.1:9978/proxy?do=seachdanmu&go=getuserjx&url=" + }, + { + "name": "晴天4K Q1026038872", + "type": 1, + "url": "http://127.0.0.1:9997/proxy?do=seachdanmu&go=hubanjiexi&url=" + }, + { + "name": "虎斑XM", + "type": 1, + "url": "http://127.0.0.1:9978/proxy?do=seachdanmu&go=getXmflvjx&url=", + "ext": { + "header": { + "Accept": "*/*", + "Origin": "https://jx.xmflv.com" + } + } + }, + { + "name": "虎斑szy", + "type": 1, + "url": "http://127.0.0.1:9978/proxy?do=seachdanmu&go=getszyjx&url=" + }, + { + "name": "虎斑mt4K", + "type": 1, + "url": "http://127.0.0.1:9978/proxy?do=seachdanmu&go=getmgtvjx&url=" + }, + { + "name": "虎斑HJ", + "type": 1, + "url": "http://127.0.0.1:9978/proxy?do=seachdanmu&go=gethuajx&url=" + }, + { + "name": "虎斑WS", + "type": 1, + "url": "http://127.0.0.1:9978/proxy?do=seachdanmu&go=getWsjx&url=" + }, + { + "name": "虎斑AB", + "type": 1, + "url": "http://127.0.0.1:9978/proxy?do=seachdanmu&go=getAbjx&url=" + }, + { + "name": "虎斑V6", + "type": 1, + "url": "http://127.0.0.1:9978/proxy?do=seachdanmu&go=getV6jx&url=" + } + ], + "flags": [ + "youku", + "qq", + "QQ", + "iqiyi", + "qiyi", + "letv", + "sohu", + "pptv", + "PPTV", + "mgtv", + "wasu", + "bilibili", + "m1905", + "seven", + "m78" + ], + "rules": [ + { + "name": "暴风", + "hosts": [ + "bfzy", + "bfbfvip", + "bfengbf" + ], + "regex": [ + "#EXTINF.*?\\s+.*?adjump.*?\\.ts" + ] + }, + { + "name": "量子", + "hosts": [ + "vip.lz", + "hd.lz", + ".cdnlz" + ], + "regex": [ + "#EXT-X-DISCONTINUITY\\r*\\n*#EXTINF:7\\.166667,[\\s\\S]*?#EXT-X-DISCONTINUITY", + "#EXT-X-DISCONTINUITY\\r*\\n*#EXTINF:4\\.066667,[\\s\\S]*?#EXT-X-DISCONTINUITY", + "17.19" + ] + }, + { + "name": "非凡", + "hosts": [ + "vip.ffzy", + "hd.ffzy", + "super.ffzy" + ], + "regex": [ + "#EXT-X-DISCONTINUITY\\r*\\n*#EXTINF:6\\.400000,[\\s\\S]*?#EXT-X-DISCONTINUITY", + "#EXT-X-DISCONTINUITY\\r*\\n*#EXTINF:6\\.666667,[\\s\\S]*?#EXT-X-DISCONTINUITY", + "#EXTINF.*?\\s+.*?1171(057).*?\\.ts", + "#EXTINF.*?\\s+.*?6d7b(077).*?\\.ts", + "#EXTINF.*?\\s+.*?6718a(403).*?\\.ts", + "17.99", + "14.45" + ] + }, + { + "name": "索尼", + "hosts": [ + "suonizy" + ], + "regex": [ + "#EXT-X-DISCONTINUITY\\r*\\n*#EXTINF:1\\.000000,[\\s\\S]*?#EXT-X-DISCONTINUITY", + "#EXTINF.*?\\s+.*?p1ayer.*?\\.ts", + "#EXTINF.*?\\s+.*?\\/video\\/original.*?\\.ts" + ] + }, + { + "name": "快看", + "hosts": [ + "kuaikan" + ], + "regex": [ + "#EXT-X-KEY:METHOD=NONE\\r*\\n*#EXTINF:5,[\\s\\S]*?#EXT-X-DISCONTINUITY", + "#EXT-X-KEY:METHOD=NONE\\r*\\n*#EXTINF:2\\.4,[\\s\\S]*?#EXT-X-DISCONTINUITY", + "#EXT-X-KEY:METHOD=NONE\\r*\\n*#EXTINF:1\\.467,[\\s\\S]*?#EXT-X-DISCONTINUITY" + ] + }, + { + "name": "一起看广告", + "hosts": [ + "yqk88" + ], + "regex": [ + "18.4", + "15.1666", + "16.5333", + "#EXT-X-DISCONTINUITY\\r*\\n*[\\s\\S]*?#EXT-X-CUE-IN" + ] + }, + { + "name": "磁力广告", + "hosts": [ + "magnet" + ], + "regex": [ + "更多", + "请访问", + "example", + "社 區", + "x u u", + "直 播", + "更 新", + "社 区", + "有趣", + "有 趣", + "英皇体育", + "全中文AV在线", + "澳门皇冠赌场", + "哥哥快来", + "美女荷官", + "裸聊", + "新片首发", + "UUE29" + ] + }, + { + "name": "火山嗅探", + "hosts": [ + "huoshan.com" + ], + "regex": [ + "item_id=" + ] + }, + { + "name": "抖音嗅探", + "hosts": [ + "douyin.com" + ], + "regex": [ + "is_play_url=" + ] + }, + { + "name": "农民嗅探", + "hosts": [ + "toutiaovod.com" + ], + "regex": [ + "video/tos/cn" + ] + } + ], + "doh": [ + { + "name": "Google", + "url": "https://dns.google/dns-query", + "ips": [ + "8.8.4.4", + "8.8.8.8" + ] + }, + { + "name": "Cloudflare", + "url": "https://cloudflare-dns.com/dns-query", + "ips": [ + "1.1.1.1", + "1.0.0.1", + "2606:4700:4700::1111", + "2606:4700:4700::1001" + ] + }, + { + "name": "AdGuard", + "url": "https://dns.adguard.com/dns-query", + "ips": [ + "94.140.14.140", + "94.140.14.141" + ] + }, + { + "name": "DNSWatch", + "url": "https://resolver2.dns.watch/dns-query", + "ips": [ + "84.200.69.80", + "84.200.70.40" + ] + }, + { + "name": "Quad9", + "url": "https://dns.quad9.net/dns-quer", + "ips": [ + "9.9.9.9", + "149.112.112.112" + ] + } + ], + "ijk": [ + { + "group": "软解码", + "options": [ + { + "category": 4, + "name": "opensles", + "value": "0" + }, + { + "category": 4, + "name": "overlay-format", + "value": "842225234" + }, + { + "category": 4, + "name": "framedrop", + "value": "1" + }, + { + "category": 4, + "name": "soundtouch", + "value": "1" + }, + { + "category": 4, + "name": "start-on-prepared", + "value": "1" + }, + { + "category": 1, + "name": "http-detect-range-support", + "value": "0" + }, + { + "category": 1, + "name": "fflags", + "value": "fastseek" + }, + { + "category": 2, + "name": "skip_loop_filter", + "value": "48" + }, + { + "category": 4, + "name": "reconnect", + "value": "1" + }, + { + "category": 4, + "name": "enable-accurate-seek", + "value": "0" + }, + { + "category": 4, + "name": "mediacodec", + "value": "0" + }, + { + "category": 4, + "name": "mediacodec-auto-rotate", + "value": "0" + }, + { + "category": 4, + "name": "mediacodec-handle-resolution-change", + "value": "0" + }, + { + "category": 4, + "name": "mediacodec-hevc", + "value": "0" + }, + { + "category": 1, + "name": "dns_cache_timeout", + "value": "600000000" + } + ] + }, + { + "group": "硬解码", + "options": [ + { + "category": 4, + "name": "opensles", + "value": "0" + }, + { + "category": 4, + "name": "overlay-format", + "value": "842225234" + }, + { + "category": 4, + "name": "framedrop", + "value": "1" + }, + { + "category": 4, + "name": "soundtouch", + "value": "1" + }, + { + "category": 4, + "name": "start-on-prepared", + "value": "1" + }, + { + "category": 1, + "name": "http-detect-range-support", + "value": "0" + }, + { + "category": 1, + "name": "fflags", + "value": "fastseek" + }, + { + "category": 2, + "name": "skip_loop_filter", + "value": "48" + }, + { + "category": 4, + "name": "reconnect", + "value": "1" + }, + { + "category": 4, + "name": "enable-accurate-seek", + "value": "0" + }, + { + "category": 4, + "name": "mediacodec", + "value": "1" + }, + { + "category": 4, + "name": "mediacodec-auto-rotate", + "value": "1" + }, + { + "category": 4, + "name": "mediacodec-handle-resolution-change", + "value": "1" + }, + { + "category": 4, + "name": "mediacodec-hevc", + "value": "1" + }, + { + "category": 1, + "name": "dns_cache_timeout", + "value": "600000000" + } + ] + } + ], + "ads": [ + "wan.51img1.com", + "iqiyi.hbuioo.com", + "vip.ffzyad.com" + ] +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/小虎斑/api/drpy2.min.js b/tvboxqq/tvboxqq/小虎斑/api/drpy2.min.js new file mode 100644 index 0000000..12fcd8c --- /dev/null +++ b/tvboxqq/tvboxqq/小虎斑/api/drpy2.min.js @@ -0,0 +1,73 @@ +import cheerio from"assets://js/lib/cheerio.min.js";import"assets://js/lib/crypto-js.js";import"./jsencrypt.js";import"./node-rsa.js";import"./pako.min.js";import 模板 from"./模板.js";import{gbkTool}from"./gbk.js";import"./json5.js";import"./jinja.js";const _jinja2=cheerio.jinja2;cheerio.jinja2=function(template,obj){try{return jinja.render(template,obj)}catch(e){console.log("新的jinja2库渲染失败,换回原始cheerio:"+e.message);return _jinja2(template,obj)}};function init_test(){console.log("init_test_start");console.log("当前版本号:"+VERSION);console.log("本地代理地址:"+getProxyUrl());console.log(RKEY);console.log(JSON.stringify(rule));console.log("init_test_end")}function ocr_demo_test(){let img_base64=`iVBORw0KGgoAAAANSUhEUgAAAIAAAAAoBAMAAADEX+97AAAAG1BMVEXz+/4thQTa7N6QwIFFkyNeokKozqDB3b93sWHFR+MEAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABN0lEQVRIie2TQU+DQBCFt9vScvQpxR4xrcSjJCZ67JDGXsX+AdR4B3vpsSYm/m2HXaRLmuySepR3Gdidb/btDAjRq5dT96eCMlfBuzi1QLZUoZy2yz5sOvI+9iomaPEZ6nWnEtxqIyiM1RcAy44GNDhBXUjot/VVNweV1ah68FqWRyjKIOqAcyYF6rGcmpYnHzGt3fycNoMw0d3/THFu7hFSJ/8OXO6iTM8/KSg09obAzIHLO250LgQ0txOZSfgrV4Exdw98uGycJ0ErAeExZGhOmFHV9zHO6qVSj0MpLq7xZON56o++MjlsEgfVhbQWWME+xQX7J4V6zfi9A1Ly9rP1BvEXp+BbVJ/M77n+wfOIDVp51pZ4iBxvmj9AGrtvry6emwfKnVkW+ZRKd5ZNMvob36vXP9YPDmQki8QiCFAAAAAASUVORK5CYII=`;OcrApi.api=OCR_API;let code=OcrApi.classification(img_base64);log("测试验证码图片的ocr识别结果为:"+code)}function rsa_demo_test(){let t1=(new Date).getTime();let pkcs1_public=` +-----BEGIN RSA PUBLIC KEY----- +MEgCQQCrI0pQ/ERRpJ3Ou190XJedFq846nDYP52rOtXyDxlFK5D3p6JJu2RwsKwy +lsQ9xY0xYPpRZUZKMEeR7e9gmRNLAgMBAAE= +-----END RSA PUBLIC KEY----- +`.trim();let pkcs1_public_pem=` +MEgCQQCrI0pQ/ERRpJ3Ou190XJedFq846nDYP52rOtXyDxlFK5D3p6JJu2RwsKwy +lsQ9xY0xYPpRZUZKMEeR7e9gmRNLAgMBAAE= +`.trim();let pkcs8_public=` +-----BEGIN PUBLIC KEY----- +MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKsjSlD8RFGknc67X3Rcl50WrzjqcNg/ +nas61fIPGUUrkPenokm7ZHCwrDKWxD3FjTFg+lFlRkowR5Ht72CZE0sCAwEAAQ== +-----END PUBLIC KEY-----`.trim();let pkcs8_public_pem=` +MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKsjSlD8RFGknc67X3Rcl50WrzjqcNg/ +nas61fIPGUUrkPenokm7ZHCwrDKWxD3FjTFg+lFlRkowR5Ht72CZE0sCAwEAAQ== +`.trim();let pkcs1_private=` +-----BEGIN RSA PRIVATE KEY----- +MIIBOAIBAAJBAKsjSlD8RFGknc67X3Rcl50WrzjqcNg/nas61fIPGUUrkPenokm7 +ZHCwrDKWxD3FjTFg+lFlRkowR5Ht72CZE0sCAwEAAQI/b6OV1z65UokQaMvSeRXt +0Yv6wiYtduQI9qpq5nzy/ytaqsbBfClNTi/HifKPKxlRouWFkc518EQI8LBxoarJ +AiEA4DaONMplV8PQNa3TKn2F+SDEvLOCjdL0kHKdN90Ti28CIQDDZnTBaHgZwZbA +hS7Bbf5yvwjWMhO6Y7l04/Qm7R+35QIgPuQuqXIoUSD080mp1N5WyRW++atksIF+ +5lGv9e6GP/MCICnj8y/rl6Pd7tXDN6zcSeqLrfdNsREKhB3dKOCXgW9JAiAFYtFS +EJNBXVRTK42SNsZ2hJ/9xLwOwnH2epT8Q43s3Q== +-----END RSA PRIVATE KEY----- +`.trim();let pkcs8_private=` +-----BEGIN PRIVATE KEY----- +MIIBUgIBADANBgkqhkiG9w0BAQEFAASCATwwggE4AgEAAkEAqyNKUPxEUaSdzrtf +dFyXnRavOOpw2D+dqzrV8g8ZRSuQ96eiSbtkcLCsMpbEPcWNMWD6UWVGSjBHke3v +YJkTSwIDAQABAj9vo5XXPrlSiRBoy9J5Fe3Ri/rCJi125Aj2qmrmfPL/K1qqxsF8 +KU1OL8eJ8o8rGVGi5YWRznXwRAjwsHGhqskCIQDgNo40ymVXw9A1rdMqfYX5IMS8 +s4KN0vSQcp033ROLbwIhAMNmdMFoeBnBlsCFLsFt/nK/CNYyE7pjuXTj9CbtH7fl +AiA+5C6pcihRIPTzSanU3lbJFb75q2SwgX7mUa/17oY/8wIgKePzL+uXo93u1cM3 +rNxJ6out902xEQqEHd0o4JeBb0kCIAVi0VIQk0FdVFMrjZI2xnaEn/3EvA7CcfZ6 +lPxDjezd +-----END PRIVATE KEY----- +`.trim();let data=` +NodeRsa +这是node-rsa 现在修改集成在drpy里使用`.trim();let encryptedWithPublic=NODERSA.encryptRSAWithPublicKey(data,pkcs1_public,{outputEncoding:"base64",options:{environment:"browser",encryptionScheme:"pkcs1_oaep"}});console.log("公钥加密");console.log(encryptedWithPublic);let decryptedWithPrivate=NODERSA.decryptRSAWithPrivateKey(encryptedWithPublic,pkcs1_private,{options:{environment:"browser",encryptionScheme:"pkcs1_oaep"}});console.log("私钥解密");console.log(decryptedWithPrivate);let pkcs1_sha256_sign=NODERSA.sign("1",pkcs1_private,{outputEncoding:"base64",options:{environment:"browser",encryptionScheme:"pkcs1",signingScheme:"pkcs1-sha256"}});console.log("pkcs1_sha256_sign");console.log(pkcs1_sha256_sign);let pkcs1_sha256_sign_verify=NODERSA.verify("1","Oulx2QrgeipKYBtqEDqFb2s/+ndk2cGQxO4CkhU7iBM1vyNmmvqubpsmeoUuN3waGrYZLknSEdwBkfv0tUMpFQ==",pkcs1_private,{options:{environment:"browser",encryptionScheme:"pkcs1",signingScheme:"pkcs1-sha256"}});console.log("pkcs1_sha256_sign_verify");console.log(pkcs1_sha256_sign_verify);let pkcs1_oaep_sha256=NODERSA.encryptRSAWithPublicKey(data,`-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEA5KOq1gRNyllLNWKQy8sGpZE3Q1ULLSmzZw+eaAhj9lvqn7IsT1du +SYn08FfoOA2qMwtz+1O2l1mgzNoSVCyVpVabnTG+C9XKeZXAnJHd8aYA7l7Sxhdm +kte+iymYZ0ZBPzijo8938iugtVvqi9UgDmnY3u/NlQDqiL5BGqSxSTd/Sgmy3zD8 +PYzEa3wD9vehQ5fZZ45vKIq8GNVh2Z8+IGO85FF1OsN7+b2yGJa/FmDDNn0+HP+m +PfI+kYBqEVpo0Ztbc3UdxgFwGC8O1n8AQyriwHnSOtIiuBH62J/7qyC/3LEAApRb +Dd9YszqzmODjQUddZKHmvc638VW+azc0EwIDAQAB +-----END RSA PUBLIC KEY----- +`,{outputEncoding:"base64",options:{environment:"browser",encryptionScheme:{scheme:"pkcs1_oaep",hash:"sha256"}}});console.log("pkcs1_oaep_sha256");console.log(pkcs1_oaep_sha256);decryptedWithPrivate=NODERSA.decryptRSAWithPrivateKey("kSZesAAyYh2hdsQnYMdGqb6gKAzTauBKouvBzWcc4+F8RvGd0nwO6mVkUMVilPgUuNxjEauHayHiY8gI3Py45UI3+km0rSGyHrS6dHiHgCkMejXHieglYzAB0IxX3Jkm4z/66bdB/D+GFy0oct5fGCMI1UHPjEAYOsazJDa8lBFNbjiWFeb/qiZtIx3vGM7KYPAZzyRf/zPbbQ8zy9xOmRuOl5nnIxgo0Okp3KO/RIPO4GZOSBA8f2lx1UtNwwrXAMpcNavtoqHVcjJ/9lcotXYQFrn5b299pSIRf2gVm8ZJ31SK6Z8cc14nKtvgnmsgClDzIXJ1o1RcDK+knVAySg==",`-----BEGIN RSA PRIVATE KEY----- +MIIEpAIBAAKCAQEA5KOq1gRNyllLNWKQy8sGpZE3Q1ULLSmzZw+eaAhj9lvqn7Is +T1duSYn08FfoOA2qMwtz+1O2l1mgzNoSVCyVpVabnTG+C9XKeZXAnJHd8aYA7l7S +xhdmkte+iymYZ0ZBPzijo8938iugtVvqi9UgDmnY3u/NlQDqiL5BGqSxSTd/Sgmy +3zD8PYzEa3wD9vehQ5fZZ45vKIq8GNVh2Z8+IGO85FF1OsN7+b2yGJa/FmDDNn0+ +HP+mPfI+kYBqEVpo0Ztbc3UdxgFwGC8O1n8AQyriwHnSOtIiuBH62J/7qyC/3LEA +ApRbDd9YszqzmODjQUddZKHmvc638VW+azc0EwIDAQABAoIBADZ/QGgUzInvsLp/ +zO2WbfYm39o/uhNAvk9RbLt1TIZbMFhyOpeKynHi3Swwd9xsfWX/U9zS/lGi/m31 +iKrhmaW4OA1G3vqpMcK7TBbFufYwUEaA+ZJX344euH8pIfdzyneMQ4z3Far2dS7l +QsmjuilVV2kEFadveXewiYoVOWCu00w6bN8wy2SIHlQn+kIL6HQhWz12iKKflIKu +eGRdzLHsKmBt6WbY1Wuhx7HU0fAKdlBDPxCHNlI+kybUYE9o5C2vJiaVM5wqJBgZ +8Dz8kt1QbLJ910JoLXkLVQ8uC8NJKQwFtqQjTGPnEq0+wbgz6Ij599rKZkwW/xq9 +l6KoUiECgYEA6Ah42tVdkNW047f03xVYXFH96RgorHRS36mR8Y+ONUq1fwKidovC +WjwVujt4OPf3l1W6iyn/F6cu/bsmvPrSc3HTN0B1V31QK4OjgetxQ2PSbTldH02J +NPzkt+v+cPxXpx/P5mgt7Weefw5txU547KubGrHUV5rBKFtIx9pj16MCgYEA/EF0 +o19+D24DZAPwlDS5VbEd7FStnwY4oQ5PqbuNOSbSJLMWU0AqzXcRokp8UTyCZ0X3 +ATkS1REq97kShCuR+npTR6a6DlY7sdpPI1SMLNajgB2tkx0EOzX+PfNIbHUd4jpJ +I0ZMAHv/OOtkzQHDaeTWBTrzsWm6/nTiykfduNECgYEA46AMD4HpPECqKAs66e5i +tI6q7JSKskObWVdcmQEfnSAhVOwcvPb2Ptda6UuV8S0xcwDi88rLOUUFUFzc79+P +vTkY38cYVi/VChsluDpk7ptqv0PbGu5Rf+3n4pZdEjI7OvR2W64wAAn67uIUxc7p +yiO/ET0K9rYWb6S9jXGtKMkCgYEA2kPAqoO7zZoBMQ7/oR0lp/HC1HRIbiqx4RlC +8Lgpb+QZPEwA6zPAVVvLVENi4d+bbcRp/xLlKpraNNJcJSSWAMbLPFoU7sbKjA87 +HnTPfRSTEA2d3Ibk3F7Rh8TzS3Ti0JZiJjVzGZAwu41iAMifzwaD8K6boUy80eNN +QH2CaaECgYBUsLYvC/MiYg3w+LGOONuQongoVUXjGqnw2bjVa9RK7lwRdXPUqJ51 +MpVO98IkoLvGSI/0sGNP3GKNhC+eMGjJAVwFyEuOn+JsmMv9Y9uStIVi5tIHIhKw +m7mp8il0kaftHdSxTbspG3tZ2fjIiFIZkLEOmRpd7ogWumgOajzUdA== +-----END RSA PRIVATE KEY-----`,{options:{environment:"browser",encryptionScheme:"pkcs1_oaep"}});console.log("decryptedWithPrivate");console.log(decryptedWithPrivate);(()=>{let key=new NODERSA.NodeRSA({b:1024});key.setOptions({encryptionScheme:"pkcs1"});let text=`你好drpy node-ras`;let encrypted=key.encrypt(text,"base64");console.log("encrypted: ",encrypted);const decrypted=key.decrypt(encrypted,"utf8");console.log("decrypted: ",decrypted)})();let t2=(new Date).getTime();console.log("rsa_demo_test 测试耗时:"+(t2-t1)+"毫秒")}function pre(){if(typeof rule.预处理==="string"&&rule.预处理&&rule.预处理.trim()){let code=rule.预处理.trim();console.log("执行预处理代码:"+code);if(code.startsWith("js:")){code=code.replace("js:","")}try{eval(code)}catch(e){console.log(`预处理执行失败:${e.message}`)}}}let rule={};let vercode=typeof pdfl==="function"?"drpy2.1":"drpy2";const VERSION=vercode+" 3.9.51beta2 20240711";const MOBILE_UA="Mozilla/5.0 (Linux; Android 11; Pixel 5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.91 Mobile Safari/537.36";const PC_UA="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36";const UA="Mozilla/5.0";const UC_UA="Mozilla/5.0 (Linux; U; Android 9; zh-CN; MI 9 Build/PKQ1.181121.001) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0.2987.108 UCBrowser/12.5.5.1035 Mobile Safari/537.36";const IOS_UA="Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1";const RULE_CK="cookie";const CATE_EXCLUDE="首页|留言|APP|下载|资讯|新闻|动态";const TAB_EXCLUDE="猜你|喜欢|下载|剧情|榜|评论";const OCR_RETRY=3;const OCR_API="https://api.nn.ci/ocr/b64/text";if(typeof MY_URL==="undefined"){var MY_URL}var HOST;var RKEY;var fetch;var print;var log;var rule_fetch_params;var fetch_params;var oheaders;var _pdfh;var _pdfa;var _pd;const DOM_CHECK_ATTR=/(url|src|href|-original|-src|-play|-url|style)$/;const SPECIAL_URL=/^(ftp|magnet|thunder|ws):/;const NOADD_INDEX=/:eq|:lt|:gt|:first|:last|^body$|^#/;const URLJOIN_ATTR=/(url|src|href|-original|-src|-play|-url|style)$|^(data-|url-|src-)/;const SELECT_REGEX=/:eq|:lt|:gt|#/g;const SELECT_REGEX_A=/:eq|:lt|:gt/g;const $js={toString(func){let strfun=func.toString();return strfun.replace(/^\(\)(\s+)?=>(\s+)?\{/,"js:").replace(/\}$/,"")}};function window_b64(){let b64map="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";let base64DecodeChars=new Array(-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,-1,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,-1,-1,-1,-1,-1);function btoa(str){var out,i,len;var c1,c2,c3;len=str.length;i=0;out="";while(i>2);out+=b64map.charAt((c1&3)<<4);out+="==";break}c2=str.charCodeAt(i++);if(i==len){out+=b64map.charAt(c1>>2);out+=b64map.charAt((c1&3)<<4|(c2&240)>>4);out+=b64map.charAt((c2&15)<<2);out+="=";break}c3=str.charCodeAt(i++);out+=b64map.charAt(c1>>2);out+=b64map.charAt((c1&3)<<4|(c2&240)>>4);out+=b64map.charAt((c2&15)<<2|(c3&192)>>6);out+=b64map.charAt(c3&63)}return out}function atob(str){var c1,c2,c3,c4;var i,len,out;len=str.length;i=0;out="";while(i>4);do{c3=str.charCodeAt(i++)&255;if(c3==61)return out;c3=base64DecodeChars[c3]}while(i>2);do{c4=str.charCodeAt(i++)&255;if(c4==61)return out;c4=base64DecodeChars[c4]}while(ithis.length){return false}else{return this.indexOf(search,start)!==-1}}}if(!Array.prototype.includes){Object.defineProperty(Array.prototype,"includes",{value:function(searchElement,fromIndex){if(this==null){throw new TypeError('"this" is null or not defined')}var o=Object(this);var len=o.length>>>0;if(len===0){return false}var n=fromIndex|0;var k=Math.max(n>=0?n:len-Math.abs(n),0);while(k>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:out+=String.fromCharCode(c);break;case 12:case 13:char2=array[i++];out+=String.fromCharCode((c&31)<<6|char2&63);break;case 14:char2=array[i++];char3=array[i++];out+=String.fromCharCode((c&15)<<12|(char2&63)<<6|(char3&63)<<0);break}}return out}function gzip(str){let arr=pako.gzip(str,{});return uint8ArrayToBase64(arr)}function ungzip(b64Data){let strData=atob(b64Data);const charData=strData.split("").map(function(x){return x.charCodeAt(0)});const binData=new Uint8Array(charData);const data=pako.inflate(binData);return Utf8ArrayToStr(data)}function encodeStr(input,encoding){encoding=encoding||"gbk";if(encoding.startsWith("gb")){const strTool=gbkTool();input=strTool.encode(input)}return input}function decodeStr(input,encoding){encoding=encoding||"gbk";if(encoding.startsWith("gb")){const strTool=gbkTool();input=strTool.decode(input)}return input}function getCryptoJS(){return'console.log("CryptoJS已装载");'}const RSA={decode:function(data,key,option){option=option||{};if(typeof JSEncrypt==="function"){let chunkSize=option.chunkSize||117;let privateKey=this.getPrivateKey(key);const decryptor=new JSEncrypt;decryptor.setPrivateKey(privateKey);let uncrypted="";uncrypted=decryptor.decryptUnicodeLong(data);return uncrypted}else{return false}},encode:function(data,key,option){option=option||{};if(typeof JSEncrypt==="function"){let chunkSize=option.chunkSize||117;let publicKey=this.getPublicKey(key);const encryptor=new JSEncrypt;encryptor.setPublicKey(publicKey);let encrypted="";encrypted=encryptor.encryptUnicodeLong(data);return encrypted}else{return false}},fixKey(key,prefix,endfix){if(!key.includes(prefix)){key=prefix+key}if(!key.includes(endfix)){key+=endfix}return key},getPrivateKey(key){let prefix="-----BEGIN RSA PRIVATE KEY-----";let endfix="-----END RSA PRIVATE KEY-----";return this.fixKey(key,prefix,endfix)},getPublicKey(key){let prefix="-----BEGIN PUBLIC KEY-----";let endfix="-----END PUBLIC KEY-----";return this.fixKey(key,prefix,endfix)}};function getProxyUrl(){if(typeof getProxy==="function"){return getProxy(true)}else{return"http://127.0.0.1:9978/proxy?do=js"}}function fixAdM3u8(m3u8_text,m3u8_url,ad_remove){if(!m3u8_text&&!m3u8_url||!m3u8_text&&m3u8_url&&!m3u8_url.startsWith("http")){return""}if(!m3u8_text){log("m3u8_url:"+m3u8_url);m3u8_text=request(m3u8_url)}log("len(m3u8_text):"+m3u8_text.length);if(!ad_remove){return m3u8_text}if(ad_remove.startsWith("reg:")){ad_remove=ad_remove.slice(4)}else if(ad_remove.startsWith("js:")){ad_remove=ad_remove.slice(3)}let m3u8_start=m3u8_text.slice(0,m3u8_text.indexOf("#EXTINF")).trim();let m3u8_body=m3u8_text.slice(m3u8_text.indexOf("#EXTINF"),m3u8_text.indexOf("#EXT-X-ENDLIST")).trim();let m3u8_end=m3u8_text.slice(m3u8_text.indexOf("#EXT-X-ENDLIST")).trim();let murls=[];let m3_body_list=m3u8_body.split("\n");let m3_len=m3_body_list.length;let i=0;while(i{new_m3u8_body.push(it)})}}new_m3u8_body=new_m3u8_body.join("\n").trim();m3u8_text=[m3u8_start,new_m3u8_body,m3u8_end].join("\n").trim();return m3u8_text}function fixAdM3u8Ai(m3u8_url,headers){let ts=(new Date).getTime();let option=headers?{headers:headers}:{};function b(s1,s2){let i=0;while(iit.startsWith("#")?it:urljoin(m3u8_url,it)).join("\n");m3u8=m3u8.replace(/\n\n/gi,"\n");let last_url=m3u8.split("\n").slice(-1)[0];if(last_url.length<5){last_url=m3u8.split("\n").slice(-2)[0]}if(last_url.includes(".m3u8")&&last_url!==m3u8_url){m3u8_url=urljoin2(m3u8_url,last_url);log("嵌套的m3u8_url:"+m3u8_url);m3u8=request(m3u8_url,option)}let s=m3u8.trim().split("\n").filter(it=>it.trim()).join("\n");let ss=s.split("\n");let firststr="";let maxl=0;let kk=0;let kkk=2;let secondstr="";for(let i=0;i1){if(maxl>b(firststr,s)){if(secondstr.length<5)secondstr=s;kkk=kkk+2}else{maxl=b(firststr,s);kkk++}}kk++;if(kk>=20)break}}if(kkk>30)firststr=secondstr;let firststrlen=firststr.length;let ml=Math.round(ss.length/2).toString().length;let maxc=0;let laststr=ss.toReversed().find(x=>{if(!x.startsWith("#")){let k=b(reverseString(firststr),reverseString(x));maxl=b(firststr,x);maxc++;if(firststrlen-maxl<=ml+k||maxc>10){return true}}return false});log("最后一条切片:"+laststr);let ad_urls=[];for(let i=0;i=end){return lists}let first=lists[start];let second=lists[end];if(key){try{first=first[key];second=second[key]}catch(e){}}if(option&&typeof option==="function"){try{first=option(first);second=option(second)}catch(e){}}first+="";second+="";if(first.match(/(\d+)/)&&second.match(/(\d+)/)){let num1=Number(first.match(/(\d+)/)[1]);let num2=Number(second.match(/(\d+)/)[1]);if(num1>num2){lists.reverse()}}return lists}let VODS=[];let VOD={};let TABS=[];let LISTS=[];function getQuery(url){try{if(url.indexOf("?")>-1){url=url.slice(url.indexOf("?")+1)}let arr=url.split("#")[0].split("&");const resObj={};arr.forEach(item=>{let arr1=item.split("=");let key=arr1[0];let value=arr1.slice(1).join("=");resObj[key]=value});return resObj}catch(err){log(`getQuery发生错误:${e.message}`);return{}}}function urljoin(fromPath,nowPath){fromPath=fromPath||"";nowPath=nowPath||"";return joinUrl(fromPath,nowPath)}var urljoin2=urljoin;const defaultParser={pdfh:pdfh,pdfa:pdfa,pd:pd};function pdfh2(html,parse){let html2=html;try{if(typeof html!=="string"){html2=html.rr(html.ele).toString()}}catch(e){print(`html对象转文本发生了错误:${e.message}`)}let result=defaultParser.pdfh(html2,parse);let option=parse.includes("&&")?parse.split("&&").slice(-1)[0]:parse.split(" ").slice(-1)[0];if(/style/.test(option.toLowerCase())&&/url\(/.test(result)){try{result=result.match(/url\((.*?)\)/)[1];result=result.replace(/^['|"](.*)['|"]$/,"$1")}catch(e){}}return result}function pdfa2(html,parse){let html2=html;try{if(typeof html!=="string"){html2=html.rr(html.ele).toString()}}catch(e){print(`html对象转文本发生了错误:${e.message}`)}return defaultParser.pdfa(html2,parse)}function pd2(html,parse,uri){let ret=pdfh2(html,parse);if(typeof uri==="undefined"||!uri){uri=""}if(DOM_CHECK_ATTR.test(parse)&&!SPECIAL_URL.test(ret)){if(/http/.test(ret)){ret=ret.slice(ret.indexOf("http"))}else{ret=urljoin(MY_URL,ret)}}return ret}const parseTags={jsp:{pdfh:pdfh2,pdfa:pdfa2,pd:pd2},json:{pdfh(html,parse){if(!parse||!parse.trim()){return""}if(typeof html==="string"){html=JSON.parse(html)}parse=parse.trim();if(!parse.startsWith("$.")){parse="$."+parse}parse=parse.split("||");for(let ps of parse){let ret=cheerio.jp(ps,html);if(Array.isArray(ret)){ret=ret[0]||""}else{ret=ret||""}if(ret&&typeof ret!=="string"){ret=ret.toString()}if(ret){return ret}}return""},pdfa(html,parse){if(!parse||!parse.trim()){return""}if(typeof html==="string"){html=JSON.parse(html)}parse=parse.trim();if(!parse.startsWith("$.")){parse="$."+parse}let ret=cheerio.jp(parse,html);if(Array.isArray(ret)&&Array.isArray(ret[0])&&ret.length===1){return ret[0]||[]}return ret||[]},pd(html,parse){let ret=parseTags.json.pdfh(html,parse);if(ret){return urljoin(MY_URL,ret)}return ret}},jq:{pdfh(html,parse){if(!html||!parse||!parse.trim()){return""}parse=parse.trim();let result=defaultParser.pdfh(html,parse);return result},pdfa(html,parse){if(!html||!parse||!parse.trim()){return[]}parse=parse.trim();let result=defaultParser.pdfa(html,parse);print(`pdfa解析${parse}=>${result.length}`);return result},pd(html,parse,base_url){if(!html||!parse||!parse.trim()){return""}parse=parse.trim();base_url=base_url||MY_URL;return defaultParser.pd(html,parse,base_url)}},getParse(p0){if(p0.startsWith("jsp:")){return this.jsp}else if(p0.startsWith("json:")){return this.json}else if(p0.startsWith("jq:")){return this.jq}else{return this.jq}}};const stringify=JSON.stringify;const jsp=parseTags.jsp;const jq=parseTags.jq;function readFile(filePath){filePath=filePath||"./uri.min.js";var fd=os.open(filePath);var buffer=new ArrayBuffer(1024);var len=os.read(fd,buffer,0,1024);console.log(len);let text=String.fromCharCode.apply(null,new Uint8Array(buffer));console.log(text);return text}function dealJson(html){try{html=html.trim();if(!(html.startsWith("{")&&html.endsWith("}")||html.startsWith("[")&&html.endsWith("]"))){html="{"+html.match(/.*?\{(.*)\}/m)[1]+"}"}}catch(e){}try{html=JSON.parse(html)}catch(e){}return html}var OcrApi={api:OCR_API,classification:function(img){let code="";try{log("通过drpy_ocr验证码接口过验证...");let html="";if(this.api.endsWith("drpy/text")){html=request(this.api,{data:{img:img},headers:{"User-Agent":PC_UA},method:"POST"},true)}else{html=post(this.api,{body:img})}code=html||""}catch(e){log(`OCR识别验证码发生错误:${e.message}`)}return code}};function verifyCode(url){let cnt=0;let host=getHome(url);let cookie="";while(cntit.toLowerCase()==="set-cookie");cookie=setCk?json[setCk].split(";")[0]:""}console.log("cookie:"+cookie);let img=json.body;let code=OcrApi.classification(img);console.log(`第${cnt+1}次验证码识别结果:${code}`);let submit_url=`${host}/index.php/ajax/verify_check?type=search&verify=${code}`;console.log(submit_url);let html=request(submit_url,{headers:{Cookie:cookie},method:"POST"});html=JSON.parse(html);if(html.msg==="ok"){console.log(`第${cnt+1}次验证码提交成功`);return cookie}else if(html.msg!=="ok"&&cnt+1>=OCR_RETRY){cookie=""}}catch(e){console.log(`第${cnt+1}次验证码提交失败:${e.message}`);if(cnt+1>=OCR_RETRY){cookie=""}}cnt+=1}return cookie}function setItem(k,v){local.set(RKEY,k,v);console.log(`规则${RKEY}设置${k} => ${v}`)}function getItem(k,v){return local.get(RKEY,k)||v}function clearItem(k){local.delete(RKEY,k)}function getHome(url){if(!url){return""}let tmp=url.split("//");url=tmp[0]+"//"+tmp[1].split("/")[0];try{url=decodeURIComponent(url)}catch(e){}return url}function buildUrl(url,obj){obj=obj||{};if(url.indexOf("?")<0){url+="?"}let param_list=[];let keys=Object.keys(obj);keys.forEach(it=>{param_list.push(it+"="+obj[it])});let prs=param_list.join("&");if(keys.length>0&&!url.endsWith("?")){url+="&"}url+=prs;return url}function $require(url){eval(request(url))}function keysToLowerCase(obj){return Object.keys(obj).reduce((result,key)=>{const newKey=key.toLowerCase();result[newKey]=obj[key];return result},{})}function request(url,obj,ocr_flag){ocr_flag=ocr_flag||false;if(typeof obj==="undefined"||!obj||obj==={}){if(!fetch_params||!fetch_params.headers){let headers={"User-Agent":MOBILE_UA};if(rule.headers){Object.assign(headers,rule.headers)}if(!fetch_params){fetch_params={}}fetch_params.headers=headers}if(!fetch_params.headers.Referer){fetch_params.headers.Referer=getHome(url)}obj=fetch_params}else{let headers=obj.headers||{};let keys=Object.keys(headers).map(it=>it.toLowerCase());if(!keys.includes("user-agent")){headers["User-Agent"]=MOBILE_UA;if(typeof fetch_params==="object"&&fetch_params&&fetch_params.headers){let fetch_headers=keysToLowerCase(fetch_params.headers);if(fetch_headers["user-agent"]){headers["User-Agent"]=fetch_headers["user-agent"]}}}if(!keys.includes("referer")){headers["Referer"]=getHome(url)}obj.headers=headers}if(rule.encoding&&rule.encoding!=="utf-8"&&!ocr_flag){if(!obj.headers.hasOwnProperty("Content-Type")&&!obj.headers.hasOwnProperty("content-type")){obj.headers["Content-Type"]="text/html; charset="+rule.encoding}}if(typeof obj.body!="undefined"&&obj.body&&typeof obj.body==="string"){if(!obj.headers.hasOwnProperty("Content-Type")&&!obj.headers.hasOwnProperty("content-type")){obj.headers["Content-Type"]="application/x-www-form-urlencoded; charset="+rule.encoding}}else if(typeof obj.body!="undefined"&&obj.body&&typeof obj.body==="object"){obj.data=obj.body;delete obj.body}if(!url){return obj.withHeaders?"{}":""}if(obj.toBase64){obj.buffer=2;delete obj.toBase64}if(obj.redirect===false){obj.redirect=0}console.log(JSON.stringify(obj.headers));console.log("request:"+url+`|method:${obj.method||"GET"}|body:${obj.body||""}`);let res=req(url,obj);let html=res.content||"";if(obj.withHeaders){let htmlWithHeaders=res.headers;htmlWithHeaders.body=html;return JSON.stringify(htmlWithHeaders)}else{return html}}function post(url,obj){obj=obj||{};obj.method="POST";return request(url,obj)}function reqCookie(url,obj,all_cookie){obj=obj||{};obj.withHeaders=true;all_cookie=all_cookie||false;let html=request(url,obj);let json=JSON.parse(html);let setCk=Object.keys(json).find(it=>it.toLowerCase()==="set-cookie");let cookie=setCk?json[setCk]:"";if(Array.isArray(cookie)){cookie=cookie.join(";")}if(!all_cookie){cookie=cookie.split(";")[0]}html=json.body;return{cookie:cookie,html:html}}fetch=request;print=function(data){data=data||"";if(typeof data=="object"&&Object.keys(data).length>0){try{data=JSON.stringify(data);console.log(data)}catch(e){console.log(typeof data+":"+data.length);return}}else if(typeof data=="object"&&Object.keys(data).length<1){console.log("null object")}else{console.log(data)}};log=print;function checkHtml(html,url,obj){if(/\?btwaf=/.test(html)){let btwaf=html.match(/btwaf(.*?)"/)[1];url=url.split("#")[0]+"?btwaf"+btwaf;print("宝塔验证访问链接:"+url);html=request(url,obj)}return html}function getCode(url,obj){let html=request(url,obj);html=checkHtml(html,url,obj);return html}function getHtml(url){let obj={};if(rule.headers){obj.headers=rule.headers}let cookie=getItem(RULE_CK,"");if(cookie){if(obj.headers&&!Object.keys(obj.headers).map(it=>it.toLowerCase()).includes("cookie")){log("历史无cookie,新增过验证后的cookie");obj.headers["Cookie"]=cookie}else if(obj.headers&&obj.headers.cookie&&obj.headers.cookie!==cookie){obj.headers["Cookie"]=cookie;log("历史有小写过期的cookie,更新过验证后的cookie")}else if(obj.headers&&obj.headers.Cookie&&obj.headers.Cookie!==cookie){obj.headers["Cookie"]=cookie;log("历史有大写过期的cookie,更新过验证后的cookie")}else if(!obj.headers){obj.headers={Cookie:cookie};log("历史无headers,更新过验证后的含cookie的headers")}}let html=getCode(url,obj);return html}function homeParse(homeObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let classes=[];if(homeObj.class_name&&homeObj.class_url){let names=homeObj.class_name.split("&");let urls=homeObj.class_url.split("&");let cnt=Math.min(names.length,urls.length);for(let i=0;i0){classes=list}}}catch(e){console.log(e.message)}}else if(p.length>=3&&!is_json){try{let html=homeObj.home_html||getHtml(homeObj.MY_URL);if(html){homeHtmlCache=html;let list=_pdfa(html,p0);if(list&&list.length>0){list.forEach((it,idex)=>{try{let name=_pdfh(it,p[1]);if(homeObj.cate_exclude&&new RegExp(homeObj.cate_exclude).test(name)){return}let url=_pd(it,p[2]);if(p.length>3&&p[3]&&!homeObj.home_html){let exp=new RegExp(p[3]);url=url.match(exp)[1]}classes.push({type_id:url.trim(),type_name:name.trim()})}catch(e){console.log(`分类列表定位第${idex}个元素正常报错:${e.message}`)}})}}}catch(e){console.log(e.message)}}}}classes=classes.filter(it=>!homeObj.cate_exclude||!new RegExp(homeObj.cate_exclude).test(it.type_name));let resp={class:classes};if(homeObj.filter){resp.filters=homeObj.filter}console.log(JSON.stringify(resp));return JSON.stringify(resp)}function getPP(p,pn,pp,ppn){try{let ps=p[pn]==="*"&&pp.length>ppn?pp[ppn]:p[pn];return ps}catch(e){return""}}function homeVodParse(homeVodObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let d=[];MY_URL=homeVodObj.homeUrl;console.log(MY_URL);let t1=(new Date).getTime();let p=homeVodObj.推荐;print("p:"+p);if(p==="*"&&rule.一级){p=rule.一级;homeVodObj.double=false}if(!p||typeof p!=="string"){return"{}"}p=p.trim();let pp=rule.一级?rule.一级.split(";"):[];if(p.startsWith("js:")){const TYPE="home";var input=MY_URL;HOST=rule.host;eval(p.replace("js:",""));d=VODS}else{p=p.split(";");if(!homeVodObj.double&&p.length<5){return"{}"}else if(homeVodObj.double&&p.length<6){return"{}"}let p0=getPP(p,0,pp,0);let _ps=parseTags.getParse(p0);_pdfa=_ps.pdfa;_pdfh=_ps.pdfh;_pd=_ps.pd;let is_json=p0.startsWith("json:");p0=p0.replace(/^(jsp:|json:|jq:)/,"");let html=homeHtmlCache||getHtml(MY_URL);homeHtmlCache=undefined;if(is_json){html=dealJson(html)}try{console.log("double:"+homeVodObj.double);if(homeVodObj.double){let items=_pdfa(html,p0);let p1=getPP(p,1,pp,0);let p2=getPP(p,2,pp,1);let p3=getPP(p,3,pp,2);let p4=getPP(p,4,pp,3);let p5=getPP(p,5,pp,4);let p6=getPP(p,6,pp,5);for(let item of items){let items2=_pdfa(item,p1);for(let item2 of items2){try{let title=_pdfh(item2,p2);let img="";try{img=_pd(item2,p3)}catch(e){}let desc="";try{desc=_pdfh(item2,p4)}catch(e){}let links=[];for(let _p5 of p5.split("+")){let link=!homeVodObj.detailUrl?_pd(item2,_p5,MY_URL):_pdfh(item2,_p5);links.push(link)}let content;if(p.length>6&&p[6]){content=_pdfh(item2,p6)}else{content=""}let vid=links.join("$");if(rule.二级==="*"){vid=vid+"@@"+title+"@@"+img}let vod={vod_name:title,vod_pic:img,vod_remarks:desc,vod_content:content,vod_id:vid};d.push(vod)}catch(e){console.log(`首页列表双层定位处理发生错误:${e.message}`)}}}}else{let items=_pdfa(html,p0);let p1=getPP(p,1,pp,1);let p2=getPP(p,2,pp,2);let p3=getPP(p,3,pp,3);let p4=getPP(p,4,pp,4);let p5=getPP(p,5,pp,5);for(let item of items){try{let title=_pdfh(item,p1);let img="";try{img=_pd(item,p2,MY_URL)}catch(e){}let desc="";try{desc=_pdfh(item,p3)}catch(e){}let links=[];for(let _p5 of p4.split("+")){let link=!homeVodObj.detailUrl?_pd(item,_p5,MY_URL):_pdfh(item,_p5);links.push(link)}let content;if(p.length>5&&p[5]){content=_pdfh(item,p5)}else{content=""}let vid=links.join("$");if(rule.二级==="*"){vid=vid+"@@"+title+"@@"+img}let vod={vod_name:title,vod_pic:img,vod_remarks:desc,vod_content:content,vod_id:vid};d.push(vod)}catch(e){console.log(`首页列表单层定位处理发生错误:${e.message}`)}}}}catch(e){}}let t2=(new Date).getTime();console.log("加载首页推荐耗时:"+(t2-t1)+"毫秒");if(rule.图片替换){if(rule.图片替换.startsWith("js:")){d.forEach(it=>{try{var input=it.vod_pic;eval(rule.图片替换.trim().replace("js:",""));it.vod_pic=input}catch(e){log(`图片:${it.vod_pic}替换错误:${e.message}`)}})}else if(rule.图片替换.includes("=>")){let replace_from=rule.图片替换.split("=>")[0];let replace_to=rule.图片替换.split("=>")[1];d.forEach(it=>{if(it.vod_pic&&it.vod_pic.startsWith("http")){it.vod_pic=it.vod_pic.replace(replace_from,replace_to)}})}}if(rule.图片来源){d.forEach(it=>{if(it.vod_pic&&it.vod_pic.startsWith("http")){it.vod_pic=it.vod_pic+rule.图片来源}})}if(d.length>0){print(d.slice(0,2))}return JSON.stringify({list:d})}function categoryParse(cateObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let p=cateObj.一级;if(!p||typeof p!=="string"){return"{}"}let d=[];let url=cateObj.url.replaceAll("fyclass",cateObj.tid);if(cateObj.pg===1&&url.includes("[")&&url.includes("]")){url=url.split("[")[1].split("]")[0]}else if(cateObj.pg>1&&url.includes("[")&&url.includes("]")){url=url.split("[")[0]}if(rule.filter_url){if(!/fyfilter/.test(url)){if(!url.endsWith("&")&&!rule.filter_url.startsWith("&")){url+="&"}url+=rule.filter_url}else{url=url.replace("fyfilter",rule.filter_url)}url=url.replaceAll("fyclass",cateObj.tid);let fl=cateObj.filter?cateObj.extend:{};if(rule.filter_def&&typeof rule.filter_def==="object"){try{if(Object.keys(rule.filter_def).length>0&&rule.filter_def.hasOwnProperty(cateObj.tid)){let self_fl_def=rule.filter_def[cateObj.tid];if(self_fl_def&&typeof self_fl_def==="object"){let fl_def=JSON.parse(JSON.stringify(self_fl_def));fl=Object.assign(fl_def,fl)}}}catch(e){print(`合并不同分类对应的默认筛选出错:${e.message}`)}}let new_url;new_url=cheerio.jinja2(url,{fl:fl,fyclass:cateObj.tid});url=new_url}if(/fypage/.test(url)){if(url.includes("(")&&url.includes(")")){let url_rep=url.match(/.*?\((.*)\)/)[1];let cnt_page=url_rep.replaceAll("fypage",cateObj.pg);let cnt_pg=eval(cnt_page);url=url.replaceAll(url_rep,cnt_pg).replaceAll("(","").replaceAll(")","")}else{url=url.replaceAll("fypage",cateObj.pg)}}MY_URL=url;console.log(MY_URL);p=p.trim();const MY_CATE=cateObj.tid;if(p.startsWith("js:")){var MY_FL=cateObj.extend;const TYPE="cate";var input=MY_URL;const MY_PAGE=cateObj.pg;var desc="";eval(p.trim().replace("js:",""));d=VODS}else{p=p.split(";");if(p.length<5){return"{}"}let _ps=parseTags.getParse(p[0]);_pdfa=_ps.pdfa;_pdfh=_ps.pdfh;_pd=_ps.pd;let is_json=p[0].startsWith("json:");p[0]=p[0].replace(/^(jsp:|json:|jq:)/,"");try{let html=getHtml(MY_URL);if(html){if(is_json){html=dealJson(html)}let list=_pdfa(html,p[0]);list.forEach(it=>{let links=p[4].split("+").map(p4=>{return!rule.detailUrl?_pd(it,p4,MY_URL):_pdfh(it,p4)});let link=links.join("$");let vod_id=rule.detailUrl?MY_CATE+"$"+link:link;let vod_name=_pdfh(it,p[1]).replace(/\n|\t/g,"").trim();let vod_pic=_pd(it,p[2],MY_URL);if(rule.二级==="*"){vod_id=vod_id+"@@"+vod_name+"@@"+vod_pic}d.push({vod_id:vod_id,vod_name:vod_name,vod_pic:vod_pic,vod_remarks:_pdfh(it,p[3]).replace(/\n|\t/g,"").trim()})})}}catch(e){console.log(e.message)}}if(rule.图片替换){if(rule.图片替换.startsWith("js:")){d.forEach(it=>{try{var input=it.vod_pic;eval(rule.图片替换.trim().replace("js:",""));it.vod_pic=input}catch(e){log(`图片:${it.vod_pic}替换错误:${e.message}`)}})}else if(rule.图片替换.includes("=>")){let replace_from=rule.图片替换.split("=>")[0];let replace_to=rule.图片替换.split("=>")[1];d.forEach(it=>{if(it.vod_pic&&it.vod_pic.startsWith("http")){it.vod_pic=it.vod_pic.replace(replace_from,replace_to)}})}}if(rule.图片来源){d.forEach(it=>{if(it.vod_pic&&it.vod_pic.startsWith("http")){it.vod_pic=it.vod_pic+rule.图片来源}})}if(d.length>0){print(d.slice(0,2))}let pagecount=0;if(rule.pagecount&&typeof rule.pagecount==="object"&&rule.pagecount.hasOwnProperty(MY_CATE)){print(`MY_CATE:${MY_CATE},pagecount:${JSON.stringify(rule.pagecount)}`);pagecount=parseInt(rule.pagecount[MY_CATE])}let nodata={list:[{vod_name:"无数据,防无限请求",vod_id:"no_data",vod_remarks:"不要点,会崩的",vod_pic:"https://ghproxy.net/https://raw.githubusercontent.com/hjdhnx/dr_py/main/404.jpg"}],total:1,pagecount:1,page:1,limit:1};let vod=d.length<1?JSON.stringify(nodata):JSON.stringify({page:parseInt(cateObj.pg),pagecount:pagecount||999,limit:20,total:999,list:d});return vod}function searchParse(searchObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let d=[];if(!searchObj.searchUrl){return"{}"}let p=searchObj.搜索==="*"&&rule.一级?rule.一级:searchObj.搜索;if(!p||typeof p!=="string"){return"{}"}p=p.trim();let pp=rule.一级?rule.一级.split(";"):[];let url=searchObj.searchUrl.replaceAll("**",searchObj.wd);if(searchObj.pg===1&&url.includes("[")&&url.includes("]")&&!url.includes("#")){url=url.split("[")[1].split("]")[0]}else if(searchObj.pg>1&&url.includes("[")&&url.includes("]")&&!url.includes("#")){url=url.split("[")[0]}if(/fypage/.test(url)){if(url.includes("(")&&url.includes(")")){let url_rep=url.match(/.*?\((.*)\)/)[1];let cnt_page=url_rep.replaceAll("fypage",searchObj.pg);let cnt_pg=eval(cnt_page);url=url.replaceAll(url_rep,cnt_pg).replaceAll("(","").replaceAll(")","")}else{url=url.replaceAll("fypage",searchObj.pg)}}MY_URL=url;console.log(MY_URL);if(p.startsWith("js:")){const TYPE="search";const MY_PAGE=searchObj.pg;const KEY=searchObj.wd;var input=MY_URL;var detailUrl=rule.detailUrl||"";eval(p.trim().replace("js:",""));d=VODS}else{p=p.split(";");if(p.length<5){return"{}"}let p0=getPP(p,0,pp,0);let _ps=parseTags.getParse(p0);_pdfa=_ps.pdfa;_pdfh=_ps.pdfh;_pd=_ps.pd;let is_json=p0.startsWith("json:");p0=p0.replace(/^(jsp:|json:|jq:)/,"");try{let req_method=MY_URL.split(";").length>1?MY_URL.split(";")[1].toLowerCase():"get";let html;if(req_method==="post"){let rurls=MY_URL.split(";")[0].split("#");let rurl=rurls[0];let params=rurls.length>1?rurls[1]:"";print(`post=》rurl:${rurl},params:${params}`);let _fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let postData={body:params};Object.assign(_fetch_params,postData);html=post(rurl,_fetch_params)}else if(req_method==="postjson"){let rurls=MY_URL.split(";")[0].split("#");let rurl=rurls[0];let params=rurls.length>1?rurls[1]:"";print(`postjson-》rurl:${rurl},params:${params}`);try{params=JSON.parse(params)}catch(e){params="{}"}let _fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let postData={body:params};Object.assign(_fetch_params,postData);html=post(rurl,_fetch_params)}else{html=getHtml(MY_URL)}if(html){if(/系统安全验证|输入验证码/.test(html)){let cookie=verifyCode(MY_URL);if(cookie){console.log(`本次成功过验证,cookie:${cookie}`);setItem(RULE_CK,cookie)}else{console.log(`本次自动过搜索验证失败,cookie:${cookie}`)}html=getHtml(MY_URL)}if(!html.includes(searchObj.wd)){console.log("搜索结果源码未包含关键字,疑似搜索失败,正为您打印结果源码");console.log(html)}if(is_json){html=dealJson(html)}let list=_pdfa(html,p0);let p1=getPP(p,1,pp,1);let p2=getPP(p,2,pp,2);let p3=getPP(p,3,pp,3);let p4=getPP(p,4,pp,4);let p5=getPP(p,5,pp,5);list.forEach(it=>{let links=p4.split("+").map(_p4=>{return!rule.detailUrl?_pd(it,_p4,MY_URL):_pdfh(it,_p4)});let link=links.join("$");let content;if(p.length>5&&p[5]){content=_pdfh(it,p5)}else{content=""}let vod_id=link;let vod_name=_pdfh(it,p1).replace(/\n|\t/g,"").trim();let vod_pic=_pd(it,p2,MY_URL);if(rule.二级==="*"){vod_id=vod_id+"@@"+vod_name+"@@"+vod_pic}let ob={vod_id:vod_id,vod_name:vod_name,vod_pic:vod_pic,vod_remarks:_pdfh(it,p3).replace(/\n|\t/g,"").trim(),vod_content:content.replace(/\n|\t/g,"").trim()};d.push(ob)})}}catch(e){print(`搜索发生错误:${e.message}`);return"{}"}}if(rule.图片替换){if(rule.图片替换.startsWith("js:")){d.forEach(it=>{try{var input=it.vod_pic;eval(rule.图片替换.trim().replace("js:",""));it.vod_pic=input}catch(e){log(`图片:${it.vod_pic}替换错误:${e.message}`)}})}else if(rule.图片替换.includes("=>")){let replace_from=rule.图片替换.split("=>")[0];let replace_to=rule.图片替换.split("=>")[1];d.forEach(it=>{if(it.vod_pic&&it.vod_pic.startsWith("http")){it.vod_pic=it.vod_pic.replace(replace_from,replace_to)}})}}if(rule.图片来源){d.forEach(it=>{if(it.vod_pic&&it.vod_pic.startsWith("http")){it.vod_pic=it.vod_pic+rule.图片来源}})}return JSON.stringify({page:parseInt(searchObj.pg),pagecount:10,limit:20,total:100,list:d})}function detailParse(detailObj){let t1=(new Date).getTime();fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let orId=detailObj.orId;let vod_name="片名";let vod_pic="";let vod_id=orId;if(rule.二级==="*"){let extra=orId.split("@@");vod_name=extra.length>1?extra[1]:vod_name;vod_pic=extra.length>2?extra[2]:vod_pic}let vod={vod_id:vod_id,vod_name:vod_name,vod_pic:vod_pic,type_name:"类型",vod_year:"年份",vod_area:"地区",vod_remarks:"更新信息",vod_actor:"主演",vod_director:"导演",vod_content:"简介"};let p=detailObj.二级;let url=detailObj.url;let detailUrl=detailObj.detailUrl;let fyclass=detailObj.fyclass;let tab_exclude=detailObj.tab_exclude;let html=detailObj.html||"";MY_URL=url;if(detailObj.二级访问前){try{print(`尝试在二级访问前执行代码:${detailObj.二级访问前}`);eval(detailObj.二级访问前.trim().replace("js:",""))}catch(e){print(`二级访问前执行代码出现错误:${e.message}`)}}if(p==="*"){vod.vod_play_from="道长在线";vod.vod_remarks=detailUrl;vod.vod_actor="没有二级,只有一级链接直接嗅探播放";vod.vod_content=MY_URL;vod.vod_play_url="嗅探播放$"+MY_URL.split("@@")[0]}else if(typeof p==="string"&&p.trim().startsWith("js:")){const TYPE="detail";var input=MY_URL;var play_url="";eval(p.trim().replace("js:",""));vod=VOD;console.log(JSON.stringify(vod))}else if(p&&typeof p==="object"){let tt1=(new Date).getTime();if(!html){html=getHtml(MY_URL)}print(`二级${MY_URL}仅获取源码耗时:${(new Date).getTime()-tt1}毫秒`);let _ps;if(p.is_json){print("二级是json");_ps=parseTags.json;html=dealJson(html)}else if(p.is_jsp){print("二级是jsp");_ps=parseTags.jsp}else if(p.is_jq){print("二级是jq");_ps=parseTags.jq}else{print("二级默认jq");_ps=parseTags.jq}let tt2=(new Date).getTime();print(`二级${MY_URL}获取并装载源码耗时:${tt2-tt1}毫秒`);_pdfa=_ps.pdfa;_pdfh=_ps.pdfh;_pd=_ps.pd;if(p.title){let p1=p.title.split(";");vod.vod_name=_pdfh(html,p1[0]).replace(/\n|\t/g,"").trim();let type_name=p1.length>1?_pdfh(html,p1[1]).replace(/\n|\t/g,"").replace(/ /g,"").trim():"";vod.type_name=type_name||vod.type_name}if(p.desc){try{let p1=p.desc.split(";");vod.vod_remarks=_pdfh(html,p1[0]).replace(/\n|\t/g,"").trim();vod.vod_year=p1.length>1?_pdfh(html,p1[1]).replace(/\n|\t/g,"").trim():"";vod.vod_area=p1.length>2?_pdfh(html,p1[2]).replace(/\n|\t/g,"").trim():"";vod.vod_actor=p1.length>3?_pdfh(html,p1[3]).replace(/\n|\t/g,"").trim():"";vod.vod_director=p1.length>4?_pdfh(html,p1[4]).replace(/\n|\t/g,"").trim():""}catch(e){}}if(p.content){try{let p1=p.content.split(";");vod.vod_content=_pdfh(html,p1[0]).replace(/\n|\t/g,"").trim()}catch(e){}}if(p.img){try{let p1=p.img.split(";");vod.vod_pic=_pd(html,p1[0],MY_URL)}catch(e){}}let vod_play_from="$$$";let playFrom=[];if(p.重定向&&p.重定向.startsWith("js:")){print("开始执行重定向代码:"+p.重定向);html=eval(p.重定向.replace("js:",""))}if(p.tabs){if(p.tabs.startsWith("js:")){print("开始执行tabs代码:"+p.tabs);var input=MY_URL;eval(p.tabs.replace("js:",""));playFrom=TABS}else{let p_tab=p.tabs.split(";")[0];let vHeader=_pdfa(html,p_tab);console.log(vHeader.length);let tab_text=p.tab_text||"body&&Text";let new_map={};for(let v of vHeader){let v_title=_pdfh(v,tab_text).trim();if(!v_title){v_title="线路空"}console.log(v_title);if(tab_exclude&&new RegExp(tab_exclude).test(v_title)){continue}if(!new_map.hasOwnProperty(v_title)){new_map[v_title]=1}else{new_map[v_title]+=1}if(new_map[v_title]>1){v_title+=Number(new_map[v_title]-1)}playFrom.push(v_title)}}console.log(JSON.stringify(playFrom))}else{playFrom=["道长在线"]}vod.vod_play_from=playFrom.join(vod_play_from);let vod_play_url="$$$";let vod_tab_list=[];if(p.lists){if(p.lists.startsWith("js:")){print("开始执行lists代码:"+p.lists);try{var input=MY_URL;var play_url="";eval(p.lists.replace("js:",""));for(let i in LISTS){if(LISTS.hasOwnProperty(i)){try{LISTS[i]=LISTS[i].map(it=>it.split("$").slice(0,2).join("$"))}catch(e){print(`格式化LISTS发生错误:${e.message}`)}}}vod_play_url=LISTS.map(it=>it.join("#")).join(vod_play_url)}catch(e){print(`js执行lists: 发生错误:${e.message}`)}}else{let list_text=p.list_text||"body&&Text";let list_url=p.list_url||"a&&href";let list_url_prefix=p.list_url_prefix||"";let is_tab_js=p.tabs.trim().startsWith("js:");for(let i=0;i1&&!is_tab_js?p.tabs.split(";")[1]:"";let p1=p.lists.replaceAll("#idv",tab_name).replaceAll("#id",i);tab_ext=tab_ext.replaceAll("#idv",tab_name).replaceAll("#id",i);let tabName=tab_ext?_pdfh(html,tab_ext):tab_name;console.log(tabName);let new_vod_list=[];let tt1=(new Date).getTime();if(typeof pdfl==="function"){new_vod_list=pdfl(html,p1,list_text,list_url,MY_URL);if(list_url_prefix){new_vod_list=new_vod_list.map(it=>it.split("$")[0]+"$"+list_url_prefix+it.split("$").slice(1).join("$"))}}else{let vodList=[];try{vodList=_pdfa(html,p1);console.log("len(vodList):"+vodList.length)}catch(e){}for(let i=0;i0){new_vod_list=forceOrder(new_vod_list,"",x=>x.split("$")[0]);console.log(`drpy影响性能代码共计列表数循环次数:${new_vod_list.length},耗时:${(new Date).getTime()-tt1}毫秒`)}let vlist=new_vod_list.join("#");vod_tab_list.push(vlist)}vod_play_url=vod_tab_list.join(vod_play_url)}}vod.vod_play_url=vod_play_url}if(rule.图片替换&&rule.图片替换.includes("=>")){let replace_from=rule.图片替换.split("=>")[0];let replace_to=rule.图片替换.split("=>")[1];vod.vod_pic=vod.vod_pic.replace(replace_from,replace_to)}if(rule.图片来源&&vod.vod_pic&&vod.vod_pic.startsWith("http")){vod.vod_pic=vod.vod_pic+rule.图片来源}if(!vod.vod_id||vod_id.includes("$")&&vod.vod_id!==vod_id){vod.vod_id=vod_id}let t2=(new Date).getTime();console.log(`加载二级界面${MY_URL}耗时:${t2-t1}毫秒`);try{vod=vodDeal(vod)}catch(e){console.log(`vodDeal发生错误:${e.message}`)}return JSON.stringify({list:[vod]})}function get_tab_index(vod){let obj={};vod.vod_play_from.split("$$$").forEach((it,index)=>{obj[it]=index});return obj}function vodDeal(vod){let vod_play_from=vod.vod_play_from.split("$$$");let vod_play_url=vod.vod_play_url.split("$$$");let tab_removed_list=vod_play_from;let tab_ordered_list=vod_play_from;let tab_renamed_list=vod_play_from;let tab_list=vod_play_from;let play_ordered_list=vod_play_url;if(rule.tab_remove&&rule.tab_remove.length>0||rule.tab_order&&rule.tab_order.length>0){let tab_index_dict=get_tab_index(vod);if(rule.tab_remove&&rule.tab_remove.length>0){tab_removed_list=vod_play_from.filter(it=>!rule.tab_remove.includes(it));tab_list=tab_removed_list}if(rule.tab_order&&rule.tab_order.length>0){let tab_order=rule.tab_order;tab_ordered_list=tab_removed_list.sort((a,b)=>{return(tab_order.indexOf(a)===-1?9999:tab_order.indexOf(a))-(tab_order.indexOf(b)===-1?9999:tab_order.indexOf(b))});tab_list=tab_ordered_list}play_ordered_list=tab_list.map(it=>vod_play_url[tab_index_dict[it]])}if(rule.tab_rename&&typeof rule.tab_rename==="object"&Object.keys(rule.tab_rename).length>0){tab_renamed_list=tab_list.map(it=>rule.tab_rename[it]||it);tab_list=tab_renamed_list}vod.vod_play_from=tab_list.join("$$$");vod.vod_play_url=play_ordered_list.join("$$$");return vod}function tellIsJx(url){try{let is_vip=!/\.(m3u8|mp4|m4a)$/.test(url.split("?")[0])&&是否正版(url);return is_vip?1:0}catch(e){return 1}}function playParse(playObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));MY_URL=playObj.url;var MY_FLAG=playObj.flag;if(!/http/.test(MY_URL)){try{MY_URL=base64Decode(MY_URL)}catch(e){}}MY_URL=decodeURIComponent(MY_URL);var input=MY_URL;var flag=MY_FLAG;let common_play={parse:SPECIAL_URL.test(input)||/^(push:)/.test(input)?0:1,url:input,flag:flag,jx:tellIsJx(input)};let lazy_play;if(!rule.play_parse||!rule.lazy){lazy_play=common_play}else if(rule.play_parse&&rule.lazy&&typeof rule.lazy==="string"){try{let lazy_code=rule.lazy.trim();if(lazy_code.startsWith("js:")){lazy_code=lazy_code.replace("js:","").trim()}print("开始执行js免嗅=>"+lazy_code);eval(lazy_code);lazy_play=typeof input==="object"?input:{parse:SPECIAL_URL.test(input)||/^(push:)/.test(input)?0:1,jx:tellIsJx(input),url:input}}catch(e){print(`js免嗅错误:${e.message}`);lazy_play=common_play}}else{lazy_play=common_play}if(Array.isArray(rule.play_json)&&rule.play_json.length>0){let web_url=lazy_play.url;for(let pjson of rule.play_json){if(pjson.re&&(pjson.re==="*"||web_url.match(new RegExp(pjson.re)))){if(pjson.json&&typeof pjson.json==="object"){let base_json=pjson.json;lazy_play=Object.assign(lazy_play,base_json);break}}}}else if(rule.play_json&&!Array.isArray(rule.play_json)){let base_json={jx:1,parse:1};lazy_play=Object.assign(lazy_play,base_json)}else if(!rule.play_json){let base_json={jx:0,parse:1};lazy_play=Object.assign(lazy_play,base_json)}console.log(JSON.stringify(lazy_play));return JSON.stringify(lazy_play)}function proxyParse(proxyObj){var input=proxyObj.params;if(proxyObj.proxy_rule){log("准备执行本地代理规则:\n"+proxyObj.proxy_rule);try{eval(proxyObj.proxy_rule);if(input&&input!==proxyObj.params&&Array.isArray(input)&&input.length>=3){return input}else{return[404,"text/plain","Not Found"]}}catch(e){return[500,"text/plain","代理规则错误:"+e.message]}}else{return[404,"text/plain","Not Found"]}}function isVideoParse(isVideoObj){var input=isVideoObj.url;if(!isVideoObj.t){let re_matcher=new RegExp(isVideoObj.isVideo,"i");return re_matcher.test(input)}else{try{eval(isVideoObj.isVideo);if(typeof input==="boolean"){return input}else{return false}}catch(e){log(`执行嗅探规则发生错误:${e.message}`);return false}}}function getOriginalJs(js_code){let current_match=/var rule|[\u4E00-\u9FA5]+|function|let |var |const |\(|\)|"|'/;if(current_match.test(js_code)){return js_code}let rsa_private_key="MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCqin/jUpqM6+fgYP/oMqj9zcdHMM0mEZXLeTyixIJWP53lzJV2N2E3OP6BBpUmq2O1a9aLnTIbADBaTulTNiOnVGoNG58umBnupnbmmF8iARbDp2mTzdMMeEgLdrfXS6Y3VvazKYALP8EhEQykQVarexR78vRq7ltY3quXx7cgI0ROfZz5Sw3UOLQJ+VoWmwIxu9AMEZLVzFDQN93hzuzs3tNyHK6xspBGB7zGbwCg+TKi0JeqPDrXxYUpAz1cQ/MO+Da0WgvkXnvrry8NQROHejdLVOAslgr6vYthH9bKbsGyNY3H+P12kcxo9RAcVveONnZbcMyxjtF5dWblaernAgMBAAECggEAGdEHlSEPFmAr5PKqKrtoi6tYDHXdyHKHC5tZy4YV+Pp+a6gxxAiUJejx1hRqBcWSPYeKne35BM9dgn5JofgjI5SKzVsuGL6bxl3ayAOu+xXRHWM9f0t8NHoM5fdd0zC3g88dX3fb01geY2QSVtcxSJpEOpNH3twgZe6naT2pgiq1S4okpkpldJPo5GYWGKMCHSLnKGyhwS76gF8bTPLoay9Jxk70uv6BDUMlA4ICENjmsYtd3oirWwLwYMEJbSFMlyJvB7hjOjR/4RpT4FPnlSsIpuRtkCYXD4jdhxGlvpXREw97UF2wwnEUnfgiZJ2FT/MWmvGGoaV/CfboLsLZuQKBgQDTNZdJrs8dbijynHZuuRwvXvwC03GDpEJO6c1tbZ1s9wjRyOZjBbQFRjDgFeWs9/T1aNBLUrgsQL9c9nzgUziXjr1Nmu52I0Mwxi13Km/q3mT+aQfdgNdu6ojsI5apQQHnN/9yMhF6sNHg63YOpH+b+1bGRCtr1XubuLlumKKscwKBgQDOtQ2lQjMtwsqJmyiyRLiUOChtvQ5XI7B2mhKCGi8kZ+WEAbNQcmThPesVzW+puER6D4Ar4hgsh9gCeuTaOzbRfZ+RLn3Aksu2WJEzfs6UrGvm6DU1INn0z/tPYRAwPX7sxoZZGxqML/z+/yQdf2DREoPdClcDa2Lmf1KpHdB+vQKBgBXFCVHz7a8n4pqXG/HvrIMJdEpKRwH9lUQS/zSPPtGzaLpOzchZFyQQBwuh1imM6Te+VPHeldMh3VeUpGxux39/m+160adlnRBS7O7CdgSsZZZ/dusS06HAFNraFDZf1/VgJTk9BeYygX+AZYu+0tReBKSs9BjKSVJUqPBIVUQXAoGBAJcZ7J6oVMcXxHxwqoAeEhtvLcaCU9BJK36XQ/5M67ceJ72mjJC6/plUbNukMAMNyyi62gO6I9exearecRpB/OGIhjNXm99Ar59dAM9228X8gGfryLFMkWcO/fNZzb6lxXmJ6b2LPY3KqpMwqRLTAU/zy+ax30eFoWdDHYa4X6e1AoGAfa8asVGOJ8GL9dlWufEeFkDEDKO9ww5GdnpN+wqLwePWqeJhWCHad7bge6SnlylJp5aZXl1+YaBTtOskC4Whq9TP2J+dNIgxsaF5EFZQJr8Xv+lY9lu0CruYOh9nTNF9x3nubxJgaSid/7yRPfAGnsJRiknB5bsrCvgsFQFjJVs=";let decode_content="";function aes_decrypt(data){let key=CryptoJS.enc.Hex.parse("686A64686E780A0A0A0A0A0A0A0A0A0A");let iv=CryptoJS.enc.Hex.parse("647A797964730A0A0A0A0A0A0A0A0A0A");let encrypted=CryptoJS.AES.decrypt({ciphertext:CryptoJS.enc.Base64.parse(data)},key,{iv:iv,mode:CryptoJS.mode.CBC,padding:CryptoJS.pad.Pkcs7}).toString(CryptoJS.enc.Utf8);return encrypted}let error_log=false;function logger(text){if(error_log){log(text)}}let decode_funcs=[text=>{try{return ungzip(text)}catch(e){logger("非gzip加密");return""}},text=>{try{return base64Decode(text)}catch(e){logger("非b64加密");return""}},text=>{try{return aes_decrypt(text)}catch(e){logger("非aes加密");return""}},text=>{try{return RSA.decode(text,rsa_private_key,null)}catch(e){logger("非rsa加密");return""}}];let func_index=0;while(!current_match.test(decode_content)){decode_content=decode_funcs[func_index](js_code);func_index++;if(func_index>=decode_funcs.length){break}}return decode_content}function runMain(main_func_code,arg){let mainFunc=function(){return""};try{eval(main_func_code+"\nmainFunc=main;");return mainFunc(arg)}catch(e){log(`执行main_funct发生了错误:${e.message}`);return""}}function init(ext){console.log("init");rule={};rule_fetch_params={};fetch_params=null;try{let muban=模板.getMubans();if(typeof ext=="object"){rule=ext}else if(typeof ext=="string"){if(ext.startsWith("http")||ext.startsWith("file://")){let query=getQuery(ext);let js=request(ext,{method:"GET"});if(js){js=getOriginalJs(js);eval("(function(){"+js.replace("var rule","rule")+"})()")}if(query.type==="url"&&query.params){rule.params=urljoin(ext,query.params)}else if(query.params){rule.params=query.params}}else{ext=getOriginalJs(ext);eval("(function(){"+ext.replace("var rule","rule")+"})()")}}else{console.log(`规则加载失败,不支持的规则类型:${typeof ext}`);return}rule.host=(rule.host||"").rstrip("/");HOST=rule.host;if(rule.hostJs){console.log(`检测到hostJs,准备执行...`);try{eval(rule.hostJs);rule.host=HOST.rstrip("/")}catch(e){console.log(`执行${rule.hostJs}获取host发生错误:${e.message}`)}}if(rule["模板"]==="自动"){try{let host_headers=rule["headers"]||{};let host_html=getCode(HOST,{headers:host_headers});let match_muban="";let muban_keys=Object.keys(muban).filter(it=>!/默认|短视2|采集1/.test(it));for(let muban_key of muban_keys){try{let host_data=JSON.parse(home({},host_html,muban[muban_key].class_parse));if(host_data.class&&host_data.class.length>0){match_muban=muban_key;console.log(`自动匹配模板:【${muban_key}】`);break}}catch(e){console.log(`自动匹配模板:【${muban_key}】错误:${e.message}`)}}if(match_muban){muban["自动"]=muban[match_muban];if(rule["模板修改"]&&rule["模板修改"].startsWith("js:")){eval(rule["模板修改"].replace("js:","").trim())}}else{delete rule["模板"]}}catch(e){delete rule["模板"]}}if(rule.模板&&muban.hasOwnProperty(rule.模板)){print("继承模板:"+rule.模板);rule=Object.assign(muban[rule.模板],rule)}let rule_cate_excludes=(rule.cate_exclude||"").split("|").filter(it=>it.trim());let rule_tab_excludes=(rule.tab_exclude||"").split("|").filter(it=>it.trim());rule_cate_excludes=rule_cate_excludes.concat(CATE_EXCLUDE.split("|").filter(it=>it.trim()));rule_tab_excludes=rule_tab_excludes.concat(TAB_EXCLUDE.split("|").filter(it=>it.trim()));rule.cate_exclude=rule_cate_excludes.join("|");rule.tab_exclude=rule_tab_excludes.join("|");rule.类型=rule.类型||"影视";rule.url=rule.url||"";rule.double=rule.double||false;rule.homeUrl=rule.homeUrl||"";rule.detailUrl=rule.detailUrl||"";rule.searchUrl=rule.searchUrl||"";rule.homeUrl=rule.host&&rule.homeUrl?urljoin(rule.host,rule.homeUrl):rule.homeUrl||rule.host;rule.homeUrl=cheerio.jinja2(rule.homeUrl,{rule:rule});rule.detailUrl=rule.host&&rule.detailUrl?urljoin(rule.host,rule.detailUrl):rule.detailUrl;rule.二级访问前=rule.二级访问前||"";if(rule.url.includes("[")&&rule.url.includes("]")){let u1=rule.url.split("[")[0];let u2=rule.url.split("[")[1].split("]")[0];rule.url=rule.host&&rule.url?urljoin(rule.host,u1)+"["+urljoin(rule.host,u2)+"]":rule.url}else{rule.url=rule.host&&rule.url?urljoin(rule.host,rule.url):rule.url}if(rule.searchUrl.includes("[")&&rule.searchUrl.includes("]")&&!rule.searchUrl.includes("#")){let u1=rule.searchUrl.split("[")[0];let u2=rule.searchUrl.split("[")[1].split("]")[0];rule.searchUrl=rule.host&&rule.searchUrl?urljoin(rule.host,u1)+"["+urljoin(rule.host,u2)+"]":rule.searchUrl}else{rule.searchUrl=rule.host&&rule.searchUrl?urljoin(rule.host,rule.searchUrl):rule.searchUrl}rule.timeout=rule.timeout||5e3;rule.encoding=rule.编码||rule.encoding||"utf-8";rule.search_encoding=rule.搜索编码||rule.search_encoding||"";rule.图片来源=rule.图片来源||"";rule.图片替换=rule.图片替换||"";rule.play_json=rule.hasOwnProperty("play_json")?rule.play_json:[];rule.pagecount=rule.hasOwnProperty("pagecount")?rule.pagecount:{};rule.proxy_rule=rule.hasOwnProperty("proxy_rule")?rule.proxy_rule:"";if(!rule.hasOwnProperty("sniffer")){rule.sniffer=false}rule.sniffer=rule.hasOwnProperty("sniffer")?rule.sniffer:"";rule.sniffer=!!(rule.sniffer&&rule.sniffer!=="0"&&rule.sniffer!=="false");rule.isVideo=rule.hasOwnProperty("isVideo")?rule.isVideo:"";if(rule.sniffer&&!rule.isVideo){rule.isVideo="http((?!http).){12,}?\\.(m3u8|mp4|flv|avi|mkv|rm|wmv|mpg|m4a|mp3)\\?.*|http((?!http).){12,}\\.(m3u8|mp4|flv|avi|mkv|rm|wmv|mpg|m4a|mp3)|http((?!http).)*?video/tos*|http((?!http).)*?obj/tos*"}rule.tab_remove=rule.hasOwnProperty("tab_remove")?rule.tab_remove:[];rule.tab_order=rule.hasOwnProperty("tab_order")?rule.tab_order:[];rule.tab_rename=rule.hasOwnProperty("tab_rename")?rule.tab_rename:{};if(rule.headers&&typeof rule.headers==="object"){try{let header_keys=Object.keys(rule.headers);for(let k of header_keys){if(k.toLowerCase()==="user-agent"){let v=rule.headers[k];console.log(v);if(["MOBILE_UA","PC_UA","UC_UA","IOS_UA","UA"].includes(v)){rule.headers[k]=eval(v)}}else if(k.toLowerCase()==="cookie"){let v=rule.headers[k];if(v&&v.startsWith("http")){console.log(v);try{v=fetch(v);console.log(v);rule.headers[k]=v}catch(e){console.log(`从${v}获取cookie发生错误:${e.message}`)}}}}}catch(e){console.log(`处理headers发生错误:${e.message}`)}}rule_fetch_params={headers:rule.headers||false,timeout:rule.timeout,encoding:rule.encoding};oheaders=rule.headers||{};RKEY=typeof key!=="undefined"&&key?key:"drpy_"+(rule.title||rule.host);pre();init_test()}catch(e){console.log(`init_test发生错误:${e.message}`)}}let homeHtmlCache=undefined;function home(filter,home_html,class_parse){console.log("home");home_html=home_html||"";class_parse=class_parse||"";if(typeof rule.filter==="string"&&rule.filter.trim().length>0){try{let filter_json=ungzip(rule.filter.trim());rule.filter=JSON.parse(filter_json)}catch(e){rule.filter={}}}let homeObj={filter:rule.filter||false,MY_URL:rule.homeUrl,class_name:rule.class_name||"",class_url:rule.class_url||"",class_parse:class_parse||rule.class_parse||"",cate_exclude:rule.cate_exclude,home_html:home_html};return homeParse(homeObj)}function homeVod(params){console.log("homeVod");let homeVodObj={"推荐":rule.推荐,double:rule.double,homeUrl:rule.homeUrl,detailUrl:rule.detailUrl};return homeVodParse(homeVodObj)}function category(tid,pg,filter,extend){let cateObj={url:rule.url,"一级":rule.一级,tid:tid,pg:parseInt(pg),filter:filter,extend:extend};return categoryParse(cateObj)}function detail(vod_url){let orId=vod_url;let fyclass="";log("orId:"+orId);if(vod_url.indexOf("$")>-1){let tmp=vod_url.split("$");fyclass=tmp[0];vod_url=tmp[1]}let detailUrl=vod_url.split("@@")[0];let url;if(!detailUrl.startsWith("http")&&!detailUrl.includes("/")){url=rule.detailUrl.replaceAll("fyid",detailUrl).replaceAll("fyclass",fyclass)}else if(detailUrl.includes("/")){url=urljoin(rule.homeUrl,detailUrl)}else{url=detailUrl}let detailObj={orId:orId,url:url,"二级":rule.二级,"二级访问前":rule.二级访问前,detailUrl:detailUrl,fyclass:fyclass,tab_exclude:rule.tab_exclude};return detailParse(detailObj)}function play(flag,id,flags){let playObj={url:id,flag:flag,flags:flags};return playParse(playObj)}function search(wd,quick,pg){if(rule.search_encoding){if(rule.search_encoding.toLowerCase()!=="utf-8"){wd=encodeStr(wd,rule.search_encoding)}}else if(rule.encoding&&rule.encoding.toLowerCase()!=="utf-8"){wd=encodeStr(wd,rule.encoding)}let searchObj={searchUrl:rule.searchUrl,"搜索":rule.搜索,wd:wd,pg:pg||1,quick:quick};return searchParse(searchObj)}function proxy(params){if(rule.proxy_rule&&rule.proxy_rule.trim()){rule.proxy_rule=rule.proxy_rule.trim()}if(rule.proxy_rule.startsWith("js:")){rule.proxy_rule=rule.proxy_rule.replace("js:","")}let proxyObj={params:params,proxy_rule:rule.proxy_rule};return proxyParse(proxyObj)}function sniffer(){let enable_sniffer=rule.sniffer||false;if(enable_sniffer){log("开始执行辅助嗅探代理规则...")}return enable_sniffer}function isVideo(url){let t=0;let is_video;if(rule.isVideo&&rule.isVideo.trim()){is_video=rule.isVideo.trim()}if(is_video.startsWith("js:")){is_video=is_video.replace("js:","");t=1}let isVideoObj={url:url,isVideo:is_video,t:t};let result=isVideoParse(isVideoObj);if(result){log("成功执行辅助嗅探规则并检测到视频地址:\n"+rule.isVideo)}return result}function getRule(key){return key?rule[key]||"":rule}function DRPY(){return{runMain:runMain,getRule:getRule,init:init,home:home,homeVod:homeVod,category:category,detail:detail,play:play,search:search,proxy:proxy,sniffer:sniffer,isVideo:isVideo,fixAdM3u8Ai:fixAdM3u8Ai}}export default{runMain:runMain,getRule:getRule,init:init,home:home,homeVod:homeVod,category:category,detail:detail,play:play,search:search,proxy:proxy,sniffer:sniffer,isVideo:isVideo,fixAdM3u8Ai:fixAdM3u8Ai,DRPY:DRPY}; \ No newline at end of file diff --git a/tvboxqq/tvboxqq/小虎斑/api/gbk.js b/tvboxqq/tvboxqq/小虎斑/api/gbk.js new file mode 100644 index 0000000..796d53a --- /dev/null +++ b/tvboxqq/tvboxqq/小虎斑/api/gbk.js @@ -0,0 +1,68 @@ +/*** + * gbk编码解码函数 + * strTool = gbkTool() strTool.encode(key) + * @returns {{encode: (function(*): *), decode: (function(*): *)}} + */ +export function gbkTool(){ + var data=function(zipData){ + var re=zipData + .replace(/#(\d+)\$/g,function(a,b){ + return Array(+b+3).join('#'); + }) + .replace(/#/g,'####') + .replace(/(\w\w):([\w#]+)(?:,|$)/g,function(a,hd,dt){ + return dt.replace(/../g,function(a){ + if(a!='##'){ + return hd+a; + }else{ + return a; + } + }); + }); + return re; + }('4e:020405060f12171f20212326292e2f313335373c40414244464a5155575a5b6263646567686a6b6c6d6e6f727475767778797a7b7c7d7f808182838485878a#909697999c9d9ea3aaafb0b1b4b6b7b8b9bcbdbec8cccfd0d2dadbdce0e2e6e7e9edeeeff1f4f8f9fafcfe,4f:00020304050607080b0c12131415161c1d212328292c2d2e31333537393b3e3f40414244454748494a4b4c525456616266686a6b6d6e7172757778797a7d8081828586878a8c8e909293959698999a9c9e9fa1a2a4abadb0b1b2b3b4b6b7b8b9babbbcbdbec0c1c2c6c7c8c9cbcccdd2d3d4d5d6d9dbe0e2e4e5e7ebecf0f2f4f5f6f7f9fbfcfdff,50:000102030405060708090a#0b0e1011131516171b1d1e20222324272b2f303132333435363738393b3d3f404142444546494a4b4d5051525354565758595b5d5e5f6061626364666768696a6b6d6e6f70717273747578797a7c7d818283848687898a8b8c8e8f909192939495969798999a9b9c9d9e9fa0a1a2a4a6aaabadaeafb0b1b3b4b5b6b7b8b9bcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdced0d1d2d3d4d5d7d8d9dbdcdddedfe0e1e2e3e4e5e8e9eaebeff0f1f2f4f6f7f8f9fafcfdfeff,51:00010203040508#090a0c0d0e0f1011131415161718191a1b1c1d1e1f2022232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e42474a4c4e4f5052535758595b5d5e5f606163646667696a6f727a7e7f838486878a8b8e8f90919394989a9d9e9fa1a3a6a7a8a9aaadaeb4b8b9babebfc1c2c3c5c8cacdced0d2d3d4d5d6d7d8d9dadcdedfe2e3e5e6e7e8e9eaeceef1f2f4f7fe,52:0405090b0c0f101314151c1e1f2122232526272a2c2f313234353c3e4445464748494b4e4f5253555758#595a5b5d5f6062636466686b6c6d6e7071737475767778797a7b7c7e808384858687898a8b8c8d8e8f91929495969798999a9ca4a5a6a7aeafb0b4b5b6b7b8b9babbbcbdc0c1c2c4c5c6c8cacccdcecfd1d3d4d5d7d9dadbdcdddee0e1e2e3e5e6e7e8e9eaebecedeeeff1f2f3f4f5f6f7f8fbfcfd,53:0102030407090a0b0c0e11121314181b1c1e1f2224252728292b2c2d2f3031323334353637383c3d404244464b4c4d505458595b5d65686a6c6d7276797b7c7d7e80818387888a8e8f#90919293949697999b9c9ea0a1a4a7aaabacadafb0b1b2b3b4b5b7b8b9babcbdbec0c3c4c5c6c7cecfd0d2d3d5dadcdddee1e2e7f4fafeff,54:000205070b1418191a1c2224252a303336373a3d3f4142444547494c4d4e4f515a5d5e5f6061636567696a6b6c6d6e6f7074797a7e7f8183858788898a8d919397989c9e9fa0a1a2a5aeb0b2b5b6b7b9babcbec3c5cacbd6d8dbe0e1e2e3e4ebeceff0f1f4f5f6f7f8f9fbfe,55:0002030405080a0b0c0d0e121315161718191a1c1d1e1f212526#28292b2d3234353638393a3b3d40424547484b4c4d4e4f515253545758595a5b5d5e5f60626368696b6f7071727374797a7d7f85868c8d8e9092939596979a9b9ea0a1a2a3a4a5a6a8a9aaabacadaeafb0b2b4b6b8babcbfc0c1c2c3c6c7c8cacbcecfd0d5d7d8d9dadbdee0e2e7e9edeef0f1f4f6f8f9fafbfcff,56:0203040506070a0b0d1011121314151617191a1c1d202122252628292a2b2e2f30333537383a3c3d3e404142434445464748494a4b4f5051525355565a5b5d5e5f6061#636566676d6e6f70727374757778797a7d7e7f80818283848788898a8b8c8d9091929495969798999a9b9c9d9e9fa0a1a2a4a5a6a7a8a9aaabacadaeb0b1b2b3b4b5b6b8b9babbbdbebfc0c1c2c3c4c5c6c7c8c9cbcccdcecfd0d1d2d3d5d6d8d9dce3e5e6e7e8e9eaeceeeff2f3f6f7f8fbfc,57:00010205070b0c0d0e0f101112131415161718191a1b1d1e202122242526272b313234353637383c3d3f414344454648494b52535455565859626365676c6e707172747578797a7d7e7f80#818788898a8d8e8f90919495969798999a9c9d9e9fa5a8aaacafb0b1b3b5b6b7b9babbbcbdbebfc0c1c4c5c6c7c8c9cacccdd0d1d3d6d7dbdcdee1e2e3e5e6e7e8e9eaebeceef0f1f2f3f5f6f7fbfcfeff,58:0103040508090a0c0e0f101213141617181a1b1c1d1f222325262728292b2c2d2e2f31323334363738393a3b3c3d3e3f4041424345464748494a4b4e4f505253555657595a5b5c5d5f6061626364666768696a6d6e6f707172737475767778797a7b7c7d7f82848687888a8b8c#8d8e8f909194959697989b9c9da0a1a2a3a4a5a6a7aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbdbebfc0c2c3c4c6c7c8c9cacbcccdcecfd0d2d3d4d6d7d8d9dadbdcdddedfe0e1e2e3e5e6e7e8e9eaedeff1f2f4f5f7f8fafbfcfdfeff,59:000103050608090a0b0c0e1011121317181b1d1e2021222326282c30323335363b3d3e3f404345464a4c4d505253595b5c5d5e5f616364666768696a6b6c6d6e6f70717275777a7b7c7e7f8085898b8c8e8f90919495989a9b9c9d9fa0a1a2a6#a7acadb0b1b3b4b5b6b7b8babcbdbfc0c1c2c3c4c5c7c8c9cccdcecfd5d6d9dbdedfe0e1e2e4e6e7e9eaebedeeeff0f1f2f3f4f5f6f7f8fafcfdfe,5a:00020a0b0d0e0f101214151617191a1b1d1e2122242627282a2b2c2d2e2f3033353738393a3b3d3e3f414243444547484b4c4d4e4f5051525354565758595b5c5d5e5f60616364656668696b6c6d6e6f7071727378797b7c7d7e808182838485868788898a8b8c8d8e8f9091939495969798999c9d9e9fa0a1a2a3a4a5a6a7a8a9abac#adaeafb0b1b4b6b7b9babbbcbdbfc0c3c4c5c6c7c8cacbcdcecfd0d1d3d5d7d9dadbdddedfe2e4e5e7e8eaecedeeeff0f2f3f4f5f6f7f8f9fafbfcfdfeff,5b:0001020304050607080a0b0c0d0e0f10111213141518191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303133353638393a3b3c3d3e3f4142434445464748494a4b4c4d4e4f52565e606167686b6d6e6f7274767778797b7c7e7f82868a8d8e90919294969fa7a8a9acadaeafb1b2b7babbbcc0c1c3c8c9cacbcdcecf#d1d4d5d6d7d8d9dadbdce0e2e3e6e7e9eaebecedeff1f2f3f4f5f6f7fdfe,5c:0002030507080b0c0d0e10121317191b1e1f2021232628292a2b2d2e2f303233353637434446474c4d5253545657585a5b5c5d5f62646768696a6b6c6d70727374757677787b7c7d7e808384858687898a8b8e8f9293959d9e9fa0a1a4a5a6a7a8aaaeafb0b2b4b6b9babbbcbec0c2c3c5c6c7c8c9cacccdcecfd0d1d3d4d5d6d7d8dadbdcdddedfe0e2e3e7e9ebeceeeff1f2f3f4f5f6f7f8f9fafcfdfeff,5d:00#01040508090a0b0c0d0f10111213151718191a1c1d1f2021222325282a2b2c2f3031323335363738393a3b3c3f4041424344454648494d4e4f5051525354555657595a5c5e5f6061626364656667686a6d6e7071727375767778797a7b7c7d7e7f8081838485868788898a8b8c8d8e8f9091929394959697989a9b9c9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b8b9babbbcbdbebfc0c1c2c3c4c6c7c8c9cacbcccecfd0d1d2d3d4d5d6d7d8d9dadcdfe0e3e4eaeced#f0f5f6f8f9fafbfcff,5e:000407090a0b0d0e1213171e1f20212223242528292a2b2c2f303233343536393a3e3f404143464748494a4b4d4e4f50515253565758595a5c5d5f60636465666768696a6b6c6d6e6f70717577797e8182838588898c8d8e92989b9da1a2a3a4a8a9aaabacaeafb0b1b2b4babbbcbdbfc0c1c2c3c4c5c6c7c8cbcccdcecfd0d4d5d7d8d9dadcdddedfe0e1e2e3e4e5e6e7e9ebecedeeeff0f1f2f3f5f8f9fbfcfd,5f:050607090c0d0e10121416191a1c1d1e21222324#282b2c2e30323334353637383b3d3e3f4142434445464748494a4b4c4d4e4f5154595a5b5c5e5f60636567686b6e6f72747576787a7d7e7f83868d8e8f919394969a9b9d9e9fa0a2a3a4a5a6a7a9abacafb0b1b2b3b4b6b8b9babbbebfc0c1c2c7c8cacbced3d4d5dadbdcdedfe2e3e5e6e8e9eceff0f2f3f4f6f7f9fafc,60:0708090b0c10111317181a1e1f2223242c2d2e3031323334363738393a3d3e404445464748494a4c4e4f5153545657585b5c5e5f606165666e71727475777e80#8182858687888a8b8e8f909193959798999c9ea1a2a4a5a7a9aaaeb0b3b5b6b7b9babdbebfc0c1c2c3c4c7c8c9cccdcecfd0d2d3d4d6d7d9dbdee1e2e3e4e5eaf1f2f5f7f8fbfcfdfeff,61:02030405070a0b0c1011121314161718191b1c1d1e21222528292a2c2d2e2f303132333435363738393a3b3c3d3e4041424344454647494b4d4f50525354565758595a5b5c5e5f606163646566696a6b6c6d6e6f717273747678797a7b7c7d7e7f808182838485868788898a8c8d8f9091929395#969798999a9b9c9e9fa0a1a2a3a4a5a6aaabadaeafb0b1b2b3b4b5b6b8b9babbbcbdbfc0c1c3c4c5c6c7c9cccdcecfd0d3d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e7e8e9eaebecedeeeff0f1f2f3f4f6f7f8f9fafbfcfdfe,62:00010203040507091314191c1d1e2023262728292b2d2f303132353638393a3b3c424445464a4f50555657595a5c5d5e5f6061626465687172747577787a7b7d818283858687888b8c8d8e8f9094999c9d9ea3a6a7a9aaadaeafb0b2b3b4b6b7b8babec0c1#c3cbcfd1d5dddee0e1e4eaebf0f2f5f8f9fafb,63:00030405060a0b0c0d0f10121314151718191c2627292c2d2e30313334353637383b3c3e3f40414447484a51525354565758595a5b5c5d60646566686a6b6c6f707273747578797c7d7e7f81838485868b8d9193949597999a9b9c9d9e9fa1a4a6abafb1b2b5b6b9bbbdbfc0c1c2c3c5c7c8cacbccd1d3d4d5d7d8d9dadbdcdddfe2e4e5e6e7e8ebeceeeff0f1f3f5f7f9fafbfcfe,64:0304060708090a0d0e111215161718191a1d1f222324#252728292b2e2f3031323335363738393b3c3e404243494b4c4d4e4f505153555657595a5b5c5d5f60616263646566686a6b6c6e6f70717273747576777b7c7d7e7f8081838688898a8b8c8d8e8f90939497989a9b9c9d9fa0a1a2a3a5a6a7a8aaabafb1b2b3b4b6b9bbbdbebfc1c3c4c6c7c8c9cacbcccfd1d3d4d5d6d9dadbdcdddfe0e1e3e5e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,65:01020304050607080a0b0c0d0e0f10111314151617191a1b1c1d1e1f2021#222324262728292a2c2d30313233373a3c3d404142434446474a4b4d4e5052535457585a5c5f606164656768696a6d6e6f7173757678797a7b7c7d7e7f8081828384858688898a8d8e8f92949596989a9d9ea0a2a3a6a8aaacaeb1b2b3b4b5b6b7b8babbbebfc0c2c7c8c9cacdd0d1d3d4d5d8d9dadbdcdddedfe1e3e4eaebf2f3f4f5f8f9fbfcfdfeff,66:0104050708090b0d1011121617181a1b1c1e2122232426292a2b2c2e3032333738393a3b3d3f40424445464748494a4d4e505158#595b5c5d5e6062636567696a6b6c6d7172737578797b7c7d7f808183858688898a8b8d8e8f909293949598999a9b9c9e9fa0a1a2a3a4a5a6a9aaabacadafb0b1b2b3b5b6b7b8babbbcbdbfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8dadedfe0e1e2e3e4e5e7e8eaebecedeeeff1f5f6f8fafbfd,67:010203040506070c0e0f1112131618191a1c1e20212223242527292e303233363738393b3c3e3f414445474a4b4d5254555758595a5b5d62636466676b6c6e717476#78797a7b7d8082838586888a8c8d8e8f9192939496999b9fa0a1a4a6a9acaeb1b2b4b9babbbcbdbebfc0c2c5c6c7c8c9cacbcccdced5d6d7dbdfe1e3e4e6e7e8eaebedeef2f5f6f7f8f9fafbfcfe,68:01020304060d1012141518191a1b1c1e1f20222324252627282b2c2d2e2f30313435363a3b3f474b4d4f52565758595a5b5c5d5e5f6a6c6d6e6f707172737578797a7b7c7d7e7f8082848788898a8b8c8d8e90919294959698999a9b9c9d9e9fa0a1a3a4a5a9aaabacaeb1b2b4b6b7b8#b9babbbcbdbebfc1c3c4c5c6c7c8cacccecfd0d1d3d4d6d7d9dbdcdddedfe1e2e4e5e6e7e8e9eaebecedeff2f3f4f6f7f8fbfdfeff,69:00020304060708090a0c0f11131415161718191a1b1c1d1e21222325262728292a2b2c2e2f313233353637383a3b3c3e4041434445464748494a4b4c4d4e4f50515253555658595b5c5f616264656768696a6c6d6f7072737475767a7b7d7e7f8183858a8b8c8e8f909192939697999a9d9e9fa0a1a2a3a4a5a6a9aaacaeafb0b2b3b5b6b8b9babcbd#bebfc0c2c3c4c5c6c7c8c9cbcdcfd1d2d3d5d6d7d8d9dadcdddee1e2e3e4e5e6e7e8e9eaebeceeeff0f1f3f4f5f6f7f8f9fafbfcfe,6a:000102030405060708090b0c0d0e0f10111213141516191a1b1c1d1e20222324252627292b2c2d2e30323334363738393a3b3c3f40414243454648494a4b4c4d4e4f515253545556575a5c5d5e5f60626364666768696a6b6c6d6e6f70727374757677787a7b7d7e7f81828385868788898a8b8c8d8f929394959698999a9b9c9d9e9fa1a2a3a4a5a6#a7a8aaadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,6b:000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f252628292a2b2c2d2e2f303133343536383b3c3d3f4041424445484a4b4d4e4f5051525354555657585a5b5c5d5e5f606168696b6c6d6e6f7071727374757677787a7d7e7f808588#8c8e8f909194959798999c9d9e9fa0a2a3a4a5a6a7a8a9abacadaeafb0b1b2b6b8b9babbbcbdbec0c3c4c6c7c8c9caccced0d1d8dadcdddedfe0e2e3e4e5e6e7e8e9ecedeef0f1f2f4f6f7f8fafbfcfeff,6c:000102030408090a0b0c0e12171c1d1e2023252b2c2d31333637393a3b3c3e3f434445484b4c4d4e4f5152535658595a62636566676b6c6d6e6f71737577787a7b7c7f8084878a8b8d8e9192959697989a9c9d9ea0a2a8acafb0b4b5b6b7bac0c1c2c3c6c7c8cbcdcecfd1d2d8#d9dadcdddfe4e6e7e9ecedf2f4f9ff,6d:000203050608090a0d0f101113141516181c1d1f20212223242628292c2d2f30343637383a3f404244494c50555657585b5d5f6162646567686b6c6d707172737576797a7b7d7e7f8081838486878a8b8d8f9092969798999a9ca2a5acadb0b1b3b4b6b7b9babbbcbdbec1c2c3c8c9cacdcecfd0d2d3d4d5d7dadbdcdfe2e3e5e7e8e9eaedeff0f2f4f5f6f8fafdfeff,6e:0001020304060708090b0f12131518191b1c1e1f222627282a2c2e30313335#3637393b3c3d3e3f40414245464748494a4b4c4f5051525557595a5c5d5e606162636465666768696a6c6d6f707172737475767778797a7b7c7d8081828487888a8b8c8d8e91929394959697999a9b9d9ea0a1a3a4a6a8a9abacadaeb0b3b5b8b9bcbebfc0c3c4c5c6c8c9cacccdced0d2d6d8d9dbdcdde3e7eaebecedeeeff0f1f2f3f5f6f7f8fafbfcfdfeff,6f:000103040507080a0b0c0d0e101112161718191a1b1c1d1e1f212223252627282c2e303234353738393a3b3c3d3f404142#43444548494a4c4e4f5051525354555657595a5b5d5f60616364656768696a6b6c6f707173757677797b7d7e7f808182838586878a8b8f909192939495969798999a9b9d9e9fa0a2a3a4a5a6a8a9aaabacadaeafb0b1b2b4b5b7b8babbbcbdbebfc1c3c4c5c6c7c8cacbcccdcecfd0d3d4d5d6d7d8d9dadbdcdddfe2e3e4e5e6e7e8e9eaebecedf0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,70:000102030405060708090a0b0c0d0e0f1012131415161718191c1d1e1f2021222425262728292a#2b2c2d2e2f30313233343637383a3b3c3d3e3f404142434445464748494a4b4d4e505152535455565758595a5b5c5d5f606162636465666768696a6e7172737477797a7b7d818283848687888b8c8d8f90919397989a9b9e9fa0a1a2a3a4a5a6a7a8a9aab0b2b4b5b6babebfc4c5c6c7c9cbcccdcecfd0d1d2d3d4d5d6d7dadcdddee0e1e2e3e5eaeef0f1f2f3f4f5f6f8fafbfcfeff,71:0001020304050607080b0c0d0e0f111214171b1c1d1e1f2021222324252728292a2b2c2d2e323334#353738393a3b3c3d3e3f4041424344464748494b4d4f505152535455565758595a5b5d5f6061626365696a6b6c6d6f707174757677797b7c7e7f8081828385868788898b8c8d8e909192939596979a9b9c9d9ea1a2a3a4a5a6a7a9aaabadaeafb0b1b2b4b6b7b8babbbcbdbebfc0c1c2c4c5c6c7c8c9cacbcccdcfd0d1d2d3d6d7d8d9dadbdcdddedfe1e2e3e4e6e8e9eaebecedeff0f1f2f3f4f5f6f7f8fafbfcfdfeff,72:0001020304050708090a0b0c0d0e0f101112131415161718191a#1b1c1e1f2021222324252627292b2d2e2f3233343a3c3e40414243444546494a4b4e4f505153545557585a5c5e60636465686a6b6c6d707173747677787b7c7d828385868788898c8e9091939495969798999a9b9c9d9ea0a1a2a3a4a5a6a7a8a9aaabaeb1b2b3b5babbbcbdbebfc0c5c6c7c9cacbcccfd1d3d4d5d6d8dadb#95$,30:000102,00b702:c9c7,00a830:0305,2014ff5e20:162618191c1d,30:141508090a0b0c0d0e0f16171011,00:b1d7f7,22:362728110f2a2908371aa52520,231222:992b2e614c483d1d606e6f64651e3534,26:4240,00b020:3233,2103ff0400a4ff:e0e1,203000a7211626:0605,25:cbcfcec7c6a1a0b3b2,203b21:92909193,30:13#95$,21:70717273747576777879#4$,24:88898a8b8c8d8e8f909192939495969798999a9b7475767778797a7b7c7d7e7f808182838485868760616263646566676869##,32:20212223242526272829##,21:606162636465666768696a6b#97$,ff:010203e505060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5de3#95$,30:4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f90919293#106$a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6#103$,03:9192939495969798999a9b9c9d9e9fa0a1a3a4a5a6a7a8a9#6$b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c3c4c5c6c7c8c9#5$,fe:3536393a3f403d3e41424344##3b3c373831#3334#104$,04:10111213141501161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f#13$30313233343551363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f#11$,02:cacbd9,20:13152535,21:050996979899,22:151f23526667bf,25:505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f7071727381828384858687#88898a8b8c8d8e8f939495bcbde2e3e4e5,2609229530:121d1e#9$,010100e101ce00e0011300e9011b00e8012b00ed01d000ec014d00f301d200f2016b00fa01d400f901:d6d8dadc,00:fcea,0251e7c701:4448,e7c802:61#2$,31:05060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20212223242526272829#19$,30:212223242526272829,32a333:8e8f9c9d9ea1c4ced1d2d5,fe30ff:e2e4#,212132:31#,20:10#1$,30:fc9b9cfdfe069d9e,fe:494a4b4c4d4e4f50515254555657595a5b5c5d5e5f6061#626364656668696a6b,e7:e7e8e9eaebecedeeeff0f1f2f3,30:07#11$,25:000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b#13$,72:dcdddfe2e3e4e5e6e7eaebf5f6f9fdfeff,73:00020405060708090b0c0d0f1011121418191a1f2023242627282d2f30323335363a3b3c3d404142434445464748#494a4b4c4e4f515354555658595a5b5c5d5e5f6162636465666768696a6b6e7071#92$72737475767778797a7b7c7d7f808182838586888a8c8d8f90929394959798999a9c9d9ea0a1a3a4a5a6a7a8aaacadb1b4b5b6b8b9bcbdbebfc1c3c4c5c6c7#cbccced2d3d4d5d6d7d8dadbdcdddfe1e2e3e4e6e8eaebeceeeff0f1f3f4f5f6f7#92$f8f9fafbfcfdfeff,74:0001020407080b0c0d0e1112131415161718191c1d1e1f2021232427292b2d2f31323738393a3b3d3e3f4042434445464748494a4b4c4d#4e4f505152535456585d606162636465666768696a6b6c6e6f717273747578797a#92$7b7c7d7f8284858688898a8c8d8f9192939495969798999a9b9d9fa0a1a2a3a4a5a6aaabacadaeafb0b1b2b3b4b5b6b7b8b9bbbcbdbebfc0c1c2c3c4c5c6c7#c8c9cacbcccdcecfd0d1d3d4d5d6d7d8d9dadbdddfe1e5e7e8e9eaebecedf0f1f2#92$f3f5f8f9fafbfcfdfe,75:0001020305060708090a0b0c0e1012141516171b1d1e202122232426272a2e3436393c3d3f414243444647494a4d5051525355565758#5d5e5f60616263646768696b6c6d6e6f7071737576777a7b7c7d7e808182848587#92$88898a8c8d8e909395989b9c9ea2a6a7a8a9aaadb6b7babbbfc0c1c6cbcccecfd0d1d3d7d9dadcdddfe0e1e5e9ecedeeeff2f3f5f6f7f8fafbfdfe,76:02040607#08090b0d0e0f11121314161a1c1d1e212327282c2e2f31323637393a3b3d414244#92$45464748494a4b4e4f50515253555758595a5b5d5f6061626465666768696a6c6d6e7071727374757677797a7c7f80818385898a8c8d8f9092949597989a9b#9c9d9e9fa0a1a2a3a5a6a7a8a9aaabacadafb0b3b5b6b7b8b9babbbcbdbec0c1c3,554a963f57c3632854ce550954c076:914c,853c77ee827e788d72319698978d6c285b894ffa630966975cb880fa684880ae660276ce51f9655671ac7ff1888450b2596561ca6fb382ad634c625253ed54277b06516b75a45df462d48dcb9776628a8019575d97387f627238767d67cf767e64464f708d2562dc7a17659173ed642c6273822c9881677f724862:6ecc,4f3474e3534a529e7eca90a65e2e6886699c81807ed168d278c5868c9551508d8c2482de80de53058912526576:c4c7c9cbccd3d5d9dadcdddee0e1e2e3e4e6e7e8e9eaebecedf0f3f5f6f7fafbfdff,77:00020305060a0c0e0f1011121314151617181b1c1d1e21232425272a2b#2c2e3031323334393b3d3e3f4244454648494a4b4c4d4e4f52535455565758595c,858496f94fdd582199715b9d62:b1a5,66b48c799c8d7206676f789160b253:5117,8f8880cc8d1d94a1500d72c8590760eb711988ab595482ef672c7b285d297ef7752d6cf58e668ff8903c9f3b6bd491197b145f7c78a784d6853d6b:d5d9d6,5e:0187,75f995ed655d5f:0ac5,8f9f58c181c2907f965b97ad8fb97f168d2c62414fbf53:d85e,8f:a8a9ab,904d68075f6a819888689cd6618b522b762a5f6c658c6fd26ee85bbe644851:75b0,67c44e1979c9997c70b377:5d5e5f606467696a6d6e6f7071727374757677787a7b7c818283868788898a8b8f90939495969798999a9b9c9d9ea1a3a4a6a8abadaeafb1b2b4b6b7b8b9ba#bcbec0c1c2c3c4c5c6c7c8c9cacbcccecfd0d1d2d3d4d5d6d8d9dadddedfe0e1e4,75c55e7673bb83e064ad62e894b56ce2535a52c3640f94c27b944f2f5e1b823681:168a,6e246cca9a736355535c54fa886557e04e0d5e036b657c3f90e8601664e6731c88c16750624d8d22776c8e2991c75f6983dc8521991053c286956b8b60:ede8,707f82:cd31,4ed36ca785cf64cd7cd969fd66f9834953957b564fa7518c6d4b5c428e6d63d253c983:2c36,67e578b4643d5bdf5c945dee8be762c667f48c7a640063ba8749998b8c177f2094f24ea7961098a4660c731677:e6e8eaeff0f1f2f4f5f7f9fafbfc,78:0304050607080a0b0e0f101315191b1e20212224282a2b2e2f31323335363d3f414243444648494a4b4d4f51535458595a#5b5c5e5f606162636465666768696f7071727374757678797a7b7d7e7f80818283,573a5c1d5e38957f507f80a05382655e7545553150218d856284949e671d56326f6e5de2543570928f66626f64a463a35f7b6f8890f481e38fb05c1866685ff16c8996488d81886c649179f057ce6a59621054484e587a0b60e96f848bda627f901e9a8b79e4540375f4630153196c608fdf5f1b9a70803b9f7f4f885c3a8d647fc565a570bd51:45b2,866b5d075ba062bd916c75748e0c7a2061017b794ec77ef877854e1181ed521d51fa6a7153a88e87950496cf6ec19664695a78:848586888a8b8f9092949596999d9ea0a2a4a6a8a9aaabacadaeafb5b6b7b8babbbcbdbfc0c2c3c4c6c7c8cccdcecfd1d2d3d6d7d8dadbdcdddedfe0e1e2e3#e4e5e6e7e9eaebedeeeff0f1f3f5f6f8f9fbfcfdfeff,79:00020304060708090a0b0c,784050a877d7641089e6590463e35ddd7a7f693d4f20823955984e3275ae7a975e:628a,95ef521b5439708a6376952457826625693f918755076df37eaf882262337ef075b5832878c196cc8f9e614874f78bcd6b64523a8d506b21806a847156f153064e:ce1b,51d17c97918b7c074fc38e7f7be17a9c64675d1450ac810676017cb96dec7fe067515b:58f8,78cb64:ae13,63:aa2b,9519642d8fbe7b5476296253592754466b7950a362345e266b864ee38d37888b5f85902e79:0d0e0f1011121415161718191a1b1c1d1f2021222325262728292a2b2c2d2e2f3031323335363738393d3f42434445474a4b4c4d4e4f505152545558596163#6466696a6b6c6e70717273747576797b7c7d7e7f8283868788898b8c8d8e909192,6020803d62c54e39535590f863b880c665e66c2e4f4660ee6de18bde5f3986cb5f536321515a83616863520063638e4850125c9b79775bfc52307a3b60bc905376d75f:b797,76848e6c706f767b7b4977aa51f3909358244f4e6ef48fea654c7b1b72c46da47fdf5ae162b55e95573084827b2c5e1d5f1f90127f1498a063826ec7789870b95178975b57ab75354f4375385e9760e659606dc06bbf788953fc96d551cb52016389540a94938c038dcc7239789f87768fed8c0d53e079:939495969798999b9c9d9e9fa0a1a2a3a4a5a6a8a9aaabacadaeafb0b1b2b4b5b6b7b8bcbfc2c4c5c7c8cacccecfd0d3d4d6d7d9dadbdcdddee0e1e2e5e8ea#eceef1f2f3f4f5f6f7f9fafcfeff,7a:0104050708090a0c0f10111213151618191b1c,4e0176ef53ee948998769f0e952d5b9a8ba24e:221c,51ac846361c252a8680b4f97606b51bb6d1e515c6296659796618c46901775d890fd77636bd272:8aec,8bfb583577798d4c675c9540809a5ea66e2159927aef77ed953b6bb565ad7f0e58065151961f5bf958a954288e726566987f56e4949d76fe9041638754c659:1a3a,579b8eb267358dfa8235524160f0581586fe5ce89e454fc4989d8bb95a2560765384627c904f9102997f6069800c513f80335c1499756d314e8c7a:1d1f21222425262728292a2b2c2d2e2f303132343536383a3e4041424344454748494a4b4c4d4e4f50525354555658595a5b5c5d5e5f606162636465666768#696a6b6c6d6e6f717273757b7c7d7e828587898a8b8c8e8f909394999a9b9ea1a2,8d3053d17f5a7b4f4f104e4f96006cd573d085e95e06756a7ffb6a0a77fe94927e4151e170e653cd8fd483038d2972af996d6cdb574a82b365b980aa623f963259a84eff8bbf7eba653e83f2975e556198de80a5532a8bfd542080ba5e9f6cb88d3982ac915a54296c1b52067eb7575f711a6c7e7c89594b4efd5fff61247caa4e305c0167ab87025cf0950b98ce75af70fd902251af7f1d8bbd594951e44f5b5426592b657780a45b7562:76c2,8f905e456c1f7b264f:0fd8,670d7a:a3a4a7a9aaabaeafb0b1b2b4b5b6b7b8b9babbbcbdbec0c1c2c3c4c5c6c7c8c9cacccdcecfd0d1d2d3d4d5d7d8dadbdcdde1e2e4e7e8e9eaebeceef0f1f2f3#f4f5f6f7f8fbfcfe,7b:0001020507090c0d0e1012131617181a1c1d1f21222327292d,6d:6eaa,798f88b15f17752b629a8f854fef91dc65a781:2f51,5e9c81508d74526f89868d4b590d50854ed8961c723681798d1f5bcc8ba3964459877f1a549056:760e,8be565396982949976d66e895e72751867:46d1,7aff809d8d76611f79c665628d635188521a94a27f38809b7eb25c976e2f67607bd9768b9ad8818f7f947cd5641e95507a3f54:4ae5,6b4c640162089e3d80f3759952729769845b683c86e496:0194,94ec4e2a54047ed968398ddf801566f45e9a7fb97b:2f303234353637393b3d3f404142434446484a4d4e535557595c5e5f61636465666768696a6b6c6d6f70737476787a7c7d7f81828384868788898a8b8c8e8f#9192939698999a9b9e9fa0a3a4a5aeafb0b2b3b5b6b7b9babbbcbdbebfc0c2c3c4,57c2803f68975de5653b529f606d9f9a4f9b8eac516c5bab5f135de96c5e62f18d21517194a952fe6c9f82df72d757a267848d2d591f8f9c83c754957b8d4f306cbd5b6459d19f1353e486ca9aa88c3780a16545987e56fa96c7522e74dc52505be1630289024e5662d0602a68fa51735b9851a089c27ba199867f5060ef704c8d2f51495e7f901b747089c4572d78455f529f9f95fa8f689b3c8be17678684267dc8d:ea35,523d8f8a6eda68cd950590ed56fd679c88f98fc754c87b:c5c8c9cacbcdcecfd0d2d4d5d6d7d8dbdcdedfe0e2e3e4e7e8e9ebecedeff0f2f3f4f5f6f8f9fafbfdff,7c:0001020304050608090a0d0e101112131415171819#1a1b1c1d1e20212223242528292b2c2d2e2f3031323334353637393a3b3c3d3e42,9ab85b696d776c264ea55bb39a87916361a890af97e9542b6db55bd251fd558a7f:55f0,64bc634d65f161be608d710a6c:5749,592f676d822a58d5568e8c6a6beb90dd597d801753f76d695475559d83:77cf,683879be548c4f55540876d28c8996026cb36db88d6b89109e648d3a563f9ed175d55f8872e0606854fc4ea86a2a886160528f7054c470d886799e3f6d2a5b8f5f187ea255894faf7334543c539a501954:0e7c,4e4e5ffd745a58f6846b80e1877472d07cca6e567c:434445464748494a4b4c4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f70717275767778797a7e7f8081828384858687#888a8b8c8d8e8f90939496999a9ba0a1a3a6a7a8a9abacadafb0b4b5b6b7b8babb,5f27864e552c62a44e926caa623782b154d7534e733e6ed1753b521253168bdd69d05f8a60006dee574f6b2273af68538fd87f13636260a3552475ea8c6271156da35ba65e7b8352614c9ec478fa87577c27768751f060f6714c66435e4c604d8c0e707063258f895fbd606286d456de6bc160946167534960e066668d3f79fd4f1a70e96c478b:b3f2,7ed88364660f5a5a9b426d:51f7,8c416d3b4f19706b83b7621660d1970d8d27797851fb57:3efa,673a75787a3d79ef7b957c:bfc0c2c3c4c6c9cbcecfd0d1d2d3d4d8dadbdddee1e2e3e4e5e6e7e9eaebecedeef0f1f2f3f4f5f6f7f9fafcfdfeff,7d:000102030405060708090b0c0d0e0f10#1112131415161718191a1b1c1d1e1f212324252628292a2c2d2e30313233343536,808c99658ff96fc08ba59e2159ec7ee97f095409678168d88f917c4d96c653ca602575be6c7253735ac97ea7632451e0810a5df184df628051805b634f0e796d524260b86d4e5b:c4c2,8b:a1b0,65e25fcc964559937e:e7aa,560967b759394f735bb652a0835a988a8d3e753294be50477a3c4ef767b69a7e5ac16b7c76d1575a5c167b3a95f4714e517c80a9827059787f04832768c067ec78:b177,62e363617b804fed526a51cf835069db92748d:f531,89c1952e7bad4ef67d:3738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6f70717273747576#78797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798,506582305251996f6e:1085,6da75efa50f559dc5c066d466c5f7586848b686859568bb253209171964d854969127901712680f64ea490ca6d479a845a0756bc640594f077eb4fa5811a72e189d2997a7f347ede527f655991758f:7f83,53eb7a9663:eda5,768679f888579636622a52ab8282685467706377776b7aed6d017ed389e359d0621285c982a5754c501f4ecb75a58beb5c4a5dfe7b4b65a491d14eca6d25895f7d2795264ec58c288fdb9773664b79818fd170ec6d787d:999a9b9c9d9e9fa0a1a2a3a4a5a7a8a9aaabacadafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9#dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fa,5c3d52b283465162830e775b66769cb84eac60ca7c:beb3,7ecf4e958b66666f988897595883656c955c5f8475c997567a:dfde,51c070af7a9863ea7a767ea0739697ed4e4570784e5d915253a965:51e7,81fc8205548e5c31759a97a062d872d975bd5c459a7983ca5c40548077e94e3e6cae805a62d2636e5de851778ddd8e1e952f4ff153e560e770ac526763509e435a1f5026773753777ee26485652b628963985014723589c951b38bc07edd574783cc94a7519b541b5cfb7d:fbfcfdfeff,7e:000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f30313233343536373839#3a3c3d3e3f40424344454648494a4b4c4d4e4f505152535455565758595a5b5c5d,4fca7ae36d5a90e19a8f55805496536154af5f0063e9697751ef6168520a582a52d8574e780d770b5eb761777ce062:5b97,4ea27095800362f770e49760577782db67ef68f578d5989779d158f354b353ef6e34514b523b5ba28bfe80af554357a660735751542d7a7a60505b5463a762a053e362635bc767af54ed7a9f82e691775e9388e4593857ae630e8de880ef57577b774fa95feb5bbd6b3e53217b5072c2684677:ff36,65f751b54e8f76d45cbf7aa58475594e9b4150807e:5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f8081838485868788898a8b8c8d8e8f909192939495969798999a9c9d9e#aeb4bbbcd6e4ecf9,7f:0a101e37393b3c3d3e3f404143464748494a4b4c4d4e4f5253,998861276e8357646606634656f062:ec69,5ed39614578362c955878721814a8fa3556683b167658d5684dd5a6a680f62e67bee961151706f9c8c3063fd89c861d27f0670c26ee57405699472fc5eca90ce67176d6a635e52b3726280014f6c59e5916a70d96d9d52d24e5096f7956d857e78ca7d2f5121579264c2808b7c7b6cea68f1695e51b7539868a872819ece7bf172f879bb6f137406674e91cc9ca4793c83:8954,540f68174e3d538952b1783e5386522950884f:8bd0,7f:56595b5c5d5e6063646566676b6c6d6f7073757677787a7b7c7d7f8082838485868788898b8d8f9091929395969798999b9ca0a2a3a5a6a8a9aaabacadaeb1#b3b4b5b6b7babbbec0c2c3c4c6c7c8c9cbcdcfd0d1d2d3d6d7d9dadbdcdddee2e3,75e27acb7c926ca596b6529b748354e94fe9805483b28fde95705ec9601c6d9f5e18655b813894fe604b70bc7ec37cae51c968817cb1826f4e248f8691cf667e4eae8c0564a9804a50da759771ce5be58fbd6f664e86648295635ed66599521788c270c852a3730e7433679778f797164e3490bb9cde6dcb51db8d41541d62ce73b283f196f69f8494c34f367f9a51cc707596755cad988653e64ee46e9c740969b4786b998f7559521876246d4167f3516d9f99804b54997b3c7abf7f:e4e7e8eaebecedeff2f4f5f6f7f8f9fafdfeff,80:020708090a0e0f11131a1b1d1e1f2123242b2c2d2e2f303234393a3c3e404144454748494e4f505153555657#595b5c5d5e5f6061626364656667686b6c6d6e6f7072737475767778797a7b7c7d,9686578462e29647697c5a0464027bd36f0f964b82a6536298855e90708963b35364864f9c819e93788c97328d:ef42,9e7f6f5e79845f559646622e9a74541594dd4fa365c55c:6561,7f1586516c2f5f8b73876ee47eff5ce6631b5b6a6ee653754e7163a0756562a18f6e4f264ed16ca67eb68bba841d87ba7f57903b95237ba99aa188f8843d6d1b9a867edc59889ebb739b780186829a:6c82,561b541757cb4e709ea653568fc881097792999286ee6ee1851366fc61626f2b80:7e818285888a8d8e8f909192949597999ea3a6a7a8acb0b3b5b6b8b9bbc5c7c8c9cacbcfd0d1d2d3d4d5d8dfe0e2e3e6eef5f7f9fbfeff,81:000103040507080b#0c1517191b1c1d1f202122232425262728292a2b2d2e3033343537393a3b3c3d3f,8c298292832b76f26c135fd983bd732b8305951a6bdb77db94c6536f830251925e3d8c8c8d384e4873ab679a68859176970971646ca177095a9295416bcf7f8e66275bd059b95a9a95:e8f7,4eec84:0c99,6aac76df9530731b68a65b5f772f919a97617cdc8ff78c1c5f257c7379d889c56ccc871c5bc65e4268c977207ef551:954d,52c95a297f05976282d763cf778485d079d26e3a5e9959998511706d6c1162bf76bf654f60af95fd660e879f9e2394ed54:0d7d,8c2c647881:40414243444547494d4e4f525657585b5c5d5e5f6162636466686a6b6c6f727375767778818384858687898b8c8d8e90929394959697999a9e9fa0a1a2a4a5#a7a9abacadaeafb0b1b2b4b5b6b7b8b9bcbdbebfc4c5c7c8c9cbcdcecfd0d1d2d3,647986116a21819c78e864699b5462b9672b83ab58a89ed86cab6f205bde964c8c0b725f67d062c772614ea959c66bcd589366ae5e5552df6155672876ee776672677a4662ff54:ea50,94a090a35a1c7eb36c164e435976801059485357753796be56ca63208111607c95f96dd65462998151855ae980fd59ae9713502a6ce55c3c62df4f60533f817b90066eba852b62c85e7478be64b5637b5ff55a18917f9e1f5c3f634f80425b7d556e95:4a4d,6d8560a867e072de51dd5b8181:d4d5d6d7d8d9dadbdcdddedfe0e1e2e4e5e6e8e9ebeeeff0f1f2f5f6f7f8f9fafdff,82:030708090a0b0e0f111315161718191a1d2024252627292e323a3c3d3f#404142434546484a4c4d4e5051525354555657595b5c5d5e606162636465666769,62e76cde725b626d94ae7ebd81136d53519c5f04597452aa6012597366968650759f632a61e67cef8bfa54e66b279e256bb485d5545550766ca4556a8db4722c5e156015743662cd6392724c5f986e436d3e65006f5876d878d076fc7554522453db4e535e9e65c180:2ad6,629b5486522870ae888d8dd16ce1547880da57f988f48d54966a914d4f696c9b55b776c6783062a870f96f8e5f6d84ec68da787c7bf781a8670b9e4f636778b0576f7812973962:79ab,528874356bd782:6a6b6c6d71757677787b7c808183858687898c90939495969a9b9ea0a2a3a7b2b5b6babbbcbfc0c2c3c5c6c9d0d6d9dadde2e7e8e9eaecedeef0f2f3f5f6f8#fafcfdfeff,83:000a0b0d1012131618191d1e1f20212223242526292a2e3032373b3d,5564813e75b276ae533975de50fb5c418b6c7bc7504f72479a9798d86f0274e27968648777a562fc98918d2b54c180584e52576a82f9840d5e7351ed74f68bc45c4f57616cfc98875a4678349b448feb7c955256625194fa4ec68386846183e984b257d467345703666e6d668c3166dd7011671f6b3a6816621a59bb4e0351c46f0667d26c8f517668cb59476b6775665d0e81109f5065d779:4841,9a918d775c824e5e4f01542f5951780c56686c148fc45f036c:7de3,8bab639083:3e3f41424445484a4b4c4d4e5355565758595d6270717273747576797a7e7f808182838487888a8b8c8d8f909194959697999a9d9fa1a2a3a4a5a6a7acadae#afb5bbbebfc2c3c4c6c8c9cbcdced0d1d2d3d5d7d9dadbdee2e3e4e6e7e8ebeced,60706d3d7275626694:8ec5,53438fc17b7e4edf8c264e7e9ed494:b1b3,524d6f5c90636d458c3458115d4c6b:2049,67aa545b81547f8c589985375f3a62a26a47953965726084686577a74e544fa85de7979864ac7fd85ced4fcf7a8d520783044e14602f7a8394a64fb54eb279e6743452e482b964d279bd5bdd6c8197528f7b6c22503e537f6e0564ce66746c3060c598778bf75e86743c7a7779cb4e1890b174036c4256da914b6cc58d8b533a86c666f28eaf5c489a716e2083:eeeff3f4f5f6f7fafbfcfeff,84:0002050708090a10121314151617191a1b1e1f20212223292a2b2c2d2e2f30323334353637393a3b3e3f404142434445474849#4a4b4c4d4e4f505253545556585d5e5f606264656667686a6e6f70727477797b7c,53d65a369f8b8da353bb570898a76743919b6cc9516875ca62f372ac52:389d,7f3a7094763853749e4a69b7786e96c088d97fa471:36c3,518967d374e458e4651856b78ba9997662707ed560f970ed58ec4e:c1ba,5fcd97e74efb8ba45203598a7eab62544ecd65e5620e833884c98363878d71946eb65bb97ed2519763c967d480898339881551125b7a59828fb14e736c5d516589258f6f962e854a745e95:10f0,6da682e55f3164926d128428816e9cc3585e8d5b4e0953c184:7d7e7f8081838485868a8d8f90919293949596989a9b9d9e9fa0a2a3a4a5a6a7a8a9aaabacadaeb0b1b3b5b6b7bbbcbec0c2c3c5c6c7c8cbcccecfd2d4d5d7#d8d9dadbdcdee1e2e4e7e8e9eaebedeeeff1f2f3f4f5f6f7f8f9fafbfdfe,85:000102,4f1e6563685155d34e2764149a9a626b5ac2745f82726da968ee50e7838e7802674052396c997eb150bb5565715e7b5b665273ca82eb67495c715220717d886b95ea965564c58d6181b355846c5562477f2e58924f2455468d4f664c4e0a5c1a88f368a2634e7a0d70e7828d52fa97f65c1154e890b57ecd59628d4a86c782:0c0d,8d6664445c0461516d89793e8bbe78377533547b4f388eab6df15a207ec5795e6c885ba15a76751a80be614e6e1758f075:1f25,727253477ef385:030405060708090a0b0d0e0f101214151618191b1c1d1e2022232425262728292a2d2e2f303132333435363e3f404142444546474b4c4d4e4f505152535455#57585a5b5c5d5f60616263656667696a6b6c6d6e6f707173757677787c7d7f8081,770176db526980dc57235e08593172ee65bd6e7f8bd75c388671534177f362fe65f64ec098df86805b9e8bc653f277e24f7f5c4e9a7659cb5f0f793a58eb4e1667ff4e8b62ed8a93901d52bf662f55dc566c90024ed54f8d91ca99706c0f5e0260435ba489c68bd56536624b99965b:88ff,6388552e53d77626517d852c67a268b36b8a62928f9353d482126dd1758f4e668d4e5b70719f85af66:91d9,7f7287009ecd9f205c5e672f8ff06811675f620d7ad658855eb665706f3185:82838688898a8b8c8d8e909192939495969798999a9d9e9fa0a1a2a3a5a6a7a9abacadb1b2b3b4b5b6b8babbbcbdbebfc0c2c3c4c5c6c7c8cacbcccdced1d2#d4d6d7d8d9dadbdddedfe0e1e2e3e5e6e7e8eaebecedeeeff0f1f2f3f4f5f6f7f8,60555237800d6454887075295e05681362f4971c53cc723d8c016c3477617a0e542e77ac987a821c8bf47855671470c165af64955636601d79c153f84e1d6b7b80865bfa55e356db4f:3a3c,99725df3677e80386002988290015b8b8b:bcf5,641c825864de55fd82cf91654fd77d20901f7c9f50f358516eaf5bbf8bc980839178849c7b97867d96:8b8f,7ee59ad3788e5c817a57904296a7795f5b59635f7b0b84d168ad55067f2974107d2295016240584c4ed65b835979585485:f9fafcfdfe,86:0001020304060708090a0b0c0d0e0f10121314151718191a1b1c1d1e1f20212223242526282a2b2c2d2e2f3031323334353637393a3b3d3e3f40#4142434445464748494a4b4c525355565758595b5c5d5f6061636465666768696a,736d631e8e:4b0f,80ce82d462ac53f06cf0915e592a60016c70574d644a8d2a762b6ee9575b6a8075f06f6d8c:2d08,57666bef889278b363a253f970ad6c645858642a580268e0819b55107cd650188eba6dcc8d9f70eb638f6d9b6ed47ee68404684390036dd896768ba85957727985e4817e75bc8a8a68af52548e22951163d098988e44557c4f5366ff568f60d56d9552435c4959296dfb586b75:301c,606c82148146631167618fe2773a8d:f334,94c15e165385542c70c386:6d6f7072737475767778838485868788898e8f90919294969798999a9b9e9fa0a1a2a5a6abadaeb2b3b7b8b9bbbcbdbebfc1c2c3c5c8cccdd2d3d5d6d7dadc#dde0e1e2e3e5e6e7e8eaebeceff5f6f7fafbfcfdff,87:010405060b0c0e0f10111416,6c405ef7505c4ead5ead633a8247901a6850916e77b3540c94dc5f647ae5687663457b527edf75db507762955934900f51f879c37a8156fe5f9290146d825c60571f541051546e4d56e263a89893817f8715892a9000541e5c6f81c062:d658,81319e3596409a:6e7c,692d59a562d3553e631654c786d96d3c5a0374e6889c6b6a59168c4c5f2f6e7e73a9987d4e3870f75b8c7897633d665a769660cb5b9b5a494e0781556c6a738b4ea167897f515f8065fa671b5fd859845a0187:191b1d1f20242627282a2b2c2d2f303233353638393a3c3d404142434445464a4b4d4f505152545556585a5b5c5d5e5f6162666768696a6b6c6d6f71727375#7778797a7f8081848687898a8c8e8f90919294959698999a9b9c9d9ea0a1a2a3a4,5dcd5fae537197e68fdd684556f4552f60df4e3a6f4d7ef482c7840e59d44f:1f2a,5c3e7eac672a851a5473754f80c355829b4f4f4d6e2d8c135c096170536b761f6e29868a658795fb7eb9543b7a337d0a95ee55e17fc174ee631d87176da17a9d621165a1536763e16c835deb545c94a84e4c6c618bec5c4b65e0829c68a754:3e34,6b:cb66,4e9463425348821e4f:0dae,575e620a96fe6664726952:ffa1,609f8bef661471996790897f785277fd6670563b54389521727a87:a5a6a7a9aaaeb0b1b2b4b6b7b8b9bbbcbebfc1c2c3c4c5c7c8c9cccdcecfd0d4d5d6d7d8d9dadcdddedfe1e2e3e4e6e7e8e9ebecedeff0f1f2f3f4f5f6f7f8#fafbfcfdff,88:0001020405060708090b0c0d0e0f101112141718191a1c1d1e1f2023,7a00606f5e0c6089819d591560dc718470ef6eaa6c5072806a8488ad5e2d4e605ab3559c94e36d177cfb9699620f7ec6778e867e5323971e8f9666875ce14fa072ed4e0b53a6590f54136380952851484ed99c9c7ea454b88d248854823795f26d8e5f265acc663e966973:b02e,53bf817a99857fa15baa96:7750,7ebf76f853a2957699997bb189446e584e617fd479658be660f354cd4eab98795df76a6150cf54118c618427785d9704524a54ee56a395006d885bb56dc6665388:2425262728292a2b2c2d2e2f30313334353637383a3b3d3e3f414243464748494a4b4e4f505152535556585a5b5c5d5e5f6066676a6d6f717374757678797a#7b7c80838687898a8c8e8f90919394959798999a9b9d9e9fa0a1a3a5a6a7a8a9aa,5c0f5b5d6821809655787b11654869544e9b6b47874e978b534f631f643a90aa659c80c18c10519968b0537887f961c86c:c4fb,8c225c5185aa82af950c6b238f9b65b05f:fbc3,4fe18845661f8165732960fa51745211578b5f6290a2884c91925e78674f602759d351:44f6,80f853086c7996c4718a4f:11ee,7f9e673d55c5950879c088967ee3589f620c9700865a5618987b5f908bb884c4915753d965ed5e8f755c60647d6e5a7f7e:eaed,8f6955a75ba360ac65cb738488:acaeafb0b2b3b4b5b6b8b9babbbdbebfc0c3c4c7c8cacbcccdcfd0d1d3d6d7dadbdcdddee0e1e6e7e9eaebecedeeeff2f5f6f7fafbfdff,89:0001030405060708#090b0c0d0e0f1114151617181c1d1e1f20222324262728292c2d2e2f3132333537,9009766377297eda9774859b5b667a7496ea884052cb718f5faa65ec8be25bfb9a6f5de16b896c5b8b:adaf,900a8fc5538b62bc9e:262d,54404e2b82bd7259869c5d1688596daf96c554d14e9a8bb6710954bd960970df6df976d04e25781487125ca95ef68a00989c960e708e6cbf594463a9773c884d6f148273583071d5538c781a96c155015f6671305bb48c1a9a8c6b83592e9e2f79e76768626c4f6f75a17f8a6d0b96336c274ef075d2517b68376f3e908081705996747689:38393a3b3c3d3e3f40424345464748494a4b4c4d4e4f505152535455565758595a5b5c5d6061626364656768696a6b6c6d6e6f707172737475767778797a7c#7d7e808284858788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1,64475c2790657a918c2359da54ac8200836f898180006930564e8036723791ce51b64e5f987563964e1a53f666f3814b591c6db24e0058f9533b63d694f14f:9d0a,886398905937905779fb4eea80f075916c825b9c59e85f5d69058681501a5df24e5977e34ee5827a6291661390915c794ebf5f7981c69038808475ab4ea688d4610f6bc55fc64e4976ca6ea28b:e3ae,8c0a8bd15f027f:fccc,7ece83:356b,56e06bb797f3963459fb541f94f66deb5bc5996e5c395f15969089:a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c3cdd3d4d5d7d8d9dbdddfe0e1e2e4e7e8e9eaecedeef0f1f2f4f5f6f7f8f9fa#fbfcfdfeff,8a:01020304050608090a0b0c0d0e0f101112131415161718191a1b1c1d,537082f16a315a749e705e947f2883b984:2425,836787478fce8d6276c85f719896786c662054df62e54f6381c375c85eb896cd8e0a86f9548f6cf36d8c6c38607f52c775285e7d4f1860a05fe75c24753190ae94c072b96cb96e389149670953:cbf3,4f5191c98bf153c85e7c8fc26de44e8e76c26986865e611a82064f:59de,903e9c7c61096e:1d14,96854e885a3196e84e0e5c7f79b95b878bed7fbd738957df828b90c15401904755bb5cea5fa161086b3272f180b28a:891e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3f4041424344454647494a4b4c4d4e4f505152535455565758595a5b5c5d5e#5f606162636465666768696a6b6c6d6e6f7071727374757677787a7b7c7d7e7f80,6d745bd388d598848c6b9a6d9e336e0a51:a443,57a38881539f63f48f9556ed54585706733f6e907f188fdc82d1613f6028966266f07ea68d:8ac3,94a55cb37ca4670860a6960580184e9190e75300966851418fd08574915d665597f55b55531d78386742683d54c9707e5bb08f7d518d572854b1651266828d:5e43,810f846c906d7cdf51ff85fb67a365e96fa186a48e81566a90207682707671e58d2362e952196cfd8d3c600e589e618e66fe8d60624e55b36e23672d8f678a:81828384858687888b8c8d8e8f9091929495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2#c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3,94e195f87728680569a8548b4e4d70b88bc86458658b5b857a84503a5be877bb6be18a797c986cbe76cf65a98f975d2d5c5586386808536062187ad96e5b7efd6a1f7ae05f706f335f20638c6da867564e085e108d264ed780c07634969c62db662d627e6cbc8d7571677f695146808753ec906e629854f286f08f998005951785178fd96d5973cd659f771f7504782781fb8d1e94884fa6679575b98bca9707632f9547963584b8632377415f8172f04e896014657462ef6b63653f8a:e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,8b:0001020304050608090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20212223#24252728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445,5e2775c790d18bc1829d679d652f5431871877e580a281026c414e4b7ec7804c76f4690d6b966267503c4f84574063076b628dbe53ea65e87eb85fd763:1ab7,81:f3f4,7f6e5e1c5cd95236667a79e97a1a8d28709975d46ede6cbb7a924e2d76c55fe0949f88777ec879cd80bf91cd4ef24f17821f54685dde6d328bcc7ca58f7480985e1a549276b15b99663c9aa473e0682a86db6731732a8b:f8db,90107af970db716e62c477a956314e3b845767f152a986c08d2e94f87b518b:464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f6061626364656768696a6b6d6e6f707172737475767778797a7b7c7d7e7f80818283848586#8788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9facb1bbc7d0ea,8c:091e,4f4f6ce8795d9a7b6293722a62fd4e1378168f6c64b08d5a7bc668695e8488c55986649e58ee72b6690e95258ffd8d5857607f008c0651c6634962d95353684c74228301914c55447740707c6d4a517954a88d4459ff6ecb6dc45b5c7d2b4ed47c7d6ed35b5081ea6e0d5b579b0368d58e2a5b977efc603b7eb590b98d70594f63cd79df8db3535265cf79568bc5963b7ec494bb7e825634918967007f6a5c0a907566285de64f5067de505a4f5c57505e:a7#3$,8c:38393a3b3c3d3e3f4042434445484a4b4d4e4f5051525354565758595b5c5d5e5f60636465666768696c6d6e6f707172747576777b7c7d7e7f808183848687#888b8d8e8f90919293959697999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacad,4e:8d0c,51404e105eff53454e:15981e,9b325b6c56694e2879ba4e3f53154e47592d723b536e6c1056df80e499976bd3777e9f174e:369f,9f104e:5c6993,82885b5b556c560f4ec453:8d9da3a5ae,97658d5d53:1af5262e3e,8d5c53:6663,52:02080e2d333f404c5e615c,84af52:7d82819093,51827f544e:bbc3c9c2e8e1ebde,4f1b4ef34f:2264,4ef54f:2527092b5e67,65384f:5a5d,8c:aeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebec#edeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,8d:000102030405060708090a0b0c0d,4f:5f57323d76749189838f7e7baa7cac94e6e8eac5dae3dcd1dff8,50:294c,4ff350:2c0f2e2d,4ffe50:1c0c25287e4355484e6c7ba5a7a9bad6,510650:edece6ee,51:070b,4edd6c3d4f:5865ce,9fa06c467c74516e5dfd9ec999985181591452f9530d8a07531051eb591951554ea051564eb388:6ea4,4eb5811488d279805b3488037fb851:abb1bdbc,8d:0e0f101112131415161718191a1b1c205152575f6568696a6c6e6f717278797a7b7c7d7e7f808283868788898c8d8e8f90929395969798999a9b9c9d9ea0a1#a2a4a5a6a7a8a9aaabacadaeafb0b2b6b7b9bbbdc0c1c2c5c7c8c9cacdd0d2d3d4,51:c796a2a5,8b:a0a6a7aab4b5b7c2c3cbcfced2d3d4d6d8d9dcdfe0e4e8e9eef0f3f6f9fcff,8c:000204070c0f1112141516191b181d1f202125272a2b2e2f32333536,53:697a,96:1d2221312a3d3c4249545f676c7274888d97b0,90:979b9d99aca1b4b3b6ba,8d:d5d8d9dce0e1e2e5e6e7e9edeef0f1f2f4f6fcfeff,8e:00010203040607080b0d0e1011121315161718191a1b1c202124252627282b2d303233343637383b3c3e#3f4345464c4d4e4f505354555657585a5b5c5d5e5f60616263646567686a6b6e71,90:b8b0cfc5bed0c4c7d3e6e2dcd7dbebeffe,91:04221e23312f394346,520d594252:a2acadbe,54ff52:d0d6f0,53df71ee77cd5ef451:f5fc,9b2f53b65f01755a5def57:4ca9a1,58:7ebcc5d1,57:292c2a33392e2f5c3b4269856b867c7b686d7673ada48cb2cfa7b493a0d5d8dad9d2b8f4eff8e4dd,8e:73757778797a7b7d7e808283848688898a8b8c8d8e91929395969798999a9b9d9fa0a1a2a3a4a5a6a7a8a9aaadaeb0b1b3b4b5b6b7b8b9bbbcbdbebfc0c1c2#c3c4c5c6c7c8c9cacbcccdcfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4,58:0b0d,57:fded,58:001e194420656c81899a80,99a89f1961ff82:797d7f8f8aa8848e919799abb8beb0c8cae398b7aecbccc1a9b4a1aa9fc4cea4e1,830982:f7e4,83:0f07,82:dcf4d2d8,830c82:fbd3,83:111a061415,82:e0d5,83:1c515b5c08923c34319b5e2f4f47435f4017602d3a336665,8e:e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,8f:000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20212223#2425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f4041424344,83:681b696c6a6d6eb078b3b4a0aa939c857cb6a97db87b989ea8babcc1,840183:e5d8,580784:180b,83:ddfdd6,84:1c381106,83:d4df,84:0f03,83:f8f9eac5c0,842683:f0e1,84:5c515a597387887a89783c4669768c8e316dc1cdd0e6bdd3cabfbae0a1b9b497e5e3,850c750d853884f085:391f3a,8f:45464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f6061626364656a808c929da0a1a2a4a5a6a7aaacadaeafb2b3b4b5b7b8babbbcbfc0c3c6#c9cacbcccdcfd2d6d7dae0e1e3e7eceff1f2f4f5f6fafbfcfeff,90:07080c0e131518,85:563b,84:fffc,85:594868645e7a,77a285:43727ba4a8878f79ae9c85b9b7b0d3c1dcff,86:270529163c,5efe5f0859:3c41,803759:555a58,530f5c:22252c34,62:4c6a9fbbcadad7ee,632262f663:394b43adf6717a8eb46dac8a69aebcf2f8e0ffc4dece,645263:c6be,64:45410b1b200c26215e846d96,90:191c2324252728292a2b2c303132333437393a3d3f4043454648494a4b4c4e545556595a5c5d5e5f6061646667696a6b6c6f70717273767778797a7b7c7e81#84858687898a8c8d8e8f90929496989a9c9e9fa0a4a5a7a8a9abadb2b7bcbdbfc0,64:7ab7b899bac0d0d7e4e2,65:09252e,5f:0bd2,75195f1153:5ff1fde9e8fb,54:1216064b5253545643215759233282947771649a9b8476669dd0adc2b4d2a7a6d3d472a3d5bbbfccd9dadca9aaa4ddcfde,551b54e7552054fd551454f355:22230f11272a678fb5496d41553f503c,90:c2c3c6c8c9cbcccdd2d4d5d6d8d9dadedfe0e3e4e5e9eaeceef0f1f2f3f5f6f7f9fafbfcff,91:00010305060708090a0b0c0d0e0f1011121314151617181a1b1c#1d1f20212425262728292a2b2c2d2e30323334353637383a3b3c3d3e3f40414244,55:375675767733305c8bd283b1b988819f7ed6917bdfbdbe9499eaf7c9,561f55:d1ebecd4e6ddc4efe5f2f3cccde8f5e4,8f9456:1e080c012423,55fe56:00272d5839572c4d62595c4c548664716b7b7c8593afd4d7dde1f5ebf9ff,57:040a091c,5e:0f191411313b3c,91:454748515354555658595b5c5f606667686b6d737a7b7c808182838486888a8e8f939495969798999c9d9e9fa0a1a4a5a6a7a8a9abacb0b1b2b3b6b7b8b9bb#bcbdbebfc0c1c2c3c4c5c6c8cbd0d2d3d4d5d6d7d8d9dadbdddedfe0e1e2e3e4e5,5e:3744545b5e61,5c:8c7a8d9096889899919a9cb5a2bdacabb1a3c1b7c4d2e4cbe5,5d:020327262e241e061b583e343d6c5b6f5d6b4b4a697482999d,8c735d:b7c5,5f:73778287898c95999ca8adb5bc,88625f6172:adb0b4b7b8c3c1cecdd2e8efe9f2f4f7,730172f3730372fa91:e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,92:000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f2021222324#25262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445,72fb73:1713210a1e1d152239252c3831504d57606c6f7e,821b592598e759:2402,99:636768696a6b6c74777d8084878a8d9091939495,5e:80918b96a5a0b9b5beb3,8d535e:d2d1dbe8ea,81ba5f:c4c9d6cf,60035fee60045f:e1e4fe,60:0506,5f:eaedf8,60:1935261b0f0d292b0a3f2178797b7a42,92:464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f7071727375767778797a7b7c7d7e7f808182838485#868788898a8b8c8d8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7,60:6a7d969aad9d83928c9becbbb1ddd8c6dab4,61:20261523,60f461:000e2b4a75ac94a7b7d4f5,5fdd96b395:e9ebf1f3f5f6fcfe,96:030406080a0b0c0d0f12151617191a,4e2c723f62156c:35545c4aa38590948c6869747686a9d0d4adf7f8f1d7b2e0d6faebeeb1d3effe,92:a8a9aaabacadafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8#e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,93:00010203040506070809,6d:39270c43480704190e2b4d2e351a4f525433916f9ea05e93945c607c63,6e1a6d:c7c5de,6e0e6d:bfe0,6e116d:e6ddd9,6e166dab6e0c6dae6e:2b6e4e6bb25f865354322544dfb198e0,6f2d6e:e2a5a7bdbbb7d7b4cf8fc29f,6f:6246472415,6ef96f:2f364b742a0929898d8c78727c7ad1,93:0a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3f40414243444546474849#4a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696b,6f:c9a7b9b6c2e1eedee0ef,70:1a231b39354f5e,5b:80849593a5b8,752f9a9e64345b:e4ee,89305bf08e478b078f:b6d3d5e5eee4e9e6f3e8,90:05040b26110d162135362d2f445152506858625b,66b990:747d8288838b,5f:50575658,5c3b54ab5c:5059,5b715c:6366,7fbc5f:2a292d,82745f3c9b3b5c6e59:81838da9aaa3,93:6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaab#acadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cbcccd,59:97caab9ea4d2b2afd7be,5a:0506,59dd5a0859:e3d8f9,5a:0c09323411231340674a553c6275,80ec5a:aa9b777abeebb2d2d4b8e0e3f1d6e6d8dc,5b:091716323740,5c:151c,5b:5a6573515362,9a:7577787a7f7d808185888a90929396989b9c9d9fa0a2a3a5a7,7e:9fa1a3a5a8a9,93:cecfd0d1d2d3d4d5d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,94:000102030405060708090a0b0c0d#0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e,7e:adb0bec0c1c2c9cbccd0d4d7dbe0e1e8ebeeeff1f2,7f0d7e:f6fafbfe,7f:01020307080b0c0f111217191c1b1f212223242526272a2b2c2d2f3031323335,5e7a757f5ddb753e909573:8e91aea29fcfc2d1b7b3c0c9c8e5d9,987c740a73:e9e7debaf2,74:0f2a5b262528302e2c,94:2f303132333435363738393a3b3c3d3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6c6d6e6f#707172737475767778797a7b7c7d7e7f8081828384919698c7cfd3d4dae6fb,95:1c20,74:1b1a415c575559776d7e9c8e8081878b9ea8a990a7d2ba,97:eaebec,67:4c535e4869a5876a7398a775a89ead8b777cf0,680967d8680a67:e9b0,680c67:d9b5dab3dd,680067:c3b8e2,680e67:c1fd,68:323360614e624464831d55664167403e4a4929b58f7477936bc2,696e68fc69:1f20,68f995:27333d43484b555a606e74757778797a7b7c7d7e808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aa#abacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacb,692468f069:0b0157,68e369:10713960425d846b80987834cc8788ce896663799ba7bbabadd4b1c1cadf95e08dff,6a2f69ed6a:171865,69f26a:443ea0505b358e793d28587c9190a997ab,73:3752,6b:8182878492938d9a9ba1aa,8f:6b6d71727375767877797a7c7e818284878b,95:cccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7ecff,96:0713181b1e20232425262728292b2c2d2f303738393a3e41434a4e4f5152535657#58595a5c5d5e606365666b6d6e6f70717378797a7b7c7d7e7f808182838487898a,8f:8d8e8f989a,8ece62:0b171b1f222125242c,81e774:eff4ff,75:0f1113,65:34eeeff0,66:0a19,677266:031500,708566:f71d34313635,800666:5f54414f56615777848ca79dbedbdce6e9,8d:3233363b3d4045464849474d5559,89:c7cacbcccecfd0d1,72:6e9f5d666f7e7f848b8d8f92,63:0832b0,96:8c8e91929395969a9b9d9e9fa0a1a2a3a4a5a6a8a9aaabacadaeafb1b2b4b5b7b8babbbfc2c3c8cacbd0d1d3d4d6d7d8d9dadbdcdddedfe1e2e3e4e5e6e7eb#ecedeef0f1f2f4f5f8fafbfcfdff,97:0203050a0b0c10111214151718191a1b1d1f20,64:3fd8,80046b:eaf3fdf5f9,6c:0507060d1518191a2129242a32,65:35556b,72:4d525630,8662521680:9f9c93bc,670a80:bdb1abadb4b7e7e8e9eadbc2c4d9cdd7,671080:ddebf1f4ed,81:0d0e,80:f2fc,671581128c5a81:361e2c1832484c5374595a7160697c7d6d67,584d5ab581:888291,6ed581:a3aacc,672681:cabb,97:2122232425262728292b2c2e2f3133343536373a3b3c3d3f404142434445464748494a4b4c4d4e4f5051545557585a5c5d5f63646667686a6b6c6d6e6f7071#72757778797a7b7d7e7f8081828384868788898a8c8e8f9093959697999a9b9c9d,81:c1a6,6b:243739434659,98:d1d2d3d5d9da,6bb35f406bc289f365909f5165:93bcc6c4c3ccced2d6,70:809c969dbbc0b7abb1e8ca,71:1013162f31735c6845724a787a98b3b5a8a0e0d4e7f9,72:1d28,706c71:1866b9,62:3e3d434849,79:3b4046495b5c535a6257606f677a858a9aa7b3,5f:d1d0,97:9e9fa1a2a4a5a6a7a8a9aaacaeb0b1b3b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3#e4e5e8eeeff0f1f2f4f7f8f9fafbfcfdfeff,98:000102030405060708090a0b0c0d0e,60:3c5d5a67415963ab,61:060d5da99dcbd1,620680:807f,6c:93f6,6dfc77:f6f8,78:0009171811,65ab78:2d1c1d393a3b1f3c252c23294e6d56572650474c6a9b939a879ca1a3b2b9a5d4d9c9ecf2,790578f479:13241e34,9f9b9e:f9fbfc,76f177:040d,76f977:07081a22192d263538505147435a68,98:0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d#4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e,77:62657f8d7d808c919fa0b0b5bd,75:3a404e4b485b727983,7f:58615f,8a487f:68747179817e,76:cde5,883294:8586878b8a8c8d8f909497959a9b9ca3a4abaaadacafb0b2b4b6b7b8b9babcbdbfc4c8c9cacbcccdced0d1d2d5d6d7d9d8dbdedfe0e2e4e5e7e8ea,98:6f70717273748b8e929599a3a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcfd0d4d6d7dbdcdde0e1e2e3e4#e5e6e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,99:0001020304050607,94:e9ebeeeff3f4f5f7f9fcfdff,95:03020607090a0d0e0f1213141516181b1d1e1f222a2b292c3132343637383c3e3f4235444546494c4e4f525354565758595b5e5f5d61626465666768696a6b6c6f7172733a,77:e7ec,96c979:d5ede3eb,7a065d477a:03021e14,99:08090a0b0c0e0f1112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2f303132333435363738393a3b3c3d3e3f40414243444546474849#4a4b4c4d4e4f50515253565758595a5b5c5d5e5f60616264667378797b7e828389,7a:393751,9ecf99a57a7076:888e9399a4,74:dee0,752c9e:202228292a2b2c3231363837393a3e414244464748494b4c4e5155575a5b5c5e63666768696a6b6c716d73,75:929496a09daca3b3b4b8c4b1b0c3c2d6cde3e8e6e4ebe7,760375:f1fcff,76:1000050c170a25181519,99:8c8e9a9b9c9d9e9fa0a1a2a3a4a6a7a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8#d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9,76:1b3c2220402d303f35433e334d5e545c566b6f,7fca7a:e6787980868895a6a0aca8adb3,88:6469727d7f82a2c6b7bcc9e2cee3e5f1,891a88:fce8fef0,89:2119131b0a342b3641667b,758b80e576:b2b4,77dc80:1214161c20222526272928310b3543464d526971,898398:788083,99:fafbfcfdfeff,9a:000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738#393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f50515253545556575859,98:898c8d8f949a9b9e9fa1a2a5a6,86:4d546c6e7f7a7c7ba88d8bac9da7a3aa93a9b6c4b5ceb0bab1afc9cfb4e9f1f2edf3d0,871386:def4dfd8d1,87:0307,86f887:080a0d09233b1e252e1a3e48343129373f82227d7e7b60704c6e8b53637c64596593afa8d2,9a:5a5b5c5d5e5f606162636465666768696a6b7283898d8e949599a6a9aaabacadaeafb2b3b4b5b9bbbdbebfc3c4c6c7c8c9cacdcecfd0d2d4d5d6d7d9dadbdc#dddee0e2e3e4e5e7e8e9eaeceef0f1f2f3f4f5f6f7f8fafcfdfeff,9b:000102040506,87:c68885ad9783abe5acb5b3cbd3bdd1c0cadbeae0ee,88:1613,87fe88:0a1b21393c,7f:36424445,82107a:fafd,7b:080304150a2b0f47382a192e31202524333e1e585a45754c5d606e7b62727190a6a7b8ac9da885aa9ca2abb4d1c1ccdddae5e6ea,7c0c7b:fefc,7c:0f160b,9b:07090a0b0c0d0e1011121415161718191a1b1c1d1e2021222425262728292a2b2c2d2e3031333435363738393a3d3e3f40464a4b4c4e50525355565758595a#5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b,7c:1f2a26384140,81fe82:010204,81ec884482:2122232d2f282b383b33343e44494b4f5a5f68,88:7e8588d8df,895e7f:9d9fa7afb0b2,7c7c65497c:919d9c9ea2b2bcbdc1c7cccdc8c5d7e8,826e66a87f:bfced5e5e1e6e9eef3,7cf87d:77a6ae,7e:479b,9e:b8b4,8d:73849491b1676d,8c:4749,91:4a504e4f64,9b:7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9ba#bbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadb,91:626170696f7d7e7274798c85908d91a2a3aaadaeafb5b4ba,8c559e7e8d:b8eb,8e:055969,8d:b5bfbcbac4d6d7dadececfdbc6ecf7f8e3f9fbe4,8e098dfd8e:141d1f2c2e232f3a4039353d3149414251524a70767c6f74858f94909c9e,8c:78828a859894,659b89:d6dedadc,9b:dcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,9c:000102030405060708090a0b0c0d0e0f101112131415161718191a#1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b,89:e5ebef,8a3e8b26975396:e9f3ef,97:0601080f0e2a2d303e,9f:808385868788898a8c,9efe9f:0b0d,96:b9bcbdced2,77bf96e092:8eaec8,93:3e6aca8f,94:3e6b,9c:7f8285868788,7a239c:8b8e90919294959a9b9e9fa0a1a2a3a5a6a7a8a9abadaeb0b1b2b3b4b5b6b7babbbcbdc4c5c6c7cacb3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a#7b7d7e808384898a8c8f93969798999daaacafb9bebfc0c1c2c8c9d1d2dadbe0e1cccdcecfd0d3d4d5d7d8d9dcdddfe2,97:7c85919294afaba3b2b4,9a:b1b0b7,9e589a:b6babcc1c0c5c2cbccd1,9b:45434749484d51,98e899:0d2e5554,9a:dfe1e6efebfbedf9,9b:080f131f23,9e:bdbe,7e3b9e:8287888b92,93d69e:9d9fdbdcdde0dfe2e9e7e5eaef,9f:222c2f39373d3e44,9c:e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,9d:000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f2021#22232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142#92$434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f8081#82838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2#92$a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1#e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,9e:000102#92$030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e24272e30343b3c404d5052535456595d5f606162656e6f727475767778797a7b7c7d80#8183848586898a8c8d8e8f90919495969798999a9b9c9ea0a1a2a3a4a5a7a8a9aa#92$abacadaeafb0b1b2b3b5b6b7b9babcbfc0c1c2c3c5c6c7c8cacbccd0d2d3d5d6d7d9dadee1e3e4e6e8ebecedeef0f1f2f3f4f5f6f7f8fafdff,9f:000102030405#060708090a0c0f1112141516181a1b1c1d1e1f21232425262728292a2b2d2e3031#92$3233343536383a3c3f4041424345464748494a4b4c4d4e4f52535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778#797a7b7c7d7e81828d8e8f9091929394959697989c9d9ea1a2a3a4a5,f9:2c7995e7f1#92$,fa:0c0d0e0f111314181f20212324272829,e8:15161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f40414243#4445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f6061626364'), + U2Ghash={}, + G2Uhash={}; + !function(data){ + var k=0; + data=data.match(/..../g); + for(var i=0x81;i<=0xfe;i++){ + for(var j=0x40;j<=0xFE;j++){ + U2Ghash[data[k++]]=('%'+i.toString(16)+'%'+j.toString(16)) + .toUpperCase(); + } + } + for(var key in U2Ghash){ + G2Uhash[U2Ghash[key]]=key; + } + }(data); + function isAscii(unicode) { + return ((unicode == 0x20AC) || (unicode <= 0x007F && unicode >= 0x0000)); + } + return{ + encode:function(str){ + return str.replace(/./g,function(a){ + var code=a.charCodeAt(0); + if(isAscii(code)){ + return encodeURIComponent(a); + }else{ + var key=code.toString(16); + if(key.length!=4)key=('000'+key).match(/....$/)[0]; + return U2Ghash[key]||a; + } + }); + }, + decode:function(str){ + return str.replace(/%[0-9A-F]{2}%[0-9A-F]{2}/g,function(a){ + if(a in G2Uhash){ + return String.fromCharCode('0x'+G2Uhash[a]); + }else{ + return a; + } + }).replace(/%[\w]{2}/g,function(a){ + return decodeURIComponent(a); + + }); + } + }; +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/小虎斑/api/jinja.js b/tvboxqq/tvboxqq/小虎斑/api/jinja.js new file mode 100644 index 0000000..cc02357 --- /dev/null +++ b/tvboxqq/tvboxqq/小虎斑/api/jinja.js @@ -0,0 +1,577 @@ +/*! + * Jinja Templating for JavaScript v0.1.8 + * https://github.com/sstur/jinja-js + * + * This is a slimmed-down Jinja2 implementation [http://jinja.pocoo.org/] + * + * In the interest of simplicity, it deviates from Jinja2 as follows: + * - Line statements, cycle, super, macro tags and block nesting are not implemented + * - auto escapes html by default (the filter is "html" not "e") + * - Only "html" and "safe" filters are built in + * - Filters are not valid in expressions; `foo|length > 1` is not valid + * - Expression Tests (`if num is odd`) not implemented (`is` translates to `==` and `isnot` to `!=`) + * + * Notes: + * - if property is not found, but method '_get' exists, it will be called with the property name (and cached) + * - `{% for n in obj %}` iterates the object's keys; get the value with `{% for n in obj %}{{ obj[n] }}{% endfor %}` + * - subscript notation `a[0]` takes literals or simple variables but not `a[item.key]` + * - `.2` is not a valid number literal; use `0.2` + * + */ +/*global require, exports, module, define */ + +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : + typeof define === 'function' && define.amd ? define(['exports'], factory) : + (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.jinja = {})); +})(this, (function (jinja) { + "use strict"; + var STRINGS = /'(\\.|[^'])*'|"(\\.|[^"'"])*"/g; + var IDENTS_AND_NUMS = /([$_a-z][$\w]*)|([+-]?\d+(\.\d+)?)/g; + var NUMBER = /^[+-]?\d+(\.\d+)?$/; + //non-primitive literals (array and object literals) + var NON_PRIMITIVES = /\[[@#~](,[@#~])*\]|\[\]|\{([@i]:[@#~])(,[@i]:[@#~])*\}|\{\}/g; + //bare identifiers such as variables and in object literals: {foo: 'value'} + var IDENTIFIERS = /[$_a-z][$\w]*/ig; + var VARIABLES = /i(\.i|\[[@#i]\])*/g; + var ACCESSOR = /(\.i|\[[@#i]\])/g; + var OPERATORS = /(===?|!==?|>=?|<=?|&&|\|\||[+\-\*\/%])/g; + //extended (english) operators + var EOPS = /(^|[^$\w])(and|or|not|is|isnot)([^$\w]|$)/g; + var LEADING_SPACE = /^\s+/; + var TRAILING_SPACE = /\s+$/; + + var START_TOKEN = /\{\{\{|\{\{|\{%|\{#/; + var TAGS = { + '{{{': /^('(\\.|[^'])*'|"(\\.|[^"'"])*"|.)+?\}\}\}/, + '{{': /^('(\\.|[^'])*'|"(\\.|[^"'"])*"|.)+?\}\}/, + '{%': /^('(\\.|[^'])*'|"(\\.|[^"'"])*"|.)+?%\}/, + '{#': /^('(\\.|[^'])*'|"(\\.|[^"'"])*"|.)+?#\}/ + }; + + var delimeters = { + '{%': 'directive', + '{{': 'output', + '{#': 'comment' + }; + + var operators = { + and: '&&', + or: '||', + not: '!', + is: '==', + isnot: '!=' + }; + + var constants = { + 'true': true, + 'false': false, + 'null': null + }; + + function Parser() { + this.nest = []; + this.compiled = []; + this.childBlocks = 0; + this.parentBlocks = 0; + this.isSilent = false; + } + + Parser.prototype.push = function (line) { + if (!this.isSilent) { + this.compiled.push(line); + } + }; + + Parser.prototype.parse = function (src) { + this.tokenize(src); + return this.compiled; + }; + + Parser.prototype.tokenize = function (src) { + var lastEnd = 0, parser = this, trimLeading = false; + matchAll(src, START_TOKEN, function (open, index, src) { + //here we match the rest of the src against a regex for this tag + var match = src.slice(index + open.length).match(TAGS[open]); + match = (match ? match[0] : ''); + //here we sub out strings so we don't get false matches + var simplified = match.replace(STRINGS, '@'); + //if we don't have a close tag or there is a nested open tag + if (!match || ~simplified.indexOf(open)) { + return index + 1; + } + var inner = match.slice(0, 0 - open.length); + //check for white-space collapse syntax + if (inner.charAt(0) === '-') var wsCollapseLeft = true; + if (inner.slice(-1) === '-') var wsCollapseRight = true; + inner = inner.replace(/^-|-$/g, '').trim(); + //if we're in raw mode and we are not looking at an "endraw" tag, move along + if (parser.rawMode && (open + inner) !== '{%endraw') { + return index + 1; + } + var text = src.slice(lastEnd, index); + lastEnd = index + open.length + match.length; + if (trimLeading) text = trimLeft(text); + if (wsCollapseLeft) text = trimRight(text); + if (wsCollapseRight) trimLeading = true; + if (open === '{{{') { + //liquid-style: make {{{x}}} => {{x|safe}} + open = '{{'; + inner += '|safe'; + } + parser.textHandler(text); + parser.tokenHandler(open, inner); + }); + var text = src.slice(lastEnd); + if (trimLeading) text = trimLeft(text); + this.textHandler(text); + }; + + Parser.prototype.textHandler = function (text) { + this.push('write(' + JSON.stringify(text) + ');'); + }; + + Parser.prototype.tokenHandler = function (open, inner) { + var type = delimeters[open]; + if (type === 'directive') { + this.compileTag(inner); + } else if (type === 'output') { + var extracted = this.extractEnt(inner, STRINGS, '@'); + //replace || operators with ~ + extracted.src = extracted.src.replace(/\|\|/g, '~').split('|'); + //put back || operators + extracted.src = extracted.src.map(function (part) { + return part.split('~').join('||'); + }); + var parts = this.injectEnt(extracted, '@'); + if (parts.length > 1) { + var filters = parts.slice(1).map(this.parseFilter.bind(this)); + this.push('filter(' + this.parseExpr(parts[0]) + ',' + filters.join(',') + ');'); + } else { + this.push('filter(' + this.parseExpr(parts[0]) + ');'); + } + } + }; + + Parser.prototype.compileTag = function (str) { + var directive = str.split(' ')[0]; + var handler = tagHandlers[directive]; + if (!handler) { + throw new Error('Invalid tag: ' + str); + } + handler.call(this, str.slice(directive.length).trim()); + }; + + Parser.prototype.parseFilter = function (src) { + src = src.trim(); + var match = src.match(/[:(]/); + var i = match ? match.index : -1; + if (i < 0) return JSON.stringify([src]); + var name = src.slice(0, i); + var args = src.charAt(i) === ':' ? src.slice(i + 1) : src.slice(i + 1, -1); + args = this.parseExpr(args, {terms: true}); + return '[' + JSON.stringify(name) + ',' + args + ']'; + }; + + Parser.prototype.extractEnt = function (src, regex, placeholder) { + var subs = [], isFunc = typeof placeholder == 'function'; + src = src.replace(regex, function (str) { + var replacement = isFunc ? placeholder(str) : placeholder; + if (replacement) { + subs.push(str); + return replacement; + } + return str; + }); + return {src: src, subs: subs}; + }; + + Parser.prototype.injectEnt = function (extracted, placeholder) { + var src = extracted.src, subs = extracted.subs, isArr = Array.isArray(src); + var arr = (isArr) ? src : [src]; + var re = new RegExp('[' + placeholder + ']', 'g'), i = 0; + arr.forEach(function (src, index) { + arr[index] = src.replace(re, function () { + return subs[i++]; + }); + }); + return isArr ? arr : arr[0]; + }; + + //replace complex literals without mistaking subscript notation with array literals + Parser.prototype.replaceComplex = function (s) { + var parsed = this.extractEnt(s, /i(\.i|\[[@#i]\])+/g, 'v'); + parsed.src = parsed.src.replace(NON_PRIMITIVES, '~'); + return this.injectEnt(parsed, 'v'); + }; + + //parse expression containing literals (including objects/arrays) and variables (including dot and subscript notation) + //valid expressions: `a + 1 > b.c or c == null`, `a and b[1] != c`, `(a < b) or (c < d and e)`, 'a || [1]` + Parser.prototype.parseExpr = function (src, opts) { + opts = opts || {}; + //extract string literals -> @ + var parsed1 = this.extractEnt(src, STRINGS, '@'); + //note: this will catch {not: 1} and a.is; could we replace temporarily and then check adjacent chars? + parsed1.src = parsed1.src.replace(EOPS, function (s, before, op, after) { + return (op in operators) ? before + operators[op] + after : s; + }); + //sub out non-string literals (numbers/true/false/null) -> # + // the distinction is necessary because @ can be object identifiers, # cannot + var parsed2 = this.extractEnt(parsed1.src, IDENTS_AND_NUMS, function (s) { + return (s in constants || NUMBER.test(s)) ? '#' : null; + }); + //sub out object/variable identifiers -> i + var parsed3 = this.extractEnt(parsed2.src, IDENTIFIERS, 'i'); + //remove white-space + parsed3.src = parsed3.src.replace(/\s+/g, ''); + + //the rest of this is simply to boil the expression down and check validity + var simplified = parsed3.src; + //sub out complex literals (objects/arrays) -> ~ + // the distinction is necessary because @ and # can be subscripts but ~ cannot + while (simplified !== (simplified = this.replaceComplex(simplified))) ; + //now @ represents strings, # represents other primitives and ~ represents non-primitives + //replace complex variables (those with dot/subscript accessors) -> v + while (simplified !== (simplified = simplified.replace(/i(\.i|\[[@#i]\])+/, 'v'))) ; + //empty subscript or complex variables in subscript, are not permitted + simplified = simplified.replace(/[iv]\[v?\]/g, 'x'); + //sub in "i" for @ and # and ~ and v (now "i" represents all literals, variables and identifiers) + simplified = simplified.replace(/[@#~v]/g, 'i'); + //sub out operators + simplified = simplified.replace(OPERATORS, '%'); + //allow 'not' unary operator + simplified = simplified.replace(/!+[i]/g, 'i'); + var terms = opts.terms ? simplified.split(',') : [simplified]; + terms.forEach(function (term) { + //simplify logical grouping + while (term !== (term = term.replace(/\(i(%i)*\)/g, 'i'))) ; + if (!term.match(/^i(%i)*/)) { + throw new Error('Invalid expression: ' + src + " " + term); + } + }); + parsed3.src = parsed3.src.replace(VARIABLES, this.parseVar.bind(this)); + parsed2.src = this.injectEnt(parsed3, 'i'); + parsed1.src = this.injectEnt(parsed2, '#'); + return this.injectEnt(parsed1, '@'); + }; + + Parser.prototype.parseVar = function (src) { + var args = Array.prototype.slice.call(arguments); + var str = args.pop(), index = args.pop(); + //quote bare object identifiers (might be a reserved word like {while: 1}) + if (src === 'i' && str.charAt(index + 1) === ':') { + return '"i"'; + } + var parts = ['"i"']; + src.replace(ACCESSOR, function (part) { + if (part === '.i') { + parts.push('"i"'); + } else if (part === '[i]') { + parts.push('get("i")'); + } else { + parts.push(part.slice(1, -1)); + } + }); + return 'get(' + parts.join(',') + ')'; + }; + + //escapes a name to be used as a javascript identifier + Parser.prototype.escName = function (str) { + return str.replace(/\W/g, function (s) { + return '$' + s.charCodeAt(0).toString(16); + }); + }; + + Parser.prototype.parseQuoted = function (str) { + if (str.charAt(0) === "'") { + str = str.slice(1, -1).replace(/\\.|"/, function (s) { + if (s === "\\'") return "'"; + return s.charAt(0) === '\\' ? s : ('\\' + s); + }); + str = '"' + str + '"'; + } + //todo: try/catch or deal with invalid characters (linebreaks, control characters) + return JSON.parse(str); + }; + + + //the context 'this' inside tagHandlers is the parser instance + var tagHandlers = { + 'if': function (expr) { + this.push('if (' + this.parseExpr(expr) + ') {'); + this.nest.unshift('if'); + }, + 'else': function () { + if (this.nest[0] === 'for') { + this.push('}, function() {'); + } else { + this.push('} else {'); + } + }, + 'elseif': function (expr) { + this.push('} else if (' + this.parseExpr(expr) + ') {'); + }, + 'endif': function () { + this.nest.shift(); + this.push('}'); + }, + 'for': function (str) { + var i = str.indexOf(' in '); + var name = str.slice(0, i).trim(); + var expr = str.slice(i + 4).trim(); + this.push('each(' + this.parseExpr(expr) + ',' + JSON.stringify(name) + ',function() {'); + this.nest.unshift('for'); + }, + 'endfor': function () { + this.nest.shift(); + this.push('});'); + }, + 'raw': function () { + this.rawMode = true; + }, + 'endraw': function () { + this.rawMode = false; + }, + 'set': function (stmt) { + var i = stmt.indexOf('='); + var name = stmt.slice(0, i).trim(); + var expr = stmt.slice(i + 1).trim(); + this.push('set(' + JSON.stringify(name) + ',' + this.parseExpr(expr) + ');'); + }, + 'block': function (name) { + if (this.isParent) { + ++this.parentBlocks; + var blockName = 'block_' + (this.escName(name) || this.parentBlocks); + this.push('block(typeof ' + blockName + ' == "function" ? ' + blockName + ' : function() {'); + } else if (this.hasParent) { + this.isSilent = false; + ++this.childBlocks; + blockName = 'block_' + (this.escName(name) || this.childBlocks); + this.push('function ' + blockName + '() {'); + } + this.nest.unshift('block'); + }, + 'endblock': function () { + this.nest.shift(); + if (this.isParent) { + this.push('});'); + } else if (this.hasParent) { + this.push('}'); + this.isSilent = true; + } + }, + 'extends': function (name) { + name = this.parseQuoted(name); + var parentSrc = this.readTemplateFile(name); + this.isParent = true; + this.tokenize(parentSrc); + this.isParent = false; + this.hasParent = true; + //silence output until we enter a child block + this.isSilent = true; + }, + 'include': function (name) { + name = this.parseQuoted(name); + var incSrc = this.readTemplateFile(name); + this.isInclude = true; + this.tokenize(incSrc); + this.isInclude = false; + } + }; + + //liquid style + tagHandlers.assign = tagHandlers.set; + //python/django style + tagHandlers.elif = tagHandlers.elseif; + + var getRuntime = function runtime(data, opts) { + var defaults = {autoEscape: 'toJson'}; + var _toString = Object.prototype.toString; + var _hasOwnProperty = Object.prototype.hasOwnProperty; + var getKeys = Object.keys || function (obj) { + var keys = []; + for (var n in obj) if (_hasOwnProperty.call(obj, n)) keys.push(n); + return keys; + }; + var isArray = Array.isArray || function (obj) { + return _toString.call(obj) === '[object Array]'; + }; + var create = Object.create || function (obj) { + function F() { + } + + F.prototype = obj; + return new F(); + }; + var toString = function (val) { + if (val == null) return ''; + return (typeof val.toString == 'function') ? val.toString() : _toString.call(val); + }; + var extend = function (dest, src) { + var keys = getKeys(src); + for (var i = 0, len = keys.length; i < len; i++) { + var key = keys[i]; + dest[key] = src[key]; + } + return dest; + }; + //get a value, lexically, starting in current context; a.b -> get("a","b") + var get = function () { + var val, n = arguments[0], c = stack.length; + while (c--) { + val = stack[c][n]; + if (typeof val != 'undefined') break; + } + for (var i = 1, len = arguments.length; i < len; i++) { + if (val == null) continue; + n = arguments[i]; + val = (_hasOwnProperty.call(val, n)) ? val[n] : (typeof val._get == 'function' ? (val[n] = val._get(n)) : null); + } + return (val == null) ? '' : val; + }; + var set = function (n, val) { + stack[stack.length - 1][n] = val; + }; + var push = function (ctx) { + stack.push(ctx || {}); + }; + var pop = function () { + stack.pop(); + }; + var write = function (str) { + output.push(str); + }; + var filter = function (val) { + for (var i = 1, len = arguments.length; i < len; i++) { + var arr = arguments[i], name = arr[0], filter = filters[name]; + if (filter) { + arr[0] = val; + //now arr looks like [val, arg1, arg2] + val = filter.apply(data, arr); + } else { + throw new Error('Invalid filter: ' + name); + } + } + if (opts.autoEscape && name !== opts.autoEscape && name !== 'safe') { + //auto escape if not explicitly safe or already escaped + val = filters[opts.autoEscape].call(data, val); + } + output.push(val); + }; + var each = function (obj, loopvar, fn1, fn2) { + if (obj == null) return; + var arr = isArray(obj) ? obj : getKeys(obj), len = arr.length; + var ctx = {loop: {length: len, first: arr[0], last: arr[len - 1]}}; + push(ctx); + for (var i = 0; i < len; i++) { + extend(ctx.loop, {index: i + 1, index0: i}); + fn1(ctx[loopvar] = arr[i]); + } + if (len === 0 && fn2) fn2(); + pop(); + }; + var block = function (fn) { + push(); + fn(); + pop(); + }; + var render = function () { + return output.join(''); + }; + data = data || {}; + opts = extend(defaults, opts || {}); + var filters = extend({ + html: function (val) { + return toString(val) + .split('&').join('&') + .split('<').join('<') + .split('>').join('>') + .split('"').join('"'); + }, + safe: function (val) { + return val; + }, + toJson: function (val) { + if (typeof val === 'object') { + return JSON.stringify(val); + } + return toString(val); + } + }, opts.filters || {}); + var stack = [create(data || {})], output = []; + return { + get: get, + set: set, + push: push, + pop: pop, + write: write, + filter: filter, + each: each, + block: block, + render: render + }; + }; + + var runtime; + + jinja.compile = function (markup, opts) { + opts = opts || {}; + var parser = new Parser(); + parser.readTemplateFile = this.readTemplateFile; + var code = []; + code.push('function render($) {'); + code.push('var get = $.get, set = $.set, push = $.push, pop = $.pop, write = $.write, filter = $.filter, each = $.each, block = $.block;'); + code.push.apply(code, parser.parse(markup)); + code.push('return $.render();'); + code.push('}'); + code = code.join('\n'); + if (opts.runtime === false) { + var fn = new Function('data', 'options', 'return (' + code + ')(runtime(data, options))'); + } else { + runtime = runtime || (runtime = getRuntime.toString()); + fn = new Function('data', 'options', 'return (' + code + ')((' + runtime + ')(data, options))'); + } + return {render: fn}; + }; + + jinja.render = function (markup, data, opts) { + var tmpl = jinja.compile(markup); + return tmpl.render(data, opts); + }; + + jinja.templateFiles = []; + + jinja.readTemplateFile = function (name) { + var templateFiles = this.templateFiles || []; + var templateFile = templateFiles[name]; + if (templateFile == null) { + throw new Error('Template file not found: ' + name); + } + return templateFile; + }; + + + /*! + * Helpers + */ + + function trimLeft(str) { + return str.replace(LEADING_SPACE, ''); + } + + function trimRight(str) { + return str.replace(TRAILING_SPACE, ''); + } + + function matchAll(str, reg, fn) { + //copy as global + reg = new RegExp(reg.source, 'g' + (reg.ignoreCase ? 'i' : '') + (reg.multiline ? 'm' : '')); + var match; + while ((match = reg.exec(str))) { + var result = fn(match[0], match.index, str); + if (typeof result == 'number') { + reg.lastIndex = result; + } + } + } +})); \ No newline at end of file diff --git a/tvboxqq/tvboxqq/小虎斑/api/jsencrypt.js b/tvboxqq/tvboxqq/小虎斑/api/jsencrypt.js new file mode 100644 index 0000000..fa3006c --- /dev/null +++ b/tvboxqq/tvboxqq/小虎斑/api/jsencrypt.js @@ -0,0 +1,265 @@ +/* + * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development"). + * This devtool is neither made for production nor for readable output files. + * It uses "eval()" calls to create a separate source file in the browser devtools. + * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) + * or disable the default devtool with "devtool: false". + * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). + */ +(function webpackUniversalModuleDefinition(root, factory) { + if (typeof exports === 'object' && typeof module === 'object') { + // CommonJS + module.exports = exports = factory(); + } else if (typeof define === 'function' && define.amd) { + // AMD + define([], factory); + } else { + // Global (browser) + globalThis.JSEncrypt = factory(); + } +})(this, () => { +return /******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({ + +/***/ "./lib/JSEncrypt.js": +/*!**************************!*\ + !*** ./lib/JSEncrypt.js ***! + \**************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"JSEncrypt\": () => (/* binding */ JSEncrypt)\n/* harmony export */ });\n/* harmony import */ var _lib_jsbn_base64__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./lib/jsbn/base64 */ \"./lib/lib/jsbn/base64.js\");\n/* harmony import */ var _JSEncryptRSAKey__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./JSEncryptRSAKey */ \"./lib/JSEncryptRSAKey.js\");\n/* provided dependency */ var process = __webpack_require__(/*! process/browser */ \"./node_modules/process/browser.js\");\nvar _a;\n\n\nvar version = typeof process !== 'undefined'\n ? (_a = process.env) === null || _a === void 0 ? void 0 : \"3.3.2\"\n : undefined;\n/**\n *\n * @param {Object} [options = {}] - An object to customize JSEncrypt behaviour\n * possible parameters are:\n * - default_key_size {number} default: 1024 the key size in bit\n * - default_public_exponent {string} default: '010001' the hexadecimal representation of the public exponent\n * - log {boolean} default: false whether log warn/error or not\n * @constructor\n */\nvar JSEncrypt = /** @class */ (function () {\n function JSEncrypt(options) {\n if (options === void 0) { options = {}; }\n options = options || {};\n this.default_key_size = options.default_key_size\n ? parseInt(options.default_key_size, 10)\n : 1024;\n this.default_public_exponent = options.default_public_exponent || \"010001\"; // 65537 default openssl public exponent for rsa key type\n this.log = options.log || false;\n // The private and public key.\n this.key = null;\n }\n /**\n * Method to set the rsa key parameter (one method is enough to set both the public\n * and the private key, since the private key contains the public key paramenters)\n * Log a warning if logs are enabled\n * @param {Object|string} key the pem encoded string or an object (with or without header/footer)\n * @public\n */\n JSEncrypt.prototype.setKey = function (key) {\n if (this.log && this.key) {\n console.warn(\"A key was already set, overriding existing.\");\n }\n this.key = new _JSEncryptRSAKey__WEBPACK_IMPORTED_MODULE_1__.JSEncryptRSAKey(key);\n };\n /**\n * Proxy method for setKey, for api compatibility\n * @see setKey\n * @public\n */\n JSEncrypt.prototype.setPrivateKey = function (privkey) {\n // Create the key.\n this.setKey(privkey);\n };\n /**\n * Proxy method for setKey, for api compatibility\n * @see setKey\n * @public\n */\n JSEncrypt.prototype.setPublicKey = function (pubkey) {\n // Sets the public key.\n this.setKey(pubkey);\n };\n /**\n * Proxy method for RSAKey object's decrypt, decrypt the string using the private\n * components of the rsa key object. Note that if the object was not set will be created\n * on the fly (by the getKey method) using the parameters passed in the JSEncrypt constructor\n * @param {string} str base64 encoded crypted string to decrypt\n * @return {string} the decrypted string\n * @public\n */\n JSEncrypt.prototype.decrypt = function (str) {\n // Return the decrypted string.\n try {\n return this.getKey().decrypt((0,_lib_jsbn_base64__WEBPACK_IMPORTED_MODULE_0__.b64tohex)(str));\n }\n catch (ex) {\n return false;\n }\n };\n /**\n * Proxy method for RSAKey object's encrypt, encrypt the string using the public\n * components of the rsa key object. Note that if the object was not set will be created\n * on the fly (by the getKey method) using the parameters passed in the JSEncrypt constructor\n * @param {string} str the string to encrypt\n * @return {string} the encrypted string encoded in base64\n * @public\n */\n JSEncrypt.prototype.encrypt = function (str) {\n // Return the encrypted string.\n try {\n return (0,_lib_jsbn_base64__WEBPACK_IMPORTED_MODULE_0__.hex2b64)(this.getKey().encrypt(str));\n }\n catch (ex) {\n return false;\n }\n };\n /**\n * Proxy method for RSAKey object's sign.\n * @param {string} str the string to sign\n * @param {function} digestMethod hash method\n * @param {string} digestName the name of the hash algorithm\n * @return {string} the signature encoded in base64\n * @public\n */\n JSEncrypt.prototype.sign = function (str, digestMethod, digestName) {\n // return the RSA signature of 'str' in 'hex' format.\n try {\n return (0,_lib_jsbn_base64__WEBPACK_IMPORTED_MODULE_0__.hex2b64)(this.getKey().sign(str, digestMethod, digestName));\n }\n catch (ex) {\n return false;\n }\n };\n /**\n * Proxy method for RSAKey object's verify.\n * @param {string} str the string to verify\n * @param {string} signature the signature encoded in base64 to compare the string to\n * @param {function} digestMethod hash method\n * @return {boolean} whether the data and signature match\n * @public\n */\n JSEncrypt.prototype.verify = function (str, signature, digestMethod) {\n // Return the decrypted 'digest' of the signature.\n try {\n return this.getKey().verify(str, (0,_lib_jsbn_base64__WEBPACK_IMPORTED_MODULE_0__.b64tohex)(signature), digestMethod);\n }\n catch (ex) {\n return false;\n }\n };\n /**\n * Getter for the current JSEncryptRSAKey object. If it doesn't exists a new object\n * will be created and returned\n * @param {callback} [cb] the callback to be called if we want the key to be generated\n * in an async fashion\n * @returns {JSEncryptRSAKey} the JSEncryptRSAKey object\n * @public\n */\n JSEncrypt.prototype.getKey = function (cb) {\n // Only create new if it does not exist.\n if (!this.key) {\n // Get a new private key.\n this.key = new _JSEncryptRSAKey__WEBPACK_IMPORTED_MODULE_1__.JSEncryptRSAKey();\n if (cb && {}.toString.call(cb) === \"[object Function]\") {\n this.key.generateAsync(this.default_key_size, this.default_public_exponent, cb);\n return;\n }\n // Generate the key.\n this.key.generate(this.default_key_size, this.default_public_exponent);\n }\n return this.key;\n };\n /**\n * Returns the pem encoded representation of the private key\n * If the key doesn't exists a new key will be created\n * @returns {string} pem encoded representation of the private key WITH header and footer\n * @public\n */\n JSEncrypt.prototype.getPrivateKey = function () {\n // Return the private representation of this key.\n return this.getKey().getPrivateKey();\n };\n /**\n * Returns the pem encoded representation of the private key\n * If the key doesn't exists a new key will be created\n * @returns {string} pem encoded representation of the private key WITHOUT header and footer\n * @public\n */\n JSEncrypt.prototype.getPrivateKeyB64 = function () {\n // Return the private representation of this key.\n return this.getKey().getPrivateBaseKeyB64();\n };\n /**\n * Returns the pem encoded representation of the public key\n * If the key doesn't exists a new key will be created\n * @returns {string} pem encoded representation of the public key WITH header and footer\n * @public\n */\n JSEncrypt.prototype.getPublicKey = function () {\n // Return the private representation of this key.\n return this.getKey().getPublicKey();\n };\n /**\n * Returns the pem encoded representation of the public key\n * If the key doesn't exists a new key will be created\n * @returns {string} pem encoded representation of the public key WITHOUT header and footer\n * @public\n */\n JSEncrypt.prototype.getPublicKeyB64 = function () {\n // Return the private representation of this key.\n return this.getKey().getPublicBaseKeyB64();\n };\nvar b64map=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";var b64pad=\"=\";var base64DecodeChars=new Array(-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,-1,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,-1,-1,-1,-1,-1);function btoa(str){var out,i,len;var c1,c2,c3;len=str.length;i=0;out=\"\";while(i>2);out+=b64map.charAt((c1&3)<<4);out+=\"==\";break}c2=str.charCodeAt(i++);if(i==len){out+=b64map.charAt(c1>>2);out+=b64map.charAt((c1&3)<<4|(c2&240)>>4);out+=b64map.charAt((c2&15)<<2);out+=\"=\";break}c3=str.charCodeAt(i++);out+=b64map.charAt(c1>>2);out+=b64map.charAt((c1&3)<<4|(c2&240)>>4);out+=b64map.charAt((c2&15)<<2|(c3&192)>>6);out+=b64map.charAt(c3&63)}return out}function atob(str){var c1,c2,c3,c4;var i,len,out;len=str.length;i=0;out=\"\";while(i>4);do{c3=str.charCodeAt(i++)&255;if(c3==61)return out;c3=base64DecodeChars[c3]}while(i>2);do{c4=str.charCodeAt(i++)&255;if(c4==61)return out;c4=base64DecodeChars[c4]}while(i>6)+b64map.charAt(c&63)}if(i+1==h.length){c=parseInt(h.substring(i,i+1),16);ret+=b64map.charAt(c<<2)}else if(i+2==h.length){c=parseInt(h.substring(i,i+2),16);ret+=b64map.charAt(c>>2)+b64map.charAt((c&3)<<4)}while((ret.length&3)>0)ret+=b64pad;return ret}function hexToBytes(hex){for(var bytes=[],c=0;c>>4).toString(16));hex.push((bytes[i]&15).toString(16))}return hex.join(\"\")}function b64tohex(str){for(var i=0,bin=atob(str.replace(/[ \\r\\n]+$/,\"\")),hex=[];i>3};JSEncrypt.prototype.decryptUnicodeLong=function(string){var k=this.getKey();var maxLength=(k.n.bitLength()+7>>3)*2;try{var hexString=b64tohex(string);var decryptedString=\"\";var rexStr=\".{1,\"+maxLength+\"}\";var rex=new RegExp(rexStr,\"g\");var subStrArray=hexString.match(rex);if(subStrArray){subStrArray.forEach(function(entry){decryptedString+=k.decrypt(entry)});return decryptedString}}catch(ex){console.log(\"加密错误:\"+ex.message);return false}};JSEncrypt.prototype.encryptUnicodeLong=function(string){var k=this.getKey();var maxLength=(k.n.bitLength()+7>>3)-11;try{var subStr=\"\",encryptedString=\"\";var subStart=0,subEnd=0;var bitLen=0,tmpPoint=0;for(var i=0,len=string.length;imaxLength){subStr=string.substring(subStart,subEnd);encryptedString+=k.encrypt(subStr);subStart=subEnd;bitLen=bitLen-tmpPoint}else{subEnd=i;tmpPoint=bitLen}}subStr=string.substring(subStart,len);encryptedString+=k.encrypt(subStr);return hex2b64(encryptedString)}catch(ex){console.log(\"解密错误:\"+ex.message);return false}}; JSEncrypt.version = version;\n return JSEncrypt;\n}());\n\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/JSEncrypt.js?"); + +/***/ }), + +/***/ "./lib/JSEncryptRSAKey.js": +/*!********************************!*\ + !*** ./lib/JSEncryptRSAKey.js ***! + \********************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"JSEncryptRSAKey\": () => (/* binding */ JSEncryptRSAKey)\n/* harmony export */ });\n/* harmony import */ var _lib_jsbn_base64__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./lib/jsbn/base64 */ \"./lib/lib/jsbn/base64.js\");\n/* harmony import */ var _lib_asn1js_hex__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./lib/asn1js/hex */ \"./lib/lib/asn1js/hex.js\");\n/* harmony import */ var _lib_asn1js_base64__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./lib/asn1js/base64 */ \"./lib/lib/asn1js/base64.js\");\n/* harmony import */ var _lib_asn1js_asn1__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./lib/asn1js/asn1 */ \"./lib/lib/asn1js/asn1.js\");\n/* harmony import */ var _lib_jsbn_rsa__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./lib/jsbn/rsa */ \"./lib/lib/jsbn/rsa.js\");\n/* harmony import */ var _lib_jsbn_jsbn__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./lib/jsbn/jsbn */ \"./lib/lib/jsbn/jsbn.js\");\n/* harmony import */ var _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./lib/jsrsasign/asn1-1.0 */ \"./lib/lib/jsrsasign/asn1-1.0.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\n\n\n\n\n/**\n * Create a new JSEncryptRSAKey that extends Tom Wu's RSA key object.\n * This object is just a decorator for parsing the key parameter\n * @param {string|Object} key - The key in string format, or an object containing\n * the parameters needed to build a RSAKey object.\n * @constructor\n */\nvar JSEncryptRSAKey = /** @class */ (function (_super) {\n __extends(JSEncryptRSAKey, _super);\n function JSEncryptRSAKey(key) {\n var _this = _super.call(this) || this;\n // Call the super constructor.\n // RSAKey.call(this);\n // If a key key was provided.\n if (key) {\n // If this is a string...\n if (typeof key === \"string\") {\n _this.parseKey(key);\n }\n else if (JSEncryptRSAKey.hasPrivateKeyProperty(key) ||\n JSEncryptRSAKey.hasPublicKeyProperty(key)) {\n // Set the values for the key.\n _this.parsePropertiesFrom(key);\n }\n }\n return _this;\n }\n /**\n * Method to parse a pem encoded string containing both a public or private key.\n * The method will translate the pem encoded string in a der encoded string and\n * will parse private key and public key parameters. This method accepts public key\n * in the rsaencryption pkcs #1 format (oid: 1.2.840.113549.1.1.1).\n *\n * @todo Check how many rsa formats use the same format of pkcs #1.\n *\n * The format is defined as:\n * PublicKeyInfo ::= SEQUENCE {\n * algorithm AlgorithmIdentifier,\n * PublicKey BIT STRING\n * }\n * Where AlgorithmIdentifier is:\n * AlgorithmIdentifier ::= SEQUENCE {\n * algorithm OBJECT IDENTIFIER, the OID of the enc algorithm\n * parameters ANY DEFINED BY algorithm OPTIONAL (NULL for PKCS #1)\n * }\n * and PublicKey is a SEQUENCE encapsulated in a BIT STRING\n * RSAPublicKey ::= SEQUENCE {\n * modulus INTEGER, -- n\n * publicExponent INTEGER -- e\n * }\n * it's possible to examine the structure of the keys obtained from openssl using\n * an asn.1 dumper as the one used here to parse the components: http://lapo.it/asn1js/\n * @argument {string} pem the pem encoded string, can include the BEGIN/END header/footer\n * @private\n */\n JSEncryptRSAKey.prototype.parseKey = function (pem) {\n try {\n var modulus = 0;\n var public_exponent = 0;\n var reHex = /^\\s*(?:[0-9A-Fa-f][0-9A-Fa-f]\\s*)+$/;\n var der = reHex.test(pem) ? _lib_asn1js_hex__WEBPACK_IMPORTED_MODULE_1__.Hex.decode(pem) : _lib_asn1js_base64__WEBPACK_IMPORTED_MODULE_2__.Base64.unarmor(pem);\n var asn1 = _lib_asn1js_asn1__WEBPACK_IMPORTED_MODULE_3__.ASN1.decode(der);\n // Fixes a bug with OpenSSL 1.0+ private keys\n if (asn1.sub.length === 3) {\n asn1 = asn1.sub[2].sub[0];\n }\n if (asn1.sub.length === 9) {\n // Parse the private key.\n modulus = asn1.sub[1].getHexStringValue(); // bigint\n this.n = (0,_lib_jsbn_jsbn__WEBPACK_IMPORTED_MODULE_5__.parseBigInt)(modulus, 16);\n public_exponent = asn1.sub[2].getHexStringValue(); // int\n this.e = parseInt(public_exponent, 16);\n var private_exponent = asn1.sub[3].getHexStringValue(); // bigint\n this.d = (0,_lib_jsbn_jsbn__WEBPACK_IMPORTED_MODULE_5__.parseBigInt)(private_exponent, 16);\n var prime1 = asn1.sub[4].getHexStringValue(); // bigint\n this.p = (0,_lib_jsbn_jsbn__WEBPACK_IMPORTED_MODULE_5__.parseBigInt)(prime1, 16);\n var prime2 = asn1.sub[5].getHexStringValue(); // bigint\n this.q = (0,_lib_jsbn_jsbn__WEBPACK_IMPORTED_MODULE_5__.parseBigInt)(prime2, 16);\n var exponent1 = asn1.sub[6].getHexStringValue(); // bigint\n this.dmp1 = (0,_lib_jsbn_jsbn__WEBPACK_IMPORTED_MODULE_5__.parseBigInt)(exponent1, 16);\n var exponent2 = asn1.sub[7].getHexStringValue(); // bigint\n this.dmq1 = (0,_lib_jsbn_jsbn__WEBPACK_IMPORTED_MODULE_5__.parseBigInt)(exponent2, 16);\n var coefficient = asn1.sub[8].getHexStringValue(); // bigint\n this.coeff = (0,_lib_jsbn_jsbn__WEBPACK_IMPORTED_MODULE_5__.parseBigInt)(coefficient, 16);\n }\n else if (asn1.sub.length === 2) {\n if (asn1.sub[0].sub) {\n // Parse ASN.1 SubjectPublicKeyInfo type as defined by X.509\n var bit_string = asn1.sub[1];\n var sequence = bit_string.sub[0];\n modulus = sequence.sub[0].getHexStringValue();\n this.n = (0,_lib_jsbn_jsbn__WEBPACK_IMPORTED_MODULE_5__.parseBigInt)(modulus, 16);\n public_exponent = sequence.sub[1].getHexStringValue();\n this.e = parseInt(public_exponent, 16);\n }\n else {\n // Parse ASN.1 RSAPublicKey type as defined by PKCS #1\n modulus = asn1.sub[0].getHexStringValue();\n this.n = (0,_lib_jsbn_jsbn__WEBPACK_IMPORTED_MODULE_5__.parseBigInt)(modulus, 16);\n public_exponent = asn1.sub[1].getHexStringValue();\n this.e = parseInt(public_exponent, 16);\n }\n }\n else {\n return false;\n }\n return true;\n }\n catch (ex) {\n return false;\n }\n };\n /**\n * Translate rsa parameters in a hex encoded string representing the rsa key.\n *\n * The translation follow the ASN.1 notation :\n * RSAPrivateKey ::= SEQUENCE {\n * version Version,\n * modulus INTEGER, -- n\n * publicExponent INTEGER, -- e\n * privateExponent INTEGER, -- d\n * prime1 INTEGER, -- p\n * prime2 INTEGER, -- q\n * exponent1 INTEGER, -- d mod (p1)\n * exponent2 INTEGER, -- d mod (q-1)\n * coefficient INTEGER, -- (inverse of q) mod p\n * }\n * @returns {string} DER Encoded String representing the rsa private key\n * @private\n */\n JSEncryptRSAKey.prototype.getPrivateBaseKey = function () {\n var options = {\n array: [\n new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERInteger({ int: 0 }),\n new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERInteger({ bigint: this.n }),\n new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERInteger({ int: this.e }),\n new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERInteger({ bigint: this.d }),\n new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERInteger({ bigint: this.p }),\n new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERInteger({ bigint: this.q }),\n new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERInteger({ bigint: this.dmp1 }),\n new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERInteger({ bigint: this.dmq1 }),\n new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERInteger({ bigint: this.coeff }),\n ],\n };\n var seq = new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERSequence(options);\n return seq.getEncodedHex();\n };\n /**\n * base64 (pem) encoded version of the DER encoded representation\n * @returns {string} pem encoded representation without header and footer\n * @public\n */\n JSEncryptRSAKey.prototype.getPrivateBaseKeyB64 = function () {\n return (0,_lib_jsbn_base64__WEBPACK_IMPORTED_MODULE_0__.hex2b64)(this.getPrivateBaseKey());\n };\n /**\n * Translate rsa parameters in a hex encoded string representing the rsa public key.\n * The representation follow the ASN.1 notation :\n * PublicKeyInfo ::= SEQUENCE {\n * algorithm AlgorithmIdentifier,\n * PublicKey BIT STRING\n * }\n * Where AlgorithmIdentifier is:\n * AlgorithmIdentifier ::= SEQUENCE {\n * algorithm OBJECT IDENTIFIER, the OID of the enc algorithm\n * parameters ANY DEFINED BY algorithm OPTIONAL (NULL for PKCS #1)\n * }\n * and PublicKey is a SEQUENCE encapsulated in a BIT STRING\n * RSAPublicKey ::= SEQUENCE {\n * modulus INTEGER, -- n\n * publicExponent INTEGER -- e\n * }\n * @returns {string} DER Encoded String representing the rsa public key\n * @private\n */\n JSEncryptRSAKey.prototype.getPublicBaseKey = function () {\n var first_sequence = new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERSequence({\n array: [\n new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERObjectIdentifier({ oid: \"1.2.840.113549.1.1.1\" }),\n new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERNull(),\n ],\n });\n var second_sequence = new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERSequence({\n array: [\n new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERInteger({ bigint: this.n }),\n new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERInteger({ int: this.e }),\n ],\n });\n var bit_string = new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERBitString({\n hex: \"00\" + second_sequence.getEncodedHex(),\n });\n var seq = new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERSequence({\n array: [first_sequence, bit_string],\n });\n return seq.getEncodedHex();\n };\n /**\n * base64 (pem) encoded version of the DER encoded representation\n * @returns {string} pem encoded representation without header and footer\n * @public\n */\n JSEncryptRSAKey.prototype.getPublicBaseKeyB64 = function () {\n return (0,_lib_jsbn_base64__WEBPACK_IMPORTED_MODULE_0__.hex2b64)(this.getPublicBaseKey());\n };\n /**\n * wrap the string in block of width chars. The default value for rsa keys is 64\n * characters.\n * @param {string} str the pem encoded string without header and footer\n * @param {Number} [width=64] - the length the string has to be wrapped at\n * @returns {string}\n * @private\n */\n JSEncryptRSAKey.wordwrap = function (str, width) {\n width = width || 64;\n if (!str) {\n return str;\n }\n var regex = \"(.{1,\" + width + \"})( +|$\\n?)|(.{1,\" + width + \"})\";\n return str.match(RegExp(regex, \"g\")).join(\"\\n\");\n };\n /**\n * Retrieve the pem encoded private key\n * @returns {string} the pem encoded private key with header/footer\n * @public\n */\n JSEncryptRSAKey.prototype.getPrivateKey = function () {\n var key = \"-----BEGIN RSA PRIVATE KEY-----\\n\";\n key += JSEncryptRSAKey.wordwrap(this.getPrivateBaseKeyB64()) + \"\\n\";\n key += \"-----END RSA PRIVATE KEY-----\";\n return key;\n };\n /**\n * Retrieve the pem encoded public key\n * @returns {string} the pem encoded public key with header/footer\n * @public\n */\n JSEncryptRSAKey.prototype.getPublicKey = function () {\n var key = \"-----BEGIN PUBLIC KEY-----\\n\";\n key += JSEncryptRSAKey.wordwrap(this.getPublicBaseKeyB64()) + \"\\n\";\n key += \"-----END PUBLIC KEY-----\";\n return key;\n };\n /**\n * Check if the object contains the necessary parameters to populate the rsa modulus\n * and public exponent parameters.\n * @param {Object} [obj={}] - An object that may contain the two public key\n * parameters\n * @returns {boolean} true if the object contains both the modulus and the public exponent\n * properties (n and e)\n * @todo check for types of n and e. N should be a parseable bigInt object, E should\n * be a parseable integer number\n * @private\n */\n JSEncryptRSAKey.hasPublicKeyProperty = function (obj) {\n obj = obj || {};\n return obj.hasOwnProperty(\"n\") && obj.hasOwnProperty(\"e\");\n };\n /**\n * Check if the object contains ALL the parameters of an RSA key.\n * @param {Object} [obj={}] - An object that may contain nine rsa key\n * parameters\n * @returns {boolean} true if the object contains all the parameters needed\n * @todo check for types of the parameters all the parameters but the public exponent\n * should be parseable bigint objects, the public exponent should be a parseable integer number\n * @private\n */\n JSEncryptRSAKey.hasPrivateKeyProperty = function (obj) {\n obj = obj || {};\n return (obj.hasOwnProperty(\"n\") &&\n obj.hasOwnProperty(\"e\") &&\n obj.hasOwnProperty(\"d\") &&\n obj.hasOwnProperty(\"p\") &&\n obj.hasOwnProperty(\"q\") &&\n obj.hasOwnProperty(\"dmp1\") &&\n obj.hasOwnProperty(\"dmq1\") &&\n obj.hasOwnProperty(\"coeff\"));\n };\n /**\n * Parse the properties of obj in the current rsa object. Obj should AT LEAST\n * include the modulus and public exponent (n, e) parameters.\n * @param {Object} obj - the object containing rsa parameters\n * @private\n */\n JSEncryptRSAKey.prototype.parsePropertiesFrom = function (obj) {\n this.n = obj.n;\n this.e = obj.e;\n if (obj.hasOwnProperty(\"d\")) {\n this.d = obj.d;\n this.p = obj.p;\n this.q = obj.q;\n this.dmp1 = obj.dmp1;\n this.dmq1 = obj.dmq1;\n this.coeff = obj.coeff;\n }\n };\n return JSEncryptRSAKey;\n}(_lib_jsbn_rsa__WEBPACK_IMPORTED_MODULE_4__.RSAKey));\n\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/JSEncryptRSAKey.js?"); + +/***/ }), + +/***/ "./lib/index.js": +/*!**********************!*\ + !*** ./lib/index.js ***! + \**********************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"JSEncrypt\": () => (/* reexport safe */ _JSEncrypt__WEBPACK_IMPORTED_MODULE_0__.JSEncrypt),\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _JSEncrypt__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./JSEncrypt */ \"./lib/JSEncrypt.js\");\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_JSEncrypt__WEBPACK_IMPORTED_MODULE_0__.JSEncrypt);\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/index.js?"); + +/***/ }), + +/***/ "./lib/lib/asn1js/asn1.js": +/*!********************************!*\ + !*** ./lib/lib/asn1js/asn1.js ***! + \********************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"ASN1\": () => (/* binding */ ASN1),\n/* harmony export */ \"ASN1Tag\": () => (/* binding */ ASN1Tag),\n/* harmony export */ \"Stream\": () => (/* binding */ Stream)\n/* harmony export */ });\n/* harmony import */ var _int10__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./int10 */ \"./lib/lib/asn1js/int10.js\");\n// ASN.1 JavaScript decoder\n// Copyright (c) 2008-2014 Lapo Luchini \n// Permission to use, copy, modify, and/or distribute this software for any\n// purpose with or without fee is hereby granted, provided that the above\n// copyright notice and this permission notice appear in all copies.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n/*jshint browser: true, strict: true, immed: true, latedef: true, undef: true, regexdash: false */\n/*global oids */\n\nvar ellipsis = \"\\u2026\";\nvar reTimeS = /^(\\d\\d)(0[1-9]|1[0-2])(0[1-9]|[12]\\d|3[01])([01]\\d|2[0-3])(?:([0-5]\\d)(?:([0-5]\\d)(?:[.,](\\d{1,3}))?)?)?(Z|[-+](?:[0]\\d|1[0-2])([0-5]\\d)?)?$/;\nvar reTimeL = /^(\\d\\d\\d\\d)(0[1-9]|1[0-2])(0[1-9]|[12]\\d|3[01])([01]\\d|2[0-3])(?:([0-5]\\d)(?:([0-5]\\d)(?:[.,](\\d{1,3}))?)?)?(Z|[-+](?:[0]\\d|1[0-2])([0-5]\\d)?)?$/;\nfunction stringCut(str, len) {\n if (str.length > len) {\n str = str.substring(0, len) + ellipsis;\n }\n return str;\n}\nvar Stream = /** @class */ (function () {\n function Stream(enc, pos) {\n this.hexDigits = \"0123456789ABCDEF\";\n if (enc instanceof Stream) {\n this.enc = enc.enc;\n this.pos = enc.pos;\n }\n else {\n // enc should be an array or a binary string\n this.enc = enc;\n this.pos = pos;\n }\n }\n Stream.prototype.get = function (pos) {\n if (pos === undefined) {\n pos = this.pos++;\n }\n if (pos >= this.enc.length) {\n throw new Error(\"Requesting byte offset \".concat(pos, \" on a stream of length \").concat(this.enc.length));\n }\n return (\"string\" === typeof this.enc) ? this.enc.charCodeAt(pos) : this.enc[pos];\n };\n Stream.prototype.hexByte = function (b) {\n return this.hexDigits.charAt((b >> 4) & 0xF) + this.hexDigits.charAt(b & 0xF);\n };\n Stream.prototype.hexDump = function (start, end, raw) {\n var s = \"\";\n for (var i = start; i < end; ++i) {\n s += this.hexByte(this.get(i));\n if (raw !== true) {\n switch (i & 0xF) {\n case 0x7:\n s += \" \";\n break;\n case 0xF:\n s += \"\\n\";\n break;\n default:\n s += \" \";\n }\n }\n }\n return s;\n };\n Stream.prototype.isASCII = function (start, end) {\n for (var i = start; i < end; ++i) {\n var c = this.get(i);\n if (c < 32 || c > 176) {\n return false;\n }\n }\n return true;\n };\n Stream.prototype.parseStringISO = function (start, end) {\n var s = \"\";\n for (var i = start; i < end; ++i) {\n s += String.fromCharCode(this.get(i));\n }\n return s;\n };\n Stream.prototype.parseStringUTF = function (start, end) {\n var s = \"\";\n for (var i = start; i < end;) {\n var c = this.get(i++);\n if (c < 128) {\n s += String.fromCharCode(c);\n }\n else if ((c > 191) && (c < 224)) {\n s += String.fromCharCode(((c & 0x1F) << 6) | (this.get(i++) & 0x3F));\n }\n else {\n s += String.fromCharCode(((c & 0x0F) << 12) | ((this.get(i++) & 0x3F) << 6) | (this.get(i++) & 0x3F));\n }\n }\n return s;\n };\n Stream.prototype.parseStringBMP = function (start, end) {\n var str = \"\";\n var hi;\n var lo;\n for (var i = start; i < end;) {\n hi = this.get(i++);\n lo = this.get(i++);\n str += String.fromCharCode((hi << 8) | lo);\n }\n return str;\n };\n Stream.prototype.parseTime = function (start, end, shortYear) {\n var s = this.parseStringISO(start, end);\n var m = (shortYear ? reTimeS : reTimeL).exec(s);\n if (!m) {\n return \"Unrecognized time: \" + s;\n }\n if (shortYear) {\n // to avoid querying the timer, use the fixed range [1970, 2069]\n // it will conform with ITU X.400 [-10, +40] sliding window until 2030\n m[1] = +m[1];\n m[1] += (+m[1] < 70) ? 2000 : 1900;\n }\n s = m[1] + \"-\" + m[2] + \"-\" + m[3] + \" \" + m[4];\n if (m[5]) {\n s += \":\" + m[5];\n if (m[6]) {\n s += \":\" + m[6];\n if (m[7]) {\n s += \".\" + m[7];\n }\n }\n }\n if (m[8]) {\n s += \" UTC\";\n if (m[8] != \"Z\") {\n s += m[8];\n if (m[9]) {\n s += \":\" + m[9];\n }\n }\n }\n return s;\n };\n Stream.prototype.parseInteger = function (start, end) {\n var v = this.get(start);\n var neg = (v > 127);\n var pad = neg ? 255 : 0;\n var len;\n var s = \"\";\n // skip unuseful bits (not allowed in DER)\n while (v == pad && ++start < end) {\n v = this.get(start);\n }\n len = end - start;\n if (len === 0) {\n return neg ? -1 : 0;\n }\n // show bit length of huge integers\n if (len > 4) {\n s = v;\n len <<= 3;\n while (((+s ^ pad) & 0x80) == 0) {\n s = +s << 1;\n --len;\n }\n s = \"(\" + len + \" bit)\\n\";\n }\n // decode the integer\n if (neg) {\n v = v - 256;\n }\n var n = new _int10__WEBPACK_IMPORTED_MODULE_0__.Int10(v);\n for (var i = start + 1; i < end; ++i) {\n n.mulAdd(256, this.get(i));\n }\n return s + n.toString();\n };\n Stream.prototype.parseBitString = function (start, end, maxLength) {\n var unusedBit = this.get(start);\n var lenBit = ((end - start - 1) << 3) - unusedBit;\n var intro = \"(\" + lenBit + \" bit)\\n\";\n var s = \"\";\n for (var i = start + 1; i < end; ++i) {\n var b = this.get(i);\n var skip = (i == end - 1) ? unusedBit : 0;\n for (var j = 7; j >= skip; --j) {\n s += (b >> j) & 1 ? \"1\" : \"0\";\n }\n if (s.length > maxLength) {\n return intro + stringCut(s, maxLength);\n }\n }\n return intro + s;\n };\n Stream.prototype.parseOctetString = function (start, end, maxLength) {\n if (this.isASCII(start, end)) {\n return stringCut(this.parseStringISO(start, end), maxLength);\n }\n var len = end - start;\n var s = \"(\" + len + \" byte)\\n\";\n maxLength /= 2; // we work in bytes\n if (len > maxLength) {\n end = start + maxLength;\n }\n for (var i = start; i < end; ++i) {\n s += this.hexByte(this.get(i));\n }\n if (len > maxLength) {\n s += ellipsis;\n }\n return s;\n };\n Stream.prototype.parseOID = function (start, end, maxLength) {\n var s = \"\";\n var n = new _int10__WEBPACK_IMPORTED_MODULE_0__.Int10();\n var bits = 0;\n for (var i = start; i < end; ++i) {\n var v = this.get(i);\n n.mulAdd(128, v & 0x7F);\n bits += 7;\n if (!(v & 0x80)) { // finished\n if (s === \"\") {\n n = n.simplify();\n if (n instanceof _int10__WEBPACK_IMPORTED_MODULE_0__.Int10) {\n n.sub(80);\n s = \"2.\" + n.toString();\n }\n else {\n var m = n < 80 ? n < 40 ? 0 : 1 : 2;\n s = m + \".\" + (n - m * 40);\n }\n }\n else {\n s += \".\" + n.toString();\n }\n if (s.length > maxLength) {\n return stringCut(s, maxLength);\n }\n n = new _int10__WEBPACK_IMPORTED_MODULE_0__.Int10();\n bits = 0;\n }\n }\n if (bits > 0) {\n s += \".incomplete\";\n }\n return s;\n };\n return Stream;\n}());\n\nvar ASN1 = /** @class */ (function () {\n function ASN1(stream, header, length, tag, sub) {\n if (!(tag instanceof ASN1Tag)) {\n throw new Error(\"Invalid tag value.\");\n }\n this.stream = stream;\n this.header = header;\n this.length = length;\n this.tag = tag;\n this.sub = sub;\n }\n ASN1.prototype.typeName = function () {\n switch (this.tag.tagClass) {\n case 0: // universal\n switch (this.tag.tagNumber) {\n case 0x00:\n return \"EOC\";\n case 0x01:\n return \"BOOLEAN\";\n case 0x02:\n return \"INTEGER\";\n case 0x03:\n return \"BIT_STRING\";\n case 0x04:\n return \"OCTET_STRING\";\n case 0x05:\n return \"NULL\";\n case 0x06:\n return \"OBJECT_IDENTIFIER\";\n case 0x07:\n return \"ObjectDescriptor\";\n case 0x08:\n return \"EXTERNAL\";\n case 0x09:\n return \"REAL\";\n case 0x0A:\n return \"ENUMERATED\";\n case 0x0B:\n return \"EMBEDDED_PDV\";\n case 0x0C:\n return \"UTF8String\";\n case 0x10:\n return \"SEQUENCE\";\n case 0x11:\n return \"SET\";\n case 0x12:\n return \"NumericString\";\n case 0x13:\n return \"PrintableString\"; // ASCII subset\n case 0x14:\n return \"TeletexString\"; // aka T61String\n case 0x15:\n return \"VideotexString\";\n case 0x16:\n return \"IA5String\"; // ASCII\n case 0x17:\n return \"UTCTime\";\n case 0x18:\n return \"GeneralizedTime\";\n case 0x19:\n return \"GraphicString\";\n case 0x1A:\n return \"VisibleString\"; // ASCII subset\n case 0x1B:\n return \"GeneralString\";\n case 0x1C:\n return \"UniversalString\";\n case 0x1E:\n return \"BMPString\";\n }\n return \"Universal_\" + this.tag.tagNumber.toString();\n case 1:\n return \"Application_\" + this.tag.tagNumber.toString();\n case 2:\n return \"[\" + this.tag.tagNumber.toString() + \"]\"; // Context\n case 3:\n return \"Private_\" + this.tag.tagNumber.toString();\n }\n };\n ASN1.prototype.content = function (maxLength) {\n if (this.tag === undefined) {\n return null;\n }\n if (maxLength === undefined) {\n maxLength = Infinity;\n }\n var content = this.posContent();\n var len = Math.abs(this.length);\n if (!this.tag.isUniversal()) {\n if (this.sub !== null) {\n return \"(\" + this.sub.length + \" elem)\";\n }\n return this.stream.parseOctetString(content, content + len, maxLength);\n }\n switch (this.tag.tagNumber) {\n case 0x01: // BOOLEAN\n return (this.stream.get(content) === 0) ? \"false\" : \"true\";\n case 0x02: // INTEGER\n return this.stream.parseInteger(content, content + len);\n case 0x03: // BIT_STRING\n return this.sub ? \"(\" + this.sub.length + \" elem)\" :\n this.stream.parseBitString(content, content + len, maxLength);\n case 0x04: // OCTET_STRING\n return this.sub ? \"(\" + this.sub.length + \" elem)\" :\n this.stream.parseOctetString(content, content + len, maxLength);\n // case 0x05: // NULL\n case 0x06: // OBJECT_IDENTIFIER\n return this.stream.parseOID(content, content + len, maxLength);\n // case 0x07: // ObjectDescriptor\n // case 0x08: // EXTERNAL\n // case 0x09: // REAL\n // case 0x0A: // ENUMERATED\n // case 0x0B: // EMBEDDED_PDV\n case 0x10: // SEQUENCE\n case 0x11: // SET\n if (this.sub !== null) {\n return \"(\" + this.sub.length + \" elem)\";\n }\n else {\n return \"(no elem)\";\n }\n case 0x0C: // UTF8String\n return stringCut(this.stream.parseStringUTF(content, content + len), maxLength);\n case 0x12: // NumericString\n case 0x13: // PrintableString\n case 0x14: // TeletexString\n case 0x15: // VideotexString\n case 0x16: // IA5String\n // case 0x19: // GraphicString\n case 0x1A: // VisibleString\n // case 0x1B: // GeneralString\n // case 0x1C: // UniversalString\n return stringCut(this.stream.parseStringISO(content, content + len), maxLength);\n case 0x1E: // BMPString\n return stringCut(this.stream.parseStringBMP(content, content + len), maxLength);\n case 0x17: // UTCTime\n case 0x18: // GeneralizedTime\n return this.stream.parseTime(content, content + len, (this.tag.tagNumber == 0x17));\n }\n return null;\n };\n ASN1.prototype.toString = function () {\n return this.typeName() + \"@\" + this.stream.pos + \"[header:\" + this.header + \",length:\" + this.length + \",sub:\" + ((this.sub === null) ? \"null\" : this.sub.length) + \"]\";\n };\n ASN1.prototype.toPrettyString = function (indent) {\n if (indent === undefined) {\n indent = \"\";\n }\n var s = indent + this.typeName() + \" @\" + this.stream.pos;\n if (this.length >= 0) {\n s += \"+\";\n }\n s += this.length;\n if (this.tag.tagConstructed) {\n s += \" (constructed)\";\n }\n else if ((this.tag.isUniversal() && ((this.tag.tagNumber == 0x03) || (this.tag.tagNumber == 0x04))) && (this.sub !== null)) {\n s += \" (encapsulates)\";\n }\n s += \"\\n\";\n if (this.sub !== null) {\n indent += \" \";\n for (var i = 0, max = this.sub.length; i < max; ++i) {\n s += this.sub[i].toPrettyString(indent);\n }\n }\n return s;\n };\n ASN1.prototype.posStart = function () {\n return this.stream.pos;\n };\n ASN1.prototype.posContent = function () {\n return this.stream.pos + this.header;\n };\n ASN1.prototype.posEnd = function () {\n return this.stream.pos + this.header + Math.abs(this.length);\n };\n ASN1.prototype.toHexString = function () {\n return this.stream.hexDump(this.posStart(), this.posEnd(), true);\n };\n ASN1.decodeLength = function (stream) {\n var buf = stream.get();\n var len = buf & 0x7F;\n if (len == buf) {\n return len;\n }\n // no reason to use Int10, as it would be a huge buffer anyways\n if (len > 6) {\n throw new Error(\"Length over 48 bits not supported at position \" + (stream.pos - 1));\n }\n if (len === 0) {\n return null;\n } // undefined\n buf = 0;\n for (var i = 0; i < len; ++i) {\n buf = (buf * 256) + stream.get();\n }\n return buf;\n };\n /**\n * Retrieve the hexadecimal value (as a string) of the current ASN.1 element\n * @returns {string}\n * @public\n */\n ASN1.prototype.getHexStringValue = function () {\n var hexString = this.toHexString();\n var offset = this.header * 2;\n var length = this.length * 2;\n return hexString.substr(offset, length);\n };\n ASN1.decode = function (str) {\n var stream;\n if (!(str instanceof Stream)) {\n stream = new Stream(str, 0);\n }\n else {\n stream = str;\n }\n var streamStart = new Stream(stream);\n var tag = new ASN1Tag(stream);\n var len = ASN1.decodeLength(stream);\n var start = stream.pos;\n var header = start - streamStart.pos;\n var sub = null;\n var getSub = function () {\n var ret = [];\n if (len !== null) {\n // definite length\n var end = start + len;\n while (stream.pos < end) {\n ret[ret.length] = ASN1.decode(stream);\n }\n if (stream.pos != end) {\n throw new Error(\"Content size is not correct for container starting at offset \" + start);\n }\n }\n else {\n // undefined length\n try {\n for (;;) {\n var s = ASN1.decode(stream);\n if (s.tag.isEOC()) {\n break;\n }\n ret[ret.length] = s;\n }\n len = start - stream.pos; // undefined lengths are represented as negative values\n }\n catch (e) {\n throw new Error(\"Exception while decoding undefined length content: \" + e);\n }\n }\n return ret;\n };\n if (tag.tagConstructed) {\n // must have valid content\n sub = getSub();\n }\n else if (tag.isUniversal() && ((tag.tagNumber == 0x03) || (tag.tagNumber == 0x04))) {\n // sometimes BitString and OctetString are used to encapsulate ASN.1\n try {\n if (tag.tagNumber == 0x03) {\n if (stream.get() != 0) {\n throw new Error(\"BIT STRINGs with unused bits cannot encapsulate.\");\n }\n }\n sub = getSub();\n for (var i = 0; i < sub.length; ++i) {\n if (sub[i].tag.isEOC()) {\n throw new Error(\"EOC is not supposed to be actual content.\");\n }\n }\n }\n catch (e) {\n // but silently ignore when they don't\n sub = null;\n }\n }\n if (sub === null) {\n if (len === null) {\n throw new Error(\"We can't skip over an invalid tag with undefined length at offset \" + start);\n }\n stream.pos = start + Math.abs(len);\n }\n return new ASN1(streamStart, header, len, tag, sub);\n };\n return ASN1;\n}());\n\nvar ASN1Tag = /** @class */ (function () {\n function ASN1Tag(stream) {\n var buf = stream.get();\n this.tagClass = buf >> 6;\n this.tagConstructed = ((buf & 0x20) !== 0);\n this.tagNumber = buf & 0x1F;\n if (this.tagNumber == 0x1F) { // long tag\n var n = new _int10__WEBPACK_IMPORTED_MODULE_0__.Int10();\n do {\n buf = stream.get();\n n.mulAdd(128, buf & 0x7F);\n } while (buf & 0x80);\n this.tagNumber = n.simplify();\n }\n }\n ASN1Tag.prototype.isUniversal = function () {\n return this.tagClass === 0x00;\n };\n ASN1Tag.prototype.isEOC = function () {\n return this.tagClass === 0x00 && this.tagNumber === 0x00;\n };\n return ASN1Tag;\n}());\n\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/asn1js/asn1.js?"); + +/***/ }), + +/***/ "./lib/lib/asn1js/base64.js": +/*!**********************************!*\ + !*** ./lib/lib/asn1js/base64.js ***! + \**********************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Base64\": () => (/* binding */ Base64)\n/* harmony export */ });\n// Base64 JavaScript decoder\n// Copyright (c) 2008-2013 Lapo Luchini \n// Permission to use, copy, modify, and/or distribute this software for any\n// purpose with or without fee is hereby granted, provided that the above\n// copyright notice and this permission notice appear in all copies.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n/*jshint browser: true, strict: true, immed: true, latedef: true, undef: true, regexdash: false */\nvar decoder;\nvar Base64 = {\n decode: function (a) {\n var i;\n if (decoder === undefined) {\n var b64 = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\n var ignore = \"= \\f\\n\\r\\t\\u00A0\\u2028\\u2029\";\n decoder = Object.create(null);\n for (i = 0; i < 64; ++i) {\n decoder[b64.charAt(i)] = i;\n }\n decoder['-'] = 62; //+\n decoder['_'] = 63; //-\n for (i = 0; i < ignore.length; ++i) {\n decoder[ignore.charAt(i)] = -1;\n }\n }\n var out = [];\n var bits = 0;\n var char_count = 0;\n for (i = 0; i < a.length; ++i) {\n var c = a.charAt(i);\n if (c == \"=\") {\n break;\n }\n c = decoder[c];\n if (c == -1) {\n continue;\n }\n if (c === undefined) {\n throw new Error(\"Illegal character at offset \" + i);\n }\n bits |= c;\n if (++char_count >= 4) {\n out[out.length] = (bits >> 16);\n out[out.length] = (bits >> 8) & 0xFF;\n out[out.length] = bits & 0xFF;\n bits = 0;\n char_count = 0;\n }\n else {\n bits <<= 6;\n }\n }\n switch (char_count) {\n case 1:\n throw new Error(\"Base64 encoding incomplete: at least 2 bits missing\");\n case 2:\n out[out.length] = (bits >> 10);\n break;\n case 3:\n out[out.length] = (bits >> 16);\n out[out.length] = (bits >> 8) & 0xFF;\n break;\n }\n return out;\n },\n re: /-----BEGIN [^-]+-----([A-Za-z0-9+\\/=\\s]+)-----END [^-]+-----|begin-base64[^\\n]+\\n([A-Za-z0-9+\\/=\\s]+)====/,\n unarmor: function (a) {\n var m = Base64.re.exec(a);\n if (m) {\n if (m[1]) {\n a = m[1];\n }\n else if (m[2]) {\n a = m[2];\n }\n else {\n throw new Error(\"RegExp out of sync\");\n }\n }\n return Base64.decode(a);\n }\n};\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/asn1js/base64.js?"); + +/***/ }), + +/***/ "./lib/lib/asn1js/hex.js": +/*!*******************************!*\ + !*** ./lib/lib/asn1js/hex.js ***! + \*******************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Hex\": () => (/* binding */ Hex)\n/* harmony export */ });\n// Hex JavaScript decoder\n// Copyright (c) 2008-2013 Lapo Luchini \n// Permission to use, copy, modify, and/or distribute this software for any\n// purpose with or without fee is hereby granted, provided that the above\n// copyright notice and this permission notice appear in all copies.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n/*jshint browser: true, strict: true, immed: true, latedef: true, undef: true, regexdash: false */\nvar decoder;\nvar Hex = {\n decode: function (a) {\n var i;\n if (decoder === undefined) {\n var hex = \"0123456789ABCDEF\";\n var ignore = \" \\f\\n\\r\\t\\u00A0\\u2028\\u2029\";\n decoder = {};\n for (i = 0; i < 16; ++i) {\n decoder[hex.charAt(i)] = i;\n }\n hex = hex.toLowerCase();\n for (i = 10; i < 16; ++i) {\n decoder[hex.charAt(i)] = i;\n }\n for (i = 0; i < ignore.length; ++i) {\n decoder[ignore.charAt(i)] = -1;\n }\n }\n var out = [];\n var bits = 0;\n var char_count = 0;\n for (i = 0; i < a.length; ++i) {\n var c = a.charAt(i);\n if (c == \"=\") {\n break;\n }\n c = decoder[c];\n if (c == -1) {\n continue;\n }\n if (c === undefined) {\n throw new Error(\"Illegal character at offset \" + i);\n }\n bits |= c;\n if (++char_count >= 2) {\n out[out.length] = bits;\n bits = 0;\n char_count = 0;\n }\n else {\n bits <<= 4;\n }\n }\n if (char_count) {\n throw new Error(\"Hex encoding incomplete: 4 bits missing\");\n }\n return out;\n }\n};\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/asn1js/hex.js?"); + +/***/ }), + +/***/ "./lib/lib/asn1js/int10.js": +/*!*********************************!*\ + !*** ./lib/lib/asn1js/int10.js ***! + \*********************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Int10\": () => (/* binding */ Int10)\n/* harmony export */ });\n// Big integer base-10 printing library\n// Copyright (c) 2014 Lapo Luchini \n// Permission to use, copy, modify, and/or distribute this software for any\n// purpose with or without fee is hereby granted, provided that the above\n// copyright notice and this permission notice appear in all copies.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n/*jshint browser: true, strict: true, immed: true, latedef: true, undef: true, regexdash: false */\nvar max = 10000000000000; // biggest integer that can still fit 2^53 when multiplied by 256\nvar Int10 = /** @class */ (function () {\n function Int10(value) {\n this.buf = [+value || 0];\n }\n Int10.prototype.mulAdd = function (m, c) {\n // assert(m <= 256)\n var b = this.buf;\n var l = b.length;\n var i;\n var t;\n for (i = 0; i < l; ++i) {\n t = b[i] * m + c;\n if (t < max) {\n c = 0;\n }\n else {\n c = 0 | (t / max);\n t -= c * max;\n }\n b[i] = t;\n }\n if (c > 0) {\n b[i] = c;\n }\n };\n Int10.prototype.sub = function (c) {\n // assert(m <= 256)\n var b = this.buf;\n var l = b.length;\n var i;\n var t;\n for (i = 0; i < l; ++i) {\n t = b[i] - c;\n if (t < 0) {\n t += max;\n c = 1;\n }\n else {\n c = 0;\n }\n b[i] = t;\n }\n while (b[b.length - 1] === 0) {\n b.pop();\n }\n };\n Int10.prototype.toString = function (base) {\n if ((base || 10) != 10) {\n throw new Error(\"only base 10 is supported\");\n }\n var b = this.buf;\n var s = b[b.length - 1].toString();\n for (var i = b.length - 2; i >= 0; --i) {\n s += (max + b[i]).toString().substring(1);\n }\n return s;\n };\n Int10.prototype.valueOf = function () {\n var b = this.buf;\n var v = 0;\n for (var i = b.length - 1; i >= 0; --i) {\n v = v * max + b[i];\n }\n return v;\n };\n Int10.prototype.simplify = function () {\n var b = this.buf;\n return (b.length == 1) ? b[0] : this;\n };\n return Int10;\n}());\n\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/asn1js/int10.js?"); + +/***/ }), + +/***/ "./lib/lib/jsbn/base64.js": +/*!********************************!*\ + !*** ./lib/lib/jsbn/base64.js ***! + \********************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"b64toBA\": () => (/* binding */ b64toBA),\n/* harmony export */ \"b64tohex\": () => (/* binding */ b64tohex),\n/* harmony export */ \"hex2b64\": () => (/* binding */ hex2b64)\n/* harmony export */ });\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util */ \"./lib/lib/jsbn/util.js\");\n\nvar b64map = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\nvar b64pad = \"=\";\nfunction hex2b64(h) {\n var i;\n var c;\n var ret = \"\";\n for (i = 0; i + 3 <= h.length; i += 3) {\n c = parseInt(h.substring(i, i + 3), 16);\n ret += b64map.charAt(c >> 6) + b64map.charAt(c & 63);\n }\n if (i + 1 == h.length) {\n c = parseInt(h.substring(i, i + 1), 16);\n ret += b64map.charAt(c << 2);\n }\n else if (i + 2 == h.length) {\n c = parseInt(h.substring(i, i + 2), 16);\n ret += b64map.charAt(c >> 2) + b64map.charAt((c & 3) << 4);\n }\n while ((ret.length & 3) > 0) {\n ret += b64pad;\n }\n return ret;\n}\n// convert a base64 string to hex\nfunction b64tohex(s) {\n var ret = \"\";\n var i;\n var k = 0; // b64 state, 0-3\n var slop = 0;\n for (i = 0; i < s.length; ++i) {\n if (s.charAt(i) == b64pad) {\n break;\n }\n var v = b64map.indexOf(s.charAt(i));\n if (v < 0) {\n continue;\n }\n if (k == 0) {\n ret += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)(v >> 2);\n slop = v & 3;\n k = 1;\n }\n else if (k == 1) {\n ret += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)((slop << 2) | (v >> 4));\n slop = v & 0xf;\n k = 2;\n }\n else if (k == 2) {\n ret += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)(slop);\n ret += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)(v >> 2);\n slop = v & 3;\n k = 3;\n }\n else {\n ret += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)((slop << 2) | (v >> 4));\n ret += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)(v & 0xf);\n k = 0;\n }\n }\n if (k == 1) {\n ret += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)(slop << 2);\n }\n return ret;\n}\n// convert a base64 string to a byte/number array\nfunction b64toBA(s) {\n // piggyback on b64tohex for now, optimize later\n var h = b64tohex(s);\n var i;\n var a = [];\n for (i = 0; 2 * i < h.length; ++i) {\n a[i] = parseInt(h.substring(2 * i, 2 * i + 2), 16);\n }\n return a;\n}\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/jsbn/base64.js?"); + +/***/ }), + +/***/ "./lib/lib/jsbn/jsbn.js": +/*!******************************!*\ + !*** ./lib/lib/jsbn/jsbn.js ***! + \******************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"BigInteger\": () => (/* binding */ BigInteger),\n/* harmony export */ \"intAt\": () => (/* binding */ intAt),\n/* harmony export */ \"nbi\": () => (/* binding */ nbi),\n/* harmony export */ \"nbits\": () => (/* binding */ nbits),\n/* harmony export */ \"nbv\": () => (/* binding */ nbv),\n/* harmony export */ \"parseBigInt\": () => (/* binding */ parseBigInt)\n/* harmony export */ });\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util */ \"./lib/lib/jsbn/util.js\");\n// Copyright (c) 2005 Tom Wu\n// All Rights Reserved.\n// See \"LICENSE\" for details.\n// Basic JavaScript BN library - subset useful for RSA encryption.\n\n// Bits per digit\nvar dbits;\n// JavaScript engine analysis\nvar canary = 0xdeadbeefcafe;\nvar j_lm = ((canary & 0xffffff) == 0xefcafe);\n//#region\nvar lowprimes = [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];\nvar lplim = (1 << 26) / lowprimes[lowprimes.length - 1];\n//#endregion\n// (public) Constructor\nvar BigInteger = /** @class */ (function () {\n function BigInteger(a, b, c) {\n if (a != null) {\n if (\"number\" == typeof a) {\n this.fromNumber(a, b, c);\n }\n else if (b == null && \"string\" != typeof a) {\n this.fromString(a, 256);\n }\n else {\n this.fromString(a, b);\n }\n }\n }\n //#region PUBLIC\n // BigInteger.prototype.toString = bnToString;\n // (public) return string representation in given radix\n BigInteger.prototype.toString = function (b) {\n if (this.s < 0) {\n return \"-\" + this.negate().toString(b);\n }\n var k;\n if (b == 16) {\n k = 4;\n }\n else if (b == 8) {\n k = 3;\n }\n else if (b == 2) {\n k = 1;\n }\n else if (b == 32) {\n k = 5;\n }\n else if (b == 4) {\n k = 2;\n }\n else {\n return this.toRadix(b);\n }\n var km = (1 << k) - 1;\n var d;\n var m = false;\n var r = \"\";\n var i = this.t;\n var p = this.DB - (i * this.DB) % k;\n if (i-- > 0) {\n if (p < this.DB && (d = this[i] >> p) > 0) {\n m = true;\n r = (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)(d);\n }\n while (i >= 0) {\n if (p < k) {\n d = (this[i] & ((1 << p) - 1)) << (k - p);\n d |= this[--i] >> (p += this.DB - k);\n }\n else {\n d = (this[i] >> (p -= k)) & km;\n if (p <= 0) {\n p += this.DB;\n --i;\n }\n }\n if (d > 0) {\n m = true;\n }\n if (m) {\n r += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)(d);\n }\n }\n }\n return m ? r : \"0\";\n };\n // BigInteger.prototype.negate = bnNegate;\n // (public) -this\n BigInteger.prototype.negate = function () {\n var r = nbi();\n BigInteger.ZERO.subTo(this, r);\n return r;\n };\n // BigInteger.prototype.abs = bnAbs;\n // (public) |this|\n BigInteger.prototype.abs = function () {\n return (this.s < 0) ? this.negate() : this;\n };\n // BigInteger.prototype.compareTo = bnCompareTo;\n // (public) return + if this > a, - if this < a, 0 if equal\n BigInteger.prototype.compareTo = function (a) {\n var r = this.s - a.s;\n if (r != 0) {\n return r;\n }\n var i = this.t;\n r = i - a.t;\n if (r != 0) {\n return (this.s < 0) ? -r : r;\n }\n while (--i >= 0) {\n if ((r = this[i] - a[i]) != 0) {\n return r;\n }\n }\n return 0;\n };\n // BigInteger.prototype.bitLength = bnBitLength;\n // (public) return the number of bits in \"this\"\n BigInteger.prototype.bitLength = function () {\n if (this.t <= 0) {\n return 0;\n }\n return this.DB * (this.t - 1) + nbits(this[this.t - 1] ^ (this.s & this.DM));\n };\n // BigInteger.prototype.mod = bnMod;\n // (public) this mod a\n BigInteger.prototype.mod = function (a) {\n var r = nbi();\n this.abs().divRemTo(a, null, r);\n if (this.s < 0 && r.compareTo(BigInteger.ZERO) > 0) {\n a.subTo(r, r);\n }\n return r;\n };\n // BigInteger.prototype.modPowInt = bnModPowInt;\n // (public) this^e % m, 0 <= e < 2^32\n BigInteger.prototype.modPowInt = function (e, m) {\n var z;\n if (e < 256 || m.isEven()) {\n z = new Classic(m);\n }\n else {\n z = new Montgomery(m);\n }\n return this.exp(e, z);\n };\n // BigInteger.prototype.clone = bnClone;\n // (public)\n BigInteger.prototype.clone = function () {\n var r = nbi();\n this.copyTo(r);\n return r;\n };\n // BigInteger.prototype.intValue = bnIntValue;\n // (public) return value as integer\n BigInteger.prototype.intValue = function () {\n if (this.s < 0) {\n if (this.t == 1) {\n return this[0] - this.DV;\n }\n else if (this.t == 0) {\n return -1;\n }\n }\n else if (this.t == 1) {\n return this[0];\n }\n else if (this.t == 0) {\n return 0;\n }\n // assumes 16 < DB < 32\n return ((this[1] & ((1 << (32 - this.DB)) - 1)) << this.DB) | this[0];\n };\n // BigInteger.prototype.byteValue = bnByteValue;\n // (public) return value as byte\n BigInteger.prototype.byteValue = function () {\n return (this.t == 0) ? this.s : (this[0] << 24) >> 24;\n };\n // BigInteger.prototype.shortValue = bnShortValue;\n // (public) return value as short (assumes DB>=16)\n BigInteger.prototype.shortValue = function () {\n return (this.t == 0) ? this.s : (this[0] << 16) >> 16;\n };\n // BigInteger.prototype.signum = bnSigNum;\n // (public) 0 if this == 0, 1 if this > 0\n BigInteger.prototype.signum = function () {\n if (this.s < 0) {\n return -1;\n }\n else if (this.t <= 0 || (this.t == 1 && this[0] <= 0)) {\n return 0;\n }\n else {\n return 1;\n }\n };\n // BigInteger.prototype.toByteArray = bnToByteArray;\n // (public) convert to bigendian byte array\n BigInteger.prototype.toByteArray = function () {\n var i = this.t;\n var r = [];\n r[0] = this.s;\n var p = this.DB - (i * this.DB) % 8;\n var d;\n var k = 0;\n if (i-- > 0) {\n if (p < this.DB && (d = this[i] >> p) != (this.s & this.DM) >> p) {\n r[k++] = d | (this.s << (this.DB - p));\n }\n while (i >= 0) {\n if (p < 8) {\n d = (this[i] & ((1 << p) - 1)) << (8 - p);\n d |= this[--i] >> (p += this.DB - 8);\n }\n else {\n d = (this[i] >> (p -= 8)) & 0xff;\n if (p <= 0) {\n p += this.DB;\n --i;\n }\n }\n if ((d & 0x80) != 0) {\n d |= -256;\n }\n if (k == 0 && (this.s & 0x80) != (d & 0x80)) {\n ++k;\n }\n if (k > 0 || d != this.s) {\n r[k++] = d;\n }\n }\n }\n return r;\n };\n // BigInteger.prototype.equals = bnEquals;\n BigInteger.prototype.equals = function (a) {\n return (this.compareTo(a) == 0);\n };\n // BigInteger.prototype.min = bnMin;\n BigInteger.prototype.min = function (a) {\n return (this.compareTo(a) < 0) ? this : a;\n };\n // BigInteger.prototype.max = bnMax;\n BigInteger.prototype.max = function (a) {\n return (this.compareTo(a) > 0) ? this : a;\n };\n // BigInteger.prototype.and = bnAnd;\n BigInteger.prototype.and = function (a) {\n var r = nbi();\n this.bitwiseTo(a, _util__WEBPACK_IMPORTED_MODULE_0__.op_and, r);\n return r;\n };\n // BigInteger.prototype.or = bnOr;\n BigInteger.prototype.or = function (a) {\n var r = nbi();\n this.bitwiseTo(a, _util__WEBPACK_IMPORTED_MODULE_0__.op_or, r);\n return r;\n };\n // BigInteger.prototype.xor = bnXor;\n BigInteger.prototype.xor = function (a) {\n var r = nbi();\n this.bitwiseTo(a, _util__WEBPACK_IMPORTED_MODULE_0__.op_xor, r);\n return r;\n };\n // BigInteger.prototype.andNot = bnAndNot;\n BigInteger.prototype.andNot = function (a) {\n var r = nbi();\n this.bitwiseTo(a, _util__WEBPACK_IMPORTED_MODULE_0__.op_andnot, r);\n return r;\n };\n // BigInteger.prototype.not = bnNot;\n // (public) ~this\n BigInteger.prototype.not = function () {\n var r = nbi();\n for (var i = 0; i < this.t; ++i) {\n r[i] = this.DM & ~this[i];\n }\n r.t = this.t;\n r.s = ~this.s;\n return r;\n };\n // BigInteger.prototype.shiftLeft = bnShiftLeft;\n // (public) this << n\n BigInteger.prototype.shiftLeft = function (n) {\n var r = nbi();\n if (n < 0) {\n this.rShiftTo(-n, r);\n }\n else {\n this.lShiftTo(n, r);\n }\n return r;\n };\n // BigInteger.prototype.shiftRight = bnShiftRight;\n // (public) this >> n\n BigInteger.prototype.shiftRight = function (n) {\n var r = nbi();\n if (n < 0) {\n this.lShiftTo(-n, r);\n }\n else {\n this.rShiftTo(n, r);\n }\n return r;\n };\n // BigInteger.prototype.getLowestSetBit = bnGetLowestSetBit;\n // (public) returns index of lowest 1-bit (or -1 if none)\n BigInteger.prototype.getLowestSetBit = function () {\n for (var i = 0; i < this.t; ++i) {\n if (this[i] != 0) {\n return i * this.DB + (0,_util__WEBPACK_IMPORTED_MODULE_0__.lbit)(this[i]);\n }\n }\n if (this.s < 0) {\n return this.t * this.DB;\n }\n return -1;\n };\n // BigInteger.prototype.bitCount = bnBitCount;\n // (public) return number of set bits\n BigInteger.prototype.bitCount = function () {\n var r = 0;\n var x = this.s & this.DM;\n for (var i = 0; i < this.t; ++i) {\n r += (0,_util__WEBPACK_IMPORTED_MODULE_0__.cbit)(this[i] ^ x);\n }\n return r;\n };\n // BigInteger.prototype.testBit = bnTestBit;\n // (public) true iff nth bit is set\n BigInteger.prototype.testBit = function (n) {\n var j = Math.floor(n / this.DB);\n if (j >= this.t) {\n return (this.s != 0);\n }\n return ((this[j] & (1 << (n % this.DB))) != 0);\n };\n // BigInteger.prototype.setBit = bnSetBit;\n // (public) this | (1< 1) {\n var g2 = nbi();\n z.sqrTo(g[1], g2);\n while (n <= km) {\n g[n] = nbi();\n z.mulTo(g2, g[n - 2], g[n]);\n n += 2;\n }\n }\n var j = e.t - 1;\n var w;\n var is1 = true;\n var r2 = nbi();\n var t;\n i = nbits(e[j]) - 1;\n while (j >= 0) {\n if (i >= k1) {\n w = (e[j] >> (i - k1)) & km;\n }\n else {\n w = (e[j] & ((1 << (i + 1)) - 1)) << (k1 - i);\n if (j > 0) {\n w |= e[j - 1] >> (this.DB + i - k1);\n }\n }\n n = k;\n while ((w & 1) == 0) {\n w >>= 1;\n --n;\n }\n if ((i -= n) < 0) {\n i += this.DB;\n --j;\n }\n if (is1) { // ret == 1, don't bother squaring or multiplying it\n g[w].copyTo(r);\n is1 = false;\n }\n else {\n while (n > 1) {\n z.sqrTo(r, r2);\n z.sqrTo(r2, r);\n n -= 2;\n }\n if (n > 0) {\n z.sqrTo(r, r2);\n }\n else {\n t = r;\n r = r2;\n r2 = t;\n }\n z.mulTo(r2, g[w], r);\n }\n while (j >= 0 && (e[j] & (1 << i)) == 0) {\n z.sqrTo(r, r2);\n t = r;\n r = r2;\n r2 = t;\n if (--i < 0) {\n i = this.DB - 1;\n --j;\n }\n }\n }\n return z.revert(r);\n };\n // BigInteger.prototype.modInverse = bnModInverse;\n // (public) 1/this % m (HAC 14.61)\n BigInteger.prototype.modInverse = function (m) {\n var ac = m.isEven();\n if ((this.isEven() && ac) || m.signum() == 0) {\n return BigInteger.ZERO;\n }\n var u = m.clone();\n var v = this.clone();\n var a = nbv(1);\n var b = nbv(0);\n var c = nbv(0);\n var d = nbv(1);\n while (u.signum() != 0) {\n while (u.isEven()) {\n u.rShiftTo(1, u);\n if (ac) {\n if (!a.isEven() || !b.isEven()) {\n a.addTo(this, a);\n b.subTo(m, b);\n }\n a.rShiftTo(1, a);\n }\n else if (!b.isEven()) {\n b.subTo(m, b);\n }\n b.rShiftTo(1, b);\n }\n while (v.isEven()) {\n v.rShiftTo(1, v);\n if (ac) {\n if (!c.isEven() || !d.isEven()) {\n c.addTo(this, c);\n d.subTo(m, d);\n }\n c.rShiftTo(1, c);\n }\n else if (!d.isEven()) {\n d.subTo(m, d);\n }\n d.rShiftTo(1, d);\n }\n if (u.compareTo(v) >= 0) {\n u.subTo(v, u);\n if (ac) {\n a.subTo(c, a);\n }\n b.subTo(d, b);\n }\n else {\n v.subTo(u, v);\n if (ac) {\n c.subTo(a, c);\n }\n d.subTo(b, d);\n }\n }\n if (v.compareTo(BigInteger.ONE) != 0) {\n return BigInteger.ZERO;\n }\n if (d.compareTo(m) >= 0) {\n return d.subtract(m);\n }\n if (d.signum() < 0) {\n d.addTo(m, d);\n }\n else {\n return d;\n }\n if (d.signum() < 0) {\n return d.add(m);\n }\n else {\n return d;\n }\n };\n // BigInteger.prototype.pow = bnPow;\n // (public) this^e\n BigInteger.prototype.pow = function (e) {\n return this.exp(e, new NullExp());\n };\n // BigInteger.prototype.gcd = bnGCD;\n // (public) gcd(this,a) (HAC 14.54)\n BigInteger.prototype.gcd = function (a) {\n var x = (this.s < 0) ? this.negate() : this.clone();\n var y = (a.s < 0) ? a.negate() : a.clone();\n if (x.compareTo(y) < 0) {\n var t = x;\n x = y;\n y = t;\n }\n var i = x.getLowestSetBit();\n var g = y.getLowestSetBit();\n if (g < 0) {\n return x;\n }\n if (i < g) {\n g = i;\n }\n if (g > 0) {\n x.rShiftTo(g, x);\n y.rShiftTo(g, y);\n }\n while (x.signum() > 0) {\n if ((i = x.getLowestSetBit()) > 0) {\n x.rShiftTo(i, x);\n }\n if ((i = y.getLowestSetBit()) > 0) {\n y.rShiftTo(i, y);\n }\n if (x.compareTo(y) >= 0) {\n x.subTo(y, x);\n x.rShiftTo(1, x);\n }\n else {\n y.subTo(x, y);\n y.rShiftTo(1, y);\n }\n }\n if (g > 0) {\n y.lShiftTo(g, y);\n }\n return y;\n };\n // BigInteger.prototype.isProbablePrime = bnIsProbablePrime;\n // (public) test primality with certainty >= 1-.5^t\n BigInteger.prototype.isProbablePrime = function (t) {\n var i;\n var x = this.abs();\n if (x.t == 1 && x[0] <= lowprimes[lowprimes.length - 1]) {\n for (i = 0; i < lowprimes.length; ++i) {\n if (x[0] == lowprimes[i]) {\n return true;\n }\n }\n return false;\n }\n if (x.isEven()) {\n return false;\n }\n i = 1;\n while (i < lowprimes.length) {\n var m = lowprimes[i];\n var j = i + 1;\n while (j < lowprimes.length && m < lplim) {\n m *= lowprimes[j++];\n }\n m = x.modInt(m);\n while (i < j) {\n if (m % lowprimes[i++] == 0) {\n return false;\n }\n }\n }\n return x.millerRabin(t);\n };\n //#endregion PUBLIC\n //#region PROTECTED\n // BigInteger.prototype.copyTo = bnpCopyTo;\n // (protected) copy this to r\n BigInteger.prototype.copyTo = function (r) {\n for (var i = this.t - 1; i >= 0; --i) {\n r[i] = this[i];\n }\n r.t = this.t;\n r.s = this.s;\n };\n // BigInteger.prototype.fromInt = bnpFromInt;\n // (protected) set from integer value x, -DV <= x < DV\n BigInteger.prototype.fromInt = function (x) {\n this.t = 1;\n this.s = (x < 0) ? -1 : 0;\n if (x > 0) {\n this[0] = x;\n }\n else if (x < -1) {\n this[0] = x + this.DV;\n }\n else {\n this.t = 0;\n }\n };\n // BigInteger.prototype.fromString = bnpFromString;\n // (protected) set from string and radix\n BigInteger.prototype.fromString = function (s, b) {\n var k;\n if (b == 16) {\n k = 4;\n }\n else if (b == 8) {\n k = 3;\n }\n else if (b == 256) {\n k = 8;\n /* byte array */\n }\n else if (b == 2) {\n k = 1;\n }\n else if (b == 32) {\n k = 5;\n }\n else if (b == 4) {\n k = 2;\n }\n else {\n this.fromRadix(s, b);\n return;\n }\n this.t = 0;\n this.s = 0;\n var i = s.length;\n var mi = false;\n var sh = 0;\n while (--i >= 0) {\n var x = (k == 8) ? (+s[i]) & 0xff : intAt(s, i);\n if (x < 0) {\n if (s.charAt(i) == \"-\") {\n mi = true;\n }\n continue;\n }\n mi = false;\n if (sh == 0) {\n this[this.t++] = x;\n }\n else if (sh + k > this.DB) {\n this[this.t - 1] |= (x & ((1 << (this.DB - sh)) - 1)) << sh;\n this[this.t++] = (x >> (this.DB - sh));\n }\n else {\n this[this.t - 1] |= x << sh;\n }\n sh += k;\n if (sh >= this.DB) {\n sh -= this.DB;\n }\n }\n if (k == 8 && ((+s[0]) & 0x80) != 0) {\n this.s = -1;\n if (sh > 0) {\n this[this.t - 1] |= ((1 << (this.DB - sh)) - 1) << sh;\n }\n }\n this.clamp();\n if (mi) {\n BigInteger.ZERO.subTo(this, this);\n }\n };\n // BigInteger.prototype.clamp = bnpClamp;\n // (protected) clamp off excess high words\n BigInteger.prototype.clamp = function () {\n var c = this.s & this.DM;\n while (this.t > 0 && this[this.t - 1] == c) {\n --this.t;\n }\n };\n // BigInteger.prototype.dlShiftTo = bnpDLShiftTo;\n // (protected) r = this << n*DB\n BigInteger.prototype.dlShiftTo = function (n, r) {\n var i;\n for (i = this.t - 1; i >= 0; --i) {\n r[i + n] = this[i];\n }\n for (i = n - 1; i >= 0; --i) {\n r[i] = 0;\n }\n r.t = this.t + n;\n r.s = this.s;\n };\n // BigInteger.prototype.drShiftTo = bnpDRShiftTo;\n // (protected) r = this >> n*DB\n BigInteger.prototype.drShiftTo = function (n, r) {\n for (var i = n; i < this.t; ++i) {\n r[i - n] = this[i];\n }\n r.t = Math.max(this.t - n, 0);\n r.s = this.s;\n };\n // BigInteger.prototype.lShiftTo = bnpLShiftTo;\n // (protected) r = this << n\n BigInteger.prototype.lShiftTo = function (n, r) {\n var bs = n % this.DB;\n var cbs = this.DB - bs;\n var bm = (1 << cbs) - 1;\n var ds = Math.floor(n / this.DB);\n var c = (this.s << bs) & this.DM;\n for (var i = this.t - 1; i >= 0; --i) {\n r[i + ds + 1] = (this[i] >> cbs) | c;\n c = (this[i] & bm) << bs;\n }\n for (var i = ds - 1; i >= 0; --i) {\n r[i] = 0;\n }\n r[ds] = c;\n r.t = this.t + ds + 1;\n r.s = this.s;\n r.clamp();\n };\n // BigInteger.prototype.rShiftTo = bnpRShiftTo;\n // (protected) r = this >> n\n BigInteger.prototype.rShiftTo = function (n, r) {\n r.s = this.s;\n var ds = Math.floor(n / this.DB);\n if (ds >= this.t) {\n r.t = 0;\n return;\n }\n var bs = n % this.DB;\n var cbs = this.DB - bs;\n var bm = (1 << bs) - 1;\n r[0] = this[ds] >> bs;\n for (var i = ds + 1; i < this.t; ++i) {\n r[i - ds - 1] |= (this[i] & bm) << cbs;\n r[i - ds] = this[i] >> bs;\n }\n if (bs > 0) {\n r[this.t - ds - 1] |= (this.s & bm) << cbs;\n }\n r.t = this.t - ds;\n r.clamp();\n };\n // BigInteger.prototype.subTo = bnpSubTo;\n // (protected) r = this - a\n BigInteger.prototype.subTo = function (a, r) {\n var i = 0;\n var c = 0;\n var m = Math.min(a.t, this.t);\n while (i < m) {\n c += this[i] - a[i];\n r[i++] = c & this.DM;\n c >>= this.DB;\n }\n if (a.t < this.t) {\n c -= a.s;\n while (i < this.t) {\n c += this[i];\n r[i++] = c & this.DM;\n c >>= this.DB;\n }\n c += this.s;\n }\n else {\n c += this.s;\n while (i < a.t) {\n c -= a[i];\n r[i++] = c & this.DM;\n c >>= this.DB;\n }\n c -= a.s;\n }\n r.s = (c < 0) ? -1 : 0;\n if (c < -1) {\n r[i++] = this.DV + c;\n }\n else if (c > 0) {\n r[i++] = c;\n }\n r.t = i;\n r.clamp();\n };\n // BigInteger.prototype.multiplyTo = bnpMultiplyTo;\n // (protected) r = this * a, r != this,a (HAC 14.12)\n // \"this\" should be the larger one if appropriate.\n BigInteger.prototype.multiplyTo = function (a, r) {\n var x = this.abs();\n var y = a.abs();\n var i = x.t;\n r.t = i + y.t;\n while (--i >= 0) {\n r[i] = 0;\n }\n for (i = 0; i < y.t; ++i) {\n r[i + x.t] = x.am(0, y[i], r, i, 0, x.t);\n }\n r.s = 0;\n r.clamp();\n if (this.s != a.s) {\n BigInteger.ZERO.subTo(r, r);\n }\n };\n // BigInteger.prototype.squareTo = bnpSquareTo;\n // (protected) r = this^2, r != this (HAC 14.16)\n BigInteger.prototype.squareTo = function (r) {\n var x = this.abs();\n var i = r.t = 2 * x.t;\n while (--i >= 0) {\n r[i] = 0;\n }\n for (i = 0; i < x.t - 1; ++i) {\n var c = x.am(i, x[i], r, 2 * i, 0, 1);\n if ((r[i + x.t] += x.am(i + 1, 2 * x[i], r, 2 * i + 1, c, x.t - i - 1)) >= x.DV) {\n r[i + x.t] -= x.DV;\n r[i + x.t + 1] = 1;\n }\n }\n if (r.t > 0) {\n r[r.t - 1] += x.am(i, x[i], r, 2 * i, 0, 1);\n }\n r.s = 0;\n r.clamp();\n };\n // BigInteger.prototype.divRemTo = bnpDivRemTo;\n // (protected) divide this by m, quotient and remainder to q, r (HAC 14.20)\n // r != q, this != m. q or r may be null.\n BigInteger.prototype.divRemTo = function (m, q, r) {\n var pm = m.abs();\n if (pm.t <= 0) {\n return;\n }\n var pt = this.abs();\n if (pt.t < pm.t) {\n if (q != null) {\n q.fromInt(0);\n }\n if (r != null) {\n this.copyTo(r);\n }\n return;\n }\n if (r == null) {\n r = nbi();\n }\n var y = nbi();\n var ts = this.s;\n var ms = m.s;\n var nsh = this.DB - nbits(pm[pm.t - 1]); // normalize modulus\n if (nsh > 0) {\n pm.lShiftTo(nsh, y);\n pt.lShiftTo(nsh, r);\n }\n else {\n pm.copyTo(y);\n pt.copyTo(r);\n }\n var ys = y.t;\n var y0 = y[ys - 1];\n if (y0 == 0) {\n return;\n }\n var yt = y0 * (1 << this.F1) + ((ys > 1) ? y[ys - 2] >> this.F2 : 0);\n var d1 = this.FV / yt;\n var d2 = (1 << this.F1) / yt;\n var e = 1 << this.F2;\n var i = r.t;\n var j = i - ys;\n var t = (q == null) ? nbi() : q;\n y.dlShiftTo(j, t);\n if (r.compareTo(t) >= 0) {\n r[r.t++] = 1;\n r.subTo(t, r);\n }\n BigInteger.ONE.dlShiftTo(ys, t);\n t.subTo(y, y); // \"negative\" y so we can replace sub with am later\n while (y.t < ys) {\n y[y.t++] = 0;\n }\n while (--j >= 0) {\n // Estimate quotient digit\n var qd = (r[--i] == y0) ? this.DM : Math.floor(r[i] * d1 + (r[i - 1] + e) * d2);\n if ((r[i] += y.am(0, qd, r, j, 0, ys)) < qd) { // Try it out\n y.dlShiftTo(j, t);\n r.subTo(t, r);\n while (r[i] < --qd) {\n r.subTo(t, r);\n }\n }\n }\n if (q != null) {\n r.drShiftTo(ys, q);\n if (ts != ms) {\n BigInteger.ZERO.subTo(q, q);\n }\n }\n r.t = ys;\n r.clamp();\n if (nsh > 0) {\n r.rShiftTo(nsh, r);\n } // Denormalize remainder\n if (ts < 0) {\n BigInteger.ZERO.subTo(r, r);\n }\n };\n // BigInteger.prototype.invDigit = bnpInvDigit;\n // (protected) return \"-1/this % 2^DB\"; useful for Mont. reduction\n // justification:\n // xy == 1 (mod m)\n // xy = 1+km\n // xy(2-xy) = (1+km)(1-km)\n // x[y(2-xy)] = 1-k^2m^2\n // x[y(2-xy)] == 1 (mod m^2)\n // if y is 1/x mod m, then y(2-xy) is 1/x mod m^2\n // should reduce x and y(2-xy) by m^2 at each step to keep size bounded.\n // JS multiply \"overflows\" differently from C/C++, so care is needed here.\n BigInteger.prototype.invDigit = function () {\n if (this.t < 1) {\n return 0;\n }\n var x = this[0];\n if ((x & 1) == 0) {\n return 0;\n }\n var y = x & 3; // y == 1/x mod 2^2\n y = (y * (2 - (x & 0xf) * y)) & 0xf; // y == 1/x mod 2^4\n y = (y * (2 - (x & 0xff) * y)) & 0xff; // y == 1/x mod 2^8\n y = (y * (2 - (((x & 0xffff) * y) & 0xffff))) & 0xffff; // y == 1/x mod 2^16\n // last step - calculate inverse mod DV directly;\n // assumes 16 < DB <= 32 and assumes ability to handle 48-bit ints\n y = (y * (2 - x * y % this.DV)) % this.DV; // y == 1/x mod 2^dbits\n // we really want the negative inverse, and -DV < y < DV\n return (y > 0) ? this.DV - y : -y;\n };\n // BigInteger.prototype.isEven = bnpIsEven;\n // (protected) true iff this is even\n BigInteger.prototype.isEven = function () {\n return ((this.t > 0) ? (this[0] & 1) : this.s) == 0;\n };\n // BigInteger.prototype.exp = bnpExp;\n // (protected) this^e, e < 2^32, doing sqr and mul with \"r\" (HAC 14.79)\n BigInteger.prototype.exp = function (e, z) {\n if (e > 0xffffffff || e < 1) {\n return BigInteger.ONE;\n }\n var r = nbi();\n var r2 = nbi();\n var g = z.convert(this);\n var i = nbits(e) - 1;\n g.copyTo(r);\n while (--i >= 0) {\n z.sqrTo(r, r2);\n if ((e & (1 << i)) > 0) {\n z.mulTo(r2, g, r);\n }\n else {\n var t = r;\n r = r2;\n r2 = t;\n }\n }\n return z.revert(r);\n };\n // BigInteger.prototype.chunkSize = bnpChunkSize;\n // (protected) return x s.t. r^x < DV\n BigInteger.prototype.chunkSize = function (r) {\n return Math.floor(Math.LN2 * this.DB / Math.log(r));\n };\n // BigInteger.prototype.toRadix = bnpToRadix;\n // (protected) convert to radix string\n BigInteger.prototype.toRadix = function (b) {\n if (b == null) {\n b = 10;\n }\n if (this.signum() == 0 || b < 2 || b > 36) {\n return \"0\";\n }\n var cs = this.chunkSize(b);\n var a = Math.pow(b, cs);\n var d = nbv(a);\n var y = nbi();\n var z = nbi();\n var r = \"\";\n this.divRemTo(d, y, z);\n while (y.signum() > 0) {\n r = (a + z.intValue()).toString(b).substr(1) + r;\n y.divRemTo(d, y, z);\n }\n return z.intValue().toString(b) + r;\n };\n // BigInteger.prototype.fromRadix = bnpFromRadix;\n // (protected) convert from radix string\n BigInteger.prototype.fromRadix = function (s, b) {\n this.fromInt(0);\n if (b == null) {\n b = 10;\n }\n var cs = this.chunkSize(b);\n var d = Math.pow(b, cs);\n var mi = false;\n var j = 0;\n var w = 0;\n for (var i = 0; i < s.length; ++i) {\n var x = intAt(s, i);\n if (x < 0) {\n if (s.charAt(i) == \"-\" && this.signum() == 0) {\n mi = true;\n }\n continue;\n }\n w = b * w + x;\n if (++j >= cs) {\n this.dMultiply(d);\n this.dAddOffset(w, 0);\n j = 0;\n w = 0;\n }\n }\n if (j > 0) {\n this.dMultiply(Math.pow(b, j));\n this.dAddOffset(w, 0);\n }\n if (mi) {\n BigInteger.ZERO.subTo(this, this);\n }\n };\n // BigInteger.prototype.fromNumber = bnpFromNumber;\n // (protected) alternate constructor\n BigInteger.prototype.fromNumber = function (a, b, c) {\n if (\"number\" == typeof b) {\n // new BigInteger(int,int,RNG)\n if (a < 2) {\n this.fromInt(1);\n }\n else {\n this.fromNumber(a, c);\n if (!this.testBit(a - 1)) {\n // force MSB set\n this.bitwiseTo(BigInteger.ONE.shiftLeft(a - 1), _util__WEBPACK_IMPORTED_MODULE_0__.op_or, this);\n }\n if (this.isEven()) {\n this.dAddOffset(1, 0);\n } // force odd\n while (!this.isProbablePrime(b)) {\n this.dAddOffset(2, 0);\n if (this.bitLength() > a) {\n this.subTo(BigInteger.ONE.shiftLeft(a - 1), this);\n }\n }\n }\n }\n else {\n // new BigInteger(int,RNG)\n var x = [];\n var t = a & 7;\n x.length = (a >> 3) + 1;\n b.nextBytes(x);\n if (t > 0) {\n x[0] &= ((1 << t) - 1);\n }\n else {\n x[0] = 0;\n }\n this.fromString(x, 256);\n }\n };\n // BigInteger.prototype.bitwiseTo = bnpBitwiseTo;\n // (protected) r = this op a (bitwise)\n BigInteger.prototype.bitwiseTo = function (a, op, r) {\n var i;\n var f;\n var m = Math.min(a.t, this.t);\n for (i = 0; i < m; ++i) {\n r[i] = op(this[i], a[i]);\n }\n if (a.t < this.t) {\n f = a.s & this.DM;\n for (i = m; i < this.t; ++i) {\n r[i] = op(this[i], f);\n }\n r.t = this.t;\n }\n else {\n f = this.s & this.DM;\n for (i = m; i < a.t; ++i) {\n r[i] = op(f, a[i]);\n }\n r.t = a.t;\n }\n r.s = op(this.s, a.s);\n r.clamp();\n };\n // BigInteger.prototype.changeBit = bnpChangeBit;\n // (protected) this op (1<>= this.DB;\n }\n if (a.t < this.t) {\n c += a.s;\n while (i < this.t) {\n c += this[i];\n r[i++] = c & this.DM;\n c >>= this.DB;\n }\n c += this.s;\n }\n else {\n c += this.s;\n while (i < a.t) {\n c += a[i];\n r[i++] = c & this.DM;\n c >>= this.DB;\n }\n c += a.s;\n }\n r.s = (c < 0) ? -1 : 0;\n if (c > 0) {\n r[i++] = c;\n }\n else if (c < -1) {\n r[i++] = this.DV + c;\n }\n r.t = i;\n r.clamp();\n };\n // BigInteger.prototype.dMultiply = bnpDMultiply;\n // (protected) this *= n, this >= 0, 1 < n < DV\n BigInteger.prototype.dMultiply = function (n) {\n this[this.t] = this.am(0, n - 1, this, 0, 0, this.t);\n ++this.t;\n this.clamp();\n };\n // BigInteger.prototype.dAddOffset = bnpDAddOffset;\n // (protected) this += n << w words, this >= 0\n BigInteger.prototype.dAddOffset = function (n, w) {\n if (n == 0) {\n return;\n }\n while (this.t <= w) {\n this[this.t++] = 0;\n }\n this[w] += n;\n while (this[w] >= this.DV) {\n this[w] -= this.DV;\n if (++w >= this.t) {\n this[this.t++] = 0;\n }\n ++this[w];\n }\n };\n // BigInteger.prototype.multiplyLowerTo = bnpMultiplyLowerTo;\n // (protected) r = lower n words of \"this * a\", a.t <= n\n // \"this\" should be the larger one if appropriate.\n BigInteger.prototype.multiplyLowerTo = function (a, n, r) {\n var i = Math.min(this.t + a.t, n);\n r.s = 0; // assumes a,this >= 0\n r.t = i;\n while (i > 0) {\n r[--i] = 0;\n }\n for (var j = r.t - this.t; i < j; ++i) {\n r[i + this.t] = this.am(0, a[i], r, i, 0, this.t);\n }\n for (var j = Math.min(a.t, n); i < j; ++i) {\n this.am(0, a[i], r, i, 0, n - i);\n }\n r.clamp();\n };\n // BigInteger.prototype.multiplyUpperTo = bnpMultiplyUpperTo;\n // (protected) r = \"this * a\" without lower n words, n > 0\n // \"this\" should be the larger one if appropriate.\n BigInteger.prototype.multiplyUpperTo = function (a, n, r) {\n --n;\n var i = r.t = this.t + a.t - n;\n r.s = 0; // assumes a,this >= 0\n while (--i >= 0) {\n r[i] = 0;\n }\n for (i = Math.max(n - this.t, 0); i < a.t; ++i) {\n r[this.t + i - n] = this.am(n - i, a[i], r, 0, 0, this.t + i - n);\n }\n r.clamp();\n r.drShiftTo(1, r);\n };\n // BigInteger.prototype.modInt = bnpModInt;\n // (protected) this % n, n < 2^26\n BigInteger.prototype.modInt = function (n) {\n if (n <= 0) {\n return 0;\n }\n var d = this.DV % n;\n var r = (this.s < 0) ? n - 1 : 0;\n if (this.t > 0) {\n if (d == 0) {\n r = this[0] % n;\n }\n else {\n for (var i = this.t - 1; i >= 0; --i) {\n r = (d * r + this[i]) % n;\n }\n }\n }\n return r;\n };\n // BigInteger.prototype.millerRabin = bnpMillerRabin;\n // (protected) true if probably prime (HAC 4.24, Miller-Rabin)\n BigInteger.prototype.millerRabin = function (t) {\n var n1 = this.subtract(BigInteger.ONE);\n var k = n1.getLowestSetBit();\n if (k <= 0) {\n return false;\n }\n var r = n1.shiftRight(k);\n t = (t + 1) >> 1;\n if (t > lowprimes.length) {\n t = lowprimes.length;\n }\n var a = nbi();\n for (var i = 0; i < t; ++i) {\n // Pick bases at random, instead of starting at 2\n a.fromInt(lowprimes[Math.floor(Math.random() * lowprimes.length)]);\n var y = a.modPow(r, this);\n if (y.compareTo(BigInteger.ONE) != 0 && y.compareTo(n1) != 0) {\n var j = 1;\n while (j++ < k && y.compareTo(n1) != 0) {\n y = y.modPowInt(2, this);\n if (y.compareTo(BigInteger.ONE) == 0) {\n return false;\n }\n }\n if (y.compareTo(n1) != 0) {\n return false;\n }\n }\n }\n return true;\n };\n // BigInteger.prototype.square = bnSquare;\n // (public) this^2\n BigInteger.prototype.square = function () {\n var r = nbi();\n this.squareTo(r);\n return r;\n };\n //#region ASYNC\n // Public API method\n BigInteger.prototype.gcda = function (a, callback) {\n var x = (this.s < 0) ? this.negate() : this.clone();\n var y = (a.s < 0) ? a.negate() : a.clone();\n if (x.compareTo(y) < 0) {\n var t = x;\n x = y;\n y = t;\n }\n var i = x.getLowestSetBit();\n var g = y.getLowestSetBit();\n if (g < 0) {\n callback(x);\n return;\n }\n if (i < g) {\n g = i;\n }\n if (g > 0) {\n x.rShiftTo(g, x);\n y.rShiftTo(g, y);\n }\n // Workhorse of the algorithm, gets called 200 - 800 times per 512 bit keygen.\n var gcda1 = function () {\n if ((i = x.getLowestSetBit()) > 0) {\n x.rShiftTo(i, x);\n }\n if ((i = y.getLowestSetBit()) > 0) {\n y.rShiftTo(i, y);\n }\n if (x.compareTo(y) >= 0) {\n x.subTo(y, x);\n x.rShiftTo(1, x);\n }\n else {\n y.subTo(x, y);\n y.rShiftTo(1, y);\n }\n if (!(x.signum() > 0)) {\n if (g > 0) {\n y.lShiftTo(g, y);\n }\n setTimeout(function () { callback(y); }, 0); // escape\n }\n else {\n setTimeout(gcda1, 0);\n }\n };\n setTimeout(gcda1, 10);\n };\n // (protected) alternate constructor\n BigInteger.prototype.fromNumberAsync = function (a, b, c, callback) {\n if (\"number\" == typeof b) {\n if (a < 2) {\n this.fromInt(1);\n }\n else {\n this.fromNumber(a, c);\n if (!this.testBit(a - 1)) {\n this.bitwiseTo(BigInteger.ONE.shiftLeft(a - 1), _util__WEBPACK_IMPORTED_MODULE_0__.op_or, this);\n }\n if (this.isEven()) {\n this.dAddOffset(1, 0);\n }\n var bnp_1 = this;\n var bnpfn1_1 = function () {\n bnp_1.dAddOffset(2, 0);\n if (bnp_1.bitLength() > a) {\n bnp_1.subTo(BigInteger.ONE.shiftLeft(a - 1), bnp_1);\n }\n if (bnp_1.isProbablePrime(b)) {\n setTimeout(function () { callback(); }, 0); // escape\n }\n else {\n setTimeout(bnpfn1_1, 0);\n }\n };\n setTimeout(bnpfn1_1, 0);\n }\n }\n else {\n var x = [];\n var t = a & 7;\n x.length = (a >> 3) + 1;\n b.nextBytes(x);\n if (t > 0) {\n x[0] &= ((1 << t) - 1);\n }\n else {\n x[0] = 0;\n }\n this.fromString(x, 256);\n }\n };\n return BigInteger;\n}());\n\n//#region REDUCERS\n//#region NullExp\nvar NullExp = /** @class */ (function () {\n function NullExp() {\n }\n // NullExp.prototype.convert = nNop;\n NullExp.prototype.convert = function (x) {\n return x;\n };\n // NullExp.prototype.revert = nNop;\n NullExp.prototype.revert = function (x) {\n return x;\n };\n // NullExp.prototype.mulTo = nMulTo;\n NullExp.prototype.mulTo = function (x, y, r) {\n x.multiplyTo(y, r);\n };\n // NullExp.prototype.sqrTo = nSqrTo;\n NullExp.prototype.sqrTo = function (x, r) {\n x.squareTo(r);\n };\n return NullExp;\n}());\n// Modular reduction using \"classic\" algorithm\nvar Classic = /** @class */ (function () {\n function Classic(m) {\n this.m = m;\n }\n // Classic.prototype.convert = cConvert;\n Classic.prototype.convert = function (x) {\n if (x.s < 0 || x.compareTo(this.m) >= 0) {\n return x.mod(this.m);\n }\n else {\n return x;\n }\n };\n // Classic.prototype.revert = cRevert;\n Classic.prototype.revert = function (x) {\n return x;\n };\n // Classic.prototype.reduce = cReduce;\n Classic.prototype.reduce = function (x) {\n x.divRemTo(this.m, null, x);\n };\n // Classic.prototype.mulTo = cMulTo;\n Classic.prototype.mulTo = function (x, y, r) {\n x.multiplyTo(y, r);\n this.reduce(r);\n };\n // Classic.prototype.sqrTo = cSqrTo;\n Classic.prototype.sqrTo = function (x, r) {\n x.squareTo(r);\n this.reduce(r);\n };\n return Classic;\n}());\n//#endregion\n//#region Montgomery\n// Montgomery reduction\nvar Montgomery = /** @class */ (function () {\n function Montgomery(m) {\n this.m = m;\n this.mp = m.invDigit();\n this.mpl = this.mp & 0x7fff;\n this.mph = this.mp >> 15;\n this.um = (1 << (m.DB - 15)) - 1;\n this.mt2 = 2 * m.t;\n }\n // Montgomery.prototype.convert = montConvert;\n // xR mod m\n Montgomery.prototype.convert = function (x) {\n var r = nbi();\n x.abs().dlShiftTo(this.m.t, r);\n r.divRemTo(this.m, null, r);\n if (x.s < 0 && r.compareTo(BigInteger.ZERO) > 0) {\n this.m.subTo(r, r);\n }\n return r;\n };\n // Montgomery.prototype.revert = montRevert;\n // x/R mod m\n Montgomery.prototype.revert = function (x) {\n var r = nbi();\n x.copyTo(r);\n this.reduce(r);\n return r;\n };\n // Montgomery.prototype.reduce = montReduce;\n // x = x/R mod m (HAC 14.32)\n Montgomery.prototype.reduce = function (x) {\n while (x.t <= this.mt2) {\n // pad x so am has enough room later\n x[x.t++] = 0;\n }\n for (var i = 0; i < this.m.t; ++i) {\n // faster way of calculating u0 = x[i]*mp mod DV\n var j = x[i] & 0x7fff;\n var u0 = (j * this.mpl + (((j * this.mph + (x[i] >> 15) * this.mpl) & this.um) << 15)) & x.DM;\n // use am to combine the multiply-shift-add into one call\n j = i + this.m.t;\n x[j] += this.m.am(0, u0, x, i, 0, this.m.t);\n // propagate carry\n while (x[j] >= x.DV) {\n x[j] -= x.DV;\n x[++j]++;\n }\n }\n x.clamp();\n x.drShiftTo(this.m.t, x);\n if (x.compareTo(this.m) >= 0) {\n x.subTo(this.m, x);\n }\n };\n // Montgomery.prototype.mulTo = montMulTo;\n // r = \"xy/R mod m\"; x,y != r\n Montgomery.prototype.mulTo = function (x, y, r) {\n x.multiplyTo(y, r);\n this.reduce(r);\n };\n // Montgomery.prototype.sqrTo = montSqrTo;\n // r = \"x^2/R mod m\"; x != r\n Montgomery.prototype.sqrTo = function (x, r) {\n x.squareTo(r);\n this.reduce(r);\n };\n return Montgomery;\n}());\n//#endregion Montgomery\n//#region Barrett\n// Barrett modular reduction\nvar Barrett = /** @class */ (function () {\n function Barrett(m) {\n this.m = m;\n // setup Barrett\n this.r2 = nbi();\n this.q3 = nbi();\n BigInteger.ONE.dlShiftTo(2 * m.t, this.r2);\n this.mu = this.r2.divide(m);\n }\n // Barrett.prototype.convert = barrettConvert;\n Barrett.prototype.convert = function (x) {\n if (x.s < 0 || x.t > 2 * this.m.t) {\n return x.mod(this.m);\n }\n else if (x.compareTo(this.m) < 0) {\n return x;\n }\n else {\n var r = nbi();\n x.copyTo(r);\n this.reduce(r);\n return r;\n }\n };\n // Barrett.prototype.revert = barrettRevert;\n Barrett.prototype.revert = function (x) {\n return x;\n };\n // Barrett.prototype.reduce = barrettReduce;\n // x = x mod m (HAC 14.42)\n Barrett.prototype.reduce = function (x) {\n x.drShiftTo(this.m.t - 1, this.r2);\n if (x.t > this.m.t + 1) {\n x.t = this.m.t + 1;\n x.clamp();\n }\n this.mu.multiplyUpperTo(this.r2, this.m.t + 1, this.q3);\n this.m.multiplyLowerTo(this.q3, this.m.t + 1, this.r2);\n while (x.compareTo(this.r2) < 0) {\n x.dAddOffset(1, this.m.t + 1);\n }\n x.subTo(this.r2, x);\n while (x.compareTo(this.m) >= 0) {\n x.subTo(this.m, x);\n }\n };\n // Barrett.prototype.mulTo = barrettMulTo;\n // r = x*y mod m; x,y != r\n Barrett.prototype.mulTo = function (x, y, r) {\n x.multiplyTo(y, r);\n this.reduce(r);\n };\n // Barrett.prototype.sqrTo = barrettSqrTo;\n // r = x^2 mod m; x != r\n Barrett.prototype.sqrTo = function (x, r) {\n x.squareTo(r);\n this.reduce(r);\n };\n return Barrett;\n}());\n//#endregion\n//#endregion REDUCERS\n// return new, unset BigInteger\nfunction nbi() { return new BigInteger(null); }\nfunction parseBigInt(str, r) {\n return new BigInteger(str, r);\n}\n// am: Compute w_j += (x*this_i), propagate carries,\n// c is initial carry, returns final carry.\n// c < 3*dvalue, x < 2*dvalue, this_i < dvalue\n// We need to select the fastest one that works in this environment.\nvar inBrowser = typeof navigator !== \"undefined\";\nif (inBrowser && j_lm && (navigator.appName == \"Microsoft Internet Explorer\")) {\n // am2 avoids a big mult-and-extract completely.\n // Max digit bits should be <= 30 because we do bitwise ops\n // on values up to 2*hdvalue^2-hdvalue-1 (< 2^31)\n BigInteger.prototype.am = function am2(i, x, w, j, c, n) {\n var xl = x & 0x7fff;\n var xh = x >> 15;\n while (--n >= 0) {\n var l = this[i] & 0x7fff;\n var h = this[i++] >> 15;\n var m = xh * l + h * xl;\n l = xl * l + ((m & 0x7fff) << 15) + w[j] + (c & 0x3fffffff);\n c = (l >>> 30) + (m >>> 15) + xh * h + (c >>> 30);\n w[j++] = l & 0x3fffffff;\n }\n return c;\n };\n dbits = 30;\n}\nelse if (inBrowser && j_lm && (navigator.appName != \"Netscape\")) {\n // am1: use a single mult and divide to get the high bits,\n // max digit bits should be 26 because\n // max internal value = 2*dvalue^2-2*dvalue (< 2^53)\n BigInteger.prototype.am = function am1(i, x, w, j, c, n) {\n while (--n >= 0) {\n var v = x * this[i++] + w[j] + c;\n c = Math.floor(v / 0x4000000);\n w[j++] = v & 0x3ffffff;\n }\n return c;\n };\n dbits = 26;\n}\nelse { // Mozilla/Netscape seems to prefer am3\n // Alternately, set max digit bits to 28 since some\n // browsers slow down when dealing with 32-bit numbers.\n BigInteger.prototype.am = function am3(i, x, w, j, c, n) {\n var xl = x & 0x3fff;\n var xh = x >> 14;\n while (--n >= 0) {\n var l = this[i] & 0x3fff;\n var h = this[i++] >> 14;\n var m = xh * l + h * xl;\n l = xl * l + ((m & 0x3fff) << 14) + w[j] + c;\n c = (l >> 28) + (m >> 14) + xh * h;\n w[j++] = l & 0xfffffff;\n }\n return c;\n };\n dbits = 28;\n}\nBigInteger.prototype.DB = dbits;\nBigInteger.prototype.DM = ((1 << dbits) - 1);\nBigInteger.prototype.DV = (1 << dbits);\nvar BI_FP = 52;\nBigInteger.prototype.FV = Math.pow(2, BI_FP);\nBigInteger.prototype.F1 = BI_FP - dbits;\nBigInteger.prototype.F2 = 2 * dbits - BI_FP;\n// Digit conversions\nvar BI_RC = [];\nvar rr;\nvar vv;\nrr = \"0\".charCodeAt(0);\nfor (vv = 0; vv <= 9; ++vv) {\n BI_RC[rr++] = vv;\n}\nrr = \"a\".charCodeAt(0);\nfor (vv = 10; vv < 36; ++vv) {\n BI_RC[rr++] = vv;\n}\nrr = \"A\".charCodeAt(0);\nfor (vv = 10; vv < 36; ++vv) {\n BI_RC[rr++] = vv;\n}\nfunction intAt(s, i) {\n var c = BI_RC[s.charCodeAt(i)];\n return (c == null) ? -1 : c;\n}\n// return bigint initialized to value\nfunction nbv(i) {\n var r = nbi();\n r.fromInt(i);\n return r;\n}\n// returns bit length of the integer x\nfunction nbits(x) {\n var r = 1;\n var t;\n if ((t = x >>> 16) != 0) {\n x = t;\n r += 16;\n }\n if ((t = x >> 8) != 0) {\n x = t;\n r += 8;\n }\n if ((t = x >> 4) != 0) {\n x = t;\n r += 4;\n }\n if ((t = x >> 2) != 0) {\n x = t;\n r += 2;\n }\n if ((t = x >> 1) != 0) {\n x = t;\n r += 1;\n }\n return r;\n}\n// \"constants\"\nBigInteger.ZERO = nbv(0);\nBigInteger.ONE = nbv(1);\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/jsbn/jsbn.js?"); + +/***/ }), + +/***/ "./lib/lib/jsbn/prng4.js": +/*!*******************************!*\ + !*** ./lib/lib/jsbn/prng4.js ***! + \*******************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Arcfour\": () => (/* binding */ Arcfour),\n/* harmony export */ \"prng_newstate\": () => (/* binding */ prng_newstate),\n/* harmony export */ \"rng_psize\": () => (/* binding */ rng_psize)\n/* harmony export */ });\n// prng4.js - uses Arcfour as a PRNG\nvar Arcfour = /** @class */ (function () {\n function Arcfour() {\n this.i = 0;\n this.j = 0;\n this.S = [];\n }\n // Arcfour.prototype.init = ARC4init;\n // Initialize arcfour context from key, an array of ints, each from [0..255]\n Arcfour.prototype.init = function (key) {\n var i;\n var j;\n var t;\n for (i = 0; i < 256; ++i) {\n this.S[i] = i;\n }\n j = 0;\n for (i = 0; i < 256; ++i) {\n j = (j + this.S[i] + key[i % key.length]) & 255;\n t = this.S[i];\n this.S[i] = this.S[j];\n this.S[j] = t;\n }\n this.i = 0;\n this.j = 0;\n };\n // Arcfour.prototype.next = ARC4next;\n Arcfour.prototype.next = function () {\n var t;\n this.i = (this.i + 1) & 255;\n this.j = (this.j + this.S[this.i]) & 255;\n t = this.S[this.i];\n this.S[this.i] = this.S[this.j];\n this.S[this.j] = t;\n return this.S[(t + this.S[this.i]) & 255];\n };\n return Arcfour;\n}());\n\n// Plug in your RNG constructor here\nfunction prng_newstate() {\n return new Arcfour();\n}\n// Pool size must be a multiple of 4 and greater than 32.\n// An array of bytes the size of the pool will be passed to init()\nvar rng_psize = 256;\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/jsbn/prng4.js?"); + +/***/ }), + +/***/ "./lib/lib/jsbn/rng.js": +/*!*****************************!*\ + !*** ./lib/lib/jsbn/rng.js ***! + \*****************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"SecureRandom\": () => (/* binding */ SecureRandom)\n/* harmony export */ });\n/* harmony import */ var _prng4__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./prng4 */ \"./lib/lib/jsbn/prng4.js\");\n// Random number generator - requires a PRNG backend, e.g. prng4.js\n\nvar rng_state;\nvar rng_pool = null;\nvar rng_pptr;\n// Initialize the pool with junk if needed.\nif (rng_pool == null) {\n rng_pool = [];\n rng_pptr = 0;\n var t = void 0;\n if (typeof window !== 'undefined' && window.crypto && window.crypto.getRandomValues) {\n // Extract entropy (2048 bits) from RNG if available\n var z = new Uint32Array(256);\n window.crypto.getRandomValues(z);\n for (t = 0; t < z.length; ++t) {\n rng_pool[rng_pptr++] = z[t] & 255;\n }\n }\n // Use mouse events for entropy, if we do not have enough entropy by the time\n // we need it, entropy will be generated by Math.random.\n var count = 0;\n var onMouseMoveListener_1 = function (ev) {\n count = count || 0;\n if (count >= 256 || rng_pptr >= _prng4__WEBPACK_IMPORTED_MODULE_0__.rng_psize) {\n if (window.removeEventListener) {\n window.removeEventListener(\"mousemove\", onMouseMoveListener_1, false);\n }\n else if (window.detachEvent) {\n window.detachEvent(\"onmousemove\", onMouseMoveListener_1);\n }\n return;\n }\n try {\n var mouseCoordinates = ev.x + ev.y;\n rng_pool[rng_pptr++] = mouseCoordinates & 255;\n count += 1;\n }\n catch (e) {\n // Sometimes Firefox will deny permission to access event properties for some reason. Ignore.\n }\n };\n if (typeof window !== 'undefined') {\n if (window.addEventListener) {\n window.addEventListener(\"mousemove\", onMouseMoveListener_1, false);\n }\n else if (window.attachEvent) {\n window.attachEvent(\"onmousemove\", onMouseMoveListener_1);\n }\n }\n}\nfunction rng_get_byte() {\n if (rng_state == null) {\n rng_state = (0,_prng4__WEBPACK_IMPORTED_MODULE_0__.prng_newstate)();\n // At this point, we may not have collected enough entropy. If not, fall back to Math.random\n while (rng_pptr < _prng4__WEBPACK_IMPORTED_MODULE_0__.rng_psize) {\n var random = Math.floor(65536 * Math.random());\n rng_pool[rng_pptr++] = random & 255;\n }\n rng_state.init(rng_pool);\n for (rng_pptr = 0; rng_pptr < rng_pool.length; ++rng_pptr) {\n rng_pool[rng_pptr] = 0;\n }\n rng_pptr = 0;\n }\n // TODO: allow reseeding after first request\n return rng_state.next();\n}\nvar SecureRandom = /** @class */ (function () {\n function SecureRandom() {\n }\n SecureRandom.prototype.nextBytes = function (ba) {\n for (var i = 0; i < ba.length; ++i) {\n ba[i] = rng_get_byte();\n }\n };\n return SecureRandom;\n}());\n\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/jsbn/rng.js?"); + +/***/ }), + +/***/ "./lib/lib/jsbn/rsa.js": +/*!*****************************!*\ + !*** ./lib/lib/jsbn/rsa.js ***! + \*****************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"RSAKey\": () => (/* binding */ RSAKey)\n/* harmony export */ });\n/* harmony import */ var _jsbn__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./jsbn */ \"./lib/lib/jsbn/jsbn.js\");\n/* harmony import */ var _rng__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./rng */ \"./lib/lib/jsbn/rng.js\");\n// Depends on jsbn.js and rng.js\n// Version 1.1: support utf-8 encoding in pkcs1pad2\n// convert a (hex) string to a bignum object\n\n\n// function linebrk(s,n) {\n// var ret = \"\";\n// var i = 0;\n// while(i + n < s.length) {\n// ret += s.substring(i,i+n) + \"\\n\";\n// i += n;\n// }\n// return ret + s.substring(i,s.length);\n// }\n// function byte2Hex(b) {\n// if(b < 0x10)\n// return \"0\" + b.toString(16);\n// else\n// return b.toString(16);\n// }\nfunction pkcs1pad1(s, n) {\n if (n < s.length + 22) {\n console.error(\"Message too long for RSA\");\n return null;\n }\n var len = n - s.length - 6;\n var filler = \"\";\n for (var f = 0; f < len; f += 2) {\n filler += \"ff\";\n }\n var m = \"0001\" + filler + \"00\" + s;\n return (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.parseBigInt)(m, 16);\n}\n// PKCS#1 (type 2, random) pad input string s to n bytes, and return a bigint\nfunction pkcs1pad2(s, n) {\n if (n < s.length + 11) { // TODO: fix for utf-8\n console.error(\"Message too long for RSA\");\n return null;\n }\n var ba = [];\n var i = s.length - 1;\n while (i >= 0 && n > 0) {\n var c = s.charCodeAt(i--);\n if (c < 128) { // encode using utf-8\n ba[--n] = c;\n }\n else if ((c > 127) && (c < 2048)) {\n ba[--n] = (c & 63) | 128;\n ba[--n] = (c >> 6) | 192;\n }\n else {\n ba[--n] = (c & 63) | 128;\n ba[--n] = ((c >> 6) & 63) | 128;\n ba[--n] = (c >> 12) | 224;\n }\n }\n ba[--n] = 0;\n var rng = new _rng__WEBPACK_IMPORTED_MODULE_1__.SecureRandom();\n var x = [];\n while (n > 2) { // random non-zero pad\n x[0] = 0;\n while (x[0] == 0) {\n rng.nextBytes(x);\n }\n ba[--n] = x[0];\n }\n ba[--n] = 2;\n ba[--n] = 0;\n return new _jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger(ba);\n}\n// \"empty\" RSA key constructor\nvar RSAKey = /** @class */ (function () {\n function RSAKey() {\n this.n = null;\n this.e = 0;\n this.d = null;\n this.p = null;\n this.q = null;\n this.dmp1 = null;\n this.dmq1 = null;\n this.coeff = null;\n }\n //#region PROTECTED\n // protected\n // RSAKey.prototype.doPublic = RSADoPublic;\n // Perform raw public operation on \"x\": return x^e (mod n)\n RSAKey.prototype.doPublic = function (x) {\n return x.modPowInt(this.e, this.n);\n };\n // RSAKey.prototype.doPrivate = RSADoPrivate;\n // Perform raw private operation on \"x\": return x^d (mod n)\n RSAKey.prototype.doPrivate = function (x) {\n if (this.p == null || this.q == null) {\n return x.modPow(this.d, this.n);\n }\n // TODO: re-calculate any missing CRT params\n var xp = x.mod(this.p).modPow(this.dmp1, this.p);\n var xq = x.mod(this.q).modPow(this.dmq1, this.q);\n while (xp.compareTo(xq) < 0) {\n xp = xp.add(this.p);\n }\n return xp.subtract(xq).multiply(this.coeff).mod(this.p).multiply(this.q).add(xq);\n };\n //#endregion PROTECTED\n //#region PUBLIC\n // RSAKey.prototype.setPublic = RSASetPublic;\n // Set the public key fields N and e from hex strings\n RSAKey.prototype.setPublic = function (N, E) {\n if (N != null && E != null && N.length > 0 && E.length > 0) {\n this.n = (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.parseBigInt)(N, 16);\n this.e = parseInt(E, 16);\n }\n else {\n console.error(\"Invalid RSA public key\");\n }\n };\n // RSAKey.prototype.encrypt = RSAEncrypt;\n // Return the PKCS#1 RSA encryption of \"text\" as an even-length hex string\n RSAKey.prototype.encrypt = function (text) {\n var maxLength = (this.n.bitLength() + 7) >> 3;\n var m = pkcs1pad2(text, maxLength);\n if (m == null) {\n return null;\n }\n var c = this.doPublic(m);\n if (c == null) {\n return null;\n }\n var h = c.toString(16);\n var length = h.length;\n // fix zero before result\n for (var i = 0; i < maxLength * 2 - length; i++) {\n h = \"0\" + h;\n }\n return h;\n };\n // RSAKey.prototype.setPrivate = RSASetPrivate;\n // Set the private key fields N, e, and d from hex strings\n RSAKey.prototype.setPrivate = function (N, E, D) {\n if (N != null && E != null && N.length > 0 && E.length > 0) {\n this.n = (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.parseBigInt)(N, 16);\n this.e = parseInt(E, 16);\n this.d = (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.parseBigInt)(D, 16);\n }\n else {\n console.error(\"Invalid RSA private key\");\n }\n };\n // RSAKey.prototype.setPrivateEx = RSASetPrivateEx;\n // Set the private key fields N, e, d and CRT params from hex strings\n RSAKey.prototype.setPrivateEx = function (N, E, D, P, Q, DP, DQ, C) {\n if (N != null && E != null && N.length > 0 && E.length > 0) {\n this.n = (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.parseBigInt)(N, 16);\n this.e = parseInt(E, 16);\n this.d = (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.parseBigInt)(D, 16);\n this.p = (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.parseBigInt)(P, 16);\n this.q = (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.parseBigInt)(Q, 16);\n this.dmp1 = (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.parseBigInt)(DP, 16);\n this.dmq1 = (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.parseBigInt)(DQ, 16);\n this.coeff = (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.parseBigInt)(C, 16);\n }\n else {\n console.error(\"Invalid RSA private key\");\n }\n };\n // RSAKey.prototype.generate = RSAGenerate;\n // Generate a new random private key B bits long, using public expt E\n RSAKey.prototype.generate = function (B, E) {\n var rng = new _rng__WEBPACK_IMPORTED_MODULE_1__.SecureRandom();\n var qs = B >> 1;\n this.e = parseInt(E, 16);\n var ee = new _jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger(E, 16);\n for (;;) {\n for (;;) {\n this.p = new _jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger(B - qs, 1, rng);\n if (this.p.subtract(_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger.ONE).gcd(ee).compareTo(_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger.ONE) == 0 && this.p.isProbablePrime(10)) {\n break;\n }\n }\n for (;;) {\n this.q = new _jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger(qs, 1, rng);\n if (this.q.subtract(_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger.ONE).gcd(ee).compareTo(_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger.ONE) == 0 && this.q.isProbablePrime(10)) {\n break;\n }\n }\n if (this.p.compareTo(this.q) <= 0) {\n var t = this.p;\n this.p = this.q;\n this.q = t;\n }\n var p1 = this.p.subtract(_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger.ONE);\n var q1 = this.q.subtract(_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger.ONE);\n var phi = p1.multiply(q1);\n if (phi.gcd(ee).compareTo(_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger.ONE) == 0) {\n this.n = this.p.multiply(this.q);\n this.d = ee.modInverse(phi);\n this.dmp1 = this.d.mod(p1);\n this.dmq1 = this.d.mod(q1);\n this.coeff = this.q.modInverse(this.p);\n break;\n }\n }\n };\n // RSAKey.prototype.decrypt = RSADecrypt;\n // Return the PKCS#1 RSA decryption of \"ctext\".\n // \"ctext\" is an even-length hex string and the output is a plain string.\n RSAKey.prototype.decrypt = function (ctext) {\n var c = (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.parseBigInt)(ctext, 16);\n var m = this.doPrivate(c);\n if (m == null) {\n return null;\n }\n return pkcs1unpad2(m, (this.n.bitLength() + 7) >> 3);\n };\n // Generate a new random private key B bits long, using public expt E\n RSAKey.prototype.generateAsync = function (B, E, callback) {\n var rng = new _rng__WEBPACK_IMPORTED_MODULE_1__.SecureRandom();\n var qs = B >> 1;\n this.e = parseInt(E, 16);\n var ee = new _jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger(E, 16);\n var rsa = this;\n // These functions have non-descript names because they were originally for(;;) loops.\n // I don't know about cryptography to give them better names than loop1-4.\n var loop1 = function () {\n var loop4 = function () {\n if (rsa.p.compareTo(rsa.q) <= 0) {\n var t = rsa.p;\n rsa.p = rsa.q;\n rsa.q = t;\n }\n var p1 = rsa.p.subtract(_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger.ONE);\n var q1 = rsa.q.subtract(_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger.ONE);\n var phi = p1.multiply(q1);\n if (phi.gcd(ee).compareTo(_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger.ONE) == 0) {\n rsa.n = rsa.p.multiply(rsa.q);\n rsa.d = ee.modInverse(phi);\n rsa.dmp1 = rsa.d.mod(p1);\n rsa.dmq1 = rsa.d.mod(q1);\n rsa.coeff = rsa.q.modInverse(rsa.p);\n setTimeout(function () { callback(); }, 0); // escape\n }\n else {\n setTimeout(loop1, 0);\n }\n };\n var loop3 = function () {\n rsa.q = (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.nbi)();\n rsa.q.fromNumberAsync(qs, 1, rng, function () {\n rsa.q.subtract(_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger.ONE).gcda(ee, function (r) {\n if (r.compareTo(_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger.ONE) == 0 && rsa.q.isProbablePrime(10)) {\n setTimeout(loop4, 0);\n }\n else {\n setTimeout(loop3, 0);\n }\n });\n });\n };\n var loop2 = function () {\n rsa.p = (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.nbi)();\n rsa.p.fromNumberAsync(B - qs, 1, rng, function () {\n rsa.p.subtract(_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger.ONE).gcda(ee, function (r) {\n if (r.compareTo(_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger.ONE) == 0 && rsa.p.isProbablePrime(10)) {\n setTimeout(loop3, 0);\n }\n else {\n setTimeout(loop2, 0);\n }\n });\n });\n };\n setTimeout(loop2, 0);\n };\n setTimeout(loop1, 0);\n };\n RSAKey.prototype.sign = function (text, digestMethod, digestName) {\n var header = getDigestHeader(digestName);\n var digest = header + digestMethod(text).toString();\n var m = pkcs1pad1(digest, this.n.bitLength() / 4);\n if (m == null) {\n return null;\n }\n var c = this.doPrivate(m);\n if (c == null) {\n return null;\n }\n var h = c.toString(16);\n if ((h.length & 1) == 0) {\n return h;\n }\n else {\n return \"0\" + h;\n }\n };\n RSAKey.prototype.verify = function (text, signature, digestMethod) {\n var c = (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.parseBigInt)(signature, 16);\n var m = this.doPublic(c);\n if (m == null) {\n return null;\n }\n var unpadded = m.toString(16).replace(/^1f+00/, \"\");\n var digest = removeDigestHeader(unpadded);\n return digest == digestMethod(text).toString();\n };\n return RSAKey;\n}());\n\n// Undo PKCS#1 (type 2, random) padding and, if valid, return the plaintext\nfunction pkcs1unpad2(d, n) {\n var b = d.toByteArray();\n var i = 0;\n while (i < b.length && b[i] == 0) {\n ++i;\n }\n if (b.length - i != n - 1 || b[i] != 2) {\n return null;\n }\n ++i;\n while (b[i] != 0) {\n if (++i >= b.length) {\n return null;\n }\n }\n var ret = \"\";\n while (++i < b.length) {\n var c = b[i] & 255;\n if (c < 128) { // utf-8 decode\n ret += String.fromCharCode(c);\n }\n else if ((c > 191) && (c < 224)) {\n ret += String.fromCharCode(((c & 31) << 6) | (b[i + 1] & 63));\n ++i;\n }\n else {\n ret += String.fromCharCode(((c & 15) << 12) | ((b[i + 1] & 63) << 6) | (b[i + 2] & 63));\n i += 2;\n }\n }\n return ret;\n}\n// https://tools.ietf.org/html/rfc3447#page-43\nvar DIGEST_HEADERS = {\n md2: \"3020300c06082a864886f70d020205000410\",\n md5: \"3020300c06082a864886f70d020505000410\",\n sha1: \"3021300906052b0e03021a05000414\",\n sha224: \"302d300d06096086480165030402040500041c\",\n sha256: \"3031300d060960864801650304020105000420\",\n sha384: \"3041300d060960864801650304020205000430\",\n sha512: \"3051300d060960864801650304020305000440\",\n ripemd160: \"3021300906052b2403020105000414\"\n};\nfunction getDigestHeader(name) {\n return DIGEST_HEADERS[name] || \"\";\n}\nfunction removeDigestHeader(str) {\n for (var name_1 in DIGEST_HEADERS) {\n if (DIGEST_HEADERS.hasOwnProperty(name_1)) {\n var header = DIGEST_HEADERS[name_1];\n var len = header.length;\n if (str.substr(0, len) == header) {\n return str.substr(len);\n }\n }\n }\n return str;\n}\n// Return the PKCS#1 RSA encryption of \"text\" as a Base64-encoded string\n// function RSAEncryptB64(text) {\n// var h = this.encrypt(text);\n// if(h) return hex2b64(h); else return null;\n// }\n// public\n// RSAKey.prototype.encrypt_b64 = RSAEncryptB64;\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/jsbn/rsa.js?"); + +/***/ }), + +/***/ "./lib/lib/jsbn/util.js": +/*!******************************!*\ + !*** ./lib/lib/jsbn/util.js ***! + \******************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"cbit\": () => (/* binding */ cbit),\n/* harmony export */ \"int2char\": () => (/* binding */ int2char),\n/* harmony export */ \"lbit\": () => (/* binding */ lbit),\n/* harmony export */ \"op_and\": () => (/* binding */ op_and),\n/* harmony export */ \"op_andnot\": () => (/* binding */ op_andnot),\n/* harmony export */ \"op_or\": () => (/* binding */ op_or),\n/* harmony export */ \"op_xor\": () => (/* binding */ op_xor)\n/* harmony export */ });\nvar BI_RM = \"0123456789abcdefghijklmnopqrstuvwxyz\";\nfunction int2char(n) {\n return BI_RM.charAt(n);\n}\n//#region BIT_OPERATIONS\n// (public) this & a\nfunction op_and(x, y) {\n return x & y;\n}\n// (public) this | a\nfunction op_or(x, y) {\n return x | y;\n}\n// (public) this ^ a\nfunction op_xor(x, y) {\n return x ^ y;\n}\n// (public) this & ~a\nfunction op_andnot(x, y) {\n return x & ~y;\n}\n// return index of lowest 1-bit in x, x < 2^31\nfunction lbit(x) {\n if (x == 0) {\n return -1;\n }\n var r = 0;\n if ((x & 0xffff) == 0) {\n x >>= 16;\n r += 16;\n }\n if ((x & 0xff) == 0) {\n x >>= 8;\n r += 8;\n }\n if ((x & 0xf) == 0) {\n x >>= 4;\n r += 4;\n }\n if ((x & 3) == 0) {\n x >>= 2;\n r += 2;\n }\n if ((x & 1) == 0) {\n ++r;\n }\n return r;\n}\n// return number of 1 bits in x\nfunction cbit(x) {\n var r = 0;\n while (x != 0) {\n x &= x - 1;\n ++r;\n }\n return r;\n}\n//#endregion BIT_OPERATIONS\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/jsbn/util.js?"); + +/***/ }), + +/***/ "./lib/lib/jsrsasign/asn1-1.0.js": +/*!***************************************!*\ + !*** ./lib/lib/jsrsasign/asn1-1.0.js ***! + \***************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"KJUR\": () => (/* binding */ KJUR)\n/* harmony export */ });\n/* harmony import */ var _jsbn_jsbn__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../jsbn/jsbn */ \"./lib/lib/jsbn/jsbn.js\");\n/* harmony import */ var _yahoo__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./yahoo */ \"./lib/lib/jsrsasign/yahoo.js\");\n/* asn1-1.0.13.js (c) 2013-2017 Kenji Urushima | kjur.github.com/jsrsasign/license\n */\n/*\n * asn1.js - ASN.1 DER encoder classes\n *\n * Copyright (c) 2013-2017 Kenji Urushima (kenji.urushima@gmail.com)\n *\n * This software is licensed under the terms of the MIT License.\n * https://kjur.github.io/jsrsasign/license\n *\n * The above copyright and license notice shall be\n * included in all copies or substantial portions of the Software.\n */\n\n\n/**\n * @fileOverview\n * @name asn1-1.0.js\n * @author Kenji Urushima kenji.urushima@gmail.com\n * @version asn1 1.0.13 (2017-Jun-02)\n * @since jsrsasign 2.1\n * @license MIT License\n */\n/**\n * kjur's class library name space\n *

    \n * This name space provides following name spaces:\n *

      \n *
    • {@link KJUR.asn1} - ASN.1 primitive hexadecimal encoder
    • \n *
    • {@link KJUR.asn1.x509} - ASN.1 structure for X.509 certificate and CRL
    • \n *
    • {@link KJUR.crypto} - Java Cryptographic Extension(JCE) style MessageDigest/Signature\n * class and utilities
    • \n *
    \n *

    \n * NOTE: Please ignore method summary and document of this namespace. This caused by a bug of jsdoc2.\n * @name KJUR\n * @namespace kjur's class library name space\n */\nvar KJUR = {};\n/**\n * kjur's ASN.1 class library name space\n *

    \n * This is ITU-T X.690 ASN.1 DER encoder class library and\n * class structure and methods is very similar to\n * org.bouncycastle.asn1 package of\n * well known BouncyCaslte Cryptography Library.\n *

    PROVIDING ASN.1 PRIMITIVES

    \n * Here are ASN.1 DER primitive classes.\n *
      \n *
    • 0x01 {@link KJUR.asn1.DERBoolean}
    • \n *
    • 0x02 {@link KJUR.asn1.DERInteger}
    • \n *
    • 0x03 {@link KJUR.asn1.DERBitString}
    • \n *
    • 0x04 {@link KJUR.asn1.DEROctetString}
    • \n *
    • 0x05 {@link KJUR.asn1.DERNull}
    • \n *
    • 0x06 {@link KJUR.asn1.DERObjectIdentifier}
    • \n *
    • 0x0a {@link KJUR.asn1.DEREnumerated}
    • \n *
    • 0x0c {@link KJUR.asn1.DERUTF8String}
    • \n *
    • 0x12 {@link KJUR.asn1.DERNumericString}
    • \n *
    • 0x13 {@link KJUR.asn1.DERPrintableString}
    • \n *
    • 0x14 {@link KJUR.asn1.DERTeletexString}
    • \n *
    • 0x16 {@link KJUR.asn1.DERIA5String}
    • \n *
    • 0x17 {@link KJUR.asn1.DERUTCTime}
    • \n *
    • 0x18 {@link KJUR.asn1.DERGeneralizedTime}
    • \n *
    • 0x30 {@link KJUR.asn1.DERSequence}
    • \n *
    • 0x31 {@link KJUR.asn1.DERSet}
    • \n *
    \n *

    OTHER ASN.1 CLASSES

    \n *
      \n *
    • {@link KJUR.asn1.ASN1Object}
    • \n *
    • {@link KJUR.asn1.DERAbstractString}
    • \n *
    • {@link KJUR.asn1.DERAbstractTime}
    • \n *
    • {@link KJUR.asn1.DERAbstractStructured}
    • \n *
    • {@link KJUR.asn1.DERTaggedObject}
    • \n *
    \n *

    SUB NAME SPACES

    \n *
      \n *
    • {@link KJUR.asn1.cades} - CAdES long term signature format
    • \n *
    • {@link KJUR.asn1.cms} - Cryptographic Message Syntax
    • \n *
    • {@link KJUR.asn1.csr} - Certificate Signing Request (CSR/PKCS#10)
    • \n *
    • {@link KJUR.asn1.tsp} - RFC 3161 Timestamping Protocol Format
    • \n *
    • {@link KJUR.asn1.x509} - RFC 5280 X.509 certificate and CRL
    • \n *
    \n *

    \n * NOTE: Please ignore method summary and document of this namespace.\n * This caused by a bug of jsdoc2.\n * @name KJUR.asn1\n * @namespace\n */\nif (typeof KJUR.asn1 == \"undefined\" || !KJUR.asn1)\n KJUR.asn1 = {};\n/**\n * ASN1 utilities class\n * @name KJUR.asn1.ASN1Util\n * @class ASN1 utilities class\n * @since asn1 1.0.2\n */\nKJUR.asn1.ASN1Util = new function () {\n this.integerToByteHex = function (i) {\n var h = i.toString(16);\n if ((h.length % 2) == 1)\n h = '0' + h;\n return h;\n };\n this.bigIntToMinTwosComplementsHex = function (bigIntegerValue) {\n var h = bigIntegerValue.toString(16);\n if (h.substr(0, 1) != '-') {\n if (h.length % 2 == 1) {\n h = '0' + h;\n }\n else {\n if (!h.match(/^[0-7]/)) {\n h = '00' + h;\n }\n }\n }\n else {\n var hPos = h.substr(1);\n var xorLen = hPos.length;\n if (xorLen % 2 == 1) {\n xorLen += 1;\n }\n else {\n if (!h.match(/^[0-7]/)) {\n xorLen += 2;\n }\n }\n var hMask = '';\n for (var i = 0; i < xorLen; i++) {\n hMask += 'f';\n }\n var biMask = new _jsbn_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger(hMask, 16);\n var biNeg = biMask.xor(bigIntegerValue).add(_jsbn_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger.ONE);\n h = biNeg.toString(16).replace(/^-/, '');\n }\n return h;\n };\n /**\n * get PEM string from hexadecimal data and header string\n * @name getPEMStringFromHex\n * @memberOf KJUR.asn1.ASN1Util\n * @function\n * @param {String} dataHex hexadecimal string of PEM body\n * @param {String} pemHeader PEM header string (ex. 'RSA PRIVATE KEY')\n * @return {String} PEM formatted string of input data\n * @description\n * This method converts a hexadecimal string to a PEM string with\n * a specified header. Its line break will be CRLF(\"\\r\\n\").\n * @example\n * var pem = KJUR.asn1.ASN1Util.getPEMStringFromHex('616161', 'RSA PRIVATE KEY');\n * // value of pem will be:\n * -----BEGIN PRIVATE KEY-----\n * YWFh\n * -----END PRIVATE KEY-----\n */\n this.getPEMStringFromHex = function (dataHex, pemHeader) {\n return hextopem(dataHex, pemHeader);\n };\n /**\n * generate ASN1Object specifed by JSON parameters\n * @name newObject\n * @memberOf KJUR.asn1.ASN1Util\n * @function\n * @param {Array} param JSON parameter to generate ASN1Object\n * @return {KJUR.asn1.ASN1Object} generated object\n * @since asn1 1.0.3\n * @description\n * generate any ASN1Object specified by JSON param\n * including ASN.1 primitive or structured.\n * Generally 'param' can be described as follows:\n *
    \n * {TYPE-OF-ASNOBJ: ASN1OBJ-PARAMETER}\n *
    \n * 'TYPE-OF-ASN1OBJ' can be one of following symbols:\n *
      \n *
    • 'bool' - DERBoolean
    • \n *
    • 'int' - DERInteger
    • \n *
    • 'bitstr' - DERBitString
    • \n *
    • 'octstr' - DEROctetString
    • \n *
    • 'null' - DERNull
    • \n *
    • 'oid' - DERObjectIdentifier
    • \n *
    • 'enum' - DEREnumerated
    • \n *
    • 'utf8str' - DERUTF8String
    • \n *
    • 'numstr' - DERNumericString
    • \n *
    • 'prnstr' - DERPrintableString
    • \n *
    • 'telstr' - DERTeletexString
    • \n *
    • 'ia5str' - DERIA5String
    • \n *
    • 'utctime' - DERUTCTime
    • \n *
    • 'gentime' - DERGeneralizedTime
    • \n *
    • 'seq' - DERSequence
    • \n *
    • 'set' - DERSet
    • \n *
    • 'tag' - DERTaggedObject
    • \n *
    \n * @example\n * newObject({'prnstr': 'aaa'});\n * newObject({'seq': [{'int': 3}, {'prnstr': 'aaa'}]})\n * // ASN.1 Tagged Object\n * newObject({'tag': {'tag': 'a1',\n * 'explicit': true,\n * 'obj': {'seq': [{'int': 3}, {'prnstr': 'aaa'}]}}});\n * // more simple representation of ASN.1 Tagged Object\n * newObject({'tag': ['a1',\n * true,\n * {'seq': [\n * {'int': 3},\n * {'prnstr': 'aaa'}]}\n * ]});\n */\n this.newObject = function (param) {\n var _KJUR = KJUR, _KJUR_asn1 = _KJUR.asn1, _DERBoolean = _KJUR_asn1.DERBoolean, _DERInteger = _KJUR_asn1.DERInteger, _DERBitString = _KJUR_asn1.DERBitString, _DEROctetString = _KJUR_asn1.DEROctetString, _DERNull = _KJUR_asn1.DERNull, _DERObjectIdentifier = _KJUR_asn1.DERObjectIdentifier, _DEREnumerated = _KJUR_asn1.DEREnumerated, _DERUTF8String = _KJUR_asn1.DERUTF8String, _DERNumericString = _KJUR_asn1.DERNumericString, _DERPrintableString = _KJUR_asn1.DERPrintableString, _DERTeletexString = _KJUR_asn1.DERTeletexString, _DERIA5String = _KJUR_asn1.DERIA5String, _DERUTCTime = _KJUR_asn1.DERUTCTime, _DERGeneralizedTime = _KJUR_asn1.DERGeneralizedTime, _DERSequence = _KJUR_asn1.DERSequence, _DERSet = _KJUR_asn1.DERSet, _DERTaggedObject = _KJUR_asn1.DERTaggedObject, _newObject = _KJUR_asn1.ASN1Util.newObject;\n var keys = Object.keys(param);\n if (keys.length != 1)\n throw \"key of param shall be only one.\";\n var key = keys[0];\n if (\":bool:int:bitstr:octstr:null:oid:enum:utf8str:numstr:prnstr:telstr:ia5str:utctime:gentime:seq:set:tag:\".indexOf(\":\" + key + \":\") == -1)\n throw \"undefined key: \" + key;\n if (key == \"bool\")\n return new _DERBoolean(param[key]);\n if (key == \"int\")\n return new _DERInteger(param[key]);\n if (key == \"bitstr\")\n return new _DERBitString(param[key]);\n if (key == \"octstr\")\n return new _DEROctetString(param[key]);\n if (key == \"null\")\n return new _DERNull(param[key]);\n if (key == \"oid\")\n return new _DERObjectIdentifier(param[key]);\n if (key == \"enum\")\n return new _DEREnumerated(param[key]);\n if (key == \"utf8str\")\n return new _DERUTF8String(param[key]);\n if (key == \"numstr\")\n return new _DERNumericString(param[key]);\n if (key == \"prnstr\")\n return new _DERPrintableString(param[key]);\n if (key == \"telstr\")\n return new _DERTeletexString(param[key]);\n if (key == \"ia5str\")\n return new _DERIA5String(param[key]);\n if (key == \"utctime\")\n return new _DERUTCTime(param[key]);\n if (key == \"gentime\")\n return new _DERGeneralizedTime(param[key]);\n if (key == \"seq\") {\n var paramList = param[key];\n var a = [];\n for (var i = 0; i < paramList.length; i++) {\n var asn1Obj = _newObject(paramList[i]);\n a.push(asn1Obj);\n }\n return new _DERSequence({ 'array': a });\n }\n if (key == \"set\") {\n var paramList = param[key];\n var a = [];\n for (var i = 0; i < paramList.length; i++) {\n var asn1Obj = _newObject(paramList[i]);\n a.push(asn1Obj);\n }\n return new _DERSet({ 'array': a });\n }\n if (key == \"tag\") {\n var tagParam = param[key];\n if (Object.prototype.toString.call(tagParam) === '[object Array]' &&\n tagParam.length == 3) {\n var obj = _newObject(tagParam[2]);\n return new _DERTaggedObject({ tag: tagParam[0],\n explicit: tagParam[1],\n obj: obj });\n }\n else {\n var newParam = {};\n if (tagParam.explicit !== undefined)\n newParam.explicit = tagParam.explicit;\n if (tagParam.tag !== undefined)\n newParam.tag = tagParam.tag;\n if (tagParam.obj === undefined)\n throw \"obj shall be specified for 'tag'.\";\n newParam.obj = _newObject(tagParam.obj);\n return new _DERTaggedObject(newParam);\n }\n }\n };\n /**\n * get encoded hexadecimal string of ASN1Object specifed by JSON parameters\n * @name jsonToASN1HEX\n * @memberOf KJUR.asn1.ASN1Util\n * @function\n * @param {Array} param JSON parameter to generate ASN1Object\n * @return hexadecimal string of ASN1Object\n * @since asn1 1.0.4\n * @description\n * As for ASN.1 object representation of JSON object,\n * please see {@link newObject}.\n * @example\n * jsonToASN1HEX({'prnstr': 'aaa'});\n */\n this.jsonToASN1HEX = function (param) {\n var asn1Obj = this.newObject(param);\n return asn1Obj.getEncodedHex();\n };\n};\n/**\n * get dot noted oid number string from hexadecimal value of OID\n * @name oidHexToInt\n * @memberOf KJUR.asn1.ASN1Util\n * @function\n * @param {String} hex hexadecimal value of object identifier\n * @return {String} dot noted string of object identifier\n * @since jsrsasign 4.8.3 asn1 1.0.7\n * @description\n * This static method converts from hexadecimal string representation of\n * ASN.1 value of object identifier to oid number string.\n * @example\n * KJUR.asn1.ASN1Util.oidHexToInt('550406') → \"2.5.4.6\"\n */\nKJUR.asn1.ASN1Util.oidHexToInt = function (hex) {\n var s = \"\";\n var i01 = parseInt(hex.substr(0, 2), 16);\n var i0 = Math.floor(i01 / 40);\n var i1 = i01 % 40;\n var s = i0 + \".\" + i1;\n var binbuf = \"\";\n for (var i = 2; i < hex.length; i += 2) {\n var value = parseInt(hex.substr(i, 2), 16);\n var bin = (\"00000000\" + value.toString(2)).slice(-8);\n binbuf = binbuf + bin.substr(1, 7);\n if (bin.substr(0, 1) == \"0\") {\n var bi = new _jsbn_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger(binbuf, 2);\n s = s + \".\" + bi.toString(10);\n binbuf = \"\";\n }\n }\n ;\n return s;\n};\n/**\n * get hexadecimal value of object identifier from dot noted oid value\n * @name oidIntToHex\n * @memberOf KJUR.asn1.ASN1Util\n * @function\n * @param {String} oidString dot noted string of object identifier\n * @return {String} hexadecimal value of object identifier\n * @since jsrsasign 4.8.3 asn1 1.0.7\n * @description\n * This static method converts from object identifier value string.\n * to hexadecimal string representation of it.\n * @example\n * KJUR.asn1.ASN1Util.oidIntToHex(\"2.5.4.6\") → \"550406\"\n */\nKJUR.asn1.ASN1Util.oidIntToHex = function (oidString) {\n var itox = function (i) {\n var h = i.toString(16);\n if (h.length == 1)\n h = '0' + h;\n return h;\n };\n var roidtox = function (roid) {\n var h = '';\n var bi = new _jsbn_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger(roid, 10);\n var b = bi.toString(2);\n var padLen = 7 - b.length % 7;\n if (padLen == 7)\n padLen = 0;\n var bPad = '';\n for (var i = 0; i < padLen; i++)\n bPad += '0';\n b = bPad + b;\n for (var i = 0; i < b.length - 1; i += 7) {\n var b8 = b.substr(i, 7);\n if (i != b.length - 7)\n b8 = '1' + b8;\n h += itox(parseInt(b8, 2));\n }\n return h;\n };\n if (!oidString.match(/^[0-9.]+$/)) {\n throw \"malformed oid string: \" + oidString;\n }\n var h = '';\n var a = oidString.split('.');\n var i0 = parseInt(a[0]) * 40 + parseInt(a[1]);\n h += itox(i0);\n a.splice(0, 2);\n for (var i = 0; i < a.length; i++) {\n h += roidtox(a[i]);\n }\n return h;\n};\n// ********************************************************************\n// Abstract ASN.1 Classes\n// ********************************************************************\n// ********************************************************************\n/**\n * base class for ASN.1 DER encoder object\n * @name KJUR.asn1.ASN1Object\n * @class base class for ASN.1 DER encoder object\n * @property {Boolean} isModified flag whether internal data was changed\n * @property {String} hTLV hexadecimal string of ASN.1 TLV\n * @property {String} hT hexadecimal string of ASN.1 TLV tag(T)\n * @property {String} hL hexadecimal string of ASN.1 TLV length(L)\n * @property {String} hV hexadecimal string of ASN.1 TLV value(V)\n * @description\n */\nKJUR.asn1.ASN1Object = function () {\n var isModified = true;\n var hTLV = null;\n var hT = '00';\n var hL = '00';\n var hV = '';\n /**\n * get hexadecimal ASN.1 TLV length(L) bytes from TLV value(V)\n * @name getLengthHexFromValue\n * @memberOf KJUR.asn1.ASN1Object#\n * @function\n * @return {String} hexadecimal string of ASN.1 TLV length(L)\n */\n this.getLengthHexFromValue = function () {\n if (typeof this.hV == \"undefined\" || this.hV == null) {\n throw \"this.hV is null or undefined.\";\n }\n if (this.hV.length % 2 == 1) {\n throw \"value hex must be even length: n=\" + hV.length + \",v=\" + this.hV;\n }\n var n = this.hV.length / 2;\n var hN = n.toString(16);\n if (hN.length % 2 == 1) {\n hN = \"0\" + hN;\n }\n if (n < 128) {\n return hN;\n }\n else {\n var hNlen = hN.length / 2;\n if (hNlen > 15) {\n throw \"ASN.1 length too long to represent by 8x: n = \" + n.toString(16);\n }\n var head = 128 + hNlen;\n return head.toString(16) + hN;\n }\n };\n /**\n * get hexadecimal string of ASN.1 TLV bytes\n * @name getEncodedHex\n * @memberOf KJUR.asn1.ASN1Object#\n * @function\n * @return {String} hexadecimal string of ASN.1 TLV\n */\n this.getEncodedHex = function () {\n if (this.hTLV == null || this.isModified) {\n this.hV = this.getFreshValueHex();\n this.hL = this.getLengthHexFromValue();\n this.hTLV = this.hT + this.hL + this.hV;\n this.isModified = false;\n //alert(\"first time: \" + this.hTLV);\n }\n return this.hTLV;\n };\n /**\n * get hexadecimal string of ASN.1 TLV value(V) bytes\n * @name getValueHex\n * @memberOf KJUR.asn1.ASN1Object#\n * @function\n * @return {String} hexadecimal string of ASN.1 TLV value(V) bytes\n */\n this.getValueHex = function () {\n this.getEncodedHex();\n return this.hV;\n };\n this.getFreshValueHex = function () {\n return '';\n };\n};\n// == BEGIN DERAbstractString ================================================\n/**\n * base class for ASN.1 DER string classes\n * @name KJUR.asn1.DERAbstractString\n * @class base class for ASN.1 DER string classes\n * @param {Array} params associative array of parameters (ex. {'str': 'aaa'})\n * @property {String} s internal string of value\n * @extends KJUR.asn1.ASN1Object\n * @description\n *
    \n * As for argument 'params' for constructor, you can specify one of\n * following properties:\n *
      \n *
    • str - specify initial ASN.1 value(V) by a string
    • \n *
    • hex - specify initial ASN.1 value(V) by a hexadecimal string
    • \n *
    \n * NOTE: 'params' can be omitted.\n */\nKJUR.asn1.DERAbstractString = function (params) {\n KJUR.asn1.DERAbstractString.superclass.constructor.call(this);\n var s = null;\n var hV = null;\n /**\n * get string value of this string object\n * @name getString\n * @memberOf KJUR.asn1.DERAbstractString#\n * @function\n * @return {String} string value of this string object\n */\n this.getString = function () {\n return this.s;\n };\n /**\n * set value by a string\n * @name setString\n * @memberOf KJUR.asn1.DERAbstractString#\n * @function\n * @param {String} newS value by a string to set\n */\n this.setString = function (newS) {\n this.hTLV = null;\n this.isModified = true;\n this.s = newS;\n this.hV = stohex(this.s);\n };\n /**\n * set value by a hexadecimal string\n * @name setStringHex\n * @memberOf KJUR.asn1.DERAbstractString#\n * @function\n * @param {String} newHexString value by a hexadecimal string to set\n */\n this.setStringHex = function (newHexString) {\n this.hTLV = null;\n this.isModified = true;\n this.s = null;\n this.hV = newHexString;\n };\n this.getFreshValueHex = function () {\n return this.hV;\n };\n if (typeof params != \"undefined\") {\n if (typeof params == \"string\") {\n this.setString(params);\n }\n else if (typeof params['str'] != \"undefined\") {\n this.setString(params['str']);\n }\n else if (typeof params['hex'] != \"undefined\") {\n this.setStringHex(params['hex']);\n }\n }\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERAbstractString, KJUR.asn1.ASN1Object);\n// == END DERAbstractString ================================================\n// == BEGIN DERAbstractTime ==================================================\n/**\n * base class for ASN.1 DER Generalized/UTCTime class\n * @name KJUR.asn1.DERAbstractTime\n * @class base class for ASN.1 DER Generalized/UTCTime class\n * @param {Array} params associative array of parameters (ex. {'str': '130430235959Z'})\n * @extends KJUR.asn1.ASN1Object\n * @description\n * @see KJUR.asn1.ASN1Object - superclass\n */\nKJUR.asn1.DERAbstractTime = function (params) {\n KJUR.asn1.DERAbstractTime.superclass.constructor.call(this);\n var s = null;\n var date = null;\n // --- PRIVATE METHODS --------------------\n this.localDateToUTC = function (d) {\n utc = d.getTime() + (d.getTimezoneOffset() * 60000);\n var utcDate = new Date(utc);\n return utcDate;\n };\n /*\n * format date string by Data object\n * @name formatDate\n * @memberOf KJUR.asn1.AbstractTime;\n * @param {Date} dateObject\n * @param {string} type 'utc' or 'gen'\n * @param {boolean} withMillis flag for with millisections or not\n * @description\n * 'withMillis' flag is supported from asn1 1.0.6.\n */\n this.formatDate = function (dateObject, type, withMillis) {\n var pad = this.zeroPadding;\n var d = this.localDateToUTC(dateObject);\n var year = String(d.getFullYear());\n if (type == 'utc')\n year = year.substr(2, 2);\n var month = pad(String(d.getMonth() + 1), 2);\n var day = pad(String(d.getDate()), 2);\n var hour = pad(String(d.getHours()), 2);\n var min = pad(String(d.getMinutes()), 2);\n var sec = pad(String(d.getSeconds()), 2);\n var s = year + month + day + hour + min + sec;\n if (withMillis === true) {\n var millis = d.getMilliseconds();\n if (millis != 0) {\n var sMillis = pad(String(millis), 3);\n sMillis = sMillis.replace(/[0]+$/, \"\");\n s = s + \".\" + sMillis;\n }\n }\n return s + \"Z\";\n };\n this.zeroPadding = function (s, len) {\n if (s.length >= len)\n return s;\n return new Array(len - s.length + 1).join('0') + s;\n };\n // --- PUBLIC METHODS --------------------\n /**\n * get string value of this string object\n * @name getString\n * @memberOf KJUR.asn1.DERAbstractTime#\n * @function\n * @return {String} string value of this time object\n */\n this.getString = function () {\n return this.s;\n };\n /**\n * set value by a string\n * @name setString\n * @memberOf KJUR.asn1.DERAbstractTime#\n * @function\n * @param {String} newS value by a string to set such like \"130430235959Z\"\n */\n this.setString = function (newS) {\n this.hTLV = null;\n this.isModified = true;\n this.s = newS;\n this.hV = stohex(newS);\n };\n /**\n * set value by a Date object\n * @name setByDateValue\n * @memberOf KJUR.asn1.DERAbstractTime#\n * @function\n * @param {Integer} year year of date (ex. 2013)\n * @param {Integer} month month of date between 1 and 12 (ex. 12)\n * @param {Integer} day day of month\n * @param {Integer} hour hours of date\n * @param {Integer} min minutes of date\n * @param {Integer} sec seconds of date\n */\n this.setByDateValue = function (year, month, day, hour, min, sec) {\n var dateObject = new Date(Date.UTC(year, month - 1, day, hour, min, sec, 0));\n this.setByDate(dateObject);\n };\n this.getFreshValueHex = function () {\n return this.hV;\n };\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERAbstractTime, KJUR.asn1.ASN1Object);\n// == END DERAbstractTime ==================================================\n// == BEGIN DERAbstractStructured ============================================\n/**\n * base class for ASN.1 DER structured class\n * @name KJUR.asn1.DERAbstractStructured\n * @class base class for ASN.1 DER structured class\n * @property {Array} asn1Array internal array of ASN1Object\n * @extends KJUR.asn1.ASN1Object\n * @description\n * @see KJUR.asn1.ASN1Object - superclass\n */\nKJUR.asn1.DERAbstractStructured = function (params) {\n KJUR.asn1.DERAbstractString.superclass.constructor.call(this);\n var asn1Array = null;\n /**\n * set value by array of ASN1Object\n * @name setByASN1ObjectArray\n * @memberOf KJUR.asn1.DERAbstractStructured#\n * @function\n * @param {array} asn1ObjectArray array of ASN1Object to set\n */\n this.setByASN1ObjectArray = function (asn1ObjectArray) {\n this.hTLV = null;\n this.isModified = true;\n this.asn1Array = asn1ObjectArray;\n };\n /**\n * append an ASN1Object to internal array\n * @name appendASN1Object\n * @memberOf KJUR.asn1.DERAbstractStructured#\n * @function\n * @param {ASN1Object} asn1Object to add\n */\n this.appendASN1Object = function (asn1Object) {\n this.hTLV = null;\n this.isModified = true;\n this.asn1Array.push(asn1Object);\n };\n this.asn1Array = new Array();\n if (typeof params != \"undefined\") {\n if (typeof params['array'] != \"undefined\") {\n this.asn1Array = params['array'];\n }\n }\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERAbstractStructured, KJUR.asn1.ASN1Object);\n// ********************************************************************\n// ASN.1 Object Classes\n// ********************************************************************\n// ********************************************************************\n/**\n * class for ASN.1 DER Boolean\n * @name KJUR.asn1.DERBoolean\n * @class class for ASN.1 DER Boolean\n * @extends KJUR.asn1.ASN1Object\n * @description\n * @see KJUR.asn1.ASN1Object - superclass\n */\nKJUR.asn1.DERBoolean = function () {\n KJUR.asn1.DERBoolean.superclass.constructor.call(this);\n this.hT = \"01\";\n this.hTLV = \"0101ff\";\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERBoolean, KJUR.asn1.ASN1Object);\n// ********************************************************************\n/**\n * class for ASN.1 DER Integer\n * @name KJUR.asn1.DERInteger\n * @class class for ASN.1 DER Integer\n * @extends KJUR.asn1.ASN1Object\n * @description\n *
    \n * As for argument 'params' for constructor, you can specify one of\n * following properties:\n *
      \n *
    • int - specify initial ASN.1 value(V) by integer value
    • \n *
    • bigint - specify initial ASN.1 value(V) by BigInteger object
    • \n *
    • hex - specify initial ASN.1 value(V) by a hexadecimal string
    • \n *
    \n * NOTE: 'params' can be omitted.\n */\nKJUR.asn1.DERInteger = function (params) {\n KJUR.asn1.DERInteger.superclass.constructor.call(this);\n this.hT = \"02\";\n /**\n * set value by Tom Wu's BigInteger object\n * @name setByBigInteger\n * @memberOf KJUR.asn1.DERInteger#\n * @function\n * @param {BigInteger} bigIntegerValue to set\n */\n this.setByBigInteger = function (bigIntegerValue) {\n this.hTLV = null;\n this.isModified = true;\n this.hV = KJUR.asn1.ASN1Util.bigIntToMinTwosComplementsHex(bigIntegerValue);\n };\n /**\n * set value by integer value\n * @name setByInteger\n * @memberOf KJUR.asn1.DERInteger\n * @function\n * @param {Integer} integer value to set\n */\n this.setByInteger = function (intValue) {\n var bi = new _jsbn_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger(String(intValue), 10);\n this.setByBigInteger(bi);\n };\n /**\n * set value by integer value\n * @name setValueHex\n * @memberOf KJUR.asn1.DERInteger#\n * @function\n * @param {String} hexadecimal string of integer value\n * @description\n *
    \n * NOTE: Value shall be represented by minimum octet length of\n * two's complement representation.\n * @example\n * new KJUR.asn1.DERInteger(123);\n * new KJUR.asn1.DERInteger({'int': 123});\n * new KJUR.asn1.DERInteger({'hex': '1fad'});\n */\n this.setValueHex = function (newHexString) {\n this.hV = newHexString;\n };\n this.getFreshValueHex = function () {\n return this.hV;\n };\n if (typeof params != \"undefined\") {\n if (typeof params['bigint'] != \"undefined\") {\n this.setByBigInteger(params['bigint']);\n }\n else if (typeof params['int'] != \"undefined\") {\n this.setByInteger(params['int']);\n }\n else if (typeof params == \"number\") {\n this.setByInteger(params);\n }\n else if (typeof params['hex'] != \"undefined\") {\n this.setValueHex(params['hex']);\n }\n }\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERInteger, KJUR.asn1.ASN1Object);\n// ********************************************************************\n/**\n * class for ASN.1 DER encoded BitString primitive\n * @name KJUR.asn1.DERBitString\n * @class class for ASN.1 DER encoded BitString primitive\n * @extends KJUR.asn1.ASN1Object\n * @description\n *
    \n * As for argument 'params' for constructor, you can specify one of\n * following properties:\n *
      \n *
    • bin - specify binary string (ex. '10111')
    • \n *
    • array - specify array of boolean (ex. [true,false,true,true])
    • \n *
    • hex - specify hexadecimal string of ASN.1 value(V) including unused bits
    • \n *
    • obj - specify {@link KJUR.asn1.ASN1Util.newObject}\n * argument for \"BitString encapsulates\" structure.
    • \n *
    \n * NOTE1: 'params' can be omitted.
    \n * NOTE2: 'obj' parameter have been supported since\n * asn1 1.0.11, jsrsasign 6.1.1 (2016-Sep-25).
    \n * @example\n * // default constructor\n * o = new KJUR.asn1.DERBitString();\n * // initialize with binary string\n * o = new KJUR.asn1.DERBitString({bin: \"1011\"});\n * // initialize with boolean array\n * o = new KJUR.asn1.DERBitString({array: [true,false,true,true]});\n * // initialize with hexadecimal string (04 is unused bits)\n * o = new KJUR.asn1.DEROctetString({hex: \"04bac0\"});\n * // initialize with ASN1Util.newObject argument for encapsulated\n * o = new KJUR.asn1.DERBitString({obj: {seq: [{int: 3}, {prnstr: 'aaa'}]}});\n * // above generates a ASN.1 data like this:\n * // BIT STRING, encapsulates {\n * // SEQUENCE {\n * // INTEGER 3\n * // PrintableString 'aaa'\n * // }\n * // }\n */\nKJUR.asn1.DERBitString = function (params) {\n if (params !== undefined && typeof params.obj !== \"undefined\") {\n var o = KJUR.asn1.ASN1Util.newObject(params.obj);\n params.hex = \"00\" + o.getEncodedHex();\n }\n KJUR.asn1.DERBitString.superclass.constructor.call(this);\n this.hT = \"03\";\n /**\n * set ASN.1 value(V) by a hexadecimal string including unused bits\n * @name setHexValueIncludingUnusedBits\n * @memberOf KJUR.asn1.DERBitString#\n * @function\n * @param {String} newHexStringIncludingUnusedBits\n */\n this.setHexValueIncludingUnusedBits = function (newHexStringIncludingUnusedBits) {\n this.hTLV = null;\n this.isModified = true;\n this.hV = newHexStringIncludingUnusedBits;\n };\n /**\n * set ASN.1 value(V) by unused bit and hexadecimal string of value\n * @name setUnusedBitsAndHexValue\n * @memberOf KJUR.asn1.DERBitString#\n * @function\n * @param {Integer} unusedBits\n * @param {String} hValue\n */\n this.setUnusedBitsAndHexValue = function (unusedBits, hValue) {\n if (unusedBits < 0 || 7 < unusedBits) {\n throw \"unused bits shall be from 0 to 7: u = \" + unusedBits;\n }\n var hUnusedBits = \"0\" + unusedBits;\n this.hTLV = null;\n this.isModified = true;\n this.hV = hUnusedBits + hValue;\n };\n /**\n * set ASN.1 DER BitString by binary string
    \n * @name setByBinaryString\n * @memberOf KJUR.asn1.DERBitString#\n * @function\n * @param {String} binaryString binary value string (i.e. '10111')\n * @description\n * Its unused bits will be calculated automatically by length of\n * 'binaryValue'.
    \n * NOTE: Trailing zeros '0' will be ignored.\n * @example\n * o = new KJUR.asn1.DERBitString();\n * o.setByBooleanArray(\"01011\");\n */\n this.setByBinaryString = function (binaryString) {\n binaryString = binaryString.replace(/0+$/, '');\n var unusedBits = 8 - binaryString.length % 8;\n if (unusedBits == 8)\n unusedBits = 0;\n for (var i = 0; i <= unusedBits; i++) {\n binaryString += '0';\n }\n var h = '';\n for (var i = 0; i < binaryString.length - 1; i += 8) {\n var b = binaryString.substr(i, 8);\n var x = parseInt(b, 2).toString(16);\n if (x.length == 1)\n x = '0' + x;\n h += x;\n }\n this.hTLV = null;\n this.isModified = true;\n this.hV = '0' + unusedBits + h;\n };\n /**\n * set ASN.1 TLV value(V) by an array of boolean
    \n * @name setByBooleanArray\n * @memberOf KJUR.asn1.DERBitString#\n * @function\n * @param {array} booleanArray array of boolean (ex. [true, false, true])\n * @description\n * NOTE: Trailing falses will be ignored in the ASN.1 DER Object.\n * @example\n * o = new KJUR.asn1.DERBitString();\n * o.setByBooleanArray([false, true, false, true, true]);\n */\n this.setByBooleanArray = function (booleanArray) {\n var s = '';\n for (var i = 0; i < booleanArray.length; i++) {\n if (booleanArray[i] == true) {\n s += '1';\n }\n else {\n s += '0';\n }\n }\n this.setByBinaryString(s);\n };\n /**\n * generate an array of falses with specified length
    \n * @name newFalseArray\n * @memberOf KJUR.asn1.DERBitString\n * @function\n * @param {Integer} nLength length of array to generate\n * @return {array} array of boolean falses\n * @description\n * This static method may be useful to initialize boolean array.\n * @example\n * o = new KJUR.asn1.DERBitString();\n * o.newFalseArray(3) → [false, false, false]\n */\n this.newFalseArray = function (nLength) {\n var a = new Array(nLength);\n for (var i = 0; i < nLength; i++) {\n a[i] = false;\n }\n return a;\n };\n this.getFreshValueHex = function () {\n return this.hV;\n };\n if (typeof params != \"undefined\") {\n if (typeof params == \"string\" && params.toLowerCase().match(/^[0-9a-f]+$/)) {\n this.setHexValueIncludingUnusedBits(params);\n }\n else if (typeof params['hex'] != \"undefined\") {\n this.setHexValueIncludingUnusedBits(params['hex']);\n }\n else if (typeof params['bin'] != \"undefined\") {\n this.setByBinaryString(params['bin']);\n }\n else if (typeof params['array'] != \"undefined\") {\n this.setByBooleanArray(params['array']);\n }\n }\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERBitString, KJUR.asn1.ASN1Object);\n// ********************************************************************\n/**\n * class for ASN.1 DER OctetString
    \n * @name KJUR.asn1.DEROctetString\n * @class class for ASN.1 DER OctetString\n * @param {Array} params associative array of parameters (ex. {'str': 'aaa'})\n * @extends KJUR.asn1.DERAbstractString\n * @description\n * This class provides ASN.1 OctetString simple type.
    \n * Supported \"params\" attributes are:\n *
      \n *
    • str - to set a string as a value
    • \n *
    • hex - to set a hexadecimal string as a value
    • \n *
    • obj - to set a encapsulated ASN.1 value by JSON object\n * which is defined in {@link KJUR.asn1.ASN1Util.newObject}
    • \n *
    \n * NOTE: A parameter 'obj' have been supported\n * for \"OCTET STRING, encapsulates\" structure.\n * since asn1 1.0.11, jsrsasign 6.1.1 (2016-Sep-25).\n * @see KJUR.asn1.DERAbstractString - superclass\n * @example\n * // default constructor\n * o = new KJUR.asn1.DEROctetString();\n * // initialize with string\n * o = new KJUR.asn1.DEROctetString({str: \"aaa\"});\n * // initialize with hexadecimal string\n * o = new KJUR.asn1.DEROctetString({hex: \"616161\"});\n * // initialize with ASN1Util.newObject argument\n * o = new KJUR.asn1.DEROctetString({obj: {seq: [{int: 3}, {prnstr: 'aaa'}]}});\n * // above generates a ASN.1 data like this:\n * // OCTET STRING, encapsulates {\n * // SEQUENCE {\n * // INTEGER 3\n * // PrintableString 'aaa'\n * // }\n * // }\n */\nKJUR.asn1.DEROctetString = function (params) {\n if (params !== undefined && typeof params.obj !== \"undefined\") {\n var o = KJUR.asn1.ASN1Util.newObject(params.obj);\n params.hex = o.getEncodedHex();\n }\n KJUR.asn1.DEROctetString.superclass.constructor.call(this, params);\n this.hT = \"04\";\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DEROctetString, KJUR.asn1.DERAbstractString);\n// ********************************************************************\n/**\n * class for ASN.1 DER Null\n * @name KJUR.asn1.DERNull\n * @class class for ASN.1 DER Null\n * @extends KJUR.asn1.ASN1Object\n * @description\n * @see KJUR.asn1.ASN1Object - superclass\n */\nKJUR.asn1.DERNull = function () {\n KJUR.asn1.DERNull.superclass.constructor.call(this);\n this.hT = \"05\";\n this.hTLV = \"0500\";\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERNull, KJUR.asn1.ASN1Object);\n// ********************************************************************\n/**\n * class for ASN.1 DER ObjectIdentifier\n * @name KJUR.asn1.DERObjectIdentifier\n * @class class for ASN.1 DER ObjectIdentifier\n * @param {Array} params associative array of parameters (ex. {'oid': '2.5.4.5'})\n * @extends KJUR.asn1.ASN1Object\n * @description\n *
    \n * As for argument 'params' for constructor, you can specify one of\n * following properties:\n *
      \n *
    • oid - specify initial ASN.1 value(V) by a oid string (ex. 2.5.4.13)
    • \n *
    • hex - specify initial ASN.1 value(V) by a hexadecimal string
    • \n *
    \n * NOTE: 'params' can be omitted.\n */\nKJUR.asn1.DERObjectIdentifier = function (params) {\n var itox = function (i) {\n var h = i.toString(16);\n if (h.length == 1)\n h = '0' + h;\n return h;\n };\n var roidtox = function (roid) {\n var h = '';\n var bi = new _jsbn_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger(roid, 10);\n var b = bi.toString(2);\n var padLen = 7 - b.length % 7;\n if (padLen == 7)\n padLen = 0;\n var bPad = '';\n for (var i = 0; i < padLen; i++)\n bPad += '0';\n b = bPad + b;\n for (var i = 0; i < b.length - 1; i += 7) {\n var b8 = b.substr(i, 7);\n if (i != b.length - 7)\n b8 = '1' + b8;\n h += itox(parseInt(b8, 2));\n }\n return h;\n };\n KJUR.asn1.DERObjectIdentifier.superclass.constructor.call(this);\n this.hT = \"06\";\n /**\n * set value by a hexadecimal string\n * @name setValueHex\n * @memberOf KJUR.asn1.DERObjectIdentifier#\n * @function\n * @param {String} newHexString hexadecimal value of OID bytes\n */\n this.setValueHex = function (newHexString) {\n this.hTLV = null;\n this.isModified = true;\n this.s = null;\n this.hV = newHexString;\n };\n /**\n * set value by a OID string
    \n * @name setValueOidString\n * @memberOf KJUR.asn1.DERObjectIdentifier#\n * @function\n * @param {String} oidString OID string (ex. 2.5.4.13)\n * @example\n * o = new KJUR.asn1.DERObjectIdentifier();\n * o.setValueOidString(\"2.5.4.13\");\n */\n this.setValueOidString = function (oidString) {\n if (!oidString.match(/^[0-9.]+$/)) {\n throw \"malformed oid string: \" + oidString;\n }\n var h = '';\n var a = oidString.split('.');\n var i0 = parseInt(a[0]) * 40 + parseInt(a[1]);\n h += itox(i0);\n a.splice(0, 2);\n for (var i = 0; i < a.length; i++) {\n h += roidtox(a[i]);\n }\n this.hTLV = null;\n this.isModified = true;\n this.s = null;\n this.hV = h;\n };\n /**\n * set value by a OID name\n * @name setValueName\n * @memberOf KJUR.asn1.DERObjectIdentifier#\n * @function\n * @param {String} oidName OID name (ex. 'serverAuth')\n * @since 1.0.1\n * @description\n * OID name shall be defined in 'KJUR.asn1.x509.OID.name2oidList'.\n * Otherwise raise error.\n * @example\n * o = new KJUR.asn1.DERObjectIdentifier();\n * o.setValueName(\"serverAuth\");\n */\n this.setValueName = function (oidName) {\n var oid = KJUR.asn1.x509.OID.name2oid(oidName);\n if (oid !== '') {\n this.setValueOidString(oid);\n }\n else {\n throw \"DERObjectIdentifier oidName undefined: \" + oidName;\n }\n };\n this.getFreshValueHex = function () {\n return this.hV;\n };\n if (params !== undefined) {\n if (typeof params === \"string\") {\n if (params.match(/^[0-2].[0-9.]+$/)) {\n this.setValueOidString(params);\n }\n else {\n this.setValueName(params);\n }\n }\n else if (params.oid !== undefined) {\n this.setValueOidString(params.oid);\n }\n else if (params.hex !== undefined) {\n this.setValueHex(params.hex);\n }\n else if (params.name !== undefined) {\n this.setValueName(params.name);\n }\n }\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERObjectIdentifier, KJUR.asn1.ASN1Object);\n// ********************************************************************\n/**\n * class for ASN.1 DER Enumerated\n * @name KJUR.asn1.DEREnumerated\n * @class class for ASN.1 DER Enumerated\n * @extends KJUR.asn1.ASN1Object\n * @description\n *
    \n * As for argument 'params' for constructor, you can specify one of\n * following properties:\n *
      \n *
    • int - specify initial ASN.1 value(V) by integer value
    • \n *
    • hex - specify initial ASN.1 value(V) by a hexadecimal string
    • \n *
    \n * NOTE: 'params' can be omitted.\n * @example\n * new KJUR.asn1.DEREnumerated(123);\n * new KJUR.asn1.DEREnumerated({int: 123});\n * new KJUR.asn1.DEREnumerated({hex: '1fad'});\n */\nKJUR.asn1.DEREnumerated = function (params) {\n KJUR.asn1.DEREnumerated.superclass.constructor.call(this);\n this.hT = \"0a\";\n /**\n * set value by Tom Wu's BigInteger object\n * @name setByBigInteger\n * @memberOf KJUR.asn1.DEREnumerated#\n * @function\n * @param {BigInteger} bigIntegerValue to set\n */\n this.setByBigInteger = function (bigIntegerValue) {\n this.hTLV = null;\n this.isModified = true;\n this.hV = KJUR.asn1.ASN1Util.bigIntToMinTwosComplementsHex(bigIntegerValue);\n };\n /**\n * set value by integer value\n * @name setByInteger\n * @memberOf KJUR.asn1.DEREnumerated#\n * @function\n * @param {Integer} integer value to set\n */\n this.setByInteger = function (intValue) {\n var bi = new _jsbn_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger(String(intValue), 10);\n this.setByBigInteger(bi);\n };\n /**\n * set value by integer value\n * @name setValueHex\n * @memberOf KJUR.asn1.DEREnumerated#\n * @function\n * @param {String} hexadecimal string of integer value\n * @description\n *
    \n * NOTE: Value shall be represented by minimum octet length of\n * two's complement representation.\n */\n this.setValueHex = function (newHexString) {\n this.hV = newHexString;\n };\n this.getFreshValueHex = function () {\n return this.hV;\n };\n if (typeof params != \"undefined\") {\n if (typeof params['int'] != \"undefined\") {\n this.setByInteger(params['int']);\n }\n else if (typeof params == \"number\") {\n this.setByInteger(params);\n }\n else if (typeof params['hex'] != \"undefined\") {\n this.setValueHex(params['hex']);\n }\n }\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DEREnumerated, KJUR.asn1.ASN1Object);\n// ********************************************************************\n/**\n * class for ASN.1 DER UTF8String\n * @name KJUR.asn1.DERUTF8String\n * @class class for ASN.1 DER UTF8String\n * @param {Array} params associative array of parameters (ex. {'str': 'aaa'})\n * @extends KJUR.asn1.DERAbstractString\n * @description\n * @see KJUR.asn1.DERAbstractString - superclass\n */\nKJUR.asn1.DERUTF8String = function (params) {\n KJUR.asn1.DERUTF8String.superclass.constructor.call(this, params);\n this.hT = \"0c\";\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERUTF8String, KJUR.asn1.DERAbstractString);\n// ********************************************************************\n/**\n * class for ASN.1 DER NumericString\n * @name KJUR.asn1.DERNumericString\n * @class class for ASN.1 DER NumericString\n * @param {Array} params associative array of parameters (ex. {'str': 'aaa'})\n * @extends KJUR.asn1.DERAbstractString\n * @description\n * @see KJUR.asn1.DERAbstractString - superclass\n */\nKJUR.asn1.DERNumericString = function (params) {\n KJUR.asn1.DERNumericString.superclass.constructor.call(this, params);\n this.hT = \"12\";\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERNumericString, KJUR.asn1.DERAbstractString);\n// ********************************************************************\n/**\n * class for ASN.1 DER PrintableString\n * @name KJUR.asn1.DERPrintableString\n * @class class for ASN.1 DER PrintableString\n * @param {Array} params associative array of parameters (ex. {'str': 'aaa'})\n * @extends KJUR.asn1.DERAbstractString\n * @description\n * @see KJUR.asn1.DERAbstractString - superclass\n */\nKJUR.asn1.DERPrintableString = function (params) {\n KJUR.asn1.DERPrintableString.superclass.constructor.call(this, params);\n this.hT = \"13\";\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERPrintableString, KJUR.asn1.DERAbstractString);\n// ********************************************************************\n/**\n * class for ASN.1 DER TeletexString\n * @name KJUR.asn1.DERTeletexString\n * @class class for ASN.1 DER TeletexString\n * @param {Array} params associative array of parameters (ex. {'str': 'aaa'})\n * @extends KJUR.asn1.DERAbstractString\n * @description\n * @see KJUR.asn1.DERAbstractString - superclass\n */\nKJUR.asn1.DERTeletexString = function (params) {\n KJUR.asn1.DERTeletexString.superclass.constructor.call(this, params);\n this.hT = \"14\";\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERTeletexString, KJUR.asn1.DERAbstractString);\n// ********************************************************************\n/**\n * class for ASN.1 DER IA5String\n * @name KJUR.asn1.DERIA5String\n * @class class for ASN.1 DER IA5String\n * @param {Array} params associative array of parameters (ex. {'str': 'aaa'})\n * @extends KJUR.asn1.DERAbstractString\n * @description\n * @see KJUR.asn1.DERAbstractString - superclass\n */\nKJUR.asn1.DERIA5String = function (params) {\n KJUR.asn1.DERIA5String.superclass.constructor.call(this, params);\n this.hT = \"16\";\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERIA5String, KJUR.asn1.DERAbstractString);\n// ********************************************************************\n/**\n * class for ASN.1 DER UTCTime\n * @name KJUR.asn1.DERUTCTime\n * @class class for ASN.1 DER UTCTime\n * @param {Array} params associative array of parameters (ex. {'str': '130430235959Z'})\n * @extends KJUR.asn1.DERAbstractTime\n * @description\n *
    \n * As for argument 'params' for constructor, you can specify one of\n * following properties:\n *
      \n *
    • str - specify initial ASN.1 value(V) by a string (ex.'130430235959Z')
    • \n *
    • hex - specify initial ASN.1 value(V) by a hexadecimal string
    • \n *
    • date - specify Date object.
    • \n *
    \n * NOTE: 'params' can be omitted.\n *

    EXAMPLES

    \n * @example\n * d1 = new KJUR.asn1.DERUTCTime();\n * d1.setString('130430125959Z');\n *\n * d2 = new KJUR.asn1.DERUTCTime({'str': '130430125959Z'});\n * d3 = new KJUR.asn1.DERUTCTime({'date': new Date(Date.UTC(2015, 0, 31, 0, 0, 0, 0))});\n * d4 = new KJUR.asn1.DERUTCTime('130430125959Z');\n */\nKJUR.asn1.DERUTCTime = function (params) {\n KJUR.asn1.DERUTCTime.superclass.constructor.call(this, params);\n this.hT = \"17\";\n /**\n * set value by a Date object
    \n * @name setByDate\n * @memberOf KJUR.asn1.DERUTCTime#\n * @function\n * @param {Date} dateObject Date object to set ASN.1 value(V)\n * @example\n * o = new KJUR.asn1.DERUTCTime();\n * o.setByDate(new Date(\"2016/12/31\"));\n */\n this.setByDate = function (dateObject) {\n this.hTLV = null;\n this.isModified = true;\n this.date = dateObject;\n this.s = this.formatDate(this.date, 'utc');\n this.hV = stohex(this.s);\n };\n this.getFreshValueHex = function () {\n if (typeof this.date == \"undefined\" && typeof this.s == \"undefined\") {\n this.date = new Date();\n this.s = this.formatDate(this.date, 'utc');\n this.hV = stohex(this.s);\n }\n return this.hV;\n };\n if (params !== undefined) {\n if (params.str !== undefined) {\n this.setString(params.str);\n }\n else if (typeof params == \"string\" && params.match(/^[0-9]{12}Z$/)) {\n this.setString(params);\n }\n else if (params.hex !== undefined) {\n this.setStringHex(params.hex);\n }\n else if (params.date !== undefined) {\n this.setByDate(params.date);\n }\n }\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERUTCTime, KJUR.asn1.DERAbstractTime);\n// ********************************************************************\n/**\n * class for ASN.1 DER GeneralizedTime\n * @name KJUR.asn1.DERGeneralizedTime\n * @class class for ASN.1 DER GeneralizedTime\n * @param {Array} params associative array of parameters (ex. {'str': '20130430235959Z'})\n * @property {Boolean} withMillis flag to show milliseconds or not\n * @extends KJUR.asn1.DERAbstractTime\n * @description\n *
    \n * As for argument 'params' for constructor, you can specify one of\n * following properties:\n *
      \n *
    • str - specify initial ASN.1 value(V) by a string (ex.'20130430235959Z')
    • \n *
    • hex - specify initial ASN.1 value(V) by a hexadecimal string
    • \n *
    • date - specify Date object.
    • \n *
    • millis - specify flag to show milliseconds (from 1.0.6)
    • \n *
    \n * NOTE1: 'params' can be omitted.\n * NOTE2: 'withMillis' property is supported from asn1 1.0.6.\n */\nKJUR.asn1.DERGeneralizedTime = function (params) {\n KJUR.asn1.DERGeneralizedTime.superclass.constructor.call(this, params);\n this.hT = \"18\";\n this.withMillis = false;\n /**\n * set value by a Date object\n * @name setByDate\n * @memberOf KJUR.asn1.DERGeneralizedTime#\n * @function\n * @param {Date} dateObject Date object to set ASN.1 value(V)\n * @example\n * When you specify UTC time, use 'Date.UTC' method like this:
    \n * o1 = new DERUTCTime();\n * o1.setByDate(date);\n *\n * date = new Date(Date.UTC(2015, 0, 31, 23, 59, 59, 0)); #2015JAN31 23:59:59\n */\n this.setByDate = function (dateObject) {\n this.hTLV = null;\n this.isModified = true;\n this.date = dateObject;\n this.s = this.formatDate(this.date, 'gen', this.withMillis);\n this.hV = stohex(this.s);\n };\n this.getFreshValueHex = function () {\n if (this.date === undefined && this.s === undefined) {\n this.date = new Date();\n this.s = this.formatDate(this.date, 'gen', this.withMillis);\n this.hV = stohex(this.s);\n }\n return this.hV;\n };\n if (params !== undefined) {\n if (params.str !== undefined) {\n this.setString(params.str);\n }\n else if (typeof params == \"string\" && params.match(/^[0-9]{14}Z$/)) {\n this.setString(params);\n }\n else if (params.hex !== undefined) {\n this.setStringHex(params.hex);\n }\n else if (params.date !== undefined) {\n this.setByDate(params.date);\n }\n if (params.millis === true) {\n this.withMillis = true;\n }\n }\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERGeneralizedTime, KJUR.asn1.DERAbstractTime);\n// ********************************************************************\n/**\n * class for ASN.1 DER Sequence\n * @name KJUR.asn1.DERSequence\n * @class class for ASN.1 DER Sequence\n * @extends KJUR.asn1.DERAbstractStructured\n * @description\n *
    \n * As for argument 'params' for constructor, you can specify one of\n * following properties:\n *
      \n *
    • array - specify array of ASN1Object to set elements of content
    • \n *
    \n * NOTE: 'params' can be omitted.\n */\nKJUR.asn1.DERSequence = function (params) {\n KJUR.asn1.DERSequence.superclass.constructor.call(this, params);\n this.hT = \"30\";\n this.getFreshValueHex = function () {\n var h = '';\n for (var i = 0; i < this.asn1Array.length; i++) {\n var asn1Obj = this.asn1Array[i];\n h += asn1Obj.getEncodedHex();\n }\n this.hV = h;\n return this.hV;\n };\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERSequence, KJUR.asn1.DERAbstractStructured);\n// ********************************************************************\n/**\n * class for ASN.1 DER Set\n * @name KJUR.asn1.DERSet\n * @class class for ASN.1 DER Set\n * @extends KJUR.asn1.DERAbstractStructured\n * @description\n *
    \n * As for argument 'params' for constructor, you can specify one of\n * following properties:\n *
      \n *
    • array - specify array of ASN1Object to set elements of content
    • \n *
    • sortflag - flag for sort (default: true). ASN.1 BER is not sorted in 'SET OF'.
    • \n *
    \n * NOTE1: 'params' can be omitted.
    \n * NOTE2: sortflag is supported since 1.0.5.\n */\nKJUR.asn1.DERSet = function (params) {\n KJUR.asn1.DERSet.superclass.constructor.call(this, params);\n this.hT = \"31\";\n this.sortFlag = true; // item shall be sorted only in ASN.1 DER\n this.getFreshValueHex = function () {\n var a = new Array();\n for (var i = 0; i < this.asn1Array.length; i++) {\n var asn1Obj = this.asn1Array[i];\n a.push(asn1Obj.getEncodedHex());\n }\n if (this.sortFlag == true)\n a.sort();\n this.hV = a.join('');\n return this.hV;\n };\n if (typeof params != \"undefined\") {\n if (typeof params.sortflag != \"undefined\" &&\n params.sortflag == false)\n this.sortFlag = false;\n }\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERSet, KJUR.asn1.DERAbstractStructured);\n// ********************************************************************\n/**\n * class for ASN.1 DER TaggedObject\n * @name KJUR.asn1.DERTaggedObject\n * @class class for ASN.1 DER TaggedObject\n * @extends KJUR.asn1.ASN1Object\n * @description\n *
    \n * Parameter 'tagNoNex' is ASN.1 tag(T) value for this object.\n * For example, if you find '[1]' tag in a ASN.1 dump,\n * 'tagNoHex' will be 'a1'.\n *
    \n * As for optional argument 'params' for constructor, you can specify *ANY* of\n * following properties:\n *
      \n *
    • explicit - specify true if this is explicit tag otherwise false\n * (default is 'true').
    • \n *
    • tag - specify tag (default is 'a0' which means [0])
    • \n *
    • obj - specify ASN1Object which is tagged
    • \n *
    \n * @example\n * d1 = new KJUR.asn1.DERUTF8String({'str':'a'});\n * d2 = new KJUR.asn1.DERTaggedObject({'obj': d1});\n * hex = d2.getEncodedHex();\n */\nKJUR.asn1.DERTaggedObject = function (params) {\n KJUR.asn1.DERTaggedObject.superclass.constructor.call(this);\n this.hT = \"a0\";\n this.hV = '';\n this.isExplicit = true;\n this.asn1Object = null;\n /**\n * set value by an ASN1Object\n * @name setString\n * @memberOf KJUR.asn1.DERTaggedObject#\n * @function\n * @param {Boolean} isExplicitFlag flag for explicit/implicit tag\n * @param {Integer} tagNoHex hexadecimal string of ASN.1 tag\n * @param {ASN1Object} asn1Object ASN.1 to encapsulate\n */\n this.setASN1Object = function (isExplicitFlag, tagNoHex, asn1Object) {\n this.hT = tagNoHex;\n this.isExplicit = isExplicitFlag;\n this.asn1Object = asn1Object;\n if (this.isExplicit) {\n this.hV = this.asn1Object.getEncodedHex();\n this.hTLV = null;\n this.isModified = true;\n }\n else {\n this.hV = null;\n this.hTLV = asn1Object.getEncodedHex();\n this.hTLV = this.hTLV.replace(/^../, tagNoHex);\n this.isModified = false;\n }\n };\n this.getFreshValueHex = function () {\n return this.hV;\n };\n if (typeof params != \"undefined\") {\n if (typeof params['tag'] != \"undefined\") {\n this.hT = params['tag'];\n }\n if (typeof params['explicit'] != \"undefined\") {\n this.isExplicit = params['explicit'];\n }\n if (typeof params['obj'] != \"undefined\") {\n this.asn1Object = params['obj'];\n this.setASN1Object(this.isExplicit, this.hT, this.asn1Object);\n }\n }\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERTaggedObject, KJUR.asn1.ASN1Object);\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/jsrsasign/asn1-1.0.js?"); + +/***/ }), + +/***/ "./lib/lib/jsrsasign/yahoo.js": +/*!************************************!*\ + !*** ./lib/lib/jsrsasign/yahoo.js ***! + \************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"YAHOO\": () => (/* binding */ YAHOO)\n/* harmony export */ });\n/*!\nCopyright (c) 2011, Yahoo! Inc. All rights reserved.\nCode licensed under the BSD License:\nhttp://developer.yahoo.com/yui/license.html\nversion: 2.9.0\n*/\nvar YAHOO = {};\nYAHOO.lang = {\n /**\n * Utility to set up the prototype, constructor and superclass properties to\n * support an inheritance strategy that can chain constructors and methods.\n * Static members will not be inherited.\n *\n * @method extend\n * @static\n * @param {Function} subc the object to modify\n * @param {Function} superc the object to inherit\n * @param {Object} overrides additional properties/methods to add to the\n * subclass prototype. These will override the\n * matching items obtained from the superclass\n * if present.\n */\n extend: function (subc, superc, overrides) {\n if (!superc || !subc) {\n throw new Error(\"YAHOO.lang.extend failed, please check that \" +\n \"all dependencies are included.\");\n }\n var F = function () { };\n F.prototype = superc.prototype;\n subc.prototype = new F();\n subc.prototype.constructor = subc;\n subc.superclass = superc.prototype;\n if (superc.prototype.constructor == Object.prototype.constructor) {\n superc.prototype.constructor = superc;\n }\n if (overrides) {\n var i;\n for (i in overrides) {\n subc.prototype[i] = overrides[i];\n }\n /*\n * IE will not enumerate native functions in a derived object even if the\n * function was overridden. This is a workaround for specific functions\n * we care about on the Object prototype.\n * @property _IEEnumFix\n * @param {Function} r the object to receive the augmentation\n * @param {Function} s the object that supplies the properties to augment\n * @static\n * @private\n */\n var _IEEnumFix = function () { }, ADD = [\"toString\", \"valueOf\"];\n try {\n if (/MSIE/.test(navigator.userAgent)) {\n _IEEnumFix = function (r, s) {\n for (i = 0; i < ADD.length; i = i + 1) {\n var fname = ADD[i], f = s[fname];\n if (typeof f === 'function' && f != Object.prototype[fname]) {\n r[fname] = f;\n }\n }\n };\n }\n }\n catch (ex) { }\n ;\n _IEEnumFix(subc.prototype, overrides);\n }\n }\n};\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/jsrsasign/yahoo.js?"); + +/***/ }), + +/***/ "./node_modules/process/browser.js": +/*!*****************************************!*\ + !*** ./node_modules/process/browser.js ***! + \*****************************************/ +/***/ ((module) => { + +eval("// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n//# sourceURL=webpack://JSEncrypt/./node_modules/process/browser.js?"); + +/***/ }) + +/******/ }); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/define property getters */ +/******/ (() => { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = (exports, definition) => { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) +/******/ })(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/************************************************************************/ +/******/ +/******/ // startup +/******/ // Load entry module and return exports +/******/ // This entry module can't be inlined because the eval devtool is used. +/******/ var __webpack_exports__ = __webpack_require__("./lib/index.js"); +/******/ __webpack_exports__ = __webpack_exports__["default"]; +/******/ +/******/ return __webpack_exports__; +/******/ })() +; +}); \ No newline at end of file diff --git a/tvboxqq/tvboxqq/小虎斑/api/json5.js b/tvboxqq/tvboxqq/小虎斑/api/json5.js new file mode 100644 index 0000000..10d7ab0 --- /dev/null +++ b/tvboxqq/tvboxqq/小虎斑/api/json5.js @@ -0,0 +1,1737 @@ +(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; + +}))); diff --git a/tvboxqq/tvboxqq/小虎斑/api/node-rsa.js b/tvboxqq/tvboxqq/小虎斑/api/node-rsa.js new file mode 100644 index 0000000..b5ca093 --- /dev/null +++ b/tvboxqq/tvboxqq/小虎斑/api/node-rsa.js @@ -0,0 +1,2 @@ +/*! 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-tthis._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;i4)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{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{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=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=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=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;s60?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>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;au?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>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=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;oa&&(r=a-f),o=r;o>=0;o--){for(var h=!0,p=0;pi&&(n=i):n=i;var o=e.length;n>o/2&&(n=o/2);for(var s=0;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;i239?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;nr&&(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>>=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;ii)&&(r=i);for(var o="",s=e;sr)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||et.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>>=0,e>>>=0,r||k(t,e,this.length);for(var n=this[t],i=1,o=0;++o>>=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=(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>>=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>>=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=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=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>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(o=e;o55295&&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=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;s6&&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>>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>>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>>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>>2]>>>24-o%4*8&255;e[n+o>>>2]|=s<<24-(n+o)%4*8}else for(o=0;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>>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>>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>>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>>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>>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>>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>>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>>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>>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>>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>>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.lengthn&&(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>>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<>>32-o)+e}function c(t,e,r,n,i,o,s){var a=t+(e&n|r&~n)+i+s;return(a<>>32-o)+e}function h(t,e,r,n,i,o,s){var a=t+(e^r^n)+i+s;return(a<>>32-o)+e}function p(t,e,r,n,i,o,s){var a=t+(r^(e|~n))+i+s;return(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>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>>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>>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>>0?1:0)|0,e[2]=e[2]+886263092+(e[1]>>>0>>0?1:0)|0,e[3]=e[3]+1295307597+(e[2]>>>0>>0?1:0)|0,e[4]=e[4]+3545052371+(e[3]>>>0>>0?1:0)|0,e[5]=e[5]+886263092+(e[4]>>>0>>0?1:0)|0,e[6]=e[6]+1295307597+(e[5]>>>0>>0?1:0)|0,e[7]=e[7]+3545052371+(e[6]>>>0>>0?1:0)|0,this._b=e[7]>>>0>>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>>0?1:0)|0,e[2]=e[2]+886263092+(e[1]>>>0>>0?1:0)|0,e[3]=e[3]+1295307597+(e[2]>>>0>>0?1:0)|0,e[4]=e[4]+3545052371+(e[3]>>>0>>0?1:0)|0,e[5]=e[5]+886263092+(e[4]>>>0>>0?1:0)|0,e[6]=e[6]+1295307597+(e[5]>>>0>>0?1:0)|0,e[7]=e[7]+3545052371+(e[6]>>>0>>0?1:0)|0,this._b=e[7]>>>0>>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<>>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<>>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<>>32-O,y=w<>>32-O):(l=w<>>64-O,y=E<>>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>>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>>0?1:0))+nt+((V+=it)>>>0>>0?1:0))+ut+((V+=ct)>>>0>>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>>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>>0?1:0))+bt+((ht+=Et)>>>0>>0?1:0))+W+((ht+=V)>>>0>>0?1:0))+((M=C+ht|0)>>>0>>0?1:0)|0,L=R,C=N,R=k,N=D,k=T,D=I,T=wt+(dt+yt+(Ot>>>0>>0?1:0))+((I=ht+Ot|0)>>>0>>0?1:0)|0}y=n.low=y+I,n.high=l+T+(y>>>0>>0?1:0),d=i.low=d+D,i.high=g+k+(d>>>0>>0?1:0),m=o.low=m+N,o.high=v+R+(m>>>0>>0?1:0),_=s.low=_+C,s.high=S+L+(_>>>0>>0?1:0),E=a.low=E+M,a.high=b+U+(E>>>0>>0?1:0),O=c.low=O+H,c.high=w+j+(O>>>0>>0?1:0),A=h.low=A+z,h.high=B+F+(A>>>0>>0?1:0),P=p.low=P+q,p.high=x+G+(P>>>0>>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^this._lBlock)&e;this._lBlock^=r,this._rBlock^=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{"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){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<>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<>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<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{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{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<>=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>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):this[this.t-1]|=f<=this.DB&&(a-=this.DB))}!r&&8==n&&128&t[0]&&(this.s=-1,a>0&&(this[this.t-1]|=(1<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=0;--r)e[r+s+1]=this[r]>>i|a,a=(this[r]&o)<=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;for(var s=r+1;s>n;n>0&&(e[this.t-r-1]|=(this.s&o)<>=this.DB;if(t.t>=this.DB;n+=this.s}else{for(n+=this.s;r>=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=0;)t[r]=0;for(r=0;r=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.t0?(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<1?o[h-2]>>this.F2:0),g=this.FV/l,d=(1<=0&&(r[r.t++]=1,r.subTo(_,r)),s.ONE.dlShiftTo(h,_),_.subTo(o,o);o.t=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))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<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=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<>=this.DB;if(t.t>=this.DB;n+=this.s}else{for(n+=this.s;r>=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=0;)r[n]=0;for(n=Math.max(e-this.t,0);n0)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;o0)for(a>a)>0&&(i=!0,o=h(r));s>=0;)a>(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)<>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>n)!=(this.s&this.DM)>>n&&(e[i++]=r|this.s<=0;)n<8?(r=(this[t]&(1<>(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;r0?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?0!=this.s:!!(this[e]&1<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<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<=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(i0&&(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{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()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;f0)throw Error("Incorrect data or key");for(var r=[],i=0,o=0,s=t.length/this.encryptedDataLength,a=0;a>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;hf-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{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=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>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>8-(g=8*h-r)<<8-g,p[0]=p[0]&l,y=0;0===p[y]&&y{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+e0){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;g0)for(var d=0;d{"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{"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{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=[];++c1)for(var r=1;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{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/tvboxqq/tvboxqq/小虎斑/api/pako.min.js b/tvboxqq/tvboxqq/小虎斑/api/pako.min.js new file mode 100644 index 0000000..05a54a2 --- /dev/null +++ b/tvboxqq/tvboxqq/小虎斑/api/pako.min.js @@ -0,0 +1,2 @@ +/*! 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<>16-t.bi_valid,t.bi_valid+=a-16):(t.bi_buf|=e<{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{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]{const i=t.heap[a];let n=a<<1;for(;n<=t.heap_len&&(n{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{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>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{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{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{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{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<>=7;h(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>>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<{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]&&sr){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{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_outi+t.strm.avail_in&&(a=i+t.strm.avail_in),a>n&&(a=n),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_watern&&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>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=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=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_length4096)&&(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<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.gzindexi&&(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.gzindexi&&(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]&&nt.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=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>>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;i4)s[n++]=65533,i+=r-1;else{for(e&=2===r?31:3===r?15:7;r>1&&i1?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=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<>>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,c-=p),c<15&&(f+=z[a++]<>>24,f>>>=p,c-=p,p=g>>>16&255,!(16&p)){if(0==(64&p)){g=w[(65535&g)+(f&(1<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,p2;)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>3,a-=k,c-=k<<3,f&=(1<{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=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;b0&&(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;m852||2===t&&x>592)return 1;for(;;){Z=w-v,r[m]+1=u?(U=D[r[m]-u],S=A[r[m]-u]):(U=96,S=0),h=1<>v)+d]=Z<<24|U<<16|S|0}while(0!==d);for(h=1<>=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<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.mode16211?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.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.whaveKe(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++]<>>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<>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++]<>>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++]<>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++]<>>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>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++]<>>=7&d,d-=7&d,a.mode=Fe;break}for(;d<3;){if(0===o)break t;o--,h+=i[s++]<>>=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++]<>>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++]<>>=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>>=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>>24,b=z>>>16&255,g=65535&z,!(m<=d);){if(0===o)break t;o--,h+=i[s++]<>>=m,d-=m,a.lens[a.have++]=g;else{if(16===g){for(R=m+2;d>>=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>>=m,d-=m,y=0,c=3+(7&h),h>>>=3,d-=3}else{for(R=m+7;d>>=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<>>24,b=z>>>16&255,g=65535&z,!(m<=d);){if(0===o)break t;o--,h+=i[s++]<>p)],m=z>>>24,b=z>>>16&255,g=65535&z,!(p+m<=d);){if(0===o)break t;o--,h+=i[s++]<>>=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>>=a.extra,d-=a.extra,a.back+=a.extra}a.was=a.length,a.mode=16202;case 16202:for(;z=a.distcode[h&(1<>>24,b=z>>>16&255,g=65535&z,!(m<=d);){if(0===o)break t;o--,h+=i[s++]<>p)],m=z>>>24,b=z>>>16&255,g=65535&z,!(p+m<=d);){if(0===o)break t;o--,h+=i[s++]<>>=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>>=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++]<{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/tvboxqq/tvboxqq/小虎斑/api/模板.js b/tvboxqq/tvboxqq/小虎斑/api/模板.js new file mode 100644 index 0000000..f63e1b7 --- /dev/null +++ b/tvboxqq/tvboxqq/小虎斑/api/模板.js @@ -0,0 +1,412 @@ +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_.*?=(.*?)扮演" + }] + }, { + "key": "sort", + "name": "综合排序", + "value": [{ + "n": "综合排序", + "v": "" + }, { + "n": "最多播放", + "v": "2" + }, { + "n": "最好评", + "v": "3" + }, { + "n": "最新上线", + "v": "1" + }] + }] + }, + headers: { + 'User-Agent': 'PC_UA', + 'Cookie': 'cna=VvNvGX3e0ywCAavVEXlnA2bg; __ysuid=1626676228345Rl1; __ayft=1652434048647; __arycid=dm-1-00; __arcms=dm-1-00; __ayvstp=85; __arpvid=1667204023100cWWdgM-1667204023112; __ayscnt=10; __aypstp=60; isg=BBwcqxvvk3BxkWQGugbLpUSf7TrOlcC_U7GAj_YdfYfvQbzLHqYGT4Hgp6m5TvgX; tfstk=c3JOByYUH20ilVucLOhh0pCtE40lZfGc-PjLHLLfuX7SWNyAiQvkeMBsIw7PWDC..; l=eBQguS-PjdJFGJT-BOfwourza77OSIRA_uPzaNbMiOCPOb1B5UxfW6yHp4T6C3GVhsGJR3rp2umHBeYBqQd-nxvOF8qmSVDmn', + 'Referer': 'https://www.youku.com', + }, + timeout: 5000, + class_name: '电视剧&电影&综艺&动漫&少儿&纪录片&文化&亲子&教育&搞笑&生活&体育&音乐&游戏', + class_url: '电视剧&电影&综艺&动漫&少儿&纪录片&文化&亲子&教育&搞笑&生活&体育&音乐&游戏', + limit: 20, + play_parse: true, + lazy: $js.toString(() => { + try { + let api = "http://127.0.0.1:9978/proxy?do=seachdanmu&go=getuserjx&url=" + input.split("?")[0]; + console.log(api); + let response = fetch(api, { + method: 'get', + headers: { + 'User-Agent': 'okhttp/3.14.9', + 'Content-Type': 'application/x-www-form-urlencoded' + } + }); + + let bata = JSON.parse(response); + log(bata) + if (bata.url.includes("http")) { + input = { + header: { + 'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 16_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6 Mobile/15E148 Safari/604.1', + }, + parse: 0, + url: bata.url, + jx: 0, + danmaku: 'http://127.0.0.1:9978/proxy?do=danmu&url='+input.split("?")[0] + }; + }else { + input = { + header: { + 'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 16_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6 Mobile/15E148 Safari/604.1', + }, + parse: 0, + url: input.split("?")[0], + jx: 1, + danmaku: 'http://127.0.0.1:9978/proxy?do=danmu&url='+input.split("?")[0] + }; + } + } catch { + input = { + header: { + 'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 16_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.6 Mobile/15E148 Safari/604.1', + }, + parse: 0, + url: input.split("?")[0], + jx: 1, + danmaku: 'http://127.0.0.1:9978/proxy?do=danmu&url='+input.split("?")[0] + }; + } + }), + 一级: $js.toString(() => { + let d = []; + MY_FL.type = MY_CATE; + let fl = stringify(MY_FL); + fl = encodeUrl(fl); + input = input.split("{")[0] + fl; + if (MY_PAGE > 1) { + let old_session = getItem("yk_session_" + MY_CATE, "{}"); + if (MY_PAGE === 2) { + input = input.replace("optionRefresh=1", "session=" + encodeUrl(old_session)) + } else { + input = input.replace("optionRefresh=1", "session=" + encodeUrl(old_session)) + } + } + let html = fetch(input, fetch_params); + try { + html = JSON.parse(html); + let lists = html.data.filterData.listData; + let session = html.data.filterData.session; + session = stringify(session); + if (session !== getItem("yk_session_" + MY_CATE, "{}")) { + setItem("yk_session_" + MY_CATE, session) + } + lists.forEach(function(it) { + let vid; + if (it.videoLink.includes("id_")) { + vid = it.videoLink.split("id_")[1].split(".html")[0] + } else { + vid = "msearch:" + } + d.push({ + title: it.title, + img: it.img, + desc: it.summary, + url: "https://search.youku.com/api/search?appScene=show_episode&showIds=" + vid, + content: it.subTitle + }) + }) + } catch (e) { + log("一级列表解析发生错误:" + e.message) + } + setResult(d); + }), + 二级: $js.toString(() => { + var d = []; + VOD = {}; + let html = request(input); + let json = JSON.parse(html); + if (/keyword/.test(input)) { + input = "https://search.youku.com/api/search?appScene=show_episode&showIds=" + json.pageComponentList[0].commonData.showId; + json = JSON.parse(fetch(MY_URL, fetch_params)) + } + let video_lists = json.serisesList; + var name = json.sourceName; + if (/优酷/.test(name) && video_lists.length > 0) { + let ourl = "https://v.youku.com/v_show/id_" + video_lists[0].videoId + ".html"; + let _img = video_lists[0].thumbUrl; + let html = fetch(ourl, { + headers: { + Referer: "https://v.youku.com/", + "User-Agent": PC_UA + } + }); + let json = /__INITIAL_DATA__/.test(html) ? html.split("window.__INITIAL_DATA__ =")[1].split(";")[0] : "{}"; + if (json === "{}") { + log("触发了优酷人机验证"); + VOD.vod_remarks = ourl; + VOD.vod_pic = _img; + VOD.vod_name = video_lists[0].title.replace(/(\d+)/g, ""); + VOD.vod_content = "触发了优酷人机验证,本次未获取详情,但不影响播放(" + ourl + ")" + } else { + try { + json = JSON.parse(json); + let data = json.data.data; + let data_extra = data.data.extra; + let img = data_extra.showImgV; + let model = json.data.model; + let m = model.detail.data.nodes[0].nodes[0].nodes[0].data; + let _type = m.showGenre; + let _desc = m.updateInfo || m.subtitle; + let JJ = m.desc; + let _title = m.introTitle; + VOD.vod_pic = img; + VOD.vod_name = _title; + VOD.vod_type = _type; + VOD.vod_remarks = _desc; + VOD.vod_content = JJ + } catch (e) { + log("海报渲染发生错误:" + e.message); + print(json); + VOD.vod_remarks = name + } + } + } + if (!/优酷/.test(name)) { + VOD.vod_content = "非自家播放源,暂无视频简介及海报"; + VOD.vod_remarks = name + } + + function adhead(url) { + return urlencode(url) + } + + play_url = play_url.replace("&play_url=", "&type=json&play_url="); + video_lists.forEach(function(it) { + let url = "https://v.youku.com/v_show/id_" + it.videoId + ".html"; + if (it.thumbUrl) { + d.push({ + desc: it.showVideoStage ? it.showVideoStage.replace("期", "集") : it.displayName, + pic_url: it.thumbUrl, + title: it.title, + url: play_url + adhead(url) + }) + } else if (name !== "优酷") { + d.push({ + title: it.displayName ? it.displayName : it.title, + url: play_url + adhead(it.url) + }) + } + }); + VOD.vod_play_from = name; + VOD.vod_play_url = d.map(function(it) { + return it.title + "$" + it.url + }) + .join("#"); + }), + + 搜索: $js.toString(() => { + var d = []; + let html = request(input); + let json = JSON.parse(html); + json.pageComponentList.forEach(function(it) { + if (it.hasOwnProperty("commonData")) { + it = it.commonData; + d.push({ + title: it.titleDTO.displayName, + img: it.posterDTO.vThumbUrl, + desc: it.stripeBottom, + content: it.updateNotice + " " + it.feature, + url: "https://search.youku.com/api/search?appScene=show_episode&showIds=" + it.showId + "&appCaller=h5" + }) + } + }); + setResult(d) + }), +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/小虎斑/js/养生.js b/tvboxqq/tvboxqq/小虎斑/js/养生.js new file mode 100644 index 0000000..82012fc --- /dev/null +++ b/tvboxqq/tvboxqq/小虎斑/js/养生.js @@ -0,0 +1 @@ +eJztWltvE0cUfs+v2EZobZPg7P1i5CKqUqlV20hF9AUha2ZnJllYX9hdB9zIiNLSkpIWQss1rUooiCKVggC1ISHKn/GuzVP/QmcvvmycxiD1xdKurGR9znfOd+acb9e3WQA2Y9ctzBSZxQmGHq7pWrjAZLzlm62NPyr4jHO8s/XkBGx4T690bv/g31jJTIfA+arjUlz8DGEXmNYx26Im0jBRbHYwsI35yLx/f2w0LOA4pQooJ3lY//l1/9lmZ3u1s7bs3/yL9S5utn/61bt7gfXv3KCP9p2vvZXnr7/8kfXXfvPXLrGBd2Wr/eoW619a8W898e4/9JaDGLa1vtHauuvd+MXbesR6V1e8pe9b6+f9xw/Y9sMV//afrfXH3upWe/WF9+2m//N56vafbbPe/Uet9cudF/fam1doiq86S8+8i0v+zQf+tcftpUuJ8uvhmqC7UNI1EQJRNLCoiwIxEBE4hXBIhkQ1iIF5NgAZItAxRzQOGirCuszLmkg4Dmo8ERURGSGI0xBQVAMDhXqIaKiaroqSoEICIOAFFIJ0gSaXME0NRAHKmOaUdEEydFVXFJmIIQhyCGJJV6CsqJRBhLosG0DRJCJxqiHqIUhROVWCApJlThJl3gBE4FUkachQCQZcVDinYCQJIq+rgMOEMwDkZBlIqgw1LEIJhiBJ1bBCiAAEVRc1STIIXR+vQyRzMg8VNQQhXdEgVBCHdVoNos3RMKFhhqFCmedJlEkXZB0QiDSCJZF2UeBpO1Qd0ggOxzVRj6zLBCmASAQISOVVDLCmCLJMINSFqHACaMUSBrLKG1gI+qNrvCFwusATQdTpNMNxEtNysV2I5R8cbzTVTIE53g8Jw07hBrVmGlTzsVR6rkDsgc97+aK1ubXTuwCsOh5OGEUGYQInyDuCosCeM+FrTjN7ZJL2yiS9TSZxr0zi22QS9sok7Mw0BB3OnMjO75I9wcBnhvxvz8KNYuH+BxZeH8FCAcMsJyb6p9OZN7kfpfJO5Z1kGSt5j3olTeWdyjvJMlbyHvUeMJV3Ku8ky1jJe9Snl1TeqbyTLGMl71Gfu1N5p/JOsoyVvEd9Y5TKO5V3kmWs5D3qu85U3qm8kyxjJe9R39Kn8k7lnWQZK3mP+n0plXcq7yTLWMl71C+jqbxTeSdZxkreI3/TT+WdyjvBMibynoh5w//R1qJ51605hZmZmpEHNTMPXbOM80a1PBOencFwxqyQ6gdW9cwhy3TckomKpBHtTXK4UqA/1sbExs48tdfAHGaNar3iFgWOxWdroIKcYmANkrClIq9Kqq4KEj16k4l2xsQ7nXbhWFwkVj64sJrN/6Lq7hXDAGHbSWyyOeZg+8DhOVxxgx59Mvvehx8fKR07HEfEMwiWWq27BUbmOG6wKgCDXWp8ZLLMskkxQowo1y3X7DmjLWgRXohMNQs0SjVgO9Tk2nUcWwNDvNq4Cgt80Sgw+046ebd61LXNylw2m2OK7w6sw8IuJTRtpsjY+HQdO252sjs6UKvtmN2CiXB1JuA/RHs5OWVWanV3erGZS+SDwAU030dHZz/Nh1VlA4bcwT6oOpcNQAOmMFNvF1/3iBfJJeUZrjGIz6PgT1hUyXFtDMrHuRP56CzoBJOMO3mWphqwNZlmeJ6LTK318+2NhyP6ZZJsWGrerBhWHWEnm6FSYjO5XLJyo1pxXLoqhM/SVXVD6LNZks0k1TrQhcFORLHvFIvMAZ45FKdw6tCJCuOmI0SOKUS+fpZmotGhc7D5u06oO/zeRHNRc4Pr5uBELzjsOqnaR4AxnzXdZG+CA+VrdWc+O3zDCYdmuvk5E01NnqPScSOCcMPm8O0n3sc5AmWW5/oYo7pAL1KqgGEcnZPRB9boX1xqlFHyJaAv4uZAuxzsfoYdeklmUQRoduWysTxaLpEMaItdpycDp2aZ9Co7N7njighRuR2hKJpUsp8LVUTvZYUo79CCA2+0OzXy87v4bVwG9iknePewY1/sIIqW4NIb3CDKv3L19TfX/Au///PqTufJ397l7fbqemt7rbW52dq67r3c9la+6zy9Rx+75AtvXMSulvcqLQSFaulipib3TU5119ofUr97n8++T3sUtOpgb0TNfwFsX+IY diff --git a/tvboxqq/tvboxqq/小虎斑/js/奇奇.js b/tvboxqq/tvboxqq/小虎斑/js/奇奇.js new file mode 100644 index 0000000..f6f9a21 --- /dev/null +++ b/tvboxqq/tvboxqq/小虎斑/js/奇奇.js @@ -0,0 +1,1404 @@ +var rule = { + title: '奇珍异兽[官]', + host: 'https://www.iqiyi.com', + homeUrl: '', + // detailUrl:'https://pcw-api.iqiyi.com/albums/album/avlistinfo?aid=fyid&size=2000&page=1', + detailUrl: 'https://pcw-api.iqiyi.com/video/video/videoinfowithuser/fyid?agent_type=1&authcookie=&subkey=fyid&subscribe=1', + searchUrl: 'https://search.video.iqiyi.com/o?if=html5&key=**&pageNum=fypage&pos=1&pageSize=24&site=iqiyi', + searchable: 2, + multi: 1, + filterable: 1, + filter: { + '1': [{ + 'key': 'mode', + 'name': '综合排序', + 'value': [{ + 'n': '全部', + 'v': '' + }, { + 'n': '热播榜', + 'v': 11 + }, { + 'n': '好评榜', + 'v': 8 + }, { + 'n': '新上线', + 'v': 4 + }] + }, { + 'key': 'year', + 'name': '全部年份', + 'value': [{ + 'n': '全部', + 'v': '' + }, { + "n": "2025", + "v": 2025 + }, { + "n": "2024", + "v": 2024 + }, { + 'n': '2023', + 'v': 2023 + }, { + 'n': '2022', + 'v': 2022 + }, { + 'n': '2021', + 'v': 2021 + }, { + 'n': '2020', + 'v': 2020 + }, { + 'n': '2019', + 'v': 2019 + }, { + 'n': '2018', + 'v': 2018 + }, { + 'n': '2017', + 'v': 2017 + }, { + 'n': '2016-2011', + 'v': '2011_2016' + }, { + 'n': '2010-2000', + 'v': '2000_2010' + }, { + 'n': '90年代', + 'v': '1990_1999' + }, { + 'n': '80年代', + 'v': '1980_1989' + }, { + 'n': '更早', + 'v': '1964_1979' + }] + }, { + 'key': 'is_purchase', + 'name': '全部资费', + 'value': [{ + 'n': '全部', + 'v': '' + }, { + 'n': '免费', + 'v': 0 + }, { + 'n': '会员', + 'v': 1 + }, { + 'n': '付费', + 'v': 2 + }] + }, { + 'key': 'three_category_id', + 'name': '地区', + 'value': [{ + 'n': '全部', + 'v': '' + }, { + 'n': '华语', + 'v': 1 + }, { + 'n': '香港地区', + 'v': 28997 + }, { + 'n': '美国', + 'v': 2 + }, { + 'n': '欧洲', + 'v': 3 + }, { + 'n': '韩国', + 'v': 4 + }, { + 'n': '日本', + 'v': 308 + }, { + 'n': '泰国', + 'v': 1115 + }, { + 'n': '印度', + 'v': 28999 + }, { + 'n': '其它', + 'v': 5 + }] + }, { + 'key': '18001', + 'name': '类型', + 'value': [{ + 'n': '全部', + 'v': '' + }, { + 'n': '喜剧', + 'v': 8 + }, { + 'n': '爱情', + 'v': 6 + }, { + 'n': '动作', + 'v': 11 + }, { + 'n': '枪战', + 'v': 131 + }, { + 'n': '犯罪', + 'v': 291 + }, { + 'n': '惊悚', + 'v': 128 + }, { + 'n': '恐怖', + 'v': 10 + }, { + 'n': '悬疑', + 'v': 289 + }, { + 'n': '动画', + 'v': 12 + }, { + 'n': '家庭', + 'v': 27356 + }, { + 'n': '奇幻', + 'v': 1284 + }, { + 'n': '魔幻', + 'v': 129 + }, { + 'n': '科幻', + 'v': 9 + }, { + 'n': '战争', + 'v': 7 + }, { + 'n': '青春', + 'v': 130 + }] + }, { + 'key': '27396', + 'name': '规格', + 'value': [{ + 'n': '全部', + 'v': '' + }, { + 'n': '巨制', + 'v': 27397 + }, { + 'n': '院线', + 'v': 27815 + }, { + 'n': '独播', + 'v': 30149 + }, { + 'n': '网络电影', + 'v': 27401 + }] + }], + '2': [{ + 'key': 'mode', + 'name': '综合排序', + 'value': [{ + 'n': '全部', + 'v': '' + }, { + 'n': '热播榜', + 'v': 11 + }, { + 'n': '好评榜', + 'v': 8 + }, { + 'n': '新上线', + 'v': 4 + }] + }, { + 'key': 'year', + 'name': '全部年份', + 'value': [{ + 'n': '全部', + 'v': '' + }, { + 'n': '2023', + 'v': 2023 + }, { + 'n': '2022', + 'v': 2022 + }, { + 'n': '2021', + 'v': 2021 + }, { + 'n': '2020', + 'v': 2020 + }, { + 'n': '2019', + 'v': 2019 + }, { + 'n': '2018', + 'v': 2018 + }, { + 'n': '2017', + 'v': 2017 + }, { + 'n': '2016-2011', + 'v': '2011_2016' + }, { + 'n': '2010-2000', + 'v': '2000_2010' + }, { + 'n': '90年代', + 'v': '1990_1999' + }, { + 'n': '80年代', + 'v': '1980_1989' + }, { + 'n': '更早', + 'v': '1964_1979' + }] + }, { + 'key': 'is_purchase', + 'name': '全部资费', + 'value': [{ + 'n': '全部', + 'v': '' + }, { + 'n': '免费', + 'v': 0 + }, { + 'n': '会员', + 'v': 1 + }, { + 'n': '付费', + 'v': 2 + }] + }, { + 'key': 'three_category_id', + 'name': '地区', + 'value': [{ + 'n': '全部', + 'v': '' + }, { + 'n': '内地', + 'v': 15 + }, { + 'n': '港剧', + 'v': 16 + }, { + 'n': '韩剧', + 'v': 17 + }, { + 'n': '美剧', + 'v': 18 + }, { + 'n': '日剧', + 'v': 309 + }, { + 'n': '泰剧', + 'v': 1114 + }, { + 'n': '台湾地区', + 'v': 1117 + }, { + 'n': '英剧', + 'v': 28916 + }, { + 'n': '其它', + 'v': 19 + }] + }, { + 'key': '18003', + 'name': '类型', + 'value': [{ + 'n': '全部', + 'v': '' + }, { + 'n': '自制', + 'v': 11992 + }, { + 'n': '古装', + 'v': 24 + }, { + 'n': '言情', + 'v': 20 + }, { + 'n': '武侠', + 'v': 23 + }, { + 'n': '偶像', + 'v': 30 + }, { + 'n': '家庭', + 'v': 1654 + }, { + 'n': '青春', + 'v': 1653 + }, { + 'n': '都市', + 'v': 24064 + }, { + 'n': '喜剧', + 'v': 135 + }, { + 'n': '战争', + 'v': 27916 + }, { + 'n': '军旅', + 'v': 1655 + }, { + 'n': '谍战', + 'v': 290 + }, { + 'n': '悬疑', + 'v': 32 + }, { + 'n': '罪案', + 'v': 149 + }, { + 'n': '穿越', + 'v': 148 + }, { + 'n': '宫廷', + 'v': 139 + }, { + 'n': '历史', + 'v': 21 + }, { + 'n': '神话', + 'v': 145 + }, { + 'n': '科幻', + 'v': 34 + }, { + 'n': '年代', + 'v': 27 + }, { + 'n': '农村', + 'v': 29 + }, { + 'n': '商战', + 'v': 140 + }, { + 'n': '剧情', + 'v': 24063 + }, { + 'n': '奇幻', + 'v': 27881 + }, { + 'n': '网剧', + 'v': 24065 + }, { + 'n': '竖短片', + 'v': 32839 + }] + }], + '3': [{ + 'key': 'mode', + 'name': '综合排序', + 'value': [{ + 'n': '全部', + 'v': '' + }, { + 'n': '热播榜', + 'v': 11 + }, { + 'n': '好评榜', + 'v': 8 + }, { + 'n': '新上线', + 'v': 4 + }] + }, { + 'key': 'year', + 'name': '全部年份', + 'value': [{ + 'n': '全部', + 'v': '' + }, { + 'n': '2023', + 'v': 2023 + }, { + 'n': '2022', + 'v': 2022 + }, { + 'n': '2021', + 'v': 2021 + }, { + 'n': '2020', + 'v': 2020 + }, { + 'n': '2019', + 'v': 2019 + }, { + 'n': '2018', + 'v': 2018 + }, { + 'n': '2017', + 'v': 2017 + }, { + 'n': '2016-2011', + 'v': '2011_2016' + }, { + 'n': '2010-2000', + 'v': '2000_2010' + }, { + 'n': '90年代', + 'v': '1990_1999' + }, { + 'n': '80年代', + 'v': '1980_1989' + }, { + 'n': '更早', + 'v': '1964_1979' + }] + }, { + 'key': 'is_purchase', + 'name': '全部资费', + 'value': [{ + 'n': '全部', + 'v': '' + }, { + 'n': '免费', + 'v': 0 + }, { + 'n': '会员', + 'v': 1 + }, { + 'n': '付费', + 'v': 2 + }] + }, { + 'key': 'three_category_id', + 'name': '地区', + 'value': [{ + 'n': '全部', + 'v': '' + }, { + 'n': '国内', + 'v': 20323 + }, { + 'n': '国外', + 'v': 20324 + }] + }, { + 'key': '18004', + 'name': '类型', + 'value': [{ + 'n': '全部', + 'v': '' + }, { + 'n': '人文', + 'v': 70 + }, { + 'n': '美食', + 'v': 33908 + }, { + 'n': '医疗', + 'v': 33924 + }, { + 'n': '自然', + 'v': 33933 + }, { + 'n': '萌宠', + 'v': 33945 + }, { + 'n': '财经', + 'v': 33953 + }, { + 'n': '罪案', + 'v': 33960 + }, { + 'n': '竞技', + 'v': 33967 + }, { + 'n': '灾难', + 'v': 33974 + }, { + 'n': '军事', + 'v': 72 + }, { + 'n': '历史', + 'v': 74 + }, { + 'n': '探险', + 'v': 73 + }, { + 'n': '社会', + 'v': 71 + }, { + 'n': '科技', + 'v': 28119 + }, { + 'n': '旅游', + 'v': 310 + }] + }, { + 'key': '28467', + 'name': '出品方', + 'value': [{ + 'n': '全部', + 'v': '' + }, { + 'n': 'BBC', + 'v': 28468 + }, { + 'n': '美国历史频道', + 'v': 28470 + }, { + 'n': '探索频道', + 'v': 28471 + }, { + 'n': '央视记录', + 'v': 28472 + }, { + 'n': '北京纪实频道', + 'v': 28473 + }, { + 'n': '上海纪实频道', + 'v': 28474 + }, { + 'n': '朗思文化', + 'v': 28476 + }, { + 'n': 'CNEX', + 'v': 28477 + }, { + 'n': '五星传奇', + 'v': 28478 + }, { + 'n': 'IMG', + 'v': 28479 + }, { + 'n': 'NHK', + 'v': 28480 + }, { + 'n': '爱奇艺出品', + 'v': 31283 + }, { + 'n': 'Netflix', + 'v': 31286 + }] + }, { + 'key': '29076', + 'name': '片种', + 'value': [{ + 'n': '全部', + 'v': '' + }, { + 'n': '纪录电影', + 'v': 29077 + }, { + 'n': '系列纪录片', + 'v': 29078 + }, { + 'n': '网络纪录片', + 'v': 29082 + }, { + 'n': '纪实栏目', + 'v': 29083 + }] + }, { + 'key': '31294', + 'name': '时长', + 'value': [{ + 'n': '全部', + 'v': '' + }, { + 'n': '微纪录', + 'v': 29079 + }, { + 'n': '长纪录', + 'v': 29080 + }, { + 'n': '短纪录', + 'v': 29081 + }] + }], + '4': [{ + 'key': 'mode', + 'name': '综合排序', + 'value': [{ + 'n': '全部', + 'v': '' + }, { + 'n': '热播榜', + 'v': 11 + }, { + 'n': '好评榜', + 'v': 8 + }, { + 'n': '新上线', + 'v': 4 + }] + }, { + 'key': 'year', + 'name': '全部年份', + 'value': [{ + 'n': '全部', + 'v': '' + }, { + 'n': '2023', + 'v': 2023 + }, { + 'n': '2022', + 'v': 2022 + }, { + 'n': '2021', + 'v': 2021 + }, { + 'n': '2020', + 'v': 2020 + }, { + 'n': '2019', + 'v': 2019 + }, { + 'n': '2018', + 'v': 2018 + }, { + 'n': '2017', + 'v': 2017 + }, { + 'n': '2016-2011', + 'v': '2011_2016' + }, { + 'n': '2010-2000', + 'v': '2000_2010' + }, { + 'n': '90年代', + 'v': '1990_1999' + }, { + 'n': '80年代', + 'v': '1980_1989' + }, { + 'n': '更早', + 'v': '1964_1979' + }] + }, { + 'key': 'is_purchase', + 'name': '全部资费', + 'value': [{ + 'n': '全部', + 'v': '' + }, { + 'n': '免费', + 'v': 0 + }, { + 'n': '会员', + 'v': 1 + }, { + 'n': '付费', + 'v': 2 + }] + }, { + 'key': 'three_category_id', + 'name': '地区', + 'value': [{ + 'n': '全部', + 'v': '' + }, { + 'n': '中国大陆', + 'v': 37 + }, { + 'n': '日本', + 'v': 38 + }, { + 'n': '韩国', + 'v': 1106 + }, { + 'n': '欧美', + 'v': 30218 + }, { + 'n': '其它', + 'v': 40 + }] + }, { + 'key': '30219', + 'name': '版本', + 'value': [{ + 'n': '全部', + 'v': '' + }, { + 'n': '动画', + 'v': 30220 + }, { + 'n': '特摄', + 'v': 30223 + }, { + 'n': '布袋戏', + 'v': 30224 + }, { + 'n': '特别篇', + 'v': 32782 + }, { + 'n': '动态漫画', + 'v': 32783 + }, { + 'n': '动画电影', + 'v': 32784 + }, { + 'n': '竖版视频', + 'v': 32785 + }, { + 'n': '轻动画', + 'v': 33482 + }, { + 'n': '短剧', + 'v': 33483 + }] + }, { + 'key': '30225', + 'name': '风格', + 'value': [{ + 'n': '全部', + 'v': '' + }, { + 'n': '搞笑', + 'v': 30230 + }, { + 'n': '热血', + 'v': 30232 + }, { + 'n': '催泪', + 'v': 30233 + }, { + 'n': '治愈', + 'v': 30234 + }, { + 'n': '励志', + 'v': 30237 + }, { + 'n': '机战', + 'v': 30241 + }, { + 'n': '恋爱', + 'v': 30243 + }, { + 'n': '科幻', + 'v': 30245 + }, { + 'n': '奇幻', + 'v': 30247 + }, { + 'n': '推理', + 'v': 30248 + }, { + 'n': '校园', + 'v': 30249 + }, { + 'n': '日常', + 'v': 30252 + }, { + 'n': '历史', + 'v': 30254 + }, { + 'n': '美食', + 'v': 30255 + }, { + 'n': '职场', + 'v': 30256 + }, { + 'n': '偶像', + 'v': 30258 + }, { + 'n': '泡面', + 'v': 30265 + }, { + 'n': '冒险', + 'v': 30267 + }, { + 'n': '竞技', + 'v': 30268 + }, { + 'n': '合家欢', + 'v': 30270 + }, { + 'n': '武侠', + 'v': 32792 + }, { + 'n': '玄幻', + 'v': 32793 + }] + }, { + 'key': '32795', + 'name': '新类型', + 'value': [{ + 'n': '全部', + 'v': '' + }, { + 'n': '轻小说改编', + 'v': 32796 + }, { + 'n': '漫画改编', + 'v': 32797 + }, { + 'n': '游戏改编', + 'v': 32798 + }, { + 'n': '原创', + 'v': 32799 + }] + }], + '6': [{ + 'key': 'mode', + 'name': '综合排序', + 'value': [{ + 'n': '全部', + 'v': '' + }, { + 'n': '热播榜', + 'v': 11 + }, { + 'n': '好评榜', + 'v': 8 + }, { + 'n': '新上线', + 'v': 4 + }] + }, { + 'key': 'year', + 'name': '全部年份', + 'value': [{ + 'n': '全部', + 'v': '' + }, { + 'n': '2023', + 'v': 2023 + }, { + 'n': '2022', + 'v': 2022 + }, { + 'n': '2021', + 'v': 2021 + }, { + 'n': '2020', + 'v': 2020 + }, { + 'n': '2019', + 'v': 2019 + }, { + 'n': '2018', + 'v': 2018 + }, { + 'n': '2017', + 'v': 2017 + }, { + 'n': '2016-2011', + 'v': '2011_2016' + }, { + 'n': '2010-2000', + 'v': '2000_2010' + }, { + 'n': '90年代', + 'v': '1990_1999' + }, { + 'n': '80年代', + 'v': '1980_1989' + }, { + 'n': '更早', + 'v': '1964_1979' + }] + }, { + 'key': 'is_purchase', + 'name': '全部资费', + 'value': [{ + 'n': '全部', + 'v': '' + }, { + 'n': '免费', + 'v': 0 + }, { + 'n': '会员', + 'v': 1 + }, { + 'n': '付费', + 'v': 2 + }] + }, { + 'key': 'three_category_id', + 'name': '地区', + 'value': [{ + 'n': '全部', + 'v': '' + }, { + 'n': '内地', + 'v': 151 + }, { + 'n': '港台', + 'v': 152 + }, { + 'n': '韩国', + 'v': 33306 + }, { + 'n': '欧美', + 'v': 154 + }, { + 'n': '其它', + 'v': 1113 + }] + }, { + 'key': '18014', + 'name': '类型', + 'value': [{ + 'n': '全部', + 'v': '' + }, { + 'n': '播报', + 'v': 155 + }, { + 'n': '访谈', + 'v': 156 + }, { + 'n': '游戏', + 'v': 158 + }, { + 'n': '晚会', + 'v': 292 + }, { + 'n': '曲艺', + 'v': 293 + }, { + 'n': '脱口秀', + 'v': 2118 + }, { + 'n': '真人秀', + 'v': 2224 + }, { + 'n': '竞技', + 'v': 30278 + }, { + 'n': '爱奇艺出品', + 'v': 30279 + }, { + 'n': '竞演', + 'v': 33860 + }] + }, { + 'key': '33162', + 'name': '题材', + 'value': [{ + 'n': '全部', + 'v': '' + }, { + 'n': '音乐', + 'v': 33163 + }, { + 'n': '舞蹈', + 'v': 33172 + }, { + 'n': '文化', + 'v': 33173 + }, { + 'n': '美食', + 'v': 33182 + }, { + 'n': '伦理', + 'v': 33184 + }, { + 'n': '相亲', + 'v': 33193 + }, { + 'n': '纪实', + 'v': 33195 + }, { + 'n': '生活', + 'v': 33196 + }, { + 'n': '亲子', + 'v': 33197 + }, { + 'n': '少儿', + 'v': 33198 + }, { + 'n': '财经', + 'v': 33199 + }, { + 'n': '健康', + 'v': 33200 + }, { + 'n': '时尚', + 'v': 33203 + }, { + 'n': '旅游', + 'v': 33205 + }, { + 'n': '教育', + 'v': 33206 + }, { + 'n': '其它', + 'v': 33220 + }, { + 'n': '爱情', + 'v': 33316 + }, { + 'n': '搞笑', + 'v': 33317 + }, { + 'n': '益智', + 'v': 33318 + }, { + 'n': '职场', + 'v': 33319 + }, { + 'n': '语言', + 'v': 33530 + }, { + 'n': '辩论', + 'v': 33531 + }, { + 'n': '演讲', + 'v': 33843 + }] + }], + '5': [{ + 'key': 'mode', + 'name': '综合排序', + 'value': [{ + 'n': '全部', + 'v': '' + }, { + 'n': '热播榜', + 'v': 11 + }, { + 'n': '好评榜', + 'v': 8 + }, { + 'n': '新上线', + 'v': 4 + }] + }, { + 'key': 'year', + 'name': '全部年份', + 'value': [{ + 'n': '全部', + 'v': '' + }, { + 'n': '2023', + 'v': 2023 + }, { + 'n': '2022', + 'v': 2022 + }, { + 'n': '2021', + 'v': 2021 + }, { + 'n': '2020', + 'v': 2020 + }, { + 'n': '2019', + 'v': 2019 + }, { + 'n': '2018', + 'v': 2018 + }, { + 'n': '2017', + 'v': 2017 + }, { + 'n': '2016-2011', + 'v': '2011_2016' + }, { + 'n': '2010-2000', + 'v': '2000_2010' + }, { + 'n': '90年代', + 'v': '1990_1999' + }, { + 'n': '80年代', + 'v': '1980_1989' + }, { + 'n': '更早', + 'v': '1964_1979' + }] + }, { + 'key': 'is_purchase', + 'name': '全部资费', + 'value': [{ + 'n': '全部', + 'v': '' + }, { + 'n': '免费', + 'v': 0 + }, { + 'n': '会员', + 'v': 1 + }, { + 'n': '付费', + 'v': 2 + }] + }, { + 'key': 'three_category_id', + 'name': '地区', + 'value': [{ + 'n': '全部', + 'v': '' + }, { + 'n': '内地', + 'v': 221 + }, { + 'n': '港台', + 'v': 220 + }, { + 'n': '欧美', + 'v': 219 + }, { + 'n': '日韩', + 'v': 218 + }, { + 'n': '拉美', + 'v': 217 + }, { + 'n': '亚洲地区', + 'v': 216 + }, { + 'n': '非洲', + 'v': 215 + }] + }, { + 'key': '18009', + 'name': '语种', + 'value': [{ + 'n': '全部', + 'v': '' + }, { + 'n': '普通话', + 'v': 91 + }, { + 'n': '粤语', + 'v': 92 + }, { + 'n': '闽南语', + 'v': 93 + }, { + 'n': '英语', + 'v': 94 + }, { + 'n': '日语', + 'v': 95 + }, { + 'n': '韩语', + 'v': 96 + }, { + 'n': '其它', + 'v': 97 + }] + }, { + 'key': '23554', + 'name': '音乐类型', + 'value': [{ + 'n': '全部', + 'v': '' + }, { + 'n': '单曲MV', + 'v': 23556 + }, { + 'n': '单曲现场', + 'v': 23557 + }, { + 'n': '演唱会', + 'v': 23558 + }, { + 'n': '新闻', + 'v': 23559 + }, { + 'n': '访谈', + 'v': 23560 + }, { + 'n': '音乐记录', + 'v': 23561 + }, { + 'n': '音乐周边', + 'v': 23562 + }, { + 'n': '音乐节目', + 'v': 23563 + }, { + 'n': '影视原声', + 'v': 23564 + }, { + 'n': '音乐短片', + 'v': 23565 + }, { + 'n': '其他', + 'v': 23566 + }] + }], + '16': [{ + 'key': 'mode', + 'name': '综合排序', + 'value': [{ + 'n': '全部', + 'v': '' + }, { + 'n': '热播榜', + 'v': 11 + }, { + 'n': '好评榜', + 'v': 8 + }, { + 'n': '新上线', + 'v': 4 + }] + }, { + 'key': 'year', + 'name': '全部年份', + 'value': [{ + 'n': '全部', + 'v': '' + }, { + 'n': '2023', + 'v': 2023 + }, { + 'n': '2022', + 'v': 2022 + }, { + 'n': '2021', + 'v': 2021 + }, { + 'n': '2020', + 'v': 2020 + }, { + 'n': '2019', + 'v': 2019 + }, { + 'n': '2018', + 'v': 2018 + }, { + 'n': '2017', + 'v': 2017 + }, { + 'n': '2016-2011', + 'v': '2011_2016' + }, { + 'n': '2010-2000', + 'v': '2000_2010' + }, { + 'n': '90年代', + 'v': '1990_1999' + }, { + 'n': '80年代', + 'v': '1980_1989' + }, { + 'n': '更早', + 'v': '1964_1979' + }] + }, { + 'key': 'is_purchase', + 'name': '全部资费', + 'value': [{ + 'n': '全部', + 'v': '' + }, { + 'n': '免费', + 'v': 0 + }, { + 'n': '会员', + 'v': 1 + }, { + 'n': '付费', + 'v': 2 + }] + }, { + 'key': '18061', + 'name': '类型', + 'value': [{ + 'n': '全部', + 'v': '' + }, { + 'n': '喜剧', + 'v': 1296 + }, { + 'n': '爱情', + 'v': 1297 + }, { + 'n': '动作', + 'v': 1298 + }, { + 'n': '奇幻', + 'v': 1299 + }, { + 'n': '惊悚', + 'v': 1300 + }, { + 'n': '悬疑', + 'v': 1301 + }, { + 'n': '青春', + 'v': 1302 + }] + }] + }, + // url:'https://pcw-api.iqiyi.com/search/recommend/list?channel_id=fyclass&data_type=1&is_purchase=&mode=24&page_id=fypage&ret_num=48&three_category_id=', + url: 'https://pcw-api.iqiyi.com/search/recommend/list?channel_id=fyclass&data_type=1&page_id=fypage&ret_num=48', + filter_url: 'is_purchase={{fl.is_purchase}}&mode={{fl.mode}}&three_category_id={{fl.three_category_id}}&market_release_date_level={{fl.year}}', + // url:'https://pcw-api.iqiyi.com/search/video/videolists?channel_id=fyclass&pageNum=fypage&pageSize=24&data_type=1&site=iqiyi', + headers: { + 'User-Agent': 'MOBILE_UA' + }, + timeout: 5000, + class_name: '电影&电视剧&纪录片&动漫&综艺&音乐&网络电影', + class_url: '1&2&3&4&6&5&16', + limit: 20, + play_parse: true, + lazy: $js.toString(() => { + try { + let api = "http://127.0.0.1:9978/proxy?do=seachdanmu&go=getuserjx&url=" + input.split("?")[0]; + console.log(api); + let response = fetch(api, { + method: 'get', + headers: { + 'User-Agent': 'okhttp/3.14.9', + 'Content-Type': 'application/x-www-form-urlencoded' + } + }); + + let bata = JSON.parse(response); + log(bata) + if (bata.url.includes("http")) { + input = { + header: { + 'User-Agent': "" + }, + + parse: 0, + url: bata.url, + jx: 0, + danmaku: 'http://127.0.0.1:9978/proxy?do=danmu&url='+input.split("?")[0] + }; + }else { + input = { + header: { + 'User-Agent': "" + }, + parse: 0, + url: input.split("?")[0], + jx: 1, + danmaku: 'http://127.0.0.1:9978/proxy?do=danmu&url='+input.split("?")[0] + }; + } + } catch { + input = { + header: { + 'User-Agent': "" + }, + parse: 0, + url: input.split("?")[0], + jx: 1, + danmaku: 'http://127.0.0.1:9978/proxy?do=danmu&url='+input.split("?")[0] + }; + } + }), + // play_parse:true, + // 手动调用解析请求json的url,此lazy不方便 + // lazy:'js:input="https://cache.json.icu/home/api?type=ys&uid=292796&key=fnoryABDEFJNPQV269&url="+input.split("?")[0];log(input);let html=JSON.parse(request(input));log(html);input=html.url||input', + // 推荐:'.list_item;img&&alt;img&&src;a&&Text;a&&data-float', + // 一级:'json:.data.list;.name;.imageUrl;.latestOrder;.albumId', + 推荐: '', + // 推荐:'js:let d=[];fetch_params.headers["user-agent"]=PC_UA;pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd;let html=fetch(HOST,fetch_params);let lists=pdfa(html,".qy-mod-li");lists.forEach(function(it){try{let title=pdfh(it,"p.sub&&title");let desc=pdfh(it,".qy-mod-label&&Text");let pic_url=pd(it,"img&&src");d.push({title:title,desc:desc,img:pic_url})}catch(e){}});res=setResult(d);', + 一级: 'js:let d=[];if(MY_CATE==="16"){input=input.replace("channel_id=16","channel_id=1").split("three_category_id")[0];input+="three_category_id=27401"}else if(MY_CATE==="5"){input=input.replace("data_type=1","data_type=2")}let html=request(input);let json=JSON.parse(html);if(json.code==="A00003"){fetch_params.headers["user-agent"]=PC_UA;json=JSON.parse(fetch(input,fetch_params))}json.data.list.forEach(function(data){if(data.channelId===1){desc=data.hasOwnProperty("score")?data.score+"分\\t":""}else if(data.channelId===2||data.channelId===4){if(data.latestOrder===data.videoCount){desc=(data.hasOwnProperty("score")?data.score+"分\\t":"")+data.latestOrder+"集全"}else{if(data.videoCount){desc=(data.hasOwnProperty("score")?data.score+"分\\t":"")+data.latestOrder+"/"+data.videoCount+"集"}else{desc="更新至 "+data.latestOrder+"集"}}}else if(data.channelId===6){desc=data.period+"期"}else if(data.channelId===5){desc=data.focus}else{if(data.latestOrder){desc="更新至 第"+data.latestOrder+"期"}else if(data.period){desc=data.period}else{desc=data.focus}}url=MY_CATE+"$"+data.albumId;d.push({url:url,title:data.name,desc:desc,pic_url:data.imageUrl.replace(".jpg","_390_520.jpg?caplist=jpg,webp")})});setResult(d);', + // 一级:'js:let d=[];if(MY_CATE==="16"){input=input.replace("channel_id=16","channel_id=1").split("three_category_id")[0];input+="three_category_id=27401"}else if(MY_CATE==="5"){input=input.replace("data_type=1","data_type=2")}let html=fetch(input,fetch_params);let json=JSON.parse(html);if(json.code==="A00003"){fetch_params.headers["user-agent"]=PC_UA;json=JSON.parse(fetch(input,fetch_params))}json.data.list.forEach(function(data){if(data.channelId===1){desc=data.hasOwnProperty("score")?data.score+"分\\t":""}else if(data.channelId===2||data.channelId===4){if(data.latestOrder===data.videoCount){desc=(data.hasOwnProperty("score")?data.score+"分\\t":"")+data.latestOrder+"集全"}else{if(data.videoCount){desc=(data.hasOwnProperty("score")?data.score+"分\\t":"")+data.latestOrder+"/"+data.videoCount+"集"}else{desc="更新至 "+data.latestOrder+"集"}}}else if(data.channelId===6){desc=data.period+"期"}else if(data.channelId===5){desc=data.focus}else{if(data.latestOrder){desc="更新至 第"+data.latestOrder+"期"}else if(data.period){desc=data.period}else{desc=data.focus}}url=MY_CATE+"$"+data.albumId;d.push({url:url,title:data.name,desc:desc,pic_url:data.imageUrl.replace(".jpg","_390_520.jpg?caplist=jpg,webp")})});setResult(d);', + // 一级:'json:.data.list;.name;.imageUrl;.playUrl;.latestOrder', + // 二级:{is_json:1,"title":"data.title;data.moviecategory[0]+data.moviecategory[1]","img":"data.cdncover","desc":"data.area[0];data.director[0]","content":"data.description","tabs":"data.playlink_sites;data.playlinksdetail.#idv.quality","lists":"data.playlinksdetail.#idv.default_url"}, + // 二级:{is_json:1,"title":"data.name+data.subtitle;data.latestOrder","img":"data.imageUrl","desc":"data.categories;data.areas","content":"data.description","tabs":"data.name","lists":"data.playlinksdetail.#idv.default_url"}, + 二级: '', + 二级: 'js:let d=[];let html=request(input);let json=JSON.parse(html).data;VOD={vod_id:"",vod_url:input,vod_name:"",type_name:"",vod_actor:"",vod_year:"",vod_director:"",vod_area:"",vod_content:"",vod_remarks:"",vod_pic:""};VOD.vod_name=json.name;try{if(json.latestOrder){VOD.vod_remarks="类型: "+(json.categories[0].name||"")+"\\t"+(json.categories[1].name||"")+"\\t"+(json.categories[2].name||"")+"\\t"+"评分:"+(json.score||"")+"\\n更新至:第"+json.latestOrder+"集(期)/共"+json.videoCount+"集(期)"}else{VOD.vod_remarks="类型: "+(json.categories[0].name||"")+"\\t"+(json.categories[1].name||"")+"\\t"+(json.categories[2].name||"")+"\\t"+"评分:"+(json.score||"")+json.period}}catch(e){VOD.vod_remarks=json.subtitle}VOD.vod_area=(json.focus||"")+"\\n资费:"+(json.payMark===1?"VIP":"免费")+"\\n地区:"+(json.areas||"");let vsize="579_772";try{vsize=json.imageSize[12]}catch(e){}VOD.vod_pic=json.imageUrl.replace(".jpg","_"+vsize+".jpg?caplist=jpg,webp");VOD.type_name=json.categories.map(function(it){return it.name}).join(",");if(json.people.main_charactor){let vod_actors=[];json.people.main_charactor.forEach(function(it){vod_actors.push(it.name)});VOD.vod_actor=vod_actors.join(",")}VOD.vod_content=json.description;let playlists=[];if(json.channelId===1||json.channelId===5){playlists=[{playUrl:json.playUrl,imageUrl:json.imageUrl,shortTitle:json.shortTitle,focus:json.focus,period:json.period}]}else{if(json.channelId===6){let qs=json.period.split("-")[0];let listUrl="https://pcw-api.iqiyi.com/album/source/svlistinfo?cid=6&sourceid="+json.albumId+"&timelist="+qs;let playData=JSON.parse(request(listUrl)).data[qs];playData.forEach(function(it){playlists.push({playUrl:it.playUrl,imageUrl:it.imageUrl,shortTitle:it.shortTitle,focus:it.focus,period:it.period})})}else{let listUrl="https://pcw-api.iqiyi.com/albums/album/avlistinfo?aid="+json.albumId+"&size=200&page=1";let data=JSON.parse(request(listUrl)).data;let total=data.total;playlists=data.epsodelist;if(total>200){for(let i=2;i200){for(let i=2;i { + try { + let api = "http://127.0.0.1:9978/proxy?do=seachdanmu&go=getuserjx&url=" + input.split("?")[0]; + console.log(api); + let response = fetch(api, { + method: 'get', + headers: { + 'User-Agent': 'okhttp/3.14.9', + 'Content-Type': 'application/x-www-form-urlencoded' + } + }); + + let bata = JSON.parse(response); + log(bata) + if (bata.url.includes("http")) { + input = { + header: { + 'User-Agent': "" + }, + parse: 0, + url: bata.url, + jx: 0, + danmaku: 'http://127.0.0.1:9978/proxy?do=danmu&url='+input.split("?")[0] + }; + }else { + + input = { + header: { + 'User-Agent': "" + }, + parse: 0, + url: input.split("?")[0], + jx: 1, + danmaku: 'http://127.0.0.1:9978/proxy?do=danmu&url='+input.split("?")[0] + }; + } + } catch { + input = { + header: { + 'User-Agent': "" + }, + parse: 0, + url: input.split("?")[0], + jx: 1, + danmaku: 'http://127.0.0.1:9978/proxy?do=danmu&url='+input.split("?")[0] + }; + } + }), + 推荐: '.list_item;img&&alt;img&&src;a&&Text;a&&data-float', + 一级: '.list_item;img&&alt;img&&src;a&&Text;a&&data-float', + 二级: $js.toString(() => { + VOD = {}; + let d = []; + let video_list = []; + let video_lists = []; + let list = []; + let QZOutputJson; + let html = fetch(input, fetch_params); + let sourceId = /get_playsource/.test(input) ? input.match(/id=(\d*?)&/)[1] : input.split("cid=")[1]; + let cid = sourceId; + let detailUrl = "https://v.%71%71.com/detail/m/" + cid + ".html"; + log("详情页:" + detailUrl); + pdfh = jsp.pdfh; + pd = jsp.pd; + try { + let json = JSON.parse(html); + VOD = { + vod_url: input, + vod_name: json.c.title, + type_name: json.typ.join(","), + vod_actor: json.nam.join(","), + vod_year: json.c.year, + vod_content: json.c.description, + vod_remarks: json.rec, + vod_pic: urljoin2(input, json.c.pic) + } + } catch (e) { + log("解析片名海报等基础信息发生错误:" + e.message) + } + if (/get_playsource/.test(input)) { + eval(html); + let indexList = QZOutputJson.PlaylistItem.indexList; + indexList.forEach(function(it) { + let dataUrl = "https://s.video.qq.com/get_playsource?id=" + sourceId + "&plat=2&type=4&data_type=3&range=" + it + "&video_type=10&plname=qq&otype=json"; + eval(fetch(dataUrl, fetch_params)); + let vdata = QZOutputJson.PlaylistItem.videoPlayList; + vdata.forEach(function(item) { + d.push({ + title: item.title, + pic_url: item.pic, + desc: item.episode_number + "\t\t\t播放量:" + item.thirdLine, + url: item.playUrl + }) + }); + video_lists = video_lists.concat(vdata) + }) + } else { + let json = JSON.parse(html); + video_lists = json.c.video_ids; + let url = "https://v.qq.com/x/cover/" + sourceId + ".html"; + if (video_lists.length === 1) { + let vid = video_lists[0]; + url = "https://v.qq.com/x/cover/" + cid + "/" + vid + ".html"; + d.push({ + title: "在线播放", + url: url + }) + } else if (video_lists.length > 1) { + for (let i = 0; i < video_lists.length; i += 30) { + video_list.push(video_lists.slice(i, i + 30)) + } + video_list.forEach(function(it, idex) { + let o_url = "https://union.video.qq.com/fcgi-bin/data?otype=json&tid=1804&appid=20001238&appkey=6c03bbe9658448a4&union_platform=1&idlist=" + it.join(","); + let o_html = fetch(o_url, fetch_params); + eval(o_html); + QZOutputJson.results.forEach(function(it1) { + it1 = it1.fields; + let url = "https://v.qq.com/x/cover/" + cid + "/" + it1.vid + ".html"; + d.push({ + title: it1.title, + pic_url: it1.pic160x90.replace("/160", ""), + desc: it1.video_checkup_time, + url: url, + type: it1.category_map && it1.category_map.length > 1 ? it1.category_map[1] : "" + }) + }) + }) + } + } + let yg = d.filter(function(it) { + return it.type && it.type !== "正片" + }); + let zp = d.filter(function(it) { + return !(it.type && it.type !== "正片") + }); + VOD.vod_play_from = yg.length < 1 ? "qq" : "qq$$$qq 预告及花絮"; + VOD.vod_play_url = yg.length < 1 ? d.map(function(it) { + return it.title + "$" + it.url + }).join("#") : [zp, yg].map(function(it) { + return it.map(function(its) { + return its.title + "$" + its.url + }).join("#") + }).join("$$$"); + }), + 搜索: $js.toString(() => { + let d = []; + pdfa = jsp.pdfa; + pdfh = jsp.pdfh; + pd = jsp.pd; + let html = request(input); + let baseList = pdfa(html, "body&&.result_item_v"); + log(baseList.length); + baseList.forEach(function(it) { + let longText = pdfh(it, ".result_title&&a&&Text"); + let shortText = pdfh(it, ".type&&Text"); + let fromTag = pdfh(it, ".result_source&&Text"); + let score = pdfh(it, ".figure_info&&Text"); + let content = pdfh(it, ".desc_text&&Text"); + // let url = pdfh(it, ".result_title&&a&&href"); + let url = pdfh(it, "div&&r-data"); + // log(longText); + // log(shortText); + // log('url:'+url); + let img = pd(it, ".figure_pic&&src"); + url = "https://node.video.qq.com/x/api/float_vinfo2?cid=" + url.match(/.*\/(.*?)\.html/)[1]; + log(shortText + "|" + url); + if (fromTag.match(/腾讯/)) { + d.push({ + title: longText.split(shortText)[0], + img: img, + url: url, + content: content, + desc: shortText + " " + score + }) + } + }); + setResult(d); + }), + 搜索: $js.toString(() => { + let d = []; + let html = request(input); + let json = JSON.parse(html); + if (json.data.smartboxItemList.length > 0) { + let cid = json.data.smartboxItemList[0].basicDoc.id; + let url = 'https://node.video.qq.com/x/api/float_vinfo2?cid=' + cid; + let html1 = request(url); + let data = JSON.parse(html1); + + d.push({ + title: data.c.title, + img: data.c.pic, + url: url, + content: data.c.description, + desc: data.rec + }); + } + setResult(d); + }), + 搜索: $js.toString(() => { + let d = []; + let mame = (input.split("/")[3]); + let html = vod1(input.split("/")[3]); + let json = JSON.parse(html); + + let list =json.data.normalList.itemList; + console.log(json); + log(list[0].videoInfo.title); + list.forEach(function(it) { + try{ + if(it.doc.id.length>11){ + d.push({ + title: it.videoInfo.title, + img: it.videoInfo.imgUrl, + url: it.doc.id, + // content: "", + //desc: "data.rec" + }); + } + }catch{ + + } + + }); + let list2 =json.data.areaBoxList[0].itemList; + list2.forEach(function(it) { + try{ + if(it.doc.id.length>11 && it.videoInfo.title.match(mame) ){ + d.push({ + title: it.videoInfo.title, + img: it.videoInfo.imgUrl, + url: it.doc.id, + // content: "", + //desc: "data.rec" + }); + } + }catch{ + + } + + }); + setResult(d); + }) +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/小虎斑/js/茫茫.js b/tvboxqq/tvboxqq/小虎斑/js/茫茫.js new file mode 100644 index 0000000..6a87f32 --- /dev/null +++ b/tvboxqq/tvboxqq/小虎斑/js/茫茫.js @@ -0,0 +1,854 @@ +var rule = { + title: '百忙无果[官]', + host: 'https://pianku.api.%6d%67%74%76.com', + homeUrl: '', + // searchUrl: 'https://mobileso.bz.%6d%67%74%76.com/pc/search/v1?q=**&pn=fypage&pc=10', + // 新版接口搜索变成v2并且加了验证,蛋疼 + // searchUrl: 'https://mobileso.bz.mgtv.com/pc/search/v2?allowedRC=1&src=mgtv&did=cf03b959-6945-4cb6-bcb3-88762459354d×tamp=2024-06-21T15%3A52%3A55Z&signVersion=1&signNonce=8dae67a1fafc4bda984ec8deb47666ad&q=**&pn=fypage&pc=10&corr=1&_support=10000000&signature=4e27fddcd2a1a66d6c1764ed6b74bab7', + // 用手机的吧,搞不定这个 + searchUrl: 'https://mobileso.bz.%6d%67%74%76.com/msite/search/v2?q=**&pn=fypage&pc=10', + detailUrl: 'https://pcweb.api.mgtv.com/episode/list?page=1&size=50&video_id=fyid', + searchable: 2, + quickSearch: 0, + filterable: 1, + multi: 1, + // 分类链接fypage参数支持1个()表达式 + // https://www.mgtv.com/lib/3?lastp=list_index&kind=a1&year=all&chargeInfo=a1&sort=c2 + url: '/rider/list/pcweb/v3?platform=pcweb&channelId=fyclass&pn=fypage&pc=80&hudong=1&_support=10000000&kind=a1&area=a1', + filter_url: 'year={{fl.year or "all"}}&sort={{fl.sort or "all"}}&chargeInfo={{fl.chargeInfo or "all"}}', + headers: { + 'User-Agent': 'PC_UA' + }, + timeout: 5000, + class_name: '电视剧&电影&综艺&动漫&纪录片&教育&少儿', + class_url: '2&3&1&50&51&115&10', + filter: { + "1": [{ + "key": "chargeInfo", + "name": "付费类型", + "value": [{ + "n": "全部", + "v": "all" + }, { + "n": "免费", + "v": "b1" + }, { + "n": "vip", + "v": "b2" + }, { + "n": "VIP用券", + "v": "b3" + }, { + "n": "付费点播", + "v": "b4" + }] + }, { + "key": "sort", + "name": "排序", + "value": [{ + "n": "最新", + "v": "c1" + }, { + "n": "最热", + "v": "c2" + }, { + "n": "知乎高分", + "v": "c4" + }] + }, { + "key": "year", + "name": "年代", + "value": [{ + "n": "全部", + "v": "all" + }, { + "n": "2025", + "v": "2025" + }, { + "n": "2024", + "v": "2024" + }, { + "n": "2023", + "v": "2023" + }, { + "n": "2022", + "v": "2022" + }, { + "n": "2021", + "v": "2021" + }, { + "n": "2020", + "v": "2020" + }, { + "n": "2019", + "v": "2019" + }, { + "n": "2018", + "v": "2018" + }, { + "n": "2017", + "v": "2017" + }, { + "n": "2016", + "v": "2016" + }, { + "n": "2015", + "v": "2015" + }, { + "n": "2014", + "v": "2014" + }, { + "n": "2013", + "v": "2013" + }, { + "n": "2012", + "v": "2012" + }, { + "n": "2011", + "v": "2011" + }, { + "n": "2010", + "v": "2010" + }, { + "n": "2009", + "v": "2009" + }, { + "n": "2008", + "v": "2008" + }, { + "n": "2007", + "v": "2007" + }, { + "n": "2006", + "v": "2006" + }, { + "n": "2005", + "v": "2005" + }, { + "n": "2004", + "v": "2004" + }] + }], + "2": [{ + "key": "chargeInfo", + "name": "付费类型", + "value": [{ + "n": "全部", + "v": "all" + }, { + "n": "免费", + "v": "b1" + }, { + "n": "vip", + "v": "b2" + }, { + "n": "VIP用券", + "v": "b3" + }, { + "n": "付费点播", + "v": "b4" + }] + }, { + "key": "sort", + "name": "排序", + "value": [{ + "n": "最新", + "v": "c1" + }, { + "n": "最热", + "v": "c2" + }, { + "n": "知乎高分", + "v": "c4" + }] + }, { + "key": "year", + "name": "年代", + "value": [{ + "n": "全部", + "v": "all" + }, { + "n": "2025", + "v": "2025" + }, { + "n": "2024", + "v": "2024" + }, { + "n": "2023", + "v": "2023" + }, { + "n": "2022", + "v": "2022" + }, { + "n": "2021", + "v": "2021" + }, { + "n": "2020", + "v": "2020" + }, { + "n": "2019", + "v": "2019" + }, { + "n": "2018", + "v": "2018" + }, { + "n": "2017", + "v": "2017" + }, { + "n": "2016", + "v": "2016" + }, { + "n": "2015", + "v": "2015" + }, { + "n": "2014", + "v": "2014" + }, { + "n": "2013", + "v": "2013" + }, { + "n": "2012", + "v": "2012" + }, { + "n": "2011", + "v": "2011" + }, { + "n": "2010", + "v": "2010" + }, { + "n": "2009", + "v": "2009" + }, { + "n": "2008", + "v": "2008" + }, { + "n": "2007", + "v": "2007" + }, { + "n": "2006", + "v": "2006" + }, { + "n": "2005", + "v": "2005" + }, { + "n": "2004", + "v": "2004" + }] + }], + "3": [{ + "key": "chargeInfo", + "name": "付费类型", + "value": [{ + "n": "全部", + "v": "all" + }, { + "n": "免费", + "v": "b1" + }, { + "n": "vip", + "v": "b2" + }, { + "n": "VIP用券", + "v": "b3" + }, { + "n": "付费点播", + "v": "b4" + }] + }, { + "key": "sort", + "name": "排序", + "value": [{ + "n": "最新", + "v": "c1" + }, { + "n": "最热", + "v": "c2" + }, { + "n": "知乎高分", + "v": "c4" + }] + }, { + "key": "year", + "name": "年代", + "value": [{ + "n": "全部", + "v": "all" + }, { + "n": "2025", + "v": "2025" + }, { + "n": "2024", + "v": "2024" + }, { + "n": "2023", + "v": "2023" + }, { + "n": "2022", + "v": "2022" + }, { + "n": "2021", + "v": "2021" + }, { + "n": "2020", + "v": "2020" + }, { + "n": "2019", + "v": "2019" + }, { + "n": "2018", + "v": "2018" + }, { + "n": "2017", + "v": "2017" + }, { + "n": "2016", + "v": "2016" + }, { + "n": "2015", + "v": "2015" + }, { + "n": "2014", + "v": "2014" + }, { + "n": "2013", + "v": "2013" + }, { + "n": "2012", + "v": "2012" + }, { + "n": "2011", + "v": "2011" + }, { + "n": "2010", + "v": "2010" + }, { + "n": "2009", + "v": "2009" + }, { + "n": "2008", + "v": "2008" + }, { + "n": "2007", + "v": "2007" + }, { + "n": "2006", + "v": "2006" + }, { + "n": "2005", + "v": "2005" + }, { + "n": "2004", + "v": "2004" + }] + }], + "50": [{ + "key": "chargeInfo", + "name": "付费类型", + "value": [{ + "n": "全部", + "v": "all" + }, { + "n": "免费", + "v": "b1" + }, { + "n": "vip", + "v": "b2" + }, { + "n": "VIP用券", + "v": "b3" + }, { + "n": "付费点播", + "v": "b4" + }] + }, { + "key": "sort", + "name": "排序", + "value": [{ + "n": "最新", + "v": "c1" + }, { + "n": "最热", + "v": "c2" + }, { + "n": "知乎高分", + "v": "c4" + }] + }, { + "key": "year", + "name": "年代", + "value": [{ + "n": "全部", + "v": "all" + }, { + "n": "2025", + "v": "2025" + }, { + "n": "2024", + "v": "2024" + }, { + "n": "2023", + "v": "2023" + }, { + "n": "2022", + "v": "2022" + }, { + "n": "2021", + "v": "2021" + }, { + "n": "2020", + "v": "2020" + }, { + "n": "2019", + "v": "2019" + }, { + "n": "2018", + "v": "2018" + }, { + "n": "2017", + "v": "2017" + }, { + "n": "2016", + "v": "2016" + }, { + "n": "2015", + "v": "2015" + }, { + "n": "2014", + "v": "2014" + }, { + "n": "2013", + "v": "2013" + }, { + "n": "2012", + "v": "2012" + }, { + "n": "2011", + "v": "2011" + }, { + "n": "2010", + "v": "2010" + }, { + "n": "2009", + "v": "2009" + }, { + "n": "2008", + "v": "2008" + }, { + "n": "2007", + "v": "2007" + }, { + "n": "2006", + "v": "2006" + }, { + "n": "2005", + "v": "2005" + }, { + "n": "2004", + "v": "2004" + }] + }], + "51": [{ + "key": "chargeInfo", + "name": "付费类型", + "value": [{ + "n": "全部", + "v": "all" + }, { + "n": "免费", + "v": "b1" + }, { + "n": "vip", + "v": "b2" + }, { + "n": "VIP用券", + "v": "b3" + }, { + "n": "付费点播", + "v": "b4" + }] + }, { + "key": "sort", + "name": "排序", + "value": [{ + "n": "最新", + "v": "c1" + }, { + "n": "最热", + "v": "c2" + }, { + "n": "知乎高分", + "v": "c4" + }] + }, { + "key": "year", + "name": "年代", + "value": [{ + "n": "全部", + "v": "all" + }, { + "n": "2025", + "v": "2025" + }, { + "n": "2024", + "v": "2024" + }, { + "n": "2023", + "v": "2023" + }, { + "n": "2022", + "v": "2022" + }, { + "n": "2021", + "v": "2021" + }, { + "n": "2020", + "v": "2020" + }, { + "n": "2019", + "v": "2019" + }, { + "n": "2018", + "v": "2018" + }, { + "n": "2017", + "v": "2017" + }, { + "n": "2016", + "v": "2016" + }, { + "n": "2015", + "v": "2015" + }, { + "n": "2014", + "v": "2014" + }, { + "n": "2013", + "v": "2013" + }, { + "n": "2012", + "v": "2012" + }, { + "n": "2011", + "v": "2011" + }, { + "n": "2010", + "v": "2010" + }, { + "n": "2009", + "v": "2009" + }, { + "n": "2008", + "v": "2008" + }, { + "n": "2007", + "v": "2007" + }, { + "n": "2006", + "v": "2006" + }, { + "n": "2005", + "v": "2005" + }, { + "n": "2004", + "v": "2004" + }] + }], + "115": [{ + "key": "chargeInfo", + "name": "付费类型", + "value": [{ + "n": "全部", + "v": "all" + }, { + "n": "免费", + "v": "b1" + }, { + "n": "vip", + "v": "b2" + }, { + "n": "VIP用券", + "v": "b3" + }, { + "n": "付费点播", + "v": "b4" + }] + }, { + "key": "sort", + "name": "排序", + "value": [{ + "n": "最新", + "v": "c1" + }, { + "n": "最热", + "v": "c2" + }, { + "n": "知乎高分", + "v": "c4" + }] + }, { + "key": "year", + "name": "年代", + "value": [{ + "n": "全部", + "v": "all" + }, { + "n": "2025", + "v": "2025" + }, { + "n": "2024", + "v": "2024" + }, { + "n": "2023", + "v": "2023" + }, { + "n": "2022", + "v": "2022" + }, { + "n": "2021", + "v": "2021" + }, { + "n": "2020", + "v": "2020" + }, { + "n": "2019", + "v": "2019" + }, { + "n": "2018", + "v": "2018" + }, { + "n": "2017", + "v": "2017" + }, { + "n": "2016", + "v": "2016" + }, { + "n": "2015", + "v": "2015" + }, { + "n": "2014", + "v": "2014" + }, { + "n": "2013", + "v": "2013" + }, { + "n": "2012", + "v": "2012" + }, { + "n": "2011", + "v": "2011" + }, { + "n": "2010", + "v": "2010" + }, { + "n": "2009", + "v": "2009" + }, { + "n": "2008", + "v": "2008" + }, { + "n": "2007", + "v": "2007" + }, { + "n": "2006", + "v": "2006" + }, { + "n": "2005", + "v": "2005" + }, { + "n": "2004", + "v": "2004" + }] + }] + }, + limit: 20, + play_parse: true, + lazy: $js.toString(() => { + try { + let api = "http://127.0.0.1:9978/proxy?do=seachdanmu&go=getuserjx&url=" + input.split("?")[0]; + console.log(api); + let response = fetch(api, { + method: 'get', + headers: { + 'User-Agent': 'okhttp/3.14.9', + 'Content-Type': 'application/x-www-form-urlencoded' + } + }); + + let bata = JSON.parse(response); + log(bata) + if (bata.url.includes("http")) { + input = { + header: { + 'User-Agent': "" + }, + parse: 0, + url: bata.url, + jx: 0, + danmaku: 'http://127.0.0.1:9978/proxy?do=danmu&url='+input.split("?")[0] + }; + } else { + input = { + header: { + 'User-Agent': '' + }, + parse: 0, + url: input.split("?")[0], + jx: 1, + danmaku: 'http://127.0.0.1:9978/proxy?do=danmu&url='+input.split("?")[0] + }; + } + } catch { + input = { + header: { + 'User-Agent': '' + }, + parse: 0, + url: input.split("?")[0], + jx: 1, + danmaku: 'http://127.0.0.1:9978/proxy?do=danmu&url='+input.split("?")[0] + }; + } + }), + // 手动调用解析请求json的url,此lazy不方便 + // lazy:'js:print(input);fetch_params.headers["user-agent"]=MOBILE_UA;let html=request(input);let rurl=html.match(/window\\.open\\(\'(.*?)\',/)[1];rurl=urlDeal(rurl);input={parse:1,url:rurl};', + // 推荐:'.list_item;img&&alt;img&&src;a&&Text;a&&data-float', + 一级: 'json:data.hitDocs;title;img;updateInfo||rightCorner.text;playPartId', + // 一级:'json:data.hitDocs;title;img;updateInfo;playPartId', + 二级: $js.toString(() => { + fetch_params.headers.Referer = "https://www.mgtv.com"; + fetch_params.headers["User-Agent"] = MOBILE_UA; + pdfh = jsp.pdfh; + pdfa = jsp.pdfa; + pd = jsp.pd; + VOD = {}; + let d = []; + let html = request(input); + let json = JSON.parse(html); + let host = "https://www.mgtv.com"; + let ourl = json.data.list.length > 0 ? json.data.list[0].url : json.data.series[0].url; + if (!/^http/.test(ourl)) { + ourl = host + ourl + } + fetch_params.headers["User-Agent"] = MOBILE_UA; + html = request(ourl); + if (html.includes("window.location =")) { + print("开始获取ourl"); + ourl = pdfh(html, "meta[http-equiv=refresh]&&content").split("url=")[1]; + print("获取到ourl:" + ourl); + html = request(ourl) + } + try { + let details = pdfh(html, ".m-details&&Html").replace(/h1>/, "h6>").replace(/div/g, "br"); + print(details); + let actor = "", + director = "", + time = ""; + if (/播出时间/.test(details)) { + actor = pdfh(html, "p:eq(5)&&Text").substr(0, 25); + director = pdfh(html, "p:eq(4)&&Text"); + time = pdfh(html, "p:eq(3)&&Text") + } else { + actor = pdfh(html, "p:eq(4)&&Text").substr(0, 25); + director = pdfh(html, "p:eq(3)&&Text"); + time = "已完结" + } + let _img = pd(html, ".video-img&&img&&src"); + let JJ = pdfh(html, ".desc&&Text").split("简介:")[1]; + let _desc = time; + VOD.vod_name = pdfh(html, ".vt-txt&&Text"); + VOD.type_name = pdfh(html, "p:eq(0)&&Text").substr(0, 6); + VOD.vod_area = pdfh(html, "p:eq(1)&&Text"); + VOD.vod_actor = actor; + VOD.vod_director = director; + VOD.vod_remarks = _desc; + VOD.vod_pic = _img; + VOD.vod_content = JJ; + if (!VOD.vod_name) { + VOD.vod_name = VOD.type_name; + } + } catch (e) { + log("获取影片信息发生错误:" + e.message) + } + + function getRjpg(imgUrl, xs) { + xs = xs || 3; + let picSize = /jpg_/.test(imgUrl) ? imgUrl.split("jpg_")[1].split(".")[0] : false; + let rjpg = false; + if (picSize) { + let a = parseInt(picSize.split("x")[0]) * xs; + let b = parseInt(picSize.split("x")[1]) * xs; + rjpg = a + "x" + b + ".jpg" + } + let img = /jpg_/.test(imgUrl) && rjpg ? imgUrl.replace(imgUrl.split("jpg_")[1], rjpg) : imgUrl; + return img + } + + if (json.data.total === 1 && json.data.list.length === 1) { + let data = json.data.list[0]; + let url = "https://www.mgtv.com" + data.url; + d.push({ + title: data.t4, + desc: data.t2, + pic_url: getRjpg(data.img), + url: url + }) + } else if (json.data.list.length > 1) { + for (let i = 1; i <= json.data.total_page; i++) { + if (i > 1) { + json = JSON.parse(fetch(input.replace("page=1", "page=" + i), {})) + } + json.data.list.forEach(function(data) { + let url = "https://www.mgtv.com" + data.url; + if (data.isIntact == "1") { + d.push({ + title: data.t4, + desc: data.t2, + pic_url: getRjpg(data.img), + url: url + }) + } + }) + } + } else { + print(input + "暂无片源") + } + VOD.vod_play_from = "mgtv"; + VOD.vod_play_url = d.map(function(it) { + return it.title + "$" + it.url + }).join("#"); + setResult(d); + }), + + 搜索: $js.toString(() => { + fetch_params.headers.Referer = "https://www.mgtv.com"; + fetch_params.headers["User-Agent"] = MOBILE_UA; + let d = []; + let html = request(input); + let json = JSON.parse(html); + json.data.contents.forEach(function(data) { + if (data.type && data.type == 'media') { + let item = data.data[0]; + let desc = item.desc.join(','); + let fyclass = ''; + if (item.source === "imgo") { + let img = item.img ? item.img : ''; + try { + fyclass = item.rpt.match(/idx=(.*?)&/)[1] + '$'; + } catch (e) { + log(e.message); + fyclass = ''; + } + log(fyclass); + d.push({ + title: item.title.replace(/|<\/B>/g, ''), + img: img, + content: '', + desc: desc, + url: fyclass + item.url.match(/.*\/(.*?)\.html/)[1] + }) + } + } + }); + setResult(d); + }), +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/小虎斑/json/douban.json b/tvboxqq/tvboxqq/小虎斑/json/douban.json new file mode 100644 index 0000000..06ae5fa --- /dev/null +++ b/tvboxqq/tvboxqq/小虎斑/json/douban.json @@ -0,0 +1,794 @@ +{ + "hot_gaia": [ + { + "key": "sort", + "name": "排序", + "value": [ + { + "n": "热度", + "v": "recommend" + }, + { + "n": "最新", + "v": "time" + }, + { + "n": "评分", + "v": "rank" + } + ] + }, + { + "key": "area", + "name": "地区", + "value": [ + { + "n": "全部", + "v": "全部" + }, + { + "n": "华语", + "v": "华语" + }, + { + "n": "欧美", + "v": "欧美" + }, + { + "n": "韩国", + "v": "韩国" + }, + { + "n": "日本", + "v": "日本" + } + ] + } + ], + "tv_hot": [ + { + "key": "type", + "name": "分类", + "value": [ + { + "n": "综合", + "v": "tv_hot" + }, + { + "n": "国产剧", + "v": "tv_domestic" + }, + { + "n": "欧美剧", + "v": "tv_american" + }, + { + "n": "日剧", + "v": "tv_japanese" + }, + { + "n": "韩剧", + "v": "tv_korean" + }, + { + "n": "动画", + "v": "tv_animation" + } + ] + } + ], + "show_hot": [ + { + "key": "type", + "name": "分类", + "value": [ + { + "n": "综合", + "v": "show_hot" + }, + { + "n": "国内", + "v": "show_domestic" + }, + { + "n": "国外", + "v": "show_foreign" + } + ] + } + ], + "movie": [ + { + "key": "类型", + "name": "类型", + "value": [ + { + "n": "全部类型", + "v": "" + }, + { + "n": "喜剧", + "v": "喜剧" + }, + { + "n": "爱情", + "v": "爱情" + }, + { + "n": "动作", + "v": "动作" + }, + { + "n": "科幻", + "v": "科幻" + }, + { + "n": "动画", + "v": "动画" + }, + { + "n": "悬疑", + "v": "悬疑" + }, + { + "n": "犯罪", + "v": "犯罪" + }, + { + "n": "惊悚", + "v": "惊悚" + }, + { + "n": "冒险", + "v": "冒险" + }, + { + "n": "音乐", + "v": "音乐" + }, + { + "n": "历史", + "v": "历史" + }, + { + "n": "奇幻", + "v": "奇幻" + }, + { + "n": "恐怖", + "v": "恐怖" + }, + { + "n": "战争", + "v": "战争" + }, + { + "n": "传记", + "v": "传记" + }, + { + "n": "歌舞", + "v": "歌舞" + }, + { + "n": "武侠", + "v": "武侠" + }, + { + "n": "情色", + "v": "情色" + }, + { + "n": "灾难", + "v": "灾难" + }, + { + "n": "西部", + "v": "西部" + }, + { + "n": "纪录片", + "v": "纪录片" + }, + { + "n": "短片", + "v": "短片" + } + ] + }, + { + "key": "地区", + "name": "地区", + "value": [ + { + "n": "全部地区", + "v": "" + }, + { + "n": "华语", + "v": "华语" + }, + { + "n": "欧美", + "v": "欧美" + }, + { + "n": "韩国", + "v": "韩国" + }, + { + "n": "日本", + "v": "日本" + }, + { + "n": "中国大陆", + "v": "中国大陆" + }, + { + "n": "美国", + "v": "美国" + }, + { + "n": "中国香港", + "v": "中国香港" + }, + { + "n": "中国台湾", + "v": "中国台湾" + }, + { + "n": "英国", + "v": "英国" + }, + { + "n": "法国", + "v": "法国" + }, + { + "n": "德国", + "v": "德国" + }, + { + "n": "意大利", + "v": "意大利" + }, + { + "n": "西班牙", + "v": "西班牙" + }, + { + "n": "印度", + "v": "印度" + }, + { + "n": "泰国", + "v": "泰国" + }, + { + "n": "俄罗斯", + "v": "俄罗斯" + }, + { + "n": "加拿大", + "v": "加拿大" + }, + { + "n": "澳大利亚", + "v": "澳大利亚" + }, + { + "n": "爱尔兰", + "v": "爱尔兰" + }, + { + "n": "瑞典", + "v": "瑞典" + }, + { + "n": "巴西", + "v": "巴西" + }, + { + "n": "丹麦", + "v": "丹麦" + } + ] + }, + { + "key": "sort", + "name": "排序", + "value": [ + { + "n": "近期热度", + "v": "T" + }, + { + "n": "首映时间", + "v": "R" + }, + { + "n": "高分优先", + "v": "S" + } + ] + }, + { + "key": "年代", + "name": "年代", + "value": [ + { + "n": "全部年代", + "v": "" + }, + { + "n": "2023", + "v": "2023" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2010年代", + "v": "2010年代" + }, + { + "n": "2000年代", + "v": "2000年代" + }, + { + "n": "90年代", + "v": "90年代" + }, + { + "n": "80年代", + "v": "80年代" + }, + { + "n": "70年代", + "v": "70年代" + }, + { + "n": "60年代", + "v": "60年代" + }, + { + "n": "更早", + "v": "更早" + } + ] + } + ], + "tv": [ + { + "key": "类型", + "name": "类型", + "value": [ + { + "n": "不限", + "v": "" + }, + { + "n": "电视剧", + "v": "电视剧" + }, + { + "n": "综艺", + "v": "综艺" + } + ] + }, + { + "key": "电视剧形式", + "name": "电视剧形式", + "value": [ + { + "n": "不限", + "v": "" + }, + { + "n": "喜剧", + "v": "喜剧" + }, + { + "n": "爱情", + "v": "爱情" + }, + { + "n": "悬疑", + "v": "悬疑" + }, + { + "n": "动画", + "v": "动画" + }, + { + "n": "武侠", + "v": "武侠" + }, + { + "n": "古装", + "v": "古装" + }, + { + "n": "家庭", + "v": "家庭" + }, + { + "n": "犯罪", + "v": "犯罪" + }, + { + "n": "科幻", + "v": "科幻" + }, + { + "n": "恐怖", + "v": "恐怖" + }, + { + "n": "历史", + "v": "历史" + }, + { + "n": "战争", + "v": "战争" + }, + { + "n": "动作", + "v": "动作" + }, + { + "n": "冒险", + "v": "冒险" + }, + { + "n": "传记", + "v": "传记" + }, + { + "n": "剧情", + "v": "剧情" + }, + { + "n": "奇幻", + "v": "奇幻" + }, + { + "n": "惊悚", + "v": "惊悚" + }, + { + "n": "灾难", + "v": "灾难" + }, + { + "n": "歌舞", + "v": "歌舞" + }, + { + "n": "音乐", + "v": "音乐" + } + ] + }, + { + "key": "综艺形式", + "name": "综艺形式", + "value": [ + { + "n": "不限", + "v": "" + }, + { + "n": "真人秀", + "v": "真人秀" + }, + { + "n": "脱口秀", + "v": "脱口秀" + }, + { + "n": "音乐", + "v": "音乐" + }, + { + "n": "歌舞", + "v": "歌舞" + } + ] + }, + { + "key": "地区", + "name": "地区", + "value": [ + { + "n": "全部地区", + "v": "" + }, + { + "n": "华语", + "v": "华语" + }, + { + "n": "欧美", + "v": "欧美" + }, + { + "n": "国外", + "v": "国外" + }, + { + "n": "韩国", + "v": "韩国" + }, + { + "n": "日本", + "v": "日本" + }, + { + "n": "中国大陆", + "v": "中国大陆" + }, + { + "n": "中国香港", + "v": "中国香港" + }, + { + "n": "美国", + "v": "美国" + }, + { + "n": "英国", + "v": "英国" + }, + { + "n": "泰国", + "v": "泰国" + }, + { + "n": "中国台湾", + "v": "中国台湾" + }, + { + "n": "意大利", + "v": "意大利" + }, + { + "n": "法国", + "v": "法国" + }, + { + "n": "德国", + "v": "德国" + }, + { + "n": "西班牙", + "v": "西班牙" + }, + { + "n": "俄罗斯", + "v": "俄罗斯" + }, + { + "n": "瑞典", + "v": "瑞典" + }, + { + "n": "巴西", + "v": "巴西" + }, + { + "n": "丹麦", + "v": "丹麦" + }, + { + "n": "印度", + "v": "印度" + }, + { + "n": "加拿大", + "v": "加拿大" + }, + { + "n": "爱尔兰", + "v": "爱尔兰" + }, + { + "n": "澳大利亚", + "v": "澳大利亚" + } + ] + }, + { + "key": "sort", + "name": "排序", + "value": [ + { + "n": "近期热度", + "v": "T" + }, + { + "n": "首播时间", + "v": "R" + }, + { + "n": "高分优先", + "v": "S" + } + ] + }, + { + "key": "年代", + "name": "年代", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "2023", + "v": "2023" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2010年代", + "v": "2010年代" + }, + { + "n": "2000年代", + "v": "2000年代" + }, + { + "n": "90年代", + "v": "90年代" + }, + { + "n": "80年代", + "v": "80年代" + }, + { + "n": "70年代", + "v": "70年代" + }, + { + "n": "60年代", + "v": "60年代" + }, + { + "n": "更早", + "v": "更早" + } + ] + }, + { + "key": "平台", + "name": "平台", + "value": [ + { + "n": "全部", + "v": "" + }, + { + "n": "腾讯视频", + "v": "腾讯视频" + }, + { + "n": "爱奇艺", + "v": "爱奇艺" + }, + { + "n": "优酷", + "v": "优酷" + }, + { + "n": "湖南卫视", + "v": "湖南卫视" + }, + { + "n": "Netflix", + "v": "Netflix" + }, + { + "n": "HBO", + "v": "HBO" + }, + { + "n": "BBC", + "v": "BBC" + }, + { + "n": "NHK", + "v": "NHK" + }, + { + "n": "CBS", + "v": "CBS" + }, + { + "n": "NBC", + "v": "NBC" + }, + { + "n": "tvN", + "v": "tvN" + } + ] + } + ], + "rank_list_movie": [ + { + "key": "榜单", + "name": "榜单", + "value": [ + { + "n": "实时热门电影", + "v": "movie_real_time_hotest" + }, + { + "n": "一周口碑电影榜", + "v": "movie_weekly_best" + }, + { + "n": "豆瓣电影Top250", + "v": "movie_top250" + } + ] + } + ], + "rank_list_tv": [ + { + "key": "榜单", + "name": "榜单", + "value": [ + { + "n": "实时热门电视", + "v": "tv_real_time_hotest" + }, + { + "n": "华语口碑剧集榜", + "v": "tv_chinese_best_weekly" + }, + { + "n": "全球口碑剧集榜", + "v": "tv_global_best_weekly" + }, + { + "n": "国内口碑综艺榜", + "v": "show_chinese_best_weekly" + }, + { + "n": "国外口碑综艺榜", + "v": "show_global_best_weekly" + } + ] + } + ] +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/小虎斑/json/七点影视.json b/tvboxqq/tvboxqq/小虎斑/json/七点影视.json new file mode 100644 index 0000000..f0bf629 --- /dev/null +++ b/tvboxqq/tvboxqq/小虎斑/json/七点影视.json @@ -0,0 +1,7 @@ +{ + "简介": "+pt-10 pb-10\" style=*>&&

    ", + "图片": "data-original=\"&&\"[替换:amp;>>空]", + "线路数组": "#ewave-playlist-&&", + "分类url": "https://www.7.movie/vodshow/{cateId}-{area}--{class}-----{catePg}---{year}.html", + "分类": "短剧$24#电视剧$21#电影$20#动漫$22#综艺$23" +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/小虎斑/json/三九影视.json b/tvboxqq/tvboxqq/小虎斑/json/三九影视.json new file mode 100644 index 0000000..d684645 --- /dev/null +++ b/tvboxqq/tvboxqq/小虎斑/json/三九影视.json @@ -0,0 +1,5 @@ +{ + "简介": "+detail-content\" style=*>&&", + "分类url": "https://www.539539.xyz/index.php/vod/show/area/{area}/class/{class}/id/{cateId}/page/{catePg}/year/{year}.html", + "分类": "短剧$25#电视剧$2#电影$1#动漫$4#综艺$3" +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/小虎斑/json/三四影视.json b/tvboxqq/tvboxqq/小虎斑/json/三四影视.json new file mode 100644 index 0000000..ebc8d96 --- /dev/null +++ b/tvboxqq/tvboxqq/小虎斑/json/三四影视.json @@ -0,0 +1,5 @@ +{ + "简介": "+col-pd\">&&

    ", + "分类url": "https://ikan234.com/show/{cateId}-{area}--{class}-----{catePg}---{year}.html", + "分类": "短剧$5#电视剧$2#电影$1#动漫$4#综艺$3" +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/小虎斑/json/可可影视.json b/tvboxqq/tvboxqq/小虎斑/json/可可影视.json new file mode 100644 index 0000000..5d7c98f --- /dev/null +++ b/tvboxqq/tvboxqq/小虎斑/json/可可影视.json @@ -0,0 +1,8 @@ +{ + "简介": "detail-content\" style=*>&&", + "数组": "stui-vodlist__box\">&&", + "副标题": "pic-text text-right\">&&", + "播放列表": "", + "分类url": "https://www.kmxibanyayu.com/vs/{cateId}-{area}--{class}-----{catePg}---{year}.html", + "分类": "短剧$duanju#电视剧$dianshiju#电影$dianying#动漫$dongman#综艺$zongyi" +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/小虎斑/json/樱花影视.json b/tvboxqq/tvboxqq/小虎斑/json/樱花影视.json new file mode 100644 index 0000000..2ca5775 --- /dev/null +++ b/tvboxqq/tvboxqq/小虎斑/json/樱花影视.json @@ -0,0 +1,5 @@ +{ + "线路标题": "

    &&

    ", + "分类url": "https://yinghuadm.fun/vodshow/{cateId}-{area}--{class}-----{catePg}---{year}.html", + "分类": "电影$1#剧集$2#综艺$3#动漫$4" +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/小虎斑/json/永乐影视.json b/tvboxqq/tvboxqq/小虎斑/json/永乐影视.json new file mode 100644 index 0000000..44f7706 --- /dev/null +++ b/tvboxqq/tvboxqq/小虎斑/json/永乐影视.json @@ -0,0 +1,7 @@ +{ + "请求头": "User-Agent$MOBILE_UA", + "编码": "UTF-8", + "分类": "电影$1#电视剧$2#综艺$3#动漫$4", + "类型": "动作片$6#喜剧片$7#爱情片$8#科幻片$9#奇幻片$10#恐怖片$11#剧情片$12#战争片$20#动画片$26#悬疑片$22#冒险片$23#犯罪片$24#惊悚片$45#歌舞片$46#灾难片$47#网络片$48||国产剧$13#港台剧$14#日剧$15#韩剧$33#欧美剧$16#泰剧$34#新马剧$35#其他剧$25||内地综艺$27#港台综艺$28#日本综艺$29#韩国综艺$36#欧美综艺$30#新马泰综艺$37#其他综艺$38||国产动漫$31#日本动漫$32#韩国动漫$39#港台动漫$40#新马泰动漫$41#欧美动漫$42#其他动漫$43", + "分类url": "https://www.ylys.tv/vodshow/{cateId}-{area}-{by}-{class}-{lang}-{letter}---{catePg}---{year}.html" +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/小虎斑/json/海纳影视.json b/tvboxqq/tvboxqq/小虎斑/json/海纳影视.json new file mode 100644 index 0000000..4b90fec --- /dev/null +++ b/tvboxqq/tvboxqq/小虎斑/json/海纳影视.json @@ -0,0 +1,6 @@ +{ + "简介": "简介:&&", + "数组": "row\">&&", + "分类url": "https://www.hainatv.net/index.php/vod/show/area/{area}/id/{cateId}/lang/{lang}/page/{catePg}/year/{year}.html", + "分类": "电影$1#电视剧$2#综艺$3#动漫$4#短剧$59" +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/小虎斑/json/短剧网.json b/tvboxqq/tvboxqq/小虎斑/json/短剧网.json new file mode 100644 index 0000000..1d5f5a7 --- /dev/null +++ b/tvboxqq/tvboxqq/小虎斑/json/短剧网.json @@ -0,0 +1,4 @@ +{ + "分类": "短剧$duanju#电影$dianying#电视剧$dianshiju#动漫$dongman#综艺$zongyi", + "分类url": "https://www.duanjuwang.cc/vodtype/{cateId}/page/{catePg}.html" +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/小虎斑/json/雪糕影视.json b/tvboxqq/tvboxqq/小虎斑/json/雪糕影视.json new file mode 100644 index 0000000..d90a276 --- /dev/null +++ b/tvboxqq/tvboxqq/小虎斑/json/雪糕影视.json @@ -0,0 +1,5 @@ +{ + "分类": "电影$1#剧集$2#综艺$3#动漫$4", + "类型": "动作片$1#喜剧片$2#爱情片$21#海外动漫$3#科幻片$4#恐怖片$5#剧情片$6#战争片$7#纪录片$8#其他$9", + "分类url": "https://www.xgitv.com/vshow/{cateId}-----------.html" +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/小虎斑/json/面包影视.json b/tvboxqq/tvboxqq/小虎斑/json/面包影视.json new file mode 100644 index 0000000..d943372 --- /dev/null +++ b/tvboxqq/tvboxqq/小虎斑/json/面包影视.json @@ -0,0 +1,7 @@ +{ + "请求头": "User-Agent$MOBILE_UA", + "编码": "UTF-8", + "分类url": "https://v.aiwule.com/vodshow/{cateId}-{area}-{by}-{class}-{lang}-{letter}---{catePg}---{year}.html", + "分类": "电影$20#电视剧$21#动漫$23#综艺$22#短剧$47", + "简介": "简介:&&" +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/小虎斑/json/骚火影视.json b/tvboxqq/tvboxqq/小虎斑/json/骚火影视.json new file mode 100644 index 0000000..7b4b5fd --- /dev/null +++ b/tvboxqq/tvboxqq/小虎斑/json/骚火影视.json @@ -0,0 +1,6 @@ +{ + "简介": "p_txt show_part\">&&

    ", + "副标题": "v_note\">&&", + "分类url": "https://saohuody.com/list/{cateId}-{catePg}.html", + "分类": "国产剧$12#港剧$13#台剧$14#日剧$15#韩剧$16#美剧$17#海外$18#泰剧$19#动作$5#喜剧$6#爱情$7#科幻$8#恐怖$9#剧情$10#战争$11#动画$33" +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/小虎斑/spider.jar b/tvboxqq/tvboxqq/小虎斑/spider.jar new file mode 100644 index 0000000..1750905 Binary files /dev/null and b/tvboxqq/tvboxqq/小虎斑/spider.jar differ diff --git a/tvboxqq/tvboxqq/小虎斑/txt/api.txt b/tvboxqq/tvboxqq/小虎斑/txt/api.txt new file mode 100644 index 0000000..8aa4a9d --- /dev/null +++ b/tvboxqq/tvboxqq/小虎斑/txt/api.txt @@ -0,0 +1 @@ +aQpuKZO+OwlAdPzo/A5wQ6juvRdKc70cmxz69JLXKe10vV/AZRaj3pkeP6u1WcUD \ No newline at end of file diff --git a/tvboxqq/tvboxqq/少儿频道/api.json b/tvboxqq/tvboxqq/少儿频道/api.json new file mode 100644 index 0000000..f846b69 --- /dev/null +++ b/tvboxqq/tvboxqq/少儿频道/api.json @@ -0,0 +1,1285 @@ +//资源全部免费,仅供测试交流,请勿内置传播与转卖;关注微信公众号:奇奇乐分享,发送“本地包”获取教程与更多资源! + +{ + "spider": "./spider.jar", + "lives": [ + { + "name": "redirect", + "type": 0, + "url": "./lives/redirect.txt", + "epg": "" + } + ], + "sites": [ + { + "key": "csp_XYQHiker_兔小贝", + "name": "🐰兔小贝", + "type": 3, + "api": "csp_XYQHiker", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "./json/兔小贝.json", + "jar": "./jars/csp_XYQHiker_兔小贝.jar" + }, + { + "key": "csp_XYQHiker_兔小贝2", + "name": "🐰兔小贝2", + "type": 3, + "api": "csp_XYQHiker", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "./json/兔小贝2.json", + "jar": "./jars/csp_XYQHiker_兔小贝.jar" + }, + { + "key": "csp_XYQHiker_童趣", + "name": "🍭童趣", + "type": 3, + "api": "csp_XYQHiker", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "./json/播视童趣.json", + "jar": "./jars/csp_XYQHiker_兔小贝.jar" + }, + { + "key": "幼儿启蒙", + "name": "🌏幼儿启蒙", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 1, + "filterable": 1, + "ext": "./json/幼儿启蒙.json", + "jar": "" + }, + { + "key": "益智", + "name": "🌏益智┃动画", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 0, + "filterable": 0, + "ext": "./json/益智动画.json", + "jar": "" + }, + { + "key": "幼小衔接", + "name": "🌏幼小衔接", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 1, + "filterable": 1, + "ext": "./json/幼小衔接.json", + "jar": "" + }, + { + "key": "小灯塔", + "name": "🌏小灯塔", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 1, + "filterable": 1, + "ext": "./json/小灯塔百科.json", + "jar": "" + }, + { + "key": "小灯塔科学", + "name": "🌏小灯塔科学", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 1, + "filterable": 1, + "ext": "./json/小灯塔科学.json", + "jar": "" + }, + { + "key": "小灯塔地理", + "name": "🌏小灯塔地理", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 1, + "filterable": 1, + "ext": "./json/小灯塔地理.json", + "jar": "" + }, + { + "key": "小灯塔国学", + "name": "🌏小灯塔国学", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 1, + "filterable": 1, + "ext": "./json/小灯塔国学.json", + "jar": "" + }, + { + "key": "小灯塔人文", + "name": "🌏小灯塔人文", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 1, + "filterable": 1, + "ext": "./json/小灯塔人文.json", + "jar": "" + }, + { + "key": "儿童拼音", + "name": "🌏儿童拼音", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 1, + "filterable": 1, + "ext": "./json/儿童拼音.json", + "jar": "" + }, + { + "key": "儿童识字", + "name": "🌏儿童识字", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 1, + "filterable": 1, + "ext": "./json/儿童识字.json", + "jar": "" + }, + { + "key": "儿童英语", + "name": "🌏儿童英语", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 1, + "filterable": 1, + "ext": "./json/儿童英语.json", + "jar": "" + }, + { + "key": "儿童硬笔", + "name": "🌏儿童硬笔", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 1, + "filterable": 1, + "ext": "./json/儿童硬笔.json", + "jar": "" + }, + { + "key": "儿童思维", + "name": "🌏儿童思维", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 1, + "filterable": 1, + "ext": "./json/儿童思维.json", + "jar": "" + }, + { + "key": "儿童口才", + "name": "🌏儿童口才", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 1, + "filterable": 1, + "ext": "./json/儿童口才.json", + "jar": "" + }, + { + "key": "儿童编程", + "name": "🌏儿童编程", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 1, + "filterable": 1, + "ext": "./json/儿童编程.json", + "jar": "" + }, + { + "key": "儿童武术", + "name": "🌏儿童武术", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 1, + "filterable": 1, + "ext": "./json/儿童武术.json", + "jar": "" + }, + { + "key": "兴趣培养", + "name": "🌏兴趣培养", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 1, + "filterable": 1, + "ext": "./json/兴趣培养.json", + "jar": "" + }, + { + "key": "小学", + "name": "🌏小学教育", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 1, + "filterable": 1, + "ext": "./json/哔哩哔哩小学.json", + "jar": "" + }, + { + "key": "初中", + "name": "🌏初中教育", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 1, + "filterable": 1, + "ext": "./json/哔哩哔哩初中.json", + "jar": "" + }, + { + "key": "高中", + "name": "🌏高中教育", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 1, + "filterable": 1, + "ext": "./json/哔哩哔哩高中.json", + "jar": "" + }, + { + "key": "腾讯", + "name": "🎅🏻 | 少儿频道1", + "type": 3, + "api": "./api/drpy2.min.js", + "ext": "./js/腾讯.js" + }, + { + "key": "芒果", + "name": "👼🏻 | 少儿频道2", + "type": 3, + "api": "./api/drpy2.min.js", + "ext": "./js/忙果.js" + }, + { + "key": "奇艺", + "name": "🧚 | 少儿频道3", + "type": 3, + "api": "./api/drpy2.min.js", + "ext": "./js/异兽.js" + }, + { + "key": "优酷", + "name": "🧜‍| 少儿频道4", + "type": 3, + "api": "./api/drpy2.min.js", + "ext": "./js/优酷.js" + }, + { + "key": "py_cctv_1", + "name": "🅱️央视-少儿", + "type": 3, + "api": "py_cctv", + "searchable": 0, + "quickSearch": 0, + "filterable": 1, + "ext": "./py/py_cctv_1.py" + }, + { + "key": "ysjd", + "name": "🅱️央视┃经典", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 0, + "filterable": 0, + "ext": "./json/央视经典.json", + "jar": "" + }, + { + "key": "push_agent", + "name": "▶┃推送┃磁力", + "type": 3, + "api": "csp_Push", + "playerType": 1, + "searchable": 0, + "quickSearch": 0, + "filterable": 0, + "ext": "./txt/token.txt" + } + ], + "parses": [ + { + "name": "超解析", + "type": 3, + "url": "Demo" + }, + { + "name": "超级嗅探", + "type": 3, + "url": "Web" + }, + { + "name": "夜猫超解析", + "type": 1, + "url": "http://42.157.129.144:2323/CH/caihong_1993138546.php?url=", + "ext": { + "flag": [ + "qq", + "腾讯", + "企鹅", + "IQiYi", + "qiyi", + "爱奇艺", + "奇艺", + "youku", + "YouKu", + "优酷", + "sohu", + "SoHu", + "搜狐", + "letv", + "LeShi", + "乐视", + "imgo", + "mgtv", + "MangGuo", + "芒果", + "SMD", + "YuMi", + "luanzi", + "AliS", + "dxzy", + "bilibili", + "QEYSS", + "xigua", + "西瓜视频", + "腾讯视频", + "奇艺视频", + "优酷视频", + "芒果视频", + "乐视视频" + ], + "header": { + "User-Agent": "okhttp/3.12.11" + } + } + }, + { + "name": "夜猫超聚合", + "type": 1, + "url": "https://hd.396pay.cn/api/diy/?key=pFELnzclw6RdhxNlH6&url=", + "ext": { + "flag": [ + "qq", + "腾讯", + "企鹅", + "IQiYi", + "qiyi", + "爱奇艺", + "奇艺", + "youku", + "YouKu", + "优酷", + "sohu", + "SoHu", + "搜狐", + "letv", + "LeShi", + "乐视", + "imgo", + "mgtv", + "MangGuo", + "芒果", + "SLYS4k", + "BYGA", + "luanzi", + "AliS", + "dxzy", + "bilibili", + "QEYSS", + "xigua", + "西瓜视频", + "腾讯视频", + "奇艺视频", + "优酷视频", + "芒果视频", + "乐视视频" + ], + "header": { + "User-Agent": "Dart/2.18 (dart:io)" + } + } + }, + { + "name": "夜猫超解析2", + "type": 1, + "url": "https://jxjson.cf/json_balabala.php?url=", + "ext": { + "flag": [ + "qq", + "腾讯", + "企鹅", + "IQiYi", + "qiyi", + "爱奇艺", + "奇艺", + "youku", + "YouKu", + "优酷", + "sohu", + "SoHu", + "搜狐", + "letv", + "LeShi", + "乐视", + "imgo", + "mgtv", + "MangGuo", + "芒果", + "SLYS4k", + "BYGA", + "luanzi", + "AliS", + "dxzy", + "bilibili", + "QEYSS", + "xigua", + "西瓜视频", + "腾讯视频", + "奇艺视频", + "优酷视频", + "芒果视频", + "乐视视频" + ] + } + }, + { + "name": "夜猫全能解", + "type": 1, + "url": "https://api.tyun77.cn/api.php/provide/parseDicturl?url=", + "ext": { + "flag": [ + "YuMi", + "SMD", + "FYNB", + "qq", + "腾讯", + "qiyi", + "爱奇艺", + "奇艺", + "youku", + "优酷", + "mgtv", + "芒果", + "letv", + "乐视", + "pptv", + "PPTV", + "sohu", + "bilibili", + "哔哩哔哩", + "哔哩" + ], + "header": { + "User-Agent": "okhttp/4.1.0" + } + } + }, + { + "name": "高清解析", + "type": 1, + "url": "https://jxjson.cf/json.php?url=", + "ext": { + "flag": [ + "qq", + "腾讯", + "qiyi", + "爱奇艺", + "奇艺", + "youku", + "优酷", + "mgtv", + "芒果", + "letv", + "乐视", + "pptv", + "PPTV", + "sohu", + "bilibili", + "哔哩哔哩", + "哔哩" + ], + "header": { + "User-Agent": "okhttp/4.1.0" + } + } + }, + { + "name": "腾讯专用", + "type": "1", + "url": "https://api.8l2.cn/api/?key=5c9905a3dc0bef77647d1bb4a1d319ad&url=", + "ext": { + "flag": [ + "qq" + ] + } + }, + { + "name": "高清嗅探", + "type": 0, + "url": "https://jx.777jiexi.com/player/?next=https://www.woaimoon.com/vod/98780-9-2.html&url=", + "ext": { + "header": { + "User-Agent": "Mozilla/5.0" + } + } + }, + { + "name": "dy6g", + "type": 0, + "url": "https://vip.lianfaka.com/vip/?url=", + "ext": { + "flag": [ + "qq", + "腾讯", + "企鹅", + "IQiYi", + "qiyi", + "爱奇艺", + "奇艺", + "youku", + "YouKu", + "优酷", + "sohu", + "SoHu", + "搜狐", + "letv", + "LeShi", + "乐视", + "imgo", + "mgtv", + "MangGuo", + "芒果", + "SLYS4k", + "BYGA", + "luanzi", + "AliS", + "dxzy", + "bilibili", + "QEYSS", + "xigua", + "西瓜视频", + "腾讯视频", + "奇艺视频", + "优酷视频", + "芒果视频", + "乐视视频" + ], + "header": { + "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1", + "Referer": "https://www.dy6g.com/" + } + } + }, + { + "name": "777解析", + "type": 0, + "url": "https://jx.777jiexi.com/player/?url=" + }, + { + "name": "🐱三个柒", + "type": 0, + "url": " \nhttps://jx.jsonplayer.com/player/?url=", + "ext": { + "flag": [ + "qq", + "腾讯", + "qiyi", + "爱奇艺", + "奇艺", + "youku", + "优酷", + "sohu", + "搜狐", + "letv", + "乐视", + "mgtv", + "芒果", + "rx", + "ltnb", + "bilibili", + "1905", + "xigua" + ] + } + }, + { + "name": "🐱夜幕/", + "type": 0, + "url": "https://www.yemu.xyz/?url=", + "showType": 3 + }, + { + "name": "★左岸解析★", + "type": 0, + "url": "https://jx.bozrc.com:4433/player/?url=", + "ext": { + "flag": [ + "qq", + "腾讯", + "qiyi", + "爱奇艺", + "奇艺", + "youku", + "优酷", + "sohu", + "搜狐", + "letv", + "乐视", + "mgtv", + "芒果", + "rx", + "ltnb", + "bilibili", + "1905", + "xigua" + ] + } + }, + { + "name": "🐱0号", + "type": 0, + "url": "http://91fanli.top/m3u8/?url=", + "ext": { + "header": { + "User-Agent": "Mozilla/5.0" + } + } + }, + { + "name": "🐱2号", + "type": 0, + "url": "https://jx.bozrc.com:4433/player/?url=", + "ext": { + "header": { + "User-Agent": "Mozilla/5.0" + } + } + }, + { + "name": "🐱3号", + "type": 0, + "url": "https://jiexi.555jiexi.net:555/player/?url=", + "ext": { + "header": { + "User-Agent": "okhttp/4.1.0" + } + } + }, + { + "name": "🐱6号", + "type": 0, + "url": "https://www.yemu.xyz/?url=", + "ext": { + "header": { + "User-Agent": "Mozilla/5.0" + } + } + }, + { + "name": "🐱10号", + "type": 0, + "url": "https://jx.m3u8.tv/jiexi/?url=", + "ext": { + "header": { + "User-Agent": "Mozilla/5.0" + } + } + }, + { + "name": "🐱11号", + "type": 0, + "url": "https://z1.m1907.cn/?jx=", + "ext": { + "header": { + "User-Agent": "Mozilla/5.0" + } + } + }, + { + "name": "🐱15号", + "type": 0, + "url": "https://jx.aidouer.net/?url=", + "ext": { + "header": { + "User-Agent": "Mozilla/5.0" + } + } + }, + { + "name": "🐱18号", + "type": 0, + "url": "http://api.wpsseo.cn/?v=", + "ext": { + "header": { + "User-Agent": "Mozilla/5.0" + } + } + }, + { + "name": "🐱19号", + "type": 0, + "url": "https://jx.cainisi.cf/?v=", + "ext": { + "header": { + "User-Agent": "okhttp/4.1.0" + } + } + }, + { + "name": "🐱21号", + "type": 0, + "url": "https://jx.ppjbk.cn/?url=", + "ext": { + "header": { + "User-Agent": "Mozilla/5.0" + } + } + }, + { + "name": "🐱24号", + "type": 0, + "url": "https://player.maqq.cn/?url=", + "ext": { + "header": { + "User-Agent": "Mozilla/5.0" + } + } + }, + { + "name": "🐱29号", + "type": 0, + "url": "https://www.ckplayer.vip/jiexi/?url=", + "ext": { + "header": { + "User-Agent": "Mozilla/5.0" + } + } + }, + { + "name": "🐱30号", + "type": 0, + "url": "https://jx.kingtail.xyz/?url=", + "ext": { + "header": { + "User-Agent": "Mozilla/5.0" + } + } + }, + { + "name": "🐱32号", + "type": 0, + "url": "https://jx.xmflv.com/?url=", + "ext": { + "header": { + "User-Agent": "Mozilla/5.0" + } + } + }, + { + "name": "🐱33号", + "type": 0, + "url": "https://parse.123mingren.com/?url=", + "ext": { + "header": { + "User-Agent": "Mozilla/5.0" + } + } + }, + { + "name": "解析啦", + "type": 0, + "url": "https://api.jiexi.la/?url=", + "ext": { + "flag": [ + "qq", + "腾讯", + "qiyi", + "爱奇艺", + "奇艺", + "youku", + "优酷", + "sohu", + "搜狐", + "letv", + "乐视", + "mgtv", + "芒果", + "rx", + "ltnb", + "bilibili", + "1905", + "xigua" + ] + } + }, + { + "name": "17云解析", + "type": 0, + "url": "https://www.1717yun.com/jx/ty.php?url=", + "ext": { + "flag": [ + "qq", + "腾讯", + "qiyi", + "爱奇艺", + "奇艺", + "youku", + "优酷", + "sohu", + "搜狐", + "letv", + "乐视", + "mgtv", + "芒果", + "rx", + "ltnb", + "bilibili", + "1905", + "xigua" + ] + } + }, + { + "name": "酷享解析", + "type": 0, + "url": "https://jx.jsonplayer.com/player/?url=", + "ext": { + "flag": [ + "qq", + "腾讯", + "qiyi", + "爱奇艺", + "奇艺", + "youku", + "优酷", + "sohu", + "搜狐", + "letv", + "乐视", + "mgtv", + "芒果", + "CL4K", + "renrenmi", + "ltnb", + "bilibili", + "1905", + "xigua" + ] + } + }, + { + "name": "江湖解析", + "type": 0, + "url": "https://www.pangujiexi.com/pangu/?url=", + "ext": { + "flag": [ + "qq", + "qiyi", + "mgtv", + "youku", + "letv", + "sohu", + "xigua", + "1905", + "优播线路", + "腾播线路" + ], + "header": { + "User-Agent": "Dart/2.14 (dart:io)" + } + } + }, + { + "name": "🐱战狼", + "type": 0, + "url": "https://jx.zhanlangbu.com/?url", + "ext": { + "flag": [ + "qq", + "腾讯", + "qiyi", + "爱奇艺", + "奇艺", + "youku", + "优酷", + "mgtv", + "芒果", + "letv", + "乐视", + "pptv", + "PPTV", + "sohu", + "bilibili", + "哔哩哔哩", + "哔哩" + ], + "header": { + "User-Agent": "" + } + } + }, + { + "name": "🐱芒果腾讯专用", + "type": 0, + "url": "https://jx.xmflv.com/?url=", + "ext": { + "flag": [ + "qq", + "腾讯", + "qiyi", + "爱奇艺", + "奇艺", + "youku", + "优酷", + "mgtv", + "芒果", + "letv", + "乐视", + "pptv", + "PPTV", + "sohu", + "bilibili", + "哔哩哔哩", + "哔哩" + ], + "header": { + "User-Agent": "" + } + } + }, + { + "name": "🐱腾讯备用", + "type": 0, + "url": "https://go.yh0523.cn/y.cy?url=", + "ext": { + "flag": [ + "qq", + "腾讯", + "qiyi", + "爱奇艺", + "奇艺", + "youku", + "优酷", + "mgtv", + "芒果", + "letv", + "乐视", + "pptv", + "PPTV", + "sohu", + "bilibili", + "哔哩哔哩", + "哔哩" + ], + "header": { + "User-Agent": "" + } + } + }, + { + "name": "🐱手动点击json播", + "type": 0, + "url": "https://jx.jsonplayer.com/player/?=&url=", + "ext": { + "flag": [ + "qq", + "腾讯", + "qiyi", + "爱奇艺", + "奇艺", + "youku", + "优酷", + "mgtv", + "芒果", + "letv", + "乐视", + "pptv", + "PPTV", + "sohu", + "bilibili", + "哔哩哔哩", + "哔哩" + ], + "header": { + "User-Agent": "" + } + } + }, + { + "name": "🐱手动点击诺讯", + "type": 0, + "url": "https://yun.nxflv.com/?url=", + "ext": { + "flag": [ + "qq", + "腾讯", + "qiyi", + "爱奇艺", + "奇艺", + "youku", + "优酷", + "mgtv", + "芒果", + "letv", + "乐视", + "pptv", + "PPTV", + "sohu", + "bilibili", + "哔哩哔哩", + "哔哩" + ], + "header": { + "User-Agent": "" + } + } + } + ], + "ijk": [ + { + "group": "软解码", + "options": [ + { + "category": 4, + "name": "opensles", + "value": "0" + }, + { + "category": 4, + "name": "overlay-format", + "value": "842225234" + }, + { + "category": 4, + "name": "framedrop", + "value": "1" + }, + { + "category": 4, + "name": "soundtouch", + "value": "1" + }, + { + "category": 4, + "name": "start-on-prepared", + "value": "1" + }, + { + "category": 1, + "name": "http-detect-range-support", + "value": "0" + }, + { + "category": 2, + "name": "skip_loop_filter", + "value": "48" + }, + { + "category": 4, + "name": "reconnect", + "value": "1" + }, + { + "category": 4, + "name": "enable-accurate-seek", + "value": "0" + }, + { + "category": 4, + "name": "mediacodec", + "value": "0" + }, + { + "category": 4, + "name": "mediacodec-auto-rotate", + "value": "0" + }, + { + "category": 4, + "name": "mediacodec-handle-resolution-change", + "value": "0" + }, + { + "category": 4, + "name": "mediacodec-hevc", + "value": "0" + }, + { + "category": 1, + "name": "dns_cache_timeout", + "value": "600000000" + } + ] + }, + { + "group": "硬解码", + "options": [ + { + "category": 4, + "name": "opensles", + "value": "0" + }, + { + "category": 4, + "name": "overlay-format", + "value": "842225234" + }, + { + "category": 4, + "name": "framedrop", + "value": "1" + }, + { + "category": 4, + "name": "soundtouch", + "value": "1" + }, + { + "category": 4, + "name": "start-on-prepared", + "value": "1" + }, + { + "category": 1, + "name": "http-detect-range-support", + "value": "0" + }, + { + "category": 1, + "name": "fflags", + "value": "fastseek" + }, + { + "category": 2, + "name": "skip_loop_filter", + "value": "48" + }, + { + "category": 4, + "name": "reconnect", + "value": "1" + }, + { + "category": 4, + "name": "enable-accurate-seek", + "value": "0" + }, + { + "category": 4, + "name": "mediacodec", + "value": "1" + }, + { + "category": 4, + "name": "mediacodec-auto-rotate", + "value": "1" + }, + { + "category": 4, + "name": "mediacodec-handle-resolution-change", + "value": "1" + }, + { + "category": 4, + "name": "mediacodec-hevc", + "value": "1" + }, + { + "category": 1, + "name": "dns_cache_timeout", + "value": "600000000" + } + ] + } + ], + "ads": [ + "https://lf1-cdn-tos.bytegoofy.com/obj/tos-cn-i-dy/455ccf9e8ae744378118e4bd289288dd", + "mimg.0c1q0l.cn", + "www.googletagmanager.com", + "www.google-analytics.com", + "wan.51img1.com", + "mc.usihnbcq.cn", + "mg.g1mm3d.cn", + "mscs.svaeuzh.cn", + "cnzz.hhttm.top", + "tp.vinuxhome.com", + "cnzz.mmstat.com", + "www.baihuillq.com", + "s23.cnzz.com", + "z3.cnzz.com", + "c.cnzz.com", + "stj.v1vo.top", + "z12.cnzz.com", + "img.mosflower.cn", + "tips.gamevvip.com", + "ehwe.yhdtns.com", + "xdn.cqqc3.com", + "www.jixunkyy.cn", + "sp.chemacid.cn", + "hm.baidu.com", + "s9.cnzz.com", + "z6.cnzz.com", + "um.cavuc.com", + "mav.mavuz.com", + "wofwk.aoidf3.com", + "z5.cnzz.com", + "xc.hubeijieshikj.cn", + "tj.tianwenhu.com", + "xg.gars57.cn", + "k.jinxiuzhilv.com", + "cdn.bootcss.com", + "ppl.xunzhuo123.com", + "xomk.jiangjunmh.top", + "img.xunzhuo123.com", + "z1.cnzz.com", + "s13.cnzz.com", + "xg.huataisangao.cn", + "z7.cnzz.com", + "xg.huataisangao.cn", + "z2.cnzz.com", + "s96.cnzz.com", + "q11.cnzz.com", + "thy.dacedsfa.cn", + "xg.whsbpw.cn", + "s19.cnzz.com", + "z8.cnzz.com", + "s4.cnzz.com", + "f5w.as12df.top", + "ae01.alicdn.com", + "www.92424.cn", + "k.wudejia.com", + "vivovip.mmszxc.top", + "qiu.xixiqiu.com", + "cdnjs.hnfenxun.com", + "cms.qdwght.com" + ] +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/少儿频道/api/drpy2.min.js b/tvboxqq/tvboxqq/少儿频道/api/drpy2.min.js new file mode 100644 index 0000000..0120aa4 --- /dev/null +++ b/tvboxqq/tvboxqq/少儿频道/api/drpy2.min.js @@ -0,0 +1 @@ +import cheerio from"assets://js/lib/cheerio.min.js";import"assets://js/lib/crypto-js.js";import 模板 from"./模板.js";import{gbkTool}from"./gbk.js";function init_test(){console.log("init_test_start");console.log("当前版本号:"+VERSION);console.log(RKEY);console.log(JSON.stringify(rule));console.log("init_test_end")}function pre(){if(typeof rule.预处理==="string"&&rule.预处理&&rule.预处理.trim()){let code=rule.预处理.trim();console.log("执行预处理代码:"+code);if(code.startsWith("js:")){code=code.replace("js:","")}try{eval(code)}catch(e){console.log("预处理执行失败:"+e.message)}}}let rule={};let vercode=typeof pdfl==="function"?"drpy2.1":"drpy2";const VERSION=vercode+" 3.9.41beta14 20230428";const MOBILE_UA="Mozilla/5.0 (Linux; Android 11; M2007J3SC Build/RKQ1.200826.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045714 Mobile Safari/537.36";const PC_UA="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36";const UA="Mozilla/5.0";const UC_UA="Mozilla/5.0 (Linux; U; Android 9; zh-CN; MI 9 Build/PKQ1.181121.001) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0.2987.108 UCBrowser/12.5.5.1035 Mobile Safari/537.36";const IOS_UA="Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1";const RULE_CK="cookie";const CATE_EXCLUDE="首页|留言|APP|下载|资讯|新闻|动态";const TAB_EXCLUDE="猜你|喜欢|下载|剧情|热播";const OCR_RETRY=3;const OCR_API="http://drpy.nokia.press:8028/ocr/drpy/text";if(typeof MY_URL==="undefined"){var MY_URL}var RKEY;var fetch;var print;var log;var rule_fetch_params;var fetch_params;var oheaders;var _pdfh;var _pdfa;var _pd;const DOM_CHECK_ATTR=/(url|src|href|-original|-src|-play|-url)$/;const NOADD_INDEX=/:eq|:lt|:gt|:first|:last|^body$|^#/;const URLJOIN_ATTR=/(url|src|href|-original|-src|-play|-url)$/;const SELECT_REGEX=/:eq|:lt|:gt|#/g;const SELECT_REGEX_A=/:eq|:lt|:gt/g;if(typeof Object.assign!="function"){Object.assign=function(){var target=arguments[0];for(var i=1;ithis.length){return false}else{return this.indexOf(search,start)!==-1}}}if(!Array.prototype.includes){Object.defineProperty(Array.prototype,"includes",{value:function(searchElement,fromIndex){if(this==null){throw new TypeError('"this" is null or not defined')}var o=Object(this);var len=o.length>>>0;if(len===0){return false}var n=fromIndex|0;var k=Math.max(n>=0?n:len-Math.abs(n),0);while(k=end){return lists}let first=lists[start];let second=lists[end];if(key){try{first=first[key];second=second[key]}catch(e){}}if(option&&typeof option==="function"){try{first=option(first);second=option(second)}catch(e){}}first+="";second+="";if(first.match(/(\d+)/)&&second.match(/(\d+)/)){let num1=Number(first.match(/(\d+)/)[1]);let num2=Number(second.match(/(\d+)/)[1]);if(num1>num2){lists.reverse()}}return lists}let VODS=[];let VOD={};let TABS=[];let LISTS=[];globalThis.encodeUrl=urlencode;globalThis.urlencode=urlencode;function urljoin(fromPath,nowPath){fromPath=fromPath||"";nowPath=nowPath||"";return joinUrl(fromPath,nowPath)}var urljoin2=urljoin;const defaultParser={pdfh:pdfh,pdfa:pdfa,pd:pd};function pdfh2(html,parse){let html2=html;try{if(typeof html!=="string"){html2=html.rr(html.ele).toString()}}catch(e){print("html对象转文本发生了错误:"+e.message)}let result=defaultParser.pdfh(html2,parse);let option=parse.includes("&&")?parse.split("&&").slice(-1)[0]:parse.split(" ").slice(-1)[0];if(/style/.test(option.toLowerCase())&&/url\(/.test(result)){try{result=result.match(/url\((.*?)\)/)[1]}catch(e){}}return result}function pdfa2(html,parse){let html2=html;try{if(typeof html!=="string"){html2=html.rr(html.ele).toString()}}catch(e){print("html对象转文本发生了错误:"+e.message)}return defaultParser.pdfa(html2,parse)}function pd2(html,parse,uri){let ret=pdfh2(html,parse);if(typeof uri==="undefined"||!uri){uri=""}if(DOM_CHECK_ATTR.test(parse)){if(/http/.test(ret)){ret=ret.substr(ret.indexOf("http"))}else{ret=urljoin(MY_URL,ret)}}return ret}const parseTags={jsp:{pdfh:pdfh2,pdfa:pdfa2,pd:pd2},json:{pdfh(html,parse){if(!parse||!parse.trim()){return""}if(typeof html==="string"){html=JSON.parse(html)}parse=parse.trim();if(!parse.startsWith("$.")){parse="$."+parse}parse=parse.split("||");for(let ps of parse){let ret=cheerio.jp(ps,html);if(Array.isArray(ret)){ret=ret[0]||""}else{ret=ret||""}if(ret&&typeof ret!=="string"){ret=ret.toString()}if(ret){return ret}}return""},pdfa(html,parse){if(!parse||!parse.trim()){return""}if(typeof html==="string"){html=JSON.parse(html)}parse=parse.trim();if(!parse.startsWith("$.")){parse="$."+parse}let ret=cheerio.jp(parse,html);if(Array.isArray(ret)&&Array.isArray(ret[0])&&ret.length===1){return ret[0]||[]}return ret||[]},pd(html,parse){let ret=parseTags.json.pdfh(html,parse);if(ret){return urljoin(MY_URL,ret)}return ret}},jq:{pdfh(html,parse){if(!html||!parse||!parse.trim()){return""}parse=parse.trim();let result=defaultParser.pdfh(html,parse);return result},pdfa(html,parse){if(!html||!parse||!parse.trim()){return[]}parse=parse.trim();let result=defaultParser.pdfa(html,parse);print(`pdfa解析${parse}=>${result.length}`);return result},pd(html,parse,base_url){if(!html||!parse||!parse.trim()){return""}parse=parse.trim();base_url=base_url||MY_URL;return defaultParser.pd(html,parse,base_url)}},getParse(p0){if(p0.startsWith("jsp:")){return this.jsp}else if(p0.startsWith("json:")){return this.json}else if(p0.startsWith("jq:")){return this.jq}else{return this.jq}}};const stringify=JSON.stringify;const jsp=parseTags.jsp;const jq=parseTags.jq;function readFile(filePath){filePath=filePath||"./uri.min.js";var fd=os.open(filePath);var buffer=new ArrayBuffer(1024);var len=os.read(fd,buffer,0,1024);console.log(len);let text=String.fromCharCode.apply(null,new Uint8Array(buffer));console.log(text);return text}function dealJson(html){try{html=html.trim();if(!(html.startsWith("{")&&html.endsWith("}")||html.startsWith("[")&&html.endsWith("]"))){html="{"+html.match(/.*?\{(.*)\}/m)[1]+"}"}}catch(e){}try{html=JSON.parse(html)}catch(e){}return html}var OcrApi={api:OCR_API,classification:function(img){let code="";try{log("通过drpy_ocr验证码接口过验证...");let html=request(OCR_API,{data:{img:img},headers:{"User-Agent":PC_UA},method:"POST"},true);code=html||""}catch(e){log(`OCR识别验证码发生错误:${e.message}`)}return code}};function verifyCode(url){let cnt=0;let host=getHome(url);let cookie="";while(cntit.toLowerCase()==="set-cookie");cookie=setCk?json[setCk].split(";")[0]:""}console.log("cookie:"+cookie);let img=json.body;let code=OcrApi.classification(img);console.log(`第${cnt+1}次验证码识别结果:${code}`);let submit_url=`${host}/index.php/ajax/verify_check?type=search&verify=${code}`;console.log(submit_url);let html=request(submit_url,{headers:{Cookie:cookie,"User-Agent":MOBILE_UA},method:"POST"});html=JSON.parse(html);if(html.msg==="ok"){console.log(`第${cnt+1}次验证码提交成功`);return cookie}else if(html.msg!=="ok"&&cnt+1>=OCR_RETRY){cookie=""}}catch(e){console.log(`第${cnt+1}次验证码提交失败:${e.message}`);if(cnt+1>=OCR_RETRY){cookie=""}}cnt+=1}return cookie}function setItem(k,v){local.set(RKEY,k,v);console.log(`规则${RKEY}设置${k} => ${v}`)}function getItem(k,v){return local.get(RKEY,k)||v}function clearItem(k){local.delete(RKEY,k)}function getHome(url){if(!url){return""}let tmp=url.split("//");url=tmp[0]+"//"+tmp[1].split("/")[0];try{url=decodeURIComponent(url)}catch(e){}return url}function buildUrl(url,obj){obj=obj||{};if(url.indexOf("?")<0){url+="?"}let param_list=[];let keys=Object.keys(obj);keys.forEach(it=>{param_list.push(it+"="+obj[it])});let prs=param_list.join("&");if(keys.length>0&&!url.endsWith("?")){url+="&"}url+=prs;return url}function require(url){eval(request(url))}function request(url,obj,ocr_flag){ocr_flag=ocr_flag||false;if(typeof obj==="undefined"||!obj||obj==={}){if(!fetch_params||!fetch_params.headers){let headers={"User-Agent":MOBILE_UA};if(rule.headers){Object.assign(headers,rule.headers)}if(!fetch_params){fetch_params={}}fetch_params.headers=headers}if(!fetch_params.headers.Referer){fetch_params.headers.Referer=getHome(url)}obj=fetch_params}else{let headers=obj.headers||{};let keys=Object.keys(headers).map(it=>it.toLowerCase());if(!keys.includes("user-agent")){headers["User-Agent"]=MOBILE_UA}if(!keys.includes("referer")){headers["Referer"]=getHome(url)}obj.headers=headers}if(rule.encoding&&rule.encoding!=="utf-8"&&!ocr_flag){if(!obj.headers.hasOwnProperty("Content-Type")&&!obj.headers.hasOwnProperty("content-type")){obj.headers["Content-Type"]="text/html; charset="+rule.encoding}}if(typeof obj.body!="undefined"&&obj.body&&typeof obj.body==="string"){if(!obj.headers.hasOwnProperty("Content-Type")&&!obj.headers.hasOwnProperty("content-type")){obj.headers["Content-Type"]="application/x-www-form-urlencoded; charset="+rule.encoding}}else if(typeof obj.body!="undefined"&&obj.body&&typeof obj.body==="object"){obj.data=obj.body;delete obj.body}if(!url){return obj.withHeaders?"{}":""}if(obj.toBase64){obj.buffer=2;delete obj.toBase64}console.log(JSON.stringify(obj.headers));console.log("request:"+url+`|method:${obj.method||"GET"}|body:${obj.body||""}`);let res=req(url,obj);let html=res.content||"";if(obj.withHeaders){let htmlWithHeaders=res.headers;htmlWithHeaders.body=html;return JSON.stringify(htmlWithHeaders)}else{return html}}function post(url,obj){obj.method="POST";return request(url,obj)}fetch=request;print=function(data){data=data||"";if(typeof data=="object"&&Object.keys(data).length>0){try{data=JSON.stringify(data);console.log(data)}catch(e){console.log(typeof data+":"+data.length);return}}else if(typeof data=="object"&&Object.keys(data).length<1){console.log("null object")}else{console.log(data)}};log=print;function checkHtml(html,url,obj){if(/\?btwaf=/.test(html)){let btwaf=html.match(/btwaf(.*?)"/)[1];url=url.split("#")[0]+"?btwaf"+btwaf;print("宝塔验证访问链接:"+url);html=request(url,obj)}return html}function getCode(url,obj){let html=request(url,obj);html=checkHtml(html,url,obj);return html}function getHtml(url){let obj={};if(rule.headers){obj.headers=rule.headers}let cookie=getItem(RULE_CK,"");if(cookie){if(obj.headers&&!Object.keys(obj.headers).map(it=>it.toLowerCase()).includes("cookie")){log("历史无cookie,新增过验证后的cookie");obj.headers["Cookie"]=cookie}else if(obj.headers&&obj.headers.cookie&&obj.headers.cookie!==cookie){obj.headers["Cookie"]=cookie;log("历史有小写过期的cookie,更新过验证后的cookie")}else if(obj.headers&&obj.headers.Cookie&&obj.headers.Cookie!==cookie){obj.headers["Cookie"]=cookie;log("历史有大写过期的cookie,更新过验证后的cookie")}else if(!obj.headers){obj.headers={Cookie:cookie};log("历史无headers,更新过验证后的含cookie的headers")}}let html=getCode(url,obj);return html}function homeParse(homeObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let classes=[];if(homeObj.class_name&&homeObj.class_url){let names=homeObj.class_name.split("&");let urls=homeObj.class_url.split("&");let cnt=Math.min(names.length,urls.length);for(let i=0;i=3){try{let html=getHtml(homeObj.MY_URL);if(html){homeHtmlCache=html;let list=_pdfa(html,p[0]);if(list&&list.length>0){list.forEach((it,idex)=>{try{let name=_pdfh(it,p[1]);if(homeObj.cate_exclude&&new RegExp(homeObj.cate_exclude).test(name)){return}let url=_pd(it,p[2]);if(p.length>3&&p[3]){let exp=new RegExp(p[3]);url=url.match(exp)[1]}classes.push({type_id:url.trim(),type_name:name.trim()})}catch(e){console.log(`分类列表定位第${idex}个元素正常报错:${e.message}`)}})}}}catch(e){console.log(e.message)}}}classes=classes.filter(it=>!homeObj.cate_exclude||!new RegExp(homeObj.cate_exclude).test(it.type_name));let resp={class:classes};if(homeObj.filter){resp.filters=homeObj.filter}console.log(JSON.stringify(resp));return JSON.stringify(resp)}function getPP(p,pn,pp,ppn){try{let ps=p[pn]==="*"&&pp.length>ppn?pp[ppn]:p[pn];return ps}catch(e){return""}}function homeVodParse(homeVodObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let d=[];MY_URL=homeVodObj.homeUrl;console.log(MY_URL);let t1=(new Date).getTime();let p=homeVodObj.推荐;print("p:"+p);if(p==="*"&&rule.一级){p=rule.一级;homeVodObj.double=false}if(!p||typeof p!=="string"){return"{}"}p=p.trim();let pp=rule.一级.split(";");if(p.startsWith("js:")){const TYPE="home";var input=MY_URL;const HOST=rule.host;eval(p.replace("js:",""));d=VODS}else{p=p.split(";");if(!homeVodObj.double&&p.length<5){return"{}"}else if(homeVodObj.double&&p.length<6){return"{}"}let p0=getPP(p,0,pp,0);let _ps=parseTags.getParse(p0);_pdfa=_ps.pdfa;_pdfh=_ps.pdfh;_pd=_ps.pd;let is_json=p0.startsWith("json:");p0=p0.replace(/^(jsp:|json:|jq:)/,"");let html=homeHtmlCache||getHtml(MY_URL);homeHtmlCache=undefined;if(is_json){html=dealJson(html)}try{console.log("double:"+homeVodObj.double);if(homeVodObj.double){let items=_pdfa(html,p0);let p1=getPP(p,1,pp,0);let p2=getPP(p,2,pp,1);let p3=getPP(p,3,pp,2);let p4=getPP(p,4,pp,3);let p5=getPP(p,5,pp,4);let p6=getPP(p,6,pp,5);for(let item of items){let items2=_pdfa(item,p1);for(let item2 of items2){try{let title=_pdfh(item2,p2);let img="";try{img=_pd(item2,p3)}catch(e){}let desc="";try{desc=_pdfh(item2,p4)}catch(e){}let links=[];for(let _p5 of p5.split("+")){let link=!homeVodObj.detailUrl?_pd(item2,_p5,MY_URL):_pdfh(item2,_p5);links.push(link)}let content;if(p.length>6&&p[6]){content=_pdfh(item2,p6)}else{content=""}let vid=links.join("$");if(rule.二级==="*"){vid=vid+"@@"+title+"@@"+img}let vod={vod_name:title,vod_pic:img,vod_remarks:desc,vod_content:content,vod_id:vid};d.push(vod)}catch(e){console.log("首页列表双层定位处理发生错误:"+e.message)}}}}else{let items=_pdfa(html,p0);let p1=getPP(p,1,pp,1);let p2=getPP(p,2,pp,2);let p3=getPP(p,3,pp,3);let p4=getPP(p,4,pp,4);let p5=getPP(p,5,pp,5);for(let item of items){try{let title=_pdfh(item,p1);let img="";try{img=_pd(item,p2,MY_URL)}catch(e){}let desc="";try{desc=_pdfh(item,p3)}catch(e){}let links=[];for(let _p5 of p4.split("+")){let link=!homeVodObj.detailUrl?_pd(item,_p5,MY_URL):_pdfh(item,_p5);links.push(link)}let content;if(p.length>5&&p[5]){content=_pdfh(item,p5)}else{content=""}let vid=links.join("$");if(rule.二级==="*"){vid=vid+"@@"+title+"@@"+img}let vod={vod_name:title,vod_pic:img,vod_remarks:desc,vod_content:content,vod_id:vid};d.push(vod)}catch(e){console.log("首页列表单层定位处理发生错误:"+e.message)}}}}catch(e){}}let t2=(new Date).getTime();console.log("加载首页推荐耗时:"+(t2-t1)+"毫秒");if(rule.图片来源){d.forEach(it=>{if(it.vod_pic&&it.vod_pic.startsWith("http")){it.vod_pic=it.vod_pic+rule.图片来源}})}if(d.length>0){print(d.slice(0,2))}return JSON.stringify({list:d})}function categoryParse(cateObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let p=cateObj.一级;if(!p||typeof p!=="string"){return"{}"}let d=[];let url=cateObj.url.replaceAll("fyclass",cateObj.tid);if(cateObj.pg===1&&url.includes("[")&&url.includes("]")){url=url.split("[")[1].split("]")[0]}else if(cateObj.pg>1&&url.includes("[")&&url.includes("]")){url=url.split("[")[0]}if(rule.filter_url){if(!/fyfilter/.test(url)){if(!url.endsWith("&")&&!rule.filter_url.startsWith("&")){url+="&"}url+=rule.filter_url}else{url=url.replace("fyfilter",rule.filter_url)}let fl=cateObj.filter?cateObj.extend:{};if(rule.filter_def&&typeof rule.filter_def==="object"){try{if(Object.keys(rule.filter_def).length>0&&rule.filter_def.hasOwnProperty(cateObj.tid)){let self_fl_def=rule.filter_def[cateObj.tid];if(self_fl_def&&typeof self_fl_def==="object"){let fl_def=JSON.parse(JSON.stringify(self_fl_def));fl=Object.assign(fl_def,fl)}}}catch(e){print("合并不同分类对应的默认筛选出错:"+e.message)}}let new_url;new_url=cheerio.jinja2(url,{fl:fl});url=new_url}if(/fypage/.test(url)){if(url.includes("(")&&url.includes(")")){let url_rep=url.match(/.*?\((.*)\)/)[1];let cnt_page=url_rep.replaceAll("fypage",cateObj.pg);let cnt_pg=eval(cnt_page);url=url.replaceAll(url_rep,cnt_pg).replaceAll("(","").replaceAll(")","")}else{url=url.replaceAll("fypage",cateObj.pg)}}MY_URL=url;console.log(MY_URL);p=p.trim();const MY_CATE=cateObj.tid;if(p.startsWith("js:")){var MY_FL=cateObj.extend;const TYPE="cate";var input=MY_URL;const MY_PAGE=cateObj.pg;var desc="";eval(p.trim().replace("js:",""));d=VODS}else{p=p.split(";");if(p.length<5){return"{}"}let _ps=parseTags.getParse(p[0]);_pdfa=_ps.pdfa;_pdfh=_ps.pdfh;_pd=_ps.pd;let is_json=p[0].startsWith("json:");p[0]=p[0].replace(/^(jsp:|json:|jq:)/,"");try{let html=getHtml(MY_URL);if(html){if(is_json){html=dealJson(html)}let list=_pdfa(html,p[0]);list.forEach(it=>{let links=p[4].split("+").map(p4=>{return!rule.detailUrl?_pd(it,p4,MY_URL):_pdfh(it,p4)});let link=links.join("$");let vod_id=rule.detailUrl?MY_CATE+"$"+link:link;let vod_name=_pdfh(it,p[1]).replace(/\n|\t/g,"").trim();let vod_pic=_pd(it,p[2],MY_URL);if(rule.二级==="*"){vod_id=vod_id+"@@"+vod_name+"@@"+vod_pic}d.push({vod_id:vod_id,vod_name:vod_name,vod_pic:vod_pic,vod_remarks:_pdfh(it,p[3]).replace(/\n|\t/g,"").trim()})})}}catch(e){console.log(e.message)}}if(rule.图片来源){d.forEach(it=>{if(it.vod_pic&&it.vod_pic.startsWith("http")){it.vod_pic=it.vod_pic+rule.图片来源}})}if(d.length>0){print(d.slice(0,2))}let pagecount=0;if(rule.pagecount&&typeof rule.pagecount==="object"&&rule.pagecount.hasOwnProperty(MY_CATE)){print(`MY_CATE:${MY_CATE},pagecount:${JSON.stringify(rule.pagecount)}`);pagecount=parseInt(rule.pagecount[MY_CATE])}let nodata={list:[{vod_name:"无数据,防无限请求",vod_id:"no_data",vod_remarks:"不要点,会崩的",vod_pic:"https://ghproxy.net/https://raw.githubusercontent.com/hjdhnx/dr_py/main/404.jpg"}],total:1,pagecount:1,page:1,limit:1};let vod=d.length<1?JSON.stringify(nodata):JSON.stringify({page:parseInt(cateObj.pg),pagecount:pagecount||999,limit:20,total:999,list:d});return vod}function searchParse(searchObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let d=[];if(!searchObj.searchUrl){return"{}"}let p=searchObj.搜索==="*"&&rule.一级?rule.一级:searchObj.搜索;if(!p||typeof p!=="string"){return"{}"}p=p.trim();let pp=rule.一级.split(";");let url=searchObj.searchUrl.replaceAll("**",searchObj.wd).replaceAll("fypage",searchObj.pg);MY_URL=url;console.log(MY_URL);if(p.startsWith("js:")){const TYPE="search";const MY_PAGE=searchObj.pg;const KEY=searchObj.wd;var input=MY_URL;var detailUrl=rule.detailUrl||"";eval(p.trim().replace("js:",""));d=VODS}else{p=p.split(";");if(p.length<5){return"{}"}let p0=getPP(p,0,pp,0);let _ps=parseTags.getParse(p0);_pdfa=_ps.pdfa;_pdfh=_ps.pdfh;_pd=_ps.pd;let is_json=p0.startsWith("json:");p0=p0.replace(/^(jsp:|json:|jq:)/,"");try{let req_method=MY_URL.split(";").length>1?MY_URL.split(";")[1].toLowerCase():"get";let html;if(req_method==="post"){let rurls=MY_URL.split(";")[0].split("#");let rurl=rurls[0];let params=rurls.length>1?rurls[1]:"";print(`post=》rurl:${rurl},params:${params}`);let _fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let postData={body:params};Object.assign(_fetch_params,postData);html=post(rurl,_fetch_params)}else if(req_method==="postjson"){let rurls=MY_URL.split(";")[0].split("#");let rurl=rurls[0];let params=rurls.length>1?rurls[1]:"";print(`postjson-》rurl:${rurl},params:${params}`);try{params=JSON.parse(params)}catch(e){params="{}"}let _fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let postData={body:params};Object.assign(_fetch_params,postData);html=post(rurl,_fetch_params)}else{html=getHtml(MY_URL)}if(html){if(/系统安全验证|输入验证码/.test(html)){let cookie=verifyCode(MY_URL);if(cookie){console.log(`本次成功过验证,cookie:${cookie}`);setItem(RULE_CK,cookie)}else{console.log(`本次自动过搜索验证失败,cookie:${cookie}`)}html=getHtml(MY_URL)}if(!html.includes(searchObj.wd)){console.log("搜索结果源码未包含关键字,疑似搜索失败,正为您打印结果源码");console.log(html)}if(is_json){html=dealJson(html)}let list=_pdfa(html,p0);let p1=getPP(p,1,pp,1);let p2=getPP(p,2,pp,2);let p3=getPP(p,3,pp,3);let p4=getPP(p,4,pp,4);let p5=getPP(p,5,pp,5);list.forEach(it=>{let links=p4.split("+").map(_p4=>{return!rule.detailUrl?_pd(it,_p4,MY_URL):_pdfh(it,_p4)});let link=links.join("$");let content;if(p.length>5&&p[5]){content=_pdfh(it,p5)}else{content=""}let vod_id=link;let vod_name=_pdfh(it,p1).replace(/\n|\t/g,"").trim();let vod_pic=_pd(it,p2,MY_URL);if(rule.二级==="*"){vod_id=vod_id+"@@"+vod_name+"@@"+vod_pic}let ob={vod_id:vod_id,vod_name:vod_name,vod_pic:vod_pic,vod_remarks:_pdfh(it,p3).replace(/\n|\t/g,"").trim(),vod_content:content.replace(/\n|\t/g,"").trim()};d.push(ob)})}}catch(e){print("搜索发生错误:"+e.message);return"{}"}}if(rule.图片来源){d.forEach(it=>{if(it.vod_pic&&it.vod_pic.startsWith("http")){it.vod_pic=it.vod_pic+rule.图片来源}})}return JSON.stringify({page:parseInt(searchObj.pg),pagecount:10,limit:20,total:100,list:d})}function detailParse(detailObj){let t1=(new Date).getTime();fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let orId=detailObj.orId;let vod_name="片名";let vod_pic="";let vod_id=orId;if(rule.二级==="*"){let extra=orId.split("@@");vod_name=extra.length>1?extra[1]:vod_name;vod_pic=extra.length>2?extra[2]:vod_pic}let vod={vod_id:vod_id,vod_name:vod_name,vod_pic:vod_pic,type_name:"类型",vod_year:"年份",vod_area:"地区",vod_remarks:"更新信息",vod_actor:"主演",vod_director:"导演",vod_content:"简介"};let p=detailObj.二级;let url=detailObj.url;let detailUrl=detailObj.detailUrl;let fyclass=detailObj.fyclass;let tab_exclude=detailObj.tab_exclude;let html=detailObj.html||"";MY_URL=url;if(detailObj.二级访问前){try{print(`尝试在二级访问前执行代码:${detailObj.二级访问前}`);eval(detailObj.二级访问前.trim().replace("js:",""))}catch(e){print(`二级访问前执行代码出现错误:${e.message}`)}}if(p==="*"){vod.vod_play_from="道长在线";vod.vod_remarks=detailUrl;vod.vod_actor="没有二级,只有一级链接直接嗅探播放";vod.vod_content=MY_URL;vod.vod_play_url="嗅探播放$"+MY_URL.split("@@")[0]}else if(typeof p==="string"&&p.trim().startsWith("js:")){const TYPE="detail";var input=MY_URL;var play_url="";eval(p.trim().replace("js:",""));vod=VOD;console.log(JSON.stringify(vod))}else if(p&&typeof p==="object"){let tt1=(new Date).getTime();if(!html){html=getHtml(MY_URL)}print(`二级${MY_URL}仅获取源码耗时:${(new Date).getTime()-tt1}毫秒`);let _ps;if(p.is_json){print("二级是json");_ps=parseTags.json;html=dealJson(html)}else if(p.is_jsp){print("二级是jsp");_ps=parseTags.jsp}else if(p.is_jq){print("二级是jq");_ps=parseTags.jq}else{print("二级默认jq");_ps=parseTags.jq}let tt2=(new Date).getTime();print(`二级${MY_URL}获取并装载源码耗时:${tt2-tt1}毫秒`);_pdfa=_ps.pdfa;_pdfh=_ps.pdfh;_pd=_ps.pd;if(p.title){let p1=p.title.split(";");vod.vod_name=_pdfh(html,p1[0]).replace(/\n|\t/g,"").trim();let type_name=p1.length>1?_pdfh(html,p1[1]).replace(/\n|\t/g,"").replace(/ /g,"").trim():"";vod.type_name=type_name||vod.type_name}if(p.desc){try{let p1=p.desc.split(";");vod.vod_remarks=_pdfh(html,p1[0]).replace(/\n|\t/g,"").trim();vod.vod_year=p1.length>1?_pdfh(html,p1[1]).replace(/\n|\t/g,"").trim():"";vod.vod_area=p1.length>2?_pdfh(html,p1[2]).replace(/\n|\t/g,"").trim():"";vod.vod_actor=p1.length>3?_pdfh(html,p1[3]).replace(/\n|\t/g,"").trim():"";vod.vod_director=p1.length>4?_pdfh(html,p1[4]).replace(/\n|\t/g,"").trim():""}catch(e){}}if(p.content){try{let p1=p.content.split(";");vod.vod_content=_pdfh(html,p1[0]).replace(/\n|\t/g,"").trim()}catch(e){}}if(p.img){try{let p1=p.img.split(";");vod.vod_pic=_pd(html,p1[0],MY_URL)}catch(e){}}let vod_play_from="$$$";let playFrom=[];if(p.重定向&&p.重定向.startsWith("js:")){print("开始执行重定向代码:"+p.重定向);html=eval(p.重定向.replace("js:",""))}if(p.tabs){if(p.tabs.startsWith("js:")){print("开始执行tabs代码:"+p.tabs);var input=MY_URL;eval(p.tabs.replace("js:",""));playFrom=TABS}else{let p_tab=p.tabs.split(";")[0];let vHeader=_pdfa(html,p_tab);console.log(vHeader.length);let tab_text=p.tab_text||"body&&Text";let new_map={};for(let v of vHeader){let v_title=_pdfh(v,tab_text).trim();console.log(v_title);if(tab_exclude&&new RegExp(tab_exclude).test(v_title)){continue}if(!new_map.hasOwnProperty(v_title)){new_map[v_title]=1}else{new_map[v_title]+=1}if(new_map[v_title]>1){v_title+=Number(new_map[v_title]-1)}playFrom.push(v_title)}}console.log(JSON.stringify(playFrom))}else{playFrom=["道长在线"]}vod.vod_play_from=playFrom.join(vod_play_from);let vod_play_url="$$$";let vod_tab_list=[];if(p.lists){if(p.lists.startsWith("js:")){print("开始执行lists代码:"+p.lists);try{var input=MY_URL;var play_url="";eval(p.lists.replace("js:",""));for(let i in LISTS){if(LISTS.hasOwnProperty(i)){try{LISTS[i]=LISTS[i].map(it=>it.split("$").slice(0,2).join("$"))}catch(e){print("格式化LISTS发生错误:"+e.message)}}}vod_play_url=LISTS.map(it=>it.join("#")).join(vod_play_url)}catch(e){print("js执行lists: 发生错误:"+e.message)}}else{let list_text=p.list_text||"body&&Text";let list_url=p.list_url||"a&&href";let is_tab_js=p.tabs.trim().startsWith("js:");for(let i=0;i1&&!is_tab_js?p.tabs.split(";")[1]:"";let p1=p.lists.replaceAll("#idv",tab_name).replaceAll("#id",i);tab_ext=tab_ext.replaceAll("#idv",tab_name).replaceAll("#id",i);let tabName=tab_ext?_pdfh(html,tab_ext):tab_name;console.log(tabName);let new_vod_list=[];let tt1=(new Date).getTime();if(typeof pdfl==="function"){new_vod_list=pdfl(html,p1,list_text,list_url,MY_URL)}else{let vodList=[];try{vodList=_pdfa(html,p1);console.log("len(vodList):"+vodList.length)}catch(e){}for(let i=0;i0){new_vod_list=forceOrder(new_vod_list,"",x=>x.split("$")[0]);console.log(`drpy影响性能代码共计列表数循环次数:${new_vod_list.length},耗时:${(new Date).getTime()-tt1}毫秒`)}let vlist=new_vod_list.join("#");vod_tab_list.push(vlist)}vod_play_url=vod_tab_list.join(vod_play_url)}}vod.vod_play_url=vod_play_url}if(rule.图片来源&&vod.vod_pic&&vod.vod_pic.startsWith("http")){vod.vod_pic=vod.vod_pic+rule.图片来源}if(!vod.vod_id||vod_id.includes("$")&&vod.vod_id!==vod_id){vod.vod_id=vod_id}let t2=(new Date).getTime();console.log(`加载二级界面${MY_URL}耗时:${t2-t1}毫秒`);return JSON.stringify({list:[vod]})}function tellIsJx(url){try{let is_vip=!/\.(m3u8|mp4|m4a)$/.test(url.split("?")[0])&&是否正版(url);return is_vip?1:0}catch(e){return 1}}function playParse(playObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));MY_URL=playObj.url;if(!/http/.test(MY_URL)){try{MY_URL=base64Decode(MY_URL)}catch(e){}}MY_URL=decodeURIComponent(MY_URL);var input=MY_URL;let common_play={parse:1,url:input,jx:tellIsJx(input)};let lazy_play;if(!rule.play_parse||!rule.lazy){lazy_play=common_play}else if(rule.play_parse&&rule.lazy&&typeof rule.lazy==="string"){try{let lazy_code=rule.lazy.replace("js:","").trim();print("开始执行js免嗅=>"+lazy_code);eval(lazy_code);lazy_play=typeof input==="object"?input:{parse:1,jx:tellIsJx(input),url:input}}catch(e){print("js免嗅错误:"+e.message);lazy_play=common_play}}else{lazy_play=common_play}if(Array.isArray(rule.play_json)&&rule.play_json.length>0){let web_url=lazy_play.url;for(let pjson of rule.play_json){if(pjson.re&&(pjson.re==="*"||web_url.match(new RegExp(pjson.re)))){if(pjson.json&&typeof pjson.json==="object"){let base_json=pjson.json;lazy_play=Object.assign(lazy_play,base_json);break}}}}else if(rule.play_json&&!Array.isArray(rule.play_json)){let base_json={jx:1,parse:1};lazy_play=Object.assign(lazy_play,base_json)}else if(!rule.play_json){let base_json={jx:0,parse:1};lazy_play=Object.assign(lazy_play,base_json)}console.log(JSON.stringify(lazy_play));return JSON.stringify(lazy_play)}function init(ext){console.log("init");try{let muban=模板.getMubans();if(typeof ext=="object"){rule=ext}else if(typeof ext=="string"){if(ext.startsWith("http")){let js=request(ext,{method:"GET"});if(js){eval(js.replace("var rule","rule"))}}else{eval(ext.replace("var rule","rule"))}}if(rule.模板&&muban.hasOwnProperty(rule.模板)){print("继承模板:"+rule.模板);rule=Object.assign(muban[rule.模板],rule)}let rule_cate_excludes=(rule.cate_exclude||"").split("|").filter(it=>it.trim());let rule_tab_excludes=(rule.tab_exclude||"").split("|").filter(it=>it.trim());rule_cate_excludes=rule_cate_excludes.concat(CATE_EXCLUDE.split("|").filter(it=>it.trim()));rule_tab_excludes=rule_tab_excludes.concat(TAB_EXCLUDE.split("|").filter(it=>it.trim()));rule.cate_exclude=rule_cate_excludes.join("|");rule.tab_exclude=rule_tab_excludes.join("|");rule.host=(rule.host||"").rstrip("/");rule.url=rule.url||"";rule.double=rule.double||false;rule.homeUrl=rule.homeUrl||"";rule.detailUrl=rule.detailUrl||"";rule.searchUrl=rule.searchUrl||"";rule.homeUrl=rule.host&&rule.homeUrl?urljoin(rule.host,rule.homeUrl):rule.homeUrl||rule.host;rule.detailUrl=rule.host&&rule.detailUrl?urljoin(rule.host,rule.detailUrl):rule.detailUrl;rule.二级访问前=rule.二级访问前||"";if(rule.url.includes("[")&&rule.url.includes("]")){let u1=rule.url.split("[")[0];let u2=rule.url.split("[")[1].split("]")[0];rule.url=rule.host&&rule.url?urljoin(rule.host,u1)+"["+urljoin(rule.host,u2)+"]":rule.url}else{rule.url=rule.host&&rule.url?urljoin(rule.host,rule.url):rule.url}rule.searchUrl=rule.host&&rule.searchUrl?urljoin(rule.host,rule.searchUrl):rule.searchUrl;rule.timeout=rule.timeout||5e3;rule.encoding=rule.编码||rule.encoding||"utf-8";rule.search_encoding=rule.搜索编码||rule.search_encoding||"";rule.图片来源=rule.图片来源||"";rule.play_json=rule.hasOwnProperty("play_json")?rule.play_json:[];rule.pagecount=rule.hasOwnProperty("pagecount")?rule.pagecount:{};if(rule.headers&&typeof rule.headers==="object"){try{let header_keys=Object.keys(rule.headers);for(let k of header_keys){if(k.toLowerCase()==="user-agent"){let v=rule.headers[k];console.log(v);if(["MOBILE_UA","PC_UA","UC_UA","IOS_UA","UA"].includes(v)){rule.headers[k]=eval(v)}}}}catch(e){console.log("处理headers发生错误:"+e.message)}}rule_fetch_params={headers:rule.headers||false,timeout:rule.timeout,encoding:rule.encoding};oheaders=rule.headers||{};RKEY=typeof key!=="undefined"&&key?key:"drpy_"+(rule.title||rule.host);pre();init_test()}catch(e){console.log("init_test发生错误:"+e.message)}}let homeHtmlCache=undefined;function home(filter){console.log("home");let homeObj={filter:rule.filter||false,MY_URL:rule.homeUrl,class_name:rule.class_name||"",class_url:rule.class_url||"",class_parse:rule.class_parse||"",cate_exclude:rule.cate_exclude};return homeParse(homeObj)}function homeVod(params){console.log("homeVod");let homeVodObj={"推荐":rule.推荐,double:rule.double,homeUrl:rule.homeUrl,detailUrl:rule.detailUrl};return homeVodParse(homeVodObj)}function category(tid,pg,filter,extend){let cateObj={url:rule.url,"一级":rule.一级,tid:tid,pg:parseInt(pg),filter:filter,extend:extend};return categoryParse(cateObj)}function detail(vod_url){let orId=vod_url;let fyclass="";log("orId:"+orId);if(vod_url.indexOf("$")>-1){let tmp=vod_url.split("$");fyclass=tmp[0];vod_url=tmp[1]}let detailUrl=vod_url.split("@@")[0];let url;if(!detailUrl.startsWith("http")&&!detailUrl.includes("/")){url=rule.detailUrl.replaceAll("fyid",detailUrl).replaceAll("fyclass",fyclass)}else if(detailUrl.includes("/")){url=urljoin(rule.homeUrl,detailUrl)}else{url=detailUrl}let detailObj={orId:orId,url:url,"二级":rule.二级,"二级访问前":rule.二级访问前,detailUrl:detailUrl,fyclass:fyclass,tab_exclude:rule.tab_exclude};return detailParse(detailObj)}function play(flag,id,flags){let playObj={url:id,flag:flag,flags:flags};return playParse(playObj)}function search(wd,quick){if(rule.search_encoding){if(rule.search_encoding.toLowerCase()!=="utf-8"){wd=encodeStr(wd,rule.search_encoding)}}else if(rule.encoding&&rule.encoding.toLowerCase()!=="utf-8"){wd=encodeStr(wd,rule.encoding)}let searchObj={searchUrl:rule.searchUrl,"搜索":rule.搜索,wd:wd,pg:1,quick:quick};return searchParse(searchObj)}function DRPY(){return{init:init,home:home,homeVod:homeVod,category:category,detail:detail,play:play,search:search}}export default{init:init,home:home,homeVod:homeVod,category:category,detail:detail,play:play,search:search,DRPY:DRPY}; \ No newline at end of file diff --git a/tvboxqq/tvboxqq/少儿频道/api/gbk.js b/tvboxqq/tvboxqq/少儿频道/api/gbk.js new file mode 100644 index 0000000..40d43c5 --- /dev/null +++ b/tvboxqq/tvboxqq/少儿频道/api/gbk.js @@ -0,0 +1,65 @@ +export function gbkTool() { + var data = function(zipData) { + var re = zipData + .replace(/#(\d+)\$/g, function(a, b) { + return Array(+b + 3).join('#'); + }) + .replace(/#/g, '####') + .replace(/(\w\w):([\w#]+)(?:,|$)/g, function(a, hd, dt) { + return dt.replace(/../g, function(a) { + if (a != '##') { + return hd + a; + } else { + return a; + } + }); + }); + return re; + }('4e:020405060f12171f20212326292e2f313335373c40414244464a5155575a5b6263646567686a6b6c6d6e6f727475767778797a7b7c7d7f808182838485878a#909697999c9d9ea3aaafb0b1b4b6b7b8b9bcbdbec8cccfd0d2dadbdce0e2e6e7e9edeeeff1f4f8f9fafcfe,4f:00020304050607080b0c12131415161c1d212328292c2d2e31333537393b3e3f40414244454748494a4b4c525456616266686a6b6d6e7172757778797a7d8081828586878a8c8e909293959698999a9c9e9fa1a2a4abadb0b1b2b3b4b6b7b8b9babbbcbdbec0c1c2c6c7c8c9cbcccdd2d3d4d5d6d9dbe0e2e4e5e7ebecf0f2f4f5f6f7f9fbfcfdff,50:000102030405060708090a#0b0e1011131516171b1d1e20222324272b2f303132333435363738393b3d3f404142444546494a4b4d5051525354565758595b5d5e5f6061626364666768696a6b6d6e6f70717273747578797a7c7d818283848687898a8b8c8e8f909192939495969798999a9b9c9d9e9fa0a1a2a4a6aaabadaeafb0b1b3b4b5b6b7b8b9bcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdced0d1d2d3d4d5d7d8d9dbdcdddedfe0e1e2e3e4e5e8e9eaebeff0f1f2f4f6f7f8f9fafcfdfeff,51:00010203040508#090a0c0d0e0f1011131415161718191a1b1c1d1e1f2022232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e42474a4c4e4f5052535758595b5d5e5f606163646667696a6f727a7e7f838486878a8b8e8f90919394989a9d9e9fa1a3a6a7a8a9aaadaeb4b8b9babebfc1c2c3c5c8cacdced0d2d3d4d5d6d7d8d9dadcdedfe2e3e5e6e7e8e9eaeceef1f2f4f7fe,52:0405090b0c0f101314151c1e1f2122232526272a2c2f313234353c3e4445464748494b4e4f5253555758#595a5b5d5f6062636466686b6c6d6e7071737475767778797a7b7c7e808384858687898a8b8c8d8e8f91929495969798999a9ca4a5a6a7aeafb0b4b5b6b7b8b9babbbcbdc0c1c2c4c5c6c8cacccdcecfd1d3d4d5d7d9dadbdcdddee0e1e2e3e5e6e7e8e9eaebecedeeeff1f2f3f4f5f6f7f8fbfcfd,53:0102030407090a0b0c0e11121314181b1c1e1f2224252728292b2c2d2f3031323334353637383c3d404244464b4c4d505458595b5d65686a6c6d7276797b7c7d7e80818387888a8e8f#90919293949697999b9c9ea0a1a4a7aaabacadafb0b1b2b3b4b5b7b8b9babcbdbec0c3c4c5c6c7cecfd0d2d3d5dadcdddee1e2e7f4fafeff,54:000205070b1418191a1c2224252a303336373a3d3f4142444547494c4d4e4f515a5d5e5f6061636567696a6b6c6d6e6f7074797a7e7f8183858788898a8d919397989c9e9fa0a1a2a5aeb0b2b5b6b7b9babcbec3c5cacbd6d8dbe0e1e2e3e4ebeceff0f1f4f5f6f7f8f9fbfe,55:0002030405080a0b0c0d0e121315161718191a1c1d1e1f212526#28292b2d3234353638393a3b3d40424547484b4c4d4e4f515253545758595a5b5d5e5f60626368696b6f7071727374797a7d7f85868c8d8e9092939596979a9b9ea0a1a2a3a4a5a6a8a9aaabacadaeafb0b2b4b6b8babcbfc0c1c2c3c6c7c8cacbcecfd0d5d7d8d9dadbdee0e2e7e9edeef0f1f4f6f8f9fafbfcff,56:0203040506070a0b0d1011121314151617191a1c1d202122252628292a2b2e2f30333537383a3c3d3e404142434445464748494a4b4f5051525355565a5b5d5e5f6061#636566676d6e6f70727374757778797a7d7e7f80818283848788898a8b8c8d9091929495969798999a9b9c9d9e9fa0a1a2a4a5a6a7a8a9aaabacadaeb0b1b2b3b4b5b6b8b9babbbdbebfc0c1c2c3c4c5c6c7c8c9cbcccdcecfd0d1d2d3d5d6d8d9dce3e5e6e7e8e9eaeceeeff2f3f6f7f8fbfc,57:00010205070b0c0d0e0f101112131415161718191a1b1d1e202122242526272b313234353637383c3d3f414344454648494b52535455565859626365676c6e707172747578797a7d7e7f80#818788898a8d8e8f90919495969798999a9c9d9e9fa5a8aaacafb0b1b3b5b6b7b9babbbcbdbebfc0c1c4c5c6c7c8c9cacccdd0d1d3d6d7dbdcdee1e2e3e5e6e7e8e9eaebeceef0f1f2f3f5f6f7fbfcfeff,58:0103040508090a0c0e0f101213141617181a1b1c1d1f222325262728292b2c2d2e2f31323334363738393a3b3c3d3e3f4041424345464748494a4b4e4f505253555657595a5b5c5d5f6061626364666768696a6d6e6f707172737475767778797a7b7c7d7f82848687888a8b8c#8d8e8f909194959697989b9c9da0a1a2a3a4a5a6a7aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbdbebfc0c2c3c4c6c7c8c9cacbcccdcecfd0d2d3d4d6d7d8d9dadbdcdddedfe0e1e2e3e5e6e7e8e9eaedeff1f2f4f5f7f8fafbfcfdfeff,59:000103050608090a0b0c0e1011121317181b1d1e2021222326282c30323335363b3d3e3f404345464a4c4d505253595b5c5d5e5f616364666768696a6b6c6d6e6f70717275777a7b7c7e7f8085898b8c8e8f90919495989a9b9c9d9fa0a1a2a6#a7acadb0b1b3b4b5b6b7b8babcbdbfc0c1c2c3c4c5c7c8c9cccdcecfd5d6d9dbdedfe0e1e2e4e6e7e9eaebedeeeff0f1f2f3f4f5f6f7f8fafcfdfe,5a:00020a0b0d0e0f101214151617191a1b1d1e2122242627282a2b2c2d2e2f3033353738393a3b3d3e3f414243444547484b4c4d4e4f5051525354565758595b5c5d5e5f60616364656668696b6c6d6e6f7071727378797b7c7d7e808182838485868788898a8b8c8d8e8f9091939495969798999c9d9e9fa0a1a2a3a4a5a6a7a8a9abac#adaeafb0b1b4b6b7b9babbbcbdbfc0c3c4c5c6c7c8cacbcdcecfd0d1d3d5d7d9dadbdddedfe2e4e5e7e8eaecedeeeff0f2f3f4f5f6f7f8f9fafbfcfdfeff,5b:0001020304050607080a0b0c0d0e0f10111213141518191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303133353638393a3b3c3d3e3f4142434445464748494a4b4c4d4e4f52565e606167686b6d6e6f7274767778797b7c7e7f82868a8d8e90919294969fa7a8a9acadaeafb1b2b7babbbcc0c1c3c8c9cacbcdcecf#d1d4d5d6d7d8d9dadbdce0e2e3e6e7e9eaebecedeff1f2f3f4f5f6f7fdfe,5c:0002030507080b0c0d0e10121317191b1e1f2021232628292a2b2d2e2f303233353637434446474c4d5253545657585a5b5c5d5f62646768696a6b6c6d70727374757677787b7c7d7e808384858687898a8b8e8f9293959d9e9fa0a1a4a5a6a7a8aaaeafb0b2b4b6b9babbbcbec0c2c3c5c6c7c8c9cacccdcecfd0d1d3d4d5d6d7d8dadbdcdddedfe0e2e3e7e9ebeceeeff1f2f3f4f5f6f7f8f9fafcfdfeff,5d:00#01040508090a0b0c0d0f10111213151718191a1c1d1f2021222325282a2b2c2f3031323335363738393a3b3c3f4041424344454648494d4e4f5051525354555657595a5c5e5f6061626364656667686a6d6e7071727375767778797a7b7c7d7e7f8081838485868788898a8b8c8d8e8f9091929394959697989a9b9c9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b8b9babbbcbdbebfc0c1c2c3c4c6c7c8c9cacbcccecfd0d1d2d3d4d5d6d7d8d9dadcdfe0e3e4eaeced#f0f5f6f8f9fafbfcff,5e:000407090a0b0d0e1213171e1f20212223242528292a2b2c2f303233343536393a3e3f404143464748494a4b4d4e4f50515253565758595a5c5d5f60636465666768696a6b6c6d6e6f70717577797e8182838588898c8d8e92989b9da1a2a3a4a8a9aaabacaeafb0b1b2b4babbbcbdbfc0c1c2c3c4c5c6c7c8cbcccdcecfd0d4d5d7d8d9dadcdddedfe0e1e2e3e4e5e6e7e9ebecedeeeff0f1f2f3f5f8f9fbfcfd,5f:050607090c0d0e10121416191a1c1d1e21222324#282b2c2e30323334353637383b3d3e3f4142434445464748494a4b4c4d4e4f5154595a5b5c5e5f60636567686b6e6f72747576787a7d7e7f83868d8e8f919394969a9b9d9e9fa0a2a3a4a5a6a7a9abacafb0b1b2b3b4b6b8b9babbbebfc0c1c2c7c8cacbced3d4d5dadbdcdedfe2e3e5e6e8e9eceff0f2f3f4f6f7f9fafc,60:0708090b0c10111317181a1e1f2223242c2d2e3031323334363738393a3d3e404445464748494a4c4e4f5153545657585b5c5e5f606165666e71727475777e80#8182858687888a8b8e8f909193959798999c9ea1a2a4a5a7a9aaaeb0b3b5b6b7b9babdbebfc0c1c2c3c4c7c8c9cccdcecfd0d2d3d4d6d7d9dbdee1e2e3e4e5eaf1f2f5f7f8fbfcfdfeff,61:02030405070a0b0c1011121314161718191b1c1d1e21222528292a2c2d2e2f303132333435363738393a3b3c3d3e4041424344454647494b4d4f50525354565758595a5b5c5e5f606163646566696a6b6c6d6e6f717273747678797a7b7c7d7e7f808182838485868788898a8c8d8f9091929395#969798999a9b9c9e9fa0a1a2a3a4a5a6aaabadaeafb0b1b2b3b4b5b6b8b9babbbcbdbfc0c1c3c4c5c6c7c9cccdcecfd0d3d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e7e8e9eaebecedeeeff0f1f2f3f4f6f7f8f9fafbfcfdfe,62:00010203040507091314191c1d1e2023262728292b2d2f303132353638393a3b3c424445464a4f50555657595a5c5d5e5f6061626465687172747577787a7b7d818283858687888b8c8d8e8f9094999c9d9ea3a6a7a9aaadaeafb0b2b3b4b6b7b8babec0c1#c3cbcfd1d5dddee0e1e4eaebf0f2f5f8f9fafb,63:00030405060a0b0c0d0f10121314151718191c2627292c2d2e30313334353637383b3c3e3f40414447484a51525354565758595a5b5c5d60646566686a6b6c6f707273747578797c7d7e7f81838485868b8d9193949597999a9b9c9d9e9fa1a4a6abafb1b2b5b6b9bbbdbfc0c1c2c3c5c7c8cacbccd1d3d4d5d7d8d9dadbdcdddfe2e4e5e6e7e8ebeceeeff0f1f3f5f7f9fafbfcfe,64:0304060708090a0d0e111215161718191a1d1f222324#252728292b2e2f3031323335363738393b3c3e404243494b4c4d4e4f505153555657595a5b5c5d5f60616263646566686a6b6c6e6f70717273747576777b7c7d7e7f8081838688898a8b8c8d8e8f90939497989a9b9c9d9fa0a1a2a3a5a6a7a8aaabafb1b2b3b4b6b9bbbdbebfc1c3c4c6c7c8c9cacbcccfd1d3d4d5d6d9dadbdcdddfe0e1e3e5e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,65:01020304050607080a0b0c0d0e0f10111314151617191a1b1c1d1e1f2021#222324262728292a2c2d30313233373a3c3d404142434446474a4b4d4e5052535457585a5c5f606164656768696a6d6e6f7173757678797a7b7c7d7e7f8081828384858688898a8d8e8f92949596989a9d9ea0a2a3a6a8aaacaeb1b2b3b4b5b6b7b8babbbebfc0c2c7c8c9cacdd0d1d3d4d5d8d9dadbdcdddedfe1e3e4eaebf2f3f4f5f8f9fbfcfdfeff,66:0104050708090b0d1011121617181a1b1c1e2122232426292a2b2c2e3032333738393a3b3d3f40424445464748494a4d4e505158#595b5c5d5e6062636567696a6b6c6d7172737578797b7c7d7f808183858688898a8b8d8e8f909293949598999a9b9c9e9fa0a1a2a3a4a5a6a9aaabacadafb0b1b2b3b5b6b7b8babbbcbdbfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8dadedfe0e1e2e3e4e5e7e8eaebecedeeeff1f5f6f8fafbfd,67:010203040506070c0e0f1112131618191a1c1e20212223242527292e303233363738393b3c3e3f414445474a4b4d5254555758595a5b5d62636466676b6c6e717476#78797a7b7d8082838586888a8c8d8e8f9192939496999b9fa0a1a4a6a9acaeb1b2b4b9babbbcbdbebfc0c2c5c6c7c8c9cacbcccdced5d6d7dbdfe1e3e4e6e7e8eaebedeef2f5f6f7f8f9fafbfcfe,68:01020304060d1012141518191a1b1c1e1f20222324252627282b2c2d2e2f30313435363a3b3f474b4d4f52565758595a5b5c5d5e5f6a6c6d6e6f707172737578797a7b7c7d7e7f8082848788898a8b8c8d8e90919294959698999a9b9c9d9e9fa0a1a3a4a5a9aaabacaeb1b2b4b6b7b8#b9babbbcbdbebfc1c3c4c5c6c7c8cacccecfd0d1d3d4d6d7d9dbdcdddedfe1e2e4e5e6e7e8e9eaebecedeff2f3f4f6f7f8fbfdfeff,69:00020304060708090a0c0f11131415161718191a1b1c1d1e21222325262728292a2b2c2e2f313233353637383a3b3c3e4041434445464748494a4b4c4d4e4f50515253555658595b5c5f616264656768696a6c6d6f7072737475767a7b7d7e7f8183858a8b8c8e8f909192939697999a9d9e9fa0a1a2a3a4a5a6a9aaacaeafb0b2b3b5b6b8b9babcbd#bebfc0c2c3c4c5c6c7c8c9cbcdcfd1d2d3d5d6d7d8d9dadcdddee1e2e3e4e5e6e7e8e9eaebeceeeff0f1f3f4f5f6f7f8f9fafbfcfe,6a:000102030405060708090b0c0d0e0f10111213141516191a1b1c1d1e20222324252627292b2c2d2e30323334363738393a3b3c3f40414243454648494a4b4c4d4e4f515253545556575a5c5d5e5f60626364666768696a6b6c6d6e6f70727374757677787a7b7d7e7f81828385868788898a8b8c8d8f929394959698999a9b9c9d9e9fa1a2a3a4a5a6#a7a8aaadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,6b:000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f252628292a2b2c2d2e2f303133343536383b3c3d3f4041424445484a4b4d4e4f5051525354555657585a5b5c5d5e5f606168696b6c6d6e6f7071727374757677787a7d7e7f808588#8c8e8f909194959798999c9d9e9fa0a2a3a4a5a6a7a8a9abacadaeafb0b1b2b6b8b9babbbcbdbec0c3c4c6c7c8c9caccced0d1d8dadcdddedfe0e2e3e4e5e6e7e8e9ecedeef0f1f2f4f6f7f8fafbfcfeff,6c:000102030408090a0b0c0e12171c1d1e2023252b2c2d31333637393a3b3c3e3f434445484b4c4d4e4f5152535658595a62636566676b6c6d6e6f71737577787a7b7c7f8084878a8b8d8e9192959697989a9c9d9ea0a2a8acafb0b4b5b6b7bac0c1c2c3c6c7c8cbcdcecfd1d2d8#d9dadcdddfe4e6e7e9ecedf2f4f9ff,6d:000203050608090a0d0f101113141516181c1d1f20212223242628292c2d2f30343637383a3f404244494c50555657585b5d5f6162646567686b6c6d707172737576797a7b7d7e7f8081838486878a8b8d8f9092969798999a9ca2a5acadb0b1b3b4b6b7b9babbbcbdbec1c2c3c8c9cacdcecfd0d2d3d4d5d7dadbdcdfe2e3e5e7e8e9eaedeff0f2f4f5f6f8fafdfeff,6e:0001020304060708090b0f12131518191b1c1e1f222627282a2c2e30313335#3637393b3c3d3e3f40414245464748494a4b4c4f5051525557595a5c5d5e606162636465666768696a6c6d6f707172737475767778797a7b7c7d8081828487888a8b8c8d8e91929394959697999a9b9d9ea0a1a3a4a6a8a9abacadaeb0b3b5b8b9bcbebfc0c3c4c5c6c8c9cacccdced0d2d6d8d9dbdcdde3e7eaebecedeeeff0f1f2f3f5f6f7f8fafbfcfdfeff,6f:000103040507080a0b0c0d0e101112161718191a1b1c1d1e1f212223252627282c2e303234353738393a3b3c3d3f404142#43444548494a4c4e4f5051525354555657595a5b5d5f60616364656768696a6b6c6f707173757677797b7d7e7f808182838586878a8b8f909192939495969798999a9b9d9e9fa0a2a3a4a5a6a8a9aaabacadaeafb0b1b2b4b5b7b8babbbcbdbebfc1c3c4c5c6c7c8cacbcccdcecfd0d3d4d5d6d7d8d9dadbdcdddfe2e3e4e5e6e7e8e9eaebecedf0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,70:000102030405060708090a0b0c0d0e0f1012131415161718191c1d1e1f2021222425262728292a#2b2c2d2e2f30313233343637383a3b3c3d3e3f404142434445464748494a4b4d4e505152535455565758595a5b5c5d5f606162636465666768696a6e7172737477797a7b7d818283848687888b8c8d8f90919397989a9b9e9fa0a1a2a3a4a5a6a7a8a9aab0b2b4b5b6babebfc4c5c6c7c9cbcccdcecfd0d1d2d3d4d5d6d7dadcdddee0e1e2e3e5eaeef0f1f2f3f4f5f6f8fafbfcfeff,71:0001020304050607080b0c0d0e0f111214171b1c1d1e1f2021222324252728292a2b2c2d2e323334#353738393a3b3c3d3e3f4041424344464748494b4d4f505152535455565758595a5b5d5f6061626365696a6b6c6d6f707174757677797b7c7e7f8081828385868788898b8c8d8e909192939596979a9b9c9d9ea1a2a3a4a5a6a7a9aaabadaeafb0b1b2b4b6b7b8babbbcbdbebfc0c1c2c4c5c6c7c8c9cacbcccdcfd0d1d2d3d6d7d8d9dadbdcdddedfe1e2e3e4e6e8e9eaebecedeff0f1f2f3f4f5f6f7f8fafbfcfdfeff,72:0001020304050708090a0b0c0d0e0f101112131415161718191a#1b1c1e1f2021222324252627292b2d2e2f3233343a3c3e40414243444546494a4b4e4f505153545557585a5c5e60636465686a6b6c6d707173747677787b7c7d828385868788898c8e9091939495969798999a9b9c9d9ea0a1a2a3a4a5a6a7a8a9aaabaeb1b2b3b5babbbcbdbebfc0c5c6c7c9cacbcccfd1d3d4d5d6d8dadb#95$,30:000102,00b702:c9c7,00a830:0305,2014ff5e20:162618191c1d,30:141508090a0b0c0d0e0f16171011,00:b1d7f7,22:362728110f2a2908371aa52520,231222:992b2e614c483d1d606e6f64651e3534,26:4240,00b020:3233,2103ff0400a4ff:e0e1,203000a7211626:0605,25:cbcfcec7c6a1a0b3b2,203b21:92909193,30:13#95$,21:70717273747576777879#4$,24:88898a8b8c8d8e8f909192939495969798999a9b7475767778797a7b7c7d7e7f808182838485868760616263646566676869##,32:20212223242526272829##,21:606162636465666768696a6b#97$,ff:010203e505060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5de3#95$,30:4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f90919293#106$a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6#103$,03:9192939495969798999a9b9c9d9e9fa0a1a3a4a5a6a7a8a9#6$b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c3c4c5c6c7c8c9#5$,fe:3536393a3f403d3e41424344##3b3c373831#3334#104$,04:10111213141501161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f#13$30313233343551363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f#11$,02:cacbd9,20:13152535,21:050996979899,22:151f23526667bf,25:505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f7071727381828384858687#88898a8b8c8d8e8f939495bcbde2e3e4e5,2609229530:121d1e#9$,010100e101ce00e0011300e9011b00e8012b00ed01d000ec014d00f301d200f2016b00fa01d400f901:d6d8dadc,00:fcea,0251e7c701:4448,e7c802:61#2$,31:05060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20212223242526272829#19$,30:212223242526272829,32a333:8e8f9c9d9ea1c4ced1d2d5,fe30ff:e2e4#,212132:31#,20:10#1$,30:fc9b9cfdfe069d9e,fe:494a4b4c4d4e4f50515254555657595a5b5c5d5e5f6061#626364656668696a6b,e7:e7e8e9eaebecedeeeff0f1f2f3,30:07#11$,25:000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b#13$,72:dcdddfe2e3e4e5e6e7eaebf5f6f9fdfeff,73:00020405060708090b0c0d0f1011121418191a1f2023242627282d2f30323335363a3b3c3d404142434445464748#494a4b4c4e4f515354555658595a5b5c5d5e5f6162636465666768696a6b6e7071#92$72737475767778797a7b7c7d7f808182838586888a8c8d8f90929394959798999a9c9d9ea0a1a3a4a5a6a7a8aaacadb1b4b5b6b8b9bcbdbebfc1c3c4c5c6c7#cbccced2d3d4d5d6d7d8dadbdcdddfe1e2e3e4e6e8eaebeceeeff0f1f3f4f5f6f7#92$f8f9fafbfcfdfeff,74:0001020407080b0c0d0e1112131415161718191c1d1e1f2021232427292b2d2f31323738393a3b3d3e3f4042434445464748494a4b4c4d#4e4f505152535456585d606162636465666768696a6b6c6e6f717273747578797a#92$7b7c7d7f8284858688898a8c8d8f9192939495969798999a9b9d9fa0a1a2a3a4a5a6aaabacadaeafb0b1b2b3b4b5b6b7b8b9bbbcbdbebfc0c1c2c3c4c5c6c7#c8c9cacbcccdcecfd0d1d3d4d5d6d7d8d9dadbdddfe1e5e7e8e9eaebecedf0f1f2#92$f3f5f8f9fafbfcfdfe,75:0001020305060708090a0b0c0e1012141516171b1d1e202122232426272a2e3436393c3d3f414243444647494a4d5051525355565758#5d5e5f60616263646768696b6c6d6e6f7071737576777a7b7c7d7e808182848587#92$88898a8c8d8e909395989b9c9ea2a6a7a8a9aaadb6b7babbbfc0c1c6cbcccecfd0d1d3d7d9dadcdddfe0e1e5e9ecedeeeff2f3f5f6f7f8fafbfdfe,76:02040607#08090b0d0e0f11121314161a1c1d1e212327282c2e2f31323637393a3b3d414244#92$45464748494a4b4e4f50515253555758595a5b5d5f6061626465666768696a6c6d6e7071727374757677797a7c7f80818385898a8c8d8f9092949597989a9b#9c9d9e9fa0a1a2a3a5a6a7a8a9aaabacadafb0b3b5b6b7b8b9babbbcbdbec0c1c3,554a963f57c3632854ce550954c076:914c,853c77ee827e788d72319698978d6c285b894ffa630966975cb880fa684880ae660276ce51f9655671ac7ff1888450b2596561ca6fb382ad634c625253ed54277b06516b75a45df462d48dcb9776628a8019575d97387f627238767d67cf767e64464f708d2562dc7a17659173ed642c6273822c9881677f724862:6ecc,4f3474e3534a529e7eca90a65e2e6886699c81807ed168d278c5868c9551508d8c2482de80de53058912526576:c4c7c9cbccd3d5d9dadcdddee0e1e2e3e4e6e7e8e9eaebecedf0f3f5f6f7fafbfdff,77:00020305060a0c0e0f1011121314151617181b1c1d1e21232425272a2b#2c2e3031323334393b3d3e3f4244454648494a4b4c4d4e4f52535455565758595c,858496f94fdd582199715b9d62:b1a5,66b48c799c8d7206676f789160b253:5117,8f8880cc8d1d94a1500d72c8590760eb711988ab595482ef672c7b285d297ef7752d6cf58e668ff8903c9f3b6bd491197b145f7c78a784d6853d6b:d5d9d6,5e:0187,75f995ed655d5f:0ac5,8f9f58c181c2907f965b97ad8fb97f168d2c62414fbf53:d85e,8f:a8a9ab,904d68075f6a819888689cd6618b522b762a5f6c658c6fd26ee85bbe644851:75b0,67c44e1979c9997c70b377:5d5e5f606467696a6d6e6f7071727374757677787a7b7c818283868788898a8b8f90939495969798999a9b9c9d9ea1a3a4a6a8abadaeafb1b2b4b6b7b8b9ba#bcbec0c1c2c3c4c5c6c7c8c9cacbcccecfd0d1d2d3d4d5d6d8d9dadddedfe0e1e4,75c55e7673bb83e064ad62e894b56ce2535a52c3640f94c27b944f2f5e1b823681:168a,6e246cca9a736355535c54fa886557e04e0d5e036b657c3f90e8601664e6731c88c16750624d8d22776c8e2991c75f6983dc8521991053c286956b8b60:ede8,707f82:cd31,4ed36ca785cf64cd7cd969fd66f9834953957b564fa7518c6d4b5c428e6d63d253c983:2c36,67e578b4643d5bdf5c945dee8be762c667f48c7a640063ba8749998b8c177f2094f24ea7961098a4660c731677:e6e8eaeff0f1f2f4f5f7f9fafbfc,78:0304050607080a0b0e0f101315191b1e20212224282a2b2e2f31323335363d3f414243444648494a4b4d4f51535458595a#5b5c5e5f606162636465666768696f7071727374757678797a7b7d7e7f80818283,573a5c1d5e38957f507f80a05382655e7545553150218d856284949e671d56326f6e5de2543570928f66626f64a463a35f7b6f8890f481e38fb05c1866685ff16c8996488d81886c649179f057ce6a59621054484e587a0b60e96f848bda627f901e9a8b79e4540375f4630153196c608fdf5f1b9a70803b9f7f4f885c3a8d647fc565a570bd51:45b2,866b5d075ba062bd916c75748e0c7a2061017b794ec77ef877854e1181ed521d51fa6a7153a88e87950496cf6ec19664695a78:848586888a8b8f9092949596999d9ea0a2a4a6a8a9aaabacadaeafb5b6b7b8babbbcbdbfc0c2c3c4c6c7c8cccdcecfd1d2d3d6d7d8dadbdcdddedfe0e1e2e3#e4e5e6e7e9eaebedeeeff0f1f3f5f6f8f9fbfcfdfeff,79:00020304060708090a0b0c,784050a877d7641089e6590463e35ddd7a7f693d4f20823955984e3275ae7a975e:628a,95ef521b5439708a6376952457826625693f918755076df37eaf882262337ef075b5832878c196cc8f9e614874f78bcd6b64523a8d506b21806a847156f153064e:ce1b,51d17c97918b7c074fc38e7f7be17a9c64675d1450ac810676017cb96dec7fe067515b:58f8,78cb64:ae13,63:aa2b,9519642d8fbe7b5476296253592754466b7950a362345e266b864ee38d37888b5f85902e79:0d0e0f1011121415161718191a1b1c1d1f2021222325262728292a2b2c2d2e2f3031323335363738393d3f42434445474a4b4c4d4e4f505152545558596163#6466696a6b6c6e70717273747576797b7c7d7e7f8283868788898b8c8d8e909192,6020803d62c54e39535590f863b880c665e66c2e4f4660ee6de18bde5f3986cb5f536321515a83616863520063638e4850125c9b79775bfc52307a3b60bc905376d75f:b797,76848e6c706f767b7b4977aa51f3909358244f4e6ef48fea654c7b1b72c46da47fdf5ae162b55e95573084827b2c5e1d5f1f90127f1498a063826ec7789870b95178975b57ab75354f4375385e9760e659606dc06bbf788953fc96d551cb52016389540a94938c038dcc7239789f87768fed8c0d53e079:939495969798999b9c9d9e9fa0a1a2a3a4a5a6a8a9aaabacadaeafb0b1b2b4b5b6b7b8bcbfc2c4c5c7c8cacccecfd0d3d4d6d7d9dadbdcdddee0e1e2e5e8ea#eceef1f2f3f4f5f6f7f9fafcfeff,7a:0104050708090a0c0f10111213151618191b1c,4e0176ef53ee948998769f0e952d5b9a8ba24e:221c,51ac846361c252a8680b4f97606b51bb6d1e515c6296659796618c46901775d890fd77636bd272:8aec,8bfb583577798d4c675c9540809a5ea66e2159927aef77ed953b6bb565ad7f0e58065151961f5bf958a954288e726566987f56e4949d76fe9041638754c659:1a3a,579b8eb267358dfa8235524160f0581586fe5ce89e454fc4989d8bb95a2560765384627c904f9102997f6069800c513f80335c1499756d314e8c7a:1d1f21222425262728292a2b2c2d2e2f303132343536383a3e4041424344454748494a4b4c4d4e4f50525354555658595a5b5c5d5e5f606162636465666768#696a6b6c6d6e6f717273757b7c7d7e828587898a8b8c8e8f909394999a9b9ea1a2,8d3053d17f5a7b4f4f104e4f96006cd573d085e95e06756a7ffb6a0a77fe94927e4151e170e653cd8fd483038d2972af996d6cdb574a82b365b980aa623f963259a84eff8bbf7eba653e83f2975e556198de80a5532a8bfd542080ba5e9f6cb88d3982ac915a54296c1b52067eb7575f711a6c7e7c89594b4efd5fff61247caa4e305c0167ab87025cf0950b98ce75af70fd902251af7f1d8bbd594951e44f5b5426592b657780a45b7562:76c2,8f905e456c1f7b264f:0fd8,670d7a:a3a4a7a9aaabaeafb0b1b2b4b5b6b7b8b9babbbcbdbec0c1c2c3c4c5c6c7c8c9cacccdcecfd0d1d2d3d4d5d7d8dadbdcdde1e2e4e7e8e9eaebeceef0f1f2f3#f4f5f6f7f8fbfcfe,7b:0001020507090c0d0e1012131617181a1c1d1f21222327292d,6d:6eaa,798f88b15f17752b629a8f854fef91dc65a781:2f51,5e9c81508d74526f89868d4b590d50854ed8961c723681798d1f5bcc8ba3964459877f1a549056:760e,8be565396982949976d66e895e72751867:46d1,7aff809d8d76611f79c665628d635188521a94a27f38809b7eb25c976e2f67607bd9768b9ad8818f7f947cd5641e95507a3f54:4ae5,6b4c640162089e3d80f3759952729769845b683c86e496:0194,94ec4e2a54047ed968398ddf801566f45e9a7fb97b:2f303234353637393b3d3f404142434446484a4d4e535557595c5e5f61636465666768696a6b6c6d6f70737476787a7c7d7f81828384868788898a8b8c8e8f#9192939698999a9b9e9fa0a3a4a5aeafb0b2b3b5b6b7b9babbbcbdbebfc0c2c3c4,57c2803f68975de5653b529f606d9f9a4f9b8eac516c5bab5f135de96c5e62f18d21517194a952fe6c9f82df72d757a267848d2d591f8f9c83c754957b8d4f306cbd5b6459d19f1353e486ca9aa88c3780a16545987e56fa96c7522e74dc52505be1630289024e5662d0602a68fa51735b9851a089c27ba199867f5060ef704c8d2f51495e7f901b747089c4572d78455f529f9f95fa8f689b3c8be17678684267dc8d:ea35,523d8f8a6eda68cd950590ed56fd679c88f98fc754c87b:c5c8c9cacbcdcecfd0d2d4d5d6d7d8dbdcdedfe0e2e3e4e7e8e9ebecedeff0f2f3f4f5f6f8f9fafbfdff,7c:0001020304050608090a0d0e101112131415171819#1a1b1c1d1e20212223242528292b2c2d2e2f3031323334353637393a3b3c3d3e42,9ab85b696d776c264ea55bb39a87916361a890af97e9542b6db55bd251fd558a7f:55f0,64bc634d65f161be608d710a6c:5749,592f676d822a58d5568e8c6a6beb90dd597d801753f76d695475559d83:77cf,683879be548c4f55540876d28c8996026cb36db88d6b89109e648d3a563f9ed175d55f8872e0606854fc4ea86a2a886160528f7054c470d886799e3f6d2a5b8f5f187ea255894faf7334543c539a501954:0e7c,4e4e5ffd745a58f6846b80e1877472d07cca6e567c:434445464748494a4b4c4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f70717275767778797a7e7f8081828384858687#888a8b8c8d8e8f90939496999a9ba0a1a3a6a7a8a9abacadafb0b4b5b6b7b8babb,5f27864e552c62a44e926caa623782b154d7534e733e6ed1753b521253168bdd69d05f8a60006dee574f6b2273af68538fd87f13636260a3552475ea8c6271156da35ba65e7b8352614c9ec478fa87577c27768751f060f6714c66435e4c604d8c0e707063258f895fbd606286d456de6bc160946167534960e066668d3f79fd4f1a70e96c478b:b3f2,7ed88364660f5a5a9b426d:51f7,8c416d3b4f19706b83b7621660d1970d8d27797851fb57:3efa,673a75787a3d79ef7b957c:bfc0c2c3c4c6c9cbcecfd0d1d2d3d4d8dadbdddee1e2e3e4e5e6e7e9eaebecedeef0f1f2f3f4f5f6f7f9fafcfdfeff,7d:000102030405060708090b0c0d0e0f10#1112131415161718191a1b1c1d1e1f212324252628292a2c2d2e30313233343536,808c99658ff96fc08ba59e2159ec7ee97f095409678168d88f917c4d96c653ca602575be6c7253735ac97ea7632451e0810a5df184df628051805b634f0e796d524260b86d4e5b:c4c2,8b:a1b0,65e25fcc964559937e:e7aa,560967b759394f735bb652a0835a988a8d3e753294be50477a3c4ef767b69a7e5ac16b7c76d1575a5c167b3a95f4714e517c80a9827059787f04832768c067ec78:b177,62e363617b804fed526a51cf835069db92748d:f531,89c1952e7bad4ef67d:3738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6f70717273747576#78797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798,506582305251996f6e:1085,6da75efa50f559dc5c066d466c5f7586848b686859568bb253209171964d854969127901712680f64ea490ca6d479a845a0756bc640594f077eb4fa5811a72e189d2997a7f347ede527f655991758f:7f83,53eb7a9663:eda5,768679f888579636622a52ab8282685467706377776b7aed6d017ed389e359d0621285c982a5754c501f4ecb75a58beb5c4a5dfe7b4b65a491d14eca6d25895f7d2795264ec58c288fdb9773664b79818fd170ec6d787d:999a9b9c9d9e9fa0a1a2a3a4a5a7a8a9aaabacadafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9#dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fa,5c3d52b283465162830e775b66769cb84eac60ca7c:beb3,7ecf4e958b66666f988897595883656c955c5f8475c997567a:dfde,51c070af7a9863ea7a767ea0739697ed4e4570784e5d915253a965:51e7,81fc8205548e5c31759a97a062d872d975bd5c459a7983ca5c40548077e94e3e6cae805a62d2636e5de851778ddd8e1e952f4ff153e560e770ac526763509e435a1f5026773753777ee26485652b628963985014723589c951b38bc07edd574783cc94a7519b541b5cfb7d:fbfcfdfeff,7e:000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f30313233343536373839#3a3c3d3e3f40424344454648494a4b4c4d4e4f505152535455565758595a5b5c5d,4fca7ae36d5a90e19a8f55805496536154af5f0063e9697751ef6168520a582a52d8574e780d770b5eb761777ce062:5b97,4ea27095800362f770e49760577782db67ef68f578d5989779d158f354b353ef6e34514b523b5ba28bfe80af554357a660735751542d7a7a60505b5463a762a053e362635bc767af54ed7a9f82e691775e9388e4593857ae630e8de880ef57577b774fa95feb5bbd6b3e53217b5072c2684677:ff36,65f751b54e8f76d45cbf7aa58475594e9b4150807e:5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f8081838485868788898a8b8c8d8e8f909192939495969798999a9c9d9e#aeb4bbbcd6e4ecf9,7f:0a101e37393b3c3d3e3f404143464748494a4b4c4d4e4f5253,998861276e8357646606634656f062:ec69,5ed39614578362c955878721814a8fa3556683b167658d5684dd5a6a680f62e67bee961151706f9c8c3063fd89c861d27f0670c26ee57405699472fc5eca90ce67176d6a635e52b3726280014f6c59e5916a70d96d9d52d24e5096f7956d857e78ca7d2f5121579264c2808b7c7b6cea68f1695e51b7539868a872819ece7bf172f879bb6f137406674e91cc9ca4793c83:8954,540f68174e3d538952b1783e5386522950884f:8bd0,7f:56595b5c5d5e6063646566676b6c6d6f7073757677787a7b7c7d7f8082838485868788898b8d8f9091929395969798999b9ca0a2a3a5a6a8a9aaabacadaeb1#b3b4b5b6b7babbbec0c2c3c4c6c7c8c9cbcdcfd0d1d2d3d6d7d9dadbdcdddee2e3,75e27acb7c926ca596b6529b748354e94fe9805483b28fde95705ec9601c6d9f5e18655b813894fe604b70bc7ec37cae51c968817cb1826f4e248f8691cf667e4eae8c0564a9804a50da759771ce5be58fbd6f664e86648295635ed66599521788c270c852a3730e7433679778f797164e3490bb9cde6dcb51db8d41541d62ce73b283f196f69f8494c34f367f9a51cc707596755cad988653e64ee46e9c740969b4786b998f7559521876246d4167f3516d9f99804b54997b3c7abf7f:e4e7e8eaebecedeff2f4f5f6f7f8f9fafdfeff,80:020708090a0e0f11131a1b1d1e1f2123242b2c2d2e2f303234393a3c3e404144454748494e4f505153555657#595b5c5d5e5f6061626364656667686b6c6d6e6f7072737475767778797a7b7c7d,9686578462e29647697c5a0464027bd36f0f964b82a6536298855e90708963b35364864f9c819e93788c97328d:ef42,9e7f6f5e79845f559646622e9a74541594dd4fa365c55c:6561,7f1586516c2f5f8b73876ee47eff5ce6631b5b6a6ee653754e7163a0756562a18f6e4f264ed16ca67eb68bba841d87ba7f57903b95237ba99aa188f8843d6d1b9a867edc59889ebb739b780186829a:6c82,561b541757cb4e709ea653568fc881097792999286ee6ee1851366fc61626f2b80:7e818285888a8d8e8f909192949597999ea3a6a7a8acb0b3b5b6b8b9bbc5c7c8c9cacbcfd0d1d2d3d4d5d8dfe0e2e3e6eef5f7f9fbfeff,81:000103040507080b#0c1517191b1c1d1f202122232425262728292a2b2d2e3033343537393a3b3c3d3f,8c298292832b76f26c135fd983bd732b8305951a6bdb77db94c6536f830251925e3d8c8c8d384e4873ab679a68859176970971646ca177095a9295416bcf7f8e66275bd059b95a9a95:e8f7,4eec84:0c99,6aac76df9530731b68a65b5f772f919a97617cdc8ff78c1c5f257c7379d889c56ccc871c5bc65e4268c977207ef551:954d,52c95a297f05976282d763cf778485d079d26e3a5e9959998511706d6c1162bf76bf654f60af95fd660e879f9e2394ed54:0d7d,8c2c647881:40414243444547494d4e4f525657585b5c5d5e5f6162636466686a6b6c6f727375767778818384858687898b8c8d8e90929394959697999a9e9fa0a1a2a4a5#a7a9abacadaeafb0b1b2b4b5b6b7b8b9bcbdbebfc4c5c7c8c9cbcdcecfd0d1d2d3,647986116a21819c78e864699b5462b9672b83ab58a89ed86cab6f205bde964c8c0b725f67d062c772614ea959c66bcd589366ae5e5552df6155672876ee776672677a4662ff54:ea50,94a090a35a1c7eb36c164e435976801059485357753796be56ca63208111607c95f96dd65462998151855ae980fd59ae9713502a6ce55c3c62df4f60533f817b90066eba852b62c85e7478be64b5637b5ff55a18917f9e1f5c3f634f80425b7d556e95:4a4d,6d8560a867e072de51dd5b8181:d4d5d6d7d8d9dadbdcdddedfe0e1e2e4e5e6e8e9ebeeeff0f1f2f5f6f7f8f9fafdff,82:030708090a0b0e0f111315161718191a1d2024252627292e323a3c3d3f#404142434546484a4c4d4e5051525354555657595b5c5d5e606162636465666769,62e76cde725b626d94ae7ebd81136d53519c5f04597452aa6012597366968650759f632a61e67cef8bfa54e66b279e256bb485d5545550766ca4556a8db4722c5e156015743662cd6392724c5f986e436d3e65006f5876d878d076fc7554522453db4e535e9e65c180:2ad6,629b5486522870ae888d8dd16ce1547880da57f988f48d54966a914d4f696c9b55b776c6783062a870f96f8e5f6d84ec68da787c7bf781a8670b9e4f636778b0576f7812973962:79ab,528874356bd782:6a6b6c6d71757677787b7c808183858687898c90939495969a9b9ea0a2a3a7b2b5b6babbbcbfc0c2c3c5c6c9d0d6d9dadde2e7e8e9eaecedeef0f2f3f5f6f8#fafcfdfeff,83:000a0b0d1012131618191d1e1f20212223242526292a2e3032373b3d,5564813e75b276ae533975de50fb5c418b6c7bc7504f72479a9798d86f0274e27968648777a562fc98918d2b54c180584e52576a82f9840d5e7351ed74f68bc45c4f57616cfc98875a4678349b448feb7c955256625194fa4ec68386846183e984b257d467345703666e6d668c3166dd7011671f6b3a6816621a59bb4e0351c46f0667d26c8f517668cb59476b6775665d0e81109f5065d779:4841,9a918d775c824e5e4f01542f5951780c56686c148fc45f036c:7de3,8bab639083:3e3f41424445484a4b4c4d4e5355565758595d6270717273747576797a7e7f808182838487888a8b8c8d8f909194959697999a9d9fa1a2a3a4a5a6a7acadae#afb5bbbebfc2c3c4c6c8c9cbcdced0d1d2d3d5d7d9dadbdee2e3e4e6e7e8ebeced,60706d3d7275626694:8ec5,53438fc17b7e4edf8c264e7e9ed494:b1b3,524d6f5c90636d458c3458115d4c6b:2049,67aa545b81547f8c589985375f3a62a26a47953965726084686577a74e544fa85de7979864ac7fd85ced4fcf7a8d520783044e14602f7a8394a64fb54eb279e6743452e482b964d279bd5bdd6c8197528f7b6c22503e537f6e0564ce66746c3060c598778bf75e86743c7a7779cb4e1890b174036c4256da914b6cc58d8b533a86c666f28eaf5c489a716e2083:eeeff3f4f5f6f7fafbfcfeff,84:0002050708090a10121314151617191a1b1e1f20212223292a2b2c2d2e2f30323334353637393a3b3e3f404142434445474849#4a4b4c4d4e4f505253545556585d5e5f606264656667686a6e6f70727477797b7c,53d65a369f8b8da353bb570898a76743919b6cc9516875ca62f372ac52:389d,7f3a7094763853749e4a69b7786e96c088d97fa471:36c3,518967d374e458e4651856b78ba9997662707ed560f970ed58ec4e:c1ba,5fcd97e74efb8ba45203598a7eab62544ecd65e5620e833884c98363878d71946eb65bb97ed2519763c967d480898339881551125b7a59828fb14e736c5d516589258f6f962e854a745e95:10f0,6da682e55f3164926d128428816e9cc3585e8d5b4e0953c184:7d7e7f8081838485868a8d8f90919293949596989a9b9d9e9fa0a2a3a4a5a6a7a8a9aaabacadaeb0b1b3b5b6b7bbbcbec0c2c3c5c6c7c8cbcccecfd2d4d5d7#d8d9dadbdcdee1e2e4e7e8e9eaebedeeeff1f2f3f4f5f6f7f8f9fafbfdfe,85:000102,4f1e6563685155d34e2764149a9a626b5ac2745f82726da968ee50e7838e7802674052396c997eb150bb5565715e7b5b665273ca82eb67495c715220717d886b95ea965564c58d6181b355846c5562477f2e58924f2455468d4f664c4e0a5c1a88f368a2634e7a0d70e7828d52fa97f65c1154e890b57ecd59628d4a86c782:0c0d,8d6664445c0461516d89793e8bbe78377533547b4f388eab6df15a207ec5795e6c885ba15a76751a80be614e6e1758f075:1f25,727253477ef385:030405060708090a0b0d0e0f101214151618191b1c1d1e2022232425262728292a2d2e2f303132333435363e3f404142444546474b4c4d4e4f505152535455#57585a5b5c5d5f60616263656667696a6b6c6d6e6f707173757677787c7d7f8081,770176db526980dc57235e08593172ee65bd6e7f8bd75c388671534177f362fe65f64ec098df86805b9e8bc653f277e24f7f5c4e9a7659cb5f0f793a58eb4e1667ff4e8b62ed8a93901d52bf662f55dc566c90024ed54f8d91ca99706c0f5e0260435ba489c68bd56536624b99965b:88ff,6388552e53d77626517d852c67a268b36b8a62928f9353d482126dd1758f4e668d4e5b70719f85af66:91d9,7f7287009ecd9f205c5e672f8ff06811675f620d7ad658855eb665706f3185:82838688898a8b8c8d8e909192939495969798999a9d9e9fa0a1a2a3a5a6a7a9abacadb1b2b3b4b5b6b8babbbcbdbebfc0c2c3c4c5c6c7c8cacbcccdced1d2#d4d6d7d8d9dadbdddedfe0e1e2e3e5e6e7e8eaebecedeeeff0f1f2f3f4f5f6f7f8,60555237800d6454887075295e05681362f4971c53cc723d8c016c3477617a0e542e77ac987a821c8bf47855671470c165af64955636601d79c153f84e1d6b7b80865bfa55e356db4f:3a3c,99725df3677e80386002988290015b8b8b:bcf5,641c825864de55fd82cf91654fd77d20901f7c9f50f358516eaf5bbf8bc980839178849c7b97867d96:8b8f,7ee59ad3788e5c817a57904296a7795f5b59635f7b0b84d168ad55067f2974107d2295016240584c4ed65b835979585485:f9fafcfdfe,86:0001020304060708090a0b0c0d0e0f10121314151718191a1b1c1d1e1f20212223242526282a2b2c2d2e2f3031323334353637393a3b3d3e3f40#4142434445464748494a4b4c525355565758595b5c5d5f6061636465666768696a,736d631e8e:4b0f,80ce82d462ac53f06cf0915e592a60016c70574d644a8d2a762b6ee9575b6a8075f06f6d8c:2d08,57666bef889278b363a253f970ad6c645858642a580268e0819b55107cd650188eba6dcc8d9f70eb638f6d9b6ed47ee68404684390036dd896768ba85957727985e4817e75bc8a8a68af52548e22951163d098988e44557c4f5366ff568f60d56d9552435c4959296dfb586b75:301c,606c82148146631167618fe2773a8d:f334,94c15e165385542c70c386:6d6f7072737475767778838485868788898e8f90919294969798999a9b9e9fa0a1a2a5a6abadaeb2b3b7b8b9bbbcbdbebfc1c2c3c5c8cccdd2d3d5d6d7dadc#dde0e1e2e3e5e6e7e8eaebeceff5f6f7fafbfcfdff,87:010405060b0c0e0f10111416,6c405ef7505c4ead5ead633a8247901a6850916e77b3540c94dc5f647ae5687663457b527edf75db507762955934900f51f879c37a8156fe5f9290146d825c60571f541051546e4d56e263a89893817f8715892a9000541e5c6f81c062:d658,81319e3596409a:6e7c,692d59a562d3553e631654c786d96d3c5a0374e6889c6b6a59168c4c5f2f6e7e73a9987d4e3870f75b8c7897633d665a769660cb5b9b5a494e0781556c6a738b4ea167897f515f8065fa671b5fd859845a0187:191b1d1f20242627282a2b2c2d2f303233353638393a3c3d404142434445464a4b4d4f505152545556585a5b5c5d5e5f6162666768696a6b6c6d6f71727375#7778797a7f8081848687898a8c8e8f90919294959698999a9b9c9d9ea0a1a2a3a4,5dcd5fae537197e68fdd684556f4552f60df4e3a6f4d7ef482c7840e59d44f:1f2a,5c3e7eac672a851a5473754f80c355829b4f4f4d6e2d8c135c096170536b761f6e29868a658795fb7eb9543b7a337d0a95ee55e17fc174ee631d87176da17a9d621165a1536763e16c835deb545c94a84e4c6c618bec5c4b65e0829c68a754:3e34,6b:cb66,4e9463425348821e4f:0dae,575e620a96fe6664726952:ffa1,609f8bef661471996790897f785277fd6670563b54389521727a87:a5a6a7a9aaaeb0b1b2b4b6b7b8b9bbbcbebfc1c2c3c4c5c7c8c9cccdcecfd0d4d5d6d7d8d9dadcdddedfe1e2e3e4e6e7e8e9ebecedeff0f1f2f3f4f5f6f7f8#fafbfcfdff,88:0001020405060708090b0c0d0e0f101112141718191a1c1d1e1f2023,7a00606f5e0c6089819d591560dc718470ef6eaa6c5072806a8488ad5e2d4e605ab3559c94e36d177cfb9699620f7ec6778e867e5323971e8f9666875ce14fa072ed4e0b53a6590f54136380952851484ed99c9c7ea454b88d248854823795f26d8e5f265acc663e966973:b02e,53bf817a99857fa15baa96:7750,7ebf76f853a2957699997bb189446e584e617fd479658be660f354cd4eab98795df76a6150cf54118c618427785d9704524a54ee56a395006d885bb56dc6665388:2425262728292a2b2c2d2e2f30313334353637383a3b3d3e3f414243464748494a4b4e4f505152535556585a5b5c5d5e5f6066676a6d6f717374757678797a#7b7c80838687898a8c8e8f90919394959798999a9b9d9e9fa0a1a3a5a6a7a8a9aa,5c0f5b5d6821809655787b11654869544e9b6b47874e978b534f631f643a90aa659c80c18c10519968b0537887f961c86c:c4fb,8c225c5185aa82af950c6b238f9b65b05f:fbc3,4fe18845661f8165732960fa51745211578b5f6290a2884c91925e78674f602759d351:44f6,80f853086c7996c4718a4f:11ee,7f9e673d55c5950879c088967ee3589f620c9700865a5618987b5f908bb884c4915753d965ed5e8f755c60647d6e5a7f7e:eaed,8f6955a75ba360ac65cb738488:acaeafb0b2b3b4b5b6b8b9babbbdbebfc0c3c4c7c8cacbcccdcfd0d1d3d6d7dadbdcdddee0e1e6e7e9eaebecedeeeff2f5f6f7fafbfdff,89:0001030405060708#090b0c0d0e0f1114151617181c1d1e1f20222324262728292c2d2e2f3132333537,9009766377297eda9774859b5b667a7496ea884052cb718f5faa65ec8be25bfb9a6f5de16b896c5b8b:adaf,900a8fc5538b62bc9e:262d,54404e2b82bd7259869c5d1688596daf96c554d14e9a8bb6710954bd960970df6df976d04e25781487125ca95ef68a00989c960e708e6cbf594463a9773c884d6f148273583071d5538c781a96c155015f6671305bb48c1a9a8c6b83592e9e2f79e76768626c4f6f75a17f8a6d0b96336c274ef075d2517b68376f3e908081705996747689:38393a3b3c3d3e3f40424345464748494a4b4c4d4e4f505152535455565758595a5b5c5d6061626364656768696a6b6c6d6e6f707172737475767778797a7c#7d7e808284858788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1,64475c2790657a918c2359da54ac8200836f898180006930564e8036723791ce51b64e5f987563964e1a53f666f3814b591c6db24e0058f9533b63d694f14f:9d0a,886398905937905779fb4eea80f075916c825b9c59e85f5d69058681501a5df24e5977e34ee5827a6291661390915c794ebf5f7981c69038808475ab4ea688d4610f6bc55fc64e4976ca6ea28b:e3ae,8c0a8bd15f027f:fccc,7ece83:356b,56e06bb797f3963459fb541f94f66deb5bc5996e5c395f15969089:a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c3cdd3d4d5d7d8d9dbdddfe0e1e2e4e7e8e9eaecedeef0f1f2f4f5f6f7f8f9fa#fbfcfdfeff,8a:01020304050608090a0b0c0d0e0f101112131415161718191a1b1c1d,537082f16a315a749e705e947f2883b984:2425,836787478fce8d6276c85f719896786c662054df62e54f6381c375c85eb896cd8e0a86f9548f6cf36d8c6c38607f52c775285e7d4f1860a05fe75c24753190ae94c072b96cb96e389149670953:cbf3,4f5191c98bf153c85e7c8fc26de44e8e76c26986865e611a82064f:59de,903e9c7c61096e:1d14,96854e885a3196e84e0e5c7f79b95b878bed7fbd738957df828b90c15401904755bb5cea5fa161086b3272f180b28a:891e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3f4041424344454647494a4b4c4d4e4f505152535455565758595a5b5c5d5e#5f606162636465666768696a6b6c6d6e6f7071727374757677787a7b7c7d7e7f80,6d745bd388d598848c6b9a6d9e336e0a51:a443,57a38881539f63f48f9556ed54585706733f6e907f188fdc82d1613f6028966266f07ea68d:8ac3,94a55cb37ca4670860a6960580184e9190e75300966851418fd08574915d665597f55b55531d78386742683d54c9707e5bb08f7d518d572854b1651266828d:5e43,810f846c906d7cdf51ff85fb67a365e96fa186a48e81566a90207682707671e58d2362e952196cfd8d3c600e589e618e66fe8d60624e55b36e23672d8f678a:81828384858687888b8c8d8e8f9091929495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2#c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3,94e195f87728680569a8548b4e4d70b88bc86458658b5b857a84503a5be877bb6be18a797c986cbe76cf65a98f975d2d5c5586386808536062187ad96e5b7efd6a1f7ae05f706f335f20638c6da867564e085e108d264ed780c07634969c62db662d627e6cbc8d7571677f695146808753ec906e629854f286f08f998005951785178fd96d5973cd659f771f7504782781fb8d1e94884fa6679575b98bca9707632f9547963584b8632377415f8172f04e896014657462ef6b63653f8a:e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,8b:0001020304050608090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20212223#24252728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445,5e2775c790d18bc1829d679d652f5431871877e580a281026c414e4b7ec7804c76f4690d6b966267503c4f84574063076b628dbe53ea65e87eb85fd763:1ab7,81:f3f4,7f6e5e1c5cd95236667a79e97a1a8d28709975d46ede6cbb7a924e2d76c55fe0949f88777ec879cd80bf91cd4ef24f17821f54685dde6d328bcc7ca58f7480985e1a549276b15b99663c9aa473e0682a86db6731732a8b:f8db,90107af970db716e62c477a956314e3b845767f152a986c08d2e94f87b518b:464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f6061626364656768696a6b6d6e6f707172737475767778797a7b7c7d7e7f80818283848586#8788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9facb1bbc7d0ea,8c:091e,4f4f6ce8795d9a7b6293722a62fd4e1378168f6c64b08d5a7bc668695e8488c55986649e58ee72b6690e95258ffd8d5857607f008c0651c6634962d95353684c74228301914c55447740707c6d4a517954a88d4459ff6ecb6dc45b5c7d2b4ed47c7d6ed35b5081ea6e0d5b579b0368d58e2a5b977efc603b7eb590b98d70594f63cd79df8db3535265cf79568bc5963b7ec494bb7e825634918967007f6a5c0a907566285de64f5067de505a4f5c57505e:a7#3$,8c:38393a3b3c3d3e3f4042434445484a4b4d4e4f5051525354565758595b5c5d5e5f60636465666768696c6d6e6f707172747576777b7c7d7e7f808183848687#888b8d8e8f90919293959697999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacad,4e:8d0c,51404e105eff53454e:15981e,9b325b6c56694e2879ba4e3f53154e47592d723b536e6c1056df80e499976bd3777e9f174e:369f,9f104e:5c6993,82885b5b556c560f4ec453:8d9da3a5ae,97658d5d53:1af5262e3e,8d5c53:6663,52:02080e2d333f404c5e615c,84af52:7d82819093,51827f544e:bbc3c9c2e8e1ebde,4f1b4ef34f:2264,4ef54f:2527092b5e67,65384f:5a5d,8c:aeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebec#edeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,8d:000102030405060708090a0b0c0d,4f:5f57323d76749189838f7e7baa7cac94e6e8eac5dae3dcd1dff8,50:294c,4ff350:2c0f2e2d,4ffe50:1c0c25287e4355484e6c7ba5a7a9bad6,510650:edece6ee,51:070b,4edd6c3d4f:5865ce,9fa06c467c74516e5dfd9ec999985181591452f9530d8a07531051eb591951554ea051564eb388:6ea4,4eb5811488d279805b3488037fb851:abb1bdbc,8d:0e0f101112131415161718191a1b1c205152575f6568696a6c6e6f717278797a7b7c7d7e7f808283868788898c8d8e8f90929395969798999a9b9c9d9ea0a1#a2a4a5a6a7a8a9aaabacadaeafb0b2b6b7b9bbbdc0c1c2c5c7c8c9cacdd0d2d3d4,51:c796a2a5,8b:a0a6a7aab4b5b7c2c3cbcfced2d3d4d6d8d9dcdfe0e4e8e9eef0f3f6f9fcff,8c:000204070c0f1112141516191b181d1f202125272a2b2e2f32333536,53:697a,96:1d2221312a3d3c4249545f676c7274888d97b0,90:979b9d99aca1b4b3b6ba,8d:d5d8d9dce0e1e2e5e6e7e9edeef0f1f2f4f6fcfeff,8e:00010203040607080b0d0e1011121315161718191a1b1c202124252627282b2d303233343637383b3c3e#3f4345464c4d4e4f505354555657585a5b5c5d5e5f60616263646567686a6b6e71,90:b8b0cfc5bed0c4c7d3e6e2dcd7dbebeffe,91:04221e23312f394346,520d594252:a2acadbe,54ff52:d0d6f0,53df71ee77cd5ef451:f5fc,9b2f53b65f01755a5def57:4ca9a1,58:7ebcc5d1,57:292c2a33392e2f5c3b4269856b867c7b686d7673ada48cb2cfa7b493a0d5d8dad9d2b8f4eff8e4dd,8e:73757778797a7b7d7e808283848688898a8b8c8d8e91929395969798999a9b9d9fa0a1a2a3a4a5a6a7a8a9aaadaeb0b1b3b4b5b6b7b8b9bbbcbdbebfc0c1c2#c3c4c5c6c7c8c9cacbcccdcfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4,58:0b0d,57:fded,58:001e194420656c81899a80,99a89f1961ff82:797d7f8f8aa8848e919799abb8beb0c8cae398b7aecbccc1a9b4a1aa9fc4cea4e1,830982:f7e4,83:0f07,82:dcf4d2d8,830c82:fbd3,83:111a061415,82:e0d5,83:1c515b5c08923c34319b5e2f4f47435f4017602d3a336665,8e:e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,8f:000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20212223#2425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f4041424344,83:681b696c6a6d6eb078b3b4a0aa939c857cb6a97db87b989ea8babcc1,840183:e5d8,580784:180b,83:ddfdd6,84:1c381106,83:d4df,84:0f03,83:f8f9eac5c0,842683:f0e1,84:5c515a597387887a89783c4669768c8e316dc1cdd0e6bdd3cabfbae0a1b9b497e5e3,850c750d853884f085:391f3a,8f:45464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f6061626364656a808c929da0a1a2a4a5a6a7aaacadaeafb2b3b4b5b7b8babbbcbfc0c3c6#c9cacbcccdcfd2d6d7dae0e1e3e7eceff1f2f4f5f6fafbfcfeff,90:07080c0e131518,85:563b,84:fffc,85:594868645e7a,77a285:43727ba4a8878f79ae9c85b9b7b0d3c1dcff,86:270529163c,5efe5f0859:3c41,803759:555a58,530f5c:22252c34,62:4c6a9fbbcadad7ee,632262f663:394b43adf6717a8eb46dac8a69aebcf2f8e0ffc4dece,645263:c6be,64:45410b1b200c26215e846d96,90:191c2324252728292a2b2c303132333437393a3d3f4043454648494a4b4c4e545556595a5c5d5e5f6061646667696a6b6c6f70717273767778797a7b7c7e81#84858687898a8c8d8e8f90929496989a9c9e9fa0a4a5a7a8a9abadb2b7bcbdbfc0,64:7ab7b899bac0d0d7e4e2,65:09252e,5f:0bd2,75195f1153:5ff1fde9e8fb,54:1216064b5253545643215759233282947771649a9b8476669dd0adc2b4d2a7a6d3d472a3d5bbbfccd9dadca9aaa4ddcfde,551b54e7552054fd551454f355:22230f11272a678fb5496d41553f503c,90:c2c3c6c8c9cbcccdd2d4d5d6d8d9dadedfe0e3e4e5e9eaeceef0f1f2f3f5f6f7f9fafbfcff,91:00010305060708090a0b0c0d0e0f1011121314151617181a1b1c#1d1f20212425262728292a2b2c2d2e30323334353637383a3b3c3d3e3f40414244,55:375675767733305c8bd283b1b988819f7ed6917bdfbdbe9499eaf7c9,561f55:d1ebecd4e6ddc4efe5f2f3cccde8f5e4,8f9456:1e080c012423,55fe56:00272d5839572c4d62595c4c548664716b7b7c8593afd4d7dde1f5ebf9ff,57:040a091c,5e:0f191411313b3c,91:454748515354555658595b5c5f606667686b6d737a7b7c808182838486888a8e8f939495969798999c9d9e9fa0a1a4a5a6a7a8a9abacb0b1b2b3b6b7b8b9bb#bcbdbebfc0c1c2c3c4c5c6c8cbd0d2d3d4d5d6d7d8d9dadbdddedfe0e1e2e3e4e5,5e:3744545b5e61,5c:8c7a8d9096889899919a9cb5a2bdacabb1a3c1b7c4d2e4cbe5,5d:020327262e241e061b583e343d6c5b6f5d6b4b4a697482999d,8c735d:b7c5,5f:73778287898c95999ca8adb5bc,88625f6172:adb0b4b7b8c3c1cecdd2e8efe9f2f4f7,730172f3730372fa91:e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,92:000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f2021222324#25262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445,72fb73:1713210a1e1d152239252c3831504d57606c6f7e,821b592598e759:2402,99:636768696a6b6c74777d8084878a8d9091939495,5e:80918b96a5a0b9b5beb3,8d535e:d2d1dbe8ea,81ba5f:c4c9d6cf,60035fee60045f:e1e4fe,60:0506,5f:eaedf8,60:1935261b0f0d292b0a3f2178797b7a42,92:464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f7071727375767778797a7b7c7d7e7f808182838485#868788898a8b8c8d8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7,60:6a7d969aad9d83928c9becbbb1ddd8c6dab4,61:20261523,60f461:000e2b4a75ac94a7b7d4f5,5fdd96b395:e9ebf1f3f5f6fcfe,96:030406080a0b0c0d0f12151617191a,4e2c723f62156c:35545c4aa38590948c6869747686a9d0d4adf7f8f1d7b2e0d6faebeeb1d3effe,92:a8a9aaabacadafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8#e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,93:00010203040506070809,6d:39270c43480704190e2b4d2e351a4f525433916f9ea05e93945c607c63,6e1a6d:c7c5de,6e0e6d:bfe0,6e116d:e6ddd9,6e166dab6e0c6dae6e:2b6e4e6bb25f865354322544dfb198e0,6f2d6e:e2a5a7bdbbb7d7b4cf8fc29f,6f:6246472415,6ef96f:2f364b742a0929898d8c78727c7ad1,93:0a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3f40414243444546474849#4a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696b,6f:c9a7b9b6c2e1eedee0ef,70:1a231b39354f5e,5b:80849593a5b8,752f9a9e64345b:e4ee,89305bf08e478b078f:b6d3d5e5eee4e9e6f3e8,90:05040b26110d162135362d2f445152506858625b,66b990:747d8288838b,5f:50575658,5c3b54ab5c:5059,5b715c:6366,7fbc5f:2a292d,82745f3c9b3b5c6e59:81838da9aaa3,93:6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaab#acadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cbcccd,59:97caab9ea4d2b2afd7be,5a:0506,59dd5a0859:e3d8f9,5a:0c09323411231340674a553c6275,80ec5a:aa9b777abeebb2d2d4b8e0e3f1d6e6d8dc,5b:091716323740,5c:151c,5b:5a6573515362,9a:7577787a7f7d808185888a90929396989b9c9d9fa0a2a3a5a7,7e:9fa1a3a5a8a9,93:cecfd0d1d2d3d4d5d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,94:000102030405060708090a0b0c0d#0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e,7e:adb0bec0c1c2c9cbccd0d4d7dbe0e1e8ebeeeff1f2,7f0d7e:f6fafbfe,7f:01020307080b0c0f111217191c1b1f212223242526272a2b2c2d2f3031323335,5e7a757f5ddb753e909573:8e91aea29fcfc2d1b7b3c0c9c8e5d9,987c740a73:e9e7debaf2,74:0f2a5b262528302e2c,94:2f303132333435363738393a3b3c3d3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6c6d6e6f#707172737475767778797a7b7c7d7e7f8081828384919698c7cfd3d4dae6fb,95:1c20,74:1b1a415c575559776d7e9c8e8081878b9ea8a990a7d2ba,97:eaebec,67:4c535e4869a5876a7398a775a89ead8b777cf0,680967d8680a67:e9b0,680c67:d9b5dab3dd,680067:c3b8e2,680e67:c1fd,68:323360614e624464831d55664167403e4a4929b58f7477936bc2,696e68fc69:1f20,68f995:27333d43484b555a606e74757778797a7b7c7d7e808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aa#abacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacb,692468f069:0b0157,68e369:10713960425d846b80987834cc8788ce896663799ba7bbabadd4b1c1cadf95e08dff,6a2f69ed6a:171865,69f26a:443ea0505b358e793d28587c9190a997ab,73:3752,6b:8182878492938d9a9ba1aa,8f:6b6d71727375767877797a7c7e818284878b,95:cccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7ecff,96:0713181b1e20232425262728292b2c2d2f303738393a3e41434a4e4f5152535657#58595a5c5d5e606365666b6d6e6f70717378797a7b7c7d7e7f808182838487898a,8f:8d8e8f989a,8ece62:0b171b1f222125242c,81e774:eff4ff,75:0f1113,65:34eeeff0,66:0a19,677266:031500,708566:f71d34313635,800666:5f54414f56615777848ca79dbedbdce6e9,8d:3233363b3d4045464849474d5559,89:c7cacbcccecfd0d1,72:6e9f5d666f7e7f848b8d8f92,63:0832b0,96:8c8e91929395969a9b9d9e9fa0a1a2a3a4a5a6a8a9aaabacadaeafb1b2b4b5b7b8babbbfc2c3c8cacbd0d1d3d4d6d7d8d9dadbdcdddedfe1e2e3e4e5e6e7eb#ecedeef0f1f2f4f5f8fafbfcfdff,97:0203050a0b0c10111214151718191a1b1d1f20,64:3fd8,80046b:eaf3fdf5f9,6c:0507060d1518191a2129242a32,65:35556b,72:4d525630,8662521680:9f9c93bc,670a80:bdb1abadb4b7e7e8e9eadbc2c4d9cdd7,671080:ddebf1f4ed,81:0d0e,80:f2fc,671581128c5a81:361e2c1832484c5374595a7160697c7d6d67,584d5ab581:888291,6ed581:a3aacc,672681:cabb,97:2122232425262728292b2c2e2f3133343536373a3b3c3d3f404142434445464748494a4b4c4d4e4f5051545557585a5c5d5f63646667686a6b6c6d6e6f7071#72757778797a7b7d7e7f8081828384868788898a8c8e8f9093959697999a9b9c9d,81:c1a6,6b:243739434659,98:d1d2d3d5d9da,6bb35f406bc289f365909f5165:93bcc6c4c3ccced2d6,70:809c969dbbc0b7abb1e8ca,71:1013162f31735c6845724a787a98b3b5a8a0e0d4e7f9,72:1d28,706c71:1866b9,62:3e3d434849,79:3b4046495b5c535a6257606f677a858a9aa7b3,5f:d1d0,97:9e9fa1a2a4a5a6a7a8a9aaacaeb0b1b3b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3#e4e5e8eeeff0f1f2f4f7f8f9fafbfcfdfeff,98:000102030405060708090a0b0c0d0e,60:3c5d5a67415963ab,61:060d5da99dcbd1,620680:807f,6c:93f6,6dfc77:f6f8,78:0009171811,65ab78:2d1c1d393a3b1f3c252c23294e6d56572650474c6a9b939a879ca1a3b2b9a5d4d9c9ecf2,790578f479:13241e34,9f9b9e:f9fbfc,76f177:040d,76f977:07081a22192d263538505147435a68,98:0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d#4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e,77:62657f8d7d808c919fa0b0b5bd,75:3a404e4b485b727983,7f:58615f,8a487f:68747179817e,76:cde5,883294:8586878b8a8c8d8f909497959a9b9ca3a4abaaadacafb0b2b4b6b7b8b9babcbdbfc4c8c9cacbcccdced0d1d2d5d6d7d9d8dbdedfe0e2e4e5e7e8ea,98:6f70717273748b8e929599a3a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcfd0d4d6d7dbdcdde0e1e2e3e4#e5e6e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,99:0001020304050607,94:e9ebeeeff3f4f5f7f9fcfdff,95:03020607090a0d0e0f1213141516181b1d1e1f222a2b292c3132343637383c3e3f4235444546494c4e4f525354565758595b5e5f5d61626465666768696a6b6c6f7172733a,77:e7ec,96c979:d5ede3eb,7a065d477a:03021e14,99:08090a0b0c0e0f1112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2f303132333435363738393a3b3c3d3e3f40414243444546474849#4a4b4c4d4e4f50515253565758595a5b5c5d5e5f60616264667378797b7e828389,7a:393751,9ecf99a57a7076:888e9399a4,74:dee0,752c9e:202228292a2b2c3231363837393a3e414244464748494b4c4e5155575a5b5c5e63666768696a6b6c716d73,75:929496a09daca3b3b4b8c4b1b0c3c2d6cde3e8e6e4ebe7,760375:f1fcff,76:1000050c170a25181519,99:8c8e9a9b9c9d9e9fa0a1a2a3a4a6a7a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8#d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9,76:1b3c2220402d303f35433e334d5e545c566b6f,7fca7a:e6787980868895a6a0aca8adb3,88:6469727d7f82a2c6b7bcc9e2cee3e5f1,891a88:fce8fef0,89:2119131b0a342b3641667b,758b80e576:b2b4,77dc80:1214161c20222526272928310b3543464d526971,898398:788083,99:fafbfcfdfeff,9a:000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738#393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f50515253545556575859,98:898c8d8f949a9b9e9fa1a2a5a6,86:4d546c6e7f7a7c7ba88d8bac9da7a3aa93a9b6c4b5ceb0bab1afc9cfb4e9f1f2edf3d0,871386:def4dfd8d1,87:0307,86f887:080a0d09233b1e252e1a3e48343129373f82227d7e7b60704c6e8b53637c64596593afa8d2,9a:5a5b5c5d5e5f606162636465666768696a6b7283898d8e949599a6a9aaabacadaeafb2b3b4b5b9bbbdbebfc3c4c6c7c8c9cacdcecfd0d2d4d5d6d7d9dadbdc#dddee0e2e3e4e5e7e8e9eaeceef0f1f2f3f4f5f6f7f8fafcfdfeff,9b:000102040506,87:c68885ad9783abe5acb5b3cbd3bdd1c0cadbeae0ee,88:1613,87fe88:0a1b21393c,7f:36424445,82107a:fafd,7b:080304150a2b0f47382a192e31202524333e1e585a45754c5d606e7b62727190a6a7b8ac9da885aa9ca2abb4d1c1ccdddae5e6ea,7c0c7b:fefc,7c:0f160b,9b:07090a0b0c0d0e1011121415161718191a1b1c1d1e2021222425262728292a2b2c2d2e3031333435363738393a3d3e3f40464a4b4c4e50525355565758595a#5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b,7c:1f2a26384140,81fe82:010204,81ec884482:2122232d2f282b383b33343e44494b4f5a5f68,88:7e8588d8df,895e7f:9d9fa7afb0b2,7c7c65497c:919d9c9ea2b2bcbdc1c7cccdc8c5d7e8,826e66a87f:bfced5e5e1e6e9eef3,7cf87d:77a6ae,7e:479b,9e:b8b4,8d:73849491b1676d,8c:4749,91:4a504e4f64,9b:7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9ba#bbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadb,91:626170696f7d7e7274798c85908d91a2a3aaadaeafb5b4ba,8c559e7e8d:b8eb,8e:055969,8d:b5bfbcbac4d6d7dadececfdbc6ecf7f8e3f9fbe4,8e098dfd8e:141d1f2c2e232f3a4039353d3149414251524a70767c6f74858f94909c9e,8c:78828a859894,659b89:d6dedadc,9b:dcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,9c:000102030405060708090a0b0c0d0e0f101112131415161718191a#1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b,89:e5ebef,8a3e8b26975396:e9f3ef,97:0601080f0e2a2d303e,9f:808385868788898a8c,9efe9f:0b0d,96:b9bcbdced2,77bf96e092:8eaec8,93:3e6aca8f,94:3e6b,9c:7f8285868788,7a239c:8b8e90919294959a9b9e9fa0a1a2a3a5a6a7a8a9abadaeb0b1b2b3b4b5b6b7babbbcbdc4c5c6c7cacb3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a#7b7d7e808384898a8c8f93969798999daaacafb9bebfc0c1c2c8c9d1d2dadbe0e1cccdcecfd0d3d4d5d7d8d9dcdddfe2,97:7c85919294afaba3b2b4,9a:b1b0b7,9e589a:b6babcc1c0c5c2cbccd1,9b:45434749484d51,98e899:0d2e5554,9a:dfe1e6efebfbedf9,9b:080f131f23,9e:bdbe,7e3b9e:8287888b92,93d69e:9d9fdbdcdde0dfe2e9e7e5eaef,9f:222c2f39373d3e44,9c:e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,9d:000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f2021#22232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142#92$434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f8081#82838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2#92$a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1#e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,9e:000102#92$030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e24272e30343b3c404d5052535456595d5f606162656e6f727475767778797a7b7c7d80#8183848586898a8c8d8e8f90919495969798999a9b9c9ea0a1a2a3a4a5a7a8a9aa#92$abacadaeafb0b1b2b3b5b6b7b9babcbfc0c1c2c3c5c6c7c8cacbccd0d2d3d5d6d7d9dadee1e3e4e6e8ebecedeef0f1f2f3f4f5f6f7f8fafdff,9f:000102030405#060708090a0c0f1112141516181a1b1c1d1e1f21232425262728292a2b2d2e3031#92$3233343536383a3c3f4041424345464748494a4b4c4d4e4f52535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778#797a7b7c7d7e81828d8e8f9091929394959697989c9d9ea1a2a3a4a5,f9:2c7995e7f1#92$,fa:0c0d0e0f111314181f20212324272829,e8:15161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f40414243#4445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f6061626364'), + U2Ghash = {}, + G2Uhash = {}; + ! function(data) { + var k = 0; + data = data.match(/..../g); + for (var i = 0x81; i <= 0xfe; i++) { + for (var j = 0x40; j <= 0xFE; j++) { + U2Ghash[data[k++]] = ('%' + i.toString(16) + '%' + j.toString(16)) + .toUpperCase(); + } + } + for (var key in U2Ghash) { + G2Uhash[U2Ghash[key]] = key; + } + }(data); + + function isAscii(unicode) { + return ((unicode == 0x20AC) || (unicode <= 0x007F && unicode >= 0x0000)); + } + + return { + encode: function(str) { + return str.replace(/./g, function(a) { + var code = a.charCodeAt(0); + if (isAscii(code)) { + return encodeURIComponent(a); + } else { + var key = code.toString(16); + if (key.length != 4) key = ('000' + key).match(/....$/)[0]; + return U2Ghash[key] || a; + } + }); + }, + decode: function(str) { + return str.replace(/%[0-9A-F]{2}%[0-9A-F]{2}/g, function(a) { + if (a in G2Uhash) { + return String.fromCharCode('0x' + G2Uhash[a]); + } else { + return a; + } + }).replace(/%[\w]{2}/g, function(a) { + return decodeURIComponent(a); + + }); + } + }; +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/少儿频道/api/模板.js b/tvboxqq/tvboxqq/少儿频道/api/模板.js new file mode 100644 index 0000000..3801833 --- /dev/null +++ b/tvboxqq/tvboxqq/少儿频道/api/模板.js @@ -0,0 +1,301 @@ +if (typeof Object.assign != 'function') { + Object.assign = function () { + var target = arguments[0]; + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i]; + for (var key in source) { + if (Object.prototype.hasOwnProperty.call(source, key)) { + target[key] = source[key]; + } + } + } + return target; +}; +} +function getMubans() { + var mubanDict = { // 模板字典 + mxpro: { + title: '', + host: '', + // homeUrl:'/', + url: '/vodshow/fyclass--------fypage---.html', + searchUrl: '/vodsearch/**----------fypage---.html', + searchable: 2,//是否启用全局搜索, + quickSearch: 0,//是否启用快速搜索, + filterable: 0,//是否启用分类筛选, + headers: {//网站的请求头,完整支持所有的,常带ua和cookies + 'User-Agent': 'MOBILE_UA', + // "Cookie": "searchneed=ok" + }, + class_parse: '.navbar-items li:gt(2):lt(8);a&&Text;a&&href;/(\\d+).html', + play_parse: true, + lazy: '', + limit: 6, + 推荐: '.tab-list.active;a.module-poster-item.module-item;.module-poster-item-title&&Text;.lazyload&&data-original;.module-item-note&&Text;a&&href', + double: true, // 推荐内容是否双层定位 + 一级: 'body a.module-poster-item.module-item;a&&title;.lazyload&&data-original;.module-item-note&&Text;a&&href', + 二级: { + "title": "h1&&Text;.module-info-tag&&Text", + "img": ".lazyload&&data-original", + "desc": ".module-info-item:eq(1)&&Text;.module-info-item:eq(2)&&Text;.module-info-item:eq(3)&&Text", + "content": ".module-info-introduction&&Text", + "tabs": ".module-tab-item", + "lists": ".module-play-list:eq(#id) a" + }, + 搜索: 'body .module-item;.module-card-item-title&&Text;.lazyload&&data-original;.module-item-note&&Text;a&&href;.module-info-item-content&&Text', + }, + mxone5: { + title: '', + host: '', + url: '/show/fyclass--------fypage---.html', + searchUrl: '/search/**----------fypage---.html', + searchable: 2,//是否启用全局搜索, + quickSearch: 0,//是否启用快速搜索, + filterable: 0,//是否启用分类筛选, + class_parse: '.nav-menu-items&&li;a&&Text;a&&href;.*/(.*?).html', + play_parse: true, + lazy: '', + limit: 6, + 推荐: '.module-list;.module-items&&.module-item;a&&title;img&&data-src;.module-item-text&&Text;a&&href', + double: true, // 推荐内容是否双层定位 + 一级: '.module-items .module-item;a&&title;img&&data-src;.module-item-text&&Text;a&&href', + 二级: { + "title": "h1&&Text;.tag-link&&Text", + "img": ".module-item-pic&&img&&data-src", + "desc": ".video-info-items:eq(0)&&Text;.video-info-items:eq(1)&&Text;.video-info-items:eq(2)&&Text;.video-info-items:eq(3)&&Text", + "content": ".vod_content&&Text", + "tabs": ".module-tab-item", + "lists": ".module-player-list:eq(#id)&&.scroll-content&&a" + }, + 搜索: '.module-items .module-search-item;a&&title;img&&data-src;.video-serial&&Text;a&&href', + }, + 首图: { + title: '', + host: '', + url: '/vodshow/fyclass--------fypage---/', + searchUrl: '/vodsearch/**----------fypage---.html', + searchable: 2,//是否启用全局搜索, + quickSearch: 0,//是否启用快速搜索, + filterable: 0,//是否启用分类筛选, + headers: {//网站的请求头,完整支持所有的,常带ua和cookies + 'User-Agent': 'MOBILE_UA', + // "Cookie": "searchneed=ok" + }, + class_parse: '.myui-header__menu li.hidden-sm:gt(0):lt(5);a&&Text;a&&href;/(\\d+).html', + play_parse: true, + lazy: '', + limit: 6, + 推荐: 'ul.myui-vodlist.clearfix;li;a&&title;a&&data-original;.pic-text&&Text;a&&href', + double: true, // 推荐内容是否双层定位 + 一级: '.myui-vodlist li;a&&title;a&&data-original;.pic-text&&Text;a&&href', + 二级: { + "title": ".myui-content__detail .title&&Text;.myui-content__detail p:eq(-2)&&Text", + "img": ".myui-content__thumb .lazyload&&data-original", + "desc": ".myui-content__detail p:eq(0)&&Text;.myui-content__detail p:eq(1)&&Text;.myui-content__detail p:eq(2)&&Text", + "content": ".content&&Text", + "tabs": ".nav-tabs:eq(0) li", + "lists": ".myui-content__list:eq(#id) li" + }, + 搜索: '#searchList li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text', + }, + 首图2: { + title: '', + host: '', + url: '/list/fyclass-fypage.html', + searchUrl: '/vodsearch/**----------fypage---.html', + searchable: 2,//是否启用全局搜索, + quickSearch: 0,//是否启用快速搜索, + filterable: 0,//是否启用分类筛选, + headers: { + 'User-Agent': 'UC_UA', + // "Cookie": "" + }, + // class_parse:'.stui-header__menu li:gt(0):lt(7);a&&Text;a&&href;/(\\d+).html', + class_parse: '.stui-header__menu li:gt(0):lt(7);a&&Text;a&&href;.*/(.*?).html', + play_parse: true, + lazy: '', + limit: 6, + 推荐: 'ul.stui-vodlist.clearfix;li;a&&title;.lazyload&&data-original;.pic-text&&Text;a&&href', + double: true, // 推荐内容是否双层定位 + 一级: '.stui-vodlist li;a&&title;a&&data-original;.pic-text&&Text;a&&href', + 二级: { + "title": ".stui-content__detail .title&&Text;.stui-content__detail p:eq(-2)&&Text", + "img": ".stui-content__thumb .lazyload&&data-original", + "desc": ".stui-content__detail p:eq(0)&&Text;.stui-content__detail p:eq(1)&&Text;.stui-content__detail p:eq(2)&&Text", + "content": ".detail&&Text", + "tabs": ".stui-vodlist__head h3", + "lists": ".stui-content__playlist:eq(#id) li" + }, + 搜索: 'ul.stui-vodlist__media:eq(0) li,ul.stui-vodlist:eq(0) li,#searchList li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text', + 搜索1: 'ul.stui-vodlist&&li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text', + 搜索2: 'ul.stui-vodlist__media&&li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text', + }, + 默认: { + title: '', + host: '', + url: '/vodshow/fyclass--------fypage---.html', + searchUrl: '/vodsearch/-------------.html?wd=**', + searchable: 2,//是否启用全局搜索, + quickSearch: 0,//是否启用快速搜索, + filterable: 0,//是否启用分类筛选, + headers: { + 'User-Agent': 'MOBILE_UA', + }, + play_parse: true, + lazy: '', + limit: 6, + double: true, // 推荐内容是否双层定位 + }, + vfed: { + title: '', + host: '', + url: '/index.php/vod/show/id/fyclass/page/fypage.html', + searchUrl: '/index.php/vod/search/page/fypage/wd/**.html', + searchable: 2,//是否启用全局搜索, + quickSearch: 0,//是否启用快速搜索, + filterable: 0,//是否启用分类筛选, + headers: { + 'User-Agent': 'UC_UA', + }, + // class_parse:'.fed-pops-navbar&&ul.fed-part-rows&&a.fed-part-eone:gt(0):lt(5);a&&Text;a&&href;.*/(.*?).html', + class_parse: '.fed-pops-navbar&&ul.fed-part-rows&&a;a&&Text;a&&href;.*/(.*?).html', + play_parse: true, + lazy: '', + limit: 6, + 推荐: 'ul.fed-list-info.fed-part-rows;li;a.fed-list-title&&Text;a&&data-original;.fed-list-remarks&&Text;a&&href', + double: true, // 推荐内容是否双层定位 + 一级: '.fed-list-info&&li;a.fed-list-title&&Text;a&&data-original;.fed-list-remarks&&Text;a&&href', + 二级: { + "title": "h1.fed-part-eone&&Text;.fed-deta-content&&.fed-part-rows&&li&&Text", + "img": ".fed-list-info&&a&&data-original", + "desc": ".fed-deta-content&&.fed-part-rows&&li:eq(1)&&Text;.fed-deta-content&&.fed-part-rows&&li:eq(2)&&Text;.fed-deta-content&&.fed-part-rows&&li:eq(3)&&Text", + "content": ".fed-part-esan&&Text", + "tabs": ".fed-drop-boxs&&.fed-part-rows&&li", + "lists": ".fed-play-item:eq(#id)&&ul:eq(1)&&li" + }, + 搜索: '.fed-deta-info;h1&&Text;.lazyload&&data-original;.fed-list-remarks&&Text;a&&href;.fed-deta-content&&Text', + }, + 海螺3: { + title: '', + host: '', + searchUrl: '/v_search/**----------fypage---.html', + url: '/vod_____show/fyclass--------fypage---.html', + headers: { + 'User-Agent': 'MOBILE_UA' + }, + timeout: 5000, + class_parse: 'body&&.hl-nav li:gt(0);a&&Text;a&&href;.*/(.*?).html', + cate_exclude: '明星|专题|最新|排行', + limit: 40, + play_parse: true, + lazy: '', + 推荐: '.hl-vod-list;li;a&&title;a&&data-original;.remarks&&Text;a&&href', + double: true, + 一级: '.hl-vod-list&&.hl-list-item;a&&title;a&&data-original;.remarks&&Text;a&&href', + 二级: { + "title": ".hl-infos-title&&Text;.hl-text-conch&&Text", + "img": ".hl-lazy&&data-original", + "desc": ".hl-infos-content&&.hl-text-conch&&Text", + "content": ".hl-content-text&&Text", + "tabs": ".hl-tabs&&a", + "lists": ".hl-plays-list:eq(#id)&&li" + }, + 搜索: '.hl-list-item;a&&title;a&&data-original;.remarks&&Text;a&&href', + searchable: 2,//是否启用全局搜索, + quickSearch: 0,//是否启用快速搜索, + filterable: 0,//是否启用分类筛选, + }, + 海螺2: { + title: '', + host: '', + searchUrl: '/index.php/vod/search/page/fypage/wd/**/', + url: '/index.php/vod/show/id/fyclass/page/fypage/', + headers: { + 'User-Agent': 'MOBILE_UA' + }, + timeout: 5000, + class_parse: '#nav-bar li;a&&Text;a&&href;id/(.*?)/', + limit: 40, + play_parse: true, + lazy: '', + 推荐: '.list-a.size;li;a&&title;.lazy&&data-original;.bt&&Text;a&&href', + double: true, + 一级: '.list-a&&li;a&&title;.lazy&&data-original;.list-remarks&&Text;a&&href', + 二级: { + "title": "h2&&Text;.deployment&&Text", + "img": ".lazy&&data-original", + "desc": ".deployment&&Text", + "content": ".ec-show&&Text", + "tabs": "#tag&&a", + "lists": ".play_list_box:eq(#id)&&li" + }, + 搜索: '.search-list;a&&title;.lazy&&data-original;.deployment&&Text;a&&href', + searchable: 2,//是否启用全局搜索, + quickSearch: 0,//是否启用快速搜索, + filterable: 0,//是否启用分类筛选, + }, + 短视: { + title: '', + host: '', + // homeUrl:'/', + url: '/channel/fyclass-fypage.html', + searchUrl: '/search.html?wd=**', + searchable: 2,//是否启用全局搜索, + quickSearch: 0,//是否启用快速搜索, + filterable: 0,//是否启用分类筛选, + headers: {//网站的请求头,完整支持所有的,常带ua和cookies + 'User-Agent': 'MOBILE_UA', + // "Cookie": "searchneed=ok" + }, + class_parse: '.menu_bottom ul li;a&&Text;a&&href;.*/(.*?).html', + cate_exclude: '解析|动态', + play_parse: true, + lazy: '', + limit: 6, + 推荐: '.indexShowBox;ul&&li;a&&title;img&&data-src;.s1&&Text;a&&href', + double: true, // 推荐内容是否双层定位 + 一级: '.pic-list&&li;a&&title;img&&data-src;.s1&&Text;a&&href', + 二级: { + "title": "h1&&Text;.content-rt&&p:eq(0)&&Text", + "img": ".img&&img&&data-src", + "desc": ".content-rt&&p:eq(1)&&Text;.content-rt&&p:eq(2)&&Text;.content-rt&&p:eq(3)&&Text;.content-rt&&p:eq(4)&&Text;.content-rt&&p:eq(5)&&Text", + "content": ".zkjj_a&&Text", + "tabs": ".py-tabs&&option", + "lists": ".player:eq(#id) li" + }, + 搜索: '.sr_lists&&ul&&li;h3&&Text;img&&data-src;.int&&p:eq(0)&&Text;a&&href', + }, + 短视2:{ + title: '', + host: '', + class_name:'电影&电视剧&综艺&动漫', + class_url:'1&2&3&4', + searchUrl: '/index.php/ajax/suggest?mid=1&wd=**', + searchable: 2, + quickSearch: 0, + headers:{'User-Agent':'MOBILE_UA'}, + url: '/index.php/api/vod#type=fyclass&page=fypage', + filterable:0,//是否启用分类筛选, + filter_url:'', + filter: {}, + filter_def:{}, + detailUrl:'/index.php/vod/detail/id/fyid.html', + 推荐:'.list-vod.flex .public-list-box;a&&title;.lazy&&data-original;.public-list-prb&&Text;a&&href', + 一级:'js:let body=input.split("#")[1];let t=Math.round(new Date/1e3).toString();let key=md5("DS"+t+"DCC147D11943AF75");let url=input.split("#")[0];body=body+"&time="+t+"&key="+key;print(body);fetch_params.body=body;let html=post(url,fetch_params);let data=JSON.parse(html);VODS=data.list.map(function(it){it.vod_pic=urljoin2(input.split("/i")[0],it.vod_pic);return it});', + 二级:{ + "title":".slide-info-title&&Text;.slide-info:eq(3)--strong&&Text", + "img":".detail-pic&&data-original", + "desc":".fraction&&Text;.slide-info-remarks:eq(1)&&Text;.slide-info-remarks:eq(2)&&Text;.slide-info:eq(2)--strong&&Text;.slide-info:eq(1)--strong&&Text", + "content":"#height_limit&&Text", + "tabs":".anthology.wow.fadeInUp.animated&&.swiper-wrapper&&a", + "tab_text":".swiper-slide&&Text", + "lists":".anthology-list-box:eq(#id) li" + }, + 搜索:'json:list;name;pic;;id', + } + }; + return JSON.parse(JSON.stringify(mubanDict)); +} +var mubanDict = getMubans(); +var muban = getMubans(); +export default {muban,getMubans}; \ No newline at end of file diff --git a/tvboxqq/tvboxqq/少儿频道/jars/csp_XYQHiker_兔小贝.jar b/tvboxqq/tvboxqq/少儿频道/jars/csp_XYQHiker_兔小贝.jar new file mode 100644 index 0000000..5b6aa6d Binary files /dev/null and b/tvboxqq/tvboxqq/少儿频道/jars/csp_XYQHiker_兔小贝.jar differ diff --git a/tvboxqq/tvboxqq/少儿频道/js/优酷.js b/tvboxqq/tvboxqq/少儿频道/js/优酷.js new file mode 100644 index 0000000..745dbee --- /dev/null +++ b/tvboxqq/tvboxqq/少儿频道/js/优酷.js @@ -0,0 +1,39 @@ +var rule = { + title:'优酷', + host:'https://www.%79%6f%75%6b%75.com', + homeUrl:'', + searchUrl:'https://search.%79%6f%75%6b%75.com/api/search?pg=fypage&keyword=**', + searchable:2, + quickSearch:0, + filterable:1, + multi:1, + // 分类链接fypage参数支持1个()表达式 + url:'/category/data?optionRefresh=1&pageNo=fypage¶ms=fyfilter', + // url:'/category/data?pageNo=fypage¶ms=fyfilter', + // filter_url:'&u=fyarea&s=fyyear={{fl.order}}', + // filter_url:'{{fl|safe}}', + filter_url:'{{fl}}', + // filter_url:'{{fl}}', + // filter_url:'{{fl}}', + filter:{"电视剧": [{"key": "main_area", "name": "全部地区", "value": [{"n": "全部地区", "v": ""}, {"n": "内地剧", "v": "中国内地"}, {"n": "港剧", "v": "中国香港"}, {"n": "台剧", "v": "中国台湾"}, {"n": "韩剧", "v": "韩国"}, {"n": "美剧", "v": "美国"}, {"n": "英剧", "v": "英国"}, {"n": "日剧", "v": "日本"}, {"n": "泰剧", "v": "泰国"}]}, {"key": "tags", "name": "全部类型", "value": [{"n": "全部类型", "v": ""}, {"n": "青春", "v": "青春"}, {"n": "古装", "v": "古装"}, {"n": "爱情", "v": "爱情"}, {"n": "都市", "v": "都市"}, {"n": "喜剧", "v": "喜剧,搞笑"}, {"n": "战争", "v": "战争"}, {"n": "军旅", "v": "军旅"}, {"n": "谍战", "v": "谍战"}, {"n": "偶像", "v": "偶像"}, {"n": "警匪", "v": "警匪"}, {"n": "冒险", "v": "冒险"}, {"n": "穿越", "v": "穿越"}, {"n": "仙侠", "v": "仙侠"}, {"n": "武侠", "v": "武侠"}, {"n": "悬疑", "v": "悬疑"}, {"n": "罪案", "v": "罪案"}, {"n": "家庭", "v": "家庭"}, {"n": "历史", "v": "历史"}, {"n": "年代", "v": "年代"}, {"n": "农村", "v": "农村"}]}, {"key": "year", "name": "全部年份", "value": [{"n": "全部年份", "v": ""}, {"n": "2022", "v": "2022"}, {"n": "2021", "v": "2021"}, {"n": "2020", "v": "2020"}, {"n": "2019", "v": "2019"}, {"n": "2018", "v": "2018"}, {"n": "2017", "v": "2017"}, {"n": "2016", "v": "2016"}, {"n": "2015", "v": "2015"}, {"n": "2014-2011", "v": "2011-2014"}, {"n": "更早", "v": "-2010"}]}, {"key": "status", "name": "全部规格", "value": [{"n": "全部规格", "v": ""}, {"n": "全网独播", "v": "1"}, {"n": "优酷自制", "v": "2"}, {"n": "已完结", "v": "3"}, {"n": "即将上线", "v": "4"}, {"n": "短剧", "v": "5"}]}, {"key": "pay_type", "name": "付费类型", "value": [{"n": "付费类型", "v": ""}, {"n": "免费", "v": "0"}, {"n": "VIP", "v": "2"}, {"n": "付费", "v": "1"}]}, {"key": "sort", "name": "综合排序", "value": [{"n": "综合排序", "v": ""}, {"n": "热度最高", "v": "7"}, {"n": "最新上线", "v": "1"}, {"n": "最好评", "v": "3"}, {"n": "最多播放", "v": "2"}]}], "电影": [{"key": "main_area", "name": "全部地区", "value": [{"n": "全部地区", "v": ""}, {"n": "内地", "v": "中国内地"}, {"n": "中国香港", "v": "中国香港"}, {"n": "中国台湾", "v": "中国台湾"}, {"n": "美国", "v": "美国"}, {"n": "印度", "v": "印度"}, {"n": "日韩", "v": "韩国,日本"}, {"n": "泰国", "v": "泰国"}, {"n": "欧洲", "v": "欧洲"}]}, {"key": "tags", "name": "全部类型", "value": [{"n": "全部类型", "v": ""}, {"n": "喜剧", "v": "喜剧,搞笑"}, {"n": "动作", "v": "动作"}, {"n": "怪兽", "v": "怪兽"}, {"n": "战争", "v": "战争"}, {"n": "爱情", "v": "爱情"}, {"n": "悬疑", "v": "悬疑"}, {"n": "武侠", "v": "武侠"}, {"n": "奇幻", "v": "奇幻"}, {"n": "科幻", "v": "科幻"}, {"n": "冒险", "v": "冒险"}, {"n": "警匪", "v": "警匪"}, {"n": "动画", "v": "动画"}, {"n": "惊悚", "v": "惊悚"}, {"n": "犯罪", "v": "犯罪"}, {"n": "恐怖", "v": "恐怖"}, {"n": "剧情", "v": "剧情"}, {"n": "历史", "v": "历史"}, {"n": "纪录片", "v": "纪录片"}, {"n": "传记", "v": "传记"}, {"n": "歌舞", "v": "歌舞"}, {"n": "短片", "v": "短片"}, {"n": "其他", "v": "其他"}]}, {"key": "source", "name": "全部规格", "value": [{"n": "全部规格", "v": ""}, {"n": "院线", "v": "1"}, {"n": "网络电影", "v": "0"}, {"n": "独播", "v": "2"}, {"n": "高清修复", "v": "3"}, {"n": "1080P", "v": "4"}]}, {"key": "year", "name": "全部年份", "value": [{"n": "全部年份", "v": ""}, {"n": "2022", "v": "2022"}, {"n": "2021", "v": "2021"}, {"n": "2020", "v": "2020"}, {"n": "2019", "v": "2019"}, {"n": "2018", "v": "2018"}, {"n": "2017", "v": "2017"}, {"n": "2016", "v": "2016"}, {"n": "2015", "v": "2015"}, {"n": "2014-2010", "v": "2010-2014"}, {"n": "2009-2000", "v": "2000-2009"}, {"n": "90年代", "v": "1990-1999"}, {"n": "80年代", "v": "1980-1989"}, {"n": "70年代", "v": "1970-1979"}, {"n": "更早", "v": "-1969"}]}, {"key": "pay_type", "name": "付费类型", "value": [{"n": "付费类型", "v": ""}, {"n": "免费", "v": "0"}, {"n": "会员", "v": "2"}, {"n": "点播", "v": "1"}]}, {"key": "sort", "name": "综合排序", "value": [{"n": "综合排序", "v": ""}, {"n": "热度最高", "v": "7"}, {"n": "最多播放", "v": "2"}, {"n": "最新上线", "v": "1"}, {"n": "最好评", "v": "3"}]}, {"key": "tag_label_name", "name": "为你推荐", "value": [{"n": "为你推荐", "v": ""}, {"n": "高分必看", "v": "高分必看"}, {"n": "卖座电影", "v": "卖座电影"}, {"n": "小说改编", "v": "小说改编"}, {"n": "铁血硬汉", "v": "铁血硬汉"}, {"n": "视效大片", "v": "视效大片"}, {"n": "漫画改编", "v": "漫画改编"}, {"n": "绝地求生", "v": "绝地求生"}, {"n": "真人真事改编", "v": "真人真事改编"}, {"n": "范伟", "v": "范伟"}, {"n": "火爆枪战", "v": "火爆枪战"}, {"n": "影史经典", "v": "影史经典"}, {"n": "拯救世界", "v": "拯救世界"}, {"n": "万茜", "v": "万茜"}, {"n": "马思纯", "v": "马思纯"}, {"n": "王俊凯", "v": "王俊凯"}, {"n": "豪华阵容", "v": "豪华阵容"}, {"n": "李玉", "v": "李玉"}, {"n": "无厘头喜剧", "v": "无厘头喜剧"}, {"n": "超能力", "v": "超能力"}, {"n": "欢喜搭档", "v": "欢喜搭档"}]}], "综艺": [{"key": "main_area", "name": "全部地区", "value": [{"n": "全部地区", "v": ""}, {"n": "内地", "v": "中国内地"}, {"n": "中国台湾", "v": "中国台湾"}, {"n": "美国", "v": "美国"}, {"n": "英国", "v": "英国"}]}, {"key": "tags", "name": "全部类型", "value": [{"n": "全部类型", "v": ""}, {"n": "偶像", "v": "偶像"}, {"n": "舞蹈", "v": "舞蹈"}, {"n": "音乐", "v": "音乐"}, {"n": "情感", "v": "情感"}, {"n": "喜剧", "v": "喜剧,搞笑"}, {"n": "体育", "v": "体育"}, {"n": "游戏", "v": "游戏"}, {"n": "相声", "v": "相声"}, {"n": "婚恋", "v": "婚恋"}, {"n": "时尚", "v": "时尚"}, {"n": "晚会", "v": "晚会"}, {"n": "明星访谈", "v": "明星访谈"}, {"n": "亲子", "v": "亲子"}, {"n": "生活", "v": "生活"}, {"n": "文化", "v": "文化"}, {"n": "美食", "v": "美食"}, {"n": "旅游", "v": "旅游"}, {"n": "益智", "v": "益智"}]}, {"key": "year", "name": "全部年份", "value": [{"n": "全部年份", "v": ""}, {"n": "2022", "v": "2022"}, {"n": "2021", "v": "2021"}, {"n": "2020", "v": "2020"}, {"n": "2019", "v": "2019"}, {"n": "2018", "v": "2018"}, {"n": "2017", "v": "2017"}, {"n": "2016", "v": "2016"}, {"n": "2015", "v": "2015"}, {"n": "2014-2011", "v": "2011-2014"}, {"n": "更早", "v": "-2010"}]}, {"key": "status", "name": "全部规格", "value": [{"n": "全部规格", "v": ""}, {"n": "优酷自制", "v": "2"}, {"n": "优酷独播", "v": "1"}, {"n": "电视综艺", "v": "6"}, {"n": "已完结", "v": "3"}, {"n": "即将上线", "v": "4"}]}, {"key": "pay_type", "name": "付费类型", "value": [{"n": "付费类型", "v": ""}, {"n": "免费", "v": "0"}, {"n": "VIP", "v": "2"}, {"n": "付费", "v": "1"}]}, {"key": "sort", "name": "热度最高", "value": [{"n": "热度最高", "v": ""}, {"n": "最新更新", "v": "8"}, {"n": "最近开播", "v": "9"}, {"n": "最多评论", "v": "4"}]}, {"key": "tag_label_name", "name": "为你推荐", "value": [{"n": "为你推荐", "v": ""}, {"n": "舞台竞演", "v": "舞台竞演"}, {"n": "刘雨昕", "v": "刘雨昕"}, {"n": "王一博", "v": "王一博"}, {"n": "韩庚", "v": "韩庚"}, {"n": "李承铉", "v": "李承铉"}, {"n": "户外竞技", "v": "户外竞技"}, {"n": "浙江卫视", "v": "浙江卫视"}, {"n": "东方卫视", "v": "东方卫视"}, {"n": "岳云鹏", "v": "岳云鹏"}, {"n": "王迅", "v": "王迅"}, {"n": "杨迪", "v": "杨迪"}, {"n": "杨超越", "v": "杨超越"}, {"n": "黄明昊", "v": "黄明昊"}, {"n": "郭京飞", "v": "郭京飞"}, {"n": "欧阳娜娜", "v": "欧阳娜娜"}, {"n": "德云社", "v": "德云社"}, {"n": "郑恺", "v": "郑恺"}, {"n": "华少", "v": "华少"}, {"n": "郭德纲", "v": "郭德纲"}, {"n": "贾玲", "v": "贾玲"}]}], "动漫": [{"key": "sort", "name": "综合排序", "value": [{"n": "综合排序", "v": ""}, {"n": "最多播放", "v": "2"}, {"n": "最好评", "v": "3"}, {"n": "最新上线", "v": "1"}]}, {"key": "main_area", "name": "全部地区", "value": [{"n": "全部地区", "v": ""}, {"n": "内地", "v": "中国内地"}, {"n": "日本", "v": "日本"}, {"n": "美国", "v": "美国"}, {"n": "中国台湾", "v": "中国台湾"}, {"n": "其他", "v": "其他"}]}, {"key": "tags", "name": "全部类型", "value": [{"n": "全部类型", "v": ""}, {"n": "热血", "v": "热血,战斗"}, {"n": "励志", "v": "励志"}, {"n": "玄幻", "v": "玄幻"}, {"n": "古风", "v": "历史,古风"}, {"n": "恋爱", "v": "恋爱"}, {"n": "青春", "v": "青春"}, {"n": "校园", "v": "校园"}, {"n": "运动", "v": "社团,运动"}, {"n": "科幻", "v": "科幻"}, {"n": "冒险", "v": "冒险"}, {"n": "魔法", "v": "魔法"}, {"n": "日常", "v": "日常"}, {"n": "治愈", "v": "治愈"}, {"n": "机战", "v": "机战"}, {"n": "推理", "v": "推理"}, {"n": "都市", "v": "都市"}, {"n": "小说改", "v": "小说改编"}, {"n": "游戏改", "v": "游戏改编"}, {"n": "漫画改", "v": "漫画改编"}, {"n": "动态漫", "v": "动态漫画"}, {"n": "特摄", "v": "特摄"}, {"n": "布袋戏", "v": "布袋戏"}]}, {"key": "completed", "name": "连载情况", "value": [{"n": "连载情况", "v": ""}, {"n": "更新中", "v": "0"}, {"n": "已完结", "v": "1"}]}, {"key": "pay_type", "name": "付费类型", "value": [{"n": "付费类型", "v": ""}, {"n": "免费", "v": "0"}, {"n": "会员", "v": "2"}]}, {"key": "year", "name": "全部年份", "value": [{"n": "全部年份", "v": ""}, {"n": "2022", "v": "2022"}, {"n": "2021", "v": "2021"}, {"n": "2020", "v": "2020"}, {"n": "2019", "v": "2019"}, {"n": "2018", "v": "2018"}, {"n": "2017", "v": "2017"}, {"n": "2016", "v": "2016"}, {"n": "2015", "v": "2015"}, {"n": "2014", "v": "2014"}, {"n": "2013", "v": "2013"}, {"n": "2012", "v": "2012"}, {"n": "2011", "v": "2011"}, {"n": "00年代", "v": "2000-2010"}, {"n": "更早", "v": "-1999"}]}, {"key": "tag_label_name", "name": "为你推荐", "value": [{"n": "为你推荐", "v": ""}, {"n": "3D动画", "v": "3D动画"}, {"n": "搞笑日常", "v": "搞笑日常"}, {"n": "大男主", "v": "大男主"}, {"n": "高燃", "v": "高燃"}, {"n": "萌系", "v": "萌系"}, {"n": "修真", "v": "修真"}, {"n": "怀旧", "v": "怀旧"}, {"n": "超级英雄", "v": "超级英雄"}, {"n": "水树奈奈", "v": "水树奈奈"}, {"n": "张杰", "v": "张杰"}, {"n": "石田彰", "v": "石田彰"}, {"n": "守护地球", "v": "守护地球"}, {"n": "圆谷", "v": "圆谷"}, {"n": "山新", "v": "山新"}, {"n": "复仇", "v": "复仇"}, {"n": "废柴逆袭", "v": "废柴逆袭"}, {"n": "侦探", "v": "侦探"}, {"n": "无厘头", "v": "无厘头"}, {"n": "青山刚昌", "v": "青山刚昌"}, {"n": "悬疑", "v": "悬疑"}]}], "少儿": [{"key": "main_area", "name": "全部地区", "value": [{"n": "全部地区", "v": ""}, {"n": "中国", "v": "中国,香港,台湾"}, {"n": "美国", "v": "美国"}, {"n": "英国", "v": "英国"}, {"n": "其他国家", "v": "其他"}]}, {"key": "show_label_type", "name": "全部类型", "value": [{"n": "全部类型", "v": ""}, {"n": "动画", "v": "动画"}, {"n": "儿歌", "v": "儿歌"}, {"n": "玩具", "v": "玩具"}, {"n": "动画电影", "v": "电影"}, {"n": "绘本故事", "v": "绘本故事"}, {"n": "真人", "v": "真人"}, {"n": "少儿综艺", "v": "少儿综艺"}, {"n": "亲子", "v": "亲子"}, {"n": "探索纪实", "v": "探索纪实"}, {"n": "音频", "v": "音频"}]}, {"key": "child_tags", "name": "全部分类", "value": [{"n": "全部分类", "v": ""}, {"n": "益智", "v": "益智"}, {"n": "冒险", "v": "冒险"}, {"n": "幽默", "v": "幽默"}, {"n": "机甲", "v": "机甲"}, {"n": "公主魔法", "v": "公主,魔法"}, {"n": "交通工具", "v": "交通工具"}, {"n": "恐龙", "v": "恐龙"}, {"n": "动物", "v": "动物"}, {"n": "励志", "v": "励志"}, {"n": "友情", "v": "友情"}, {"n": "战斗", "v": "战斗"}, {"n": "校园", "v": "校园"}, {"n": "正义", "v": "正义"}, {"n": "热血", "v": "热血"}, {"n": "科幻", "v": "科幻"}, {"n": "童话", "v": "童话"}, {"n": "运动", "v": "运动"}, {"n": "专注力", "v": "专注力"}, {"n": "创造力", "v": "创造力"}, {"n": "想象力", "v": "想象力"}, {"n": "科普", "v": "科普"}, {"n": "情商", "v": "情商"}, {"n": "思维逻辑", "v": "思维逻辑"}, {"n": "兴趣培养", "v": "兴趣培养"}, {"n": "语文", "v": "语文"}, {"n": "英语", "v": "英语"}, {"n": "数学", "v": "数学"}, {"n": "课程辅导", "v": "课程辅导"}]}, {"key": "age", "name": "全部年龄", "value": [{"n": "全部年龄", "v": ""}, {"n": "0-2岁", "v": "0-2"}, {"n": "3-4岁", "v": "3-4"}, {"n": "5-6岁", "v": "5-6"}, {"n": "7岁以上", "v": "7-"}]}, {"key": "pay_type", "name": "付费类型", "value": [{"n": "付费类型", "v": ""}, {"n": "免费", "v": "0"}, {"n": "付费", "v": "1"}, {"n": "VIP", "v": "2"}]}, {"key": "sort", "name": "综合排序", "value": [{"n": "综合排序", "v": ""}, {"n": "最新上线", "v": "1"}, {"n": "最多播放", "v": "2"}, {"n": "最多评论", "v": "4"}, {"n": "最多收藏", "v": "5"}]}], "纪录片": [{"key": "tags", "name": "全部类型", "value": [{"n": "全部类型", "v": ""}, {"n": "美食", "v": "美食"}, {"n": "自然", "v": "自然"}, {"n": "历史", "v": "历史"}, {"n": "探险", "v": "探险"}, {"n": "军事", "v": "军事"}, {"n": "人物", "v": "人物"}, {"n": "宇宙", "v": "宇宙"}, {"n": "刑侦", "v": "刑侦"}, {"n": "社会", "v": "社会"}, {"n": "科技", "v": "科技"}, {"n": "旅游", "v": "旅游"}]}, {"key": "company", "name": "全部出品", "value": [{"n": "全部出品", "v": ""}, {"n": "BBC", "v": "bbc,british"}, {"n": "央视", "v": "央视,中央电视台,cctv,中国广播电影电视节目交易中心"}, {"n": "国家地理", "v": "国家地理"}, {"n": "Love Nature", "v": "love nature"}, {"n": "LGI", "v": "looking"}, {"n": "A&E", "v": "ae"}, {"n": "OTF", "v": "fence"}]}, {"key": "year", "name": "全部年份", "value": [{"n": "全部年份", "v": ""}, {"n": "2022", "v": "2022"}, {"n": "2021", "v": "2021"}, {"n": "2020", "v": "2020"}, {"n": "2019", "v": "2019"}, {"n": "2018", "v": "2018"}, {"n": "2017", "v": "2017"}, {"n": "2016", "v": "2016"}, {"n": "2015", "v": "2015"}, {"n": "2014-2011", "v": "2011-2014"}, {"n": "更早", "v": "-2010"}]}, {"key": "pay_type", "name": "付费类型", "value": [{"n": "付费类型", "v": ""}, {"n": "免费", "v": "0"}, {"n": "会员", "v": "2"}]}, {"key": "sort", "name": "热度最高", "value": [{"n": "热度最高", "v": ""}, {"n": "综合排序", "v": "0"}, {"n": "最新上线", "v": "1"}, {"n": "最好评", "v": "3"}, {"n": "最多收藏", "v": "5"}]}], "文化": [{"key": "tags", "name": "全部类型", "value": [{"n": "全部类型", "v": ""}, {"n": "谈话", "v": "谈话"}, {"n": "脱口秀", "v": "脱口秀"}, {"n": "访谈", "v": "访谈"}, {"n": "讲座论坛", "v": "讲座论坛"}, {"n": "戏曲曲艺", "v": "戏曲,曲艺"}, {"n": "舞台剧", "v": "舞台剧"}, {"n": "文学", "v": "文学"}, {"n": "国学", "v": "国学"}, {"n": "艺术", "v": "艺术"}, {"n": "培训课程", "v": "培训课程"}, {"n": "有声书", "v": "有声书"}]}, {"key": "people", "name": "文化大咖", "value": [{"n": "文化大咖", "v": ""}, {"n": "窦文涛", "v": "窦文涛"}, {"n": "马未都", "v": "马未都"}, {"n": "白岩松", "v": "白岩松"}, {"n": "梅毅", "v": "梅毅"}, {"n": "陈鲁豫", "v": "陈鲁豫"}, {"n": "樊登", "v": "樊登"}, {"n": "罗振宇", "v": "罗振宇"}, {"n": "蒋方舟", "v": "蒋方舟"}, {"n": "其他", "v": "其他"}]}, {"key": "year", "name": "全部年份", "value": [{"n": "全部年份", "v": ""}, {"n": "2022", "v": "2022"}, {"n": "2021", "v": "2021"}, {"n": "2020", "v": "2020"}, {"n": "2019", "v": "2019"}, {"n": "2018", "v": "2018"}, {"n": "2017", "v": "2017"}, {"n": "2016", "v": "2016"}, {"n": "2015", "v": "2015"}, {"n": "2014-2011", "v": "2011-2014"}, {"n": "更早", "v": "-2010"}]}, {"key": "pay_type", "name": "付费类型", "value": [{"n": "付费类型", "v": ""}, {"n": "免费", "v": "0"}, {"n": "会员", "v": "2"}]}, {"key": "sort", "name": "热度最高", "value": [{"n": "热度最高", "v": ""}, {"n": "综合排序", "v": "0"}, {"n": "最新上线", "v": "1"}, {"n": "最好评", "v": "3"}, {"n": "最多收藏", "v": "5"}]}], "亲子": [{"key": "qinzi_genre", "name": "全部类型", "value": [{"n": "全部类型", "v": ""}, {"n": "孕产", "v": "孕产"}, {"n": "育儿知识", "v": "育儿知识,育儿达人,育儿专家,爸爸育儿,隔代育儿,育儿明星"}, {"n": "好物种草", "v": "母婴用品,测评,母婴用品种草"}, {"n": "美食", "v": "儿童美食,辅食,孕期饮食"}, {"n": "手工DIY", "v": "手工diy"}, {"n": "教育观念", "v": "教育观念"}, {"n": "亲子综艺", "v": "亲子综艺"}, {"n": "亲子互动", "v": "亲子旅游,亲子游戏,亲子阅读,玩具,早教,启蒙"}, {"n": "萌娃", "v": "萌娃"}, {"n": "搞笑", "v": "搞笑"}, {"n": "美妆", "v": "美妆"}]}, {"key": "pregnancy_stage", "name": "全部阶段", "value": [{"n": "全部阶段", "v": ""}, {"n": "备孕", "v": "备孕"}, {"n": "孕早期", "v": "孕早"}, {"n": "孕中期", "v": "孕中"}, {"n": "孕晚期", "v": "孕晚"}]}, {"key": "show_label_baby_age", "name": "全部分龄", "value": [{"n": "全部分龄", "v": ""}, {"n": "0-1岁", "v": "0-1"}, {"n": "1-3岁", "v": "1-3"}, {"n": "3-6岁", "v": "3-6"}, {"n": "6岁+", "v": "6-"}]}, {"key": "pay_type", "name": "全部", "value": [{"n": "全部", "v": ""}, {"n": "免费", "v": "0"}, {"n": "会员免费", "v": "2"}]}, {"key": "sort", "name": "热度最高", "value": [{"n": "热度最高", "v": ""}, {"n": "综合排序", "v": "0"}, {"n": "最新上线", "v": "1"}, {"n": "最多播放", "v": "2"}, {"n": "最多评论", "v": "3"}, {"n": "最多收藏", "v": "5"}]}], "教育": [{"key": "tags", "name": "全部类型", "value": [{"n": "全部类型", "v": ""}, {"n": "公开课", "v": "公开课"}, {"n": "名人名嘴", "v": "名人名嘴"}, {"n": "文化", "v": "文化"}, {"n": "艺术", "v": "艺术"}, {"n": "伦理社会", "v": "伦理社会"}, {"n": "理工", "v": "理工"}, {"n": "历史", "v": "历史"}, {"n": "心理学", "v": "心理学"}, {"n": "经济", "v": "经济"}, {"n": "管理学", "v": "管理学"}, {"n": "外语", "v": "外语"}, {"n": "法律", "v": "法律"}, {"n": "计算机", "v": "计算机"}, {"n": "哲学", "v": "哲学"}, {"n": "职业培训", "v": "职业培训"}, {"n": "家庭教育", "v": "家庭教育"}]}, {"key": "company", "name": "全部出品", "value": [{"n": "全部出品", "v": ""}, {"n": "TED", "v": "ted"}, {"n": "耶鲁大学", "v": "耶鲁大学"}, {"n": "哈佛大学", "v": "哈佛大学"}, {"n": "斯坦福大学", "v": "斯坦福大学"}, {"n": "麻省理工学院", "v": "麻省理工学院"}]}, {"key": "pay_type", "name": "全部节目", "value": [{"n": "全部节目", "v": ""}, {"n": "免费", "v": "0"}, {"n": "付费", "v": "1"}, {"n": "VIP", "v": "2"}]}, {"key": "sort", "name": "综合排序", "value": [{"n": "综合排序", "v": ""}, {"n": "最多播放", "v": "2"}, {"n": "最多收藏", "v": "5"}, {"n": "最好评", "v": "3"}, {"n": "最新上线", "v": "1"}]}], "搞笑": [{"key": "division", "name": "全部专区", "value": [{"n": "全部专区", "v": ""}, {"n": "1080P", "v": "3"}, {"n": "独播", "v": "6"}, {"n": "免费", "v": "5"}]}, {"key": "sort", "name": "综合排序", "value": [{"n": "综合排序", "v": ""}, {"n": "最多播放", "v": "2"}, {"n": "最好评", "v": "3"}, {"n": "最新上线", "v": "1"}]}], "生活": [{"key": "division", "name": "全部专区", "value": [{"n": "全部专区", "v": ""}, {"n": "1080P", "v": "3"}, {"n": "独播", "v": "6"}, {"n": "VIP", "v": "4"}, {"n": "免费", "v": "5"}]}, {"key": "sort", "name": "综合排序", "value": [{"n": "综合排序", "v": ""}, {"n": "最多播放", "v": "2"}, {"n": "最好评", "v": "3"}, {"n": "最新上线", "v": "1"}]}], "体育": [{"key": "division", "name": "全部专区", "value": [{"n": "全部专区", "v": ""}, {"n": "1080P", "v": "3"}, {"n": "独播", "v": "6"}, {"n": "VIP", "v": "4"}, {"n": "免费", "v": "5"}]}, {"key": "tags", "name": "全部类型", "value": [{"n": "全部类型", "v": ""}, {"n": "篮球", "v": "篮球"}, {"n": "足球", "v": "足球"}, {"n": "台球", "v": "台球"}, {"n": "CBA", "v": "CBA"}, {"n": "钓鱼", "v": "钓鱼"}]}, {"key": "sort", "name": "综合排序", "value": [{"n": "综合排序", "v": ""}, {"n": "最多播放", "v": "2"}, {"n": "最好评", "v": "3"}, {"n": "最新上线", "v": "1"}]}], "音乐": [{"key": "division", "name": "全部专区", "value": [{"n": "全部专区", "v": ""}, {"n": "1080P", "v": "3"}, {"n": "独播", "v": "6"}, {"n": "免费", "v": "5"}]}, {"key": "main_area", "name": "全部地区", "value": [{"n": "全部地区", "v": ""}, {"n": "中国", "v": "中国"}, {"n": "中国台湾", "v": "中国台湾"}, {"n": "中国香港", "v": "中国香港"}, {"n": "美国", "v": "美国"}, {"n": "其他", "v": "其他"}]}, {"key": "music_show_type", "name": "全部类型", "value": [{"n": "全部类型", "v": ""}, {"n": "演唱会", "v": "演唱会"}, {"n": "live现场", "v": "live现场"}, {"n": "颁奖典礼", "v": "颁奖典礼"}, {"n": "舞蹈", "v": "舞蹈"}, {"n": "影视原声", "v": "影视原声"}, {"n": "音乐达人", "v": "音乐达人"}, {"n": "音乐教学", "v": "音乐教学"}, {"n": "音乐纪录片", "v": "音乐纪录片"}, {"n": "音乐mv", "v": "音乐mv"}, {"n": "音乐自制", "v": "音乐自制"}]}, {"key": "sort", "name": "综合排序", "value": [{"n": "综合排序", "v": ""}, {"n": "最多播放", "v": "2"}, {"n": "最好评", "v": "3"}, {"n": "最新上线", "v": "1"}]}], "游戏": [{"key": "division", "name": "全部专区", "value": [{"n": "全部专区", "v": ""}, {"n": "1080P", "v": "3"}, {"n": "独播", "v": "6"}, {"n": "VIP", "v": "4"}, {"n": "免费", "v": "5"}]}, {"key": "game_brand", "name": "全部节目", "value": [{"n": "全部节目", "v": ""}, {"n": "王者荣耀", "v": "王者荣耀"}, {"n": "和平精英", "v": "和平精英"}, {"n": "绝地求生", "v": "绝地求生"}, {"n": "迷你世界", "v": "迷你世界"}, {"n": "我的世界", "v": "我的世界"}, {"n": "植物大战僵尸", "v": "植物大战僵尸"}, {"n": "方舟生存进化", "v": "方舟生存进化"}, {"n": "第五人格", "v": "第五人格"}, {"n": "猫和老鼠", "v": "猫和老鼠"}, {"n": "香肠派对", "v": "香肠派对"}, {"n": "穿越火线", "v": "穿越火线"}, {"n": "英雄联盟", "v": "英雄联盟"}]}, {"key": "tags", "name": "全部类型", "value": [{"n": "全部类型", "v": ""}, {"n": "资讯", "v": "资讯"}, {"n": "解说", "v": "解说"}, {"n": "主播", "v": "主播"}, {"n": "沙盒", "v": "沙盒"}, {"n": "益智", "v": "益智"}, {"n": "生存", "v": "生存"}, {"n": "电子竞技", "v": "电子竞技"}, {"n": "单机主机", "v": "单机主机"}, {"n": "真人秀", "v": "真人秀"}, {"n": "动画", "v": "动画"}, {"n": "盘点", "v": "盘点"}, {"n": "游戏文化", "v": "游戏文化"}, {"n": "游戏节目", "v": "游戏节目"}, {"n": "评测", "v": "评测"}, {"n": "射击", "v": "射击"}, {"n": "策略", "v": "策略"}, {"n": "冒险", "v": "冒险"}, {"n": "即时战略", "v": "即时战略"}, {"n": "卡牌", "v": "卡牌"}, {"n": "角色扮演", "v": "角色>扮演"}]}, {"key": "sort", "name": "综合排序", "value": [{"n": "综合排序", "v": ""}, {"n": "最多播放", "v": "2"}, {"n": "最好评", "v": "3"}, {"n": "最新上线", "v": "1"}]}]}, + headers:{ + 'User-Agent':'PC_UA', + 'Cookie':'cna=VvNvGX3e0ywCAavVEXlnA2bg; __ysuid=1626676228345Rl1; __ayft=1652434048647; __arycid=dm-1-00; __arcms=dm-1-00; __ayvstp=85; __arpvid=1667204023100cWWdgM-1667204023112; __ayscnt=10; __aypstp=60; isg=BBwcqxvvk3BxkWQGugbLpUSf7TrOlcC_U7GAj_YdfYfvQbzLHqYGT4Hgp6m5TvgX; tfstk=c3JOByYUH20ilVucLOhh0pCtE40lZfGc-PjLHLLfuX7SWNyAiQvkeMBsIw7PWDC..; l=eBQguS-PjdJFGJT-BOfwourza77OSIRA_uPzaNbMiOCPOb1B5UxfW6yHp4T6C3GVhsGJR3rp2umHBeYBqQd-nxvOF8qmSVDmn', + }, + timeout:5000, + class_name:'少儿&亲子&动漫&教育&游戏', + class_url:'少儿&亲子&动漫&教育&游戏', + limit:20, + play_parse:true, + // 手动调用解析请求json的url,此lazy不方便 + // lazy:'js:print(input);fetch_params.headers["user-agent"]=MOBILE_UA;let html=request(input);let rurl=html.match(/window\\.open\\(\'(.*?)\',/)[1];rurl=urlDeal(rurl);input={parse:1,url:rurl};', + lazy:'js:input={parse:1,jx:1,url:input};', + // 推荐:'.list_item;img&&alt;img&&src;a&&Text;a&&data-float', + // 一级:'json:data.filterData.listData;title;img;subTitle;videoLink;summary', + 一级:'', + 一级:'js:let d=[];MY_FL.type=MY_CATE;let fl=stringify(MY_FL);fl=encodeUrl(fl);input=input.split("{")[0]+fl;if(MY_PAGE>1){let old_session=getItem("yk_session_"+MY_CATE,"{}");if(MY_PAGE===2){input=input.replace("optionRefresh=1","session="+encodeUrl(old_session))}else{input=input.replace("optionRefresh=1","session="+encodeUrl(old_session))}}let html=fetch(input,fetch_params);try{html=JSON.parse(html);let lists=html.data.filterData.listData;let session=html.data.filterData.session;session=stringify(session);if(session!==getItem("yk_session_"+MY_CATE,"{}")){setItem("yk_session_"+MY_CATE,session)}lists.forEach(function(it){let vid;if(it.videoLink.includes("id_")){vid=it.videoLink.split("id_")[1].split(".html")[0]}else{vid="msearch:"}d.push({title:it.title,img:it.img,desc:it.summary,url:"https://search.youku.com/api/search?appScene=show_episode&showIds="+vid,content:it.subTitle})})}catch(e){log("一级列表解析发生错误:"+e.message)}setResult(d);', + 二级:'', + 二级:'js:var d=[];VOD={};let html=request(input);let json=JSON.parse(html);if(/keyword/.test(input)){input="https://search.youku.com/api/search?appScene=show_episode&showIds="+json.pageComponentList[0].commonData.showId;json=JSON.parse(fetch(MY_URL,fetch_params))}let video_lists=json.serisesList;var name=json.sourceName;if(/优酷/.test(name)&&video_lists.length>0){let ourl="https://v.youku.com/v_show/id_"+video_lists[0].videoId+".html";let _img=video_lists[0].thumbUrl;let html=fetch(ourl,{headers:{Referer:"https://v.youku.com/","User-Agent":PC_UA}});let json=/__INITIAL_DATA__/.test(html)?html.split("window.__INITIAL_DATA__ =")[1].split(";")[0]:"{}";if(json==="{}"){log("触发了优酷人机验证");VOD.vod_remarks=ourl;VOD.vod_pic=_img;VOD.vod_name=video_lists[0].title.replace(/(\\d+)/g,"");VOD.vod_content="触发了优酷人机验证,本次未获取详情,但不影响播放("+ourl+")"}else{try{json=JSON.parse(json);let data=json.data.data;let data_extra=data.data.extra;let img=data_extra.showImgV;let model=json.data.model;let m=model.detail.data.nodes[0].nodes[0].nodes[0].data;let _type=m.showGenre;let _desc=m.updateInfo||m.subtitle;let JJ=m.desc;let _title=m.introTitle;VOD.vod_pic=img;VOD.vod_name=_title;VOD.vod_type=_type;VOD.vod_remarks=_desc;VOD.vod_content=JJ}catch(e){log("海报渲染发生错误:"+e.message);print(json);VOD.vod_remarks=name}}}if(!/优酷/.test(name)){VOD.vod_content="非自家播放源,暂无视频简介及海报";VOD.vod_remarks=name}function adhead(url){return urlencode(url)}play_url=play_url.replace("&play_url=","&type=json&play_url=");video_lists.forEach(function(it){let url="https://v.youku.com/v_show/id_"+it.videoId+".html";if(it.thumbUrl){d.push({desc:it.showVideoStage?it.showVideoStage.replace("期","集"):it.displayName,pic_url:it.thumbUrl,title:it.title,url:play_url+adhead(url)})}else if(name!=="优酷"){d.push({title:it.displayName?it.displayName:it.title,url:play_url+adhead(it.url)})}});VOD.vod_play_from=name;VOD.vod_play_url=d.map(function(it){return it.title+"$"+it.url}).join("#");', + 搜索:'', + 搜索:'js:var d=[];let html=request(input);let json=JSON.parse(html);json.pageComponentList.forEach(function(it){if(it.hasOwnProperty("commonData")){it=it.commonData;d.push({title:it.titleDTO.displayName,img:it.posterDTO.vThumbUrl,desc:it.stripeBottom,content:it.updateNotice+" "+it.feature,url:"https://search.youku.com/api/search?appScene=show_episode&showIds="+it.showId+"&appCaller=h5"})}});setResult(d);', +} diff --git a/tvboxqq/tvboxqq/少儿频道/js/异兽.js b/tvboxqq/tvboxqq/少儿频道/js/异兽.js new file mode 100644 index 0000000..79625b7 --- /dev/null +++ b/tvboxqq/tvboxqq/少儿频道/js/异兽.js @@ -0,0 +1,39 @@ +var rule = { + title:'奇珍异兽', + host:'https://www.iqiyi.com', + homeUrl:'', + // detailUrl:'https://pcw-api.iqiyi.com/albums/album/avlistinfo?aid=fyid&size=2000&page=1', + detailUrl:'https://pcw-api.iqiyi.com/video/video/videoinfowithuser/fyid?agent_type=1&authcookie=&subkey=fyid&subscribe=1', + searchUrl:'https://search.video.iqiyi.com/o?if=html5&key=**&pageNum=fypage&pos=1&pageSize=24&site=iqiyi', + searchable:2, + multi:1, + filterable:1, + filter:{'1': [{'key': 'mode', 'name': '综合排序', 'value': [{'n': '全部', 'v': ''}, {'n': '热播榜', 'v': 11}, {'n': '好评榜', 'v': 8}, {'n': '新上线', 'v': 4}]}, {'key': 'year', 'name': '全部年份', 'value': [{'n': '全部', 'v': ''}, {'n': '2022', 'v': 2022}, {'n': '2021', 'v': 2021}, {'n': '2020', 'v': 2020}, {'n': '2019', 'v': 2019}, {'n': '2018', 'v': 2018}, {'n': '2017', 'v': 2017}, {'n': '2016-2011', 'v': '2011_2016'}, {'n': '2010-2000', 'v': '2000_2010'}, {'n': '90年代', 'v': '1990_1999'}, {'n': '80年代', 'v': '1980_1989'}, {'n': '更早', 'v': '1964_1979'}]}, {'key': 'is_purchase', 'name': '全部资费', 'value': [{'n': '全部', 'v': ''}, {'n': '免费', 'v': 0}, {'n': '会员', 'v': 1}, {'n': '付费', 'v': 2}]}, {'key': 'three_category_id', 'name': '地区', 'value': [{'n': '全部', 'v': ''}, {'n': '华语', 'v': 1}, {'n': '香港地区', 'v': 28997}, {'n': '美国', 'v': 2}, {'n': '欧洲', 'v': 3}, {'n': '韩国', 'v': 4}, {'n': '日本', 'v': 308}, {'n': '泰国', 'v': 1115}, {'n': '印度', 'v': 28999}, {'n': '其它', 'v': 5}]}, {'key': '18001', 'name': '类型', 'value': [{'n': '全部', 'v': ''}, {'n': '喜剧', 'v': 8}, {'n': '爱情', 'v': 6}, {'n': '动作', 'v': 11}, {'n': '枪战', 'v': 131}, {'n': '犯罪', 'v': 291}, {'n': '惊悚', 'v': 128}, {'n': '恐怖', 'v': 10}, {'n': '悬疑', 'v': 289}, {'n': '动画', 'v': 12}, {'n': '家庭', 'v': 27356}, {'n': '奇幻', 'v': 1284}, {'n': '魔幻', 'v': 129}, {'n': '科幻', 'v': 9}, {'n': '战争', 'v': 7}, {'n': '青春', 'v': 130}]}, {'key': '27396', 'name': '规格', 'value': [{'n': '全部', 'v': ''}, {'n': '巨制', 'v': 27397}, {'n': '院线', 'v': 27815}, {'n': '独播', 'v': 30149}, {'n': '网络电影', 'v': 27401}]}], '2': [{'key': 'mode', 'name': '综合排序', 'value': [{'n': '全部', 'v': ''}, {'n': '热播榜', 'v': 11}, {'n': '好评榜', 'v': 8}, {'n': '新上线', 'v': 4}]}, {'key': 'year', 'name': '全部年份', 'value': [{'n': '全部', 'v': ''}, {'n': '2022', 'v': 2022}, {'n': '2021', 'v': 2021}, {'n': '2020', 'v': 2020}, {'n': '2019', 'v': 2019}, {'n': '2018', 'v': 2018}, {'n': '2017', 'v': 2017}, {'n': '2016-2011', 'v': '2011_2016'}, {'n': '2010-2000', 'v': '2000_2010'}, {'n': '90年代', 'v': '1990_1999'}, {'n': '80年代', 'v': '1980_1989'}, {'n': '更早', 'v': '1964_1979'}]}, {'key': 'is_purchase', 'name': '全部资费', 'value': [{'n': '全部', 'v': ''}, {'n': '免费', 'v': 0}, {'n': '会员', 'v': 1}, {'n': '付费', 'v': 2}]}, {'key': 'three_category_id', 'name': '地区', 'value': [{'n': '全部', 'v': ''}, {'n': '内地', 'v': 15}, {'n': '港剧', 'v': 16}, {'n': '韩剧', 'v': 17}, {'n': '美剧', 'v': 18}, {'n': '日剧', 'v': 309}, {'n': '泰剧', 'v': 1114}, {'n': '台湾地区', 'v': 1117}, {'n': '英剧', 'v': 28916}, {'n': '其它', 'v': 19}]}, {'key': '18003', 'name': '类型', 'value': [{'n': '全部', 'v': ''}, {'n': '自制', 'v': 11992}, {'n': '古装', 'v': 24}, {'n': '言情', 'v': 20}, {'n': '武侠', 'v': 23}, {'n': '偶像', 'v': 30}, {'n': '家庭', 'v': 1654}, {'n': '青春', 'v': 1653}, {'n': '都市', 'v': 24064}, {'n': '喜剧', 'v': 135}, {'n': '战争', 'v': 27916}, {'n': '军旅', 'v': 1655}, {'n': '谍战', 'v': 290}, {'n': '悬疑', 'v': 32}, {'n': '罪案', 'v': 149}, {'n': '穿越', 'v': 148}, {'n': '宫廷', 'v': 139}, {'n': '历史', 'v': 21}, {'n': '神话', 'v': 145}, {'n': '科幻', 'v': 34}, {'n': '年代', 'v': 27}, {'n': '农村', 'v': 29}, {'n': '商战', 'v': 140}, {'n': '剧情', 'v': 24063}, {'n': '奇幻', 'v': 27881}, {'n': '网剧', 'v': 24065}, {'n': '竖短片', 'v': 32839}]}], '3': [{'key': 'mode', 'name': '综合排序', 'value': [{'n': '全部', 'v': ''}, {'n': '热播榜', 'v': 11}, {'n': '好评榜', 'v': 8}, {'n': '新上线', 'v': 4}]}, {'key': 'year', 'name': '全部年份', 'value': [{'n': '全部', 'v': ''}, {'n': '2022', 'v': 2022}, {'n': '2021', 'v': 2021}, {'n': '2020', 'v': 2020}, {'n': '2019', 'v': 2019}, {'n': '2018', 'v': 2018}, {'n': '2017', 'v': 2017}, {'n': '2016-2011', 'v': '2011_2016'}, {'n': '2010-2000', 'v': '2000_2010'}, {'n': '90年代', 'v': '1990_1999'}, {'n': '80年代', 'v': '1980_1989'}, {'n': '更早', 'v': '1964_1979'}]}, {'key': 'is_purchase', 'name': '全部资费', 'value': [{'n': '全部', 'v': ''}, {'n': '免费', 'v': 0}, {'n': '会员', 'v': 1}, {'n': '付费', 'v': 2}]}, {'key': 'three_category_id', 'name': '地区', 'value': [{'n': '全部', 'v': ''}, {'n': '国内', 'v': 20323}, {'n': '国外', 'v': 20324}]}, {'key': '18004', 'name': '类型', 'value': [{'n': '全部', 'v': ''}, {'n': '人文', 'v': 70}, {'n': '美食', 'v': 33908}, {'n': '医疗', 'v': 33924}, {'n': '自然', 'v': 33933}, {'n': '萌宠', 'v': 33945}, {'n': '财经', 'v': 33953}, {'n': '罪案', 'v': 33960}, {'n': '竞技', 'v': 33967}, {'n': '灾难', 'v': 33974}, {'n': '军事', 'v': 72}, {'n': '历史', 'v': 74}, {'n': '探险', 'v': 73}, {'n': '社会', 'v': 71}, {'n': '科技', 'v': 28119}, {'n': '旅游', 'v': 310}]}, {'key': '28467', 'name': '出品方', 'value': [{'n': '全部', 'v': ''}, {'n': 'BBC', 'v': 28468}, {'n': '美国历史频道', 'v': 28470}, {'n': '探索频道', 'v': 28471}, {'n': '央视记录', 'v': 28472}, {'n': '北京纪实频道', 'v': 28473}, {'n': '上海纪实频道', 'v': 28474}, {'n': '朗思文化', 'v': 28476}, {'n': 'CNEX', 'v': 28477}, {'n': '五星传奇', 'v': 28478}, {'n': 'IMG', 'v': 28479}, {'n': 'NHK', 'v': 28480}, {'n': '爱奇艺出品', 'v': 31283}, {'n': 'Netflix', 'v': 31286}]}, {'key': '29076', 'name': '片种', 'value': [{'n': '全部', 'v': ''}, {'n': '纪录电影', 'v': 29077}, {'n': '系列纪录片', 'v': 29078}, {'n': '网络纪录片', 'v': 29082}, {'n': '纪实栏目', 'v': 29083}]}, {'key': '31294', 'name': '时长', 'value': [{'n': '全部', 'v': ''}, {'n': '微纪录', 'v': 29079}, {'n': '长纪录', 'v': 29080}, {'n': '短纪录', 'v': 29081}]}], '4': [{'key': 'mode', 'name': '综合排序', 'value': [{'n': '全部', 'v': ''}, {'n': '热播榜', 'v': 11}, {'n': '好评榜', 'v': 8}, {'n': '新上线', 'v': 4}]}, {'key': 'year', 'name': '全部年份', 'value': [{'n': '全部', 'v': ''}, {'n': '2022', 'v': 2022}, {'n': '2021', 'v': 2021}, {'n': '2020', 'v': 2020}, {'n': '2019', 'v': 2019}, {'n': '2018', 'v': 2018}, {'n': '2017', 'v': 2017}, {'n': '2016-2011', 'v': '2011_2016'}, {'n': '2010-2000', 'v': '2000_2010'}, {'n': '90年代', 'v': '1990_1999'}, {'n': '80年代', 'v': '1980_1989'}, {'n': '更早', 'v': '1964_1979'}]}, {'key': 'is_purchase', 'name': '全部资费', 'value': [{'n': '全部', 'v': ''}, {'n': '免费', 'v': 0}, {'n': '会员', 'v': 1}, {'n': '付费', 'v': 2}]}, {'key': 'three_category_id', 'name': '地区', 'value': [{'n': '全部', 'v': ''}, {'n': '中国大陆', 'v': 37}, {'n': '日本', 'v': 38}, {'n': '韩国', 'v': 1106}, {'n': '欧美', 'v': 30218}, {'n': '其它', 'v': 40}]}, {'key': '30219', 'name': '版本', 'value': [{'n': '全部', 'v': ''}, {'n': '动画', 'v': 30220}, {'n': '特摄', 'v': 30223}, {'n': '布袋戏', 'v': 30224}, {'n': '特别篇', 'v': 32782}, {'n': '动态漫画', 'v': 32783}, {'n': '动画电影', 'v': 32784}, {'n': '竖版视频', 'v': 32785}, {'n': '轻动画', 'v': 33482}, {'n': '短剧', 'v': 33483}]}, {'key': '30225', 'name': '风格', 'value': [{'n': '全部', 'v': ''}, {'n': '搞笑', 'v': 30230}, {'n': '热血', 'v': 30232}, {'n': '催泪', 'v': 30233}, {'n': '治愈', 'v': 30234}, {'n': '励志', 'v': 30237}, {'n': '机战', 'v': 30241}, {'n': '恋爱', 'v': 30243}, {'n': '科幻', 'v': 30245}, {'n': '奇幻', 'v': 30247}, {'n': '推理', 'v': 30248}, {'n': '校园', 'v': 30249}, {'n': '日常', 'v': 30252}, {'n': '历史', 'v': 30254}, {'n': '美食', 'v': 30255}, {'n': '职场', 'v': 30256}, {'n': '偶像', 'v': 30258}, {'n': '泡面', 'v': 30265}, {'n': '冒险', 'v': 30267}, {'n': '竞技', 'v': 30268}, {'n': '合家欢', 'v': 30270}, {'n': '武侠', 'v': 32792}, {'n': '玄幻', 'v': 32793}]}, {'key': '32795', 'name': '新类型', 'value': [{'n': '全部', 'v': ''}, {'n': '轻小说改编', 'v': 32796}, {'n': '漫画改编', 'v': 32797}, {'n': '游戏改编', 'v': 32798}, {'n': '原创', 'v': 32799}]}], '6': [{'key': 'mode', 'name': '综合排序', 'value': [{'n': '全部', 'v': ''}, {'n': '热播榜', 'v': 11}, {'n': '好评榜', 'v': 8}, {'n': '新上线', 'v': 4}]}, {'key': 'year', 'name': '全部年份', 'value': [{'n': '全部', 'v': ''}, {'n': '2022', 'v': 2022}, {'n': '2021', 'v': 2021}, {'n': '2020', 'v': 2020}, {'n': '2019', 'v': 2019}, {'n': '2018', 'v': 2018}, {'n': '2017', 'v': 2017}, {'n': '2016-2011', 'v': '2011_2016'}, {'n': '2010-2000', 'v': '2000_2010'}, {'n': '90年代', 'v': '1990_1999'}, {'n': '80年代', 'v': '1980_1989'}, {'n': '更早', 'v': '1964_1979'}]}, {'key': 'is_purchase', 'name': '全部资费', 'value': [{'n': '全部', 'v': ''}, {'n': '免费', 'v': 0}, {'n': '会员', 'v': 1}, {'n': '付费', 'v': 2}]}, {'key': 'three_category_id', 'name': '地区', 'value': [{'n': '全部', 'v': ''}, {'n': '内地', 'v': 151}, {'n': '港台', 'v': 152}, {'n': '韩国', 'v': 33306}, {'n': '欧美', 'v': 154}, {'n': '其它', 'v': 1113}]}, {'key': '18014', 'name': '类型', 'value': [{'n': '全部', 'v': ''}, {'n': '播报', 'v': 155}, {'n': '访谈', 'v': 156}, {'n': '游戏', 'v': 158}, {'n': '晚会', 'v': 292}, {'n': '曲艺', 'v': 293}, {'n': '脱口秀', 'v': 2118}, {'n': '真人秀', 'v': 2224}, {'n': '竞技', 'v': 30278}, {'n': '爱奇艺出品', 'v': 30279}, {'n': '竞演', 'v': 33860}]}, {'key': '33162', 'name': '题材', 'value': [{'n': '全部', 'v': ''}, {'n': '音乐', 'v': 33163}, {'n': '舞蹈', 'v': 33172}, {'n': '文化', 'v': 33173}, {'n': '美食', 'v': 33182}, {'n': '伦理', 'v': 33184}, {'n': '相亲', 'v': 33193}, {'n': '纪实', 'v': 33195}, {'n': '生活', 'v': 33196}, {'n': '亲子', 'v': 33197}, {'n': '少儿', 'v': 33198}, {'n': '财经', 'v': 33199}, {'n': '健康', 'v': 33200}, {'n': '时尚', 'v': 33203}, {'n': '旅游', 'v': 33205}, {'n': '教育', 'v': 33206}, {'n': '其它', 'v': 33220}, {'n': '爱情', 'v': 33316}, {'n': '搞笑', 'v': 33317}, {'n': '益智', 'v': 33318}, {'n': '职场', 'v': 33319}, {'n': '语言', 'v': 33530}, {'n': '辩论', 'v': 33531}, {'n': '演讲', 'v': 33843}]}], '5': [{'key': 'mode', 'name': '综合排序', 'value': [{'n': '全部', 'v': ''}, {'n': '热播榜', 'v': 11}, {'n': '好评榜', 'v': 8}, {'n': '新上线', 'v': 4}]}, {'key': 'year', 'name': '全部年份', 'value': [{'n': '全部', 'v': ''}, {'n': '2022', 'v': 2022}, {'n': '2021', 'v': 2021}, {'n': '2020', 'v': 2020}, {'n': '2019', 'v': 2019}, {'n': '2018', 'v': 2018}, {'n': '2017', 'v': 2017}, {'n': '2016-2011', 'v': '2011_2016'}, {'n': '2010-2000', 'v': '2000_2010'}, {'n': '90年代', 'v': '1990_1999'}, {'n': '80年代', 'v': '1980_1989'}, {'n': '更早', 'v': '1964_1979'}]}, {'key': 'is_purchase', 'name': '全部资费', 'value': [{'n': '全部', 'v': ''}, {'n': '免费', 'v': 0}, {'n': '会员', 'v': 1}, {'n': '付费', 'v': 2}]}, {'key': 'three_category_id', 'name': '地区', 'value': [{'n': '全部', 'v': ''}, {'n': '内地', 'v': 221}, {'n': '港台', 'v': 220}, {'n': '欧美', 'v': 219}, {'n': '日韩', 'v': 218}, {'n': '拉美', 'v': 217}, {'n': '亚洲地区', 'v': 216}, {'n': '非洲', 'v': 215}]}, {'key': '18009', 'name': '语种', 'value': [{'n': '全部', 'v': ''}, {'n': '普通话', 'v': 91}, {'n': '粤语', 'v': 92}, {'n': '闽南语', 'v': 93}, {'n': '英语', 'v': 94}, {'n': '日语', 'v': 95}, {'n': '韩语', 'v': 96}, {'n': '其它', 'v': 97}]}, {'key': '23554', 'name': '音乐类型', 'value': [{'n': '全部', 'v': ''}, {'n': '单曲MV', 'v': 23556}, {'n': '单曲现场', 'v': 23557}, {'n': '演唱会', 'v': 23558}, {'n': '新闻', 'v': 23559}, {'n': '访谈', 'v': 23560}, {'n': '音乐记录', 'v': 23561}, {'n': '音乐周边', 'v': 23562}, {'n': '音乐节目', 'v': 23563}, {'n': '影视原声', 'v': 23564}, {'n': '音乐短片', 'v': 23565}, {'n': '其他', 'v': 23566}]}], '16': [{'key': 'mode', 'name': '综合排序', 'value': [{'n': '全部', 'v': ''}, {'n': '热播榜', 'v': 11}, {'n': '好评榜', 'v': 8}, {'n': '新上线', 'v': 4}]}, {'key': 'year', 'name': '全部年份', 'value': [{'n': '全部', 'v': ''}, {'n': '2022', 'v': 2022}, {'n': '2021', 'v': 2021}, {'n': '2020', 'v': 2020}, {'n': '2019', 'v': 2019}, {'n': '2018', 'v': 2018}, {'n': '2017', 'v': 2017}, {'n': '2016-2011', 'v': '2011_2016'}, {'n': '2010-2000', 'v': '2000_2010'}, {'n': '90年代', 'v': '1990_1999'}, {'n': '80年代', 'v': '1980_1989'}, {'n': '更早', 'v': '1964_1979'}]}, {'key': 'is_purchase', 'name': '全部资费', 'value': [{'n': '全部', 'v': ''}, {'n': '免费', 'v': 0}, {'n': '会员', 'v': 1}, {'n': '付费', 'v': 2}]}, {'key': '18061', 'name': '类型', 'value': [{'n': '全部', 'v': ''}, {'n': '喜剧', 'v': 1296}, {'n': '爱情', 'v': 1297}, {'n': '动作', 'v': 1298}, {'n': '奇幻', 'v': 1299}, {'n': '惊悚', 'v': 1300}, {'n': '悬疑', 'v': 1301}, {'n': '青春', 'v': 1302}]}]}, + // url:'https://pcw-api.iqiyi.com/search/recommend/list?channel_id=fyclass&data_type=1&is_purchase=&mode=24&page_id=fypage&ret_num=48&three_category_id=', + url:'https://pcw-api.iqiyi.com/search/recommend/list?channel_id=fyclass&data_type=1&page_id=fypage&ret_num=48', + filter_url:'is_purchase={{fl.is_purchase}}&mode={{fl.mode}}&three_category_id={{fl.three_category_id}}&market_release_date_level={{fl.year}}', + // url:'https://pcw-api.iqiyi.com/search/video/videolists?channel_id=fyclass&pageNum=fypage&pageSize=24&data_type=1&site=iqiyi', + headers:{ + 'User-Agent':'MOBILE_UA' + }, + timeout:5000, + class_name:'少儿&动漫', + class_url:'15&4', + limit:20, + // play_parse:true, + // 手动调用解析请求json的url,此lazy不方便 + // lazy:'js:input="https://cache.json.icu/home/api?type=ys&uid=292796&key=fnoryABDEFJNPQV269&url="+input.split("?")[0];log(input);let html=JSON.parse(request(input));log(html);input=html.url||input', + // 推荐:'.list_item;img&&alt;img&&src;a&&Text;a&&data-float', + // 一级:'json:.data.list;.name;.imageUrl;.latestOrder;.albumId', + 推荐:'', + // 推荐:'js:let d=[];fetch_params.headers["user-agent"]=PC_UA;pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd;let html=fetch(HOST,fetch_params);let lists=pdfa(html,".qy-mod-li");lists.forEach(function(it){try{let title=pdfh(it,"p.sub&&title");let desc=pdfh(it,".qy-mod-label&&Text");let pic_url=pd(it,"img&&src");d.push({title:title,desc:desc,img:pic_url})}catch(e){}});res=setResult(d);', + 一级:'js:let d=[];if(MY_CATE==="16"){input=input.replace("channel_id=16","channel_id=1").split("three_category_id")[0];input+="three_category_id=27401"}else if(MY_CATE==="5"){input=input.replace("data_type=1","data_type=2")}let html=request(input);let json=JSON.parse(html);if(json.code==="A00003"){fetch_params.headers["user-agent"]=PC_UA;json=JSON.parse(fetch(input,fetch_params))}json.data.list.forEach(function(data){if(data.channelId===1){desc=data.hasOwnProperty("score")?data.score+"分\\t":""}else if(data.channelId===2||data.channelId===4){if(data.latestOrder===data.videoCount){desc=(data.hasOwnProperty("score")?data.score+"分\\t":"")+data.latestOrder+"集全"}else{if(data.videoCount){desc=(data.hasOwnProperty("score")?data.score+"分\\t":"")+data.latestOrder+"/"+data.videoCount+"集"}else{desc="更新至 "+data.latestOrder+"集"}}}else if(data.channelId===6){desc=data.period+"期"}else if(data.channelId===5){desc=data.focus}else{if(data.latestOrder){desc="更新至 第"+data.latestOrder+"期"}else if(data.period){desc=data.period}else{desc=data.focus}}url=MY_CATE+"$"+data.albumId;d.push({url:url,title:data.name,desc:desc,pic_url:data.imageUrl.replace(".jpg","_390_520.jpg?caplist=jpg,webp")})});setResult(d);', + // 一级:'js:let d=[];if(MY_CATE==="16"){input=input.replace("channel_id=16","channel_id=1").split("three_category_id")[0];input+="three_category_id=27401"}else if(MY_CATE==="5"){input=input.replace("data_type=1","data_type=2")}let html=fetch(input,fetch_params);let json=JSON.parse(html);if(json.code==="A00003"){fetch_params.headers["user-agent"]=PC_UA;json=JSON.parse(fetch(input,fetch_params))}json.data.list.forEach(function(data){if(data.channelId===1){desc=data.hasOwnProperty("score")?data.score+"分\\t":""}else if(data.channelId===2||data.channelId===4){if(data.latestOrder===data.videoCount){desc=(data.hasOwnProperty("score")?data.score+"分\\t":"")+data.latestOrder+"集全"}else{if(data.videoCount){desc=(data.hasOwnProperty("score")?data.score+"分\\t":"")+data.latestOrder+"/"+data.videoCount+"集"}else{desc="更新至 "+data.latestOrder+"集"}}}else if(data.channelId===6){desc=data.period+"期"}else if(data.channelId===5){desc=data.focus}else{if(data.latestOrder){desc="更新至 第"+data.latestOrder+"期"}else if(data.period){desc=data.period}else{desc=data.focus}}url=MY_CATE+"$"+data.albumId;d.push({url:url,title:data.name,desc:desc,pic_url:data.imageUrl.replace(".jpg","_390_520.jpg?caplist=jpg,webp")})});setResult(d);', + // 一级:'json:.data.list;.name;.imageUrl;.playUrl;.latestOrder', + // 二级:{is_json:1,"title":"data.title;data.moviecategory[0]+data.moviecategory[1]","img":"data.cdncover","desc":"data.area[0];data.director[0]","content":"data.description","tabs":"data.playlink_sites;data.playlinksdetail.#idv.quality","lists":"data.playlinksdetail.#idv.default_url"}, + // 二级:{is_json:1,"title":"data.name+data.subtitle;data.latestOrder","img":"data.imageUrl","desc":"data.categories;data.areas","content":"data.description","tabs":"data.name","lists":"data.playlinksdetail.#idv.default_url"}, + 二级:'', + 二级:'js:let d=[];let html=request(input);let json=JSON.parse(html).data;VOD={vod_id:"",vod_url:input,vod_name:"",type_name:"",vod_actor:"",vod_year:"",vod_director:"",vod_area:"",vod_content:"",vod_remarks:"",vod_pic:""};VOD.vod_name=json.name;try{if(json.latestOrder){VOD.vod_remarks="类型: "+(json.categories[0].name||"")+"\\t"+(json.categories[1].name||"")+"\\t"+(json.categories[2].name||"")+"\\t"+"评分:"+(json.score||"")+"\\n更新至:第"+json.latestOrder+"集(期)/共"+json.videoCount+"集(期)"}else{VOD.vod_remarks="类型: "+(json.categories[0].name||"")+"\\t"+(json.categories[1].name||"")+"\\t"+(json.categories[2].name||"")+"\\t"+"评分:"+(json.score||"")+json.period}}catch(e){VOD.vod_remarks=json.subtitle}VOD.vod_area=(json.focus||"")+"\\n资费:"+(json.payMark===1?"VIP":"免费")+"\\n地区:"+(json.areas||"");let vsize="579_772";try{vsize=json.imageSize[12]}catch(e){}VOD.vod_pic=json.imageUrl.replace(".jpg","_"+vsize+".jpg?caplist=jpg,webp");VOD.type_name=json.categories.map(function(it){return it.name}).join(",");if(json.people.main_charactor){let vod_actors=[];json.people.main_charactor.forEach(function(it){vod_actors.push(it.name)});VOD.vod_actor=vod_actors.join(",")}VOD.vod_content=json.description;let playlists=[];if(json.channelId===1||json.channelId===5){playlists=[{playUrl:json.playUrl,imageUrl:json.imageUrl,shortTitle:json.shortTitle,focus:json.focus,period:json.period}]}else{if(json.channelId===6){let qs=json.period.split("-")[0];let listUrl="https://pcw-api.iqiyi.com/album/source/svlistinfo?cid=6&sourceid="+json.albumId+"&timelist="+qs;let playData=JSON.parse(request(listUrl)).data[qs];playData.forEach(function(it){playlists.push({playUrl:it.playUrl,imageUrl:it.imageUrl,shortTitle:it.shortTitle,focus:it.focus,period:it.period})})}else{let listUrl="https://pcw-api.iqiyi.com/albums/album/avlistinfo?aid="+json.albumId+"&size=200&page=1";let data=JSON.parse(request(listUrl)).data;let total=data.total;playlists=data.epsodelist;if(total>200){for(let i=2;i200){for(let i=2;i0?json.data.list[0].url:json.data.series[0].url;if(!/^http/.test(ourl)){ourl=host+ourl}fetch_params.headers["User-Agent"]=MOBILE_UA;html=request(ourl);if(html.includes("window.location =")){print("开始获取ourl");ourl=pdfh(html,"meta[http-equiv=refresh]&&content").split("url=")[1];print("获取到ourl:"+ourl);html=request(ourl)}try{let details=pdfh(html,".m-details&&Html").replace(/h1>/,"h6>").replace(/div/g,"br");print(details);let actor="",director="",time="";if(/播出时间/.test(details)){actor=pdfh(html,"p:eq(5)&&Text").substr(0,25);director=pdfh(html,"p:eq(4)&&Text");time=pdfh(html,"p:eq(3)&&Text")}else{actor=pdfh(html,"p:eq(4)&&Text").substr(0,25);director=pdfh(html,"p:eq(3)&&Text");time="已完结"}let _img=pd(html,".video-img&&img&&src");let JJ=pdfh(html,".desc&&Text").split("简介:")[1];let _desc=time;VOD.vod_name=pdfh(html,".vt-txt&&Text");VOD.type_name=pdfh(html,"p:eq(0)&&Text").substr(0,6);VOD.vod_area=pdfh(html,"p:eq(1)&&Text");VOD.vod_actor=actor;VOD.vod_director=director;VOD.vod_remarks=_desc;VOD.vod_pic=_img;VOD.vod_content=JJ}catch(e){log("获取影片信息发生错误:"+e.message)}function getRjpg(imgUrl,xs){xs=xs||3;let picSize=/jpg_/.test(imgUrl)?imgUrl.split("jpg_")[1].split(".")[0]:false;let rjpg=false;if(picSize){let a=parseInt(picSize.split("x")[0])*xs;let b=parseInt(picSize.split("x")[1])*xs;rjpg=a+"x"+b+".jpg"}let img=/jpg_/.test(imgUrl)&&rjpg?imgUrl.replace(imgUrl.split("jpg_")[1],rjpg):imgUrl;return img}if(json.data.total===1&&json.data.list.length===1){let data=json.data.list[0];let url="https://www.mgtv.com"+data.url;d.push({title:data.t4,desc:data.t2,pic_url:getRjpg(data.img),url:url})}else if(json.data.list.length>1){for(let i=1;i<=json.data.total_page;i++){if(i>1){json=JSON.parse(fetch(input.replace("page=1","page="+i),{}))}json.data.list.forEach(function(data){let url="https://www.mgtv.com"+data.url;if(data.isIntact=="1"){d.push({title:data.t4,desc:data.t2,pic_url:getRjpg(data.img),url:url})}})}}else{print(input+"暂无片源")}VOD.vod_id=input;VOD.vod_play_from="mgtv";VOD.vod_play_url=d.map(function(it){return it.title+"$"+it.url}).join("#");setResult(d);', + 搜索:'', + 搜索:'js:fetch_params.headers.Referer="https://www.mgtv.com";fetch_params.headers["User-Agent"]=UA;let d=[];let html=request(input);let json=JSON.parse(html);json.data.contents.forEach(function(data){if(data.data.sourceList||data.data.yearList){let list=data.data.sourceList?data.data.sourceList:data.data.yearList[0].sourceList;let desc="";list.forEach(function(it){desc+=it.name+"\\t"});if(list[0].source==="imgo"){let img=data.data.pic?data.data.pic:data.data.yearList[0].pic;d.push({title:data.data.title?data.data.title:data.data.yearList[0].title,img:img,content:data.data.story?data.data.story:data.data.yearList[0].story,desc:data.data.playTime,url:list[0].vid})}}});setResult(d);', +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/少儿频道/js/腾讯.js b/tvboxqq/tvboxqq/少儿频道/js/腾讯.js new file mode 100644 index 0000000..b5ae3bc --- /dev/null +++ b/tvboxqq/tvboxqq/少儿频道/js/腾讯.js @@ -0,0 +1,39 @@ +var rule = { + title:'腾云驾雾', + host:'https://v.%71%71.com', + // homeUrl:'/channel/choice?listpage=1&channel=choice&sort=18&_all=1', + homeUrl:'/x/bu/pagesheet/list?_all=1&append=1&channel=choice&listpage=1&offset=0&pagesize=21&iarea=-1&sort=18', + detailUrl:'https://node.video.%71%71.com/x/api/float_vinfo2?cid=fyid', + // searchUrl:'https://node.video.%71%71.com/x/api/msearch?keyWord=**', + searchUrl:'/x/search/?q=**&stag=fypage', + // searchUrl:'http://s.video.qq.com/smartbox?plat=2&ver=0&num=29&otype=json&query=**', + searchable:2, + filterable:1, + multi:1, + // url:'/channel/fyclass?listpage=fypage&channel=fyclass&sort=18&_all=1', + url:'/x/bu/pagesheet/list?_all=1&append=1&channel=fyclass&listpage=1&offset=((fypage-1)*21)&pagesize=21&iarea=-1', + filter_url:'sort={{fl.sort or 18}}&year={{fl.year}}&pay={{fl.pay}}', + filter:{'choice': [{'key': 'sort', 'name': '排序', 'value': [{'n': '最热', 'v': '18'}, {'n': '最新', 'v': '19'}, {'n': '好评', 'v': '16'}, {'n': '高分好评', 'v': '21'}]}, {'key': 'pay', 'name': '资费', 'value': [{'n': '全部', 'v': '-1'}, {'n': '免费', 'v': '867'}, {'n': '会员', 'v': '6'}]}, {'key': 'year', 'name': '年代', 'value': [{'n': '全部', 'v': '-1'}, {'n': '2023', 'v': '2023'}, {'n': '2022', 'v': '2022'}, {'n': '2021', 'v': '2021'}, {'n': '2020', 'v': '2020'}, {'n': '2019', 'v': '2019'}, {'n': '2018', 'v': '2018'}, {'n': '2017', 'v': '2017'}, {'n': '2016', 'v': '2016'}, {'n': '2015', 'v': '2015'}]}], 'tv': [{'key': 'sort', 'name': '排序', 'value': [{'n': '最热', 'v': '18'}, {'n': '最新', 'v': '19'}, {'n': '好评', 'v': '16'}, {'n': '高分好评', 'v': '21'}]}, {'key': 'pay', 'name': '资费', 'value': [{'n': '全部', 'v': '-1'}, {'n': '免费', 'v': '867'}, {'n': '会员', 'v': '6'}]}, {'key': 'year', 'name': '年代', 'value': [{'n': '全部', 'v': '-1'}, {'n': '2023', 'v': '2023'}, {'n': '2022', 'v': '2022'}, {'n': '2021', 'v': '2021'}, {'n': '2020', 'v': '2020'}, {'n': '2019', 'v': '2019'}, {'n': '2018', 'v': '2018'}, {'n': '2017', 'v': '2017'}, {'n': '2016', 'v': '2016'}, {'n': '2015', 'v': '2015'}]}], 'movie': [{'key': 'sort', 'name': '排序', 'value': [{'n': '最热', 'v': '18'}, {'n': '最新', 'v': '19'}, {'n': '好评', 'v': '16'}, {'n': '高分好评', 'v': '21'}]}, {'key': 'pay', 'name': '资费', 'value': [{'n': '全部', 'v': '-1'}, {'n': '免费', 'v': '867'}, {'n': '会员', 'v': '6'}]}, {'key': 'year', 'name': '年代', 'value': [{'n': '全部', 'v': '-1'}, {'n': '2023', 'v': '2023'}, {'n': '2022', 'v': '2022'}, {'n': '2021', 'v': '2021'}, {'n': '2020', 'v': '2020'}, {'n': '2019', 'v': '2019'}, {'n': '2018', 'v': '2018'}, {'n': '2017', 'v': '2017'}, {'n': '2016', 'v': '2016'}, {'n': '2015', 'v': '2015'}]}], 'variety': [{'key': 'sort', 'name': '排序', 'value': [{'n': '最热', 'v': '18'}, {'n': '最新', 'v': '19'}, {'n': '好评', 'v': '16'}, {'n': '高分好评', 'v': '21'}]}, {'key': 'pay', 'name': '资费', 'value': [{'n': '全部', 'v': '-1'}, {'n': '免费', 'v': '867'}, {'n': '会员', 'v': '6'}]}, {'key': 'year', 'name': '年代', 'value': [{'n': '全部', 'v': '-1'}, {'n': '2023', 'v': '2023'}, {'n': '2022', 'v': '2022'}, {'n': '2021', 'v': '2021'}, {'n': '2020', 'v': '2020'}, {'n': '2019', 'v': '2019'}, {'n': '2018', 'v': '2018'}, {'n': '2017', 'v': '2017'}, {'n': '2016', 'v': '2016'}, {'n': '2015', 'v': '2015'}]}], 'cartoon': [{'key': 'sort', 'name': '排序', 'value': [{'n': '最热', 'v': '18'}, {'n': '最新', 'v': '19'}, {'n': '好评', 'v': '16'}, {'n': '高分好评', 'v': '21'}]}, {'key': 'pay', 'name': '资费', 'value': [{'n': '全部', 'v': '-1'}, {'n': '免费', 'v': '867'}, {'n': '会员', 'v': '6'}]}, {'key': 'year', 'name': '年代', 'value': [{'n': '全部', 'v': '-1'}, {'n': '2023', 'v': '2023'}, {'n': '2022', 'v': '2022'}, {'n': '2021', 'v': '2021'}, {'n': '2020', 'v': '2020'}, {'n': '2019', 'v': '2019'}, {'n': '2018', 'v': '2018'}, {'n': '2017', 'v': '2017'}, {'n': '2016', 'v': '2016'}, {'n': '2015', 'v': '2015'}]}], 'child': [{'key': 'sort', 'name': '排序', 'value': [{'n': '最热', 'v': '18'}, {'n': '最新', 'v': '19'}, {'n': '好评', 'v': '16'}, {'n': '高分好评', 'v': '21'}]}, {'key': 'pay', 'name': '资费', 'value': [{'n': '全部', 'v': '-1'}, {'n': '免费', 'v': '867'}, {'n': '会员', 'v': '6'}]}, {'key': 'year', 'name': '年代', 'value': [{'n': '全部', 'v': '-1'}, {'n': '2023', 'v': '2023'}, {'n': '2022', 'v': '2022'}, {'n': '2021', 'v': '2021'}, {'n': '2020', 'v': '2020'}, {'n': '2019', 'v': '2019'}, {'n': '2018', 'v': '2018'}, {'n': '2017', 'v': '2017'}, {'n': '2016', 'v': '2016'}, {'n': '2015', 'v': '2015'}]}], 'doco': [{'key': 'sort', 'name': '排序', 'value': [{'n': '最热', 'v': '18'}, {'n': '最新', 'v': '19'}, {'n': '好评', 'v': '16'}, {'n': '高分好评', 'v': '21'}]}, {'key': 'pay', 'name': '资费', 'value': [{'n': '全部', 'v': '-1'}, {'n': '免费', 'v': '867'}, {'n': '会员', 'v': '6'}]}, {'key': 'year', 'name': '年代', 'value': [{'n': '全部', 'v': '-1'}, {'n': '2023', 'v': '2023'}, {'n': '2022', 'v': '2022'}, {'n': '2021', 'v': '2021'}, {'n': '2020', 'v': '2020'}, {'n': '2019', 'v': '2019'}, {'n': '2018', 'v': '2018'}, {'n': '2017', 'v': '2017'}, {'n': '2016', 'v': '2016'}, {'n': '2015', 'v': '2015'}]}]}, + headers:{ + 'User-Agent':'PC_UA' + }, + timeout:5000, + // class_parse:'.site_channel a;a&&Text;a&&href;channel/(.*)', + cate_exclude:'会员|游戏|全部', + class_name:'少儿&动漫', + class_url:'child&cartoon', + limit:20, + // play_parse:true, + // 手动调用解析请求json的url,此lazy不方便 + lazy:'js:input=""+input.split("?")[0];log(input);let html=JSON.parse(request(input));log(html);input=html.url||input', + 推荐:'.list_item;img&&alt;img&&src;a&&Text;a&&data-float', + 一级:'.list_item;img&&alt;img&&src;a&&Text;a&&data-float', + // 二级:{is_json:1,"title":"data.title;data.moviecategory[0]+data.moviecategory[1]","img":"data.cdncover","desc":"data.area[0];data.director[0]","content":"data.description","tabs":"data.playlink_sites;data.playlinksdetail.#idv.quality","lists":"data.playlinksdetail.#idv.default_url"}, + // 二级:{is_json:1,"title":"data.title;data.moviecategory[0]+data.moviecategory[1]","img":"data.cdncover","desc":"data.area[0];data.director[0]","content":"data.description","tabs":"data.playlink_sites","lists":"data.playlinksdetail.#idv.default_url"}, + 二级:'', + 二级:'js:VOD={};let d=[];let video_list=[];let video_lists=[];let list=[];let QZOutputJson;let html=fetch(input,fetch_params);let sourceId=/get_playsource/.test(input)?input.match(/id=(\\d*?)&/)[1]:input.split("cid=")[1];let cid=sourceId;let detailUrl="https://v.%71%71.com/detail/m/"+cid+".html";log("详情页:"+detailUrl);var pdfh=jsp.pdfh;var pd=jsp.pd;try{let json=JSON.parse(html);VOD={vod_url:input,vod_name:json.c.title,type_name:json.typ.join(","),vod_actor:json.nam.join(","),vod_year:json.c.year,vod_content:json.c.description,vod_remarks:json.rec,vod_pic:urljoin2(input,json.c.pic)}}catch(e){log("解析片名海报等基础信息发生错误:"+e.message)}if(/get_playsource/.test(input)){eval(html);let indexList=QZOutputJson.PlaylistItem.indexList;indexList.forEach(function(it){let dataUrl="https://s.video.qq.com/get_playsource?id="+sourceId+"&plat=2&type=4&data_type=3&range="+it+"&video_type=10&plname=qq&otype=json";eval(fetch(dataUrl,fetch_params));let vdata=QZOutputJson.PlaylistItem.videoPlayList;vdata.forEach(function(item){d.push({title:item.title,pic_url:item.pic,desc:item.episode_number+"\\t\\t\\t播放量:"+item.thirdLine,url:item.playUrl})});video_lists=video_lists.concat(vdata)})}else{let json=JSON.parse(html);video_lists=json.c.video_ids;let url="https://v.qq.com/x/cover/"+sourceId+".html";if(video_lists.length===1){let vid=video_lists[0];url="https://v.qq.com/x/cover/"+cid+"/"+vid+".html";d.push({title:"在线播放",url:url})}else if(video_lists.length>1){for(let i=0;i1?it1.category_map[1]:""})})})}}let yg=d.filter(function(it){return it.type&&it.type!=="正片"});let zp=d.filter(function(it){return!(it.type&&it.type!=="正片")});VOD.vod_play_from=yg.length<1?"qq":"qq$$$qq 预告及花絮";VOD.vod_play_url=yg.length<1?d.map(function(it){return it.title+"$"+it.url}).join("#"):[zp,yg].map(function(it){return it.map(function(its){return its.title+"$"+its.url}).join("#")}).join("$$$");', + // 二级:'js:VOD={};let d=[];let video_list=[];let video_lists=[];let list=[];let QZOutputJson;let html=fetch(input,fetch_params);let sourceId=/get_playsource/.test(input)?input.match(/id=(\\d*?)&/)[1]:input.split("cid=")[1];let cid=sourceId;let detailUrl="https://v.%71%71.com/detail/m/"+cid+".html";log("详情页:"+detailUrl);var pdfh=jsp.pdfh;var pd=jsp.pd;try{let json=JSON.parse(html);VOD={vod_url:input,vod_name:json.c.title,type_name:json.typ.join(","),vod_actor:json.nam.join(","),vod_year:json.c.year,vod_content:json.c.description,vod_remarks:json.rec,vod_pic:urljoin2(input,json.c.pic)}}catch(e){log("解析片名海报等基础信息发生错误:"+e.message)}if(/get_playsource/.test(input)){eval(html);let indexList=QZOutputJson.PlaylistItem.indexList;indexList.forEach(function(it){let dataUrl="https://s.video.qq.com/get_playsource?id="+sourceId+"&plat=2&type=4&data_type=3&range="+it+"&video_type=10&plname=qq&otype=json";eval(fetch(dataUrl,fetch_params));let vdata=QZOutputJson.PlaylistItem.videoPlayList;vdata.forEach(function(item){d.push({title:item.title,pic_url:item.pic,desc:item.episode_number+"\\t\\t\\t播放量:"+item.thirdLine,url:item.playUrl})});video_lists=video_lists.concat(vdata)})}else{let json=JSON.parse(html);video_lists=json.c.video_ids;let url="https://v.qq.com/x/cover/"+sourceId+".html";if(json.c.type===10){let dataUrl="https://s.video.qq.com/get_playsource?id="+json.c.column_id+"&plat=2&type=2&data_type=3&video_type=8&plname=qq&otype=json";let o_html=fetch(dataUrl,fetch_params);eval(o_html);video_lists=[];let indexList=QZOutputJson.PlaylistItem.indexList;indexList.forEach(function(it){let dataUrl="https://s.video.qq.com/get_playsource?id="+json.c.column_id+"&plat=2&type=4&data_type=3&range="+it+"&video_type=10&plname=qq&otype=json";eval(fetch(dataUrl,fetch_params));let vdata=QZOutputJson.PlaylistItem.videoPlayList;vdata.forEach(function(item){d.push({title:item.title,pic_url:item.pic,desc:item.episode_number+"\\t\\t\\t播放量:"+item.thirdLine,url:item.playUrl})});video_lists=video_lists.concat(vdata)})}else if(video_lists.length===1){d.push({title:"在线播放",url:url})}else if(video_lists.length>1){for(let i=0;i1?it1.category_map[1]:""})})})}}let yg=d.filter(function(it){return it.type&&it.type!=="正片"});let zp=d.filter(function(it){return!(it.type&&it.type!=="正片")});VOD.vod_play_from=yg.length<1?"qq":"qq$$$qq 预告及花絮";VOD.vod_play_url=yg.length<1?d.map(function(it){return it.title+"$"+it.url}).join("#"):[zp,yg].map(function(it){return it.map(function(its){return its.title+"$"+its.url}).join("#")}).join("$$$");', + // 搜索:'json:uiData;data[0].title;data[0].posterPic;.titleMarkLabelList[1].primeText;data[0].id;data[0].publishDate', + 搜索:'js:let d=[];pdfa=jsp.pdfa;pdfh=jsp.pdfh;pd=jsp.pd;let html=request(input);let baseList=pdfa(html,"body&&.result_item_v");baseList.forEach(function(it){let longText=pdfh(it,".result_title&&Text");let shortText=pdfh(it,".sub&&Text");let fromTag=pdfh(it,".result_source&&Text");let score=pdfh(it,".result_score&&Text");let content=pdfh(it,".desc_text&&Text");let url=pdfh(it,".result_title&&a&&href");let img=pd(it,".figure_pic&&src");url="https://node.video.qq.com/x/api/float_vinfo2?cid="+url.match(/.*\\/(.*?)\\.html/)[1];log(shortText+"|"+url);if(fromTag.match(/腾讯/)){d.push({title:longText.split(shortText)[0],img:img,url:url,content:content,desc:"⭐"+longText.split(shortText)[1]+"-"+shortText+" "+score})}});setResult(d);', + // 搜索:'json:item;word;dc;class;id;sn', +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/少儿频道/json/儿童口才.json b/tvboxqq/tvboxqq/少儿频道/json/儿童口才.json new file mode 100644 index 0000000..7b721cc --- /dev/null +++ b/tvboxqq/tvboxqq/少儿频道/json/儿童口才.json @@ -0,0 +1,16 @@ +{ + "cookie": "SESSDATA=7624af93%2C1696008331%2C862c8%2A42; bili_jct=141a474ef3ce8cf2fedf384e68f6625d; DedeUserID=3493271303096985; DedeUserID__ckMd5=212a836c164605b7", + "classes":[ + {"type_name":"幼儿识字","type_id":"幼儿识字"}, + {"type_name":"第一课:自我介绍","type_id":"少儿口才第一课:自我介绍"}, + {"type_name":"第二课:站姿训练","type_id":"少儿口才主持人第二课:站姿训练"}, + {"type_name":"第三课:坐姿训练","type_id":"少儿口才第三课:坐姿训练"}, + {"type_name":"第四课:眼神训练","type_id":"少儿口才演讲第四课:眼神训练"}, + {"type_name":"第五课:口部操","type_id":"少儿口才第五课:咋给娃们讲口部操"}, + {"type_name":"少儿口才_01","type_id":"01_01:少儿口才天天练_01"}, + {"type_name":"少儿口才_02","type_id":"01_02:少儿口才"}, + {"type_name":"少儿口才_03","type_id":"01_03:少儿口才"}, + {"type_name":"少儿口才_04","type_id":"01_04:少儿口才"}, + {"type_name":"【少儿口才训练系列】","type_id":"【少儿口才训练系列】"} + ] +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/少儿频道/json/儿童思维.json b/tvboxqq/tvboxqq/少儿频道/json/儿童思维.json new file mode 100644 index 0000000..4998fcd --- /dev/null +++ b/tvboxqq/tvboxqq/少儿频道/json/儿童思维.json @@ -0,0 +1,13 @@ +{ + "cookie": "SESSDATA=7624af93%2C1696008331%2C862c8%2A42; bili_jct=141a474ef3ce8cf2fedf384e68f6625d; DedeUserID=3493271303096985; DedeUserID__ckMd5=212a836c164605b7", + "classes":[ + {"type_name":"数学思维课","type_id":"幼小衔接数学思维课"}, + {"type_name":"摩比爱数学","type_id":"摩比爱数学"}, + {"type_name":"数理思维","type_id":"数理思维"}, + {"type_name":"火花思维","type_id":"火花思维"}, + {"type_name":"幼儿思维","type_id":"幼儿思维训练"}, + {"type_name":"数学思维培养","type_id":"数学思维培养"}, + {"type_name":"儿童思维","type_id":"儿童思维训练"}, + {"type_name":"幼儿思维推理训练","type_id":"幼儿思维推理训练"} + ] +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/少儿频道/json/儿童拼音.json b/tvboxqq/tvboxqq/少儿频道/json/儿童拼音.json new file mode 100644 index 0000000..cea1e3b --- /dev/null +++ b/tvboxqq/tvboxqq/少儿频道/json/儿童拼音.json @@ -0,0 +1,14 @@ +{ + "cookie": "SESSDATA=7624af93%2C1696008331%2C862c8%2A42; bili_jct=141a474ef3ce8cf2fedf384e68f6625d; DedeUserID=3493271303096985; DedeUserID__ckMd5=212a836c164605b7", + "classes":[ + {"type_name":"兔小贝拼音20集","type_id":"兔小贝拼音20集"}, + {"type_name":"拼音启蒙动画课","type_id":"拼音启蒙动画课"}, + {"type_name":"幼儿拼音全套","type_id":"幼儿拼音全套学习课程"}, + {"type_name":"跟我学拼音","type_id":"跟我学拼音"}, + {"type_name":"拼音必修课","type_id":"幼小衔接学拼音必修课"}, + {"type_name":"二十二天搞定拼音","type_id":"二十二天搞定拼音"}, + {"type_name":"芳妈教你学拼音","type_id":"【小学】芳妈教你学拼音"}, + {"type_name":"拼音启蒙动画","type_id":"拼音启蒙动画上下册23集"}, + {"type_name":"练宝宝学习拼音","type_id":"【拼音歌合集】练宝宝学习拼音"} + ] +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/少儿频道/json/儿童武术.json b/tvboxqq/tvboxqq/少儿频道/json/儿童武术.json new file mode 100644 index 0000000..2d66bbf --- /dev/null +++ b/tvboxqq/tvboxqq/少儿频道/json/儿童武术.json @@ -0,0 +1,10 @@ +{ + "cookie": "SESSDATA=7624af93%2C1696008331%2C862c8%2A42; bili_jct=141a474ef3ce8cf2fedf384e68f6625d; DedeUserID=3493271303096985; DedeUserID__ckMd5=212a836c164605b7", + "classes":[ + {"type_name":"剑术","type_id":"剑术一段《中国武术段位制教程 剑术》"}, + {"type_name":"少儿武术","type_id":"少儿武术:五步拳"}, + {"type_name":"武术入门","type_id":"少儿武术入门"}, + {"type_name":"旭日东升武术","type_id":"少儿武术:旭日东升武术"}, + {"type_name":"散打","type_id":"武术散打教学视频"} + ] +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/少儿频道/json/儿童硬笔.json b/tvboxqq/tvboxqq/少儿频道/json/儿童硬笔.json new file mode 100644 index 0000000..606abdd --- /dev/null +++ b/tvboxqq/tvboxqq/少儿频道/json/儿童硬笔.json @@ -0,0 +1,11 @@ +{ + "cookie": "SESSDATA=7624af93%2C1696008331%2C862c8%2A42; bili_jct=141a474ef3ce8cf2fedf384e68f6625d; DedeUserID=3493271303096985; DedeUserID__ckMd5=212a836c164605b7", + "classes":[ + {"type_name":"写字启蒙教程","type_id":"写字启蒙教程"}, + {"type_name":"叫叫硬笔书法","type_id":"叫叫硬笔书法"}, + {"type_name":"硬笔书法123节超好用","type_id":"硬笔书法123节超好用"}, + {"type_name":"王洪涛高效练字课","type_id":"王洪涛高效练字课"}, + {"type_name":"书法全套课【168集全】","type_id":"书法全套课【168集全】"}, + {"type_name":"1000+集全【汉字基本笔画部首入门】","type_id":"1000+集全【汉字基本笔画部首入门"} + ] +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/少儿频道/json/儿童编程.json b/tvboxqq/tvboxqq/少儿频道/json/儿童编程.json new file mode 100644 index 0000000..83fc3dc --- /dev/null +++ b/tvboxqq/tvboxqq/少儿频道/json/儿童编程.json @@ -0,0 +1,8 @@ +{ + "cookie": "SESSDATA=7624af93%2C1696008331%2C862c8%2A42; bili_jct=141a474ef3ce8cf2fedf384e68f6625d; DedeUserID=3493271303096985; DedeUserID__ckMd5=212a836c164605b7", + "classes":[ + {"type_name":"Sratch编程","type_id":"【123集】新版少儿编程scratch3.0从入门到精通"}, + {"type_name":"少儿Python","type_id":"少儿Python"}, + {"type_name":"少儿C++","type_id":"小学生《趣味C++入门》"} + ] +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/少儿频道/json/儿童英语.json b/tvboxqq/tvboxqq/少儿频道/json/儿童英语.json new file mode 100644 index 0000000..1c43713 --- /dev/null +++ b/tvboxqq/tvboxqq/少儿频道/json/儿童英语.json @@ -0,0 +1,12 @@ +{ + "cookie": "SESSDATA=7624af93%2C1696008331%2C862c8%2A42; bili_jct=141a474ef3ce8cf2fedf384e68f6625d; DedeUserID=3493271303096985; DedeUserID__ckMd5=212a836c164605b7", + "classes":[ + {"type_name":"英语音标","type_id":"幼儿音标教学"}, + {"type_name":"牛津阅读","type_id":"牛津阅读1-6级"}, + {"type_name":"洪恩幼儿英语","type_id":"洪恩幼儿英语"}, + {"type_name":"儿童英语","type_id":"儿童英语"}, + {"type_name":"英语动画","type_id":"英语动画"}, + {"type_name":"英文动画","type_id":"英文动画"}, + {"type_name":"幼儿园英语","type_id":"幼儿园英语"} + ] +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/少儿频道/json/儿童识字.json b/tvboxqq/tvboxqq/少儿频道/json/儿童识字.json new file mode 100644 index 0000000..16a86d6 --- /dev/null +++ b/tvboxqq/tvboxqq/少儿频道/json/儿童识字.json @@ -0,0 +1,13 @@ +{ + "cookie": "SESSDATA=7624af93%2C1696008331%2C862c8%2A42; bili_jct=141a474ef3ce8cf2fedf384e68f6625d; DedeUserID=3493271303096985; DedeUserID__ckMd5=212a836c164605b7", + "classes":[ + {"type_name":"幼儿识字","type_id":"幼儿识字"}, + {"type_name":"识字动画","type_id":"识字动画"}, + {"type_name":"悟空识字","type_id":"悟空识字"}, + {"type_name":"认字动画","type_id":"认字动画"}, + {"type_name":"汉字学习","type_id":"汉字学习"}, + {"type_name":"小灯塔神奇的汉字","type_id":"小灯塔神奇的汉字"}, + {"type_name":"汉字的演变","type_id":"汉字的演变"}, + {"type_name":"汉字宫","type_id":"汉字宫"} + ] +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/少儿频道/json/兔小贝.json b/tvboxqq/tvboxqq/少儿频道/json/兔小贝.json new file mode 100644 index 0000000..ead838c --- /dev/null +++ b/tvboxqq/tvboxqq/少儿频道/json/兔小贝.json @@ -0,0 +1,53 @@ +{ + "规则名": "兔小贝", + "规则作者": "香雅情", + "请求头参数": "手机", + "网页编码格式": "UTF-8", + "图片是否需要代理": "0", + "分类起始页码": "1", + "分类链接": "https://www.tuxiaobei.com/list/mip-data?typeId={cateId}&page={catePg}&callback=jsonp", + "分类名称": "儿歌&故事&国学&启蒙", + "分类名称替换词": "2&3&4&25", + "筛选数据": {}, + "筛选子分类名称": "", + "筛选子分类替换词": "", + "分类截取模式": "0", + "分类Json数据二次截取": "jsonp(&&);", + "分类列表数组规则": "data.items", + "分类片单是否Jsoup写法": "0", + "分类片单标题": "name", + "分类片单链接": "video_id", + "分类片单图片": "image", + "分类片单副标题": "duration_string", + "分类片单链接加前缀": "https://www.tuxiaobei.com/play/", + "分类片单链接加后缀": "", + "搜索请求头参数": "User-Agent$手机", + "搜索链接": "https://www.tuxiaobei.com/search/index?key={wd}", + "POST请求数据": "", + "搜索截取模式": "1", + "搜索列表数组规则": ".list-con&&.items", + "搜索片单是否Jsoup写法": "1", + "搜索片单图片": "mip-img&&src", + "搜索片单标题": ".title&&Text", + "搜索片单链接": "a&&href", + "搜索片单副标题": ".time&&Text", + "搜索片单链接加前缀": "https://www.tuxiaobei.com", + "搜索片单链接加后缀": "", + "链接是否直接播放": "2", + "直接播放链接加前缀": "", + "直接播放链接加后缀": "#isVideo=true#", + "直接播放直链视频请求头": "", + "线路列表数组规则": "", + "线路标题": "", + "播放列表数组规则": "body", + "选集列表数组规则": ".video", + "选集标题链接是否Jsoup写法": "1", + "选集标题": "'立即播放'", + "选集链接": "mip-search-video&&video-src", + "是否反转选集序列": "0", + "选集链接加前缀": "", + "选集链接加后缀": "", + "是否开启手动嗅探": "0", + "手动嗅探视频链接关键词": ".mp4", + "手动嗅探视频链接过滤词": ".html#=http" +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/少儿频道/json/兔小贝2.json b/tvboxqq/tvboxqq/少儿频道/json/兔小贝2.json new file mode 100644 index 0000000..1d6d2fe --- /dev/null +++ b/tvboxqq/tvboxqq/少儿频道/json/兔小贝2.json @@ -0,0 +1,52 @@ +{ + "规则名": "兔小贝", + "规则作者": "香雅情", + "请求头参数": "手机", + "网页编码格式": "UTF-8", + "图片是否需要代理": "0", + "分类起始页码": "1", + "分类链接": "https://www.tuxiaobei.com/subject/{cateId}", + "分类名称": "兔小贝原创儿歌&睡前儿歌&Everybody动起来&爸爸妈妈小时候的儿歌&宝宝吃饭香&乖宝宝不哭闹&好宝宝爱上学&欢快儿歌&经典儿歌&快乐的节日&快乐的童年&流行儿歌&美丽四季&男孩最爱&女孩最爱&我爱爸爸妈妈&我的动物朋友&我的祖国和我&舞蹈音乐&英文儿歌&粤语儿歌&早教好习惯&放暑假啦&我能照顾好自己&画一个梦&哆啦A梦的神奇口袋&你是我的小天使&最动听的笑声&许个愿吧&阳光下的我们&智慧成语故事&名人成语故事&励志成语故事&神话成语故事&古诗启蒙&三字经&弟子规&千字文&十万个为什么&神奇的大自然&英语宝典&数学课堂&动物奇缘&安全教育", + "分类名称替换词": "17&16&1&2&3&4&5&6&9&10&11&12&13&14&15&19&20&21&22&23&24&25&56&57&58&59&60&61&62&63&89&90&88&87&39&43&46&48&54&55&50&51&53&84", + "筛选数据": {}, + "筛选子分类名称": "", + "筛选子分类替换词": "", + "分类截取模式": "1", + "分类列表数组规则": ".list-con&&.items", + "分类片单是否Jsoup写法": "1", + "分类片单标题": ".title&&Text", + "分类片单链接": "a&&href", + "分类片单图片": "mip-img&&src", + "分类片单副标题": ".time&&Text", + "分类片单链接加前缀": "https://www.tuxiaobei.com", + "分类片单链接加后缀": "", + "搜索请求头参数": "User-Agent$手机", + "搜索链接": "https://www.tuxiaobei.com/search/index?key={wd}", + "POST请求数据": "", + "搜索截取模式": "1", + "搜索列表数组规则": ".list-con&&.items", + "搜索片单是否Jsoup写法": "1", + "搜索片单图片": "mip-img&&src", + "搜索片单标题": ".title&&Text", + "搜索片单链接": "a&&href", + "搜索片单副标题": ".time&&Text", + "搜索片单链接加前缀": "https://www.tuxiaobei.com", + "搜索片单链接加后缀": "", + "链接是否直接播放": "2", + "直接播放链接加前缀": "", + "直接播放链接加后缀": "#isVideo=true#", + "直接播放直链视频请求头": "", + "线路列表数组规则": "", + "线路标题": "", + "播放列表数组规则": "body", + "选集列表数组规则": ".video", + "选集标题链接是否Jsoup写法": "1", + "选集标题": "'立即播放'", + "选集链接": "mip-search-video&&video-src", + "是否反转选集序列": "0", + "选集链接加前缀": "", + "选集链接加后缀": "", + "是否开启手动嗅探": "0", + "手动嗅探视频链接关键词": ".mp4", + "手动嗅探视频链接过滤词": ".html#=http" +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/少儿频道/json/兴趣培养.json b/tvboxqq/tvboxqq/少儿频道/json/兴趣培养.json new file mode 100644 index 0000000..a79ca30 --- /dev/null +++ b/tvboxqq/tvboxqq/少儿频道/json/兴趣培养.json @@ -0,0 +1,222 @@ +{ + "cookie": "SESSDATA=7624af93%2C1696008331%2C862c8%2A42; bili_jct=141a474ef3ce8cf2fedf384e68f6625d; DedeUserID=3493271303096985; DedeUserID__ckMd5=212a836c164605b7", + "classes": [ + {"type_name": "☯️太极拳","type_id": "太极拳"}, + {"type_name": "五子棋","type_id": "少儿五子棋"}, + {"type_name": "象棋","type_id": "少儿象棋"}, + {"type_name": "围棋","type_id": "少儿围棋"}, + {"type_name": "跳绳","type_id": "少儿跳绳"}, + {"type_name": "少儿绘画","type_id": "少儿绘画"}, + {"type_name": "🏓乒乓球","type_id": "少儿乒乓球"}, + {"type_name": "🏸羽毛球","type_id": "少儿羽毛球"}, + {"type_name": "🏀篮球","type_id": "少儿篮球"}, + {"type_name": "溜冰","type_id": "少儿溜冰"}, + {"type_name": "🏊️游泳","type_id":"少儿游泳"}, + {"type_name": "🕺广场舞","type_id": "广场舞"}], + + "filter":{ + "少儿游泳":[ + {"key":"tid","name":"分类","value":[ + {"n":"全部","v":"少儿游泳"}, + {"n":"儿童游泳","v":"儿童游泳"}, + {"n":"游泳教学","v":"游泳教学"}, + {"n":"蛙泳","v":"蛙泳"}, + {"n":"自由泳","v":"自由泳"}]}, + {"key":"duration","name":"时长","value":[ + {"n":"全部","v":"0"}, + {"n":"60分钟以上","v":"4"}, + {"n":"30~60分钟","v":"3"}, + {"n":"10~30分钟","v":"2"}, + {"n":"10分钟以下","v":"1"}]}], + "太极拳":[{"key":"order","name":"排序","value":[ + {"n":"综合排序","v":"0"}, + {"n":"最多点击","v":"click"}, + {"n":"最新发布","v":"pubdate"}, + {"n":"最多弹幕","v":"dm"}, + {"n":"最多收藏","v":"stow"}]}, + {"key":"tid","name":"分类","value":[ + {"n":"全部","v":"太极拳"}, + {"n":"邱慧芳","v":"太极拳邱慧芳"}, + {"n":"陈氏","v":"太极拳陈氏"}, + {"n":"武当","v":"太极拳武当"}, + {"n":"二十四式","v":"太极拳二十四式"}, + {"n":"三十六式","v":"太极拳三十六式"}, + {"n":"五禽戏","v":"五禽戏"}, + {"n":"八段锦","v":"八段锦"}]}, + {"key":"duration","name":"时长","value":[ + {"n":"全部","v":"0"}, + {"n":"60分钟以上","v":"4"}, + {"n":"30~60分钟","v":"3"}, + {"n":"10~30分钟","v":"2"}, + {"n":"10分钟以下","v":"1"}]}], + "广场舞":[{"key":"order","name":"排序","value":[ + {"n":"综合排序","v":"0"}, + {"n":"最多点击","v":"click"}, + {"n":"最新发布","v":"pubdate"}, + {"n":"最多弹幕","v":"dm"}, + {"n":"最多收藏","v":"stow"}]}, + {"key":"duration","name":"时长","value":[ + {"n":"全部","v":"0"}, + {"n":"60分钟以上","v":"4"}, + {"n":"30~60分钟","v":"3"}, + {"n":"10~30分钟","v":"2"}, + {"n":"10分钟以下","v":"1"}]}], + "少儿象棋":[ + {"key":"tid","name":"分类","value":[ + {"n":"全部","v":"少儿象棋"}, + {"n":"象棋入门","v":"象棋入门"}, + {"n":"象棋启蒙","v":"象棋启蒙"}, + {"n":"象棋教学","v":"象棋教学"}, + {"n":"象棋基础","v":"象棋基础"}]}, + {"key":"duration","name":"时长","value":[ + {"n":"全部","v":"0"}, + {"n":"60分钟以上","v":"4"}, + {"n":"30~60分钟","v":"3"}, + {"n":"10~30分钟","v":"2"}, + {"n":"10分钟以下","v":"1"}]}], + "少儿五子棋":[ + {"key":"tid","name":"分类","value":[ + {"n":"全部","v":"少儿五子棋"}, + {"n":"五子棋入门","v":"五子棋入门"}, + {"n":"五子棋启蒙","v":"五子棋启蒙"}, + {"n":"五子棋教学","v":"五子棋教学"}, + {"n":"五子棋基础","v":"五子棋基础"}]}, + {"key":"duration","name":"时长","value":[ + {"n":"全部","v":"0"}, + {"n":"60分钟以上","v":"4"}, + {"n":"30~60分钟","v":"3"}, + {"n":"10~30分钟","v":"2"}, + {"n":"10分钟以下","v":"1"}]}], + "少儿围棋":[ + {"key":"tid","name":"分类","value":[ + {"n":"全部","v":"少儿围棋"}, + {"n":"围棋入门","v":"围棋入门"}, + {"n":"围棋启蒙","v":"围棋启蒙"}, + {"n":"围棋教学","v":"围棋教学"}, + {"n":"围棋基础","v":"围棋基础"}]}, + {"key":"duration","name":"时长","value":[ + {"n":"全部","v":"0"}, + {"n":"60分钟以上","v":"4"}, + {"n":"30~60分钟","v":"3"}, + {"n":"10~30分钟","v":"2"}, + {"n":"10分钟以下","v":"1"}]}], + "少儿跳绳":[ + {"key":"tid","name":"分类","value":[ + {"n":"全部","v":"少儿跳绳"}, + {"n":"跳绳入门","v":"跳绳入门"}, + {"n":"跳绳启蒙","v":"跳绳启蒙"}, + {"n":"跳绳教学","v":"跳绳教学"}, + {"n":"跳绳基础","v":"跳绳基础"}, + {"n":"跳绳学习","v":"跳绳学习"}, + {"n":"儿童跳绳","v":"儿童跳绳"}, + {"n":"小学跳绳","v":"小学跳绳"}]}, + {"key":"duration","name":"时长","value":[ + {"n":"全部","v":"0"}, + {"n":"60分钟以上","v":"4"}, + {"n":"30~60分钟","v":"3"}, + {"n":"10~30分钟","v":"2"}, + {"n":"10分钟以下","v":"1"}]}], + "少儿绘画":[ + {"key":"tid","name":"分类","value":[ + {"n":"全部","v":"少儿绘画"}, + {"n":"绘画入门","v":"绘画入门"}, + {"n":"绘画启蒙","v":"绘画启蒙"}, + {"n":"绘画教学","v":"绘画教学"}, + {"n":"绘画基础","v":"绘画基础"}, + {"n":"绘画学习","v":"绘画学习"}, + {"n":"儿童绘画","v":"儿童绘画"}, + {"n":"美术入门","v":"美术入门"}, + {"n":"美术启蒙","v":"美术启蒙"}, + {"n":"美术教学","v":"美术教学"}, + {"n":"美术基础","v":"美术基础"}, + {"n":"美术学习","v":"美术学习"}, + {"n":"儿童美术","v":"儿童美术"}, + {"n":"小学绘画","v":"小学绘画"}]}, + {"key":"duration","name":"时长","value":[ + {"n":"全部","v":"0"}, + {"n":"60分钟以上","v":"4"}, + {"n":"30~60分钟","v":"3"}, + {"n":"10~30分钟","v":"2"}, + {"n":"10分钟以下","v":"1"}]}], + "少儿乒乓球":[ + {"key":"tid","name":"分类","value":[ + {"n":"全部","v":"少儿乒乓球"}, + {"n":"乒乓球入门","v":"乒乓球入门"}, + {"n":"乒乓球启蒙","v":"乒乓球启蒙"}, + {"n":"乒乓球教学","v":"乒乓球教学"}, + {"n":"乒乓球基础","v":"乒乓球基础"}, + {"n":"乒乓球学习","v":"乒乓球学习"}, + {"n":"儿童乒乓球","v":"儿童乒乓球"}, + {"n":"小学乒乓球","v":"小学乒乓球"}]}, + {"key":"duration","name":"时长","value":[ + {"n":"全部","v":"0"}, + {"n":"60分钟以上","v":"4"}, + {"n":"30~60分钟","v":"3"}, + {"n":"10~30分钟","v":"2"}, + {"n":"10分钟以下","v":"1"}]}], + "少儿羽毛球":[ + {"key":"tid","name":"分类","value":[ + {"n":"全部","v":"少儿羽毛球"}, + {"n":"羽毛球入门","v":"羽毛球入门"}, + {"n":"羽毛球启蒙","v":"羽毛球启蒙"}, + {"n":"羽毛球教学","v":"羽毛球教学"}, + {"n":"羽毛球基础","v":"羽毛球基础"}, + {"n":"羽毛球学习","v":"羽毛球学习"}, + {"n":"儿童羽毛球","v":"儿童羽毛球"}, + {"n":"小学羽毛球","v":"小学羽毛球"}]}, + {"key":"duration","name":"时长","value":[ + {"n":"全部","v":"0"}, + {"n":"60分钟以上","v":"4"}, + {"n":"30~60分钟","v":"3"}, + {"n":"10~30分钟","v":"2"}, + {"n":"10分钟以下","v":"1"}]}], + "少儿足球":[ + {"key":"tid","name":"分类","value":[ + {"n":"全部","v":"少儿足球"}, + {"n":"足球入门","v":"足球入门"}, + {"n":"足球启蒙","v":"足球启蒙"}, + {"n":"足球教学","v":"足球教学"}, + {"n":"足球基础","v":"足球基础"}, + {"n":"足球学习","v":"足球学习"}, + {"n":"儿童足球","v":"儿童足球"}, + {"n":"小学足球","v":"小学足球"}]}, + {"key":"duration","name":"时长","value":[ + {"n":"全部","v":"0"}, + {"n":"60分钟以上","v":"4"}, + {"n":"30~60分钟","v":"3"}, + {"n":"10~30分钟","v":"2"}, + {"n":"10分钟以下","v":"1"}]}], + "少儿篮球":[ + {"key":"tid","name":"分类","value":[ + {"n":"全部","v":"少儿篮球"}, + {"n":"篮球入门","v":"篮球入门"}, + {"n":"篮球启蒙","v":"篮球启蒙"}, + {"n":"篮球教学","v":"篮球教学"}, + {"n":"篮球基础","v":"篮球基础"}, + {"n":"篮球学习","v":"篮球学习"}, + {"n":"儿童篮球","v":"儿童篮球"}, + {"n":"小学篮球","v":"小学篮球"}]}, + {"key":"duration","name":"时长","value":[ + {"n":"全部","v":"0"}, + {"n":"60分钟以上","v":"4"}, + {"n":"30~60分钟","v":"3"}, + {"n":"10~30分钟","v":"2"}, + {"n":"10分钟以下","v":"1"}]}], + "少儿溜冰":[ + {"key":"tid","name":"分类","value":[ + {"n":"全部","v":"少儿溜冰"}, + {"n":"溜冰入门","v":"溜冰入门"}, + {"n":"溜冰启蒙","v":"溜冰启蒙"}, + {"n":"溜冰教学","v":"溜冰教学"}, + {"n":"溜冰基础","v":"溜冰基础"}, + {"n":"溜冰学习","v":"溜冰学习"}, + {"n":"儿童溜冰","v":"儿童溜冰"}, + {"n":"小学溜冰","v":"小学溜冰"}]}, + {"key":"duration","name":"时长","value":[ + {"n":"全部","v":"0"}, + {"n":"60分钟以上","v":"4"}, + {"n":"30~60分钟","v":"3"}, + {"n":"10~30分钟","v":"2"}, + {"n":"10分钟以下","v":"1"}]}] + } +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/少儿频道/json/哔哩哔哩初中.json b/tvboxqq/tvboxqq/少儿频道/json/哔哩哔哩初中.json new file mode 100644 index 0000000..af192ea --- /dev/null +++ b/tvboxqq/tvboxqq/少儿频道/json/哔哩哔哩初中.json @@ -0,0 +1,257 @@ +{ + "cookie": "SESSDATA=7624af93%2C1696008331%2C862c8%2A42; bili_jct=141a474ef3ce8cf2fedf384e68f6625d; DedeUserID=3493271303096985; DedeUserID__ckMd5=212a836c164605b7", +"classes": [{"type_name": "初一语文","type_id": "初一语文"}, +{"type_name": "初一数学","type_id": "初一数学"}, +{"type_name": "初一英语","type_id": "初一英语"}, +{"type_name": "初一历史","type_id": "初一历史"}, +{"type_name": "初一地理","type_id": "初一地理"}, +{"type_name": "初一生物","type_id": "初一生物"}, +{"type_name": "初一物理","type_id": "初一物理"}, +{"type_name": "初一化学","type_id": "初一化学"}, +{"type_name": "初二语文","type_id": "初二语文"}, +{"type_name": "初二数学","type_id": "初二数学"}, +{"type_name": "初二英语","type_id": "初二英语"}, +{"type_name": "初二历史","type_id": "初二历史"}, +{"type_name": "初二地理","type_id": "初二地理"}, +{"type_name": "初二生物","type_id": "初二生物"}, +{"type_name": "初二物理","type_id": "初二物理"}, +{"type_name": "初二化学","type_id": "初二化学"}, +{"type_name": "初三语文","type_id": "初三语文"}, +{"type_name": "初三数学","type_id": "初三数学"}, +{"type_name": "初三英语","type_id": "初三英语"}, +{"type_name": "初三历史","type_id": "初三历史"}, +{"type_name": "初三地理","type_id": "初三地理"}, +{"type_name": "初三生物","type_id": "初三生物"}, +{"type_name": "初三物理","type_id": "初三物理"}, +{"type_name": "初三化学","type_id": "初三化学"}], +"filter": {"初一语文": [{"key": "tid","name": "分类","value": [{"n": "全部","v": "语文初一"}, +{"n": "沪教版","v": "沪教版初一语文"}, +{"n": "人教版","v": "人教版初一语文"}, +{"n": "北师大版","v": "北师大版初一语文"}, +{"n": "苏教版","v": "苏教版初一语文"}]}, +{"key": "duration","name": "时长","value": [{"n": "全部","v": "0"}, +{"n": "60分钟以上","v": "4"}, +{"n": "30~60分钟","v": "3"}, +{"n": "10~30分钟","v": "2"}, +{"n": "10分钟以下","v": "1"}]}],"初一英语": [{"key": "tid","name": "分类","value": [{"n": "全部","v": "初一英语"}, +{"n": "沪教版","v": "沪教版初一英语"}, +{"n": "人教版","v": "人教版初一英语"}, +{"n": "北师大版","v": "北师大版初一英语"}, +{"n": "苏教版","v": "苏教版初一英语"}]}, +{"key": "duration","name": "时长","value": [{"n": "全部","v": "0"}, +{"n": "60分钟以上","v": "4"}, +{"n": "30~60分钟","v": "3"}, +{"n": "10~30分钟","v": "2"}, +{"n": "10分钟以下","v": "1"}]}],"初一数学": [{"key": "tid","name": "分类","value": [{"n": "全部","v": "初一数学"}, +{"n": "沪教版","v": "沪教版初一数学"}, +{"n": "人教版","v": "人教版初一数学"}, +{"n": "北师大版","v": "北师大版初一数学"}, +{"n": "苏教版","v": "苏教版初一数学"}]}, +{"key": "duration","name": "时长","value": [{"n": "全部","v": "0"}, +{"n": "60分钟以上","v": "4"}, +{"n": "30~60分钟","v": "3"}, +{"n": "10~30分钟","v": "2"}, +{"n": "10分钟以下","v": "1"}]}],"初一化学": [{"key": "tid","name": "分类","value": [{"n": "全部","v": "初一化学"}, +{"n": "沪教版","v": "沪教版初一化学"}, +{"n": "人教版","v": "人教版初一化学"}, +{"n": "北师大版","v": "北师大版初一化学"}, +{"n": "苏教版","v": "苏教版初一化学"}]}, +{"key": "duration","name": "时长","value": [{"n": "全部","v": "0"}, +{"n": "60分钟以上","v": "4"}, +{"n": "30~60分钟","v": "3"}, +{"n": "10~30分钟","v": "2"}, +{"n": "10分钟以下","v": "1"}]}],"初一物理": [{"key": "tid","name": "分类","value": [{"n": "全部","v": "初一物理"}, +{"n": "沪教版","v": "沪教版初一物理"}, +{"n": "人教版","v": "人教版初一物理"}, +{"n": "北师大版","v": "北师大版初一物理"}, +{"n": "苏教版","v": "苏教版初一物理"}]}, +{"key": "duration","name": "时长","value": [{"n": "全部","v": "0"}, +{"n": "60分钟以上","v": "4"}, +{"n": "30~60分钟","v": "3"}, +{"n": "10~30分钟","v": "2"}, +{"n": "10分钟以下","v": "1"}]}],"初一生物": [{"key": "tid","name": "分类","value": [{"n": "全部","v": "初一生物"}, +{"n": "沪教版","v": "沪教版初一生物"}, +{"n": "人教版","v": "人教版初一生物"}, +{"n": "北师大版","v": "北师大版初一生物"}, +{"n": "苏教版","v": "苏教版初一生物"}]}, +{"key": "duration","name": "时长","value": [{"n": "全部","v": "0"}, +{"n": "60分钟以上","v": "4"}, +{"n": "30~60分钟","v": "3"}, +{"n": "10~30分钟","v": "2"}, +{"n": "10分钟以下","v": "1"}]}],"初一地理": [{"key": "tid","name": "分类","value": [{"n": "全部","v": "初一地理"}, +{"n": "沪教版","v": "沪教版初一地理"}, +{"n": "人教版","v": "人教版初一地理"}, +{"n": "北师大版","v": "北师大版初一地理"}, +{"n": "苏教版","v": "苏教版初一地理"}]}, +{"key": "duration","name": "时长","value": [{"n": "全部","v": "0"}, +{"n": "60分钟以上","v": "4"}, +{"n": "30~60分钟","v": "3"}, +{"n": "10~30分钟","v": "2"}, +{"n": "10分钟以下","v": "1"}]}],"初一历史": [{"key": "tid","name": "分类","value": [{"n": "全部","v": "初一历史"}, +{"n": "沪教版","v": "沪教版初一历史"}, +{"n": "人教版","v": "人教版初一历史"}, +{"n": "北师大版","v": "北师大版初一历史"}, +{"n": "苏教版","v": "苏教版初一历史"}]}, +{"key": "duration","name": "时长","value": [{"n": "全部","v": "0"}, +{"n": "60分钟以上","v": "4"}, +{"n": "30~60分钟","v": "3"}, +{"n": "10~30分钟","v": "2"}, +{"n": "10分钟以下","v": "1"}]}],"初二语文": [{"key": "tid","name": "分类","value": [{"n": "全部","v": "初二语文"}, +{"n": "沪教版","v": "沪教版初二语文"}, +{"n": "人教版","v": "人教版初二语文"}, +{"n": "北师大版","v": "北师大版初二语文"}, +{"n": "苏教版","v": "苏教版初二语文"}]}, +{"key": "duration","name": "时长","value": [{"n": "全部","v": "0"}, +{"n": "60分钟以上","v": "4"}, +{"n": "30~60分钟","v": "3"}, +{"n": "10~30分钟","v": "2"}, +{"n": "10分钟以下","v": "1"}]}],"初二英语": [{"key": "tid","name": "分类","value": [{"n": "全部","v": "初二英语"}, +{"n": "沪教版","v": "沪教版初二英语"}, +{"n": "人教版","v": "人教版初二英语"}, +{"n": "北师大版","v": "北师大版初二英语"}, +{"n": "苏教版","v": "苏教版初二英语"}]}, +{"key": "duration","name": "时长","value": [{"n": "全部","v": "0"}, +{"n": "60分钟以上","v": "4"}, +{"n": "30~60分钟","v": "3"}, +{"n": "10~30分钟","v": "2"}, +{"n": "10分钟以下","v": "1"}]}], +"初二数学": [{"key": "tid","name": "分类","value": [{"n": "全部","v": "初二数学"}, +{"n": "沪教版","v": "沪教版初二数学"}, +{"n": "人教版","v": "人教版初二数学"}, +{"n": "北师大版","v": "北师大版初二数学"}, +{"n": "苏教版","v": "苏教版初二数学"}]}, +{"key": "duration","name": "时长","value": [{"n": "全部","v": "0"}, +{"n": "60分钟以上","v": "4"}, +{"n": "30~60分钟","v": "3"}, +{"n": "10~30分钟","v": "2"}, +{"n": "10分钟以下","v": "1"}]}], +"初二化学": [{"key": "tid","name": "分类","value": [{"n": "全部","v": "初二化学"}, +{"n": "沪教版","v": "沪教版初二化学"}, +{"n": "人教版","v": "人教版初二化学"}, +{"n": "北师大版","v": "北师大版初二化学"}, +{"n": "苏教版","v": "苏教版初二化学"}]}, +{"key": "duration","name": "时长","value": [{"n": "全部","v": "0"}, +{"n": "60分钟以上","v": "4"}, +{"n": "30~60分钟","v": "3"}, +{"n": "10~30分钟","v": "2"}, +{"n": "10分钟以下","v": "1"}]}], +"初二物理": [{"key": "tid","name": "分类","value": [{"n": "全部","v": "初二物理"}, +{"n": "沪教版","v": "沪教版初二物理"}, +{"n": "人教版","v": "人教版初二物理"}, +{"n": "北师大版","v": "北师大版初二物理"}, +{"n": "苏教版","v": "苏教版初二物理"}]}, +{"key": "duration","name": "时长","value": [{"n": "全部","v": "0"}, +{"n": "60分钟以上","v": "4"}, +{"n": "30~60分钟","v": "3"}, +{"n": "10~30分钟","v": "2"}, +{"n": "10分钟以下","v": "1"}]}], +"初二生物": [{"key": "tid","name": "分类","value": [{"n": "全部","v": "初二生物"}, +{"n": "沪教版","v": "沪教版初二生物"}, +{"n": "人教版","v": "人教版初二生物"}, +{"n": "北师大版","v": "北师大版初二生物"}, +{"n": "苏教版","v": "苏教版初二生物"}]}, +{"key": "duration","name": "时长","value": [{"n": "全部","v": "0"}, +{"n": "60分钟以上","v": "4"}, +{"n": "30~60分钟","v": "3"}, +{"n": "10~30分钟","v": "2"}, +{"n": "10分钟以下","v": "1"}]}], +"初二地理": [{"key": "tid","name": "分类","value": [{"n": "全部","v": "初二地理"}, +{"n": "沪教版","v": "沪教版初二地理"}, +{"n": "人教版","v": "人教版初二地理"}, +{"n": "北师大版","v": "北师大版初二生物"}, +{"n": "苏教版","v": "苏教版初二地理"}]}, +{"key": "duration","name": "时长","value": [{"n": "全部","v": "0"}, +{"n": "60分钟以上","v": "4"}, +{"n": "30~60分钟","v": "3"}, +{"n": "10~30分钟","v": "2"}, +{"n": "10分钟以下","v": "1"}]}], +"初二历史": [{"key": "tid","name": "分类","value": [{"n": "全部","v": "初二历史"}, +{"n": "沪教版","v": "沪教版初二历史"}, +{"n": "人教版","v": "人教版初二历史"}, +{"n": "北师大版","v": "北师大版初二历史"}, +{"n": "苏教版","v": "苏教版初二历史"}]}, +{"key": "duration","name": "时长","value": [{"n": "全部","v": "0"}, +{"n": "60分钟以上","v": "4"}, +{"n": "30~60分钟","v": "3"}, +{"n": "10~30分钟","v": "2"}, +{"n": "10分钟以下","v": "1"}]}], +"初三语文": [{"key": "tid","name": "分类","value": [{"n": "全部","v": "初三语文"}, +{"n": "沪教版","v": "沪教版初三语文"}, +{"n": "人教版","v": "人教版初三语文"}, +{"n": "北师大版","v": "北师大版初三语文"}, +{"n": "苏教版","v": "苏教版初三语文"}]}, +{"key": "duration","name": "时长","value": [{"n": "全部","v": "0"}, +{"n": "60分钟以上","v": "4"}, +{"n": "30~60分钟","v": "3"}, +{"n": "10~30分钟","v": "2"}, +{"n": "10分钟以下","v": "1"}]}], +"初三英语": [{"key": "tid","name": "分类","value": [{"n": "全部","v": "初三英语"}, +{"n": "沪教版","v": "沪教版初三英语"}, +{"n": "人教版","v": "人教版初三英语"}, +{"n": "北师大版","v": "北师大版初三英语"}, +{"n": "苏教版","v": "苏教版初三英语"}]}, +{"key": "duration","name": "时长","value": [{"n": "全部","v": "0"}, +{"n": "60分钟以上","v": "4"}, +{"n": "30~60分钟","v": "3"}, +{"n": "10~30分钟","v": "2"}, +{"n": "10分钟以下","v": "1"}]}], +"初三数学": [{"key": "tid","name": "分类","value": [{"n": "全部","v": "初三数学"}, +{"n": "沪教版","v": "沪教版初三数学"}, +{"n": "人教版","v": "人教版初三数学"}, +{"n": "北师大版","v": "北师大版初三数学"}, +{"n": "苏教版","v": "苏教版初三数学"}]}, +{"key": "duration","name": "时长","value": [{"n": "全部","v": "0"}, +{"n": "60分钟以上","v": "4"}, +{"n": "30~60分钟","v": "3"}, +{"n": "10~30分钟","v": "2"}, +{"n": "10分钟以下","v": "1"}]}], +"初三地理": [{"key": "tid","name": "分类","value": [{"n": "全部","v": "初三地理"}, +{"n": "沪教版","v": "沪教版初三地理"}, +{"n": "人教版","v": "人教版初三地理"}, +{"n": "北师大版","v": "北师大版初三地理"}, +{"n": "苏教版","v": "苏教版初三地理"}]}, +{"key": "duration","name": "时长","value": [{"n": "全部","v": "0"}, +{"n": "60分钟以上","v": "4"}, +{"n": "30~60分钟","v": "3"}, +{"n": "10~30分钟","v": "2"}, +{"n": "10分钟以下","v": "1"}]}], +"初三化学": [{"key": "tid","name": "分类","value": [{"n": "全部","v": "初三化学"}, +{"n": "沪教版","v": "沪教版初三化学"}, +{"n": "人教版","v": "人教版初三化学"}, +{"n": "北师大版","v": "北师大版初三化学"}, +{"n": "苏教版","v": "苏教版初三化学"}]}, +{"key": "duration","name": "时长","value": [{"n": "全部","v": "0"}, +{"n": "60分钟以上","v": "4"}, +{"n": "30~60分钟","v": "3"}, +{"n": "10~30分钟","v": "2"}, +{"n": "10分钟以下","v": "1"}]}], +"初三物理": [{"key": "tid","name": "分类","value": [{"n": "全部","v": "初三物理"}, +{"n": "沪教版","v": "沪教版初三物理"}, +{"n": "人教版","v": "人教版初三物理"}, +{"n": "北师大版","v": "北师大版初三物理"}, +{"n": "苏教版","v": "苏教版初三物理"}]}, +{"key": "duration","name": "时长","value": [{"n": "全部","v": "0"}, +{"n": "60分钟以上","v": "4"}, +{"n": "30~60分钟","v": "3"}, +{"n": "10~30分钟","v": "2"}, +{"n": "10分钟以下","v": "1"}]}], +"初三生物": [{"key": "tid","name": "分类","value": [{"n": "全部","v": "初三生物"}, +{"n": "沪教版","v": "沪教版初三生物"}, +{"n": "人教版","v": "人教版初三生物"}, +{"n": "北师大版","v": "北师大版初三生物"}, +{"n": "苏教版","v": "苏教版初三生物"}]}, +{"key": "duration","name": "时长","value": [{"n": "全部","v": "0"}, +{"n": "60分钟以上","v": "4"}, +{"n": "30~60分钟","v": "3"}, +{"n": "10~30分钟","v": "2"}, +{"n": "10分钟以下","v": "1"}]}], +"初三历史": [{"key": "tid","name": "分类","value": [{"n": "全部","v": "初三历史"}, +{"n": "沪教版","v": "沪教版初三历史"}, +{"n": "人教版","v": "人教版初三历史"}, +{"n": "北师大版","v": "北师大版初三历史"}, +{"n": "苏教版","v": "苏教版初三历史"}]}, +{"key": "duration","name": "时长","value": [{"n": "全部","v": "0"}, +{"n": "60分钟以上","v": "4"}, +{"n": "30~60分钟","v": "3"}, +{"n": "10~30分钟","v": "2"}, +{"n": "10分钟以下","v": "1"}]}]}} diff --git a/tvboxqq/tvboxqq/少儿频道/json/哔哩哔哩小学.json b/tvboxqq/tvboxqq/少儿频道/json/哔哩哔哩小学.json new file mode 100644 index 0000000..7291fc0 --- /dev/null +++ b/tvboxqq/tvboxqq/少儿频道/json/哔哩哔哩小学.json @@ -0,0 +1,183 @@ +{ + "cookie": "SESSDATA=7624af93%2C1696008331%2C862c8%2A42; bili_jct=141a474ef3ce8cf2fedf384e68f6625d; DedeUserID=3493271303096985; DedeUserID__ckMd5=212a836c164605b7", +"classes": [ +{"type_name": "1年级语文","type_id": "1年级语文"}, +{"type_name": "1年级数学","type_id": "1年级数学"}, +{"type_name": "1年级英语","type_id": "1年级英语"}, +{"type_name": "2年级语文","type_id": "2年级语文"}, +{"type_name": "2年级数学","type_id": "2年级数学"}, +{"type_name": "2年级英语","type_id": "2年级英语"}, +{"type_name": "3年级语文","type_id": "3年级语文"}, +{"type_name": "3年级数学","type_id": "3年级数学"}, +{"type_name": "3年级英语","type_id": "3年级英语"}, +{"type_name": "4年级语文","type_id": "4年级语文"}, +{"type_name": "4年级数学","type_id": "4年级数学"}, +{"type_name": "4年级英语","type_id": "4年级英语"}, +{"type_name": "5年级语文","type_id": "5年级语文"}, +{"type_name": "5年级数学","type_id": "5年级数学"}, +{"type_name": "5年级英语","type_id": "5年级英语"}, +{"type_name": "6年级语文","type_id": "6年级语文"}, +{"type_name": "6年级数学","type_id": "6年级数学"}, +{"type_name": "6年级英语","type_id": "6年级英语"}],"filter": {"1年级语文": [{"key": "tid","name": "分类","value": [{"n": "全部","v": "1年级语文"}, +{"n": "沪教版","v": "沪教版1年级语文"}, +{"n": "人教版","v": "人教版1年级语文"}, +{"n": "北师大版","v": "北师大版1年级语文"}, +{"n": "苏教版","v": "苏教版1年级语文"}]}, +{"key": "duration","name": "时长","value": [{"n": "全部","v": "0"}, +{"n": "60分钟以上","v": "4"}, +{"n": "30~60分钟","v": "3"}, +{"n": "10~30分钟","v": "2"}, +{"n": "10分钟以下","v": "1"}]}],"1年级英语": [{"key": "tid","name": "分类","value": [{"n": "全部","v": "1年级英语"}, +{"n": "沪教版","v": "沪教版1年级英语"}, +{"n": "人教版","v": "人教版1年级英语"}, +{"n": "北师大版","v": "北师大版1年级英语"}, +{"n": "苏教版","v": "苏教版1年级英语"}]}, +{"key": "duration","name": "时长","value": [{"n": "全部","v": "0"}, +{"n": "60分钟以上","v": "4"}, +{"n": "30~60分钟","v": "3"}, +{"n": "10~30分钟","v": "2"}, +{"n": "10分钟以下","v": "1"}]}],"1年级数学": [{"key": "tid","name": "分类","value": [{"n": "全部","v": "1年级数学"}, +{"n": "沪教版","v": "沪教版1年级数学"}, +{"n": "人教版","v": "人教版1年级数学"}, +{"n": "北师大版","v": "北师大版1年级数学"}, +{"n": "苏教版","v": "苏教版1年级数学"}]}, +{"key": "duration","name": "时长","value": [{"n": "全部","v": "0"}, +{"n": "60分钟以上","v": "4"}, +{"n": "30~60分钟","v": "3"}, +{"n": "10~30分钟","v": "2"}, +{"n": "10分钟以下","v": "1"}]}],"2年级语文": [{"key": "tid","name": "分类","value": [{"n": "全部","v": "2年级语文"}, +{"n": "沪教版","v": "沪教版2年级语文"}, +{"n": "人教版","v": "人教版2年级语文"}, +{"n": "北师大版","v": "北师大版2年级语文"}, +{"n": "苏教版","v": "苏教版2年级语文"}]}, +{"key": "duration","name": "时长","value": [{"n": "全部","v": "0"}, +{"n": "60分钟以上","v": "4"}, +{"n": "30~60分钟","v": "3"}, +{"n": "10~30分钟","v": "2"}, +{"n": "10分钟以下","v": "1"}]}],"2年级英语": [{"key": "tid","name": "分类","value": [{"n": "全部","v": "2年级英语"}, +{"n": "沪教版","v": "沪教版2年级英语"}, +{"n": "人教版","v": "人教版2年级英语"}, +{"n": "北师大版","v": "北师大版2年级英语"}, +{"n": "苏教版","v": "苏教版2年级英语"}]}, +{"key": "duration","name": "时长","value": [{"n": "全部","v": "0"}, +{"n": "60分钟以上","v": "4"}, +{"n": "30~60分钟","v": "3"}, +{"n": "10~30分钟","v": "2"}, +{"n": "10分钟以下","v": "1"}]}],"2年级数学": [{"key": "tid","name": "分类","value": [{"n": "全部","v": "2年级数学"}, +{"n": "沪教版","v": "沪教版2年级数学"}, +{"n": "人教版","v": "人教版2年级数学"}, +{"n": "北师大版","v": "北师大版2年级数学"}, +{"n": "苏教版","v": "苏教版2年级数学"}]}, +{"key": "duration","name": "时长","value": [{"n": "全部","v": "0"}, +{"n": "60分钟以上","v": "4"}, +{"n": "30~60分钟","v": "3"}, +{"n": "10~30分钟","v": "2"}, +{"n": "10分钟以下","v": "1"}]}],"3年级语文": [{"key": "tid","name": "分类","value": [{"n": "全部","v": "3年级语文"}, +{"n": "沪教版","v": "沪教版3年级语文"}, +{"n": "人教版","v": "人教版3年级语文"}, +{"n": "北师大版","v": "北师大版3年级语文"}, +{"n": "苏教版","v": "苏教版3年级语文"}]}, +{"key": "duration","name": "时长","value": [{"n": "全部","v": "0"}, +{"n": "60分钟以上","v": "4"}, +{"n": "30~60分钟","v": "3"}, +{"n": "10~30分钟","v": "2"}, +{"n": "10分钟以下","v": "1"}]}],"3年级英语": [{"key": "tid","name": "分类","value": [{"n": "全部","v": "3年级英语"}, +{"n": "沪教版","v": "沪教版3年级英语"}, +{"n": "人教版","v": "人教版3年级英语"}, +{"n": "北师大版","v": "北师大版3年级英语"}, +{"n": "苏教版","v": "苏教版3年级英语"}]}, +{"key": "duration","name": "时长","value": [{"n": "全部","v": "0"}, +{"n": "60分钟以上","v": "4"}, +{"n": "30~60分钟","v": "3"}, +{"n": "10~30分钟","v": "2"}, +{"n": "10分钟以下","v": "1"}]}],"3年级数学": [{"key": "tid","name": "分类","value": [{"n": "全部","v": "3年级数学"}, +{"n": "沪教版","v": "沪教版3年级数学"}, +{"n": "人教版","v": "人教版3年级数学"}, +{"n": "北师大版","v": "北师大版3年级数学"}, +{"n": "苏教版","v": "苏教版3年级数学"}]}, +{"key": "duration","name": "时长","value": [{"n": "全部","v": "0"}, +{"n": "60分钟以上","v": "4"}, +{"n": "30~60分钟","v": "3"}, +{"n": "10~30分钟","v": "2"}, +{"n": "10分钟以下","v": "1"}]}],"4年级语文": [{"key": "tid","name": "分类","value": [{"n": "全部","v": "4年级语文"}, +{"n": "沪教版","v": "沪教版4年级语文"}, +{"n": "人教版","v": "人教版4年级语文"}, +{"n": "北师大版","v": "北师大版4年级语文"}, +{"n": "苏教版","v": "苏教版4年级语文"}]}, +{"key": "duration","name": "时长","value": [{"n": "全部","v": "0"}, +{"n": "60分钟以上","v": "4"}, +{"n": "30~60分钟","v": "3"}, +{"n": "10~30分钟","v": "2"}, +{"n": "10分钟以下","v": "1"}]}],"4年级英语": [{"key": "tid","name": "分类","value": [{"n": "全部","v": "4年级英语"}, +{"n": "沪教版","v": "沪教版4年级英语"}, +{"n": "人教版","v": "人教版4年级英语"}, +{"n": "北师大版","v": "北师大版4年级英语"}, +{"n": "苏教版","v": "苏教版4年级英语"}]}, +{"key": "duration","name": "时长","value": [{"n": "全部","v": "0"}, +{"n": "60分钟以上","v": "4"}, +{"n": "30~60分钟","v": "3"}, +{"n": "10~30分钟","v": "2"}, +{"n": "10分钟以下","v": "1"}]}],"4年级数学": [{"key": "tid","name": "分类","value": [{"n": "全部","v": "4年级数学"}, +{"n": "沪教版","v": "沪教版4年级数学"}, +{"n": "人教版","v": "人教版4年级数学"}, +{"n": "北师大版","v": "北师大版4年级数学"}, +{"n": "苏教版","v": "苏教版4年级数学"}]}, +{"key": "duration","name": "时长","value": [{"n": "全部","v": "0"}, +{"n": "60分钟以上","v": "4"}, +{"n": "30~60分钟","v": "3"}, +{"n": "10~30分钟","v": "2"}, +{"n": "10分钟以下","v": "1"}]}],"5年级语文": [{"key": "tid","name": "分类","value": [{"n": "全部","v": "5年级语文"}, +{"n": "沪教版","v": "沪教版5年级语文"}, +{"n": "人教版","v": "人教版5年级语文"}, +{"n": "北师大版","v": "北师大版5年级语文"}, +{"n": "苏教版","v": "苏教版5年级语文"}]}, +{"key": "duration","name": "时长","value": [{"n": "全部","v": "0"}, +{"n": "60分钟以上","v": "4"}, +{"n": "30~60分钟","v": "3"}, +{"n": "10~30分钟","v": "2"}, +{"n": "10分钟以下","v": "1"}]}],"5年级英语": [{"key": "tid","name": "分类","value": [{"n": "全部","v": "5年级英语"}, +{"n": "沪教版","v": "沪教版5年级英语"}, +{"n": "人教版","v": "人教版5年级英语"}, +{"n": "北师大版","v": "北师大版5年级英语"}, +{"n": "苏教版","v": "苏教版5年级英语"}]}, +{"key": "duration","name": "时长","value": [{"n": "全部","v": "0"}, +{"n": "60分钟以上","v": "4"}, +{"n": "30~60分钟","v": "3"}, +{"n": "10~30分钟","v": "2"}, +{"n": "10分钟以下","v": "1"}]}],"5年级数学": [{"key": "tid","name": "分类","value": [{"n": "全部","v": "5年级数学"}, +{"n": "沪教版","v": "沪教版5年级数学"}, +{"n": "人教版","v": "人教版5年级数学"}, +{"n": "北师大版","v": "北师大版5年级数学"}, +{"n": "苏教版","v": "苏教版5年级数学"}]}, +{"key": "duration","name": "时长","value": [{"n": "全部","v": "0"}, +{"n": "60分钟以上","v": "4"}, +{"n": "30~60分钟","v": "3"}, +{"n": "10~30分钟","v": "2"}, +{"n": "10分钟以下","v": "1"}]}],"6年级语文": [{"key": "tid","name": "分类","value": [{"n": "全部","v": "6年级语文"}, +{"n": "沪教版","v": "沪教版6年级语文"}, +{"n": "人教版","v": "人教版6年级语文"}, +{"n": "北师大版","v": "北师大版6年级语文"}, +{"n": "苏教版","v": "苏教版6年级语文"}]}, +{"key": "duration","name": "时长","value": [{"n": "全部","v": "0"}, +{"n": "60分钟以上","v": "4"}, +{"n": "30~60分钟","v": "3"}, +{"n": "10~30分钟","v": "2"}, +{"n": "10分钟以下","v": "1"}]}],"6年级英语": [{"key": "tid","name": "分类","value": [{"n": "全部","v": "6年级英语"}, +{"n": "沪教版","v": "沪教版6年级英语"}, +{"n": "人教版","v": "人教版6年级英语"}, +{"n": "北师大版","v": "北师大版6年级英语"}, +{"n": "苏教版","v": "苏教版6年级英语"}]}, +{"key": "duration","name": "时长","value": [{"n": "全部","v": "0"}, +{"n": "60分钟以上","v": "4"}, +{"n": "30~60分钟","v": "3"}, +{"n": "10~30分钟","v": "2"}, +{"n": "10分钟以下","v": "1"}]}],"6年级数学": [{"key": "tid","name": "分类","value": [{"n": "全部","v": "6年级数学"}, +{"n": "沪教版","v": "沪教版6年级数学"}, +{"n": "人教版","v": "人教版6年级数学"}, +{"n": "北师大版","v": "北师大版6年级数学"}, +{"n": "苏教版","v": "苏教版6年级数学"}]}, +{"key": "duration","name": "时长","value": [{"n": "全部","v": "0"}, +{"n": "60分钟以上","v": "4"}, +{"n": "30~60分钟","v": "3"}, +{"n": "10~30分钟","v": "2"}, +{"n": "10分钟以下","v": "1"}]}]}} diff --git a/tvboxqq/tvboxqq/少儿频道/json/哔哩哔哩高中.json b/tvboxqq/tvboxqq/少儿频道/json/哔哩哔哩高中.json new file mode 100644 index 0000000..a5ffb29 --- /dev/null +++ b/tvboxqq/tvboxqq/少儿频道/json/哔哩哔哩高中.json @@ -0,0 +1,250 @@ +{ + "cookie": "SESSDATA=7624af93%2C1696008331%2C862c8%2A42; bili_jct=141a474ef3ce8cf2fedf384e68f6625d; DedeUserID=3493271303096985; DedeUserID__ckMd5=212a836c164605b7", +"classes": [{"type_name": "高一语文","type_id": "高一语文"}, +{"type_name": "高一数学","type_id": "高一数学"}, +{"type_name": "高一英语","type_id": "高一英语"}, +{"type_name": "高一历史","type_id": "高一历史"}, +{"type_name": "高一地理","type_id": "高一地理"}, +{"type_name": "高一生物","type_id": "高一生物"}, +{"type_name": "高一物理","type_id": "高一物理"}, +{"type_name": "高一化学","type_id": "高一化学"}, +{"type_name": "高二语文","type_id": "高二语文"}, +{"type_name": "高二数学","type_id": "高二数学"}, +{"type_name": "高二英语","type_id": "高二英语"}, +{"type_name": "高二历史","type_id": "高二历史"}, +{"type_name": "高二地理","type_id": "高二地理"}, +{"type_name": "高二生物","type_id": "高二生物"}, +{"type_name": "高二物理","type_id": "高二物理"}, +{"type_name": "高二化学","type_id": "高二化学"}, +{"type_name": "高三语文","type_id": "高三语文"}, +{"type_name": "高三数学","type_id": "高三数学"}, +{"type_name": "高三英语","type_id": "高三英语"}, +{"type_name": "高三历史","type_id": "高三历史"}, +{"type_name": "高三地理","type_id": "高三地理"}, +{"type_name": "高三生物","type_id": "高三生物"}, +{"type_name": "高三物理","type_id": "高三物理"}, +{"type_name": "高三化学","type_id": "高三化学"}], "filter": {"高一语文": [{"key": "tid","name": "分类","value": [{"n": "全部","v": "高一语文"}, +{"n": "沪教版","v": "沪教版高一语文"}, +{"n": "人教版","v": "人教版高一语文"}, +{"n": "北师大版","v": "北师大版高一语文"}, +{"n": "苏教版","v": "苏教版高一语文"}]}, +{"key": "duration","name": "时长","value": [{"n": "全部","v": "0"}, +{"n": "60分钟以上","v": "4"}, +{"n": "30~60分钟","v": "3"}, +{"n": "10~30分钟","v": "2"}, +{"n": "10分钟以下","v": "1"}]}],"高一英语": [{"key": "tid","name": "分类","value": [{"n": "全部","v": "高一英语"}, +{"n": "沪教版","v": "沪教版高一英语"}, +{"n": "人教版","v": "人教版高一英语"}, +{"n": "北师大版","v": "北师大版高一英语"}, +{"n": "苏教版","v": "苏教版高一英语"}]}, +{"key": "duration","name": "时长","value": [{"n": "全部","v": "0"}, +{"n": "60分钟以上","v": "4"}, +{"n": "30~60分钟","v": "3"}, +{"n": "10~30分钟","v": "2"}, +{"n": "10分钟以下","v": "1"}]}],"高一数学": [{"key": "tid","name": "分类","value": [{"n": "全部","v": "高一数学"}, +{"n": "沪教版","v": "沪教版高一数学"}, +{"n": "人教版","v": "人教版高一数学"}, +{"n": "北师大版","v": "北师大版高一数学"}, +{"n": "苏教版","v": "苏教版高一数学"}]}, +{"key": "duration","name": "时长","value": [{"n": "全部","v": "0"}, +{"n": "60分钟以上","v": "4"}, +{"n": "30~60分钟","v": "3"}, +{"n": "10~30分钟","v": "2"}, +{"n": "10分钟以下","v": "1"}]}],"高一化学": [{"key": "tid","name": "分类","value": [{"n": "全部","v": "高一化学"}, +{"n": "沪教版","v": "沪教版高一化学"}, +{"n": "人教版","v": "人教版高一化学"}, +{"n": "北师大版","v": "北师大版高一化学"}, +{"n": "苏教版","v": "苏教版高一化学"}]}, +{"key": "duration","name": "时长","value": [{"n": "全部","v": "0"}, +{"n": "60分钟以上","v": "4"}, +{"n": "30~60分钟","v": "3"}, +{"n": "10~30分钟","v": "2"}, +{"n": "10分钟以下","v": "1"}]}],"高一物理": [{"key": "tid","name": "分类","value": [{"n": "全部","v": "高一物理"}, +{"n": "沪教版","v": "沪教版高一物理"}, +{"n": "人教版","v": "人教版高一物理"}, +{"n": "北师大版","v": "北师大版高一物理"}, +{"n": "苏教版","v": "苏教版高一物理"}]}, +{"key": "duration","name": "时长","value": [{"n": "全部","v": "0"}, +{"n": "60分钟以上","v": "4"}, +{"n": "30~60分钟","v": "3"}, +{"n": "10~30分钟","v": "2"}, +{"n": "10分钟以下","v": "1"}]}],"高一生物": [{"key": "tid","name": "分类","value": [{"n": "全部","v": "高一生物"}, +{"n": "沪教版","v": "沪教版高一生物"}, +{"n": "人教版","v": "人教版高一生物"}, +{"n": "北师大版","v": "北师大版高一生物"}, +{"n": "苏教版","v": "苏教版高一生物"}]}, +{"key": "duration","name": "时长","value": [{"n": "全部","v": "0"}, +{"n": "60分钟以上","v": "4"}, +{"n": "30~60分钟","v": "3"}, +{"n": "10~30分钟","v": "2"}, +{"n": "10分钟以下","v": "1"}]}], +"高一地理": [{"key": "tid","name": "分类","value": [{"n": "全部","v": "高一地理"}, +{"n": "沪教版","v": "沪教版高一地理"}, +{"n": "人教版","v": "人教版高一地理"}, +{"n": "北师大版","v": "北师大版高一地理"}, +{"n": "苏教版","v": "苏教版高一地理"}]}, +{"key": "duration","name": "时长","value": [{"n": "全部","v": "0"}, +{"n": "60分钟以上","v": "4"}, +{"n": "30~60分钟","v": "3"}, +{"n": "10~30分钟","v": "2"}, +{"n": "10分钟以下","v": "1"}]}], +"高一历史": [{"key": "tid","name": "分类","value": [{"n": "全部","v": "高一历史"}, +{"n": "沪教版","v": "沪教版高一历史"}, +{"n": "人教版","v": "人教版高一历史"}, +{"n": "北师大版","v": "北师大版高一历史"}, +{"n": "苏教版","v": "苏教版高一历史"}]}, +{"key": "duration","name": "时长","value": [{"n": "全部","v": "0"}, +{"n": "60分钟以上","v": "4"}, +{"n": "30~60分钟","v": "3"}, +{"n": "10~30分钟","v": "2"}, +{"n": "10分钟以下","v": "1"}]}],"高二语文": [{"key": "tid","name": "分类","value": [{"n": "全部","v": "高二语文"}, +{"n": "沪教版","v": "沪教版高二语文"}, +{"n": "人教版","v": "人教版高二语文"}, +{"n": "北师大版","v": "北师大版高二语文"}, +{"n": "苏教版","v": "苏教版高二语文"}]}, +{"key": "duration","name": "时长","value": [{"n": "全部","v": "0"}, +{"n": "60分钟以上","v": "4"}, +{"n": "30~60分钟","v": "3"}, +{"n": "10~30分钟","v": "2"}, +{"n": "10分钟以下","v": "1"}]}],"高二英语": [{"key": "tid","name": "分类","value": [{"n": "全部","v": "高二英语"}, +{"n": "沪教版","v": "沪教版高二英语"}, +{"n": "人教版","v": "人教版高二英语"}, +{"n": "北师大版","v": "北师大版高二英语"}, +{"n": "苏教版","v": "苏教版高二英语"}]}, +{"key": "duration","name": "时长","value": [{"n": "全部","v": "0"}, +{"n": "60分钟以上","v": "4"}, +{"n": "30~60分钟","v": "3"}, +{"n": "10~30分钟","v": "2"}, +{"n": "10分钟以下","v": "1"}]}],"高二数学": [{"key": "tid","name": "分类","value": [{"n": "全部","v": "高二数学"}, +{"n": "沪教版","v": "沪教版高二数学"}, +{"n": "人教版","v": "人教版高二数学"}, +{"n": "北师大版","v": "北师大版高二数学"}, +{"n": "苏教版","v": "苏教版高二数学"}]}, +{"key": "duration","name": "时长","value": [{"n": "全部","v": "0"}, +{"n": "60分钟以上","v": "4"}, +{"n": "30~60分钟","v": "3"}, +{"n": "10~30分钟","v": "2"}, +{"n": "10分钟以下","v": "1"}]}], +"高二地理": [{"key": "tid","name": "分类","value": [{"n": "全部","v": "高二地理"}, +{"n": "沪教版","v": "沪教版高二地理"}, +{"n": "人教版","v": "人教版高二地理"}, +{"n": "北师大版","v": "北师大版高二地理"}, +{"n": "苏教版","v": "苏教版高二地理"}]}, +{"key": "duration","name": "时长","value": [{"n": "全部","v": "0"}, +{"n": "60分钟以上","v": "4"}, +{"n": "30~60分钟","v": "3"}, +{"n": "10~30分钟","v": "2"}, +{"n": "10分钟以下","v": "1"}]}], + +"高二化学": [{"key": "tid","name": "分类","value": [{"n": "全部","v": "高二化学"}, +{"n": "沪教版","v": "沪教版高二化学"}, +{"n": "人教版","v": "人教版高二化学"}, +{"n": "北师大版","v": "北师大版高二化学"}, +{"n": "苏教版","v": "苏教版高二化学"}]}, +{"key": "duration","name": "时长","value": [{"n": "全部","v": "0"}, +{"n": "60分钟以上","v": "4"}, +{"n": "30~60分钟","v": "3"}, +{"n": "10~30分钟","v": "2"}, +{"n": "10分钟以下","v": "1"}]}],"高二物理": [{"key": "tid","name": "分类","value": [{"n": "全部","v": "高二物理"}, +{"n": "沪教版","v": "沪教版高二物理"}, +{"n": "人教版","v": "人教版高二物理"}, +{"n": "北师大版","v": "北师大版高二物理"}, +{"n": "苏教版","v": "苏教版高二物理"}]}, +{"key": "duration","name": "时长","value": [{"n": "全部","v": "0"}, +{"n": "60分钟以上","v": "4"}, +{"n": "30~60分钟","v": "3"}, +{"n": "10~30分钟","v": "2"}, +{"n": "10分钟以下","v": "1"}]}],"高二生物": [{"key": "tid","name": "分类","value": [{"n": "全部","v": "高二生物"}, +{"n": "沪教版","v": "沪教版高二生物"}, +{"n": "人教版","v": "人教版高二生物"}, +{"n": "北师大版","v": "北师大版高二生物"}, +{"n": "苏教版","v": "苏教版高二生物"}]}, +{"key": "duration","name": "时长","value": [{"n": "全部","v": "0"}, +{"n": "60分钟以上","v": "4"}, +{"n": "30~60分钟","v": "3"}, +{"n": "10~30分钟","v": "2"}, +{"n": "10分钟以下","v": "1"}]}],"高二历史": [{"key": "tid","name": "分类","value": [{"n": "全部","v": "高二历史"}, +{"n": "沪教版","v": "沪教版高二历史"}, +{"n": "人教版","v": "人教版高二历史"}, +{"n": "北师大版","v": "北师大版高二历史"}, +{"n": "苏教版","v": "苏教版高二历史"}]}, +{"key": "duration","name": "时长","value": [{"n": "全部","v": "0"}, +{"n": "60分钟以上","v": "4"}, +{"n": "30~60分钟","v": "3"}, +{"n": "10~30分钟","v": "2"}, +{"n": "10分钟以下","v": "1"}]}],"高三语文": [{"key": "tid","name": "分类","value": [{"n": "全部","v": "高三语文"}, +{"n": "沪教版","v": "沪教版高三语文"}, +{"n": "人教版","v": "人教版高三语文"}, +{"n": "北师大版","v": "北师大版高三语文"}, +{"n": "苏教版","v": "苏教版高三语文"}]}, +{"key": "duration","name": "时长","value": [{"n": "全部","v": "0"}, +{"n": "60分钟以上","v": "4"}, +{"n": "30~60分钟","v": "3"}, +{"n": "10~30分钟","v": "2"}, +{"n": "10分钟以下","v": "1"}]}],"高三英语": [{"key": "tid","name": "分类","value": [{"n": "全部","v": "高三英语"}, +{"n": "沪教版","v": "沪教版高三英语"}, +{"n": "人教版","v": "人教版高三英语"}, +{"n": "北师大版","v": "北师大版高三英语"}, +{"n": "苏教版","v": "苏教版高三英语"}]}, +{"key": "duration","name": "时长","value": [{"n": "全部","v": "0"}, +{"n": "60分钟以上","v": "4"}, +{"n": "30~60分钟","v": "3"}, +{"n": "10~30分钟","v": "2"}, +{"n": "10分钟以下","v": "1"}]}],"高三数学": [{"key": "tid","name": "分类","value": [{"n": "全部","v": "高三数学"}, +{"n": "沪教版","v": "沪教版高三数学"}, +{"n": "人教版","v": "人教版高三数学"}, +{"n": "北师大版","v": "北师大版高三数学"}, +{"n": "苏教版","v": "苏教版高三数学"}]}, +{"key": "duration","name": "时长","value": [{"n": "全部","v": "0"}, +{"n": "60分钟以上","v": "4"}, +{"n": "30~60分钟","v": "3"}, +{"n": "10~30分钟","v": "2"}, +{"n": "10分钟以下","v": "1"}]}],"高三化学": [{"key": "tid","name": "分类","value": [{"n": "全部","v": "高三化学"}, +{"n": "沪教版","v": "沪教版高三化学"}, +{"n": "人教版","v": "人教版高三化学"}, +{"n": "北师大版","v": "北师大版高三化学"}, +{"n": "苏教版","v": "苏教版高三化学"}]}, +{"key": "duration","name": "时长","value": [{"n": "全部","v": "0"}, +{"n": "60分钟以上","v": "4"}, +{"n": "30~60分钟","v": "3"}, +{"n": "10~30分钟","v": "2"}, +{"n": "10分钟以下","v": "1"}]}],"高三物理": [{"key": "tid","name": "分类","value": [{"n": "全部","v": "高三物理"}, +{"n": "沪教版","v": "沪教版高三物理"}, +{"n": "人教版","v": "人教版高三物理"}, +{"n": "北师大版","v": "北师大版高三物理"}, +{"n": "苏教版","v": "苏教版高三物理"}]}, +{"key": "duration","name": "时长","value": [{"n": "全部","v": "0"}, +{"n": "60分钟以上","v": "4"}, +{"n": "30~60分钟","v": "3"}, +{"n": "10~30分钟","v": "2"}, +{"n": "10分钟以下","v": "1"}]}],"高三生物": [{"key": "tid","name": "分类","value": [{"n": "全部","v": "高三生物"}, +{"n": "沪教版","v": "沪教版高三生物"}, +{"n": "人教版","v": "人教版高三生物"}, +{"n": "北师大版","v": "北师大版高三生物"}, +{"n": "苏教版","v": "苏教版高三生物"}]}, +{"key": "duration","name": "时长","value": [{"n": "全部","v": "0"}, +{"n": "60分钟以上","v": "4"}, +{"n": "30~60分钟","v": "3"}, +{"n": "10~30分钟","v": "2"}, +{"n": "10分钟以下","v": "1"}]}], + +"高三地理": [{"key": "tid","name": "分类","value": [{"n": "全部","v": "高三地理"}, +{"n": "沪教版","v": "沪教版高三地理"}, +{"n": "人教版","v": "人教版高三地理"}, +{"n": "北师大版","v": "北师大版高三地理"}, +{"n": "苏教版","v": "苏教版高三地理"}]}, +{"key": "duration","name": "时长","value": [{"n": "全部","v": "0"}, +{"n": "60分钟以上","v": "4"}, +{"n": "30~60分钟","v": "3"}, +{"n": "10~30分钟","v": "2"}, +{"n": "10分钟以下","v": "1"}]}], +"高三历史": [{"key": "tid","name": "分类","value": [{"n": "全部","v": "高三历史"}, +{"n": "沪教版","v": "沪教版高三历史"}, +{"n": "人教版","v": "人教版高三历史"}, +{"n": "北师大版","v": "北师大版高三历史"}, +{"n": "苏教版","v": "苏教版高三历史"}]}, +{"key": "duration","name": "时长","value": [{"n": "全部","v": "0"}, +{"n": "60分钟以上","v": "4"}, +{"n": "30~60分钟","v": "3"}, +{"n": "10~30分钟","v": "2"}, +{"n": "10分钟以下","v": "1"}]}]}} diff --git a/tvboxqq/tvboxqq/少儿频道/json/央视经典.json b/tvboxqq/tvboxqq/少儿频道/json/央视经典.json new file mode 100644 index 0000000..977ccb1 --- /dev/null +++ b/tvboxqq/tvboxqq/少儿频道/json/央视经典.json @@ -0,0 +1,13 @@ +{ + "classes": [ + {"type_name":"典籍里的中国","type_id": "典籍里的中国"}, + {"type_name":"朗读者","type_id": "朗读者"}, + {"type_name":"我爱发明","type_id": "CCTV 我爱发明"}, + {"type_name":"《读书的力量》","type_id": "《读书的力量》"}, + {"type_name":"国宝发现","type_id": "国宝发现"}, + {"type_name":"国宝档案","type_id": "国宝档案"}, + + {"type_name":"人体奥秘","type_id": "小灯塔人体奥秘"}, + {"type_name":"给男孩的性教育课","type_id": "小灯塔给男孩的性教育课"} + ] +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/少儿频道/json/小灯塔人文.json b/tvboxqq/tvboxqq/少儿频道/json/小灯塔人文.json new file mode 100644 index 0000000..8474e61 --- /dev/null +++ b/tvboxqq/tvboxqq/少儿频道/json/小灯塔人文.json @@ -0,0 +1,182 @@ +{ + "cookie": "SESSDATA=7624af93%2C1696008331%2C862c8%2A42; bili_jct=141a474ef3ce8cf2fedf384e68f6625d; DedeUserID=3493271303096985; DedeUserID__ckMd5=212a836c164605b7", + "classes": [ + + //人文 + {"type_name":"安全教育课","type_id": "给孩子的第一堂性教育课"}, + {"type_name":"影响十万少年的人际沟通课","type_id": "影响十万少年的人际沟通课"}, + {"type_name":"跟着棋圣学围棋","type_id": "小灯塔跟着棋圣学围棋"}, + {"type_name":"财商启蒙课","type_id": "小灯塔财商启蒙课"}, + {"type_name":"人体奥秘","type_id": "小灯塔人体奥秘"}, + {"type_name":"儿童性教育课","type_id": "给孩子的第一堂性教育课"}, + {"type_name":"讲给孩子的人类简史","type_id": "小灯塔讲给孩子的人类简史"}, + {"type_name":"讲给孩子的希腊神话故事","type_id": "小灯塔讲给孩子的希腊神话故事"}, + //百科 + {"type_name":"百科","type_id": "10天玩转世界top10博物馆"}, + {"type_name":"世界博物馆","type_id": "玩转世界博物馆第二季"}, + {"type_name":"探秘恐龙世界","type_id": "【合集】带孩子探秘恐龙世界 中文版"}, + {"type_name":"奇趣生物大百科","type_id": "奇趣生物大百科"}, + {"type_name":"动物世界","type_id": "玩转奇妙的动物世界"}, + {"type_name":"植物启蒙","type_id": "【小灯塔】给孩子的植物启蒙课"}, + {"type_name":"物种百科","type_id": "小灯塔给孩子的物种百科"}, + {"type_name":"昆虫记","type_id": "昆虫记"}, + {"type_name":"探秘故宫角落","type_id": "探秘故宫角落"}, + {"type_name":"top10名校","type_id": "10天游遍世界top10名校"}, + {"type_name":"top10名画","type_id": "看懂世界top10名画"}, + {"type_name":"地球","type_id": "【全8集】舌尖上的地球"}, + //地理 + {"type_name":"地理","type_id": "给孩子的第一堂海洋课【完结】"}, + {"type_name":"海底世界","type_id": "穿越奇妙海底世界"}, + {"type_name":"地球生命史","type_id": "小灯塔地球生命史"}, + {"type_name":"探秘地球南北极","type_id": "小灯塔探秘地球南北极"}, + {"type_name":"世界十大名胜","type_id": "小灯塔探秘世界十大名胜"}, + {"type_name":"环球之旅","type_id": "小灯塔奇妙的环球之旅"}, + {"type_name":"华夏地理","type_id": "小灯塔探秘华夏地理"}, + {"type_name":"自然地理","type_id": "小灯塔自然地理大巡游"}, + {"type_name":"出发啦! 敦煌","type_id": "小灯塔出发啦! 敦煌"}, + {"type_name":"冲出亚马逊","type_id": "小灯塔冲出亚马逊"}, + {"type_name":"走进美国","type_id": "小灯塔走进美国"}, + {"type_name":" 非洲大冒险","type_id": "小灯塔 非洲大冒险"}, + + //国学 + {"type_name":"国学","type_id": "神奇的汉字故事 全20集"}, + {"type_name":"唐诗大世界","type_id": "穿越唐诗大世界"}, + {"type_name":"诗词大会","type_id": "【小灯塔】诗词大会"}, + {"type_name":"三字经","type_id": "三字经幼儿启蒙(56集超清全)"}, + {"type_name":"西游记","type_id": "30集西游记精选故事 给孩子看的经典神话"}, + {"type_name":"经典神话","type_id": "30集西游记精选故事 给孩子看的经典神话"}, + {"type_name":"成语故事","type_id": "【100集全】成语故事动画 小灯塔成语动画"}, + {"type_name":"中华名人故事","type_id": "【小灯塔】中华名人故事"}, + {"type_name":"山海经","type_id": "20集全【给孩子的山海经】小灯塔趣味动画"}, + {"type_name":"三国动画","type_id": "三国动画故事(24节全)"}, + {"type_name":"春节习俗","type_id": "【小灯塔】春节习俗追根溯源立春节"}, + {"type_name":"少儿版三国演义","type_id": "小灯塔少儿版三国演义"}, + {"type_name":"十二生肖","type_id": "【小灯塔】十二生肖"}, + {"type_name":"中华上下五千年","type_id": "【小灯塔】中华上下五千年"}, + + //科学 + {"type_name":"科学","type_id": "小灯塔.剑桥数学启蒙课(全)"}, + {"type_name":"奇趣科学实验室","type_id": "小灯塔奇趣科学实验室"}, + {"type_name":"剑桥数学启蒙课","type_id": "小灯塔剑桥数学启蒙课"}, + {"type_name":"宇宙探秘之旅","type_id": "小灯塔十大主题宇宙探秘之旅"}, + {"type_name":"跟动物老师学发明","type_id": "小灯塔跟动物老师学发明"}, + {"type_name":"天才发明家","type_id": "小灯塔天才发明家"}, + {"type_name":"剑桥博士讲物理","type_id": "小灯塔剑桥博士讲物理"}, + {"type_name":"STEM奇妙科学课","type_id": "小灯塔STEM奇妙科学课"}, + {"type_name":"出发吧,月球!","type_id": "小灯塔出发吧,月球!"}, + {"type_name":"十大世界未解之谜","type_id": "小灯塔探秘十大世界未解之谜"}, + {"type_name":"神奇的气象魔法","type_id": "小灯塔神奇的气象魔法"}, + {"type_name":"了不起的新科技","type_id": "小灯塔了不起的新科技"} + ], + // 筛选条件字典 + "filter":{ + //百科 + "10天玩转世界top10博物馆":[ + {"key":"tid","name":"分类","value":[ + {"n":"【小灯塔】10天玩转世界top10博物馆卢浮宫博物馆","v":"【小灯塔】10天玩转世界top10博物馆卢浮宫博物馆"}, + {"n":"玩转世界博物馆第二季","v":"玩转世界博物馆第二季"}, + {"n":"【合集】带孩子探秘恐龙世界 中文版","v":"【合集】带孩子探秘恐龙世界 中文版"}, + {"n":"【小灯塔】带孩子探秘恐龙世界宇宙的起源(英文版)","v":"【小灯塔】带孩子探秘恐龙世界宇宙的起源(英文版)"}, + {"n":"奇趣生物大百科","v":"奇趣生物大百科"}, + {"n":"玩转奇妙的动物世界","v":"玩转奇妙的动物世界"}, + {"n":"【小灯塔】给孩子的植物启蒙课","v":"【小灯塔】给孩子的植物启蒙课"}, + {"n":"昆虫记","v":"昆虫记"}, + {"n":"【小灯塔】昆虫记走进昆虫世界","v":"【小灯塔】昆虫记走进昆虫世界"}, + {"n":"探秘故宫角落","v":"探秘故宫角落"}, + {"n":"10天游遍世界top10名校","v":"10天游遍世界top10名校"}, + {"n":"看懂世界top10名画","v":"看懂世界top10名画"}, + {"n":"【全8集】舌尖上的地球","v":"【全8集】舌尖上的地球"} + ]}, + {"key": "duration","name": "时长","value": [ + {"n": "100~200分钟","v": "0"}, + {"n": "60~100分钟","v": "1"}, + {"n": "40~60分钟","v": "2"}, + {"n": "200分钟以上","v": "3"}, + {"n": "40分钟以下","v": "4"}]}], + //国学 + "神奇的汉字故事 全20集":[ + {"key":"tid","name":"分类","value":[ + {"n":"神奇的汉字故事 全20集","v":"神奇的汉字故事 全20集"}, + {"n":"穿越唐诗大世界","v":"穿越唐诗大世界"}, + {"n":"【小灯塔】诗词大会","v":"【小灯塔】诗词大会"}, + {"n":"三字经幼儿启蒙(56集超清全)","v":"三字经幼儿启蒙(56集超清全)"}, + {"n":"30集西游记精选故事 给孩子看的经典神话","v": "30集西游记精选故事 给孩子看的经典神话"}, + {"n":"【100集全】成语故事动画 小灯塔成语动画","v": "【100集全】成语故事动画 小灯塔成语动画"}, + {"n":"【小灯塔】中华名人故事","v": "【小灯塔】中华名人故事"}, + {"n":"20集全【给孩子的山海经】小灯塔趣味动画","v": "20集全【给孩子的山海经】小灯塔趣味动画"}, + {"n":"三国动画故事(24节全)","v": "三国动画故事(24节全)"}, + {"n":"【小灯塔】春节习俗追根溯源立春节","v": "【小灯塔】春节习俗追根溯源立春节"}, + {"n":"【小灯塔】十二生肖","v": "【小灯塔】十二生肖"}, + {"n":"【小灯塔】中华上下五千年","v": "【小灯塔】中华上下五千年"} + ]}, + {"key": "duration","name": "时长","value": [ + {"n": "100~200分钟","v": "0"}, + {"n": "60~100分钟","v": "1"}, + {"n": "40~60分钟","v": "2"}, + {"n": "200分钟以上","v": "3"}, + {"n": "40分钟以下","v": "4"}]}], + //地理 + "给孩子的第一堂海洋课【完结】":[ + {"key":"tid","name":"分类","value":[ + {"n":"给孩子的第一堂海洋课【完结】","v": "给孩子的第一堂海洋课【完结】"}, + {"n":"穿越奇妙海底世界","v": "穿越奇妙海底世界"}, + {"n":"【小灯塔】地球生命史","v": "【小灯塔】地球生命史"}, + {"n":"探秘地球南北极","v": "小灯塔探秘地球南北极"}, + {"n":"世界十大名胜","v": "小灯塔探秘世界十大名胜"}, + {"n":"环球之旅","v": "小灯塔奇妙的环球之旅"}, + {"n":"华夏地理","v": "小灯塔探秘华夏地理"}, + {"n":"自然地理","v": "小灯塔自然地理大巡游"}, + {"n":"出发啦! 敦煌","v": "小灯塔出发啦! 敦煌"}, + {"n":"冲出亚马逊","v": "小灯塔冲出亚马逊"}, + {"n":"走进美国","v": "小灯塔走进美国"}, + {"n":" 非洲大冒险","v": "小灯塔 非洲大冒险"} + ]}, + {"key": "duration","name": "时长","value": [ + {"n": "100~200分钟","v": "0"}, + {"n": "60~100分钟","v": "1"}, + {"n": "40~60分钟","v": "2"}, + {"n": "200分钟以上","v": "3"}, + {"n": "40分钟以下","v": "4"}]}], + //科学 + "小灯塔.剑桥数学启蒙课(全)":[ + {"key":"tid","name":"分类","value":[ + {"n":"小灯塔.剑桥数学启蒙课(全)","v": "小灯塔.剑桥数学启蒙课(全)"}, + {"n":"奇趣科学实验室","v": "小灯塔奇趣科学实验室"}, + {"n":"剑桥数学启蒙课","v": "小灯塔剑桥数学启蒙课"}, + {"n":"宇宙探秘之旅","v": "小灯塔十大主题宇宙探秘之旅"}, + {"n":"跟动物老师学发明","v": "小灯塔跟动物老师学发明"}, + {"n":"天才发明家","v": "小灯塔天才发明家"}, + {"n":"剑桥博士讲物理","v": "小灯塔剑桥博士讲物理"}, + {"n":"STEM奇妙科学课","v": "小灯塔STEM奇妙科学课"}, + {"n":"出发吧,月球!","v": "小灯塔出发吧,月球!"}, + {"n":"十大世界未解之谜","v": "小灯塔探秘十大世界未解之谜"}, + {"n":"神奇的气象魔法","v": "小灯塔神奇的气象魔法"}, + {"n":"了不起的新科技","v": "小灯塔了不起的新科技"} + ]}, + {"key": "duration","name": "时长","value": [ + {"n": "100~200分钟","v": "0"}, + {"n": "60~100分钟","v": "1"}, + {"n": "40~60分钟","v": "2"}, + {"n": "200分钟以上","v": "3"}, + {"n": "40分钟以下","v": "4"}]}], + //人文 + "给孩子的第一堂性教育课":[ + {"key":"tid","name":"分类","value":[ + {"n":"给孩子的第一堂性教育课","v": "给孩子的第一堂性教育课"}, + {"n":"小灯塔安全教育课","v": "小灯塔安全教育课"}, + {"n":"影响十万少年的人际沟通课","v": "影响十万少年的人际沟通课"}, + {"n":"跟着棋圣学围棋","v": "小灯塔跟着棋圣学围棋"}, + {"n":"小灯塔财商启蒙课","v": "小灯塔财商启蒙课"}, + {"n":"小灯塔人体奥秘","v": "小灯塔人体奥秘"}, + + {"n":"讲给孩子的人类简史","v": "小灯塔讲给孩子的人类简史"}, + {"n":"讲给孩子的希腊神话故事","v": "小灯塔讲给孩子的希腊神话故事"} + ]}, + {"key": "duration","name": "时长","value": [ + {"n": "100~200分钟","v": "0"}, + {"n": "60~100分钟","v": "1"}, + {"n": "40~60分钟","v": "2"}, + {"n": "200分钟以上","v": "3"}, + {"n": "40分钟以下","v": "4"}]}] + } +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/少儿频道/json/小灯塔国学.json b/tvboxqq/tvboxqq/少儿频道/json/小灯塔国学.json new file mode 100644 index 0000000..056bc56 --- /dev/null +++ b/tvboxqq/tvboxqq/少儿频道/json/小灯塔国学.json @@ -0,0 +1,180 @@ +{ + "cookie": "SESSDATA=7624af93%2C1696008331%2C862c8%2A42; bili_jct=141a474ef3ce8cf2fedf384e68f6625d; DedeUserID=3493271303096985; DedeUserID__ckMd5=212a836c164605b7", + "classes": [ + + //国学 + {"type_name":"国学","type_id": "神奇的汉字故事 全20集"}, + {"type_name":"唐诗大世界","type_id": "穿越唐诗大世界"}, + {"type_name":"诗词大会","type_id": "【小灯塔】诗词大会"}, + {"type_name":"三字经","type_id": "三字经幼儿启蒙(56集超清全)"}, + {"type_name":"西游记","type_id": "30集西游记精选故事 给孩子看的经典神话"}, + {"type_name":"经典神话","type_id": "30集西游记精选故事 给孩子看的经典神话"}, + {"type_name":"成语故事","type_id": "【100集全】成语故事动画 小灯塔成语动画"}, + {"type_name":"中华名人故事","type_id": "【小灯塔】中华名人故事"}, + {"type_name":"山海经","type_id": "20集全【给孩子的山海经】小灯塔趣味动画"}, + {"type_name":"三国动画","type_id": "三国动画故事(24节全)"}, + {"type_name":"春节习俗","type_id": "【小灯塔】春节习俗追根溯源立春节"}, + {"type_name":"少儿版三国演义","type_id": "小灯塔少儿版三国演义"}, + {"type_name":"十二生肖","type_id": "【小灯塔】十二生肖"}, + {"type_name":"中华上下五千年","type_id": "【小灯塔】中华上下五千年"}, + //科学 + {"type_name":"科学","type_id": "小灯塔.剑桥数学启蒙课(全)"}, + {"type_name":"奇趣科学实验室","type_id": "小灯塔奇趣科学实验室"}, + {"type_name":"剑桥数学启蒙课","type_id": "小灯塔剑桥数学启蒙课"}, + {"type_name":"宇宙探秘之旅","type_id": "小灯塔十大主题宇宙探秘之旅"}, + {"type_name":"跟动物老师学发明","type_id": "小灯塔跟动物老师学发明"}, + {"type_name":"天才发明家","type_id": "小灯塔天才发明家"}, + {"type_name":"剑桥博士讲物理","type_id": "小灯塔剑桥博士讲物理"}, + {"type_name":"STEM奇妙科学课","type_id": "小灯塔STEM奇妙科学课"}, + {"type_name":"出发吧,月球!","type_id": "小灯塔出发吧,月球!"}, + {"type_name":"十大世界未解之谜","type_id": "小灯塔探秘十大世界未解之谜"}, + {"type_name":"神奇的气象魔法","type_id": "小灯塔神奇的气象魔法"}, + {"type_name":"了不起的新科技","type_id": "小灯塔了不起的新科技"}, + //人文 + {"type_name":"安全教育课","type_id": "给孩子的第一堂性教育课"}, + {"type_name":"影响十万少年的人际沟通课","type_id": "影响十万少年的人际沟通课"}, + {"type_name":"跟着棋圣学围棋","type_id": "小灯塔跟着棋圣学围棋"}, + {"type_name":"财商启蒙课","type_id": "小灯塔财商启蒙课"}, + {"type_name":"人体奥秘","type_id": "小灯塔人体奥秘"}, + {"type_name":"儿童性教育课","type_id": "给孩子的第一堂性教育课"}, + {"type_name":"讲给孩子的人类简史","type_id": "小灯塔讲给孩子的人类简史"}, + {"type_name":"讲给孩子的希腊神话故事","type_id": "小灯塔讲给孩子的希腊神话故事"}, + //百科 + {"type_name":"百科","type_id": "10天玩转世界top10博物馆"}, + {"type_name":"世界博物馆","type_id": "玩转世界博物馆第二季"}, + {"type_name":"探秘恐龙世界","type_id": "【合集】带孩子探秘恐龙世界 中文版"}, + {"type_name":"奇趣生物大百科","type_id": "奇趣生物大百科"}, + {"type_name":"动物世界","type_id": "玩转奇妙的动物世界"}, + {"type_name":"植物启蒙","type_id": "【小灯塔】给孩子的植物启蒙课"}, + {"type_name":"物种百科","type_id": "小灯塔给孩子的物种百科"}, + {"type_name":"昆虫记","type_id": "昆虫记"}, + {"type_name":"探秘故宫角落","type_id": "探秘故宫角落"}, + {"type_name":"top10名校","type_id": "10天游遍世界top10名校"}, + {"type_name":"top10名画","type_id": "看懂世界top10名画"}, + {"type_name":"地球","type_id": "【全8集】舌尖上的地球"}, + //地理 + {"type_name":"地理","type_id": "给孩子的第一堂海洋课【完结】"}, + {"type_name":"海底世界","type_id": "穿越奇妙海底世界"}, + {"type_name":"地球生命史","type_id": "小灯塔地球生命史"}, + {"type_name":"探秘地球南北极","type_id": "小灯塔探秘地球南北极"}, + {"type_name":"世界十大名胜","type_id": "小灯塔探秘世界十大名胜"}, + {"type_name":"环球之旅","type_id": "小灯塔奇妙的环球之旅"}, + {"type_name":"华夏地理","type_id": "小灯塔探秘华夏地理"}, + {"type_name":"自然地理","type_id": "小灯塔自然地理大巡游"}, + {"type_name":"出发啦! 敦煌","type_id": "小灯塔出发啦! 敦煌"}, + {"type_name":"冲出亚马逊","type_id": "小灯塔冲出亚马逊"}, + {"type_name":"走进美国","type_id": "小灯塔走进美国"}, + {"type_name":" 非洲大冒险","type_id": "小灯塔 非洲大冒险"} + ], + // 筛选条件字典 + "filter":{ + //百科 + "10天玩转世界top10博物馆":[ + {"key":"tid","name":"分类","value":[ + {"n":"【小灯塔】10天玩转世界top10博物馆卢浮宫博物馆","v":"【小灯塔】10天玩转世界top10博物馆卢浮宫博物馆"}, + {"n":"玩转世界博物馆第二季","v":"玩转世界博物馆第二季"}, + {"n":"【合集】带孩子探秘恐龙世界 中文版","v":"【合集】带孩子探秘恐龙世界 中文版"}, + {"n":"【小灯塔】带孩子探秘恐龙世界宇宙的起源(英文版)","v":"【小灯塔】带孩子探秘恐龙世界宇宙的起源(英文版)"}, + {"n":"奇趣生物大百科","v":"奇趣生物大百科"}, + {"n":"玩转奇妙的动物世界","v":"玩转奇妙的动物世界"}, + {"n":"【小灯塔】给孩子的植物启蒙课","v":"【小灯塔】给孩子的植物启蒙课"}, + {"n":"昆虫记","v":"昆虫记"}, + {"n":"【小灯塔】昆虫记走进昆虫世界","v":"【小灯塔】昆虫记走进昆虫世界"}, + {"n":"探秘故宫角落","v":"探秘故宫角落"}, + {"n":"10天游遍世界top10名校","v":"10天游遍世界top10名校"}, + {"n":"看懂世界top10名画","v":"看懂世界top10名画"}, + {"n":"【全8集】舌尖上的地球","v":"【全8集】舌尖上的地球"} + ]}, + {"key": "duration","name": "时长","value": [ + {"n": "100~200分钟","v": "0"}, + {"n": "60~100分钟","v": "1"}, + {"n": "40~60分钟","v": "2"}, + {"n": "200分钟以上","v": "3"}, + {"n": "40分钟以下","v": "4"}]}], + //国学 + "神奇的汉字故事 全20集":[ + {"key":"tid","name":"分类","value":[ + {"n":"神奇的汉字故事 全20集","v":"神奇的汉字故事 全20集"}, + {"n":"穿越唐诗大世界","v":"穿越唐诗大世界"}, + {"n":"【小灯塔】诗词大会","v":"【小灯塔】诗词大会"}, + {"n":"三字经幼儿启蒙(56集超清全)","v":"三字经幼儿启蒙(56集超清全)"}, + {"n":"30集西游记精选故事 给孩子看的经典神话","v": "30集西游记精选故事 给孩子看的经典神话"}, + {"n":"【100集全】成语故事动画 小灯塔成语动画","v": "【100集全】成语故事动画 小灯塔成语动画"}, + {"n":"【小灯塔】中华名人故事","v": "【小灯塔】中华名人故事"}, + {"n":"20集全【给孩子的山海经】小灯塔趣味动画","v": "20集全【给孩子的山海经】小灯塔趣味动画"}, + {"n":"三国动画故事(24节全)","v": "三国动画故事(24节全)"}, + {"n":"【小灯塔】春节习俗追根溯源立春节","v": "【小灯塔】春节习俗追根溯源立春节"}, + {"n":"【小灯塔】十二生肖","v": "【小灯塔】十二生肖"}, + {"n":"【小灯塔】中华上下五千年","v": "【小灯塔】中华上下五千年"} + ]}, + {"key": "duration","name": "时长","value": [ + {"n": "100~200分钟","v": "0"}, + {"n": "60~100分钟","v": "1"}, + {"n": "40~60分钟","v": "2"}, + {"n": "200分钟以上","v": "3"}, + {"n": "40分钟以下","v": "4"}]}], + //地理 + "给孩子的第一堂海洋课【完结】":[ + {"key":"tid","name":"分类","value":[ + {"n":"给孩子的第一堂海洋课【完结】","v": "给孩子的第一堂海洋课【完结】"}, + {"n":"穿越奇妙海底世界","v": "穿越奇妙海底世界"}, + {"n":"【小灯塔】地球生命史","v": "【小灯塔】地球生命史"}, + {"n":"探秘地球南北极","v": "小灯塔探秘地球南北极"}, + {"n":"世界十大名胜","v": "小灯塔探秘世界十大名胜"}, + {"n":"环球之旅","v": "小灯塔奇妙的环球之旅"}, + {"n":"华夏地理","v": "小灯塔探秘华夏地理"}, + {"n":"自然地理","v": "小灯塔自然地理大巡游"}, + {"n":"出发啦! 敦煌","v": "小灯塔出发啦! 敦煌"}, + {"n":"冲出亚马逊","v": "小灯塔冲出亚马逊"}, + {"n":"走进美国","v": "小灯塔走进美国"}, + {"n":" 非洲大冒险","v": "小灯塔 非洲大冒险"} + ]}, + {"key": "duration","name": "时长","value": [ + {"n": "100~200分钟","v": "0"}, + {"n": "60~100分钟","v": "1"}, + {"n": "40~60分钟","v": "2"}, + {"n": "200分钟以上","v": "3"}, + {"n": "40分钟以下","v": "4"}]}], + //科学 + "小灯塔.剑桥数学启蒙课(全)":[ + {"key":"tid","name":"分类","value":[ + {"n":"小灯塔.剑桥数学启蒙课(全)","v": "小灯塔.剑桥数学启蒙课(全)"}, + {"n":"奇趣科学实验室","v": "小灯塔奇趣科学实验室"}, + {"n":"剑桥数学启蒙课","v": "小灯塔剑桥数学启蒙课"}, + {"n":"宇宙探秘之旅","v": "小灯塔十大主题宇宙探秘之旅"}, + {"n":"跟动物老师学发明","v": "小灯塔跟动物老师学发明"}, + {"n":"天才发明家","v": "小灯塔天才发明家"}, + {"n":"剑桥博士讲物理","v": "小灯塔剑桥博士讲物理"}, + {"n":"STEM奇妙科学课","v": "小灯塔STEM奇妙科学课"}, + {"n":"出发吧,月球!","v": "小灯塔出发吧,月球!"}, + {"n":"十大世界未解之谜","v": "小灯塔探秘十大世界未解之谜"}, + {"n":"神奇的气象魔法","v": "小灯塔神奇的气象魔法"}, + {"n":"了不起的新科技","v": "小灯塔了不起的新科技"} + ]}, + {"key": "duration","name": "时长","value": [ + {"n": "100~200分钟","v": "0"}, + {"n": "60~100分钟","v": "1"}, + {"n": "40~60分钟","v": "2"}, + {"n": "200分钟以上","v": "3"}, + {"n": "40分钟以下","v": "4"}]}], + //人文 + "给孩子的第一堂性教育课":[ + {"key":"tid","name":"分类","value":[ + {"n":"给孩子的第一堂性教育课","v": "给孩子的第一堂性教育课"}, + {"n":"小灯塔安全教育课","v": "小灯塔安全教育课"}, + {"n":"影响十万少年的人际沟通课","v": "影响十万少年的人际沟通课"}, + {"n":"跟着棋圣学围棋","v": "小灯塔跟着棋圣学围棋"}, + {"n":"小灯塔财商启蒙课","v": "小灯塔财商启蒙课"}, + {"n":"小灯塔人体奥秘","v": "小灯塔人体奥秘"}, + + {"n":"讲给孩子的人类简史","v": "小灯塔讲给孩子的人类简史"}, + {"n":"讲给孩子的希腊神话故事","v": "小灯塔讲给孩子的希腊神话故事"} + ]}, + {"key": "duration","name": "时长","value": [ + {"n": "100~200分钟","v": "0"}, + {"n": "60~100分钟","v": "1"}, + {"n": "40~60分钟","v": "2"}, + {"n": "200分钟以上","v": "3"}, + {"n": "40分钟以下","v": "4"}]}] + } +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/少儿频道/json/小灯塔地理.json b/tvboxqq/tvboxqq/少儿频道/json/小灯塔地理.json new file mode 100644 index 0000000..57adbae --- /dev/null +++ b/tvboxqq/tvboxqq/少儿频道/json/小灯塔地理.json @@ -0,0 +1,179 @@ +{ + "cookie": "SESSDATA=7624af93%2C1696008331%2C862c8%2A42; bili_jct=141a474ef3ce8cf2fedf384e68f6625d; DedeUserID=3493271303096985; DedeUserID__ckMd5=212a836c164605b7", + "classes": [ + //地理 + {"type_name":"地理","type_id": "给孩子的第一堂海洋课【完结】"}, + {"type_name":"海底世界","type_id": "穿越奇妙海底世界"}, + {"type_name":"地球生命史","type_id": "小灯塔地球生命史"}, + {"type_name":"探秘地球南北极","type_id": "小灯塔探秘地球南北极"}, + {"type_name":"世界十大名胜","type_id": "小灯塔探秘世界十大名胜"}, + {"type_name":"环球之旅","type_id": "小灯塔奇妙的环球之旅"}, + {"type_name":"华夏地理","type_id": "小灯塔探秘华夏地理"}, + {"type_name":"自然地理","type_id": "小灯塔自然地理大巡游"}, + {"type_name":"出发啦! 敦煌","type_id": "小灯塔出发啦! 敦煌"}, + {"type_name":"冲出亚马逊","type_id": "小灯塔冲出亚马逊"}, + {"type_name":"走进美国","type_id": "小灯塔走进美国"}, + {"type_name":" 非洲大冒险","type_id": "小灯塔 非洲大冒险"}, + //国学 + {"type_name":"国学","type_id": "神奇的汉字故事 全20集"}, + {"type_name":"唐诗大世界","type_id": "穿越唐诗大世界"}, + {"type_name":"诗词大会","type_id": "【小灯塔】诗词大会"}, + {"type_name":"三字经","type_id": "三字经幼儿启蒙(56集超清全)"}, + {"type_name":"西游记","type_id": "30集西游记精选故事 给孩子看的经典神话"}, + {"type_name":"经典神话","type_id": "30集西游记精选故事 给孩子看的经典神话"}, + {"type_name":"成语故事","type_id": "【100集全】成语故事动画 小灯塔成语动画"}, + {"type_name":"中华名人故事","type_id": "【小灯塔】中华名人故事"}, + {"type_name":"山海经","type_id": "20集全【给孩子的山海经】小灯塔趣味动画"}, + {"type_name":"三国动画","type_id": "三国动画故事(24节全)"}, + {"type_name":"春节习俗","type_id": "【小灯塔】春节习俗追根溯源立春节"}, + {"type_name":"少儿版三国演义","type_id": "小灯塔少儿版三国演义"}, + {"type_name":"十二生肖","type_id": "【小灯塔】十二生肖"}, + {"type_name":"中华上下五千年","type_id": "【小灯塔】中华上下五千年"}, + //科学 + {"type_name":"科学","type_id": "小灯塔.剑桥数学启蒙课(全)"}, + {"type_name":"奇趣科学实验室","type_id": "小灯塔奇趣科学实验室"}, + {"type_name":"剑桥数学启蒙课","type_id": "小灯塔剑桥数学启蒙课"}, + {"type_name":"宇宙探秘之旅","type_id": "小灯塔十大主题宇宙探秘之旅"}, + {"type_name":"跟动物老师学发明","type_id": "小灯塔跟动物老师学发明"}, + {"type_name":"天才发明家","type_id": "小灯塔天才发明家"}, + {"type_name":"剑桥博士讲物理","type_id": "小灯塔剑桥博士讲物理"}, + {"type_name":"STEM奇妙科学课","type_id": "小灯塔STEM奇妙科学课"}, + {"type_name":"出发吧,月球!","type_id": "小灯塔出发吧,月球!"}, + {"type_name":"十大世界未解之谜","type_id": "小灯塔探秘十大世界未解之谜"}, + {"type_name":"神奇的气象魔法","type_id": "小灯塔神奇的气象魔法"}, + {"type_name":"了不起的新科技","type_id": "小灯塔了不起的新科技"}, + //人文 + {"type_name":"安全教育课","type_id": "给孩子的第一堂性教育课"}, + {"type_name":"影响十万少年的人际沟通课","type_id": "影响十万少年的人际沟通课"}, + {"type_name":"跟着棋圣学围棋","type_id": "小灯塔跟着棋圣学围棋"}, + {"type_name":"财商启蒙课","type_id": "小灯塔财商启蒙课"}, + {"type_name":"人体奥秘","type_id": "小灯塔人体奥秘"}, + {"type_name":"儿童性教育课","type_id": "给孩子的第一堂性教育课"}, + {"type_name":"讲给孩子的人类简史","type_id": "小灯塔讲给孩子的人类简史"}, + {"type_name":"讲给孩子的希腊神话故事","type_id": "小灯塔讲给孩子的希腊神话故事"}, + //百科 + {"type_name":"百科","type_id": "10天玩转世界top10博物馆"}, + {"type_name":"世界博物馆","type_id": "玩转世界博物馆第二季"}, + {"type_name":"探秘恐龙世界","type_id": "【合集】带孩子探秘恐龙世界 中文版"}, + {"type_name":"奇趣生物大百科","type_id": "奇趣生物大百科"}, + {"type_name":"动物世界","type_id": "玩转奇妙的动物世界"}, + {"type_name":"植物启蒙","type_id": "【小灯塔】给孩子的植物启蒙课"}, + {"type_name":"物种百科","type_id": "小灯塔给孩子的物种百科"}, + {"type_name":"昆虫记","type_id": "昆虫记"}, + {"type_name":"探秘故宫角落","type_id": "探秘故宫角落"}, + {"type_name":"top10名校","type_id": "10天游遍世界top10名校"}, + {"type_name":"top10名画","type_id": "看懂世界top10名画"}, + {"type_name":"地球","type_id": "【全8集】舌尖上的地球"} + ], + // 筛选条件字典 + "filter":{ + //百科 + "10天玩转世界top10博物馆":[ + {"key":"tid","name":"分类","value":[ + {"n":"【小灯塔】10天玩转世界top10博物馆卢浮宫博物馆","v":"【小灯塔】10天玩转世界top10博物馆卢浮宫博物馆"}, + {"n":"玩转世界博物馆第二季","v":"玩转世界博物馆第二季"}, + {"n":"【合集】带孩子探秘恐龙世界 中文版","v":"【合集】带孩子探秘恐龙世界 中文版"}, + {"n":"【小灯塔】带孩子探秘恐龙世界宇宙的起源(英文版)","v":"【小灯塔】带孩子探秘恐龙世界宇宙的起源(英文版)"}, + {"n":"奇趣生物大百科","v":"奇趣生物大百科"}, + {"n":"玩转奇妙的动物世界","v":"玩转奇妙的动物世界"}, + {"n":"【小灯塔】给孩子的植物启蒙课","v":"【小灯塔】给孩子的植物启蒙课"}, + {"n":"昆虫记","v":"昆虫记"}, + {"n":"【小灯塔】昆虫记走进昆虫世界","v":"【小灯塔】昆虫记走进昆虫世界"}, + {"n":"探秘故宫角落","v":"探秘故宫角落"}, + {"n":"10天游遍世界top10名校","v":"10天游遍世界top10名校"}, + {"n":"看懂世界top10名画","v":"看懂世界top10名画"}, + {"n":"【全8集】舌尖上的地球","v":"【全8集】舌尖上的地球"} + ]}, + {"key": "duration","name": "时长","value": [ + {"n": "100~200分钟","v": "0"}, + {"n": "60~100分钟","v": "1"}, + {"n": "40~60分钟","v": "2"}, + {"n": "200分钟以上","v": "3"}, + {"n": "40分钟以下","v": "4"}]}], + //国学 + "神奇的汉字故事 全20集":[ + {"key":"tid","name":"分类","value":[ + {"n":"神奇的汉字故事 全20集","v":"神奇的汉字故事 全20集"}, + {"n":"穿越唐诗大世界","v":"穿越唐诗大世界"}, + {"n":"【小灯塔】诗词大会","v":"【小灯塔】诗词大会"}, + {"n":"三字经幼儿启蒙(56集超清全)","v":"三字经幼儿启蒙(56集超清全)"}, + {"n":"30集西游记精选故事 给孩子看的经典神话","v": "30集西游记精选故事 给孩子看的经典神话"}, + {"n":"【100集全】成语故事动画 小灯塔成语动画","v": "【100集全】成语故事动画 小灯塔成语动画"}, + {"n":"【小灯塔】中华名人故事","v": "【小灯塔】中华名人故事"}, + {"n":"20集全【给孩子的山海经】小灯塔趣味动画","v": "20集全【给孩子的山海经】小灯塔趣味动画"}, + {"n":"三国动画故事(24节全)","v": "三国动画故事(24节全)"}, + {"n":"【小灯塔】春节习俗追根溯源立春节","v": "【小灯塔】春节习俗追根溯源立春节"}, + {"n":"【小灯塔】十二生肖","v": "【小灯塔】十二生肖"}, + {"n":"【小灯塔】中华上下五千年","v": "【小灯塔】中华上下五千年"} + ]}, + {"key": "duration","name": "时长","value": [ + {"n": "100~200分钟","v": "0"}, + {"n": "60~100分钟","v": "1"}, + {"n": "40~60分钟","v": "2"}, + {"n": "200分钟以上","v": "3"}, + {"n": "40分钟以下","v": "4"}]}], + //地理 + "给孩子的第一堂海洋课【完结】":[ + {"key":"tid","name":"分类","value":[ + {"n":"给孩子的第一堂海洋课【完结】","v": "给孩子的第一堂海洋课【完结】"}, + {"n":"穿越奇妙海底世界","v": "穿越奇妙海底世界"}, + {"n":"【小灯塔】地球生命史","v": "【小灯塔】地球生命史"}, + {"n":"探秘地球南北极","v": "小灯塔探秘地球南北极"}, + {"n":"世界十大名胜","v": "小灯塔探秘世界十大名胜"}, + {"n":"环球之旅","v": "小灯塔奇妙的环球之旅"}, + {"n":"华夏地理","v": "小灯塔探秘华夏地理"}, + {"n":"自然地理","v": "小灯塔自然地理大巡游"}, + {"n":"出发啦! 敦煌","v": "小灯塔出发啦! 敦煌"}, + {"n":"冲出亚马逊","v": "小灯塔冲出亚马逊"}, + {"n":"走进美国","v": "小灯塔走进美国"}, + {"n":" 非洲大冒险","v": "小灯塔 非洲大冒险"} + ]}, + {"key": "duration","name": "时长","value": [ + {"n": "100~200分钟","v": "0"}, + {"n": "60~100分钟","v": "1"}, + {"n": "40~60分钟","v": "2"}, + {"n": "200分钟以上","v": "3"}, + {"n": "40分钟以下","v": "4"}]}], + //科学 + "小灯塔.剑桥数学启蒙课(全)":[ + {"key":"tid","name":"分类","value":[ + {"n":"小灯塔.剑桥数学启蒙课(全)","v": "小灯塔.剑桥数学启蒙课(全)"}, + {"n":"奇趣科学实验室","v": "小灯塔奇趣科学实验室"}, + {"n":"剑桥数学启蒙课","v": "小灯塔剑桥数学启蒙课"}, + {"n":"宇宙探秘之旅","v": "小灯塔十大主题宇宙探秘之旅"}, + {"n":"跟动物老师学发明","v": "小灯塔跟动物老师学发明"}, + {"n":"天才发明家","v": "小灯塔天才发明家"}, + {"n":"剑桥博士讲物理","v": "小灯塔剑桥博士讲物理"}, + {"n":"STEM奇妙科学课","v": "小灯塔STEM奇妙科学课"}, + {"n":"出发吧,月球!","v": "小灯塔出发吧,月球!"}, + {"n":"十大世界未解之谜","v": "小灯塔探秘十大世界未解之谜"}, + {"n":"神奇的气象魔法","v": "小灯塔神奇的气象魔法"}, + {"n":"了不起的新科技","v": "小灯塔了不起的新科技"} + ]}, + {"key": "duration","name": "时长","value": [ + {"n": "100~200分钟","v": "0"}, + {"n": "60~100分钟","v": "1"}, + {"n": "40~60分钟","v": "2"}, + {"n": "200分钟以上","v": "3"}, + {"n": "40分钟以下","v": "4"}]}], + //人文 + "给孩子的第一堂性教育课":[ + {"key":"tid","name":"分类","value":[ + {"n":"给孩子的第一堂性教育课","v": "给孩子的第一堂性教育课"}, + {"n":"小灯塔安全教育课","v": "小灯塔安全教育课"}, + {"n":"影响十万少年的人际沟通课","v": "影响十万少年的人际沟通课"}, + {"n":"跟着棋圣学围棋","v": "小灯塔跟着棋圣学围棋"}, + {"n":"小灯塔财商启蒙课","v": "小灯塔财商启蒙课"}, + {"n":"小灯塔人体奥秘","v": "小灯塔人体奥秘"}, + + {"n":"讲给孩子的人类简史","v": "小灯塔讲给孩子的人类简史"}, + {"n":"讲给孩子的希腊神话故事","v": "小灯塔讲给孩子的希腊神话故事"} + ]}, + {"key": "duration","name": "时长","value": [ + {"n": "100~200分钟","v": "0"}, + {"n": "60~100分钟","v": "1"}, + {"n": "40~60分钟","v": "2"}, + {"n": "200分钟以上","v": "3"}, + {"n": "40分钟以下","v": "4"}]}] + } +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/少儿频道/json/小灯塔百科.json b/tvboxqq/tvboxqq/少儿频道/json/小灯塔百科.json new file mode 100644 index 0000000..2727ea1 --- /dev/null +++ b/tvboxqq/tvboxqq/少儿频道/json/小灯塔百科.json @@ -0,0 +1,179 @@ +{ + "cookie": "SESSDATA=7624af93%2C1696008331%2C862c8%2A42; bili_jct=141a474ef3ce8cf2fedf384e68f6625d; DedeUserID=3493271303096985; DedeUserID__ckMd5=212a836c164605b7", + "classes": [ + //百科 + {"type_name":"百科","type_id": "10天玩转世界top10博物馆"}, + {"type_name":"世界博物馆","type_id": "玩转世界博物馆第二季"}, + {"type_name":"探秘恐龙世界","type_id": "【合集】带孩子探秘恐龙世界 中文版"}, + {"type_name":"奇趣生物大百科","type_id": "奇趣生物大百科"}, + {"type_name":"动物世界","type_id": "玩转奇妙的动物世界"}, + {"type_name":"植物启蒙","type_id": "【小灯塔】给孩子的植物启蒙课"}, + {"type_name":"物种百科","type_id": "小灯塔给孩子的物种百科"}, + {"type_name":"昆虫记","type_id": "昆虫记"}, + {"type_name":"探秘故宫角落","type_id": "探秘故宫角落"}, + {"type_name":"top10名校","type_id": "10天游遍世界top10名校"}, + {"type_name":"top10名画","type_id": "看懂世界top10名画"}, + {"type_name":"地球","type_id": "【全8集】舌尖上的地球"}, + //地理 + {"type_name":"地理","type_id": "给孩子的第一堂海洋课【完结】"}, + {"type_name":"海底世界","type_id": "穿越奇妙海底世界"}, + {"type_name":"地球生命史","type_id": "小灯塔地球生命史"}, + {"type_name":"探秘地球南北极","type_id": "小灯塔探秘地球南北极"}, + {"type_name":"世界十大名胜","type_id": "小灯塔探秘世界十大名胜"}, + {"type_name":"环球之旅","type_id": "小灯塔奇妙的环球之旅"}, + {"type_name":"华夏地理","type_id": "小灯塔探秘华夏地理"}, + {"type_name":"自然地理","type_id": "小灯塔自然地理大巡游"}, + {"type_name":"出发啦! 敦煌","type_id": "小灯塔出发啦! 敦煌"}, + {"type_name":"冲出亚马逊","type_id": "小灯塔冲出亚马逊"}, + {"type_name":"走进美国","type_id": "小灯塔走进美国"}, + {"type_name":" 非洲大冒险","type_id": "小灯塔 非洲大冒险"}, + //国学 + {"type_name":"国学","type_id": "神奇的汉字故事 全20集"}, + {"type_name":"唐诗大世界","type_id": "穿越唐诗大世界"}, + {"type_name":"诗词大会","type_id": "【小灯塔】诗词大会"}, + {"type_name":"三字经","type_id": "三字经幼儿启蒙(56集超清全)"}, + {"type_name":"西游记","type_id": "30集西游记精选故事 给孩子看的经典神话"}, + {"type_name":"经典神话","type_id": "30集西游记精选故事 给孩子看的经典神话"}, + {"type_name":"成语故事","type_id": "【100集全】成语故事动画 小灯塔成语动画"}, + {"type_name":"中华名人故事","type_id": "【小灯塔】中华名人故事"}, + {"type_name":"山海经","type_id": "20集全【给孩子的山海经】小灯塔趣味动画"}, + {"type_name":"三国动画","type_id": "三国动画故事(24节全)"}, + {"type_name":"春节习俗","type_id": "【小灯塔】春节习俗追根溯源立春节"}, + {"type_name":"少儿版三国演义","type_id": "小灯塔少儿版三国演义"}, + {"type_name":"十二生肖","type_id": "【小灯塔】十二生肖"}, + {"type_name":"中华上下五千年","type_id": "【小灯塔】中华上下五千年"}, + //科学 + {"type_name":"科学","type_id": "小灯塔.剑桥数学启蒙课(全)"}, + {"type_name":"奇趣科学实验室","type_id": "小灯塔奇趣科学实验室"}, + {"type_name":"剑桥数学启蒙课","type_id": "小灯塔剑桥数学启蒙课"}, + {"type_name":"宇宙探秘之旅","type_id": "小灯塔十大主题宇宙探秘之旅"}, + {"type_name":"跟动物老师学发明","type_id": "小灯塔跟动物老师学发明"}, + {"type_name":"天才发明家","type_id": "小灯塔天才发明家"}, + {"type_name":"剑桥博士讲物理","type_id": "小灯塔剑桥博士讲物理"}, + {"type_name":"STEM奇妙科学课","type_id": "小灯塔STEM奇妙科学课"}, + {"type_name":"出发吧,月球!","type_id": "小灯塔出发吧,月球!"}, + {"type_name":"十大世界未解之谜","type_id": "小灯塔探秘十大世界未解之谜"}, + {"type_name":"神奇的气象魔法","type_id": "小灯塔神奇的气象魔法"}, + {"type_name":"了不起的新科技","type_id": "小灯塔了不起的新科技"}, + //人文 + {"type_name":"安全教育课","type_id": "给孩子的第一堂性教育课"}, + {"type_name":"影响十万少年的人际沟通课","type_id": "影响十万少年的人际沟通课"}, + {"type_name":"跟着棋圣学围棋","type_id": "小灯塔跟着棋圣学围棋"}, + {"type_name":"财商启蒙课","type_id": "小灯塔财商启蒙课"}, + {"type_name":"人体奥秘","type_id": "小灯塔人体奥秘"}, + {"type_name":"儿童性教育课","type_id": "给孩子的第一堂性教育课"}, + {"type_name":"讲给孩子的人类简史","type_id": "小灯塔讲给孩子的人类简史"}, + {"type_name":"讲给孩子的希腊神话故事","type_id": "小灯塔讲给孩子的希腊神话故事"} + ], + // 筛选条件字典 + "filter":{ + //百科 + "10天玩转世界top10博物馆":[ + {"key":"tid","name":"分类","value":[ + {"n":"【小灯塔】10天玩转世界top10博物馆卢浮宫博物馆","v":"【小灯塔】10天玩转世界top10博物馆卢浮宫博物馆"}, + {"n":"玩转世界博物馆第二季","v":"玩转世界博物馆第二季"}, + {"n":"【合集】带孩子探秘恐龙世界 中文版","v":"【合集】带孩子探秘恐龙世界 中文版"}, + {"n":"【小灯塔】带孩子探秘恐龙世界宇宙的起源(英文版)","v":"【小灯塔】带孩子探秘恐龙世界宇宙的起源(英文版)"}, + {"n":"奇趣生物大百科","v":"奇趣生物大百科"}, + {"n":"玩转奇妙的动物世界","v":"玩转奇妙的动物世界"}, + {"n":"【小灯塔】给孩子的植物启蒙课","v":"【小灯塔】给孩子的植物启蒙课"}, + {"n":"昆虫记","v":"昆虫记"}, + {"n":"【小灯塔】昆虫记走进昆虫世界","v":"【小灯塔】昆虫记走进昆虫世界"}, + {"n":"探秘故宫角落","v":"探秘故宫角落"}, + {"n":"10天游遍世界top10名校","v":"10天游遍世界top10名校"}, + {"n":"看懂世界top10名画","v":"看懂世界top10名画"}, + {"n":"【全8集】舌尖上的地球","v":"【全8集】舌尖上的地球"} + ]}, + {"key": "duration","name": "时长","value": [ + {"n": "100~200分钟","v": "0"}, + {"n": "60~100分钟","v": "1"}, + {"n": "40~60分钟","v": "2"}, + {"n": "200分钟以上","v": "3"}, + {"n": "40分钟以下","v": "4"}]}], + //国学 + "神奇的汉字故事 全20集":[ + {"key":"tid","name":"分类","value":[ + {"n":"神奇的汉字故事 全20集","v":"神奇的汉字故事 全20集"}, + {"n":"穿越唐诗大世界","v":"穿越唐诗大世界"}, + {"n":"【小灯塔】诗词大会","v":"【小灯塔】诗词大会"}, + {"n":"三字经幼儿启蒙(56集超清全)","v":"三字经幼儿启蒙(56集超清全)"}, + {"n":"30集西游记精选故事 给孩子看的经典神话","v": "30集西游记精选故事 给孩子看的经典神话"}, + {"n":"【100集全】成语故事动画 小灯塔成语动画","v": "【100集全】成语故事动画 小灯塔成语动画"}, + {"n":"【小灯塔】中华名人故事","v": "【小灯塔】中华名人故事"}, + {"n":"20集全【给孩子的山海经】小灯塔趣味动画","v": "20集全【给孩子的山海经】小灯塔趣味动画"}, + {"n":"三国动画故事(24节全)","v": "三国动画故事(24节全)"}, + {"n":"【小灯塔】春节习俗追根溯源立春节","v": "【小灯塔】春节习俗追根溯源立春节"}, + {"n":"【小灯塔】十二生肖","v": "【小灯塔】十二生肖"}, + {"n":"【小灯塔】中华上下五千年","v": "【小灯塔】中华上下五千年"} + ]}, + {"key": "duration","name": "时长","value": [ + {"n": "100~200分钟","v": "0"}, + {"n": "60~100分钟","v": "1"}, + {"n": "40~60分钟","v": "2"}, + {"n": "200分钟以上","v": "3"}, + {"n": "40分钟以下","v": "4"}]}], + //地理 + "给孩子的第一堂海洋课【完结】":[ + {"key":"tid","name":"分类","value":[ + {"n":"给孩子的第一堂海洋课【完结】","v": "给孩子的第一堂海洋课【完结】"}, + {"n":"穿越奇妙海底世界","v": "穿越奇妙海底世界"}, + {"n":"【小灯塔】地球生命史","v": "【小灯塔】地球生命史"}, + {"n":"探秘地球南北极","v": "小灯塔探秘地球南北极"}, + {"n":"世界十大名胜","v": "小灯塔探秘世界十大名胜"}, + {"n":"环球之旅","v": "小灯塔奇妙的环球之旅"}, + {"n":"华夏地理","v": "小灯塔探秘华夏地理"}, + {"n":"自然地理","v": "小灯塔自然地理大巡游"}, + {"n":"出发啦! 敦煌","v": "小灯塔出发啦! 敦煌"}, + {"n":"冲出亚马逊","v": "小灯塔冲出亚马逊"}, + {"n":"走进美国","v": "小灯塔走进美国"}, + {"n":" 非洲大冒险","v": "小灯塔 非洲大冒险"} + ]}, + {"key": "duration","name": "时长","value": [ + {"n": "100~200分钟","v": "0"}, + {"n": "60~100分钟","v": "1"}, + {"n": "40~60分钟","v": "2"}, + {"n": "200分钟以上","v": "3"}, + {"n": "40分钟以下","v": "4"}]}], + //科学 + "小灯塔.剑桥数学启蒙课(全)":[ + {"key":"tid","name":"分类","value":[ + {"n":"小灯塔.剑桥数学启蒙课(全)","v": "小灯塔.剑桥数学启蒙课(全)"}, + {"n":"奇趣科学实验室","v": "小灯塔奇趣科学实验室"}, + {"n":"剑桥数学启蒙课","v": "小灯塔剑桥数学启蒙课"}, + {"n":"宇宙探秘之旅","v": "小灯塔十大主题宇宙探秘之旅"}, + {"n":"跟动物老师学发明","v": "小灯塔跟动物老师学发明"}, + {"n":"天才发明家","v": "小灯塔天才发明家"}, + {"n":"剑桥博士讲物理","v": "小灯塔剑桥博士讲物理"}, + {"n":"STEM奇妙科学课","v": "小灯塔STEM奇妙科学课"}, + {"n":"出发吧,月球!","v": "小灯塔出发吧,月球!"}, + {"n":"十大世界未解之谜","v": "小灯塔探秘十大世界未解之谜"}, + {"n":"神奇的气象魔法","v": "小灯塔神奇的气象魔法"}, + {"n":"了不起的新科技","v": "小灯塔了不起的新科技"} + ]}, + {"key": "duration","name": "时长","value": [ + {"n": "100~200分钟","v": "0"}, + {"n": "60~100分钟","v": "1"}, + {"n": "40~60分钟","v": "2"}, + {"n": "200分钟以上","v": "3"}, + {"n": "40分钟以下","v": "4"}]}], + //人文 + "给孩子的第一堂性教育课":[ + {"key":"tid","name":"分类","value":[ + {"n":"给孩子的第一堂性教育课","v": "给孩子的第一堂性教育课"}, + {"n":"小灯塔安全教育课","v": "小灯塔安全教育课"}, + {"n":"影响十万少年的人际沟通课","v": "影响十万少年的人际沟通课"}, + {"n":"跟着棋圣学围棋","v": "小灯塔跟着棋圣学围棋"}, + {"n":"小灯塔财商启蒙课","v": "小灯塔财商启蒙课"}, + {"n":"小灯塔人体奥秘","v": "小灯塔人体奥秘"}, + + {"n":"讲给孩子的人类简史","v": "小灯塔讲给孩子的人类简史"}, + {"n":"讲给孩子的希腊神话故事","v": "小灯塔讲给孩子的希腊神话故事"} + ]}, + {"key": "duration","name": "时长","value": [ + {"n": "100~200分钟","v": "0"}, + {"n": "60~100分钟","v": "1"}, + {"n": "40~60分钟","v": "2"}, + {"n": "200分钟以上","v": "3"}, + {"n": "40分钟以下","v": "4"}]}] + } +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/少儿频道/json/小灯塔科学.json b/tvboxqq/tvboxqq/少儿频道/json/小灯塔科学.json new file mode 100644 index 0000000..abe9751 --- /dev/null +++ b/tvboxqq/tvboxqq/少儿频道/json/小灯塔科学.json @@ -0,0 +1,181 @@ +{ + "cookie": "SESSDATA=7624af93%2C1696008331%2C862c8%2A42; bili_jct=141a474ef3ce8cf2fedf384e68f6625d; DedeUserID=3493271303096985; DedeUserID__ckMd5=212a836c164605b7", + "classes": [ + + //科学 + {"type_name":"科学","type_id": "小灯塔.剑桥数学启蒙课(全)"}, + {"type_name":"奇趣科学实验室","type_id": "小灯塔奇趣科学实验室"}, + {"type_name":"剑桥数学启蒙课","type_id": "小灯塔剑桥数学启蒙课"}, + {"type_name":"宇宙探秘之旅","type_id": "小灯塔十大主题宇宙探秘之旅"}, + {"type_name":"跟动物老师学发明","type_id": "小灯塔跟动物老师学发明"}, + {"type_name":"天才发明家","type_id": "小灯塔天才发明家"}, + {"type_name":"剑桥博士讲物理","type_id": "小灯塔剑桥博士讲物理"}, + {"type_name":"STEM奇妙科学课","type_id": "小灯塔STEM奇妙科学课"}, + {"type_name":"出发吧,月球!","type_id": "小灯塔出发吧,月球!"}, + {"type_name":"十大世界未解之谜","type_id": "小灯塔探秘十大世界未解之谜"}, + {"type_name":"神奇的气象魔法","type_id": "小灯塔神奇的气象魔法"}, + {"type_name":"了不起的新科技","type_id": "小灯塔了不起的新科技"}, + //人文 + {"type_name":"安全教育课","type_id": "给孩子的第一堂性教育课"}, + {"type_name":"影响十万少年的人际沟通课","type_id": "影响十万少年的人际沟通课"}, + {"type_name":"跟着棋圣学围棋","type_id": "小灯塔跟着棋圣学围棋"}, + {"type_name":"财商启蒙课","type_id": "小灯塔财商启蒙课"}, + {"type_name":"人体奥秘","type_id": "小灯塔人体奥秘"}, + {"type_name":"儿童性教育课","type_id": "给孩子的第一堂性教育课"}, + {"type_name":"讲给孩子的人类简史","type_id": "小灯塔讲给孩子的人类简史"}, + {"type_name":"讲给孩子的希腊神话故事","type_id": "小灯塔讲给孩子的希腊神话故事"}, + //百科 + {"type_name":"百科","type_id": "10天玩转世界top10博物馆"}, + {"type_name":"世界博物馆","type_id": "玩转世界博物馆第二季"}, + {"type_name":"探秘恐龙世界","type_id": "【合集】带孩子探秘恐龙世界 中文版"}, + {"type_name":"奇趣生物大百科","type_id": "奇趣生物大百科"}, + {"type_name":"动物世界","type_id": "玩转奇妙的动物世界"}, + {"type_name":"植物启蒙","type_id": "【小灯塔】给孩子的植物启蒙课"}, + {"type_name":"物种百科","type_id": "小灯塔给孩子的物种百科"}, + {"type_name":"昆虫记","type_id": "昆虫记"}, + {"type_name":"探秘故宫角落","type_id": "探秘故宫角落"}, + {"type_name":"top10名校","type_id": "10天游遍世界top10名校"}, + {"type_name":"top10名画","type_id": "看懂世界top10名画"}, + {"type_name":"地球","type_id": "【全8集】舌尖上的地球"}, + //地理 + {"type_name":"地理","type_id": "给孩子的第一堂海洋课【完结】"}, + {"type_name":"海底世界","type_id": "穿越奇妙海底世界"}, + {"type_name":"地球生命史","type_id": "小灯塔地球生命史"}, + {"type_name":"探秘地球南北极","type_id": "小灯塔探秘地球南北极"}, + {"type_name":"世界十大名胜","type_id": "小灯塔探秘世界十大名胜"}, + {"type_name":"环球之旅","type_id": "小灯塔奇妙的环球之旅"}, + {"type_name":"华夏地理","type_id": "小灯塔探秘华夏地理"}, + {"type_name":"自然地理","type_id": "小灯塔自然地理大巡游"}, + {"type_name":"出发啦! 敦煌","type_id": "小灯塔出发啦! 敦煌"}, + {"type_name":"冲出亚马逊","type_id": "小灯塔冲出亚马逊"}, + {"type_name":"走进美国","type_id": "小灯塔走进美国"}, + {"type_name":" 非洲大冒险","type_id": "小灯塔 非洲大冒险"}, + + //国学 + {"type_name":"国学","type_id": "神奇的汉字故事 全20集"}, + {"type_name":"唐诗大世界","type_id": "穿越唐诗大世界"}, + {"type_name":"诗词大会","type_id": "【小灯塔】诗词大会"}, + {"type_name":"三字经","type_id": "三字经幼儿启蒙(56集超清全)"}, + {"type_name":"西游记","type_id": "30集西游记精选故事 给孩子看的经典神话"}, + {"type_name":"经典神话","type_id": "30集西游记精选故事 给孩子看的经典神话"}, + {"type_name":"成语故事","type_id": "【100集全】成语故事动画 小灯塔成语动画"}, + {"type_name":"中华名人故事","type_id": "【小灯塔】中华名人故事"}, + {"type_name":"山海经","type_id": "20集全【给孩子的山海经】小灯塔趣味动画"}, + {"type_name":"三国动画","type_id": "三国动画故事(24节全)"}, + {"type_name":"春节习俗","type_id": "【小灯塔】春节习俗追根溯源立春节"}, + {"type_name":"少儿版三国演义","type_id": "小灯塔少儿版三国演义"}, + {"type_name":"十二生肖","type_id": "【小灯塔】十二生肖"}, + {"type_name":"中华上下五千年","type_id": "【小灯塔】中华上下五千年"} + ], + // 筛选条件字典 + "filter":{ + //百科 + "10天玩转世界top10博物馆":[ + {"key":"tid","name":"分类","value":[ + {"n":"【小灯塔】10天玩转世界top10博物馆卢浮宫博物馆","v":"【小灯塔】10天玩转世界top10博物馆卢浮宫博物馆"}, + {"n":"玩转世界博物馆第二季","v":"玩转世界博物馆第二季"}, + {"n":"【合集】带孩子探秘恐龙世界 中文版","v":"【合集】带孩子探秘恐龙世界 中文版"}, + {"n":"【小灯塔】带孩子探秘恐龙世界宇宙的起源(英文版)","v":"【小灯塔】带孩子探秘恐龙世界宇宙的起源(英文版)"}, + {"n":"奇趣生物大百科","v":"奇趣生物大百科"}, + {"n":"玩转奇妙的动物世界","v":"玩转奇妙的动物世界"}, + {"n":"【小灯塔】给孩子的植物启蒙课","v":"【小灯塔】给孩子的植物启蒙课"}, + {"n":"昆虫记","v":"昆虫记"}, + {"n":"【小灯塔】昆虫记走进昆虫世界","v":"【小灯塔】昆虫记走进昆虫世界"}, + {"n":"探秘故宫角落","v":"探秘故宫角落"}, + {"n":"10天游遍世界top10名校","v":"10天游遍世界top10名校"}, + {"n":"看懂世界top10名画","v":"看懂世界top10名画"}, + {"n":"【全8集】舌尖上的地球","v":"【全8集】舌尖上的地球"} + ]}, + {"key": "duration","name": "时长","value": [ + {"n": "100~200分钟","v": "0"}, + {"n": "60~100分钟","v": "1"}, + {"n": "40~60分钟","v": "2"}, + {"n": "200分钟以上","v": "3"}, + {"n": "40分钟以下","v": "4"}]}], + //国学 + "神奇的汉字故事 全20集":[ + {"key":"tid","name":"分类","value":[ + {"n":"神奇的汉字故事 全20集","v":"神奇的汉字故事 全20集"}, + {"n":"穿越唐诗大世界","v":"穿越唐诗大世界"}, + {"n":"【小灯塔】诗词大会","v":"【小灯塔】诗词大会"}, + {"n":"三字经幼儿启蒙(56集超清全)","v":"三字经幼儿启蒙(56集超清全)"}, + {"n":"30集西游记精选故事 给孩子看的经典神话","v": "30集西游记精选故事 给孩子看的经典神话"}, + {"n":"【100集全】成语故事动画 小灯塔成语动画","v": "【100集全】成语故事动画 小灯塔成语动画"}, + {"n":"【小灯塔】中华名人故事","v": "【小灯塔】中华名人故事"}, + {"n":"20集全【给孩子的山海经】小灯塔趣味动画","v": "20集全【给孩子的山海经】小灯塔趣味动画"}, + {"n":"三国动画故事(24节全)","v": "三国动画故事(24节全)"}, + {"n":"【小灯塔】春节习俗追根溯源立春节","v": "【小灯塔】春节习俗追根溯源立春节"}, + {"n":"【小灯塔】十二生肖","v": "【小灯塔】十二生肖"}, + {"n":"【小灯塔】中华上下五千年","v": "【小灯塔】中华上下五千年"} + ]}, + {"key": "duration","name": "时长","value": [ + {"n": "100~200分钟","v": "0"}, + {"n": "60~100分钟","v": "1"}, + {"n": "40~60分钟","v": "2"}, + {"n": "200分钟以上","v": "3"}, + {"n": "40分钟以下","v": "4"}]}], + //地理 + "给孩子的第一堂海洋课【完结】":[ + {"key":"tid","name":"分类","value":[ + {"n":"给孩子的第一堂海洋课【完结】","v": "给孩子的第一堂海洋课【完结】"}, + {"n":"穿越奇妙海底世界","v": "穿越奇妙海底世界"}, + {"n":"【小灯塔】地球生命史","v": "【小灯塔】地球生命史"}, + {"n":"探秘地球南北极","v": "小灯塔探秘地球南北极"}, + {"n":"世界十大名胜","v": "小灯塔探秘世界十大名胜"}, + {"n":"环球之旅","v": "小灯塔奇妙的环球之旅"}, + {"n":"华夏地理","v": "小灯塔探秘华夏地理"}, + {"n":"自然地理","v": "小灯塔自然地理大巡游"}, + {"n":"出发啦! 敦煌","v": "小灯塔出发啦! 敦煌"}, + {"n":"冲出亚马逊","v": "小灯塔冲出亚马逊"}, + {"n":"走进美国","v": "小灯塔走进美国"}, + {"n":" 非洲大冒险","v": "小灯塔 非洲大冒险"} + ]}, + {"key": "duration","name": "时长","value": [ + {"n": "100~200分钟","v": "0"}, + {"n": "60~100分钟","v": "1"}, + {"n": "40~60分钟","v": "2"}, + {"n": "200分钟以上","v": "3"}, + {"n": "40分钟以下","v": "4"}]}], + //科学 + "小灯塔.剑桥数学启蒙课(全)":[ + {"key":"tid","name":"分类","value":[ + {"n":"小灯塔.剑桥数学启蒙课(全)","v": "小灯塔.剑桥数学启蒙课(全)"}, + {"n":"奇趣科学实验室","v": "小灯塔奇趣科学实验室"}, + {"n":"剑桥数学启蒙课","v": "小灯塔剑桥数学启蒙课"}, + {"n":"宇宙探秘之旅","v": "小灯塔十大主题宇宙探秘之旅"}, + {"n":"跟动物老师学发明","v": "小灯塔跟动物老师学发明"}, + {"n":"天才发明家","v": "小灯塔天才发明家"}, + {"n":"剑桥博士讲物理","v": "小灯塔剑桥博士讲物理"}, + {"n":"STEM奇妙科学课","v": "小灯塔STEM奇妙科学课"}, + {"n":"出发吧,月球!","v": "小灯塔出发吧,月球!"}, + {"n":"十大世界未解之谜","v": "小灯塔探秘十大世界未解之谜"}, + {"n":"神奇的气象魔法","v": "小灯塔神奇的气象魔法"}, + {"n":"了不起的新科技","v": "小灯塔了不起的新科技"} + ]}, + {"key": "duration","name": "时长","value": [ + {"n": "100~200分钟","v": "0"}, + {"n": "60~100分钟","v": "1"}, + {"n": "40~60分钟","v": "2"}, + {"n": "200分钟以上","v": "3"}, + {"n": "40分钟以下","v": "4"}]}], + //人文 + "给孩子的第一堂性教育课":[ + {"key":"tid","name":"分类","value":[ + {"n":"给孩子的第一堂性教育课","v": "给孩子的第一堂性教育课"}, + {"n":"小灯塔安全教育课","v": "小灯塔安全教育课"}, + {"n":"影响十万少年的人际沟通课","v": "影响十万少年的人际沟通课"}, + {"n":"跟着棋圣学围棋","v": "小灯塔跟着棋圣学围棋"}, + {"n":"小灯塔财商启蒙课","v": "小灯塔财商启蒙课"}, + {"n":"小灯塔人体奥秘","v": "小灯塔人体奥秘"}, + + {"n":"讲给孩子的人类简史","v": "小灯塔讲给孩子的人类简史"}, + {"n":"讲给孩子的希腊神话故事","v": "小灯塔讲给孩子的希腊神话故事"} + ]}, + {"key": "duration","name": "时长","value": [ + {"n": "100~200分钟","v": "0"}, + {"n": "60~100分钟","v": "1"}, + {"n": "40~60分钟","v": "2"}, + {"n": "200分钟以上","v": "3"}, + {"n": "40分钟以下","v": "4"}]}] + } +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/少儿频道/json/幼儿启蒙.json b/tvboxqq/tvboxqq/少儿频道/json/幼儿启蒙.json new file mode 100644 index 0000000..8102687 --- /dev/null +++ b/tvboxqq/tvboxqq/少儿频道/json/幼儿启蒙.json @@ -0,0 +1,185 @@ +{ + "cookie": "SESSDATA=7624af93%2C1696008331%2C862c8%2A42; bili_jct=141a474ef3ce8cf2fedf384e68f6625d; DedeUserID=3493271303096985; DedeUserID__ckMd5=212a836c164605b7", + "classes":[ + {"type_name":"幼儿英语","type_id":"幼儿英语"}, + {"type_name":"思维课程","type_id":"少儿思维"}, + {"type_name":"少儿口才","type_id":"少儿口才"}, + {"type_name":"十万个为什么","type_id":"十万个为什么"}, + {"type_name":"DK百科","type_id":"DK百科"}, + {"type_name":"小灯塔学堂","type_id":"小灯塔"}, + {"type_name":"成语故事","type_id":"成语故事"}, + {"type_name":"安全教育","type_id":"安全教育"}, + {"type_name":"少儿编程","type_id":"少儿编程"}, + {"type_name":"古诗","type_id":"古诗"}, + {"type_name":"声律启蒙","type_id":"声律启蒙"}, + {"type_name":"笠翁对韵","type_id":"笠翁对韵"}, + {"type_name":"三字经","type_id":"三字经"}, + {"type_name":"弟子规","type_id":"弟子规"}, + {"type_name":"百家姓","type_id":"百家姓"}, + {"type_name":"儿童性教育","type_id":"给孩子的第一堂性教育课"}], + + "filter":{ + "幼儿英语":[ + {"key":"tid","name":"分类","value":[ + {"n":"幼儿英语","v":"幼儿英语"}, + {"n":"英语启蒙","v":"英语启蒙"}, + {"n":"英文绘本","v":"英文绘本"}, + {"n":"Tumble Leaf飘零叶","v":"Tumble Leaf飘零叶"}, + {"n":"清华附小动画英语","v":"清华附小动画英语"}, + {"n":"牛津树","v":"牛津树"}, + {"n":"6岁英文启蒙动画","v":"6岁英文启蒙动画"}, + {"n":"动物王国大冒险","v":"动物王国大冒险"}, + {"n":"世界经典童话合集","v":"世界经典童话合集"}, + {"n":"火火兔学前英语","v":"火火兔学前英语"}, + {"n":"亲子英语","v":"亲子英语"}, + {"n":"国外幼儿园英语","v":"国外幼儿园英语"}]}, + {"key":"duration","name":"时长","value":[ + {"n":"全部","v":"0"}, + {"n":"60分钟以上","v":"4"}, + {"n":"30~60分钟","v":"3"}, + {"n":"10~30分钟","v":"2"}, + {"n":"10分钟以下","v":"1"}]}], + "少儿思维":[ + {"key":"tid","name":"分类","value":[ + {"n":"全部","v":"少儿思维"}, + {"n":"幼小衔接数学思维课","v":"幼小衔接数学思维课"}, + {"n":"数学思维","v":"数学思维启蒙"}, + {"n":"摩比爱数学","v":"摩比爱数学"}, + {"n":"数理思维","v":"数理思维"}, + {"n":"火花思维","v":"火花思维"}, + {"n":"幼儿思维","v":"幼儿思维训练"}, + {"n":"数学思维培养","v":"数学思维培养"}, + {"n":"儿童思维","v":"儿童思维训练"}, + {"n":"幼儿思维推理训练","v":"幼儿思维推理训练"}]}, + {"key":"duration","name":"时长","value":[ + {"n":"全部","v":"0"}, + {"n":"60分钟以上","v":"4"}, + {"n":"30~60分钟","v":"3"}, + {"n":"10~30分钟","v":"2"}, + {"n":"10分钟以下","v":"1"}]}], + "少儿口才":[ + {"key":"tid","name":"分类","value":[ + {"n":"全部","v":"少儿口才"}, + {"n":"孩子必学口才表达","v":"孩子必学口才表达"}, + {"n":"儿童表达力","v":"儿童表达力"}]}, + {"key":"duration","name":"时长","value":[ + {"n":"全部","v":"0"}, + {"n":"60分钟以上","v":"4"}, + {"n":"30~60分钟","v":"3"}, + {"n":"10~30分钟","v":"2"}, + {"n":"10分钟以下","v":"1"}]}], + "十万个为什么":[ + {"key":"tid","name":"分类","value":[ + {"n":"全部","v":"十万个为什么"}, + {"n":"科普启蒙","v":"科普启蒙"}, + {"n":"儿童科普","v":"儿童科普"}]}, + {"key":"duration","name":"时长","value":[ + {"n":"全部","v":"0"}, + {"n":"60分钟以上","v":"4"}, + {"n":"30~60分钟","v":"3"}, + {"n":"10~30分钟","v":"2"}, + {"n":"10分钟以下","v":"1"}]}], + "DK百科":[ + {"key":"tid","name":"分类","value":[ + {"n":"全部","v":"DK百科"}, + {"n":"幼儿百科","v":"幼儿百科"}, + {"n":"儿童百科","v":"儿童百科"}]}, + {"key":"duration","name":"时长","value":[ + {"n":"全部","v":"0"}, + {"n":"60分钟以上","v":"4"}, + {"n":"30~60分钟","v":"3"}, + {"n":"10~30分钟","v":"2"}, + {"n":"10分钟以下","v":"1"}]}], + "小灯塔":[ + {"key":"tid","name":"分类","value":[ + {"n":"全部","v":"小灯塔"}, + {"n":"昆虫世界总动员","v":"昆虫世界总动员"}, + {"n":"玩转奇妙动物世界","v":"玩转奇妙动物世界"}, + {"n":"探秘地球南北极","v":"探秘地球南北极"}, + {"n":"给孩子的第一堂海洋课","v":"给孩子的第一堂海洋课"}, + {"n":"stem奇妙科学课","v":"stem奇妙科学课"}, + {"n":"剑桥数学启蒙课","v":"剑桥数学启蒙课"}, + {"n":"给孩子的财商启蒙教育","v":"给孩子的财商启蒙教育"}, + {"n":"古诗里的二十四节气","v":"古诗里的二十四节气"}, + {"n":"成语动画","v":"成语动画"}, + {"n":"十二生肖","v":"十二生肖"}, + {"n":"天才发明家","v":"天才发明家"}, + {"n":"神奇的汉字","v":"神奇的汉字"}]}, + {"key":"duration","name":"时长","value":[ + {"n":"全部","v":"0"}, + {"n":"60分钟以上","v":"4"}, + {"n":"30~60分钟","v":"3"}, + {"n":"10~30分钟","v":"2"}, + {"n":"10分钟以下","v":"1"}]}], + "成语故事":[ + {"key":"tid","name":"分类","value":[ + {"n":"成语故事","v":"成语故事"}]}, + {"key":"duration","name":"时长","value":[ + {"n":"全部","v":"0"}, + {"n":"60分钟以上","v":"4"}, + {"n":"30~60分钟","v":"3"}, + {"n":"10~30分钟","v":"2"}, + {"n":"10分钟以下","v":"1"}]}], + "安全教育":[ + {"key":"duration","name":"时长","value":[ + {"n":"全部","v":"0"}, + {"n":"60分钟以上","v":"4"}, + {"n":"30~60分钟","v":"3"}, + {"n":"10~30分钟","v":"2"}, + {"n":"10分钟以下","v":"1"}]}], + "少儿编程":[ + {"key":"tid","name":"分类","value":[ + {"n":"全部","v":"少儿编程"}, + {"n":"Sratch","v":"Sratch"}, + {"n":"图形编程","v":"图形编程"}, + {"n":"趣味编程","v":"趣味编程"}]}, + {"key":"duration","name":"时长","value":[ + {"n":"全部","v":"0"}, + {"n":"60分钟以上","v":"4"}, + {"n":"30~60分钟","v":"3"}, + {"n":"10~30分钟","v":"2"}, + {"n":"10分钟以下","v":"1"}]}], + "古诗":[ + {"key":"tid","name":"分类","value":[ + {"n":"全部","v":"古诗"}, + {"n":"唐诗三百首","v":"唐诗三百首"}, + {"n":"小学古诗","v":"小学古诗"}, + {"n":"幼儿古诗","v":"幼儿古诗"}]}, + {"key":"duration","name":"时长","value":[ + {"n":"全部","v":"0"}, + {"n":"60分钟以上","v":"4"}, + {"n":"30~60分钟","v":"3"}, + {"n":"10~30分钟","v":"2"}, + {"n":"10分钟以下","v":"1"}]}], + "声律启蒙":[ + {"key":"tid","name":"分类","value":[ + {"n":"全部","v":"声律启蒙"}, + {"n":"声律启蒙","v":"声律启蒙"}, + {"n":"笠翁对韵","v":"笠翁对韵"}]}, + {"key":"duration","name":"时长","value":[ + {"n":"全部","v":"0"}, + {"n":"60分钟以上","v":"4"}, + {"n":"30~60分钟","v":"3"}, + {"n":"10~30分钟","v":"2"}, + {"n":"10分钟以下","v":"1"}]}], + "三字经":[ + {"key":"duration","name":"时长","value":[ + {"n":"全部","v":"0"}, + {"n":"60分钟以上","v":"4"}, + {"n":"30~60分钟","v":"3"}, + {"n":"10~30分钟","v":"2"}, + {"n":"10分钟以下","v":"1"}]}], + "弟子规":[ + {"key":"duration","name":"时长","value":[ + {"n":"全部","v":"0"}, + {"n":"60分钟以上","v":"4"}, + {"n":"30~60分钟","v":"3"}, + {"n":"10~30分钟","v":"2"}, + {"n":"10分钟以下","v":"1"}]}], + "百家姓":[ + {"key":"duration","name":"时长","value":[ + {"n":"全部","v":"0"}, + {"n":"60分钟以上","v":"4"}, + {"n":"30~60分钟","v":"3"}, + {"n":"10~30分钟","v":"2"}, + {"n":"10分钟以下","v":"1"}]}]}} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/少儿频道/json/幼小衔接.json b/tvboxqq/tvboxqq/少儿频道/json/幼小衔接.json new file mode 100644 index 0000000..da782ae --- /dev/null +++ b/tvboxqq/tvboxqq/少儿频道/json/幼小衔接.json @@ -0,0 +1,176 @@ +{ + "cookie": "SESSDATA=7624af93%2C1696008331%2C862c8%2A42; bili_jct=141a474ef3ce8cf2fedf384e68f6625d; DedeUserID=3493271303096985; DedeUserID__ckMd5=212a836c164605b7", + "classes":[ + {"type_name":"拼音启蒙","type_id":"幼儿拼音全套学习课程"}, + {"type_name":"识字启蒙","type_id":"识字启蒙"}, + {"type_name":"英语启蒙","type_id":"英语启蒙"}, + {"type_name":"英语音标","type_id":"幼儿音标教学"}, + {"type_name":"少儿书法","type_id":"写字启蒙教程"}, + {"type_name":"少儿口才","type_id":"少儿口才第一课"}, + {"type_name":"数学启蒙","type_id":"数学启蒙"}, + {"type_name":"思维课程","type_id":"少儿思维"}, + {"type_name":"看图说话","type_id":"看图说话"} + ], + + "filter":{ + "识字启蒙":[ + {"key":"tid","name":"分类","value":[ + {"n":"全部","v":"识字启蒙"}, + {"n":"幼儿识字","v":"幼儿识字"}, + {"n":"识字动画","v":"识字动画"}, + {"n":"悟空识字","v":"悟空识字"}, + {"n":"认字动画","v":"认字动画"}, + {"n":"汉字学习","v":"汉字学习"}, + {"n":"小灯塔神奇的汉字","v":"小灯塔神奇的汉字"}, + {"n":"汉字的演变","v":"汉字的演变"}, + {"n":"汉字宫","v":"汉字宫"}]}, + {"key":"order","name":"排序","value":[ + {"n":"综合排序","v":"0"}, + {"n":"最多点击","v":"click"}, + {"n":"最新发布","v":"pubdate"}, + {"n":"最多弹幕","v":"dm"}, + {"n":"最多收藏","v":"stow"}]}, + {"key":"duration","name":"时长","value":[ + {"n":"全部","v":"0"}, + {"n":"60分钟以上","v":"4"}, + {"n":"30~60分钟","v":"3"}, + {"n":"10~30分钟","v":"2"}, + {"n":"10分钟以下","v":"1"}]}], + "幼儿拼音全套学习课程":[ + {"key":"tid","name":"分类","value":[ + {"n":"兔小贝拼音20集","v":"兔小贝拼音20集"}, + {"n":"拼音启蒙动画课","v":"拼音启蒙动画课"}, + {"n":"幼儿拼音全套学习课程","v":"幼儿拼音全套学习课程"}, + {"n":"跟我学拼音","v":"跟我学拼音"}, + {"n":"幼小衔接学拼音必修课","v":"幼小衔接学拼音必修课"}, + {"n":"二十二天搞定拼音","v":"二十二天搞定拼音"}, + {"n":"【小学】芳妈教你学拼音","v":"【小学】芳妈教你学拼音"}, + {"n":"拼音启蒙动画上下册23集","v":"拼音启蒙动画上下册23集"}, + {"n":"【拼音歌合集】练宝宝学习拼音","v":"【拼音歌合集】练宝宝学习拼音"} + ]}, + {"key":"order","name":"排序","value":[ + {"n":"综合排序","v":"0"}, + {"n":"最多点击","v":"click"}, + {"n":"最新发布","v":"pubdate"}, + {"n":"最多弹幕","v":"dm"}, + {"n":"最多收藏","v":"stow"}]}, + {"key":"duration","name":"时长","value":[ + {"n":"全部","v":"0"}, + {"n":"60分钟以上","v":"4"}, + {"n":"30~60分钟","v":"3"}, + {"n":"10~30分钟","v":"2"}, + {"n":"10分钟以下","v":"1"}]}], + "数学启蒙":[ + {"key":"tid","name":"分类","value":[ + {"n":"全部","v":"数学启蒙"}, + {"n":"凑十法","v":"凑十法"}, + {"n":"STEAM数学思维启蒙","v":"STEAM数学思维启蒙"}, + {"n":"宝宝巴士数学小课堂","v":"宝宝巴士数学小课堂"}, + {"n":"幼儿数学","v":"幼儿数学"}, + {"n":"数学幼小衔接训练营","v":"数学幼小衔接训练营"}, + {"n":"学而思摩比爱数学","v":"学而思摩比爱数学"}]}, + {"key":"duration","name":"时长","value":[ + {"n":"全部","v":"0"}, + {"n":"60分钟以上","v":"4"}, + {"n":"30~60分钟","v":"3"}, + {"n":"10~30分钟","v":"2"}, + {"n":"10分钟以下","v":"1"}]}], + "英语启蒙":[ + {"key":"tid","name":"分类","value":[ + {"n":"全部","v":"英语启蒙"}, + {"n":"幼儿英语","v":"幼儿英语"}, + {"n":"牛津阅读","v":"牛津阅读1-6级"}, + {"n":"洪恩幼儿英语","v":"洪恩幼儿英语"}, + {"n":"儿童英语","v":"儿童英语"}, + {"n":"英语动画","v":"英语动画"}, + {"n":"英文动画","v":"英文动画"}, + {"n":"幼儿园英语","v":"幼儿园英语"}]}, + {"key":"duration","name":"时长","value":[ + {"n":"全部","v":"0"}, + {"n":"60分钟以上","v":"4"}, + {"n":"30~60分钟","v":"3"}, + {"n":"10~30分钟","v":"2"}, + {"n":"10分钟以下","v":"1"}]}], + "少儿思维":[ + {"key":"tid","name":"分类","value":[ + {"n":"全部","v":"少儿思维"}, + {"n":"幼小衔接数学思维课","v":"幼小衔接数学思维课"}, + {"n":"数学思维","v":"数学思维启蒙"}, + {"n":"摩比爱数学","v":"摩比爱数学"}, + {"n":"数理思维","v":"数理思维"}, + {"n":"火花思维","v":"火花思维"}, + {"n":"幼儿思维","v":"幼儿思维训练"}, + {"n":"数学思维培养","v":"数学思维培养"}, + {"n":"儿童思维","v":"儿童思维训练"}, + {"n":"幼儿思维推理训练","v":"幼儿思维推理训练"}]}, + {"key":"order","name":"排序","value":[ + {"n":"综合排序","v":"0"}, + {"n":"最多点击","v":"click"}, + {"n":"最新发布","v":"pubdate"}, + {"n":"最多弹幕","v":"dm"}, + {"n":"最多收藏","v":"stow"}]}, + {"key":"duration","name":"时长","value":[ + {"n":"全部","v":"0"}, + {"n":"60分钟以上","v":"4"}, + {"n":"30~60分钟","v":"3"}, + {"n":"10~30分钟","v":"2"}, + {"n":"10分钟以下","v":"1"}]}], + "少儿口才第一课":[ + {"key":"tid","name":"分类","value":[ + {"n":"少儿口才第一课:自我介绍","v":"少儿口才第一课:自我介绍"}, + {"n":"少儿口才主持人第二课:站姿训练","v":"少儿口才主持人第二课:站姿训练"}, + {"n":"少儿口才第三课:坐姿训练","v":"少儿口才第三课:坐姿训练"}, + {"n":"少儿口才演讲第四课:眼神训练","v":"少儿口才演讲第四课:眼神训练"}, + {"n":"少儿口才第五课:咋给娃们讲口部操","v":"少儿口才第五课:咋给娃们讲口部操"}, + {"n":"01_01:少儿口才天天练_01","v":"01_01:少儿口才天天练_01"}, + {"n":"01_02:少儿口才","v":"01_02:少儿口才"}, + {"n":"01_03:少儿口才","v":"01_03:少儿口才"}, + {"n":"01_04:少儿口才","v":"01_04:少儿口才"}, + {"n":"【少儿口才训练系列】","v":"【少儿口才训练系列】"} + ]}, + {"key":"order","name":"排序","value":[ + {"n":"综合排序","v":"0"}, + {"n":"最多点击","v":"click"}, + {"n":"最新发布","v":"pubdate"}, + {"n":"最多弹幕","v":"dm"}, + {"n":"最多收藏","v":"stow"}]}, + {"key":"duration","name":"时长","value":[ + {"n":"全部","v":"0"}, + {"n":"60分钟以上","v":"1"}, + {"n":"30~60分钟","v":"2"}, + {"n":"10~30分钟","v":"3"}, + {"n":"10分钟以下","v":"4"}]}], + "看图说话":[ + {"key":"tid","name":"分类","value":[ + {"n":"全部","v":"看图说话"}, + {"n":"看图写话","v":"看图写话"}, + {"n":"儿童表达力","v":"儿童表达力"}]}, + {"key":"duration","name":"时长","value":[ + {"n":"全部","v":"0"}, + {"n":"60分钟以上","v":"4"}, + {"n":"30~60分钟","v":"3"}, + {"n":"10~30分钟","v":"2"}, + {"n":"10分钟以下","v":"1"}]}], + "写字启蒙教程":[ + {"key":"tid","name":"分类","value":[ + {"n":"写字启蒙教程","v":"写字启蒙教程"}, + {"n":"叫叫硬笔书法","v":"叫叫硬笔书法"}, + {"n":"硬笔书法123节超好用","v":"硬笔书法123节超好用"}, + {"n":"王洪涛高效练字课","v":"王洪涛高效练字课"}, + {"n":"书法全套课【168集全】","v":"书法全套课【168集全】"}, + {"n":"1000+集全【汉字基本笔画部首入门】","v":"1000+集全【汉字基本笔画部首入门"} + ]}, + {"key":"order","name":"排序","value":[ + {"n":"综合排序","v":"0"}, + {"n":"最多点击","v":"click"}, + {"n":"最新发布","v":"pubdate"}, + {"n":"最多弹幕","v":"dm"}, + {"n":"最多收藏","v":"stow"}]}, + {"key":"duration","name":"时长","value":[ + {"n":"全部","v":"0"}, + {"n":"60分钟以上","v":"4"}, + {"n":"30~60分钟","v":"3"}, + {"n":"10~30分钟","v":"2"}, + {"n":"10分钟以下","v":"1"}]}] + } +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/少儿频道/json/播视童趣.json b/tvboxqq/tvboxqq/少儿频道/json/播视童趣.json new file mode 100644 index 0000000..9aeb060 --- /dev/null +++ b/tvboxqq/tvboxqq/少儿频道/json/播视童趣.json @@ -0,0 +1,70 @@ +{ + "规则名": "播视童趣", + "规则作者": "香雅情", + "请求头参数": "电脑", + "网页编码格式": "UTF-8", + "图片是否需要代理": "0", + "是否开启获取首页数据": "1", + "首页推荐链接": "https://www.boosj.com/baby/", + "首页列表数组规则": "body&&.pub-hotplay-main||.pub-child-dance||.pub-toy-play||.pub-describe-story||.pub-child-song||.pub-child-eduction", + "首页片单列表数组规则": "a:has(img)", + "首页片单是否Jsoup写法": "1", + "首页片单标题": "img&&alt", + "首页片单链接": "a&&href", + "首页片单图片": "img&&src", + "首页片单副标题": "", + "首页片单链接加前缀": "", + "首页片单链接加后缀": "", + "分类起始页码": "1", + "分类链接": "https://www.boosj.com/search_res_3362__{cateId}_{catePg}_.html", + "分类名称": "全部&辅食&动画&儿童舞蹈&少儿英语&儿童歌曲&才艺&播视自制&故事&亲子教育&美术&其他&儿童游戏&识物&绘本&古诗&科普&儿童玩具&播视童趣儿童玩具", + "分类名称替换词": "&28&582&3364&3366&3367&3622&3782&3822&3842&4402&4583&4762&4842&4843&4844&4845&5102&5142", + "筛选数据": {}, + //"筛选数据": "ext", + //{cateId} + "筛选子分类名称": "", + "筛选子分类替换词": "", + //{class} + "筛选类型名称": "", + "筛选类型替换词": "*", + //{area} + "筛选地区名称": "", + "筛选地区替换词": "*", + //{year} + "筛选年份名称": "", + "筛选年份替换词": "*", + //{lang} + "筛选语言名称": "", + "筛选语言替换词": "*", + //{by} + "筛选排序名称": "", + "筛选排序替换词": "", + "分类截取模式": "1", + "分类列表数组规则": "body&&.bj-col4:has(img)", + "分类片单是否Jsoup写法": "1", + "分类片单标题": "a&&title", + "分类片单链接": "a&&href", + "分类片单图片": "img&&data-original", + "分类片单副标题": "", + "分类片单链接加前缀": "", + "分类片单链接加后缀": "", + "搜索请求头参数": "User-Agent$手机", + "搜索链接": "{wd}", + "POST请求数据": "", + "搜索截取模式": "1", + "搜索列表数组规则": "", + "搜索片单是否Jsoup写法": "1", + "搜索片单图片": "", + "搜索片单标题": "", + "搜索片单链接": "", + "搜索片单副标题": "", + "搜索片单链接加前缀": "", + "搜索片单链接加后缀": "", + "链接是否直接播放": "1", + "直接播放链接加前缀": "", + "直接播放链接加后缀": "", + "直接播放直链视频请求头": "", + "是否开启手动嗅探": "0", + "手动嗅探视频链接关键词": ".mp4#.m3u8#.flv#video/tos", + "手动嗅探视频链接过滤词": ".html#=http" +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/少儿频道/json/益智动画.json b/tvboxqq/tvboxqq/少儿频道/json/益智动画.json new file mode 100644 index 0000000..9ed0199 --- /dev/null +++ b/tvboxqq/tvboxqq/少儿频道/json/益智动画.json @@ -0,0 +1,536 @@ +{ + "classes": [ + { + "type_name": "幼儿英语", + "type_id": "幼儿英语" + }, + { + "type_name": "悟空识字", + "type_id": "悟空识字" + }, + { + "type_name": "少儿", + "type_id": "CCTV14少儿频道合集" + }, + { + "type_name": "儿童", + "type_id": "3-6岁益智动画合集" + }, + { + "type_name": "宝宝巴士", + "type_id": "宝宝巴士动画合集" + }, + { + "type_name": "儿童早教", + "type_id": "儿童早教" + }, + { + "type_name": "儿童安全教育", + "type_id": "儿童安全教育" + }, + { + "type_name": "儿童歌曲", + "type_id": "儿童歌曲" + }, + { + "type_name": "儿童绘画", + "type_id": "儿童绘画" + }, + { + "type_name": "儿童动画", + "type_id": "儿童动画" + }, + { + "type_name": "儿童音乐", + "type_id": "儿童音乐" + }, + { + "type_name": "贝瓦儿歌", + "type_id": "贝瓦儿歌" + }, + { + "type_name": "宝宝巴士", + "type_id": "宝宝巴士" + }, + { + "type_name": "儿歌多多", + "type_id": "儿歌多多" + } + ], + "filter": { + "悟空识字": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "CCTV14少儿频道合集": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "儿童早教": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "儿童启蒙故事": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "睡前故事": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "幼儿英语": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "沪教版", + "v": "沪教版7年级英语" + }, + { + "n": "人教版", + "v": "人教版7年级英语" + }, + { + "n": "北师大版", + "v": "北师大版7年级英语" + }, + { + "n": "苏教版", + "v": "苏教版7年级英语" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "儿童歌曲": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "儿童绘画": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "儿童动画": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "儿童音乐": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "儿童安全教育": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "贝瓦儿歌": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "宝宝巴士": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "儿歌多多": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "3-6岁益智动画合集": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "宝宝巴士动画合集": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ] + } +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/少儿频道/py/py_cctv_1.py b/tvboxqq/tvboxqq/少儿频道/py/py_cctv_1.py new file mode 100644 index 0000000..f7b2542 --- /dev/null +++ b/tvboxqq/tvboxqq/少儿频道/py/py_cctv_1.py @@ -0,0 +1,192 @@ +#coding=utf-8 +#!/usr/bin/python +import sys +sys.path.append('..') +from base.spider import Spider +import json +import time +import base64 +import re + +class Spider(Spider): # 元类 默认的元类 type + def getName(self): + return "央视片库" + def init(self,extend=""): + print("============{0}============".format(extend)) + pass + def isVideoFormat(self,url): + pass + def manualVideoCheck(self): + pass + def homeContent(self,filter): + result = {} + cateManual = { + + "动画片": "动画片", + + #"特别节目": "特别节目" + } + classes = [] + for k in cateManual: + classes.append({ + 'type_name':k, + 'type_id':cateManual[k] + }) + result['class'] = classes + if(filter): + result['filters'] = self.config['filter'] + return result + def homeVideoContent(self): + result = { + 'list':[] + } + return result + def categoryContent(self,tid,pg,filter,extend): + result = {} + month = "" + year = "" + if 'month' in extend.keys(): + month = extend['month'] + if 'year' in extend.keys(): + year = extend['year'] + if year == '': + month = '' + prefix = year + month + + url="https://api.cntv.cn/list/getVideoAlbumList?channelid=CHAL1460955899450127&area=&sc=&fc=%E5%8A%A8%E7%94%BB%E7%89%87&letter=&p={0}&n=24&serviceId=tvcctv&topv=1&t=json" + if tid=="电视剧": + url="https://api.cntv.cn/list/getVideoAlbumList?channelid=CHAL1460955853485115&area=&sc=&fc=%E7%94%B5%E8%A7%86%E5%89%A7&year=&letter=&p={0}&n=24&serviceId=tvcctv&topv=1&t=json" + elif tid=="纪录片": + url="https://api.cntv.cn/list/getVideoAlbumList?channelid=CHAL1460955924871139&fc=%E7%BA%AA%E5%BD%95%E7%89%87&channel=&sc=&year=&letter=&p={0}&n=24&serviceId=tvcctv&topv=1&t=json" + elif tid=="4": + url="https://api.cntv.cn/list/getVideoAlbumList?channelid=CHAL1460955953877151&channel=&sc=&fc=%E7%89%B9%E5%88%AB%E8%8A%82%E7%9B%AE&bigday=&letter=&p={0}&n=24&serviceId=tvcctv&topv=1&t=json" + suffix = "" + jo = self.fetch(url.format(pg),headers=self.header).json() + vodList=jo["data"]["list"] + videos = [] + for vod in vodList: + lastVideo =vod['url'] + brief=vod['brief'] + if len(brief) == 0: + brief = ' ' + if len(lastVideo) == 0: + lastVideo = '_' + guid = tid+'###'+vod["title"]+'###'+lastVideo+'###'+vod['image']+'###'+brief + title = vod["title"] + img = vod['image'] + videos.append({ + "vod_id":guid, + "vod_name":title, + "vod_pic":img, + "vod_remarks":'' + }) + result['list'] = videos + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + return result + def detailContent(self,array): + aid = array[0].split('###') + if aid[2].find("http")<0: + return {} + tid = aid[0] + logo = aid[3] + lastVideo = aid[2] + title = aid[1] + date = aid[0] + if lastVideo == '_': + return {} + rsp = self.fetch(lastVideo) + htmlTxt=rsp.text + column_id = "" + videoList = [] + patternTxt=r"'title':\s*'(.+?)',\n{0,1}\s*'img':\s*'(.+?)',\n{0,1}\s*'brief':\s*'(.+?)',\n{0,1}\s*'url':\s*'(.+?)'" + titleIndex=0 + UrlIndex=3 + if tid=="电视剧" or tid=="纪录片": + patternTxt=r"'title':\s*'(.+?)',\n{0,1}\s*'brief':\s*'(.+?)',\n{0,1}\s*'img':\s*'(.+?)',\n{0,1}\s*'url':\s*'(.+?)'" + titleIndex=0 + UrlIndex=3 + elif tid=="特别节目": + patternTxt=r'class="tp1">' + titleIndex=1 + UrlIndex=0 + #https://api.cntv.cn/NewVideo/getVideoListByAlbumIdNew?id=VIDA3YcIusJ9mh4c9mw5XHyx230113&serviceId=tvcctv//由于方式不同暂时不做 + pattern = re.compile(patternTxt) + ListRe=pattern.findall(htmlTxt) + for value in ListRe: + videoList.append(value[titleIndex]+"$"+value[UrlIndex]) + if len(videoList) == 0: + return {} + vod = { + "vod_id":array[0], + "vod_name":title, + "vod_pic":logo, + "type_name":tid, + "vod_year":date, + "vod_area":"", + "vod_remarks":date, + "vod_actor":"", + "vod_director":column_id, + "vod_content":aid[4] + } + vod['vod_play_from'] = 'CCTV' + vod['vod_play_url'] = "#".join(videoList) + result = { + 'list':[ + vod + ] + } + return result + + def searchContent(self,key,quick): + result = { + 'list':[] + } + return result + def playerContent(self,flag,id,vipFlags): + result = {} + rsp = self.fetch(id) + htmlTxt=rsp.text + pattern = re.compile(r'var\sguid\s*=\s*"(.+?)";') + ListRe=pattern.findall(htmlTxt) + if ListRe==[]: + return result + url = "https://vdn.apps.cntv.cn/api/getHttpVideoInfo.do?pid={0}".format(ListRe[0]) + jo = self.fetch(url,headers=self.header).json() + link = jo['hls_url'].strip() + rsp = self.fetch(link,headers=self.header) + content = rsp.text.strip() + arr = content.split('\n') + urlPrefix = self.regStr(link,'(http[s]?://[a-zA-z0-9.]+)/') + + subUrl = arr[-1].split('/') + subUrl[3] = '1200' + subUrl[-1] = '1200.m3u8' + hdUrl = urlPrefix + '/'.join(subUrl) + + url = urlPrefix + arr[-1] + + hdRsp = self.fetch(hdUrl,headers=self.header) + if hdRsp.status_code == 200: + url = hdUrl + + result["parse"] = 0 + result["playUrl"] = '' + result["url"] = url + result["header"] = '' + return result + + config = { + "player": {}, + "filter": {"CCTV":[{"key":"cid","name":"频道","value":[{"n":"全部","v":""},{"n":"CCTV-1综合","v":"EPGC1386744804340101"},{"n":"CCTV-2财经","v":"EPGC1386744804340102"},{"n":"CCTV-3综艺","v":"EPGC1386744804340103"},{"n":"CCTV-4中文国际","v":"EPGC1386744804340104"},{"n":"CCTV-5体育","v":"EPGC1386744804340107"},{"n":"CCTV-6电影","v":"EPGC1386744804340108"},{"n":"CCTV-7国防军事","v":"EPGC1386744804340109"},{"n":"CCTV-8电视剧","v":"EPGC1386744804340110"},{"n":"CCTV-9纪录","v":"EPGC1386744804340112"},{"n":"CCTV-10科教","v":"EPGC1386744804340113"},{"n":"CCTV-11戏曲","v":"EPGC1386744804340114"},{"n":"CCTV-12社会与法","v":"EPGC1386744804340115"},{"n":"CCTV-13新闻","v":"EPGC1386744804340116"},{"n":"CCTV-14少儿","v":"EPGC1386744804340117"},{"n":"CCTV-15音乐","v":"EPGC1386744804340118"},{"n":"CCTV-16奥林匹克","v":"EPGC1634630207058998"},{"n":"CCTV-17农业农村","v":"EPGC1563932742616872"},{"n":"CCTV-5+体育赛事","v":"EPGC1468294755566101"}]},{"key":"fc","name":"分类","value":[{"n":"全部","v":""},{"n":"新闻","v":"新闻"},{"n":"体育","v":"体育"},{"n":"综艺","v":"综艺"},{"n":"健康","v":"健康"},{"n":"生活","v":"生活"},{"n":"科教","v":"科教"},{"n":"经济","v":"经济"},{"n":"农业","v":"农业"},{"n":"法治","v":"法治"},{"n":"军事","v":"军事"},{"n":"少儿","v":"少儿"},{"n":"动画","v":"动画"},{"n":"纪实","v":"纪实"},{"n":"戏曲","v":"戏曲"},{"n":"音乐","v":"音乐"},{"n":"影视","v":"影视"}]},{"key":"fl","name":"字母","value":[{"n":"全部","v":""},{"n":"A","v":"A"},{"n":"B","v":"B"},{"n":"C","v":"C"},{"n":"D","v":"D"},{"n":"E","v":"E"},{"n":"F","v":"F"},{"n":"G","v":"G"},{"n":"H","v":"H"},{"n":"I","v":"I"},{"n":"J","v":"J"},{"n":"K","v":"K"},{"n":"L","v":"L"},{"n":"M","v":"M"},{"n":"N","v":"N"},{"n":"O","v":"O"},{"n":"P","v":"P"},{"n":"Q","v":"Q"},{"n":"R","v":"R"},{"n":"S","v":"S"},{"n":"T","v":"T"},{"n":"U","v":"U"},{"n":"V","v":"V"},{"n":"W","v":"W"},{"n":"X","v":"X"},{"n":"Y","v":"Y"},{"n":"Z","v":"Z"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"},{"n":"2009","v":"2009"},{"n":"2008","v":"2008"},{"n":"2007","v":"2007"},{"n":"2006","v":"2006"},{"n":"2005","v":"2005"},{"n":"2004","v":"2004"},{"n":"2003","v":"2003"},{"n":"2002","v":"2002"},{"n":"2001","v":"2001"},{"n":"2000","v":"2000"}]},{"key":"month","name":"月份","value":[{"n":"全部","v":""},{"n":"12","v":"12"},{"n":"11","v":"11"},{"n":"10","v":"10"},{"n":"09","v":"09"},{"n":"08","v":"08"},{"n":"07","v":"07"},{"n":"06","v":"06"},{"n":"05","v":"05"},{"n":"04","v":"04"},{"n":"03","v":"03"},{"n":"02","v":"02"},{"n":"01","v":"01"}]}]} + } + header = { + "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.54 Safari/537.36", + "Origin": "https://tv.cctv.com", + "Referer": "https://tv.cctv.com/" + } + + def localProxy(self,param): + return [200, "video/MP2T", action, ""] \ No newline at end of file diff --git a/tvboxqq/tvboxqq/少儿频道/spider.jar b/tvboxqq/tvboxqq/少儿频道/spider.jar new file mode 100644 index 0000000..bbeee9b Binary files /dev/null and b/tvboxqq/tvboxqq/少儿频道/spider.jar differ diff --git a/tvboxqq/tvboxqq/戏曲音乐/api.json b/tvboxqq/tvboxqq/戏曲音乐/api.json new file mode 100644 index 0000000..648689c --- /dev/null +++ b/tvboxqq/tvboxqq/戏曲音乐/api.json @@ -0,0 +1,502 @@ +//资源全部免费,仅供测试交流,请勿内置传播与转卖;关注微信公众号:奇奇乐分享,发送“本地包”获取教程与更多资源! + +{ + "spider": "./spider.jar", + "wallpaper": "https://tuapi.eees.cc/api.php?category=fengjing&type=302", + "logo": "http://php.540734621.xyz/logo/logo.php", + "sites": [ + { + "key": "本地包更新", + "name": "💞本地包|0110", + "type": 3, + "api": "csp_Market", + "jar": "./jars/gx.jar", + "searchable": 0, + "changeable": 0, + "indexs": 0, + "ext": "http://bd.qiqiv.cn/666.json" + }, + { + "key": "戏 曲", + "name": "🎈国粹戏曲", + "type": 3, + "api": "csp_Bili", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "./json/Blixq.json" + }, + { + "key": "相声小品", + "name": "🏮相声小品", + "type": 3, + "api": "csp_Bili", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "./json/Blixs.json" + }, + { + "key": "潮 汕", + "name": "🥨潮汕", + "type": 3, + "api": "csp_Bili", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "./json/Bli潮汕.json" + }, + { + "key": "演唱会", + "name": "🎸演唱会", + "type": 3, + "api": "csp_Bili", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "./json/演唱会.json" + }, + { + "key": "MTV", + "name": "🎧明星┃MV", + "type": 3, + "api": "csp_Bili", + "style": { + "type": "rect", + "ratio": 1.597 + }, + "searchable": 0, + "quickSearch": 0, + "changeable": 0, + "ext": "./json/MTV.json" + }, + { + "key": "酷奇", + "name": "🎤酷奇┃MV", + "type": 3, + "api": "./api/drpy2.min.js", + "ext": "./js/酷奇MV.js", + "style": { + "type": "rect", + "ratio": 1.597 + }, + "searchable": 0, + "quickSearch": 0, + "changeable": 0 + }, + { + "key": "哔哩哔哩", + "name": "🅱️哔哩大全", + "type": 3, + "api": "csp_Bili", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "./json/Bili.json" + }, + { + "key": "csp_Bili短剧", + "name": "🅱️哔哩短剧", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 0, + "filterable": 1, + "ext": "./json/Bili短剧.json" + }, + { + "key": "影视解说", + "name": "🎬影视解说", + "type": 3, + "api": "csp_Bili", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "./json/影视解说.json" + } + ], + "parses": [ + { + "name": "超级并发", + "type": 3, + "url": "Demo" + }, + { + "name": "上限万", + "type": 1, + "url": "https://svip.cygc.xyz/api/?key=cygctest&url=" + } + ], + "flags": [ + "youku", + "qq", + "iqiyi", + "qiyi", + "letv", + "sohu", + "tudou", + "pptv", + "mgtv", + "wasu", + "bilibili", + "renrenmi" + ], + "rules": [ + { + "host": "www.iesdouyin.com", + "rule": [ + "playwm/?video_id=" + ] + }, + { + "host": "www.ysgc.vip", + "rule": [ + "getm3u8?url=http" + ] + }, + { + "host": "v.douyin.com", + "rule": [ + "playwm/?video_id=" + ] + }, + { + "host": "dyxs20.com", + "rule": [ + ".m3u8" + ] + }, + { + "host": "www.agemys.cc", + "rule": [ + "cdn-tos", + "obj/tos-cn" + ] + }, + { + "host": "www.sharenice.net", + "rule": [ + "http.*?/play.{0,3}\\?[^url]{2,8}=.*", + "qianpailive.com", + "vid=" + ] + }, + { + "name": "暴风", + "hosts": [ + "bfzy", + "bfbfvip" + ], + "regex": [ + "#EXTINF.*?\\s+.*?adjump.*?\\.ts\\s+" + ] + }, + { + "name": "量子广告", + "hosts": [ + "vip.lz", + "hd.lz", + ".cdnlz", + ".cdnlz*" + ], + "regex": [ + "#EXTINF.*?\\s+[a-z0-9]{18}\\.ts", + "[a-z0-9]{18}\\.ts\\s+", + "#EXT-X-DISCONTINUITY\\r*\\n*#EXTINF.*?\\s+[a-z0-9]{18}\\.ts[\\s\\S]*?#EXT-X-DISCONTINUITY" + ] + }, + { + "name": "非凡广告", + "hosts": [ + "vip.ffzy", + "hd.ffzy", + ".ffzy*" + ], + "regex": [ + "#EXT-X-DISCONTINUITY\\r*\\n*#EXTINF.*?\\s+[0-9]{11}[1-9]{2}.*?\\.ts[\\s\\S]*?#EXT-X-DISCONTINUITY", + "#EXT-X-DISCONTINUITY\\r*\\n*#EXTINF:5.033333,[\\s\\S]*?#EXT-X-DISCONTINUITY\\r*\\n*#EXTINF:3.960000", + "#EXTINF.*?\\s+.*?1171.*?\\.ts\\s+" + ] + }, + { + "name": "索尼", + "hosts": [ + "suonizy" + ], + "regex": [ + "#EXT-X-DISCONTINUITY\\r*\\n*#EXTINF:1\\.000000,[\\s\\S]*?#EXT-X-DISCONTINUITY", + "#EXTINF.*?\\s+.*?p1ayer.*?\\.ts\\s+", + "#EXTINF.*?\\s+.*?\\/video\\/original.*?\\.ts\\s+" + ] + }, + { + "name": "快看", + "hosts": [ + "kuaikan" + ], + "regex": [ + "#EXT-X-KEY:METHOD=NONE\\r*\\n*#EXTINF:5,[\\s\\S]*?#EXT-X-DISCONTINUITY", + "#EXT-X-KEY:METHOD=NONE\\r*\\n*#EXTINF:2\\.4,[\\s\\S]*?#EXT-X-DISCONTINUITY" + ] + }, + { + "name": "海外看", + "hosts": [ + "haiwaikan" + ], + "regex": [ + "10.0099", + "10.3333", + "16.0599", + "8.1748", + "10.85" + ] + }, + { + "name": "磁力广告", + "hosts": [ + "magnet" + ], + "regex": [ + "更多", + "社 區", + "x u u", + "最 新", + "更 新", + "社 区", + "有趣", + "有 趣", + "英皇体育", + "全中文AV在线", + "澳门皇冠赌场", + "哥哥快来", + "美女荷官", + "裸聊", + "新片首发", + "UUE29" + ] + } + ], + "ijk": [ + { + "group": "软解码", + "options": [ + { + "category": 4, + "name": "opensles", + "value": "0" + }, + { + "category": 4, + "name": "overlay-format", + "value": "842225234" + }, + { + "category": 4, + "name": "framedrop", + "value": "1" + }, + { + "category": 4, + "name": "soundtouch", + "value": "1" + }, + { + "category": 4, + "name": "start-on-prepared", + "value": "1" + }, + { + "category": 1, + "name": "http-detect-range-support", + "value": "0" + }, + { + "category": 1, + "name": "fflags", + "value": "fastseek" + }, + { + "category": 2, + "name": "skip_loop_filter", + "value": "48" + }, + { + "category": 4, + "name": "reconnect", + "value": "1" + }, + { + "category": 4, + "name": "enable-accurate-seek", + "value": "0" + }, + { + "category": 4, + "name": "mediacodec", + "value": "0" + }, + { + "category": 4, + "name": "mediacodec-auto-rotate", + "value": "0" + }, + { + "category": 4, + "name": "mediacodec-handle-resolution-change", + "value": "0" + }, + { + "category": 4, + "name": "mediacodec-hevc", + "value": "0" + }, + { + "category": 1, + "name": "dns_cache_timeout", + "value": "600000000" + } + ] + }, + { + "group": "硬解码", + "options": [ + { + "category": 4, + "name": "opensles", + "value": "0" + }, + { + "category": 4, + "name": "overlay-format", + "value": "842225234" + }, + { + "category": 4, + "name": "framedrop", + "value": "1" + }, + { + "category": 4, + "name": "soundtouch", + "value": "1" + }, + { + "category": 4, + "name": "start-on-prepared", + "value": "1" + }, + { + "category": 1, + "name": "http-detect-range-support", + "value": "0" + }, + { + "category": 1, + "name": "fflags", + "value": "fastseek" + }, + { + "category": 2, + "name": "skip_loop_filter", + "value": "48" + }, + { + "category": 4, + "name": "reconnect", + "value": "1" + }, + { + "category": 4, + "name": "enable-accurate-seek", + "value": "0" + }, + { + "category": 4, + "name": "mediacodec", + "value": "1" + }, + { + "category": 4, + "name": "mediacodec-auto-rotate", + "value": "1" + }, + { + "category": 4, + "name": "mediacodec-handle-resolution-change", + "value": "1" + }, + { + "category": 4, + "name": "mediacodec-hevc", + "value": "1" + }, + { + "category": 1, + "name": "dns_cache_timeout", + "value": "600000000" + } + ] + } + ], + "ads": [ + "mimg.0c1q0l.cn", + "www.googletagmanager.com", + "www.google-analytics.com", + "mc.usihnbcq.cn", + "mg.g1mm3d.cn", + "mscs.svaeuzh.cn", + "cnzz.hhttm.top", + "tp.vinuxhome.com", + "cnzz.mmstat.com", + "www.baihuillq.com", + "s23.cnzz.com", + "z3.cnzz.com", + "c.cnzz.com", + "stj.v1vo.top", + "z12.cnzz.com", + "img.mosflower.cn", + "tips.gamevvip.com", + "ehwe.yhdtns.com", + "xdn.cqqc3.com", + "www.jixunkyy.cn", + "sp.chemacid.cn", + "hm.baidu.com", + "s9.cnzz.com", + "z6.cnzz.com", + "um.cavuc.com", + "mav.mavuz.com", + "wofwk.aoidf3.com", + "z5.cnzz.com", + "xc.hubeijieshikj.cn", + "tj.tianwenhu.com", + "xg.gars57.cn", + "k.jinxiuzhilv.com", + "cdn.bootcss.com", + "ppl.xunzhuo123.com", + "xomk.jiangjunmh.top", + "img.xunzhuo123.com", + "z1.cnzz.com", + "s13.cnzz.com", + "xg.huataisangao.cn", + "z7.cnzz.com", + "xg.huataisangao.cn", + "z2.cnzz.com", + "s96.cnzz.com", + "q11.cnzz.com", + "thy.dacedsfa.cn", + "xg.whsbpw.cn", + "s19.cnzz.com", + "z8.cnzz.com", + "s4.cnzz.com", + "f5w.as12df.top", + "ae01.alicdn.com", + "www.92424.cn", + "k.wudejia.com", + "vivovip.mmszxc.top", + "qiu.xixiqiu.com", + "cdnjs.hnfenxun.com", + "cms.qdwght.com", + "api.htpan.net" + ] +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/戏曲音乐/api/drpy2.min.js b/tvboxqq/tvboxqq/戏曲音乐/api/drpy2.min.js new file mode 100644 index 0000000..c5bb4e4 --- /dev/null +++ b/tvboxqq/tvboxqq/戏曲音乐/api/drpy2.min.js @@ -0,0 +1,73 @@ +import cheerio from"assets://js/lib/cheerio.min.js";import"assets://js/lib/crypto-js.js";import"./jsencrypt.js";import"./node-rsa.js";import"./pako.min.js";import 模板 from"./模板.js";import{gbkTool}from"./gbk.js";function init_test(){console.log("init_test_start");console.log("当前版本号:"+VERSION);console.log("本地代理地址:"+getProxyUrl());console.log(RKEY);console.log(JSON.stringify(rule));console.log("init_test_end")}function ocr_demo_test(){let img_base64=`iVBORw0KGgoAAAANSUhEUgAAAIAAAAAoBAMAAADEX+97AAAAG1BMVEXz+/4thQTa7N6QwIFFkyNeokKozqDB3b93sWHFR+MEAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABN0lEQVRIie2TQU+DQBCFt9vScvQpxR4xrcSjJCZ67JDGXsX+AdR4B3vpsSYm/m2HXaRLmuySepR3Gdidb/btDAjRq5dT96eCMlfBuzi1QLZUoZy2yz5sOvI+9iomaPEZ6nWnEtxqIyiM1RcAy44GNDhBXUjot/VVNweV1ah68FqWRyjKIOqAcyYF6rGcmpYnHzGt3fycNoMw0d3/THFu7hFSJ/8OXO6iTM8/KSg09obAzIHLO250LgQ0txOZSfgrV4Exdw98uGycJ0ErAeExZGhOmFHV9zHO6qVSj0MpLq7xZON56o++MjlsEgfVhbQWWME+xQX7J4V6zfi9A1Ly9rP1BvEXp+BbVJ/M77n+wfOIDVp51pZ4iBxvmj9AGrtvry6emwfKnVkW+ZRKd5ZNMvob36vXP9YPDmQki8QiCFAAAAAASUVORK5CYII=`;OcrApi.api=OCR_API;let code=OcrApi.classification(img_base64);log("测试验证码图片的ocr识别结果为:"+code)}function rsa_demo_test(){let t1=(new Date).getTime();let pkcs1_public=` +-----BEGIN RSA PUBLIC KEY----- +MEgCQQCrI0pQ/ERRpJ3Ou190XJedFq846nDYP52rOtXyDxlFK5D3p6JJu2RwsKwy +lsQ9xY0xYPpRZUZKMEeR7e9gmRNLAgMBAAE= +-----END RSA PUBLIC KEY----- +`.trim();let pkcs1_public_pem=` +MEgCQQCrI0pQ/ERRpJ3Ou190XJedFq846nDYP52rOtXyDxlFK5D3p6JJu2RwsKwy +lsQ9xY0xYPpRZUZKMEeR7e9gmRNLAgMBAAE= +`.trim();let pkcs8_public=` +-----BEGIN PUBLIC KEY----- +MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKsjSlD8RFGknc67X3Rcl50WrzjqcNg/ +nas61fIPGUUrkPenokm7ZHCwrDKWxD3FjTFg+lFlRkowR5Ht72CZE0sCAwEAAQ== +-----END PUBLIC KEY-----`.trim();let pkcs8_public_pem=` +MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKsjSlD8RFGknc67X3Rcl50WrzjqcNg/ +nas61fIPGUUrkPenokm7ZHCwrDKWxD3FjTFg+lFlRkowR5Ht72CZE0sCAwEAAQ== +`.trim();let pkcs1_private=` +-----BEGIN RSA PRIVATE KEY----- +MIIBOAIBAAJBAKsjSlD8RFGknc67X3Rcl50WrzjqcNg/nas61fIPGUUrkPenokm7 +ZHCwrDKWxD3FjTFg+lFlRkowR5Ht72CZE0sCAwEAAQI/b6OV1z65UokQaMvSeRXt +0Yv6wiYtduQI9qpq5nzy/ytaqsbBfClNTi/HifKPKxlRouWFkc518EQI8LBxoarJ +AiEA4DaONMplV8PQNa3TKn2F+SDEvLOCjdL0kHKdN90Ti28CIQDDZnTBaHgZwZbA +hS7Bbf5yvwjWMhO6Y7l04/Qm7R+35QIgPuQuqXIoUSD080mp1N5WyRW++atksIF+ +5lGv9e6GP/MCICnj8y/rl6Pd7tXDN6zcSeqLrfdNsREKhB3dKOCXgW9JAiAFYtFS +EJNBXVRTK42SNsZ2hJ/9xLwOwnH2epT8Q43s3Q== +-----END RSA PRIVATE KEY----- +`.trim();let pkcs8_private=` +-----BEGIN PRIVATE KEY----- +MIIBUgIBADANBgkqhkiG9w0BAQEFAASCATwwggE4AgEAAkEAqyNKUPxEUaSdzrtf +dFyXnRavOOpw2D+dqzrV8g8ZRSuQ96eiSbtkcLCsMpbEPcWNMWD6UWVGSjBHke3v +YJkTSwIDAQABAj9vo5XXPrlSiRBoy9J5Fe3Ri/rCJi125Aj2qmrmfPL/K1qqxsF8 +KU1OL8eJ8o8rGVGi5YWRznXwRAjwsHGhqskCIQDgNo40ymVXw9A1rdMqfYX5IMS8 +s4KN0vSQcp033ROLbwIhAMNmdMFoeBnBlsCFLsFt/nK/CNYyE7pjuXTj9CbtH7fl +AiA+5C6pcihRIPTzSanU3lbJFb75q2SwgX7mUa/17oY/8wIgKePzL+uXo93u1cM3 +rNxJ6out902xEQqEHd0o4JeBb0kCIAVi0VIQk0FdVFMrjZI2xnaEn/3EvA7CcfZ6 +lPxDjezd +-----END PRIVATE KEY----- +`.trim();let data=` +NodeRsa +这是node-rsa 现在修改集成在drpy里使用`.trim();let encryptedWithPublic=NODERSA.encryptRSAWithPublicKey(data,pkcs1_public,{outputEncoding:"base64",options:{environment:"browser",encryptionScheme:"pkcs1_oaep"}});console.log("公钥加密");console.log(encryptedWithPublic);let decryptedWithPrivate=NODERSA.decryptRSAWithPrivateKey(encryptedWithPublic,pkcs1_private,{options:{environment:"browser",encryptionScheme:"pkcs1_oaep"}});console.log("私钥解密");console.log(decryptedWithPrivate);let pkcs1_sha256_sign=NODERSA.sign("1",pkcs1_private,{outputEncoding:"base64",options:{environment:"browser",encryptionScheme:"pkcs1",signingScheme:"pkcs1-sha256"}});console.log("pkcs1_sha256_sign");console.log(pkcs1_sha256_sign);let pkcs1_sha256_sign_verify=NODERSA.verify("1","Oulx2QrgeipKYBtqEDqFb2s/+ndk2cGQxO4CkhU7iBM1vyNmmvqubpsmeoUuN3waGrYZLknSEdwBkfv0tUMpFQ==",pkcs1_private,{options:{environment:"browser",encryptionScheme:"pkcs1",signingScheme:"pkcs1-sha256"}});console.log("pkcs1_sha256_sign_verify");console.log(pkcs1_sha256_sign_verify);let pkcs1_oaep_sha256=NODERSA.encryptRSAWithPublicKey(data,`-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEA5KOq1gRNyllLNWKQy8sGpZE3Q1ULLSmzZw+eaAhj9lvqn7IsT1du +SYn08FfoOA2qMwtz+1O2l1mgzNoSVCyVpVabnTG+C9XKeZXAnJHd8aYA7l7Sxhdm +kte+iymYZ0ZBPzijo8938iugtVvqi9UgDmnY3u/NlQDqiL5BGqSxSTd/Sgmy3zD8 +PYzEa3wD9vehQ5fZZ45vKIq8GNVh2Z8+IGO85FF1OsN7+b2yGJa/FmDDNn0+HP+m +PfI+kYBqEVpo0Ztbc3UdxgFwGC8O1n8AQyriwHnSOtIiuBH62J/7qyC/3LEAApRb +Dd9YszqzmODjQUddZKHmvc638VW+azc0EwIDAQAB +-----END RSA PUBLIC KEY----- +`,{outputEncoding:"base64",options:{environment:"browser",encryptionScheme:{scheme:"pkcs1_oaep",hash:"sha256"}}});console.log("pkcs1_oaep_sha256");console.log(pkcs1_oaep_sha256);decryptedWithPrivate=NODERSA.decryptRSAWithPrivateKey("kSZesAAyYh2hdsQnYMdGqb6gKAzTauBKouvBzWcc4+F8RvGd0nwO6mVkUMVilPgUuNxjEauHayHiY8gI3Py45UI3+km0rSGyHrS6dHiHgCkMejXHieglYzAB0IxX3Jkm4z/66bdB/D+GFy0oct5fGCMI1UHPjEAYOsazJDa8lBFNbjiWFeb/qiZtIx3vGM7KYPAZzyRf/zPbbQ8zy9xOmRuOl5nnIxgo0Okp3KO/RIPO4GZOSBA8f2lx1UtNwwrXAMpcNavtoqHVcjJ/9lcotXYQFrn5b299pSIRf2gVm8ZJ31SK6Z8cc14nKtvgnmsgClDzIXJ1o1RcDK+knVAySg==",`-----BEGIN RSA PRIVATE KEY----- +MIIEpAIBAAKCAQEA5KOq1gRNyllLNWKQy8sGpZE3Q1ULLSmzZw+eaAhj9lvqn7Is +T1duSYn08FfoOA2qMwtz+1O2l1mgzNoSVCyVpVabnTG+C9XKeZXAnJHd8aYA7l7S +xhdmkte+iymYZ0ZBPzijo8938iugtVvqi9UgDmnY3u/NlQDqiL5BGqSxSTd/Sgmy +3zD8PYzEa3wD9vehQ5fZZ45vKIq8GNVh2Z8+IGO85FF1OsN7+b2yGJa/FmDDNn0+ +HP+mPfI+kYBqEVpo0Ztbc3UdxgFwGC8O1n8AQyriwHnSOtIiuBH62J/7qyC/3LEA +ApRbDd9YszqzmODjQUddZKHmvc638VW+azc0EwIDAQABAoIBADZ/QGgUzInvsLp/ +zO2WbfYm39o/uhNAvk9RbLt1TIZbMFhyOpeKynHi3Swwd9xsfWX/U9zS/lGi/m31 +iKrhmaW4OA1G3vqpMcK7TBbFufYwUEaA+ZJX344euH8pIfdzyneMQ4z3Far2dS7l +QsmjuilVV2kEFadveXewiYoVOWCu00w6bN8wy2SIHlQn+kIL6HQhWz12iKKflIKu +eGRdzLHsKmBt6WbY1Wuhx7HU0fAKdlBDPxCHNlI+kybUYE9o5C2vJiaVM5wqJBgZ +8Dz8kt1QbLJ910JoLXkLVQ8uC8NJKQwFtqQjTGPnEq0+wbgz6Ij599rKZkwW/xq9 +l6KoUiECgYEA6Ah42tVdkNW047f03xVYXFH96RgorHRS36mR8Y+ONUq1fwKidovC +WjwVujt4OPf3l1W6iyn/F6cu/bsmvPrSc3HTN0B1V31QK4OjgetxQ2PSbTldH02J +NPzkt+v+cPxXpx/P5mgt7Weefw5txU547KubGrHUV5rBKFtIx9pj16MCgYEA/EF0 +o19+D24DZAPwlDS5VbEd7FStnwY4oQ5PqbuNOSbSJLMWU0AqzXcRokp8UTyCZ0X3 +ATkS1REq97kShCuR+npTR6a6DlY7sdpPI1SMLNajgB2tkx0EOzX+PfNIbHUd4jpJ +I0ZMAHv/OOtkzQHDaeTWBTrzsWm6/nTiykfduNECgYEA46AMD4HpPECqKAs66e5i +tI6q7JSKskObWVdcmQEfnSAhVOwcvPb2Ptda6UuV8S0xcwDi88rLOUUFUFzc79+P +vTkY38cYVi/VChsluDpk7ptqv0PbGu5Rf+3n4pZdEjI7OvR2W64wAAn67uIUxc7p +yiO/ET0K9rYWb6S9jXGtKMkCgYEA2kPAqoO7zZoBMQ7/oR0lp/HC1HRIbiqx4RlC +8Lgpb+QZPEwA6zPAVVvLVENi4d+bbcRp/xLlKpraNNJcJSSWAMbLPFoU7sbKjA87 +HnTPfRSTEA2d3Ibk3F7Rh8TzS3Ti0JZiJjVzGZAwu41iAMifzwaD8K6boUy80eNN +QH2CaaECgYBUsLYvC/MiYg3w+LGOONuQongoVUXjGqnw2bjVa9RK7lwRdXPUqJ51 +MpVO98IkoLvGSI/0sGNP3GKNhC+eMGjJAVwFyEuOn+JsmMv9Y9uStIVi5tIHIhKw +m7mp8il0kaftHdSxTbspG3tZ2fjIiFIZkLEOmRpd7ogWumgOajzUdA== +-----END RSA PRIVATE KEY-----`,{options:{environment:"browser",encryptionScheme:"pkcs1_oaep"}});console.log("decryptedWithPrivate");console.log(decryptedWithPrivate);(()=>{let key=new NODERSA.NodeRSA({b:1024});key.setOptions({encryptionScheme:"pkcs1"});let text=`你好drpy node-ras`;let encrypted=key.encrypt(text,"base64");console.log("encrypted: ",encrypted);const decrypted=key.decrypt(encrypted,"utf8");console.log("decrypted: ",decrypted)})();let t2=(new Date).getTime();console.log("rsa_demo_test 测试耗时:"+(t2-t1)+"毫秒")}function pre(){if(typeof rule.预处理==="string"&&rule.预处理&&rule.预处理.trim()){let code=rule.预处理.trim();console.log("执行预处理代码:"+code);if(code.startsWith("js:")){code=code.replace("js:","")}try{eval(code)}catch(e){console.log(`预处理执行失败:${e.message}`)}}}let rule={};let vercode=typeof pdfl==="function"?"drpy2.1":"drpy2";const VERSION=vercode+" 3.9.50beta32 20240625";const MOBILE_UA="Mozilla/5.0 (Linux; Android 11; Pixel 5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.91 Mobile Safari/537.36";const PC_UA="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36";const UA="Mozilla/5.0";const UC_UA="Mozilla/5.0 (Linux; U; Android 9; zh-CN; MI 9 Build/PKQ1.181121.001) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0.2987.108 UCBrowser/12.5.5.1035 Mobile Safari/537.36";const IOS_UA="Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1";const RULE_CK="cookie";const CATE_EXCLUDE="首页|留言|APP|下载|资讯|新闻|动态";const TAB_EXCLUDE="猜你|喜欢|下载|剧情|榜|评论";const OCR_RETRY=3;const OCR_API="https://api.nn.ci/ocr/b64/text";if(typeof MY_URL==="undefined"){var MY_URL}var HOST;var RKEY;var fetch;var print;var log;var rule_fetch_params;var fetch_params;var oheaders;var _pdfh;var _pdfa;var _pd;const DOM_CHECK_ATTR=/(url|src|href|-original|-src|-play|-url|style)$/;const SPECIAL_URL=/^(ftp|magnet|thunder|ws):/;const NOADD_INDEX=/:eq|:lt|:gt|:first|:last|^body$|^#/;const URLJOIN_ATTR=/(url|src|href|-original|-src|-play|-url|style)$|^(data-|url-|src-)/;const SELECT_REGEX=/:eq|:lt|:gt|#/g;const SELECT_REGEX_A=/:eq|:lt|:gt/g;const $js={toString(func){let strfun=func.toString();return strfun.replace(/^\(\)(\s+)?=>(\s+)?\{/,"js:").replace(/\}$/,"")}};function window_b64(){let b64map="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";let base64DecodeChars=new Array(-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,-1,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,-1,-1,-1,-1,-1);function btoa(str){var out,i,len;var c1,c2,c3;len=str.length;i=0;out="";while(i>2);out+=b64map.charAt((c1&3)<<4);out+="==";break}c2=str.charCodeAt(i++);if(i==len){out+=b64map.charAt(c1>>2);out+=b64map.charAt((c1&3)<<4|(c2&240)>>4);out+=b64map.charAt((c2&15)<<2);out+="=";break}c3=str.charCodeAt(i++);out+=b64map.charAt(c1>>2);out+=b64map.charAt((c1&3)<<4|(c2&240)>>4);out+=b64map.charAt((c2&15)<<2|(c3&192)>>6);out+=b64map.charAt(c3&63)}return out}function atob(str){var c1,c2,c3,c4;var i,len,out;len=str.length;i=0;out="";while(i>4);do{c3=str.charCodeAt(i++)&255;if(c3==61)return out;c3=base64DecodeChars[c3]}while(i>2);do{c4=str.charCodeAt(i++)&255;if(c4==61)return out;c4=base64DecodeChars[c4]}while(ithis.length){return false}else{return this.indexOf(search,start)!==-1}}}if(!Array.prototype.includes){Object.defineProperty(Array.prototype,"includes",{value:function(searchElement,fromIndex){if(this==null){throw new TypeError('"this" is null or not defined')}var o=Object(this);var len=o.length>>>0;if(len===0){return false}var n=fromIndex|0;var k=Math.max(n>=0?n:len-Math.abs(n),0);while(k>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:out+=String.fromCharCode(c);break;case 12:case 13:char2=array[i++];out+=String.fromCharCode((c&31)<<6|char2&63);break;case 14:char2=array[i++];char3=array[i++];out+=String.fromCharCode((c&15)<<12|(char2&63)<<6|(char3&63)<<0);break}}return out}function gzip(str){let arr=pako.gzip(str,{});return uint8ArrayToBase64(arr)}function ungzip(b64Data){let strData=atob(b64Data);const charData=strData.split("").map(function(x){return x.charCodeAt(0)});const binData=new Uint8Array(charData);const data=pako.inflate(binData);return Utf8ArrayToStr(data)}function encodeStr(input,encoding){encoding=encoding||"gbk";if(encoding.startsWith("gb")){const strTool=gbkTool();input=strTool.encode(input)}return input}function decodeStr(input,encoding){encoding=encoding||"gbk";if(encoding.startsWith("gb")){const strTool=gbkTool();input=strTool.decode(input)}return input}function getCryptoJS(){return'console.log("CryptoJS已装载");'}const RSA={decode:function(data,key,option){option=option||{};if(typeof JSEncrypt==="function"){let chunkSize=option.chunkSize||117;let privateKey=this.getPrivateKey(key);const decryptor=new JSEncrypt;decryptor.setPrivateKey(privateKey);let uncrypted="";uncrypted=decryptor.decryptUnicodeLong(data);return uncrypted}else{return false}},encode:function(data,key,option){option=option||{};if(typeof JSEncrypt==="function"){let chunkSize=option.chunkSize||117;let publicKey=this.getPublicKey(key);const encryptor=new JSEncrypt;encryptor.setPublicKey(publicKey);let encrypted="";encrypted=encryptor.encryptUnicodeLong(data);return encrypted}else{return false}},fixKey(key,prefix,endfix){if(!key.includes(prefix)){key=prefix+key}if(!key.includes(endfix)){key+=endfix}return key},getPrivateKey(key){let prefix="-----BEGIN RSA PRIVATE KEY-----";let endfix="-----END RSA PRIVATE KEY-----";return this.fixKey(key,prefix,endfix)},getPublicKey(key){let prefix="-----BEGIN PUBLIC KEY-----";let endfix="-----END PUBLIC KEY-----";return this.fixKey(key,prefix,endfix)}};function getProxyUrl(){if(typeof getProxy==="function"){return getProxy(true)}else{return"http://127.0.0.1:9978/proxy?do=js"}}function fixAdM3u8(m3u8_text,m3u8_url,ad_remove){if(!m3u8_text&&!m3u8_url||!m3u8_text&&m3u8_url&&!m3u8_url.startsWith("http")){return""}if(!m3u8_text){log("m3u8_url:"+m3u8_url);m3u8_text=request(m3u8_url)}log("len(m3u8_text):"+m3u8_text.length);if(!ad_remove){return m3u8_text}if(ad_remove.startsWith("reg:")){ad_remove=ad_remove.slice(4)}else if(ad_remove.startsWith("js:")){ad_remove=ad_remove.slice(3)}let m3u8_start=m3u8_text.slice(0,m3u8_text.indexOf("#EXTINF")).trim();let m3u8_body=m3u8_text.slice(m3u8_text.indexOf("#EXTINF"),m3u8_text.indexOf("#EXT-X-ENDLIST")).trim();let m3u8_end=m3u8_text.slice(m3u8_text.indexOf("#EXT-X-ENDLIST")).trim();let murls=[];let m3_body_list=m3u8_body.split("\n");let m3_len=m3_body_list.length;let i=0;while(i{new_m3u8_body.push(it)})}}new_m3u8_body=new_m3u8_body.join("\n").trim();m3u8_text=[m3u8_start,new_m3u8_body,m3u8_end].join("\n").trim();return m3u8_text}function fixAdM3u8Ai(m3u8_url,headers){let ts=(new Date).getTime();let option=headers?{headers:headers}:{};function b(s1,s2){let i=0;while(iit.startsWith("#")?it:urljoin(m3u8_url,it)).join("\n");m3u8=m3u8.replace(/\n\n/gi,"\n");let last_url=m3u8.split("\n").slice(-1)[0];if(last_url.length<5){last_url=m3u8.split("\n").slice(-2)[0]}if(last_url.includes(".m3u8")&&last_url!==m3u8_url){m3u8_url=urljoin2(m3u8_url,last_url);log("嵌套的m3u8_url:"+m3u8_url);m3u8=request(m3u8_url,option)}let s=m3u8.trim().split("\n").filter(it=>it.trim()).join("\n");let ss=s.split("\n");let firststr="";let maxl=0;let kk=0;let kkk=2;let secondstr="";for(let i=0;i1){if(maxl>b(firststr,s)){if(secondstr.length<5)secondstr=s;kkk=kkk+2}else{maxl=b(firststr,s);kkk++}}kk++;if(kk>=20)break}}if(kkk>30)firststr=secondstr;let firststrlen=firststr.length;let ml=Math.round(ss.length/2).toString().length;let maxc=0;let laststr=ss.toReversed().find(x=>{if(!x.startsWith("#")){let k=b(reverseString(firststr),reverseString(x));maxl=b(firststr,x);maxc++;if(firststrlen-maxl<=ml+k||maxc>10){return true}}return false});log("最后一条切片:"+laststr);let ad_urls=[];for(let i=0;i=end){return lists}let first=lists[start];let second=lists[end];if(key){try{first=first[key];second=second[key]}catch(e){}}if(option&&typeof option==="function"){try{first=option(first);second=option(second)}catch(e){}}first+="";second+="";if(first.match(/(\d+)/)&&second.match(/(\d+)/)){let num1=Number(first.match(/(\d+)/)[1]);let num2=Number(second.match(/(\d+)/)[1]);if(num1>num2){lists.reverse()}}return lists}let VODS=[];let VOD={};let TABS=[];let LISTS=[];function getQuery(url){try{if(url.indexOf("?")>-1){url=url.slice(url.indexOf("?")+1)}let arr=url.split("#")[0].split("&");const resObj={};arr.forEach(item=>{let arr1=item.split("=");let key=arr1[0];let value=arr1.slice(1).join("=");resObj[key]=value});return resObj}catch(err){log(`getQuery发生错误:${e.message}`);return{}}}function urljoin(fromPath,nowPath){fromPath=fromPath||"";nowPath=nowPath||"";return joinUrl(fromPath,nowPath)}var urljoin2=urljoin;const defaultParser={pdfh:pdfh,pdfa:pdfa,pd:pd};function pdfh2(html,parse){let html2=html;try{if(typeof html!=="string"){html2=html.rr(html.ele).toString()}}catch(e){print(`html对象转文本发生了错误:${e.message}`)}let result=defaultParser.pdfh(html2,parse);let option=parse.includes("&&")?parse.split("&&").slice(-1)[0]:parse.split(" ").slice(-1)[0];if(/style/.test(option.toLowerCase())&&/url\(/.test(result)){try{result=result.match(/url\((.*?)\)/)[1];result=result.replace(/^['|"](.*)['|"]$/,"$1")}catch(e){}}return result}function pdfa2(html,parse){let html2=html;try{if(typeof html!=="string"){html2=html.rr(html.ele).toString()}}catch(e){print(`html对象转文本发生了错误:${e.message}`)}return defaultParser.pdfa(html2,parse)}function pd2(html,parse,uri){let ret=pdfh2(html,parse);if(typeof uri==="undefined"||!uri){uri=""}if(DOM_CHECK_ATTR.test(parse)&&!SPECIAL_URL.test(ret)){if(/http/.test(ret)){ret=ret.slice(ret.indexOf("http"))}else{ret=urljoin(MY_URL,ret)}}return ret}const parseTags={jsp:{pdfh:pdfh2,pdfa:pdfa2,pd:pd2},json:{pdfh(html,parse){if(!parse||!parse.trim()){return""}if(typeof html==="string"){html=JSON.parse(html)}parse=parse.trim();if(!parse.startsWith("$.")){parse="$."+parse}parse=parse.split("||");for(let ps of parse){let ret=cheerio.jp(ps,html);if(Array.isArray(ret)){ret=ret[0]||""}else{ret=ret||""}if(ret&&typeof ret!=="string"){ret=ret.toString()}if(ret){return ret}}return""},pdfa(html,parse){if(!parse||!parse.trim()){return""}if(typeof html==="string"){html=JSON.parse(html)}parse=parse.trim();if(!parse.startsWith("$.")){parse="$."+parse}let ret=cheerio.jp(parse,html);if(Array.isArray(ret)&&Array.isArray(ret[0])&&ret.length===1){return ret[0]||[]}return ret||[]},pd(html,parse){let ret=parseTags.json.pdfh(html,parse);if(ret){return urljoin(MY_URL,ret)}return ret}},jq:{pdfh(html,parse){if(!html||!parse||!parse.trim()){return""}parse=parse.trim();let result=defaultParser.pdfh(html,parse);return result},pdfa(html,parse){if(!html||!parse||!parse.trim()){return[]}parse=parse.trim();let result=defaultParser.pdfa(html,parse);print(`pdfa解析${parse}=>${result.length}`);return result},pd(html,parse,base_url){if(!html||!parse||!parse.trim()){return""}parse=parse.trim();base_url=base_url||MY_URL;return defaultParser.pd(html,parse,base_url)}},getParse(p0){if(p0.startsWith("jsp:")){return this.jsp}else if(p0.startsWith("json:")){return this.json}else if(p0.startsWith("jq:")){return this.jq}else{return this.jq}}};const stringify=JSON.stringify;const jsp=parseTags.jsp;const jq=parseTags.jq;function readFile(filePath){filePath=filePath||"./uri.min.js";var fd=os.open(filePath);var buffer=new ArrayBuffer(1024);var len=os.read(fd,buffer,0,1024);console.log(len);let text=String.fromCharCode.apply(null,new Uint8Array(buffer));console.log(text);return text}function dealJson(html){try{html=html.trim();if(!(html.startsWith("{")&&html.endsWith("}")||html.startsWith("[")&&html.endsWith("]"))){html="{"+html.match(/.*?\{(.*)\}/m)[1]+"}"}}catch(e){}try{html=JSON.parse(html)}catch(e){}return html}var OcrApi={api:OCR_API,classification:function(img){let code="";try{log("通过drpy_ocr验证码接口过验证...");let html="";if(this.api.endsWith("drpy/text")){html=request(this.api,{data:{img:img},headers:{"User-Agent":PC_UA},method:"POST"},true)}else{html=post(this.api,{body:img})}code=html||""}catch(e){log(`OCR识别验证码发生错误:${e.message}`)}return code}};function verifyCode(url){let cnt=0;let host=getHome(url);let cookie="";while(cntit.toLowerCase()==="set-cookie");cookie=setCk?json[setCk].split(";")[0]:""}console.log("cookie:"+cookie);let img=json.body;let code=OcrApi.classification(img);console.log(`第${cnt+1}次验证码识别结果:${code}`);let submit_url=`${host}/index.php/ajax/verify_check?type=search&verify=${code}`;console.log(submit_url);let html=request(submit_url,{headers:{Cookie:cookie},method:"POST"});html=JSON.parse(html);if(html.msg==="ok"){console.log(`第${cnt+1}次验证码提交成功`);return cookie}else if(html.msg!=="ok"&&cnt+1>=OCR_RETRY){cookie=""}}catch(e){console.log(`第${cnt+1}次验证码提交失败:${e.message}`);if(cnt+1>=OCR_RETRY){cookie=""}}cnt+=1}return cookie}function setItem(k,v){local.set(RKEY,k,v);console.log(`规则${RKEY}设置${k} => ${v}`)}function getItem(k,v){return local.get(RKEY,k)||v}function clearItem(k){local.delete(RKEY,k)}function getHome(url){if(!url){return""}let tmp=url.split("//");url=tmp[0]+"//"+tmp[1].split("/")[0];try{url=decodeURIComponent(url)}catch(e){}return url}function buildUrl(url,obj){obj=obj||{};if(url.indexOf("?")<0){url+="?"}let param_list=[];let keys=Object.keys(obj);keys.forEach(it=>{param_list.push(it+"="+obj[it])});let prs=param_list.join("&");if(keys.length>0&&!url.endsWith("?")){url+="&"}url+=prs;return url}function $require(url){eval(request(url))}function keysToLowerCase(obj){return Object.keys(obj).reduce((result,key)=>{const newKey=key.toLowerCase();result[newKey]=obj[key];return result},{})}function request(url,obj,ocr_flag){ocr_flag=ocr_flag||false;if(typeof obj==="undefined"||!obj||obj==={}){if(!fetch_params||!fetch_params.headers){let headers={"User-Agent":MOBILE_UA};if(rule.headers){Object.assign(headers,rule.headers)}if(!fetch_params){fetch_params={}}fetch_params.headers=headers}if(!fetch_params.headers.Referer){fetch_params.headers.Referer=getHome(url)}obj=fetch_params}else{let headers=obj.headers||{};let keys=Object.keys(headers).map(it=>it.toLowerCase());if(!keys.includes("user-agent")){headers["User-Agent"]=MOBILE_UA;if(typeof fetch_params==="object"&&fetch_params&&fetch_params.headers){let fetch_headers=keysToLowerCase(fetch_params.headers);if(fetch_headers["user-agent"]){headers["User-Agent"]=fetch_headers["user-agent"]}}}if(!keys.includes("referer")){headers["Referer"]=getHome(url)}obj.headers=headers}if(rule.encoding&&rule.encoding!=="utf-8"&&!ocr_flag){if(!obj.headers.hasOwnProperty("Content-Type")&&!obj.headers.hasOwnProperty("content-type")){obj.headers["Content-Type"]="text/html; charset="+rule.encoding}}if(typeof obj.body!="undefined"&&obj.body&&typeof obj.body==="string"){if(!obj.headers.hasOwnProperty("Content-Type")&&!obj.headers.hasOwnProperty("content-type")){obj.headers["Content-Type"]="application/x-www-form-urlencoded; charset="+rule.encoding}}else if(typeof obj.body!="undefined"&&obj.body&&typeof obj.body==="object"){obj.data=obj.body;delete obj.body}if(!url){return obj.withHeaders?"{}":""}if(obj.toBase64){obj.buffer=2;delete obj.toBase64}if(obj.redirect===false){obj.redirect=0}console.log(JSON.stringify(obj.headers));console.log("request:"+url+`|method:${obj.method||"GET"}|body:${obj.body||""}`);let res=req(url,obj);let html=res.content||"";if(obj.withHeaders){let htmlWithHeaders=res.headers;htmlWithHeaders.body=html;return JSON.stringify(htmlWithHeaders)}else{return html}}function post(url,obj){obj=obj||{};obj.method="POST";return request(url,obj)}function reqCookie(url,obj,all_cookie){obj=obj||{};obj.withHeaders=true;all_cookie=all_cookie||false;let html=request(url,obj);let json=JSON.parse(html);let setCk=Object.keys(json).find(it=>it.toLowerCase()==="set-cookie");let cookie=setCk?json[setCk]:"";if(Array.isArray(cookie)){cookie=cookie.join(";")}if(!all_cookie){cookie=cookie.split(";")[0]}html=json.body;return{cookie:cookie,html:html}}fetch=request;print=function(data){data=data||"";if(typeof data=="object"&&Object.keys(data).length>0){try{data=JSON.stringify(data);console.log(data)}catch(e){console.log(typeof data+":"+data.length);return}}else if(typeof data=="object"&&Object.keys(data).length<1){console.log("null object")}else{console.log(data)}};log=print;function checkHtml(html,url,obj){if(/\?btwaf=/.test(html)){let btwaf=html.match(/btwaf(.*?)"/)[1];url=url.split("#")[0]+"?btwaf"+btwaf;print("宝塔验证访问链接:"+url);html=request(url,obj)}return html}function getCode(url,obj){let html=request(url,obj);html=checkHtml(html,url,obj);return html}function getHtml(url){let obj={};if(rule.headers){obj.headers=rule.headers}let cookie=getItem(RULE_CK,"");if(cookie){if(obj.headers&&!Object.keys(obj.headers).map(it=>it.toLowerCase()).includes("cookie")){log("历史无cookie,新增过验证后的cookie");obj.headers["Cookie"]=cookie}else if(obj.headers&&obj.headers.cookie&&obj.headers.cookie!==cookie){obj.headers["Cookie"]=cookie;log("历史有小写过期的cookie,更新过验证后的cookie")}else if(obj.headers&&obj.headers.Cookie&&obj.headers.Cookie!==cookie){obj.headers["Cookie"]=cookie;log("历史有大写过期的cookie,更新过验证后的cookie")}else if(!obj.headers){obj.headers={Cookie:cookie};log("历史无headers,更新过验证后的含cookie的headers")}}let html=getCode(url,obj);return html}function homeParse(homeObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let classes=[];if(homeObj.class_name&&homeObj.class_url){let names=homeObj.class_name.split("&");let urls=homeObj.class_url.split("&");let cnt=Math.min(names.length,urls.length);for(let i=0;i0){classes=list}}}catch(e){console.log(e.message)}}else if(p.length>=3&&!is_json){try{let html=homeObj.home_html||getHtml(homeObj.MY_URL);if(html){homeHtmlCache=html;let list=_pdfa(html,p0);if(list&&list.length>0){list.forEach((it,idex)=>{try{let name=_pdfh(it,p[1]);if(homeObj.cate_exclude&&new RegExp(homeObj.cate_exclude).test(name)){return}let url=_pd(it,p[2]);if(p.length>3&&p[3]&&!homeObj.home_html){let exp=new RegExp(p[3]);url=url.match(exp)[1]}classes.push({type_id:url.trim(),type_name:name.trim()})}catch(e){console.log(`分类列表定位第${idex}个元素正常报错:${e.message}`)}})}}}catch(e){console.log(e.message)}}}}classes=classes.filter(it=>!homeObj.cate_exclude||!new RegExp(homeObj.cate_exclude).test(it.type_name));let resp={class:classes};if(homeObj.filter){resp.filters=homeObj.filter}console.log(JSON.stringify(resp));return JSON.stringify(resp)}function getPP(p,pn,pp,ppn){try{let ps=p[pn]==="*"&&pp.length>ppn?pp[ppn]:p[pn];return ps}catch(e){return""}}function homeVodParse(homeVodObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let d=[];MY_URL=homeVodObj.homeUrl;console.log(MY_URL);let t1=(new Date).getTime();let p=homeVodObj.推荐;print("p:"+p);if(p==="*"&&rule.一级){p=rule.一级;homeVodObj.double=false}if(!p||typeof p!=="string"){return"{}"}p=p.trim();let pp=rule.一级?rule.一级.split(";"):[];if(p.startsWith("js:")){const TYPE="home";var input=MY_URL;HOST=rule.host;eval(p.replace("js:",""));d=VODS}else{p=p.split(";");if(!homeVodObj.double&&p.length<5){return"{}"}else if(homeVodObj.double&&p.length<6){return"{}"}let p0=getPP(p,0,pp,0);let _ps=parseTags.getParse(p0);_pdfa=_ps.pdfa;_pdfh=_ps.pdfh;_pd=_ps.pd;let is_json=p0.startsWith("json:");p0=p0.replace(/^(jsp:|json:|jq:)/,"");let html=homeHtmlCache||getHtml(MY_URL);homeHtmlCache=undefined;if(is_json){html=dealJson(html)}try{console.log("double:"+homeVodObj.double);if(homeVodObj.double){let items=_pdfa(html,p0);let p1=getPP(p,1,pp,0);let p2=getPP(p,2,pp,1);let p3=getPP(p,3,pp,2);let p4=getPP(p,4,pp,3);let p5=getPP(p,5,pp,4);let p6=getPP(p,6,pp,5);for(let item of items){let items2=_pdfa(item,p1);for(let item2 of items2){try{let title=_pdfh(item2,p2);let img="";try{img=_pd(item2,p3)}catch(e){}let desc="";try{desc=_pdfh(item2,p4)}catch(e){}let links=[];for(let _p5 of p5.split("+")){let link=!homeVodObj.detailUrl?_pd(item2,_p5,MY_URL):_pdfh(item2,_p5);links.push(link)}let content;if(p.length>6&&p[6]){content=_pdfh(item2,p6)}else{content=""}let vid=links.join("$");if(rule.二级==="*"){vid=vid+"@@"+title+"@@"+img}let vod={vod_name:title,vod_pic:img,vod_remarks:desc,vod_content:content,vod_id:vid};d.push(vod)}catch(e){console.log(`首页列表双层定位处理发生错误:${e.message}`)}}}}else{let items=_pdfa(html,p0);let p1=getPP(p,1,pp,1);let p2=getPP(p,2,pp,2);let p3=getPP(p,3,pp,3);let p4=getPP(p,4,pp,4);let p5=getPP(p,5,pp,5);for(let item of items){try{let title=_pdfh(item,p1);let img="";try{img=_pd(item,p2,MY_URL)}catch(e){}let desc="";try{desc=_pdfh(item,p3)}catch(e){}let links=[];for(let _p5 of p4.split("+")){let link=!homeVodObj.detailUrl?_pd(item,_p5,MY_URL):_pdfh(item,_p5);links.push(link)}let content;if(p.length>5&&p[5]){content=_pdfh(item,p5)}else{content=""}let vid=links.join("$");if(rule.二级==="*"){vid=vid+"@@"+title+"@@"+img}let vod={vod_name:title,vod_pic:img,vod_remarks:desc,vod_content:content,vod_id:vid};d.push(vod)}catch(e){console.log(`首页列表单层定位处理发生错误:${e.message}`)}}}}catch(e){}}let t2=(new Date).getTime();console.log("加载首页推荐耗时:"+(t2-t1)+"毫秒");if(rule.图片替换){if(rule.图片替换.startsWith("js:")){d.forEach(it=>{try{var input=it.vod_pic;eval(rule.图片替换.trim().replace("js:",""));it.vod_pic=input}catch(e){log(`图片:${it.vod_pic}替换错误:${e.message}`)}})}else if(rule.图片替换.includes("=>")){let replace_from=rule.图片替换.split("=>")[0];let replace_to=rule.图片替换.split("=>")[1];d.forEach(it=>{if(it.vod_pic&&it.vod_pic.startsWith("http")){it.vod_pic=it.vod_pic.replace(replace_from,replace_to)}})}}if(rule.图片来源){d.forEach(it=>{if(it.vod_pic&&it.vod_pic.startsWith("http")){it.vod_pic=it.vod_pic+rule.图片来源}})}if(d.length>0){print(d.slice(0,2))}return JSON.stringify({list:d})}function categoryParse(cateObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let p=cateObj.一级;if(!p||typeof p!=="string"){return"{}"}let d=[];let url=cateObj.url.replaceAll("fyclass",cateObj.tid);if(cateObj.pg===1&&url.includes("[")&&url.includes("]")){url=url.split("[")[1].split("]")[0]}else if(cateObj.pg>1&&url.includes("[")&&url.includes("]")){url=url.split("[")[0]}if(rule.filter_url){if(!/fyfilter/.test(url)){if(!url.endsWith("&")&&!rule.filter_url.startsWith("&")){url+="&"}url+=rule.filter_url}else{url=url.replace("fyfilter",rule.filter_url)}url=url.replaceAll("fyclass",cateObj.tid);let fl=cateObj.filter?cateObj.extend:{};if(rule.filter_def&&typeof rule.filter_def==="object"){try{if(Object.keys(rule.filter_def).length>0&&rule.filter_def.hasOwnProperty(cateObj.tid)){let self_fl_def=rule.filter_def[cateObj.tid];if(self_fl_def&&typeof self_fl_def==="object"){let fl_def=JSON.parse(JSON.stringify(self_fl_def));fl=Object.assign(fl_def,fl)}}}catch(e){print(`合并不同分类对应的默认筛选出错:${e.message}`)}}let new_url;new_url=cheerio.jinja2(url,{fl:fl});url=new_url}if(/fypage/.test(url)){if(url.includes("(")&&url.includes(")")){let url_rep=url.match(/.*?\((.*)\)/)[1];let cnt_page=url_rep.replaceAll("fypage",cateObj.pg);let cnt_pg=eval(cnt_page);url=url.replaceAll(url_rep,cnt_pg).replaceAll("(","").replaceAll(")","")}else{url=url.replaceAll("fypage",cateObj.pg)}}MY_URL=url;console.log(MY_URL);p=p.trim();const MY_CATE=cateObj.tid;if(p.startsWith("js:")){var MY_FL=cateObj.extend;const TYPE="cate";var input=MY_URL;const MY_PAGE=cateObj.pg;var desc="";eval(p.trim().replace("js:",""));d=VODS}else{p=p.split(";");if(p.length<5){return"{}"}let _ps=parseTags.getParse(p[0]);_pdfa=_ps.pdfa;_pdfh=_ps.pdfh;_pd=_ps.pd;let is_json=p[0].startsWith("json:");p[0]=p[0].replace(/^(jsp:|json:|jq:)/,"");try{let html=getHtml(MY_URL);if(html){if(is_json){html=dealJson(html)}let list=_pdfa(html,p[0]);list.forEach(it=>{let links=p[4].split("+").map(p4=>{return!rule.detailUrl?_pd(it,p4,MY_URL):_pdfh(it,p4)});let link=links.join("$");let vod_id=rule.detailUrl?MY_CATE+"$"+link:link;let vod_name=_pdfh(it,p[1]).replace(/\n|\t/g,"").trim();let vod_pic=_pd(it,p[2],MY_URL);if(rule.二级==="*"){vod_id=vod_id+"@@"+vod_name+"@@"+vod_pic}d.push({vod_id:vod_id,vod_name:vod_name,vod_pic:vod_pic,vod_remarks:_pdfh(it,p[3]).replace(/\n|\t/g,"").trim()})})}}catch(e){console.log(e.message)}}if(rule.图片替换){if(rule.图片替换.startsWith("js:")){d.forEach(it=>{try{var input=it.vod_pic;eval(rule.图片替换.trim().replace("js:",""));it.vod_pic=input}catch(e){log(`图片:${it.vod_pic}替换错误:${e.message}`)}})}else if(rule.图片替换.includes("=>")){let replace_from=rule.图片替换.split("=>")[0];let replace_to=rule.图片替换.split("=>")[1];d.forEach(it=>{if(it.vod_pic&&it.vod_pic.startsWith("http")){it.vod_pic=it.vod_pic.replace(replace_from,replace_to)}})}}if(rule.图片来源){d.forEach(it=>{if(it.vod_pic&&it.vod_pic.startsWith("http")){it.vod_pic=it.vod_pic+rule.图片来源}})}if(d.length>0){print(d.slice(0,2))}let pagecount=0;if(rule.pagecount&&typeof rule.pagecount==="object"&&rule.pagecount.hasOwnProperty(MY_CATE)){print(`MY_CATE:${MY_CATE},pagecount:${JSON.stringify(rule.pagecount)}`);pagecount=parseInt(rule.pagecount[MY_CATE])}let nodata={list:[{vod_name:"无数据,防无限请求",vod_id:"no_data",vod_remarks:"不要点,会崩的",vod_pic:"https://ghproxy.net/https://raw.githubusercontent.com/hjdhnx/dr_py/main/404.jpg"}],total:1,pagecount:1,page:1,limit:1};let vod=d.length<1?JSON.stringify(nodata):JSON.stringify({page:parseInt(cateObj.pg),pagecount:pagecount||999,limit:20,total:999,list:d});return vod}function searchParse(searchObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let d=[];if(!searchObj.searchUrl){return"{}"}let p=searchObj.搜索==="*"&&rule.一级?rule.一级:searchObj.搜索;if(!p||typeof p!=="string"){return"{}"}p=p.trim();let pp=rule.一级?rule.一级.split(";"):[];let url=searchObj.searchUrl.replaceAll("**",searchObj.wd);if(searchObj.pg===1&&url.includes("[")&&url.includes("]")&&!url.includes("#")){url=url.split("[")[1].split("]")[0]}else if(searchObj.pg>1&&url.includes("[")&&url.includes("]")&&!url.includes("#")){url=url.split("[")[0]}if(/fypage/.test(url)){if(url.includes("(")&&url.includes(")")){let url_rep=url.match(/.*?\((.*)\)/)[1];let cnt_page=url_rep.replaceAll("fypage",searchObj.pg);let cnt_pg=eval(cnt_page);url=url.replaceAll(url_rep,cnt_pg).replaceAll("(","").replaceAll(")","")}else{url=url.replaceAll("fypage",searchObj.pg)}}MY_URL=url;console.log(MY_URL);if(p.startsWith("js:")){const TYPE="search";const MY_PAGE=searchObj.pg;const KEY=searchObj.wd;var input=MY_URL;var detailUrl=rule.detailUrl||"";eval(p.trim().replace("js:",""));d=VODS}else{p=p.split(";");if(p.length<5){return"{}"}let p0=getPP(p,0,pp,0);let _ps=parseTags.getParse(p0);_pdfa=_ps.pdfa;_pdfh=_ps.pdfh;_pd=_ps.pd;let is_json=p0.startsWith("json:");p0=p0.replace(/^(jsp:|json:|jq:)/,"");try{let req_method=MY_URL.split(";").length>1?MY_URL.split(";")[1].toLowerCase():"get";let html;if(req_method==="post"){let rurls=MY_URL.split(";")[0].split("#");let rurl=rurls[0];let params=rurls.length>1?rurls[1]:"";print(`post=》rurl:${rurl},params:${params}`);let _fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let postData={body:params};Object.assign(_fetch_params,postData);html=post(rurl,_fetch_params)}else if(req_method==="postjson"){let rurls=MY_URL.split(";")[0].split("#");let rurl=rurls[0];let params=rurls.length>1?rurls[1]:"";print(`postjson-》rurl:${rurl},params:${params}`);try{params=JSON.parse(params)}catch(e){params="{}"}let _fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let postData={body:params};Object.assign(_fetch_params,postData);html=post(rurl,_fetch_params)}else{html=getHtml(MY_URL)}if(html){if(/系统安全验证|输入验证码/.test(html)){let cookie=verifyCode(MY_URL);if(cookie){console.log(`本次成功过验证,cookie:${cookie}`);setItem(RULE_CK,cookie)}else{console.log(`本次自动过搜索验证失败,cookie:${cookie}`)}html=getHtml(MY_URL)}if(!html.includes(searchObj.wd)){console.log("搜索结果源码未包含关键字,疑似搜索失败,正为您打印结果源码");console.log(html)}if(is_json){html=dealJson(html)}let list=_pdfa(html,p0);let p1=getPP(p,1,pp,1);let p2=getPP(p,2,pp,2);let p3=getPP(p,3,pp,3);let p4=getPP(p,4,pp,4);let p5=getPP(p,5,pp,5);list.forEach(it=>{let links=p4.split("+").map(_p4=>{return!rule.detailUrl?_pd(it,_p4,MY_URL):_pdfh(it,_p4)});let link=links.join("$");let content;if(p.length>5&&p[5]){content=_pdfh(it,p5)}else{content=""}let vod_id=link;let vod_name=_pdfh(it,p1).replace(/\n|\t/g,"").trim();let vod_pic=_pd(it,p2,MY_URL);if(rule.二级==="*"){vod_id=vod_id+"@@"+vod_name+"@@"+vod_pic}let ob={vod_id:vod_id,vod_name:vod_name,vod_pic:vod_pic,vod_remarks:_pdfh(it,p3).replace(/\n|\t/g,"").trim(),vod_content:content.replace(/\n|\t/g,"").trim()};d.push(ob)})}}catch(e){print(`搜索发生错误:${e.message}`);return"{}"}}if(rule.图片替换){if(rule.图片替换.startsWith("js:")){d.forEach(it=>{try{var input=it.vod_pic;eval(rule.图片替换.trim().replace("js:",""));it.vod_pic=input}catch(e){log(`图片:${it.vod_pic}替换错误:${e.message}`)}})}else if(rule.图片替换.includes("=>")){let replace_from=rule.图片替换.split("=>")[0];let replace_to=rule.图片替换.split("=>")[1];d.forEach(it=>{if(it.vod_pic&&it.vod_pic.startsWith("http")){it.vod_pic=it.vod_pic.replace(replace_from,replace_to)}})}}if(rule.图片来源){d.forEach(it=>{if(it.vod_pic&&it.vod_pic.startsWith("http")){it.vod_pic=it.vod_pic+rule.图片来源}})}return JSON.stringify({page:parseInt(searchObj.pg),pagecount:10,limit:20,total:100,list:d})}function detailParse(detailObj){let t1=(new Date).getTime();fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let orId=detailObj.orId;let vod_name="片名";let vod_pic="";let vod_id=orId;if(rule.二级==="*"){let extra=orId.split("@@");vod_name=extra.length>1?extra[1]:vod_name;vod_pic=extra.length>2?extra[2]:vod_pic}let vod={vod_id:vod_id,vod_name:vod_name,vod_pic:vod_pic,type_name:"类型",vod_year:"年份",vod_area:"地区",vod_remarks:"更新信息",vod_actor:"主演",vod_director:"导演",vod_content:"简介"};let p=detailObj.二级;let url=detailObj.url;let detailUrl=detailObj.detailUrl;let fyclass=detailObj.fyclass;let tab_exclude=detailObj.tab_exclude;let html=detailObj.html||"";MY_URL=url;if(detailObj.二级访问前){try{print(`尝试在二级访问前执行代码:${detailObj.二级访问前}`);eval(detailObj.二级访问前.trim().replace("js:",""))}catch(e){print(`二级访问前执行代码出现错误:${e.message}`)}}if(p==="*"){vod.vod_play_from="道长在线";vod.vod_remarks=detailUrl;vod.vod_actor="没有二级,只有一级链接直接嗅探播放";vod.vod_content=MY_URL;vod.vod_play_url="嗅探播放$"+MY_URL.split("@@")[0]}else if(typeof p==="string"&&p.trim().startsWith("js:")){const TYPE="detail";var input=MY_URL;var play_url="";eval(p.trim().replace("js:",""));vod=VOD;console.log(JSON.stringify(vod))}else if(p&&typeof p==="object"){let tt1=(new Date).getTime();if(!html){html=getHtml(MY_URL)}print(`二级${MY_URL}仅获取源码耗时:${(new Date).getTime()-tt1}毫秒`);let _ps;if(p.is_json){print("二级是json");_ps=parseTags.json;html=dealJson(html)}else if(p.is_jsp){print("二级是jsp");_ps=parseTags.jsp}else if(p.is_jq){print("二级是jq");_ps=parseTags.jq}else{print("二级默认jq");_ps=parseTags.jq}let tt2=(new Date).getTime();print(`二级${MY_URL}获取并装载源码耗时:${tt2-tt1}毫秒`);_pdfa=_ps.pdfa;_pdfh=_ps.pdfh;_pd=_ps.pd;if(p.title){let p1=p.title.split(";");vod.vod_name=_pdfh(html,p1[0]).replace(/\n|\t/g,"").trim();let type_name=p1.length>1?_pdfh(html,p1[1]).replace(/\n|\t/g,"").replace(/ /g,"").trim():"";vod.type_name=type_name||vod.type_name}if(p.desc){try{let p1=p.desc.split(";");vod.vod_remarks=_pdfh(html,p1[0]).replace(/\n|\t/g,"").trim();vod.vod_year=p1.length>1?_pdfh(html,p1[1]).replace(/\n|\t/g,"").trim():"";vod.vod_area=p1.length>2?_pdfh(html,p1[2]).replace(/\n|\t/g,"").trim():"";vod.vod_actor=p1.length>3?_pdfh(html,p1[3]).replace(/\n|\t/g,"").trim():"";vod.vod_director=p1.length>4?_pdfh(html,p1[4]).replace(/\n|\t/g,"").trim():""}catch(e){}}if(p.content){try{let p1=p.content.split(";");vod.vod_content=_pdfh(html,p1[0]).replace(/\n|\t/g,"").trim()}catch(e){}}if(p.img){try{let p1=p.img.split(";");vod.vod_pic=_pd(html,p1[0],MY_URL)}catch(e){}}let vod_play_from="$$$";let playFrom=[];if(p.重定向&&p.重定向.startsWith("js:")){print("开始执行重定向代码:"+p.重定向);html=eval(p.重定向.replace("js:",""))}if(p.tabs){if(p.tabs.startsWith("js:")){print("开始执行tabs代码:"+p.tabs);var input=MY_URL;eval(p.tabs.replace("js:",""));playFrom=TABS}else{let p_tab=p.tabs.split(";")[0];let vHeader=_pdfa(html,p_tab);console.log(vHeader.length);let tab_text=p.tab_text||"body&&Text";let new_map={};for(let v of vHeader){let v_title=_pdfh(v,tab_text).trim();if(!v_title){v_title="线路空"}console.log(v_title);if(tab_exclude&&new RegExp(tab_exclude).test(v_title)){continue}if(!new_map.hasOwnProperty(v_title)){new_map[v_title]=1}else{new_map[v_title]+=1}if(new_map[v_title]>1){v_title+=Number(new_map[v_title]-1)}playFrom.push(v_title)}}console.log(JSON.stringify(playFrom))}else{playFrom=["道长在线"]}vod.vod_play_from=playFrom.join(vod_play_from);let vod_play_url="$$$";let vod_tab_list=[];if(p.lists){if(p.lists.startsWith("js:")){print("开始执行lists代码:"+p.lists);try{var input=MY_URL;var play_url="";eval(p.lists.replace("js:",""));for(let i in LISTS){if(LISTS.hasOwnProperty(i)){try{LISTS[i]=LISTS[i].map(it=>it.split("$").slice(0,2).join("$"))}catch(e){print(`格式化LISTS发生错误:${e.message}`)}}}vod_play_url=LISTS.map(it=>it.join("#")).join(vod_play_url)}catch(e){print(`js执行lists: 发生错误:${e.message}`)}}else{let list_text=p.list_text||"body&&Text";let list_url=p.list_url||"a&&href";let list_url_prefix=p.list_url_prefix||"";let is_tab_js=p.tabs.trim().startsWith("js:");for(let i=0;i1&&!is_tab_js?p.tabs.split(";")[1]:"";let p1=p.lists.replaceAll("#idv",tab_name).replaceAll("#id",i);tab_ext=tab_ext.replaceAll("#idv",tab_name).replaceAll("#id",i);let tabName=tab_ext?_pdfh(html,tab_ext):tab_name;console.log(tabName);let new_vod_list=[];let tt1=(new Date).getTime();if(typeof pdfl==="function"){new_vod_list=pdfl(html,p1,list_text,list_url,MY_URL);if(list_url_prefix){new_vod_list=new_vod_list.map(it=>it.split("$")[0]+"$"+list_url_prefix+it.split("$").slice(1).join("$"))}}else{let vodList=[];try{vodList=_pdfa(html,p1);console.log("len(vodList):"+vodList.length)}catch(e){}for(let i=0;i0){new_vod_list=forceOrder(new_vod_list,"",x=>x.split("$")[0]);console.log(`drpy影响性能代码共计列表数循环次数:${new_vod_list.length},耗时:${(new Date).getTime()-tt1}毫秒`)}let vlist=new_vod_list.join("#");vod_tab_list.push(vlist)}vod_play_url=vod_tab_list.join(vod_play_url)}}vod.vod_play_url=vod_play_url}if(rule.图片替换&&rule.图片替换.includes("=>")){let replace_from=rule.图片替换.split("=>")[0];let replace_to=rule.图片替换.split("=>")[1];vod.vod_pic=vod.vod_pic.replace(replace_from,replace_to)}if(rule.图片来源&&vod.vod_pic&&vod.vod_pic.startsWith("http")){vod.vod_pic=vod.vod_pic+rule.图片来源}if(!vod.vod_id||vod_id.includes("$")&&vod.vod_id!==vod_id){vod.vod_id=vod_id}let t2=(new Date).getTime();console.log(`加载二级界面${MY_URL}耗时:${t2-t1}毫秒`);try{vod=vodDeal(vod)}catch(e){console.log(`vodDeal发生错误:${e.message}`)}return JSON.stringify({list:[vod]})}function get_tab_index(vod){let obj={};vod.vod_play_from.split("$$$").forEach((it,index)=>{obj[it]=index});return obj}function vodDeal(vod){let vod_play_from=vod.vod_play_from.split("$$$");let vod_play_url=vod.vod_play_url.split("$$$");let tab_removed_list=vod_play_from;let tab_ordered_list=vod_play_from;let tab_renamed_list=vod_play_from;let tab_list=vod_play_from;let play_ordered_list=vod_play_url;if(rule.tab_remove&&rule.tab_remove.length>0||rule.tab_order&&rule.tab_order.length>0){let tab_index_dict=get_tab_index(vod);if(rule.tab_remove&&rule.tab_remove.length>0){tab_removed_list=vod_play_from.filter(it=>!rule.tab_remove.includes(it));tab_list=tab_removed_list}if(rule.tab_order&&rule.tab_order.length>0){let tab_order=rule.tab_order;tab_ordered_list=tab_removed_list.sort((a,b)=>{return(tab_order.indexOf(a)===-1?9999:tab_order.indexOf(a))-(tab_order.indexOf(b)===-1?9999:tab_order.indexOf(b))});tab_list=tab_ordered_list}play_ordered_list=tab_list.map(it=>vod_play_url[tab_index_dict[it]])}if(rule.tab_rename&&typeof rule.tab_rename==="object"&Object.keys(rule.tab_rename).length>0){tab_renamed_list=tab_list.map(it=>rule.tab_rename[it]||it);tab_list=tab_renamed_list}vod.vod_play_from=tab_list.join("$$$");vod.vod_play_url=play_ordered_list.join("$$$");return vod}function tellIsJx(url){try{let is_vip=!/\.(m3u8|mp4|m4a)$/.test(url.split("?")[0])&&是否正版(url);return is_vip?1:0}catch(e){return 1}}function playParse(playObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));MY_URL=playObj.url;var MY_FLAG=playObj.flag;if(!/http/.test(MY_URL)){try{MY_URL=base64Decode(MY_URL)}catch(e){}}MY_URL=decodeURIComponent(MY_URL);var input=MY_URL;var flag=MY_FLAG;let common_play={parse:SPECIAL_URL.test(input)||/^(push:)/.test(input)?0:1,url:input,flag:flag,jx:tellIsJx(input)};let lazy_play;if(!rule.play_parse||!rule.lazy){lazy_play=common_play}else if(rule.play_parse&&rule.lazy&&typeof rule.lazy==="string"){try{let lazy_code=rule.lazy.trim();if(lazy_code.startsWith("js:")){lazy_code=lazy_code.replace("js:","").trim()}print("开始执行js免嗅=>"+lazy_code);eval(lazy_code);lazy_play=typeof input==="object"?input:{parse:SPECIAL_URL.test(input)||/^(push:)/.test(input)?0:1,jx:tellIsJx(input),url:input}}catch(e){print(`js免嗅错误:${e.message}`);lazy_play=common_play}}else{lazy_play=common_play}if(Array.isArray(rule.play_json)&&rule.play_json.length>0){let web_url=lazy_play.url;for(let pjson of rule.play_json){if(pjson.re&&(pjson.re==="*"||web_url.match(new RegExp(pjson.re)))){if(pjson.json&&typeof pjson.json==="object"){let base_json=pjson.json;lazy_play=Object.assign(lazy_play,base_json);break}}}}else if(rule.play_json&&!Array.isArray(rule.play_json)){let base_json={jx:1,parse:1};lazy_play=Object.assign(lazy_play,base_json)}else if(!rule.play_json){let base_json={jx:0,parse:1};lazy_play=Object.assign(lazy_play,base_json)}console.log(JSON.stringify(lazy_play));return JSON.stringify(lazy_play)}function proxyParse(proxyObj){var input=proxyObj.params;if(proxyObj.proxy_rule){log("准备执行本地代理规则:\n"+proxyObj.proxy_rule);try{eval(proxyObj.proxy_rule);if(input&&input!==proxyObj.params&&Array.isArray(input)&&input.length>=3){return input}else{return[404,"text/plain","Not Found"]}}catch(e){return[500,"text/plain","代理规则错误:"+e.message]}}else{return[404,"text/plain","Not Found"]}}function isVideoParse(isVideoObj){var input=isVideoObj.url;if(!isVideoObj.t){let re_matcher=new RegExp(isVideoObj.isVideo,"i");return re_matcher.test(input)}else{try{eval(isVideoObj.isVideo);if(typeof input==="boolean"){return input}else{return false}}catch(e){log(`执行嗅探规则发生错误:${e.message}`);return false}}}function getOriginalJs(js_code){let current_match=/var rule|[\u4E00-\u9FA5]+|function|let |var |const |\(|\)|"|'/;if(current_match.test(js_code)){return js_code}let rsa_private_key="MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCqin/jUpqM6+fgYP/oMqj9zcdHMM0mEZXLeTyixIJWP53lzJV2N2E3OP6BBpUmq2O1a9aLnTIbADBaTulTNiOnVGoNG58umBnupnbmmF8iARbDp2mTzdMMeEgLdrfXS6Y3VvazKYALP8EhEQykQVarexR78vRq7ltY3quXx7cgI0ROfZz5Sw3UOLQJ+VoWmwIxu9AMEZLVzFDQN93hzuzs3tNyHK6xspBGB7zGbwCg+TKi0JeqPDrXxYUpAz1cQ/MO+Da0WgvkXnvrry8NQROHejdLVOAslgr6vYthH9bKbsGyNY3H+P12kcxo9RAcVveONnZbcMyxjtF5dWblaernAgMBAAECggEAGdEHlSEPFmAr5PKqKrtoi6tYDHXdyHKHC5tZy4YV+Pp+a6gxxAiUJejx1hRqBcWSPYeKne35BM9dgn5JofgjI5SKzVsuGL6bxl3ayAOu+xXRHWM9f0t8NHoM5fdd0zC3g88dX3fb01geY2QSVtcxSJpEOpNH3twgZe6naT2pgiq1S4okpkpldJPo5GYWGKMCHSLnKGyhwS76gF8bTPLoay9Jxk70uv6BDUMlA4ICENjmsYtd3oirWwLwYMEJbSFMlyJvB7hjOjR/4RpT4FPnlSsIpuRtkCYXD4jdhxGlvpXREw97UF2wwnEUnfgiZJ2FT/MWmvGGoaV/CfboLsLZuQKBgQDTNZdJrs8dbijynHZuuRwvXvwC03GDpEJO6c1tbZ1s9wjRyOZjBbQFRjDgFeWs9/T1aNBLUrgsQL9c9nzgUziXjr1Nmu52I0Mwxi13Km/q3mT+aQfdgNdu6ojsI5apQQHnN/9yMhF6sNHg63YOpH+b+1bGRCtr1XubuLlumKKscwKBgQDOtQ2lQjMtwsqJmyiyRLiUOChtvQ5XI7B2mhKCGi8kZ+WEAbNQcmThPesVzW+puER6D4Ar4hgsh9gCeuTaOzbRfZ+RLn3Aksu2WJEzfs6UrGvm6DU1INn0z/tPYRAwPX7sxoZZGxqML/z+/yQdf2DREoPdClcDa2Lmf1KpHdB+vQKBgBXFCVHz7a8n4pqXG/HvrIMJdEpKRwH9lUQS/zSPPtGzaLpOzchZFyQQBwuh1imM6Te+VPHeldMh3VeUpGxux39/m+160adlnRBS7O7CdgSsZZZ/dusS06HAFNraFDZf1/VgJTk9BeYygX+AZYu+0tReBKSs9BjKSVJUqPBIVUQXAoGBAJcZ7J6oVMcXxHxwqoAeEhtvLcaCU9BJK36XQ/5M67ceJ72mjJC6/plUbNukMAMNyyi62gO6I9exearecRpB/OGIhjNXm99Ar59dAM9228X8gGfryLFMkWcO/fNZzb6lxXmJ6b2LPY3KqpMwqRLTAU/zy+ax30eFoWdDHYa4X6e1AoGAfa8asVGOJ8GL9dlWufEeFkDEDKO9ww5GdnpN+wqLwePWqeJhWCHad7bge6SnlylJp5aZXl1+YaBTtOskC4Whq9TP2J+dNIgxsaF5EFZQJr8Xv+lY9lu0CruYOh9nTNF9x3nubxJgaSid/7yRPfAGnsJRiknB5bsrCvgsFQFjJVs=";let decode_content="";function aes_decrypt(data){let key=CryptoJS.enc.Hex.parse("686A64686E780A0A0A0A0A0A0A0A0A0A");let iv=CryptoJS.enc.Hex.parse("647A797964730A0A0A0A0A0A0A0A0A0A");let encrypted=CryptoJS.AES.decrypt({ciphertext:CryptoJS.enc.Base64.parse(data)},key,{iv:iv,mode:CryptoJS.mode.CBC,padding:CryptoJS.pad.Pkcs7}).toString(CryptoJS.enc.Utf8);return encrypted}let error_log=false;function logger(text){if(error_log){log(text)}}let decode_funcs=[text=>{try{return ungzip(text)}catch(e){logger("非gzip加密");return""}},text=>{try{return base64Decode(text)}catch(e){logger("非b64加密");return""}},text=>{try{return aes_decrypt(text)}catch(e){logger("非aes加密");return""}},text=>{try{return RSA.decode(text,rsa_private_key,null)}catch(e){logger("非rsa加密");return""}}];let func_index=0;while(!current_match.test(decode_content)){decode_content=decode_funcs[func_index](js_code);func_index++;if(func_index>=decode_funcs.length){break}}return decode_content}function runMain(main_func_code,arg){let mainFunc=function(){return""};try{eval(main_func_code+"\nmainFunc=main;");return mainFunc(arg)}catch(e){log(`执行main_funct发生了错误:${e.message}`);return""}}function init(ext){console.log("init");rule={};rule_fetch_params={};fetch_params=null;try{let muban=模板.getMubans();if(typeof ext=="object"){rule=ext}else if(typeof ext=="string"){if(ext.startsWith("http")||ext.startsWith("file://")){let query=getQuery(ext);let js=request(ext,{method:"GET"});if(js){js=getOriginalJs(js);eval("(function(){"+js.replace("var rule","rule")+"})()")}if(query.type==="url"&&query.params){rule.params=urljoin(ext,query.params)}else if(query.params){rule.params=query.params}}else{ext=getOriginalJs(ext);eval("(function(){"+ext.replace("var rule","rule")+"})()")}}else{console.log(`规则加载失败,不支持的规则类型:${typeof ext}`);return}rule.host=(rule.host||"").rstrip("/");HOST=rule.host;if(rule.hostJs){console.log(`检测到hostJs,准备执行...`);try{eval(rule.hostJs);rule.host=HOST.rstrip("/")}catch(e){console.log(`执行${rule.hostJs}获取host发生错误:${e.message}`)}}if(rule["模板"]==="自动"){try{let host_headers=rule["headers"]||{};let host_html=getCode(HOST,{headers:host_headers});let match_muban="";let muban_keys=Object.keys(muban).filter(it=>!/默认|短视2|采集1/.test(it));for(let muban_key of muban_keys){try{let host_data=JSON.parse(home({},host_html,muban[muban_key].class_parse));if(host_data.class&&host_data.class.length>0){match_muban=muban_key;console.log(`自动匹配模板:【${muban_key}】`);break}}catch(e){console.log(`自动匹配模板:【${muban_key}】错误:${e.message}`)}}if(match_muban){muban["自动"]=muban[match_muban];if(rule["模板修改"]&&rule["模板修改"].startsWith("js:")){eval(rule["模板修改"].replace("js:","").trim())}}else{delete rule["模板"]}}catch(e){delete rule["模板"]}}if(rule.模板&&muban.hasOwnProperty(rule.模板)){print("继承模板:"+rule.模板);rule=Object.assign(muban[rule.模板],rule)}let rule_cate_excludes=(rule.cate_exclude||"").split("|").filter(it=>it.trim());let rule_tab_excludes=(rule.tab_exclude||"").split("|").filter(it=>it.trim());rule_cate_excludes=rule_cate_excludes.concat(CATE_EXCLUDE.split("|").filter(it=>it.trim()));rule_tab_excludes=rule_tab_excludes.concat(TAB_EXCLUDE.split("|").filter(it=>it.trim()));rule.cate_exclude=rule_cate_excludes.join("|");rule.tab_exclude=rule_tab_excludes.join("|");rule.类型=rule.类型||"影视";rule.url=rule.url||"";rule.double=rule.double||false;rule.homeUrl=rule.homeUrl||"";rule.detailUrl=rule.detailUrl||"";rule.searchUrl=rule.searchUrl||"";rule.homeUrl=rule.host&&rule.homeUrl?urljoin(rule.host,rule.homeUrl):rule.homeUrl||rule.host;rule.homeUrl=cheerio.jinja2(rule.homeUrl,{rule:rule});rule.detailUrl=rule.host&&rule.detailUrl?urljoin(rule.host,rule.detailUrl):rule.detailUrl;rule.二级访问前=rule.二级访问前||"";if(rule.url.includes("[")&&rule.url.includes("]")){let u1=rule.url.split("[")[0];let u2=rule.url.split("[")[1].split("]")[0];rule.url=rule.host&&rule.url?urljoin(rule.host,u1)+"["+urljoin(rule.host,u2)+"]":rule.url}else{rule.url=rule.host&&rule.url?urljoin(rule.host,rule.url):rule.url}if(rule.searchUrl.includes("[")&&rule.searchUrl.includes("]")&&!rule.searchUrl.includes("#")){let u1=rule.searchUrl.split("[")[0];let u2=rule.searchUrl.split("[")[1].split("]")[0];rule.searchUrl=rule.host&&rule.searchUrl?urljoin(rule.host,u1)+"["+urljoin(rule.host,u2)+"]":rule.searchUrl}else{rule.searchUrl=rule.host&&rule.searchUrl?urljoin(rule.host,rule.searchUrl):rule.searchUrl}rule.timeout=rule.timeout||5e3;rule.encoding=rule.编码||rule.encoding||"utf-8";rule.search_encoding=rule.搜索编码||rule.search_encoding||"";rule.图片来源=rule.图片来源||"";rule.图片替换=rule.图片替换||"";rule.play_json=rule.hasOwnProperty("play_json")?rule.play_json:[];rule.pagecount=rule.hasOwnProperty("pagecount")?rule.pagecount:{};rule.proxy_rule=rule.hasOwnProperty("proxy_rule")?rule.proxy_rule:"";if(!rule.hasOwnProperty("sniffer")){rule.sniffer=false}rule.sniffer=rule.hasOwnProperty("sniffer")?rule.sniffer:"";rule.sniffer=!!(rule.sniffer&&rule.sniffer!=="0"&&rule.sniffer!=="false");rule.isVideo=rule.hasOwnProperty("isVideo")?rule.isVideo:"";if(rule.sniffer&&!rule.isVideo){rule.isVideo="http((?!http).){12,}?\\.(m3u8|mp4|flv|avi|mkv|rm|wmv|mpg|m4a|mp3)\\?.*|http((?!http).){12,}\\.(m3u8|mp4|flv|avi|mkv|rm|wmv|mpg|m4a|mp3)|http((?!http).)*?video/tos*|http((?!http).)*?obj/tos*"}rule.tab_remove=rule.hasOwnProperty("tab_remove")?rule.tab_remove:[];rule.tab_order=rule.hasOwnProperty("tab_order")?rule.tab_order:[];rule.tab_rename=rule.hasOwnProperty("tab_rename")?rule.tab_rename:{};if(rule.headers&&typeof rule.headers==="object"){try{let header_keys=Object.keys(rule.headers);for(let k of header_keys){if(k.toLowerCase()==="user-agent"){let v=rule.headers[k];console.log(v);if(["MOBILE_UA","PC_UA","UC_UA","IOS_UA","UA"].includes(v)){rule.headers[k]=eval(v)}}else if(k.toLowerCase()==="cookie"){let v=rule.headers[k];if(v&&v.startsWith("http")){console.log(v);try{v=fetch(v);console.log(v);rule.headers[k]=v}catch(e){console.log(`从${v}获取cookie发生错误:${e.message}`)}}}}}catch(e){console.log(`处理headers发生错误:${e.message}`)}}rule_fetch_params={headers:rule.headers||false,timeout:rule.timeout,encoding:rule.encoding};oheaders=rule.headers||{};RKEY=typeof key!=="undefined"&&key?key:"drpy_"+(rule.title||rule.host);pre();init_test()}catch(e){console.log(`init_test发生错误:${e.message}`)}}let homeHtmlCache=undefined;function home(filter,home_html,class_parse){console.log("home");home_html=home_html||"";class_parse=class_parse||"";if(typeof rule.filter==="string"&&rule.filter.trim().length>0){try{let filter_json=ungzip(rule.filter.trim());rule.filter=JSON.parse(filter_json)}catch(e){rule.filter={}}}let homeObj={filter:rule.filter||false,MY_URL:rule.homeUrl,class_name:rule.class_name||"",class_url:rule.class_url||"",class_parse:class_parse||rule.class_parse||"",cate_exclude:rule.cate_exclude,home_html:home_html};return homeParse(homeObj)}function homeVod(params){console.log("homeVod");let homeVodObj={"推荐":rule.推荐,double:rule.double,homeUrl:rule.homeUrl,detailUrl:rule.detailUrl};return homeVodParse(homeVodObj)}function category(tid,pg,filter,extend){let cateObj={url:rule.url,"一级":rule.一级,tid:tid,pg:parseInt(pg),filter:filter,extend:extend};return categoryParse(cateObj)}function detail(vod_url){let orId=vod_url;let fyclass="";log("orId:"+orId);if(vod_url.indexOf("$")>-1){let tmp=vod_url.split("$");fyclass=tmp[0];vod_url=tmp[1]}let detailUrl=vod_url.split("@@")[0];let url;if(!detailUrl.startsWith("http")&&!detailUrl.includes("/")){url=rule.detailUrl.replaceAll("fyid",detailUrl).replaceAll("fyclass",fyclass)}else if(detailUrl.includes("/")){url=urljoin(rule.homeUrl,detailUrl)}else{url=detailUrl}let detailObj={orId:orId,url:url,"二级":rule.二级,"二级访问前":rule.二级访问前,detailUrl:detailUrl,fyclass:fyclass,tab_exclude:rule.tab_exclude};return detailParse(detailObj)}function play(flag,id,flags){let playObj={url:id,flag:flag,flags:flags};return playParse(playObj)}function search(wd,quick,pg){if(rule.search_encoding){if(rule.search_encoding.toLowerCase()!=="utf-8"){wd=encodeStr(wd,rule.search_encoding)}}else if(rule.encoding&&rule.encoding.toLowerCase()!=="utf-8"){wd=encodeStr(wd,rule.encoding)}let searchObj={searchUrl:rule.searchUrl,"搜索":rule.搜索,wd:wd,pg:pg||1,quick:quick};return searchParse(searchObj)}function proxy(params){if(rule.proxy_rule&&rule.proxy_rule.trim()){rule.proxy_rule=rule.proxy_rule.trim()}if(rule.proxy_rule.startsWith("js:")){rule.proxy_rule=rule.proxy_rule.replace("js:","")}let proxyObj={params:params,proxy_rule:rule.proxy_rule};return proxyParse(proxyObj)}function sniffer(){let enable_sniffer=rule.sniffer||false;if(enable_sniffer){log("开始执行辅助嗅探代理规则...")}return enable_sniffer}function isVideo(url){let t=0;let is_video;if(rule.isVideo&&rule.isVideo.trim()){is_video=rule.isVideo.trim()}if(is_video.startsWith("js:")){is_video=is_video.replace("js:","");t=1}let isVideoObj={url:url,isVideo:is_video,t:t};let result=isVideoParse(isVideoObj);if(result){log("成功执行辅助嗅探规则并检测到视频地址:\n"+rule.isVideo)}return result}function getRule(key){return key?rule[key]||"":rule}function DRPY(){return{runMain:runMain,getRule:getRule,init:init,home:home,homeVod:homeVod,category:category,detail:detail,play:play,search:search,proxy:proxy,sniffer:sniffer,isVideo:isVideo,fixAdM3u8Ai:fixAdM3u8Ai}}export default{runMain:runMain,getRule:getRule,init:init,home:home,homeVod:homeVod,category:category,detail:detail,play:play,search:search,proxy:proxy,sniffer:sniffer,isVideo:isVideo,fixAdM3u8Ai:fixAdM3u8Ai,DRPY:DRPY}; \ No newline at end of file diff --git a/tvboxqq/tvboxqq/戏曲音乐/api/gbk.js b/tvboxqq/tvboxqq/戏曲音乐/api/gbk.js new file mode 100644 index 0000000..796d53a --- /dev/null +++ b/tvboxqq/tvboxqq/戏曲音乐/api/gbk.js @@ -0,0 +1,68 @@ +/*** + * gbk编码解码函数 + * strTool = gbkTool() strTool.encode(key) + * @returns {{encode: (function(*): *), decode: (function(*): *)}} + */ +export function gbkTool(){ + var data=function(zipData){ + var re=zipData + .replace(/#(\d+)\$/g,function(a,b){ + return Array(+b+3).join('#'); + }) + .replace(/#/g,'####') + .replace(/(\w\w):([\w#]+)(?:,|$)/g,function(a,hd,dt){ + return dt.replace(/../g,function(a){ + if(a!='##'){ + return hd+a; + }else{ + return a; + } + }); + }); + return re; + }('4e:020405060f12171f20212326292e2f313335373c40414244464a5155575a5b6263646567686a6b6c6d6e6f727475767778797a7b7c7d7f808182838485878a#909697999c9d9ea3aaafb0b1b4b6b7b8b9bcbdbec8cccfd0d2dadbdce0e2e6e7e9edeeeff1f4f8f9fafcfe,4f:00020304050607080b0c12131415161c1d212328292c2d2e31333537393b3e3f40414244454748494a4b4c525456616266686a6b6d6e7172757778797a7d8081828586878a8c8e909293959698999a9c9e9fa1a2a4abadb0b1b2b3b4b6b7b8b9babbbcbdbec0c1c2c6c7c8c9cbcccdd2d3d4d5d6d9dbe0e2e4e5e7ebecf0f2f4f5f6f7f9fbfcfdff,50:000102030405060708090a#0b0e1011131516171b1d1e20222324272b2f303132333435363738393b3d3f404142444546494a4b4d5051525354565758595b5d5e5f6061626364666768696a6b6d6e6f70717273747578797a7c7d818283848687898a8b8c8e8f909192939495969798999a9b9c9d9e9fa0a1a2a4a6aaabadaeafb0b1b3b4b5b6b7b8b9bcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdced0d1d2d3d4d5d7d8d9dbdcdddedfe0e1e2e3e4e5e8e9eaebeff0f1f2f4f6f7f8f9fafcfdfeff,51:00010203040508#090a0c0d0e0f1011131415161718191a1b1c1d1e1f2022232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e42474a4c4e4f5052535758595b5d5e5f606163646667696a6f727a7e7f838486878a8b8e8f90919394989a9d9e9fa1a3a6a7a8a9aaadaeb4b8b9babebfc1c2c3c5c8cacdced0d2d3d4d5d6d7d8d9dadcdedfe2e3e5e6e7e8e9eaeceef1f2f4f7fe,52:0405090b0c0f101314151c1e1f2122232526272a2c2f313234353c3e4445464748494b4e4f5253555758#595a5b5d5f6062636466686b6c6d6e7071737475767778797a7b7c7e808384858687898a8b8c8d8e8f91929495969798999a9ca4a5a6a7aeafb0b4b5b6b7b8b9babbbcbdc0c1c2c4c5c6c8cacccdcecfd1d3d4d5d7d9dadbdcdddee0e1e2e3e5e6e7e8e9eaebecedeeeff1f2f3f4f5f6f7f8fbfcfd,53:0102030407090a0b0c0e11121314181b1c1e1f2224252728292b2c2d2f3031323334353637383c3d404244464b4c4d505458595b5d65686a6c6d7276797b7c7d7e80818387888a8e8f#90919293949697999b9c9ea0a1a4a7aaabacadafb0b1b2b3b4b5b7b8b9babcbdbec0c3c4c5c6c7cecfd0d2d3d5dadcdddee1e2e7f4fafeff,54:000205070b1418191a1c2224252a303336373a3d3f4142444547494c4d4e4f515a5d5e5f6061636567696a6b6c6d6e6f7074797a7e7f8183858788898a8d919397989c9e9fa0a1a2a5aeb0b2b5b6b7b9babcbec3c5cacbd6d8dbe0e1e2e3e4ebeceff0f1f4f5f6f7f8f9fbfe,55:0002030405080a0b0c0d0e121315161718191a1c1d1e1f212526#28292b2d3234353638393a3b3d40424547484b4c4d4e4f515253545758595a5b5d5e5f60626368696b6f7071727374797a7d7f85868c8d8e9092939596979a9b9ea0a1a2a3a4a5a6a8a9aaabacadaeafb0b2b4b6b8babcbfc0c1c2c3c6c7c8cacbcecfd0d5d7d8d9dadbdee0e2e7e9edeef0f1f4f6f8f9fafbfcff,56:0203040506070a0b0d1011121314151617191a1c1d202122252628292a2b2e2f30333537383a3c3d3e404142434445464748494a4b4f5051525355565a5b5d5e5f6061#636566676d6e6f70727374757778797a7d7e7f80818283848788898a8b8c8d9091929495969798999a9b9c9d9e9fa0a1a2a4a5a6a7a8a9aaabacadaeb0b1b2b3b4b5b6b8b9babbbdbebfc0c1c2c3c4c5c6c7c8c9cbcccdcecfd0d1d2d3d5d6d8d9dce3e5e6e7e8e9eaeceeeff2f3f6f7f8fbfc,57:00010205070b0c0d0e0f101112131415161718191a1b1d1e202122242526272b313234353637383c3d3f414344454648494b52535455565859626365676c6e707172747578797a7d7e7f80#818788898a8d8e8f90919495969798999a9c9d9e9fa5a8aaacafb0b1b3b5b6b7b9babbbcbdbebfc0c1c4c5c6c7c8c9cacccdd0d1d3d6d7dbdcdee1e2e3e5e6e7e8e9eaebeceef0f1f2f3f5f6f7fbfcfeff,58:0103040508090a0c0e0f101213141617181a1b1c1d1f222325262728292b2c2d2e2f31323334363738393a3b3c3d3e3f4041424345464748494a4b4e4f505253555657595a5b5c5d5f6061626364666768696a6d6e6f707172737475767778797a7b7c7d7f82848687888a8b8c#8d8e8f909194959697989b9c9da0a1a2a3a4a5a6a7aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbdbebfc0c2c3c4c6c7c8c9cacbcccdcecfd0d2d3d4d6d7d8d9dadbdcdddedfe0e1e2e3e5e6e7e8e9eaedeff1f2f4f5f7f8fafbfcfdfeff,59:000103050608090a0b0c0e1011121317181b1d1e2021222326282c30323335363b3d3e3f404345464a4c4d505253595b5c5d5e5f616364666768696a6b6c6d6e6f70717275777a7b7c7e7f8085898b8c8e8f90919495989a9b9c9d9fa0a1a2a6#a7acadb0b1b3b4b5b6b7b8babcbdbfc0c1c2c3c4c5c7c8c9cccdcecfd5d6d9dbdedfe0e1e2e4e6e7e9eaebedeeeff0f1f2f3f4f5f6f7f8fafcfdfe,5a:00020a0b0d0e0f101214151617191a1b1d1e2122242627282a2b2c2d2e2f3033353738393a3b3d3e3f414243444547484b4c4d4e4f5051525354565758595b5c5d5e5f60616364656668696b6c6d6e6f7071727378797b7c7d7e808182838485868788898a8b8c8d8e8f9091939495969798999c9d9e9fa0a1a2a3a4a5a6a7a8a9abac#adaeafb0b1b4b6b7b9babbbcbdbfc0c3c4c5c6c7c8cacbcdcecfd0d1d3d5d7d9dadbdddedfe2e4e5e7e8eaecedeeeff0f2f3f4f5f6f7f8f9fafbfcfdfeff,5b:0001020304050607080a0b0c0d0e0f10111213141518191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303133353638393a3b3c3d3e3f4142434445464748494a4b4c4d4e4f52565e606167686b6d6e6f7274767778797b7c7e7f82868a8d8e90919294969fa7a8a9acadaeafb1b2b7babbbcc0c1c3c8c9cacbcdcecf#d1d4d5d6d7d8d9dadbdce0e2e3e6e7e9eaebecedeff1f2f3f4f5f6f7fdfe,5c:0002030507080b0c0d0e10121317191b1e1f2021232628292a2b2d2e2f303233353637434446474c4d5253545657585a5b5c5d5f62646768696a6b6c6d70727374757677787b7c7d7e808384858687898a8b8e8f9293959d9e9fa0a1a4a5a6a7a8aaaeafb0b2b4b6b9babbbcbec0c2c3c5c6c7c8c9cacccdcecfd0d1d3d4d5d6d7d8dadbdcdddedfe0e2e3e7e9ebeceeeff1f2f3f4f5f6f7f8f9fafcfdfeff,5d:00#01040508090a0b0c0d0f10111213151718191a1c1d1f2021222325282a2b2c2f3031323335363738393a3b3c3f4041424344454648494d4e4f5051525354555657595a5c5e5f6061626364656667686a6d6e7071727375767778797a7b7c7d7e7f8081838485868788898a8b8c8d8e8f9091929394959697989a9b9c9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b8b9babbbcbdbebfc0c1c2c3c4c6c7c8c9cacbcccecfd0d1d2d3d4d5d6d7d8d9dadcdfe0e3e4eaeced#f0f5f6f8f9fafbfcff,5e:000407090a0b0d0e1213171e1f20212223242528292a2b2c2f303233343536393a3e3f404143464748494a4b4d4e4f50515253565758595a5c5d5f60636465666768696a6b6c6d6e6f70717577797e8182838588898c8d8e92989b9da1a2a3a4a8a9aaabacaeafb0b1b2b4babbbcbdbfc0c1c2c3c4c5c6c7c8cbcccdcecfd0d4d5d7d8d9dadcdddedfe0e1e2e3e4e5e6e7e9ebecedeeeff0f1f2f3f5f8f9fbfcfd,5f:050607090c0d0e10121416191a1c1d1e21222324#282b2c2e30323334353637383b3d3e3f4142434445464748494a4b4c4d4e4f5154595a5b5c5e5f60636567686b6e6f72747576787a7d7e7f83868d8e8f919394969a9b9d9e9fa0a2a3a4a5a6a7a9abacafb0b1b2b3b4b6b8b9babbbebfc0c1c2c7c8cacbced3d4d5dadbdcdedfe2e3e5e6e8e9eceff0f2f3f4f6f7f9fafc,60:0708090b0c10111317181a1e1f2223242c2d2e3031323334363738393a3d3e404445464748494a4c4e4f5153545657585b5c5e5f606165666e71727475777e80#8182858687888a8b8e8f909193959798999c9ea1a2a4a5a7a9aaaeb0b3b5b6b7b9babdbebfc0c1c2c3c4c7c8c9cccdcecfd0d2d3d4d6d7d9dbdee1e2e3e4e5eaf1f2f5f7f8fbfcfdfeff,61:02030405070a0b0c1011121314161718191b1c1d1e21222528292a2c2d2e2f303132333435363738393a3b3c3d3e4041424344454647494b4d4f50525354565758595a5b5c5e5f606163646566696a6b6c6d6e6f717273747678797a7b7c7d7e7f808182838485868788898a8c8d8f9091929395#969798999a9b9c9e9fa0a1a2a3a4a5a6aaabadaeafb0b1b2b3b4b5b6b8b9babbbcbdbfc0c1c3c4c5c6c7c9cccdcecfd0d3d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e7e8e9eaebecedeeeff0f1f2f3f4f6f7f8f9fafbfcfdfe,62:00010203040507091314191c1d1e2023262728292b2d2f303132353638393a3b3c424445464a4f50555657595a5c5d5e5f6061626465687172747577787a7b7d818283858687888b8c8d8e8f9094999c9d9ea3a6a7a9aaadaeafb0b2b3b4b6b7b8babec0c1#c3cbcfd1d5dddee0e1e4eaebf0f2f5f8f9fafb,63:00030405060a0b0c0d0f10121314151718191c2627292c2d2e30313334353637383b3c3e3f40414447484a51525354565758595a5b5c5d60646566686a6b6c6f707273747578797c7d7e7f81838485868b8d9193949597999a9b9c9d9e9fa1a4a6abafb1b2b5b6b9bbbdbfc0c1c2c3c5c7c8cacbccd1d3d4d5d7d8d9dadbdcdddfe2e4e5e6e7e8ebeceeeff0f1f3f5f7f9fafbfcfe,64:0304060708090a0d0e111215161718191a1d1f222324#252728292b2e2f3031323335363738393b3c3e404243494b4c4d4e4f505153555657595a5b5c5d5f60616263646566686a6b6c6e6f70717273747576777b7c7d7e7f8081838688898a8b8c8d8e8f90939497989a9b9c9d9fa0a1a2a3a5a6a7a8aaabafb1b2b3b4b6b9bbbdbebfc1c3c4c6c7c8c9cacbcccfd1d3d4d5d6d9dadbdcdddfe0e1e3e5e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,65:01020304050607080a0b0c0d0e0f10111314151617191a1b1c1d1e1f2021#222324262728292a2c2d30313233373a3c3d404142434446474a4b4d4e5052535457585a5c5f606164656768696a6d6e6f7173757678797a7b7c7d7e7f8081828384858688898a8d8e8f92949596989a9d9ea0a2a3a6a8aaacaeb1b2b3b4b5b6b7b8babbbebfc0c2c7c8c9cacdd0d1d3d4d5d8d9dadbdcdddedfe1e3e4eaebf2f3f4f5f8f9fbfcfdfeff,66:0104050708090b0d1011121617181a1b1c1e2122232426292a2b2c2e3032333738393a3b3d3f40424445464748494a4d4e505158#595b5c5d5e6062636567696a6b6c6d7172737578797b7c7d7f808183858688898a8b8d8e8f909293949598999a9b9c9e9fa0a1a2a3a4a5a6a9aaabacadafb0b1b2b3b5b6b7b8babbbcbdbfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8dadedfe0e1e2e3e4e5e7e8eaebecedeeeff1f5f6f8fafbfd,67:010203040506070c0e0f1112131618191a1c1e20212223242527292e303233363738393b3c3e3f414445474a4b4d5254555758595a5b5d62636466676b6c6e717476#78797a7b7d8082838586888a8c8d8e8f9192939496999b9fa0a1a4a6a9acaeb1b2b4b9babbbcbdbebfc0c2c5c6c7c8c9cacbcccdced5d6d7dbdfe1e3e4e6e7e8eaebedeef2f5f6f7f8f9fafbfcfe,68:01020304060d1012141518191a1b1c1e1f20222324252627282b2c2d2e2f30313435363a3b3f474b4d4f52565758595a5b5c5d5e5f6a6c6d6e6f707172737578797a7b7c7d7e7f8082848788898a8b8c8d8e90919294959698999a9b9c9d9e9fa0a1a3a4a5a9aaabacaeb1b2b4b6b7b8#b9babbbcbdbebfc1c3c4c5c6c7c8cacccecfd0d1d3d4d6d7d9dbdcdddedfe1e2e4e5e6e7e8e9eaebecedeff2f3f4f6f7f8fbfdfeff,69:00020304060708090a0c0f11131415161718191a1b1c1d1e21222325262728292a2b2c2e2f313233353637383a3b3c3e4041434445464748494a4b4c4d4e4f50515253555658595b5c5f616264656768696a6c6d6f7072737475767a7b7d7e7f8183858a8b8c8e8f909192939697999a9d9e9fa0a1a2a3a4a5a6a9aaacaeafb0b2b3b5b6b8b9babcbd#bebfc0c2c3c4c5c6c7c8c9cbcdcfd1d2d3d5d6d7d8d9dadcdddee1e2e3e4e5e6e7e8e9eaebeceeeff0f1f3f4f5f6f7f8f9fafbfcfe,6a:000102030405060708090b0c0d0e0f10111213141516191a1b1c1d1e20222324252627292b2c2d2e30323334363738393a3b3c3f40414243454648494a4b4c4d4e4f515253545556575a5c5d5e5f60626364666768696a6b6c6d6e6f70727374757677787a7b7d7e7f81828385868788898a8b8c8d8f929394959698999a9b9c9d9e9fa1a2a3a4a5a6#a7a8aaadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,6b:000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f252628292a2b2c2d2e2f303133343536383b3c3d3f4041424445484a4b4d4e4f5051525354555657585a5b5c5d5e5f606168696b6c6d6e6f7071727374757677787a7d7e7f808588#8c8e8f909194959798999c9d9e9fa0a2a3a4a5a6a7a8a9abacadaeafb0b1b2b6b8b9babbbcbdbec0c3c4c6c7c8c9caccced0d1d8dadcdddedfe0e2e3e4e5e6e7e8e9ecedeef0f1f2f4f6f7f8fafbfcfeff,6c:000102030408090a0b0c0e12171c1d1e2023252b2c2d31333637393a3b3c3e3f434445484b4c4d4e4f5152535658595a62636566676b6c6d6e6f71737577787a7b7c7f8084878a8b8d8e9192959697989a9c9d9ea0a2a8acafb0b4b5b6b7bac0c1c2c3c6c7c8cbcdcecfd1d2d8#d9dadcdddfe4e6e7e9ecedf2f4f9ff,6d:000203050608090a0d0f101113141516181c1d1f20212223242628292c2d2f30343637383a3f404244494c50555657585b5d5f6162646567686b6c6d707172737576797a7b7d7e7f8081838486878a8b8d8f9092969798999a9ca2a5acadb0b1b3b4b6b7b9babbbcbdbec1c2c3c8c9cacdcecfd0d2d3d4d5d7dadbdcdfe2e3e5e7e8e9eaedeff0f2f4f5f6f8fafdfeff,6e:0001020304060708090b0f12131518191b1c1e1f222627282a2c2e30313335#3637393b3c3d3e3f40414245464748494a4b4c4f5051525557595a5c5d5e606162636465666768696a6c6d6f707172737475767778797a7b7c7d8081828487888a8b8c8d8e91929394959697999a9b9d9ea0a1a3a4a6a8a9abacadaeb0b3b5b8b9bcbebfc0c3c4c5c6c8c9cacccdced0d2d6d8d9dbdcdde3e7eaebecedeeeff0f1f2f3f5f6f7f8fafbfcfdfeff,6f:000103040507080a0b0c0d0e101112161718191a1b1c1d1e1f212223252627282c2e303234353738393a3b3c3d3f404142#43444548494a4c4e4f5051525354555657595a5b5d5f60616364656768696a6b6c6f707173757677797b7d7e7f808182838586878a8b8f909192939495969798999a9b9d9e9fa0a2a3a4a5a6a8a9aaabacadaeafb0b1b2b4b5b7b8babbbcbdbebfc1c3c4c5c6c7c8cacbcccdcecfd0d3d4d5d6d7d8d9dadbdcdddfe2e3e4e5e6e7e8e9eaebecedf0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,70:000102030405060708090a0b0c0d0e0f1012131415161718191c1d1e1f2021222425262728292a#2b2c2d2e2f30313233343637383a3b3c3d3e3f404142434445464748494a4b4d4e505152535455565758595a5b5c5d5f606162636465666768696a6e7172737477797a7b7d818283848687888b8c8d8f90919397989a9b9e9fa0a1a2a3a4a5a6a7a8a9aab0b2b4b5b6babebfc4c5c6c7c9cbcccdcecfd0d1d2d3d4d5d6d7dadcdddee0e1e2e3e5eaeef0f1f2f3f4f5f6f8fafbfcfeff,71:0001020304050607080b0c0d0e0f111214171b1c1d1e1f2021222324252728292a2b2c2d2e323334#353738393a3b3c3d3e3f4041424344464748494b4d4f505152535455565758595a5b5d5f6061626365696a6b6c6d6f707174757677797b7c7e7f8081828385868788898b8c8d8e909192939596979a9b9c9d9ea1a2a3a4a5a6a7a9aaabadaeafb0b1b2b4b6b7b8babbbcbdbebfc0c1c2c4c5c6c7c8c9cacbcccdcfd0d1d2d3d6d7d8d9dadbdcdddedfe1e2e3e4e6e8e9eaebecedeff0f1f2f3f4f5f6f7f8fafbfcfdfeff,72:0001020304050708090a0b0c0d0e0f101112131415161718191a#1b1c1e1f2021222324252627292b2d2e2f3233343a3c3e40414243444546494a4b4e4f505153545557585a5c5e60636465686a6b6c6d707173747677787b7c7d828385868788898c8e9091939495969798999a9b9c9d9ea0a1a2a3a4a5a6a7a8a9aaabaeb1b2b3b5babbbcbdbebfc0c5c6c7c9cacbcccfd1d3d4d5d6d8dadb#95$,30:000102,00b702:c9c7,00a830:0305,2014ff5e20:162618191c1d,30:141508090a0b0c0d0e0f16171011,00:b1d7f7,22:362728110f2a2908371aa52520,231222:992b2e614c483d1d606e6f64651e3534,26:4240,00b020:3233,2103ff0400a4ff:e0e1,203000a7211626:0605,25:cbcfcec7c6a1a0b3b2,203b21:92909193,30:13#95$,21:70717273747576777879#4$,24:88898a8b8c8d8e8f909192939495969798999a9b7475767778797a7b7c7d7e7f808182838485868760616263646566676869##,32:20212223242526272829##,21:606162636465666768696a6b#97$,ff:010203e505060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5de3#95$,30:4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f90919293#106$a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6#103$,03:9192939495969798999a9b9c9d9e9fa0a1a3a4a5a6a7a8a9#6$b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c3c4c5c6c7c8c9#5$,fe:3536393a3f403d3e41424344##3b3c373831#3334#104$,04:10111213141501161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f#13$30313233343551363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f#11$,02:cacbd9,20:13152535,21:050996979899,22:151f23526667bf,25:505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f7071727381828384858687#88898a8b8c8d8e8f939495bcbde2e3e4e5,2609229530:121d1e#9$,010100e101ce00e0011300e9011b00e8012b00ed01d000ec014d00f301d200f2016b00fa01d400f901:d6d8dadc,00:fcea,0251e7c701:4448,e7c802:61#2$,31:05060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20212223242526272829#19$,30:212223242526272829,32a333:8e8f9c9d9ea1c4ced1d2d5,fe30ff:e2e4#,212132:31#,20:10#1$,30:fc9b9cfdfe069d9e,fe:494a4b4c4d4e4f50515254555657595a5b5c5d5e5f6061#626364656668696a6b,e7:e7e8e9eaebecedeeeff0f1f2f3,30:07#11$,25:000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b#13$,72:dcdddfe2e3e4e5e6e7eaebf5f6f9fdfeff,73:00020405060708090b0c0d0f1011121418191a1f2023242627282d2f30323335363a3b3c3d404142434445464748#494a4b4c4e4f515354555658595a5b5c5d5e5f6162636465666768696a6b6e7071#92$72737475767778797a7b7c7d7f808182838586888a8c8d8f90929394959798999a9c9d9ea0a1a3a4a5a6a7a8aaacadb1b4b5b6b8b9bcbdbebfc1c3c4c5c6c7#cbccced2d3d4d5d6d7d8dadbdcdddfe1e2e3e4e6e8eaebeceeeff0f1f3f4f5f6f7#92$f8f9fafbfcfdfeff,74:0001020407080b0c0d0e1112131415161718191c1d1e1f2021232427292b2d2f31323738393a3b3d3e3f4042434445464748494a4b4c4d#4e4f505152535456585d606162636465666768696a6b6c6e6f717273747578797a#92$7b7c7d7f8284858688898a8c8d8f9192939495969798999a9b9d9fa0a1a2a3a4a5a6aaabacadaeafb0b1b2b3b4b5b6b7b8b9bbbcbdbebfc0c1c2c3c4c5c6c7#c8c9cacbcccdcecfd0d1d3d4d5d6d7d8d9dadbdddfe1e5e7e8e9eaebecedf0f1f2#92$f3f5f8f9fafbfcfdfe,75:0001020305060708090a0b0c0e1012141516171b1d1e202122232426272a2e3436393c3d3f414243444647494a4d5051525355565758#5d5e5f60616263646768696b6c6d6e6f7071737576777a7b7c7d7e808182848587#92$88898a8c8d8e909395989b9c9ea2a6a7a8a9aaadb6b7babbbfc0c1c6cbcccecfd0d1d3d7d9dadcdddfe0e1e5e9ecedeeeff2f3f5f6f7f8fafbfdfe,76:02040607#08090b0d0e0f11121314161a1c1d1e212327282c2e2f31323637393a3b3d414244#92$45464748494a4b4e4f50515253555758595a5b5d5f6061626465666768696a6c6d6e7071727374757677797a7c7f80818385898a8c8d8f9092949597989a9b#9c9d9e9fa0a1a2a3a5a6a7a8a9aaabacadafb0b3b5b6b7b8b9babbbcbdbec0c1c3,554a963f57c3632854ce550954c076:914c,853c77ee827e788d72319698978d6c285b894ffa630966975cb880fa684880ae660276ce51f9655671ac7ff1888450b2596561ca6fb382ad634c625253ed54277b06516b75a45df462d48dcb9776628a8019575d97387f627238767d67cf767e64464f708d2562dc7a17659173ed642c6273822c9881677f724862:6ecc,4f3474e3534a529e7eca90a65e2e6886699c81807ed168d278c5868c9551508d8c2482de80de53058912526576:c4c7c9cbccd3d5d9dadcdddee0e1e2e3e4e6e7e8e9eaebecedf0f3f5f6f7fafbfdff,77:00020305060a0c0e0f1011121314151617181b1c1d1e21232425272a2b#2c2e3031323334393b3d3e3f4244454648494a4b4c4d4e4f52535455565758595c,858496f94fdd582199715b9d62:b1a5,66b48c799c8d7206676f789160b253:5117,8f8880cc8d1d94a1500d72c8590760eb711988ab595482ef672c7b285d297ef7752d6cf58e668ff8903c9f3b6bd491197b145f7c78a784d6853d6b:d5d9d6,5e:0187,75f995ed655d5f:0ac5,8f9f58c181c2907f965b97ad8fb97f168d2c62414fbf53:d85e,8f:a8a9ab,904d68075f6a819888689cd6618b522b762a5f6c658c6fd26ee85bbe644851:75b0,67c44e1979c9997c70b377:5d5e5f606467696a6d6e6f7071727374757677787a7b7c818283868788898a8b8f90939495969798999a9b9c9d9ea1a3a4a6a8abadaeafb1b2b4b6b7b8b9ba#bcbec0c1c2c3c4c5c6c7c8c9cacbcccecfd0d1d2d3d4d5d6d8d9dadddedfe0e1e4,75c55e7673bb83e064ad62e894b56ce2535a52c3640f94c27b944f2f5e1b823681:168a,6e246cca9a736355535c54fa886557e04e0d5e036b657c3f90e8601664e6731c88c16750624d8d22776c8e2991c75f6983dc8521991053c286956b8b60:ede8,707f82:cd31,4ed36ca785cf64cd7cd969fd66f9834953957b564fa7518c6d4b5c428e6d63d253c983:2c36,67e578b4643d5bdf5c945dee8be762c667f48c7a640063ba8749998b8c177f2094f24ea7961098a4660c731677:e6e8eaeff0f1f2f4f5f7f9fafbfc,78:0304050607080a0b0e0f101315191b1e20212224282a2b2e2f31323335363d3f414243444648494a4b4d4f51535458595a#5b5c5e5f606162636465666768696f7071727374757678797a7b7d7e7f80818283,573a5c1d5e38957f507f80a05382655e7545553150218d856284949e671d56326f6e5de2543570928f66626f64a463a35f7b6f8890f481e38fb05c1866685ff16c8996488d81886c649179f057ce6a59621054484e587a0b60e96f848bda627f901e9a8b79e4540375f4630153196c608fdf5f1b9a70803b9f7f4f885c3a8d647fc565a570bd51:45b2,866b5d075ba062bd916c75748e0c7a2061017b794ec77ef877854e1181ed521d51fa6a7153a88e87950496cf6ec19664695a78:848586888a8b8f9092949596999d9ea0a2a4a6a8a9aaabacadaeafb5b6b7b8babbbcbdbfc0c2c3c4c6c7c8cccdcecfd1d2d3d6d7d8dadbdcdddedfe0e1e2e3#e4e5e6e7e9eaebedeeeff0f1f3f5f6f8f9fbfcfdfeff,79:00020304060708090a0b0c,784050a877d7641089e6590463e35ddd7a7f693d4f20823955984e3275ae7a975e:628a,95ef521b5439708a6376952457826625693f918755076df37eaf882262337ef075b5832878c196cc8f9e614874f78bcd6b64523a8d506b21806a847156f153064e:ce1b,51d17c97918b7c074fc38e7f7be17a9c64675d1450ac810676017cb96dec7fe067515b:58f8,78cb64:ae13,63:aa2b,9519642d8fbe7b5476296253592754466b7950a362345e266b864ee38d37888b5f85902e79:0d0e0f1011121415161718191a1b1c1d1f2021222325262728292a2b2c2d2e2f3031323335363738393d3f42434445474a4b4c4d4e4f505152545558596163#6466696a6b6c6e70717273747576797b7c7d7e7f8283868788898b8c8d8e909192,6020803d62c54e39535590f863b880c665e66c2e4f4660ee6de18bde5f3986cb5f536321515a83616863520063638e4850125c9b79775bfc52307a3b60bc905376d75f:b797,76848e6c706f767b7b4977aa51f3909358244f4e6ef48fea654c7b1b72c46da47fdf5ae162b55e95573084827b2c5e1d5f1f90127f1498a063826ec7789870b95178975b57ab75354f4375385e9760e659606dc06bbf788953fc96d551cb52016389540a94938c038dcc7239789f87768fed8c0d53e079:939495969798999b9c9d9e9fa0a1a2a3a4a5a6a8a9aaabacadaeafb0b1b2b4b5b6b7b8bcbfc2c4c5c7c8cacccecfd0d3d4d6d7d9dadbdcdddee0e1e2e5e8ea#eceef1f2f3f4f5f6f7f9fafcfeff,7a:0104050708090a0c0f10111213151618191b1c,4e0176ef53ee948998769f0e952d5b9a8ba24e:221c,51ac846361c252a8680b4f97606b51bb6d1e515c6296659796618c46901775d890fd77636bd272:8aec,8bfb583577798d4c675c9540809a5ea66e2159927aef77ed953b6bb565ad7f0e58065151961f5bf958a954288e726566987f56e4949d76fe9041638754c659:1a3a,579b8eb267358dfa8235524160f0581586fe5ce89e454fc4989d8bb95a2560765384627c904f9102997f6069800c513f80335c1499756d314e8c7a:1d1f21222425262728292a2b2c2d2e2f303132343536383a3e4041424344454748494a4b4c4d4e4f50525354555658595a5b5c5d5e5f606162636465666768#696a6b6c6d6e6f717273757b7c7d7e828587898a8b8c8e8f909394999a9b9ea1a2,8d3053d17f5a7b4f4f104e4f96006cd573d085e95e06756a7ffb6a0a77fe94927e4151e170e653cd8fd483038d2972af996d6cdb574a82b365b980aa623f963259a84eff8bbf7eba653e83f2975e556198de80a5532a8bfd542080ba5e9f6cb88d3982ac915a54296c1b52067eb7575f711a6c7e7c89594b4efd5fff61247caa4e305c0167ab87025cf0950b98ce75af70fd902251af7f1d8bbd594951e44f5b5426592b657780a45b7562:76c2,8f905e456c1f7b264f:0fd8,670d7a:a3a4a7a9aaabaeafb0b1b2b4b5b6b7b8b9babbbcbdbec0c1c2c3c4c5c6c7c8c9cacccdcecfd0d1d2d3d4d5d7d8dadbdcdde1e2e4e7e8e9eaebeceef0f1f2f3#f4f5f6f7f8fbfcfe,7b:0001020507090c0d0e1012131617181a1c1d1f21222327292d,6d:6eaa,798f88b15f17752b629a8f854fef91dc65a781:2f51,5e9c81508d74526f89868d4b590d50854ed8961c723681798d1f5bcc8ba3964459877f1a549056:760e,8be565396982949976d66e895e72751867:46d1,7aff809d8d76611f79c665628d635188521a94a27f38809b7eb25c976e2f67607bd9768b9ad8818f7f947cd5641e95507a3f54:4ae5,6b4c640162089e3d80f3759952729769845b683c86e496:0194,94ec4e2a54047ed968398ddf801566f45e9a7fb97b:2f303234353637393b3d3f404142434446484a4d4e535557595c5e5f61636465666768696a6b6c6d6f70737476787a7c7d7f81828384868788898a8b8c8e8f#9192939698999a9b9e9fa0a3a4a5aeafb0b2b3b5b6b7b9babbbcbdbebfc0c2c3c4,57c2803f68975de5653b529f606d9f9a4f9b8eac516c5bab5f135de96c5e62f18d21517194a952fe6c9f82df72d757a267848d2d591f8f9c83c754957b8d4f306cbd5b6459d19f1353e486ca9aa88c3780a16545987e56fa96c7522e74dc52505be1630289024e5662d0602a68fa51735b9851a089c27ba199867f5060ef704c8d2f51495e7f901b747089c4572d78455f529f9f95fa8f689b3c8be17678684267dc8d:ea35,523d8f8a6eda68cd950590ed56fd679c88f98fc754c87b:c5c8c9cacbcdcecfd0d2d4d5d6d7d8dbdcdedfe0e2e3e4e7e8e9ebecedeff0f2f3f4f5f6f8f9fafbfdff,7c:0001020304050608090a0d0e101112131415171819#1a1b1c1d1e20212223242528292b2c2d2e2f3031323334353637393a3b3c3d3e42,9ab85b696d776c264ea55bb39a87916361a890af97e9542b6db55bd251fd558a7f:55f0,64bc634d65f161be608d710a6c:5749,592f676d822a58d5568e8c6a6beb90dd597d801753f76d695475559d83:77cf,683879be548c4f55540876d28c8996026cb36db88d6b89109e648d3a563f9ed175d55f8872e0606854fc4ea86a2a886160528f7054c470d886799e3f6d2a5b8f5f187ea255894faf7334543c539a501954:0e7c,4e4e5ffd745a58f6846b80e1877472d07cca6e567c:434445464748494a4b4c4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f70717275767778797a7e7f8081828384858687#888a8b8c8d8e8f90939496999a9ba0a1a3a6a7a8a9abacadafb0b4b5b6b7b8babb,5f27864e552c62a44e926caa623782b154d7534e733e6ed1753b521253168bdd69d05f8a60006dee574f6b2273af68538fd87f13636260a3552475ea8c6271156da35ba65e7b8352614c9ec478fa87577c27768751f060f6714c66435e4c604d8c0e707063258f895fbd606286d456de6bc160946167534960e066668d3f79fd4f1a70e96c478b:b3f2,7ed88364660f5a5a9b426d:51f7,8c416d3b4f19706b83b7621660d1970d8d27797851fb57:3efa,673a75787a3d79ef7b957c:bfc0c2c3c4c6c9cbcecfd0d1d2d3d4d8dadbdddee1e2e3e4e5e6e7e9eaebecedeef0f1f2f3f4f5f6f7f9fafcfdfeff,7d:000102030405060708090b0c0d0e0f10#1112131415161718191a1b1c1d1e1f212324252628292a2c2d2e30313233343536,808c99658ff96fc08ba59e2159ec7ee97f095409678168d88f917c4d96c653ca602575be6c7253735ac97ea7632451e0810a5df184df628051805b634f0e796d524260b86d4e5b:c4c2,8b:a1b0,65e25fcc964559937e:e7aa,560967b759394f735bb652a0835a988a8d3e753294be50477a3c4ef767b69a7e5ac16b7c76d1575a5c167b3a95f4714e517c80a9827059787f04832768c067ec78:b177,62e363617b804fed526a51cf835069db92748d:f531,89c1952e7bad4ef67d:3738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6f70717273747576#78797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798,506582305251996f6e:1085,6da75efa50f559dc5c066d466c5f7586848b686859568bb253209171964d854969127901712680f64ea490ca6d479a845a0756bc640594f077eb4fa5811a72e189d2997a7f347ede527f655991758f:7f83,53eb7a9663:eda5,768679f888579636622a52ab8282685467706377776b7aed6d017ed389e359d0621285c982a5754c501f4ecb75a58beb5c4a5dfe7b4b65a491d14eca6d25895f7d2795264ec58c288fdb9773664b79818fd170ec6d787d:999a9b9c9d9e9fa0a1a2a3a4a5a7a8a9aaabacadafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9#dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fa,5c3d52b283465162830e775b66769cb84eac60ca7c:beb3,7ecf4e958b66666f988897595883656c955c5f8475c997567a:dfde,51c070af7a9863ea7a767ea0739697ed4e4570784e5d915253a965:51e7,81fc8205548e5c31759a97a062d872d975bd5c459a7983ca5c40548077e94e3e6cae805a62d2636e5de851778ddd8e1e952f4ff153e560e770ac526763509e435a1f5026773753777ee26485652b628963985014723589c951b38bc07edd574783cc94a7519b541b5cfb7d:fbfcfdfeff,7e:000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f30313233343536373839#3a3c3d3e3f40424344454648494a4b4c4d4e4f505152535455565758595a5b5c5d,4fca7ae36d5a90e19a8f55805496536154af5f0063e9697751ef6168520a582a52d8574e780d770b5eb761777ce062:5b97,4ea27095800362f770e49760577782db67ef68f578d5989779d158f354b353ef6e34514b523b5ba28bfe80af554357a660735751542d7a7a60505b5463a762a053e362635bc767af54ed7a9f82e691775e9388e4593857ae630e8de880ef57577b774fa95feb5bbd6b3e53217b5072c2684677:ff36,65f751b54e8f76d45cbf7aa58475594e9b4150807e:5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f8081838485868788898a8b8c8d8e8f909192939495969798999a9c9d9e#aeb4bbbcd6e4ecf9,7f:0a101e37393b3c3d3e3f404143464748494a4b4c4d4e4f5253,998861276e8357646606634656f062:ec69,5ed39614578362c955878721814a8fa3556683b167658d5684dd5a6a680f62e67bee961151706f9c8c3063fd89c861d27f0670c26ee57405699472fc5eca90ce67176d6a635e52b3726280014f6c59e5916a70d96d9d52d24e5096f7956d857e78ca7d2f5121579264c2808b7c7b6cea68f1695e51b7539868a872819ece7bf172f879bb6f137406674e91cc9ca4793c83:8954,540f68174e3d538952b1783e5386522950884f:8bd0,7f:56595b5c5d5e6063646566676b6c6d6f7073757677787a7b7c7d7f8082838485868788898b8d8f9091929395969798999b9ca0a2a3a5a6a8a9aaabacadaeb1#b3b4b5b6b7babbbec0c2c3c4c6c7c8c9cbcdcfd0d1d2d3d6d7d9dadbdcdddee2e3,75e27acb7c926ca596b6529b748354e94fe9805483b28fde95705ec9601c6d9f5e18655b813894fe604b70bc7ec37cae51c968817cb1826f4e248f8691cf667e4eae8c0564a9804a50da759771ce5be58fbd6f664e86648295635ed66599521788c270c852a3730e7433679778f797164e3490bb9cde6dcb51db8d41541d62ce73b283f196f69f8494c34f367f9a51cc707596755cad988653e64ee46e9c740969b4786b998f7559521876246d4167f3516d9f99804b54997b3c7abf7f:e4e7e8eaebecedeff2f4f5f6f7f8f9fafdfeff,80:020708090a0e0f11131a1b1d1e1f2123242b2c2d2e2f303234393a3c3e404144454748494e4f505153555657#595b5c5d5e5f6061626364656667686b6c6d6e6f7072737475767778797a7b7c7d,9686578462e29647697c5a0464027bd36f0f964b82a6536298855e90708963b35364864f9c819e93788c97328d:ef42,9e7f6f5e79845f559646622e9a74541594dd4fa365c55c:6561,7f1586516c2f5f8b73876ee47eff5ce6631b5b6a6ee653754e7163a0756562a18f6e4f264ed16ca67eb68bba841d87ba7f57903b95237ba99aa188f8843d6d1b9a867edc59889ebb739b780186829a:6c82,561b541757cb4e709ea653568fc881097792999286ee6ee1851366fc61626f2b80:7e818285888a8d8e8f909192949597999ea3a6a7a8acb0b3b5b6b8b9bbc5c7c8c9cacbcfd0d1d2d3d4d5d8dfe0e2e3e6eef5f7f9fbfeff,81:000103040507080b#0c1517191b1c1d1f202122232425262728292a2b2d2e3033343537393a3b3c3d3f,8c298292832b76f26c135fd983bd732b8305951a6bdb77db94c6536f830251925e3d8c8c8d384e4873ab679a68859176970971646ca177095a9295416bcf7f8e66275bd059b95a9a95:e8f7,4eec84:0c99,6aac76df9530731b68a65b5f772f919a97617cdc8ff78c1c5f257c7379d889c56ccc871c5bc65e4268c977207ef551:954d,52c95a297f05976282d763cf778485d079d26e3a5e9959998511706d6c1162bf76bf654f60af95fd660e879f9e2394ed54:0d7d,8c2c647881:40414243444547494d4e4f525657585b5c5d5e5f6162636466686a6b6c6f727375767778818384858687898b8c8d8e90929394959697999a9e9fa0a1a2a4a5#a7a9abacadaeafb0b1b2b4b5b6b7b8b9bcbdbebfc4c5c7c8c9cbcdcecfd0d1d2d3,647986116a21819c78e864699b5462b9672b83ab58a89ed86cab6f205bde964c8c0b725f67d062c772614ea959c66bcd589366ae5e5552df6155672876ee776672677a4662ff54:ea50,94a090a35a1c7eb36c164e435976801059485357753796be56ca63208111607c95f96dd65462998151855ae980fd59ae9713502a6ce55c3c62df4f60533f817b90066eba852b62c85e7478be64b5637b5ff55a18917f9e1f5c3f634f80425b7d556e95:4a4d,6d8560a867e072de51dd5b8181:d4d5d6d7d8d9dadbdcdddedfe0e1e2e4e5e6e8e9ebeeeff0f1f2f5f6f7f8f9fafdff,82:030708090a0b0e0f111315161718191a1d2024252627292e323a3c3d3f#404142434546484a4c4d4e5051525354555657595b5c5d5e606162636465666769,62e76cde725b626d94ae7ebd81136d53519c5f04597452aa6012597366968650759f632a61e67cef8bfa54e66b279e256bb485d5545550766ca4556a8db4722c5e156015743662cd6392724c5f986e436d3e65006f5876d878d076fc7554522453db4e535e9e65c180:2ad6,629b5486522870ae888d8dd16ce1547880da57f988f48d54966a914d4f696c9b55b776c6783062a870f96f8e5f6d84ec68da787c7bf781a8670b9e4f636778b0576f7812973962:79ab,528874356bd782:6a6b6c6d71757677787b7c808183858687898c90939495969a9b9ea0a2a3a7b2b5b6babbbcbfc0c2c3c5c6c9d0d6d9dadde2e7e8e9eaecedeef0f2f3f5f6f8#fafcfdfeff,83:000a0b0d1012131618191d1e1f20212223242526292a2e3032373b3d,5564813e75b276ae533975de50fb5c418b6c7bc7504f72479a9798d86f0274e27968648777a562fc98918d2b54c180584e52576a82f9840d5e7351ed74f68bc45c4f57616cfc98875a4678349b448feb7c955256625194fa4ec68386846183e984b257d467345703666e6d668c3166dd7011671f6b3a6816621a59bb4e0351c46f0667d26c8f517668cb59476b6775665d0e81109f5065d779:4841,9a918d775c824e5e4f01542f5951780c56686c148fc45f036c:7de3,8bab639083:3e3f41424445484a4b4c4d4e5355565758595d6270717273747576797a7e7f808182838487888a8b8c8d8f909194959697999a9d9fa1a2a3a4a5a6a7acadae#afb5bbbebfc2c3c4c6c8c9cbcdced0d1d2d3d5d7d9dadbdee2e3e4e6e7e8ebeced,60706d3d7275626694:8ec5,53438fc17b7e4edf8c264e7e9ed494:b1b3,524d6f5c90636d458c3458115d4c6b:2049,67aa545b81547f8c589985375f3a62a26a47953965726084686577a74e544fa85de7979864ac7fd85ced4fcf7a8d520783044e14602f7a8394a64fb54eb279e6743452e482b964d279bd5bdd6c8197528f7b6c22503e537f6e0564ce66746c3060c598778bf75e86743c7a7779cb4e1890b174036c4256da914b6cc58d8b533a86c666f28eaf5c489a716e2083:eeeff3f4f5f6f7fafbfcfeff,84:0002050708090a10121314151617191a1b1e1f20212223292a2b2c2d2e2f30323334353637393a3b3e3f404142434445474849#4a4b4c4d4e4f505253545556585d5e5f606264656667686a6e6f70727477797b7c,53d65a369f8b8da353bb570898a76743919b6cc9516875ca62f372ac52:389d,7f3a7094763853749e4a69b7786e96c088d97fa471:36c3,518967d374e458e4651856b78ba9997662707ed560f970ed58ec4e:c1ba,5fcd97e74efb8ba45203598a7eab62544ecd65e5620e833884c98363878d71946eb65bb97ed2519763c967d480898339881551125b7a59828fb14e736c5d516589258f6f962e854a745e95:10f0,6da682e55f3164926d128428816e9cc3585e8d5b4e0953c184:7d7e7f8081838485868a8d8f90919293949596989a9b9d9e9fa0a2a3a4a5a6a7a8a9aaabacadaeb0b1b3b5b6b7bbbcbec0c2c3c5c6c7c8cbcccecfd2d4d5d7#d8d9dadbdcdee1e2e4e7e8e9eaebedeeeff1f2f3f4f5f6f7f8f9fafbfdfe,85:000102,4f1e6563685155d34e2764149a9a626b5ac2745f82726da968ee50e7838e7802674052396c997eb150bb5565715e7b5b665273ca82eb67495c715220717d886b95ea965564c58d6181b355846c5562477f2e58924f2455468d4f664c4e0a5c1a88f368a2634e7a0d70e7828d52fa97f65c1154e890b57ecd59628d4a86c782:0c0d,8d6664445c0461516d89793e8bbe78377533547b4f388eab6df15a207ec5795e6c885ba15a76751a80be614e6e1758f075:1f25,727253477ef385:030405060708090a0b0d0e0f101214151618191b1c1d1e2022232425262728292a2d2e2f303132333435363e3f404142444546474b4c4d4e4f505152535455#57585a5b5c5d5f60616263656667696a6b6c6d6e6f707173757677787c7d7f8081,770176db526980dc57235e08593172ee65bd6e7f8bd75c388671534177f362fe65f64ec098df86805b9e8bc653f277e24f7f5c4e9a7659cb5f0f793a58eb4e1667ff4e8b62ed8a93901d52bf662f55dc566c90024ed54f8d91ca99706c0f5e0260435ba489c68bd56536624b99965b:88ff,6388552e53d77626517d852c67a268b36b8a62928f9353d482126dd1758f4e668d4e5b70719f85af66:91d9,7f7287009ecd9f205c5e672f8ff06811675f620d7ad658855eb665706f3185:82838688898a8b8c8d8e909192939495969798999a9d9e9fa0a1a2a3a5a6a7a9abacadb1b2b3b4b5b6b8babbbcbdbebfc0c2c3c4c5c6c7c8cacbcccdced1d2#d4d6d7d8d9dadbdddedfe0e1e2e3e5e6e7e8eaebecedeeeff0f1f2f3f4f5f6f7f8,60555237800d6454887075295e05681362f4971c53cc723d8c016c3477617a0e542e77ac987a821c8bf47855671470c165af64955636601d79c153f84e1d6b7b80865bfa55e356db4f:3a3c,99725df3677e80386002988290015b8b8b:bcf5,641c825864de55fd82cf91654fd77d20901f7c9f50f358516eaf5bbf8bc980839178849c7b97867d96:8b8f,7ee59ad3788e5c817a57904296a7795f5b59635f7b0b84d168ad55067f2974107d2295016240584c4ed65b835979585485:f9fafcfdfe,86:0001020304060708090a0b0c0d0e0f10121314151718191a1b1c1d1e1f20212223242526282a2b2c2d2e2f3031323334353637393a3b3d3e3f40#4142434445464748494a4b4c525355565758595b5c5d5f6061636465666768696a,736d631e8e:4b0f,80ce82d462ac53f06cf0915e592a60016c70574d644a8d2a762b6ee9575b6a8075f06f6d8c:2d08,57666bef889278b363a253f970ad6c645858642a580268e0819b55107cd650188eba6dcc8d9f70eb638f6d9b6ed47ee68404684390036dd896768ba85957727985e4817e75bc8a8a68af52548e22951163d098988e44557c4f5366ff568f60d56d9552435c4959296dfb586b75:301c,606c82148146631167618fe2773a8d:f334,94c15e165385542c70c386:6d6f7072737475767778838485868788898e8f90919294969798999a9b9e9fa0a1a2a5a6abadaeb2b3b7b8b9bbbcbdbebfc1c2c3c5c8cccdd2d3d5d6d7dadc#dde0e1e2e3e5e6e7e8eaebeceff5f6f7fafbfcfdff,87:010405060b0c0e0f10111416,6c405ef7505c4ead5ead633a8247901a6850916e77b3540c94dc5f647ae5687663457b527edf75db507762955934900f51f879c37a8156fe5f9290146d825c60571f541051546e4d56e263a89893817f8715892a9000541e5c6f81c062:d658,81319e3596409a:6e7c,692d59a562d3553e631654c786d96d3c5a0374e6889c6b6a59168c4c5f2f6e7e73a9987d4e3870f75b8c7897633d665a769660cb5b9b5a494e0781556c6a738b4ea167897f515f8065fa671b5fd859845a0187:191b1d1f20242627282a2b2c2d2f303233353638393a3c3d404142434445464a4b4d4f505152545556585a5b5c5d5e5f6162666768696a6b6c6d6f71727375#7778797a7f8081848687898a8c8e8f90919294959698999a9b9c9d9ea0a1a2a3a4,5dcd5fae537197e68fdd684556f4552f60df4e3a6f4d7ef482c7840e59d44f:1f2a,5c3e7eac672a851a5473754f80c355829b4f4f4d6e2d8c135c096170536b761f6e29868a658795fb7eb9543b7a337d0a95ee55e17fc174ee631d87176da17a9d621165a1536763e16c835deb545c94a84e4c6c618bec5c4b65e0829c68a754:3e34,6b:cb66,4e9463425348821e4f:0dae,575e620a96fe6664726952:ffa1,609f8bef661471996790897f785277fd6670563b54389521727a87:a5a6a7a9aaaeb0b1b2b4b6b7b8b9bbbcbebfc1c2c3c4c5c7c8c9cccdcecfd0d4d5d6d7d8d9dadcdddedfe1e2e3e4e6e7e8e9ebecedeff0f1f2f3f4f5f6f7f8#fafbfcfdff,88:0001020405060708090b0c0d0e0f101112141718191a1c1d1e1f2023,7a00606f5e0c6089819d591560dc718470ef6eaa6c5072806a8488ad5e2d4e605ab3559c94e36d177cfb9699620f7ec6778e867e5323971e8f9666875ce14fa072ed4e0b53a6590f54136380952851484ed99c9c7ea454b88d248854823795f26d8e5f265acc663e966973:b02e,53bf817a99857fa15baa96:7750,7ebf76f853a2957699997bb189446e584e617fd479658be660f354cd4eab98795df76a6150cf54118c618427785d9704524a54ee56a395006d885bb56dc6665388:2425262728292a2b2c2d2e2f30313334353637383a3b3d3e3f414243464748494a4b4e4f505152535556585a5b5c5d5e5f6066676a6d6f717374757678797a#7b7c80838687898a8c8e8f90919394959798999a9b9d9e9fa0a1a3a5a6a7a8a9aa,5c0f5b5d6821809655787b11654869544e9b6b47874e978b534f631f643a90aa659c80c18c10519968b0537887f961c86c:c4fb,8c225c5185aa82af950c6b238f9b65b05f:fbc3,4fe18845661f8165732960fa51745211578b5f6290a2884c91925e78674f602759d351:44f6,80f853086c7996c4718a4f:11ee,7f9e673d55c5950879c088967ee3589f620c9700865a5618987b5f908bb884c4915753d965ed5e8f755c60647d6e5a7f7e:eaed,8f6955a75ba360ac65cb738488:acaeafb0b2b3b4b5b6b8b9babbbdbebfc0c3c4c7c8cacbcccdcfd0d1d3d6d7dadbdcdddee0e1e6e7e9eaebecedeeeff2f5f6f7fafbfdff,89:0001030405060708#090b0c0d0e0f1114151617181c1d1e1f20222324262728292c2d2e2f3132333537,9009766377297eda9774859b5b667a7496ea884052cb718f5faa65ec8be25bfb9a6f5de16b896c5b8b:adaf,900a8fc5538b62bc9e:262d,54404e2b82bd7259869c5d1688596daf96c554d14e9a8bb6710954bd960970df6df976d04e25781487125ca95ef68a00989c960e708e6cbf594463a9773c884d6f148273583071d5538c781a96c155015f6671305bb48c1a9a8c6b83592e9e2f79e76768626c4f6f75a17f8a6d0b96336c274ef075d2517b68376f3e908081705996747689:38393a3b3c3d3e3f40424345464748494a4b4c4d4e4f505152535455565758595a5b5c5d6061626364656768696a6b6c6d6e6f707172737475767778797a7c#7d7e808284858788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1,64475c2790657a918c2359da54ac8200836f898180006930564e8036723791ce51b64e5f987563964e1a53f666f3814b591c6db24e0058f9533b63d694f14f:9d0a,886398905937905779fb4eea80f075916c825b9c59e85f5d69058681501a5df24e5977e34ee5827a6291661390915c794ebf5f7981c69038808475ab4ea688d4610f6bc55fc64e4976ca6ea28b:e3ae,8c0a8bd15f027f:fccc,7ece83:356b,56e06bb797f3963459fb541f94f66deb5bc5996e5c395f15969089:a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c3cdd3d4d5d7d8d9dbdddfe0e1e2e4e7e8e9eaecedeef0f1f2f4f5f6f7f8f9fa#fbfcfdfeff,8a:01020304050608090a0b0c0d0e0f101112131415161718191a1b1c1d,537082f16a315a749e705e947f2883b984:2425,836787478fce8d6276c85f719896786c662054df62e54f6381c375c85eb896cd8e0a86f9548f6cf36d8c6c38607f52c775285e7d4f1860a05fe75c24753190ae94c072b96cb96e389149670953:cbf3,4f5191c98bf153c85e7c8fc26de44e8e76c26986865e611a82064f:59de,903e9c7c61096e:1d14,96854e885a3196e84e0e5c7f79b95b878bed7fbd738957df828b90c15401904755bb5cea5fa161086b3272f180b28a:891e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3f4041424344454647494a4b4c4d4e4f505152535455565758595a5b5c5d5e#5f606162636465666768696a6b6c6d6e6f7071727374757677787a7b7c7d7e7f80,6d745bd388d598848c6b9a6d9e336e0a51:a443,57a38881539f63f48f9556ed54585706733f6e907f188fdc82d1613f6028966266f07ea68d:8ac3,94a55cb37ca4670860a6960580184e9190e75300966851418fd08574915d665597f55b55531d78386742683d54c9707e5bb08f7d518d572854b1651266828d:5e43,810f846c906d7cdf51ff85fb67a365e96fa186a48e81566a90207682707671e58d2362e952196cfd8d3c600e589e618e66fe8d60624e55b36e23672d8f678a:81828384858687888b8c8d8e8f9091929495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2#c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3,94e195f87728680569a8548b4e4d70b88bc86458658b5b857a84503a5be877bb6be18a797c986cbe76cf65a98f975d2d5c5586386808536062187ad96e5b7efd6a1f7ae05f706f335f20638c6da867564e085e108d264ed780c07634969c62db662d627e6cbc8d7571677f695146808753ec906e629854f286f08f998005951785178fd96d5973cd659f771f7504782781fb8d1e94884fa6679575b98bca9707632f9547963584b8632377415f8172f04e896014657462ef6b63653f8a:e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,8b:0001020304050608090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20212223#24252728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445,5e2775c790d18bc1829d679d652f5431871877e580a281026c414e4b7ec7804c76f4690d6b966267503c4f84574063076b628dbe53ea65e87eb85fd763:1ab7,81:f3f4,7f6e5e1c5cd95236667a79e97a1a8d28709975d46ede6cbb7a924e2d76c55fe0949f88777ec879cd80bf91cd4ef24f17821f54685dde6d328bcc7ca58f7480985e1a549276b15b99663c9aa473e0682a86db6731732a8b:f8db,90107af970db716e62c477a956314e3b845767f152a986c08d2e94f87b518b:464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f6061626364656768696a6b6d6e6f707172737475767778797a7b7c7d7e7f80818283848586#8788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9facb1bbc7d0ea,8c:091e,4f4f6ce8795d9a7b6293722a62fd4e1378168f6c64b08d5a7bc668695e8488c55986649e58ee72b6690e95258ffd8d5857607f008c0651c6634962d95353684c74228301914c55447740707c6d4a517954a88d4459ff6ecb6dc45b5c7d2b4ed47c7d6ed35b5081ea6e0d5b579b0368d58e2a5b977efc603b7eb590b98d70594f63cd79df8db3535265cf79568bc5963b7ec494bb7e825634918967007f6a5c0a907566285de64f5067de505a4f5c57505e:a7#3$,8c:38393a3b3c3d3e3f4042434445484a4b4d4e4f5051525354565758595b5c5d5e5f60636465666768696c6d6e6f707172747576777b7c7d7e7f808183848687#888b8d8e8f90919293959697999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacad,4e:8d0c,51404e105eff53454e:15981e,9b325b6c56694e2879ba4e3f53154e47592d723b536e6c1056df80e499976bd3777e9f174e:369f,9f104e:5c6993,82885b5b556c560f4ec453:8d9da3a5ae,97658d5d53:1af5262e3e,8d5c53:6663,52:02080e2d333f404c5e615c,84af52:7d82819093,51827f544e:bbc3c9c2e8e1ebde,4f1b4ef34f:2264,4ef54f:2527092b5e67,65384f:5a5d,8c:aeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebec#edeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,8d:000102030405060708090a0b0c0d,4f:5f57323d76749189838f7e7baa7cac94e6e8eac5dae3dcd1dff8,50:294c,4ff350:2c0f2e2d,4ffe50:1c0c25287e4355484e6c7ba5a7a9bad6,510650:edece6ee,51:070b,4edd6c3d4f:5865ce,9fa06c467c74516e5dfd9ec999985181591452f9530d8a07531051eb591951554ea051564eb388:6ea4,4eb5811488d279805b3488037fb851:abb1bdbc,8d:0e0f101112131415161718191a1b1c205152575f6568696a6c6e6f717278797a7b7c7d7e7f808283868788898c8d8e8f90929395969798999a9b9c9d9ea0a1#a2a4a5a6a7a8a9aaabacadaeafb0b2b6b7b9bbbdc0c1c2c5c7c8c9cacdd0d2d3d4,51:c796a2a5,8b:a0a6a7aab4b5b7c2c3cbcfced2d3d4d6d8d9dcdfe0e4e8e9eef0f3f6f9fcff,8c:000204070c0f1112141516191b181d1f202125272a2b2e2f32333536,53:697a,96:1d2221312a3d3c4249545f676c7274888d97b0,90:979b9d99aca1b4b3b6ba,8d:d5d8d9dce0e1e2e5e6e7e9edeef0f1f2f4f6fcfeff,8e:00010203040607080b0d0e1011121315161718191a1b1c202124252627282b2d303233343637383b3c3e#3f4345464c4d4e4f505354555657585a5b5c5d5e5f60616263646567686a6b6e71,90:b8b0cfc5bed0c4c7d3e6e2dcd7dbebeffe,91:04221e23312f394346,520d594252:a2acadbe,54ff52:d0d6f0,53df71ee77cd5ef451:f5fc,9b2f53b65f01755a5def57:4ca9a1,58:7ebcc5d1,57:292c2a33392e2f5c3b4269856b867c7b686d7673ada48cb2cfa7b493a0d5d8dad9d2b8f4eff8e4dd,8e:73757778797a7b7d7e808283848688898a8b8c8d8e91929395969798999a9b9d9fa0a1a2a3a4a5a6a7a8a9aaadaeb0b1b3b4b5b6b7b8b9bbbcbdbebfc0c1c2#c3c4c5c6c7c8c9cacbcccdcfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4,58:0b0d,57:fded,58:001e194420656c81899a80,99a89f1961ff82:797d7f8f8aa8848e919799abb8beb0c8cae398b7aecbccc1a9b4a1aa9fc4cea4e1,830982:f7e4,83:0f07,82:dcf4d2d8,830c82:fbd3,83:111a061415,82:e0d5,83:1c515b5c08923c34319b5e2f4f47435f4017602d3a336665,8e:e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,8f:000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20212223#2425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f4041424344,83:681b696c6a6d6eb078b3b4a0aa939c857cb6a97db87b989ea8babcc1,840183:e5d8,580784:180b,83:ddfdd6,84:1c381106,83:d4df,84:0f03,83:f8f9eac5c0,842683:f0e1,84:5c515a597387887a89783c4669768c8e316dc1cdd0e6bdd3cabfbae0a1b9b497e5e3,850c750d853884f085:391f3a,8f:45464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f6061626364656a808c929da0a1a2a4a5a6a7aaacadaeafb2b3b4b5b7b8babbbcbfc0c3c6#c9cacbcccdcfd2d6d7dae0e1e3e7eceff1f2f4f5f6fafbfcfeff,90:07080c0e131518,85:563b,84:fffc,85:594868645e7a,77a285:43727ba4a8878f79ae9c85b9b7b0d3c1dcff,86:270529163c,5efe5f0859:3c41,803759:555a58,530f5c:22252c34,62:4c6a9fbbcadad7ee,632262f663:394b43adf6717a8eb46dac8a69aebcf2f8e0ffc4dece,645263:c6be,64:45410b1b200c26215e846d96,90:191c2324252728292a2b2c303132333437393a3d3f4043454648494a4b4c4e545556595a5c5d5e5f6061646667696a6b6c6f70717273767778797a7b7c7e81#84858687898a8c8d8e8f90929496989a9c9e9fa0a4a5a7a8a9abadb2b7bcbdbfc0,64:7ab7b899bac0d0d7e4e2,65:09252e,5f:0bd2,75195f1153:5ff1fde9e8fb,54:1216064b5253545643215759233282947771649a9b8476669dd0adc2b4d2a7a6d3d472a3d5bbbfccd9dadca9aaa4ddcfde,551b54e7552054fd551454f355:22230f11272a678fb5496d41553f503c,90:c2c3c6c8c9cbcccdd2d4d5d6d8d9dadedfe0e3e4e5e9eaeceef0f1f2f3f5f6f7f9fafbfcff,91:00010305060708090a0b0c0d0e0f1011121314151617181a1b1c#1d1f20212425262728292a2b2c2d2e30323334353637383a3b3c3d3e3f40414244,55:375675767733305c8bd283b1b988819f7ed6917bdfbdbe9499eaf7c9,561f55:d1ebecd4e6ddc4efe5f2f3cccde8f5e4,8f9456:1e080c012423,55fe56:00272d5839572c4d62595c4c548664716b7b7c8593afd4d7dde1f5ebf9ff,57:040a091c,5e:0f191411313b3c,91:454748515354555658595b5c5f606667686b6d737a7b7c808182838486888a8e8f939495969798999c9d9e9fa0a1a4a5a6a7a8a9abacb0b1b2b3b6b7b8b9bb#bcbdbebfc0c1c2c3c4c5c6c8cbd0d2d3d4d5d6d7d8d9dadbdddedfe0e1e2e3e4e5,5e:3744545b5e61,5c:8c7a8d9096889899919a9cb5a2bdacabb1a3c1b7c4d2e4cbe5,5d:020327262e241e061b583e343d6c5b6f5d6b4b4a697482999d,8c735d:b7c5,5f:73778287898c95999ca8adb5bc,88625f6172:adb0b4b7b8c3c1cecdd2e8efe9f2f4f7,730172f3730372fa91:e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,92:000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f2021222324#25262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445,72fb73:1713210a1e1d152239252c3831504d57606c6f7e,821b592598e759:2402,99:636768696a6b6c74777d8084878a8d9091939495,5e:80918b96a5a0b9b5beb3,8d535e:d2d1dbe8ea,81ba5f:c4c9d6cf,60035fee60045f:e1e4fe,60:0506,5f:eaedf8,60:1935261b0f0d292b0a3f2178797b7a42,92:464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f7071727375767778797a7b7c7d7e7f808182838485#868788898a8b8c8d8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7,60:6a7d969aad9d83928c9becbbb1ddd8c6dab4,61:20261523,60f461:000e2b4a75ac94a7b7d4f5,5fdd96b395:e9ebf1f3f5f6fcfe,96:030406080a0b0c0d0f12151617191a,4e2c723f62156c:35545c4aa38590948c6869747686a9d0d4adf7f8f1d7b2e0d6faebeeb1d3effe,92:a8a9aaabacadafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8#e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,93:00010203040506070809,6d:39270c43480704190e2b4d2e351a4f525433916f9ea05e93945c607c63,6e1a6d:c7c5de,6e0e6d:bfe0,6e116d:e6ddd9,6e166dab6e0c6dae6e:2b6e4e6bb25f865354322544dfb198e0,6f2d6e:e2a5a7bdbbb7d7b4cf8fc29f,6f:6246472415,6ef96f:2f364b742a0929898d8c78727c7ad1,93:0a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3f40414243444546474849#4a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696b,6f:c9a7b9b6c2e1eedee0ef,70:1a231b39354f5e,5b:80849593a5b8,752f9a9e64345b:e4ee,89305bf08e478b078f:b6d3d5e5eee4e9e6f3e8,90:05040b26110d162135362d2f445152506858625b,66b990:747d8288838b,5f:50575658,5c3b54ab5c:5059,5b715c:6366,7fbc5f:2a292d,82745f3c9b3b5c6e59:81838da9aaa3,93:6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaab#acadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cbcccd,59:97caab9ea4d2b2afd7be,5a:0506,59dd5a0859:e3d8f9,5a:0c09323411231340674a553c6275,80ec5a:aa9b777abeebb2d2d4b8e0e3f1d6e6d8dc,5b:091716323740,5c:151c,5b:5a6573515362,9a:7577787a7f7d808185888a90929396989b9c9d9fa0a2a3a5a7,7e:9fa1a3a5a8a9,93:cecfd0d1d2d3d4d5d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,94:000102030405060708090a0b0c0d#0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e,7e:adb0bec0c1c2c9cbccd0d4d7dbe0e1e8ebeeeff1f2,7f0d7e:f6fafbfe,7f:01020307080b0c0f111217191c1b1f212223242526272a2b2c2d2f3031323335,5e7a757f5ddb753e909573:8e91aea29fcfc2d1b7b3c0c9c8e5d9,987c740a73:e9e7debaf2,74:0f2a5b262528302e2c,94:2f303132333435363738393a3b3c3d3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6c6d6e6f#707172737475767778797a7b7c7d7e7f8081828384919698c7cfd3d4dae6fb,95:1c20,74:1b1a415c575559776d7e9c8e8081878b9ea8a990a7d2ba,97:eaebec,67:4c535e4869a5876a7398a775a89ead8b777cf0,680967d8680a67:e9b0,680c67:d9b5dab3dd,680067:c3b8e2,680e67:c1fd,68:323360614e624464831d55664167403e4a4929b58f7477936bc2,696e68fc69:1f20,68f995:27333d43484b555a606e74757778797a7b7c7d7e808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aa#abacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacb,692468f069:0b0157,68e369:10713960425d846b80987834cc8788ce896663799ba7bbabadd4b1c1cadf95e08dff,6a2f69ed6a:171865,69f26a:443ea0505b358e793d28587c9190a997ab,73:3752,6b:8182878492938d9a9ba1aa,8f:6b6d71727375767877797a7c7e818284878b,95:cccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7ecff,96:0713181b1e20232425262728292b2c2d2f303738393a3e41434a4e4f5152535657#58595a5c5d5e606365666b6d6e6f70717378797a7b7c7d7e7f808182838487898a,8f:8d8e8f989a,8ece62:0b171b1f222125242c,81e774:eff4ff,75:0f1113,65:34eeeff0,66:0a19,677266:031500,708566:f71d34313635,800666:5f54414f56615777848ca79dbedbdce6e9,8d:3233363b3d4045464849474d5559,89:c7cacbcccecfd0d1,72:6e9f5d666f7e7f848b8d8f92,63:0832b0,96:8c8e91929395969a9b9d9e9fa0a1a2a3a4a5a6a8a9aaabacadaeafb1b2b4b5b7b8babbbfc2c3c8cacbd0d1d3d4d6d7d8d9dadbdcdddedfe1e2e3e4e5e6e7eb#ecedeef0f1f2f4f5f8fafbfcfdff,97:0203050a0b0c10111214151718191a1b1d1f20,64:3fd8,80046b:eaf3fdf5f9,6c:0507060d1518191a2129242a32,65:35556b,72:4d525630,8662521680:9f9c93bc,670a80:bdb1abadb4b7e7e8e9eadbc2c4d9cdd7,671080:ddebf1f4ed,81:0d0e,80:f2fc,671581128c5a81:361e2c1832484c5374595a7160697c7d6d67,584d5ab581:888291,6ed581:a3aacc,672681:cabb,97:2122232425262728292b2c2e2f3133343536373a3b3c3d3f404142434445464748494a4b4c4d4e4f5051545557585a5c5d5f63646667686a6b6c6d6e6f7071#72757778797a7b7d7e7f8081828384868788898a8c8e8f9093959697999a9b9c9d,81:c1a6,6b:243739434659,98:d1d2d3d5d9da,6bb35f406bc289f365909f5165:93bcc6c4c3ccced2d6,70:809c969dbbc0b7abb1e8ca,71:1013162f31735c6845724a787a98b3b5a8a0e0d4e7f9,72:1d28,706c71:1866b9,62:3e3d434849,79:3b4046495b5c535a6257606f677a858a9aa7b3,5f:d1d0,97:9e9fa1a2a4a5a6a7a8a9aaacaeb0b1b3b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3#e4e5e8eeeff0f1f2f4f7f8f9fafbfcfdfeff,98:000102030405060708090a0b0c0d0e,60:3c5d5a67415963ab,61:060d5da99dcbd1,620680:807f,6c:93f6,6dfc77:f6f8,78:0009171811,65ab78:2d1c1d393a3b1f3c252c23294e6d56572650474c6a9b939a879ca1a3b2b9a5d4d9c9ecf2,790578f479:13241e34,9f9b9e:f9fbfc,76f177:040d,76f977:07081a22192d263538505147435a68,98:0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d#4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e,77:62657f8d7d808c919fa0b0b5bd,75:3a404e4b485b727983,7f:58615f,8a487f:68747179817e,76:cde5,883294:8586878b8a8c8d8f909497959a9b9ca3a4abaaadacafb0b2b4b6b7b8b9babcbdbfc4c8c9cacbcccdced0d1d2d5d6d7d9d8dbdedfe0e2e4e5e7e8ea,98:6f70717273748b8e929599a3a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcfd0d4d6d7dbdcdde0e1e2e3e4#e5e6e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,99:0001020304050607,94:e9ebeeeff3f4f5f7f9fcfdff,95:03020607090a0d0e0f1213141516181b1d1e1f222a2b292c3132343637383c3e3f4235444546494c4e4f525354565758595b5e5f5d61626465666768696a6b6c6f7172733a,77:e7ec,96c979:d5ede3eb,7a065d477a:03021e14,99:08090a0b0c0e0f1112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2f303132333435363738393a3b3c3d3e3f40414243444546474849#4a4b4c4d4e4f50515253565758595a5b5c5d5e5f60616264667378797b7e828389,7a:393751,9ecf99a57a7076:888e9399a4,74:dee0,752c9e:202228292a2b2c3231363837393a3e414244464748494b4c4e5155575a5b5c5e63666768696a6b6c716d73,75:929496a09daca3b3b4b8c4b1b0c3c2d6cde3e8e6e4ebe7,760375:f1fcff,76:1000050c170a25181519,99:8c8e9a9b9c9d9e9fa0a1a2a3a4a6a7a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8#d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9,76:1b3c2220402d303f35433e334d5e545c566b6f,7fca7a:e6787980868895a6a0aca8adb3,88:6469727d7f82a2c6b7bcc9e2cee3e5f1,891a88:fce8fef0,89:2119131b0a342b3641667b,758b80e576:b2b4,77dc80:1214161c20222526272928310b3543464d526971,898398:788083,99:fafbfcfdfeff,9a:000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738#393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f50515253545556575859,98:898c8d8f949a9b9e9fa1a2a5a6,86:4d546c6e7f7a7c7ba88d8bac9da7a3aa93a9b6c4b5ceb0bab1afc9cfb4e9f1f2edf3d0,871386:def4dfd8d1,87:0307,86f887:080a0d09233b1e252e1a3e48343129373f82227d7e7b60704c6e8b53637c64596593afa8d2,9a:5a5b5c5d5e5f606162636465666768696a6b7283898d8e949599a6a9aaabacadaeafb2b3b4b5b9bbbdbebfc3c4c6c7c8c9cacdcecfd0d2d4d5d6d7d9dadbdc#dddee0e2e3e4e5e7e8e9eaeceef0f1f2f3f4f5f6f7f8fafcfdfeff,9b:000102040506,87:c68885ad9783abe5acb5b3cbd3bdd1c0cadbeae0ee,88:1613,87fe88:0a1b21393c,7f:36424445,82107a:fafd,7b:080304150a2b0f47382a192e31202524333e1e585a45754c5d606e7b62727190a6a7b8ac9da885aa9ca2abb4d1c1ccdddae5e6ea,7c0c7b:fefc,7c:0f160b,9b:07090a0b0c0d0e1011121415161718191a1b1c1d1e2021222425262728292a2b2c2d2e3031333435363738393a3d3e3f40464a4b4c4e50525355565758595a#5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b,7c:1f2a26384140,81fe82:010204,81ec884482:2122232d2f282b383b33343e44494b4f5a5f68,88:7e8588d8df,895e7f:9d9fa7afb0b2,7c7c65497c:919d9c9ea2b2bcbdc1c7cccdc8c5d7e8,826e66a87f:bfced5e5e1e6e9eef3,7cf87d:77a6ae,7e:479b,9e:b8b4,8d:73849491b1676d,8c:4749,91:4a504e4f64,9b:7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9ba#bbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadb,91:626170696f7d7e7274798c85908d91a2a3aaadaeafb5b4ba,8c559e7e8d:b8eb,8e:055969,8d:b5bfbcbac4d6d7dadececfdbc6ecf7f8e3f9fbe4,8e098dfd8e:141d1f2c2e232f3a4039353d3149414251524a70767c6f74858f94909c9e,8c:78828a859894,659b89:d6dedadc,9b:dcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,9c:000102030405060708090a0b0c0d0e0f101112131415161718191a#1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b,89:e5ebef,8a3e8b26975396:e9f3ef,97:0601080f0e2a2d303e,9f:808385868788898a8c,9efe9f:0b0d,96:b9bcbdced2,77bf96e092:8eaec8,93:3e6aca8f,94:3e6b,9c:7f8285868788,7a239c:8b8e90919294959a9b9e9fa0a1a2a3a5a6a7a8a9abadaeb0b1b2b3b4b5b6b7babbbcbdc4c5c6c7cacb3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a#7b7d7e808384898a8c8f93969798999daaacafb9bebfc0c1c2c8c9d1d2dadbe0e1cccdcecfd0d3d4d5d7d8d9dcdddfe2,97:7c85919294afaba3b2b4,9a:b1b0b7,9e589a:b6babcc1c0c5c2cbccd1,9b:45434749484d51,98e899:0d2e5554,9a:dfe1e6efebfbedf9,9b:080f131f23,9e:bdbe,7e3b9e:8287888b92,93d69e:9d9fdbdcdde0dfe2e9e7e5eaef,9f:222c2f39373d3e44,9c:e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,9d:000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f2021#22232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142#92$434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f8081#82838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2#92$a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1#e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,9e:000102#92$030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e24272e30343b3c404d5052535456595d5f606162656e6f727475767778797a7b7c7d80#8183848586898a8c8d8e8f90919495969798999a9b9c9ea0a1a2a3a4a5a7a8a9aa#92$abacadaeafb0b1b2b3b5b6b7b9babcbfc0c1c2c3c5c6c7c8cacbccd0d2d3d5d6d7d9dadee1e3e4e6e8ebecedeef0f1f2f3f4f5f6f7f8fafdff,9f:000102030405#060708090a0c0f1112141516181a1b1c1d1e1f21232425262728292a2b2d2e3031#92$3233343536383a3c3f4041424345464748494a4b4c4d4e4f52535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778#797a7b7c7d7e81828d8e8f9091929394959697989c9d9ea1a2a3a4a5,f9:2c7995e7f1#92$,fa:0c0d0e0f111314181f20212324272829,e8:15161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f40414243#4445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f6061626364'), + U2Ghash={}, + G2Uhash={}; + !function(data){ + var k=0; + data=data.match(/..../g); + for(var i=0x81;i<=0xfe;i++){ + for(var j=0x40;j<=0xFE;j++){ + U2Ghash[data[k++]]=('%'+i.toString(16)+'%'+j.toString(16)) + .toUpperCase(); + } + } + for(var key in U2Ghash){ + G2Uhash[U2Ghash[key]]=key; + } + }(data); + function isAscii(unicode) { + return ((unicode == 0x20AC) || (unicode <= 0x007F && unicode >= 0x0000)); + } + return{ + encode:function(str){ + return str.replace(/./g,function(a){ + var code=a.charCodeAt(0); + if(isAscii(code)){ + return encodeURIComponent(a); + }else{ + var key=code.toString(16); + if(key.length!=4)key=('000'+key).match(/....$/)[0]; + return U2Ghash[key]||a; + } + }); + }, + decode:function(str){ + return str.replace(/%[0-9A-F]{2}%[0-9A-F]{2}/g,function(a){ + if(a in G2Uhash){ + return String.fromCharCode('0x'+G2Uhash[a]); + }else{ + return a; + } + }).replace(/%[\w]{2}/g,function(a){ + return decodeURIComponent(a); + + }); + } + }; +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/戏曲音乐/api/jsencrypt.js b/tvboxqq/tvboxqq/戏曲音乐/api/jsencrypt.js new file mode 100644 index 0000000..fa3006c --- /dev/null +++ b/tvboxqq/tvboxqq/戏曲音乐/api/jsencrypt.js @@ -0,0 +1,265 @@ +/* + * ATTENTION: The "eval" devtool has been used (maybe by default in mode: "development"). + * This devtool is neither made for production nor for readable output files. + * It uses "eval()" calls to create a separate source file in the browser devtools. + * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) + * or disable the default devtool with "devtool: false". + * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). + */ +(function webpackUniversalModuleDefinition(root, factory) { + if (typeof exports === 'object' && typeof module === 'object') { + // CommonJS + module.exports = exports = factory(); + } else if (typeof define === 'function' && define.amd) { + // AMD + define([], factory); + } else { + // Global (browser) + globalThis.JSEncrypt = factory(); + } +})(this, () => { +return /******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({ + +/***/ "./lib/JSEncrypt.js": +/*!**************************!*\ + !*** ./lib/JSEncrypt.js ***! + \**************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"JSEncrypt\": () => (/* binding */ JSEncrypt)\n/* harmony export */ });\n/* harmony import */ var _lib_jsbn_base64__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./lib/jsbn/base64 */ \"./lib/lib/jsbn/base64.js\");\n/* harmony import */ var _JSEncryptRSAKey__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./JSEncryptRSAKey */ \"./lib/JSEncryptRSAKey.js\");\n/* provided dependency */ var process = __webpack_require__(/*! process/browser */ \"./node_modules/process/browser.js\");\nvar _a;\n\n\nvar version = typeof process !== 'undefined'\n ? (_a = process.env) === null || _a === void 0 ? void 0 : \"3.3.2\"\n : undefined;\n/**\n *\n * @param {Object} [options = {}] - An object to customize JSEncrypt behaviour\n * possible parameters are:\n * - default_key_size {number} default: 1024 the key size in bit\n * - default_public_exponent {string} default: '010001' the hexadecimal representation of the public exponent\n * - log {boolean} default: false whether log warn/error or not\n * @constructor\n */\nvar JSEncrypt = /** @class */ (function () {\n function JSEncrypt(options) {\n if (options === void 0) { options = {}; }\n options = options || {};\n this.default_key_size = options.default_key_size\n ? parseInt(options.default_key_size, 10)\n : 1024;\n this.default_public_exponent = options.default_public_exponent || \"010001\"; // 65537 default openssl public exponent for rsa key type\n this.log = options.log || false;\n // The private and public key.\n this.key = null;\n }\n /**\n * Method to set the rsa key parameter (one method is enough to set both the public\n * and the private key, since the private key contains the public key paramenters)\n * Log a warning if logs are enabled\n * @param {Object|string} key the pem encoded string or an object (with or without header/footer)\n * @public\n */\n JSEncrypt.prototype.setKey = function (key) {\n if (this.log && this.key) {\n console.warn(\"A key was already set, overriding existing.\");\n }\n this.key = new _JSEncryptRSAKey__WEBPACK_IMPORTED_MODULE_1__.JSEncryptRSAKey(key);\n };\n /**\n * Proxy method for setKey, for api compatibility\n * @see setKey\n * @public\n */\n JSEncrypt.prototype.setPrivateKey = function (privkey) {\n // Create the key.\n this.setKey(privkey);\n };\n /**\n * Proxy method for setKey, for api compatibility\n * @see setKey\n * @public\n */\n JSEncrypt.prototype.setPublicKey = function (pubkey) {\n // Sets the public key.\n this.setKey(pubkey);\n };\n /**\n * Proxy method for RSAKey object's decrypt, decrypt the string using the private\n * components of the rsa key object. Note that if the object was not set will be created\n * on the fly (by the getKey method) using the parameters passed in the JSEncrypt constructor\n * @param {string} str base64 encoded crypted string to decrypt\n * @return {string} the decrypted string\n * @public\n */\n JSEncrypt.prototype.decrypt = function (str) {\n // Return the decrypted string.\n try {\n return this.getKey().decrypt((0,_lib_jsbn_base64__WEBPACK_IMPORTED_MODULE_0__.b64tohex)(str));\n }\n catch (ex) {\n return false;\n }\n };\n /**\n * Proxy method for RSAKey object's encrypt, encrypt the string using the public\n * components of the rsa key object. Note that if the object was not set will be created\n * on the fly (by the getKey method) using the parameters passed in the JSEncrypt constructor\n * @param {string} str the string to encrypt\n * @return {string} the encrypted string encoded in base64\n * @public\n */\n JSEncrypt.prototype.encrypt = function (str) {\n // Return the encrypted string.\n try {\n return (0,_lib_jsbn_base64__WEBPACK_IMPORTED_MODULE_0__.hex2b64)(this.getKey().encrypt(str));\n }\n catch (ex) {\n return false;\n }\n };\n /**\n * Proxy method for RSAKey object's sign.\n * @param {string} str the string to sign\n * @param {function} digestMethod hash method\n * @param {string} digestName the name of the hash algorithm\n * @return {string} the signature encoded in base64\n * @public\n */\n JSEncrypt.prototype.sign = function (str, digestMethod, digestName) {\n // return the RSA signature of 'str' in 'hex' format.\n try {\n return (0,_lib_jsbn_base64__WEBPACK_IMPORTED_MODULE_0__.hex2b64)(this.getKey().sign(str, digestMethod, digestName));\n }\n catch (ex) {\n return false;\n }\n };\n /**\n * Proxy method for RSAKey object's verify.\n * @param {string} str the string to verify\n * @param {string} signature the signature encoded in base64 to compare the string to\n * @param {function} digestMethod hash method\n * @return {boolean} whether the data and signature match\n * @public\n */\n JSEncrypt.prototype.verify = function (str, signature, digestMethod) {\n // Return the decrypted 'digest' of the signature.\n try {\n return this.getKey().verify(str, (0,_lib_jsbn_base64__WEBPACK_IMPORTED_MODULE_0__.b64tohex)(signature), digestMethod);\n }\n catch (ex) {\n return false;\n }\n };\n /**\n * Getter for the current JSEncryptRSAKey object. If it doesn't exists a new object\n * will be created and returned\n * @param {callback} [cb] the callback to be called if we want the key to be generated\n * in an async fashion\n * @returns {JSEncryptRSAKey} the JSEncryptRSAKey object\n * @public\n */\n JSEncrypt.prototype.getKey = function (cb) {\n // Only create new if it does not exist.\n if (!this.key) {\n // Get a new private key.\n this.key = new _JSEncryptRSAKey__WEBPACK_IMPORTED_MODULE_1__.JSEncryptRSAKey();\n if (cb && {}.toString.call(cb) === \"[object Function]\") {\n this.key.generateAsync(this.default_key_size, this.default_public_exponent, cb);\n return;\n }\n // Generate the key.\n this.key.generate(this.default_key_size, this.default_public_exponent);\n }\n return this.key;\n };\n /**\n * Returns the pem encoded representation of the private key\n * If the key doesn't exists a new key will be created\n * @returns {string} pem encoded representation of the private key WITH header and footer\n * @public\n */\n JSEncrypt.prototype.getPrivateKey = function () {\n // Return the private representation of this key.\n return this.getKey().getPrivateKey();\n };\n /**\n * Returns the pem encoded representation of the private key\n * If the key doesn't exists a new key will be created\n * @returns {string} pem encoded representation of the private key WITHOUT header and footer\n * @public\n */\n JSEncrypt.prototype.getPrivateKeyB64 = function () {\n // Return the private representation of this key.\n return this.getKey().getPrivateBaseKeyB64();\n };\n /**\n * Returns the pem encoded representation of the public key\n * If the key doesn't exists a new key will be created\n * @returns {string} pem encoded representation of the public key WITH header and footer\n * @public\n */\n JSEncrypt.prototype.getPublicKey = function () {\n // Return the private representation of this key.\n return this.getKey().getPublicKey();\n };\n /**\n * Returns the pem encoded representation of the public key\n * If the key doesn't exists a new key will be created\n * @returns {string} pem encoded representation of the public key WITHOUT header and footer\n * @public\n */\n JSEncrypt.prototype.getPublicKeyB64 = function () {\n // Return the private representation of this key.\n return this.getKey().getPublicBaseKeyB64();\n };\nvar b64map=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";var b64pad=\"=\";var base64DecodeChars=new Array(-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,-1,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,-1,-1,-1,-1,-1);function btoa(str){var out,i,len;var c1,c2,c3;len=str.length;i=0;out=\"\";while(i>2);out+=b64map.charAt((c1&3)<<4);out+=\"==\";break}c2=str.charCodeAt(i++);if(i==len){out+=b64map.charAt(c1>>2);out+=b64map.charAt((c1&3)<<4|(c2&240)>>4);out+=b64map.charAt((c2&15)<<2);out+=\"=\";break}c3=str.charCodeAt(i++);out+=b64map.charAt(c1>>2);out+=b64map.charAt((c1&3)<<4|(c2&240)>>4);out+=b64map.charAt((c2&15)<<2|(c3&192)>>6);out+=b64map.charAt(c3&63)}return out}function atob(str){var c1,c2,c3,c4;var i,len,out;len=str.length;i=0;out=\"\";while(i>4);do{c3=str.charCodeAt(i++)&255;if(c3==61)return out;c3=base64DecodeChars[c3]}while(i>2);do{c4=str.charCodeAt(i++)&255;if(c4==61)return out;c4=base64DecodeChars[c4]}while(i>6)+b64map.charAt(c&63)}if(i+1==h.length){c=parseInt(h.substring(i,i+1),16);ret+=b64map.charAt(c<<2)}else if(i+2==h.length){c=parseInt(h.substring(i,i+2),16);ret+=b64map.charAt(c>>2)+b64map.charAt((c&3)<<4)}while((ret.length&3)>0)ret+=b64pad;return ret}function hexToBytes(hex){for(var bytes=[],c=0;c>>4).toString(16));hex.push((bytes[i]&15).toString(16))}return hex.join(\"\")}function b64tohex(str){for(var i=0,bin=atob(str.replace(/[ \\r\\n]+$/,\"\")),hex=[];i>3};JSEncrypt.prototype.decryptUnicodeLong=function(string){var k=this.getKey();var maxLength=(k.n.bitLength()+7>>3)*2;try{var hexString=b64tohex(string);var decryptedString=\"\";var rexStr=\".{1,\"+maxLength+\"}\";var rex=new RegExp(rexStr,\"g\");var subStrArray=hexString.match(rex);if(subStrArray){subStrArray.forEach(function(entry){decryptedString+=k.decrypt(entry)});return decryptedString}}catch(ex){console.log(\"加密错误:\"+ex.message);return false}};JSEncrypt.prototype.encryptUnicodeLong=function(string){var k=this.getKey();var maxLength=(k.n.bitLength()+7>>3)-11;try{var subStr=\"\",encryptedString=\"\";var subStart=0,subEnd=0;var bitLen=0,tmpPoint=0;for(var i=0,len=string.length;imaxLength){subStr=string.substring(subStart,subEnd);encryptedString+=k.encrypt(subStr);subStart=subEnd;bitLen=bitLen-tmpPoint}else{subEnd=i;tmpPoint=bitLen}}subStr=string.substring(subStart,len);encryptedString+=k.encrypt(subStr);return hex2b64(encryptedString)}catch(ex){console.log(\"解密错误:\"+ex.message);return false}}; JSEncrypt.version = version;\n return JSEncrypt;\n}());\n\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/JSEncrypt.js?"); + +/***/ }), + +/***/ "./lib/JSEncryptRSAKey.js": +/*!********************************!*\ + !*** ./lib/JSEncryptRSAKey.js ***! + \********************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"JSEncryptRSAKey\": () => (/* binding */ JSEncryptRSAKey)\n/* harmony export */ });\n/* harmony import */ var _lib_jsbn_base64__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./lib/jsbn/base64 */ \"./lib/lib/jsbn/base64.js\");\n/* harmony import */ var _lib_asn1js_hex__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./lib/asn1js/hex */ \"./lib/lib/asn1js/hex.js\");\n/* harmony import */ var _lib_asn1js_base64__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./lib/asn1js/base64 */ \"./lib/lib/asn1js/base64.js\");\n/* harmony import */ var _lib_asn1js_asn1__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./lib/asn1js/asn1 */ \"./lib/lib/asn1js/asn1.js\");\n/* harmony import */ var _lib_jsbn_rsa__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./lib/jsbn/rsa */ \"./lib/lib/jsbn/rsa.js\");\n/* harmony import */ var _lib_jsbn_jsbn__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./lib/jsbn/jsbn */ \"./lib/lib/jsbn/jsbn.js\");\n/* harmony import */ var _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./lib/jsrsasign/asn1-1.0 */ \"./lib/lib/jsrsasign/asn1-1.0.js\");\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\n\n\n\n\n\n\n\n/**\n * Create a new JSEncryptRSAKey that extends Tom Wu's RSA key object.\n * This object is just a decorator for parsing the key parameter\n * @param {string|Object} key - The key in string format, or an object containing\n * the parameters needed to build a RSAKey object.\n * @constructor\n */\nvar JSEncryptRSAKey = /** @class */ (function (_super) {\n __extends(JSEncryptRSAKey, _super);\n function JSEncryptRSAKey(key) {\n var _this = _super.call(this) || this;\n // Call the super constructor.\n // RSAKey.call(this);\n // If a key key was provided.\n if (key) {\n // If this is a string...\n if (typeof key === \"string\") {\n _this.parseKey(key);\n }\n else if (JSEncryptRSAKey.hasPrivateKeyProperty(key) ||\n JSEncryptRSAKey.hasPublicKeyProperty(key)) {\n // Set the values for the key.\n _this.parsePropertiesFrom(key);\n }\n }\n return _this;\n }\n /**\n * Method to parse a pem encoded string containing both a public or private key.\n * The method will translate the pem encoded string in a der encoded string and\n * will parse private key and public key parameters. This method accepts public key\n * in the rsaencryption pkcs #1 format (oid: 1.2.840.113549.1.1.1).\n *\n * @todo Check how many rsa formats use the same format of pkcs #1.\n *\n * The format is defined as:\n * PublicKeyInfo ::= SEQUENCE {\n * algorithm AlgorithmIdentifier,\n * PublicKey BIT STRING\n * }\n * Where AlgorithmIdentifier is:\n * AlgorithmIdentifier ::= SEQUENCE {\n * algorithm OBJECT IDENTIFIER, the OID of the enc algorithm\n * parameters ANY DEFINED BY algorithm OPTIONAL (NULL for PKCS #1)\n * }\n * and PublicKey is a SEQUENCE encapsulated in a BIT STRING\n * RSAPublicKey ::= SEQUENCE {\n * modulus INTEGER, -- n\n * publicExponent INTEGER -- e\n * }\n * it's possible to examine the structure of the keys obtained from openssl using\n * an asn.1 dumper as the one used here to parse the components: http://lapo.it/asn1js/\n * @argument {string} pem the pem encoded string, can include the BEGIN/END header/footer\n * @private\n */\n JSEncryptRSAKey.prototype.parseKey = function (pem) {\n try {\n var modulus = 0;\n var public_exponent = 0;\n var reHex = /^\\s*(?:[0-9A-Fa-f][0-9A-Fa-f]\\s*)+$/;\n var der = reHex.test(pem) ? _lib_asn1js_hex__WEBPACK_IMPORTED_MODULE_1__.Hex.decode(pem) : _lib_asn1js_base64__WEBPACK_IMPORTED_MODULE_2__.Base64.unarmor(pem);\n var asn1 = _lib_asn1js_asn1__WEBPACK_IMPORTED_MODULE_3__.ASN1.decode(der);\n // Fixes a bug with OpenSSL 1.0+ private keys\n if (asn1.sub.length === 3) {\n asn1 = asn1.sub[2].sub[0];\n }\n if (asn1.sub.length === 9) {\n // Parse the private key.\n modulus = asn1.sub[1].getHexStringValue(); // bigint\n this.n = (0,_lib_jsbn_jsbn__WEBPACK_IMPORTED_MODULE_5__.parseBigInt)(modulus, 16);\n public_exponent = asn1.sub[2].getHexStringValue(); // int\n this.e = parseInt(public_exponent, 16);\n var private_exponent = asn1.sub[3].getHexStringValue(); // bigint\n this.d = (0,_lib_jsbn_jsbn__WEBPACK_IMPORTED_MODULE_5__.parseBigInt)(private_exponent, 16);\n var prime1 = asn1.sub[4].getHexStringValue(); // bigint\n this.p = (0,_lib_jsbn_jsbn__WEBPACK_IMPORTED_MODULE_5__.parseBigInt)(prime1, 16);\n var prime2 = asn1.sub[5].getHexStringValue(); // bigint\n this.q = (0,_lib_jsbn_jsbn__WEBPACK_IMPORTED_MODULE_5__.parseBigInt)(prime2, 16);\n var exponent1 = asn1.sub[6].getHexStringValue(); // bigint\n this.dmp1 = (0,_lib_jsbn_jsbn__WEBPACK_IMPORTED_MODULE_5__.parseBigInt)(exponent1, 16);\n var exponent2 = asn1.sub[7].getHexStringValue(); // bigint\n this.dmq1 = (0,_lib_jsbn_jsbn__WEBPACK_IMPORTED_MODULE_5__.parseBigInt)(exponent2, 16);\n var coefficient = asn1.sub[8].getHexStringValue(); // bigint\n this.coeff = (0,_lib_jsbn_jsbn__WEBPACK_IMPORTED_MODULE_5__.parseBigInt)(coefficient, 16);\n }\n else if (asn1.sub.length === 2) {\n if (asn1.sub[0].sub) {\n // Parse ASN.1 SubjectPublicKeyInfo type as defined by X.509\n var bit_string = asn1.sub[1];\n var sequence = bit_string.sub[0];\n modulus = sequence.sub[0].getHexStringValue();\n this.n = (0,_lib_jsbn_jsbn__WEBPACK_IMPORTED_MODULE_5__.parseBigInt)(modulus, 16);\n public_exponent = sequence.sub[1].getHexStringValue();\n this.e = parseInt(public_exponent, 16);\n }\n else {\n // Parse ASN.1 RSAPublicKey type as defined by PKCS #1\n modulus = asn1.sub[0].getHexStringValue();\n this.n = (0,_lib_jsbn_jsbn__WEBPACK_IMPORTED_MODULE_5__.parseBigInt)(modulus, 16);\n public_exponent = asn1.sub[1].getHexStringValue();\n this.e = parseInt(public_exponent, 16);\n }\n }\n else {\n return false;\n }\n return true;\n }\n catch (ex) {\n return false;\n }\n };\n /**\n * Translate rsa parameters in a hex encoded string representing the rsa key.\n *\n * The translation follow the ASN.1 notation :\n * RSAPrivateKey ::= SEQUENCE {\n * version Version,\n * modulus INTEGER, -- n\n * publicExponent INTEGER, -- e\n * privateExponent INTEGER, -- d\n * prime1 INTEGER, -- p\n * prime2 INTEGER, -- q\n * exponent1 INTEGER, -- d mod (p1)\n * exponent2 INTEGER, -- d mod (q-1)\n * coefficient INTEGER, -- (inverse of q) mod p\n * }\n * @returns {string} DER Encoded String representing the rsa private key\n * @private\n */\n JSEncryptRSAKey.prototype.getPrivateBaseKey = function () {\n var options = {\n array: [\n new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERInteger({ int: 0 }),\n new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERInteger({ bigint: this.n }),\n new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERInteger({ int: this.e }),\n new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERInteger({ bigint: this.d }),\n new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERInteger({ bigint: this.p }),\n new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERInteger({ bigint: this.q }),\n new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERInteger({ bigint: this.dmp1 }),\n new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERInteger({ bigint: this.dmq1 }),\n new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERInteger({ bigint: this.coeff }),\n ],\n };\n var seq = new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERSequence(options);\n return seq.getEncodedHex();\n };\n /**\n * base64 (pem) encoded version of the DER encoded representation\n * @returns {string} pem encoded representation without header and footer\n * @public\n */\n JSEncryptRSAKey.prototype.getPrivateBaseKeyB64 = function () {\n return (0,_lib_jsbn_base64__WEBPACK_IMPORTED_MODULE_0__.hex2b64)(this.getPrivateBaseKey());\n };\n /**\n * Translate rsa parameters in a hex encoded string representing the rsa public key.\n * The representation follow the ASN.1 notation :\n * PublicKeyInfo ::= SEQUENCE {\n * algorithm AlgorithmIdentifier,\n * PublicKey BIT STRING\n * }\n * Where AlgorithmIdentifier is:\n * AlgorithmIdentifier ::= SEQUENCE {\n * algorithm OBJECT IDENTIFIER, the OID of the enc algorithm\n * parameters ANY DEFINED BY algorithm OPTIONAL (NULL for PKCS #1)\n * }\n * and PublicKey is a SEQUENCE encapsulated in a BIT STRING\n * RSAPublicKey ::= SEQUENCE {\n * modulus INTEGER, -- n\n * publicExponent INTEGER -- e\n * }\n * @returns {string} DER Encoded String representing the rsa public key\n * @private\n */\n JSEncryptRSAKey.prototype.getPublicBaseKey = function () {\n var first_sequence = new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERSequence({\n array: [\n new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERObjectIdentifier({ oid: \"1.2.840.113549.1.1.1\" }),\n new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERNull(),\n ],\n });\n var second_sequence = new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERSequence({\n array: [\n new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERInteger({ bigint: this.n }),\n new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERInteger({ int: this.e }),\n ],\n });\n var bit_string = new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERBitString({\n hex: \"00\" + second_sequence.getEncodedHex(),\n });\n var seq = new _lib_jsrsasign_asn1_1_0__WEBPACK_IMPORTED_MODULE_6__.KJUR.asn1.DERSequence({\n array: [first_sequence, bit_string],\n });\n return seq.getEncodedHex();\n };\n /**\n * base64 (pem) encoded version of the DER encoded representation\n * @returns {string} pem encoded representation without header and footer\n * @public\n */\n JSEncryptRSAKey.prototype.getPublicBaseKeyB64 = function () {\n return (0,_lib_jsbn_base64__WEBPACK_IMPORTED_MODULE_0__.hex2b64)(this.getPublicBaseKey());\n };\n /**\n * wrap the string in block of width chars. The default value for rsa keys is 64\n * characters.\n * @param {string} str the pem encoded string without header and footer\n * @param {Number} [width=64] - the length the string has to be wrapped at\n * @returns {string}\n * @private\n */\n JSEncryptRSAKey.wordwrap = function (str, width) {\n width = width || 64;\n if (!str) {\n return str;\n }\n var regex = \"(.{1,\" + width + \"})( +|$\\n?)|(.{1,\" + width + \"})\";\n return str.match(RegExp(regex, \"g\")).join(\"\\n\");\n };\n /**\n * Retrieve the pem encoded private key\n * @returns {string} the pem encoded private key with header/footer\n * @public\n */\n JSEncryptRSAKey.prototype.getPrivateKey = function () {\n var key = \"-----BEGIN RSA PRIVATE KEY-----\\n\";\n key += JSEncryptRSAKey.wordwrap(this.getPrivateBaseKeyB64()) + \"\\n\";\n key += \"-----END RSA PRIVATE KEY-----\";\n return key;\n };\n /**\n * Retrieve the pem encoded public key\n * @returns {string} the pem encoded public key with header/footer\n * @public\n */\n JSEncryptRSAKey.prototype.getPublicKey = function () {\n var key = \"-----BEGIN PUBLIC KEY-----\\n\";\n key += JSEncryptRSAKey.wordwrap(this.getPublicBaseKeyB64()) + \"\\n\";\n key += \"-----END PUBLIC KEY-----\";\n return key;\n };\n /**\n * Check if the object contains the necessary parameters to populate the rsa modulus\n * and public exponent parameters.\n * @param {Object} [obj={}] - An object that may contain the two public key\n * parameters\n * @returns {boolean} true if the object contains both the modulus and the public exponent\n * properties (n and e)\n * @todo check for types of n and e. N should be a parseable bigInt object, E should\n * be a parseable integer number\n * @private\n */\n JSEncryptRSAKey.hasPublicKeyProperty = function (obj) {\n obj = obj || {};\n return obj.hasOwnProperty(\"n\") && obj.hasOwnProperty(\"e\");\n };\n /**\n * Check if the object contains ALL the parameters of an RSA key.\n * @param {Object} [obj={}] - An object that may contain nine rsa key\n * parameters\n * @returns {boolean} true if the object contains all the parameters needed\n * @todo check for types of the parameters all the parameters but the public exponent\n * should be parseable bigint objects, the public exponent should be a parseable integer number\n * @private\n */\n JSEncryptRSAKey.hasPrivateKeyProperty = function (obj) {\n obj = obj || {};\n return (obj.hasOwnProperty(\"n\") &&\n obj.hasOwnProperty(\"e\") &&\n obj.hasOwnProperty(\"d\") &&\n obj.hasOwnProperty(\"p\") &&\n obj.hasOwnProperty(\"q\") &&\n obj.hasOwnProperty(\"dmp1\") &&\n obj.hasOwnProperty(\"dmq1\") &&\n obj.hasOwnProperty(\"coeff\"));\n };\n /**\n * Parse the properties of obj in the current rsa object. Obj should AT LEAST\n * include the modulus and public exponent (n, e) parameters.\n * @param {Object} obj - the object containing rsa parameters\n * @private\n */\n JSEncryptRSAKey.prototype.parsePropertiesFrom = function (obj) {\n this.n = obj.n;\n this.e = obj.e;\n if (obj.hasOwnProperty(\"d\")) {\n this.d = obj.d;\n this.p = obj.p;\n this.q = obj.q;\n this.dmp1 = obj.dmp1;\n this.dmq1 = obj.dmq1;\n this.coeff = obj.coeff;\n }\n };\n return JSEncryptRSAKey;\n}(_lib_jsbn_rsa__WEBPACK_IMPORTED_MODULE_4__.RSAKey));\n\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/JSEncryptRSAKey.js?"); + +/***/ }), + +/***/ "./lib/index.js": +/*!**********************!*\ + !*** ./lib/index.js ***! + \**********************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"JSEncrypt\": () => (/* reexport safe */ _JSEncrypt__WEBPACK_IMPORTED_MODULE_0__.JSEncrypt),\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var _JSEncrypt__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./JSEncrypt */ \"./lib/JSEncrypt.js\");\n\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_JSEncrypt__WEBPACK_IMPORTED_MODULE_0__.JSEncrypt);\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/index.js?"); + +/***/ }), + +/***/ "./lib/lib/asn1js/asn1.js": +/*!********************************!*\ + !*** ./lib/lib/asn1js/asn1.js ***! + \********************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"ASN1\": () => (/* binding */ ASN1),\n/* harmony export */ \"ASN1Tag\": () => (/* binding */ ASN1Tag),\n/* harmony export */ \"Stream\": () => (/* binding */ Stream)\n/* harmony export */ });\n/* harmony import */ var _int10__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./int10 */ \"./lib/lib/asn1js/int10.js\");\n// ASN.1 JavaScript decoder\n// Copyright (c) 2008-2014 Lapo Luchini \n// Permission to use, copy, modify, and/or distribute this software for any\n// purpose with or without fee is hereby granted, provided that the above\n// copyright notice and this permission notice appear in all copies.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n/*jshint browser: true, strict: true, immed: true, latedef: true, undef: true, regexdash: false */\n/*global oids */\n\nvar ellipsis = \"\\u2026\";\nvar reTimeS = /^(\\d\\d)(0[1-9]|1[0-2])(0[1-9]|[12]\\d|3[01])([01]\\d|2[0-3])(?:([0-5]\\d)(?:([0-5]\\d)(?:[.,](\\d{1,3}))?)?)?(Z|[-+](?:[0]\\d|1[0-2])([0-5]\\d)?)?$/;\nvar reTimeL = /^(\\d\\d\\d\\d)(0[1-9]|1[0-2])(0[1-9]|[12]\\d|3[01])([01]\\d|2[0-3])(?:([0-5]\\d)(?:([0-5]\\d)(?:[.,](\\d{1,3}))?)?)?(Z|[-+](?:[0]\\d|1[0-2])([0-5]\\d)?)?$/;\nfunction stringCut(str, len) {\n if (str.length > len) {\n str = str.substring(0, len) + ellipsis;\n }\n return str;\n}\nvar Stream = /** @class */ (function () {\n function Stream(enc, pos) {\n this.hexDigits = \"0123456789ABCDEF\";\n if (enc instanceof Stream) {\n this.enc = enc.enc;\n this.pos = enc.pos;\n }\n else {\n // enc should be an array or a binary string\n this.enc = enc;\n this.pos = pos;\n }\n }\n Stream.prototype.get = function (pos) {\n if (pos === undefined) {\n pos = this.pos++;\n }\n if (pos >= this.enc.length) {\n throw new Error(\"Requesting byte offset \".concat(pos, \" on a stream of length \").concat(this.enc.length));\n }\n return (\"string\" === typeof this.enc) ? this.enc.charCodeAt(pos) : this.enc[pos];\n };\n Stream.prototype.hexByte = function (b) {\n return this.hexDigits.charAt((b >> 4) & 0xF) + this.hexDigits.charAt(b & 0xF);\n };\n Stream.prototype.hexDump = function (start, end, raw) {\n var s = \"\";\n for (var i = start; i < end; ++i) {\n s += this.hexByte(this.get(i));\n if (raw !== true) {\n switch (i & 0xF) {\n case 0x7:\n s += \" \";\n break;\n case 0xF:\n s += \"\\n\";\n break;\n default:\n s += \" \";\n }\n }\n }\n return s;\n };\n Stream.prototype.isASCII = function (start, end) {\n for (var i = start; i < end; ++i) {\n var c = this.get(i);\n if (c < 32 || c > 176) {\n return false;\n }\n }\n return true;\n };\n Stream.prototype.parseStringISO = function (start, end) {\n var s = \"\";\n for (var i = start; i < end; ++i) {\n s += String.fromCharCode(this.get(i));\n }\n return s;\n };\n Stream.prototype.parseStringUTF = function (start, end) {\n var s = \"\";\n for (var i = start; i < end;) {\n var c = this.get(i++);\n if (c < 128) {\n s += String.fromCharCode(c);\n }\n else if ((c > 191) && (c < 224)) {\n s += String.fromCharCode(((c & 0x1F) << 6) | (this.get(i++) & 0x3F));\n }\n else {\n s += String.fromCharCode(((c & 0x0F) << 12) | ((this.get(i++) & 0x3F) << 6) | (this.get(i++) & 0x3F));\n }\n }\n return s;\n };\n Stream.prototype.parseStringBMP = function (start, end) {\n var str = \"\";\n var hi;\n var lo;\n for (var i = start; i < end;) {\n hi = this.get(i++);\n lo = this.get(i++);\n str += String.fromCharCode((hi << 8) | lo);\n }\n return str;\n };\n Stream.prototype.parseTime = function (start, end, shortYear) {\n var s = this.parseStringISO(start, end);\n var m = (shortYear ? reTimeS : reTimeL).exec(s);\n if (!m) {\n return \"Unrecognized time: \" + s;\n }\n if (shortYear) {\n // to avoid querying the timer, use the fixed range [1970, 2069]\n // it will conform with ITU X.400 [-10, +40] sliding window until 2030\n m[1] = +m[1];\n m[1] += (+m[1] < 70) ? 2000 : 1900;\n }\n s = m[1] + \"-\" + m[2] + \"-\" + m[3] + \" \" + m[4];\n if (m[5]) {\n s += \":\" + m[5];\n if (m[6]) {\n s += \":\" + m[6];\n if (m[7]) {\n s += \".\" + m[7];\n }\n }\n }\n if (m[8]) {\n s += \" UTC\";\n if (m[8] != \"Z\") {\n s += m[8];\n if (m[9]) {\n s += \":\" + m[9];\n }\n }\n }\n return s;\n };\n Stream.prototype.parseInteger = function (start, end) {\n var v = this.get(start);\n var neg = (v > 127);\n var pad = neg ? 255 : 0;\n var len;\n var s = \"\";\n // skip unuseful bits (not allowed in DER)\n while (v == pad && ++start < end) {\n v = this.get(start);\n }\n len = end - start;\n if (len === 0) {\n return neg ? -1 : 0;\n }\n // show bit length of huge integers\n if (len > 4) {\n s = v;\n len <<= 3;\n while (((+s ^ pad) & 0x80) == 0) {\n s = +s << 1;\n --len;\n }\n s = \"(\" + len + \" bit)\\n\";\n }\n // decode the integer\n if (neg) {\n v = v - 256;\n }\n var n = new _int10__WEBPACK_IMPORTED_MODULE_0__.Int10(v);\n for (var i = start + 1; i < end; ++i) {\n n.mulAdd(256, this.get(i));\n }\n return s + n.toString();\n };\n Stream.prototype.parseBitString = function (start, end, maxLength) {\n var unusedBit = this.get(start);\n var lenBit = ((end - start - 1) << 3) - unusedBit;\n var intro = \"(\" + lenBit + \" bit)\\n\";\n var s = \"\";\n for (var i = start + 1; i < end; ++i) {\n var b = this.get(i);\n var skip = (i == end - 1) ? unusedBit : 0;\n for (var j = 7; j >= skip; --j) {\n s += (b >> j) & 1 ? \"1\" : \"0\";\n }\n if (s.length > maxLength) {\n return intro + stringCut(s, maxLength);\n }\n }\n return intro + s;\n };\n Stream.prototype.parseOctetString = function (start, end, maxLength) {\n if (this.isASCII(start, end)) {\n return stringCut(this.parseStringISO(start, end), maxLength);\n }\n var len = end - start;\n var s = \"(\" + len + \" byte)\\n\";\n maxLength /= 2; // we work in bytes\n if (len > maxLength) {\n end = start + maxLength;\n }\n for (var i = start; i < end; ++i) {\n s += this.hexByte(this.get(i));\n }\n if (len > maxLength) {\n s += ellipsis;\n }\n return s;\n };\n Stream.prototype.parseOID = function (start, end, maxLength) {\n var s = \"\";\n var n = new _int10__WEBPACK_IMPORTED_MODULE_0__.Int10();\n var bits = 0;\n for (var i = start; i < end; ++i) {\n var v = this.get(i);\n n.mulAdd(128, v & 0x7F);\n bits += 7;\n if (!(v & 0x80)) { // finished\n if (s === \"\") {\n n = n.simplify();\n if (n instanceof _int10__WEBPACK_IMPORTED_MODULE_0__.Int10) {\n n.sub(80);\n s = \"2.\" + n.toString();\n }\n else {\n var m = n < 80 ? n < 40 ? 0 : 1 : 2;\n s = m + \".\" + (n - m * 40);\n }\n }\n else {\n s += \".\" + n.toString();\n }\n if (s.length > maxLength) {\n return stringCut(s, maxLength);\n }\n n = new _int10__WEBPACK_IMPORTED_MODULE_0__.Int10();\n bits = 0;\n }\n }\n if (bits > 0) {\n s += \".incomplete\";\n }\n return s;\n };\n return Stream;\n}());\n\nvar ASN1 = /** @class */ (function () {\n function ASN1(stream, header, length, tag, sub) {\n if (!(tag instanceof ASN1Tag)) {\n throw new Error(\"Invalid tag value.\");\n }\n this.stream = stream;\n this.header = header;\n this.length = length;\n this.tag = tag;\n this.sub = sub;\n }\n ASN1.prototype.typeName = function () {\n switch (this.tag.tagClass) {\n case 0: // universal\n switch (this.tag.tagNumber) {\n case 0x00:\n return \"EOC\";\n case 0x01:\n return \"BOOLEAN\";\n case 0x02:\n return \"INTEGER\";\n case 0x03:\n return \"BIT_STRING\";\n case 0x04:\n return \"OCTET_STRING\";\n case 0x05:\n return \"NULL\";\n case 0x06:\n return \"OBJECT_IDENTIFIER\";\n case 0x07:\n return \"ObjectDescriptor\";\n case 0x08:\n return \"EXTERNAL\";\n case 0x09:\n return \"REAL\";\n case 0x0A:\n return \"ENUMERATED\";\n case 0x0B:\n return \"EMBEDDED_PDV\";\n case 0x0C:\n return \"UTF8String\";\n case 0x10:\n return \"SEQUENCE\";\n case 0x11:\n return \"SET\";\n case 0x12:\n return \"NumericString\";\n case 0x13:\n return \"PrintableString\"; // ASCII subset\n case 0x14:\n return \"TeletexString\"; // aka T61String\n case 0x15:\n return \"VideotexString\";\n case 0x16:\n return \"IA5String\"; // ASCII\n case 0x17:\n return \"UTCTime\";\n case 0x18:\n return \"GeneralizedTime\";\n case 0x19:\n return \"GraphicString\";\n case 0x1A:\n return \"VisibleString\"; // ASCII subset\n case 0x1B:\n return \"GeneralString\";\n case 0x1C:\n return \"UniversalString\";\n case 0x1E:\n return \"BMPString\";\n }\n return \"Universal_\" + this.tag.tagNumber.toString();\n case 1:\n return \"Application_\" + this.tag.tagNumber.toString();\n case 2:\n return \"[\" + this.tag.tagNumber.toString() + \"]\"; // Context\n case 3:\n return \"Private_\" + this.tag.tagNumber.toString();\n }\n };\n ASN1.prototype.content = function (maxLength) {\n if (this.tag === undefined) {\n return null;\n }\n if (maxLength === undefined) {\n maxLength = Infinity;\n }\n var content = this.posContent();\n var len = Math.abs(this.length);\n if (!this.tag.isUniversal()) {\n if (this.sub !== null) {\n return \"(\" + this.sub.length + \" elem)\";\n }\n return this.stream.parseOctetString(content, content + len, maxLength);\n }\n switch (this.tag.tagNumber) {\n case 0x01: // BOOLEAN\n return (this.stream.get(content) === 0) ? \"false\" : \"true\";\n case 0x02: // INTEGER\n return this.stream.parseInteger(content, content + len);\n case 0x03: // BIT_STRING\n return this.sub ? \"(\" + this.sub.length + \" elem)\" :\n this.stream.parseBitString(content, content + len, maxLength);\n case 0x04: // OCTET_STRING\n return this.sub ? \"(\" + this.sub.length + \" elem)\" :\n this.stream.parseOctetString(content, content + len, maxLength);\n // case 0x05: // NULL\n case 0x06: // OBJECT_IDENTIFIER\n return this.stream.parseOID(content, content + len, maxLength);\n // case 0x07: // ObjectDescriptor\n // case 0x08: // EXTERNAL\n // case 0x09: // REAL\n // case 0x0A: // ENUMERATED\n // case 0x0B: // EMBEDDED_PDV\n case 0x10: // SEQUENCE\n case 0x11: // SET\n if (this.sub !== null) {\n return \"(\" + this.sub.length + \" elem)\";\n }\n else {\n return \"(no elem)\";\n }\n case 0x0C: // UTF8String\n return stringCut(this.stream.parseStringUTF(content, content + len), maxLength);\n case 0x12: // NumericString\n case 0x13: // PrintableString\n case 0x14: // TeletexString\n case 0x15: // VideotexString\n case 0x16: // IA5String\n // case 0x19: // GraphicString\n case 0x1A: // VisibleString\n // case 0x1B: // GeneralString\n // case 0x1C: // UniversalString\n return stringCut(this.stream.parseStringISO(content, content + len), maxLength);\n case 0x1E: // BMPString\n return stringCut(this.stream.parseStringBMP(content, content + len), maxLength);\n case 0x17: // UTCTime\n case 0x18: // GeneralizedTime\n return this.stream.parseTime(content, content + len, (this.tag.tagNumber == 0x17));\n }\n return null;\n };\n ASN1.prototype.toString = function () {\n return this.typeName() + \"@\" + this.stream.pos + \"[header:\" + this.header + \",length:\" + this.length + \",sub:\" + ((this.sub === null) ? \"null\" : this.sub.length) + \"]\";\n };\n ASN1.prototype.toPrettyString = function (indent) {\n if (indent === undefined) {\n indent = \"\";\n }\n var s = indent + this.typeName() + \" @\" + this.stream.pos;\n if (this.length >= 0) {\n s += \"+\";\n }\n s += this.length;\n if (this.tag.tagConstructed) {\n s += \" (constructed)\";\n }\n else if ((this.tag.isUniversal() && ((this.tag.tagNumber == 0x03) || (this.tag.tagNumber == 0x04))) && (this.sub !== null)) {\n s += \" (encapsulates)\";\n }\n s += \"\\n\";\n if (this.sub !== null) {\n indent += \" \";\n for (var i = 0, max = this.sub.length; i < max; ++i) {\n s += this.sub[i].toPrettyString(indent);\n }\n }\n return s;\n };\n ASN1.prototype.posStart = function () {\n return this.stream.pos;\n };\n ASN1.prototype.posContent = function () {\n return this.stream.pos + this.header;\n };\n ASN1.prototype.posEnd = function () {\n return this.stream.pos + this.header + Math.abs(this.length);\n };\n ASN1.prototype.toHexString = function () {\n return this.stream.hexDump(this.posStart(), this.posEnd(), true);\n };\n ASN1.decodeLength = function (stream) {\n var buf = stream.get();\n var len = buf & 0x7F;\n if (len == buf) {\n return len;\n }\n // no reason to use Int10, as it would be a huge buffer anyways\n if (len > 6) {\n throw new Error(\"Length over 48 bits not supported at position \" + (stream.pos - 1));\n }\n if (len === 0) {\n return null;\n } // undefined\n buf = 0;\n for (var i = 0; i < len; ++i) {\n buf = (buf * 256) + stream.get();\n }\n return buf;\n };\n /**\n * Retrieve the hexadecimal value (as a string) of the current ASN.1 element\n * @returns {string}\n * @public\n */\n ASN1.prototype.getHexStringValue = function () {\n var hexString = this.toHexString();\n var offset = this.header * 2;\n var length = this.length * 2;\n return hexString.substr(offset, length);\n };\n ASN1.decode = function (str) {\n var stream;\n if (!(str instanceof Stream)) {\n stream = new Stream(str, 0);\n }\n else {\n stream = str;\n }\n var streamStart = new Stream(stream);\n var tag = new ASN1Tag(stream);\n var len = ASN1.decodeLength(stream);\n var start = stream.pos;\n var header = start - streamStart.pos;\n var sub = null;\n var getSub = function () {\n var ret = [];\n if (len !== null) {\n // definite length\n var end = start + len;\n while (stream.pos < end) {\n ret[ret.length] = ASN1.decode(stream);\n }\n if (stream.pos != end) {\n throw new Error(\"Content size is not correct for container starting at offset \" + start);\n }\n }\n else {\n // undefined length\n try {\n for (;;) {\n var s = ASN1.decode(stream);\n if (s.tag.isEOC()) {\n break;\n }\n ret[ret.length] = s;\n }\n len = start - stream.pos; // undefined lengths are represented as negative values\n }\n catch (e) {\n throw new Error(\"Exception while decoding undefined length content: \" + e);\n }\n }\n return ret;\n };\n if (tag.tagConstructed) {\n // must have valid content\n sub = getSub();\n }\n else if (tag.isUniversal() && ((tag.tagNumber == 0x03) || (tag.tagNumber == 0x04))) {\n // sometimes BitString and OctetString are used to encapsulate ASN.1\n try {\n if (tag.tagNumber == 0x03) {\n if (stream.get() != 0) {\n throw new Error(\"BIT STRINGs with unused bits cannot encapsulate.\");\n }\n }\n sub = getSub();\n for (var i = 0; i < sub.length; ++i) {\n if (sub[i].tag.isEOC()) {\n throw new Error(\"EOC is not supposed to be actual content.\");\n }\n }\n }\n catch (e) {\n // but silently ignore when they don't\n sub = null;\n }\n }\n if (sub === null) {\n if (len === null) {\n throw new Error(\"We can't skip over an invalid tag with undefined length at offset \" + start);\n }\n stream.pos = start + Math.abs(len);\n }\n return new ASN1(streamStart, header, len, tag, sub);\n };\n return ASN1;\n}());\n\nvar ASN1Tag = /** @class */ (function () {\n function ASN1Tag(stream) {\n var buf = stream.get();\n this.tagClass = buf >> 6;\n this.tagConstructed = ((buf & 0x20) !== 0);\n this.tagNumber = buf & 0x1F;\n if (this.tagNumber == 0x1F) { // long tag\n var n = new _int10__WEBPACK_IMPORTED_MODULE_0__.Int10();\n do {\n buf = stream.get();\n n.mulAdd(128, buf & 0x7F);\n } while (buf & 0x80);\n this.tagNumber = n.simplify();\n }\n }\n ASN1Tag.prototype.isUniversal = function () {\n return this.tagClass === 0x00;\n };\n ASN1Tag.prototype.isEOC = function () {\n return this.tagClass === 0x00 && this.tagNumber === 0x00;\n };\n return ASN1Tag;\n}());\n\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/asn1js/asn1.js?"); + +/***/ }), + +/***/ "./lib/lib/asn1js/base64.js": +/*!**********************************!*\ + !*** ./lib/lib/asn1js/base64.js ***! + \**********************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Base64\": () => (/* binding */ Base64)\n/* harmony export */ });\n// Base64 JavaScript decoder\n// Copyright (c) 2008-2013 Lapo Luchini \n// Permission to use, copy, modify, and/or distribute this software for any\n// purpose with or without fee is hereby granted, provided that the above\n// copyright notice and this permission notice appear in all copies.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n/*jshint browser: true, strict: true, immed: true, latedef: true, undef: true, regexdash: false */\nvar decoder;\nvar Base64 = {\n decode: function (a) {\n var i;\n if (decoder === undefined) {\n var b64 = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\n var ignore = \"= \\f\\n\\r\\t\\u00A0\\u2028\\u2029\";\n decoder = Object.create(null);\n for (i = 0; i < 64; ++i) {\n decoder[b64.charAt(i)] = i;\n }\n decoder['-'] = 62; //+\n decoder['_'] = 63; //-\n for (i = 0; i < ignore.length; ++i) {\n decoder[ignore.charAt(i)] = -1;\n }\n }\n var out = [];\n var bits = 0;\n var char_count = 0;\n for (i = 0; i < a.length; ++i) {\n var c = a.charAt(i);\n if (c == \"=\") {\n break;\n }\n c = decoder[c];\n if (c == -1) {\n continue;\n }\n if (c === undefined) {\n throw new Error(\"Illegal character at offset \" + i);\n }\n bits |= c;\n if (++char_count >= 4) {\n out[out.length] = (bits >> 16);\n out[out.length] = (bits >> 8) & 0xFF;\n out[out.length] = bits & 0xFF;\n bits = 0;\n char_count = 0;\n }\n else {\n bits <<= 6;\n }\n }\n switch (char_count) {\n case 1:\n throw new Error(\"Base64 encoding incomplete: at least 2 bits missing\");\n case 2:\n out[out.length] = (bits >> 10);\n break;\n case 3:\n out[out.length] = (bits >> 16);\n out[out.length] = (bits >> 8) & 0xFF;\n break;\n }\n return out;\n },\n re: /-----BEGIN [^-]+-----([A-Za-z0-9+\\/=\\s]+)-----END [^-]+-----|begin-base64[^\\n]+\\n([A-Za-z0-9+\\/=\\s]+)====/,\n unarmor: function (a) {\n var m = Base64.re.exec(a);\n if (m) {\n if (m[1]) {\n a = m[1];\n }\n else if (m[2]) {\n a = m[2];\n }\n else {\n throw new Error(\"RegExp out of sync\");\n }\n }\n return Base64.decode(a);\n }\n};\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/asn1js/base64.js?"); + +/***/ }), + +/***/ "./lib/lib/asn1js/hex.js": +/*!*******************************!*\ + !*** ./lib/lib/asn1js/hex.js ***! + \*******************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Hex\": () => (/* binding */ Hex)\n/* harmony export */ });\n// Hex JavaScript decoder\n// Copyright (c) 2008-2013 Lapo Luchini \n// Permission to use, copy, modify, and/or distribute this software for any\n// purpose with or without fee is hereby granted, provided that the above\n// copyright notice and this permission notice appear in all copies.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n/*jshint browser: true, strict: true, immed: true, latedef: true, undef: true, regexdash: false */\nvar decoder;\nvar Hex = {\n decode: function (a) {\n var i;\n if (decoder === undefined) {\n var hex = \"0123456789ABCDEF\";\n var ignore = \" \\f\\n\\r\\t\\u00A0\\u2028\\u2029\";\n decoder = {};\n for (i = 0; i < 16; ++i) {\n decoder[hex.charAt(i)] = i;\n }\n hex = hex.toLowerCase();\n for (i = 10; i < 16; ++i) {\n decoder[hex.charAt(i)] = i;\n }\n for (i = 0; i < ignore.length; ++i) {\n decoder[ignore.charAt(i)] = -1;\n }\n }\n var out = [];\n var bits = 0;\n var char_count = 0;\n for (i = 0; i < a.length; ++i) {\n var c = a.charAt(i);\n if (c == \"=\") {\n break;\n }\n c = decoder[c];\n if (c == -1) {\n continue;\n }\n if (c === undefined) {\n throw new Error(\"Illegal character at offset \" + i);\n }\n bits |= c;\n if (++char_count >= 2) {\n out[out.length] = bits;\n bits = 0;\n char_count = 0;\n }\n else {\n bits <<= 4;\n }\n }\n if (char_count) {\n throw new Error(\"Hex encoding incomplete: 4 bits missing\");\n }\n return out;\n }\n};\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/asn1js/hex.js?"); + +/***/ }), + +/***/ "./lib/lib/asn1js/int10.js": +/*!*********************************!*\ + !*** ./lib/lib/asn1js/int10.js ***! + \*********************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Int10\": () => (/* binding */ Int10)\n/* harmony export */ });\n// Big integer base-10 printing library\n// Copyright (c) 2014 Lapo Luchini \n// Permission to use, copy, modify, and/or distribute this software for any\n// purpose with or without fee is hereby granted, provided that the above\n// copyright notice and this permission notice appear in all copies.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n/*jshint browser: true, strict: true, immed: true, latedef: true, undef: true, regexdash: false */\nvar max = 10000000000000; // biggest integer that can still fit 2^53 when multiplied by 256\nvar Int10 = /** @class */ (function () {\n function Int10(value) {\n this.buf = [+value || 0];\n }\n Int10.prototype.mulAdd = function (m, c) {\n // assert(m <= 256)\n var b = this.buf;\n var l = b.length;\n var i;\n var t;\n for (i = 0; i < l; ++i) {\n t = b[i] * m + c;\n if (t < max) {\n c = 0;\n }\n else {\n c = 0 | (t / max);\n t -= c * max;\n }\n b[i] = t;\n }\n if (c > 0) {\n b[i] = c;\n }\n };\n Int10.prototype.sub = function (c) {\n // assert(m <= 256)\n var b = this.buf;\n var l = b.length;\n var i;\n var t;\n for (i = 0; i < l; ++i) {\n t = b[i] - c;\n if (t < 0) {\n t += max;\n c = 1;\n }\n else {\n c = 0;\n }\n b[i] = t;\n }\n while (b[b.length - 1] === 0) {\n b.pop();\n }\n };\n Int10.prototype.toString = function (base) {\n if ((base || 10) != 10) {\n throw new Error(\"only base 10 is supported\");\n }\n var b = this.buf;\n var s = b[b.length - 1].toString();\n for (var i = b.length - 2; i >= 0; --i) {\n s += (max + b[i]).toString().substring(1);\n }\n return s;\n };\n Int10.prototype.valueOf = function () {\n var b = this.buf;\n var v = 0;\n for (var i = b.length - 1; i >= 0; --i) {\n v = v * max + b[i];\n }\n return v;\n };\n Int10.prototype.simplify = function () {\n var b = this.buf;\n return (b.length == 1) ? b[0] : this;\n };\n return Int10;\n}());\n\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/asn1js/int10.js?"); + +/***/ }), + +/***/ "./lib/lib/jsbn/base64.js": +/*!********************************!*\ + !*** ./lib/lib/jsbn/base64.js ***! + \********************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"b64toBA\": () => (/* binding */ b64toBA),\n/* harmony export */ \"b64tohex\": () => (/* binding */ b64tohex),\n/* harmony export */ \"hex2b64\": () => (/* binding */ hex2b64)\n/* harmony export */ });\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util */ \"./lib/lib/jsbn/util.js\");\n\nvar b64map = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\nvar b64pad = \"=\";\nfunction hex2b64(h) {\n var i;\n var c;\n var ret = \"\";\n for (i = 0; i + 3 <= h.length; i += 3) {\n c = parseInt(h.substring(i, i + 3), 16);\n ret += b64map.charAt(c >> 6) + b64map.charAt(c & 63);\n }\n if (i + 1 == h.length) {\n c = parseInt(h.substring(i, i + 1), 16);\n ret += b64map.charAt(c << 2);\n }\n else if (i + 2 == h.length) {\n c = parseInt(h.substring(i, i + 2), 16);\n ret += b64map.charAt(c >> 2) + b64map.charAt((c & 3) << 4);\n }\n while ((ret.length & 3) > 0) {\n ret += b64pad;\n }\n return ret;\n}\n// convert a base64 string to hex\nfunction b64tohex(s) {\n var ret = \"\";\n var i;\n var k = 0; // b64 state, 0-3\n var slop = 0;\n for (i = 0; i < s.length; ++i) {\n if (s.charAt(i) == b64pad) {\n break;\n }\n var v = b64map.indexOf(s.charAt(i));\n if (v < 0) {\n continue;\n }\n if (k == 0) {\n ret += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)(v >> 2);\n slop = v & 3;\n k = 1;\n }\n else if (k == 1) {\n ret += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)((slop << 2) | (v >> 4));\n slop = v & 0xf;\n k = 2;\n }\n else if (k == 2) {\n ret += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)(slop);\n ret += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)(v >> 2);\n slop = v & 3;\n k = 3;\n }\n else {\n ret += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)((slop << 2) | (v >> 4));\n ret += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)(v & 0xf);\n k = 0;\n }\n }\n if (k == 1) {\n ret += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)(slop << 2);\n }\n return ret;\n}\n// convert a base64 string to a byte/number array\nfunction b64toBA(s) {\n // piggyback on b64tohex for now, optimize later\n var h = b64tohex(s);\n var i;\n var a = [];\n for (i = 0; 2 * i < h.length; ++i) {\n a[i] = parseInt(h.substring(2 * i, 2 * i + 2), 16);\n }\n return a;\n}\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/jsbn/base64.js?"); + +/***/ }), + +/***/ "./lib/lib/jsbn/jsbn.js": +/*!******************************!*\ + !*** ./lib/lib/jsbn/jsbn.js ***! + \******************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"BigInteger\": () => (/* binding */ BigInteger),\n/* harmony export */ \"intAt\": () => (/* binding */ intAt),\n/* harmony export */ \"nbi\": () => (/* binding */ nbi),\n/* harmony export */ \"nbits\": () => (/* binding */ nbits),\n/* harmony export */ \"nbv\": () => (/* binding */ nbv),\n/* harmony export */ \"parseBigInt\": () => (/* binding */ parseBigInt)\n/* harmony export */ });\n/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./util */ \"./lib/lib/jsbn/util.js\");\n// Copyright (c) 2005 Tom Wu\n// All Rights Reserved.\n// See \"LICENSE\" for details.\n// Basic JavaScript BN library - subset useful for RSA encryption.\n\n// Bits per digit\nvar dbits;\n// JavaScript engine analysis\nvar canary = 0xdeadbeefcafe;\nvar j_lm = ((canary & 0xffffff) == 0xefcafe);\n//#region\nvar lowprimes = [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];\nvar lplim = (1 << 26) / lowprimes[lowprimes.length - 1];\n//#endregion\n// (public) Constructor\nvar BigInteger = /** @class */ (function () {\n function BigInteger(a, b, c) {\n if (a != null) {\n if (\"number\" == typeof a) {\n this.fromNumber(a, b, c);\n }\n else if (b == null && \"string\" != typeof a) {\n this.fromString(a, 256);\n }\n else {\n this.fromString(a, b);\n }\n }\n }\n //#region PUBLIC\n // BigInteger.prototype.toString = bnToString;\n // (public) return string representation in given radix\n BigInteger.prototype.toString = function (b) {\n if (this.s < 0) {\n return \"-\" + this.negate().toString(b);\n }\n var k;\n if (b == 16) {\n k = 4;\n }\n else if (b == 8) {\n k = 3;\n }\n else if (b == 2) {\n k = 1;\n }\n else if (b == 32) {\n k = 5;\n }\n else if (b == 4) {\n k = 2;\n }\n else {\n return this.toRadix(b);\n }\n var km = (1 << k) - 1;\n var d;\n var m = false;\n var r = \"\";\n var i = this.t;\n var p = this.DB - (i * this.DB) % k;\n if (i-- > 0) {\n if (p < this.DB && (d = this[i] >> p) > 0) {\n m = true;\n r = (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)(d);\n }\n while (i >= 0) {\n if (p < k) {\n d = (this[i] & ((1 << p) - 1)) << (k - p);\n d |= this[--i] >> (p += this.DB - k);\n }\n else {\n d = (this[i] >> (p -= k)) & km;\n if (p <= 0) {\n p += this.DB;\n --i;\n }\n }\n if (d > 0) {\n m = true;\n }\n if (m) {\n r += (0,_util__WEBPACK_IMPORTED_MODULE_0__.int2char)(d);\n }\n }\n }\n return m ? r : \"0\";\n };\n // BigInteger.prototype.negate = bnNegate;\n // (public) -this\n BigInteger.prototype.negate = function () {\n var r = nbi();\n BigInteger.ZERO.subTo(this, r);\n return r;\n };\n // BigInteger.prototype.abs = bnAbs;\n // (public) |this|\n BigInteger.prototype.abs = function () {\n return (this.s < 0) ? this.negate() : this;\n };\n // BigInteger.prototype.compareTo = bnCompareTo;\n // (public) return + if this > a, - if this < a, 0 if equal\n BigInteger.prototype.compareTo = function (a) {\n var r = this.s - a.s;\n if (r != 0) {\n return r;\n }\n var i = this.t;\n r = i - a.t;\n if (r != 0) {\n return (this.s < 0) ? -r : r;\n }\n while (--i >= 0) {\n if ((r = this[i] - a[i]) != 0) {\n return r;\n }\n }\n return 0;\n };\n // BigInteger.prototype.bitLength = bnBitLength;\n // (public) return the number of bits in \"this\"\n BigInteger.prototype.bitLength = function () {\n if (this.t <= 0) {\n return 0;\n }\n return this.DB * (this.t - 1) + nbits(this[this.t - 1] ^ (this.s & this.DM));\n };\n // BigInteger.prototype.mod = bnMod;\n // (public) this mod a\n BigInteger.prototype.mod = function (a) {\n var r = nbi();\n this.abs().divRemTo(a, null, r);\n if (this.s < 0 && r.compareTo(BigInteger.ZERO) > 0) {\n a.subTo(r, r);\n }\n return r;\n };\n // BigInteger.prototype.modPowInt = bnModPowInt;\n // (public) this^e % m, 0 <= e < 2^32\n BigInteger.prototype.modPowInt = function (e, m) {\n var z;\n if (e < 256 || m.isEven()) {\n z = new Classic(m);\n }\n else {\n z = new Montgomery(m);\n }\n return this.exp(e, z);\n };\n // BigInteger.prototype.clone = bnClone;\n // (public)\n BigInteger.prototype.clone = function () {\n var r = nbi();\n this.copyTo(r);\n return r;\n };\n // BigInteger.prototype.intValue = bnIntValue;\n // (public) return value as integer\n BigInteger.prototype.intValue = function () {\n if (this.s < 0) {\n if (this.t == 1) {\n return this[0] - this.DV;\n }\n else if (this.t == 0) {\n return -1;\n }\n }\n else if (this.t == 1) {\n return this[0];\n }\n else if (this.t == 0) {\n return 0;\n }\n // assumes 16 < DB < 32\n return ((this[1] & ((1 << (32 - this.DB)) - 1)) << this.DB) | this[0];\n };\n // BigInteger.prototype.byteValue = bnByteValue;\n // (public) return value as byte\n BigInteger.prototype.byteValue = function () {\n return (this.t == 0) ? this.s : (this[0] << 24) >> 24;\n };\n // BigInteger.prototype.shortValue = bnShortValue;\n // (public) return value as short (assumes DB>=16)\n BigInteger.prototype.shortValue = function () {\n return (this.t == 0) ? this.s : (this[0] << 16) >> 16;\n };\n // BigInteger.prototype.signum = bnSigNum;\n // (public) 0 if this == 0, 1 if this > 0\n BigInteger.prototype.signum = function () {\n if (this.s < 0) {\n return -1;\n }\n else if (this.t <= 0 || (this.t == 1 && this[0] <= 0)) {\n return 0;\n }\n else {\n return 1;\n }\n };\n // BigInteger.prototype.toByteArray = bnToByteArray;\n // (public) convert to bigendian byte array\n BigInteger.prototype.toByteArray = function () {\n var i = this.t;\n var r = [];\n r[0] = this.s;\n var p = this.DB - (i * this.DB) % 8;\n var d;\n var k = 0;\n if (i-- > 0) {\n if (p < this.DB && (d = this[i] >> p) != (this.s & this.DM) >> p) {\n r[k++] = d | (this.s << (this.DB - p));\n }\n while (i >= 0) {\n if (p < 8) {\n d = (this[i] & ((1 << p) - 1)) << (8 - p);\n d |= this[--i] >> (p += this.DB - 8);\n }\n else {\n d = (this[i] >> (p -= 8)) & 0xff;\n if (p <= 0) {\n p += this.DB;\n --i;\n }\n }\n if ((d & 0x80) != 0) {\n d |= -256;\n }\n if (k == 0 && (this.s & 0x80) != (d & 0x80)) {\n ++k;\n }\n if (k > 0 || d != this.s) {\n r[k++] = d;\n }\n }\n }\n return r;\n };\n // BigInteger.prototype.equals = bnEquals;\n BigInteger.prototype.equals = function (a) {\n return (this.compareTo(a) == 0);\n };\n // BigInteger.prototype.min = bnMin;\n BigInteger.prototype.min = function (a) {\n return (this.compareTo(a) < 0) ? this : a;\n };\n // BigInteger.prototype.max = bnMax;\n BigInteger.prototype.max = function (a) {\n return (this.compareTo(a) > 0) ? this : a;\n };\n // BigInteger.prototype.and = bnAnd;\n BigInteger.prototype.and = function (a) {\n var r = nbi();\n this.bitwiseTo(a, _util__WEBPACK_IMPORTED_MODULE_0__.op_and, r);\n return r;\n };\n // BigInteger.prototype.or = bnOr;\n BigInteger.prototype.or = function (a) {\n var r = nbi();\n this.bitwiseTo(a, _util__WEBPACK_IMPORTED_MODULE_0__.op_or, r);\n return r;\n };\n // BigInteger.prototype.xor = bnXor;\n BigInteger.prototype.xor = function (a) {\n var r = nbi();\n this.bitwiseTo(a, _util__WEBPACK_IMPORTED_MODULE_0__.op_xor, r);\n return r;\n };\n // BigInteger.prototype.andNot = bnAndNot;\n BigInteger.prototype.andNot = function (a) {\n var r = nbi();\n this.bitwiseTo(a, _util__WEBPACK_IMPORTED_MODULE_0__.op_andnot, r);\n return r;\n };\n // BigInteger.prototype.not = bnNot;\n // (public) ~this\n BigInteger.prototype.not = function () {\n var r = nbi();\n for (var i = 0; i < this.t; ++i) {\n r[i] = this.DM & ~this[i];\n }\n r.t = this.t;\n r.s = ~this.s;\n return r;\n };\n // BigInteger.prototype.shiftLeft = bnShiftLeft;\n // (public) this << n\n BigInteger.prototype.shiftLeft = function (n) {\n var r = nbi();\n if (n < 0) {\n this.rShiftTo(-n, r);\n }\n else {\n this.lShiftTo(n, r);\n }\n return r;\n };\n // BigInteger.prototype.shiftRight = bnShiftRight;\n // (public) this >> n\n BigInteger.prototype.shiftRight = function (n) {\n var r = nbi();\n if (n < 0) {\n this.lShiftTo(-n, r);\n }\n else {\n this.rShiftTo(n, r);\n }\n return r;\n };\n // BigInteger.prototype.getLowestSetBit = bnGetLowestSetBit;\n // (public) returns index of lowest 1-bit (or -1 if none)\n BigInteger.prototype.getLowestSetBit = function () {\n for (var i = 0; i < this.t; ++i) {\n if (this[i] != 0) {\n return i * this.DB + (0,_util__WEBPACK_IMPORTED_MODULE_0__.lbit)(this[i]);\n }\n }\n if (this.s < 0) {\n return this.t * this.DB;\n }\n return -1;\n };\n // BigInteger.prototype.bitCount = bnBitCount;\n // (public) return number of set bits\n BigInteger.prototype.bitCount = function () {\n var r = 0;\n var x = this.s & this.DM;\n for (var i = 0; i < this.t; ++i) {\n r += (0,_util__WEBPACK_IMPORTED_MODULE_0__.cbit)(this[i] ^ x);\n }\n return r;\n };\n // BigInteger.prototype.testBit = bnTestBit;\n // (public) true iff nth bit is set\n BigInteger.prototype.testBit = function (n) {\n var j = Math.floor(n / this.DB);\n if (j >= this.t) {\n return (this.s != 0);\n }\n return ((this[j] & (1 << (n % this.DB))) != 0);\n };\n // BigInteger.prototype.setBit = bnSetBit;\n // (public) this | (1< 1) {\n var g2 = nbi();\n z.sqrTo(g[1], g2);\n while (n <= km) {\n g[n] = nbi();\n z.mulTo(g2, g[n - 2], g[n]);\n n += 2;\n }\n }\n var j = e.t - 1;\n var w;\n var is1 = true;\n var r2 = nbi();\n var t;\n i = nbits(e[j]) - 1;\n while (j >= 0) {\n if (i >= k1) {\n w = (e[j] >> (i - k1)) & km;\n }\n else {\n w = (e[j] & ((1 << (i + 1)) - 1)) << (k1 - i);\n if (j > 0) {\n w |= e[j - 1] >> (this.DB + i - k1);\n }\n }\n n = k;\n while ((w & 1) == 0) {\n w >>= 1;\n --n;\n }\n if ((i -= n) < 0) {\n i += this.DB;\n --j;\n }\n if (is1) { // ret == 1, don't bother squaring or multiplying it\n g[w].copyTo(r);\n is1 = false;\n }\n else {\n while (n > 1) {\n z.sqrTo(r, r2);\n z.sqrTo(r2, r);\n n -= 2;\n }\n if (n > 0) {\n z.sqrTo(r, r2);\n }\n else {\n t = r;\n r = r2;\n r2 = t;\n }\n z.mulTo(r2, g[w], r);\n }\n while (j >= 0 && (e[j] & (1 << i)) == 0) {\n z.sqrTo(r, r2);\n t = r;\n r = r2;\n r2 = t;\n if (--i < 0) {\n i = this.DB - 1;\n --j;\n }\n }\n }\n return z.revert(r);\n };\n // BigInteger.prototype.modInverse = bnModInverse;\n // (public) 1/this % m (HAC 14.61)\n BigInteger.prototype.modInverse = function (m) {\n var ac = m.isEven();\n if ((this.isEven() && ac) || m.signum() == 0) {\n return BigInteger.ZERO;\n }\n var u = m.clone();\n var v = this.clone();\n var a = nbv(1);\n var b = nbv(0);\n var c = nbv(0);\n var d = nbv(1);\n while (u.signum() != 0) {\n while (u.isEven()) {\n u.rShiftTo(1, u);\n if (ac) {\n if (!a.isEven() || !b.isEven()) {\n a.addTo(this, a);\n b.subTo(m, b);\n }\n a.rShiftTo(1, a);\n }\n else if (!b.isEven()) {\n b.subTo(m, b);\n }\n b.rShiftTo(1, b);\n }\n while (v.isEven()) {\n v.rShiftTo(1, v);\n if (ac) {\n if (!c.isEven() || !d.isEven()) {\n c.addTo(this, c);\n d.subTo(m, d);\n }\n c.rShiftTo(1, c);\n }\n else if (!d.isEven()) {\n d.subTo(m, d);\n }\n d.rShiftTo(1, d);\n }\n if (u.compareTo(v) >= 0) {\n u.subTo(v, u);\n if (ac) {\n a.subTo(c, a);\n }\n b.subTo(d, b);\n }\n else {\n v.subTo(u, v);\n if (ac) {\n c.subTo(a, c);\n }\n d.subTo(b, d);\n }\n }\n if (v.compareTo(BigInteger.ONE) != 0) {\n return BigInteger.ZERO;\n }\n if (d.compareTo(m) >= 0) {\n return d.subtract(m);\n }\n if (d.signum() < 0) {\n d.addTo(m, d);\n }\n else {\n return d;\n }\n if (d.signum() < 0) {\n return d.add(m);\n }\n else {\n return d;\n }\n };\n // BigInteger.prototype.pow = bnPow;\n // (public) this^e\n BigInteger.prototype.pow = function (e) {\n return this.exp(e, new NullExp());\n };\n // BigInteger.prototype.gcd = bnGCD;\n // (public) gcd(this,a) (HAC 14.54)\n BigInteger.prototype.gcd = function (a) {\n var x = (this.s < 0) ? this.negate() : this.clone();\n var y = (a.s < 0) ? a.negate() : a.clone();\n if (x.compareTo(y) < 0) {\n var t = x;\n x = y;\n y = t;\n }\n var i = x.getLowestSetBit();\n var g = y.getLowestSetBit();\n if (g < 0) {\n return x;\n }\n if (i < g) {\n g = i;\n }\n if (g > 0) {\n x.rShiftTo(g, x);\n y.rShiftTo(g, y);\n }\n while (x.signum() > 0) {\n if ((i = x.getLowestSetBit()) > 0) {\n x.rShiftTo(i, x);\n }\n if ((i = y.getLowestSetBit()) > 0) {\n y.rShiftTo(i, y);\n }\n if (x.compareTo(y) >= 0) {\n x.subTo(y, x);\n x.rShiftTo(1, x);\n }\n else {\n y.subTo(x, y);\n y.rShiftTo(1, y);\n }\n }\n if (g > 0) {\n y.lShiftTo(g, y);\n }\n return y;\n };\n // BigInteger.prototype.isProbablePrime = bnIsProbablePrime;\n // (public) test primality with certainty >= 1-.5^t\n BigInteger.prototype.isProbablePrime = function (t) {\n var i;\n var x = this.abs();\n if (x.t == 1 && x[0] <= lowprimes[lowprimes.length - 1]) {\n for (i = 0; i < lowprimes.length; ++i) {\n if (x[0] == lowprimes[i]) {\n return true;\n }\n }\n return false;\n }\n if (x.isEven()) {\n return false;\n }\n i = 1;\n while (i < lowprimes.length) {\n var m = lowprimes[i];\n var j = i + 1;\n while (j < lowprimes.length && m < lplim) {\n m *= lowprimes[j++];\n }\n m = x.modInt(m);\n while (i < j) {\n if (m % lowprimes[i++] == 0) {\n return false;\n }\n }\n }\n return x.millerRabin(t);\n };\n //#endregion PUBLIC\n //#region PROTECTED\n // BigInteger.prototype.copyTo = bnpCopyTo;\n // (protected) copy this to r\n BigInteger.prototype.copyTo = function (r) {\n for (var i = this.t - 1; i >= 0; --i) {\n r[i] = this[i];\n }\n r.t = this.t;\n r.s = this.s;\n };\n // BigInteger.prototype.fromInt = bnpFromInt;\n // (protected) set from integer value x, -DV <= x < DV\n BigInteger.prototype.fromInt = function (x) {\n this.t = 1;\n this.s = (x < 0) ? -1 : 0;\n if (x > 0) {\n this[0] = x;\n }\n else if (x < -1) {\n this[0] = x + this.DV;\n }\n else {\n this.t = 0;\n }\n };\n // BigInteger.prototype.fromString = bnpFromString;\n // (protected) set from string and radix\n BigInteger.prototype.fromString = function (s, b) {\n var k;\n if (b == 16) {\n k = 4;\n }\n else if (b == 8) {\n k = 3;\n }\n else if (b == 256) {\n k = 8;\n /* byte array */\n }\n else if (b == 2) {\n k = 1;\n }\n else if (b == 32) {\n k = 5;\n }\n else if (b == 4) {\n k = 2;\n }\n else {\n this.fromRadix(s, b);\n return;\n }\n this.t = 0;\n this.s = 0;\n var i = s.length;\n var mi = false;\n var sh = 0;\n while (--i >= 0) {\n var x = (k == 8) ? (+s[i]) & 0xff : intAt(s, i);\n if (x < 0) {\n if (s.charAt(i) == \"-\") {\n mi = true;\n }\n continue;\n }\n mi = false;\n if (sh == 0) {\n this[this.t++] = x;\n }\n else if (sh + k > this.DB) {\n this[this.t - 1] |= (x & ((1 << (this.DB - sh)) - 1)) << sh;\n this[this.t++] = (x >> (this.DB - sh));\n }\n else {\n this[this.t - 1] |= x << sh;\n }\n sh += k;\n if (sh >= this.DB) {\n sh -= this.DB;\n }\n }\n if (k == 8 && ((+s[0]) & 0x80) != 0) {\n this.s = -1;\n if (sh > 0) {\n this[this.t - 1] |= ((1 << (this.DB - sh)) - 1) << sh;\n }\n }\n this.clamp();\n if (mi) {\n BigInteger.ZERO.subTo(this, this);\n }\n };\n // BigInteger.prototype.clamp = bnpClamp;\n // (protected) clamp off excess high words\n BigInteger.prototype.clamp = function () {\n var c = this.s & this.DM;\n while (this.t > 0 && this[this.t - 1] == c) {\n --this.t;\n }\n };\n // BigInteger.prototype.dlShiftTo = bnpDLShiftTo;\n // (protected) r = this << n*DB\n BigInteger.prototype.dlShiftTo = function (n, r) {\n var i;\n for (i = this.t - 1; i >= 0; --i) {\n r[i + n] = this[i];\n }\n for (i = n - 1; i >= 0; --i) {\n r[i] = 0;\n }\n r.t = this.t + n;\n r.s = this.s;\n };\n // BigInteger.prototype.drShiftTo = bnpDRShiftTo;\n // (protected) r = this >> n*DB\n BigInteger.prototype.drShiftTo = function (n, r) {\n for (var i = n; i < this.t; ++i) {\n r[i - n] = this[i];\n }\n r.t = Math.max(this.t - n, 0);\n r.s = this.s;\n };\n // BigInteger.prototype.lShiftTo = bnpLShiftTo;\n // (protected) r = this << n\n BigInteger.prototype.lShiftTo = function (n, r) {\n var bs = n % this.DB;\n var cbs = this.DB - bs;\n var bm = (1 << cbs) - 1;\n var ds = Math.floor(n / this.DB);\n var c = (this.s << bs) & this.DM;\n for (var i = this.t - 1; i >= 0; --i) {\n r[i + ds + 1] = (this[i] >> cbs) | c;\n c = (this[i] & bm) << bs;\n }\n for (var i = ds - 1; i >= 0; --i) {\n r[i] = 0;\n }\n r[ds] = c;\n r.t = this.t + ds + 1;\n r.s = this.s;\n r.clamp();\n };\n // BigInteger.prototype.rShiftTo = bnpRShiftTo;\n // (protected) r = this >> n\n BigInteger.prototype.rShiftTo = function (n, r) {\n r.s = this.s;\n var ds = Math.floor(n / this.DB);\n if (ds >= this.t) {\n r.t = 0;\n return;\n }\n var bs = n % this.DB;\n var cbs = this.DB - bs;\n var bm = (1 << bs) - 1;\n r[0] = this[ds] >> bs;\n for (var i = ds + 1; i < this.t; ++i) {\n r[i - ds - 1] |= (this[i] & bm) << cbs;\n r[i - ds] = this[i] >> bs;\n }\n if (bs > 0) {\n r[this.t - ds - 1] |= (this.s & bm) << cbs;\n }\n r.t = this.t - ds;\n r.clamp();\n };\n // BigInteger.prototype.subTo = bnpSubTo;\n // (protected) r = this - a\n BigInteger.prototype.subTo = function (a, r) {\n var i = 0;\n var c = 0;\n var m = Math.min(a.t, this.t);\n while (i < m) {\n c += this[i] - a[i];\n r[i++] = c & this.DM;\n c >>= this.DB;\n }\n if (a.t < this.t) {\n c -= a.s;\n while (i < this.t) {\n c += this[i];\n r[i++] = c & this.DM;\n c >>= this.DB;\n }\n c += this.s;\n }\n else {\n c += this.s;\n while (i < a.t) {\n c -= a[i];\n r[i++] = c & this.DM;\n c >>= this.DB;\n }\n c -= a.s;\n }\n r.s = (c < 0) ? -1 : 0;\n if (c < -1) {\n r[i++] = this.DV + c;\n }\n else if (c > 0) {\n r[i++] = c;\n }\n r.t = i;\n r.clamp();\n };\n // BigInteger.prototype.multiplyTo = bnpMultiplyTo;\n // (protected) r = this * a, r != this,a (HAC 14.12)\n // \"this\" should be the larger one if appropriate.\n BigInteger.prototype.multiplyTo = function (a, r) {\n var x = this.abs();\n var y = a.abs();\n var i = x.t;\n r.t = i + y.t;\n while (--i >= 0) {\n r[i] = 0;\n }\n for (i = 0; i < y.t; ++i) {\n r[i + x.t] = x.am(0, y[i], r, i, 0, x.t);\n }\n r.s = 0;\n r.clamp();\n if (this.s != a.s) {\n BigInteger.ZERO.subTo(r, r);\n }\n };\n // BigInteger.prototype.squareTo = bnpSquareTo;\n // (protected) r = this^2, r != this (HAC 14.16)\n BigInteger.prototype.squareTo = function (r) {\n var x = this.abs();\n var i = r.t = 2 * x.t;\n while (--i >= 0) {\n r[i] = 0;\n }\n for (i = 0; i < x.t - 1; ++i) {\n var c = x.am(i, x[i], r, 2 * i, 0, 1);\n if ((r[i + x.t] += x.am(i + 1, 2 * x[i], r, 2 * i + 1, c, x.t - i - 1)) >= x.DV) {\n r[i + x.t] -= x.DV;\n r[i + x.t + 1] = 1;\n }\n }\n if (r.t > 0) {\n r[r.t - 1] += x.am(i, x[i], r, 2 * i, 0, 1);\n }\n r.s = 0;\n r.clamp();\n };\n // BigInteger.prototype.divRemTo = bnpDivRemTo;\n // (protected) divide this by m, quotient and remainder to q, r (HAC 14.20)\n // r != q, this != m. q or r may be null.\n BigInteger.prototype.divRemTo = function (m, q, r) {\n var pm = m.abs();\n if (pm.t <= 0) {\n return;\n }\n var pt = this.abs();\n if (pt.t < pm.t) {\n if (q != null) {\n q.fromInt(0);\n }\n if (r != null) {\n this.copyTo(r);\n }\n return;\n }\n if (r == null) {\n r = nbi();\n }\n var y = nbi();\n var ts = this.s;\n var ms = m.s;\n var nsh = this.DB - nbits(pm[pm.t - 1]); // normalize modulus\n if (nsh > 0) {\n pm.lShiftTo(nsh, y);\n pt.lShiftTo(nsh, r);\n }\n else {\n pm.copyTo(y);\n pt.copyTo(r);\n }\n var ys = y.t;\n var y0 = y[ys - 1];\n if (y0 == 0) {\n return;\n }\n var yt = y0 * (1 << this.F1) + ((ys > 1) ? y[ys - 2] >> this.F2 : 0);\n var d1 = this.FV / yt;\n var d2 = (1 << this.F1) / yt;\n var e = 1 << this.F2;\n var i = r.t;\n var j = i - ys;\n var t = (q == null) ? nbi() : q;\n y.dlShiftTo(j, t);\n if (r.compareTo(t) >= 0) {\n r[r.t++] = 1;\n r.subTo(t, r);\n }\n BigInteger.ONE.dlShiftTo(ys, t);\n t.subTo(y, y); // \"negative\" y so we can replace sub with am later\n while (y.t < ys) {\n y[y.t++] = 0;\n }\n while (--j >= 0) {\n // Estimate quotient digit\n var qd = (r[--i] == y0) ? this.DM : Math.floor(r[i] * d1 + (r[i - 1] + e) * d2);\n if ((r[i] += y.am(0, qd, r, j, 0, ys)) < qd) { // Try it out\n y.dlShiftTo(j, t);\n r.subTo(t, r);\n while (r[i] < --qd) {\n r.subTo(t, r);\n }\n }\n }\n if (q != null) {\n r.drShiftTo(ys, q);\n if (ts != ms) {\n BigInteger.ZERO.subTo(q, q);\n }\n }\n r.t = ys;\n r.clamp();\n if (nsh > 0) {\n r.rShiftTo(nsh, r);\n } // Denormalize remainder\n if (ts < 0) {\n BigInteger.ZERO.subTo(r, r);\n }\n };\n // BigInteger.prototype.invDigit = bnpInvDigit;\n // (protected) return \"-1/this % 2^DB\"; useful for Mont. reduction\n // justification:\n // xy == 1 (mod m)\n // xy = 1+km\n // xy(2-xy) = (1+km)(1-km)\n // x[y(2-xy)] = 1-k^2m^2\n // x[y(2-xy)] == 1 (mod m^2)\n // if y is 1/x mod m, then y(2-xy) is 1/x mod m^2\n // should reduce x and y(2-xy) by m^2 at each step to keep size bounded.\n // JS multiply \"overflows\" differently from C/C++, so care is needed here.\n BigInteger.prototype.invDigit = function () {\n if (this.t < 1) {\n return 0;\n }\n var x = this[0];\n if ((x & 1) == 0) {\n return 0;\n }\n var y = x & 3; // y == 1/x mod 2^2\n y = (y * (2 - (x & 0xf) * y)) & 0xf; // y == 1/x mod 2^4\n y = (y * (2 - (x & 0xff) * y)) & 0xff; // y == 1/x mod 2^8\n y = (y * (2 - (((x & 0xffff) * y) & 0xffff))) & 0xffff; // y == 1/x mod 2^16\n // last step - calculate inverse mod DV directly;\n // assumes 16 < DB <= 32 and assumes ability to handle 48-bit ints\n y = (y * (2 - x * y % this.DV)) % this.DV; // y == 1/x mod 2^dbits\n // we really want the negative inverse, and -DV < y < DV\n return (y > 0) ? this.DV - y : -y;\n };\n // BigInteger.prototype.isEven = bnpIsEven;\n // (protected) true iff this is even\n BigInteger.prototype.isEven = function () {\n return ((this.t > 0) ? (this[0] & 1) : this.s) == 0;\n };\n // BigInteger.prototype.exp = bnpExp;\n // (protected) this^e, e < 2^32, doing sqr and mul with \"r\" (HAC 14.79)\n BigInteger.prototype.exp = function (e, z) {\n if (e > 0xffffffff || e < 1) {\n return BigInteger.ONE;\n }\n var r = nbi();\n var r2 = nbi();\n var g = z.convert(this);\n var i = nbits(e) - 1;\n g.copyTo(r);\n while (--i >= 0) {\n z.sqrTo(r, r2);\n if ((e & (1 << i)) > 0) {\n z.mulTo(r2, g, r);\n }\n else {\n var t = r;\n r = r2;\n r2 = t;\n }\n }\n return z.revert(r);\n };\n // BigInteger.prototype.chunkSize = bnpChunkSize;\n // (protected) return x s.t. r^x < DV\n BigInteger.prototype.chunkSize = function (r) {\n return Math.floor(Math.LN2 * this.DB / Math.log(r));\n };\n // BigInteger.prototype.toRadix = bnpToRadix;\n // (protected) convert to radix string\n BigInteger.prototype.toRadix = function (b) {\n if (b == null) {\n b = 10;\n }\n if (this.signum() == 0 || b < 2 || b > 36) {\n return \"0\";\n }\n var cs = this.chunkSize(b);\n var a = Math.pow(b, cs);\n var d = nbv(a);\n var y = nbi();\n var z = nbi();\n var r = \"\";\n this.divRemTo(d, y, z);\n while (y.signum() > 0) {\n r = (a + z.intValue()).toString(b).substr(1) + r;\n y.divRemTo(d, y, z);\n }\n return z.intValue().toString(b) + r;\n };\n // BigInteger.prototype.fromRadix = bnpFromRadix;\n // (protected) convert from radix string\n BigInteger.prototype.fromRadix = function (s, b) {\n this.fromInt(0);\n if (b == null) {\n b = 10;\n }\n var cs = this.chunkSize(b);\n var d = Math.pow(b, cs);\n var mi = false;\n var j = 0;\n var w = 0;\n for (var i = 0; i < s.length; ++i) {\n var x = intAt(s, i);\n if (x < 0) {\n if (s.charAt(i) == \"-\" && this.signum() == 0) {\n mi = true;\n }\n continue;\n }\n w = b * w + x;\n if (++j >= cs) {\n this.dMultiply(d);\n this.dAddOffset(w, 0);\n j = 0;\n w = 0;\n }\n }\n if (j > 0) {\n this.dMultiply(Math.pow(b, j));\n this.dAddOffset(w, 0);\n }\n if (mi) {\n BigInteger.ZERO.subTo(this, this);\n }\n };\n // BigInteger.prototype.fromNumber = bnpFromNumber;\n // (protected) alternate constructor\n BigInteger.prototype.fromNumber = function (a, b, c) {\n if (\"number\" == typeof b) {\n // new BigInteger(int,int,RNG)\n if (a < 2) {\n this.fromInt(1);\n }\n else {\n this.fromNumber(a, c);\n if (!this.testBit(a - 1)) {\n // force MSB set\n this.bitwiseTo(BigInteger.ONE.shiftLeft(a - 1), _util__WEBPACK_IMPORTED_MODULE_0__.op_or, this);\n }\n if (this.isEven()) {\n this.dAddOffset(1, 0);\n } // force odd\n while (!this.isProbablePrime(b)) {\n this.dAddOffset(2, 0);\n if (this.bitLength() > a) {\n this.subTo(BigInteger.ONE.shiftLeft(a - 1), this);\n }\n }\n }\n }\n else {\n // new BigInteger(int,RNG)\n var x = [];\n var t = a & 7;\n x.length = (a >> 3) + 1;\n b.nextBytes(x);\n if (t > 0) {\n x[0] &= ((1 << t) - 1);\n }\n else {\n x[0] = 0;\n }\n this.fromString(x, 256);\n }\n };\n // BigInteger.prototype.bitwiseTo = bnpBitwiseTo;\n // (protected) r = this op a (bitwise)\n BigInteger.prototype.bitwiseTo = function (a, op, r) {\n var i;\n var f;\n var m = Math.min(a.t, this.t);\n for (i = 0; i < m; ++i) {\n r[i] = op(this[i], a[i]);\n }\n if (a.t < this.t) {\n f = a.s & this.DM;\n for (i = m; i < this.t; ++i) {\n r[i] = op(this[i], f);\n }\n r.t = this.t;\n }\n else {\n f = this.s & this.DM;\n for (i = m; i < a.t; ++i) {\n r[i] = op(f, a[i]);\n }\n r.t = a.t;\n }\n r.s = op(this.s, a.s);\n r.clamp();\n };\n // BigInteger.prototype.changeBit = bnpChangeBit;\n // (protected) this op (1<>= this.DB;\n }\n if (a.t < this.t) {\n c += a.s;\n while (i < this.t) {\n c += this[i];\n r[i++] = c & this.DM;\n c >>= this.DB;\n }\n c += this.s;\n }\n else {\n c += this.s;\n while (i < a.t) {\n c += a[i];\n r[i++] = c & this.DM;\n c >>= this.DB;\n }\n c += a.s;\n }\n r.s = (c < 0) ? -1 : 0;\n if (c > 0) {\n r[i++] = c;\n }\n else if (c < -1) {\n r[i++] = this.DV + c;\n }\n r.t = i;\n r.clamp();\n };\n // BigInteger.prototype.dMultiply = bnpDMultiply;\n // (protected) this *= n, this >= 0, 1 < n < DV\n BigInteger.prototype.dMultiply = function (n) {\n this[this.t] = this.am(0, n - 1, this, 0, 0, this.t);\n ++this.t;\n this.clamp();\n };\n // BigInteger.prototype.dAddOffset = bnpDAddOffset;\n // (protected) this += n << w words, this >= 0\n BigInteger.prototype.dAddOffset = function (n, w) {\n if (n == 0) {\n return;\n }\n while (this.t <= w) {\n this[this.t++] = 0;\n }\n this[w] += n;\n while (this[w] >= this.DV) {\n this[w] -= this.DV;\n if (++w >= this.t) {\n this[this.t++] = 0;\n }\n ++this[w];\n }\n };\n // BigInteger.prototype.multiplyLowerTo = bnpMultiplyLowerTo;\n // (protected) r = lower n words of \"this * a\", a.t <= n\n // \"this\" should be the larger one if appropriate.\n BigInteger.prototype.multiplyLowerTo = function (a, n, r) {\n var i = Math.min(this.t + a.t, n);\n r.s = 0; // assumes a,this >= 0\n r.t = i;\n while (i > 0) {\n r[--i] = 0;\n }\n for (var j = r.t - this.t; i < j; ++i) {\n r[i + this.t] = this.am(0, a[i], r, i, 0, this.t);\n }\n for (var j = Math.min(a.t, n); i < j; ++i) {\n this.am(0, a[i], r, i, 0, n - i);\n }\n r.clamp();\n };\n // BigInteger.prototype.multiplyUpperTo = bnpMultiplyUpperTo;\n // (protected) r = \"this * a\" without lower n words, n > 0\n // \"this\" should be the larger one if appropriate.\n BigInteger.prototype.multiplyUpperTo = function (a, n, r) {\n --n;\n var i = r.t = this.t + a.t - n;\n r.s = 0; // assumes a,this >= 0\n while (--i >= 0) {\n r[i] = 0;\n }\n for (i = Math.max(n - this.t, 0); i < a.t; ++i) {\n r[this.t + i - n] = this.am(n - i, a[i], r, 0, 0, this.t + i - n);\n }\n r.clamp();\n r.drShiftTo(1, r);\n };\n // BigInteger.prototype.modInt = bnpModInt;\n // (protected) this % n, n < 2^26\n BigInteger.prototype.modInt = function (n) {\n if (n <= 0) {\n return 0;\n }\n var d = this.DV % n;\n var r = (this.s < 0) ? n - 1 : 0;\n if (this.t > 0) {\n if (d == 0) {\n r = this[0] % n;\n }\n else {\n for (var i = this.t - 1; i >= 0; --i) {\n r = (d * r + this[i]) % n;\n }\n }\n }\n return r;\n };\n // BigInteger.prototype.millerRabin = bnpMillerRabin;\n // (protected) true if probably prime (HAC 4.24, Miller-Rabin)\n BigInteger.prototype.millerRabin = function (t) {\n var n1 = this.subtract(BigInteger.ONE);\n var k = n1.getLowestSetBit();\n if (k <= 0) {\n return false;\n }\n var r = n1.shiftRight(k);\n t = (t + 1) >> 1;\n if (t > lowprimes.length) {\n t = lowprimes.length;\n }\n var a = nbi();\n for (var i = 0; i < t; ++i) {\n // Pick bases at random, instead of starting at 2\n a.fromInt(lowprimes[Math.floor(Math.random() * lowprimes.length)]);\n var y = a.modPow(r, this);\n if (y.compareTo(BigInteger.ONE) != 0 && y.compareTo(n1) != 0) {\n var j = 1;\n while (j++ < k && y.compareTo(n1) != 0) {\n y = y.modPowInt(2, this);\n if (y.compareTo(BigInteger.ONE) == 0) {\n return false;\n }\n }\n if (y.compareTo(n1) != 0) {\n return false;\n }\n }\n }\n return true;\n };\n // BigInteger.prototype.square = bnSquare;\n // (public) this^2\n BigInteger.prototype.square = function () {\n var r = nbi();\n this.squareTo(r);\n return r;\n };\n //#region ASYNC\n // Public API method\n BigInteger.prototype.gcda = function (a, callback) {\n var x = (this.s < 0) ? this.negate() : this.clone();\n var y = (a.s < 0) ? a.negate() : a.clone();\n if (x.compareTo(y) < 0) {\n var t = x;\n x = y;\n y = t;\n }\n var i = x.getLowestSetBit();\n var g = y.getLowestSetBit();\n if (g < 0) {\n callback(x);\n return;\n }\n if (i < g) {\n g = i;\n }\n if (g > 0) {\n x.rShiftTo(g, x);\n y.rShiftTo(g, y);\n }\n // Workhorse of the algorithm, gets called 200 - 800 times per 512 bit keygen.\n var gcda1 = function () {\n if ((i = x.getLowestSetBit()) > 0) {\n x.rShiftTo(i, x);\n }\n if ((i = y.getLowestSetBit()) > 0) {\n y.rShiftTo(i, y);\n }\n if (x.compareTo(y) >= 0) {\n x.subTo(y, x);\n x.rShiftTo(1, x);\n }\n else {\n y.subTo(x, y);\n y.rShiftTo(1, y);\n }\n if (!(x.signum() > 0)) {\n if (g > 0) {\n y.lShiftTo(g, y);\n }\n setTimeout(function () { callback(y); }, 0); // escape\n }\n else {\n setTimeout(gcda1, 0);\n }\n };\n setTimeout(gcda1, 10);\n };\n // (protected) alternate constructor\n BigInteger.prototype.fromNumberAsync = function (a, b, c, callback) {\n if (\"number\" == typeof b) {\n if (a < 2) {\n this.fromInt(1);\n }\n else {\n this.fromNumber(a, c);\n if (!this.testBit(a - 1)) {\n this.bitwiseTo(BigInteger.ONE.shiftLeft(a - 1), _util__WEBPACK_IMPORTED_MODULE_0__.op_or, this);\n }\n if (this.isEven()) {\n this.dAddOffset(1, 0);\n }\n var bnp_1 = this;\n var bnpfn1_1 = function () {\n bnp_1.dAddOffset(2, 0);\n if (bnp_1.bitLength() > a) {\n bnp_1.subTo(BigInteger.ONE.shiftLeft(a - 1), bnp_1);\n }\n if (bnp_1.isProbablePrime(b)) {\n setTimeout(function () { callback(); }, 0); // escape\n }\n else {\n setTimeout(bnpfn1_1, 0);\n }\n };\n setTimeout(bnpfn1_1, 0);\n }\n }\n else {\n var x = [];\n var t = a & 7;\n x.length = (a >> 3) + 1;\n b.nextBytes(x);\n if (t > 0) {\n x[0] &= ((1 << t) - 1);\n }\n else {\n x[0] = 0;\n }\n this.fromString(x, 256);\n }\n };\n return BigInteger;\n}());\n\n//#region REDUCERS\n//#region NullExp\nvar NullExp = /** @class */ (function () {\n function NullExp() {\n }\n // NullExp.prototype.convert = nNop;\n NullExp.prototype.convert = function (x) {\n return x;\n };\n // NullExp.prototype.revert = nNop;\n NullExp.prototype.revert = function (x) {\n return x;\n };\n // NullExp.prototype.mulTo = nMulTo;\n NullExp.prototype.mulTo = function (x, y, r) {\n x.multiplyTo(y, r);\n };\n // NullExp.prototype.sqrTo = nSqrTo;\n NullExp.prototype.sqrTo = function (x, r) {\n x.squareTo(r);\n };\n return NullExp;\n}());\n// Modular reduction using \"classic\" algorithm\nvar Classic = /** @class */ (function () {\n function Classic(m) {\n this.m = m;\n }\n // Classic.prototype.convert = cConvert;\n Classic.prototype.convert = function (x) {\n if (x.s < 0 || x.compareTo(this.m) >= 0) {\n return x.mod(this.m);\n }\n else {\n return x;\n }\n };\n // Classic.prototype.revert = cRevert;\n Classic.prototype.revert = function (x) {\n return x;\n };\n // Classic.prototype.reduce = cReduce;\n Classic.prototype.reduce = function (x) {\n x.divRemTo(this.m, null, x);\n };\n // Classic.prototype.mulTo = cMulTo;\n Classic.prototype.mulTo = function (x, y, r) {\n x.multiplyTo(y, r);\n this.reduce(r);\n };\n // Classic.prototype.sqrTo = cSqrTo;\n Classic.prototype.sqrTo = function (x, r) {\n x.squareTo(r);\n this.reduce(r);\n };\n return Classic;\n}());\n//#endregion\n//#region Montgomery\n// Montgomery reduction\nvar Montgomery = /** @class */ (function () {\n function Montgomery(m) {\n this.m = m;\n this.mp = m.invDigit();\n this.mpl = this.mp & 0x7fff;\n this.mph = this.mp >> 15;\n this.um = (1 << (m.DB - 15)) - 1;\n this.mt2 = 2 * m.t;\n }\n // Montgomery.prototype.convert = montConvert;\n // xR mod m\n Montgomery.prototype.convert = function (x) {\n var r = nbi();\n x.abs().dlShiftTo(this.m.t, r);\n r.divRemTo(this.m, null, r);\n if (x.s < 0 && r.compareTo(BigInteger.ZERO) > 0) {\n this.m.subTo(r, r);\n }\n return r;\n };\n // Montgomery.prototype.revert = montRevert;\n // x/R mod m\n Montgomery.prototype.revert = function (x) {\n var r = nbi();\n x.copyTo(r);\n this.reduce(r);\n return r;\n };\n // Montgomery.prototype.reduce = montReduce;\n // x = x/R mod m (HAC 14.32)\n Montgomery.prototype.reduce = function (x) {\n while (x.t <= this.mt2) {\n // pad x so am has enough room later\n x[x.t++] = 0;\n }\n for (var i = 0; i < this.m.t; ++i) {\n // faster way of calculating u0 = x[i]*mp mod DV\n var j = x[i] & 0x7fff;\n var u0 = (j * this.mpl + (((j * this.mph + (x[i] >> 15) * this.mpl) & this.um) << 15)) & x.DM;\n // use am to combine the multiply-shift-add into one call\n j = i + this.m.t;\n x[j] += this.m.am(0, u0, x, i, 0, this.m.t);\n // propagate carry\n while (x[j] >= x.DV) {\n x[j] -= x.DV;\n x[++j]++;\n }\n }\n x.clamp();\n x.drShiftTo(this.m.t, x);\n if (x.compareTo(this.m) >= 0) {\n x.subTo(this.m, x);\n }\n };\n // Montgomery.prototype.mulTo = montMulTo;\n // r = \"xy/R mod m\"; x,y != r\n Montgomery.prototype.mulTo = function (x, y, r) {\n x.multiplyTo(y, r);\n this.reduce(r);\n };\n // Montgomery.prototype.sqrTo = montSqrTo;\n // r = \"x^2/R mod m\"; x != r\n Montgomery.prototype.sqrTo = function (x, r) {\n x.squareTo(r);\n this.reduce(r);\n };\n return Montgomery;\n}());\n//#endregion Montgomery\n//#region Barrett\n// Barrett modular reduction\nvar Barrett = /** @class */ (function () {\n function Barrett(m) {\n this.m = m;\n // setup Barrett\n this.r2 = nbi();\n this.q3 = nbi();\n BigInteger.ONE.dlShiftTo(2 * m.t, this.r2);\n this.mu = this.r2.divide(m);\n }\n // Barrett.prototype.convert = barrettConvert;\n Barrett.prototype.convert = function (x) {\n if (x.s < 0 || x.t > 2 * this.m.t) {\n return x.mod(this.m);\n }\n else if (x.compareTo(this.m) < 0) {\n return x;\n }\n else {\n var r = nbi();\n x.copyTo(r);\n this.reduce(r);\n return r;\n }\n };\n // Barrett.prototype.revert = barrettRevert;\n Barrett.prototype.revert = function (x) {\n return x;\n };\n // Barrett.prototype.reduce = barrettReduce;\n // x = x mod m (HAC 14.42)\n Barrett.prototype.reduce = function (x) {\n x.drShiftTo(this.m.t - 1, this.r2);\n if (x.t > this.m.t + 1) {\n x.t = this.m.t + 1;\n x.clamp();\n }\n this.mu.multiplyUpperTo(this.r2, this.m.t + 1, this.q3);\n this.m.multiplyLowerTo(this.q3, this.m.t + 1, this.r2);\n while (x.compareTo(this.r2) < 0) {\n x.dAddOffset(1, this.m.t + 1);\n }\n x.subTo(this.r2, x);\n while (x.compareTo(this.m) >= 0) {\n x.subTo(this.m, x);\n }\n };\n // Barrett.prototype.mulTo = barrettMulTo;\n // r = x*y mod m; x,y != r\n Barrett.prototype.mulTo = function (x, y, r) {\n x.multiplyTo(y, r);\n this.reduce(r);\n };\n // Barrett.prototype.sqrTo = barrettSqrTo;\n // r = x^2 mod m; x != r\n Barrett.prototype.sqrTo = function (x, r) {\n x.squareTo(r);\n this.reduce(r);\n };\n return Barrett;\n}());\n//#endregion\n//#endregion REDUCERS\n// return new, unset BigInteger\nfunction nbi() { return new BigInteger(null); }\nfunction parseBigInt(str, r) {\n return new BigInteger(str, r);\n}\n// am: Compute w_j += (x*this_i), propagate carries,\n// c is initial carry, returns final carry.\n// c < 3*dvalue, x < 2*dvalue, this_i < dvalue\n// We need to select the fastest one that works in this environment.\nvar inBrowser = typeof navigator !== \"undefined\";\nif (inBrowser && j_lm && (navigator.appName == \"Microsoft Internet Explorer\")) {\n // am2 avoids a big mult-and-extract completely.\n // Max digit bits should be <= 30 because we do bitwise ops\n // on values up to 2*hdvalue^2-hdvalue-1 (< 2^31)\n BigInteger.prototype.am = function am2(i, x, w, j, c, n) {\n var xl = x & 0x7fff;\n var xh = x >> 15;\n while (--n >= 0) {\n var l = this[i] & 0x7fff;\n var h = this[i++] >> 15;\n var m = xh * l + h * xl;\n l = xl * l + ((m & 0x7fff) << 15) + w[j] + (c & 0x3fffffff);\n c = (l >>> 30) + (m >>> 15) + xh * h + (c >>> 30);\n w[j++] = l & 0x3fffffff;\n }\n return c;\n };\n dbits = 30;\n}\nelse if (inBrowser && j_lm && (navigator.appName != \"Netscape\")) {\n // am1: use a single mult and divide to get the high bits,\n // max digit bits should be 26 because\n // max internal value = 2*dvalue^2-2*dvalue (< 2^53)\n BigInteger.prototype.am = function am1(i, x, w, j, c, n) {\n while (--n >= 0) {\n var v = x * this[i++] + w[j] + c;\n c = Math.floor(v / 0x4000000);\n w[j++] = v & 0x3ffffff;\n }\n return c;\n };\n dbits = 26;\n}\nelse { // Mozilla/Netscape seems to prefer am3\n // Alternately, set max digit bits to 28 since some\n // browsers slow down when dealing with 32-bit numbers.\n BigInteger.prototype.am = function am3(i, x, w, j, c, n) {\n var xl = x & 0x3fff;\n var xh = x >> 14;\n while (--n >= 0) {\n var l = this[i] & 0x3fff;\n var h = this[i++] >> 14;\n var m = xh * l + h * xl;\n l = xl * l + ((m & 0x3fff) << 14) + w[j] + c;\n c = (l >> 28) + (m >> 14) + xh * h;\n w[j++] = l & 0xfffffff;\n }\n return c;\n };\n dbits = 28;\n}\nBigInteger.prototype.DB = dbits;\nBigInteger.prototype.DM = ((1 << dbits) - 1);\nBigInteger.prototype.DV = (1 << dbits);\nvar BI_FP = 52;\nBigInteger.prototype.FV = Math.pow(2, BI_FP);\nBigInteger.prototype.F1 = BI_FP - dbits;\nBigInteger.prototype.F2 = 2 * dbits - BI_FP;\n// Digit conversions\nvar BI_RC = [];\nvar rr;\nvar vv;\nrr = \"0\".charCodeAt(0);\nfor (vv = 0; vv <= 9; ++vv) {\n BI_RC[rr++] = vv;\n}\nrr = \"a\".charCodeAt(0);\nfor (vv = 10; vv < 36; ++vv) {\n BI_RC[rr++] = vv;\n}\nrr = \"A\".charCodeAt(0);\nfor (vv = 10; vv < 36; ++vv) {\n BI_RC[rr++] = vv;\n}\nfunction intAt(s, i) {\n var c = BI_RC[s.charCodeAt(i)];\n return (c == null) ? -1 : c;\n}\n// return bigint initialized to value\nfunction nbv(i) {\n var r = nbi();\n r.fromInt(i);\n return r;\n}\n// returns bit length of the integer x\nfunction nbits(x) {\n var r = 1;\n var t;\n if ((t = x >>> 16) != 0) {\n x = t;\n r += 16;\n }\n if ((t = x >> 8) != 0) {\n x = t;\n r += 8;\n }\n if ((t = x >> 4) != 0) {\n x = t;\n r += 4;\n }\n if ((t = x >> 2) != 0) {\n x = t;\n r += 2;\n }\n if ((t = x >> 1) != 0) {\n x = t;\n r += 1;\n }\n return r;\n}\n// \"constants\"\nBigInteger.ZERO = nbv(0);\nBigInteger.ONE = nbv(1);\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/jsbn/jsbn.js?"); + +/***/ }), + +/***/ "./lib/lib/jsbn/prng4.js": +/*!*******************************!*\ + !*** ./lib/lib/jsbn/prng4.js ***! + \*******************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Arcfour\": () => (/* binding */ Arcfour),\n/* harmony export */ \"prng_newstate\": () => (/* binding */ prng_newstate),\n/* harmony export */ \"rng_psize\": () => (/* binding */ rng_psize)\n/* harmony export */ });\n// prng4.js - uses Arcfour as a PRNG\nvar Arcfour = /** @class */ (function () {\n function Arcfour() {\n this.i = 0;\n this.j = 0;\n this.S = [];\n }\n // Arcfour.prototype.init = ARC4init;\n // Initialize arcfour context from key, an array of ints, each from [0..255]\n Arcfour.prototype.init = function (key) {\n var i;\n var j;\n var t;\n for (i = 0; i < 256; ++i) {\n this.S[i] = i;\n }\n j = 0;\n for (i = 0; i < 256; ++i) {\n j = (j + this.S[i] + key[i % key.length]) & 255;\n t = this.S[i];\n this.S[i] = this.S[j];\n this.S[j] = t;\n }\n this.i = 0;\n this.j = 0;\n };\n // Arcfour.prototype.next = ARC4next;\n Arcfour.prototype.next = function () {\n var t;\n this.i = (this.i + 1) & 255;\n this.j = (this.j + this.S[this.i]) & 255;\n t = this.S[this.i];\n this.S[this.i] = this.S[this.j];\n this.S[this.j] = t;\n return this.S[(t + this.S[this.i]) & 255];\n };\n return Arcfour;\n}());\n\n// Plug in your RNG constructor here\nfunction prng_newstate() {\n return new Arcfour();\n}\n// Pool size must be a multiple of 4 and greater than 32.\n// An array of bytes the size of the pool will be passed to init()\nvar rng_psize = 256;\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/jsbn/prng4.js?"); + +/***/ }), + +/***/ "./lib/lib/jsbn/rng.js": +/*!*****************************!*\ + !*** ./lib/lib/jsbn/rng.js ***! + \*****************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"SecureRandom\": () => (/* binding */ SecureRandom)\n/* harmony export */ });\n/* harmony import */ var _prng4__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./prng4 */ \"./lib/lib/jsbn/prng4.js\");\n// Random number generator - requires a PRNG backend, e.g. prng4.js\n\nvar rng_state;\nvar rng_pool = null;\nvar rng_pptr;\n// Initialize the pool with junk if needed.\nif (rng_pool == null) {\n rng_pool = [];\n rng_pptr = 0;\n var t = void 0;\n if (typeof window !== 'undefined' && window.crypto && window.crypto.getRandomValues) {\n // Extract entropy (2048 bits) from RNG if available\n var z = new Uint32Array(256);\n window.crypto.getRandomValues(z);\n for (t = 0; t < z.length; ++t) {\n rng_pool[rng_pptr++] = z[t] & 255;\n }\n }\n // Use mouse events for entropy, if we do not have enough entropy by the time\n // we need it, entropy will be generated by Math.random.\n var count = 0;\n var onMouseMoveListener_1 = function (ev) {\n count = count || 0;\n if (count >= 256 || rng_pptr >= _prng4__WEBPACK_IMPORTED_MODULE_0__.rng_psize) {\n if (window.removeEventListener) {\n window.removeEventListener(\"mousemove\", onMouseMoveListener_1, false);\n }\n else if (window.detachEvent) {\n window.detachEvent(\"onmousemove\", onMouseMoveListener_1);\n }\n return;\n }\n try {\n var mouseCoordinates = ev.x + ev.y;\n rng_pool[rng_pptr++] = mouseCoordinates & 255;\n count += 1;\n }\n catch (e) {\n // Sometimes Firefox will deny permission to access event properties for some reason. Ignore.\n }\n };\n if (typeof window !== 'undefined') {\n if (window.addEventListener) {\n window.addEventListener(\"mousemove\", onMouseMoveListener_1, false);\n }\n else if (window.attachEvent) {\n window.attachEvent(\"onmousemove\", onMouseMoveListener_1);\n }\n }\n}\nfunction rng_get_byte() {\n if (rng_state == null) {\n rng_state = (0,_prng4__WEBPACK_IMPORTED_MODULE_0__.prng_newstate)();\n // At this point, we may not have collected enough entropy. If not, fall back to Math.random\n while (rng_pptr < _prng4__WEBPACK_IMPORTED_MODULE_0__.rng_psize) {\n var random = Math.floor(65536 * Math.random());\n rng_pool[rng_pptr++] = random & 255;\n }\n rng_state.init(rng_pool);\n for (rng_pptr = 0; rng_pptr < rng_pool.length; ++rng_pptr) {\n rng_pool[rng_pptr] = 0;\n }\n rng_pptr = 0;\n }\n // TODO: allow reseeding after first request\n return rng_state.next();\n}\nvar SecureRandom = /** @class */ (function () {\n function SecureRandom() {\n }\n SecureRandom.prototype.nextBytes = function (ba) {\n for (var i = 0; i < ba.length; ++i) {\n ba[i] = rng_get_byte();\n }\n };\n return SecureRandom;\n}());\n\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/jsbn/rng.js?"); + +/***/ }), + +/***/ "./lib/lib/jsbn/rsa.js": +/*!*****************************!*\ + !*** ./lib/lib/jsbn/rsa.js ***! + \*****************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"RSAKey\": () => (/* binding */ RSAKey)\n/* harmony export */ });\n/* harmony import */ var _jsbn__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./jsbn */ \"./lib/lib/jsbn/jsbn.js\");\n/* harmony import */ var _rng__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./rng */ \"./lib/lib/jsbn/rng.js\");\n// Depends on jsbn.js and rng.js\n// Version 1.1: support utf-8 encoding in pkcs1pad2\n// convert a (hex) string to a bignum object\n\n\n// function linebrk(s,n) {\n// var ret = \"\";\n// var i = 0;\n// while(i + n < s.length) {\n// ret += s.substring(i,i+n) + \"\\n\";\n// i += n;\n// }\n// return ret + s.substring(i,s.length);\n// }\n// function byte2Hex(b) {\n// if(b < 0x10)\n// return \"0\" + b.toString(16);\n// else\n// return b.toString(16);\n// }\nfunction pkcs1pad1(s, n) {\n if (n < s.length + 22) {\n console.error(\"Message too long for RSA\");\n return null;\n }\n var len = n - s.length - 6;\n var filler = \"\";\n for (var f = 0; f < len; f += 2) {\n filler += \"ff\";\n }\n var m = \"0001\" + filler + \"00\" + s;\n return (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.parseBigInt)(m, 16);\n}\n// PKCS#1 (type 2, random) pad input string s to n bytes, and return a bigint\nfunction pkcs1pad2(s, n) {\n if (n < s.length + 11) { // TODO: fix for utf-8\n console.error(\"Message too long for RSA\");\n return null;\n }\n var ba = [];\n var i = s.length - 1;\n while (i >= 0 && n > 0) {\n var c = s.charCodeAt(i--);\n if (c < 128) { // encode using utf-8\n ba[--n] = c;\n }\n else if ((c > 127) && (c < 2048)) {\n ba[--n] = (c & 63) | 128;\n ba[--n] = (c >> 6) | 192;\n }\n else {\n ba[--n] = (c & 63) | 128;\n ba[--n] = ((c >> 6) & 63) | 128;\n ba[--n] = (c >> 12) | 224;\n }\n }\n ba[--n] = 0;\n var rng = new _rng__WEBPACK_IMPORTED_MODULE_1__.SecureRandom();\n var x = [];\n while (n > 2) { // random non-zero pad\n x[0] = 0;\n while (x[0] == 0) {\n rng.nextBytes(x);\n }\n ba[--n] = x[0];\n }\n ba[--n] = 2;\n ba[--n] = 0;\n return new _jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger(ba);\n}\n// \"empty\" RSA key constructor\nvar RSAKey = /** @class */ (function () {\n function RSAKey() {\n this.n = null;\n this.e = 0;\n this.d = null;\n this.p = null;\n this.q = null;\n this.dmp1 = null;\n this.dmq1 = null;\n this.coeff = null;\n }\n //#region PROTECTED\n // protected\n // RSAKey.prototype.doPublic = RSADoPublic;\n // Perform raw public operation on \"x\": return x^e (mod n)\n RSAKey.prototype.doPublic = function (x) {\n return x.modPowInt(this.e, this.n);\n };\n // RSAKey.prototype.doPrivate = RSADoPrivate;\n // Perform raw private operation on \"x\": return x^d (mod n)\n RSAKey.prototype.doPrivate = function (x) {\n if (this.p == null || this.q == null) {\n return x.modPow(this.d, this.n);\n }\n // TODO: re-calculate any missing CRT params\n var xp = x.mod(this.p).modPow(this.dmp1, this.p);\n var xq = x.mod(this.q).modPow(this.dmq1, this.q);\n while (xp.compareTo(xq) < 0) {\n xp = xp.add(this.p);\n }\n return xp.subtract(xq).multiply(this.coeff).mod(this.p).multiply(this.q).add(xq);\n };\n //#endregion PROTECTED\n //#region PUBLIC\n // RSAKey.prototype.setPublic = RSASetPublic;\n // Set the public key fields N and e from hex strings\n RSAKey.prototype.setPublic = function (N, E) {\n if (N != null && E != null && N.length > 0 && E.length > 0) {\n this.n = (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.parseBigInt)(N, 16);\n this.e = parseInt(E, 16);\n }\n else {\n console.error(\"Invalid RSA public key\");\n }\n };\n // RSAKey.prototype.encrypt = RSAEncrypt;\n // Return the PKCS#1 RSA encryption of \"text\" as an even-length hex string\n RSAKey.prototype.encrypt = function (text) {\n var maxLength = (this.n.bitLength() + 7) >> 3;\n var m = pkcs1pad2(text, maxLength);\n if (m == null) {\n return null;\n }\n var c = this.doPublic(m);\n if (c == null) {\n return null;\n }\n var h = c.toString(16);\n var length = h.length;\n // fix zero before result\n for (var i = 0; i < maxLength * 2 - length; i++) {\n h = \"0\" + h;\n }\n return h;\n };\n // RSAKey.prototype.setPrivate = RSASetPrivate;\n // Set the private key fields N, e, and d from hex strings\n RSAKey.prototype.setPrivate = function (N, E, D) {\n if (N != null && E != null && N.length > 0 && E.length > 0) {\n this.n = (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.parseBigInt)(N, 16);\n this.e = parseInt(E, 16);\n this.d = (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.parseBigInt)(D, 16);\n }\n else {\n console.error(\"Invalid RSA private key\");\n }\n };\n // RSAKey.prototype.setPrivateEx = RSASetPrivateEx;\n // Set the private key fields N, e, d and CRT params from hex strings\n RSAKey.prototype.setPrivateEx = function (N, E, D, P, Q, DP, DQ, C) {\n if (N != null && E != null && N.length > 0 && E.length > 0) {\n this.n = (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.parseBigInt)(N, 16);\n this.e = parseInt(E, 16);\n this.d = (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.parseBigInt)(D, 16);\n this.p = (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.parseBigInt)(P, 16);\n this.q = (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.parseBigInt)(Q, 16);\n this.dmp1 = (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.parseBigInt)(DP, 16);\n this.dmq1 = (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.parseBigInt)(DQ, 16);\n this.coeff = (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.parseBigInt)(C, 16);\n }\n else {\n console.error(\"Invalid RSA private key\");\n }\n };\n // RSAKey.prototype.generate = RSAGenerate;\n // Generate a new random private key B bits long, using public expt E\n RSAKey.prototype.generate = function (B, E) {\n var rng = new _rng__WEBPACK_IMPORTED_MODULE_1__.SecureRandom();\n var qs = B >> 1;\n this.e = parseInt(E, 16);\n var ee = new _jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger(E, 16);\n for (;;) {\n for (;;) {\n this.p = new _jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger(B - qs, 1, rng);\n if (this.p.subtract(_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger.ONE).gcd(ee).compareTo(_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger.ONE) == 0 && this.p.isProbablePrime(10)) {\n break;\n }\n }\n for (;;) {\n this.q = new _jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger(qs, 1, rng);\n if (this.q.subtract(_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger.ONE).gcd(ee).compareTo(_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger.ONE) == 0 && this.q.isProbablePrime(10)) {\n break;\n }\n }\n if (this.p.compareTo(this.q) <= 0) {\n var t = this.p;\n this.p = this.q;\n this.q = t;\n }\n var p1 = this.p.subtract(_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger.ONE);\n var q1 = this.q.subtract(_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger.ONE);\n var phi = p1.multiply(q1);\n if (phi.gcd(ee).compareTo(_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger.ONE) == 0) {\n this.n = this.p.multiply(this.q);\n this.d = ee.modInverse(phi);\n this.dmp1 = this.d.mod(p1);\n this.dmq1 = this.d.mod(q1);\n this.coeff = this.q.modInverse(this.p);\n break;\n }\n }\n };\n // RSAKey.prototype.decrypt = RSADecrypt;\n // Return the PKCS#1 RSA decryption of \"ctext\".\n // \"ctext\" is an even-length hex string and the output is a plain string.\n RSAKey.prototype.decrypt = function (ctext) {\n var c = (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.parseBigInt)(ctext, 16);\n var m = this.doPrivate(c);\n if (m == null) {\n return null;\n }\n return pkcs1unpad2(m, (this.n.bitLength() + 7) >> 3);\n };\n // Generate a new random private key B bits long, using public expt E\n RSAKey.prototype.generateAsync = function (B, E, callback) {\n var rng = new _rng__WEBPACK_IMPORTED_MODULE_1__.SecureRandom();\n var qs = B >> 1;\n this.e = parseInt(E, 16);\n var ee = new _jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger(E, 16);\n var rsa = this;\n // These functions have non-descript names because they were originally for(;;) loops.\n // I don't know about cryptography to give them better names than loop1-4.\n var loop1 = function () {\n var loop4 = function () {\n if (rsa.p.compareTo(rsa.q) <= 0) {\n var t = rsa.p;\n rsa.p = rsa.q;\n rsa.q = t;\n }\n var p1 = rsa.p.subtract(_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger.ONE);\n var q1 = rsa.q.subtract(_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger.ONE);\n var phi = p1.multiply(q1);\n if (phi.gcd(ee).compareTo(_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger.ONE) == 0) {\n rsa.n = rsa.p.multiply(rsa.q);\n rsa.d = ee.modInverse(phi);\n rsa.dmp1 = rsa.d.mod(p1);\n rsa.dmq1 = rsa.d.mod(q1);\n rsa.coeff = rsa.q.modInverse(rsa.p);\n setTimeout(function () { callback(); }, 0); // escape\n }\n else {\n setTimeout(loop1, 0);\n }\n };\n var loop3 = function () {\n rsa.q = (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.nbi)();\n rsa.q.fromNumberAsync(qs, 1, rng, function () {\n rsa.q.subtract(_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger.ONE).gcda(ee, function (r) {\n if (r.compareTo(_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger.ONE) == 0 && rsa.q.isProbablePrime(10)) {\n setTimeout(loop4, 0);\n }\n else {\n setTimeout(loop3, 0);\n }\n });\n });\n };\n var loop2 = function () {\n rsa.p = (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.nbi)();\n rsa.p.fromNumberAsync(B - qs, 1, rng, function () {\n rsa.p.subtract(_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger.ONE).gcda(ee, function (r) {\n if (r.compareTo(_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger.ONE) == 0 && rsa.p.isProbablePrime(10)) {\n setTimeout(loop3, 0);\n }\n else {\n setTimeout(loop2, 0);\n }\n });\n });\n };\n setTimeout(loop2, 0);\n };\n setTimeout(loop1, 0);\n };\n RSAKey.prototype.sign = function (text, digestMethod, digestName) {\n var header = getDigestHeader(digestName);\n var digest = header + digestMethod(text).toString();\n var m = pkcs1pad1(digest, this.n.bitLength() / 4);\n if (m == null) {\n return null;\n }\n var c = this.doPrivate(m);\n if (c == null) {\n return null;\n }\n var h = c.toString(16);\n if ((h.length & 1) == 0) {\n return h;\n }\n else {\n return \"0\" + h;\n }\n };\n RSAKey.prototype.verify = function (text, signature, digestMethod) {\n var c = (0,_jsbn__WEBPACK_IMPORTED_MODULE_0__.parseBigInt)(signature, 16);\n var m = this.doPublic(c);\n if (m == null) {\n return null;\n }\n var unpadded = m.toString(16).replace(/^1f+00/, \"\");\n var digest = removeDigestHeader(unpadded);\n return digest == digestMethod(text).toString();\n };\n return RSAKey;\n}());\n\n// Undo PKCS#1 (type 2, random) padding and, if valid, return the plaintext\nfunction pkcs1unpad2(d, n) {\n var b = d.toByteArray();\n var i = 0;\n while (i < b.length && b[i] == 0) {\n ++i;\n }\n if (b.length - i != n - 1 || b[i] != 2) {\n return null;\n }\n ++i;\n while (b[i] != 0) {\n if (++i >= b.length) {\n return null;\n }\n }\n var ret = \"\";\n while (++i < b.length) {\n var c = b[i] & 255;\n if (c < 128) { // utf-8 decode\n ret += String.fromCharCode(c);\n }\n else if ((c > 191) && (c < 224)) {\n ret += String.fromCharCode(((c & 31) << 6) | (b[i + 1] & 63));\n ++i;\n }\n else {\n ret += String.fromCharCode(((c & 15) << 12) | ((b[i + 1] & 63) << 6) | (b[i + 2] & 63));\n i += 2;\n }\n }\n return ret;\n}\n// https://tools.ietf.org/html/rfc3447#page-43\nvar DIGEST_HEADERS = {\n md2: \"3020300c06082a864886f70d020205000410\",\n md5: \"3020300c06082a864886f70d020505000410\",\n sha1: \"3021300906052b0e03021a05000414\",\n sha224: \"302d300d06096086480165030402040500041c\",\n sha256: \"3031300d060960864801650304020105000420\",\n sha384: \"3041300d060960864801650304020205000430\",\n sha512: \"3051300d060960864801650304020305000440\",\n ripemd160: \"3021300906052b2403020105000414\"\n};\nfunction getDigestHeader(name) {\n return DIGEST_HEADERS[name] || \"\";\n}\nfunction removeDigestHeader(str) {\n for (var name_1 in DIGEST_HEADERS) {\n if (DIGEST_HEADERS.hasOwnProperty(name_1)) {\n var header = DIGEST_HEADERS[name_1];\n var len = header.length;\n if (str.substr(0, len) == header) {\n return str.substr(len);\n }\n }\n }\n return str;\n}\n// Return the PKCS#1 RSA encryption of \"text\" as a Base64-encoded string\n// function RSAEncryptB64(text) {\n// var h = this.encrypt(text);\n// if(h) return hex2b64(h); else return null;\n// }\n// public\n// RSAKey.prototype.encrypt_b64 = RSAEncryptB64;\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/jsbn/rsa.js?"); + +/***/ }), + +/***/ "./lib/lib/jsbn/util.js": +/*!******************************!*\ + !*** ./lib/lib/jsbn/util.js ***! + \******************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"cbit\": () => (/* binding */ cbit),\n/* harmony export */ \"int2char\": () => (/* binding */ int2char),\n/* harmony export */ \"lbit\": () => (/* binding */ lbit),\n/* harmony export */ \"op_and\": () => (/* binding */ op_and),\n/* harmony export */ \"op_andnot\": () => (/* binding */ op_andnot),\n/* harmony export */ \"op_or\": () => (/* binding */ op_or),\n/* harmony export */ \"op_xor\": () => (/* binding */ op_xor)\n/* harmony export */ });\nvar BI_RM = \"0123456789abcdefghijklmnopqrstuvwxyz\";\nfunction int2char(n) {\n return BI_RM.charAt(n);\n}\n//#region BIT_OPERATIONS\n// (public) this & a\nfunction op_and(x, y) {\n return x & y;\n}\n// (public) this | a\nfunction op_or(x, y) {\n return x | y;\n}\n// (public) this ^ a\nfunction op_xor(x, y) {\n return x ^ y;\n}\n// (public) this & ~a\nfunction op_andnot(x, y) {\n return x & ~y;\n}\n// return index of lowest 1-bit in x, x < 2^31\nfunction lbit(x) {\n if (x == 0) {\n return -1;\n }\n var r = 0;\n if ((x & 0xffff) == 0) {\n x >>= 16;\n r += 16;\n }\n if ((x & 0xff) == 0) {\n x >>= 8;\n r += 8;\n }\n if ((x & 0xf) == 0) {\n x >>= 4;\n r += 4;\n }\n if ((x & 3) == 0) {\n x >>= 2;\n r += 2;\n }\n if ((x & 1) == 0) {\n ++r;\n }\n return r;\n}\n// return number of 1 bits in x\nfunction cbit(x) {\n var r = 0;\n while (x != 0) {\n x &= x - 1;\n ++r;\n }\n return r;\n}\n//#endregion BIT_OPERATIONS\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/jsbn/util.js?"); + +/***/ }), + +/***/ "./lib/lib/jsrsasign/asn1-1.0.js": +/*!***************************************!*\ + !*** ./lib/lib/jsrsasign/asn1-1.0.js ***! + \***************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"KJUR\": () => (/* binding */ KJUR)\n/* harmony export */ });\n/* harmony import */ var _jsbn_jsbn__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../jsbn/jsbn */ \"./lib/lib/jsbn/jsbn.js\");\n/* harmony import */ var _yahoo__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./yahoo */ \"./lib/lib/jsrsasign/yahoo.js\");\n/* asn1-1.0.13.js (c) 2013-2017 Kenji Urushima | kjur.github.com/jsrsasign/license\n */\n/*\n * asn1.js - ASN.1 DER encoder classes\n *\n * Copyright (c) 2013-2017 Kenji Urushima (kenji.urushima@gmail.com)\n *\n * This software is licensed under the terms of the MIT License.\n * https://kjur.github.io/jsrsasign/license\n *\n * The above copyright and license notice shall be\n * included in all copies or substantial portions of the Software.\n */\n\n\n/**\n * @fileOverview\n * @name asn1-1.0.js\n * @author Kenji Urushima kenji.urushima@gmail.com\n * @version asn1 1.0.13 (2017-Jun-02)\n * @since jsrsasign 2.1\n * @license MIT License\n */\n/**\n * kjur's class library name space\n *

    \n * This name space provides following name spaces:\n *

      \n *
    • {@link KJUR.asn1} - ASN.1 primitive hexadecimal encoder
    • \n *
    • {@link KJUR.asn1.x509} - ASN.1 structure for X.509 certificate and CRL
    • \n *
    • {@link KJUR.crypto} - Java Cryptographic Extension(JCE) style MessageDigest/Signature\n * class and utilities
    • \n *
    \n *

    \n * NOTE: Please ignore method summary and document of this namespace. This caused by a bug of jsdoc2.\n * @name KJUR\n * @namespace kjur's class library name space\n */\nvar KJUR = {};\n/**\n * kjur's ASN.1 class library name space\n *

    \n * This is ITU-T X.690 ASN.1 DER encoder class library and\n * class structure and methods is very similar to\n * org.bouncycastle.asn1 package of\n * well known BouncyCaslte Cryptography Library.\n *

    PROVIDING ASN.1 PRIMITIVES

    \n * Here are ASN.1 DER primitive classes.\n *
      \n *
    • 0x01 {@link KJUR.asn1.DERBoolean}
    • \n *
    • 0x02 {@link KJUR.asn1.DERInteger}
    • \n *
    • 0x03 {@link KJUR.asn1.DERBitString}
    • \n *
    • 0x04 {@link KJUR.asn1.DEROctetString}
    • \n *
    • 0x05 {@link KJUR.asn1.DERNull}
    • \n *
    • 0x06 {@link KJUR.asn1.DERObjectIdentifier}
    • \n *
    • 0x0a {@link KJUR.asn1.DEREnumerated}
    • \n *
    • 0x0c {@link KJUR.asn1.DERUTF8String}
    • \n *
    • 0x12 {@link KJUR.asn1.DERNumericString}
    • \n *
    • 0x13 {@link KJUR.asn1.DERPrintableString}
    • \n *
    • 0x14 {@link KJUR.asn1.DERTeletexString}
    • \n *
    • 0x16 {@link KJUR.asn1.DERIA5String}
    • \n *
    • 0x17 {@link KJUR.asn1.DERUTCTime}
    • \n *
    • 0x18 {@link KJUR.asn1.DERGeneralizedTime}
    • \n *
    • 0x30 {@link KJUR.asn1.DERSequence}
    • \n *
    • 0x31 {@link KJUR.asn1.DERSet}
    • \n *
    \n *

    OTHER ASN.1 CLASSES

    \n *
      \n *
    • {@link KJUR.asn1.ASN1Object}
    • \n *
    • {@link KJUR.asn1.DERAbstractString}
    • \n *
    • {@link KJUR.asn1.DERAbstractTime}
    • \n *
    • {@link KJUR.asn1.DERAbstractStructured}
    • \n *
    • {@link KJUR.asn1.DERTaggedObject}
    • \n *
    \n *

    SUB NAME SPACES

    \n *
      \n *
    • {@link KJUR.asn1.cades} - CAdES long term signature format
    • \n *
    • {@link KJUR.asn1.cms} - Cryptographic Message Syntax
    • \n *
    • {@link KJUR.asn1.csr} - Certificate Signing Request (CSR/PKCS#10)
    • \n *
    • {@link KJUR.asn1.tsp} - RFC 3161 Timestamping Protocol Format
    • \n *
    • {@link KJUR.asn1.x509} - RFC 5280 X.509 certificate and CRL
    • \n *
    \n *

    \n * NOTE: Please ignore method summary and document of this namespace.\n * This caused by a bug of jsdoc2.\n * @name KJUR.asn1\n * @namespace\n */\nif (typeof KJUR.asn1 == \"undefined\" || !KJUR.asn1)\n KJUR.asn1 = {};\n/**\n * ASN1 utilities class\n * @name KJUR.asn1.ASN1Util\n * @class ASN1 utilities class\n * @since asn1 1.0.2\n */\nKJUR.asn1.ASN1Util = new function () {\n this.integerToByteHex = function (i) {\n var h = i.toString(16);\n if ((h.length % 2) == 1)\n h = '0' + h;\n return h;\n };\n this.bigIntToMinTwosComplementsHex = function (bigIntegerValue) {\n var h = bigIntegerValue.toString(16);\n if (h.substr(0, 1) != '-') {\n if (h.length % 2 == 1) {\n h = '0' + h;\n }\n else {\n if (!h.match(/^[0-7]/)) {\n h = '00' + h;\n }\n }\n }\n else {\n var hPos = h.substr(1);\n var xorLen = hPos.length;\n if (xorLen % 2 == 1) {\n xorLen += 1;\n }\n else {\n if (!h.match(/^[0-7]/)) {\n xorLen += 2;\n }\n }\n var hMask = '';\n for (var i = 0; i < xorLen; i++) {\n hMask += 'f';\n }\n var biMask = new _jsbn_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger(hMask, 16);\n var biNeg = biMask.xor(bigIntegerValue).add(_jsbn_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger.ONE);\n h = biNeg.toString(16).replace(/^-/, '');\n }\n return h;\n };\n /**\n * get PEM string from hexadecimal data and header string\n * @name getPEMStringFromHex\n * @memberOf KJUR.asn1.ASN1Util\n * @function\n * @param {String} dataHex hexadecimal string of PEM body\n * @param {String} pemHeader PEM header string (ex. 'RSA PRIVATE KEY')\n * @return {String} PEM formatted string of input data\n * @description\n * This method converts a hexadecimal string to a PEM string with\n * a specified header. Its line break will be CRLF(\"\\r\\n\").\n * @example\n * var pem = KJUR.asn1.ASN1Util.getPEMStringFromHex('616161', 'RSA PRIVATE KEY');\n * // value of pem will be:\n * -----BEGIN PRIVATE KEY-----\n * YWFh\n * -----END PRIVATE KEY-----\n */\n this.getPEMStringFromHex = function (dataHex, pemHeader) {\n return hextopem(dataHex, pemHeader);\n };\n /**\n * generate ASN1Object specifed by JSON parameters\n * @name newObject\n * @memberOf KJUR.asn1.ASN1Util\n * @function\n * @param {Array} param JSON parameter to generate ASN1Object\n * @return {KJUR.asn1.ASN1Object} generated object\n * @since asn1 1.0.3\n * @description\n * generate any ASN1Object specified by JSON param\n * including ASN.1 primitive or structured.\n * Generally 'param' can be described as follows:\n *
    \n * {TYPE-OF-ASNOBJ: ASN1OBJ-PARAMETER}\n *
    \n * 'TYPE-OF-ASN1OBJ' can be one of following symbols:\n *
      \n *
    • 'bool' - DERBoolean
    • \n *
    • 'int' - DERInteger
    • \n *
    • 'bitstr' - DERBitString
    • \n *
    • 'octstr' - DEROctetString
    • \n *
    • 'null' - DERNull
    • \n *
    • 'oid' - DERObjectIdentifier
    • \n *
    • 'enum' - DEREnumerated
    • \n *
    • 'utf8str' - DERUTF8String
    • \n *
    • 'numstr' - DERNumericString
    • \n *
    • 'prnstr' - DERPrintableString
    • \n *
    • 'telstr' - DERTeletexString
    • \n *
    • 'ia5str' - DERIA5String
    • \n *
    • 'utctime' - DERUTCTime
    • \n *
    • 'gentime' - DERGeneralizedTime
    • \n *
    • 'seq' - DERSequence
    • \n *
    • 'set' - DERSet
    • \n *
    • 'tag' - DERTaggedObject
    • \n *
    \n * @example\n * newObject({'prnstr': 'aaa'});\n * newObject({'seq': [{'int': 3}, {'prnstr': 'aaa'}]})\n * // ASN.1 Tagged Object\n * newObject({'tag': {'tag': 'a1',\n * 'explicit': true,\n * 'obj': {'seq': [{'int': 3}, {'prnstr': 'aaa'}]}}});\n * // more simple representation of ASN.1 Tagged Object\n * newObject({'tag': ['a1',\n * true,\n * {'seq': [\n * {'int': 3},\n * {'prnstr': 'aaa'}]}\n * ]});\n */\n this.newObject = function (param) {\n var _KJUR = KJUR, _KJUR_asn1 = _KJUR.asn1, _DERBoolean = _KJUR_asn1.DERBoolean, _DERInteger = _KJUR_asn1.DERInteger, _DERBitString = _KJUR_asn1.DERBitString, _DEROctetString = _KJUR_asn1.DEROctetString, _DERNull = _KJUR_asn1.DERNull, _DERObjectIdentifier = _KJUR_asn1.DERObjectIdentifier, _DEREnumerated = _KJUR_asn1.DEREnumerated, _DERUTF8String = _KJUR_asn1.DERUTF8String, _DERNumericString = _KJUR_asn1.DERNumericString, _DERPrintableString = _KJUR_asn1.DERPrintableString, _DERTeletexString = _KJUR_asn1.DERTeletexString, _DERIA5String = _KJUR_asn1.DERIA5String, _DERUTCTime = _KJUR_asn1.DERUTCTime, _DERGeneralizedTime = _KJUR_asn1.DERGeneralizedTime, _DERSequence = _KJUR_asn1.DERSequence, _DERSet = _KJUR_asn1.DERSet, _DERTaggedObject = _KJUR_asn1.DERTaggedObject, _newObject = _KJUR_asn1.ASN1Util.newObject;\n var keys = Object.keys(param);\n if (keys.length != 1)\n throw \"key of param shall be only one.\";\n var key = keys[0];\n if (\":bool:int:bitstr:octstr:null:oid:enum:utf8str:numstr:prnstr:telstr:ia5str:utctime:gentime:seq:set:tag:\".indexOf(\":\" + key + \":\") == -1)\n throw \"undefined key: \" + key;\n if (key == \"bool\")\n return new _DERBoolean(param[key]);\n if (key == \"int\")\n return new _DERInteger(param[key]);\n if (key == \"bitstr\")\n return new _DERBitString(param[key]);\n if (key == \"octstr\")\n return new _DEROctetString(param[key]);\n if (key == \"null\")\n return new _DERNull(param[key]);\n if (key == \"oid\")\n return new _DERObjectIdentifier(param[key]);\n if (key == \"enum\")\n return new _DEREnumerated(param[key]);\n if (key == \"utf8str\")\n return new _DERUTF8String(param[key]);\n if (key == \"numstr\")\n return new _DERNumericString(param[key]);\n if (key == \"prnstr\")\n return new _DERPrintableString(param[key]);\n if (key == \"telstr\")\n return new _DERTeletexString(param[key]);\n if (key == \"ia5str\")\n return new _DERIA5String(param[key]);\n if (key == \"utctime\")\n return new _DERUTCTime(param[key]);\n if (key == \"gentime\")\n return new _DERGeneralizedTime(param[key]);\n if (key == \"seq\") {\n var paramList = param[key];\n var a = [];\n for (var i = 0; i < paramList.length; i++) {\n var asn1Obj = _newObject(paramList[i]);\n a.push(asn1Obj);\n }\n return new _DERSequence({ 'array': a });\n }\n if (key == \"set\") {\n var paramList = param[key];\n var a = [];\n for (var i = 0; i < paramList.length; i++) {\n var asn1Obj = _newObject(paramList[i]);\n a.push(asn1Obj);\n }\n return new _DERSet({ 'array': a });\n }\n if (key == \"tag\") {\n var tagParam = param[key];\n if (Object.prototype.toString.call(tagParam) === '[object Array]' &&\n tagParam.length == 3) {\n var obj = _newObject(tagParam[2]);\n return new _DERTaggedObject({ tag: tagParam[0],\n explicit: tagParam[1],\n obj: obj });\n }\n else {\n var newParam = {};\n if (tagParam.explicit !== undefined)\n newParam.explicit = tagParam.explicit;\n if (tagParam.tag !== undefined)\n newParam.tag = tagParam.tag;\n if (tagParam.obj === undefined)\n throw \"obj shall be specified for 'tag'.\";\n newParam.obj = _newObject(tagParam.obj);\n return new _DERTaggedObject(newParam);\n }\n }\n };\n /**\n * get encoded hexadecimal string of ASN1Object specifed by JSON parameters\n * @name jsonToASN1HEX\n * @memberOf KJUR.asn1.ASN1Util\n * @function\n * @param {Array} param JSON parameter to generate ASN1Object\n * @return hexadecimal string of ASN1Object\n * @since asn1 1.0.4\n * @description\n * As for ASN.1 object representation of JSON object,\n * please see {@link newObject}.\n * @example\n * jsonToASN1HEX({'prnstr': 'aaa'});\n */\n this.jsonToASN1HEX = function (param) {\n var asn1Obj = this.newObject(param);\n return asn1Obj.getEncodedHex();\n };\n};\n/**\n * get dot noted oid number string from hexadecimal value of OID\n * @name oidHexToInt\n * @memberOf KJUR.asn1.ASN1Util\n * @function\n * @param {String} hex hexadecimal value of object identifier\n * @return {String} dot noted string of object identifier\n * @since jsrsasign 4.8.3 asn1 1.0.7\n * @description\n * This static method converts from hexadecimal string representation of\n * ASN.1 value of object identifier to oid number string.\n * @example\n * KJUR.asn1.ASN1Util.oidHexToInt('550406') → \"2.5.4.6\"\n */\nKJUR.asn1.ASN1Util.oidHexToInt = function (hex) {\n var s = \"\";\n var i01 = parseInt(hex.substr(0, 2), 16);\n var i0 = Math.floor(i01 / 40);\n var i1 = i01 % 40;\n var s = i0 + \".\" + i1;\n var binbuf = \"\";\n for (var i = 2; i < hex.length; i += 2) {\n var value = parseInt(hex.substr(i, 2), 16);\n var bin = (\"00000000\" + value.toString(2)).slice(-8);\n binbuf = binbuf + bin.substr(1, 7);\n if (bin.substr(0, 1) == \"0\") {\n var bi = new _jsbn_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger(binbuf, 2);\n s = s + \".\" + bi.toString(10);\n binbuf = \"\";\n }\n }\n ;\n return s;\n};\n/**\n * get hexadecimal value of object identifier from dot noted oid value\n * @name oidIntToHex\n * @memberOf KJUR.asn1.ASN1Util\n * @function\n * @param {String} oidString dot noted string of object identifier\n * @return {String} hexadecimal value of object identifier\n * @since jsrsasign 4.8.3 asn1 1.0.7\n * @description\n * This static method converts from object identifier value string.\n * to hexadecimal string representation of it.\n * @example\n * KJUR.asn1.ASN1Util.oidIntToHex(\"2.5.4.6\") → \"550406\"\n */\nKJUR.asn1.ASN1Util.oidIntToHex = function (oidString) {\n var itox = function (i) {\n var h = i.toString(16);\n if (h.length == 1)\n h = '0' + h;\n return h;\n };\n var roidtox = function (roid) {\n var h = '';\n var bi = new _jsbn_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger(roid, 10);\n var b = bi.toString(2);\n var padLen = 7 - b.length % 7;\n if (padLen == 7)\n padLen = 0;\n var bPad = '';\n for (var i = 0; i < padLen; i++)\n bPad += '0';\n b = bPad + b;\n for (var i = 0; i < b.length - 1; i += 7) {\n var b8 = b.substr(i, 7);\n if (i != b.length - 7)\n b8 = '1' + b8;\n h += itox(parseInt(b8, 2));\n }\n return h;\n };\n if (!oidString.match(/^[0-9.]+$/)) {\n throw \"malformed oid string: \" + oidString;\n }\n var h = '';\n var a = oidString.split('.');\n var i0 = parseInt(a[0]) * 40 + parseInt(a[1]);\n h += itox(i0);\n a.splice(0, 2);\n for (var i = 0; i < a.length; i++) {\n h += roidtox(a[i]);\n }\n return h;\n};\n// ********************************************************************\n// Abstract ASN.1 Classes\n// ********************************************************************\n// ********************************************************************\n/**\n * base class for ASN.1 DER encoder object\n * @name KJUR.asn1.ASN1Object\n * @class base class for ASN.1 DER encoder object\n * @property {Boolean} isModified flag whether internal data was changed\n * @property {String} hTLV hexadecimal string of ASN.1 TLV\n * @property {String} hT hexadecimal string of ASN.1 TLV tag(T)\n * @property {String} hL hexadecimal string of ASN.1 TLV length(L)\n * @property {String} hV hexadecimal string of ASN.1 TLV value(V)\n * @description\n */\nKJUR.asn1.ASN1Object = function () {\n var isModified = true;\n var hTLV = null;\n var hT = '00';\n var hL = '00';\n var hV = '';\n /**\n * get hexadecimal ASN.1 TLV length(L) bytes from TLV value(V)\n * @name getLengthHexFromValue\n * @memberOf KJUR.asn1.ASN1Object#\n * @function\n * @return {String} hexadecimal string of ASN.1 TLV length(L)\n */\n this.getLengthHexFromValue = function () {\n if (typeof this.hV == \"undefined\" || this.hV == null) {\n throw \"this.hV is null or undefined.\";\n }\n if (this.hV.length % 2 == 1) {\n throw \"value hex must be even length: n=\" + hV.length + \",v=\" + this.hV;\n }\n var n = this.hV.length / 2;\n var hN = n.toString(16);\n if (hN.length % 2 == 1) {\n hN = \"0\" + hN;\n }\n if (n < 128) {\n return hN;\n }\n else {\n var hNlen = hN.length / 2;\n if (hNlen > 15) {\n throw \"ASN.1 length too long to represent by 8x: n = \" + n.toString(16);\n }\n var head = 128 + hNlen;\n return head.toString(16) + hN;\n }\n };\n /**\n * get hexadecimal string of ASN.1 TLV bytes\n * @name getEncodedHex\n * @memberOf KJUR.asn1.ASN1Object#\n * @function\n * @return {String} hexadecimal string of ASN.1 TLV\n */\n this.getEncodedHex = function () {\n if (this.hTLV == null || this.isModified) {\n this.hV = this.getFreshValueHex();\n this.hL = this.getLengthHexFromValue();\n this.hTLV = this.hT + this.hL + this.hV;\n this.isModified = false;\n //alert(\"first time: \" + this.hTLV);\n }\n return this.hTLV;\n };\n /**\n * get hexadecimal string of ASN.1 TLV value(V) bytes\n * @name getValueHex\n * @memberOf KJUR.asn1.ASN1Object#\n * @function\n * @return {String} hexadecimal string of ASN.1 TLV value(V) bytes\n */\n this.getValueHex = function () {\n this.getEncodedHex();\n return this.hV;\n };\n this.getFreshValueHex = function () {\n return '';\n };\n};\n// == BEGIN DERAbstractString ================================================\n/**\n * base class for ASN.1 DER string classes\n * @name KJUR.asn1.DERAbstractString\n * @class base class for ASN.1 DER string classes\n * @param {Array} params associative array of parameters (ex. {'str': 'aaa'})\n * @property {String} s internal string of value\n * @extends KJUR.asn1.ASN1Object\n * @description\n *
    \n * As for argument 'params' for constructor, you can specify one of\n * following properties:\n *
      \n *
    • str - specify initial ASN.1 value(V) by a string
    • \n *
    • hex - specify initial ASN.1 value(V) by a hexadecimal string
    • \n *
    \n * NOTE: 'params' can be omitted.\n */\nKJUR.asn1.DERAbstractString = function (params) {\n KJUR.asn1.DERAbstractString.superclass.constructor.call(this);\n var s = null;\n var hV = null;\n /**\n * get string value of this string object\n * @name getString\n * @memberOf KJUR.asn1.DERAbstractString#\n * @function\n * @return {String} string value of this string object\n */\n this.getString = function () {\n return this.s;\n };\n /**\n * set value by a string\n * @name setString\n * @memberOf KJUR.asn1.DERAbstractString#\n * @function\n * @param {String} newS value by a string to set\n */\n this.setString = function (newS) {\n this.hTLV = null;\n this.isModified = true;\n this.s = newS;\n this.hV = stohex(this.s);\n };\n /**\n * set value by a hexadecimal string\n * @name setStringHex\n * @memberOf KJUR.asn1.DERAbstractString#\n * @function\n * @param {String} newHexString value by a hexadecimal string to set\n */\n this.setStringHex = function (newHexString) {\n this.hTLV = null;\n this.isModified = true;\n this.s = null;\n this.hV = newHexString;\n };\n this.getFreshValueHex = function () {\n return this.hV;\n };\n if (typeof params != \"undefined\") {\n if (typeof params == \"string\") {\n this.setString(params);\n }\n else if (typeof params['str'] != \"undefined\") {\n this.setString(params['str']);\n }\n else if (typeof params['hex'] != \"undefined\") {\n this.setStringHex(params['hex']);\n }\n }\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERAbstractString, KJUR.asn1.ASN1Object);\n// == END DERAbstractString ================================================\n// == BEGIN DERAbstractTime ==================================================\n/**\n * base class for ASN.1 DER Generalized/UTCTime class\n * @name KJUR.asn1.DERAbstractTime\n * @class base class for ASN.1 DER Generalized/UTCTime class\n * @param {Array} params associative array of parameters (ex. {'str': '130430235959Z'})\n * @extends KJUR.asn1.ASN1Object\n * @description\n * @see KJUR.asn1.ASN1Object - superclass\n */\nKJUR.asn1.DERAbstractTime = function (params) {\n KJUR.asn1.DERAbstractTime.superclass.constructor.call(this);\n var s = null;\n var date = null;\n // --- PRIVATE METHODS --------------------\n this.localDateToUTC = function (d) {\n utc = d.getTime() + (d.getTimezoneOffset() * 60000);\n var utcDate = new Date(utc);\n return utcDate;\n };\n /*\n * format date string by Data object\n * @name formatDate\n * @memberOf KJUR.asn1.AbstractTime;\n * @param {Date} dateObject\n * @param {string} type 'utc' or 'gen'\n * @param {boolean} withMillis flag for with millisections or not\n * @description\n * 'withMillis' flag is supported from asn1 1.0.6.\n */\n this.formatDate = function (dateObject, type, withMillis) {\n var pad = this.zeroPadding;\n var d = this.localDateToUTC(dateObject);\n var year = String(d.getFullYear());\n if (type == 'utc')\n year = year.substr(2, 2);\n var month = pad(String(d.getMonth() + 1), 2);\n var day = pad(String(d.getDate()), 2);\n var hour = pad(String(d.getHours()), 2);\n var min = pad(String(d.getMinutes()), 2);\n var sec = pad(String(d.getSeconds()), 2);\n var s = year + month + day + hour + min + sec;\n if (withMillis === true) {\n var millis = d.getMilliseconds();\n if (millis != 0) {\n var sMillis = pad(String(millis), 3);\n sMillis = sMillis.replace(/[0]+$/, \"\");\n s = s + \".\" + sMillis;\n }\n }\n return s + \"Z\";\n };\n this.zeroPadding = function (s, len) {\n if (s.length >= len)\n return s;\n return new Array(len - s.length + 1).join('0') + s;\n };\n // --- PUBLIC METHODS --------------------\n /**\n * get string value of this string object\n * @name getString\n * @memberOf KJUR.asn1.DERAbstractTime#\n * @function\n * @return {String} string value of this time object\n */\n this.getString = function () {\n return this.s;\n };\n /**\n * set value by a string\n * @name setString\n * @memberOf KJUR.asn1.DERAbstractTime#\n * @function\n * @param {String} newS value by a string to set such like \"130430235959Z\"\n */\n this.setString = function (newS) {\n this.hTLV = null;\n this.isModified = true;\n this.s = newS;\n this.hV = stohex(newS);\n };\n /**\n * set value by a Date object\n * @name setByDateValue\n * @memberOf KJUR.asn1.DERAbstractTime#\n * @function\n * @param {Integer} year year of date (ex. 2013)\n * @param {Integer} month month of date between 1 and 12 (ex. 12)\n * @param {Integer} day day of month\n * @param {Integer} hour hours of date\n * @param {Integer} min minutes of date\n * @param {Integer} sec seconds of date\n */\n this.setByDateValue = function (year, month, day, hour, min, sec) {\n var dateObject = new Date(Date.UTC(year, month - 1, day, hour, min, sec, 0));\n this.setByDate(dateObject);\n };\n this.getFreshValueHex = function () {\n return this.hV;\n };\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERAbstractTime, KJUR.asn1.ASN1Object);\n// == END DERAbstractTime ==================================================\n// == BEGIN DERAbstractStructured ============================================\n/**\n * base class for ASN.1 DER structured class\n * @name KJUR.asn1.DERAbstractStructured\n * @class base class for ASN.1 DER structured class\n * @property {Array} asn1Array internal array of ASN1Object\n * @extends KJUR.asn1.ASN1Object\n * @description\n * @see KJUR.asn1.ASN1Object - superclass\n */\nKJUR.asn1.DERAbstractStructured = function (params) {\n KJUR.asn1.DERAbstractString.superclass.constructor.call(this);\n var asn1Array = null;\n /**\n * set value by array of ASN1Object\n * @name setByASN1ObjectArray\n * @memberOf KJUR.asn1.DERAbstractStructured#\n * @function\n * @param {array} asn1ObjectArray array of ASN1Object to set\n */\n this.setByASN1ObjectArray = function (asn1ObjectArray) {\n this.hTLV = null;\n this.isModified = true;\n this.asn1Array = asn1ObjectArray;\n };\n /**\n * append an ASN1Object to internal array\n * @name appendASN1Object\n * @memberOf KJUR.asn1.DERAbstractStructured#\n * @function\n * @param {ASN1Object} asn1Object to add\n */\n this.appendASN1Object = function (asn1Object) {\n this.hTLV = null;\n this.isModified = true;\n this.asn1Array.push(asn1Object);\n };\n this.asn1Array = new Array();\n if (typeof params != \"undefined\") {\n if (typeof params['array'] != \"undefined\") {\n this.asn1Array = params['array'];\n }\n }\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERAbstractStructured, KJUR.asn1.ASN1Object);\n// ********************************************************************\n// ASN.1 Object Classes\n// ********************************************************************\n// ********************************************************************\n/**\n * class for ASN.1 DER Boolean\n * @name KJUR.asn1.DERBoolean\n * @class class for ASN.1 DER Boolean\n * @extends KJUR.asn1.ASN1Object\n * @description\n * @see KJUR.asn1.ASN1Object - superclass\n */\nKJUR.asn1.DERBoolean = function () {\n KJUR.asn1.DERBoolean.superclass.constructor.call(this);\n this.hT = \"01\";\n this.hTLV = \"0101ff\";\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERBoolean, KJUR.asn1.ASN1Object);\n// ********************************************************************\n/**\n * class for ASN.1 DER Integer\n * @name KJUR.asn1.DERInteger\n * @class class for ASN.1 DER Integer\n * @extends KJUR.asn1.ASN1Object\n * @description\n *
    \n * As for argument 'params' for constructor, you can specify one of\n * following properties:\n *
      \n *
    • int - specify initial ASN.1 value(V) by integer value
    • \n *
    • bigint - specify initial ASN.1 value(V) by BigInteger object
    • \n *
    • hex - specify initial ASN.1 value(V) by a hexadecimal string
    • \n *
    \n * NOTE: 'params' can be omitted.\n */\nKJUR.asn1.DERInteger = function (params) {\n KJUR.asn1.DERInteger.superclass.constructor.call(this);\n this.hT = \"02\";\n /**\n * set value by Tom Wu's BigInteger object\n * @name setByBigInteger\n * @memberOf KJUR.asn1.DERInteger#\n * @function\n * @param {BigInteger} bigIntegerValue to set\n */\n this.setByBigInteger = function (bigIntegerValue) {\n this.hTLV = null;\n this.isModified = true;\n this.hV = KJUR.asn1.ASN1Util.bigIntToMinTwosComplementsHex(bigIntegerValue);\n };\n /**\n * set value by integer value\n * @name setByInteger\n * @memberOf KJUR.asn1.DERInteger\n * @function\n * @param {Integer} integer value to set\n */\n this.setByInteger = function (intValue) {\n var bi = new _jsbn_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger(String(intValue), 10);\n this.setByBigInteger(bi);\n };\n /**\n * set value by integer value\n * @name setValueHex\n * @memberOf KJUR.asn1.DERInteger#\n * @function\n * @param {String} hexadecimal string of integer value\n * @description\n *
    \n * NOTE: Value shall be represented by minimum octet length of\n * two's complement representation.\n * @example\n * new KJUR.asn1.DERInteger(123);\n * new KJUR.asn1.DERInteger({'int': 123});\n * new KJUR.asn1.DERInteger({'hex': '1fad'});\n */\n this.setValueHex = function (newHexString) {\n this.hV = newHexString;\n };\n this.getFreshValueHex = function () {\n return this.hV;\n };\n if (typeof params != \"undefined\") {\n if (typeof params['bigint'] != \"undefined\") {\n this.setByBigInteger(params['bigint']);\n }\n else if (typeof params['int'] != \"undefined\") {\n this.setByInteger(params['int']);\n }\n else if (typeof params == \"number\") {\n this.setByInteger(params);\n }\n else if (typeof params['hex'] != \"undefined\") {\n this.setValueHex(params['hex']);\n }\n }\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERInteger, KJUR.asn1.ASN1Object);\n// ********************************************************************\n/**\n * class for ASN.1 DER encoded BitString primitive\n * @name KJUR.asn1.DERBitString\n * @class class for ASN.1 DER encoded BitString primitive\n * @extends KJUR.asn1.ASN1Object\n * @description\n *
    \n * As for argument 'params' for constructor, you can specify one of\n * following properties:\n *
      \n *
    • bin - specify binary string (ex. '10111')
    • \n *
    • array - specify array of boolean (ex. [true,false,true,true])
    • \n *
    • hex - specify hexadecimal string of ASN.1 value(V) including unused bits
    • \n *
    • obj - specify {@link KJUR.asn1.ASN1Util.newObject}\n * argument for \"BitString encapsulates\" structure.
    • \n *
    \n * NOTE1: 'params' can be omitted.
    \n * NOTE2: 'obj' parameter have been supported since\n * asn1 1.0.11, jsrsasign 6.1.1 (2016-Sep-25).
    \n * @example\n * // default constructor\n * o = new KJUR.asn1.DERBitString();\n * // initialize with binary string\n * o = new KJUR.asn1.DERBitString({bin: \"1011\"});\n * // initialize with boolean array\n * o = new KJUR.asn1.DERBitString({array: [true,false,true,true]});\n * // initialize with hexadecimal string (04 is unused bits)\n * o = new KJUR.asn1.DEROctetString({hex: \"04bac0\"});\n * // initialize with ASN1Util.newObject argument for encapsulated\n * o = new KJUR.asn1.DERBitString({obj: {seq: [{int: 3}, {prnstr: 'aaa'}]}});\n * // above generates a ASN.1 data like this:\n * // BIT STRING, encapsulates {\n * // SEQUENCE {\n * // INTEGER 3\n * // PrintableString 'aaa'\n * // }\n * // }\n */\nKJUR.asn1.DERBitString = function (params) {\n if (params !== undefined && typeof params.obj !== \"undefined\") {\n var o = KJUR.asn1.ASN1Util.newObject(params.obj);\n params.hex = \"00\" + o.getEncodedHex();\n }\n KJUR.asn1.DERBitString.superclass.constructor.call(this);\n this.hT = \"03\";\n /**\n * set ASN.1 value(V) by a hexadecimal string including unused bits\n * @name setHexValueIncludingUnusedBits\n * @memberOf KJUR.asn1.DERBitString#\n * @function\n * @param {String} newHexStringIncludingUnusedBits\n */\n this.setHexValueIncludingUnusedBits = function (newHexStringIncludingUnusedBits) {\n this.hTLV = null;\n this.isModified = true;\n this.hV = newHexStringIncludingUnusedBits;\n };\n /**\n * set ASN.1 value(V) by unused bit and hexadecimal string of value\n * @name setUnusedBitsAndHexValue\n * @memberOf KJUR.asn1.DERBitString#\n * @function\n * @param {Integer} unusedBits\n * @param {String} hValue\n */\n this.setUnusedBitsAndHexValue = function (unusedBits, hValue) {\n if (unusedBits < 0 || 7 < unusedBits) {\n throw \"unused bits shall be from 0 to 7: u = \" + unusedBits;\n }\n var hUnusedBits = \"0\" + unusedBits;\n this.hTLV = null;\n this.isModified = true;\n this.hV = hUnusedBits + hValue;\n };\n /**\n * set ASN.1 DER BitString by binary string
    \n * @name setByBinaryString\n * @memberOf KJUR.asn1.DERBitString#\n * @function\n * @param {String} binaryString binary value string (i.e. '10111')\n * @description\n * Its unused bits will be calculated automatically by length of\n * 'binaryValue'.
    \n * NOTE: Trailing zeros '0' will be ignored.\n * @example\n * o = new KJUR.asn1.DERBitString();\n * o.setByBooleanArray(\"01011\");\n */\n this.setByBinaryString = function (binaryString) {\n binaryString = binaryString.replace(/0+$/, '');\n var unusedBits = 8 - binaryString.length % 8;\n if (unusedBits == 8)\n unusedBits = 0;\n for (var i = 0; i <= unusedBits; i++) {\n binaryString += '0';\n }\n var h = '';\n for (var i = 0; i < binaryString.length - 1; i += 8) {\n var b = binaryString.substr(i, 8);\n var x = parseInt(b, 2).toString(16);\n if (x.length == 1)\n x = '0' + x;\n h += x;\n }\n this.hTLV = null;\n this.isModified = true;\n this.hV = '0' + unusedBits + h;\n };\n /**\n * set ASN.1 TLV value(V) by an array of boolean
    \n * @name setByBooleanArray\n * @memberOf KJUR.asn1.DERBitString#\n * @function\n * @param {array} booleanArray array of boolean (ex. [true, false, true])\n * @description\n * NOTE: Trailing falses will be ignored in the ASN.1 DER Object.\n * @example\n * o = new KJUR.asn1.DERBitString();\n * o.setByBooleanArray([false, true, false, true, true]);\n */\n this.setByBooleanArray = function (booleanArray) {\n var s = '';\n for (var i = 0; i < booleanArray.length; i++) {\n if (booleanArray[i] == true) {\n s += '1';\n }\n else {\n s += '0';\n }\n }\n this.setByBinaryString(s);\n };\n /**\n * generate an array of falses with specified length
    \n * @name newFalseArray\n * @memberOf KJUR.asn1.DERBitString\n * @function\n * @param {Integer} nLength length of array to generate\n * @return {array} array of boolean falses\n * @description\n * This static method may be useful to initialize boolean array.\n * @example\n * o = new KJUR.asn1.DERBitString();\n * o.newFalseArray(3) → [false, false, false]\n */\n this.newFalseArray = function (nLength) {\n var a = new Array(nLength);\n for (var i = 0; i < nLength; i++) {\n a[i] = false;\n }\n return a;\n };\n this.getFreshValueHex = function () {\n return this.hV;\n };\n if (typeof params != \"undefined\") {\n if (typeof params == \"string\" && params.toLowerCase().match(/^[0-9a-f]+$/)) {\n this.setHexValueIncludingUnusedBits(params);\n }\n else if (typeof params['hex'] != \"undefined\") {\n this.setHexValueIncludingUnusedBits(params['hex']);\n }\n else if (typeof params['bin'] != \"undefined\") {\n this.setByBinaryString(params['bin']);\n }\n else if (typeof params['array'] != \"undefined\") {\n this.setByBooleanArray(params['array']);\n }\n }\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERBitString, KJUR.asn1.ASN1Object);\n// ********************************************************************\n/**\n * class for ASN.1 DER OctetString
    \n * @name KJUR.asn1.DEROctetString\n * @class class for ASN.1 DER OctetString\n * @param {Array} params associative array of parameters (ex. {'str': 'aaa'})\n * @extends KJUR.asn1.DERAbstractString\n * @description\n * This class provides ASN.1 OctetString simple type.
    \n * Supported \"params\" attributes are:\n *
      \n *
    • str - to set a string as a value
    • \n *
    • hex - to set a hexadecimal string as a value
    • \n *
    • obj - to set a encapsulated ASN.1 value by JSON object\n * which is defined in {@link KJUR.asn1.ASN1Util.newObject}
    • \n *
    \n * NOTE: A parameter 'obj' have been supported\n * for \"OCTET STRING, encapsulates\" structure.\n * since asn1 1.0.11, jsrsasign 6.1.1 (2016-Sep-25).\n * @see KJUR.asn1.DERAbstractString - superclass\n * @example\n * // default constructor\n * o = new KJUR.asn1.DEROctetString();\n * // initialize with string\n * o = new KJUR.asn1.DEROctetString({str: \"aaa\"});\n * // initialize with hexadecimal string\n * o = new KJUR.asn1.DEROctetString({hex: \"616161\"});\n * // initialize with ASN1Util.newObject argument\n * o = new KJUR.asn1.DEROctetString({obj: {seq: [{int: 3}, {prnstr: 'aaa'}]}});\n * // above generates a ASN.1 data like this:\n * // OCTET STRING, encapsulates {\n * // SEQUENCE {\n * // INTEGER 3\n * // PrintableString 'aaa'\n * // }\n * // }\n */\nKJUR.asn1.DEROctetString = function (params) {\n if (params !== undefined && typeof params.obj !== \"undefined\") {\n var o = KJUR.asn1.ASN1Util.newObject(params.obj);\n params.hex = o.getEncodedHex();\n }\n KJUR.asn1.DEROctetString.superclass.constructor.call(this, params);\n this.hT = \"04\";\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DEROctetString, KJUR.asn1.DERAbstractString);\n// ********************************************************************\n/**\n * class for ASN.1 DER Null\n * @name KJUR.asn1.DERNull\n * @class class for ASN.1 DER Null\n * @extends KJUR.asn1.ASN1Object\n * @description\n * @see KJUR.asn1.ASN1Object - superclass\n */\nKJUR.asn1.DERNull = function () {\n KJUR.asn1.DERNull.superclass.constructor.call(this);\n this.hT = \"05\";\n this.hTLV = \"0500\";\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERNull, KJUR.asn1.ASN1Object);\n// ********************************************************************\n/**\n * class for ASN.1 DER ObjectIdentifier\n * @name KJUR.asn1.DERObjectIdentifier\n * @class class for ASN.1 DER ObjectIdentifier\n * @param {Array} params associative array of parameters (ex. {'oid': '2.5.4.5'})\n * @extends KJUR.asn1.ASN1Object\n * @description\n *
    \n * As for argument 'params' for constructor, you can specify one of\n * following properties:\n *
      \n *
    • oid - specify initial ASN.1 value(V) by a oid string (ex. 2.5.4.13)
    • \n *
    • hex - specify initial ASN.1 value(V) by a hexadecimal string
    • \n *
    \n * NOTE: 'params' can be omitted.\n */\nKJUR.asn1.DERObjectIdentifier = function (params) {\n var itox = function (i) {\n var h = i.toString(16);\n if (h.length == 1)\n h = '0' + h;\n return h;\n };\n var roidtox = function (roid) {\n var h = '';\n var bi = new _jsbn_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger(roid, 10);\n var b = bi.toString(2);\n var padLen = 7 - b.length % 7;\n if (padLen == 7)\n padLen = 0;\n var bPad = '';\n for (var i = 0; i < padLen; i++)\n bPad += '0';\n b = bPad + b;\n for (var i = 0; i < b.length - 1; i += 7) {\n var b8 = b.substr(i, 7);\n if (i != b.length - 7)\n b8 = '1' + b8;\n h += itox(parseInt(b8, 2));\n }\n return h;\n };\n KJUR.asn1.DERObjectIdentifier.superclass.constructor.call(this);\n this.hT = \"06\";\n /**\n * set value by a hexadecimal string\n * @name setValueHex\n * @memberOf KJUR.asn1.DERObjectIdentifier#\n * @function\n * @param {String} newHexString hexadecimal value of OID bytes\n */\n this.setValueHex = function (newHexString) {\n this.hTLV = null;\n this.isModified = true;\n this.s = null;\n this.hV = newHexString;\n };\n /**\n * set value by a OID string
    \n * @name setValueOidString\n * @memberOf KJUR.asn1.DERObjectIdentifier#\n * @function\n * @param {String} oidString OID string (ex. 2.5.4.13)\n * @example\n * o = new KJUR.asn1.DERObjectIdentifier();\n * o.setValueOidString(\"2.5.4.13\");\n */\n this.setValueOidString = function (oidString) {\n if (!oidString.match(/^[0-9.]+$/)) {\n throw \"malformed oid string: \" + oidString;\n }\n var h = '';\n var a = oidString.split('.');\n var i0 = parseInt(a[0]) * 40 + parseInt(a[1]);\n h += itox(i0);\n a.splice(0, 2);\n for (var i = 0; i < a.length; i++) {\n h += roidtox(a[i]);\n }\n this.hTLV = null;\n this.isModified = true;\n this.s = null;\n this.hV = h;\n };\n /**\n * set value by a OID name\n * @name setValueName\n * @memberOf KJUR.asn1.DERObjectIdentifier#\n * @function\n * @param {String} oidName OID name (ex. 'serverAuth')\n * @since 1.0.1\n * @description\n * OID name shall be defined in 'KJUR.asn1.x509.OID.name2oidList'.\n * Otherwise raise error.\n * @example\n * o = new KJUR.asn1.DERObjectIdentifier();\n * o.setValueName(\"serverAuth\");\n */\n this.setValueName = function (oidName) {\n var oid = KJUR.asn1.x509.OID.name2oid(oidName);\n if (oid !== '') {\n this.setValueOidString(oid);\n }\n else {\n throw \"DERObjectIdentifier oidName undefined: \" + oidName;\n }\n };\n this.getFreshValueHex = function () {\n return this.hV;\n };\n if (params !== undefined) {\n if (typeof params === \"string\") {\n if (params.match(/^[0-2].[0-9.]+$/)) {\n this.setValueOidString(params);\n }\n else {\n this.setValueName(params);\n }\n }\n else if (params.oid !== undefined) {\n this.setValueOidString(params.oid);\n }\n else if (params.hex !== undefined) {\n this.setValueHex(params.hex);\n }\n else if (params.name !== undefined) {\n this.setValueName(params.name);\n }\n }\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERObjectIdentifier, KJUR.asn1.ASN1Object);\n// ********************************************************************\n/**\n * class for ASN.1 DER Enumerated\n * @name KJUR.asn1.DEREnumerated\n * @class class for ASN.1 DER Enumerated\n * @extends KJUR.asn1.ASN1Object\n * @description\n *
    \n * As for argument 'params' for constructor, you can specify one of\n * following properties:\n *
      \n *
    • int - specify initial ASN.1 value(V) by integer value
    • \n *
    • hex - specify initial ASN.1 value(V) by a hexadecimal string
    • \n *
    \n * NOTE: 'params' can be omitted.\n * @example\n * new KJUR.asn1.DEREnumerated(123);\n * new KJUR.asn1.DEREnumerated({int: 123});\n * new KJUR.asn1.DEREnumerated({hex: '1fad'});\n */\nKJUR.asn1.DEREnumerated = function (params) {\n KJUR.asn1.DEREnumerated.superclass.constructor.call(this);\n this.hT = \"0a\";\n /**\n * set value by Tom Wu's BigInteger object\n * @name setByBigInteger\n * @memberOf KJUR.asn1.DEREnumerated#\n * @function\n * @param {BigInteger} bigIntegerValue to set\n */\n this.setByBigInteger = function (bigIntegerValue) {\n this.hTLV = null;\n this.isModified = true;\n this.hV = KJUR.asn1.ASN1Util.bigIntToMinTwosComplementsHex(bigIntegerValue);\n };\n /**\n * set value by integer value\n * @name setByInteger\n * @memberOf KJUR.asn1.DEREnumerated#\n * @function\n * @param {Integer} integer value to set\n */\n this.setByInteger = function (intValue) {\n var bi = new _jsbn_jsbn__WEBPACK_IMPORTED_MODULE_0__.BigInteger(String(intValue), 10);\n this.setByBigInteger(bi);\n };\n /**\n * set value by integer value\n * @name setValueHex\n * @memberOf KJUR.asn1.DEREnumerated#\n * @function\n * @param {String} hexadecimal string of integer value\n * @description\n *
    \n * NOTE: Value shall be represented by minimum octet length of\n * two's complement representation.\n */\n this.setValueHex = function (newHexString) {\n this.hV = newHexString;\n };\n this.getFreshValueHex = function () {\n return this.hV;\n };\n if (typeof params != \"undefined\") {\n if (typeof params['int'] != \"undefined\") {\n this.setByInteger(params['int']);\n }\n else if (typeof params == \"number\") {\n this.setByInteger(params);\n }\n else if (typeof params['hex'] != \"undefined\") {\n this.setValueHex(params['hex']);\n }\n }\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DEREnumerated, KJUR.asn1.ASN1Object);\n// ********************************************************************\n/**\n * class for ASN.1 DER UTF8String\n * @name KJUR.asn1.DERUTF8String\n * @class class for ASN.1 DER UTF8String\n * @param {Array} params associative array of parameters (ex. {'str': 'aaa'})\n * @extends KJUR.asn1.DERAbstractString\n * @description\n * @see KJUR.asn1.DERAbstractString - superclass\n */\nKJUR.asn1.DERUTF8String = function (params) {\n KJUR.asn1.DERUTF8String.superclass.constructor.call(this, params);\n this.hT = \"0c\";\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERUTF8String, KJUR.asn1.DERAbstractString);\n// ********************************************************************\n/**\n * class for ASN.1 DER NumericString\n * @name KJUR.asn1.DERNumericString\n * @class class for ASN.1 DER NumericString\n * @param {Array} params associative array of parameters (ex. {'str': 'aaa'})\n * @extends KJUR.asn1.DERAbstractString\n * @description\n * @see KJUR.asn1.DERAbstractString - superclass\n */\nKJUR.asn1.DERNumericString = function (params) {\n KJUR.asn1.DERNumericString.superclass.constructor.call(this, params);\n this.hT = \"12\";\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERNumericString, KJUR.asn1.DERAbstractString);\n// ********************************************************************\n/**\n * class for ASN.1 DER PrintableString\n * @name KJUR.asn1.DERPrintableString\n * @class class for ASN.1 DER PrintableString\n * @param {Array} params associative array of parameters (ex. {'str': 'aaa'})\n * @extends KJUR.asn1.DERAbstractString\n * @description\n * @see KJUR.asn1.DERAbstractString - superclass\n */\nKJUR.asn1.DERPrintableString = function (params) {\n KJUR.asn1.DERPrintableString.superclass.constructor.call(this, params);\n this.hT = \"13\";\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERPrintableString, KJUR.asn1.DERAbstractString);\n// ********************************************************************\n/**\n * class for ASN.1 DER TeletexString\n * @name KJUR.asn1.DERTeletexString\n * @class class for ASN.1 DER TeletexString\n * @param {Array} params associative array of parameters (ex. {'str': 'aaa'})\n * @extends KJUR.asn1.DERAbstractString\n * @description\n * @see KJUR.asn1.DERAbstractString - superclass\n */\nKJUR.asn1.DERTeletexString = function (params) {\n KJUR.asn1.DERTeletexString.superclass.constructor.call(this, params);\n this.hT = \"14\";\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERTeletexString, KJUR.asn1.DERAbstractString);\n// ********************************************************************\n/**\n * class for ASN.1 DER IA5String\n * @name KJUR.asn1.DERIA5String\n * @class class for ASN.1 DER IA5String\n * @param {Array} params associative array of parameters (ex. {'str': 'aaa'})\n * @extends KJUR.asn1.DERAbstractString\n * @description\n * @see KJUR.asn1.DERAbstractString - superclass\n */\nKJUR.asn1.DERIA5String = function (params) {\n KJUR.asn1.DERIA5String.superclass.constructor.call(this, params);\n this.hT = \"16\";\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERIA5String, KJUR.asn1.DERAbstractString);\n// ********************************************************************\n/**\n * class for ASN.1 DER UTCTime\n * @name KJUR.asn1.DERUTCTime\n * @class class for ASN.1 DER UTCTime\n * @param {Array} params associative array of parameters (ex. {'str': '130430235959Z'})\n * @extends KJUR.asn1.DERAbstractTime\n * @description\n *
    \n * As for argument 'params' for constructor, you can specify one of\n * following properties:\n *
      \n *
    • str - specify initial ASN.1 value(V) by a string (ex.'130430235959Z')
    • \n *
    • hex - specify initial ASN.1 value(V) by a hexadecimal string
    • \n *
    • date - specify Date object.
    • \n *
    \n * NOTE: 'params' can be omitted.\n *

    EXAMPLES

    \n * @example\n * d1 = new KJUR.asn1.DERUTCTime();\n * d1.setString('130430125959Z');\n *\n * d2 = new KJUR.asn1.DERUTCTime({'str': '130430125959Z'});\n * d3 = new KJUR.asn1.DERUTCTime({'date': new Date(Date.UTC(2015, 0, 31, 0, 0, 0, 0))});\n * d4 = new KJUR.asn1.DERUTCTime('130430125959Z');\n */\nKJUR.asn1.DERUTCTime = function (params) {\n KJUR.asn1.DERUTCTime.superclass.constructor.call(this, params);\n this.hT = \"17\";\n /**\n * set value by a Date object
    \n * @name setByDate\n * @memberOf KJUR.asn1.DERUTCTime#\n * @function\n * @param {Date} dateObject Date object to set ASN.1 value(V)\n * @example\n * o = new KJUR.asn1.DERUTCTime();\n * o.setByDate(new Date(\"2016/12/31\"));\n */\n this.setByDate = function (dateObject) {\n this.hTLV = null;\n this.isModified = true;\n this.date = dateObject;\n this.s = this.formatDate(this.date, 'utc');\n this.hV = stohex(this.s);\n };\n this.getFreshValueHex = function () {\n if (typeof this.date == \"undefined\" && typeof this.s == \"undefined\") {\n this.date = new Date();\n this.s = this.formatDate(this.date, 'utc');\n this.hV = stohex(this.s);\n }\n return this.hV;\n };\n if (params !== undefined) {\n if (params.str !== undefined) {\n this.setString(params.str);\n }\n else if (typeof params == \"string\" && params.match(/^[0-9]{12}Z$/)) {\n this.setString(params);\n }\n else if (params.hex !== undefined) {\n this.setStringHex(params.hex);\n }\n else if (params.date !== undefined) {\n this.setByDate(params.date);\n }\n }\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERUTCTime, KJUR.asn1.DERAbstractTime);\n// ********************************************************************\n/**\n * class for ASN.1 DER GeneralizedTime\n * @name KJUR.asn1.DERGeneralizedTime\n * @class class for ASN.1 DER GeneralizedTime\n * @param {Array} params associative array of parameters (ex. {'str': '20130430235959Z'})\n * @property {Boolean} withMillis flag to show milliseconds or not\n * @extends KJUR.asn1.DERAbstractTime\n * @description\n *
    \n * As for argument 'params' for constructor, you can specify one of\n * following properties:\n *
      \n *
    • str - specify initial ASN.1 value(V) by a string (ex.'20130430235959Z')
    • \n *
    • hex - specify initial ASN.1 value(V) by a hexadecimal string
    • \n *
    • date - specify Date object.
    • \n *
    • millis - specify flag to show milliseconds (from 1.0.6)
    • \n *
    \n * NOTE1: 'params' can be omitted.\n * NOTE2: 'withMillis' property is supported from asn1 1.0.6.\n */\nKJUR.asn1.DERGeneralizedTime = function (params) {\n KJUR.asn1.DERGeneralizedTime.superclass.constructor.call(this, params);\n this.hT = \"18\";\n this.withMillis = false;\n /**\n * set value by a Date object\n * @name setByDate\n * @memberOf KJUR.asn1.DERGeneralizedTime#\n * @function\n * @param {Date} dateObject Date object to set ASN.1 value(V)\n * @example\n * When you specify UTC time, use 'Date.UTC' method like this:
    \n * o1 = new DERUTCTime();\n * o1.setByDate(date);\n *\n * date = new Date(Date.UTC(2015, 0, 31, 23, 59, 59, 0)); #2015JAN31 23:59:59\n */\n this.setByDate = function (dateObject) {\n this.hTLV = null;\n this.isModified = true;\n this.date = dateObject;\n this.s = this.formatDate(this.date, 'gen', this.withMillis);\n this.hV = stohex(this.s);\n };\n this.getFreshValueHex = function () {\n if (this.date === undefined && this.s === undefined) {\n this.date = new Date();\n this.s = this.formatDate(this.date, 'gen', this.withMillis);\n this.hV = stohex(this.s);\n }\n return this.hV;\n };\n if (params !== undefined) {\n if (params.str !== undefined) {\n this.setString(params.str);\n }\n else if (typeof params == \"string\" && params.match(/^[0-9]{14}Z$/)) {\n this.setString(params);\n }\n else if (params.hex !== undefined) {\n this.setStringHex(params.hex);\n }\n else if (params.date !== undefined) {\n this.setByDate(params.date);\n }\n if (params.millis === true) {\n this.withMillis = true;\n }\n }\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERGeneralizedTime, KJUR.asn1.DERAbstractTime);\n// ********************************************************************\n/**\n * class for ASN.1 DER Sequence\n * @name KJUR.asn1.DERSequence\n * @class class for ASN.1 DER Sequence\n * @extends KJUR.asn1.DERAbstractStructured\n * @description\n *
    \n * As for argument 'params' for constructor, you can specify one of\n * following properties:\n *
      \n *
    • array - specify array of ASN1Object to set elements of content
    • \n *
    \n * NOTE: 'params' can be omitted.\n */\nKJUR.asn1.DERSequence = function (params) {\n KJUR.asn1.DERSequence.superclass.constructor.call(this, params);\n this.hT = \"30\";\n this.getFreshValueHex = function () {\n var h = '';\n for (var i = 0; i < this.asn1Array.length; i++) {\n var asn1Obj = this.asn1Array[i];\n h += asn1Obj.getEncodedHex();\n }\n this.hV = h;\n return this.hV;\n };\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERSequence, KJUR.asn1.DERAbstractStructured);\n// ********************************************************************\n/**\n * class for ASN.1 DER Set\n * @name KJUR.asn1.DERSet\n * @class class for ASN.1 DER Set\n * @extends KJUR.asn1.DERAbstractStructured\n * @description\n *
    \n * As for argument 'params' for constructor, you can specify one of\n * following properties:\n *
      \n *
    • array - specify array of ASN1Object to set elements of content
    • \n *
    • sortflag - flag for sort (default: true). ASN.1 BER is not sorted in 'SET OF'.
    • \n *
    \n * NOTE1: 'params' can be omitted.
    \n * NOTE2: sortflag is supported since 1.0.5.\n */\nKJUR.asn1.DERSet = function (params) {\n KJUR.asn1.DERSet.superclass.constructor.call(this, params);\n this.hT = \"31\";\n this.sortFlag = true; // item shall be sorted only in ASN.1 DER\n this.getFreshValueHex = function () {\n var a = new Array();\n for (var i = 0; i < this.asn1Array.length; i++) {\n var asn1Obj = this.asn1Array[i];\n a.push(asn1Obj.getEncodedHex());\n }\n if (this.sortFlag == true)\n a.sort();\n this.hV = a.join('');\n return this.hV;\n };\n if (typeof params != \"undefined\") {\n if (typeof params.sortflag != \"undefined\" &&\n params.sortflag == false)\n this.sortFlag = false;\n }\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERSet, KJUR.asn1.DERAbstractStructured);\n// ********************************************************************\n/**\n * class for ASN.1 DER TaggedObject\n * @name KJUR.asn1.DERTaggedObject\n * @class class for ASN.1 DER TaggedObject\n * @extends KJUR.asn1.ASN1Object\n * @description\n *
    \n * Parameter 'tagNoNex' is ASN.1 tag(T) value for this object.\n * For example, if you find '[1]' tag in a ASN.1 dump,\n * 'tagNoHex' will be 'a1'.\n *
    \n * As for optional argument 'params' for constructor, you can specify *ANY* of\n * following properties:\n *
      \n *
    • explicit - specify true if this is explicit tag otherwise false\n * (default is 'true').
    • \n *
    • tag - specify tag (default is 'a0' which means [0])
    • \n *
    • obj - specify ASN1Object which is tagged
    • \n *
    \n * @example\n * d1 = new KJUR.asn1.DERUTF8String({'str':'a'});\n * d2 = new KJUR.asn1.DERTaggedObject({'obj': d1});\n * hex = d2.getEncodedHex();\n */\nKJUR.asn1.DERTaggedObject = function (params) {\n KJUR.asn1.DERTaggedObject.superclass.constructor.call(this);\n this.hT = \"a0\";\n this.hV = '';\n this.isExplicit = true;\n this.asn1Object = null;\n /**\n * set value by an ASN1Object\n * @name setString\n * @memberOf KJUR.asn1.DERTaggedObject#\n * @function\n * @param {Boolean} isExplicitFlag flag for explicit/implicit tag\n * @param {Integer} tagNoHex hexadecimal string of ASN.1 tag\n * @param {ASN1Object} asn1Object ASN.1 to encapsulate\n */\n this.setASN1Object = function (isExplicitFlag, tagNoHex, asn1Object) {\n this.hT = tagNoHex;\n this.isExplicit = isExplicitFlag;\n this.asn1Object = asn1Object;\n if (this.isExplicit) {\n this.hV = this.asn1Object.getEncodedHex();\n this.hTLV = null;\n this.isModified = true;\n }\n else {\n this.hV = null;\n this.hTLV = asn1Object.getEncodedHex();\n this.hTLV = this.hTLV.replace(/^../, tagNoHex);\n this.isModified = false;\n }\n };\n this.getFreshValueHex = function () {\n return this.hV;\n };\n if (typeof params != \"undefined\") {\n if (typeof params['tag'] != \"undefined\") {\n this.hT = params['tag'];\n }\n if (typeof params['explicit'] != \"undefined\") {\n this.isExplicit = params['explicit'];\n }\n if (typeof params['obj'] != \"undefined\") {\n this.asn1Object = params['obj'];\n this.setASN1Object(this.isExplicit, this.hT, this.asn1Object);\n }\n }\n};\n_yahoo__WEBPACK_IMPORTED_MODULE_1__.YAHOO.lang.extend(KJUR.asn1.DERTaggedObject, KJUR.asn1.ASN1Object);\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/jsrsasign/asn1-1.0.js?"); + +/***/ }), + +/***/ "./lib/lib/jsrsasign/yahoo.js": +/*!************************************!*\ + !*** ./lib/lib/jsrsasign/yahoo.js ***! + \************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"YAHOO\": () => (/* binding */ YAHOO)\n/* harmony export */ });\n/*!\nCopyright (c) 2011, Yahoo! Inc. All rights reserved.\nCode licensed under the BSD License:\nhttp://developer.yahoo.com/yui/license.html\nversion: 2.9.0\n*/\nvar YAHOO = {};\nYAHOO.lang = {\n /**\n * Utility to set up the prototype, constructor and superclass properties to\n * support an inheritance strategy that can chain constructors and methods.\n * Static members will not be inherited.\n *\n * @method extend\n * @static\n * @param {Function} subc the object to modify\n * @param {Function} superc the object to inherit\n * @param {Object} overrides additional properties/methods to add to the\n * subclass prototype. These will override the\n * matching items obtained from the superclass\n * if present.\n */\n extend: function (subc, superc, overrides) {\n if (!superc || !subc) {\n throw new Error(\"YAHOO.lang.extend failed, please check that \" +\n \"all dependencies are included.\");\n }\n var F = function () { };\n F.prototype = superc.prototype;\n subc.prototype = new F();\n subc.prototype.constructor = subc;\n subc.superclass = superc.prototype;\n if (superc.prototype.constructor == Object.prototype.constructor) {\n superc.prototype.constructor = superc;\n }\n if (overrides) {\n var i;\n for (i in overrides) {\n subc.prototype[i] = overrides[i];\n }\n /*\n * IE will not enumerate native functions in a derived object even if the\n * function was overridden. This is a workaround for specific functions\n * we care about on the Object prototype.\n * @property _IEEnumFix\n * @param {Function} r the object to receive the augmentation\n * @param {Function} s the object that supplies the properties to augment\n * @static\n * @private\n */\n var _IEEnumFix = function () { }, ADD = [\"toString\", \"valueOf\"];\n try {\n if (/MSIE/.test(navigator.userAgent)) {\n _IEEnumFix = function (r, s) {\n for (i = 0; i < ADD.length; i = i + 1) {\n var fname = ADD[i], f = s[fname];\n if (typeof f === 'function' && f != Object.prototype[fname]) {\n r[fname] = f;\n }\n }\n };\n }\n }\n catch (ex) { }\n ;\n _IEEnumFix(subc.prototype, overrides);\n }\n }\n};\n\n\n//# sourceURL=webpack://JSEncrypt/./lib/lib/jsrsasign/yahoo.js?"); + +/***/ }), + +/***/ "./node_modules/process/browser.js": +/*!*****************************************!*\ + !*** ./node_modules/process/browser.js ***! + \*****************************************/ +/***/ ((module) => { + +eval("// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n//# sourceURL=webpack://JSEncrypt/./node_modules/process/browser.js?"); + +/***/ }) + +/******/ }); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +/******/ /* webpack/runtime/define property getters */ +/******/ (() => { +/******/ // define getter functions for harmony exports +/******/ __webpack_require__.d = (exports, definition) => { +/******/ for(var key in definition) { +/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { +/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); +/******/ } +/******/ } +/******/ }; +/******/ })(); +/******/ +/******/ /* webpack/runtime/hasOwnProperty shorthand */ +/******/ (() => { +/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) +/******/ })(); +/******/ +/******/ /* webpack/runtime/make namespace object */ +/******/ (() => { +/******/ // define __esModule on exports +/******/ __webpack_require__.r = (exports) => { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ })(); +/******/ +/************************************************************************/ +/******/ +/******/ // startup +/******/ // Load entry module and return exports +/******/ // This entry module can't be inlined because the eval devtool is used. +/******/ var __webpack_exports__ = __webpack_require__("./lib/index.js"); +/******/ __webpack_exports__ = __webpack_exports__["default"]; +/******/ +/******/ return __webpack_exports__; +/******/ })() +; +}); \ No newline at end of file diff --git a/tvboxqq/tvboxqq/戏曲音乐/api/node-rsa.js b/tvboxqq/tvboxqq/戏曲音乐/api/node-rsa.js new file mode 100644 index 0000000..b5ca093 --- /dev/null +++ b/tvboxqq/tvboxqq/戏曲音乐/api/node-rsa.js @@ -0,0 +1,2 @@ +/*! 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-tthis._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;i4)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{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{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=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=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=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;s60?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>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;au?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>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=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;oa&&(r=a-f),o=r;o>=0;o--){for(var h=!0,p=0;pi&&(n=i):n=i;var o=e.length;n>o/2&&(n=o/2);for(var s=0;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;i239?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;nr&&(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>>=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;ii)&&(r=i);for(var o="",s=e;sr)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||et.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>>=0,e>>>=0,r||k(t,e,this.length);for(var n=this[t],i=1,o=0;++o>>=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=(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>>=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>>=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=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=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>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(o=e;o55295&&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=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;s6&&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>>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>>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>>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>>2]>>>24-o%4*8&255;e[n+o>>>2]|=s<<24-(n+o)%4*8}else for(o=0;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>>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>>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>>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>>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>>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>>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>>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>>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>>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>>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>>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.lengthn&&(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>>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<>>32-o)+e}function c(t,e,r,n,i,o,s){var a=t+(e&n|r&~n)+i+s;return(a<>>32-o)+e}function h(t,e,r,n,i,o,s){var a=t+(e^r^n)+i+s;return(a<>>32-o)+e}function p(t,e,r,n,i,o,s){var a=t+(r^(e|~n))+i+s;return(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>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>>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>>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>>0?1:0)|0,e[2]=e[2]+886263092+(e[1]>>>0>>0?1:0)|0,e[3]=e[3]+1295307597+(e[2]>>>0>>0?1:0)|0,e[4]=e[4]+3545052371+(e[3]>>>0>>0?1:0)|0,e[5]=e[5]+886263092+(e[4]>>>0>>0?1:0)|0,e[6]=e[6]+1295307597+(e[5]>>>0>>0?1:0)|0,e[7]=e[7]+3545052371+(e[6]>>>0>>0?1:0)|0,this._b=e[7]>>>0>>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>>0?1:0)|0,e[2]=e[2]+886263092+(e[1]>>>0>>0?1:0)|0,e[3]=e[3]+1295307597+(e[2]>>>0>>0?1:0)|0,e[4]=e[4]+3545052371+(e[3]>>>0>>0?1:0)|0,e[5]=e[5]+886263092+(e[4]>>>0>>0?1:0)|0,e[6]=e[6]+1295307597+(e[5]>>>0>>0?1:0)|0,e[7]=e[7]+3545052371+(e[6]>>>0>>0?1:0)|0,this._b=e[7]>>>0>>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<>>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<>>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<>>32-O,y=w<>>32-O):(l=w<>>64-O,y=E<>>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>>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>>0?1:0))+nt+((V+=it)>>>0>>0?1:0))+ut+((V+=ct)>>>0>>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>>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>>0?1:0))+bt+((ht+=Et)>>>0>>0?1:0))+W+((ht+=V)>>>0>>0?1:0))+((M=C+ht|0)>>>0>>0?1:0)|0,L=R,C=N,R=k,N=D,k=T,D=I,T=wt+(dt+yt+(Ot>>>0>>0?1:0))+((I=ht+Ot|0)>>>0>>0?1:0)|0}y=n.low=y+I,n.high=l+T+(y>>>0>>0?1:0),d=i.low=d+D,i.high=g+k+(d>>>0>>0?1:0),m=o.low=m+N,o.high=v+R+(m>>>0>>0?1:0),_=s.low=_+C,s.high=S+L+(_>>>0>>0?1:0),E=a.low=E+M,a.high=b+U+(E>>>0>>0?1:0),O=c.low=O+H,c.high=w+j+(O>>>0>>0?1:0),A=h.low=A+z,h.high=B+F+(A>>>0>>0?1:0),P=p.low=P+q,p.high=x+G+(P>>>0>>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^this._lBlock)&e;this._lBlock^=r,this._rBlock^=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{"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){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<>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<>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<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{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{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<>=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>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):this[this.t-1]|=f<=this.DB&&(a-=this.DB))}!r&&8==n&&128&t[0]&&(this.s=-1,a>0&&(this[this.t-1]|=(1<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=0;--r)e[r+s+1]=this[r]>>i|a,a=(this[r]&o)<=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;for(var s=r+1;s>n;n>0&&(e[this.t-r-1]|=(this.s&o)<>=this.DB;if(t.t>=this.DB;n+=this.s}else{for(n+=this.s;r>=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=0;)t[r]=0;for(r=0;r=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.t0?(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<1?o[h-2]>>this.F2:0),g=this.FV/l,d=(1<=0&&(r[r.t++]=1,r.subTo(_,r)),s.ONE.dlShiftTo(h,_),_.subTo(o,o);o.t=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))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<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=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<>=this.DB;if(t.t>=this.DB;n+=this.s}else{for(n+=this.s;r>=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=0;)r[n]=0;for(n=Math.max(e-this.t,0);n0)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;o0)for(a>a)>0&&(i=!0,o=h(r));s>=0;)a>(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)<>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>n)!=(this.s&this.DM)>>n&&(e[i++]=r|this.s<=0;)n<8?(r=(this[t]&(1<>(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;r0?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?0!=this.s:!!(this[e]&1<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<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<=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(i0&&(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{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()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;f0)throw Error("Incorrect data or key");for(var r=[],i=0,o=0,s=t.length/this.encryptedDataLength,a=0;a>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;hf-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{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=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>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>8-(g=8*h-r)<<8-g,p[0]=p[0]&l,y=0;0===p[y]&&y{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+e0){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;g0)for(var d=0;d{"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{"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{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=[];++c1)for(var r=1;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{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/tvboxqq/tvboxqq/戏曲音乐/api/pako.min.js b/tvboxqq/tvboxqq/戏曲音乐/api/pako.min.js new file mode 100644 index 0000000..05a54a2 --- /dev/null +++ b/tvboxqq/tvboxqq/戏曲音乐/api/pako.min.js @@ -0,0 +1,2 @@ +/*! 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<>16-t.bi_valid,t.bi_valid+=a-16):(t.bi_buf|=e<{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{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]{const i=t.heap[a];let n=a<<1;for(;n<=t.heap_len&&(n{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{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>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{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{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{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{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<>=7;h(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>>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<{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]&&sr){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{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_outi+t.strm.avail_in&&(a=i+t.strm.avail_in),a>n&&(a=n),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_watern&&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>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=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=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_length4096)&&(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<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.gzindexi&&(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.gzindexi&&(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]&&nt.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=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>>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;i4)s[n++]=65533,i+=r-1;else{for(e&=2===r?31:3===r?15:7;r>1&&i1?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=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<>>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,c-=p),c<15&&(f+=z[a++]<>>24,f>>>=p,c-=p,p=g>>>16&255,!(16&p)){if(0==(64&p)){g=w[(65535&g)+(f&(1<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,p2;)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>3,a-=k,c-=k<<3,f&=(1<{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=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;b0&&(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;m852||2===t&&x>592)return 1;for(;;){Z=w-v,r[m]+1=u?(U=D[r[m]-u],S=A[r[m]-u]):(U=96,S=0),h=1<>v)+d]=Z<<24|U<<16|S|0}while(0!==d);for(h=1<>=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<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.mode16211?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.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.whaveKe(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++]<>>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<>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++]<>>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++]<>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++]<>>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>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++]<>>=7&d,d-=7&d,a.mode=Fe;break}for(;d<3;){if(0===o)break t;o--,h+=i[s++]<>>=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++]<>>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++]<>>=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>>=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>>24,b=z>>>16&255,g=65535&z,!(m<=d);){if(0===o)break t;o--,h+=i[s++]<>>=m,d-=m,a.lens[a.have++]=g;else{if(16===g){for(R=m+2;d>>=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>>=m,d-=m,y=0,c=3+(7&h),h>>>=3,d-=3}else{for(R=m+7;d>>=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<>>24,b=z>>>16&255,g=65535&z,!(m<=d);){if(0===o)break t;o--,h+=i[s++]<>p)],m=z>>>24,b=z>>>16&255,g=65535&z,!(p+m<=d);){if(0===o)break t;o--,h+=i[s++]<>>=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>>=a.extra,d-=a.extra,a.back+=a.extra}a.was=a.length,a.mode=16202;case 16202:for(;z=a.distcode[h&(1<>>24,b=z>>>16&255,g=65535&z,!(m<=d);){if(0===o)break t;o--,h+=i[s++]<>p)],m=z>>>24,b=z>>>16&255,g=65535&z,!(p+m<=d);){if(0===o)break t;o--,h+=i[s++]<>>=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>>=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++]<{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/tvboxqq/tvboxqq/戏曲音乐/api/模板.js b/tvboxqq/tvboxqq/戏曲音乐/api/模板.js new file mode 100644 index 0000000..0abba43 --- /dev/null +++ b/tvboxqq/tvboxqq/戏曲音乐/api/模板.js @@ -0,0 +1,377 @@ +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; + }; +} + +function getMubans() { + var mubanDict = { // 模板字典 + mx: { + title: '', + host: '', + url: '/vodshow/fyclass--------fypage---/', + searchUrl: '/vodsearch/**----------fypage---/', + class_parse: '.top_nav li;a&&Text;a&&href;.*/(.*?)/', + searchable: 2, + quickSearch: 0, + filterable: 0, + headers: { + 'User-Agent': 'MOBILE_UA', + }, + play_parse: true, + lazy: '', + limit: 6, + 推荐: '.cbox_list;*;*;*;*;*', + double: true, + 一级: 'ul.vodlist li;a&&title;a&&data-original;.pic_text&&Text;a&&href', + 二级: { + title: 'h2&&Text;.detail_list&&ul:eq(1)&&li&&a:eq(2)&&Text', + img: '.vodlist_thumb&&data-original', + desc: '.content_detail&&li:eq(1)&&Text;.detail_list&&ul:eq(1)&&li&&a&&Text;.detail_list&&ul:eq(1)&&li&&a:eq(1)&&Text;.detail_list&&ul:eq(1)&&li:eq(2)&&Text;.detail_list&&ul:eq(1)&&li:eq(3)&&Text', + content: '.content_desc&&span&&Text', + tabs: '.play_source_tab&&a', + lists: '.content_playlist:eq(#id) li', + }, + 搜索: '*', + }, + mxpro: { + title: '', + host: '', // homeUrl:'/', + url: '/vodshow/fyclass--------fypage---.html', + searchUrl: '/vodsearch/**----------fypage---.html', + searchable: 2,//是否启用全局搜索, + quickSearch: 0,//是否启用快速搜索, + filterable: 0,//是否启用分类筛选, + headers: {//网站的请求头,完整支持所有的,常带ua和cookies + 'User-Agent': 'MOBILE_UA', // "Cookie": "searchneed=ok" + }, + class_parse: '.navbar-items li:gt(2):lt(8);a&&Text;a&&href;/(\\d+).html', + play_parse: true, + lazy: '', + limit: 6, + 推荐: '.tab-list.active;a.module-poster-item.module-item;.module-poster-item-title&&Text;.lazyload&&data-original;.module-item-note&&Text;a&&href', + double: true, // 推荐内容是否双层定位 + 一级: 'body a.module-poster-item.module-item;a&&title;.lazyload&&data-original;.module-item-note&&Text;a&&href', + 二级: { + "title": "h1&&Text;.module-info-tag&&Text", + "img": ".lazyload&&data-original", + "desc": ".module-info-item:eq(1)&&Text;.module-info-item:eq(2)&&Text;.module-info-item:eq(3)&&Text", + "content": ".module-info-introduction&&Text", + "tabs": ".module-tab-item", + "lists": ".module-play-list:eq(#id) a" + }, + 搜索: 'body .module-item;.module-card-item-title&&Text;.lazyload&&data-original;.module-item-note&&Text;a&&href;.module-info-item-content&&Text', + }, mxone5: { + title: '', + host: '', + url: '/show/fyclass--------fypage---.html', + searchUrl: '/search/**----------fypage---.html', + searchable: 2,//是否启用全局搜索, + quickSearch: 0,//是否启用快速搜索, + filterable: 0,//是否启用分类筛选, + class_parse: '.nav-menu-items&&li;a&&Text;a&&href;.*/(.*?).html', + play_parse: true, + lazy: '', + limit: 6, + 推荐: '.module-list;.module-items&&.module-item;a&&title;img&&data-src;.module-item-text&&Text;a&&href', + double: true, // 推荐内容是否双层定位 + 一级: '.module-items .module-item;a&&title;img&&data-src;.module-item-text&&Text;a&&href', + 二级: { + "title": "h1&&Text;.tag-link&&Text", + "img": ".module-item-pic&&img&&data-src", + "desc": ".video-info-items:eq(0)&&Text;.video-info-items:eq(1)&&Text;.video-info-items:eq(2)&&Text;.video-info-items:eq(3)&&Text", + "content": ".vod_content&&Text", + "tabs": ".module-tab-item", + "lists": ".module-player-list:eq(#id)&&.scroll-content&&a" + }, + 搜索: '.module-items .module-search-item;a&&title;img&&data-src;.video-serial&&Text;a&&href', + }, 首图: { + title: '', + host: '', + url: '/vodshow/fyclass--------fypage---/', + searchUrl: '/vodsearch/**----------fypage---.html', + searchable: 2,//是否启用全局搜索, + quickSearch: 0,//是否启用快速搜索, + filterable: 0,//是否启用分类筛选, + headers: {//网站的请求头,完整支持所有的,常带ua和cookies + 'User-Agent': 'MOBILE_UA', // "Cookie": "searchneed=ok" + }, + class_parse: '.myui-header__menu li.hidden-sm:gt(0):lt(5);a&&Text;a&&href;/(\\d+).html', + play_parse: true, + lazy: '', + limit: 6, + 推荐: 'ul.myui-vodlist.clearfix;li;a&&title;a&&data-original;.pic-text&&Text;a&&href', + double: true, // 推荐内容是否双层定位 + 一级: '.myui-vodlist li;a&&title;a&&data-original;.pic-text&&Text;a&&href', + 二级: { + "title": ".myui-content__detail .title&&Text;.myui-content__detail p:eq(-2)&&Text", + "img": ".myui-content__thumb .lazyload&&data-original", + "desc": ".myui-content__detail p:eq(0)&&Text;.myui-content__detail p:eq(1)&&Text;.myui-content__detail p:eq(2)&&Text", + "content": ".content&&Text", + "tabs": ".nav-tabs:eq(0) li", + "lists": ".myui-content__list:eq(#id) li" + }, + 搜索: '#searchList li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text', + }, 首图2: { + title: '', + host: '', + url: '/list/fyclass-fypage.html', + searchUrl: '/vodsearch/**----------fypage---.html', + searchable: 2,//是否启用全局搜索, + quickSearch: 0,//是否启用快速搜索, + filterable: 0,//是否启用分类筛选, + headers: { + 'User-Agent': 'UC_UA', // "Cookie": "" + }, // class_parse:'.stui-header__menu li:gt(0):lt(7);a&&Text;a&&href;/(\\d+).html', + class_parse: '.stui-header__menu li:gt(0):lt(7);a&&Text;a&&href;.*/(.*?).html', + play_parse: true, + lazy: '', + limit: 6, + 推荐: 'ul.stui-vodlist.clearfix;li;a&&title;.lazyload&&data-original;.pic-text&&Text;a&&href', + double: true, // 推荐内容是否双层定位 + 一级: '.stui-vodlist li;a&&title;a&&data-original;.pic-text&&Text;a&&href', + 二级: { + "title": ".stui-content__detail .title&&Text;.stui-content__detail p:eq(-2)&&Text", + "img": ".stui-content__thumb .lazyload&&data-original", + "desc": ".stui-content__detail p:eq(0)&&Text;.stui-content__detail p:eq(1)&&Text;.stui-content__detail p:eq(2)&&Text", + "content": ".detail&&Text", + "tabs": ".stui-vodlist__head h3", + "lists": ".stui-content__playlist:eq(#id) li" + }, + 搜索: 'ul.stui-vodlist__media:eq(0),ul.stui-vodlist:eq(0),#searchList li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text', + 搜索1: 'ul.stui-vodlist&&li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text', + 搜索2: 'ul.stui-vodlist__media&&li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text', + }, 默认: { + title: '', + host: '', + url: '', + searchUrl: '', + searchable: 2, + quickSearch: 0, + filterable: 1, + filter: '', + filter_url: '', + filter_def: {}, + headers: { + 'User-Agent': 'MOBILE_UA', + }, + timeout: 5000, + class_parse: '#side-menu li;a&&Text;a&&href;/(.*?)\.html', + cate_exclude: '', + play_parse: true, + lazy: `js:input = {parse: 1, url: input, js: ''}`, + double: true, + 推荐: '列表1;列表2;标题;图片;描述;链接;详情', + 一级: '列表;标题;图片;描述;链接;详情', + 二级: { + title: 'vod_name;vod_type', + img: '图片链接', + desc: '主要信息;年代;地区;演员;导演', + content: '简介', + tabs: '', + lists: 'xx:eq(#id)&&a', + tab_text: 'body&&Text', + list_text: 'body&&Text', + list_url: 'a&&href' + }, + 搜索: '列表;标题;图片;描述;链接;详情', + }, vfed: { + title: '', + host: '', + url: '/index.php/vod/show/id/fyclass/page/fypage.html', + searchUrl: '/index.php/vod/search/page/fypage/wd/**.html', + searchable: 2,//是否启用全局搜索, + quickSearch: 0,//是否启用快速搜索, + filterable: 0,//是否启用分类筛选, + headers: { + 'User-Agent': 'UC_UA', + }, // class_parse:'.fed-pops-navbar&&ul.fed-part-rows&&a.fed-part-eone:gt(0):lt(5);a&&Text;a&&href;.*/(.*?).html', + class_parse: '.fed-pops-navbar&&ul.fed-part-rows&&a;a&&Text;a&&href;.*/(.*?).html', + play_parse: true, + lazy: '', + limit: 6, + 推荐: 'ul.fed-list-info.fed-part-rows;li;a.fed-list-title&&Text;a&&data-original;.fed-list-remarks&&Text;a&&href', + double: true, // 推荐内容是否双层定位 + 一级: '.fed-list-info&&li;a.fed-list-title&&Text;a&&data-original;.fed-list-remarks&&Text;a&&href', + 二级: { + "title": "h1.fed-part-eone&&Text;.fed-deta-content&&.fed-part-rows&&li&&Text", + "img": ".fed-list-info&&a&&data-original", + "desc": ".fed-deta-content&&.fed-part-rows&&li:eq(1)&&Text;.fed-deta-content&&.fed-part-rows&&li:eq(2)&&Text;.fed-deta-content&&.fed-part-rows&&li:eq(3)&&Text", + "content": ".fed-part-esan&&Text", + "tabs": ".fed-drop-boxs&&.fed-part-rows&&li", + "lists": ".fed-play-item:eq(#id)&&ul:eq(1)&&li" + }, + 搜索: '.fed-deta-info;h1&&Text;.lazyload&&data-original;.fed-list-remarks&&Text;a&&href;.fed-deta-content&&Text', + }, 海螺3: { + title: '', + host: '', + searchUrl: '/v_search/**----------fypage---.html', + url: '/vod_____show/fyclass--------fypage---.html', + headers: { + 'User-Agent': 'MOBILE_UA' + }, + timeout: 5000, + class_parse: 'body&&.hl-nav li:gt(0);a&&Text;a&&href;.*/(.*?).html', + cate_exclude: '明星|专题|最新|排行', + limit: 40, + play_parse: true, + lazy: '', + 推荐: '.hl-vod-list;li;a&&title;a&&data-original;.remarks&&Text;a&&href', + double: true, + 一级: '.hl-vod-list&&.hl-list-item;a&&title;a&&data-original;.remarks&&Text;a&&href', + 二级: { + "title": ".hl-infos-title&&Text;.hl-text-conch&&Text", + "img": ".hl-lazy&&data-original", + "desc": ".hl-infos-content&&.hl-text-conch&&Text", + "content": ".hl-content-text&&Text", + "tabs": ".hl-tabs&&a", + "lists": ".hl-plays-list:eq(#id)&&li" + }, + 搜索: '.hl-list-item;a&&title;a&&data-original;.remarks&&Text;a&&href', + searchable: 2,//是否启用全局搜索, + quickSearch: 0,//是否启用快速搜索, + filterable: 0,//是否启用分类筛选, + }, 海螺2: { + title: '', + host: '', + searchUrl: '/index.php/vod/search/page/fypage/wd/**/', + url: '/index.php/vod/show/id/fyclass/page/fypage/', + headers: { + 'User-Agent': 'MOBILE_UA' + }, + timeout: 5000, + class_parse: '#nav-bar li;a&&Text;a&&href;id/(.*?)/', + limit: 40, + play_parse: true, + lazy: '', + 推荐: '.list-a.size;li;a&&title;.lazy&&data-original;.bt&&Text;a&&href', + double: true, + 一级: '.list-a&&li;a&&title;.lazy&&data-original;.list-remarks&&Text;a&&href', + 二级: { + "title": "h2&&Text;.deployment&&Text", + "img": ".lazy&&data-original", + "desc": ".deployment&&Text", + "content": ".ec-show&&Text", + "tabs": "#tag&&a", + "lists": ".play_list_box:eq(#id)&&li" + }, + 搜索: '.search-list;a&&title;.lazy&&data-original;.deployment&&Text;a&&href', + searchable: 2,//是否启用全局搜索, + quickSearch: 0,//是否启用快速搜索, + filterable: 0,//是否启用分类筛选, + }, 短视: { + title: '', + host: '', // homeUrl:'/', + url: '/channel/fyclass-fypage.html', + searchUrl: '/search.html?wd=**', + searchable: 2,//是否启用全局搜索, + quickSearch: 0,//是否启用快速搜索, + filterable: 0,//是否启用分类筛选, + headers: {//网站的请求头,完整支持所有的,常带ua和cookies + 'User-Agent': 'MOBILE_UA', // "Cookie": "searchneed=ok" + }, + class_parse: '.menu_bottom ul li;a&&Text;a&&href;.*/(.*?).html', + cate_exclude: '解析|动态', + play_parse: true, + lazy: '', + limit: 6, + 推荐: '.indexShowBox;ul&&li;a&&title;img&&data-src;.s1&&Text;a&&href', + double: true, // 推荐内容是否双层定位 + 一级: '.pic-list&&li;a&&title;img&&data-src;.s1&&Text;a&&href', + 二级: { + "title": "h1&&Text;.content-rt&&p:eq(0)&&Text", + "img": ".img&&img&&data-src", + "desc": ".content-rt&&p:eq(1)&&Text;.content-rt&&p:eq(2)&&Text;.content-rt&&p:eq(3)&&Text;.content-rt&&p:eq(4)&&Text;.content-rt&&p:eq(5)&&Text", + "content": ".zkjj_a&&Text", + "tabs": ".py-tabs&&option", + "lists": ".player:eq(#id) li" + }, + 搜索: '.sr_lists&&ul&&li;h3&&Text;img&&data-src;.int&&p:eq(0)&&Text;a&&href', + }, 短视2: { + title: '', + host: '', + class_name: '电影&电视剧&综艺&动漫', + class_url: '1&2&3&4', + searchUrl: '/index.php/ajax/suggest?mid=1&wd=**&limit=50', + searchable: 2, + quickSearch: 0, + headers: {'User-Agent': 'MOBILE_UA'}, + url: '/index.php/api/vod#type=fyclass&page=fypage', + filterable: 0,//是否启用分类筛选, + filter_url: '', + filter: {}, + filter_def: {}, + detailUrl: '/index.php/vod/detail/id/fyid.html', + play_parse: true, + lazy: '', + limit: 6, + 推荐: '.list-vod.flex .public-list-box;a&&title;.lazy&&data-original;.public-list-prb&&Text;a&&href', + 一级: 'js:let body=input.split("#")[1];let t=Math.round(new Date/1e3).toString();let key=md5("DS"+t+"DCC147D11943AF75");let url=input.split("#")[0];body=body+"&time="+t+"&key="+key;print(body);fetch_params.body=body;let html=post(url,fetch_params);let data=JSON.parse(html);VODS=data.list.map(function(it){it.vod_pic=urljoin2(input.split("/i")[0],it.vod_pic);return it});', + 二级: { + "title": ".slide-info-title&&Text;.slide-info:eq(3)--strong&&Text", + "img": ".detail-pic&&data-original", + "desc": ".fraction&&Text;.slide-info-remarks:eq(1)&&Text;.slide-info-remarks:eq(2)&&Text;.slide-info:eq(2)--strong&&Text;.slide-info:eq(1)--strong&&Text", + "content": "#height_limit&&Text", + "tabs": ".anthology.wow.fadeInUp.animated&&.swiper-wrapper&&a", + "tab_text": ".swiper-slide&&Text", + "lists": ".anthology-list-box:eq(#id) li" + }, + 搜索: 'json:list;name;pic;;id', + }, 采集1: { + title: '', + host: '', + homeTid: '13', + homeUrl: '/api.php/provide/vod/?ac=detail&t={{rule.homeTid}}', + detailUrl: '/api.php/provide/vod/?ac=detail&ids=fyid', + searchUrl: '/api.php/provide/vod/?wd=**&pg=fypage', + url: '/api.php/provide/vod/?ac=detail&pg=fypage&t=fyclass', + headers: {'User-Agent': 'MOBILE_UA'}, + timeout: 5000, // class_name: '电影&电视剧&综艺&动漫', + // class_url: '1&2&3&4', + // class_parse:'js:let html=request(input);input=JSON.parse(html).class;', + class_parse: 'json:class;', + limit: 20, + multi: 1, + searchable: 2,//是否启用全局搜索, + quickSearch: 1,//是否启用快速搜索, + filterable: 0,//是否启用分类筛选, + play_parse: true, + parse_url: '', + lazy: `js: + if(/\\.(m3u8|mp4)/.test(input)){ + input = {parse:0,url:input} + }else{ + if(rule.parse_url.startsWith('json:')){ + let purl = rule.parse_url.replace('json:','')+input; + let html = request(purl); + input = {parse:0,url:JSON.parse(html).url} + }else{ + input= rule.parse_url+input; + } + } + `, + 推荐: '*', + 一级: 'json:list;vod_name;vod_pic;vod_remarks;vod_id;vod_play_from', + 二级: `js: + let html=request(input); + html=JSON.parse(html); + let data=html.list; + VOD=data[0];`, + 搜索: '*', + } + }; + return JSON.parse(JSON.stringify(mubanDict)); +} + +var mubanDict = getMubans(); +var muban = getMubans(); +export default {muban, getMubans}; \ No newline at end of file diff --git a/tvboxqq/tvboxqq/戏曲音乐/jars/gx.jar b/tvboxqq/tvboxqq/戏曲音乐/jars/gx.jar new file mode 100644 index 0000000..57611f8 Binary files /dev/null and b/tvboxqq/tvboxqq/戏曲音乐/jars/gx.jar differ diff --git a/tvboxqq/tvboxqq/戏曲音乐/js/酷奇MV.js b/tvboxqq/tvboxqq/戏曲音乐/js/酷奇MV.js new file mode 100644 index 0000000..742bd48 --- /dev/null +++ b/tvboxqq/tvboxqq/戏曲音乐/js/酷奇MV.js @@ -0,0 +1,25 @@ +var rule = { + title:'酷奇MV', + host:'https://www.kuqimv.com', + // homeUrl:'/play/', + url:'/play/fyclass_fypage.html', + searchUrl:'/search.php?key=**&pages=fypage', + searchable:2, + quickSearch:0, + // class_parse:'.main:eq(1)&&li;a&&Text;a&&href;.*/(\\d+)_1.html', + // class_parse:'.lei_class&&a;a&&Text;a&&href;.*/(\\d+)_1.html', + class_name:'华语高清&日韩精选&欧美MV&高清现场&影视MV&夜店视频&车模视频&热舞视频&美女写真&美女打碟', + class_url:'1&2&3&4&5&6&7&8&9&10', + headers:{ + 'User-Agent':'MOBILE_UA' + }, + timeout:5000, + play_parse:true, + lazy:'', + limit:6, + double:false, + 推荐:'*', + 一级:'js:var d=[];pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd;var html=request(input);let list=pdfa(html,".mv_list&&li");list.forEach((it)=>{d.push({title:pdfh(it,".name&&Text"),desc:"🎤"+pdfh(it,".singer&&Text")+"|"+pdfh(it,".time&&Text"),pic_url:pd(it,"img&&src"),url:pd(it,"a&&href"),})});setResult(d);', + 二级:'*', + 搜索:'.video_list&&li;a&&title;;.singer&&Text;a&&href;.t_03:eq(1)&&Text', +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/戏曲音乐/json/Bili.json b/tvboxqq/tvboxqq/戏曲音乐/json/Bili.json new file mode 100644 index 0000000..fdb5764 --- /dev/null +++ b/tvboxqq/tvboxqq/戏曲音乐/json/Bili.json @@ -0,0 +1,4504 @@ +{ + + "classes": [ + { + "type_name": "音乐", + "type_id": "音乐" + }, + { + "type_name": "歌曲", + "type_id": "歌曲" + }, + { + "type_name": "MV", + "type_id": "MV4K" + }, + { + "type_name": "舞曲", + "type_id": "舞曲超清" + }, + { + "type_name": "舞蹈", + "type_id": "舞蹈" + }, + { + "type_name": "广场舞", + "type_id": "广场舞" + }, + { + "type_name": "沙雕动漫", + "type_id": "一口气沙雕动漫" + }, + { + "type_name": "美食", + "type_id": "美食超清" + }, + { + "type_name": "食谱", + "type_id": "食谱" + }, + { + "type_name": "瑜伽", + "type_id": "瑜伽" + }, + { + "type_name": "体育", + "type_id": "体育超清" + }, + { + "type_name": "球星", + "type_id": "球星" + }, + { + "type_name": "旅游", + "type_id": "旅游" + }, + { + "type_name": "风景", + "type_id": "风景4K" + }, + { + "type_name": "说案", + "type_id": "说案" + }, + { + "type_name": "知名UP主", + "type_id": "知名UP主" + }, + { + "type_name": "探索发现", + "type_id": "探索发现超清" + }, + { + "type_name": "纪录片", + "type_id": "纪录片超清" + }, + { + "type_name": "鬼畜", + "type_id": "鬼畜" + }, + { + "type_name": "搞笑", + "type_id": "搞笑超清" + }, + { + "type_name": "儿童", + "type_id": "儿童超清" + }, + { + "type_name": "动物世界", + "type_id": "动物世界超清" + }, + { + "type_name": "相声小品", + "type_id": "相声小品超清" + }, + { + "type_name": "戏曲", + "type_id": "戏曲" + }, + { + "type_name": "解说", + "type_id": "解说" + }, + + { + "type_name": "演讲", + "type_id": "演讲" + }, + { + "type_name": "小姐姐", + "type_id": "小姐姐超清" + }, + { + "type_name": "荒野求生", + "type_id": "荒野求生超清" + }, + { + "type_name": "健身", + "type_id": "健身" + }, + { + "type_name": "帕梅拉", + "type_id": "帕梅拉" + }, + { + "type_name": "太极拳", + "type_id": "太极拳" + }, + { + "type_name": "4K", + "type_id": "4K" + }, + { + "type_name": "电影", + "type_id": "电影" + }, + { + "type_name": "电视剧", + "type_id": "电视剧" + }, + { + "type_name": "白噪音", + "type_id": "白噪音超清" + }, + { + "type_name": "考公考证", + "type_id": "考公考证" + }, + + { + "type_name": "平面设计教学", + "type_id": "平面设计教学" + }, + { + "type_name": "软件教程", + "type_id": "软件教程" + }, + { + "type_name": "Windows", + "type_id": "Windows" + } + + ], + + "cookie": "innersign=0; buvid3=2E536ADC-CD6D-46AB-A9FF-904395151EE369713infoc; b_nut=1669016569; i-wanna-go-back=-1; b_ut=7; _uuid=761F7F106-C575-884D-6C10A-92BC10A10D10FBC68934infoc; buvid4=5B25B999-AE15-E09A-A0CC-3661981B71BF70255-122112115-JOyWSaNZfI2kZmT1KYmcQA%3D%3D; fingerprint=6d9ef93c89a567d22b6a9c4104e6cc50; buvid_fp_plain=undefined; buvid_fp=6d9ef93c89a567d22b6a9c4104e6cc50; SESSDATA=2d6f63c8%2C1684568607%2C19eb6%2Ab1; bili_jct=21d538b01566c26afc81ff68c2ac7dca; DedeUserID=3493083203242585; DedeUserID__ckMd5=7b86f3894ed7f8c0; sid=ng0uyvaz; b_lsid=97FB69A2_1869DE8E2C5; bg_view_44176=720227", + + "filter": { + "考公考证": [{ + "key": "order", + "name": "排序", + "value": [{ + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "探索发现超清": [{ + "key": "order", + "name": "排序", + "value": [{ + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "电影": [{ + "key": "order", + "name": "排序", + "value": [{ + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "鬼畜": [{ + "key": "order", + "name": "排序", + "value": [{ + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "一口气沙雕动漫": [{ + "key": "order", + "name": "排序", + "value": [{ + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "说案": [{ + "key": "order", + "name": "排序", + "value": [{ + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "tid", + "name": "分类", + "value": [{ + "n": "全部", + "v": "说案" + }, + { + "n": "汤圆", + "v": "汤圆说案" + }, + { + "n": "唐唐", + "v": "唐唐说案" + }, + { + "n": "罗翔", + "v": "罗翔说刑法" + }, + { + "n": "何家弘", + "v": "何家弘说案" + }, + { + "n": "韩诺", + "v": "韩诺说案" + }, + { + "n": "老V", + "v": "老V说案" + }, + { + "n": "禁播档案‼️", + "v": "禁播档案" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "演讲": [{ + "key": "order", + "name": "排序", + "value": [{ + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "tid", + "name": "分类", + "value": [{ + "n": "全部", + "v": "全部演讲4K" + }, + { + "n": "A艾跃进", + "v": "艾跃进演讲4K" + }, + { + "n": "C超级演说家", + "v": "超级演说家4K" + }, + { + "n": "D电影", + "v": "电影演讲4K" + }, + { + "n": "D典籍里的中国", + "v": "典籍里的中国4K" + }, + { + "n": "G感动中国", + "v": "感动中国4K" + }, + { + "n": "G郭继承", + "v": "郭继承演讲4K" + }, + { + "n": "H华春莹", + "v": "华春莹演讲4K" + }, + { + "n": "L雷军", + "v": "雷军演讲4K" + }, + { + "n": "L罗翔", + "v": "罗翔演讲4K" + }, + { + "n": "R任正非", + "v": "任正非演讲4K" + }, + { + "n": "TED", + "v": "TED演讲4K" + }, + { + "n": "W汪文斌", + "v": "汪文斌演讲4K" + }, + { + "n": "Y一刻", + "v": "一刻演讲4K" + }, + { + "n": "Z赵立坚", + "v": "赵立坚演讲4K" + }, + { + "n": "Z郑强", + "v": "郑强演讲4K" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "解说": [{ + "key": "order", + "name": "排序", + "value": [{ + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "tid", + "name": "分类", + "value": [{ + "n": "全部", + "v": "解说" + }, + { + "n": "电影", + "v": "电影解说" + }, + { + "n": "电视", + "v": "电视解说" + }, + { + "n": "历史", + "v": "历史解说" + }, + { + "n": "动漫", + "v": "动漫解说" + }, + { + "n": "小说", + "v": "小说解说" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "风景4K": [{ + "key": "order", + "name": "排序", + "value": [{ + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "tid", + "name": "分类", + "value": [{ + "n": "全部", + "v": "风景4K" + }, + { + "n": "A澳门", + "v": "澳门风景4K" + }, + { + "n": "A安徽", + "v": "安徽风景4K" + }, + { + "n": "B布达拉宫", + "v": "布达拉宫风景4K" + }, + { + "n": "B北京", + "v": "北京风景4K" + }, + { + "n": "C重庆", + "v": "重庆风景4K" + }, + { + "n": "C草原", + "v": "草原风景4K" + }, + { + "n": "D大海", + "v": "大海风景4K" + }, + { + "n": "F福建", + "v": "福建风景4K" + }, + { + "n": "G广东", + "v": "广东风景4K" + }, + { + "n": "G广西", + "v": "广西风景4K" + }, + { + "n": "G贵州", + "v": "贵州风景4K" + }, + { + "n": "G甘肃", + "v": "甘肃风景4K" + }, + { + "n": "H海南", + "v": "海南风景4K" + }, + { + "n": "H河北", + "v": "河北风景4K" + }, + { + "n": "H河南", + "v": "河南风景4K" + }, + { + "n": "H湖北", + "v": "湖北风景4K" + }, + { + "n": "H湖南", + "v": "湖南风景4K" + }, + { + "n": "H黑龙江", + "v": "黑龙江风景4K" + }, + { + "n": "J吉林", + "v": "吉林风景4K" + }, + { + "n": "J江苏", + "v": "江苏风景4K" + }, + { + "n": "J江西", + "v": "江西风景4K" + }, + { + "n": "L辽宁", + "v": "辽宁风景4K" + }, + { + "n": "M民宿", + "v": "民宿风景4K" + }, + { + "n": "N内蒙古", + "v": "内蒙古风景4K" + }, + { + "n": "N宁夏", + "v": "宁夏风景4K" + }, + { + "n": "Q青海", + "v": "青海风景4K" + }, + { + "n": "S上海", + "v": "上海风景4K" + }, + { + "n": "S陕西", + "v": "陕西风景4K" + }, + { + "n": "S四川", + "v": "四川风景4K" + }, + { + "n": "S山西", + "v": "山西风景4K" + }, + { + "n": "S山东", + "v": "山东风景4K" + }, + { + "n": "T天津", + "v": "天津风景4K" + }, + { + "n": "T台湾", + "v": "台湾风景4K" + }, + { + "n": "T天空", + "v": "天空风景4K" + }, + { + "n": "X西湖", + "v": "西湖风景4K" + }, + { + "n": "X西藏", + "v": "西藏风景4K" + }, + { + "n": "X新疆", + "v": "新疆风景4K" + }, + { + "n": "X香港", + "v": "香港风景4K" + }, + { + "n": "Y云南", + "v": "云南风景4K" + }, + { + "n": "Z浙江", + "v": "浙江风景4K" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "MV4K": [{ + "key": "order", + "name": "排序", + "value": [{ + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "tid", + "name": "分类", + "value": [{ + "n": "全部", + "v": "MV4K" + }, + { + "n": "A阿杜", + "v": "阿杜MV4K" + }, + { + "n": "A阿黛尔", + "v": "阿黛尔MV4K" + }, + { + "n": "BBeyond", + "v": "BeyondMV4K" + }, + { + "n": "BBy2", + "v": "By2MV4K" + }, + { + "n": "BBIGBANG", + "v": "BIGBANGMV4K" + }, + { + "n": "B布兰妮", + "v": "布兰妮MV4K" + }, + { + "n": "C陈奕迅", + "v": "陈奕迅MV4K" + }, + { + "n": "C蔡依林", + "v": "蔡依林MV4K" + }, + { + "n": "C初音未来", + "v": "初音未来MV4K" + }, + { + "n": "C蔡健雅", + "v": "蔡健雅MV4K" + }, + { + "n": "C陈小春", + "v": "陈小春MV4K" + }, + { + "n": "C草蜢", + "v": "草蜢MV4K" + }, + { + "n": "C陈慧娴", + "v": "陈慧娴MV4K" + }, + { + "n": "C崔健", + "v": "崔健MV4K" + }, + { + "n": "C仓木麻衣", + "v": "仓木麻衣MV4K" + }, + { + "n": "D戴荃", + "v": "戴荃MV4K" + }, + { + "n": "D动力火车", + "v": "动力火车MV4K" + }, + { + "n": "D邓丽君", + "v": "邓丽君MV4K" + }, + { + "n": "D丁当", + "v": "丁当MV4K" + }, + { + "n": "D刀郎", + "v": "刀郎MV4K" + }, + { + "n": "D邓紫棋", + "v": "邓紫棋MV4K" + }, + { + "n": "D戴佩妮", + "v": "戴佩妮MV4K" + }, + { + "n": "D邓丽君", + "v": "邓丽君MV4K" + }, + { + "n": "F飞儿乐队", + "v": "飞儿乐队MV4K" + }, + { + "n": "F费玉清", + "v": "费玉清MV4K" + }, + { + "n": "F费翔", + "v": "费翔MV4K" + }, + { + "n": "F方大同", + "v": "方大同MV4K" + }, + { + "n": "F房东的猫", + "v": "房东的猫MV4K" + }, + { + "n": "F凤飞飞", + "v": "凤飞飞MV4K" + }, + { + "n": "F凤凰传奇", + "v": "凤凰传奇MV4K" + }, + { + "n": "G古风歌曲", + "v": "古风歌曲4K" + }, + { + "n": "G国乐大典", + "v": "国乐大典4K" + }, + { + "n": "G郭采洁", + "v": "郭采洁MV4K" + }, + { + "n": "G光良", + "v": "光良MV4K" + }, + { + "n": "G郭静", + "v": "郭静MV4K" + }, + { + "n": "G郭富城", + "v": "郭富城MV4K" + }, + { + "n": "H胡彦斌", + "v": "胡彦斌MV4K" + }, + { + "n": "H胡夏", + "v": "胡夏MV4K" + }, + { + "n": "H韩红", + "v": "韩红MV4K" + }, + { + "n": "H黄品源", + "v": "黄品源MV4K" + }, + { + "n": "H黄小琥", + "v": "黄小琥MV4K" + }, + { + "n": "H花儿乐队", + "v": "花儿乐队MV4K" + }, + { + "n": "H黄家强", + "v": "黄家强MV4K" + }, + { + "n": "H后街男孩", + "v": "后街男孩MV4K" + }, + { + "n": "J经典老歌", + "v": "经典老歌4K" + }, + { + "n": "J贾斯丁比伯", + "v": "贾斯丁比伯MV4K" + }, + { + "n": "J金池", + "v": "金池MV4K" + }, + { + "n": "J金志文", + "v": "金志文MV4K" + }, + { + "n": "J焦迈奇", + "v": "焦迈奇MV4K" + }, + { + "n": "K筷子兄弟", + "v": "筷子兄弟MV4K" + }, + { + "n": "L李玟", + "v": "李玟MV4K" + }, + { + "n": "L林忆莲", + "v": "林忆莲MV4K" + }, + { + "n": "L李克勤", + "v": "李克勤MV4K" + }, + { + "n": "L刘宪华", + "v": "刘宪华MV4K" + }, + { + "n": "L李圣杰", + "v": "李圣杰MV4K" + }, + { + "n": "L林宥嘉", + "v": "林宥嘉MV4K" + }, + { + "n": "L梁静茹", + "v": "梁静茹MV4K" + }, + { + "n": "L李健", + "v": "李健MV4K" + }, + { + "n": "L林俊杰", + "v": "林俊杰MV4K" + }, + { + "n": "L李玉刚", + "v": "李玉刚MV4K" + }, + { + "n": "L林志炫", + "v": "林志炫MV4K" + }, + { + "n": "L李荣浩", + "v": "李荣浩MV4K" + }, + { + "n": "L李宇春", + "v": "李宇春MV4K" + }, + { + "n": "L洛天依", + "v": "洛天依MV4K" + }, + { + "n": "L林子祥", + "v": "林子祥MV4K" + }, + { + "n": "L李宗盛", + "v": "李宗盛MV4K" + }, + { + "n": "L黎明", + "v": "黎明MV4K" + }, + { + "n": "L刘德华", + "v": "刘德华MV4K" + }, + { + "n": "L罗大佑", + "v": "罗大佑MV4K" + }, + { + "n": "L林肯公园", + "v": "林肯公园MV4K" + }, + { + "n": "LLadyGaga", + "v": "LadyGagaMV4K" + }, + { + "n": "L旅行团乐队", + "v": "旅行团乐队MV4K" + }, + { + "n": "M莫文蔚", + "v": "莫文蔚MV4K" + }, + { + "n": "M毛不易", + "v": "毛不易MV4K" + }, + { + "n": "M梅艳芳", + "v": "梅艳芳MV4K" + }, + { + "n": "M迈克尔杰克逊", + "v": "迈克尔杰克逊MV4K" + }, + { + "n": "N南拳妈妈", + "v": "南拳妈妈MV4K" + }, + { + "n": "P朴树", + "v": "朴树MV4K" + }, + { + "n": "Q齐秦", + "v": "齐秦MV4K" + }, + { + "n": "Q青鸟飞鱼", + "v": "青鸟飞鱼MV4K" + }, + { + "n": "R容祖儿", + "v": "容祖儿MV4K" + }, + { + "n": "R热歌", + "v": "热歌MV4K" + }, + { + "n": "R任贤齐", + "v": "任贤齐MV4K" + }, + { + "n": "S水木年华", + "v": "水木年华MV4K" + }, + { + "n": "S孙燕姿", + "v": "孙燕姿MV4K" + }, + { + "n": "S苏打绿", + "v": "苏打绿MV4K" + }, + { + "n": "SSHE", + "v": "SHEMV4K" + }, + { + "n": "S孙楠", + "v": "孙楠MV4K" + }, + { + "n": "T陶喆", + "v": "陶喆MV4K" + }, + { + "n": "T谭咏麟", + "v": "谭咏麟MV4K" + }, + { + "n": "T田馥甄", + "v": "田馥甄MV4K" + }, + { + "n": "T谭维维", + "v": "谭维维MV4K" + }, + { + "n": "T逃跑计划", + "v": "逃跑计划MV4K" + }, + { + "n": "T田震", + "v": "田震MV4K" + }, + { + "n": "T谭晶", + "v": "谭晶MV4K" + }, + { + "n": "T屠洪刚", + "v": "屠洪刚MV4K" + }, + { + "n": "T泰勒·斯威夫特", + "v": "泰勒·斯威夫特MV4K" + }, + { + "n": "W王力宏", + "v": "王力宏MV4K" + }, + { + "n": "W王杰", + "v": "王杰MV4K" + }, + { + "n": "W吴克群", + "v": "吴克群MV4K" + }, + { + "n": "W王心凌", + "v": "王心凌MV4K" + }, + { + "n": "W汪峰", + "v": "汪峰MV4K" + }, + { + "n": "W伍佰", + "v": "伍佰MV4K" + }, + { + "n": "W王菲", + "v": "王菲MV4K" + }, + { + "n": "W五月天", + "v": "五月天MV4K" + }, + { + "n": "W汪苏泷", + "v": "汪苏泷MV4K" + }, + { + "n": "X徐佳莹", + "v": "徐佳莹MV4K" + }, + { + "n": "X弦子", + "v": "弦子MV4K" + }, + { + "n": "X萧亚轩", + "v": "萧亚轩MV4K" + }, + { + "n": "X许巍", + "v": "许巍MV4K" + }, + { + "n": "X薛之谦", + "v": "薛之谦MV4K" + }, + { + "n": "X许嵩", + "v": "许嵩MV4K" + }, + { + "n": "X小虎队", + "v": "小虎队MV4K" + }, + { + "n": "X萧敬腾", + "v": "萧敬腾MV4K" + }, + { + "n": "X谢霆锋", + "v": "谢霆锋MV4K" + }, + { + "n": "X徐小凤", + "v": "徐小凤MV4K" + }, + { + "n": "X信乐队", + "v": "信乐队MV4K" + }, + { + "n": "Y夜愿乐队", + "v": "夜愿乐队MV4K" + }, + { + "n": "Y原创音乐", + "v": "原创音乐MV4K" + }, + { + "n": "Y羽泉", + "v": "羽泉MV4K" + }, + { + "n": "Y粤语", + "v": "粤语MV4K" + }, + { + "n": "Y郁可唯", + "v": "郁可唯MV4K" + }, + { + "n": "Y叶倩文", + "v": "叶倩文MV4K" + }, + { + "n": "Y杨坤", + "v": "杨坤MV4K" + }, + { + "n": "Y庾澄庆", + "v": "庾澄庆MV4K" + }, + { + "n": "Y尤长靖", + "v": "尤长靖MV4K" + }, + { + "n": "Y易烊千玺", + "v": "易烊千玺MV4K" + }, + { + "n": "Y袁娅维", + "v": "袁娅维MV4K" + }, + { + "n": "Y杨丞琳", + "v": "杨丞琳MV4K" + }, + { + "n": "Y杨千嬅", + "v": "杨千嬅MV4K" + }, + { + "n": "Y杨宗纬", + "v": "杨宗纬MV4K" + }, + { + "n": "Z周杰伦", + "v": "周杰伦MV4K" + }, + { + "n": "Z张学友", + "v": "张学友MV4K" + }, + { + "n": "Z张信哲", + "v": "张信哲MV4K" + }, + { + "n": "Z张宇", + "v": "张宇MV4K" + }, + { + "n": "Z周华健", + "v": "周华健MV4K" + }, + { + "n": "Z张韶涵", + "v": "张韶涵MV4K" + }, + { + "n": "Z周深", + "v": "周深MV4K" + }, + { + "n": "Z纵贯线", + "v": "纵贯线MV4K" + }, + { + "n": "Z赵雷", + "v": "赵雷MV4K" + }, + { + "n": "Z周传雄", + "v": "周传雄MV4K" + }, + { + "n": "Z张国荣", + "v": "张国荣MV4K" + }, + { + "n": "Z周慧敏", + "v": "周慧敏MV4K" + }, + { + "n": "Z张惠妹", + "v": "张惠妹MV4K" + }, + { + "n": "Z周笔畅", + "v": "周笔畅MV4K" + }, + { + "n": "Z郑中基", + "v": "郑中基MV4K" + }, + { + "n": "Z张艺兴", + "v": "张艺兴MV4K" + }, + { + "n": "Z张震岳", + "v": "张震岳MV4K" + }, + { + "n": "Z中国好声音", + "v": "中国好声音MV4K" + }, + { + "n": "Z张雨生", + "v": "张雨生MV4K" + }, + { + "n": "Z郑智化", + "v": "郑智化MV4K" + }, + { + "n": "Z卓依婷", + "v": "卓依婷MV4K" + }, + { + "n": "Z中岛美雪", + "v": "中岛美雪MV4K" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + + "帕梅拉": [{ + "key": "order", + "name": "排序", + "value": [{ + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "tid", + "name": "分类", + "value": [{ + "n": "全部", + "v": "帕梅拉" + }, + { + "n": "瘦腿", + "v": "帕梅拉瘦腿" + }, + { + "n": "腹部", + "v": "帕梅拉腹部" + }, + { + "n": "手臂", + "v": "帕梅拉手臂" + }, + { + "n": "热身", + "v": "帕梅拉热身" + }, + { + "n": "舞蹈", + "v": "帕梅拉舞蹈" + }, + { + "n": "燃脂", + "v": "帕梅拉燃脂" + }, + { + "n": "有氧", + "v": "帕梅拉有氧" + }, + { + "n": "拉伸", + "v": "帕梅拉拉伸" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + + "知名UP主": [{ + "key": "order", + "name": "排序", + "value": [{ + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "tid", + "name": "分类", + "value": [{ + "n": "全部", + "v": "知名UP主" + }, + { + "n": "菠萝赛东", + "v": "菠萝赛东" + }, + { + "n": "冯提莫", + "v": "冯提莫" + }, + { + "n": "林延秋", + "v": "林延秋" + }, + { + "n": "-LKs-", + "v": "-LKs-" + }, + { + "n": "小约翰可汗", + "v": "小约翰可汗" + }, + { + "n": "low馆长", + "v": "low馆长" + }, + { + "n": "自说自话的总裁", + "v": "自说自话的总裁" + }, + { + "n": "所长林超", + "v": "所长林超" + }, + { + "n": "世界未解之谜M", + "v": "世界未解之谜M" + }, + { + "n": "李永乐老师官方", + "v": "李永乐老师官方" + }, + { + "n": "罗兹", + "v": "罗兹" + }, + { + "n": "回到2049", + "v": "回到2049" + }, + { + "n": "二次元的中科院物理所", + "v": "二次元的中科院物理所" + }, + { + "n": "毕导THU", + "v": "毕导THU" + }, + { + "n": "罗翔讲刑法", + "v": "罗翔讲刑法" + }, + { + "n": "戴博士实验室", + "v": "戴博士实验室" + }, + { + "n": "芳斯塔芙", + "v": "芳斯塔芙" + }, + { + "n": "参赛者网", + "v": "参赛者网" + }, + { + "n": "三维地图看世界", + "v": "三维地图看世界" + }, + { + "n": "有机社会", + "v": "有机社会" + }, + { + "n": "乌鸦校尉CaptainWuya", + "v": "乌鸦校尉CaptainWuya" + }, + { + "n": "果壳", + "v": "果壳" + }, + { + "n": "严伯钧", + "v": "严伯钧" + }, + { + "n": "是你们的康康", + "v": "是你们的康康" + }, + { + "n": "老爸评测", + "v": "老爸评测" + }, + { + "n": "硬核的半佛仙人", + "v": "硬核的半佛仙人" + }, + { + "n": "盗月社食遇记", + "v": "盗月社食遇记" + }, + { + "n": "我是郭杰瑞", + "v": "我是郭杰瑞" + }, + { + "n": "无穷小亮的科普日常", + "v": "无穷小亮的科普日常" + }, + { + "n": "papi酱", + "v": "papi酱" + }, + { + "n": "老番茄", + "v": "老番茄" + }, + { + "n": "绵羊料理", + "v": "绵羊料理" + }, + { + "n": "老师好我叫何同学", + "v": "老师好我叫何同学" + }, + { + "n": "敬汉卿", + "v": "敬汉卿" + }, + { + "n": "周六野Zoey", + "v": "周六野Zoey" + }, + { + "n": "木鱼水心", + "v": "木鱼水心" + }, + { + "n": "凉风Kaze", + "v": "凉风Kaze" + }, + { + "n": "小潮院长", + "v": "小潮院长" + }, + { + "n": "中国BOY超级大猩猩", + "v": "中国BOY超级大猩猩" + }, + { + "n": "李子柒", + "v": "李子柒" + }, + { + "n": "敖厂长", + "v": "敖厂长" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "太极拳": [{ + "key": "order", + "name": "排序", + "value": [{ + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "tid", + "name": "分类", + "value": [{ + "n": "全部", + "v": "太极拳" + }, + { + "n": "邱慧芳", + "v": "太极拳邱慧芳" + }, + { + "n": "陈氏", + "v": "太极拳陈氏" + }, + { + "n": "武当", + "v": "太极拳武当" + }, + { + "n": "二十四式", + "v": "太极拳二十四式" + }, + { + "n": "三十六式", + "v": "太极拳三十六式" + }, + { + "n": "五禽戏", + "v": "五禽戏" + }, + { + "n": "八段锦", + "v": "八段锦" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "舞蹈": [{ + "key": "order", + "name": "排序", + "value": [{ + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "tid", + "name": "分类", + "value": [{ + "n": "全部", + "v": "舞蹈" + }, + { + "n": "宅舞", + "v": "宅舞" + }, + { + "n": "街舞", + "v": "街舞" + }, + { + "n": "中国舞", + "v": "中国舞" + }, + { + "n": "广场舞", + "v": "广场舞" + }, + { + "n": "交谊舞", + "v": "交谊舞" + }, + { + "n": "教程", + "v": "舞蹈教程" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "音乐": [{ + "key": "order", + "name": "排序", + "value": [{ + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "tid", + "name": "分类", + "value": [{ + "n": "全部", + "v": "音乐" + }, + { + "n": "钢琴曲", + "v": "钢琴曲" + }, + { + "n": "协奏曲", + "v": "协奏曲r" + }, + { + "n": "中国古风音乐", + "v": "中国古风音乐" + }, + { + "n": "背景音乐", + "v": "背景音乐" + }, + { + "n": "助眠音乐r", + "v": "助眠音乐" + }, + { + "n": "胎教音乐", + "v": "胎教音乐" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "歌曲": [{ + "key": "order", + "name": "排序", + "value": [{ + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "tid", + "name": "分类", + "value": [{ + "n": "全部", + "v": "歌曲" + }, + { + "n": "香港歌曲", + "v": "香港歌曲" + }, + { + "n": "台湾歌曲", + "v": "台湾歌曲" + }, + { + "n": "内地歌曲", + "v": "内地歌曲" + }, + { + "n": "英文歌曲", + "v": "英文歌曲" + }, + { + "n": "日文歌曲", + "v": "日文歌曲" + }, + { + "n": "小语种歌曲", + "v": "小语种歌曲" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "平面设计教学": [{ + "key": "order", + "name": "排序", + "value": [{ + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "tid", + "name": "分类", + "value": [{ + "n": "全部", + "v": "平面设计教学" + }, + { + "n": "Adobe Photoshop", + "v": "Adobe Photoshop教程" + }, + { + "n": "Adobe Illustrator", + "v": "Adobe Illustrator教程" + }, + { + "n": "CorelDRAW", + "v": "CorelDRAW教程" + }, + { + "n": "Adobe InDesign", + "v": "Adobe InDesign教程" + }, + { + "n": "Adobe Pagermaker", + "v": "Adobe Pagermaker教程" + }, + { + "n": "SAI", + "v": "SAI教程" + }, + { + "n": "Adobe Bridge", + "v": "Adobe Bridge教程" + }, + { + "n": "Adobe Pagermaker", + "v": "Adobe Pagermake教程r" + }, + { + "n": "3D Studio Max", + "v": "3D Studio Max教程" + }, + { + "n": "PR", + "v": "PR教程" + }, + { + "n": "AE", + "v": "AE教程" + }, + { + "n": "CINEMA 4D", + "v": "CINEMA 4D教程" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "软件教程": [{ + "key": "order", + "name": "排序", + "value": [{ + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "tid", + "name": "分类", + "value": [{ + "n": "全部", + "v": "软件教程" + }, + { + "n": "MT管理器", + "v": "MT管理器" + }, + { + "n": "NP管理器", + "v": "NP管理器" + }, + { + "n": "mixplorer", + "v": "mixplorer" + }, + { + "n": "脱壳", + "v": "脱壳" + }, + { + "n": "爬虫", + "v": "爬虫" + }, + { + "n": "json&jar", + "v": "json&jar" + }, + { + "n": "网盘挂载", + "v": "网盘挂载" + }, + { + "n": "alist+WebDav", + "v": "alist+WebDav" + }, + { + "n": "TVBox修改", + "v": "TVBox修改教程" + }, + { + "n": "EXCEL", + "v": "EXCEL教程" + }, + { + "n": "Git入门到精通", + "v": "Git入门到精通" + }, + { + "n": "java", + "v": "java教程" + }, + { + "n": "phyton", + "v": "phyton教程" + }, + { + "n": "xml", + "v": "xml教程" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "Windows": [{ + "key": "order", + "name": "排序", + "value": [{ + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "小姐姐超清": [{ + "key": "order", + "name": "排序", + "value": [{ + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "广场舞超清": [{ + "key": "order", + "name": "排序", + "value": [{ + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "舞曲超清": [{ + "key": "order", + "name": "排序", + "value": [{ + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "白噪音超清": [{ + "key": "order", + "name": "排序", + "value": [{ + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "搞笑超清": [{ + "key": "order", + "name": "排序", + "value": [{ + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "体育超清": [{ + "key": "order", + "name": "排序", + "value": [{ + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "4K": [{ + "key": "order", + "name": "排序", + "value": [{ + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "足球比赛合集超清": [{ + "key": "order", + "name": "排序", + "value": [{ + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "篮球超清": [{ + "key": "order", + "name": "排序", + "value": [{ + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "动物世界超清": [{ + "key": "order", + "name": "排序", + "value": [{ + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "儿童超清": [{ + "key": "order", + "name": "排序", + "value": [{ + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "荒野求生超清": [{ + "key": "order", + "name": "排序", + "value": [{ + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "纪录片超清": [{ + "key": "order", + "name": "排序", + "value": [{ + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + + "食谱": [{ + "key": "order", + "name": "排序", + "value": [{ + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "tid", + "name": "分类", + "value": [{ + "n": "全部", + "v": "食谱" + }, + { + "n": "川菜食谱", + "v": "川菜食谱" + }, + { + "n": "豫菜食谱", + "v": "豫菜食谱" + }, + { + "n": "淮扬菜食谱", + "v": "淮扬菜食谱" + }, + { + "n": "湘菜食谱", + "v": "湘菜食谱" + }, + { + "n": "鲁菜食谱", + "v": "鲁菜食谱" + }, + { + "n": "粤菜食谱", + "v": "粤菜食谱" + }, + { + "n": "潮菜食谱", + "v": "潮菜食谱" + }, + { + "n": "浙菜食谱", + "v": "浙菜食谱" + }, + { + "n": "徽菜食谱", + "v": "徽菜食谱" + }, + { + "n": "闽菜食谱", + "v": "闽菜食谱" + }, + { + "n": "苏菜食谱", + "v": "苏菜食谱" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "健身": [{ + "key": "order", + "name": "排序", + "value": [{ + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "tid", + "name": "分类", + "value": [{ + "n": "全部", + "v": "健身" + }, + { + "n": "瘦腿", + "v": "瘦腿" + }, + { + "n": "腹部", + "v": "腹部" + }, + { + "n": "手臂", + "v": "手臂" + }, + { + "n": "热身", + "v": "热身" + }, + { + "n": "帕梅拉", + "v": "帕梅拉" + }, + { + "n": "燃脂", + "v": "燃脂" + }, + { + "n": "有氧", + "v": "有氧" + }, + { + "n": "拉伸", + "v": "拉伸" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "窗白噪音": [{ + "key": "order", + "name": "排序", + "value": [{ + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "美食超清": [{ + "key": "order", + "name": "排序", + "value": [{ + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "tid", + "name": "分类", + "value": [{ + "n": "全部", + "v": "美食超清" + }, + { + "n": "舌尖上的中国", + "v": "舌尖上的中国超清" + }, + { + "n": "老字号", + "v": "老字号美食超清" + }, + { + "n": "家常菜", + "v": "家常菜美食超清" + }, + { + "n": "香港美食探店", + "v": "香港美食探店超清" + }, + { + "n": "澳门美食探店", + "v": "澳门美食探店超清" + }, + { + "n": "上海美食探店", + "v": "上海美食探店超清" + }, + { + "n": "北京美食探店", + "v": "北京美食探店超清" + }, + { + "n": "重庆美食探店", + "v": "重庆美食探店超清" + }, + { + "n": "南京美食探店", + "v": "南京美食探店超清" + }, + { + "n": "广州美食探店", + "v": "广州美食探店超清" + }, + { + "n": "杭州美食探店", + "v": "杭州美食探店超清" + }, + { + "n": "成都美食探店", + "v": "成都美食探店超清" + }, + { + "n": "苏州美食探店", + "v": "苏州美食探店超清" + }, + { + "n": "武汉美食探店", + "v": "武汉美食探店超清" + }, + { + "n": "台湾美食探店", + "v": "台湾美食探店超清" + }, + { + "n": "川菜", + "v": "川菜美食超清" + }, + { + "n": "豫菜", + "v": "豫菜美食超清" + }, + { + "n": "淮扬菜", + "v": "淮扬菜美食超清" + }, + { + "n": "湘菜", + "v": "湘菜美食超清" + }, + { + "n": "鲁菜", + "v": "鲁菜美食超清" + }, + { + "n": "粤菜", + "v": "粤菜美食超清" + }, + { + "n": "潮菜", + "v": "潮菜美食超清" + }, + { + "n": "浙菜", + "v": "浙菜美食超清" + }, + { + "n": "徽菜", + "v": "徽菜美食超清" + }, + { + "n": "闽菜", + "v": "闽菜美食超清" + }, + { + "n": "东北菜", + "v": "东北菜美食超清" + }, + { + "n": "客家菜", + "v": "客家菜美食超清" + }, + { + "n": "苏菜", + "v": "苏菜美食超清" + }, + + { + "n": "火锅", + "v": "火锅" + }, + { + "n": "面食", + "v": "面食" + }, + { + "n": "炒菜", + "v": "炒菜" + }, + { + "n": "点心", + "v": "点心" + }, + { + "n": "日料", + "v": "日料" + }, + { + "n": "小吃", + "v": "小吃" + }, + { + "n": "素食", + "v": "素食" + }, + { + "n": "蒸菜", + "v": "蒸菜" + }, + { + "n": "凉菜", + "v": "凉菜" + }, + { + "n": "早餐", + "v": "早餐" + }, + { + "n": "披萨", + "v": "披萨" + }, { + "n": "烤鱼", + "v": "烤鱼" + }, { + "n": "海鲜", + "v": "海鲜美食超清" + }, { + "n": "汉堡", + "v": "汉堡" + }, { + "n": "韩国菜", + "v": "韩国菜" + }, + { + "n": "泰国菜", + "v": "泰国菜" + }, { + "n": "穆斯林菜", + "v": "穆斯林菜" + }, { + "n": "法国菜", + "v": "法国菜" + }, { + "n": "意大利菜", + "v": "意大利菜" + }, + { + "n": "西班牙菜", + "v": "西班牙菜" + }, { + "n": "土耳其菜", + "v": "土耳其菜系" + }, { + "n": "阿拉伯菜", + "v": "阿拉伯菜" + }, { + "n": "德国菜", + "v": "德国菜" + } + + ] + }, + { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "广场舞": [{ + "key": "order", + "name": "排序", + "value": [{ + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "球星": [{ + "key": "order", + "name": "排序", + "value": [{ + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "tid", + "name": "分类", + "value": [{ + "n": "全部", + "v": "球星" + }, + { + "n": "梅西", + "v": "梅西" + }, + { + "n": "C罗", + "v": "C罗" + }, + { + "n": "天下足球", + "v": "天下足球" + }, + { + "n": "罗纳尔多", + "v": "罗纳尔多" + }, + { + "n": "亨利", + "v": "亨利" + }, + { + "n": "小罗", + "v": "小罗" + }, + { + "n": "齐达内", + "v": "齐达内" + }, + { + "n": "贝克汉姆", + "v": "贝克汉姆" + }, + { + "n": "内马尔", + "v": "内马尔" + }, + { + "n": "德布劳内", + "v": "德布劳内" + }, + { + "n": "欧冠", + "v": "欧冠" + }, + { + "n": "世界杯", + "v": "世界杯" + }, + { + "n": "西甲", + "v": "西甲" + }, + { + "n": "英超", + "v": "英超" + }, + { + "n": "意甲", + "v": "意甲" + }, + { + "n": "德甲", + "v": "德甲" + }, + { + "n": "国米", + "v": "国米" + }, + { + "n": "皇马", + "v": "皇马" + }, + { + "n": "巴萨", + "v": "巴萨" + }, + { + "n": "巴黎圣日耳曼", + "v": "巴黎圣日耳曼" + }, + { + "n": "曼联", + "v": "曼联" + }, + { + "n": "曼城", + "v": "曼城" + }, + { + "n": "NBA", + "v": "NBA" + }, + { + "n": "詹姆斯", + "v": "詹姆斯" + }, + { + "n": "库里", + "v": "库里" + }, + { + "n": "杜兰特", + "v": "杜兰特" + }, + { + "n": "UFC", + "v": "UFC" + }, + { + "n": "斯诺克", + "v": "斯诺克" + }, + { + "n": "网球", + "v": "网球" + }, + { + "n": "F1", + "v": "F1" + }, + { + "n": "高尔夫", + "v": "高尔夫" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "电视剧": [{ + "key": "order", + "name": "排序", + "value": [{ + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + + + "相声小品超清": [{ + "key": "order", + "name": "排序", + "value": [{ + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + + { + "key": "tid", + "name": "分类", + "value": [{ + "n": "全部", + "v": "相声小品" + }, + { + "n": "单口相声", + "v": "单口相声" + }, + { + "n": "群口相声", + "v": "群口相声" + }, + { + "n": "德云社", + "v": "德云社" + }, + { + "n": "青曲社", + "v": "青曲社" + }, + { + "n": "郭德纲", + "v": "郭德纲" + }, + { + "n": "岳云鹏", + "v": "岳云鹏" + }, + { + "n": "曹云金", + "v": "曹云金" + }, + { + "n": "评书", + "v": "评书" + }, + { + "n": "小曲", + "v": "小曲" + }, + { + "n": "二人转", + "v": "二人转" + }, + { + "n": "春晚小品", + "v": "春晚小品" + }, + { + "n": "赵本山", + "v": "赵本山" + }, + { + "n": "陈佩斯", + "v": "陈佩斯" + }, + { + "n": "冯巩", + "v": "冯巩" + }, + { + "n": "宋小宝", + "v": "宋小宝" + }, + { + "n": "赵丽蓉", + "v": "赵丽蓉" + }, + { + "n": "郭达", + "v": "郭达" + }, + { + "n": "潘长江", + "v": "潘长江" + }, + { + "n": "郭冬临", + "v": "郭冬临" + }, + { + "n": "严顺开", + "v": "严顺开" + }, + { + "n": "文松", + "v": "文松" + }, + { + "n": "开心麻花", + "v": "开心麻花" + }, + { + "n": "屌丝男士", + "v": "屌丝男士" + }, + { + "n": "喜剧综艺", + "v": "喜剧综艺" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "戏曲": [{ + "key": "order", + "name": "排序", + "value": [{ + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "tid", + "name": "分类", + "value": [{ + "n": "全部", + "v": "戏曲" + }, + { + "n": "京剧", + "v": "京剧" + }, + { + "n": "越剧", + "v": "越剧" + }, + { + "n": "黄梅戏", + "v": "黄梅戏" + }, + { + "n": "评剧", + "v": "评剧" + }, + { + "n": "豫剧", + "v": "豫剧" + }, + { + "n": "昆曲", + "v": "昆曲" + }, + { + "n": "高腔", + "v": "高腔" + }, + { + "n": "梆子腔", + "v": "梆子腔" + }, + { + "n": "河北梆子", + "v": "河北梆子" + }, + { + "n": "晋剧", + "v": "晋剧" + }, + { + "n": "蒲剧", + "v": "蒲剧" + }, + { + "n": "雁剧", + "v": "雁剧" + }, + { + "n": "上党梆子", + "v": "上党梆子" + }, + { + "n": "秦腔", + "v": "秦腔" + }, + { + "n": "武安平调", + "v": "武安平调" + }, + { + "n": "二人台", + "v": "二人台" + }, + { + "n": "吉剧", + "v": "吉剧" + }, + { + "n": "龙江剧", + "v": "龙江剧" + }, + { + "n": "越调", + "v": "越调" + }, + { + "n": "河南曲剧", + "v": "河南曲剧" + }, + { + "n": "山东梆子", + "v": "山东梆子" + }, + { + "n": "淮剧", + "v": "淮剧" + }, + { + "n": "沪剧", + "v": "沪剧" + }, + { + "n": "滑稽戏", + "v": "滑稽戏" + }, + { + "n": "婺剧", + "v": "婺剧" + }, + { + "n": "绍剧", + "v": "绍剧" + }, + { + "n": "徽剧", + "v": "徽剧" + }, + { + "n": "闽剧", + "v": "闽剧" + }, + { + "n": "莆仙戏", + "v": "莆仙戏" + }, + { + "n": "梨园戏", + "v": "梨园戏" + }, + { + "n": "高甲戏", + "v": "高甲戏" + }, + { + "n": "赣剧", + "v": "赣剧" + }, + { + "n": "采茶戏", + "v": "采茶戏" + }, + { + "n": "汉剧", + "v": "汉剧" + }, + { + "n": "湘剧", + "v": "湘剧" + }, + { + "n": "祁剧", + "v": "祁剧" + }, + { + "n": "湖南花鼓戏", + "v": "湖南花鼓戏" + }, + { + "n": "粤剧", + "v": "粤剧" + }, + { + "n": "潮剧", + "v": "潮剧" + }, + { + "n": "桂剧", + "v": "桂剧" + }, + { + "n": "彩调", + "v": "彩调" + }, + { + "n": "壮剧", + "v": "壮剧" + }, + { + "n": "川剧", + "v": "川剧" + }, + { + "n": "黔剧", + "v": "黔剧" + }, + { + "n": "滇剧", + "v": "滇剧" + }, + { + "n": "傣剧", + "v": "傣剧" + }, + { + "n": "藏剧", + "v": "藏剧" + }, + { + "n": "皮影戏", + "v": "皮影戏" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "旅游": [{ + "key": "order", + "name": "排序", + "value": [{ + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + + "游泳": [{ + "key": "tid", + "name": "分类", + "value": [{ + "n": "全部", + "v": "泳姿" + }, + { + "n": "蝶泳", + "v": "蝶泳" + }, + { + "n": "仰泳", + "v": "仰泳" + }, + { + "n": "蛙泳", + "v": "蛙泳" + }, + { + "n": "自由泳", + "v": "自由泳" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ] + } +} diff --git a/tvboxqq/tvboxqq/戏曲音乐/json/Bili短剧.json b/tvboxqq/tvboxqq/戏曲音乐/json/Bili短剧.json new file mode 100644 index 0000000..7358f8d --- /dev/null +++ b/tvboxqq/tvboxqq/戏曲音乐/json/Bili短剧.json @@ -0,0 +1,71 @@ +{ + "cookie": "clan://XYQTVBox/bilicookie.txt", + "classes": [ + { + "type_name": "短剧", + "type_id": "短剧" + }, + { + "type_name": "沙雕动画", + "type_id": "沙雕动画" + } + ], + "filter": { + "短剧": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "沙雕动画": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ] + } +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/戏曲音乐/json/Blixq.json b/tvboxqq/tvboxqq/戏曲音乐/json/Blixq.json new file mode 100644 index 0000000..9015f65 --- /dev/null +++ b/tvboxqq/tvboxqq/戏曲音乐/json/Blixq.json @@ -0,0 +1,573 @@ +{ + "classes": [ + { + "type_name": "潮剧全剧", + "type_id": "潮剧全剧超清" + }, + { + "type_name": "京剧", + "type_id": "京剧超清" + }, + { + "type_name": "越剧", + "type_id": "越剧超清" + }, + { + "type_name": "蒲剧", + "type_id": "蒲剧超清" + }, + { + "type_name": "眉户", + "type_id": "眉户超清" + }, + { + "type_name": "吕剧", + "type_id": "吕剧超清" + }, + { + "type_name": "楚剧", + "type_id": "楚剧超清" + }, + { + "type_name": "歌仔戏", + "type_id": "歌仔戏超清" + }, + { + "type_name": "黄梅戏", + "type_id": "黄梅戏超清" + }, + { + "type_name": "评剧", + "type_id": "评剧超清" + }, + { + "type_name": "豫剧", + "type_id": "豫剧超清" + }, + { + "type_name": "花鼓戏", + "type_id": "花鼓戏超清" + }, + { + "type_name": "布袋戏", + "type_id": "布袋戏合集超清" + }, + { + "type_name": "沪剧", + "type_id": "沪剧超清" + }, + { + "type_name": "昆曲", + "type_id": "昆曲超清" + }, + { + "type_name": "绍兴莲花落", + "type_id": "绍兴莲花落超清" + }, + { + "type_name": "河北梆子", + "type_id": "河北梆子超清" + }, + { + "type_name": "梆子腔", + "type_id": "梆子腔超清" + }, + { + "type_name": "晋剧", + "type_id": "晋剧超清" + }, + { + "type_name": "龙江剧", + "type_id": "龙江剧超清" + }, + { + "type_name": "越调", + "type_id": "越调超清" + }, + { + "type_name": "河南曲剧", + "type_id": "河南曲剧超清" + }, + { + "type_name": "山东梆子", + "type_id": "山东梆子超清" + }, + { + "type_name": "淮剧", + "type_id": "淮剧超清" + }, + { + "type_name": "滑稽戏", + "type_id": "滑稽戏超清" + }, + { + "type_name": "婺剧", + "type_id": "婺剧超清" + }, + { + "type_name": "绍剧", + "type_id": "绍剧超清" + }, + { + "type_name": "徽剧", + "type_id": "徽剧超清" + }, + { + "type_name": "雁剧", + "type_id": "雁剧超清" + }, + { + "type_name": "上党梆子", + "type_id": "上党梆子超清" + }, + { + "type_name": "秦腔", + "type_id": "秦腔超清" + }, + { + "type_name": "武安平调", + "type_id": "武安平调超清" + }, + { + "type_name": "二人台", + "type_id": "二人台超清" + }, + { + "type_name": "吉剧", + "type_id": "吉剧超清" + }, + { + "type_name": "高腔", + "type_id": "高腔超清" + } + ], + "cookie": "innersign=0;buvid3=2E536ADC-CD6D-46AB-A9FF-904395151EE369713infoc;b_nut=1669016569;i-wanna-go-back=-1;b_ut=7;_uuid=761F7F106-C575-884D-6C10A-92BC10A10D10FBC68934infoc;buvid4=5B25B999-AE15-E09A-A0CC-3661981B71BF70255-122112115-JOyWSaNZfI2kZmT1KYmcQA%3D%3D;fingerprint=6d9ef93c89a567d22b6a9c4104e6cc50;buvid_fp_plain=undefined;buvid_fp=6d9ef93c89a567d22b6a9c4104e6cc50;SESSDATA=2d6f63c8%2C1684568607%2C19eb6%2Ab1;bili_jct=21d538b01566c26afc81ff68c2ac7dca;DedeUserID=3493083203242585;DedeUserID__ckMd5=7b86f3894ed7f8c0;sid=ng0uyvaz;b_lsid=97FB69A2_1869DE8E2C5;bg_view_44176=720227", + "filter": { + "搞笑": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "潮剧": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "超清潮剧": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "百花潮剧院": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "潮剧院": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "潮剧团": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "闽南歌曲合集": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "戏曲": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "戏曲" + }, + { + "n": "京剧", + "v": "京剧" + }, + { + "n": "越剧", + "v": "越剧" + }, + { + "n": "黄梅戏", + "v": "黄梅戏" + }, + { + "n": "评剧", + "v": "评剧" + }, + { + "n": "豫剧", + "v": "豫剧" + }, + { + "n": "昆曲", + "v": "昆曲" + }, + { + "n": "高腔", + "v": "高腔" + }, + { + "n": "梆子腔", + "v": "梆子腔" + }, + { + "n": "河北梆子", + "v": "河北梆子" + }, + { + "n": "晋剧", + "v": "晋剧" + }, + { + "n": "蒲剧", + "v": "蒲剧" + }, + { + "n": "雁剧", + "v": "雁剧" + }, + { + "n": "上党梆子", + "v": "上党梆子" + }, + { + "n": "秦腔", + "v": "秦腔" + }, + { + "n": "武安平调", + "v": "武安平调" + }, + { + "n": "二人台", + "v": "二人台" + }, + { + "n": "吉剧", + "v": "吉剧" + }, + { + "n": "龙江剧", + "v": "龙江剧" + }, + { + "n": "越调", + "v": "越调" + }, + { + "n": "河南曲剧", + "v": "河南曲剧" + }, + { + "n": "山东梆子", + "v": "山东梆子" + }, + { + "n": "淮剧", + "v": "淮剧" + }, + { + "n": "沪剧", + "v": "沪剧" + }, + { + "n": "滑稽戏", + "v": "滑稽戏" + }, + { + "n": "婺剧", + "v": "婺剧" + }, + { + "n": "绍剧", + "v": "绍剧" + }, + { + "n": "徽剧", + "v": "徽剧" + }, + { + "n": "闽剧", + "v": "闽剧" + }, + { + "n": "莆仙戏", + "v": "莆仙戏" + }, + { + "n": "梨园戏", + "v": "梨园戏" + }, + { + "n": "高甲戏", + "v": "高甲戏" + }, + { + "n": "赣剧", + "v": "赣剧" + }, + { + "n": "采茶戏", + "v": "采茶戏" + }, + { + "n": "汉剧", + "v": "汉剧" + }, + { + "n": "湘剧", + "v": "湘剧" + }, + { + "n": "祁剧", + "v": "祁剧" + }, + { + "n": "湖南花鼓戏", + "v": "湖南花鼓戏" + }, + { + "n": "粤剧", + "v": "粤剧" + }, + { + "n": "潮剧", + "v": "潮剧" + }, + { + "n": "桂剧", + "v": "桂剧" + }, + { + "n": "彩调", + "v": "彩调" + }, + { + "n": "壮剧", + "v": "壮剧" + }, + { + "n": "川剧", + "v": "川剧" + }, + { + "n": "黔剧", + "v": "黔剧" + }, + { + "n": "滇剧", + "v": "滇剧" + }, + { + "n": "傣剧", + "v": "傣剧" + }, + { + "n": "藏剧", + "v": "藏剧" + }, + { + "n": "皮影戏", + "v": "皮影戏" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ] + } +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/戏曲音乐/json/Blixs.json b/tvboxqq/tvboxqq/戏曲音乐/json/Blixs.json new file mode 100644 index 0000000..1bed95e --- /dev/null +++ b/tvboxqq/tvboxqq/戏曲音乐/json/Blixs.json @@ -0,0 +1,274 @@ +{ +"classes": [ + { + "type_name": "单口相声", + "type_id": "单口相声" + }, + { + "type_name": "群口相声", + "type_id": "群口相声" + }, + { + "type_name": "德云社", + "type_id": "德云社" + }, + { + "type_name": "青曲社", + "type_id": "青曲社" + }, + { + "type_name": "郭德纲", + "type_id": "郭德纲" + }, + { + "type_name": "岳云鹏", + "type_id": "岳云鹏" + }, + { + "type_name": "曹云金", + "type_id": "曹云金" + }, + { + "type_name": "评书", + "type_id": "评书" + }, + { + "type_name": "相声小品", + "type_id": "相声小品" + }, + { + "type_name": "小曲", + "type_id": "小曲" + }, + { + "type_name": "二人转", + "type_id": "二人转" + }, + { + "type_name": "春晚小品", + "type_id": "春晚小品" + }, + + { + "type_name": "赵本山", + "type_id": "赵本山" + }, + { + "type_name": "陈佩斯", + "type_id": "陈佩斯" + }, + { + "type_name": "冯巩", + "type_id": "冯巩" + }, + { + "type_name": "宋小宝", + "type_id": "宋小宝" + }, + { + "type_name": "赵丽蓉", + "type_id": "赵丽蓉" + }, + { + "type_name": "郭达", + "type_id": "郭达" + }, + { + "type_name": "潘长江", + "type_id": "潘长江" + }, + { + "type_name": "毽球", + "type_id": "毽球" + }, + { + "type_name": "郭冬临", + "type_id": "郭冬临" + }, + { + "type_name": "严顺开", + "type_id": "严顺开" + }, + { + "type_name": "文松", + "type_id": "文松" + }, + { + "type_name": "毽球", + "type_id": "毽球" + }, + { + "type_name": "开心麻花", + "type_id": "开心麻花" + }, + { + "type_name": "喜剧综艺", + "type_id": "喜剧综艺" + } + ], + "cookie": "innersign=0;buvid3=2E536ADC-CD6D-46AB-A9FF-904395151EE369713infoc;b_nut=1669016569;i-wanna-go-back=-1;b_ut=7;_uuid=761F7F106-C575-884D-6C10A-92BC10A10D10FBC68934infoc;buvid4=5B25B999-AE15-E09A-A0CC-3661981B71BF70255-122112115-JOyWSaNZfI2kZmT1KYmcQA%3D%3D;fingerprint=6d9ef93c89a567d22b6a9c4104e6cc50;buvid_fp_plain=undefined;buvid_fp=6d9ef93c89a567d22b6a9c4104e6cc50;SESSDATA=2d6f63c8%2C1684568607%2C19eb6%2Ab1;bili_jct=21d538b01566c26afc81ff68c2ac7dca;DedeUserID=3493083203242585;DedeUserID__ckMd5=7b86f3894ed7f8c0;sid=ng0uyvaz;b_lsid=97FB69A2_1869DE8E2C5;bg_view_44176=720227", + "filter": { + "小品": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "相声小品": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "相声小品" + }, + { + "n": "单口相声", + "v": "单口相声" + }, + { + "n": "群口相声", + "v": "群口相声" + }, + { + "n": "德云社", + "v": "德云社" + }, + { + "n": "青曲社", + "v": "青曲社" + }, + { + "n": "郭德纲", + "v": "郭德纲" + }, + { + "n": "岳云鹏", + "v": "岳云鹏" + }, + { + "n": "曹云金", + "v": "曹云金" + }, + { + "n": "评书", + "v": "评书" + }, + { + "n": "小曲", + "v": "小曲" + }, + { + "n": "二人转", + "v": "二人转" + }, + { + "n": "春晚小品", + "v": "春晚小品" + }, + { + "n": "赵本山", + "v": "赵本山" + }, + { + "n": "陈佩斯", + "v": "陈佩斯" + }, + { + "n": "冯巩", + "v": "冯巩" + }, + { + "n": "宋小宝", + "v": "宋小宝" + }, + { + "n": "赵丽蓉", + "v": "赵丽蓉" + }, + { + "n": "郭达", + "v": "郭达" + }, + { + "n": "潘长江", + "v": "潘长江" + }, + { + "n": "郭冬临", + "v": "郭冬临" + }, + { + "n": "严顺开", + "v": "严顺开" + }, + { + "n": "文松", + "v": "文松" + }, + { + "n": "开心麻花", + "v": "开心麻花" + }, + { + "n": "屌丝男士", + "v": "屌丝男士" + }, + { + "n": "喜剧综艺", + "v": "喜剧综艺" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ] + } +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/戏曲音乐/json/Bli潮汕.json b/tvboxqq/tvboxqq/戏曲音乐/json/Bli潮汕.json new file mode 100644 index 0000000..7a7c9f0 --- /dev/null +++ b/tvboxqq/tvboxqq/戏曲音乐/json/Bli潮汕.json @@ -0,0 +1,485 @@ +{ + "classes": [ + { + "type_name": "超清潮剧", + "type_id": "超清潮剧超清" + }, + { + "type_name": "潮剧", + "type_id": "潮剧超清" + }, + { + "type_name": "潮剧全剧", + "type_id": "潮剧全剧超清" + }, + { + "type_name": "潮汕英歌舞", + "type_id": "潮汕英歌舞" + }, + { + "type_name": "潮汕游神", + "type_id": "潮汕游神" + }, + { + "type_name": "潮汕小品", + "type_id": "潮汕小品超清" + }, + { + "type_name": "潮汕讲古", + "type_id": "潮汕讲古超清" + }, + { + "type_name": "百花潮剧院", + "type_id": "百花潮剧院超清" + }, + { + "type_name": "香港潮剧", + "type_id": "香港潮剧超清" + }, + { + "type_name": "潮剧院", + "type_id": "潮剧院超清" + }, + { + "type_name": "潮剧团", + "type_id": "潮剧团超清" + }, + { + "type_name": "潮剧选段", + "type_id": "潮剧选段超清" + }, + { + "type_name": "名家潮剧", + "type_id": "名家潮剧超清" + } + ], + "cookie": "innersign=0;buvid3=2E536ADC-CD6D-46AB-A9FF-904395151EE369713infoc;b_nut=1669016569;i-wanna-go-back=-1;b_ut=7;_uuid=761F7F106-C575-884D-6C10A-92BC10A10D10FBC68934infoc;buvid4=5B25B999-AE15-E09A-A0CC-3661981B71BF70255-122112115-JOyWSaNZfI2kZmT1KYmcQA%3D%3D;fingerprint=6d9ef93c89a567d22b6a9c4104e6cc50;buvid_fp_plain=undefined;buvid_fp=6d9ef93c89a567d22b6a9c4104e6cc50;SESSDATA=2d6f63c8%2C1684568607%2C19eb6%2Ab1;bili_jct=21d538b01566c26afc81ff68c2ac7dca;DedeUserID=3493083203242585;DedeUserID__ckMd5=7b86f3894ed7f8c0;sid=ng0uyvaz;b_lsid=97FB69A2_1869DE8E2C5;bg_view_44176=720227", + "filter": { + "搞笑": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "潮剧": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "超清潮剧": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "百花潮剧院": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "潮剧院": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "潮剧团": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "闽南歌曲合集": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "戏曲": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "戏曲" + }, + { + "n": "京剧", + "v": "京剧" + }, + { + "n": "越剧", + "v": "越剧" + }, + { + "n": "黄梅戏", + "v": "黄梅戏" + }, + { + "n": "评剧", + "v": "评剧" + }, + { + "n": "豫剧", + "v": "豫剧" + }, + { + "n": "昆曲", + "v": "昆曲" + }, + { + "n": "高腔", + "v": "高腔" + }, + { + "n": "梆子腔", + "v": "梆子腔" + }, + { + "n": "河北梆子", + "v": "河北梆子" + }, + { + "n": "晋剧", + "v": "晋剧" + }, + { + "n": "蒲剧", + "v": "蒲剧" + }, + { + "n": "雁剧", + "v": "雁剧" + }, + { + "n": "上党梆子", + "v": "上党梆子" + }, + { + "n": "秦腔", + "v": "秦腔" + }, + { + "n": "武安平调", + "v": "武安平调" + }, + { + "n": "二人台", + "v": "二人台" + }, + { + "n": "吉剧", + "v": "吉剧" + }, + { + "n": "龙江剧", + "v": "龙江剧" + }, + { + "n": "越调", + "v": "越调" + }, + { + "n": "河南曲剧", + "v": "河南曲剧" + }, + { + "n": "山东梆子", + "v": "山东梆子" + }, + { + "n": "淮剧", + "v": "淮剧" + }, + { + "n": "沪剧", + "v": "沪剧" + }, + { + "n": "滑稽戏", + "v": "滑稽戏" + }, + { + "n": "婺剧", + "v": "婺剧" + }, + { + "n": "绍剧", + "v": "绍剧" + }, + { + "n": "徽剧", + "v": "徽剧" + }, + { + "n": "闽剧", + "v": "闽剧" + }, + { + "n": "莆仙戏", + "v": "莆仙戏" + }, + { + "n": "梨园戏", + "v": "梨园戏" + }, + { + "n": "高甲戏", + "v": "高甲戏" + }, + { + "n": "赣剧", + "v": "赣剧" + }, + { + "n": "采茶戏", + "v": "采茶戏" + }, + { + "n": "汉剧", + "v": "汉剧" + }, + { + "n": "湘剧", + "v": "湘剧" + }, + { + "n": "祁剧", + "v": "祁剧" + }, + { + "n": "湖南花鼓戏", + "v": "湖南花鼓戏" + }, + { + "n": "粤剧", + "v": "粤剧" + }, + { + "n": "潮剧", + "v": "潮剧" + }, + { + "n": "桂剧", + "v": "桂剧" + }, + { + "n": "彩调", + "v": "彩调" + }, + { + "n": "壮剧", + "v": "壮剧" + }, + { + "n": "川剧", + "v": "川剧" + }, + { + "n": "黔剧", + "v": "黔剧" + }, + { + "n": "滇剧", + "v": "滇剧" + }, + { + "n": "傣剧", + "v": "傣剧" + }, + { + "n": "藏剧", + "v": "藏剧" + }, + { + "n": "皮影戏", + "v": "皮影戏" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ] + } +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/戏曲音乐/json/MTV.json b/tvboxqq/tvboxqq/戏曲音乐/json/MTV.json new file mode 100644 index 0000000..707a4e1 --- /dev/null +++ b/tvboxqq/tvboxqq/戏曲音乐/json/MTV.json @@ -0,0 +1,2286 @@ +{ + "classes": [{ + "type_name": "MV", + "type_id": "MV" + }, + { + "type_name": "抖音音乐", + "type_id": "抖音音乐MV" + }, + { + "type_name": "快手音乐", + "type_id": "快手音乐MV" + }, + { + "type_name": "酷狗音乐", + "type_id": "酷狗音乐MV" + }, + { + "type_name": "酷我音乐", + "type_id": "酷我音乐MV" + }, + { + "type_name": "QQ音乐", + "type_id": "QQ音乐MV" + }, + { + "type_name": "无损音乐", + "type_id": "无损音乐" + }, + { + "type_name": "助眠曲", + "type_id": "助眠曲MV" + }, + { + "type_name": "钢琴曲", + "type_id": "钢琴曲MV" + }, + { + "type_name": "舞曲", + "type_id": "舞曲超清" + }, + { + "type_name": "卡点", + "type_id": "影视卡点超清" + }, + { + "type_name": "时光音乐会", + "type_id": "时光音乐会MV" + }, + { + "type_name": "好声音", + "type_id": "中国好声音MV" + }, + { + "type_name": "粤语", + "type_id": "粤语MV" + }, + { + "type_name": "2023年热榜", + "type_id": "2023年热门MV" + }, + { + "type_name": "KTV热门", + "type_id": "KTV热门MV" + }, + { + "type_name": "滚石经典", + "type_id": "滚石MV" + }, + { + "type_name": "经典老歌", + "type_id": "经典老歌" + }, + { + "type_name": "古风MV", + "type_id": "古风MV" + }, + { + "type_name": "闽南语MV", + "type_id": "闽南语MV" + }, + { + "type_name": "印度歌舞", + "type_id": "印度歌舞MV" + }, + { + "type_name": "网红翻唱", + "type_id": "网红翻唱MV" + }, + { + "type_name": "韩国女团", + "type_id": "韩国女团MV" + }, + { + "type_name": "A阿黛尔", + "type_id": "阿黛尔MV" + }, + { + "type_name": "Blackpink", + "type_id": "blackpinkMV" + }, + { + "type_name": "Beyond", + "type_id": "beyondMV" + }, + { + "type_name": "B坂井泉水", + "type_id": "坂井泉水MV" + }, + { + "type_name": "B宝丽金", + "type_id": "宝丽金MV" + }, + { + "type_name": "B布兰妮", + "type_id": "布兰妮MV" + }, + { + "type_name": "C程响", + "type_id": "程响MV" + }, + { + "type_name": "C陈晓竹", + "type_id": "陈晓竹MV" + }, + { + "type_name": "C崔健", + "type_id": "崔健MV" + }, + { + "type_name": "C蔡依林", + "type_id": "蔡依林MV" + }, + { + "type_name": "C草蜢", + "type_id": "草蜢MV" + }, + { + "type_name": "Coldplay", + "type_id": "coldplayMV" + }, + { + "type_name": "C陈慧娴", + "type_id": "陈慧娴MV" + }, + { + "type_name": "C陈百强", + "type_id": "陈百强MV" + }, + { + "type_name": "C陈淑桦", + "type_id": "陈淑桦MV" + }, + { + "type_name": "C陈瑞", + "type_id": "陈瑞MV" + }, + + { + "type_name": "C陈慧琳", + "type_id": "陈慧琳MV" + }, + { + "type_name": "D邓丽君", + "type_id": "邓丽君MV" + }, + { + "type_name": "D邓紫棋", + "type_id": "邓紫棋MV" + }, + { + "type_name": "D刀郎", + "type_id": "刀郎MV" + }, + { + "type_name": "D达明一派", + "type_id": "刘以达MV" + }, + { + "type_name": "F费玉清", + "type_id": "费玉清MV" + }, + { + "type_name": "F飞图", + "type_id": "飞图MV" + }, + { + "type_name": "G谷村新司", + "type_id": "谷村新司MV" + }, + { + "type_name": "G郭富城", + "type_id": "郭富城MV" + }, + { + "type_name": "G关淑怡", + "type_id": "关淑怡MV" + }, + { + "type_name": "H黄凯芹", + "type_id": "黄凯芹MV" + }, + { + "type_name": "J降央卓玛", + "type_id": "降央卓玛MV" + }, + + { + "type_name": "J江慧", + "type_id": "江慧MV" + }, + { + "type_name": "J吉永小百合", + "type_id": "吉永小百合MV" + }, + { + "type_name": "J金庸", + "type_id": "金庸影视MV" + }, + { + "type_name": "K柯以敏", + "type_id": "柯以敏MV" + }, + { + "type_name": "K邝美云", + "type_id": "邝美云MV" + }, + { + "type_name": "L刘惜君", + "type_id": "刘惜君MV" + }, + { + "type_name": "L梁雁翎", + "type_id": "梁雁翎MV" + }, + { + "type_name": "L刘德华", + "type_id": "刘德华MV" + }, + { + "type_name": "Lady Gaga", + "type_id": "Lady GagaMV" + }, + { + "type_name": "L龙飘飘", + "type_id": "龙飘飘MV" + }, + { + "type_name": "L李贞贤", + "type_id": "李贞贤MV" + }, + { + "type_name": "L李秀英", + "type_id": "李秀英MV" + }, + { + "type_name": "L罗大佑", + "type_id": "罗大佑MV" + }, + { + "type_name": "L林志炫", + "type_id": "林志炫MV" + }, + { + "type_name": "L林忆莲", + "type_id": "林忆莲MV" + }, + { + "type_name": "L李知恩", + "type_id": "李知恩MV" + }, + { + "type_name": "L梁静茹", + "type_id": "梁静茹MV" + }, + { + "type_name": "L冷漠", + "type_id": "冷漠MV" + }, + { + "type_name": "L李克勤", + "type_id": "李克勤MV" + }, + { + "type_name": "L林子祥", + "type_id": "林子祥MV" + }, + { + "type_name": "L黎明", + "type_id": "黎明MV" + }, + { + "type_name": "L刘若英", + "type_id": "刘若英MV" + }, + { + "type_name": "M莫文蔚", + "type_id": "莫文蔚MV" + }, + { + "type_name": "M孟庭苇", + "type_id": "孟庭苇MV" + }, + { + "type_name": "M麦当娜", + "type_id": "麦当娜MV" + }, + + { + "type_name": "M迈克杰克逊", + "type_id": "迈克杰克逊MV" + }, + { + "type_name": "N雅尼紫禁城", + "type_id": "雅尼紫禁城MV" + }, + { + "type_name": "P潘越云", + "type_id": "潘越云MV" + }, + { + "type_name": "P潘美辰", + "type_id": "潘美辰MV" + }, + { + "type_name": "Q齐秦", + "type_id": "齐秦MV" + }, + + { + "type_name": "R任贤齐", + "type_id": "任贤齐MV" + }, + { + "type_name": "S苏慧伦", + "type_id": "苏慧伦MV" + }, + { + "type_name": "T童安格", + "type_id": "童安格MV" + }, + { + "type_name": "TFBOYS", + "type_id": "TFBOYSMV" + }, + { + "type_name": "T太极乐队", + "type_id": "太极乐队MV" + }, + { + "type_name": "T唐朝摇滚", + "type_id": "唐朝摇滚MV" + }, + + { + "type_name": "T谭咏麟", + "type_id": "谭咏麟MV" + }, + + { + "type_name": "W王琪", + "type_id": "王琪MV" + }, + { + "type_name": "W伍珂玥", + "type_id": "伍珂玥MV" + }, + { + "type_name": "W王杰", + "type_id": "王杰MV" + }, + { + "type_name": "W伍佰", + "type_id": "伍佰MV" + }, + { + "type_name": "W温兆伦", + "type_id": "温兆伦MV" + }, + { + "type_name": "W王菲", + "type_id": "王菲MV" + }, + { + "type_name": "X夏婉安", + "type_id": "夏婉安MV" + }, + { + "type_name": "X徐小凤", + "type_id": "徐小凤MV" + }, + { + "type_name": "X席琳迪翁", + "type_id": "席琳迪翁MV" + }, + { + "type_name": "X许嵩", + "type_id": "黄许嵩MV" + }, + { + "type_name": "X许美静", + "type_id": "许美静MV" + }, + { + "type_name": "X许冠杰", + "type_id": "许冠杰MV" + }, + { + "type_name": "X熊天平", + "type_id": "熊天平MV" + }, + { + "type_name": "X小虎队", + "type_id": "小虎队MV" + }, + { + "type_name": "X许巍", + "type_id": "许巍MV" + }, + { + "type_name": "Y叶启田", + "type_id": "叶启田MV" + }, + { + "type_name": "Y杨钰莹", + "type_id": "杨钰莹MV" + }, + { + "type_name": "Y叶玉卿", + "type_id": "叶玉卿MV" + }, + { + "type_name": "Y杨千嬅", + "type_id": "杨千嬅MV" + }, + { + "type_name": "Y怡正宵", + "type_id": "怡正宵MV" + }, + { + "type_name": "Z左麟右李", + "type_id": "左麟右李MV" + }, + { + "type_name": "Z张楚", + "type_id": "张楚MV" + }, + { + "type_name": "Z张真", + "type_id": "张真MV" + }, + { + "type_name": "Z张震岳", + "type_id": "张震岳MV" + }, + { + "type_name": "Z赵传", + "type_id": "赵传MV" + }, + { + "type_name": "Z周华健", + "type_id": "周华健MV" + }, + { + "type_name": "Z周启生", + "type_id": "周启生MV" + }, + { + "type_name": "Z张信哲", + "type_id": "张信哲MV" + }, + { + "type_name": "Z张也", + "type_id": "张也MV" + }, + + { + "type_name": "Z周慧敏", + "type_id": "周慧敏MV" + }, + + { + "type_name": "Z张碧晨", + "type_id": "张碧晨MV" + }, + { + "type_name": "Z中岛美雪", + "type_id": "中岛美雪MV" + }, + { + "type_name": "Z张学友", + "type_id": "张学友MV" + }, + { + "type_name": "Z猪哥亮", + "type_id": "猪哥亮MV" + }, + { + "type_name": "Z周杰伦", + "type_id": "周杰伦MV" + }, + { + "type_name": "Z周深", + "type_id": "周深MV" + }, + { + "type_name": "Z张蔷", + "type_id": "张蔷MV" + }, + { + "type_name": "Z张帝", + "type_id": "张帝MV" + }, + { + "type_name": "Z张国荣", + "type_id": "张国荣MV" + }, + { + "type_name": "Z周传雄", + "type_id": "周传雄MV" + } + ], + + + + "filter": { + + "抖音音乐MV": [{ + "key": "order", + "name": "排序", + "value": [{ + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "快手音乐MV": [{ + "key": "order", + "name": "排序", + "value": [{ + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "酷狗音乐MV": [{ + "key": "order", + "name": "排序", + "value": [{ + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "酷我音乐MV": [{ + "key": "order", + "name": "排序", + "value": [{ + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "QQ音乐MV": [{ + "key": "order", + "name": "排序", + "value": [{ + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + + + "助眠曲MV": [{ + "key": "order", + "name": "排序", + "value": [{ + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + + "钢琴曲MV": [{ + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + }], + + "舞曲超清": [{ + "key": "tid", + "name": "分类", + "value": [{ + "n": "全部", + "v": "舞曲" + }, + { + "n": "迪厅舞曲", + "v": "迪厅舞曲超清" + }, + { + "n": "快四舞曲", + "v": "快四舞曲超清" + }, + { + "n": "伦巴舞曲", + "v": "伦巴超清" + }, + { + "n": "慢三步舞曲", + "v": "慢三步舞曲超清" + }, + { + "n": "中三步舞曲", + "v": "中三步舞曲超清" + }, + { + "n": "圆舞曲", + "v": "圆舞曲超清" + }, + { + "n": "小步舞曲", + "v": "小步舞曲超清" + }, + { + "n": "马祖卡舞曲", + "v": "马祖卡舞曲超清" + }, + { + "n": "波洛奈兹舞曲", + "v": "波洛奈兹舞曲超清" + }, + { + "n": "波尔卡舞曲", + "v": "波尔卡舞曲超清" + }, + { + "n": "加沃特舞曲", + "v": "加沃特舞曲超清" + } + ] + }, + + { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部时长", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + + "影视卡点超清": [{ + "key": "tid", + "name": "分类", + "value": [{ + "n": "全部", + "v": "卡点音乐" + }, + { + "n": "热舞卡点", + "v": "热舞卡点超清" + }, + { + "n": "美女卡点", + "v": "美女卡点超清" + }, + { + "n": "MV音乐", + "v": "MV卡点超清" + }, + { + "n": "宠物卡点", + "v": "宠物卡点超清" + }, + { + "n": "体育卡点", + "v": "体育卡点超清" + }, + { + "n": "影视卡点", + "v": "影视卡点超清" + }, + { + "n": "越南鼓卡点", + "v": "越南鼓阿依莫卡点超清" + } + ] + }, + + { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部时长", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + + "时光音乐会MV": [{ + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + }], + + + "中国好声音MV": [{ + "key": "tid", + "name": "分类", + "value": [{ + "n": "全部", + "v": "歌曲" + }, + { + "n": "男歌手", + "v": "中国好声音男歌手" + }, + { + "n": "女歌手", + "v": "中国好声音女歌手" + }, + { + "n": "儿童歌手", + "v": "儿童好声音MV" + } + ] + }, + + { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + + "无损音乐": [{ + "key": "tid", + "name": "分类", + "value": [{ + "n": "全部", + "v": "歌曲" + }, + { + "n": "男歌手", + "v": "男声无损音乐" + }, + { + "n": "女歌手", + "v": "女声无损音乐" + }, + { + "n": "儿童歌手", + "v": "童声无损音乐" + }, + { + "n": "DJ", + "v": "DJ无损音乐" + }, + { + "n": "轻音乐", + "v": "轻音乐无损音乐" + }, + { + "n": "钢琴曲", + "v": "钢琴曲无损音乐" + }, + { + "n": "萨克斯", + "v": "萨克斯无损音乐" + }, + { + "n": "小提琴", + "v": "小提琴无损音乐" + }, + { + "n": "摇滚", + "v": "摇滚无损音乐" + }, + { + "n": "环绕", + "v": "环绕无损音乐" + } + ] + }, + + { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + + "粤语MV": [{ + "key": "tid", + "name": "分类", + "value": [{ + "n": "全部", + "v": "歌曲" + }, + { + "n": "男歌手", + "v": "粤语MV男歌手" + }, + { + "n": "女歌手", + "v": "粤语MV女歌手" + } + ] + }, + + { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "2023年热门MV": [{ + "key": "tid", + "name": "分类", + "value": [{ + "n": "全部", + "v": "歌曲" + }, + { + "n": "男歌手", + "v": "男歌手2023年热门MV" + }, + { + "n": "女歌手", + "v": "女歌手2023年热门MV" + } + ] + }, + + { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "KTV热门MV": [{ + "key": "tid", + "name": "分类", + "value": [{ + "n": "全部", + "v": "歌曲" + }, + { + "n": "男歌手", + "v": "KTV男歌手MV" + }, + { + "n": "女歌手", + "v": "KTV男歌手MV" + } + ] + }, + + { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "滚石MV": [{ + "key": "tid", + "name": "分类", + "value": [{ + "n": "全部", + "v": "歌曲" + }, + { + "n": "男歌手", + "v": "男歌手滚石MV" + }, + { + "n": "女歌手", + "v": "女歌手滚石MV" + } + ] + }, + + { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "经典老歌": [{ + "key": "tid", + "name": "分类", + "value": [{ + "n": "全部", + "v": "歌曲" + }, + { + "n": "男歌手", + "v": "男歌手经典老歌" + }, + { + "n": "女歌手", + "v": "女歌手经典老歌" + } + ] + }, + + { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "古风MV": [{ + "key": "tid", + "name": "分类", + "value": [{ + "n": "全部", + "v": "歌曲" + }, + { + "n": "男歌手", + "v": "男歌手古风MV" + }, + { + "n": "女歌手", + "v": "女歌手古风MV" + } + ] + }, + + { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "闽南语MV": [{ + "key": "tid", + "name": "分类", + "value": [{ + "n": "全部", + "v": "歌曲" + }, + { + "n": "男歌手", + "v": "男歌手闽南语MV" + }, + { + "n": "女歌手", + "v": "女歌手闽南语MV" + } + ] + }, + + { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "印度歌舞MV": [{ + "key": "tid", + "name": "分类", + "value": [{ + "n": "全部", + "v": "歌曲" + }, + { + "n": "男歌手", + "v": "男歌手印度歌舞MV" + }, + { + "n": "女歌手", + "v": "女歌手印度歌舞MV" + } + ] + }, + + { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + + "网红翻唱MV": [{ + "key": "tid", + "name": "分类", + "value": [{ + "n": "全部", + "v": "歌曲" + }, + { + "n": "男歌手", + "v": "男歌手网红翻唱MV" + }, + { + "n": "女歌手", + "v": "女歌手网红翻唱MV" + } + ] + }, + + { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + + + + "韩国女团MV": [{ + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + }], + + + "MV": [{ + "key": "order", + "name": "排序", + "value": [{ + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + + { + "key": "tid", + "name": "分类", + "value": [{ + "n": "全部", + "v": "MV4K" + }, + { + "n": "A阿杜", + "v": "阿杜MV4K" + }, + { + "n": "A阿黛尔", + "v": "阿黛尔MV4K" + }, + { + "n": "BBeyond", + "v": "BeyondMV4K" + }, + { + "n": "BBy2", + "v": "By2MV4K" + }, + { + "n": "BBIGBANG", + "v": "BIGBANGMV4K" + }, + { + "n": "B布兰妮", + "v": "布兰妮MV4K" + }, + { + "n": "C程响", + "v": "程响MV4K" + }, + { + "n": "C陈晓竹", + "v": "陈晓竹MV4K" + }, + { + "n": "C陈奕迅", + "v": "陈奕迅MV4K" + }, + { + "n": "C蔡依林", + "v": "蔡依林MV4K" + }, + { + "n": "C初音未来", + "v": "初音未来MV4K" + }, + { + "n": "C蔡健雅", + "v": "蔡健雅MV4K" + }, + { + "n": "C陈小春", + "v": "陈小春MV4K" + }, + { + "n": "C草蜢", + "v": "草蜢MV4K" + }, + { + "n": "C陈慧娴", + "v": "陈慧娴MV4K" + }, + { + "n": "C崔健", + "v": "崔健MV4K" + }, + { + "n": "C仓木麻衣", + "v": "仓木麻衣MV4K" + }, + { + "n": "D戴荃", + "v": "戴荃MV4K" + }, + { + "n": "D动力火车", + "v": "动力火车MV4K" + }, + { + "n": "D邓丽君", + "v": "邓丽君MV4K" + }, + { + "n": "D丁当", + "v": "丁当MV4K" + }, + { + "n": "D刀郎", + "v": "刀郎MV4K" + }, + { + "n": "D邓紫棋", + "v": "邓紫棋MV4K" + }, + { + "n": "D戴佩妮", + "v": "戴佩妮MV4K" + }, + { + "n": "D邓丽君", + "v": "邓丽君MV4K" + }, + { + "n": "F飞儿乐队", + "v": "飞儿乐队MV4K" + }, + { + "n": "F费玉清", + "v": "费玉清MV4K" + }, + { + "n": "F费翔", + "v": "费翔MV4K" + }, + { + "n": "F方大同", + "v": "方大同MV4K" + }, + { + "n": "F房东的猫", + "v": "房东的猫MV4K" + }, + { + "n": "F凤飞飞", + "v": "凤飞飞MV4K" + }, + { + "n": "F凤凰传奇", + "v": "凤凰传奇MV4K" + }, + { + "n": "G古风歌曲", + "v": "古风歌曲4K" + }, + { + "n": "G国乐大典", + "v": "国乐大典4K" + }, + { + "n": "G郭采洁", + "v": "郭采洁MV4K" + }, + { + "n": "G光良", + "v": "光良MV4K" + }, + { + "n": "G郭静", + "v": "郭静MV4K" + }, + { + "n": "G郭富城", + "v": "郭富城MV4K" + }, + { + "n": "H胡彦斌", + "v": "胡彦斌MV4K" + }, + { + "n": "H胡夏", + "v": "胡夏MV4K" + }, + { + "n": "H韩红", + "v": "韩红MV4K" + }, + { + "n": "H黄品源", + "v": "黄品源MV4K" + }, + { + "n": "H黄小琥", + "v": "黄小琥MV4K" + }, + { + "n": "H花儿乐队", + "v": "花儿乐队MV4K" + }, + { + "n": "H黄家强", + "v": "黄家强MV4K" + }, + { + "n": "H后街男孩", + "v": "后街男孩MV4K" + }, + { + "n": "J经典老歌", + "v": "经典老歌4K" + }, + { + "n": "J贾斯丁比伯", + "v": "贾斯丁比伯MV4K" + }, + { + "n": "J金池", + "v": "金池MV4K" + }, + { + "n": "J金志文", + "v": "金志文MV4K" + }, + { + "n": "J焦迈奇", + "v": "焦迈奇MV4K" + }, + { + "n": "K筷子兄弟", + "v": "筷子兄弟MV4K" + }, + { + "n": "L刘惜君", + "v": "刘惜君MV4K" + }, + { + "n": "L梁雁翎", + "v": "梁雁翎MV4K" + }, + { + "n": "L李玟", + "v": "李玟MV4K" + }, + { + "n": "L林忆莲", + "v": "林忆莲MV4K" + }, + { + "n": "L李克勤", + "v": "李克勤MV4K" + }, + { + "n": "L刘宪华", + "v": "刘宪华MV4K" + }, + { + "n": "L李圣杰", + "v": "李圣杰MV4K" + }, + { + "n": "L林宥嘉", + "v": "林宥嘉MV4K" + }, + { + "n": "L梁静茹", + "v": "梁静茹MV4K" + }, + { + "n": "L李健", + "v": "李健MV4K" + }, + { + "n": "L林俊杰", + "v": "林俊杰MV4K" + }, + { + "n": "L李玉刚", + "v": "李玉刚MV4K" + }, + { + "n": "L林志炫", + "v": "林志炫MV4K" + }, + { + "n": "L李荣浩", + "v": "李荣浩MV4K" + }, + { + "n": "L李宇春", + "v": "李宇春MV4K" + }, + { + "n": "L洛天依", + "v": "洛天依MV4K" + }, + { + "n": "L林子祥", + "v": "林子祥MV4K" + }, + { + "n": "L李宗盛", + "v": "李宗盛MV4K" + }, + { + "n": "L黎明", + "v": "黎明MV4K" + }, + { + "n": "L刘德华", + "v": "刘德华MV4K" + }, + { + "n": "L罗大佑", + "v": "罗大佑MV4K" + }, + { + "n": "L林肯公园", + "v": "林肯公园MV4K" + }, + { + "n": "LLadyGaga", + "v": "LadyGagaMV4K" + }, + { + "n": "L旅行团乐队", + "v": "旅行团乐队MV4K" + }, + { + "n": "M莫文蔚", + "v": "莫文蔚MV4K" + }, + { + "n": "M毛不易", + "v": "毛不易MV4K" + }, + { + "n": "M梅艳芳", + "v": "梅艳芳MV4K" + }, + { + "n": "M迈克尔杰克逊", + "v": "迈克尔杰克逊MV4K" + }, + { + "n": "N南拳妈妈", + "v": "南拳妈妈MV4K" + }, + { + "n": "P朴树", + "v": "朴树MV4K" + }, + { + "n": "Q齐秦", + "v": "齐秦MV4K" + }, + { + "n": "Q青鸟飞鱼", + "v": "青鸟飞鱼MV4K" + }, + { + "n": "R容祖儿", + "v": "容祖儿MV4K" + }, + { + "n": "R热歌", + "v": "热歌MV4K" + }, + { + "n": "R任贤齐", + "v": "任贤齐MV4K" + }, + { + "n": "S水木年华", + "v": "水木年华MV4K" + }, + { + "n": "S孙燕姿", + "v": "孙燕姿MV4K" + }, + { + "n": "S苏打绿", + "v": "苏打绿MV4K" + }, + { + "n": "SSHE", + "v": "SHEMV4K" + }, + { + "n": "S孙楠", + "v": "孙楠MV4K" + }, + { + "n": "T陶喆", + "v": "陶喆MV4K" + }, + { + "n": "T谭咏麟", + "v": "谭咏麟MV4K" + }, + { + "n": "T田馥甄", + "v": "田馥甄MV4K" + }, + { + "n": "T谭维维", + "v": "谭维维MV4K" + }, + { + "n": "T逃跑计划", + "v": "逃跑计划MV4K" + }, + { + "n": "T田震", + "v": "田震MV4K" + }, + { + "n": "T谭晶", + "v": "谭晶MV4K" + }, + { + "n": "T屠洪刚", + "v": "屠洪刚MV4K" + }, + { + "n": "T泰勒·斯威夫特", + "v": "泰勒·斯威夫特MV4K" + }, + { + "n": "W王力宏", + "v": "王力宏MV4K" + }, + { + "n": "W王杰", + "v": "王杰MV4K" + }, + { + "n": "W吴克群", + "v": "吴克群MV4K" + }, + { + "n": "W王心凌", + "v": "王心凌MV4K" + }, + { + "n": "W汪峰", + "v": "汪峰MV4K" + }, + { + "n": "W伍佰", + "v": "伍佰MV4K" + }, + { + "n": "W王菲", + "v": "王菲MV4K" + }, + { + "n": "W五月天", + "v": "五月天MV4K" + }, + { + "n": "W汪苏泷", + "v": "汪苏泷MV4K" + }, + { + "n": "X夏婉安", + "v": "夏婉安MV4K" + }, + { + "n": "X徐佳莹", + "v": "徐佳莹MV4K" + }, + { + "n": "X弦子", + "v": "弦子MV4K" + }, + { + "n": "X萧亚轩", + "v": "萧亚轩MV4K" + }, + { + "n": "X许巍", + "v": "许巍MV4K" + }, + { + "n": "X薛之谦", + "v": "薛之谦MV4K" + }, + { + "n": "X许嵩", + "v": "许嵩MV4K" + }, + { + "n": "X小虎队", + "v": "小虎队MV4K" + }, + { + "n": "X萧敬腾", + "v": "萧敬腾MV4K" + }, + { + "n": "X谢霆锋", + "v": "谢霆锋MV4K" + }, + { + "n": "X徐小凤", + "v": "徐小凤MV4K" + }, + { + "n": "X信乐队", + "v": "信乐队MV4K" + }, + { + "n": "Y夜愿乐队", + "v": "夜愿乐队MV4K" + }, + { + "n": "Y原创音乐", + "v": "原创音乐MV4K" + }, + { + "n": "Y羽泉", + "v": "羽泉MV4K" + }, + { + "n": "Y粤语", + "v": "粤语MV4K" + }, + { + "n": "Y郁可唯", + "v": "郁可唯MV4K" + }, + { + "n": "Y叶倩文", + "v": "叶倩文MV4K" + }, + { + "n": "Y杨坤", + "v": "杨坤MV4K" + }, + { + "n": "Y庾澄庆", + "v": "庾澄庆MV4K" + }, + { + "n": "Y尤长靖", + "v": "尤长靖MV4K" + }, + { + "n": "Y易烊千玺", + "v": "易烊千玺MV4K" + }, + { + "n": "Y袁娅维", + "v": "袁娅维MV4K" + }, + { + "n": "Y杨丞琳", + "v": "杨丞琳MV4K" + }, + { + "n": "Y杨千嬅", + "v": "杨千嬅MV4K" + }, + { + "n": "Y杨宗纬", + "v": "杨宗纬MV4K" + }, + { + "n": "Z周杰伦", + "v": "周杰伦MV4K" + }, + { + "n": "Z张学友", + "v": "张学友MV4K" + }, + { + "n": "Z张信哲", + "v": "张信哲MV4K" + }, + { + "n": "Z张宇", + "v": "张宇MV4K" + }, + { + "n": "Z周华健", + "v": "周华健MV4K" + }, + { + "n": "Z张韶涵", + "v": "张韶涵MV4K" + }, + { + "n": "Z周深", + "v": "周深MV4K" + }, + { + "n": "Z纵贯线", + "v": "纵贯线MV4K" + }, + { + "n": "Z赵雷", + "v": "赵雷MV4K" + }, + { + "n": "Z周传雄", + "v": "周传雄MV4K" + }, + { + "n": "Z张国荣", + "v": "张国荣MV4K" + }, + { + "n": "Z周慧敏", + "v": "周慧敏MV4K" + }, + { + "n": "Z张惠妹", + "v": "张惠妹MV4K" + }, + { + "n": "Z周笔畅", + "v": "周笔畅MV4K" + }, + { + "n": "Z郑中基", + "v": "郑中基MV4K" + }, + { + "n": "Z张艺兴", + "v": "张艺兴MV4K" + }, + { + "n": "Z张震岳", + "v": "张震岳MV4K" + }, + { + "n": "Z中国好声音", + "v": "中国好声音MV4K" + }, + { + "n": "Z张雨生", + "v": "张雨生MV4K" + }, + { + "n": "Z郑智化", + "v": "郑智化MV4K" + }, + { + "n": "Z卓依婷", + "v": "卓依婷MV4K" + }, + { + "n": "Z中岛美雪", + "v": "中岛美雪MV4K" + } + ] + }, + + + { + "key": "duration", + "name": "时长", + "value": [{ + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ] + + } +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/戏曲音乐/json/影视解说.json b/tvboxqq/tvboxqq/戏曲音乐/json/影视解说.json new file mode 100644 index 0000000..cfe734b --- /dev/null +++ b/tvboxqq/tvboxqq/戏曲音乐/json/影视解说.json @@ -0,0 +1,1106 @@ +{ + "classes": [ + { + "type_name": "影视解说", + "type_id": "影视解说" + }, + { + "type_name": "木鱼水心", + "type_id": "木鱼水心" + }, + { + "type_name": "史君说剧", + "type_id": "史君说剧" + }, + { + "type_name": "百晓生说剧", + "type_id": "百晓生说剧" + }, + { + "type_name": "low君", + "type_id": "low君" + }, + { + "type_name": "小片片", + "type_id": "小片片" + }, + { + "type_name": "刘哔电影", + "type_id": "刘哔电影" + }, + { + "type_name": "刘老师说电影", + "type_id": "刘老师说电影" + }, + { + "type_name": "电影最TOP", + "type_id": "电影最TOP" + }, + { + "type_name": "阿斗归来了", + "type_id": "阿斗归来了" + }, + { + "type_name": "老邪说电影", + "type_id": "老邪说电影" + }, + { + "type_name": "大蓝雀", + "type_id": "大蓝雀" + }, + { + "type_name": "big笑工坊", + "type_id": "big笑工坊" + }, + { + "type_name": "虫哥说电影", + "type_id": "虫哥说电影" + }, + { + "type_name": "蔡老板家的长工", + "type_id": "蔡老板家的长工" + }, + { + "type_name": "牛叔万岁万岁万万岁", + "type_id": "牛叔万岁万岁万万岁" + }, + { + "type_name": "嘻咦啊看", + "type_id": "嘻咦啊看" + }, + { + "type_name": "我是怪异君", + "type_id": "我是怪异君" + }, + { + "type_name": "UFC", + "type_id": "UFC" + } + ], + "filter": { + "影视解说": [ + { + "key": "order", + "name": "排序", + "value": [ + { + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "影视解说" + }, + { + "n": "阿斗归来了", + "v": "阿斗归来了" + }, + { + "n": "UFC", + "v": "UFC" + }, + { + "n": "木鱼水心", + "v": "木鱼水心" + }, + { + "n": "刘哔电影", + "v": "刘哔电影" + }, + { + "n": "史君说剧", + "v": "史君说剧" + }, + { + "n": "百晓生说剧", + "v": "百晓生说剧" + }, + { + "n": "low君", + "v": "low君" + }, + { + "n": "小片片", + "v": "小片片" + }, + { + "n": "刘老师说电影", + "v": "刘老师说电影" + }, + { + "n": "电影最TOP", + "v": "电影最TOP" + }, + { + "n": "老邪说电影", + "v": "老邪说电影" + }, + { + "n": "大蓝雀", + "v": "大蓝雀" + }, + { + "n": "big笑工坊", + "v": "big笑工坊" + }, + { + "n": "虫哥说电影", + "v": "虫哥说电影" + }, + { + "n": "蔡老板家的长工", + "v": "蔡老板家的长工" + }, + { + "n": "牛叔万岁万岁万万岁", + "v": "牛叔万岁万岁万万岁" + }, + { + "n": "我是怪异君", + "v": "我是怪异君" + }, + { + "n": "嘻咦啊看", + "v": "嘻咦啊看" + }, + { + "n": "持续更新", + "v": "0" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部时长", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "low局": [ + { + "key": "order", + "name": "排序", + "value": [ + { + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部时长", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "木鱼水心": [ + { + "key": "order", + "name": "排序", + "value": [ + { + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部时长", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "小片片": [ + { + "key": "order", + "name": "排序", + "value": [ + { + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部时长", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "刘哔电影": [ + { + "key": "order", + "name": "排序", + "value": [ + { + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部时长", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "刘老师说电影": [ + { + "key": "order", + "name": "排序", + "value": [ + { + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部时长", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "电影最TOP": [ + { + "key": "order", + "name": "排序", + "value": [ + { + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部时长", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "阿斗归来了": [ + { + "key": "order", + "name": "排序", + "value": [ + { + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部时长", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "老邪说电影": [ + { + "key": "order", + "name": "排序", + "value": [ + { + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部时长", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "大蓝雀": [ + { + "key": "order", + "name": "排序", + "value": [ + { + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部时长", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "big笑工坊": [ + { + "key": "order", + "name": "排序", + "value": [ + { + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部时长", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "虫哥说电影": [ + { + "key": "order", + "name": "排序", + "value": [ + { + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部时长", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "蔡老板家的长工": [ + { + "key": "order", + "name": "排序", + "value": [ + { + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部时长", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "牛叔万岁万岁万万岁": [ + { + "key": "order", + "name": "排序", + "value": [ + { + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部时长", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "嘻咦啊看": [ + { + "key": "order", + "name": "排序", + "value": [ + { + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部时长", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "我是怪异君": [ + { + "key": "order", + "name": "排序", + "value": [ + { + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部时长", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "UFC": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "UFC" + }, + { + "n": "康纳", + "v": "康纳" + }, + { + "n": "李景亮", + "v": "李景亮" + }, + { + "n": "骨头", + "v": "乔恩琼斯" + }, + { + "n": "狼王", + "v": "奇马耶夫" + }, + { + "n": "白大拿", + "v": "白大拿" + }, + { + "n": "张伟丽", + "v": "张伟丽" + }, + { + "n": "小鹰", + "v": "UFC小鹰" + }, + { + "n": "钻石", + "v": "UFC钻石" + }, + { + "n": "持续更新", + "v": "0" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ] + } +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/戏曲音乐/json/演唱会.json b/tvboxqq/tvboxqq/戏曲音乐/json/演唱会.json new file mode 100644 index 0000000..5fb66f4 --- /dev/null +++ b/tvboxqq/tvboxqq/戏曲音乐/json/演唱会.json @@ -0,0 +1,754 @@ +{ + "classes": [ + { + "type_name": "演唱会筛选", + "type_id": "演唱会超清" + }, + { + "type_name": "粤语", + "type_id": "粤语歌曲超清" + }, + { + "type_name": "KTV热门", + "type_id": "KTV热门歌曲" + }, + { + "type_name": "抖音神曲", + "type_id": "抖音神曲超清" + }, + { + "type_name": "经典老歌", + "type_id": "经典老歌超清" + }, + { + "type_name": "2025年热榜", + "type_id": "2025年热门歌曲" + }, + { + "type_name": "2024年热榜", + "type_id": "2024年热门歌曲" + }, + { + "type_name": "2023年热榜", + "type_id": "2023年热门歌曲" + }, + { + "type_name": "00年代经典", + "type_id": "00年代经典歌曲" + }, + { + "type_name": "90年代经典", + "type_id": "90年代经典歌曲" + }, + { + "type_name": "80年代经典", + "type_id": "80年代经典歌曲" + }, + { + "type_name": "70年代经典", + "type_id": "70年代经典歌曲" + }, + { + "type_name": "60年代经典", + "type_id": "60年代经典歌曲" + }, + { + "type_name": "网易云经典", + "type_id": "网易云经典歌曲" + }, + { + "type_name": "滚石经典", + "type_id": "滚石歌曲" + }, + { + "type_name": "古风歌曲", + "type_id": "古风歌曲" + }, + { + "type_name": "闽南语歌曲", + "type_id": "闽南语歌曲" + }, + { + "type_name": "印度歌舞", + "type_id": "印度歌舞" + }, + { + "type_name": "DJ", + "type_id": "DJ歌曲超清" + }, + { + "type_name": "网红翻唱", + "type_id": "网红翻唱歌曲超清" + }, + { + "type_name": "韩国女团", + "type_id": "韩国女团演唱会超清" + } + ], + "filter": { + "演唱会超清": [ + { + "key": "order", + "name": "排序", + "value": [ + { + "n": "综合排序", + "v": "0" + }, + { + "n": "最多点击", + "v": "click" + }, + { + "n": "最新发布", + "v": "pubdate" + }, + { + "n": "最多弹幕", + "v": "dm" + }, + { + "n": "最多收藏", + "v": "stow" + } + ] + }, + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "演唱会超清" + }, + { + "n": "A阿杜", + "v": "阿杜演唱会超清" + }, + { + "n": "A阿黛尔", + "v": "阿黛尔演唱会超清" + }, + { + "n": "BBeyond", + "v": "Beyond演唱会超清" + }, + { + "n": "BBy2", + "v": "By2演唱会超清" + }, + { + "n": "BBIGBANG", + "v": "BIGBANG演唱会超清" + }, + { + "n": "B布兰妮", + "v": "布兰妮演唱会超清" + }, + { + "n": "B坂井泉水", + "v": "坂井泉水演唱会超清" + }, + { + "n": "C陈奕迅", + "v": "陈奕迅演唱会超清" + }, + { + "n": "C蔡依林", + "v": "蔡依林演唱会超清" + }, + { + "n": "C初音未来", + "v": "初音未来演唱会超清" + }, + { + "n": "C蔡健雅", + "v": "蔡健雅演唱会超清" + }, + { + "n": "C陈小春", + "v": "陈小春演唱会超清" + }, + { + "n": "C草蜢", + "v": "草蜢演唱会超清" + }, + { + "n": "C陈慧娴", + "v": "陈慧娴演唱会超清" + }, + { + "n": "C崔健", + "v": "崔健演唱会超清" + }, + { + "n": "C仓木麻衣", + "v": "仓木麻衣演唱会超清" + }, + { + "n": "D戴荃", + "v": "戴荃演唱会超清" + }, + { + "n": "D动力火车", + "v": "动力火车演唱会超清" + }, + { + "n": "D邓丽君", + "v": "邓丽君演唱会超清" + }, + { + "n": "D丁当", + "v": "丁当演唱会超清" + }, + { + "n": "D刀郎", + "v": "刀郎演唱会超清" + }, + { + "n": "D邓紫棋", + "v": "邓紫棋演唱会超清" + }, + { + "n": "D戴佩妮", + "v": "戴佩妮演唱会超清" + }, + { + "n": "D邓丽君", + "v": "邓丽君演唱会超清" + }, + { + "n": "F飞儿乐队", + "v": "飞儿乐队演唱会超清" + }, + { + "n": "F费玉清", + "v": "费玉清演唱会超清" + }, + { + "n": "F费翔", + "v": "费翔演唱会超清" + }, + { + "n": "F方大同", + "v": "方大同演唱会超清" + }, + { + "n": "F房东的猫", + "v": "房东的猫演唱会超清" + }, + { + "n": "F凤飞飞", + "v": "凤飞飞演唱会超清" + }, + { + "n": "F凤凰传奇", + "v": "凤凰传奇演唱会超清" + }, + { + "n": "G郭采洁", + "v": "郭采洁演唱会超清" + }, + { + "n": "G光良", + "v": "光良演唱会超清" + }, + { + "n": "G郭静", + "v": "郭静演唱会超清" + }, + { + "n": "G郭富城", + "v": "郭富城演唱会超清" + }, + { + "n": "H胡彦斌", + "v": "胡彦斌演唱会超清" + }, + { + "n": "H胡夏", + "v": "胡夏演唱会超清" + }, + { + "n": "H韩红", + "v": "韩红演唱会超清" + }, + { + "n": "H黄品源", + "v": "黄品源演唱会超清" + }, + { + "n": "H黄小琥", + "v": "黄小琥演唱会超清" + }, + { + "n": "H花儿乐队", + "v": "花儿乐队演唱会超清" + }, + { + "n": "H黄家强", + "v": "黄家强演唱会超清" + }, + { + "n": "H后街男孩", + "v": "后街男孩演唱会超清" + }, + { + "n": "J经典老歌", + "v": "经典老歌演唱会超清" + }, + { + "n": "J贾斯丁比伯", + "v": "贾斯丁比伯演唱会超清" + }, + { + "n": "J金池", + "v": "金池演唱会超清" + }, + { + "n": "J金志文", + "v": "金志文演唱会超清" + }, + { + "n": "J焦迈奇", + "v": "焦迈奇演唱会超清" + }, + { + "n": "K筷子兄弟", + "v": "筷子兄弟演唱会超清" + }, + { + "n": "L李玟", + "v": "李玟演唱会超清" + }, + { + "n": "L林忆莲", + "v": "林忆莲演唱会超清" + }, + { + "n": "L李克勤", + "v": "李克勤演唱会超清" + }, + { + "n": "L刘宪华", + "v": "刘宪华演唱会超清" + }, + { + "n": "L李圣杰", + "v": "李圣杰演唱会超清" + }, + { + "n": "L林宥嘉", + "v": "林宥嘉演唱会超清" + }, + { + "n": "L梁静茹", + "v": "梁静茹演唱会超清" + }, + { + "n": "L李健", + "v": "李健演唱会超清" + }, + { + "n": "L林俊杰", + "v": "林俊杰演唱会超清" + }, + { + "n": "L李玉刚", + "v": "李玉刚演唱会超清" + }, + { + "n": "L林志炫", + "v": "林志炫演唱会超清" + }, + { + "n": "L李荣浩", + "v": "李荣浩演唱会超清" + }, + { + "n": "L李宇春", + "v": "李宇春演唱会超清" + }, + { + "n": "L洛天依", + "v": "洛天依演唱会超清" + }, + { + "n": "L林子祥", + "v": "林子祥演唱会超清" + }, + { + "n": "L李宗盛", + "v": "李宗盛演唱会超清" + }, + { + "n": "L黎明", + "v": "黎明演唱会超清" + }, + { + "n": "L刘德华", + "v": "刘德华演唱会超清" + }, + { + "n": "L罗大佑", + "v": "罗大佑演唱会超清" + }, + { + "n": "L林肯公园", + "v": "林肯公园演唱会超清" + }, + { + "n": "LLadyGaga", + "v": "LadyGaga演唱会超清" + }, + { + "n": "L旅行团乐队", + "v": "旅行团乐队演唱会超清" + }, + { + "n": "M莫文蔚", + "v": "莫文蔚演唱会超清" + }, + { + "n": "M毛不易", + "v": "毛不易演唱会超清" + }, + { + "n": "M梅艳芳", + "v": "梅艳芳演唱会超清" + }, + { + "n": "M迈克尔杰克逊", + "v": "迈克尔杰克逊演唱会超清" + }, + { + "n": "N南拳妈妈", + "v": "南拳妈妈演唱会超清" + }, + { + "n": "P朴树", + "v": "朴树演唱会超清" + }, + { + "n": "Q齐秦", + "v": "齐秦演唱会超清" + }, + { + "n": "Q青鸟飞鱼", + "v": "青鸟飞鱼演唱会超清" + }, + { + "n": "R容祖儿", + "v": "容祖儿演唱会超清" + }, + { + "n": "R任贤齐", + "v": "任贤齐演唱会超清" + }, + { + "n": "S水木年华", + "v": "水木年华演唱会超清" + }, + { + "n": "S孙燕姿", + "v": "孙燕姿演唱会超清" + }, + { + "n": "S苏打绿", + "v": "苏打绿演唱会超清" + }, + { + "n": "SSHE", + "v": "SHE演唱会超清" + }, + { + "n": "S孙楠", + "v": "孙楠演唱会超清" + }, + { + "n": "T陶喆", + "v": "陶喆演唱会超清" + }, + { + "n": "T谭咏麟", + "v": "谭咏麟演唱会超清" + }, + { + "n": "T田馥甄", + "v": "田馥甄演唱会超清" + }, + { + "n": "T谭维维", + "v": "谭维维演唱会超清" + }, + { + "n": "T逃跑计划", + "v": "逃跑计划演唱会超清" + }, + { + "n": "T田震", + "v": "田震演唱会超清" + }, + { + "n": "T谭晶", + "v": "谭晶演唱会超清" + }, + { + "n": "T屠洪刚", + "v": "屠洪刚演唱会超清" + }, + { + "n": "T泰勒·斯威夫特", + "v": "泰勒·斯威夫特演唱会超清" + }, + { + "n": "W王力宏", + "v": "王力宏演唱会超清" + }, + { + "n": "W王杰", + "v": "王杰演唱会超清" + }, + { + "n": "W吴克群", + "v": "吴克群演唱会超清" + }, + { + "n": "W王心凌", + "v": "王心凌演唱会超清" + }, + { + "n": "W王靖雯", + "v": "好声音王靖雯演唱会超清" + }, + { + "n": "W汪峰", + "v": "汪峰演唱会超清" + }, + { + "n": "W伍佰", + "v": "伍佰演唱会超清" + }, + { + "n": "W王菲", + "v": "王菲演唱会超清" + }, + { + "n": "W五月天", + "v": "五月天演唱会超清" + }, + { + "n": "W汪苏泷", + "v": "汪苏泷演唱会超清" + }, + { + "n": "X徐佳莹", + "v": "徐佳莹演唱会超清" + }, + { + "n": "X弦子", + "v": "弦子演唱会超清" + }, + { + "n": "X萧亚轩", + "v": "萧亚轩演唱会超清" + }, + { + "n": "X许巍", + "v": "许巍演唱会超清" + }, + { + "n": "X薛之谦", + "v": "薛之谦演唱会超清" + }, + { + "n": "X许嵩", + "v": "许嵩演唱会超清" + }, + { + "n": "X小虎队", + "v": "小虎队演唱会超清" + }, + { + "n": "X萧敬腾", + "v": "萧敬腾演唱会超清" + }, + { + "n": "X谢霆锋", + "v": "谢霆锋演唱会超清" + }, + { + "n": "X徐小凤", + "v": "徐小凤演唱会超清" + }, + { + "n": "X信乐队", + "v": "信乐队演唱会超清" + }, + { + "n": "Y夜愿乐队", + "v": "夜愿乐队演唱会超清" + }, + { + "n": "Y羽泉", + "v": "羽泉演唱会超清" + }, + { + "n": "Y郁可唯", + "v": "郁可唯演唱会超清" + }, + { + "n": "Y叶倩文", + "v": "叶倩文演唱会超清" + }, + { + "n": "Y杨坤", + "v": "杨坤演唱会超清" + }, + { + "n": "Y庾澄庆", + "v": "庾澄庆演唱会超清" + }, + { + "n": "Y尤长靖", + "v": "尤长靖演唱会超清" + }, + { + "n": "Y易烊千玺", + "v": "易烊千玺演唱会超清" + }, + { + "n": "Y袁娅维", + "v": "袁娅维演唱会超清" + }, + { + "n": "Y杨丞琳", + "v": "杨丞琳演唱会超清" + }, + { + "n": "Y杨千嬅", + "v": "杨千嬅演唱会超清" + }, + { + "n": "Y杨宗纬", + "v": "杨宗纬演唱会超清" + }, + { + "n": "Z郑秀文", + "v": "郑秀文演唱会超清" + }, + { + "n": "Z周杰伦", + "v": "周杰伦演唱会超清" + }, + { + "n": "Z张学友", + "v": "张学友演唱会超清" + }, + { + "n": "Z张信哲", + "v": "张信哲演唱会超清" + }, + { + "n": "Z张宇", + "v": "张宇演唱会超清" + }, + { + "n": "Z周华健", + "v": "周华健演唱会超清" + }, + { + "n": "Z张韶涵", + "v": "张韶涵演唱会超清" + }, + { + "n": "Z周深", + "v": "周深演唱会超清" + }, + { + "n": "Z纵贯线", + "v": "纵贯线演唱会超清" + }, + { + "n": "Z赵雷", + "v": "赵雷演唱会超清" + }, + { + "n": "Z周传雄", + "v": "周传雄演唱会超清" + }, + { + "n": "Z张国荣", + "v": "张国荣演唱会超清" + }, + { + "n": "Z周慧敏", + "v": "周慧敏演唱会超清" + }, + { + "n": "Z张惠妹", + "v": "张惠妹演唱会超清" + }, + { + "n": "Z周笔畅", + "v": "周笔畅演唱会超清" + }, + { + "n": "Z郑中基", + "v": "郑中基演唱会超清" + }, + { + "n": "Z张艺兴", + "v": "张艺兴演唱会超清" + }, + { + "n": "Z张震岳", + "v": "张震岳演唱会超清" + }, + { + "n": "Z张雨生", + "v": "张雨生演唱会超清" + }, + { + "n": "Z郑智化", + "v": "郑智化演唱会超清" + }, + { + "n": "Z卓依婷", + "v": "卓依婷演唱会超清" + }, + { + "n": "Z中岛美雪", + "v": "中岛美雪演唱会超清" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ] + } +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/戏曲音乐/spider.jar b/tvboxqq/tvboxqq/戏曲音乐/spider.jar new file mode 100644 index 0000000..432d420 Binary files /dev/null and b/tvboxqq/tvboxqq/戏曲音乐/spider.jar differ diff --git a/tvboxqq/tvboxqq/摸鱼儿/api.json b/tvboxqq/tvboxqq/摸鱼儿/api.json new file mode 100644 index 0000000..d1f5700 --- /dev/null +++ b/tvboxqq/tvboxqq/摸鱼儿/api.json @@ -0,0 +1,937 @@ +//资源全部免费,仅供测试交流,请勿内置传播与转卖;关注微信公众号:奇奇乐分享,发送“本地包”获取教程与更多资源! + +{ + "spider": "./spider.jar", + "logo": "https://open.wya6.com/d/down/2026/logo.gif", + "wallpaper": "http://127.0.0.1:5266/wallpaper", + "sites": [ + { + "key": "Douban", + "name": "豆瓣推荐", + "type": 3, + "api": "csp_Douban", + "searchable": 0, + "filterable": 1 + }, + { + "key": "Introduce", + "name": "设置中心", + "type": 3, + "api": "csp_Introduce" + }, + { + "key": "YGP", + "name": "预告世界", + "type": 3, + "api": "csp_YGP", + "searchable": 1, + "quickSearch": 1, + "filterable": 1 + }, + { + "key": "Wogg", + "name": "玩偶哥哥", + "type": 3, + "api": "csp_Wogg", + "searchable": 1, + "changeable": 1, + "filterable": 1, + "ext": { + "site": [ + "https://www.wogg.one", + "https://wogg.333232.xyz", + "https://wogg.xxooo.cf", + "https://woggpan.888484.xyz" + ], + "filter": "https://open.wya6.com/d/down/2026/json/wogg.json" + } + }, + { + "key": "FishMuou", + "name": "木偶哥哥", + "type": 3, + "api": "csp_FishCloud", + "searchable": 1, + "ext": { + "site": [ + "https://123.666291.xyz", + "https://666.666291.xyz", + "https://www.muou.site", + "https://www.muou.asia" + ] + } + }, + { + "key": "FishPs", + "name": "鱼鱼盘搜", + "type": 3, + "api": "csp_FishPs", + "searchable": 1, + "filterable": 0 + }, + { + "key": "zuiWanQingFeng", + "name": "醉挽清风", + "type": 4, + "api": "http://我不是.摸鱼儿.com/api/yyutx.php", + "searchable": 1, + "quickSearch": 1, + "changeable": 0 + }, + { + "key": "bili", + "name": "哔哩哔哩", + "type": 3, + "api": "csp_Bili", + "searchable": 1, + "quickSearch": 1, + "ext": { + "cookie": "" + } + }, + { + "key": "CZ", + "name": "厂长资源", + "type": 3, + "api": "csp_CZ", + "searchable": 1, + "quickSearch": 1, + "filterable": 0, + "ext": "https://www.czzymovie.com" + }, + { + "key": "Jpys", + "name": "金牌视频", + "type": 3, + "api": "csp_Jpys", + "searchable": 1, + "ext": "https://y2s52n7.com,https://m.hkybqufgh.com,https://m.sizhengxt.com,https://m.9zhoukj.com,https://m.jiabaide.cn" + }, + { + "key": "Rebo", + "name": "热播视频", + "type": 3, + "api": "csp_AppRJ", + "searchable": 1, + "quickSearch": 1, + "filterable": 0, + "ext": { + "url": "http://v.rbotv.cn" + } + }, + { + "key": "Guazi", + "name": "瓜子资源", + "type": 3, + "api": "csp_Guazi", + "searchable": 1 + }, + { + "key": "bimoxinghe", + "name": "笔墨星河", + "type": 3, + "changeable": 0, + "searchable": 1, + "quickSearch": 1, + "api": "csp_AppYsV2", + "ext": "wYceOHC6X3P3alhnB4RtmzgFD1Irln8apuUGgGt0cGNu1m3wi32g5216U4VmaeMAakuchzAtkZK4hN76RGX+SgXswlO9BU7AAQg57WGKJIWptJgUaSjRv+dsCFHAMS7NtEkaU8HcHtu3mNmXmiGVLae6KtmpbuT1razd8CkTO1A=" + }, + { + "key": "Jianpian", + "name": "荐片视频", + "type": 3, + "api": "csp_Jianpian", + "searchable": 1, + "filterable": 1 + }, + { + "key": "Zxzj", + "name": "在线之家", + "type": 3, + "api": "csp_Zxzj", + "searchable": 1, + "ext": "https://www.zxzjhd.com" + }, + { + "key": "Libvio", + "name": "立播视频", + "type": 3, + "api": "csp_Libvio", + "searchable": 1, + "filterable": 0, + "ext": { + "site": "https://www.libvio.app" + } + }, + { + "key": "Jinpaijm", + "name": "金牌应用", + "type": 3, + "api": "csp_AppQi", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "sCnv2gwYzALZxDcfyX62oT9dE7Gb6ket71O6kp6+0mTtnjdLHRR785IFK5WP7ejkAw2qKHtqwA0BzacEhwsWR46EFUSGjC+C/Q3AHUvecIUmppksjxVLEwnfCmbyHEmEBb87ZHq386bVwkvEwzxGdA==", + "changeable": 1 + }, + { + "key": "huahua", + "name": "花花视频", + "type": 3, + "changeable": 0, + "api": "csp_AppFox", + "ext": "p+FPtr6fYIfomOnA4N4Sl0dFvFqJvfkho3Yem3nNyo6peH9nVFr0wIIfo96V7voEHGrq+0mvfYjwri/nkrWITQ==" + }, + { + "key": "jumeng", + "name": "剧梦视频", + "type": 3, + "api": "csp_AppGet", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "N5u2FS3i/elUFAoSVYBznb2XBsH21Pu8ka/X8qXgAK2VPcUud/asZs4ML65ngDd3ob1Y/WEaAS/XqMkeQchxAs1tgVw2qnUZJoLNHj6pVZm+8OiyK5gYaZals2ovboy6", + "changeable": 1 + }, + { + "key": "shuzi", + "name": "数字视频", + "type": 3, + "quickSearch": 1, + "api": "csp_AppGet", + "ext": "ij8RUkhocZ9ruRgraOrV50cdijznPXJjPSmDdoI59PzF/K2UT7pKnau1ohLhZpTHxdrsBe+l0Qca19BaNsP0tMwh5qgX5Vzp8djZcM8TGlBmgxUOngKyNKQe04jcTDCX" + }, + { + "key": "baige", + "name": "白鸽视频", + "type": 3, + "searchable": 1, + "changeable": 1, + "api": "csp_AppGet", + "ext": "N5u2FS3i/elUFAoSVYBzndHyWmPoQhZsTIJ5ve8B5RdbojKSoqbNo9TORMUWkv2seRAMOLNXC0kGo4lOAL64Xk7pAb68ZHIckNJyo2vC4NFuLci8sMhhnj60v/nDbU1U" + }, + { + "key": "aiying", + "name": "爱盈视频", + "type": 3, + "api": "csp_AppQi", + "changeable": "1", + "quickSearch": 0, + "filterable": 1, + "ext": "sCnv2gwYzALZxDcfyX62oSKxLlLfPpOEf+mKvMQvSpMDoEavlzj4ib+jrumGW1Thrn8REq84SGVeJzq6F/vNAQbZlJ0rkT2djKJq4bTW1XFoW302XV0p+ZSEqBozzdjbdOxaZv+zZWCbSmIlsvXQU5cnwEBCx4/vTVK7uRAHKMytMSWmTqvFCAsCim4kXYme" + }, + { + "key": "Guwo", + "name": "顾我视频", + "type": 3, + "api": "csp_AppQi", + "changeable": "1", + "quickSearch": 0, + "filterable": 1, + "ext": "sCnv2gwYzALZxDcfyX62odvj29IK9rBjcucXypKIufFdmPNgdqJ1QC3/1tU5BzpE6QRHyZZhpYE2iANvQyJEcJnbxot6ElLhqczbYD9E7Gx0ZX5Ndfe/gYfH96S/3Bh/ZnBuT8RppP0xfvhJLL9XtgVCfYQom4JnY6Ax5y9Q9ihBWCa4RFS/Hzwz8+j3Ro/8nxwNFEf5J1MQD7xUihD4PQ==" + }, + { + "key": "Cangshu", + "name": "仓鼠视频", + "type": 3, + "quickSearch": 1, + "api": "csp_AppQi", + "ext": "sCnv2gwYzALZxDcfyX62oU5WQkrrls9RmlBFANGm63njwlAIzmedjdoNo6sg4fA61BJQWaOKuP4gcUzdcgr/eQ0/xUFHrBuL/BhUmgc59s2AShZHvKfpqHq3l4bsWmELcFmGjlr2D/+7Wv2do0s4c+bSmv6VVthXz7kj9aQ8Abil5n7PmZ/S+AlxLxllUIaU0CWfA/vMYL/AxbwgZlH2Nw==" + }, + { + "key": "Jingyu", + "name": "鲸鱼视频", + "type": 3, + "quickSearch": 1, + "api": "csp_AppQi", + "ext": "sCnv2gwYzALZxDcfyX62oZ+IU0AyvsGMnyyhtaWmhS1Cnf/YszSw+hAfankjknvF2e0ym7cXiVpYRg3GDCbOHZOs6Xq5UnFHXB4iUCElNZeIeC99mNU4iKOz6wnCThCbO4u9hQotX7aO/JSsJT/KC6Dh95YCFad3n8Tf6kSSz2Dl1E3yrn3190D5BBWJtjIo" + }, + { + "key": "Xiaozhu", + "name": "小猪视频", + "type": 3, + "quickSearch": 1, + "api": "csp_AppQi", + "ext": "sCnv2gwYzALZxDcfyX62oSrS2f56gC6PfB9fUMobU8tFCjY2XWcaioCX4TeXapR9mhHvCc2Qbqw2o3+TIKUevhOHBVYn3mS0V96FB6CX80m4eAYj3+E63PGY3DXkUiZrkU17g2F5ATf8TeTPcDUFWGgQ2D/6vke0un+2TcUNlP84p51Lqmovhijo6ADPlzV48F16ydyOI8NH0KWXNLc3ig==" + }, + { + "key": "Yunyun", + "name": "云云视频", + "type": 3, + "quickSearch": 1, + "api": "csp_AppQi", + "ext": "sCnv2gwYzALZxDcfyX62oXau36TAwGPWJQM5HukwC/t03nAE412fGglV43GvCzvMmcXvxGHi3FBbhKuWPsq1PI72H6CXEzX9I+nFeFHjBnMuRuB5BgkWGUzQevgXd5yW4M7bWEBM9JH2gOo1VBrfLt2+nk9sHARrStb7Vdl0bnmbbPs13qDJ+r+99OwKOgkx" + }, + { + "key": "Kvm4k", + "name": "流光溢彩", + "type": 3, + "api": "csp_Kvm4k", + "searchable": 1, + "changeable": 1, + "ext": { + "site": [ + "https://www.4kvm.me", + "https://www.4kvm.tv", + "https://www.4kvm.org" + ] + } + }, + { + "key": "Xpg", + "name": "小苹果站", + "type": 3, + "api": "csp_Xpg", + "searchable": 1, + "quickSearch": 1, + "filterable": 1 + }, + { + "key": "TvDy", + "name": "天堂资源", + "type": 3, + "api": "csp_TvDy", + "searchable": 1, + "filterable": 1 + }, + { + "key": "YsSo", + "name": "资源搜索", + "type": 3, + "api": "csp_YsSo", + "searchable": 1, + "ext": "https://ysso.cc" + }, + { + "key": "MqTv", + "name": "麻雀视频", + "type": 3, + "api": "csp_MqTv", + "searchable": 1, + "ext": "https://www.mqtv.cc" + }, + { + "key": "Xb6v", + "name": "六V视频", + "type": 3, + "api": "csp_Xb6v", + "searchable": 1, + "filterable": 1 + }, + { + "key": "Ikanbot", + "name": "爱看机器", + "type": 3, + "api": "csp_Ikanbot", + "searchable": 1, + "filterable": 0, + "ext": "{\"box\": \"TVBox\", \"danmu\": false}" + }, + { + "key": "ReBoYingShi", + "name": "雪映芳辰", + "type": 3, + "api": "csp_ReBoYingShi", + "searchable": 1, + "changeable": 1 + }, + { + "key": "DianYingYunJi", + "name": "河清海晏", + "type": 3, + "api": "csp_DianYingYunJi", + "searchable": 1, + "changeable": 1 + }, + { + "key": "XiaoHongYS", + "name": "小红视频", + "type": 3, + "api": "csp_XiaoHongYS", + "searchable": 1, + "changeable": 1 + }, + { + "key": "KnVod", + "name": "柯南视频", + "type": 3, + "api": "csp_KnVod", + "searchable": 1, + "changeable": 1 + }, + { + "key": "BroVods", + "name": "兄弟视频", + "type": 3, + "api": "csp_BroVods", + "searchable": 1 + }, + { + "key": "SeedHub", + "name": "种子仓库", + "type": 3, + "api": "csp_SeedHub", + "searchable": 1 + }, + { + "key": "FishLabi", + "name": "蜡笔资源", + "type": 3, + "api": "csp_FishCloud", + "searchable": 1, + "ext": { + "site": [ + "https://www.labi88.sbs", + "https://feimao666.fun", + "http://feimao888.fun" + ] + } + }, + { + "key": "FishZhizhen", + "name": "至臻资源", + "type": 3, + "api": "csp_FishCloud", + "searchable": 1, + "ext": { + "site": [ + "https://mihdr.top", + "https://www.miqk.cc", + "https://xiaomiai.site", + "https://xiaomi666.fun", + "https://www.mihdr.top", + "https://www.zhizhenpan.fun" + ] + } + }, + { + "key": "FishDuoduo", + "name": "多多资源", + "type": 3, + "api": "csp_FishCloud", + "searchable": 1, + "ext": { + "site": [ + "https://tv.yydsys.top", + "https://tv.yydsys.cc", + "https://tv.214521.xyz" + ] + } + }, + { + "key": "FishErxiao", + "name": "二小资源", + "type": 3, + "api": "csp_FishCloud", + "searchable": 1, + "ext": { + "site": [ + "https://xhww.net", + "https://erxiaofn.site", + "https://erxiaofn.click", + "https://www.xhww.net" + ] + } + }, + { + "key": "FishHuban", + "name": "虎斑资源", + "type": 3, + "api": "csp_FishCloud", + "searchable": 1, + "ext": { + "site": [ + "http://103.45.162.207:20720" + ] + } + }, + { + "key": "HaiMian", + "name": "海绵资源", + "type": 3, + "api": "csp_HaiMian", + "searchable": 1, + "ext": { + "site": [ + "https://www.haimianxz.com", + "https://www.hmxz.org", + "http://haimian.eu.org" + ], + "Classes": [ + { + "type_name": "电影", + "type_id": "1" + }, + { + "type_name": "剧集", + "type_id": "2" + }, + { + "type_name": "动漫", + "type_id": "3" + }, + { + "type_name": "其它", + "type_id": "4" + }, + { + "type_name": "综艺", + "type_id": "5" + } + ] + } + }, + { + "key": "PanTa", + "name": "盘他资源", + "type": 3, + "api": "csp_PanTa", + "searchable": 1, + "changeable": 1 + }, + { + "key": "LeiJing", + "name": "雷鲸资源", + "type": 3, + "api": "csp_LeiJing", + "searchable": 1, + "changeable": 1 + }, + { + "key": "YunPanBa", + "name": "云盘资源", + "type": 3, + "api": "csp_YunPanBa", + "searchable": 1, + "ext": "https://yunpan6.com/" + }, + { + "key": "TgApiSearch", + "name": "群组搜索", + "type": 3, + "api": "csp_TgApiSearch", + "searchable": 1, + "filterable": 0, + "ext": { + "api_urls": [ + "https://psweb.banye.tech:7777/api/search", + "https://so.566987.xyz/api/search", + "http://152.69.222.142:8088/api/search" + ] + } + }, + { + "key": "TgWebSearch", + "name": "群组网搜", + "type": 3, + "api": "csp_TgWebSearch", + "searchable": 1, + "filterable": 0, + "ext": { + "channels": [ + "tianyirigeng", + "tyypzhpd", + "XiangxiuNB", + "yunpanpan", + "kuakeyun", + "zaihuayun", + "Quark_Movies", + "alyp_4K_Movies", + "vip115hot", + "yunpanshare", + "dianyingshare", + "cloud189_group", + "yunpan139", + "cloudtianyi" + ], + "filters": [ + "189", + "139", + "quark" + ] + } + }, + { + "key": "mifun", + "name": "米福动漫", + "type": 3, + "searchable": 1, + "changeable": 1, + "api": "csp_AppGet", + "ext": "GvE9VjZcKAqoJldDfjF/EFjEacvdRgP+DzKluxhIowAt7HBmxO7zYbrt98skapDAKw6Hlx1Iy+mVJuQI6FYGb7NuvCZrhayVbhmr8hS0EeOTcuCxwv7DUtbufpbgslF77hCJqv2EtYD5MpCse/KA1Q==" + }, + { + "key": "Dmla", + "name": "动漫啦啦", + "type": 3, + "api": "csp_Dmla", + "searchable": 1, + "quickSearch": 1, + "ext": { + "SiteUrl": "https://www.dmla4.com" + } + }, + { + "key": "XiFan", + "name": "稀饭动漫", + "type": 3, + "api": "csp_XiFan", + "searchable": 1, + "quickSearch": 1, + "ext": { + "SiteUrl": "https://dm.xifanacg.com" + } + }, + { + "key": "Manbo", + "name": "曼波动漫", + "type": 3, + "api": "csp_AppGet", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "N5u2FS3i/elUFAoSVYBznRMvuK1KLSV1DN4HBOs//GWvWksCYwvNDoPf16hWOVsnftf5i6fmT2utdVhcCOZaQrECH9tmtsiG6f+4GP6h27DsVeuwTbSSbDAx+58B3Gtp" + }, + { + "key": "Gugu", + "name": "咕咕动漫", + "type": 3, + "api": "csp_AppGet", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "N5u2FS3i/elUFAoSVYBznXUeEAt3X+JD9YKl5MjJCWQR4USFFmoQtTGE0mJDLVeOv00lc599YBqQsYAl+dw0i/1Jq4wgCPncJOqYhT21G0n+faZ/AOCfRq6fnnZcQCfX" + }, + { + "key": "FishDuanju", + "name": "超级短剧", + "type": 3, + "api": "csp_FishDuanju", + "searchable": 1, + "quickSearch": 1, + "filterable": 1 + }, + { + "key": "HHkk", + "name": "好看短剧", + "type": 3, + "api": "csp_HHkk", + "searchable": 1, + "quickSearch": 1, + "filterable": 1 + }, + { + "key": "JLdj", + "name": "金粒短剧", + "type": 3, + "api": "csp_JLdj", + "searchable": 1, + "quickSearch": 1, + "filterable": 1 + }, + { + "key": "Hema", + "name": "河马视频", + "type": 3, + "api": "csp_Hema", + "searchable": 1, + "quickSearch": 1, + "filterable": 1 + }, + { + "key": "Music24bit", + "name": "无损音乐", + "type": 3, + "api": "csp_Music24bit", + "searchable": 1, + "changeable": 1, + "ext": { + "categories": [ + "周杰伦", + "林俊杰", + "陈奕迅", + "邓紫棋", + "薛之谦" + ] + } + }, + { + "key": "TuneFree", + "name": "自由音乐", + "type": 3, + "api": "csp_TuneFree", + "searchable": 1 + }, + { + "key": "Kanqiu", + "name": "八八看球", + "type": 3, + "api": "csp_Kanqiu", + "searchable": 0, + "filterable": 1, + "ext": "http://www.88kanqiu.one", + "style": { + "type": "list" + } + }, + { + "key": "TingBook", + "name": "六月听书", + "type": 3, + "api": "csp_TingBook", + "searchable": 1, + "ext": "http://www.5weiting.com", + "style": { + "type": "list" + } + }, + { + "key": "Local", + "name": "文件浏览", + "type": 3, + "api": "csp_Local", + "searchable": 0, + "changeable": 0 + }, + { + "key": "Market", + "name": "网盘市场", + "type": 3, + "api": "csp_Market", + "searchable": 0, + "ext": "KeJpmGBHNDNtao15t//le3m1n9Z5ZXrQs8D+mt98HNScmDTy9nipe+1ejIo29HghDD4pfCqWua4Qkg5r0/MnKRwsD05VU7eWVi6rNUa5LHima2FYwW6EGq+rMF4KUUvYw4o87aAGALNwz/9G1sF1KJUOIDTvspHyGeoPJZwdhcFqOYFaAnva+X9/XEo519IWmHO15S20HMt9zg//bmTi9Q==" + }, + { + "key": "push_agent", + "name": "推送接收", + "type": 3, + "api": "csp_Push", + "searchable": 0, + "changeable": 0, + "timeout": 60 + } + ], + "lives": [], + "parses": [], + "flags": [], + "ijk": [ + { + "group": "软解码", + "options": [ + { + "category": 4, + "name": "opensles", + "value": "0" + }, + { + "category": 4, + "name": "overlay-format", + "value": "842225234" + }, + { + "category": 4, + "name": "framedrop", + "value": "1" + }, + { + "category": 4, + "name": "soundtouch", + "value": "1" + }, + { + "category": 4, + "name": "start-on-prepared", + "value": "1" + }, + { + "category": 1, + "name": "http-detect-range-support", + "value": "0" + }, + { + "category": 1, + "name": "fflags", + "value": "fastseek" + }, + { + "category": 2, + "name": "skip_loop_filter", + "value": "48" + }, + { + "category": 4, + "name": "reconnect", + "value": "1" + }, + { + "category": 4, + "name": "enable-accurate-seek", + "value": "0" + }, + { + "category": 4, + "name": "mediacodec", + "value": "0" + }, + { + "category": 4, + "name": "mediacodec-auto-rotate", + "value": "0" + }, + { + "category": 4, + "name": "mediacodec-handle-resolution-change", + "value": "0" + }, + { + "category": 4, + "name": "mediacodec-hevc", + "value": "0" + }, + { + "category": 1, + "name": "dns_cache_timeout", + "value": "600000000" + } + ] + }, + { + "group": "硬解码", + "options": [ + { + "category": 4, + "name": "opensles", + "value": "0" + }, + { + "category": 4, + "name": "overlay-format", + "value": "842225234" + }, + { + "category": 4, + "name": "framedrop", + "value": "1" + }, + { + "category": 4, + "name": "soundtouch", + "value": "1" + }, + { + "category": 4, + "name": "start-on-prepared", + "value": "1" + }, + { + "category": 1, + "name": "http-detect-range-support", + "value": "0" + }, + { + "category": 1, + "name": "fflags", + "value": "fastseek" + }, + { + "category": 2, + "name": "skip_loop_filter", + "value": "48" + }, + { + "category": 4, + "name": "reconnect", + "value": "1" + }, + { + "category": 4, + "name": "enable-accurate-seek", + "value": "0" + }, + { + "category": 4, + "name": "mediacodec", + "value": "1" + }, + { + "category": 4, + "name": "mediacodec-auto-rotate", + "value": "1" + }, + { + "category": 4, + "name": "mediacodec-handle-resolution-change", + "value": "1" + }, + { + "category": 4, + "name": "mediacodec-hevc", + "value": "1" + }, + { + "category": 1, + "name": "dns_cache_timeout", + "value": "600000000" + } + ] + } + ], + "ads": [ + "mimg.0c1q0l.cn", + "www.googletagmanager.com", + "www.google-analytics.com", + "mc.usihnbcq.cn", + "mg.g1mm3d.cn", + "mscs.svaeuzh.cn", + "cnzz.hhttm.top", + "tp.vinuxhome.com", + "cnzz.mmstat.com", + "www.baihuillq.com", + "s23.cnzz.com", + "z3.cnzz.com", + "c.cnzz.com", + "stj.v1vo.top", + "z12.cnzz.com", + "img.mosflower.cn", + "tips.gamevvip.com", + "ehwe.yhdtns.com", + "xdn.cqqc3.com", + "www.jixunkyy.cn", + "sp.chemacid.cn", + "hm.baidu.com", + "s9.cnzz.com", + "z6.cnzz.com", + "um.cavuc.com", + "mav.mavuz.com", + "wofwk.aoidf3.com", + "z5.cnzz.com", + "xc.hubeijieshikj.cn", + "tj.tianwenhu.com", + "xg.gars57.cn", + "k.jinxiuzhilv.com", + "cdn.bootcss.com", + "ppl.xunzhuo123.com", + "xomk.jiangjunmh.top", + "img.xunzhuo123.com", + "z1.cnzz.com", + "s13.cnzz.com", + "xg.huataisangao.cn", + "z7.cnzz.com", + "z2.cnzz.com", + "s96.cnzz.com", + "q11.cnzz.com", + "thy.dacedsfa.cn", + "xg.whsbpw.cn", + "s19.cnzz.com", + "z8.cnzz.com", + "s4.cnzz.com", + "f5w.as12df.top", + "ae01.alicdn.com", + "www.92424.cn", + "k.wudejia.com", + "vivovip.mmszxc.top", + "qiu.xixiqiu.com", + "cdnjs.hnfenxun.com", + "cms.qdwght.com" + ] +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/摸鱼儿/spider.jar b/tvboxqq/tvboxqq/摸鱼儿/spider.jar new file mode 100644 index 0000000..a08a36e Binary files /dev/null and b/tvboxqq/tvboxqq/摸鱼儿/spider.jar differ diff --git a/tvboxqq/tvboxqq/本地仓.txt b/tvboxqq/tvboxqq/本地仓.txt new file mode 100644 index 0000000..8e704ea --- /dev/null +++ b/tvboxqq/tvboxqq/本地仓.txt @@ -0,0 +1,25 @@ +{ "urls": [{ "url": "clan://localhost/tvboxqq/饭太硬/api.json", "name": "饭太硬" }, + +{ "url": "clan://localhost/tvboxqq/小米/api.json", "name": "小米" }, + +{ "url": "clan://localhost/tvboxqq/肥猫/api.json", "name": "肥猫" }, + +{ "url": "clan://localhost/tvboxqq/王二小/api.json", "name": "王二小" }, + +{ "url": "clan://localhost/tvboxqq/OK/api.json", "name": "OK" }, + +{ "url": "clan://localhost/tvboxqq/潇洒/api.json", "name": "潇洒" }, + +{ "url": "clan://localhost/tvboxqq/摸鱼儿/api.json", "name": "摸鱼儿" }, + +{ "url": "clan://localhost/tvboxqq/小虎斑/api.json", "name": "小虎斑" }, + +{ "url": "clan://localhost/tvboxqq/欧歌/api.json", "name": "欧歌" }, + +{ "url": "clan://localhost/tvboxqq/南风/api.json", "name": "南风" }, + +{ "url": "clan://localhost/tvboxqq/香雅情/api.json", "name": "香雅情" }, + +{ "url": "clan://localhost/tvboxqq/少儿频道/api.json", "name": "少儿频道" }, + +{ "url": "clan://localhost/tvboxqq/戏曲音乐/api.json", "name": "戏曲音乐" }]} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/欧歌/api.json b/tvboxqq/tvboxqq/欧歌/api.json new file mode 100644 index 0000000..4546b5f --- /dev/null +++ b/tvboxqq/tvboxqq/欧歌/api.json @@ -0,0 +1,1949 @@ +//资源全部免费,仅供测试交流,请勿内置传播与转卖;关注微信公众号:奇奇乐分享,发送“本地包”获取教程与更多资源! + +{ + "wallpaper": "https://xn--anna-wn6lw489o.v.nxog.top/m/t/", + "logo": "https://alicliimg.clewm.net/342/790/68790342/17369906896774bd3d1d8ba1877dea5d967a137aa23d91736990672.gif", + "spider": "./spider.jar", + "warningText": "an装🅱na提示:\n📢接口软件永远免费 \n📢长期维护切勿贩卖", + "lives": [ + { + "name": "an装🅱na", + "type": 0, + "url": "./lives/an装🅱na.txt", + "epg": "http://cdn.1678520.xyz/epg/?ch={name}&date={date}" + } + ], + "sites": [ + { + "key": "豆瓣2", + "name": "📢天行健,君子以自强不息。——《周易·乾·象》", + "type": 3, + "api": "csp_Douban", + "searchable": 0 + }, + { + "key": "豆瓣1", + "name": "📢公告❤更新01.05❤", + "type": 3, + "api": "csp_Notice", + "searchable": 1, + "jar": "./jars/豆瓣1.jar", + "ext": "https://xn--anna-wn6lw489o.v.nxog.top/m/公告?b=an装🅱na" + }, + { + "key": "config", + "name": "🐲歌配置|中心", + "type": 3, + "jar": "./jars/config.jar", + "api": "csp_Config", + "searchable": 0 + }, + { + "key": "配置中心", + "name": "❤配置|中心", + "type": 3, + "api": "csp_Config", + "searchable": 0, + "changeable": 0, + "style": { + "type": "rect", + "ratio": 1.597 + } + }, + { + "key": "csp_wogg1", + "name": "🐲玩歌|4K弹幕", + "type": 3, + "changeable": "0", + "api": "csp_Duopan", + "filterable": 1, + "jar": "./jars/csp_wogg1.jar", + "ext": { + "site_urls": [ + "https://woog.nxog.fun", + "https://woog.nxog.eu.org", + "https://woog.430520.xyz", + "https://woog.装歌.de5.net" + ], + "url_key": "wogg1", + "threadinfo": { + "chunksize": 278, + "threads": 16 + } + } + }, + { + "key": "csp_woog2", + "name": "🐲装歌|4K弹幕", + "type": 3, + "changeable": "0", + "api": "csp_Duopan", + "filterable": 1, + "jar": "./jars/config.jar", + "ext": { + "site_urls": [ + "https://ogkk.nxog.fun", + "https://ogkk.nxog.eu.org", + "https://ogkk.430520.xyz", + "https://ogkk.装歌.de5.net" + ], + "url_key": "woog2", + "threadinfo": { + "chunksize": 201, + "threads": 16 + } + } + }, + { + "key": "夸快夸快", + "name": "❤夸快|4K弹幕", + "type": 3, + "api": "csp_PanWebShare", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "changeable": 1, + "ext": { + "site": [ + "https://ogkk.nxog.eu.org", + "https://ogkk.nxog.fun", + "https://woog.歌.de5.net" + ] + } + }, + { + "key": "荐片", + "name": "💡荐片|影视", + "api": "csp_JianPian", + "type": 3 + }, + { + "key": "热播影视", + "name": "💡热播|影视", + "type": 3, + "api": "csp_AppRJ", + "searchable": 1, + "quickSearch": 1, + "filterable": 0, + "ext": { + "url": "http://v.rbotv.cn" + } + }, + { + "key": "浪酷影视", + "name": "💡浪酷|影视", + "type": 3, + "api": "csp_AppRJ", + "searchable": 1, + "quickSearch": 1, + "filterable": 0, + "ext": { + "url": "http://v.lkuys.cn" + } + }, + { + "key": "瓜子影视", + "name": "💡瓜子|影视", + "type": 3, + "api": "csp_Gz360", + "searchable": 1, + "quickSearch": 1, + "filterable": 1 + }, + { + "key": "苹果影视", + "name": "💡苹果|影视", + "type": 3, + "api": "csp_LiteApple", + "searchable": 1, + "quickSearch": 1, + "filterable": 1 + }, + { + "key": "爱看机器人", + "name": "💡爱看|影视", + "type": 3, + "api": "csp_Ikanbot", + "searchable": 1, + "quickSearch": 1, + "filterable": 1 + }, + { + "key": "三六零", + "name": "💡三六|视频", + "type": 3, + "api": "csp_SP360" + }, + { + "key": "奇优影视", + "name": "💡奇优|影视", + "type": 3, + "api": "csp_Qiyou" + }, + { + "key": "骚火影视", + "name": "💡骚火|影视", + "type": 3, + "api": "csp_SaoHuo", + "playerType": 2, + "ext": "https://shdy5.us" + }, + { + "key": "金牌影视", + "name": "💡金牌|影视", + "type": 3, + "api": "csp_Jpys", + "ext": "https://m.hkybqufgh.com,https://m.sizhengxt.com,https://m.9zhoukj.com,https://m.sizhengxt.com,https://m.jiabaide.cn" + }, + { + "key": "1905", + "name": "💡1905|影视", + "type": 3, + "api": "csp_Web1905", + "searchable": 1, + "quickSearch": 0, + "filterable": 0 + }, + { + "key": "移动", + "name": "💡移动|影视", + "type": 3, + "api": "csp_YDjisu", + "searchable": 1, + "quickSearch": 1 + }, + { + "key": "柠檬", + "name": "💡柠檬|影视", + "type": 3, + "api": "csp_Nmvod", + "playerType": 2, + "jar": "./jars/柠檬.jar", + "ext": "7lj763gg402i7942503g839jg74h8h88highi40799jh6i6k454419l0l5184k0g549h0kg2i01i838i2h42g891lgg1" + }, + { + "key": "聚搜", + "name": "🐢聚搜┃影视", + "type": 3, + "api": "./api/072e7d2e5c69f201f0bf58ee5ec55b2b.py", + "ext": "http://101.35.85.16:5555" + }, + { + "key": "巧技2", + "name": "🔍搜艘┃影视", + "type": 3, + "searchable": 1, + "quickSearch": 1, + "api": "csp_qiao2", + "playerType": 2, + "jar": "./jars/巧技2.jar", + "ext": "7lj763gg402i7942412h849jg1558j9jl8g19213il86316k465719lik158491h179312h4934183ig2l05g9" + }, + { + "key": "cat_荐片app", + "name": "🥇荐片|备用", + "type": 3, + "api": "./api/e25e8b99a742769e06735ae8c375cdf2.js", + "ext": { + "host": "https://ev2089.zxbwv.com", + "catesSet": "电影&电视剧&综艺&动漫&纪录片", + "tabsSet": "极速蓝光" + } + }, + { + "key": "永乐", + "name": "🥇永乐|影视", + "type": 3, + "api": "./api/a74c1a8a2e796cbe13911c932ba3be9d.js" + }, + { + "key": "金牌123", + "name": "🥇金牌|影视", + "type": 3, + "api": "./api/af2c84aea46fa071e9d9bfa04a9f86ac.js" + }, + { + "key": "海龟", + "name": "🥇海龟|影视", + "type": 3, + "api": "./api/f6690a283956c245aee15ef24411afde.js" + }, + { + "key": "鬼片", + "name": "🥇鬼片|影视", + "type": 3, + "api": "./api/af3ba8d14612c7a03179eece34884696.js" + }, + { + "key": "apple", + "name": "🥇苹果|影视", + "type": 3, + "api": "./api/d1af3d0b66891dd829e39062c6605609.js" + }, + { + "key": "顾我", + "name": "👑顾我|弹幕", + "type": 3, + "api": "csp_AppQi", + "changeable": "1", + "quickSearch": 0, + "filterable": 1, + "ext": { + "site": "https://guwozj-1319364746.cos.ap-guangzhou.myqcloud.com/guwo.txt", + "dataKey": "ca94b06ca3c7d80e", + "dataIv": "ca94b06ca3c7d80e", + "ua": "okhttp/3.10.0" + } + }, + { + "key": "云云", + "name": "👑云云丨弹幕", + "type": 3, + "quickSearch": 1, + "api": "csp_AppQi", + "ext": { + "site": "https://staraugust123456.oss-cn-hangzhou.aliyuncs.com/2.txt", + "dataKey": "staraugust123456", + "dataIv": "staraugust123456", + "version": "120" + } + }, + { + "key": "小猪", + "name": "👑小猪丨弹幕", + "type": 3, + "quickSearch": 1, + "api": "csp_AppQi", + "ext": { + "url": "", + "site": "https://tiantangyoulu.oss-cn-beijing.aliyuncs.com/tengxunyun.txt", + "dataKey": "seb5tq9mykp2w9ry", + "dataIv": "seb5tq9mykp2w9ry", + "deviceId": "", + "version": "", + "ua": "okhttp/3.10.0" + } + }, + { + "key": "金牌2", + "name": "👑金牌丨弹幕", + "type": 3, + "searchable": 1, + "changeable": 1, + "api": "csp_AppQi", + "ext": { + "site": "https://dtqj1.gg1080.com:443/dtjp.txt", + "dataKey": "kecbio48dsq131ed", + "dataIv": "kecbio48dsq131ed" + } + }, + { + "key": "布雷", + "name": "👑布雷丨弹幕", + "type": 3, + "quickSearch": 1, + "api": "csp_AppQi", + "ext": { + "site": "https://ceshi307386.oss-cn-beijing.aliyuncs.com/blurl.txt", + "dataKey": "5f2b7ed203a3a581", + "dataIv": "5f2b7ed203a3a581", + "version": "120" + } + }, + { + "key": "仓鼠", + "name": "👑仓鼠丨弹幕", + "type": 3, + "quickSearch": 1, + "api": "csp_AppQi", + "ext": { + "site": "https://ceshi307386.oss-cn-beijing.aliyuncs.com/ceshi430.txt", + "dataKey": "7sKhdca8HXGuyZ4x", + "dataIv": "7sKhdca8HXGuyZ4x", + "version": "120" + } + }, + { + "key": "鲸鱼", + "name": "👑鲸鱼丨弹幕", + "type": 3, + "quickSearch": 1, + "api": "csp_AppQi", + "ext": { + "site": "https://jingyu4k-1312635929.cos.ap-nanjing.myqcloud.com/1.json", + "dataKey": "AAdgrdghjfgswerA", + "dataIv": "AAdgrdghjfgswerA" + } + }, + { + "key": "数字", + "name": "👑数字丨弹幕", + "type": 3, + "quickSearch": 1, + "api": "csp_AppGet", + "ext": { + "url": "http://app1-0-0.87333.cc", + "dataKey": "VwsHxkCViDXEExWa", + "dataIv": "VwsHxkCViDXEExWa" + } + }, + { + "key": "丫丫", + "name": "👑丫丫|弹幕", + "type": 3, + "quickSearch": 1, + "api": "csp_AppGet", + "ext": { + "url": "http://tv.yy-fun.cc", + "dataKey": "qkxnwkfjwpcnwycl", + "dataIv": "qkxnwkfjwpcnwycl", + "deviceId": "", + "version": "" + } + }, + { + "key": "八天", + "name": "👑八天丨弹幕", + "type": 3, + "quickSearch": 1, + "api": "csp_AppGet", + "ext": { + "url": "https://dy.8ttv.cn", + "site": "", + "dataKey": "1111111111111111", + "dataIv": "1111111111111111", + "deviceId": "", + "version": "", + "ua": "" + } + }, + { + "key": "茉莉", + "name": "👑茉莉|弹幕", + "type": 3, + "searchable": 1, + "api": "csp_AppGet", + "ext": { + "site": "https://gitee.com/wmmoliill/wimg/raw/master/img/bk/9.txt", + "dataKey": "88689667dce61725", + "dataIv": "88689667dce61725" + } + }, + { + "key": "旗星", + "name": "👑旗星|弹幕", + "type": 3, + "quickSearch": 1, + "api": "csp_AppGet", + "ext": { + "url": "http://ys.qist.top", + "dataKey": "2SWSPFxugBLPPOKo", + "dataIv": "2SWSPFxugBLPPOKo", + "version": "120" + } + }, + { + "key": "驿站", + "name": "👑驿站|弹幕", + "type": 3, + "quickSearch": 1, + "api": "csp_AppGet", + "ext": { + "site": "https://dyyztvappapigoodgx.68.gy:12689/ciwk28vu38io8/apiurl.txt", + "dataKey": "dyyztvapiappyyds", + "dataIv": "dyyztvapiappyyds" + } + }, + { + "key": "火锅", + "name": "👑火锅|弹幕", + "type": 3, + "quickSearch": 1, + "api": "csp_AppGet", + "ext": { + "url": "https://ios.hgyx.vip", + "dataKey": "062dec75d039980e", + "dataIv": "062dec75d039980e", + "ua": "Dart/3.5 (dart:io)" + } + }, + { + "key": "粉象世界", + "name": "👑粉象|弹幕", + "type": 3, + "changeable": 0, + "api": "csp_AppFox", + "ext": { + "host": "http://121.40.131.51:2556/host.json", + "ver": 2 + } + }, + { + "key": "老丫", + "name": "👑老雅┃影视", + "type": 3, + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "changeable": 1, + "api": "./api/c971b46d3dedf50d9cb99ae963206db6.js", + "ext": { + "host": "https://app2512.ystva.com" + } + }, + { + "key": "小猫", + "name": "👑小猫┃影视", + "type": 3, + "searchable": 1, + "changeable": 1, + "api": "csp_AppGet", + "ext": { + "site": "http://xywlkj.oss-cn-beijing.aliyuncs.com/wp-content/uploads/2024/12/1.txt", + "dataKey": "xmyxmyxywlkjxywl", + "dataIv": "xmyxmyxywlkjxywl" + } + }, + { + "key": "花柳", + "name": "👑花柳┃影视", + "type": 3, + "changeable": 0, + "api": "csp_AppFox", + "ext": { + "host": "http://nico.oiio.fun", + "ver": 2 + } + }, + { + "key": "恋鱼", + "name": "👑恋鱼┃影视", + "type": 3, + "api": "csp_AppFox", + "ext": { + "host": "https://173220859-1333208043.cos.ap-shanghai.myqcloud.com/1.json", + "ver": 2 + } + }, + { + "key": "椰子", + "name": "👑椰子┃影视", + "type": 3, + "changeable": 0, + "api": "csp_AppFox", + "ext": { + "host": "https://yzysap.oss-cn-hangzhou.aliyuncs.com/yzysapp.json", + "ver": 2 + } + }, + { + "key": "New6v", + "name": "🎃New6V┃磁力", + "type": 3, + "api": "csp_New6v", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "https://www.xb6v.com" + }, + { + "key": "剧迷", + "name": "🎃剧迷┃磁力", + "type": 3, + "api": "csp_MeijuMi", + "searchable": 1, + "quickSearch": 1, + "filterable": 1 + }, + { + "key": "80S", + "name": "🎃80S|磁力", + "type": 3, + "api": "csp_BLSGod", + "playerType": 1, + "searchable": 1, + "quickSearch": 1, + "filterable": 1 + }, + { + "key": "天堂", + "name": "🎃美剧┃磁力", + "type": 3, + "api": "csp_MeijuTT", + "searchable": 1, + "quickSearch": 1, + "filterable": 1 + }, + { + "key": "曼波动漫", + "name": "🤣曼波|动漫", + "type": 3, + "quickSearch": 1, + "api": "csp_AppGet", + "ext": { + "url": "https://app.omofun1.top", + "dataKey": "66dc309cbeeca454", + "dataIv": "66dc309cbeeca454", + "deviceId": "", + "version": "" + } + }, + { + "key": "魔都资源", + "name": "🤣魔都┃动漫", + "type": 1, + "api": "https://caiji.moduapi.cc/api.php/provide/vod/?ac=list", + "searchable": 1, + "quickSearch": 1, + "filterable": 1 + }, + { + "key": "咕咕动漫", + "name": "🤣咕咕|动漫", + "type": 3, + "quickSearch": 1, + "api": "csp_AppGet", + "ext": { + "url": "https://www.gugu3.com", + "dataKey": "nKfZ8KX6JTNWRzTD", + "dataIv": "nKfZ8KX6JTNWRzTD", + "deviceId": "", + "version": "" + } + }, + { + "key": "漫国动漫", + "name": "🤣漫国丨动漫", + "type": 3, + "api": "csp_AppSy", + "ext": { + "site": "https://dm-1255775577.cos.ap-guangzhou.myqcloud.com/dmg/api.txt", + "siteKey": "rectangleadsadxa", + "listKey": "aassddwwxxllsx1x", + "parsesKey": "aassddwwxxllsx1x" + } + }, + { + "key": "元咲动漫", + "name": "🤣元咲丨动漫", + "type": 3, + "quickSearch": 1, + "api": "csp_AppGet", + "ext": { + "url": "http://cic.aicg.fun", + "dataKey": "2c4h36abd96se10u", + "dataIv": "2c4h36abd96se10u" + } + }, + { + "key": "番薯动漫", + "name": "🤣番薯丨动漫", + "type": 3, + "quickSearch": 1, + "api": "csp_AppGet", + "ext": { + "url": "https://new.app.bytegooty.com", + "dataKey": "N4yj7l7xKxHF4*gz", + "dataIv": "N4yj7l7xKxHF4*gz" + } + }, + { + "key": "米饭", + "name": "🤣米饭|动漫", + "type": 3, + "quickSearch": 1, + "api": "csp_AppGet", + "ext": { + "url": "https://get.mymifun.com", + "dataKey": "GETMIFUNGEIMIFUN", + "dataIv": "GETMIFUNGEIMIFUN" + } + }, + { + "key": "卡卡", + "name": "🤣卡卡|动漫", + "type": 3, + "searchable": 1, + "changeable": 1, + "api": "csp_AppGet", + "ext": { + "url": "http://154.201.90.53:8002", + "dataKey": "123456789abcdefg", + "dataIv": "123456789abcdefg" + } + }, + { + "key": "玩偶", + "name": "❤玩偶|4K弹幕", + "type": 3, + "api": "csp_PanWebShare", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "changeable": 1, + "ext": { + "site": [ + "https://woog.nxog.eu.org", + "https://woog.nxog.fun", + "https://ogkk.nxog.de5.net" + ] + } + }, + { + "key": "蜡笔", + "name": "❤蜡笔|4K弹幕", + "type": 3, + "api": "csp_PanWebShare", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "changeable": 1, + "ext": { + "site": [ + "https://www.labi88.sbs", + "https://feimao666.fun", + "http://feimao888.fun" + ] + } + }, + { + "key": "至臻", + "name": "❤至臻|4K弹幕", + "type": 3, + "api": "csp_PanWebShare", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "changeable": 1, + "ext": { + "site": [ + "https://mihdr.top", + "https://www.miqk.cc", + "https://xiaomiai.site", + "https://xiaomi666.fun", + "https://www.mihdr.top", + "https://www.zhizhenpan.fun" + ] + } + }, + { + "key": "多多", + "name": "❤多多|4K弹幕", + "type": 3, + "api": "csp_PanWebShare", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "changeable": 1, + "ext": { + "site": [ + "https://tv.yydsys.top", + "https://tv.yydsys.cc", + "https://tv.214521.xyz" + ] + } + }, + { + "key": "木偶", + "name": "❤木偶|4K弹幕", + "type": 3, + "api": "csp_PanWebShare", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "changeable": 1, + "ext": { + "site": [ + "https://123.666291.xyz", + "https://666.666291.xyz", + "https://www.muou.site", + "https://www.muou.asia" + ] + } + }, + { + "key": "虎斑", + "name": "❤虎斑|4K弹幕", + "type": 3, + "api": "csp_PanWebShare", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "changeable": 1, + "ext": { + "site": [ + "http://103.45.162.207:20720" + ] + } + }, + { + "key": "糖果", + "name": "❤糖果|搜索", + "type": 3, + "api": "csp_TGSou", + "searchable": 1, + "quickSearch": 1, + "filterable": 1 + }, + { + "key": "夸克盘搜", + "name": "❤夸父|搜索", + "type": 3, + "api": "csp_PanSou", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": { + "cloudDrives": "quark" + } + }, + { + "key": "UC盘搜", + "name": "❤优夕|搜索", + "type": 3, + "api": "csp_PanSou", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": { + "cloudDrives": "uc" + } + }, + { + "key": "百度盘搜", + "name": "❤肚盘|搜索", + "type": 3, + "api": "csp_PanSou", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": { + "cloudDrives": "baidu" + } + }, + { + "key": "阿里云盘", + "name": "❤我的|阿离", + "type": 3, + "api": "csp_PanAli", + "searchable": 0, + "filterable": 0, + "changeable": 0, + "style": { + "type": "list", + "ratio": 1.433 + }, + "ext": "./json/aliShare.json" + }, + { + "key": "夸克云盘", + "name": "❤我的|夸父", + "type": 3, + "api": "csp_PanQuark", + "searchable": 0, + "filterable": 0, + "changeable": 0, + "style": { + "type": "list", + "ratio": 1.433 + }, + "ext": "./json/quarkShare.json" + }, + { + "key": "UC", + "name": "❤我的|优夕", + "type": 3, + "api": "csp_PanUc", + "searchable": 0, + "filterable": 0, + "changeable": 0, + "style": { + "type": "list", + "ratio": 1.433 + }, + "ext": "./json/ucShare.json" + }, + { + "key": "百度云盘", + "name": "❤我的|肚盘", + "type": 3, + "api": "csp_PanBaiDu", + "searchable": 0, + "filterable": 0, + "changeable": 0, + "style": { + "type": "list", + "ratio": 1.433 + } + }, + { + "key": "养生堂", + "name": "🧿养生|知识", + "type": 3, + "jar": "./jars/养生堂.jar", + "api": "csp_XBPQ", + "ext": "./json/养生堂.json", + "style": { + "type": "rect", + "ratio": 1.597 + } + }, + { + "key": "全看", + "name": "🧿全看|影视", + "type": 3, + "api": "csp_XBPQ", + "jar": "./jars/养生堂.jar", + "ext": { + "请求头": "User-Agent$MOBILE_UA", + "编码": "UTF-8", + "分类url": "https://www.qkwaa.com//;;!H" + } + }, + { + "key": "永乐", + "name": "🧿永乐|影视", + "type": 3, + "api": "csp_XBPQ", + "jar": "./jars/养生堂.jar", + "ext": { + "副标题": "欧歌专属", + "请求头": "User-Agent$MOBILE_UA", + "编码": "UTF-8", + "分类url": "https://www.ylys.tv/;;!H" + } + }, + { + "key": "韩国", + "name": "🧿韩国|影视", + "type": 3, + "api": "csp_XBPQ", + "jar": "./jars/养生堂.jar", + "ext": "./json/韩剧看看.json" + }, + { + "key": "小鸭", + "name": "🧿小鸭|影视", + "type": 3, + "api": "csp_XBPQ", + "jar": "./jars/养生堂.jar", + "ext": { + "副标题": "欧歌专属", + "请求头": "User-Agent$MOBILE_UA", + "编码": "UTF-8", + "分类url": "https://777tv.ai/;;!H" + } + }, + { + "key": "快1快", + "name": "🧿快快|影视", + "type": 3, + "api": "csp_XBPQ", + "jar": "./jars/养生堂.jar", + "ext": { + "副标题": "欧歌专属", + "请求头": "User-Agent$MOBILE_UA", + "编码": "UTF-8", + "分类url": "https://4k4k.live/;;!H" + } + }, + { + "key": "星空影视", + "name": "🧿星空|影视", + "type": 3, + "api": "csp_XBPQ", + "jar": "./jars/养生堂.jar", + "ext": { + "请求头": "手机", + "简介": "剧情介绍:+detailse\"&&", + "数组": "top01\">&&", + "副标题": "&&", + "状态": "集数:&&", + "线路标题": "
  • &&
  • ", + "分类url": "https://www.starskytv.com/list/{cateId}/0-0-0-0-1-{catePg}-30.html", + "分类": "短剧$duanju#电视剧$dianshi#电影$dianying#动漫$dongman#综艺$zongyi" + } + }, + { + "key": "农民", + "name": "🧿农民|影视", + "type": 3, + "api": "csp_XBPQ", + "jar": "./jars/养生堂.jar", + "ext": { + "副标题": "欧歌专属", + "请求头": "User-Agent$MOBILE_UA", + "编码": "UTF-8", + "分类url": "https://vip.wwgz.cn:5200/;;!H" + } + }, + { + "key": "秀儿", + "name": "🧿秀儿|影视", + "type": 3, + "api": "csp_XBPQ", + "jar": "./jars/养生堂.jar", + "ext": { + "副标题": "欧歌专属", + "请求头": "User-Agent$MOBILE_UA", + "编码": "UTF-8", + "分类url": "https://xiuer.pro/;;!H" + } + }, + { + "key": "布卡", + "name": "🧿布卡|影视", + "type": 3, + "api": "csp_XBPQ", + "jar": "./jars/养生堂.jar", + "ext": { + "副标题": "欧歌专属", + "请求头": "User-Agent$MOBILE_UA", + "编码": "UTF-8", + "分类url": "https://m.ycblcw.com/;;!H" + } + }, + { + "key": "VS", + "name": "🧿VS|影视", + "type": 3, + "api": "csp_XBPQ", + "ext": "./json/babf927a0b08caa0824b723006693a4a.json", + "jar": "./jars/养生堂.jar" + }, + { + "key": "啊哈DJ网", + "name": "🧿啊哈|DJ", + "type": 3, + "api": "csp_XBPQ", + "ext": "./json/9c6ce57d8a0b20d86aaf0dce4276245f.json", + "jar": "./jars/养生堂.jar" + }, + { + "key": "本地", + "name": "🚤本地|视频", + "type": 3, + "api": "csp_LocalFile" + }, + { + "key": "哔️软件", + "name": "🅰️软件┃哔哩", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 0, + "filterable": 0, + "ext": { + "cookie": "http://127.0.0.1:9978/file/TVBox/bili_cookie.txt", + "json": "https://cdn.jsdmirror.com/gh/ouhaibo1980/tvbox@main/Bil/软件教程.json" + }, + "style": { + "type": "rect", + "ratio": 1.597 + } + }, + { + "key": "哔哩学堂", + "name": "🅰学堂┃哔哩", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 0, + "filterable": 0, + "ext": { + "cookie": "http://127.0.0.1:9978/file/TVBox/bili_cookie.txt", + "json": "https://cdn.jsdmirror.com/gh/ouhaibo1980/tvbox@main/Bil/学堂教育.json" + }, + "style": { + "type": "rect", + "ratio": 1.597 + } + }, + { + "key": "哔哩少儿", + "name": "🅰少儿┃哔哩", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 0, + "filterable": 0, + "ext": { + "cookie": "http://127.0.0.1:9978/file/TVBox/bili_cookie.txt", + "json": "https://cdn.jsdmirror.com/gh/ouhaibo1980/tvbox@main/Bil/少儿合集.json" + }, + "style": { + "type": "rect", + "ratio": 1.597 + } + }, + { + "key": "️小学", + "name": "🅰️小学┃哔哩", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 0, + "filterable": 0, + "ext": { + "cookie": "http://127.0.0.1:9978/file/TVBox/bili_cookie.txt", + "json": "https://cdn.jsdmirror.com/gh/ouhaibo1980/tvbox@main/Bil/小学课堂.json" + }, + "style": { + "type": "rect", + "ratio": 1.597 + } + }, + { + "key": "️初中", + "name": "🅰️初中┃哔哩", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 0, + "filterable": 0, + "ext": { + "cookie": "http://127.0.0.1:9978/file/TVBox/bili_cookie.txt", + "json": "https://cdn.jsdmirror.com/gh/ouhaibo1980/tvbox@main/Bil/初中课堂.json" + }, + "style": { + "type": "rect", + "ratio": 1.597 + } + }, + { + "key": "️高中", + "name": "🅰️高中┃哔哩", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 0, + "filterable": 0, + "ext": { + "cookie": "http://127.0.0.1:9978/file/TVBox/bili_cookie.txt", + "json": "https://cdn.jsdmirror.com/gh/ouhaibo1980/tvbox@main/Bil/高中课堂.json" + }, + "style": { + "type": "rect", + "ratio": 1.597 + } + }, + { + "key": "口才", + "name": "🧒口才┃儿童", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 0, + "filterable": 0, + "ext": { + "cookie": "http://127.0.0.1:9978/file/TVBox/bili_cookie.txt", + "json": "https://cdn.jsdmirror.com/gh/ouhaibo1980/tvbox@main/Bil/儿童口才.json" + }, + "style": { + "type": "rect", + "ratio": 1.597 + } + }, + { + "key": "拼音", + "name": "🧒拼音┃儿童", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 0, + "filterable": 0, + "ext": { + "cookie": "http://127.0.0.1:9978/file/TVBox/bili_cookie.txt", + "json": "https://cdn.jsdmirror.com/gh/ouhaibo1980/tvbox@main/Bil/儿童拼音.json" + }, + "style": { + "type": "rect", + "ratio": 1.597 + } + }, + { + "key": "识字", + "name": "🧒识字┃儿童", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 0, + "filterable": 0, + "ext": { + "cookie": "http://127.0.0.1:9978/file/TVBox/bili_cookie.txt", + "json": "https://cdn.jsdmirror.com/gh/ouhaibo1980/tvbox@main/Bil/儿童识字.json" + }, + "style": { + "type": "rect", + "ratio": 1.597 + } + }, + { + "key": "思维", + "name": "🧒思维┃儿童", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 0, + "filterable": 0, + "ext": { + "cookie": "http://127.0.0.1:9978/file/TVBox/bili_cookie.txt", + "json": "https://cdn.jsdmirror.com/gh/ouhaibo1980/tvbox@main/Bil/儿童思维.json" + }, + "style": { + "type": "rect", + "ratio": 1.597 + } + }, + { + "key": "英语", + "name": "🧒英语┃儿童", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 0, + "filterable": 0, + "ext": { + "cookie": "http://127.0.0.1:9978/file/TVBox/bili_cookie.txt", + "json": "https://cdn.jsdmirror.com/gh/ouhaibo1980/tvbox@main/Bil/儿童英语.json" + }, + "style": { + "type": "rect", + "ratio": 1.597 + } + }, + { + "key": "科学", + "name": "🧒科学┃哔哩", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 0, + "filterable": 0, + "ext": { + "cookie": "http://127.0.0.1:9978/file/TVBox/bili_cookie.txt", + "json": "https://cdn.jsdmirror.com/gh/ouhaibo1980/tvbox@main/Bil/小灯塔科学.json" + }, + "style": { + "type": "rect", + "ratio": 1.597 + } + }, + { + "key": "国学", + "name": "🧒国学┃哔哩", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 0, + "filterable": 0, + "ext": { + "cookie": "http://127.0.0.1:9978/file/TVBox/bili_cookie.txt", + "json": "https://cdn.jsdmirror.com/gh/ouhaibo1980/tvbox@main/Bil/小灯塔国学.json" + }, + "style": { + "type": "rect", + "ratio": 1.597 + } + }, + { + "key": "地理", + "name": "🧒地理┃哔哩", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 0, + "filterable": 0, + "ext": { + "cookie": "http://127.0.0.1:9978/file/TVBox/bili_cookie.txt", + "json": "https://cdn.jsdmirror.com/gh/ouhaibo1980/tvbox@main/Bil/小灯塔地理.json" + }, + "style": { + "type": "rect", + "ratio": 1.597 + } + }, + { + "key": "编程", + "name": "🧒编程┃哔哩", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 0, + "filterable": 0, + "ext": { + "cookie": "http://127.0.0.1:9978/file/TVBox/bili_cookie.txt", + "json": "https://cdn.jsdmirror.com/gh/ouhaibo1980/tvbox@main/Bil/儿童编程.json" + }, + "style": { + "type": "rect", + "ratio": 1.597 + } + }, + { + "key": "武术", + "name": "🧒武术┃哔哩", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 0, + "filterable": 0, + "ext": { + "cookie": "http://127.0.0.1:9978/file/TVBox/bili_cookie.txt", + "json": "https://cdn.jsdmirror.com/gh/ouhaibo1980/tvbox@main/Bil/儿童武术.json" + }, + "style": { + "type": "rect", + "ratio": 1.597 + } + }, + { + "key": "csp_BBB", + "name": "🅱️套餐┃哔哩", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 0, + "filterable": 0, + "ext": { + "cookie": "http://127.0.0.1:9978/file/TVBox/bili_cookie.txt", + "json": "https://cdn.jsdmirror.com/gh/ouhaibo1980/tvbox@main/Bil/哔哩套餐1.json" + }, + "style": { + "type": "rect", + "ratio": 1.597 + } + }, + { + "key": "csp_111BB", + "name": "🅱️套餐2┃哔哩", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 0, + "filterable": 0, + "ext": { + "cookie": "http://127.0.0.1:9978/file/TVBox/bili_cookie.txt", + "json": "https://cdn.jsdmirror.com/gh/ouhaibo1980/tvbox@main/Bil/哔哩套餐2.json" + }, + "style": { + "type": "rect", + "ratio": 1.597 + } + }, + { + "key": "歌曲", + "name": "🌈歌曲┃哔哩", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 0, + "filterable": 0, + "ext": { + "cookie": "http://127.0.0.1:9978/file/TVBox/bili_cookie.txt", + "json": "https://cdn.jsdmirror.com/gh/ouhaibo1980/tvbox@main/Bil/歌曲MV.json" + }, + "style": { + "type": "rect", + "ratio": 1.597 + } + }, + { + "key": "美食", + "name": "🌈美食┃哔哩", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 0, + "filterable": 0, + "ext": { + "cookie": "http://127.0.0.1:9978/file/TVBox/bili_cookie.txt", + "json": "https://cdn.jsdmirror.com/gh/ouhaibo1980/tvbox@main/Bil/美食.json" + }, + "style": { + "type": "rect", + "ratio": 1.597 + } + }, + { + "key": "球类", + "name": "⚽️球类┃合集", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 0, + "filterable": 0, + "ext": { + "cookie": "http://127.0.0.1:9978/file/TVBox/bili_cookie.txt", + "json": "https://cdn.jsdmirror.com/gh/ouhaibo1980/tvbox@main/Bil/球类合集.json" + }, + "style": { + "type": "rect", + "ratio": 1.597 + } + }, + { + "key": "️球星", + "name": "⚽️球星┃合集", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 0, + "filterable": 0, + "ext": { + "cookie": "http://127.0.0.1:9978/file/TVBox/bili_cookie.txt", + "json": "https://cdn.jsdmirror.com/gh/ouhaibo1980/tvbox@main/Bil/球星合集.json" + }, + "style": { + "type": "rect", + "ratio": 1.597 + } + }, + { + "key": "️演唱", + "name": "🅰️演唱┃哔哩", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 0, + "filterable": 0, + "ext": { + "cookie": "http://127.0.0.1:9978/file/TVBox/bili_cookie.txt", + "json": "https://cdn.jsdmirror.com/gh/ouhaibo1980/tvbox@main/Bil/演唱会.json" + }, + "style": { + "type": "rect", + "ratio": 1.597 + } + }, + { + "key": "️戏曲", + "name": "🅰️戏曲┃哔哩", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 0, + "filterable": 0, + "ext": { + "cookie": "http://127.0.0.1:9978/file/TVBox/bili_cookie.txt", + "json": "https://cdn.jsdmirror.com/gh/ouhaibo1980/tvbox@main/Bil/戏曲合集.json" + }, + "style": { + "type": "rect", + "ratio": 1.597 + } + }, + { + "key": "急救教学", + "name": "🚑急救|教学", + "type": 3, + "api": "csp_FirstAid", + "searchable": 0, + "quickSearch": 0, + "changeable": 0, + "style": { + "type": "rect", + "ratio": 3.8 + }, + "gridview": "0-0-4.1" + }, + { + "key": "影视影视", + "name": "🅰影视┃哔哩", + "type": 3, + "api": "csp_Bili", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": { + "cookie": "http://127.0.0.1:9978/file/TVBox/bili_cookie.txt", + "json": "https://cdn.jsdmirror.com/gh/ouhaibo1980/tvbox@main/Bil/合集.json" + }, + "style": { + "type": "rect", + "ratio": 1.597 + } + }, + { + "key": "呦呦DJ", + "name": "🌸呦呦|DJ", + "type": 3, + "api": "csp_Djuu", + "style": { + "type": "list" + } + }, + { + "key": "六月听书", + "name": "🌸六月|听书", + "type": 3, + "api": "csp_TingBook", + "style": { + "type": "list" + } + }, + { + "key": "戏曲多多", + "name": "🌸戏曲|多多", + "type": 3, + "api": "csp_AppLY", + "style": { + "type": "list" + } + }, + { + "key": "剧和短剧", + "name": "🌸聚合|短剧", + "type": 3, + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "changeable": 1, + "api": "./api/93e0decefe3a2ad8949c5fe389d6cab2.js" + }, + { + "key": "push_agent", + "name": "📢手机|推送", + "type": 3, + "api": "csp_Push", + "searchable": 0, + "filterable": 0, + "changeable": 0 + }, + { + "key": "应用商店", + "name": "🛒本地包更新", + "type": 3, + "api": "csp_Market", + "searchable": 0, + "changeable": 0, + "ext": "https://xn--anna-wn6lw489o.v.nxog.top/zm/sd?b=an装🅱na" + }, + { + "key": "豆瓣3", + "name": "📢接口软件永远免费", + "type": 3, + "api": "csp_Douban", + "searchable": 0 + }, + { + "key": "豆瓣4", + "name": "📢长期维护切勿贩卖", + "type": 3, + "api": "csp_Douban", + "searchable": 0 + } + ], + "parses": [ + { + "name": "-聚合-", + "type": 3, + "url": "Demo" + }, + { + "name": "失败手动换", + "type": "1", + "url": "https://by1.nxog.eu.org/jx.php?ou=6d&mz=0&url=", + "ext": { + "header": { + "user-agent": "Mozilla/5.0(Linux;Android13;V2049ABuild/TP1A.220624.014;wv)AppleWebKit/537.36(KHTML,likeGecko)Version/4.0Chrome/116.0.0.0MobileSafari/537.36" + } + } + }, + { + "name": "-关注-", + "type": 1, + "url": "https://by1.nxog.eu.org/jx.php?ou=6d&mz=1&url=" + }, + { + "name": "-装歌API-", + "type": 1, + "url": "https://by1.nxog.eu.org/jx.php?ou=6d&mz=2&url=" + }, + { + "name": "-公众号-", + "type": 1, + "url": "https://by1.nxog.eu.org/jx.php?ou=6d&mz=3&url=" + }, + { + "name": "装歌APP", + "type": 1, + "url": "https://mfjx.iwsyy.xyz/?url=" + }, + { + "name": "线路1", + "type": 0, + "url": "https://jx.xmflv.com/?url=", + "ext": { + "header": { + "user-agent": "Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/110.0.0.0Safari/537.36Edg/110.0.1587.57" + } + } + }, + { + "name": "线路2", + "type": 0, + "url": "http://www.ckplayer.vip/jiexi/?url=", + "ext": { + "header": { + "user-agent": "Mozilla/5.0(Linux;Android13;V2049ABuild/TP1A.220624.014;wv)AppleWebKit/537.36(KHTML,likeGecko)Version/4.0Chrome/116.0.0.0MobileSafari/537.36" + } + } + }, + { + "name": "线路3", + "type": 0, + "url": "https://jx.yparse.com/index.php?url=", + "ext": { + "header": { + "user-agent": "Mozilla/5.0(Linux;Android13;V2049ABuild/TP1A.220624.014;wv)AppleWebKit/537.36(KHTML,likeGecko)Version/4.0Chrome/116.0.0.0MobileSafari/537.36" + } + } + }, + { + "name": "线路4", + "type": 0, + "url": "https://jx.m3u8.tv/jiexi/?url=", + "ext": { + "header": { + "user-agent": "Mozilla/5.0(Linux;Android13;V2049ABuild/TP1A.220624.014;wv)AppleWebKit/537.36(KHTML,likeGecko)Version/4.0Chrome/116.0.0.0MobileSafari/537.36", + "referer": "https://jiejie.uk/" + } + } + }, + { + "name": "线路5", + "type": 0, + "url": "https://cdn.zyc888.top/?url=" + }, + { + "name": "线路6", + "type": 0, + "url": "https://bd.jx.cn/?url=" + }, + { + "name": "线路7", + "type": 0, + "url": "https://yparse.ik9.cc/index.php?url=" + } + ], + "rules": [ + { + "name": "农民", + "hosts": [ + "toutiaovod.com" + ], + "regex": [ + "video/tos/cn" + ] + }, + { + "name": "火山", + "hosts": [ + "huoshan.com" + ], + "regex": [ + "item_id=" + ] + }, + { + "name": "抖音", + "hosts": [ + "douyin.com" + ], + "regex": [ + "is_play_url=" + ] + }, + { + "name": "磁力广告", + "hosts": [ + "magnet" + ], + "regex": [ + "更多", + "请访问", + "example", + "社區", + "xuu", + "直播", + "更新", + "社区", + "有趣", + "有趣", + "英皇体育", + "全中文AV在线", + "澳门皇冠赌场", + "哥哥快来", + "美女荷官", + "裸聊", + "新片首发", + "UUE29" + ] + }, + { + "name": "饭团点击", + "hosts": [ + "dadagui", + "freeok", + "dadagui" + ], + "script": [ + "document.querySelector(\"#playleftiframe\").contentWindow.document.querySelector(\"#start\").click();" + ] + }, + { + "name": "毛驴点击", + "hosts": [ + "www.maolvys.com" + ], + "script": [ + "document.getElementsByClassName('swal-buttonswal-button--confirm')[0].click()" + ] + } + ], + "doh": [ + { + "name": "Google", + "url": "https://dns.google/dns-query", + "ips": [ + "8.8.4.4", + "8.8.8.8" + ] + }, + { + "name": "Cloudflare", + "url": "https://cloudflare-dns.com/dns-query", + "ips": [ + "1.1.1.1", + "1.0.0.1", + "2606:4700:4700::1111", + "2606:4700:4700::1001" + ] + }, + { + "name": "AdGuard", + "url": "https://dns.adguard.com/dns-query", + "ips": [ + "94.140.14.140", + "94.140.14.141" + ] + }, + { + "name": "DNSWatch", + "url": "https://resolver2.dns.watch/dns-query", + "ips": [ + "84.200.69.80", + "84.200.70.40" + ] + }, + { + "name": "Quad9", + "url": "https://dns.quad9.net/dns-quer", + "ips": [ + "9.9.9.9", + "149.112.112.112" + ] + } + ], + "flags": [ + "youku", + "优酷", + "优酷", + "优酷视频", + "qq", + "腾讯", + "腾讯", + "腾讯视频", + "iqiyi", + "qiyi", + "奇艺", + "爱奇艺", + "爱奇艺", + "m1905", + "xigua", + "letv", + "leshi", + "乐视", + "乐视", + "sohu", + "搜狐", + "搜狐", + "搜狐视频", + "tudou", + "pptv", + "mgtv", + "芒果", + "imgo", + "芒果TV", + "芒果TV", + "bilibili", + "哔哩", + "哔哩哔哩" + ], + "ijk": [ + { + "group": "软解码", + "options": [ + { + "category": 4, + "name": "opensles", + "value": "0" + }, + { + "category": 4, + "name": "overlay-format", + "value": "842225234" + }, + { + "category": 4, + "name": "framedrop", + "value": "1" + }, + { + "category": 4, + "name": "soundtouch", + "value": "1" + }, + { + "category": 4, + "name": "start-on-prepared", + "value": "1" + }, + { + "category": 1, + "name": "http-detect-range-support", + "value": "0" + }, + { + "category": 1, + "name": "fflags", + "value": "fastseek" + }, + { + "category": 2, + "name": "skip_loop_filter", + "value": "48" + }, + { + "category": 4, + "name": "reconnect", + "value": "1" + }, + { + "category": 4, + "name": "enable-accurate-seek", + "value": "0" + }, + { + "category": 4, + "name": "mediacodec", + "value": "0" + }, + { + "category": 4, + "name": "mediacodec-auto-rotate", + "value": "0" + }, + { + "category": 4, + "name": "mediacodec-handle-resolution-change", + "value": "0" + }, + { + "category": 4, + "name": "mediacodec-hevc", + "value": "0" + }, + { + "category": 1, + "name": "dns_cache_timeout", + "value": "600000000" + } + ] + }, + { + "group": "硬解码", + "options": [ + { + "category": 4, + "name": "opensles", + "value": "0" + }, + { + "category": 4, + "name": "overlay-format", + "value": "842225234" + }, + { + "category": 4, + "name": "framedrop", + "value": "1" + }, + { + "category": 4, + "name": "soundtouch", + "value": "1" + }, + { + "category": 4, + "name": "start-on-prepared", + "value": "1" + }, + { + "category": 1, + "name": "http-detect-range-support", + "value": "0" + }, + { + "category": 1, + "name": "fflags", + "value": "fastseek" + }, + { + "category": 2, + "name": "skip_loop_filter", + "value": "48" + }, + { + "category": 4, + "name": "reconnect", + "value": "1" + }, + { + "category": 4, + "name": "enable-accurate-seek", + "value": "0" + }, + { + "category": 4, + "name": "mediacodec", + "value": "1" + }, + { + "category": 4, + "name": "mediacodec-auto-rotate", + "value": "1" + }, + { + "category": 4, + "name": "mediacodec-handle-resolution-change", + "value": "1" + }, + { + "category": 4, + "name": "mediacodec-hevc", + "value": "1" + }, + { + "category": 1, + "name": "dns_cache_timeout", + "value": "600000000" + } + ] + } + ], + "ads": [ + "static-mozai.4gtv.tv" + ] +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/欧歌/api/072e7d2e5c69f201f0bf58ee5ec55b2b.py b/tvboxqq/tvboxqq/欧歌/api/072e7d2e5c69f201f0bf58ee5ec55b2b.py new file mode 100644 index 0000000..76a95d4 --- /dev/null +++ b/tvboxqq/tvboxqq/欧歌/api/072e7d2e5c69f201f0bf58ee5ec55b2b.py @@ -0,0 +1,187 @@ +# -*- coding: utf-8 -*- +# 本资源来源于互联网公开渠道,仅可用于个人学习及爬虫技术交流。 +# 严禁将其用于任何商业用途,下载后请于 24 小时内删除,搜索结果均来自源站,本人不承担任何责任。 +""" +{ + "key": "xxx", + "name": "xxx", + "type": 3, + "api": "./ApptoV5无加密.py", + "ext": "http://domain.com" +} +""" + +import re,sys,uuid +from base.spider import Spider +sys.path.append('..') + +class Spider(Spider): + host,config,local_uuid,parsing_config = '','','',[] + headers = { + 'User-Agent': "Dart/2.19 (dart:io)", + 'Accept-Encoding': "gzip", + 'appto-local-uuid': local_uuid + } + + def init(self, extend=''): + try: + host = extend.strip() + if not host.startswith('http'): + return {} + if not re.match(r'^https?://[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*(:\d+)?/?$', host): + host_=self.fetch(host).json() + self.host = host_['domain'] + else: + self.host = host + self.local_uuid = str(uuid.uuid4()) + response = self.fetch(f'{self.host}/apptov5/v1/config/get?p=android&__platform=android', headers=self.headers).json() + config = response['data'] + self.config = config + parsing_conf = config['get_parsing']['lists'] + parsing_config = {} + for i in parsing_conf: + if len(i['config']) != 0: + label = [] + for j in i['config']: + if j['type'] == 'json': + label.append(j['label']) + parsing_config.update({i['key']:label}) + self.parsing_config = parsing_config + return None + except Exception as e: + print(f'初始化异常:{e}') + return {} + + def detailContent(self, ids): + response = self.fetch(f"{self.host}/apptov5/v1/vod/getVod?id={ids[0]}",headers=self.headers).json() + data3 = response['data'] + videos = [] + vod_play_url = '' + vod_play_from = '' + for i in data3['vod_play_list']: + play_url = '' + for j in i['urls']: + play_url += f"{j['name']}${i['player_info']['from']}@{j['url']}#" + vod_play_from += i['player_info']['show'] + '$$$' + vod_play_url += play_url.rstrip('#') + '$$$' + vod_play_url = vod_play_url.rstrip('$$$') + vod_play_from = vod_play_from.rstrip('$$$') + videos.append({ + 'vod_id': data3.get('vod_id'), + 'vod_name': data3.get('vod_name'), + 'vod_content': data3.get('vod_content'), + 'vod_remarks': data3.get('vod_remarks'), + 'vod_director': data3.get('vod_director'), + 'vod_actor': data3.get('vod_actor'), + 'vod_year': data3.get('vod_year'), + 'vod_area': data3.get('vod_area'), + 'vod_play_from': vod_play_from, + 'vod_play_url': vod_play_url + }) + return {'list': videos} + + def searchContent(self, key, quick, pg='1'): + url = f"{self.host}/apptov5/v1/search/lists?wd={key}&page={pg}&type=&__platform=android" + response = self.fetch(url, headers=self.headers).json() + data = response['data']['data'] + for i in data: + if i.get('vod_pic').startswith('mac://'): + i['vod_pic'] = i['vod_pic'].replace('mac://', 'http://', 1) + return {'list': data, 'page': pg, 'total': response['data']['total']} + + def playerContent(self, flag, id, vipflags): + default_ua = 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1' + parsing_config = self.parsing_config + parts = id.split('@') + if len(parts) != 2: + return {'parse': 0, 'url': id, 'header': {'User-Agent': default_ua}} + playfrom, rawurl = parts + label_list = parsing_config.get(playfrom) + if not label_list: + return {'parse': 0, 'url': rawurl, 'header': {'User-Agent': default_ua}} + result = {'parse': 1, 'url': rawurl, 'header': {'User-Agent': default_ua}} + for label in label_list: + payload = { + 'play_url': rawurl, + 'label': label, + 'key': playfrom + } + try: + response = self.post( + f"{self.host}/apptov5/v1/parsing/proxy?__platform=android", + data=payload, + headers=self.headers + ).json() + except Exception as e: + print(f"请求异常: {e}") + continue + if not isinstance(response, dict): + continue + if response.get('code') == 422: + continue + data = response.get('data') + if not isinstance(data, dict): + continue + url = data.get('url') + if not url: + continue + ua = data.get('UA') or data.get('UserAgent') or default_ua + result = { + 'parse': 0, + 'url': url, + 'header': {'User-Agent': ua} + } + break + return result + + def homeContent(self, filter): + config = self.config + if not config: + return {} + home_cate = config['get_home_cate'] + classes = [] + for i in home_cate: + if isinstance(i.get('extend', []),dict): + classes.append({'type_id': i['cate'], 'type_name': i['title']}) + return {'class': classes} + + def homeVideoContent(self): + response = self.fetch(f'{self.host}/apptov5/v1/home/data?id=1&mold=1&__platform=android',headers=self.headers).json() + data = response['data'] + vod_list = [] + for i in data['sections']: + for j in i['items']: + vod_pic = j.get('vod_pic') + if vod_pic.startswith('mac://'): + vod_pic = vod_pic.replace('mac://', 'http://', 1) + vod_list.append({ + "vod_id": j.get('vod_id'), + "vod_name": j.get('vod_name'), + "vod_pic": vod_pic, + "vod_remarks": j.get('vod_remarks') + }) + return {'list': vod_list} + + def categoryContent(self, tid, pg, filter, extend): + response = self.fetch(f"{self.host}/apptov5/v1/vod/lists?area={extend.get('area','')}&lang={extend.get('lang','')}&year={extend.get('year','')}&order={extend.get('sort','time')}&type_id={tid}&type_name=&page={pg}&pageSize=21&__platform=android", headers=self.headers).json() + data = response['data'] + data2 = data['data'] + for i in data['data']: + if i.get('vod_pic','').startswith('mac://'): + i['vod_pic'] = i['vod_pic'].replace('mac://', 'http://', 1) + return {'list': data2, 'page': pg, 'total': data['total']} + + def getName(self): + pass + + def isVideoFormat(self, url): + pass + + def manualVideoCheck(self): + pass + + def destroy(self): + pass + + def localProxy(self, param): + pass \ No newline at end of file diff --git a/tvboxqq/tvboxqq/欧歌/api/93e0decefe3a2ad8949c5fe389d6cab2.js b/tvboxqq/tvboxqq/欧歌/api/93e0decefe3a2ad8949c5fe389d6cab2.js new file mode 100644 index 0000000..1cf0827 --- /dev/null +++ b/tvboxqq/tvboxqq/欧歌/api/93e0decefe3a2ad8949c5fe389d6cab2.js @@ -0,0 +1,475 @@ +import 'assets://js/lib/crypto-js.js'; +const UA = 'Mozilla/5.0 (Linux; Android 9; V2196A Build/PQ3A.190705.08211809; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/91.0.4472.114 Mobile Safari/537.36;webank/h5face;webank/1.0;netType:NETWORK_WIFI;appVersion:416;packageName:com.jp3.xg3'; +const aggConfig = { + keys: 'd3dGiJc651gSQ8w1', + charMap: { + '+': 'P', '/': 'X', '0': 'M', '1': 'U', '2': 'l', '3': 'E', '4': 'r', '5': 'Y', '6': 'W', '7': 'b', '8': 'd', '9': 'J', + 'A': '9', 'B': 's', 'C': 'a', 'D': 'I', 'E': '0', 'F': 'o', 'G': 'y', 'H': '_', 'I': 'H', 'J': 'G', 'K': 'i', 'L': 't', + 'M': 'g', 'N': 'N', 'O': 'A', 'P': '8', 'Q': 'F', 'R': 'k', 'S': '3', 'T': 'h', 'U': 'f', 'V': 'R', 'W': 'q', 'X': 'C', + 'Y': '4', 'Z': 'p', 'a': 'm', 'b': 'B', 'c': 'O', 'd': 'u', 'e': 'c', 'f': '6', 'g': 'K', 'h': 'x', 'i': '5', 'j': 'T', + 'k': '-', 'l': '2', 'm': 'z', 'n': 'S', 'o': 'Z', 'p': '1', 'q': 'V', 'r': 'v', 's': 'j', 't': 'Q', 'u': '7', 'v': 'D', + 'w': 'w', 'x': 'n', 'y': 'L', 'z': 'e' + }, + headers: { + default: { 'User-Agent': 'okhttp/3.12.11', 'content-type': 'application/json; charset=utf-8' } + }, + platform: { + 百度: { host: 'https://api.jkyai.top', url1: '/API/bddjss.php?name=fyclass&page=fypage', url2: '/API/bddjss.php?id=fyid', search: '/API/bddjss.php?name=**&page=fypage' }, + 锦鲤: { host: 'https://api.jinlidj.com', search: '/api/search', url2: '/api/detail' }, + 番茄: { host: 'https://reading.snssdk.com', url1: '/reading/bookapi/bookmall/cell/change/v', url2: 'https://fqgo.52dns.cc/catalog', search: 'https://fqgo.52dns.cc/search' }, + 星芽: { host: 'https://app.whjzjx.cn', url1: '/cloud/v2/theater/home_page?theater_class_id', url2: '/v2/theater_parent/detail', search: '/v3/search', loginUrl: 'https://u.shytkjgs.com/user/v1/account/login' }, + 西饭: { host: 'https://xifan-api-cn.youlishipin.com', url1: '/xifan/drama/portalPage', url2: '/xifan/drama/getDuanjuInfo', search: '/xifan/search/getSearchList' }, + 软鸭: { host: 'https://api.xingzhige.com', url1: '/API/playlet', search: '/API/playlet' }, + 七猫: { host: 'https://api-store.qmplaylet.com', url1: '/api/v1/playlet/index', url2: 'https://api-read.qmplaylet.com/player/api/v1/playlet/info', search: '/api/v1/playlet/search' }, + 围观: { host: 'https://api.drama.9ddm.com', url1: '/drama/home/shortVideoTags', url2: '/drama/home/shortVideoDetail', search: '/drama/home/search' }, + 甜圈: { host: 'https://mov.cenguigui.cn', url1: '/duanju/api.php?classname', url2: '/duanju/api.php?book_id', search: '/duanju/api.php?name' } + }, + platformList: [ + { name: '甜圈短剧', id: '甜圈' }, { name: '七猫短剧', id: '七猫' }, { name: '锦鲤短剧', id: '锦鲤' }, + { name: '番茄短剧', id: '番茄' }, { name: '星芽短剧', id: '星芽' }, { name: '西饭短剧', id: '西饭' }, + { name: '软鸭短剧', id: '软鸭' }, { name: '百度短剧', id: '百度' }, { name: '围观短剧', id: '围观' } + ], + search: { limit: 30, timeout: 6000 } +}; + +const ruleFilterDef = { + 百度: { area: '逆袭' }, + 锦鲤: { area: '' }, + 番茄: { area: 'videoseries_hot' }, + 星芽: { area: '1' }, + 西饭: { area: '' }, + 软鸭: { area: '战神' }, + 七猫: { area: '0' }, + 围观: { area: '' }, + 甜圈: { area: '推荐榜' } +}; + +const filterOptionsB64 = "eyLnlJzlnIgiOlt7ImtleSI6ImFyZWEiLCJuYW1lIjoi5Ymn5oOFIiwidmFsdWUiOlt7Im4iOiLlhajpg6giLCJ2IjoiIn0seyJuIjoi5o6o6I2Q5qacIiwidiI6IuaOqOiNkOamnCJ9LHsibiI6IueDreaSreamnCIsInYiOiLng63mkq3mppwifSx7Im4iOiLmlrDkuabmppwiLCJ2Ijoi5paw5Lmm5qacIn0seyJuIjoi5a6M57uT5qacIiwidiI6IuWujOe7k+amnCJ9LHsibiI6Iui/nui9veamnCIsInYiOiLov57ovb3mppwifSx7Im4iOiLlhY3otLnmppwiLCJ2Ijoi5YWN6LS55qacIn0seyJuIjoi5paw5YmnIiwidiI6IuaWsOWJpyJ9LHsibiI6IumAhuiirSIsInYiOiLpgIbooq0ifSx7Im4iOiLpnLjmgLsiLCJ2Ijoi6Zy45oC7In0seyJuIjoi546w5Luj6KiA5oOFIiwidiI6IueOsOS7o+iogOaDhSJ9LHsibiI6IuaJk+iEuOiZkOa4oyIsInYiOiLmiZPohLjomZDmuKMifSx7Im4iOiLosarpl6jmganmgKgiLCJ2Ijoi6LGq6Zeo5oGp5oCoIn0seyJuIjoi56We6LGqIiwidiI6IuelnuixqiJ9LHsibiI6IumprOeUsiIsInYiOiLpqaznlLIifSx7Im4iOiLpg73luILml6XluLgiLCJ2Ijoi6YO95biC5pel5bi4In0seyJuIjoi5oiY56We5b2S5p2lIiwidiI6IuaImOelnuW9kuadpSJ9LHsibiI6IuWwj+S6uueJqSIsInYiOiLlsI/kurrniakifSx7Im4iOiLlpbPmgKfmiJDplb8iLCJ2Ijoi5aWz5oCn5oiQ6ZW/In0seyJuIjoi5aSn5aWz5Li7IiwidiI6IuWkp+Wls+S4uyJ9LHsibiI6Iuepv+i2iiIsInYiOiLnqb/otooifSx7Im4iOiLpg73luILkv67ku5kiLCJ2Ijoi6YO95biC5L+u5LuZIn0seyJuIjoi5by66ICF5Zue5b2SIiwidiI6IuW8uuiAheWbnuW9kiJ9LHsibiI6IuS6suaDhSIsInYiOiLkurLmg4UifSx7Im4iOiLlj6Too4UiLCJ2Ijoi5Y+k6KOFIn0seyJuIjoi6YeN55SfIiwidiI6IumHjeeUnyJ9LHsibiI6IumXquWpmiIsInYiOiLpl6rlqZoifSx7Im4iOiLotZjlqb/pgIbooq0iLCJ2Ijoi6LWY5am/6YCG6KKtIn0seyJuIjoi6JmQ5oGLIiwidiI6IuiZkOaBiyJ9LHsibiI6Iui/veWmuyIsInYiOiLov73lprsifSx7Im4iOiLlpKnkuIvml6DmlYwiLCJ2Ijoi5aSp5LiL5peg5pWMIn0seyJuIjoi5a625bqt5Lym55CGIiwidiI6IuWutuW6reS8pueQhiJ9LHsibiI6IuiQjOWunSIsInYiOiLokIzlrp0ifSx7Im4iOiLlj6Tpo47mnYPosIsiLCJ2Ijoi5Y+k6aOO5p2D6LCLIn0seyJuIjoi6IGM5Zy6IiwidiI6IuiBjOWcuiJ9LHsibiI6IuWlh+W5u+iEkea0niIsInYiOiLlpYflubvohJHmtJ4ifSx7Im4iOiLlvILog70iLCJ2Ijoi5byC6IO9In0seyJuIjoi5peg5pWM56We5Yy7IiwidiI6IuaXoOaVjOelnuWMuyJ9LHsibiI6IuWPpOmjjuiogOaDhSIsInYiOiLlj6Tpo47oqIDmg4UifSx7Im4iOiLkvKDmib/op4nphpIiLCJ2Ijoi5Lyg5om/6KeJ6YaSIn0seyJuIjoi546w6KiA55Sc5a6gIiwidiI6IueOsOiogOeUnOWuoCJ9LHsibiI6IuWlh+W5u+eIseaDhSIsInYiOiLlpYflubvniLHmg4UifSx7Im4iOiLkuaHmnZEiLCJ2Ijoi5Lmh5p2RIn0seyJuIjoi5Y6G5Y+y5Y+k5LujIiwidiI6IuWOhuWPsuWPpOS7oyJ9LHsibiI6IueOi+WmgyIsInYiOiLnjovlpoMifSx7Im4iOiLpq5jmiYvkuIvlsbEiLCJ2Ijoi6auY5omL5LiL5bGxIn0seyJuIjoi5aix5LmQ5ZyIIiwidiI6IuWoseS5kOWciCJ9XX1dLCLplKbpsqQiOlt7ImtleSI6ImFyZWEiLCJuYW1lIjoi5YiG57G7IiwidmFsdWUiOlt7Im4iOiLlhajpg6giLCJ2IjoiIn0seyJuIjoi5oOF5oSf5YWz57O7IiwidiI6IjEifSx7Im4iOiLmiJDplb/pgIbooq0iLCJ2IjoiMiJ9LHsibiI6IuWlh+W5u+W8guiDvSIsInYiOiIzIn0seyJuIjoi5oiY5paX54Ot6KGAIiwidiI6IjQifSx7Im4iOiLkvKbnkIbnjrDlrp4iLCJ2IjoiNSJ9LHsibiI6IuaXtuepuuepv+i2iiIsInYiOiI2In0seyJuIjoi5p2D6LCL6Lqr5Lu9IiwidiI6IjcifV19XSwi55Wq6IyEIjpbeyJrZXkiOiJhcmVhIiwibmFtZSI6IuWIhuexuyIsInZhbHVlIjpbeyJuIjoi54Ot5YmnIiwidiI6InZpZGVvc2VyaWVzX2hvdCJ9LHsibiI6IuaWsOWJpyIsInYiOiJmaXJzdG9ubGluZXRpbWVfbmV3In0seyJuIjoi6YCG6KKtIiwidiI6ImNhdGVfNzM5In0seyJuIjoi5oC76KOBIiwidiI6ImNhdGVfMjkifSx7Im4iOiLnjrDoqIAiLCJ2IjoiY2F0ZV8zIn0seyJuIjoi5omT6IS4IiwidiI6ImNhdGVfMTA1MSJ9LHsibiI6IumprOeUsiIsInYiOiJjYXRlXzI2NiJ9LHsibiI6IuixqumXqCIsInYiOiJjYXRlXzEwNTMifSx7Im4iOiLpg73luIIiLCJ2IjoiY2F0ZV8yNjEifSx7Im4iOiLnpZ7osaoiLCJ2IjoiY2F0ZV8yMCJ9XX1dLCLmmJ/oir0iOlt7ImtleSI6ImFyZWEiLCJuYW1lIjoi5YiG57G7IiwidmFsdWUiOlt7Im4iOiLliaflnLoiLCJ2IjoiMSJ9LHsibiI6IueDreaSreWJpyIsInYiOiIyIn0seyJuIjoi5Lya5ZGY5LiT5LqrIiwidiI6IjgifSx7Im4iOiLmmJ/pgInlpb3liaciLCJ2IjoiNyJ9LHsibiI6IuaWsOWJpyIsInYiOiIzIn0seyJuIjoi6Ziz5YWJ5Ymn5Zy6IiwidiI6IjUifV19XSwi6KW/6aWtIjpbeyJrZXkiOiJhcmVhIiwibmFtZSI6IuWIhuexuyIsInZhbHVlIjpbeyJuIjoi5YWo6YOoIiwidiI6IiJ9LHsibiI6IumDveW4giIsInYiOiI2OEDpg73luIIifSx7Im4iOiLpnZLmmKUiLCJ2IjoiNjhA6Z2S5pilIn0seyJuIjoi546w5Luj6KiA5oOFIiwidiI6IjgxQOeOsOS7o+iogOaDhSJ9LHsibiI6IuixqumXqCIsInYiOiI4MUDosarpl6gifSx7Im4iOiLlpKflpbPkuLsiLCJ2IjoiODBA5aSn5aWz5Li7In0seyJuIjoi6YCG6KKtIiwidiI6Ijc5QOmAhuiirSJ9LHsibiI6IuaJk+iEuOiZkOa4oyIsInYiOiI3OUDmiZPohLjomZDmuKMifSx7Im4iOiLnqb/otooiLCJ2IjoiODFA56m/6LaKIn1dfV0sIui9r+m4rSI6W3sia2V5IjoiYXJlYSIsIm5hbWUiOiLliIbnsbsiLCJ2YWx1ZSI6W3sibiI6IuWFqOmDqCIsInYiOiIifSx7Im4iOiLmiJjnpZ4iLCJ2Ijoi5oiY56WeIn0seyJuIjoi6YCG6KKtIiwidiI6IumAhuiirSJ9LHsibiI6IumcuOaAuyIsInYiOiLpnLjmgLsifSx7Im4iOiLnpZ7osaoiLCJ2Ijoi56We6LGqIn0seyJuIjoi6YO95biCIiwidiI6IumDveW4giJ9LHsibiI6IueOhOW5uyIsInYiOiLnjoTlubsifSx7Im4iOiLoqIDmg4UiLCJ2Ijoi6KiA5oOFIn1dfV0sIuS4g+eMqyI6W3sia2V5IjoiYXJlYSIsIm5hbWUiOiLliIbnsbsiLCJ2YWx1ZSI6W3sibiI6IuWFqOmDqCIsInYiOiIifSx7Im4iOiLmjqjojZAiLCJ2IjoiMCJ9LHsibiI6IuaWsOWJpyIsInYiOiItMSJ9LHsibiI6IumDveW4guaDheaEnyIsInYiOiIxMjczIn0seyJuIjoi5Y+k6KOFIiwidiI6IjEyNzIifSx7Im4iOiLpg73luIIiLCJ2IjoiNTcxIn0seyJuIjoi546E5bm75LuZ5L6gIiwidiI6IjEyODYifSx7Im4iOiLlpYflubsiLCJ2IjoiNTcwIn0seyJuIjoi5Lmh5p2RIiwidiI6IjU5MCJ9LHsibiI6IuawkeWbvSIsInYiOiI1NzMifSx7Im4iOiLlubTku6MiLCJ2IjoiNTcyIn0seyJuIjoi6Z2S5pil5qCh5ZutIiwidiI6IjEyODgifSx7Im4iOiLmrabkvqAiLCJ2IjoiMzcxIn0seyJuIjoi56eR5bm7IiwidiI6IjU5NCJ9LHsibiI6Iuacq+S4liIsInYiOiI1NTYifSx7Im4iOiLkuozmrKHlhYMiLCJ2IjoiMTI4OSJ9LHsibiI6IumAhuiirSIsInYiOiI0MDAifSx7Im4iOiLnqb/otooiLCJ2IjoiMzczIn0seyJuIjoi5aSN5LuHIiwidiI6Ijc5NSJ9LHsibiI6Iuezu+e7nyIsInYiOiI3ODcifSx7Im4iOiLmnYPosIsiLCJ2IjoiNzkwIn0seyJuIjoi6YeN55SfIiwidiI6Ijc4NCJ9LHsibiI6IuWls+aAp+aIkOmVvyIsInYiOiIxMjk0In0seyJuIjoi5omT6IS46JmQ5rijIiwidiI6IjcxNiJ9LHsibiI6IumXquWpmiIsInYiOiI0ODAifSx7Im4iOiLlvLrogIXlm57lvZIiLCJ2IjoiNDAyIn0seyJuIjoi6L+95aa754Gr6JGs5Zy6IiwidiI6IjcxNSJ9LHsibiI6IuWutuW6rSIsInYiOiI2NzAifSx7Im4iOiLpqaznlLIiLCJ2IjoiNTU4In0seyJuIjoi6IGM5Zy6IiwidiI6IjcyNCJ9LHsibiI6IuWuq+aWlyIsInYiOiIzNDMifSx7Im4iOiLpq5jmiYvkuIvlsbEiLCJ2IjoiMTI5OSJ9LHsibiI6IuWoseS5kOaYjuaYnyIsInYiOiIxMjk1In0seyJuIjoi5byC6IO9IiwidiI6IjcyNyJ9LHsibiI6IuWuheaWlyIsInYiOiIzNDIifSx7Im4iOiLmm7/ouqsiLCJ2IjoiNzEyIn0seyJuIjoi56m/5LmmIiwidiI6IjMzOCJ9LHsibiI6IuWVhuaImCIsInYiOiI3MjMifSx7Im4iOiLnp43nlLDnu4/llYYiLCJ2IjoiMTI5MSJ9LHsibiI6IuS8pueQhiIsInYiOiIxMjkzIn0seyJuIjoi56S+5Lya6K+d6aKYIiwidiI6IjEyOTAifSx7Im4iOiLoh7Tlr4wiLCJ2IjoiNDkyIn0seyJuIjoi5YG35ZCs5b+D5aOwIiwidiI6IjEyNTgifSx7Im4iOiLohJHmtJ4iLCJ2IjoiNTI2In0seyJuIjoi6LGq6Zeo5oC76KOBIiwidiI6IjYyNCJ9LHsibiI6IuiQjOWunSIsInYiOiIzNTYifSx7Im4iOiLmiJjnpZ4iLCJ2IjoiNTI3In0seyJuIjoi55yf5YGH5Y2D6YeRIiwidiI6IjgxMiJ9LHsibiI6Iui1mOWpvyIsInYiOiIzNiJ9LHsibiI6IuelnuWMuyIsInYiOiIxMjY5In0seyJuIjoi56We6LGqIiwidiI6IjM3In0seyJuIjoi5bCP5Lq654mpIiwidiI6IjEyOTYifSx7Im4iOiLlm6LlrqAiLCJ2IjoiNTQ1In0seyJuIjoi5qyi5Zac5Yak5a62IiwidiI6IjQ2NCJ9LHsibiI6IuWls+W4nSIsInYiOiI2MTcifSx7Im4iOiLpk7blj5EiLCJ2IjoiMTI5NyJ9LHsibiI6IuWFteeOiyIsInYiOiIyOCJ9LHsibiI6IuiZkOaBiyIsInYiOiIxNiJ9LHsibiI6IueUnOWuoCIsInYiOiIyMSJ9LHsibiI6IuaCrOeWkSIsInYiOiIyNyJ9LHsibiI6IuaQnueskSIsInYiOiI3OTMifSx7Im4iOiLngbXlvIIiLCJ2IjoiMTI4NyJ9XX1dLCLnmb7luqYiOlt7ImtleSI6ImFyZWEiLCJuYW1lIjoi5YiG57G7IiwidmFsdWUiOlt7Im4iOiLpgIbooq0iLCJ2Ijoi6YCG6KKtIn0seyJuIjoi5oiY56WeIiwidiI6IuaImOelniJ9LHsibiI6IumDveW4giIsInYiOiLpg73luIIifSx7Im4iOiLnqb/otooiLCJ2Ijoi56m/6LaKIn0seyJuIjoi6YeN55SfIiwidiI6IumHjeeUnyJ9LHsibiI6IuWPpOijhSIsInYiOiLlj6Too4UifSx7Im4iOiLoqIDmg4UiLCJ2Ijoi6KiA5oOFIn0seyJuIjoi6JmQ5oGLIiwidiI6IuiZkOaBiyJ9LHsibiI6IueUnOWuoCIsInYiOiLnlJzlrqAifSx7Im4iOiLnpZ7ljLsiLCJ2Ijoi56We5Yy7In0seyJuIjoi6JCM5a6dIiwidiI6IuiQjOWunSJ9XX1dfQ=="; + +let xingya_headers = {}; +function base64Encode(text) { + return CryptoJS.enc.Base64.stringify(CryptoJS.enc.Utf8.parse(text)); +} +function base64Decode(text) { + return CryptoJS.enc.Utf8.stringify(CryptoJS.enc.Base64.parse(text)); +} +async function request(url, options = {}) { + const { method = 'GET', headers = {}, body, timeout = 5000 } = options; + const isPost = method.toUpperCase() === 'POST'; + let requestBody = body && typeof body === 'object' ? JSON.stringify(body) : body; + if (typeof req !== 'undefined') { + return (await req(url, { + method, + headers: { ...aggConfig.headers.default, ...headers }, + body: isPost ? requestBody : null, + timeout + })).content; + } +} +async function md5(str) { + return CryptoJS.MD5(str).toString(CryptoJS.enc.Hex).toLowerCase(); +} +function guid() { + return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, c => { + const r = Math.random() * 16 | 0; + return (c === 'x' ? r : (r & 0x3 | 0x8)).toString(16); + }); +} +function getFilterOptions() { + try { + return JSON.parse(base64Decode(filterOptionsB64)); + } catch (e) { + console.error('filterOptions 解码失败', e); + return {}; + } +} +async function getQmParamsAndSign() { + const sessionId = Date.now().toString(); + const data = { + "static_score": "0.8", + "uuid": "00000000-7fc7-08dc-0000-000000000000", + "device-id": "20250220125449b9b8cac84c2dd3d035c9052a2572f7dd0122edde3cc42a70", + "sourceuid": "aa7de295aad621a6", + "refresh-type": "0", + "model": "22021211RC", + "client-id": "aa7de295aad621a6", + "brand": "Redmi", + "sys-ver": "12", + "phone-level": "H", + "wlb-uid": "aa7de295aad621a6", + "session-id": sessionId + }; + const jsonStr = JSON.stringify(data); + const base64Str = base64Encode(unescape(encodeURIComponent(jsonStr))); + let qmParams = ''; + for (const c of base64Str) { + qmParams += aggConfig.charMap[c] || c; + } + const paramsStr = `AUTHORIZATION=app-version=10001application-id=com.duoduo.readchannel=unknownis-white=net-env=5platform=androidqm-params=${qmParams}reg=${aggConfig.keys}`; + const sign = await md5(paramsStr); + return { qmParams, sign }; +} +async function getHeaderX() { + const { qmParams, sign } = await getQmParamsAndSign(); + return { + 'net-env': '5', + 'reg': '', + 'channel': 'unknown', + 'is-white': '', + 'platform': 'android', + 'application-id': 'com.duoduo.read', + 'authorization': '', + 'app-version': '10001', + 'user-agent': 'webviewversion/0', + 'qm-params': qmParams, + 'sign': sign + }; +} +async function init(cfg) { + try { + const res = JSON.parse(await request(aggConfig.platform.星芽.loginUrl, { + method: 'POST', + headers: { 'User-Agent': 'okhttp/4.10.0', platform: '1', 'Content-Type': 'application/json' }, + body: JSON.stringify({ device: '24250683a3bdb3f118dff25ba4b1cba1a' }) + })); + const token = res?.data?.token || res?.token; + xingya_headers = token ? { ...aggConfig.headers.default, authorization: token } : aggConfig.headers.default; + } catch (e) { + xingya_headers = aggConfig.headers.default; + } + return true; +} +async function getXingyaHeaders() { + return xingya_headers.authorization ? xingya_headers : aggConfig.headers.default; +} +async function home(filter) { + const classes = aggConfig.platformList.map(p => ({ type_name: p.name, type_id: p.id })); + const filters = {}; + const filterOptions = getFilterOptions(); + aggConfig.platformList.forEach(item => { + const platformId = item.id; + if (filterOptions[platformId]) { + filters[platformId] = filterOptions[platformId]; + } + }); + return JSON.stringify({ class: classes, filters }); +} +async function homeVod() { return await recommend(); } +async function recommend() { + const randomPlat = aggConfig.platformList[Math.floor(Math.random() * aggConfig.platformList.length)]; + const platId = randomPlat.id; + const area = ruleFilterDef[platId]?.area || ''; + const videos = await category(platId, 1, false, { area }); + const list = JSON.parse(videos).list.slice(0, 10).map(v => ({ ...v, vod_content: `${randomPlat.name} | ${v.vod_remarks}` })); + return JSON.stringify({ list }); +} +async function category(tid, pg, filter, extend) { + const plat = aggConfig.platform[tid]; + const area = (extend?.area !== undefined ? extend.area : ruleFilterDef[tid]?.area) || ''; + const page = parseInt(pg) || 1; + const videos = []; + if (!plat) return JSON.stringify({ list: videos, page, pagecount: 1, limit: 0, total: 0 }); + try { + if (tid === '七猫') { + const sign = await md5(`operation=1playlet_privacy=1tag_id=${area}${aggConfig.keys}`); + const url = `${plat.host}${plat.url1}?tag_id=${area}&playlet_privacy=1&operation=1&sign=${sign}`; + const res = JSON.parse(await request(url, { headers: { ...await getHeaderX(), ...aggConfig.headers.default } })); + (res?.data?.list || []).forEach(i => videos.push({ + vod_id: `七猫@${encodeURIComponent(i.playlet_id)}`, + vod_name: i.title, + vod_pic: i.image_link, + vod_remarks: `${i.total_episode_num}集` + })); + } else if (tid === '百度') { + const url = `${plat.host}${plat.url1.replace('fyclass', area).replace('fypage', page)}`; + const res = JSON.parse(await request(url)); + if (res?.data) videos.push(...res.data.map(i => ({ + vod_id: `百度@${i.id}`, vod_name: i.title, vod_pic: i.cover, vod_remarks: `更新至${i.totalChapterNum}集` + }))); + } else if (tid === '锦鲤') { + const res = JSON.parse(await request(plat.host + plat.search, { method: 'POST', body: JSON.stringify({ page, limit: 24, type_id: area, keyword: '' }) })); + if (res?.data?.list) videos.push(...res.data.list.map(i => ({ + vod_id: `锦鲤@${i.vod_id}`, vod_name: i.vod_name, vod_pic: i.vod_pic, vod_remarks: `${i.vod_total}集` + }))); + } else if (tid === '番茄') { + const sessionId = new Date().toISOString().slice(0, 16).replace(/-|T:/g, ''); + let url = `${plat.host}${plat.url1}?change_type=0&selected_items=${area}&tab_type=8&cell_id=6952850996422770718&version_tag=video_feed_refactor&device_id=1423244030195267&aid=1967&app_name=novelapp&ssmix=a&session_id=${sessionId}`; + if (page > 1) url += `&offset=${(page - 1) * 12}`; + const res = JSON.parse(await request(url)); + const items = res?.data?.cell_view?.cell_data || (Array.isArray(res?.data) ? res.data : []); + items.forEach(i => { + const v = i.video_data?.[0] || i; + videos.push({ vod_id: `番茄@${v.series_id || v.book_id || ''}`, vod_name: v.title, vod_pic: v.cover || v.horiz_cover, vod_remarks: v.sub_title || '' }); + }); + } else if (tid === '星芽') { + const headers = await getXingyaHeaders(); + const url = `${plat.host}${plat.url1}=${area}&type=1&class2_ids=0&page_num=${page}&page_size=24`; + const res = JSON.parse(await request(url, { headers })); + if (res?.data?.list) videos.push(...res.data.list.map(i => ({ + vod_id: `星芽@${plat.host}${plat.url2}?theater_parent_id=${i.theater.id}`, + vod_name: i.theater.title, vod_pic: i.theater.cover_url, vod_remarks: `${i.theater.total}集` + }))); + } else if (tid === '西饭') { + const [typeId, typeName] = area.split('@'); + const ts = Math.floor(Date.now() / 1000); + const url = `${plat.host}${plat.url1}?reqType=aggregationPage&offset=${(page - 1) * 30}&categoryId=${typeId}&quickEngineVersion=-1&scene=&categoryNames=${encodeURIComponent(typeName || '')}&categoryVersion=1&density=1.5&pageID=page_theater&version=2001001&androidVersionCode=28&requestId=${ts}aa498144140ef297&appId=drama&teenMode=false&userBaseMode=false&session=eyJpbmZvIjp7InVpZCI6IiIsInJ0IjoiMTc0MDY1ODI5NCIsInVuIjoiT1BHXzFlZGQ5OTZhNjQ3ZTQ1MjU4Nzc1MTE2YzFkNzViN2QwIiwiZnQiOiIxNzQwNjU4Mjk0In19&feedssession=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1dHlwIjowLCJidWlkIjoxNjMzOTY4MTI2MTQ4NjQxNTM2LCJhdWQiOiJkcmFtYSIsInZlciI6MiwicmF0IjoxNzQwNjU4Mjk0LCJ1bm0iOiJPUEdfMWVkZDk5NmE2NDdlNDUyNTg3NzUxMTZjMWQ3NWI3ZDAiLCJpZCI6IjNiMzViZmYzYWE0OTgxNDQxNDBlZjI5N2JkMDY5NGNhIiwiZXhwIjoxNzQxMjYzMDk0LCJkYyI6Imd6cXkifQ.JS3QY6ER0P2cQSxAE_OGKSMIWNAMsYUZ3mJTnEpf-Rc`; + const res = JSON.parse(await request(url, { headers: aggConfig.headers.default })); + const elements = res?.result?.elements || []; + elements.forEach(s => (s.contents || []).forEach(v => { + const d = v.duanjuVo; + if (d) { + videos.push({ vod_id: `西饭@${d.duanjuId}#${d.source}`, vod_name: d.title, vod_pic: d.coverImageUrl, vod_remarks: `${d.total}集` }); + } + })); + } else if (tid === '软鸭') { + const url = `${plat.host}${plat.url1}/?keyword=${encodeURIComponent(area)}&page=${page}`; + const res = JSON.parse(await request(url)); + if (res?.data) videos.push(...res.data.map(i => { + const purl = `${i.title}@${i.cover}@${i.author}@${i.type}@${i.desc}@${i.book_id}`; + return { vod_id: `软鸭@${encodeURIComponent(purl)}`, vod_name: i.title, vod_pic: i.cover, vod_remarks: i.type }; + })); + } else if (tid === '围观') { + const res = JSON.parse(await request(`${plat.host}${plat.search}`, { + method: 'POST', body: JSON.stringify({ audience: "全部受众", page, pageSize: 30, searchWord: "", subject: "全部主题" }) + })); + if (res?.data) videos.push(...res.data.map(i => ({ + vod_id: `围观@${i.oneId}`, vod_name: i.title, vod_pic: i.vertPoster, vod_remarks: `集数:${i.episodeCount} 播放:${i.viewCount}` + }))); + } else if (tid === '甜圈') { + const url = `${plat.host}${plat.url1}=${encodeURIComponent(area)}&offset=${page}`; + const res = JSON.parse(await request(url)); + if (res?.data) { + videos.push(...res.data.map(i => ({ + vod_id: `甜圈@${i.book_id}`, + vod_name: i.title, + vod_pic: i.cover, + vod_remarks: `${i.sub_title || ''}` + }))); + } + } + } catch (e) { } + return JSON.stringify({ list: videos, page, pagecount: page + 1, limit: videos.length, total: videos.length * (page + 1) }); +} +async function detail(id) { + const [platId, ...rest] = id.split('@'); + const did = rest.join('@'); + const plat = aggConfig.platform[platId]; + if (!plat) return JSON.stringify({ list: [{ vod_id: id, vod_name: '平台不支持', vod_play_url: '' }] }); + let vod = { vod_id: id, vod_name: '未知', vod_pic: '', vod_remarks: '', vod_content: '', vod_play_from: '', vod_play_url: '' }; + try { + if (platId === '七猫') { + const didDecoded = decodeURIComponent(did); + const sign = await md5(`playlet_id=${didDecoded}${aggConfig.keys}`); + const url = `${plat.url2}?playlet_id=${didDecoded}&sign=${sign}`; + const res = JSON.parse(await request(url, { headers: { ...await getHeaderX(), ...aggConfig.headers.default } })); + if (res?.data) { + const d = res.data; + vod = { + ...vod, + vod_name: d.title, + vod_pic: d.image_link, + vod_remarks: `${d.total_episode_num}集`, + vod_content: d.intro, + vod_play_from: '七猫短剧', + vod_play_url: (d.play_list || []).map(i => `${i.sort}$${i.video_url}`).join('#') + }; + } + } else if (platId === '百度') { + const res = JSON.parse(await request(`${plat.host}${plat.url2.replace('fyid', did)}`)); + if (res) vod = { ...vod, vod_name: res.title, vod_pic: res.data?.[0]?.cover, vod_remarks: `更新至:${res.total || 0}集`, vod_play_from: '百度短剧', vod_play_url: (res.data || []).map(i => `${i.title}$${i.video_id}`).join('#') }; + } else if (platId === '锦鲤') { + const res = JSON.parse(await request(`${plat.host}${plat.url2}/${did}`)); + if (res?.data) { + const list = res.data; + const urls = list.player ? Object.keys(list.player).map(k => `${k}$${list.player[k]}`) : []; + vod = { ...vod, vod_name: list.vod_name, vod_pic: list.vod_pic, vod_remarks: list.vod_remarks, vod_play_from: '锦鲤短剧', vod_play_url: urls.join('#') }; + } + } else if (platId === '番茄') { + const res = JSON.parse(await request(`${plat.url2}?book_id=${did}`)); + if (res?.data) { + const b = res.data.book_info; + const u = (res.data.item_data_list || []).map(i => `${i.title}$${i.item_id}`).join('#'); + vod = { ...vod, vod_name: b.book_name, vod_pic: b.thumb_url, vod_remarks: `更新至${res.data.item_data_list?.length}集`, vod_play_from: '番茄短剧', vod_play_url: u }; + } + } else if (platId === '星芽') { + const headers = await getXingyaHeaders(); + const res = JSON.parse(await request(did, { headers })); + if (res?.data) { + const d = res.data; + const u = (d.theaters || []).map(i => `${i.num}$${i.son_video_url}`).join('#'); + vod = { ...vod, vod_name: d.title, vod_pic: d.cover_url, vod_remarks: d.desc_tags + '', vod_play_from: '星芽短剧', vod_play_url: u }; + } + } else if (platId === '西饭') { + const [duanjuId, source] = did.split('#'); + const url = `${plat.host}${plat.url2}?duanjuId=${duanjuId}&source=${source}`; + const res = JSON.parse(await request(url)); + if (res?.result) { + const d = res.result; + const u = (d.episodeList || []).map(e => `${e.index}$${e.playUrl}`).join('#'); + vod = { ...vod, vod_name: d.title, vod_pic: d.coverImageUrl, vod_remarks: d.updateStatus === 'over' ? `${d.total}集 已完结` : `更新${d.total}集`, vod_play_from: '西饭短剧', vod_play_url: u }; + } + } else if (platId === '甜圈') { + const url = `${plat.host}${plat.url2}=${did}`; + const res = JSON.parse(await request(url)); + if (res) { + const u = (res.data || []).map(item => `${item.title}$${item.video_id}`).join('#'); + vod = { ...vod, vod_name: res.book_name, vod_pic: res.book_pic, vod_remarks: `${res.duration || ''}`, vod_content: res.desc || '', vod_play_from: '甜圈短剧', vod_play_url: u }; + } + } else if (platId === '软鸭') { + const didDecoded = decodeURIComponent(did); + const [title, img, author, type, desc, book_id] = didDecoded.split('@'); + const detailUrl = `${plat.host}${plat.url1}/?book_id=${book_id || did.split('@')[5]}`; + const res = JSON.parse(await request(detailUrl, { headers: aggConfig.headers.default })); + const u = (res.data?.video_list || []).map(e => `${e.title}$${e.video_id}`).join('#'); + vod = { ...vod, vod_name: title, vod_pic: img, vod_remarks: type, vod_content: desc, vod_play_from: '软鸭短剧', vod_play_url: u }; + } else if (platId === '围观') { + const res = JSON.parse(await request(`${plat.host}${plat.url2}?oneId=${did}&page=1&pageSize=1000`)); + if (res?.data?.length) { + const d = res.data; + vod = { ...vod, vod_name: d[0].title, vod_pic: d[0].vertPoster, vod_remarks: `共${d.length}集`, vod_play_from: '围观短剧', vod_play_url: d.map(e => `${e.title}第${e.playOrder}集$${e.playSetting}`).join('#') }; + } + } + + } catch (e) { vod.vod_name = '加载失败'; } + return JSON.stringify({ list: [vod] }); +} +async function play(flag, id) { + if (/七猫/.test(flag)) { + return JSON.stringify({ parse: 0, url: id }); + } + if (/百度/.test(flag)) { + const res = JSON.parse(await request(`https://api.jkyai.top/API/bddjss.php?video_id=${id}`)); + if (res?.data?.qualities) { + const order = ["1080p", "sc", "sd"]; + const qMap = { "1080p": "蓝光", "sc": "超清", "sd": "标清" }; + const urls = []; + order.forEach(k => { + const q = res.data.qualities.find(x => x.quality === k); + if (q) urls.push(qMap[k], q.download_url); + }); + return JSON.stringify({ parse: 0, url: urls }); + } + } + if (/甜圈/.test(flag)) { + return JSON.stringify({ parse: 0, url: `https://mov.cenguigui.cn/duanju/api.php?video_id=${id}&type=mp4` }); + } + if (/锦鲤/.test(flag)) { + try { + const html = await request(`${id}&auto=1`, { headers: { referer: 'https://www.jinlidj.com/' } }); + const match = html.match(/let data\s*=\s*({[^;]*});/); + if (match) { + const data = JSON.parse(match[1]); + if (data.url) return JSON.stringify({ parse: 0, url: data.url }); + } + } catch {} + } + if (/番茄/.test(flag)) { + try { + const res = JSON.parse(await request(`https://fqgo.52dns.cc/video?item_ids=${id}`)); + if (res?.data?.[id]?.video_model) { + const model = JSON.parse(res.data[id].video_model); + const mainUrl = model?.video_list?.video_1?.main_url; + if (mainUrl) return JSON.stringify({ parse: 0, url: base64Decode(mainUrl) }); + } + } catch {} + } + if (/软鸭/.test(flag)) { + const response = await request(`${aggConfig.platform.软鸭.host}/API/playlet/?video_id=${id}&quality=1080p`, { headers: aggConfig.headers.default }); + const res = JSON.parse(response); + return JSON.stringify({ parse: 0, url: res.data?.video?.url || '' }); + } + if (/围观/.test(flag)) { + try { + const ps = typeof id === 'string' ? JSON.parse(id) : id; + const urls = []; + if (ps?.super) urls.push("超清", ps.super); + if (ps?.high) urls.push("高清", ps.high); + if (ps?.normal) urls.push("流畅", ps.normal); + return JSON.stringify({ parse: 0, url: urls }); + } catch { return JSON.stringify({ parse: 0, url: id }); } + } + return JSON.stringify({ parse: 0, url: id }); +} +async function search(wd, quick, pg) { + const page = parseInt(pg) || 1; + const videos = []; + try { + const sign = await md5(`operation=2playlet_privacy=1search_word=${wd}${aggConfig.keys}`); + const url = `${aggConfig.platform.七猫.host}${aggConfig.platform.七猫.search}?search_word=${encodeURIComponent(wd)}&playlet_privacy=1&operation=2&sign=${sign}`; + const res = JSON.parse(await request(url, { + headers: { ...await getHeaderX(), ...aggConfig.headers.default }, + timeout: aggConfig.search.timeout + })); + (res?.data?.list || []).forEach(i => { + if (i.title.toLowerCase().includes(wd.toLowerCase())) { + videos.push({ + vod_id: `七猫@${encodeURIComponent(i.playlet_id)}`, + vod_name: i.title, + vod_pic: i.image_link, + vod_remarks: `七猫短剧|${i.total_episode_num}集` + }); + } + }); + } catch {} + const platforms = ['百度', '锦鲤', '番茄', '星芽', '西饭', '软鸭', '围观', '甜圈']; + for (const tid of platforms) { + const plat = aggConfig.platform[tid]; + try { + let res, data; + if (tid === '百度') { + res = await request(`${plat.host}${plat.search.replace('**', encodeURIComponent(wd)).replace('fypage', page)}`); + data = (JSON.parse(res)?.data || []).map(i => ({ vod_id: `百度@${i.id}`, vod_name: i.title, vod_pic: i.cover, vod_remarks: `百度短剧|更新至${i.totalChapterNum}集` })); + } else if (tid === '锦鲤') { + res = await request(plat.host + plat.search, { method: 'POST', body: JSON.stringify({ page, limit: 30, keyword: wd }) }); + data = (JSON.parse(res)?.data?.list || []).map(i => ({ vod_id: `锦鲤@${i.vod_id}`, vod_name: i.vod_name, vod_pic: i.vod_pic, vod_remarks: `锦鲤短剧|${i.vod_total}集` })); + } else if (tid === '番茄') { + res = await request(`${plat.search}?keyword=${encodeURIComponent(wd)}&page=${page}`); + data = (JSON.parse(res)?.data || []).map(i => ({ vod_id: `番茄@${i.series_id}`, vod_name: i.title, vod_pic: i.cover, vod_remarks: `番茄短剧|${i.sub_title}` })); + } else if (tid === '星芽') { + const headers = await getXingyaHeaders(); + res = await request(plat.host + plat.search, { method: 'POST', headers, body: JSON.stringify({ text: wd }) }); + data = (JSON.parse(res)?.data?.theater?.search_data || []).map(i => ({ vod_id: `星芽@${plat.host}${plat.url2}?theater_parent_id=${i.id}`, vod_name: i.title, vod_pic: i.cover_url, vod_remarks: `星芽短剧|${i.total}集 播放:${i.play_amount_str}` })); + } else if (tid === '西饭') { + const ts = Math.floor(Date.now() / 1000); + const url = `${plat.host}${plat.search}?reqType=search&offset=${(page - 1) * 30}&keyword=${encodeURIComponent(wd)}&quickEngineVersion=-1&scene=`; + res = await request(url); + data = (JSON.parse(res)?.result?.elements || []).map(vod => { + const dj = vod.duanjuVo || {}; + return { vod_id: `西饭@${dj.duanjuId}#${dj.source}`, vod_name: dj.title, vod_pic: dj.coverImageUrl, vod_remarks: `西饭短剧|${dj.total}集` }; + }); + } else if (tid === '软鸭') { + res = await request(`${plat.host}${plat.search}/?keyword=${encodeURIComponent(wd)}&page=${page}`); + data = (JSON.parse(res)?.data || []).map(i => { + const purl = `${i.title}@${i.cover}@${i.author}@${i.type}@${i.desc}@${i.book_id}`; + return { vod_id: `软鸭@${encodeURIComponent(purl)}`, vod_name: i.title, vod_pic: i.cover, vod_remarks: `软鸭短剧|${i.type}` }; + }); + } else if (tid === '围观') { + res = await request(`${plat.host}${plat.search}`, { + method: 'POST', + body: JSON.stringify({ audience: "", page, pageSize: 30, searchWord: wd, subject: "" }) + }); + data = (JSON.parse(res)?.data || []).map(i => ({ vod_id: `围观@${i.oneId}`, vod_name: i.title, vod_pic: i.vertPoster, vod_remarks: `围观短剧|集数:${i.episodeCount} 播放:${i.viewCount}` })); + } else if (tid === '甜圈') { + const url = `${plat.host}${plat.search}=${encodeURIComponent(wd)}&offset=${page}`; + res = await request(url); + data = (JSON.parse(res)?.data || []).map(i => ({ + vod_id: `甜圈@${i.book_id}`, + vod_name: i.title, + vod_pic: i.cover, + vod_remarks: `甜圈短剧|${i.sub_title || '无简介'}` + })); + } + if (data) videos.push(...data.filter(v => v.vod_name?.toLowerCase().includes(wd.toLowerCase()))); + } catch {} + } + return JSON.stringify({ + list: videos, + page, + pagecount: page + 1, + limit: videos.length, + total: videos.length * (page + 1) + }); +} +export function __jsEvalReturn() { + return { init, home, homeVod, category, detail, play, proxy: null, search }; +} diff --git a/tvboxqq/tvboxqq/欧歌/api/a74c1a8a2e796cbe13911c932ba3be9d.js b/tvboxqq/tvboxqq/欧歌/api/a74c1a8a2e796cbe13911c932ba3be9d.js new file mode 100644 index 0000000..5068314 --- /dev/null +++ b/tvboxqq/tvboxqq/欧歌/api/a74c1a8a2e796cbe13911c932ba3be9d.js @@ -0,0 +1,107 @@ +let host = 'https://www.ylys.tv'; +let headers = { + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", + "Referer": host + "/" +}; + +async function init(cfg) {} + +/** + * 通用解析:不做过滤,不做干扰 + */ +function getList(html) { + let videos = []; + let items = pdfa(html, ".module-item,.module-card-item"); + items.forEach(it => { + let idMatch = it.match(/detail\/(\d+)/); + let nameMatch = it.match(/title="(.*?)"/) || it.match(/(.*?)<\/strong>/); + let picMatch = it.match(/data-original="(.*?)"/) || it.match(/src="(.*?)"/); + + if (idMatch && nameMatch) { + let pic = picMatch ? (picMatch[1] || picMatch[2]) : ""; + videos.push({ + "vod_id": idMatch[1], + "vod_name": nameMatch[1].replace(/<.*?>/g, ""), + "vod_pic": pic.startsWith('/') ? host + pic : pic, + "vod_remarks": (it.match(/module-item-note">(.*?)<\/div>/) || ["",""])[1].replace(/<.*?>/g, "") + }); + } + }); + return videos; +} + +async function home(filter) { + return JSON.stringify({ + "class": [ + {"type_id":"1","type_name":"电影"}, + {"type_id":"2","type_name":"剧集"}, + {"type_id":"3","type_name":"综艺"}, + {"type_id":"4","type_name":"动漫"} + ], + "filters": { + "1":[{"key":"class","name":"类型","value":[{"n":"全部","v":""},{"n":"动作片","v":"6"},{"n":"喜剧片","v":"7"},{"n":"爱情片","v":"8"},{"n":"科幻片","v":"9"},{"n":"恐怖片","v":"11"}]}], + "2":[{"key":"class","name":"类型","value":[{"n":"全部","v":""},{"n":"国产剧","v":"13"},{"n":"港台剧","v":"14"},{"n":"日剧","v":"15"},{"n":"韩剧","v":"33"},{"n":"欧美剧","v":"16"}]}], + "3":[{"key":"class","name":"类型","value":[{"n":"全部","v":""},{"n":"内地综艺","v":"27"},{"n":"港台综艺","v":"28"},{"n":"日本综艺","v":"29"},{"n":"韩国综艺","v":"36"}]}], + "4":[{"key":"class","name":"类型","value":[{"n":"全部","v":""},{"n":"国产动漫","v":"31"},{"n":"日本动漫","v":"32"},{"n":"欧美动漫","v":"42"},{"n":"其他动漫","v":"43"}]}] + } + }); +} + +async function homeVod() { + let resp = await req(host, { headers: headers }); + return JSON.stringify({ list: getList(resp.content) }); +} + +async function category(tid, pg, filter, extend) { + let p = pg || 1; + let targetId = (extend && extend.class) ? extend.class : tid; + let url = host + "/vodtype/" + targetId + "/" + (parseInt(p) > 1 ? "page/" + p + "/" : ""); + let resp = await req(url, { headers: headers }); + return JSON.stringify({ + "list": getList(resp.content), + "page": parseInt(p) + }); +} + +async function detail(id) { + let url = host + '/voddetail/' + id + '/'; + let resp = await req(url, { headers: headers }); + let html = resp.content; + + let playFrom = pdfa(html, ".module-tab-item").map(it => (it.match(/(.*?)<\/span>/) || ["","线路"])[1]).join('$$$'); + let playUrl = pdfa(html, ".module-play-list-content").map(list => + pdfa(list, "a").map(a => { + let n = (a.match(/(.*?)<\/span>/) || ["","播放"])[1]; + let v = a.match(/href="\/play\/(.*?)\/"/); + return n + '$' + (v ? v[1] : ""); + }).join('#') + ).join('$$$'); + + return JSON.stringify({ + list: [{ + 'vod_id': id, + 'vod_name': (html.match(/

    (.*?)<\/h1>/) || ["", ""])[1], + 'vod_pic': (html.match(/data-original="(.*?)"/) || ["", ""])[1], + 'vod_content': (html.match(/introduction-content">.*?

    (.*?)<\/p>/s) || ["", ""])[1].replace(/<.*?>/g, ""), + 'vod_play_from': playFrom, + 'vod_play_url': playUrl + }] + }); +} + +async function search(wd, quick, pg) { + let p = pg || 1; + let url = host + "/vodsearch/" + encodeURIComponent(wd) + "-------------/" + (parseInt(p) > 1 ? "page/" + p + "/" : ""); + let resp = await req(url, { headers: headers }); + return JSON.stringify({ list: getList(resp.content) }); +} + +async function play(flag, id, flags) { + let url = host + "/play/" + id + "/"; + let resp = await req(url, { headers: headers }); + let m3u8 = resp.content.match(/"url":"([^"]+\.m3u8)"/); + if (m3u8) return JSON.stringify({ parse: 0, url: m3u8[1].replace(/\\/g, ""), header: headers }); + return JSON.stringify({ parse: 1, url: url, header: headers }); +} + +export default { init, home, homeVod, category, detail, search, play }; diff --git a/tvboxqq/tvboxqq/欧歌/api/af2c84aea46fa071e9d9bfa04a9f86ac.js b/tvboxqq/tvboxqq/欧歌/api/af2c84aea46fa071e9d9bfa04a9f86ac.js new file mode 100644 index 0000000..74784cc --- /dev/null +++ b/tvboxqq/tvboxqq/欧歌/api/af2c84aea46fa071e9d9bfa04a9f86ac.js @@ -0,0 +1,169 @@ +import 'assets://js/lib/crypto-js.js'; +const { HOSTS, KEY, USER_AGENT } = { + HOSTS: ["https://hnytxj.com","https://www.hkybqufgh.com","https://www.sizhengxt.com","https://www.sdzhgt.com","https://www.jiabaide.cn","https://m.9zhoukj.com","https://m.cqzuoer.com","https://www.hellosht52bwb.com"], + KEY: "cb808529bae6b6be45ecfab29a4889bc", + USER_AGENT: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.6478.61 Safari/537.36" +}; +let currentHost = ''; +const guid = () => 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, c => { + const r = Math.random() * 16 | 0; + return (c === 'x' ? r : (r & 0x3 | 0x8)).toString(16); +}); +const md5 = s => CryptoJS.MD5(s).toString(); +const sha1 = s => CryptoJS.SHA1(s).toString(); +const toQueryString = obj => Object.keys(obj).filter(k => obj[k] != null && obj[k] !== '').map(k => `${k}=${obj[k]}`).join('&'); +const getHeaders = (params = {}) => { + const t = Date.now().toString(); + const sign = sha1(md5(toQueryString({ ...params, key: KEY, t }))); + return { + 'User-Agent': USER_AGENT, + 'Accept': 'application/json, text/plain, */*', + 'sign': sign, + 't': t, + 'deviceid': guid() + }; +}; + +const normalizeFieldName = k => { + const l = k.toLowerCase(); + if (l.startsWith('vod') && l.length > 3) return 'vod_' + l.slice(3); + if (l.startsWith('type') && l.length > 4) return 'type_' + l.slice(4); + return l; +}; + +const normalizeVodList = list => (list || []).map(item => { + const res = {}; + for (const [k, v] of Object.entries(item || {})) if (v != null) res[normalizeFieldName(k)] = v; + return res; +}); + +async function reqSafe(url, options = {}) { + try { + const res = await req(url, options); + return JSON.parse(res.content); + } catch (e) { + return {}; + } +} + +async function init() { + currentHost = HOSTS[Math.floor(Math.random() * HOSTS.length)]; + return true; +} + +async function home() { + const [cRes, fRes] = await Promise.all([ + reqSafe(`${currentHost}/api/mw-movie/anonymous/get/filer/type`, { headers: getHeaders() }), + reqSafe(`${currentHost}/api/mw-movie/anonymous/v1/get/filer/list`, { headers: getHeaders() }) + ]); + + const classes = (cRes.data || []).map(k => ({ type_name: k.typeName, type_id: k.typeId.toString() })); + const fData = fRes.data || {}; + const baseSort = [{ n: "最近更新", v: "2" }, { n: "人气高低", v: "3" }, { n: "评分高低", v: "4" }]; + const filters = {}; + for (const [tid, d] of Object.entries(fData)) { + const sortValues = tid === '1' ? baseSort.slice(1) : baseSort; + const arr = [ + { key: "type", name: "类型", value: (d.typeList || []).map(i => ({ n: i.itemText, v: i.itemValue })) }, + { key: "area", name: "地区", value: (d.districtList || []).map(i => ({ n: i.itemText, v: i.itemText })) }, + { key: "year", name: "年份", value: (d.yearList || []).map(i => ({ n: i.itemText, v: i.itemText })) }, + { key: "lang", name: "语言", value: (d.languageList || []).map(i => ({ n: i.itemText, v: i.itemText })) }, + { key: "sort", name: "排序", value: sortValues } + ]; + if (d.plotList?.length) arr.splice(1, 0, { key: "v_class", name: "剧情", value: d.plotList.map(i => ({ n: i.itemText, v: i.itemText })) }); + filters[tid] = arr; + } + return JSON.stringify({ class: classes, filters }); +} + +async function homeVod() { + const [r1, r2] = await Promise.all([ + reqSafe(`${currentHost}/api/mw-movie/anonymous/v1/home/all/list`, { headers: getHeaders() }), + reqSafe(`${currentHost}/api/mw-movie/anonymous/home/hotSearch`, { headers: getHeaders() }) + ]); + let list = []; + const data1 = r1.data || {}; + for (const k in data1) if (data1[k]?.list) list.push(...data1[k].list); + if (Array.isArray(r2.data)) list.push(...r2.data); + return JSON.stringify({ list: normalizeVodList(list) }); +} + +async function category(tid, pg, _, ext = {}) { + const params = { + area: ext.area || '', + filterStatus: "1", + lang: ext.lang || '', + pageNum: pg, + pageSize: "30", + sort: ext.sort || '1', + sortBy: "1", + type: ext.type || '', + type1: tid, + v_class: ext.v_class || '', + year: ext.year || '' + }; + + const url = `${currentHost}/api/mw-movie/anonymous/video/list?${toQueryString(params)}`; + const res = await reqSafe(url, { headers: getHeaders(params) }); + const vodList = normalizeVodList(res.data?.list || []); + return JSON.stringify({ + list: vodList, + page: +pg, + pagecount: 9999, + limit: 90, + total: 999999 + }); +} + +async function detail(id) { + const res = await reqSafe(`${currentHost}/api/mw-movie/anonymous/video/detail?id=${id}`, { + headers: getHeaders({ id }) + }); + const vod = normalizeVodList([res.data])[0]; + if (!vod) { + return JSON.stringify({ list: [{ vod_id: id, vod_name: '加载失败', vod_play_url: '' }] }); + } + + vod.vod_play_from = '金牌影院'; + if (vod.episodelist?.length) { + const name = vod.episodelist.length > 1 ? vod.episodelist[0].name : vod.vod_name; + vod.vod_play_url = vod.episodelist.map(ep => `${name}$${id}@@${ep.nid}`).join('#'); + delete vod.episodelist; + } + return JSON.stringify({ list: [vod] }); +} + +async function play(_, id) { + const [vid, nid] = id.split('@@'); + const url = `${currentHost}/api/mw-movie/anonymous/v2/video/episode/url?clientType=1&id=${vid}&nid=${nid}`; + const res = await reqSafe(url, { headers: getHeaders({ clientType: '1', id: vid, nid: nid }) }); + const urls = []; + for (const item of res.data?.list || []) { + urls.push(item.resolutionName, item.url); + } + return JSON.stringify({ + parse: 0, + url: urls, + header: { + 'User-Agent': USER_AGENT, + 'sec-ch-ua-platform': '"Windows"', + 'DNT': '1', + 'sec-ch-ua': '"Not/A)Brand";v="8", "Chromium";v="126", "Google Chrome";v="126"', + 'sec-ch-ua-mobile': '?0', + 'Origin': currentHost, + 'Referer': currentHost + '/' + } + }); +} + +async function search(wd, _, pg = "1") { + const params = { keyword: wd, pageNum: pg, pageSize: "8", sourceCode: "1" }; + const url = `${currentHost}/api/mw-movie/anonymous/video/searchByWord?${toQueryString(params)}`; + const res = await reqSafe(url, { headers: getHeaders(params) }); + const list = normalizeVodList(res.data?.result?.list || []); + return JSON.stringify({ list, page: +pg }); +} + +export function __jsEvalReturn() { + return { init, home, homeVod, category, detail, play, proxy: null, search }; +} diff --git a/tvboxqq/tvboxqq/欧歌/api/af3ba8d14612c7a03179eece34884696.js b/tvboxqq/tvboxqq/欧歌/api/af3ba8d14612c7a03179eece34884696.js new file mode 100644 index 0000000..4718883 --- /dev/null +++ b/tvboxqq/tvboxqq/欧歌/api/af3ba8d14612c7a03179eece34884696.js @@ -0,0 +1,115 @@ +let host = 'https://www.guipian360.com'; +let headers = { + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36", + "Referer": host + "/" +}; + +const extractVideos = html => { + if (!html) return []; + return pdfa(html, '.m-movies .u-movie').map(it => { + const url = it.match(/href="([^"]+)"/)?.[1] || ""; + const id = url.match(/\/(\d+)\.html/)?.[1]; + let name = it.match(/title="([^"]+)"/)?.[1] || ""; + name = name.split('/')[0].trim().replace(/.*《([^》]+)》.*/, "$1"); + const pic = it.match(/src="([^"]+)"/)?.[1] || ""; + const remarks = it.match(/class="zhuangtai"[^>]*>([^<]+)/)?.[1] || ""; + return id && name ? { + vod_id: id, + vod_name: name, + vod_pic: pic.startsWith('/') ? host + pic : pic, + vod_remarks: remarks.trim() + } : null; + }).filter(Boolean); +}; + +const home = async () => { + const list = extractVideos((await req(host, { headers }))?.content || ''); + return JSON.stringify({ + class: [ + {type_id:"1",type_name:"鬼片大全"},{type_id:"6",type_name:"大陆鬼片"},{type_id:"9",type_name:"港台鬼片"}, + {type_id:"8",type_name:"林正英鬼片"},{type_id:"7",type_name:"日韩鬼片"},{type_id:"11",type_name:"欧美鬼片"}, + {type_id:"10",type_name:"泰国鬼片"},{type_id:"3",type_name:"恐怖片"},{type_id:"2",type_name:"电视剧"}, + {type_id:"12",type_name:"国产剧"},{type_id:"20",type_name:"港台剧"},{type_id:"13",type_name:"美剧"}, + {type_id:"14",type_name:"韩剧"},{type_id:"15",type_name:"日剧"},{type_id:"16",type_name:"泰剧"}, + {type_id:"22",type_name:"其它剧"},{type_id:"4",type_name:"动漫"} + ], + filters: {}, + list + }); +}; + +const homeVod = async () => { + const list = extractVideos((await req(host, { headers }))?.content || ''); + return JSON.stringify({ list }); +}; + +const category = async (tid, pg, _, extend) => { + const url = pg > 1 ? `${host}/list/${tid}_${pg}.html` : `${host}/list/${tid}.html`; + const html = (await req(url, { headers }))?.content || ''; + const list = extractVideos(html); + const m = html.match(/href="\/list\/\d+_(\d+)\.html"[^>]*>\.\.(\d+)<\/a>/); + return JSON.stringify({ list, page: +pg, pagecount: m ? +m[1] : 999, limit: 20 }); +}; + +const detail = async id => { + const html = (await req(`${host}/nv/${id}.html`, { headers }))?.content || ''; + if (!html) return JSON.stringify({ list: [] }); + + const tabs = pdfa(html, '#tv_tab li a').map(a => (a.match(/>([^<]+)/)?.[1] || "线路").trim()); + const urls = pdfa(html, '#tv_tab .list').map(list => + pdfa(list, 'ul.abc li a').map(a => { + const name = (a.match(/>([^<]+)/)?.[1] || "播放").trim(); + const vid = (a.match(/href="\/play\/(.*?)\.html"/)?.[1] || ""); + return `${name}$${vid}`; + }).join('#') + ); + + if (!tabs.length || !urls.length) return JSON.stringify({ list: [] }); + + let vod_name = (html.match(/

    (.*?)<\/h1>/)?.[1] || "").split('/')[0].trim().replace(/.*《([^》]+)】?.*/, "$1"); + const m = s => (html.match(s) || ["", ""])[1].trim(); + const vod_pic = m(/]+src="([^"]+)"[^>]*class="lazy"/); + const vod_content = (html.match(/

    ]*>([\s\S]*?)<\/p>/)?.[1] || "").replace(/<.*?>/g, "").trim() || "暂无简介"; + + return JSON.stringify({ + list: [{ + vod_id: id, + vod_name, + vod_pic: vod_pic.startsWith('/') ? host + vod_pic : vod_pic, + vod_content, + vod_director: m(/

    ", + "影片地区": "地区:&&", + "影片类型": "类型:&&", + "状态": "时间:&&", + "导演": "导演:&&", + "主演": "主演:&&", + "简介": "友情提醒:请不要相信视频中的广告,剧情介绍👉+
    &&
    ", + "线路二次截取": "", + "线路数组": "\\#playlist\"&&[替换:=\">>=\"%E2%9C%A8%E4%B9%90%E5%93%A5%E6%8E%A8%E8%8D%90%E2%9C%A8]", + "线路标题": "urlDecode(title=\"&&\")", + "播放二次截取": "", + "播放数组": "
      ", + "播放列表": "", + "播放标题": "title=\"&&\"", + "播放链接": "href=\"&&\"", + "解析": "", + "直接播放": "0", + "播放请求头": "", + "嗅探词": ".mp4#.m3u8", + "过滤词": "", + "跳转播放链接": "var now=\"&&\"", + "跳转解析": "", + "搜索请求头": "User-Agent$MOBILE_UA", + "搜索url": "https://t.xy-zg.com/search.php?page={pg}&searchword={wd}&searchtype=", + "搜索模式": "1", + "搜索后缀": "", + "搜索二次截取": "", + "搜索数组": "videopic\"&&

    ", + "搜索标题": "&&&&<", + "搜索链接": "href=\"&&\"", + "筛选": "1", + "类型": "", + "剧情": "", + "剧情值": "*", + "地区": "", + "地区值": "*", + "年份": "", + "年份值": "*", + "语言": "", + "语言值": "*", + "字母": "A&B&C&D&E&F&G&H&I&J&K&L&M&N&O&P&Q&R&S&T&U&V&W&X&Y&Z&0-9", + "字母值": "*", + "排序": "时间&人气&评分", + "排序值": "time&hits&score" +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/欧歌/json/quarkShare.json b/tvboxqq/tvboxqq/欧歌/json/quarkShare.json new file mode 100644 index 0000000..7d38c96 --- /dev/null +++ b/tvboxqq/tvboxqq/欧歌/json/quarkShare.json @@ -0,0 +1,11 @@ +[ + { + "name": "我的网盘", + "folders": [ + { + "shareId": "", + "folder": "0" + } + ] + } +] diff --git a/tvboxqq/tvboxqq/欧歌/json/ucShare.json b/tvboxqq/tvboxqq/欧歌/json/ucShare.json new file mode 100644 index 0000000..7d38c96 --- /dev/null +++ b/tvboxqq/tvboxqq/欧歌/json/ucShare.json @@ -0,0 +1,11 @@ +[ + { + "name": "我的网盘", + "folders": [ + { + "shareId": "", + "folder": "0" + } + ] + } +] diff --git a/tvboxqq/tvboxqq/欧歌/json/养生堂.json b/tvboxqq/tvboxqq/欧歌/json/养生堂.json new file mode 100644 index 0000000..4519779 --- /dev/null +++ b/tvboxqq/tvboxqq/欧歌/json/养生堂.json @@ -0,0 +1,17 @@ +{ + "首页": "0", + // "播放链接前缀": "https://www.gyf.lol", + "数组": "data\":{\"tit&&s_log", + "图片": "https://p0.ssl.cdn.btime.com/+ssl.cdn.btime.com/&&\"", + "副标题": "le\":\"&&\"", + "标题": "text\":\"&&\"", + "链接": "item.btime.com/&&\"", + "链接前缀": "https://app.api.btime.com/video/play?callback=jQuery36009651202523243325_1747927554988&id=", + // "线路标题": "
    &&", + "标题": "title=\"&&\"", + "图片": "data-original=\"&&\"", + "副标题": "module-item-note\">&&", + "线路标题": ">&&", + "影片年代": ".html\">&&", + "影片地区": "*xbtxctxdtxetxftxgtxhtatbtct.html\">&&", + "影片类型": "*xdtxetxftxgtxhtatbtct.html\">&&", + "导演": "导演:&&", + "主演": "主演:&&", + "简介": "请勿相信影片中的广告👉+

    &&

    ", + "倒序": "0", + "播放列表": "", + "播放标题": ">&&", + "搜索标题": "title=\"&&\"", + "搜索图片": "data-original=\"&&\"", + "搜索副标题": "module-item-note\">&& { + _o.msg = _o.msg.trim().split("\n").map(_it => _it.trim()).join("\n"); + return _o + }) +} + +function init_test() { + console.log("init_test_start"); + console.log("当前版本号:" + VERSION); + console.log("本地代理地址:" + getProxyUrl()); + console.log(RKEY); + console.log(JSON.stringify(rule)); + console.log("init_test_end") +} + +function ocr_demo_test() { + let img_base64 = `iVBORw0KGgoAAAANSUhEUgAAAIAAAAAoBAMAAADEX+97AAAAG1BMVEXz+/4thQTa7N6QwIFFkyNeokKozqDB3b93sWHFR+MEAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABN0lEQVRIie2TQU+DQBCFt9vScvQpxR4xrcSjJCZ67JDGXsX+AdR4B3vpsSYm/m2HXaRLmuySepR3Gdidb/btDAjRq5dT96eCMlfBuzi1QLZUoZy2yz5sOvI+9iomaPEZ6nWnEtxqIyiM1RcAy44GNDhBXUjot/VVNweV1ah68FqWRyjKIOqAcyYF6rGcmpYnHzGt3fycNoMw0d3/THFu7hFSJ/8OXO6iTM8/KSg09obAzIHLO250LgQ0txOZSfgrV4Exdw98uGycJ0ErAeExZGhOmFHV9zHO6qVSj0MpLq7xZON56o++MjlsEgfVhbQWWME+xQX7J4V6zfi9A1Ly9rP1BvEXp+BbVJ/M77n+wfOIDVp51pZ4iBxvmj9AGrtvry6emwfKnVkW+ZRKd5ZNMvob36vXP9YPDmQki8QiCFAAAAAASUVORK5CYII=`; + OcrApi.api = OCR_API; + let code = OcrApi.classification(img_base64); + log("测试验证码图片的ocr识别结果为:" + code) +} + +function rsa_demo_test() { + let t1 = (new Date).getTime(); + let pkcs1_public = ` +-----BEGIN RSA PUBLIC KEY----- +MEgCQQCrI0pQ/ERRpJ3Ou190XJedFq846nDYP52rOtXyDxlFK5D3p6JJu2RwsKwy +lsQ9xY0xYPpRZUZKMEeR7e9gmRNLAgMBAAE= +-----END RSA PUBLIC KEY----- +`.trim(); + let pkcs1_public_pem = ` +MEgCQQCrI0pQ/ERRpJ3Ou190XJedFq846nDYP52rOtXyDxlFK5D3p6JJu2RwsKwy +lsQ9xY0xYPpRZUZKMEeR7e9gmRNLAgMBAAE= +`.trim(); + let pkcs8_public = ` +-----BEGIN PUBLIC KEY----- +MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKsjSlD8RFGknc67X3Rcl50WrzjqcNg/ +nas61fIPGUUrkPenokm7ZHCwrDKWxD3FjTFg+lFlRkowR5Ht72CZE0sCAwEAAQ== +-----END PUBLIC KEY-----`.trim(); + let pkcs8_public_pem = ` +MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKsjSlD8RFGknc67X3Rcl50WrzjqcNg/ +nas61fIPGUUrkPenokm7ZHCwrDKWxD3FjTFg+lFlRkowR5Ht72CZE0sCAwEAAQ== +`.trim(); + let pkcs1_private = ` +-----BEGIN RSA PRIVATE KEY----- +MIIBOAIBAAJBAKsjSlD8RFGknc67X3Rcl50WrzjqcNg/nas61fIPGUUrkPenokm7 +ZHCwrDKWxD3FjTFg+lFlRkowR5Ht72CZE0sCAwEAAQI/b6OV1z65UokQaMvSeRXt +0Yv6wiYtduQI9qpq5nzy/ytaqsbBfClNTi/HifKPKxlRouWFkc518EQI8LBxoarJ +AiEA4DaONMplV8PQNa3TKn2F+SDEvLOCjdL0kHKdN90Ti28CIQDDZnTBaHgZwZbA +hS7Bbf5yvwjWMhO6Y7l04/Qm7R+35QIgPuQuqXIoUSD080mp1N5WyRW++atksIF+ +5lGv9e6GP/MCICnj8y/rl6Pd7tXDN6zcSeqLrfdNsREKhB3dKOCXgW9JAiAFYtFS +EJNBXVRTK42SNsZ2hJ/9xLwOwnH2epT8Q43s3Q== +-----END RSA PRIVATE KEY----- +`.trim(); + let pkcs8_private = ` +-----BEGIN PRIVATE KEY----- +MIIBUgIBADANBgkqhkiG9w0BAQEFAASCATwwggE4AgEAAkEAqyNKUPxEUaSdzrtf +dFyXnRavOOpw2D+dqzrV8g8ZRSuQ96eiSbtkcLCsMpbEPcWNMWD6UWVGSjBHke3v +YJkTSwIDAQABAj9vo5XXPrlSiRBoy9J5Fe3Ri/rCJi125Aj2qmrmfPL/K1qqxsF8 +KU1OL8eJ8o8rGVGi5YWRznXwRAjwsHGhqskCIQDgNo40ymVXw9A1rdMqfYX5IMS8 +s4KN0vSQcp033ROLbwIhAMNmdMFoeBnBlsCFLsFt/nK/CNYyE7pjuXTj9CbtH7fl +AiA+5C6pcihRIPTzSanU3lbJFb75q2SwgX7mUa/17oY/8wIgKePzL+uXo93u1cM3 +rNxJ6out902xEQqEHd0o4JeBb0kCIAVi0VIQk0FdVFMrjZI2xnaEn/3EvA7CcfZ6 +lPxDjezd +-----END PRIVATE KEY----- +`.trim(); + let data = ` +NodeRsa +这是node-rsa 现在修改集成在drpy里使用`.trim(); + let encryptedWithPublic = NODERSA.encryptRSAWithPublicKey(data, pkcs1_public, { + outputEncoding: "base64", + options: { + environment: "browser", + encryptionScheme: "pkcs1_oaep" + } + }); + console.log("公钥加密"); + console.log(encryptedWithPublic); + let decryptedWithPrivate = NODERSA.decryptRSAWithPrivateKey(encryptedWithPublic, pkcs1_private, { + options: { + environment: "browser", + encryptionScheme: "pkcs1_oaep" + } + }); + console.log("私钥解密"); + console.log(decryptedWithPrivate); + let pkcs1_sha256_sign = NODERSA.sign("1", pkcs1_private, { + outputEncoding: "base64", + options: { + environment: "browser", + encryptionScheme: "pkcs1", + signingScheme: "pkcs1-sha256" + } + }); + console.log("pkcs1_sha256_sign"); + console.log(pkcs1_sha256_sign); + let pkcs1_sha256_sign_verify = NODERSA.verify("1", "Oulx2QrgeipKYBtqEDqFb2s/+ndk2cGQxO4CkhU7iBM1vyNmmvqubpsmeoUuN3waGrYZLknSEdwBkfv0tUMpFQ==", pkcs1_private, { + options: { + environment: "browser", + encryptionScheme: "pkcs1", + signingScheme: "pkcs1-sha256" + } + }); + console.log("pkcs1_sha256_sign_verify"); + console.log(pkcs1_sha256_sign_verify); + let pkcs1_oaep_sha256 = NODERSA.encryptRSAWithPublicKey(data, `-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEA5KOq1gRNyllLNWKQy8sGpZE3Q1ULLSmzZw+eaAhj9lvqn7IsT1du +SYn08FfoOA2qMwtz+1O2l1mgzNoSVCyVpVabnTG+C9XKeZXAnJHd8aYA7l7Sxhdm +kte+iymYZ0ZBPzijo8938iugtVvqi9UgDmnY3u/NlQDqiL5BGqSxSTd/Sgmy3zD8 +PYzEa3wD9vehQ5fZZ45vKIq8GNVh2Z8+IGO85FF1OsN7+b2yGJa/FmDDNn0+HP+m +PfI+kYBqEVpo0Ztbc3UdxgFwGC8O1n8AQyriwHnSOtIiuBH62J/7qyC/3LEAApRb +Dd9YszqzmODjQUddZKHmvc638VW+azc0EwIDAQAB +-----END RSA PUBLIC KEY----- +`, { + outputEncoding: "base64", + options: { + environment: "browser", + encryptionScheme: { + scheme: "pkcs1_oaep", + hash: "sha256" + } + } + }); + console.log("pkcs1_oaep_sha256"); + console.log(pkcs1_oaep_sha256); + decryptedWithPrivate = NODERSA.decryptRSAWithPrivateKey("kSZesAAyYh2hdsQnYMdGqb6gKAzTauBKouvBzWcc4+F8RvGd0nwO6mVkUMVilPgUuNxjEauHayHiY8gI3Py45UI3+km0rSGyHrS6dHiHgCkMejXHieglYzAB0IxX3Jkm4z/66bdB/D+GFy0oct5fGCMI1UHPjEAYOsazJDa8lBFNbjiWFeb/qiZtIx3vGM7KYPAZzyRf/zPbbQ8zy9xOmRuOl5nnIxgo0Okp3KO/RIPO4GZOSBA8f2lx1UtNwwrXAMpcNavtoqHVcjJ/9lcotXYQFrn5b299pSIRf2gVm8ZJ31SK6Z8cc14nKtvgnmsgClDzIXJ1o1RcDK+knVAySg==", `-----BEGIN RSA PRIVATE KEY----- +MIIEpAIBAAKCAQEA5KOq1gRNyllLNWKQy8sGpZE3Q1ULLSmzZw+eaAhj9lvqn7Is +T1duSYn08FfoOA2qMwtz+1O2l1mgzNoSVCyVpVabnTG+C9XKeZXAnJHd8aYA7l7S +xhdmkte+iymYZ0ZBPzijo8938iugtVvqi9UgDmnY3u/NlQDqiL5BGqSxSTd/Sgmy +3zD8PYzEa3wD9vehQ5fZZ45vKIq8GNVh2Z8+IGO85FF1OsN7+b2yGJa/FmDDNn0+ +HP+mPfI+kYBqEVpo0Ztbc3UdxgFwGC8O1n8AQyriwHnSOtIiuBH62J/7qyC/3LEA +ApRbDd9YszqzmODjQUddZKHmvc638VW+azc0EwIDAQABAoIBADZ/QGgUzInvsLp/ +zO2WbfYm39o/uhNAvk9RbLt1TIZbMFhyOpeKynHi3Swwd9xsfWX/U9zS/lGi/m31 +iKrhmaW4OA1G3vqpMcK7TBbFufYwUEaA+ZJX344euH8pIfdzyneMQ4z3Far2dS7l +QsmjuilVV2kEFadveXewiYoVOWCu00w6bN8wy2SIHlQn+kIL6HQhWz12iKKflIKu +eGRdzLHsKmBt6WbY1Wuhx7HU0fAKdlBDPxCHNlI+kybUYE9o5C2vJiaVM5wqJBgZ +8Dz8kt1QbLJ910JoLXkLVQ8uC8NJKQwFtqQjTGPnEq0+wbgz6Ij599rKZkwW/xq9 +l6KoUiECgYEA6Ah42tVdkNW047f03xVYXFH96RgorHRS36mR8Y+ONUq1fwKidovC +WjwVujt4OPf3l1W6iyn/F6cu/bsmvPrSc3HTN0B1V31QK4OjgetxQ2PSbTldH02J +NPzkt+v+cPxXpx/P5mgt7Weefw5txU547KubGrHUV5rBKFtIx9pj16MCgYEA/EF0 +o19+D24DZAPwlDS5VbEd7FStnwY4oQ5PqbuNOSbSJLMWU0AqzXcRokp8UTyCZ0X3 +ATkS1REq97kShCuR+npTR6a6DlY7sdpPI1SMLNajgB2tkx0EOzX+PfNIbHUd4jpJ +I0ZMAHv/OOtkzQHDaeTWBTrzsWm6/nTiykfduNECgYEA46AMD4HpPECqKAs66e5i +tI6q7JSKskObWVdcmQEfnSAhVOwcvPb2Ptda6UuV8S0xcwDi88rLOUUFUFzc79+P +vTkY38cYVi/VChsluDpk7ptqv0PbGu5Rf+3n4pZdEjI7OvR2W64wAAn67uIUxc7p +yiO/ET0K9rYWb6S9jXGtKMkCgYEA2kPAqoO7zZoBMQ7/oR0lp/HC1HRIbiqx4RlC +8Lgpb+QZPEwA6zPAVVvLVENi4d+bbcRp/xLlKpraNNJcJSSWAMbLPFoU7sbKjA87 +HnTPfRSTEA2d3Ibk3F7Rh8TzS3Ti0JZiJjVzGZAwu41iAMifzwaD8K6boUy80eNN +QH2CaaECgYBUsLYvC/MiYg3w+LGOONuQongoVUXjGqnw2bjVa9RK7lwRdXPUqJ51 +MpVO98IkoLvGSI/0sGNP3GKNhC+eMGjJAVwFyEuOn+JsmMv9Y9uStIVi5tIHIhKw +m7mp8il0kaftHdSxTbspG3tZ2fjIiFIZkLEOmRpd7ogWumgOajzUdA== +-----END RSA PRIVATE KEY-----`, { + options: { + environment: "browser", + encryptionScheme: "pkcs1_oaep" + } + }); + console.log("decryptedWithPrivate"); + console.log(decryptedWithPrivate); + (() => { + let key = new NODERSA.NodeRSA({ + b: 1024 + }); + key.setOptions({ + encryptionScheme: "pkcs1" + }); + let text = `你好drpy node-ras`; + let encrypted = key.encrypt(text, "base64"); + console.log("encrypted: ", encrypted); + const decrypted = key.decrypt(encrypted, "utf8"); + console.log("decrypted: ", decrypted) + })(); + let t2 = (new Date).getTime(); + console.log("rsa_demo_test 测试耗时:" + (t2 - t1) + "毫秒") +} + +function pre() { + if (typeof rule.预处理 === "string" && rule.预处理 && rule.预处理.trim()) { + let code = rule.预处理.trim(); + console.log("执行预处理代码:" + code); + if (code.startsWith("js:")) { + code = code.replace("js:", "") + } + try { + eval(code) + } catch (e) { + console.log(`预处理执行失败:${e.message}`) + } + } +} +let rule = {}; +const MOBILE_UA = "Mozilla/5.0 (Linux; Android 11; Pixel 5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.91 Mobile Safari/537.36"; +const PC_UA = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36"; +const UA = "Mozilla/5.0"; +const UC_UA = "Mozilla/5.0 (Linux; U; Android 9; zh-CN; MI 9 Build/PKQ1.181121.001) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0.2987.108 UCBrowser/12.5.5.1035 Mobile Safari/537.36"; +const IOS_UA = "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1"; +const RULE_CK = "cookie"; +const CATE_EXCLUDE = "首页|留言|APP|下载|资讯|新闻|动态"; +const TAB_EXCLUDE = "猜你|喜欢|下载|剧情|榜|评论"; +const OCR_RETRY = 3; +const OCR_API = "https://api.nn.ci/ocr/b64/text"; +if (typeof MY_URL === "undefined") { + var MY_URL +} +var HOST; +var RKEY; +var fetch; +var print; +var log; +var rule_fetch_params; +var fetch_params; +var oheaders; +var _pdfh; +var _pdfa; +var _pd; +const DOM_CHECK_ATTR = /(url|src|href|-original|-src|-play|-url|style)$/; +const SPECIAL_URL = /^(ftp|magnet|thunder|ws):/; +const NOADD_INDEX = /:eq|:lt|:gt|:first|:last|^body$|^#/; +const URLJOIN_ATTR = /(url|src|href|-original|-src|-play|-url|style)$|^(data-|url-|src-)/; +const SELECT_REGEX = /:eq|:lt|:gt|#/g; +const SELECT_REGEX_A = /:eq|:lt|:gt/g; +const $js = { + toString(func) { + let strfun = func.toString(); + return strfun.replace(/^\(\)(\s+)?=>(\s+)?\{/, "js:").replace(/\}$/, "") + } +}; + +function window_b64() { + let b64map = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; + let base64DecodeChars = new Array(-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, -1, -1, 63, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -1, -1, -1, -1, -1, -1, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, -1, -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1); + + function btoa(str) { + var out, i, len; + var c1, c2, c3; + len = str.length; + i = 0; + out = ""; + while (i < len) { + c1 = str.charCodeAt(i++) & 255; + if (i == len) { + out += b64map.charAt(c1 >> 2); + out += b64map.charAt((c1 & 3) << 4); + out += "=="; + break + } + c2 = str.charCodeAt(i++); + if (i == len) { + out += b64map.charAt(c1 >> 2); + out += b64map.charAt((c1 & 3) << 4 | (c2 & 240) >> 4); + out += b64map.charAt((c2 & 15) << 2); + out += "="; + break + } + c3 = str.charCodeAt(i++); + out += b64map.charAt(c1 >> 2); + out += b64map.charAt((c1 & 3) << 4 | (c2 & 240) >> 4); + out += b64map.charAt((c2 & 15) << 2 | (c3 & 192) >> 6); + out += b64map.charAt(c3 & 63) + } + return out + } + + function atob(str) { + var c1, c2, c3, c4; + var i, len, out; + len = str.length; + i = 0; + out = ""; + while (i < len) { + do { + c1 = base64DecodeChars[str.charCodeAt(i++) & 255] + } while (i < len && c1 == -1); + if (c1 == -1) break; + do { + c2 = base64DecodeChars[str.charCodeAt(i++) & 255] + } while (i < len && c2 == -1); + if (c2 == -1) break; + out += String.fromCharCode(c1 << 2 | (c2 & 48) >> 4); + do { + c3 = str.charCodeAt(i++) & 255; + if (c3 == 61) return out; + c3 = base64DecodeChars[c3] + } while (i < len && c3 == -1); + if (c3 == -1) break; + out += String.fromCharCode((c2 & 15) << 4 | (c3 & 60) >> 2); + do { + c4 = str.charCodeAt(i++) & 255; + if (c4 == 61) return out; + c4 = base64DecodeChars[c4] + } while (i < len && c4 == -1); + if (c4 == -1) break; + out += String.fromCharCode((c3 & 3) << 6 | c4) + } + return out + } + return { + atob: atob, + btoa: btoa + } +} +if (typeof atob !== "function" || typeof btoa !== "function") { + var { + atob, + btoa + } = window_b64() +} +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 + } +} +if (!String.prototype.includes) { + String.prototype.includes = function(search, start) { + if (typeof start !== "number") { + start = 0 + } + if (start + search.length > this.length) { + return false + } else { + return this.indexOf(search, start) !== -1 + } + } +} +if (!Array.prototype.includes) { + Object.defineProperty(Array.prototype, "includes", { + value: function(searchElement, fromIndex) { + if (this == null) { + throw new TypeError('"this" is null or not defined') + } + var o = Object(this); + var len = o.length >>> 0; + if (len === 0) { + return false + } + var n = fromIndex | 0; + var k = Math.max(n >= 0 ? n : len - Math.abs(n), 0); + while (k < len) { + if (o[k] === searchElement) { + return true + } + k++ + } + return false + }, + enumerable: false + }) +} +if (typeof String.prototype.startsWith !== "function") { + String.prototype.startsWith = function(prefix) { + return this.slice(0, prefix.length) === prefix + } +} +if (typeof String.prototype.endsWith !== "function") { + String.prototype.endsWith = function(suffix) { + return this.indexOf(suffix, this.length - suffix.length) !== -1 + } +} +Object.defineProperty(Object.prototype, "myValues", { + value: function(obj) { + if (obj == null) { + throw new TypeError("Cannot convert undefined or null to object") + } + var res = []; + for (var k in obj) { + if (obj.hasOwnProperty(k)) { + res.push(obj[k]) + } + } + return res + }, + enumerable: false +}); +if (typeof Object.prototype.values !== "function") { + Object.defineProperty(Object.prototype, "values", { + value: function(obj) { + if (obj == null) { + throw new TypeError("Cannot convert undefined or null to object") + } + var res = []; + for (var k in obj) { + if (obj.hasOwnProperty(k)) { + res.push(obj[k]) + } + } + return res + }, + enumerable: false + }) +} +if (typeof Array.prototype.join !== "function") { + Object.defineProperty(Array.prototype, "join", { + value: function(emoji) { + emoji = emoji || ""; + let self = this; + let str = ""; + let i = 0; + if (!Array.isArray(self)) { + throw String(self) + "is not Array" + } + if (self.length === 0) { + return "" + } + if (self.length === 1) { + return String(self[0]) + } + i = 1; + str = this[0]; + for (; i < self.length; i++) { + str += String(emoji) + String(self[i]) + } + return str + }, + enumerable: false + }) +} +if (typeof Array.prototype.toReversed !== "function") { + Object.defineProperty(Array.prototype, "toReversed", { + value: function() { + const clonedList = this.slice(); + const reversedList = clonedList.reverse(); + return reversedList + }, + enumerable: false + }) +} +Object.defineProperty(Array.prototype, "append", { + value: Array.prototype.push, + enumerable: false +}); +Object.defineProperty(String.prototype, "strip", { + value: String.prototype.trim, + enumerable: false +}); +Object.defineProperty(String.prototype, "rstrip", { + value: function(chars) { + let regex = new RegExp(chars + "$"); + return this.replace(regex, "") + }, + enumerable: false +}); + +function 是否正版(vipUrl) { + let flag = new RegExp("qq.com|iqiyi.com|youku.com|mgtv.com|bilibili.com|sohu.com|ixigua.com|pptv.com|miguvideo.com|le.com|1905.com|fun.tv"); + return flag.test(vipUrl) +} + +function urlDeal(vipUrl) { + if (!vipUrl) { + return "" + } + if (!是否正版(vipUrl)) { + return vipUrl + } + if (!/miguvideo/.test(vipUrl)) { + vipUrl = vipUrl.split("#")[0].split("?")[0] + } + return vipUrl +} + +function setResult(d) { + if (!Array.isArray(d)) { + return [] + } + VODS = []; + d.forEach(function(it) { + let obj = { + vod_id: it.url || "", + vod_name: it.title || "", + vod_remarks: it.desc || "", + vod_content: it.content || "", + vod_pic: it.pic_url || it.img || "" + }; + let keys = Object.keys(it); + if (keys.includes("tname")) { + obj.type_name = it.tname || "" + } + if (keys.includes("tid")) { + obj.type_id = it.tid || "" + } + if (keys.includes("year")) { + obj.vod_year = it.year || "" + } + if (keys.includes("actor")) { + obj.vod_actor = it.actor || "" + } + if (keys.includes("director")) { + obj.vod_director = it.director || "" + } + if (keys.includes("area")) { + obj.vod_area = it.area || "" + } + VODS.push(obj) + }); + return VODS +} + +function setResult2(res) { + VODS = res.list || []; + return VODS +} + +function setHomeResult(res) { + if (!res || typeof res !== "object") { + return [] + } + return setResult(res.list) +} + +function rc(js) { + if (js === "maomi_aes.js") { + var a = CryptoJS.enc.Utf8.parse("625222f9149e961d"); + var t = CryptoJS.enc.Utf8.parse("5efdtf6060e2o330"); + return { + De: function(word) { + word = CryptoJS.enc.Hex.parse(word); + return CryptoJS.AES.decrypt(CryptoJS.enc.Base64.stringify(word), a, { + iv: t, + mode: CryptoJS.mode.CBC, + padding: CryptoJS.pad.Pkcs7 + }).toString(CryptoJS.enc.Utf8) + }, + En: function(word) { + var Encrypted = CryptoJS.AES.encrypt(word, a, { + iv: t, + mode: CryptoJS.mode.CBC, + padding: CryptoJS.pad.Pkcs7 + }); + return Encrypted.ciphertext.toString() + } + } + } + return {} +} + +function maoss(jxurl, ref, key) { + fetch_params = JSON.parse(JSON.stringify(rule_fetch_params)); + eval(getCryptoJS()); + try { + var getVideoInfo = function(text) { + return CryptoJS.AES.decrypt(text, key, { + iv: iv, + padding: CryptoJS.pad.Pkcs7 + }).toString(CryptoJS.enc.Utf8) + }; + var token_key = key == undefined ? "dvyYRQlnPRCMdQSe" : key; + if (ref) { + var html = request(jxurl, { + headers: { + Referer: ref + } + }) + } else { + var html = request(jxurl) + } + if (html.indexOf("&btwaf=") != -1) { + html = request(jxurl + "&btwaf" + html.match(/&btwaf(.*?)"/)[1], { + headers: { + Referer: ref + } + }) + } + var token_iv = html.split('_token = "')[1].split('"')[0]; + var key = CryptoJS.enc.Utf8.parse(token_key); + var iv = CryptoJS.enc.Utf8.parse(token_iv); + eval(html.match(/var config = {[\s\S]*?}/)[0] + ""); + if (!config.url.startsWith("http")) { + config.url = CryptoJS.AES.decrypt(config.url, key, { + iv: iv, + padding: CryptoJS.pad.Pkcs7 + }).toString(CryptoJS.enc.Utf8) + } + return config.url + } catch (e) { + return "" + } +} + +function urlencode(str) { + str = (str + "").toString(); + return encodeURIComponent(str).replace(/!/g, "%21").replace(/'/g, "%27").replace(/\(/g, "%28").replace(/\)/g, "%29").replace(/\*/g, "%2A").replace(/%20/g, "+") +} + +function encodeUrl(str) { + if (typeof encodeURI == "function") { + return encodeURI(str) + } else { + str = (str + "").toString(); + return encodeURIComponent(str).replace(/%2F/g, "/").replace(/%3F/g, "?").replace(/%3A/g, ":").replace(/%40/g, "@").replace(/%3D/g, "=").replace(/%3A/g, ":").replace(/%2C/g, ",").replace(/%2B/g, "+").replace(/%24/g, "$") + } +} + +function base64Encode(text) { + return CryptoJS.enc.Base64.stringify(CryptoJS.enc.Utf8.parse(text)) +} + +function base64Decode(text) { + return CryptoJS.enc.Utf8.stringify(CryptoJS.enc.Base64.parse(text)) +} + +function md5(text) { + return CryptoJS.MD5(text).toString() +} + +function uint8ArrayToBase64(uint8Array) { + let binaryString = String.fromCharCode.apply(null, Array.from(uint8Array)); + return btoa(binaryString) +} + +function Utf8ArrayToStr(array) { + var out, i, len, c; + var char2, char3; + out = ""; + len = array.length; + i = 0; + while (i < len) { + c = array[i++]; + switch (c >> 4) { + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + case 6: + case 7: + out += String.fromCharCode(c); + break; + case 12: + case 13: + char2 = array[i++]; + out += String.fromCharCode((c & 31) << 6 | char2 & 63); + break; + case 14: + char2 = array[i++]; + char3 = array[i++]; + out += String.fromCharCode((c & 15) << 12 | (char2 & 63) << 6 | (char3 & 63) << 0); + break + } + } + return out +} + +function gzip(str) { + let arr = pako.gzip(str, {}); + return uint8ArrayToBase64(arr) +} + +function ungzip(b64Data) { + let strData = atob(b64Data); + const charData = strData.split("").map(function(x) { + return x.charCodeAt(0) + }); + const binData = new Uint8Array(charData); + const data = pako.inflate(binData); + return Utf8ArrayToStr(data) +} + +function encodeStr(input, encoding) { + encoding = encoding || "gbk"; + if (encoding.startsWith("gb")) { + input = gbkTool.encode(input) + } + return input +} + +function decodeStr(input, encoding) { + encoding = encoding || "gbk"; + if (encoding.startsWith("gb")) { + input = gbkTool.decode(input) + } + return input +} + +function getCryptoJS() { + return 'console.log("CryptoJS已装载");' +} +const RSA = { + decode: function(data, key, option) { + option = option || {}; + if (typeof JSEncrypt === "function") { + let chunkSize = option.chunkSize || 117; + let privateKey = this.getPrivateKey(key); + const decryptor = new JSEncrypt; + decryptor.setPrivateKey(privateKey); + let uncrypted = ""; + uncrypted = decryptor.decryptUnicodeLong(data); + return uncrypted + } else { + return false + } + }, + encode: function(data, key, option) { + option = option || {}; + if (typeof JSEncrypt === "function") { + let chunkSize = option.chunkSize || 117; + let publicKey = this.getPublicKey(key); + const encryptor = new JSEncrypt; + encryptor.setPublicKey(publicKey); + let encrypted = ""; + encrypted = encryptor.encryptUnicodeLong(data); + return encrypted + } else { + return false + } + }, + fixKey(key, prefix, endfix) { + if (!key.includes(prefix)) { + key = prefix + key + } + if (!key.includes(endfix)) { + key += endfix + } + return key + }, + getPrivateKey(key) { + let prefix = "-----BEGIN RSA PRIVATE KEY-----"; + let endfix = "-----END RSA PRIVATE KEY-----"; + return this.fixKey(key, prefix, endfix) + }, + getPublicKey(key) { + let prefix = "-----BEGIN PUBLIC KEY-----"; + let endfix = "-----END PUBLIC KEY-----"; + return this.fixKey(key, prefix, endfix) + } +}; + +function getProxyUrl() { + if (typeof getProxy === "function") { + return getProxy(true) + } else { + return "http://127.0.0.1:9978/proxy?do=js" + } +} + +function fixAdM3u8(m3u8_text, m3u8_url, ad_remove) { + if (!m3u8_text && !m3u8_url || !m3u8_text && m3u8_url && !m3u8_url.startsWith("http")) { + return "" + } + if (!m3u8_text) { + log("m3u8_url:" + m3u8_url); + m3u8_text = request(m3u8_url) + } + log("len(m3u8_text):" + m3u8_text.length); + if (!ad_remove) { + return m3u8_text + } + if (ad_remove.startsWith("reg:")) { + ad_remove = ad_remove.slice(4) + } else if (ad_remove.startsWith("js:")) { + ad_remove = ad_remove.slice(3) + } + let m3u8_start = m3u8_text.slice(0, m3u8_text.indexOf("#EXTINF")).trim(); + let m3u8_body = m3u8_text.slice(m3u8_text.indexOf("#EXTINF"), m3u8_text.indexOf("#EXT-X-ENDLIST")).trim(); + let m3u8_end = m3u8_text.slice(m3u8_text.indexOf("#EXT-X-ENDLIST")).trim(); + let murls = []; + let m3_body_list = m3u8_body.split("\n"); + let m3_len = m3_body_list.length; + let i = 0; + while (i < m3_len) { + let mi = m3_body_list[i]; + let mi_1 = m3_body_list[i + 1]; + if (mi.startsWith("#EXTINF")) { + murls.push([mi, mi_1].join("&")); + i += 2 + } else if (mi.startsWith("#EXT-X-DISCONTINUITY")) { + let mi_2 = m3_body_list[i + 2]; + murls.push([mi, mi_1, mi_2].join("&")); + i += 3 + } else { + break + } + } + let new_m3u8_body = []; + for (let murl of murls) { + if (ad_remove && new RegExp(ad_remove).test(murl)) {} else { + let murl_list = murl.split("&"); + if (!murl_list[murl_list.length - 1].startsWith("http") && m3u8_url.startsWith("http")) { + murl_list[murl_list.length - 1] = urljoin(m3u8_url, murl_list[murl_list.length - 1]) + } + murl_list.forEach(it => { + new_m3u8_body.push(it) + }) + } + } + new_m3u8_body = new_m3u8_body.join("\n").trim(); + m3u8_text = [m3u8_start, new_m3u8_body, m3u8_end].join("\n").trim(); + return m3u8_text +} + +function fixAdM3u8Ai(m3u8_url, headers) { + let ts = (new Date).getTime(); + let option = headers ? { + headers: headers + } : {}; + + function b(s1, s2) { + let i = 0; + while (i < s1.length) { + if (s1[i] !== s2[i]) { + break + } + i++ + } + return i + } + + function reverseString(str) { + return str.split("").reverse().join("") + } + let m3u8 = request(m3u8_url, option); + m3u8 = m3u8.trim().split("\n").map(it => it.startsWith("#") ? it : urljoin(m3u8_url, it)).join("\n"); + m3u8 = m3u8.replace(/\n\n/gi, "\n"); + let last_url = m3u8.split("\n").slice(-1)[0]; + if (last_url.length < 5) { + last_url = m3u8.split("\n").slice(-2)[0] + } + if (last_url.includes(".m3u8") && last_url !== m3u8_url) { + m3u8_url = urljoin2(m3u8_url, last_url); + log("嵌套的m3u8_url:" + m3u8_url); + m3u8 = request(m3u8_url, option) + } + let s = m3u8.trim().split("\n").filter(it => it.trim()).join("\n"); + let ss = s.split("\n"); + if (m3u8_url.indexOf("ffzy") > 0) { + let j = 0, + k1 = 0, + m = 0, + n = 0, + t = 0; + let s2 = ""; + for (let i = 0; i < ss.length; i++) { + let s = ss[i]; + let s1 = ""; + if (s.startsWith("#EXTINF")) { + s1 = s.slice(8); + n++; + if (n == 1) k1 = i; + if (s2.indexOf(s1) == -1) { + s2 = s2 + s1; + m++ + } + t = t + parseFloat(s1); + i++; + s = ss[i] + } + if (s.startsWith("#EXT-X-DISCONTINUITY")) { + if (n == 5) { + log("n:" + n); + log("m:" + m); + for (let j = k1; j < k1 + n * 2; j++) { + log(ss[j]) + } + log("广告位置:" + k1); + log("数据条数:" + n); + log("数据种类:" + m); + log("广告时间:" + t.toFixed(5)); + ss.splice(k1, 2 * n + 1); + i = i - 2 * n + 1 + } + t = 0; + m = 0; + n = 0; + s2 = "" + } + } + } + let firststr = ""; + let maxl = 0; + let kk = 0; + let kkk1 = 1; + let kkk2 = 0; + let secondstr = ""; + for (let i = 0; i < ss.length; i++) { + let s = ss[i]; + if (!s.startsWith("#")) { + if (kk == 0) firststr = s; + if (kk > 0) { + if (maxl > b(firststr, s) + 1) { + if (secondstr.length < 5) secondstr = s; + kkk2++ + } else { + maxl = b(firststr, s); + kkk1++ + } + } + kk++; + if (kk >= 30) break + } + } + if (kkk2 > kkk1) firststr = secondstr; + let firststrlen = firststr.length; + let ml = Math.round(ss.length / 2).toString().length; + let maxc = 0; + let laststr = ss.toReversed().find(x => { + if (!x.startsWith("#")) { + let k = b(reverseString(firststr), reverseString(x)); + maxl = b(firststr, x); + maxc++; + if (firststrlen - maxl <= ml + k || maxc > 10) { + return true + } + } + return false + }); + log("最后一条切片:" + laststr); + let ad_urls = []; + for (let i = 0; i < ss.length; i++) { + let s = ss[i]; + if (!s.startsWith("#")) { + if (b(firststr, s) < maxl) { + ad_urls.push(s); + ss.splice(i - 1, 2); + i = i - 2 + } else { + ss[i] = urljoin(m3u8_url, s) + } + } else { + ss[i] = s.replace(/URI=\"(.*)\"/, 'URI="' + urljoin(m3u8_url, "$1") + '"') + } + } + log("处理的m3u8地址:" + m3u8_url); + log("----广告地址----"); + log(ad_urls); + m3u8 = ss.join("\n"); + log("处理耗时:" + ((new Date).getTime() - ts).toString()); + log(m3u8); + return m3u8 +} + +function forceOrder(lists, key, option) { + let start = Math.floor(lists.length / 2); + let end = Math.min(lists.length - 1, start + 1); + if (start >= end) { + return lists + } + let first = lists[start]; + let second = lists[end]; + if (key) { + try { + first = first[key]; + second = second[key] + } catch (e) {} + } + if (option && typeof option === "function") { + try { + first = option(first); + second = option(second) + } catch (e) {} + } + first += ""; + second += ""; + if (first.match(/(\d+)/) && second.match(/(\d+)/)) { + let num1 = Number(first.match(/(\d+)/)[1]); + let num2 = Number(second.match(/(\d+)/)[1]); + if (num1 > num2) { + lists.reverse() + } + } + return lists +} +let VODS = []; +let VOD = {}; +let TABS = []; +let LISTS = []; + +function getQuery(url) { + try { + if (url.indexOf("?") > -1) { + url = url.slice(url.indexOf("?") + 1) + } + let arr = url.split("#")[0].split("&"); + const resObj = {}; + arr.forEach(item => { + let arr1 = item.split("="); + let key = arr1[0]; + let value = arr1.slice(1).join("="); + resObj[key] = value + }); + return resObj + } catch (err) { + log(`getQuery发生错误:${e.message}`); + return {} + } +} + +function urljoin(fromPath, nowPath) { + fromPath = fromPath || ""; + nowPath = nowPath || ""; + return joinUrl(fromPath, nowPath) +} +var urljoin2 = urljoin; +const defaultParser = { + pdfh: pdfh, + pdfa: pdfa, + pd: pd +}; + +function pdfh2(html, parse) { + let html2 = html; + try { + if (typeof html !== "string") { + html2 = html.rr(html.ele).toString() + } + } catch (e) { + print(`html对象转文本发生了错误:${e.message}`) + } + let result = defaultParser.pdfh(html2, parse); + let option = parse.includes("&&") ? parse.split("&&").slice(-1)[0] : parse.split(" ").slice(-1)[0]; + if (/style/.test(option.toLowerCase()) && /url\(/.test(result)) { + try { + result = result.match(/url\((.*?)\)/)[1]; + result = result.replace(/^['|"](.*)['|"]$/, "$1") + } catch (e) {} + } + return result +} + +function pdfa2(html, parse) { + let html2 = html; + try { + if (typeof html !== "string") { + html2 = html.rr(html.ele).toString() + } + } catch (e) { + print(`html对象转文本发生了错误:${e.message}`) + } + return defaultParser.pdfa(html2, parse) +} + +function pd2(html, parse, uri) { + let ret = pdfh2(html, parse); + if (typeof uri === "undefined" || !uri) { + uri = "" + } + if (DOM_CHECK_ATTR.test(parse) && !SPECIAL_URL.test(ret)) { + if (/http/.test(ret)) { + ret = ret.slice(ret.indexOf("http")) + } else { + ret = urljoin(MY_URL, ret) + } + } + return ret +} +const parseTags = { + jsp: { + pdfh: pdfh2, + pdfa: pdfa2, + pd: pd2 + }, + json: { + pdfh(html, parse) { + if (!parse || !parse.trim()) { + return "" + } + if (typeof html === "string") { + html = JSON.parse(html) + } + parse = parse.trim(); + if (!parse.startsWith("$.")) { + parse = "$." + parse + } + parse = parse.split("||"); + for (let ps of parse) { + let ret = cheerio.jp(ps, html); + if (Array.isArray(ret)) { + ret = ret[0] || "" + } else { + ret = ret || "" + } + if (ret && typeof ret !== "string") { + ret = ret.toString() + } + if (ret) { + return ret + } + } + return "" + }, + pdfa(html, parse) { + if (!parse || !parse.trim()) { + return "" + } + if (typeof html === "string") { + html = JSON.parse(html) + } + parse = parse.trim(); + if (!parse.startsWith("$.")) { + parse = "$." + parse + } + let ret = cheerio.jp(parse, html); + if (Array.isArray(ret) && Array.isArray(ret[0]) && ret.length === 1) { + return ret[0] || [] + } + return ret || [] + }, + pd(html, parse) { + let ret = parseTags.json.pdfh(html, parse); + if (ret) { + return urljoin(MY_URL, ret) + } + return ret + } + }, + jq: { + pdfh(html, parse) { + if (!html || !parse || !parse.trim()) { + return "" + } + parse = parse.trim(); + let result = defaultParser.pdfh(html, parse); + return result + }, + pdfa(html, parse) { + if (!html || !parse || !parse.trim()) { + return [] + } + parse = parse.trim(); + let result = defaultParser.pdfa(html, parse); + print(`pdfa解析${parse}=>${result.length}`); + return result + }, + pd(html, parse, base_url) { + if (!html || !parse || !parse.trim()) { + return "" + } + parse = parse.trim(); + base_url = base_url || MY_URL; + return defaultParser.pd(html, parse, base_url) + } + }, + getParse(p0) { + if (p0.startsWith("jsp:")) { + return this.jsp + } else if (p0.startsWith("json:")) { + return this.json + } else if (p0.startsWith("jq:")) { + return this.jq + } else { + return this.jq + } + } +}; +const stringify = JSON.stringify; +const jsp = parseTags.jsp; +const jq = parseTags.jq; + +function readFile(filePath) { + filePath = filePath || "./uri.min.js"; + var fd = os.open(filePath); + var buffer = new ArrayBuffer(1024); + var len = os.read(fd, buffer, 0, 1024); + console.log(len); + let text = String.fromCharCode.apply(null, new Uint8Array(buffer)); + console.log(text); + return text +} + +function dealJson(html) { + try { + html = html.trim(); + if (!(html.startsWith("{") && html.endsWith("}") || html.startsWith("[") && html.endsWith("]"))) { + html = "{" + html.match(/.*?\{(.*)\}/m)[1] + "}" + } + } catch (e) {} + try { + html = JSON.parse(html) + } catch (e) {} + return html +} +var OcrApi = { + api: OCR_API, + classification: function(img) { + let code = ""; + try { + log("通过drpy_ocr验证码接口过验证..."); + let html = ""; + if (this.api.endsWith("drpy/text")) { + html = request(this.api, { + data: { + img: img + }, + headers: { + "User-Agent": PC_UA + }, + method: "POST" + }, true) + } else { + html = post(this.api, { + body: img + }) + } + code = html || "" + } catch (e) { + log(`OCR识别验证码发生错误:${e.message}`) + } + return code + } +}; + +function verifyCode(url) { + let cnt = 0; + let host = getHome(url); + let cookie = ""; + while (cnt < OCR_RETRY) { + try { + let yzm_url = `${host}/index.php/verify/index.html`; + console.log(`验证码链接:${yzm_url}`); + let hhtml = request(yzm_url, { + withHeaders: true, + toBase64: true + }, true); + let json = JSON.parse(hhtml); + if (!cookie) { + let setCk = Object.keys(json).find(it => it.toLowerCase() === "set-cookie"); + cookie = setCk ? json[setCk].split(";")[0] : "" + } + console.log("cookie:" + cookie); + let img = json.body; + let code = OcrApi.classification(img); + console.log(`第${cnt+1}次验证码识别结果:${code}`); + let submit_url = `${host}/index.php/ajax/verify_check?type=search&verify=${code}`; + console.log(submit_url); + let html = request(submit_url, { + headers: { + Cookie: cookie + }, + method: "POST" + }); + html = JSON.parse(html); + if (html.msg === "ok") { + console.log(`第${cnt+1}次验证码提交成功`); + return cookie + } else if (html.msg !== "ok" && cnt + 1 >= OCR_RETRY) { + cookie = "" + } + } catch (e) { + console.log(`第${cnt+1}次验证码提交失败:${e.message}`); + if (cnt + 1 >= OCR_RETRY) { + cookie = "" + } + } + cnt += 1 + } + return cookie +} + +function setItem(k, v) { + local.set(RKEY, k, v); + console.log(`规则${RKEY}设置${k} => ${v}`) +} + +function getItem(k, v) { + return local.get(RKEY, k) || v +} + +function clearItem(k) { + local.delete(RKEY, k) +} + +function getHome(url) { + if (!url) { + return "" + } + let tmp = url.split("//"); + url = tmp[0] + "//" + tmp[1].split("/")[0]; + try { + url = decodeURIComponent(url) + } catch (e) {} + return url +} + +function buildUrl(url, obj) { + obj = obj || {}; + if (url.indexOf("?") < 0) { + url += "?" + } + let param_list = []; + let keys = Object.keys(obj); + keys.forEach(it => { + param_list.push(it + "=" + obj[it]) + }); + let prs = param_list.join("&"); + if (keys.length > 0 && !url.endsWith("?")) { + url += "&" + } + url += prs; + return url +} + +function $require(url) { + eval(request(url)) +} + +function keysToLowerCase(obj) { + return Object.keys(obj).reduce((result, key) => { + const newKey = key.toLowerCase(); + result[newKey] = obj[key]; + return result + }, {}) +} + +function buildQueryString(params) { + const queryArray = []; + for (const key in params) { + if (params.hasOwnProperty(key)) { + let value = params[key]; + if (value === undefined || value === null) { + value = "" + } else { + value = value.toString() + } + const encodedKey = encodeURIComponent(key); + const encodedValue = encodeURIComponent(value); + queryArray.push(encodedKey + "=" + encodedValue) + } + } + return queryArray.join("&") +} + +function parseQueryString(query) { + const params = {}; + query.split("&").forEach(function(part) { + const regex = /^(.*?)=(.*)/; + const match = part.match(regex); + if (match) { + const key = decodeURIComponent(match[1]); + const value = decodeURIComponent(match[2]); + params[key] = value + } + }); + return params +} + +function encodeIfContainsSpecialChars(value) { + const specialChars = ":/?#[]@!$'()*+,;=%"; + if (specialChars.split("").some(char => value.includes(char))) { + return encodeURIComponent(value) + } + return value +} + +function objectToQueryString(obj) { + const encoded = []; + for (let key in obj) { + if (obj.hasOwnProperty(key)) { + encoded.push(encodeURIComponent(key) + "=" + encodeIfContainsSpecialChars(obj[key])) + } + } + return encoded.join("&") +} + +function request(url, obj, ocr_flag) { + ocr_flag = ocr_flag || false; + if (typeof obj === "undefined" || !obj || obj === {}) { + if (!fetch_params || !fetch_params.headers) { + let headers = { + "User-Agent": MOBILE_UA + }; + if (rule.headers) { + Object.assign(headers, rule.headers) + } + if (!fetch_params) { + fetch_params = {} + } + fetch_params.headers = headers + } + if (!fetch_params.headers.Referer) { + fetch_params.headers.Referer = getHome(url) + } + obj = fetch_params + } else { + let headers = obj.headers || {}; + let keys = Object.keys(headers).map(it => it.toLowerCase()); + if (!keys.includes("user-agent")) { + headers["User-Agent"] = MOBILE_UA; + if (typeof fetch_params === "object" && fetch_params && fetch_params.headers) { + let fetch_headers = keysToLowerCase(fetch_params.headers); + if (fetch_headers["user-agent"]) { + headers["User-Agent"] = fetch_headers["user-agent"] + } + } + } + if (!keys.includes("referer")) { + headers["Referer"] = getHome(url) + } + obj.headers = headers + } + if (rule.encoding && rule.encoding !== "utf-8" && !ocr_flag) { + if (!obj.headers.hasOwnProperty("Content-Type") && !obj.headers.hasOwnProperty("content-type")) { + obj.headers["Content-Type"] = "text/html; charset=" + rule.encoding + } + } + if (typeof obj.body != "undefined" && obj.body && typeof obj.body === "string") { + if (!obj.headers.hasOwnProperty("Content-Type") && !obj.headers.hasOwnProperty("content-type")) { + obj.headers["Content-Type"] = "application/x-www-form-urlencoded; charset=" + rule.encoding + } + } else if (typeof obj.body != "undefined" && obj.body && typeof obj.body === "object") { + obj.data = obj.body; + delete obj.body + } + if (!url) { + return obj.withHeaders ? "{}" : "" + } + if (obj.toBase64) { + obj.buffer = 2; + delete obj.toBase64 + } + if (obj.redirect === false) { + obj.redirect = 0 + } + if (obj.headers.hasOwnProperty("Content-Type") || obj.headers.hasOwnProperty("content-type")) { + let _contentType = obj.headers["Content-Type"] || obj.headers["content-type"] || ""; + if (_contentType.includes("application/x-www-form-urlencoded")) { + log("custom body is application/x-www-form-urlencoded"); + if (typeof obj.body == "string") { + let temp_obj = parseQueryString(obj.body); + console.log(JSON.stringify(temp_obj)) + } + } + } + console.log(JSON.stringify(obj.headers)); + console.log("request:" + url + `|method:${obj.method||"GET"}|body:${obj.body||""}`); + let res = req(url, obj); + let html = res.content || ""; + if (obj.withHeaders) { + let htmlWithHeaders = res.headers; + htmlWithHeaders.body = html; + return JSON.stringify(htmlWithHeaders) + } else { + return html + } +} + +function post(url, obj) { + obj = obj || {}; + obj.method = "POST"; + return request(url, obj) +} + +function reqCookie(url, obj, all_cookie) { + obj = obj || {}; + obj.withHeaders = true; + all_cookie = all_cookie || false; + let html = request(url, obj); + let json = JSON.parse(html); + let setCk = Object.keys(json).find(it => it.toLowerCase() === "set-cookie"); + let cookie = setCk ? json[setCk] : ""; + if (Array.isArray(cookie)) { + cookie = cookie.join(";") + } + if (!all_cookie) { + cookie = cookie.split(";")[0] + } + html = json.body; + return { + cookie: cookie, + html: html + } +} +fetch = request; +print = function(data) { + data = data || ""; + if (typeof data == "object" && Object.keys(data).length > 0) { + try { + data = JSON.stringify(data); + console.log(data) + } catch (e) { + console.log(typeof data + ":" + data.length); + return + } + } else if (typeof data == "object" && Object.keys(data).length < 1) { + console.log("null object") + } else { + console.log(data) + } +}; +log = print; + +function checkHtml(html, url, obj) { + if (/\?btwaf=/.test(html)) { + let btwaf = html.match(/btwaf(.*?)"/)[1]; + url = url.split("#")[0] + "?btwaf" + btwaf; + print("宝塔验证访问链接:" + url); + html = request(url, obj) + } + return html +} + +function getCode(url, obj) { + let html = request(url, obj); + html = checkHtml(html, url, obj); + return html +} + +function getHtml(url) { + let obj = {}; + if (rule.headers) { + obj.headers = rule.headers + } + let cookie = getItem(RULE_CK, ""); + if (cookie) { + if (obj.headers && !Object.keys(obj.headers).map(it => it.toLowerCase()).includes("cookie")) { + log("历史无cookie,新增过验证后的cookie"); + obj.headers["Cookie"] = cookie + } else if (obj.headers && obj.headers.cookie && obj.headers.cookie !== cookie) { + obj.headers["Cookie"] = cookie; + log("历史有小写过期的cookie,更新过验证后的cookie") + } else if (obj.headers && obj.headers.Cookie && obj.headers.Cookie !== cookie) { + obj.headers["Cookie"] = cookie; + log("历史有大写过期的cookie,更新过验证后的cookie") + } else if (!obj.headers) { + obj.headers = { + Cookie: cookie + }; + log("历史无headers,更新过验证后的含cookie的headers") + } + } + let html = getCode(url, obj); + return html +} + +function homeParse(homeObj) { + fetch_params = JSON.parse(JSON.stringify(rule_fetch_params)); + let classes = []; + if (homeObj.class_name && homeObj.class_url) { + let names = homeObj.class_name.split("&"); + let urls = homeObj.class_url.split("&"); + let cnt = Math.min(names.length, urls.length); + for (let i = 0; i < cnt; i++) { + classes.push({ + type_id: urls[i], + type_name: names[i] + }) + } + } + if (homeObj.class_parse) { + if (homeObj.class_parse.startsWith("js:")) { + var input = homeObj.MY_URL; + try { + eval(homeObj.class_parse.replace("js:", "")); + if (Array.isArray(input)) { + classes = input + } + } catch (e) { + log(`通过js动态获取分类发生了错误:${e.message}`) + } + } else { + let p = homeObj.class_parse.split(";"); + let p0 = p[0]; + let _ps = parseTags.getParse(p0); + let is_json = p0.startsWith("json:"); + _pdfa = _ps.pdfa; + _pdfh = _ps.pdfh; + _pd = _ps.pd; + MY_URL = rule.url; + if (is_json) { + try { + let cms_cate_url = homeObj.MY_URL.replace("ac=detail", "ac=list"); + let html = homeObj.home_html || getHtml(cms_cate_url); + if (html) { + if (cms_cate_url === homeObj.MY_URL) { + homeHtmlCache = html + } + let list = _pdfa(html, p0.replace("json:", "")); + if (list && list.length > 0) { + classes = list + } + } + } catch (e) { + console.log(e.message) + } + } else if (p.length >= 3 && !is_json) { + try { + let html = homeObj.home_html || getHtml(homeObj.MY_URL); + if (html) { + homeHtmlCache = html; + let list = _pdfa(html, p0); + if (list && list.length > 0) { + list.forEach((it, idex) => { + try { + let name = _pdfh(it, p[1]); + if (homeObj.cate_exclude && new RegExp(homeObj.cate_exclude).test(name)) { + return + } + let url = _pd(it, p[2]); + if (p.length > 3 && p[3] && !homeObj.home_html) { + let exp = new RegExp(p[3]); + url = url.match(exp)[1] + } + classes.push({ + type_id: url.trim(), + type_name: name.trim() + }) + } catch (e) { + console.log(`分类列表定位第${idex}个元素正常报错:${e.message}`) + } + }) + } + } + } catch (e) { + console.log(e.message) + } + } + } + } + classes = classes.filter(it => !homeObj.cate_exclude || !new RegExp(homeObj.cate_exclude).test(it.type_name)); + let resp = { + class: classes + }; + if (homeObj.filter) { + resp.filters = homeObj.filter + } + console.log(JSON.stringify(resp)); + return JSON.stringify(resp) +} + +function getPP(p, pn, pp, ppn) { + try { + let ps = p[pn] === "*" && pp.length > ppn ? pp[ppn] : p[pn]; + return ps + } catch (e) { + return "" + } +} + +function homeVodParse(homeVodObj) { + fetch_params = JSON.parse(JSON.stringify(rule_fetch_params)); + let d = []; + MY_URL = homeVodObj.homeUrl; + console.log(MY_URL); + let t1 = (new Date).getTime(); + let p = homeVodObj.推荐; + print("p:" + p); + if (p === "*" && rule.一级) { + p = rule.一级; + homeVodObj.double = false + } + if (!p || typeof p !== "string") { + return "{}" + } + p = p.trim(); + let pp = rule.一级 ? rule.一级.split(";") : []; + if (p.startsWith("js:")) { + const TYPE = "home"; + var input = MY_URL; + HOST = rule.host; + eval(p.replace("js:", "")); + d = VODS + } else { + p = p.split(";"); + if (!homeVodObj.double && p.length < 5) { + return "{}" + } else if (homeVodObj.double && p.length < 6) { + return "{}" + } + let p0 = getPP(p, 0, pp, 0); + let _ps = parseTags.getParse(p0); + _pdfa = _ps.pdfa; + _pdfh = _ps.pdfh; + _pd = _ps.pd; + let is_json = p0.startsWith("json:"); + p0 = p0.replace(/^(jsp:|json:|jq:)/, ""); + let html = homeHtmlCache || getHtml(MY_URL); + homeHtmlCache = undefined; + if (is_json) { + html = dealJson(html) + } + try { + console.log("double:" + homeVodObj.double); + if (homeVodObj.double) { + let items = _pdfa(html, p0); + let p1 = getPP(p, 1, pp, 0); + let p2 = getPP(p, 2, pp, 1); + let p3 = getPP(p, 3, pp, 2); + let p4 = getPP(p, 4, pp, 3); + let p5 = getPP(p, 5, pp, 4); + let p6 = getPP(p, 6, pp, 5); + for (let item of items) { + let items2 = _pdfa(item, p1); + for (let item2 of items2) { + try { + let title = _pdfh(item2, p2); + let img = ""; + try { + img = _pd(item2, p3) + } catch (e) {} + let desc = ""; + try { + desc = _pdfh(item2, p4) + } catch (e) {} + let links = []; + for (let _p5 of p5.split("+")) { + let link = !homeVodObj.detailUrl ? _pd(item2, _p5, MY_URL) : _pdfh(item2, _p5); + links.push(link) + } + let content; + if (p.length > 6 && p[6]) { + content = _pdfh(item2, p6) + } else { + content = "" + } + let vid = links.join("$"); + if (rule.二级 === "*") { + vid = vid + "@@" + title + "@@" + img + } + let vod = { + vod_name: title, + vod_pic: img, + vod_remarks: desc, + vod_content: content, + vod_id: vid + }; + d.push(vod) + } catch (e) { + console.log(`首页列表双层定位处理发生错误:${e.message}`) + } + } + } + } else { + let items = _pdfa(html, p0); + let p1 = getPP(p, 1, pp, 1); + let p2 = getPP(p, 2, pp, 2); + let p3 = getPP(p, 3, pp, 3); + let p4 = getPP(p, 4, pp, 4); + let p5 = getPP(p, 5, pp, 5); + for (let item of items) { + try { + let title = _pdfh(item, p1); + let img = ""; + try { + img = _pd(item, p2, MY_URL) + } catch (e) {} + let desc = ""; + try { + desc = _pdfh(item, p3) + } catch (e) {} + let links = []; + for (let _p5 of p4.split("+")) { + let link = !homeVodObj.detailUrl ? _pd(item, _p5, MY_URL) : _pdfh(item, _p5); + links.push(link) + } + let content; + if (p.length > 5 && p[5]) { + content = _pdfh(item, p5) + } else { + content = "" + } + let vid = links.join("$"); + if (rule.二级 === "*") { + vid = vid + "@@" + title + "@@" + img + } + let vod = { + vod_name: title, + vod_pic: img, + vod_remarks: desc, + vod_content: content, + vod_id: vid + }; + d.push(vod) + } catch (e) { + console.log(`首页列表单层定位处理发生错误:${e.message}`) + } + } + } + } catch (e) {} + } + let t2 = (new Date).getTime(); + console.log("加载首页推荐耗时:" + (t2 - t1) + "毫秒"); + if (rule.图片替换) { + if (rule.图片替换.startsWith("js:")) { + d.forEach(it => { + try { + var input = it.vod_pic; + eval(rule.图片替换.trim().replace("js:", "")); + it.vod_pic = input + } catch (e) { + log(`图片:${it.vod_pic}替换错误:${e.message}`) + } + }) + } else if (rule.图片替换.includes("=>")) { + let replace_from = rule.图片替换.split("=>")[0]; + let replace_to = rule.图片替换.split("=>")[1]; + d.forEach(it => { + if (it.vod_pic && it.vod_pic.startsWith("http")) { + it.vod_pic = it.vod_pic.replace(replace_from, replace_to) + } + }) + } + } + if (rule.图片来源) { + d.forEach(it => { + if (it.vod_pic && it.vod_pic.startsWith("http")) { + it.vod_pic = it.vod_pic + rule.图片来源 + } + }) + } + if (d.length > 0) { + print(d.slice(0, 2)) + } + return JSON.stringify({ + list: d + }) +} + +function categoryParse(cateObj) { + fetch_params = JSON.parse(JSON.stringify(rule_fetch_params)); + let p = cateObj.一级; + if (!p || typeof p !== "string") { + return "{}" + } + let d = []; + let url = cateObj.url.replaceAll("fyclass", cateObj.tid); + if (cateObj.pg === 1 && url.includes("[") && url.includes("]")) { + url = url.split("[")[1].split("]")[0] + } else if (cateObj.pg > 1 && url.includes("[") && url.includes("]")) { + url = url.split("[")[0] + } + if (rule.filter_url) { + if (!/fyfilter/.test(url)) { + if (!url.endsWith("&") && !rule.filter_url.startsWith("&")) { + url += "&" + } + url += rule.filter_url + } else { + url = url.replace("fyfilter", rule.filter_url) + } + url = url.replaceAll("fyclass", cateObj.tid); + let fl = cateObj.filter ? cateObj.extend : {}; + if (rule.filter_def && typeof rule.filter_def === "object") { + try { + if (Object.keys(rule.filter_def).length > 0 && rule.filter_def.hasOwnProperty(cateObj.tid)) { + let self_fl_def = rule.filter_def[cateObj.tid]; + if (self_fl_def && typeof self_fl_def === "object") { + let fl_def = JSON.parse(JSON.stringify(self_fl_def)); + fl = Object.assign(fl_def, fl) + } + } + } catch (e) { + print(`合并不同分类对应的默认筛选出错:${e.message}`) + } + } + let new_url; + new_url = cheerio.jinja2(url, { + fl: fl, + fyclass: cateObj.tid + }); + url = new_url + } + if (/fypage/.test(url)) { + if (url.includes("(") && url.includes(")")) { + let url_rep = url.match(/.*?\((.*)\)/)[1]; + let cnt_page = url_rep.replaceAll("fypage", cateObj.pg); + let cnt_pg = eval(cnt_page); + url = url.replaceAll(url_rep, cnt_pg).replaceAll("(", "").replaceAll(")", "") + } else { + url = url.replaceAll("fypage", cateObj.pg) + } + } + MY_URL = url; + console.log(MY_URL); + p = p.trim(); + const MY_CATE = cateObj.tid; + if (p.startsWith("js:")) { + var MY_FL = cateObj.extend; + const TYPE = "cate"; + var input = MY_URL; + const MY_PAGE = cateObj.pg; + var desc = ""; + eval(p.trim().replace("js:", "")); + d = VODS + } else { + p = p.split(";"); + if (p.length < 5) { + return "{}" + } + let _ps = parseTags.getParse(p[0]); + _pdfa = _ps.pdfa; + _pdfh = _ps.pdfh; + _pd = _ps.pd; + let is_json = p[0].startsWith("json:"); + p[0] = p[0].replace(/^(jsp:|json:|jq:)/, ""); + try { + let html = getHtml(MY_URL); + if (html) { + if (is_json) { + html = dealJson(html) + } + let list = _pdfa(html, p[0]); + list.forEach(it => { + let links = p[4].split("+").map(p4 => { + return !rule.detailUrl ? _pd(it, p4, MY_URL) : _pdfh(it, p4) + }); + let link = links.join("$"); + let vod_id = rule.detailUrl ? MY_CATE + "$" + link : link; + let vod_name = _pdfh(it, p[1]).replace(/\n|\t/g, "").trim(); + let vod_pic = _pd(it, p[2], MY_URL); + if (rule.二级 === "*") { + vod_id = vod_id + "@@" + vod_name + "@@" + vod_pic + } + d.push({ + vod_id: vod_id, + vod_name: vod_name, + vod_pic: vod_pic, + vod_remarks: _pdfh(it, p[3]).replace(/\n|\t/g, "").trim() + }) + }) + } + } catch (e) { + console.log(e.message) + } + } + if (rule.图片替换) { + if (rule.图片替换.startsWith("js:")) { + d.forEach(it => { + try { + var input = it.vod_pic; + eval(rule.图片替换.trim().replace("js:", "")); + it.vod_pic = input + } catch (e) { + log(`图片:${it.vod_pic}替换错误:${e.message}`) + } + }) + } else if (rule.图片替换.includes("=>")) { + let replace_from = rule.图片替换.split("=>")[0]; + let replace_to = rule.图片替换.split("=>")[1]; + d.forEach(it => { + if (it.vod_pic && it.vod_pic.startsWith("http")) { + it.vod_pic = it.vod_pic.replace(replace_from, replace_to) + } + }) + } + } + if (rule.图片来源) { + d.forEach(it => { + if (it.vod_pic && it.vod_pic.startsWith("http")) { + it.vod_pic = it.vod_pic + rule.图片来源 + } + }) + } + if (d.length > 0) { + print(d.slice(0, 2)) + } + let pagecount = 0; + if (rule.pagecount && typeof rule.pagecount === "object" && rule.pagecount.hasOwnProperty(MY_CATE)) { + print(`MY_CATE:${MY_CATE},pagecount:${JSON.stringify(rule.pagecount)}`); + pagecount = parseInt(rule.pagecount[MY_CATE]) + } + let nodata = { + list: [{ + vod_name: "无数据,防无限请求", + vod_id: "no_data", + vod_remarks: "不要点,会崩的", + vod_pic: "https://ghproxy.net/https://raw.githubusercontent.com/hjdhnx/dr_py/main/404.jpg" + }], + total: 1, + pagecount: 1, + page: 1, + limit: 1 + }; + let vod = d.length < 1 ? JSON.stringify(nodata) : JSON.stringify({ + page: parseInt(cateObj.pg), + pagecount: pagecount || 999, + limit: 20, + total: 999, + list: d + }); + return vod +} + +function searchParse(searchObj) { + fetch_params = JSON.parse(JSON.stringify(rule_fetch_params)); + let d = []; + if (!searchObj.searchUrl) { + return "{}" + } + if (rule.searchNoPage && Number(searchObj.pg) > 1) { + return "{}" + } + let p = searchObj.搜索 === "*" && rule.一级 ? rule.一级 : searchObj.搜索; + if (!p || typeof p !== "string") { + return "{}" + } + p = p.trim(); + let pp = rule.一级 ? rule.一级.split(";") : []; + let url = searchObj.searchUrl.replaceAll("**", searchObj.wd); + if (searchObj.pg === 1 && url.includes("[") && url.includes("]") && !url.includes("#")) { + url = url.split("[")[1].split("]")[0] + } else if (searchObj.pg > 1 && url.includes("[") && url.includes("]") && !url.includes("#")) { + url = url.split("[")[0] + } + if (/fypage/.test(url)) { + if (url.includes("(") && url.includes(")")) { + let url_rep = url.match(/.*?\((.*)\)/)[1]; + let cnt_page = url_rep.replaceAll("fypage", searchObj.pg); + let cnt_pg = eval(cnt_page); + url = url.replaceAll(url_rep, cnt_pg).replaceAll("(", "").replaceAll(")", "") + } else { + url = url.replaceAll("fypage", searchObj.pg) + } + } + MY_URL = url; + console.log(MY_URL); + if (p.startsWith("js:")) { + const TYPE = "search"; + const MY_PAGE = searchObj.pg; + const KEY = searchObj.wd; + var input = MY_URL; + var detailUrl = rule.detailUrl || ""; + eval(p.trim().replace("js:", "")); + d = VODS + } else { + p = p.split(";"); + if (p.length < 5) { + return "{}" + } + let p0 = getPP(p, 0, pp, 0); + let _ps = parseTags.getParse(p0); + _pdfa = _ps.pdfa; + _pdfh = _ps.pdfh; + _pd = _ps.pd; + let is_json = p0.startsWith("json:"); + p0 = p0.replace(/^(jsp:|json:|jq:)/, ""); + try { + let req_method = MY_URL.split(";").length > 1 ? MY_URL.split(";")[1].toLowerCase() : "get"; + let html; + if (req_method === "post") { + let rurls = MY_URL.split(";")[0].split("#"); + let rurl = rurls[0]; + let params = rurls.length > 1 ? rurls[1] : ""; + print(`post=》rurl:${rurl},params:${params}`); + let _fetch_params = JSON.parse(JSON.stringify(rule_fetch_params)); + let postData = { + body: params + }; + Object.assign(_fetch_params, postData); + html = post(rurl, _fetch_params) + } else if (req_method === "postjson") { + let rurls = MY_URL.split(";")[0].split("#"); + let rurl = rurls[0]; + let params = rurls.length > 1 ? rurls[1] : ""; + print(`postjson-》rurl:${rurl},params:${params}`); + try { + params = JSON.parse(params) + } catch (e) { + params = "{}" + } + let _fetch_params = JSON.parse(JSON.stringify(rule_fetch_params)); + let postData = { + body: params + }; + Object.assign(_fetch_params, postData); + html = post(rurl, _fetch_params) + } else { + html = getHtml(MY_URL) + } + if (html) { + let search_tag = rule.搜索验证标识 || "系统安全验证|输入验证码"; + if (new RegExp(search_tag).test(html)) { + let cookie = verifyCode(MY_URL); + if (cookie) { + console.log(`本次成功过验证,cookie:${cookie}`); + setItem(RULE_CK, cookie) + } else { + console.log(`本次自动过搜索验证失败,cookie:${cookie}`) + } + html = getHtml(MY_URL) + } + if (!html.includes(searchObj.wd)) { + console.log("搜索结果源码未包含关键字,疑似搜索失败,正为您打印结果源码"); + console.log(html) + } + if (is_json) { + html = dealJson(html) + } + let list = _pdfa(html, p0); + let p1 = getPP(p, 1, pp, 1); + let p2 = getPP(p, 2, pp, 2); + let p3 = getPP(p, 3, pp, 3); + let p4 = getPP(p, 4, pp, 4); + let p5 = getPP(p, 5, pp, 5); + list.forEach(it => { + let links = p4.split("+").map(_p4 => { + return !rule.detailUrl ? _pd(it, _p4, MY_URL) : _pdfh(it, _p4) + }); + let link = links.join("$"); + let content; + if (p.length > 5 && p[5]) { + content = _pdfh(it, p5) + } else { + content = "" + } + let vod_id = link; + let vod_name = _pdfh(it, p1).replace(/\n|\t/g, "").trim(); + let vod_pic = _pd(it, p2, MY_URL); + if (rule.二级 === "*") { + vod_id = vod_id + "@@" + vod_name + "@@" + vod_pic + } + let ob = { + vod_id: vod_id, + vod_name: vod_name, + vod_pic: vod_pic, + vod_remarks: _pdfh(it, p3).replace(/\n|\t/g, "").trim(), + vod_content: content.replace(/\n|\t/g, "").trim() + }; + d.push(ob) + }) + } + } catch (e) { + print(`搜索发生错误:${e.message}`); + return "{}" + } + } + if (rule.图片替换) { + if (rule.图片替换.startsWith("js:")) { + d.forEach(it => { + try { + var input = it.vod_pic; + eval(rule.图片替换.trim().replace("js:", "")); + it.vod_pic = input + } catch (e) { + log(`图片:${it.vod_pic}替换错误:${e.message}`) + } + }) + } else if (rule.图片替换.includes("=>")) { + let replace_from = rule.图片替换.split("=>")[0]; + let replace_to = rule.图片替换.split("=>")[1]; + d.forEach(it => { + if (it.vod_pic && it.vod_pic.startsWith("http")) { + it.vod_pic = it.vod_pic.replace(replace_from, replace_to) + } + }) + } + } + if (rule.图片来源) { + d.forEach(it => { + if (it.vod_pic && it.vod_pic.startsWith("http")) { + it.vod_pic = it.vod_pic + rule.图片来源 + } + }) + } + return JSON.stringify({ + page: parseInt(searchObj.pg), + pagecount: 10, + limit: 20, + total: 100, + list: d + }) +} + +function detailParse(detailObj) { + let t1 = (new Date).getTime(); + fetch_params = JSON.parse(JSON.stringify(rule_fetch_params)); + let orId = detailObj.orId; + let vod_name = "片名"; + let vod_pic = ""; + let vod_id = orId; + if (rule.二级 === "*") { + let extra = orId.split("@@"); + vod_name = extra.length > 1 ? extra[1] : vod_name; + vod_pic = extra.length > 2 ? extra[2] : vod_pic + } + let vod = { + vod_id: vod_id, + vod_name: vod_name, + vod_pic: vod_pic, + type_name: "类型", + vod_year: "年份", + vod_area: "地区", + vod_remarks: "更新信息", + vod_actor: "主演", + vod_director: "导演", + vod_content: "简介" + }; + let p = detailObj.二级; + let url = detailObj.url; + let detailUrl = detailObj.detailUrl; + let fyclass = detailObj.fyclass; + let tab_exclude = detailObj.tab_exclude; + let html = detailObj.html || ""; + MY_URL = url; + if (detailObj.二级访问前) { + try { + print(`尝试在二级访问前执行代码:${detailObj.二级访问前}`); + eval(detailObj.二级访问前.trim().replace("js:", "")) + } catch (e) { + print(`二级访问前执行代码出现错误:${e.message}`) + } + } + if (p === "*") { + vod.vod_play_from = "在线播放"; + vod.vod_remarks = detailUrl; + vod.vod_actor = "没有二级,只有一级链接直接嗅探播放"; + vod.vod_content = MY_URL; + vod.vod_play_url = "嗅探播放$" + MY_URL.split("@@")[0] + } else if (typeof p === "string" && p.trim().startsWith("js:")) { + const TYPE = "detail"; + var input = MY_URL; + var play_url = ""; + eval(p.trim().replace("js:", "")); + vod = VOD; + console.log(JSON.stringify(vod)) + } else if (p && typeof p === "object") { + let tt1 = (new Date).getTime(); + if (!html) { + html = getHtml(MY_URL) + } + print(`二级${MY_URL}仅获取源码耗时:${(new Date).getTime()-tt1}毫秒`); + let _ps; + if (p.is_json) { + print("二级是json"); + _ps = parseTags.json; + html = dealJson(html) + } else if (p.is_jsp) { + print("二级是jsp"); + _ps = parseTags.jsp + } else if (p.is_jq) { + print("二级是jq"); + _ps = parseTags.jq + } else { + print("二级默认jq"); + _ps = parseTags.jq + } + let tt2 = (new Date).getTime(); + print(`二级${MY_URL}获取并装载源码耗时:${tt2-tt1}毫秒`); + _pdfa = _ps.pdfa; + _pdfh = _ps.pdfh; + _pd = _ps.pd; + if (p.title) { + let p1 = p.title.split(";"); + vod.vod_name = _pdfh(html, p1[0]).replace(/\n|\t/g, "").trim(); + let type_name = p1.length > 1 ? _pdfh(html, p1[1]).replace(/\n|\t/g, "").replace(/ /g, "").trim() : ""; + vod.type_name = type_name || vod.type_name + } + if (p.desc) { + try { + let p1 = p.desc.split(";"); + vod.vod_remarks = _pdfh(html, p1[0]).replace(/\n|\t/g, "").trim(); + vod.vod_year = p1.length > 1 ? _pdfh(html, p1[1]).replace(/\n|\t/g, "").trim() : ""; + vod.vod_area = p1.length > 2 ? _pdfh(html, p1[2]).replace(/\n|\t/g, "").trim() : ""; + vod.vod_actor = p1.length > 3 ? _pdfh(html, p1[3]).replace(/\n|\t/g, "").trim() : ""; + vod.vod_director = p1.length > 4 ? _pdfh(html, p1[4]).replace(/\n|\t/g, "").trim() : "" + } catch (e) {} + } + if (p.content) { + try { + let p1 = p.content.split(";"); + vod.vod_content = _pdfh(html, p1[0]).replace(/\n|\t/g, "").trim() + } catch (e) {} + } + if (p.img) { + try { + let p1 = p.img.split(";"); + vod.vod_pic = _pd(html, p1[0], MY_URL) + } catch (e) {} + } + let vod_play_from = "$$$"; + let playFrom = []; + if (p.重定向 && p.重定向.startsWith("js:")) { + print("开始执行重定向代码:" + p.重定向); + html = eval(p.重定向.replace("js:", "")) + } + if (p.tabs) { + if (p.tabs.startsWith("js:")) { + print("开始执行tabs代码:" + p.tabs); + var input = MY_URL; + eval(p.tabs.replace("js:", "")); + playFrom = TABS + } else { + let p_tab = p.tabs.split(";")[0]; + let vHeader = _pdfa(html, p_tab); + console.log(vHeader.length); + let tab_text = p.tab_text || "body&&Text"; + let new_map = {}; + for (let v of vHeader) { + let v_title = _pdfh(v, tab_text).trim(); + if (!v_title) { + v_title = "线路空" + } + console.log(v_title); + if (tab_exclude && new RegExp(tab_exclude).test(v_title)) { + continue + } + if (!new_map.hasOwnProperty(v_title)) { + new_map[v_title] = 1 + } else { + new_map[v_title] += 1 + } + if (new_map[v_title] > 1) { + v_title += Number(new_map[v_title] - 1) + } + playFrom.push(v_title) + } + } + console.log(JSON.stringify(playFrom)) + } else { + playFrom = ["在线播放"] + } + vod.vod_play_from = playFrom.join(vod_play_from); + let vod_play_url = "$$$"; + let vod_tab_list = []; + if (p.lists) { + if (p.lists.startsWith("js:")) { + print("开始执行lists代码:" + p.lists); + try { + var input = MY_URL; + var play_url = ""; + eval(p.lists.replace("js:", "")); + for (let i in LISTS) { + if (LISTS.hasOwnProperty(i)) { + try { + LISTS[i] = LISTS[i].map(it => it.split("$").slice(0, 2).join("$")) + } catch (e) { + print(`格式化LISTS发生错误:${e.message}`) + } + } + } + vod_play_url = LISTS.map(it => it.join("#")).join(vod_play_url) + } catch (e) { + print(`js执行lists: 发生错误:${e.message}`) + } + } else { + let list_text = p.list_text || "body&&Text"; + let list_url = p.list_url || "a&&href"; + let list_url_prefix = p.list_url_prefix || ""; + let is_tab_js = p.tabs.trim().startsWith("js:"); + for (let i = 0; i < playFrom.length; i++) { + let tab_name = playFrom[i]; + let tab_ext = p.tabs.split(";").length > 1 && !is_tab_js ? p.tabs.split(";")[1] : ""; + let p1 = p.lists.replaceAll("#idv", tab_name).replaceAll("#id", i); + tab_ext = tab_ext.replaceAll("#idv", tab_name).replaceAll("#id", i); + let tabName = tab_ext ? _pdfh(html, tab_ext) : tab_name; + console.log(tabName); + let new_vod_list = []; + let tt1 = (new Date).getTime(); + if (typeof pdfl === "function") { + new_vod_list = pdfl(html, p1, list_text, list_url, MY_URL); + if (list_url_prefix) { + new_vod_list = new_vod_list.map(it => it.split("$")[0] + "$" + list_url_prefix + it.split("$").slice(1).join("$")) + } + } else { + let vodList = []; + try { + vodList = _pdfa(html, p1); + console.log("len(vodList):" + vodList.length) + } catch (e) {} + for (let i = 0; i < vodList.length; i++) { + let it = vodList[i]; + new_vod_list.push(_pdfh(it, list_text).trim() + "$" + list_url_prefix + _pd(it, list_url, MY_URL)) + } + } + if (new_vod_list.length > 0) { + new_vod_list = forceOrder(new_vod_list, "", x => x.split("$")[0]); + console.log(`drpy影响性能代码共计列表数循环次数:${new_vod_list.length},耗时:${(new Date).getTime()-tt1}毫秒`) + } + let vlist = new_vod_list.join("#"); + vod_tab_list.push(vlist) + } + vod_play_url = vod_tab_list.join(vod_play_url) + } + } + vod.vod_play_url = vod_play_url + } + if (rule.图片替换 && rule.图片替换.includes("=>")) { + let replace_from = rule.图片替换.split("=>")[0]; + let replace_to = rule.图片替换.split("=>")[1]; + vod.vod_pic = vod.vod_pic.replace(replace_from, replace_to) + } + if (rule.图片来源 && vod.vod_pic && vod.vod_pic.startsWith("http")) { + vod.vod_pic = vod.vod_pic + rule.图片来源 + } + if (!vod.vod_id || vod_id.includes("$") && vod.vod_id !== vod_id) { + vod.vod_id = vod_id + } + let t2 = (new Date).getTime(); + console.log(`加载二级界面${MY_URL}耗时:${t2-t1}毫秒`); + try { + vod = vodDeal(vod) + } catch (e) { + console.log(`vodDeal发生错误:${e.message}`) + } + return JSON.stringify({ + list: [vod] + }) +} + +function get_tab_index(vod) { + let obj = {}; + vod.vod_play_from.split("$$$").forEach((it, index) => { + obj[it] = index + }); + return obj +} + +function vodDeal(vod) { + let vod_play_from = vod.vod_play_from.split("$$$"); + let vod_play_url = vod.vod_play_url.split("$$$"); + let tab_removed_list = vod_play_from; + let tab_ordered_list = vod_play_from; + let tab_renamed_list = vod_play_from; + let tab_list = vod_play_from; + let play_ordered_list = vod_play_url; + if (rule.tab_remove && rule.tab_remove.length > 0 || rule.tab_order && rule.tab_order.length > 0) { + let tab_index_dict = get_tab_index(vod); + if (rule.tab_remove && rule.tab_remove.length > 0) { + tab_removed_list = vod_play_from.filter(it => !rule.tab_remove.includes(it)); + tab_list = tab_removed_list + } + if (rule.tab_order && rule.tab_order.length > 0) { + let tab_order = rule.tab_order; + tab_ordered_list = tab_removed_list.sort((a, b) => { + const getOrderIndex = (tabName, orderRules) => { + for (let i = 0; i < orderRules.length; i++) { + if (tabName.includes(orderRules[i])) { + return i + } + } + return 9999 + }; + const indexA = getOrderIndex(a, tab_order); + const indexB = getOrderIndex(b, tab_order); + return indexA - indexB + }); + tab_list = tab_ordered_list + } + play_ordered_list = tab_list.map(it => vod_play_url[tab_index_dict[it]]) + } + if (rule.tab_rename && typeof rule.tab_rename === "object" & Object.keys(rule.tab_rename).length > 0) { + tab_renamed_list = tab_list.map(it => rule.tab_rename[it] || it); + tab_list = tab_renamed_list + } + vod.vod_play_from = tab_list.join("$$$"); + vod.vod_play_url = play_ordered_list.join("$$$"); + return vod +} + +function tellIsJx(url) { + try { + let is_vip = !/\.(m3u8|mp4|m4a)$/.test(url.split("?")[0]) && 是否正版(url); + return is_vip ? 1 : 0 + } catch (e) { + return 1 + } +} + +function playParse(playObj) { + fetch_params = JSON.parse(JSON.stringify(rule_fetch_params)); + MY_URL = playObj.url; + var MY_FLAG = playObj.flag; + if (!/http/.test(MY_URL)) { + try { + MY_URL = base64Decode(MY_URL) + } catch (e) {} + } + MY_URL = decodeURIComponent(MY_URL); + var input = MY_URL; + var flag = MY_FLAG; + let common_play = { + parse: SPECIAL_URL.test(input) || /^(push:)/.test(input) ? 0 : 1, + url: input, + flag: flag, + jx: tellIsJx(input) + }; + let lazy_play; + if (!rule.play_parse || !rule.lazy) { + lazy_play = common_play + } else if (rule.play_parse && rule.lazy && typeof rule.lazy === "string") { + try { + let lazy_code = rule.lazy.trim(); + if (lazy_code.startsWith("js:")) { + lazy_code = lazy_code.replace("js:", "").trim() + } + print("开始执行js免嗅=>" + lazy_code); + eval(lazy_code); + lazy_play = typeof input === "object" ? input : { + parse: SPECIAL_URL.test(input) || /^(push:)/.test(input) ? 0 : 1, + jx: tellIsJx(input), + url: input + } + } catch (e) { + print(`js免嗅错误:${e.message}`); + lazy_play = common_play + } + } else { + lazy_play = common_play + } + if (Array.isArray(rule.play_json) && rule.play_json.length > 0) { + let web_url = lazy_play.url; + for (let pjson of rule.play_json) { + if (pjson.re && (pjson.re === "*" || web_url.match(new RegExp(pjson.re)))) { + if (pjson.json && typeof pjson.json === "object") { + let base_json = pjson.json; + lazy_play = Object.assign(lazy_play, base_json); + break + } + } + } + } else if (rule.play_json && !Array.isArray(rule.play_json)) { + let base_json = { + jx: 1, + parse: 1 + }; + lazy_play = Object.assign(lazy_play, base_json) + } else if (!rule.play_json) { + let base_json = { + jx: 0, + parse: 1 + }; + lazy_play = Object.assign(lazy_play, base_json) + } + console.log(JSON.stringify(lazy_play)); + return JSON.stringify(lazy_play) +} + +function proxyParse(proxyObj) { + var input = proxyObj.params; + if (proxyObj.proxy_rule) { + log("准备执行本地代理规则:\n" + proxyObj.proxy_rule); + try { + eval(proxyObj.proxy_rule); + if (input && input !== proxyObj.params && Array.isArray(input) && input.length >= 3) { + return input + } else { + return [404, "text/plain", "Not Found"] + } + } catch (e) { + return [500, "text/plain", "代理规则错误:" + e.message] + } + } else { + return [404, "text/plain", "Not Found"] + } +} + +function isVideoParse(isVideoObj) { + var input = isVideoObj.url; + if (!isVideoObj.t) { + let re_matcher = new RegExp(isVideoObj.isVideo, "i"); + return re_matcher.test(input) + } else { + try { + eval(isVideoObj.isVideo); + if (typeof input === "boolean") { + return input + } else { + return false + } + } catch (e) { + log(`执行嗅探规则发生错误:${e.message}`); + return false + } + } +} + +function removeHeader(content, options = {}) { + const { + mode = "header-only", fileType + } = options; + const COMMENT_CONFIG = { + ".js": { + start: "/*", + end: "*/", + regex: /^\s*\/\*([\s\S]*?)\*\/\s*/, + headerRegex: /@header\(([\s\S]*?)\)/, + topCommentsRegex: /^(\s*(\/\/[^\n]*\n|\/\*[\s\S]*?\*\/)\s*)+/ + }, + ".py": { + start: '"""', + end: '"""', + regex: /^\s*"""([\s\S]*?)"""\s*/, + headerRegex: /@header\(([\s\S]*?)\)/, + topCommentsRegex: /^(\s*(#[^\n]*\n|'''[\s\S]*?'''|"""[\s\S]*?""")\s*)+/ + } + }; + if (!fileType) throw new Error("fileType option is required"); + const ext = fileType.startsWith(".") ? fileType : `.${fileType}`; + const config = COMMENT_CONFIG[ext]; + if (!config) throw new Error(`Unsupported file type: ${ext}`); + if (mode === "top-comments") { + const match = content.match(config.topCommentsRegex); + if (match) { + return content.substring(match[0].length).trim() + } + return content.trim() + } + const match = content.match(config.regex); + if (!match) return content.trim(); + let [fullComment, innerContent] = match; + if (config.headerRegex.test(innerContent)) { + innerContent = innerContent.replace(config.headerRegex, ""); + const cleanedInner = innerContent.split("\n").filter(line => line.trim().length > 0).join("\n"); + if (!cleanedInner.trim()) { + return content.replace(fullComment, "").trim() + } else { + const newComment = `${config.start}${cleanedInner}${config.end}`; + return content.replace(fullComment, newComment).trim() + } + } + return content.trim() +} + +function getOriginalJs(js_code) { + let current_match = /var rule|function|let |var |const|class Rule|async|this\./; + if (current_match.test(js_code)) { + return js_code + } + js_code = removeHeader(js_code, { + mode: "top-comments", + fileType: ".js" + }); + let rsa_private_key = "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCqin/jUpqM6+fgYP/oMqj9zcdHMM0mEZXLeTyixIJWP53lzJV2N2E3OP6BBpUmq2O1a9aLnTIbADBaTulTNiOnVGoNG58umBnupnbmmF8iARbDp2mTzdMMeEgLdrfXS6Y3VvazKYALP8EhEQykQVarexR78vRq7ltY3quXx7cgI0ROfZz5Sw3UOLQJ+VoWmwIxu9AMEZLVzFDQN93hzuzs3tNyHK6xspBGB7zGbwCg+TKi0JeqPDrXxYUpAz1cQ/MO+Da0WgvkXnvrry8NQROHejdLVOAslgr6vYthH9bKbsGyNY3H+P12kcxo9RAcVveONnZbcMyxjtF5dWblaernAgMBAAECggEAGdEHlSEPFmAr5PKqKrtoi6tYDHXdyHKHC5tZy4YV+Pp+a6gxxAiUJejx1hRqBcWSPYeKne35BM9dgn5JofgjI5SKzVsuGL6bxl3ayAOu+xXRHWM9f0t8NHoM5fdd0zC3g88dX3fb01geY2QSVtcxSJpEOpNH3twgZe6naT2pgiq1S4okpkpldJPo5GYWGKMCHSLnKGyhwS76gF8bTPLoay9Jxk70uv6BDUMlA4ICENjmsYtd3oirWwLwYMEJbSFMlyJvB7hjOjR/4RpT4FPnlSsIpuRtkCYXD4jdhxGlvpXREw97UF2wwnEUnfgiZJ2FT/MWmvGGoaV/CfboLsLZuQKBgQDTNZdJrs8dbijynHZuuRwvXvwC03GDpEJO6c1tbZ1s9wjRyOZjBbQFRjDgFeWs9/T1aNBLUrgsQL9c9nzgUziXjr1Nmu52I0Mwxi13Km/q3mT+aQfdgNdu6ojsI5apQQHnN/9yMhF6sNHg63YOpH+b+1bGRCtr1XubuLlumKKscwKBgQDOtQ2lQjMtwsqJmyiyRLiUOChtvQ5XI7B2mhKCGi8kZ+WEAbNQcmThPesVzW+puER6D4Ar4hgsh9gCeuTaOzbRfZ+RLn3Aksu2WJEzfs6UrGvm6DU1INn0z/tPYRAwPX7sxoZZGxqML/z+/yQdf2DREoPdClcDa2Lmf1KpHdB+vQKBgBXFCVHz7a8n4pqXG/HvrIMJdEpKRwH9lUQS/zSPPtGzaLpOzchZFyQQBwuh1imM6Te+VPHeldMh3VeUpGxux39/m+160adlnRBS7O7CdgSsZZZ/dusS06HAFNraFDZf1/VgJTk9BeYygX+AZYu+0tReBKSs9BjKSVJUqPBIVUQXAoGBAJcZ7J6oVMcXxHxwqoAeEhtvLcaCU9BJK36XQ/5M67ceJ72mjJC6/plUbNukMAMNyyi62gO6I9exearecRpB/OGIhjNXm99Ar59dAM9228X8gGfryLFMkWcO/fNZzb6lxXmJ6b2LPY3KqpMwqRLTAU/zy+ax30eFoWdDHYa4X6e1AoGAfa8asVGOJ8GL9dlWufEeFkDEDKO9ww5GdnpN+wqLwePWqeJhWCHad7bge6SnlylJp5aZXl1+YaBTtOskC4Whq9TP2J+dNIgxsaF5EFZQJr8Xv+lY9lu0CruYOh9nTNF9x3nubxJgaSid/7yRPfAGnsJRiknB5bsrCvgsFQFjJVs="; + let decode_content = ""; + + function aes_decrypt(data) { + let key = CryptoJS.enc.Hex.parse("686A64686E780A0A0A0A0A0A0A0A0A0A"); + let iv = CryptoJS.enc.Hex.parse("647A797964730A0A0A0A0A0A0A0A0A0A"); + let encrypted = CryptoJS.AES.decrypt({ + ciphertext: CryptoJS.enc.Base64.parse(data) + }, key, { + iv: iv, + mode: CryptoJS.mode.CBC, + padding: CryptoJS.pad.Pkcs7 + }).toString(CryptoJS.enc.Utf8); + return encrypted + } + let error_log = false; + + function logger(text) { + if (error_log) { + log(text) + } + } + let decode_funcs = [text => { + try { + return ungzip(text) + } catch (e) { + logger("非gzip加密"); + return "" + } + }, text => { + try { + return base64Decode(text) + } catch (e) { + logger("非b64加密"); + return "" + } + }, text => { + try { + return aes_decrypt(text) + } catch (e) { + logger("非aes加密"); + return "" + } + }, text => { + try { + return RSA.decode(text, rsa_private_key, null) + } catch (e) { + logger("非rsa加密"); + return "" + } + }]; + let func_index = 0; + while (!current_match.test(decode_content)) { + decode_content = decode_funcs[func_index](js_code); + func_index++; + if (func_index >= decode_funcs.length) { + break + } + } + return decode_content +} + +function runMain(main_func_code, arg) { + let mainFunc = function() { + return "" + }; + try { + eval(main_func_code + "\nmainFunc=main;"); + return mainFunc(arg) + } catch (e) { + log(`执行main_funct发生了错误:${e.message}`); + return "" + } +} + +function init(ext) { + console.log("init"); + rule = {}; + rule_fetch_params = {}; + fetch_params = null; + try { + let muban = 模板.getMubans(); + if (typeof ext == "object") { + rule = ext + } else if (typeof ext == "string") { + let is_file = ext.startsWith("file://"); + if (ext.startsWith("http") || is_file) { + let query = getQuery(ext); + if (is_file) { + ext = ext.split("?")[0] + } + let js = request(ext, { + method: "GET" + }); + if (js) { + js = getOriginalJs(js); + eval("(function(){" + js.replace("var rule", "rule") + "})()") + } + if (query.type === "url" && query.params) { + if (is_file && /^http/.test(query.params)) { + rule.params = query.params + } else { + rule.params = urljoin(ext, query.params) + } + } else if (query.params) { + rule.params = query.params + } + } else { + ext = getOriginalJs(ext); + eval("(function(){" + ext.replace("var rule", "rule") + "})()") + } + } else { + console.log(`规则加载失败,不支持的规则类型:${typeof ext}`); + return + } + rule.host = (rule.host || "").rstrip("/"); + HOST = rule.host; + if (rule.hostJs) { + console.log(`检测到hostJs,准备执行...`); + try { + eval(rule.hostJs); + rule.host = HOST.rstrip("/") + } catch (e) { + console.log(`执行${rule.hostJs}获取host发生错误:${e.message}`) + } + } + if (rule["模板"] === "自动") { + try { + let host_headers = rule["headers"] || {}; + let host_html = getCode(HOST, { + headers: host_headers + }); + let match_muban = ""; + let muban_keys = Object.keys(muban).filter(it => !/默认|短视2|采集1/.test(it)); + for (let muban_key of muban_keys) { + try { + let host_data = JSON.parse(home({}, host_html, muban[muban_key].class_parse)); + if (host_data.class && host_data.class.length > 0) { + match_muban = muban_key; + console.log(`自动匹配模板:【${muban_key}】`); + break + } + } catch (e) { + console.log(`自动匹配模板:【${muban_key}】错误:${e.message}`) + } + } + if (match_muban) { + muban["自动"] = muban[match_muban]; + if (rule["模板修改"] && rule["模板修改"].startsWith("js:")) { + eval(rule["模板修改"].replace("js:", "").trim()) + } + } else { + delete rule["模板"] + } + } catch (e) { + delete rule["模板"] + } + } + if (rule.模板 && muban.hasOwnProperty(rule.模板)) { + print("继承模板:" + rule.模板); + rule = Object.assign(muban[rule.模板], rule) + } + let rule_cate_excludes = (rule.cate_exclude || "").split("|").filter(it => it.trim()); + let rule_tab_excludes = (rule.tab_exclude || "").split("|").filter(it => it.trim()); + rule_cate_excludes = rule_cate_excludes.concat(CATE_EXCLUDE.split("|").filter(it => it.trim())); + rule_tab_excludes = rule_tab_excludes.concat(TAB_EXCLUDE.split("|").filter(it => it.trim())); + rule.cate_exclude = rule_cate_excludes.join("|"); + rule.tab_exclude = rule_tab_excludes.join("|"); + rule.类型 = rule.类型 || "影视"; + rule.url = rule.url || ""; + rule.double = rule.double || false; + rule.homeUrl = rule.homeUrl || ""; + rule.detailUrl = rule.detailUrl || ""; + rule.searchUrl = rule.searchUrl || ""; + rule.homeUrl = rule.host && rule.homeUrl ? urljoin(rule.host, rule.homeUrl) : rule.homeUrl || rule.host; + rule.homeUrl = cheerio.jinja2(rule.homeUrl, { + rule: rule + }); + rule.detailUrl = rule.host && rule.detailUrl ? urljoin(rule.host, rule.detailUrl) : rule.detailUrl; + rule.二级访问前 = rule.二级访问前 || ""; + if (rule.url.includes("[") && rule.url.includes("]")) { + let u1 = rule.url.split("[")[0]; + let u2 = rule.url.split("[")[1].split("]")[0]; + rule.url = rule.host && rule.url ? urljoin(rule.host, u1) + "[" + urljoin(rule.host, u2) + "]" : rule.url + } else { + rule.url = rule.host && rule.url ? urljoin(rule.host, rule.url) : rule.url + } + if (rule.searchUrl.includes("[") && rule.searchUrl.includes("]") && !rule.searchUrl.includes("#")) { + let u1 = rule.searchUrl.split("[")[0]; + let u2 = rule.searchUrl.split("[")[1].split("]")[0]; + rule.searchUrl = rule.host && rule.searchUrl ? urljoin(rule.host, u1) + "[" + urljoin(rule.host, u2) + "]" : rule.searchUrl + } else { + rule.searchUrl = rule.host && rule.searchUrl ? urljoin(rule.host, rule.searchUrl) : rule.searchUrl + } + rule.timeout = rule.timeout || 5e3; + rule.encoding = rule.编码 || rule.encoding || "utf-8"; + rule.search_encoding = rule.搜索编码 || rule.search_encoding || ""; + rule.图片来源 = rule.图片来源 || ""; + rule.图片替换 = rule.图片替换 || ""; + rule.play_json = rule.hasOwnProperty("play_json") ? rule.play_json : []; + rule.pagecount = rule.hasOwnProperty("pagecount") ? rule.pagecount : {}; + rule.proxy_rule = rule.hasOwnProperty("proxy_rule") ? rule.proxy_rule : ""; + if (!rule.hasOwnProperty("sniffer")) { + rule.sniffer = false + } + rule.sniffer = rule.hasOwnProperty("sniffer") ? rule.sniffer : ""; + rule.sniffer = !!(rule.sniffer && rule.sniffer !== "0" && rule.sniffer !== "false"); + rule.isVideo = rule.hasOwnProperty("isVideo") ? rule.isVideo : ""; + if (rule.sniffer && !rule.isVideo) { + rule.isVideo = "http((?!http).){12,}?\\.(m3u8|mp4|flv|avi|mkv|rm|wmv|mpg|m4a|mp3)\\?.*|http((?!http).){12,}\\.(m3u8|mp4|flv|avi|mkv|rm|wmv|mpg|m4a|mp3)|http((?!http).)*?video/tos*|http((?!http).)*?obj/tos*" + } + rule.tab_remove = rule.hasOwnProperty("tab_remove") ? rule.tab_remove : []; + rule.tab_order = rule.hasOwnProperty("tab_order") ? rule.tab_order : []; + rule.tab_rename = rule.hasOwnProperty("tab_rename") ? rule.tab_rename : {}; + if (rule.headers && typeof rule.headers === "object") { + try { + let header_keys = Object.keys(rule.headers); + for (let k of header_keys) { + if (k.toLowerCase() === "user-agent") { + let v = rule.headers[k]; + console.log(v); + if (["MOBILE_UA", "PC_UA", "UC_UA", "IOS_UA", "UA"].includes(v)) { + rule.headers[k] = eval(v) + } + } else if (k.toLowerCase() === "cookie") { + let v = rule.headers[k]; + if (v && v.startsWith("http")) { + console.log(v); + try { + v = fetch(v); + console.log(v); + rule.headers[k] = v + } catch (e) { + console.log(`从${v}获取cookie发生错误:${e.message}`) + } + } + } + } + } catch (e) { + console.log(`处理headers发生错误:${e.message}`) + } + } else { + rule.headers = {} + } + oheaders = deepCopy(rule.headers); + rule_fetch_params = { + headers: rule.headers, + timeout: rule.timeout, + encoding: rule.encoding + }; + RKEY = typeof key !== "undefined" && key ? key : "drpy_" + (rule.title || rule.host); + pre(); + init_test() + } catch (e) { + console.log(`init_test发生错误:${e.message}`) + } +} +let homeHtmlCache = undefined; + +function home(filter, home_html, class_parse) { + console.log("home"); + home_html = home_html || ""; + class_parse = class_parse || ""; + if (typeof rule.filter === "string" && rule.filter.trim().length > 0) { + try { + let filter_json = ungzip(rule.filter.trim()); + rule.filter = JSON.parse(filter_json) + } catch (e) { + rule.filter = {} + } + } + let homeObj = { + filter: rule.filter || false, + MY_URL: rule.homeUrl, + class_name: rule.class_name || "", + class_url: rule.class_url || "", + class_parse: class_parse || rule.class_parse || "", + cate_exclude: rule.cate_exclude, + home_html: home_html + }; + return homeParse(homeObj) +} + +function homeVod(params) { + console.log("homeVod"); + let homeVodObj = { + "推荐": rule.推荐, + double: rule.double, + homeUrl: rule.homeUrl, + detailUrl: rule.detailUrl + }; + return homeVodParse(homeVodObj) +} + +function category(tid, pg, filter, extend) { + let cateObj = { + url: rule.url, + "一级": rule.一级, + tid: tid, + pg: parseInt(pg), + filter: filter, + extend: extend + }; + return categoryParse(cateObj) +} + +function detail(vod_url) { + let orId = vod_url; + let fyclass = ""; + log("orId:" + orId); + if (vod_url.indexOf("$") > -1) { + let tmp = vod_url.split("$"); + fyclass = tmp[0]; + vod_url = tmp[1] + } + let detailUrl = vod_url.split("@@")[0]; + let url; + if (!detailUrl.startsWith("http") && !detailUrl.includes("/")) { + url = rule.detailUrl.replaceAll("fyid", detailUrl).replaceAll("fyclass", fyclass) + } else if (detailUrl.includes("/")) { + url = urljoin(rule.homeUrl, detailUrl) + } else { + url = detailUrl + } + let detailObj = { + orId: orId, + url: url, + "二级": rule.二级, + "二级访问前": rule.二级访问前, + detailUrl: detailUrl, + fyclass: fyclass, + tab_exclude: rule.tab_exclude + }; + return detailParse(detailObj) +} + +function play(flag, id, flags) { + let playObj = { + url: id, + flag: flag, + flags: flags + }; + return playParse(playObj) +} + +function search(wd, quick, pg) { + if (rule.search_encoding) { + if (rule.search_encoding.toLowerCase() !== "utf-8") { + wd = encodeStr(wd, rule.search_encoding) + } + } else if (rule.encoding && rule.encoding.toLowerCase() !== "utf-8") { + wd = encodeStr(wd, rule.encoding) + } + let searchObj = { + searchUrl: rule.searchUrl, + "搜索": rule.搜索, + wd: wd, + pg: pg || 1, + quick: quick + }; + return searchParse(searchObj) +} + +function proxy(params) { + if (rule.proxy_rule && rule.proxy_rule.trim()) { + rule.proxy_rule = rule.proxy_rule.trim() + } + if (rule.proxy_rule.startsWith("js:")) { + rule.proxy_rule = rule.proxy_rule.replace("js:", "") + } + let proxyObj = { + params: params, + proxy_rule: rule.proxy_rule + }; + return proxyParse(proxyObj) +} + +function sniffer() { + let enable_sniffer = rule.sniffer || false; + if (enable_sniffer) { + log("开始执行辅助嗅探代理规则...") + } + return enable_sniffer +} + +function isVideo(url) { + let t = 0; + let is_video; + if (rule.isVideo && rule.isVideo.trim()) { + is_video = rule.isVideo.trim() + } + if (is_video.startsWith("js:")) { + is_video = is_video.replace("js:", ""); + t = 1 + } + let isVideoObj = { + url: url, + isVideo: is_video, + t: t + }; + let result = isVideoParse(isVideoObj); + if (result) { + log("成功执行辅助嗅探规则并检测到视频地址:\n" + rule.isVideo) + } + return result +} + +function getRule(key) { + return key ? rule[key] || "" : rule +} + +function deepCopy(_obj) { + return JSON.parse(JSON.stringify(_obj)) +} + +function matchesAll(str, pattern, flatten) { + if (!pattern.global) { + pattern = new RegExp(pattern.source, "g" + (pattern.ignoreCase ? "i" : "") + (pattern.multiline ? "m" : "")) + } + var matches = []; + var match; + while ((match = pattern.exec(str)) !== null) { + matches.push(match) + } + return flatten ? matches.flat() : matches +} + +function stringUtils() { + Object.defineProperties(String.prototype, { + replaceX: { + value: function(regex, replacement) { + let matches = matchesAll(this, regex, true); + if (matches && matches.length > 1) { + const hasCaptureGroup = /\$\d/.test(replacement); + if (hasCaptureGroup) { + return this.replace(regex, m => m.replace(regex, replacement)) + } else { + return this.replace(regex, (m, p1) => m.replace(p1, replacement)) + } + } + return this.replace(regex, replacement) + }, + configurable: true, + enumerable: false, + writable: true + }, + parseX: { + get: function() { + try { + return JSON.parse(this) + } catch (e) { + console.log(e.message); + return this.startsWith("[") ? [] : {} + } + }, + configurable: true, + enumerable: false + } + }) +} + +function cut(text, start, end, method, All) { + let result = ""; + let c = (t, s, e) => { + let result = ""; + let rs = []; + let results = []; + try { + let lr = new RegExp(String.raw`${s}`.toString()); + let rr = new RegExp(String.raw`${e}`.toString()); + const segments = t.split(lr); + if (segments.length < 2) return ""; + let cutSegments = segments.slice(1).map(segment => { + let splitSegment = segment.split(rr); + return splitSegment.length < 2 ? undefined : splitSegment[0] + e + }).filter(f => f); + if (All) { + return `[${cutSegments.join(",")}]` + } else { + return cutSegments[0] + } + } catch (e) { + console.log(`Error cutting text:${e.message}`) + } + return result + }; + result = c(text, start, end); + stringUtils(); + if (method && typeof method === "function") { + result = method(result) + } + return result +} + +function DRPY() { + return { + runMain: runMain, + getRule: getRule, + init: init, + home: home, + homeVod: homeVod, + category: category, + detail: detail, + play: play, + search: search, + proxy: proxy, + sniffer: sniffer, + isVideo: isVideo, + fixAdM3u8Ai: fixAdM3u8Ai + } +} +export default { + runMain: runMain, + getRule: getRule, + init: init, + home: home, + homeVod: homeVod, + category: category, + detail: detail, + play: play, + search: search, + proxy: proxy, + sniffer: sniffer, + isVideo: isVideo, + fixAdM3u8Ai: fixAdM3u8Ai, + DRPY: DRPY +}; \ No newline at end of file diff --git a/tvboxqq/tvboxqq/潇洒/api/BLZB.py b/tvboxqq/tvboxqq/潇洒/api/BLZB.py new file mode 100644 index 0000000..6f427c7 --- /dev/null +++ b/tvboxqq/tvboxqq/潇洒/api/BLZB.py @@ -0,0 +1,314 @@ +# coding=utf-8 +# !/usr/bin/python + +""" + +作者 丢丢喵 🚓 内容均从互联网收集而来 仅供交流学习使用 版权归原创者所有 如侵犯了您的权益 请通知作者 将及时删除侵权内容 + ====================Diudiumiao==================== + +""" + +from Crypto.Util.Padding import unpad +from Crypto.Util.Padding import pad +from urllib.parse import unquote +from Crypto.Cipher import ARC4 +from urllib.parse import quote +from base.spider import Spider +from Crypto.Cipher import AES +from datetime import datetime +from bs4 import BeautifulSoup +from base64 import b64decode +import urllib.request +import urllib.parse +import datetime +import binascii +import requests +import base64 +import json +import time +import sys +import re +import os + +sys.path.append('..') + +xurl = "https://search.bilibili.com" + +xurl1 = "https://api.live.bilibili.com" + +headerx = { + 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36 Edg/129.0.0.0' + } + +class Spider(Spider): + global xurl + global xurl1 + global headerx + + def getName(self): + return "首页" + + def init(self, extend): + pass + + def isVideoFormat(self, url): + pass + + def manualVideoCheck(self): + pass + + def extract_middle_text(self, text, start_str, end_str, pl, start_index1: str = '', end_index2: str = ''): + if pl == 3: + plx = [] + while True: + start_index = text.find(start_str) + if start_index == -1: + break + end_index = text.find(end_str, start_index + len(start_str)) + if end_index == -1: + break + middle_text = text[start_index + len(start_str):end_index] + plx.append(middle_text) + text = text.replace(start_str + middle_text + end_str, '') + if len(plx) > 0: + purl = '' + for i in range(len(plx)): + matches = re.findall(start_index1, plx[i]) + output = "" + for match in matches: + match3 = re.search(r'(?:^|[^0-9])(\d+)(?:[^0-9]|$)', match[1]) + if match3: + number = match3.group(1) + else: + number = 0 + if 'http' not in match[0]: + output += f"#{match[1]}${number}{xurl}{match[0]}" + else: + output += f"#{match[1]}${number}{match[0]}" + output = output[1:] + purl = purl + output + "$$$" + purl = purl[:-3] + return purl + else: + return "" + else: + start_index = text.find(start_str) + if start_index == -1: + return "" + end_index = text.find(end_str, start_index + len(start_str)) + if end_index == -1: + return "" + + if pl == 0: + middle_text = text[start_index + len(start_str):end_index] + return middle_text.replace("\\", "") + + if pl == 1: + middle_text = text[start_index + len(start_str):end_index] + matches = re.findall(start_index1, middle_text) + if matches: + jg = ' '.join(matches) + return jg + + if pl == 2: + middle_text = text[start_index + len(start_str):end_index] + matches = re.findall(start_index1, middle_text) + if matches: + new_list = [f'{item}' for item in matches] + jg = '$$$'.join(new_list) + return jg + + def homeContent(self, filter): + result = {} + result = {"class": [{"type_id": "舞", "type_name": "舞蹈"}, + {"type_id": "音乐", "type_name": "音乐"}, + {"type_id": "手游", "type_name": "手游"}, + {"type_id": "网游", "type_name": "网游"}, + {"type_id": "单机游戏", "type_name": "单机游戏"}, + {"type_id": "虚拟主播", "type_name": "虚拟主播"}, + {"type_id": "电台", "type_name": "电台"}, + {"type_id": "体育", "type_name": "体育"}, + {"type_id": "聊天", "type_name": "聊天"}, + {"type_id": "娱乐", "type_name": "娱乐"}, + {"type_id": "电影", "type_name": "影视"}, + {"type_id": "新闻", "type_name": "新闻"}] + } + + return result + + def homeVideoContent(self): + pass + + def categoryContent(self, cid, pg, filter, ext): + result = {} + videos = [] + + if pg: + page = int(pg) + else: + page = 1 + + url = f'{xurl}/live?keyword={cid}&page={str(page)}' + detail = requests.get(url=url, headers=headerx) + detail.encoding = "utf-8" + res = detail.text + doc = BeautifulSoup(res, "lxml") + + soups = doc.find_all('div', class_="video-list-item") + + for vod in soups: + + names = vod.find('h3', class_="bili-live-card__info--tit") + name = names.text.strip().replace('直播中', '') + + id = names.find('a')['href'] + id = self.extract_middle_text(id, 'bilibili.com/', '?', 0) + + pic = vod.find('img')['src'] + if 'http' not in pic: + pic = "https:" + pic + + remarks = vod.find('a', class_="bili-live-card__info--uname") + remark = remarks.text.strip() + + video = { + "vod_id": id, + "vod_name": name, + "vod_pic": pic, + "vod_remarks": remark + } + videos.append(video) + + result = {'list': videos} + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + return result + + def detailContent(self, ids): + did = ids[0] + result = {} + videos = [] + xianlu = '' + bofang = '' + + url = f'{xurl1}/xlive/web-room/v2/index/getRoomPlayInfo?room_id={did}&platform=web&protocol=0,1&format=0,1,2&codec=0,1' + detail = requests.get(url=url, headers=headerx) + detail.encoding = "utf-8" + data = detail.json() + + content = '欢迎观看哔哩直播' + + setup = data['data']['playurl_info']['playurl']['stream'] + + nam = 0 + + for vod in setup: + + try: + host = vod['format'][nam]['codec'][0]['url_info'][1]['host'] + except (KeyError, IndexError): + continue + + base = vod['format'][nam]['codec'][0]['base_url'] + + extra = vod['format'][nam]['codec'][0]['url_info'][1]['extra'] + + id = host + base + extra + + nam = nam + 1 + + namc = f"{nam}号线路" + + bofang = bofang + namc + '$' + id + '#' + + bofang = bofang[:-1] + + xianlu = '哔哩专线' + + videos.append({ + "vod_id": did, + "vod_content": content, + "vod_play_from": xianlu, + "vod_play_url": bofang + }) + + result['list'] = videos + return result + + def playerContent(self, flag, id, vipFlags): + + result = {} + result["parse"] = 0 + result["playUrl"] = '' + result["url"] = id + result["header"] = headerx + return result + + def searchContentPage(self, key, quick, pg): + result = {} + videos = [] + + if pg: + page = int(pg) + else: + page = 1 + + url = f'{xurl}/live?keyword={key}&page={str(page)}' + detail = requests.get(url=url, headers=headerx) + detail.encoding = "utf-8" + res = detail.text + doc = BeautifulSoup(res, "lxml") + + soups = doc.find_all('div', class_="video-list-item") + + for vod in soups: + + names = vod.find('h3', class_="bili-live-card__info--tit") + name = names.text.strip().replace('直播中', '') + + id = names.find('a')['href'] + id = self.extract_middle_text(id, 'bilibili.com/', '?', 0) + + pic = vod.find('img')['src'] + if 'http' not in pic: + pic = "https:" + pic + + remarks = vod.find('a', class_="bili-live-card__info--uname") + remark = remarks.text.strip() + + video = { + "vod_id": id, + "vod_name": name, + "vod_pic": pic, + "vod_remarks": remark + } + videos.append(video) + + result['list'] = videos + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + return result + + def searchContent(self, key, quick, pg="1"): + return self.searchContentPage(key, quick, '1') + + def localProxy(self, params): + if params['type'] == "m3u8": + return self.proxyM3u8(params) + elif params['type'] == "media": + return self.proxyMedia(params) + elif params['type'] == "ts": + return self.proxyTs(params) + return None + + + + + + + + diff --git a/tvboxqq/tvboxqq/潇洒/api/JWDJ.py b/tvboxqq/tvboxqq/潇洒/api/JWDJ.py new file mode 100644 index 0000000..7350137 --- /dev/null +++ b/tvboxqq/tvboxqq/潇洒/api/JWDJ.py @@ -0,0 +1,329 @@ +# coding=utf-8 +# !/usr/bin/python + +""" + +作者 丢丢喵推荐 🚓 内容均从互联网收集而来 仅供交流学习使用 版权归原创者所有 如侵犯了您的权益 请通知作者 将及时删除侵权内容 + ====================Diudiumiao==================== + +""" + +from Crypto.Util.Padding import unpad +from Crypto.Util.Padding import pad +from urllib.parse import unquote +from Crypto.Cipher import ARC4 +from urllib.parse import quote +from base.spider import Spider +from Crypto.Cipher import AES +from datetime import datetime +from bs4 import BeautifulSoup +from base64 import b64decode +import urllib.request +import urllib.parse +import datetime +import binascii +import requests +import base64 +import json +import time +import sys +import re +import os + +sys.path.append('..') + +xurl = "https://djw1.com" + +headerx = { + 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.87 Safari/537.36' + } + +class Spider(Spider): + global xurl + global headerx + + def getName(self): + return "首页" + + def init(self, extend): + pass + + def isVideoFormat(self, url): + pass + + def manualVideoCheck(self): + pass + + def extract_middle_text(self, text, start_str, end_str, pl, start_index1: str = '', end_index2: str = ''): + if pl == 3: + plx = [] + while True: + start_index = text.find(start_str) + if start_index == -1: + break + end_index = text.find(end_str, start_index + len(start_str)) + if end_index == -1: + break + middle_text = text[start_index + len(start_str):end_index] + plx.append(middle_text) + text = text.replace(start_str + middle_text + end_str, '') + if len(plx) > 0: + purl = '' + for i in range(len(plx)): + matches = re.findall(start_index1, plx[i]) + output = "" + for match in matches: + match3 = re.search(r'(?:^|[^0-9])(\d+)(?:[^0-9]|$)', match[1]) + if match3: + number = match3.group(1) + else: + number = 0 + if 'http' not in match[0]: + output += f"#{match[1]}${number}{xurl}{match[0]}" + else: + output += f"#{match[1]}${number}{match[0]}" + output = output[1:] + purl = purl + output + "$$$" + purl = purl[:-3] + return purl + else: + return "" + else: + start_index = text.find(start_str) + if start_index == -1: + return "" + end_index = text.find(end_str, start_index + len(start_str)) + if end_index == -1: + return "" + + if pl == 0: + middle_text = text[start_index + len(start_str):end_index] + return middle_text.replace("\\", "") + + if pl == 1: + middle_text = text[start_index + len(start_str):end_index] + matches = re.findall(start_index1, middle_text) + if matches: + jg = ' '.join(matches) + return jg + + if pl == 2: + middle_text = text[start_index + len(start_str):end_index] + matches = re.findall(start_index1, middle_text) + if matches: + new_list = [f'{item}' for item in matches] + jg = '$$$'.join(new_list) + return jg + + def homeContent(self, filter): + result = {"class": []} + + detail = requests.get(url=xurl + "/all/", headers=headerx) + detail.encoding = "utf-8" + res = detail.text + + doc = BeautifulSoup(res, "lxml") + + soups = doc.find_all('section', class_="container items") + + for soup in soups: + vods = soup.find_all('li') + + for vod in vods: + + id = vod.find('a')['href'] + + name = vod.text.strip() + + result["class"].append({"type_id": id, "type_name": "" + name}) + + return result + + def homeVideoContent(self): + pass + + def categoryContent(self, cid, pg, filter, ext): + result = {} + videos = [] + + if pg: + page = int(pg) + else: + page = 1 + + url = f'{cid}page/{str(page)}/' + detail = requests.get(url=url, headers=headerx) + detail.encoding = "utf-8" + res = detail.text + doc = BeautifulSoup(res, "lxml") + + soups = doc.find_all('section', class_="container items") + + for soup in soups: + vods = soup.find_all('li') + + for vod in vods: + + name = vod.find('img')['alt'] + + ids = vod.find('a', class_="image-line") + id = ids['href'] + + pic = vod.find('img')['src'] + + remark = self.extract_middle_text(str(vod), 'class="remarks light">', '<', 0) + + video = { + "vod_id": id, + "vod_name": name, + "vod_pic": pic, + "vod_remarks": '▶️' + remark + } + videos.append(video) + + result = {'list': videos} + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + return result + + def detailContent(self, ids): + did = ids[0] + result = {} + videos = [] + xianlu = '' + bofang = '' + + if 'http' not in did: + did = xurl + did + + res = requests.get(url=did, headers=headerx) + res.encoding = "utf-8" + res = res.text + doc = BeautifulSoup(res, "lxml") + + url = 'https://fs-im-kefu.7moor-fs1.com/ly/4d2c3f00-7d4c-11e5-af15-41bf63ae4ea0/1732707176882/jiduo.txt' + response = requests.get(url) + response.encoding = 'utf-8' + code = response.text + name = self.extract_middle_text(code, "s1='", "'", 0) + Jumps = self.extract_middle_text(code, "s2='", "'", 0) + + content = self.extract_middle_text(res,'class="info-detail">','<', 0) + + remarks = self.extract_middle_text(res, 'class="info-mark">', '<', 0) + + year = self.extract_middle_text(res, 'class="info-addtime">', '<', 0) + + if name not in content: + bofang = Jumps + xianlu = '1' + else: + soups = doc.find('div', class_="ep-list-items") + + soup = soups.find_all('a') + + for sou in soup: + + id = sou['href'] + + name = sou.text.strip() + + bofang = bofang + name + '$' + id + '#' + + bofang = bofang[:-1] + + xianlu = '专线' + + videos.append({ + "vod_id": did, + "vod_remarks": remarks, + "vod_year": year, + "vod_content": content, + "vod_play_from": xianlu, + "vod_play_url": bofang + }) + + result['list'] = videos + return result + + def playerContent(self, flag, id, vipFlags): + + res = requests.get(url=id, headers=headerx) + res.encoding = "utf-8" + res = res.text + + url = self.extract_middle_text(res, '"wwm3u8":"', '"', 0).replace('\\', '') + + result = {} + result["parse"] = 0 + result["playUrl"] = '' + result["url"] = url + result["header"] = headerx + return result + + def searchContentPage(self, key, quick, pg): + result = {} + videos = [] + + if pg: + page = int(pg) + else: + page = 1 + + url = f'{xurl}/search/{key}/page/{str(page)}/' + detail = requests.get(url=url, headers=headerx) + detail.encoding = "utf-8" + res = detail.text + doc = BeautifulSoup(res, "lxml") + + soups = doc.find_all('section', class_="container items") + + for soup in soups: + vods = soup.find_all('li') + + for vod in vods: + + name = vod.find('img')['alt'] + + ids = vod.find('a', class_="image-line") + id = ids['href'] + + pic = vod.find('img')['src'] + + remark = self.extract_middle_text(str(vod), 'class="remarks light">', '<', 0) + + video = { + "vod_id": id, + "vod_name": name, + "vod_pic": pic, + "vod_remarks": '▶️' + remark + } + videos.append(video) + + result['list'] = videos + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + return result + + def searchContent(self, key, quick, pg="1"): + return self.searchContentPage(key, quick, '1') + + def localProxy(self, params): + if params['type'] == "m3u8": + return self.proxyM3u8(params) + elif params['type'] == "media": + return self.proxyMedia(params) + elif params['type'] == "ts": + return self.proxyTs(params) + return None + + + + + + + diff --git a/tvboxqq/tvboxqq/潇洒/api/WLZB.py b/tvboxqq/tvboxqq/潇洒/api/WLZB.py new file mode 100644 index 0000000..5fbeeaa --- /dev/null +++ b/tvboxqq/tvboxqq/潇洒/api/WLZB.py @@ -0,0 +1,768 @@ +# -*- coding: utf-8 -*- +# by @嗷呜 +import json +import re +import sys +import time +from base64 import b64decode, b64encode +from urllib.parse import parse_qs +import requests +from pyquery import PyQuery as pq +sys.path.append('..') +from base.spider import Spider +from concurrent.futures import ThreadPoolExecutor + + +class Spider(Spider): + + def init(self, extend=""): + tid = 'douyin' + headers = self.gethr(0, tid) + response = requests.head(self.hosts[tid], headers=headers) + ttwid = response.cookies.get('ttwid') + headers.update({ + 'authority': self.hosts[tid].split('//')[-1], + 'cookie': f'ttwid={ttwid}' if ttwid else '' + }) + self.dyheaders = headers + pass + + def getName(self): + pass + + def isVideoFormat(self, url): + pass + + def manualVideoCheck(self): + pass + + def destroy(self): + pass + + headers = [ + { + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36 Edg/126.0.0.0" + }, + { + "User-Agent": "Dart/3.4 (dart:io)" + } + ] + + excepturl = 'https://www.baidu.com' + + hosts = { + "huya": ["https://www.huya.com","https://mp.huya.com"], + "douyin": "https://live.douyin.com", + "douyu": "https://www.douyu.com", + "wangyi": "https://cc.163.com", + "bili": ["https://api.live.bilibili.com", "https://api.bilibili.com"] + } + + referers = { + "huya": "https://live.cdn.huya.com", + "douyin": "https://live.douyin.com", + "douyu": "https://m.douyu.com", + "bili": "https://live.bilibili.com" + } + + playheaders = { + "wangyi": { + "User-Agent": "ExoPlayer", + "Connection": "Keep-Alive", + "Icy-MetaData": "1" + }, + "bili": { + 'Accept': '*/*', + 'Icy-MetaData': '1', + 'referer': referers['bili'], + 'user-agent': headers[0]['User-Agent'] + }, + 'douyin': { + 'User-Agent': 'libmpv', + 'Icy-MetaData': '1' + }, + 'huya': { + 'User-Agent': 'ExoPlayer', + 'Connection': 'Keep-Alive', + 'Icy-MetaData': '1' + }, + 'douyu': { + 'User-Agent': 'libmpv', + 'Icy-MetaData': '1' + } + } + + def process_bili(self): + try: + self.blfdata = self.fetch( + f'{self.hosts["bili"][0]}/room/v1/Area/getList?need_entrance=1&parent_id=0', + headers=self.gethr(0, 'bili') + ).json() + return ('bili', [{'key': 'cate', 'name': '分类', + 'value': [{'n': i['name'], 'v': str(i['id'])} + for i in self.blfdata['data']]}]) + except Exception as e: + print(f"bili处理错误: {e}") + return 'bili', None + + def process_douyin(self): + try: + data = self.getpq(self.hosts['douyin'], headers=self.dyheaders)('script') + for i in data.items(): + if 'categoryData' in i.text(): + content = i.text() + start = content.find('{') + end = content.rfind('}') + 1 + if start != -1 and end != -1: + json_str = content[start:end] + json_str = json_str.replace('\\"', '"') + try: + self.dyifdata = json.loads(json_str) + return ('douyin', [{'key': 'cate', 'name': '分类', + 'value': [{'n': i['partition']['title'], + 'v': f"{i['partition']['id_str']}@@{i['partition']['title']}"} + for i in self.dyifdata['categoryData']]}]) + except json.JSONDecodeError as e: + print(f"douyin解析错误: {e}") + return 'douyin', None + except Exception as e: + print(f"douyin请求或处理错误: {e}") + return 'douyin', None + + def process_douyu(self): + try: + self.dyufdata = self.fetch( + f'{self.referers["douyu"]}/api/cate/list', + headers=self.headers[1] + ).json() + return ('douyu', [{'key': 'cate', 'name': '分类', + 'value': [{'n': i['cate1Name'], 'v': str(i['cate1Id'])} + for i in self.dyufdata['data']['cate1Info']]}]) + except Exception as e: + print(f"douyu错误: {e}") + return 'douyu', None + + def homeContent(self, filter): + result = {} + cateManual = { + "虎牙": "huya", + "哔哩": "bili", + "抖音": "douyin", + "斗鱼": "douyu", + "网易": "wangyi" + } + classes = [] + filters = { + 'huya': [{'key': 'cate', 'name': '分类', + 'value': [{'n': '网游', 'v': '1'}, {'n': '单机', 'v': '2'}, + {'n': '娱乐', 'v': '8'}, {'n': '手游', 'v': '3'}]}] + } + + with ThreadPoolExecutor(max_workers=3) as executor: + futures = { + executor.submit(self.process_bili): 'bili', + executor.submit(self.process_douyin): 'douyin', + executor.submit(self.process_douyu): 'douyu' + } + + for future in futures: + platform, filter_data = future.result() + if filter_data: + filters[platform] = filter_data + + for k in cateManual: + classes.append({ + 'type_name': k, + 'type_id': cateManual[k] + }) + + result['class'] = classes + result['filters'] = filters + return result + + def homeVideoContent(self): + pass + + def categoryContent(self, tid, pg, filter, extend): + vdata = [] + result = {} + pagecount = 9999 + result['page'] = pg + result['limit'] = 90 + result['total'] = 999999 + if tid == 'wangyi': + vdata, pagecount = self.wyccContent(tid, pg, filter, extend, vdata) + elif 'bili' in tid: + vdata, pagecount = self.biliContent(tid, pg, filter, extend, vdata) + elif 'huya' in tid: + vdata, pagecount = self.huyaContent(tid, pg, filter, extend, vdata) + elif 'douyin' in tid: + vdata, pagecount = self.douyinContent(tid, pg, filter, extend, vdata) + elif 'douyu' in tid: + vdata, pagecount = self.douyuContent(tid, pg, filter, extend, vdata) + result['list'] = vdata + result['pagecount'] = pagecount + return result + + def wyccContent(self, tid, pg, filter, extend, vdata): + params = { + 'format': 'json', + 'start': (int(pg) - 1) * 20, + 'size': '20', + } + response = self.fetch(f'{self.hosts[tid]}/api/category/live/', params=params, headers=self.headers[0]).json() + for i in response['lives']: + if i.get('cuteid'): + bvdata = self.buildvod( + vod_id=f"{tid}@@{i['cuteid']}", + vod_name=i.get('title'), + vod_pic=i.get('cover'), + vod_remarks=i.get('nickname'), + style={"type": "rect", "ratio": 1.33} + ) + vdata.append(bvdata) + return vdata, 9999 + + def biliContent(self, tid, pg, filter, extend, vdata): + if extend.get('cate') and pg == '1' and 'click' not in tid: + for i in self.blfdata['data']: + if str(i['id']) == extend['cate']: + for j in i['list']: + v = self.buildvod( + vod_id=f"click_{tid}@@{i['id']}@@{j['id']}", + vod_name=j.get('name'), + vod_pic=j.get('pic'), + vod_tag=1, + style={"type": "oval", "ratio": 1} + ) + vdata.append(v) + return vdata, 1 + else: + path = f'/xlive/web-interface/v1/second/getListByArea?platform=web&sort=online&page_size=30&page={pg}' + if 'click' in tid: + ids = tid.split('_')[1].split('@@') + tid = ids[0] + path = f'/xlive/web-interface/v1/second/getList?platform=web&parent_area_id={ids[1]}&area_id={ids[-1]}&sort_type=&page={pg}' + data = self.fetch(f'{self.hosts[tid][0]}{path}', headers=self.gethr(0, tid)).json() + for i in data['data']['list']: + if i.get('roomid'): + data = self.buildvod( + f"{tid}@@{i['roomid']}", + i.get('title'), + i.get('cover'), + i.get('watched_show', {}).get('text_large'), + 0, + i.get('uname'), + style={"type": "rect", "ratio": 1.33} + ) + vdata.append(data) + return vdata, 9999 + + def huyaContent(self, tid, pg, filter, extend, vdata): + if extend.get('cate') and pg == '1' and 'click' not in tid: + id = extend.get('cate') + data = self.fetch(f'{self.referers[tid]}/liveconfig/game/bussLive?bussType={id}', + headers=self.headers[1]).json() + for i in data['data']: + v = self.buildvod( + vod_id=f"click_{tid}@@{int(i['gid'])}", + vod_name=i.get('gameFullName'), + vod_pic=f'https://huyaimg.msstatic.com/cdnimage/game/{int(i["gid"])}-MS.jpg', + vod_tag=1, + style={"type": "oval", "ratio": 1} + ) + vdata.append(v) + return vdata, 1 + else: + gid = '' + if 'click' in tid: + ids = tid.split('_')[1].split('@@') + tid = ids[0] + gid = f'&gameId={ids[1]}' + data = self.fetch(f'{self.hosts[tid][0]}/cache.php?m=LiveList&do=getLiveListByPage&tagAll=0{gid}&page={pg}', + headers=self.headers[1]).json() + for i in data['data']['datas']: + if i.get('profileRoom'): + v = self.buildvod( + f"{tid}@@{i['profileRoom']}", + i.get('introduction'), + i.get('screenshot'), + str(int(i.get('totalCount', '1')) / 10000) + '万', + 0, + i.get('nick'), + style={"type": "rect", "ratio": 1.33} + + ) + vdata.append(v) + return vdata, 9999 + + def douyinContent(self, tid, pg, filter, extend, vdata): + if extend.get('cate') and pg == '1' and 'click' not in tid: + ids = extend.get('cate').split('@@') + for i in self.dyifdata['categoryData']: + c = i['partition'] + if c['id_str'] == ids[0] and c['title'] == ids[1]: + vlist = i['sub_partition'].copy() + vlist.insert(0, {'partition': c}) + for j in vlist: + j = j['partition'] + v = self.buildvod( + vod_id=f"click_{tid}@@{j['id_str']}@@{j['type']}", + vod_name=j.get('title'), + vod_pic='https://p3-pc-weboff.byteimg.com/tos-cn-i-9r5gewecjs/pwa_v3/512x512-1.png', + vod_tag=1, + style={"type": "oval", "ratio": 1} + ) + vdata.append(v) + return vdata, 1 + else: + path = f'/webcast/web/partition/detail/room/?aid=6383&app_name=douyin_web&live_id=1&device_platform=web&count=15&offset={(int(pg) - 1) * 15}&partition=720&partition_type=1' + if 'click' in tid: + ids = tid.split('_')[1].split('@@') + tid = ids[0] + path = f'/webcast/web/partition/detail/room/?aid=6383&app_name=douyin_web&live_id=1&device_platform=web&count=15&offset={(int(pg) - 1) * 15}&partition={ids[1]}&partition_type={ids[-1]}&req_from=2' + data = self.fetch(f'{self.hosts[tid]}{path}', headers=self.dyheaders).json() + for i in data['data']['data']: + v = self.buildvod( + vod_id=f"{tid}@@{i['web_rid']}", + vod_name=i['room'].get('title'), + vod_pic=i['room']['cover'].get('url_list')[0], + vod_year=i.get('user_count_str'), + vod_remarks=i['room']['owner'].get('nickname'), + style={"type": "rect", "ratio": 1.33} + ) + vdata.append(v) + return vdata, 9999 + + def douyuContent(self, tid, pg, filter, extend, vdata): + if extend.get('cate') and pg == '1' and 'click' not in tid: + for i in self.dyufdata['data']['cate2Info']: + if str(i['cate1Id']) == extend['cate']: + v = self.buildvod( + vod_id=f"click_{tid}@@{i['cate2Id']}", + vod_name=i.get('cate2Name'), + vod_pic=i.get('icon'), + vod_remarks=i.get('count'), + vod_tag=1, + style={"type": "oval", "ratio": 1} + ) + vdata.append(v) + return vdata, 1 + else: + path = f'/japi/weblist/apinc/allpage/6/{pg}' + if 'click' in tid: + ids = tid.split('_')[1].split('@@') + tid = ids[0] + path = f'/gapi/rkc/directory/mixList/2_{ids[1]}/{pg}' + url = f'{self.hosts[tid]}{path}' + data = self.fetch(url, headers=self.headers[1]).json() + for i in data['data']['rl']: + v = self.buildvod( + vod_id=f"{tid}@@{i['rid']}", + vod_name=i.get('rn'), + vod_pic=i.get('rs16'), + vod_year=str(int(i.get('ol', 1)) / 10000) + '万', + vod_remarks=i.get('nn'), + style={"type": "rect", "ratio": 1.33} + ) + vdata.append(v) + return vdata, 9999 + + def detailContent(self, ids): + ids = ids[0].split('@@') + if ids[0] == 'wangyi': + vod = self.wyccDetail(ids) + elif ids[0] == 'bili': + vod = self.biliDetail(ids) + elif ids[0] == 'huya': + vod = self.huyaDetail(ids) + elif ids[0] == 'douyin': + vod = self.douyinDetail(ids) + elif ids[0] == 'douyu': + vod = self.douyuDetail(ids) + return {'list': [vod]} + + def wyccDetail(self, ids): + try: + vdata = self.getpq(f'{self.hosts[ids[0]]}/{ids[1]}', self.headers[0])('script').eq(-1).text() + + def get_quality_name(vbr): + if vbr <= 600: + return "标清" + elif vbr <= 1000: + return "高清" + elif vbr <= 2000: + return "超清" + else: + return "蓝光" + + data = json.loads(vdata)['props']['pageProps']['roomInfoInitData'] + name = data['live'].get('title', ids[0]) + vod = self.buildvod(vod_name=data.get('keywords_suffix'), vod_remarks=data['live'].get('title'), + vod_content=data.get('description_suffix')) + resolution_data = data['live']['quickplay']['resolution'] + all_streams = {} + sorted_qualities = sorted(resolution_data.items(), + key=lambda x: x[1]['vbr'], + reverse=True) + for quality, data in sorted_qualities: + vbr = data['vbr'] + quality_name = get_quality_name(vbr) + for cdn_name, url in data['cdn'].items(): + if cdn_name not in all_streams and type(url) == str and url.startswith('http'): + all_streams[cdn_name] = [] + if isinstance(url, str) and url.startswith('http'): + all_streams[cdn_name].extend([quality_name, url]) + plists = [] + names = [] + for i, (cdn_name, stream_list) in enumerate(all_streams.items(), 1): + names.append(f'线路{i}') + pstr = f"{name}${ids[0]}@@{self.e64(json.dumps(stream_list))}" + plists.append(pstr) + vod['vod_play_from'] = "$$$".join(names) + vod['vod_play_url'] = "$$$".join(plists) + return vod + except Exception as e: + return self.handle_exception(e) + + def biliDetail(self, ids): + try: + vdata = self.fetch( + f'{self.hosts[ids[0]][0]}/xlive/web-room/v1/index/getInfoByRoom?room_id={ids[1]}&wts={int(time.time())}', + headers=self.gethr(0, ids[0])).json() + v = vdata['data']['room_info'] + vod = self.buildvod( + vod_name=v.get('title'), + type_name=v.get('parent_area_name') + '/' + v.get('area_name'), + vod_remarks=v.get('tags'), + vod_play_from=v.get('title'), + ) + data = self.fetch( + f'{self.hosts[ids[0]][0]}/xlive/web-room/v2/index/getRoomPlayInfo?room_id={ids[1]}&protocol=0%2C1&format=0%2C1%2C2&codec=0%2C1&platform=web', + headers=self.gethr(0, ids[0])).json() + vdnams = data['data']['playurl_info']['playurl']['g_qn_desc'] + all_accept_qns = [] + streams = data['data']['playurl_info']['playurl']['stream'] + for stream in streams: + for format_item in stream['format']: + for codec in format_item['codec']: + if 'accept_qn' in codec: + all_accept_qns.append(codec['accept_qn']) + max_accept_qn = max(all_accept_qns, key=len) if all_accept_qns else [] + quality_map = { + item['qn']: item['desc'] + for item in vdnams + } + quality_names = [f"{quality_map.get(qn)}${ids[0]}@@{ids[1]}@@{qn}" for qn in max_accept_qn] + vod['vod_play_url'] = "#".join(quality_names) + return vod + except Exception as e: + return self.handle_exception(e) + + def huyaDetail(self, ids): + try: + vdata = self.fetch(f'{self.hosts[ids[0]][1]}/cache.php?m=Live&do=profileRoom&roomid={ids[1]}', + headers=self.headers[0]).json() + v = vdata['data']['liveData'] + vod = self.buildvod( + vod_name=v.get('introduction'), + type_name=v.get('gameFullName'), + vod_director=v.get('nick'), + vod_remarks=v.get('contentIntro'), + ) + data = dict(reversed(list(vdata['data']['stream'].items()))) + names = [] + plist = [] + + for stream_type, stream_data in data.items(): + if isinstance(stream_data, dict) and 'multiLine' in stream_data and 'rateArray' in stream_data: + names.append(f"线路{len(names) + 1}") + qualities = sorted( + stream_data['rateArray'], + key=lambda x: (x['iBitRate'], x['sDisplayName']), + reverse=True + ) + cdn_urls = [] + for cdn in stream_data['multiLine']: + quality_urls = [] + for quality in qualities: + quality_name = quality['sDisplayName'] + bit_rate = quality['iBitRate'] + base_url = cdn['url'] + if bit_rate > 0: + if '.m3u8' in base_url: + new_url = base_url.replace( + 'ratio=2000', + f'ratio={bit_rate}' + ) + else: + new_url = base_url.replace( + 'imgplus.flv', + f'imgplus_{bit_rate}.flv' + ) + else: + new_url = base_url + quality_urls.extend([quality_name, new_url]) + encoded_urls = self.e64(json.dumps(quality_urls)) + cdn_urls.append(f"{cdn['cdnType']}${ids[0]}@@{encoded_urls}") + + if cdn_urls: + plist.append('#'.join(cdn_urls)) + vod['vod_play_from'] = "$$$".join(names) + vod['vod_play_url'] = "$$$".join(plist) + return vod + except Exception as e: + return self.handle_exception(e) + + def douyinDetail(self, ids): + url = f'{self.hosts[ids[0]]}/webcast/room/web/enter/?aid=6383&app_name=douyin_web&live_id=1&device_platform=web&enter_from=web_live&web_rid={ids[1]}&room_id_str=&enter_source=&Room-Enter-User-Login-Ab=0&is_need_double_stream=false&cookie_enabled=true&screen_width=1980&screen_height=1080&browser_language=zh-CN&browser_platform=Win32&browser_name=Edge&browser_version=125.0.0.0' + data = self.fetch(url, headers=self.dyheaders).json() + try: + vdata = data['data']['data'][0] + vod = self.buildvod( + vod_name=vdata['title'], + vod_remarks=vdata['user_count_str'], + ) + resolution_data = vdata['stream_url']['live_core_sdk_data']['pull_data']['options']['qualities'] + stream_json = vdata['stream_url']['live_core_sdk_data']['pull_data']['stream_data'] + stream_json = json.loads(stream_json) + available_types = [] + if any(sdk_key in stream_json['data'] and 'main' in stream_json['data'][sdk_key] for sdk_key in + stream_json['data']): + available_types.append('main') + if any(sdk_key in stream_json['data'] and 'backup' in stream_json['data'][sdk_key] for sdk_key in + stream_json['data']): + available_types.append('backup') + plist = [] + for line_type in available_types: + format_arrays = {'flv': [], 'hls': [], 'lls': []} + qualities = sorted(resolution_data, key=lambda x: x['level'], reverse=True) + for quality in qualities: + sdk_key = quality['sdk_key'] + if sdk_key in stream_json['data'] and line_type in stream_json['data'][sdk_key]: + stream_info = stream_json['data'][sdk_key][line_type] + if stream_info.get('flv'): + format_arrays['flv'].extend([quality['name'], stream_info['flv']]) + if stream_info.get('hls'): + format_arrays['hls'].extend([quality['name'], stream_info['hls']]) + if stream_info.get('lls'): + format_arrays['lls'].extend([quality['name'], stream_info['lls']]) + format_urls = [] + for format_name, url_array in format_arrays.items(): + if url_array: + encoded_urls = self.e64(json.dumps(url_array)) + format_urls.append(f"{format_name}${ids[0]}@@{encoded_urls}") + + if format_urls: + plist.append('#'.join(format_urls)) + + names = ['线路1', '线路2'][:len(plist)] + vod['vod_play_from'] = "$$$".join(names) + vod['vod_play_url'] = "$$$".join(plist) + return vod + + except Exception as e: + return self.handle_exception(e) + + def douyuDetail(self, ids): + headers = self.gethr(0, zr=f'{self.hosts[ids[0]]}/{ids[1]}') + try: + data = self.fetch(f'{self.hosts[ids[0]]}/betard/{ids[1]}', headers=headers).json() + vname = data['room']['room_name'] + vod = self.buildvod( + vod_name=vname, + vod_remarks=data['room'].get('second_lvl_name'), + vod_director=data['room'].get('nickname'), + ) + vdata = self.fetch(f'{self.hosts[ids[0]]}/swf_api/homeH5Enc?rids={ids[1]}', headers=headers).json() + json_body = vdata['data'] + json_body = {"html": self.douyu_text(json_body[f'room{ids[1]}']), "rid": ids[1]} + sign = self.post('http://alive.nsapps.cn/api/AllLive/DouyuSign', json=json_body, headers=self.headers[1]).json()['data'] + body = f'{sign}&cdn=&rate=-1&ver=Douyu_223061205&iar=1&ive=1&hevc=0&fa=0' + body=self.params_to_json(body) + nubdata = self.post(f'{self.hosts[ids[0]]}/lapi/live/getH5Play/{ids[1]}', data=body, headers=headers).json() + plist = [] + names = [] + for i,x in enumerate(nubdata['data']['cdnsWithName']): + names.append(f'线路{i+1}') + d = {'sign': sign, 'cdn': x['cdn'], 'id': ids[1]} + plist.append( + f'{vname}${ids[0]}@@{self.e64(json.dumps(d))}@@{self.e64(json.dumps(nubdata["data"]["multirates"]))}') + vod['vod_play_from'] = "$$$".join(names) + vod['vod_play_url'] = "$$$".join(plist) + return vod + except Exception as e: + return self.handle_exception(e) + + def douyu_text(self, text): + function_positions = [m.start() for m in re.finditer('function', text)] + total_functions = len(function_positions) + if total_functions % 2 == 0: + target_index = total_functions // 2 + 1 + else: + target_index = (total_functions - 1) // 2 + 1 + if total_functions >= target_index: + cut_position = function_positions[target_index - 1] + ctext = text[4:cut_position] + return re.sub(r'eval\(strc\)\([\w\d,]+\)', 'strc', ctext) + return text + + def searchContent(self, key, quick, pg="1"): + pass + + def playerContent(self, flag, id, vipFlags): + try: + ids = id.split('@@') + p = 1 + if ids[0] in ['wangyi', 'douyin','huya']: + p, url = 0, json.loads(self.d64(ids[1])) + elif ids[0] == 'bili': + p, url = self.biliplay(ids) + elif ids[0] == 'huya': + p, url = 0, json.loads(self.d64(ids[1])) + elif ids[0] == 'douyu': + p, url = self.douyuplay(ids) + return {'parse': p, 'url': url, 'header': self.playheaders[ids[0]]} + except Exception as e: + return {'parse': 1, 'url': self.excepturl, 'header': self.headers[0]} + + def biliplay(self, ids): + try: + data = self.fetch( + f'{self.hosts[ids[0]][0]}/xlive/web-room/v2/index/getRoomPlayInfo?room_id={ids[1]}&protocol=0,1&format=0,2&codec=0&platform=web&qn={ids[2]}', + headers=self.gethr(0, ids[0])).json() + urls = [] + line_index = 1 + for stream in data['data']['playurl_info']['playurl']['stream']: + for format_item in stream['format']: + for codec in format_item['codec']: + for url_info in codec['url_info']: + full_url = f"{url_info['host']}/{codec['base_url'].lstrip('/')}{url_info['extra']}" + urls.extend([f"线路{line_index}", full_url]) + line_index += 1 + return 0, urls + except Exception as e: + return 1, self.excepturl + + def douyuplay(self, ids): + try: + sdata = json.loads(self.d64(ids[1])) + headers = self.gethr(0, zr=f'{self.hosts[ids[0]]}/{sdata["id"]}') + ldata = json.loads(self.d64(ids[2])) + result_obj = {} + with ThreadPoolExecutor(max_workers=len(ldata)) as executor: + futures = [ + executor.submit( + self.douyufp, + sdata, + quality, + headers, + self.hosts[ids[0]], + result_obj + ) for quality in ldata + ] + for future in futures: + future.result() + + result = [] + for bit in sorted(result_obj.keys(), reverse=True): + result.extend(result_obj[bit]) + + if result: + return 0, result + return 1, self.excepturl + + except Exception as e: + return 1, self.excepturl + + def douyufp(self, sdata, quality, headers, host, result_obj): + try: + body = f'{sdata["sign"]}&cdn={sdata["cdn"]}&rate={quality["rate"]}' + body=self.params_to_json(body) + data = self.post(f'{host}/lapi/live/getH5Play/{sdata["id"]}', + data=body, headers=headers).json() + if data.get('data'): + play_url = data['data']['rtmp_url'] + '/' + data['data']['rtmp_live'] + bit = quality.get('bit', 0) + if bit not in result_obj: + result_obj[bit] = [] + result_obj[bit].extend([quality['name'], play_url]) + except Exception as e: + print(f"Error fetching {quality['name']}: {str(e)}") + + def localProxy(self, param): + pass + + def e64(self, text): + try: + text_bytes = text.encode('utf-8') + encoded_bytes = b64encode(text_bytes) + return encoded_bytes.decode('utf-8') + except Exception as e: + print(f"Base64编码错误: {str(e)}") + return "" + + def d64(self, encoded_text): + try: + encoded_bytes = encoded_text.encode('utf-8') + decoded_bytes = b64decode(encoded_bytes) + return decoded_bytes.decode('utf-8') + except Exception as e: + print(f"Base64解码错误: {str(e)}") + return "" + + def josn_to_params(self, params, skip_empty=False): + query = [] + for k, v in params.items(): + if skip_empty and not v: + continue + query.append(f"{k}={v}") + return "&".join(query) + + def params_to_json(self, query_string): + parsed_data = parse_qs(query_string) + result = {key: value[0] for key, value in parsed_data.items()} + return result + + def buildvod(self, vod_id='', vod_name='', vod_pic='', vod_year='', vod_tag='', vod_remarks='', style='', + type_name='', vod_area='', vod_actor='', vod_director='', + vod_content='', vod_play_from='', vod_play_url=''): + vod = { + 'vod_id': vod_id, + 'vod_name': vod_name, + 'vod_pic': vod_pic, + 'vod_year': vod_year, + 'vod_tag': 'folder' if vod_tag else '', + 'vod_remarks': vod_remarks, + 'style': style, + 'type_name': type_name, + 'vod_area': vod_area, + 'vod_actor': vod_actor, + 'vod_director': vod_director, + 'vod_content': vod_content, + 'vod_play_from': vod_play_from, + 'vod_play_url': vod_play_url + } + vod = {key: value for key, value in vod.items() if value} + return vod + + def getpq(self, url, headers=None, cookies=None): + data = self.fetch(url, headers=headers, cookies=cookies).text + try: + return pq(data) + except Exception as e: + print(f"解析页面错误: {str(e)}") + return pq(data.encode('utf-8')) + + def gethr(self, index, rf='', zr=''): + headers = self.headers[index] + if zr: + headers['referer'] = zr + else: + headers['referer'] = f"{self.referers[rf]}/" + return headers + + def handle_exception(self, e): + print(f"报错: {str(e)}") + return {'vod_play_from': '哎呀翻车啦', 'vod_play_url': f'翻车啦${self.excepturl}'} + diff --git a/tvboxqq/tvboxqq/潇洒/api/XYDJ.py b/tvboxqq/tvboxqq/潇洒/api/XYDJ.py new file mode 100644 index 0000000..1accc9a --- /dev/null +++ b/tvboxqq/tvboxqq/潇洒/api/XYDJ.py @@ -0,0 +1,343 @@ +# coding = utf-8 +# !/usr/bin/python + +""" +""" + +from Crypto.Util.Padding import unpad +from Crypto.Util.Padding import pad +from urllib.parse import unquote +from Crypto.Cipher import ARC4 +from urllib.parse import quote +from base.spider import Spider +from Crypto.Cipher import AES +from bs4 import BeautifulSoup +from base64 import b64decode +import urllib.request +import urllib.parse +import binascii +import requests +import base64 +import json +import time +import sys +import re +import os + +sys.path.append('..') + +xurl = "https://app.whjzjx.cn" + +headers = { + 'User-Agent': 'Linux; Android 12; Pixel 3 XL) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.101 Mobile Safari/537.36' + } + +headerf = { + "platform": "1", + "user_agent": "Mozilla/5.0 (Linux; Android 9; V1938T Build/PQ3A.190705.08211809; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/91.0.4472.114 Safari/537.36", + "content-type": "application/json; charset=utf-8" + } + +times = int(time.time() * 1000) + +data = { + "device": "2a50580e69d38388c94c93605241fb306", + "package_name": "com.jz.xydj", + "android_id": "ec1280db12795506", + "install_first_open": True, + "first_install_time": 1752505243345, + "last_update_time": 1752505243345, + "report_link_url": "", + "authorization": "", + "timestamp": times + } + +plain_text = json.dumps(data, separators=(',', ':'), ensure_ascii=False) + +key = "B@ecf920Od8A4df7" +key_bytes = key.encode('utf-8') +plain_bytes = plain_text.encode('utf-8') +cipher = AES.new(key_bytes, AES.MODE_ECB) +padded_data = pad(plain_bytes, AES.block_size) +ciphertext = cipher.encrypt(padded_data) +encrypted = base64.b64encode(ciphertext).decode('utf-8') + +response = requests.post("https://u.shytkjgs.com/user/v3/account/login", headers=headerf, data=encrypted) +response_data = response.json() +Authorization = response_data['data']['token'] + +headerx = { + 'authorization': Authorization, + 'platform': '1', + 'version_name': '3.8.3.1' + } + +class Spider(Spider): + global xurl + global headerx + global headers + + def getName(self): + return "首页" + + def init(self, extend): + pass + + def isVideoFormat(self, url): + pass + + def manualVideoCheck(self): + pass + + def extract_middle_text(self, text, start_str, end_str, pl, start_index1: str = '', end_index2: str = ''): + if pl == 3: + plx = [] + while True: + start_index = text.find(start_str) + if start_index == -1: + break + end_index = text.find(end_str, start_index + len(start_str)) + if end_index == -1: + break + middle_text = text[start_index + len(start_str):end_index] + plx.append(middle_text) + text = text.replace(start_str + middle_text + end_str, '') + if len(plx) > 0: + purl = '' + for i in range(len(plx)): + matches = re.findall(start_index1, plx[i]) + output = "" + for match in matches: + match3 = re.search(r'(?:^|[^0-9])(\d+)(?:[^0-9]|$)', match[1]) + if match3: + number = match3.group(1) + else: + number = 0 + if 'http' not in match[0]: + output += f"#{match[1]}${number}{xurl}{match[0]}" + else: + output += f"#{match[1]}${number}{match[0]}" + output = output[1:] + purl = purl + output + "$$$" + purl = purl[:-3] + return purl + else: + return "" + else: + start_index = text.find(start_str) + if start_index == -1: + return "" + end_index = text.find(end_str, start_index + len(start_str)) + if end_index == -1: + return "" + + if pl == 0: + middle_text = text[start_index + len(start_str):end_index] + return middle_text.replace("\\", "") + + if pl == 1: + middle_text = text[start_index + len(start_str):end_index] + matches = re.findall(start_index1, middle_text) + if matches: + jg = ' '.join(matches) + return jg + + if pl == 2: + middle_text = text[start_index + len(start_str):end_index] + matches = re.findall(start_index1, middle_text) + if matches: + new_list = [f'{item}' for item in matches] + jg = '$$$'.join(new_list) + return jg + + def homeContent(self, filter): + result = {} + result = {"class": [{"type_id": "1", "type_name": "剧场"}, + {"type_id": "3", "type_name": "新剧"}, + {"type_id": "2", "type_name": "热播"}, + {"type_id": "7", "type_name": "星选"}, + {"type_id": "5", "type_name": "阳光"}], + } + + return result + + def homeVideoContent(self): + videos = [] + + url= f'{xurl}/v1/theater/home_page?theater_class_id=1&class2_id=4&page_num=1&page_size=24' + detail = requests.get(url=url, headers=headerx) + detail.encoding = "utf-8" + if detail.status_code == 200: + data = detail.json() + + for vod in data['data']['list']: + + name = vod['theater']['title'] + + id = vod['theater']['id'] + + pic = vod['theater']['cover_url'] + + remark = vod['theater']['play_amount_str'] + + video = { + "vod_id": id, + "vod_name": name, + "vod_pic": pic, + "vod_remarks": remark + } + videos.append(video) + + result = {'list': videos} + return result + + def categoryContent(self, cid, pg, filter, ext): + result = {} + videos = [] + + url = f'{xurl}/v1/theater/home_page?theater_class_id={cid}&page_num={pg}&page_size=24' + detail = requests.get(url=url,headers=headerx) + detail.encoding = "utf-8" + if detail.status_code == 200: + data = detail.json() + + for vod in data['data']['list']: + + name = vod['theater']['title'] + + id = vod['theater']['id'] + + pic = vod['theater']['cover_url'] + + remark = vod['theater']['theme'] + + video = { + "vod_id": id, + "vod_name": name, + "vod_pic": pic, + "vod_remarks": remark + } + videos.append(video) + + result = {'list': videos} + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + return result + + def detailContent(self, ids): + did = ids[0] + result = {} + videos = [] + xianlu = '' + bofang = '' + + url = f'{xurl}/v2/theater_parent/detail?theater_parent_id={did}' + detail = requests.get(url=url, headers=headerx) + detail.encoding = "utf-8" + if detail.status_code == 200: + data = detail.json() + + url = 'https://fs-im-kefu.7moor-fs1.com/ly/4d2c3f00-7d4c-11e5-af15-41bf63ae4ea0/1732707176882/jiduo.txt' + response = requests.get(url) + response.encoding = 'utf-8' + code = response.text + name = self.extract_middle_text(code, "s1='", "'", 0) + Jumps = self.extract_middle_text(code, "s2='", "'", 0) + + content = '剧情:' + data['data']['introduction'] + + area = data['data']['desc_tags'][0] + + remarks = data['data']['filing'] + + # 修复剧集只有一集的问题 - 检查theaters数据是否存在且不为空 + if 'theaters' in data['data'] and data['data']['theaters']: + for sou in data['data']['theaters']: + id = sou['son_video_url'] + name = sou['num'] + bofang = bofang + str(name) + '$' + id + '#' + + bofang = bofang[:-1] if bofang.endswith('#') else bofang + xianlu = '星芽' + else: + # 如果没有theaters数据,检查是否有单个视频URL + if 'video_url' in data['data'] and data['data']['video_url']: + bofang = '1$' + data['data']['video_url'] + xianlu = '星芽' + else: + bofang = Jumps + xianlu = '1' + + videos.append({ + "vod_id": did, + "vod_content": content, + "vod_remarks": remarks, + "vod_area": area, + "vod_play_from": xianlu, + "vod_play_url": bofang + }) + + result['list'] = videos + return result + + def playerContent(self, flag, id, vipFlags): + + result = {} + result["parse"] = 0 + result["playUrl"] = '' + result["url"] = id + result["header"] = headers + return result + + def searchContentPage(self, key, quick, page): + result = {} + videos = [] + + payload = { + "text": key + } + + url = f"{xurl}/v3/search" + detail = requests.post(url=url, headers=headerx, json=payload) + if detail.status_code == 200: + detail.encoding = "utf-8" + data = detail.json() + + for vod in data['data']['theater']['search_data']: + + name = vod['title'] + + id = vod['id'] + + pic = vod['cover_url'] + + remark = vod['score_str'] + + video = { + "vod_id": id, + "vod_name": name, + "vod_pic": pic, + "vod_remarks": remark + } + videos.append(video) + + result['list'] = videos + result['page'] = page + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + return result + + def searchContent(self, key, quick, pg="1"): + return self.searchContentPage(key, quick, '1') + + def localProxy(self, params): + if params['type'] == "m3u8": + return self.proxyM3u8(params) + elif params['type'] == "media": + return self.proxyMedia(params) + elif params['type'] == "ts": + return self.proxyTs(params) + return None \ No newline at end of file diff --git a/tvboxqq/tvboxqq/潇洒/js/ADM.js b/tvboxqq/tvboxqq/潇洒/js/ADM.js new file mode 100644 index 0000000..e943b86 --- /dev/null +++ b/tvboxqq/tvboxqq/潇洒/js/ADM.js @@ -0,0 +1,827 @@ +muban.短视2.二级.img = '.detail-pic&&img&&data-src'; +var rule = { + title: '爱弹幕', + 模板: '短视2', + host: 'https://bgm.girigirilove.com', + homeUrl: '/map/', + // url:'/show/fyclass--------fypage---/' + url: '/show/fyclassfyfilter/', + filterable: 1, //是否启用分类筛选, + filter_url: '-{{fl.area}}-{{fl.by}}-{{fl.class}}-{{fl.lang}}-{{fl.letter}}---fypage---{{fl.year}}', + filter: { + "2": [{ + "key": "class", + "name": "类型", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "喜剧", + "v": "喜剧" + }, { + "n": "爱情", + "v": "爱情" + }, { + "n": "恐怖", + "v": "恐怖" + }, { + "n": "动作", + "v": "动作" + }, { + "n": "科幻", + "v": "科幻" + }, { + "n": "剧情", + "v": "剧情" + }, { + "n": "战争", + "v": "战争" + }, { + "n": "奇幻", + "v": "奇幻" + }, { + "n": "冒险", + "v": "冒险" + }, { + "n": "悬疑", + "v": "悬疑" + }, { + "n": "校园", + "v": "校园" + }, { + "n": "后宫", + "v": "后宫" + }, { + "n": "热血", + "v": "热血" + }, { + "n": "运动", + "v": "运动" + }, { + "n": "百合", + "v": "百合" + }, { + "n": "乙女", + "v": "乙女" + }, { + "n": "机甲", + "v": "机甲" + }, { + "n": "日常", + "v": "日常" + }, { + "n": "魔法少女", + "v": "魔法少女" + }, { + "n": "异世界", + "v": "异世界" + }, { + "n": "爱抖露", + "v": "爱抖露" + }, { + "n": "音乐", + "v": "音乐" + }, { + "n": "萌", + "v": "萌" + }] + }, { + "key": "area", + "name": "地区", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "一月", + "v": "一月" + }, { + "n": "四月", + "v": "四月" + }, { + "n": "七月", + "v": "七月" + }, { + "n": "十月", + "v": "十月" + }] + }, { + "key": "year", + "name": "年份", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "2026", + "v": "2026" + }, { + "n": "2025", + "v": "2025" + }, { + "n": "2024", + "v": "2024" + }, { + "n": "2023", + "v": "2023" + }, { + "n": "2022", + "v": "2022" + }, { + "n": "2021", + "v": "2021" + }, { + "n": "2020", + "v": "2020" + }, { + "n": "2019", + "v": "2019" + }, { + "n": "2018", + "v": "2018" + }, { + "n": "2017", + "v": "2017" + }, { + "n": "2016", + "v": "2016" + }, { + "n": "2015", + "v": "2015" + }, { + "n": "2014", + "v": "2014" + }, { + "n": "2013", + "v": "2013" + }, { + "n": "2012", + "v": "2012" + }, { + "n": "2011", + "v": "2011" + }, { + "n": "2010", + "v": "2010" + }, { + "n": "2009", + "v": "2009" + }, { + "n": "2008", + "v": "2008" + }, { + "n": "2007", + "v": "2007" + }, { + "n": "2006", + "v": "2006" + }, { + "n": "2005", + "v": "2005" + }, { + "n": "2004", + "v": "2004" + }, { + "n": "2003", + "v": "2003" + }, { + "n": "2002", + "v": "2002" + }, { + "n": "2001", + "v": "2001" + }, { + "n": "2000", + "v": "2000" + }] + }, { + "key": "lang", + "name": "语言", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "日语", + "v": "日语" + }, { + "n": "国语", + "v": "国语" + }] + }, { + "key": "by", + "name": "排序", + "value": [{ + "n": "最新", + "v": "time" + }, { + "n": "最热", + "v": "hits" + }, { + "n": "评分", + "v": "score" + }] + }], + "3": [{ + "key": "class", + "name": "类型", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "搞笑", + "v": "搞笑" + }, { + "n": "爱情", + "v": "爱情" + }, { + "n": "恐怖", + "v": "恐怖" + }, { + "n": "动作", + "v": "动作" + }, { + "n": "科幻", + "v": "科幻" + }, { + "n": "剧情", + "v": "剧情" + }, { + "n": "战争", + "v": "战争" + }, { + "n": "奇幻", + "v": "奇幻" + }, { + "n": "冒险", + "v": "冒险" + }, { + "n": "悬疑", + "v": "悬疑" + }, { + "n": "校园", + "v": "校园" + }, { + "n": "后宫", + "v": "后宫" + }, { + "n": "热血", + "v": "热血" + }, { + "n": "运动", + "v": "运动" + }] + }, { + "key": "area", + "name": "地区", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "内地", + "v": "内地" + }, { + "n": "港台", + "v": "港台" + }, { + "n": "日韩", + "v": "日韩" + }, { + "n": "欧美", + "v": "欧美" + }] + }, { + "key": "year", + "name": "年份", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "2026", + "v": "2026" + }, { + "n": "2025", + "v": "2025" + }, { + "n": "2024", + "v": "2024" + }, { + "n": "2023", + "v": "2023" + }, { + "n": "2022", + "v": "2022" + }, { + "n": "2021", + "v": "2021" + }, { + "n": "2020", + "v": "2020" + }, { + "n": "2019", + "v": "2019" + }, { + "n": "2018", + "v": "2018" + }, { + "n": "2017", + "v": "2017" + }, { + "n": "2016", + "v": "2016" + }, { + "n": "2015", + "v": "2015" + }, { + "n": "2014", + "v": "2014" + }, { + "n": "2013", + "v": "2013" + }, { + "n": "2012", + "v": "2012" + }, { + "n": "2011", + "v": "2011" + }, { + "n": "2010", + "v": "2010" + }, { + "n": "2009", + "v": "2009" + }, { + "n": "2008", + "v": "2008" + }, { + "n": "2007", + "v": "2007" + }, { + "n": "2006", + "v": "2006" + }, { + "n": "2005", + "v": "2005" + }, { + "n": "2004", + "v": "2004" + }, { + "n": "2003", + "v": "2003" + }] + }, { + "key": "lang", + "name": "语言", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "国语", + "v": "国语" + }, { + "n": "英语", + "v": "英语" + }] + }, { + "key": "by", + "name": "排序", + "value": [{ + "n": "最新", + "v": "time" + }, { + "n": "最热", + "v": "hits" + }, { + "n": "评分", + "v": "score" + }] + }], + "21": [{ + "key": "class", + "name": "类型", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "喜剧", + "v": "喜剧" + }, { + "n": "爱情", + "v": "爱情" + }, { + "n": "恐怖", + "v": "恐怖" + }, { + "n": "动作", + "v": "动作" + }, { + "n": "科幻", + "v": "科幻" + }, { + "n": "剧情", + "v": "剧情" + }, { + "n": "战争", + "v": "战争" + }, { + "n": "奇幻", + "v": "奇幻" + }, { + "n": "冒险", + "v": "冒险" + }, { + "n": "悬疑", + "v": "悬疑" + }, { + "n": "校园", + "v": "校园" + }, { + "n": "后宫", + "v": "后宫" + }, { + "n": "热血", + "v": "热血" + }, { + "n": "运动", + "v": "运动" + }, { + "n": "百合", + "v": "百合" + }, { + "n": "耽美", + "v": "耽美" + }, { + "n": "机甲", + "v": "机甲" + }, { + "n": "日常", + "v": "日常" + }, { + "n": "魔法少女", + "v": "魔法少女" + }, { + "n": "异世界", + "v": "异世界" + }, { + "n": "爱抖露", + "v": "爱抖露" + }] + }, { + "key": "year", + "name": "年份", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "2026", + "v": "2026" + }, { + "n": "2025", + "v": "2025" + }, { + "n": "2024", + "v": "2024" + }, { + "n": "2023", + "v": "2023" + }, { + "n": "2022", + "v": "2022" + }, { + "n": "2021", + "v": "2021" + }, { + "n": "2020", + "v": "2020" + }, { + "n": "2019", + "v": "2019" + }, { + "n": "2018", + "v": "2018" + }, { + "n": "2017", + "v": "2017" + }, { + "n": "2016", + "v": "2016" + }, { + "n": "2015", + "v": "2015" + }, { + "n": "2014", + "v": "2014" + }, { + "n": "2013", + "v": "2013" + }, { + "n": "2012", + "v": "2012" + }, { + "n": "2011", + "v": "2011" + }, { + "n": "2010", + "v": "2010" + }, { + "n": "2009", + "v": "2009" + }, { + "n": "2008", + "v": "2008" + }, { + "n": "2007", + "v": "2007" + }, { + "n": "2006", + "v": "2006" + }, { + "n": "2005", + "v": "2005" + }, { + "n": "2004", + "v": "2004" + }, { + "n": "2003", + "v": "2003" + }] + }, { + "key": "lang", + "name": "语言", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "日语", + "v": "日语" + }, { + "n": "中文", + "v": "中文" + }, { + "n": "英语", + "v": "英语" + }] + }, { + "key": "by", + "name": "排序", + "value": [{ + "n": "最新", + "v": "time" + }, { + "n": "最热", + "v": "hits" + }, { + "n": "评分", + "v": "score" + }] + }], + "20": [{ + "key": "class", + "name": "类型", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "爱情", + "v": "爱情" + }, { + "n": "科幻", + "v": "科幻" + }, { + "n": "经典", + "v": "经典" + }, { + "n": "冒险", + "v": "冒险" + }, { + "n": "剧情", + "v": "剧情" + }, { + "n": "动作", + "v": "动作" + }, { + "n": "同性", + "v": "同性" + }, { + "n": "喜剧", + "v": "喜剧" + }, { + "n": "奇幻", + "v": "奇幻" + }, { + "n": "恐怖", + "v": "恐怖" + }, { + "n": "悬疑.惊悚", + "v": "悬疑.惊悚" + }, { + "n": "战争", + "v": "战争" + }, { + "n": "欧美", + "v": "欧美" + }, { + "n": "歌舞", + "v": "歌舞" + }, { + "n": "灾难", + "v": "灾难" + }, { + "n": "记录.泰剧", + "v": "记录.泰剧" + }, { + "n": "体育", + "v": "体育" + }, { + "n": "烧脑", + "v": "烧脑" + }] + }, { + "key": "area", + "name": "地区", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "日本", + "v": "日本" + }, { + "n": "欧美", + "v": "欧美" + }, { + "n": "泰国", + "v": "泰国" + }] + }, { + "key": "year", + "name": "年份", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "2026", + "v": "2026" + }, { + "n": "2025", + "v": "2025" + }, { + "n": "2024", + "v": "2024" + }, { + "n": "2023", + "v": "2023" + }, { + "n": "2022", + "v": "2022" + }, { + "n": "2021", + "v": "2021" + }, { + "n": "2020", + "v": "2020" + }, { + "n": "2019", + "v": "2019" + }, { + "n": "2018", + "v": "2018" + }, { + "n": "2017", + "v": "2017" + }, { + "n": "2016", + "v": "2016" + }, { + "n": "2015", + "v": "2015" + }, { + "n": "2014", + "v": "2014" + }, { + "n": "2013", + "v": "2013" + }, { + "n": "2012", + "v": "2012" + }, { + "n": "2011", + "v": "2011" + }, { + "n": "2010", + "v": "2010" + }, { + "n": "2009", + "v": "2009" + }, { + "n": "2008", + "v": "2008" + }, { + "n": "2007", + "v": "2007" + }, { + "n": "2006", + "v": "2006" + }, { + "n": "2005", + "v": "2005" + }, { + "n": "2004.2003", + "v": "2004.2003" + }] + }, { + "key": "lang", + "name": "语言", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "日语", + "v": "日语" + }, { + "n": "英语", + "v": "英语" + }, { + "n": "泰语", + "v": "泰语" + }] + }, { + "key": "by", + "name": "排序", + "value": [{ + "n": "最新", + "v": "time" + }, { + "n": "最热", + "v": "hits" + }, { + "n": "评分", + "v": "score" + }] + }], + "24": [{ + "key": "by", + "name": "排序", + "value": [{ + "n": "最新", + "v": "time" + }, { + "n": "最热", + "v": "hits" + }, { + "n": "评分", + "v": "score" + }] + }], + "26": [{ + "key": "by", + "name": "排序", + "value": [{ + "n": "最新", + "v": "time" + }, { + "n": "最热", + "v": "hits" + }, { + "n": "评分", + "v": "score" + }] + }] + }, + searchUrl: '/search/**----------fypage---/', + class_name: '日番&美番&劇場版&真人番劇&BD副音軌&其他', + class_url: '2&3&21&20&24&26', + play_parse: true, + lazy: `js: + var html = JSON.parse(request(input).match(/r player_.*?=(.*?) { + try { + let api = "" + input.split("?")[0]; + console.log(api); + let response = fetch(api, { + method: 'get', + headers: { + 'User-Agent': 'okhttp/3.14.9', + 'Content-Type': 'application/x-www-form-urlencoded' + } + }); + let bata = JSON.parse(response); + if (bata.url.includes("qiyi")) { + input = { + parse: 0, + url: bata.url, + jx: 0, + danmaku: "http://127.0.0.1:9978/proxy?do=danmu&site=js&url=" + input.split("?")[0] + }; + } else { + input = { + parse: 0, + url: input.split("?")[0], + jx: 1, + danmaku: "http://127.0.0.1:9978/proxy?do=danmu&site=js&url=" + input.split("?")[0] + }; + } + } catch { + input = { + parse: 0, + url: input.split("?")[0], + jx: 1, + danmaku: "http://127.0.0.1:9978/proxy?do=danmu&site=js&url=" + input.split("?")[0] + }; + } + }), + // play_parse:true, + // 手动调用解析请求json的url,此lazy不方便 + // lazy:'js:input="https://cache.json.icu/home/api?type=ys&uid=292796&key=fnoryABDEFJNPQV269&url="+input.split("?")[0];log(input);let html=JSON.parse(request(input));log(html);input=html.url||input', + // 推荐:'.list_item;img&&alt;img&&src;a&&Text;a&&data-float', + // 一级:'json:.data.list;.name;.imageUrl;.latestOrder;.albumId', + 推荐: '', + // 推荐:'js:let d=[];fetch_params.headers["user-agent"]=PC_UA;pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd;let html=fetch(HOST,fetch_params);let lists=pdfa(html,".qy-mod-li");lists.forEach(function(it){try{let title=pdfh(it,"p.sub&&title");let desc=pdfh(it,".qy-mod-label&&Text");let pic_url=pd(it,"img&&src");d.push({title:title,desc:desc,img:pic_url})}catch(e){}});res=setResult(d);', + 一级: 'js:let d=[];if(MY_CATE==="16"){input=input.replace("channel_id=16","channel_id=1").split("three_category_id")[0];input+="three_category_id=27401"}else if(MY_CATE==="5"){input=input.replace("data_type=1","data_type=2")}let html=request(input);let json=JSON.parse(html);if(json.code==="A00003"){fetch_params.headers["user-agent"]=PC_UA;json=JSON.parse(fetch(input,fetch_params))}json.data.list.forEach(function(data){if(data.channelId===1){desc=data.hasOwnProperty("score")?data.score+"分\\t":""}else if(data.channelId===2||data.channelId===4){if(data.latestOrder===data.videoCount){desc=(data.hasOwnProperty("score")?data.score+"分\\t":"")+data.latestOrder+"集全"}else{if(data.videoCount){desc=(data.hasOwnProperty("score")?data.score+"分\\t":"")+data.latestOrder+"/"+data.videoCount+"集"}else{desc="更新至 "+data.latestOrder+"集"}}}else if(data.channelId===6){desc=data.period+"期"}else if(data.channelId===5){desc=data.focus}else{if(data.latestOrder){desc="更新至 第"+data.latestOrder+"期"}else if(data.period){desc=data.period}else{desc=data.focus}}url=MY_CATE+"$"+data.albumId;d.push({url:url,title:data.name,desc:desc,pic_url:data.imageUrl.replace(".jpg","_390_520.jpg?caplist=jpg,webp")})});setResult(d);', + // 一级:'js:let d=[];if(MY_CATE==="16"){input=input.replace("channel_id=16","channel_id=1").split("three_category_id")[0];input+="three_category_id=27401"}else if(MY_CATE==="5"){input=input.replace("data_type=1","data_type=2")}let html=fetch(input,fetch_params);let json=JSON.parse(html);if(json.code==="A00003"){fetch_params.headers["user-agent"]=PC_UA;json=JSON.parse(fetch(input,fetch_params))}json.data.list.forEach(function(data){if(data.channelId===1){desc=data.hasOwnProperty("score")?data.score+"分\\t":""}else if(data.channelId===2||data.channelId===4){if(data.latestOrder===data.videoCount){desc=(data.hasOwnProperty("score")?data.score+"分\\t":"")+data.latestOrder+"集全"}else{if(data.videoCount){desc=(data.hasOwnProperty("score")?data.score+"分\\t":"")+data.latestOrder+"/"+data.videoCount+"集"}else{desc="更新至 "+data.latestOrder+"集"}}}else if(data.channelId===6){desc=data.period+"期"}else if(data.channelId===5){desc=data.focus}else{if(data.latestOrder){desc="更新至 第"+data.latestOrder+"期"}else if(data.period){desc=data.period}else{desc=data.focus}}url=MY_CATE+"$"+data.albumId;d.push({url:url,title:data.name,desc:desc,pic_url:data.imageUrl.replace(".jpg","_390_520.jpg?caplist=jpg,webp")})});setResult(d);', + // 一级:'json:.data.list;.name;.imageUrl;.playUrl;.latestOrder', + // 二级:{is_json:1,"title":"data.title;data.moviecategory[0]+data.moviecategory[1]","img":"data.cdncover","desc":"data.area[0];data.director[0]","content":"data.description","tabs":"data.playlink_sites;data.playlinksdetail.#idv.quality","lists":"data.playlinksdetail.#idv.default_url"}, + // 二级:{is_json:1,"title":"data.name+data.subtitle;data.latestOrder","img":"data.imageUrl","desc":"data.categories;data.areas","content":"data.description","tabs":"data.name","lists":"data.playlinksdetail.#idv.default_url"}, + 二级: '', + 二级: 'js:let d=[];let html=request(input);let json=JSON.parse(html).data;VOD={vod_id:"",vod_url:input,vod_name:"",type_name:"",vod_actor:"",vod_year:"",vod_director:"",vod_area:"",vod_content:"",vod_remarks:"",vod_pic:""};VOD.vod_name=json.name;try{if(json.latestOrder){VOD.vod_remarks="类型: "+(json.categories[0].name||"")+"\\t"+(json.categories[1].name||"")+"\\t"+(json.categories[2].name||"")+"\\t"+"评分:"+(json.score||"")+"\\n更新至:第"+json.latestOrder+"集(期)/共"+json.videoCount+"集(期)"}else{VOD.vod_remarks="类型: "+(json.categories[0].name||"")+"\\t"+(json.categories[1].name||"")+"\\t"+(json.categories[2].name||"")+"\\t"+"评分:"+(json.score||"")+json.period}}catch(e){VOD.vod_remarks=json.subtitle}VOD.vod_area=(json.focus||"")+"\\n资费:"+(json.payMark===1?"VIP":"免费")+"\\n地区:"+(json.areas||"");let vsize="579_772";try{vsize=json.imageSize[12]}catch(e){}VOD.vod_pic=json.imageUrl.replace(".jpg","_"+vsize+".jpg?caplist=jpg,webp");VOD.type_name=json.categories.map(function(it){return it.name}).join(",");if(json.people.main_charactor){let vod_actors=[];json.people.main_charactor.forEach(function(it){vod_actors.push(it.name)});VOD.vod_actor=vod_actors.join(",")}VOD.vod_content=json.description;let playlists=[];if(json.channelId===1||json.channelId===5){playlists=[{playUrl:json.playUrl,imageUrl:json.imageUrl,shortTitle:json.shortTitle,focus:json.focus,period:json.period}]}else{if(json.channelId===6){let qs=json.period.split("-")[0];let listUrl="https://pcw-api.iqiyi.com/album/source/svlistinfo?cid=6&sourceid="+json.albumId+"&timelist="+qs;let playData=JSON.parse(request(listUrl)).data[qs];playData.forEach(function(it){playlists.push({playUrl:it.playUrl,imageUrl:it.imageUrl,shortTitle:it.shortTitle,focus:it.focus,period:it.period})})}else{let listUrl="https://pcw-api.iqiyi.com/albums/album/avlistinfo?aid="+json.albumId+"&size=200&page=1";let data=JSON.parse(request(listUrl)).data;let total=data.total;playlists=data.epsodelist;if(total>200){for(let i=2;i200){for(let i=2;i { + input = { + parse: 1, + url: input, + //js:'try{let urls=Array.from(document.querySelectorAll("iframe")).filter(x=>x.src.includes("?url="));if(urls){location.href=urls[0].src}}catch{}document.querySelector("button").click()', + js: 'try{location.href=document.querySelector("#playleft iframe").src}catch{}document.querySelector("button.swal-button--confirm").click()', + parse_extra: '&is_pc=1&custom_regex=' + rule.is_video, + } + }), + limit: 6, + 推荐: '.list-vod.flex .public-list-box;a&&title;.lazy&&data-original;.public-list-prb&&Text;a&&href', + 一级: $js.toString(() => { + let body = input.split("#")[1]; + let t = Math.round(new Date / 1e3).toString(); + let key = md5("DS" + t + "DCC147D11943AF75"); + let url = input.split("#")[0]; + body = body + "&time=" + t + "&key=" + key; + print(body); + fetch_params.body = body; + let html = post(url, fetch_params); + let data = JSON.parse(html); + VODS = data.list.map(function(it) { + it.vod_pic = urljoin2(input.split("/i")[0], it.vod_pic); + return it + }); + }), + 二级: { + title: '.slide-info-title&&Text;.slide-info:eq(3)--strong&&Text', + img: '.detail-pic&&data-original', + desc: '.fraction&&Text;.slide-info-remarks:eq(1)&&Text;.slide-info-remarks:eq(2)&&Text;.slide-info:eq(2)--strong&&Text;.slide-info:eq(1)--strong&&Text', + content: '#height_limit&&Text', + tabs: '.anthology.wow.fadeInUp.animated&&.swiper-wrapper&&a', + tab_text: '.swiper-slide&&Text', + lists: '.anthology-list-box:eq(#id) li', + }, + 搜索: 'json:list;name;pic;;id', + 搜索: $js.toString(() => { + let html = fetch(input); + let list = pdfa(html, ".public-list-box"); + VODS = list.map(x => { + return { + vod_name: pdfh(x, ".thumb-txt&&Text"), + vod_pic: pdfh(x, ".lazy&&data-src"), + vod_remarks: pdfh(x, ".public-list-prb&&Text"), + vod_content: pdfh(x, ".thumb-blurb&&Text"), + vod_id: pdfh(x, "a&&href") + } + }); + }), + 图片替换: '&=>&' +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/潇洒/js/LMM.js b/tvboxqq/tvboxqq/潇洒/js/LMM.js new file mode 100644 index 0000000..594cd64 --- /dev/null +++ b/tvboxqq/tvboxqq/潇洒/js/LMM.js @@ -0,0 +1,567 @@ +var rule = { + title: "路漫漫", + host: "https://www.lmm50.com", + url: "/vod/show/id/fyclassfyfilter.html", + searchUrl: '/vod/search/page/fypage/wd/**.html', + searchable: 2, + quickSearch: 0, + filterable: 1, + filter: { + "3": [{ + "key": "年代", + "name": "年代", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "2026", + "v": "/year/2026" + }, { + "n": "2025", + "v": "/year/2025" + }, { + "n": "2024", + "v": "/year/2024" + }, { + "n": "2023", + "v": "/year/2023" + }, { + "n": "2022", + "v": "/year/2022" + }, { + "n": "2021", + "v": "/year/2021" + }, { + "n": "2020", + "v": "/year/2020" + }, { + "n": "2019", + "v": "/year/2019" + }, { + "n": "2018", + "v": "/year/2018" + }, { + "n": "2017", + "v": "/year/2017" + }, { + "n": "2016", + "v": "/year/2016" + }, { + "n": "2015", + "v": "/year/2015" + }, { + "n": "更早", + "v": "/year/2014-1980" + }] + }, { + "key": "排序", + "name": "排序", + "value": [{ + "n": "最近更新", + "v": "/by/time" + }, { + "n": "最高人气", + "v": "/by/hits" + }, { + "n": "最高评分", + "v": "/by/score" + }, { + "n": "最多点赞", + "v": "/by/up" + }] + }], + "4": [{ + "key": "年代", + "name": "年代", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "2026", + "v": "/year/2026" + }, { + "n": "2025", + "v": "/year/2025" + }, { + "n": "2024", + "v": "/year/2024" + }, { + "n": "2023", + "v": "/year/2023" + }, { + "n": "2022", + "v": "/year/2022" + }, { + "n": "2021", + "v": "/year/2021" + }, { + "n": "2020", + "v": "/year/2020" + }, { + "n": "2019", + "v": "/year/2019" + }, { + "n": "2018", + "v": "/year/2018" + }, { + "n": "2017", + "v": "/year/2017" + }, { + "n": "2016", + "v": "/year/2016" + }, { + "n": "2015", + "v": "/year/2015" + }, { + "n": "更早", + "v": "/year/2014-1980" + }] + }, { + "key": "排序", + "name": "排序", + "value": [{ + "n": "最近更新", + "v": "/by/time" + }, { + "n": "最高人气", + "v": "/by/hits" + }, { + "n": "最高评分", + "v": "/by/score" + }, { + "n": "最多点赞", + "v": "/by/up" + }] + }], + "5": [{ + "key": "年代", + "name": "年代", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "2026", + "v": "/year/2026" + }, { + "n": "2025", + "v": "/year/2025" + }, { + "n": "2024", + "v": "/year/2024" + }, { + "n": "2023", + "v": "/year/2023" + }, { + "n": "2022", + "v": "/year/2022" + }, { + "n": "2021", + "v": "/year/2021" + }, { + "n": "2020", + "v": "/year/2020" + }, { + "n": "2019", + "v": "/year/2019" + }, { + "n": "2018", + "v": "/year/2018" + }, { + "n": "2017", + "v": "/year/2017" + }, { + "n": "2016", + "v": "/year/2016" + }, { + "n": "2015", + "v": "/year/2015" + }, { + "n": "更早", + "v": "/year/2014-1980" + }] + }, { + "key": "排序", + "name": "排序", + "value": [{ + "n": "最近更新", + "v": "/by/time" + }, { + "n": "最高人气", + "v": "/by/hits" + }, { + "n": "最高评分", + "v": "/by/score" + }, { + "n": "最多点赞", + "v": "/by/up" + }] + }], + "6": [{ + "key": "年代", + "name": "年代", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "2026", + "v": "/year/2026" + }, { + "n": "2025", + "v": "/year/2025" + }, { + "n": "2024", + "v": "/year/2024" + }, { + "n": "2023", + "v": "/year/2023" + }, { + "n": "2022", + "v": "/year/2022" + }, { + "n": "2021", + "v": "/year/2021" + }, { + "n": "2020", + "v": "/year/2020" + }, { + "n": "2019", + "v": "/year/2019" + }, { + "n": "2018", + "v": "/year/2018" + }, { + "n": "2017", + "v": "/year/2017" + }, { + "n": "2016", + "v": "/year/2016" + }, { + "n": "2015", + "v": "/year/2015" + }, { + "n": "更早", + "v": "/year/2014-1980" + }] + }, { + "key": "排序", + "name": "排序", + "value": [{ + "n": "最近更新", + "v": "/by/time" + }, { + "n": "最高人气", + "v": "/by/hits" + }, { + "n": "最高评分", + "v": "/by/score" + }, { + "n": "最多点赞", + "v": "/by/up" + }] + }], + "7": [{ + "key": "年代", + "name": "年代", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "2026", + "v": "/year/2026" + }, { + "n": "2025", + "v": "/year/2025" + }, { + "n": "2024", + "v": "/year/2024" + }, { + "n": "2023", + "v": "/year/2023" + }, { + "n": "2022", + "v": "/year/2022" + }, { + "n": "2021", + "v": "/year/2021" + }, { + "n": "2020", + "v": "/year/2020" + }, { + "n": "2019", + "v": "/year/2019" + }, { + "n": "2018", + "v": "/year/2018" + }, { + "n": "2017", + "v": "/year/2017" + }, { + "n": "2016", + "v": "/year/2016" + }, { + "n": "2015", + "v": "/year/2015" + }, { + "n": "更早", + "v": "/year/2014-1980" + }] + }, { + "key": "排序", + "name": "排序", + "value": [{ + "n": "最近更新", + "v": "/by/time" + }, { + "n": "最高人气", + "v": "/by/hits" + }, { + "n": "最高评分", + "v": "/by/score" + }, { + "n": "最多点赞", + "v": "/by/up" + }] + }], + "8": [{ + "key": "年代", + "name": "年代", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "2026", + "v": "/year/2026" + }, { + "n": "2025", + "v": "/year/2025" + }, { + "n": "2024", + "v": "/year/2024" + }, { + "n": "2023", + "v": "/year/2023" + }, { + "n": "2022", + "v": "/year/2022" + }, { + "n": "2021", + "v": "/year/2021" + }, { + "n": "2020", + "v": "/year/2020" + }, { + "n": "2019", + "v": "/year/2019" + }, { + "n": "2018", + "v": "/year/2018" + }, { + "n": "2017", + "v": "/year/2017" + }, { + "n": "2016", + "v": "/year/2016" + }, { + "n": "2015", + "v": "/year/2015" + }, { + "n": "更早", + "v": "/year/2014-1980" + }] + }, { + "key": "排序", + "name": "排序", + "value": [{ + "n": "最近更新", + "v": "/by/time" + }, { + "n": "最高人气", + "v": "/by/hits" + }, { + "n": "最高评分", + "v": "/by/score" + }, { + "n": "最多点赞", + "v": "/by/up" + }] + }] + }, + filter_url: "{{fl.排序}}{{fl.年代}}/page/fypage", + filter_def: "", + headers: { + "User-Agent": "MOBILE_UA" + }, + timeout: 5000, + class_name: "日本动漫&国产动漫&欧美动漫&日本动画电影&国产动画电影&欧美动画电影", + class_url: "6&7&8&3&4&5", + class_parse: "", + cate_exclude: "", + play_parse: true, + lazy: $js.toString(() => { + function getDAesString(token) { + eval(getCryptoJS()); + var key = CryptoJS.enc.Utf8.parse("ejjooopppqqqrwww"); + + var iv = CryptoJS.enc.Utf8.parse("1348987635684651"); + + var token = CryptoJS.AES.decrypt(token, key, { + iv: iv, + mode: CryptoJS.mode.CBC, + padding: CryptoJS.pad.Pkcs7, + }); + + return token.toString(CryptoJS.enc.Utf8); + } + + var html = JSON.parse(request(input).match(/r player_.*?=(.*?) { + try { + let api = input.split("?")[0]; + let response = fetch(api, { + method: 'get', + headers: { + 'User-Agent': 'okhttp/3.14.9', + 'Content-Type': 'application/x-www-form-urlencoded' + } + }); + let bata = JSON.parse(response); + input = { + parse: 0, + url: bata.url.includes("mgtv") ? bata.url : input.split("?")[0], + jx: bata.url.includes("mgtv") ? 0 : 1, + danmaku: "http://127.0.0.1:9978/proxy?do=danmu&site=js&url=" + input.split("?")[0] + }; + } catch { + input = { + parse: 0, + url: input.split("?")[0], + jx: 1, + danmaku: "http://127.0.0.1:9978/proxy?do=danmu&site=js&url=" + input.split("?")[0] + }; + } + }), + 一级: 'json:data.hitDocs;title;img;updateInfo||rightCorner.text;playPartId', + 二级: $js.toString(() => { + fetch_params.headers.Referer = "https://www.mgtv.com"; + fetch_params.headers["User-Agent"] = MOBILE_UA; + + let videoId = input.split('video_id=')[1].split('&')[0]; + let infoUrl = `https://pcweb.api.mgtv.com/video/info?allowedRC=1&vid=${videoId}&type=b&_support=10000000`; + let infoData = JSON.parse(request(infoUrl)); + + if (infoData && infoData.data && infoData.data.info) { + let detail = infoData.data.info.detail || {}; + VOD = { + vod_name: infoData.data.info.title || "", + type_name: detail.kind || "", + vod_year: detail.releaseTime || "", + vod_area: detail.area || "", + vod_actor: detail.leader || "", + vod_director: detail.director || "", + vod_content: detail.story || "", + vod_remarks: detail.updateInfo || "" + }; + if (detail.img) VOD.vod_pic = detail.img; + } + + let d = []; + let html = request(input); + let json = JSON.parse(html); + let host = "https://www.mgtv.com"; + let ourl = json.data.list.length > 0 ? json.data.list[0].url : json.data.series[0].url; + if (!/^http/.test(ourl)) ourl = host + ourl; + + fetch_params.headers["User-Agent"] = MOBILE_UA; + html = request(ourl); + if (html.includes("window.location =")) { + ourl = pdfh(html, "meta[http-equiv=refresh]&&content").split("url=")[1]; + html = request(ourl); + } + + try { + let details = pdfh(html, ".m-details&&Html").replace(/h1>/, "h6>").replace(/div/g, "br"); + let actor = "", + director = "", + time = ""; + if (/播出时间/.test(details)) { + actor = pdfh(html, "p:eq(5)&&Text").substr(0, 25); + director = pdfh(html, "p:eq(4)&&Text"); + time = pdfh(html, "p:eq(3)&&Text"); + } else { + actor = pdfh(html, "p:eq(4)&&Text").substr(0, 25); + director = pdfh(html, "p:eq(3)&&Text"); + time = "已完结"; + } + let _img = pd(html, ".video-img&&img&&src"); + let JJ = pdfh(html, ".desc&&Text").split("牛马简介:")[1]; + VOD.vod_name = VOD.vod_name || pdfh(html, ".vt-txt&&Text"); + VOD.type_name = VOD.type_name || pdfh(html, "p:eq(0)&&Text").substr(0, 6); + VOD.vod_area = VOD.vod_area || pdfh(html, "p:eq(1)&&Text"); + VOD.vod_actor = VOD.vod_actor || actor; + VOD.vod_director = VOD.vod_director || director; + VOD.vod_remarks = VOD.vod_remarks || time; + VOD.vod_pic = VOD.vod_pic || _img; + VOD.vod_content = VOD.vod_content || JJ; + if (!VOD.vod_name) VOD.vod_name = VOD.type_name; + } catch (e) { + log("获取影片信息发生错误:" + e.message); + } + + function getRjpg(imgUrl, xs) { + xs = xs || 3; + let picSize = /jpg_/.test(imgUrl) ? imgUrl.split("jpg_")[1].split(".")[0] : false; + let rjpg = false; + if (picSize) { + let a = parseInt(picSize.split("x")[0]) * xs; + let b = parseInt(picSize.split("x")[1]) * xs; + rjpg = a + "x" + b + ".jpg"; + } + return /jpg_/.test(imgUrl) && rjpg ? imgUrl.replace(imgUrl.split("jpg_")[1], rjpg) : imgUrl; + } + + if (json.data.total === 1 && json.data.list.length === 1) { + let data = json.data.list[0]; + d.push({ + title: data.t4, + desc: data.t2, + pic_url: getRjpg(data.img), + url: "https://www.mgtv.com" + data.url + }); + } else if (json.data.list.length > 1) { + for (let i = 1; i <= json.data.total_page; i++) { + if (i > 1) json = JSON.parse(fetch(input.replace("page=1", "page=" + i), {})); + json.data.list.forEach(function(data) { + if (data.isIntact == "1") { + d.push({ + title: data.t4, + desc: data.t2, + pic_url: getRjpg(data.img), + url: "https://www.mgtv.com" + data.url + }); + } + }); + } + } else { + print(input + "暂无片源"); + } + VOD.vod_play_from = "芒果TV"; + VOD.vod_play_url = d.map(function(it) { + return it.title + "$" + it.url; + }).join("#"); + setResult(d); + }), + 搜索: $js.toString(() => { + fetch_params.headers.Referer = "https://www.mgtv.com"; + fetch_params.headers["User-Agent"] = MOBILE_UA; + let d = []; + let html = request(input); + let json = JSON.parse(html); + json.data.contents.forEach(function(data) { + if (data.type && data.type == 'media') { + let item = data.data[0]; + if (item.source === "imgo") { + let fyclass = ''; + try { + fyclass = item.rpt.match(/idx=(.*?)&/)[1] + '$'; + } catch (e) { + log(e.message); + } + d.push({ + title: item.title.replace(/|<\/B>/g, ''), + img: item.img || '', + content: '', + desc: item.desc.join(','), + url: fyclass + item.url.match(/.*\/(.*?)\.html/)[1] + }); + } + } + }); + setResult(d); + }) +}; + +function getCommonFilter() { + return [{ + "key": "chargeInfo", + "name": "付费类型", + "value": [{ + "n": "全部", + "v": "all" + }, + { + "n": "免费", + "v": "b1" + }, + { + "n": "vip", + "v": "b2" + }, + { + "n": "VIP用券", + "v": "b3" + }, + { + "n": "付费点播", + "v": "b4" + } + ] + }, { + "key": "sort", + "name": "排序", + "value": [{ + "n": "最新", + "v": "c1" + }, + { + "n": "最热", + "v": "c2" + }, + { + "n": "知乎高分", + "v": "c4" + } + ] + }, { + "key": "year", + "name": "年代", + "value": [{ + "n": "全部", + "v": "all" + }, + { + "n": "2026", + "v": "2026" + }, + { + "n": "2025", + "v": "2025" + }, + { + "n": "2024", + "v": "2024" + }, + { + "n": "2023", + "v": "2023" + }, + { + "n": "2022", + "v": "2022" + }, + { + "n": "2021", + "v": "2021" + }, + { + "n": "2020", + "v": "2020" + }, + { + "n": "2019", + "v": "2019" + }, + { + "n": "2018", + "v": "2018" + }, + { + "n": "2017", + "v": "2017" + }, + { + "n": "2016", + "v": "2016" + }, + { + "n": "2015", + "v": "2015" + }, + { + "n": "2014", + "v": "2014" + }, + { + "n": "2013", + "v": "2013" + }, + { + "n": "2012", + "v": "2012" + }, + { + "n": "2011", + "v": "2011" + }, + { + "n": "2010", + "v": "2010" + }, + { + "n": "2009", + "v": "2009" + }, + { + "n": "2008", + "v": "2008" + }, + { + "n": "2007", + "v": "2007" + }, + { + "n": "2006", + "v": "2006" + }, + { + "n": "2005", + "v": "2005" + }, + { + "n": "2004", + "v": "2004" + } + ] + }]; +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/潇洒/js/NTDM.js b/tvboxqq/tvboxqq/潇洒/js/NTDM.js new file mode 100644 index 0000000..f6874b5 --- /dev/null +++ b/tvboxqq/tvboxqq/潇洒/js/NTDM.js @@ -0,0 +1,1022 @@ +// http://www.ntdm.tv +var rule = { + title: 'NT动漫', + host: 'http://www.ntdm8.com', + homeUrl: '/type/riben.html', + // url:'/show/fyclass--------fypage---.html', + url: '/show/fyclassfyfilter.html', + filterable: 1, //是否启用分类筛选, + filter_url: '--{{fl.by}}-{{fl.class}}--{{fl.letter}}---fypage---{{fl.year}}', + filter: { + "riben": [{ + "key": "year", + "name": "年份:", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "2026", + "v": "2026" + }, { + "n": "2025", + "v": "2025" + }, { + "n": "2024", + "v": "2024" + }, { + "n": "2023", + "v": "2023" + }, { + "n": "2022", + "v": "2022" + }, { + "n": "2021", + "v": "2021" + }, { + "n": "2020", + "v": "2020" + }, { + "n": "2019", + "v": "2019" + }, { + "n": "2018", + "v": "2018" + }, { + "n": "2017", + "v": "2017" + }, { + "n": "2016", + "v": "2016" + }, { + "n": "2015", + "v": "2015" + }, { + "n": "2014", + "v": "2014" + }, { + "n": "2013", + "v": "2013" + }, { + "n": "2012", + "v": "2012" + }, { + "n": "2011", + "v": "2011" + }, { + "n": "2010", + "v": "2010" + }, { + "n": "2009", + "v": "2009" + }, { + "n": "2008", + "v": "2008" + }, { + "n": "2007", + "v": "2007" + }, { + "n": "2006", + "v": "2006" + }, { + "n": "2005", + "v": "2005" + }, { + "n": "2004", + "v": "2004" + }, { + "n": "2003", + "v": "2003" + }, { + "n": "2002", + "v": "2002" + }, { + "n": "2001", + "v": "2001" + }, { + "n": "2000以前", + "v": "2000以前" + }] + }, { + "key": "class", + "name": "类型:", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "搞笑", + "v": "搞笑" + }, { + "n": "运动", + "v": "运动" + }, { + "n": "励志", + "v": "励志" + }, { + "n": "热血", + "v": "热血" + }, { + "n": "战斗", + "v": "战斗" + }, { + "n": "竞技", + "v": "竞技" + }, { + "n": "校园", + "v": "校园" + }, { + "n": "青春", + "v": "青春" + }, { + "n": "爱情", + "v": "爱情" + }, { + "n": "冒险", + "v": "冒险" + }, { + "n": "后宫", + "v": "后宫" + }, { + "n": "百合", + "v": "百合" + }, { + "n": "治愈", + "v": "治愈" + }, { + "n": "萝莉", + "v": "萝莉" + }, { + "n": "魔法", + "v": "魔法" + }, { + "n": "悬疑", + "v": "悬疑" + }, { + "n": "推理", + "v": "推理" + }, { + "n": "奇幻", + "v": "奇幻" + }, { + "n": "科幻", + "v": "科幻" + }, { + "n": "游戏", + "v": "游戏" + }, { + "n": "神魔", + "v": "神魔" + }, { + "n": "恐怖", + "v": "恐怖" + }, { + "n": "血腥", + "v": "血腥" + }, { + "n": "机战", + "v": "机战" + }, { + "n": "战争", + "v": "战争" + }, { + "n": "犯罪", + "v": "犯罪" + }, { + "n": "历史", + "v": "历史" + }, { + "n": "社会", + "v": "社会" + }, { + "n": "职场", + "v": "职场" + }, { + "n": "剧情", + "v": "剧情" + }, { + "n": "伪娘", + "v": "伪娘" + }, { + "n": "耽美", + "v": "耽美" + }, { + "n": "童年", + "v": "童年" + }, { + "n": "教育", + "v": "教育" + }, { + "n": "亲子", + "v": "亲子" + }, { + "n": "真人", + "v": "真人" + }, { + "n": "歌舞", + "v": "歌舞" + }, { + "n": "肉番", + "v": "肉番" + }, { + "n": "美少女", + "v": "美少女" + }, { + "n": "轻小说", + "v": "轻小说" + }, { + "n": "吸血鬼", + "v": "吸血鬼" + }, { + "n": "女性向", + "v": "女性向" + }, { + "n": "泡面番", + "v": "泡面番" + }, { + "n": "欢乐向", + "v": "欢乐向" + }] + }, { + "key": "letter", + "name": "字母:", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "A", + "v": "A" + }, { + "n": "B", + "v": "B" + }, { + "n": "C", + "v": "C" + }, { + "n": "D", + "v": "D" + }, { + "n": "E", + "v": "E" + }, { + "n": "F", + "v": "F" + }, { + "n": "G", + "v": "G" + }, { + "n": "H", + "v": "H" + }, { + "n": "I", + "v": "I" + }, { + "n": "J", + "v": "J" + }, { + "n": "K", + "v": "K" + }, { + "n": "L", + "v": "L" + }, { + "n": "M", + "v": "M" + }, { + "n": "N", + "v": "N" + }, { + "n": "O", + "v": "O" + }, { + "n": "P", + "v": "P" + }, { + "n": "Q", + "v": "Q" + }, { + "n": "R", + "v": "R" + }, { + "n": "S", + "v": "S" + }, { + "n": "T", + "v": "T" + }, { + "n": "U", + "v": "U" + }, { + "n": "V", + "v": "V" + }, { + "n": "W", + "v": "W" + }, { + "n": "X", + "v": "X" + }, { + "n": "Y", + "v": "Y" + }, { + "n": "Z", + "v": "Z" + }, { + "n": "0~9", + "v": "0~9" + }] + }, { + "key": "by", + "name": "排序:", + "value": [{ + "n": "更新时间", + "v": "time" + }, { + "n": "人气", + "v": "hits" + }, { + "n": "评分", + "v": "score" + }] + }], + "zhongguo": [{ + "key": "year", + "name": "年份:", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "2026", + "v": "2026" + }, { + "n": "2025", + "v": "2025" + }, { + "n": "2024", + "v": "2024" + }, { + "n": "2023", + "v": "2023" + }, { + "n": "2022", + "v": "2022" + }, { + "n": "2021", + "v": "2021" + }, { + "n": "2020", + "v": "2020" + }, { + "n": "2019", + "v": "2019" + }, { + "n": "2018", + "v": "2018" + }, { + "n": "2017", + "v": "2017" + }, { + "n": "2016", + "v": "2016" + }, { + "n": "2015", + "v": "2015" + }, { + "n": "2014", + "v": "2014" + }, { + "n": "2013", + "v": "2013" + }, { + "n": "2012", + "v": "2012" + }, { + "n": "2011", + "v": "2011" + }, { + "n": "2010", + "v": "2010" + }, { + "n": "2009", + "v": "2009" + }, { + "n": "2008", + "v": "2008" + }, { + "n": "2007", + "v": "2007" + }, { + "n": "2006", + "v": "2006" + }, { + "n": "2005", + "v": "2005" + }, { + "n": "2004", + "v": "2004" + }, { + "n": "2003", + "v": "2003" + }, { + "n": "2002", + "v": "2002" + }, { + "n": "2001", + "v": "2001" + }, { + "n": "2000以前", + "v": "2000以前" + }] + }, { + "key": "class", + "name": "类型:", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "搞笑", + "v": "搞笑" + }, { + "n": "运动", + "v": "运动" + }, { + "n": "励志", + "v": "励志" + }, { + "n": "热血", + "v": "热血" + }, { + "n": "战斗", + "v": "战斗" + }, { + "n": "竞技", + "v": "竞技" + }, { + "n": "校园", + "v": "校园" + }, { + "n": "青春", + "v": "青春" + }, { + "n": "爱情", + "v": "爱情" + }, { + "n": "冒险", + "v": "冒险" + }, { + "n": "后宫", + "v": "后宫" + }, { + "n": "百合", + "v": "百合" + }, { + "n": "治愈", + "v": "治愈" + }, { + "n": "萝莉", + "v": "萝莉" + }, { + "n": "魔法", + "v": "魔法" + }, { + "n": "悬疑", + "v": "悬疑" + }, { + "n": "推理", + "v": "推理" + }, { + "n": "奇幻", + "v": "奇幻" + }, { + "n": "科幻", + "v": "科幻" + }, { + "n": "游戏", + "v": "游戏" + }, { + "n": "神魔", + "v": "神魔" + }, { + "n": "恐怖", + "v": "恐怖" + }, { + "n": "血腥", + "v": "血腥" + }, { + "n": "机战", + "v": "机战" + }, { + "n": "战争", + "v": "战争" + }, { + "n": "犯罪", + "v": "犯罪" + }, { + "n": "历史", + "v": "历史" + }, { + "n": "社会", + "v": "社会" + }, { + "n": "职场", + "v": "职场" + }, { + "n": "剧情", + "v": "剧情" + }, { + "n": "伪娘", + "v": "伪娘" + }, { + "n": "耽美", + "v": "耽美" + }, { + "n": "童年", + "v": "童年" + }, { + "n": "教育", + "v": "教育" + }, { + "n": "亲子", + "v": "亲子" + }, { + "n": "真人", + "v": "真人" + }, { + "n": "歌舞", + "v": "歌舞" + }, { + "n": "肉番", + "v": "肉番" + }, { + "n": "美少女", + "v": "美少女" + }, { + "n": "轻小说", + "v": "轻小说" + }, { + "n": "吸血鬼", + "v": "吸血鬼" + }, { + "n": "女性向", + "v": "女性向" + }, { + "n": "泡面番", + "v": "泡面番" + }, { + "n": "欢乐向", + "v": "欢乐向" + }] + }, { + "key": "letter", + "name": "字母:", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "A", + "v": "A" + }, { + "n": "B", + "v": "B" + }, { + "n": "C", + "v": "C" + }, { + "n": "D", + "v": "D" + }, { + "n": "E", + "v": "E" + }, { + "n": "F", + "v": "F" + }, { + "n": "G", + "v": "G" + }, { + "n": "H", + "v": "H" + }, { + "n": "I", + "v": "I" + }, { + "n": "J", + "v": "J" + }, { + "n": "K", + "v": "K" + }, { + "n": "L", + "v": "L" + }, { + "n": "M", + "v": "M" + }, { + "n": "N", + "v": "N" + }, { + "n": "O", + "v": "O" + }, { + "n": "P", + "v": "P" + }, { + "n": "Q", + "v": "Q" + }, { + "n": "R", + "v": "R" + }, { + "n": "S", + "v": "S" + }, { + "n": "T", + "v": "T" + }, { + "n": "U", + "v": "U" + }, { + "n": "V", + "v": "V" + }, { + "n": "W", + "v": "W" + }, { + "n": "X", + "v": "X" + }, { + "n": "Y", + "v": "Y" + }, { + "n": "Z", + "v": "Z" + }, { + "n": "0~9", + "v": "0~9" + }] + }, { + "key": "by", + "name": "排序:", + "value": [{ + "n": "更新时间", + "v": "time" + }, { + "n": "人气", + "v": "hits" + }, { + "n": "评分", + "v": "score" + }] + }], + "omei": [{ + "key": "year", + "name": "年份:", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "2026", + "v": "2026" + }, { + "n": "2025", + "v": "2025" + }, { + "n": "2024", + "v": "2024" + }, { + "n": "2023", + "v": "2023" + }, { + "n": "2022", + "v": "2022" + }, { + "n": "2021", + "v": "2021" + }, { + "n": "2020", + "v": "2020" + }, { + "n": "2019", + "v": "2019" + }, { + "n": "2018", + "v": "2018" + }, { + "n": "2017", + "v": "2017" + }, { + "n": "2016", + "v": "2016" + }, { + "n": "2015", + "v": "2015" + }, { + "n": "2014", + "v": "2014" + }, { + "n": "2013", + "v": "2013" + }, { + "n": "2012", + "v": "2012" + }, { + "n": "2011", + "v": "2011" + }, { + "n": "2010", + "v": "2010" + }, { + "n": "2009", + "v": "2009" + }, { + "n": "2008", + "v": "2008" + }, { + "n": "2007", + "v": "2007" + }, { + "n": "2006", + "v": "2006" + }, { + "n": "2005", + "v": "2005" + }, { + "n": "2004", + "v": "2004" + }, { + "n": "2003", + "v": "2003" + }, { + "n": "2002", + "v": "2002" + }, { + "n": "2001", + "v": "2001" + }, { + "n": "2000以前", + "v": "2000以前" + }] + }, { + "key": "class", + "name": "类型:", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "搞笑", + "v": "搞笑" + }, { + "n": "运动", + "v": "运动" + }, { + "n": "励志", + "v": "励志" + }, { + "n": "热血", + "v": "热血" + }, { + "n": "战斗", + "v": "战斗" + }, { + "n": "竞技", + "v": "竞技" + }, { + "n": "校园", + "v": "校园" + }, { + "n": "青春", + "v": "青春" + }, { + "n": "爱情", + "v": "爱情" + }, { + "n": "冒险", + "v": "冒险" + }, { + "n": "后宫", + "v": "后宫" + }, { + "n": "百合", + "v": "百合" + }, { + "n": "治愈", + "v": "治愈" + }, { + "n": "萝莉", + "v": "萝莉" + }, { + "n": "魔法", + "v": "魔法" + }, { + "n": "悬疑", + "v": "悬疑" + }, { + "n": "推理", + "v": "推理" + }, { + "n": "奇幻", + "v": "奇幻" + }, { + "n": "科幻", + "v": "科幻" + }, { + "n": "游戏", + "v": "游戏" + }, { + "n": "神魔", + "v": "神魔" + }, { + "n": "恐怖", + "v": "恐怖" + }, { + "n": "血腥", + "v": "血腥" + }, { + "n": "机战", + "v": "机战" + }, { + "n": "战争", + "v": "战争" + }, { + "n": "犯罪", + "v": "犯罪" + }, { + "n": "历史", + "v": "历史" + }, { + "n": "社会", + "v": "社会" + }, { + "n": "职场", + "v": "职场" + }, { + "n": "剧情", + "v": "剧情" + }, { + "n": "伪娘", + "v": "伪娘" + }, { + "n": "耽美", + "v": "耽美" + }, { + "n": "童年", + "v": "童年" + }, { + "n": "教育", + "v": "教育" + }, { + "n": "亲子", + "v": "亲子" + }, { + "n": "真人", + "v": "真人" + }, { + "n": "歌舞", + "v": "歌舞" + }, { + "n": "肉番", + "v": "肉番" + }, { + "n": "美少女", + "v": "美少女" + }, { + "n": "轻小说", + "v": "轻小说" + }, { + "n": "吸血鬼", + "v": "吸血鬼" + }, { + "n": "女性向", + "v": "女性向" + }, { + "n": "泡面番", + "v": "泡面番" + }, { + "n": "欢乐向", + "v": "欢乐向" + }] + }, { + "key": "letter", + "name": "字母:", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "A", + "v": "A" + }, { + "n": "B", + "v": "B" + }, { + "n": "C", + "v": "C" + }, { + "n": "D", + "v": "D" + }, { + "n": "E", + "v": "E" + }, { + "n": "F", + "v": "F" + }, { + "n": "G", + "v": "G" + }, { + "n": "H", + "v": "H" + }, { + "n": "I", + "v": "I" + }, { + "n": "J", + "v": "J" + }, { + "n": "K", + "v": "K" + }, { + "n": "L", + "v": "L" + }, { + "n": "M", + "v": "M" + }, { + "n": "N", + "v": "N" + }, { + "n": "O", + "v": "O" + }, { + "n": "P", + "v": "P" + }, { + "n": "Q", + "v": "Q" + }, { + "n": "R", + "v": "R" + }, { + "n": "S", + "v": "S" + }, { + "n": "T", + "v": "T" + }, { + "n": "U", + "v": "U" + }, { + "n": "V", + "v": "V" + }, { + "n": "W", + "v": "W" + }, { + "n": "X", + "v": "X" + }, { + "n": "Y", + "v": "Y" + }, { + "n": "Z", + "v": "Z" + }, { + "n": "0~9", + "v": "0~9" + }] + }, { + "key": "by", + "name": "排序:", + "value": [{ + "n": "更新时间", + "v": "time" + }, { + "n": "人气", + "v": "hits" + }, { + "n": "评分", + "v": "score" + }] + }] + }, + searchUrl: '/search/**----------fypage---.html', + searchable: 2, //是否启用全局搜索, + quickSearch: 0, //是否启用快速搜索, + headers: { //网站的请求头,完整支持所有的,常带ua和cookies + 'User-Agent': 'MOBILE_UA', + }, + class_parse: '.search-tag li;a&&Text;a&&href;.*/(\\w+).html', + play_parse: true, + detailUrl: '', + lazy: "", + limit: 6, + 推荐: '*', + 一级: '.blockcontent1&&.blockdif2;img&&alt;img&&src;.newname&&Text;a&&href', + 二级访问前: '', + 二级: { + "title": "h4&&Text;.detail_imform_value:eq(6)&&Text", + "img": ".poster&&src", + "desc": ".detail_imform_kv:eq(0)&&Text;.detail_imform_value:eq(5)&&Text;.detail_imform_value:eq(2)&&Text;.detail_imform_kv:eq(0)&&Text;.detail_imform_kv:eq(3)&&Text", + "content": ".detail_imform_desc_pre&&Text", + "tabs": "#menu0&&li", + "lists": ".movurl:eq(#id)&&li" + }, + 搜索: '*', +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/潇洒/js/QKB.js b/tvboxqq/tvboxqq/潇洒/js/QKB.js new file mode 100644 index 0000000..54ab080 --- /dev/null +++ b/tvboxqq/tvboxqq/潇洒/js/QKB.js @@ -0,0 +1 @@ +bXViYW4udmZlZC7kuoznuqcudGl0bGUgPSAnaDEmJlRleHQ7LmZlZC1jb2wtbWQzLS1zcGFuOmVxKDApJiZUZXh0JzsKbXViYW4udmZlZC7kuoznuqcuZGVzYyA9ICcuZmVkLWNvbC1tZDM6ZXEoMykmJlRleHQ7OzsuZmVkLWNvbC1tZDY6ZXEoMCkmJlRleHQ7LmZlZC1jb2wtbWQ2LS1zcGFuOmVxKDEpJiZUZXh0JzsKdmFyIHJ1bGUgPSB7CiAgICB0aXRsZTogJ+WOu+eci+WQpycsCiAgICDmqKHmnb86ICd2ZmVkJywKICAgIGhvc3Q6ICdodHRwczovL3d3dy5rOWRtLmNvbScsCiAgICAvLyB1cmw6ICcvaW5kZXgucGhwL3ZvZC9zaG93L2lkL2Z5Y2xhc3MvcGFnZS9meXBhZ2UuaHRtbCcsCiAgICB1cmw6ICcvaW5kZXgucGhwL3ZvZC9zaG93L2lkL2Z5Y2xhc3NmeWZpbHRlci5odG1sJywKICAgIGZpbHRlcmFibGU6IDEsIC8v5piv5ZCm5ZCv55So5YiG57G7562b6YCJLAogICAgZmlsdGVyX3VybDogJ3t7ZmwuYXJlYX19e3tmbC5ieX19e3tmbC5jbGFzc319L3BhZ2UvZnlwYWdle3tmbC55ZWFyfX0nLAogICAgZmlsdGVyOiB7CiAgICAgICAgIjMzIjogW3sKICAgICAgICAgICAgImtleSI6ICJjbGFzcyIsCiAgICAgICAgICAgICJuYW1lIjogIuexu+WeiyIsCiAgICAgICAgICAgICJ2YWx1ZSI6IFt7CiAgICAgICAgICAgICAgICAibiI6ICLlhajpg6giLAogICAgICAgICAgICAgICAgInYiOiAiIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICLmkJ7nrJEiLAogICAgICAgICAgICAgICAgInYiOiAiL2NsYXNzL+aQnueskSIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAi57uP5YW4IiwKICAgICAgICAgICAgICAgICJ2IjogIi9jbGFzcy/nu4/lhbgiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIueDreihgCIsCiAgICAgICAgICAgICAgICAidiI6ICIvY2xhc3Mv54Ot6KGAIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICLlgqzms6oiLAogICAgICAgICAgICAgICAgInYiOiAiL2NsYXNzL+WCrOazqiIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAi5rK75oSIIiwKICAgICAgICAgICAgICAgICJ2IjogIi9jbGFzcy/msrvmhIgiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIueMjuWlhyIsCiAgICAgICAgICAgICAgICAidiI6ICIvY2xhc3Mv54yO5aWHIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICLlirHlv5ciLAogICAgICAgICAgICAgICAgInYiOiAiL2NsYXNzL+WKseW/lyIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAi5oiY5paXIiwKICAgICAgICAgICAgICAgICJ2IjogIi9jbGFzcy/miJjmlpciCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIuWQjuWuqyIsCiAgICAgICAgICAgICAgICAidiI6ICIvY2xhc3Mv5ZCO5a6rIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICLmnLrmiJgiLAogICAgICAgICAgICAgICAgInYiOiAiL2NsYXNzL+acuuaImCIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAi5oGL54ixIiwKICAgICAgICAgICAgICAgICJ2IjogIi9jbGFzcy/mgYvniLEiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIueZvuWQiCIsCiAgICAgICAgICAgICAgICAidiI6ICIvY2xhc3Mv55m+5ZCIIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICLnp5HlubsiLAogICAgICAgICAgICAgICAgInYiOiAiL2NsYXNzL+enkeW5uyIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAi5aWH5bm7IiwKICAgICAgICAgICAgICAgICJ2IjogIi9jbGFzcy/lpYflubsiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIuaOqOeQhiIsCiAgICAgICAgICAgICAgICAidiI6ICIvY2xhc3Mv5o6o55CGIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICLmoKHlm60iLAogICAgICAgICAgICAgICAgInYiOiAiL2NsYXNzL+agoeWbrSIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAi6L+Q5YqoIiwKICAgICAgICAgICAgICAgICJ2IjogIi9jbGFzcy/ov5DliqgiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIumtlOazlSIsCiAgICAgICAgICAgICAgICAidiI6ICIvY2xhc3Mv6a2U5rOVIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICLljoblj7IiLAogICAgICAgICAgICAgICAgInYiOiAiL2NsYXNzL+WOhuWPsiIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAi5Lyq5aiYIiwKICAgICAgICAgICAgICAgICJ2IjogIi9jbGFzcy/kvKrlqJgiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIue+juWwkeWlsyIsCiAgICAgICAgICAgICAgICAidiI6ICIvY2xhc3Mv576O5bCR5aWzIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICLokJ3ojokiLAogICAgICAgICAgICAgICAgInYiOiAiL2NsYXNzL+iQneiOiSIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAi5Lqy5a2QIiwKICAgICAgICAgICAgICAgICJ2IjogIi9jbGFzcy/kurLlrZAiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIumdkuaYpSIsCiAgICAgICAgICAgICAgICAidiI6ICIvY2xhc3Mv6Z2S5pilIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICLlhpLpmakiLAogICAgICAgICAgICAgICAgInYiOiAiL2NsYXNzL+WGkumZqSIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAi56ue5oqAIiwKICAgICAgICAgICAgICAgICJ2IjogIi9jbGFzcy/nq57mioAiCiAgICAgICAgICAgIH1dCiAgICAgICAgfSwgewogICAgICAgICAgICAia2V5IjogInllYXIiLAogICAgICAgICAgICAibmFtZSI6ICLlubTku6MiLAogICAgICAgICAgICAidmFsdWUiOiBbewogICAgICAgICAgICAgICAgIm4iOiAi5YWo6YOoIiwKICAgICAgICAgICAgICAgICJ2IjogIiIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAiMjAyNSIsCiAgICAgICAgICAgICAgICAidiI6ICIveWVhci8yMDI1IgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICIyMDI0IiwKICAgICAgICAgICAgICAgICJ2IjogIi95ZWFyLzIwMjQiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIjIwMjMiLAogICAgICAgICAgICAgICAgInYiOiAiL3llYXIvMjAyMyIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAiMjAyMiIsCiAgICAgICAgICAgICAgICAidiI6ICIveWVhci8yMDIyIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICIyMDIxIiwKICAgICAgICAgICAgICAgICJ2IjogIi95ZWFyLzIwMjEiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIjIwMjAiLAogICAgICAgICAgICAgICAgInYiOiAiL3llYXIvMjAyMCIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAiMjAxOSIsCiAgICAgICAgICAgICAgICAidiI6ICIveWVhci8yMDE5IgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICIyMDE4IiwKICAgICAgICAgICAgICAgICJ2IjogIi95ZWFyLzIwMTgiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIjIwMTciLAogICAgICAgICAgICAgICAgInYiOiAiL3llYXIvMjAxNyIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAiMjAxNiIsCiAgICAgICAgICAgICAgICAidiI6ICIveWVhci8yMDE2IgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICIyMDE1IiwKICAgICAgICAgICAgICAgICJ2IjogIi95ZWFyLzIwMTUiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIjIwMTQiLAogICAgICAgICAgICAgICAgInYiOiAiL3llYXIvMjAxNCIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAiMjAxMyIsCiAgICAgICAgICAgICAgICAidiI6ICIveWVhci8yMDEzIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICIyMDEyIiwKICAgICAgICAgICAgICAgICJ2IjogIi95ZWFyLzIwMTIiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIjIwMTEiLAogICAgICAgICAgICAgICAgInYiOiAiL3llYXIvMjAxMSIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAiMjAxMCIsCiAgICAgICAgICAgICAgICAidiI6ICIveWVhci8yMDEwIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICIyMDA5IiwKICAgICAgICAgICAgICAgICJ2IjogIi95ZWFyLzIwMDkiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIjIwMDgiLAogICAgICAgICAgICAgICAgInYiOiAiL3llYXIvMjAwOCIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAiMjAwNyIsCiAgICAgICAgICAgICAgICAidiI6ICIveWVhci8yMDA3IgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICIyMDA2IiwKICAgICAgICAgICAgICAgICJ2IjogIi95ZWFyLzIwMDYiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIjIwMDUiLAogICAgICAgICAgICAgICAgInYiOiAiL3llYXIvMjAwNSIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAiMjAwNCIsCiAgICAgICAgICAgICAgICAidiI6ICIveWVhci8yMDA0IgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICIyMDAzIiwKICAgICAgICAgICAgICAgICJ2IjogIi95ZWFyLzIwMDMiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIjIwMDIiLAogICAgICAgICAgICAgICAgInYiOiAiL3llYXIvMjAwMiIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAiMjAwMSIsCiAgICAgICAgICAgICAgICAidiI6ICIveWVhci8yMDAxIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICIyMDAwIiwKICAgICAgICAgICAgICAgICJ2IjogIi95ZWFyLzIwMDAiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIjE5OTkiLAogICAgICAgICAgICAgICAgInYiOiAiL3llYXIvMTk5OSIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAiMTk5OCIsCiAgICAgICAgICAgICAgICAidiI6ICIveWVhci8xOTk4IgogICAgICAgICAgICB9XQogICAgICAgIH0sIHsKICAgICAgICAgICAgImtleSI6ICJieSIsCiAgICAgICAgICAgICJuYW1lIjogIuaOkuW6jyIsCiAgICAgICAgICAgICJ2YWx1ZSI6IFt7CiAgICAgICAgICAgICAgICAibiI6ICLml7bpl7QiLAogICAgICAgICAgICAgICAgInYiOiAiL2J5L3RpbWUiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIuS6uuawlCIsCiAgICAgICAgICAgICAgICAidiI6ICIvYnkvaGl0cyIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAi6K+E5YiGIiwKICAgICAgICAgICAgICAgICJ2IjogIi9ieS9zY29yZSIKICAgICAgICAgICAgfV0KICAgICAgICB9XSwKICAgICAgICAiMjEiOiBbewogICAgICAgICAgICAia2V5IjogImNsYXNzIiwKICAgICAgICAgICAgIm5hbWUiOiAi57G75Z6LIiwKICAgICAgICAgICAgInZhbHVlIjogW3sKICAgICAgICAgICAgICAgICJuIjogIuWFqOmDqCIsCiAgICAgICAgICAgICAgICAidiI6ICIiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIuaQnueskSIsCiAgICAgICAgICAgICAgICAidiI6ICIvY2xhc3Mv5pCe56yRIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICLnu4/lhbgiLAogICAgICAgICAgICAgICAgInYiOiAiL2NsYXNzL+e7j+WFuCIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAi54Ot6KGAIiwKICAgICAgICAgICAgICAgICJ2IjogIi9jbGFzcy/ng63ooYAiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIuWCrOazqiIsCiAgICAgICAgICAgICAgICAidiI6ICIvY2xhc3Mv5YKs5rOqIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICLmsrvmhIgiLAogICAgICAgICAgICAgICAgInYiOiAiL2NsYXNzL+ayu+aEiCIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAi54yO5aWHIiwKICAgICAgICAgICAgICAgICJ2IjogIi9jbGFzcy/njI7lpYciCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIuWKseW/lyIsCiAgICAgICAgICAgICAgICAidiI6ICIvY2xhc3Mv5Yqx5b+XIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICLmiJjmlpciLAogICAgICAgICAgICAgICAgInYiOiAiL2NsYXNzL+aImOaWlyIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAi5ZCO5a6rIiwKICAgICAgICAgICAgICAgICJ2IjogIi9jbGFzcy/lkI7lrqsiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIuacuuaImCIsCiAgICAgICAgICAgICAgICAidiI6ICIvY2xhc3Mv5py65oiYIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICLmgYvniLEiLAogICAgICAgICAgICAgICAgInYiOiAiL2NsYXNzL+aBi+eIsSIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAi55m+5ZCIIiwKICAgICAgICAgICAgICAgICJ2IjogIi9jbGFzcy/nmb7lkIgiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIuenkeW5uyIsCiAgICAgICAgICAgICAgICAidiI6ICIvY2xhc3Mv56eR5bm7IgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICLlpYflubsiLAogICAgICAgICAgICAgICAgInYiOiAiL2NsYXNzL+Wlh+W5uyIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAi5o6o55CGIiwKICAgICAgICAgICAgICAgICJ2IjogIi9jbGFzcy/mjqjnkIYiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIuagoeWbrSIsCiAgICAgICAgICAgICAgICAidiI6ICIvY2xhc3Mv5qCh5ZutIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICLov5DliqgiLAogICAgICAgICAgICAgICAgInYiOiAiL2NsYXNzL+i/kOWKqCIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAi6a2U5rOVIiwKICAgICAgICAgICAgICAgICJ2IjogIi9jbGFzcy/prZTms5UiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIuWOhuWPsiIsCiAgICAgICAgICAgICAgICAidiI6ICIvY2xhc3Mv5Y6G5Y+yIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICLkvKrlqJgiLAogICAgICAgICAgICAgICAgInYiOiAiL2NsYXNzL+S8quWomCIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAi576O5bCR5aWzIiwKICAgICAgICAgICAgICAgICJ2IjogIi9jbGFzcy/nvo7lsJHlpbMiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIuiQneiOiSIsCiAgICAgICAgICAgICAgICAidiI6ICIvY2xhc3Mv6JCd6I6JIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICLkurLlrZAiLAogICAgICAgICAgICAgICAgInYiOiAiL2NsYXNzL+S6suWtkCIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAi6Z2S5pilIiwKICAgICAgICAgICAgICAgICJ2IjogIi9jbGFzcy/pnZLmmKUiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIuWGkumZqSIsCiAgICAgICAgICAgICAgICAidiI6ICIvY2xhc3Mv5YaS6ZmpIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICLnq57mioAiLAogICAgICAgICAgICAgICAgInYiOiAiL2NsYXNzL+ernuaKgCIKICAgICAgICAgICAgfV0KICAgICAgICB9LCB7CiAgICAgICAgICAgICJrZXkiOiAiYXJlYSIsCiAgICAgICAgICAgICJuYW1lIjogIuWcsOWMuiIsCiAgICAgICAgICAgICJ2YWx1ZSI6IFt7CiAgICAgICAgICAgICAgICAibiI6ICLlhajpg6giLAogICAgICAgICAgICAgICAgInYiOiAiIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICLlpKfpmYYiLAogICAgICAgICAgICAgICAgInYiOiAiL2FyZWEv5aSn6ZmGIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICLnvo7lm70iLAogICAgICAgICAgICAgICAgInYiOiAiL2FyZWEv576O5Zu9IgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICLpn6nlm70iLAogICAgICAgICAgICAgICAgInYiOiAiL2FyZWEv6Z+p5Zu9IgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICLml6XmnKwiLAogICAgICAgICAgICAgICAgInYiOiAiL2FyZWEv5pel5pysIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICLms7Dlm70iLAogICAgICAgICAgICAgICAgInYiOiAiL2FyZWEv5rOw5Zu9IgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICLmlrDliqDlnaEiLAogICAgICAgICAgICAgICAgInYiOiAiL2FyZWEv5paw5Yqg5Z2hIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICLpqazmnaXopb/kupoiLAogICAgICAgICAgICAgICAgInYiOiAiL2FyZWEv6ams5p2l6KW/5LqaIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICLljbDluqYiLAogICAgICAgICAgICAgICAgInYiOiAiL2FyZWEv5Y2w5bqmIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICLoi7Hlm70iLAogICAgICAgICAgICAgICAgInYiOiAiL2FyZWEv6Iux5Zu9IgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICLms5Xlm70iLAogICAgICAgICAgICAgICAgInYiOiAiL2FyZWEv5rOV5Zu9IgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICLliqDmi7/lpKciLAogICAgICAgICAgICAgICAgInYiOiAiL2FyZWEv5Yqg5ou/5aSnIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICLopb/nj63niZkiLAogICAgICAgICAgICAgICAgInYiOiAiL2FyZWEv6KW/54+t54mZIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICLkv4TnvZfmlq8iLAogICAgICAgICAgICAgICAgInYiOiAiL2FyZWEv5L+E572X5pavIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICLlhbblroMiLAogICAgICAgICAgICAgICAgInYiOiAiL2FyZWEv5YW25a6DIgogICAgICAgICAgICB9XQogICAgICAgIH0sIHsKICAgICAgICAgICAgImtleSI6ICJ5ZWFyIiwKICAgICAgICAgICAgIm5hbWUiOiAi5bm05LujIiwKICAgICAgICAgICAgInZhbHVlIjogW3sKICAgICAgICAgICAgICAgICJuIjogIuWFqOmDqCIsCiAgICAgICAgICAgICAgICAidiI6ICIiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIjIwMjUiLAogICAgICAgICAgICAgICAgInYiOiAiL3llYXIvMjAyNSIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAiMjAyNCIsCiAgICAgICAgICAgICAgICAidiI6ICIveWVhci8yMDI0IgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICIyMDIzIiwKICAgICAgICAgICAgICAgICJ2IjogIi95ZWFyLzIwMjMiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIjIwMjIiLAogICAgICAgICAgICAgICAgInYiOiAiL3llYXIvMjAyMiIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAiMjAyMSIsCiAgICAgICAgICAgICAgICAidiI6ICIveWVhci8yMDIxIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICIyMDIwIiwKICAgICAgICAgICAgICAgICJ2IjogIi95ZWFyLzIwMjAiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIjIwMTkiLAogICAgICAgICAgICAgICAgInYiOiAiL3llYXIvMjAxOSIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAiMjAxOCIsCiAgICAgICAgICAgICAgICAidiI6ICIveWVhci8yMDE4IgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICIyMDE3IiwKICAgICAgICAgICAgICAgICJ2IjogIi95ZWFyLzIwMTciCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIjIwMTYiLAogICAgICAgICAgICAgICAgInYiOiAiL3llYXIvMjAxNiIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAiMjAxNSIsCiAgICAgICAgICAgICAgICAidiI6ICIveWVhci8yMDE1IgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICIyMDE0IiwKICAgICAgICAgICAgICAgICJ2IjogIi95ZWFyLzIwMTQiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIjIwMTMiLAogICAgICAgICAgICAgICAgInYiOiAiL3llYXIvMjAxMyIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAiMjAxMiIsCiAgICAgICAgICAgICAgICAidiI6ICIveWVhci8yMDEyIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICIyMDExIiwKICAgICAgICAgICAgICAgICJ2IjogIi95ZWFyLzIwMTEiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIjIwMTAiLAogICAgICAgICAgICAgICAgInYiOiAiL3llYXIvMjAxMCIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAiMjAwOSIsCiAgICAgICAgICAgICAgICAidiI6ICIveWVhci8yMDA5IgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICIyMDA4IiwKICAgICAgICAgICAgICAgICJ2IjogIi95ZWFyLzIwMDgiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIjIwMDciLAogICAgICAgICAgICAgICAgInYiOiAiL3llYXIvMjAwNyIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAiMjAwNiIsCiAgICAgICAgICAgICAgICAidiI6ICIveWVhci8yMDA2IgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICIyMDA1IiwKICAgICAgICAgICAgICAgICJ2IjogIi95ZWFyLzIwMDUiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIjIwMDQiLAogICAgICAgICAgICAgICAgInYiOiAiL3llYXIvMjAwNCIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAiMjAwMyIsCiAgICAgICAgICAgICAgICAidiI6ICIveWVhci8yMDAzIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICIyMDAyIiwKICAgICAgICAgICAgICAgICJ2IjogIi95ZWFyLzIwMDIiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIjIwMDEiLAogICAgICAgICAgICAgICAgInYiOiAiL3llYXIvMjAwMSIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAiMjAwMCIsCiAgICAgICAgICAgICAgICAidiI6ICIveWVhci8yMDAwIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICIxOTk5IiwKICAgICAgICAgICAgICAgICJ2IjogIi95ZWFyLzE5OTkiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIjE5OTgiLAogICAgICAgICAgICAgICAgInYiOiAiL3llYXIvMTk5OCIKICAgICAgICAgICAgfV0KICAgICAgICB9LCB7CiAgICAgICAgICAgICJrZXkiOiAiYnkiLAogICAgICAgICAgICAibmFtZSI6ICLmjpLluo8iLAogICAgICAgICAgICAidmFsdWUiOiBbewogICAgICAgICAgICAgICAgIm4iOiAi5pe26Ze0IiwKICAgICAgICAgICAgICAgICJ2IjogIi9ieS90aW1lIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICLkurrmsJQiLAogICAgICAgICAgICAgICAgInYiOiAiL2J5L2hpdHMiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIuivhOWIhiIsCiAgICAgICAgICAgICAgICAidiI6ICIvYnkvc2NvcmUiCiAgICAgICAgICAgIH1dCiAgICAgICAgfV0sCiAgICAgICAgIjUwIjogW3sKICAgICAgICAgICAgImtleSI6ICJjbGFzcyIsCiAgICAgICAgICAgICJuYW1lIjogIuexu+WeiyIsCiAgICAgICAgICAgICJ2YWx1ZSI6IFt7CiAgICAgICAgICAgICAgICAibiI6ICLlhajpg6giLAogICAgICAgICAgICAgICAgInYiOiAiIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICLmkJ7nrJEiLAogICAgICAgICAgICAgICAgInYiOiAiL2NsYXNzL+aQnueskSIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAi57uP5YW4IiwKICAgICAgICAgICAgICAgICJ2IjogIi9jbGFzcy/nu4/lhbgiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIueDreihgCIsCiAgICAgICAgICAgICAgICAidiI6ICIvY2xhc3Mv54Ot6KGAIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICLlgqzms6oiLAogICAgICAgICAgICAgICAgInYiOiAiL2NsYXNzL+WCrOazqiIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAi5rK75oSIIiwKICAgICAgICAgICAgICAgICJ2IjogIi9jbGFzcy/msrvmhIgiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIueMjuWlhyIsCiAgICAgICAgICAgICAgICAidiI6ICIvY2xhc3Mv54yO5aWHIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICLlirHlv5ciLAogICAgICAgICAgICAgICAgInYiOiAiL2NsYXNzL+WKseW/lyIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAi5oiY5paXIiwKICAgICAgICAgICAgICAgICJ2IjogIi9jbGFzcy/miJjmlpciCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIuWQjuWuqyIsCiAgICAgICAgICAgICAgICAidiI6ICIvY2xhc3Mv5ZCO5a6rIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICLmnLrmiJgiLAogICAgICAgICAgICAgICAgInYiOiAiL2NsYXNzL+acuuaImCIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAi5oGL54ixIiwKICAgICAgICAgICAgICAgICJ2IjogIi9jbGFzcy/mgYvniLEiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIueZvuWQiCIsCiAgICAgICAgICAgICAgICAidiI6ICIvY2xhc3Mv55m+5ZCIIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICLnp5HlubsiLAogICAgICAgICAgICAgICAgInYiOiAiL2NsYXNzL+enkeW5uyIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAi5aWH5bm7IiwKICAgICAgICAgICAgICAgICJ2IjogIi9jbGFzcy/lpYflubsiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIuaOqOeQhiIsCiAgICAgICAgICAgICAgICAidiI6ICIvY2xhc3Mv5o6o55CGIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICLmoKHlm60iLAogICAgICAgICAgICAgICAgInYiOiAiL2NsYXNzL+agoeWbrSIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAi6L+Q5YqoIiwKICAgICAgICAgICAgICAgICJ2IjogIi9jbGFzcy/ov5DliqgiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIumtlOazlSIsCiAgICAgICAgICAgICAgICAidiI6ICIvY2xhc3Mv6a2U5rOVIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICLljoblj7IiLAogICAgICAgICAgICAgICAgInYiOiAiL2NsYXNzL+WOhuWPsiIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAi5Lyq5aiYIiwKICAgICAgICAgICAgICAgICJ2IjogIi9jbGFzcy/kvKrlqJgiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIue+juWwkeWlsyIsCiAgICAgICAgICAgICAgICAidiI6ICIvY2xhc3Mv576O5bCR5aWzIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICLokJ3ojokiLAogICAgICAgICAgICAgICAgInYiOiAiL2NsYXNzL+iQneiOiSIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAi5Lqy5a2QIiwKICAgICAgICAgICAgICAgICJ2IjogIi9jbGFzcy/kurLlrZAiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIumdkuaYpSIsCiAgICAgICAgICAgICAgICAidiI6ICIvY2xhc3Mv6Z2S5pilIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICLlhpLpmakiLAogICAgICAgICAgICAgICAgInYiOiAiL2NsYXNzL+WGkumZqSIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAi56ue5oqAIiwKICAgICAgICAgICAgICAgICJ2IjogIi9jbGFzcy/nq57mioAiCiAgICAgICAgICAgIH1dCiAgICAgICAgfSwgewogICAgICAgICAgICAia2V5IjogImFyZWEiLAogICAgICAgICAgICAibmFtZSI6ICLlnLDljLoiLAogICAgICAgICAgICAidmFsdWUiOiBbewogICAgICAgICAgICAgICAgIm4iOiAi5YWo6YOoIiwKICAgICAgICAgICAgICAgICJ2IjogIiIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAi5aSn6ZmGIiwKICAgICAgICAgICAgICAgICJ2IjogIi9hcmVhL+Wkp+mZhiIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAi576O5Zu9IiwKICAgICAgICAgICAgICAgICJ2IjogIi9hcmVhL+e+juWbvSIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAi6Z+p5Zu9IiwKICAgICAgICAgICAgICAgICJ2IjogIi9hcmVhL+mfqeWbvSIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAi5pel5pysIiwKICAgICAgICAgICAgICAgICJ2IjogIi9hcmVhL+aXpeacrCIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAi5rOw5Zu9IiwKICAgICAgICAgICAgICAgICJ2IjogIi9hcmVhL+azsOWbvSIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAi5paw5Yqg5Z2hIiwKICAgICAgICAgICAgICAgICJ2IjogIi9hcmVhL+aWsOWKoOWdoSIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAi6ams5p2l6KW/5LqaIiwKICAgICAgICAgICAgICAgICJ2IjogIi9hcmVhL+mprOadpeilv+S6miIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAi5Y2w5bqmIiwKICAgICAgICAgICAgICAgICJ2IjogIi9hcmVhL+WNsOW6piIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAi6Iux5Zu9IiwKICAgICAgICAgICAgICAgICJ2IjogIi9hcmVhL+iLseWbvSIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAi5rOV5Zu9IiwKICAgICAgICAgICAgICAgICJ2IjogIi9hcmVhL+azleWbvSIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAi5Yqg5ou/5aSnIiwKICAgICAgICAgICAgICAgICJ2IjogIi9hcmVhL+WKoOaLv+WkpyIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAi6KW/54+t54mZIiwKICAgICAgICAgICAgICAgICJ2IjogIi9hcmVhL+ilv+ePreeJmSIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAi5L+E572X5pavIiwKICAgICAgICAgICAgICAgICJ2IjogIi9hcmVhL+S/hOe9l+aWryIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAi5YW25a6DIiwKICAgICAgICAgICAgICAgICJ2IjogIi9hcmVhL+WFtuWugyIKICAgICAgICAgICAgfV0KICAgICAgICB9LCB7CiAgICAgICAgICAgICJrZXkiOiAieWVhciIsCiAgICAgICAgICAgICJuYW1lIjogIuW5tOS7oyIsCiAgICAgICAgICAgICJ2YWx1ZSI6IFt7CiAgICAgICAgICAgICAgICAibiI6ICLlhajpg6giLAogICAgICAgICAgICAgICAgInYiOiAiIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICIyMDI1IiwKICAgICAgICAgICAgICAgICJ2IjogIi95ZWFyLzIwMjUiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIjIwMjQiLAogICAgICAgICAgICAgICAgInYiOiAiL3llYXIvMjAyNCIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAiMjAyMyIsCiAgICAgICAgICAgICAgICAidiI6ICIveWVhci8yMDIzIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICIyMDIyIiwKICAgICAgICAgICAgICAgICJ2IjogIi95ZWFyLzIwMjIiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIjIwMjEiLAogICAgICAgICAgICAgICAgInYiOiAiL3llYXIvMjAyMSIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAiMjAyMCIsCiAgICAgICAgICAgICAgICAidiI6ICIveWVhci8yMDIwIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICIyMDE5IiwKICAgICAgICAgICAgICAgICJ2IjogIi95ZWFyLzIwMTkiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIjIwMTgiLAogICAgICAgICAgICAgICAgInYiOiAiL3llYXIvMjAxOCIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAiMjAxNyIsCiAgICAgICAgICAgICAgICAidiI6ICIveWVhci8yMDE3IgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICIyMDE2IiwKICAgICAgICAgICAgICAgICJ2IjogIi95ZWFyLzIwMTYiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIjIwMTUiLAogICAgICAgICAgICAgICAgInYiOiAiL3llYXIvMjAxNSIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAiMjAxNCIsCiAgICAgICAgICAgICAgICAidiI6ICIveWVhci8yMDE0IgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICIyMDEzIiwKICAgICAgICAgICAgICAgICJ2IjogIi95ZWFyLzIwMTMiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIjIwMTIiLAogICAgICAgICAgICAgICAgInYiOiAiL3llYXIvMjAxMiIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAiMjAxMSIsCiAgICAgICAgICAgICAgICAidiI6ICIveWVhci8yMDExIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICIyMDEwIiwKICAgICAgICAgICAgICAgICJ2IjogIi95ZWFyLzIwMTAiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIjIwMDkiLAogICAgICAgICAgICAgICAgInYiOiAiL3llYXIvMjAwOSIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAiMjAwOCIsCiAgICAgICAgICAgICAgICAidiI6ICIveWVhci8yMDA4IgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICIyMDA3IiwKICAgICAgICAgICAgICAgICJ2IjogIi95ZWFyLzIwMDciCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIjIwMDYiLAogICAgICAgICAgICAgICAgInYiOiAiL3llYXIvMjAwNiIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAiMjAwNSIsCiAgICAgICAgICAgICAgICAidiI6ICIveWVhci8yMDA1IgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICIyMDA0IiwKICAgICAgICAgICAgICAgICJ2IjogIi95ZWFyLzIwMDQiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIjIwMDMiLAogICAgICAgICAgICAgICAgInYiOiAiL3llYXIvMjAwMyIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAiMjAwMiIsCiAgICAgICAgICAgICAgICAidiI6ICIveWVhci8yMDAyIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICIyMDAxIiwKICAgICAgICAgICAgICAgICJ2IjogIi95ZWFyLzIwMDEiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIjIwMDAiLAogICAgICAgICAgICAgICAgInYiOiAiL3llYXIvMjAwMCIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAiMTk5OSIsCiAgICAgICAgICAgICAgICAidiI6ICIveWVhci8xOTk5IgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICIxOTk4IiwKICAgICAgICAgICAgICAgICJ2IjogIi95ZWFyLzE5OTgiCiAgICAgICAgICAgIH1dCiAgICAgICAgfSwgewogICAgICAgICAgICAia2V5IjogImJ5IiwKICAgICAgICAgICAgIm5hbWUiOiAi5o6S5bqPIiwKICAgICAgICAgICAgInZhbHVlIjogW3sKICAgICAgICAgICAgICAgICJuIjogIuaXtumXtCIsCiAgICAgICAgICAgICAgICAidiI6ICIvYnkvdGltZSIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAi5Lq65rCUIiwKICAgICAgICAgICAgICAgICJ2IjogIi9ieS9oaXRzIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICLor4TliIYiLAogICAgICAgICAgICAgICAgInYiOiAiL2J5L3Njb3JlIgogICAgICAgICAgICB9XQogICAgICAgIH1dLAogICAgICAgICIyNCI6IFt7CiAgICAgICAgICAgICJrZXkiOiAiY2xhc3MiLAogICAgICAgICAgICAibmFtZSI6ICLnsbvlnosiLAogICAgICAgICAgICAidmFsdWUiOiBbewogICAgICAgICAgICAgICAgIm4iOiAi5YWo6YOoIiwKICAgICAgICAgICAgICAgICJ2IjogIiIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAi5pCe56yRIiwKICAgICAgICAgICAgICAgICJ2IjogIi9jbGFzcy/mkJ7nrJEiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIue7j+WFuCIsCiAgICAgICAgICAgICAgICAidiI6ICIvY2xhc3Mv57uP5YW4IgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICLng63ooYAiLAogICAgICAgICAgICAgICAgInYiOiAiL2NsYXNzL+eDreihgCIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAi5YKs5rOqIiwKICAgICAgICAgICAgICAgICJ2IjogIi9jbGFzcy/lgqzms6oiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIuayu+aEiCIsCiAgICAgICAgICAgICAgICAidiI6ICIvY2xhc3Mv5rK75oSIIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICLnjI7lpYciLAogICAgICAgICAgICAgICAgInYiOiAiL2NsYXNzL+eMjuWlhyIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAi5Yqx5b+XIiwKICAgICAgICAgICAgICAgICJ2IjogIi9jbGFzcy/lirHlv5ciCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIuaImOaWlyIsCiAgICAgICAgICAgICAgICAidiI6ICIvY2xhc3Mv5oiY5paXIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICLlkI7lrqsiLAogICAgICAgICAgICAgICAgInYiOiAiL2NsYXNzL+WQjuWuqyIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAi5py65oiYIiwKICAgICAgICAgICAgICAgICJ2IjogIi9jbGFzcy/mnLrmiJgiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIuaBi+eIsSIsCiAgICAgICAgICAgICAgICAidiI6ICIvY2xhc3Mv5oGL54ixIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICLnmb7lkIgiLAogICAgICAgICAgICAgICAgInYiOiAiL2NsYXNzL+eZvuWQiCIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAi56eR5bm7IiwKICAgICAgICAgICAgICAgICJ2IjogIi9jbGFzcy/np5HlubsiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIuWlh+W5uyIsCiAgICAgICAgICAgICAgICAidiI6ICIvY2xhc3Mv5aWH5bm7IgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICLmjqjnkIYiLAogICAgICAgICAgICAgICAgInYiOiAiL2NsYXNzL+aOqOeQhiIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAi5qCh5ZutIiwKICAgICAgICAgICAgICAgICJ2IjogIi9jbGFzcy/moKHlm60iCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIui/kOWKqCIsCiAgICAgICAgICAgICAgICAidiI6ICIvY2xhc3Mv6L+Q5YqoIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICLprZTms5UiLAogICAgICAgICAgICAgICAgInYiOiAiL2NsYXNzL+mtlOazlSIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAi5Y6G5Y+yIiwKICAgICAgICAgICAgICAgICJ2IjogIi9jbGFzcy/ljoblj7IiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIuS8quWomCIsCiAgICAgICAgICAgICAgICAidiI6ICIvY2xhc3Mv5Lyq5aiYIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICLnvo7lsJHlpbMiLAogICAgICAgICAgICAgICAgInYiOiAiL2NsYXNzL+e+juWwkeWlsyIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAi6JCd6I6JIiwKICAgICAgICAgICAgICAgICJ2IjogIi9jbGFzcy/okJ3ojokiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIuS6suWtkCIsCiAgICAgICAgICAgICAgICAidiI6ICIvY2xhc3Mv5Lqy5a2QIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICLpnZLmmKUiLAogICAgICAgICAgICAgICAgInYiOiAiL2NsYXNzL+mdkuaYpSIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAi5YaS6ZmpIiwKICAgICAgICAgICAgICAgICJ2IjogIi9jbGFzcy/lhpLpmakiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIuernuaKgCIsCiAgICAgICAgICAgICAgICAidiI6ICIvY2xhc3Mv56ue5oqAIgogICAgICAgICAgICB9XQogICAgICAgIH0sIHsKICAgICAgICAgICAgImtleSI6ICJhcmVhIiwKICAgICAgICAgICAgIm5hbWUiOiAi5Zyw5Yy6IiwKICAgICAgICAgICAgInZhbHVlIjogW3sKICAgICAgICAgICAgICAgICJuIjogIuWFqOmDqCIsCiAgICAgICAgICAgICAgICAidiI6ICIiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIuWkp+mZhiIsCiAgICAgICAgICAgICAgICAidiI6ICIvYXJlYS/lpKfpmYYiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIue+juWbvSIsCiAgICAgICAgICAgICAgICAidiI6ICIvYXJlYS/nvo7lm70iCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIumfqeWbvSIsCiAgICAgICAgICAgICAgICAidiI6ICIvYXJlYS/pn6nlm70iCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIuaXpeacrCIsCiAgICAgICAgICAgICAgICAidiI6ICIvYXJlYS/ml6XmnKwiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIuazsOWbvSIsCiAgICAgICAgICAgICAgICAidiI6ICIvYXJlYS/ms7Dlm70iCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIuaWsOWKoOWdoSIsCiAgICAgICAgICAgICAgICAidiI6ICIvYXJlYS/mlrDliqDlnaEiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIumprOadpeilv+S6miIsCiAgICAgICAgICAgICAgICAidiI6ICIvYXJlYS/pqazmnaXopb/kupoiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIuWNsOW6piIsCiAgICAgICAgICAgICAgICAidiI6ICIvYXJlYS/ljbDluqYiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIuiLseWbvSIsCiAgICAgICAgICAgICAgICAidiI6ICIvYXJlYS/oi7Hlm70iCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIuazleWbvSIsCiAgICAgICAgICAgICAgICAidiI6ICIvYXJlYS/ms5Xlm70iCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIuWKoOaLv+WkpyIsCiAgICAgICAgICAgICAgICAidiI6ICIvYXJlYS/liqDmi7/lpKciCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIuilv+ePreeJmSIsCiAgICAgICAgICAgICAgICAidiI6ICIvYXJlYS/opb/nj63niZkiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIuS/hOe9l+aWryIsCiAgICAgICAgICAgICAgICAidiI6ICIvYXJlYS/kv4TnvZfmlq8iCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIuWFtuWugyIsCiAgICAgICAgICAgICAgICAidiI6ICIvYXJlYS/lhbblroMiCiAgICAgICAgICAgIH1dCiAgICAgICAgfSwgewogICAgICAgICAgICAia2V5IjogInllYXIiLAogICAgICAgICAgICAibmFtZSI6ICLlubTku6MiLAogICAgICAgICAgICAidmFsdWUiOiBbewogICAgICAgICAgICAgICAgIm4iOiAi5YWo6YOoIiwKICAgICAgICAgICAgICAgICJ2IjogIiIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAiMjAyNSIsCiAgICAgICAgICAgICAgICAidiI6ICIveWVhci8yMDI1IgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICIyMDI0IiwKICAgICAgICAgICAgICAgICJ2IjogIi95ZWFyLzIwMjQiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIjIwMjMiLAogICAgICAgICAgICAgICAgInYiOiAiL3llYXIvMjAyMyIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAiMjAyMiIsCiAgICAgICAgICAgICAgICAidiI6ICIveWVhci8yMDIyIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICIyMDIxIiwKICAgICAgICAgICAgICAgICJ2IjogIi95ZWFyLzIwMjEiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIjIwMjAiLAogICAgICAgICAgICAgICAgInYiOiAiL3llYXIvMjAyMCIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAiMjAxOSIsCiAgICAgICAgICAgICAgICAidiI6ICIveWVhci8yMDE5IgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICIyMDE4IiwKICAgICAgICAgICAgICAgICJ2IjogIi95ZWFyLzIwMTgiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIjIwMTciLAogICAgICAgICAgICAgICAgInYiOiAiL3llYXIvMjAxNyIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAiMjAxNiIsCiAgICAgICAgICAgICAgICAidiI6ICIveWVhci8yMDE2IgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICIyMDE1IiwKICAgICAgICAgICAgICAgICJ2IjogIi95ZWFyLzIwMTUiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIjIwMTQiLAogICAgICAgICAgICAgICAgInYiOiAiL3llYXIvMjAxNCIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAiMjAxMyIsCiAgICAgICAgICAgICAgICAidiI6ICIveWVhci8yMDEzIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICIyMDEyIiwKICAgICAgICAgICAgICAgICJ2IjogIi95ZWFyLzIwMTIiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIjIwMTEiLAogICAgICAgICAgICAgICAgInYiOiAiL3llYXIvMjAxMSIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAiMjAxMCIsCiAgICAgICAgICAgICAgICAidiI6ICIveWVhci8yMDEwIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICIyMDA5IiwKICAgICAgICAgICAgICAgICJ2IjogIi95ZWFyLzIwMDkiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIjIwMDgiLAogICAgICAgICAgICAgICAgInYiOiAiL3llYXIvMjAwOCIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAiMjAwNyIsCiAgICAgICAgICAgICAgICAidiI6ICIveWVhci8yMDA3IgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICIyMDA2IiwKICAgICAgICAgICAgICAgICJ2IjogIi95ZWFyLzIwMDYiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIjIwMDUiLAogICAgICAgICAgICAgICAgInYiOiAiL3llYXIvMjAwNSIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAiMjAwNCIsCiAgICAgICAgICAgICAgICAidiI6ICIveWVhci8yMDA0IgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICIyMDAzIiwKICAgICAgICAgICAgICAgICJ2IjogIi95ZWFyLzIwMDMiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIjIwMDIiLAogICAgICAgICAgICAgICAgInYiOiAiL3llYXIvMjAwMiIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAiMjAwMSIsCiAgICAgICAgICAgICAgICAidiI6ICIveWVhci8yMDAxIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICIyMDAwIiwKICAgICAgICAgICAgICAgICJ2IjogIi95ZWFyLzIwMDAiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIjE5OTkiLAogICAgICAgICAgICAgICAgInYiOiAiL3llYXIvMTk5OSIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAiMTk5OCIsCiAgICAgICAgICAgICAgICAidiI6ICIveWVhci8xOTk4IgogICAgICAgICAgICB9XQogICAgICAgIH0sIHsKICAgICAgICAgICAgImtleSI6ICJieSIsCiAgICAgICAgICAgICJuYW1lIjogIuaOkuW6jyIsCiAgICAgICAgICAgICJ2YWx1ZSI6IFt7CiAgICAgICAgICAgICAgICAibiI6ICLml7bpl7QiLAogICAgICAgICAgICAgICAgInYiOiAiL2J5L3RpbWUiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIuS6uuawlCIsCiAgICAgICAgICAgICAgICAidiI6ICIvYnkvaGl0cyIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAi6K+E5YiGIiwKICAgICAgICAgICAgICAgICJ2IjogIi9ieS9zY29yZSIKICAgICAgICAgICAgfV0KICAgICAgICB9XSwKICAgICAgICAiMjIiOiBbewogICAgICAgICAgICAia2V5IjogImNsYXNzIiwKICAgICAgICAgICAgIm5hbWUiOiAi57G75Z6LIiwKICAgICAgICAgICAgInZhbHVlIjogW3sKICAgICAgICAgICAgICAgICJuIjogIuWFqOmDqCIsCiAgICAgICAgICAgICAgICAidiI6ICIiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIuaQnueskSIsCiAgICAgICAgICAgICAgICAidiI6ICIvY2xhc3Mv5pCe56yRIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICLnu4/lhbgiLAogICAgICAgICAgICAgICAgInYiOiAiL2NsYXNzL+e7j+WFuCIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAi54Ot6KGAIiwKICAgICAgICAgICAgICAgICJ2IjogIi9jbGFzcy/ng63ooYAiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIuWCrOazqiIsCiAgICAgICAgICAgICAgICAidiI6ICIvY2xhc3Mv5YKs5rOqIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICLmsrvmhIgiLAogICAgICAgICAgICAgICAgInYiOiAiL2NsYXNzL+ayu+aEiCIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAi54yO5aWHIiwKICAgICAgICAgICAgICAgICJ2IjogIi9jbGFzcy/njI7lpYciCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIuWKseW/lyIsCiAgICAgICAgICAgICAgICAidiI6ICIvY2xhc3Mv5Yqx5b+XIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICLmiJjmlpciLAogICAgICAgICAgICAgICAgInYiOiAiL2NsYXNzL+aImOaWlyIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAi5ZCO5a6rIiwKICAgICAgICAgICAgICAgICJ2IjogIi9jbGFzcy/lkI7lrqsiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIuacuuaImCIsCiAgICAgICAgICAgICAgICAidiI6ICIvY2xhc3Mv5py65oiYIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICLmgYvniLEiLAogICAgICAgICAgICAgICAgInYiOiAiL2NsYXNzL+aBi+eIsSIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAi55m+5ZCIIiwKICAgICAgICAgICAgICAgICJ2IjogIi9jbGFzcy/nmb7lkIgiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIuenkeW5uyIsCiAgICAgICAgICAgICAgICAidiI6ICIvY2xhc3Mv56eR5bm7IgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICLlpYflubsiLAogICAgICAgICAgICAgICAgInYiOiAiL2NsYXNzL+Wlh+W5uyIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAi5o6o55CGIiwKICAgICAgICAgICAgICAgICJ2IjogIi9jbGFzcy/mjqjnkIYiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIuagoeWbrSIsCiAgICAgICAgICAgICAgICAidiI6ICIvY2xhc3Mv5qCh5ZutIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICLov5DliqgiLAogICAgICAgICAgICAgICAgInYiOiAiL2NsYXNzL+i/kOWKqCIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAi6a2U5rOVIiwKICAgICAgICAgICAgICAgICJ2IjogIi9jbGFzcy/prZTms5UiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIuWOhuWPsiIsCiAgICAgICAgICAgICAgICAidiI6ICIvY2xhc3Mv5Y6G5Y+yIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICLkvKrlqJgiLAogICAgICAgICAgICAgICAgInYiOiAiL2NsYXNzL+S8quWomCIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAi576O5bCR5aWzIiwKICAgICAgICAgICAgICAgICJ2IjogIi9jbGFzcy/nvo7lsJHlpbMiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIuiQneiOiSIsCiAgICAgICAgICAgICAgICAidiI6ICIvY2xhc3Mv6JCd6I6JIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICLkurLlrZAiLAogICAgICAgICAgICAgICAgInYiOiAiL2NsYXNzL+S6suWtkCIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAi6Z2S5pilIiwKICAgICAgICAgICAgICAgICJ2IjogIi9jbGFzcy/pnZLmmKUiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIuWGkumZqSIsCiAgICAgICAgICAgICAgICAidiI6ICIvY2xhc3Mv5YaS6ZmpIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICLnq57mioAiLAogICAgICAgICAgICAgICAgInYiOiAiL2NsYXNzL+ernuaKgCIKICAgICAgICAgICAgfV0KICAgICAgICB9LCB7CiAgICAgICAgICAgICJrZXkiOiAiYXJlYSIsCiAgICAgICAgICAgICJuYW1lIjogIuWcsOWMuiIsCiAgICAgICAgICAgICJ2YWx1ZSI6IFt7CiAgICAgICAgICAgICAgICAibiI6ICLlhajpg6giLAogICAgICAgICAgICAgICAgInYiOiAiIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICLml6XmnKwiLAogICAgICAgICAgICAgICAgInYiOiAiL2FyZWEv5pel5pysIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICLmrKfnvo4iLAogICAgICAgICAgICAgICAgInYiOiAiL2FyZWEv5qyn576OIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICLlhbbku5YiLAogICAgICAgICAgICAgICAgInYiOiAiL2FyZWEv5YW25LuWIgogICAgICAgICAgICB9XQogICAgICAgIH0sIHsKICAgICAgICAgICAgImtleSI6ICJ5ZWFyIiwKICAgICAgICAgICAgIm5hbWUiOiAi5bm05LujIiwKICAgICAgICAgICAgInZhbHVlIjogW3sKICAgICAgICAgICAgICAgICJuIjogIuWFqOmDqCIsCiAgICAgICAgICAgICAgICAidiI6ICIiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIjIwMjUiLAogICAgICAgICAgICAgICAgInYiOiAiL3llYXIvMjAyNSIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAiMjAyNCIsCiAgICAgICAgICAgICAgICAidiI6ICIveWVhci8yMDI0IgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICIyMDIzIiwKICAgICAgICAgICAgICAgICJ2IjogIi95ZWFyLzIwMjMiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIjIwMjIiLAogICAgICAgICAgICAgICAgInYiOiAiL3llYXIvMjAyMiIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAiMjAyMSIsCiAgICAgICAgICAgICAgICAidiI6ICIveWVhci8yMDIxIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICIyMDIwIiwKICAgICAgICAgICAgICAgICJ2IjogIi95ZWFyLzIwMjAiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIjIwMTkiLAogICAgICAgICAgICAgICAgInYiOiAiL3llYXIvMjAxOSIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAiMjAxOCIsCiAgICAgICAgICAgICAgICAidiI6ICIveWVhci8yMDE4IgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICIyMDE3IiwKICAgICAgICAgICAgICAgICJ2IjogIi95ZWFyLzIwMTciCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIjIwMTYiLAogICAgICAgICAgICAgICAgInYiOiAiL3llYXIvMjAxNiIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAiMjAxNSIsCiAgICAgICAgICAgICAgICAidiI6ICIveWVhci8yMDE1IgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICIyMDE0IiwKICAgICAgICAgICAgICAgICJ2IjogIi95ZWFyLzIwMTQiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIjIwMTMiLAogICAgICAgICAgICAgICAgInYiOiAiL3llYXIvMjAxMyIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAiMjAxMiIsCiAgICAgICAgICAgICAgICAidiI6ICIveWVhci8yMDEyIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICIyMDExIiwKICAgICAgICAgICAgICAgICJ2IjogIi95ZWFyLzIwMTEiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIjIwMTAiLAogICAgICAgICAgICAgICAgInYiOiAiL3llYXIvMjAxMCIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAiMjAwOSIsCiAgICAgICAgICAgICAgICAidiI6ICIveWVhci8yMDA5IgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICIyMDA4IiwKICAgICAgICAgICAgICAgICJ2IjogIi95ZWFyLzIwMDgiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIjIwMDciLAogICAgICAgICAgICAgICAgInYiOiAiL3llYXIvMjAwNyIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAiMjAwNiIsCiAgICAgICAgICAgICAgICAidiI6ICIveWVhci8yMDA2IgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICIyMDA1IiwKICAgICAgICAgICAgICAgICJ2IjogIi95ZWFyLzIwMDUiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIjIwMDQiLAogICAgICAgICAgICAgICAgInYiOiAiL3llYXIvMjAwNCIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAiMjAwMyIsCiAgICAgICAgICAgICAgICAidiI6ICIveWVhci8yMDAzIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICIyMDAyIiwKICAgICAgICAgICAgICAgICJ2IjogIi95ZWFyLzIwMDIiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIjIwMDEiLAogICAgICAgICAgICAgICAgInYiOiAiL3llYXIvMjAwMSIKICAgICAgICAgICAgfSwgewogICAgICAgICAgICAgICAgIm4iOiAiMjAwMCIsCiAgICAgICAgICAgICAgICAidiI6ICIveWVhci8yMDAwIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICIxOTk5IiwKICAgICAgICAgICAgICAgICJ2IjogIi95ZWFyLzE5OTkiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIjE5OTgiLAogICAgICAgICAgICAgICAgInYiOiAiL3llYXIvMTk5OCIKICAgICAgICAgICAgfV0KICAgICAgICB9LCB7CiAgICAgICAgICAgICJrZXkiOiAiYnkiLAogICAgICAgICAgICAibmFtZSI6ICLmjpLluo8iLAogICAgICAgICAgICAidmFsdWUiOiBbewogICAgICAgICAgICAgICAgIm4iOiAi5pe26Ze0IiwKICAgICAgICAgICAgICAgICJ2IjogIi9ieS90aW1lIgogICAgICAgICAgICB9LCB7CiAgICAgICAgICAgICAgICAibiI6ICLkurrmsJQiLAogICAgICAgICAgICAgICAgInYiOiAiL2J5L2hpdHMiCiAgICAgICAgICAgIH0sIHsKICAgICAgICAgICAgICAgICJuIjogIuivhOWIhiIsCiAgICAgICAgICAgICAgICAidiI6ICIvYnkvc2NvcmUiCiAgICAgICAgICAgIH1dCiAgICAgICAgfV0KICAgIH0sCiAgICBjbGFzc19wYXJzZTogJy5mZWQtcG9wcy1saXN0OmVxKDApJiZsaTpndCgwKTpsdCg2KTthJiZUZXh0O2EmJmhyZWY7LiovKC4qPykuaHRtbCcsCn0= \ No newline at end of file diff --git a/tvboxqq/tvboxqq/潇洒/js/TXSP.js b/tvboxqq/tvboxqq/潇洒/js/TXSP.js new file mode 100644 index 0000000..f44abe5 --- /dev/null +++ b/tvboxqq/tvboxqq/潇洒/js/TXSP.js @@ -0,0 +1,929 @@ +//小心儿悠悠// +var rule = { + title: '腾讯视频', + host: 'https://v.qq.com', + homeUrl: '/x/bu/pagesheet/list?_all=1&append=1&channel=cartoon&listpage=1&offset=0&pagesize=21&iarea=-1&sort=18', + detailUrl: 'https://node.video.qq.com/x/api/float_vinfo2?cid=fyid', + searchUrl: '**', + searchable: 2, + filterable: 1, + multi: 1, + url: '/x/bu/pagesheet/list?_all=1&append=1&channel=fyclass&listpage=1&offset=((fypage-1)*21)&pagesize=21&iarea=-1', + filter_url: 'sort={{fl.sort or 75}}&iyear={{fl.iyear}}&year={{fl.year}}&itype={{fl.type}}&ifeature={{fl.feature}}&iarea={{fl.area}}&itrailer={{fl.itrailer}}&gender={{fl.sex}}', + filter_url: 'sort={{fl.sort or 75}}&iyear={{fl.iyear}}&year={{fl.year}}&itype={{fl.type}}&ifeature={{fl.feature}}&iarea={{fl.area}}&itrailer={{fl.itrailer}}&gender={{fl.sex}}', + filter: { + "choice": [{ + "key": "sort", + "name": "排序", + "value": [{ + "n": "最热", + "v": "75" + }, { + "n": "最新", + "v": "83" + }, { + "n": "好评", + "v": "81" + }] + }, { + "key": "iyear", + "name": "年代", + "value": [{ + "n": "全部", + "v": "-1" + }, { + "n": "2026", + "v": "2026" + }, { + "n": "2025", + "v": "2025" + }, { + "n": "2024", + "v": "2024" + }, { + "n": "2023", + "v": "2023" + }, { + "n": "2022", + "v": "2022" + }, { + "n": "2021", + "v": "2021" + }, { + "n": "2020", + "v": "2020" + }, { + "n": "2019", + "v": "2019" + }, { + "n": "2018", + "v": "2018" + }, { + "n": "2017", + "v": "2017" + }, { + "n": "2016", + "v": "2016" + }, { + "n": "2015", + "v": "2015" + }] + }], + "tv": [{ + "key": "sort", + "name": "排序", + "value": [{ + "n": "最热", + "v": "75" + }, { + "n": "最新", + "v": "79" + }, { + "n": "好评", + "v": "16" + }] + }, { + "key": "feature", + "name": "类型", + "value": [{ + "n": "全部", + "v": "-1" + }, { + "n": "爱情", + "v": "1" + }, { + "n": "古装", + "v": "2" + }, { + "n": "悬疑", + "v": "3" + }, { + "n": "都市", + "v": "4" + }, { + "n": "家庭", + "v": "5" + }, { + "n": "喜剧", + "v": "6" + }, { + "n": "传奇", + "v": "7" + }, { + "n": "武侠", + "v": "8" + }, { + "n": "军旅", + "v": "9" + }, { + "n": "权谋", + "v": "10" + }, { + "n": "革命", + "v": "11" + }, { + "n": "现实", + "v": "13" + }, { + "n": "青春", + "v": "14" + }, { + "n": "猎奇", + "v": "15" + }, { + "n": "科幻", + "v": "16" + }, { + "n": "竞技", + "v": "17" + }, { + "n": "玄幻", + "v": "18" + }] + }, { + "key": "iyear", + "name": "年代", + "value": [{ + "n": "全部", + "v": "-1" + }, { + "n": "2026", + "v": "2026" + }, { + "n": "2025", + "v": "2025" + }, { + "n": "2024", + "v": "2024" + }, { + "n": "2023", + "v": "2023" + }, { + "n": "2022", + "v": "2022" + }, { + "n": "2021", + "v": "2021" + }, { + "n": "2020", + "v": "2020" + }, { + "n": "2019", + "v": "2019" + }, { + "n": "2018", + "v": "2018" + }, { + "n": "2017", + "v": "2017" + }, { + "n": "2016", + "v": "2016" + }, { + "n": "2015", + "v": "2015" + }] + }], + "movie": [{ + "key": "sort", + "name": "排序", + "value": [{ + "n": "最热", + "v": "75" + }, { + "n": "最新", + "v": "83" + }, { + "n": "好评", + "v": "81" + }] + }, { + "key": "type", + "name": "类型", + "value": [{ + "n": "全部", + "v": "-1" + }, { + "n": "犯罪", + "v": "4" + }, { + "n": "励志", + "v": "2" + }, { + "n": "喜剧", + "v": "100004" + }, { + "n": "热血", + "v": "100061" + }, { + "n": "悬疑", + "v": "100009" + }, { + "n": "爱情", + "v": "100005" + }, { + "n": "科幻", + "v": "100012" + }, { + "n": "恐怖", + "v": "100010" + }, { + "n": "动画", + "v": "100015" + }, { + "n": "战争", + "v": "100006" + }, { + "n": "家庭", + "v": "100017" + }, { + "n": "剧情", + "v": "100022" + }, { + "n": "奇幻", + "v": "100016" + }, { + "n": "武侠", + "v": "100011" + }, { + "n": "历史", + "v": "100021" + }, { + "n": "老片", + "v": "100013" + }, { + "n": "西部", + "v": "3" + }, { + "n": "记录片", + "v": "100020" + }] + }, { + "key": "year", + "name": "年代", + "value": [{ + "n": "全部", + "v": "-1" + }, { + "n": "2026", + "v": "2026" + }, { + "n": "2025", + "v": "2025" + }, { + "n": "2024", + "v": "2024" + }, { + "n": "2023", + "v": "2023" + }, { + "n": "2022", + "v": "2022" + }, { + "n": "2021", + "v": "2021" + }, { + "n": "2020", + "v": "2020" + }, { + "n": "2019", + "v": "2019" + }, { + "n": "2018", + "v": "2018" + }, { + "n": "2017", + "v": "2017" + }, { + "n": "2016", + "v": "2016" + }, { + "n": "2015", + "v": "2015" + }] + }], + "variety": [{ + "key": "sort", + "name": "排序", + "value": [{ + "n": "最热", + "v": "75" + }, { + "n": "最新", + "v": "23" + }] + }, { + "key": "iyear", + "name": "年代", + "value": [{ + "n": "全部", + "v": "-1" + }, { + "n": "2026", + "v": "2026" + }, { + "n": "2025", + "v": "2025" + }, { + "n": "2024", + "v": "2024" + }, { + "n": "2023", + "v": "2023" + }, { + "n": "2022", + "v": "2022" + }, { + "n": "2021", + "v": "2021" + }, { + "n": "2020", + "v": "2020" + }, { + "n": "2019", + "v": "2019" + }, { + "n": "2018", + "v": "2018" + }, { + "n": "2017", + "v": "2017" + }, { + "n": "2016", + "v": "2016" + }, { + "n": "2015", + "v": "2015" + }] + }], + "cartoon": [{ + "key": "sort", + "name": "排序", + "value": [{ + "n": "最热", + "v": "75" + }, { + "n": "最新", + "v": "83" + }, { + "n": "好评", + "v": "81" + }] + }, { + "key": "area", + "name": "地区", + "value": [{ + "n": "全部", + "v": "-1" + }, { + "n": "内地", + "v": "1" + }, { + "n": "日本", + "v": "2" + }, { + "n": "欧美", + "v": "3" + }, { + "n": "其他", + "v": "4" + }] + }, { + "key": "type", + "name": "类型", + "value": [{ + "n": "全部", + "v": "-1" + }, { + "n": "玄幻", + "v": "9" + }, { + "n": "科幻", + "v": "4" + }, { + "n": "武侠", + "v": "13" + }, { + "n": "冒险", + "v": "3" + }, { + "n": "战斗", + "v": "5" + }, { + "n": "搞笑", + "v": "1" + }, { + "n": "恋爱", + "v": "7" + }, { + "n": "魔幻", + "v": "6" + }, { + "n": "竞技", + "v": "20" + }, { + "n": "悬疑", + "v": "17" + }, { + "n": "日常", + "v": "15" + }, { + "n": "校园", + "v": "16" + }, { + "n": "真人", + "v": "18" + }, { + "n": "推理", + "v": "14" + }, { + "n": "历史", + "v": "19" + }, { + "n": "经典", + "v": "3" + }, { + "n": "其他", + "v": "12" + }] + }, { + "key": "iyear", + "name": "年代", + "value": [{ + "n": "全部", + "v": "-1" + }, { + "n": "2026", + "v": "2026" + }, { + "n": "2025", + "v": "2025" + }, { + "n": "2024", + "v": "2024" + }, { + "n": "2023", + "v": "2023" + }, { + "n": "2022", + "v": "2022" + }, { + "n": "2021", + "v": "2021" + }, { + "n": "2020", + "v": "2020" + }, { + "n": "2019", + "v": "2019" + }, { + "n": "2018", + "v": "2018" + }, { + "n": "2017", + "v": "2017" + }, { + "n": "2016", + "v": "2016" + }, { + "n": "2015", + "v": "2015" + }] + }], + "child": [{ + "key": "sort", + "name": "排序", + "value": [{ + "n": "最热", + "v": "75" + }, { + "n": "最新", + "v": "76" + }, { + "n": "好评", + "v": "20" + }] + }, { + "key": "sex", + "name": "性别", + "value": [{ + "n": "全部", + "v": "-1" + }, { + "n": "女孩", + "v": "1" + }, { + "n": "男孩", + "v": "2" + }] + }, { + "key": "area", + "name": "地区", + "value": [{ + "n": "全部", + "v": "-1" + }, { + "n": "内地", + "v": "3" + }, { + "n": "日本", + "v": "2" + }, { + "n": "其他", + "v": "1" + }] + }, { + "key": "iyear", + "name": "年龄段", + "value": [{ + "n": "全部", + "v": "-1" + }, { + "n": "0-3岁", + "v": "1" + }, { + "n": "4-6岁", + "v": "2" + }, { + "n": "7-9岁", + "v": "3" + }, { + "n": "10岁以上", + "v": "4" + }, { + "n": "全年龄段", + "v": "7" + }] + }], + "doco": [{ + "key": "sort", + "name": "排序", + "value": [{ + "n": "最热", + "v": "75" + }, { + "n": "最新", + "v": "74" + }] + }, { + "key": "itrailer", + "name": "出品方", + "value": [{ + "n": "全部", + "v": "-1" + }, { + "n": "BBC", + "v": "1" + }, { + "n": "国家地理", + "v": "4" + }, { + "n": "HBO", + "v": "3175" + }, { + "n": "NHK", + "v": "2" + }, { + "n": "历史频道", + "v": "7" + }, { + "n": "ITV", + "v": "3530" + }, { + "n": "探索频道", + "v": "3174" + }, { + "n": "ZDF", + "v": "3176" + }, { + "n": "腾讯自制", + "v": "15" + }, { + "n": "合作机构", + "v": "6" + }, { + "n": "其他", + "v": "5" + }] + }, { + "key": "type", + "name": "类型", + "value": [{ + "n": "全部", + "v": "-1" + }, { + "n": "自然", + "v": "4" + }, { + "n": "美食", + "v": "10" + }, { + "n": "社会", + "v": "3" + }, { + "n": "人文", + "v": "6" + }, { + "n": "历史", + "v": "1" + }, { + "n": "军事", + "v": "2" + }, { + "n": "科技", + "v": "8" + }, { + "n": "财经", + "v": "14" + }, { + "n": "探险", + "v": "15" + }, { + "n": "罪案", + "v": "7" + }, { + "n": "竞技", + "v": "12" + }, { + "n": "旅游", + "v": "11" + }] + }] + }, + headers: { + 'User-Agent': 'PC_UA' + }, + timeout: 5000, + cate_exclude: '会员|游戏|全部', + class_name: '精选&电影&电视剧&综艺&动漫&少儿&纪录片', + class_url: 'choice&movie&tv&variety&cartoon&child&doco', + limit: 20, + play_parse: true, + lazy: $js.toString(() => { + try { + let bata = JSON.parse(response); + log(bata) + if (bata.url.includes("http")) { + input = { + header: { + 'User-Agent': "" + }, + parse: 0, + url: bata.url, + jx: 0, + danmaku: 'http://127.0.0.1:9978/proxy?do=danmu&site=js&url=' + input.split("?")[0] + }; + } else { + input = { + header: { + 'User-Agent': "" + }, + parse: 0, + url: input.split("?")[0], + jx: 1, + danmaku: 'http://127.0.0.1:9978/proxy?do=danmu&site=js&url=' + input.split("?")[0] + }; + } + } catch { + input = { + header: { + 'User-Agent': "" + }, + parse: 0, + url: input.split("?")[0], + jx: 1, + danmaku: 'http://127.0.0.1:9978/proxy?do=danmu&site=js&url=' + input.split("?")[0] + }; + } + }), + + 推荐: '.list_item;img&&alt;img&&src;a&&Text;a&&data-float', + 一级: '.list_item;img&&alt;img&&src;a&&Text;a&&data-float', + 二级: $js.toString(() => { + VOD = {}; + let d = []; + let video_list = []; + let video_lists = []; + let QZOutputJson; + let html = fetch(input, fetch_params); + let sourceId = /get_playsource/.test(input) ? input.match(/id=(\d*?)&/)[1] : input.split("cid=")[1]; + let cid = sourceId; + let detailUrl = "https://v.qq.com/detail/m/" + cid + ".html"; + try { + let json = JSON.parse(html); + VOD = { + vod_url: input, + vod_name: json.c.title, + type_name: json.typ.join(","), + vod_actor: json.nam.join(","), + vod_year: json.c.year, + vod_content: json.c.description, + vod_remarks: json.rec, + vod_pic: urljoin2(input, json.c.pic) + } + } catch (e) {} + if (/get_playsource/.test(input)) { + eval(html); + let indexList = QZOutputJson.PlaylistItem.indexList; + indexList.forEach(function(it) { + let dataUrl = "https://s.video.qq.com/get_playsource?id=" + sourceId + "&plat=2&type=4&data_type=3&range=" + it + "&video_type=10&plname=qq&otype=json"; + eval(fetch(dataUrl, fetch_params)); + let vdata = QZOutputJson.PlaylistItem.videoPlayList; + vdata.forEach(function(item) { + d.push({ + title: item.title, + pic_url: item.pic, + desc: item.episode_number + "\t\t\t播放量:" + item.thirdLine, + url: item.playUrl + }) + }); + video_lists = video_lists.concat(vdata) + }) + } else { + let json = JSON.parse(html); + video_lists = json.c.video_ids; + let url = "https://v.qq.com/x/cover/" + sourceId + ".html"; + if (video_lists.length === 1) { + let vid = video_lists[0]; + let o_url = "https://union.video.qq.com/fcgi-bin/data?otype=json&tid=1804&appid=20001238&appkey=6c03bbe9658448a4&union_platform=1&idlist=" + vid; + let o_html = fetch(o_url, fetch_params); + eval(o_html); + if (QZOutputJson.results && QZOutputJson.results.length > 0) { + let it1 = QZOutputJson.results[0].fields; + url = "https://v.qq.com/x/cover/" + cid + "/" + vid + ".html"; + d.push({ + title: it1.title, + url: url + }) + } else { + url = "https://v.qq.com/x/cover/" + cid + "/" + vid + ".html"; + d.push({ + title: "正片播放", + url: url + }) + } + } else if (video_lists.length > 1) { + for (let i = 0; i < video_lists.length; i += 30) { + video_list.push(video_lists.slice(i, i + 30)) + } + video_list.forEach(function(it, idex) { + let o_url = "https://union.video.qq.com/fcgi-bin/data?otype=json&tid=1804&appid=20001238&appkey=6c03bbe9658448a4&union_platform=1&idlist=" + it.join(","); + let o_html = fetch(o_url, fetch_params); + eval(o_html); + QZOutputJson.results.forEach(function(it1) { + it1 = it1.fields; + let url = "https://v.qq.com/x/cover/" + cid + "/" + it1.vid + ".html"; + d.push({ + title: it1.title, + pic_url: it1.pic160x90.replace("/160", ""), + desc: it1.video_checkup_time, + url: url, + type: it1.category_map && it1.category_map.length > 1 ? it1.category_map[1] : "" + }) + }) + }) + } + } + + let playFrom = []; + let playUrl = []; + + let ygKeywords = ["预告", "花絮", "片花", "特辑", "幕后", "采访", "制作", "MV", "主题曲"]; + + let yg = d.filter(function(it) { + return it.type && ygKeywords.some(keyword => it.type.includes(keyword)); + }); + let zp = d.filter(function(it) { + return !(it.type && ygKeywords.some(keyword => it.type.includes(keyword))); + }); + + if (zp.length > 0) { + playFrom.push("正片"); + playUrl.push(zp.map(it => it.title + "$" + it.url).join("#")); + } + + if (yg.length > 0) { + let 预告 = yg.filter(it => it.type && it.type.includes("预告")); + let 花絮片花 = yg.filter(it => it.type && (it.type.includes("花絮") || it.type.includes("片花"))); + let 特辑 = yg.filter(it => it.type && (it.type.includes("特辑") || it.type.includes("幕后"))); + + if (预告.length > 0) { + playFrom.push("预告"); + playUrl.push(预告.map(it => it.title + "$" + it.url).join("#")); + } + if (花絮片花.length > 0) { + playFrom.push("花絮片花"); + playUrl.push(花絮片花.map(it => it.title + "$" + it.url).join("#")); + } + if (特辑.length > 0) { + playFrom.push("特辑"); + playUrl.push(特辑.map(it => it.title + "$" + it.url).join("#")); + } + } + + VOD.vod_play_from = playFrom.join("$$$"); + VOD.vod_play_url = playUrl.join("$$$"); + }), + 搜索: $js.toString(() => { + let d = [], + keyword = input.split("/")[3]; + let seenIds = new Set(); + + function vodSearch(keyword, page = 0) { + return request('https://pbaccess.video.qq.com/trpc.videosearch.mobile_search.MultiTerminalSearch/MbSearch?vplatform=2', { + body: JSON.stringify({ + version: "25042201", + clientType: 1, + filterValue: "", + uuid: "B1E50847-D25F-4C4B-BBA0-36F0093487F6", + retry: 0, + query: keyword, + pagenum: page, + isPrefetch: true, + pagesize: 30, + queryFrom: 0, + searchDatakey: "", + transInfo: "", + isneedQc: true, + preQid: "", + adClientInfo: "", + extraInfo: { + isNewMarkLabel: "1", + multi_terminal_pc: "1", + themeType: "1", + sugRelatedIds: "{}", + appVersion: "" + } + }), + headers: { + 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.139 Safari/537.36', + 'Content-Type': 'application/json', + 'Origin': 'https://v.qq.com', + 'Referer': 'https://v.qq.com/' + }, + method: 'POST' + }); + } + + const nonMainContentKeywords = [ + ':', '#', '特辑', '“', '剪辑', '片花', '独家', '专访', '纯享', + '制作', '幕后', '宣传', 'MV', '主题曲', '插曲', '彩蛋', + '精彩', '集锦', '盘点', '回顾', '解说', '评测', '反应', 'reaction' + ]; + + function isMainContent(title) { + if (!title) return false; + if (title.includes('') || title.includes('')) return false; + return !nonMainContentKeywords.some(keyword => title.includes(keyword)); + } + + function isQQPlatform(playSites) { + if (!playSites || !Array.isArray(playSites)) return true; // 如果没有平台信息,默认保留 + return playSites.some(site => site.enName && site.enName.toLowerCase() === 'qq'); + } + + try { + let html = vodSearch(keyword, 0); + let json = JSON.parse(html); + + function processItemList(itemList) { + if (!itemList) return; + + itemList.forEach(it => { + if (it.doc && it.doc.id && it.videoInfo && + isMainContent(it.videoInfo.title) && + isQQPlatform(it.videoInfo.playSites) && + Object.keys(it.videoInfo.episodeSites || {}).length > 0) { // ← 新增条件:episodeSites 不为空对象 + + const itemId = it.doc.id; + if (!seenIds.has(itemId)) { + seenIds.add(itemId); + d.push({ + title: it.videoInfo.title, + img: it.videoInfo.imgUrl || "", + url: itemId, + desc: it.videoInfo.secondLine || "" + }); + } + } + }); + } + + if (json.data && json.data.normalList) { + processItemList(json.data.normalList.itemList); + } + + if (json.data && json.data.areaBoxList) { + json.data.areaBoxList.forEach(box => { + processItemList(box.itemList); + }); + } + + } catch (e) { + log("搜索出错: " + e.message); + } + + setResult(d); + }) + +}; \ No newline at end of file diff --git a/tvboxqq/tvboxqq/潇洒/js/YKSP.js b/tvboxqq/tvboxqq/潇洒/js/YKSP.js new file mode 100644 index 0000000..17d0a99 --- /dev/null +++ b/tvboxqq/tvboxqq/潇洒/js/YKSP.js @@ -0,0 +1,2317 @@ +var rule = { + title: '优酷[官]', + host: 'https://www.%79%6f%75%6b%75.com', + homeUrl: '', + searchUrl: 'https://search.%79%6f%75%6b%75.com/api/search?pg=fypage&keyword=**', + searchable: 2, + quickSearch: 0, + filterable: 1, + multi: 1, + url: '/category/data?optionRefresh=1&pageNo=fypage¶ms=fyfilter', + filter_url: '{{fl}}', + filter: { + "电视剧": [{ + "key": "main_area", + "name": "全部地区", + "value": [{ + "n": "全部地区", + "v": "" + }, { + "n": "内地剧", + "v": "中国内地" + }, { + "n": "港剧", + "v": "中国香港" + }, { + "n": "台剧", + "v": "中国台湾" + }, { + "n": "韩剧", + "v": "韩国" + }, { + "n": "美剧", + "v": "美国" + }, { + "n": "英剧", + "v": "英国" + }, { + "n": "日剧", + "v": "日本" + }, { + "n": "泰剧", + "v": "泰国" + }] + }, { + "key": "tags", + "name": "全部类型", + "value": [{ + "n": "全部类型", + "v": "" + }, { + "n": "青春", + "v": "青春" + }, { + "n": "古装", + "v": "古装" + }, { + "n": "爱情", + "v": "爱情" + }, { + "n": "都市", + "v": "都市" + }, { + "n": "喜剧", + "v": "喜剧,搞笑" + }, { + "n": "战争", + "v": "战争" + }, { + "n": "军旅", + "v": "军旅" + }, { + "n": "谍战", + "v": "谍战" + }, { + "n": "偶像", + "v": "偶像" + }, { + "n": "警匪", + "v": "警匪" + }, { + "n": "冒险", + "v": "冒险" + }, { + "n": "穿越", + "v": "穿越" + }, { + "n": "仙侠", + "v": "仙侠" + }, { + "n": "武侠", + "v": "武侠" + }, { + "n": "悬疑", + "v": "悬疑" + }, { + "n": "罪案", + "v": "罪案" + }, { + "n": "家庭", + "v": "家庭" + }, { + "n": "历史", + "v": "历史" + }, { + "n": "年代", + "v": "年代" + }, { + "n": "农村", + "v": "农村" + }] + }, { + "key": "year", + "name": "全部年份", + "value": [{ + "n": "全部年份", + "v": "" + }, { + "n": "2026", + "v": "2026" + }, { + "n": "2025", + "v": "2025" + }, { + "n": "2024", + "v": "2024" + }, { + "n": "2023", + "v": "2023" + }, { + "n": "2022", + "v": "2022" + }, { + "n": "2021", + "v": "2021" + }, { + "n": "2020", + "v": "2020" + }, { + "n": "2019", + "v": "2019" + }, { + "n": "2018", + "v": "2018" + }, { + "n": "2017", + "v": "2017" + }, { + "n": "2016", + "v": "2016" + }, { + "n": "2015", + "v": "2015" + }, { + "n": "2014-2011", + "v": "2011-2014" + }, { + "n": "更早", + "v": "-2010" + }] + }, { + "key": "status", + "name": "全部规格", + "value": [{ + "n": "全部规格", + "v": "" + }, { + "n": "全网独播", + "v": "1" + }, { + "n": "优酷自制", + "v": "2" + }, { + "n": "已完结", + "v": "3" + }, { + "n": "即将上线", + "v": "4" + }, { + "n": "短剧", + "v": "5" + }] + }, { + "key": "pay_type", + "name": "付费类型", + "value": [{ + "n": "付费类型", + "v": "" + }, { + "n": "免费", + "v": "0" + }, { + "n": "VIP", + "v": "2" + }, { + "n": "付费", + "v": "1" + }] + }, { + "key": "sort", + "name": "综合排序", + "value": [{ + "n": "综合排序", + "v": "" + }, { + "n": "热度最高", + "v": "7" + }, { + "n": "最新上线", + "v": "1" + }, { + "n": "最好评", + "v": "3" + }, { + "n": "最多播放", + "v": "2" + }] + }], + "电影": [{ + "key": "main_area", + "name": "全部地区", + "value": [{ + "n": "全部地区", + "v": "" + }, { + "n": "内地", + "v": "中国内地" + }, { + "n": "中国香港", + "v": "中国香港" + }, { + "n": "中国台湾", + "v": "中国台湾" + }, { + "n": "美国", + "v": "美国" + }, { + "n": "印度", + "v": "印度" + }, { + "n": "日韩", + "v": "韩国,日本" + }, { + "n": "泰国", + "v": "泰国" + }, { + "n": "欧洲", + "v": "欧洲" + }] + }, { + "key": "tags", + "name": "全部类型", + "value": [{ + "n": "全部类型", + "v": "" + }, { + "n": "喜剧", + "v": "喜剧,搞笑" + }, { + "n": "动作", + "v": "动作" + }, { + "n": "怪兽", + "v": "怪兽" + }, { + "n": "战争", + "v": "战争" + }, { + "n": "爱情", + "v": "爱情" + }, { + "n": "悬疑", + "v": "悬疑" + }, { + "n": "武侠", + "v": "武侠" + }, { + "n": "奇幻", + "v": "奇幻" + }, { + "n": "科幻", + "v": "科幻" + }, { + "n": "冒险", + "v": "冒险" + }, { + "n": "警匪", + "v": "警匪" + }, { + "n": "动画", + "v": "动画" + }, { + "n": "惊悚", + "v": "惊悚" + }, { + "n": "犯罪", + "v": "犯罪" + }, { + "n": "恐怖", + "v": "恐怖" + }, { + "n": "剧情", + "v": "剧情" + }, { + "n": "历史", + "v": "历史" + }, { + "n": "纪录片", + "v": "纪录片" + }, { + "n": "传记", + "v": "传记" + }, { + "n": "歌舞", + "v": "歌舞" + }, { + "n": "短片", + "v": "短片" + }, { + "n": "其他", + "v": "其他" + }] + }, { + "key": "source", + "name": "全部规格", + "value": [{ + "n": "全部规格", + "v": "" + }, { + "n": "院线", + "v": "1" + }, { + "n": "网络电影", + "v": "0" + }, { + "n": "独播", + "v": "2" + }, { + "n": "高清修复", + "v": "3" + }, { + "n": "1080P", + "v": "4" + }] + }, { + "key": "year", + "name": "全部年份", + "value": [{ + "n": "全部年份", + "v": "" + }, { + "n": "2026", + "v": "2026" + }, { + "n": "2025", + "v": "2025" + }, { + "n": "2024", + "v": "2024" + }, { + "n": "2023", + "v": "2023" + }, { + "n": "2022", + "v": "2022" + }, { + "n": "2021", + "v": "2021" + }, { + "n": "2020", + "v": "2020" + }, { + "n": "2019", + "v": "2019" + }, { + "n": "2018", + "v": "2018" + }, { + "n": "2017", + "v": "2017" + }, { + "n": "2016", + "v": "2016" + }, { + "n": "2015", + "v": "2015" + }, { + "n": "2014-2010", + "v": "2010-2014" + }, { + "n": "2009-2000", + "v": "2000-2009" + }, { + "n": "90年代", + "v": "1990-1999" + }, { + "n": "80年代", + "v": "1980-1989" + }, { + "n": "70年代", + "v": "1970-1979" + }, { + "n": "更早", + "v": "-1969" + }] + }, { + "key": "pay_type", + "name": "付费类型", + "value": [{ + "n": "付费类型", + "v": "" + }, { + "n": "免费", + "v": "0" + }, { + "n": "会员", + "v": "2" + }, { + "n": "点播", + "v": "1" + }] + }, { + "key": "sort", + "name": "综合排序", + "value": [{ + "n": "综合排序", + "v": "" + }, { + "n": "热度最高", + "v": "7" + }, { + "n": "最多播放", + "v": "2" + }, { + "n": "最新上线", + "v": "1" + }, { + "n": "最好评", + "v": "3" + }] + }, { + "key": "tag_label_name", + "name": "为你推荐", + "value": [{ + "n": "为你推荐", + "v": "" + }, { + "n": "高分必看", + "v": "高分必看" + }, { + "n": "卖座电影", + "v": "卖座电影" + }, { + "n": "小说改编", + "v": "小说改编" + }, { + "n": "铁血硬汉", + "v": "铁血硬汉" + }, { + "n": "视效大片", + "v": "视效大片" + }, { + "n": "漫画改编", + "v": "漫画改编" + }, { + "n": "绝地求生", + "v": "绝地求生" + }, { + "n": "真人真事改编", + "v": "真人真事改编" + }, { + "n": "范伟", + "v": "范伟" + }, { + "n": "火爆枪战", + "v": "火爆枪战" + }, { + "n": "影史经典", + "v": "影史经典" + }, { + "n": "拯救世界", + "v": "拯救世界" + }, { + "n": "万茜", + "v": "万茜" + }, { + "n": "马思纯", + "v": "马思纯" + }, { + "n": "王俊凯", + "v": "王俊凯" + }, { + "n": "豪华阵容", + "v": "豪华阵容" + }, { + "n": "李玉", + "v": "李玉" + }, { + "n": "无厘头喜剧", + "v": "无厘头喜剧" + }, { + "n": "超能力", + "v": "超能力" + }, { + "n": "欢喜搭档", + "v": "欢喜搭档" + }] + }], + "综艺": [{ + "key": "main_area", + "name": "全部地区", + "value": [{ + "n": "全部地区", + "v": "" + }, { + "n": "内地", + "v": "中国内地" + }, { + "n": "中国台湾", + "v": "中国台湾" + }, { + "n": "美国", + "v": "美国" + }, { + "n": "英国", + "v": "英国" + }] + }, { + "key": "tags", + "name": "全部类型", + "value": [{ + "n": "全部类型", + "v": "" + }, { + "n": "偶像", + "v": "偶像" + }, { + "n": "舞蹈", + "v": "舞蹈" + }, { + "n": "音乐", + "v": "音乐" + }, { + "n": "情感", + "v": "情感" + }, { + "n": "喜剧", + "v": "喜剧,搞笑" + }, { + "n": "体育", + "v": "体育" + }, { + "n": "游戏", + "v": "游戏" + }, { + "n": "相声", + "v": "相声" + }, { + "n": "婚恋", + "v": "婚恋" + }, { + "n": "时尚", + "v": "时尚" + }, { + "n": "晚会", + "v": "晚会" + }, { + "n": "明星访谈", + "v": "明星访谈" + }, { + "n": "亲子", + "v": "亲子" + }, { + "n": "生活", + "v": "生活" + }, { + "n": "文化", + "v": "文化" + }, { + "n": "美食", + "v": "美食" + }, { + "n": "旅游", + "v": "旅游" + }, { + "n": "益智", + "v": "益智" + }] + }, { + "key": "year", + "name": "全部年份", + "value": [{ + "n": "全部年份", + "v": "" + }, { + "n": "2026", + "v": "2026" + }, { + "n": "2025", + "v": "2025" + }, { + "n": "2024", + "v": "2024" + }, { + "n": "2023", + "v": "2023" + }, { + "n": "2022", + "v": "2022" + }, { + "n": "2021", + "v": "2021" + }, { + "n": "2020", + "v": "2020" + }, { + "n": "2019", + "v": "2019" + }, { + "n": "2018", + "v": "2018" + }, { + "n": "2017", + "v": "2017" + }, { + "n": "2016", + "v": "2016" + }, { + "n": "2015", + "v": "2015" + }, { + "n": "2014-2011", + "v": "2011-2014" + }, { + "n": "更早", + "v": "-2010" + }] + }, { + "key": "status", + "name": "全部规格", + "value": [{ + "n": "全部规格", + "v": "" + }, { + "n": "优酷自制", + "v": "2" + }, { + "n": "优酷独播", + "v": "1" + }, { + "n": "电视综艺", + "v": "6" + }, { + "n": "已完结", + "v": "3" + }, { + "n": "即将上线", + "v": "4" + }] + }, { + "key": "pay_type", + "name": "付费类型", + "value": [{ + "n": "付费类型", + "v": "" + }, { + "n": "免费", + "v": "0" + }, { + "n": "VIP", + "v": "2" + }, { + "n": "付费", + "v": "1" + }] + }, { + "key": "sort", + "name": "热度最高", + "value": [{ + "n": "热度最高", + "v": "" + }, { + "n": "最新更新", + "v": "8" + }, { + "n": "最近开播", + "v": "9" + }, { + "n": "最多评论", + "v": "4" + }] + }, { + "key": "tag_label_name", + "name": "为你推荐", + "value": [{ + "n": "为你推荐", + "v": "" + }, { + "n": "舞台竞演", + "v": "舞台竞演" + }, { + "n": "刘雨昕", + "v": "刘雨昕" + }, { + "n": "王一博", + "v": "王一博" + }, { + "n": "韩庚", + "v": "韩庚" + }, { + "n": "李承铉", + "v": "李承铉" + }, { + "n": "户外竞技", + "v": "户外竞技" + }, { + "n": "浙江卫视", + "v": "浙江卫视" + }, { + "n": "东方卫视", + "v": "东方卫视" + }, { + "n": "岳云鹏", + "v": "岳云鹏" + }, { + "n": "王迅", + "v": "王迅" + }, { + "n": "杨迪", + "v": "杨迪" + }, { + "n": "杨超越", + "v": "杨超越" + }, { + "n": "黄明昊", + "v": "黄明昊" + }, { + "n": "郭京飞", + "v": "郭京飞" + }, { + "n": "欧阳娜娜", + "v": "欧阳娜娜" + }, { + "n": "德云社", + "v": "德云社" + }, { + "n": "郑恺", + "v": "郑恺" + }, { + "n": "华少", + "v": "华少" + }, { + "n": "郭德纲", + "v": "郭德纲" + }, { + "n": "贾玲", + "v": "贾玲" + }] + }], + "动漫": [{ + "key": "sort", + "name": "综合排序", + "value": [{ + "n": "综合排序", + "v": "" + }, { + "n": "最多播放", + "v": "2" + }, { + "n": "最好评", + "v": "3" + }, { + "n": "最新上线", + "v": "1" + }] + }, { + "key": "main_area", + "name": "全部地区", + "value": [{ + "n": "全部地区", + "v": "" + }, { + "n": "内地", + "v": "中国内地" + }, { + "n": "日本", + "v": "日本" + }, { + "n": "美国", + "v": "美国" + }, { + "n": "中国台湾", + "v": "中国台湾" + }, { + "n": "其他", + "v": "其他" + }] + }, { + "key": "tags", + "name": "全部类型", + "value": [{ + "n": "全部类型", + "v": "" + }, { + "n": "热血", + "v": "热血,战斗" + }, { + "n": "励志", + "v": "励志" + }, { + "n": "玄幻", + "v": "玄幻" + }, { + "n": "古风", + "v": "历史,古风" + }, { + "n": "恋爱", + "v": "恋爱" + }, { + "n": "青春", + "v": "青春" + }, { + "n": "校园", + "v": "校园" + }, { + "n": "运动", + "v": "社团,运动" + }, { + "n": "科幻", + "v": "科幻" + }, { + "n": "冒险", + "v": "冒险" + }, { + "n": "魔法", + "v": "魔法" + }, { + "n": "日常", + "v": "日常" + }, { + "n": "治愈", + "v": "治愈" + }, { + "n": "机战", + "v": "机战" + }, { + "n": "推理", + "v": "推理" + }, { + "n": "都市", + "v": "都市" + }, { + "n": "小说改", + "v": "小说改编" + }, { + "n": "游戏改", + "v": "游戏改编" + }, { + "n": "漫画改", + "v": "漫画改编" + }, { + "n": "动态漫", + "v": "动态漫画" + }, { + "n": "特摄", + "v": "特摄" + }, { + "n": "布袋戏", + "v": "布袋戏" + }] + }, { + "key": "completed", + "name": "连载情况", + "value": [{ + "n": "连载情况", + "v": "" + }, { + "n": "更新中", + "v": "0" + }, { + "n": "已完结", + "v": "1" + }] + }, { + "key": "pay_type", + "name": "付费类型", + "value": [{ + "n": "付费类型", + "v": "" + }, { + "n": "免费", + "v": "0" + }, { + "n": "会员", + "v": "2" + }] + }, { + "key": "year", + "name": "全部年份", + "value": [{ + "n": "全部年份", + "v": "" + }, { + "n": "2026", + "v": "2026" + }, { + "n": "2025", + "v": "2025" + }, { + "n": "2024", + "v": "2024" + }, { + "n": "2023", + "v": "2023" + }, { + "n": "2022", + "v": "2022" + }, { + "n": "2021", + "v": "2021" + }, { + "n": "2020", + "v": "2020" + }, { + "n": "2019", + "v": "2019" + }, { + "n": "2018", + "v": "2018" + }, { + "n": "2017", + "v": "2017" + }, { + "n": "2016", + "v": "2016" + }, { + "n": "2015", + "v": "2015" + }, { + "n": "2014", + "v": "2014" + }, { + "n": "2013", + "v": "2013" + }, { + "n": "2012", + "v": "2012" + }, { + "n": "2011", + "v": "2011" + }, { + "n": "00年代", + "v": "2000-2010" + }, { + "n": "更早", + "v": "-1999" + }] + }, { + "key": "tag_label_name", + "name": "为你推荐", + "value": [{ + "n": "为你推荐", + "v": "" + }, { + "n": "3D动画", + "v": "3D动画" + }, { + "n": "搞笑日常", + "v": "搞笑日常" + }, { + "n": "大男主", + "v": "大男主" + }, { + "n": "高燃", + "v": "高燃" + }, { + "n": "萌系", + "v": "萌系" + }, { + "n": "修真", + "v": "修真" + }, { + "n": "怀旧", + "v": "怀旧" + }, { + "n": "超级英雄", + "v": "超级英雄" + }, { + "n": "水树奈奈", + "v": "水树奈奈" + }, { + "n": "张杰", + "v": "张杰" + }, { + "n": "石田彰", + "v": "石田彰" + }, { + "n": "守护地球", + "v": "守护地球" + }, { + "n": "圆谷", + "v": "圆谷" + }, { + "n": "山新", + "v": "山新" + }, { + "n": "复仇", + "v": "复仇" + }, { + "n": "废柴逆袭", + "v": "废柴逆袭" + }, { + "n": "侦探", + "v": "侦探" + }, { + "n": "无厘头", + "v": "无厘头" + }, { + "n": "青山刚昌", + "v": "青山刚昌" + }, { + "n": "悬疑", + "v": "悬疑" + }] + }], + "少儿": [{ + "key": "main_area", + "name": "全部地区", + "value": [{ + "n": "全部地区", + "v": "" + }, { + "n": "中国", + "v": "中国,香港,台湾" + }, { + "n": "美国", + "v": "美国" + }, { + "n": "英国", + "v": "英国" + }, { + "n": "其他国家", + "v": "其他" + }] + }, { + "key": "show_label_type", + "name": "全部类型", + "value": [{ + "n": "全部类型", + "v": "" + }, { + "n": "动画", + "v": "动画" + }, { + "n": "儿歌", + "v": "儿歌" + }, { + "n": "玩具", + "v": "玩具" + }, { + "n": "动画电影", + "v": "电影" + }, { + "n": "绘本故事", + "v": "绘本故事" + }, { + "n": "真人", + "v": "真人" + }, { + "n": "少儿综艺", + "v": "少儿综艺" + }, { + "n": "亲子", + "v": "亲子" + }, { + "n": "探索纪实", + "v": "探索纪实" + }, { + "n": "音频", + "v": "音频" + }] + }, { + "key": "child_tags", + "name": "全部分类", + "value": [{ + "n": "全部分类", + "v": "" + }, { + "n": "益智", + "v": "益智" + }, { + "n": "冒险", + "v": "冒险" + }, { + "n": "幽默", + "v": "幽默" + }, { + "n": "机甲", + "v": "机甲" + }, { + "n": "公主魔法", + "v": "公主,魔法" + }, { + "n": "交通工具", + "v": "交通工具" + }, { + "n": "恐龙", + "v": "恐龙" + }, { + "n": "动物", + "v": "动物" + }, { + "n": "励志", + "v": "励志" + }, { + "n": "友情", + "v": "友情" + }, { + "n": "战斗", + "v": "战斗" + }, { + "n": "校园", + "v": "校园" + }, { + "n": "正义", + "v": "正义" + }, { + "n": "热血", + "v": "热血" + }, { + "n": "科幻", + "v": "科幻" + }, { + "n": "童话", + "v": "童话" + }, { + "n": "运动", + "v": "运动" + }, { + "n": "专注力", + "v": "专注力" + }, { + "n": "创造力", + "v": "创造力" + }, { + "n": "想象力", + "v": "想象力" + }, { + "n": "科普", + "v": "科普" + }, { + "n": "情商", + "v": "情商" + }, { + "n": "思维逻辑", + "v": "思维逻辑" + }, { + "n": "兴趣培养", + "v": "兴趣培养" + }, { + "n": "语文", + "v": "语文" + }, { + "n": "英语", + "v": "英语" + }, { + "n": "数学", + "v": "数学" + }, { + "n": "课程辅导", + "v": "课程辅导" + }] + }, { + "key": "age", + "name": "全部年龄", + "value": [{ + "n": "全部年龄", + "v": "" + }, { + "n": "0-2岁", + "v": "0-2" + }, { + "n": "3-4岁", + "v": "3-4" + }, { + "n": "5-6岁", + "v": "5-6" + }, { + "n": "7岁以上", + "v": "7-" + }] + }, { + "key": "pay_type", + "name": "付费类型", + "value": [{ + "n": "付费类型", + "v": "" + }, { + "n": "免费", + "v": "0" + }, { + "n": "付费", + "v": "1" + }, { + "n": "VIP", + "v": "2" + }] + }, { + "key": "sort", + "name": "综合排序", + "value": [{ + "n": "综合排序", + "v": "" + }, { + "n": "最新上线", + "v": "1" + }, { + "n": "最多播放", + "v": "2" + }, { + "n": "最多评论", + "v": "4" + }, { + "n": "最多收藏", + "v": "5" + }] + }], + "纪录片": [{ + "key": "tags", + "name": "全部类型", + "value": [{ + "n": "全部类型", + "v": "" + }, { + "n": "美食", + "v": "美食" + }, { + "n": "自然", + "v": "自然" + }, { + "n": "历史", + "v": "历史" + }, { + "n": "探险", + "v": "探险" + }, { + "n": "军事", + "v": "军事" + }, { + "n": "人物", + "v": "人物" + }, { + "n": "宇宙", + "v": "宇宙" + }, { + "n": "刑侦", + "v": "刑侦" + }, { + "n": "社会", + "v": "社会" + }, { + "n": "科技", + "v": "科技" + }, { + "n": "旅游", + "v": "旅游" + }] + }, { + "key": "company", + "name": "全部出品", + "value": [{ + "n": "全部出品", + "v": "" + }, { + "n": "BBC", + "v": "bbc,british" + }, { + "n": "央视", + "v": "央视,中央电视台,cctv,中国广播电影电视节目交易中心" + }, { + "n": "国家地理", + "v": "国家地理" + }, { + "n": "Love Nature", + "v": "love nature" + }, { + "n": "LGI", + "v": "looking" + }, { + "n": "A&E", + "v": "ae" + }, { + "n": "OTF", + "v": "fence" + }] + }, { + "key": "year", + "name": "全部年份", + "value": [{ + "n": "全部年份", + "v": "" + }, { + "n": "2026", + "v": "2026" + }, { + "n": "2025", + "v": "2025" + }, { + "n": "2024", + "v": "2024" + }, { + "n": "2023", + "v": "2023" + }, { + "n": "2022", + "v": "2022" + }, { + "n": "2021", + "v": "2021" + }, { + "n": "2020", + "v": "2020" + }, { + "n": "2019", + "v": "2019" + }, { + "n": "2018", + "v": "2018" + }, { + "n": "2017", + "v": "2017" + }, { + "n": "2016", + "v": "2016" + }, { + "n": "2015", + "v": "2015" + }, { + "n": "2014-2011", + "v": "2011-2014" + }, { + "n": "更早", + "v": "-2010" + }] + }, { + "key": "pay_type", + "name": "付费类型", + "value": [{ + "n": "付费类型", + "v": "" + }, { + "n": "免费", + "v": "0" + }, { + "n": "会员", + "v": "2" + }] + }, { + "key": "sort", + "name": "热度最高", + "value": [{ + "n": "热度最高", + "v": "" + }, { + "n": "综合排序", + "v": "0" + }, { + "n": "最新上线", + "v": "1" + }, { + "n": "最好评", + "v": "3" + }, { + "n": "最多收藏", + "v": "5" + }] + }], + "文化": [{ + "key": "tags", + "name": "全部类型", + "value": [{ + "n": "全部类型", + "v": "" + }, { + "n": "谈话", + "v": "谈话" + }, { + "n": "脱口秀", + "v": "脱口秀" + }, { + "n": "访谈", + "v": "访谈" + }, { + "n": "讲座论坛", + "v": "讲座论坛" + }, { + "n": "戏曲曲艺", + "v": "戏曲,曲艺" + }, { + "n": "舞台剧", + "v": "舞台剧" + }, { + "n": "文学", + "v": "文学" + }, { + "n": "国学", + "v": "国学" + }, { + "n": "艺术", + "v": "艺术" + }, { + "n": "培训课程", + "v": "培训课程" + }, { + "n": "有声书", + "v": "有声书" + }] + }, { + "key": "people", + "name": "文化大咖", + "value": [{ + "n": "文化大咖", + "v": "" + }, { + "n": "窦文涛", + "v": "窦文涛" + }, { + "n": "马未都", + "v": "马未都" + }, { + "n": "白岩松", + "v": "白岩松" + }, { + "n": "梅毅", + "v": "梅毅" + }, { + "n": "陈鲁豫", + "v": "陈鲁豫" + }, { + "n": "樊登", + "v": "樊登" + }, { + "n": "罗振宇", + "v": "罗振宇" + }, { + "n": "蒋方舟", + "v": "蒋方舟" + }, { + "n": "其他", + "v": "其他" + }] + }, { + "key": "year", + "name": "全部年份", + "value": [{ + "n": "全部年份", + "v": "" + }, { + "n": "2026", + "v": "2026" + }, { + "n": "2025", + "v": "2025" + }, { + "n": "2024", + "v": "2024" + }, { + "n": "2023", + "v": "2023" + }, { + "n": "2022", + "v": "2022" + }, { + "n": "2021", + "v": "2021" + }, { + "n": "2020", + "v": "2020" + }, { + "n": "2019", + "v": "2019" + }, { + "n": "2018", + "v": "2018" + }, { + "n": "2017", + "v": "2017" + }, { + "n": "2016", + "v": "2016" + }, { + "n": "2015", + "v": "2015" + }, { + "n": "2014-2011", + "v": "2011-2014" + }, { + "n": "更早", + "v": "-2010" + }] + }, { + "key": "pay_type", + "name": "付费类型", + "value": [{ + "n": "付费类型", + "v": "" + }, { + "n": "免费", + "v": "0" + }, { + "n": "会员", + "v": "2" + }] + }, { + "key": "sort", + "name": "热度最高", + "value": [{ + "n": "热度最高", + "v": "" + }, { + "n": "综合排序", + "v": "0" + }, { + "n": "最新上线", + "v": "1" + }, { + "n": "最好评", + "v": "3" + }, { + "n": "最多收藏", + "v": "5" + }] + }], + "亲子": [{ + "key": "qinzi_genre", + "name": "全部类型", + "value": [{ + "n": "全部类型", + "v": "" + }, { + "n": "孕产", + "v": "孕产" + }, { + "n": "育儿知识", + "v": "育儿知识,育儿达人,育儿专家,爸爸育儿,隔代育儿,育儿明星" + }, { + "n": "好物种草", + "v": "母婴用品,测评,母婴用品种草" + }, { + "n": "美食", + "v": "儿童美食,辅食,孕期饮食" + }, { + "n": "手工DIY", + "v": "手工diy" + }, { + "n": "教育观念", + "v": "教育观念" + }, { + "n": "亲子综艺", + "v": "亲子综艺" + }, { + "n": "亲子互动", + "v": "亲子旅游,亲子游戏,亲子阅读,玩具,早教,启蒙" + }, { + "n": "萌娃", + "v": "萌娃" + }, { + "n": "搞笑", + "v": "搞笑" + }, { + "n": "美妆", + "v": "美妆" + }] + }, { + "key": "pregnancy_stage", + "name": "全部阶段", + "value": [{ + "n": "全部阶段", + "v": "" + }, { + "n": "备孕", + "v": "备孕" + }, { + "n": "孕早期", + "v": "孕早" + }, { + "n": "孕中期", + "v": "孕中" + }, { + "n": "孕晚期", + "v": "孕晚" + }] + }, { + "key": "show_label_baby_age", + "name": "全部分龄", + "value": [{ + "n": "全部分龄", + "v": "" + }, { + "n": "0-1岁", + "v": "0-1" + }, { + "n": "1-3岁", + "v": "1-3" + }, { + "n": "3-6岁", + "v": "3-6" + }, { + "n": "6岁+", + "v": "6-" + }] + }, { + "key": "pay_type", + "name": "全部", + "value": [{ + "n": "全部", + "v": "" + }, { + "n": "免费", + "v": "0" + }, { + "n": "会员免费", + "v": "2" + }] + }, { + "key": "sort", + "name": "热度最高", + "value": [{ + "n": "热度最高", + "v": "" + }, { + "n": "综合排序", + "v": "0" + }, { + "n": "最新上线", + "v": "1" + }, { + "n": "最多播放", + "v": "2" + }, { + "n": "最多评论", + "v": "3" + }, { + "n": "最多收藏", + "v": "5" + }] + }], + "教育": [{ + "key": "tags", + "name": "全部类型", + "value": [{ + "n": "全部类型", + "v": "" + }, { + "n": "公开课", + "v": "公开课" + }, { + "n": "名人名嘴", + "v": "名人名嘴" + }, { + "n": "文化", + "v": "文化" + }, { + "n": "艺术", + "v": "艺术" + }, { + "n": "伦理社会", + "v": "伦理社会" + }, { + "n": "理工", + "v": "理工" + }, { + "n": "历史", + "v": "历史" + }, { + "n": "心理学", + "v": "心理学" + }, { + "n": "经济", + "v": "经济" + }, { + "n": "管理学", + "v": "管理学" + }, { + "n": "外语", + "v": "外语" + }, { + "n": "法律", + "v": "法律" + }, { + "n": "计算机", + "v": "计算机" + }, { + "n": "哲学", + "v": "哲学" + }, { + "n": "职业培训", + "v": "职业培训" + }, { + "n": "家庭教育", + "v": "家庭教育" + }] + }, { + "key": "company", + "name": "全部出品", + "value": [{ + "n": "全部出品", + "v": "" + }, { + "n": "TED", + "v": "ted" + }, { + "n": "耶鲁大学", + "v": "耶鲁大学" + }, { + "n": "哈佛大学", + "v": "哈佛大学" + }, { + "n": "斯坦福大学", + "v": "斯坦福大学" + }, { + "n": "麻省理工学院", + "v": "麻省理工学院" + }] + }, { + "key": "pay_type", + "name": "全部节目", + "value": [{ + "n": "全部节目", + "v": "" + }, { + "n": "免费", + "v": "0" + }, { + "n": "付费", + "v": "1" + }, { + "n": "VIP", + "v": "2" + }] + }, { + "key": "sort", + "name": "综合排序", + "value": [{ + "n": "综合排序", + "v": "" + }, { + "n": "最多播放", + "v": "2" + }, { + "n": "最多收藏", + "v": "5" + }, { + "n": "最好评", + "v": "3" + }, { + "n": "最新上线", + "v": "1" + }] + }], + "搞笑": [{ + "key": "division", + "name": "全部专区", + "value": [{ + "n": "全部专区", + "v": "" + }, { + "n": "1080P", + "v": "3" + }, { + "n": "独播", + "v": "6" + }, { + "n": "免费", + "v": "5" + }] + }, { + "key": "sort", + "name": "综合排序", + "value": [{ + "n": "综合排序", + "v": "" + }, { + "n": "最多播放", + "v": "2" + }, { + "n": "最好评", + "v": "3" + }, { + "n": "最新上线", + "v": "1" + }] + }], + "生活": [{ + "key": "division", + "name": "全部专区", + "value": [{ + "n": "全部专区", + "v": "" + }, { + "n": "1080P", + "v": "3" + }, { + "n": "独播", + "v": "6" + }, { + "n": "VIP", + "v": "4" + }, { + "n": "免费", + "v": "5" + }] + }, { + "key": "sort", + "name": "综合排序", + "value": [{ + "n": "综合排序", + "v": "" + }, { + "n": "最多播放", + "v": "2" + }, { + "n": "最好评", + "v": "3" + }, { + "n": "最新上线", + "v": "1" + }] + }], + "体育": [{ + "key": "division", + "name": "全部专区", + "value": [{ + "n": "全部专区", + "v": "" + }, { + "n": "1080P", + "v": "3" + }, { + "n": "独播", + "v": "6" + }, { + "n": "VIP", + "v": "4" + }, { + "n": "免费", + "v": "5" + }] + }, { + "key": "tags", + "name": "全部类型", + "value": [{ + "n": "全部类型", + "v": "" + }, { + "n": "篮球", + "v": "篮球" + }, { + "n": "足球", + "v": "足球" + }, { + "n": "台球", + "v": "台球" + }, { + "n": "CBA", + "v": "CBA" + }, { + "n": "钓鱼", + "v": "钓鱼" + }] + }, { + "key": "sort", + "name": "综合排序", + "value": [{ + "n": "综合排序", + "v": "" + }, { + "n": "最多播放", + "v": "2" + }, { + "n": "最好评", + "v": "3" + }, { + "n": "最新上线", + "v": "1" + }] + }], + "音乐": [{ + "key": "division", + "name": "全部专区", + "value": [{ + "n": "全部专区", + "v": "" + }, { + "n": "1080P", + "v": "3" + }, { + "n": "独播", + "v": "6" + }, { + "n": "免费", + "v": "5" + }] + }, { + "key": "main_area", + "name": "全部地区", + "value": [{ + "n": "全部地区", + "v": "" + }, { + "n": "中国", + "v": "中国" + }, { + "n": "中国台湾", + "v": "中国台湾" + }, { + "n": "中国香港", + "v": "中国香港" + }, { + "n": "美国", + "v": "美国" + }, { + "n": "其他", + "v": "其他" + }] + }, { + "key": "music_show_type", + "name": "全部类型", + "value": [{ + "n": "全部类型", + "v": "" + }, { + "n": "演唱会", + "v": "演唱会" + }, { + "n": "live现场", + "v": "live现场" + }, { + "n": "颁奖典礼", + "v": "颁奖典礼" + }, { + "n": "舞蹈", + "v": "舞蹈" + }, { + "n": "影视原声", + "v": "影视原声" + }, { + "n": "音乐达人", + "v": "音乐达人" + }, { + "n": "音乐教学", + "v": "音乐教学" + }, { + "n": "音乐纪录片", + "v": "音乐纪录片" + }, { + "n": "音乐mv", + "v": "音乐mv" + }, { + "n": "音乐自制", + "v": "音乐自制" + }] + }, { + "key": "sort", + "name": "综合排序", + "value": [{ + "n": "综合排序", + "v": "" + }, { + "n": "最多播放", + "v": "2" + }, { + "n": "最好评", + "v": "3" + }, { + "n": "最新上线", + "v": "1" + }] + }], + "游戏": [{ + "key": "division", + "name": "全部专区", + "value": [{ + "n": "全部专区", + "v": "" + }, { + "n": "1080P", + "v": "3" + }, { + "n": "独播", + "v": "6" + }, { + "n": "VIP", + "v": "4" + }, { + "n": "免费", + "v": "5" + }] + }, { + "key": "game_brand", + "name": "全部节目", + "value": [{ + "n": "全部节目", + "v": "" + }, { + "n": "王者荣耀", + "v": "王者荣耀" + }, { + "n": "和平精英", + "v": "和平精英" + }, { + "n": "绝地求生", + "v": "绝地求生" + }, { + "n": "迷你世界", + "v": "迷你世界" + }, { + "n": "我的世界", + "v": "我的世界" + }, { + "n": "植物大战僵尸", + "v": "植物大战僵尸" + }, { + "n": "方舟生存进化", + "v": "方舟生存进化" + }, { + "n": "第五人格", + "v": "第五人格" + }, { + "n": "猫和老鼠", + "v": "猫和老鼠" + }, { + "n": "香肠派对", + "v": "香肠派对" + }, { + "n": "穿越火线", + "v": "穿越火线" + }, { + "n": "英雄联盟", + "v": "英雄联盟" + }] + }, { + "key": "tags", + "name": "全部类型", + "value": [{ + "n": "全部类型", + "v": "" + }, { + "n": "资讯", + "v": "资讯" + }, { + "n": "解说", + "v": "解说" + }, { + "n": "主播", + "v": "主播" + }, { + "n": "沙盒", + "v": "沙盒" + }, { + "n": "益智", + "v": "益智" + }, { + "n": "生存", + "v": "生存" + }, { + "n": "电子竞技", + "v": "电子竞技" + }, { + "n": "单机主机", + "v": "单机主机" + }, { + "n": "真人秀", + "v": "真人秀" + }, { + "n": "动画", + "v": "动画" + }, { + "n": "盘点", + "v": "盘点" + }, { + "n": "游戏文化", + "v": "游戏文化" + }, { + "n": "游戏节目", + "v": "游戏节目" + }, { + "n": "评测", + "v": "评测" + }, { + "n": "射击", + "v": "射击" + }, { + "n": "策略", + "v": "策略" + }, { + "n": "冒险", + "v": "冒险" + }, { + "n": "即时战略", + "v": "即时战略" + }, { + "n": "卡牌", + "v": "卡牌" + }, { + "n": "角色扮演", + "v": "角色>扮演" + }] + }, { + "key": "sort", + "name": "综合排序", + "value": [{ + "n": "综合排序", + "v": "" + }, { + "n": "最多播放", + "v": "2" + }, { + "n": "最好评", + "v": "3" + }, { + "n": "最新上线", + "v": "1" + }] + }] + }, + headers: { + 'User-Agent': 'PC_UA', + 'Cookie': 'cna=VvNvGX3e0ywCAavVEXlnA2bg; __ysuid=1626676228345Rl1; __ayft=1652434048647; __arycid=dm-1-00; __arcms=dm-1-00; __ayvstp=85; __arpvid=1667204023100cWWdgM-1667204023112; __ayscnt=10; __aypstp=60; isg=BBwcqxvvk3BxkWQGugbLpUSf7TrOlcC_U7GAj_YdfYfvQbzLHqYGT4Hgp6m5TvgX; tfstk=c3JOByYUH20ilVucLOhh0pCtE40lZfGc-PjLHLLfuX7SWNyAiQvkeMBsIw7PWDC..; l=eBQguS-PjdJFGJT-BOfwourza77OSIRA_uPzaNbMiOCPOb1B5UxfW6yHp4T6C3GVhsGJR3rp2umHBeYBqQd-nxvOF8qmSVDmn', + 'Referer': 'https://www.youku.com', + }, + timeout: 5000, + class_name: '电视剧&电影&综艺&动漫&少儿&纪录片&文化&亲子&教育&搞笑&生活&体育&音乐&游戏', + class_url: '电视剧&电影&综艺&动漫&少儿&纪录片&文化&亲子&教育&搞笑&生活&体育&音乐&游戏', + limit: 20, + play_parse: true, + lazy: $js.toString(() => { + try { + let api = "" + input.split("?")[0]; + console.log(api); + let response = fetch(api, { + method: 'get', + headers: { + 'User-Agent': 'okhttp/3.14.9', + 'Content-Type': 'application/x-www-form-urlencoded' + } + }); + let bata = JSON.parse(response); + if (bata.url.includes("http")) { + input = { + parse: 0, + url: bata.url, + jx: 0, + danmaku: "http://127.0.0.1:9978/proxy?do=danmu&site=js&url=" + input.split("?")[0] + }; + } else { + input = { + parse: 0, + url: input.split("?")[0], + jx: 1, + danmaku: "http://127.0.0.1:9978/proxy?do=danmu&site=js&url=" + input.split("?")[0] + }; + } + } catch { + input = { + parse: 0, + url: input.split("?")[0], + jx: 1, + danmaku: "http://127.0.0.1:9978/proxy?do=danmu&site=js&url=" + input.split("?")[0] + }; + } + }), + 一级: $js.toString(() => { + let d = []; + MY_FL.type = MY_CATE; + let fl = stringify(MY_FL); + fl = encodeUrl(fl); + input = input.split("{")[0] + fl; + if (MY_PAGE > 1) { + let old_session = getItem("yk_session_" + MY_CATE, "{}"); + if (MY_PAGE === 2) { + input = input.replace("optionRefresh=1", "session=" + encodeUrl(old_session)) + } else { + input = input.replace("optionRefresh=1", "session=" + encodeUrl(old_session)) + } + } + let html = fetch(input, fetch_params); + try { + html = JSON.parse(html); + let lists = html.data.filterData.listData; + let session = html.data.filterData.session; + session = stringify(session); + if (session !== getItem("yk_session_" + MY_CATE, "{}")) { + setItem("yk_session_" + MY_CATE, session) + } + lists.forEach(function(it) { + let vid; + if (it.videoLink.includes("id_")) { + vid = it.videoLink.split("id_")[1].split(".html")[0] + } else { + vid = "msearch:" + } + d.push({ + title: it.title, + img: it.img, + desc: it.summary, + url: "https://search.youku.com/api/search?appScene=show_episode&showIds=" + vid, + content: it.subTitle + }) + }) + } catch (e) { + log("一级列表解析发生错误:" + e.message) + } + setResult(d); + }), + 二级: $js.toString(() => { + var d = []; + VOD = {}; + let html = request(input); + let json = JSON.parse(html); + if (/keyword/.test(input)) { + input = "https://search.youku.com/api/search?appScene=show_episode&showIds=" + json.pageComponentList[0].commonData.showId; + json = JSON.parse(fetch(MY_URL, fetch_params)) + } + let video_lists = json.serisesList; + var name = json.sourceName; + if (/优酷/.test(name) && video_lists.length > 0) { + let ourl = "https://v.youku.com/v_show/id_" + video_lists[0].videoId + ".html"; + let _img = video_lists[0].thumbUrl; + let html = fetch(ourl, { + headers: { + Referer: "https://v.youku.com/", + "User-Agent": PC_UA + } + }); + let json = /__INITIAL_DATA__/.test(html) ? html.split("window.__INITIAL_DATA__ =")[1].split(";")[0] : "{}"; + if (json === "{}") { + log("触发了优酷人机验证"); + VOD.vod_remarks = ourl; + VOD.vod_pic = _img; + VOD.vod_name = video_lists[0].title.replace(/(\d+)/g, ""); + VOD.vod_content = "触发了优酷人机验证,本次未获取详情,但不影响播放(" + ourl + ")" + } else { + try { + json = JSON.parse(json); + let data = json.data.data; + let data_extra = data.data.extra; + let img = data_extra.showImgV; + let model = json.data.model; + let m = model.detail.data.nodes[0].nodes[0].nodes[0].data; + let _type = m.showGenre; + let _desc = m.updateInfo || m.subtitle; + let JJ = m.desc; + let _title = m.introTitle; + VOD.vod_pic = img; + VOD.vod_name = _title; + VOD.vod_type = _type; + VOD.vod_remarks = _desc; + VOD.vod_content = JJ + } catch (e) { + log("海报渲染发生错误:" + e.message); + print(json); + VOD.vod_remarks = name + } + } + } + if (!/优酷/.test(name)) { + VOD.vod_content = "非自家播放源,暂无视频简介及海报"; + VOD.vod_remarks = name + } + + function adhead(url) { + return urlencode(url) + } + + play_url = play_url.replace("&play_url=", "&type=json&play_url="); + video_lists.forEach(function(it) { + let url = "https://v.youku.com/v_show/id_" + it.videoId + ".html"; + if (it.thumbUrl) { + d.push({ + desc: it.showVideoStage ? it.showVideoStage.replace("期", "集") : it.displayName, + pic_url: it.thumbUrl, + title: it.title, + url: play_url + adhead(url) + }) + } else if (name !== "优酷") { + d.push({ + title: it.displayName ? it.displayName : it.title, + url: play_url + adhead(it.url) + }) + } + }); + VOD.vod_play_from = name; + VOD.vod_play_url = d.map(function(it) { + return it.title + "$" + it.url + }) + .join("#"); + }), + + 搜索: $js.toString(() => { + var d = []; + let html = request(input); + let json = JSON.parse(html); + json.pageComponentList.forEach(function(it) { + if (it.hasOwnProperty("commonData")) { + it = it.commonData; + d.push({ + title: it.titleDTO.displayName, + img: it.posterDTO.vThumbUrl, + desc: it.stripeBottom, + content: it.updateNotice + " " + it.feature, + url: "https://search.youku.com/api/search?appScene=show_episode&showIds=" + it.showId + "&appCaller=h5" + }) + } + }); + setResult(d) + }), +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/潇洒/json/DLXFS.json b/tvboxqq/tvboxqq/潇洒/json/DLXFS.json new file mode 100644 index 0000000..6617766 --- /dev/null +++ b/tvboxqq/tvboxqq/潇洒/json/DLXFS.json @@ -0,0 +1,18 @@ +{ + "请求头": "User-Agent$MOBILE_UA", + "编码": "UTF-8", + "主页url": "https://dora.xiaoxinbk.com/", + "数组": "class=\"card-img-bili\"&&", + "标题": "alt=\"&&\"", + "图片": "data-url=\"&&\"", + "链接": "href=\"&&\"", + "线路标题": "mt-0\">&&", + "播放数组": "class=\"card-body button-list\"&&", + "播放列表": "", + "播放链接": "href=\"&&\"", + "播放标题": ">&&var player_aaaa={"flag":"play","encrypt这种源码的链接解析 + //如果网页源码里没有这种请设置为0 + "Anal_MacPlayer":"0", + //是否开启手动嗅探,只对网页嗅探有效,0否,1是 + "ManualSniffer":"0", + //手动嗅探视频链接关键字,每个用#隔开 + "VideoFormat":".mp4#.m3u8#.flv", + //手动嗅探视频链接过滤关键词,每个用#隔开 + "VideoFilter":".html#=http" +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/潇洒/json/HJKK.json b/tvboxqq/tvboxqq/潇洒/json/HJKK.json new file mode 100644 index 0000000..3f4819b --- /dev/null +++ b/tvboxqq/tvboxqq/潇洒/json/HJKK.json @@ -0,0 +1,47 @@ +{ + "作者": "摄氏零度", + "站名": "XBPQ影视", + "请求头": "User-Agent$MOBILE_UA", + "编码": "UTF-8", + "嗅探词": ".mp4#.m3u8#.flv", + "过滤词": "", + "主页url": "https://www.hanjukankan.com/", + "首页": "120", + "起始页": "1", + "分类url": "https://www.hanjukankan.com/xvs{cateId}xat{area}xbt{by}xct{class}xdt{lang}xet{letter}xftxgtxht{catePg}atbtct{year}.html;;mrc", + "分类": "韩国剧集$1#韩国电影$2#韩国综艺$3", + "数组": "/xvd&&", + "标题": "title=\"&&\"", + "图片": "data-original=\"&&\"", + "副标题": "module-item-note\">&&", + "线路标题": ">&&", + "影片年代": ".html\">&&", + "影片地区": "*xbtxctxdtxetxftxgtxhtatbtct.html\">&&", + "影片类型": "*xdtxetxftxgtxhtatbtct.html\">&&", + "导演": "导演:&&", + "主演": "主演:&&", + "简介": "

    &&

    ", + "倒序": "0", + "播放列表": "", + "播放标题": ">&&", + "搜索标题": "title=\"&&\"", + "搜索图片": "data-original=\"&&\"", + "搜索副标题": "module-item-note\">&&&&||首页--col-sm&&", + "图片": "src=\"&&\"", + "标题": "FF0000'>&&<", + "链接": "href=\"&&\"", + "副标题": "4K", + "影片年代": "年  代&&
    ", + "影片地区": "产  地&&
    ", + "影片类型": "类  别&&
    ", + "状态": "片  长 &&
    ", + "导演": "导  演&&
    ", + "主演": "主  演&&
    ", + "简介": "简  介&&", + "线路数组": "下载地址列表&&

    ", + "线路标题": "磁力", + "播放二次截取": "本站专用电影&&&&", + "播放列表": "", + "播放链接": "href=\"&&\\&", + "播放标题": "dn=&&<", + "搜索url": "https://n3300.com/plus/search.php?kwtype=0&keyword={wd}" +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/潇洒/json/YHDM.json b/tvboxqq/tvboxqq/潇洒/json/YHDM.json new file mode 100644 index 0000000..317804e --- /dev/null +++ b/tvboxqq/tvboxqq/潇洒/json/YHDM.json @@ -0,0 +1,6 @@ +{ + "简介": "", + "数组": "", + "分类url": "http://www.yinghuadm.cn/show_{cateId}--{by}-{class}-----{catePg}---{year}.html", + "分类": "日本动漫$ribendongman#国产动漫$guochandongman#动漫电影$dongmandianying#欧美动漫$oumeidongman" +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/潇洒/json/YLYS.json b/tvboxqq/tvboxqq/潇洒/json/YLYS.json new file mode 100644 index 0000000..44f7706 --- /dev/null +++ b/tvboxqq/tvboxqq/潇洒/json/YLYS.json @@ -0,0 +1,7 @@ +{ + "请求头": "User-Agent$MOBILE_UA", + "编码": "UTF-8", + "分类": "电影$1#电视剧$2#综艺$3#动漫$4", + "类型": "动作片$6#喜剧片$7#爱情片$8#科幻片$9#奇幻片$10#恐怖片$11#剧情片$12#战争片$20#动画片$26#悬疑片$22#冒险片$23#犯罪片$24#惊悚片$45#歌舞片$46#灾难片$47#网络片$48||国产剧$13#港台剧$14#日剧$15#韩剧$33#欧美剧$16#泰剧$34#新马剧$35#其他剧$25||内地综艺$27#港台综艺$28#日本综艺$29#韩国综艺$36#欧美综艺$30#新马泰综艺$37#其他综艺$38||国产动漫$31#日本动漫$32#韩国动漫$39#港台动漫$40#新马泰动漫$41#欧美动漫$42#其他动漫$43", + "分类url": "https://www.ylys.tv/vodshow/{cateId}-{area}-{by}-{class}-{lang}-{letter}---{catePg}---{year}.html" +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/潇洒/json/YST.json b/tvboxqq/tvboxqq/潇洒/json/YST.json new file mode 100644 index 0000000..4519779 --- /dev/null +++ b/tvboxqq/tvboxqq/潇洒/json/YST.json @@ -0,0 +1,17 @@ +{ + "首页": "0", + // "播放链接前缀": "https://www.gyf.lol", + "数组": "data\":{\"tit&&s_log", + "图片": "https://p0.ssl.cdn.btime.com/+ssl.cdn.btime.com/&&\"", + "副标题": "le\":\"&&\"", + "标题": "text\":\"&&\"", + "链接": "item.btime.com/&&\"", + "链接前缀": "https://app.api.btime.com/video/play?callback=jQuery36009651202523243325_1747927554988&id=", + // "线路标题": "&& 0: + purl = '' + for i in range(len(plx)): + matches = re.findall(start_index1, plx[i]) + output = "" + for match in matches: + match3 = re.search(r'(?:^|[^0-9])(\d+)(?:[^0-9]|$)', match[1]) + if match3: + number = match3.group(1) + else: + number = 0 + if 'http' not in match[0]: + output += f"#{match[1]}${number}{xurl}{match[0]}" + else: + output += f"#{match[1]}${number}{match[0]}" + output = output[1:] + purl = purl + output + "$$$" + purl = purl[:-3] + return purl + else: + return "" + else: + start_index = text.find(start_str) + if start_index == -1: + return "" + end_index = text.find(end_str, start_index + len(start_str)) + if end_index == -1: + return "" + + if pl == 0: + middle_text = text[start_index + len(start_str):end_index] + return middle_text.replace("\\", "") + + if pl == 1: + middle_text = text[start_index + len(start_str):end_index] + matches = re.findall(start_index1, middle_text) + if matches: + jg = ' '.join(matches) + return jg + + if pl == 2: + middle_text = text[start_index + len(start_str):end_index] + matches = re.findall(start_index1, middle_text) + if matches: + new_list = [f'{item}' for item in matches] + jg = '$$$'.join(new_list) + return jg + + def homeContent(self, filter): + result = {"class": []} + + detail = requests.get(url=xurl + "/all/", headers=headerx) + detail.encoding = "utf-8" + res = detail.text + + doc = BeautifulSoup(res, "lxml") + + soups = doc.find_all('section', class_="container items") + + for soup in soups: + vods = soup.find_all('li') + + for vod in vods: + + id = vod.find('a')['href'] + + name = vod.text.strip() + + result["class"].append({"type_id": id, "type_name": "" + name}) + + return result + + def homeVideoContent(self): + pass + + def categoryContent(self, cid, pg, filter, ext): + result = {} + videos = [] + + if pg: + page = int(pg) + else: + page = 1 + + url = f'{cid}page/{str(page)}/' + detail = requests.get(url=url, headers=headerx) + detail.encoding = "utf-8" + res = detail.text + doc = BeautifulSoup(res, "lxml") + + soups = doc.find_all('section', class_="container items") + + for soup in soups: + vods = soup.find_all('li') + + for vod in vods: + + name = vod.find('img')['alt'] + + ids = vod.find('a', class_="image-line") + id = ids['href'] + + pic = vod.find('img')['src'] + + remark = self.extract_middle_text(str(vod), 'class="remarks light">', '<', 0) + + video = { + "vod_id": id, + "vod_name": name, + "vod_pic": pic, + "vod_remarks": '▶️' + remark + } + videos.append(video) + + result = {'list': videos} + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + return result + + def detailContent(self, ids): + did = ids[0] + result = {} + videos = [] + xianlu = '' + bofang = '' + + if 'http' not in did: + did = xurl + did + + res = requests.get(url=did, headers=headerx) + res.encoding = "utf-8" + res = res.text + doc = BeautifulSoup(res, "lxml") + + url = 'https://fs-im-kefu.7moor-fs1.com/ly/4d2c3f00-7d4c-11e5-af15-41bf63ae4ea0/1732707176882/jiduo.txt' + response = requests.get(url) + response.encoding = 'utf-8' + code = response.text + name = self.extract_middle_text(code, "s1='", "'", 0) + Jumps = self.extract_middle_text(code, "s2='", "'", 0) + + content = self.extract_middle_text(res,'class="info-detail">','<', 0) + + remarks = self.extract_middle_text(res, 'class="info-mark">', '<', 0) + + year = self.extract_middle_text(res, 'class="info-addtime">', '<', 0) + + if name not in content: + bofang = Jumps + xianlu = '1' + else: + soups = doc.find('div', class_="ep-list-items") + + soup = soups.find_all('a') + + for sou in soup: + + id = sou['href'] + + name = sou.text.strip() + + bofang = bofang + name + '$' + id + '#' + + bofang = bofang[:-1] + + xianlu = '专线' + + videos.append({ + "vod_id": did, + "vod_remarks": remarks, + "vod_year": year, + "vod_content": content, + "vod_play_from": xianlu, + "vod_play_url": bofang + }) + + result['list'] = videos + return result + + def playerContent(self, flag, id, vipFlags): + + res = requests.get(url=id, headers=headerx) + res.encoding = "utf-8" + res = res.text + + url = self.extract_middle_text(res, '"wwm3u8":"', '"', 0).replace('\\', '') + + result = {} + result["parse"] = 0 + result["playUrl"] = '' + result["url"] = url + result["header"] = headerx + return result + + def searchContentPage(self, key, quick, pg): + result = {} + videos = [] + + if pg: + page = int(pg) + else: + page = 1 + + url = f'{xurl}/search/{key}/page/{str(page)}/' + detail = requests.get(url=url, headers=headerx) + detail.encoding = "utf-8" + res = detail.text + doc = BeautifulSoup(res, "lxml") + + soups = doc.find_all('section', class_="container items") + + for soup in soups: + vods = soup.find_all('li') + + for vod in vods: + + name = vod.find('img')['alt'] + + ids = vod.find('a', class_="image-line") + id = ids['href'] + + pic = vod.find('img')['src'] + + remark = self.extract_middle_text(str(vod), 'class="remarks light">', '<', 0) + + video = { + "vod_id": id, + "vod_name": name, + "vod_pic": pic, + "vod_remarks": '▶️' + remark + } + videos.append(video) + + result['list'] = videos + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + return result + + def searchContent(self, key, quick, pg="1"): + return self.searchContentPage(key, quick, '1') + + def localProxy(self, params): + if params['type'] == "m3u8": + return self.proxyM3u8(params) + elif params['type'] == "media": + return self.proxyMedia(params) + elif params['type'] == "ts": + return self.proxyTs(params) + return None + + + + + + + diff --git a/tvboxqq/tvboxqq/肥猫/api/XYDJ.py b/tvboxqq/tvboxqq/肥猫/api/XYDJ.py new file mode 100644 index 0000000..1accc9a --- /dev/null +++ b/tvboxqq/tvboxqq/肥猫/api/XYDJ.py @@ -0,0 +1,343 @@ +# coding = utf-8 +# !/usr/bin/python + +""" +""" + +from Crypto.Util.Padding import unpad +from Crypto.Util.Padding import pad +from urllib.parse import unquote +from Crypto.Cipher import ARC4 +from urllib.parse import quote +from base.spider import Spider +from Crypto.Cipher import AES +from bs4 import BeautifulSoup +from base64 import b64decode +import urllib.request +import urllib.parse +import binascii +import requests +import base64 +import json +import time +import sys +import re +import os + +sys.path.append('..') + +xurl = "https://app.whjzjx.cn" + +headers = { + 'User-Agent': 'Linux; Android 12; Pixel 3 XL) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.101 Mobile Safari/537.36' + } + +headerf = { + "platform": "1", + "user_agent": "Mozilla/5.0 (Linux; Android 9; V1938T Build/PQ3A.190705.08211809; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/91.0.4472.114 Safari/537.36", + "content-type": "application/json; charset=utf-8" + } + +times = int(time.time() * 1000) + +data = { + "device": "2a50580e69d38388c94c93605241fb306", + "package_name": "com.jz.xydj", + "android_id": "ec1280db12795506", + "install_first_open": True, + "first_install_time": 1752505243345, + "last_update_time": 1752505243345, + "report_link_url": "", + "authorization": "", + "timestamp": times + } + +plain_text = json.dumps(data, separators=(',', ':'), ensure_ascii=False) + +key = "B@ecf920Od8A4df7" +key_bytes = key.encode('utf-8') +plain_bytes = plain_text.encode('utf-8') +cipher = AES.new(key_bytes, AES.MODE_ECB) +padded_data = pad(plain_bytes, AES.block_size) +ciphertext = cipher.encrypt(padded_data) +encrypted = base64.b64encode(ciphertext).decode('utf-8') + +response = requests.post("https://u.shytkjgs.com/user/v3/account/login", headers=headerf, data=encrypted) +response_data = response.json() +Authorization = response_data['data']['token'] + +headerx = { + 'authorization': Authorization, + 'platform': '1', + 'version_name': '3.8.3.1' + } + +class Spider(Spider): + global xurl + global headerx + global headers + + def getName(self): + return "首页" + + def init(self, extend): + pass + + def isVideoFormat(self, url): + pass + + def manualVideoCheck(self): + pass + + def extract_middle_text(self, text, start_str, end_str, pl, start_index1: str = '', end_index2: str = ''): + if pl == 3: + plx = [] + while True: + start_index = text.find(start_str) + if start_index == -1: + break + end_index = text.find(end_str, start_index + len(start_str)) + if end_index == -1: + break + middle_text = text[start_index + len(start_str):end_index] + plx.append(middle_text) + text = text.replace(start_str + middle_text + end_str, '') + if len(plx) > 0: + purl = '' + for i in range(len(plx)): + matches = re.findall(start_index1, plx[i]) + output = "" + for match in matches: + match3 = re.search(r'(?:^|[^0-9])(\d+)(?:[^0-9]|$)', match[1]) + if match3: + number = match3.group(1) + else: + number = 0 + if 'http' not in match[0]: + output += f"#{match[1]}${number}{xurl}{match[0]}" + else: + output += f"#{match[1]}${number}{match[0]}" + output = output[1:] + purl = purl + output + "$$$" + purl = purl[:-3] + return purl + else: + return "" + else: + start_index = text.find(start_str) + if start_index == -1: + return "" + end_index = text.find(end_str, start_index + len(start_str)) + if end_index == -1: + return "" + + if pl == 0: + middle_text = text[start_index + len(start_str):end_index] + return middle_text.replace("\\", "") + + if pl == 1: + middle_text = text[start_index + len(start_str):end_index] + matches = re.findall(start_index1, middle_text) + if matches: + jg = ' '.join(matches) + return jg + + if pl == 2: + middle_text = text[start_index + len(start_str):end_index] + matches = re.findall(start_index1, middle_text) + if matches: + new_list = [f'{item}' for item in matches] + jg = '$$$'.join(new_list) + return jg + + def homeContent(self, filter): + result = {} + result = {"class": [{"type_id": "1", "type_name": "剧场"}, + {"type_id": "3", "type_name": "新剧"}, + {"type_id": "2", "type_name": "热播"}, + {"type_id": "7", "type_name": "星选"}, + {"type_id": "5", "type_name": "阳光"}], + } + + return result + + def homeVideoContent(self): + videos = [] + + url= f'{xurl}/v1/theater/home_page?theater_class_id=1&class2_id=4&page_num=1&page_size=24' + detail = requests.get(url=url, headers=headerx) + detail.encoding = "utf-8" + if detail.status_code == 200: + data = detail.json() + + for vod in data['data']['list']: + + name = vod['theater']['title'] + + id = vod['theater']['id'] + + pic = vod['theater']['cover_url'] + + remark = vod['theater']['play_amount_str'] + + video = { + "vod_id": id, + "vod_name": name, + "vod_pic": pic, + "vod_remarks": remark + } + videos.append(video) + + result = {'list': videos} + return result + + def categoryContent(self, cid, pg, filter, ext): + result = {} + videos = [] + + url = f'{xurl}/v1/theater/home_page?theater_class_id={cid}&page_num={pg}&page_size=24' + detail = requests.get(url=url,headers=headerx) + detail.encoding = "utf-8" + if detail.status_code == 200: + data = detail.json() + + for vod in data['data']['list']: + + name = vod['theater']['title'] + + id = vod['theater']['id'] + + pic = vod['theater']['cover_url'] + + remark = vod['theater']['theme'] + + video = { + "vod_id": id, + "vod_name": name, + "vod_pic": pic, + "vod_remarks": remark + } + videos.append(video) + + result = {'list': videos} + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + return result + + def detailContent(self, ids): + did = ids[0] + result = {} + videos = [] + xianlu = '' + bofang = '' + + url = f'{xurl}/v2/theater_parent/detail?theater_parent_id={did}' + detail = requests.get(url=url, headers=headerx) + detail.encoding = "utf-8" + if detail.status_code == 200: + data = detail.json() + + url = 'https://fs-im-kefu.7moor-fs1.com/ly/4d2c3f00-7d4c-11e5-af15-41bf63ae4ea0/1732707176882/jiduo.txt' + response = requests.get(url) + response.encoding = 'utf-8' + code = response.text + name = self.extract_middle_text(code, "s1='", "'", 0) + Jumps = self.extract_middle_text(code, "s2='", "'", 0) + + content = '剧情:' + data['data']['introduction'] + + area = data['data']['desc_tags'][0] + + remarks = data['data']['filing'] + + # 修复剧集只有一集的问题 - 检查theaters数据是否存在且不为空 + if 'theaters' in data['data'] and data['data']['theaters']: + for sou in data['data']['theaters']: + id = sou['son_video_url'] + name = sou['num'] + bofang = bofang + str(name) + '$' + id + '#' + + bofang = bofang[:-1] if bofang.endswith('#') else bofang + xianlu = '星芽' + else: + # 如果没有theaters数据,检查是否有单个视频URL + if 'video_url' in data['data'] and data['data']['video_url']: + bofang = '1$' + data['data']['video_url'] + xianlu = '星芽' + else: + bofang = Jumps + xianlu = '1' + + videos.append({ + "vod_id": did, + "vod_content": content, + "vod_remarks": remarks, + "vod_area": area, + "vod_play_from": xianlu, + "vod_play_url": bofang + }) + + result['list'] = videos + return result + + def playerContent(self, flag, id, vipFlags): + + result = {} + result["parse"] = 0 + result["playUrl"] = '' + result["url"] = id + result["header"] = headers + return result + + def searchContentPage(self, key, quick, page): + result = {} + videos = [] + + payload = { + "text": key + } + + url = f"{xurl}/v3/search" + detail = requests.post(url=url, headers=headerx, json=payload) + if detail.status_code == 200: + detail.encoding = "utf-8" + data = detail.json() + + for vod in data['data']['theater']['search_data']: + + name = vod['title'] + + id = vod['id'] + + pic = vod['cover_url'] + + remark = vod['score_str'] + + video = { + "vod_id": id, + "vod_name": name, + "vod_pic": pic, + "vod_remarks": remark + } + videos.append(video) + + result['list'] = videos + result['page'] = page + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + return result + + def searchContent(self, key, quick, pg="1"): + return self.searchContentPage(key, quick, '1') + + def localProxy(self, params): + if params['type'] == "m3u8": + return self.proxyM3u8(params) + elif params['type'] == "media": + return self.proxyMedia(params) + elif params['type'] == "ts": + return self.proxyTs(params) + return None \ No newline at end of file diff --git a/tvboxqq/tvboxqq/肥猫/api/drpy2.min.js b/tvboxqq/tvboxqq/肥猫/api/drpy2.min.js new file mode 100644 index 0000000..7e28988 --- /dev/null +++ b/tvboxqq/tvboxqq/肥猫/api/drpy2.min.js @@ -0,0 +1,73 @@ +import cheerio from"assets://js/lib/cheerio.min.js";import"assets://js/lib/crypto-js.js";import"./node-rsa.js";import"./pako.min.js";import 模板 from"./模板.js";import{gbkTool}from"./gbk.js";import"./json5.js";import"./jinja.js";const _jinja2=cheerio.jinja2;cheerio.jinja2=function(template,obj){try{return jinja.render(template,obj)}catch(e){console.log("新的jinja2库渲染失败,换回原始cheerio:"+e.message);return _jinja2(template,obj)}};function init_test(){console.log("init_test_start");console.log("当前版本号:"+VERSION);console.log("本地代理地址:"+getProxyUrl());console.log(RKEY);console.log(JSON.stringify(rule));console.log("init_test_end")}function ocr_demo_test(){let img_base64=`iVBORw0KGgoAAAANSUhEUgAAAIAAAAAoBAMAAADEX+97AAAAG1BMVEXz+/4thQTa7N6QwIFFkyNeokKozqDB3b93sWHFR+MEAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABN0lEQVRIie2TQU+DQBCFt9vScvQpxR4xrcSjJCZ67JDGXsX+AdR4B3vpsSYm/m2HXaRLmuySepR3Gdidb/btDAjRq5dT96eCMlfBuzi1QLZUoZy2yz5sOvI+9iomaPEZ6nWnEtxqIyiM1RcAy44GNDhBXUjot/VVNweV1ah68FqWRyjKIOqAcyYF6rGcmpYnHzGt3fycNoMw0d3/THFu7hFSJ/8OXO6iTM8/KSg09obAzIHLO250LgQ0txOZSfgrV4Exdw98uGycJ0ErAeExZGhOmFHV9zHO6qVSj0MpLq7xZON56o++MjlsEgfVhbQWWME+xQX7J4V6zfi9A1Ly9rP1BvEXp+BbVJ/M77n+wfOIDVp51pZ4iBxvmj9AGrtvry6emwfKnVkW+ZRKd5ZNMvob36vXP9YPDmQki8QiCFAAAAAASUVORK5CYII=`;OcrApi.api=OCR_API;let code=OcrApi.classification(img_base64);log("测试验证码图片的ocr识别结果为:"+code)}function rsa_demo_test(){let t1=(new Date).getTime();let pkcs1_public=` +-----BEGIN RSA PUBLIC KEY----- +MEgCQQCrI0pQ/ERRpJ3Ou190XJedFq846nDYP52rOtXyDxlFK5D3p6JJu2RwsKwy +lsQ9xY0xYPpRZUZKMEeR7e9gmRNLAgMBAAE= +-----END RSA PUBLIC KEY----- +`.trim();let pkcs1_public_pem=` +MEgCQQCrI0pQ/ERRpJ3Ou190XJedFq846nDYP52rOtXyDxlFK5D3p6JJu2RwsKwy +lsQ9xY0xYPpRZUZKMEeR7e9gmRNLAgMBAAE= +`.trim();let pkcs8_public=` +-----BEGIN PUBLIC KEY----- +MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKsjSlD8RFGknc67X3Rcl50WrzjqcNg/ +nas61fIPGUUrkPenokm7ZHCwrDKWxD3FjTFg+lFlRkowR5Ht72CZE0sCAwEAAQ== +-----END PUBLIC KEY-----`.trim();let pkcs8_public_pem=` +MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKsjSlD8RFGknc67X3Rcl50WrzjqcNg/ +nas61fIPGUUrkPenokm7ZHCwrDKWxD3FjTFg+lFlRkowR5Ht72CZE0sCAwEAAQ== +`.trim();let pkcs1_private=` +-----BEGIN RSA PRIVATE KEY----- +MIIBOAIBAAJBAKsjSlD8RFGknc67X3Rcl50WrzjqcNg/nas61fIPGUUrkPenokm7 +ZHCwrDKWxD3FjTFg+lFlRkowR5Ht72CZE0sCAwEAAQI/b6OV1z65UokQaMvSeRXt +0Yv6wiYtduQI9qpq5nzy/ytaqsbBfClNTi/HifKPKxlRouWFkc518EQI8LBxoarJ +AiEA4DaONMplV8PQNa3TKn2F+SDEvLOCjdL0kHKdN90Ti28CIQDDZnTBaHgZwZbA +hS7Bbf5yvwjWMhO6Y7l04/Qm7R+35QIgPuQuqXIoUSD080mp1N5WyRW++atksIF+ +5lGv9e6GP/MCICnj8y/rl6Pd7tXDN6zcSeqLrfdNsREKhB3dKOCXgW9JAiAFYtFS +EJNBXVRTK42SNsZ2hJ/9xLwOwnH2epT8Q43s3Q== +-----END RSA PRIVATE KEY----- +`.trim();let pkcs8_private=` +-----BEGIN PRIVATE KEY----- +MIIBUgIBADANBgkqhkiG9w0BAQEFAASCATwwggE4AgEAAkEAqyNKUPxEUaSdzrtf +dFyXnRavOOpw2D+dqzrV8g8ZRSuQ96eiSbtkcLCsMpbEPcWNMWD6UWVGSjBHke3v +YJkTSwIDAQABAj9vo5XXPrlSiRBoy9J5Fe3Ri/rCJi125Aj2qmrmfPL/K1qqxsF8 +KU1OL8eJ8o8rGVGi5YWRznXwRAjwsHGhqskCIQDgNo40ymVXw9A1rdMqfYX5IMS8 +s4KN0vSQcp033ROLbwIhAMNmdMFoeBnBlsCFLsFt/nK/CNYyE7pjuXTj9CbtH7fl +AiA+5C6pcihRIPTzSanU3lbJFb75q2SwgX7mUa/17oY/8wIgKePzL+uXo93u1cM3 +rNxJ6out902xEQqEHd0o4JeBb0kCIAVi0VIQk0FdVFMrjZI2xnaEn/3EvA7CcfZ6 +lPxDjezd +-----END PRIVATE KEY----- +`.trim();let data=` +NodeRsa +这是node-rsa 现在修改集成在drpy里使用`.trim();let encryptedWithPublic=NODERSA.encryptRSAWithPublicKey(data,pkcs1_public,{outputEncoding:"base64",options:{environment:"browser",encryptionScheme:"pkcs1_oaep"}});console.log("公钥加密");console.log(encryptedWithPublic);let decryptedWithPrivate=NODERSA.decryptRSAWithPrivateKey(encryptedWithPublic,pkcs1_private,{options:{environment:"browser",encryptionScheme:"pkcs1_oaep"}});console.log("私钥解密");console.log(decryptedWithPrivate);let pkcs1_sha256_sign=NODERSA.sign("1",pkcs1_private,{outputEncoding:"base64",options:{environment:"browser",encryptionScheme:"pkcs1",signingScheme:"pkcs1-sha256"}});console.log("pkcs1_sha256_sign");console.log(pkcs1_sha256_sign);let pkcs1_sha256_sign_verify=NODERSA.verify("1","Oulx2QrgeipKYBtqEDqFb2s/+ndk2cGQxO4CkhU7iBM1vyNmmvqubpsmeoUuN3waGrYZLknSEdwBkfv0tUMpFQ==",pkcs1_private,{options:{environment:"browser",encryptionScheme:"pkcs1",signingScheme:"pkcs1-sha256"}});console.log("pkcs1_sha256_sign_verify");console.log(pkcs1_sha256_sign_verify);let pkcs1_oaep_sha256=NODERSA.encryptRSAWithPublicKey(data,`-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEA5KOq1gRNyllLNWKQy8sGpZE3Q1ULLSmzZw+eaAhj9lvqn7IsT1du +SYn08FfoOA2qMwtz+1O2l1mgzNoSVCyVpVabnTG+C9XKeZXAnJHd8aYA7l7Sxhdm +kte+iymYZ0ZBPzijo8938iugtVvqi9UgDmnY3u/NlQDqiL5BGqSxSTd/Sgmy3zD8 +PYzEa3wD9vehQ5fZZ45vKIq8GNVh2Z8+IGO85FF1OsN7+b2yGJa/FmDDNn0+HP+m +PfI+kYBqEVpo0Ztbc3UdxgFwGC8O1n8AQyriwHnSOtIiuBH62J/7qyC/3LEAApRb +Dd9YszqzmODjQUddZKHmvc638VW+azc0EwIDAQAB +-----END RSA PUBLIC KEY----- +`,{outputEncoding:"base64",options:{environment:"browser",encryptionScheme:{scheme:"pkcs1_oaep",hash:"sha256"}}});console.log("pkcs1_oaep_sha256");console.log(pkcs1_oaep_sha256);decryptedWithPrivate=NODERSA.decryptRSAWithPrivateKey("kSZesAAyYh2hdsQnYMdGqb6gKAzTauBKouvBzWcc4+F8RvGd0nwO6mVkUMVilPgUuNxjEauHayHiY8gI3Py45UI3+km0rSGyHrS6dHiHgCkMejXHieglYzAB0IxX3Jkm4z/66bdB/D+GFy0oct5fGCMI1UHPjEAYOsazJDa8lBFNbjiWFeb/qiZtIx3vGM7KYPAZzyRf/zPbbQ8zy9xOmRuOl5nnIxgo0Okp3KO/RIPO4GZOSBA8f2lx1UtNwwrXAMpcNavtoqHVcjJ/9lcotXYQFrn5b299pSIRf2gVm8ZJ31SK6Z8cc14nKtvgnmsgClDzIXJ1o1RcDK+knVAySg==",`-----BEGIN RSA PRIVATE KEY----- +MIIEpAIBAAKCAQEA5KOq1gRNyllLNWKQy8sGpZE3Q1ULLSmzZw+eaAhj9lvqn7Is +T1duSYn08FfoOA2qMwtz+1O2l1mgzNoSVCyVpVabnTG+C9XKeZXAnJHd8aYA7l7S +xhdmkte+iymYZ0ZBPzijo8938iugtVvqi9UgDmnY3u/NlQDqiL5BGqSxSTd/Sgmy +3zD8PYzEa3wD9vehQ5fZZ45vKIq8GNVh2Z8+IGO85FF1OsN7+b2yGJa/FmDDNn0+ +HP+mPfI+kYBqEVpo0Ztbc3UdxgFwGC8O1n8AQyriwHnSOtIiuBH62J/7qyC/3LEA +ApRbDd9YszqzmODjQUddZKHmvc638VW+azc0EwIDAQABAoIBADZ/QGgUzInvsLp/ +zO2WbfYm39o/uhNAvk9RbLt1TIZbMFhyOpeKynHi3Swwd9xsfWX/U9zS/lGi/m31 +iKrhmaW4OA1G3vqpMcK7TBbFufYwUEaA+ZJX344euH8pIfdzyneMQ4z3Far2dS7l +QsmjuilVV2kEFadveXewiYoVOWCu00w6bN8wy2SIHlQn+kIL6HQhWz12iKKflIKu +eGRdzLHsKmBt6WbY1Wuhx7HU0fAKdlBDPxCHNlI+kybUYE9o5C2vJiaVM5wqJBgZ +8Dz8kt1QbLJ910JoLXkLVQ8uC8NJKQwFtqQjTGPnEq0+wbgz6Ij599rKZkwW/xq9 +l6KoUiECgYEA6Ah42tVdkNW047f03xVYXFH96RgorHRS36mR8Y+ONUq1fwKidovC +WjwVujt4OPf3l1W6iyn/F6cu/bsmvPrSc3HTN0B1V31QK4OjgetxQ2PSbTldH02J +NPzkt+v+cPxXpx/P5mgt7Weefw5txU547KubGrHUV5rBKFtIx9pj16MCgYEA/EF0 +o19+D24DZAPwlDS5VbEd7FStnwY4oQ5PqbuNOSbSJLMWU0AqzXcRokp8UTyCZ0X3 +ATkS1REq97kShCuR+npTR6a6DlY7sdpPI1SMLNajgB2tkx0EOzX+PfNIbHUd4jpJ +I0ZMAHv/OOtkzQHDaeTWBTrzsWm6/nTiykfduNECgYEA46AMD4HpPECqKAs66e5i +tI6q7JSKskObWVdcmQEfnSAhVOwcvPb2Ptda6UuV8S0xcwDi88rLOUUFUFzc79+P +vTkY38cYVi/VChsluDpk7ptqv0PbGu5Rf+3n4pZdEjI7OvR2W64wAAn67uIUxc7p +yiO/ET0K9rYWb6S9jXGtKMkCgYEA2kPAqoO7zZoBMQ7/oR0lp/HC1HRIbiqx4RlC +8Lgpb+QZPEwA6zPAVVvLVENi4d+bbcRp/xLlKpraNNJcJSSWAMbLPFoU7sbKjA87 +HnTPfRSTEA2d3Ibk3F7Rh8TzS3Ti0JZiJjVzGZAwu41iAMifzwaD8K6boUy80eNN +QH2CaaECgYBUsLYvC/MiYg3w+LGOONuQongoVUXjGqnw2bjVa9RK7lwRdXPUqJ51 +MpVO98IkoLvGSI/0sGNP3GKNhC+eMGjJAVwFyEuOn+JsmMv9Y9uStIVi5tIHIhKw +m7mp8il0kaftHdSxTbspG3tZ2fjIiFIZkLEOmRpd7ogWumgOajzUdA== +-----END RSA PRIVATE KEY-----`,{options:{environment:"browser",encryptionScheme:"pkcs1_oaep"}});console.log("decryptedWithPrivate");console.log(decryptedWithPrivate);(()=>{let key=new NODERSA.NodeRSA({b:1024});key.setOptions({encryptionScheme:"pkcs1"});let text=`你好drpy node-ras`;let encrypted=key.encrypt(text,"base64");console.log("encrypted: ",encrypted);const decrypted=key.decrypt(encrypted,"utf8");console.log("decrypted: ",decrypted)})();let t2=(new Date).getTime();console.log("rsa_demo_test 测试耗时:"+(t2-t1)+"毫秒")}function pre(){if(typeof rule.预处理==="string"&&rule.预处理&&rule.预处理.trim()){let code=rule.预处理.trim();console.log("执行预处理代码:"+code);if(code.startsWith("js:")){code=code.replace("js:","")}try{eval(code)}catch(e){console.log(`预处理执行失败:${e.message}`)}}}let rule={};let vercode=typeof pdfl==="function"?"drpy2.1":"drpy2";const VERSION=vercode+" 3.9.51beta2 20240711";const MOBILE_UA="Mozilla/5.0 (Linux; Android 11; Pixel 5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.91 Mobile Safari/537.36";const PC_UA="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36";const UA="Mozilla/5.0";const UC_UA="Mozilla/5.0 (Linux; U; Android 9; zh-CN; MI 9 Build/PKQ1.181121.001) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0.2987.108 UCBrowser/12.5.5.1035 Mobile Safari/537.36";const IOS_UA="Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1";const RULE_CK="cookie";const CATE_EXCLUDE="首页|留言|APP|下载|资讯|新闻|动态";const TAB_EXCLUDE="猜你|喜欢|下载|剧情|榜|评论";const OCR_RETRY=3;const OCR_API="https://api.nn.ci/ocr/b64/text";if(typeof MY_URL==="undefined"){var MY_URL}var HOST;var RKEY;var fetch;var print;var log;var rule_fetch_params;var fetch_params;var oheaders;var _pdfh;var _pdfa;var _pd;const DOM_CHECK_ATTR=/(url|src|href|-original|-src|-play|-url|style)$/;const SPECIAL_URL=/^(ftp|magnet|thunder|ws):/;const NOADD_INDEX=/:eq|:lt|:gt|:first|:last|^body$|^#/;const URLJOIN_ATTR=/(url|src|href|-original|-src|-play|-url|style)$|^(data-|url-|src-)/;const SELECT_REGEX=/:eq|:lt|:gt|#/g;const SELECT_REGEX_A=/:eq|:lt|:gt/g;const $js={toString(func){let strfun=func.toString();return strfun.replace(/^\(\)(\s+)?=>(\s+)?\{/,"js:").replace(/\}$/,"")}};function window_b64(){let b64map="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";let base64DecodeChars=new Array(-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,-1,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,-1,-1,-1,-1,-1);function btoa(str){var out,i,len;var c1,c2,c3;len=str.length;i=0;out="";while(i>2);out+=b64map.charAt((c1&3)<<4);out+="==";break}c2=str.charCodeAt(i++);if(i==len){out+=b64map.charAt(c1>>2);out+=b64map.charAt((c1&3)<<4|(c2&240)>>4);out+=b64map.charAt((c2&15)<<2);out+="=";break}c3=str.charCodeAt(i++);out+=b64map.charAt(c1>>2);out+=b64map.charAt((c1&3)<<4|(c2&240)>>4);out+=b64map.charAt((c2&15)<<2|(c3&192)>>6);out+=b64map.charAt(c3&63)}return out}function atob(str){var c1,c2,c3,c4;var i,len,out;len=str.length;i=0;out="";while(i>4);do{c3=str.charCodeAt(i++)&255;if(c3==61)return out;c3=base64DecodeChars[c3]}while(i>2);do{c4=str.charCodeAt(i++)&255;if(c4==61)return out;c4=base64DecodeChars[c4]}while(ithis.length){return false}else{return this.indexOf(search,start)!==-1}}}if(!Array.prototype.includes){Object.defineProperty(Array.prototype,"includes",{value:function(searchElement,fromIndex){if(this==null){throw new TypeError('"this" is null or not defined')}var o=Object(this);var len=o.length>>>0;if(len===0){return false}var n=fromIndex|0;var k=Math.max(n>=0?n:len-Math.abs(n),0);while(k>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:out+=String.fromCharCode(c);break;case 12:case 13:char2=array[i++];out+=String.fromCharCode((c&31)<<6|char2&63);break;case 14:char2=array[i++];char3=array[i++];out+=String.fromCharCode((c&15)<<12|(char2&63)<<6|(char3&63)<<0);break}}return out}function gzip(str){let arr=pako.gzip(str,{});return uint8ArrayToBase64(arr)}function ungzip(b64Data){let strData=atob(b64Data);const charData=strData.split("").map(function(x){return x.charCodeAt(0)});const binData=new Uint8Array(charData);const data=pako.inflate(binData);return Utf8ArrayToStr(data)}function encodeStr(input,encoding){encoding=encoding||"gbk";if(encoding.startsWith("gb")){const strTool=gbkTool();input=strTool.encode(input)}return input}function decodeStr(input,encoding){encoding=encoding||"gbk";if(encoding.startsWith("gb")){const strTool=gbkTool();input=strTool.decode(input)}return input}function getCryptoJS(){return'console.log("CryptoJS已装载");'}const RSA={decode:function(data,key,option){option=option||{};if(typeof JSEncrypt==="function"){let chunkSize=option.chunkSize||117;let privateKey=this.getPrivateKey(key);const decryptor=new JSEncrypt;decryptor.setPrivateKey(privateKey);let uncrypted="";uncrypted=decryptor.decryptUnicodeLong(data);return uncrypted}else{return false}},encode:function(data,key,option){option=option||{};if(typeof JSEncrypt==="function"){let chunkSize=option.chunkSize||117;let publicKey=this.getPublicKey(key);const encryptor=new JSEncrypt;encryptor.setPublicKey(publicKey);let encrypted="";encrypted=encryptor.encryptUnicodeLong(data);return encrypted}else{return false}},fixKey(key,prefix,endfix){if(!key.includes(prefix)){key=prefix+key}if(!key.includes(endfix)){key+=endfix}return key},getPrivateKey(key){let prefix="-----BEGIN RSA PRIVATE KEY-----";let endfix="-----END RSA PRIVATE KEY-----";return this.fixKey(key,prefix,endfix)},getPublicKey(key){let prefix="-----BEGIN PUBLIC KEY-----";let endfix="-----END PUBLIC KEY-----";return this.fixKey(key,prefix,endfix)}};function getProxyUrl(){if(typeof getProxy==="function"){return getProxy(true)}else{return"http://127.0.0.1:9978/proxy?do=js"}}function fixAdM3u8(m3u8_text,m3u8_url,ad_remove){if(!m3u8_text&&!m3u8_url||!m3u8_text&&m3u8_url&&!m3u8_url.startsWith("http")){return""}if(!m3u8_text){log("m3u8_url:"+m3u8_url);m3u8_text=request(m3u8_url)}log("len(m3u8_text):"+m3u8_text.length);if(!ad_remove){return m3u8_text}if(ad_remove.startsWith("reg:")){ad_remove=ad_remove.slice(4)}else if(ad_remove.startsWith("js:")){ad_remove=ad_remove.slice(3)}let m3u8_start=m3u8_text.slice(0,m3u8_text.indexOf("#EXTINF")).trim();let m3u8_body=m3u8_text.slice(m3u8_text.indexOf("#EXTINF"),m3u8_text.indexOf("#EXT-X-ENDLIST")).trim();let m3u8_end=m3u8_text.slice(m3u8_text.indexOf("#EXT-X-ENDLIST")).trim();let murls=[];let m3_body_list=m3u8_body.split("\n");let m3_len=m3_body_list.length;let i=0;while(i{new_m3u8_body.push(it)})}}new_m3u8_body=new_m3u8_body.join("\n").trim();m3u8_text=[m3u8_start,new_m3u8_body,m3u8_end].join("\n").trim();return m3u8_text}function fixAdM3u8Ai(m3u8_url,headers){let ts=(new Date).getTime();let option=headers?{headers:headers}:{};function b(s1,s2){let i=0;while(iit.startsWith("#")?it:urljoin(m3u8_url,it)).join("\n");m3u8=m3u8.replace(/\n\n/gi,"\n");let last_url=m3u8.split("\n").slice(-1)[0];if(last_url.length<5){last_url=m3u8.split("\n").slice(-2)[0]}if(last_url.includes(".m3u8")&&last_url!==m3u8_url){m3u8_url=urljoin2(m3u8_url,last_url);log("嵌套的m3u8_url:"+m3u8_url);m3u8=request(m3u8_url,option)}let s=m3u8.trim().split("\n").filter(it=>it.trim()).join("\n");let ss=s.split("\n");let firststr="";let maxl=0;let kk=0;let kkk=2;let secondstr="";for(let i=0;i1){if(maxl>b(firststr,s)){if(secondstr.length<5)secondstr=s;kkk=kkk+2}else{maxl=b(firststr,s);kkk++}}kk++;if(kk>=20)break}}if(kkk>30)firststr=secondstr;let firststrlen=firststr.length;let ml=Math.round(ss.length/2).toString().length;let maxc=0;let laststr=ss.toReversed().find(x=>{if(!x.startsWith("#")){let k=b(reverseString(firststr),reverseString(x));maxl=b(firststr,x);maxc++;if(firststrlen-maxl<=ml+k||maxc>10){return true}}return false});log("最后一条切片:"+laststr);let ad_urls=[];for(let i=0;i=end){return lists}let first=lists[start];let second=lists[end];if(key){try{first=first[key];second=second[key]}catch(e){}}if(option&&typeof option==="function"){try{first=option(first);second=option(second)}catch(e){}}first+="";second+="";if(first.match(/(\d+)/)&&second.match(/(\d+)/)){let num1=Number(first.match(/(\d+)/)[1]);let num2=Number(second.match(/(\d+)/)[1]);if(num1>num2){lists.reverse()}}return lists}let VODS=[];let VOD={};let TABS=[];let LISTS=[];function getQuery(url){try{if(url.indexOf("?")>-1){url=url.slice(url.indexOf("?")+1)}let arr=url.split("#")[0].split("&");const resObj={};arr.forEach(item=>{let arr1=item.split("=");let key=arr1[0];let value=arr1.slice(1).join("=");resObj[key]=value});return resObj}catch(err){log(`getQuery发生错误:${e.message}`);return{}}}function urljoin(fromPath,nowPath){fromPath=fromPath||"";nowPath=nowPath||"";return joinUrl(fromPath,nowPath)}var urljoin2=urljoin;const defaultParser={pdfh:pdfh,pdfa:pdfa,pd:pd};function pdfh2(html,parse){let html2=html;try{if(typeof html!=="string"){html2=html.rr(html.ele).toString()}}catch(e){print(`html对象转文本发生了错误:${e.message}`)}let result=defaultParser.pdfh(html2,parse);let option=parse.includes("&&")?parse.split("&&").slice(-1)[0]:parse.split(" ").slice(-1)[0];if(/style/.test(option.toLowerCase())&&/url\(/.test(result)){try{result=result.match(/url\((.*?)\)/)[1];result=result.replace(/^['|"](.*)['|"]$/,"$1")}catch(e){}}return result}function pdfa2(html,parse){let html2=html;try{if(typeof html!=="string"){html2=html.rr(html.ele).toString()}}catch(e){print(`html对象转文本发生了错误:${e.message}`)}return defaultParser.pdfa(html2,parse)}function pd2(html,parse,uri){let ret=pdfh2(html,parse);if(typeof uri==="undefined"||!uri){uri=""}if(DOM_CHECK_ATTR.test(parse)&&!SPECIAL_URL.test(ret)){if(/http/.test(ret)){ret=ret.slice(ret.indexOf("http"))}else{ret=urljoin(MY_URL,ret)}}return ret}const parseTags={jsp:{pdfh:pdfh2,pdfa:pdfa2,pd:pd2},json:{pdfh(html,parse){if(!parse||!parse.trim()){return""}if(typeof html==="string"){html=JSON.parse(html)}parse=parse.trim();if(!parse.startsWith("$.")){parse="$."+parse}parse=parse.split("||");for(let ps of parse){let ret=cheerio.jp(ps,html);if(Array.isArray(ret)){ret=ret[0]||""}else{ret=ret||""}if(ret&&typeof ret!=="string"){ret=ret.toString()}if(ret){return ret}}return""},pdfa(html,parse){if(!parse||!parse.trim()){return""}if(typeof html==="string"){html=JSON.parse(html)}parse=parse.trim();if(!parse.startsWith("$.")){parse="$."+parse}let ret=cheerio.jp(parse,html);if(Array.isArray(ret)&&Array.isArray(ret[0])&&ret.length===1){return ret[0]||[]}return ret||[]},pd(html,parse){let ret=parseTags.json.pdfh(html,parse);if(ret){return urljoin(MY_URL,ret)}return ret}},jq:{pdfh(html,parse){if(!html||!parse||!parse.trim()){return""}parse=parse.trim();let result=defaultParser.pdfh(html,parse);return result},pdfa(html,parse){if(!html||!parse||!parse.trim()){return[]}parse=parse.trim();let result=defaultParser.pdfa(html,parse);print(`pdfa解析${parse}=>${result.length}`);return result},pd(html,parse,base_url){if(!html||!parse||!parse.trim()){return""}parse=parse.trim();base_url=base_url||MY_URL;return defaultParser.pd(html,parse,base_url)}},getParse(p0){if(p0.startsWith("jsp:")){return this.jsp}else if(p0.startsWith("json:")){return this.json}else if(p0.startsWith("jq:")){return this.jq}else{return this.jq}}};const stringify=JSON.stringify;const jsp=parseTags.jsp;const jq=parseTags.jq;function readFile(filePath){filePath=filePath||"./uri.min.js";var fd=os.open(filePath);var buffer=new ArrayBuffer(1024);var len=os.read(fd,buffer,0,1024);console.log(len);let text=String.fromCharCode.apply(null,new Uint8Array(buffer));console.log(text);return text}function dealJson(html){try{html=html.trim();if(!(html.startsWith("{")&&html.endsWith("}")||html.startsWith("[")&&html.endsWith("]"))){html="{"+html.match(/.*?\{(.*)\}/m)[1]+"}"}}catch(e){}try{html=JSON.parse(html)}catch(e){}return html}var OcrApi={api:OCR_API,classification:function(img){let code="";try{log("通过drpy_ocr验证码接口过验证...");let html="";if(this.api.endsWith("drpy/text")){html=request(this.api,{data:{img:img},headers:{"User-Agent":PC_UA},method:"POST"},true)}else{html=post(this.api,{body:img})}code=html||""}catch(e){log(`OCR识别验证码发生错误:${e.message}`)}return code}};function verifyCode(url){let cnt=0;let host=getHome(url);let cookie="";while(cntit.toLowerCase()==="set-cookie");cookie=setCk?json[setCk].split(";")[0]:""}console.log("cookie:"+cookie);let img=json.body;let code=OcrApi.classification(img);console.log(`第${cnt+1}次验证码识别结果:${code}`);let submit_url=`${host}/index.php/ajax/verify_check?type=search&verify=${code}`;console.log(submit_url);let html=request(submit_url,{headers:{Cookie:cookie},method:"POST"});html=JSON.parse(html);if(html.msg==="ok"){console.log(`第${cnt+1}次验证码提交成功`);return cookie}else if(html.msg!=="ok"&&cnt+1>=OCR_RETRY){cookie=""}}catch(e){console.log(`第${cnt+1}次验证码提交失败:${e.message}`);if(cnt+1>=OCR_RETRY){cookie=""}}cnt+=1}return cookie}function setItem(k,v){local.set(RKEY,k,v);console.log(`规则${RKEY}设置${k} => ${v}`)}function getItem(k,v){return local.get(RKEY,k)||v}function clearItem(k){local.delete(RKEY,k)}function getHome(url){if(!url){return""}let tmp=url.split("//");url=tmp[0]+"//"+tmp[1].split("/")[0];try{url=decodeURIComponent(url)}catch(e){}return url}function buildUrl(url,obj){obj=obj||{};if(url.indexOf("?")<0){url+="?"}let param_list=[];let keys=Object.keys(obj);keys.forEach(it=>{param_list.push(it+"="+obj[it])});let prs=param_list.join("&");if(keys.length>0&&!url.endsWith("?")){url+="&"}url+=prs;return url}function $require(url){eval(request(url))}function keysToLowerCase(obj){return Object.keys(obj).reduce((result,key)=>{const newKey=key.toLowerCase();result[newKey]=obj[key];return result},{})}function request(url,obj,ocr_flag){ocr_flag=ocr_flag||false;if(typeof obj==="undefined"||!obj||obj==={}){if(!fetch_params||!fetch_params.headers){let headers={"User-Agent":MOBILE_UA};if(rule.headers){Object.assign(headers,rule.headers)}if(!fetch_params){fetch_params={}}fetch_params.headers=headers}if(!fetch_params.headers.Referer){fetch_params.headers.Referer=getHome(url)}obj=fetch_params}else{let headers=obj.headers||{};let keys=Object.keys(headers).map(it=>it.toLowerCase());if(!keys.includes("user-agent")){headers["User-Agent"]=MOBILE_UA;if(typeof fetch_params==="object"&&fetch_params&&fetch_params.headers){let fetch_headers=keysToLowerCase(fetch_params.headers);if(fetch_headers["user-agent"]){headers["User-Agent"]=fetch_headers["user-agent"]}}}if(!keys.includes("referer")){headers["Referer"]=getHome(url)}obj.headers=headers}if(rule.encoding&&rule.encoding!=="utf-8"&&!ocr_flag){if(!obj.headers.hasOwnProperty("Content-Type")&&!obj.headers.hasOwnProperty("content-type")){obj.headers["Content-Type"]="text/html; charset="+rule.encoding}}if(typeof obj.body!="undefined"&&obj.body&&typeof obj.body==="string"){if(!obj.headers.hasOwnProperty("Content-Type")&&!obj.headers.hasOwnProperty("content-type")){obj.headers["Content-Type"]="application/x-www-form-urlencoded; charset="+rule.encoding}}else if(typeof obj.body!="undefined"&&obj.body&&typeof obj.body==="object"){obj.data=obj.body;delete obj.body}if(!url){return obj.withHeaders?"{}":""}if(obj.toBase64){obj.buffer=2;delete obj.toBase64}if(obj.redirect===false){obj.redirect=0}console.log(JSON.stringify(obj.headers));console.log("request:"+url+`|method:${obj.method||"GET"}|body:${obj.body||""}`);let res=req(url,obj);let html=res.content||"";if(obj.withHeaders){let htmlWithHeaders=res.headers;htmlWithHeaders.body=html;return JSON.stringify(htmlWithHeaders)}else{return html}}function post(url,obj){obj=obj||{};obj.method="POST";return request(url,obj)}function reqCookie(url,obj,all_cookie){obj=obj||{};obj.withHeaders=true;all_cookie=all_cookie||false;let html=request(url,obj);let json=JSON.parse(html);let setCk=Object.keys(json).find(it=>it.toLowerCase()==="set-cookie");let cookie=setCk?json[setCk]:"";if(Array.isArray(cookie)){cookie=cookie.join(";")}if(!all_cookie){cookie=cookie.split(";")[0]}html=json.body;return{cookie:cookie,html:html}}fetch=request;print=function(data){data=data||"";if(typeof data=="object"&&Object.keys(data).length>0){try{data=JSON.stringify(data);console.log(data)}catch(e){console.log(typeof data+":"+data.length);return}}else if(typeof data=="object"&&Object.keys(data).length<1){console.log("null object")}else{console.log(data)}};log=print;function checkHtml(html,url,obj){if(/\?btwaf=/.test(html)){let btwaf=html.match(/btwaf(.*?)"/)[1];url=url.split("#")[0]+"?btwaf"+btwaf;print("宝塔验证访问链接:"+url);html=request(url,obj)}return html}function getCode(url,obj){let html=request(url,obj);html=checkHtml(html,url,obj);return html}function getHtml(url){let obj={};if(rule.headers){obj.headers=rule.headers}let cookie=getItem(RULE_CK,"");if(cookie){if(obj.headers&&!Object.keys(obj.headers).map(it=>it.toLowerCase()).includes("cookie")){log("历史无cookie,新增过验证后的cookie");obj.headers["Cookie"]=cookie}else if(obj.headers&&obj.headers.cookie&&obj.headers.cookie!==cookie){obj.headers["Cookie"]=cookie;log("历史有小写过期的cookie,更新过验证后的cookie")}else if(obj.headers&&obj.headers.Cookie&&obj.headers.Cookie!==cookie){obj.headers["Cookie"]=cookie;log("历史有大写过期的cookie,更新过验证后的cookie")}else if(!obj.headers){obj.headers={Cookie:cookie};log("历史无headers,更新过验证后的含cookie的headers")}}let html=getCode(url,obj);return html}function homeParse(homeObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let classes=[];if(homeObj.class_name&&homeObj.class_url){let names=homeObj.class_name.split("&");let urls=homeObj.class_url.split("&");let cnt=Math.min(names.length,urls.length);for(let i=0;i0){classes=list}}}catch(e){console.log(e.message)}}else if(p.length>=3&&!is_json){try{let html=homeObj.home_html||getHtml(homeObj.MY_URL);if(html){homeHtmlCache=html;let list=_pdfa(html,p0);if(list&&list.length>0){list.forEach((it,idex)=>{try{let name=_pdfh(it,p[1]);if(homeObj.cate_exclude&&new RegExp(homeObj.cate_exclude).test(name)){return}let url=_pd(it,p[2]);if(p.length>3&&p[3]&&!homeObj.home_html){let exp=new RegExp(p[3]);url=url.match(exp)[1]}classes.push({type_id:url.trim(),type_name:name.trim()})}catch(e){console.log(`分类列表定位第${idex}个元素正常报错:${e.message}`)}})}}}catch(e){console.log(e.message)}}}}classes=classes.filter(it=>!homeObj.cate_exclude||!new RegExp(homeObj.cate_exclude).test(it.type_name));let resp={class:classes};if(homeObj.filter){resp.filters=homeObj.filter}console.log(JSON.stringify(resp));return JSON.stringify(resp)}function getPP(p,pn,pp,ppn){try{let ps=p[pn]==="*"&&pp.length>ppn?pp[ppn]:p[pn];return ps}catch(e){return""}}function homeVodParse(homeVodObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let d=[];MY_URL=homeVodObj.homeUrl;console.log(MY_URL);let t1=(new Date).getTime();let p=homeVodObj.推荐;print("p:"+p);if(p==="*"&&rule.一级){p=rule.一级;homeVodObj.double=false}if(!p||typeof p!=="string"){return"{}"}p=p.trim();let pp=rule.一级?rule.一级.split(";"):[];if(p.startsWith("js:")){const TYPE="home";var input=MY_URL;HOST=rule.host;eval(p.replace("js:",""));d=VODS}else{p=p.split(";");if(!homeVodObj.double&&p.length<5){return"{}"}else if(homeVodObj.double&&p.length<6){return"{}"}let p0=getPP(p,0,pp,0);let _ps=parseTags.getParse(p0);_pdfa=_ps.pdfa;_pdfh=_ps.pdfh;_pd=_ps.pd;let is_json=p0.startsWith("json:");p0=p0.replace(/^(jsp:|json:|jq:)/,"");let html=homeHtmlCache||getHtml(MY_URL);homeHtmlCache=undefined;if(is_json){html=dealJson(html)}try{console.log("double:"+homeVodObj.double);if(homeVodObj.double){let items=_pdfa(html,p0);let p1=getPP(p,1,pp,0);let p2=getPP(p,2,pp,1);let p3=getPP(p,3,pp,2);let p4=getPP(p,4,pp,3);let p5=getPP(p,5,pp,4);let p6=getPP(p,6,pp,5);for(let item of items){let items2=_pdfa(item,p1);for(let item2 of items2){try{let title=_pdfh(item2,p2);let img="";try{img=_pd(item2,p3)}catch(e){}let desc="";try{desc=_pdfh(item2,p4)}catch(e){}let links=[];for(let _p5 of p5.split("+")){let link=!homeVodObj.detailUrl?_pd(item2,_p5,MY_URL):_pdfh(item2,_p5);links.push(link)}let content;if(p.length>6&&p[6]){content=_pdfh(item2,p6)}else{content=""}let vid=links.join("$");if(rule.二级==="*"){vid=vid+"@@"+title+"@@"+img}let vod={vod_name:title,vod_pic:img,vod_remarks:desc,vod_content:content,vod_id:vid};d.push(vod)}catch(e){console.log(`首页列表双层定位处理发生错误:${e.message}`)}}}}else{let items=_pdfa(html,p0);let p1=getPP(p,1,pp,1);let p2=getPP(p,2,pp,2);let p3=getPP(p,3,pp,3);let p4=getPP(p,4,pp,4);let p5=getPP(p,5,pp,5);for(let item of items){try{let title=_pdfh(item,p1);let img="";try{img=_pd(item,p2,MY_URL)}catch(e){}let desc="";try{desc=_pdfh(item,p3)}catch(e){}let links=[];for(let _p5 of p4.split("+")){let link=!homeVodObj.detailUrl?_pd(item,_p5,MY_URL):_pdfh(item,_p5);links.push(link)}let content;if(p.length>5&&p[5]){content=_pdfh(item,p5)}else{content=""}let vid=links.join("$");if(rule.二级==="*"){vid=vid+"@@"+title+"@@"+img}let vod={vod_name:title,vod_pic:img,vod_remarks:desc,vod_content:content,vod_id:vid};d.push(vod)}catch(e){console.log(`首页列表单层定位处理发生错误:${e.message}`)}}}}catch(e){}}let t2=(new Date).getTime();console.log("加载首页推荐耗时:"+(t2-t1)+"毫秒");if(rule.图片替换){if(rule.图片替换.startsWith("js:")){d.forEach(it=>{try{var input=it.vod_pic;eval(rule.图片替换.trim().replace("js:",""));it.vod_pic=input}catch(e){log(`图片:${it.vod_pic}替换错误:${e.message}`)}})}else if(rule.图片替换.includes("=>")){let replace_from=rule.图片替换.split("=>")[0];let replace_to=rule.图片替换.split("=>")[1];d.forEach(it=>{if(it.vod_pic&&it.vod_pic.startsWith("http")){it.vod_pic=it.vod_pic.replace(replace_from,replace_to)}})}}if(rule.图片来源){d.forEach(it=>{if(it.vod_pic&&it.vod_pic.startsWith("http")){it.vod_pic=it.vod_pic+rule.图片来源}})}if(d.length>0){print(d.slice(0,2))}return JSON.stringify({list:d})}function categoryParse(cateObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let p=cateObj.一级;if(!p||typeof p!=="string"){return"{}"}let d=[];let url=cateObj.url.replaceAll("fyclass",cateObj.tid);if(cateObj.pg===1&&url.includes("[")&&url.includes("]")){url=url.split("[")[1].split("]")[0]}else if(cateObj.pg>1&&url.includes("[")&&url.includes("]")){url=url.split("[")[0]}if(rule.filter_url){if(!/fyfilter/.test(url)){if(!url.endsWith("&")&&!rule.filter_url.startsWith("&")){url+="&"}url+=rule.filter_url}else{url=url.replace("fyfilter",rule.filter_url)}url=url.replaceAll("fyclass",cateObj.tid);let fl=cateObj.filter?cateObj.extend:{};if(rule.filter_def&&typeof rule.filter_def==="object"){try{if(Object.keys(rule.filter_def).length>0&&rule.filter_def.hasOwnProperty(cateObj.tid)){let self_fl_def=rule.filter_def[cateObj.tid];if(self_fl_def&&typeof self_fl_def==="object"){let fl_def=JSON.parse(JSON.stringify(self_fl_def));fl=Object.assign(fl_def,fl)}}}catch(e){print(`合并不同分类对应的默认筛选出错:${e.message}`)}}let new_url;new_url=cheerio.jinja2(url,{fl:fl,fyclass:cateObj.tid});url=new_url}if(/fypage/.test(url)){if(url.includes("(")&&url.includes(")")){let url_rep=url.match(/.*?\((.*)\)/)[1];let cnt_page=url_rep.replaceAll("fypage",cateObj.pg);let cnt_pg=eval(cnt_page);url=url.replaceAll(url_rep,cnt_pg).replaceAll("(","").replaceAll(")","")}else{url=url.replaceAll("fypage",cateObj.pg)}}MY_URL=url;console.log(MY_URL);p=p.trim();const MY_CATE=cateObj.tid;if(p.startsWith("js:")){var MY_FL=cateObj.extend;const TYPE="cate";var input=MY_URL;const MY_PAGE=cateObj.pg;var desc="";eval(p.trim().replace("js:",""));d=VODS}else{p=p.split(";");if(p.length<5){return"{}"}let _ps=parseTags.getParse(p[0]);_pdfa=_ps.pdfa;_pdfh=_ps.pdfh;_pd=_ps.pd;let is_json=p[0].startsWith("json:");p[0]=p[0].replace(/^(jsp:|json:|jq:)/,"");try{let html=getHtml(MY_URL);if(html){if(is_json){html=dealJson(html)}let list=_pdfa(html,p[0]);list.forEach(it=>{let links=p[4].split("+").map(p4=>{return!rule.detailUrl?_pd(it,p4,MY_URL):_pdfh(it,p4)});let link=links.join("$");let vod_id=rule.detailUrl?MY_CATE+"$"+link:link;let vod_name=_pdfh(it,p[1]).replace(/\n|\t/g,"").trim();let vod_pic=_pd(it,p[2],MY_URL);if(rule.二级==="*"){vod_id=vod_id+"@@"+vod_name+"@@"+vod_pic}d.push({vod_id:vod_id,vod_name:vod_name,vod_pic:vod_pic,vod_remarks:_pdfh(it,p[3]).replace(/\n|\t/g,"").trim()})})}}catch(e){console.log(e.message)}}if(rule.图片替换){if(rule.图片替换.startsWith("js:")){d.forEach(it=>{try{var input=it.vod_pic;eval(rule.图片替换.trim().replace("js:",""));it.vod_pic=input}catch(e){log(`图片:${it.vod_pic}替换错误:${e.message}`)}})}else if(rule.图片替换.includes("=>")){let replace_from=rule.图片替换.split("=>")[0];let replace_to=rule.图片替换.split("=>")[1];d.forEach(it=>{if(it.vod_pic&&it.vod_pic.startsWith("http")){it.vod_pic=it.vod_pic.replace(replace_from,replace_to)}})}}if(rule.图片来源){d.forEach(it=>{if(it.vod_pic&&it.vod_pic.startsWith("http")){it.vod_pic=it.vod_pic+rule.图片来源}})}if(d.length>0){print(d.slice(0,2))}let pagecount=0;if(rule.pagecount&&typeof rule.pagecount==="object"&&rule.pagecount.hasOwnProperty(MY_CATE)){print(`MY_CATE:${MY_CATE},pagecount:${JSON.stringify(rule.pagecount)}`);pagecount=parseInt(rule.pagecount[MY_CATE])}let nodata={list:[{vod_name:"无数据,防无限请求",vod_id:"no_data",vod_remarks:"不要点,会崩的",vod_pic:"https://ghproxy.net/https://raw.githubusercontent.com/hjdhnx/dr_py/main/404.jpg"}],total:1,pagecount:1,page:1,limit:1};let vod=d.length<1?JSON.stringify(nodata):JSON.stringify({page:parseInt(cateObj.pg),pagecount:pagecount||999,limit:20,total:999,list:d});return vod}function searchParse(searchObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let d=[];if(!searchObj.searchUrl){return"{}"}let p=searchObj.搜索==="*"&&rule.一级?rule.一级:searchObj.搜索;if(!p||typeof p!=="string"){return"{}"}p=p.trim();let pp=rule.一级?rule.一级.split(";"):[];let url=searchObj.searchUrl.replaceAll("**",searchObj.wd);if(searchObj.pg===1&&url.includes("[")&&url.includes("]")&&!url.includes("#")){url=url.split("[")[1].split("]")[0]}else if(searchObj.pg>1&&url.includes("[")&&url.includes("]")&&!url.includes("#")){url=url.split("[")[0]}if(/fypage/.test(url)){if(url.includes("(")&&url.includes(")")){let url_rep=url.match(/.*?\((.*)\)/)[1];let cnt_page=url_rep.replaceAll("fypage",searchObj.pg);let cnt_pg=eval(cnt_page);url=url.replaceAll(url_rep,cnt_pg).replaceAll("(","").replaceAll(")","")}else{url=url.replaceAll("fypage",searchObj.pg)}}MY_URL=url;console.log(MY_URL);if(p.startsWith("js:")){const TYPE="search";const MY_PAGE=searchObj.pg;const KEY=searchObj.wd;var input=MY_URL;var detailUrl=rule.detailUrl||"";eval(p.trim().replace("js:",""));d=VODS}else{p=p.split(";");if(p.length<5){return"{}"}let p0=getPP(p,0,pp,0);let _ps=parseTags.getParse(p0);_pdfa=_ps.pdfa;_pdfh=_ps.pdfh;_pd=_ps.pd;let is_json=p0.startsWith("json:");p0=p0.replace(/^(jsp:|json:|jq:)/,"");try{let req_method=MY_URL.split(";").length>1?MY_URL.split(";")[1].toLowerCase():"get";let html;if(req_method==="post"){let rurls=MY_URL.split(";")[0].split("#");let rurl=rurls[0];let params=rurls.length>1?rurls[1]:"";print(`post=》rurl:${rurl},params:${params}`);let _fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let postData={body:params};Object.assign(_fetch_params,postData);html=post(rurl,_fetch_params)}else if(req_method==="postjson"){let rurls=MY_URL.split(";")[0].split("#");let rurl=rurls[0];let params=rurls.length>1?rurls[1]:"";print(`postjson-》rurl:${rurl},params:${params}`);try{params=JSON.parse(params)}catch(e){params="{}"}let _fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let postData={body:params};Object.assign(_fetch_params,postData);html=post(rurl,_fetch_params)}else{html=getHtml(MY_URL)}if(html){if(/系统安全验证|输入验证码/.test(html)){let cookie=verifyCode(MY_URL);if(cookie){console.log(`本次成功过验证,cookie:${cookie}`);setItem(RULE_CK,cookie)}else{console.log(`本次自动过搜索验证失败,cookie:${cookie}`)}html=getHtml(MY_URL)}if(!html.includes(searchObj.wd)){console.log("搜索结果源码未包含关键字,疑似搜索失败,正为您打印结果源码");console.log(html)}if(is_json){html=dealJson(html)}let list=_pdfa(html,p0);let p1=getPP(p,1,pp,1);let p2=getPP(p,2,pp,2);let p3=getPP(p,3,pp,3);let p4=getPP(p,4,pp,4);let p5=getPP(p,5,pp,5);list.forEach(it=>{let links=p4.split("+").map(_p4=>{return!rule.detailUrl?_pd(it,_p4,MY_URL):_pdfh(it,_p4)});let link=links.join("$");let content;if(p.length>5&&p[5]){content=_pdfh(it,p5)}else{content=""}let vod_id=link;let vod_name=_pdfh(it,p1).replace(/\n|\t/g,"").trim();let vod_pic=_pd(it,p2,MY_URL);if(rule.二级==="*"){vod_id=vod_id+"@@"+vod_name+"@@"+vod_pic}let ob={vod_id:vod_id,vod_name:vod_name,vod_pic:vod_pic,vod_remarks:_pdfh(it,p3).replace(/\n|\t/g,"").trim(),vod_content:content.replace(/\n|\t/g,"").trim()};d.push(ob)})}}catch(e){print(`搜索发生错误:${e.message}`);return"{}"}}if(rule.图片替换){if(rule.图片替换.startsWith("js:")){d.forEach(it=>{try{var input=it.vod_pic;eval(rule.图片替换.trim().replace("js:",""));it.vod_pic=input}catch(e){log(`图片:${it.vod_pic}替换错误:${e.message}`)}})}else if(rule.图片替换.includes("=>")){let replace_from=rule.图片替换.split("=>")[0];let replace_to=rule.图片替换.split("=>")[1];d.forEach(it=>{if(it.vod_pic&&it.vod_pic.startsWith("http")){it.vod_pic=it.vod_pic.replace(replace_from,replace_to)}})}}if(rule.图片来源){d.forEach(it=>{if(it.vod_pic&&it.vod_pic.startsWith("http")){it.vod_pic=it.vod_pic+rule.图片来源}})}return JSON.stringify({page:parseInt(searchObj.pg),pagecount:10,limit:20,total:100,list:d})}function detailParse(detailObj){let t1=(new Date).getTime();fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let orId=detailObj.orId;let vod_name="片名";let vod_pic="";let vod_id=orId;if(rule.二级==="*"){let extra=orId.split("@@");vod_name=extra.length>1?extra[1]:vod_name;vod_pic=extra.length>2?extra[2]:vod_pic}let vod={vod_id:vod_id,vod_name:vod_name,vod_pic:vod_pic,type_name:"类型",vod_year:"年份",vod_area:"地区",vod_remarks:"更新信息",vod_actor:"主演",vod_director:"导演",vod_content:"简介"};let p=detailObj.二级;let url=detailObj.url;let detailUrl=detailObj.detailUrl;let fyclass=detailObj.fyclass;let tab_exclude=detailObj.tab_exclude;let html=detailObj.html||"";MY_URL=url;if(detailObj.二级访问前){try{print(`尝试在二级访问前执行代码:${detailObj.二级访问前}`);eval(detailObj.二级访问前.trim().replace("js:",""))}catch(e){print(`二级访问前执行代码出现错误:${e.message}`)}}if(p==="*"){vod.vod_play_from="免费分享";vod.vod_remarks=detailUrl;vod.vod_actor="没有二级,只有一级链接直接嗅探播放";vod.vod_content=MY_URL;vod.vod_play_url="嗅探播放$"+MY_URL.split("@@")[0]}else if(typeof p==="string"&&p.trim().startsWith("js:")){const TYPE="detail";var input=MY_URL;var play_url="";eval(p.trim().replace("js:",""));vod=VOD;console.log(JSON.stringify(vod))}else if(p&&typeof p==="object"){let tt1=(new Date).getTime();if(!html){html=getHtml(MY_URL)}print(`二级${MY_URL}仅获取源码耗时:${(new Date).getTime()-tt1}毫秒`);let _ps;if(p.is_json){print("二级是json");_ps=parseTags.json;html=dealJson(html)}else if(p.is_jsp){print("二级是jsp");_ps=parseTags.jsp}else if(p.is_jq){print("二级是jq");_ps=parseTags.jq}else{print("二级默认jq");_ps=parseTags.jq}let tt2=(new Date).getTime();print(`二级${MY_URL}获取并装载源码耗时:${tt2-tt1}毫秒`);_pdfa=_ps.pdfa;_pdfh=_ps.pdfh;_pd=_ps.pd;if(p.title){let p1=p.title.split(";");vod.vod_name=_pdfh(html,p1[0]).replace(/\n|\t/g,"").trim();let type_name=p1.length>1?_pdfh(html,p1[1]).replace(/\n|\t/g,"").replace(/ /g,"").trim():"";vod.type_name=type_name||vod.type_name}if(p.desc){try{let p1=p.desc.split(";");vod.vod_remarks=_pdfh(html,p1[0]).replace(/\n|\t/g,"").trim();vod.vod_year=p1.length>1?_pdfh(html,p1[1]).replace(/\n|\t/g,"").trim():"";vod.vod_area=p1.length>2?_pdfh(html,p1[2]).replace(/\n|\t/g,"").trim():"";vod.vod_actor=p1.length>3?_pdfh(html,p1[3]).replace(/\n|\t/g,"").trim():"";vod.vod_director=p1.length>4?_pdfh(html,p1[4]).replace(/\n|\t/g,"").trim():""}catch(e){}}if(p.content){try{let p1=p.content.split(";");vod.vod_content=_pdfh(html,p1[0]).replace(/\n|\t/g,"").trim()}catch(e){}}if(p.img){try{let p1=p.img.split(";");vod.vod_pic=_pd(html,p1[0],MY_URL)}catch(e){}}let vod_play_from="$$$";let playFrom=[];if(p.重定向&&p.重定向.startsWith("js:")){print("开始执行重定向代码:"+p.重定向);html=eval(p.重定向.replace("js:",""))}if(p.tabs){if(p.tabs.startsWith("js:")){print("开始执行tabs代码:"+p.tabs);var input=MY_URL;eval(p.tabs.replace("js:",""));playFrom=TABS}else{let p_tab=p.tabs.split(";")[0];let vHeader=_pdfa(html,p_tab);console.log(vHeader.length);let tab_text=p.tab_text||"body&&Text";let new_map={};for(let v of vHeader){let v_title=_pdfh(v,tab_text).trim();if(!v_title){v_title="线路空"}console.log(v_title);if(tab_exclude&&new RegExp(tab_exclude).test(v_title)){continue}if(!new_map.hasOwnProperty(v_title)){new_map[v_title]=1}else{new_map[v_title]+=1}if(new_map[v_title]>1){v_title+=Number(new_map[v_title]-1)}playFrom.push(v_title)}}console.log(JSON.stringify(playFrom))}else{playFrom=["免费分享"]}vod.vod_play_from=playFrom.join(vod_play_from);let vod_play_url="$$$";let vod_tab_list=[];if(p.lists){if(p.lists.startsWith("js:")){print("开始执行lists代码:"+p.lists);try{var input=MY_URL;var play_url="";eval(p.lists.replace("js:",""));for(let i in LISTS){if(LISTS.hasOwnProperty(i)){try{LISTS[i]=LISTS[i].map(it=>it.split("$").slice(0,2).join("$"))}catch(e){print(`格式化LISTS发生错误:${e.message}`)}}}vod_play_url=LISTS.map(it=>it.join("#")).join(vod_play_url)}catch(e){print(`js执行lists: 发生错误:${e.message}`)}}else{let list_text=p.list_text||"body&&Text";let list_url=p.list_url||"a&&href";let list_url_prefix=p.list_url_prefix||"";let is_tab_js=p.tabs.trim().startsWith("js:");for(let i=0;i1&&!is_tab_js?p.tabs.split(";")[1]:"";let p1=p.lists.replaceAll("#idv",tab_name).replaceAll("#id",i);tab_ext=tab_ext.replaceAll("#idv",tab_name).replaceAll("#id",i);let tabName=tab_ext?_pdfh(html,tab_ext):tab_name;console.log(tabName);let new_vod_list=[];let tt1=(new Date).getTime();if(typeof pdfl==="function"){new_vod_list=pdfl(html,p1,list_text,list_url,MY_URL);if(list_url_prefix){new_vod_list=new_vod_list.map(it=>it.split("$")[0]+"$"+list_url_prefix+it.split("$").slice(1).join("$"))}}else{let vodList=[];try{vodList=_pdfa(html,p1);console.log("len(vodList):"+vodList.length)}catch(e){}for(let i=0;i0){new_vod_list=forceOrder(new_vod_list,"",x=>x.split("$")[0]);console.log(`drpy影响性能代码共计列表数循环次数:${new_vod_list.length},耗时:${(new Date).getTime()-tt1}毫秒`)}let vlist=new_vod_list.join("#");vod_tab_list.push(vlist)}vod_play_url=vod_tab_list.join(vod_play_url)}}vod.vod_play_url=vod_play_url}if(rule.图片替换&&rule.图片替换.includes("=>")){let replace_from=rule.图片替换.split("=>")[0];let replace_to=rule.图片替换.split("=>")[1];vod.vod_pic=vod.vod_pic.replace(replace_from,replace_to)}if(rule.图片来源&&vod.vod_pic&&vod.vod_pic.startsWith("http")){vod.vod_pic=vod.vod_pic+rule.图片来源}if(!vod.vod_id||vod_id.includes("$")&&vod.vod_id!==vod_id){vod.vod_id=vod_id}let t2=(new Date).getTime();console.log(`加载二级界面${MY_URL}耗时:${t2-t1}毫秒`);try{vod=vodDeal(vod)}catch(e){console.log(`vodDeal发生错误:${e.message}`)}return JSON.stringify({list:[vod]})}function get_tab_index(vod){let obj={};vod.vod_play_from.split("$$$").forEach((it,index)=>{obj[it]=index});return obj}function vodDeal(vod){let vod_play_from=vod.vod_play_from.split("$$$");let vod_play_url=vod.vod_play_url.split("$$$");let tab_removed_list=vod_play_from;let tab_ordered_list=vod_play_from;let tab_renamed_list=vod_play_from;let tab_list=vod_play_from;let play_ordered_list=vod_play_url;if(rule.tab_remove&&rule.tab_remove.length>0||rule.tab_order&&rule.tab_order.length>0){let tab_index_dict=get_tab_index(vod);if(rule.tab_remove&&rule.tab_remove.length>0){tab_removed_list=vod_play_from.filter(it=>!rule.tab_remove.includes(it));tab_list=tab_removed_list}if(rule.tab_order&&rule.tab_order.length>0){let tab_order=rule.tab_order;tab_ordered_list=tab_removed_list.sort((a,b)=>{return(tab_order.indexOf(a)===-1?9999:tab_order.indexOf(a))-(tab_order.indexOf(b)===-1?9999:tab_order.indexOf(b))});tab_list=tab_ordered_list}play_ordered_list=tab_list.map(it=>vod_play_url[tab_index_dict[it]])}if(rule.tab_rename&&typeof rule.tab_rename==="object"&Object.keys(rule.tab_rename).length>0){tab_renamed_list=tab_list.map(it=>rule.tab_rename[it]||it);tab_list=tab_renamed_list}vod.vod_play_from=tab_list.join("$$$");vod.vod_play_url=play_ordered_list.join("$$$");return vod}function tellIsJx(url){try{let is_vip=!/\.(m3u8|mp4|m4a)$/.test(url.split("?")[0])&&是否正版(url);return is_vip?1:0}catch(e){return 1}}function playParse(playObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));MY_URL=playObj.url;var MY_FLAG=playObj.flag;if(!/http/.test(MY_URL)){try{MY_URL=base64Decode(MY_URL)}catch(e){}}MY_URL=decodeURIComponent(MY_URL);var input=MY_URL;var flag=MY_FLAG;let common_play={parse:SPECIAL_URL.test(input)||/^(push:)/.test(input)?0:1,url:input,flag:flag,jx:tellIsJx(input)};let lazy_play;if(!rule.play_parse||!rule.lazy){lazy_play=common_play}else if(rule.play_parse&&rule.lazy&&typeof rule.lazy==="string"){try{let lazy_code=rule.lazy.trim();if(lazy_code.startsWith("js:")){lazy_code=lazy_code.replace("js:","").trim()}print("开始执行js免嗅=>"+lazy_code);eval(lazy_code);lazy_play=typeof input==="object"?input:{parse:SPECIAL_URL.test(input)||/^(push:)/.test(input)?0:1,jx:tellIsJx(input),url:input}}catch(e){print(`js免嗅错误:${e.message}`);lazy_play=common_play}}else{lazy_play=common_play}if(Array.isArray(rule.play_json)&&rule.play_json.length>0){let web_url=lazy_play.url;for(let pjson of rule.play_json){if(pjson.re&&(pjson.re==="*"||web_url.match(new RegExp(pjson.re)))){if(pjson.json&&typeof pjson.json==="object"){let base_json=pjson.json;lazy_play=Object.assign(lazy_play,base_json);break}}}}else if(rule.play_json&&!Array.isArray(rule.play_json)){let base_json={jx:1,parse:1};lazy_play=Object.assign(lazy_play,base_json)}else if(!rule.play_json){let base_json={jx:0,parse:1};lazy_play=Object.assign(lazy_play,base_json)}console.log(JSON.stringify(lazy_play));return JSON.stringify(lazy_play)}function proxyParse(proxyObj){var input=proxyObj.params;if(proxyObj.proxy_rule){log("准备执行本地代理规则:\n"+proxyObj.proxy_rule);try{eval(proxyObj.proxy_rule);if(input&&input!==proxyObj.params&&Array.isArray(input)&&input.length>=3){return input}else{return[404,"text/plain","Not Found"]}}catch(e){return[500,"text/plain","代理规则错误:"+e.message]}}else{return[404,"text/plain","Not Found"]}}function isVideoParse(isVideoObj){var input=isVideoObj.url;if(!isVideoObj.t){let re_matcher=new RegExp(isVideoObj.isVideo,"i");return re_matcher.test(input)}else{try{eval(isVideoObj.isVideo);if(typeof input==="boolean"){return input}else{return false}}catch(e){log(`执行嗅探规则发生错误:${e.message}`);return false}}}function getOriginalJs(js_code){let current_match=/var rule|[\u4E00-\u9FA5]+|function|let |var |const |\(|\)|"|'/;if(current_match.test(js_code)){return js_code}let rsa_private_key="MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCqin/jUpqM6+fgYP/oMqj9zcdHMM0mEZXLeTyixIJWP53lzJV2N2E3OP6BBpUmq2O1a9aLnTIbADBaTulTNiOnVGoNG58umBnupnbmmF8iARbDp2mTzdMMeEgLdrfXS6Y3VvazKYALP8EhEQykQVarexR78vRq7ltY3quXx7cgI0ROfZz5Sw3UOLQJ+VoWmwIxu9AMEZLVzFDQN93hzuzs3tNyHK6xspBGB7zGbwCg+TKi0JeqPDrXxYUpAz1cQ/MO+Da0WgvkXnvrry8NQROHejdLVOAslgr6vYthH9bKbsGyNY3H+P12kcxo9RAcVveONnZbcMyxjtF5dWblaernAgMBAAECggEAGdEHlSEPFmAr5PKqKrtoi6tYDHXdyHKHC5tZy4YV+Pp+a6gxxAiUJejx1hRqBcWSPYeKne35BM9dgn5JofgjI5SKzVsuGL6bxl3ayAOu+xXRHWM9f0t8NHoM5fdd0zC3g88dX3fb01geY2QSVtcxSJpEOpNH3twgZe6naT2pgiq1S4okpkpldJPo5GYWGKMCHSLnKGyhwS76gF8bTPLoay9Jxk70uv6BDUMlA4ICENjmsYtd3oirWwLwYMEJbSFMlyJvB7hjOjR/4RpT4FPnlSsIpuRtkCYXD4jdhxGlvpXREw97UF2wwnEUnfgiZJ2FT/MWmvGGoaV/CfboLsLZuQKBgQDTNZdJrs8dbijynHZuuRwvXvwC03GDpEJO6c1tbZ1s9wjRyOZjBbQFRjDgFeWs9/T1aNBLUrgsQL9c9nzgUziXjr1Nmu52I0Mwxi13Km/q3mT+aQfdgNdu6ojsI5apQQHnN/9yMhF6sNHg63YOpH+b+1bGRCtr1XubuLlumKKscwKBgQDOtQ2lQjMtwsqJmyiyRLiUOChtvQ5XI7B2mhKCGi8kZ+WEAbNQcmThPesVzW+puER6D4Ar4hgsh9gCeuTaOzbRfZ+RLn3Aksu2WJEzfs6UrGvm6DU1INn0z/tPYRAwPX7sxoZZGxqML/z+/yQdf2DREoPdClcDa2Lmf1KpHdB+vQKBgBXFCVHz7a8n4pqXG/HvrIMJdEpKRwH9lUQS/zSPPtGzaLpOzchZFyQQBwuh1imM6Te+VPHeldMh3VeUpGxux39/m+160adlnRBS7O7CdgSsZZZ/dusS06HAFNraFDZf1/VgJTk9BeYygX+AZYu+0tReBKSs9BjKSVJUqPBIVUQXAoGBAJcZ7J6oVMcXxHxwqoAeEhtvLcaCU9BJK36XQ/5M67ceJ72mjJC6/plUbNukMAMNyyi62gO6I9exearecRpB/OGIhjNXm99Ar59dAM9228X8gGfryLFMkWcO/fNZzb6lxXmJ6b2LPY3KqpMwqRLTAU/zy+ax30eFoWdDHYa4X6e1AoGAfa8asVGOJ8GL9dlWufEeFkDEDKO9ww5GdnpN+wqLwePWqeJhWCHad7bge6SnlylJp5aZXl1+YaBTtOskC4Whq9TP2J+dNIgxsaF5EFZQJr8Xv+lY9lu0CruYOh9nTNF9x3nubxJgaSid/7yRPfAGnsJRiknB5bsrCvgsFQFjJVs=";let decode_content="";function aes_decrypt(data){let key=CryptoJS.enc.Hex.parse("686A64686E780A0A0A0A0A0A0A0A0A0A");let iv=CryptoJS.enc.Hex.parse("647A797964730A0A0A0A0A0A0A0A0A0A");let encrypted=CryptoJS.AES.decrypt({ciphertext:CryptoJS.enc.Base64.parse(data)},key,{iv:iv,mode:CryptoJS.mode.CBC,padding:CryptoJS.pad.Pkcs7}).toString(CryptoJS.enc.Utf8);return encrypted}let error_log=false;function logger(text){if(error_log){log(text)}}let decode_funcs=[text=>{try{return ungzip(text)}catch(e){logger("非gzip加密");return""}},text=>{try{return base64Decode(text)}catch(e){logger("非b64加密");return""}},text=>{try{return aes_decrypt(text)}catch(e){logger("非aes加密");return""}},text=>{try{return RSA.decode(text,rsa_private_key,null)}catch(e){logger("非rsa加密");return""}}];let func_index=0;while(!current_match.test(decode_content)){decode_content=decode_funcs[func_index](js_code);func_index++;if(func_index>=decode_funcs.length){break}}return decode_content}function runMain(main_func_code,arg){let mainFunc=function(){return""};try{eval(main_func_code+"\nmainFunc=main;");return mainFunc(arg)}catch(e){log(`执行main_funct发生了错误:${e.message}`);return""}}function init(ext){console.log("init");rule={};rule_fetch_params={};fetch_params=null;try{let muban=模板.getMubans();if(typeof ext=="object"){rule=ext}else if(typeof ext=="string"){if(ext.startsWith("http")||ext.startsWith("file://")){let query=getQuery(ext);let js=request(ext,{method:"GET"});if(js){js=getOriginalJs(js);eval("(function(){"+js.replace("var rule","rule")+"})()")}if(query.type==="url"&&query.params){rule.params=urljoin(ext,query.params)}else if(query.params){rule.params=query.params}}else{ext=getOriginalJs(ext);eval("(function(){"+ext.replace("var rule","rule")+"})()")}}else{console.log(`规则加载失败,不支持的规则类型:${typeof ext}`);return}rule.host=(rule.host||"").rstrip("/");HOST=rule.host;if(rule.hostJs){console.log(`检测到hostJs,准备执行...`);try{eval(rule.hostJs);rule.host=HOST.rstrip("/")}catch(e){console.log(`执行${rule.hostJs}获取host发生错误:${e.message}`)}}if(rule["模板"]==="自动"){try{let host_headers=rule["headers"]||{};let host_html=getCode(HOST,{headers:host_headers});let match_muban="";let muban_keys=Object.keys(muban).filter(it=>!/默认|短视2|采集1/.test(it));for(let muban_key of muban_keys){try{let host_data=JSON.parse(home({},host_html,muban[muban_key].class_parse));if(host_data.class&&host_data.class.length>0){match_muban=muban_key;console.log(`自动匹配模板:【${muban_key}】`);break}}catch(e){console.log(`自动匹配模板:【${muban_key}】错误:${e.message}`)}}if(match_muban){muban["自动"]=muban[match_muban];if(rule["模板修改"]&&rule["模板修改"].startsWith("js:")){eval(rule["模板修改"].replace("js:","").trim())}}else{delete rule["模板"]}}catch(e){delete rule["模板"]}}if(rule.模板&&muban.hasOwnProperty(rule.模板)){print("继承模板:"+rule.模板);rule=Object.assign(muban[rule.模板],rule)}let rule_cate_excludes=(rule.cate_exclude||"").split("|").filter(it=>it.trim());let rule_tab_excludes=(rule.tab_exclude||"").split("|").filter(it=>it.trim());rule_cate_excludes=rule_cate_excludes.concat(CATE_EXCLUDE.split("|").filter(it=>it.trim()));rule_tab_excludes=rule_tab_excludes.concat(TAB_EXCLUDE.split("|").filter(it=>it.trim()));rule.cate_exclude=rule_cate_excludes.join("|");rule.tab_exclude=rule_tab_excludes.join("|");rule.类型=rule.类型||"影视";rule.url=rule.url||"";rule.double=rule.double||false;rule.homeUrl=rule.homeUrl||"";rule.detailUrl=rule.detailUrl||"";rule.searchUrl=rule.searchUrl||"";rule.homeUrl=rule.host&&rule.homeUrl?urljoin(rule.host,rule.homeUrl):rule.homeUrl||rule.host;rule.homeUrl=cheerio.jinja2(rule.homeUrl,{rule:rule});rule.detailUrl=rule.host&&rule.detailUrl?urljoin(rule.host,rule.detailUrl):rule.detailUrl;rule.二级访问前=rule.二级访问前||"";if(rule.url.includes("[")&&rule.url.includes("]")){let u1=rule.url.split("[")[0];let u2=rule.url.split("[")[1].split("]")[0];rule.url=rule.host&&rule.url?urljoin(rule.host,u1)+"["+urljoin(rule.host,u2)+"]":rule.url}else{rule.url=rule.host&&rule.url?urljoin(rule.host,rule.url):rule.url}if(rule.searchUrl.includes("[")&&rule.searchUrl.includes("]")&&!rule.searchUrl.includes("#")){let u1=rule.searchUrl.split("[")[0];let u2=rule.searchUrl.split("[")[1].split("]")[0];rule.searchUrl=rule.host&&rule.searchUrl?urljoin(rule.host,u1)+"["+urljoin(rule.host,u2)+"]":rule.searchUrl}else{rule.searchUrl=rule.host&&rule.searchUrl?urljoin(rule.host,rule.searchUrl):rule.searchUrl}rule.timeout=rule.timeout||5e3;rule.encoding=rule.编码||rule.encoding||"utf-8";rule.search_encoding=rule.搜索编码||rule.search_encoding||"";rule.图片来源=rule.图片来源||"";rule.图片替换=rule.图片替换||"";rule.play_json=rule.hasOwnProperty("play_json")?rule.play_json:[];rule.pagecount=rule.hasOwnProperty("pagecount")?rule.pagecount:{};rule.proxy_rule=rule.hasOwnProperty("proxy_rule")?rule.proxy_rule:"";if(!rule.hasOwnProperty("sniffer")){rule.sniffer=false}rule.sniffer=rule.hasOwnProperty("sniffer")?rule.sniffer:"";rule.sniffer=!!(rule.sniffer&&rule.sniffer!=="0"&&rule.sniffer!=="false");rule.isVideo=rule.hasOwnProperty("isVideo")?rule.isVideo:"";if(rule.sniffer&&!rule.isVideo){rule.isVideo="http((?!http).){12,}?\\.(m3u8|mp4|flv|avi|mkv|rm|wmv|mpg|m4a|mp3)\\?.*|http((?!http).){12,}\\.(m3u8|mp4|flv|avi|mkv|rm|wmv|mpg|m4a|mp3)|http((?!http).)*?video/tos*|http((?!http).)*?obj/tos*"}rule.tab_remove=rule.hasOwnProperty("tab_remove")?rule.tab_remove:[];rule.tab_order=rule.hasOwnProperty("tab_order")?rule.tab_order:[];rule.tab_rename=rule.hasOwnProperty("tab_rename")?rule.tab_rename:{};if(rule.headers&&typeof rule.headers==="object"){try{let header_keys=Object.keys(rule.headers);for(let k of header_keys){if(k.toLowerCase()==="user-agent"){let v=rule.headers[k];console.log(v);if(["MOBILE_UA","PC_UA","UC_UA","IOS_UA","UA"].includes(v)){rule.headers[k]=eval(v)}}else if(k.toLowerCase()==="cookie"){let v=rule.headers[k];if(v&&v.startsWith("http")){console.log(v);try{v=fetch(v);console.log(v);rule.headers[k]=v}catch(e){console.log(`从${v}获取cookie发生错误:${e.message}`)}}}}}catch(e){console.log(`处理headers发生错误:${e.message}`)}}rule_fetch_params={headers:rule.headers||false,timeout:rule.timeout,encoding:rule.encoding};oheaders=rule.headers||{};RKEY=typeof key!=="undefined"&&key?key:"drpy_"+(rule.title||rule.host);pre();init_test()}catch(e){console.log(`init_test发生错误:${e.message}`)}}let homeHtmlCache=undefined;function home(filter,home_html,class_parse){console.log("home");home_html=home_html||"";class_parse=class_parse||"";if(typeof rule.filter==="string"&&rule.filter.trim().length>0){try{let filter_json=ungzip(rule.filter.trim());rule.filter=JSON.parse(filter_json)}catch(e){rule.filter={}}}let homeObj={filter:rule.filter||false,MY_URL:rule.homeUrl,class_name:rule.class_name||"",class_url:rule.class_url||"",class_parse:class_parse||rule.class_parse||"",cate_exclude:rule.cate_exclude,home_html:home_html};return homeParse(homeObj)}function homeVod(params){console.log("homeVod");let homeVodObj={"推荐":rule.推荐,double:rule.double,homeUrl:rule.homeUrl,detailUrl:rule.detailUrl};return homeVodParse(homeVodObj)}function category(tid,pg,filter,extend){let cateObj={url:rule.url,"一级":rule.一级,tid:tid,pg:parseInt(pg),filter:filter,extend:extend};return categoryParse(cateObj)}function detail(vod_url){let orId=vod_url;let fyclass="";log("orId:"+orId);if(vod_url.indexOf("$")>-1){let tmp=vod_url.split("$");fyclass=tmp[0];vod_url=tmp[1]}let detailUrl=vod_url.split("@@")[0];let url;if(!detailUrl.startsWith("http")&&!detailUrl.includes("/")){url=rule.detailUrl.replaceAll("fyid",detailUrl).replaceAll("fyclass",fyclass)}else if(detailUrl.includes("/")){url=urljoin(rule.homeUrl,detailUrl)}else{url=detailUrl}let detailObj={orId:orId,url:url,"二级":rule.二级,"二级访问前":rule.二级访问前,detailUrl:detailUrl,fyclass:fyclass,tab_exclude:rule.tab_exclude};return detailParse(detailObj)}function play(flag,id,flags){let playObj={url:id,flag:flag,flags:flags};return playParse(playObj)}function search(wd,quick,pg){if(rule.search_encoding){if(rule.search_encoding.toLowerCase()!=="utf-8"){wd=encodeStr(wd,rule.search_encoding)}}else if(rule.encoding&&rule.encoding.toLowerCase()!=="utf-8"){wd=encodeStr(wd,rule.encoding)}let searchObj={searchUrl:rule.searchUrl,"搜索":rule.搜索,wd:wd,pg:pg||1,quick:quick};return searchParse(searchObj)}function proxy(params){if(rule.proxy_rule&&rule.proxy_rule.trim()){rule.proxy_rule=rule.proxy_rule.trim()}if(rule.proxy_rule.startsWith("js:")){rule.proxy_rule=rule.proxy_rule.replace("js:","")}let proxyObj={params:params,proxy_rule:rule.proxy_rule};return proxyParse(proxyObj)}function sniffer(){let enable_sniffer=rule.sniffer||false;if(enable_sniffer){log("开始执行辅助嗅探代理规则...")}return enable_sniffer}function isVideo(url){let t=0;let is_video;if(rule.isVideo&&rule.isVideo.trim()){is_video=rule.isVideo.trim()}if(is_video.startsWith("js:")){is_video=is_video.replace("js:","");t=1}let isVideoObj={url:url,isVideo:is_video,t:t};let result=isVideoParse(isVideoObj);if(result){log("成功执行辅助嗅探规则并检测到视频地址:\n"+rule.isVideo)}return result}function getRule(key){return key?rule[key]||"":rule}function DRPY(){return{runMain:runMain,getRule:getRule,init:init,home:home,homeVod:homeVod,category:category,detail:detail,play:play,search:search,proxy:proxy,sniffer:sniffer,isVideo:isVideo,fixAdM3u8Ai:fixAdM3u8Ai}}export default{runMain:runMain,getRule:getRule,init:init,home:home,homeVod:homeVod,category:category,detail:detail,play:play,search:search,proxy:proxy,sniffer:sniffer,isVideo:isVideo,fixAdM3u8Ai:fixAdM3u8Ai,DRPY:DRPY}; \ No newline at end of file diff --git a/tvboxqq/tvboxqq/肥猫/api/gbk.js b/tvboxqq/tvboxqq/肥猫/api/gbk.js new file mode 100644 index 0000000..796d53a --- /dev/null +++ b/tvboxqq/tvboxqq/肥猫/api/gbk.js @@ -0,0 +1,68 @@ +/*** + * gbk编码解码函数 + * strTool = gbkTool() strTool.encode(key) + * @returns {{encode: (function(*): *), decode: (function(*): *)}} + */ +export function gbkTool(){ + var data=function(zipData){ + var re=zipData + .replace(/#(\d+)\$/g,function(a,b){ + return Array(+b+3).join('#'); + }) + .replace(/#/g,'####') + .replace(/(\w\w):([\w#]+)(?:,|$)/g,function(a,hd,dt){ + return dt.replace(/../g,function(a){ + if(a!='##'){ + return hd+a; + }else{ + return a; + } + }); + }); + return re; + }('4e:020405060f12171f20212326292e2f313335373c40414244464a5155575a5b6263646567686a6b6c6d6e6f727475767778797a7b7c7d7f808182838485878a#909697999c9d9ea3aaafb0b1b4b6b7b8b9bcbdbec8cccfd0d2dadbdce0e2e6e7e9edeeeff1f4f8f9fafcfe,4f:00020304050607080b0c12131415161c1d212328292c2d2e31333537393b3e3f40414244454748494a4b4c525456616266686a6b6d6e7172757778797a7d8081828586878a8c8e909293959698999a9c9e9fa1a2a4abadb0b1b2b3b4b6b7b8b9babbbcbdbec0c1c2c6c7c8c9cbcccdd2d3d4d5d6d9dbe0e2e4e5e7ebecf0f2f4f5f6f7f9fbfcfdff,50:000102030405060708090a#0b0e1011131516171b1d1e20222324272b2f303132333435363738393b3d3f404142444546494a4b4d5051525354565758595b5d5e5f6061626364666768696a6b6d6e6f70717273747578797a7c7d818283848687898a8b8c8e8f909192939495969798999a9b9c9d9e9fa0a1a2a4a6aaabadaeafb0b1b3b4b5b6b7b8b9bcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdced0d1d2d3d4d5d7d8d9dbdcdddedfe0e1e2e3e4e5e8e9eaebeff0f1f2f4f6f7f8f9fafcfdfeff,51:00010203040508#090a0c0d0e0f1011131415161718191a1b1c1d1e1f2022232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e42474a4c4e4f5052535758595b5d5e5f606163646667696a6f727a7e7f838486878a8b8e8f90919394989a9d9e9fa1a3a6a7a8a9aaadaeb4b8b9babebfc1c2c3c5c8cacdced0d2d3d4d5d6d7d8d9dadcdedfe2e3e5e6e7e8e9eaeceef1f2f4f7fe,52:0405090b0c0f101314151c1e1f2122232526272a2c2f313234353c3e4445464748494b4e4f5253555758#595a5b5d5f6062636466686b6c6d6e7071737475767778797a7b7c7e808384858687898a8b8c8d8e8f91929495969798999a9ca4a5a6a7aeafb0b4b5b6b7b8b9babbbcbdc0c1c2c4c5c6c8cacccdcecfd1d3d4d5d7d9dadbdcdddee0e1e2e3e5e6e7e8e9eaebecedeeeff1f2f3f4f5f6f7f8fbfcfd,53:0102030407090a0b0c0e11121314181b1c1e1f2224252728292b2c2d2f3031323334353637383c3d404244464b4c4d505458595b5d65686a6c6d7276797b7c7d7e80818387888a8e8f#90919293949697999b9c9ea0a1a4a7aaabacadafb0b1b2b3b4b5b7b8b9babcbdbec0c3c4c5c6c7cecfd0d2d3d5dadcdddee1e2e7f4fafeff,54:000205070b1418191a1c2224252a303336373a3d3f4142444547494c4d4e4f515a5d5e5f6061636567696a6b6c6d6e6f7074797a7e7f8183858788898a8d919397989c9e9fa0a1a2a5aeb0b2b5b6b7b9babcbec3c5cacbd6d8dbe0e1e2e3e4ebeceff0f1f4f5f6f7f8f9fbfe,55:0002030405080a0b0c0d0e121315161718191a1c1d1e1f212526#28292b2d3234353638393a3b3d40424547484b4c4d4e4f515253545758595a5b5d5e5f60626368696b6f7071727374797a7d7f85868c8d8e9092939596979a9b9ea0a1a2a3a4a5a6a8a9aaabacadaeafb0b2b4b6b8babcbfc0c1c2c3c6c7c8cacbcecfd0d5d7d8d9dadbdee0e2e7e9edeef0f1f4f6f8f9fafbfcff,56:0203040506070a0b0d1011121314151617191a1c1d202122252628292a2b2e2f30333537383a3c3d3e404142434445464748494a4b4f5051525355565a5b5d5e5f6061#636566676d6e6f70727374757778797a7d7e7f80818283848788898a8b8c8d9091929495969798999a9b9c9d9e9fa0a1a2a4a5a6a7a8a9aaabacadaeb0b1b2b3b4b5b6b8b9babbbdbebfc0c1c2c3c4c5c6c7c8c9cbcccdcecfd0d1d2d3d5d6d8d9dce3e5e6e7e8e9eaeceeeff2f3f6f7f8fbfc,57:00010205070b0c0d0e0f101112131415161718191a1b1d1e202122242526272b313234353637383c3d3f414344454648494b52535455565859626365676c6e707172747578797a7d7e7f80#818788898a8d8e8f90919495969798999a9c9d9e9fa5a8aaacafb0b1b3b5b6b7b9babbbcbdbebfc0c1c4c5c6c7c8c9cacccdd0d1d3d6d7dbdcdee1e2e3e5e6e7e8e9eaebeceef0f1f2f3f5f6f7fbfcfeff,58:0103040508090a0c0e0f101213141617181a1b1c1d1f222325262728292b2c2d2e2f31323334363738393a3b3c3d3e3f4041424345464748494a4b4e4f505253555657595a5b5c5d5f6061626364666768696a6d6e6f707172737475767778797a7b7c7d7f82848687888a8b8c#8d8e8f909194959697989b9c9da0a1a2a3a4a5a6a7aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbdbebfc0c2c3c4c6c7c8c9cacbcccdcecfd0d2d3d4d6d7d8d9dadbdcdddedfe0e1e2e3e5e6e7e8e9eaedeff1f2f4f5f7f8fafbfcfdfeff,59:000103050608090a0b0c0e1011121317181b1d1e2021222326282c30323335363b3d3e3f404345464a4c4d505253595b5c5d5e5f616364666768696a6b6c6d6e6f70717275777a7b7c7e7f8085898b8c8e8f90919495989a9b9c9d9fa0a1a2a6#a7acadb0b1b3b4b5b6b7b8babcbdbfc0c1c2c3c4c5c7c8c9cccdcecfd5d6d9dbdedfe0e1e2e4e6e7e9eaebedeeeff0f1f2f3f4f5f6f7f8fafcfdfe,5a:00020a0b0d0e0f101214151617191a1b1d1e2122242627282a2b2c2d2e2f3033353738393a3b3d3e3f414243444547484b4c4d4e4f5051525354565758595b5c5d5e5f60616364656668696b6c6d6e6f7071727378797b7c7d7e808182838485868788898a8b8c8d8e8f9091939495969798999c9d9e9fa0a1a2a3a4a5a6a7a8a9abac#adaeafb0b1b4b6b7b9babbbcbdbfc0c3c4c5c6c7c8cacbcdcecfd0d1d3d5d7d9dadbdddedfe2e4e5e7e8eaecedeeeff0f2f3f4f5f6f7f8f9fafbfcfdfeff,5b:0001020304050607080a0b0c0d0e0f10111213141518191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303133353638393a3b3c3d3e3f4142434445464748494a4b4c4d4e4f52565e606167686b6d6e6f7274767778797b7c7e7f82868a8d8e90919294969fa7a8a9acadaeafb1b2b7babbbcc0c1c3c8c9cacbcdcecf#d1d4d5d6d7d8d9dadbdce0e2e3e6e7e9eaebecedeff1f2f3f4f5f6f7fdfe,5c:0002030507080b0c0d0e10121317191b1e1f2021232628292a2b2d2e2f303233353637434446474c4d5253545657585a5b5c5d5f62646768696a6b6c6d70727374757677787b7c7d7e808384858687898a8b8e8f9293959d9e9fa0a1a4a5a6a7a8aaaeafb0b2b4b6b9babbbcbec0c2c3c5c6c7c8c9cacccdcecfd0d1d3d4d5d6d7d8dadbdcdddedfe0e2e3e7e9ebeceeeff1f2f3f4f5f6f7f8f9fafcfdfeff,5d:00#01040508090a0b0c0d0f10111213151718191a1c1d1f2021222325282a2b2c2f3031323335363738393a3b3c3f4041424344454648494d4e4f5051525354555657595a5c5e5f6061626364656667686a6d6e7071727375767778797a7b7c7d7e7f8081838485868788898a8b8c8d8e8f9091929394959697989a9b9c9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b8b9babbbcbdbebfc0c1c2c3c4c6c7c8c9cacbcccecfd0d1d2d3d4d5d6d7d8d9dadcdfe0e3e4eaeced#f0f5f6f8f9fafbfcff,5e:000407090a0b0d0e1213171e1f20212223242528292a2b2c2f303233343536393a3e3f404143464748494a4b4d4e4f50515253565758595a5c5d5f60636465666768696a6b6c6d6e6f70717577797e8182838588898c8d8e92989b9da1a2a3a4a8a9aaabacaeafb0b1b2b4babbbcbdbfc0c1c2c3c4c5c6c7c8cbcccdcecfd0d4d5d7d8d9dadcdddedfe0e1e2e3e4e5e6e7e9ebecedeeeff0f1f2f3f5f8f9fbfcfd,5f:050607090c0d0e10121416191a1c1d1e21222324#282b2c2e30323334353637383b3d3e3f4142434445464748494a4b4c4d4e4f5154595a5b5c5e5f60636567686b6e6f72747576787a7d7e7f83868d8e8f919394969a9b9d9e9fa0a2a3a4a5a6a7a9abacafb0b1b2b3b4b6b8b9babbbebfc0c1c2c7c8cacbced3d4d5dadbdcdedfe2e3e5e6e8e9eceff0f2f3f4f6f7f9fafc,60:0708090b0c10111317181a1e1f2223242c2d2e3031323334363738393a3d3e404445464748494a4c4e4f5153545657585b5c5e5f606165666e71727475777e80#8182858687888a8b8e8f909193959798999c9ea1a2a4a5a7a9aaaeb0b3b5b6b7b9babdbebfc0c1c2c3c4c7c8c9cccdcecfd0d2d3d4d6d7d9dbdee1e2e3e4e5eaf1f2f5f7f8fbfcfdfeff,61:02030405070a0b0c1011121314161718191b1c1d1e21222528292a2c2d2e2f303132333435363738393a3b3c3d3e4041424344454647494b4d4f50525354565758595a5b5c5e5f606163646566696a6b6c6d6e6f717273747678797a7b7c7d7e7f808182838485868788898a8c8d8f9091929395#969798999a9b9c9e9fa0a1a2a3a4a5a6aaabadaeafb0b1b2b3b4b5b6b8b9babbbcbdbfc0c1c3c4c5c6c7c9cccdcecfd0d3d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e7e8e9eaebecedeeeff0f1f2f3f4f6f7f8f9fafbfcfdfe,62:00010203040507091314191c1d1e2023262728292b2d2f303132353638393a3b3c424445464a4f50555657595a5c5d5e5f6061626465687172747577787a7b7d818283858687888b8c8d8e8f9094999c9d9ea3a6a7a9aaadaeafb0b2b3b4b6b7b8babec0c1#c3cbcfd1d5dddee0e1e4eaebf0f2f5f8f9fafb,63:00030405060a0b0c0d0f10121314151718191c2627292c2d2e30313334353637383b3c3e3f40414447484a51525354565758595a5b5c5d60646566686a6b6c6f707273747578797c7d7e7f81838485868b8d9193949597999a9b9c9d9e9fa1a4a6abafb1b2b5b6b9bbbdbfc0c1c2c3c5c7c8cacbccd1d3d4d5d7d8d9dadbdcdddfe2e4e5e6e7e8ebeceeeff0f1f3f5f7f9fafbfcfe,64:0304060708090a0d0e111215161718191a1d1f222324#252728292b2e2f3031323335363738393b3c3e404243494b4c4d4e4f505153555657595a5b5c5d5f60616263646566686a6b6c6e6f70717273747576777b7c7d7e7f8081838688898a8b8c8d8e8f90939497989a9b9c9d9fa0a1a2a3a5a6a7a8aaabafb1b2b3b4b6b9bbbdbebfc1c3c4c6c7c8c9cacbcccfd1d3d4d5d6d9dadbdcdddfe0e1e3e5e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,65:01020304050607080a0b0c0d0e0f10111314151617191a1b1c1d1e1f2021#222324262728292a2c2d30313233373a3c3d404142434446474a4b4d4e5052535457585a5c5f606164656768696a6d6e6f7173757678797a7b7c7d7e7f8081828384858688898a8d8e8f92949596989a9d9ea0a2a3a6a8aaacaeb1b2b3b4b5b6b7b8babbbebfc0c2c7c8c9cacdd0d1d3d4d5d8d9dadbdcdddedfe1e3e4eaebf2f3f4f5f8f9fbfcfdfeff,66:0104050708090b0d1011121617181a1b1c1e2122232426292a2b2c2e3032333738393a3b3d3f40424445464748494a4d4e505158#595b5c5d5e6062636567696a6b6c6d7172737578797b7c7d7f808183858688898a8b8d8e8f909293949598999a9b9c9e9fa0a1a2a3a4a5a6a9aaabacadafb0b1b2b3b5b6b7b8babbbcbdbfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8dadedfe0e1e2e3e4e5e7e8eaebecedeeeff1f5f6f8fafbfd,67:010203040506070c0e0f1112131618191a1c1e20212223242527292e303233363738393b3c3e3f414445474a4b4d5254555758595a5b5d62636466676b6c6e717476#78797a7b7d8082838586888a8c8d8e8f9192939496999b9fa0a1a4a6a9acaeb1b2b4b9babbbcbdbebfc0c2c5c6c7c8c9cacbcccdced5d6d7dbdfe1e3e4e6e7e8eaebedeef2f5f6f7f8f9fafbfcfe,68:01020304060d1012141518191a1b1c1e1f20222324252627282b2c2d2e2f30313435363a3b3f474b4d4f52565758595a5b5c5d5e5f6a6c6d6e6f707172737578797a7b7c7d7e7f8082848788898a8b8c8d8e90919294959698999a9b9c9d9e9fa0a1a3a4a5a9aaabacaeb1b2b4b6b7b8#b9babbbcbdbebfc1c3c4c5c6c7c8cacccecfd0d1d3d4d6d7d9dbdcdddedfe1e2e4e5e6e7e8e9eaebecedeff2f3f4f6f7f8fbfdfeff,69:00020304060708090a0c0f11131415161718191a1b1c1d1e21222325262728292a2b2c2e2f313233353637383a3b3c3e4041434445464748494a4b4c4d4e4f50515253555658595b5c5f616264656768696a6c6d6f7072737475767a7b7d7e7f8183858a8b8c8e8f909192939697999a9d9e9fa0a1a2a3a4a5a6a9aaacaeafb0b2b3b5b6b8b9babcbd#bebfc0c2c3c4c5c6c7c8c9cbcdcfd1d2d3d5d6d7d8d9dadcdddee1e2e3e4e5e6e7e8e9eaebeceeeff0f1f3f4f5f6f7f8f9fafbfcfe,6a:000102030405060708090b0c0d0e0f10111213141516191a1b1c1d1e20222324252627292b2c2d2e30323334363738393a3b3c3f40414243454648494a4b4c4d4e4f515253545556575a5c5d5e5f60626364666768696a6b6c6d6e6f70727374757677787a7b7d7e7f81828385868788898a8b8c8d8f929394959698999a9b9c9d9e9fa1a2a3a4a5a6#a7a8aaadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,6b:000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f252628292a2b2c2d2e2f303133343536383b3c3d3f4041424445484a4b4d4e4f5051525354555657585a5b5c5d5e5f606168696b6c6d6e6f7071727374757677787a7d7e7f808588#8c8e8f909194959798999c9d9e9fa0a2a3a4a5a6a7a8a9abacadaeafb0b1b2b6b8b9babbbcbdbec0c3c4c6c7c8c9caccced0d1d8dadcdddedfe0e2e3e4e5e6e7e8e9ecedeef0f1f2f4f6f7f8fafbfcfeff,6c:000102030408090a0b0c0e12171c1d1e2023252b2c2d31333637393a3b3c3e3f434445484b4c4d4e4f5152535658595a62636566676b6c6d6e6f71737577787a7b7c7f8084878a8b8d8e9192959697989a9c9d9ea0a2a8acafb0b4b5b6b7bac0c1c2c3c6c7c8cbcdcecfd1d2d8#d9dadcdddfe4e6e7e9ecedf2f4f9ff,6d:000203050608090a0d0f101113141516181c1d1f20212223242628292c2d2f30343637383a3f404244494c50555657585b5d5f6162646567686b6c6d707172737576797a7b7d7e7f8081838486878a8b8d8f9092969798999a9ca2a5acadb0b1b3b4b6b7b9babbbcbdbec1c2c3c8c9cacdcecfd0d2d3d4d5d7dadbdcdfe2e3e5e7e8e9eaedeff0f2f4f5f6f8fafdfeff,6e:0001020304060708090b0f12131518191b1c1e1f222627282a2c2e30313335#3637393b3c3d3e3f40414245464748494a4b4c4f5051525557595a5c5d5e606162636465666768696a6c6d6f707172737475767778797a7b7c7d8081828487888a8b8c8d8e91929394959697999a9b9d9ea0a1a3a4a6a8a9abacadaeb0b3b5b8b9bcbebfc0c3c4c5c6c8c9cacccdced0d2d6d8d9dbdcdde3e7eaebecedeeeff0f1f2f3f5f6f7f8fafbfcfdfeff,6f:000103040507080a0b0c0d0e101112161718191a1b1c1d1e1f212223252627282c2e303234353738393a3b3c3d3f404142#43444548494a4c4e4f5051525354555657595a5b5d5f60616364656768696a6b6c6f707173757677797b7d7e7f808182838586878a8b8f909192939495969798999a9b9d9e9fa0a2a3a4a5a6a8a9aaabacadaeafb0b1b2b4b5b7b8babbbcbdbebfc1c3c4c5c6c7c8cacbcccdcecfd0d3d4d5d6d7d8d9dadbdcdddfe2e3e4e5e6e7e8e9eaebecedf0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,70:000102030405060708090a0b0c0d0e0f1012131415161718191c1d1e1f2021222425262728292a#2b2c2d2e2f30313233343637383a3b3c3d3e3f404142434445464748494a4b4d4e505152535455565758595a5b5c5d5f606162636465666768696a6e7172737477797a7b7d818283848687888b8c8d8f90919397989a9b9e9fa0a1a2a3a4a5a6a7a8a9aab0b2b4b5b6babebfc4c5c6c7c9cbcccdcecfd0d1d2d3d4d5d6d7dadcdddee0e1e2e3e5eaeef0f1f2f3f4f5f6f8fafbfcfeff,71:0001020304050607080b0c0d0e0f111214171b1c1d1e1f2021222324252728292a2b2c2d2e323334#353738393a3b3c3d3e3f4041424344464748494b4d4f505152535455565758595a5b5d5f6061626365696a6b6c6d6f707174757677797b7c7e7f8081828385868788898b8c8d8e909192939596979a9b9c9d9ea1a2a3a4a5a6a7a9aaabadaeafb0b1b2b4b6b7b8babbbcbdbebfc0c1c2c4c5c6c7c8c9cacbcccdcfd0d1d2d3d6d7d8d9dadbdcdddedfe1e2e3e4e6e8e9eaebecedeff0f1f2f3f4f5f6f7f8fafbfcfdfeff,72:0001020304050708090a0b0c0d0e0f101112131415161718191a#1b1c1e1f2021222324252627292b2d2e2f3233343a3c3e40414243444546494a4b4e4f505153545557585a5c5e60636465686a6b6c6d707173747677787b7c7d828385868788898c8e9091939495969798999a9b9c9d9ea0a1a2a3a4a5a6a7a8a9aaabaeb1b2b3b5babbbcbdbebfc0c5c6c7c9cacbcccfd1d3d4d5d6d8dadb#95$,30:000102,00b702:c9c7,00a830:0305,2014ff5e20:162618191c1d,30:141508090a0b0c0d0e0f16171011,00:b1d7f7,22:362728110f2a2908371aa52520,231222:992b2e614c483d1d606e6f64651e3534,26:4240,00b020:3233,2103ff0400a4ff:e0e1,203000a7211626:0605,25:cbcfcec7c6a1a0b3b2,203b21:92909193,30:13#95$,21:70717273747576777879#4$,24:88898a8b8c8d8e8f909192939495969798999a9b7475767778797a7b7c7d7e7f808182838485868760616263646566676869##,32:20212223242526272829##,21:606162636465666768696a6b#97$,ff:010203e505060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5de3#95$,30:4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f90919293#106$a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6#103$,03:9192939495969798999a9b9c9d9e9fa0a1a3a4a5a6a7a8a9#6$b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c3c4c5c6c7c8c9#5$,fe:3536393a3f403d3e41424344##3b3c373831#3334#104$,04:10111213141501161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f#13$30313233343551363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f#11$,02:cacbd9,20:13152535,21:050996979899,22:151f23526667bf,25:505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f7071727381828384858687#88898a8b8c8d8e8f939495bcbde2e3e4e5,2609229530:121d1e#9$,010100e101ce00e0011300e9011b00e8012b00ed01d000ec014d00f301d200f2016b00fa01d400f901:d6d8dadc,00:fcea,0251e7c701:4448,e7c802:61#2$,31:05060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20212223242526272829#19$,30:212223242526272829,32a333:8e8f9c9d9ea1c4ced1d2d5,fe30ff:e2e4#,212132:31#,20:10#1$,30:fc9b9cfdfe069d9e,fe:494a4b4c4d4e4f50515254555657595a5b5c5d5e5f6061#626364656668696a6b,e7:e7e8e9eaebecedeeeff0f1f2f3,30:07#11$,25:000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b#13$,72:dcdddfe2e3e4e5e6e7eaebf5f6f9fdfeff,73:00020405060708090b0c0d0f1011121418191a1f2023242627282d2f30323335363a3b3c3d404142434445464748#494a4b4c4e4f515354555658595a5b5c5d5e5f6162636465666768696a6b6e7071#92$72737475767778797a7b7c7d7f808182838586888a8c8d8f90929394959798999a9c9d9ea0a1a3a4a5a6a7a8aaacadb1b4b5b6b8b9bcbdbebfc1c3c4c5c6c7#cbccced2d3d4d5d6d7d8dadbdcdddfe1e2e3e4e6e8eaebeceeeff0f1f3f4f5f6f7#92$f8f9fafbfcfdfeff,74:0001020407080b0c0d0e1112131415161718191c1d1e1f2021232427292b2d2f31323738393a3b3d3e3f4042434445464748494a4b4c4d#4e4f505152535456585d606162636465666768696a6b6c6e6f717273747578797a#92$7b7c7d7f8284858688898a8c8d8f9192939495969798999a9b9d9fa0a1a2a3a4a5a6aaabacadaeafb0b1b2b3b4b5b6b7b8b9bbbcbdbebfc0c1c2c3c4c5c6c7#c8c9cacbcccdcecfd0d1d3d4d5d6d7d8d9dadbdddfe1e5e7e8e9eaebecedf0f1f2#92$f3f5f8f9fafbfcfdfe,75:0001020305060708090a0b0c0e1012141516171b1d1e202122232426272a2e3436393c3d3f414243444647494a4d5051525355565758#5d5e5f60616263646768696b6c6d6e6f7071737576777a7b7c7d7e808182848587#92$88898a8c8d8e909395989b9c9ea2a6a7a8a9aaadb6b7babbbfc0c1c6cbcccecfd0d1d3d7d9dadcdddfe0e1e5e9ecedeeeff2f3f5f6f7f8fafbfdfe,76:02040607#08090b0d0e0f11121314161a1c1d1e212327282c2e2f31323637393a3b3d414244#92$45464748494a4b4e4f50515253555758595a5b5d5f6061626465666768696a6c6d6e7071727374757677797a7c7f80818385898a8c8d8f9092949597989a9b#9c9d9e9fa0a1a2a3a5a6a7a8a9aaabacadafb0b3b5b6b7b8b9babbbcbdbec0c1c3,554a963f57c3632854ce550954c076:914c,853c77ee827e788d72319698978d6c285b894ffa630966975cb880fa684880ae660276ce51f9655671ac7ff1888450b2596561ca6fb382ad634c625253ed54277b06516b75a45df462d48dcb9776628a8019575d97387f627238767d67cf767e64464f708d2562dc7a17659173ed642c6273822c9881677f724862:6ecc,4f3474e3534a529e7eca90a65e2e6886699c81807ed168d278c5868c9551508d8c2482de80de53058912526576:c4c7c9cbccd3d5d9dadcdddee0e1e2e3e4e6e7e8e9eaebecedf0f3f5f6f7fafbfdff,77:00020305060a0c0e0f1011121314151617181b1c1d1e21232425272a2b#2c2e3031323334393b3d3e3f4244454648494a4b4c4d4e4f52535455565758595c,858496f94fdd582199715b9d62:b1a5,66b48c799c8d7206676f789160b253:5117,8f8880cc8d1d94a1500d72c8590760eb711988ab595482ef672c7b285d297ef7752d6cf58e668ff8903c9f3b6bd491197b145f7c78a784d6853d6b:d5d9d6,5e:0187,75f995ed655d5f:0ac5,8f9f58c181c2907f965b97ad8fb97f168d2c62414fbf53:d85e,8f:a8a9ab,904d68075f6a819888689cd6618b522b762a5f6c658c6fd26ee85bbe644851:75b0,67c44e1979c9997c70b377:5d5e5f606467696a6d6e6f7071727374757677787a7b7c818283868788898a8b8f90939495969798999a9b9c9d9ea1a3a4a6a8abadaeafb1b2b4b6b7b8b9ba#bcbec0c1c2c3c4c5c6c7c8c9cacbcccecfd0d1d2d3d4d5d6d8d9dadddedfe0e1e4,75c55e7673bb83e064ad62e894b56ce2535a52c3640f94c27b944f2f5e1b823681:168a,6e246cca9a736355535c54fa886557e04e0d5e036b657c3f90e8601664e6731c88c16750624d8d22776c8e2991c75f6983dc8521991053c286956b8b60:ede8,707f82:cd31,4ed36ca785cf64cd7cd969fd66f9834953957b564fa7518c6d4b5c428e6d63d253c983:2c36,67e578b4643d5bdf5c945dee8be762c667f48c7a640063ba8749998b8c177f2094f24ea7961098a4660c731677:e6e8eaeff0f1f2f4f5f7f9fafbfc,78:0304050607080a0b0e0f101315191b1e20212224282a2b2e2f31323335363d3f414243444648494a4b4d4f51535458595a#5b5c5e5f606162636465666768696f7071727374757678797a7b7d7e7f80818283,573a5c1d5e38957f507f80a05382655e7545553150218d856284949e671d56326f6e5de2543570928f66626f64a463a35f7b6f8890f481e38fb05c1866685ff16c8996488d81886c649179f057ce6a59621054484e587a0b60e96f848bda627f901e9a8b79e4540375f4630153196c608fdf5f1b9a70803b9f7f4f885c3a8d647fc565a570bd51:45b2,866b5d075ba062bd916c75748e0c7a2061017b794ec77ef877854e1181ed521d51fa6a7153a88e87950496cf6ec19664695a78:848586888a8b8f9092949596999d9ea0a2a4a6a8a9aaabacadaeafb5b6b7b8babbbcbdbfc0c2c3c4c6c7c8cccdcecfd1d2d3d6d7d8dadbdcdddedfe0e1e2e3#e4e5e6e7e9eaebedeeeff0f1f3f5f6f8f9fbfcfdfeff,79:00020304060708090a0b0c,784050a877d7641089e6590463e35ddd7a7f693d4f20823955984e3275ae7a975e:628a,95ef521b5439708a6376952457826625693f918755076df37eaf882262337ef075b5832878c196cc8f9e614874f78bcd6b64523a8d506b21806a847156f153064e:ce1b,51d17c97918b7c074fc38e7f7be17a9c64675d1450ac810676017cb96dec7fe067515b:58f8,78cb64:ae13,63:aa2b,9519642d8fbe7b5476296253592754466b7950a362345e266b864ee38d37888b5f85902e79:0d0e0f1011121415161718191a1b1c1d1f2021222325262728292a2b2c2d2e2f3031323335363738393d3f42434445474a4b4c4d4e4f505152545558596163#6466696a6b6c6e70717273747576797b7c7d7e7f8283868788898b8c8d8e909192,6020803d62c54e39535590f863b880c665e66c2e4f4660ee6de18bde5f3986cb5f536321515a83616863520063638e4850125c9b79775bfc52307a3b60bc905376d75f:b797,76848e6c706f767b7b4977aa51f3909358244f4e6ef48fea654c7b1b72c46da47fdf5ae162b55e95573084827b2c5e1d5f1f90127f1498a063826ec7789870b95178975b57ab75354f4375385e9760e659606dc06bbf788953fc96d551cb52016389540a94938c038dcc7239789f87768fed8c0d53e079:939495969798999b9c9d9e9fa0a1a2a3a4a5a6a8a9aaabacadaeafb0b1b2b4b5b6b7b8bcbfc2c4c5c7c8cacccecfd0d3d4d6d7d9dadbdcdddee0e1e2e5e8ea#eceef1f2f3f4f5f6f7f9fafcfeff,7a:0104050708090a0c0f10111213151618191b1c,4e0176ef53ee948998769f0e952d5b9a8ba24e:221c,51ac846361c252a8680b4f97606b51bb6d1e515c6296659796618c46901775d890fd77636bd272:8aec,8bfb583577798d4c675c9540809a5ea66e2159927aef77ed953b6bb565ad7f0e58065151961f5bf958a954288e726566987f56e4949d76fe9041638754c659:1a3a,579b8eb267358dfa8235524160f0581586fe5ce89e454fc4989d8bb95a2560765384627c904f9102997f6069800c513f80335c1499756d314e8c7a:1d1f21222425262728292a2b2c2d2e2f303132343536383a3e4041424344454748494a4b4c4d4e4f50525354555658595a5b5c5d5e5f606162636465666768#696a6b6c6d6e6f717273757b7c7d7e828587898a8b8c8e8f909394999a9b9ea1a2,8d3053d17f5a7b4f4f104e4f96006cd573d085e95e06756a7ffb6a0a77fe94927e4151e170e653cd8fd483038d2972af996d6cdb574a82b365b980aa623f963259a84eff8bbf7eba653e83f2975e556198de80a5532a8bfd542080ba5e9f6cb88d3982ac915a54296c1b52067eb7575f711a6c7e7c89594b4efd5fff61247caa4e305c0167ab87025cf0950b98ce75af70fd902251af7f1d8bbd594951e44f5b5426592b657780a45b7562:76c2,8f905e456c1f7b264f:0fd8,670d7a:a3a4a7a9aaabaeafb0b1b2b4b5b6b7b8b9babbbcbdbec0c1c2c3c4c5c6c7c8c9cacccdcecfd0d1d2d3d4d5d7d8dadbdcdde1e2e4e7e8e9eaebeceef0f1f2f3#f4f5f6f7f8fbfcfe,7b:0001020507090c0d0e1012131617181a1c1d1f21222327292d,6d:6eaa,798f88b15f17752b629a8f854fef91dc65a781:2f51,5e9c81508d74526f89868d4b590d50854ed8961c723681798d1f5bcc8ba3964459877f1a549056:760e,8be565396982949976d66e895e72751867:46d1,7aff809d8d76611f79c665628d635188521a94a27f38809b7eb25c976e2f67607bd9768b9ad8818f7f947cd5641e95507a3f54:4ae5,6b4c640162089e3d80f3759952729769845b683c86e496:0194,94ec4e2a54047ed968398ddf801566f45e9a7fb97b:2f303234353637393b3d3f404142434446484a4d4e535557595c5e5f61636465666768696a6b6c6d6f70737476787a7c7d7f81828384868788898a8b8c8e8f#9192939698999a9b9e9fa0a3a4a5aeafb0b2b3b5b6b7b9babbbcbdbebfc0c2c3c4,57c2803f68975de5653b529f606d9f9a4f9b8eac516c5bab5f135de96c5e62f18d21517194a952fe6c9f82df72d757a267848d2d591f8f9c83c754957b8d4f306cbd5b6459d19f1353e486ca9aa88c3780a16545987e56fa96c7522e74dc52505be1630289024e5662d0602a68fa51735b9851a089c27ba199867f5060ef704c8d2f51495e7f901b747089c4572d78455f529f9f95fa8f689b3c8be17678684267dc8d:ea35,523d8f8a6eda68cd950590ed56fd679c88f98fc754c87b:c5c8c9cacbcdcecfd0d2d4d5d6d7d8dbdcdedfe0e2e3e4e7e8e9ebecedeff0f2f3f4f5f6f8f9fafbfdff,7c:0001020304050608090a0d0e101112131415171819#1a1b1c1d1e20212223242528292b2c2d2e2f3031323334353637393a3b3c3d3e42,9ab85b696d776c264ea55bb39a87916361a890af97e9542b6db55bd251fd558a7f:55f0,64bc634d65f161be608d710a6c:5749,592f676d822a58d5568e8c6a6beb90dd597d801753f76d695475559d83:77cf,683879be548c4f55540876d28c8996026cb36db88d6b89109e648d3a563f9ed175d55f8872e0606854fc4ea86a2a886160528f7054c470d886799e3f6d2a5b8f5f187ea255894faf7334543c539a501954:0e7c,4e4e5ffd745a58f6846b80e1877472d07cca6e567c:434445464748494a4b4c4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f70717275767778797a7e7f8081828384858687#888a8b8c8d8e8f90939496999a9ba0a1a3a6a7a8a9abacadafb0b4b5b6b7b8babb,5f27864e552c62a44e926caa623782b154d7534e733e6ed1753b521253168bdd69d05f8a60006dee574f6b2273af68538fd87f13636260a3552475ea8c6271156da35ba65e7b8352614c9ec478fa87577c27768751f060f6714c66435e4c604d8c0e707063258f895fbd606286d456de6bc160946167534960e066668d3f79fd4f1a70e96c478b:b3f2,7ed88364660f5a5a9b426d:51f7,8c416d3b4f19706b83b7621660d1970d8d27797851fb57:3efa,673a75787a3d79ef7b957c:bfc0c2c3c4c6c9cbcecfd0d1d2d3d4d8dadbdddee1e2e3e4e5e6e7e9eaebecedeef0f1f2f3f4f5f6f7f9fafcfdfeff,7d:000102030405060708090b0c0d0e0f10#1112131415161718191a1b1c1d1e1f212324252628292a2c2d2e30313233343536,808c99658ff96fc08ba59e2159ec7ee97f095409678168d88f917c4d96c653ca602575be6c7253735ac97ea7632451e0810a5df184df628051805b634f0e796d524260b86d4e5b:c4c2,8b:a1b0,65e25fcc964559937e:e7aa,560967b759394f735bb652a0835a988a8d3e753294be50477a3c4ef767b69a7e5ac16b7c76d1575a5c167b3a95f4714e517c80a9827059787f04832768c067ec78:b177,62e363617b804fed526a51cf835069db92748d:f531,89c1952e7bad4ef67d:3738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6f70717273747576#78797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798,506582305251996f6e:1085,6da75efa50f559dc5c066d466c5f7586848b686859568bb253209171964d854969127901712680f64ea490ca6d479a845a0756bc640594f077eb4fa5811a72e189d2997a7f347ede527f655991758f:7f83,53eb7a9663:eda5,768679f888579636622a52ab8282685467706377776b7aed6d017ed389e359d0621285c982a5754c501f4ecb75a58beb5c4a5dfe7b4b65a491d14eca6d25895f7d2795264ec58c288fdb9773664b79818fd170ec6d787d:999a9b9c9d9e9fa0a1a2a3a4a5a7a8a9aaabacadafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9#dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fa,5c3d52b283465162830e775b66769cb84eac60ca7c:beb3,7ecf4e958b66666f988897595883656c955c5f8475c997567a:dfde,51c070af7a9863ea7a767ea0739697ed4e4570784e5d915253a965:51e7,81fc8205548e5c31759a97a062d872d975bd5c459a7983ca5c40548077e94e3e6cae805a62d2636e5de851778ddd8e1e952f4ff153e560e770ac526763509e435a1f5026773753777ee26485652b628963985014723589c951b38bc07edd574783cc94a7519b541b5cfb7d:fbfcfdfeff,7e:000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f30313233343536373839#3a3c3d3e3f40424344454648494a4b4c4d4e4f505152535455565758595a5b5c5d,4fca7ae36d5a90e19a8f55805496536154af5f0063e9697751ef6168520a582a52d8574e780d770b5eb761777ce062:5b97,4ea27095800362f770e49760577782db67ef68f578d5989779d158f354b353ef6e34514b523b5ba28bfe80af554357a660735751542d7a7a60505b5463a762a053e362635bc767af54ed7a9f82e691775e9388e4593857ae630e8de880ef57577b774fa95feb5bbd6b3e53217b5072c2684677:ff36,65f751b54e8f76d45cbf7aa58475594e9b4150807e:5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f8081838485868788898a8b8c8d8e8f909192939495969798999a9c9d9e#aeb4bbbcd6e4ecf9,7f:0a101e37393b3c3d3e3f404143464748494a4b4c4d4e4f5253,998861276e8357646606634656f062:ec69,5ed39614578362c955878721814a8fa3556683b167658d5684dd5a6a680f62e67bee961151706f9c8c3063fd89c861d27f0670c26ee57405699472fc5eca90ce67176d6a635e52b3726280014f6c59e5916a70d96d9d52d24e5096f7956d857e78ca7d2f5121579264c2808b7c7b6cea68f1695e51b7539868a872819ece7bf172f879bb6f137406674e91cc9ca4793c83:8954,540f68174e3d538952b1783e5386522950884f:8bd0,7f:56595b5c5d5e6063646566676b6c6d6f7073757677787a7b7c7d7f8082838485868788898b8d8f9091929395969798999b9ca0a2a3a5a6a8a9aaabacadaeb1#b3b4b5b6b7babbbec0c2c3c4c6c7c8c9cbcdcfd0d1d2d3d6d7d9dadbdcdddee2e3,75e27acb7c926ca596b6529b748354e94fe9805483b28fde95705ec9601c6d9f5e18655b813894fe604b70bc7ec37cae51c968817cb1826f4e248f8691cf667e4eae8c0564a9804a50da759771ce5be58fbd6f664e86648295635ed66599521788c270c852a3730e7433679778f797164e3490bb9cde6dcb51db8d41541d62ce73b283f196f69f8494c34f367f9a51cc707596755cad988653e64ee46e9c740969b4786b998f7559521876246d4167f3516d9f99804b54997b3c7abf7f:e4e7e8eaebecedeff2f4f5f6f7f8f9fafdfeff,80:020708090a0e0f11131a1b1d1e1f2123242b2c2d2e2f303234393a3c3e404144454748494e4f505153555657#595b5c5d5e5f6061626364656667686b6c6d6e6f7072737475767778797a7b7c7d,9686578462e29647697c5a0464027bd36f0f964b82a6536298855e90708963b35364864f9c819e93788c97328d:ef42,9e7f6f5e79845f559646622e9a74541594dd4fa365c55c:6561,7f1586516c2f5f8b73876ee47eff5ce6631b5b6a6ee653754e7163a0756562a18f6e4f264ed16ca67eb68bba841d87ba7f57903b95237ba99aa188f8843d6d1b9a867edc59889ebb739b780186829a:6c82,561b541757cb4e709ea653568fc881097792999286ee6ee1851366fc61626f2b80:7e818285888a8d8e8f909192949597999ea3a6a7a8acb0b3b5b6b8b9bbc5c7c8c9cacbcfd0d1d2d3d4d5d8dfe0e2e3e6eef5f7f9fbfeff,81:000103040507080b#0c1517191b1c1d1f202122232425262728292a2b2d2e3033343537393a3b3c3d3f,8c298292832b76f26c135fd983bd732b8305951a6bdb77db94c6536f830251925e3d8c8c8d384e4873ab679a68859176970971646ca177095a9295416bcf7f8e66275bd059b95a9a95:e8f7,4eec84:0c99,6aac76df9530731b68a65b5f772f919a97617cdc8ff78c1c5f257c7379d889c56ccc871c5bc65e4268c977207ef551:954d,52c95a297f05976282d763cf778485d079d26e3a5e9959998511706d6c1162bf76bf654f60af95fd660e879f9e2394ed54:0d7d,8c2c647881:40414243444547494d4e4f525657585b5c5d5e5f6162636466686a6b6c6f727375767778818384858687898b8c8d8e90929394959697999a9e9fa0a1a2a4a5#a7a9abacadaeafb0b1b2b4b5b6b7b8b9bcbdbebfc4c5c7c8c9cbcdcecfd0d1d2d3,647986116a21819c78e864699b5462b9672b83ab58a89ed86cab6f205bde964c8c0b725f67d062c772614ea959c66bcd589366ae5e5552df6155672876ee776672677a4662ff54:ea50,94a090a35a1c7eb36c164e435976801059485357753796be56ca63208111607c95f96dd65462998151855ae980fd59ae9713502a6ce55c3c62df4f60533f817b90066eba852b62c85e7478be64b5637b5ff55a18917f9e1f5c3f634f80425b7d556e95:4a4d,6d8560a867e072de51dd5b8181:d4d5d6d7d8d9dadbdcdddedfe0e1e2e4e5e6e8e9ebeeeff0f1f2f5f6f7f8f9fafdff,82:030708090a0b0e0f111315161718191a1d2024252627292e323a3c3d3f#404142434546484a4c4d4e5051525354555657595b5c5d5e606162636465666769,62e76cde725b626d94ae7ebd81136d53519c5f04597452aa6012597366968650759f632a61e67cef8bfa54e66b279e256bb485d5545550766ca4556a8db4722c5e156015743662cd6392724c5f986e436d3e65006f5876d878d076fc7554522453db4e535e9e65c180:2ad6,629b5486522870ae888d8dd16ce1547880da57f988f48d54966a914d4f696c9b55b776c6783062a870f96f8e5f6d84ec68da787c7bf781a8670b9e4f636778b0576f7812973962:79ab,528874356bd782:6a6b6c6d71757677787b7c808183858687898c90939495969a9b9ea0a2a3a7b2b5b6babbbcbfc0c2c3c5c6c9d0d6d9dadde2e7e8e9eaecedeef0f2f3f5f6f8#fafcfdfeff,83:000a0b0d1012131618191d1e1f20212223242526292a2e3032373b3d,5564813e75b276ae533975de50fb5c418b6c7bc7504f72479a9798d86f0274e27968648777a562fc98918d2b54c180584e52576a82f9840d5e7351ed74f68bc45c4f57616cfc98875a4678349b448feb7c955256625194fa4ec68386846183e984b257d467345703666e6d668c3166dd7011671f6b3a6816621a59bb4e0351c46f0667d26c8f517668cb59476b6775665d0e81109f5065d779:4841,9a918d775c824e5e4f01542f5951780c56686c148fc45f036c:7de3,8bab639083:3e3f41424445484a4b4c4d4e5355565758595d6270717273747576797a7e7f808182838487888a8b8c8d8f909194959697999a9d9fa1a2a3a4a5a6a7acadae#afb5bbbebfc2c3c4c6c8c9cbcdced0d1d2d3d5d7d9dadbdee2e3e4e6e7e8ebeced,60706d3d7275626694:8ec5,53438fc17b7e4edf8c264e7e9ed494:b1b3,524d6f5c90636d458c3458115d4c6b:2049,67aa545b81547f8c589985375f3a62a26a47953965726084686577a74e544fa85de7979864ac7fd85ced4fcf7a8d520783044e14602f7a8394a64fb54eb279e6743452e482b964d279bd5bdd6c8197528f7b6c22503e537f6e0564ce66746c3060c598778bf75e86743c7a7779cb4e1890b174036c4256da914b6cc58d8b533a86c666f28eaf5c489a716e2083:eeeff3f4f5f6f7fafbfcfeff,84:0002050708090a10121314151617191a1b1e1f20212223292a2b2c2d2e2f30323334353637393a3b3e3f404142434445474849#4a4b4c4d4e4f505253545556585d5e5f606264656667686a6e6f70727477797b7c,53d65a369f8b8da353bb570898a76743919b6cc9516875ca62f372ac52:389d,7f3a7094763853749e4a69b7786e96c088d97fa471:36c3,518967d374e458e4651856b78ba9997662707ed560f970ed58ec4e:c1ba,5fcd97e74efb8ba45203598a7eab62544ecd65e5620e833884c98363878d71946eb65bb97ed2519763c967d480898339881551125b7a59828fb14e736c5d516589258f6f962e854a745e95:10f0,6da682e55f3164926d128428816e9cc3585e8d5b4e0953c184:7d7e7f8081838485868a8d8f90919293949596989a9b9d9e9fa0a2a3a4a5a6a7a8a9aaabacadaeb0b1b3b5b6b7bbbcbec0c2c3c5c6c7c8cbcccecfd2d4d5d7#d8d9dadbdcdee1e2e4e7e8e9eaebedeeeff1f2f3f4f5f6f7f8f9fafbfdfe,85:000102,4f1e6563685155d34e2764149a9a626b5ac2745f82726da968ee50e7838e7802674052396c997eb150bb5565715e7b5b665273ca82eb67495c715220717d886b95ea965564c58d6181b355846c5562477f2e58924f2455468d4f664c4e0a5c1a88f368a2634e7a0d70e7828d52fa97f65c1154e890b57ecd59628d4a86c782:0c0d,8d6664445c0461516d89793e8bbe78377533547b4f388eab6df15a207ec5795e6c885ba15a76751a80be614e6e1758f075:1f25,727253477ef385:030405060708090a0b0d0e0f101214151618191b1c1d1e2022232425262728292a2d2e2f303132333435363e3f404142444546474b4c4d4e4f505152535455#57585a5b5c5d5f60616263656667696a6b6c6d6e6f707173757677787c7d7f8081,770176db526980dc57235e08593172ee65bd6e7f8bd75c388671534177f362fe65f64ec098df86805b9e8bc653f277e24f7f5c4e9a7659cb5f0f793a58eb4e1667ff4e8b62ed8a93901d52bf662f55dc566c90024ed54f8d91ca99706c0f5e0260435ba489c68bd56536624b99965b:88ff,6388552e53d77626517d852c67a268b36b8a62928f9353d482126dd1758f4e668d4e5b70719f85af66:91d9,7f7287009ecd9f205c5e672f8ff06811675f620d7ad658855eb665706f3185:82838688898a8b8c8d8e909192939495969798999a9d9e9fa0a1a2a3a5a6a7a9abacadb1b2b3b4b5b6b8babbbcbdbebfc0c2c3c4c5c6c7c8cacbcccdced1d2#d4d6d7d8d9dadbdddedfe0e1e2e3e5e6e7e8eaebecedeeeff0f1f2f3f4f5f6f7f8,60555237800d6454887075295e05681362f4971c53cc723d8c016c3477617a0e542e77ac987a821c8bf47855671470c165af64955636601d79c153f84e1d6b7b80865bfa55e356db4f:3a3c,99725df3677e80386002988290015b8b8b:bcf5,641c825864de55fd82cf91654fd77d20901f7c9f50f358516eaf5bbf8bc980839178849c7b97867d96:8b8f,7ee59ad3788e5c817a57904296a7795f5b59635f7b0b84d168ad55067f2974107d2295016240584c4ed65b835979585485:f9fafcfdfe,86:0001020304060708090a0b0c0d0e0f10121314151718191a1b1c1d1e1f20212223242526282a2b2c2d2e2f3031323334353637393a3b3d3e3f40#4142434445464748494a4b4c525355565758595b5c5d5f6061636465666768696a,736d631e8e:4b0f,80ce82d462ac53f06cf0915e592a60016c70574d644a8d2a762b6ee9575b6a8075f06f6d8c:2d08,57666bef889278b363a253f970ad6c645858642a580268e0819b55107cd650188eba6dcc8d9f70eb638f6d9b6ed47ee68404684390036dd896768ba85957727985e4817e75bc8a8a68af52548e22951163d098988e44557c4f5366ff568f60d56d9552435c4959296dfb586b75:301c,606c82148146631167618fe2773a8d:f334,94c15e165385542c70c386:6d6f7072737475767778838485868788898e8f90919294969798999a9b9e9fa0a1a2a5a6abadaeb2b3b7b8b9bbbcbdbebfc1c2c3c5c8cccdd2d3d5d6d7dadc#dde0e1e2e3e5e6e7e8eaebeceff5f6f7fafbfcfdff,87:010405060b0c0e0f10111416,6c405ef7505c4ead5ead633a8247901a6850916e77b3540c94dc5f647ae5687663457b527edf75db507762955934900f51f879c37a8156fe5f9290146d825c60571f541051546e4d56e263a89893817f8715892a9000541e5c6f81c062:d658,81319e3596409a:6e7c,692d59a562d3553e631654c786d96d3c5a0374e6889c6b6a59168c4c5f2f6e7e73a9987d4e3870f75b8c7897633d665a769660cb5b9b5a494e0781556c6a738b4ea167897f515f8065fa671b5fd859845a0187:191b1d1f20242627282a2b2c2d2f303233353638393a3c3d404142434445464a4b4d4f505152545556585a5b5c5d5e5f6162666768696a6b6c6d6f71727375#7778797a7f8081848687898a8c8e8f90919294959698999a9b9c9d9ea0a1a2a3a4,5dcd5fae537197e68fdd684556f4552f60df4e3a6f4d7ef482c7840e59d44f:1f2a,5c3e7eac672a851a5473754f80c355829b4f4f4d6e2d8c135c096170536b761f6e29868a658795fb7eb9543b7a337d0a95ee55e17fc174ee631d87176da17a9d621165a1536763e16c835deb545c94a84e4c6c618bec5c4b65e0829c68a754:3e34,6b:cb66,4e9463425348821e4f:0dae,575e620a96fe6664726952:ffa1,609f8bef661471996790897f785277fd6670563b54389521727a87:a5a6a7a9aaaeb0b1b2b4b6b7b8b9bbbcbebfc1c2c3c4c5c7c8c9cccdcecfd0d4d5d6d7d8d9dadcdddedfe1e2e3e4e6e7e8e9ebecedeff0f1f2f3f4f5f6f7f8#fafbfcfdff,88:0001020405060708090b0c0d0e0f101112141718191a1c1d1e1f2023,7a00606f5e0c6089819d591560dc718470ef6eaa6c5072806a8488ad5e2d4e605ab3559c94e36d177cfb9699620f7ec6778e867e5323971e8f9666875ce14fa072ed4e0b53a6590f54136380952851484ed99c9c7ea454b88d248854823795f26d8e5f265acc663e966973:b02e,53bf817a99857fa15baa96:7750,7ebf76f853a2957699997bb189446e584e617fd479658be660f354cd4eab98795df76a6150cf54118c618427785d9704524a54ee56a395006d885bb56dc6665388:2425262728292a2b2c2d2e2f30313334353637383a3b3d3e3f414243464748494a4b4e4f505152535556585a5b5c5d5e5f6066676a6d6f717374757678797a#7b7c80838687898a8c8e8f90919394959798999a9b9d9e9fa0a1a3a5a6a7a8a9aa,5c0f5b5d6821809655787b11654869544e9b6b47874e978b534f631f643a90aa659c80c18c10519968b0537887f961c86c:c4fb,8c225c5185aa82af950c6b238f9b65b05f:fbc3,4fe18845661f8165732960fa51745211578b5f6290a2884c91925e78674f602759d351:44f6,80f853086c7996c4718a4f:11ee,7f9e673d55c5950879c088967ee3589f620c9700865a5618987b5f908bb884c4915753d965ed5e8f755c60647d6e5a7f7e:eaed,8f6955a75ba360ac65cb738488:acaeafb0b2b3b4b5b6b8b9babbbdbebfc0c3c4c7c8cacbcccdcfd0d1d3d6d7dadbdcdddee0e1e6e7e9eaebecedeeeff2f5f6f7fafbfdff,89:0001030405060708#090b0c0d0e0f1114151617181c1d1e1f20222324262728292c2d2e2f3132333537,9009766377297eda9774859b5b667a7496ea884052cb718f5faa65ec8be25bfb9a6f5de16b896c5b8b:adaf,900a8fc5538b62bc9e:262d,54404e2b82bd7259869c5d1688596daf96c554d14e9a8bb6710954bd960970df6df976d04e25781487125ca95ef68a00989c960e708e6cbf594463a9773c884d6f148273583071d5538c781a96c155015f6671305bb48c1a9a8c6b83592e9e2f79e76768626c4f6f75a17f8a6d0b96336c274ef075d2517b68376f3e908081705996747689:38393a3b3c3d3e3f40424345464748494a4b4c4d4e4f505152535455565758595a5b5c5d6061626364656768696a6b6c6d6e6f707172737475767778797a7c#7d7e808284858788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1,64475c2790657a918c2359da54ac8200836f898180006930564e8036723791ce51b64e5f987563964e1a53f666f3814b591c6db24e0058f9533b63d694f14f:9d0a,886398905937905779fb4eea80f075916c825b9c59e85f5d69058681501a5df24e5977e34ee5827a6291661390915c794ebf5f7981c69038808475ab4ea688d4610f6bc55fc64e4976ca6ea28b:e3ae,8c0a8bd15f027f:fccc,7ece83:356b,56e06bb797f3963459fb541f94f66deb5bc5996e5c395f15969089:a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c3cdd3d4d5d7d8d9dbdddfe0e1e2e4e7e8e9eaecedeef0f1f2f4f5f6f7f8f9fa#fbfcfdfeff,8a:01020304050608090a0b0c0d0e0f101112131415161718191a1b1c1d,537082f16a315a749e705e947f2883b984:2425,836787478fce8d6276c85f719896786c662054df62e54f6381c375c85eb896cd8e0a86f9548f6cf36d8c6c38607f52c775285e7d4f1860a05fe75c24753190ae94c072b96cb96e389149670953:cbf3,4f5191c98bf153c85e7c8fc26de44e8e76c26986865e611a82064f:59de,903e9c7c61096e:1d14,96854e885a3196e84e0e5c7f79b95b878bed7fbd738957df828b90c15401904755bb5cea5fa161086b3272f180b28a:891e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3f4041424344454647494a4b4c4d4e4f505152535455565758595a5b5c5d5e#5f606162636465666768696a6b6c6d6e6f7071727374757677787a7b7c7d7e7f80,6d745bd388d598848c6b9a6d9e336e0a51:a443,57a38881539f63f48f9556ed54585706733f6e907f188fdc82d1613f6028966266f07ea68d:8ac3,94a55cb37ca4670860a6960580184e9190e75300966851418fd08574915d665597f55b55531d78386742683d54c9707e5bb08f7d518d572854b1651266828d:5e43,810f846c906d7cdf51ff85fb67a365e96fa186a48e81566a90207682707671e58d2362e952196cfd8d3c600e589e618e66fe8d60624e55b36e23672d8f678a:81828384858687888b8c8d8e8f9091929495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2#c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3,94e195f87728680569a8548b4e4d70b88bc86458658b5b857a84503a5be877bb6be18a797c986cbe76cf65a98f975d2d5c5586386808536062187ad96e5b7efd6a1f7ae05f706f335f20638c6da867564e085e108d264ed780c07634969c62db662d627e6cbc8d7571677f695146808753ec906e629854f286f08f998005951785178fd96d5973cd659f771f7504782781fb8d1e94884fa6679575b98bca9707632f9547963584b8632377415f8172f04e896014657462ef6b63653f8a:e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,8b:0001020304050608090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20212223#24252728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445,5e2775c790d18bc1829d679d652f5431871877e580a281026c414e4b7ec7804c76f4690d6b966267503c4f84574063076b628dbe53ea65e87eb85fd763:1ab7,81:f3f4,7f6e5e1c5cd95236667a79e97a1a8d28709975d46ede6cbb7a924e2d76c55fe0949f88777ec879cd80bf91cd4ef24f17821f54685dde6d328bcc7ca58f7480985e1a549276b15b99663c9aa473e0682a86db6731732a8b:f8db,90107af970db716e62c477a956314e3b845767f152a986c08d2e94f87b518b:464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f6061626364656768696a6b6d6e6f707172737475767778797a7b7c7d7e7f80818283848586#8788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9facb1bbc7d0ea,8c:091e,4f4f6ce8795d9a7b6293722a62fd4e1378168f6c64b08d5a7bc668695e8488c55986649e58ee72b6690e95258ffd8d5857607f008c0651c6634962d95353684c74228301914c55447740707c6d4a517954a88d4459ff6ecb6dc45b5c7d2b4ed47c7d6ed35b5081ea6e0d5b579b0368d58e2a5b977efc603b7eb590b98d70594f63cd79df8db3535265cf79568bc5963b7ec494bb7e825634918967007f6a5c0a907566285de64f5067de505a4f5c57505e:a7#3$,8c:38393a3b3c3d3e3f4042434445484a4b4d4e4f5051525354565758595b5c5d5e5f60636465666768696c6d6e6f707172747576777b7c7d7e7f808183848687#888b8d8e8f90919293959697999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacad,4e:8d0c,51404e105eff53454e:15981e,9b325b6c56694e2879ba4e3f53154e47592d723b536e6c1056df80e499976bd3777e9f174e:369f,9f104e:5c6993,82885b5b556c560f4ec453:8d9da3a5ae,97658d5d53:1af5262e3e,8d5c53:6663,52:02080e2d333f404c5e615c,84af52:7d82819093,51827f544e:bbc3c9c2e8e1ebde,4f1b4ef34f:2264,4ef54f:2527092b5e67,65384f:5a5d,8c:aeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebec#edeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,8d:000102030405060708090a0b0c0d,4f:5f57323d76749189838f7e7baa7cac94e6e8eac5dae3dcd1dff8,50:294c,4ff350:2c0f2e2d,4ffe50:1c0c25287e4355484e6c7ba5a7a9bad6,510650:edece6ee,51:070b,4edd6c3d4f:5865ce,9fa06c467c74516e5dfd9ec999985181591452f9530d8a07531051eb591951554ea051564eb388:6ea4,4eb5811488d279805b3488037fb851:abb1bdbc,8d:0e0f101112131415161718191a1b1c205152575f6568696a6c6e6f717278797a7b7c7d7e7f808283868788898c8d8e8f90929395969798999a9b9c9d9ea0a1#a2a4a5a6a7a8a9aaabacadaeafb0b2b6b7b9bbbdc0c1c2c5c7c8c9cacdd0d2d3d4,51:c796a2a5,8b:a0a6a7aab4b5b7c2c3cbcfced2d3d4d6d8d9dcdfe0e4e8e9eef0f3f6f9fcff,8c:000204070c0f1112141516191b181d1f202125272a2b2e2f32333536,53:697a,96:1d2221312a3d3c4249545f676c7274888d97b0,90:979b9d99aca1b4b3b6ba,8d:d5d8d9dce0e1e2e5e6e7e9edeef0f1f2f4f6fcfeff,8e:00010203040607080b0d0e1011121315161718191a1b1c202124252627282b2d303233343637383b3c3e#3f4345464c4d4e4f505354555657585a5b5c5d5e5f60616263646567686a6b6e71,90:b8b0cfc5bed0c4c7d3e6e2dcd7dbebeffe,91:04221e23312f394346,520d594252:a2acadbe,54ff52:d0d6f0,53df71ee77cd5ef451:f5fc,9b2f53b65f01755a5def57:4ca9a1,58:7ebcc5d1,57:292c2a33392e2f5c3b4269856b867c7b686d7673ada48cb2cfa7b493a0d5d8dad9d2b8f4eff8e4dd,8e:73757778797a7b7d7e808283848688898a8b8c8d8e91929395969798999a9b9d9fa0a1a2a3a4a5a6a7a8a9aaadaeb0b1b3b4b5b6b7b8b9bbbcbdbebfc0c1c2#c3c4c5c6c7c8c9cacbcccdcfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4,58:0b0d,57:fded,58:001e194420656c81899a80,99a89f1961ff82:797d7f8f8aa8848e919799abb8beb0c8cae398b7aecbccc1a9b4a1aa9fc4cea4e1,830982:f7e4,83:0f07,82:dcf4d2d8,830c82:fbd3,83:111a061415,82:e0d5,83:1c515b5c08923c34319b5e2f4f47435f4017602d3a336665,8e:e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,8f:000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20212223#2425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f4041424344,83:681b696c6a6d6eb078b3b4a0aa939c857cb6a97db87b989ea8babcc1,840183:e5d8,580784:180b,83:ddfdd6,84:1c381106,83:d4df,84:0f03,83:f8f9eac5c0,842683:f0e1,84:5c515a597387887a89783c4669768c8e316dc1cdd0e6bdd3cabfbae0a1b9b497e5e3,850c750d853884f085:391f3a,8f:45464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f6061626364656a808c929da0a1a2a4a5a6a7aaacadaeafb2b3b4b5b7b8babbbcbfc0c3c6#c9cacbcccdcfd2d6d7dae0e1e3e7eceff1f2f4f5f6fafbfcfeff,90:07080c0e131518,85:563b,84:fffc,85:594868645e7a,77a285:43727ba4a8878f79ae9c85b9b7b0d3c1dcff,86:270529163c,5efe5f0859:3c41,803759:555a58,530f5c:22252c34,62:4c6a9fbbcadad7ee,632262f663:394b43adf6717a8eb46dac8a69aebcf2f8e0ffc4dece,645263:c6be,64:45410b1b200c26215e846d96,90:191c2324252728292a2b2c303132333437393a3d3f4043454648494a4b4c4e545556595a5c5d5e5f6061646667696a6b6c6f70717273767778797a7b7c7e81#84858687898a8c8d8e8f90929496989a9c9e9fa0a4a5a7a8a9abadb2b7bcbdbfc0,64:7ab7b899bac0d0d7e4e2,65:09252e,5f:0bd2,75195f1153:5ff1fde9e8fb,54:1216064b5253545643215759233282947771649a9b8476669dd0adc2b4d2a7a6d3d472a3d5bbbfccd9dadca9aaa4ddcfde,551b54e7552054fd551454f355:22230f11272a678fb5496d41553f503c,90:c2c3c6c8c9cbcccdd2d4d5d6d8d9dadedfe0e3e4e5e9eaeceef0f1f2f3f5f6f7f9fafbfcff,91:00010305060708090a0b0c0d0e0f1011121314151617181a1b1c#1d1f20212425262728292a2b2c2d2e30323334353637383a3b3c3d3e3f40414244,55:375675767733305c8bd283b1b988819f7ed6917bdfbdbe9499eaf7c9,561f55:d1ebecd4e6ddc4efe5f2f3cccde8f5e4,8f9456:1e080c012423,55fe56:00272d5839572c4d62595c4c548664716b7b7c8593afd4d7dde1f5ebf9ff,57:040a091c,5e:0f191411313b3c,91:454748515354555658595b5c5f606667686b6d737a7b7c808182838486888a8e8f939495969798999c9d9e9fa0a1a4a5a6a7a8a9abacb0b1b2b3b6b7b8b9bb#bcbdbebfc0c1c2c3c4c5c6c8cbd0d2d3d4d5d6d7d8d9dadbdddedfe0e1e2e3e4e5,5e:3744545b5e61,5c:8c7a8d9096889899919a9cb5a2bdacabb1a3c1b7c4d2e4cbe5,5d:020327262e241e061b583e343d6c5b6f5d6b4b4a697482999d,8c735d:b7c5,5f:73778287898c95999ca8adb5bc,88625f6172:adb0b4b7b8c3c1cecdd2e8efe9f2f4f7,730172f3730372fa91:e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,92:000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f2021222324#25262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445,72fb73:1713210a1e1d152239252c3831504d57606c6f7e,821b592598e759:2402,99:636768696a6b6c74777d8084878a8d9091939495,5e:80918b96a5a0b9b5beb3,8d535e:d2d1dbe8ea,81ba5f:c4c9d6cf,60035fee60045f:e1e4fe,60:0506,5f:eaedf8,60:1935261b0f0d292b0a3f2178797b7a42,92:464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f7071727375767778797a7b7c7d7e7f808182838485#868788898a8b8c8d8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7,60:6a7d969aad9d83928c9becbbb1ddd8c6dab4,61:20261523,60f461:000e2b4a75ac94a7b7d4f5,5fdd96b395:e9ebf1f3f5f6fcfe,96:030406080a0b0c0d0f12151617191a,4e2c723f62156c:35545c4aa38590948c6869747686a9d0d4adf7f8f1d7b2e0d6faebeeb1d3effe,92:a8a9aaabacadafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8#e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,93:00010203040506070809,6d:39270c43480704190e2b4d2e351a4f525433916f9ea05e93945c607c63,6e1a6d:c7c5de,6e0e6d:bfe0,6e116d:e6ddd9,6e166dab6e0c6dae6e:2b6e4e6bb25f865354322544dfb198e0,6f2d6e:e2a5a7bdbbb7d7b4cf8fc29f,6f:6246472415,6ef96f:2f364b742a0929898d8c78727c7ad1,93:0a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3f40414243444546474849#4a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696b,6f:c9a7b9b6c2e1eedee0ef,70:1a231b39354f5e,5b:80849593a5b8,752f9a9e64345b:e4ee,89305bf08e478b078f:b6d3d5e5eee4e9e6f3e8,90:05040b26110d162135362d2f445152506858625b,66b990:747d8288838b,5f:50575658,5c3b54ab5c:5059,5b715c:6366,7fbc5f:2a292d,82745f3c9b3b5c6e59:81838da9aaa3,93:6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaab#acadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cbcccd,59:97caab9ea4d2b2afd7be,5a:0506,59dd5a0859:e3d8f9,5a:0c09323411231340674a553c6275,80ec5a:aa9b777abeebb2d2d4b8e0e3f1d6e6d8dc,5b:091716323740,5c:151c,5b:5a6573515362,9a:7577787a7f7d808185888a90929396989b9c9d9fa0a2a3a5a7,7e:9fa1a3a5a8a9,93:cecfd0d1d2d3d4d5d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,94:000102030405060708090a0b0c0d#0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e,7e:adb0bec0c1c2c9cbccd0d4d7dbe0e1e8ebeeeff1f2,7f0d7e:f6fafbfe,7f:01020307080b0c0f111217191c1b1f212223242526272a2b2c2d2f3031323335,5e7a757f5ddb753e909573:8e91aea29fcfc2d1b7b3c0c9c8e5d9,987c740a73:e9e7debaf2,74:0f2a5b262528302e2c,94:2f303132333435363738393a3b3c3d3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6c6d6e6f#707172737475767778797a7b7c7d7e7f8081828384919698c7cfd3d4dae6fb,95:1c20,74:1b1a415c575559776d7e9c8e8081878b9ea8a990a7d2ba,97:eaebec,67:4c535e4869a5876a7398a775a89ead8b777cf0,680967d8680a67:e9b0,680c67:d9b5dab3dd,680067:c3b8e2,680e67:c1fd,68:323360614e624464831d55664167403e4a4929b58f7477936bc2,696e68fc69:1f20,68f995:27333d43484b555a606e74757778797a7b7c7d7e808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aa#abacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacb,692468f069:0b0157,68e369:10713960425d846b80987834cc8788ce896663799ba7bbabadd4b1c1cadf95e08dff,6a2f69ed6a:171865,69f26a:443ea0505b358e793d28587c9190a997ab,73:3752,6b:8182878492938d9a9ba1aa,8f:6b6d71727375767877797a7c7e818284878b,95:cccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7ecff,96:0713181b1e20232425262728292b2c2d2f303738393a3e41434a4e4f5152535657#58595a5c5d5e606365666b6d6e6f70717378797a7b7c7d7e7f808182838487898a,8f:8d8e8f989a,8ece62:0b171b1f222125242c,81e774:eff4ff,75:0f1113,65:34eeeff0,66:0a19,677266:031500,708566:f71d34313635,800666:5f54414f56615777848ca79dbedbdce6e9,8d:3233363b3d4045464849474d5559,89:c7cacbcccecfd0d1,72:6e9f5d666f7e7f848b8d8f92,63:0832b0,96:8c8e91929395969a9b9d9e9fa0a1a2a3a4a5a6a8a9aaabacadaeafb1b2b4b5b7b8babbbfc2c3c8cacbd0d1d3d4d6d7d8d9dadbdcdddedfe1e2e3e4e5e6e7eb#ecedeef0f1f2f4f5f8fafbfcfdff,97:0203050a0b0c10111214151718191a1b1d1f20,64:3fd8,80046b:eaf3fdf5f9,6c:0507060d1518191a2129242a32,65:35556b,72:4d525630,8662521680:9f9c93bc,670a80:bdb1abadb4b7e7e8e9eadbc2c4d9cdd7,671080:ddebf1f4ed,81:0d0e,80:f2fc,671581128c5a81:361e2c1832484c5374595a7160697c7d6d67,584d5ab581:888291,6ed581:a3aacc,672681:cabb,97:2122232425262728292b2c2e2f3133343536373a3b3c3d3f404142434445464748494a4b4c4d4e4f5051545557585a5c5d5f63646667686a6b6c6d6e6f7071#72757778797a7b7d7e7f8081828384868788898a8c8e8f9093959697999a9b9c9d,81:c1a6,6b:243739434659,98:d1d2d3d5d9da,6bb35f406bc289f365909f5165:93bcc6c4c3ccced2d6,70:809c969dbbc0b7abb1e8ca,71:1013162f31735c6845724a787a98b3b5a8a0e0d4e7f9,72:1d28,706c71:1866b9,62:3e3d434849,79:3b4046495b5c535a6257606f677a858a9aa7b3,5f:d1d0,97:9e9fa1a2a4a5a6a7a8a9aaacaeb0b1b3b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3#e4e5e8eeeff0f1f2f4f7f8f9fafbfcfdfeff,98:000102030405060708090a0b0c0d0e,60:3c5d5a67415963ab,61:060d5da99dcbd1,620680:807f,6c:93f6,6dfc77:f6f8,78:0009171811,65ab78:2d1c1d393a3b1f3c252c23294e6d56572650474c6a9b939a879ca1a3b2b9a5d4d9c9ecf2,790578f479:13241e34,9f9b9e:f9fbfc,76f177:040d,76f977:07081a22192d263538505147435a68,98:0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d#4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e,77:62657f8d7d808c919fa0b0b5bd,75:3a404e4b485b727983,7f:58615f,8a487f:68747179817e,76:cde5,883294:8586878b8a8c8d8f909497959a9b9ca3a4abaaadacafb0b2b4b6b7b8b9babcbdbfc4c8c9cacbcccdced0d1d2d5d6d7d9d8dbdedfe0e2e4e5e7e8ea,98:6f70717273748b8e929599a3a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcfd0d4d6d7dbdcdde0e1e2e3e4#e5e6e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,99:0001020304050607,94:e9ebeeeff3f4f5f7f9fcfdff,95:03020607090a0d0e0f1213141516181b1d1e1f222a2b292c3132343637383c3e3f4235444546494c4e4f525354565758595b5e5f5d61626465666768696a6b6c6f7172733a,77:e7ec,96c979:d5ede3eb,7a065d477a:03021e14,99:08090a0b0c0e0f1112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2f303132333435363738393a3b3c3d3e3f40414243444546474849#4a4b4c4d4e4f50515253565758595a5b5c5d5e5f60616264667378797b7e828389,7a:393751,9ecf99a57a7076:888e9399a4,74:dee0,752c9e:202228292a2b2c3231363837393a3e414244464748494b4c4e5155575a5b5c5e63666768696a6b6c716d73,75:929496a09daca3b3b4b8c4b1b0c3c2d6cde3e8e6e4ebe7,760375:f1fcff,76:1000050c170a25181519,99:8c8e9a9b9c9d9e9fa0a1a2a3a4a6a7a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8#d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9,76:1b3c2220402d303f35433e334d5e545c566b6f,7fca7a:e6787980868895a6a0aca8adb3,88:6469727d7f82a2c6b7bcc9e2cee3e5f1,891a88:fce8fef0,89:2119131b0a342b3641667b,758b80e576:b2b4,77dc80:1214161c20222526272928310b3543464d526971,898398:788083,99:fafbfcfdfeff,9a:000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738#393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f50515253545556575859,98:898c8d8f949a9b9e9fa1a2a5a6,86:4d546c6e7f7a7c7ba88d8bac9da7a3aa93a9b6c4b5ceb0bab1afc9cfb4e9f1f2edf3d0,871386:def4dfd8d1,87:0307,86f887:080a0d09233b1e252e1a3e48343129373f82227d7e7b60704c6e8b53637c64596593afa8d2,9a:5a5b5c5d5e5f606162636465666768696a6b7283898d8e949599a6a9aaabacadaeafb2b3b4b5b9bbbdbebfc3c4c6c7c8c9cacdcecfd0d2d4d5d6d7d9dadbdc#dddee0e2e3e4e5e7e8e9eaeceef0f1f2f3f4f5f6f7f8fafcfdfeff,9b:000102040506,87:c68885ad9783abe5acb5b3cbd3bdd1c0cadbeae0ee,88:1613,87fe88:0a1b21393c,7f:36424445,82107a:fafd,7b:080304150a2b0f47382a192e31202524333e1e585a45754c5d606e7b62727190a6a7b8ac9da885aa9ca2abb4d1c1ccdddae5e6ea,7c0c7b:fefc,7c:0f160b,9b:07090a0b0c0d0e1011121415161718191a1b1c1d1e2021222425262728292a2b2c2d2e3031333435363738393a3d3e3f40464a4b4c4e50525355565758595a#5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b,7c:1f2a26384140,81fe82:010204,81ec884482:2122232d2f282b383b33343e44494b4f5a5f68,88:7e8588d8df,895e7f:9d9fa7afb0b2,7c7c65497c:919d9c9ea2b2bcbdc1c7cccdc8c5d7e8,826e66a87f:bfced5e5e1e6e9eef3,7cf87d:77a6ae,7e:479b,9e:b8b4,8d:73849491b1676d,8c:4749,91:4a504e4f64,9b:7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9ba#bbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadb,91:626170696f7d7e7274798c85908d91a2a3aaadaeafb5b4ba,8c559e7e8d:b8eb,8e:055969,8d:b5bfbcbac4d6d7dadececfdbc6ecf7f8e3f9fbe4,8e098dfd8e:141d1f2c2e232f3a4039353d3149414251524a70767c6f74858f94909c9e,8c:78828a859894,659b89:d6dedadc,9b:dcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,9c:000102030405060708090a0b0c0d0e0f101112131415161718191a#1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b,89:e5ebef,8a3e8b26975396:e9f3ef,97:0601080f0e2a2d303e,9f:808385868788898a8c,9efe9f:0b0d,96:b9bcbdced2,77bf96e092:8eaec8,93:3e6aca8f,94:3e6b,9c:7f8285868788,7a239c:8b8e90919294959a9b9e9fa0a1a2a3a5a6a7a8a9abadaeb0b1b2b3b4b5b6b7babbbcbdc4c5c6c7cacb3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a#7b7d7e808384898a8c8f93969798999daaacafb9bebfc0c1c2c8c9d1d2dadbe0e1cccdcecfd0d3d4d5d7d8d9dcdddfe2,97:7c85919294afaba3b2b4,9a:b1b0b7,9e589a:b6babcc1c0c5c2cbccd1,9b:45434749484d51,98e899:0d2e5554,9a:dfe1e6efebfbedf9,9b:080f131f23,9e:bdbe,7e3b9e:8287888b92,93d69e:9d9fdbdcdde0dfe2e9e7e5eaef,9f:222c2f39373d3e44,9c:e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,9d:000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f2021#22232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142#92$434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f8081#82838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2#92$a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1#e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,9e:000102#92$030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e24272e30343b3c404d5052535456595d5f606162656e6f727475767778797a7b7c7d80#8183848586898a8c8d8e8f90919495969798999a9b9c9ea0a1a2a3a4a5a7a8a9aa#92$abacadaeafb0b1b2b3b5b6b7b9babcbfc0c1c2c3c5c6c7c8cacbccd0d2d3d5d6d7d9dadee1e3e4e6e8ebecedeef0f1f2f3f4f5f6f7f8fafdff,9f:000102030405#060708090a0c0f1112141516181a1b1c1d1e1f21232425262728292a2b2d2e3031#92$3233343536383a3c3f4041424345464748494a4b4c4d4e4f52535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778#797a7b7c7d7e81828d8e8f9091929394959697989c9d9ea1a2a3a4a5,f9:2c7995e7f1#92$,fa:0c0d0e0f111314181f20212324272829,e8:15161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f40414243#4445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f6061626364'), + U2Ghash={}, + G2Uhash={}; + !function(data){ + var k=0; + data=data.match(/..../g); + for(var i=0x81;i<=0xfe;i++){ + for(var j=0x40;j<=0xFE;j++){ + U2Ghash[data[k++]]=('%'+i.toString(16)+'%'+j.toString(16)) + .toUpperCase(); + } + } + for(var key in U2Ghash){ + G2Uhash[U2Ghash[key]]=key; + } + }(data); + function isAscii(unicode) { + return ((unicode == 0x20AC) || (unicode <= 0x007F && unicode >= 0x0000)); + } + return{ + encode:function(str){ + return str.replace(/./g,function(a){ + var code=a.charCodeAt(0); + if(isAscii(code)){ + return encodeURIComponent(a); + }else{ + var key=code.toString(16); + if(key.length!=4)key=('000'+key).match(/....$/)[0]; + return U2Ghash[key]||a; + } + }); + }, + decode:function(str){ + return str.replace(/%[0-9A-F]{2}%[0-9A-F]{2}/g,function(a){ + if(a in G2Uhash){ + return String.fromCharCode('0x'+G2Uhash[a]); + }else{ + return a; + } + }).replace(/%[\w]{2}/g,function(a){ + return decodeURIComponent(a); + + }); + } + }; +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/肥猫/api/jinja.js b/tvboxqq/tvboxqq/肥猫/api/jinja.js new file mode 100644 index 0000000..cc02357 --- /dev/null +++ b/tvboxqq/tvboxqq/肥猫/api/jinja.js @@ -0,0 +1,577 @@ +/*! + * Jinja Templating for JavaScript v0.1.8 + * https://github.com/sstur/jinja-js + * + * This is a slimmed-down Jinja2 implementation [http://jinja.pocoo.org/] + * + * In the interest of simplicity, it deviates from Jinja2 as follows: + * - Line statements, cycle, super, macro tags and block nesting are not implemented + * - auto escapes html by default (the filter is "html" not "e") + * - Only "html" and "safe" filters are built in + * - Filters are not valid in expressions; `foo|length > 1` is not valid + * - Expression Tests (`if num is odd`) not implemented (`is` translates to `==` and `isnot` to `!=`) + * + * Notes: + * - if property is not found, but method '_get' exists, it will be called with the property name (and cached) + * - `{% for n in obj %}` iterates the object's keys; get the value with `{% for n in obj %}{{ obj[n] }}{% endfor %}` + * - subscript notation `a[0]` takes literals or simple variables but not `a[item.key]` + * - `.2` is not a valid number literal; use `0.2` + * + */ +/*global require, exports, module, define */ + +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : + typeof define === 'function' && define.amd ? define(['exports'], factory) : + (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.jinja = {})); +})(this, (function (jinja) { + "use strict"; + var STRINGS = /'(\\.|[^'])*'|"(\\.|[^"'"])*"/g; + var IDENTS_AND_NUMS = /([$_a-z][$\w]*)|([+-]?\d+(\.\d+)?)/g; + var NUMBER = /^[+-]?\d+(\.\d+)?$/; + //non-primitive literals (array and object literals) + var NON_PRIMITIVES = /\[[@#~](,[@#~])*\]|\[\]|\{([@i]:[@#~])(,[@i]:[@#~])*\}|\{\}/g; + //bare identifiers such as variables and in object literals: {foo: 'value'} + var IDENTIFIERS = /[$_a-z][$\w]*/ig; + var VARIABLES = /i(\.i|\[[@#i]\])*/g; + var ACCESSOR = /(\.i|\[[@#i]\])/g; + var OPERATORS = /(===?|!==?|>=?|<=?|&&|\|\||[+\-\*\/%])/g; + //extended (english) operators + var EOPS = /(^|[^$\w])(and|or|not|is|isnot)([^$\w]|$)/g; + var LEADING_SPACE = /^\s+/; + var TRAILING_SPACE = /\s+$/; + + var START_TOKEN = /\{\{\{|\{\{|\{%|\{#/; + var TAGS = { + '{{{': /^('(\\.|[^'])*'|"(\\.|[^"'"])*"|.)+?\}\}\}/, + '{{': /^('(\\.|[^'])*'|"(\\.|[^"'"])*"|.)+?\}\}/, + '{%': /^('(\\.|[^'])*'|"(\\.|[^"'"])*"|.)+?%\}/, + '{#': /^('(\\.|[^'])*'|"(\\.|[^"'"])*"|.)+?#\}/ + }; + + var delimeters = { + '{%': 'directive', + '{{': 'output', + '{#': 'comment' + }; + + var operators = { + and: '&&', + or: '||', + not: '!', + is: '==', + isnot: '!=' + }; + + var constants = { + 'true': true, + 'false': false, + 'null': null + }; + + function Parser() { + this.nest = []; + this.compiled = []; + this.childBlocks = 0; + this.parentBlocks = 0; + this.isSilent = false; + } + + Parser.prototype.push = function (line) { + if (!this.isSilent) { + this.compiled.push(line); + } + }; + + Parser.prototype.parse = function (src) { + this.tokenize(src); + return this.compiled; + }; + + Parser.prototype.tokenize = function (src) { + var lastEnd = 0, parser = this, trimLeading = false; + matchAll(src, START_TOKEN, function (open, index, src) { + //here we match the rest of the src against a regex for this tag + var match = src.slice(index + open.length).match(TAGS[open]); + match = (match ? match[0] : ''); + //here we sub out strings so we don't get false matches + var simplified = match.replace(STRINGS, '@'); + //if we don't have a close tag or there is a nested open tag + if (!match || ~simplified.indexOf(open)) { + return index + 1; + } + var inner = match.slice(0, 0 - open.length); + //check for white-space collapse syntax + if (inner.charAt(0) === '-') var wsCollapseLeft = true; + if (inner.slice(-1) === '-') var wsCollapseRight = true; + inner = inner.replace(/^-|-$/g, '').trim(); + //if we're in raw mode and we are not looking at an "endraw" tag, move along + if (parser.rawMode && (open + inner) !== '{%endraw') { + return index + 1; + } + var text = src.slice(lastEnd, index); + lastEnd = index + open.length + match.length; + if (trimLeading) text = trimLeft(text); + if (wsCollapseLeft) text = trimRight(text); + if (wsCollapseRight) trimLeading = true; + if (open === '{{{') { + //liquid-style: make {{{x}}} => {{x|safe}} + open = '{{'; + inner += '|safe'; + } + parser.textHandler(text); + parser.tokenHandler(open, inner); + }); + var text = src.slice(lastEnd); + if (trimLeading) text = trimLeft(text); + this.textHandler(text); + }; + + Parser.prototype.textHandler = function (text) { + this.push('write(' + JSON.stringify(text) + ');'); + }; + + Parser.prototype.tokenHandler = function (open, inner) { + var type = delimeters[open]; + if (type === 'directive') { + this.compileTag(inner); + } else if (type === 'output') { + var extracted = this.extractEnt(inner, STRINGS, '@'); + //replace || operators with ~ + extracted.src = extracted.src.replace(/\|\|/g, '~').split('|'); + //put back || operators + extracted.src = extracted.src.map(function (part) { + return part.split('~').join('||'); + }); + var parts = this.injectEnt(extracted, '@'); + if (parts.length > 1) { + var filters = parts.slice(1).map(this.parseFilter.bind(this)); + this.push('filter(' + this.parseExpr(parts[0]) + ',' + filters.join(',') + ');'); + } else { + this.push('filter(' + this.parseExpr(parts[0]) + ');'); + } + } + }; + + Parser.prototype.compileTag = function (str) { + var directive = str.split(' ')[0]; + var handler = tagHandlers[directive]; + if (!handler) { + throw new Error('Invalid tag: ' + str); + } + handler.call(this, str.slice(directive.length).trim()); + }; + + Parser.prototype.parseFilter = function (src) { + src = src.trim(); + var match = src.match(/[:(]/); + var i = match ? match.index : -1; + if (i < 0) return JSON.stringify([src]); + var name = src.slice(0, i); + var args = src.charAt(i) === ':' ? src.slice(i + 1) : src.slice(i + 1, -1); + args = this.parseExpr(args, {terms: true}); + return '[' + JSON.stringify(name) + ',' + args + ']'; + }; + + Parser.prototype.extractEnt = function (src, regex, placeholder) { + var subs = [], isFunc = typeof placeholder == 'function'; + src = src.replace(regex, function (str) { + var replacement = isFunc ? placeholder(str) : placeholder; + if (replacement) { + subs.push(str); + return replacement; + } + return str; + }); + return {src: src, subs: subs}; + }; + + Parser.prototype.injectEnt = function (extracted, placeholder) { + var src = extracted.src, subs = extracted.subs, isArr = Array.isArray(src); + var arr = (isArr) ? src : [src]; + var re = new RegExp('[' + placeholder + ']', 'g'), i = 0; + arr.forEach(function (src, index) { + arr[index] = src.replace(re, function () { + return subs[i++]; + }); + }); + return isArr ? arr : arr[0]; + }; + + //replace complex literals without mistaking subscript notation with array literals + Parser.prototype.replaceComplex = function (s) { + var parsed = this.extractEnt(s, /i(\.i|\[[@#i]\])+/g, 'v'); + parsed.src = parsed.src.replace(NON_PRIMITIVES, '~'); + return this.injectEnt(parsed, 'v'); + }; + + //parse expression containing literals (including objects/arrays) and variables (including dot and subscript notation) + //valid expressions: `a + 1 > b.c or c == null`, `a and b[1] != c`, `(a < b) or (c < d and e)`, 'a || [1]` + Parser.prototype.parseExpr = function (src, opts) { + opts = opts || {}; + //extract string literals -> @ + var parsed1 = this.extractEnt(src, STRINGS, '@'); + //note: this will catch {not: 1} and a.is; could we replace temporarily and then check adjacent chars? + parsed1.src = parsed1.src.replace(EOPS, function (s, before, op, after) { + return (op in operators) ? before + operators[op] + after : s; + }); + //sub out non-string literals (numbers/true/false/null) -> # + // the distinction is necessary because @ can be object identifiers, # cannot + var parsed2 = this.extractEnt(parsed1.src, IDENTS_AND_NUMS, function (s) { + return (s in constants || NUMBER.test(s)) ? '#' : null; + }); + //sub out object/variable identifiers -> i + var parsed3 = this.extractEnt(parsed2.src, IDENTIFIERS, 'i'); + //remove white-space + parsed3.src = parsed3.src.replace(/\s+/g, ''); + + //the rest of this is simply to boil the expression down and check validity + var simplified = parsed3.src; + //sub out complex literals (objects/arrays) -> ~ + // the distinction is necessary because @ and # can be subscripts but ~ cannot + while (simplified !== (simplified = this.replaceComplex(simplified))) ; + //now @ represents strings, # represents other primitives and ~ represents non-primitives + //replace complex variables (those with dot/subscript accessors) -> v + while (simplified !== (simplified = simplified.replace(/i(\.i|\[[@#i]\])+/, 'v'))) ; + //empty subscript or complex variables in subscript, are not permitted + simplified = simplified.replace(/[iv]\[v?\]/g, 'x'); + //sub in "i" for @ and # and ~ and v (now "i" represents all literals, variables and identifiers) + simplified = simplified.replace(/[@#~v]/g, 'i'); + //sub out operators + simplified = simplified.replace(OPERATORS, '%'); + //allow 'not' unary operator + simplified = simplified.replace(/!+[i]/g, 'i'); + var terms = opts.terms ? simplified.split(',') : [simplified]; + terms.forEach(function (term) { + //simplify logical grouping + while (term !== (term = term.replace(/\(i(%i)*\)/g, 'i'))) ; + if (!term.match(/^i(%i)*/)) { + throw new Error('Invalid expression: ' + src + " " + term); + } + }); + parsed3.src = parsed3.src.replace(VARIABLES, this.parseVar.bind(this)); + parsed2.src = this.injectEnt(parsed3, 'i'); + parsed1.src = this.injectEnt(parsed2, '#'); + return this.injectEnt(parsed1, '@'); + }; + + Parser.prototype.parseVar = function (src) { + var args = Array.prototype.slice.call(arguments); + var str = args.pop(), index = args.pop(); + //quote bare object identifiers (might be a reserved word like {while: 1}) + if (src === 'i' && str.charAt(index + 1) === ':') { + return '"i"'; + } + var parts = ['"i"']; + src.replace(ACCESSOR, function (part) { + if (part === '.i') { + parts.push('"i"'); + } else if (part === '[i]') { + parts.push('get("i")'); + } else { + parts.push(part.slice(1, -1)); + } + }); + return 'get(' + parts.join(',') + ')'; + }; + + //escapes a name to be used as a javascript identifier + Parser.prototype.escName = function (str) { + return str.replace(/\W/g, function (s) { + return '$' + s.charCodeAt(0).toString(16); + }); + }; + + Parser.prototype.parseQuoted = function (str) { + if (str.charAt(0) === "'") { + str = str.slice(1, -1).replace(/\\.|"/, function (s) { + if (s === "\\'") return "'"; + return s.charAt(0) === '\\' ? s : ('\\' + s); + }); + str = '"' + str + '"'; + } + //todo: try/catch or deal with invalid characters (linebreaks, control characters) + return JSON.parse(str); + }; + + + //the context 'this' inside tagHandlers is the parser instance + var tagHandlers = { + 'if': function (expr) { + this.push('if (' + this.parseExpr(expr) + ') {'); + this.nest.unshift('if'); + }, + 'else': function () { + if (this.nest[0] === 'for') { + this.push('}, function() {'); + } else { + this.push('} else {'); + } + }, + 'elseif': function (expr) { + this.push('} else if (' + this.parseExpr(expr) + ') {'); + }, + 'endif': function () { + this.nest.shift(); + this.push('}'); + }, + 'for': function (str) { + var i = str.indexOf(' in '); + var name = str.slice(0, i).trim(); + var expr = str.slice(i + 4).trim(); + this.push('each(' + this.parseExpr(expr) + ',' + JSON.stringify(name) + ',function() {'); + this.nest.unshift('for'); + }, + 'endfor': function () { + this.nest.shift(); + this.push('});'); + }, + 'raw': function () { + this.rawMode = true; + }, + 'endraw': function () { + this.rawMode = false; + }, + 'set': function (stmt) { + var i = stmt.indexOf('='); + var name = stmt.slice(0, i).trim(); + var expr = stmt.slice(i + 1).trim(); + this.push('set(' + JSON.stringify(name) + ',' + this.parseExpr(expr) + ');'); + }, + 'block': function (name) { + if (this.isParent) { + ++this.parentBlocks; + var blockName = 'block_' + (this.escName(name) || this.parentBlocks); + this.push('block(typeof ' + blockName + ' == "function" ? ' + blockName + ' : function() {'); + } else if (this.hasParent) { + this.isSilent = false; + ++this.childBlocks; + blockName = 'block_' + (this.escName(name) || this.childBlocks); + this.push('function ' + blockName + '() {'); + } + this.nest.unshift('block'); + }, + 'endblock': function () { + this.nest.shift(); + if (this.isParent) { + this.push('});'); + } else if (this.hasParent) { + this.push('}'); + this.isSilent = true; + } + }, + 'extends': function (name) { + name = this.parseQuoted(name); + var parentSrc = this.readTemplateFile(name); + this.isParent = true; + this.tokenize(parentSrc); + this.isParent = false; + this.hasParent = true; + //silence output until we enter a child block + this.isSilent = true; + }, + 'include': function (name) { + name = this.parseQuoted(name); + var incSrc = this.readTemplateFile(name); + this.isInclude = true; + this.tokenize(incSrc); + this.isInclude = false; + } + }; + + //liquid style + tagHandlers.assign = tagHandlers.set; + //python/django style + tagHandlers.elif = tagHandlers.elseif; + + var getRuntime = function runtime(data, opts) { + var defaults = {autoEscape: 'toJson'}; + var _toString = Object.prototype.toString; + var _hasOwnProperty = Object.prototype.hasOwnProperty; + var getKeys = Object.keys || function (obj) { + var keys = []; + for (var n in obj) if (_hasOwnProperty.call(obj, n)) keys.push(n); + return keys; + }; + var isArray = Array.isArray || function (obj) { + return _toString.call(obj) === '[object Array]'; + }; + var create = Object.create || function (obj) { + function F() { + } + + F.prototype = obj; + return new F(); + }; + var toString = function (val) { + if (val == null) return ''; + return (typeof val.toString == 'function') ? val.toString() : _toString.call(val); + }; + var extend = function (dest, src) { + var keys = getKeys(src); + for (var i = 0, len = keys.length; i < len; i++) { + var key = keys[i]; + dest[key] = src[key]; + } + return dest; + }; + //get a value, lexically, starting in current context; a.b -> get("a","b") + var get = function () { + var val, n = arguments[0], c = stack.length; + while (c--) { + val = stack[c][n]; + if (typeof val != 'undefined') break; + } + for (var i = 1, len = arguments.length; i < len; i++) { + if (val == null) continue; + n = arguments[i]; + val = (_hasOwnProperty.call(val, n)) ? val[n] : (typeof val._get == 'function' ? (val[n] = val._get(n)) : null); + } + return (val == null) ? '' : val; + }; + var set = function (n, val) { + stack[stack.length - 1][n] = val; + }; + var push = function (ctx) { + stack.push(ctx || {}); + }; + var pop = function () { + stack.pop(); + }; + var write = function (str) { + output.push(str); + }; + var filter = function (val) { + for (var i = 1, len = arguments.length; i < len; i++) { + var arr = arguments[i], name = arr[0], filter = filters[name]; + if (filter) { + arr[0] = val; + //now arr looks like [val, arg1, arg2] + val = filter.apply(data, arr); + } else { + throw new Error('Invalid filter: ' + name); + } + } + if (opts.autoEscape && name !== opts.autoEscape && name !== 'safe') { + //auto escape if not explicitly safe or already escaped + val = filters[opts.autoEscape].call(data, val); + } + output.push(val); + }; + var each = function (obj, loopvar, fn1, fn2) { + if (obj == null) return; + var arr = isArray(obj) ? obj : getKeys(obj), len = arr.length; + var ctx = {loop: {length: len, first: arr[0], last: arr[len - 1]}}; + push(ctx); + for (var i = 0; i < len; i++) { + extend(ctx.loop, {index: i + 1, index0: i}); + fn1(ctx[loopvar] = arr[i]); + } + if (len === 0 && fn2) fn2(); + pop(); + }; + var block = function (fn) { + push(); + fn(); + pop(); + }; + var render = function () { + return output.join(''); + }; + data = data || {}; + opts = extend(defaults, opts || {}); + var filters = extend({ + html: function (val) { + return toString(val) + .split('&').join('&') + .split('<').join('<') + .split('>').join('>') + .split('"').join('"'); + }, + safe: function (val) { + return val; + }, + toJson: function (val) { + if (typeof val === 'object') { + return JSON.stringify(val); + } + return toString(val); + } + }, opts.filters || {}); + var stack = [create(data || {})], output = []; + return { + get: get, + set: set, + push: push, + pop: pop, + write: write, + filter: filter, + each: each, + block: block, + render: render + }; + }; + + var runtime; + + jinja.compile = function (markup, opts) { + opts = opts || {}; + var parser = new Parser(); + parser.readTemplateFile = this.readTemplateFile; + var code = []; + code.push('function render($) {'); + code.push('var get = $.get, set = $.set, push = $.push, pop = $.pop, write = $.write, filter = $.filter, each = $.each, block = $.block;'); + code.push.apply(code, parser.parse(markup)); + code.push('return $.render();'); + code.push('}'); + code = code.join('\n'); + if (opts.runtime === false) { + var fn = new Function('data', 'options', 'return (' + code + ')(runtime(data, options))'); + } else { + runtime = runtime || (runtime = getRuntime.toString()); + fn = new Function('data', 'options', 'return (' + code + ')((' + runtime + ')(data, options))'); + } + return {render: fn}; + }; + + jinja.render = function (markup, data, opts) { + var tmpl = jinja.compile(markup); + return tmpl.render(data, opts); + }; + + jinja.templateFiles = []; + + jinja.readTemplateFile = function (name) { + var templateFiles = this.templateFiles || []; + var templateFile = templateFiles[name]; + if (templateFile == null) { + throw new Error('Template file not found: ' + name); + } + return templateFile; + }; + + + /*! + * Helpers + */ + + function trimLeft(str) { + return str.replace(LEADING_SPACE, ''); + } + + function trimRight(str) { + return str.replace(TRAILING_SPACE, ''); + } + + function matchAll(str, reg, fn) { + //copy as global + reg = new RegExp(reg.source, 'g' + (reg.ignoreCase ? 'i' : '') + (reg.multiline ? 'm' : '')); + var match; + while ((match = reg.exec(str))) { + var result = fn(match[0], match.index, str); + if (typeof result == 'number') { + reg.lastIndex = result; + } + } + } +})); \ No newline at end of file diff --git a/tvboxqq/tvboxqq/肥猫/api/json5.js b/tvboxqq/tvboxqq/肥猫/api/json5.js new file mode 100644 index 0000000..10d7ab0 --- /dev/null +++ b/tvboxqq/tvboxqq/肥猫/api/json5.js @@ -0,0 +1,1737 @@ +(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; + +}))); diff --git a/tvboxqq/tvboxqq/肥猫/api/node-rsa.js b/tvboxqq/tvboxqq/肥猫/api/node-rsa.js new file mode 100644 index 0000000..b5ca093 --- /dev/null +++ b/tvboxqq/tvboxqq/肥猫/api/node-rsa.js @@ -0,0 +1,2 @@ +/*! 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-tthis._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;i4)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{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{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=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=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=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;s60?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>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;au?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>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=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;oa&&(r=a-f),o=r;o>=0;o--){for(var h=!0,p=0;pi&&(n=i):n=i;var o=e.length;n>o/2&&(n=o/2);for(var s=0;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;i239?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;nr&&(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>>=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;ii)&&(r=i);for(var o="",s=e;sr)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||et.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>>=0,e>>>=0,r||k(t,e,this.length);for(var n=this[t],i=1,o=0;++o>>=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=(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>>=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>>=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=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=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>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(o=e;o55295&&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=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;s6&&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>>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>>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>>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>>2]>>>24-o%4*8&255;e[n+o>>>2]|=s<<24-(n+o)%4*8}else for(o=0;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>>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>>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>>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>>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>>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>>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>>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>>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>>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>>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>>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.lengthn&&(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>>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<>>32-o)+e}function c(t,e,r,n,i,o,s){var a=t+(e&n|r&~n)+i+s;return(a<>>32-o)+e}function h(t,e,r,n,i,o,s){var a=t+(e^r^n)+i+s;return(a<>>32-o)+e}function p(t,e,r,n,i,o,s){var a=t+(r^(e|~n))+i+s;return(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>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>>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>>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>>0?1:0)|0,e[2]=e[2]+886263092+(e[1]>>>0>>0?1:0)|0,e[3]=e[3]+1295307597+(e[2]>>>0>>0?1:0)|0,e[4]=e[4]+3545052371+(e[3]>>>0>>0?1:0)|0,e[5]=e[5]+886263092+(e[4]>>>0>>0?1:0)|0,e[6]=e[6]+1295307597+(e[5]>>>0>>0?1:0)|0,e[7]=e[7]+3545052371+(e[6]>>>0>>0?1:0)|0,this._b=e[7]>>>0>>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>>0?1:0)|0,e[2]=e[2]+886263092+(e[1]>>>0>>0?1:0)|0,e[3]=e[3]+1295307597+(e[2]>>>0>>0?1:0)|0,e[4]=e[4]+3545052371+(e[3]>>>0>>0?1:0)|0,e[5]=e[5]+886263092+(e[4]>>>0>>0?1:0)|0,e[6]=e[6]+1295307597+(e[5]>>>0>>0?1:0)|0,e[7]=e[7]+3545052371+(e[6]>>>0>>0?1:0)|0,this._b=e[7]>>>0>>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<>>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<>>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<>>32-O,y=w<>>32-O):(l=w<>>64-O,y=E<>>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>>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>>0?1:0))+nt+((V+=it)>>>0>>0?1:0))+ut+((V+=ct)>>>0>>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>>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>>0?1:0))+bt+((ht+=Et)>>>0>>0?1:0))+W+((ht+=V)>>>0>>0?1:0))+((M=C+ht|0)>>>0>>0?1:0)|0,L=R,C=N,R=k,N=D,k=T,D=I,T=wt+(dt+yt+(Ot>>>0>>0?1:0))+((I=ht+Ot|0)>>>0>>0?1:0)|0}y=n.low=y+I,n.high=l+T+(y>>>0>>0?1:0),d=i.low=d+D,i.high=g+k+(d>>>0>>0?1:0),m=o.low=m+N,o.high=v+R+(m>>>0>>0?1:0),_=s.low=_+C,s.high=S+L+(_>>>0>>0?1:0),E=a.low=E+M,a.high=b+U+(E>>>0>>0?1:0),O=c.low=O+H,c.high=w+j+(O>>>0>>0?1:0),A=h.low=A+z,h.high=B+F+(A>>>0>>0?1:0),P=p.low=P+q,p.high=x+G+(P>>>0>>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^this._lBlock)&e;this._lBlock^=r,this._rBlock^=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{"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){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<>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<>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<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{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{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<>=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>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):this[this.t-1]|=f<=this.DB&&(a-=this.DB))}!r&&8==n&&128&t[0]&&(this.s=-1,a>0&&(this[this.t-1]|=(1<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=0;--r)e[r+s+1]=this[r]>>i|a,a=(this[r]&o)<=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;for(var s=r+1;s>n;n>0&&(e[this.t-r-1]|=(this.s&o)<>=this.DB;if(t.t>=this.DB;n+=this.s}else{for(n+=this.s;r>=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=0;)t[r]=0;for(r=0;r=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.t0?(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<1?o[h-2]>>this.F2:0),g=this.FV/l,d=(1<=0&&(r[r.t++]=1,r.subTo(_,r)),s.ONE.dlShiftTo(h,_),_.subTo(o,o);o.t=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))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<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=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<>=this.DB;if(t.t>=this.DB;n+=this.s}else{for(n+=this.s;r>=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=0;)r[n]=0;for(n=Math.max(e-this.t,0);n0)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;o0)for(a>a)>0&&(i=!0,o=h(r));s>=0;)a>(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)<>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>n)!=(this.s&this.DM)>>n&&(e[i++]=r|this.s<=0;)n<8?(r=(this[t]&(1<>(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;r0?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?0!=this.s:!!(this[e]&1<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<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<=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(i0&&(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{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()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;f0)throw Error("Incorrect data or key");for(var r=[],i=0,o=0,s=t.length/this.encryptedDataLength,a=0;a>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;hf-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{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=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>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>8-(g=8*h-r)<<8-g,p[0]=p[0]&l,y=0;0===p[y]&&y{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+e0){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;g0)for(var d=0;d{"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{"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{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=[];++c1)for(var r=1;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{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/tvboxqq/tvboxqq/肥猫/api/pako.min.js b/tvboxqq/tvboxqq/肥猫/api/pako.min.js new file mode 100644 index 0000000..05a54a2 --- /dev/null +++ b/tvboxqq/tvboxqq/肥猫/api/pako.min.js @@ -0,0 +1,2 @@ +/*! 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<>16-t.bi_valid,t.bi_valid+=a-16):(t.bi_buf|=e<{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{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]{const i=t.heap[a];let n=a<<1;for(;n<=t.heap_len&&(n{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{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>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{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{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{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{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<>=7;h(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>>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<{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]&&sr){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{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_outi+t.strm.avail_in&&(a=i+t.strm.avail_in),a>n&&(a=n),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_watern&&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>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=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=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_length4096)&&(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<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.gzindexi&&(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.gzindexi&&(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]&&nt.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=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>>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;i4)s[n++]=65533,i+=r-1;else{for(e&=2===r?31:3===r?15:7;r>1&&i1?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=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<>>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,c-=p),c<15&&(f+=z[a++]<>>24,f>>>=p,c-=p,p=g>>>16&255,!(16&p)){if(0==(64&p)){g=w[(65535&g)+(f&(1<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,p2;)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>3,a-=k,c-=k<<3,f&=(1<{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=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;b0&&(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;m852||2===t&&x>592)return 1;for(;;){Z=w-v,r[m]+1=u?(U=D[r[m]-u],S=A[r[m]-u]):(U=96,S=0),h=1<>v)+d]=Z<<24|U<<16|S|0}while(0!==d);for(h=1<>=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<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.mode16211?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.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.whaveKe(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++]<>>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<>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++]<>>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++]<>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++]<>>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>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++]<>>=7&d,d-=7&d,a.mode=Fe;break}for(;d<3;){if(0===o)break t;o--,h+=i[s++]<>>=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++]<>>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++]<>>=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>>=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>>24,b=z>>>16&255,g=65535&z,!(m<=d);){if(0===o)break t;o--,h+=i[s++]<>>=m,d-=m,a.lens[a.have++]=g;else{if(16===g){for(R=m+2;d>>=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>>=m,d-=m,y=0,c=3+(7&h),h>>>=3,d-=3}else{for(R=m+7;d>>=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<>>24,b=z>>>16&255,g=65535&z,!(m<=d);){if(0===o)break t;o--,h+=i[s++]<>p)],m=z>>>24,b=z>>>16&255,g=65535&z,!(p+m<=d);){if(0===o)break t;o--,h+=i[s++]<>>=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>>=a.extra,d-=a.extra,a.back+=a.extra}a.was=a.length,a.mode=16202;case 16202:for(;z=a.distcode[h&(1<>>24,b=z>>>16&255,g=65535&z,!(m<=d);){if(0===o)break t;o--,h+=i[s++]<>p)],m=z>>>24,b=z>>>16&255,g=65535&z,!(p+m<=d);){if(0===o)break t;o--,h+=i[s++]<>>=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>>=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++]<{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/tvboxqq/tvboxqq/肥猫/api/模板.js b/tvboxqq/tvboxqq/肥猫/api/模板.js new file mode 100644 index 0000000..82b037b --- /dev/null +++ b/tvboxqq/tvboxqq/肥猫/api/模板.js @@ -0,0 +1,304 @@ +if (typeof Object.assign != 'function') { + Object.assign = function () { + var target = arguments[0]; + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i]; + for (var key in source) { + if (Object.prototype.hasOwnProperty.call(source, key)) { + target[key] = source[key]; + } + } + } + return target; +}; +} +function getMubans() { + var mubanDict = { // 模板字典 + mxpro: { + title: '', + host: '', + // homeUrl:'/', + url: '/vodshow/fyclass--------fypage---.html', + searchUrl: '/vodsearch/**----------fypage---.html', + searchable: 2,//是否启用全局搜索, + quickSearch: 0,//是否启用快速搜索, + filterable: 0,//是否启用分类筛选, + headers: {//网站的请求头,完整支持所有的,常带ua和cookies + 'User-Agent': 'MOBILE_UA', + // "Cookie": "searchneed=ok" + }, + class_parse: '.navbar-items li:gt(2):lt(8);a&&Text;a&&href;/(\\d+).html', + play_parse: true, + lazy: '', + limit: 6, + 推荐: '.tab-list.active;a.module-poster-item.module-item;.module-poster-item-title&&Text;.lazyload&&data-original;.module-item-note&&Text;a&&href', + double: true, // 推荐内容是否双层定位 + 一级: 'body a.module-poster-item.module-item;a&&title;.lazyload&&data-original;.module-item-note&&Text;a&&href', + 二级: { + "title": "h1&&Text;.module-info-tag&&Text", + "img": ".lazyload&&data-original", + "desc": ".module-info-item:eq(1)&&Text;.module-info-item:eq(2)&&Text;.module-info-item:eq(3)&&Text", + "content": ".module-info-introduction&&Text", + "tabs": ".module-tab-item", + "lists": ".module-play-list:eq(#id) a" + }, + 搜索: 'body .module-item;.module-card-item-title&&Text;.lazyload&&data-original;.module-item-note&&Text;a&&href;.module-info-item-content&&Text', + }, + mxone5: { + title: '', + host: '', + url: '/show/fyclass--------fypage---.html', + searchUrl: '/search/**----------fypage---.html', + searchable: 2,//是否启用全局搜索, + quickSearch: 0,//是否启用快速搜索, + filterable: 0,//是否启用分类筛选, + class_parse: '.nav-menu-items&&li;a&&Text;a&&href;.*/(.*?).html', + play_parse: true, + lazy: '', + limit: 6, + 推荐: '.module-list;.module-items&&.module-item;a&&title;img&&data-src;.module-item-text&&Text;a&&href', + double: true, // 推荐内容是否双层定位 + 一级: '.module-items .module-item;a&&title;img&&data-src;.module-item-text&&Text;a&&href', + 二级: { + "title": "h1&&Text;.tag-link&&Text", + "img": ".module-item-pic&&img&&data-src", + "desc": ".video-info-items:eq(0)&&Text;.video-info-items:eq(1)&&Text;.video-info-items:eq(2)&&Text;.video-info-items:eq(3)&&Text", + "content": ".vod_content&&Text", + "tabs": ".module-tab-item", + "lists": ".module-player-list:eq(#id)&&.scroll-content&&a" + }, + 搜索: '.module-items .module-search-item;a&&title;img&&data-src;.video-serial&&Text;a&&href', + }, + 首图: { + title: '', + host: '', + url: '/vodshow/fyclass--------fypage---/', + searchUrl: '/vodsearch/**----------fypage---.html', + searchable: 2,//是否启用全局搜索, + quickSearch: 0,//是否启用快速搜索, + filterable: 0,//是否启用分类筛选, + headers: {//网站的请求头,完整支持所有的,常带ua和cookies + 'User-Agent': 'MOBILE_UA', + // "Cookie": "searchneed=ok" + }, + class_parse: '.myui-header__menu li.hidden-sm:gt(0):lt(5);a&&Text;a&&href;/(\\d+).html', + play_parse: true, + lazy: '', + limit: 6, + 推荐: 'ul.myui-vodlist.clearfix;li;a&&title;a&&data-original;.pic-text&&Text;a&&href', + double: true, // 推荐内容是否双层定位 + 一级: '.myui-vodlist li;a&&title;a&&data-original;.pic-text&&Text;a&&href', + 二级: { + "title": ".myui-content__detail .title&&Text;.myui-content__detail p:eq(-2)&&Text", + "img": ".myui-content__thumb .lazyload&&data-original", + "desc": ".myui-content__detail p:eq(0)&&Text;.myui-content__detail p:eq(1)&&Text;.myui-content__detail p:eq(2)&&Text", + "content": ".content&&Text", + "tabs": ".nav-tabs:eq(0) li", + "lists": ".myui-content__list:eq(#id) li" + }, + 搜索: '#searchList li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text', + }, + 首图2: { + title: '', + host: '', + url: '/list/fyclass-fypage.html', + searchUrl: '/vodsearch/**----------fypage---.html', + searchable: 2,//是否启用全局搜索, + quickSearch: 0,//是否启用快速搜索, + filterable: 0,//是否启用分类筛选, + headers: { + 'User-Agent': 'UC_UA', + // "Cookie": "" + }, + // class_parse:'.stui-header__menu li:gt(0):lt(7);a&&Text;a&&href;/(\\d+).html', + class_parse: '.stui-header__menu li:gt(0):lt(7);a&&Text;a&&href;.*/(.*?).html', + play_parse: true, + lazy: '', + limit: 6, + 推荐: 'ul.stui-vodlist.clearfix;li;a&&title;.lazyload&&data-original;.pic-text&&Text;a&&href', + double: true, // 推荐内容是否双层定位 + 一级: '.stui-vodlist li;a&&title;a&&data-original;.pic-text&&Text;a&&href', + 二级: { + "title": ".stui-content__detail .title&&Text;.stui-content__detail p:eq(-2)&&Text", + "img": ".stui-content__thumb .lazyload&&data-original", + "desc": ".stui-content__detail p:eq(0)&&Text;.stui-content__detail p:eq(1)&&Text;.stui-content__detail p:eq(2)&&Text", + "content": ".detail&&Text", + "tabs": ".stui-vodlist__head h3", + "lists": ".stui-content__playlist:eq(#id) li" + }, + 搜索: 'ul.stui-vodlist__media:eq(0) li,ul.stui-vodlist:eq(0) li,#searchList li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text', + 搜索1: 'ul.stui-vodlist&&li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text', + 搜索2: 'ul.stui-vodlist__media&&li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text', + }, + 默认: { + title: '', + host: '', + url: '/vodshow/fyclass--------fypage---.html', + searchUrl: '/vodsearch/-------------.html?wd=**', + searchable: 2,//是否启用全局搜索, + quickSearch: 0,//是否启用快速搜索, + filterable: 0,//是否启用分类筛选, + headers: { + 'User-Agent': 'MOBILE_UA', + }, + play_parse: true, + lazy: '', + limit: 6, + double: true, // 推荐内容是否双层定位 + }, + vfed: { + title: '', + host: '', + url: '/index.php/vod/show/id/fyclass/page/fypage.html', + searchUrl: '/index.php/vod/search/page/fypage/wd/**.html', + searchable: 2,//是否启用全局搜索, + quickSearch: 0,//是否启用快速搜索, + filterable: 0,//是否启用分类筛选, + headers: { + 'User-Agent': 'UC_UA', + }, + // class_parse:'.fed-pops-navbar&&ul.fed-part-rows&&a.fed-part-eone:gt(0):lt(5);a&&Text;a&&href;.*/(.*?).html', + class_parse: '.fed-pops-navbar&&ul.fed-part-rows&&a;a&&Text;a&&href;.*/(.*?).html', + play_parse: true, + lazy: '', + limit: 6, + 推荐: 'ul.fed-list-info.fed-part-rows;li;a.fed-list-title&&Text;a&&data-original;.fed-list-remarks&&Text;a&&href', + double: true, // 推荐内容是否双层定位 + 一级: '.fed-list-info&&li;a.fed-list-title&&Text;a&&data-original;.fed-list-remarks&&Text;a&&href', + 二级: { + "title": "h1.fed-part-eone&&Text;.fed-deta-content&&.fed-part-rows&&li&&Text", + "img": ".fed-list-info&&a&&data-original", + "desc": ".fed-deta-content&&.fed-part-rows&&li:eq(1)&&Text;.fed-deta-content&&.fed-part-rows&&li:eq(2)&&Text;.fed-deta-content&&.fed-part-rows&&li:eq(3)&&Text", + "content": ".fed-part-esan&&Text", + "tabs": ".fed-drop-boxs&&.fed-part-rows&&li", + "lists": ".fed-play-item:eq(#id)&&ul:eq(1)&&li" + }, + 搜索: '.fed-deta-info;h1&&Text;.lazyload&&data-original;.fed-list-remarks&&Text;a&&href;.fed-deta-content&&Text', + }, + 海螺3: { + title: '', + host: '', + searchUrl: '/v_search/**----------fypage---.html', + url: '/vod_____show/fyclass--------fypage---.html', + headers: { + 'User-Agent': 'MOBILE_UA' + }, + timeout: 5000, + class_parse: 'body&&.hl-nav li:gt(0);a&&Text;a&&href;.*/(.*?).html', + cate_exclude: '明星|专题|最新|排行', + limit: 40, + play_parse: true, + lazy: '', + 推荐: '.hl-vod-list;li;a&&title;a&&data-original;.remarks&&Text;a&&href', + double: true, + 一级: '.hl-vod-list&&.hl-list-item;a&&title;a&&data-original;.remarks&&Text;a&&href', + 二级: { + "title": ".hl-infos-title&&Text;.hl-text-conch&&Text", + "img": ".hl-lazy&&data-original", + "desc": ".hl-infos-content&&.hl-text-conch&&Text", + "content": ".hl-content-text&&Text", + "tabs": ".hl-tabs&&a", + "lists": ".hl-plays-list:eq(#id)&&li" + }, + 搜索: '.hl-list-item;a&&title;a&&data-original;.remarks&&Text;a&&href', + searchable: 2,//是否启用全局搜索, + quickSearch: 0,//是否启用快速搜索, + filterable: 0,//是否启用分类筛选, + }, + 海螺2: { + title: '', + host: '', + searchUrl: '/index.php/vod/search/page/fypage/wd/**/', + url: '/index.php/vod/show/id/fyclass/page/fypage/', + headers: { + 'User-Agent': 'MOBILE_UA' + }, + timeout: 5000, + class_parse: '#nav-bar li;a&&Text;a&&href;id/(.*?)/', + limit: 40, + play_parse: true, + lazy: '', + 推荐: '.list-a.size;li;a&&title;.lazy&&data-original;.bt&&Text;a&&href', + double: true, + 一级: '.list-a&&li;a&&title;.lazy&&data-original;.list-remarks&&Text;a&&href', + 二级: { + "title": "h2&&Text;.deployment&&Text", + "img": ".lazy&&data-original", + "desc": ".deployment&&Text", + "content": ".ec-show&&Text", + "tabs": "#tag&&a", + "lists": ".play_list_box:eq(#id)&&li" + }, + 搜索: '.search-list;a&&title;.lazy&&data-original;.deployment&&Text;a&&href', + searchable: 2,//是否启用全局搜索, + quickSearch: 0,//是否启用快速搜索, + filterable: 0,//是否启用分类筛选, + }, + 短视: { + title: '', + host: '', + // homeUrl:'/', + url: '/channel/fyclass-fypage.html', + searchUrl: '/search.html?wd=**', + searchable: 2,//是否启用全局搜索, + quickSearch: 0,//是否启用快速搜索, + filterable: 0,//是否启用分类筛选, + headers: {//网站的请求头,完整支持所有的,常带ua和cookies + 'User-Agent': 'MOBILE_UA', + // "Cookie": "searchneed=ok" + }, + class_parse: '.menu_bottom ul li;a&&Text;a&&href;.*/(.*?).html', + cate_exclude: '解析|动态', + play_parse: true, + lazy: '', + limit: 6, + 推荐: '.indexShowBox;ul&&li;a&&title;img&&data-src;.s1&&Text;a&&href', + double: true, // 推荐内容是否双层定位 + 一级: '.pic-list&&li;a&&title;img&&data-src;.s1&&Text;a&&href', + 二级: { + "title": "h1&&Text;.content-rt&&p:eq(0)&&Text", + "img": ".img&&img&&data-src", + "desc": ".content-rt&&p:eq(1)&&Text;.content-rt&&p:eq(2)&&Text;.content-rt&&p:eq(3)&&Text;.content-rt&&p:eq(4)&&Text;.content-rt&&p:eq(5)&&Text", + "content": ".zkjj_a&&Text", + "tabs": ".py-tabs&&option", + "lists": ".player:eq(#id) li" + }, + 搜索: '.sr_lists&&ul&&li;h3&&Text;img&&data-src;.int&&p:eq(0)&&Text;a&&href', + }, + 短视2:{ + title: '', + host: '', + class_name:'电影&电视剧&综艺&动漫', + class_url:'1&2&3&4', + searchUrl: '/index.php/ajax/suggest?mid=1&wd=**&limit=50', + searchable: 2, + quickSearch: 0, + headers:{'User-Agent':'MOBILE_UA'}, + url: '/index.php/api/vod#type=fyclass&page=fypage', + filterable:0,//是否启用分类筛选, + filter_url:'', + filter: {}, + filter_def:{}, + detailUrl:'/index.php/vod/detail/id/fyid.html', + play_parse: true, + lazy: '', + limit: 6, + 推荐:'.list-vod.flex .public-list-box;a&&title;.lazy&&data-original;.public-list-prb&&Text;a&&href', + 一级:'js:let body=input.split("#")[1];let t=Math.round(new Date/1e3).toString();let key=md5("DS"+t+"DCC147D11943AF75");let url=input.split("#")[0];body=body+"&time="+t+"&key="+key;print(body);fetch_params.body=body;let html=post(url,fetch_params);let data=JSON.parse(html);VODS=data.list.map(function(it){it.vod_pic=urljoin2(input.split("/i")[0],it.vod_pic);return it});', + 二级:{ + "title":".slide-info-title&&Text;.slide-info:eq(3)--strong&&Text", + "img":".detail-pic&&data-original", + "desc":".fraction&&Text;.slide-info-remarks:eq(1)&&Text;.slide-info-remarks:eq(2)&&Text;.slide-info:eq(2)--strong&&Text;.slide-info:eq(1)--strong&&Text", + "content":"#height_limit&&Text", + "tabs":".anthology.wow.fadeInUp.animated&&.swiper-wrapper&&a", + "tab_text":".swiper-slide&&Text", + "lists":".anthology-list-box:eq(#id) li" + }, + 搜索:'json:list;name;pic;;id', + } + }; + return JSON.parse(JSON.stringify(mubanDict)); +} +var mubanDict = getMubans(); +var muban = getMubans(); +export default {muban,getMubans}; \ No newline at end of file diff --git a/tvboxqq/tvboxqq/肥猫/js/兔小贝.js b/tvboxqq/tvboxqq/肥猫/js/兔小贝.js new file mode 100644 index 0000000..905d963 --- /dev/null +++ b/tvboxqq/tvboxqq/肥猫/js/兔小贝.js @@ -0,0 +1,26 @@ +var rule = { + title:'兔小贝', + host:'https://www.tuxiaobei.com', + homeUrl:'', + url:'/list/mip-data?typeId=fyclass&page=fypage&callback=', + detailUrl:'/play/fyid', + searchUrl:'/search/index?key=**', + searchable:2, + headers:{ + 'User-Agent':'MOBILE_UA' + }, + timeout:5000, + class_url:'2&3&4&25', + class_name:'儿歌&故事&国学&启蒙', + //class_name:'#page-viewport&&ul&&li;.text&&Text;a&&href;/(.*)', + cate_exclude:'应用', + 推荐:'.pic-list.list-box;.items;.text&&Text;mip-img&&src;.all&&Text;a&&href', + double:true, + limit:5, + play_parse:true, + lazy:'js:fetch_params.headers["user-agent"] = IOS_UA;let html=fetch(input,fetch_params);let src = jsp.pdfh(html,"body&&#videoWrap&&video-src");input=src;', + // 一级:'json:data.items;name;image;collect_num;category_id+video_id', + 一级:'json:data.items;name;image;duration_string;video_id', + 二级:'*', + 搜索:'.list-con&&.items;.text&&Text;mip-img&&src;.time&&Text;a&&href', +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/肥猫/lives/冰茶.txt b/tvboxqq/tvboxqq/肥猫/lives/冰茶.txt new file mode 100644 index 0000000..ee67347 --- /dev/null +++ b/tvboxqq/tvboxqq/肥猫/lives/冰茶.txt @@ -0,0 +1,806 @@ +#EXTM3U x-tvg-url="https://static.188766.xyz/e.xml" catchup="append" catchup-source="?playseek=${(b)yyyyMMddHHmmss}-${(e)yyyyMMddHHmmss}" + +#EXTINF:-1 tvg-id="CCTV1" tvg-name="CCTV1" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/CCTV1.png" group-title="央视频道",CCTV-1 综合 +https://migu.188766.xyz/?migutoken=380bb918588e69db54983e7d822032cc&id=CCTV1&type=yy +#EXTINF:-1 tvg-id="CCTV2" tvg-name="CCTV2" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/CCTV2.png" group-title="央视频道",CCTV-2 财经 +https://migu.188766.xyz/?migutoken=e42d95f45b5d155af24df6b1b6bf518a&id=CCTV2&type=yy +#EXTINF:-1 tvg-id="CCTV3" tvg-name="CCTV3" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/CCTV3.png" group-title="央视频道",CCTV-3 综艺 +https://migu.188766.xyz/?migutoken=370155bf81d20351917b85b0c8b49b37&id=CCTV3&type=yy +#EXTINF:-1 tvg-id="CCTV4" tvg-name="CCTV4" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/CCTV4.png" group-title="央视频道",CCTV-4 中文国际 +https://migu.188766.xyz/?migutoken=0ef1c998369a238cdcb6d4f112032151&id=CCTV4&type=yy +#EXTINF:-1 tvg-id="CCTV5" tvg-name="CCTV5" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/CCTV5.png" group-title="央视频道",CCTV-5 体育 +https://migu.188766.xyz/?migutoken=c8e0133967a0e288f7032f0e27300aa3&id=CCTV5&type=yy +#EXTINF:-1 tvg-id="CCTV5+" tvg-name="CCTV5+" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/CCTV5+.png" group-title="央视频道",CCTV-5+ 体育赛事 +https://migu.188766.xyz/?migutoken=2e433173463e31485c5182c461feb0ea&id=CCTV5p&type=yy +#EXTINF:-1 tvg-id="CCTV6" tvg-name="CCTV6" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/CCTV6.png" group-title="央视频道",CCTV-6 电影 +https://migu.188766.xyz/?migutoken=e0ff873c151bdf4bd3106b73332e22e1&id=CCTV6&type=yy +#EXTINF:-1 tvg-id="CCTV7" tvg-name="CCTV7" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/CCTV7.png" group-title="央视频道",CCTV-7 国防军事 +https://migu.188766.xyz/?migutoken=5f719707ae3a21e825ca5a1f5cc797fd&id=CCTV7&type=yy +#EXTINF:-1 tvg-id="CCTV8" tvg-name="CCTV8" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/CCTV8.png" group-title="央视频道",CCTV-8 电视剧 +https://migu.188766.xyz/?migutoken=cc8feed3bc93c7ec6b3a7ac51688be01&id=CCTV8&type=yy +#EXTINF:-1 tvg-id="CCTV9" tvg-name="CCTV9" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/CCTV9.png" group-title="央视频道",CCTV-9 纪录 +https://migu.188766.xyz/?migutoken=afe2117a10c80d26c9581dd214d56fa9&id=CCTV9&type=yy +#EXTINF:-1 tvg-id="CCTV10" tvg-name="CCTV10" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/CCTV10.png" group-title="央视频道",CCTV-10 科教 +https://migu.188766.xyz/?migutoken=280988fa45eb264870fe9a9cd50095fc&id=CCTV10&type=yy +#EXTINF:-1 tvg-id="CCTV11" tvg-name="CCTV11" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/CCTV11.png" group-title="央视频道",CCTV-11 戏曲 +https://migu.188766.xyz/?migutoken=24eb749cd35f826873690586e3fd08cd&id=CCTV11&type=yy +#EXTINF:-1 tvg-id="CCTV12" tvg-name="CCTV12" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/CCTV12.png" group-title="央视频道",CCTV-12 社会与法 +https://migu.188766.xyz/?migutoken=c11fe08d31a6f35e486517ef74554777&id=CCTV12&type=yy +#EXTINF:-1 tvg-id="CCTV13" tvg-name="CCTV13" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/CCTV13.png" group-title="央视频道",CCTV-13 新闻 +https://migu.188766.xyz/?migutoken=2c4ebc5adbac48075c12753726852b2e&id=CCTV13&type=yy +#EXTINF:-1 tvg-id="CCTV14" tvg-name="CCTV14" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/CCTV14.png" group-title="央视频道",CCTV-14 少儿 +https://migu.188766.xyz/?migutoken=07a5fc1f569751a58cc271b3709ee058&id=CCTV14&type=yy +#EXTINF:-1 tvg-id="CCTV15" tvg-name="CCTV15" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/CCTV15.png" group-title="央视频道",CCTV-15 音乐 +https://migu.188766.xyz/?migutoken=e21623bf56028f94b0710f45b23ddf48&id=CCTV15&type=yy +#EXTINF:-1 tvg-id="CCTV17" tvg-name="CCTV17" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/CCTV17.png" group-title="央视频道",CCTV-17 农业农村 +https://migu.188766.xyz/?migutoken=26f56fb7410663ebf674510316e72663&id=CCTV17&type=yy +#EXTINF:-1 tvg-id="CCTV4欧洲" tvg-name="CCTV4欧洲" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/CCTV4欧洲.png" group-title="央视频道",CCTV-4 中文国际 欧洲 +https://migu.188766.xyz/?migutoken=9661567aed2227822645c1fe94b97993&id=CCTV4%E6%AC%A7%E6%B4%B2&type=yy +#EXTINF:-1 tvg-id="CCTV4美洲" tvg-name="CCTV4美洲" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/CCTV4美洲.png" group-title="央视频道",CCTV-4 中文国际 美洲 +https://migu.188766.xyz/?migutoken=23007688fc75bbf874b66f0d610eaf5c&id=CCTV4%E7%BE%8E%E6%B4%B2&type=yy + +#EXTINF:-1 tvg-id="湖南卫视" tvg-name="湖南卫视" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/湖南卫视.png" group-title="卫视频道",湖南卫视 +https://migu.188766.xyz/?migutoken=38d5546fff1044a8b29c094471eb02f8&id=hnws&type=sz +#EXTINF:-1 tvg-id="浙江卫视" tvg-name="浙江卫视" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/浙江卫视.png" group-title="卫视频道",浙江卫视 +https://migu.188766.xyz/?migutoken=007570867b1c83805980923fd909257e&id=%E6%B5%99%E6%B1%9F%E5%8D%AB%E8%A7%86&pp=1 +#EXTINF:-1 tvg-id="浙江卫视" tvg-name="浙江卫视" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/浙江卫视.png" group-title="卫视频道",浙江卫视 +https://migu.188766.xyz/?migutoken=1af4024709a6452e0124c0887aa02d43&id=z_jws&type=sz +#EXTINF:-1 tvg-id="江苏卫视" tvg-name="江苏卫视" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/江苏卫视.png" group-title="卫视频道",江苏卫视 +https://migu.188766.xyz/?migutoken=140fb5bc4277d24cc79863ea4ae4ee47&id=%E6%B1%9F%E8%8B%8F%E5%8D%AB%E8%A7%86&type=yy +#EXTINF:-1 tvg-id="东方卫视" tvg-name="东方卫视" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/东方卫视.png" group-title="卫视频道",东方卫视 +https://migu.188766.xyz/?migutoken=d47a6323dfdf07b89235f2a5220e7c47&id=%E4%B8%9C%E6%96%B9%E5%8D%AB%E8%A7%86&type=yy +#EXTINF:-1 tvg-id="广东卫视" tvg-name="广东卫视" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/广东卫视.png" group-title="卫视频道",广东卫视 +https://migu.188766.xyz/?migutoken=700b8db7fd412dc303c79076a2ab504e&id=%E5%B9%BF%E4%B8%9C%E5%8D%AB%E8%A7%86&type=yy +#EXTINF:-1 tvg-id="湖北卫视" tvg-name="湖北卫视" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/湖北卫视.png" group-title="卫视频道",湖北卫视 +https://migu.188766.xyz/?migutoken=613b00cdd77f67579d28978c67e89e77&id=%E6%B9%96%E5%8C%97%E5%8D%AB%E8%A7%86&type=yy +#EXTINF:-1 tvg-id="江西卫视" tvg-name="江西卫视" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/江西卫视.png" group-title="卫视频道",江西卫视 +https://migu.188766.xyz/?migutoken=93c2aad7a82944caad09426576f55a6a&id=%E6%B1%9F%E8%A5%BF%E5%8D%AB%E8%A7%86&type=yy +#EXTINF:-1 tvg-id="辽宁卫视" tvg-name="辽宁卫视" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/辽宁卫视.png" group-title="卫视频道",辽宁卫视 +https://migu.188766.xyz/?migutoken=4d2b1bebb31580efa304f7afb8f23da8&id=%E8%BE%BD%E5%AE%81%E5%8D%AB%E8%A7%86&type=yy +#EXTINF:-1 tvg-id="河南卫视" tvg-name="河南卫视" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/河南卫视.png" group-title="卫视频道",河南卫视 +https://migu.188766.xyz/?migutoken=53afe195522c281fac5522fa37656673&id=%E6%B2%B3%E5%8D%97%E5%8D%AB%E8%A7%86%E9%AB%98%E6%B8%85&type=yy +#EXTINF:-1 tvg-id="海南卫视" tvg-name="海南卫视" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/海南卫视.png" group-title="卫视频道",海南卫视 +https://migu.188766.xyz/?migutoken=9041cb08138ee623066644cfb14bc080&id=hn_hnws&type=sz +#EXTINF:-1 tvg-id="内蒙古卫视" tvg-name="内蒙古卫视" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/内蒙古卫视.png" group-title="卫视频道",内蒙古卫视 +https://migu.188766.xyz/?migutoken=72a983275cbee3aa6d0001c2ab4847d3&id=%E5%86%85%E8%92%99%E5%8F%A4%E5%8D%AB%E8%A7%86&pp=1 +#EXTINF:-1 tvg-id="陕西卫视" tvg-name="陕西卫视" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/陕西卫视.png" group-title="卫视频道",陕西卫视 +https://migu.188766.xyz/?migutoken=1054957990e91afa6b62082daf9dcd6b&id=%E9%99%95%E8%A5%BF%E5%8D%AB%E8%A7%86&type=yy +#EXTINF:-1 tvg-id="三沙卫视" tvg-name="三沙卫视" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/三沙卫视.png" group-title="卫视频道",三沙卫视 +https://migu.188766.xyz/?migutoken=1d71e6ad7fdc3a80a12803a2436d2887&id=hn_ssws&type=sz +#EXTINF:-1 tvg-id="吉林卫视" tvg-name="吉林卫视" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/吉林卫视.png" group-title="卫视频道",吉林卫视 +https://migu.188766.xyz/?migutoken=a0ff3339a4dd1d67b67a82af6c10e045&id=%E5%90%89%E6%9E%97%E5%8D%AB%E8%A7%86&type=yy +#EXTINF:-1 tvg-id="青海卫视" tvg-name="青海卫视" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/青海卫视.png" group-title="卫视频道",青海卫视 +https://migu.188766.xyz/?migutoken=d5ea640da252ee269b70c83537daee6c&id=%E9%9D%92%E6%B5%B7%E5%8D%AB%E8%A7%86&type=yy +#EXTINF:-1 tvg-id="海南卫视" tvg-name="海南卫视" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/海南卫视.png" group-title="卫视频道",海南卫视 +https://migu.188766.xyz/?migutoken=90cfb3138f5f610eb00b3767a3911157&id=%E6%B5%B7%E5%8D%97%E5%8D%AB%E8%A7%86&type=yy +#EXTINF:-1 tvg-id="宁夏卫视" tvg-name="宁夏卫视" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/宁夏卫视.png" group-title="卫视频道",宁夏卫视 +https://migu.188766.xyz/?migutoken=598ea98c0f669f11cb4eed5930046a37&id=%E5%AE%81%E5%A4%8F%E5%8D%AB%E8%A7%86&type=yy +#EXTINF:-1 tvg-id="农林卫视" tvg-name="农林卫视" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/农林卫视.png" group-title="卫视频道",农林卫视 +https://migu.188766.xyz/?migutoken=a8105f54c5a4bdb08e94807419578d29&id=%E4%B8%AD%E5%9B%BD%E5%86%9C%E6%9E%97%E5%8D%AB%E8%A7%86&type=yy +#EXTINF:-1 tvg-id="兵团卫视" tvg-name="兵团卫视" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/兵团卫视.png" group-title="卫视频道",兵团卫视 +https://migu.188766.xyz/?migutoken=fd4fe9ab046426f8104a98ca82416575&id=%E5%85%B5%E5%9B%A2%E5%8D%AB%E8%A7%86&type=yy +#EXTINF:-1 tvg-id="大湾区卫视" tvg-name="大湾区卫视" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/大湾区卫视.png" group-title="卫视频道",大湾区卫视 +https://migu.188766.xyz/?migutoken=e8a6e47016ca52a3a8b2d3e1e4627b46&id=%E5%A4%A7%E6%B9%BE%E5%8C%BA%E5%8D%AB%E8%A7%86&type=yy + + +#EXTINF:-1 tvg-id="湖南卫视" tvg-name="湖南卫视" tvg-logo="https://static.188766.xyz/logo/sln162/iptv-back/logo/湖南卫视4K.png" group-title="超清频道",湖南卫视4K +https://migu.188766.xyz/?migutoken=47f9489d049fdc20037add3b367bc766&id=%E6%B9%96%E5%8D%97%E5%8D%AB%E8%A7%864K&pp=1 +#EXTINF:-1 tvg-id="浙江卫视" tvg-name="浙江卫视" tvg-logo="https://static.188766.xyz/logo/sln162/iptv-back/logo/浙江卫视4K.png" group-title="超清频道",浙江卫视4K +https://migu.188766.xyz/?migutoken=0f4ec2a69475712454f1b0006e226b0c&id=%E6%B5%99%E6%B1%9F%E5%8D%AB%E8%A7%864K&pp=1 +#EXTINF:-1 tvg-id="东方卫视" tvg-name="东方卫视" tvg-logo="https://static.188766.xyz/logo/sln162/iptv-back/logo/东方卫视4K.png" group-title="超清频道",东方卫视4K +#EXTVLCOPT:referer=https://live.kankanews.com/ +#EXTVLCOPT:http-referer=https://live.kankanews.com/ +#KODIPROP:inputstream.adaptive.stream_headers=Referer=https://live.kankanews.com/ +https://migu.188766.xyz/?migutoken=e154c7267d89f7b1f301f9f312f0ddfa&id=dfws&type=sz +#EXTINF:-1 tvg-id="北京卫视" tvg-name="北京卫视" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/北京卫视4K.png" group-title="超清频道",北京卫视4K +https://migu.188766.xyz/?migutoken=55525ca5930d71c443062717821568b2&id=%E5%8C%97%E4%BA%AC%E5%8D%AB%E8%A7%86&type=yy +#EXTINF:-1 tvg-id="深圳卫视" tvg-name="深圳卫视" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/深圳卫视4K.png" group-title="超清频道",深圳卫视4K +https://migu.188766.xyz/?migutoken=3e7d46ab8cf226f4d151743000ed9e76&id=%E6%B7%B1%E5%9C%B3%E5%8D%AB%E8%A7%86&pp=1 +#EXTINF:-1 tvg-id="苏州4K" tvg-name="苏州4K" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/苏州4K.png" group-title="超清频道",苏州4K +https://tylive.kan0512.com/norecord/csztv4k_4k.m3u8 +#EXTINF:-1 tvg-id="河北4K" tvg-name="河北4K" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/纯享4K.png" group-title="超清频道",河北4K +https://event.pull.hebtv.com:443/live/live101.m3u8 + +#EXTINF:-1 tvg-id="CHC影迷电影" tvg-name="CHC影迷电影" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/CHC影迷电影.png" group-title="其他频道",CHC影迷电影 +https://migu.188766.xyz/?migutoken=8d7856cc4f49b34a98a411573cffd2e6&id=CHC%E5%BD%B1%E8%BF%B7%E7%94%B5%E5%BD%B1&type=yy +#EXTINF:-1 tvg-id="五星体育" tvg-name="五星体育" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/五星体育.png" group-title="其他频道",五星体育 +https://migu.188766.xyz/?migutoken=f9cb44d050ac7a309a033b35e24c0bf9&id=%E4%BA%94%E6%98%9F%E4%BD%93%E8%82%B2&pp=1 +#EXTINF:-1 tvg-id="五星体育" tvg-name="五星体育" http-user-agent="okHttp/Mod-1.5.0.0" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/五星体育.png" group-title="其他频道",五星体育 +#EXTVLCOPT:http-user-agent=okHttp/Mod-1.5.0.0 +https://other.ottiptv.cc/wxty.m3u8 +#EXTINF:-1 tvg-id="重温经典" tvg-name="重温经典" http-user-agent="okHttp/Mod-1.5.0.0" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/重温经典.png" group-title="其他频道",重温经典 +#EXTVLCOPT:http-user-agent=okHttp/Mod-1.5.0.0 +https://other.ottiptv.cc/cwjd.m3u8 +#EXTINF:-1 tvg-id="上视东方影视" tvg-name="上视东方影视" tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/002/274/202105271333_5100001715_2_HSJ720H.jpg" group-title="其他频道",上视东方影视 +https://migu.188766.xyz/?migutoken=c89c1ef82e29c1d466d7c68c5d0cc61b&id=%E4%B8%8A%E8%A7%86%E4%B8%9C%E6%96%B9%E5%BD%B1%E8%A7%86&type=yy +#EXTINF:-1 tvg-id="新片放映厅" tvg-name="新片放映厅" tvg-logo="https://static.188766.xyz/logo/sln162/iptv-back/logo/新片放映厅.png" group-title="其他频道",新片放映厅 +https://migu.188766.xyz/?migutoken=014538dd57a985d3d7783417b48f294c&id=%E6%96%B0%E7%89%87%E6%94%BE%E6%98%A0%E5%8E%85&type=yy +#EXTINF:-1 tvg-id="经典香港电影" tvg-name="经典香港电影" tvg-logo="http://wapx.cmvideo.cn:8080/publish/poms/image/5500/242/089/202508211805_1755769511908_H32_1080.webp" group-title="其他频道",经典香港电影 +https://migu.188766.xyz/?migutoken=f2aa214165da14a04748420d654cbd7c&id=%E7%BB%8F%E5%85%B8%E9%A6%99%E6%B8%AF%E7%94%B5%E5%BD%B1&type=yy +#EXTINF:-1 tvg-id="抗战经典影片" tvg-name="抗战经典影片" tvg-logo="http://wapx.cmvideo.cn:8080/publish/poms/image/5500/002/717/202507241513_1753340553498_H32_1080.webp" group-title="其他频道",抗战经典影片 +https://migu.188766.xyz/?migutoken=a068ad200f59b4c101f44f2ebdfbcd0f&id=%E6%8A%97%E6%88%98%E7%BB%8F%E5%85%B8%E5%BD%B1%E7%89%87&type=yy +#EXTINF:-1 tvg-id="南方影视" tvg-name="南方影视" tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/2206/173/738/202304081513_2206173738_HSJ720H.jpg" group-title="其他频道",南方影视 +https://migu.188766.xyz/?migutoken=2eea385e578eff6b7676bf3859c06011&id=%E5%8D%97%E6%96%B9%E5%BD%B1%E8%A7%86&type=yy +#EXTINF:-1 tvg-id="和美乡途轮播台" tvg-name="和美乡途轮播台" tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5910/019/525/202504151721_1744708803016_H169_1080.jpg" group-title="其他频道",和美乡途轮播台 +https://migu.188766.xyz/?migutoken=6874cea367fd4c30cbaeab1be2382c1e&id=%E5%92%8C%E7%BE%8E%E4%B9%A1%E9%80%94%E8%BD%AE%E6%92%AD%E5%8F%B0&type=yy +#EXTINF:-1 tvg-id="茶" tvg-name="茶" tvg-logo="https://wapx.cmvideo.cn/publish/poms/v1/image/5910/022/320/202512290851_1766567978328_H169_1080.jpg" group-title="其他频道",茶 +https://migu.188766.xyz/?migutoken=7ba49c3233fd3f57635dcfb1fbb5e6b3&id=%E8%8C%B6&type=yy +#EXTINF:-1 tvg-id="快乐垂钓" tvg-name="快乐垂钓" tvg-logo="https://wapx.cmvideo.cn/publish/poms/v1/image/5910/022/317/202512290851_1766567873215_H169_1080.jpg" group-title="其他频道",快乐垂钓 +https://migu.188766.xyz/?migutoken=786b1099b98396dd627cb3dc7218143f&id=%E5%BF%AB%E4%B9%90%E5%9E%82%E9%92%93&type=yy +#EXTINF:-1 tvg-id="赛事最经典" tvg-name="赛事最经典" tvg-logo="https://static.188766.xyz/logo/sln162/iptv-back/logo/赛事最经典.png" group-title="其他频道",赛事最经典 +https://migu.188766.xyz/?migutoken=89c2efbfb4e3d17987c8e137ae19ca23&id=%E8%B5%9B%E4%BA%8B%E6%9C%80%E7%BB%8F%E5%85%B8&type=yy +#EXTINF:-1 tvg-id="武术世界" tvg-name="武术世界" tvg-logo="http://wapx.cmvideo.cn:8080/publish/poms/v1/image/5910/022/201/202509251348_1758698474363_H32_1080.webp" group-title="其他频道",武术世界 +https://migu.188766.xyz/?migutoken=938a9d12654330a9880b20a70ab2e3f8&id=%E6%AD%A6%E6%9C%AF%E4%B8%96%E7%95%8C&type=yy +#EXTINF:-1 tvg-id="四海钓鱼" tvg-name="四海钓鱼" tvg-logo="http://wapx.cmvideo.cn:8080/publish/poms/v1/image/5910/022/184/202508040856_5100132656_H32_1080.webp" group-title="其他频道",四海钓鱼 +https://migu.188766.xyz/?migutoken=93c4c25bf6196f17225d70c13c55ef96&id=%E5%9B%9B%E6%B5%B7%E9%92%93%E9%B1%BC&type=yy +#EXTINF:-1 tvg-id="环球旅游" tvg-name="环球旅游" tvg-logo="http://wapx.cmvideo.cn:8080/publish/poms/v1/image/5910/022/200/202509251348_1758698362959_H32_1080.webp" group-title="其他频道",环球旅游 +https://migu.188766.xyz/?migutoken=3c7c8f773faffe81aebbcb5d92a7dbc7&id=%E7%8E%AF%E7%90%83%E6%97%85%E6%B8%B8&type=yy +#EXTINF:-1 tvg-id="最强综艺趴" tvg-name="最强综艺趴" tvg-logo="https://static.188766.xyz/logo/sln162/iptv-back/logo/最强综艺趴.png" group-title="其他频道",最强综艺趴 +https://migu.188766.xyz/?migutoken=964d942adb7aa7db20ac47c3ea70dafd&id=%E6%9C%80%E5%BC%BA%E7%BB%BC%E8%89%BA%E8%B6%B4&type=yy +#EXTINF:-1 tvg-id="新动漫" tvg-name="新动漫" tvg-logo="https://wapx.cmvideo.cn/publish/poms/v1/image/5910/022/319/202512290851_1766568047463_H169_1080.jpg" group-title="其他频道",新动漫 +https://migu.188766.xyz/?migutoken=0fb66d5ac60022ceda271785fba4e744&id=%E6%96%B0%E5%8A%A8%E6%BC%AB&type=yy +#EXTINF:-1 tvg-id="嘉佳卡通" tvg-name="嘉佳卡通" tvg-logo="https://static.188766.xyz/logo/sln162/iptv-back/logo/嘉佳卡通.png" group-title="其他频道",嘉佳卡通 +https://migu.188766.xyz/?migutoken=fbb3f95ac7ad24452429713f20eac022&id=%E5%98%89%E4%BD%B3%E5%8D%A1%E9%80%9A&type=yy +#EXTINF:-1 tvg-id="经典动画大集合" tvg-name="经典动画大集合" tvg-logo="https://static.188766.xyz/logo/sln162/iptv-back/logo/经典动画大集合.png" group-title="其他频道",经典动画大集合 +https://migu.188766.xyz/?migutoken=408e919fdecbc021df02c046d5dc11fe&id=%E7%BB%8F%E5%85%B8%E5%8A%A8%E7%94%BB%E5%A4%A7%E9%9B%86%E5%90%88&type=yy +#EXTINF:-1 tvg-id="优漫卡通" tvg-name="优漫卡通" tvg-logo="https://static.188766.xyz/logo/sln162/iptv-back/logo/优漫卡通频道.png" group-title="其他频道",优漫卡通 +https://migu.188766.xyz/?migutoken=915dd540261091ba84fdaf9a151c8c61&id=%E4%BC%98%E6%BC%AB%E5%8D%A1%E9%80%9A%E9%A2%91%E9%81%93&type=yy +#EXTINF:-1 tvg-id="财富天下" tvg-name="财富天下" tvg-logo="http://wapx.cmvideo.cn:8080/publish/poms/v1/image/5910/022/193/202508061552_1754385779498_H32_1080.webp" group-title="其他频道",财富天下 +https://migu.188766.xyz/?migutoken=cf5d772e7c5e4183bd3e1e1c6ed27653&id=%E8%B4%A2%E5%AF%8C%E5%A4%A9%E4%B8%8B&type=yy +#EXTINF:-1 tvg-id="体坛名栏汇" tvg-name="体坛名栏汇" tvg-logo="https://static.188766.xyz/logo/sln162/iptv-back/logo/体坛名栏汇.png" group-title="其他频道",体坛名栏汇 +https://migu.188766.xyz/?migutoken=a5720b1748a0cdf45eb0bfc5cfe0f238&id=%E4%BD%93%E5%9D%9B%E5%90%8D%E6%A0%8F%E6%B1%87&type=yy +#EXTINF:-1 tvg-id="24小时城市联赛轮播台" tvg-name="24小时城市联赛轮播台" tvg-logo="http://wapx.cmvideo.cn:8080/publish/poms/image/5910/022/136/202509241340_1758692392561_H32_1080.webp" group-title="其他频道",24小时城市联赛轮播台 +https://migu.188766.xyz/?migutoken=465255a5349d61ee662a5e02d0641be1&id=24%E5%B0%8F%E6%97%B6%E5%9F%8E%E5%B8%82%E8%81%94%E8%B5%9B%E8%BD%AE%E6%92%AD%E5%8F%B0&type=yy +#EXTINF:-1 tvg-id="山东教育" tvg-name="山东教育" tvg-logo="http://wapx.cmvideo.cn:8080/publish/poms/v1/image/5910/022/199/202509241938_1758698577926_H32_1080.webp" group-title="其他频道",山东教育 +https://migu.188766.xyz/?migutoken=c2f541f0db1a375fdb090181979ad73b&id=%E5%B1%B1%E4%B8%9C%E6%95%99%E8%82%B2&type=yy +#EXTINF:-1 tvg-id="中学生" tvg-name="中学生" tvg-logo="https://static.188766.xyz/logo/sln162/iptv-back/logo/中学生.png" group-title="其他频道",中学生 +https://migu.188766.xyz/?migutoken=61c81d83069cacadf24d9212662dcffc&id=%E4%B8%AD%E5%AD%A6%E7%94%9F&type=yy +#EXTINF:-1 tvg-id="老故事" tvg-name="老故事" tvg-logo="http://wapx.cmvideo.cn:8080/publish/poms/image/5910/022/002/202405081702_1715158648861_H32_1080.webp" group-title="其他频道",老故事 +https://migu.188766.xyz/?migutoken=8b76035dce75c7a01430873db7493cbe&id=%E8%80%81%E6%95%85%E4%BA%8B&type=yy +#EXTINF:-1 tvg-id="发现之旅" tvg-name="发现之旅" tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/212/893/202405081702_1715158824845_H169_1080.jpg" group-title="其他频道",发现之旅 +https://migu.188766.xyz/?migutoken=fe970ca83354f7eee86624a8f8059a8d&id=%E5%8F%91%E7%8E%B0%E4%B9%8B%E6%97%85&type=yy +#EXTINF:-1 tvg-id="CETV1" tvg-name="CETV1" tvg-logo="https://static.188766.xyz/logo/sln162/iptv-back/logo/CETV1.png" group-title="其他频道",CETV-1 +https://migu.188766.xyz/?migutoken=87c4e3887834942b8fc85561ab9eb620&id=CETV1&type=yy +#EXTINF:-1 tvg-id="CETV2" tvg-name="CETV2" tvg-logo="https://static.188766.xyz/logo/sln162/iptv-back/logo/CETV2.png" group-title="其他频道",CETV-2 +https://migu.188766.xyz/?migutoken=870ec96fea8597ace1fb72766cf9ba2e&id=CETV2&type=yy +#EXTINF:-1 tvg-id="CETV4" tvg-name="CETV4" tvg-logo="https://static.188766.xyz/logo/sln162/iptv-back/logo/CETV4.png" group-title="其他频道",CETV-4 +https://migu.188766.xyz/?migutoken=ea9312e82d05e7d5bacaf37f56c5ece1&id=CETV4&type=yy +#EXTINF:-1 tvg-id="新动力量创一流" tvg-name="新动力量创一流" tvg-logo="http://wapx.cmvideo.cn:8080/publish/poms/image/5910/019/523/202506060000_1749138941378_H32_1080.webp" group-title="其他频道",新动力量创一流 +https://migu.188766.xyz/?migutoken=896385d2f8f2ec2d5c45c3e4ac35ce97&id=%E6%96%B0%E5%8A%A8%E5%8A%9B%E9%87%8F%E5%88%9B%E4%B8%80%E6%B5%81&type=yy + + +#EXTINF:-1 tvg-id="卡酷少儿" tvg-name="卡酷少儿" tvg-logo="https://static.188766.xyz/logo/taksssss/tv/icon/卡酷少儿.png" group-title="地方频道",卡酷少儿 +https://migu.188766.xyz/?migutoken=713d63f8dead50e95ae34ce96991ab67&id=%E5%8C%97%E4%BA%AC%E5%8D%A1%E9%85%B7%E5%B0%91%E5%84%BF&type=yy +#EXTINF:-1 tvg-id="北京影视" tvg-name="北京影视" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/北京影视.png" group-title="地方频道",北京影视 +https://migu.188766.xyz/?migutoken=cc759665d40bb366be97a7e69305f4af&id=%E5%8C%97%E4%BA%AC%E5%BD%B1%E8%A7%86&type=yy +#EXTINF:-1 tvg-id="北京文艺" tvg-name="北京文艺" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/北京文艺.png" group-title="地方频道",北京文艺 +https://migu.188766.xyz/?migutoken=ffcb6efb68884935a8922291455a391f&id=%E5%8C%97%E4%BA%AC%E6%96%87%E8%89%BA&type=yy +#EXTINF:-1 tvg-id="北京财经" tvg-name="北京财经" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/北京财经.png" group-title="地方频道",北京财经 +https://migu.188766.xyz/?migutoken=693d0bd6e9cfbc5151780e48fcc20aff&id=%E5%8C%97%E4%BA%AC%E8%B4%A2%E7%BB%8F&type=yy +#EXTINF:-1 tvg-id="北京生活" tvg-name="北京生活" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/北京生活.png" group-title="地方频道",北京生活 +https://migu.188766.xyz/?migutoken=3fa2120cf9a2b95a5687824236fce27e&id=%E5%8C%97%E4%BA%ACi%E7%94%9F%E6%B4%BB&type=yy +#EXTINF:-1 tvg-id="北京新闻" tvg-name="北京新闻" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/北京新闻.png" group-title="地方频道",北京新闻 +https://migu.188766.xyz/?migutoken=8b0bdd34a8ed421e2635c2b6132a836b&id=%E5%8C%97%E4%BA%AC%E6%96%B0%E9%97%BB&type=yy +#EXTINF:-1 tvg-id="北京纪实科教" tvg-name="北京纪实科教" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/北京纪实科教.png" group-title="地方频道",北京纪实科教 +https://migu.188766.xyz/?migutoken=0c9a89813a4fd4508a48e2b534da8a97&id=%E5%8C%97%E4%BA%AC%E7%BA%AA%E5%AE%9E%E7%A7%91%E6%95%99&type=yy +#EXTINF:-1 tvg-id="河南梨园" tvg-name="河南梨园" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/河南梨园.png" group-title="地方频道",河南梨园 +https://migu.188766.xyz/?migutoken=e2e99bdd781dd93ce7a7b8da51b52604&id=%E6%A2%A8%E5%9B%AD%E9%A2%91%E9%81%93&type=yy +#EXTINF:-1 tvg-id="河南新闻" tvg-name="河南新闻" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/河南新闻.png" group-title="地方频道",河南新闻 +https://migu.188766.xyz/?migutoken=9235ee524787a91a176f1aa35cb7903c&id=%E6%96%B0%E9%97%BB%E9%A2%91%E9%81%93&type=yy +#EXTINF:-1 tvg-id="河南都市" tvg-name="河南都市" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/河南都市.png" group-title="地方频道",河南都市 +https://migu.188766.xyz/?migutoken=f4b57a99232f42f03f46a69a47e478cc&id=%E9%83%BD%E5%B8%82%E9%A2%91%E9%81%93&type=yy +#EXTINF:-1 tvg-id="河南民生" tvg-name="河南民生" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/河南民生.png" group-title="地方频道",河南民生 +https://migu.188766.xyz/?migutoken=c1df3b466f8eb080cdd1501dab54ce68&id=%E6%B0%91%E7%94%9F%E9%A2%91%E9%81%93&type=yy +#EXTINF:-1 tvg-id="河南电视剧" tvg-name="河南电视剧" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/河南电视剧.png" group-title="地方频道",河南电视剧 +https://migu.188766.xyz/?migutoken=acc0ee499136708158e4591bbd974bcf&id=%E7%94%B5%E8%A7%86%E5%89%A7%E9%A2%91%E9%81%93&type=yy +#EXTINF:-1 tvg-id="河南公共" tvg-name="河南公共" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/河南公共.png" group-title="地方频道",河南公共 +https://migu.188766.xyz/?migutoken=982ac86b889db8e3765295e346d325b9&id=%E5%85%AC%E5%85%B1%E9%A2%91%E9%81%93&type=yy +#EXTINF:-1 tvg-id="河南公共" tvg-name="河南公共" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/河南法治.png" group-title="地方频道",河南法治 +https://migu.188766.xyz/?migutoken=30dbfcf37f1bcde89aefe7e814b10fec&id=%E6%B3%95%E6%B2%BB%E9%A2%91%E9%81%93&type=yy +#EXTINF:-1 tvg-id="河南武术" tvg-name="河南武术" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/武术世界.png" group-title="地方频道",河南武术 +https://migu.188766.xyz/?migutoken=c30ea6e55b26faf28c68bcccc53dbee9&id=%E6%AD%A6%E6%9C%AF%E9%A2%91%E9%81%93&type=yy +#EXTINF:-1 tvg-id="河南移动戏曲" tvg-name="河南移动戏曲" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/移动戏曲.png" group-title="地方频道",河南移动戏曲 +https://migu.188766.xyz/?migutoken=74ebf68813a6e5a440bcdf4755b9729f&id=%E7%A7%BB%E5%8A%A8%E6%88%8F%E6%9B%B2%E9%A2%91%E9%81%93&type=yy +#EXTINF:-1 tvg-id="河南文物宝库" tvg-name="河南文物宝库" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/文物宝库.png" group-title="地方频道",河南文物宝库 +https://migu.188766.xyz/?migutoken=f4bf793437565b547fdb2ca9aab70020&id=%E6%96%87%E7%89%A9%E5%AE%9D%E5%BA%93&type=yy +#EXTINF:-1 tvg-id="河南象视界" tvg-name="河南象视界" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/河南象视界.png" group-title="地方频道",河南象视界 +https://migu.188766.xyz/?migutoken=d1e5573c7de65b7973146edb50bf8697&id=%E8%B1%A1%E8%A7%86%E7%95%8C&type=yy + +#EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/广东体育.png" group-title="地方频道",广东体育 +https://migu.188766.xyz/?migutoken=833323f91c2dfdf11ea923cb2d1cbf39&id=hk_gdty&type=dy +#EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/广东体育.png" group-title="地方频道",广东体育 +https://hk.188766.xyz/?migutoken=8359d5db9ac7060ef90dc85a5a223297&id=gd_gdty&type=sz +#EXTINF:-1 tvg-id="广东新闻" tvg-name="广东新闻" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/广东新闻.png" group-title="地方频道",广东新闻 +https://hk.188766.xyz/?migutoken=01eef7fe19975ca0f674a648e3bfbb6a&id=gd_gdxw&type=sz +#EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/广东珠江.png" group-title="地方频道",广东珠江 +https://hk.188766.xyz/?migutoken=ccd667a282dd634d5c21f46c4785eec1&id=gd_gdzj&type=sz +#EXTINF:-1 tvg-id="广东民生" tvg-name="广东民生" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/广东民生.png" group-title="地方频道",广东民生 +https://hk.188766.xyz/?migutoken=f335649106bc3bead4307847f0dc4dee&id=gd_gdms&type=sz +#EXTINF:-1 tvg-id="广东影视" tvg-name="广东影视" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/广东影视.png" group-title="地方频道",广东影视 +https://hk.188766.xyz/?migutoken=eece45dbdecdb372b80a62dae409eb3c&id=gd_gdys&type=sz +#EXTINF:-1 tvg-id="广东少儿" tvg-name="广东少儿" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/广东少儿.png" group-title="地方频道",广东少儿 +https://hk.188766.xyz/?migutoken=e436623cf89397620dbd80f05c61b5e8&id=gd_gdse&type=sz +#EXTINF:-1 tvg-id="嘉佳卡通" tvg-name="嘉佳卡通" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/嘉佳卡通.png" group-title="地方频道",嘉佳卡通 +https://hk.188766.xyz/?migutoken=32143b6f2098911ea8f5dd328b200880&id=gd_jjkt&type=sz +#EXTINF:-1 tvg-id="岭南戏曲" tvg-name="岭南戏曲" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/岭南戏曲.png" group-title="地方频道",岭南戏曲 +https://hk.188766.xyz/?migutoken=486c6f9a8b1d0ff4ea4d6f93e4f76eee&id=gd_lnxq&type=sz +#EXTINF:-1 tvg-id="广东移动" tvg-name="广东移动" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/广东移动.png" group-title="地方频道",广东移动 +https://hk.188766.xyz/?migutoken=03bc9fc980e1eb944aa2538a1e31137a&id=gd_gdyd&type=sz +#EXTINF:-1 tvg-id="现代教育" tvg-name="现代教育" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/现代教育.png" group-title="地方频道",现代教育 +https://hk.188766.xyz/?migutoken=097b06214f8b20fb8f15472417ffe82a&id=gd_xdjy&type=sz +#EXTINF:-1 tvg-id="广东生活频道" tvg-name="广东生活频道" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/广东生活A.png" group-title="地方频道",广东生活频道 +https://hk.188766.xyz/?migutoken=46eec23096cb3098a8026379da8f6008&id=gd_gdsh&type=sz + +#EXTINF:-1 tvg-id="上海新闻综合" tvg-name="上海新闻综合" tvg-logo="https://static.188766.xyz/logo/sln162/iptv-back/logo/上海新闻综合.png" group-title="地方频道",上海新闻综合 +https://migu.188766.xyz/?migutoken=ec8f7afd8227e9340da7144bb31ab561&id=%E4%B8%8A%E6%B5%B7%E6%96%B0%E9%97%BB%E7%BB%BC%E5%90%88&type=yy +#EXTINF:-1 tvg-id="上海第一财经" tvg-name="上海第一财经" tvg-logo="https://static.188766.xyz/logo/sln162/iptv-back/logo/上海第一财经.png" group-title="地方频道",上海第一财经 +#EXTVLCOPT:referer=https://live.kankanews.com/ +#EXTVLCOPT:http-referer=https://live.kankanews.com/ +#KODIPROP:inputstream.adaptive.stream_headers=Referer=https://live.kankanews.com/ +https://migu.188766.xyz/?migutoken=ceb17548050d8a6eadb3cc7cd3eb0620&id=dycj&type=sz +#EXTINF:-1 tvg-id="上海新纪实" tvg-name="上海新纪实" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/新纪实频道.png" group-title="地方频道",上海新纪实 +#EXTVLCOPT:referer=https://live.kankanews.com/ +#EXTVLCOPT:http-referer=https://live.kankanews.com/ +#KODIPROP:inputstream.adaptive.stream_headers=Referer=https://live.kankanews.com/ +https://migu.188766.xyz/?migutoken=e9e8f337f50c3df2424c998b126f2fbd&id=jsrw&type=sz +#EXTINF:-1 tvg-id="上海都市" tvg-name="上海都市" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/上海都市.png" group-title="地方频道",上海都市 +#EXTVLCOPT:referer=https://live.kankanews.com/ +#EXTVLCOPT:http-referer=https://live.kankanews.com/ +#KODIPROP:inputstream.adaptive.stream_headers=Referer=https://live.kankanews.com/ +https://migu.188766.xyz/?migutoken=851834f4684e2fd1b12f9ff2c003d46b&id=shds&type=sz +#EXTINF:-1 tvg-id="哈哈炫动" tvg-name="哈哈炫动" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/哈哈炫动.png" group-title="地方频道",哈哈炫动 +#EXTVLCOPT:referer=https://live.kankanews.com/ +#EXTVLCOPT:http-referer=https://live.kankanews.com/ +#KODIPROP:inputstream.adaptive.stream_headers=Referer=https://live.kankanews.com/ +https://migu.188766.xyz/?migutoken=cfdbc74e77dc45e2f7de976339a55ba0&id=hhxd&type=sz +#EXTINF:-1 tvg-id="上海魔都眼" tvg-name="上海魔都眼" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/上海魔都眼.png" group-title="地方频道",上海魔都眼 +#EXTVLCOPT:referer=https://live.kankanews.com/ +#EXTVLCOPT:http-referer=https://live.kankanews.com/ +#KODIPROP:inputstream.adaptive.stream_headers=Referer=https://live.kankanews.com/ +https://migu.188766.xyz/?migutoken=bca4de46f7535fe6069056a949c66706&id=mdy&type=sz +#EXTINF:-1 tvg-id="爱上海" tvg-name="爱上海" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/上海ICS.png" group-title="地方频道",爱上海 +#EXTVLCOPT:referer=https://live.kankanews.com/ +#EXTVLCOPT:http-referer=https://live.kankanews.com/ +#KODIPROP:inputstream.adaptive.stream_headers=Referer=https://live.kankanews.com/ +https://migu.188766.xyz/?migutoken=98f08b46f94fa6261de51522d2eb8e30&id=ash&type=sz + +#EXTINF:-1 tvg-id="海南新闻" tvg-name="海南新闻" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/海南新闻.png" group-title="地方频道",海南新闻 +https://migu.188766.xyz/?migutoken=3cc8ef08e99240c315647163fe9e2647&id=hn_xwpd&type=sz +#EXTINF:-1 tvg-id="海南文旅" tvg-name="海南文旅" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/海南文旅.png" group-title="地方频道",海南文旅 +https://migu.188766.xyz/?migutoken=88b7ea1257661162c7be8e100fa1cd32&id=hn_wlpd&type=sz +#EXTINF:-1 tvg-id="海南自贸" tvg-name="海南自贸" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/海南自贸.png" group-title="地方频道",海南自贸 +https://migu.188766.xyz/?migutoken=9f62cddf6fa6d203adb11a6f39c2c449&id=hn_jjpd&type=sz +#EXTINF:-1 tvg-id="海南公共" tvg-name="海南公共" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/海南公共.png" group-title="地方频道",海南公共 +https://migu.188766.xyz/?migutoken=a75cb609dbd5e2c4e2028d4e3fa4f9f3&id=hn_ggpd&type=sz +#EXTINF:-1 tvg-id="海南少儿" tvg-name="海南少儿" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/海南少儿.png" group-title="地方频道",海南少儿 +https://migu.188766.xyz/?migutoken=5e1869a9d3006ecb6e0246b7f0a83e5f&id=hn_sepd&type=sz +#EXTINF:-1 tvg-id="浙江公共新闻" tvg-name="浙江公共新闻" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/浙江新闻.png" group-title="地方频道",浙江新闻 +https://ali-m-l.cztv.com/channels/lantian/channel007/1080p.m3u8 +#EXTINF:-1 tvg-id="浙江国际" tvg-name="浙江国际" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/浙江国际.png" group-title="地方频道",浙江国际 +https://ali-m-l.cztv.com/channels/lantian/channel010/1080p.m3u8 +#EXTINF:-1 tvg-id="浙江少儿" tvg-name="浙江少儿" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/浙江少儿.png" group-title="地方频道",浙江少儿 +https://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8 +#EXTINF:-1 tvg-id="浙江教科影视" tvg-name="浙江教科影视" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/浙江教科影视.png" group-title="地方频道",浙江教科 +https://ali-m-l.cztv.com/channels/lantian/channel004/1080p.m3u8 +#EXTINF:-1 tvg-id="之江纪录" tvg-name="之江纪录" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/之江纪录.png" group-title="地方频道",之江纪录 +https://ali-m-l.cztv.com/channels/lantian/channel012/1080p.m3u8 +#EXTINF:-1 tvg-id="浙江民生休闲" tvg-name="浙江民生休闲" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/浙江民生休闲.png" group-title="地方频道",浙江民生 +https://ali-m-l.cztv.com/channels/lantian/channel006/1080p.m3u8 +#EXTINF:-1 tvg-id="浙江经视" tvg-name="浙江经视" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/浙江经济生活.png" group-title="地方频道",浙江经济 +https://ali-m-l.cztv.com/channels/lantian/channel003/1080p.m3u8 +#EXTINF:-1 tvg-id="浙江钱江都市" tvg-name="浙江钱江都市" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/钱江都市.png" group-title="地方频道",浙江钱江 +https://ali-m-l.cztv.com/channels/lantian/channel002/1080p.m3u8 +#EXTINF:-1 tvg-id="内蒙古农牧" tvg-name="内蒙古农牧" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/内蒙古农牧.png" group-title="地方频道",内蒙古农牧 +http://play1-qk.nmtv.cn:80/live/1686561299036179.m3u8 +#EXTINF:-1 tvg-id="内蒙古新闻综合" tvg-name="内蒙古新闻综合" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/内蒙古新闻综合.png" group-title="地方频道",内蒙古新闻综合 +http://play1-qk.nmtv.cn/live/1686560423879174.m3u8 +#EXTINF:-1 tvg-id="内蒙古少儿" tvg-name="内蒙古少儿" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/内蒙古少儿.png" group-title="地方频道",内蒙古少儿 +http://play1-qk.nmtv.cn/live/1686560464515368.m3u8 +#EXTINF:-1 tvg-id="内蒙古文体娱乐" tvg-name="内蒙古文体娱乐" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/内蒙古文体娱乐.png" group-title="地方频道",内蒙古文体娱乐 +http://play1-qk.nmtv.cn/live/1686561195713372.m3u8 +#EXTINF:-1 tvg-id="内蒙古经济生活" tvg-name="内蒙古经济生活" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/内蒙古经济生活.png" group-title="地方频道",内蒙古经济生活 +http://play1-qk.nmtv.cn/live/1686562470947181.m3u8 +#EXTINF:-1 tvg-id="内蒙古蒙语卫视" tvg-name="内蒙古蒙语卫视" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/内蒙古蒙语卫视.png" group-title="地方频道",内蒙古蒙语卫视 +http://play1-qk.nmtv.cn/live/1686560387346365.m3u8 +#EXTINF:-1 tvg-id="内蒙古蒙语文化" tvg-name="内蒙古蒙语文化" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/内蒙古蒙语文化.png" group-title="地方频道",内蒙古蒙语文化 +http://play1-qk.nmtv.cn/live/1686561065304370.m3u8 + + +#EXTINF:-1 tvg-id="凤凰中文" tvg-name="凤凰中文" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/凤凰卫视中文台.png" group-title="粤语频道",凤凰中文 +https://mgev.188766.xyz/?migutoken=fb4ef1c568d0d431d16c8fb7aebcfeec&id=fhzw&pp=1 +#EXTINF:-1 tvg-id="凤凰中文" tvg-name="凤凰中文" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/凤凰卫视中文台.png" group-title="粤语频道",凤凰中文 +https://mgev.188766.xyz/?migutoken=35920ffa885804f1cf58afd8fefd3667&id=hk_fhzw&type=dy +#EXTINF:-1 tvg-id="凤凰资讯" tvg-name="凤凰资讯" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/凤凰卫视资讯台.png" group-title="粤语频道",凤凰资讯 +https://mgev.188766.xyz/?migutoken=c9a99fee4a2e1e4162e440205e225233&id=fhzx&pp=1 +#EXTINF:-1 tvg-id="凤凰资讯" tvg-name="凤凰资讯" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/凤凰卫视资讯台.png" group-title="粤语频道",凤凰资讯 +https://mgev.188766.xyz/?migutoken=c62ea9edeecf8767fe57e9f9dfa82e87&id=hk_fhzx&type=dy +#EXTINF:-1 tvg-id="凤凰香港" tvg-name="凤凰香港" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/凤凰卫视香港台.png" group-title="粤语频道",凤凰香港 +https://mgev.188766.xyz/?migutoken=7e6ac4f647397639a0b7d7ca69716b02&id=fhhk&pp=1 +#EXTINF:-1 tvg-id="凤凰香港" tvg-name="凤凰香港" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/凤凰卫视香港台.png" group-title="粤语频道",凤凰香港 +https://mgev.188766.xyz/?migutoken=0b61cef4ab2c8c5e440c217551687732&id=hk_fhhk&type=dy +#EXTINF:-1 tvg-id="翡翠台" tvg-name="翡翠台" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/翡翠台.png" group-title="粤语频道",翡翠台 +https://mgev.188766.xyz/?migutoken=d8f509faa98000290e42cd7a23601b97&id=hk_fct&type=dy +#EXTINF:-1 tvg-id="翡翠台4K" tvg-name="翡翠台4K" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/翡翠台.png" group-title="粤语频道",翡翠台4K +https://mgev.188766.xyz/?migutoken=a9624fedd6f655bb17224da6b5894ca1&id=hk_fct4k&type=dy +#EXTINF:-1 tvg-id="无线新闻" tvg-name="无线新闻" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/无线新闻.png" group-title="粤语频道",无线新闻 +https://mgev.188766.xyz/?migutoken=153b1c8b59c1295b5dd1becac9e8d39a&id=hk_wxxw&type=dy +#EXTINF:-1 tvg-id="Now新闻台" tvg-name="Now新闻台" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/NOW新闻台.png" group-title="粤语频道",Now新闻台 +https://mgev.188766.xyz/?migutoken=2e51b92d6b1f3fc9ca45ff2f6463bb29&id=hk_now&type=dy +#EXTINF:-1 tvg-id="TVB Plus" tvg-name="TVB Plus" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/tvbplus.png" group-title="粤语频道",TVB Plus +https://mgev.188766.xyz/?migutoken=b03a2483a0e264c923cd3dce6be63008&id=hk_tvbp&type=dy +#EXTINF:-1 tvg-id="明珠台" tvg-name="明珠台" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/明珠台.png" group-title="粤语频道",明珠台 +https://mgev.188766.xyz/?migutoken=cad5d25fa40a1805c9314fa0d85a73d1&id=hk_mzt&type=dy +#EXTINF:-1 tvg-id="TVB星河" tvg-name="TVB星河" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/TVB星河.png" group-title="粤语频道",TVB星河 +https://mgev.188766.xyz/?migutoken=37095bd306d02ac717a76b95ef4b1eb5&id=hk_tvbxh&type=dy +#EXTINF:-1 tvg-id="TVB功夫" tvg-name="TVB功夫" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/TVB功夫.png" group-title="粤语频道",TVB功夫 +https://mgev.188766.xyz/?migutoken=ecd835b1fbc0b4898d3477b61af76a4e&id=hk_yzwx&type=dy +#EXTINF:-1 tvg-id="八度空间" tvg-name="八度空间" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/八度空间.png" group-title="粤语频道",八度空间 +https://mgev.188766.xyz/?migutoken=96e746ec7b922f31d8a35b187d28e1ef&id=hk_8tv&type=dy +#EXTINF:-1 tvg-id="CHU" tvg-name="CHU" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/channelu.png" group-title="粤语频道",CHU +https://mgev.188766.xyz/?migutoken=8cb9fba6445306b8d57e4b16d979b9b4&id=hk_chu&type=dy +#EXTINF:-1 tvg-id="CH5" tvg-name="CH5" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/channel5.png" group-title="粤语频道",CH5 +https://mgev.188766.xyz/?migutoken=35b9de820acf15c747227f480725c244&id=hk_ch5&type=dy +#EXTINF:-1 tvg-id="CH8" tvg-name="CH8" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/channel8.png" group-title="粤语频道",CH8 +https://mgev.188766.xyz/?migutoken=c8d747132eef0a56fae95c3c0ca29cd1&id=hk_ch8&type=dy +#EXTINF:-1 tvg-id="澳视澳门" tvg-name="澳视澳门" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/澳视澳门.png" group-title="粤语频道",澳视澳门 +https://mgev.188766.xyz/?migutoken=208adb0da121779001a7ea26227b9e72&id=hk_asam&type=dy +#EXTINF:-1 tvg-id="HOY77" tvg-name="HOY77" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/HOY77.png" group-title="粤语频道",HOY77 +https://mgev.188766.xyz/?migutoken=4df5ff9c17d73ab99007bb53b0b7bfd8&id=hk_hoy&type=dy + + + +#EXTINF:-1 tvg-id="睛彩竞技" tvg-name="睛彩竞技" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/晴彩竞技.png" group-title="咪视界ys",睛彩竞技-移动或影视专用 +https://msj.188766.xyz/play?id=3000000020000011528&token=3869e7bc3869e7bc3869e7bc3869e7bc&client=ys +#EXTINF:-1 tvg-id="睛彩篮球" tvg-name="睛彩篮球" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/晴彩竞技.png" group-title="咪视界ys",睛彩篮球-移动或影视专用 +https://msj.188766.xyz/play?id=3000000020000011529&token=3869e7bd3869e7bd3869e7bd3869e7bd&client=ys +#EXTINF:-1 tvg-id="睛彩青少" tvg-name="睛彩青少" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/睛彩青少.png" group-title="咪视界ys",睛彩青少-移动或影视专用 +https://msj.188766.xyz/play?id=3000000020000011525&token=3869e7b93869e7b93869e7b93869e7b9&client=ys +#EXTINF:-1 tvg-id="睛彩广场舞" tvg-name="睛彩广场舞" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/睛彩广场舞.png" group-title="咪视界ys",睛彩广场舞-移动或影视专用 +https://msj.188766.xyz/play?id=3000000020000011523&token=3869e7b73869e7b73869e7b73869e7b7&client=ys +#EXTINF:-1 tvg-id="咪视界4k-1" tvg-name="咪视界4k-1" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/咪视界4K.png" group-title="咪视界ys",咪视界4K-1-移动或影视专用 +https://msj.188766.xyz/play?id=3000000010000005180&token=a378e0a4a378e0a4a378e0a4a378e0a4&client=ys +#EXTINF:-1 tvg-id="咪视界4k-2" tvg-name="咪视界4k-2" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/咪视界4K.png" group-title="咪视界ys",咪视界4K-2-移动或影视专用 +https://msj.188766.xyz/play?id=3000000010000015686&token=a3870af0a3870af0a3870af0a3870af0&client=ys +#EXTINF:-1 tvg-id="咪视界-1" tvg-name="咪视界-1" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/咪视界.png" group-title="咪视界ys",咪视界-1-移动或影视专用 +https://msj.188766.xyz/play?id=3000000001000005308&token=02dda59402dda59402dda59402dda594&client=ys +#EXTINF:-1 tvg-id="咪视界-2" tvg-name="咪视界-2" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/咪视界.png" group-title="咪视界ys",咪视界-2-移动或影视专用 +https://msj.188766.xyz/play?id=3000000001000005969&token=02ddbcd502ddbcd502ddbcd502ddbcd5&client=ys +#EXTINF:-1 tvg-id="咪视界-3" tvg-name="咪视界-3" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/咪视界.png" group-title="咪视界ys",咪视界-3-移动或影视专用 +https://msj.188766.xyz/play?id=3000000001000007218&token=02de8ab002de8ab002de8ab002de8ab0&client=ys +#EXTINF:-1 tvg-id="咪视界-4" tvg-name="咪视界-4" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/咪视界.png" group-title="咪视界ys",咪视界-4-移动或影视专用 +https://msj.188766.xyz/play?id=3000000001000008001&token=02def76702def76702def76702def767&client=ys +#EXTINF:-1 tvg-id="咪视界-5" tvg-name="咪视界-5" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/咪视界.png" group-title="咪视界ys",咪视界-5-移动或影视专用 +https://msj.188766.xyz/play?id=3000000001000008176&token=02defc0602defc0602defc0602defc06&client=ys +#EXTINF:-1 tvg-id="咪视界-6" tvg-name="咪视界-6" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/咪视界.png" group-title="咪视界ys",咪视界-6-移动或影视专用 +https://msj.188766.xyz/play?id=3000000001000008379&token=02df038b02df038b02df038b02df038b&client=ys +#EXTINF:-1 tvg-id="咪视界-7" tvg-name="咪视界-7" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/咪视界.png" group-title="咪视界ys",咪视界-7-移动或影视专用 +https://msj.188766.xyz/play?id=3000000001000010129&token=02e96ff702e96ff702e96ff702e96ff7&client=ys +#EXTINF:-1 tvg-id="咪视界-8" tvg-name="咪视界-8" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/咪视界.png" group-title="咪视界ys",咪视界-8-移动或影视专用 +https://msj.188766.xyz/play?id=3000000001000010948&token=02e98e3c02e98e3c02e98e3c02e98e3c&client=ys +#EXTINF:-1 tvg-id="咪视界-9" tvg-name="咪视界-9" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/咪视界.png" group-title="咪视界ys",咪视界-9-移动或影视专用 +https://msj.188766.xyz/play?id=3000000001000028638&token=02fb3d5302fb3d5302fb3d5302fb3d53&client=ys +#EXTINF:-1 tvg-id="咪视界-10" tvg-name="咪视界-10" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/咪视界.png" group-title="咪视界ys",咪视界-10-移动或影视专用 +https://msj.188766.xyz/play?id=3000000001000031494&token=03061f6f03061f6f03061f6f03061f6f&client=ys +#EXTINF:-1 tvg-id="咪视界-11" tvg-name="咪视界-11" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/咪视界.png" group-title="咪视界ys",咪视界-11-移动或影视专用 +https://msj.188766.xyz/play?id=3000000010000000097&token=a376972ea376972ea376972ea376972e&client=ys +#EXTINF:-1 tvg-id="咪视界-12" tvg-name="咪视界-12" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/咪视界.png" group-title="咪视界ys",咪视界-12-移动或影视专用 +https://msj.188766.xyz/play?id=3000000010000002019&token=a3777ef6a3777ef6a3777ef6a3777ef6&client=ys +#EXTINF:-1 tvg-id="咪视界-13" tvg-name="咪视界-13" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/咪视界.png" group-title="咪视界ys",咪视界-13-移动或影视专用 +https://msj.188766.xyz/play?id=3000000010000002809&token=a3779cdfa3779cdfa3779cdfa3779cdf&client=ys +#EXTINF:-1 tvg-id="咪视界-14" tvg-name="咪视界-14" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/咪视界.png" group-title="咪视界ys",咪视界-14-移动或影视专用 +https://msj.188766.xyz/play?id=3000000010000003915&token=a378151aa378151aa378151aa378151a&client=ys +#EXTINF:-1 tvg-id="咪视界-15" tvg-name="咪视界-15" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/咪视界.png" group-title="咪视界ys",咪视界-15-移动或影视专用 +https://msj.188766.xyz/play?id=3000000010000004193&token=a3786c67a3786c67a3786c67a3786c67&client=ys +#EXTINF:-1 tvg-id="咪视界-16" tvg-name="咪视界-16" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/咪视界.png" group-title="咪视界ys",咪视界-16-移动或影视专用 +https://msj.188766.xyz/play?id=3000000010000005837&token=a378fa57a378fa57a378fa57a378fa57&client=ys +#EXTINF:-1 tvg-id="咪视界-17" tvg-name="咪视界-17" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/咪视界.png" group-title="咪视界ys",咪视界-17-移动或影视专用 +https://msj.188766.xyz/play?id=3000000010000006077&token=a379512aa379512aa379512aa379512a&client=ys +#EXTINF:-1 tvg-id="咪视界-18" tvg-name="咪视界-18" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/咪视界.png" group-title="咪视界ys",咪视界-18-移动或影视专用 +https://msj.188766.xyz/play?id=3000000010000006658&token=a3796773a3796773a3796773a3796773&client=ys +#EXTINF:-1 tvg-id="咪视界-19" tvg-name="咪视界-19" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/咪视界.png" group-title="咪视界ys",咪视界-19-移动或影视专用 +https://msj.188766.xyz/play?id=3000000010000009788&token=a37ac8aea37ac8aea37ac8aea37ac8ae&client=ys +#EXTINF:-1 tvg-id="咪视界-20" tvg-name="咪视界-20" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/咪视界.png" group-title="咪视界ys",咪视界-20-移动或影视专用 +https://msj.188766.xyz/play?id=3000000010000010833&token=a384cbf9a384cbf9a384cbf9a384cbf9&client=ys +#EXTINF:-1 tvg-id="咪视界-21" tvg-name="咪视界-21" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/咪视界.png" group-title="咪视界ys",咪视界-21-移动或影视专用 +https://msj.188766.xyz/play?id=3000000010000011297&token=a3852a90a3852a90a3852a90a3852a90&client=ys +#EXTINF:-1 tvg-id="咪视界-22" tvg-name="咪视界-22" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/咪视界.png" group-title="咪视界ys",咪视界-22-移动或影视专用 +https://msj.188766.xyz/play?id=3000000010000011518&token=a38534dca38534dca38534dca38534dc&client=ys +#EXTINF:-1 tvg-id="咪视界-23" tvg-name="咪视界-23" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/咪视界.png" group-title="咪视界ys",咪视界-23-移动或影视专用 +https://msj.188766.xyz/play?id=3000000010000012558&token=a385a9b7a385a9b7a385a9b7a385a9b7&client=ys +#EXTINF:-1 tvg-id="咪视界-24" tvg-name="咪视界-24" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/咪视界.png" group-title="咪视界ys",咪视界-24-移动或影视专用 +https://msj.188766.xyz/play?id=3000000010000012616&token=a385acfaa385acfaa385acfaa385acfa&client=ys +#EXTINF:-1 tvg-id="咪视界-25" tvg-name="咪视界-25" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/咪视界.png" group-title="咪视界ys",咪视界-25-移动或影视专用 +https://msj.188766.xyz/play?id=3000000010000015470&token=a3870349a3870349a3870349a3870349&client=ys +#EXTINF:-1 tvg-id="咪视界-26" tvg-name="咪视界-26" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/咪视界.png" group-title="咪视界ys",咪视界-26-移动或影视专用 +https://msj.188766.xyz/play?id=3000000010000015560&token=a38706eba38706eba38706eba38706eb&client=ys +#EXTINF:-1 tvg-id="咪视界-27" tvg-name="咪视界-27" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/咪视界.png" group-title="咪视界ys",咪视界-27-移动或影视专用 +https://msj.188766.xyz/play?id=3000000010000017678&token=a387f391a387f391a387f391a387f391&client=ys +#EXTINF:-1 tvg-id="咪视界-28" tvg-name="咪视界-28" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/咪视界.png" group-title="咪视界ys",咪视界-28-移动或影视专用 +https://msj.188766.xyz/play?id=3000000010000019839&token=a388e356a388e356a388e356a388e356&client=ys +#EXTINF:-1 tvg-id="咪视界-29" tvg-name="咪视界-29" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/咪视界.png" group-title="咪视界ys",咪视界-29-移动或影视专用 +https://msj.188766.xyz/play?id=3000000010000021904&token=a3935b3ea3935b3ea3935b3ea3935b3e&client=ys +#EXTINF:-1 tvg-id="咪视界-30" tvg-name="咪视界-30" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/咪视界.png" group-title="咪视界ys",咪视界-30-移动或影视专用 +https://msj.188766.xyz/play?id=3000000010000023434&token=a3943194a3943194a3943194a3943194&client=ys +#EXTINF:-1 tvg-id="咪视界-31" tvg-name="咪视界-31" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/咪视界.png" group-title="咪视界ys",咪视界-31-移动或影视专用 +https://msj.188766.xyz/play?id=3000000010000025380&token=a3951728a3951728a3951728a3951728&client=ys +#EXTINF:-1 tvg-id="咪视界-32" tvg-name="咪视界-32" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/咪视界.png" group-title="咪视界ys",咪视界-32-移动或影视专用 +https://msj.188766.xyz/play?id=3000000010000027691&token=a3960b49a3960b49a3960b49a3960b49&client=ys +#EXTINF:-1 tvg-id="咪视界-33" tvg-name="咪视界-33" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/咪视界.png" group-title="咪视界ys",咪视界-33-移动或影视专用 +https://msj.188766.xyz/play?id=3000000010000031669&token=a3a1683ba3a1683ba3a1683ba3a1683b&client=ys +#EXTINF:-1 tvg-id="咪视界-34" tvg-name="咪视界-34" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/咪视界.png" group-title="咪视界ys",咪视界-34-移动或影视专用 +https://msj.188766.xyz/play?id=3000000020000011518&token=3869e79d3869e79d3869e79d3869e79d&client=ys +#EXTINF:-1 tvg-id="咪视界-35" tvg-name="咪视界-35" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/咪视界.png" group-title="咪视界ys",咪视界-35-移动或影视专用 +https://msj.188766.xyz/play?id=3000000020000011519&token=3869e79e3869e79e3869e79e3869e79e&client=ys +#EXTINF:-1 tvg-id="咪视界-36" tvg-name="咪视界-36" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/咪视界.png" group-title="咪视界ys",咪视界-36-移动或影视专用 +https://msj.188766.xyz/play?id=3000000020000011520&token=3869e7b43869e7b43869e7b43869e7b4&client=ys +#EXTINF:-1 tvg-id="咪视界-37" tvg-name="咪视界-37" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/咪视界.png" group-title="咪视界ys",咪视界-37-移动或影视专用 +https://msj.188766.xyz/play?id=3000000020000011521&token=3869e7b53869e7b53869e7b53869e7b5&client=ys +#EXTINF:-1 tvg-id="咪视界-38" tvg-name="咪视界-38" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/咪视界.png" group-title="咪视界ys",咪视界-38-移动或影视专用 +https://msj.188766.xyz/play?id=3000000020000011522&token=3869e7b63869e7b63869e7b63869e7b6&client=ys +#EXTINF:-1 tvg-id="睛彩竞技" tvg-name="睛彩竞技" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/晴彩竞技.png" group-title="咪视界bc",睛彩竞技-冰茶专用 +https://msj.188766.xyz/play?id=3000000020000011528&token=3869e7bc3869e7bc3869e7bc3869e7bc +#EXTINF:-1 tvg-id="睛彩篮球" tvg-name="睛彩篮球" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/晴彩竞技.png" group-title="咪视界bc",睛彩篮球-冰茶专用 +https://msj.188766.xyz/play?id=3000000020000011529&token=3869e7bd3869e7bd3869e7bd3869e7bd +#EXTINF:-1 tvg-id="睛彩青少" tvg-name="睛彩青少" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/睛彩青少.png" group-title="咪视界bc",睛彩青少-冰茶专用 +https://msj.188766.xyz/play?id=3000000020000011525&token=3869e7b93869e7b93869e7b93869e7b9 +#EXTINF:-1 tvg-id="睛彩广场舞" tvg-name="睛彩广场舞" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/睛彩广场舞.png" group-title="咪视界bc",睛彩广场舞-冰茶专用 +https://msj.188766.xyz/play?id=3000000020000011523&token=3869e7b73869e7b73869e7b73869e7b7 +#EXTINF:-1 tvg-id="咪视界4k-1" tvg-name="咪视界4k-1" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/咪视界4K.png" group-title="咪视界bc",咪视界4K-1-冰茶专用 +https://msj.188766.xyz/play?id=3000000010000005180&token=a378e0a4a378e0a4a378e0a4a378e0a4 +#EXTINF:-1 tvg-id="咪视界4k-2" tvg-name="咪视界4k-2" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/咪视界4K.png" group-title="咪视界bc",咪视界4K-2-冰茶专用 +https://msj.188766.xyz/play?id=3000000010000015686&token=a3870af0a3870af0a3870af0a3870af0 +#EXTINF:-1 tvg-id="咪视界-1" tvg-name="咪视界-1" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/咪视界.png" group-title="咪视界bc",咪视界-1-冰茶专用 +https://msj.188766.xyz/play?id=3000000001000005308&token=02dda59402dda59402dda59402dda594 +#EXTINF:-1 tvg-id="咪视界-2" tvg-name="咪视界-2" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/咪视界.png" group-title="咪视界bc",咪视界-2-冰茶专用 +https://msj.188766.xyz/play?id=3000000001000005969&token=02ddbcd502ddbcd502ddbcd502ddbcd5 +#EXTINF:-1 tvg-id="咪视界-3" tvg-name="咪视界-3" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/咪视界.png" group-title="咪视界bc",咪视界-3-冰茶专用 +https://msj.188766.xyz/play?id=3000000001000007218&token=02de8ab002de8ab002de8ab002de8ab0 +#EXTINF:-1 tvg-id="咪视界-4" tvg-name="咪视界-4" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/咪视界.png" group-title="咪视界bc",咪视界-4-冰茶专用 +https://msj.188766.xyz/play?id=3000000001000008001&token=02def76702def76702def76702def767 +#EXTINF:-1 tvg-id="咪视界-5" tvg-name="咪视界-5" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/咪视界.png" group-title="咪视界bc",咪视界-5-冰茶专用 +https://msj.188766.xyz/play?id=3000000001000008176&token=02defc0602defc0602defc0602defc06 +#EXTINF:-1 tvg-id="咪视界-6" tvg-name="咪视界-6" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/咪视界.png" group-title="咪视界bc",咪视界-6-冰茶专用 +https://msj.188766.xyz/play?id=3000000001000008379&token=02df038b02df038b02df038b02df038b +#EXTINF:-1 tvg-id="咪视界-7" tvg-name="咪视界-7" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/咪视界.png" group-title="咪视界bc",咪视界-7-冰茶专用 +https://msj.188766.xyz/play?id=3000000001000010129&token=02e96ff702e96ff702e96ff702e96ff7 +#EXTINF:-1 tvg-id="咪视界-8" tvg-name="咪视界-8" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/咪视界.png" group-title="咪视界bc",咪视界-8-冰茶专用 +https://msj.188766.xyz/play?id=3000000001000010948&token=02e98e3c02e98e3c02e98e3c02e98e3c +#EXTINF:-1 tvg-id="咪视界-9" tvg-name="咪视界-9" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/咪视界.png" group-title="咪视界bc",咪视界-9-冰茶专用 +https://msj.188766.xyz/play?id=3000000001000028638&token=02fb3d5302fb3d5302fb3d5302fb3d53 +#EXTINF:-1 tvg-id="咪视界-10" tvg-name="咪视界-10" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/咪视界.png" group-title="咪视界bc",咪视界-10-冰茶专用 +https://msj.188766.xyz/play?id=3000000001000031494&token=03061f6f03061f6f03061f6f03061f6f +#EXTINF:-1 tvg-id="咪视界-11" tvg-name="咪视界-11" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/咪视界.png" group-title="咪视界bc",咪视界-11-冰茶专用 +https://msj.188766.xyz/play?id=3000000010000000097&token=a376972ea376972ea376972ea376972e +#EXTINF:-1 tvg-id="咪视界-12" tvg-name="咪视界-12" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/咪视界.png" group-title="咪视界bc",咪视界-12-冰茶专用 +https://msj.188766.xyz/play?id=3000000010000002019&token=a3777ef6a3777ef6a3777ef6a3777ef6 +#EXTINF:-1 tvg-id="咪视界-13" tvg-name="咪视界-13" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/咪视界.png" group-title="咪视界bc",咪视界-13-冰茶专用 +https://msj.188766.xyz/play?id=3000000010000002809&token=a3779cdfa3779cdfa3779cdfa3779cdf +#EXTINF:-1 tvg-id="咪视界-14" tvg-name="咪视界-14" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/咪视界.png" group-title="咪视界bc",咪视界-14-冰茶专用 +https://msj.188766.xyz/play?id=3000000010000003915&token=a378151aa378151aa378151aa378151a +#EXTINF:-1 tvg-id="咪视界-15" tvg-name="咪视界-15" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/咪视界.png" group-title="咪视界bc",咪视界-15-冰茶专用 +https://msj.188766.xyz/play?id=3000000010000004193&token=a3786c67a3786c67a3786c67a3786c67 +#EXTINF:-1 tvg-id="咪视界-16" tvg-name="咪视界-16" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/咪视界.png" group-title="咪视界bc",咪视界-16-冰茶专用 +https://msj.188766.xyz/play?id=3000000010000005837&token=a378fa57a378fa57a378fa57a378fa57 +#EXTINF:-1 tvg-id="咪视界-17" tvg-name="咪视界-17" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/咪视界.png" group-title="咪视界bc",咪视界-17-冰茶专用 +https://msj.188766.xyz/play?id=3000000010000006077&token=a379512aa379512aa379512aa379512a +#EXTINF:-1 tvg-id="咪视界-18" tvg-name="咪视界-18" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/咪视界.png" group-title="咪视界bc",咪视界-18-冰茶专用 +https://msj.188766.xyz/play?id=3000000010000006658&token=a3796773a3796773a3796773a3796773 +#EXTINF:-1 tvg-id="咪视界-19" tvg-name="咪视界-19" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/咪视界.png" group-title="咪视界bc",咪视界-19-冰茶专用 +https://msj.188766.xyz/play?id=3000000010000009788&token=a37ac8aea37ac8aea37ac8aea37ac8ae +#EXTINF:-1 tvg-id="咪视界-20" tvg-name="咪视界-20" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/咪视界.png" group-title="咪视界bc",咪视界-20-冰茶专用 +https://msj.188766.xyz/play?id=3000000010000010833&token=a384cbf9a384cbf9a384cbf9a384cbf9 +#EXTINF:-1 tvg-id="咪视界-21" tvg-name="咪视界-21" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/咪视界.png" group-title="咪视界bc",咪视界-21-冰茶专用 +https://msj.188766.xyz/play?id=3000000010000011297&token=a3852a90a3852a90a3852a90a3852a90 +#EXTINF:-1 tvg-id="咪视界-22" tvg-name="咪视界-22" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/咪视界.png" group-title="咪视界bc",咪视界-22-冰茶专用 +https://msj.188766.xyz/play?id=3000000010000011518&token=a38534dca38534dca38534dca38534dc +#EXTINF:-1 tvg-id="咪视界-23" tvg-name="咪视界-23" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/咪视界.png" group-title="咪视界bc",咪视界-23-冰茶专用 +https://msj.188766.xyz/play?id=3000000010000012558&token=a385a9b7a385a9b7a385a9b7a385a9b7 +#EXTINF:-1 tvg-id="咪视界-24" tvg-name="咪视界-24" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/咪视界.png" group-title="咪视界bc",咪视界-24-冰茶专用 +https://msj.188766.xyz/play?id=3000000010000012616&token=a385acfaa385acfaa385acfaa385acfa +#EXTINF:-1 tvg-id="咪视界-25" tvg-name="咪视界-25" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/咪视界.png" group-title="咪视界bc",咪视界-25-冰茶专用 +https://msj.188766.xyz/play?id=3000000010000015470&token=a3870349a3870349a3870349a3870349 +#EXTINF:-1 tvg-id="咪视界-26" tvg-name="咪视界-26" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/咪视界.png" group-title="咪视界bc",咪视界-26-冰茶专用 +https://msj.188766.xyz/play?id=3000000010000015560&token=a38706eba38706eba38706eba38706eb +#EXTINF:-1 tvg-id="咪视界-27" tvg-name="咪视界-27" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/咪视界.png" group-title="咪视界bc",咪视界-27-冰茶专用 +https://msj.188766.xyz/play?id=3000000010000017678&token=a387f391a387f391a387f391a387f391 +#EXTINF:-1 tvg-id="咪视界-28" tvg-name="咪视界-28" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/咪视界.png" group-title="咪视界bc",咪视界-28-冰茶专用 +https://msj.188766.xyz/play?id=3000000010000019839&token=a388e356a388e356a388e356a388e356 +#EXTINF:-1 tvg-id="咪视界-29" tvg-name="咪视界-29" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/咪视界.png" group-title="咪视界bc",咪视界-29-冰茶专用 +https://msj.188766.xyz/play?id=3000000010000021904&token=a3935b3ea3935b3ea3935b3ea3935b3e +#EXTINF:-1 tvg-id="咪视界-30" tvg-name="咪视界-30" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/咪视界.png" group-title="咪视界bc",咪视界-30-冰茶专用 +https://msj.188766.xyz/play?id=3000000010000023434&token=a3943194a3943194a3943194a3943194 +#EXTINF:-1 tvg-id="咪视界-31" tvg-name="咪视界-31" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/咪视界.png" group-title="咪视界bc",咪视界-31-冰茶专用 +https://msj.188766.xyz/play?id=3000000010000025380&token=a3951728a3951728a3951728a3951728 +#EXTINF:-1 tvg-id="咪视界-32" tvg-name="咪视界-32" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/咪视界.png" group-title="咪视界bc",咪视界-32-冰茶专用 +https://msj.188766.xyz/play?id=3000000010000027691&token=a3960b49a3960b49a3960b49a3960b49 +#EXTINF:-1 tvg-id="咪视界-33" tvg-name="咪视界-33" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/咪视界.png" group-title="咪视界bc",咪视界-33-冰茶专用 +https://msj.188766.xyz/play?id=3000000010000031669&token=a3a1683ba3a1683ba3a1683ba3a1683b +#EXTINF:-1 tvg-id="咪视界-34" tvg-name="咪视界-34" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/咪视界.png" group-title="咪视界bc",咪视界-34-冰茶专用 +https://msj.188766.xyz/play?id=3000000020000011518&token=3869e79d3869e79d3869e79d3869e79d +#EXTINF:-1 tvg-id="咪视界-35" tvg-name="咪视界-35" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/咪视界.png" group-title="咪视界bc",咪视界-35-冰茶专用 +https://msj.188766.xyz/play?id=3000000020000011519&token=3869e79e3869e79e3869e79e3869e79e +#EXTINF:-1 tvg-id="咪视界-36" tvg-name="咪视界-36" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/咪视界.png" group-title="咪视界bc",咪视界-36-冰茶专用 +https://msj.188766.xyz/play?id=3000000020000011520&token=3869e7b43869e7b43869e7b43869e7b4 +#EXTINF:-1 tvg-id="咪视界-37" tvg-name="咪视界-37" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/咪视界.png" group-title="咪视界bc",咪视界-37-冰茶专用 +https://msj.188766.xyz/play?id=3000000020000011521&token=3869e7b53869e7b53869e7b53869e7b5 +#EXTINF:-1 tvg-id="咪视界-38" tvg-name="咪视界-38" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/咪视界.png" group-title="咪视界bc",咪视界-38-冰茶专用 +https://msj.188766.xyz/play?id=3000000020000011522&token=3869e7b63869e7b63869e7b63869e7b6 +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/爱奇艺体育.png" group-title="冰茶体育",1月10日00:25U23亚洲杯_约旦U23vs沙特阿拉伯U23 +https://mgev.188766.xyz/play?migutoken=74296c01eec718c670cae7515bafec95&id=QZo8jd%2BocI7MJPyMLVF8ZB8HThmUARHaVCDRYJrvKb59o5X9T%2BSRIEb2P6bZXsdItG7pE31emjXrOHkKOQOKkKDI1X358Ya%2BQYztPzxpdi5oF1BX7XtKEj%2FBAKo%2BukP8cyTbYmqtEDghFAfzCAVQkypaM%2BmLVJ5a5NpdimVScksb4Gx9YsSTaN7p0ASQ3x3AhXNPuQW8BI%2FYpr%2BjRgGaa7md5MiOhjnygU%2BggShcwMTgYAbTQSUx1bzijP0w22cI2iik0PbOoZXa%2Fxi2TQcy47wTJxvgBQ%2Fa6R3uPF6utd3wvSWwnoty%2BpDHdfPEUnf8BtMNwZB5nQTby2CIe24E8mvc24%2BHqSHXKfFO889I%2BWmi9r9d%2BX88Ka%2BDRdK3pU4%2BA8bbyvb7HY4FDQYs61UY7A%3D%3D&name=CC869ebYpYajkXnfXG5DSmx722saTmzHBL5GSqYGpcGYm7YgfVkkWIz52ZSnnLDkwWm5Zi5bbfvLdy3BDAfhZ4vSd0SpGRQP90SgeqLJJx8%3D +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/爱奇艺体育.png" group-title="冰茶体育",1月10日03:55西甲_赫塔菲vs皇家社会 +https://mgev.188766.xyz/play?migutoken=2275dd628f8b369181dd9223ce164d1c&id=NIHYndvZQcgPtLsB2HojOdCOrKUXS3dspmcpTG2XhT7xHsyEkZ8jUiHroXjs7iiu6wggXQyEAmleEpOiR3ej3taIclCBwnSfJRFnTEXC7Q3%2Fz7xPGUPEaARkaiqIcdnPPIwxryrdZOJnd3cK94LiXtLLvWA2998bTh7gzZ74XE0v9GO7%2B07jv9usYszDPY8xGUeS3wSU5eh1L8UGbGxx2BU3%2F%2BeCtqjuN9zDaw6swRxhwfJr8wZHWgSLjUw8bGiaxpDbjcNqcFQKQbzXQWWmXl6ez3u8vhpkk6e0Lyd0l7OH3qo6nsT6%2FNFYxFhf7ja%2Bj0LsrOPGMMKf%2BZ6d1juDPTFpHGNFtNNP2vfqO8JqQ4LcKwmYI7eqoROAK0Nu1AqskH4BSyAeuAdUVn%2FuXO00vw%3D%3D&name=N%2Bskkwv5aVj25%2FN50xqCIkea3kHVy8A5n%2Fr%2B6NYunVx4udzWyFhN6SPsJJaoKRjhICuXBvNuHDYKQZIdRSBZAA%3D%3D +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="冰茶体育",1月10日06:00_赛车_FE电动方程式世界锦标赛墨西哥城站练习赛1 +https://mgev.188766.xyz/play?migutoken=2b980212bf4628b5ff1795b7a23d8f4d&id=v4vCiY21rw%2BSgE2isAa60RzL%2FlaBqtfRwcanIQLCFztT47sqq78T9CuFrgVH5%2FgZrqUog9uU0YAO%2FyYA42wAeVHucBEzVJTeTlpeL%2BfkrAUUiGDmglvvJUowQbKuY%2F5Zr6vK6WpF9jG%2Bq%2BCeQzrFycKtS2RTUDwIaUX1gumJOVZX81qBy6Y%2FKKiu1t1GAiwrkvca%2FaGyCadxZrBuGNTzISyI2qZAj8j8TExw7EgXyAcf0fu1K%2BEvIbzREFIPLfdQU7fBGGteMpbM6p2%2B4uR6knL6iqepqyTxKulWFgBc0V8%3D&name=78VvDkXbYXtAESg%2Fb9d3pm0VoQaIOrpcArW5G2gnjkZ5ZJ0ObBr43KzGavgVArMyhhLYHxtOHPWgfTUGArx52Qab925bUDootX%2Fq0B%2FMaMFHx3myGsMrIaFKlteAeCaE +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="冰茶体育",1月10日08:00_NBA常规赛_猛龙vs凯尔特人 彭磊 +https://mgev.188766.xyz/play?migutoken=42eed1ebd88b494fce513373547b7ced&id=o565%2FQo%2Fc6mK%2FKfbEak6Z3FRQesJQy27%2BxcktTquxH1hzCfUjZGJf3miX9iGJyUxKUs5XkVImGQL%2FU80Ik%2F6XQI1r1EyNyyxzTIdW%2FcxPqguUu2mHdjP828yMHllM5vC2nI%2FXZTj3CtJwIBtnWOuBBVIUoIptDsR4HTQTE3zXTgRCGlOADq1NTeEJWw2fEcQ9g%2FK7E9HGIrec%2FVY1ew0STxhewDVd2mRdsCOjUtFhf8V4%2FWyPBf0%2FC%2BG2gjxVvCb2R%2BnrFS4WPDcE7USaDSm37A6LIqWwpBtpc%2Bf%2BCDq2og%3D&name=JYb%2BWGXi59mCK1pbvMDk5ZEApSOttucew6EIAXxyO4Zi5nQAw8FfBaWQm3cZWbIZZ2VvT%2FTvSKzmE5%2F5dmWkLD6DyBTsP3LJCWutRbYNnRU%3D +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="冰茶体育",1月10日08:00_NBA常规赛_猛龙vs凯尔特人 英文原音 +https://mgev.188766.xyz/play?migutoken=d08bfcb4cf98eefce62024d3d55d80a1&id=ZNQcBS4PoJkMzWuQeF8Sey06LpcFzxb6Z2ak0Vx5oF74bCtFQ7jv7fFao4Ws%2BgRAZc85BoRBCHCEqgMUEraZz1ukpYeqryy%2Ftdi3Nc6iTov3lOy8eWdWaamYIQEGy%2Bg3%2BtQ6pIjkHxaJXtRLj01nXdPsz%2BxHOVNIvtGYLQEesR8HHZi7F29wqc2blL9g3TIqxjmVxITJMFUHPywMsaRwZbExH6g1D25notk%2BFDynldk4yRRi1x6eZFeU8T21e%2Bz3iNhVOWvcETa2TWFnrQLdGkgpAzK45X3L7alAqkFHeQY%3D&name=4KV0%2BGXKGQVrWRA%2BhJgMHldWgjvBu1A42eFnId4SbaiPTaWx%2F%2F6lCT7YWDPMPNmqyd38qdlPeEjcy9Knuz%2BhDmgA8LnOWeJw15a7LDq2W2w%3D +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="冰茶体育",1月10日08:00_NBA常规赛_76人vs魔术 李雪儿 +https://mgev.188766.xyz/play?migutoken=4f91d8952bbeb638f6471b1c4cb6aa23&id=qhghol%2B4rtU0eox3tmRbfVVLBMo3UAOmb%2BLIdY%2B5SGEZg%2FHHuJsHCyytxCsjZ72SiXfp4GeNJWi4bJnLUgI4jxIJElBPIti6uL%2FiVDg3eNcVmHaZSlPSVVOGaD1vxLWVmguL71D4oEC%2B6E4EJ5efICc6Bse356UGK3a9cbvt0PrFkEIxj%2BdgyimDFJRCzJf9HrjD%2BcSsrGQtCu1QPq2I%2BxzJAwffsJc8xR6Ut3Fu2KN%2BADdyZEDDP4w88ipfgoqhNn7W29RU%2BpTYGLdfxMttaOtW7GOMXrNKiTsnKF8vSSY%3D&name=z4jtfJJB8OemBd7I7VjuC%2FXyCC4q%2Fj24cZeyqPz3%2FDgUGKJz5vEEYO96Ov4OYVROyBQxv4fYtkOuXM7MI%2FkmwuDk%2Fb90CCYMkfBf3nqjTsM%3D +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="冰茶体育",1月10日08:00_NBA常规赛_76人vs魔术 英文原音 +https://mgev.188766.xyz/play?migutoken=0f527b79ac48cc7415d1c887a0d8ed2c&id=5yE3kRVc6Hjl2UVQe6GS3dLkwa3znm8Wio5UPy95Kdi0FSW%2FKrP2a0hH2xMRb2rdT6NSuypJwMCFU%2BrQxOKvdqJS2xMfZbSF3vV4Qx6zhCi7KO3S5PxBM0UdQDfTNSkOj9KfwX8ODXI4v0TNFXZ4NWjSyy%2FxIB8dI70zz0St2B4pPfSGeQ3pAnyKNHjLWjK0qutj2R1ZpD%2FrzokkSBSW91vjPuxEMfX0kdpqXDA66yij8v2Wn9Wb4rgisgryuokYiKiDTsIf4qDqdTojNVGOLNuf21M0%2FLwSZoI8TXoMtJ4%3D&name=HI5zePFrH6%2F%2BP7h9vDpT7nBTPHqprQhXHYfzMa%2B%2FY%2FypqsqILM9k8HaUoYWa4R5%2FyZf7n19FK8BNiXXiwsV0%2BBJrqOHtKEUF6yLhiG0wYEM%3D +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="冰茶体育",1月10日08:00_NBA常规赛_鹈鹕vs奇才 石楷文 +https://mgev.188766.xyz/play?migutoken=323418169c50db6cdcad2171a7dc07ca&id=Qjp4%2Fw40KbHItl8AQqnZTqgsXykTGSXj6wkSuMef7%2BEminoeSs932Oc4cGzjfWWfngBOwkBnXaUEb4Kq7JyupdzG9R32zbttZ97HyUvefmcb1Xz98xLSKEL4x0ToQWpo9Gory%2Frg%2Bp6jBjnTEegHZ44z0Vpc9PA8ap9oYOPLkGRwHQO6yGTjuGy6EnPaMH0zZhIy%2B6C%2FHYRDPcD%2FfPvpOq29%2Fma%2Beeg%2FTCihq5H3N6D3iXVito9Ye%2FZsk%2Bu2N6XqQRDkf8tB4g8wkoWITzzREmmLa6SAtcN3swTYR7slLWo%3D&name=S2u8W3GhLwcnaEvXrIEL7aqUBDwhTvIJYLshzMJN5oWvb2VUm84HVYvdyMU5%2FJHNN8WyNbWzyp%2BTbu7Q5iKFiOkljd04nv5nQv9rJaIH3xs%3D +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="冰茶体育",1月10日08:00_NBA常规赛_鹈鹕vs奇才 英文原音 +https://mgev.188766.xyz/play?migutoken=394a7adfc52d8755fa79a51a5b7f3368&id=PaGnYktKScH0okbxWHFp39c%2FH8EIvusMRrQzXke4FIiS81dYaRnTj%2F5W1b5JOcOrPjVPhqu%2B1MdMQ07SLvszCtlmRxmDpZDtTzDeAZ3EmZWBISWGntYoM9BLjCQV%2FVYgsK682dP2peFQWg%2FmITd54Zf%2BZAQUj%2FGfgSdGGMd5VwDwEW5aOoBSIc%2FBImwi4juAWqp8VgKYJVGtJ3%2BNMBR7ZqswmuuXe0PorODONu%2FoQwEEM%2B7SEWAIyruSATKOJktDqy1T9hG%2FFkcoRpIBcjDApG%2BNgP0A6RfvFjHlUSIaCy4%3D&name=7XHW5Glnb5X0N%2FCFLrY60Kij1pxhBA4Cg84ERhvFyB6Frbmwb64hZLs6yZT6%2BpDp5S67bVY8PKA2eA5TPn8wbw1FJfU16UDrs8EdCyhEtf8%3D +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="冰茶体育",1月10日08:30_NBA常规赛_快船vs篮网 柯凡 孔德昕 +https://mgev.188766.xyz/play?migutoken=12a4b858c22aab6e9d57c7a71931d1dc&id=H4p8asQ7RAd%2BtI5bgeJGHnQuNRmZvuPBW%2FfLCLnsJe3789JNOybmLvsMd4pv2bVNn9Ca1%2Bs%2FrX0Tzdl%2B2oiZ82UevQzYNvpq73cEGRlIxcOlK1RDiBFHf%2B6lQx9ZCGe25kW3xOWb0lcjzanvSDhQ2uzgCXMAvT3huWdxSTLIF%2Fi5N0CF8qJ5k4An%2FSXmH1SLy28zT8QdPUqrYir%2BN8RwmNwAh1BRswGFkT9ML53as4j5bE4mJNBIQ%2B1RSyWxBZRYwCD2oiaED1EC0NiPbM%2F3FbYJrG%2BNGb%2BeQ%2FngPVAiyUzU%2BXShQXMEXYHR9u8ZXY2S%2FGPnSdCvctbPdJRBEYausA%3D%3D&name=UNCgJ0ceKhpESGiVSknW1F1n80CBTPNNm6Loy8ski4%2BslHpP%2BYDKm1ENBXnXd3SInCGZEZdNAUGK5i4GTdwAlK8NRINRBQLMGead8jqVUBo%3D +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="冰茶体育",1月10日08:30_NBA常规赛_快船vs篮网 英文原音 +https://mgev.188766.xyz/play?migutoken=9a8019ef0b346125ba3da24c613ac1cc&id=egxdpX%2B3XhStXyQG3TTzNoKEsncqqIHNPZJGEr2gHCARi9Mmqa2hU4i%2Bvz22OgEJBofkNz1gp5fo0ew5d9MQwX5PcOvmtCipC%2BXw%2BT3OWVRsghl4kHExoFbOKHPYFZp3gGedxdzCdxWNHEM%2BlrQtFbBP55K28QXPtilEfNMw3RQprkSvnpeXTtPMFeCE1zrYRhQ3jGGEIq8bXQ7UONIohuNySfcWaAnzHPNlIhlTD37WSyHkZlv%2BB1O8LhHMJnRlrYP8P3iBhg9Iv5mSWK9dp8ttuu0VUYAkn665KNGeeM6LTjFYatJa3T4ub3iuxvYuBxXkbZfoT05x6ulVrcE6FQ%3D%3D&name=MA%2FtJh95jVHcLMHlU1baYnNpPw5F08UUjlpFW7YG0zfynPY1IVoaYdUezkUCAO%2F1Oms%2Fye4nTHX9wUuxs7dSBeqLAXidLIyz%2Fc6bZQUESUw%3D +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="冰茶体育",1月10日09:00_NBA常规赛_雷霆vs灰熊 王兆丰 沈知渝 +https://mgev.188766.xyz/play?migutoken=236882a79269787535d1d9b4be75464a&id=j1FJ4hj5zvUSAf1bGGQLVrqJFbvTOYRf6mv2BHB%2F4zukcX2Sm4wx8BSS7c1ekAbpQn2CgWdeWjfO0Dvat7rw%2FMaZ7xoaYf9sFvanmY6Kas3iM0lbx5NGrOCjJGvq2shTZOBclgc9xJ4wBh5RvugCqZQOcZb3d%2FqiG8D2VFpkb%2BtrMwx25OZgwhqM8E5o6j6eeqN2GRpptVO31SmvUZ02Dih5FMB7JdocvPPhoKXtSOur1fSTUP6QipN%2BDY5Ayxh4YQzj0Js47TSTEOOVlEJ7hgLkK6DHZbaE3ey%2F%2F%2B83821AkFs4cHBJfxiYuGfAoNTMPzmfQ0F8DQTV4o54Yd2nNw%3D%3D&name=f8hZY%2FCHGyeD3gq30JzpbWuptr92mYhx64vBSz7MYqS%2F4Hh15WxaMwvvLot9eCwx6g5cxgHeQVEL6p6CFp79y0lXZQDJHiQNODSWXe7%2BqIQ%3D +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="冰茶体育",1月10日09:00_NBA常规赛_雷霆vs灰熊 英文原音 +https://mgev.188766.xyz/play?migutoken=10dff17ade389709ab993d034cda3d41&id=KzSuOiNDCg5Q8A35MZ%2Fsn94XzafBgVK1Ux1QrnaZLERsx72WSy8eUcvimeGMni9MJdYwIGDygkQK24iFwNctSb%2BZzIGVHBG09iNLe1iTQ1C7kKzK4XYY194Au4KtrbT2GV1EtRTEcNmG2%2B2gyNYtiND2hfYXO3LCcAfOqqAt%2F417IxUVkYdzXUG71EdHMAmGChoymcjw3%2Binw7UdrW5XAgpc6lY2o6HWWMPdxnVjsF%2FVuaZJPQWUnheLBnMo2Yk4TFIntmZkHYjfxtMJINenMi8WLGPKj8n6RawoFQ7IgOz%2FlyfviwzYx0%2BSNlkc4ShYJ36wHZJMgd%2BoYGy%2F14s7Ug%3D%3D&name=%2FY0WxgMrMAHl9KR5cz14ErCt1Wvad0vFGhsFbKMrx8rK9yguPDfVz2ssDNHDcbyK%2FZAjc8yh62tqkJvW%2FiZyTHba8balXS89vaWrw3jtTHw%3D +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="冰茶体育",1月10日09:05_WTA500布里斯班站半决赛_萨巴伦卡vs穆霍娃 胡力涛 +https://mgev.188766.xyz/play?migutoken=d2e8558ba305867088da1bc1ed1e1446&id=YtQUkoBmZvzPQmsU9SLQRCIdbMbJiwirBilCOJzxr2u56KCIma7RPvggBQvih6W6%2BzQqXcoTXwfBs%2B%2FFEq5jyrpIolrKPY1dIdB4pgR67XExzBqIQ%2FWmuMtiDknTUfBgF%2FYg6%2Ba0Sv%2BZ4DjLJ9lpjNKesCIwRNt%2FaY0HV6jY9CwV0GQyd8hS8gxezRcHGOgtvdH97fM3ahknAOudqU3bP%2FXHBn%2Btf8cmqlceQFDAqD8VqyT9Wc9XZ0rDj%2BZBHNdoThnsd7axmHFPTQRROEEjJIrsjnfzudyO8pmZRfQUCnWCNDSSSyDyqWo3Lkn5oovX&name=VDtFGscsyQf56rVTeArTCBAgwqEz1vqY0M5jlI%2BMCzRyJ0qKC0kFO01M8Mwfqh1IIGmQb3zKQpwDqs39X9OJb2jrMXpfrsAhqklwlnVJGUyVxPKoKmvooTVKNEe7almB +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="冰茶体育",1月10日09:05_WTA500布里斯班站半决赛_萨巴伦卡vs穆霍娃 英文原音 +https://mgev.188766.xyz/play?migutoken=c2045d4614d31ab65e48979c0f6802c2&id=LMm0USAdLh1TFfzLPoC89Ai0sDKQRcDAYqOqin%2B1ChgW8p7HGR7DQhd%2F8QJh2J9H17C%2BsgdovtF8gFzE%2BXJ%2BGuWwAXXahZ8GD94G2KWt8HUpdaK2Fyn5nL58kntUgNtfb%2Fvz3YMBNbsh2fuGj%2FCWvNQGDGo5FswH0BiRQ1xQy5gmo70kBVui%2B5moUXjviceL%2B6tdUDv5RRiUfHoSara5ndsZqUxbzwAxaxBdyvBQkWZeCMV709EPuzF%2Bhqa2rFf1XhhmOLUDwKLn93xx1VXDOxzK1mzAUDsaeUqYz3tk5MpAmggVB8gvMV5XkkK6IL%2Fu&name=8EB0a9JXhcsSSwGZo5xiUf7pXe7KRo6kKqmvkuhEz8EtoChXwO6r%2FJdgArD7bJwXTWu2Xqsk41cbMkPmTAB%2F%2BblMo8Q93ZsYEWCfBOLRIGl1GY0Pl%2BYXnGIT06lqIVvhex539z0GaR4X%2FOBNCzDKYA%3D%3D +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="冰茶体育",1月10日09:05_WTA500布里斯班站半决赛_萨巴伦卡vs穆霍娃 赛场原声 +https://mgev.188766.xyz/play?migutoken=9f93e0f2c3b8fc63cafa0f40b419aba3&id=if4W0C7jVPdVPaaU8uM4q2Ck4pLQgR6gmpAAErqMbkZgmPCSCRkfCBd32YHGsoGKwRSE8YhCg0HXZfBbsleMXv4Y7FLS5NulzR0yLBIG9EX0Ix5h1tCXMAoxcqLoeKWH%2FaLMai%2Bc%2BLz55UKOXl8DWchlssvuDqIbPSPOi9wU7wXIL53bwLKRZnel4aZMIGC2BD%2Fche3Stm3D%2FkZQJYJy9Gi8l1iHiK%2BPJeB3BUJRze2kbrCntPTCY%2FrIWdwgTKdsEJ3SOqKMcmeL8aCBWwzKEZHjPrDgMaUa0HtXcnMb1hA0u3Xqp9xFvYuMPMOMgvl9&name=QDJjg6hpjcZBqx91AD3kbVb1LgMrRG4cpQFmPNY%2BRM5%2FjIak8ORgrB009oI3pNRrUCxPteynZ7CS%2FtKM6sZ1Taa0N409FAmyza9atEiE6DblUknQ8kQ5PMEH5MamiCIgtwM68gZMJK0%2FeTZO2khZfg%3D%3D +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="冰茶体育",1月10日10:00_NBA常规赛_老鹰vs掘金 寇逸豪 +https://mgev.188766.xyz/play?migutoken=4f35c3a74a9ae6f902cfcc369ab9fab8&id=zyNtky%2BPVk8EaGX1e8PntnnN7rOSGGdMEoYGfPwk%2FtEYiEKhQVtGtEnQjlngLLiAGVWLwED3SgFxEyGDlX0Y0Ob8ew%2FgdAiVeldCShTsoitWeAu5Rm3aFqB60S33usEm0ZDK6SozOB1QTDcZLZht1hdrlaMIu5ey6qLIAwYnJ2vfEbjHQ4ZFrIpNFWYkKht76rn%2Bl71AgzZXIQevuh4G7u5S1MI47CsvB%2FSQR%2FxzPOMRkDXRdsLEaYMnkmhzJifY3iim0ctW65o8EKc7G0vEsJIHiJz3TefyFGCP6uriFcwSSCBpS5ShSorNtWn8Cp0wcD8DUK2TTdCNs3kCzERTyw%3D%3D&name=WQTzs7x9ZV5m6qmHAWrqVB9oA7vphWRaZicMKKmBLePni7qvzesLRLFErqC73L2czmiufNL9nxyYtaVPcwyFMcNQJ1Z%2BBdjM3gPDms5U3WQ%3D +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="冰茶体育",1月10日10:00_NBA常规赛_老鹰vs掘金 英文原音 +https://mgev.188766.xyz/play?migutoken=bb83889cac497dd7d3191ee9f13bdc94&id=0de4BKT22WQ2ZxFWk0WVbVVoOD9QciDneJ%2Bisw7r%2BWZQgciQy8yy6K3ijgReetS9lgvuAC0%2BDfOg%2BGvMjlfKRGi7sFTmGp%2FswstouPH2GR4GfyPiImJHt75LmGMHwuLKF%2FADf%2F4TvhRZA88t0gyeI6DHbPfhTK5N8UhBu6o9X1PbQkP%2BakDkHwqm0fB9J1TOT2%2Ff0bio54nMj%2FD0r1PK0LeZ0RkvmDH92RGmWMYXvAaH%2B4HVNIXz7lxWP703Liapj2XDrjZKckc20lTXJ394J4PO3%2B8Iebm1B4G8dkey13t3sqs2hMjtMu7CqyHAWEZUt8s9nyf8qSJUBlRQ1Yjusw%3D%3D&name=EGSB4K0ksuzqe3w4%2FpQueW%2F5Q1DbJnQUlTkKfSLMGgni%2FwSzmB5B17LpKFtDGjuUmlLZXdHTB7zp79lQpuClB7evGx1XsJ08vHTn0NAOhAM%3D +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="冰茶体育",1月10日10:00_NBA常规赛_尼克斯vs太阳 郑诚 +https://mgev.188766.xyz/play?migutoken=f993d1ebf4ff43886f0e33a52754a225&id=mdUFmBlNkre3IpyZaW9CMp2y0iEGQT0U7MSNejRYDWvj30shKdFlOBTXCeaOqgrl6kGjAHjN6jZ8aOrFIx4miUvZJ6w7g3PNmKFQk3KjLFbTn9CuAIjBzrM8uAINIWU0fm%2FUeMZ5WCnkvHjjZfblaDKv7Or0W3KIDcgz8HVCvP4cyyCDxr%2F%2FWp%2FRZIGxIo3WgHpE4p8Ly5lZpHv3reUkWhyWNpAi9bFolNjwmsJbsvKvMehTE7f2swrqwxFWRJC9IFmZY6Gs0OEI4kVGFJuxHc1lcUQilPsEKf9sxyYJtoq4PZmiGuD41CswnF3LtUtx3FpW%2BBDf8iMxo5zGpv5lYw%3D%3D&name=%2F2xa54hPkJq8KGoD9jMC8Qpdamg8PEjAVMxurmCcY%2FkqGY3RLVW9lgU5XogEFcu0BIGxsICzHXRiU460e1RAGVfxb23RSjBx6PcNhUFK5Og%3D +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="冰茶体育",1月10日10:00_NBA常规赛_尼克斯vs太阳 英文原音 +https://mgev.188766.xyz/play?migutoken=d0cd6303a199791810ee66ce81ed0e6d&id=C1232UNKjoWeQjBpLwOBacW2Pq7nXdScUJWG57odfoWhrxAEAoPuWG6HsvpdZkApU0WBWh0GgS4p4xKUCyxtEOPnXfWRwD6I1h0ic0H9vkJP1%2BF2fgCjp54SliTkyZ6bZ3hg%2BBUQshrQEAiYV%2BoQ9ljFA1LuNEPjFgVVlBA5WHpw68MHHucN5fLfejbPoswACqJP08JBnJOs8p6ln64ktZThOm5icHi5Ws6zpq7uNefE32QuMBguWiinXSL1DR74y1TxivQWvk8YyTFkX6Dq0eu2CUIxhtV6RizzunARSC4QZrAKiwxyefFa535IoIZNlu7mPNJhfrxCFM4Egh6EOA%3D%3D&name=HOn912yhEGeGaJmbwdmzcfQrhk1DC8CYETSB4c%2B643jNZp11oHpGl5gDIYsJLjSoYeCrIByMNxNkglemv5aRgryQWeS5Muqc1jrhlP6BUtM%3D +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="冰茶体育",1月10日10:30_篮球直播节目_[早安Tip_Off]第79期 王嘉琦 苏群 炼炼 +https://mgev.188766.xyz/play?migutoken=9980ebc4dc862182414846338986651b&id=NXa5PXC28qS4TetpopXbhh8dWY%2BBLaemhxMiPnbN2gQdxdCqv1SShfGIF61UkuAmD%2BTTkUGjUiOSNvWS8xxQJ56kmvGZtSm5engpxQ8%2FWW3HoIxXIeJvk55Fy1jcCR9N8UfZolGVxzqUBNBIaMBBCDOzxTYVi1GOht1jHhwN5XwlkpYshrtLWfO5%2BFjEpT92%2Bbcvox5FBdMTGrUBI%2Br9czYhLsPH%2Fa4gmlgGOrxGKnC%2FhYoKJQlYvnzKmMBl8%2FQK%2FPSklIhZgGFPUBVm4C7FhblzuA2%2FUB6OTisFywawkZL6dAoh%2FDZcJK3utM1cyj%2Bb&name=m4n3FJY%2BvcaYhUmvZLu6AVZ%2FCYlaM2C9j32KxLyHbGQ%2B8NzL39UFZJLAwCqTauB%2BVLc9oher%2BK2M3tDFUsM%2B%2BNRln4Ww9T2a4siWuCbHwgF8dH%2BLd5nxnAUXnZvR1KWrwX%2FZdDYcSbp6QmbURuxQzQ%3D%3D +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="冰茶体育",1月10日11:00_NBA常规赛_国王vs勇士 孔祥宇 殳海 果果 +https://mgev.188766.xyz/play?migutoken=0af4c1b0784ff4c8ab03faedc41e044f&id=AUF4CdahaQRd6tbaUbBR4qVmuQfbmAe46fbCcHvS%2B%2F2X9QWLIrsHhvEDtLg8CnzQ1UB2jkqVxgjrbQiowJzwjKseCQu4nFtDlXtcdi4MziA%2FHLFplGusPtxMrm54hyAmpKui0lTr9%2B%2BZKkJQTpDRU1vzEOfF6yqDJk7B8OQb8mIdE3i3%2BJkr0FQscwc79tXASlpoHhqHXTleOAbv6jnwKV4wqMqfU1cOZt6ACq2hwdo9pT8arliw3QWDLQZ84bEkrzCmK%2F2DqC2BtUqs4%2FFLR5CTL44ZBUQdKDor%2FaPeOpVHowNjnPSZx11J0NYAMrm81QlWDB4k%2Bwd%2BSw6ZZcpCJw%3D%3D&name=TXw8rdXy5tRVh%2FArzks1Je6SmzpV03zlszCXg6wOFyzBu1TX6rNS%2BtJgCRdwM6DF5qvhxQfMJzOuc9Ef3SJnFfi3iL%2Fx7y9Y%2FohceoJw46nU%2F6vRM9hCgM9Z%2Bk%2BX1Gf4 +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="冰茶体育",1月10日11:00_NBA常规赛_国王vs勇士 二路_皓篮球 +https://mgev.188766.xyz/play?migutoken=3f8952ab84a2c49c3d18c113714ea064&id=qnsCvaOlkklg2RYyl%2ByLQpf%2Fri%2BE32emuu0IgKG3hrh%2B4ZEc8ckdNcI%2Bo%2FWRlFDlKpl0tkskGOfm4D7CYfh3DOil8uD1Py6qzv34WnIrCTOQe73htZW%2FqzSXZx3Z9S%2BMxXXShhk288OQ4kLZrKOQrYPoQZiq5fVvA5ugYJEPheIXt0dZWlSoesaMx57snkIrXbTZfomUbmopff7EvupnbvJRaMTdcDYp0dq5M2MRkL16I%2B%2FwVM1sFTSD9VDtJ55e%2BWUqBGORE2Kn52ldPvAfm6owIkrY%2BTVvB7FTCqoIICKABVuAAwkJEu5xM6MmOzFS1R6aiDTJX8FE5Ed0PLpozA%3D%3D&name=aavLn%2BGcLJsgXPKchaWrrCQFqlrulPkOV%2FN%2Bs978nSo%2FklFLGnSxQBlRZNm8JyLr0ENNUNByDnch5s25doaUE4aTj3gktRIFzZjOVmQAvb8%3D +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="冰茶体育",1月10日11:00_NBA常规赛_国王vs勇士 英文原音 +https://mgev.188766.xyz/play?migutoken=ce24ac6c469d4b3d3424b76a31c1601d&id=UrIz88MvDMJAqQLinK8mwE6WIS0CubU72cI8R8uisR3HJk9L9lcVmzu868PpQIpcxhh6TYLpxnr5vKwgNbYjA%2B3vedxH1F5hrhv%2FW9FNwMFyPslSCRY7shnRek8ppzIsoxMe20E%2FsGbKCr04Cm4aq%2F9HlduZwPKaZErNidDOy3BUkPz%2BtlQpcYDlIW1ZqKiI9jTA9Dfj%2FRfc5dhRSwjxvlFTBldUz0dsliSXi1SybtOSSTVqMwE5U9zp%2FiEI6GkxNM0HDpMWMzMA8R4pI0BabXDN7U0zdYlsJSbzoqGBA8vpABfQlzY%2BXJYexKtsRH8XCG3PpjxqByuEUD3UJTM%2FYw%3D%3D&name=%2FvNETh1j7lDizsGbm%2B6N7bx7BsUxrxgcas4ffRGCqRQqy5Q7qI%2BQ9imt6GQKPy5LJWL9PVhRIqQBbhIRbml%2BAsVb%2FvOFJd6F9qT%2FLwtpv5s%3D +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="冰茶体育",1月10日11:00_NBA常规赛_火箭vs开拓者 王嘉琦 苏群 炼炼 +https://mgev.188766.xyz/play?migutoken=000bf80a8ceca21d20d896df30312277&id=DdjMZzREqqzEo0Q8CaGb8YPl3fo7FFHlRyZXgjHiwoo1PmcWgDscL09HC86mbBlvSIu2jrwnpCei0jPBPbXSsk941idZZ%2F2w7eOTavY59EemRl3pcJzemvCTRIqWu0BRvtsrTL0AqkBxNzraDQ%2FtHdZbGGDqIrEtw7TflMBnM4sDWqs%2FMbY8Yj9Nn5HaBmFWkX6bQGBcEe3ZACasdcinmRaOiVSnglGmEVMqq8rRJH%2BBRxeqmp6rA0EVAItSsJRaTuZ61Iz%2F%2FxzjgQ0QfN8evIm8FLgWc3Iwol3is%2F76vqMwzhnxvUI7edRG%2Bv82dZQ4%2FvhnD7C8IzKRxECO8WZ1Pg%3D%3D&name=WwqD6mx2vOJ%2BghShkglKvs9OXRZSm%2B%2FC3tw1cJ%2Fxd2QMPWnz%2FDEO7e1%2BW%2BuAzNMHSs%2B4%2Fi261JPN75Dmm78lyOXt8eaY8SBiyLVZyz1D%2BsxmSumzibFa%2BBgYxIdTfe5p +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="冰茶体育",1月10日11:00_NBA常规赛_火箭vs开拓者 二路_狂言Doggy +https://mgev.188766.xyz/play?migutoken=969de398bb839502c798e0d7d4872b08&id=V1P1IvRywhZ5SzWanQLJLvhLjB%2B3ubGagt1ytPMVW8llvAlSa2OCc0XzE2KUfHLjrHdORLKrv6B5de5eY3nxK8m%2BLLEZnRDA7ZMCXnHrjeeA2flTJrjla6VwGQWXvv9xBan9GC5Fy1QMDkoWsDb4WkOaSbgGfGuZaIrSHKYCf12I31OCgWuzG2wBQpobZhwb%2F7yIhePCyS84Rfp%2B7BesNW%2Fg6AknAbSXuVofS2jdwm9qxaI5oWYBXudiE3GH30HMXnasetE1kkOzQVhpkUc6ImBBDf2WOLQjb94mjxMk2oRSuJjX4c1hCce3A8qfyWCSI6l7BVxlgVIZd1QExGqJaA%3D%3D&name=FtbV9lNBMLoCGN4qn4%2BYoYs%2Flg0I8PcoPfxwVLn9HTolH4zQW0Vu1%2BcLZtfyZsymX3AFd10O0iosvM0CRdXJNCIJLat2m9G0aUpkQd8qoz%2B%2FIr9rAuWK6lguxtjsbOHl +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="冰茶体育",1月10日11:00_NBA常规赛_火箭vs开拓者 英文原音 +https://mgev.188766.xyz/play?migutoken=744fc78d34cf0cad5360a9365e91b798&id=W%2F89ldjnVPFmZc41vwhLVjj8TYrMldabYxWacCjVwV%2BzYdN%2F%2FOk9oan9K%2FkwBD82KhuzePL0Gv3PE%2BrArVGpobkv5xTzN%2Bef85Ry4N%2F71ovDcoxtK3LOQ%2By4ynlCF8mSAk%2BZ7HTF8r7cEfc33UM0gSkvHnCj455ix2Af3h0cSJrLOYpGKDjYMwK%2B%2BEK5MvI3%2FP4Tzc5BUGx4i8u7LxpuOem0s5UgnuSal4nxPPaa0I%2B3iBYuUDa4gq3Mh5bneKQPj%2BrMFTs80%2BnwJSH4aXRhhd367NsFOEpXPFOBnpN1826wTjCH6sv%2B%2Fcm1jrFieyiPVjJLPkJkXiisW1zdwTyDsA%3D%3D&name=r3x3H1iUSGKO4kufTgigYYD83W6RnU85J0BoSot3jtypKGCvSsGK4ATCKZTcmKLwMq%2FCxwjiV3jhfoHX09ytAVnhE8Y%2Fpc9zsH0XzCSx9IM%3D +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="冰茶体育",1月10日11:30_NBA常规赛_雄鹿vs湖人 王子星 孙悦 泱泱 +https://mgev.188766.xyz/play?migutoken=bf3ae341a6132810c1d64756ccb60e76&id=CAjf%2FVatb1tekERA8zRn3yNMrkPxD%2Bs9qwmO%2FWj9ocuSlf7D77DZaSTxgXZ0GCj3jX5fta0XNUM2NY3JCRwjVVRCe%2BWhZD%2FFEKNU9vPAiubsLs2GUHk8Q4YC4FxqAYXbubx362QdGtFRvSSpiG3IbhtxTGozpudkfeniaDOPWMciPMvvjiY2h5Q3MJ0qvPXKP1p8MOcYOxPP1OidTJ%2Bi87VP1Fh6tCi4lNXUsmtZ39JZQ2bOoc0XJEDNusLBXg1NlV8XJbqqCEAckWvDF%2BX1a3zmeV5vv0vvXKyRjhwvbFEil%2Ff0KfGEeu%2FFZz28p9MV07cbS0oy8mJ7MOhne5usZQ%3D%3D&name=5JwhZ5hdThEf6LTS9%2B20ph07X5XbT09l0i%2FIZDTQYBOZYiePw4XLpXkjhQkPSWLWF2xqMKWMzQcG648QUmxEXM9K%2FZ%2BUGi7XziLzNeN4IrLzX%2B2FP8DSc1ntlg1%2BhkiE +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="冰茶体育",1月10日11:30_NBA常规赛_雄鹿vs湖人 二路_徐静雨 +https://mgev.188766.xyz/play?migutoken=75f31955fbdb3dd912b85f3f8a5e175a&id=FrDjDcDKNRV9h6nPrUb%2FV%2BW5DT27tKeG9lezR6LfD3DBDJeyseYFWndu9z1VrFuHJ4UO28Sj72ug4LUatM7%2FVFm85iI0QZ4cGijDjMwgVn30Tu6JX0wYXrGd1CHb1rX1IeL9F3WpPzFVsTPPxWcOvgImiUswjf63gGJncIurDFnyixH8wG1HR2aE3ey7LQlmBF19Aft4NTB2M%2F1lYICEbyPBnfZE7cQCeAc5yIKWE2FqsQPbLX69Fq%2BJKJYyjW0kZGn96P3I%2BX2a6gb0kpfxYA4zGAFiKfHI7OEky5749rIwvViUatHQxIv61xfXwuYDAKT94BcAI%2BkXeMxHBaPA4w%3D%3D&name=JymLaiO0M4bAagEuXDgH9XZIlcEaFzP%2BJvTXcheDssPFCZCwMTBU8Pm9REZDQL63la9E8X2BvMcILlERMU20KXxDL%2Fjc6uMEH55xcYsXcXA%3D +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="冰茶体育",1月10日11:30_NBA常规赛_雄鹿vs湖人 英文原音 +https://mgev.188766.xyz/play?migutoken=27d25f958fd9a0cbd724bc0e5f31bc46&id=HgU209Dj1TAFXJnGVhwWRA8Xm1dt9YXOsaxAwQMdzU%2F4UEKmfnmZhpr7avqEMaRf6SK9bcuwohF9Ui2zwvB4kKTlgi%2F9UsNMNhGVcH6NWlqN3yQNyQZMyNcBmnYpz2ujz5FHE1LOXxEhnObAOVzgj%2F%2BFs6yiKdIWFGCgKGRbAv1QzUi4uZHO%2F%2B2AvyJEm50a2EMAqwQxra0wRxuOxhcZClJW%2BvwHX7BYwFow5ao0nIJ9UBbahBKyeOWwGGPzKsPmg7xA3Lq9iuXtnkQ%2BZwMRbO6aZzUFAKPyBQopyio9yAuI6DkM8zoazPeOvXKSIxdZOA2s8gRM9PFSB%2FovxPc7VQ%3D%3D&name=LQJ8VgflC5I%2Fk9r4ilS50W7yyhzh2Gjk0O6phEaoJdP800F0RwAJ%2FUrlMbpTGk8DHRPMJI5IAomcr2QA%2FKYZ1MZJGyn8oUUZ0b2eavG9SXU%3D +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="冰茶体育",1月10日12:30_WTA250奥克兰站半决赛_伊埃拉vs王欣瑜 张文悦 +https://mgev.188766.xyz/play?migutoken=1ffc05f4703849ce6ad30fdb60ae19b1&id=hB5uidd%2BCu73z%2F5vJcihqyhnbKrg9nXx9o9jHIfEVSNekwIn%2BqP0ut6fFARL0eSF3%2BiZ91WXCGQqX9LRr3ViFUkd2D1%2Fn0VtUXhZxSFGgRQygHZ2R5a0Pa5SdqlaZEUfOsfp%2BIa1gFSAm9qcrNc%2FGv7o1nffMk2vNxoce7XdcAxUrQ7hOEGkpGQVljvkd4b35jikwlOSl6T2N1ZPlarvqdqRCiEye1fbsvpChl1mxAitQjwnwjuXBXP46agKqSBKt4%2Bl4a4m7%2BdMNP5%2FJ5CKfbSAWyCHZzfoAXYw%2BAa2wpm4sys0hsE2AFOhSyhtCX8x&name=FHZVQRI73VTuTfOME5mmFZQ9IHZtAMCZNIP0M4rP5vL64aPIDyK27I5gvsuHlwvfAGOCtbOWAqE4RGzZfU8uhxjExiMiv3xZumncHkx2UuZfXFewvtO%2FPspBZDh4IOX%2F +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="冰茶体育",1月10日12:30_WTA250奥克兰站半决赛_伊埃拉vs王欣瑜 英文原音 +https://mgev.188766.xyz/play?migutoken=c81a88b54c008dfac49072e1f7a248a4&id=3X1QlnV%2Bmbczp9eDdrucMSilslN9GowVVpa63Fg02zfbD9C1QQEqm4extySy4uPDlak2PF8LrJV0JACdZuhSsNiBJ6hSNWZpzAPjJHY%2BSZacjumPXLQjQ1C39xDyHEEV7W8pPrnxtOMEuTM6frnNu9OPCfZvOtq0AUnvRuqmjrFwVlB8hnclVJTufQWj48dsRCHHwysYOf%2FOqle%2FmhmWMHj%2FUBefrqn95K9seRMiWH%2BxcG56X3XsgTlTMeiG9%2B2Dx8LOwMC7n8cMjpbHnPSGCOtj2EZpfDwN5sAISIbhMXAP8k8wuqLgZ0XQMyQce%2BOf&name=6FQq6prCVEH%2Fgp0%2BwA%2FPKOQOf0fy6UnMjpXOnNLXX1fr1IVW0zvzAoj95zVgPXglnKzFGY5z1iCc%2F6BAoP2NFbKtwzSsUTmZ99jiohM53pYcub0o%2BtFZJ%2BwUbFRhsPLZ +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="冰茶体育",1月10日12:30_WTA250奥克兰站半决赛_伊埃拉vs王欣瑜 赛场原声 +https://mgev.188766.xyz/play?migutoken=2b670e83597037b50dd2d4a27f2a38fb&id=omo3TEr0FaqcZtueM2hucpFJHqyzC04v1F6aNCAOQchwyMlB51uK1VSKWYhuy%2FOWOXooS97X5zvVpqOcApJ4eIREHp7Rq1dOHD1mcQg9FNuU4KhiOmK5%2FNY8Dq7BN2dumz37wf5KJc0TrQ3MCavM2iq61XqYwH4ZndKZ8%2BPwQj3VMWpTnRQ01GpsV3nx5KJYP1LDHrXfKcVlqraMf14FR6nP%2BwveFNQFSmI7oCBoV3oLXnFkVgWYI57F19%2Bs5jy%2Frqwo0%2Bs0m2dsBhTC2AGgETG6a2NwUOUrbC1aaCtl4OQm6Z6gSOFUEJj1wONiuMK9&name=lS%2BTY2VfpygX538UXpBHFW0vcOBp2GiAefI6y3q9KLUgpggMvRFrDjOF67qbzE9oyatJeC6U%2FmxdeKuzaik5qkolWogw2zxXWxpppqaL0j5bclIUCEz4k2rF6T%2FzTgDF +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="冰茶体育",1月10日13:00_WTA500布里斯班站半决赛_佩古拉vs科斯秋克 邱超 +https://mgev.188766.xyz/play?migutoken=f32610782c0e9c2b9bfe96687c491d7b&id=gvZI%2BhV5UBo1ybr97oLvjD8gdQKY%2Bwr%2BxtQY%2FLl9V0ce8W3179b7p1izUOh%2BpWMMU%2B5y2smBTOYvqnkTpzDmkvUGVvH8AnehrLv0o7EDFikT3m61kTZNuK1HKybLw4jasIoP1w6iMmQNhxTsUqZ82%2Fan1WlUVWyoZVRNBI9BzOEUA50s6veXq%2BoY3Gs4BErpaiaDmalNDnaSlngBmuejsq1mBJhfmwnZQXBIq7Y08Guf51OCqbvzTL9jmkenemHFXMRsDYo0cWUSP0sdE%2BVuTA1DFw8HfpJHmM2kN6Ny5ZBhM4UMx9N7j%2Fifd42idf5K&name=2z97i8Do1NPY%2BYRDNeT5SsK5LzYDrAFnTJqQtEnNNCm6V7hGwyJEI09IcgnVdchwAMwPJSIHPaaijMvktHiao22Crkac2zK0hZFBGYPHI34eXwuDenCT8Ff6khJKrLq7 +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="冰茶体育",1月10日13:00_WTA500布里斯班站半决赛_佩古拉vs科斯秋克 英文原音 +https://mgev.188766.xyz/play?migutoken=7ad7048bef872bd9c497d4d727f2ac2d&id=8JX3Jikjm9HfvkkAz84OBE0kZafNADAMdxae4ARFE2n4CqqavWuO%2Bon2YgUc0ZGzeHNh7cJI32na%2BQtPUP8aT1lHEA%2FQyW2cEGjl7dcWqOE2KD%2BJd6iBjclZnyXAdTBgH8bIaC%2BemwOzKgmG3HP1H68xPE92spx3u8%2BvfTqa0CqI34wKBOC1bRmp0fEhoSgNEP042aMBEo7a9SFKHyxCK86lN249blBFZ0PSNqKg51hJrC7ZULQnDVeahN0DKtL%2Ba8X%2F%2Bj7o8%2F4f8hr8hx0qHQA2R0dvequrk8SllNnr4xNVTpQtesB%2FnaDVU6GM4DBg&name=wp8EtDEhbWfPsS7mKNQf%2BY3QaCb8tA7oAjAO8LLU3VYFwJBG1yPCbgq%2FYKLd18k0Ya2WIJLFG2WbDzn5SgeGeg2qagcdK0CxE4bDeQtdEw%2F6%2FEHHr5auFPAT6KWlgvsrGHPLsbzK16nyTxKZ3hV1Vw%3D%3D +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="冰茶体育",1月10日13:00_WTA500布里斯班站半决赛_佩古拉vs科斯秋克 赛场原声 +https://mgev.188766.xyz/play?migutoken=97f07ccb5109a1050f751294ee192125&id=xxfjvrznf4Sw0HI1U00hyn562QWOQlGne%2F%2B2CRJqJuqjsSsp09UeU%2BF7wVGvGzmt4r3X4zXG7HJhFxo2KPfCLfJrT%2Bqz2Y7aMB7bVxISi8sSOMVdHLSdEEuRjh%2BGYuLgBgN8872RpEDYMrNnuBHWyj3eVA9l1xNiII5YxpihRTgWnQ2G%2BJIFPR895aCwNZURoYMSWCPCrK%2F4SkN9BILVedeofQDFIadGpf9WUy784EZWh4BkCdDJZvSmo9Mx9NSiMlVkwD0bUKUW5TMNYekevcRU6NdbeqZQCVvmJ8b4fOliPFBtepN1FQK67UEjmAGD&name=gQ0dwSb2LbAgnnxHHAtJ2B%2BIaQwL3nRD%2Fp1oVMK1j2kBiluY%2Bsc5D8WNlPlDrFgYo%2BrZ8xpKwaU3Yu9aekUp3JeBk7bl3NlC0JwH27r3wrxdBJX85%2Bd%2BWSHR%2BvEb%2B0Sjn8BxJPJh0vBPgbtfFAVSZw%3D%3D +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="冰茶体育",1月10日14:00_NBA经典赛_NBA常规赛精彩回顾:快船vs篮网 +https://mgev.188766.xyz/play?migutoken=9b99e531fc92f575385ca8da41af414e&id=UdaXWNgh7SRP8Jjk9wWSofBYvdlPuYOgoynqWM%2B%2FbeUxfXFkK0UEgSBv4UBJRJ5dR2cCkIFam%2FsIxtTXrR4OLI2mzugE%2FgV%2Fm0n2oL2kHoTffpw%2BMhRE2abALPeBhI1AuwobiqKJTvdG5vR%2FEyGwDQLKATJXmIMm1HZy1inIdCZDsyiK%2F5pP82jyTdC7cFwkM4zWYoAmypChgUGNN8jlQ%2BcD4Da7c2VVi2Wg8ELbT80wpK1bDqdzwhNmgG3XQMQIHNCuZHLoVbBXPu2kVHp3OHAQBejXHxXFKDCGyIpaciqvxRwrfMZhNywTj4vythmB&name=OIhbBsNCrQdTcKGCLXtARF%2BEZUhOH2alvdOF9WMj5iAFF4eudoFaDnl7KZqYhPsc%2B7tr20qNDTArQ%2FCW8tQhq5Bl7p9DUzviWjyCFi4sjtP9pnkb3Hfj80jPXWNI9WiZ +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="冰茶体育",1月10日14:30_WTA250奥克兰站半决赛_斯维托丽娜vs约维奇 +https://mgev.188766.xyz/play?migutoken=0ffb30a595e3dafc5b8ce461c0fd0cf0&id=7UkpnpDz2pKDg1kQ5FG9aWSFnWEsuUd3FeL4vXPgc%2Fav6vdnhjXKfLp%2B2fmZgGGFLki2yzthRVzsgc0FC9aJX2mCLKGCSdkzq9H0nbMI6OgEpwPWsiOKkquNjJwpo0ChodLDya2G8IOXWtcZZxJwpjvx3BEEehv2uj%2F8kskiwMtK8xVkh%2Fk%2FSG6liEZPjXnfXcN9HYArnQlh01CJW1NCHiAOxdvdbAhenc0imJ6xDXzti8yt3RnTsPnnCkzBFlBkV%2FJs20Inq69WAwVdNHhu2kmU5EctjfxN%2FSJDHAthQ1wfgu3xjRaxead7cs3KRppG&name=50DYl%2F%2B73oLlvPFTWIitSB%2FJ6zRoWpJtF7N1%2B7rHnIah6AyNpp5P3pQyLcAoJ3I79MCHVnv24ZWm%2F%2BUlKSr%2FAWbQQyZ8PC87XoyBetp6Dhlg%2FT0E%2BQjWtajmABzhtscd +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="冰茶体育",1月10日14:30_WTA250奥克兰站半决赛_斯维托丽娜vs约维奇 赛场原声 +https://mgev.188766.xyz/play?migutoken=a56206acf68b1ab8bf2bb15eb1c6389e&id=JtBnU4lksf3tCEOHdL6KuiwnLshUHuLldGlq7JwkNCYe30N0jMJ2ydtT95q0Hkw6youc3yQVO3Wiy2a%2F9TQGUhCMq8Nlg8JE%2B3n%2B%2BfYUqiKMyLFyac7%2FZVqXg16Zam7YVLXNbcSbTJDHcm7uRbVLJ7mvMlVCbB8F8Ufc5%2F4b40WMfisxcTnIMT8VeXVID8l4QhpumNi%2BYPaljg0vwosSvyCAnRgJcrbHQTkMIeOQbjh1XI11RF%2ByBW1cOC4sOgNeGzsE9Z4V22z6%2FZJGYU6qxKOedvU3ma3Tbk%2BxZmqxINbb1sScp090r07vscBRejle&name=k%2Bd5VdOYssY3siWe5oIcb5nDaaJGB%2BBi9BHPwcjnUYy%2BSrmPfS2lfX1qwuDEo%2BidnLTxZzDHGcG8cfiJNzcYnClIZFLPf71WgaXu1D%2BkPDTpZIwy%2FQAbFfHdzkQFKfJowt1ioMMkYREBKkDCgMTWUA%3D%3D +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="冰茶体育",1月10日15:30_女排超联赛A级双循环赛_河南双汇vs江苏中天钢铁 +https://mgev.188766.xyz/play?migutoken=ba21a2ae587976d0e67fad7fa7fb9c91&id=8%2FHE3cLbOOtsKbzLkWYjwWPN3FsJF5pFa5L6OsEClNAuAHEMGSAUgIgWfHhFYu72QsWssaIV5dlj1Qdl3xW%2FOSbv2wH2OYLMkbNUoxoOsW2w8CjsgAfMz8lRZNQfJqlHJUCqLEZdxRD4k7%2Fi3fw%2BdC8xtd1vKj5McxOMTyCyyr63k5G%2FpLcjpgPmaXhl19f7S%2FsjXmQtk5eUcaCzLmlsvrTMIcBfTOm%2FJi4ur26wHKy%2FDgm6PzIUzf%2BMgOIo0P%2BqFXIum2H1IW9sf%2FiOcZv5JGXqD4ShZbDrV9l3PB%2BV1BSzRODO%2BFQrFzcrrBVhhlXn&name=yPKwi79%2BQIQI17gakg0CfhmzsTqMCBtJLITHr%2FPVBFVgSuzvwQG41QQScKOsNLdtO2xPJOZ%2FO1Xz%2FcvOwTdeO%2F7yPJuBnHdZBxSCAMeVI7JMMGrr9E9CabtKR9CvVVwO +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="冰茶体育",1月10日16:00_NBA经典赛_NBA常规赛精彩回顾:快船vs篮网 +https://mgev.188766.xyz/play?migutoken=88784f4a0b9c77882644ec0e04533ec3&id=u6cItQ3WDb5lFu%2BtMIX%2FZD7DiPxuMGOinjxE8WVmqN16LfBne4JD7jgcezktcyTqo1zKuChAPI0b3kK9zWmwuhFL3Ud6EKp5OJswMMPJOq5lVgk9nfX0sErA%2BbN2jM1rTvOpGCLdRvHN%2BNKAAY%2FWN1ZViyCl8IRwKYWprbBHN4GwTK5s94DkjsiQkz%2BbjDao1heaLCZU7OVZ%2FhtDo%2FFCT8Zwfe4ksMYKViH8wcJYgGlhtLPQnE7J7tMya6lF%2BBjQgHmC1pCkiaN7BeZeQtKOyGuWUfqaXZdRphOoNvFI7c5x0DUilWIJ62muBFfBI%2Fsz&name=Qq8UvKu7KO%2FW984c7QfkGiZzxLQ09y0J8aasagvFQ1HhpC5wh%2BkuaGmhqGm4BwdsGtVCH906XP3vDnNZ6HrErFPIabgxZZ7ytvgKfFDo%2BUck%2BuUZdJHb4bSCUONBTe%2BO +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="冰茶体育",1月10日16:30_女排超联赛A级双循环赛_上海光明优倍vs安溪铁观音 +https://mgev.188766.xyz/play?migutoken=fec3a68459a888bc190994ca147b53be&id=FDMeUWBrCXTaU3bL97EQjPenl1IJZdJQShNlo895Z9UTdVXcjsdd%2Fp8L%2F9cAsJ3aqSljN7DopYMZrMa5I27vtbMzqfUWnzpFspqOsam81yLOWxHW3iApQoyu72FkvMbM7wgn93IMXPujCUOpkZQKREqZ8dHEmYLZXnIfDCVOlakfaso5vCZkPoKXck2j1zThENCEw9UuedKx5eVl8bIuyemXXSpEQBYsS8DQONa2GNPY3dz5kqzd5Wew53L48smRsqxpNMgS%2FfP05hSi%2BFKbJ2ZruPL0PnoaW643Dsg3RbXs8CgRNHpv%2BMYHIFAAzvG1&name=zsYOboowq%2FetjSuKVdKJGd2Pq8f6k4NTSD0twIs%2Fbc6e1L7AR4JLVYJ0sf39qE%2BaLfC5nLFyJatN7hRDF5YiuDMjP1OWJEhf31HzRXtJEpa%2BtS%2FBsogJwFNcWJtr%2F5CQf5xWfEej%2BD6kTM%2Bkr%2BNKWw%3D%3D +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="冰茶体育",1月10日16:30_女排超联赛B级双循环赛_25_26赛季女排超级联赛常规赛B级:云南vs广东 +https://mgev.188766.xyz/play?migutoken=495695aeb8bb03d528a1c9873f2cb3e4&id=eoOdEYxe0fQyPWnfXKClF56rKZIxwJJJ%2FEqsw6YswiZdt5ZCWbG%2B%2FyzCIipqoHDRVvfTpUgFFYH6kNaylNwsEn2KKgSDEPr8Ge6EQTrlO9hX60Xth7BmGfb40BoLYABV50J2zc2n3hkGIT4ZsoEv5%2Fgs2roeJFY7EA%2FilF817FxrkDb0DVT8rTAdeMyQfHWNqu8fQOi40ev81tTOmI3Z5wiwr6KvodPvXOGjJDWfXc%2FIoQtmRQJPqqO5k%2Bty2QSq%2Bp2P7BWU7mIAoNMXi0BXXe1IrxGqznRsILz1RVz%2BasPubgWuAA9fTIS%2FjLqeBxuo&name=84vNLWwLKzRAhv5yEy3TVZmL9F4LUudVYg3CXRRyc6kApyADVinQo19rGLa3bFQP%2Bhxp4sArJn6ffmpMe0AU4FbVqhpY%2BQ%2F0VqQMgtN48O%2BGTgzXBP7T9yrKTxPNQNamtt0T01OWgI%2BkywWtnb%2BWqVZQ2MqpCU6arbJgnSb50LA%3D +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="冰茶体育",1月10日18:00_NBA经典赛_NBA常规赛精彩回顾:火箭vs开拓者 +https://mgev.188766.xyz/play?migutoken=b580428f07b3442a76917cc9d799af97&id=KtlAOk9HSbh2Rc9cjc1xBX2FFMBARFtLL1VWaVtGIbcyNl26EdBL72QO3DhWBvUin73fbpOg3DB3lEihpfsHMNXG0QTD5igi%2BJYGebrLyf%2BHHPFe9vuC7D97axsQTzc%2FTUsEbLfWxL2d44ZAwrPWbAsX0ihWwu9rDlkk3ysGp9QQtRnghGjJT4aBbWYRTH%2BQkU9gyIOl%2BFK1xfVuvZDjohCsp0K35sb852wZhrSoTC9heFsEQ8cUUPOPpwPzRYVLuaWlQ8B774jBMXp7jUqyDpKZ0tzf28EOiTEiOGiZbCsEju0M%2F%2BpbM0ENxPrskhBr&name=6uK6Kg6Eot%2Bfv2cZ0VIFUOpe2lqi05IJeD5y1%2FlSytPIJmbhJVCVBQMk63qo2nz%2FBJiyTaVH5PRtKQmIpILgvn1lCgThH0r6HbTitp1pG0k7fP8hvruaIOaGrWNsfGIq +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="冰茶体育",1月10日19:00_女排超联赛A级双循环赛_山东日照钢铁vs辽宁东港草莓 +https://mgev.188766.xyz/play?migutoken=a81c57e1641ceb0e709bcdab6187a4da&id=AULFW2UpHDN7dcJY7VZONnSIjuvAQDXjPGnJK5AGqBqWzK4LwmTmsqD9p63Tbz7u9LWa3hGsTWYcd8Kh6JwM7lKR%2BXzCyu%2BZYhHwU%2BsZ7SqT978g%2ByrPHdLIvqggDedPtiiyJPzAo7f7Ose7JYA%2Ba0IE4oo9ICwpSDklIj7O9EUX2hDZ3GvNC%2BhRFSv4azW4m2gtbfNUarI2BJ8K8fMlPC9z1CYJGEj7zYnkRPSE%2BqeiE2p%2BUr7e5rUeMw8ugONDbFjzfj%2FNK%2BEruUu%2BCcYR60k0q0BGyOV%2BLRhcNnfDDQhYXSGtAMLtT8UbLyrrdr8V&name=g%2FS5A%2BFUzPBmSP1UZOod3EDhwSktS69awAi5PxsD2w0%2FspKw2GS0SX4uG6cNh4kDAFWlH1p9GU4IotKQaXYh9FGJx73jYiLCqmekrgeJf2vQeLKZEn3HszR%2F0%2FyP1%2FkpHmkGU%2F1sRuyliBC6fikJdA%3D%3D +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="冰茶体育",1月10日19:00_女排超联赛B级双循环赛_25_26赛季女排超级联赛常规赛B级:河北vs江西 +https://mgev.188766.xyz/play?migutoken=3d7087a40b321234ba1a3f9ed7382380&id=NeTAGxRXxD%2BaToWgUvDyZ1v7N9lO%2BBK77hWrpTmxmuwI633k80MYbCK3LTxgrv6mUSV5Y%2BguchZOZisAbEocQez12Jj8LeceL9SzMsrpjUjsTgky%2BhM2ah3yzP%2FH%2BuZZ9sMpfawMTaGNJbADQ9HQZe2VA8Y37ZClDn760MDXcj7eNG%2B37R%2FYRpSQq4zxxR7FurvJxsTlwmXPYswdiNkUSCsn6b9sVNdO%2BareQ1kdKYaYLYXIS5ubJGD1yIA7SHltXVniAZElCINxma557GPWI1QjntZJT6GMWfC9cAiKyHd07p8788fVbUpSkuv2yCPJ&name=NcP8XEq0v8ap8WWT29zhrVbRDDa1Z%2BfMU%2FoSNZmrz5JgU%2FXM%2Bz1XOU0Wxep9cOJCOrTlla%2FLqlWVT6kIcK3ubjnzutI0K1Jg%2B2YXGOCrMBE07A1It%2FqgJqt14kpdL6XRSzI80SGTBqOhmSCi6m%2BT4F77Hnbnp4CQ2Gyg6Z2yP7k%3D +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="冰茶体育",1月10日19:00_女排超联赛B级双循环赛_25_26赛季女排超级联赛常规赛B级:浙江vs四川 +https://mgev.188766.xyz/play?migutoken=72c88964d46bd99c704aae94a47c7ced&id=FR2TxglvXxgexN7aC3zDVEi4YZgc0PTyrHa0vi1o%2BRV4Ft4ZTxb4ZR8eAz85r6bW02QGHYPrHCRpFnof10B8ze4rpyw%2BrQuqBmrV8J%2F3ZDai%2Fsy09SlL7GwdbcCv4XyRd23uWbheN6QdcqFXjGxJIYgKOWlw80mLczJV1Oh7A7p%2FMYOrZqtDs8dBb5zgqVevNn2DfFujxz%2FwsXu%2Br2AbI7zIueJF0Op9XoykrrNAk4NVN9VSpGsINy4gfFaWwzQcdUBdkS9HjlFJ8kPsB5pIXPsEsjA2N75llVzoXXp5FWsFTAhg66Ir1LYbf9nK7Js2&name=lwCkiiIzjYpkgzbgS7DoMgjVPwHeqPS1a7HxC%2FgnAmpyJ147HhcPPJo12szotOZ3u8QMfZDrTR7%2FMjzW1FHTmQdKWd1ZByLZWJHLad8qj2kBT0UwuRnGGrpFKFwP6TATlYcBHbyHuWpVHYv6C0l2nVIJhZ%2BRAY6YwdkX1kZ0814%3D +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="冰茶体育",1月10日19:30_NBL常规赛第8轮_湖北文旅vs江西鲸裕清酒 +https://mgev.188766.xyz/play?migutoken=79fff29a1a7feacaffd48db06a0c2695&id=Ym3xHdMJv4SaEe7VIT8qm%2BxN%2Fm4TRTok3Zgt809D14albXkkBW8Swr12BXzGOFhJcjKksFpIaUFUk9zqmCxQ9v%2B7XdaIASUBilaJ7s8ge%2FnU0xoKiQaxZgT6Jk6kwiuE5nKx3T0ybGQ7pDCs6C6djNcezi4dbxG1OW%2FKloPxPGdivsTJZTKAcAuv%2BCmTFJtHtrcz6ow3%2F5J6dP5kPaDwbDpjtAXQoiHNSHK3TeKw02wH5%2BcKWXSx257aMNIo6JX0Sac7kCM%2Fm%2BSsEigDw4q%2BhXsGFbHePxGlWfbiovl1wIx0mi3RslAn2lSqJF9ydXfK&name=iynvyOwreUScXKSO8eFTHk4Bgp96kemcdFz%2F%2Bi7PpJZE4TVL2q50brK3RIae9Oqrbmb2%2FaU3f96tXRRYyElvi93NaADBFLtZGaEUHnB2eaEnbPUo71%2F36byvnNhG1PJ%2B +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="冰茶体育",1月10日20:00_NBA经典赛_NBA常规赛精彩回顾:火箭vs开拓者 +https://mgev.188766.xyz/play?migutoken=7db460d212dab041890ff9e30fa7bd12&id=tXSUBprZcnS2uBL9hDMSrYpo0YrFmhMsw8b%2F7bJIPZ1K7ZZjaVvN%2BGmEoGIpIJ9%2F8nYBBjGwL%2FSVlTAJwvnnStbi1P9QKs44rFNHTCXbPGE3Y%2Bmpa%2Bdp4F3QiuII88NqXdlfoSYwPA0iUI%2BFUyoBRpMReMQXLa0JVsq0VBNakXHCXuxa%2BZYkQea2mZneHHfT2k9IYlkhORogkUZ5opua33QP%2Frq%2FSG0SWRJFeqt%2BM%2BEBiD2FEU2600zj0yOeNaudBVi%2BwcduwF8yQRkdcFz9LvEpwjLg8kvVofvKm7GXM1I0Bc57dYWrqTlZbHuFCXLl&name=DcMVV1boc8ACpthIw3KRcgGMeDcYwe9E%2FadUMv4frbjRqOiy%2BimA1yk6SERfTG3CBCiFIs31JYaFpMG1zG8KQyU%2FVux7qGsjhQO7jf3CFXbV5AyI%2BfuLDdBbxKxr79UK +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="冰茶体育",1月10日21:30_赛车_FE电动方程式世界锦标赛墨西哥城站练习赛2 +https://mgev.188766.xyz/play?migutoken=e007f4e510b8ff32cccfcb798a3b4185&id=wbqXFKjVQnFzmV8ZzIg4x003bkrMpuqWkVXro3fJM%2FkBFnV4QEi%2BgdktVdUiZ3bftpQorRla4EcEPeccPqf60YrdcZQ28VKD2KVSDoQ9UDYlUeqvQWnuiCVbSGb391fgtN%2BsB2T%2FmD7ylflDByfcpv0fAKyRi1N8nMxlY2bWP47k1CiOheTYpFuNkeod7iuYMrHqkZtG4WvZgGWSZUqCP5%2Bjl9mG5FSa%2Fb4mnO7AUNU%2FXQ%2FONJzUP4wdpSrhDmNHKcpuKPIMVYxpEMEuFvUDhoXAET7wvtZHvAATMXYlyn%2FfCvUJXVX90N59PDHq9pqz&name=Lx1O%2BVvrZgzajxb033RGoY0L5d23NojdKxTYAdUW7jswhdf0MhTNxqUMaZvSp4CRnsaWfZf6UA1qGCBqp7XPRh4tZaPQJV%2FCpCefhgXGi9kvm7Lur30idAE6uMYXA4Dh +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="冰茶体育",1月10日23:40_赛车_FE电动方程式世界锦标赛墨西哥城站排位赛 +https://mgev.188766.xyz/play?migutoken=f717930ea8d617db548c1a6c052c660c&id=dUgEXBp0mWdXXqBSvwfFrMe3JaSiTxMtmbSO75rFP%2BdLDg7L0QU2w%2B%2FyFDighm2GuKmN4e%2FYCjydyW0Ym9TAsY6Pv9R9m2F%2FN7%2Bd2XlJANxQ9QkFoFbWcQJBIqRmp%2F6k2aQCBZq%2FGtJASBvWlfNKO96s9AX5NvTgpeAOo2KVtslJl%2BaJ3yAqo3xVIVp%2FMBJQlTJZC3W81myxKfdrLqN8MjhAntXj1Cke2bf44gdS85pGG5pD11EVV22T%2F0RZBKSqsUG7XeXHdAftGQ5qowq4wnqhwU5QAAuX4hVJUiPoPrbJlCgSQplNC1bKRs6krpw1&name=bBm9fvCLd9fpZXvKpGfmkz5uLL9icKbAM330q6z4E3MYba3YzDMDq6vLcCx2%2F7YMvEq4j9lUHtQL0VL6lIsHQGTkmuKUPz%2BPf%2BjAlRbxFmIV3x%2FHYzPUGorzW8qonpPp +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/爱奇艺体育.png" group-title="体育回看",1月9日21:55U23亚洲杯_吉尔吉斯斯坦U23vs越南U23 +https://mgev.188766.xyz/play?migutoken=bf27dd2db49d1a38c8ab8491b9921e08&id=ellLPSYbVcu38BlaSBnabm7zXcrzg%2F5IUMZbJb0IwOMvbhB%2FXTDUckMNnRkral0vSnRge8cA192xYEzIq4gaH0vowoROKX6%2B%2F1ELMTiojL9%2BWpq4Kxb4s30UgtKAlhnf0cTVh3UnwQHj6H6s%2Bw%2BlLONlVCuAqvt3F8bWRbNfPHbk89wxL3QsogqpZtZwU%2FJRP%2F%2FZ0aB6KUqRkDVv0ezoQiH0ywaXO2R8euhbTJTQpv%2B6gjRHxLztlHY7Z2%2BhjRbRRfVMNDwJeYFmaaJoCcaOWU3Qa4sGHu8%2Fc03hLsutMEiaUEG3tMU6pW%2BjhH8%2FplRBcV3wNlYPb12iSvTugzdf17EESDmRm751I%2BbUOf6bBEfs4jHnP9XzrRwDV5tO11FCPpqUDI6XFjKUHqHMdKo54A%3D%3D&name=ekOnoPFcqG8V5wcUVlMVNDjeowgL6W5vCtUKZlW2JkeVQpDgd1f1pI5aBN6uVDiE8lEE4Xblyc%2FonZRJZRrdjm%2FKJ01%2BT1UUqM8vTtbnFiU%3D +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="体育回看",1月9日19:30_NBL常规赛第8轮_盐南苏科雄狮vs长沙勇胜 +https://mgev.188766.xyz/play?migutoken=e364facbd17dcbb828972e28a18dcb3e&id=vaSUCUxXQY07UuUD4W3Dh28k1a94ypEYlu0OHrgv0ZxlL3xwSg4X09Qp%2FhDNxOB36Ab%2FFEfGtutwi9uvz8j1oxsH7eJY1h20HKYbErhmSczat%2BhPpe1CILmWWQ2zyYCgL57E%2FM9FC9Ii%2FgsIlfYHaamD1v4%2BhUCmKBj4pPsbjWKLnZ5KwnDZvrVYo0sckboIUa1b3lht64J7PZLgG%2F%2F1GrnKhFbsMy1yeTn%2FCQ2e4RKYLTXnFPUg4W7r6Ch4najDq3GRfSYRQ7WH0qJDkSXQYzwNqYfOT2A0WGi6rohLxTU%3D&name=lTN1eNICyZjvYIn1WtXFpnmqJ%2BlMxcAO7OYv5tcM70WL8RasdZ%2F6obQwF9kGuca8wXb4qZQ3wcr1qeT8S3zChg1O40F%2BfwcQ%2BMvamTZis70q9KdbpSC2DFVDVtAXWZhg +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="体育回看",1月9日16:35_WTA500布里斯班站1/4决赛_米拉·安德列娃vs科斯秋克 +https://mgev.188766.xyz/play?migutoken=ceb3da86dead0cfe66a6a87639a1edbc&id=%2F70O%2BUL%2FBO9q%2FKn6Z9rbO0ml2qKL8QGPGx5p7FttI9Co27e%2FiHfBmGPQCzgQOQTOOQW3Z%2BbRP%2B3gIaADMV2jntw50N3htvlO80PSNUx260cKgOLjdKAJOeCRqfTTN1duJuyu%2BdCfo6me5%2BU12LFlk1rCOrbEpbhl4FfaafHtXkmnX6HdmJVSOUCW6Nk1pKuo%2B3tFmmw2sqraNajeesTssk5%2FF7JT%2FtBIbJHdGtiXX7dtgidh%2BH7a%2BCwp8qS8o613fp8MhWdAwyjSTKXoy4d%2Fpb9BGbXjYy%2F7Vlvt4P%2Frjw4%3D&name=V6ozJB6Wc0ohbHnJvJOtN7qDPufgFdNfiTU4purGpfZDxMDEUWMmQNQt6mOhmGa9ZNfcFOHYJDQvnS3nsbTN6EgXjLTRZIiPtVRU3zsO3wDTBsq74vj%2BjkOcRl39pYuV +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/爱奇艺体育.png" group-title="体育回看",1月9日14:30联合杯_2026年联合杯·第8日:澳大利亚vs波兰 +https://mgev.188766.xyz/play?migutoken=7f3fc43d63d3a2c537098ebe21666f91&id=F0CzBLtuUWrF9ZTVHQwb9URgJoO5c5uoicGzXl%2F%2F%2B0E6Rbora%2BZHXkBLvlIgg9LdKdEtz35zirT4yNLWGciT9U0h9pE%2B2f%2B9G5wnUoTEsGidbXDEwVaOcV6DJC7fsndJ%2BGggmRrE3W9t%2FeQJNugGLpXS72iVTaVbQHxH1ug%2F9znr5aMX7Phif98lFFt%2BCRqfpjA27f68ADfrR8HyHDbjuzpy5DeZ8AdgC7dpIEJpOb%2BmXu4XR31BdoLgL8s1DIa2I4%2BxPr7nBR9IAgaI2q8BkkGyHCFSkxe3DcVHm1LnHR7j6YV%2B3WRfQh%2Fl3LUWrJzf7zxS5PLKZcpEuKnT7MnN5LFi%2F6Ok6FD8jH%2FlrQ84hDXfwc%2BkEmicO7ldVm4ip1Yyd0z8%2FJNLD08sASFKxbEjwg%3D%3D&name=vjbMB9IzW9LihBjeaSNDTqCgC53S3DYWdQiPzizedVycRRxg%2Fuoaezr9bw6PLbbfvM4To%2F0rcEomerrXk%2BNgoSZesDdOB6QHZ%2FAf5H3sE%2BwLAYTqPY3KmpXB2K3aazBT +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="体育回看",1月9日13:10_WTA250奥克兰站1/4决赛_斯维托丽娜vs卡塔尔 +https://mgev.188766.xyz/play?migutoken=465245955228de61058204fff1412427&id=ewjBd%2FGqhoZRW8KfuflTUTJaTf4OZWF%2F4RCiQAbde5OSBsPazII5wSB1lYgS0zf1pbjWkgiCjQT3IWUZ04PheaM4r%2BlnmLx58J9xNQ%2FxJV%2B0%2FQyWYgWwEVrN5y8qLvUtgoqw6Alhiuelxj1U2kUfFJdBnVOcc8OgNeAJ6JMfDtIdGuarvtrlbo1BlvM6ipmcJPhlUlShApDv0lNsO9s0x03UfDX4nssKA3ayuyOgb7DoQlyuiCLmYPYXw4ICim1ieNfBmVmkts5DjlA55yaohEjyZGDmIDjbz60zsUru9jM%3D&name=TQ%2FOE23YtuHv7xAPIT9ug1bQUv0VpTs5Fpbh%2F3Sclo9gxCG0GwaEa4CFURw0fomfYsK%2FzL3pOZpd0Q9scnjgzRJjnITLFrvltMs6W565tlRVOZnxh0%2Fl1K1cfce28Spm +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="体育回看",1月9日13:05_WTA500布里斯班站1/4决赛_萨姆索诺娃vs佩古拉 +https://mgev.188766.xyz/play?migutoken=0d820a62e1dfe494f32af6982817216f&id=fgnMdr%2FiGpmSoFcL%2FP7FzVvpQ9wcn4wEsgBv3mfEyVPhaUrZTzHgXwM9gWx7qu0RsflIkPvFLfxofrGDLsBuJrmSM5Rpbr2PrtbjAw%2BH1z2bOdyGOit%2BsID1OSt6gTn6empnMmk2h1LXX8hla7Pxvf9ecsOfR9i5j2ukCkyku2SY6gMG%2FEZH0hCA%2F3KeBA5py1M%2BKu6mzFO53rFfEDimTOaIN%2F7NV7gJAxnH1khVlZRuRyZq%2Bhy1HJ20ULWhF9Yo9hcr8%2FzE61MC1xMeicJt6TdIy2EXELhbO7dQowH1eBY%3D&name=VRcmQXSqBywTvnRiFHZKSGUeu3LOYayl0tCYoZPO2up1o44ZNJodfcZJrkMUj8LvYi3BO9qCCrwbsfqjnk7dfrZfpbKelNzcVXqtdH8OWHlj%2FWs1fQyRcENkxWbOwGmI +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="体育回看",1月9日11:35_WTA500布里斯班站1/4决赛_萨巴伦卡vs凯斯 +https://mgev.188766.xyz/play?migutoken=187c1656e9da0b24f36300cfcd8d2dba&id=V8swJac713nOwEUzsRxvm4HOvOSUdYcsU93pjuFNyenJO1gbEVtJCf37hm5wImib3KD%2BzC3EoSPcOrLgFnqKBLH3RAG2TnfE%2BNnLGtEXVII2iEYsgF6kM%2BvM3TlrA%2BvCIiAiu1Bcgw8qowb%2F9J5iys7ibmMzgeMDZljS1liYgfq9OlBbJH0%2FF6v06LkSlMgmpdzouNWqm1Pf8c1P78MqEhOJPO53dBhXZt%2FC3bfvy5y90l87xmuz5NBTL%2FHimoj2PDSh1SrjnRUqKjUTbOYpfkMOjYjgHhTZR9HLK2zPLdg%3D&name=DjWvUMQ1rizrziOG4R6iyY9enO6Dhy5lGpf%2BYctg7RG9W6m1KeaFI824MMFRTGCDzScr3F%2BaDeWn3ZRTOeF9VpMifiamlSLDCYuMzZKPznUQX08yUzX0nIuB%2FIjmaEGY +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="体育回看",1月9日10:35_WTA250奥克兰站1/4决赛_约维奇vs科斯图拉斯 +https://mgev.188766.xyz/play?migutoken=2badb25fb747ccc94c7dbf9f34ddd794&id=%2BGW2k%2F1QretGWcmWQFD2Ud%2B579dXLmBNZVtxbUkL1LybhepLXCLZIpBIWXpzRqwDB1brkLmBVmwIGFOZBsqIbihsOvkyWaDRzg%2FAK%2FpXyLgwOu1hSsrjGzz9uVonknTl4aGv%2FZtbxnCKULwZpYCrHYRjEBB5iezXHshnKFyj1r6XI61p6rUhpqrffL%2FueEj%2Bka5Pn2FmdLyzTQn6XVL8azn8r4IjQSb99XoA3qm1al6m6PY79%2FaeVcSG5TSDKTO%2BxowzhRRVjW7v7tfLIol21o1BkB0upOkKimqCh%2Bw7l%2BM%3D&name=n1kH5UJqQEbZlcOQLlCYz2GjqjNksO%2BcmrpTrXAINNbzEbMzvCdcyPmOJgeZdzRYbP6ZxP5aj8TnJtNeZvxa4UIJDr3v%2FVKADogD0f4C7QCgfeuKuvqU6xUfIx%2BpwjoU +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="体育回看",1月9日10:00_NBA常规赛_独行侠vs爵士 孔祥宇 +https://mgev.188766.xyz/play?migutoken=2d817f3b39cc1e335effac580a5578a1&id=n%2FqVdN78FMbWMlBbqJkQq2jI7Hz6zmBW3G1YeRmjkxqoe%2BrSOxtLPse7Z8IvmJYrCIvYFAQI5vm8IQb%2BwG4Z5sl7mMQWT5Agwst38b%2B81B7WkHJDzOppKkEdKMjqRO2SEG7NzFMPfItTEtFK9nfx5d%2BozrjeOZpkqM66PdMuzw2SHoKQM%2BP1%2FclubGEPe8tOAA6XzN2wXJ07KgJe7C7ePH4BRtN7XxAObMQr2e4%2B%2B4HCnMikCVoiKlqZjyEz3fJGHET%2BOK2LZ6s1HWF%2F7%2Fd6Ryh8RHIiOUpkOg2BWoRSphc%3D&name=M17FUZl2xw85CsJdlHmXkhg7uQQWRFVv9S1odPKi6LcYgbQ%2FmRKmALHu0oo2NsJMU0mx5GbpFcgwONHHKOVbYVVIHUkSZEYUWrvrhscATbQ%3D +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="体育回看",1月9日10:00_NBA常规赛_独行侠vs爵士 英文原音 +https://mgev.188766.xyz/play?migutoken=0724a86f2d0c899bb813e943ad16b58b&id=favRujk09fN1mclm7XQBT9WOEdevN1jOxP1Mtm4c2lGyRrcONt5E1eDsDv8xm%2Fdbx62fwxarRyIe1a90FCqPRU65vMoZtcRutTqBD4h53Skktv%2F5IcVVEVPPSPYbKcRLS70SHF2Cg1RWQFwzwAsl6oaq%2Fe%2B5mL%2BoTPxUKTrY9u%2FrWc0S3XjWdD%2FsH6j7v1lRxoK4cfLlIv5vW1dZaXOENvQnW2JbmOYa4jasoIDBaRn91aMUASvQvXOm7jRVLtCrgHMHWFWtHidkeoLB4OoddI3OohPaEvh9mz0LQx5mKn0%3D&name=lb6ggI2w4X7x0IlbT1VZ1ivntdT1lgxGsFSTuAR9MYy5hS1MfAR5vt7fmj8X%2Frshw%2BnHd5AdqFgtfDgo875fEbzaTMekFxDuXOJrQ7pYFuM%3D +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="体育回看",1月9日09:10_WTA500布里斯班站1/4决赛_莱巴金娜vs穆霍娃 +https://mgev.188766.xyz/play?migutoken=1f13ae587abdb720675849c072e2f5e0&id=niInZOjIg6q1DS5o6n1%2BygtJsw8muBiwyohjyr7vGJJmCvQt0g%2BUv9lQwmGqYE3zm0QufdTgoegFvoMUjsKH2RNIibM8rhkdExUfZeJFK%2BBbzIj5jO73XnZAsn3R%2FnlAaV81qCkhd90nyZy1hoTeHyFrLAuzmg2Ycz3AyFy5l%2BrggvMHg7cpWBGKuC1mSvW9QNEjzZeV4PCtll839NP4zwz9hal3VprhorH3R6kqIBWH6Q8KmQjHp%2FzDygFthEiim8mO2Dg%2BXrwSiWVUFC8ztnBFq7G2xzbVJqrNHpxIj5A%3D&name=%2Frn%2FbJ08e3RSPdFib7PNtkTiZy%2BS5eiAxKYl1ntkgd6NxUDNty9DN22Q4vNg5QLG3U3VHl0BvW6w%2BvI2RfOUYUMgREkP%2BRSl2hla%2FtD%2FDJwxUBAYlMffvwgMjB1j0E4Z +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="体育回看",1月9日09:00_NBA常规赛_热火vs公牛 王子星 +https://mgev.188766.xyz/play?migutoken=4d77a4cc4cbac040487cef1396b29180&id=ZD8fYHQNUJccHsevivCW3%2FQ0dKDNJGJmx2UUaKXYwebZMwBen6pGsVGgitrs9qnIFsfuPWgACf7h7gU5EtIdM%2F6nuacAmCppup3dR3kEyRPstq6eCaiETTP3u6WPcWWq0DS9c4Dcaj1OCN%2FwwfqIEMTQAGW1SujqYETjbf%2FGL1JXPDmCUKYwAbc99mFbTDrDEjsTB5xA20zNDYnpDpbeO%2FDr1Br8IG4TmFn%2BhXRnNo0Zv8PFujDRvk1OO0yLdNbbuDYOOBhOKh34v2XF59%2FDkiwUhtn4jc0oEOVH8YijbwkGEXE98jjZlNLbuCLiOhLSaD1jm93RHSHdnrc1nW8LhQ%3D%3D&name=RLGq63amwBI3jNop6blcmUdwSq5zaPWo7Nz6ASxGcliLtHCBB1Jfab9I8KKZZe6oUlD9Y50s%2FKm%2FxrNOmtICX09YVBITWtiekJZE6LESTwE%3D +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="体育回看",1月9日09:00_NBA常规赛_热火vs公牛 英文原音 +https://mgev.188766.xyz/play?migutoken=c1296d205494a6801aeaf5151aad4709&id=JaySJBpu2sgDPfBljcE8Qfgoq9CeiF2EawS83EPE9uQXk6ld%2BXiEHATiO7GBsU0vMvxdbXp5EIfPDdyq0I4d5KprElPGO764NlYcX5DSj1h8e5i25XQS75NgbctRosDl7xs7PT2MJbuuxcziSghGNL5LPMa5luygJXX9KTSTkN5AdDlgekHwHD9bmicLjXAtN%2FqpepSkbNKmeI%2FyKwGMuMz48BJZ6%2B6xKkD7I%2BxGHebIzMKZI6WiP7IRGRxfhn5s71hR1oFuhnwpbz6vN%2F53d5AniqYxhYSiOdo0vMVSqbWYHcqgRw7DCh4owpU%2FVfod0b1mLKll6%2BQzLfTkReyIgw%3D%3D&name=Kk1Fai4lbtzdc6Ja2xgvCZC1s8oU9mL8J8466lCrA8%2Fr7UgUl5HwTmgcXk%2FUF38GIeNWM%2BZ0m%2FgPGdiPy0xUIORBnHfc2%2FWOruvwu4CUAlo%3D +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="体育回看",1月9日09:00_NBA常规赛_骑士vs森林狼 段冉 沈知渝 婧雯 +https://mgev.188766.xyz/play?migutoken=f6b869a891f3ec68ae26932c457949a6&id=2YWjgIPs1d%2F53SzqNAGD50KTdZm9h5wWQie72CRfPcOGqVbF00pPEGg4E8e5eNzHO%2BV%2FJzmA51NFTTgHlYQUiUeU3Ox19hMrozDzLkoL9YxcCrrPi%2Bbhy74%2FijEgh9GSlC0BaRA57xKybVpd3oTQYX5DHc9V1ldd5%2BXgOjGINlj6gdNh%2BgOEX4nd7gLOn%2Bohpj%2FLIZP4aOg%2BlGFCwCfi9%2F1CKrdLIps8%2B2dOg%2BeEEEftalm%2F46dQb3rOftJL7bhz329sEb7pdH3WoWdZj1qWpx8aWM6kFzFCxv6cmZcjqoM%3D&name=NRGtROiIMmS6H5XI34KzXZdS6g9mbkwMLbQ0brSDBedO%2B10VylGhHmGFvg6Eocps70QoEZV0DJphvleeTBPnWTpk1DyS5UK1ck1CEVJUUk2PATJqRnev03mA%2B06xGkN%2B +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="体育回看",1月9日09:00_NBA常规赛_骑士vs森林狼 英文原音 +https://mgev.188766.xyz/play?migutoken=21f5a33b2a64169b67d54473b32a716e&id=9nlt5kHxadCp14pd0Uo%2BzLlBCvoYvRauqF8eaeSEPxDzZnruDMl%2ByXeLLEbFUspeF6lmNE6GFPMOprPt%2FNoIBOqP3mOZwfUHT0wd0mLCjEjvXX4gkzTK%2FdMN%2FKVD9tS%2FsX0VWz6hdilekmcwam8u%2BDe4r%2FQm5hDcgKZJNKJiiDx9qKFxC1D8Enb627Ba6Q%2FKxce3QSaxibklJw9Xaw9qLPn1EH%2FkhZVGsVpT19zSXvod9eawMcLCUiJuFUzUBliCYBoAuNMSQP9h%2BEJheSd4VaK3lSmQ3yRwhRhkIYpK9kA%3D&name=C0yZ0PtwX0TNAn0f6fPOrWkchTssbOAdvI8WrUUbXFkcN%2Fre36BeT95OP2tqdN%2FLGkiZrd9p7EHjgbiSXOczH98HkGXtD34Po4WWYPHYhBs%3D +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="体育回看",1月9日08:40_WTA250奥克兰站1/4决赛_里内特vs伊埃拉 +https://mgev.188766.xyz/play?migutoken=80aec887e5b58711ee4c656bf181ff14&id=wTnk2GD%2BNpD7cvCgTCweFZ1uJJOt37ybF7%2Br5zp47HkSzO%2Bsr8x7JgtgZLHutpSSBZa9usVsW9CA2qG%2BJRpp03cijC1jgkyYMXDOToiyf07hz7c%2FAP3XpylQOQFnt33NG5NbQ04n1Y91oeRYZ%2FNkqyFKD13mjbiJbO2LjJumFd2OeuG0wiBoJdMJcNYlFUDPTPyQ0wdc9sd58BcLRPNYqpDzR97HHB%2FT%2FvOrnmYVHUlHsebDaZfrfv75mxD%2BaKHcz%2BCURM0m1eURVD%2Fu82aLWjDmYTsVhpNibpM5w55JUyY%3D&name=F%2Fgex1xS1psl%2BEkOjuOCvH%2BVJ%2BOj0egOpZ8YvoAqFyiiBMUqOVEz5vPqqrsPyXNFbKKEai%2Fb1Mv%2FqEb9dcGTYYSRvvgBuMUVeIU%2FBl4afAU%3D +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="体育回看",1月9日08:30_篮球直播节目_[早安Tip_Off]第78期 段冉 沈知渝 婧雯 +https://mgev.188766.xyz/play?migutoken=577f4d79e0a01dbdf533c8aca679138c&id=a86ivryX3qnJ75k6%2Bp9lmfEVcEs6%2BpuolS4qJJQRnSJU2FB3cu6K%2Fta8tsKmyZ3uEWKwAxSEFGsb4DAdg765BpZueRofYpe5YC8PotgiRAHMwzxprbD4Ypcx4BC2yxkf3JWc%2F8LM%2Bb%2B0Lc5dJ72vDAcNH5g17OOHpfkmS1eOkWwDydQ6jUmDvZZTWlk869PGr5vxN0nuZILKirOYGU9FZqFj%2BrTKVtazgReycQTlAKLnYbHwTgSSuFdKmtLzQ6MlRBoqq8Nc2JATTbNV85ucaYsDxtsBS4AeKJRrjGcIaco%3D&name=qiQXVlcRUBFonHOPrth9kNvwuelLokK4CwgjJBQJqnXQfym58SIX9Jn8pLYRXvfVYVImJeWxvHZ37htUJ9Kydlg6YGoeIHVXo33Sjpv%2Fi0zqG6TZJlMXLhDR94VSvD15WWq4ZoQqHq%2FEz5cecSrIDg%3D%3D +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="体育回看",1月9日08:00_NBA常规赛_步行者vs黄蜂 金浩霆 +https://mgev.188766.xyz/play?migutoken=a2a2c5e9410f4b0dd15c089b03c08eec&id=HJgi9D%2B9bE8ag9jfvzuaUQGFOSENne8%2B1dU5estSzNAu0%2FqEGJ4Kzx6GKXnmIADppoV4233HmWaJ2OUWMumNLSj%2FrmbHbay0XLY1lPjdOgYBmY%2FaCZSbtixixhsIYrhIZ5GQh4muHjQ1EuoHKDigwmAJj1wJjrDC5L16yHeo%2BRckp62N1jYcnQnSv1cvFxH2WKQE1g4vvZxMcYxOlCaFd54SWJ4OY31lTSjFMUQRhzktDksuWszyLeRmkTh9jOxohMml92D8oMbI6vMRKg7GDYrPpQxDRCdWqQmVeRaSY2s%3D&name=2xykPBOxPFM%2BzzIgH2GsqwMRWtxAWKKC0Jx%2FbPiuNSeFYYcP3tWQ%2BFEkLZhB8UmLBVBoggHNUhzmtJ0TpmTY7shVgiDsPfxZwc0NuDQtrZw%3D +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="体育回看",1月9日08:00_NBA常规赛_步行者vs黄蜂 英文原音 +https://mgev.188766.xyz/play?migutoken=dd72c51f6cb2fa25c994fc3c5db58d41&id=DSWNCirT5LdMR3CjvSofmQUtB8F22gjETOmgO7C%2BRk9HpYiIchLZmWO1d0Vt1Lw1d7Ix8TZBW1E9FS9xzYGMs2YVxDAro1i%2F5Qz5p82ih7Ii54c%2BBTyAMi2eQopBgQ0450t9kOf8c%2FNsW0At7yhH%2B%2BIyXgIWUpOMESSJAKm2aDvBJpZ3f8zJoDN%2FuX9wlVeTqRoItRpbvGTSUUIHAMzqE9j8SwcPau%2B7d0c4vyQMolFbvxSpfOXDecVsJzOl8B9BNlVBly3Fvq3bPeSNVvx8h4%2F03O56AjcvYN%2F9OeT8b8I%3D&name=Kn0nJ4z2cHdKpH9kkYDGXMCy0IUDqNrYT86ELooJ%2F2wwpYeR%2Ff3YXGS5m8r1FzAJ6%2FlUKByrXaK5tYmd%2BH9fSoodqEBzej2kuy1uEnXi6IM%3D +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="体育回看",1月9日06:40_WTA250奥克兰站1/4决赛_王欣瑜vs弗朗切斯卡·琼斯 张文悦 +https://mgev.188766.xyz/play?migutoken=ed2b858c8977a4c7ce532ffa931143d2&id=tVlGJpB6UNA%2FHZ8yVAoh4W2ZOORBGlwEVWPj99xxcxZPw20Pru9s%2BfBeBmG9AF4E9e7tYWsmKoUnZ6pBh1ZB2oDKU3WWpkXrbH19%2BSfZLe%2FXVo4bTmfqYEA6L%2BUvGGi5p%2F4gnUBq6lKxG0olgi0woqqy80fXKX5QSG%2B3n9cAxwBUuR0QDfASc7KTmEbWfmoeU%2FJ5d1Zk2YxTaZc%2BISd0kswf5XlTalihH91C2vbuW9zpytPENdRwX6gSvrLsq%2FK3tnbhcTYDceuGgmR3i6v2CP%2F4BMMA2Qr1yDOFiBpZ9EM%3D&name=QDA2MQNa9%2FKzz0AfCHiejCe%2FMcz1lkKkgxZwhhvSDmfrcaJav18k1YfpY3AKMfS%2BsuRIh8CTf4FYglo8wb98fPNkZpS1JGprDhpK2il2LQsVOPHTn%2B%2FcWMhDlH83D8TrQ9WGOFH1MZqXCKjg3Y2ZMA%3D%3D +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="体育回看",1月9日06:40_WTA250奥克兰站1/4决赛_王欣瑜vs弗朗切斯卡·琼斯 赛场原声 +https://mgev.188766.xyz/play?migutoken=571890127e371d9a65524c38bb9327b9&id=o%2FXjFU8JIStMY8NvubBolpxMBwegs2Yh7HGA5wbWjIf6pjFglr54EAFiFlN%2FjUVQDEgK%2BhbKjpgMTgC5UnnPUmK5rV%2BctyKsd6MjxWf8%2BWllrJxVcWNhRji9q8fca2LdlGrfcpYhhAZi8L2bgJQvzSIBkIokM5Y0rKJj91zOYjm7XbPdyJzP1YnEVKflN%2F0E4hUqLZdVKqOwFPS2XIkE5tJR5dLGvAmhe3jLJFNL5ZvHb9G2HV6dWEfmgWHw%2FKhpPeRvazsnkxKimMvBWtrnFhOUvR4N6cl8YWi2nBJujSM%3D&name=nYoFmUvXYQQrWC4yZuwzWriG0T4J33zhF2IPFEnMYkqv4iJUfj05IMnIKXpt4Y099cYHAR7XE6%2BQ2yIc59YIj59bEccKHIfVeSiAaoFVNkR18u%2FfH1px3mWJcqJl6sjyBbLKbNnm0pWo0Xo3h1bszw%3D%3D +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="体育回看",1月9日06:40_WTA250奥克兰站1/4决赛_王欣瑜vs弗朗切斯卡·琼斯 英文原音 +https://mgev.188766.xyz/play?migutoken=08fabf2bec75228762517b63d835b285&id=70FyZQ1VLVE0%2F4%2BVJvFOms%2FspHi9PlLOKOZPctddEe3xSK88k7QTNgIVDe8Ct9fO5g2pOmqpgAy5Vzn2GiuEEdM%2Bj%2BVc2F6xYJSYDjvMUPtWgbgeZOy%2B3w2TgZiRAW75Drqwc9lTE5mCq2IVZR%2FlVT%2BMrR57faMaqpJ%2BEF63dZxkX4bEr8A5zDYHym26WJM6QgJ0kcGem5bTcJOUYTKyAOMNqFvZUmwyoSxk%2BCI%2FIofjMkWvOvSfl0byac1wTRi4E%2B61Kf4YLf2CqT70yis7GjSLGkJgGNeqeqIe8HcE%2BHs%3D&name=6YjkCsR%2FwcorXZ%2B5PDK3R9NxWPyuMTs%2FnFVIpy%2FvzikyLsMTEYhzLieSBaC39ZO7qgDo3sZgHqUPcyynm89ueHV6PsVgjhAxdaFkzzyIGyt9ghTe5xL6LGPppEJB1yfmYPM5LTCmBy%2F%2FgmR51AJJ6w%3D%3D +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/爱奇艺体育.png" group-title="体育回看",1月8日21:45U23亚洲杯_伊拉克U23vs中国U23 +https://mgev.188766.xyz/play?migutoken=ac06129ab8499cf26b8404528e8c6ae5&id=jfY0o5v8Hb49v2yYf1tfvxYb3KDEnMdyV55mNTRwE2fSNx2BGDqz8wdxLeezk%2BrtR18ha1Dv63RYcd3LxXOo%2FE7NFHYSspbthItpvgZ48aH1N8SElAxCdTan%2BI417fCKEoyBIKFERf1F1QyMsB6vcBGv8CjJa97hCwCI3AvQzKPvvZH1srPnn%2BuCTGH9NBDoLl1DjnsKF83N66Hmh5kTbkURBN%2Bhf8ZRiIlvxtQ8i4Flu0rwXzabV67QoZNVMILV99oZ%2FPRXORQcMc0RAc2BGyD0OoL0X7%2F4svwOayydrjW2E4JwwrzvsIvqR3KNnGGq3TF4SxdGtDckJX2OpUkkTE7y85yQzD7gqVQDCs5u%2BM46YwPigUB9ULscAGOJOz%2BVMjAsHY5%2FAmA3Wc4FwaCQBA%3D%3D&name=LCkQ63K%2FAPqEHsK8hkYNwE4boMUP0dAnmFMMdv2zdj3aAKNVc8J%2BPjEx6f1q85kxaJPnfwDMOfSNpQfQony4lgiJiCPTMROyTOGr639sz4c%3D +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="体育回看",1月8日20:00_男排超联赛A级双循环赛_上海光明vs广东台山和力 +https://mgev.188766.xyz/play?migutoken=330cf62c8e78a036286946f221fa01ab&id=iqeAY39yEAIbfqvpqXYAhGDzH3mh1gPH3HqZBVJJgTTMGDhZqr3VuczEN4xKgx9tWmmWQDpn1%2BKB3FE5PbYSIkH6RYRivV1D9bYR3nUskmUYOHZvRAupN0XIDByVaaeE%2FPSb1dFn4MKwUH%2FAPeMDJWMkylflKiyI%2Fp%2FiFVPTcTFzAklDcrFKzi6JTKTfd7a%2FIZ7M4YqmJihiq%2FZULg8GwzfEqGVb7u0e9iB5nl40grvRio6F8eDYEvuhAqiXJtOgPGvcMvsmuRpGBvW0Rkwk90Ew2RzuTg3Z8g69VlFMhMQ%3D&name=iXJEIbH3GCm2EoRey04g9iDbh9MpYd9%2FFLa1n9xDmn5HfkMBdFNuP%2Fbd3vQm0c4VlA2JkVKO0BHrK4sREssCels406oRkdALOD8nGXn%2FScfBIUqsFQ31l3mYaPPZ8jP9 +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="体育回看",1月8日20:00_男排超联赛双循环赛_25_26赛季中国排球超级联赛男排常规赛:黄石vs河南 +https://mgev.188766.xyz/play?migutoken=a097a9dbbbb15213144ee2122e53d03c&id=%2BETTN65ZsSgVzbhYhj%2F9fxXX03ms8SZuGcRtwRw0ZlIkeoBKVGi2pIBOJiQnJC%2FczDjea5JaYPYImJNAXAUDeK5i9f89NAmge3dqemXp0Vds%2FdryIU8WCY%2BHCiUv1zSFuFOAVO9TNtMYyExAqti6BjkCpYzGg9ekRtxKfz8Uq0FSKDifgV66XmBGtJ27B7IOlLlrUPZv4982nEFecxie4nSA2pA0i9BYXJzUP%2B3Kp2MYXdXHwO9%2BJveKz0daKJqEnIcr3vbcfFEtKheHKZhazLhK9DOubHUfb8E0%2Fm4tsDc%3D&name=epkiM4mpwvy8E6nVKfDUY7GJrxX0mA3sPJdnHOfv%2F848V%2Bws2sXCm56%2FgScDTNB4JExepcUXwtP6J7N9IrQh9D67ppmu0dK4h%2BILA7rL09piE8AKQqMZs3LIdgKF7yfs%2Fn%2BRwZdIEEVTFTZgrmS3O8H%2BGE6YVySzzE7tkkSeBQ0%3D +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="体育回看",1月8日19:30_NBL常规赛第7轮_杭州经纬vs湖北文旅 +https://mgev.188766.xyz/play?migutoken=3655e73b4888988f2f2698907307e42a&id=QLFVByrH7oF3%2FPE1iaZn1RuQOjvWY0C9GUMvxL4JBCrvCIlIxe8DIjFIV%2BcFrev2CoyYiK3yDuTcXBgT952M%2FNZMcEpYH9xVyFgDcUOrOFHFECoxAt04qTf%2FuLZw2jI5qkeoPN6y6zemsHwDdWtH8I3aldmiN2de3pm%2BZyuDi8l00TK2LIsag3XytXa9alaEE2pXa9VBOa5LkgawiJUlt4P0Q3t6FjYK4Gya5IXWnH82NzxTC6ogxJSdL5ngLdJdGSS76s57aLj9TFKk9sZKdyzOleZtxIURNG5taIz9fzg%3D&name=9XA0uSBjWttnBj%2FJ1A2WiCGPmNWSkaMrOx2NJ3%2FrU33W%2FMYydyFhhJYDx3f62f13ikDGvMe%2Fu2CWnMZOxQBRwnSaWtWkJFf1I6%2B8Q7nvDL0%3D +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/爱奇艺体育.png" group-title="体育回看",1月8日19:25U23亚洲杯_澳大利亚U23vs泰国U23 +https://mgev.188766.xyz/play?migutoken=f939e956cde1ad8128bf20945bf009c0&id=WBscGmXth0im8QHHiNK%2FAr0FM9wKJEtFsXlokvhy8tqBORFGKjZWo9Q8OkE4pOwdQyqpTbx%2FeLmqvFYuj%2BkuWEwyNRC6UtQclL1KyAmw41jaJrUCDluemkGpGvYm%2FczFECtR72LxgQyg3gs5ghFNREbiHLVsyXEyc2Vl%2Bg%2FAErMOCz8z1s4gMQStfzp%2FV8pAH7IrlWMlr2qgm346D7BNP4UUQPKhXBHBcQGg17s3We6nYdgY5%2Bpjg5nvsXBSzOF%2Fnj3Blq8kvJUIIHoL920IH3UAeNEll%2FIylXMZFvJ6YPHqmdGPIV3yBiPFvxEzOkH02bVPIv5QZrVWh1vPEoJea9ipseImFbdTaq864UjGqZKVeyo9PADD1Y3SBpkNCI0T6NhCY%2B6hLNHP4kO73QbEWA%3D%3D&name=7NsBjS46OMVkc%2BPqc4vuRALFttW%2Fd32LR1VlaRb7jUHo%2BYwpyBK7ZnHPS8%2BwOSSBs5et%2F0HvBbzDuHzSRKUlKT9gwc4rn6fhNL6gmNaHt2U%3D +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="体育回看",1月8日19:00_男排超联赛A级双循环赛_辽宁凤城vs青岛兴轮呦呦 +https://mgev.188766.xyz/play?migutoken=3a17fd198f78b66403a642c32181e884&id=cpnQIgr%2BrzsHfEImDQPnEz27bNckvo8eX%2FJPpB%2FoiYV%2FBPQH%2BJL3ZAbljP5V27bH%2BjfGZ%2FhK0ONWf0uAK2xx0%2FFBhkdMohgF6By8EXCWhsDJK07RUI0aFKzfAlqLfAQgPjnUyn38XTD3hRJVfNYaLZh%2BZokTFAnh7MP6lyVRBc7VgEDJ5zeZGQUAcqtfz2%2FSrhMtlztlArVbpghBUyouPm8su8hioLOLTx57NhDT45g%2FCfbYmWwkujlvUsvDtHeXxqA6GnRla2AdjHrteNcDSCbsDywoqq5SRLh5DxoUQPU%3D&name=13UFExp5qs3rIzK7RFEY0GYz9kuQ0gDjCICBeIMGkYjm7S5zPpzWKGRsp%2FypU1%2BVt5pPVUTmqRGA%2By2IPrmimWZ4Dk33YW8mK25i%2BZQzKNM2NIjqInACK8B0v48JVT5w +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="体育回看",1月8日19:00_男排超联赛A级双循环赛_浙江振德vs天津食品集团 +https://mgev.188766.xyz/play?migutoken=5a2b522069848932dbc9432c4281897d&id=MLNl3s88NkkUgDpRYyFStFf5a0LHs3uC66eO0anCsXPdpkNHDhN3yP8vlw4OZuJQ9fHvOpESBOIq9heyuUcccmXGX%2FcR9flkUs5n5mZ5BrQUJ1jZ97Qx%2BLGeX71nWZ3qhCPfSRjmcBlLyY1HJf5z7fb9%2FilHAZHaAbI8vMD6LaluL3PBZ74gTs0%2FRfmuLT%2FNP5qtOpkbCRPfF86ryfs3awYM69MqR8nXUf9o1LTHBwabJle1y00fwrHar7jycsDARnUIdx3FKuQn5ZHpBlnw5jn43Crhuk78v8RhhAmJeR4%3D&name=3ivD%2FFRGuBFRw7QzlvS3r5jVYrs%2BGyadNQQAWiwlBhHTY%2FNsLeVs4aoCxNMQ0VfNfcNHqjKtWDEyf17%2BlxanS3YqMu7RrbemtjeMWa6q1ALXjx9Df%2B9k9sjoRT1a3sAX +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="体育回看",1月8日19:00_男排超联赛双循环赛_25_26赛季中国排球超级联赛男排常规赛:云南vs四川 +https://mgev.188766.xyz/play?migutoken=3ff494207a6357535b9417d3ebeb3ddd&id=J3WkfQFT%2Bm1oIBxvI4FJqgs5bEhGzO9tmPGt1Hd%2Fg9ct%2FiZS7OWvs9K6jvmip0gqdpbQwmmLYDemO5CPtJc0JbJFfEuT9%2FKwYK3b7dYK0YOKjzSxs%2B9F7%2BDSbFhK2CMv4e3nRgFzhXXsL6b%2FCnfnEfze%2BRJvTGn%2FAox68nmQWcKm73PT5HEUOjumj62khTDlKpy1gQD71P1roGU25xv7VC1eCSbBHhyE9jZToVXgdmooTBXONy6lSki1H2SEadGRwCL1vyRecmTFCiqQDFPvHMRtX2Q%2B1f8dm906bMFzeV8%3D&name=5Otdt6NtBeV5RAMRlCeGH7Bq0Oe5TNyve89OpBYQZ02xRgjfbIMkiSSrx7vGBfsifRMqypSaTemNB4mv89fzb5BuPveG2J5HF%2F8wpcetj3qDc1Go0hjDEFD2h6rDJEDZAAhJROnhuXSnTUUgGcecOjAmYcOytSm6zdW3TA9192k%3D +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="体育回看",1月8日19:00_男排超联赛双循环赛_25_26赛季中国排球超级联赛男排常规赛:江苏vs福建 +https://mgev.188766.xyz/play?migutoken=e2a195c17da475e248f5296312664592&id=W2x5xaSMDMvdEY9VDus3SZhYFq7%2BsUQnhlwjiZ52t%2BSRg0Adk4XqHRSW5Vdzw1dQmaLucEl6jsXrXg9Wn%2BLZ4c3gPihrE02oiOu0DhDgQsCfRqZmNmEDg%2FO5duscxgMfPAEJBqu1nD53BzrJZaXEazUJyiQXICRhoyOeQsTGsz3mnVpFtZXnS5WXMSzpKXGZBWSGFjmeQ961DTz65Be2WCKcHlg%2FAGYeMy7a1Umfhdy2iZDgEQa5SubhcYIKgxEZ7bqcVdGfoYTFivTkVPQ5%2BCijSzuVweRt4oPln7rngW4%3D&name=K6mmbrim3vcNZpjDqIapveujhUqhUF9DvQmsAjDqBmudJh%2BVdXtVeqtOrAchMyL8kPDsnO8LgJTYg4aoHCjHU%2B1qj7ZsS%2BZ8s70wUeZPrRdZPPotqFIAvw7%2BYXilO02Gdz3VAwoaz2hE%2FPe9n5eeyes5Fb6Bib3TLO3Uf4eOfHo%3D +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="体育回看",1月8日18:45_WTA500布里斯班站1/8决赛_科斯秋克vs阿尼西莫娃 +https://mgev.188766.xyz/play?migutoken=98e4576ffb7be6917f8daca9433d5939&id=123yI8VetKvAVK1rwAYWhqIEWbY6O%2FVWR7ZT8RTBIHsAIG6pgklEd3ndZr3qnBX6aJUIgN4zO4wULhEuRRX5R2lwNnGIPS%2Bg1c7IEd7WRocm0P8DC1SeFj2YazhWNnFcDTtdqgCWkcrOFSSzAx0m1rwAdzjXN%2F0eGi1m0nSzcM17kIXJLvOb%2FLYDUEF6JGvYwX18pXDRDm%2F3qhw2ciulIscwwZ1XtKJUyQXd8Xc6UgHsjJEhmB1Uw7UB%2Bgi3DUHS1wSTIeI3o6hwT3DxyGvEt21CRXn2JiPUqiU2nWtLWv4%3D&name=t8WwmhZejGOLfZb3lQdo797f5rutxITryrAlbbQMB%2B8hSgQ%2FOAFpEDUXMlAU6LuhjvwThC%2Bnsq6guVob%2FNWQ3%2Fkgf%2B7GFvEBGlcnkiCO3QLGu0IrhjUb0c9exmsBTu3C +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="体育回看",1月8日16:45_WTA500布里斯班站1/8决赛_雅斯特雷姆斯卡vs佩古拉 +https://mgev.188766.xyz/play?migutoken=f3d9e378aa224fb7a8083c117ac1caf3&id=tYsnypn5u7o9fMuEHCtB0C6rvGhRYuqy4HJPt%2BLyIvPNrazPSQEaFUYk%2Bv7rR0oaUe1WNvimr6Z65z7d%2FoEL7dgM5lkgm8pWgxjEn1RiMytnUnVOs59Fop10hWrBfHjb0Is%2BoB4aA3XmCDDiVJhdBR%2FQpNyTgbVfuxkYfJYfOnOMKmq8FS8knNUZfIprOHkxXtBM%2FI%2BTia%2BO5WwT%2BkkDEpS4IYBx8TD571JSp13rmgdhYe5tB6a8vwlWOsBx%2BYn8yLlCkqEYUAqoB2RK6b8Fq4171fZiieUaXsvFFl%2FvjKU%3D&name=g3Z7jj0hB6KQMScn%2BA7cgf2hlj06l7W2SdmTPQXCW2SrAEhSSvPvu14TaZTY0zT2m%2BrHCpTop%2FbqMQ4zw1uEo%2BUysDydPlD9vUZYTztBWSX2CJ%2F5%2BV%2FzBY0t1tIwJiHg +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/爱奇艺体育.png" group-title="体育回看",1月8日14:30联合杯_2026年联合杯·第7日全景直播 +https://mgev.188766.xyz/play?migutoken=f3f85fe5a3f92b45742e978d0e49c12c&id=UIlMs9aqkOKE2UtFWZD2ZEcW4YSHC%2FGjJFuXsIwGM5I8p2ruhsivUeHzj5ovvZhVxqo4wMkJ21KteCqAT7IQ4PIooKYg%2F%2F2bjOJQLvQyHBSTnJq6Nr9oV6HrPDICJqaJAAN2w1bPIw5mkfvD0JBGukmpLHeIxmTa28CvL2OEcGCfaAqTA53zdxVpsd2nWOKcDErA1fRSljTdPR0QsuhLRiGIlo%2B4SQmksV2sxkJ9VKb0IL6lo8MADdp7hUKL0B8skS0JVN9sW6YX1xvS%2FvP5pxmm6msaw2EDrmPi1WbwBgAEHhxGX5bIDk9bvLcGHTVoGrdW3hTuhd958sWEo9Nr2BgueYGBLFw6M0CnQl00nJFMr9T7JrnNXPqMcaQwfDpOK7bKSTxT9zNrxKGYzf3qmw%3D%3D&name=v4Oj6Rh2Ijja0UT4vXfy9xb%2BygKUMuZGdURxIYmN9N8f86vcTXte0DOga4jbAQU1Vn5Z5TC2%2F75bTGWq7cAYUcPC16Vl094uh9DHEtIMFeQ%3D +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="体育回看",1月8日13:30_WTA500布里斯班站1/8决赛_施内德vs凯斯 +https://mgev.188766.xyz/play?migutoken=4095553b26cdc06b8cb42f922a99655d&id=Z5nsGkCi%2FthHbqr4Rvsb1o72E%2FfFaiv%2BqKx5l9GXyZh%2Fg5vTi%2FbWcVe054NQG4qQXmGqxbxkppB9CWqw0v%2F3UPYzK3TK9UWIVqFR0tkViD5R18WStXadJh2vSkezSAOEzmQ199eejHPxPYH6O4XWz9TTTZBRKLwA88JYSsP3%2BWH95c5B6ZHOj08NWaIA%2F37Be6y5dr140%2BhLi98JUFXr%2B7bVjZdRwlPlGLe5dy3nMvVlmVgJPE8ZTw4c5gw%2BSh1sfFCqDLr%2BnXgKmRaVnqAxgCeAbav2MFXZd7DW8wBh2fE%3D&name=2IMfTbDRHmzBYOyU6zFiQBKbax6pTQY2TfCDFOv2fOdidTGW1mEYgdgLEO5fbzoBll8F2gB80G008tYeyf5iqP4crVJQuK%2BmML7m1yXiQN8%3D +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="体育回看",1月8日13:30_篮球直播节目_有球必应 +https://mgev.188766.xyz/play?migutoken=5bd33e3a29a85b3c9b7f518c873b0532&id=kmDpoQZs%2FyZ00V%2Fyu12y24Gkitzie5FgtGqbVr48ZbKQyJ8G98h8dRQB3RWnbtokAN8kcJ15DVrkQwzT1HCZpy9H0Qa0l%2F6nwbeC27524B%2F9dS4pRs0c1qqapZB6Kcb9XIny9s3f1hQE9SYHzBIqEyvnNVXTRTqPeaJ0H%2F3ieV9vOX3R3VUieVYQ7RjyA4ABzzR%2F9YclMf%2BF0lBjyovBfdDxe2Lo9NF9bmuLXt%2FifH6oZcYMkb7EHfsuOqGHG79Z1ojisqvsSiQTZnrexJ57jKGNiZ7pyMt4LuwnGRrVBTo%3D&name=n70owofkfoT4KKEvbUgxCWQmZ7j9zKs4IyQ77YXAtF7P0db06WlWriUmWzMoOPZpVODQ3SMSWvGPw5VQGz3FPw%3D%3D +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="体育回看",1月8日11:00_NBA常规赛_雄鹿vs勇士 王嘉琦 孔德昕 炼炼 +https://mgev.188766.xyz/play?migutoken=7cd9583096de5d07bad66c3ebf0cf360&id=8HkiPVRCh3Xh3NicC4Nvg6RKTlMlv4DFEq9ydAlNs6ArzFu2IZcr57Bc68QmB%2FkO%2B%2Bqv7UnL2vBFmZtmQ54u7xw7F%2FOnlQAmrArCcL%2B19RpCglBbPE0Wg84SRRZlnX%2FSsqtVeTdpBbRFGoZk1zXuOglVY6WlB%2BG6ix78MpVnDn0cbsOjtGFXbg%2FmKx1ODJzHP8RTPSmTdw8UXBprFTJHgNt56ghjtH1%2FLc8xzkwCGTkLr%2B4wOmdT2ZsX042Bo4NzAjWOHuGozhQ0CeO4PgJdWlRpylOeUaaAd5A4HAU2aHU%3D&name=ULLZN5wt6gJLwb7pJV%2F2mVUZh1vrxUEnSpqSKM1FCdY7x6WtPUESx106cac2uOQFjdL4v5Fs8s1do73V3KcHLi8Kl0jCD0fnnmkpGOd6xob40ygSOOOsCG2Ckfm1dra6 +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="体育回看",1月8日11:00_NBA常规赛_雄鹿vs勇士 英文原音 +https://mgev.188766.xyz/play?migutoken=a6e3dd17b9ff660a4a11c6be24eb8524&id=mQ9E%2Bo0VXSFXGdoEQCTP4kBkpAjWWNwojBlA1M2Fxd4bMkQeZWTT63spWFvf8g4qvQ3K%2BSsv2kFMDFCOQq2lkq3YUPww8DZLFqSZjQh1FJtHJ6guKapyOIQsVbr42hOByw%2BsV%2BCiO7uFsQz%2B8qbfsXQcJHOH650xgXA5zW5kBEdc%2Bh0G1PL5GqivTBHYx6%2FhbT2K61PwqN9%2BYCH6j3VBNO2EHKvi2fTvYvoSicbdgub2JHzdulBTHzb%2FDoUkp0jOzWrqMk9G%2F2ch8444an81RixIuyKs3%2BSLBIfXWpwy%2FUw%3D&name=TQLOgX9eB46bWqGirtPI9hYZ3nDzy1Qrrx7ugdtvcnpKwAVgYjVkrvHM%2BXUImAsArZj55wsCyc%2F%2B%2FHtUeOkvsqqz1Fl9%2ByyCL0LRt6p5pNw%3D +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="体育回看",1月8日11:00_NBA常规赛_火箭vs开拓者 段冉 孙悦 辰辰 +https://mgev.188766.xyz/play?migutoken=cdbb24a1ad1b12c3d2b7aece29d8c949&id=FbehJGxCjTBR0sIj4nCWYRgfVK%2FaGAbcb2OURpRIJqwt1vUJiPCJT20Yiklq9OX2PZOIb6OGSPhWAqVXKzi4iQldQ5JQJwyVw8K%2Ba0bdKdyl%2FCZpopVHk2rbk9FokM6Ip5%2Bl6%2BEj5Lrjy9mTLC7qdULXhyJiEN4uAlOL9NNrXgaq5UjPVJiRoA3ds1pHJE4DaxcWcVD7FmrmeEFyc1l8RyKjiW3mB4sR%2BNJgdM3%2F%2F8KlVcuWaZnJsYwBTC9Qhjo57YU1USb4Jt1ekXxWz9QycGUhxETwlYI6YPKM79hxA1o%3D&name=obZjb1wWqEReMMpBlMTFS4MNm4%2Bz4tmdDFbmDYcCCK5b9OvXLbhyBWBWVHrYOWOA0PvONqxamsgrU7m55msz7yZ1D3btCAxPBz4%2BzKFniYjDR%2BHf4ufOrRuSiQ7tJZOe +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="体育回看",1月8日11:00_NBA常规赛_火箭vs开拓者 二路_狂言Doggy +https://mgev.188766.xyz/play?migutoken=ee33d935db2443fb3a32bcba1a12452c&id=Owaop4Sxxxtrn5kIRjJWxIL%2B2DoZpGEvChA8kElc3QuWAPQNXOVfCfhIzY%2Bg5TTGk9o62LVtZU9FMVjDgpwNqVsGckk0aV85vATRGA%2F4M3GAK4r1o7CUo7g9nhIxoyrp8wZVo5%2B7FhAphzRPylvfKlz31HstwYD5SuD2YhWF3f9jS6R8sIIRdmCjk5HPjGJtW0TPbkhZc4r4lThdzNrfcAbe4%2BJlO8YC%2FEqevupx2V0P4R2wV4xn8yFY0DO5MZEopW4OrHKLz%2Bk5ZcT6mElORiGdFVE67iO%2BePrMpUndxrA%3D&name=iS%2FTBCnhHyuBhvQEADpFpnxWqyeiVpv%2Bejyr7GVWj%2FKn708brMrzKLN9fClDTxcaju1db6pG3cTDy4D8sw64gEX8JIOi01DctnVWAybs8BQ%3D +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="体育回看",1月8日11:00_NBA常规赛_火箭vs开拓者 英文原音 +https://mgev.188766.xyz/play?migutoken=208682b076f83b5c90605da77850774a&id=zy6P3z9Mqwwmf9FyeIuTxg1fD73q9T0HNiqxx8i50Y3186%2BZipEIRgUIMngAtjY3y%2BydPkyiONtSIKueCIzr%2FHv7OhVaJtwk95tKqcdEORgQ27OC69GMM9SuFSXGmWZT3ZUQMI1IP3%2Ft67n05UwmJHZy1aJ%2FGepDkdlfphkxvtPZ7dh5lAm9PGf%2FHZ2gyPYZuJv56PwvdvKix1R1C4U6MUJ0I4fvtgiPyzQv3tujzgGyrXhR8WwWQvEO4gxXAlEh9mlJXX7wUNcK8Y9kOhkKlY374E16copc%2BAggyoWdgn4%3D&name=OV5wZH2TGT7fsVhjqRtm2eAOIJlToa9Y97cBEtACb6ICn9RWWqrix0x7uMI4TvkpTBt%2BGnpj2Gf8fEmScLreCamp2%2BnQVuKKojmL%2Fv9L%2F3Y%3D +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="体育回看",1月8日10:45_WTA500布里斯班站1/8决赛_莱巴金娜vs巴多萨 +https://mgev.188766.xyz/play?migutoken=4d969d254862ff5f43973c9e2769c9fe&id=8EefxqeO1XPMCgN1vPh2O2Nhot%2FOs5RwbnwTRaBy%2BV75nO5JfW2sk1fqcILKQBKeVpLuv2B058I1Rh9l2fWQLlvFnNZGViV26%2BsGZJwIcFDTErc8IQfQrgKl74eR94%2FUAtD2PxvxvXZ5IEtRn2Pepr28qMFbi8kxnrF8fiHNddUvEM2K7sjJtGbhziTHEBT65UyW3fhjjDwqotPjDJI6EW1l%2BBKbIJIthziJC%2B7ZjUePU0ldGzyl%2BucID7tz0kJkWkgqm8RBpPSHjax6lsvKEIsod4gkSMHMUGC8U1R%2Flhw%3D&name=ekYsk2FtAHc2sZmWzw6MrPhOvGLvtUFcA6Ctfvjw4i%2FbEEDNXf%2BfeO3TbpPDyNZApri5bS3L358MRquylca1i5OmjLE9IUSq%2BtCcry77OjXoMH%2FGRwEvREQAM39julIv +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="体育回看",1月8日10:30_NBA常规赛_湖人vs马刺 柯凡 杨毅 婧雯 +https://mgev.188766.xyz/play?migutoken=4b206b966056cd9a92d75b6876f08f6b&id=GOUcPNU2Nv%2FXki51VS5tM2XZaWAOrjpti3HYDSxSJxZmIcX9AnQTnYqXMmJFRA%2BPksJgw9nLIY5iApPHxO0BTxPHDOFg8pTzNfASztOZY7QvB4C9o1TQTiZAjLaYe5k1PV7bEKktFrb3zZ%2FITrjyE8YNcU5KnDYnPj5qMBbHZH%2BwHRBcZv87cb0WZoVtpJXreDPpF8i7yUCNg1IBOVO3stA2hGGUXmY26f7N8VMRU%2F8HABg1v3kQlCCnQMCC6l8QbAH93bNLMJUX7LiuFzynttsY3y3ZDODV52sHizRbPaM%3D&name=bR9OvLPWYaEno2qFVNCwbEp75TTPThqmYjxrnHQJN%2BcTotYDDcw%2Ffmln8Ezga%2Bl4NmerdpDnhNBQYVuZ7NC70sseBCp39Aq83I5GSe4GN9U%3D +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="体育回看",1月8日10:30_NBA常规赛_湖人vs马刺 二路_皓篮球 +https://mgev.188766.xyz/play?migutoken=8633d65fe7c5ee5cab32554d93df7201&id=J9ACZ%2FoqE3U8Yf%2Fq%2Ba%2BdACKe%2BnHzcObHcXburz75mdMNkS%2BnyEVO%2BZ3L14H8bO4uGwYlFnamT3ZhdhJ222X9BaJxxMfsfGoyeJP6kHErCtjc0k2v1xtoWpRbadWyEI3lF00GzcASi20CBLaGxwHIA7nXi1LaLMY2DdW%2BP2x3t3YdfcoD%2F9icYwTYIU3wT8OuLSnIGkpb6PBlCSiTxY1Rt37ktTbO6cpu%2FJV0jxcSqkXK7xL1NWUHS564vXycPxjfNLUYwNxltNB5mXJl3e1iu0R%2BAtoTKylA%2FuOAofLOBNY%3D&name=Iv%2BcMh0giITM%2Fa44ttN2ZkF4Rio8P9UrEu0PWkUYrp11vV67gGAW7Bwuer1acL75zGNOqJzba8RdCXZnpSOHKvaZuS5ELHQWErDtsagVsus%3D +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="体育回看",1月8日10:30_NBA常规赛_湖人vs马刺 英文原音 +https://mgev.188766.xyz/play?migutoken=b27baf0697cfef7655ea0eeca90b1f08&id=56gUUhBnYCdayEERprurHf5NNAevNPWhSvwqkTg88sRRd33ANsd8tW5wLMJ8zwPhQnegS%2FcoymdbwuZJ%2FBYjJzAiH1jAJD%2Foc6%2BH6egbjzXrn555WfSTHpW7mTiq1u4ZLIRasvv7Z86uAYUmqm4OO7ir%2BzlLXigzcFDtB07kNzmY0Z0vUwieldgXFMYIe8NGKT4aRkAZWX4%2Bf0LyyBuxmIug6w7%2FStf%2F95EA8%2BJCjBpQSBn8wBRsNU4IBQvb50%2F75dOlhs8WBr%2Fi9Pa70TdQ%2FN0XiVHtmvsXfqcWteMUhNs%3D&name=1bQ3LfgqehAk1DBDjWxSG7K8Oh%2ByS26ziZxoYVyM4TuqR7cItstD0ZUHZ1Ghi8INMpc%2B0urqfutb6zqDHT9nx3VVFnUJ1D%2FXHEUTnbWDBIk%3D +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="体育回看",1月8日10:00_篮球直播节目_[早安Tip_Off]第77期 柯凡 杨毅 婧雯 +https://mgev.188766.xyz/play?migutoken=87856d2f05fe4bf17409a4dc9d96ac7d&id=DdB0Bcwo9VJHENumrCMc5dfSFshCqbuZJnHmTBnBa9gpuJjDM9cfWfVdTTyJa4cj%2BRCFPUIGgxf2Lbl6uO1SfwWAH9pTEKcq9lqofJP9x0%2B9vExJAPKBMQVr3vwPllcBftb1GVSnDb6vaCgVJPwZUZv4WBDTuRuwd1w2xwqnl1MZhOeeyii0NySy6dTTRWP8JmNNuIA%2BSYmt8NYMyvRE%2FO1wGYveKzLnuJCYFEzFSujxHDK3ZiYgA8eM%2FeXWfCiAhhZU28H9CWyzPoN0v0trvAX6DdhFbjeAof72iXTwLfM%3D&name=HezQ%2FkC1wRbLogpVzkFFz%2BfZEbd6iuaTcOrRYHsQuhTvGDLhmbsdSEWJjwQaO0IOIlTgOcPkyEJ%2BsWo9L%2BjC8KJcowRKycFkC8Lo6ABxc5PTqk5ctutm43AgkTs6WJRj +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="体育回看",1月8日09:10_WTA500布里斯班站1/8决赛_萨巴伦卡vs科斯蒂亚 +https://mgev.188766.xyz/play?migutoken=429b6c9e1b7b6d9d51fd9eff0435fa19&id=hUoY%2FAdSFbKhSITH91bZK7yQTaF9OMhrxNnNT6FptNgl%2F0pH%2F1FDCDHCUktwXI2taw3gAclyDiKT4mu2N6mNo1kJ6ldmzUGYlMSVEMfDCQLhlnVR7jOiXwdpenNtOdIkcc9UmyOiB09wfBecVajcRtYHCmPpF3e92%2BRwtOt6q4JAb02WFeUX9OxggW%2FKM4F3OAy3PGPIAJMddR8z%2BezfMOhb91UI9mt%2B%2FOc6T2fXmA48jRDvG0QDs2OaXNKwY4ti90nHajuDHBqQSKytHNuCvDUexUDt1h0dOUpKqYkZaWY%3D&name=pNexvoHzZTwvjRKpTZfRiwpHQUThag1uBWzGx4Tpn8hPuh2%2FprX9Iw1jeNaqCysT0zDpMxy%2B7uoQ7FoATN0mS6F6TPskZmmbRgW8feg2UB0T4iOcbYYqDud0j9kZ6%2BnY +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="体育回看",1月8日09:00_NBA常规赛_太阳vs灰熊 石楷文 +https://mgev.188766.xyz/play?migutoken=877022b73435f3cacf5652fc1997a07b&id=HzFLkM4tO3AAG37%2FE71RwYID7UlNQ59cOO2UccGdpPjLRVBeCYHdruj8l%2FV5KfcfKFqj9diBu0Q3yCqNvHOXmbR%2BcIo%2BnyigGtSVmSmzzXNgLdWzqH4DAT175%2BnnDrC%2BgVGRBQuK2SZ4JGj%2FxhvP5spzKdaLOfC2dFIqmCU4sxd2pYGIb9xD34JJ3ohAF0%2FSOawdL8BIbVwVSPHUboTwJp4OSsV28DncNg6isQtZCLcS5tGt%2FPXh%2BiiVq8Lb3bhVJwsd7DnlF7AehaNR%2FJpCfNsNA%2FEcG%2BzOBSs%2B6y97HOE%3D&name=ZzrPhhpuN62aNY2U6FJtmDjglGERj61VSrV5wc3T20HVoOdo%2BHuym34hvkExWyUr7q74AIra%2B7%2FbYU79TxkRiQR9iMAwyf7Usirco2dIzVo%3D +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="体育回看",1月8日09:00_NBA常规赛_太阳vs灰熊 英文原音 +https://mgev.188766.xyz/play?migutoken=74db5d7821a1e8f9e5f050dcb5eaed29&id=WUyf1yE3Tg1vpMFjUtznQd9jV1rByQfHC6RBnwwe7ES8XLcu8Bwo8zEM5ATwsBTs0OYmNazkR8e9%2BOM66J7jSjvXuAjkfTlQ%2FdU6og0Mqp7tBHaHpTsGceAWLl1TRzCv%2Bn%2BHSYp%2FTTE31xcCF8sG1PLIyB%2FfnjTD3gvqzIMXaRtvsHnR89bsJZ0v4kZYN7xMRdzZSS5CqN%2Bp9JIcZ8Xu9B4Z0o8Mys12LqN%2BMNSzIImJ4hZcKXmN7PWVyzLvSM9jJGfT9wOGrdpmXM6BwVW44v7ycnoCq656AbJ1Osb89Aw%3D&name=ltWPmSPqEe6lKRH6oX1Kvq8uA56JwXksqzv3VGC7Z6bpiLPN2qBJs6qNEtAc%2BbvsVvNAWaYybOj2FBUBrHTYOfQannRECZsCfan2ojSYG%2FA%3D +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="体育回看",1月8日09:00_NBA常规赛_爵士vs雷霆 胡鹤明 +https://mgev.188766.xyz/play?migutoken=1051516fdf0e0783089a6d5ec2371f3d&id=pYD6hiSz7Hw%2BLHMd9Rl20s0RrCV%2FH64zPw44cni5CEqeMyPkicj8ZdQ7C%2BNE3xQweJWD4gmYN9PF7%2F6uFPtabv6gjVwljG9Cx052OwVKcMgo6WqgAmlBPs0hDCfYYYF3Ua5albEts8D50x9c6lsAfFn2DJYzy971LwsBgrRbQLEkAsubs%2FQaTOnn23JgBA%2F5YD2RyyFJ74GW7ThNMSYPunuZma3GDB4n5ECe3ujxerBCPPC6VbGixMQtnTuaqJhrs42fIemkS3TCRmWgNZKJOAuPjm2yzYauQXpoC9k9uW8%3D&name=7nOAjaaJ%2BKZG%2BTvLgaRM2LwO25AixvVR9Cco7s%2FQUm5H0sJMSsxhx4IaLai4ZIrUOK8X7WV9fLSjl%2B5MKhCptfr4hS1wqYmUwj1Ed77du3A%3D +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="体育回看",1月8日09:00_NBA常规赛_爵士vs雷霆 英文原音 +https://mgev.188766.xyz/play?migutoken=b55e0d0bb63f0f654e5e0f6a4bbe1cc8&id=NwXnTJrdrW3fddPwoYV5su8T2B%2FYCYsS%2FQ%2F9BKacEP9c2PddokfI2QLbgRJrF5osTE0nv1EKXxWKxvmJvaJQuVecva4W3S5Iveo3nl5MMHOyBZOqj9zDW0yNiI67NKdfhlpHuE6YQZraPGeo3%2BSmvKUTO6K7l7bqhfJjSWWNBMBp%2FxRZXm0Df8Y2s0iq6QbI6azlkDjWRWms%2FwfqB2LvFyGN9S5auj5Ibp50hiwnUkB7rw7OEEHmW78EQHTbdMvKyVzMaCJOkVkiiRZU0slqAAF3uVIirw4bO%2Bm1XCWv%2Bvs%3D&name=JOrK9k2dfx%2BctsJxLT3Jq0dvqZy70pbHyJSw%2FLpPjz8AxgwKrfacCSm8QtMLxkw38wVGvbHeZp875jylc5WA1rMlxIY5jUVtV80x8yUJpwo%3D +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="体育回看",1月8日08:30_NBA常规赛_鹈鹕vs老鹰 寇逸豪 +https://mgev.188766.xyz/play?migutoken=4e61a37732c77b5e80ed9ac2c11e37a6&id=gR%2FHh3kQ8VSRB4Zb8hqeC9KiuLLVDYD%2F%2FUF1QofBrhIm7AUx%2FkiDOKPeMehNpD5mD6osc7p9vjMv11Zg8mzEvFr1vmMs65r8B2hvnyUXpG3l9UaFfa3W9WOb6CJJnvxJ3x7oiJuTvzt6seH1q1Y%2B8%2FJ6jE%2FhSNNAsFlAuL5ma8bOeeikeUW2fJ6SgqI9%2FDKj6l3yF%2BtPVdoigOf4LyxlLB6jFfuNaf4FgiRRXOu%2F1D1fmvARyJijMnQ4vBQ470aqMMqH%2FWb9BGmQwXCmtOY2fw7zbImJds7MD1qF%2FPBtIVM%3D&name=b2CL1K0%2Bmmav8Mv998CBtTGBwTw07Rj8JMOevULN8kdWrXCx88Q3qc%2B4%2BjQv0NoWg9E1Ob4lfnMkzJV3gd3EjKQE%2BQ0reL9llpqrVLd%2Bvks%3D +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="体育回看",1月8日08:30_NBA常规赛_鹈鹕vs老鹰 英文原音 +https://mgev.188766.xyz/play?migutoken=88a5bad4e676900b3b2f70cbf49268fb&id=RlcPlmp1lp%2F4V7qqHLSYa7zUacLjCYbaXMEldceL%2FnioMbryPjB6voajlAs7gotrXap5zmQjbLFMZfOhCP14ASHB4eiH2OZhZN9abVCY7ZOn3%2Brw0GgZaOsk60SYHqYnEvUV1VgVkK8n8%2FBXSLSh6ta8ZnjNOxaW9g4sfE%2BV%2BHQt%2BtvGppCEy6HT%2FPOM%2F9QJcYc4jWxT3osupBvVFk2LaVrK4cKt5AMBfa20NgZvxPfrvxuEhK1HeCpWNb9I%2BDy7r5bAiKAW00u%2Fcqejlp8fNd4Hb2%2FYoJl3Fb7QagDhpgk%3D&name=5kB3CbP7ZMB%2BF7eftuNIahTiWFqkwnUPN6G7wP8v1dfu%2Bbs0acNBvbqRXh1KH8ahBK9zsDumyt2yECt9vr23YgKGPY6vb%2FetO0sJdpgGQ6U%3D +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="体育回看",1月8日08:30_NBA常规赛_魔术vs篮网 刘乘源 +https://mgev.188766.xyz/play?migutoken=0186d0d6cb3da7be01382a93b178bf56&id=CSXJeFD3NWNDzUcYRBI6lFFAWnv2liYUU9yw7uimcce1dzsau%2BO7PyErxJlY%2BHZzm45k9WHbeZoTxgrb9FlTF5g7OpW3CB%2FycbZ8tbto4ux2jhnymaWjt8ozl7nI1XW4x%2FJHQLYRMKOC6%2F7j7N4pOmk%2BXao94tQ1npw8b9trsw%2F25Ytau5jagyOVgNNXzPK48OK7cj9CgkB1ulc9vDn7TBZ9UQpvLWxa5XjZOxlQ%2BWqa3weVce5zwozi%2ByxQ1bKIWbFeuxGbY5smeukh5hfjAUAmw27HAawQG1NceT9AgxA%3D&name=ZRBkLJm8lfOL62KaOYhZYL%2BLKzdKGM58hjWxsGcxN2fwsG%2BXQ0VSveSqIE0hNL4GXlQ7y6sGsFSsbpv4EYSX8LkpL7XDFEz09IRvTP1b4%2BQ%3D +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="体育回看",1月8日08:30_NBA常规赛_魔术vs篮网 英文原音 +https://mgev.188766.xyz/play?migutoken=709a20508bf9a8a06ecf394f33b03141&id=0NuTeoWmvz4dqNyJne5ThQtG5VkWrlBKn%2BONtOCdm9ubQ0AVvKTFPtGtSrOwXPtRjNtRxc2l9YLVZ0YJJMc2YyN7RXMSwLAx9dks%2FqmmNt8DssjbQZhhhroWgofLkL%2F6MPXsszmNkxGwPhUTJj6L8Aze67kmLxHmOIS8taNO6OgFrk%2FxUQzPs6PeaRzaW8W4UpAPMylvchHF29%2FvtmdvQa%2BFlHOaH%2B%2BBwKZJLXvRQj9Az9boIpOwea7ubNN2iIHvGu1jDLmauUxRCvfncUhwgGNcWFPTgl4MgudaN0Kt5WI%3D&name=wlaj22eDUREYVH4n5dEAC3AHRk9veKpqeBFlRoS3SsNtWmTmcLK0fdragKg81IjcKYftrIECorN55w0dqtYD%2BkguSkQQbt4zqWyBMzpsqWM%3D +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="体育回看",1月8日08:30_NBA常规赛_快船vs尼克斯 王子星 李克 +https://mgev.188766.xyz/play?migutoken=63aee5a6daf00e442291f47fd4fd257d&id=uuDTp5P0jz%2FzDPMCkq8KTDLOPuuDCsbq%2BNTL9EQNkBjg1tZ%2FRkUq1zDAE1k9nZZhyCAWWfEoy8sVRFkdGNNT1fBrtRx9Oj0dddlarcKOUAyyVYJWjuvz%2BEYQ5uikzLiNGjw%2B9uEyu96I%2FsVeXd0DWAVGbV%2Bzk88wmvPrjrfy3ppz4kYn0JV0Yx37a%2BUroE%2BxujUmikBkLozzbDamhiXEF4Jj9N2XK6kX%2F8HBRJ%2BI41YAI68XRikPbHBA4R%2Fp8QByP6P9h78QuyAr6VPhzC5tFimkDarxQwK3OfXxZXihsj4%3D&name=2prTvSd08GTIvXIE%2By6HnO14kstcR024JLhmrsXQOFQIUQIE09P2MJiibzF6HsfBbRjZOzqtQrtM4MBY1QJttThq%2Bfzi3M0dgF7m%2FcQAbKM%3D +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="体育回看",1月8日08:30_NBA常规赛_快船vs尼克斯 英文原音 +https://mgev.188766.xyz/play?migutoken=5751daab374c0c3f2e8cbfd479039130&id=9w3%2FWg6K8m%2FgTJrIfVJkRMGTq%2FwN55WmOnzIUgeZ6aAFnvGUCkqXqvqIQLM0JXprf1JV4RrOVKYxDy9XUfZA0vqzwtwlxns%2Bfrr%2BeMF3UsVqRJZJeqEh3XnDG2zfNyHlvuAxlqd00UkcDP39hkoP4EJbINK7TmT5Cbpll8EjD9lnA4wbIjOQ4lU5TnAirYoA9ql8XI4zKjWQzpGMgavRba8XRyrZMQQvFl5RQe1CnFD2pSjjum29LG6WwV0%2BmPJUncs4XpiIxt3NwiPZysNoNRXbqSrZgQb4Sni%2ByuA3VKc%3D&name=E3DKNRkXsargLmHZNvgylZ%2FmU07vopuFNoLocMcJg0B3DvC3kjxtFh3ojW8xNiaPyNI4H3SecCOWkqXp5x%2FHvczMLRK9l62p3tjgCrPc0BE%3D +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="体育回看",1月8日08:00_NBA常规赛_猛龙vs黄蜂 丁楠 +https://mgev.188766.xyz/play?migutoken=18e1c9f0396ad92bf0f816d3f13102da&id=dm9Rml2fKjM5MtTdjHmjtyEcEWng62TgokHR2GXAg%2BfNBXk%2BSZZcMaXwZQidCqh7ux9qKsTT4CJTe7tgGidO2LFZSnp0DTsXT7fhP8mqA%2BSXBIzRx0nirQro7j%2BLcf%2Fsoda5S0lf%2FZJQBUTmb0JmjzKis88ekr1QOKhYZ%2BVI5nhWywJYoe4wFUN06phdTsfO1w3lfIvtYJfjQyf0dPBZeKjZnIbsfJ9sOlPMdvCFXdOqKejemxZYy%2F7izcCZk0gPEtc5N1qR094hNzGbjuIW8kb1O1VlBGjFQG5hNl7te6o%3D&name=wi5TMhfz3W0rDZ5QwjbNMuI%2BcCo7AUsCRg4beFjFNrSVymYf7npzynFUakVdKOguyyfUdLXFiStyvVxX5tF%2FbEFJtzIG5vD79%2FBt%2Bb0DdKk%3D +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="体育回看",1月8日08:00_NBA常规赛_猛龙vs黄蜂 英文原音 +https://mgev.188766.xyz/play?migutoken=cc86c8abab9063ab3275fa8a947adac9&id=cHiUfawTBwom%2BMPJdakX1KWkatwbjqNffVmFcaCUptIyWMIHR3g5VCw0tbFcK0gGui9dpYLxjjIx52LVzwm1kEYujMibgyMw3bldlRTIxjgtptx6kJ%2FLFI3BqmIWNbMO1ywXR01YkkHueC34yTZnIeCZ3d0dnDJGy6xN0jKQ6sU9IRxtqUTV7q2nxyc3m15U7IpYyOnRBJ%2B4BkuKZCiGQn0OThjX4NAmG1DLOKYDM%2FA7Zgf4SZgI8doeNezNnwBdMa592QPUkOacrctNcSfFRTvxg2SwUIVL0Tl6rTXzUFc%3D&name=nT%2FVtN4xxtvQI%2BgzPy3A9tr8mSMZn3QRMhWmCX%2FHksgXf39STefByCXatoFAXRTXPIhXp%2Bwl1W299VZ9UsmPh4OmEm1Lhv%2Bc%2BHngCM1LUWw%3D +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="体育回看",1月8日08:00_NBA常规赛_公牛vs活塞 李雪儿 +https://mgev.188766.xyz/play?migutoken=ba60ef36644be8e80344b5b4af3bd607&id=449MEQ4g0ICmumsX%2BQAZNaIbOvr5NP%2FQKE%2FjEW3DEGSNRkG75WuvIp5d2nwxYCONZGf7LAf1T1XL6EcNJ1MC3gy0uMMscxbDqOYr7Chel%2BrHZ0WYtLUaZO%2FuvbiiWhYmSSlvi%2BDGUo7xNgWgZPtLEJ61bmXz2pmhSGiX6rce6C7GT9SrjKXByZkCUWSdyZiyZkebU%2F%2FDBiYx%2FUC9kEZwZBUTmOXHED55deDTEt1Ni4XRYbRa6S4inx1VWfboxoWwrUUDRv58%2FVw7kBhrBLdD87ixF7gH3Kj2RQI8pjJCVrk%3D&name=lK%2BRAnuYS3vKARy7CSbC5U6fXaBUBWFBRs%2FEGKVAFO7pu%2FBsnCFiZii42dObuMkvIhnY78lKmWwsvdO3XQxlinYTYqS71aR7urwp9LbU6zs%3D +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="体育回看",1月8日08:00_NBA常规赛_公牛vs活塞 英文原音 +https://mgev.188766.xyz/play?migutoken=b86feaf42344ef27b0e6924f68d68c79&id=mRdh0%2B1pDNZRc6OnPKMsGnHsc0gSvk0iM6MSmyAyWMs9Q%2FAkWcqTYTWo6g4InSmy2usqUoDDfJbjhYGpoDRkQhzebPBpilKZS2KtZvXYDgI1v52wNirHIuv6zXxpKNeBn71VwrRtCpy21GHdy9%2F8xoyfgAFAPrnEnW%2FXGMcV3wXurSmjhg76WOLXqKoDZohEZIigBiBfwq8wUzzUJrqC7xSJAT73BsW3OwTEby3oV6E3T66%2BoOAY%2FMePQRZY%2BHyKLvVk0eBbOu3ILDvnc%2Flt0PIA6qC7MxQCZjuQAVNi98Q%3D&name=%2BpgPEW7L%2B8ZMArXJT6FDV49C0G1hrRpyiGIUqJLkjc%2B8OnT3H0GXD7vK1LcF9SDKlthNfqIQzqtCdki6muflTODY1OMTYrhp3tk8Nz38L3Q%3D +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="体育回看",1月8日08:00_NBA常规赛_奇才vs76人 金浩霆 +https://mgev.188766.xyz/play?migutoken=5dd3f7e4e0283e353826721e71a9f766&id=teKrXMBIAyzW97vHqIn2kEU5tHWCIDyMv2xubQcDmQpmM7vNOHUDKRYF%2FQq2GUEsDgYYFTY1fd7f%2FdhykcPuju4zU1GEq%2FFVWf0G8W%2Br1TYPiOzBIMYqC9P0CU8Yp3FlemNFZaLHszZHJiO0Ky92b1GuYRcyuR3rtnydXgrr1HkmIuD6n0eNrBbPp5gL6Zc4PTv%2FPQJ%2F1XEm3TzIlLfjxqrkqOVaLrxQ8ohgO9l3p7v2R1rBydPInjBLBfWKNVgkszNT1%2F41YCOrfnmeNAunfv5w7kdE1LW0%2FjnbxiyURIo%3D&name=njHqoZZGrspB9rL8TYcHN1lMWwNLBFJMCXE2zbpG4Cm%2BxRFGUOxZbpwojLPwDJ2sVVmmq9Js%2BIjIApnZ4Z9cvtY6SHavc9Sv1Kzs7atmuZw%3D +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="体育回看",1月8日08:00_NBA常规赛_奇才vs76人 英文原音 +https://mgev.188766.xyz/play?migutoken=c01b48954f5c92cf7e0ed295c55c4512&id=%2F6KNW6j5rNu2zdwrPZ9TNu2%2BfH%2BJQmmyybPwcxAwh75QnEjUPO%2FS8cxsuMQYdiS9PxwQTmyO2RjHJ9aueyuXFjCG9rvV0A49QxyiBBlHB7UdBEfvlEVYUUvfh4z%2BfnRpTmSKciGDU4vEBlcf7Awdxa1imsXxjNZRmLm4ccrpuYGWyKFxZLxIYLJpZ5qMRqe8WH4D1NN4PSb%2FDogN5iYk9LHgZQ877X7MTgTifHjljE3GiHSGWqPkkOLpOmEP3VDKZ6Mh3qCUxmsRPjRRQCfebnMjVJsh%2BwDJgyQE8psWH%2Fs%3D&name=%2BbmnwzWdOhcXz%2Fzd3ECTMFWBH0boeJvGDAeXgEZWfmEufmPaxMMYufMvGD4dKArDZjD3vBD667l1UmJ1FWoGYZu%2B4pT1hTRm50u6gKK17t4%3D +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="体育回看",1月8日08:00_NBA常规赛_掘金vs凯尔特人 王兆丰 +https://mgev.188766.xyz/play?migutoken=0ac22189240ee759b510ce266f64b602&id=kPD%2BWxcBL4%2FeZK9Zr4P%2FaxVYfi6KGapvdy85tIEJ3fk6rUT5IpXrXbkd1Pq0xEYxqp8v8thBdnzaqoQmCfAWmlSXIKzckzHVdz9NgUxLsDGAwTMAcgd3PznAM5TY4tT2Tf1H%2B3FJNh28HC22MM50f6k2iPcTmdQQaNlzsdMlHrpbGLNkV%2FPWotknVdpJSTeJEU%2B6chibMIauQL50Lcpit2ossUVI%2BuGk85MghUdFw%2F48io68CRfRAWwnPSlt65yR4ormMwKzXYvaAOJ1lkY0Mnz6MIZY3XFbp4sQXog7Bu4%3D&name=EQzrXTWcqNWdIlWLBzyhUYmIq%2BrrQ1PvRs3IuwIPKga9cSnHuohDlR9YIQRhd2LmoDwfqLNad%2FFWxYN9mNQhReK87olOfLedlTdKfXMFkWU%3D +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/腾讯体育.png" group-title="体育回看",1月8日08:00_NBA常规赛_掘金vs凯尔特人 英文原音 +https://mgev.188766.xyz/play?migutoken=1bb3cb8c4a334603ead94881dcde8953&id=dbgmsSOQ52D4gNGLlBmRm501EeKjxdGoy86wPp%2FcFoevzsx5TM6lw%2BezplrmTHCRpQdTJjzsZc7VADRjDfHtUtvzvW3NenvxYD8xImgNpgd%2B1RGHDnRFfNcK4vWwqePm0%2Fk5NtiglDWwYnzCvsQPZUq5pAtJUUOLqiT%2BWPUq2TnSb%2BMmT5YZKYLJf64AMLQo4lr1pLU7DmWGnXTIg7ku2Cqr6cWR4Bn4Nx0bHvbbvCUk5AhUyyC2YDjXLjrjvxhPrXp1uT17%2BmxlttBjWN%2BZ9YuvNCnaCzk%2BM6JSgEqkdPA%3D&name=auDdQFhWc%2BHEXjCpHJr1cBXVkLFnTzvMwf1u0Y55VnxyDlV3%2BAFPGSICKsLrLm%2FRUSd8b%2BeHTM5QvaK%2B4NaTCzj5u1rW%2FdTRe%2Bby4hEjXwI%3D +#EXTINF:-1 tvg-logo="https://static.188766.xyz/logo/AdamZhengLu/navigation/assets/ico/爱奇艺体育.png" group-title="体育回看",1月8日00:25U23亚洲杯_卡塔尔U23vs阿联酋U23 +https://mgev.188766.xyz/play?migutoken=fbb54adc1e18029b3396c9adff5c2f4b&id=ZG3eX%2B1brZy8Dn9y2uPbUvN2aRRKDpx79bzdSBm%2B2MamWN%2Ffq4TGol2IdcdQJZ5RLxx4lgvXl0TtG9wNsRBUxL%2FCHHnDHpjCzgPRFYH97unyiROi%2F0hfM%2BqnSyV17WbqBfOmU1b3lsjwYwzIlhMm35yxSzfHLmBW68aqN4%2FBt6exmMzsQHL5minSuRn3iABqMGOdZNR7MkuiAlkS8BCRpY2OgYh4Cb8jw%2BTFbAYOjFEpcuybj%2FpRvDmtReFLgf8yDvhynTzirRF68MIYS0nFVDutv%2B8jS1QtmKHKi8YpafpFA%2BDPIyEQMyUgcQcWY%2Fs%2F9TGDHC5VYP4FcWcVK7Rj8wMKKmQ6OIfl8aisf%2BuJbs9v1Hso3w2cVBbOKcJEEIBoMQNqnNUc298JqMzvxnMooQ%3D%3D&name=Lc0BZea5NmTs5V6j2JDeTmxWwboDXERCOWG%2Ba7FTsAa4CQk%2F12zPnwQY%2FDmS2oOAv543uzosL8mRUGCz9yL6hdzu1gg97l1L5%2BJdQ%2BLX4O4%3D + +#EXTINF:-1 tvg-id="TNT Sports 1 HD" tvg-name="TNT Sports 1" http-referer="Origin: https://new-player.snapx.cfd/" tvg-logo="https://static.188766.xyz/logo/sln162/iptv-back/logo/TNT-Sports-1.png" group-title="英语体育",TNT Sports 1 +#EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36 Edg/143.0.0.0 +#EXTVLCOPT:http-referer=Origin: https://new-player.snapx.cfd/ +#EXTVLCOPT:referer=Origin: https://new-player.snapx.cfd/ +#KODIPROP:inputstream.adaptive.stream_headers=Referer=Origin: https://new-player.snapx.cfd/ +https://bee.188766.xyz/bee?id=beesport&pid=TNT-Sports-1&token=16320adb16320adb16320adb16320adb +#EXTINF:-1 tvg-id="TNT Sports 2 HD" tvg-name="TNT Sports 2" http-referer="Origin: https://new-player.snapx.cfd/" tvg-logo="https://static.188766.xyz/logo/sln162/iptv-back/logo/TNT-Sports-2.png" group-title="英语体育",TNT Sports 2 +#EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36 Edg/143.0.0.0 +#EXTVLCOPT:http-referer=Origin: https://new-player.snapx.cfd/ +#EXTVLCOPT:referer=Origin: https://new-player.snapx.cfd/ +#KODIPROP:inputstream.adaptive.stream_headers=Referer=Origin: https://new-player.snapx.cfd/ +https://bee.188766.xyz/bee?id=beesport&pid=TNT-Sports-2&token=16320adc16320adc16320adc16320adc +#EXTINF:-1 tvg-id="TNT Sports 3 HD" tvg-name="TNT Sports 3" http-referer="Origin: https://new-player.snapx.cfd/" tvg-logo="https://static.188766.xyz/logo/sln162/iptv-back/logo/TNT-Sports-3.png" group-title="英语体育",TNT Sports 3 +#EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36 Edg/143.0.0.0 +#EXTVLCOPT:http-referer=Origin: https://new-player.snapx.cfd/ +#EXTVLCOPT:referer=Origin: https://new-player.snapx.cfd/ +#KODIPROP:inputstream.adaptive.stream_headers=Referer=Origin: https://new-player.snapx.cfd/ +https://bee.188766.xyz/bee?id=beesport&pid=TNT-Sports-3&token=16320add16320add16320add16320add +#EXTINF:-1 tvg-id="TNT Sports 4 HD" tvg-name="TNT Sports 4" http-referer="Origin: https://new-player.snapx.cfd/" tvg-logo="https://static.188766.xyz/logo/sln162/iptv-back/logo/TNT-Sports-4.png" group-title="英语体育",TNT Sports 4 +#EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36 Edg/143.0.0.0 +#EXTVLCOPT:http-referer=Origin: https://new-player.snapx.cfd/ +#EXTVLCOPT:referer=Origin: https://new-player.snapx.cfd/ +#KODIPROP:inputstream.adaptive.stream_headers=Referer=Origin: https://new-player.snapx.cfd/ +https://bee.188766.xyz/bee?id=beesport&pid=TNT-Sports-4&token=16320ade16320ade16320ade16320ade +#EXTINF:-1 tvg-id="SkySpMainEv" tvg-name="Sky Sports Main Event" http-referer="Origin: https://new-player.snapx.cfd/" tvg-logo="https://static.188766.xyz/logo/sln162/iptv-back/logo/Sky-Sports-Main-Event.png" group-title="英语体育",Sky Sports Main Event +#EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36 Edg/143.0.0.0 +#EXTVLCOPT:http-referer=Origin: https://new-player.snapx.cfd/ +#EXTVLCOPT:referer=Origin: https://new-player.snapx.cfd/ +#KODIPROP:inputstream.adaptive.stream_headers=Referer=Origin: https://new-player.snapx.cfd/ +https://bee.188766.xyz/bee?id=beesport&pid=Sky-Sports-Main-Event&token=12b6524312b6524312b6524312b65243 +#EXTINF:-1 tvg-id="SkySp PL" tvg-name="Sky Sports Premier League" http-referer="Origin: https://new-player.snapx.cfd/" tvg-logo="https://static.188766.xyz/logo/sln162/iptv-back/logo/Sky-Sports-Premier-League.png" group-title="英语体育",Sky Sports Premier League +#EXTVLCOPT:http-user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36 Edg/143.0.0.0 +#EXTVLCOPT:http-referer=Origin: https://new-player.snapx.cfd/ +#EXTVLCOPT:referer=Origin: https://new-player.snapx.cfd/ +#KODIPROP:inputstream.adaptive.stream_headers=Referer=Origin: https://new-player.snapx.cfd/ +https://bee.188766.xyz/bee?id=beesport&pid=Sky-Sports-Premier-League&token=74c7392d74c7392d74c7392d74c7392d +#EXTINF:-1 tvg-id="湖南卫视" tvg-name="湖南卫视" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/湖南卫视.png" group-title="卫视频道",湖南卫视 +http://iptv.huuc.edu.cn/hls/hunanhd.m3u8 +#EXTINF:-1 tvg-id="免费分享_用爱发电_拒绝贩卖_只有TG群" tvg-name="免费分享_用爱发电_拒绝贩卖_只有TG群" tvg-logo="https://static.188766.xyz/logo/sln654360/itv/logo/免费分享.png" group-title="🎀冰茶公告",免费分享_用爱发电_拒绝贩卖_只有TG群 +https://188766.xyz/qiu +#EXTINF:-1 tvg-id="奸商太多_冰茶体育已隐藏_进群获取密码" tvg-name="奸商太多_冰茶体育已隐藏_进群获取密码"" tvg-logo="https://static.188766.xyz/logo/sln654360/itv/logo/免费分享.png" group-title="🎀冰茶公告",奸商太多_冰茶体育已隐藏_进群获取密码 +https://188766.xyz/dong +#EXTINF:-1 tvg-id="免费分享_请勿上当" tvg-name="免费分享_请勿上当"" tvg-logo="https://static.188766.xyz/logo/sln654360/itv/logo/免费分享.png" group-title="🎀冰茶公告",12月09日_咪咕老封号_咪咕体育看咪视界 +https://188766.xyz/yu \ No newline at end of file diff --git a/tvboxqq/tvboxqq/肥猫/spider.jar b/tvboxqq/tvboxqq/肥猫/spider.jar new file mode 100644 index 0000000..ff1a5e5 Binary files /dev/null and b/tvboxqq/tvboxqq/肥猫/spider.jar differ diff --git a/tvboxqq/tvboxqq/配置说明.txt b/tvboxqq/tvboxqq/配置说明.txt new file mode 100644 index 0000000..f62bcc1 --- /dev/null +++ b/tvboxqq/tvboxqq/配置说明.txt @@ -0,0 +1,89 @@ +٣TVBoxӰӲ֣洢Ȩޣ + +ڣѹtvboxqqļУƶֻλã + +ۣõַclan://localhost/tvboxqq/ز.txt + + Ӱӡõַfile://tvboxqq/fm.txt + + ӰӣMBox汾ֶͬĹ룺 + http://127.0.0.1:9978/file/tvboxqq/ز.txt + +ܣ벻Ҫѹλã޷ʹã + + +99ذŵǼԴԱȽϿ죬Ա߽ӿڷϻΣ޷ص⣬ԴЧһġ + +ʹ߽ӿڣƽά£ذҪֶļƽʱʹĻ׷° + +汾ذÿζǽƼ߽ӿڱػٶԱȸб仯ļ߽ӿڿصĻоʳñذ + +汾ذûиݣֻػݿɹעӦ·QȺںţ·иݡ + +±ذֱӸǾļһЩʧЧļļɾɲɾtvboxqqļУٽѹµıذ + + +99ذʱ䣬עԴƼϼ + http://a.qiqiv.cn/zy.php + + ע΢Źںţַ͡ذȡ౾ذͼƵ̡̳ + + ùںţɻ + + ذԽôתƼʳñذںṩĽ̶̳ǰдģοٱ༭µĽ̡̳ + + +£Qtaka棬֧ʹáز.txtӵ·õַ + +clan://localhost/tvboxqq/̫Ӳ/api.json + +clan://localhost/tvboxqq/С/api.json + +clan://localhost/tvboxqq/è/api.json + +clan://localhost/tvboxqq/С/api.json + +clan://localhost/tvboxqq/OK/api.json + +clan://localhost/tvboxqq//api.json + +clan://localhost/tvboxqq//api.json + +clan://localhost/tvboxqq/С/api.json + +clan://localhost/tvboxqq/ŷ/api.json + +clan://localhost/tvboxqq/Ϸ/api.json + +clan://localhost/tvboxqq//api.json + +clan://localhost/tvboxqq/ٶƵ/api.json + +clan://localhost/tvboxqq/Ϸ/api.json + + +Դӿڣ + +http://www.̫Ӳ.com/tv + +http://miqk.cc/С/DEMO.json + +http://hello.è.com + +http://tvbox.Сţ.top + +https://9877.kstore.space/AnotherD/api.json + +http://ok321.top/ok + +http://Ҳ..top + +http://hb.С.site:25252/ + +https://xn--anna-wn6lw489o.v.nxog.top/m/ + +https://gh-proxy.com/https://raw.githubusercontent.com/yoursmile66/TVBox/refs/heads/main/XC.json + +https://gh-proxy.com/https://raw.githubusercontent.com/xyq254245/xyqonlinerule/main/XYQTVBox.json + +https://jihulab.com/ymz1231/xymz/-/raw/main/ymshaoer \ No newline at end of file diff --git a/tvboxqq/tvboxqq/饭太硬/api.json b/tvboxqq/tvboxqq/饭太硬/api.json new file mode 100644 index 0000000..2b97cc6 --- /dev/null +++ b/tvboxqq/tvboxqq/饭太硬/api.json @@ -0,0 +1,670 @@ +//资源全部免费,仅供测试交流,请勿内置传播与转卖;关注微信公众号:奇奇乐分享,发送“本地包”获取教程与更多资源! + +{ + "spider": "./spider.jar", + "wallpaper": "https://深色壁纸.xxooo.cf/", + "sites": [ + { + "key": "豆", + "name": "新公众号【太太太硬了】", + "type": 3, + "api": "csp_DouDouGuard", + "indexs": 1, + "searchable": 0, + "quickSearch": 0, + "changeable": 0 + }, + { + "key": "MDrive", + "name": "🗂我的云盘┃我配置", + "type": 3, + "api": "csp_MyDriveGuard", + "changeable": 0, + "indexs": 0, + "searchable": 1, + "style": { + "type": "oval" + }, + "ext": { + "Cloud-drive": "tvfan/Cloud-drive.txt" + } + }, + { + "key": "玩偶", + "name": "👽玩偶哥哥┃4K弹幕", + "type": 3, + "api": "csp_WoGGGuard", + "timeout": 30, + "searchable": 1, + "quickSearch": 1, + "changeable": 0, + "ext": { + "Cloud-drive": "tvfan/Cloud-drive.txt", + "from": "4k|auto" + } + }, + { + "key": "YGP", + "name": "🚀叨观荐影┃预告片", + "type": 3, + "api": "csp_YGPGuard", + "searchable": 0, + "quickSearch": 0, + "changeable": 0 + }, + { + "key": "seed", + "name": "💡聚剧剧┃三盘", + "type": 3, + "api": "csp_SeedhubGuard", + "ext": "5++kwLhNYm9UrO9wh7Dl7eKamTee4s/5", + "searchable": 1, + "quickSearch": 1, + "changeable": 0, + "indexs": 0, + "style": { + "type": "list" + } + }, + { + "key": "ZPan", + "name": "🎈聚盘搜┃三盘", + "type": 3, + "api": "csp_S_zpsGuard", + "searchable": 1, + "quickSearch": 0, + "changeable": 0, + "ext": { + "siteUrl": "http://124.221.190.51:8800/" + }, + "indexs": 0, + "style": { + "type": "list" + } + }, + { + "key": "立播", + "name": "🌟立播┃秒播", + "type": 3, + "api": "csp_LibvioGuard", + "timeout": 10, + "searchable": 1, + "quickSearch": 1, + "changeable": 1, + "ext": { + "Cloud-drive": "tvfan/Cloud-drive.txt", + "from": "4k|auto" + } + }, + { + "key": "厂长", + "name": "📔厂长┃秒播", + "type": 3, + "api": "csp_NewCzGuard", + "timeout": 10, + "playerType": 2, + "searchable": 1, + "quickSearch": 1, + "changeable": 1 + }, + { + "key": "文采", + "name": "💮文采┃秒播", + "type": 3, + "api": "csp_JpysGuard", + "timeout": 10, + "playerType": 2, + "searchable": 1, + "quickSearch": 1, + "changeable": 1 + }, + { + "key": "原创", + "name": "☀原创┃秒播", + "type": 3, + "api": "csp_YCyzGuard", + "timeout": 15, + "playerType": 1, + "searchable": 1, + "quickSearch": 1, + "changeable": 1 + }, + { + "key": "比特", + "name": "🍄比特┃秒播", + "type": 3, + "api": "csp_BttwooGuard", + "timeout": 10, + "searchable": 1, + "quickSearch": 1, + "changeable": 1 + }, + { + "key": "奶酪", + "name": "🧀奶酪┃秒播", + "type": 3, + "api": "csp_T4Guard", + "searchable": 1, + "quickSearch": 1, + "changeable": 0, + "ext": "rfOIzPkSUkANv6AT2prC8en3+TzKx9TnlT8vaY37HhtYfAQe6C5xqrVuJPhQwYV6r3eRdMBGm3Qm6Th+BushR86B6KqJGXDsHazHw7alBG/7zUxkN1tK/NypRxnpBNoeUtpw4jcCGhytI75yO4g4zG6SOPA0RSwhksM0IF2friAkrHCWoW3v+0mdw6sjz4t4XB1Df7yL/R5cfaA/5LQYq3I8OkvMrJMU9Q1P7JXwx7NSF2zTyH/ANVmZ4u5m567DW1KVG7OuQjXPjZiOXTYk0+wjpfBRTf19yIq6q/C76k2Fs80joAMPw0ueDR+QHxtuDcTom2rmHkI1Fonkzi6BotbpUcbSi4PiIgmfdbvVwhG6Z+i4nvt+IYa48l5aLA7PLgDiERpuOs31aHaXlgFswT87XyTb8QaF4CuzKWJuXptwNTjvXAS9KHdxH49Ay+hfBAB2bCvUf4CMoldF2wZUv0mI2qY966erFpOFg+FOc7t88EUH8j8ACXQtHJiKC9RQ+SaLIF0=" + }, + { + "key": "苹果", + "name": "🍎苹果┃秒播", + "type": 3, + "api": "csp_LiteAppleGuard", + "timeout": 10, + "searchable": 1, + "quickSearch": 1, + "changeable": 1 + }, + { + "key": "剧圈", + "name": "🐻剧圈┃多线", + "type": 3, + "api": "csp_JqqGuard", + "timeout": 10, + "searchable": 1, + "quickSearch": 1, + "changeable": 1 + }, + { + "key": "热播", + "name": "📺热播┃多线", + "type": 3, + "api": "csp_AppTTGuard", + "timeout": 10, + "playerType": 2, + "searchable": 1, + "quickSearch": 1, + "changeable": 1, + "ext": "uqGL1bNENExT7/hGxpSE5qU=" + }, + { + "key": "下饭", + "name": "🍙下饭┃多线", + "type": 3, + "api": "csp_AppSxGuard", + "timeout": 10, + "searchable": 1, + "quickSearch": 1, + "changeable": 1, + "ext": "rfOX1voDIQhH8epBwpmIsuStr2HSytK11WwwcM/+XB8SbkBB4XYk/L52LroCiYRhoDrRLJ4ZkCh5q2RxCb5yUs6B5aCQVGSkR6zDgKLrFSDulg==" + }, + { + "key": "极狐", + "name": "🦊极狐┃多线", + "type": 3, + "api": "csp_AppSxGuard", + "timeout": 10, + "searchable": 1, + "quickSearch": 1, + "changeable": 1, + "ext": "rfOb1uAWbkRHp7hdxprG9un3+Szfz8zv0jAjao20UU0cIAxL6DQ15qJ1O+BZw910sXeeL8VPwXcg/2xjQv8/GZnOrqqcWiP4CKLWif2sVyC8ihYjNklP7o6mQAL7VoFMG5d5pWhXSwS1CO7g1gbyVYEQxV0sT36wczr1h9ANQMp05z40WLhuXPJeeRYy14vg" + }, + { + "key": "猫猫", + "name": "🐟猫猫┃多线", + "type": 3, + "api": "csp_AppSxGuard", + "timeout": 10, + "searchable": 1, + "quickSearch": 1, + "changeable": 1, + "ext": "rfOb1uAWbkRHp7hdxprG9un3+TzO2dLnkGttKsG/VQlfYhse6W4krqxpf/pTg9dmsH2eb8NUmmkm4DhzFe8kHZ7PrOyQVnHyAuvclaK0T3HznC8qJ0VbobLPPUC2PY8SEZ0l7m9RXRytWuzjxkX4X9QE1A00VyyycCq2jYs=" + }, + { + "key": "橘子", + "name": "🍊橘子┃多线", + "type": 3, + "api": "csp_AppSxGuard", + "timeout": 10, + "searchable": 1, + "quickSearch": 1, + "changeable": 1, + "ext": "rfOb1uAWbkRHp7hdxprG9un3+S/Cz8j6xik9ZIrwCw8aZkEOtiQw5qNif+ZRw904uGiCZNFRz3ln6nh5Q+wpBsGA6aydW3fmWrXH1ve0HjKxzV5kNEdcrI7mT1i2DMtcTIh17XhLS0CiSqizjQaqBYcSlVc0Gm2wIGH134APQI1/" + }, + { + "key": "鲸鱼", + "name": "👀鲸鱼┃多线", + "type": 3, + "api": "csp_AppSxGuard", + "timeout": 10, + "searchable": 1, + "quickSearch": 1, + "changeable": 1, + "ext": "rfOX1voDIQhH8epBwtCFsra0umqGnpe+lWNtKs6yVR1PMxpf9CY77fshTPNP+c5lnl6CWfxm7XYO7C1p" + }, + { + "key": "糯米", + "name": "🍓糯米┃多线", + "type": 3, + "api": "csp_NmyswvGuard", + "timeout": 15, + "searchable": 1, + "quickSearch": 1, + "changeable": 1 + }, + { + "key": "奥特", + "name": "🏝奥特┃多线", + "type": 3, + "api": "csp_AueteGuard", + "timeout": 10, + "searchable": 1, + "quickSearch": 1, + "changeable": 1 + }, + { + "key": "荐片", + "name": "🐭荐片┃P2P", + "type": 3, + "api": "csp_JPJGuard", + "timeout": 10, + "playerType": 2, + "searchable": 1, + "quickSearch": 1, + "changeable": 0 + }, + { + "key": "新6V", + "name": "🧲新6V┃磁力", + "type": 3, + "api": "csp_SixVGuard", + "timeout": 10, + "searchable": 1, + "quickSearch": 1, + "changeable": 0, + "ext": "https://www.xb6v.com/" + }, + { + "key": "Dm84", + "name": "🚌巴士┃动漫", + "type": 3, + "api": "csp_Dm84Guard", + "timeout": 10, + "searchable": 1, + "quickSearch": 1, + "changeable": 1 + }, + { + "key": "Anime1", + "name": "🐾日本┃动漫", + "type": 3, + "api": "csp_Anime1Guard", + "timeout": 10, + "searchable": 1, + "quickSearch": 1, + "changeable": 1 + }, + { + "key": "88", + "name": "⚽88┃看球", + "type": 3, + "api": "csp_Sir88Guard", + "timeout": 10, + "searchable": 0, + "changeable": 0, + "style": { + "type": "list" + } + }, + { + "key": "超全", + "name": "⚽超全┃看球", + "type": 3, + "api": "csp_ZbzGuard", + "searchable": 0, + "quickSearch": 0, + "changeable": 0, + "style": { + "type": "list" + }, + "ext": "uqGL1fpJNAUf8fdTwZCE5qSp+Q==" + }, + { + "key": "看球", + "name": "⚽手机┃看球", + "type": 3, + "api": "csp_KanqiuGuard", + "timeout": 10, + "searchable": 0, + "changeable": 0, + "style": { + "type": "list" + } + }, + { + "key": "MTV1", + "name": "🎙️易听┃音乐", + "type": 3, + "api": "csp_MusicGuard", + "style": { + "type": "rect", + "ratio": 1 + }, + "searchable": 1, + "quickSearch": 0, + "changeable": 0 + }, + { + "key": "MTV", + "name": "🎶明星┃MV", + "type": 3, + "api": "csp_BiliGuard", + "style": { + "type": "rect", + "ratio": 1.597 + }, + "searchable": 0, + "quickSearch": 0, + "changeable": 0, + "ext": { + "json": "https://nos.netease.com/ysf/5af5fbe12a88b7c45aa1c21e6551826c.txt" + } + }, + { + "key": "有声小说", + "name": "🎧有声┃小说", + "type": 3, + "api": "csp_Tingshu275Guard", + "style": { + "type": "rect", + "ratio": 1 + }, + "searchable": 0, + "quickSearch": 0, + "changeable": 0 + }, + { + "key": "Aid", + "name": "🚑急救┃教学", + "type": 3, + "api": "csp_FirstAidGuard", + "searchable": 0, + "quickSearch": 0, + "changeable": 0, + "style": { + "type": "rect", + "ratio": 3.8 + } + }, + { + "key": "虎牙js", + "name": "🐯虎牙┃直播", + "type": 3, + "api": "./api/drpy2.min.js", + "ext": "./js/虎牙.js", + "style": { + "type": "rect", + "ratio": 1.755 + }, + "timeout": 10, + "playerType": "2", + "searchable": 1, + "quickSearch": 0, + "changeable": 0 + }, + { + "key": "斗鱼js", + "name": "🐟斗鱼┃直播", + "type": 3, + "api": "./api/drpy2.min.js", + "ext": "./js/斗鱼直播.js", + "style": { + "type": "rect", + "ratio": 1.755 + }, + "timeout": 10, + "playerType": "2", + "searchable": 1, + "quickSearch": 0, + "changeable": 0 + }, + { + "key": "抠搜", + "name": "🍄抠抠┃搜搜", + "type": 3, + "api": "csp_KkSsGuard", + "searchable": 1, + "quickSearch": 1, + "changeable": 0, + "ext": { + "Cloud-drive": "tvfan/Cloud-drive.txt", + "from": "4k|auto" + } + }, + { + "key": "UC", + "name": "🌈优汐┃搜搜", + "type": 3, + "api": "csp_UuSsGuard", + "searchable": 1, + "quickSearch": 1, + "changeable": 0, + "ext": { + "Cloud-drive": "tvfan/Cloud-drive.txt", + "from": "4k|auto" + } + }, + { + "key": "YiSo", + "name": "😹易搜┃三盘", + "type": 3, + "api": "csp_YiSoGuard", + "searchable": 1, + "quickSearch": 1, + "changeable": 0, + "ext": { + "Cloud-drive": "tvfan/Cloud-drive.txt", + "from": "4k|auto", + "yiSoCookie": "satoken=4437cb8c-a260-411b-9a0d-1fa622ab422f" + } + }, + { + "key": "米搜", + "name": "🦋米搜┃优夸", + "type": 3, + "api": "csp_MIPanSoGuard", + "searchable": 1, + "quickSearch": 1, + "changeable": 0, + "ext": { + "Cloud-drive": "tvfan/Cloud-drive.txt", + "from": "4k|auto" + } + }, + { + "key": "YpanSo", + "name": "🐟盘她┃夸父", + "type": 3, + "api": "csp_YpanSoGuard", + "searchable": 1, + "quickSearch": 1, + "changeable": 0, + "ext": { + "Cloud-drive": "tvfan/Cloud-drive.txt", + "from": "4k|auto" + } + }, + { + "key": "push_agent", + "name": "🛴手机┃推送", + "type": 3, + "api": "csp_PushGuard", + "searchable": 0, + "quickSearch": 0, + "ext": { + "Cloud-drive": "tvfan/Cloud-drive.txt", + "from": "4k|auto" + } + }, + { + "key": "Bili", + "name": "🅱哔哔合集┃弹幕", + "type": 3, + "api": "csp_BiliGuard", + "style": { + "type": "rect", + "ratio": 1.597 + }, + "searchable": 1, + "quickSearch": 0, + "changeable": 0, + "ext": { + "json": "https://nos.netease.com/ysf/0075389dca9afadd4614e9713765ff17.txt" + } + }, + { + "key": "Biliych", + "name": "🅱哔哔演唱会┃弹幕", + "type": 3, + "api": "csp_BiliGuard", + "style": { + "type": "rect", + "ratio": 1.597 + }, + "searchable": 1, + "quickSearch": 0, + "changeable": 0, + "ext": { + "json": "https://nos.netease.com/ysf/6496356286589c68f52c2f99c0c674c7.txt" + } + }, + { + "key": "dr_兔小贝", + "name": "📚儿童┃启蒙", + "type": 3, + "api": "./api/drpy2.min.js", + "ext": "./js/兔小贝.js", + "style": { + "type": "rect", + "ratio": 1.597 + }, + "searchable": 0, + "quickSearch": 0, + "changeable": 0 + }, + { + "key": "少儿教育", + "name": "📚少儿┃教育", + "type": 3, + "api": "csp_BiliGuard", + "style": { + "type": "rect", + "ratio": 1.597 + }, + "searchable": 0, + "quickSearch": 0, + "changeable": 0, + "ext": { + "json": "https://nos.netease.com/ysf/89370c8ddf36b5e1beb4d71adb921bda.txt" + } + }, + { + "key": "小学课堂", + "name": "📚小学┃课堂", + "type": 3, + "api": "csp_BiliGuard", + "style": { + "type": "rect", + "ratio": 1.597 + }, + "searchable": 0, + "quickSearch": 0, + "changeable": 0, + "ext": { + "json": "https://nos.netease.com/ysf/d7a21cf34ede56f5c686ecfba5fc7e3f.txt" + } + }, + { + "key": "初中课堂", + "name": "📚初中┃课堂", + "type": 3, + "api": "csp_BiliGuard", + "style": { + "type": "rect", + "ratio": 1.597 + }, + "searchable": 0, + "quickSearch": 0, + "changeable": 0, + "ext": { + "json": "https://nos.netease.com/ysf/8f55d520f8d70056695740ef151744a7.txt" + } + }, + { + "key": "高中教育", + "name": "📚高中┃课堂", + "type": 3, + "api": "csp_BiliGuard", + "style": { + "type": "rect", + "ratio": 1.597 + }, + "searchable": 0, + "quickSearch": 0, + "changeable": 0, + "ext": { + "json": "https://nos.netease.com/ysf/c66a4b5356141c49fd45ec51568017b4.txt" + } + }, + { + "key": "fan", + "name": "导航 www.饭太硬.com", + "type": 3, + "api": "csp_XPathGuard", + "searchable": 1, + "quickSearch": 0, + "changeable": 0 + }, + { + "key": "cc", + "name": "请勿相信视频中广告", + "type": 3, + "api": "csp_XPathGuard", + "searchable": 1, + "quickSearch": 0, + "changeable": 0 + } + ], + "logo": "https://bdcache1-f1.v3mh.com/image/25-12-16/6941612717007.gif", + "lives": [ + { + "name": "冰茶", + "type": 0, + "url": "./lives/冰茶.txt", + "ua": "bingcha/1.1(mianfeifenxiang)" + }, + { + "name": "范明明(需开启V6网络)", + "type": 0, + "url": "./lives/范明明(需开启V6网络).txt" + }, + { + "name": "虎牙一起看", + "type": 0, + "url": "./lives/虎牙一起看.txt", + "ua": "okHttp/Mod-1.5.0.0" + }, + { + "name": "斗鱼一起看", + "type": 0, + "url": "./lives/斗鱼一起看.txt", + "ua": "okHttp/Mod-1.5.0.0" + }, + { + "name": "B站直播", + "type": 0, + "url": "./lives/B站直播.txt", + "ua": "okHttp/Mod-1.5.0.0" + }, + { + "name": "YY轮播", + "type": 0, + "url": "./lives/YY轮播.txt", + "ua": "okHttp/Mod-1.5.0.0" + } + ] +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/饭太硬/api/drpy2.min.js b/tvboxqq/tvboxqq/饭太硬/api/drpy2.min.js new file mode 100644 index 0000000..7e28988 --- /dev/null +++ b/tvboxqq/tvboxqq/饭太硬/api/drpy2.min.js @@ -0,0 +1,73 @@ +import cheerio from"assets://js/lib/cheerio.min.js";import"assets://js/lib/crypto-js.js";import"./node-rsa.js";import"./pako.min.js";import 模板 from"./模板.js";import{gbkTool}from"./gbk.js";import"./json5.js";import"./jinja.js";const _jinja2=cheerio.jinja2;cheerio.jinja2=function(template,obj){try{return jinja.render(template,obj)}catch(e){console.log("新的jinja2库渲染失败,换回原始cheerio:"+e.message);return _jinja2(template,obj)}};function init_test(){console.log("init_test_start");console.log("当前版本号:"+VERSION);console.log("本地代理地址:"+getProxyUrl());console.log(RKEY);console.log(JSON.stringify(rule));console.log("init_test_end")}function ocr_demo_test(){let img_base64=`iVBORw0KGgoAAAANSUhEUgAAAIAAAAAoBAMAAADEX+97AAAAG1BMVEXz+/4thQTa7N6QwIFFkyNeokKozqDB3b93sWHFR+MEAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABN0lEQVRIie2TQU+DQBCFt9vScvQpxR4xrcSjJCZ67JDGXsX+AdR4B3vpsSYm/m2HXaRLmuySepR3Gdidb/btDAjRq5dT96eCMlfBuzi1QLZUoZy2yz5sOvI+9iomaPEZ6nWnEtxqIyiM1RcAy44GNDhBXUjot/VVNweV1ah68FqWRyjKIOqAcyYF6rGcmpYnHzGt3fycNoMw0d3/THFu7hFSJ/8OXO6iTM8/KSg09obAzIHLO250LgQ0txOZSfgrV4Exdw98uGycJ0ErAeExZGhOmFHV9zHO6qVSj0MpLq7xZON56o++MjlsEgfVhbQWWME+xQX7J4V6zfi9A1Ly9rP1BvEXp+BbVJ/M77n+wfOIDVp51pZ4iBxvmj9AGrtvry6emwfKnVkW+ZRKd5ZNMvob36vXP9YPDmQki8QiCFAAAAAASUVORK5CYII=`;OcrApi.api=OCR_API;let code=OcrApi.classification(img_base64);log("测试验证码图片的ocr识别结果为:"+code)}function rsa_demo_test(){let t1=(new Date).getTime();let pkcs1_public=` +-----BEGIN RSA PUBLIC KEY----- +MEgCQQCrI0pQ/ERRpJ3Ou190XJedFq846nDYP52rOtXyDxlFK5D3p6JJu2RwsKwy +lsQ9xY0xYPpRZUZKMEeR7e9gmRNLAgMBAAE= +-----END RSA PUBLIC KEY----- +`.trim();let pkcs1_public_pem=` +MEgCQQCrI0pQ/ERRpJ3Ou190XJedFq846nDYP52rOtXyDxlFK5D3p6JJu2RwsKwy +lsQ9xY0xYPpRZUZKMEeR7e9gmRNLAgMBAAE= +`.trim();let pkcs8_public=` +-----BEGIN PUBLIC KEY----- +MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKsjSlD8RFGknc67X3Rcl50WrzjqcNg/ +nas61fIPGUUrkPenokm7ZHCwrDKWxD3FjTFg+lFlRkowR5Ht72CZE0sCAwEAAQ== +-----END PUBLIC KEY-----`.trim();let pkcs8_public_pem=` +MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKsjSlD8RFGknc67X3Rcl50WrzjqcNg/ +nas61fIPGUUrkPenokm7ZHCwrDKWxD3FjTFg+lFlRkowR5Ht72CZE0sCAwEAAQ== +`.trim();let pkcs1_private=` +-----BEGIN RSA PRIVATE KEY----- +MIIBOAIBAAJBAKsjSlD8RFGknc67X3Rcl50WrzjqcNg/nas61fIPGUUrkPenokm7 +ZHCwrDKWxD3FjTFg+lFlRkowR5Ht72CZE0sCAwEAAQI/b6OV1z65UokQaMvSeRXt +0Yv6wiYtduQI9qpq5nzy/ytaqsbBfClNTi/HifKPKxlRouWFkc518EQI8LBxoarJ +AiEA4DaONMplV8PQNa3TKn2F+SDEvLOCjdL0kHKdN90Ti28CIQDDZnTBaHgZwZbA +hS7Bbf5yvwjWMhO6Y7l04/Qm7R+35QIgPuQuqXIoUSD080mp1N5WyRW++atksIF+ +5lGv9e6GP/MCICnj8y/rl6Pd7tXDN6zcSeqLrfdNsREKhB3dKOCXgW9JAiAFYtFS +EJNBXVRTK42SNsZ2hJ/9xLwOwnH2epT8Q43s3Q== +-----END RSA PRIVATE KEY----- +`.trim();let pkcs8_private=` +-----BEGIN PRIVATE KEY----- +MIIBUgIBADANBgkqhkiG9w0BAQEFAASCATwwggE4AgEAAkEAqyNKUPxEUaSdzrtf +dFyXnRavOOpw2D+dqzrV8g8ZRSuQ96eiSbtkcLCsMpbEPcWNMWD6UWVGSjBHke3v +YJkTSwIDAQABAj9vo5XXPrlSiRBoy9J5Fe3Ri/rCJi125Aj2qmrmfPL/K1qqxsF8 +KU1OL8eJ8o8rGVGi5YWRznXwRAjwsHGhqskCIQDgNo40ymVXw9A1rdMqfYX5IMS8 +s4KN0vSQcp033ROLbwIhAMNmdMFoeBnBlsCFLsFt/nK/CNYyE7pjuXTj9CbtH7fl +AiA+5C6pcihRIPTzSanU3lbJFb75q2SwgX7mUa/17oY/8wIgKePzL+uXo93u1cM3 +rNxJ6out902xEQqEHd0o4JeBb0kCIAVi0VIQk0FdVFMrjZI2xnaEn/3EvA7CcfZ6 +lPxDjezd +-----END PRIVATE KEY----- +`.trim();let data=` +NodeRsa +这是node-rsa 现在修改集成在drpy里使用`.trim();let encryptedWithPublic=NODERSA.encryptRSAWithPublicKey(data,pkcs1_public,{outputEncoding:"base64",options:{environment:"browser",encryptionScheme:"pkcs1_oaep"}});console.log("公钥加密");console.log(encryptedWithPublic);let decryptedWithPrivate=NODERSA.decryptRSAWithPrivateKey(encryptedWithPublic,pkcs1_private,{options:{environment:"browser",encryptionScheme:"pkcs1_oaep"}});console.log("私钥解密");console.log(decryptedWithPrivate);let pkcs1_sha256_sign=NODERSA.sign("1",pkcs1_private,{outputEncoding:"base64",options:{environment:"browser",encryptionScheme:"pkcs1",signingScheme:"pkcs1-sha256"}});console.log("pkcs1_sha256_sign");console.log(pkcs1_sha256_sign);let pkcs1_sha256_sign_verify=NODERSA.verify("1","Oulx2QrgeipKYBtqEDqFb2s/+ndk2cGQxO4CkhU7iBM1vyNmmvqubpsmeoUuN3waGrYZLknSEdwBkfv0tUMpFQ==",pkcs1_private,{options:{environment:"browser",encryptionScheme:"pkcs1",signingScheme:"pkcs1-sha256"}});console.log("pkcs1_sha256_sign_verify");console.log(pkcs1_sha256_sign_verify);let pkcs1_oaep_sha256=NODERSA.encryptRSAWithPublicKey(data,`-----BEGIN RSA PUBLIC KEY----- +MIIBCgKCAQEA5KOq1gRNyllLNWKQy8sGpZE3Q1ULLSmzZw+eaAhj9lvqn7IsT1du +SYn08FfoOA2qMwtz+1O2l1mgzNoSVCyVpVabnTG+C9XKeZXAnJHd8aYA7l7Sxhdm +kte+iymYZ0ZBPzijo8938iugtVvqi9UgDmnY3u/NlQDqiL5BGqSxSTd/Sgmy3zD8 +PYzEa3wD9vehQ5fZZ45vKIq8GNVh2Z8+IGO85FF1OsN7+b2yGJa/FmDDNn0+HP+m +PfI+kYBqEVpo0Ztbc3UdxgFwGC8O1n8AQyriwHnSOtIiuBH62J/7qyC/3LEAApRb +Dd9YszqzmODjQUddZKHmvc638VW+azc0EwIDAQAB +-----END RSA PUBLIC KEY----- +`,{outputEncoding:"base64",options:{environment:"browser",encryptionScheme:{scheme:"pkcs1_oaep",hash:"sha256"}}});console.log("pkcs1_oaep_sha256");console.log(pkcs1_oaep_sha256);decryptedWithPrivate=NODERSA.decryptRSAWithPrivateKey("kSZesAAyYh2hdsQnYMdGqb6gKAzTauBKouvBzWcc4+F8RvGd0nwO6mVkUMVilPgUuNxjEauHayHiY8gI3Py45UI3+km0rSGyHrS6dHiHgCkMejXHieglYzAB0IxX3Jkm4z/66bdB/D+GFy0oct5fGCMI1UHPjEAYOsazJDa8lBFNbjiWFeb/qiZtIx3vGM7KYPAZzyRf/zPbbQ8zy9xOmRuOl5nnIxgo0Okp3KO/RIPO4GZOSBA8f2lx1UtNwwrXAMpcNavtoqHVcjJ/9lcotXYQFrn5b299pSIRf2gVm8ZJ31SK6Z8cc14nKtvgnmsgClDzIXJ1o1RcDK+knVAySg==",`-----BEGIN RSA PRIVATE KEY----- +MIIEpAIBAAKCAQEA5KOq1gRNyllLNWKQy8sGpZE3Q1ULLSmzZw+eaAhj9lvqn7Is +T1duSYn08FfoOA2qMwtz+1O2l1mgzNoSVCyVpVabnTG+C9XKeZXAnJHd8aYA7l7S +xhdmkte+iymYZ0ZBPzijo8938iugtVvqi9UgDmnY3u/NlQDqiL5BGqSxSTd/Sgmy +3zD8PYzEa3wD9vehQ5fZZ45vKIq8GNVh2Z8+IGO85FF1OsN7+b2yGJa/FmDDNn0+ +HP+mPfI+kYBqEVpo0Ztbc3UdxgFwGC8O1n8AQyriwHnSOtIiuBH62J/7qyC/3LEA +ApRbDd9YszqzmODjQUddZKHmvc638VW+azc0EwIDAQABAoIBADZ/QGgUzInvsLp/ +zO2WbfYm39o/uhNAvk9RbLt1TIZbMFhyOpeKynHi3Swwd9xsfWX/U9zS/lGi/m31 +iKrhmaW4OA1G3vqpMcK7TBbFufYwUEaA+ZJX344euH8pIfdzyneMQ4z3Far2dS7l +QsmjuilVV2kEFadveXewiYoVOWCu00w6bN8wy2SIHlQn+kIL6HQhWz12iKKflIKu +eGRdzLHsKmBt6WbY1Wuhx7HU0fAKdlBDPxCHNlI+kybUYE9o5C2vJiaVM5wqJBgZ +8Dz8kt1QbLJ910JoLXkLVQ8uC8NJKQwFtqQjTGPnEq0+wbgz6Ij599rKZkwW/xq9 +l6KoUiECgYEA6Ah42tVdkNW047f03xVYXFH96RgorHRS36mR8Y+ONUq1fwKidovC +WjwVujt4OPf3l1W6iyn/F6cu/bsmvPrSc3HTN0B1V31QK4OjgetxQ2PSbTldH02J +NPzkt+v+cPxXpx/P5mgt7Weefw5txU547KubGrHUV5rBKFtIx9pj16MCgYEA/EF0 +o19+D24DZAPwlDS5VbEd7FStnwY4oQ5PqbuNOSbSJLMWU0AqzXcRokp8UTyCZ0X3 +ATkS1REq97kShCuR+npTR6a6DlY7sdpPI1SMLNajgB2tkx0EOzX+PfNIbHUd4jpJ +I0ZMAHv/OOtkzQHDaeTWBTrzsWm6/nTiykfduNECgYEA46AMD4HpPECqKAs66e5i +tI6q7JSKskObWVdcmQEfnSAhVOwcvPb2Ptda6UuV8S0xcwDi88rLOUUFUFzc79+P +vTkY38cYVi/VChsluDpk7ptqv0PbGu5Rf+3n4pZdEjI7OvR2W64wAAn67uIUxc7p +yiO/ET0K9rYWb6S9jXGtKMkCgYEA2kPAqoO7zZoBMQ7/oR0lp/HC1HRIbiqx4RlC +8Lgpb+QZPEwA6zPAVVvLVENi4d+bbcRp/xLlKpraNNJcJSSWAMbLPFoU7sbKjA87 +HnTPfRSTEA2d3Ibk3F7Rh8TzS3Ti0JZiJjVzGZAwu41iAMifzwaD8K6boUy80eNN +QH2CaaECgYBUsLYvC/MiYg3w+LGOONuQongoVUXjGqnw2bjVa9RK7lwRdXPUqJ51 +MpVO98IkoLvGSI/0sGNP3GKNhC+eMGjJAVwFyEuOn+JsmMv9Y9uStIVi5tIHIhKw +m7mp8il0kaftHdSxTbspG3tZ2fjIiFIZkLEOmRpd7ogWumgOajzUdA== +-----END RSA PRIVATE KEY-----`,{options:{environment:"browser",encryptionScheme:"pkcs1_oaep"}});console.log("decryptedWithPrivate");console.log(decryptedWithPrivate);(()=>{let key=new NODERSA.NodeRSA({b:1024});key.setOptions({encryptionScheme:"pkcs1"});let text=`你好drpy node-ras`;let encrypted=key.encrypt(text,"base64");console.log("encrypted: ",encrypted);const decrypted=key.decrypt(encrypted,"utf8");console.log("decrypted: ",decrypted)})();let t2=(new Date).getTime();console.log("rsa_demo_test 测试耗时:"+(t2-t1)+"毫秒")}function pre(){if(typeof rule.预处理==="string"&&rule.预处理&&rule.预处理.trim()){let code=rule.预处理.trim();console.log("执行预处理代码:"+code);if(code.startsWith("js:")){code=code.replace("js:","")}try{eval(code)}catch(e){console.log(`预处理执行失败:${e.message}`)}}}let rule={};let vercode=typeof pdfl==="function"?"drpy2.1":"drpy2";const VERSION=vercode+" 3.9.51beta2 20240711";const MOBILE_UA="Mozilla/5.0 (Linux; Android 11; Pixel 5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.91 Mobile Safari/537.36";const PC_UA="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36";const UA="Mozilla/5.0";const UC_UA="Mozilla/5.0 (Linux; U; Android 9; zh-CN; MI 9 Build/PKQ1.181121.001) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0.2987.108 UCBrowser/12.5.5.1035 Mobile Safari/537.36";const IOS_UA="Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1";const RULE_CK="cookie";const CATE_EXCLUDE="首页|留言|APP|下载|资讯|新闻|动态";const TAB_EXCLUDE="猜你|喜欢|下载|剧情|榜|评论";const OCR_RETRY=3;const OCR_API="https://api.nn.ci/ocr/b64/text";if(typeof MY_URL==="undefined"){var MY_URL}var HOST;var RKEY;var fetch;var print;var log;var rule_fetch_params;var fetch_params;var oheaders;var _pdfh;var _pdfa;var _pd;const DOM_CHECK_ATTR=/(url|src|href|-original|-src|-play|-url|style)$/;const SPECIAL_URL=/^(ftp|magnet|thunder|ws):/;const NOADD_INDEX=/:eq|:lt|:gt|:first|:last|^body$|^#/;const URLJOIN_ATTR=/(url|src|href|-original|-src|-play|-url|style)$|^(data-|url-|src-)/;const SELECT_REGEX=/:eq|:lt|:gt|#/g;const SELECT_REGEX_A=/:eq|:lt|:gt/g;const $js={toString(func){let strfun=func.toString();return strfun.replace(/^\(\)(\s+)?=>(\s+)?\{/,"js:").replace(/\}$/,"")}};function window_b64(){let b64map="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";let base64DecodeChars=new Array(-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,-1,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,-1,-1,-1,-1,-1);function btoa(str){var out,i,len;var c1,c2,c3;len=str.length;i=0;out="";while(i>2);out+=b64map.charAt((c1&3)<<4);out+="==";break}c2=str.charCodeAt(i++);if(i==len){out+=b64map.charAt(c1>>2);out+=b64map.charAt((c1&3)<<4|(c2&240)>>4);out+=b64map.charAt((c2&15)<<2);out+="=";break}c3=str.charCodeAt(i++);out+=b64map.charAt(c1>>2);out+=b64map.charAt((c1&3)<<4|(c2&240)>>4);out+=b64map.charAt((c2&15)<<2|(c3&192)>>6);out+=b64map.charAt(c3&63)}return out}function atob(str){var c1,c2,c3,c4;var i,len,out;len=str.length;i=0;out="";while(i>4);do{c3=str.charCodeAt(i++)&255;if(c3==61)return out;c3=base64DecodeChars[c3]}while(i>2);do{c4=str.charCodeAt(i++)&255;if(c4==61)return out;c4=base64DecodeChars[c4]}while(ithis.length){return false}else{return this.indexOf(search,start)!==-1}}}if(!Array.prototype.includes){Object.defineProperty(Array.prototype,"includes",{value:function(searchElement,fromIndex){if(this==null){throw new TypeError('"this" is null or not defined')}var o=Object(this);var len=o.length>>>0;if(len===0){return false}var n=fromIndex|0;var k=Math.max(n>=0?n:len-Math.abs(n),0);while(k>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:out+=String.fromCharCode(c);break;case 12:case 13:char2=array[i++];out+=String.fromCharCode((c&31)<<6|char2&63);break;case 14:char2=array[i++];char3=array[i++];out+=String.fromCharCode((c&15)<<12|(char2&63)<<6|(char3&63)<<0);break}}return out}function gzip(str){let arr=pako.gzip(str,{});return uint8ArrayToBase64(arr)}function ungzip(b64Data){let strData=atob(b64Data);const charData=strData.split("").map(function(x){return x.charCodeAt(0)});const binData=new Uint8Array(charData);const data=pako.inflate(binData);return Utf8ArrayToStr(data)}function encodeStr(input,encoding){encoding=encoding||"gbk";if(encoding.startsWith("gb")){const strTool=gbkTool();input=strTool.encode(input)}return input}function decodeStr(input,encoding){encoding=encoding||"gbk";if(encoding.startsWith("gb")){const strTool=gbkTool();input=strTool.decode(input)}return input}function getCryptoJS(){return'console.log("CryptoJS已装载");'}const RSA={decode:function(data,key,option){option=option||{};if(typeof JSEncrypt==="function"){let chunkSize=option.chunkSize||117;let privateKey=this.getPrivateKey(key);const decryptor=new JSEncrypt;decryptor.setPrivateKey(privateKey);let uncrypted="";uncrypted=decryptor.decryptUnicodeLong(data);return uncrypted}else{return false}},encode:function(data,key,option){option=option||{};if(typeof JSEncrypt==="function"){let chunkSize=option.chunkSize||117;let publicKey=this.getPublicKey(key);const encryptor=new JSEncrypt;encryptor.setPublicKey(publicKey);let encrypted="";encrypted=encryptor.encryptUnicodeLong(data);return encrypted}else{return false}},fixKey(key,prefix,endfix){if(!key.includes(prefix)){key=prefix+key}if(!key.includes(endfix)){key+=endfix}return key},getPrivateKey(key){let prefix="-----BEGIN RSA PRIVATE KEY-----";let endfix="-----END RSA PRIVATE KEY-----";return this.fixKey(key,prefix,endfix)},getPublicKey(key){let prefix="-----BEGIN PUBLIC KEY-----";let endfix="-----END PUBLIC KEY-----";return this.fixKey(key,prefix,endfix)}};function getProxyUrl(){if(typeof getProxy==="function"){return getProxy(true)}else{return"http://127.0.0.1:9978/proxy?do=js"}}function fixAdM3u8(m3u8_text,m3u8_url,ad_remove){if(!m3u8_text&&!m3u8_url||!m3u8_text&&m3u8_url&&!m3u8_url.startsWith("http")){return""}if(!m3u8_text){log("m3u8_url:"+m3u8_url);m3u8_text=request(m3u8_url)}log("len(m3u8_text):"+m3u8_text.length);if(!ad_remove){return m3u8_text}if(ad_remove.startsWith("reg:")){ad_remove=ad_remove.slice(4)}else if(ad_remove.startsWith("js:")){ad_remove=ad_remove.slice(3)}let m3u8_start=m3u8_text.slice(0,m3u8_text.indexOf("#EXTINF")).trim();let m3u8_body=m3u8_text.slice(m3u8_text.indexOf("#EXTINF"),m3u8_text.indexOf("#EXT-X-ENDLIST")).trim();let m3u8_end=m3u8_text.slice(m3u8_text.indexOf("#EXT-X-ENDLIST")).trim();let murls=[];let m3_body_list=m3u8_body.split("\n");let m3_len=m3_body_list.length;let i=0;while(i{new_m3u8_body.push(it)})}}new_m3u8_body=new_m3u8_body.join("\n").trim();m3u8_text=[m3u8_start,new_m3u8_body,m3u8_end].join("\n").trim();return m3u8_text}function fixAdM3u8Ai(m3u8_url,headers){let ts=(new Date).getTime();let option=headers?{headers:headers}:{};function b(s1,s2){let i=0;while(iit.startsWith("#")?it:urljoin(m3u8_url,it)).join("\n");m3u8=m3u8.replace(/\n\n/gi,"\n");let last_url=m3u8.split("\n").slice(-1)[0];if(last_url.length<5){last_url=m3u8.split("\n").slice(-2)[0]}if(last_url.includes(".m3u8")&&last_url!==m3u8_url){m3u8_url=urljoin2(m3u8_url,last_url);log("嵌套的m3u8_url:"+m3u8_url);m3u8=request(m3u8_url,option)}let s=m3u8.trim().split("\n").filter(it=>it.trim()).join("\n");let ss=s.split("\n");let firststr="";let maxl=0;let kk=0;let kkk=2;let secondstr="";for(let i=0;i1){if(maxl>b(firststr,s)){if(secondstr.length<5)secondstr=s;kkk=kkk+2}else{maxl=b(firststr,s);kkk++}}kk++;if(kk>=20)break}}if(kkk>30)firststr=secondstr;let firststrlen=firststr.length;let ml=Math.round(ss.length/2).toString().length;let maxc=0;let laststr=ss.toReversed().find(x=>{if(!x.startsWith("#")){let k=b(reverseString(firststr),reverseString(x));maxl=b(firststr,x);maxc++;if(firststrlen-maxl<=ml+k||maxc>10){return true}}return false});log("最后一条切片:"+laststr);let ad_urls=[];for(let i=0;i=end){return lists}let first=lists[start];let second=lists[end];if(key){try{first=first[key];second=second[key]}catch(e){}}if(option&&typeof option==="function"){try{first=option(first);second=option(second)}catch(e){}}first+="";second+="";if(first.match(/(\d+)/)&&second.match(/(\d+)/)){let num1=Number(first.match(/(\d+)/)[1]);let num2=Number(second.match(/(\d+)/)[1]);if(num1>num2){lists.reverse()}}return lists}let VODS=[];let VOD={};let TABS=[];let LISTS=[];function getQuery(url){try{if(url.indexOf("?")>-1){url=url.slice(url.indexOf("?")+1)}let arr=url.split("#")[0].split("&");const resObj={};arr.forEach(item=>{let arr1=item.split("=");let key=arr1[0];let value=arr1.slice(1).join("=");resObj[key]=value});return resObj}catch(err){log(`getQuery发生错误:${e.message}`);return{}}}function urljoin(fromPath,nowPath){fromPath=fromPath||"";nowPath=nowPath||"";return joinUrl(fromPath,nowPath)}var urljoin2=urljoin;const defaultParser={pdfh:pdfh,pdfa:pdfa,pd:pd};function pdfh2(html,parse){let html2=html;try{if(typeof html!=="string"){html2=html.rr(html.ele).toString()}}catch(e){print(`html对象转文本发生了错误:${e.message}`)}let result=defaultParser.pdfh(html2,parse);let option=parse.includes("&&")?parse.split("&&").slice(-1)[0]:parse.split(" ").slice(-1)[0];if(/style/.test(option.toLowerCase())&&/url\(/.test(result)){try{result=result.match(/url\((.*?)\)/)[1];result=result.replace(/^['|"](.*)['|"]$/,"$1")}catch(e){}}return result}function pdfa2(html,parse){let html2=html;try{if(typeof html!=="string"){html2=html.rr(html.ele).toString()}}catch(e){print(`html对象转文本发生了错误:${e.message}`)}return defaultParser.pdfa(html2,parse)}function pd2(html,parse,uri){let ret=pdfh2(html,parse);if(typeof uri==="undefined"||!uri){uri=""}if(DOM_CHECK_ATTR.test(parse)&&!SPECIAL_URL.test(ret)){if(/http/.test(ret)){ret=ret.slice(ret.indexOf("http"))}else{ret=urljoin(MY_URL,ret)}}return ret}const parseTags={jsp:{pdfh:pdfh2,pdfa:pdfa2,pd:pd2},json:{pdfh(html,parse){if(!parse||!parse.trim()){return""}if(typeof html==="string"){html=JSON.parse(html)}parse=parse.trim();if(!parse.startsWith("$.")){parse="$."+parse}parse=parse.split("||");for(let ps of parse){let ret=cheerio.jp(ps,html);if(Array.isArray(ret)){ret=ret[0]||""}else{ret=ret||""}if(ret&&typeof ret!=="string"){ret=ret.toString()}if(ret){return ret}}return""},pdfa(html,parse){if(!parse||!parse.trim()){return""}if(typeof html==="string"){html=JSON.parse(html)}parse=parse.trim();if(!parse.startsWith("$.")){parse="$."+parse}let ret=cheerio.jp(parse,html);if(Array.isArray(ret)&&Array.isArray(ret[0])&&ret.length===1){return ret[0]||[]}return ret||[]},pd(html,parse){let ret=parseTags.json.pdfh(html,parse);if(ret){return urljoin(MY_URL,ret)}return ret}},jq:{pdfh(html,parse){if(!html||!parse||!parse.trim()){return""}parse=parse.trim();let result=defaultParser.pdfh(html,parse);return result},pdfa(html,parse){if(!html||!parse||!parse.trim()){return[]}parse=parse.trim();let result=defaultParser.pdfa(html,parse);print(`pdfa解析${parse}=>${result.length}`);return result},pd(html,parse,base_url){if(!html||!parse||!parse.trim()){return""}parse=parse.trim();base_url=base_url||MY_URL;return defaultParser.pd(html,parse,base_url)}},getParse(p0){if(p0.startsWith("jsp:")){return this.jsp}else if(p0.startsWith("json:")){return this.json}else if(p0.startsWith("jq:")){return this.jq}else{return this.jq}}};const stringify=JSON.stringify;const jsp=parseTags.jsp;const jq=parseTags.jq;function readFile(filePath){filePath=filePath||"./uri.min.js";var fd=os.open(filePath);var buffer=new ArrayBuffer(1024);var len=os.read(fd,buffer,0,1024);console.log(len);let text=String.fromCharCode.apply(null,new Uint8Array(buffer));console.log(text);return text}function dealJson(html){try{html=html.trim();if(!(html.startsWith("{")&&html.endsWith("}")||html.startsWith("[")&&html.endsWith("]"))){html="{"+html.match(/.*?\{(.*)\}/m)[1]+"}"}}catch(e){}try{html=JSON.parse(html)}catch(e){}return html}var OcrApi={api:OCR_API,classification:function(img){let code="";try{log("通过drpy_ocr验证码接口过验证...");let html="";if(this.api.endsWith("drpy/text")){html=request(this.api,{data:{img:img},headers:{"User-Agent":PC_UA},method:"POST"},true)}else{html=post(this.api,{body:img})}code=html||""}catch(e){log(`OCR识别验证码发生错误:${e.message}`)}return code}};function verifyCode(url){let cnt=0;let host=getHome(url);let cookie="";while(cntit.toLowerCase()==="set-cookie");cookie=setCk?json[setCk].split(";")[0]:""}console.log("cookie:"+cookie);let img=json.body;let code=OcrApi.classification(img);console.log(`第${cnt+1}次验证码识别结果:${code}`);let submit_url=`${host}/index.php/ajax/verify_check?type=search&verify=${code}`;console.log(submit_url);let html=request(submit_url,{headers:{Cookie:cookie},method:"POST"});html=JSON.parse(html);if(html.msg==="ok"){console.log(`第${cnt+1}次验证码提交成功`);return cookie}else if(html.msg!=="ok"&&cnt+1>=OCR_RETRY){cookie=""}}catch(e){console.log(`第${cnt+1}次验证码提交失败:${e.message}`);if(cnt+1>=OCR_RETRY){cookie=""}}cnt+=1}return cookie}function setItem(k,v){local.set(RKEY,k,v);console.log(`规则${RKEY}设置${k} => ${v}`)}function getItem(k,v){return local.get(RKEY,k)||v}function clearItem(k){local.delete(RKEY,k)}function getHome(url){if(!url){return""}let tmp=url.split("//");url=tmp[0]+"//"+tmp[1].split("/")[0];try{url=decodeURIComponent(url)}catch(e){}return url}function buildUrl(url,obj){obj=obj||{};if(url.indexOf("?")<0){url+="?"}let param_list=[];let keys=Object.keys(obj);keys.forEach(it=>{param_list.push(it+"="+obj[it])});let prs=param_list.join("&");if(keys.length>0&&!url.endsWith("?")){url+="&"}url+=prs;return url}function $require(url){eval(request(url))}function keysToLowerCase(obj){return Object.keys(obj).reduce((result,key)=>{const newKey=key.toLowerCase();result[newKey]=obj[key];return result},{})}function request(url,obj,ocr_flag){ocr_flag=ocr_flag||false;if(typeof obj==="undefined"||!obj||obj==={}){if(!fetch_params||!fetch_params.headers){let headers={"User-Agent":MOBILE_UA};if(rule.headers){Object.assign(headers,rule.headers)}if(!fetch_params){fetch_params={}}fetch_params.headers=headers}if(!fetch_params.headers.Referer){fetch_params.headers.Referer=getHome(url)}obj=fetch_params}else{let headers=obj.headers||{};let keys=Object.keys(headers).map(it=>it.toLowerCase());if(!keys.includes("user-agent")){headers["User-Agent"]=MOBILE_UA;if(typeof fetch_params==="object"&&fetch_params&&fetch_params.headers){let fetch_headers=keysToLowerCase(fetch_params.headers);if(fetch_headers["user-agent"]){headers["User-Agent"]=fetch_headers["user-agent"]}}}if(!keys.includes("referer")){headers["Referer"]=getHome(url)}obj.headers=headers}if(rule.encoding&&rule.encoding!=="utf-8"&&!ocr_flag){if(!obj.headers.hasOwnProperty("Content-Type")&&!obj.headers.hasOwnProperty("content-type")){obj.headers["Content-Type"]="text/html; charset="+rule.encoding}}if(typeof obj.body!="undefined"&&obj.body&&typeof obj.body==="string"){if(!obj.headers.hasOwnProperty("Content-Type")&&!obj.headers.hasOwnProperty("content-type")){obj.headers["Content-Type"]="application/x-www-form-urlencoded; charset="+rule.encoding}}else if(typeof obj.body!="undefined"&&obj.body&&typeof obj.body==="object"){obj.data=obj.body;delete obj.body}if(!url){return obj.withHeaders?"{}":""}if(obj.toBase64){obj.buffer=2;delete obj.toBase64}if(obj.redirect===false){obj.redirect=0}console.log(JSON.stringify(obj.headers));console.log("request:"+url+`|method:${obj.method||"GET"}|body:${obj.body||""}`);let res=req(url,obj);let html=res.content||"";if(obj.withHeaders){let htmlWithHeaders=res.headers;htmlWithHeaders.body=html;return JSON.stringify(htmlWithHeaders)}else{return html}}function post(url,obj){obj=obj||{};obj.method="POST";return request(url,obj)}function reqCookie(url,obj,all_cookie){obj=obj||{};obj.withHeaders=true;all_cookie=all_cookie||false;let html=request(url,obj);let json=JSON.parse(html);let setCk=Object.keys(json).find(it=>it.toLowerCase()==="set-cookie");let cookie=setCk?json[setCk]:"";if(Array.isArray(cookie)){cookie=cookie.join(";")}if(!all_cookie){cookie=cookie.split(";")[0]}html=json.body;return{cookie:cookie,html:html}}fetch=request;print=function(data){data=data||"";if(typeof data=="object"&&Object.keys(data).length>0){try{data=JSON.stringify(data);console.log(data)}catch(e){console.log(typeof data+":"+data.length);return}}else if(typeof data=="object"&&Object.keys(data).length<1){console.log("null object")}else{console.log(data)}};log=print;function checkHtml(html,url,obj){if(/\?btwaf=/.test(html)){let btwaf=html.match(/btwaf(.*?)"/)[1];url=url.split("#")[0]+"?btwaf"+btwaf;print("宝塔验证访问链接:"+url);html=request(url,obj)}return html}function getCode(url,obj){let html=request(url,obj);html=checkHtml(html,url,obj);return html}function getHtml(url){let obj={};if(rule.headers){obj.headers=rule.headers}let cookie=getItem(RULE_CK,"");if(cookie){if(obj.headers&&!Object.keys(obj.headers).map(it=>it.toLowerCase()).includes("cookie")){log("历史无cookie,新增过验证后的cookie");obj.headers["Cookie"]=cookie}else if(obj.headers&&obj.headers.cookie&&obj.headers.cookie!==cookie){obj.headers["Cookie"]=cookie;log("历史有小写过期的cookie,更新过验证后的cookie")}else if(obj.headers&&obj.headers.Cookie&&obj.headers.Cookie!==cookie){obj.headers["Cookie"]=cookie;log("历史有大写过期的cookie,更新过验证后的cookie")}else if(!obj.headers){obj.headers={Cookie:cookie};log("历史无headers,更新过验证后的含cookie的headers")}}let html=getCode(url,obj);return html}function homeParse(homeObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let classes=[];if(homeObj.class_name&&homeObj.class_url){let names=homeObj.class_name.split("&");let urls=homeObj.class_url.split("&");let cnt=Math.min(names.length,urls.length);for(let i=0;i0){classes=list}}}catch(e){console.log(e.message)}}else if(p.length>=3&&!is_json){try{let html=homeObj.home_html||getHtml(homeObj.MY_URL);if(html){homeHtmlCache=html;let list=_pdfa(html,p0);if(list&&list.length>0){list.forEach((it,idex)=>{try{let name=_pdfh(it,p[1]);if(homeObj.cate_exclude&&new RegExp(homeObj.cate_exclude).test(name)){return}let url=_pd(it,p[2]);if(p.length>3&&p[3]&&!homeObj.home_html){let exp=new RegExp(p[3]);url=url.match(exp)[1]}classes.push({type_id:url.trim(),type_name:name.trim()})}catch(e){console.log(`分类列表定位第${idex}个元素正常报错:${e.message}`)}})}}}catch(e){console.log(e.message)}}}}classes=classes.filter(it=>!homeObj.cate_exclude||!new RegExp(homeObj.cate_exclude).test(it.type_name));let resp={class:classes};if(homeObj.filter){resp.filters=homeObj.filter}console.log(JSON.stringify(resp));return JSON.stringify(resp)}function getPP(p,pn,pp,ppn){try{let ps=p[pn]==="*"&&pp.length>ppn?pp[ppn]:p[pn];return ps}catch(e){return""}}function homeVodParse(homeVodObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let d=[];MY_URL=homeVodObj.homeUrl;console.log(MY_URL);let t1=(new Date).getTime();let p=homeVodObj.推荐;print("p:"+p);if(p==="*"&&rule.一级){p=rule.一级;homeVodObj.double=false}if(!p||typeof p!=="string"){return"{}"}p=p.trim();let pp=rule.一级?rule.一级.split(";"):[];if(p.startsWith("js:")){const TYPE="home";var input=MY_URL;HOST=rule.host;eval(p.replace("js:",""));d=VODS}else{p=p.split(";");if(!homeVodObj.double&&p.length<5){return"{}"}else if(homeVodObj.double&&p.length<6){return"{}"}let p0=getPP(p,0,pp,0);let _ps=parseTags.getParse(p0);_pdfa=_ps.pdfa;_pdfh=_ps.pdfh;_pd=_ps.pd;let is_json=p0.startsWith("json:");p0=p0.replace(/^(jsp:|json:|jq:)/,"");let html=homeHtmlCache||getHtml(MY_URL);homeHtmlCache=undefined;if(is_json){html=dealJson(html)}try{console.log("double:"+homeVodObj.double);if(homeVodObj.double){let items=_pdfa(html,p0);let p1=getPP(p,1,pp,0);let p2=getPP(p,2,pp,1);let p3=getPP(p,3,pp,2);let p4=getPP(p,4,pp,3);let p5=getPP(p,5,pp,4);let p6=getPP(p,6,pp,5);for(let item of items){let items2=_pdfa(item,p1);for(let item2 of items2){try{let title=_pdfh(item2,p2);let img="";try{img=_pd(item2,p3)}catch(e){}let desc="";try{desc=_pdfh(item2,p4)}catch(e){}let links=[];for(let _p5 of p5.split("+")){let link=!homeVodObj.detailUrl?_pd(item2,_p5,MY_URL):_pdfh(item2,_p5);links.push(link)}let content;if(p.length>6&&p[6]){content=_pdfh(item2,p6)}else{content=""}let vid=links.join("$");if(rule.二级==="*"){vid=vid+"@@"+title+"@@"+img}let vod={vod_name:title,vod_pic:img,vod_remarks:desc,vod_content:content,vod_id:vid};d.push(vod)}catch(e){console.log(`首页列表双层定位处理发生错误:${e.message}`)}}}}else{let items=_pdfa(html,p0);let p1=getPP(p,1,pp,1);let p2=getPP(p,2,pp,2);let p3=getPP(p,3,pp,3);let p4=getPP(p,4,pp,4);let p5=getPP(p,5,pp,5);for(let item of items){try{let title=_pdfh(item,p1);let img="";try{img=_pd(item,p2,MY_URL)}catch(e){}let desc="";try{desc=_pdfh(item,p3)}catch(e){}let links=[];for(let _p5 of p4.split("+")){let link=!homeVodObj.detailUrl?_pd(item,_p5,MY_URL):_pdfh(item,_p5);links.push(link)}let content;if(p.length>5&&p[5]){content=_pdfh(item,p5)}else{content=""}let vid=links.join("$");if(rule.二级==="*"){vid=vid+"@@"+title+"@@"+img}let vod={vod_name:title,vod_pic:img,vod_remarks:desc,vod_content:content,vod_id:vid};d.push(vod)}catch(e){console.log(`首页列表单层定位处理发生错误:${e.message}`)}}}}catch(e){}}let t2=(new Date).getTime();console.log("加载首页推荐耗时:"+(t2-t1)+"毫秒");if(rule.图片替换){if(rule.图片替换.startsWith("js:")){d.forEach(it=>{try{var input=it.vod_pic;eval(rule.图片替换.trim().replace("js:",""));it.vod_pic=input}catch(e){log(`图片:${it.vod_pic}替换错误:${e.message}`)}})}else if(rule.图片替换.includes("=>")){let replace_from=rule.图片替换.split("=>")[0];let replace_to=rule.图片替换.split("=>")[1];d.forEach(it=>{if(it.vod_pic&&it.vod_pic.startsWith("http")){it.vod_pic=it.vod_pic.replace(replace_from,replace_to)}})}}if(rule.图片来源){d.forEach(it=>{if(it.vod_pic&&it.vod_pic.startsWith("http")){it.vod_pic=it.vod_pic+rule.图片来源}})}if(d.length>0){print(d.slice(0,2))}return JSON.stringify({list:d})}function categoryParse(cateObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let p=cateObj.一级;if(!p||typeof p!=="string"){return"{}"}let d=[];let url=cateObj.url.replaceAll("fyclass",cateObj.tid);if(cateObj.pg===1&&url.includes("[")&&url.includes("]")){url=url.split("[")[1].split("]")[0]}else if(cateObj.pg>1&&url.includes("[")&&url.includes("]")){url=url.split("[")[0]}if(rule.filter_url){if(!/fyfilter/.test(url)){if(!url.endsWith("&")&&!rule.filter_url.startsWith("&")){url+="&"}url+=rule.filter_url}else{url=url.replace("fyfilter",rule.filter_url)}url=url.replaceAll("fyclass",cateObj.tid);let fl=cateObj.filter?cateObj.extend:{};if(rule.filter_def&&typeof rule.filter_def==="object"){try{if(Object.keys(rule.filter_def).length>0&&rule.filter_def.hasOwnProperty(cateObj.tid)){let self_fl_def=rule.filter_def[cateObj.tid];if(self_fl_def&&typeof self_fl_def==="object"){let fl_def=JSON.parse(JSON.stringify(self_fl_def));fl=Object.assign(fl_def,fl)}}}catch(e){print(`合并不同分类对应的默认筛选出错:${e.message}`)}}let new_url;new_url=cheerio.jinja2(url,{fl:fl,fyclass:cateObj.tid});url=new_url}if(/fypage/.test(url)){if(url.includes("(")&&url.includes(")")){let url_rep=url.match(/.*?\((.*)\)/)[1];let cnt_page=url_rep.replaceAll("fypage",cateObj.pg);let cnt_pg=eval(cnt_page);url=url.replaceAll(url_rep,cnt_pg).replaceAll("(","").replaceAll(")","")}else{url=url.replaceAll("fypage",cateObj.pg)}}MY_URL=url;console.log(MY_URL);p=p.trim();const MY_CATE=cateObj.tid;if(p.startsWith("js:")){var MY_FL=cateObj.extend;const TYPE="cate";var input=MY_URL;const MY_PAGE=cateObj.pg;var desc="";eval(p.trim().replace("js:",""));d=VODS}else{p=p.split(";");if(p.length<5){return"{}"}let _ps=parseTags.getParse(p[0]);_pdfa=_ps.pdfa;_pdfh=_ps.pdfh;_pd=_ps.pd;let is_json=p[0].startsWith("json:");p[0]=p[0].replace(/^(jsp:|json:|jq:)/,"");try{let html=getHtml(MY_URL);if(html){if(is_json){html=dealJson(html)}let list=_pdfa(html,p[0]);list.forEach(it=>{let links=p[4].split("+").map(p4=>{return!rule.detailUrl?_pd(it,p4,MY_URL):_pdfh(it,p4)});let link=links.join("$");let vod_id=rule.detailUrl?MY_CATE+"$"+link:link;let vod_name=_pdfh(it,p[1]).replace(/\n|\t/g,"").trim();let vod_pic=_pd(it,p[2],MY_URL);if(rule.二级==="*"){vod_id=vod_id+"@@"+vod_name+"@@"+vod_pic}d.push({vod_id:vod_id,vod_name:vod_name,vod_pic:vod_pic,vod_remarks:_pdfh(it,p[3]).replace(/\n|\t/g,"").trim()})})}}catch(e){console.log(e.message)}}if(rule.图片替换){if(rule.图片替换.startsWith("js:")){d.forEach(it=>{try{var input=it.vod_pic;eval(rule.图片替换.trim().replace("js:",""));it.vod_pic=input}catch(e){log(`图片:${it.vod_pic}替换错误:${e.message}`)}})}else if(rule.图片替换.includes("=>")){let replace_from=rule.图片替换.split("=>")[0];let replace_to=rule.图片替换.split("=>")[1];d.forEach(it=>{if(it.vod_pic&&it.vod_pic.startsWith("http")){it.vod_pic=it.vod_pic.replace(replace_from,replace_to)}})}}if(rule.图片来源){d.forEach(it=>{if(it.vod_pic&&it.vod_pic.startsWith("http")){it.vod_pic=it.vod_pic+rule.图片来源}})}if(d.length>0){print(d.slice(0,2))}let pagecount=0;if(rule.pagecount&&typeof rule.pagecount==="object"&&rule.pagecount.hasOwnProperty(MY_CATE)){print(`MY_CATE:${MY_CATE},pagecount:${JSON.stringify(rule.pagecount)}`);pagecount=parseInt(rule.pagecount[MY_CATE])}let nodata={list:[{vod_name:"无数据,防无限请求",vod_id:"no_data",vod_remarks:"不要点,会崩的",vod_pic:"https://ghproxy.net/https://raw.githubusercontent.com/hjdhnx/dr_py/main/404.jpg"}],total:1,pagecount:1,page:1,limit:1};let vod=d.length<1?JSON.stringify(nodata):JSON.stringify({page:parseInt(cateObj.pg),pagecount:pagecount||999,limit:20,total:999,list:d});return vod}function searchParse(searchObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let d=[];if(!searchObj.searchUrl){return"{}"}let p=searchObj.搜索==="*"&&rule.一级?rule.一级:searchObj.搜索;if(!p||typeof p!=="string"){return"{}"}p=p.trim();let pp=rule.一级?rule.一级.split(";"):[];let url=searchObj.searchUrl.replaceAll("**",searchObj.wd);if(searchObj.pg===1&&url.includes("[")&&url.includes("]")&&!url.includes("#")){url=url.split("[")[1].split("]")[0]}else if(searchObj.pg>1&&url.includes("[")&&url.includes("]")&&!url.includes("#")){url=url.split("[")[0]}if(/fypage/.test(url)){if(url.includes("(")&&url.includes(")")){let url_rep=url.match(/.*?\((.*)\)/)[1];let cnt_page=url_rep.replaceAll("fypage",searchObj.pg);let cnt_pg=eval(cnt_page);url=url.replaceAll(url_rep,cnt_pg).replaceAll("(","").replaceAll(")","")}else{url=url.replaceAll("fypage",searchObj.pg)}}MY_URL=url;console.log(MY_URL);if(p.startsWith("js:")){const TYPE="search";const MY_PAGE=searchObj.pg;const KEY=searchObj.wd;var input=MY_URL;var detailUrl=rule.detailUrl||"";eval(p.trim().replace("js:",""));d=VODS}else{p=p.split(";");if(p.length<5){return"{}"}let p0=getPP(p,0,pp,0);let _ps=parseTags.getParse(p0);_pdfa=_ps.pdfa;_pdfh=_ps.pdfh;_pd=_ps.pd;let is_json=p0.startsWith("json:");p0=p0.replace(/^(jsp:|json:|jq:)/,"");try{let req_method=MY_URL.split(";").length>1?MY_URL.split(";")[1].toLowerCase():"get";let html;if(req_method==="post"){let rurls=MY_URL.split(";")[0].split("#");let rurl=rurls[0];let params=rurls.length>1?rurls[1]:"";print(`post=》rurl:${rurl},params:${params}`);let _fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let postData={body:params};Object.assign(_fetch_params,postData);html=post(rurl,_fetch_params)}else if(req_method==="postjson"){let rurls=MY_URL.split(";")[0].split("#");let rurl=rurls[0];let params=rurls.length>1?rurls[1]:"";print(`postjson-》rurl:${rurl},params:${params}`);try{params=JSON.parse(params)}catch(e){params="{}"}let _fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let postData={body:params};Object.assign(_fetch_params,postData);html=post(rurl,_fetch_params)}else{html=getHtml(MY_URL)}if(html){if(/系统安全验证|输入验证码/.test(html)){let cookie=verifyCode(MY_URL);if(cookie){console.log(`本次成功过验证,cookie:${cookie}`);setItem(RULE_CK,cookie)}else{console.log(`本次自动过搜索验证失败,cookie:${cookie}`)}html=getHtml(MY_URL)}if(!html.includes(searchObj.wd)){console.log("搜索结果源码未包含关键字,疑似搜索失败,正为您打印结果源码");console.log(html)}if(is_json){html=dealJson(html)}let list=_pdfa(html,p0);let p1=getPP(p,1,pp,1);let p2=getPP(p,2,pp,2);let p3=getPP(p,3,pp,3);let p4=getPP(p,4,pp,4);let p5=getPP(p,5,pp,5);list.forEach(it=>{let links=p4.split("+").map(_p4=>{return!rule.detailUrl?_pd(it,_p4,MY_URL):_pdfh(it,_p4)});let link=links.join("$");let content;if(p.length>5&&p[5]){content=_pdfh(it,p5)}else{content=""}let vod_id=link;let vod_name=_pdfh(it,p1).replace(/\n|\t/g,"").trim();let vod_pic=_pd(it,p2,MY_URL);if(rule.二级==="*"){vod_id=vod_id+"@@"+vod_name+"@@"+vod_pic}let ob={vod_id:vod_id,vod_name:vod_name,vod_pic:vod_pic,vod_remarks:_pdfh(it,p3).replace(/\n|\t/g,"").trim(),vod_content:content.replace(/\n|\t/g,"").trim()};d.push(ob)})}}catch(e){print(`搜索发生错误:${e.message}`);return"{}"}}if(rule.图片替换){if(rule.图片替换.startsWith("js:")){d.forEach(it=>{try{var input=it.vod_pic;eval(rule.图片替换.trim().replace("js:",""));it.vod_pic=input}catch(e){log(`图片:${it.vod_pic}替换错误:${e.message}`)}})}else if(rule.图片替换.includes("=>")){let replace_from=rule.图片替换.split("=>")[0];let replace_to=rule.图片替换.split("=>")[1];d.forEach(it=>{if(it.vod_pic&&it.vod_pic.startsWith("http")){it.vod_pic=it.vod_pic.replace(replace_from,replace_to)}})}}if(rule.图片来源){d.forEach(it=>{if(it.vod_pic&&it.vod_pic.startsWith("http")){it.vod_pic=it.vod_pic+rule.图片来源}})}return JSON.stringify({page:parseInt(searchObj.pg),pagecount:10,limit:20,total:100,list:d})}function detailParse(detailObj){let t1=(new Date).getTime();fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let orId=detailObj.orId;let vod_name="片名";let vod_pic="";let vod_id=orId;if(rule.二级==="*"){let extra=orId.split("@@");vod_name=extra.length>1?extra[1]:vod_name;vod_pic=extra.length>2?extra[2]:vod_pic}let vod={vod_id:vod_id,vod_name:vod_name,vod_pic:vod_pic,type_name:"类型",vod_year:"年份",vod_area:"地区",vod_remarks:"更新信息",vod_actor:"主演",vod_director:"导演",vod_content:"简介"};let p=detailObj.二级;let url=detailObj.url;let detailUrl=detailObj.detailUrl;let fyclass=detailObj.fyclass;let tab_exclude=detailObj.tab_exclude;let html=detailObj.html||"";MY_URL=url;if(detailObj.二级访问前){try{print(`尝试在二级访问前执行代码:${detailObj.二级访问前}`);eval(detailObj.二级访问前.trim().replace("js:",""))}catch(e){print(`二级访问前执行代码出现错误:${e.message}`)}}if(p==="*"){vod.vod_play_from="免费分享";vod.vod_remarks=detailUrl;vod.vod_actor="没有二级,只有一级链接直接嗅探播放";vod.vod_content=MY_URL;vod.vod_play_url="嗅探播放$"+MY_URL.split("@@")[0]}else if(typeof p==="string"&&p.trim().startsWith("js:")){const TYPE="detail";var input=MY_URL;var play_url="";eval(p.trim().replace("js:",""));vod=VOD;console.log(JSON.stringify(vod))}else if(p&&typeof p==="object"){let tt1=(new Date).getTime();if(!html){html=getHtml(MY_URL)}print(`二级${MY_URL}仅获取源码耗时:${(new Date).getTime()-tt1}毫秒`);let _ps;if(p.is_json){print("二级是json");_ps=parseTags.json;html=dealJson(html)}else if(p.is_jsp){print("二级是jsp");_ps=parseTags.jsp}else if(p.is_jq){print("二级是jq");_ps=parseTags.jq}else{print("二级默认jq");_ps=parseTags.jq}let tt2=(new Date).getTime();print(`二级${MY_URL}获取并装载源码耗时:${tt2-tt1}毫秒`);_pdfa=_ps.pdfa;_pdfh=_ps.pdfh;_pd=_ps.pd;if(p.title){let p1=p.title.split(";");vod.vod_name=_pdfh(html,p1[0]).replace(/\n|\t/g,"").trim();let type_name=p1.length>1?_pdfh(html,p1[1]).replace(/\n|\t/g,"").replace(/ /g,"").trim():"";vod.type_name=type_name||vod.type_name}if(p.desc){try{let p1=p.desc.split(";");vod.vod_remarks=_pdfh(html,p1[0]).replace(/\n|\t/g,"").trim();vod.vod_year=p1.length>1?_pdfh(html,p1[1]).replace(/\n|\t/g,"").trim():"";vod.vod_area=p1.length>2?_pdfh(html,p1[2]).replace(/\n|\t/g,"").trim():"";vod.vod_actor=p1.length>3?_pdfh(html,p1[3]).replace(/\n|\t/g,"").trim():"";vod.vod_director=p1.length>4?_pdfh(html,p1[4]).replace(/\n|\t/g,"").trim():""}catch(e){}}if(p.content){try{let p1=p.content.split(";");vod.vod_content=_pdfh(html,p1[0]).replace(/\n|\t/g,"").trim()}catch(e){}}if(p.img){try{let p1=p.img.split(";");vod.vod_pic=_pd(html,p1[0],MY_URL)}catch(e){}}let vod_play_from="$$$";let playFrom=[];if(p.重定向&&p.重定向.startsWith("js:")){print("开始执行重定向代码:"+p.重定向);html=eval(p.重定向.replace("js:",""))}if(p.tabs){if(p.tabs.startsWith("js:")){print("开始执行tabs代码:"+p.tabs);var input=MY_URL;eval(p.tabs.replace("js:",""));playFrom=TABS}else{let p_tab=p.tabs.split(";")[0];let vHeader=_pdfa(html,p_tab);console.log(vHeader.length);let tab_text=p.tab_text||"body&&Text";let new_map={};for(let v of vHeader){let v_title=_pdfh(v,tab_text).trim();if(!v_title){v_title="线路空"}console.log(v_title);if(tab_exclude&&new RegExp(tab_exclude).test(v_title)){continue}if(!new_map.hasOwnProperty(v_title)){new_map[v_title]=1}else{new_map[v_title]+=1}if(new_map[v_title]>1){v_title+=Number(new_map[v_title]-1)}playFrom.push(v_title)}}console.log(JSON.stringify(playFrom))}else{playFrom=["免费分享"]}vod.vod_play_from=playFrom.join(vod_play_from);let vod_play_url="$$$";let vod_tab_list=[];if(p.lists){if(p.lists.startsWith("js:")){print("开始执行lists代码:"+p.lists);try{var input=MY_URL;var play_url="";eval(p.lists.replace("js:",""));for(let i in LISTS){if(LISTS.hasOwnProperty(i)){try{LISTS[i]=LISTS[i].map(it=>it.split("$").slice(0,2).join("$"))}catch(e){print(`格式化LISTS发生错误:${e.message}`)}}}vod_play_url=LISTS.map(it=>it.join("#")).join(vod_play_url)}catch(e){print(`js执行lists: 发生错误:${e.message}`)}}else{let list_text=p.list_text||"body&&Text";let list_url=p.list_url||"a&&href";let list_url_prefix=p.list_url_prefix||"";let is_tab_js=p.tabs.trim().startsWith("js:");for(let i=0;i1&&!is_tab_js?p.tabs.split(";")[1]:"";let p1=p.lists.replaceAll("#idv",tab_name).replaceAll("#id",i);tab_ext=tab_ext.replaceAll("#idv",tab_name).replaceAll("#id",i);let tabName=tab_ext?_pdfh(html,tab_ext):tab_name;console.log(tabName);let new_vod_list=[];let tt1=(new Date).getTime();if(typeof pdfl==="function"){new_vod_list=pdfl(html,p1,list_text,list_url,MY_URL);if(list_url_prefix){new_vod_list=new_vod_list.map(it=>it.split("$")[0]+"$"+list_url_prefix+it.split("$").slice(1).join("$"))}}else{let vodList=[];try{vodList=_pdfa(html,p1);console.log("len(vodList):"+vodList.length)}catch(e){}for(let i=0;i0){new_vod_list=forceOrder(new_vod_list,"",x=>x.split("$")[0]);console.log(`drpy影响性能代码共计列表数循环次数:${new_vod_list.length},耗时:${(new Date).getTime()-tt1}毫秒`)}let vlist=new_vod_list.join("#");vod_tab_list.push(vlist)}vod_play_url=vod_tab_list.join(vod_play_url)}}vod.vod_play_url=vod_play_url}if(rule.图片替换&&rule.图片替换.includes("=>")){let replace_from=rule.图片替换.split("=>")[0];let replace_to=rule.图片替换.split("=>")[1];vod.vod_pic=vod.vod_pic.replace(replace_from,replace_to)}if(rule.图片来源&&vod.vod_pic&&vod.vod_pic.startsWith("http")){vod.vod_pic=vod.vod_pic+rule.图片来源}if(!vod.vod_id||vod_id.includes("$")&&vod.vod_id!==vod_id){vod.vod_id=vod_id}let t2=(new Date).getTime();console.log(`加载二级界面${MY_URL}耗时:${t2-t1}毫秒`);try{vod=vodDeal(vod)}catch(e){console.log(`vodDeal发生错误:${e.message}`)}return JSON.stringify({list:[vod]})}function get_tab_index(vod){let obj={};vod.vod_play_from.split("$$$").forEach((it,index)=>{obj[it]=index});return obj}function vodDeal(vod){let vod_play_from=vod.vod_play_from.split("$$$");let vod_play_url=vod.vod_play_url.split("$$$");let tab_removed_list=vod_play_from;let tab_ordered_list=vod_play_from;let tab_renamed_list=vod_play_from;let tab_list=vod_play_from;let play_ordered_list=vod_play_url;if(rule.tab_remove&&rule.tab_remove.length>0||rule.tab_order&&rule.tab_order.length>0){let tab_index_dict=get_tab_index(vod);if(rule.tab_remove&&rule.tab_remove.length>0){tab_removed_list=vod_play_from.filter(it=>!rule.tab_remove.includes(it));tab_list=tab_removed_list}if(rule.tab_order&&rule.tab_order.length>0){let tab_order=rule.tab_order;tab_ordered_list=tab_removed_list.sort((a,b)=>{return(tab_order.indexOf(a)===-1?9999:tab_order.indexOf(a))-(tab_order.indexOf(b)===-1?9999:tab_order.indexOf(b))});tab_list=tab_ordered_list}play_ordered_list=tab_list.map(it=>vod_play_url[tab_index_dict[it]])}if(rule.tab_rename&&typeof rule.tab_rename==="object"&Object.keys(rule.tab_rename).length>0){tab_renamed_list=tab_list.map(it=>rule.tab_rename[it]||it);tab_list=tab_renamed_list}vod.vod_play_from=tab_list.join("$$$");vod.vod_play_url=play_ordered_list.join("$$$");return vod}function tellIsJx(url){try{let is_vip=!/\.(m3u8|mp4|m4a)$/.test(url.split("?")[0])&&是否正版(url);return is_vip?1:0}catch(e){return 1}}function playParse(playObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));MY_URL=playObj.url;var MY_FLAG=playObj.flag;if(!/http/.test(MY_URL)){try{MY_URL=base64Decode(MY_URL)}catch(e){}}MY_URL=decodeURIComponent(MY_URL);var input=MY_URL;var flag=MY_FLAG;let common_play={parse:SPECIAL_URL.test(input)||/^(push:)/.test(input)?0:1,url:input,flag:flag,jx:tellIsJx(input)};let lazy_play;if(!rule.play_parse||!rule.lazy){lazy_play=common_play}else if(rule.play_parse&&rule.lazy&&typeof rule.lazy==="string"){try{let lazy_code=rule.lazy.trim();if(lazy_code.startsWith("js:")){lazy_code=lazy_code.replace("js:","").trim()}print("开始执行js免嗅=>"+lazy_code);eval(lazy_code);lazy_play=typeof input==="object"?input:{parse:SPECIAL_URL.test(input)||/^(push:)/.test(input)?0:1,jx:tellIsJx(input),url:input}}catch(e){print(`js免嗅错误:${e.message}`);lazy_play=common_play}}else{lazy_play=common_play}if(Array.isArray(rule.play_json)&&rule.play_json.length>0){let web_url=lazy_play.url;for(let pjson of rule.play_json){if(pjson.re&&(pjson.re==="*"||web_url.match(new RegExp(pjson.re)))){if(pjson.json&&typeof pjson.json==="object"){let base_json=pjson.json;lazy_play=Object.assign(lazy_play,base_json);break}}}}else if(rule.play_json&&!Array.isArray(rule.play_json)){let base_json={jx:1,parse:1};lazy_play=Object.assign(lazy_play,base_json)}else if(!rule.play_json){let base_json={jx:0,parse:1};lazy_play=Object.assign(lazy_play,base_json)}console.log(JSON.stringify(lazy_play));return JSON.stringify(lazy_play)}function proxyParse(proxyObj){var input=proxyObj.params;if(proxyObj.proxy_rule){log("准备执行本地代理规则:\n"+proxyObj.proxy_rule);try{eval(proxyObj.proxy_rule);if(input&&input!==proxyObj.params&&Array.isArray(input)&&input.length>=3){return input}else{return[404,"text/plain","Not Found"]}}catch(e){return[500,"text/plain","代理规则错误:"+e.message]}}else{return[404,"text/plain","Not Found"]}}function isVideoParse(isVideoObj){var input=isVideoObj.url;if(!isVideoObj.t){let re_matcher=new RegExp(isVideoObj.isVideo,"i");return re_matcher.test(input)}else{try{eval(isVideoObj.isVideo);if(typeof input==="boolean"){return input}else{return false}}catch(e){log(`执行嗅探规则发生错误:${e.message}`);return false}}}function getOriginalJs(js_code){let current_match=/var rule|[\u4E00-\u9FA5]+|function|let |var |const |\(|\)|"|'/;if(current_match.test(js_code)){return js_code}let rsa_private_key="MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCqin/jUpqM6+fgYP/oMqj9zcdHMM0mEZXLeTyixIJWP53lzJV2N2E3OP6BBpUmq2O1a9aLnTIbADBaTulTNiOnVGoNG58umBnupnbmmF8iARbDp2mTzdMMeEgLdrfXS6Y3VvazKYALP8EhEQykQVarexR78vRq7ltY3quXx7cgI0ROfZz5Sw3UOLQJ+VoWmwIxu9AMEZLVzFDQN93hzuzs3tNyHK6xspBGB7zGbwCg+TKi0JeqPDrXxYUpAz1cQ/MO+Da0WgvkXnvrry8NQROHejdLVOAslgr6vYthH9bKbsGyNY3H+P12kcxo9RAcVveONnZbcMyxjtF5dWblaernAgMBAAECggEAGdEHlSEPFmAr5PKqKrtoi6tYDHXdyHKHC5tZy4YV+Pp+a6gxxAiUJejx1hRqBcWSPYeKne35BM9dgn5JofgjI5SKzVsuGL6bxl3ayAOu+xXRHWM9f0t8NHoM5fdd0zC3g88dX3fb01geY2QSVtcxSJpEOpNH3twgZe6naT2pgiq1S4okpkpldJPo5GYWGKMCHSLnKGyhwS76gF8bTPLoay9Jxk70uv6BDUMlA4ICENjmsYtd3oirWwLwYMEJbSFMlyJvB7hjOjR/4RpT4FPnlSsIpuRtkCYXD4jdhxGlvpXREw97UF2wwnEUnfgiZJ2FT/MWmvGGoaV/CfboLsLZuQKBgQDTNZdJrs8dbijynHZuuRwvXvwC03GDpEJO6c1tbZ1s9wjRyOZjBbQFRjDgFeWs9/T1aNBLUrgsQL9c9nzgUziXjr1Nmu52I0Mwxi13Km/q3mT+aQfdgNdu6ojsI5apQQHnN/9yMhF6sNHg63YOpH+b+1bGRCtr1XubuLlumKKscwKBgQDOtQ2lQjMtwsqJmyiyRLiUOChtvQ5XI7B2mhKCGi8kZ+WEAbNQcmThPesVzW+puER6D4Ar4hgsh9gCeuTaOzbRfZ+RLn3Aksu2WJEzfs6UrGvm6DU1INn0z/tPYRAwPX7sxoZZGxqML/z+/yQdf2DREoPdClcDa2Lmf1KpHdB+vQKBgBXFCVHz7a8n4pqXG/HvrIMJdEpKRwH9lUQS/zSPPtGzaLpOzchZFyQQBwuh1imM6Te+VPHeldMh3VeUpGxux39/m+160adlnRBS7O7CdgSsZZZ/dusS06HAFNraFDZf1/VgJTk9BeYygX+AZYu+0tReBKSs9BjKSVJUqPBIVUQXAoGBAJcZ7J6oVMcXxHxwqoAeEhtvLcaCU9BJK36XQ/5M67ceJ72mjJC6/plUbNukMAMNyyi62gO6I9exearecRpB/OGIhjNXm99Ar59dAM9228X8gGfryLFMkWcO/fNZzb6lxXmJ6b2LPY3KqpMwqRLTAU/zy+ax30eFoWdDHYa4X6e1AoGAfa8asVGOJ8GL9dlWufEeFkDEDKO9ww5GdnpN+wqLwePWqeJhWCHad7bge6SnlylJp5aZXl1+YaBTtOskC4Whq9TP2J+dNIgxsaF5EFZQJr8Xv+lY9lu0CruYOh9nTNF9x3nubxJgaSid/7yRPfAGnsJRiknB5bsrCvgsFQFjJVs=";let decode_content="";function aes_decrypt(data){let key=CryptoJS.enc.Hex.parse("686A64686E780A0A0A0A0A0A0A0A0A0A");let iv=CryptoJS.enc.Hex.parse("647A797964730A0A0A0A0A0A0A0A0A0A");let encrypted=CryptoJS.AES.decrypt({ciphertext:CryptoJS.enc.Base64.parse(data)},key,{iv:iv,mode:CryptoJS.mode.CBC,padding:CryptoJS.pad.Pkcs7}).toString(CryptoJS.enc.Utf8);return encrypted}let error_log=false;function logger(text){if(error_log){log(text)}}let decode_funcs=[text=>{try{return ungzip(text)}catch(e){logger("非gzip加密");return""}},text=>{try{return base64Decode(text)}catch(e){logger("非b64加密");return""}},text=>{try{return aes_decrypt(text)}catch(e){logger("非aes加密");return""}},text=>{try{return RSA.decode(text,rsa_private_key,null)}catch(e){logger("非rsa加密");return""}}];let func_index=0;while(!current_match.test(decode_content)){decode_content=decode_funcs[func_index](js_code);func_index++;if(func_index>=decode_funcs.length){break}}return decode_content}function runMain(main_func_code,arg){let mainFunc=function(){return""};try{eval(main_func_code+"\nmainFunc=main;");return mainFunc(arg)}catch(e){log(`执行main_funct发生了错误:${e.message}`);return""}}function init(ext){console.log("init");rule={};rule_fetch_params={};fetch_params=null;try{let muban=模板.getMubans();if(typeof ext=="object"){rule=ext}else if(typeof ext=="string"){if(ext.startsWith("http")||ext.startsWith("file://")){let query=getQuery(ext);let js=request(ext,{method:"GET"});if(js){js=getOriginalJs(js);eval("(function(){"+js.replace("var rule","rule")+"})()")}if(query.type==="url"&&query.params){rule.params=urljoin(ext,query.params)}else if(query.params){rule.params=query.params}}else{ext=getOriginalJs(ext);eval("(function(){"+ext.replace("var rule","rule")+"})()")}}else{console.log(`规则加载失败,不支持的规则类型:${typeof ext}`);return}rule.host=(rule.host||"").rstrip("/");HOST=rule.host;if(rule.hostJs){console.log(`检测到hostJs,准备执行...`);try{eval(rule.hostJs);rule.host=HOST.rstrip("/")}catch(e){console.log(`执行${rule.hostJs}获取host发生错误:${e.message}`)}}if(rule["模板"]==="自动"){try{let host_headers=rule["headers"]||{};let host_html=getCode(HOST,{headers:host_headers});let match_muban="";let muban_keys=Object.keys(muban).filter(it=>!/默认|短视2|采集1/.test(it));for(let muban_key of muban_keys){try{let host_data=JSON.parse(home({},host_html,muban[muban_key].class_parse));if(host_data.class&&host_data.class.length>0){match_muban=muban_key;console.log(`自动匹配模板:【${muban_key}】`);break}}catch(e){console.log(`自动匹配模板:【${muban_key}】错误:${e.message}`)}}if(match_muban){muban["自动"]=muban[match_muban];if(rule["模板修改"]&&rule["模板修改"].startsWith("js:")){eval(rule["模板修改"].replace("js:","").trim())}}else{delete rule["模板"]}}catch(e){delete rule["模板"]}}if(rule.模板&&muban.hasOwnProperty(rule.模板)){print("继承模板:"+rule.模板);rule=Object.assign(muban[rule.模板],rule)}let rule_cate_excludes=(rule.cate_exclude||"").split("|").filter(it=>it.trim());let rule_tab_excludes=(rule.tab_exclude||"").split("|").filter(it=>it.trim());rule_cate_excludes=rule_cate_excludes.concat(CATE_EXCLUDE.split("|").filter(it=>it.trim()));rule_tab_excludes=rule_tab_excludes.concat(TAB_EXCLUDE.split("|").filter(it=>it.trim()));rule.cate_exclude=rule_cate_excludes.join("|");rule.tab_exclude=rule_tab_excludes.join("|");rule.类型=rule.类型||"影视";rule.url=rule.url||"";rule.double=rule.double||false;rule.homeUrl=rule.homeUrl||"";rule.detailUrl=rule.detailUrl||"";rule.searchUrl=rule.searchUrl||"";rule.homeUrl=rule.host&&rule.homeUrl?urljoin(rule.host,rule.homeUrl):rule.homeUrl||rule.host;rule.homeUrl=cheerio.jinja2(rule.homeUrl,{rule:rule});rule.detailUrl=rule.host&&rule.detailUrl?urljoin(rule.host,rule.detailUrl):rule.detailUrl;rule.二级访问前=rule.二级访问前||"";if(rule.url.includes("[")&&rule.url.includes("]")){let u1=rule.url.split("[")[0];let u2=rule.url.split("[")[1].split("]")[0];rule.url=rule.host&&rule.url?urljoin(rule.host,u1)+"["+urljoin(rule.host,u2)+"]":rule.url}else{rule.url=rule.host&&rule.url?urljoin(rule.host,rule.url):rule.url}if(rule.searchUrl.includes("[")&&rule.searchUrl.includes("]")&&!rule.searchUrl.includes("#")){let u1=rule.searchUrl.split("[")[0];let u2=rule.searchUrl.split("[")[1].split("]")[0];rule.searchUrl=rule.host&&rule.searchUrl?urljoin(rule.host,u1)+"["+urljoin(rule.host,u2)+"]":rule.searchUrl}else{rule.searchUrl=rule.host&&rule.searchUrl?urljoin(rule.host,rule.searchUrl):rule.searchUrl}rule.timeout=rule.timeout||5e3;rule.encoding=rule.编码||rule.encoding||"utf-8";rule.search_encoding=rule.搜索编码||rule.search_encoding||"";rule.图片来源=rule.图片来源||"";rule.图片替换=rule.图片替换||"";rule.play_json=rule.hasOwnProperty("play_json")?rule.play_json:[];rule.pagecount=rule.hasOwnProperty("pagecount")?rule.pagecount:{};rule.proxy_rule=rule.hasOwnProperty("proxy_rule")?rule.proxy_rule:"";if(!rule.hasOwnProperty("sniffer")){rule.sniffer=false}rule.sniffer=rule.hasOwnProperty("sniffer")?rule.sniffer:"";rule.sniffer=!!(rule.sniffer&&rule.sniffer!=="0"&&rule.sniffer!=="false");rule.isVideo=rule.hasOwnProperty("isVideo")?rule.isVideo:"";if(rule.sniffer&&!rule.isVideo){rule.isVideo="http((?!http).){12,}?\\.(m3u8|mp4|flv|avi|mkv|rm|wmv|mpg|m4a|mp3)\\?.*|http((?!http).){12,}\\.(m3u8|mp4|flv|avi|mkv|rm|wmv|mpg|m4a|mp3)|http((?!http).)*?video/tos*|http((?!http).)*?obj/tos*"}rule.tab_remove=rule.hasOwnProperty("tab_remove")?rule.tab_remove:[];rule.tab_order=rule.hasOwnProperty("tab_order")?rule.tab_order:[];rule.tab_rename=rule.hasOwnProperty("tab_rename")?rule.tab_rename:{};if(rule.headers&&typeof rule.headers==="object"){try{let header_keys=Object.keys(rule.headers);for(let k of header_keys){if(k.toLowerCase()==="user-agent"){let v=rule.headers[k];console.log(v);if(["MOBILE_UA","PC_UA","UC_UA","IOS_UA","UA"].includes(v)){rule.headers[k]=eval(v)}}else if(k.toLowerCase()==="cookie"){let v=rule.headers[k];if(v&&v.startsWith("http")){console.log(v);try{v=fetch(v);console.log(v);rule.headers[k]=v}catch(e){console.log(`从${v}获取cookie发生错误:${e.message}`)}}}}}catch(e){console.log(`处理headers发生错误:${e.message}`)}}rule_fetch_params={headers:rule.headers||false,timeout:rule.timeout,encoding:rule.encoding};oheaders=rule.headers||{};RKEY=typeof key!=="undefined"&&key?key:"drpy_"+(rule.title||rule.host);pre();init_test()}catch(e){console.log(`init_test发生错误:${e.message}`)}}let homeHtmlCache=undefined;function home(filter,home_html,class_parse){console.log("home");home_html=home_html||"";class_parse=class_parse||"";if(typeof rule.filter==="string"&&rule.filter.trim().length>0){try{let filter_json=ungzip(rule.filter.trim());rule.filter=JSON.parse(filter_json)}catch(e){rule.filter={}}}let homeObj={filter:rule.filter||false,MY_URL:rule.homeUrl,class_name:rule.class_name||"",class_url:rule.class_url||"",class_parse:class_parse||rule.class_parse||"",cate_exclude:rule.cate_exclude,home_html:home_html};return homeParse(homeObj)}function homeVod(params){console.log("homeVod");let homeVodObj={"推荐":rule.推荐,double:rule.double,homeUrl:rule.homeUrl,detailUrl:rule.detailUrl};return homeVodParse(homeVodObj)}function category(tid,pg,filter,extend){let cateObj={url:rule.url,"一级":rule.一级,tid:tid,pg:parseInt(pg),filter:filter,extend:extend};return categoryParse(cateObj)}function detail(vod_url){let orId=vod_url;let fyclass="";log("orId:"+orId);if(vod_url.indexOf("$")>-1){let tmp=vod_url.split("$");fyclass=tmp[0];vod_url=tmp[1]}let detailUrl=vod_url.split("@@")[0];let url;if(!detailUrl.startsWith("http")&&!detailUrl.includes("/")){url=rule.detailUrl.replaceAll("fyid",detailUrl).replaceAll("fyclass",fyclass)}else if(detailUrl.includes("/")){url=urljoin(rule.homeUrl,detailUrl)}else{url=detailUrl}let detailObj={orId:orId,url:url,"二级":rule.二级,"二级访问前":rule.二级访问前,detailUrl:detailUrl,fyclass:fyclass,tab_exclude:rule.tab_exclude};return detailParse(detailObj)}function play(flag,id,flags){let playObj={url:id,flag:flag,flags:flags};return playParse(playObj)}function search(wd,quick,pg){if(rule.search_encoding){if(rule.search_encoding.toLowerCase()!=="utf-8"){wd=encodeStr(wd,rule.search_encoding)}}else if(rule.encoding&&rule.encoding.toLowerCase()!=="utf-8"){wd=encodeStr(wd,rule.encoding)}let searchObj={searchUrl:rule.searchUrl,"搜索":rule.搜索,wd:wd,pg:pg||1,quick:quick};return searchParse(searchObj)}function proxy(params){if(rule.proxy_rule&&rule.proxy_rule.trim()){rule.proxy_rule=rule.proxy_rule.trim()}if(rule.proxy_rule.startsWith("js:")){rule.proxy_rule=rule.proxy_rule.replace("js:","")}let proxyObj={params:params,proxy_rule:rule.proxy_rule};return proxyParse(proxyObj)}function sniffer(){let enable_sniffer=rule.sniffer||false;if(enable_sniffer){log("开始执行辅助嗅探代理规则...")}return enable_sniffer}function isVideo(url){let t=0;let is_video;if(rule.isVideo&&rule.isVideo.trim()){is_video=rule.isVideo.trim()}if(is_video.startsWith("js:")){is_video=is_video.replace("js:","");t=1}let isVideoObj={url:url,isVideo:is_video,t:t};let result=isVideoParse(isVideoObj);if(result){log("成功执行辅助嗅探规则并检测到视频地址:\n"+rule.isVideo)}return result}function getRule(key){return key?rule[key]||"":rule}function DRPY(){return{runMain:runMain,getRule:getRule,init:init,home:home,homeVod:homeVod,category:category,detail:detail,play:play,search:search,proxy:proxy,sniffer:sniffer,isVideo:isVideo,fixAdM3u8Ai:fixAdM3u8Ai}}export default{runMain:runMain,getRule:getRule,init:init,home:home,homeVod:homeVod,category:category,detail:detail,play:play,search:search,proxy:proxy,sniffer:sniffer,isVideo:isVideo,fixAdM3u8Ai:fixAdM3u8Ai,DRPY:DRPY}; \ No newline at end of file diff --git a/tvboxqq/tvboxqq/饭太硬/api/gbk.js b/tvboxqq/tvboxqq/饭太硬/api/gbk.js new file mode 100644 index 0000000..796d53a --- /dev/null +++ b/tvboxqq/tvboxqq/饭太硬/api/gbk.js @@ -0,0 +1,68 @@ +/*** + * gbk编码解码函数 + * strTool = gbkTool() strTool.encode(key) + * @returns {{encode: (function(*): *), decode: (function(*): *)}} + */ +export function gbkTool(){ + var data=function(zipData){ + var re=zipData + .replace(/#(\d+)\$/g,function(a,b){ + return Array(+b+3).join('#'); + }) + .replace(/#/g,'####') + .replace(/(\w\w):([\w#]+)(?:,|$)/g,function(a,hd,dt){ + return dt.replace(/../g,function(a){ + if(a!='##'){ + return hd+a; + }else{ + return a; + } + }); + }); + return re; + }('4e:020405060f12171f20212326292e2f313335373c40414244464a5155575a5b6263646567686a6b6c6d6e6f727475767778797a7b7c7d7f808182838485878a#909697999c9d9ea3aaafb0b1b4b6b7b8b9bcbdbec8cccfd0d2dadbdce0e2e6e7e9edeeeff1f4f8f9fafcfe,4f:00020304050607080b0c12131415161c1d212328292c2d2e31333537393b3e3f40414244454748494a4b4c525456616266686a6b6d6e7172757778797a7d8081828586878a8c8e909293959698999a9c9e9fa1a2a4abadb0b1b2b3b4b6b7b8b9babbbcbdbec0c1c2c6c7c8c9cbcccdd2d3d4d5d6d9dbe0e2e4e5e7ebecf0f2f4f5f6f7f9fbfcfdff,50:000102030405060708090a#0b0e1011131516171b1d1e20222324272b2f303132333435363738393b3d3f404142444546494a4b4d5051525354565758595b5d5e5f6061626364666768696a6b6d6e6f70717273747578797a7c7d818283848687898a8b8c8e8f909192939495969798999a9b9c9d9e9fa0a1a2a4a6aaabadaeafb0b1b3b4b5b6b7b8b9bcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdced0d1d2d3d4d5d7d8d9dbdcdddedfe0e1e2e3e4e5e8e9eaebeff0f1f2f4f6f7f8f9fafcfdfeff,51:00010203040508#090a0c0d0e0f1011131415161718191a1b1c1d1e1f2022232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e42474a4c4e4f5052535758595b5d5e5f606163646667696a6f727a7e7f838486878a8b8e8f90919394989a9d9e9fa1a3a6a7a8a9aaadaeb4b8b9babebfc1c2c3c5c8cacdced0d2d3d4d5d6d7d8d9dadcdedfe2e3e5e6e7e8e9eaeceef1f2f4f7fe,52:0405090b0c0f101314151c1e1f2122232526272a2c2f313234353c3e4445464748494b4e4f5253555758#595a5b5d5f6062636466686b6c6d6e7071737475767778797a7b7c7e808384858687898a8b8c8d8e8f91929495969798999a9ca4a5a6a7aeafb0b4b5b6b7b8b9babbbcbdc0c1c2c4c5c6c8cacccdcecfd1d3d4d5d7d9dadbdcdddee0e1e2e3e5e6e7e8e9eaebecedeeeff1f2f3f4f5f6f7f8fbfcfd,53:0102030407090a0b0c0e11121314181b1c1e1f2224252728292b2c2d2f3031323334353637383c3d404244464b4c4d505458595b5d65686a6c6d7276797b7c7d7e80818387888a8e8f#90919293949697999b9c9ea0a1a4a7aaabacadafb0b1b2b3b4b5b7b8b9babcbdbec0c3c4c5c6c7cecfd0d2d3d5dadcdddee1e2e7f4fafeff,54:000205070b1418191a1c2224252a303336373a3d3f4142444547494c4d4e4f515a5d5e5f6061636567696a6b6c6d6e6f7074797a7e7f8183858788898a8d919397989c9e9fa0a1a2a5aeb0b2b5b6b7b9babcbec3c5cacbd6d8dbe0e1e2e3e4ebeceff0f1f4f5f6f7f8f9fbfe,55:0002030405080a0b0c0d0e121315161718191a1c1d1e1f212526#28292b2d3234353638393a3b3d40424547484b4c4d4e4f515253545758595a5b5d5e5f60626368696b6f7071727374797a7d7f85868c8d8e9092939596979a9b9ea0a1a2a3a4a5a6a8a9aaabacadaeafb0b2b4b6b8babcbfc0c1c2c3c6c7c8cacbcecfd0d5d7d8d9dadbdee0e2e7e9edeef0f1f4f6f8f9fafbfcff,56:0203040506070a0b0d1011121314151617191a1c1d202122252628292a2b2e2f30333537383a3c3d3e404142434445464748494a4b4f5051525355565a5b5d5e5f6061#636566676d6e6f70727374757778797a7d7e7f80818283848788898a8b8c8d9091929495969798999a9b9c9d9e9fa0a1a2a4a5a6a7a8a9aaabacadaeb0b1b2b3b4b5b6b8b9babbbdbebfc0c1c2c3c4c5c6c7c8c9cbcccdcecfd0d1d2d3d5d6d8d9dce3e5e6e7e8e9eaeceeeff2f3f6f7f8fbfc,57:00010205070b0c0d0e0f101112131415161718191a1b1d1e202122242526272b313234353637383c3d3f414344454648494b52535455565859626365676c6e707172747578797a7d7e7f80#818788898a8d8e8f90919495969798999a9c9d9e9fa5a8aaacafb0b1b3b5b6b7b9babbbcbdbebfc0c1c4c5c6c7c8c9cacccdd0d1d3d6d7dbdcdee1e2e3e5e6e7e8e9eaebeceef0f1f2f3f5f6f7fbfcfeff,58:0103040508090a0c0e0f101213141617181a1b1c1d1f222325262728292b2c2d2e2f31323334363738393a3b3c3d3e3f4041424345464748494a4b4e4f505253555657595a5b5c5d5f6061626364666768696a6d6e6f707172737475767778797a7b7c7d7f82848687888a8b8c#8d8e8f909194959697989b9c9da0a1a2a3a4a5a6a7aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbdbebfc0c2c3c4c6c7c8c9cacbcccdcecfd0d2d3d4d6d7d8d9dadbdcdddedfe0e1e2e3e5e6e7e8e9eaedeff1f2f4f5f7f8fafbfcfdfeff,59:000103050608090a0b0c0e1011121317181b1d1e2021222326282c30323335363b3d3e3f404345464a4c4d505253595b5c5d5e5f616364666768696a6b6c6d6e6f70717275777a7b7c7e7f8085898b8c8e8f90919495989a9b9c9d9fa0a1a2a6#a7acadb0b1b3b4b5b6b7b8babcbdbfc0c1c2c3c4c5c7c8c9cccdcecfd5d6d9dbdedfe0e1e2e4e6e7e9eaebedeeeff0f1f2f3f4f5f6f7f8fafcfdfe,5a:00020a0b0d0e0f101214151617191a1b1d1e2122242627282a2b2c2d2e2f3033353738393a3b3d3e3f414243444547484b4c4d4e4f5051525354565758595b5c5d5e5f60616364656668696b6c6d6e6f7071727378797b7c7d7e808182838485868788898a8b8c8d8e8f9091939495969798999c9d9e9fa0a1a2a3a4a5a6a7a8a9abac#adaeafb0b1b4b6b7b9babbbcbdbfc0c3c4c5c6c7c8cacbcdcecfd0d1d3d5d7d9dadbdddedfe2e4e5e7e8eaecedeeeff0f2f3f4f5f6f7f8f9fafbfcfdfeff,5b:0001020304050607080a0b0c0d0e0f10111213141518191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303133353638393a3b3c3d3e3f4142434445464748494a4b4c4d4e4f52565e606167686b6d6e6f7274767778797b7c7e7f82868a8d8e90919294969fa7a8a9acadaeafb1b2b7babbbcc0c1c3c8c9cacbcdcecf#d1d4d5d6d7d8d9dadbdce0e2e3e6e7e9eaebecedeff1f2f3f4f5f6f7fdfe,5c:0002030507080b0c0d0e10121317191b1e1f2021232628292a2b2d2e2f303233353637434446474c4d5253545657585a5b5c5d5f62646768696a6b6c6d70727374757677787b7c7d7e808384858687898a8b8e8f9293959d9e9fa0a1a4a5a6a7a8aaaeafb0b2b4b6b9babbbcbec0c2c3c5c6c7c8c9cacccdcecfd0d1d3d4d5d6d7d8dadbdcdddedfe0e2e3e7e9ebeceeeff1f2f3f4f5f6f7f8f9fafcfdfeff,5d:00#01040508090a0b0c0d0f10111213151718191a1c1d1f2021222325282a2b2c2f3031323335363738393a3b3c3f4041424344454648494d4e4f5051525354555657595a5c5e5f6061626364656667686a6d6e7071727375767778797a7b7c7d7e7f8081838485868788898a8b8c8d8e8f9091929394959697989a9b9c9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b8b9babbbcbdbebfc0c1c2c3c4c6c7c8c9cacbcccecfd0d1d2d3d4d5d6d7d8d9dadcdfe0e3e4eaeced#f0f5f6f8f9fafbfcff,5e:000407090a0b0d0e1213171e1f20212223242528292a2b2c2f303233343536393a3e3f404143464748494a4b4d4e4f50515253565758595a5c5d5f60636465666768696a6b6c6d6e6f70717577797e8182838588898c8d8e92989b9da1a2a3a4a8a9aaabacaeafb0b1b2b4babbbcbdbfc0c1c2c3c4c5c6c7c8cbcccdcecfd0d4d5d7d8d9dadcdddedfe0e1e2e3e4e5e6e7e9ebecedeeeff0f1f2f3f5f8f9fbfcfd,5f:050607090c0d0e10121416191a1c1d1e21222324#282b2c2e30323334353637383b3d3e3f4142434445464748494a4b4c4d4e4f5154595a5b5c5e5f60636567686b6e6f72747576787a7d7e7f83868d8e8f919394969a9b9d9e9fa0a2a3a4a5a6a7a9abacafb0b1b2b3b4b6b8b9babbbebfc0c1c2c7c8cacbced3d4d5dadbdcdedfe2e3e5e6e8e9eceff0f2f3f4f6f7f9fafc,60:0708090b0c10111317181a1e1f2223242c2d2e3031323334363738393a3d3e404445464748494a4c4e4f5153545657585b5c5e5f606165666e71727475777e80#8182858687888a8b8e8f909193959798999c9ea1a2a4a5a7a9aaaeb0b3b5b6b7b9babdbebfc0c1c2c3c4c7c8c9cccdcecfd0d2d3d4d6d7d9dbdee1e2e3e4e5eaf1f2f5f7f8fbfcfdfeff,61:02030405070a0b0c1011121314161718191b1c1d1e21222528292a2c2d2e2f303132333435363738393a3b3c3d3e4041424344454647494b4d4f50525354565758595a5b5c5e5f606163646566696a6b6c6d6e6f717273747678797a7b7c7d7e7f808182838485868788898a8c8d8f9091929395#969798999a9b9c9e9fa0a1a2a3a4a5a6aaabadaeafb0b1b2b3b4b5b6b8b9babbbcbdbfc0c1c3c4c5c6c7c9cccdcecfd0d3d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e7e8e9eaebecedeeeff0f1f2f3f4f6f7f8f9fafbfcfdfe,62:00010203040507091314191c1d1e2023262728292b2d2f303132353638393a3b3c424445464a4f50555657595a5c5d5e5f6061626465687172747577787a7b7d818283858687888b8c8d8e8f9094999c9d9ea3a6a7a9aaadaeafb0b2b3b4b6b7b8babec0c1#c3cbcfd1d5dddee0e1e4eaebf0f2f5f8f9fafb,63:00030405060a0b0c0d0f10121314151718191c2627292c2d2e30313334353637383b3c3e3f40414447484a51525354565758595a5b5c5d60646566686a6b6c6f707273747578797c7d7e7f81838485868b8d9193949597999a9b9c9d9e9fa1a4a6abafb1b2b5b6b9bbbdbfc0c1c2c3c5c7c8cacbccd1d3d4d5d7d8d9dadbdcdddfe2e4e5e6e7e8ebeceeeff0f1f3f5f7f9fafbfcfe,64:0304060708090a0d0e111215161718191a1d1f222324#252728292b2e2f3031323335363738393b3c3e404243494b4c4d4e4f505153555657595a5b5c5d5f60616263646566686a6b6c6e6f70717273747576777b7c7d7e7f8081838688898a8b8c8d8e8f90939497989a9b9c9d9fa0a1a2a3a5a6a7a8aaabafb1b2b3b4b6b9bbbdbebfc1c3c4c6c7c8c9cacbcccfd1d3d4d5d6d9dadbdcdddfe0e1e3e5e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,65:01020304050607080a0b0c0d0e0f10111314151617191a1b1c1d1e1f2021#222324262728292a2c2d30313233373a3c3d404142434446474a4b4d4e5052535457585a5c5f606164656768696a6d6e6f7173757678797a7b7c7d7e7f8081828384858688898a8d8e8f92949596989a9d9ea0a2a3a6a8aaacaeb1b2b3b4b5b6b7b8babbbebfc0c2c7c8c9cacdd0d1d3d4d5d8d9dadbdcdddedfe1e3e4eaebf2f3f4f5f8f9fbfcfdfeff,66:0104050708090b0d1011121617181a1b1c1e2122232426292a2b2c2e3032333738393a3b3d3f40424445464748494a4d4e505158#595b5c5d5e6062636567696a6b6c6d7172737578797b7c7d7f808183858688898a8b8d8e8f909293949598999a9b9c9e9fa0a1a2a3a4a5a6a9aaabacadafb0b1b2b3b5b6b7b8babbbcbdbfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8dadedfe0e1e2e3e4e5e7e8eaebecedeeeff1f5f6f8fafbfd,67:010203040506070c0e0f1112131618191a1c1e20212223242527292e303233363738393b3c3e3f414445474a4b4d5254555758595a5b5d62636466676b6c6e717476#78797a7b7d8082838586888a8c8d8e8f9192939496999b9fa0a1a4a6a9acaeb1b2b4b9babbbcbdbebfc0c2c5c6c7c8c9cacbcccdced5d6d7dbdfe1e3e4e6e7e8eaebedeef2f5f6f7f8f9fafbfcfe,68:01020304060d1012141518191a1b1c1e1f20222324252627282b2c2d2e2f30313435363a3b3f474b4d4f52565758595a5b5c5d5e5f6a6c6d6e6f707172737578797a7b7c7d7e7f8082848788898a8b8c8d8e90919294959698999a9b9c9d9e9fa0a1a3a4a5a9aaabacaeb1b2b4b6b7b8#b9babbbcbdbebfc1c3c4c5c6c7c8cacccecfd0d1d3d4d6d7d9dbdcdddedfe1e2e4e5e6e7e8e9eaebecedeff2f3f4f6f7f8fbfdfeff,69:00020304060708090a0c0f11131415161718191a1b1c1d1e21222325262728292a2b2c2e2f313233353637383a3b3c3e4041434445464748494a4b4c4d4e4f50515253555658595b5c5f616264656768696a6c6d6f7072737475767a7b7d7e7f8183858a8b8c8e8f909192939697999a9d9e9fa0a1a2a3a4a5a6a9aaacaeafb0b2b3b5b6b8b9babcbd#bebfc0c2c3c4c5c6c7c8c9cbcdcfd1d2d3d5d6d7d8d9dadcdddee1e2e3e4e5e6e7e8e9eaebeceeeff0f1f3f4f5f6f7f8f9fafbfcfe,6a:000102030405060708090b0c0d0e0f10111213141516191a1b1c1d1e20222324252627292b2c2d2e30323334363738393a3b3c3f40414243454648494a4b4c4d4e4f515253545556575a5c5d5e5f60626364666768696a6b6c6d6e6f70727374757677787a7b7d7e7f81828385868788898a8b8c8d8f929394959698999a9b9c9d9e9fa1a2a3a4a5a6#a7a8aaadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,6b:000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f252628292a2b2c2d2e2f303133343536383b3c3d3f4041424445484a4b4d4e4f5051525354555657585a5b5c5d5e5f606168696b6c6d6e6f7071727374757677787a7d7e7f808588#8c8e8f909194959798999c9d9e9fa0a2a3a4a5a6a7a8a9abacadaeafb0b1b2b6b8b9babbbcbdbec0c3c4c6c7c8c9caccced0d1d8dadcdddedfe0e2e3e4e5e6e7e8e9ecedeef0f1f2f4f6f7f8fafbfcfeff,6c:000102030408090a0b0c0e12171c1d1e2023252b2c2d31333637393a3b3c3e3f434445484b4c4d4e4f5152535658595a62636566676b6c6d6e6f71737577787a7b7c7f8084878a8b8d8e9192959697989a9c9d9ea0a2a8acafb0b4b5b6b7bac0c1c2c3c6c7c8cbcdcecfd1d2d8#d9dadcdddfe4e6e7e9ecedf2f4f9ff,6d:000203050608090a0d0f101113141516181c1d1f20212223242628292c2d2f30343637383a3f404244494c50555657585b5d5f6162646567686b6c6d707172737576797a7b7d7e7f8081838486878a8b8d8f9092969798999a9ca2a5acadb0b1b3b4b6b7b9babbbcbdbec1c2c3c8c9cacdcecfd0d2d3d4d5d7dadbdcdfe2e3e5e7e8e9eaedeff0f2f4f5f6f8fafdfeff,6e:0001020304060708090b0f12131518191b1c1e1f222627282a2c2e30313335#3637393b3c3d3e3f40414245464748494a4b4c4f5051525557595a5c5d5e606162636465666768696a6c6d6f707172737475767778797a7b7c7d8081828487888a8b8c8d8e91929394959697999a9b9d9ea0a1a3a4a6a8a9abacadaeb0b3b5b8b9bcbebfc0c3c4c5c6c8c9cacccdced0d2d6d8d9dbdcdde3e7eaebecedeeeff0f1f2f3f5f6f7f8fafbfcfdfeff,6f:000103040507080a0b0c0d0e101112161718191a1b1c1d1e1f212223252627282c2e303234353738393a3b3c3d3f404142#43444548494a4c4e4f5051525354555657595a5b5d5f60616364656768696a6b6c6f707173757677797b7d7e7f808182838586878a8b8f909192939495969798999a9b9d9e9fa0a2a3a4a5a6a8a9aaabacadaeafb0b1b2b4b5b7b8babbbcbdbebfc1c3c4c5c6c7c8cacbcccdcecfd0d3d4d5d6d7d8d9dadbdcdddfe2e3e4e5e6e7e8e9eaebecedf0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,70:000102030405060708090a0b0c0d0e0f1012131415161718191c1d1e1f2021222425262728292a#2b2c2d2e2f30313233343637383a3b3c3d3e3f404142434445464748494a4b4d4e505152535455565758595a5b5c5d5f606162636465666768696a6e7172737477797a7b7d818283848687888b8c8d8f90919397989a9b9e9fa0a1a2a3a4a5a6a7a8a9aab0b2b4b5b6babebfc4c5c6c7c9cbcccdcecfd0d1d2d3d4d5d6d7dadcdddee0e1e2e3e5eaeef0f1f2f3f4f5f6f8fafbfcfeff,71:0001020304050607080b0c0d0e0f111214171b1c1d1e1f2021222324252728292a2b2c2d2e323334#353738393a3b3c3d3e3f4041424344464748494b4d4f505152535455565758595a5b5d5f6061626365696a6b6c6d6f707174757677797b7c7e7f8081828385868788898b8c8d8e909192939596979a9b9c9d9ea1a2a3a4a5a6a7a9aaabadaeafb0b1b2b4b6b7b8babbbcbdbebfc0c1c2c4c5c6c7c8c9cacbcccdcfd0d1d2d3d6d7d8d9dadbdcdddedfe1e2e3e4e6e8e9eaebecedeff0f1f2f3f4f5f6f7f8fafbfcfdfeff,72:0001020304050708090a0b0c0d0e0f101112131415161718191a#1b1c1e1f2021222324252627292b2d2e2f3233343a3c3e40414243444546494a4b4e4f505153545557585a5c5e60636465686a6b6c6d707173747677787b7c7d828385868788898c8e9091939495969798999a9b9c9d9ea0a1a2a3a4a5a6a7a8a9aaabaeb1b2b3b5babbbcbdbebfc0c5c6c7c9cacbcccfd1d3d4d5d6d8dadb#95$,30:000102,00b702:c9c7,00a830:0305,2014ff5e20:162618191c1d,30:141508090a0b0c0d0e0f16171011,00:b1d7f7,22:362728110f2a2908371aa52520,231222:992b2e614c483d1d606e6f64651e3534,26:4240,00b020:3233,2103ff0400a4ff:e0e1,203000a7211626:0605,25:cbcfcec7c6a1a0b3b2,203b21:92909193,30:13#95$,21:70717273747576777879#4$,24:88898a8b8c8d8e8f909192939495969798999a9b7475767778797a7b7c7d7e7f808182838485868760616263646566676869##,32:20212223242526272829##,21:606162636465666768696a6b#97$,ff:010203e505060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5de3#95$,30:4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f90919293#106$a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6#103$,03:9192939495969798999a9b9c9d9e9fa0a1a3a4a5a6a7a8a9#6$b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c3c4c5c6c7c8c9#5$,fe:3536393a3f403d3e41424344##3b3c373831#3334#104$,04:10111213141501161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f#13$30313233343551363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f#11$,02:cacbd9,20:13152535,21:050996979899,22:151f23526667bf,25:505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f7071727381828384858687#88898a8b8c8d8e8f939495bcbde2e3e4e5,2609229530:121d1e#9$,010100e101ce00e0011300e9011b00e8012b00ed01d000ec014d00f301d200f2016b00fa01d400f901:d6d8dadc,00:fcea,0251e7c701:4448,e7c802:61#2$,31:05060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20212223242526272829#19$,30:212223242526272829,32a333:8e8f9c9d9ea1c4ced1d2d5,fe30ff:e2e4#,212132:31#,20:10#1$,30:fc9b9cfdfe069d9e,fe:494a4b4c4d4e4f50515254555657595a5b5c5d5e5f6061#626364656668696a6b,e7:e7e8e9eaebecedeeeff0f1f2f3,30:07#11$,25:000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b#13$,72:dcdddfe2e3e4e5e6e7eaebf5f6f9fdfeff,73:00020405060708090b0c0d0f1011121418191a1f2023242627282d2f30323335363a3b3c3d404142434445464748#494a4b4c4e4f515354555658595a5b5c5d5e5f6162636465666768696a6b6e7071#92$72737475767778797a7b7c7d7f808182838586888a8c8d8f90929394959798999a9c9d9ea0a1a3a4a5a6a7a8aaacadb1b4b5b6b8b9bcbdbebfc1c3c4c5c6c7#cbccced2d3d4d5d6d7d8dadbdcdddfe1e2e3e4e6e8eaebeceeeff0f1f3f4f5f6f7#92$f8f9fafbfcfdfeff,74:0001020407080b0c0d0e1112131415161718191c1d1e1f2021232427292b2d2f31323738393a3b3d3e3f4042434445464748494a4b4c4d#4e4f505152535456585d606162636465666768696a6b6c6e6f717273747578797a#92$7b7c7d7f8284858688898a8c8d8f9192939495969798999a9b9d9fa0a1a2a3a4a5a6aaabacadaeafb0b1b2b3b4b5b6b7b8b9bbbcbdbebfc0c1c2c3c4c5c6c7#c8c9cacbcccdcecfd0d1d3d4d5d6d7d8d9dadbdddfe1e5e7e8e9eaebecedf0f1f2#92$f3f5f8f9fafbfcfdfe,75:0001020305060708090a0b0c0e1012141516171b1d1e202122232426272a2e3436393c3d3f414243444647494a4d5051525355565758#5d5e5f60616263646768696b6c6d6e6f7071737576777a7b7c7d7e808182848587#92$88898a8c8d8e909395989b9c9ea2a6a7a8a9aaadb6b7babbbfc0c1c6cbcccecfd0d1d3d7d9dadcdddfe0e1e5e9ecedeeeff2f3f5f6f7f8fafbfdfe,76:02040607#08090b0d0e0f11121314161a1c1d1e212327282c2e2f31323637393a3b3d414244#92$45464748494a4b4e4f50515253555758595a5b5d5f6061626465666768696a6c6d6e7071727374757677797a7c7f80818385898a8c8d8f9092949597989a9b#9c9d9e9fa0a1a2a3a5a6a7a8a9aaabacadafb0b3b5b6b7b8b9babbbcbdbec0c1c3,554a963f57c3632854ce550954c076:914c,853c77ee827e788d72319698978d6c285b894ffa630966975cb880fa684880ae660276ce51f9655671ac7ff1888450b2596561ca6fb382ad634c625253ed54277b06516b75a45df462d48dcb9776628a8019575d97387f627238767d67cf767e64464f708d2562dc7a17659173ed642c6273822c9881677f724862:6ecc,4f3474e3534a529e7eca90a65e2e6886699c81807ed168d278c5868c9551508d8c2482de80de53058912526576:c4c7c9cbccd3d5d9dadcdddee0e1e2e3e4e6e7e8e9eaebecedf0f3f5f6f7fafbfdff,77:00020305060a0c0e0f1011121314151617181b1c1d1e21232425272a2b#2c2e3031323334393b3d3e3f4244454648494a4b4c4d4e4f52535455565758595c,858496f94fdd582199715b9d62:b1a5,66b48c799c8d7206676f789160b253:5117,8f8880cc8d1d94a1500d72c8590760eb711988ab595482ef672c7b285d297ef7752d6cf58e668ff8903c9f3b6bd491197b145f7c78a784d6853d6b:d5d9d6,5e:0187,75f995ed655d5f:0ac5,8f9f58c181c2907f965b97ad8fb97f168d2c62414fbf53:d85e,8f:a8a9ab,904d68075f6a819888689cd6618b522b762a5f6c658c6fd26ee85bbe644851:75b0,67c44e1979c9997c70b377:5d5e5f606467696a6d6e6f7071727374757677787a7b7c818283868788898a8b8f90939495969798999a9b9c9d9ea1a3a4a6a8abadaeafb1b2b4b6b7b8b9ba#bcbec0c1c2c3c4c5c6c7c8c9cacbcccecfd0d1d2d3d4d5d6d8d9dadddedfe0e1e4,75c55e7673bb83e064ad62e894b56ce2535a52c3640f94c27b944f2f5e1b823681:168a,6e246cca9a736355535c54fa886557e04e0d5e036b657c3f90e8601664e6731c88c16750624d8d22776c8e2991c75f6983dc8521991053c286956b8b60:ede8,707f82:cd31,4ed36ca785cf64cd7cd969fd66f9834953957b564fa7518c6d4b5c428e6d63d253c983:2c36,67e578b4643d5bdf5c945dee8be762c667f48c7a640063ba8749998b8c177f2094f24ea7961098a4660c731677:e6e8eaeff0f1f2f4f5f7f9fafbfc,78:0304050607080a0b0e0f101315191b1e20212224282a2b2e2f31323335363d3f414243444648494a4b4d4f51535458595a#5b5c5e5f606162636465666768696f7071727374757678797a7b7d7e7f80818283,573a5c1d5e38957f507f80a05382655e7545553150218d856284949e671d56326f6e5de2543570928f66626f64a463a35f7b6f8890f481e38fb05c1866685ff16c8996488d81886c649179f057ce6a59621054484e587a0b60e96f848bda627f901e9a8b79e4540375f4630153196c608fdf5f1b9a70803b9f7f4f885c3a8d647fc565a570bd51:45b2,866b5d075ba062bd916c75748e0c7a2061017b794ec77ef877854e1181ed521d51fa6a7153a88e87950496cf6ec19664695a78:848586888a8b8f9092949596999d9ea0a2a4a6a8a9aaabacadaeafb5b6b7b8babbbcbdbfc0c2c3c4c6c7c8cccdcecfd1d2d3d6d7d8dadbdcdddedfe0e1e2e3#e4e5e6e7e9eaebedeeeff0f1f3f5f6f8f9fbfcfdfeff,79:00020304060708090a0b0c,784050a877d7641089e6590463e35ddd7a7f693d4f20823955984e3275ae7a975e:628a,95ef521b5439708a6376952457826625693f918755076df37eaf882262337ef075b5832878c196cc8f9e614874f78bcd6b64523a8d506b21806a847156f153064e:ce1b,51d17c97918b7c074fc38e7f7be17a9c64675d1450ac810676017cb96dec7fe067515b:58f8,78cb64:ae13,63:aa2b,9519642d8fbe7b5476296253592754466b7950a362345e266b864ee38d37888b5f85902e79:0d0e0f1011121415161718191a1b1c1d1f2021222325262728292a2b2c2d2e2f3031323335363738393d3f42434445474a4b4c4d4e4f505152545558596163#6466696a6b6c6e70717273747576797b7c7d7e7f8283868788898b8c8d8e909192,6020803d62c54e39535590f863b880c665e66c2e4f4660ee6de18bde5f3986cb5f536321515a83616863520063638e4850125c9b79775bfc52307a3b60bc905376d75f:b797,76848e6c706f767b7b4977aa51f3909358244f4e6ef48fea654c7b1b72c46da47fdf5ae162b55e95573084827b2c5e1d5f1f90127f1498a063826ec7789870b95178975b57ab75354f4375385e9760e659606dc06bbf788953fc96d551cb52016389540a94938c038dcc7239789f87768fed8c0d53e079:939495969798999b9c9d9e9fa0a1a2a3a4a5a6a8a9aaabacadaeafb0b1b2b4b5b6b7b8bcbfc2c4c5c7c8cacccecfd0d3d4d6d7d9dadbdcdddee0e1e2e5e8ea#eceef1f2f3f4f5f6f7f9fafcfeff,7a:0104050708090a0c0f10111213151618191b1c,4e0176ef53ee948998769f0e952d5b9a8ba24e:221c,51ac846361c252a8680b4f97606b51bb6d1e515c6296659796618c46901775d890fd77636bd272:8aec,8bfb583577798d4c675c9540809a5ea66e2159927aef77ed953b6bb565ad7f0e58065151961f5bf958a954288e726566987f56e4949d76fe9041638754c659:1a3a,579b8eb267358dfa8235524160f0581586fe5ce89e454fc4989d8bb95a2560765384627c904f9102997f6069800c513f80335c1499756d314e8c7a:1d1f21222425262728292a2b2c2d2e2f303132343536383a3e4041424344454748494a4b4c4d4e4f50525354555658595a5b5c5d5e5f606162636465666768#696a6b6c6d6e6f717273757b7c7d7e828587898a8b8c8e8f909394999a9b9ea1a2,8d3053d17f5a7b4f4f104e4f96006cd573d085e95e06756a7ffb6a0a77fe94927e4151e170e653cd8fd483038d2972af996d6cdb574a82b365b980aa623f963259a84eff8bbf7eba653e83f2975e556198de80a5532a8bfd542080ba5e9f6cb88d3982ac915a54296c1b52067eb7575f711a6c7e7c89594b4efd5fff61247caa4e305c0167ab87025cf0950b98ce75af70fd902251af7f1d8bbd594951e44f5b5426592b657780a45b7562:76c2,8f905e456c1f7b264f:0fd8,670d7a:a3a4a7a9aaabaeafb0b1b2b4b5b6b7b8b9babbbcbdbec0c1c2c3c4c5c6c7c8c9cacccdcecfd0d1d2d3d4d5d7d8dadbdcdde1e2e4e7e8e9eaebeceef0f1f2f3#f4f5f6f7f8fbfcfe,7b:0001020507090c0d0e1012131617181a1c1d1f21222327292d,6d:6eaa,798f88b15f17752b629a8f854fef91dc65a781:2f51,5e9c81508d74526f89868d4b590d50854ed8961c723681798d1f5bcc8ba3964459877f1a549056:760e,8be565396982949976d66e895e72751867:46d1,7aff809d8d76611f79c665628d635188521a94a27f38809b7eb25c976e2f67607bd9768b9ad8818f7f947cd5641e95507a3f54:4ae5,6b4c640162089e3d80f3759952729769845b683c86e496:0194,94ec4e2a54047ed968398ddf801566f45e9a7fb97b:2f303234353637393b3d3f404142434446484a4d4e535557595c5e5f61636465666768696a6b6c6d6f70737476787a7c7d7f81828384868788898a8b8c8e8f#9192939698999a9b9e9fa0a3a4a5aeafb0b2b3b5b6b7b9babbbcbdbebfc0c2c3c4,57c2803f68975de5653b529f606d9f9a4f9b8eac516c5bab5f135de96c5e62f18d21517194a952fe6c9f82df72d757a267848d2d591f8f9c83c754957b8d4f306cbd5b6459d19f1353e486ca9aa88c3780a16545987e56fa96c7522e74dc52505be1630289024e5662d0602a68fa51735b9851a089c27ba199867f5060ef704c8d2f51495e7f901b747089c4572d78455f529f9f95fa8f689b3c8be17678684267dc8d:ea35,523d8f8a6eda68cd950590ed56fd679c88f98fc754c87b:c5c8c9cacbcdcecfd0d2d4d5d6d7d8dbdcdedfe0e2e3e4e7e8e9ebecedeff0f2f3f4f5f6f8f9fafbfdff,7c:0001020304050608090a0d0e101112131415171819#1a1b1c1d1e20212223242528292b2c2d2e2f3031323334353637393a3b3c3d3e42,9ab85b696d776c264ea55bb39a87916361a890af97e9542b6db55bd251fd558a7f:55f0,64bc634d65f161be608d710a6c:5749,592f676d822a58d5568e8c6a6beb90dd597d801753f76d695475559d83:77cf,683879be548c4f55540876d28c8996026cb36db88d6b89109e648d3a563f9ed175d55f8872e0606854fc4ea86a2a886160528f7054c470d886799e3f6d2a5b8f5f187ea255894faf7334543c539a501954:0e7c,4e4e5ffd745a58f6846b80e1877472d07cca6e567c:434445464748494a4b4c4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f70717275767778797a7e7f8081828384858687#888a8b8c8d8e8f90939496999a9ba0a1a3a6a7a8a9abacadafb0b4b5b6b7b8babb,5f27864e552c62a44e926caa623782b154d7534e733e6ed1753b521253168bdd69d05f8a60006dee574f6b2273af68538fd87f13636260a3552475ea8c6271156da35ba65e7b8352614c9ec478fa87577c27768751f060f6714c66435e4c604d8c0e707063258f895fbd606286d456de6bc160946167534960e066668d3f79fd4f1a70e96c478b:b3f2,7ed88364660f5a5a9b426d:51f7,8c416d3b4f19706b83b7621660d1970d8d27797851fb57:3efa,673a75787a3d79ef7b957c:bfc0c2c3c4c6c9cbcecfd0d1d2d3d4d8dadbdddee1e2e3e4e5e6e7e9eaebecedeef0f1f2f3f4f5f6f7f9fafcfdfeff,7d:000102030405060708090b0c0d0e0f10#1112131415161718191a1b1c1d1e1f212324252628292a2c2d2e30313233343536,808c99658ff96fc08ba59e2159ec7ee97f095409678168d88f917c4d96c653ca602575be6c7253735ac97ea7632451e0810a5df184df628051805b634f0e796d524260b86d4e5b:c4c2,8b:a1b0,65e25fcc964559937e:e7aa,560967b759394f735bb652a0835a988a8d3e753294be50477a3c4ef767b69a7e5ac16b7c76d1575a5c167b3a95f4714e517c80a9827059787f04832768c067ec78:b177,62e363617b804fed526a51cf835069db92748d:f531,89c1952e7bad4ef67d:3738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6f70717273747576#78797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798,506582305251996f6e:1085,6da75efa50f559dc5c066d466c5f7586848b686859568bb253209171964d854969127901712680f64ea490ca6d479a845a0756bc640594f077eb4fa5811a72e189d2997a7f347ede527f655991758f:7f83,53eb7a9663:eda5,768679f888579636622a52ab8282685467706377776b7aed6d017ed389e359d0621285c982a5754c501f4ecb75a58beb5c4a5dfe7b4b65a491d14eca6d25895f7d2795264ec58c288fdb9773664b79818fd170ec6d787d:999a9b9c9d9e9fa0a1a2a3a4a5a7a8a9aaabacadafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9#dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fa,5c3d52b283465162830e775b66769cb84eac60ca7c:beb3,7ecf4e958b66666f988897595883656c955c5f8475c997567a:dfde,51c070af7a9863ea7a767ea0739697ed4e4570784e5d915253a965:51e7,81fc8205548e5c31759a97a062d872d975bd5c459a7983ca5c40548077e94e3e6cae805a62d2636e5de851778ddd8e1e952f4ff153e560e770ac526763509e435a1f5026773753777ee26485652b628963985014723589c951b38bc07edd574783cc94a7519b541b5cfb7d:fbfcfdfeff,7e:000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f30313233343536373839#3a3c3d3e3f40424344454648494a4b4c4d4e4f505152535455565758595a5b5c5d,4fca7ae36d5a90e19a8f55805496536154af5f0063e9697751ef6168520a582a52d8574e780d770b5eb761777ce062:5b97,4ea27095800362f770e49760577782db67ef68f578d5989779d158f354b353ef6e34514b523b5ba28bfe80af554357a660735751542d7a7a60505b5463a762a053e362635bc767af54ed7a9f82e691775e9388e4593857ae630e8de880ef57577b774fa95feb5bbd6b3e53217b5072c2684677:ff36,65f751b54e8f76d45cbf7aa58475594e9b4150807e:5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f8081838485868788898a8b8c8d8e8f909192939495969798999a9c9d9e#aeb4bbbcd6e4ecf9,7f:0a101e37393b3c3d3e3f404143464748494a4b4c4d4e4f5253,998861276e8357646606634656f062:ec69,5ed39614578362c955878721814a8fa3556683b167658d5684dd5a6a680f62e67bee961151706f9c8c3063fd89c861d27f0670c26ee57405699472fc5eca90ce67176d6a635e52b3726280014f6c59e5916a70d96d9d52d24e5096f7956d857e78ca7d2f5121579264c2808b7c7b6cea68f1695e51b7539868a872819ece7bf172f879bb6f137406674e91cc9ca4793c83:8954,540f68174e3d538952b1783e5386522950884f:8bd0,7f:56595b5c5d5e6063646566676b6c6d6f7073757677787a7b7c7d7f8082838485868788898b8d8f9091929395969798999b9ca0a2a3a5a6a8a9aaabacadaeb1#b3b4b5b6b7babbbec0c2c3c4c6c7c8c9cbcdcfd0d1d2d3d6d7d9dadbdcdddee2e3,75e27acb7c926ca596b6529b748354e94fe9805483b28fde95705ec9601c6d9f5e18655b813894fe604b70bc7ec37cae51c968817cb1826f4e248f8691cf667e4eae8c0564a9804a50da759771ce5be58fbd6f664e86648295635ed66599521788c270c852a3730e7433679778f797164e3490bb9cde6dcb51db8d41541d62ce73b283f196f69f8494c34f367f9a51cc707596755cad988653e64ee46e9c740969b4786b998f7559521876246d4167f3516d9f99804b54997b3c7abf7f:e4e7e8eaebecedeff2f4f5f6f7f8f9fafdfeff,80:020708090a0e0f11131a1b1d1e1f2123242b2c2d2e2f303234393a3c3e404144454748494e4f505153555657#595b5c5d5e5f6061626364656667686b6c6d6e6f7072737475767778797a7b7c7d,9686578462e29647697c5a0464027bd36f0f964b82a6536298855e90708963b35364864f9c819e93788c97328d:ef42,9e7f6f5e79845f559646622e9a74541594dd4fa365c55c:6561,7f1586516c2f5f8b73876ee47eff5ce6631b5b6a6ee653754e7163a0756562a18f6e4f264ed16ca67eb68bba841d87ba7f57903b95237ba99aa188f8843d6d1b9a867edc59889ebb739b780186829a:6c82,561b541757cb4e709ea653568fc881097792999286ee6ee1851366fc61626f2b80:7e818285888a8d8e8f909192949597999ea3a6a7a8acb0b3b5b6b8b9bbc5c7c8c9cacbcfd0d1d2d3d4d5d8dfe0e2e3e6eef5f7f9fbfeff,81:000103040507080b#0c1517191b1c1d1f202122232425262728292a2b2d2e3033343537393a3b3c3d3f,8c298292832b76f26c135fd983bd732b8305951a6bdb77db94c6536f830251925e3d8c8c8d384e4873ab679a68859176970971646ca177095a9295416bcf7f8e66275bd059b95a9a95:e8f7,4eec84:0c99,6aac76df9530731b68a65b5f772f919a97617cdc8ff78c1c5f257c7379d889c56ccc871c5bc65e4268c977207ef551:954d,52c95a297f05976282d763cf778485d079d26e3a5e9959998511706d6c1162bf76bf654f60af95fd660e879f9e2394ed54:0d7d,8c2c647881:40414243444547494d4e4f525657585b5c5d5e5f6162636466686a6b6c6f727375767778818384858687898b8c8d8e90929394959697999a9e9fa0a1a2a4a5#a7a9abacadaeafb0b1b2b4b5b6b7b8b9bcbdbebfc4c5c7c8c9cbcdcecfd0d1d2d3,647986116a21819c78e864699b5462b9672b83ab58a89ed86cab6f205bde964c8c0b725f67d062c772614ea959c66bcd589366ae5e5552df6155672876ee776672677a4662ff54:ea50,94a090a35a1c7eb36c164e435976801059485357753796be56ca63208111607c95f96dd65462998151855ae980fd59ae9713502a6ce55c3c62df4f60533f817b90066eba852b62c85e7478be64b5637b5ff55a18917f9e1f5c3f634f80425b7d556e95:4a4d,6d8560a867e072de51dd5b8181:d4d5d6d7d8d9dadbdcdddedfe0e1e2e4e5e6e8e9ebeeeff0f1f2f5f6f7f8f9fafdff,82:030708090a0b0e0f111315161718191a1d2024252627292e323a3c3d3f#404142434546484a4c4d4e5051525354555657595b5c5d5e606162636465666769,62e76cde725b626d94ae7ebd81136d53519c5f04597452aa6012597366968650759f632a61e67cef8bfa54e66b279e256bb485d5545550766ca4556a8db4722c5e156015743662cd6392724c5f986e436d3e65006f5876d878d076fc7554522453db4e535e9e65c180:2ad6,629b5486522870ae888d8dd16ce1547880da57f988f48d54966a914d4f696c9b55b776c6783062a870f96f8e5f6d84ec68da787c7bf781a8670b9e4f636778b0576f7812973962:79ab,528874356bd782:6a6b6c6d71757677787b7c808183858687898c90939495969a9b9ea0a2a3a7b2b5b6babbbcbfc0c2c3c5c6c9d0d6d9dadde2e7e8e9eaecedeef0f2f3f5f6f8#fafcfdfeff,83:000a0b0d1012131618191d1e1f20212223242526292a2e3032373b3d,5564813e75b276ae533975de50fb5c418b6c7bc7504f72479a9798d86f0274e27968648777a562fc98918d2b54c180584e52576a82f9840d5e7351ed74f68bc45c4f57616cfc98875a4678349b448feb7c955256625194fa4ec68386846183e984b257d467345703666e6d668c3166dd7011671f6b3a6816621a59bb4e0351c46f0667d26c8f517668cb59476b6775665d0e81109f5065d779:4841,9a918d775c824e5e4f01542f5951780c56686c148fc45f036c:7de3,8bab639083:3e3f41424445484a4b4c4d4e5355565758595d6270717273747576797a7e7f808182838487888a8b8c8d8f909194959697999a9d9fa1a2a3a4a5a6a7acadae#afb5bbbebfc2c3c4c6c8c9cbcdced0d1d2d3d5d7d9dadbdee2e3e4e6e7e8ebeced,60706d3d7275626694:8ec5,53438fc17b7e4edf8c264e7e9ed494:b1b3,524d6f5c90636d458c3458115d4c6b:2049,67aa545b81547f8c589985375f3a62a26a47953965726084686577a74e544fa85de7979864ac7fd85ced4fcf7a8d520783044e14602f7a8394a64fb54eb279e6743452e482b964d279bd5bdd6c8197528f7b6c22503e537f6e0564ce66746c3060c598778bf75e86743c7a7779cb4e1890b174036c4256da914b6cc58d8b533a86c666f28eaf5c489a716e2083:eeeff3f4f5f6f7fafbfcfeff,84:0002050708090a10121314151617191a1b1e1f20212223292a2b2c2d2e2f30323334353637393a3b3e3f404142434445474849#4a4b4c4d4e4f505253545556585d5e5f606264656667686a6e6f70727477797b7c,53d65a369f8b8da353bb570898a76743919b6cc9516875ca62f372ac52:389d,7f3a7094763853749e4a69b7786e96c088d97fa471:36c3,518967d374e458e4651856b78ba9997662707ed560f970ed58ec4e:c1ba,5fcd97e74efb8ba45203598a7eab62544ecd65e5620e833884c98363878d71946eb65bb97ed2519763c967d480898339881551125b7a59828fb14e736c5d516589258f6f962e854a745e95:10f0,6da682e55f3164926d128428816e9cc3585e8d5b4e0953c184:7d7e7f8081838485868a8d8f90919293949596989a9b9d9e9fa0a2a3a4a5a6a7a8a9aaabacadaeb0b1b3b5b6b7bbbcbec0c2c3c5c6c7c8cbcccecfd2d4d5d7#d8d9dadbdcdee1e2e4e7e8e9eaebedeeeff1f2f3f4f5f6f7f8f9fafbfdfe,85:000102,4f1e6563685155d34e2764149a9a626b5ac2745f82726da968ee50e7838e7802674052396c997eb150bb5565715e7b5b665273ca82eb67495c715220717d886b95ea965564c58d6181b355846c5562477f2e58924f2455468d4f664c4e0a5c1a88f368a2634e7a0d70e7828d52fa97f65c1154e890b57ecd59628d4a86c782:0c0d,8d6664445c0461516d89793e8bbe78377533547b4f388eab6df15a207ec5795e6c885ba15a76751a80be614e6e1758f075:1f25,727253477ef385:030405060708090a0b0d0e0f101214151618191b1c1d1e2022232425262728292a2d2e2f303132333435363e3f404142444546474b4c4d4e4f505152535455#57585a5b5c5d5f60616263656667696a6b6c6d6e6f707173757677787c7d7f8081,770176db526980dc57235e08593172ee65bd6e7f8bd75c388671534177f362fe65f64ec098df86805b9e8bc653f277e24f7f5c4e9a7659cb5f0f793a58eb4e1667ff4e8b62ed8a93901d52bf662f55dc566c90024ed54f8d91ca99706c0f5e0260435ba489c68bd56536624b99965b:88ff,6388552e53d77626517d852c67a268b36b8a62928f9353d482126dd1758f4e668d4e5b70719f85af66:91d9,7f7287009ecd9f205c5e672f8ff06811675f620d7ad658855eb665706f3185:82838688898a8b8c8d8e909192939495969798999a9d9e9fa0a1a2a3a5a6a7a9abacadb1b2b3b4b5b6b8babbbcbdbebfc0c2c3c4c5c6c7c8cacbcccdced1d2#d4d6d7d8d9dadbdddedfe0e1e2e3e5e6e7e8eaebecedeeeff0f1f2f3f4f5f6f7f8,60555237800d6454887075295e05681362f4971c53cc723d8c016c3477617a0e542e77ac987a821c8bf47855671470c165af64955636601d79c153f84e1d6b7b80865bfa55e356db4f:3a3c,99725df3677e80386002988290015b8b8b:bcf5,641c825864de55fd82cf91654fd77d20901f7c9f50f358516eaf5bbf8bc980839178849c7b97867d96:8b8f,7ee59ad3788e5c817a57904296a7795f5b59635f7b0b84d168ad55067f2974107d2295016240584c4ed65b835979585485:f9fafcfdfe,86:0001020304060708090a0b0c0d0e0f10121314151718191a1b1c1d1e1f20212223242526282a2b2c2d2e2f3031323334353637393a3b3d3e3f40#4142434445464748494a4b4c525355565758595b5c5d5f6061636465666768696a,736d631e8e:4b0f,80ce82d462ac53f06cf0915e592a60016c70574d644a8d2a762b6ee9575b6a8075f06f6d8c:2d08,57666bef889278b363a253f970ad6c645858642a580268e0819b55107cd650188eba6dcc8d9f70eb638f6d9b6ed47ee68404684390036dd896768ba85957727985e4817e75bc8a8a68af52548e22951163d098988e44557c4f5366ff568f60d56d9552435c4959296dfb586b75:301c,606c82148146631167618fe2773a8d:f334,94c15e165385542c70c386:6d6f7072737475767778838485868788898e8f90919294969798999a9b9e9fa0a1a2a5a6abadaeb2b3b7b8b9bbbcbdbebfc1c2c3c5c8cccdd2d3d5d6d7dadc#dde0e1e2e3e5e6e7e8eaebeceff5f6f7fafbfcfdff,87:010405060b0c0e0f10111416,6c405ef7505c4ead5ead633a8247901a6850916e77b3540c94dc5f647ae5687663457b527edf75db507762955934900f51f879c37a8156fe5f9290146d825c60571f541051546e4d56e263a89893817f8715892a9000541e5c6f81c062:d658,81319e3596409a:6e7c,692d59a562d3553e631654c786d96d3c5a0374e6889c6b6a59168c4c5f2f6e7e73a9987d4e3870f75b8c7897633d665a769660cb5b9b5a494e0781556c6a738b4ea167897f515f8065fa671b5fd859845a0187:191b1d1f20242627282a2b2c2d2f303233353638393a3c3d404142434445464a4b4d4f505152545556585a5b5c5d5e5f6162666768696a6b6c6d6f71727375#7778797a7f8081848687898a8c8e8f90919294959698999a9b9c9d9ea0a1a2a3a4,5dcd5fae537197e68fdd684556f4552f60df4e3a6f4d7ef482c7840e59d44f:1f2a,5c3e7eac672a851a5473754f80c355829b4f4f4d6e2d8c135c096170536b761f6e29868a658795fb7eb9543b7a337d0a95ee55e17fc174ee631d87176da17a9d621165a1536763e16c835deb545c94a84e4c6c618bec5c4b65e0829c68a754:3e34,6b:cb66,4e9463425348821e4f:0dae,575e620a96fe6664726952:ffa1,609f8bef661471996790897f785277fd6670563b54389521727a87:a5a6a7a9aaaeb0b1b2b4b6b7b8b9bbbcbebfc1c2c3c4c5c7c8c9cccdcecfd0d4d5d6d7d8d9dadcdddedfe1e2e3e4e6e7e8e9ebecedeff0f1f2f3f4f5f6f7f8#fafbfcfdff,88:0001020405060708090b0c0d0e0f101112141718191a1c1d1e1f2023,7a00606f5e0c6089819d591560dc718470ef6eaa6c5072806a8488ad5e2d4e605ab3559c94e36d177cfb9699620f7ec6778e867e5323971e8f9666875ce14fa072ed4e0b53a6590f54136380952851484ed99c9c7ea454b88d248854823795f26d8e5f265acc663e966973:b02e,53bf817a99857fa15baa96:7750,7ebf76f853a2957699997bb189446e584e617fd479658be660f354cd4eab98795df76a6150cf54118c618427785d9704524a54ee56a395006d885bb56dc6665388:2425262728292a2b2c2d2e2f30313334353637383a3b3d3e3f414243464748494a4b4e4f505152535556585a5b5c5d5e5f6066676a6d6f717374757678797a#7b7c80838687898a8c8e8f90919394959798999a9b9d9e9fa0a1a3a5a6a7a8a9aa,5c0f5b5d6821809655787b11654869544e9b6b47874e978b534f631f643a90aa659c80c18c10519968b0537887f961c86c:c4fb,8c225c5185aa82af950c6b238f9b65b05f:fbc3,4fe18845661f8165732960fa51745211578b5f6290a2884c91925e78674f602759d351:44f6,80f853086c7996c4718a4f:11ee,7f9e673d55c5950879c088967ee3589f620c9700865a5618987b5f908bb884c4915753d965ed5e8f755c60647d6e5a7f7e:eaed,8f6955a75ba360ac65cb738488:acaeafb0b2b3b4b5b6b8b9babbbdbebfc0c3c4c7c8cacbcccdcfd0d1d3d6d7dadbdcdddee0e1e6e7e9eaebecedeeeff2f5f6f7fafbfdff,89:0001030405060708#090b0c0d0e0f1114151617181c1d1e1f20222324262728292c2d2e2f3132333537,9009766377297eda9774859b5b667a7496ea884052cb718f5faa65ec8be25bfb9a6f5de16b896c5b8b:adaf,900a8fc5538b62bc9e:262d,54404e2b82bd7259869c5d1688596daf96c554d14e9a8bb6710954bd960970df6df976d04e25781487125ca95ef68a00989c960e708e6cbf594463a9773c884d6f148273583071d5538c781a96c155015f6671305bb48c1a9a8c6b83592e9e2f79e76768626c4f6f75a17f8a6d0b96336c274ef075d2517b68376f3e908081705996747689:38393a3b3c3d3e3f40424345464748494a4b4c4d4e4f505152535455565758595a5b5c5d6061626364656768696a6b6c6d6e6f707172737475767778797a7c#7d7e808284858788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1,64475c2790657a918c2359da54ac8200836f898180006930564e8036723791ce51b64e5f987563964e1a53f666f3814b591c6db24e0058f9533b63d694f14f:9d0a,886398905937905779fb4eea80f075916c825b9c59e85f5d69058681501a5df24e5977e34ee5827a6291661390915c794ebf5f7981c69038808475ab4ea688d4610f6bc55fc64e4976ca6ea28b:e3ae,8c0a8bd15f027f:fccc,7ece83:356b,56e06bb797f3963459fb541f94f66deb5bc5996e5c395f15969089:a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c3cdd3d4d5d7d8d9dbdddfe0e1e2e4e7e8e9eaecedeef0f1f2f4f5f6f7f8f9fa#fbfcfdfeff,8a:01020304050608090a0b0c0d0e0f101112131415161718191a1b1c1d,537082f16a315a749e705e947f2883b984:2425,836787478fce8d6276c85f719896786c662054df62e54f6381c375c85eb896cd8e0a86f9548f6cf36d8c6c38607f52c775285e7d4f1860a05fe75c24753190ae94c072b96cb96e389149670953:cbf3,4f5191c98bf153c85e7c8fc26de44e8e76c26986865e611a82064f:59de,903e9c7c61096e:1d14,96854e885a3196e84e0e5c7f79b95b878bed7fbd738957df828b90c15401904755bb5cea5fa161086b3272f180b28a:891e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3f4041424344454647494a4b4c4d4e4f505152535455565758595a5b5c5d5e#5f606162636465666768696a6b6c6d6e6f7071727374757677787a7b7c7d7e7f80,6d745bd388d598848c6b9a6d9e336e0a51:a443,57a38881539f63f48f9556ed54585706733f6e907f188fdc82d1613f6028966266f07ea68d:8ac3,94a55cb37ca4670860a6960580184e9190e75300966851418fd08574915d665597f55b55531d78386742683d54c9707e5bb08f7d518d572854b1651266828d:5e43,810f846c906d7cdf51ff85fb67a365e96fa186a48e81566a90207682707671e58d2362e952196cfd8d3c600e589e618e66fe8d60624e55b36e23672d8f678a:81828384858687888b8c8d8e8f9091929495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2#c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3,94e195f87728680569a8548b4e4d70b88bc86458658b5b857a84503a5be877bb6be18a797c986cbe76cf65a98f975d2d5c5586386808536062187ad96e5b7efd6a1f7ae05f706f335f20638c6da867564e085e108d264ed780c07634969c62db662d627e6cbc8d7571677f695146808753ec906e629854f286f08f998005951785178fd96d5973cd659f771f7504782781fb8d1e94884fa6679575b98bca9707632f9547963584b8632377415f8172f04e896014657462ef6b63653f8a:e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,8b:0001020304050608090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20212223#24252728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445,5e2775c790d18bc1829d679d652f5431871877e580a281026c414e4b7ec7804c76f4690d6b966267503c4f84574063076b628dbe53ea65e87eb85fd763:1ab7,81:f3f4,7f6e5e1c5cd95236667a79e97a1a8d28709975d46ede6cbb7a924e2d76c55fe0949f88777ec879cd80bf91cd4ef24f17821f54685dde6d328bcc7ca58f7480985e1a549276b15b99663c9aa473e0682a86db6731732a8b:f8db,90107af970db716e62c477a956314e3b845767f152a986c08d2e94f87b518b:464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f6061626364656768696a6b6d6e6f707172737475767778797a7b7c7d7e7f80818283848586#8788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9facb1bbc7d0ea,8c:091e,4f4f6ce8795d9a7b6293722a62fd4e1378168f6c64b08d5a7bc668695e8488c55986649e58ee72b6690e95258ffd8d5857607f008c0651c6634962d95353684c74228301914c55447740707c6d4a517954a88d4459ff6ecb6dc45b5c7d2b4ed47c7d6ed35b5081ea6e0d5b579b0368d58e2a5b977efc603b7eb590b98d70594f63cd79df8db3535265cf79568bc5963b7ec494bb7e825634918967007f6a5c0a907566285de64f5067de505a4f5c57505e:a7#3$,8c:38393a3b3c3d3e3f4042434445484a4b4d4e4f5051525354565758595b5c5d5e5f60636465666768696c6d6e6f707172747576777b7c7d7e7f808183848687#888b8d8e8f90919293959697999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacad,4e:8d0c,51404e105eff53454e:15981e,9b325b6c56694e2879ba4e3f53154e47592d723b536e6c1056df80e499976bd3777e9f174e:369f,9f104e:5c6993,82885b5b556c560f4ec453:8d9da3a5ae,97658d5d53:1af5262e3e,8d5c53:6663,52:02080e2d333f404c5e615c,84af52:7d82819093,51827f544e:bbc3c9c2e8e1ebde,4f1b4ef34f:2264,4ef54f:2527092b5e67,65384f:5a5d,8c:aeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebec#edeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,8d:000102030405060708090a0b0c0d,4f:5f57323d76749189838f7e7baa7cac94e6e8eac5dae3dcd1dff8,50:294c,4ff350:2c0f2e2d,4ffe50:1c0c25287e4355484e6c7ba5a7a9bad6,510650:edece6ee,51:070b,4edd6c3d4f:5865ce,9fa06c467c74516e5dfd9ec999985181591452f9530d8a07531051eb591951554ea051564eb388:6ea4,4eb5811488d279805b3488037fb851:abb1bdbc,8d:0e0f101112131415161718191a1b1c205152575f6568696a6c6e6f717278797a7b7c7d7e7f808283868788898c8d8e8f90929395969798999a9b9c9d9ea0a1#a2a4a5a6a7a8a9aaabacadaeafb0b2b6b7b9bbbdc0c1c2c5c7c8c9cacdd0d2d3d4,51:c796a2a5,8b:a0a6a7aab4b5b7c2c3cbcfced2d3d4d6d8d9dcdfe0e4e8e9eef0f3f6f9fcff,8c:000204070c0f1112141516191b181d1f202125272a2b2e2f32333536,53:697a,96:1d2221312a3d3c4249545f676c7274888d97b0,90:979b9d99aca1b4b3b6ba,8d:d5d8d9dce0e1e2e5e6e7e9edeef0f1f2f4f6fcfeff,8e:00010203040607080b0d0e1011121315161718191a1b1c202124252627282b2d303233343637383b3c3e#3f4345464c4d4e4f505354555657585a5b5c5d5e5f60616263646567686a6b6e71,90:b8b0cfc5bed0c4c7d3e6e2dcd7dbebeffe,91:04221e23312f394346,520d594252:a2acadbe,54ff52:d0d6f0,53df71ee77cd5ef451:f5fc,9b2f53b65f01755a5def57:4ca9a1,58:7ebcc5d1,57:292c2a33392e2f5c3b4269856b867c7b686d7673ada48cb2cfa7b493a0d5d8dad9d2b8f4eff8e4dd,8e:73757778797a7b7d7e808283848688898a8b8c8d8e91929395969798999a9b9d9fa0a1a2a3a4a5a6a7a8a9aaadaeb0b1b3b4b5b6b7b8b9bbbcbdbebfc0c1c2#c3c4c5c6c7c8c9cacbcccdcfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4,58:0b0d,57:fded,58:001e194420656c81899a80,99a89f1961ff82:797d7f8f8aa8848e919799abb8beb0c8cae398b7aecbccc1a9b4a1aa9fc4cea4e1,830982:f7e4,83:0f07,82:dcf4d2d8,830c82:fbd3,83:111a061415,82:e0d5,83:1c515b5c08923c34319b5e2f4f47435f4017602d3a336665,8e:e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,8f:000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20212223#2425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f4041424344,83:681b696c6a6d6eb078b3b4a0aa939c857cb6a97db87b989ea8babcc1,840183:e5d8,580784:180b,83:ddfdd6,84:1c381106,83:d4df,84:0f03,83:f8f9eac5c0,842683:f0e1,84:5c515a597387887a89783c4669768c8e316dc1cdd0e6bdd3cabfbae0a1b9b497e5e3,850c750d853884f085:391f3a,8f:45464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f6061626364656a808c929da0a1a2a4a5a6a7aaacadaeafb2b3b4b5b7b8babbbcbfc0c3c6#c9cacbcccdcfd2d6d7dae0e1e3e7eceff1f2f4f5f6fafbfcfeff,90:07080c0e131518,85:563b,84:fffc,85:594868645e7a,77a285:43727ba4a8878f79ae9c85b9b7b0d3c1dcff,86:270529163c,5efe5f0859:3c41,803759:555a58,530f5c:22252c34,62:4c6a9fbbcadad7ee,632262f663:394b43adf6717a8eb46dac8a69aebcf2f8e0ffc4dece,645263:c6be,64:45410b1b200c26215e846d96,90:191c2324252728292a2b2c303132333437393a3d3f4043454648494a4b4c4e545556595a5c5d5e5f6061646667696a6b6c6f70717273767778797a7b7c7e81#84858687898a8c8d8e8f90929496989a9c9e9fa0a4a5a7a8a9abadb2b7bcbdbfc0,64:7ab7b899bac0d0d7e4e2,65:09252e,5f:0bd2,75195f1153:5ff1fde9e8fb,54:1216064b5253545643215759233282947771649a9b8476669dd0adc2b4d2a7a6d3d472a3d5bbbfccd9dadca9aaa4ddcfde,551b54e7552054fd551454f355:22230f11272a678fb5496d41553f503c,90:c2c3c6c8c9cbcccdd2d4d5d6d8d9dadedfe0e3e4e5e9eaeceef0f1f2f3f5f6f7f9fafbfcff,91:00010305060708090a0b0c0d0e0f1011121314151617181a1b1c#1d1f20212425262728292a2b2c2d2e30323334353637383a3b3c3d3e3f40414244,55:375675767733305c8bd283b1b988819f7ed6917bdfbdbe9499eaf7c9,561f55:d1ebecd4e6ddc4efe5f2f3cccde8f5e4,8f9456:1e080c012423,55fe56:00272d5839572c4d62595c4c548664716b7b7c8593afd4d7dde1f5ebf9ff,57:040a091c,5e:0f191411313b3c,91:454748515354555658595b5c5f606667686b6d737a7b7c808182838486888a8e8f939495969798999c9d9e9fa0a1a4a5a6a7a8a9abacb0b1b2b3b6b7b8b9bb#bcbdbebfc0c1c2c3c4c5c6c8cbd0d2d3d4d5d6d7d8d9dadbdddedfe0e1e2e3e4e5,5e:3744545b5e61,5c:8c7a8d9096889899919a9cb5a2bdacabb1a3c1b7c4d2e4cbe5,5d:020327262e241e061b583e343d6c5b6f5d6b4b4a697482999d,8c735d:b7c5,5f:73778287898c95999ca8adb5bc,88625f6172:adb0b4b7b8c3c1cecdd2e8efe9f2f4f7,730172f3730372fa91:e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,92:000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f2021222324#25262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445,72fb73:1713210a1e1d152239252c3831504d57606c6f7e,821b592598e759:2402,99:636768696a6b6c74777d8084878a8d9091939495,5e:80918b96a5a0b9b5beb3,8d535e:d2d1dbe8ea,81ba5f:c4c9d6cf,60035fee60045f:e1e4fe,60:0506,5f:eaedf8,60:1935261b0f0d292b0a3f2178797b7a42,92:464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f7071727375767778797a7b7c7d7e7f808182838485#868788898a8b8c8d8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7,60:6a7d969aad9d83928c9becbbb1ddd8c6dab4,61:20261523,60f461:000e2b4a75ac94a7b7d4f5,5fdd96b395:e9ebf1f3f5f6fcfe,96:030406080a0b0c0d0f12151617191a,4e2c723f62156c:35545c4aa38590948c6869747686a9d0d4adf7f8f1d7b2e0d6faebeeb1d3effe,92:a8a9aaabacadafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8#e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,93:00010203040506070809,6d:39270c43480704190e2b4d2e351a4f525433916f9ea05e93945c607c63,6e1a6d:c7c5de,6e0e6d:bfe0,6e116d:e6ddd9,6e166dab6e0c6dae6e:2b6e4e6bb25f865354322544dfb198e0,6f2d6e:e2a5a7bdbbb7d7b4cf8fc29f,6f:6246472415,6ef96f:2f364b742a0929898d8c78727c7ad1,93:0a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3f40414243444546474849#4a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696b,6f:c9a7b9b6c2e1eedee0ef,70:1a231b39354f5e,5b:80849593a5b8,752f9a9e64345b:e4ee,89305bf08e478b078f:b6d3d5e5eee4e9e6f3e8,90:05040b26110d162135362d2f445152506858625b,66b990:747d8288838b,5f:50575658,5c3b54ab5c:5059,5b715c:6366,7fbc5f:2a292d,82745f3c9b3b5c6e59:81838da9aaa3,93:6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaab#acadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cbcccd,59:97caab9ea4d2b2afd7be,5a:0506,59dd5a0859:e3d8f9,5a:0c09323411231340674a553c6275,80ec5a:aa9b777abeebb2d2d4b8e0e3f1d6e6d8dc,5b:091716323740,5c:151c,5b:5a6573515362,9a:7577787a7f7d808185888a90929396989b9c9d9fa0a2a3a5a7,7e:9fa1a3a5a8a9,93:cecfd0d1d2d3d4d5d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,94:000102030405060708090a0b0c0d#0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e,7e:adb0bec0c1c2c9cbccd0d4d7dbe0e1e8ebeeeff1f2,7f0d7e:f6fafbfe,7f:01020307080b0c0f111217191c1b1f212223242526272a2b2c2d2f3031323335,5e7a757f5ddb753e909573:8e91aea29fcfc2d1b7b3c0c9c8e5d9,987c740a73:e9e7debaf2,74:0f2a5b262528302e2c,94:2f303132333435363738393a3b3c3d3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6c6d6e6f#707172737475767778797a7b7c7d7e7f8081828384919698c7cfd3d4dae6fb,95:1c20,74:1b1a415c575559776d7e9c8e8081878b9ea8a990a7d2ba,97:eaebec,67:4c535e4869a5876a7398a775a89ead8b777cf0,680967d8680a67:e9b0,680c67:d9b5dab3dd,680067:c3b8e2,680e67:c1fd,68:323360614e624464831d55664167403e4a4929b58f7477936bc2,696e68fc69:1f20,68f995:27333d43484b555a606e74757778797a7b7c7d7e808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aa#abacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacb,692468f069:0b0157,68e369:10713960425d846b80987834cc8788ce896663799ba7bbabadd4b1c1cadf95e08dff,6a2f69ed6a:171865,69f26a:443ea0505b358e793d28587c9190a997ab,73:3752,6b:8182878492938d9a9ba1aa,8f:6b6d71727375767877797a7c7e818284878b,95:cccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7ecff,96:0713181b1e20232425262728292b2c2d2f303738393a3e41434a4e4f5152535657#58595a5c5d5e606365666b6d6e6f70717378797a7b7c7d7e7f808182838487898a,8f:8d8e8f989a,8ece62:0b171b1f222125242c,81e774:eff4ff,75:0f1113,65:34eeeff0,66:0a19,677266:031500,708566:f71d34313635,800666:5f54414f56615777848ca79dbedbdce6e9,8d:3233363b3d4045464849474d5559,89:c7cacbcccecfd0d1,72:6e9f5d666f7e7f848b8d8f92,63:0832b0,96:8c8e91929395969a9b9d9e9fa0a1a2a3a4a5a6a8a9aaabacadaeafb1b2b4b5b7b8babbbfc2c3c8cacbd0d1d3d4d6d7d8d9dadbdcdddedfe1e2e3e4e5e6e7eb#ecedeef0f1f2f4f5f8fafbfcfdff,97:0203050a0b0c10111214151718191a1b1d1f20,64:3fd8,80046b:eaf3fdf5f9,6c:0507060d1518191a2129242a32,65:35556b,72:4d525630,8662521680:9f9c93bc,670a80:bdb1abadb4b7e7e8e9eadbc2c4d9cdd7,671080:ddebf1f4ed,81:0d0e,80:f2fc,671581128c5a81:361e2c1832484c5374595a7160697c7d6d67,584d5ab581:888291,6ed581:a3aacc,672681:cabb,97:2122232425262728292b2c2e2f3133343536373a3b3c3d3f404142434445464748494a4b4c4d4e4f5051545557585a5c5d5f63646667686a6b6c6d6e6f7071#72757778797a7b7d7e7f8081828384868788898a8c8e8f9093959697999a9b9c9d,81:c1a6,6b:243739434659,98:d1d2d3d5d9da,6bb35f406bc289f365909f5165:93bcc6c4c3ccced2d6,70:809c969dbbc0b7abb1e8ca,71:1013162f31735c6845724a787a98b3b5a8a0e0d4e7f9,72:1d28,706c71:1866b9,62:3e3d434849,79:3b4046495b5c535a6257606f677a858a9aa7b3,5f:d1d0,97:9e9fa1a2a4a5a6a7a8a9aaacaeb0b1b3b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3#e4e5e8eeeff0f1f2f4f7f8f9fafbfcfdfeff,98:000102030405060708090a0b0c0d0e,60:3c5d5a67415963ab,61:060d5da99dcbd1,620680:807f,6c:93f6,6dfc77:f6f8,78:0009171811,65ab78:2d1c1d393a3b1f3c252c23294e6d56572650474c6a9b939a879ca1a3b2b9a5d4d9c9ecf2,790578f479:13241e34,9f9b9e:f9fbfc,76f177:040d,76f977:07081a22192d263538505147435a68,98:0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d#4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e,77:62657f8d7d808c919fa0b0b5bd,75:3a404e4b485b727983,7f:58615f,8a487f:68747179817e,76:cde5,883294:8586878b8a8c8d8f909497959a9b9ca3a4abaaadacafb0b2b4b6b7b8b9babcbdbfc4c8c9cacbcccdced0d1d2d5d6d7d9d8dbdedfe0e2e4e5e7e8ea,98:6f70717273748b8e929599a3a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcfd0d4d6d7dbdcdde0e1e2e3e4#e5e6e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,99:0001020304050607,94:e9ebeeeff3f4f5f7f9fcfdff,95:03020607090a0d0e0f1213141516181b1d1e1f222a2b292c3132343637383c3e3f4235444546494c4e4f525354565758595b5e5f5d61626465666768696a6b6c6f7172733a,77:e7ec,96c979:d5ede3eb,7a065d477a:03021e14,99:08090a0b0c0e0f1112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2f303132333435363738393a3b3c3d3e3f40414243444546474849#4a4b4c4d4e4f50515253565758595a5b5c5d5e5f60616264667378797b7e828389,7a:393751,9ecf99a57a7076:888e9399a4,74:dee0,752c9e:202228292a2b2c3231363837393a3e414244464748494b4c4e5155575a5b5c5e63666768696a6b6c716d73,75:929496a09daca3b3b4b8c4b1b0c3c2d6cde3e8e6e4ebe7,760375:f1fcff,76:1000050c170a25181519,99:8c8e9a9b9c9d9e9fa0a1a2a3a4a6a7a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8#d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9,76:1b3c2220402d303f35433e334d5e545c566b6f,7fca7a:e6787980868895a6a0aca8adb3,88:6469727d7f82a2c6b7bcc9e2cee3e5f1,891a88:fce8fef0,89:2119131b0a342b3641667b,758b80e576:b2b4,77dc80:1214161c20222526272928310b3543464d526971,898398:788083,99:fafbfcfdfeff,9a:000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738#393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f50515253545556575859,98:898c8d8f949a9b9e9fa1a2a5a6,86:4d546c6e7f7a7c7ba88d8bac9da7a3aa93a9b6c4b5ceb0bab1afc9cfb4e9f1f2edf3d0,871386:def4dfd8d1,87:0307,86f887:080a0d09233b1e252e1a3e48343129373f82227d7e7b60704c6e8b53637c64596593afa8d2,9a:5a5b5c5d5e5f606162636465666768696a6b7283898d8e949599a6a9aaabacadaeafb2b3b4b5b9bbbdbebfc3c4c6c7c8c9cacdcecfd0d2d4d5d6d7d9dadbdc#dddee0e2e3e4e5e7e8e9eaeceef0f1f2f3f4f5f6f7f8fafcfdfeff,9b:000102040506,87:c68885ad9783abe5acb5b3cbd3bdd1c0cadbeae0ee,88:1613,87fe88:0a1b21393c,7f:36424445,82107a:fafd,7b:080304150a2b0f47382a192e31202524333e1e585a45754c5d606e7b62727190a6a7b8ac9da885aa9ca2abb4d1c1ccdddae5e6ea,7c0c7b:fefc,7c:0f160b,9b:07090a0b0c0d0e1011121415161718191a1b1c1d1e2021222425262728292a2b2c2d2e3031333435363738393a3d3e3f40464a4b4c4e50525355565758595a#5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b,7c:1f2a26384140,81fe82:010204,81ec884482:2122232d2f282b383b33343e44494b4f5a5f68,88:7e8588d8df,895e7f:9d9fa7afb0b2,7c7c65497c:919d9c9ea2b2bcbdc1c7cccdc8c5d7e8,826e66a87f:bfced5e5e1e6e9eef3,7cf87d:77a6ae,7e:479b,9e:b8b4,8d:73849491b1676d,8c:4749,91:4a504e4f64,9b:7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9ba#bbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadb,91:626170696f7d7e7274798c85908d91a2a3aaadaeafb5b4ba,8c559e7e8d:b8eb,8e:055969,8d:b5bfbcbac4d6d7dadececfdbc6ecf7f8e3f9fbe4,8e098dfd8e:141d1f2c2e232f3a4039353d3149414251524a70767c6f74858f94909c9e,8c:78828a859894,659b89:d6dedadc,9b:dcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,9c:000102030405060708090a0b0c0d0e0f101112131415161718191a#1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b,89:e5ebef,8a3e8b26975396:e9f3ef,97:0601080f0e2a2d303e,9f:808385868788898a8c,9efe9f:0b0d,96:b9bcbdced2,77bf96e092:8eaec8,93:3e6aca8f,94:3e6b,9c:7f8285868788,7a239c:8b8e90919294959a9b9e9fa0a1a2a3a5a6a7a8a9abadaeb0b1b2b3b4b5b6b7babbbcbdc4c5c6c7cacb3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a#7b7d7e808384898a8c8f93969798999daaacafb9bebfc0c1c2c8c9d1d2dadbe0e1cccdcecfd0d3d4d5d7d8d9dcdddfe2,97:7c85919294afaba3b2b4,9a:b1b0b7,9e589a:b6babcc1c0c5c2cbccd1,9b:45434749484d51,98e899:0d2e5554,9a:dfe1e6efebfbedf9,9b:080f131f23,9e:bdbe,7e3b9e:8287888b92,93d69e:9d9fdbdcdde0dfe2e9e7e5eaef,9f:222c2f39373d3e44,9c:e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,9d:000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f2021#22232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142#92$434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f8081#82838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2#92$a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1#e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,9e:000102#92$030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e24272e30343b3c404d5052535456595d5f606162656e6f727475767778797a7b7c7d80#8183848586898a8c8d8e8f90919495969798999a9b9c9ea0a1a2a3a4a5a7a8a9aa#92$abacadaeafb0b1b2b3b5b6b7b9babcbfc0c1c2c3c5c6c7c8cacbccd0d2d3d5d6d7d9dadee1e3e4e6e8ebecedeef0f1f2f3f4f5f6f7f8fafdff,9f:000102030405#060708090a0c0f1112141516181a1b1c1d1e1f21232425262728292a2b2d2e3031#92$3233343536383a3c3f4041424345464748494a4b4c4d4e4f52535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778#797a7b7c7d7e81828d8e8f9091929394959697989c9d9ea1a2a3a4a5,f9:2c7995e7f1#92$,fa:0c0d0e0f111314181f20212324272829,e8:15161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f40414243#4445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f6061626364'), + U2Ghash={}, + G2Uhash={}; + !function(data){ + var k=0; + data=data.match(/..../g); + for(var i=0x81;i<=0xfe;i++){ + for(var j=0x40;j<=0xFE;j++){ + U2Ghash[data[k++]]=('%'+i.toString(16)+'%'+j.toString(16)) + .toUpperCase(); + } + } + for(var key in U2Ghash){ + G2Uhash[U2Ghash[key]]=key; + } + }(data); + function isAscii(unicode) { + return ((unicode == 0x20AC) || (unicode <= 0x007F && unicode >= 0x0000)); + } + return{ + encode:function(str){ + return str.replace(/./g,function(a){ + var code=a.charCodeAt(0); + if(isAscii(code)){ + return encodeURIComponent(a); + }else{ + var key=code.toString(16); + if(key.length!=4)key=('000'+key).match(/....$/)[0]; + return U2Ghash[key]||a; + } + }); + }, + decode:function(str){ + return str.replace(/%[0-9A-F]{2}%[0-9A-F]{2}/g,function(a){ + if(a in G2Uhash){ + return String.fromCharCode('0x'+G2Uhash[a]); + }else{ + return a; + } + }).replace(/%[\w]{2}/g,function(a){ + return decodeURIComponent(a); + + }); + } + }; +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/饭太硬/api/jinja.js b/tvboxqq/tvboxqq/饭太硬/api/jinja.js new file mode 100644 index 0000000..cc02357 --- /dev/null +++ b/tvboxqq/tvboxqq/饭太硬/api/jinja.js @@ -0,0 +1,577 @@ +/*! + * Jinja Templating for JavaScript v0.1.8 + * https://github.com/sstur/jinja-js + * + * This is a slimmed-down Jinja2 implementation [http://jinja.pocoo.org/] + * + * In the interest of simplicity, it deviates from Jinja2 as follows: + * - Line statements, cycle, super, macro tags and block nesting are not implemented + * - auto escapes html by default (the filter is "html" not "e") + * - Only "html" and "safe" filters are built in + * - Filters are not valid in expressions; `foo|length > 1` is not valid + * - Expression Tests (`if num is odd`) not implemented (`is` translates to `==` and `isnot` to `!=`) + * + * Notes: + * - if property is not found, but method '_get' exists, it will be called with the property name (and cached) + * - `{% for n in obj %}` iterates the object's keys; get the value with `{% for n in obj %}{{ obj[n] }}{% endfor %}` + * - subscript notation `a[0]` takes literals or simple variables but not `a[item.key]` + * - `.2` is not a valid number literal; use `0.2` + * + */ +/*global require, exports, module, define */ + +(function (global, factory) { + typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : + typeof define === 'function' && define.amd ? define(['exports'], factory) : + (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.jinja = {})); +})(this, (function (jinja) { + "use strict"; + var STRINGS = /'(\\.|[^'])*'|"(\\.|[^"'"])*"/g; + var IDENTS_AND_NUMS = /([$_a-z][$\w]*)|([+-]?\d+(\.\d+)?)/g; + var NUMBER = /^[+-]?\d+(\.\d+)?$/; + //non-primitive literals (array and object literals) + var NON_PRIMITIVES = /\[[@#~](,[@#~])*\]|\[\]|\{([@i]:[@#~])(,[@i]:[@#~])*\}|\{\}/g; + //bare identifiers such as variables and in object literals: {foo: 'value'} + var IDENTIFIERS = /[$_a-z][$\w]*/ig; + var VARIABLES = /i(\.i|\[[@#i]\])*/g; + var ACCESSOR = /(\.i|\[[@#i]\])/g; + var OPERATORS = /(===?|!==?|>=?|<=?|&&|\|\||[+\-\*\/%])/g; + //extended (english) operators + var EOPS = /(^|[^$\w])(and|or|not|is|isnot)([^$\w]|$)/g; + var LEADING_SPACE = /^\s+/; + var TRAILING_SPACE = /\s+$/; + + var START_TOKEN = /\{\{\{|\{\{|\{%|\{#/; + var TAGS = { + '{{{': /^('(\\.|[^'])*'|"(\\.|[^"'"])*"|.)+?\}\}\}/, + '{{': /^('(\\.|[^'])*'|"(\\.|[^"'"])*"|.)+?\}\}/, + '{%': /^('(\\.|[^'])*'|"(\\.|[^"'"])*"|.)+?%\}/, + '{#': /^('(\\.|[^'])*'|"(\\.|[^"'"])*"|.)+?#\}/ + }; + + var delimeters = { + '{%': 'directive', + '{{': 'output', + '{#': 'comment' + }; + + var operators = { + and: '&&', + or: '||', + not: '!', + is: '==', + isnot: '!=' + }; + + var constants = { + 'true': true, + 'false': false, + 'null': null + }; + + function Parser() { + this.nest = []; + this.compiled = []; + this.childBlocks = 0; + this.parentBlocks = 0; + this.isSilent = false; + } + + Parser.prototype.push = function (line) { + if (!this.isSilent) { + this.compiled.push(line); + } + }; + + Parser.prototype.parse = function (src) { + this.tokenize(src); + return this.compiled; + }; + + Parser.prototype.tokenize = function (src) { + var lastEnd = 0, parser = this, trimLeading = false; + matchAll(src, START_TOKEN, function (open, index, src) { + //here we match the rest of the src against a regex for this tag + var match = src.slice(index + open.length).match(TAGS[open]); + match = (match ? match[0] : ''); + //here we sub out strings so we don't get false matches + var simplified = match.replace(STRINGS, '@'); + //if we don't have a close tag or there is a nested open tag + if (!match || ~simplified.indexOf(open)) { + return index + 1; + } + var inner = match.slice(0, 0 - open.length); + //check for white-space collapse syntax + if (inner.charAt(0) === '-') var wsCollapseLeft = true; + if (inner.slice(-1) === '-') var wsCollapseRight = true; + inner = inner.replace(/^-|-$/g, '').trim(); + //if we're in raw mode and we are not looking at an "endraw" tag, move along + if (parser.rawMode && (open + inner) !== '{%endraw') { + return index + 1; + } + var text = src.slice(lastEnd, index); + lastEnd = index + open.length + match.length; + if (trimLeading) text = trimLeft(text); + if (wsCollapseLeft) text = trimRight(text); + if (wsCollapseRight) trimLeading = true; + if (open === '{{{') { + //liquid-style: make {{{x}}} => {{x|safe}} + open = '{{'; + inner += '|safe'; + } + parser.textHandler(text); + parser.tokenHandler(open, inner); + }); + var text = src.slice(lastEnd); + if (trimLeading) text = trimLeft(text); + this.textHandler(text); + }; + + Parser.prototype.textHandler = function (text) { + this.push('write(' + JSON.stringify(text) + ');'); + }; + + Parser.prototype.tokenHandler = function (open, inner) { + var type = delimeters[open]; + if (type === 'directive') { + this.compileTag(inner); + } else if (type === 'output') { + var extracted = this.extractEnt(inner, STRINGS, '@'); + //replace || operators with ~ + extracted.src = extracted.src.replace(/\|\|/g, '~').split('|'); + //put back || operators + extracted.src = extracted.src.map(function (part) { + return part.split('~').join('||'); + }); + var parts = this.injectEnt(extracted, '@'); + if (parts.length > 1) { + var filters = parts.slice(1).map(this.parseFilter.bind(this)); + this.push('filter(' + this.parseExpr(parts[0]) + ',' + filters.join(',') + ');'); + } else { + this.push('filter(' + this.parseExpr(parts[0]) + ');'); + } + } + }; + + Parser.prototype.compileTag = function (str) { + var directive = str.split(' ')[0]; + var handler = tagHandlers[directive]; + if (!handler) { + throw new Error('Invalid tag: ' + str); + } + handler.call(this, str.slice(directive.length).trim()); + }; + + Parser.prototype.parseFilter = function (src) { + src = src.trim(); + var match = src.match(/[:(]/); + var i = match ? match.index : -1; + if (i < 0) return JSON.stringify([src]); + var name = src.slice(0, i); + var args = src.charAt(i) === ':' ? src.slice(i + 1) : src.slice(i + 1, -1); + args = this.parseExpr(args, {terms: true}); + return '[' + JSON.stringify(name) + ',' + args + ']'; + }; + + Parser.prototype.extractEnt = function (src, regex, placeholder) { + var subs = [], isFunc = typeof placeholder == 'function'; + src = src.replace(regex, function (str) { + var replacement = isFunc ? placeholder(str) : placeholder; + if (replacement) { + subs.push(str); + return replacement; + } + return str; + }); + return {src: src, subs: subs}; + }; + + Parser.prototype.injectEnt = function (extracted, placeholder) { + var src = extracted.src, subs = extracted.subs, isArr = Array.isArray(src); + var arr = (isArr) ? src : [src]; + var re = new RegExp('[' + placeholder + ']', 'g'), i = 0; + arr.forEach(function (src, index) { + arr[index] = src.replace(re, function () { + return subs[i++]; + }); + }); + return isArr ? arr : arr[0]; + }; + + //replace complex literals without mistaking subscript notation with array literals + Parser.prototype.replaceComplex = function (s) { + var parsed = this.extractEnt(s, /i(\.i|\[[@#i]\])+/g, 'v'); + parsed.src = parsed.src.replace(NON_PRIMITIVES, '~'); + return this.injectEnt(parsed, 'v'); + }; + + //parse expression containing literals (including objects/arrays) and variables (including dot and subscript notation) + //valid expressions: `a + 1 > b.c or c == null`, `a and b[1] != c`, `(a < b) or (c < d and e)`, 'a || [1]` + Parser.prototype.parseExpr = function (src, opts) { + opts = opts || {}; + //extract string literals -> @ + var parsed1 = this.extractEnt(src, STRINGS, '@'); + //note: this will catch {not: 1} and a.is; could we replace temporarily and then check adjacent chars? + parsed1.src = parsed1.src.replace(EOPS, function (s, before, op, after) { + return (op in operators) ? before + operators[op] + after : s; + }); + //sub out non-string literals (numbers/true/false/null) -> # + // the distinction is necessary because @ can be object identifiers, # cannot + var parsed2 = this.extractEnt(parsed1.src, IDENTS_AND_NUMS, function (s) { + return (s in constants || NUMBER.test(s)) ? '#' : null; + }); + //sub out object/variable identifiers -> i + var parsed3 = this.extractEnt(parsed2.src, IDENTIFIERS, 'i'); + //remove white-space + parsed3.src = parsed3.src.replace(/\s+/g, ''); + + //the rest of this is simply to boil the expression down and check validity + var simplified = parsed3.src; + //sub out complex literals (objects/arrays) -> ~ + // the distinction is necessary because @ and # can be subscripts but ~ cannot + while (simplified !== (simplified = this.replaceComplex(simplified))) ; + //now @ represents strings, # represents other primitives and ~ represents non-primitives + //replace complex variables (those with dot/subscript accessors) -> v + while (simplified !== (simplified = simplified.replace(/i(\.i|\[[@#i]\])+/, 'v'))) ; + //empty subscript or complex variables in subscript, are not permitted + simplified = simplified.replace(/[iv]\[v?\]/g, 'x'); + //sub in "i" for @ and # and ~ and v (now "i" represents all literals, variables and identifiers) + simplified = simplified.replace(/[@#~v]/g, 'i'); + //sub out operators + simplified = simplified.replace(OPERATORS, '%'); + //allow 'not' unary operator + simplified = simplified.replace(/!+[i]/g, 'i'); + var terms = opts.terms ? simplified.split(',') : [simplified]; + terms.forEach(function (term) { + //simplify logical grouping + while (term !== (term = term.replace(/\(i(%i)*\)/g, 'i'))) ; + if (!term.match(/^i(%i)*/)) { + throw new Error('Invalid expression: ' + src + " " + term); + } + }); + parsed3.src = parsed3.src.replace(VARIABLES, this.parseVar.bind(this)); + parsed2.src = this.injectEnt(parsed3, 'i'); + parsed1.src = this.injectEnt(parsed2, '#'); + return this.injectEnt(parsed1, '@'); + }; + + Parser.prototype.parseVar = function (src) { + var args = Array.prototype.slice.call(arguments); + var str = args.pop(), index = args.pop(); + //quote bare object identifiers (might be a reserved word like {while: 1}) + if (src === 'i' && str.charAt(index + 1) === ':') { + return '"i"'; + } + var parts = ['"i"']; + src.replace(ACCESSOR, function (part) { + if (part === '.i') { + parts.push('"i"'); + } else if (part === '[i]') { + parts.push('get("i")'); + } else { + parts.push(part.slice(1, -1)); + } + }); + return 'get(' + parts.join(',') + ')'; + }; + + //escapes a name to be used as a javascript identifier + Parser.prototype.escName = function (str) { + return str.replace(/\W/g, function (s) { + return '$' + s.charCodeAt(0).toString(16); + }); + }; + + Parser.prototype.parseQuoted = function (str) { + if (str.charAt(0) === "'") { + str = str.slice(1, -1).replace(/\\.|"/, function (s) { + if (s === "\\'") return "'"; + return s.charAt(0) === '\\' ? s : ('\\' + s); + }); + str = '"' + str + '"'; + } + //todo: try/catch or deal with invalid characters (linebreaks, control characters) + return JSON.parse(str); + }; + + + //the context 'this' inside tagHandlers is the parser instance + var tagHandlers = { + 'if': function (expr) { + this.push('if (' + this.parseExpr(expr) + ') {'); + this.nest.unshift('if'); + }, + 'else': function () { + if (this.nest[0] === 'for') { + this.push('}, function() {'); + } else { + this.push('} else {'); + } + }, + 'elseif': function (expr) { + this.push('} else if (' + this.parseExpr(expr) + ') {'); + }, + 'endif': function () { + this.nest.shift(); + this.push('}'); + }, + 'for': function (str) { + var i = str.indexOf(' in '); + var name = str.slice(0, i).trim(); + var expr = str.slice(i + 4).trim(); + this.push('each(' + this.parseExpr(expr) + ',' + JSON.stringify(name) + ',function() {'); + this.nest.unshift('for'); + }, + 'endfor': function () { + this.nest.shift(); + this.push('});'); + }, + 'raw': function () { + this.rawMode = true; + }, + 'endraw': function () { + this.rawMode = false; + }, + 'set': function (stmt) { + var i = stmt.indexOf('='); + var name = stmt.slice(0, i).trim(); + var expr = stmt.slice(i + 1).trim(); + this.push('set(' + JSON.stringify(name) + ',' + this.parseExpr(expr) + ');'); + }, + 'block': function (name) { + if (this.isParent) { + ++this.parentBlocks; + var blockName = 'block_' + (this.escName(name) || this.parentBlocks); + this.push('block(typeof ' + blockName + ' == "function" ? ' + blockName + ' : function() {'); + } else if (this.hasParent) { + this.isSilent = false; + ++this.childBlocks; + blockName = 'block_' + (this.escName(name) || this.childBlocks); + this.push('function ' + blockName + '() {'); + } + this.nest.unshift('block'); + }, + 'endblock': function () { + this.nest.shift(); + if (this.isParent) { + this.push('});'); + } else if (this.hasParent) { + this.push('}'); + this.isSilent = true; + } + }, + 'extends': function (name) { + name = this.parseQuoted(name); + var parentSrc = this.readTemplateFile(name); + this.isParent = true; + this.tokenize(parentSrc); + this.isParent = false; + this.hasParent = true; + //silence output until we enter a child block + this.isSilent = true; + }, + 'include': function (name) { + name = this.parseQuoted(name); + var incSrc = this.readTemplateFile(name); + this.isInclude = true; + this.tokenize(incSrc); + this.isInclude = false; + } + }; + + //liquid style + tagHandlers.assign = tagHandlers.set; + //python/django style + tagHandlers.elif = tagHandlers.elseif; + + var getRuntime = function runtime(data, opts) { + var defaults = {autoEscape: 'toJson'}; + var _toString = Object.prototype.toString; + var _hasOwnProperty = Object.prototype.hasOwnProperty; + var getKeys = Object.keys || function (obj) { + var keys = []; + for (var n in obj) if (_hasOwnProperty.call(obj, n)) keys.push(n); + return keys; + }; + var isArray = Array.isArray || function (obj) { + return _toString.call(obj) === '[object Array]'; + }; + var create = Object.create || function (obj) { + function F() { + } + + F.prototype = obj; + return new F(); + }; + var toString = function (val) { + if (val == null) return ''; + return (typeof val.toString == 'function') ? val.toString() : _toString.call(val); + }; + var extend = function (dest, src) { + var keys = getKeys(src); + for (var i = 0, len = keys.length; i < len; i++) { + var key = keys[i]; + dest[key] = src[key]; + } + return dest; + }; + //get a value, lexically, starting in current context; a.b -> get("a","b") + var get = function () { + var val, n = arguments[0], c = stack.length; + while (c--) { + val = stack[c][n]; + if (typeof val != 'undefined') break; + } + for (var i = 1, len = arguments.length; i < len; i++) { + if (val == null) continue; + n = arguments[i]; + val = (_hasOwnProperty.call(val, n)) ? val[n] : (typeof val._get == 'function' ? (val[n] = val._get(n)) : null); + } + return (val == null) ? '' : val; + }; + var set = function (n, val) { + stack[stack.length - 1][n] = val; + }; + var push = function (ctx) { + stack.push(ctx || {}); + }; + var pop = function () { + stack.pop(); + }; + var write = function (str) { + output.push(str); + }; + var filter = function (val) { + for (var i = 1, len = arguments.length; i < len; i++) { + var arr = arguments[i], name = arr[0], filter = filters[name]; + if (filter) { + arr[0] = val; + //now arr looks like [val, arg1, arg2] + val = filter.apply(data, arr); + } else { + throw new Error('Invalid filter: ' + name); + } + } + if (opts.autoEscape && name !== opts.autoEscape && name !== 'safe') { + //auto escape if not explicitly safe or already escaped + val = filters[opts.autoEscape].call(data, val); + } + output.push(val); + }; + var each = function (obj, loopvar, fn1, fn2) { + if (obj == null) return; + var arr = isArray(obj) ? obj : getKeys(obj), len = arr.length; + var ctx = {loop: {length: len, first: arr[0], last: arr[len - 1]}}; + push(ctx); + for (var i = 0; i < len; i++) { + extend(ctx.loop, {index: i + 1, index0: i}); + fn1(ctx[loopvar] = arr[i]); + } + if (len === 0 && fn2) fn2(); + pop(); + }; + var block = function (fn) { + push(); + fn(); + pop(); + }; + var render = function () { + return output.join(''); + }; + data = data || {}; + opts = extend(defaults, opts || {}); + var filters = extend({ + html: function (val) { + return toString(val) + .split('&').join('&') + .split('<').join('<') + .split('>').join('>') + .split('"').join('"'); + }, + safe: function (val) { + return val; + }, + toJson: function (val) { + if (typeof val === 'object') { + return JSON.stringify(val); + } + return toString(val); + } + }, opts.filters || {}); + var stack = [create(data || {})], output = []; + return { + get: get, + set: set, + push: push, + pop: pop, + write: write, + filter: filter, + each: each, + block: block, + render: render + }; + }; + + var runtime; + + jinja.compile = function (markup, opts) { + opts = opts || {}; + var parser = new Parser(); + parser.readTemplateFile = this.readTemplateFile; + var code = []; + code.push('function render($) {'); + code.push('var get = $.get, set = $.set, push = $.push, pop = $.pop, write = $.write, filter = $.filter, each = $.each, block = $.block;'); + code.push.apply(code, parser.parse(markup)); + code.push('return $.render();'); + code.push('}'); + code = code.join('\n'); + if (opts.runtime === false) { + var fn = new Function('data', 'options', 'return (' + code + ')(runtime(data, options))'); + } else { + runtime = runtime || (runtime = getRuntime.toString()); + fn = new Function('data', 'options', 'return (' + code + ')((' + runtime + ')(data, options))'); + } + return {render: fn}; + }; + + jinja.render = function (markup, data, opts) { + var tmpl = jinja.compile(markup); + return tmpl.render(data, opts); + }; + + jinja.templateFiles = []; + + jinja.readTemplateFile = function (name) { + var templateFiles = this.templateFiles || []; + var templateFile = templateFiles[name]; + if (templateFile == null) { + throw new Error('Template file not found: ' + name); + } + return templateFile; + }; + + + /*! + * Helpers + */ + + function trimLeft(str) { + return str.replace(LEADING_SPACE, ''); + } + + function trimRight(str) { + return str.replace(TRAILING_SPACE, ''); + } + + function matchAll(str, reg, fn) { + //copy as global + reg = new RegExp(reg.source, 'g' + (reg.ignoreCase ? 'i' : '') + (reg.multiline ? 'm' : '')); + var match; + while ((match = reg.exec(str))) { + var result = fn(match[0], match.index, str); + if (typeof result == 'number') { + reg.lastIndex = result; + } + } + } +})); \ No newline at end of file diff --git a/tvboxqq/tvboxqq/饭太硬/api/json5.js b/tvboxqq/tvboxqq/饭太硬/api/json5.js new file mode 100644 index 0000000..10d7ab0 --- /dev/null +++ b/tvboxqq/tvboxqq/饭太硬/api/json5.js @@ -0,0 +1,1737 @@ +(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; + +}))); diff --git a/tvboxqq/tvboxqq/饭太硬/api/node-rsa.js b/tvboxqq/tvboxqq/饭太硬/api/node-rsa.js new file mode 100644 index 0000000..b5ca093 --- /dev/null +++ b/tvboxqq/tvboxqq/饭太硬/api/node-rsa.js @@ -0,0 +1,2 @@ +/*! 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-tthis._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;i4)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{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{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=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=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=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;s60?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>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;au?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>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=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;oa&&(r=a-f),o=r;o>=0;o--){for(var h=!0,p=0;pi&&(n=i):n=i;var o=e.length;n>o/2&&(n=o/2);for(var s=0;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;i239?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;nr&&(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>>=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;ii)&&(r=i);for(var o="",s=e;sr)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||et.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>>=0,e>>>=0,r||k(t,e,this.length);for(var n=this[t],i=1,o=0;++o>>=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=(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>>=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>>=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=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=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>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(o=e;o55295&&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=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;s6&&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>>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>>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>>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>>2]>>>24-o%4*8&255;e[n+o>>>2]|=s<<24-(n+o)%4*8}else for(o=0;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>>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>>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>>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>>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>>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>>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>>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>>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>>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>>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>>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.lengthn&&(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>>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<>>32-o)+e}function c(t,e,r,n,i,o,s){var a=t+(e&n|r&~n)+i+s;return(a<>>32-o)+e}function h(t,e,r,n,i,o,s){var a=t+(e^r^n)+i+s;return(a<>>32-o)+e}function p(t,e,r,n,i,o,s){var a=t+(r^(e|~n))+i+s;return(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>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>>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>>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>>0?1:0)|0,e[2]=e[2]+886263092+(e[1]>>>0>>0?1:0)|0,e[3]=e[3]+1295307597+(e[2]>>>0>>0?1:0)|0,e[4]=e[4]+3545052371+(e[3]>>>0>>0?1:0)|0,e[5]=e[5]+886263092+(e[4]>>>0>>0?1:0)|0,e[6]=e[6]+1295307597+(e[5]>>>0>>0?1:0)|0,e[7]=e[7]+3545052371+(e[6]>>>0>>0?1:0)|0,this._b=e[7]>>>0>>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>>0?1:0)|0,e[2]=e[2]+886263092+(e[1]>>>0>>0?1:0)|0,e[3]=e[3]+1295307597+(e[2]>>>0>>0?1:0)|0,e[4]=e[4]+3545052371+(e[3]>>>0>>0?1:0)|0,e[5]=e[5]+886263092+(e[4]>>>0>>0?1:0)|0,e[6]=e[6]+1295307597+(e[5]>>>0>>0?1:0)|0,e[7]=e[7]+3545052371+(e[6]>>>0>>0?1:0)|0,this._b=e[7]>>>0>>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<>>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<>>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<>>32-O,y=w<>>32-O):(l=w<>>64-O,y=E<>>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>>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>>0?1:0))+nt+((V+=it)>>>0>>0?1:0))+ut+((V+=ct)>>>0>>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>>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>>0?1:0))+bt+((ht+=Et)>>>0>>0?1:0))+W+((ht+=V)>>>0>>0?1:0))+((M=C+ht|0)>>>0>>0?1:0)|0,L=R,C=N,R=k,N=D,k=T,D=I,T=wt+(dt+yt+(Ot>>>0>>0?1:0))+((I=ht+Ot|0)>>>0>>0?1:0)|0}y=n.low=y+I,n.high=l+T+(y>>>0>>0?1:0),d=i.low=d+D,i.high=g+k+(d>>>0>>0?1:0),m=o.low=m+N,o.high=v+R+(m>>>0>>0?1:0),_=s.low=_+C,s.high=S+L+(_>>>0>>0?1:0),E=a.low=E+M,a.high=b+U+(E>>>0>>0?1:0),O=c.low=O+H,c.high=w+j+(O>>>0>>0?1:0),A=h.low=A+z,h.high=B+F+(A>>>0>>0?1:0),P=p.low=P+q,p.high=x+G+(P>>>0>>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^this._lBlock)&e;this._lBlock^=r,this._rBlock^=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{"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){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<>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<>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<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{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{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<>=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>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):this[this.t-1]|=f<=this.DB&&(a-=this.DB))}!r&&8==n&&128&t[0]&&(this.s=-1,a>0&&(this[this.t-1]|=(1<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=0;--r)e[r+s+1]=this[r]>>i|a,a=(this[r]&o)<=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;for(var s=r+1;s>n;n>0&&(e[this.t-r-1]|=(this.s&o)<>=this.DB;if(t.t>=this.DB;n+=this.s}else{for(n+=this.s;r>=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=0;)t[r]=0;for(r=0;r=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.t0?(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<1?o[h-2]>>this.F2:0),g=this.FV/l,d=(1<=0&&(r[r.t++]=1,r.subTo(_,r)),s.ONE.dlShiftTo(h,_),_.subTo(o,o);o.t=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))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<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=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<>=this.DB;if(t.t>=this.DB;n+=this.s}else{for(n+=this.s;r>=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=0;)r[n]=0;for(n=Math.max(e-this.t,0);n0)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;o0)for(a>a)>0&&(i=!0,o=h(r));s>=0;)a>(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)<>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>n)!=(this.s&this.DM)>>n&&(e[i++]=r|this.s<=0;)n<8?(r=(this[t]&(1<>(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;r0?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?0!=this.s:!!(this[e]&1<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<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<=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(i0&&(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{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()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;f0)throw Error("Incorrect data or key");for(var r=[],i=0,o=0,s=t.length/this.encryptedDataLength,a=0;a>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;hf-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{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=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>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>8-(g=8*h-r)<<8-g,p[0]=p[0]&l,y=0;0===p[y]&&y{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+e0){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;g0)for(var d=0;d{"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{"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{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=[];++c1)for(var r=1;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{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/tvboxqq/tvboxqq/饭太硬/api/pako.min.js b/tvboxqq/tvboxqq/饭太硬/api/pako.min.js new file mode 100644 index 0000000..05a54a2 --- /dev/null +++ b/tvboxqq/tvboxqq/饭太硬/api/pako.min.js @@ -0,0 +1,2 @@ +/*! 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<>16-t.bi_valid,t.bi_valid+=a-16):(t.bi_buf|=e<{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{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]{const i=t.heap[a];let n=a<<1;for(;n<=t.heap_len&&(n{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{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>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{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{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{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{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<>=7;h(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>>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<{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]&&sr){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{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_outi+t.strm.avail_in&&(a=i+t.strm.avail_in),a>n&&(a=n),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_watern&&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>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=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=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_length4096)&&(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<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.gzindexi&&(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.gzindexi&&(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]&&nt.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=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>>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;i4)s[n++]=65533,i+=r-1;else{for(e&=2===r?31:3===r?15:7;r>1&&i1?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=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<>>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,c-=p),c<15&&(f+=z[a++]<>>24,f>>>=p,c-=p,p=g>>>16&255,!(16&p)){if(0==(64&p)){g=w[(65535&g)+(f&(1<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,p2;)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>3,a-=k,c-=k<<3,f&=(1<{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=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;b0&&(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;m852||2===t&&x>592)return 1;for(;;){Z=w-v,r[m]+1=u?(U=D[r[m]-u],S=A[r[m]-u]):(U=96,S=0),h=1<>v)+d]=Z<<24|U<<16|S|0}while(0!==d);for(h=1<>=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<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.mode16211?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.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.whaveKe(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++]<>>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<>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++]<>>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++]<>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++]<>>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>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++]<>>=7&d,d-=7&d,a.mode=Fe;break}for(;d<3;){if(0===o)break t;o--,h+=i[s++]<>>=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++]<>>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++]<>>=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>>=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>>24,b=z>>>16&255,g=65535&z,!(m<=d);){if(0===o)break t;o--,h+=i[s++]<>>=m,d-=m,a.lens[a.have++]=g;else{if(16===g){for(R=m+2;d>>=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>>=m,d-=m,y=0,c=3+(7&h),h>>>=3,d-=3}else{for(R=m+7;d>>=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<>>24,b=z>>>16&255,g=65535&z,!(m<=d);){if(0===o)break t;o--,h+=i[s++]<>p)],m=z>>>24,b=z>>>16&255,g=65535&z,!(p+m<=d);){if(0===o)break t;o--,h+=i[s++]<>>=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>>=a.extra,d-=a.extra,a.back+=a.extra}a.was=a.length,a.mode=16202;case 16202:for(;z=a.distcode[h&(1<>>24,b=z>>>16&255,g=65535&z,!(m<=d);){if(0===o)break t;o--,h+=i[s++]<>p)],m=z>>>24,b=z>>>16&255,g=65535&z,!(p+m<=d);){if(0===o)break t;o--,h+=i[s++]<>>=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>>=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++]<{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/tvboxqq/tvboxqq/饭太硬/api/模板.js b/tvboxqq/tvboxqq/饭太硬/api/模板.js new file mode 100644 index 0000000..82b037b --- /dev/null +++ b/tvboxqq/tvboxqq/饭太硬/api/模板.js @@ -0,0 +1,304 @@ +if (typeof Object.assign != 'function') { + Object.assign = function () { + var target = arguments[0]; + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i]; + for (var key in source) { + if (Object.prototype.hasOwnProperty.call(source, key)) { + target[key] = source[key]; + } + } + } + return target; +}; +} +function getMubans() { + var mubanDict = { // 模板字典 + mxpro: { + title: '', + host: '', + // homeUrl:'/', + url: '/vodshow/fyclass--------fypage---.html', + searchUrl: '/vodsearch/**----------fypage---.html', + searchable: 2,//是否启用全局搜索, + quickSearch: 0,//是否启用快速搜索, + filterable: 0,//是否启用分类筛选, + headers: {//网站的请求头,完整支持所有的,常带ua和cookies + 'User-Agent': 'MOBILE_UA', + // "Cookie": "searchneed=ok" + }, + class_parse: '.navbar-items li:gt(2):lt(8);a&&Text;a&&href;/(\\d+).html', + play_parse: true, + lazy: '', + limit: 6, + 推荐: '.tab-list.active;a.module-poster-item.module-item;.module-poster-item-title&&Text;.lazyload&&data-original;.module-item-note&&Text;a&&href', + double: true, // 推荐内容是否双层定位 + 一级: 'body a.module-poster-item.module-item;a&&title;.lazyload&&data-original;.module-item-note&&Text;a&&href', + 二级: { + "title": "h1&&Text;.module-info-tag&&Text", + "img": ".lazyload&&data-original", + "desc": ".module-info-item:eq(1)&&Text;.module-info-item:eq(2)&&Text;.module-info-item:eq(3)&&Text", + "content": ".module-info-introduction&&Text", + "tabs": ".module-tab-item", + "lists": ".module-play-list:eq(#id) a" + }, + 搜索: 'body .module-item;.module-card-item-title&&Text;.lazyload&&data-original;.module-item-note&&Text;a&&href;.module-info-item-content&&Text', + }, + mxone5: { + title: '', + host: '', + url: '/show/fyclass--------fypage---.html', + searchUrl: '/search/**----------fypage---.html', + searchable: 2,//是否启用全局搜索, + quickSearch: 0,//是否启用快速搜索, + filterable: 0,//是否启用分类筛选, + class_parse: '.nav-menu-items&&li;a&&Text;a&&href;.*/(.*?).html', + play_parse: true, + lazy: '', + limit: 6, + 推荐: '.module-list;.module-items&&.module-item;a&&title;img&&data-src;.module-item-text&&Text;a&&href', + double: true, // 推荐内容是否双层定位 + 一级: '.module-items .module-item;a&&title;img&&data-src;.module-item-text&&Text;a&&href', + 二级: { + "title": "h1&&Text;.tag-link&&Text", + "img": ".module-item-pic&&img&&data-src", + "desc": ".video-info-items:eq(0)&&Text;.video-info-items:eq(1)&&Text;.video-info-items:eq(2)&&Text;.video-info-items:eq(3)&&Text", + "content": ".vod_content&&Text", + "tabs": ".module-tab-item", + "lists": ".module-player-list:eq(#id)&&.scroll-content&&a" + }, + 搜索: '.module-items .module-search-item;a&&title;img&&data-src;.video-serial&&Text;a&&href', + }, + 首图: { + title: '', + host: '', + url: '/vodshow/fyclass--------fypage---/', + searchUrl: '/vodsearch/**----------fypage---.html', + searchable: 2,//是否启用全局搜索, + quickSearch: 0,//是否启用快速搜索, + filterable: 0,//是否启用分类筛选, + headers: {//网站的请求头,完整支持所有的,常带ua和cookies + 'User-Agent': 'MOBILE_UA', + // "Cookie": "searchneed=ok" + }, + class_parse: '.myui-header__menu li.hidden-sm:gt(0):lt(5);a&&Text;a&&href;/(\\d+).html', + play_parse: true, + lazy: '', + limit: 6, + 推荐: 'ul.myui-vodlist.clearfix;li;a&&title;a&&data-original;.pic-text&&Text;a&&href', + double: true, // 推荐内容是否双层定位 + 一级: '.myui-vodlist li;a&&title;a&&data-original;.pic-text&&Text;a&&href', + 二级: { + "title": ".myui-content__detail .title&&Text;.myui-content__detail p:eq(-2)&&Text", + "img": ".myui-content__thumb .lazyload&&data-original", + "desc": ".myui-content__detail p:eq(0)&&Text;.myui-content__detail p:eq(1)&&Text;.myui-content__detail p:eq(2)&&Text", + "content": ".content&&Text", + "tabs": ".nav-tabs:eq(0) li", + "lists": ".myui-content__list:eq(#id) li" + }, + 搜索: '#searchList li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text', + }, + 首图2: { + title: '', + host: '', + url: '/list/fyclass-fypage.html', + searchUrl: '/vodsearch/**----------fypage---.html', + searchable: 2,//是否启用全局搜索, + quickSearch: 0,//是否启用快速搜索, + filterable: 0,//是否启用分类筛选, + headers: { + 'User-Agent': 'UC_UA', + // "Cookie": "" + }, + // class_parse:'.stui-header__menu li:gt(0):lt(7);a&&Text;a&&href;/(\\d+).html', + class_parse: '.stui-header__menu li:gt(0):lt(7);a&&Text;a&&href;.*/(.*?).html', + play_parse: true, + lazy: '', + limit: 6, + 推荐: 'ul.stui-vodlist.clearfix;li;a&&title;.lazyload&&data-original;.pic-text&&Text;a&&href', + double: true, // 推荐内容是否双层定位 + 一级: '.stui-vodlist li;a&&title;a&&data-original;.pic-text&&Text;a&&href', + 二级: { + "title": ".stui-content__detail .title&&Text;.stui-content__detail p:eq(-2)&&Text", + "img": ".stui-content__thumb .lazyload&&data-original", + "desc": ".stui-content__detail p:eq(0)&&Text;.stui-content__detail p:eq(1)&&Text;.stui-content__detail p:eq(2)&&Text", + "content": ".detail&&Text", + "tabs": ".stui-vodlist__head h3", + "lists": ".stui-content__playlist:eq(#id) li" + }, + 搜索: 'ul.stui-vodlist__media:eq(0) li,ul.stui-vodlist:eq(0) li,#searchList li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text', + 搜索1: 'ul.stui-vodlist&&li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text', + 搜索2: 'ul.stui-vodlist__media&&li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text', + }, + 默认: { + title: '', + host: '', + url: '/vodshow/fyclass--------fypage---.html', + searchUrl: '/vodsearch/-------------.html?wd=**', + searchable: 2,//是否启用全局搜索, + quickSearch: 0,//是否启用快速搜索, + filterable: 0,//是否启用分类筛选, + headers: { + 'User-Agent': 'MOBILE_UA', + }, + play_parse: true, + lazy: '', + limit: 6, + double: true, // 推荐内容是否双层定位 + }, + vfed: { + title: '', + host: '', + url: '/index.php/vod/show/id/fyclass/page/fypage.html', + searchUrl: '/index.php/vod/search/page/fypage/wd/**.html', + searchable: 2,//是否启用全局搜索, + quickSearch: 0,//是否启用快速搜索, + filterable: 0,//是否启用分类筛选, + headers: { + 'User-Agent': 'UC_UA', + }, + // class_parse:'.fed-pops-navbar&&ul.fed-part-rows&&a.fed-part-eone:gt(0):lt(5);a&&Text;a&&href;.*/(.*?).html', + class_parse: '.fed-pops-navbar&&ul.fed-part-rows&&a;a&&Text;a&&href;.*/(.*?).html', + play_parse: true, + lazy: '', + limit: 6, + 推荐: 'ul.fed-list-info.fed-part-rows;li;a.fed-list-title&&Text;a&&data-original;.fed-list-remarks&&Text;a&&href', + double: true, // 推荐内容是否双层定位 + 一级: '.fed-list-info&&li;a.fed-list-title&&Text;a&&data-original;.fed-list-remarks&&Text;a&&href', + 二级: { + "title": "h1.fed-part-eone&&Text;.fed-deta-content&&.fed-part-rows&&li&&Text", + "img": ".fed-list-info&&a&&data-original", + "desc": ".fed-deta-content&&.fed-part-rows&&li:eq(1)&&Text;.fed-deta-content&&.fed-part-rows&&li:eq(2)&&Text;.fed-deta-content&&.fed-part-rows&&li:eq(3)&&Text", + "content": ".fed-part-esan&&Text", + "tabs": ".fed-drop-boxs&&.fed-part-rows&&li", + "lists": ".fed-play-item:eq(#id)&&ul:eq(1)&&li" + }, + 搜索: '.fed-deta-info;h1&&Text;.lazyload&&data-original;.fed-list-remarks&&Text;a&&href;.fed-deta-content&&Text', + }, + 海螺3: { + title: '', + host: '', + searchUrl: '/v_search/**----------fypage---.html', + url: '/vod_____show/fyclass--------fypage---.html', + headers: { + 'User-Agent': 'MOBILE_UA' + }, + timeout: 5000, + class_parse: 'body&&.hl-nav li:gt(0);a&&Text;a&&href;.*/(.*?).html', + cate_exclude: '明星|专题|最新|排行', + limit: 40, + play_parse: true, + lazy: '', + 推荐: '.hl-vod-list;li;a&&title;a&&data-original;.remarks&&Text;a&&href', + double: true, + 一级: '.hl-vod-list&&.hl-list-item;a&&title;a&&data-original;.remarks&&Text;a&&href', + 二级: { + "title": ".hl-infos-title&&Text;.hl-text-conch&&Text", + "img": ".hl-lazy&&data-original", + "desc": ".hl-infos-content&&.hl-text-conch&&Text", + "content": ".hl-content-text&&Text", + "tabs": ".hl-tabs&&a", + "lists": ".hl-plays-list:eq(#id)&&li" + }, + 搜索: '.hl-list-item;a&&title;a&&data-original;.remarks&&Text;a&&href', + searchable: 2,//是否启用全局搜索, + quickSearch: 0,//是否启用快速搜索, + filterable: 0,//是否启用分类筛选, + }, + 海螺2: { + title: '', + host: '', + searchUrl: '/index.php/vod/search/page/fypage/wd/**/', + url: '/index.php/vod/show/id/fyclass/page/fypage/', + headers: { + 'User-Agent': 'MOBILE_UA' + }, + timeout: 5000, + class_parse: '#nav-bar li;a&&Text;a&&href;id/(.*?)/', + limit: 40, + play_parse: true, + lazy: '', + 推荐: '.list-a.size;li;a&&title;.lazy&&data-original;.bt&&Text;a&&href', + double: true, + 一级: '.list-a&&li;a&&title;.lazy&&data-original;.list-remarks&&Text;a&&href', + 二级: { + "title": "h2&&Text;.deployment&&Text", + "img": ".lazy&&data-original", + "desc": ".deployment&&Text", + "content": ".ec-show&&Text", + "tabs": "#tag&&a", + "lists": ".play_list_box:eq(#id)&&li" + }, + 搜索: '.search-list;a&&title;.lazy&&data-original;.deployment&&Text;a&&href', + searchable: 2,//是否启用全局搜索, + quickSearch: 0,//是否启用快速搜索, + filterable: 0,//是否启用分类筛选, + }, + 短视: { + title: '', + host: '', + // homeUrl:'/', + url: '/channel/fyclass-fypage.html', + searchUrl: '/search.html?wd=**', + searchable: 2,//是否启用全局搜索, + quickSearch: 0,//是否启用快速搜索, + filterable: 0,//是否启用分类筛选, + headers: {//网站的请求头,完整支持所有的,常带ua和cookies + 'User-Agent': 'MOBILE_UA', + // "Cookie": "searchneed=ok" + }, + class_parse: '.menu_bottom ul li;a&&Text;a&&href;.*/(.*?).html', + cate_exclude: '解析|动态', + play_parse: true, + lazy: '', + limit: 6, + 推荐: '.indexShowBox;ul&&li;a&&title;img&&data-src;.s1&&Text;a&&href', + double: true, // 推荐内容是否双层定位 + 一级: '.pic-list&&li;a&&title;img&&data-src;.s1&&Text;a&&href', + 二级: { + "title": "h1&&Text;.content-rt&&p:eq(0)&&Text", + "img": ".img&&img&&data-src", + "desc": ".content-rt&&p:eq(1)&&Text;.content-rt&&p:eq(2)&&Text;.content-rt&&p:eq(3)&&Text;.content-rt&&p:eq(4)&&Text;.content-rt&&p:eq(5)&&Text", + "content": ".zkjj_a&&Text", + "tabs": ".py-tabs&&option", + "lists": ".player:eq(#id) li" + }, + 搜索: '.sr_lists&&ul&&li;h3&&Text;img&&data-src;.int&&p:eq(0)&&Text;a&&href', + }, + 短视2:{ + title: '', + host: '', + class_name:'电影&电视剧&综艺&动漫', + class_url:'1&2&3&4', + searchUrl: '/index.php/ajax/suggest?mid=1&wd=**&limit=50', + searchable: 2, + quickSearch: 0, + headers:{'User-Agent':'MOBILE_UA'}, + url: '/index.php/api/vod#type=fyclass&page=fypage', + filterable:0,//是否启用分类筛选, + filter_url:'', + filter: {}, + filter_def:{}, + detailUrl:'/index.php/vod/detail/id/fyid.html', + play_parse: true, + lazy: '', + limit: 6, + 推荐:'.list-vod.flex .public-list-box;a&&title;.lazy&&data-original;.public-list-prb&&Text;a&&href', + 一级:'js:let body=input.split("#")[1];let t=Math.round(new Date/1e3).toString();let key=md5("DS"+t+"DCC147D11943AF75");let url=input.split("#")[0];body=body+"&time="+t+"&key="+key;print(body);fetch_params.body=body;let html=post(url,fetch_params);let data=JSON.parse(html);VODS=data.list.map(function(it){it.vod_pic=urljoin2(input.split("/i")[0],it.vod_pic);return it});', + 二级:{ + "title":".slide-info-title&&Text;.slide-info:eq(3)--strong&&Text", + "img":".detail-pic&&data-original", + "desc":".fraction&&Text;.slide-info-remarks:eq(1)&&Text;.slide-info-remarks:eq(2)&&Text;.slide-info:eq(2)--strong&&Text;.slide-info:eq(1)--strong&&Text", + "content":"#height_limit&&Text", + "tabs":".anthology.wow.fadeInUp.animated&&.swiper-wrapper&&a", + "tab_text":".swiper-slide&&Text", + "lists":".anthology-list-box:eq(#id) li" + }, + 搜索:'json:list;name;pic;;id', + } + }; + return JSON.parse(JSON.stringify(mubanDict)); +} +var mubanDict = getMubans(); +var muban = getMubans(); +export default {muban,getMubans}; \ No newline at end of file diff --git a/tvboxqq/tvboxqq/饭太硬/js/兔小贝.js b/tvboxqq/tvboxqq/饭太硬/js/兔小贝.js new file mode 100644 index 0000000..905d963 --- /dev/null +++ b/tvboxqq/tvboxqq/饭太硬/js/兔小贝.js @@ -0,0 +1,26 @@ +var rule = { + title:'兔小贝', + host:'https://www.tuxiaobei.com', + homeUrl:'', + url:'/list/mip-data?typeId=fyclass&page=fypage&callback=', + detailUrl:'/play/fyid', + searchUrl:'/search/index?key=**', + searchable:2, + headers:{ + 'User-Agent':'MOBILE_UA' + }, + timeout:5000, + class_url:'2&3&4&25', + class_name:'儿歌&故事&国学&启蒙', + //class_name:'#page-viewport&&ul&&li;.text&&Text;a&&href;/(.*)', + cate_exclude:'应用', + 推荐:'.pic-list.list-box;.items;.text&&Text;mip-img&&src;.all&&Text;a&&href', + double:true, + limit:5, + play_parse:true, + lazy:'js:fetch_params.headers["user-agent"] = IOS_UA;let html=fetch(input,fetch_params);let src = jsp.pdfh(html,"body&&#videoWrap&&video-src");input=src;', + // 一级:'json:data.items;name;image;collect_num;category_id+video_id', + 一级:'json:data.items;name;image;duration_string;video_id', + 二级:'*', + 搜索:'.list-con&&.items;.text&&Text;mip-img&&src;.time&&Text;a&&href', +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/饭太硬/js/斗鱼直播.js b/tvboxqq/tvboxqq/饭太硬/js/斗鱼直播.js new file mode 100644 index 0000000..1ac725e --- /dev/null +++ b/tvboxqq/tvboxqq/饭太硬/js/斗鱼直播.js @@ -0,0 +1,5 @@ +var rule={title:"斗鱼直播",host:"https://m.douyu.com",homeUrl:"/api/home/mix",url:"/api/room/list?page=fypage&type=fyfilter",filterable:1,filter_url:"{{fl.cateId}}",filter:{yl:[{key:"cateId",name:"分类",value:[{n:"原创IP",v:"ip"},{n:"一起看",v:"yqk"},{n:"二次元",v:"ecy"},{n:"音乐",v:"music"},{n:"户外",v:"HW"},{n:"美食",v:"ms"},{n:"心动派对",v:"xdpd"},{n:"音遇恋人",v:"yinyu"},{n:"星秀",v:"xingxiu"},{n:"心动FM",v:"dtxs"},{n:"娱乐推荐",v:"yltj"},{n:"新选",v:"xinxuan"}]}],PCgame:[{key:"cateId",name:"分类",value:[{n:"英雄联盟",v:"LOL"},{n:"热门游戏",v:"rmyx"},{n:"穿越火线",v:"CF"},{n:"重生边缘",v:"CSBYOL"},{n:"无畏契约",v:"VALORANT"},{n:"CFHD",v:"CFHD"},{n:"命运方舟",v:"LostArk"},{n:"DNF",v:"DNF"},{n:"DOTA2",v:"DOTA2"},{n:"使命召唤",v:"COD"},{n:"炉石传说",v:"How"},{n:"CS2",v:"CounterStrike"},{n:"lol云顶之弈",v:"ydzhy"},{n:"魔兽争霸",v:"mszb"},{n:"魔兽怀旧服",v:"wowclassic"},{n:"全民街篮",v:"qmjl"},{n:"自走棋",v:"dota2rpg"},{n:"传奇",v:"cq"},{n:"跑跑卡丁车",v:"Popkart"},{n:"网易游戏",v:"wyyx"},{n:"星际争霸",v:"SC"},{n:"守望先锋",v:"Overwatch"},{n:"DOTA",v:"DOTA"},{n:"魔兽世界",v:"WOW"},{n:"剑网3",v:"JX3"},{n:"魔域",v:"EudemonsOnline"},{n:"我的世界",v:"MC"},{n:"超激斗梦境",v:"cjdmj"},{n:"冒险岛",v:"mxd"},{n:"三国杀",v:"sanguosha"},{n:"梦幻西游",v:"MHXYOL"},{n:"天涯明月刀",v:"tianya"},{n:"街头篮球",v:"jtlq"},{n:"NBA2KOL2",v:"NBA2KOL2"},{n:"QQ飞车端游",v:"qqfcdy"},{n:"战地之王",v:"AVA"},{n:"军事游戏",v:"jsyx"},{n:"棋牌娱乐",v:"qipai"},{n:"FC ONLINE",v:"FCOL"},{n:"热门网游",v:"rmwy"},{n:"卡拉彼丘",v:"klbq"},{n:"诛仙世界",v:"zxsj"},{n:"千古风流",v:"qgflpc"},{n:"APEX",v:"APEX"},{n:"流放之路POE",v:"PathofExile"},{n:"剑网3缘起",v:"JW3YQ"},{n:"逆水寒",v:"nsh"},{n:"风暴英雄",v:"HOTS"},{n:"逆战",v:"NZ"},{n:"坦克世界",v:"TKSJ"},{n:"战舰世界",v:"wfws"},{n:"巫师之昆特牌",v:"wszktp"},{n:"反恐精英Online",v:"CS"},{n:"暗黑破坏神",v:"DIABLO"},{n:"梦三国2",v:"msg2"},{n:"传奇世界",v:"cqsj"},{n:"方舟:生存进化",v:"fzscjh"},{n:"神武4电脑版",v:"swdnb"},{n:"群雄逐鹿",v:"qxzl"},{n:"堡垒之夜",v:"blzy"},{n:"无限法则",v:"roe"},{n:"问道电脑版",v:"wddnb"},{n:"西山居游戏",v:"Seasun"},{n:"最终幻想14",v:"FF14"},{n:"战意",v:"WYZY"},{n:"剑灵",v:"BladeSoul"},{n:"星际战甲",v:"Warframe"},{n:"龙之谷",v:"DragonNest"},{n:"铁甲雄兵",v:"tjxb"},{n:"古剑奇谭网络版",v:"gjqtwlb"},{n:"轩辕传奇",v:"XYCQ"},{n:"神途",v:"shentu"},{n:"激战2",v:"GuildWars2"},{n:"高达文化区",v:"gdyxq"},{n:"忍者村大战2",v:"rzcdz2"},{n:"RPG网游专区",v:"rpgwyzq"},{n:"诛仙3",v:"zhuxian3"},{n:"笑傲江湖OL",v:"xajhol"},{n:"冒险岛2",v:"MXD2"},{n:"超击突破",v:"SuperPeople"},{n:"无尽战区",v:"WJZQ"},{n:"斗战神",v:"dzs"},{n:"永恒之塔",v:"AION"},{n:"九阴真经",v:"JYZJ"},{n:"FPS综合网游",v:"FPSOL"},{n:"劲舞团",v:"jwt"},{n:"天下",v:"tianxai"},{n:"泡泡堂",v:"ppt"},{n:"武侠乂",v:"wxy"},{n:"音乐游戏",v:"MG"},{n:"新倩女幽魂",v:"ONLINE"},{n:"天谕",v:"tianyu"},{n:"征途2",v:"zhengtu2"},{n:"QQ炫舞",v:"qqxw"},{n:"泰亚史诗",v:"tyss"},{n:"怪物猎人ol",v:"MHol"},{n:"手工星球",v:"sgxq"},{n:"星战前夜:晨曦",v:"EVE"},{n:"热血传奇:本源",v:"rxcqhjsgb"},{n:"枪火重生",v:"qhcs"},{n:"彩虹岛",v:"CHD"},{n:"御龙在天",v:"YLZT"},{n:"英魂之刃",v:"YHZR"},{n:"自由篮球",v:"ZYLQ"},{n:"洛奇英雄传",v:"LQYXZ"},{n:"封印者",v:"FYZ"},{n:"合金弹头",v:"HJDT"},{n:"新英雄年代",v:"XYXSD"},{n:"星尘传说",v:"XCCS"},{n:"盛趣游戏",v:"SQYX"},{n:"新热血英豪",v:"XRXYH"},{n:"沙盒游戏",v:"SHYX"},{n:"我的世界:地下城",v:"MD"},{n:"恐鬼症",v:"KGZ"},{n:"领地人生",v:"LDRS"},{n:"梦塔防",v:"TDOTK"},{n:"大话西游2",v:"dhxy2"},{n:"猎人",v:"lr"},{n:"热血江湖online",v:"rxjhol"},{n:"千年3",v:"qn3"},{n:"逍遥情缘",v:"xyqy"},{n:"快乐西游",v:"klxy"},{n:"鹿鼎记",v:"ldj"},{n:"新桃花源记",v:"xthyj"},{n:"疾风之刃电脑版",v:"jfzr1"},{n:"武魂2电脑版",v:"wh2pc"},{n:"奇迹世界sun",v:"qjsjsun"},{n:"剑侠世界2电脑版",v:"jxsj2pc"},{n:"斩魂",v:"zhpc"},{n:"大唐2",v:"dt2pc"},{n:"蜀山:初章",v:"ssczpc"},{n:"狼人对决网游",v:"lrdjpc"},{n:"武林群侠传",v:"wlqxzpc"},{n:"飘流幻境",v:"plhjpc"},{n:"破天一剑",v:"ptyj"},{n:"四国军棋",v:"sgjq"},{n:"新大话西游3",v:"xy3"},{n:"装甲战争",v:"zjzz"},{n:"暴雪游戏综合",v:"g_bliz"},{n:"长尾4部虚拟分区",v:"cw4bxnfq"},{n:"燕云十六声",v:"WHEREWINDSMEET"},{n:"THE FINALS",v:"THEFINALS"},{n:"NBA2K Online",v:"NBA2KOL"},{n:"塔瑞斯世界",v:"Tarisland"},{n:"跑跑卡丁车:漂移",v:"KartRiderDrift"},{n:"传奇永恒",v:"EternalLegend"},{n:"全境封锁2",v:"TheDivision2"},{n:"盛趣传奇",v:"sqcq"},{n:"火爆热游",v:"hbry"},{n:"火爆传奇",v:"hbcq"}]}],djry:[{key:"cateId",name:"分类",value:[{n:"主机游戏",v:"TVgame"},{n:"刺客信条:英灵殿",v:"AC"},{n:"马里奥制造",v:"Mario"},{n:"逃离塔科夫",v:"EFT"},{n:"命运2",v:"MY2"},{n:"恐怖游戏",v:"Horror"},{n:"荒野大镖客",v:"hydbk"},{n:"灵魂筹码",v:"lhcm"},{n:"骑马与砍杀",v:"MountAndBlade"},{n:"只狼",v:"ZL"},{n:"格斗游戏",v:"FTG"},{n:"饥荒",v:"DontStarve"},{n:"全境封锁",v:"qjfs"},{n:"怀旧游戏",v:"classic"},{n:"NBA2K",v:"NBA2K"},{n:"八方旅人",v:"OT"},{n:"血污:夜之仪式",v:"Blood"},{n:"人类一败涂地",v:"Human"},{n:"环世界",v:"RimWorld"},{n:"古墓丽影",v:"gmly"},{n:"鬼泣",v:"DMC"},{n:"往日不再",v:"WRBZ"},{n:"仙剑奇侠传",v:"PAL"},{n:"神秘海域",v:"Uncharted"},{n:"塞尔达系列",v:"TLoZ"},{n:"僵尸世界大战",v:"WWZ"},{n:"足球游戏",v:"zq"},{n:"橙光",v:"cg"},{n:"了不起的修仙模拟器",v:"ACS"},{n:"女神异闻录",v:"P5"},{n:"超级马里奥",v:"SMO"},{n:"三国志系列",v:"Sangokushi"},{n:"最终幻想",v:"FF"},{n:"中土世界:战争之影",v:"MiddleEarth"},{n:"流放者柯南",v:"Conan"},{n:"三国群英传",v:"SANGO"},{n:"无主之地",v:"Bor"},{n:"辐射",v:"fs"},{n:"SCUM",v:"Scum"},{n:"文明",v:"CVI"},{n:"仁王",v:"NIOH"},{n:"缺氧",v:"ONI"},{n:"全面吃鸡模拟器",v:"TAB"},{n:"古剑奇谭",v:"GuJian3"},{n:"皇牌空战",v:"hpkz"},{n:"体育游戏",v:"tyyx"},{n:"海岛大亨",v:"hddh"},{n:"碧海黑帆",v:"klhdt"},{n:"植物大战僵尸:花园战争系列",v:"PvsZ"},{n:"蜘蛛侠",v:"Spide"},{n:"勇者斗恶龙:建造者2",v:"DQB2"},{n:"遗迹:灰烬重生",v:"Rem"},{n:"血源",v:"BB"},{n:"旺达与巨像",v:"SotC"},{n:"死亡搁浅",v:"DS"},{n:"模拟人生",v:"Sims"},{n:"空洞骑士",v:"HKS"},{n:"胡闹厨房",v:"Overcooked"},{n:"地铁:离去",v:"ME"},{n:"生死狙击2",v:"ssjjtwo"},{n:"三国战纪",v:"sgzj"},{n:"怀旧FC",v:"edwcy"},{n:"经典单机",v:"jddj"},{n:"英雄无敌",v:"HoMM"},{n:"街机游戏",v:"jjyx"},{n:"合金装备",v:"MetalGear"},{n:"红色警戒",v:"hsjj"},{n:"镜之边缘",v:"MsE"},{n:"勿忘我",v:"Remw"},{n:"火焰纹章系列",v:"FireEmblem"},{n:"星露谷物语",v:"Stardew"},{n:"火炬之光",v:"Torchlight"},{n:"赛博朋克2077",v:"Cyberpunk"},{n:"中国式家长",v:"CP"},{n:"精灵宝可梦系列",v:"Pokemon"},{n:"尼尔:机械纪元",v:"NieR"},{n:"无人深空",v:"NMS"},{n:"EVOTINCTION",v:"EVOTINCTION"},{n:"GT赛车7",v:"GT"},{n:"超级机器人大战",v:"SRW"},{n:"这是我的战争",v:"TWoM"},{n:"杀戮尖塔",v:"sljt"},{n:"冰汽时代",v:"Frostpunk"},{n:"帝国时代",v:"AoEIV"},{n:"死亡空间",v:"swkj"},{n:"凯瑟琳Full Body",v:"CFB"},{n:"足球经理",v:"Football"},{n:"雨中冒险",v:"RoR"},{n:"亿万僵尸",v:"Billions"},{n:"武装突袭",v:"ArmA"},{n:"石油大亨",v:"Oil"},{n:"欧洲卡车模拟器",v:"Truck"},{n:"美国逃亡者",v:"Fugitive"},{n:"漫漫长夜",v:"mmcy"},{n:"永恒轮回",v:"Survival"},{n:"孤岛惊魂",v:"FarCry"},{n:"都市:天际线",v:"Skylines"},{n:"盗贼之海",v:"hdzh"},{n:"Dayz",v:"DayZ"},{n:"60秒",v:"60S"},{n:"俄罗斯钓鱼",v:"RF"},{n:"猎人:荒野的召唤",v:"theHunter"},{n:"恐怖黎明",v:"GD"},{n:"看门狗",v:"kmg"},{n:"真三国无双",v:"DW"},{n:"战斗砖块剧场",v:"BT"},{n:"泰拉瑞亚",v:"Terraria"},{n:"异星工厂",v:"Factorio"},{n:"UFC",v:"UFC"},{n:"底特律:变人",v:"Detroit"},{n:"恶魔城",v:"Castlevania"},{n:"毁灭战士",v:"Doom"},{n:"火影忍者:究极忍者风暴",v:"Naruto"},{n:"坎巴拉太空计划",v:"Kerbal"},{n:"龙珠:超宇宙",v:"DBX"},{n:"马里奥赛车",v:"MarioKart"},{n:"欧陆风云",v:"EU"},{n:"乞丐模拟器",v:"HoboToughLife"},{n:"小偷模拟器",v:"ThiefSimulator"},{n:"逆转裁判",v:"AceA"},{n:"超越光速",v:"FTL"},{n:"植物大战僵尸",v:"PvZ"},{n:"游戏开发者",v:"GGM"},{n:"最后的绿洲",v:"LO"},{n:"大富翁",v:"RichMan"},{n:"反恐精英",v:"fkjy"},{n:"英雄连",v:"yxl"},{n:"永劫无间",v:"NB"},{n:"初音未来:歌姬计划",v:"MIKU"},{n:"部落与弯刀",v:"BLYWD"},{n:"一起开火车!",v:"Unrailed"},{n:"霓虹深渊",v:"NA"},{n:"主机其他游戏",v:"OG"},{n:"战场兄弟",v:"ZCXD"},{n:"地狱潜者",v:"DYQZ"},{n:"地下城",v:"dxc"},{n:"人间地狱",v:"RJDY"},{n:"temtem",v:"temtem"},{n:"弹丸论破",v:"dwlp"},{n:"皇家美食",v:"HJMS"},{n:"基佬大乱斗",v:"jldld"},{n:"僵尸毁灭工程",v:"jshmgc"},{n:"岛屿生存者",v:"Sur"},{n:"冬日计划",v:"drjh"},{n:"四海兄弟",v:"shxd"},{n:"创世理想乡",v:"Craftopia"},{n:"柯娜:精神之桥",v:"Kena"},{n:"幽灵线:东京",v:"GTO"},{n:"Solar Ash",v:"Ash"},{n:"BUGSNAX",v:"BUGSNAX"},{n:"生化危机4重制版",v:"ResidentEvil"},{n:"Grounded",v:"Grounded"},{n:"Superliminal",v:"Superliminal"},{n:"Omno",v:"Omno"},{n:"Röki",v:"Roki"},{n:"Undungeon",v:"Undungeon"},{n:"糖豆人",v:"FallGuys"},{n:"渡神纪",v:"Gods"},{n:"Aeolis Tournament",v:"Aeolis"},{n:"猛兽派对",v:"Animals"},{n:"Olija",v:"Olija"},{n:"Creaks",v:"Creaks"},{n:"暗影火炬城",v:"FIST"},{n:"阿尔比恩",v:"Albion"},{n:"Uragun",v:"Uragun"},{n:"戴森球计划",v:"DSP"},{n:"Muse Dash",v:"MuseDash"},{n:"恐惧之间",v:"Fearsurrounds"},{n:"孤岛惊魂6",v:"FarCry6"},{n:"怪物猎人",v:"MonsterHunterRise"},{n:"黑神话:悟空",v:"BlackMythWuKong"},{n:"仁王2",v:"Nioh2"},{n:"三国群英传8",v:"TheThreeKingdoms8"},{n:"三国志14",v:"THREEKINGDOMSXIV"},{n:"杀手3",v:"Hitman3"},{n:"双人成行",v:"ittakestwo"},{n:"Scrapnaut",v:"Scrapnaut"},{n:"租房达人",v:"TheTenants"},{n:"狙击手:幽灵战士契约2",v:"SniperContracts2"},{n:"全面战争",v:"TotalWarWARHAMMER"},{n:"复体",v:"TheComplex"},{n:"战争机器:战术小队",v:"GearsTactics"},{n:"海绵宝宝:比奇堡的冒险",v:"BattleforBikini"},{n:"分离",v:"Disintegration"},{n:"奇妙探险队2",v:"CuriousExpedition2"},{n:"刺客信条:奥德赛",v:"Odyssey"},{n:"丧尸围城4",v:"DeadRising4"},{n:"星球大战:前线",v:"Battlefront"},{n:"Moonray",v:"Moonray"},{n:"灵魂旅人",v:"SpiritFarerlhlr"},{n:"面容",v:"Visage"},{n:"车祸现场模拟器",v:"Accident"},{n:"破门而入2:北方特遣队",v:"DoorKickers2"},{n:"俄罗斯方块效应:连接",v:"TetrisEffect"},{n:"SD高达G世纪:起源",v:"SDGundamG"},{n:"东方计划:不可思议的幻想乡",v:"TouHou"},{n:"Fate/EXTELLA",v:"FateEXTELLA"},{n:"临终:重生试炼",v:"DYINGReborn"},{n:"虚拟现实乐园",v:"VRWorlds"},{n:"苍翼默示录:神观之梦",v:"CentralFiction"},{n:"晚班",v:"LateShift"},{n:"子弹风暴",v:"Bulletstorm"},{n:"巡警",v:"BeatCop"},{n:"耻辱之日",v:"DayofInfamy"},{n:"狙击精英4",v:"SniperElite4"},{n:"热血物语:地下世界",v:"RiverCityRansom"},{n:"史诗战争模拟器",v:"BattleSimulator"},{n:"银河护卫队",v:"Guardians"},{n:"上古卷轴:传奇",v:"ScrollsLegends"},{n:"闪乱神乐:少女们的选择",v:"SenranKagura"},{n:"幽灵行动:荒野",v:"GhostReconWildland"},{n:"白色情人节",v:"WhiteDay"},{n:"誓死坚守",v:"UntilWeDie"},{n:"狂战传说",v:"TalesofBerseria"},{n:"双截龙4",v:"DoubleDragon4"},{n:"地下蚁国",v:"Undergrowth"},{n:"寻找天堂",v:"findparadise"},{n:"画中世界",v:"Gorogoa"},{n:"现代战争",v:"ModernCombat"},{n:"绯红结系",v:"SCARLETNEXUS"},{n:"罪恶装备:STRIVE",v:"GuiltyGear"},{n:"涅克罗蒙达:赏金猎人",v:"NHiredGun"},{n:"骑士精神2",v:"Chivalry2"},{n:"Rune Knights",v:"RuneKnights"},{n:"红至日2:幸存者",v:"TheRed2"},{n:"真女神转生3",v:"ShinMegami3"},{n:"速降王者",v:"Descenders"},{n:"工业崛起",v:"RiseIndustry"},{n:"前往中世纪",v:"GoMedieval"},{n:"Arid",v:"Arid"},{n:"伊始之地",v:"TerraNil"},{n:"进击的巨人2",v:"AttackonTitan2"},{n:"魔域之书",v:"Bookofdevil"},{n:"自由人:游击战争",v:"Freeman"},{n:"战国无双5",v:"SWarriors5"},{n:"不要喂食猴子",v:"NotFeedMonkeys"},{n:"古剑奇谭3",v:"GuJianqitan3"},{n:"剑士",v:"KenshiJS"},{n:"GRIS",v:"GRIS"},{n:"古剑奇谭:永夜",v:"gujianyongye"},{n:"永恒边缘",v:"EdgeEternity"},{n:"Below",v:"Below"},{n:"彩虹坠入",v:"IrisFall"},{n:"嗜血印",v:"BloodySpell"},{n:"兽人必须死3",v:"OrcsDie3"},{n:"狙击精英VR",v:"SniperEliteVR"},{n:"遗忘之城",v:"ForgotCity"},{n:"Last Stop",v:"LastStop"},{n:"边界之外",v:"OutofLine"},{n:"从军",v:"jointhearmy"},{n:"石炉",v:"Stonehearth"},{n:"狂热运输2",v:"TransportFever2"},{n:"机甲战士5",v:"MechWarrior5"},{n:"PICO PARK",v:"PICOPARK"},{n:"光明记忆:无限",v:"Brightmemory"},{n:"秘馆疑踪",v:"HeavenDust"},{n:"侠盗公司",v:"RogueCompany"},{n:"英雄传说:创之轨迹",v:"HajimariNOKiseki"},{n:"战地系列",v:"Battlefiel"},{n:"塞尔达传说:天空之剑HD",v:"SkywardSword"},{n:"尘埃异变",v:"GRIME"},{n:"异形:火力小队精英",v:"FireteamElite"},{n:"12分钟",v:"TwelveMinutes"},{n:"九十六号公路",v:"Road96"},{n:"FORECLOSED",v:"FORECLOSED"},{n:"RiMS Racing",v:"RiMSRacing"},{n:"钢铁之尾",v:"TailsofIron"},{n:"剑侠图",v:"JianXiaTu"},{n:"审判之逝",v:"Lostjudgment"},{n:"帝国神话",v:"mythofempires"},{n:"艾尔登法环",v:"ELDENRING"},{n:"极限竞速:地平线5",v:"ForzaHorizon5"},{n:"使命召唤系列",v:"CALLOFDUTYCOD"},{n:"网吧模拟器",v:"InternetCS"},{n:"The Anacrusis",v:"TheAnacrusis"},{n:"浩劫前夕",v:"TheDayBefore"},{n:"文字游戏",v:"WordGame"},{n:"消逝的光芒2",v:"DyingLight2"},{n:"无主之地3",v:"Borderlands3"},{n:"战神:诸神黄昏",v:"GodofWarRagnarok"},{n:"海上狼人杀",v:"DreadHunger"},{n:"侠乂行:浪迹天涯",v:"XIAYIXING"},{n:"最终幻想:起源",v:"STRANGEROFPARADISE"},{n:"HordeCore",v:"HordeCore"},{n:"双子星:盛气凌人",v:"YoungSouls"},{n:"Indies’ Lies",v:"IndiesLies"},{n:"Deck of Ashes",v:"DeckofAshes"},{n:"星空",v:"Starfield"},{n:"Ilysia",v:"Ilysia"},{n:"Project Q",v:"ProjectQ"},{n:"Pummel Party",v:"PummelParty"},{n:"Holomento",v:"Holomento"},{n:"Overprime",v:"Overprime"},{n:"森林之子",v:"SonsOfTheForest"},{n:"弈仙牌",v:"yixianpai"},{n:"夜族崛起",v:"VRising"},{n:"罗马复兴",v:"RomanRenaissance"},{n:"萤火突击",v:"LostLight"},{n:"High on Life",v:"HighonLife"},{n:"匹诺曹的谎言",v:"LiesofP"},{n:"Isonzo",v:"Isonzo"},{n:"瘟疫传说:安魂曲",v:"Requiem"},{n:"漂泊牧歌",v:"WanderingVillage"},{n:"塞尔达传说:王国之泪",v:"TEARSKINGDOM"},{n:"破碎线",v:"Shatterline"},{n:"卧龙:苍天陨落",v:"Wolong"},{n:"卡库远古封印",v:"KAKU"},{n:"原子之心",v:"AtomicHeart"},{n:"Warhaven",v:"Warhaven"},{n:"宝可梦:朱/紫",v:"ScarletandViolet"},{n:"Evercore Heroes",v:"EvercoreHeroes"},{n:"灵魂石幸存者",v:"SoulstoneSurvivors"},{n:"主机一起看",v:"zjyqk"},{n:"社交互动游戏",v:"SJHDYX"},{n:"轮回修仙路",v:"lhxxl"},{n:"Divine Knockout",v:"DivineKnockout"},{n:"至暗时刻",v:"DarkandDarker"},{n:"自杀小队:杀死正义联盟",v:"KTJL"},{n:"XDefiant",v:"XDefiant"},{n:"Warlander",v:"Warlander"},{n:"Scars Above",v:"ScarsAbove"},{n:"Pacific Drive",v:"PacificDrive"},{n:"最终幻想16",v:"FinalFantasyXVI"},{n:"街头霸王",v:"StreetFighter"},{n:"Tchia",v:"Tchia"},{n:"大侠立志传",v:"HerosAdventure"},{n:"最后纪元",v:"LastEpoch"},{n:"魔戒:咕噜",v:"Gollum"},{n:"Prison Life 2",v:"PrisonLife"},{n:"Innchanted",v:"Innchanted"},{n:"幻兽帕鲁",v:"Palworld"},{n:"Life by You",v:"LifebyYou"},{n:"Eresys",v:"Eresys"},{n:"Pax Dei",v:"PaxDei"},{n:"Teravit",v:"Teravit"},{n:"Caliber",v:"Caliber"},{n:"沙盒与副本:英勇之地",v:"HerosLand"},{n:"Coridden",v:"Coridden"},{n:"Unrecord",v:"Unrecord"},{n:"Deducto 2",v:"Deducto2"},{n:"装甲核心6:境界天火",v:"ArmoredCore"},{n:"Wayfinder",v:"Wayfinder"},{n:"迷瘴纪事",v:"MiasmaChronicles"},{n:"Minigame Madness",v:"MinigameMadness"},{n:"严阵以待",v:"ReadyorNot"},{n:"上古卷轴OL",v:"TheElderScrolls"},{n:"弹幕风暴",v:"dmfb"},{n:"学园构想家",v:"SchoolHomeroom"},{n:"弈仙牌手游",v:"YiXianm"},{n:"Jusant",v:"JUSANT"},{n:"潜水员戴夫",v:"DAVETHEDIVER"},{n:"GYLT",v:"GYLT"},{n:"索利斯堡",v:"FortSolis"},{n:"Towerborne",v:"Towerborne"},{n:"33 Immortals",v:"33Immortals"},{n:"Wildmender",v:"Wildmender"},{n:"How 2 Escape",v:"How2Escape"},{n:"碧蓝幻想:Relink",v:"Relink"},{n:"漫威蜘蛛侠2",v:"MarvelSpiderman2"},{n:"王权与自由",v:"ThroneandLiberty"},{n:"博德之门3",v:"BG3"},{n:"Eternights",v:"Eternights"},{n:"Project F",v:"ProjectF"},{n:"BaldMan Climbs Up",v:"BaldManClimbsUp"},{n:"FC24",v:"FC24"},{n:"NBA 2K24",v:"NBA2K24"},{n:"沉没之地",v:"Sunkenland"},{n:"七日世界",v:"qrsj"},{n:"雾锁王国",v:"wswg"}]}],syxx:[{key:"cateId",name:"分类",value:[{n:"元梦之星",v:"YMZX"},{n:"王者荣耀",v:"wzry"},{n:"LOL手游",v:"LOLM"},{n:"崩坏:星穹铁道",v:"bhxqtd"},{n:"和平精英",v:"hpjy"},{n:"暗区突围",v:"aqtw"},{n:"蛋仔派对",v:"dzpd"},{n:"高能英雄",v:"gnyx"},{n:"幻塔",v:"ht"},{n:"火影忍者",v:"hyrz"},{n:"COD手游",v:"smzhsy"},{n:"lol电竞经理",v:"EGAME"},{n:"DNF手游",v:"mdnf"},{n:"金铲铲之战",v:"JGAME"},{n:"天刀手游",v:"tdsy"},{n:"原神",v:"yuanshen"},{n:"航海王热血航线",v:"HHWRXHX"},{n:"逆水寒手游",v:"NSHM"},{n:"万国觉醒",v:"wgjx"},{n:"鸿图之下",v:"htzx"},{n:"欢乐麻将",v:"HLMJ"},{n:"王者模拟战",v:"wzrpg"},{n:"中国象棋",v:"ZGXQ"},{n:"天谕手游",v:"tysy"},{n:"巅峰坦克",v:"DFTK"},{n:"新游中心",v:"xyzx"},{n:"热门手游",v:"phone"},{n:"梦幻手游",v:"mhxy"},{n:"QQ飞车",v:"qqfcsy"},{n:"第五人格",v:"dwrg"},{n:"欢乐斗地主",v:"hlddz"},{n:"荒野乱斗",v:"hyld"},{n:"阴阳师",v:"yys"},{n:"狼人杀",v:"LRS"},{n:"JJ斗地主",v:"jj"},{n:"梦幻新诛仙",v:"mhxzx"},{n:"街霸对决",v:"jbdj"},{n:"机动都市阿尔法",v:"jddsaef"},{n:"一人之下",v:"yrzx"},{n:"多多自走棋",v:"zzq"},{n:"崩坏3",v:"bhxl"},{n:"风云岛行动",v:"fydxd"},{n:"云游戏",v:"cloudgame"},{n:"跑跑手游",v:"PPKDCSY"},{n:"率土之滨",v:"stzb"},{n:"灌篮高手",v:"glgs"},{n:"皇室战争",v:"hszz"},{n:"忍者必须死3",v:"rzbxs3"},{n:"神武4手游",v:"sw3"},{n:"梦幻模拟战",v:"mhmnz"},{n:"实况足球",v:"skzq"},{n:"剑与远征",v:"jyyz"},{n:"航海王:燃烧意志",v:"hhwrsyz"},{n:"球球大作战",v:"qqdzz"},{n:"英雄杀",v:"yxs"},{n:"魔域口袋版",v:"mykdb"},{n:"口袋新旅程",v:"KDXLC"},{n:"剑网3:指尖江湖",v:"jw3zjjh"},{n:"部落冲突",v:"blct"},{n:"剑与家园",v:"jyjy"},{n:"新笑傲江湖",v:"xxajh"},{n:"猫和老鼠",v:"mhls"},{n:"猎人手游",v:"lrlr"},{n:"明日之后",v:"mrzh"},{n:"影之诗",v:"yzs"},{n:"决战平安京",v:"jzpaj"},{n:"魂斗罗归来",v:"DLHGL"},{n:"贪吃蛇大作战",v:"tcsdzz"},{n:"圣斗士星矢",v:"sdsxs"},{n:"魔力宝贝手游",v:"mlbbsy"},{n:"哈利波特:魔法觉醒",v:"HarryPotter"},{n:"手游推广",v:"rmsy"},{n:"魔灵召唤",v:"mlzh"},{n:"香肠派对",v:"xcpd"},{n:"迷你世界",v:"MNSJ"},{n:"荒野行动",v:"hyxd"},{n:"大话西游2口袋版",v:"dhxy2kdb"},{n:"FC足球世界",v:"FCZQSJ"},{n:"街篮",v:"jl"},{n:"一起来捉妖",v:"yiqilaizhuoyao"},{n:"明日方舟",v:"mrfz"},{n:"自由幻想手游",v:"zyhx"},{n:"一梦江湖",v:"ymjh"},{n:"王牌战争:文明重启",v:"wmcq"},{n:"完美世界手游",v:"wmsjsy"},{n:"拳皇98OL",v:"kof98"},{n:"赛尔号",v:"srh"},{n:"猎魂觉醒",v:"lhjx"},{n:"仙境传说",v:"xjcs"},{n:"逃跑吧少年",v:"tpbsn"},{n:"石器时代",v:"sqsd"},{n:"英魂之刃口袋版",v:"yh"},{n:"拉结尔",v:"lje"},{n:"倩女幽魂手游",v:"qnyhsy"},{n:"决斗之城2",v:"jdzc2"},{n:"传奇手游",v:"cqsy"},{n:"欢乐升级",v:"hlsj"},{n:"雀魂",v:"Majsoul"},{n:"二次元手游",v:"ecysy"},{n:"天龙八部online",v:"tianlongbabuonline"},{n:"征途2手游",v:"zt2sy"},{n:"万王之王3D",v:"wwzw3D"},{n:"武林外传",v:"wlwz"},{n:"我叫MT4",v:"MT4"},{n:"元气骑士",v:"yuanqiqishi"},{n:"红警OL手游",v:"hjolsy"},{n:"植物大战僵尸手游",v:"ZWDZJS"},{n:"龙之谷手游",v:"lzgsy"},{n:"创造与魔法",v:"ccymf"},{n:"境界-死神激斗",v:"jjssjd"},{n:"奇迹觉醒",v:"qjjx"},{n:"光遇",v:"skygy"},{n:"游戏王:决斗链接",v:"yxwjdlj"},{n:"巅峰战舰",v:"dfzj"},{n:"绝世战魂",v:"jszh"},{n:"寻仙",v:"xunxian"},{n:"天天象棋",v:"ttxq"},{n:"王国纪元",v:"wgjy"},{n:"龙族幻想",v:"lzhx"},{n:"剑网3指尖对弈",v:"jwszjdy"},{n:"剑侠情缘2:剑歌行",v:"jianxiaqingyuan"},{n:"三国杀移动版",v:"SGSSY"},{n:"罗布乐思",v:"Roblox"},{n:"足球手游",v:"zqsy"},{n:"月圆之夜",v:"yyzy"},{n:"王牌战争",v:"wpzz"},{n:"秦时明月世界",v:"qsmysj"},{n:"独立手游",v:"dlsy"},{n:"神都夜行录",v:"sdyxl"},{n:"风之大陆",v:"fzdl"},{n:"金属对决",v:"jsdj"},{n:"轩辕剑龙舞云山",v:"xyjlwys"},{n:"微乐棋牌",v:"WLQP"},{n:"辐射:避难所Online",v:"fsbnsonline"},{n:"街篮2",v:"jl2"},{n:"极光计划",v:"jgjh"},{n:"不良人3",v:"blr3"},{n:"镇魔曲手游",v:"zmq"},{n:"传奇世界手游",v:"cqsjsy"},{n:"永恒纪元",v:"yhjy"},{n:"乱世王者",v:"lswz"},{n:"数码宝贝:相遇",v:"smbbxy"},{n:"仙剑4",v:"xjqxz4"},{n:"长安幻世绘",v:"cahsh"},{n:"篮球手游",v:"lqsy"},{n:"鬼泣-巅峰之战",v:"gqdfzz"},{n:"射击类手游",v:"qtsy"},{n:"命运歌姬",v:"mygj"},{n:"光明大陆",v:"gmdl"},{n:"暗黑不朽",v:"diabloimmortal"},{n:"新神魔大陆",v:"xsmdl"},{n:"公主连结Re:Dive",v:"gzlj"},{n:"三国志战略版",v:"sgzzlb"},{n:"天地劫:幽城再临",v:"tdj"},{n:"Disorder",v:"Disorder"},{n:"凹凸世界",v:"atsj"},{n:"云上城之歌",v:"ysczg"},{n:"五子棋",v:"wzq"},{n:"围棋",v:"wq"},{n:"梦想新大陆",v:"mxxdl"},{n:"三国志幻想大陆:国创加强版",v:"sgzhxdl"},{n:"全球行动",v:"qqxd"},{n:"诛仙手游",v:"zxsy"},{n:"妄想山海",v:"wxsh"},{n:"黎明觉醒:生机",v:"lmjx"},{n:"龙之谷2手游",v:"lzg2sy"},{n:"庆余年",v:"QYN"},{n:"我的侠客",v:"wdxk"},{n:"曙光英雄",v:"sgyx"},{n:"真三国无双霸",v:"zsgwsb"},{n:"大话西游手游",v:"dhxysy"},{n:"口袋进化",v:"kdjh"},{n:"开心消消乐",v:"kxxxl"},{n:"战争怒吼",v:"zznh"},{n:"忘川风华录",v:"wcfhl"},{n:"新剑侠情缘手游",v:"xjxqysy"},{n:"重生细胞",v:"csxb"},{n:"汉家江湖",v:"HJJH"},{n:"海岛奇兵",v:"hdqb"},{n:"钢铁力量2",v:"gtll2"},{n:"仙剑奇侠传九野",v:"xjqxzjy"},{n:"魔域手游",v:"mysy"},{n:"大唐无双手游",v:"dtwssy"},{n:"地铁跑酷",v:"dtpk"},{n:"战舰世界闪击战",v:"zjsjsjz"},{n:"狂暴之翼",v:"kbzy"},{n:"西游女儿国",v:"xyneg"},{n:"少年三国志",v:"snsgz"},{n:"钢琴师",v:"gqs"},{n:"横扫千军",v:"hsqj"},{n:"节奏大爆炸",v:"jzdbz"},{n:"喵斯快跑",v:"mskp"},{n:"双子",v:"sz"},{n:"梦想世界3手游",v:"mxsj3"},{n:"精灵之境",v:"jlzj"},{n:"镇魂街:武神躯",v:"zhjwsq"},{n:"斗罗大陆:斗神再临",v:"dldldszl"},{n:"斗罗大陆:武魂觉醒",v:"dldlwhjx"},{n:"斗罗大陆2绝世唐门",v:"dldl2jstm"},{n:"战神觉醒",v:"zsjx"},{n:"九州仙剑传H5",v:"jzxjzh5"},{n:"荣耀大天使",v:"rydts"},{n:"蓝月传奇",v:"lycq"},{n:"凡人修仙传挂机版H5",v:"frxxzgjbh5"},{n:"我的帝国H5",v:"wddgh5"},{n:"盗墓笔记",v:"dmbj"},{n:"剑与轮回",v:"jylh"},{n:"混沌起源",v:"hdqy"},{n:"大天使之剑",v:"dtszj"},{n:"战斗少女跑酷",v:"zdsnpk"},{n:"绝世仙王",v:"jsxw"},{n:"一刀传世",v:"ydcs"},{n:"斗罗大陆",v:"dldl"},{n:"破雪刃",v:"pxr"},{n:"JJ象棋",v:"jjxq"},{n:"天姬变",v:"tjb"},{n:"剑玲珑",v:"jll"},{n:"火线精英",v:"hxjy"},{n:"造梦西游OL",v:"zmxyol"},{n:"奥奇传说手游",v:"aqcssy"},{n:"战斗吧龙魂",v:"zdblh"},{n:"剑开仙门",v:"jkxm"},{n:"机甲爱丽丝",v:"jjals"},{n:"狼人对决",v:"lrdj"},{n:"最终幻想:勇气启示录 幻影战争",v:"hyzz"},{n:"贝比岛",v:"bbd"},{n:"葫芦娃兄弟",v:"hlwxd"},{n:"造梦西游4",v:"zmxy4"},{n:"比特小队",v:"btxd"},{n:"流言侦探",v:"lyzt"},{n:"少女前线",v:"snqx"},{n:"遇见",v:"yj"},{n:"霓虹深渊:无限",v:"nhsywx"},{n:"胡莱三国3",v:"hlsg3"},{n:"奥拉星",v:"alx"},{n:"先游云游戏",v:"Gamer"},{n:"绿茵信仰",v:"lyxy"},{n:"蜀山掌门",v:"sszm"},{n:"球球联盟",v:"qqlm"},{n:"碧蓝航线手游",v:"blhxsy"},{n:"300大作战",v:"300dzz"},{n:"第七史诗",v:"dqss"},{n:"宝可梦大集结",v:"PokemonUNITE"},{n:"无极仙途",v:"wjxt"},{n:"汉末霸业",v:"hmby"},{n:"EVE星战前夜:无烬星河",v:"evexzqywjxh"},{n:"少女前线2:追放",v:"sq2zf"},{n:"火力苏打(T3)",v:"T3"},{n:"植物大战僵尸2",v:"zwdzjs2"},{n:"球球英雄",v:"qqyx"},{n:"悠长假期",v:"ycjq"},{n:"无悔华夏",v:"whrhx"},{n:"猫之城",v:"mzc"},{n:"墨斗",v:"modou"},{n:"圣斗士星矢:正义传说",v:"sdsxszyz"},{n:"未定事件簿",v:"wdsjp"},{n:"白夜极光",v:"byjg"},{n:"斗罗大陆:魂师对决",v:"dldlhsdj"},{n:"古墓丽影传说:迷踪",v:"gmlycsmz"},{n:"放置与召唤",v:"fzyzh"},{n:"闪烁之光",v:"syzg"},{n:"老农种树",v:"lnzs"},{n:"三国演义:吞噬无界",v:"sgyytswj"},{n:"偶像梦幻祭2",v:"oxmhj2"},{n:"卡卡保皇",v:"kkbh"},{n:"灵猫传",v:"lmz"},{n:"绝对演绎",v:"jdyy"},{n:"剑侠世界3",v:"jxsj3"},{n:"召唤与合成2",v:"zhyhc2"},{n:"仙侠第一放置",v:"xxdyfz"},{n:"弓箭手大作战",v:"gjsdzz"},{n:"挨饿荒野",v:"aehy"},{n:"诺亚之心",v:"nyzx"},{n:"闪耀暖暖",v:"synn"},{n:"模拟城市:我是市长",v:"mncswssc"},{n:"重返帝国",v:"cfdg"},{n:"长安幻想",v:"cahx"},{n:"火炬之光:无限",v:"hjzgwx"},{n:"富豪闯三国",v:"fhcsg"},{n:"拂晓",v:"fx"},{n:"火影忍者:忍者新世代",v:"hyrzrzxsd"},{n:"滚动的天空",v:"gddtk"},{n:"新斗罗大陆",v:"xdldl"},{n:"登山赛车",v:"dssc"},{n:"荒野乱斗(腾讯版)",v:"hyldtxb"},{n:"小小勇者",v:"xxyz"},{n:"小冰冰传奇",v:"xbbcq"},{n:"三国战纪2手游",v:"sgzj2"},{n:"我的战舰",v:"wdzj"},{n:"我是大东家",v:"wsddj"},{n:"幸存者危城",v:"xczwc"},{n:"暗魔领主",v:"amlz"},{n:"冒险公社手游",v:"mxgs"},{n:"欧陆战争5:帝国",v:"olzz5dg"},{n:"纪念碑谷2",v:"jnbg2"},{n:"大航海探险物语",v:"dhhtxwy"},{n:"我在7年后等着你",v:"wz7nhdzn"},{n:"航海日记",v:"hhrj"},{n:"一拳超人:最强之男",v:"yqcrzqzn"},{n:"王国保卫战4",v:"wgbwz4"},{n:"半世界之旅",v:"bsjzl"},{n:"奥特曼宇宙英雄",v:"atmyzyx"},{n:"新三国杀",v:"xsgs"},{n:"奶块",v:"nk"},{n:"策魂三国",v:"chsg"},{n:"奥特曼系列OL",v:"atmxlol"},{n:"洪荒文明",v:"hhwm"},{n:"街头足球",v:"jtzq"},{n:"同人圣三国蜀汉传",v:"trssgshc"},{n:"我做夫人那些年",v:"wzfrnxn"},{n:"小小五千年",v:"xxwqn"},{n:"实况球会经理",v:"skqhjl"},{n:"时空猎人",v:"sklr"},{n:"星际逆战",v:"xjnz"},{n:"LoveLive! 学园偶像祭",v:"lovelivexyoxj"},{n:"黑色沙漠手游",v:"hesmsy"},{n:"魔力宝贝:旅人",v:"mlbblr"},{n:"盾之勇者成名录:浪潮",v:"dzyzcmllc"},{n:"魔力宝贝归来",v:"mlbbgl"},{n:"荣耀新三国",v:"ryxsg"},{n:"巅峰极速",v:"dfjs"},{n:"新盗墓笔记",v:"xdmbj"},{n:"卧龙吟2",v:"wly2"},{n:"武林闲侠",v:"wlxx"},{n:"淘米游戏",v:"tmyx"},{n:"暖雪",v:"warmsnow"},{n:"无期迷途",v:"wqmt"},{n:"逆光潜入",v:"ngqr"},{n:"CF手游",v:"CFSY"},{n:"新天龙八部手游",v:"xtlbbsy"},{n:"无神之界",v:"wszj"},{n:"尘白禁区",v:"cbjq"},{n:"传奇天下",v:"CQTX"},{n:"全民大灌篮",v:"qmdgl"},{n:"枪火重生手游",v:"GunfireReborn"},{n:"火影三国志",v:"g_hysg"},{n:"网易其它组",v:"g_wyqt"},{n:"三国战纪手游",v:"sgzjsy"},{n:"染·钟楼谜团",v:"BOTC"},{n:"绝区零",v:"jql"},{n:"魔兽弧光大作战",v:"warcraftrumble"},{n:"重返CODM",v:"RECODM"},{n:"综合手游",v:"zhsy"},{n:"IP游戏",v:"ipyx"},{n:"鸣潮",v:"cm"},{n:"棋牌游戏",v:"QPYX"},{n:"奥比岛:梦想国度",v:"abdmxgd"},{n:"铃兰之剑",v:"llzjwzhpdsj"},{n:"晶核",v:"jhcoa"},{n:"星之破晓",v:"dhpx"},{n:"赛尔计划",v:"srjh"},{n:"SLG综合",v:"SLG"},{n:"代号:伙伴",v:"DHGB"},{n:"天使之战",v:"tszz"},{n:"全明星街球派对",v:"hoopheroes"},{n:"合金弹头:觉醒",v:"MetalSlug"},{n:"白荆回廊",v:"BJHL"},{n:"三国志战棋版",v:"g_sgzzqb"},{n:"鹅鸭杀手游",v:"GooseDuck"},{n:"太空杀",v:"SuperSus"},{n:"天龙八部2:飞龙战天",v:"tlbb2flzt"},{n:"西行纪 燃魂",v:"xxjrh"},{n:"决胜巅峰",v:"jueshengdianfeng"},{n:"冒险岛:枫之传说",v:"MapleStory"},{n:"石器时代:觉醒",v:"sqsdjx"},{n:"星球:重启",v:"xqcq"},{n:"决战玛法",v:"jzmf"},{n:"二次元游戏",v:"ECYYX"},{n:"圣境之塔",v:"sjzt"},{n:"传说法师手游",v:"CSFSSY"},{n:"钢岚",v:"Mecharashi"},{n:"勇闯三国",v:"ycsg"},{n:"绯色回响",v:"fshxgf"},{n:"三国:谋定天下",v:"sgmdtx"}]}],kjwh:[{key:"cateId",name:"分类",value:[{n:"数码科技",v:"smkj"},{n:"纪录片",v:"jlp"},{n:"成年教育",v:"jiaoyu"},{n:"人文社科",v:"Humanities"}]}],yp:[{key:"cateId",name:"分类",value:[{n:"派对",v:"paidui"},{n:"心动FM.",v:"DIANT"},{n:"一起玩",v:"yiqiwan"}]}],voice:[{key:"cateId",name:"分类",value:[{n:"语音交友",v:"yyjy"},{n:"音乐之声",v:"yyzs"},{n:"连麦互动",v:"lianmaihudong"},{n:"娱乐开黑",v:"ylkh"}]}]},filter_def:{yl:{cateId:"yqk"},PCgame:{cateId:"LOL"},djry:{cateId:"TVgame"},syxx:{cateId:"wzry"},yz:{cateId:"yz"},kjwh:{cateId:"smkj"},yp:{cateId:"yiqiwan"},voice:{cateId:"yyzs"},znl:{cateId:"znl"}},class_name:"娱乐天地&网游竞技&单机热游&手游休闲&颜值&科技文化&语音互动&语音直播&正能量",class_url:"yl&PCgame&djry&syxx&yz&kjwh&yp&voice&znl",detailUrl:"https://m.douyu.com/fyid?dyshid=0-1c6d52c74b1e6bec7aa63a8e000617p1&dyshci=181",searchUrl:"/api/search/liveRoom?#did=10000000000000000000000000001501&limit=20&offset=0&sk=**;post",searchable:2,quickSearch:0,headers:{"User-Agent":"MOBILE_UA"},timeout:5e3,limit:8,play_parse:!0,lazy:"","推荐":"js:\n let d = [];\n let jo = JSON.parse(request(input)).data;\n jo.forEach((it,idex) => {\n let slist = jo[idex].list ;\n slist.forEach(it => {\n d.push({\n url: it.rid,\n title: it.roomName,\n img: it.roomSrc,\n desc: '👁' + it.hn + ' 🆙' + it.nickname,\n })\n });\n });\n setResult(d);\n ","一级":"js:\n let d = [];\n let jo = JSON.parse(request(input)).data.list;\n jo.forEach(it => {\n d.push({\n url: it.rid,\n title: it.roomName,\n img: it.roomSrc,\n desc: '👁' + it.hn + ' 🆙' + it.nickname,\n })\n });\n setResult(d);\n ", + + 二级:'*', + +"搜索":"js:\n var d = [];\n let rurls = input.split(';')[0].split('#');\n let rurl = rurls[0];\n let params = rurls.length > 1 ?rurls[1]:'';\n let _fetch_params = JSON.parse(JSON.stringify(rule_fetch_params));\n let postData = {body:params};\n Object.assign(_fetch_params,postData);\n let jo = JSON.parse(post(rurl,_fetch_params)).data.list;\n jo.forEach(it => {\n d.push({\n url: it.roomId,\n title: it.roomName,\n img: it.roomSrc,\n desc: '👁' + it.hn + ' 🆙' + it.nickname,\n })\n });\n setResult(d);\n ",sniffer:1,isVideo:"js:\n log(input);\n if(/\\/huya/.test(input)) {\n input = true\n } else if(/\\.flv?|\\.m3u8?|\\.mp4?/.test(input)){\n input = true\n }else{\n input = false\n }\n "}; \ No newline at end of file diff --git a/tvboxqq/tvboxqq/饭太硬/js/虎牙.js b/tvboxqq/tvboxqq/饭太硬/js/虎牙.js new file mode 100644 index 0000000..f471f23 --- /dev/null +++ b/tvboxqq/tvboxqq/饭太硬/js/虎牙.js @@ -0,0 +1,1651 @@ +var rule = { + title: "虎牙直播", + host: "https://www.huya.com", + homeUrl: "/cache.php?m=LiveList&do=getLiveListByPage&gameId=2168&tagAll=0&page=1", + url: "/cache.php?m=LiveList&do=getLiveListByPage&gameId=fyfilter&tagAll=0&page=fypage", + class_name: "娱乐&网游&单机&手游", + class_url: "8&1&2&3", + detailUrl: "https://m.huya.com/fyid", + filterable: 1, + filter_url: "{{fl.cateId}}", + filter_def: { + 8: { + cateId: "2135" + }, + 1: { + cateId: "1" + }, + 2: { + cateId: "1732" + }, + 3: { + cateId: "2336" + } + }, + filter: { + 8: [{ + key: "cateId", + name: "分类", + value: [{ + n: "星秀", + v: "1663" + }, { + n: "户外", + v: "2165" + }, { + n: "一起看", + v: "2135" + }, { + n: "二次元", + v: "2633" + }, { + n: "虚拟偶像", + v: "6055" + }, { + n: "旅游", + v: "6791" + }, { + n: "放映厅", + v: "6245" + }, { + n: "娱乐天地", + v: "100022" + }, { + n: "交友", + v: "4079" + }, { + n: "组队", + v: "5367" + }, { + n: "吃喝玩乐", + v: "100044" + }, { + n: "原创", + v: "6861" + }, { + n: "虎牙文化", + v: "4089" + }, { + n: "体育", + v: "2356" + }, { + n: "虎牙地方", + v: "5123" + }, { + n: "颜值", + v: "2168" + }, { + n: "科技", + v: "2408" + }, { + n: "音乐", + v: "3793" + }, { + n: "趣分享", + v: "5883" + }, { + n: "一起买", + v: "7759" + }, { + n: "派对", + v: "7785" + }] + }], + 1: [{ + key: "cateId", + name: "分类", + value: [{ + n: "英雄联盟", + v: "1" + }, { + n: "CS2", + v: "862" + }, { + n: "穿越火线", + v: "4" + }, { + n: "lol云顶之弈", + v: "5485" + }, { + n: "无畏契约", + v: "5937" + }, { + n: "CFHD", + v: "6079" + }, { + n: "逆战", + v: "135" + }, { + n: "炉石传说", + v: "393" + }, { + n: "DOTA2", + v: "7" + }, { + n: "地下城与勇士", + v: "2" + }, { + n: "魔兽世界", + v: "8" + }, { + n: "坦克世界", + v: "802" + }, { + n: "DOTA1", + v: "6" + }, { + n: "梦三国", + v: "489" + }, { + n: "魔兽争霸3", + v: "4615" + }, { + n: "问道", + v: "107" + }, { + n: "命运方舟", + v: "3058" + }, { + n: "QQ飞车", + v: "9" + }, { + n: "星际争霸", + v: "5" + }, { + n: "网游竞技", + v: "100023" + }, { + n: "射击综合游戏", + v: "100141" + }, { + n: "暴雪专区", + v: "100043" + }, { + n: "彩虹岛Online", + v: "683" + }, { + n: "剑灵", + v: "897" + }, { + n: "军事游戏", + v: "100133" + }, { + n: "冒险岛", + v: "2243" + }, { + n: "暗黑破坏神", + v: "1123" + }, { + n: "诛仙3", + v: "1646" + }, { + n: "热血江湖", + v: "387" + }, { + n: "英魂之刃", + v: "1830" + }, { + n: "武林外传一世琴缘", + v: "1661" + }, { + n: "起凡:群雄逐鹿", + v: "1612" + }, { + n: "神武4电脑版", + v: "3227" + }, { + n: "龙之谷", + v: "15" + }, { + n: "炉石战棋", + v: "5751" + }, { + n: "御龙在天", + v: "675" + }, { + n: "逆水寒", + v: "2952" + }, { + n: "千年3", + v: "878" + }, { + n: "永恒之塔", + v: "446" + }, { + n: "体育游戏", + v: "100135" + }, { + n: "寻仙", + v: "734" + }, { + n: "战舰世界", + v: "1947" + }, { + n: "QQ三国", + v: "1090" + }, { + n: "流放之路", + v: "427" + }, { + n: "反恐精英Online", + v: "1918" + }, { + n: "反恐行动online", + v: "861" + }, { + n: "征途", + v: "2715" + }, { + n: "战争雷霆", + v: "624" + }, { + n: "丝路传说2", + v: "1026" + }, { + n: "星际战甲", + v: "627" + }, { + n: "NBA2KOL系列", + v: "3959" + }, { + n: "九阴真经", + v: "1009" + }, { + n: "跑跑卡丁车", + v: "162" + }, { + n: "诛仙世界", + v: "7749" + }, { + n: "QQ华夏", + v: "1878" + }, { + n: "天涯明月刀", + v: "1219" + }, { + n: "大话西游:归来", + v: "8239" + }, { + n: "荒野行动PC版", + v: "3185" + }, { + n: "新剑侠情缘", + v: "586" + }, { + n: "剑网3", + v: "900" + }, { + n: "生死狙击2", + v: "6091" + }, { + n: "全球使命", + v: "939" + }, { + n: "梦想世界3", + v: "486" + }, { + n: "枪神纪", + v: "496" + }, { + n: "新天龙八部", + v: "5671" + }, { + n: "铁甲雄兵", + v: "2765" + }, { + n: "神泣", + v: "2531" + }, { + n: "斗战神", + v: "591" + }, { + n: "造梦西游OL", + v: "6815" + }, { + n: "天堂", + v: "1966" + }, { + n: "大话西游2", + v: "2975" + }, { + n: "使命召唤:战区", + v: "5911" + }, { + n: "希望OL", + v: "1161" + }, { + n: "极光世界 弑神传", + v: "514" + }, { + n: "守望先锋归来", + v: "2174" + }, { + n: "QQ自由幻想", + v: "1862" + }, { + n: "命运2", + v: "2942" + }, { + n: "奇迹世界2", + v: "766" + }, { + n: "坦克大战", + v: "4359" + }, { + n: "生死狙击", + v: "2471" + }, { + n: "天翼决", + v: "779" + }, { + n: "QQ幻想", + v: "2419" + }, { + n: "新飞飞(FlyFF)", + v: "1582" + }, { + n: "刀剑英雄", + v: "915" + }, { + n: "FIFA Online系列", + v: "100079" + }, { + n: "全球使命3", + v: "2953" + }, { + n: "完美端游系列", + v: "3034" + }, { + n: "战意", + v: "2599" + }, { + n: "泡泡堂", + v: "440" + }, { + n: "赛尔号", + v: "2755" + }, { + n: "大唐无双零", + v: "1584" + }, { + n: "QQ炫舞", + v: "2440" + }, { + n: "007:传奇", + v: "1135" + }, { + n: "天下", + v: "1597" + }, { + n: "天谕", + v: "1899" + }, { + n: "新倩女幽魂", + v: "1579" + }, { + n: "传世无双", + v: "984" + }, { + n: "剑侠世界", + v: "903" + }, { + n: "Warhaven", + v: "9053" + }, { + n: "诺亚传说", + v: "190" + }, { + n: "新挑战", + v: "583" + }, { + n: "超激斗梦境", + v: "5691" + }, { + n: "QQ音速", + v: "1085" + }, { + n: "征途2", + v: "677" + }, { + n: "征程", + v: "678" + }, { + n: "蜀门", + v: "4711" + }, { + n: "完美世界:诸神之战", + v: "7217" + }, { + n: "战之刃:幸存者", + v: "8627" + }, { + n: "黎明之光", + v: "41" + }, { + n: "天命西游", + v: "1086" + }, { + n: "炫舞时代", + v: "3353" + }, { + n: "荣誉空间", + v: "225" + }, { + n: "卡拉彼丘", + v: "9073" + }, { + n: "成吉思汗怀旧版", + v: "640" + }, { + n: "英雄年代3", + v: "1232" + }, { + n: "天书奇谈", + v: "2225" + }, { + n: "劲舞团", + v: "2420" + }, { + n: "远征Online梦想版", + v: "142" + }, { + n: "奇迹:传奇", + v: "3917" + }, { + n: "封印者", + v: "2294" + }, { + n: "上古世纪", + v: "1046" + }, { + n: "梦幻诛仙2", + v: "488" + }, { + n: "TERA Online", + v: "1072" + }, { + n: "倚天Ⅱ", + v: "959" + }, { + n: "街头篮球", + v: "206" + }, { + n: "永恒轮回:无限", + v: "7847" + }, { + n: "火线精英", + v: "2550" + }, { + n: "忍者村大战2", + v: "2369" + }, { + n: "领地人生", + v: "2282" + }, { + n: "仙侠世界", + v: "995" + }, { + n: "洛奇英雄传", + v: "432" + }, { + n: "KARDS", + v: "8261" + }, { + n: "无限法则", + v: "3189" + }, { + n: "全面战争:竞技场", + v: "5901" + }, { + n: "自由篮球", + v: "243" + }, { + n: "FC Online4", + v: "3683" + }, { + n: "战地之王", + v: "618" + }, { + n: "古剑奇谭OL", + v: "1892" + }, { + n: "QQ仙侠传", + v: "2291" + }, { + n: "300英雄", + v: "1132" + }] + }], + 2: [{ + key: "cateId", + name: "分类", + value: [{ + n: "天天吃鸡", + v: "2793" + }, { + n: "永劫无间", + v: "6219" + }, { + n: "主机游戏", + v: "100032" + }, { + n: "猛兽派对", + v: "6165" + }, { + n: "互动点播", + v: "5907" + }, { + n: "我的世界", + v: "1732" + }, { + n: "方舟", + v: "1997" + }, { + n: "单机热游", + v: "100002" + }, { + n: "怀旧游戏", + v: "100125" + }, { + n: "逃离塔科夫", + v: "3493" + }, { + n: "俄罗斯钓鱼4", + v: "5495" + }, { + n: "部落:上升", + v: "1318" + }, { + n: "Dark and Darker", + v: "7905" + }, { + n: "The Front", + v: "9497" + }, { + n: "Apex英雄", + v: "5011" + }, { + n: "生化危机4重制版", + v: "8013" + }, { + n: "DayZ独立版", + v: "1125" + }, { + n: "星空", + v: "7857" + }, { + n: "互动剧游", + v: "6919" + }, { + n: "艾尔登法环", + v: "5801" + }, { + n: "恐惧之间", + v: "6679" + }, { + n: "SCUM", + v: "4245" + }, { + n: "Dread Hunger", + v: "7601" + }, { + n: "塞尔达传说:王国之泪", + v: "7883" + }, { + n: "欧洲卡车模拟", + v: "475" + }, { + n: "洛克王国", + v: "2864" + }, { + n: "卧龙:苍天陨落", + v: "7859" + }, { + n: "无人深空", + v: "2566" + }, { + n: "帝国神话", + v: "6821" + }, { + n: "饥荒", + v: "74" + }, { + n: "森林之子", + v: "7943" + }, { + n: "星球大战系列", + v: "554" + }, { + n: "极限竞速:地平线", + v: "2634" + }, { + n: "最终幻想16", + v: "7869" + }, { + n: "Among Us", + v: "6163" + }, { + n: "怪物猎人:崛起", + v: "6479" + }, { + n: "怪物猎人物语", + v: "7101" + }, { + n: "骑马与砍杀系列", + v: "4783" + }, { + n: "荒野大镖客2", + v: "4319" + }, { + n: "太荒初境", + v: "7685" + }, { + n: "罗布乐思", + v: "5771" + }, { + n: "只狼:影逝二度", + v: "4505" + }, { + n: "双人成行", + v: "6737" + }, { + n: "重生边缘", + v: "6201" + }, { + n: "海贼王 寻秘世界", + v: "5097" + }, { + n: "战神:诸神黄昏", + v: "7771" + }, { + n: "恐鬼症", + v: "6205" + }, { + n: "鬼谷八荒", + v: "6571" + }, { + n: "霍格沃茨之遗", + v: "7881" + }, { + n: "全面战争", + v: "3521" + }, { + n: "仁王2", + v: "5795" + }, { + n: "奥拉星", + v: "2846" + }, { + n: "甜蜜之家", + v: "6739" + }, { + n: "仙剑奇侠传七", + v: "6509" + }, { + n: "消逝的光芒2", + v: "7581" + }, { + n: "渡神记", + v: "6231" + }, { + n: "归家异途", + v: "2949" + }, { + n: "博德之门3", + v: "6147" + }, { + n: "看门狗:军团", + v: "6155" + }, { + n: "使命召唤系列", + v: "100137" + }, { + n: "育碧游戏", + v: "100139" + }, { + n: "帝国时代4", + v: "4835" + }, { + n: "英灵神殿", + v: "6609" + }, { + n: "蛮荒志异:起源", + v: "9709" + }, { + n: "岛", + v: "3019" + }, { + n: "沙盒与副本", + v: "9151" + }, { + n: "扫雷", + v: "2349" + }, { + n: "街机游戏", + v: "5999" + }, { + n: "幽灵线:东京", + v: "7669" + }, { + n: "怪物猎人世界", + v: "3519" + }, { + n: "盗贼之海", + v: "3641" + }, { + n: "纸人", + v: "5257" + }, { + n: "黑色像素人", + v: "28" + }, { + n: "对马岛之魂", + v: "6039" + }, { + n: "瑞奇与叮当", + v: "2455" + }, { + n: "港诡实录", + v: "5853" + }, { + n: "剑士", + v: "1467" + }, { + n: "魔法门之英雄无敌系列", + v: "2096" + }, { + n: "星露谷物语", + v: "2443" + }, { + n: "仙剑奇侠传四", + v: "1659" + }, { + n: "伤害世界", + v: "2337" + }, { + n: "禁闭求生", + v: "6065" + }, { + n: "真三国无双", + v: "1599" + }, { + n: "恐怖黎明", + v: "3435" + }, { + n: "其他单机", + v: "3069" + }, { + n: "幽灵行动:荒野", + v: "2794" + }, { + n: "边缘", + v: "151" + }, { + n: "阿凡达", + v: "106" + }, { + n: "全面战争:三国", + v: "3004" + }, { + n: "黎明之星", + v: "40" + }, { + n: "翼星求生", + v: "7463" + }, { + n: "黎明传说", + v: "39" + }, { + n: "恶魔之魂", + v: "6151" + }, { + n: "艾兰岛", + v: "3855" + }, { + n: "龙与地下城:秘影历代记HD", + v: "17" + }, { + n: "龙与地下城:匕首谷", + v: "18" + }, { + n: "沙石镇时光", + v: "7687" + }, { + n: "三国志曹操传", + v: "2592" + }, { + n: "FIFA足球", + v: "1888" + }, { + n: "最终幻想7:重制版", + v: "5809" + }, { + n: "四海兄弟", + v: "5995" + }, { + n: "最终幻想:起源", + v: "7653" + }, { + n: "摔跤城大乱斗", + v: "7773" + }, { + n: "音乐游戏", + v: "2761" + }, { + n: "精灵与萤火意志", + v: "5895" + }, { + n: "桥梁建造师", + v: "3275" + }, { + n: "哈迪斯", + v: "6153" + }, { + n: "小缇娜的奇幻之地", + v: "7647" + }, { + n: "宝可梦:剑盾", + v: "5715" + }, { + n: "边境", + v: "4779" + }, { + n: "人类一败涂地", + v: "3289" + }, { + n: "糖豆人:终极淘汰赛", + v: "6083" + }, { + n: "精灵宝可梦Let's Go", + v: "4375" + }, { + n: "战锤40K:暗潮", + v: "3016" + }, { + n: "石油骚动", + v: "2585" + }, { + n: "紫塞秋风", + v: "6045" + }, { + n: "阿尔比恩", + v: "8115" + }, { + n: "猎人:荒野的召唤", + v: "2906" + }, { + n: "FIFA 23", + v: "7789" + }, { + n: "都市:天际线", + v: "2201" + }, { + n: "乐高大电影:游戏版", + v: "1439" + }, { + n: "全面战争:阿提拉", + v: "2383" + }, { + n: "斩妖行", + v: "6105" + }, { + n: "马里奥赛车8", + v: "5947" + }, { + n: "复仇者联盟", + v: "6121" + }, { + n: "霓虹深渊", + v: "5743" + }] + }], + 3: [{ + key: "cateId", + name: "分类", + value: [{ + n: "王者荣耀", + v: "2336" + }, { + n: "和平精英", + v: "3203" + }, { + n: "英雄联盟手游", + v: "6203" + }, { + n: "CF手游", + v: "2413" + }, { + n: "金铲铲之战", + v: "7185" + }, { + n: "三国杀", + v: "1669" + }, { + n: "原神", + v: "5489" + }, { + n: "棋牌桌游", + v: "100036" + }, { + n: "综合手游", + v: "100029" + }, { + n: "劲乐幻想", + v: "7691" + }, { + n: "新游广场", + v: "100052" + }, { + n: "崩坏:星穹铁道", + v: "7349" + }, { + n: "火影忍者手游", + v: "2429" + }, { + n: "第五人格", + v: "3115" + }, { + n: "问道手游", + v: "2477" + }, { + n: "暗区突围", + v: "7209" + }, { + n: "QQ飞车手游", + v: "2928" + }, { + n: "球球大作战", + v: "2411" + }, { + n: "明日之后", + v: "3483" + }, { + n: "皇室战争", + v: "2439" + }, { + n: "COD手游", + v: "4769" + }, { + n: "手游休闲", + v: "100004" + }, { + n: "二次元手游", + v: "100091" + }, { + n: "摸了个鱼", + v: "9283" + }, { + n: "MMORPG", + v: "100273" + }, { + n: "动作游戏", + v: "100197" + }, { + n: "战争冲突", + v: "7449" + }, { + n: "王者模拟战", + v: "5699" + }, { + n: "逆水寒手游", + v: "7725" + }, { + n: "幻塔", + v: "6437" + }, { + n: "欢乐斗地主", + v: "1749" + }, { + n: "神武4手游", + v: "3135" + }, { + n: "阴阳师", + v: "2598" + }, { + n: "DNF手游", + v: "4921" + }, { + n: "欢乐麻将", + v: "1751" + }, { + n: "英雄联盟电竞经理", + v: "7177" + }, { + n: "狼人杀手游", + v: "100049" + }, { + n: "新天龙八部手游", + v: "6945" + }, { + n: "中国象棋", + v: "1671" + }, { + n: "天天象棋", + v: "4997" + }, { + n: "传奇世界3D", + v: "3961" + }, { + n: "御龙在天手游", + v: "2568" + }, { + n: "高能英雄", + v: "8359" + }, { + n: "天龙八部手游", + v: "2852" + }, { + n: "三国志战略版", + v: "5619" + }, { + n: "忍者必须死3", + v: "4041" + }, { + n: "SKY光遇", + v: "3719" + }, { + n: "虎牙领主争霸", + v: "7529" + }, { + n: "云上城之歌", + v: "5977" + }, { + n: "晶核", + v: "7279" + }, { + n: "仙境传说RO", + v: "2675" + }, { + n: "天天狼人", + v: "2774" + }, { + n: "JJ棋牌", + v: "3841" + }, { + n: "奇迹MU:觉醒", + v: "3116" + }, { + n: "指尖四川麻将", + v: "7215" + }, { + n: "部落冲突", + v: "1797" + }, { + n: "新剑侠情缘手游", + v: "6259" + }, { + n: "萌宠远征", + v: "9385" + }, { + n: "暗黑破坏神:不朽", + v: "6385" + }, { + n: "英雄杀", + v: "2688" + }, { + n: "热血江湖手游", + v: "2817" + }, { + n: "蛋仔派对", + v: "6909" + }, { + n: "完美世界手游", + v: "4237" + }, { + n: "巅峰战舰", + v: "2502" + }, { + n: "狼人杀", + v: "2785" + }, { + n: "斗罗大陆:魂师对决", + v: "6745" + }, { + n: "武侠乂手游", + v: "4929" + }, { + n: "诛仙手游", + v: "2647" + }, { + n: "斗破苍穹手游", + v: "4337" + }, { + n: "迷你世界", + v: "2683" + }, { + n: "风云", + v: "3061" + }, { + n: "妄想山海", + v: "6007" + }, { + n: "曙光英雄", + v: "6169" + }, { + n: "三国战纪2", + v: "6049" + }, { + n: "梦幻新诛仙", + v: "5975" + }, { + n: "黎明觉醒:生机", + v: "6131" + }, { + n: "远征", + v: "7837" + }, { + n: "航海王:燃烧意志", + v: "3943" + }, { + n: "火炬之光:无限", + v: "6399" + }, { + n: "巅峰极速", + v: "6979" + }, { + n: "圣境之塔", + v: "7055" + }, { + n: "魔力宝贝", + v: "2891" + }, { + n: "香肠派对", + v: "3639" + }, { + n: "创造与魔法", + v: "2931" + }, { + n: "JJ斗地主", + v: "6271" + }, { + n: "永恒纪元:戒", + v: "2646" + }, { + n: "天涯明月刀手游", + v: "5115" + }, { + n: "狼人杀官方", + v: "3679" + }, { + n: "混沌起源", + v: "5985" + }, { + n: "多多自走棋", + v: "5133" + }, { + n: "梦幻诛仙手游", + v: "2672" + }, { + n: "鸿图之下", + v: "6027" + }, { + n: "新笑傲江湖", + v: "5669" + }, { + n: "凡人修仙传:人界篇", + v: "8297" + }, { + n: "多乐棋牌", + v: "6209" + }, { + n: "口袋觉醒", + v: "5953" + }, { + n: "跑跑卡丁车手游", + v: "2620" + }, { + n: "奶块", + v: "2775" + }, { + n: "月圆之夜", + v: "4339" + }, { + n: "率土之滨", + v: "2691" + }, { + n: "征途2手游", + v: "2811" + }, { + n: "英魂之刃口袋版", + v: "2760" + }, { + n: "精灵盛典:黎明", + v: "6123" + }, { + n: "方舟手游", + v: "4035" + }, { + n: "掼蛋", + v: "6225" + }, { + n: "绝世仙王", + v: "6619" + }, { + n: "流星群侠传", + v: "3927" + }, { + n: "寻仙手游", + v: "2979" + }, { + n: "一梦江湖", + v: "3082" + }, { + n: "Lost Light(萤火突击国际服)", + v: "6859" + }, { + n: "弹幕云游戏", + v: "7001" + }, { + n: "猎魂觉醒", + v: "3071" + }, { + n: "冒险岛:枫之传说", + v: "8005" + }, { + n: "征途手游", + v: "2556" + }, { + n: "海岛奇兵", + v: "2624" + }, { + n: "倩女幽魂手游", + v: "2503" + }, { + n: "超凡先锋", + v: "6507" + }, { + n: "龙之谷2手游", + v: "2736" + }, { + n: "崩坏3", + v: "2639" + }, { + n: "猫和老鼠", + v: "2758" + }, { + n: "七人传奇:光与暗之交战", + v: "8125" + }, { + n: "JJ麻将", + v: "9487" + }, { + n: "拉轰西游", + v: "9543" + }, { + n: "三国战纪", + v: "6047" + }, { + n: "自由幻想手游", + v: "4015" + }, { + n: "秦时明月世界", + v: "5279" + }, { + n: "新斗罗大陆", + v: "6657" + }, { + n: "新神魔大陆", + v: "5939" + }, { + n: "逃跑吧!少年", + v: "4137" + }, { + n: "太古神王2", + v: "6649" + }, { + n: "剑侠世界3", + v: "7183" + }, { + n: "天天吃鸡手机版", + v: "4341" + }, { + n: "时空猎人3", + v: "6411" + }, { + n: "合金弹头:觉醒", + v: "6931" + }, { + n: "明日方舟", + v: "4925" + }, { + n: "原始征途", + v: "7713" + }, { + n: "奇迹:最强者", + v: "3215" + }, { + n: "天天酷跑", + v: "1715" + }, { + n: "FC 足球世界", + v: "3873" + }, { + n: "万国觉醒", + v: "6159" + }, { + n: "机动都市阿尔法", + v: "5411" + }, { + n: "航海王热血航线", + v: "6181" + }, { + n: "幻世九歌", + v: "7199" + }, { + n: "植物大战僵尸", + v: "485" + }, { + n: "无悔华夏", + v: "7063" + }, { + n: "时空猎人", + v: "1742" + }, { + n: "荒野乱斗", + v: "4613" + }, { + n: "拳皇98终极之战OL", + v: "2687" + }, { + n: "蛇蛇争霸", + v: "2680" + }, { + n: "王牌竞速", + v: "6463" + }, { + n: "重返帝国", + v: "6955" + }, { + n: "吞噬星空:黎明", + v: "6651" + }, { + n: "口袋妖怪", + v: "2541" + }, { + n: "QQ炫舞手游", + v: "2991" + }, { + n: "一拳超人:最强之男", + v: "4629" + }, { + n: "荣耀新三国", + v: "6943" + }, { + n: "少年三国志2", + v: "6125" + }, { + n: "我的起源", + v: "5365" + }, { + n: "决战平安京", + v: "3064" + }, { + n: "剑灵2", + v: "7223" + }, { + n: "开心消消乐", + v: "1712" + }, { + n: "小小蚁国", + v: "7803" + }, { + n: "最强NBA", + v: "2988" + }, { + n: "剑侠情缘手游", + v: "2621" + }, { + n: "长安幻想", + v: "6727" + }, { + n: "我叫MT4", + v: "4087" + }, { + n: "全明星街球派对", + v: "8401" + }, { + n: "大话西游手游", + v: "2626" + }, { + n: "荣耀大天使", + v: "6477" + }, { + n: "镇魂街:天生为王", + v: "6557" + }, { + n: "摩尔庄园", + v: "5981" + }, { + n: "游戏王:决斗链接", + v: "4451" + }, { + n: "剑侠世界2手游", + v: "3150" + }, { + n: "青云诀2", + v: "6009" + }, { + n: "战地无疆", + v: "7909" + }, { + n: "一念逍遥", + v: "6419" + }, { + n: "永劫无间手游", + v: "7579" + }, { + n: "尘白禁区", + v: "7297" + }, { + n: "元梦之星", + v: "9521" + }, { + n: "不良人3", + v: "5891" + }, { + n: "剑灵:革命", + v: "4545" + }, { + n: "魔力宝贝:旅人", + v: "7573" + }, { + n: "米加小镇", + v: "7269" + }, { + n: "龙武手游", + v: "5219" + }, { + n: "斗罗大陆2:绝世唐门", + v: "6581" + }, { + n: "西行纪燃魂", + v: "8303" + }, { + n: "坦克世界闪击战", + v: "4977" + }, { + n: "军棋", + v: "2561" + }, { + n: "饥荒:新家", + v: "6491" + }, { + n: "拳皇命运", + v: "3379" + }, { + n: "实况足球", + v: "3741" + }, { + n: "战舰世界闪击战", + v: "4101" + }, { + n: "时空召唤", + v: "2551" + }, { + n: "王牌战争:文明重启", + v: "5479" + }, { + n: "雀魂麻将", + v: "7107" + }, { + n: "欢乐升级", + v: "3925" + }, { + n: "绿色征途", + v: "4227" + }, { + n: "弹弹堂手游", + v: "2857" + }, { + n: "太极熊猫3:猎龙", + v: "2778" + }, { + n: "哈利波特:魔法觉醒", + v: "5835" + }, { + n: "天地劫:幽城再临", + v: "5987" + }, { + n: "热血街篮", + v: "5859" + }, { + n: "神雕侠侣手游", + v: "1781" + }, { + n: "山海镜花", + v: "5089" + }, { + n: "三国志战棋版", + v: "7937" + }, { + n: "神雕侠侣2", + v: "4209" + }, { + n: "仙魔决", + v: "1674" + }, { + n: "王者荣耀星之破晓", + v: "7927" + }, { + n: "我在江湖之神魔道", + v: "7699" + }, { + n: "梦幻模拟战", + v: "3481" + }, { + n: "单机手游", + v: "2777" + }, { + n: "斗罗大陆-斗神再临", + v: "6631" + }, { + n: "未来之役", + v: "6831" + }, { + n: "风云岛行动", + v: "4695" + }, { + n: "新游推荐", + v: "3160" + }, { + n: "火影忍者OL", + v: "3901" + }, { + n: "九灵神域", + v: "7719" + }, { + n: "武动乾坤", + v: "3829" + }, { + n: "秦时明月2", + v: "1784" + }, { + n: "文明与征服", + v: "7071" + }, { + n: "战双:帕弥什", + v: "4133" + }, { + n: "大航海时代:海上霸主", + v: "6929" + }, { + n: "剑网1:归来", + v: "7361" + }, { + n: "绝区零", + v: "7711" + }, { + n: "黑色沙漠手游", + v: "7287" + }, { + n: "虎牙吃鸡", + v: "7465" + }, { + n: "一剑斩仙", + v: "6843" + }, { + n: "传奇天下", + v: "6927" + }, { + n: "斗斗堂", + v: "7133" + }, { + n: "斗罗大陆", + v: "6119" + }, { + n: "天谕手游", + v: "5925" + }, { + n: "坎公骑冠剑", + v: "6641" + }, { + n: "最终幻想觉醒", + v: "2721" + }, { + n: "神将三国", + v: "6621" + }, { + n: "灌篮高手正版授权手游", + v: "5399" + }, { + n: "剑与家园", + v: "2838" + }, { + n: "极无双2", + v: "7825" + }, { + n: "光明大陆", + v: "2832" + }, { + n: "荒野行动", + v: "3084" + }, { + n: "战斗法则", + v: "9513" + }, { + n: "疯狂原始人", + v: "4619" + }, { + n: "逆战手游", + v: "7575" + }, { + n: "石器时代:觉醒", + v: "9159" + }] + }] + }, + searchUrl: "https://search.cdn.huya.com/?m=Search&do=getSearchContent&q=**&uid=0&v=4&typ=-5&livestate=0&rows=40&start=0", + searchable: 2, + quickSearch: 0, + headers: { + "User-Agent": "MOBILE_UA" + }, + timeout: 5e3, + limit: 8, + play_parse: !0, + lazy: "js:\n let rid = input.match(/\\/ (\\d + ) / )[1];\n function getRealUrl(live_url) {\n let [i, b] = live_url.split('?');\n let r = i.split('/').pop();\n let s = r.replace(/.(flv|m3u8)/, '');\n let c_tmp = b.split('&').filter(n => n);\n let n = {};\n let c_tmp2 = [];\n c_tmp.forEach(function(tmp, index) {\n if (index < 3) {\n n[tmp.split('=')[0]] = tmp.split('=')[1]\n } else {\n c_tmp2.push(tmp)\n }\n });\n let tmp2 = c_tmp2.join('&');\n n[tmp2.split('=')[0]] = tmp2.split('=')[1];\n let fm = decodeURIComponent(n.fm).split('&')[0];\n let u = base64Decode(fm);\n let p = u.split('_')[0];\n let f = new Date().getTime() + '0000';\n let ll = n.wsTime;\n let t = '0';\n let h = [p, t, s, f, ll].join('_');\n let m = md5(h);\n return (i + '?wsSecret=' + m + '&wsTime=' + ll + '&u=' + t + '&seqid=' + f + '&' + c_tmp2.pop()).replace('hls', 'flv').replace('m3u8', 'flv')\n }\n let purl = JSON.parse(request('https://mp.huya.com/cache.php?m=Live&do=profileRoom&roomid=' + rid)).data.stream.flv.multiLine[0].url;\n input = {\n jx: 0,\n url: getRealUrl(purl),\n parse: 0,\n header: JSON.stringify({\n 'user-agent': 'Mozilla/5.0'\n })\n }\n ", + "推荐": "js:\n let d = [];\n let jo = JSON.parse(request(input)).data.datas;\n jo.forEach(it => {\n d.push({\n url: it.profileRoom,\n title: it.introduction,\n img: it.screenshot,\n desc: '👁' + it.totalCount + ' 🆙' + it.nick,\n })\n });\n setResult(d);\n ", + "一级": "js:\n let d = [];\n let jo = JSON.parse(request(input)).data.datas;\n jo.forEach(it => {\n d.push({\n url: it.profileRoom,\n title: it.introduction,\n img: it.screenshot,\n desc: '👁' + it.totalCount + ' 🆙' + it.nick,\n })\n });\n setResult(d);\n ", + "二级": "*", + "搜索": "json:response.3.docs;game_name;game_screenshot;game_nick;room_id" +}; diff --git a/tvboxqq/tvboxqq/饭太硬/lives/B站直播.txt b/tvboxqq/tvboxqq/饭太硬/lives/B站直播.txt new file mode 100644 index 0000000..40f57e7 --- /dev/null +++ b/tvboxqq/tvboxqq/饭太硬/lives/B站直播.txt @@ -0,0 +1,989 @@ +#EXTM3U +#EXTINF:-1 tvg-name="2026-01-10 12:28:14" tvg-logo="https://cdn.jsdelivr.net/gh/feiyang666999/testvideo/tg.jpg" group-title="列表更新时间",2026-01-10 12:28:14 +https://cdn.jsdelivr.net/gh/feiyang666999/testvideo/time/time.mp4 +#EXTINF:-1 tvg-name="4K60PSDR-H264-AAC测试" tvg-logo="https://cdn.jsdelivr.net/gh/feiyang666999/testvideo/tg.jpg" group-title="4K频道",4K60PSDR-H264-AAC测试 +https://cdn.jsdelivr.net/gh/feiyang666999/testvideo/sdr4kvideo/playlist.m3u8 +#EXTINF:-1 tvg-name="4K60PHLG-HEVC-EAC3测试" tvg-logo="https://cdn.jsdelivr.net/gh/feiyang666999/testvideo/tg.jpg" group-title="4K频道",4K60PHLG-HEVC-EAC3测试 +https://cdn.jsdelivr.net/gh/feiyang666999/testvideo/hlg4kvideo/playlist.m3u8 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000022871203xeapgr.jpg" group-title="萌宠", 狗主播 +https://live.ottiptv.cc/bilibili/22871203 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225001954461875xfddp9.jpg" group-title="生活杂谈", 连红六天开门红 +https://live.ottiptv.cc/bilibili/1954461875 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012260000052881116aebkt.jpg" group-title="生活杂谈", 欢迎参加任冯斌李佳慧的婚礼直播 +https://live.ottiptv.cc/bilibili/5288111 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012250000279188603pzi9i.jpg" group-title="情感杂谈", 全网最尊重恋爱脑的直播间 +https://live.ottiptv.cc/bilibili/27918860 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000004369232ysvkf5.jpg" group-title="手工绘画", 24h点歌台不打烊,让旋律充满每份时光! +https://live.ottiptv.cc/bilibili/4369232 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226001716079489u9y379.jpg" group-title="萌宠", 把你骗进来然后...... +https://live.ottiptv.cc/bilibili/1716079489 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225001919950915l6xnoi.jpg" group-title="时尚", 缅甸天然翡翠工厂直销 +https://live.ottiptv.cc/bilibili/1919950915 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012250017135412055di4gu.jpg" group-title="萌宠", 照片本人 2个孩子睡了抓紧时间睡会 +https://live.ottiptv.cc/bilibili/1713541205 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225001877930654ma0hhk.jpg" group-title="运动体育", 四步教会你高远球正确鞭打发 +https://live.ottiptv.cc/bilibili/1877930654 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000010804065o1b7tq.jpg" group-title="情感杂谈", 凭什么瘫痪了就不能创造人生意义? +https://live.ottiptv.cc/bilibili/10804065 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000021568619kf82qi.jpg" group-title="运动体育", 我詹~~~~~~~~ +https://live.ottiptv.cc/bilibili/21568619 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226001871513339zpmj23.jpg" group-title="生活杂谈", 素颜小个儿,没开瘦身 +https://live.ottiptv.cc/bilibili/1871513339 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000024715914py4tn3.jpg" group-title="手工绘画", 大爱仙尊画少女 +https://live.ottiptv.cc/bilibili/24715914 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225001788399444aw4wyu.jpg" group-title="手工绘画", 免费的弹幕宠物大乱斗经验房,禁止批量挂机 +https://live.ottiptv.cc/bilibili/1788399444 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000025071069g02osd.jpg" group-title="运动体育", 勇士国王 +https://live.ottiptv.cc/bilibili/25071069 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000031264058x15nmc.jpg" group-title="运动体育", 今日五大联赛再度回归 +https://live.ottiptv.cc/bilibili/31264058 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012250000222107179hf7dx.jpg" group-title="情感杂谈", 求仙问卜不如自己做主 +https://live.ottiptv.cc/bilibili/22210717 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012250017134247844jeeln.jpg" group-title="情感杂谈", 国易学 首关首问免米 +https://live.ottiptv.cc/bilibili/1713424784 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000005240517cnve39.jpg" group-title="电子榨菜", 奥特曼站内过审视频 +https://live.ottiptv.cc/bilibili/5240517 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012260000035146123r96qe.jpg" group-title="生活杂谈", 大家开开心心出来玩 +https://live.ottiptv.cc/bilibili/3514612 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000023425250j5q69m.jpg" group-title="沉浸体验", 什么,你还没上车? +https://live.ottiptv.cc/bilibili/23425250 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226001746706336ki00iq.jpg" group-title="电子榨菜", 接投稿 接专场 +https://live.ottiptv.cc/bilibili/1746706336 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225001823575165b2a9pd.jpg" group-title="情感杂谈", 进来就弄你 +https://live.ottiptv.cc/bilibili/1823575165 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe0110122500002377621799mecp.jpg" group-title="电子榨菜", 实时直播【经典刑侦】 +https://live.ottiptv.cc/bilibili/23776217 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012250000239433573z2geo.jpg" group-title="运动体育", 年马计划第161天漳州碧湖 +https://live.ottiptv.cc/bilibili/23943357 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225001721769534ngery1.jpg" group-title="手工绘画", 经典 电影 恐怖 想看的都有 +https://live.ottiptv.cc/bilibili/1721769534 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000008783971o1uomi.jpg" group-title="美食", 进来聊聊天! +https://live.ottiptv.cc/bilibili/8783971 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012250000244751700o3ncc.jpg" group-title="运动体育", 老詹复出!湖人VS雄鹿! +https://live.ottiptv.cc/bilibili/24475170 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000021874915kfdkup.jpg" group-title="时尚", 翡翠现场现金收货~ +https://live.ottiptv.cc/bilibili/21874915 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000021544607nlagn4.jpg" group-title="时尚", 自然光翡翠直播 +https://live.ottiptv.cc/bilibili/21544607 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225001780369655ul52fg.jpg" group-title="时尚", 曼德勒翡翠源头现场收货 +https://live.ottiptv.cc/bilibili/1780369655 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000000616591lm24sq.jpg" group-title="手工绘画", 火之将熄,然画不见动笔 +https://live.ottiptv.cc/bilibili/616591 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000032554304cr1kcc.jpg" group-title="手工绘画", 快乐修仙 法力无边 +https://live.ottiptv.cc/bilibili/32554304 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012250019899423579mpbqa.jpg" group-title="手工绘画", 沉浸式,女巫的承诺 +https://live.ottiptv.cc/bilibili/1989942357 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000023121410q68xb9.jpg" group-title="手工绘画", 工作之余,还是工作 +https://live.ottiptv.cc/bilibili/23121410 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe0110122600003243365938cxnu.jpg" group-title="手工绘画", 安静画画 +https://live.ottiptv.cc/bilibili/32433659 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012250000004233587elbkq.jpg" group-title="户外", 什么?可以播了? +https://live.ottiptv.cc/bilibili/423358 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000025945302l1pcrr.jpg" group-title="手工绘画", 那天 与你邂逅的薇薇 +https://live.ottiptv.cc/bilibili/25945302 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000022491717c7o9dx.jpg" group-title="生活杂谈", 迷住年货节 +https://live.ottiptv.cc/bilibili/22491717 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000024090914g6flpp.jpg" group-title="手工绘画", 3602开门 +https://live.ottiptv.cc/bilibili/24090914 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226001757329949xsludt.jpg" group-title="手工绘画", 『十步埋一人』 +https://live.ottiptv.cc/bilibili/1757329949 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000014495324tufjpb.jpg" group-title="电子榨菜", 海绵宝宝 24H 右上角水印站内过审视频 +https://live.ottiptv.cc/bilibili/14495324 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225001786262075v1k8t7.jpg" group-title="运动体育", 徐静雨NBA湖人VS雄鹿 +https://live.ottiptv.cc/bilibili/1786262075 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000023949025bc93dq.jpg" group-title="户外", 武林外传 +https://live.ottiptv.cc/bilibili/23949025 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000027519423nv59ak.jpg" group-title="生活杂谈", 学习工作背景音乐 24/7 自习室 +https://live.ottiptv.cc/bilibili/27519423 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe0110122500002315106814hm7h.jpg" group-title="运动体育", NBA:开拓者vs火箭,杨瀚森再次爆发? +https://live.ottiptv.cc/bilibili/23151068 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000000019064siehgd.jpg" group-title="手工绘画", 睡个屁,好爱工作 +https://live.ottiptv.cc/bilibili/19064 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012250000252488359krb7c.jpg" group-title="沉浸体验", 白噪音 24小时直播雨声助眠下雨天白噪声 +https://live.ottiptv.cc/bilibili/25248835 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012260000301993664x7gxw.jpg" group-title="生活杂谈", 来听相声 +https://live.ottiptv.cc/bilibili/30199366 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000030150311vy6oqn.jpg" group-title="手工绘画", 小芯动漫·解说 +https://live.ottiptv.cc/bilibili/30150311 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012250000261452970i1ej9.jpg" group-title="生活杂谈", 这里是对口相声 +https://live.ottiptv.cc/bilibili/26145297 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000000278728pu55qy.jpg" group-title="电子榨菜", 日入两块八,每天笑哈哈 +https://live.ottiptv.cc/bilibili/278728 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226001954827993rjq3vn.jpg" group-title="手工绘画", 萌新驾到,多多指教! +https://live.ottiptv.cc/bilibili/1954827993 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225001898931390d1wd5h.jpg" group-title="情感杂谈", 上海明日方舟only签售 +https://live.ottiptv.cc/bilibili/1898931390 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000009037800khk6o1.jpg" group-title="运动体育", 聊聊摔角,看看天 +https://live.ottiptv.cc/bilibili/9037800 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012250000303181880gynw5.jpg" group-title="运动体育", 26冰壶球员锦标赛 +https://live.ottiptv.cc/bilibili/30318188 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012250019359327957w49xn.jpg" group-title="情感杂谈", 曲曲直播中 +https://live.ottiptv.cc/bilibili/1935932795 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226001713421146xdvido.jpg" group-title="运动体育", NCAA科罗拉多州立VSUNLV +https://live.ottiptv.cc/bilibili/1713421146 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000025559603utfbkz.jpg" group-title="沉浸体验", 别走了,在这里踏实睡个好觉吧 +https://live.ottiptv.cc/bilibili/25559603 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012260000314430215iq4tn.jpg" group-title="手工绘画", 天才女被室友养活四年在画稿 +https://live.ottiptv.cc/bilibili/31443021 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000031636744up807k.jpg" group-title="沉浸体验", 电子安眠药 +https://live.ottiptv.cc/bilibili/31636744 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225001817642775aye6em.jpg" group-title="手工绘画", 爱情公寓 +https://live.ottiptv.cc/bilibili/1817642775 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000022833565hfj739.jpg" group-title="运动体育", 火箭vs开拓者 关注杨瀚森文明直播间 +https://live.ottiptv.cc/bilibili/22833565 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226001880059386gyn6n7.jpg" group-title="情感杂谈", 05重庆 幼师 喜欢大叔 +https://live.ottiptv.cc/bilibili/1880059386 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225001992699728egmtnc.jpg" group-title="手工绘画", 安静直播绘制 +https://live.ottiptv.cc/bilibili/1992699728 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000023471879v56jtg.jpg" group-title="运动体育", 【选手权】半决赛 +https://live.ottiptv.cc/bilibili/23471879 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012250000234698572tpcqh.jpg" group-title="时尚", Sugar丝袜,丝滑新体验! +https://live.ottiptv.cc/bilibili/23469857 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226001878513946mnosal.jpg" group-title="电子榨菜", 经典剧集轮播【火玫瑰】 +https://live.ottiptv.cc/bilibili/1878513946 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000003091485xix4fo.jpg" group-title="手工绘画", 英叔僵尸鬼片 +https://live.ottiptv.cc/bilibili/3091485 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe0110122600002374697990e482.jpg" group-title="运动体育", 12小时耐久直播 | UFC经典KO +https://live.ottiptv.cc/bilibili/23746979 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225001978984070ebdk7a.jpg" group-title="沉浸体验", 舰长吃的最好 +https://live.ottiptv.cc/bilibili/1978984070 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000022853376ur8haf.jpg" group-title="户外", 全天看皮套的第17天 +https://live.ottiptv.cc/bilibili/22853376 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225001786410975g1k1tf.jpg" group-title="沉浸体验", 猫猫养成双倍经验房,24小时种菜,偷菜 +https://live.ottiptv.cc/bilibili/1786410975 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000027099598kn6488.jpg" group-title="沉浸体验", 电子安眠药,深夜集合点懒大王雨声白噪音宠 +https://live.ottiptv.cc/bilibili/27099598 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226001993741796gj92cq.jpg" group-title="手工绘画", 一起来追情深深雨濛 +https://live.ottiptv.cc/bilibili/1993741796 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000002065673pfjs0o.jpg" group-title="户外", 一起来看“木星冲日” +https://live.ottiptv.cc/bilibili/2065673 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225001954823364xltm5f.jpg" group-title="情感杂谈", 首次开播,请多关照! +https://live.ottiptv.cc/bilibili/1954823364 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000025122152sc03p2.jpg" group-title="沉浸体验", 深度睡眠雨声相伴放松减压失眠冥想 +https://live.ottiptv.cc/bilibili/25122152 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000002651701kwgf3k.jpg" group-title="手工绘画", 今天看一起看佳亚奥特曼,站内过审核别误伤 +https://live.ottiptv.cc/bilibili/2651701 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226001945806396z2sdhz.jpg" group-title="情感杂谈", 情感咨询,答疑解惑,陪伴闲聊 +https://live.ottiptv.cc/bilibili/1945806396 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000021670272fiw306.jpg" group-title="运动体育", 手艺人酒2026贵州中式九球公开赛 +https://live.ottiptv.cc/bilibili/21670272 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225001900560130t5w5cj.jpg" group-title="手工绘画", 还珠电+榨菜 +https://live.ottiptv.cc/bilibili/1900560130 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226001908055239kef8cp.jpg" group-title="手工绘画", 乱画刮死老画布 +https://live.ottiptv.cc/bilibili/1908055239 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012250000278416854w6dh4.jpg" group-title="沉浸体验", 火车司机第一视角,睡不着就进来开火车吧~ +https://live.ottiptv.cc/bilibili/27841685 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000000014047jv0r0y.jpg" group-title="户外", 从国际空间站俯瞰地球,静谧蓝星守护者 +https://live.ottiptv.cc/bilibili/14047 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226001771620779zy2r6o.jpg" group-title="运动体育", 火箭VS开拓者.无老舅也NBA.小杨加油 +https://live.ottiptv.cc/bilibili/1771620779 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012250000228380981o3agj.jpg" group-title="户外", 河南冰雪经济热!00后扎堆入行滑雪教练 +https://live.ottiptv.cc/bilibili/22838098 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe0110122600000177072637fdcb.jpg" group-title="手工绘画", 『冥之女神』与她的爱女之忆 +https://live.ottiptv.cc/bilibili/1770726 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000000058748ofl7hd.jpg" group-title="手工绘画", 可人儿美如画!…24h小时弹幕宠物修炼房 +https://live.ottiptv.cc/bilibili/58748 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012250000225504379c6eg1.jpg" group-title="户外", 5条虫=1个萝卜?真人版“保卫萝卜”来了 +https://live.ottiptv.cc/bilibili/22550437 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012260018176126997fyxnw.jpg" group-title="电子榨菜", 他日仙界若相逢,一声道友尽沧桑 +https://live.ottiptv.cc/bilibili/1817612699 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012250017129674852rxpzz.jpg" group-title="手工绘画", yqlkdzzc(有插播) +https://live.ottiptv.cc/bilibili/1712967485 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225001947279097734iga.jpg" group-title="手工绘画", 手动龍缝变身 +https://live.ottiptv.cc/bilibili/1947279097 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000023173250h0yvyz.jpg" group-title="户外", 重庆万亩蜡梅花开 Pong香! +https://live.ottiptv.cc/bilibili/23173250 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000005429779ptd1mg.jpg" group-title="手工绘画", 得到了把任何角色变成柚子小人的画技 +https://live.ottiptv.cc/bilibili/5429779 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000026139686nexkqi.jpg" group-title="运动体育", 史上最美八段锦技巧讲解 +https://live.ottiptv.cc/bilibili/26139686 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe0110122500187851436746tq7s.jpg" group-title="电子榨菜", 听相声评书看群鹦荟萃 +https://live.ottiptv.cc/bilibili/1878514367 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000031381032yzhf0a.jpg" group-title="时尚", 和田玉一线代购 +https://live.ottiptv.cc/bilibili/31381032 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226001940980502umh3oy.jpg" group-title="生活杂谈", 情感·情绪·倾听·疗愈 +https://live.ottiptv.cc/bilibili/1940980502 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000022966936v14vsg.jpg" group-title="时尚", 缅甸角湾翡翠市场代购 +https://live.ottiptv.cc/bilibili/22966936 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000030883644q3u0ae.jpg" group-title="户外", 美国完蛋了 +https://live.ottiptv.cc/bilibili/30883644 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012250017134261184ei807.jpg" group-title="生活杂谈", 后边回家 +https://live.ottiptv.cc/bilibili/1713426118 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012250000300445547kpc6v.jpg" group-title="美食", 少爷终于回来继承家业了! +https://live.ottiptv.cc/bilibili/30044554 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000022689676judelo.jpg" group-title="沉浸体验", 云游火车 助眠入睡 +https://live.ottiptv.cc/bilibili/22689676 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000032144084fccoxu.jpg" group-title="运动体育", 杨瀚森vs火箭二战 +https://live.ottiptv.cc/bilibili/32144084 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000021094185j3yylf.jpg" group-title="沉浸体验", 农村高端电竞房 +https://live.ottiptv.cc/bilibili/21094185 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226001849829139v68ohn.jpg" group-title="生活杂谈", 如何筛出渣男 +https://live.ottiptv.cc/bilibili/1849829139 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000010816669u3i67o.jpg" group-title="手工绘画", 播一会 +https://live.ottiptv.cc/bilibili/10816669 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226001992884429xg42gn.jpg" group-title="运动体育", 网球直播 +https://live.ottiptv.cc/bilibili/1992884429 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe0110122500000058583078qkf6.jpg" group-title="手工绘画", 画画型库勾 +https://live.ottiptv.cc/bilibili/585830 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226001917335463upkgeu.jpg" group-title="运动体育", 2026春高女子半决赛大阪国际vs就实 +https://live.ottiptv.cc/bilibili/1917335463 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe0110122600002767835151i0t4.jpg" group-title="电子榨菜", 带你了解手柄改装 +https://live.ottiptv.cc/bilibili/27678351 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012250000243595381d8ykp.jpg" group-title="电子榨菜", 凌诚电脑(吴老师VLONG)DIY电脑 +https://live.ottiptv.cc/bilibili/24359538 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012260019108459337jprle.jpg" group-title="时尚", 大家好,我是白熊君 +https://live.ottiptv.cc/bilibili/1910845933 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012260000244149890awx5p.jpg" group-title="手工绘画", 画不完睡大觉 +https://live.ottiptv.cc/bilibili/24414989 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000011686528maq94t.jpg" group-title="手工绘画", 囚书的早晨 +https://live.ottiptv.cc/bilibili/11686528 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225001831478664lgi0ts.jpg" group-title="手工绘画", 0基础学画画 副业赚米 +https://live.ottiptv.cc/bilibili/1831478664 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000032777196t86kj2.jpg" group-title="手工绘画", 道友…请留步! +https://live.ottiptv.cc/bilibili/32777196 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226001861371393w7ka36.jpg" group-title="手工绘画", 0基础学画画 副业赚米 +https://live.ottiptv.cc/bilibili/1861371393 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000031277978x5ztfa.jpg" group-title="电子榨菜", 不是吧 这也太... +https://live.ottiptv.cc/bilibili/31277978 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000007998542y27rqg.jpg" group-title="沉浸体验", 大修 +https://live.ottiptv.cc/bilibili/7998542 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000022727174rfpieh.jpg" group-title="户外", 梅里最佳观赏 | 松赞梅里山居实时直播 +https://live.ottiptv.cc/bilibili/22727174 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000000283631b2df5s.jpg" group-title="沉浸体验", 【库尔勒香梨】来自库尔勒沙依东好吃的梨 +https://live.ottiptv.cc/bilibili/283631 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226001730466996cxp1c3.jpg" group-title="运动体育", 2026Unrivaled女篮联赛常规赛 +https://live.ottiptv.cc/bilibili/1730466996 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225001921304247nfdnt2.jpg" group-title="运动体育", NBA 湖人vs雄鹿 +https://live.ottiptv.cc/bilibili/1921304247 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000022263714xbyd6c.jpg" group-title="萌宠", 两只奶牛猫陪伴学习 +https://live.ottiptv.cc/bilibili/22263714 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe0110122600174166881350vy6k.jpg" group-title="运动体育", NBA 火箭vs开拓者 +https://live.ottiptv.cc/bilibili/1741668813 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000011631391k3qo50.jpg" group-title="手工绘画", 画画人不需要睡觉 +https://live.ottiptv.cc/bilibili/11631391 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000031507187tujp2o.jpg" group-title="运动体育", 初学者的健身瑜伽团课 +https://live.ottiptv.cc/bilibili/31507187 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012260000014477465r5hu3.jpg" group-title="手工绘画", 这是一个没有暴力温馨的地方 +https://live.ottiptv.cc/bilibili/1447746 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000001994462js617i.jpg" group-title="手工绘画", 【点歌台】一起听! +https://live.ottiptv.cc/bilibili/1994462 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000007243837yngwbv.jpg" group-title="运动体育", NBA 火箭 开拓者 +https://live.ottiptv.cc/bilibili/7243837 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe0110122500003274004500jhip.jpg" group-title="运动体育", 雄鹿vs湖人 +https://live.ottiptv.cc/bilibili/32740045 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012260000055726139m78uq.jpg" group-title="手工绘画", 今天看:百变小樱 +https://live.ottiptv.cc/bilibili/5572613 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225001947177227k3ooup.jpg" group-title="生活杂谈", 燃尽—— +https://live.ottiptv.cc/bilibili/1947177227 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012250000112030858dwrof.jpg" group-title="手工绘画", 每天画画15小时 全程无休息 第797天 +https://live.ottiptv.cc/bilibili/11203085 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226001796106223u6ff41.jpg" group-title="手工绘画", 现在依然是lxl状态( +https://live.ottiptv.cc/bilibili/1796106223 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012250000214703954rzd96.jpg" group-title="美食", 蛋糕店日常play +https://live.ottiptv.cc/bilibili/21470395 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012260000069736238sgjrn.jpg" group-title="手工绘画", ”前辈 ....请视奸我“ +https://live.ottiptv.cc/bilibili/6973623 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226001845370871vwrgdj.jpg" group-title="情感杂谈", 为您解惑 情感 传统心理咨询 +https://live.ottiptv.cc/bilibili/1845370871 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000031115760rgm5cv.jpg" group-title="生活杂谈", 好吃的红薯来咯 +https://live.ottiptv.cc/bilibili/31115760 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000031587789mlhobj.jpg" group-title="萌宠", 随时随地大小躺!感恩喵雪汪宝宝相伴一年! +https://live.ottiptv.cc/bilibili/31587789 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012260018469892819uzjjk.jpg" group-title="时尚", 大牌包包限时特价,抢完真没了!!! +https://live.ottiptv.cc/bilibili/1846989281 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000024839076u0kl9f.jpg" group-title="情感杂谈", 情感塔罗,首关免费体验一张 +https://live.ottiptv.cc/bilibili/24839076 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000014097867sfm6yx.jpg" group-title="电子榨菜", 还差200多 来电黑白龙 +https://live.ottiptv.cc/bilibili/14097867 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000027740014jeloh4.jpg" group-title="手工绘画", 随心点歌台 +https://live.ottiptv.cc/bilibili/27740014 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000022531607rrvez7.jpg" group-title="生活杂谈", 下班日常 +https://live.ottiptv.cc/bilibili/22531607 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012260000211473632h8fc7.jpg" group-title="萌宠", 关注后发指定弹幕自动喂猫狗 +https://live.ottiptv.cc/bilibili/21147363 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe0110122500002147335571x4mb.jpg" group-title="萌宠", 猫哥和300只流浪猫的家 +https://live.ottiptv.cc/bilibili/21473355 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012260019458008115jemwn.jpg" group-title="手工绘画", 养宠物 +https://live.ottiptv.cc/bilibili/1945800811 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000030167124m14h9z.jpg" group-title="手工绘画", 道友请留步,陪我一起渡个劫!弹幕修仙游戏 +https://live.ottiptv.cc/bilibili/30167124 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225001766901980a90dme.jpg" group-title="手工绘画", 终于在画正常身材了 +https://live.ottiptv.cc/bilibili/1766901980 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226001809425746i1j7r8.jpg" group-title="手工绘画", 画画 +https://live.ottiptv.cc/bilibili/1809425746 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000000880235jyzhje.jpg" group-title="手工绘画", 双村之战 +https://live.ottiptv.cc/bilibili/880235 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225001740574405q9x8oo.jpg" group-title="萌宠", 大家都来陪陪小兔子叭… +https://live.ottiptv.cc/bilibili/1740574405 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225001861371474gfkmjh.jpg" group-title="运动体育", 象棋大师洪磊鑫讲解:20天全面掌握士角炮 +https://live.ottiptv.cc/bilibili/1861371474 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225001842869495rcfwwz.jpg" group-title="萌宠", 【云养鸟】间接性暴躁的暴躁崽鸡 +https://live.ottiptv.cc/bilibili/1842869495 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012250000323498406h637y.jpg" group-title="手工绘画", 上工之路为何如此艰难 +https://live.ottiptv.cc/bilibili/32349840 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000011871510uy8a5m.jpg" group-title="手工绘画", 邦邦同人制作 +https://live.ottiptv.cc/bilibili/11871510 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012260000020108211pmphk.jpg" group-title="生活杂谈", 是 是的 +https://live.ottiptv.cc/bilibili/2010821 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000022595201esytyn.jpg" group-title="生活杂谈", 上汽大众惊喜价到,惠享升级! +https://live.ottiptv.cc/bilibili/22595201 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225001937838064zx7spq.jpg" group-title="沉浸体验", 萌新驾到,多多指教! +https://live.ottiptv.cc/bilibili/1937838064 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012260000042489136prncv.jpg" group-title="手工绘画", 24h自助点歌台(支持歌单和专辑哦~ +https://live.ottiptv.cc/bilibili/4248913 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000026919436l2xeev.jpg" group-title="生活杂谈", 早睡早起 +https://live.ottiptv.cc/bilibili/26919436 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000025710458r3xh4q.jpg" group-title="时尚", 美式复古工装! +https://live.ottiptv.cc/bilibili/25710458 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000022952066m4lkag.jpg" group-title="萌宠", 帮我看下猪猪们有没有打架 +https://live.ottiptv.cc/bilibili/22952066 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000027404696jaub1z.jpg" group-title="电子榨菜", 凤凰传奇全部歌曲24h循环播放 +https://live.ottiptv.cc/bilibili/27404696 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000030677116aj2dm5.jpg" group-title="生活杂谈", 跑测试+装机! +https://live.ottiptv.cc/bilibili/30677116 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000025450125b1b75o.jpg" group-title="手工绘画", [私皮阴暗V]【INFJ】生活性陪伴 +https://live.ottiptv.cc/bilibili/25450125 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000010271737i713db.jpg" group-title="萌宠", 沉浸式小狗睡觉 +https://live.ottiptv.cc/bilibili/10271737 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000011316699oyssr2.jpg" group-title="运动体育", GKC 2025 大湾区卡丁车锦标赛R5 +https://live.ottiptv.cc/bilibili/11316699 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226001728613801oxiowi.jpg" group-title="时尚", 可塘走播 +https://live.ottiptv.cc/bilibili/1728613801 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225001817728740sbpedb.jpg" group-title="手工绘画", 初生之家与神人公园也是一对苦命鸳鸯 +https://live.ottiptv.cc/bilibili/1817728740 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000015108821s62f00.jpg" group-title="运动体育", 骑行台功率飞升 +https://live.ottiptv.cc/bilibili/15108821 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000004260179p3qfma.jpg" group-title="手工绘画", 一定可以画完 +https://live.ottiptv.cc/bilibili/4260179 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000025594583zs1v4w.jpg" group-title="萌宠", 这一天一天等等等川了黑夜 +https://live.ottiptv.cc/bilibili/25594583 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000025459603bw6si8.jpg" group-title="手工绘画", 今天画点俗的 +https://live.ottiptv.cc/bilibili/25459603 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000005098099bzd7r4.jpg" group-title="手工绘画", 开一把! +https://live.ottiptv.cc/bilibili/5098099 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101220001917291844k720tu.jpg" group-title="情感杂谈", 聊聊感情吧 +https://live.ottiptv.cc/bilibili/1917291844 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe0110122500002268321822jc2r.jpg" group-title="电子榨菜", [蜡笔小新]高清国语24小时轮播 +https://live.ottiptv.cc/bilibili/22683218 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000022297925617xz2.jpg" group-title="沉浸体验", 守望南迦巴瓦与雅鲁藏布 +https://live.ottiptv.cc/bilibili/22297925 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226001974517412s92oue.jpg" group-title="生活杂谈", 影视 特摄 动漫 轮播 +https://live.ottiptv.cc/bilibili/1974517412 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000022941019c8xuo1.jpg" group-title="生活杂谈", 魔术那些事儿~ +https://live.ottiptv.cc/bilibili/22941019 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225001887151385wwdfxc.jpg" group-title="手工绘画", 今天画伊吹 +https://live.ottiptv.cc/bilibili/1887151385 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000000156535tt8vnc.jpg" group-title="手工绘画", 今天这么感觉比昨天冷! +https://live.ottiptv.cc/bilibili/156535 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000007925590cr3lqh.jpg" group-title="手工绘画", 画稿!! +https://live.ottiptv.cc/bilibili/7925590 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000012910286d5g48d.jpg" group-title="手工绘画", 我现在知道画什么有流量了() +https://live.ottiptv.cc/bilibili/12910286 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe0110122600002339840967rvx9.jpg" group-title="手工绘画", 老大,今天画尖塔小动画换换心情喵~ +https://live.ottiptv.cc/bilibili/23398409 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012250000009028272tjwfq.jpg" group-title="手工绘画", 阿策《甲字头》课堂开课啦 +https://live.ottiptv.cc/bilibili/902827 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012260000235125565nimn2.jpg" group-title="户外", 在村里随便播播的 +https://live.ottiptv.cc/bilibili/23512556 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012260000131533439g2tlb.jpg" group-title="手工绘画", 青雀姓青符玄姓符嘛 +https://live.ottiptv.cc/bilibili/13153343 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012260018487644739h670i.jpg" group-title="手工绘画", 死手你快画啊!快画啊!! +https://live.ottiptv.cc/bilibili/1848764473 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000024139232cytnle.jpg" group-title="手工绘画", 画稿,随时睡着 +https://live.ottiptv.cc/bilibili/24139232 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225001780367360ck64mw.jpg" group-title="时尚", 模特大长腿 +https://live.ottiptv.cc/bilibili/1780367360 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012250000240485696f8hk4.jpg" group-title="户外", 18点进来看苍山洱海的晚霞一万个赞换视角 +https://live.ottiptv.cc/bilibili/24048569 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225001946287139s3bsq2.jpg" group-title="手工绘画", 不老实 +https://live.ottiptv.cc/bilibili/1946287139 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000031513661xu2ey2.jpg" group-title="手工绘画", 不知道如何学习画画 +https://live.ottiptv.cc/bilibili/31513661 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000024092330feesoq.jpg" group-title="沉浸体验", 【慢直播】北京长安街远眺国贸 +https://live.ottiptv.cc/bilibili/24092330 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000021310561u6sjrw.jpg" group-title="萌宠", 鱼缸实时直播!不录播!有互动! +https://live.ottiptv.cc/bilibili/21310561 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe0110122600003243365938cxnu.jpg" group-title="手工绘画", 安静画画 +https://live.ottiptv.cc/bilibili/32433659 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012260000066856411rcwww.jpg" group-title="手工绘画", 赛博监工 +https://live.ottiptv.cc/bilibili/6685641 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe0110122500000688659808z437.jpg" group-title="手工绘画", 还有什么是比不画画更有趣的事吗 +https://live.ottiptv.cc/bilibili/6886598 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000002064880t0x007.jpg" group-title="手工绘画", 【老鹰画室教学直播】色彩-李世豪 +https://live.ottiptv.cc/bilibili/2064880 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000009198919xsykpi.jpg" group-title="手工绘画", 好耶!是邮箱 +https://live.ottiptv.cc/bilibili/9198919 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000026693035ldgbpx.jpg" group-title="电子榨菜", hi +https://live.ottiptv.cc/bilibili/26693035 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000021156724jgospw.jpg" group-title="萌宠", 关注后弹幕投喂猫狗 +https://live.ottiptv.cc/bilibili/21156724 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226001790620509xvc7f8.jpg" group-title="萌宠", 初来报道,关注一下吧~ +https://live.ottiptv.cc/bilibili/1790620509 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000014220475dakw4p.jpg" group-title="沉浸体验", Taylor'S LiveHouse +https://live.ottiptv.cc/bilibili/14220475 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225001817612249pr3il7.jpg" group-title="手工绘画", 我要画满十二小时!! +https://live.ottiptv.cc/bilibili/1817612249 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000002679334mpl4r0.jpg" group-title="手工绘画", 稿 +https://live.ottiptv.cc/bilibili/2679334 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000008968865ww4n1r.jpg" group-title="手工绘画", FF14-画一下稿 +https://live.ottiptv.cc/bilibili/8968865 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000008050813wyokqo.jpg" group-title="手工绘画", AAA生态番茄批发 +https://live.ottiptv.cc/bilibili/8050813 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225001837221358bh1tz2.jpg" group-title="手工绘画", 听歌画稿 +https://live.ottiptv.cc/bilibili/1837221358 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226001844049671cnndai.jpg" group-title="时尚", 新号开播,只做保山南红原矿 +https://live.ottiptv.cc/bilibili/1844049671 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000026166850yc88i7.jpg" group-title="生活杂谈", 研究生在读直播 +https://live.ottiptv.cc/bilibili/26166850 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000001576723p5tcs5.jpg" group-title="手工绘画", 画的不知天地为何物 +https://live.ottiptv.cc/bilibili/1576723 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000001141016yjkfih.jpg" group-title="生活杂谈", 成仙卡盒小开九盒 +https://live.ottiptv.cc/bilibili/1141016 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe0110122500002781897579twj4.jpg" group-title="美食", 买点吧,我赚钱有大用! +https://live.ottiptv.cc/bilibili/27818975 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012260019548210864cm1yg.jpg" group-title="电子榨菜", 不限圈re!接专场!可投稿! +https://live.ottiptv.cc/bilibili/1954821086 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012250000045554148qmi0k.jpg" group-title="手工绘画", 怎么我天天直播画稿还能被鉴ai啊 +https://live.ottiptv.cc/bilibili/4555414 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe0110122600002605474109g2ed.jpg" group-title="情感杂谈", 心理疏导 情感疗愈 答疑解惑 塔塔辅助 +https://live.ottiptv.cc/bilibili/26054741 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000002001416d6l9eg.jpg" group-title="手工绘画", 周末画点大的 +https://live.ottiptv.cc/bilibili/2001416 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226001718746223sq8bvg.jpg" group-title="手工绘画", 监督自己学画画 +https://live.ottiptv.cc/bilibili/1718746223 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000031815091anjqki.jpg" group-title="户外", 牛市,你们赚了多少钱 +https://live.ottiptv.cc/bilibili/31815091 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226001921509852gw07eo.jpg" group-title="生活杂谈", 直播拼装核能新品 +https://live.ottiptv.cc/bilibili/1921509852 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000000809496phd7i3.jpg" group-title="电子榨菜", test +https://live.ottiptv.cc/bilibili/809496 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225001817648167mcqntj.jpg" group-title="电子榨菜", 请输入文本 +https://live.ottiptv.cc/bilibili/1817648167 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000004131594a4sh8v.jpg" group-title="手工绘画", 没嘴 不回弹幕 +https://live.ottiptv.cc/bilibili/4131594 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012250018792989291z877x.jpg" group-title="手工绘画", 画小女孩 +https://live.ottiptv.cc/bilibili/1879298929 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe0110122500000373543506capi.jpg" group-title="手工绘画", ISTJ-沉浸式画单(福瑞向) +https://live.ottiptv.cc/bilibili/3735435 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000022394257liw84l.jpg" group-title="手工绘画", 沉浸式赶稿 +https://live.ottiptv.cc/bilibili/22394257 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe0110122600001111815291qw7q.jpg" group-title="手工绘画", 画不出来啊啊啊啊啊!!!! +https://live.ottiptv.cc/bilibili/11118152 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225001949986578kh9f0u.jpg" group-title="手工绘画", 励志做一位干货满满的像素小画家 +https://live.ottiptv.cc/bilibili/1949986578 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012250000262965374u5vqv.jpg" group-title="萌宠", 一人、一院、六只猫的自由快乐生活纯享版~ +https://live.ottiptv.cc/bilibili/26296537 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000025505426yaf116.jpg" group-title="情感杂谈", Goilty-你的避风港 +https://live.ottiptv.cc/bilibili/25505426 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000006108254pzz5po.jpg" group-title="萌宠", 本直播间全部收益归鼠鼠所有 +https://live.ottiptv.cc/bilibili/6108254 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012250000262676749kkwry.jpg" group-title="手工绘画", 没能成为期望的样子 +https://live.ottiptv.cc/bilibili/26267674 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000031266404rjfyms.jpg" group-title="生活杂谈", 平平无奇电脑店 +https://live.ottiptv.cc/bilibili/31266404 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012260000304872998yslef.jpg" group-title="户外", 丽江玉龙雪山,大研古城全景,实时风景直播 +https://live.ottiptv.cc/bilibili/30487299 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012260018152256617rh6oc.jpg" group-title="手工绘画", 画到5点 +https://live.ottiptv.cc/bilibili/1815225661 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000031438431tk9mau.jpg" group-title="萌宠", 猫猫陪我去霍格沃滋上学 +https://live.ottiptv.cc/bilibili/31438431 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225001856652984dapt16.jpg" group-title="电子榨菜", 手办区阿婆主开播,可以点歌唱歌0.o +https://live.ottiptv.cc/bilibili/1856652984 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000004323627hpkr8f.jpg" group-title="手工绘画", 四蹄毛茸茸 +https://live.ottiptv.cc/bilibili/4323627 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012260000070852927c1mva.jpg" group-title="萌宠", 人在上班 猫在打工 +https://live.ottiptv.cc/bilibili/7085292 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe0110122500197721517423aerv.jpg" group-title="手工绘画", 画练习 +https://live.ottiptv.cc/bilibili/1977215174 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000000205596tscm80.jpg" group-title="手工绘画", 你非常喜欢画画,喜欢得要死 +https://live.ottiptv.cc/bilibili/205596 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000023404569tmbcx0.jpg" group-title="手工绘画", 画画可爱的小脚丫 +https://live.ottiptv.cc/bilibili/23404569 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000025070781gi1ri8.jpg" group-title="户外", 长岛M7,准备发车 +https://live.ottiptv.cc/bilibili/25070781 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000024829846l3cpod.jpg" group-title="手工绘画", 稿稿 +https://live.ottiptv.cc/bilibili/24829846 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000026801008uqnfl4.jpg" group-title="手工绘画", 一块冻肉正在画画 +https://live.ottiptv.cc/bilibili/26801008 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000027189846u3h3hy.jpg" group-title="萌宠", 摇!QWQ 摇!在线打卡神秘摇头猫猫! +https://live.ottiptv.cc/bilibili/27189846 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000031935856cvp5ob.jpg" group-title="手工绘画", 还是画老虎 +https://live.ottiptv.cc/bilibili/31935856 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000008936103tno4p7.jpg" group-title="手工绘画", 头像百日绘(大雾) +https://live.ottiptv.cc/bilibili/8936103 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000024860429o8k3rf.jpg" group-title="电子榨菜", 【文明6】五只奶龙的传说 +https://live.ottiptv.cc/bilibili/24860429 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225001764699617fbnhfe.jpg" group-title="时尚", 方圜珠宝 +https://live.ottiptv.cc/bilibili/1764699617 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000013131453cug07f.jpg" group-title="户外", 静静的看看维港美景 +https://live.ottiptv.cc/bilibili/13131453 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012260000144568196j5woh.jpg" group-title="手工绘画", 底层小画手学画day9,梦想成为大手子( +https://live.ottiptv.cc/bilibili/14456819 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000002164443xm5twg.jpg" group-title="运动体育", 徐静雨NBA常规赛雄鹿vs湖人 +https://live.ottiptv.cc/bilibili/2164443 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe0110122500003129167525ynxi.jpg" group-title="手工绘画", 耐画王的日常罢了。 +https://live.ottiptv.cc/bilibili/31291675 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000021193954l722hh.jpg" group-title="手工绘画", 再画一会儿 +https://live.ottiptv.cc/bilibili/21193954 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000008538430e606tj.jpg" group-title="电子榨菜", BACK +https://live.ottiptv.cc/bilibili/8538430 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000021654133ndjdyw.jpg" group-title="时尚", B站首个猛犸象牙专营直播间! +https://live.ottiptv.cc/bilibili/21654133 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225001908321765czy759.jpg" group-title="萌宠", 胖宝宝上班全靠自觉 +https://live.ottiptv.cc/bilibili/1908321765 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000030582788kunvia.jpg" group-title="手工绘画", 点歌台 +https://live.ottiptv.cc/bilibili/30582788 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012260000303596992lb6bd.jpg" group-title="手工绘画", 小播一会!! +https://live.ottiptv.cc/bilibili/30359699 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012260017304676668jx5xm.jpg" group-title="手工绘画", 不指定会画些什么(自己避雷) +https://live.ottiptv.cc/bilibili/1730467666 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000023785562kz50zz.jpg" group-title="手工绘画", 偷画一会稿子 +https://live.ottiptv.cc/bilibili/23785562 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225001990573460w7nmp6.jpg" group-title="运动体育", 我詹教育字母 +https://live.ottiptv.cc/bilibili/1990573460 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226001917438866beifwp.jpg" group-title="沉浸体验", 捣鼓音乐中~ +https://live.ottiptv.cc/bilibili/1917438866 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225001884960678n1bioe.jpg" group-title="户外", 雅丹地貌实时直播 +https://live.ottiptv.cc/bilibili/1884960678 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000004933091d1ciht.jpg" group-title="手工绘画", 随时跑路的摸鱼时间 +https://live.ottiptv.cc/bilibili/4933091 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226001917335446ynsah6.jpg" group-title="手工绘画", 自习监督稿件py +https://live.ottiptv.cc/bilibili/1917335446 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000026318458fsjzb4.jpg" group-title="手工绘画", 小画家一败涂地!!! +https://live.ottiptv.cc/bilibili/26318458 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000004498201hmobbe.jpg" group-title="手工绘画", 自监督 /7h +https://live.ottiptv.cc/bilibili/4498201 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe0110122600003111216189uldv.jpg" group-title="手工绘画", 画点粑粑同人 +https://live.ottiptv.cc/bilibili/31112161 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225001883012679z6zurw.jpg" group-title="手工绘画", 初次尝试 驯服绘画软件中 +https://live.ottiptv.cc/bilibili/1883012679 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000030129063la7lfi.jpg" group-title="美食", 小俄妹也来开播啦! +https://live.ottiptv.cc/bilibili/30129063 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012250000098476954tr8tm.jpg" group-title="手工绘画", 为啥我要上工!旮旯给木里面不是这样的TT +https://live.ottiptv.cc/bilibili/9847695 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000025144281tg6fld.jpg" group-title="手工绘画", 五伏第247图|3D 打印建模定制涂装 +https://live.ottiptv.cc/bilibili/25144281 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000032461702os1z2n.jpg" group-title="手工绘画", 画画(p≧w≦q) +https://live.ottiptv.cc/bilibili/32461702 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000002930765xkwjxc.jpg" group-title="手工绘画", 画设计 +https://live.ottiptv.cc/bilibili/2930765 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225001917338970znp72p.jpg" group-title="手工绘画", 绘画新手摸鱼中。。。 +https://live.ottiptv.cc/bilibili/1917338970 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012250000324778041pwyv9.jpg" group-title="生活杂谈", 董事长不要吃了,反正热度也不在了! +https://live.ottiptv.cc/bilibili/32477804 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000008788863tnocjj.jpg" group-title="手工绘画", 看看咋了 +https://live.ottiptv.cc/bilibili/8788863 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225001829748527lopu1e.jpg" group-title="手工绘画", This is a title +https://live.ottiptv.cc/bilibili/1829748527 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000026560361iog85f.jpg" group-title="萌宠", 主播是两只猫咪啊 +https://live.ottiptv.cc/bilibili/26560361 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000030620240w27ysk.jpg" group-title="时尚", 马登爆款羽绒服补货开炸! +https://live.ottiptv.cc/bilibili/30620240 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000026332870e2kiro.jpg" group-title="手工绘画", 想要成为卡密画师的不知道第几天 +https://live.ottiptv.cc/bilibili/26332870 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe0110122500000791148772w4o3.jpg" group-title="萌宠", 帮忙看看猫猫在干嘛 +https://live.ottiptv.cc/bilibili/7911487 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000000171561kcp0zn.jpg" group-title="户外", 云游桂林网约版 +https://live.ottiptv.cc/bilibili/171561 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live/user_cover/9fdf2276aa50beec506927b818e33c0cd7851441.jpg" group-title="生活杂谈", lgugufgkvygug +https://live.ottiptv.cc/bilibili/27273718 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000009161825dq1ikp.jpg" group-title="手工绘画", 得意的老鼠在画画123 +https://live.ottiptv.cc/bilibili/9161825 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012260000009432025g1gnm.jpg" group-title="手工绘画", 老电影系列 +https://live.ottiptv.cc/bilibili/943202 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012260000304734632o6h48.jpg" group-title="电子榨菜", 帮人改音mad +https://live.ottiptv.cc/bilibili/30473463 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe0110122600183009619655s6o8.jpg" group-title="电子榨菜", 今日推荐:错位千金,偏执傅少的心尖宠 +https://live.ottiptv.cc/bilibili/1830096196 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000007231051rmcblt.jpg" group-title="手工绘画", 画大大 +https://live.ottiptv.cc/bilibili/7231051 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012250000217239571eo35d.jpg" group-title="户外", 零基础【成人】吉他、贝斯、架子鼓兴趣教学 +https://live.ottiptv.cc/bilibili/21723957 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012250019926947573up4pn.jpg" group-title="手工绘画", 没人疼就去画画,画完浑身疼 +https://live.ottiptv.cc/bilibili/1992694757 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000007874630hjg9ga.jpg" group-title="情感杂谈", 斗地主之亡做会儿每日 +https://live.ottiptv.cc/bilibili/7874630 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000012541925gzi0x7.jpg" group-title="生活杂谈", awmc +https://live.ottiptv.cc/bilibili/12541925 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000009390880hbnyny.jpg" group-title="萌宠", 【云养鸟】老二被黑色麻袋套走了~ +https://live.ottiptv.cc/bilibili/9390880 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226001869215956zgez9u.jpg" group-title="手工绘画", 将如白鸟般振翅四海为家 +https://live.ottiptv.cc/bilibili/1869215956 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012260019221757322zye1f.jpg" group-title="手工绘画", 新手学画画 +https://live.ottiptv.cc/bilibili/1922175732 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000021770930wvbh7o.jpg" group-title="手工绘画", 画会/玩会 +https://live.ottiptv.cc/bilibili/21770930 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000000059380hh7gon.jpg" group-title="手工绘画", 赚罐罐 +https://live.ottiptv.cc/bilibili/59380 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000030480050w2xt9m.jpg" group-title="时尚", 玛瑙手镯上新清仓 +https://live.ottiptv.cc/bilibili/30480050 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe0110122500002216022890rvx5.jpg" group-title="户外", 美亚柏科培训大楼海景直播 +https://live.ottiptv.cc/bilibili/22160228 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000022267060dp0kug.jpg" group-title="时尚", 战锤40K 圣血天使军书点评 +https://live.ottiptv.cc/bilibili/22267060 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000010654745ejagjp.jpg" group-title="手工绘画", 终于休息日了,画画 +https://live.ottiptv.cc/bilibili/10654745 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000032414540yk4l06.jpg" group-title="手工绘画", 来坐牢 +https://live.ottiptv.cc/bilibili/32414540 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012250000118229401i2lva.jpg" group-title="手工绘画", 《艺术女神说我下头》422集 +https://live.ottiptv.cc/bilibili/11822940 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000005348668ge9sbr.jpg" group-title="电子榨菜", aaa专业代肝 +https://live.ottiptv.cc/bilibili/5348668 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000008416247yz4hrz.jpg" group-title="手工绘画", 改开题改的精神失常的赛博女工抽空卖艺 +https://live.ottiptv.cc/bilibili/8416247 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225001981533694k0cq99.jpg" group-title="手工绘画", 直播画画 +https://live.ottiptv.cc/bilibili/1981533694 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225001964568794g1n6as.jpg" group-title="手工绘画", 能画多少画多少吧,摆了 +https://live.ottiptv.cc/bilibili/1964568794 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000000081431f6woa3.jpg" group-title="手工绘画", 疯三石漫画室-迈向精草 +https://live.ottiptv.cc/bilibili/81431 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012260018535497812uc99a.jpg" group-title="时尚", 珠宝源头 工厂直销 支持定制 +https://live.ottiptv.cc/bilibili/1853549781 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226001716074586wwldn4.jpg" group-title="生活杂谈", 天天播!!!!干!!! +https://live.ottiptv.cc/bilibili/1716074586 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000003252865i0o3t2.jpg" group-title="手工绘画", 练习+点歌台 +https://live.ottiptv.cc/bilibili/3252865 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000023913208aj25nf.jpg" group-title="手工绘画", 从零开始学设计之三亿鼠标的枪战梦想 +https://live.ottiptv.cc/bilibili/23913208 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000007350391qd4x18.jpg" group-title="手工绘画", 别学隔壁大姐姐新年还在赶稿 +https://live.ottiptv.cc/bilibili/7350391 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000030491321guva4i.jpg" group-title="手工绘画", 立志为尘白所有人物穿上连裤袜 +https://live.ottiptv.cc/bilibili/30491321 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000031860888uwul2o.jpg" group-title="手工绘画", 浅尝9块钱的麦克风 +https://live.ottiptv.cc/bilibili/31860888 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000003052347v4jn22.jpg" group-title="生活杂谈", see +https://live.ottiptv.cc/bilibili/3052347 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000000389072rp2h8q.jpg" group-title="手工绘画", 画画分镜 +https://live.ottiptv.cc/bilibili/389072 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000000036152dppgna.jpg" group-title="手工绘画", 芹菜的日常赶稿直播间 +https://live.ottiptv.cc/bilibili/36152 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000007867714lpcnr7.jpg" group-title="手工绘画", 重生之在blender当理发师 +https://live.ottiptv.cc/bilibili/7867714 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225001780366055z5vmxq.jpg" group-title="手工绘画", 画画自习室~ +https://live.ottiptv.cc/bilibili/1780366055 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012260000024094260vc9og.jpg" group-title="沉浸体验", 【郑州】模誉动漫模型店&战锤俱乐部 +https://live.ottiptv.cc/bilibili/2409426 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225001920780695kzx21n.jpg" group-title="手工绘画", 7× +https://live.ottiptv.cc/bilibili/1920780695 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225001990577208iehw65.jpg" group-title="手工绘画", 画到死 +https://live.ottiptv.cc/bilibili/1990577208 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000002344674zejn3v.jpg" group-title="手工绘画", 一扇亮了又暗的窗 +https://live.ottiptv.cc/bilibili/2344674 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000030965084ir9ufq.jpg" group-title="时尚", 爆款价格直降!!全店满300立减25! +https://live.ottiptv.cc/bilibili/30965084 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000032018747gilaiw.jpg" group-title="手工绘画", 晚上好画稿 +https://live.ottiptv.cc/bilibili/32018747 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225001794042688kdzvas.jpg" group-title="手工绘画", 画画怎么这么难啊 +https://live.ottiptv.cc/bilibili/1794042688 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000000202651va0oth.jpg" group-title="手工绘画", 逃离北海道 +https://live.ottiptv.cc/bilibili/202651 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000005244537xjud96.jpg" group-title="沉浸体验", 车翻了,赚钱修车! +https://live.ottiptv.cc/bilibili/5244537 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000024911210i0mx5d.jpg" group-title="手工绘画", pad画画好难 +https://live.ottiptv.cc/bilibili/24911210 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000004620937s4qc46.jpg" group-title="手工绘画", 来吧, 放松的时间到了 +https://live.ottiptv.cc/bilibili/4620937 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012260018152253728873sj.jpg" group-title="手工绘画", 云顶酵母 +https://live.ottiptv.cc/bilibili/1815225372 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012260000005823518cc7nt.jpg" group-title="手工绘画", 埋伏打字 +https://live.ottiptv.cc/bilibili/582351 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226001975551946znvz2r.jpg" group-title="手工绘画", 基本功练习 +https://live.ottiptv.cc/bilibili/1975551946 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000030676842a8j5n3.jpg" group-title="手工绘画", 直播监督自己吧 +https://live.ottiptv.cc/bilibili/30676842 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012260000019781532kni13.jpg" group-title="手工绘画", 随便画点 +https://live.ottiptv.cc/bilibili/1978153 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000022489456dqu50j.jpg" group-title="电子榨菜", 冲冲最速旅鸫 +https://live.ottiptv.cc/bilibili/22489456 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012250000320594171aqfqw.jpg" group-title="沉浸体验", 武汉拉邦O现场 +https://live.ottiptv.cc/bilibili/32059417 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe0110122500000854466770xhmw.jpg" group-title="情感杂谈", 播给神人的直播间 +https://live.ottiptv.cc/bilibili/8544667 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225001716072287wrznph.jpg" group-title="生活杂谈", 什么都干 +https://live.ottiptv.cc/bilibili/1716072287 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe0110122500003098501465iric.jpg" group-title="电子榨菜", 机坝最后的利剑 +https://live.ottiptv.cc/bilibili/30985014 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225001968483685duz92e.jpg" group-title="手工绘画", 摸鱼 +https://live.ottiptv.cc/bilibili/1968483685 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000007858743oacpn7.jpg" group-title="手工绘画", 只是计算器 +https://live.ottiptv.cc/bilibili/7858743 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000003434494mq7p5h.jpg" group-title="手工绘画", 抱着八年老数位板艰难匍匐前行 +https://live.ottiptv.cc/bilibili/3434494 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012260000151292760tc8hv.jpg" group-title="手工绘画", 30年模型店 工作室开张模型售卖代工维修 +https://live.ottiptv.cc/bilibili/15129276 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe0110122600000315214957i8z1.jpg" group-title="沉浸体验", 午睡电台 +https://live.ottiptv.cc/bilibili/3152149 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225001783350639ugoq0s.jpg" group-title="沉浸体验", ROG装机天花板2台 +https://live.ottiptv.cc/bilibili/1783350639 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012260000249937636d85z1.jpg" group-title="手工绘画", 2026研修班和画室内训报名啦 +https://live.ottiptv.cc/bilibili/24993763 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225001804891490j41bb2.jpg" group-title="手工绘画", 地花板天赋画渣 日常练习 +https://live.ottiptv.cc/bilibili/1804891490 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000004181524wkxwzt.jpg" group-title="手工绘画", 虾滑直播间 +https://live.ottiptv.cc/bilibili/4181524 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225001940982745ouu8gs.jpg" group-title="运动体育", 挂机锻炼一会 +https://live.ottiptv.cc/bilibili/1940982745 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012250019359318651la1la.jpg" group-title="手工绘画", 画稿子(二分 +https://live.ottiptv.cc/bilibili/1935931865 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000002325051cmtnxd.jpg" group-title="手工绘画", ddl逐渐杀过来了……! +https://live.ottiptv.cc/bilibili/2325051 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226001830095546pz8lsq.jpg" group-title="手工绘画", 监督我速涂 +https://live.ottiptv.cc/bilibili/1830095546 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000000697519j9onh7.jpg" group-title="电子榨菜", 放松鱼缸,进来听歌聊天吧 +https://live.ottiptv.cc/bilibili/697519 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225001724211694t175wo.jpg" group-title="手工绘画", 拼尽全力无法战胜画画 +https://live.ottiptv.cc/bilibili/1724211694 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000009119922lt5eqr.jpg" group-title="萌宠", 猫猫队在线拆家/打滚儿/追跑打闹/睡大觉 +https://live.ottiptv.cc/bilibili/9119922 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012250000220635873f05fu.jpg" group-title="手工绘画", 国画,如何正确有效的学习山水画 +https://live.ottiptv.cc/bilibili/22063587 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012260000311917338ra8lq.jpg" group-title="时尚", 美式复古工装! +https://live.ottiptv.cc/bilibili/31191733 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000027386393abifda.jpg" group-title="手工绘画", 学画画 +https://live.ottiptv.cc/bilibili/27386393 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225001753192798so74kt.jpg" group-title="手工绘画", 迷迷糊糊中 +https://live.ottiptv.cc/bilibili/1753192798 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225001854319087cssuok.jpg" group-title="电子榨菜", Baby Be Mine扒带 +https://live.ottiptv.cc/bilibili/1854319087 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000032433963h59gbj.jpg" group-title="电子榨菜", 随便玩玩 +https://live.ottiptv.cc/bilibili/32433963 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000021453102sgh4nu.jpg" group-title="电子榨菜", 真不会打 +https://live.ottiptv.cc/bilibili/21453102 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000030086633tzefo4.jpg" group-title="手工绘画", 画到2026年 +https://live.ottiptv.cc/bilibili/30086633 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000022271430oncplv.jpg" group-title="手工绘画", 画画本是逆天行 +https://live.ottiptv.cc/bilibili/22271430 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225001990573247eb21yq.jpg" group-title="手工绘画", AAA猫毛大甩卖 +https://live.ottiptv.cc/bilibili/1990573247 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000005439532ysvu20.jpg" group-title="运动体育", 成都羽毛球拍穿线 +https://live.ottiptv.cc/bilibili/5439532 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000022685818t6yos6.jpg" group-title="美食", 伟龙小饼干双十一提前购 +https://live.ottiptv.cc/bilibili/22685818 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225001836260865ezn3tu.jpg" group-title="时尚", 桑蚕丝亚麻源头工厂专场! +https://live.ottiptv.cc/bilibili/1836260865 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000024653486tfo5p3.jpg" group-title="户外", 周末,玩玩儿 +https://live.ottiptv.cc/bilibili/24653486 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012260000222664236jy9gm.jpg" group-title="电子榨菜", 小人大冒险 +https://live.ottiptv.cc/bilibili/22266423 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012260000223258066wi7vx.jpg" group-title="户外", 高崖子天文台全天系统 +https://live.ottiptv.cc/bilibili/22325806 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000021954360884pa2.jpg" group-title="手工绘画", 画画监工 +https://live.ottiptv.cc/bilibili/21954360 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000031665214hva2yx.jpg" group-title="手工绘画", 画一会二 +https://live.ottiptv.cc/bilibili/31665214 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000004965740g1beak.jpg" group-title="手工绘画", 人体马拉松,挑战48h掌握 +https://live.ottiptv.cc/bilibili/4965740 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012250000146694085w4s90.jpg" group-title="户外", 周仙人 +https://live.ottiptv.cc/bilibili/14669408 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000027326929r13bwi.jpg" group-title="手工绘画", 画画是什么感觉 +https://live.ottiptv.cc/bilibili/27326929 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000026147445hfwr0v.jpg" group-title="萌宠", 自助看鱼,胭脂鱼入缸 +https://live.ottiptv.cc/bilibili/26147445 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe0110122500002770974013usnv.jpg" group-title="手工绘画", 开启直播防止画画时打游戏 +https://live.ottiptv.cc/bilibili/27709740 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000003840022q5zc60.jpg" group-title="手工绘画", 凌晨14点 +https://live.ottiptv.cc/bilibili/3840022 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000005625968k14fyy.jpg" group-title="手工绘画", 无偿量产中。。。 +https://live.ottiptv.cc/bilibili/5625968 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226001922217576yzk7ax.jpg" group-title="时尚", 这种文玩越养越值钱,你养过吗? +https://live.ottiptv.cc/bilibili/1922217576 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000031336573798zdn.jpg" group-title="萌宠", 进来一起晒太阳吧 +https://live.ottiptv.cc/bilibili/31336573 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225001791985874o4ax3y.jpg" group-title="手工绘画", 画!画! +https://live.ottiptv.cc/bilibili/1791985874 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000023346232z1iaxi.jpg" group-title="生活杂谈", 翡翠 卡特 慧 专精 +https://live.ottiptv.cc/bilibili/23346232 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225001852871850s9icuu.jpg" group-title="生活杂谈", 开启寒假 +https://live.ottiptv.cc/bilibili/1852871850 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000023391572sl8mmc.jpg" group-title="沉浸体验", 0ps0 +https://live.ottiptv.cc/bilibili/23391572 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000021768946uwvfxl.jpg" group-title="手工绘画", 那就画呗 +https://live.ottiptv.cc/bilibili/21768946 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000001198507m2r6kt.jpg" group-title="手工绘画", 画完你的画你的 +https://live.ottiptv.cc/bilibili/1198507 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000030381456b6xhup.jpg" group-title="萌宠", 小鸡努力赚粮 亚马逊,折衷海外合法饲养 +https://live.ottiptv.cc/bilibili/30381456 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000022881245ehtl3u.jpg" group-title="沉浸体验", 纯k柯南歌曲专场拼好k +https://live.ottiptv.cc/bilibili/22881245 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012260000314326391mxval.jpg" group-title="电子榨菜", 体育 james +https://live.ottiptv.cc/bilibili/31432639 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226001731717381dnvxl7.jpg" group-title="萌宠", 被检测挂机的沙发兔复播了 +https://live.ottiptv.cc/bilibili/1731717381 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225001746707270jcwpc4.jpg" group-title="生活杂谈", 2026年,松弛人生,早安 +https://live.ottiptv.cc/bilibili/1746707270 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000023314716kwnmpz.jpg" group-title="手工绘画", 画一笔撤回一笔何尝不是一种行为艺术 +https://live.ottiptv.cc/bilibili/23314716 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000030910123xja3p9.jpg" group-title="手工绘画", (・Д・)激情画稿中 +https://live.ottiptv.cc/bilibili/30910123 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000025357106ehdczw.jpg" group-title="手工绘画", 这是我的工作 +https://live.ottiptv.cc/bilibili/25357106 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000004483433oqswng.jpg" group-title="手工绘画", 建模自习室 +https://live.ottiptv.cc/bilibili/4483433 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012260000245354310fackq.jpg" group-title="电子榨菜", 没有灵根真的不能修仙吗(; _ ;) +https://live.ottiptv.cc/bilibili/24535431 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012250000027988656gszp5.jpg" group-title="手工绘画", 练习画画 +https://live.ottiptv.cc/bilibili/2798865 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000026673577pzs3uq.jpg" group-title="沉浸体验", 十三徽外 +https://live.ottiptv.cc/bilibili/26673577 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000032374534ppmxfe.jpg" group-title="户外", 黑公司打工吗喽猿神启动 +https://live.ottiptv.cc/bilibili/32374534 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012250017312519174xc16i.jpg" group-title="情感杂谈", 我要成为杰米大王 +https://live.ottiptv.cc/bilibili/1731251917 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226001967507863kw0l94.jpg" group-title="手工绘画", 捏别人家康拉德科兹 +https://live.ottiptv.cc/bilibili/1967507863 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000031538886ge2ezr.jpg" group-title="户外", 郑州漫玩屋高达手办模型店 +https://live.ottiptv.cc/bilibili/31538886 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000001614643llsnbh.jpg" group-title="萌宠", 鹦鹉卖艺过冬 +https://live.ottiptv.cc/bilibili/1614643 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012250000096313352f5qz9.jpg" group-title="手工绘画", 梅花山上作画 +https://live.ottiptv.cc/bilibili/9631335 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225001886448794ab0r1v.jpg" group-title="萌宠", 逛农村宠物大集 富婆们 进来看看 +https://live.ottiptv.cc/bilibili/1886448794 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000031113872j8ejib.jpg" group-title="手工绘画", 格兰德里昂 +https://live.ottiptv.cc/bilibili/31113872 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000014537664pk1x96.jpg" group-title="手工绘画", 跌跌撞撞的颠倒旅行 +https://live.ottiptv.cc/bilibili/14537664 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000032600166j2ryo5.jpg" group-title="电子榨菜", 胡子直播DIY组装电脑 +https://live.ottiptv.cc/bilibili/32600166 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225001898565660407x1i.jpg" group-title="生活杂谈", ( +https://live.ottiptv.cc/bilibili/1898565660 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000008814568juw3sg.jpg" group-title="手工绘画", 该稿了 +https://live.ottiptv.cc/bilibili/8814568 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226001880712513j3277g.jpg" group-title="时尚", 你喜欢的饰品 这里都有 +https://live.ottiptv.cc/bilibili/1880712513 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000022446951zrtjhf.jpg" group-title="运动体育", 赵玮-中炮对顺跑开局讲座 +https://live.ottiptv.cc/bilibili/22446951 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe0110122600000670962941xiiu.jpg" group-title="手工绘画", 好想偷懒…… +https://live.ottiptv.cc/bilibili/6709629 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225001875090910esy4ga.jpg" group-title="户外", 让高端渔具不再高价 +https://live.ottiptv.cc/bilibili/1875090910 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225001754791035v1f3ys.jpg" group-title="手工绘画", 画稿或者摸鱼 +https://live.ottiptv.cc/bilibili/1754791035 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe0110122500000640167548ubbt.jpg" group-title="沉浸体验", 一月新番 +https://live.ottiptv.cc/bilibili/6401675 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012250000081518076hany5.jpg" group-title="美食", OOPZ团友团建 +https://live.ottiptv.cc/bilibili/8151807 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000012250849za6rwq.jpg" group-title="手工绘画", 日常涂鸦摸鱼 +https://live.ottiptv.cc/bilibili/12250849 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101221000014540691bb9ugp.jpg" group-title="手工绘画", 督促自己画画 +https://live.ottiptv.cc/bilibili/14540691 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000030787814v9tx4b.jpg" group-title="手工绘画", 细化 +https://live.ottiptv.cc/bilibili/30787814 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000026587424vblv0g.jpg" group-title="手工绘画", 我不得劲儿 +https://live.ottiptv.cc/bilibili/26587424 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000022205575jj7irh.jpg" group-title="运动体育", 娱乐表演赛无版权争议 +https://live.ottiptv.cc/bilibili/22205575 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000022397212vmtkvo.jpg" group-title="沉浸体验", 手工晒纸工艺慢直播展示 +https://live.ottiptv.cc/bilibili/22397212 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000005158515hzo40l.jpg" group-title="手工绘画", 摸 +https://live.ottiptv.cc/bilibili/5158515 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000003094682qn1fim.jpg" group-title="手工绘画", 今天画第五人格插图 +https://live.ottiptv.cc/bilibili/3094682 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012260019221744733g7sdl.jpg" group-title="沉浸体验", 云游浪巴铺,光影勾勒地质奇观 +https://live.ottiptv.cc/bilibili/1922174473 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe0110122600000854395933oj5f.jpg" group-title="电子榨菜", 新版本 +https://live.ottiptv.cc/bilibili/8543959 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226001935937176r2uqbu.jpg" group-title="时尚", 缅甸首个翡翠直播间 +https://live.ottiptv.cc/bilibili/1935937176 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225001755261317gj8cyl.jpg" group-title="手工绘画", 符青符手书产出ing +https://live.ottiptv.cc/bilibili/1755261317 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012260017608149211b6xio.jpg" group-title="手工绘画", 玩会 +https://live.ottiptv.cc/bilibili/1760814921 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012260000233802222gydlv.jpg" group-title="手工绘画", 听歌 +https://live.ottiptv.cc/bilibili/23380222 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012260000248201633x5ry6.jpg" group-title="生活杂谈", 还我大帝之梦 +https://live.ottiptv.cc/bilibili/24820163 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000021971542vaah31.jpg" group-title="萌宠", 各种蛋蛋的孵化!蛋蛋陆续破壳中! +https://live.ottiptv.cc/bilibili/21971542 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012250000257503307j52c4.jpg" group-title="手工绘画", 没错!又要开新稿了! +https://live.ottiptv.cc/bilibili/25750330 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226001819585011amlrnt.jpg" group-title="美食", 买茉莉花茶,就来津沽老二 +https://live.ottiptv.cc/bilibili/1819585011 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000011694695uvu75k.jpg" group-title="手工绘画", 画不完不准下播 +https://live.ottiptv.cc/bilibili/11694695 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226001878511019lhr07e.jpg" group-title="电子榨菜", 欧卡2.新手上路第N天 +https://live.ottiptv.cc/bilibili/1878511019 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000024062477mcpxwu.jpg" group-title="手工绘画", 好难画好难画好难画—— +https://live.ottiptv.cc/bilibili/24062477 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226001886444252fnrot5.jpg" group-title="生活杂谈", 诗朗诵 修LOG二审真开心 +https://live.ottiptv.cc/bilibili/1886444252 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000000496999w1kdk4.jpg" group-title="手工绘画", 熟悉一下tourbox打碟 +https://live.ottiptv.cc/bilibili/496999 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000030700965zlir8u.jpg" group-title="时尚", 微胖救星!白鸭绒羽绒服遮肉绝了 +https://live.ottiptv.cc/bilibili/30700965 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000022402928vi33o8.jpg" group-title="生活杂谈", 自己人 +https://live.ottiptv.cc/bilibili/22402928 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000000817636obfwnk.jpg" group-title="手工绘画", 不想上班 +https://live.ottiptv.cc/bilibili/817636 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000008972869cy7350.jpg" group-title="生活杂谈", MFS A306 德班-内罗毕 +https://live.ottiptv.cc/bilibili/8972869 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000021345100t8g7ns.jpg" group-title="时尚", DJ打碟电音云蹦迪电子音乐迪厅云酒吧 +https://live.ottiptv.cc/bilibili/21345100 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000026380976rcew13.jpg" group-title="手工绘画", 被小兔禁用了图层工具 +https://live.ottiptv.cc/bilibili/26380976 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012260019207804013z2x0y.jpg" group-title="美食", 一物一拍 所见所得 +https://live.ottiptv.cc/bilibili/1920780401 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225001842864908nro5pw.jpg" group-title="萌宠", 猫咪琅玛直播 +https://live.ottiptv.cc/bilibili/1842864908 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226001917292009anoua9.jpg" group-title="手工绘画", 随便画画 +https://live.ottiptv.cc/bilibili/1917292009 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000021340971wvretk.jpg" group-title="沉浸体验", 噪音 24小时直播音MAD沉浸电台 +https://live.ottiptv.cc/bilibili/21340971 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000025720397iv3kee.jpg" group-title="手工绘画", 画会儿画,聊聊天 +https://live.ottiptv.cc/bilibili/25720397 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000021684288ma224t.jpg" group-title="手工绘画", 画完你的画你的画完你的画你的 +https://live.ottiptv.cc/bilibili/21684288 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225001856569735gbp2oa.jpg" group-title="手工绘画", 画稿然后速写day1 +https://live.ottiptv.cc/bilibili/1856569735 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000031726594llor0n.jpg" group-title="萌宠", 邓兔的悖论~ +https://live.ottiptv.cc/bilibili/31726594 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000031671433jfn5sd.jpg" group-title="生活杂谈", 6k到上课 +https://live.ottiptv.cc/bilibili/31671433 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000002292014qiap9w.jpg" group-title="手工绘画", 我们一起来画妈妈吧 +https://live.ottiptv.cc/bilibili/2292014 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101221000024636416xn5hsk.jpg" group-title="生活杂谈", 修音修修修 +https://live.ottiptv.cc/bilibili/24636416 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000032039509l2rg5v.jpg" group-title="手工绘画", 画画,进来点歌 +https://live.ottiptv.cc/bilibili/32039509 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225001896763408j9asgo.jpg" group-title="手工绘画", 画 +https://live.ottiptv.cc/bilibili/1896763408 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012260000046219225r13nu.jpg" group-title="生活杂谈", 牛马剪辑年会视频 +https://live.ottiptv.cc/bilibili/4621922 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012250000012894854awoat.jpg" group-title="手工绘画", 【无声版】奋斗!努力养活自己!! +https://live.ottiptv.cc/bilibili/1289485 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012250000042192497ha20x.jpg" group-title="手工绘画", 押韵直播间No wif,no life. +https://live.ottiptv.cc/bilibili/4219249 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000000058470twj9eo.jpg" group-title="手工绘画", 边看动画边画稿 +https://live.ottiptv.cc/bilibili/58470 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000006008939gyh14e.jpg" group-title="手工绘画", 寂寞难耐 一人深夜偷偷画画 +https://live.ottiptv.cc/bilibili/6008939 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000027607822ma4us1.jpg" group-title="手工绘画", 说是在画画 +https://live.ottiptv.cc/bilibili/27607822 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225001852501720yc804x.jpg" group-title="手工绘画", 听东西赶工 +https://live.ottiptv.cc/bilibili/1852501720 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe0110122500001264009562qeox.jpg" group-title="手工绘画", 直播恰饭l +https://live.ottiptv.cc/bilibili/12640095 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226000023754356mmq1of.jpg" group-title="沉浸体验", VIP-装机直播 +https://live.ottiptv.cc/bilibili/23754356 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe0110122600000642815372rl0d.jpg" group-title="生活杂谈", 小日子走那个秀 +https://live.ottiptv.cc/bilibili/6428153 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226001911275212lxugwu.jpg" group-title="手工绘画", 数位板复建 +https://live.ottiptv.cc/bilibili/1911275212 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe011012250000023553743cxdky.jpg" group-title="手工绘画", 摸 +https://live.ottiptv.cc/bilibili/2355374 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226001849827979ud14xo.jpg" group-title="手工绘画", 白天赶一下项目,然后建左乐 +https://live.ottiptv.cc/bilibili/1849827979 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225001984180870tfr9p9.jpg" group-title="沉浸体验", 窝要盐牌 +https://live.ottiptv.cc/bilibili/1984180870 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225001963473220v4putc.jpg" group-title="情感杂谈", 抄经 +https://live.ottiptv.cc/bilibili/1963473220 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live/new_room_cover/5cef77288cb1525f92cef18290445ffa43571e38.jpg" group-title="手工绘画", 稿一手 +https://live.ottiptv.cc/bilibili/1481541 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000021957825jgqofh.jpg" group-title="手工绘画", 进来听闺蜜之主 +https://live.ottiptv.cc/bilibili/21957825 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101226001808576182l1rag1.jpg" group-title="手工绘画", 驯服数位屏中 +https://live.ottiptv.cc/bilibili/1808576182 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225001886448675r0buvt.jpg" group-title="手工绘画", 鼠鼠的画画自习室 +https://live.ottiptv.cc/bilibili/1886448675 +#EXTINF:-1 tvg-logo="https://i0.hdslb.com/bfs/live-key-frame/keyframe01101225000026709675sgnikb.jpg" group-title="手工绘画", zzz! +https://live.ottiptv.cc/bilibili/26709675 diff --git a/tvboxqq/tvboxqq/饭太硬/lives/YY轮播.txt b/tvboxqq/tvboxqq/饭太硬/lives/YY轮播.txt new file mode 100644 index 0000000..3a02818 --- /dev/null +++ b/tvboxqq/tvboxqq/饭太硬/lives/YY轮播.txt @@ -0,0 +1,1195 @@ +#EXTM3U +#EXTINF:-1 tvg-name="2026-01-10 12:28:04" tvg-logo="https://cdn.jsdelivr.net/gh/feiyang666999/testvideo/tg.jpg" group-title="列表更新时间",2026-01-10 12:28:04 +https://cdn.jsdelivr.net/gh/feiyang666999/testvideo/time/time.mp4 +#EXTINF:-1 tvg-name="4K60PSDR-H264-AAC测试" tvg-logo="https://cdn.jsdelivr.net/gh/feiyang666999/testvideo/tg.jpg" group-title="4K频道",4K60PSDR-H264-AAC测试 +https://cdn.jsdelivr.net/gh/feiyang666999/testvideo/sdr4kvideo/playlist.m3u8 +#EXTINF:-1 tvg-name="4K60PHLG-HEVC-EAC3测试" tvg-logo="https://cdn.jsdelivr.net/gh/feiyang666999/testvideo/tg.jpg" group-title="4K频道",4K60PHLG-HEVC-EAC3测试 +https://cdn.jsdelivr.net/gh/feiyang666999/testvideo/hlg4kvideo/playlist.m3u8 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 武林外传 +https://yylunbo.ottiptv.cc/yy/1355652820 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 超精彩武打场景 +https://yylunbo.ottiptv.cc/yy/1354936131 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/640/640/11/2544112607/u25441126077cuzOCM.jpg" group-title="zonghe", 晾剑 电视剧 +https://yylunbo.ottiptv.cc/yy/1451866697 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/640/640/78/2242788982/u2242788982KKxPFSF.jpg" group-title="zonghe", 武林外传 超清 +https://yylunbo.ottiptv.cc/yy/21092633 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/6060/60/60/77/1755778855/u1755778855vEcHMAx.jpg" group-title="zonghe", 【鹿鼎记】金庸经典 +https://yylunbo.ottiptv.cc/yy/28265277 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 金牌配角达叔系列 +https://yylunbo.ottiptv.cc/yy/1354888728 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/6060/60/60/15/1536159096/u1536159096mZClTOe.jpeg" group-title="zonghe", 林正英-经典电影 +https://yylunbo.ottiptv.cc/yy/34229877 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 靓剑 +https://yylunbo.ottiptv.cc/yy/1356043643 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 弹幕天团 下饭神剧 +https://yylunbo.ottiptv.cc/yy/23512910 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", YY用户 +https://yylunbo.ottiptv.cc/yy/1382735553 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 请回答1988 +https://yylunbo.ottiptv.cc/yy/1354932362 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/640/640/13/2677139677/u2677139677zGvbYdJ.jpg" group-title="zonghe", 【狂飙2老默】首播 +https://yylunbo.ottiptv.cc/yy/1354790484 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 神医喜来乐 +https://yylunbo.ottiptv.cc/yy/1382714119 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/6060/60/60/00/2228009724/u2228009724fD4o8rY.png" group-title="zonghe", 【新三国】萌儿陪看 +https://yylunbo.ottiptv.cc/yy/29216766 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/640/640/97/2509978304/u2509978304IyBTrdR.jpg" group-title="zonghe", 水浒传 +https://yylunbo.ottiptv.cc/yy/1353852605 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 少年包青天 +https://yylunbo.ottiptv.cc/yy/1356043677 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/6060/60/60/47/2552474340/u2552474340uVnsyqv.png" group-title="zonghe", 纪晓岚 +https://yylunbo.ottiptv.cc/yy/1354143978 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 雍正王朝 +https://yylunbo.ottiptv.cc/yy/1356043620 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 济公 +https://yylunbo.ottiptv.cc/yy/1355265814 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 赵本山《蓝光版》 +https://yylunbo.ottiptv.cc/yy/32160832 +#EXTINF:-1 tvg-logo="http://s1.yy.com/guild/header/10138.jpg" group-title="zonghe", 赵本山《超清版》 +https://yylunbo.ottiptv.cc/yy/1382683959 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/640/640/38/2394384122/u2394384122VQdi7gf.jpg" group-title="zonghe", 大染坊 +https://yylunbo.ottiptv.cc/yy/1353215589 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 宰相刘罗锅 +https://yylunbo.ottiptv.cc/yy/1382745191 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 地下交通站 +https://yylunbo.ottiptv.cc/yy/1382736795 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 正阳门下 +https://yylunbo.ottiptv.cc/yy/1354931580 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 非常保镖-经典港剧 +https://yylunbo.ottiptv.cc/yy/1382736903 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 不可能的任务-碟中谍4 +https://yylunbo.ottiptv.cc/yy/1354930967 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 强悍“杀猪婆”的励志人生 +https://yylunbo.ottiptv.cc/yy/1354658062 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/640/640/97/1721970758/u1721970758EWwEW2Y.jpg" group-title="zonghe", 【周星驰】搞笑电影 +https://yylunbo.ottiptv.cc/yy/38670875 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 内在美-伊人有约 +https://yylunbo.ottiptv.cc/yy/1382737892 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/640/640/42/1834428187/u18344281871tRaM8i.jpg" group-title="zonghe", 封神榜 +https://yylunbo.ottiptv.cc/yy/1353426319 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 我的前半生 +https://yylunbo.ottiptv.cc/yy/1382735564 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/640/640/45/2288454061/u2288454061D_S5gvc.jpg" group-title="zonghe", 朵宝陪你看狄仁杰 +https://yylunbo.ottiptv.cc/yy/1353753252 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/640/640/52/2663522678/u2663522678-Zx2bVq.png" group-title="zonghe", 勇敢的心~24经典好剧 +https://yylunbo.ottiptv.cc/yy/1354744544 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/640/640/47/0990479943/u990479943HazBdS_8.jpg" group-title="zonghe", 李连杰功夫 经典武侠 +https://yylunbo.ottiptv.cc/yy/74613175 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 欢乐集结号-每天笑不停 +https://yylunbo.ottiptv.cc/yy/1382741642 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/6060/60/60/19/2291192155/u2291192155VSmTZGl.png" group-title="zonghe", 小蓉儿 正在直播 +https://yylunbo.ottiptv.cc/yy/1351762426 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/640/640/80/2463800499/u2463800499Zqc-Oe-.jpg" group-title="zonghe", 超喜剧地下交通站男神贾贵 +https://yylunbo.ottiptv.cc/yy/1353428972 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/6060/60/60/33/2291330905/u2291330905kCTWJIi.png" group-title="zonghe", 天龙八部 +https://yylunbo.ottiptv.cc/yy/1351814644 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/640/640/67/0058679144/u58679144Ahb7BFyxg.jpg" group-title="zonghe", 火凤凰 +https://yylunbo.ottiptv.cc/yy/1507704566 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/640/640/77/1647770566/u1647770566C7G-Usr.jpg" group-title="zonghe", 经典鬼片3000部 +https://yylunbo.ottiptv.cc/yy/29460894 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 雪中悍刀行 +https://yylunbo.ottiptv.cc/yy/1462996362 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/640/640/89/1715891810/u1715891810tXiuzKk.png" group-title="zonghe", 古惑仔 +https://yylunbo.ottiptv.cc/yy/1458015189 +#EXTINF:-1 tvg-logo="http://s1.yy.com/guild/header/10150.jpg" group-title="zonghe", 进来 陪你看动漫 +https://yylunbo.ottiptv.cc/yy/1352866135 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/6060/60/60/92/2456925852/u24569258522eM64JN.jpg" group-title="zonghe", 豪哥带我们发财 +https://yylunbo.ottiptv.cc/yy/23402146 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/6060/60/60/68/1150685483/u1150685483sTIw5Gq.png" group-title="zonghe", 林正英经典 +https://yylunbo.ottiptv.cc/yy/1351505899 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/640/640/69/2390690471/u2390690471Fa8wV10.png" group-title="zonghe", 闯关东 +https://yylunbo.ottiptv.cc/yy/1382626335 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/640/640/78/2846789998/u2846789998rB16bJr.png" group-title="zonghe", 港片 喜剧 动作 +https://yylunbo.ottiptv.cc/yy/1355480591 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/6060/60/60/80/2563804211/u2563804211WcYp9iK.png" group-title="zonghe", 新白娘子传奇 +https://yylunbo.ottiptv.cc/yy/1354490667 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 狄仁杰 +https://yylunbo.ottiptv.cc/yy/1351755386 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/640/640/60/2922604425/u2922604425Gp3ghJF.jpg" group-title="zonghe", 经典电影重温 +https://yylunbo.ottiptv.cc/yy/1382793140 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/640/640/24/1748242818/u1748242818T_zMUrb.jpg" group-title="zonghe", 经典港片动作搞笑 +https://yylunbo.ottiptv.cc/yy/1459869766 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/640/640/68/2676684134/u2676684134JPj4Cvo.png" group-title="zonghe", 雯子:随缘 正在直播 +https://yylunbo.ottiptv.cc/yy/1456829119 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/6060/60/60/24/2338241617/u2338241617rrt3MND.png" group-title="zonghe", 隋唐英雄传 +https://yylunbo.ottiptv.cc/yy/1352475619 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 薛仁贵传奇 +https://yylunbo.ottiptv.cc/yy/1355260662 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/6060/60/60/75/2318756333/u2318756333krWTK9R.png" group-title="zonghe", 燕双鹰 +https://yylunbo.ottiptv.cc/yy/1352227153 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/6060/60/60/53/2474538699/u2474538699rCvSZxg.jpg" group-title="zonghe", 热度榜1.包青天 +https://yylunbo.ottiptv.cc/yy/22701868 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/6060/60/60/68/2552687588/u2552687588tVBVkVY.png" group-title="zonghe", 燕双鹰 +https://yylunbo.ottiptv.cc/yy/1354143942 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/6060/60/60/91/2318917695/u2318917695RmfLHsx.png" group-title="zonghe", 纪晓岚 +https://yylunbo.ottiptv.cc/yy/1352227227 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/6060/60/60/13/2345135168/u23451351684XL-T35.png" group-title="zonghe", 康熙微服私访记 +https://yylunbo.ottiptv.cc/yy/1352811698 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 大家车言论 +https://yylunbo.ottiptv.cc/yy/1382570702 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/6060/60/60/49/2683492868/u2683492868f1o8Uq9.jpg" group-title="zonghe", 【狂飙】 +https://yylunbo.ottiptv.cc/yy/1354806550 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 《武林外传》武侠 +https://yylunbo.ottiptv.cc/yy/1394000563 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/640/640/09/2910095991/u29100959911f7FBSS.png" group-title="zonghe", 铁齿铜牙纪晓岚 +https://yylunbo.ottiptv.cc/yy/1382781415 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/6060/60/60/69/0063695166/u63695166-62tXa-Fx.png" group-title="zonghe", 24小时循环播电视剧 +https://yylunbo.ottiptv.cc/yy/53320802 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/6060/60/60/52/2454523392/u2454523392hIIEdOS.png" group-title="zonghe", 鹿鼎记-周星驰版 +https://yylunbo.ottiptv.cc/yy/1354658049 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/500/500/77/2956778172/u2956778172aZ2Pryh.jpg" group-title="zonghe", 正阳门下 +https://yylunbo.ottiptv.cc/yy/1382851588 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 二号交通站 +https://yylunbo.ottiptv.cc/yy/1382735582 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", YY用户 +https://yylunbo.ottiptv.cc/yy/1382736808 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 神探狄仁杰2 +https://yylunbo.ottiptv.cc/yy/1382828767 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", YY用户 +https://yylunbo.ottiptv.cc/yy/1382736810 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 神探狄仁杰1 +https://yylunbo.ottiptv.cc/yy/1354930934 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 父母爱情 +https://yylunbo.ottiptv.cc/yy/1354926650 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 炊事班的故事III +https://yylunbo.ottiptv.cc/yy/1382736716 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 法证先锋 +https://yylunbo.ottiptv.cc/yy/1354930939 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 双月之城-国漫 +https://yylunbo.ottiptv.cc/yy/1382736907 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 张国荣与周润发的兄弟情 +https://yylunbo.ottiptv.cc/yy/1354930961 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 大家都在看的电视剧 +https://yylunbo.ottiptv.cc/yy/1354930964 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/500/500/77/2956778179/u2956778179naZPtF0.jpg" group-title="zonghe", 士兵突击 +https://yylunbo.ottiptv.cc/yy/1382851600 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 少年包青天第三部 +https://yylunbo.ottiptv.cc/yy/1382851540 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/500/500/77/2956778164/u2956778164hU2c-xK.jpg" group-title="zonghe", 神探狄仁杰1 +https://yylunbo.ottiptv.cc/yy/1382851575 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 易中天品三国 +https://yylunbo.ottiptv.cc/yy/1354931498 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 欢乐集结号 +https://yylunbo.ottiptv.cc/yy/1354931582 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/500/500/77/2956778167/u2956778167Z_BVVcc.jpg" group-title="zonghe", 炊事班的故事II +https://yylunbo.ottiptv.cc/yy/1382851579 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 变形金刚 +https://yylunbo.ottiptv.cc/yy/1382736803 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", YY用户 +https://yylunbo.ottiptv.cc/yy/1382736885 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/500/500/62/2956624120/u2956624120ZpR05tB.jpg" group-title="zonghe", 大话西游至尊宝 +https://yylunbo.ottiptv.cc/yy/1382851590 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/500/500/77/2956778173/u2956778173d4Hhqbe.jpg" group-title="zonghe", 寻秦记-穿越剧经典 +https://yylunbo.ottiptv.cc/yy/1382851591 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 父母爱情 +https://yylunbo.ottiptv.cc/yy/1382851594 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 流行古装剧—知否知否应是绿肥红瘦 +https://yylunbo.ottiptv.cc/yy/1354936134 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/500/500/62/2956624118/u2956624118f61cBrp.jpg" group-title="zonghe", 康熙王朝 +https://yylunbo.ottiptv.cc/yy/1382851583 +#EXTINF:-1 tvg-logo="http://s1.yy.com/guild/header/10106.jpg" group-title="zonghe", 真实案件系列 +https://yylunbo.ottiptv.cc/yy/1382671124 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 经典大片合集 +https://yylunbo.ottiptv.cc/yy/1382749895 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", YY用户 +https://yylunbo.ottiptv.cc/yy/1382736838 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/640/640/39/2352397628/u2352397628duCl9HR.jpg" group-title="zonghe", 【战狼3吴京】独播 +https://yylunbo.ottiptv.cc/yy/37999586 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 寻秦记-穿越剧经典 +https://yylunbo.ottiptv.cc/yy/1382749900 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/640/640/20/2785203163/u2785203163A88_99H.png" group-title="zonghe", 老九门24h +https://yylunbo.ottiptv.cc/yy/1355171357 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/6060/60/60/51/2573519416/u2573519416gHFBYi6.png" group-title="zonghe", 笑傲江湖 4K超清 +https://yylunbo.ottiptv.cc/yy/1354282410 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/640/640/71/2838711783/u2838711783ZNzG_h5.jpg" group-title="zonghe", 惊恐盗暮鬼怪 +https://yylunbo.ottiptv.cc/yy/1382749525 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/640/640/29/1280295265/u1280295265CYEmTOm.jpg" group-title="zonghe", 恐怖电影 +https://yylunbo.ottiptv.cc/yy/24066336 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/640/640/38/2353385550/u2353385550rtw1OaM.png" group-title="zonghe", 24小时不停播 +https://yylunbo.ottiptv.cc/yy/31002731 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/640/640/48/2836489679/u2836489679kXCiKK4.jpg" group-title="zonghe", 鬼片喜剧动作港剧 +https://yylunbo.ottiptv.cc/yy/1355269576 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 天龙 神雕金庸 +https://yylunbo.ottiptv.cc/yy/1356043609 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/640/640/57/2367571304/u2367571304FhJ_J6z.jpg" group-title="zonghe", 【靓剑】乐乐陪看 +https://yylunbo.ottiptv.cc/yy/1352946111 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/6060/60/60/47/2552474200/u2552474200Qy8nGLL.png" group-title="zonghe", 小美美 正在直播 +https://yylunbo.ottiptv.cc/yy/1354143966 +#EXTINF:-1 tvg-logo="http://s1.yy.com/guild/header/10141.jpg" group-title="zonghe", 宰相刘罗锅 +https://yylunbo.ottiptv.cc/yy/1353892468 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/640/640/68/2543685369/u2543685369dz8qk5x.png" group-title="zonghe", 咸鱼动漫 +https://yylunbo.ottiptv.cc/yy/1354076248 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 喨剑电视剧 +https://yylunbo.ottiptv.cc/yy/1453810838 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 疯狂动漫 正在直播 +https://yylunbo.ottiptv.cc/yy/1353937086 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 《仙侠》开局无敌了 +https://yylunbo.ottiptv.cc/yy/29600150 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 战狼3 +https://yylunbo.ottiptv.cc/yy/1454835388 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/6060/60/60/47/2552474058/u25524740585EZ7BdS.png" group-title="zonghe", 动漫 +https://yylunbo.ottiptv.cc/yy/1354143938 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/640/640/53/2222539169/u2222539169_cVL6_X.jpg" group-title="zonghe", 经典港片电影 +https://yylunbo.ottiptv.cc/yy/1461889059 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/640/640/68/2632685817/u2632685817Hyt_tdJ.jpg" group-title="zonghe", 赌神 港片 喜剧 +https://yylunbo.ottiptv.cc/yy/1355112116 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/640/640/24/2454240029/u2454240029tVg2YBr.jpg" group-title="zonghe", 雪豹2 +https://yylunbo.ottiptv.cc/yy/1450496699 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/640/640/85/2718850416/u2718850416IA-j-7k.jpg" group-title="zonghe", 【战狼3吴京】首播 +https://yylunbo.ottiptv.cc/yy/1456668939 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/640/640/62/1287621270/u1287621270txIzzu-.jpg" group-title="zonghe", 天龙神雕经典回忆 +https://yylunbo.ottiptv.cc/yy/68260522 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/640/640/63/2963633060/u2963633060luN5A6I.jpg" group-title="zonghe", 经典港片电影 +https://yylunbo.ottiptv.cc/yy/1459801818 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/640/640/85/2219859126/u2219859126sBZCHmt.jpg" group-title="zonghe", 破案港剧 +https://yylunbo.ottiptv.cc/yy/1350670730 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/640/640/92/2977925579/u2977925579msm09Jf.png" group-title="zonghe", 五号特工组和平ff +https://yylunbo.ottiptv.cc/yy/1414967772 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/640/640/46/3048460061/u3048460061cks8Tb9.jpg" group-title="zonghe", 少年包青天 +https://yylunbo.ottiptv.cc/yy/1414846486 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/640/640/35/2275350861/u2275350861HUkquhG.png" group-title="zonghe", 周星驰搞笑在线 +https://yylunbo.ottiptv.cc/yy/1351537467 +#EXTINF:-1 tvg-logo="http://s1.yy.com/guild/header/10138.jpg" group-title="zonghe", 动漫 +https://yylunbo.ottiptv.cc/yy/22777075 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", YY用户 +https://yylunbo.ottiptv.cc/yy/1382736818 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/6060/60/60/28/0068284472/u682844723L5lsy0bf.png" group-title="zonghe", 无敌燕双鹰 +https://yylunbo.ottiptv.cc/yy/1354825244 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/640/640/89/2246894217/u2246894217_jnE9tk.png" group-title="zonghe", 动漫 +https://yylunbo.ottiptv.cc/yy/26664495 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 【武林客栈】 +https://yylunbo.ottiptv.cc/yy/1382773728 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/6060/60/60/69/2552691967/u2552691967t-dRFJI.png" group-title="zonghe", 83射雕英雄传 +https://yylunbo.ottiptv.cc/yy/1354210357 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 战狼7吴京退役 +https://yylunbo.ottiptv.cc/yy/1382773714 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/6060/60/60/80/2563804305/u2563804305b75d55Z.png" group-title="zonghe", 国漫动漫 +https://yylunbo.ottiptv.cc/yy/1354768828 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/vipsys/76/81/31/2950318176/T1cQ_yBsW41RCvBVdK.png" group-title="zonghe", 知否知否应是绿肥红瘦 +https://yylunbo.ottiptv.cc/yy/21881901 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/640/640/86/2698867296/u2698867296pUy_YIe.png" group-title="zonghe", 老妖私影院 +https://yylunbo.ottiptv.cc/yy/1354952229 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 成龙系列 +https://yylunbo.ottiptv.cc/yy/1354888751 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 单挑荒野第一季 +https://yylunbo.ottiptv.cc/yy/1354933535 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 恋歌 +https://yylunbo.ottiptv.cc/yy/1382746276 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 天道-9.2高分好剧 +https://yylunbo.ottiptv.cc/yy/1382735574 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/vipsys/41/64/76/4157766441/T1UyWCBTYT1RCvBVdK.png" group-title="zonghe", 好先生 +https://yylunbo.ottiptv.cc/yy/79382500 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/6060/60/60/33/2291330629/u2291330629-Ab2mgi.png" group-title="zonghe", 精彩动漫 +https://yylunbo.ottiptv.cc/yy/1420843376 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 震撼!国内功夫大片 +https://yylunbo.ottiptv.cc/yy/1382736902 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 情满四合院-高分电视剧 +https://yylunbo.ottiptv.cc/yy/1382735541 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 速度与激情系列!-精彩大片 +https://yylunbo.ottiptv.cc/yy/1382736911 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 夏洛特烦恼-国内电影-喜剧 +https://yylunbo.ottiptv.cc/yy/1354936201 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 速度与激情全集 +https://yylunbo.ottiptv.cc/yy/1382749892 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 你最爱的宋小宝 +https://yylunbo.ottiptv.cc/yy/1354936198 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 少年包青天第三部 +https://yylunbo.ottiptv.cc/yy/1382736814 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/640/640/37/2325373675/u23253736751Rrpkjb.jpg" group-title="zonghe", 小爽东北菇凉,求守护 +https://yylunbo.ottiptv.cc/yy/1382609850 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 三国演义94年经典版 +https://yylunbo.ottiptv.cc/yy/1354936241 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/500/500/77/2956778158/u2956778158pgG63r3.jpg" group-title="zonghe", 神探狄仁杰2 +https://yylunbo.ottiptv.cc/yy/1382851146 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/500/500/62/2956624117/u2956624117199l2Fq.jpg" group-title="zonghe", 二号交通站 +https://yylunbo.ottiptv.cc/yy/1382851582 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 我的体育老师 +https://yylunbo.ottiptv.cc/yy/1382745169 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 西游记后传 +https://yylunbo.ottiptv.cc/yy/1382736846 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 伪装者 +https://yylunbo.ottiptv.cc/yy/1354936244 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 智取威虎山 +https://yylunbo.ottiptv.cc/yy/1382736843 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/500/500/77/2956778180/u29567781809cFGq5Q.jpg" group-title="zonghe", 情满四合院-小人物的悲欢离合 +https://yylunbo.ottiptv.cc/yy/1382851601 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 宝莲灯前传 +https://yylunbo.ottiptv.cc/yy/1354931631 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/500/500/62/2956624115/u2956624115uHDCmW7.jpg" group-title="zonghe", ���������� +https://yylunbo.ottiptv.cc/yy/1382851578 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/500/500/62/2956624119/u2956624119uL9R72W.jpg" group-title="zonghe", 读心神探 +https://yylunbo.ottiptv.cc/yy/1382851589 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 欢乐一起看 +https://yylunbo.ottiptv.cc/yy/1354930926 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 抹茶少女 +https://yylunbo.ottiptv.cc/yy/1382737888 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", YY用户 +https://yylunbo.ottiptv.cc/yy/1382736890 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 二号交通站 +https://yylunbo.ottiptv.cc/yy/1354930965 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/500/500/62/2956624113/u2956624113idqwUTV.jpg" group-title="zonghe", 情满四合院 +https://yylunbo.ottiptv.cc/yy/1382851524 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 欢乐集结号 +https://yylunbo.ottiptv.cc/yy/1382735550 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", YY用户 +https://yylunbo.ottiptv.cc/yy/1382736886 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 我爱我家 +https://yylunbo.ottiptv.cc/yy/1382735557 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 欢乐集结号3 +https://yylunbo.ottiptv.cc/yy/1382736822 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 你的回忆有我吗 +https://yylunbo.ottiptv.cc/yy/1354889024 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/640/640/80/2495803807/u2495803807ASrDuj7.jpg" group-title="zonghe", 24h唐朝诡实录 +https://yylunbo.ottiptv.cc/yy/1353913646 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/640/640/94/2498946673/u2498946673gcQ-w4Y.jpg" group-title="zonghe", 少年歌行~ +https://yylunbo.ottiptv.cc/yy/29067083 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/640/640/76/2627769220/u2627769220ukp35Vp.jpg" group-title="zonghe", 小甜甜 闯关东 +https://yylunbo.ottiptv.cc/yy/1354689861 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 福贵 +https://yylunbo.ottiptv.cc/yy/1354926537 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 大明王朝 +https://yylunbo.ottiptv.cc/yy/1382736879 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 我爱我家 +https://yylunbo.ottiptv.cc/yy/1382851580 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/500/500/62/2956624121/u2956624121FQvGaEH.jpg" group-title="zonghe", 法证先锋 +https://yylunbo.ottiptv.cc/yy/1382851599 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/6060/60/60/21/1575219181/u1575219181j_2vaIy.png" group-title="zonghe", 超清鬼片 港片 +https://yylunbo.ottiptv.cc/yy/1335509613 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/6060/60/60/38/2679387278/u2679387278_B3NLfN.jpg" group-title="zonghe", 新主播,求照顾 +https://yylunbo.ottiptv.cc/yy/1382690406 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/6060/60/60/04/2281046878/u2281046878cBeOWeK.jpeg" group-title="zonghe", 倚天屠龙记 +https://yylunbo.ottiptv.cc/yy/33300793 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", YY用户 +https://yylunbo.ottiptv.cc/yy/1382736910 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 奇缘港台影院 +https://yylunbo.ottiptv.cc/yy/1354889234 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/6060/60/60/92/1529929232/u1529929232hMV18mo.jpg" group-title="zonghe", 快来呀好剧在等你 +https://yylunbo.ottiptv.cc/yy/1331686180 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/640/640/68/2871683492/u2871683492J7ImiKy.png" group-title="zonghe", 鬼经典老片 +https://yylunbo.ottiptv.cc/yy/1463783198 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/6060/60/60/81/2223817740/u2223817740JU6Tfjw.jpg" group-title="zonghe", 8090.电影一哥 +https://yylunbo.ottiptv.cc/yy/29197808 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/640/640/64/2804646270/u2804646270wnZasbb.jpg" group-title="zonghe", 动漫 +https://yylunbo.ottiptv.cc/yy/1382747970 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/640/640/30/2632308599/u2632308599zmh830o.jpg" group-title="zonghe", 经典抗战剧 +https://yylunbo.ottiptv.cc/yy/1354555195 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/640/640/26/0357260002/u357260002dZ73mJXQ.jpg" group-title="zonghe", 24h 我爱我家 喜剧 +https://yylunbo.ottiptv.cc/yy/1356212303 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/6060/60/60/78/2664784453/u266478445378sqTJP.jpg" group-title="zonghe", 鹿鼎记-高清全集 +https://yylunbo.ottiptv.cc/yy/1382704650 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 新三国2 +https://yylunbo.ottiptv.cc/yy/1461396681 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/640/640/88/2894881561/u2894881561whDl7Ak.png" group-title="zonghe", 康熙王朝 +https://yylunbo.ottiptv.cc/yy/1382768483 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/6060/60/60/74/1541749696/u1541749696P0qr7as.jpg" group-title="zonghe", 的直播间 +https://yylunbo.ottiptv.cc/yy/1354129442 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 【新三国】日版 +https://yylunbo.ottiptv.cc/yy/1382851457 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/640/640/71/0079713762/u797137629GagAD2t_.png" group-title="zonghe", 电影电影电影电影电影电影 +https://yylunbo.ottiptv.cc/yy/1351496216 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/640/640/96/2610968788/u2610968788eHDzLzz.jpg" group-title="zonghe", 少年歌行 +https://yylunbo.ottiptv.cc/yy/1450556636 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/6060/60/60/52/2460526223/u24605262233FAgbOU.png" group-title="zonghe", 西游记后传 蓝光 +https://yylunbo.ottiptv.cc/yy/1353392400 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/6060/60/60/80/2341804734/u2341804734mmDrsjn.png" group-title="zonghe", 24H地下交通站全 +https://yylunbo.ottiptv.cc/yy/37880083 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 华子系列 +https://yylunbo.ottiptv.cc/yy/1354888726 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 大进军全集:红色系列电影 +https://yylunbo.ottiptv.cc/yy/1382745083 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 欢乐颂 +https://yylunbo.ottiptv.cc/yy/1382735624 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 新白娘子传奇-女神赵雅芝 +https://yylunbo.ottiptv.cc/yy/1354930969 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", �逋鞠盗�-国产喜剧 +https://yylunbo.ottiptv.cc/yy/1382736856 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 精武英雄-李连杰主演经典动作片 +https://yylunbo.ottiptv.cc/yy/1382736873 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 妖神记 +https://yylunbo.ottiptv.cc/yy/1382745171 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 憨豆先生-经典喜剧 +https://yylunbo.ottiptv.cc/yy/1354936239 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 情满四合院 +https://yylunbo.ottiptv.cc/yy/1382736848 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 漫威十年老粉福利来了 +https://yylunbo.ottiptv.cc/yy/1354930233 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 郝蕾演绎-情满四合院 +https://yylunbo.ottiptv.cc/yy/1382745089 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 魔幻手机 +https://yylunbo.ottiptv.cc/yy/1382735544 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 科幻惊悚片-异形 +https://yylunbo.ottiptv.cc/yy/1382735543 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/500/500/77/2956778174/u29567781747Mi0Atp.jpg" group-title="zonghe", 伪装者 +https://yylunbo.ottiptv.cc/yy/1382851593 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 国内玄幻电影-林正英 +https://yylunbo.ottiptv.cc/yy/1354932444 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 以家人之名 +https://yylunbo.ottiptv.cc/yy/1382736908 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", YY用户 +https://yylunbo.ottiptv.cc/yy/1382735572 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 甜甜的恋爱 这狗粮我吃了 +https://yylunbo.ottiptv.cc/yy/1354932438 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 亲爱的热爱的 +https://yylunbo.ottiptv.cc/yy/1354932433 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 炊事班的故事 +https://yylunbo.ottiptv.cc/yy/1382749901 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 宫锁珠帘 +https://yylunbo.ottiptv.cc/yy/1354926666 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 洪金宝福星系列 +https://yylunbo.ottiptv.cc/yy/1354924839 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 三国演义【1994】 +https://yylunbo.ottiptv.cc/yy/1354930932 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 读心神探 +https://yylunbo.ottiptv.cc/yy/1382736875 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", YY用户 +https://yylunbo.ottiptv.cc/yy/1382735578 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 寻秦记 +https://yylunbo.ottiptv.cc/yy/1354658048 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 超英集结 +https://yylunbo.ottiptv.cc/yy/1382745091 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 大汉贤后卫子夫 +https://yylunbo.ottiptv.cc/yy/1382735569 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 最美的青春 +https://yylunbo.ottiptv.cc/yy/1382745116 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 真心想让你幸福 +https://yylunbo.ottiptv.cc/yy/1382736876 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 农家小菜 +https://yylunbo.ottiptv.cc/yy/1382736894 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 这部剧你居然没看过? +https://yylunbo.ottiptv.cc/yy/1354932355 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 哈利波特全集 +https://yylunbo.ottiptv.cc/yy/1382745105 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 妖神记之黑狱篇 +https://yylunbo.ottiptv.cc/yy/1382745173 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 笑声传奇 +https://yylunbo.ottiptv.cc/yy/1382736880 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 北京爱情故事,心动不打烊 +https://yylunbo.ottiptv.cc/yy/1382744423 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 仙剑奇侠传-神仙姐姐驾到 +https://yylunbo.ottiptv.cc/yy/1382749903 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/500/500/62/2956624114/u2956624114W5xjDpi.jpg" group-title="zonghe", 娆�涔�棰� +https://yylunbo.ottiptv.cc/yy/1382851577 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 老广的味道-美食之旅 +https://yylunbo.ottiptv.cc/yy/1354932375 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 院线动作大片 +https://yylunbo.ottiptv.cc/yy/1382736900 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", YY用户 +https://yylunbo.ottiptv.cc/yy/1382736975 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 风筝 +https://yylunbo.ottiptv.cc/yy/1382828770 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 笑傲帮 +https://yylunbo.ottiptv.cc/yy/1382735555 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 爆笑小品大合集 +https://yylunbo.ottiptv.cc/yy/1382736821 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 俺娘田小草 +https://yylunbo.ottiptv.cc/yy/1382741638 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 舌尖上的中国第一季 +https://yylunbo.ottiptv.cc/yy/1354930952 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", YY用户 +https://yylunbo.ottiptv.cc/yy/1382736888 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 穿越时空的爱恋 +https://yylunbo.ottiptv.cc/yy/1382735567 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 复仇者联盟全季 +https://yylunbo.ottiptv.cc/yy/1354936167 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 老广的味道 第3季-美食纪录片 +https://yylunbo.ottiptv.cc/yy/1382735565 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 陈情令 +https://yylunbo.ottiptv.cc/yy/1382745121 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 野山鹰-影视剧 +https://yylunbo.ottiptv.cc/yy/1354932395 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 灌篮高手 +https://yylunbo.ottiptv.cc/yy/1382735626 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 无敌县令 +https://yylunbo.ottiptv.cc/yy/1354932390 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/6060/60/60/67/2555670393/u2555670393GyWsYT-.jpg" group-title="zonghe", 【经典港片】佟瑶 +https://yylunbo.ottiptv.cc/yy/23531261 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 发哥系列 +https://yylunbo.ottiptv.cc/yy/1354888733 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 侏罗纪世界-国外科幻大片合集 +https://yylunbo.ottiptv.cc/yy/1382736851 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 密子君 +https://yylunbo.ottiptv.cc/yy/1382736717 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 动作大片-热血开打 +https://yylunbo.ottiptv.cc/yy/1354936168 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 渴望 +https://yylunbo.ottiptv.cc/yy/1354930963 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", YY用户 +https://yylunbo.ottiptv.cc/yy/1382745084 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 周星星系列 +https://yylunbo.ottiptv.cc/yy/1354888671 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 国外院线动作大片 +https://yylunbo.ottiptv.cc/yy/1382735570 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 精彩动作电影享不停 +https://yylunbo.ottiptv.cc/yy/1382736809 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 香港院线大片-最新 +https://yylunbo.ottiptv.cc/yy/1354936242 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 东海龙棺 +https://yylunbo.ottiptv.cc/yy/1354930968 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 超精彩!系列动作电影 +https://yylunbo.ottiptv.cc/yy/1382745096 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/500/500/62/2956624116/u2956624116LN4j6HE.jpg" group-title="zonghe", 刑事侦缉档案I +https://yylunbo.ottiptv.cc/yy/1382851585 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", YY用户 +https://yylunbo.ottiptv.cc/yy/1382736805 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 赌神-发哥 +https://yylunbo.ottiptv.cc/yy/1354889044 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 妖神记-全集 +https://yylunbo.ottiptv.cc/yy/1382735551 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/500/500/77/2956778178/u2956778178YJKxE-w.jpg" group-title="zonghe", 国内喜剧 +https://yylunbo.ottiptv.cc/yy/1382851598 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", YY用户 +https://yylunbo.ottiptv.cc/yy/1382745093 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 娘亲舅大 +https://yylunbo.ottiptv.cc/yy/1354932360 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 苦乐村官 +https://yylunbo.ottiptv.cc/yy/1382736864 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 金玉满堂:精彩港剧 +https://yylunbo.ottiptv.cc/yy/1382736881 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", YY用户 +https://yylunbo.ottiptv.cc/yy/1382745117 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 少年包青天美黑之旅 +https://yylunbo.ottiptv.cc/yy/1354936141 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 海洋幻梦-泰剧 +https://yylunbo.ottiptv.cc/yy/1382749889 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 鸭子天空-翱翔于篮球的梦想 +https://yylunbo.ottiptv.cc/yy/1354930894 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 粟裕大将-影视 +https://yylunbo.ottiptv.cc/yy/1354926542 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 电影黑豹 +https://yylunbo.ottiptv.cc/yy/1382736816 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 超燃警匪片 +https://yylunbo.ottiptv.cc/yy/1382735576 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 国内喜剧 +https://yylunbo.ottiptv.cc/yy/1382736862 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", YY用户 +https://yylunbo.ottiptv.cc/yy/1382745085 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 无厘头的出处 +https://yylunbo.ottiptv.cc/yy/1354930891 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 小鬼当家-童年回忆 +https://yylunbo.ottiptv.cc/yy/1382745104 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 电影百团大战 +https://yylunbo.ottiptv.cc/yy/1382736871 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 巩汉林春晚小品合集 +https://yylunbo.ottiptv.cc/yy/1354889035 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 美国队长史蒂夫 +https://yylunbo.ottiptv.cc/yy/1382736813 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", YY用户 +https://yylunbo.ottiptv.cc/yy/1382736834 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", YY用户 +https://yylunbo.ottiptv.cc/yy/1382736842 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 新世界 +https://yylunbo.ottiptv.cc/yy/1382736850 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 科幻片:来看神奇的地球 +https://yylunbo.ottiptv.cc/yy/1354930897 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 叛逆者 +https://yylunbo.ottiptv.cc/yy/1382736868 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 黑衣人1、2—动作喜剧大片 +https://yylunbo.ottiptv.cc/yy/1354930936 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 来自星星的你 +https://yylunbo.ottiptv.cc/yy/1354930976 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 笑傲江湖 第2季 +https://yylunbo.ottiptv.cc/yy/1382736914 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 陪你一起看好剧 +https://yylunbo.ottiptv.cc/yy/1354932359 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 田园生活 +https://yylunbo.ottiptv.cc/yy/1382736898 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 回家的诱惑 +https://yylunbo.ottiptv.cc/yy/1354658043 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 保护我家蓉儿 +https://yylunbo.ottiptv.cc/yy/1370293254 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 大江大河2-高分影视推荐 +https://yylunbo.ottiptv.cc/yy/1382736797 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 岳云鹏宋小宝也来演电影了? +https://yylunbo.ottiptv.cc/yy/1354926612 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 港剧-警犬巴打 +https://yylunbo.ottiptv.cc/yy/1354932397 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 飓风营救 +https://yylunbo.ottiptv.cc/yy/1382735547 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/640/640/87/2892874859/u2892874859LdOcolq.jpg" group-title="zonghe", 欢迎光临 +https://yylunbo.ottiptv.cc/yy/1355532933 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 猩球崛起-怪兽片合集 +https://yylunbo.ottiptv.cc/yy/1354930181 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/640/640/82/2982829798/u2982829798oWwdiN5.jpg" group-title="zonghe", 雪中悍刀行 +https://yylunbo.ottiptv.cc/yy/1382881708 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 哑巴竟然会说话 +https://yylunbo.ottiptv.cc/yy/1354932427 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 大唐双龙传 +https://yylunbo.ottiptv.cc/yy/1354930979 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 河伯的新娘:奇幻爱情 +https://yylunbo.ottiptv.cc/yy/1354936249 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 科幻电影 +https://yylunbo.ottiptv.cc/yy/1354930209 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 笑傲江湖 第1季 +https://yylunbo.ottiptv.cc/yy/1382749896 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 辉煌或疯狂-韩剧 +https://yylunbo.ottiptv.cc/yy/1382749902 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 爆笑电影!王牌大贱谍2-3 +https://yylunbo.ottiptv.cc/yy/1382735556 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 本山快乐营 +https://yylunbo.ottiptv.cc/yy/1354933529 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 高分科幻动作片 +https://yylunbo.ottiptv.cc/yy/1382749948 +#EXTINF:-1 tvg-logo="http://s1.yy.com/guild/header/10100.jpg" group-title="zonghe", 国内科幻片来袭 +https://yylunbo.ottiptv.cc/yy/1354930821 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 国产喜剧 +https://yylunbo.ottiptv.cc/yy/1382735584 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 国内动作大片 +https://yylunbo.ottiptv.cc/yy/1382745176 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 公主嫁到 +https://yylunbo.ottiptv.cc/yy/1382736915 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 飞虎之潜行极战 +https://yylunbo.ottiptv.cc/yy/1354932420 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 重生之超级赛亚人 +https://yylunbo.ottiptv.cc/yy/1354936124 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/500/500/77/2956778163/u295677816358dgO10.jpg" group-title="zonghe", 魔幻手机 +https://yylunbo.ottiptv.cc/yy/1382851541 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 史诗级科幻电影-阿凡达 +https://yylunbo.ottiptv.cc/yy/1382735577 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 国外动作大片 +https://yylunbo.ottiptv.cc/yy/1382735540 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 编辑部的故事 +https://yylunbo.ottiptv.cc/yy/1354936120 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 高分动作大片-热血出击 +https://yylunbo.ottiptv.cc/yy/1382736909 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 国产大片电影 +https://yylunbo.ottiptv.cc/yy/1354926655 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 国外科幻 +https://yylunbo.ottiptv.cc/yy/1382736800 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 第8号当铺 +https://yylunbo.ottiptv.cc/yy/1382736905 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 本山快乐营-爆笑小品 +https://yylunbo.ottiptv.cc/yy/1354930948 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 加勒比海盗系列 +https://yylunbo.ottiptv.cc/yy/1382749914 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/640/640/38/2363380518/u2363380518Frd7i6E.jpg" group-title="zonghe", 动漫《火影疾风传》 +https://yylunbo.ottiptv.cc/yy/1459675153 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 外国科幻大片 +https://yylunbo.ottiptv.cc/yy/1382747628 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 深海利剑 +https://yylunbo.ottiptv.cc/yy/1382736906 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 国外黑色喜剧:冷幽默小剧场 +https://yylunbo.ottiptv.cc/yy/1382745175 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 永远的经典系列 +https://yylunbo.ottiptv.cc/yy/1354930204 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 中国味道 第4季-美食纪录片 +https://yylunbo.ottiptv.cc/yy/1382736845 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 燃爆动作片 +https://yylunbo.ottiptv.cc/yy/1382736801 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/640/640/97/2835978875/u2835978875L9RPAqK.jpg" group-title="zonghe", 恐怖诡异墓穴 +https://yylunbo.ottiptv.cc/yy/1382748585 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 神厨小福贵 +https://yylunbo.ottiptv.cc/yy/1382736860 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 大江大河-高分影视推荐 +https://yylunbo.ottiptv.cc/yy/1382736806 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 热血动作电影 +https://yylunbo.ottiptv.cc/yy/1382736804 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 国产电影-就是闹着玩的 +https://yylunbo.ottiptv.cc/yy/1354931503 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 末日系列-外国电影合集 +https://yylunbo.ottiptv.cc/yy/1354889019 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 毒液:致命守护者 +https://yylunbo.ottiptv.cc/yy/1382745095 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 蔡明春晚小品 +https://yylunbo.ottiptv.cc/yy/1354936177 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 国内喜剧 +https://yylunbo.ottiptv.cc/yy/1382735563 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 来看修牛蹄 +https://yylunbo.ottiptv.cc/yy/1382749887 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", YY用户 +https://yylunbo.ottiptv.cc/yy/1382745113 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 缺宅男女-精彩港剧 +https://yylunbo.ottiptv.cc/yy/1382745088 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 动作大片 +https://yylunbo.ottiptv.cc/yy/1354888739 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/500/500/77/2956778159/u2956778159YIxm4k1.jpg" group-title="zonghe", 终结者2:审判日 +https://yylunbo.ottiptv.cc/yy/1382851148 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 热门喜剧 +https://yylunbo.ottiptv.cc/yy/1354931495 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 国外经典—小鬼当家 +https://yylunbo.ottiptv.cc/yy/1354658064 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/500/500/77/2956778160/u2956778160r59MiuJ.jpg" group-title="zonghe", 国内经典动作电影 +https://yylunbo.ottiptv.cc/yy/1382851522 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/500/500/62/2956624111/u2956624111RwgKyF4.jpg" group-title="zonghe", 法国版《家有儿女》治愈所有不开心 +https://yylunbo.ottiptv.cc/yy/1382851137 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 进来 陪你看电视 +https://yylunbo.ottiptv.cc/yy/1353518742 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 流金岁月-经典港剧 +https://yylunbo.ottiptv.cc/yy/1382736891 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 爆笑来袭-小品欢乐集结号 +https://yylunbo.ottiptv.cc/yy/1382735558 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", papi酱主演,北漂生活中的爱情与梦想 +https://yylunbo.ottiptv.cc/yy/1382745124 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 一分钟学道菜 +https://yylunbo.ottiptv.cc/yy/1382736901 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 欢乐集结号2 +https://yylunbo.ottiptv.cc/yy/1354930919 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 功夫小子进城 +https://yylunbo.ottiptv.cc/yy/1382749890 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 钟馗传说 +https://yylunbo.ottiptv.cc/yy/1382736839 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 精彩动作电影 +https://yylunbo.ottiptv.cc/yy/1382736823 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 探秘自然奇境-纪录片合集 +https://yylunbo.ottiptv.cc/yy/1382749913 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 我的父亲我的兵 +https://yylunbo.ottiptv.cc/yy/1353413714 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 嘻嘻熙熙 +https://yylunbo.ottiptv.cc/yy/1382735585 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 国外高分大片 +https://yylunbo.ottiptv.cc/yy/1382736867 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 欢乐集结号58-70 +https://yylunbo.ottiptv.cc/yy/1382745119 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 我的家人听不见,但我的爱你会听见 +https://yylunbo.ottiptv.cc/yy/1354936178 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 超炫科幻大片 +https://yylunbo.ottiptv.cc/yy/1382736840 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 无双花木兰 +https://yylunbo.ottiptv.cc/yy/1382749917 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 少年四大名捕 +https://yylunbo.ottiptv.cc/yy/1354936203 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 小朋友可爱到家了 +https://yylunbo.ottiptv.cc/yy/1354930887 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 宫心计-港剧-古装 +https://yylunbo.ottiptv.cc/yy/1354933540 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 一起来笑吧 +https://yylunbo.ottiptv.cc/yy/1454859415 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 战争与女性 +https://yylunbo.ottiptv.cc/yy/1382745179 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", YY用户 +https://yylunbo.ottiptv.cc/yy/1382736807 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 高分港剧合集 +https://yylunbo.ottiptv.cc/yy/1382735542 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", YY用户 +https://yylunbo.ottiptv.cc/yy/1382745182 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 太空荒野求生记-火星救援 +https://yylunbo.ottiptv.cc/yy/1354930957 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 带你领略四季的变化 +https://yylunbo.ottiptv.cc/yy/1354930816 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/640/640/26/2725264611/u27252646113jBUSkD.png" group-title="zonghe", 【科幻电影】 +https://yylunbo.ottiptv.cc/yy/1355065896 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 动物世界-领略原始野性 +https://yylunbo.ottiptv.cc/yy/1382743138 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", YY用户 +https://yylunbo.ottiptv.cc/yy/1382736918 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 溏心风暴之家好月圆 +https://yylunbo.ottiptv.cc/yy/1354888747 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/640/640/01/2870013294/u2870013294BCj_fCA.jpg" group-title="zonghe", 生存大战,尽显人性 +https://yylunbo.ottiptv.cc/yy/1414864186 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 洪大哥系列 +https://yylunbo.ottiptv.cc/yy/1354888743 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 河山 +https://yylunbo.ottiptv.cc/yy/1382749952 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 本山快乐营1 +https://yylunbo.ottiptv.cc/yy/1354936209 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 远去的飞鹰-影视剧 +https://yylunbo.ottiptv.cc/yy/1354930912 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 怪医文三块-影视剧 +https://yylunbo.ottiptv.cc/yy/1354936154 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 明天和你-韩剧 +https://yylunbo.ottiptv.cc/yy/1382749905 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/500/500/77/2956778171/u2956778171bWa0lRW.jpg" group-title="zonghe", 躺平还是奋斗?搞笑中见真谛 +https://yylunbo.ottiptv.cc/yy/1382851586 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 本山选谁上-喜剧人选拔 +https://yylunbo.ottiptv.cc/yy/1382749878 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 欢乐集结号4 +https://yylunbo.ottiptv.cc/yy/1382736889 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 欢喜冤家的爱情-夏日乐悠悠 +https://yylunbo.ottiptv.cc/yy/1354936191 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 黄大妮-电视剧 +https://yylunbo.ottiptv.cc/yy/1354930904 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", YY用户 +https://yylunbo.ottiptv.cc/yy/1382745103 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 百家讲坛-红楼梦篇 +https://yylunbo.ottiptv.cc/yy/1382741639 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 什么会让你快乐 +https://yylunbo.ottiptv.cc/yy/54886912 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 人生必看的科幻片 +https://yylunbo.ottiptv.cc/yy/1382745114 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/100100/100/100/76/0840767902/u840767902R7yIozHw.gif" group-title="zonghe", 惊悚,恐怖欢迎点播 +https://yylunbo.ottiptv.cc/yy/67857780 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 忠诚无畏,战犬出击 +https://yylunbo.ottiptv.cc/yy/1354930225 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 你最爱的小龙女-神雕侠侣 +https://yylunbo.ottiptv.cc/yy/1354926637 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 致敬星爷致敬经典 +https://yylunbo.ottiptv.cc/yy/1354889048 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/6060/60/60/80/2563804534/u2563804534mupdNru.png" group-title="zonghe", 动漫 +https://yylunbo.ottiptv.cc/yy/1354768831 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 百家讲坛――之明太祖朱元璋 +https://yylunbo.ottiptv.cc/yy/1354936149 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 施公奇案2-欧阳震华 +https://yylunbo.ottiptv.cc/yy/1382736824 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 《石敢当》六耳猕猴 +https://yylunbo.ottiptv.cc/yy/1394156613 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 不用加班真开心 +https://yylunbo.ottiptv.cc/yy/1354930924 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/640/640/28/2858287019/u28582870196C9e_m-.png" group-title="zonghe", 关东大先生 +https://yylunbo.ottiptv.cc/yy/1355344777 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/500/500/77/2956778165/u2956778165RKtikAg.jpg" group-title="zonghe", 藏地密码:秘境探险,悬念拉满 +https://yylunbo.ottiptv.cc/yy/1382851576 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/500/500/77/2956778166/u2956778166PzRg4bd.jpg" group-title="zonghe", 傲娇千金惹人醉 +https://yylunbo.ottiptv.cc/yy/1382851602 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 女医明妃传 +https://yylunbo.ottiptv.cc/yy/1382736861 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 今晚80后脱口秀 +https://yylunbo.ottiptv.cc/yy/1382745098 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/640/640/58/2218588752/u2218588752eOge6qp.jpg" group-title="zonghe", 安安电视剧 +https://yylunbo.ottiptv.cc/yy/1414817779 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 银河护卫队-国外科幻巨作 +https://yylunbo.ottiptv.cc/yy/1382736815 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 紧急营救 +https://yylunbo.ottiptv.cc/yy/1354926676 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/400/400/77/2956778136/u2956778136fhU7opB.jpg" group-title="zonghe", 1930年代经典电影 +https://yylunbo.ottiptv.cc/yy/1356363815 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 高分动作片——创可贴 +https://yylunbo.ottiptv.cc/yy/1382735568 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 珍珠港-电影 +https://yylunbo.ottiptv.cc/yy/1354936234 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 电视剧-流金岁月 +https://yylunbo.ottiptv.cc/yy/1382749906 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", YY用户 +https://yylunbo.ottiptv.cc/yy/1382735579 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 热血少年上线,《长歌行》开播 +https://yylunbo.ottiptv.cc/yy/1382736802 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 金牌喜剧班 +https://yylunbo.ottiptv.cc/yy/1354889009 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 【新三国】吕布 +https://yylunbo.ottiptv.cc/yy/1382851459 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", YY用户 +https://yylunbo.ottiptv.cc/yy/1382736887 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 萌鸡小队S1-国漫 +https://yylunbo.ottiptv.cc/yy/1382736904 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 啊咧 +https://yylunbo.ottiptv.cc/yy/1459243913 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 能耐大了第1季 +https://yylunbo.ottiptv.cc/yy/1354930195 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 降魔传-神魔大战 +https://yylunbo.ottiptv.cc/yy/1354932371 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 名媛望族-精彩港剧 +https://yylunbo.ottiptv.cc/yy/1354932431 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 学生兵 +https://yylunbo.ottiptv.cc/yy/1354658003 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 辣警狂花 +https://yylunbo.ottiptv.cc/yy/1382736892 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 国产家庭电视剧-如果岁月可回头 +https://yylunbo.ottiptv.cc/yy/1382736883 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 高能博弈—大事件 +https://yylunbo.ottiptv.cc/yy/1382749898 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 白领被迫当楼奴? +https://yylunbo.ottiptv.cc/yy/1382736832 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/640/640/25/1153259720/u1153259720NWZOU9K.jpg" group-title="zonghe", 老卓电影 +https://yylunbo.ottiptv.cc/yy/1354770516 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 超燃科幻大片:明日边缘 +https://yylunbo.ottiptv.cc/yy/1382736835 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 缺宅男女 +https://yylunbo.ottiptv.cc/yy/1354930937 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/640/640/66/1587662225/u1587662225m-UfjRA.jpg" group-title="zonghe", 一剑开天门 +https://yylunbo.ottiptv.cc/yy/34313906 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 舌尖上的中国第2季 +https://yylunbo.ottiptv.cc/yy/1354930943 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/500/500/77/2956778161/u2956778161rUYdVf2.jpg" group-title="zonghe", 最美的青春 +https://yylunbo.ottiptv.cc/yy/1382851530 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/640/640/71/2651718170/u2651718170Hmb3dUU.jpg" group-title="zonghe", 欧美配音电影!!! +https://yylunbo.ottiptv.cc/yy/1354693629 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 当旺爸爸-港剧 +https://yylunbo.ottiptv.cc/yy/1354936208 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 在殡仪馆发生的奇葩囧事 +https://yylunbo.ottiptv.cc/yy/1354936214 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 另类猪妖爆笑逆袭 +https://yylunbo.ottiptv.cc/yy/1354936155 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 九层妖塔 +https://yylunbo.ottiptv.cc/yy/1354936116 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 经典传奇2018 +https://yylunbo.ottiptv.cc/yy/1382745184 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 影视小艺 +https://yylunbo.ottiptv.cc/yy/1382737886 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 国产动作电影 +https://yylunbo.ottiptv.cc/yy/1382736858 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 致命武器3 +https://yylunbo.ottiptv.cc/yy/1382749918 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/640/640/36/2946364405/u2946364405aHoUCap.jpg" group-title="zonghe", 探案!探案! +https://yylunbo.ottiptv.cc/yy/1382829413 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 绝境博弈,无路可逃 +https://yylunbo.ottiptv.cc/yy/1382851597 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 贾玲春晚小品 +https://yylunbo.ottiptv.cc/yy/1382736720 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 喜剧闹翻天 +https://yylunbo.ottiptv.cc/yy/1382735548 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 海王-院线大片 +https://yylunbo.ottiptv.cc/yy/1354936142 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 本山快乐营2 +https://yylunbo.ottiptv.cc/yy/1382736718 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 每天都要快乐哦! +https://yylunbo.ottiptv.cc/yy/1354930909 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 闲暇观看综艺 +https://yylunbo.ottiptv.cc/yy/1354932379 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 成龙大哥火爆力作 +https://yylunbo.ottiptv.cc/yy/1382736841 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 辣警狂花2 +https://yylunbo.ottiptv.cc/yy/1382745110 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 抗日神片,燃爆抗战热血魂 +https://yylunbo.ottiptv.cc/yy/1354926600 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 机械战警1-3 +https://yylunbo.ottiptv.cc/yy/1382736854 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 【新三国】 +https://yylunbo.ottiptv.cc/yy/1382851415 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 小和尚勇闯都市-小和尚大当家 +https://yylunbo.ottiptv.cc/yy/1382736874 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 揭秘!经典传奇背后的未解之谜 +https://yylunbo.ottiptv.cc/yy/1382736912 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 东北奇缘:江湖情缘 +https://yylunbo.ottiptv.cc/yy/1354936238 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 大台风 +https://yylunbo.ottiptv.cc/yy/1382735583 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 国内高分悬疑剧-风筝 +https://yylunbo.ottiptv.cc/yy/1354931585 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 悬疑反转,直击真相 +https://yylunbo.ottiptv.cc/yy/1354930954 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 国家地理音乐风光纪录片 +https://yylunbo.ottiptv.cc/yy/1382749951 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 宇宙护卫队--国漫 +https://yylunbo.ottiptv.cc/yy/1382736837 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 熊出没之探险日记-森林探险记 +https://yylunbo.ottiptv.cc/yy/1382745122 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 热血抗日电影 +https://yylunbo.ottiptv.cc/yy/1382749907 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 铁血拍档:并肩破局的燃魂对决 +https://yylunbo.ottiptv.cc/yy/1382736884 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 笑傲江湖-电视剧 +https://yylunbo.ottiptv.cc/yy/1354936128 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 名不虚传-韩剧 +https://yylunbo.ottiptv.cc/yy/1382749904 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", BBC纪录片之王:地球无限 +https://yylunbo.ottiptv.cc/yy/1382735625 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 笔墨传情,致敬经典——妙墨中国心 +https://yylunbo.ottiptv.cc/yy/1382745178 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 憨豆先生勇闯美国! +https://yylunbo.ottiptv.cc/yy/1382745190 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/640/640/43/1702436400/u1702436400K_-znF2.jpg" group-title="zonghe", 雍正王朝 +https://yylunbo.ottiptv.cc/yy/1459714870 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/640/640/94/2817949407/u281794940735kZbMI.jpg" group-title="zonghe", 新白娘子4K高清观看 +https://yylunbo.ottiptv.cc/yy/1508961855 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 未来中国 +https://yylunbo.ottiptv.cc/yy/1354932429 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 霹雳火:速度与激情 +https://yylunbo.ottiptv.cc/yy/1382736895 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 拳拳到肉,搏击燃情 +https://yylunbo.ottiptv.cc/yy/1382736870 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 小人国——介子鬼城 +https://yylunbo.ottiptv.cc/yy/1382749950 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 先锋之那时青春-热血年代 +https://yylunbo.ottiptv.cc/yy/1382736833 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 迷宫终章:解药争夺与人性抉择 +https://yylunbo.ottiptv.cc/yy/1382749953 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 古惑仔二十年后再聚首 +https://yylunbo.ottiptv.cc/yy/1354936217 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 还原英雄最后的壮烈! +https://yylunbo.ottiptv.cc/yy/1354930984 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 深海巨兽惊现,渔民与神秘生物的生存博弈 +https://yylunbo.ottiptv.cc/yy/1382745111 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 漂泊多年归来,故乡与旧爱能否依旧? +https://yylunbo.ottiptv.cc/yy/1382736849 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 毒力觉醒的异能逆袭狂潮 +https://yylunbo.ottiptv.cc/yy/1354926735 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/640/640/91/0090919811/u90919811raw8I-X8A.jpg" group-title="zonghe", 热播 +https://yylunbo.ottiptv.cc/yy/25444932 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/640/640/86/2869863645/u2869863645hloEJqD.jpg" group-title="zonghe", 时代剧,黄土高天 +https://yylunbo.ottiptv.cc/yy/1414864180 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 老夫少妻搞笑忘年恋 +https://yylunbo.ottiptv.cc/yy/1354932391 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/640/640/64/1612648695/u1612648695_F1cQTm.jpg" group-title="zonghe", 电影 +https://yylunbo.ottiptv.cc/yy/37454459 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 新木乃伊:古埃及公主复活的灾难对决 +https://yylunbo.ottiptv.cc/yy/1354936169 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 30分钟极速反恐 +https://yylunbo.ottiptv.cc/yy/1382749910 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 战狼10086 +https://yylunbo.ottiptv.cc/yy/1382773686 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 真实揭露全球军火贸易的黑暗史诗 +https://yylunbo.ottiptv.cc/yy/1354932409 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/6060/60/60/84/2763846360/u2763846360XS-TWTu.jpg" group-title="zonghe", 和你不见不散 +https://yylunbo.ottiptv.cc/yy/1355635293 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 悬疑武侠电影—九门 +https://yylunbo.ottiptv.cc/yy/1382828768 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 红包骗局:大红包 +https://yylunbo.ottiptv.cc/yy/1354936157 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 老牌经典喜剧-笨贼妙探 +https://yylunbo.ottiptv.cc/yy/1354932405 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 几米漫画改编,温暖你这个秋季 +https://yylunbo.ottiptv.cc/yy/1354936199 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/640/640/62/2665627706/u2665627706GP24tLn.jpg" group-title="zonghe", 绝版僵尸鬼片 +https://yylunbo.ottiptv.cc/yy/1460889796 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", PK地球神 +https://yylunbo.ottiptv.cc/yy/1382736872 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 牧野诡事之赤丹珠 +https://yylunbo.ottiptv.cc/yy/1382736863 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 美好生活欢乐送:喜剧大咖解锁美好生活 +https://yylunbo.ottiptv.cc/yy/1382736853 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", A级保镖上演死亡任务 +https://yylunbo.ottiptv.cc/yy/1354936221 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 当夫妻搭档为同事,鸡飞狗跳的故事开始了 +https://yylunbo.ottiptv.cc/yy/1354932402 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 悬疑剧-河神 +https://yylunbo.ottiptv.cc/yy/1353413683 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 吴彦祖张静初再合作 +https://yylunbo.ottiptv.cc/yy/1382735561 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 陈意涵主演全新结局步步惊心 +https://yylunbo.ottiptv.cc/yy/1382745092 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 超能世界观 +https://yylunbo.ottiptv.cc/yy/1382736917 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 大饭店:浮华饭店里的人情冷暖 +https://yylunbo.ottiptv.cc/yy/1382745099 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 洪熙官之魔门妖女 +https://yylunbo.ottiptv.cc/yy/1354889015 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 最佳下饭小甜剧,暖心暖胃 +https://yylunbo.ottiptv.cc/yy/1382741637 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 最佳时机:命运转角的最佳抉择与奔赴 +https://yylunbo.ottiptv.cc/yy/1354936207 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 封神:祸商 +https://yylunbo.ottiptv.cc/yy/1354932407 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 警匪智力对决,谁才是最后的赢家? +https://yylunbo.ottiptv.cc/yy/1354889042 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 无间归途 +https://yylunbo.ottiptv.cc/yy/1382735571 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 脱口秀小段子 +https://yylunbo.ottiptv.cc/yy/1354930971 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 暴君画家的情人 +https://yylunbo.ottiptv.cc/yy/1382736920 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 从溺水到冠军,热血泳坛励志传奇 +https://yylunbo.ottiptv.cc/yy/1382736723 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 什么是教科书级的演技? +https://yylunbo.ottiptv.cc/yy/1354936181 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 跨越人鬼契约,宿命伙伴并肩作战 +https://yylunbo.ottiptv.cc/yy/1382749888 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 正邪边缘搅动的江湖风云 +https://yylunbo.ottiptv.cc/yy/1382735566 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 奇幻冒险电影:凯斯宾王子的魔法征途 +https://yylunbo.ottiptv.cc/yy/1354926671 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 谁的童年记忆?经典音乐之声 +https://yylunbo.ottiptv.cc/yy/1382735559 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 我的男友超能力失控!甜蜜与危机的恋爱日常 +https://yylunbo.ottiptv.cc/yy/1354930915 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 浪客剑心:京都大火篇——野心家颠覆天下 +https://yylunbo.ottiptv.cc/yy/1382745090 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 生活真是笑料百出 +https://yylunbo.ottiptv.cc/yy/1382736844 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 四位闺蜜继续在爱情与事业中寻找平衡 +https://yylunbo.ottiptv.cc/yy/1354931488 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 浪客剑心:传说的完结篇 +https://yylunbo.ottiptv.cc/yy/1382736820 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 一局定生死,谁才是真正的赌王? +https://yylunbo.ottiptv.cc/yy/1382735552 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/640/640/88/2453889186/u2453889186t6fQ_q_.png" group-title="zonghe", YY果国际电影频道 +https://yylunbo.ottiptv.cc/yy/1382627144 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/640/640/05/0166055038/u1660550386RKY4Bj1.jpg" group-title="zonghe", 军旅剧(回忆经典) +https://yylunbo.ottiptv.cc/yy/1356306672 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 新时代农村青年的热血奋斗记 +https://yylunbo.ottiptv.cc/yy/1382736715 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 梅艳芳主演喜剧电影 +https://yylunbo.ottiptv.cc/yy/1382735627 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 杨千嬅陈奕迅上演爱情喜剧 +https://yylunbo.ottiptv.cc/yy/1354936160 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 上古神墓觉醒——神墓 +https://yylunbo.ottiptv.cc/yy/1354936195 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", YY用户 +https://yylunbo.ottiptv.cc/yy/1382735545 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 巾帼枭雄之义海豪情 +https://yylunbo.ottiptv.cc/yy/1382736859 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 狼叔终章,为守护变种人殊死一搏 +https://yylunbo.ottiptv.cc/yy/1382736913 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", YY用户 +https://yylunbo.ottiptv.cc/yy/1382736819 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 颠覆秩序的声浪狂潮 +https://yylunbo.ottiptv.cc/yy/1354932426 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 感人又搞笑,父爱创造奇迹 +https://yylunbo.ottiptv.cc/yy/1354932365 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 时间的答卷第二季 +https://yylunbo.ottiptv.cc/yy/1382745106 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 嗜血巨狼突袭人类 +https://yylunbo.ottiptv.cc/yy/1382735560 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 重启 +https://yylunbo.ottiptv.cc/yy/1354888736 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 热烈的玫瑰 +https://yylunbo.ottiptv.cc/yy/1382736798 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 武状元落魄,神谕指引丐帮逆袭 +https://yylunbo.ottiptv.cc/yy/1382736882 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", TVB力作:团圆 +https://yylunbo.ottiptv.cc/yy/1382745094 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 体验另一种生活! +https://yylunbo.ottiptv.cc/yy/1354936229 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 拔刀定乾坤:浪客剑心 +https://yylunbo.ottiptv.cc/yy/1354936210 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 孤胆英雄以一敌百,热血爆燃格斗盛宴 +https://yylunbo.ottiptv.cc/yy/1354936136 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 高分经典动作片 +https://yylunbo.ottiptv.cc/yy/1382749944 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 忠犬救主,一段感动人心的陪伴之旅 +https://yylunbo.ottiptv.cc/yy/1382736719 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 搬山道人之落天荒 +https://yylunbo.ottiptv.cc/yy/1382736916 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 西雅图未眠夜 +https://yylunbo.ottiptv.cc/yy/1354936231 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 清官难当?看芝麻官如何破局 +https://yylunbo.ottiptv.cc/yy/1382749909 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 女婿翻身大战岳母,家庭地位争夺爆笑开演 +https://yylunbo.ottiptv.cc/yy/1354930945 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 萌娃七宝乌龙不断,笑料百出的家庭大战 +https://yylunbo.ottiptv.cc/yy/1354930903 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 天龙八部(国语版) +https://yylunbo.ottiptv.cc/yy/1382736855 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 程序员用AI复活挚爱 +https://yylunbo.ottiptv.cc/yy/1382749911 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 民国恋情:乱世中一朵兰花的爱与挣扎 +https://yylunbo.ottiptv.cc/yy/1354926622 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 经典传奇2018 +https://yylunbo.ottiptv.cc/yy/1382745189 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 一段关于救赎与坚守的西部传奇 +https://yylunbo.ottiptv.cc/yy/1382741640 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 小姐姐能打十个?神勇女侠颠覆你的认知! +https://yylunbo.ottiptv.cc/yy/1354933556 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 致敬不屈的抗日英雄 +https://yylunbo.ottiptv.cc/yy/1382736817 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 几代人的恩怨与坚守——古道叭嗒楼 +https://yylunbo.ottiptv.cc/yy/1354930927 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", YY用户 +https://yylunbo.ottiptv.cc/yy/1382736852 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/640/640/37/2465371126/u2465371126eOmsolu.jpg" group-title="zonghe", 正在直播经典影视 +https://yylunbo.ottiptv.cc/yy/1353454489 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe",  感人至深!孝子之举撼动天地 +https://yylunbo.ottiptv.cc/yy/1382736857 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", YY用户 +https://yylunbo.ottiptv.cc/yy/1382736869 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/640640/640/640/48/0593489220/u593489220s1vk4xhC.jpg" group-title="zonghe", 时光 +https://yylunbo.ottiptv.cc/yy/1414829775 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 音乐才女与霸道总裁的治愈之恋 +https://yylunbo.ottiptv.cc/yy/1382735573 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 冒牌大保镖——三流团队乌龙喜剧 +https://yylunbo.ottiptv.cc/yy/1382735581 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 90年代爱情经典必看 +https://yylunbo.ottiptv.cc/yy/1382736893 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 守护千年雄关 +https://yylunbo.ottiptv.cc/yy/1354936228 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 当老师患有妥瑞氏症,她如何拯救 “垫底班”? +https://yylunbo.ottiptv.cc/yy/1382745181 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 硬汉搭档扫黑,致命武器2 +https://yylunbo.ottiptv.cc/yy/1382736865 +#EXTINF:-1 tvg-logo="http://s1.yy.com/guild/header/10108.jpg" group-title="zonghe", 史上最赞的延时摄影 +https://yylunbo.ottiptv.cc/yy/1354658051 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 许光汉主演喜剧大片 +https://yylunbo.ottiptv.cc/yy/1382736825 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 废柴少女逆袭 +https://yylunbo.ottiptv.cc/yy/1354932441 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 天蓬元帅现代重生,爆笑修仙之旅开启 +https://yylunbo.ottiptv.cc/yy/1354930189 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 新弦已张,静候谁的指尖与故事? +https://yylunbo.ottiptv.cc/yy/1354936170 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 返乡青年撞破村中隐秘——村里有情况 +https://yylunbo.ottiptv.cc/yy/1382749940 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 跨越时空的誓言,此生只为你守候 +https://yylunbo.ottiptv.cc/yy/1382749912 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe",  跨国生死救援!毒枭围困中的绝地反击 +https://yylunbo.ottiptv.cc/yy/1354926643 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 犬夜叉,半妖四魂之玉之路 +https://yylunbo.ottiptv.cc/yy/1509038705 +#EXTINF:-1 tvg-logo="https://s1.yy.com/guild/header/10001.jpg" group-title="zonghe", 济公 +https://yylunbo.ottiptv.cc/yy/1453955779 diff --git a/tvboxqq/tvboxqq/饭太硬/lives/冰茶.txt b/tvboxqq/tvboxqq/饭太硬/lives/冰茶.txt new file mode 100644 index 0000000..01471ab --- /dev/null +++ b/tvboxqq/tvboxqq/饭太硬/lives/冰茶.txt @@ -0,0 +1,361 @@ +#EXTM3U x-tvg-url="https://static.188766.xyz/e.xml" catchup="append" catchup-source="?playseek=${(b)yyyyMMddHHmmss}-${(e)yyyyMMddHHmmss}" + +#EXTINF:-1 tvg-id="CCTV1" tvg-name="CCTV1" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/CCTV1.png" group-title="央视频道",CCTV-1 综合 +https://migu.188766.xyz/?migutoken=380bb918588e69db54983e7d822032cc&id=CCTV1&type=yy +#EXTINF:-1 tvg-id="CCTV2" tvg-name="CCTV2" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/CCTV2.png" group-title="央视频道",CCTV-2 财经 +https://migu.188766.xyz/?migutoken=e42d95f45b5d155af24df6b1b6bf518a&id=CCTV2&type=yy +#EXTINF:-1 tvg-id="CCTV3" tvg-name="CCTV3" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/CCTV3.png" group-title="央视频道",CCTV-3 综艺 +https://migu.188766.xyz/?migutoken=370155bf81d20351917b85b0c8b49b37&id=CCTV3&type=yy +#EXTINF:-1 tvg-id="CCTV4" tvg-name="CCTV4" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/CCTV4.png" group-title="央视频道",CCTV-4 中文国际 +https://migu.188766.xyz/?migutoken=0ef1c998369a238cdcb6d4f112032151&id=CCTV4&type=yy +#EXTINF:-1 tvg-id="CCTV5" tvg-name="CCTV5" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/CCTV5.png" group-title="央视频道",CCTV-5 体育 +https://migu.188766.xyz/?migutoken=c8e0133967a0e288f7032f0e27300aa3&id=CCTV5&type=yy +#EXTINF:-1 tvg-id="CCTV5+" tvg-name="CCTV5+" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/CCTV5+.png" group-title="央视频道",CCTV-5+ 体育赛事 +https://migu.188766.xyz/?migutoken=2e433173463e31485c5182c461feb0ea&id=CCTV5p&type=yy +#EXTINF:-1 tvg-id="CCTV6" tvg-name="CCTV6" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/CCTV6.png" group-title="央视频道",CCTV-6 电影 +https://migu.188766.xyz/?migutoken=e0ff873c151bdf4bd3106b73332e22e1&id=CCTV6&type=yy +#EXTINF:-1 tvg-id="CCTV7" tvg-name="CCTV7" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/CCTV7.png" group-title="央视频道",CCTV-7 国防军事 +https://migu.188766.xyz/?migutoken=5f719707ae3a21e825ca5a1f5cc797fd&id=CCTV7&type=yy +#EXTINF:-1 tvg-id="CCTV8" tvg-name="CCTV8" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/CCTV8.png" group-title="央视频道",CCTV-8 电视剧 +https://migu.188766.xyz/?migutoken=cc8feed3bc93c7ec6b3a7ac51688be01&id=CCTV8&type=yy +#EXTINF:-1 tvg-id="CCTV9" tvg-name="CCTV9" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/CCTV9.png" group-title="央视频道",CCTV-9 纪录 +https://migu.188766.xyz/?migutoken=afe2117a10c80d26c9581dd214d56fa9&id=CCTV9&type=yy +#EXTINF:-1 tvg-id="CCTV10" tvg-name="CCTV10" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/CCTV10.png" group-title="央视频道",CCTV-10 科教 +https://migu.188766.xyz/?migutoken=280988fa45eb264870fe9a9cd50095fc&id=CCTV10&type=yy +#EXTINF:-1 tvg-id="CCTV11" tvg-name="CCTV11" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/CCTV11.png" group-title="央视频道",CCTV-11 戏曲 +https://migu.188766.xyz/?migutoken=24eb749cd35f826873690586e3fd08cd&id=CCTV11&type=yy +#EXTINF:-1 tvg-id="CCTV12" tvg-name="CCTV12" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/CCTV12.png" group-title="央视频道",CCTV-12 社会与法 +https://migu.188766.xyz/?migutoken=c11fe08d31a6f35e486517ef74554777&id=CCTV12&type=yy +#EXTINF:-1 tvg-id="CCTV13" tvg-name="CCTV13" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/CCTV13.png" group-title="央视频道",CCTV-13 新闻 +https://migu.188766.xyz/?migutoken=2c4ebc5adbac48075c12753726852b2e&id=CCTV13&type=yy +#EXTINF:-1 tvg-id="CCTV14" tvg-name="CCTV14" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/CCTV14.png" group-title="央视频道",CCTV-14 少儿 +https://migu.188766.xyz/?migutoken=07a5fc1f569751a58cc271b3709ee058&id=CCTV14&type=yy +#EXTINF:-1 tvg-id="CCTV15" tvg-name="CCTV15" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/CCTV15.png" group-title="央视频道",CCTV-15 音乐 +https://migu.188766.xyz/?migutoken=e21623bf56028f94b0710f45b23ddf48&id=CCTV15&type=yy +#EXTINF:-1 tvg-id="CCTV17" tvg-name="CCTV17" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/CCTV17.png" group-title="央视频道",CCTV-17 农业农村 +https://migu.188766.xyz/?migutoken=26f56fb7410663ebf674510316e72663&id=CCTV17&type=yy +#EXTINF:-1 tvg-id="CCTV4欧洲" tvg-name="CCTV4欧洲" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/CCTV4欧洲.png" group-title="央视频道",CCTV-4 中文国际 欧洲 +https://migu.188766.xyz/?migutoken=9661567aed2227822645c1fe94b97993&id=CCTV4%E6%AC%A7%E6%B4%B2&type=yy +#EXTINF:-1 tvg-id="CCTV4美洲" tvg-name="CCTV4美洲" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/CCTV4美洲.png" group-title="央视频道",CCTV-4 中文国际 美洲 +https://migu.188766.xyz/?migutoken=23007688fc75bbf874b66f0d610eaf5c&id=CCTV4%E7%BE%8E%E6%B4%B2&type=yy + +#EXTINF:-1 tvg-id="湖南卫视" tvg-name="湖南卫视" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/湖南卫视.png" group-title="卫视频道",湖南卫视 +https://migu.188766.xyz/?migutoken=38d5546fff1044a8b29c094471eb02f8&id=hnws&type=sz +#EXTINF:-1 tvg-id="浙江卫视" tvg-name="浙江卫视" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/浙江卫视.png" group-title="卫视频道",浙江卫视 +https://migu.188766.xyz/?migutoken=007570867b1c83805980923fd909257e&id=%E6%B5%99%E6%B1%9F%E5%8D%AB%E8%A7%86&pp=1 +#EXTINF:-1 tvg-id="浙江卫视" tvg-name="浙江卫视" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/浙江卫视.png" group-title="卫视频道",浙江卫视 +https://migu.188766.xyz/?migutoken=1af4024709a6452e0124c0887aa02d43&id=z_jws&type=sz +#EXTINF:-1 tvg-id="江苏卫视" tvg-name="江苏卫视" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/江苏卫视.png" group-title="卫视频道",江苏卫视 +https://migu.188766.xyz/?migutoken=140fb5bc4277d24cc79863ea4ae4ee47&id=%E6%B1%9F%E8%8B%8F%E5%8D%AB%E8%A7%86&type=yy +#EXTINF:-1 tvg-id="东方卫视" tvg-name="东方卫视" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/东方卫视.png" group-title="卫视频道",东方卫视 +https://migu.188766.xyz/?migutoken=d47a6323dfdf07b89235f2a5220e7c47&id=%E4%B8%9C%E6%96%B9%E5%8D%AB%E8%A7%86&type=yy +#EXTINF:-1 tvg-id="广东卫视" tvg-name="广东卫视" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/广东卫视.png" group-title="卫视频道",广东卫视 +https://migu.188766.xyz/?migutoken=700b8db7fd412dc303c79076a2ab504e&id=%E5%B9%BF%E4%B8%9C%E5%8D%AB%E8%A7%86&type=yy +#EXTINF:-1 tvg-id="湖北卫视" tvg-name="湖北卫视" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/湖北卫视.png" group-title="卫视频道",湖北卫视 +https://migu.188766.xyz/?migutoken=613b00cdd77f67579d28978c67e89e77&id=%E6%B9%96%E5%8C%97%E5%8D%AB%E8%A7%86&type=yy +#EXTINF:-1 tvg-id="江西卫视" tvg-name="江西卫视" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/江西卫视.png" group-title="卫视频道",江西卫视 +https://migu.188766.xyz/?migutoken=93c2aad7a82944caad09426576f55a6a&id=%E6%B1%9F%E8%A5%BF%E5%8D%AB%E8%A7%86&type=yy +#EXTINF:-1 tvg-id="辽宁卫视" tvg-name="辽宁卫视" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/辽宁卫视.png" group-title="卫视频道",辽宁卫视 +https://migu.188766.xyz/?migutoken=4d2b1bebb31580efa304f7afb8f23da8&id=%E8%BE%BD%E5%AE%81%E5%8D%AB%E8%A7%86&type=yy +#EXTINF:-1 tvg-id="河南卫视" tvg-name="河南卫视" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/河南卫视.png" group-title="卫视频道",河南卫视 +https://migu.188766.xyz/?migutoken=53afe195522c281fac5522fa37656673&id=%E6%B2%B3%E5%8D%97%E5%8D%AB%E8%A7%86%E9%AB%98%E6%B8%85&type=yy +#EXTINF:-1 tvg-id="海南卫视" tvg-name="海南卫视" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/海南卫视.png" group-title="卫视频道",海南卫视 +https://migu.188766.xyz/?migutoken=9041cb08138ee623066644cfb14bc080&id=hn_hnws&type=sz +#EXTINF:-1 tvg-id="内蒙古卫视" tvg-name="内蒙古卫视" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/内蒙古卫视.png" group-title="卫视频道",内蒙古卫视 +https://migu.188766.xyz/?migutoken=72a983275cbee3aa6d0001c2ab4847d3&id=%E5%86%85%E8%92%99%E5%8F%A4%E5%8D%AB%E8%A7%86&pp=1 +#EXTINF:-1 tvg-id="陕西卫视" tvg-name="陕西卫视" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/陕西卫视.png" group-title="卫视频道",陕西卫视 +https://migu.188766.xyz/?migutoken=1054957990e91afa6b62082daf9dcd6b&id=%E9%99%95%E8%A5%BF%E5%8D%AB%E8%A7%86&type=yy +#EXTINF:-1 tvg-id="三沙卫视" tvg-name="三沙卫视" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/三沙卫视.png" group-title="卫视频道",三沙卫视 +https://migu.188766.xyz/?migutoken=1d71e6ad7fdc3a80a12803a2436d2887&id=hn_ssws&type=sz +#EXTINF:-1 tvg-id="吉林卫视" tvg-name="吉林卫视" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/吉林卫视.png" group-title="卫视频道",吉林卫视 +https://migu.188766.xyz/?migutoken=a0ff3339a4dd1d67b67a82af6c10e045&id=%E5%90%89%E6%9E%97%E5%8D%AB%E8%A7%86&type=yy +#EXTINF:-1 tvg-id="青海卫视" tvg-name="青海卫视" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/青海卫视.png" group-title="卫视频道",青海卫视 +https://migu.188766.xyz/?migutoken=d5ea640da252ee269b70c83537daee6c&id=%E9%9D%92%E6%B5%B7%E5%8D%AB%E8%A7%86&type=yy +#EXTINF:-1 tvg-id="海南卫视" tvg-name="海南卫视" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/海南卫视.png" group-title="卫视频道",海南卫视 +https://migu.188766.xyz/?migutoken=90cfb3138f5f610eb00b3767a3911157&id=%E6%B5%B7%E5%8D%97%E5%8D%AB%E8%A7%86&type=yy +#EXTINF:-1 tvg-id="宁夏卫视" tvg-name="宁夏卫视" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/宁夏卫视.png" group-title="卫视频道",宁夏卫视 +https://migu.188766.xyz/?migutoken=598ea98c0f669f11cb4eed5930046a37&id=%E5%AE%81%E5%A4%8F%E5%8D%AB%E8%A7%86&type=yy +#EXTINF:-1 tvg-id="农林卫视" tvg-name="农林卫视" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/农林卫视.png" group-title="卫视频道",农林卫视 +https://migu.188766.xyz/?migutoken=a8105f54c5a4bdb08e94807419578d29&id=%E4%B8%AD%E5%9B%BD%E5%86%9C%E6%9E%97%E5%8D%AB%E8%A7%86&type=yy +#EXTINF:-1 tvg-id="兵团卫视" tvg-name="兵团卫视" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/兵团卫视.png" group-title="卫视频道",兵团卫视 +https://migu.188766.xyz/?migutoken=fd4fe9ab046426f8104a98ca82416575&id=%E5%85%B5%E5%9B%A2%E5%8D%AB%E8%A7%86&type=yy +#EXTINF:-1 tvg-id="大湾区卫视" tvg-name="大湾区卫视" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/大湾区卫视.png" group-title="卫视频道",大湾区卫视 +https://migu.188766.xyz/?migutoken=e8a6e47016ca52a3a8b2d3e1e4627b46&id=%E5%A4%A7%E6%B9%BE%E5%8C%BA%E5%8D%AB%E8%A7%86&type=yy + + +#EXTINF:-1 tvg-id="湖南卫视" tvg-name="湖南卫视" tvg-logo="https://static.188766.xyz/logo/sln162/iptv-back/logo/湖南卫视4K.png" group-title="超清频道",湖南卫视4K +https://migu.188766.xyz/?migutoken=47f9489d049fdc20037add3b367bc766&id=%E6%B9%96%E5%8D%97%E5%8D%AB%E8%A7%864K&pp=1 +#EXTINF:-1 tvg-id="浙江卫视" tvg-name="浙江卫视" tvg-logo="https://static.188766.xyz/logo/sln162/iptv-back/logo/浙江卫视4K.png" group-title="超清频道",浙江卫视4K +https://migu.188766.xyz/?migutoken=0f4ec2a69475712454f1b0006e226b0c&id=%E6%B5%99%E6%B1%9F%E5%8D%AB%E8%A7%864K&pp=1 +#EXTINF:-1 tvg-id="东方卫视" tvg-name="东方卫视" tvg-logo="https://static.188766.xyz/logo/sln162/iptv-back/logo/东方卫视4K.png" group-title="超清频道",东方卫视4K +#EXTVLCOPT:referer=https://live.kankanews.com/ +#EXTVLCOPT:http-referer=https://live.kankanews.com/ +#KODIPROP:inputstream.adaptive.stream_headers=Referer=https://live.kankanews.com/ +https://migu.188766.xyz/?migutoken=e154c7267d89f7b1f301f9f312f0ddfa&id=dfws&type=sz +#EXTINF:-1 tvg-id="北京卫视" tvg-name="北京卫视" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/北京卫视4K.png" group-title="超清频道",北京卫视4K +https://migu.188766.xyz/?migutoken=55525ca5930d71c443062717821568b2&id=%E5%8C%97%E4%BA%AC%E5%8D%AB%E8%A7%86&type=yy +#EXTINF:-1 tvg-id="深圳卫视" tvg-name="深圳卫视" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/深圳卫视4K.png" group-title="超清频道",深圳卫视4K +https://migu.188766.xyz/?migutoken=3e7d46ab8cf226f4d151743000ed9e76&id=%E6%B7%B1%E5%9C%B3%E5%8D%AB%E8%A7%86&pp=1 +#EXTINF:-1 tvg-id="苏州4K" tvg-name="苏州4K" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/苏州4K.png" group-title="超清频道",苏州4K +https://tylive.kan0512.com/norecord/csztv4k_4k.m3u8 +#EXTINF:-1 tvg-id="河北4K" tvg-name="河北4K" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/纯享4K.png" group-title="超清频道",河北4K +https://event.pull.hebtv.com:443/live/live101.m3u8 + +#EXTINF:-1 tvg-id="CHC影迷电影" tvg-name="CHC影迷电影" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/CHC影迷电影.png" group-title="其他频道",CHC影迷电影 +https://migu.188766.xyz/?migutoken=8d7856cc4f49b34a98a411573cffd2e6&id=CHC%E5%BD%B1%E8%BF%B7%E7%94%B5%E5%BD%B1&type=yy +#EXTINF:-1 tvg-id="五星体育" tvg-name="五星体育" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/五星体育.png" group-title="其他频道",五星体育 +https://migu.188766.xyz/?migutoken=f9cb44d050ac7a309a033b35e24c0bf9&id=%E4%BA%94%E6%98%9F%E4%BD%93%E8%82%B2&pp=1 +#EXTINF:-1 tvg-id="五星体育" tvg-name="五星体育" http-user-agent="okHttp/Mod-1.5.0.0" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/五星体育.png" group-title="其他频道",五星体育 +#EXTVLCOPT:http-user-agent=okHttp/Mod-1.5.0.0 +https://other.ottiptv.cc/wxty.m3u8 +#EXTINF:-1 tvg-id="重温经典" tvg-name="重温经典" http-user-agent="okHttp/Mod-1.5.0.0" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/重温经典.png" group-title="其他频道",重温经典 +#EXTVLCOPT:http-user-agent=okHttp/Mod-1.5.0.0 +https://other.ottiptv.cc/cwjd.m3u8 +#EXTINF:-1 tvg-id="上视东方影视" tvg-name="上视东方影视" tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/002/274/202105271333_5100001715_2_HSJ720H.jpg" group-title="其他频道",上视东方影视 +https://migu.188766.xyz/?migutoken=c89c1ef82e29c1d466d7c68c5d0cc61b&id=%E4%B8%8A%E8%A7%86%E4%B8%9C%E6%96%B9%E5%BD%B1%E8%A7%86&type=yy +#EXTINF:-1 tvg-id="新片放映厅" tvg-name="新片放映厅" tvg-logo="https://static.188766.xyz/logo/sln162/iptv-back/logo/新片放映厅.png" group-title="其他频道",新片放映厅 +https://migu.188766.xyz/?migutoken=014538dd57a985d3d7783417b48f294c&id=%E6%96%B0%E7%89%87%E6%94%BE%E6%98%A0%E5%8E%85&type=yy +#EXTINF:-1 tvg-id="经典香港电影" tvg-name="经典香港电影" tvg-logo="http://wapx.cmvideo.cn:8080/publish/poms/image/5500/242/089/202508211805_1755769511908_H32_1080.webp" group-title="其他频道",经典香港电影 +https://migu.188766.xyz/?migutoken=f2aa214165da14a04748420d654cbd7c&id=%E7%BB%8F%E5%85%B8%E9%A6%99%E6%B8%AF%E7%94%B5%E5%BD%B1&type=yy +#EXTINF:-1 tvg-id="抗战经典影片" tvg-name="抗战经典影片" tvg-logo="http://wapx.cmvideo.cn:8080/publish/poms/image/5500/002/717/202507241513_1753340553498_H32_1080.webp" group-title="其他频道",抗战经典影片 +https://migu.188766.xyz/?migutoken=a068ad200f59b4c101f44f2ebdfbcd0f&id=%E6%8A%97%E6%88%98%E7%BB%8F%E5%85%B8%E5%BD%B1%E7%89%87&type=yy +#EXTINF:-1 tvg-id="南方影视" tvg-name="南方影视" tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/2206/173/738/202304081513_2206173738_HSJ720H.jpg" group-title="其他频道",南方影视 +https://migu.188766.xyz/?migutoken=2eea385e578eff6b7676bf3859c06011&id=%E5%8D%97%E6%96%B9%E5%BD%B1%E8%A7%86&type=yy +#EXTINF:-1 tvg-id="和美乡途轮播台" tvg-name="和美乡途轮播台" tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5910/019/525/202504151721_1744708803016_H169_1080.jpg" group-title="其他频道",和美乡途轮播台 +https://migu.188766.xyz/?migutoken=6874cea367fd4c30cbaeab1be2382c1e&id=%E5%92%8C%E7%BE%8E%E4%B9%A1%E9%80%94%E8%BD%AE%E6%92%AD%E5%8F%B0&type=yy +#EXTINF:-1 tvg-id="茶" tvg-name="茶" tvg-logo="https://wapx.cmvideo.cn/publish/poms/v1/image/5910/022/320/202512290851_1766567978328_H169_1080.jpg" group-title="其他频道",茶 +https://migu.188766.xyz/?migutoken=7ba49c3233fd3f57635dcfb1fbb5e6b3&id=%E8%8C%B6&type=yy +#EXTINF:-1 tvg-id="快乐垂钓" tvg-name="快乐垂钓" tvg-logo="https://wapx.cmvideo.cn/publish/poms/v1/image/5910/022/317/202512290851_1766567873215_H169_1080.jpg" group-title="其他频道",快乐垂钓 +https://migu.188766.xyz/?migutoken=786b1099b98396dd627cb3dc7218143f&id=%E5%BF%AB%E4%B9%90%E5%9E%82%E9%92%93&type=yy +#EXTINF:-1 tvg-id="赛事最经典" tvg-name="赛事最经典" tvg-logo="https://static.188766.xyz/logo/sln162/iptv-back/logo/赛事最经典.png" group-title="其他频道",赛事最经典 +https://migu.188766.xyz/?migutoken=89c2efbfb4e3d17987c8e137ae19ca23&id=%E8%B5%9B%E4%BA%8B%E6%9C%80%E7%BB%8F%E5%85%B8&type=yy +#EXTINF:-1 tvg-id="武术世界" tvg-name="武术世界" tvg-logo="http://wapx.cmvideo.cn:8080/publish/poms/v1/image/5910/022/201/202509251348_1758698474363_H32_1080.webp" group-title="其他频道",武术世界 +https://migu.188766.xyz/?migutoken=938a9d12654330a9880b20a70ab2e3f8&id=%E6%AD%A6%E6%9C%AF%E4%B8%96%E7%95%8C&type=yy +#EXTINF:-1 tvg-id="四海钓鱼" tvg-name="四海钓鱼" tvg-logo="http://wapx.cmvideo.cn:8080/publish/poms/v1/image/5910/022/184/202508040856_5100132656_H32_1080.webp" group-title="其他频道",四海钓鱼 +https://migu.188766.xyz/?migutoken=93c4c25bf6196f17225d70c13c55ef96&id=%E5%9B%9B%E6%B5%B7%E9%92%93%E9%B1%BC&type=yy +#EXTINF:-1 tvg-id="环球旅游" tvg-name="环球旅游" tvg-logo="http://wapx.cmvideo.cn:8080/publish/poms/v1/image/5910/022/200/202509251348_1758698362959_H32_1080.webp" group-title="其他频道",环球旅游 +https://migu.188766.xyz/?migutoken=3c7c8f773faffe81aebbcb5d92a7dbc7&id=%E7%8E%AF%E7%90%83%E6%97%85%E6%B8%B8&type=yy +#EXTINF:-1 tvg-id="最强综艺趴" tvg-name="最强综艺趴" tvg-logo="https://static.188766.xyz/logo/sln162/iptv-back/logo/最强综艺趴.png" group-title="其他频道",最强综艺趴 +https://migu.188766.xyz/?migutoken=964d942adb7aa7db20ac47c3ea70dafd&id=%E6%9C%80%E5%BC%BA%E7%BB%BC%E8%89%BA%E8%B6%B4&type=yy +#EXTINF:-1 tvg-id="新动漫" tvg-name="新动漫" tvg-logo="https://wapx.cmvideo.cn/publish/poms/v1/image/5910/022/319/202512290851_1766568047463_H169_1080.jpg" group-title="其他频道",新动漫 +https://migu.188766.xyz/?migutoken=0fb66d5ac60022ceda271785fba4e744&id=%E6%96%B0%E5%8A%A8%E6%BC%AB&type=yy +#EXTINF:-1 tvg-id="嘉佳卡通" tvg-name="嘉佳卡通" tvg-logo="https://static.188766.xyz/logo/sln162/iptv-back/logo/嘉佳卡通.png" group-title="其他频道",嘉佳卡通 +https://migu.188766.xyz/?migutoken=fbb3f95ac7ad24452429713f20eac022&id=%E5%98%89%E4%BD%B3%E5%8D%A1%E9%80%9A&type=yy +#EXTINF:-1 tvg-id="经典动画大集合" tvg-name="经典动画大集合" tvg-logo="https://static.188766.xyz/logo/sln162/iptv-back/logo/经典动画大集合.png" group-title="其他频道",经典动画大集合 +https://migu.188766.xyz/?migutoken=408e919fdecbc021df02c046d5dc11fe&id=%E7%BB%8F%E5%85%B8%E5%8A%A8%E7%94%BB%E5%A4%A7%E9%9B%86%E5%90%88&type=yy +#EXTINF:-1 tvg-id="优漫卡通" tvg-name="优漫卡通" tvg-logo="https://static.188766.xyz/logo/sln162/iptv-back/logo/优漫卡通频道.png" group-title="其他频道",优漫卡通 +https://migu.188766.xyz/?migutoken=915dd540261091ba84fdaf9a151c8c61&id=%E4%BC%98%E6%BC%AB%E5%8D%A1%E9%80%9A%E9%A2%91%E9%81%93&type=yy +#EXTINF:-1 tvg-id="财富天下" tvg-name="财富天下" tvg-logo="http://wapx.cmvideo.cn:8080/publish/poms/v1/image/5910/022/193/202508061552_1754385779498_H32_1080.webp" group-title="其他频道",财富天下 +https://migu.188766.xyz/?migutoken=cf5d772e7c5e4183bd3e1e1c6ed27653&id=%E8%B4%A2%E5%AF%8C%E5%A4%A9%E4%B8%8B&type=yy +#EXTINF:-1 tvg-id="体坛名栏汇" tvg-name="体坛名栏汇" tvg-logo="https://static.188766.xyz/logo/sln162/iptv-back/logo/体坛名栏汇.png" group-title="其他频道",体坛名栏汇 +https://migu.188766.xyz/?migutoken=a5720b1748a0cdf45eb0bfc5cfe0f238&id=%E4%BD%93%E5%9D%9B%E5%90%8D%E6%A0%8F%E6%B1%87&type=yy +#EXTINF:-1 tvg-id="24小时城市联赛轮播台" tvg-name="24小时城市联赛轮播台" tvg-logo="http://wapx.cmvideo.cn:8080/publish/poms/image/5910/022/136/202509241340_1758692392561_H32_1080.webp" group-title="其他频道",24小时城市联赛轮播台 +https://migu.188766.xyz/?migutoken=465255a5349d61ee662a5e02d0641be1&id=24%E5%B0%8F%E6%97%B6%E5%9F%8E%E5%B8%82%E8%81%94%E8%B5%9B%E8%BD%AE%E6%92%AD%E5%8F%B0&type=yy +#EXTINF:-1 tvg-id="山东教育" tvg-name="山东教育" tvg-logo="http://wapx.cmvideo.cn:8080/publish/poms/v1/image/5910/022/199/202509241938_1758698577926_H32_1080.webp" group-title="其他频道",山东教育 +https://migu.188766.xyz/?migutoken=c2f541f0db1a375fdb090181979ad73b&id=%E5%B1%B1%E4%B8%9C%E6%95%99%E8%82%B2&type=yy +#EXTINF:-1 tvg-id="中学生" tvg-name="中学生" tvg-logo="https://static.188766.xyz/logo/sln162/iptv-back/logo/中学生.png" group-title="其他频道",中学生 +https://migu.188766.xyz/?migutoken=61c81d83069cacadf24d9212662dcffc&id=%E4%B8%AD%E5%AD%A6%E7%94%9F&type=yy +#EXTINF:-1 tvg-id="老故事" tvg-name="老故事" tvg-logo="http://wapx.cmvideo.cn:8080/publish/poms/image/5910/022/002/202405081702_1715158648861_H32_1080.webp" group-title="其他频道",老故事 +https://migu.188766.xyz/?migutoken=8b76035dce75c7a01430873db7493cbe&id=%E8%80%81%E6%95%85%E4%BA%8B&type=yy +#EXTINF:-1 tvg-id="发现之旅" tvg-name="发现之旅" tvg-logo="https://wapx.cmvideo.cn/publish/poms/image/5500/212/893/202405081702_1715158824845_H169_1080.jpg" group-title="其他频道",发现之旅 +https://migu.188766.xyz/?migutoken=fe970ca83354f7eee86624a8f8059a8d&id=%E5%8F%91%E7%8E%B0%E4%B9%8B%E6%97%85&type=yy +#EXTINF:-1 tvg-id="CETV1" tvg-name="CETV1" tvg-logo="https://static.188766.xyz/logo/sln162/iptv-back/logo/CETV1.png" group-title="其他频道",CETV-1 +https://migu.188766.xyz/?migutoken=87c4e3887834942b8fc85561ab9eb620&id=CETV1&type=yy +#EXTINF:-1 tvg-id="CETV2" tvg-name="CETV2" tvg-logo="https://static.188766.xyz/logo/sln162/iptv-back/logo/CETV2.png" group-title="其他频道",CETV-2 +https://migu.188766.xyz/?migutoken=870ec96fea8597ace1fb72766cf9ba2e&id=CETV2&type=yy +#EXTINF:-1 tvg-id="CETV4" tvg-name="CETV4" tvg-logo="https://static.188766.xyz/logo/sln162/iptv-back/logo/CETV4.png" group-title="其他频道",CETV-4 +https://migu.188766.xyz/?migutoken=ea9312e82d05e7d5bacaf37f56c5ece1&id=CETV4&type=yy +#EXTINF:-1 tvg-id="新动力量创一流" tvg-name="新动力量创一流" tvg-logo="http://wapx.cmvideo.cn:8080/publish/poms/image/5910/019/523/202506060000_1749138941378_H32_1080.webp" group-title="其他频道",新动力量创一流 +https://migu.188766.xyz/?migutoken=896385d2f8f2ec2d5c45c3e4ac35ce97&id=%E6%96%B0%E5%8A%A8%E5%8A%9B%E9%87%8F%E5%88%9B%E4%B8%80%E6%B5%81&type=yy + + +#EXTINF:-1 tvg-id="卡酷少儿" tvg-name="卡酷少儿" tvg-logo="https://static.188766.xyz/logo/taksssss/tv/icon/卡酷少儿.png" group-title="地方频道",卡酷少儿 +https://migu.188766.xyz/?migutoken=713d63f8dead50e95ae34ce96991ab67&id=%E5%8C%97%E4%BA%AC%E5%8D%A1%E9%85%B7%E5%B0%91%E5%84%BF&type=yy +#EXTINF:-1 tvg-id="北京影视" tvg-name="北京影视" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/北京影视.png" group-title="地方频道",北京影视 +https://migu.188766.xyz/?migutoken=cc759665d40bb366be97a7e69305f4af&id=%E5%8C%97%E4%BA%AC%E5%BD%B1%E8%A7%86&type=yy +#EXTINF:-1 tvg-id="北京文艺" tvg-name="北京文艺" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/北京文艺.png" group-title="地方频道",北京文艺 +https://migu.188766.xyz/?migutoken=ffcb6efb68884935a8922291455a391f&id=%E5%8C%97%E4%BA%AC%E6%96%87%E8%89%BA&type=yy +#EXTINF:-1 tvg-id="北京财经" tvg-name="北京财经" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/北京财经.png" group-title="地方频道",北京财经 +https://migu.188766.xyz/?migutoken=693d0bd6e9cfbc5151780e48fcc20aff&id=%E5%8C%97%E4%BA%AC%E8%B4%A2%E7%BB%8F&type=yy +#EXTINF:-1 tvg-id="北京生活" tvg-name="北京生活" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/北京生活.png" group-title="地方频道",北京生活 +https://migu.188766.xyz/?migutoken=3fa2120cf9a2b95a5687824236fce27e&id=%E5%8C%97%E4%BA%ACi%E7%94%9F%E6%B4%BB&type=yy +#EXTINF:-1 tvg-id="北京新闻" tvg-name="北京新闻" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/北京新闻.png" group-title="地方频道",北京新闻 +https://migu.188766.xyz/?migutoken=8b0bdd34a8ed421e2635c2b6132a836b&id=%E5%8C%97%E4%BA%AC%E6%96%B0%E9%97%BB&type=yy +#EXTINF:-1 tvg-id="北京纪实科教" tvg-name="北京纪实科教" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/北京纪实科教.png" group-title="地方频道",北京纪实科教 +https://migu.188766.xyz/?migutoken=0c9a89813a4fd4508a48e2b534da8a97&id=%E5%8C%97%E4%BA%AC%E7%BA%AA%E5%AE%9E%E7%A7%91%E6%95%99&type=yy +#EXTINF:-1 tvg-id="河南梨园" tvg-name="河南梨园" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/河南梨园.png" group-title="地方频道",河南梨园 +https://migu.188766.xyz/?migutoken=e2e99bdd781dd93ce7a7b8da51b52604&id=%E6%A2%A8%E5%9B%AD%E9%A2%91%E9%81%93&type=yy +#EXTINF:-1 tvg-id="河南新闻" tvg-name="河南新闻" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/河南新闻.png" group-title="地方频道",河南新闻 +https://migu.188766.xyz/?migutoken=9235ee524787a91a176f1aa35cb7903c&id=%E6%96%B0%E9%97%BB%E9%A2%91%E9%81%93&type=yy +#EXTINF:-1 tvg-id="河南都市" tvg-name="河南都市" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/河南都市.png" group-title="地方频道",河南都市 +https://migu.188766.xyz/?migutoken=f4b57a99232f42f03f46a69a47e478cc&id=%E9%83%BD%E5%B8%82%E9%A2%91%E9%81%93&type=yy +#EXTINF:-1 tvg-id="河南民生" tvg-name="河南民生" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/河南民生.png" group-title="地方频道",河南民生 +https://migu.188766.xyz/?migutoken=c1df3b466f8eb080cdd1501dab54ce68&id=%E6%B0%91%E7%94%9F%E9%A2%91%E9%81%93&type=yy +#EXTINF:-1 tvg-id="河南电视剧" tvg-name="河南电视剧" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/河南电视剧.png" group-title="地方频道",河南电视剧 +https://migu.188766.xyz/?migutoken=acc0ee499136708158e4591bbd974bcf&id=%E7%94%B5%E8%A7%86%E5%89%A7%E9%A2%91%E9%81%93&type=yy +#EXTINF:-1 tvg-id="河南公共" tvg-name="河南公共" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/河南公共.png" group-title="地方频道",河南公共 +https://migu.188766.xyz/?migutoken=982ac86b889db8e3765295e346d325b9&id=%E5%85%AC%E5%85%B1%E9%A2%91%E9%81%93&type=yy +#EXTINF:-1 tvg-id="河南公共" tvg-name="河南公共" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/河南法治.png" group-title="地方频道",河南法治 +https://migu.188766.xyz/?migutoken=30dbfcf37f1bcde89aefe7e814b10fec&id=%E6%B3%95%E6%B2%BB%E9%A2%91%E9%81%93&type=yy +#EXTINF:-1 tvg-id="河南武术" tvg-name="河南武术" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/武术世界.png" group-title="地方频道",河南武术 +https://migu.188766.xyz/?migutoken=c30ea6e55b26faf28c68bcccc53dbee9&id=%E6%AD%A6%E6%9C%AF%E9%A2%91%E9%81%93&type=yy +#EXTINF:-1 tvg-id="河南移动戏曲" tvg-name="河南移动戏曲" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/移动戏曲.png" group-title="地方频道",河南移动戏曲 +https://migu.188766.xyz/?migutoken=74ebf68813a6e5a440bcdf4755b9729f&id=%E7%A7%BB%E5%8A%A8%E6%88%8F%E6%9B%B2%E9%A2%91%E9%81%93&type=yy +#EXTINF:-1 tvg-id="河南文物宝库" tvg-name="河南文物宝库" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/文物宝库.png" group-title="地方频道",河南文物宝库 +https://migu.188766.xyz/?migutoken=f4bf793437565b547fdb2ca9aab70020&id=%E6%96%87%E7%89%A9%E5%AE%9D%E5%BA%93&type=yy +#EXTINF:-1 tvg-id="河南象视界" tvg-name="河南象视界" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/河南象视界.png" group-title="地方频道",河南象视界 +https://migu.188766.xyz/?migutoken=d1e5573c7de65b7973146edb50bf8697&id=%E8%B1%A1%E8%A7%86%E7%95%8C&type=yy + +#EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/广东体育.png" group-title="地方频道",广东体育 +https://migu.188766.xyz/?migutoken=833323f91c2dfdf11ea923cb2d1cbf39&id=hk_gdty&type=dy +#EXTINF:-1 tvg-id="广东体育" tvg-name="广东体育" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/广东体育.png" group-title="地方频道",广东体育 +https://hk.188766.xyz/?migutoken=8359d5db9ac7060ef90dc85a5a223297&id=gd_gdty&type=sz +#EXTINF:-1 tvg-id="广东新闻" tvg-name="广东新闻" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/广东新闻.png" group-title="地方频道",广东新闻 +https://hk.188766.xyz/?migutoken=01eef7fe19975ca0f674a648e3bfbb6a&id=gd_gdxw&type=sz +#EXTINF:-1 tvg-id="广东珠江" tvg-name="广东珠江" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/广东珠江.png" group-title="地方频道",广东珠江 +https://hk.188766.xyz/?migutoken=ccd667a282dd634d5c21f46c4785eec1&id=gd_gdzj&type=sz +#EXTINF:-1 tvg-id="广东民生" tvg-name="广东民生" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/广东民生.png" group-title="地方频道",广东民生 +https://hk.188766.xyz/?migutoken=f335649106bc3bead4307847f0dc4dee&id=gd_gdms&type=sz +#EXTINF:-1 tvg-id="广东影视" tvg-name="广东影视" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/广东影视.png" group-title="地方频道",广东影视 +https://hk.188766.xyz/?migutoken=eece45dbdecdb372b80a62dae409eb3c&id=gd_gdys&type=sz +#EXTINF:-1 tvg-id="广东少儿" tvg-name="广东少儿" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/广东少儿.png" group-title="地方频道",广东少儿 +https://hk.188766.xyz/?migutoken=e436623cf89397620dbd80f05c61b5e8&id=gd_gdse&type=sz +#EXTINF:-1 tvg-id="嘉佳卡通" tvg-name="嘉佳卡通" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/嘉佳卡通.png" group-title="地方频道",嘉佳卡通 +https://hk.188766.xyz/?migutoken=32143b6f2098911ea8f5dd328b200880&id=gd_jjkt&type=sz +#EXTINF:-1 tvg-id="岭南戏曲" tvg-name="岭南戏曲" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/岭南戏曲.png" group-title="地方频道",岭南戏曲 +https://hk.188766.xyz/?migutoken=486c6f9a8b1d0ff4ea4d6f93e4f76eee&id=gd_lnxq&type=sz +#EXTINF:-1 tvg-id="广东移动" tvg-name="广东移动" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/广东移动.png" group-title="地方频道",广东移动 +https://hk.188766.xyz/?migutoken=03bc9fc980e1eb944aa2538a1e31137a&id=gd_gdyd&type=sz +#EXTINF:-1 tvg-id="现代教育" tvg-name="现代教育" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/现代教育.png" group-title="地方频道",现代教育 +https://hk.188766.xyz/?migutoken=097b06214f8b20fb8f15472417ffe82a&id=gd_xdjy&type=sz +#EXTINF:-1 tvg-id="广东生活频道" tvg-name="广东生活频道" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/广东生活A.png" group-title="地方频道",广东生活频道 +https://hk.188766.xyz/?migutoken=46eec23096cb3098a8026379da8f6008&id=gd_gdsh&type=sz + +#EXTINF:-1 tvg-id="上海新闻综合" tvg-name="上海新闻综合" tvg-logo="https://static.188766.xyz/logo/sln162/iptv-back/logo/上海新闻综合.png" group-title="地方频道",上海新闻综合 +https://migu.188766.xyz/?migutoken=ec8f7afd8227e9340da7144bb31ab561&id=%E4%B8%8A%E6%B5%B7%E6%96%B0%E9%97%BB%E7%BB%BC%E5%90%88&type=yy +#EXTINF:-1 tvg-id="上海第一财经" tvg-name="上海第一财经" tvg-logo="https://static.188766.xyz/logo/sln162/iptv-back/logo/上海第一财经.png" group-title="地方频道",上海第一财经 +#EXTVLCOPT:referer=https://live.kankanews.com/ +#EXTVLCOPT:http-referer=https://live.kankanews.com/ +#KODIPROP:inputstream.adaptive.stream_headers=Referer=https://live.kankanews.com/ +https://migu.188766.xyz/?migutoken=ceb17548050d8a6eadb3cc7cd3eb0620&id=dycj&type=sz +#EXTINF:-1 tvg-id="上海新纪实" tvg-name="上海新纪实" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/新纪实频道.png" group-title="地方频道",上海新纪实 +#EXTVLCOPT:referer=https://live.kankanews.com/ +#EXTVLCOPT:http-referer=https://live.kankanews.com/ +#KODIPROP:inputstream.adaptive.stream_headers=Referer=https://live.kankanews.com/ +https://migu.188766.xyz/?migutoken=e9e8f337f50c3df2424c998b126f2fbd&id=jsrw&type=sz +#EXTINF:-1 tvg-id="上海都市" tvg-name="上海都市" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/上海都市.png" group-title="地方频道",上海都市 +#EXTVLCOPT:referer=https://live.kankanews.com/ +#EXTVLCOPT:http-referer=https://live.kankanews.com/ +#KODIPROP:inputstream.adaptive.stream_headers=Referer=https://live.kankanews.com/ +https://migu.188766.xyz/?migutoken=851834f4684e2fd1b12f9ff2c003d46b&id=shds&type=sz +#EXTINF:-1 tvg-id="哈哈炫动" tvg-name="哈哈炫动" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/哈哈炫动.png" group-title="地方频道",哈哈炫动 +#EXTVLCOPT:referer=https://live.kankanews.com/ +#EXTVLCOPT:http-referer=https://live.kankanews.com/ +#KODIPROP:inputstream.adaptive.stream_headers=Referer=https://live.kankanews.com/ +https://migu.188766.xyz/?migutoken=cfdbc74e77dc45e2f7de976339a55ba0&id=hhxd&type=sz +#EXTINF:-1 tvg-id="上海魔都眼" tvg-name="上海魔都眼" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/上海魔都眼.png" group-title="地方频道",上海魔都眼 +#EXTVLCOPT:referer=https://live.kankanews.com/ +#EXTVLCOPT:http-referer=https://live.kankanews.com/ +#KODIPROP:inputstream.adaptive.stream_headers=Referer=https://live.kankanews.com/ +https://migu.188766.xyz/?migutoken=bca4de46f7535fe6069056a949c66706&id=mdy&type=sz +#EXTINF:-1 tvg-id="爱上海" tvg-name="爱上海" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/上海ICS.png" group-title="地方频道",爱上海 +#EXTVLCOPT:referer=https://live.kankanews.com/ +#EXTVLCOPT:http-referer=https://live.kankanews.com/ +#KODIPROP:inputstream.adaptive.stream_headers=Referer=https://live.kankanews.com/ +https://migu.188766.xyz/?migutoken=98f08b46f94fa6261de51522d2eb8e30&id=ash&type=sz + +#EXTINF:-1 tvg-id="海南新闻" tvg-name="海南新闻" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/海南新闻.png" group-title="地方频道",海南新闻 +https://migu.188766.xyz/?migutoken=3cc8ef08e99240c315647163fe9e2647&id=hn_xwpd&type=sz +#EXTINF:-1 tvg-id="海南文旅" tvg-name="海南文旅" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/海南文旅.png" group-title="地方频道",海南文旅 +https://migu.188766.xyz/?migutoken=88b7ea1257661162c7be8e100fa1cd32&id=hn_wlpd&type=sz +#EXTINF:-1 tvg-id="海南自贸" tvg-name="海南自贸" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/海南自贸.png" group-title="地方频道",海南自贸 +https://migu.188766.xyz/?migutoken=9f62cddf6fa6d203adb11a6f39c2c449&id=hn_jjpd&type=sz +#EXTINF:-1 tvg-id="海南公共" tvg-name="海南公共" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/海南公共.png" group-title="地方频道",海南公共 +https://migu.188766.xyz/?migutoken=a75cb609dbd5e2c4e2028d4e3fa4f9f3&id=hn_ggpd&type=sz +#EXTINF:-1 tvg-id="海南少儿" tvg-name="海南少儿" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/海南少儿.png" group-title="地方频道",海南少儿 +https://migu.188766.xyz/?migutoken=5e1869a9d3006ecb6e0246b7f0a83e5f&id=hn_sepd&type=sz +#EXTINF:-1 tvg-id="浙江公共新闻" tvg-name="浙江公共新闻" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/浙江新闻.png" group-title="地方频道",浙江新闻 +https://ali-m-l.cztv.com/channels/lantian/channel007/1080p.m3u8 +#EXTINF:-1 tvg-id="浙江国际" tvg-name="浙江国际" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/浙江国际.png" group-title="地方频道",浙江国际 +https://ali-m-l.cztv.com/channels/lantian/channel010/1080p.m3u8 +#EXTINF:-1 tvg-id="浙江少儿" tvg-name="浙江少儿" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/浙江少儿.png" group-title="地方频道",浙江少儿 +https://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8 +#EXTINF:-1 tvg-id="浙江教科影视" tvg-name="浙江教科影视" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/浙江教科影视.png" group-title="地方频道",浙江教科 +https://ali-m-l.cztv.com/channels/lantian/channel004/1080p.m3u8 +#EXTINF:-1 tvg-id="之江纪录" tvg-name="之江纪录" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/之江纪录.png" group-title="地方频道",之江纪录 +https://ali-m-l.cztv.com/channels/lantian/channel012/1080p.m3u8 +#EXTINF:-1 tvg-id="浙江民生休闲" tvg-name="浙江民生休闲" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/浙江民生休闲.png" group-title="地方频道",浙江民生 +https://ali-m-l.cztv.com/channels/lantian/channel006/1080p.m3u8 +#EXTINF:-1 tvg-id="浙江经视" tvg-name="浙江经视" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/浙江经济生活.png" group-title="地方频道",浙江经济 +https://ali-m-l.cztv.com/channels/lantian/channel003/1080p.m3u8 +#EXTINF:-1 tvg-id="浙江钱江都市" tvg-name="浙江钱江都市" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/钱江都市.png" group-title="地方频道",浙江钱江 +https://ali-m-l.cztv.com/channels/lantian/channel002/1080p.m3u8 +#EXTINF:-1 tvg-id="内蒙古农牧" tvg-name="内蒙古农牧" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/内蒙古农牧.png" group-title="地方频道",内蒙古农牧 +http://play1-qk.nmtv.cn:80/live/1686561299036179.m3u8 +#EXTINF:-1 tvg-id="内蒙古新闻综合" tvg-name="内蒙古新闻综合" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/内蒙古新闻综合.png" group-title="地方频道",内蒙古新闻综合 +http://play1-qk.nmtv.cn/live/1686560423879174.m3u8 +#EXTINF:-1 tvg-id="内蒙古少儿" tvg-name="内蒙古少儿" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/内蒙古少儿.png" group-title="地方频道",内蒙古少儿 +http://play1-qk.nmtv.cn/live/1686560464515368.m3u8 +#EXTINF:-1 tvg-id="内蒙古文体娱乐" tvg-name="内蒙古文体娱乐" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/内蒙古文体娱乐.png" group-title="地方频道",内蒙古文体娱乐 +http://play1-qk.nmtv.cn/live/1686561195713372.m3u8 +#EXTINF:-1 tvg-id="内蒙古经济生活" tvg-name="内蒙古经济生活" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/内蒙古经济生活.png" group-title="地方频道",内蒙古经济生活 +http://play1-qk.nmtv.cn/live/1686562470947181.m3u8 +#EXTINF:-1 tvg-id="内蒙古蒙语卫视" tvg-name="内蒙古蒙语卫视" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/内蒙古蒙语卫视.png" group-title="地方频道",内蒙古蒙语卫视 +http://play1-qk.nmtv.cn/live/1686560387346365.m3u8 +#EXTINF:-1 tvg-id="内蒙古蒙语文化" tvg-name="内蒙古蒙语文化" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/内蒙古蒙语文化.png" group-title="地方频道",内蒙古蒙语文化 +http://play1-qk.nmtv.cn/live/1686561065304370.m3u8 + + +#EXTINF:-1 tvg-id="凤凰中文" tvg-name="凤凰中文" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/凤凰卫视中文台.png" group-title="粤语频道",凤凰中文 +https://mgev.188766.xyz/?migutoken=fb4ef1c568d0d431d16c8fb7aebcfeec&id=fhzw&pp=1 +#EXTINF:-1 tvg-id="凤凰中文" tvg-name="凤凰中文" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/凤凰卫视中文台.png" group-title="粤语频道",凤凰中文 +https://mgev.188766.xyz/?migutoken=35920ffa885804f1cf58afd8fefd3667&id=hk_fhzw&type=dy +#EXTINF:-1 tvg-id="凤凰资讯" tvg-name="凤凰资讯" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/凤凰卫视资讯台.png" group-title="粤语频道",凤凰资讯 +https://mgev.188766.xyz/?migutoken=c9a99fee4a2e1e4162e440205e225233&id=fhzx&pp=1 +#EXTINF:-1 tvg-id="凤凰资讯" tvg-name="凤凰资讯" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/凤凰卫视资讯台.png" group-title="粤语频道",凤凰资讯 +https://mgev.188766.xyz/?migutoken=c62ea9edeecf8767fe57e9f9dfa82e87&id=hk_fhzx&type=dy +#EXTINF:-1 tvg-id="凤凰香港" tvg-name="凤凰香港" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/凤凰卫视香港台.png" group-title="粤语频道",凤凰香港 +https://mgev.188766.xyz/?migutoken=7e6ac4f647397639a0b7d7ca69716b02&id=fhhk&pp=1 +#EXTINF:-1 tvg-id="凤凰香港" tvg-name="凤凰香港" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/凤凰卫视香港台.png" group-title="粤语频道",凤凰香港 +https://mgev.188766.xyz/?migutoken=0b61cef4ab2c8c5e440c217551687732&id=hk_fhhk&type=dy +#EXTINF:-1 tvg-id="翡翠台" tvg-name="翡翠台" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/翡翠台.png" group-title="粤语频道",翡翠台 +https://mgev.188766.xyz/?migutoken=d8f509faa98000290e42cd7a23601b97&id=hk_fct&type=dy +#EXTINF:-1 tvg-id="翡翠台4K" tvg-name="翡翠台4K" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/翡翠台.png" group-title="粤语频道",翡翠台4K +https://mgev.188766.xyz/?migutoken=a9624fedd6f655bb17224da6b5894ca1&id=hk_fct4k&type=dy +#EXTINF:-1 tvg-id="无线新闻" tvg-name="无线新闻" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/无线新闻.png" group-title="粤语频道",无线新闻 +https://mgev.188766.xyz/?migutoken=153b1c8b59c1295b5dd1becac9e8d39a&id=hk_wxxw&type=dy +#EXTINF:-1 tvg-id="Now新闻台" tvg-name="Now新闻台" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/NOW新闻台.png" group-title="粤语频道",Now新闻台 +https://mgev.188766.xyz/?migutoken=2e51b92d6b1f3fc9ca45ff2f6463bb29&id=hk_now&type=dy +#EXTINF:-1 tvg-id="TVB Plus" tvg-name="TVB Plus" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/tvbplus.png" group-title="粤语频道",TVB Plus +https://mgev.188766.xyz/?migutoken=b03a2483a0e264c923cd3dce6be63008&id=hk_tvbp&type=dy +#EXTINF:-1 tvg-id="明珠台" tvg-name="明珠台" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/明珠台.png" group-title="粤语频道",明珠台 +https://mgev.188766.xyz/?migutoken=cad5d25fa40a1805c9314fa0d85a73d1&id=hk_mzt&type=dy +#EXTINF:-1 tvg-id="TVB星河" tvg-name="TVB星河" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/TVB星河.png" group-title="粤语频道",TVB星河 +https://mgev.188766.xyz/?migutoken=37095bd306d02ac717a76b95ef4b1eb5&id=hk_tvbxh&type=dy +#EXTINF:-1 tvg-id="TVB功夫" tvg-name="TVB功夫" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/TVB功夫.png" group-title="粤语频道",TVB功夫 +https://mgev.188766.xyz/?migutoken=ecd835b1fbc0b4898d3477b61af76a4e&id=hk_yzwx&type=dy +#EXTINF:-1 tvg-id="八度空间" tvg-name="八度空间" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/八度空间.png" group-title="粤语频道",八度空间 +https://mgev.188766.xyz/?migutoken=96e746ec7b922f31d8a35b187d28e1ef&id=hk_8tv&type=dy +#EXTINF:-1 tvg-id="CHU" tvg-name="CHU" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/channelu.png" group-title="粤语频道",CHU +https://mgev.188766.xyz/?migutoken=8cb9fba6445306b8d57e4b16d979b9b4&id=hk_chu&type=dy +#EXTINF:-1 tvg-id="CH5" tvg-name="CH5" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/channel5.png" group-title="粤语频道",CH5 +https://mgev.188766.xyz/?migutoken=35b9de820acf15c747227f480725c244&id=hk_ch5&type=dy +#EXTINF:-1 tvg-id="CH8" tvg-name="CH8" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/channel8.png" group-title="粤语频道",CH8 +https://mgev.188766.xyz/?migutoken=c8d747132eef0a56fae95c3c0ca29cd1&id=hk_ch8&type=dy +#EXTINF:-1 tvg-id="澳视澳门" tvg-name="澳视澳门" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/澳视澳门.png" group-title="粤语频道",澳视澳门 +https://mgev.188766.xyz/?migutoken=208adb0da121779001a7ea26227b9e72&id=hk_asam&type=dy +#EXTINF:-1 tvg-id="HOY77" tvg-name="HOY77" tvg-logo="https://static.188766.xyz/logo/sparkssssssssss/epg/logo/HOY77.png" group-title="粤语频道",HOY77 +https://mgev.188766.xyz/?migutoken=4df5ff9c17d73ab99007bb53b0b7bfd8&id=hk_hoy&type=dy + + + +#EXTINF:-1 tvg-id="订阅地址的密码不正确_已隐藏" tvg-name="订阅地址的密码不正确_已隐藏"" tvg-logo="https://static.188766.xyz/logo/sln654360/itv/logo/免费分享.png" group-title="冰茶体育",订阅地址的密码不正确_已隐藏 +https://188766.xyz/dong +#EXTINF:-1 tvg-id="湖南卫视" tvg-name="湖南卫视" tvg-logo="https://static.188766.xyz/logo/fanmingming/live/tv/湖南卫视.png" group-title="卫视频道",湖南卫视 +http://iptv.huuc.edu.cn/hls/hunanhd.m3u8 +#EXTINF:-1 tvg-id="免费分享_用爱发电_拒绝贩卖_只有TG群" tvg-name="免费分享_用爱发电_拒绝贩卖_只有TG群" tvg-logo="https://static.188766.xyz/logo/sln654360/itv/logo/免费分享.png" group-title="🎀冰茶公告",免费分享_用爱发电_拒绝贩卖_只有TG群 +https://188766.xyz/qiu +#EXTINF:-1 tvg-id="奸商太多_冰茶体育已隐藏_进群获取密码" tvg-name="奸商太多_冰茶体育已隐藏_进群获取密码"" tvg-logo="https://static.188766.xyz/logo/sln654360/itv/logo/免费分享.png" group-title="🎀冰茶公告",奸商太多_冰茶体育已隐藏_进群获取密码 +https://188766.xyz/dong +#EXTINF:-1 tvg-id="免费分享_请勿上当" tvg-name="免费分享_请勿上当"" tvg-logo="https://static.188766.xyz/logo/sln654360/itv/logo/免费分享.png" group-title="🎀冰茶公告",12月09日_咪咕老封号_咪咕体育看咪视界 +https://188766.xyz/yu \ No newline at end of file diff --git a/tvboxqq/tvboxqq/饭太硬/lives/斗鱼一起看.txt b/tvboxqq/tvboxqq/饭太硬/lives/斗鱼一起看.txt new file mode 100644 index 0000000..53b9dd6 --- /dev/null +++ b/tvboxqq/tvboxqq/饭太硬/lives/斗鱼一起看.txt @@ -0,0 +1,1967 @@ +#EXTM3U +#EXTINF:-1 tvg-name="2026-01-10 12:28:11" tvg-logo="https://cdn.jsdelivr.net/gh/feiyang666999/testvideo/tg.jpg" group-title="列表更新时间",2026-01-10 12:28:11 +https://cdn.jsdelivr.net/gh/feiyang666999/testvideo/time/time.mp4 +#EXTINF:-1 tvg-name="4K60PSDR-H264-AAC测试" tvg-logo="https://cdn.jsdelivr.net/gh/feiyang666999/testvideo/tg.jpg" group-title="4K频道",4K60PSDR-H264-AAC测试 +https://cdn.jsdelivr.net/gh/feiyang666999/testvideo/sdr4kvideo/playlist.m3u8 +#EXTINF:-1 tvg-name="4K60PHLG-HEVC-EAC3测试" tvg-logo="https://cdn.jsdelivr.net/gh/feiyang666999/testvideo/tg.jpg" group-title="4K频道",4K60PHLG-HEVC-EAC3测试 +https://cdn.jsdelivr.net/gh/feiyang666999/testvideo/hlg4kvideo/playlist.m3u8 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/201907/42dbbbd5f6234e96ac54d84287f8c47e_big.jpg" group-title="一起看", 橙記Orange丶 +https://live.ottiptv.cc/douyu/4549169 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202503/da18b6ea3de04032bfe5379d8f4f5aeb_big.jpg" group-title="一起看", 怡宝妹妹丶 +https://live.ottiptv.cc/douyu/434971 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202308/ed30c2a412654672bd59add6b8b7a5bd_big.jpg" group-title="一起看", 蓝翔新三国 +https://live.ottiptv.cc/douyu/5908256 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202409/1b76c5b4db364b37b0883dd072efe74e_big.jpg" group-title="一起看", 竹叶的熊猫 +https://live.ottiptv.cc/douyu/3870925 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avanew/face/201611/19/23/e535db4878625ed52ab5b0edfedb9f29_big.jpg" group-title="一起看", 粤语电影丶 +https://live.ottiptv.cc/douyu/1226741 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/201903/4b77c73f33f343b3a5acc11c20b69efe_big.jpg" group-title="一起看", baby丶贝贝 +https://live.ottiptv.cc/douyu/431460 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202601/65dc86ac30ee44c8b765d1170ec0719b_big.jpg" group-title="一起看", 小毅主播w +https://live.ottiptv.cc/douyu/1446150 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202502/37db5d974e7f44189ca65528a1e6558f_big.jpg" group-title="一起看", 剧能下饭鹰 +https://live.ottiptv.cc/douyu/11931032 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/201909/13a0b26f642a4231ad377040d1c58d07_big.jpg" group-title="一起看", 伊太刀刀 +https://live.ottiptv.cc/douyu/747764 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202101/3d5301184d0c4c9abc73d8fc94db111d_big.jpg" group-title="一起看", 龍組队长天昊 +https://live.ottiptv.cc/douyu/1487654 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202405/705c431734a34ced999840fb555fbc1a_big.jpg" group-title="原创IP", 周杰伦颜老师 +https://live.ottiptv.cc/douyu/7537296 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202109/bf994a8b9969405a97522a81629ab03e_big.jpg" group-title="一起看", 奇兮兮悄陌 +https://live.ottiptv.cc/douyu/953193 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202405/d174a8d3374743caa3389e0d046e2639_big.jpg" group-title="一起看", 十七岁的道姑 +https://live.ottiptv.cc/douyu/3186217 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avanew/face/201712/19/07/5e2df6dc5728b47edb1fa2436953ead8_big.jpg" group-title="一起看", 我砸晕了牛顿奥 +https://live.ottiptv.cc/douyu/1218414 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202310/9f791f6ca56f442988ba1922b7cc9f37_big.jpg" group-title="一起看", 蕃薯粥粥煮好了 +https://live.ottiptv.cc/douyu/11878141 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avanew/face/201805/bc45aadf0bb3e8cac758e1ecfdff5ac6_big.jpg" group-title="一起看", 卖女孩滴小姑凉 +https://live.ottiptv.cc/douyu/922564 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202601/0476de9d49de4ef19d988e4bbedff4c5_big.jpg" group-title="原创IP", 彼岸零可星球 +https://live.ottiptv.cc/douyu/40471 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avanew/face/201610/15/00/d31243bd06b6bf5ae33738019ab63b12_big.jpg" group-title="一起看", 刘少丶7012 +https://live.ottiptv.cc/douyu/131977 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202408/99a191d4381043a5bd99e78767e09713_big.jpg" group-title="一起看", Poison丶冰冰 +https://live.ottiptv.cc/douyu/74374 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202010/25f11c7e91c94ea29bc130c53277e4c2_big.jpg" group-title="一起看", 当燕双鹰遇见李元芳 +https://live.ottiptv.cc/douyu/3439096 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/201901/dc4863f939d54549a51ee130c54c3d78_big.jpg" group-title="一起看", 当幽兰剑遇上链子刀 +https://live.ottiptv.cc/douyu/6027991 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/201905/e20be6dedf0744429f83acfe3bbcf704_big.jpg" group-title="一起看", 师落 +https://live.ottiptv.cc/douyu/6911044 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/default/02_big.jpg" group-title="一起看", 贾贵队长真男神 +https://live.ottiptv.cc/douyu/299854 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/default/04_big.jpg" group-title="一起看", 白了个痴 +https://live.ottiptv.cc/douyu/319576 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/023/48/02/55_avatar_big.jpg" group-title="原创IP", 我们可爱的程程 +https://live.ottiptv.cc/douyu/329667 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/010/51/61/02_avatar_big.jpg" group-title="一起看", 懒猫是只喵 +https://live.ottiptv.cc/douyu/260322 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202201/f1567c8d2e314c2ca1a826db6637e14c_big.jpg" group-title="一起看", 当铁手团遇到光复社 +https://live.ottiptv.cc/douyu/5875025 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202101/f1b622249ad24a8fa3d6a5885ece793d_big.jpg" group-title="一起看", 蓝翔老三国 +https://live.ottiptv.cc/douyu/7459925 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202402/e5dac5afefc0471d88f76e418096a11d_big.jpg" group-title="一起看", 单纯的顺才少爷 +https://live.ottiptv.cc/douyu/10084875 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202312/d87895b264f24dfdac6d6bb17410a96f_big.jpg" group-title="一起看", 萌小鬼 +https://live.ottiptv.cc/douyu/3928 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avanew/face/201711/13/01/5ff52107c8b699108cccdb5e0750a466_big.jpg" group-title="一起看", 聚聚聚一个月 +https://live.ottiptv.cc/douyu/4105989 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avanew/face/201708/11/15/ce5b56c162e56be3c62c689f42629198_big.jpg" group-title="一起看", 苹果Zei妖 +https://live.ottiptv.cc/douyu/2793084 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/201904/d56af210b700d7189408044eca2907d2_big.jpg" group-title="一起看", 疯狂尛瀦瀦 +https://live.ottiptv.cc/douyu/4290711 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avanew/face/201708/04/17/5ced31536273bed685f9f10a956145e5_big.jpg" group-title="原创IP", 牛叔说电影 +https://live.ottiptv.cc/douyu/2758565 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202207/a34ef128255641c7826e4c866357a37f_big.jpg" group-title="一起看", 智仗心 +https://live.ottiptv.cc/douyu/5635000 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202009/010c17645de24909a2346e4999e8a265_big.jpg" group-title="一起看", 牛奶味的梦猪猪 +https://live.ottiptv.cc/douyu/5261342 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/default/16_big.jpg" group-title="一起看", dw151295068 +https://live.ottiptv.cc/douyu/12655359 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202601/60df4ce9c0374f628483a0ecfecff314_big.jpg" group-title="原创IP", 崔然竣舞台天才 +https://live.ottiptv.cc/douyu/113158 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avanew/face/201802/02/11/ed637cc2c43e94c6d841f5c1c75ac084_big.jpg" group-title="一起看", Only丶邵氏 +https://live.ottiptv.cc/douyu/4246519 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202407/36e960ea9abf4b219fb1238b755c266a_big.jpg" group-title="一起看", 万事通熊猫 +https://live.ottiptv.cc/douyu/7812810 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202008/2b375f18cb4e488ab5268dc0d0a478b5_big.jpg" group-title="一起看", 菠萝屋的海绵宝宝 +https://live.ottiptv.cc/douyu/3949681 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202101/ec4aa66bcc8747c1a29284612c8bbd02_big.jpg" group-title="一起看", 飘洋过海来 +https://live.ottiptv.cc/douyu/9548850 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/201910/c593dd94c9de4c62976bdec933656562_big.jpg" group-title="一起看", 米尼影院 +https://live.ottiptv.cc/douyu/7642724 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/201904/4887f1dde8c3ad35c367c2d46b76754a_big.jpg" group-title="一起看", 疯狂小潴潴 +https://live.ottiptv.cc/douyu/5522351 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202407/43dc58eb71f24b89886789f4896f9245_big.jpg" group-title="一起看", 狄胖胖与李乖乖 +https://live.ottiptv.cc/douyu/12183882 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202502/34b7efbd221a44adab674a37e6237cc9_big.jpg" group-title="一起看", JhZj丶天明 +https://live.ottiptv.cc/douyu/1006179 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202102/bb169861fa7d47b1b62fa3c083a0ce97_big.jpg" group-title="原创IP", 火龙果说电影 +https://live.ottiptv.cc/douyu/9559158 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202206/4a19e31284b14e2a893505b8c0a18ffd_big.jpg" group-title="一起看", 一起看港剧 +https://live.ottiptv.cc/douyu/5061550 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202304/ca72a1d2f56943428ef0ecdc04bfa10b_big.jpg" group-title="一起看", 成龙历险纪 +https://live.ottiptv.cc/douyu/2287949 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202308/7ac3ee34aa624efc9903a5407e4de39d_big.jpg" group-title="一起看", mn静静nm +https://live.ottiptv.cc/douyu/5668371 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avanew/face/201802/03/18/7040873fd91e01c09fa1706d39f314b4_big.jpg" group-title="原创IP", 小片片说大片 +https://live.ottiptv.cc/douyu/4258555 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202110/c8bfde51ded543efa82a3a67ef2585fd_big.jpg" group-title="一起看", 铁甲影院 +https://live.ottiptv.cc/douyu/1274132 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202002/88d304d4031047a482cfc165f42b7938_big.jpg" group-title="一起看", 狂拽酷炫 +https://live.ottiptv.cc/douyu/4332 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202505/5051a82e92bc482dbb296ffefd218f55_big.jpg" group-title="一起看", LR1245 +https://live.ottiptv.cc/douyu/12534632 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202303/7f280e4aff0d451b805d5454989c4278_big.jpg" group-title="一起看", 网神影厅 +https://live.ottiptv.cc/douyu/508118 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/default/04_big.jpg" group-title="一起看", 脑袋大1937 +https://live.ottiptv.cc/douyu/7655471 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/201909/7e5534093a9f45679db16d3d055ae564_big.jpg" group-title="一起看", 刀刀de食堂 +https://live.ottiptv.cc/douyu/6733133 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202209/7464f3be633f4e86899ff548e0687785_big.jpg" group-title="原创IP", 7师傅 +https://live.ottiptv.cc/douyu/17732 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avanew/face/201705/31/22/60b2898f9ca9b0e653bf7a4ad09a1a6e_big.jpg" group-title="一起看", 苹果Zei甜 +https://live.ottiptv.cc/douyu/1174353 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202409/cce3554153864b53b68a8a8e8c579296_big.jpg" group-title="一起看", 三国颜老师 +https://live.ottiptv.cc/douyu/12253936 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202406/03f48fb671164fa4aa3d133823b5972b_big.jpg" group-title="一起看", 刘松毅 +https://live.ottiptv.cc/douyu/12128227 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/201902/4a23b4202aa54ccfa7054e88a5b87527_big.jpg" group-title="一起看", 傲娇的超级赛亚人 +https://live.ottiptv.cc/douyu/4373285 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avanew/face/201802/27/09/621d09c7651730db93e9081bc16f4f42_big.jpg" group-title="一起看", 甜漫妮666 +https://live.ottiptv.cc/douyu/1569773 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202204/c8551e211d0f4e0e8d0e40501355d35f_big.jpg" group-title="一起看", 往事vs随风1 +https://live.ottiptv.cc/douyu/3113309 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202008/9728369a82d1422fa1992530569d207a_big.jpg" group-title="一起看", 鯋鱼辰辰 +https://live.ottiptv.cc/douyu/7623292 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202501/fd93fb0e31944204a02fedec51c491db_big.jpg" group-title="一起看", 追梦凌宝 +https://live.ottiptv.cc/douyu/1377142 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202502/4965574564564b5a9330c37a0eb09709_big.jpg" group-title="一起看", 有一辆立标奔驰 +https://live.ottiptv.cc/douyu/12442176 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/default/15_big.jpg" group-title="一起看", 小迪迪丶希希 +https://live.ottiptv.cc/douyu/12130861 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/201906/65e27dfc059e4b608248289c026c2324_big.jpg" group-title="一起看", 草帽丶海贼团 +https://live.ottiptv.cc/douyu/997925 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avanew/face/201706/29/11/e40191ab8b3fea78a9af4d7636ae27d6_big.jpg" group-title="一起看", 晓晓666666 +https://live.ottiptv.cc/douyu/426517 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202309/a9b27e22efaa40e18a4b380830eb93db_big.jpg" group-title="一起看", 一样二职 +https://live.ottiptv.cc/douyu/11827530 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202107/5ef9d68abb5b45e4afefe8194b5dcd5c_big.jpg" group-title="原创IP", 小约翰可汗 +https://live.ottiptv.cc/douyu/9738854 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/default/02_big.jpg" group-title="原创IP", 用户1275665728 +https://live.ottiptv.cc/douyu/9067836 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202009/4b45f49560f948f29948118fa690d53d_big.jpg" group-title="原创IP", 万合出品 +https://live.ottiptv.cc/douyu/9220456 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202411/54adb764aba24e0f9ed1536054b8b275_big.jpg" group-title="一起看", 一把钢刀镇斗虞 +https://live.ottiptv.cc/douyu/7356023 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/201906/03b1a43d2e644accb3a7d05159b2ef9a_big.jpg" group-title="一起看", 小姐姐不记得 +https://live.ottiptv.cc/douyu/3700024 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202104/792a22940e764b9d80bf0389990dd2ab_big.jpg" group-title="原创IP", 老高与小茉的死忠粉 +https://live.ottiptv.cc/douyu/236461 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202503/b18ac277189f44a5943d0b831ee0dfe6_big.jpg" group-title="一起看", 钟意嚼完唔松弟弟邊爐 +https://live.ottiptv.cc/douyu/8912325 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202405/3bc30006afe04a41b9d286d9b07d510e_big.jpg" group-title="原创IP", 女团社颜老师 +https://live.ottiptv.cc/douyu/11327316 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202302/b47d17758975484c826f4f0787c2a2a8_big.jpg" group-title="一起看", 徐大sao +https://live.ottiptv.cc/douyu/7107176 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202311/12422ecfee974b2199b5e29dec475275_big.jpg" group-title="一起看", 武侠剧场 +https://live.ottiptv.cc/douyu/9285904 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202207/ca5c676a22624704918926240dafd120_big.jpg" group-title="一起看", 胡椒粉的胡歌 +https://live.ottiptv.cc/douyu/5448413 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202003/d9f8f285dfd44bcea3cc3e785cdb429e_big.jpg" group-title="原创IP", 科幻Fans布玛 +https://live.ottiptv.cc/douyu/3508304 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/default/23_big.jpg" group-title="原创IP", 牛叔说电影二台 +https://live.ottiptv.cc/douyu/10010651 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202007/ac2ec21374664a9ca0bfe3851a5fdeb3_big.jpg" group-title="原创IP", 开心锤锤动漫 +https://live.ottiptv.cc/douyu/9018297 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202011/9db730a594c34a7bb96c4408fd03aa24_big.jpg" group-title="原创IP", 自说自话的总裁 +https://live.ottiptv.cc/douyu/9317739 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/017/11/51/34_avatar_big.jpg" group-title="一起看", koanluowei +https://live.ottiptv.cc/douyu/10906963 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202501/d84ff1b1faac45d9a11353a29279cce5_big.jpg" group-title="一起看", 菠萝屋SpongeBob +https://live.ottiptv.cc/douyu/12400977 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202105/19ba4a083d154904a748dd5a80372b70_big.jpg" group-title="原创IP", 赵本山经典小品 +https://live.ottiptv.cc/douyu/9817716 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avanew/face/201701/15/20/b41ea8596aec11e1dd2271268eacce3a_big.jpg" group-title="一起看", 多发几个思雨 +https://live.ottiptv.cc/douyu/7256376 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avanew/face/201701/07/00/2c9654bddf7d5f9261891d1f3e80cb88_big.jpg" group-title="一起看", 这个打野我上过丶 +https://live.ottiptv.cc/douyu/8637229 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202002/52a560175b194cb081b265b250c464a9_big.jpg" group-title="一起看", cym009 +https://live.ottiptv.cc/douyu/8231658 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202212/cea9500b76dd431faaeea74dc63e3e33_big.jpg" group-title="一起看", 过往1908 +https://live.ottiptv.cc/douyu/8721095 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202508/30e574b0834148a481ad2481119bdfe3_big.jpg" group-title="原创IP", 兔兔MC维辰软桃团 +https://live.ottiptv.cc/douyu/8266799 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/201901/a2a5beeb5dcc4974a066be179ad90d5d_big.jpg" group-title="一起看", 恨鐵 +https://live.ottiptv.cc/douyu/6369954 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202511/89ee9c1b3e12479a96303dd8d2704da4_big.jpg" group-title="一起看", Judy208 +https://live.ottiptv.cc/douyu/2326583 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202106/752236d7a9b746d2a8e29b354e482260_big.jpg" group-title="原创IP", PP看动漫 +https://live.ottiptv.cc/douyu/9837291 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/f116dfa55d72414e80d89ae9774c103c_big.jpg" group-title="原创IP", OneGuy丶 +https://live.ottiptv.cc/douyu/9734098 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202109/b782fc34f7c34cca86f7852ae4130b70_big.jpg" group-title="原创IP", 开心麻花经典小品 +https://live.ottiptv.cc/douyu/10153463 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202512/57e650131bf941ed94dab698bd9fb274_big.jpg" group-title="一起看", 爱看剧的家Fat喵 +https://live.ottiptv.cc/douyu/65943 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202411/bf81905b18484f1f9f05ecd151c1d48e_big.jpg" group-title="原创IP", 大黄喵吖 +https://live.ottiptv.cc/douyu/12392971 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202211/be8f9ce84c0f497eb026d9e5d1b6cc34_big.jpg" group-title="一起看", 小雪宝cr +https://live.ottiptv.cc/douyu/920389 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/201905/30592252cfc3465eb1c9c047a6b593c1_big.jpg" group-title="一起看", 魔术师丶西索 +https://live.ottiptv.cc/douyu/6610883 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202006/1627d981c5434781bf677ad58a863f03_big.jpg" group-title="原创IP", 虫哥说电影 +https://live.ottiptv.cc/douyu/8915074 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202005/1f62bcbde0c747dba72e4772c9cd9841_big.jpg" group-title="原创IP", 都市夜魔人老王 +https://live.ottiptv.cc/douyu/610972 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202003/03d16109b272403eb6dd70593e97daf2_big.jpg" group-title="原创IP", 刘老师说电影 +https://live.ottiptv.cc/douyu/8317926 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202010/4a8714735df74469bb189b0c700a2633_big.jpg" group-title="原创IP", 游钓中国李大毛 +https://live.ottiptv.cc/douyu/791411 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202409/a38b41cc44744a65af494184053be08a_big.jpg" group-title="一起看", moyu3390 +https://live.ottiptv.cc/douyu/11922242 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202311/a5fb3ad558284de3a762463510748698_big.jpg" group-title="一起看", 精彩短剧看不停 +https://live.ottiptv.cc/douyu/11824307 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202302/bae1800177704fc4b0969f835890d8e0_big.jpg" group-title="原创IP", 北京影帝的分身 +https://live.ottiptv.cc/douyu/9805480 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202512/4b8006400b64498b9c873a7eeb4012d1_big.jpg" group-title="原创IP", 崔杋圭五颜一 +https://live.ottiptv.cc/douyu/8189873 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202003/0be6271f31464d6fbfd775c33e372753_big.jpg" group-title="原创IP", 篮球人物 +https://live.ottiptv.cc/douyu/8434598 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/ad7a03ce2b8e497bb19aa26f63c6bac4_big.jpg" group-title="原创IP", 史君说剧 +https://live.ottiptv.cc/douyu/9419771 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avanew/face/201705/18/00/393e06154b40a31f45932656087b2d28_big.jpg" group-title="原创IP", 发条张的电影最TOP +https://live.ottiptv.cc/douyu/2164691 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202203/b9153f1b1ba048c5bf75cf8336389f3c_big.jpg" group-title="原创IP", 荒野有声书 +https://live.ottiptv.cc/douyu/10650322 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/201906/00d5d4cb0bbc4599b4a68e93fbfdef0b_big.jpg" group-title="一起看", gslaini +https://live.ottiptv.cc/douyu/6997954 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/201807/ce6bd031c5edc3eab3f533f5456395e9_big.jpg" group-title="一起看", sweet夏有甜 +https://live.ottiptv.cc/douyu/4808115 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202002/f33c08484be24c478dc1818bb45c65b9_big.jpg" group-title="原创IP", 星君说电影 +https://live.ottiptv.cc/douyu/8014467 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202011/de3639504b754fc6865825bd9e2b863e_big.jpg" group-title="原创IP", 周扒片 +https://live.ottiptv.cc/douyu/6434857 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202108/593e930401564d83a131b7e94f3590a2_big.jpg" group-title="原创IP", 赵本删不删 +https://live.ottiptv.cc/douyu/9837104 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202007/c3b8f2f80dfb4878b8a2bcfd1888bf58_big.jpg" group-title="一起看", 卿离倾心 +https://live.ottiptv.cc/douyu/7286439 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202512/4d218beaaf9d4a9d897fb9695f7eec92_big.jpg" group-title="一起看", 斗鱼官方直播 +https://live.ottiptv.cc/douyu/6 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202007/034efc8769cf43b5af59f8ec39ce46cb_big.jpg" group-title="原创IP", 吸奇侠 +https://live.ottiptv.cc/douyu/8986636 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202105/1ba33d56167b45b7a2037a6995f107a2_big.jpg" group-title="原创IP", 宋小宝小品 +https://live.ottiptv.cc/douyu/9817729 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202009/327d410a41734ba4861a71f8a743a391_big.jpg" group-title="原创IP", 胆子不小的郑吉祥 +https://live.ottiptv.cc/douyu/9171887 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202511/4a7e4271688344a6afd7299e79c8427d_big.jpg" group-title="一起看", 猫记丶 +https://live.ottiptv.cc/douyu/9242659 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202103/95ad2986dc394cd698e43ab33b666348_big.jpg" group-title="原创IP", 3说电影 +https://live.ottiptv.cc/douyu/9643264 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202108/40920372bb774b61a06da2e5468aa5c5_big.jpg" group-title="原创IP", 车模颜值大赏 +https://live.ottiptv.cc/douyu/10118209 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avanew/face/201706/19/12/313baad397254f95edd8a55f07fafa33_big.jpg" group-title="原创IP", 老烟斗鬼故事 +https://live.ottiptv.cc/douyu/2337939 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202006/3c1ce21a9a544daea465d7cc4abdbf52_big.jpg" group-title="原创IP", 大漠叔叔Dm +https://live.ottiptv.cc/douyu/1109218 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202112/8585cc362e4b4f5dbefda7b0be5778e8_big.jpg" group-title="原创IP", 贾玲经典小品 +https://live.ottiptv.cc/douyu/10419541 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/201808/a060c002619269ae095259fec27c113f_big.jpg" group-title="原创IP", 堇姑娘 +https://live.ottiptv.cc/douyu/297689 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202011/faa38cac4fdb4cf8a439bfeca5e37f36_big.jpg" group-title="原创IP", 侃片大师兄 +https://live.ottiptv.cc/douyu/9338839 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202008/9c1877c8415e4503b5defc0e7ced6c9f_big.jpg" group-title="原创IP", 怪兽马提尼电影 +https://live.ottiptv.cc/douyu/9075333 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202006/5c821aab8a6443f7a7721356f5cc3fff_big.jpg" group-title="原创IP", 蔡老板家的长工丶 +https://live.ottiptv.cc/douyu/8869614 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202103/035fe7b9219c4232adf45c34bc9e8124_big.jpg" group-title="原创IP", 电影迷小雅 +https://live.ottiptv.cc/douyu/9639225 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/0416d3022fa448379cb52e37adbd4190_big.jpg" group-title="原创IP", 小小天才搞笑视频 +https://live.ottiptv.cc/douyu/9419678 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202004/56fd7f44af5e49ca890a915672ef90a0_big.jpg" group-title="一起看", 趁我们还年轻812 +https://live.ottiptv.cc/douyu/7805562 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/default/21_big.jpg" group-title="一起看", 羽泽鸫 +https://live.ottiptv.cc/douyu/12742519 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202204/e778152db5ae46b8bf0c0b54bae5a1c5_big.jpg" group-title="一起看", 百晓生说剧 +https://live.ottiptv.cc/douyu/9649681 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202105/76cdd0e770fe4e9e95bb42bf64f393ec_big.jpg" group-title="原创IP", 渔戈兄弟赶海 +https://live.ottiptv.cc/douyu/9091847 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/default/10_big.jpg" group-title="原创IP", 碎片记 +https://live.ottiptv.cc/douyu/9412981 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202101/25305116ae654fd885da4f2703dacbb2_big.jpg" group-title="原创IP", 拳叔二次元 +https://live.ottiptv.cc/douyu/9484105 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202111/37a8f14c757440289c67f14874f59372_big.jpg" group-title="原创IP", 历史经典烩 +https://live.ottiptv.cc/douyu/9487003 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202309/73efa74c3637411aa837c6629dddcccf_big.jpg" group-title="一起看", 掌上Club +https://live.ottiptv.cc/douyu/1770806 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202011/c918e30f8908417380233c5327f51c82_big.jpg" group-title="原创IP", 悬疑MOVIE +https://live.ottiptv.cc/douyu/9601429 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avanew/face/201711/08/18/acd735bbe5d2f6a7875cce5a910d3101_big.jpg" group-title="原创IP", 特辑电影院 +https://live.ottiptv.cc/douyu/3637778 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202308/45ed75b33f754935b095fe6c192326af_big.jpg" group-title="原创IP", 龙楼宝殿 +https://live.ottiptv.cc/douyu/7422897 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/71ae53c70e234dffa80f6ece3e98ae6b_big.jpg" group-title="原创IP", 芙芙家的洗碗君 +https://live.ottiptv.cc/douyu/9446706 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/201901/e6a5f489b3544b40a21ce439fdfd03f6_big.jpg" group-title="原创IP", 暴走漫画 +https://live.ottiptv.cc/douyu/1275878 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202112/312ad5472d4f4ac98fa210e00092d114_big.jpg" group-title="原创IP", 许君聪经典小品 +https://live.ottiptv.cc/douyu/10419558 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202011/197c22424ab34a7196139bf314b81304_big.jpg" group-title="原创IP", 热影连连看 +https://live.ottiptv.cc/douyu/9388931 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202007/921847c999c34082a93275a009990ad6_big.jpg" group-title="原创IP", 李允儿er的助眠小窝 +https://live.ottiptv.cc/douyu/9038894 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202105/464c8cd0f9cb45a9b1ed2710e24bd981_big.jpg" group-title="原创IP", 万合鲜肉老师 +https://live.ottiptv.cc/douyu/9815091 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202103/7523db3b3c2f4113ae98f454082a27db_big.jpg" group-title="原创IP", Svip丶YoYo +https://live.ottiptv.cc/douyu/3472959 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202102/c6461b33ed2c48328e3d50a633a2d16f_big.jpg" group-title="一起看", Angela小兔 +https://live.ottiptv.cc/douyu/9617766 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202304/52358eddeedd4b0abb86a073de1cf9e9_big.jpg" group-title="原创IP", 少打白骨精 +https://live.ottiptv.cc/douyu/11531165 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/9d0d7e65a9e643908b12c9fb2caa57af_big.jpg" group-title="原创IP", 宇宙探索飞船 +https://live.ottiptv.cc/douyu/9456028 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202005/45fa7ec1b2e54e95b6a69e08dd6d9871_big.jpg" group-title="原创IP", 1900影剧室 +https://live.ottiptv.cc/douyu/7796193 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202512/0e0d7999352d4b979f48f19e4ce80126_big.jpg" group-title="原创IP", 一个机智张张 +https://live.ottiptv.cc/douyu/9653063 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202005/da30ad02b39f456885d93f7ee13d3308_big.jpg" group-title="原创IP", 文西与阿漆 +https://live.ottiptv.cc/douyu/8737695 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202110/babd1b54139a4041bd0c5f2042938ac5_big.jpg" group-title="原创IP", 影视笑工场 +https://live.ottiptv.cc/douyu/10298846 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202112/3eef0e3013eb4825b05af45a99875fa7_big.jpg" group-title="原创IP", 顾止最爱的小胖宝贝 +https://live.ottiptv.cc/douyu/238643 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202005/49ca6755bf4b428fb5b571e7240933ed_big.jpg" group-title="原创IP", 工藤新医heart +https://live.ottiptv.cc/douyu/8741860 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/default/11_big.jpg" group-title="原创IP", 嘴巴鼻子没有沟 +https://live.ottiptv.cc/douyu/10217984 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/201910/d71e1fa7f5184c31af7e4144bb2beeee_big.jpg" group-title="原创IP", 王大齐吖 +https://live.ottiptv.cc/douyu/3647278 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202011/df963d2253024975b7db25fe33311a27_big.jpg" group-title="原创IP", 好剧看不停 +https://live.ottiptv.cc/douyu/9388938 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202002/991e97027f62448e98d15dd57319724f_big.jpg" group-title="原创IP", 培根悖论唠唠嗑 +https://live.ottiptv.cc/douyu/5354713 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202003/c110c50a13454ef5801d2281d5706eed_big.jpg" group-title="原创IP", 小涛讲电影V +https://live.ottiptv.cc/douyu/8415464 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/34d586eaf0c74d818443ae2c0f42880e_big.jpg" group-title="原创IP", 老秦说秦 +https://live.ottiptv.cc/douyu/9650131 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202010/03536dadc60441ea93c9ec5ccf515977_big.jpg" group-title="原创IP", 爱好恐怖片的美男子 +https://live.ottiptv.cc/douyu/9280384 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202206/33147cd948244f08badec04dee7d0598_big.jpg" group-title="原创IP", 睡丝虫 +https://live.ottiptv.cc/douyu/10308234 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202007/f65fe8c27e8f4b74a9d546d9550f8358_big.jpg" group-title="原创IP", JustXiaIt嘻咦啊看 +https://live.ottiptv.cc/douyu/2660125 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202007/ccf8919b643448eda87dac3e460f794c_big.jpg" group-title="原创IP", 一目十影 +https://live.ottiptv.cc/douyu/3643605 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202109/ac1cb4e53c824fbf87d6a7af4e5375b5_big.jpg" group-title="原创IP", 你的瑜伽女孩 +https://live.ottiptv.cc/douyu/10205199 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/86faf14bc9dd4521bae1fce8829f2eb0_big.jpg" group-title="原创IP", 漫威君 +https://live.ottiptv.cc/douyu/1713615 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/201911/9701ae0511054d06849a66dd2f767966_big.jpg" group-title="原创IP", 茶啊二中官方 +https://live.ottiptv.cc/douyu/2925610 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/default/01_big.jpg" group-title="原创IP", 用户2979576101 +https://live.ottiptv.cc/douyu/9273031 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202009/ca34592e6c69405f937e727ca0459f1e_big.jpg" group-title="原创IP", 开心嘴炮 +https://live.ottiptv.cc/douyu/9026377 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202011/7b50d5dc3b7f4af9bd49359eeefe3af0_big.jpg" group-title="原创IP", 世界未解之谜M +https://live.ottiptv.cc/douyu/9369468 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/default/18_big.jpg" group-title="一起看", 是个小可爱iiii +https://live.ottiptv.cc/douyu/9650782 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/201904/ab177314d4fd429e93bf35fd41dea03d_big.jpg" group-title="原创IP", 刘哔电影 +https://live.ottiptv.cc/douyu/2632223 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avanew/face/201801/28/12/e62773db3d85bbf84e070e5b2e6ddc03_big.jpg" group-title="原创IP", 小明不背锅up +https://live.ottiptv.cc/douyu/117854 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/default/08_big.jpg" group-title="原创IP", 龙视爱笑会议室 +https://live.ottiptv.cc/douyu/9375430 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202003/0608e9ed46f848fe824d9d7fcd6f83cd_big.jpg" group-title="原创IP", 挖沟连彭沟长 +https://live.ottiptv.cc/douyu/8413092 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202009/fe1dbb8896c84281a61176d9975e5785_big.jpg" group-title="原创IP", 老邪说电影 +https://live.ottiptv.cc/douyu/9222870 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/e8ebbdf80dd048439bf63bf41761301f_big.jpg" group-title="原创IP", 南国小豆豆 +https://live.ottiptv.cc/douyu/3310454 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202102/dde82c1d612f46228c416a46fbed24fe_big.jpg" group-title="原创IP", 墨逗电影 +https://live.ottiptv.cc/douyu/9614847 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/default/11_big.jpg" group-title="原创IP", 龙视本山快乐营 +https://live.ottiptv.cc/douyu/9374865 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202010/e8b5ce111a2e4fe2ac7a0fc69d9ea255_big.jpg" group-title="原创IP", 鬼兄奇谈 +https://live.ottiptv.cc/douyu/8722254 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202108/68c364377dba406bafbc29acfa0244e0_big.jpg" group-title="原创IP", 一条闲木鱼 +https://live.ottiptv.cc/douyu/10102281 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/face/201606/02/83dadf1e737f469ca248bee208d4db2f_big.jpg" group-title="原创IP", 流浪吧王温暖 +https://live.ottiptv.cc/douyu/655973 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202108/308841fa40d14acc8169d58a9b2419a1_big.jpg" group-title="原创IP", 钓鱼大锋子 +https://live.ottiptv.cc/douyu/10074370 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/201909/5030e5daeb564e8eac9dd60a2bde11e5_big.jpg" group-title="一起看", 小小甜的骑士 +https://live.ottiptv.cc/douyu/9236042 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202008/8adfb07ffa8d4366947bd25a6db0ba2f_big.jpg" group-title="原创IP", 代娱说美剧 +https://live.ottiptv.cc/douyu/9123570 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202005/8cf198cc7a294ce3aae7e9e7e01f6420_big.jpg" group-title="原创IP", 菇菇说过 +https://live.ottiptv.cc/douyu/8788687 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/face/201607/31/4eb7353bf03adc47a0a44ffd48e86daf_big.jpg" group-title="一起看", tz_ls +https://live.ottiptv.cc/douyu/873492 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avanew/face/201704/06/17/ac89a278ab80b0042f0d1d99ba752f73_big.jpg" group-title="原创IP", 奥雷卡尔克斯 +https://live.ottiptv.cc/douyu/1224356 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202204/b0c65550723a4ebc821ccdcd6f6d3445_big.jpg" group-title="原创IP", 敢来碰我 +https://live.ottiptv.cc/douyu/10308225 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202103/444b67f3241c4755a37503b19a6e4a86_big.jpg" group-title="原创IP", 爱旅行的巧克力 +https://live.ottiptv.cc/douyu/9653323 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202203/578b76629b4f444c98213c981cff8d33_big.jpg" group-title="一起看", 荒野视界 +https://live.ottiptv.cc/douyu/10675329 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202404/61787c6f71ee4149bce657aca783e889_big.jpg" group-title="一起看", 小兰酱177 +https://live.ottiptv.cc/douyu/11490031 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202010/11c28b16d22744c5b85e2171d02d9b41_big.jpg" group-title="原创IP", 3030相声小品 +https://live.ottiptv.cc/douyu/9286868 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/f07bc729e4e2405caf4fabd9202d220a_big.jpg" group-title="原创IP", 小马哥说电影 +https://live.ottiptv.cc/douyu/9396672 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202107/59fa6f9be088478d995459690cf306f8_big.jpg" group-title="原创IP", 来呀官人V +https://live.ottiptv.cc/douyu/9986305 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202601/16f34f9777f748a1aed1866ee77efa66_big.jpg" group-title="一起看", 牧马人568 +https://live.ottiptv.cc/douyu/12463132 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202203/44cace4585a94457bf88138c6274ccb7_big.jpg" group-title="原创IP", 小司马说剧 +https://live.ottiptv.cc/douyu/9660127 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202510/0fc33791534b4695b6aa7b0ef093d139_big.jpg" group-title="一起看", 壹丨哥 +https://live.ottiptv.cc/douyu/5692901 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202011/a868411549dc483b8a484c07442e72ed_big.jpg" group-title="一起看", 半打星冰乐 +https://live.ottiptv.cc/douyu/7481383 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202103/10094121aa3f4a79bd9b5af64bb17233_big.jpg" group-title="原创IP", 铁血影视汇 +https://live.ottiptv.cc/douyu/9649701 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202003/ce13883f1ee44e52a4c146131766ccb3_big.jpg" group-title="原创IP", 我为奥迪上黄金 +https://live.ottiptv.cc/douyu/9336286 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/40ca1cc17ef84d4a976af034a62d5e01_big.jpg" group-title="原创IP", 悉奇 +https://live.ottiptv.cc/douyu/9401473 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/default/11_big.jpg" group-title="原创IP", 内蒙古欢乐驿站 +https://live.ottiptv.cc/douyu/9365077 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202401/5d585f7e9eca49cc9b479d5b8921c1b3_big.jpg" group-title="原创IP", 快看张不止 +https://live.ottiptv.cc/douyu/8413226 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202406/4fc8207d9055426089292caabdddfa6b_big.jpg" group-title="一起看", 爱唱跳Rap的胖虎 +https://live.ottiptv.cc/douyu/5895598 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202101/19f08ff19c4e4ccd965079b46e4f193a_big.jpg" group-title="原创IP", 小陶气说动漫 +https://live.ottiptv.cc/douyu/9527700 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202104/54e29f3130464ebfbef549e82674b36d_big.jpg" group-title="原创IP", 植物椿de房间 +https://live.ottiptv.cc/douyu/9771247 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202005/eed279f3815d4f2abe0ed43196bd4100_big.jpg" group-title="原创IP", C座802 +https://live.ottiptv.cc/douyu/8768943 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202507/9c33a8154192466d995ac0c2653b2cad_big.jpg" group-title="原创IP", 哇萨比抓马WD +https://live.ottiptv.cc/douyu/8808506 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202108/60ae863333dc48d58f1782ce9622e137_big.jpg" group-title="原创IP", 猛禽西伯利亚白猿 +https://live.ottiptv.cc/douyu/10074407 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202011/9a92ed30466244368e4a916429e69d89_big.jpg" group-title="原创IP", 九叔说电影v +https://live.ottiptv.cc/douyu/9348282 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202005/831dac0d68004066a03dc02acbf80881_big.jpg" group-title="原创IP", 谁语说电影 +https://live.ottiptv.cc/douyu/8705754 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/default/08_big.jpg" group-title="原创IP", 龙视欢乐英雄转 +https://live.ottiptv.cc/douyu/9374836 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202601/dc91909e070e4e71b8428a780b1cb274_big.jpg" group-title="一起看", 萝卜分割线 +https://live.ottiptv.cc/douyu/2283436 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/default/25_big.jpg" group-title="原创IP", 俩个麻瓜 +https://live.ottiptv.cc/douyu/10121755 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202110/f70a86d2e0084fd5968d7f1820102c3e_big.jpg" group-title="原创IP", 百万巨星麒麟君 +https://live.ottiptv.cc/douyu/3431701 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avanew/face/201710/17/12/0168b4c11a26e333f62f010fa123d81d_big.jpg" group-title="原创IP", 熊猫电影 +https://live.ottiptv.cc/douyu/3506483 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/024/22/54/71_avatar_big.jpg" group-title="原创IP", a5dmin +https://live.ottiptv.cc/douyu/1102973 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/000/01/09/68_avatar_big.jpg" group-title="原创IP", 绿阿掌 +https://live.ottiptv.cc/douyu/2365 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/7f1c0ab529ed4442ac97560cfeef8c29_big.jpg" group-title="原创IP", 真香动漫解说 +https://live.ottiptv.cc/douyu/9391292 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202108/91ceeaf5f3304a4fb6ec627e60bb680d_big.jpg" group-title="原创IP", 多多看车 +https://live.ottiptv.cc/douyu/4921957 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/default/22_big.jpg" group-title="原创IP", 强人说笑 +https://live.ottiptv.cc/douyu/10329713 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202006/80c9532bb00c4ad3b70ceb4b681f0cbb_big.jpg" group-title="原创IP", 雪輝TnT +https://live.ottiptv.cc/douyu/8936207 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202011/4792a8e386444e4783567ff125df84d9_big.jpg" group-title="原创IP", 英大吉来了 +https://live.ottiptv.cc/douyu/9174097 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202006/c6ecf57521904648a5b3a7d0445cc75d_big.jpg" group-title="原创IP", 纪录片之家字幕组 +https://live.ottiptv.cc/douyu/8834003 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202204/db77a498f946444483fa2243baa36eb9_big.jpg" group-title="原创IP", 爱爱小s +https://live.ottiptv.cc/douyu/10308312 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/default/22_big.jpg" group-title="原创IP", 小猪搞笑精选 +https://live.ottiptv.cc/douyu/10329752 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avanew/face/201610/26/16/c10d88f7afbea0fcda3fb75cf5424a9f_big.jpg" group-title="原创IP", 酷酷的滕 +https://live.ottiptv.cc/douyu/1286383 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202005/00a120e17cf04c5b8f3886d85aafd0d7_big.jpg" group-title="一起看", 罗先生699 +https://live.ottiptv.cc/douyu/12065805 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202308/8e5b5d2701714acabc4591751a63cfa9_big.jpg" group-title="一起看", 静静给你糖 +https://live.ottiptv.cc/douyu/11752454 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202103/4413930f833646d996bcac4ce63decc5_big.jpg" group-title="原创IP", 猎奇笔记本 +https://live.ottiptv.cc/douyu/9627172 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202011/6646917d646940be83f97fc605ef12f4_big.jpg" group-title="原创IP", 黑色脑回路 +https://live.ottiptv.cc/douyu/9339300 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202111/f3303d006e4e4a34b38fe425884bcab9_big.jpg" group-title="原创IP", 斗鱼恐怖游戏合集 +https://live.ottiptv.cc/douyu/10401481 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/201911/6955c5876de241d09791fbb28bb109b2_big.jpg" group-title="一起看", 善逸丶 +https://live.ottiptv.cc/douyu/2067020 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202008/b6683f2f4e044c72ba3069494d80e8b9_big.jpg" group-title="原创IP", 暴躁少女零九 +https://live.ottiptv.cc/douyu/9065302 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202103/7ddd47c929294620a23c38d946d064e4_big.jpg" group-title="原创IP", 史君观影 +https://live.ottiptv.cc/douyu/9644669 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avanew/face/201708/25/10/4e66057735396c71d33a9632f9232158_big.jpg" group-title="原创IP", 郑云工作室 +https://live.ottiptv.cc/douyu/2995636 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/201807/092b8cedb6d95288d834e2061c77114e_big.jpg" group-title="原创IP", 我叫萌迪迪V +https://live.ottiptv.cc/douyu/5354705 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202011/2d8bf1a5134c414688b14f693b044f1b_big.jpg" group-title="原创IP", 林家渔妹 +https://live.ottiptv.cc/douyu/9348805 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202103/83fe35e42da443fd9dc166edb4b5e245_big.jpg" group-title="原创IP", 用青春去旅行 +https://live.ottiptv.cc/douyu/9629423 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202207/ad9063b6bfd341f88e05be4a57a5682b_big.jpg" group-title="一起看", 你真像个小丑 +https://live.ottiptv.cc/douyu/10730187 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/default/23_big.jpg" group-title="原创IP", 小片片说大片二台 +https://live.ottiptv.cc/douyu/10011547 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/f940cc1e2120434da9ea9e6e44aaa297_big.jpg" group-title="原创IP", 经典拳赛 +https://live.ottiptv.cc/douyu/9412138 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202202/b03fb98d1552415da37d09bb53b46499_big.jpg" group-title="原创IP", 钓鱼欧尼AnglerJJung +https://live.ottiptv.cc/douyu/10616765 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202104/c94c5298b27542c887a4ff14f6d9cc73_big.jpg" group-title="原创IP", 动画大师姐 +https://live.ottiptv.cc/douyu/9742136 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202011/e9dc28699de8404c811a70630e14975f_big.jpg" group-title="原创IP", 火龙果讲电影本人 +https://live.ottiptv.cc/douyu/2039501 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202103/02ede2f36bc742ef84c2696007857f36_big.jpg" group-title="原创IP", 指缝里看电影 +https://live.ottiptv.cc/douyu/9647834 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/a2234d0f5d7a489497779582283a5fb5_big.jpg" group-title="原创IP", 鹏友说电影 +https://live.ottiptv.cc/douyu/9445244 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202005/1c6390a7bbae4232bc661078ac6ed310_big.jpg" group-title="原创IP", 勤时铭悦 +https://live.ottiptv.cc/douyu/8790357 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avanew/face/201708/13/09/177bc9475fea4e0f8bcf74ec2742c991_big.jpg" group-title="一起看", 三年辅助一场空 +https://live.ottiptv.cc/douyu/5251148 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202101/a6467d5edc9445c2887806ba1cd532f4_big.jpg" group-title="原创IP", 宇宙视界 +https://live.ottiptv.cc/douyu/9498354 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/201806/8cc7925efa74cba80e217f748db4652c_big.jpg" group-title="原创IP", 电影刘油果 +https://live.ottiptv.cc/douyu/3985805 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202006/a311ca1d74404a4dae76a16b4be6caf6_big.jpg" group-title="原创IP", 尉迟杰影评 +https://live.ottiptv.cc/douyu/8850682 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202004/b4bcf6763d0b4b07a94c4562cde9e497_big.jpg" group-title="原创IP", 逗米说电影 +https://live.ottiptv.cc/douyu/421222 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/201907/a98752092a3c4bf582d828c7bff8113c_big.jpg" group-title="一起看", 你的小鱿鱼吖 +https://live.ottiptv.cc/douyu/7320633 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202208/ed08709c31d84d5285c59ed18474f180_big.jpg" group-title="原创IP", 大蓝雀 +https://live.ottiptv.cc/douyu/8656759 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202308/0ccfe73781414c9a99790c33194ce4ba_big.jpg" group-title="一起看", Aan2619742 +https://live.ottiptv.cc/douyu/11753064 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202011/98033ebc1c3b4c8c890a80ea6f4ba396_big.jpg" group-title="原创IP", 赶海大弟 +https://live.ottiptv.cc/douyu/9348766 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202103/4224131eb2984eb083d8cd8c14dba3fb_big.jpg" group-title="原创IP", 邸生 +https://live.ottiptv.cc/douyu/9665298 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202006/68f447ac631849928053f6b1d8a79304_big.jpg" group-title="原创IP", 我是吃泡面看电影 +https://live.ottiptv.cc/douyu/8851063 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avanew/face/201708/07/17/8cdc453a37d1235bc391b5815fb7e03c_big.jpg" group-title="原创IP", 粤知一二 +https://live.ottiptv.cc/douyu/2940299 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avanew/face/201709/05/05/667df3b7d2a6e23b7519c33480b0d969_big.jpg" group-title="一起看", bestthings丶放假 +https://live.ottiptv.cc/douyu/11752532 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202111/df97190e2eac494d91d80367020a308a_big.jpg" group-title="原创IP", 民间高手show +https://live.ottiptv.cc/douyu/10372765 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202104/5f342990cc3c47409aef3e28ed04b0d9_big.jpg" group-title="原创IP", 老王忆经典 +https://live.ottiptv.cc/douyu/9687733 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202101/a0b7cfc2189c4b3ba185d6dd0c330e5f_big.jpg" group-title="原创IP", 千代语默 +https://live.ottiptv.cc/douyu/9484187 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202102/c529281d53624b14a1c49740eddb36b1_big.jpg" group-title="原创IP", 荒野伊甸园 +https://live.ottiptv.cc/douyu/9611578 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/6f10533711ed4516b00561d3e60f35c6_big.jpg" group-title="原创IP", 岚FLL +https://live.ottiptv.cc/douyu/9409703 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202106/c885b94dbad34c57997578f8918240c0_big.jpg" group-title="原创IP", 户外老曹 +https://live.ottiptv.cc/douyu/9957389 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/12d5026cff3644fcb5150a7fbf6dfc43_big.jpg" group-title="原创IP", 篮球过人技巧 +https://live.ottiptv.cc/douyu/9406897 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202201/55ebb2cb91d543b6935e9a4d15ad472b_big.jpg" group-title="原创IP", 阎君说剧 +https://live.ottiptv.cc/douyu/10475459 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202011/fa62df02c237490889fc3891bb74a679_big.jpg" group-title="原创IP", 楚哥说电影 +https://live.ottiptv.cc/douyu/9375743 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/default/21_big.jpg" group-title="一起看", 九颗鸭梨 +https://live.ottiptv.cc/douyu/12065801 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202006/11032a1fa5e74c679b84dcb5df44d818_big.jpg" group-title="一起看", 昆特牌之大哥食正野 +https://live.ottiptv.cc/douyu/7919720 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202007/1c1288aabce1430d9c8a9e087c71bdda_big.jpg" group-title="一起看", 招财猫猫丶 +https://live.ottiptv.cc/douyu/11512742 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/36be493f8c094dc6b1368835011d1c6d_big.jpg" group-title="一起看", 傲娇一喵喵 +https://live.ottiptv.cc/douyu/9392610 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202107/c96e471554994e03b8325910fcfc2063_big.jpg" group-title="原创IP", 夏利俊EWE路亚 +https://live.ottiptv.cc/douyu/9974427 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/default/13_big.jpg" group-title="原创IP", 影视集装箱 +https://live.ottiptv.cc/douyu/8651489 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avanew/face/201708/14/18/8f52af970e7dd0b1aedbd3e4facd8cea_big.jpg" group-title="原创IP", 敬汉卿250 +https://live.ottiptv.cc/douyu/2912165 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/default/19_big.jpg" group-title="原创IP", 爆笑行为大赏 +https://live.ottiptv.cc/douyu/10329767 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/default/02_big.jpg" group-title="一起看", 在回忆中寻找 +https://live.ottiptv.cc/douyu/12065601 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202007/350413a55d974eda93ce9c885956244a_big.jpg" group-title="原创IP", 郭云神奇 +https://live.ottiptv.cc/douyu/8694831 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202104/ab4eaf73c2f1464fb47e49301f4afea9_big.jpg" group-title="原创IP", 马小跳在这儿 +https://live.ottiptv.cc/douyu/9722147 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202308/31973c0b74264826b33faaa09dc6d1a6_big.jpg" group-title="一起看", 用户8440489197 +https://live.ottiptv.cc/douyu/11752511 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202309/1f809396fd024dbda5f39d55d52997c8_big.jpg" group-title="原创IP", 丶最緊要好玩 +https://live.ottiptv.cc/douyu/6361974 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202102/0c9b9433229b436499de880ba01fb235_big.jpg" group-title="原创IP", 去种田的向凹凸 +https://live.ottiptv.cc/douyu/9570290 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/default/08_big.jpg" group-title="一起看", clx11 +https://live.ottiptv.cc/douyu/1499005 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202105/0d6aca5963da4d0fbab532e695f8dd9c_big.jpg" group-title="原创IP", 九仙人儿 +https://live.ottiptv.cc/douyu/8669085 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202011/8ea249a4f78b4590a98e12c50667a3e1_big.jpg" group-title="原创IP", 秀才侃娱乐 +https://live.ottiptv.cc/douyu/9382873 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202011/6b836b67e0e8428dbe583c0f5a3e45a8_big.jpg" group-title="原创IP", 贰哥电影 +https://live.ottiptv.cc/douyu/9338867 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/201808/6ed7b556967e43306c5cfc7ca13bc90a_big.jpg" group-title="一起看", 分享备用 +https://live.ottiptv.cc/douyu/5804577 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/default/22_big.jpg" group-title="原创IP", 佛曰影视 +https://live.ottiptv.cc/douyu/9671758 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/b2eea687f56447a899d27bf8c0244a33_big.jpg" group-title="原创IP", 长片短解 +https://live.ottiptv.cc/douyu/9410946 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202104/577e2268cde34409bfd4c728a08d48dd_big.jpg" group-title="原创IP", 贝爷求生影视 +https://live.ottiptv.cc/douyu/9661369 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202103/65238dd74d0346d8a5fd2298f987b9fe_big.jpg" group-title="原创IP", 香菜碎碎念鸭 +https://live.ottiptv.cc/douyu/9663665 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202005/c4d3e15454ec4cc8898552d3b461d7b9_big.jpg" group-title="原创IP", 沫子瞪片 +https://live.ottiptv.cc/douyu/8783035 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202110/6d3775cea89145fc8fd38373a2640df3_big.jpg" group-title="原创IP", 不二真探 +https://live.ottiptv.cc/douyu/10319545 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/a0d485ccb5e641448f85b47320bd430c_big.jpg" group-title="原创IP", 科学放映室 +https://live.ottiptv.cc/douyu/9439712 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202111/f2f1374689884e1bbf6e15214370db91_big.jpg" group-title="原创IP", sekai的光子 +https://live.ottiptv.cc/douyu/9564766 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/201909/211a5b6db65740e4b43ce35555e6456e_big.jpg" group-title="一起看", AAPLEDOG +https://live.ottiptv.cc/douyu/5133586 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202011/2a25c1fae7c84f4698be681a463c3918_big.jpg" group-title="原创IP", 锦书致南辞阿 +https://live.ottiptv.cc/douyu/2894528 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202009/c939d0c3e4fa4aef96fcffb31d040f58_big.jpg" group-title="原创IP", 小林家的旗女仆 +https://live.ottiptv.cc/douyu/9211287 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/04b3100f58a048cc922dccd121fd3ce3_big.jpg" group-title="原创IP", 潜伏sc +https://live.ottiptv.cc/douyu/9458345 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202109/5a3bc4aa4db3426582a9f23a46f7264c_big.jpg" group-title="一起看", 我只喜欢团团呀 +https://live.ottiptv.cc/douyu/11752416 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/201806/df183b1d850788d0b42ed9b8b3c0846e_big.jpg" group-title="原创IP", 涛浪浪电影 +https://live.ottiptv.cc/douyu/5424258 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/201907/e53998f87f0545fa9dc55f1ce1903176_big.jpg" group-title="原创IP", 花花与三猫CatLive +https://live.ottiptv.cc/douyu/7348194 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/dd4d9855784c4d10b5a207f9749083dc_big.jpg" group-title="原创IP", 粽子酱v +https://live.ottiptv.cc/douyu/9390685 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202103/ecd2b2d0199b495c9e8c128383384b42_big.jpg" group-title="原创IP", 搞笑动漫大本营 +https://live.ottiptv.cc/douyu/9650181 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202108/7a943d6911f84126924d1c13ac2ec050_big.jpg" group-title="原创IP", 麻雀喳喳野行记 +https://live.ottiptv.cc/douyu/10088966 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202006/035cb78428b94a098773e4dcfbdccbd3_big.jpg" group-title="原创IP", 托尔兹桃花剑 +https://live.ottiptv.cc/douyu/8896743 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/011/75/83/43_avatar_big.jpg" group-title="一起看", boushit +https://live.ottiptv.cc/douyu/12025441 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202006/dc37f9777ac242f693d14666f3c9482d_big.jpg" group-title="原创IP", 肥宅小草 +https://live.ottiptv.cc/douyu/8887438 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202002/c98bc36a2a234acc8e7d14511365d622_big.jpg" group-title="原创IP", 小艾大叔 +https://live.ottiptv.cc/douyu/9314668 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202103/7cae5cb627bb497eb4e29ac631fd5910_big.jpg" group-title="原创IP", 旺仔大哥哥阿 +https://live.ottiptv.cc/douyu/9629361 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/default/22_big.jpg" group-title="原创IP", 老段带你钓青鱼 +https://live.ottiptv.cc/douyu/10105639 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202101/8df889e11147410f981c86eabab40c64_big.jpg" group-title="原创IP", 迷剧阿菁 +https://live.ottiptv.cc/douyu/9486024 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202105/69ff4877920445a6be97a04b650217d6_big.jpg" group-title="原创IP", 夜与白鲸V +https://live.ottiptv.cc/douyu/9734515 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202006/140b86df22ef4937833312fe19ccbfb1_big.jpg" group-title="原创IP", 皮皮动漫星球 +https://live.ottiptv.cc/douyu/8841920 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202206/c735a4da6ecc4a709423b565142ca0e7_big.jpg" group-title="一起看", 搞笑天堂岛 +https://live.ottiptv.cc/douyu/6916081 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202103/b18b63ca73224dd8919bc6a58c7c9ef1_big.jpg" group-title="原创IP", 阿苏电影 +https://live.ottiptv.cc/douyu/9037784 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202010/68bf17b3ccde490ea7ea752106fabb25_big.jpg" group-title="原创IP", 宝蓝和朋友们 +https://live.ottiptv.cc/douyu/9283356 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/201908/0b294d642eff4b2fb6d8674de5802ce6_big.jpg" group-title="原创IP", 萱草丶daylily +https://live.ottiptv.cc/douyu/9685770 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/0d052dab60184cdca93359589b238ba3_big.jpg" group-title="原创IP", 一颗咕咕星 +https://live.ottiptv.cc/douyu/9388557 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202004/4ce6f361eb76420babd4400632de99e9_big.jpg" group-title="原创IP", 猫猫村长 +https://live.ottiptv.cc/douyu/4716 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202101/033016128c4f4a46a2ff4a6e7236a38d_big.jpg" group-title="原创IP", 刘也变z +https://live.ottiptv.cc/douyu/9489079 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avanew/face/201612/02/14/f018b89e3a8b7571767897778026672f_big.jpg" group-title="原创IP", 飞碟说官方 +https://live.ottiptv.cc/douyu/1449125 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202006/9eb0bcda04c941bab38f7ab61f254b96_big.jpg" group-title="原创IP", Michael说大片 +https://live.ottiptv.cc/douyu/8841881 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avanew/face/201702/07/00/5f40efea1368700527ac1c1177a79321_big.jpg" group-title="原创IP", MK青凌 +https://live.ottiptv.cc/douyu/9488836 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202303/d5faa59d9d21441ba70d2bcbc5c19b78_big.jpg" group-title="一起看", 安安601801 +https://live.ottiptv.cc/douyu/11283504 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202005/a1c20a203f1e4f6988cf1f65101720d4_big.jpg" group-title="原创IP", 竹儿公公 +https://live.ottiptv.cc/douyu/8807568 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avanew/face/201801/08/20/f0898dafd0c0f6f2a78d340643fc427a_big.jpg" group-title="原创IP", 枫泽雨畔 +https://live.ottiptv.cc/douyu/5279518 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202102/c995e364d879441282d3afec4c697f11_big.jpg" group-title="原创IP", 科技PRO +https://live.ottiptv.cc/douyu/9446511 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202110/3430bbaf6f374c4a81c7f1f00126139d_big.jpg" group-title="原创IP", 京城笑工坊 +https://live.ottiptv.cc/douyu/10329324 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/default/19_big.jpg" group-title="原创IP", 云襄白羽 +https://live.ottiptv.cc/douyu/10508677 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202002/02e6f147a1a24f7a966c25e32fd5abb5_big.jpg" group-title="原创IP", 乐儿丶Ler +https://live.ottiptv.cc/douyu/8221699 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202009/0dca58013cc94ed6b0ccdf79a04379d8_big.jpg" group-title="原创IP", 程情寫意 +https://live.ottiptv.cc/douyu/9191358 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202005/c880595462b5471ba4286fb6f67086aa_big.jpg" group-title="原创IP", 维立方电影 +https://live.ottiptv.cc/douyu/8706393 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202103/ce15c2959cd041cab6b4f97340a7ed7e_big.jpg" group-title="原创IP", mzx阿哲 +https://live.ottiptv.cc/douyu/9483965 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202009/ff0e8ec8fe80414291d78b90713c87aa_big.jpg" group-title="原创IP", 隐紫大人不会吐槽 +https://live.ottiptv.cc/douyu/9207457 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202009/73263d79c11343b781d4d6ebc4ed8cc3_big.jpg" group-title="原创IP", 安小闫说电影x +https://live.ottiptv.cc/douyu/1842621 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avanew/face/201703/25/05/de46832c862c6b4d63216adcaf202508_big.jpg" group-title="原创IP", 狂野的种马小说家 +https://live.ottiptv.cc/douyu/8849703 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202008/d969891488f244a6959fe8a4fb2584cf_big.jpg" group-title="原创IP", 我是一只西瓜啊 +https://live.ottiptv.cc/douyu/9065082 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202111/ea8c75324f2d44e3baa1d530eb8f7d9d_big.jpg" group-title="原创IP", 小猪优版剧院 +https://live.ottiptv.cc/douyu/10297898 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202204/fbceae18fb29426e9a7db355022722b5_big.jpg" group-title="原创IP", 负担亡魂 +https://live.ottiptv.cc/douyu/10308242 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avanew/face/201705/18/19/167c3262ecc4f3dca05c73439f1d94cd_big.jpg" group-title="原创IP", 酒痴东梦a +https://live.ottiptv.cc/douyu/9477805 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/face/201609/06/af24b7c3134826b572352c1d68393e5a_big.jpg" group-title="原创IP", 数据库saber +https://live.ottiptv.cc/douyu/9720506 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avanew/face/201610/06/23/10f2b89273c6c89cf08bf7fc0a017453_big.jpg" group-title="原创IP", 跟着盟哥去探秘 +https://live.ottiptv.cc/douyu/1178229 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/201912/0133868f5e574ccda0fdd93868d76724_big.jpg" group-title="原创IP", 恰饭橘 +https://live.ottiptv.cc/douyu/7974136 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202005/e1b3a012c42f43efba6c700366251272_big.jpg" group-title="原创IP", 橘癫疯Oswald +https://live.ottiptv.cc/douyu/8793544 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202009/e5bfa5533f434f68b588c36cf9c0ee7c_big.jpg" group-title="原创IP", 洋房姐姐 +https://live.ottiptv.cc/douyu/9172774 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202101/31edb5d370c94765973c5091ae17854a_big.jpg" group-title="原创IP", 是不是Pro +https://live.ottiptv.cc/douyu/9475113 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202102/8bac441b55f24808a5e5b679c6e5b3e2_big.jpg" group-title="原创IP", 上来先丢大v +https://live.ottiptv.cc/douyu/9566154 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202011/9d3d3308a5234e5cab9ea49773e9c837_big.jpg" group-title="原创IP", 前任电影 +https://live.ottiptv.cc/douyu/9329242 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202011/19a9ca2d4abc4af7b2feedd4eaf70103_big.jpg" group-title="原创IP", 狗毛电影 +https://live.ottiptv.cc/douyu/9356637 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/1e600f1ad75c4e7aa435d0084923501b_big.jpg" group-title="原创IP", 5毒士 +https://live.ottiptv.cc/douyu/9406600 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202101/88332955e3494259bed6a749f39b9ea6_big.jpg" group-title="原创IP", 香兰爱影视 +https://live.ottiptv.cc/douyu/9487090 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202202/b9df57bb088545febcd8a199325c88dd_big.jpg" group-title="原创IP", 暮肆Mousse +https://live.ottiptv.cc/douyu/9634199 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202004/97d98ce41d9c44d695869993317f5f24_big.jpg" group-title="原创IP", 俗哥看电影 +https://live.ottiptv.cc/douyu/2161818 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202104/b765b00330a343c8bbe07941028abf71_big.jpg" group-title="一起看", Biu餐厅主管 +https://live.ottiptv.cc/douyu/7921708 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202004/7884468862e7448188a9064b36329db7_big.jpg" group-title="原创IP", 奇趣研究 +https://live.ottiptv.cc/douyu/8661456 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202103/d5957706ea514b979b36566e3345d344_big.jpg" group-title="原创IP", 开车大神 +https://live.ottiptv.cc/douyu/9759970 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202106/78d5a2f8b699432b98fde1b1dfda706c_big.jpg" group-title="原创IP", 鲤环姬Lee +https://live.ottiptv.cc/douyu/9791703 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202005/28fb1250778247c78fd4014f788656b7_big.jpg" group-title="原创IP", 圈踢动漫 +https://live.ottiptv.cc/douyu/1952680 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/default/07_big.jpg" group-title="原创IP", 草泥泥影院 +https://live.ottiptv.cc/douyu/9091049 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/3e3717c3b82d451e8583624a3f42e1c1_big.jpg" group-title="原创IP", 轻风乍起的号 +https://live.ottiptv.cc/douyu/9445489 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202204/16e0af235f27442fa3d73e715161528e_big.jpg" group-title="原创IP", 大胡子魏 +https://live.ottiptv.cc/douyu/8792763 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/52b6a439c1854118a4e876b6d249d3e3_big.jpg" group-title="原创IP", 是忆昔啊 +https://live.ottiptv.cc/douyu/9455518 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202101/061f6a1e72104a8685cf7f70a7e15b0a_big.jpg" group-title="原创IP", 羽羊朩夂一 +https://live.ottiptv.cc/douyu/9533226 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202101/ca2a06fa266b4407b44f84ec560c82da_big.jpg" group-title="原创IP", 小林家的意大利炮 +https://live.ottiptv.cc/douyu/9501444 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202101/6e40dda7a36f4e639116369cb27b5354_big.jpg" group-title="原创IP", 纆緣老给给 +https://live.ottiptv.cc/douyu/9543413 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/5c039fad99ee41068a77fa8ec984efb7_big.jpg" group-title="原创IP", 77说电影 +https://live.ottiptv.cc/douyu/9444320 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202005/f4a4f3473c6e4c199f5c7f3bfbba546a_big.jpg" group-title="原创IP", RNDxc +https://live.ottiptv.cc/douyu/4585643 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202005/9437f8b1623f4607806235da45be697b_big.jpg" group-title="原创IP", 科幻战舰 +https://live.ottiptv.cc/douyu/8772060 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/1e6d21b76b924294bd9a05f8bff1add6_big.jpg" group-title="原创IP", 妈见打ovo +https://live.ottiptv.cc/douyu/9413151 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202103/ae5dc8834aab4b4281cd7f1882bae762_big.jpg" group-title="原创IP", 扒圈圈V +https://live.ottiptv.cc/douyu/9649913 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202108/a89f3c5f9fe041b1be56a1664a63de3a_big.jpg" group-title="原创IP", 农氏野钓 +https://live.ottiptv.cc/douyu/10103361 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avanew/face/201712/22/14/241964698fce806d7111b56444503640_big.jpg" group-title="原创IP", 無才先生 +https://live.ottiptv.cc/douyu/8317571 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202208/621a6d346e6f4430b00f0c84665bf052_big.jpg" group-title="原创IP", 洛飕飕 +https://live.ottiptv.cc/douyu/9543361 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202105/e0a084093c3a457da8aef4384cd1b9e4_big.jpg" group-title="原创IP", PhantomStrider +https://live.ottiptv.cc/douyu/9683911 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202410/dd621b91c9cb4a9cb375e3bda09ab115_big.jpg" group-title="一起看", BetterMan北北 +https://live.ottiptv.cc/douyu/8507023 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202110/e896ed1e4ea643259b9d30a3cc01ce56_big.jpg" group-title="原创IP", 我是怪异君V +https://live.ottiptv.cc/douyu/10279570 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/33a35523139c4690a4333c950a193038_big.jpg" group-title="原创IP", 辰哥说电影 +https://live.ottiptv.cc/douyu/9371407 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202102/1780b481436a4e0da04a1acf1943ff38_big.jpg" group-title="原创IP", 果冻萌萌的丶 +https://live.ottiptv.cc/douyu/9607934 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202108/02f5dc2073e54d4bb3eb172d1ee26ade_big.jpg" group-title="原创IP", 游钓黑坑一疯子 +https://live.ottiptv.cc/douyu/10103411 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202108/507edbc69e1547be896c0fe99064d637_big.jpg" group-title="原创IP", 海王尼加拉 +https://live.ottiptv.cc/douyu/10039005 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202002/a070133817c746609848d0396d1d4799_big.jpg" group-title="原创IP", 松轩说电影 +https://live.ottiptv.cc/douyu/1524969 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avanew/face/201704/18/15/9a58c4abcec90b322060cddf81d53a68_big.jpg" group-title="原创IP", 胥渡吧直播号 +https://live.ottiptv.cc/douyu/2040822 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202005/a469ba709c8a4a3bbff27d292fe3ac74_big.jpg" group-title="原创IP", 纳豆奶奶666 +https://live.ottiptv.cc/douyu/8745628 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202103/e7bad7af4e644672a1e1e9d61fd0bad7_big.jpg" group-title="原创IP", 娱乐扒叔 +https://live.ottiptv.cc/douyu/9624581 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202104/4a61dd0a0aa84ff1abcde240e83b673c_big.jpg" group-title="原创IP", 小侠来了 +https://live.ottiptv.cc/douyu/9734042 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/default/10_big.jpg" group-title="原创IP", 探秘者大正 +https://live.ottiptv.cc/douyu/9330485 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202107/aaf3cca557b34a869afae4c0f9f41df4_big.jpg" group-title="原创IP", 日本女子摔角 +https://live.ottiptv.cc/douyu/425809 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202011/ee127f3652254980ab1cb62d7b304ad0_big.jpg" group-title="原创IP", 暴走兄弟v +https://live.ottiptv.cc/douyu/9350960 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202101/adb509f588894ae9bed6969c70ef0ca4_big.jpg" group-title="原创IP", 鲨说电影 +https://live.ottiptv.cc/douyu/9544628 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202104/3712e120be174bd19e527d393a687d94_big.jpg" group-title="原创IP", 荒野万池王 +https://live.ottiptv.cc/douyu/9544576 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202006/eff32920553c449fb9bd58c14267f1e3_big.jpg" group-title="原创IP", 大熊观影 +https://live.ottiptv.cc/douyu/8851140 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avanew/face/201706/28/11/93c5f6cc787f56fbb12dae062f5727ee_big.jpg" group-title="原创IP", 独立鱼电影 +https://live.ottiptv.cc/douyu/2413555 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/201912/d188025b789841219bb8bb5e8a0599a3_big.jpg" group-title="原创IP", 朱一旦的枯燥生活v +https://live.ottiptv.cc/douyu/7907979 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202005/1ff641115dea4feeba9ef3fc94efab73_big.jpg" group-title="原创IP", 电影黑匣子 +https://live.ottiptv.cc/douyu/8706652 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202102/61fd59a166df4792a17bc1361500f8d7_big.jpg" group-title="原创IP", 轩邈Elias +https://live.ottiptv.cc/douyu/9412454 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/default/11_big.jpg" group-title="原创IP", 龙视超级笑匠 +https://live.ottiptv.cc/douyu/9375450 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202103/a37065bd3c5449059acf823f0402eaa3_big.jpg" group-title="原创IP", 音乐台长 +https://live.ottiptv.cc/douyu/9629943 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202006/bd897f89f19243ff8075c18a5d644b68_big.jpg" group-title="原创IP", 28岁电影 +https://live.ottiptv.cc/douyu/8884164 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202103/8de0e3eb8e0c435bb9c60674665479af_big.jpg" group-title="原创IP", 我叫孙火旺 +https://live.ottiptv.cc/douyu/9770949 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202203/7d22670f44b64ef6bf684c97ee81f6e3_big.jpg" group-title="原创IP", 利利川 +https://live.ottiptv.cc/douyu/9329249 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202202/cf34bc6315cc4c6b91533c10af270efc_big.jpg" group-title="原创IP", 大狼狗刨祖坟 +https://live.ottiptv.cc/douyu/10217975 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202105/00f4efd71aef4a26b13e4cdd6d0cc72b_big.jpg" group-title="原创IP", 童乐说电影 +https://live.ottiptv.cc/douyu/9660704 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/29f16d1ff2914d20ad029d8abd783b81_big.jpg" group-title="原创IP", 菠萝说电影 +https://live.ottiptv.cc/douyu/3714736 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/6c29654abf4a41b6b97e76856c334e0f_big.jpg" group-title="原创IP", 篮球长镜头 +https://live.ottiptv.cc/douyu/9399887 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/013/17/62/49_avatar_big.jpg" group-title="原创IP", 猪肉熟了 +https://live.ottiptv.cc/douyu/296836 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/default/11_big.jpg" group-title="原创IP", 洛克电影 +https://live.ottiptv.cc/douyu/9414884 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202103/eee1a6ade0d9451d86a0ca40a7942d5d_big.jpg" group-title="原创IP", 神羊说电影 +https://live.ottiptv.cc/douyu/9443552 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avanew/face/201709/09/10/4e51d8b9c068fa378b852552e5ef2840_big.jpg" group-title="原创IP", 宇宙无敌韩三金 +https://live.ottiptv.cc/douyu/3194372 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202011/aaceeee916304e97b09d3c7dbb84776e_big.jpg" group-title="原创IP", 只关于篮球的只老师 +https://live.ottiptv.cc/douyu/9367541 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202101/2d567b9c329942dab808826dcbaa3fbd_big.jpg" group-title="原创IP", 3秒爱上学习V +https://live.ottiptv.cc/douyu/9541736 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202005/35f6b4ebea8c4f4a8933126b8234e6ca_big.jpg" group-title="原创IP", 阿尔法是只边牧 +https://live.ottiptv.cc/douyu/8662812 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202011/0338612bac1a4d0fb92be53e1f8d309e_big.jpg" group-title="原创IP", 野行涛哥V +https://live.ottiptv.cc/douyu/9329608 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/default/24_big.jpg" group-title="原创IP", 风云I人物志 +https://live.ottiptv.cc/douyu/9970047 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202203/a2400e460a93489db8c923d7072e1dce_big.jpg" group-title="原创IP", dy荒野建造 +https://live.ottiptv.cc/douyu/10039437 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202209/e6155c701299482c8db5a87de01d5705_big.jpg" group-title="一起看", 周星驰的直播间 +https://live.ottiptv.cc/douyu/8257039 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202108/caaaa8a21bee475d98629bf66e33974d_big.jpg" group-title="原创IP", 可乐家的老骑士 +https://live.ottiptv.cc/douyu/9958943 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202007/2ba169bfb7dd4034a11043f73ed702f8_big.jpg" group-title="原创IP", 黄栗子Ye +https://live.ottiptv.cc/douyu/9046097 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202007/5e9d3c697e184e28ab697de0d985cd53_big.jpg" group-title="原创IP", 十里说 +https://live.ottiptv.cc/douyu/9064711 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202104/797aadb3eea44410b61026e8786d50aa_big.jpg" group-title="原创IP", 探奇录 +https://live.ottiptv.cc/douyu/9746763 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/884e6266b2744e688abb372f9230bb0b_big.jpg" group-title="原创IP", 伯乐说电影V +https://live.ottiptv.cc/douyu/9386057 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/023/27/60/23_avatar_big.jpg" group-title="一起看", Cloud猪 +https://live.ottiptv.cc/douyu/527502 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/default/10_big.jpg" group-title="原创IP", 鄂东老男孩 +https://live.ottiptv.cc/douyu/8837707 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202209/82d5c9f3e08049ad9551176bff2389d8_big.jpg" group-title="一起看", 天才大熊猫啊 +https://live.ottiptv.cc/douyu/10646699 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202111/1f4622dc13c5468bbf1ae29fdb2655e6_big.jpg" group-title="原创IP", 荒野避难所 +https://live.ottiptv.cc/douyu/10234334 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/5d23fa91ffb043c58c79e6973e3c77ce_big.jpg" group-title="原创IP", 小小鹿老师 +https://live.ottiptv.cc/douyu/9442889 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202010/b062afdb0ac745228e33f2ab84e95a49_big.jpg" group-title="原创IP", 莫扎金 +https://live.ottiptv.cc/douyu/9272077 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/default/21_big.jpg" group-title="原创IP", 倓张TanZ +https://live.ottiptv.cc/douyu/9687221 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202107/516d249e928d49f18a21886694f13b7c_big.jpg" group-title="原创IP", 老鱼说剧 +https://live.ottiptv.cc/douyu/9994377 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/15945f9e65ae4596be17d0fd049e5c0f_big.jpg" group-title="原创IP", 大坑侦探社 +https://live.ottiptv.cc/douyu/9440339 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202005/5db8a6dc519947ee8e23af1f994c7348_big.jpg" group-title="原创IP", 求求扣扣困困 +https://live.ottiptv.cc/douyu/8795274 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/face/201606/17/7ddff7b37e79dcffd9a99f95e9229c29_big.jpg" group-title="一起看", 旧梦随人心 +https://live.ottiptv.cc/douyu/692533 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202106/474137bc275b4e51bfbb788854daa112_big.jpg" group-title="原创IP", 方攵日央木几 +https://live.ottiptv.cc/douyu/9942574 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202101/8fbfd84e0c8b4200ae64fbed3e1d49fc_big.jpg" group-title="原创IP", 冷孝洪 +https://live.ottiptv.cc/douyu/9527761 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/7c4dfee8b32544418717c543f98d5c1f_big.jpg" group-title="原创IP", 龙馍馍UP +https://live.ottiptv.cc/douyu/1717648 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202011/5f0cd1d4fec84ee0aa1f0b9520744aa1_big.jpg" group-title="原创IP", 渔农泰叔 +https://live.ottiptv.cc/douyu/9348784 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/9550d5db296f415384ba4ed6a02b2228_big.jpg" group-title="原创IP", 享看电影 +https://live.ottiptv.cc/douyu/8974130 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202005/b15ca853679248e4ad5cd581e1285662_big.jpg" group-title="原创IP", 怪事屋 +https://live.ottiptv.cc/douyu/8706084 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/4ca87a8c2c184fef911700aff5cf141d_big.jpg" group-title="原创IP", 农村一级野钓大师 +https://live.ottiptv.cc/douyu/9433591 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202103/c10e90bed52544dd95246ccfd8bab60b_big.jpg" group-title="原创IP", 神奇的大智 +https://live.ottiptv.cc/douyu/9650047 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/default/22_big.jpg" group-title="原创IP", OooOlivia奥莉蕉 +https://live.ottiptv.cc/douyu/9678862 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202110/31c853d5c63541c6818b54ba487c0e13_big.jpg" group-title="原创IP", 喜剧电影笑不停 +https://live.ottiptv.cc/douyu/10298856 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/96e40eb47d4c43f9a6a0b9b6650a5e29_big.jpg" group-title="原创IP", 芳芳说故事 +https://live.ottiptv.cc/douyu/9401905 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/default/24_big.jpg" group-title="原创IP", 快哥说老片 +https://live.ottiptv.cc/douyu/10411518 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202102/ec2cd40931d1419ca760cd189324b929_big.jpg" group-title="一起看", 科幻梦工场 +https://live.ottiptv.cc/douyu/9608874 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202007/c065ebb3c441431fbe8c55cf37dc39da_big.jpg" group-title="原创IP", 狂阿弥爷 +https://live.ottiptv.cc/douyu/8975282 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avanew/face/201805/b1e0df1d09127008e65884e1ebb20425_big.jpg" group-title="原创IP", 鸡哥聊电影 +https://live.ottiptv.cc/douyu/5067952 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/default/17_big.jpg" group-title="原创IP", 喵招诗雨 +https://live.ottiptv.cc/douyu/9651121 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202104/851e02de16ab43efb722e5d30eaf635a_big.jpg" group-title="原创IP", 勇敢的荒野人 +https://live.ottiptv.cc/douyu/9618038 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/201806/c91c4da3496ba69e8766230e916bff2d_big.jpg" group-title="原创IP", 动漫推荐i +https://live.ottiptv.cc/douyu/5187099 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202011/48e5b48bdc644df98e4df5ebbe34d6ed_big.jpg" group-title="原创IP", 拳击大王 +https://live.ottiptv.cc/douyu/9385340 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202101/d8ad9c24c9ae4509b4aa263c197e7353_big.jpg" group-title="原创IP", 戴萌兔 +https://live.ottiptv.cc/douyu/9522315 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202103/1aa6fdee6e694628bfd685ddcb3795fe_big.jpg" group-title="原创IP", 渔村小马 +https://live.ottiptv.cc/douyu/1447771 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avanew/face/201710/17/18/c75d4efba1757f2de5400a2d24fb4e94_big.jpg" group-title="原创IP", 大荒电影 +https://live.ottiptv.cc/douyu/3508538 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/201902/9a146de5bcf743d09479ab44dc4a89fa_big.jpg" group-title="一起看", 繁星之所在 +https://live.ottiptv.cc/douyu/6033135 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202005/e57819c10ad848b58e4831510ae63092_big.jpg" group-title="原创IP", 电影先锋V +https://live.ottiptv.cc/douyu/8711212 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202003/810c6c7b1c9c4f53ac546835baf466f9_big.jpg" group-title="原创IP", 五分钟电影汇 +https://live.ottiptv.cc/douyu/8443438 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avanew/face/201612/13/12/d2508478c8c2cdfc458587fdbb63c189_big.jpg" group-title="原创IP", 小红在农村 +https://live.ottiptv.cc/douyu/1492444 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202007/4cfd8319813447369958a6cda6e30486_big.jpg" group-title="一起看", a萌小翘臀 +https://live.ottiptv.cc/douyu/7552568 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202110/c7d253e144c04a2c8e4806ecd680dc19_big.jpg" group-title="原创IP", 文侠灬楊楊 +https://live.ottiptv.cc/douyu/10317257 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/default/08_big.jpg" group-title="原创IP", 三个老爸实验室 +https://live.ottiptv.cc/douyu/9090487 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202102/b08ba54dcbf54b81b6e9353acf56f7b5_big.jpg" group-title="原创IP", 罐装老K +https://live.ottiptv.cc/douyu/9566210 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avanew/face/201803/03/11/029bbcc808ba0b40d2c68b02b494cef1_big.jpg" group-title="原创IP", 名曰老饕 +https://live.ottiptv.cc/douyu/1732550 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/0dcc8f1bc0614648807378ef0a1471d3_big.jpg" group-title="原创IP", 冰糖葫芦没放盐V +https://live.ottiptv.cc/douyu/3505453 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202006/3a68b9f10b064c36a947f6dba4ea28e0_big.jpg" group-title="原创IP", 胶片看电影 +https://live.ottiptv.cc/douyu/3715426 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/0afd701e55d5441e87dcd73afbe13a30_big.jpg" group-title="原创IP", 末日说电影 +https://live.ottiptv.cc/douyu/9431125 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202101/1dd0f41ac8ad4a64ab7729ec48d6be02_big.jpg" group-title="原创IP", 笑点组长 +https://live.ottiptv.cc/douyu/9535757 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/201806/f4f21e6ff5a97f8eefc7a5f97365c8bd_big.jpg" group-title="原创IP", 冬粮说故事 +https://live.ottiptv.cc/douyu/5192695 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202105/334e0adec527485087dea84c416f1b9e_big.jpg" group-title="原创IP", 海森堡事件录 +https://live.ottiptv.cc/douyu/9754849 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/default/03_big.jpg" group-title="原创IP", shhher +https://live.ottiptv.cc/douyu/8733680 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202007/622d4c75ff34411eb0d6a1ab3168b4c1_big.jpg" group-title="原创IP", 唐司令说电影 +https://live.ottiptv.cc/douyu/8774345 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/dd8d48ca764c4845827ec4c9a53b8a1d_big.jpg" group-title="原创IP", 小岛讲电影 +https://live.ottiptv.cc/douyu/9390955 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202104/528a7a6c53ac4b51b8f2d046fa6fcb59_big.jpg" group-title="原创IP", 电影小班长 +https://live.ottiptv.cc/douyu/549693 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/c350ff3fcc4a430199a7198154631934_big.jpg" group-title="原创IP", 是小x同学呀 +https://live.ottiptv.cc/douyu/9415020 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/c3a74f8cb43b4d50be5c03dff963bf93_big.jpg" group-title="原创IP", Ido漫说 +https://live.ottiptv.cc/douyu/9456379 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202207/cf634cd7dbff4305b9ff2ceccda79c22_big.jpg" group-title="原创IP", 崽崽撩电影 +https://live.ottiptv.cc/douyu/8325511 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202005/8f4319d5dcd74a8187eec7d08adb983a_big.jpg" group-title="原创IP", 尽整没用D +https://live.ottiptv.cc/douyu/8791622 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202102/08112cb19406446591ec4d7c2b47906a_big.jpg" group-title="原创IP", 阿福ThomasV +https://live.ottiptv.cc/douyu/9194089 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/43312b75a3254a449e2f7fd26dd0f76f_big.jpg" group-title="原创IP", 奇怪电影 +https://live.ottiptv.cc/douyu/9440966 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202104/c558d7bf18b14324af40431245264331_big.jpg" group-title="原创IP", 有部电影儿 +https://live.ottiptv.cc/douyu/9736479 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202006/e0928c517c3042089568694612deede3_big.jpg" group-title="原创IP", 听wo姐说 +https://live.ottiptv.cc/douyu/8830082 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202103/44cb3230573d43ec99692ceb19a07d07_big.jpg" group-title="原创IP", 张小莹要独立 +https://live.ottiptv.cc/douyu/9647285 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202102/9161d300eaaa4f3a83946aeb31105147_big.jpg" group-title="原创IP", 是真的林虎LinHu +https://live.ottiptv.cc/douyu/9540113 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202103/2c2dff5ff67343c1b3876e5a914a3516_big.jpg" group-title="原创IP", 胖段段fre +https://live.ottiptv.cc/douyu/9662856 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/201910/ded6deb76fb44e63aa7455059fd45cb3_big.jpg" group-title="原创IP", 瓦岗寨主坑爹李 +https://live.ottiptv.cc/douyu/7661496 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/default/03_big.jpg" group-title="原创IP", 说说电影故事 +https://live.ottiptv.cc/douyu/9444627 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202102/3ca56e4132a24bdc82e9b78e1a08fcd3_big.jpg" group-title="原创IP", 别闹了美越 +https://live.ottiptv.cc/douyu/9548244 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202302/dcbe9a5a580742a191c77c0e0e5e8807_big.jpg" group-title="一起看", 浩贤说电影 +https://live.ottiptv.cc/douyu/10535867 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avanew/face/201706/09/15/d8d54f065e236761001792866919a5f2_big.jpg" group-title="原创IP", 柳青瑶本尊 +https://live.ottiptv.cc/douyu/2281324 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202009/50d1077e73544c03ac5e739ae705ed4e_big.jpg" group-title="原创IP", 大汁猪 +https://live.ottiptv.cc/douyu/9191071 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202102/372a7e3de4204501ba4abd296b41c71f_big.jpg" group-title="原创IP", 看电影了没V +https://live.ottiptv.cc/douyu/9562616 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202101/09142828c690419abc9a627ef86d5e25_big.jpg" group-title="原创IP", 制造show +https://live.ottiptv.cc/douyu/9550226 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/5ab7de1d9af14349a4951fa709a4496f_big.jpg" group-title="原创IP", 米粒儿动漫 +https://live.ottiptv.cc/douyu/9445279 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202102/410eda50ea9c4cc086770637bff09c6d_big.jpg" group-title="一起看", 冥王星丶丶 +https://live.ottiptv.cc/douyu/296575 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/019/29/24/33_avatar_big.jpg" group-title="原创IP", 爱玩客iVankr +https://live.ottiptv.cc/douyu/317409 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avanew/face/201708/09/10/49f4984e5cd5a54890c070f97060d071_big.jpg" group-title="原创IP", DS女老诗 +https://live.ottiptv.cc/douyu/563536 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/face/201606/23/9c707894169782da85f50c905440028b_big.jpg" group-title="一起看", 屁屁鲁男孩 +https://live.ottiptv.cc/douyu/708526 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avanew/face/201801/09/11/4325810c9edd14b077284c177cc68325_big.jpg" group-title="原创IP", 趣评测李杰灵 +https://live.ottiptv.cc/douyu/751316 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/default/03_big.jpg" group-title="一起看", 陈瀚Siri +https://live.ottiptv.cc/douyu/759805 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202005/6af85c1d8917483c8978e95ff8c628fe_big.jpg" group-title="原创IP", QLIMES +https://live.ottiptv.cc/douyu/1039732 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202401/1a98ac2024384350830f8e0cd03e1cdb_big.jpg" group-title="原创IP", 猫丶趴趴 +https://live.ottiptv.cc/douyu/1255068 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/001/81/33/80_avatar_big.jpg" group-title="原创IP", 耗子像个战神 +https://live.ottiptv.cc/douyu/1557288 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202102/f0ea5321efa441b5aa46be5d2fe10eb5_big.jpg" group-title="原创IP", 剧透大爆炸 +https://live.ottiptv.cc/douyu/1739752 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202008/ae85f2fa0c8747c1861d9f6b3c974756_big.jpg" group-title="原创IP", 树根龙门阵 +https://live.ottiptv.cc/douyu/1833459 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202003/aa001e457a2c49838987c1a071641c4f_big.jpg" group-title="一起看", 桀骜不驯认识 +https://live.ottiptv.cc/douyu/2041014 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202111/a355fb1dcb634cdb96ff80bce6c06274_big.jpg" group-title="原创IP", 网友咸几几 +https://live.ottiptv.cc/douyu/2174405 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avanew/face/201707/11/13/bd2eef1a867eb55f2b3dea990c4c1f02_big.jpg" group-title="原创IP", 淮秀帮官方 +https://live.ottiptv.cc/douyu/2519745 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202103/f3e4e415325645b297ea3008f84a412e_big.jpg" group-title="原创IP", 黑T毒物 +https://live.ottiptv.cc/douyu/3579219 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avanew/face/201711/03/14/c493e52f98d6d73d5afee42387287f2b_big.jpg" group-title="原创IP", XCin888 +https://live.ottiptv.cc/douyu/3617935 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202005/e7361ee0e674412c99ab0c208d19008b_big.jpg" group-title="原创IP", 同学请坐吧 +https://live.ottiptv.cc/douyu/3736649 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avanew/face/201610/16/06/c2c814e64e9eb6b518a471849530afc6_big.jpg" group-title="一起看", 要不要请你吃元宝蜡烛 +https://live.ottiptv.cc/douyu/4168287 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avanew/face/201711/07/19/689ed9cc653d13f19a4ff3c46e264252_big.jpg" group-title="原创IP", 梦觉教游泳 +https://live.ottiptv.cc/douyu/4531679 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202102/3311a888fb7f4e00a3529f85569d698f_big.jpg" group-title="原创IP", 弹吉他的Miumiu +https://live.ottiptv.cc/douyu/4564166 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202010/1a5961145138447abd4b11056944cdca_big.jpg" group-title="原创IP", 酋知鱼 +https://live.ottiptv.cc/douyu/5408225 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202006/93fe4e12db2d4726a1af6f699c2ceced_big.jpg" group-title="原创IP", 已知艺术家漫画解说 +https://live.ottiptv.cc/douyu/5907076 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202109/2446a9eebd014252865d39b974823c97_big.jpg" group-title="原创IP", 丶清风浊酒丶 +https://live.ottiptv.cc/douyu/5918434 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202111/65b869bbb8cf4eebb35f69be9599d025_big.jpg" group-title="原创IP", 皮皮游戏时光 +https://live.ottiptv.cc/douyu/7553744 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202003/49fed1849e314a88bf8d260448c8c73d_big.jpg" group-title="原创IP", low君热剧 +https://live.ottiptv.cc/douyu/8461020 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202003/fbfe8e4db1834e33aab342addb357769_big.jpg" group-title="原创IP", 哈利影视 +https://live.ottiptv.cc/douyu/8475821 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202004/2f0e75ceb9b64c1491030efc62ceb9d3_big.jpg" group-title="原创IP", 将军侃片 +https://live.ottiptv.cc/douyu/8529736 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202004/1f4b371f26c04f62911b55655add2e06_big.jpg" group-title="原创IP", 在下小苏Su +https://live.ottiptv.cc/douyu/8658051 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202004/6e2e8212f29647c3a77522f1cefec72d_big.jpg" group-title="原创IP", 二次元fans鹿鹿 +https://live.ottiptv.cc/douyu/8661526 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202004/2d6e5de32d7a413ea1f215474fd37324_big.jpg" group-title="原创IP", 一束光开始 +https://live.ottiptv.cc/douyu/8662684 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202005/eaec941d171a4ddba7323246cfb3de9b_big.jpg" group-title="原创IP", 田园小漠 +https://live.ottiptv.cc/douyu/8669435 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202005/0292a54f5045418591deededa305e0a4_big.jpg" group-title="原创IP", 电影漩涡 +https://live.ottiptv.cc/douyu/8706350 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202005/3cd4645b86e9427abe25015fdd98f496_big.jpg" group-title="原创IP", 猫眼电影 +https://live.ottiptv.cc/douyu/8726221 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202112/06b07b6587c242229bf9c3f4be6a4912_big.jpg" group-title="原创IP", 大趴电影院 +https://live.ottiptv.cc/douyu/8747638 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202203/b315f15b67b6435b8915c68fd8047595_big.jpg" group-title="原创IP", 少年看电影 +https://live.ottiptv.cc/douyu/8762120 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202005/1efcd583b070476ba04e3f556481301c_big.jpg" group-title="原创IP", 粤男有话儿 +https://live.ottiptv.cc/douyu/8764282 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202311/74cdfc0c9fcb482ea298378697a64f29_big.jpg" group-title="原创IP", 猴博士爱讲课V +https://live.ottiptv.cc/douyu/8799739 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202005/65cffe4475e449c4a9808738ed1ec50e_big.jpg" group-title="原创IP", 新视角解说 +https://live.ottiptv.cc/douyu/8813254 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202006/ee5e269b4abd47bbbdca6dbfc370953f_big.jpg" group-title="原创IP", 鐵牛杰哥 +https://live.ottiptv.cc/douyu/8815425 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202006/d7d22d8fdfc541feace3463f8c8dbe3d_big.jpg" group-title="原创IP", 几号房间 +https://live.ottiptv.cc/douyu/8829425 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202006/da8fcc94241c4663a57e6eb41709f51e_big.jpg" group-title="原创IP", 滑稽中二梦V +https://live.ottiptv.cc/douyu/8829706 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/default/12_big.jpg" group-title="原创IP", 油兔不二字幕组 +https://live.ottiptv.cc/douyu/8850453 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202006/4a4c871700e34bfb84439300f796d243_big.jpg" group-title="原创IP", 逍遥自在白辰皓 +https://live.ottiptv.cc/douyu/8859276 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202006/88bc2001a43b4feb996c9ca9b27fa048_big.jpg" group-title="原创IP", 王俊凯的资源组 +https://live.ottiptv.cc/douyu/8862216 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202006/d8ac7c3cd169453295b245eebab3d277_big.jpg" group-title="原创IP", 猪弟驸马爷 +https://live.ottiptv.cc/douyu/8862501 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/024/90/97/63_avatar_big.jpg" group-title="原创IP", 豆客解说 +https://live.ottiptv.cc/douyu/8883122 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202006/640e80efe46c416287d02bf26b5fb034_big.jpg" group-title="原创IP", 电影幕后喵 +https://live.ottiptv.cc/douyu/8884074 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202006/b902f94e878d4f758dc06db92df4ea28_big.jpg" group-title="原创IP", 月影Yueing212 +https://live.ottiptv.cc/douyu/8885525 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202006/9d4fed5fadf9469abd426755df1bad1b_big.jpg" group-title="原创IP", 好像视说故事 +https://live.ottiptv.cc/douyu/8891883 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202006/c782f48f3509415499d51510d2844b2c_big.jpg" group-title="原创IP", 漠漠fumiyo +https://live.ottiptv.cc/douyu/8911070 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202006/72cc69942b2c4d0791d2ab5b93b69923_big.jpg" group-title="原创IP", 竹内亮导演 +https://live.ottiptv.cc/douyu/8933612 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202008/05cbbfeb81214c39a1e1f3aa46028f70_big.jpg" group-title="原创IP", KBShinya +https://live.ottiptv.cc/douyu/8970851 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202007/fb79c1e8d08743a5ae6ac9375d94c329_big.jpg" group-title="原创IP", 哲忆丶 +https://live.ottiptv.cc/douyu/8977251 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202008/4b9cc7c495644d6a980635a1e510f6a3_big.jpg" group-title="原创IP", 卡密密尼 +https://live.ottiptv.cc/douyu/9013989 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202007/fd813dc22f714aa7a8808dfd2a12f684_big.jpg" group-title="原创IP", 小馒头叫包几 +https://live.ottiptv.cc/douyu/9028721 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/2bcc8c60c5e7482082961aa6e67e2ef4_big.jpg" group-title="原创IP", 久远丶酱 +https://live.ottiptv.cc/douyu/9046649 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202102/3cb754e951714aa3bd4893cb257bff61_big.jpg" group-title="原创IP", 泽静 +https://live.ottiptv.cc/douyu/9055742 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202008/b093863a89b749d19124b7fef97240ff_big.jpg" group-title="原创IP", 内蒙卡秋 +https://live.ottiptv.cc/douyu/9067858 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202008/6dd1a7bb2d514c4d8192a3e3e38eeb9e_big.jpg" group-title="原创IP", 徳彪的奇妙冒险 +https://live.ottiptv.cc/douyu/9145648 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202010/aa0fc50d90ad41b1a731f4f68f03a419_big.jpg" group-title="原创IP", 八幡老师1 +https://live.ottiptv.cc/douyu/9272043 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202010/bb0d03eaefe245ab94d028482f3ea4d5_big.jpg" group-title="原创IP", 渔民老海 +https://live.ottiptv.cc/douyu/9272327 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202009/8d9ca73a5f5846d99a4cbff761944cab_big.jpg" group-title="原创IP", 0小行家0 +https://live.ottiptv.cc/douyu/9280356 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202010/f86c1f074f5847c9a981d7caeb0efd60_big.jpg" group-title="原创IP", 不思异剧场 +https://live.ottiptv.cc/douyu/9297412 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202011/a466c47344b747ab8f7861768a509b69_big.jpg" group-title="原创IP", 电影七十二变 +https://live.ottiptv.cc/douyu/9323164 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/201911/80775387adaa4eb0af669e8abcb919a6_big.jpg" group-title="原创IP", 玖月影视 +https://live.ottiptv.cc/douyu/9339251 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202011/f4aed6a75b5b48e9a0faa2721c316374_big.jpg" group-title="原创IP", 是脑洞君君君 +https://live.ottiptv.cc/douyu/9360149 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202011/afc3f24fc91c4aabb275fa9a1e6958c9_big.jpg" group-title="原创IP", 鸡蛋高V +https://live.ottiptv.cc/douyu/9367188 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202011/fbaac7732d2245f8a596dbc44a97de10_big.jpg" group-title="原创IP", 钱小元说电影 +https://live.ottiptv.cc/douyu/9368265 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202011/22548ff7cb0845a887da387c882645e7_big.jpg" group-title="原创IP", 女王泡面V +https://live.ottiptv.cc/douyu/9369937 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202011/7fb25d9f3ba44adb882c4725c0dd3ba9_big.jpg" group-title="原创IP", 神之传说sh +https://live.ottiptv.cc/douyu/9370168 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202011/978e86bded3440a780054661857841f9_big.jpg" group-title="原创IP", 吃鸡小表弟 +https://live.ottiptv.cc/douyu/9370197 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202311/12915aa3915d4cb5b442df11a49b3942_big.jpg" group-title="原创IP", 瑟克斯潘克斯 +https://live.ottiptv.cc/douyu/9370434 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/0503ff8a2fe44c87906e50c73436ed36_big.jpg" group-title="原创IP", 吃草莓的果子狸V +https://live.ottiptv.cc/douyu/9382395 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/face/201608/18/19bc69c3017767f95d06f17a34aaec54_big.jpg" group-title="原创IP", JG影视解说 +https://live.ottiptv.cc/douyu/9391277 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/b40e6a5287a7471f9e3a4daa804fc3ae_big.jpg" group-title="原创IP", 动画魂 +https://live.ottiptv.cc/douyu/9393242 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202101/155e4bb6ec684f2d8dee59f840a928ac_big.jpg" group-title="原创IP", 九冢嵬 +https://live.ottiptv.cc/douyu/9393501 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/a6280c3c7e344b40b58f10a9c9bede67_big.jpg" group-title="原创IP", 女汉子说电影 +https://live.ottiptv.cc/douyu/9395966 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202101/7ecdf07c08cf4f9db642cb6601c3e221_big.jpg" group-title="原创IP", 锅盖哒 +https://live.ottiptv.cc/douyu/9398828 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202507/a16bd380a6434d1b9d7b548df5ac52fa_big.jpg" group-title="原创IP", 董王老登 +https://live.ottiptv.cc/douyu/9412287 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/72ffdb4b5ecf4e29a9e1d0d75ffe2a2d_big.jpg" group-title="原创IP", 齐木楠雄的哦呼v +https://live.ottiptv.cc/douyu/9415755 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/cfba3993896d43719037f700e3cd6fe2_big.jpg" group-title="原创IP", 电视这个圈儿 +https://live.ottiptv.cc/douyu/9425669 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/46c17886371341bc8a97be079d0f6ed0_big.jpg" group-title="原创IP", 丽姐说电影 +https://live.ottiptv.cc/douyu/9437283 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202103/bccc75d50b854c1c8d8274bd1e4051bb_big.jpg" group-title="原创IP", 女神撩电影 +https://live.ottiptv.cc/douyu/9439594 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202009/6e2188364f224ad1904f6f6b50376e6c_big.jpg" group-title="原创IP", BuriedAlien的号 +https://live.ottiptv.cc/douyu/9440728 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202105/b9a7a6042743438f9876c06f0a428baf_big.jpg" group-title="原创IP", 淼漫迷 +https://live.ottiptv.cc/douyu/9455567 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/88228cafa14541a1b83892383ff59718_big.jpg" group-title="原创IP", 11No巴蒂11 +https://live.ottiptv.cc/douyu/9455937 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202102/5bc15aa42aac42458dce0b522d4624cf_big.jpg" group-title="原创IP", SKYE魏 +https://live.ottiptv.cc/douyu/9460834 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/156abe9e3faa45d59550c111dbdea014_big.jpg" group-title="原创IP", 调侃贫道XIN版 +https://live.ottiptv.cc/douyu/9463586 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202101/4e17e5cc984043f3aa65fe9ac4355f4f_big.jpg" group-title="原创IP", 爱星影视 +https://live.ottiptv.cc/douyu/9476806 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/default/01_big.jpg" group-title="一起看", 大庆在农村 +https://live.ottiptv.cc/douyu/9477316 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202101/4cc262a5697f4a02b95e13ae0b156840_big.jpg" group-title="原创IP", 龙又z +https://live.ottiptv.cc/douyu/9477915 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202101/6e4fab053b3a42f78954cae1ace7aa81_big.jpg" group-title="原创IP", 醉我天涯zwty +https://live.ottiptv.cc/douyu/9479775 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202102/902c29e6e14e4b39b0fc9069cc43d73d_big.jpg" group-title="原创IP", W总动员 +https://live.ottiptv.cc/douyu/9480767 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202101/5707493bf0d74d39b1f52b284335a305_big.jpg" group-title="原创IP", 齐司礼 +https://live.ottiptv.cc/douyu/9481340 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202101/838ce067455f41e993fd3678c29c3dea_big.jpg" group-title="原创IP", 预言家Alice +https://live.ottiptv.cc/douyu/9483772 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202101/787976ac3df84b6ba0d462d8b2e77d9d_big.jpg" group-title="原创IP", 酉晨君 +https://live.ottiptv.cc/douyu/9484541 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202101/b2fb467c2d92452f8a201e53d468d6eb_big.jpg" group-title="原创IP", 我是阿树酱 +https://live.ottiptv.cc/douyu/9486020 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202101/cc023fa999b14c92813bdc0219994f37_big.jpg" group-title="原创IP", 乡村水龙 +https://live.ottiptv.cc/douyu/9486905 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202102/c2ec9e40c7e849308b0a8563a27b3fc8_big.jpg" group-title="原创IP", 华白雨 +https://live.ottiptv.cc/douyu/9495454 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202101/440562ceaab7404cb5c7f65dfb890e7f_big.jpg" group-title="原创IP", 一条正弦sin +https://live.ottiptv.cc/douyu/9497985 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/201912/34319943d8f146a2b16686f3a8716c71_big.jpg" group-title="原创IP", 大河庄一世繁华 +https://live.ottiptv.cc/douyu/9501548 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202101/6af865f918f54337bf476beaaf891a6c_big.jpg" group-title="原创IP", 金渐层沈同学 +https://live.ottiptv.cc/douyu/9516467 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202102/3e36f22b2d3c46778601188ea293b126_big.jpg" group-title="原创IP", 秦看番 +https://live.ottiptv.cc/douyu/9542832 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202102/96e1af7cc6944a3f9e652e15faca2476_big.jpg" group-title="原创IP", 娱乐新番 +https://live.ottiptv.cc/douyu/9564845 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202102/9290e7ab722249e8a5fe530bb3d56f8f_big.jpg" group-title="原创IP", 本主儿 +https://live.ottiptv.cc/douyu/9565677 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/032/11/74/63_avatar_big.jpg" group-title="原创IP", TFBOYS饭团 +https://live.ottiptv.cc/douyu/9565765 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202102/18c46ef347754f3e99dbf2a9e98cf397_big.jpg" group-title="原创IP", WANJINNY +https://live.ottiptv.cc/douyu/9567755 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202102/599116074aec495b94a705b658e5a637_big.jpg" group-title="原创IP", 是chshh +https://live.ottiptv.cc/douyu/9570579 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202102/5467d09e6cd44b2a8f81271b178725bb_big.jpg" group-title="原创IP", 天堂电影1895 +https://live.ottiptv.cc/douyu/9573592 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202103/8c242b223f3f4a60bcaeb1ac4f264765_big.jpg" group-title="原创IP", 木JJ +https://live.ottiptv.cc/douyu/9575463 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202102/e853666bb8094bcaa070ceab10fda806_big.jpg" group-title="原创IP", 小太V +https://live.ottiptv.cc/douyu/9606954 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202102/1dab5c2f064b4b95839bc7276a751b11_big.jpg" group-title="原创IP", 然续续 +https://live.ottiptv.cc/douyu/9609171 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202103/ee370b558eec40d48b125068b04fb7ed_big.jpg" group-title="原创IP", fans圈娱乐 +https://live.ottiptv.cc/douyu/9630581 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202103/4ee1b4ac84f646739887c30f5ffe4e92_big.jpg" group-title="原创IP", 满汉女神Yangqi +https://live.ottiptv.cc/douyu/9650246 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202002/d69f02834bc7405c98f0cda47526cb4d_big.jpg" group-title="原创IP", 尚大人OwO +https://live.ottiptv.cc/douyu/9656124 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202103/318801d929844bac8d74d7fa8c2856e6_big.jpg" group-title="原创IP", Bella贝拉酱 +https://live.ottiptv.cc/douyu/9663084 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202011/bc85a174faa248cd8fb42c294573de74_big.jpg" group-title="原创IP", 小浅说电影 +https://live.ottiptv.cc/douyu/9665834 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202103/6804559e9b8b4603bbdaa9e0a1918022_big.jpg" group-title="原创IP", 是纯洁上校 +https://live.ottiptv.cc/douyu/9666042 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202003/e8e9ecc27ecb4be3aedaeb584ab18a8f_big.jpg" group-title="原创IP", 冷君聊大片 +https://live.ottiptv.cc/douyu/9666219 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202104/bce1e62cd655416cb60d1b96b31f6a02_big.jpg" group-title="原创IP", 灵佑奇谈 +https://live.ottiptv.cc/douyu/9678207 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202104/3951a701afc940fa9c5005f56a6f37bd_big.jpg" group-title="原创IP", 小刚学长o +https://live.ottiptv.cc/douyu/9701497 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202104/405019f7702949749e49b73d70ba5576_big.jpg" group-title="原创IP", 鲁过一世 +https://live.ottiptv.cc/douyu/9716515 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202103/b84ff49da62e480a8d04ac77063d9400_big.jpg" group-title="原创IP", 大帅比陈雅楠 +https://live.ottiptv.cc/douyu/9718700 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202104/52e998b001c2425d8d3f05b5131d314f_big.jpg" group-title="原创IP", 柠柠柠萌菌 +https://live.ottiptv.cc/douyu/9720895 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202104/a0604a201d1746e983a5436f2d0e4cd2_big.jpg" group-title="原创IP", 杰克大魔王V +https://live.ottiptv.cc/douyu/9729740 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202108/791cf332c1f845d1a315869704d7d860_big.jpg" group-title="原创IP", 猫叔说电影 +https://live.ottiptv.cc/douyu/9820039 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202106/3a69b8c42b784d0da7dca2f244c24d78_big.jpg" group-title="原创IP", 乡间大路上 +https://live.ottiptv.cc/douyu/9850661 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202106/8940b1053ce64a31be6f01ba630464f4_big.jpg" group-title="原创IP", 老王追剧吧 +https://live.ottiptv.cc/douyu/9937291 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avanew/face/201803/10/12/0f780148170d5d666c0e06099fbdd0bd_big.jpg" group-title="原创IP", 一朵老香菇解说 +https://live.ottiptv.cc/douyu/10050914 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/default/21_big.jpg" group-title="原创IP", 台球帝 +https://live.ottiptv.cc/douyu/10078171 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202108/adfb125a035648ea820b04a9b273e4c6_big.jpg" group-title="原创IP", 冒人疯影视 +https://live.ottiptv.cc/douyu/10115758 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202108/56847ea820b84c21a1a96da15d78e4d4_big.jpg" group-title="原创IP", 同同电影 +https://live.ottiptv.cc/douyu/10155359 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202109/0873ba35e0f84361946069161414d67e_big.jpg" group-title="原创IP", 野生岛民 +https://live.ottiptv.cc/douyu/10217843 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202110/905a36f29c864fadbab39aab7cca3a9b_big.jpg" group-title="一起看", CmoStar +https://live.ottiptv.cc/douyu/10282256 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202110/35029a3bee954c7f9ada657a391a3369_big.jpg" group-title="原创IP", 曹小灵比比叨 +https://live.ottiptv.cc/douyu/10289400 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202110/70109e3964714a3d8f9f2beace9136ce_big.jpg" group-title="原创IP", 大笑影院 +https://live.ottiptv.cc/douyu/10329300 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202110/a69c7cb224e142a0a7b7ca4f7fdbe523_big.jpg" group-title="原创IP", 开心逛剧场 +https://live.ottiptv.cc/douyu/10329310 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/default/14_big.jpg" group-title="原创IP", 剧燃有趣 +https://live.ottiptv.cc/douyu/10329702 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/default/14_big.jpg" group-title="原创IP", 说笑武林 +https://live.ottiptv.cc/douyu/10329706 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202111/436d106d053b452da65bb1d0e1df96c9_big.jpg" group-title="原创IP", 喜人电影 +https://live.ottiptv.cc/douyu/10348735 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202111/0cf34ff3b8c942b4b471d0fbe205e533_big.jpg" group-title="原创IP", 立秋动画 +https://live.ottiptv.cc/douyu/10351891 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202202/9ad475948d6249dbb0498b6355a6472e_big.jpg" group-title="原创IP", 大魔王说游 +https://live.ottiptv.cc/douyu/10415661 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202506/ff38063ef4b4433cb701ad3c7e9705c3_big.jpg" group-title="原创IP", 冬熊零食铺 +https://live.ottiptv.cc/douyu/10586105 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202204/8c49090cabc54b2c8e7be81ba85b8361_big.jpg" group-title="一起看", Acer丶宏正 +https://live.ottiptv.cc/douyu/10670244 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202110/8e7fd2e2859e4740bde2c7b488b1c75e_big.jpg" group-title="一起看", 易说影视 +https://live.ottiptv.cc/douyu/10859591 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202207/9f798d71899443f1b0aed4a5c8844a79_big.jpg" group-title="一起看", 喵喵喵的猫酱酱 +https://live.ottiptv.cc/douyu/11179077 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202404/62a76978a86c4b629b2413b7729dd5d7_big.jpg" group-title="一起看", 湖南花戏 +https://live.ottiptv.cc/douyu/12091975 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202112/229f48eebf39435b950ceb88071a24ff_big.jpg" group-title="原创IP", 巅峰球迷会 +https://live.ottiptv.cc/douyu/10417360 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/default/09_big.jpg" group-title="原创IP", 懂懂1234 +https://live.ottiptv.cc/douyu/8729614 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/201908/e3e087663472432f9fb0689d0079e0e0_big.jpg" group-title="原创IP", 张宇394795 +https://live.ottiptv.cc/douyu/7508566 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202009/48ea73204c984397a998c64806495520_big.jpg" group-title="原创IP", LOUIS樱 +https://live.ottiptv.cc/douyu/9235284 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202003/fc1cc90dbac14e08b6895bfd4b09a8f8_big.jpg" group-title="原创IP", 安琪儿的羽翼 +https://live.ottiptv.cc/douyu/9388783 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202109/ddba3d5ace034677be4efbac3f25d325_big.jpg" group-title="原创IP", 正宗吔汁吔树牌 +https://live.ottiptv.cc/douyu/10217953 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202104/2a0c591b2a9e4ddfb6251b670aa9690e_big.jpg" group-title="原创IP", 罗叔说戏 +https://live.ottiptv.cc/douyu/9788756 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202101/8fd2ba1ebdbc4ef798cef88651bf0018_big.jpg" group-title="原创IP", 杨山羊goat +https://live.ottiptv.cc/douyu/6300365 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202102/d86bc88b1b044ffea4a3b0bb28f8240f_big.jpg" group-title="原创IP", 王子和史蒂文 +https://live.ottiptv.cc/douyu/9583975 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202111/1c29bc7814e249f9b21aff8b4fc26262_big.jpg" group-title="原创IP", 天才霸总的狐崽崽 +https://live.ottiptv.cc/douyu/10394922 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202006/a1402c89074b41cc883f596f43702034_big.jpg" group-title="原创IP", 马老师是马也Sama +https://live.ottiptv.cc/douyu/8821892 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202003/d75f84554e7047149883af0afb97edea_big.jpg" group-title="原创IP", 甜粉粉的旅人呀 +https://live.ottiptv.cc/douyu/7335280 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/default/08_big.jpg" group-title="原创IP", 星空茶茶 +https://live.ottiptv.cc/douyu/8635497 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202005/2cd7b2d8234940429644b95d4461a51c_big.jpg" group-title="原创IP", Fatal飞雪 +https://live.ottiptv.cc/douyu/8813596 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202106/f63a04e61bdc489b9363598fbd6fc4a2_big.jpg" group-title="原创IP", 阿坤在努力 +https://live.ottiptv.cc/douyu/9407329 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/5eac43c85e104f099a11bef6b80bc690_big.jpg" group-title="原创IP", UP主DJC +https://live.ottiptv.cc/douyu/9429545 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202011/239d7e600b7e45b0a139076c3f2366fc_big.jpg" group-title="原创IP", 王Li差点红 +https://live.ottiptv.cc/douyu/9348469 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202006/2453876f17a24160a0c3275c2ab7fe16_big.jpg" group-title="原创IP", 阿松撩剧 +https://live.ottiptv.cc/douyu/8880843 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202106/1659ee50392d4a20b2b54151c938079d_big.jpg" group-title="原创IP", SH11N +https://live.ottiptv.cc/douyu/9650451 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202011/51046d13ba6642698ecaf5dea75c55e2_big.jpg" group-title="原创IP", 律子桑 +https://live.ottiptv.cc/douyu/9371308 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202106/90aa1f611cab4c7f8b5c00f93853c358_big.jpg" group-title="原创IP", 维塔利在野外 +https://live.ottiptv.cc/douyu/9804068 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202108/afb82df891974045a64eefab3c1f2771_big.jpg" group-title="原创IP", 书岳钓鱼 +https://live.ottiptv.cc/douyu/10100206 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/default/04_big.jpg" group-title="一起看", 羊小川 +https://live.ottiptv.cc/douyu/11081842 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202003/2bd62a0e288d4a4c94e4b57a3d6ffa26_big.jpg" group-title="原创IP", 神烦xp +https://live.ottiptv.cc/douyu/8286679 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202006/5492e66e8bde4fa1986e22f71ca4d960_big.jpg" group-title="原创IP", 周六野Zoey +https://live.ottiptv.cc/douyu/8912150 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202105/f34d156a8e5a454e8af58d9bcbbc83fc_big.jpg" group-title="原创IP", 赤焰男孩 +https://live.ottiptv.cc/douyu/9835644 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202005/f9e9890de62c4a67aa57ff8dad066567_big.jpg" group-title="原创IP", 天才简史 +https://live.ottiptv.cc/douyu/8662915 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202009/80c0bc3372eb480cbdbdb99af5b53aa7_big.jpg" group-title="原创IP", 篮球小人物 +https://live.ottiptv.cc/douyu/9184257 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202009/8d2ab1c50c784c9eb9589a0bb6d280a1_big.jpg" group-title="原创IP", 果冻lui +https://live.ottiptv.cc/douyu/9191790 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202108/5eb404afc7ce480eb65b4c0bcbec6556_big.jpg" group-title="原创IP", 天JIANG +https://live.ottiptv.cc/douyu/9455480 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202101/f3c85a11e15a4f3b91749de0f558b692_big.jpg" group-title="原创IP", 渚岸汐潮233 +https://live.ottiptv.cc/douyu/9518082 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202407/ad089faa82fb4e6e87118b2d29ed17ef_big.jpg" group-title="一起看", 逐梦电影 +https://live.ottiptv.cc/douyu/4058285 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202309/93ef02923f16476dbd36f5222fb21c51_big.jpg" group-title="原创IP", 火宗君丶 +https://live.ottiptv.cc/douyu/9580477 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202210/efc578050c6b4a949fb16b2ff185377b_big.jpg" group-title="原创IP", 小木鱼de妈妈 +https://live.ottiptv.cc/douyu/11199147 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202006/7b38c1d9a9744063be1d68fc8b4682f6_big.jpg" group-title="原创IP", SAO东西又再说SAO话 +https://live.ottiptv.cc/douyu/8833450 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202111/fb5b7a53884d4dd8a29f926eaf88a65b_big.jpg" group-title="原创IP", 我是一只粽子啊啊 +https://live.ottiptv.cc/douyu/8867276 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202005/b9a60ecd23574764a00137fb657912a9_big.jpg" group-title="原创IP", 关云猖 +https://live.ottiptv.cc/douyu/8820996 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/default/04_big.jpg" group-title="原创IP", 电影吐槽汇 +https://live.ottiptv.cc/douyu/9447668 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202004/e07416d29201477ab35d37ff122e28c1_big.jpg" group-title="原创IP", 热星音乐菌 +https://live.ottiptv.cc/douyu/8405922 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202009/d2eefbc60ad04c8f80a50b232b12616a_big.jpg" group-title="原创IP", 迷影至下Filmlast +https://live.ottiptv.cc/douyu/9187596 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/default/12_big.jpg" group-title="一起看", 主播拍个肚皮 +https://live.ottiptv.cc/douyu/9387499 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avanew/face/201707/26/17/fea3c5af6cfcc36186ef9301c25acef4_big.jpg" group-title="原创IP", 文曰小强 +https://live.ottiptv.cc/douyu/2680501 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202004/fedff8a8d2db4150a954c067faedc111_big.jpg" group-title="原创IP", 话很多的小姐姐们 +https://live.ottiptv.cc/douyu/8611011 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202005/f3ba4d2e1bc9470493be713c024b9de5_big.jpg" group-title="原创IP", 励志少年派 +https://live.ottiptv.cc/douyu/8700367 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202005/88902b16c469402f90033e4abe98ee6e_big.jpg" group-title="原创IP", 八月看大片 +https://live.ottiptv.cc/douyu/8816671 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202009/45db47a8c16149ee8707ed2194b975f0_big.jpg" group-title="原创IP", MJ小林大人嗷 +https://live.ottiptv.cc/douyu/9204381 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202011/40938674be84418eb5cc5e3fb75bb866_big.jpg" group-title="原创IP", 汪哥说电影 +https://live.ottiptv.cc/douyu/9312685 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202103/bca4268acee241fdb1b6d545f7f63f90_big.jpg" group-title="原创IP", 小铁房乐队 +https://live.ottiptv.cc/douyu/9624976 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avanew/face/201801/12/20/df44df3b973e86dfdbf51871a9143197_big.jpg" group-title="一起看", 血腥丶妖瞳 +https://live.ottiptv.cc/douyu/4231787 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202008/2b8f6835ea6f4dbcaaefba5c24c02a1f_big.jpg" group-title="原创IP", 石头老纪 +https://live.ottiptv.cc/douyu/9047060 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202101/74129d3d23814e8a81c4c7110ce7314f_big.jpg" group-title="原创IP", 婧公子 +https://live.ottiptv.cc/douyu/9464182 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/d3a51ef0a1094fc1a28870b9b788350d_big.jpg" group-title="原创IP", 小羊放映室 +https://live.ottiptv.cc/douyu/9433806 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202006/bd44144ecbc64df7a02f58abdeb238e8_big.jpg" group-title="原创IP", 北大落说大片 +https://live.ottiptv.cc/douyu/8828811 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202006/e607973ac6114aa4aa33f4110a51e99e_big.jpg" group-title="原创IP", 据说放映室 +https://live.ottiptv.cc/douyu/8837964 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202104/84dacb23f97c4e0d99173bd26baa5e61_big.jpg" group-title="原创IP", 电影冷知识 +https://live.ottiptv.cc/douyu/9660835 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/face/201605/c6d552bcd4b0616184b14318b4b55182_big.jpg" group-title="一起看", xiaoxiao1004 +https://live.ottiptv.cc/douyu/2569874 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avanew/face/201708/22/14/b98c2ed94f345932344dcd6c9daf7c18_big.jpg" group-title="原创IP", 吟笑派 +https://live.ottiptv.cc/douyu/2987100 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202103/73b16aa58dc745f3ac49a725540a322f_big.jpg" group-title="原创IP", 言官有本 +https://live.ottiptv.cc/douyu/9660124 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202106/7d3a65ab993142a9a676fdd246b74ec0_big.jpg" group-title="原创IP", 野格影视 +https://live.ottiptv.cc/douyu/9931766 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202102/31684f84aaa54e069d134e70e46f3ecd_big.jpg" group-title="原创IP", 桃红梨白专栏 +https://live.ottiptv.cc/douyu/9568196 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202102/7565232fd21840999491c0acdbb81d4d_big.jpg" group-title="原创IP", 博然讲电影 +https://live.ottiptv.cc/douyu/9561992 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/99c9757ff46c42ee97fe02a9006626cb_big.jpg" group-title="原创IP", 山里记 +https://live.ottiptv.cc/douyu/9410236 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/309611b31a354e419653ea1f8190986a_big.jpg" group-title="原创IP", 龙大人不喷火zZ +https://live.ottiptv.cc/douyu/9437298 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/416d66d4880346a6b43ca63f6412bd0d_big.jpg" group-title="原创IP", 永无叙V +https://live.ottiptv.cc/douyu/9442980 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/201808/b138b678b354eda98fa065a27093d9a1_big.jpg" group-title="原创IP", 追寻那解不开的问题 +https://live.ottiptv.cc/douyu/5727066 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202008/2e695cd740e141bbae0e99bc29d342cb_big.jpg" group-title="原创IP", 鸡腿子软糖 +https://live.ottiptv.cc/douyu/8695854 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202112/b9dab658e9584677b28145a067dbb6d8_big.jpg" group-title="原创IP", 德井鱼 +https://live.ottiptv.cc/douyu/9184833 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202011/3bc8d38e162d4c679e153428e78ef771_big.jpg" group-title="原创IP", 小青放映社 +https://live.ottiptv.cc/douyu/9314689 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202101/86fbe0b4be404510badd23ab2b037321_big.jpg" group-title="原创IP", 小鹏漫剪 +https://live.ottiptv.cc/douyu/9476810 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/default/13_big.jpg" group-title="原创IP", 龙视开心麻花街 +https://live.ottiptv.cc/douyu/9374862 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/default/04_big.jpg" group-title="原创IP", 爱讲神话的小志 +https://live.ottiptv.cc/douyu/9495613 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202103/2376183980ca4d5e832e9aa1f98376bd_big.jpg" group-title="原创IP", 一只魔玩 +https://live.ottiptv.cc/douyu/9606281 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/201809/891d12ec2f0392374e5d74ec0a58da03_big.jpg" group-title="原创IP", 飞行员欧文讲故事 +https://live.ottiptv.cc/douyu/9678790 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202104/694f49898e34439186c2bfdeee9209a4_big.jpg" group-title="原创IP", 李会长街溜子 +https://live.ottiptv.cc/douyu/9741805 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202003/b9098985359a4cd3bc4004c8ea4e90f5_big.jpg" group-title="原创IP", 小乔讲电影 +https://live.ottiptv.cc/douyu/8413908 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202006/91c6ec5da8324cb9820b1f2962912342_big.jpg" group-title="原创IP", 目及WATCHER +https://live.ottiptv.cc/douyu/8712204 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202101/79549e3fe0c442b7844ec157a39b77ac_big.jpg" group-title="原创IP", 微笑影视解说 +https://live.ottiptv.cc/douyu/9476790 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/ddef1c1f6c974cecaad0cfc5b3092854_big.jpg" group-title="原创IP", 侃片黑菠萝 +https://live.ottiptv.cc/douyu/5803764 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202010/e40cc2e0e80242b494ef4a9408504d52_big.jpg" group-title="原创IP", 喵妹说电影 +https://live.ottiptv.cc/douyu/9312432 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202105/31cb071178c249a2b0b20d9f47f433d3_big.jpg" group-title="原创IP", 庆皇龙利余 +https://live.ottiptv.cc/douyu/9524210 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202004/864f10d3010e44e689f405053bf39c25_big.jpg" group-title="原创IP", 喝水少年孙十一 +https://live.ottiptv.cc/douyu/9619048 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202104/6e4e6b3376c54558aeeabe994be8d55c_big.jpg" group-title="原创IP", 训练师十六 +https://live.ottiptv.cc/douyu/9721338 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/default/09_big.jpg" group-title="原创IP", 夏日幻听MCE +https://live.ottiptv.cc/douyu/9546437 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/201905/977f430edf5d0297d374b1cd207a7847_big.jpg" group-title="一起看", 咸鱼翻身是另一面咸鱼 +https://live.ottiptv.cc/douyu/527076 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/1624bf58354343e387c36806a32e4eb4_big.jpg" group-title="原创IP", 一颗糖糖canddy +https://live.ottiptv.cc/douyu/9192852 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202008/9c725e882b9e474cbf863609024066fc_big.jpg" group-title="原创IP", py86阿 +https://live.ottiptv.cc/douyu/8849954 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202101/8d35667edda743768cb7882b01f2fb6c_big.jpg" group-title="原创IP", 黑衣陌秦mq +https://live.ottiptv.cc/douyu/9559308 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/5a57e546b2b14d2d9ba390d6305b8f0c_big.jpg" group-title="原创IP", 沉郁观影 +https://live.ottiptv.cc/douyu/9393577 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202004/28aca137d8a24f87ab27be79d02359a7_big.jpg" group-title="原创IP", 喵来啦V +https://live.ottiptv.cc/douyu/8657669 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/default/05_big.jpg" group-title="原创IP", 神奇的老皮AmazingLP +https://live.ottiptv.cc/douyu/8891285 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/a02b68316e624011ae3bb23eabafe3a9_big.jpg" group-title="原创IP", 蓝星人一ET +https://live.ottiptv.cc/douyu/9431727 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202101/b6bb0e57b864432ba1a1ff0d9ab33ed2_big.jpg" group-title="原创IP", 幕撩电影 +https://live.ottiptv.cc/douyu/9486015 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202102/dcdb20afff874193a1e59a7e4d5e5b9c_big.jpg" group-title="原创IP", 蓝光乐队 +https://live.ottiptv.cc/douyu/9572351 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202208/810229d945bc49e6a8b22ea332d5a114_big.jpg" group-title="一起看", 微梦屋 +https://live.ottiptv.cc/douyu/7027040 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/6fd60c0fef4b42a1a73ffe1575ed0fa1_big.jpg" group-title="原创IP", 王德发的导演小阿伟 +https://live.ottiptv.cc/douyu/9430799 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/930762d7d4c14e9c89fc2256da69cccd_big.jpg" group-title="原创IP", 少女娜娜酱 +https://live.ottiptv.cc/douyu/9445557 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202101/5d138d198a7b48cea8a5135ba435a9e7_big.jpg" group-title="原创IP", Devil青酱 +https://live.ottiptv.cc/douyu/9510544 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202101/ccb9f13bf77a4c3dae0ddf398695cb37_big.jpg" group-title="原创IP", 御前狼王顾云川 +https://live.ottiptv.cc/douyu/9517289 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202006/f320b865ab0347689e9c16bee32f7a2d_big.jpg" group-title="原创IP", 9iota +https://live.ottiptv.cc/douyu/8881729 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202006/29d441abd82f480a80ed8abaf448cd2d_big.jpg" group-title="原创IP", 小手枪Newhandgun +https://live.ottiptv.cc/douyu/8943060 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202101/d9153047911049e583fa7bff1312db57_big.jpg" group-title="原创IP", 三新动漫 +https://live.ottiptv.cc/douyu/9548279 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202102/933183e0408d49b79c9a74247e3eea49_big.jpg" group-title="原创IP", 到远方旅行 +https://live.ottiptv.cc/douyu/9614588 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202007/175fe39c3e2a4380ab82855c9b2b6746_big.jpg" group-title="原创IP", 和猫住丶 +https://live.ottiptv.cc/douyu/850030 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202006/07f696d09f99435e9e8811520d1b0f9a_big.jpg" group-title="原创IP", 学徒郭昱麟 +https://live.ottiptv.cc/douyu/8871095 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/default/04_big.jpg" group-title="原创IP", 翦瞳秋 +https://live.ottiptv.cc/douyu/9623057 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202111/8228b84838d440dfa95af2559850a781_big.jpg" group-title="原创IP", 屿风体育 +https://live.ottiptv.cc/douyu/10329889 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202008/4e2558e0f0ba40149ebdce834d3a531b_big.jpg" group-title="一起看", 芒果酱Mangoo +https://live.ottiptv.cc/douyu/138959 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202103/f4a894365e114b00aa15c43e43b9d741_big.jpg" group-title="原创IP", 阿木讲电影 +https://live.ottiptv.cc/douyu/532050 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202009/1282f03f5d1345afb3ff09fde11a3fbe_big.jpg" group-title="原创IP", mad葉月Mashiro灬 +https://live.ottiptv.cc/douyu/9192932 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202005/24ab9e449f8f4bad967053e87228ca0e_big.jpg" group-title="原创IP", 莱纳电影 +https://live.ottiptv.cc/douyu/9356937 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202105/59f31b41e5e9407ca7250ec4a6b30fd2_big.jpg" group-title="原创IP", 17号说动漫 +https://live.ottiptv.cc/douyu/9822277 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202108/9ae3763245d04fe79cd871e8031f4b5f_big.jpg" group-title="原创IP", 乌拉吖有剧 +https://live.ottiptv.cc/douyu/10075154 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avanew/face/201806/qi4n32sc4cbsiht3174xk586wlixmg3n_big.jpg" group-title="原创IP", 管哥视频 +https://live.ottiptv.cc/douyu/10181584 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202005/bdfff53eba7f4f9685a27df8da5315f8_big.jpg" group-title="原创IP", 压力洋哥 +https://live.ottiptv.cc/douyu/5297259 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202004/77f613dec1f247a899a60d5a0d212f20_big.jpg" group-title="原创IP", 萌宠妙妙屋 +https://live.ottiptv.cc/douyu/8653533 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/default/07_big.jpg" group-title="原创IP", 老电影故事 +https://live.ottiptv.cc/douyu/9167273 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202011/7034a034d4e6468e8518d098a199a22e_big.jpg" group-title="原创IP", 俄罗斯女孩安娜 +https://live.ottiptv.cc/douyu/9314604 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202011/4b2fb2b1446d4d2897ad9d8f2ad4d6d4_big.jpg" group-title="原创IP", 正直的陈易 +https://live.ottiptv.cc/douyu/9365118 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/aa5d32c0cb31444bbaec4526f35e7a73_big.jpg" group-title="原创IP", 小黑豹子啊 +https://live.ottiptv.cc/douyu/9458184 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202101/4c531920b804471882fd3d45e8c7395a_big.jpg" group-title="原创IP", 心叽酱 +https://live.ottiptv.cc/douyu/9488056 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/201909/a66e8285c10c4416967bf92c284746a3_big.jpg" group-title="原创IP", 西施撩电影 +https://live.ottiptv.cc/douyu/7532080 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202107/5d6c1395c02d4e6995a6b2259f725da2_big.jpg" group-title="原创IP", 画渣花小烙 +https://live.ottiptv.cc/douyu/9072066 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202011/7008c5a158994707ba4d275434267d29_big.jpg" group-title="原创IP", 麦绿素dustdream +https://live.ottiptv.cc/douyu/9336437 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202103/036c301acc7e46acb8ddba5686ff052a_big.jpg" group-title="原创IP", 流心影者 +https://live.ottiptv.cc/douyu/9447717 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202101/233b5eb64f194b28b8f34bc53e308442_big.jpg" group-title="原创IP", 夙瑶瑾 +https://live.ottiptv.cc/douyu/9450568 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202104/323c63a67a1f4a8e96759b8b17f8b85e_big.jpg" group-title="原创IP", 荒野动物园 +https://live.ottiptv.cc/douyu/9663833 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202108/74a1d6baaf824fcd82197028cc12bf5a_big.jpg" group-title="原创IP", 咕噜咕噜剧 +https://live.ottiptv.cc/douyu/10082307 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202101/434c45d6d55944f4b1dcb1eb9417e542_big.jpg" group-title="原创IP", 血小板呐呐 +https://live.ottiptv.cc/douyu/4285043 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/43c31526c6f74a119cc8d2658563327b_big.jpg" group-title="原创IP", 怪味爆米花电影 +https://live.ottiptv.cc/douyu/9422144 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/b624612d90fb47349090d686aa3d7c48_big.jpg" group-title="原创IP", 大壮撞电影 +https://live.ottiptv.cc/douyu/9437349 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202101/9dc387da1013499e95b46c43767e8ca9_big.jpg" group-title="原创IP", 周墨看电影 +https://live.ottiptv.cc/douyu/9505584 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202202/52d6d24bb01f452cbf9c5017d01fe2cd_big.jpg" group-title="原创IP", 育碧先生v +https://live.ottiptv.cc/douyu/9505962 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202103/cca40ed64ea94ced878d6b80564bcd83_big.jpg" group-title="原创IP", 政宗君de情敵 +https://live.ottiptv.cc/douyu/9624330 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/001/51/21/16_avatar_big.jpg" group-title="原创IP", 快乐的小波子 +https://live.ottiptv.cc/douyu/9039399 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/070a2e5dea4049d185f7a2e2bf84c691_big.jpg" group-title="原创IP", 王坑坑聊电影 +https://live.ottiptv.cc/douyu/9402110 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202108/b619c03efd174ba582ca06362000517b_big.jpg" group-title="原创IP", 同行渔猎笔记 +https://live.ottiptv.cc/douyu/2718202 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avanew/face/201709/01/13/2ae4b90356c22350c13ac812508fe347_big.jpg" group-title="原创IP", 超wu的大白兔 +https://live.ottiptv.cc/douyu/2925299 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/b60da0f2734b4f94ad820dbc7c66401f_big.jpg" group-title="原创IP", 我是YOLO啊 +https://live.ottiptv.cc/douyu/5077166 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202006/324ad02ee2384119b000251187c9667c_big.jpg" group-title="原创IP", 阿成漫漫看 +https://live.ottiptv.cc/douyu/8799435 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202011/9d94547788d14321bcb65be758d10152_big.jpg" group-title="原创IP", 小爱看大片 +https://live.ottiptv.cc/douyu/9312805 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avanew/face/201706/09/21/c790691e499e024f78fc78ff8a6fd7ab_big.jpg" group-title="原创IP", KUMA轻松熊博士 +https://live.ottiptv.cc/douyu/2282604 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202105/73322f79a5564eb7830500faa4565e33_big.jpg" group-title="原创IP", KyoKyo不是QQ +https://live.ottiptv.cc/douyu/4732337 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202007/ea0a1014ffba4774b62cac5dc1e5d361_big.jpg" group-title="原创IP", 阿依图娜 +https://live.ottiptv.cc/douyu/9047046 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/063ee2325cd744158b87dca5968c7b05_big.jpg" group-title="原创IP", 孙毛毛Suny +https://live.ottiptv.cc/douyu/9424103 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/b5c501240232405fa94f76fb9c7a2ee8_big.jpg" group-title="原创IP", 影子叔V +https://live.ottiptv.cc/douyu/9446338 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202102/a1da97ba85d14137bf99831dbde94d94_big.jpg" group-title="原创IP", 忆暄Ethan +https://live.ottiptv.cc/douyu/9570042 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202104/e91af4cd550e46f0bc7ec74929b3df07_big.jpg" group-title="原创IP", 无际电影 +https://live.ottiptv.cc/douyu/9720498 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202105/434f0b27ce804121a15a4f806cbe4664_big.jpg" group-title="一起看", 大米饭影视 +https://live.ottiptv.cc/douyu/9824094 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202007/cad7da6c102b49a499c6dbdb7c5b898d_big.jpg" group-title="原创IP", 腹黑电影 +https://live.ottiptv.cc/douyu/8867878 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/a5220b42d3a645cdb22072b9cef1b519_big.jpg" group-title="原创IP", 阿魁方言配音 +https://live.ottiptv.cc/douyu/9442903 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/019/71/70/07_avatar_big.jpg" group-title="一起看", 伊西wind +https://live.ottiptv.cc/douyu/12641373 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/023/86/88/56_avatar_big.jpg" group-title="一起看", ljgdy +https://live.ottiptv.cc/douyu/1600769 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202202/d737752235144a3a8eebe4f6c9769227_big.jpg" group-title="一起看", 美人而已 +https://live.ottiptv.cc/douyu/5138817 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202006/297b8ff7cb434610b4ed05cc38858a85_big.jpg" group-title="原创IP", 百态人间大赏 +https://live.ottiptv.cc/douyu/8724904 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202101/543d9b86c61341a4b7db7b232f8008db_big.jpg" group-title="原创IP", 国士无双人物传奇 +https://live.ottiptv.cc/douyu/9544555 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202104/04e5a689670e4dadae761937ab162699_big.jpg" group-title="原创IP", 没腿毛的哥哥 +https://live.ottiptv.cc/douyu/9720447 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202010/7872480adf304698858434f0a9ea6752_big.jpg" group-title="原创IP", 竹公子有礼了 +https://live.ottiptv.cc/douyu/8887432 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202011/cbd61016f2e74bb3a0e1ab23ee17f375_big.jpg" group-title="原创IP", 阳仔骑行 +https://live.ottiptv.cc/douyu/9329185 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/default/04_big.jpg" group-title="原创IP", 当下频道 +https://live.ottiptv.cc/douyu/9389239 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202101/7313e6aab4aa4895b4115fde847970ab_big.jpg" group-title="原创IP", 外卖仙人成天 +https://live.ottiptv.cc/douyu/9498506 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202107/201341b6d88a4f99862d026c47b8e185_big.jpg" group-title="原创IP", 龙哥盘电影 +https://live.ottiptv.cc/douyu/9736161 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202111/075c829abc2d4a47b936fc478dffdb6b_big.jpg" group-title="原创IP", 阿九筒的春天 +https://live.ottiptv.cc/douyu/3705679 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202110/1be61689e1954fb09a6068f78365ec6a_big.jpg" group-title="一起看", 箩卜君 +https://live.ottiptv.cc/douyu/7495810 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202009/c89b72bde4a74dd8a87a41b8d14559e0_big.jpg" group-title="原创IP", Starshine刹那 +https://live.ottiptv.cc/douyu/9191006 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202103/2c75dc9a491447739565d7090c2a47d3_big.jpg" group-title="原创IP", 吾恩5nn +https://live.ottiptv.cc/douyu/9631914 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202212/ad4466e415f34f2b8d2929ca6434b9fa_big.jpg" group-title="原创IP", 咸车 +https://live.ottiptv.cc/douyu/9498554 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202101/a2493abf7977466794848559d696be38_big.jpg" group-title="原创IP", 蛋黄讲动漫 +https://live.ottiptv.cc/douyu/9542834 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202103/def013e459044e7f8e6a8cf2a74af549_big.jpg" group-title="原创IP", 中二大帝妮可姬 +https://live.ottiptv.cc/douyu/9612400 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202103/18eee807eca14f18831dc43289b22260_big.jpg" group-title="原创IP", 海男Rexv +https://live.ottiptv.cc/douyu/9626732 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202106/ab1951fc1c824f6ab4c9228d765f2c6c_big.jpg" group-title="原创IP", 话龙电竞 +https://live.ottiptv.cc/douyu/9957571 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/default/17_big.jpg" group-title="原创IP", 见世君V +https://live.ottiptv.cc/douyu/10220896 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avanew/face/201703/04/09/381896681122099960c20e9da74db65c_big.jpg" group-title="一起看", 有趣视频分享 +https://live.ottiptv.cc/douyu/1816353 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202006/ef5f7c63cad943b889002677112c5b65_big.jpg" group-title="原创IP", 珞珞说电影 +https://live.ottiptv.cc/douyu/3718888 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202004/acb0fc6d19364c92aba5a91bccf3a095_big.jpg" group-title="原创IP", 国际吸猫协会 +https://live.ottiptv.cc/douyu/8657834 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202009/b3fdbde2612e43778db8df9fa1e11aa1_big.jpg" group-title="原创IP", 羽翼天使的挽歌 +https://live.ottiptv.cc/douyu/9193179 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202011/8317f026f990405e91b297eb18075691_big.jpg" group-title="原创IP", 农村幺妹儿 +https://live.ottiptv.cc/douyu/9344884 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202104/07fe064281de4d2a84bb90798801fd7f_big.jpg" group-title="原创IP", Rabbit每日爆料 +https://live.ottiptv.cc/douyu/9685652 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/201904/24cbd8513bb1483e9d3b5c79ea2cf21d_big.jpg" group-title="原创IP", 凤起青云 +https://live.ottiptv.cc/douyu/749124 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202003/5632d3c5d19c4c82890c4be886dd684c_big.jpg" group-title="原创IP", 小儛电影嘚啵嘚 +https://live.ottiptv.cc/douyu/8362978 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202005/806d5a937ae14e25932c66530e2d079a_big.jpg" group-title="原创IP", 二哈讲电影 +https://live.ottiptv.cc/douyu/8778280 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202009/ee36d21260434d5d9f3dfcb6a4cb57dd_big.jpg" group-title="原创IP", 功夫联盟2020 +https://live.ottiptv.cc/douyu/9169624 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202009/0530d8b538f74741a96dbdf3914c36f9_big.jpg" group-title="原创IP", 篮球之家老李 +https://live.ottiptv.cc/douyu/9170147 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202009/4f74797c884b428888d1133256c84f28_big.jpg" group-title="原创IP", 小三笠笠酱 +https://live.ottiptv.cc/douyu/9188696 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202101/4dc03f0afcad4bb2aeee8693fe6f7c69_big.jpg" group-title="原创IP", 我的超能力女友 +https://live.ottiptv.cc/douyu/9501159 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202102/7ac6843729af4c7c98f3351764efbc73_big.jpg" group-title="原创IP", MordonFreeman是谁 +https://live.ottiptv.cc/douyu/9524579 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avanew/face/201707/25/22/eb7085a44285cbe035c476773a4bfb6b_big.jpg" group-title="原创IP", 霹雳舞大叔 +https://live.ottiptv.cc/douyu/1528853 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202105/6772201eaa254f05a7982542d5b120f3_big.jpg" group-title="原创IP", 灯泡兄弟影游谈 +https://live.ottiptv.cc/douyu/1690081 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202203/3a28c7fb473a4ca696bfd82e7b5bb461_big.jpg" group-title="原创IP", 金枪娱 +https://live.ottiptv.cc/douyu/2798717 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/default/09_big.jpg" group-title="原创IP", AK萌虎 +https://live.ottiptv.cc/douyu/4049310 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/db7586e06ac94fb4b1ecabd06152273c_big.jpg" group-title="原创IP", 怠惰守夜 +https://live.ottiptv.cc/douyu/8842108 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/db722e047a9a4b2c9d49ad588937b73b_big.jpg" group-title="原创IP", 人类早期驯服 +https://live.ottiptv.cc/douyu/8892864 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/69f69fb5ebcf42f9a89f0e755fde144f_big.jpg" group-title="原创IP", 奇妙博物馆 +https://live.ottiptv.cc/douyu/9409723 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/default/19_big.jpg" group-title="原创IP", 丛林工程师 +https://live.ottiptv.cc/douyu/9804149 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202111/bb9865f34e1045bcbca3852811e4c913_big.jpg" group-title="原创IP", 荒野建筑指南 +https://live.ottiptv.cc/douyu/10226974 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202111/808278242b824af185ccb137d6f74017_big.jpg" group-title="原创IP", 唐人探影 +https://live.ottiptv.cc/douyu/10371561 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/029/08/20/90_avatar_big.jpg" group-title="原创IP", 涛哥测评 +https://live.ottiptv.cc/douyu/613850 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202011/54dff59a977a466a9258597859d2d3d0_big.jpg" group-title="原创IP", 阿忙赶海 +https://live.ottiptv.cc/douyu/9348876 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202201/dff93e22653f44af8311dfc574656d9c_big.jpg" group-title="原创IP", 屁屁鸭家族LOVE +https://live.ottiptv.cc/douyu/9461930 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202101/95d56dcdb89643c380fca2b98031a423_big.jpg" group-title="原创IP", 养狗的一浩 +https://live.ottiptv.cc/douyu/9478842 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202101/7c7da6d9ce134cd2b11e4574d893bdd4_big.jpg" group-title="原创IP", 鎏酸v +https://live.ottiptv.cc/douyu/9546016 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202101/225a79ce4a1142e59fd62ff9a3c0c73e_big.jpg" group-title="原创IP", 鑫酱盘动漫 +https://live.ottiptv.cc/douyu/9547575 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/42520dc0614c4cde90cc3597d8e00b67_big.jpg" group-title="原创IP", 流小豆 +https://live.ottiptv.cc/douyu/2441228 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202105/6860dcfa8fed411d8ecefe73e9dfddfc_big.jpg" group-title="原创IP", 双笙陈元汐 +https://live.ottiptv.cc/douyu/6476693 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202009/2e89df2cee3e4532aac1dbe0bc3f653b_big.jpg" group-title="原创IP", 噬元兽影视 +https://live.ottiptv.cc/douyu/8896723 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202007/48c6677e0dec42039e06623b572ef3ab_big.jpg" group-title="原创IP", 三斤呦 +https://live.ottiptv.cc/douyu/9047933 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202009/1e9226b053524d18849aa5035377d1db_big.jpg" group-title="原创IP", 山下智博official +https://live.ottiptv.cc/douyu/9186596 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202103/080a7f79b992414eb37a3b5e06f4a99f_big.jpg" group-title="原创IP", 北京大妈有话说er +https://live.ottiptv.cc/douyu/9440530 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/17ee0e4f3e7e41d390970a0b9a9a99f9_big.jpg" group-title="原创IP", 三七电影V +https://live.ottiptv.cc/douyu/9457792 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202101/d2ba10cf43a24ea4b6f044fe8cdb27d6_big.jpg" group-title="原创IP", Ethan清醒思考 +https://live.ottiptv.cc/douyu/9481151 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202101/b44462bcb1f742989e787dc670e07d83_big.jpg" group-title="原创IP", 戏晶SHOW +https://live.ottiptv.cc/douyu/9565130 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202103/ff9cebef72204084abbe44d5db1410dd_big.jpg" group-title="原创IP", 高攀了这人间1 +https://live.ottiptv.cc/douyu/9651506 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avanew/face/201708/16/14/cb9018b3a34cac50fa499a1e1a22cec6_big.jpg" group-title="原创IP", 理娱打挺疼 +https://live.ottiptv.cc/douyu/2925563 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202009/4fe6508044e04eb8a3488a696050f19b_big.jpg" group-title="原创IP", 戒喵中心 +https://live.ottiptv.cc/douyu/8658212 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202005/3761c5f6f3224048bf91621ec8ff988a_big.jpg" group-title="原创IP", epcdiy +https://live.ottiptv.cc/douyu/8759268 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202006/4b674aa1c9ef44a8beb5753a069ac12c_big.jpg" group-title="原创IP", 打工战士SWEET +https://live.ottiptv.cc/douyu/8795660 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202006/b75798f7f6c04579af2ffc07fb574f9d_big.jpg" group-title="原创IP", 神迹小霸霸 +https://live.ottiptv.cc/douyu/8837963 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avanew/face/201712/06/20/fbd70ee4719f93a880f24bb4b4842a64_big.jpg" group-title="原创IP", 野灿baka +https://live.ottiptv.cc/douyu/8867233 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202007/b92537d79eb042b3aa7f983ab8eb3c90_big.jpg" group-title="原创IP", 多多其木格 +https://live.ottiptv.cc/douyu/9075374 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/c9de803e16f44eef99a05196f0a91c23_big.jpg" group-title="原创IP", 绘说篮球C +https://live.ottiptv.cc/douyu/9401305 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202102/8eea0e95471b42868ca588c4752370c0_big.jpg" group-title="原创IP", 夏夜柚子树 +https://live.ottiptv.cc/douyu/9606419 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202011/c8e0053bc1c74e14b4decb831b2681ef_big.jpg" group-title="原创IP", 民工小代 +https://live.ottiptv.cc/douyu/9616619 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202103/6454556dba154bfcb288a5f5d8f6722d_big.jpg" group-title="原创IP", Red袖袖 +https://live.ottiptv.cc/douyu/9645396 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202104/cf8bf8b1620140a498bf219bc56fb469_big.jpg" group-title="原创IP", Psyman塞门 +https://live.ottiptv.cc/douyu/9753585 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202104/422b82c4552a4a4ab4635c9a3a559120_big.jpg" group-title="原创IP", 梓帆说电影 +https://live.ottiptv.cc/douyu/9769563 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202007/81dd1b4cff7e4162872add0b41884610_big.jpg" group-title="原创IP", 苏八拉西吐槽屋 +https://live.ottiptv.cc/douyu/97643 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202101/105755e5d0454d258948ff497df6e627_big.jpg" group-title="原创IP", 讲故事的角马 +https://live.ottiptv.cc/douyu/4400816 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avanew/face/201804/273bd32808fd29870b5c249d038f8ae0_big.jpg" group-title="原创IP", 李李李蚊香 +https://live.ottiptv.cc/douyu/4786399 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202209/80cb3b46ff114b31829acda0b649014e_big.jpg" group-title="原创IP", 周队长captain +https://live.ottiptv.cc/douyu/9023539 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202008/f932f80b942846858c3462501ad68a91_big.jpg" group-title="原创IP", 卡皮君本人 +https://live.ottiptv.cc/douyu/9050486 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202010/91f36b21d6274f8d991e4174331096ee_big.jpg" group-title="原创IP", Melo的健身课堂 +https://live.ottiptv.cc/douyu/9306609 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202101/3c4f70910bcb49939c3bf92e8457a826_big.jpg" group-title="原创IP", 锋哥聊商机 +https://live.ottiptv.cc/douyu/9472141 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/default/02_big.jpg" group-title="原创IP", 沂沐啊 +https://live.ottiptv.cc/douyu/9481137 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202104/ad4cf4b75724416ea4c6bd95f5877d33_big.jpg" group-title="原创IP", LCPD拉登 +https://live.ottiptv.cc/douyu/9503015 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/default/12_big.jpg" group-title="原创IP", 猫总白一航 +https://live.ottiptv.cc/douyu/9517105 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202102/59eb7887bf8a45978e4e35cd350beaac_big.jpg" group-title="原创IP", 中二的枫哲酱 +https://live.ottiptv.cc/douyu/9541849 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202103/5875313198bc4809b81323414890e26d_big.jpg" group-title="原创IP", 犀利影评 +https://live.ottiptv.cc/douyu/9647845 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202103/23eb683da36443f1906bec6ef75b8da2_big.jpg" group-title="原创IP", 我是瓜皮儿本人a +https://live.ottiptv.cc/douyu/9665696 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202105/48bfa42c800248529cf196660265b4fa_big.jpg" group-title="原创IP", 搞笑孟文明 +https://live.ottiptv.cc/douyu/9766337 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202111/25542fb5409a4fe3b856dd700d6e0950_big.jpg" group-title="原创IP", 仓鼠大逃亡 +https://live.ottiptv.cc/douyu/10354920 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/face/201607/29/0c52c1ac24bcb6446f103d97e5f94c8c_big.jpg" group-title="原创IP", 鞋荐JMJ +https://live.ottiptv.cc/douyu/865331 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202306/0b3868dfec7e4958adbbca73c3336225_big.jpg" group-title="原创IP", OE档案 +https://live.ottiptv.cc/douyu/6725858 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202412/5c111360d17448c3a0bd095493922b5c_big.jpg" group-title="原创IP", 御魔君 +https://live.ottiptv.cc/douyu/9199976 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202007/66d0c9d1f6d948e3840f4a13e19b63f4_big.jpg" group-title="原创IP", 动物启示录 +https://live.ottiptv.cc/douyu/9443129 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202102/517f1459d49e4f7ab2675467f708a40f_big.jpg" group-title="原创IP", 潇湘公子L +https://live.ottiptv.cc/douyu/9535657 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202103/13f74852740240579a6acbf3735272c1_big.jpg" group-title="原创IP", 蔡恩雨Priscilla +https://live.ottiptv.cc/douyu/9662853 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/201903/f6e73734fdea4c4fb03e03e2c70723c4_big.jpg" group-title="原创IP", 爪子drumdoll +https://live.ottiptv.cc/douyu/6428730 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avanew/face/201806/bf46aw14fzk0xmzs4exsjkesawfli61m_big.jpg" group-title="原创IP", 颜雪落落落 +https://live.ottiptv.cc/douyu/8864291 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202011/1c58684ad39e4d8ab6c9ae530dd05a95_big.jpg" group-title="原创IP", 撩电影8 +https://live.ottiptv.cc/douyu/9351043 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202011/99f9ea3104cf4f1b9483f658c5f2d0a5_big.jpg" group-title="原创IP", 半藏同学 +https://live.ottiptv.cc/douyu/9372627 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202011/7388f285cd9c4b81868930d21193d862_big.jpg" group-title="原创IP", 梦夫人啊 +https://live.ottiptv.cc/douyu/9384527 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202103/5562f022ef3f4aea99be955d978ed9aa_big.jpg" group-title="原创IP", 铁头与橘子 +https://live.ottiptv.cc/douyu/9450942 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202101/d281b77e578d402590388a0b3e74847e_big.jpg" group-title="原创IP", 纸鸢SomniumV +https://live.ottiptv.cc/douyu/9506782 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202102/75b6f260874b497fb0b96cd37c320a33_big.jpg" group-title="原创IP", 萨摩耶王小羊 +https://live.ottiptv.cc/douyu/9559063 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202102/87ea711c2d7349d093b51df649c67932_big.jpg" group-title="原创IP", Co视文化 +https://live.ottiptv.cc/douyu/1060418 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202005/904acd4b304f4c6c9d5756ae6420a6ef_big.jpg" group-title="原创IP", 大力学姐 +https://live.ottiptv.cc/douyu/8784719 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202006/0fb56781c96e4e4f834860bc8ff73159_big.jpg" group-title="原创IP", 你顶亲亲的前女友 +https://live.ottiptv.cc/douyu/8896746 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/69f2185413b943aca244ce88ca117f46_big.jpg" group-title="原创IP", 少年阿虎233 +https://live.ottiptv.cc/douyu/9396762 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202104/7484dc82f1fc49d5a619cdc3bb3da9f4_big.jpg" group-title="原创IP", 火柴人HyunsDojo +https://live.ottiptv.cc/douyu/9430394 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/default/06_big.jpg" group-title="原创IP", 叶墨的百妖馆 +https://live.ottiptv.cc/douyu/9517351 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202104/c45602f16ebe408f8057769af0c0387c_big.jpg" group-title="原创IP", 看个M啊 +https://live.ottiptv.cc/douyu/9720919 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/default/18_big.jpg" group-title="原创IP", 漫尼动画 +https://live.ottiptv.cc/douyu/10364790 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202105/b237ae4f34c44a74b5a094cadc3e11b2_big.jpg" group-title="原创IP", 老王的夜电影院 +https://live.ottiptv.cc/douyu/3498219 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202104/eca7e13df6414731b57439c1b0f1df83_big.jpg" group-title="一起看", 卖爆鱼的小姑娘 +https://live.ottiptv.cc/douyu/5982597 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202008/59c36cf3e24a41458f48257530a57d3d_big.jpg" group-title="原创IP", 看不见的罗杰 +https://live.ottiptv.cc/douyu/8821917 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/9c30d68f8feb48c29c6238caaae29753_big.jpg" group-title="原创IP", YIKa777 +https://live.ottiptv.cc/douyu/8868213 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202309/8d841cbd7bd6493d9a7015f167d55d4f_big.jpg" group-title="原创IP", CF柒年 +https://live.ottiptv.cc/douyu/9087887 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202009/a7fcc948672f48b4a6ec823e1633edf2_big.jpg" group-title="原创IP", 吟游诗人基德 +https://live.ottiptv.cc/douyu/9337049 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202005/1a54b1d1918847929f043a87e71171f7_big.jpg" group-title="原创IP", Nino学长 +https://live.ottiptv.cc/douyu/9525473 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202101/1b95b2bd69ac47c4862e8890b19a13b4_big.jpg" group-title="原创IP", 光影故事汇 +https://live.ottiptv.cc/douyu/9541423 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202101/ed691680d1d2499497742e40ba9d1048_big.jpg" group-title="原创IP", 露爷说漫 +https://live.ottiptv.cc/douyu/9542830 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202101/13cfb7bbead148b2b2b898743772b39d_big.jpg" group-title="原创IP", 庄尼兔拟音实验室 +https://live.ottiptv.cc/douyu/9546169 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202102/244a7d6fbf1943b2b8c47e36c25e83f9_big.jpg" group-title="原创IP", 爱黏人的圆子 +https://live.ottiptv.cc/douyu/9576933 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202102/770bda7812c24fc5b526548d7ce31d62_big.jpg" group-title="原创IP", 穆杉车话 +https://live.ottiptv.cc/douyu/9602107 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202103/ce4e744c0b9b412b89e8e5165e723f02_big.jpg" group-title="原创IP", 电影笔记 +https://live.ottiptv.cc/douyu/9636034 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202104/ffb2f24c6c4c401bb62f555ab32b57ec_big.jpg" group-title="原创IP", TSSS映画 +https://live.ottiptv.cc/douyu/9749339 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avanew/face/201705/05/18/5c314cce7f07f006535c7c4de01434ed_big.jpg" group-title="原创IP", 宇哥讲电影 +https://live.ottiptv.cc/douyu/2104744 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202006/bc19fab72820497eabea88ae68387f2a_big.jpg" group-title="原创IP", 花町馆长 +https://live.ottiptv.cc/douyu/2295993 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/default/11_big.jpg" group-title="原创IP", 某声悠 +https://live.ottiptv.cc/douyu/8896100 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202011/2ab996633d9a43e5b82e86802f3100b8_big.jpg" group-title="原创IP", 小丽说电影 +https://live.ottiptv.cc/douyu/9368016 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/28f3b6684a524d9fa45c5af150b4829d_big.jpg" group-title="原创IP", 可乐撩电影 +https://live.ottiptv.cc/douyu/9371552 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/c2e7915a88c4461fa1345a6826331acd_big.jpg" group-title="原创IP", 君笑坊 +https://live.ottiptv.cc/douyu/9444093 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/2d70d1d17d4845e2b318a95d82bf7736_big.jpg" group-title="原创IP", 四叶草影视 +https://live.ottiptv.cc/douyu/9446117 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202103/f9ea7592f4414ac19b49a46dc5ad4216_big.jpg" group-title="原创IP", 三代鹿人v +https://live.ottiptv.cc/douyu/9629717 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/face/201607/12/87bbb595c8994f98df0f307aacccf94a_big.jpg" group-title="原创IP", 老人家小熊猫君 +https://live.ottiptv.cc/douyu/753342 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202006/c6436c5dcf7141a4bee6f31c716e1ac8_big.jpg" group-title="原创IP", 朔涵君 +https://live.ottiptv.cc/douyu/9354201 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202105/2d189aefe4b74728adadd47b491ebb34_big.jpg" group-title="原创IP", 伦帝电影说 +https://live.ottiptv.cc/douyu/9368091 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/452c999cb21f4b2886d04172cce10802_big.jpg" group-title="原创IP", TUOK肖恩 +https://live.ottiptv.cc/douyu/9392433 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avanew/face/201801/03/15/ee75225431be6915741c6b32ce998e25_big.jpg" group-title="原创IP", 罗休休休 +https://live.ottiptv.cc/douyu/9403178 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/default/11_big.jpg" group-title="原创IP", 影视梗大叔 +https://live.ottiptv.cc/douyu/9480648 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202103/f68b51cf242a450881c5ed55318b759c_big.jpg" group-title="原创IP", 柠檬檬檬儿vlog +https://live.ottiptv.cc/douyu/9624845 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202103/7e56236d35394fe88124fa2421654b1b_big.jpg" group-title="原创IP", 情感测试小分队 +https://live.ottiptv.cc/douyu/9697688 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/default/20_big.jpg" group-title="原创IP", 田浅浅w +https://live.ottiptv.cc/douyu/9747144 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202103/9de06fd23c924cc9ae7f52bb039fd041_big.jpg" group-title="原创IP", 亮亮也是酿酿 +https://live.ottiptv.cc/douyu/4340136 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/1b5c4f7247164aeb8de4b38f95c3572c_big.jpg" group-title="原创IP", 林九影视 +https://live.ottiptv.cc/douyu/7212528 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/201901/02a46c7c336912523de7fd3ecb77ba16_big.jpg" group-title="原创IP", 不会骑马的健身少年 +https://live.ottiptv.cc/douyu/8862198 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202102/c614296fdfd54aaeba7436078b32c31a_big.jpg" group-title="原创IP", 祝晓晗 +https://live.ottiptv.cc/douyu/9575293 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202110/a74694b3c765403b90a175a06b92cbd9_big.jpg" group-title="原创IP", 笑笑笑团长 +https://live.ottiptv.cc/douyu/10329368 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202204/1850a640121145b68a52ab1754285070_big.jpg" group-title="原创IP", 村野趣事荟 +https://live.ottiptv.cc/douyu/5794474 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/default/04_big.jpg" group-title="原创IP", 起来啦小躺 +https://live.ottiptv.cc/douyu/8849047 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/23b44b3cf0514b269456e687d6dc09ed_big.jpg" group-title="原创IP", 世界纪录大全 +https://live.ottiptv.cc/douyu/9406359 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/201911/9b203df961894c2ca440228e37f0a9fd_big.jpg" group-title="原创IP", FGO丶Master1 +https://live.ottiptv.cc/douyu/9477851 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202008/c1da0b2c692741fa8e0584e482a98aad_big.jpg" group-title="原创IP", 虾米大模王 +https://live.ottiptv.cc/douyu/102114 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202011/6f1b71187233476aa808c27c57c94773_big.jpg" group-title="原创IP", 晓麦讲电影 +https://live.ottiptv.cc/douyu/453963 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202110/f8d59e28e6f341358862600ab86fcd83_big.jpg" group-title="原创IP", 开箱嘤嘤怪 +https://live.ottiptv.cc/douyu/10319056 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202307/6156366f86844f5ca1f11def0ae3bb1d_big.jpg" group-title="原创IP", 助眠师海宝宝 +https://live.ottiptv.cc/douyu/1103328 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/fc2e7d7698f34953a25544458b60158f_big.jpg" group-title="原创IP", 蓝格雷 +https://live.ottiptv.cc/douyu/5124602 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202011/4e9485407a9e480db57da5ade8f99465_big.jpg" group-title="原创IP", 驴哥说电影 +https://live.ottiptv.cc/douyu/5376478 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202006/0578abffd4f84f29be5e5d9ea37c82f5_big.jpg" group-title="原创IP", 搞笑院长 +https://live.ottiptv.cc/douyu/8829915 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202011/31d19c4862a44718846dfe5bafbcb1d4_big.jpg" group-title="原创IP", 铁头钢脚 +https://live.ottiptv.cc/douyu/9322081 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/default/08_big.jpg" group-title="原创IP", 人生回答机本机 +https://live.ottiptv.cc/douyu/9409722 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202101/597d461224de4c1496f037cca3963a1f_big.jpg" group-title="原创IP", 每日好电影V +https://live.ottiptv.cc/douyu/9533302 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/201901/383eeea4fbdf4763b10fd4b5c3de7281_big.jpg" group-title="原创IP", 咆哮丶土拨鼠 +https://live.ottiptv.cc/douyu/9564230 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202102/ecf394794eae4912a31a68c8091e64fb_big.jpg" group-title="原创IP", 白鱼Sakana +https://live.ottiptv.cc/douyu/9611771 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar/face/201606/28/006c75ae1203ea647876f5c3d58f0a87_big.jpg" group-title="原创IP", yaoyao说 +https://live.ottiptv.cc/douyu/884073 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202108/deeab2765dd34f5a8e6d164595a14bd1_big.jpg" group-title="原创IP", 昆仑决KLF +https://live.ottiptv.cc/douyu/1753007 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202005/40577722f0114abb81c0f8175d2a63ee_big.jpg" group-title="原创IP", 小超讲电影 +https://live.ottiptv.cc/douyu/3432645 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202101/19f029dd037542e4873a4d44066ee204_big.jpg" group-title="原创IP", 小姐姐Bie跑哦 +https://live.ottiptv.cc/douyu/8666258 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202010/9ef81ddfb46f4cdb981820de3846ca51_big.jpg" group-title="一起看", 若轻云之蔽月兮 +https://live.ottiptv.cc/douyu/9262563 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/3fe7c0d1b2a64f1d89abce94f4fe5bdc_big.jpg" group-title="原创IP", 晓晓说电影 +https://live.ottiptv.cc/douyu/9430717 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202012/362c337af6864f299807c6df21ffc597_big.jpg" group-title="原创IP", 多巴安工作室 +https://live.ottiptv.cc/douyu/9446799 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202101/5dde791d1db248eb8cea0b070333bf2e_big.jpg" group-title="原创IP", 名人物语DY +https://live.ottiptv.cc/douyu/9539063 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202102/26dc098fe3724d529c750038011760de_big.jpg" group-title="原创IP", 雨忆动漫 +https://live.ottiptv.cc/douyu/9568700 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202103/e51ffdc0c8434e0ba51316d7ecbcc18e_big.jpg" group-title="原创IP", 小鸭子老师 +https://live.ottiptv.cc/douyu/9627625 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202107/52f2fe58ec344b4baa0936c9cde65ac5_big.jpg" group-title="原创IP", 二胖影视 +https://live.ottiptv.cc/douyu/10064260 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202111/973a7be035694246874c7cff92d78e13_big.jpg" group-title="原创IP", 高能恐怖片段君 +https://live.ottiptv.cc/douyu/10401475 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avatar_v3/202006/c6fd2c716b044675b1937cecc9aeb296_big.jpg" group-title="原创IP", 动漫唯美風 +https://live.ottiptv.cc/douyu/8912038 +#EXTINF:-1 tvg-logo="https://apic.douyucdn.cn/upload/avanew/face/201710/28/17/77bafecfb80a708fa86ec8a31d382556_big.jpg" group-title="一起看", 只想中奖噢 +https://live.ottiptv.cc/douyu/8357389 diff --git a/tvboxqq/tvboxqq/饭太硬/lives/范明明(需开启V6网络).txt b/tvboxqq/tvboxqq/饭太硬/lives/范明明(需开启V6网络).txt new file mode 100644 index 0000000..f65d148 --- /dev/null +++ b/tvboxqq/tvboxqq/饭太硬/lives/范明明(需开启V6网络).txt @@ -0,0 +1,136 @@ +#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="央视频道",CCTV1 +http://iptv.huuc.edu.cn/hls/cctv1hd.m3u8 +#EXTINF:-1 tvg-name="CCTV2" tvg-logo="https://live.fanmingming.cn/tv/CCTV2.png" group-title="央视频道",CCTV2 +http://iptv.huuc.edu.cn/hls/cctv2hd.m3u8 +#EXTINF:-1 tvg-name="CCTV3" tvg-logo="https://live.fanmingming.cn/tv/CCTV3.png" group-title="央视频道",CCTV3 +http://iptv.huuc.edu.cn/hls/cctv3hd.m3u8 +#EXTINF:-1 tvg-name="CCTV4" tvg-logo="https://live.fanmingming.cn/tv/CCTV4.png" group-title="央视频道",CCTV4 +http://iptv.huuc.edu.cn/hls/cctv4hd.m3u8 +#EXTINF:-1 tvg-name="CCTV5" tvg-logo="https://live.fanmingming.cn/tv/CCTV5.png" group-title="央视频道",CCTV5 +http://iptv.huuc.edu.cn/hls/cctv5hd.m3u8 +#EXTINF:-1 tvg-name="CCTV6" tvg-logo="https://live.fanmingming.cn/tv/CCTV6.png" group-title="央视频道",CCTV6 +http://iptv.huuc.edu.cn/hls/cctv6hd.m3u8 +#EXTINF:-1 tvg-name="CCTV7" tvg-logo="https://live.fanmingming.cn/tv/CCTV7.png" group-title="央视频道",CCTV7 +http://iptv.huuc.edu.cn/hls/cctv7hd.m3u8 +#EXTINF:-1 tvg-name="CCTV8" tvg-logo="https://live.fanmingming.cn/tv/CCTV8.png" group-title="央视频道",CCTV8 +http://iptv.huuc.edu.cn/hls/cctv8hd.m3u8 +#EXTINF:-1 tvg-name="CCTV9" tvg-logo="https://live.fanmingming.cn/tv/CCTV9.png" group-title="央视频道",CCTV9 +http://iptv.huuc.edu.cn/hls/cctv9hd.m3u8 +#EXTINF:-1 tvg-name="CCTV10" tvg-logo="https://live.fanmingming.cn/tv/CCTV10.png" group-title="央视频道",CCTV10 +http://iptv.huuc.edu.cn/hls/cctv10hd.m3u8 +#EXTINF:-1 tvg-name="CCTV11" tvg-logo="https://live.fanmingming.cn/tv/CCTV11.png" group-title="央视频道",CCTV11 +http://iptv.huuc.edu.cn/hls/cctv11hd.m3u8 +#EXTINF:-1 tvg-name="CCTV12" tvg-logo="https://live.fanmingming.cn/tv/CCTV12.png" group-title="央视频道",CCTV12 +http://iptv.huuc.edu.cn/hls/cctv12hd.m3u8 +#EXTINF:-1 tvg-name="CCTV13" tvg-logo="https://live.fanmingming.cn/tv/CCTV13.png" group-title="央视频道",CCTV13 +http://iptv.huuc.edu.cn/hls/cctv13hd.m3u8 +#EXTINF:-1 tvg-name="CCTV14" tvg-logo="https://live.fanmingming.cn/tv/CCTV14.png" group-title="央视频道",CCTV14 +http://iptv.huuc.edu.cn/hls/cctv14hd.m3u8 +#EXTINF:-1 tvg-name="CGTN" tvg-logo="https://live.fanmingming.cn/tv/CGTN.png" group-title="央视频道",CGTN +http://iptv.huuc.edu.cn/hls/cgtnhd.m3u8 +#EXTINF:-1 tvg-name="北京卫视" tvg-logo="https://live.fanmingming.cn/tv/北京卫视.png" group-title="卫视频道",北京卫视 +http://iptv.huuc.edu.cn/hls/btv1hd.m3u8 +#EXTINF:-1 tvg-name="北京文艺" tvg-logo="https://live.fanmingming.cn/tv/北京文艺.png" group-title="卫视频道",北京文艺 +http://iptv.huuc.edu.cn/hls/btv2hd.m3u8 +#EXTINF:-1 tvg-name="北京体育" tvg-logo="https://live.fanmingming.cn/tv/北京体育.png" group-title="卫视频道",北京体育 +http://iptv.huuc.edu.cn/hls/btv6hd.m3u8 +#EXTINF:-1 tvg-name="北京影视" tvg-logo="https://live.fanmingming.cn/tv/北京影视.png" group-title="卫视频道",北京影视 +http://iptv.huuc.edu.cn/hls/btv4hd.m3u8 +#EXTINF:-1 tvg-name="北京新闻" tvg-logo="https://live.fanmingming.cn/tv/北京新闻.png" group-title="卫视频道",北京新闻 +http://iptv.huuc.edu.cn/hls/btv9hd.m3u8 +#EXTINF:-1 tvg-name="北京纪实" tvg-logo="https://live.fanmingming.cn/tv/北京纪实.png" group-title="卫视频道",北京纪实 +http://iptv.huuc.edu.cn/hls/btv11hd.m3u8 +#EXTINF:-1 tvg-name="湖南卫视" tvg-logo="https://live.fanmingming.cn/tv/湖南卫视.png" group-title="卫视频道",湖南卫视 +http://iptv.huuc.edu.cn/hls/hunanhd.m3u8 +#EXTINF:-1 tvg-name="浙江卫视" tvg-logo="https://live.fanmingming.cn/tv/浙江卫视.png" group-title="卫视频道",浙江卫视 +http://iptv.huuc.edu.cn/hls/zjhd.m3u8 +#EXTINF:-1 tvg-name="江苏卫视" tvg-logo="https://live.fanmingming.cn/tv/江苏卫视.png" group-title="卫视频道",江苏卫视 +http://iptv.huuc.edu.cn/hls/jshd.m3u8 +#EXTINF:-1 tvg-name="东方卫视" tvg-logo="https://live.fanmingming.cn/tv/东方卫视.png" group-title="卫视频道",东方卫视 +http://iptv.huuc.edu.cn/hls/dfhd.m3u8 +#EXTINF:-1 tvg-name="安徽卫视" tvg-logo="https://live.fanmingming.cn/tv/安徽卫视.png" group-title="卫视频道",安徽卫视 +http://iptv.huuc.edu.cn/hls/ahhd.m3u8 +#EXTINF:-1 tvg-name="黑龙江卫视" tvg-logo="https://live.fanmingming.cn/tv/黑龙江卫视.png" group-title="卫视频道",黑龙江卫视 +http://iptv.huuc.edu.cn/hls/hljhd.m3u8 +#EXTINF:-1 tvg-name="辽宁卫视" tvg-logo="https://live.fanmingming.cn/tv/辽宁卫视.png" group-title="卫视频道",辽宁卫视 +http://iptv.huuc.edu.cn/hls/lnhd.m3u8 +#EXTINF:-1 tvg-name="深圳卫视" tvg-logo="https://live.fanmingming.cn/tv/深圳卫视.png" group-title="卫视频道",深圳卫视 +http://iptv.huuc.edu.cn/hls/szhd.m3u8 +#EXTINF:-1 tvg-name="广东卫视" tvg-logo="https://live.fanmingming.cn/tv/广东卫视.png" group-title="卫视频道",广东卫视 +http://iptv.huuc.edu.cn/hls/gdhd.m3u8 +#EXTINF:-1 tvg-name="天津卫视" tvg-logo="https://live.fanmingming.cn/tv/天津卫视.png" group-title="卫视频道",天津卫视 +http://iptv.huuc.edu.cn/hls/tjhd.m3u8 +#EXTINF:-1 tvg-name="湖北卫视" tvg-logo="https://live.fanmingming.cn/tv/湖北卫视.png" group-title="卫视频道",湖北卫视 +http://iptv.huuc.edu.cn/hls/hbhd.m3u8 +#EXTINF:-1 tvg-name="山东卫视" tvg-logo="https://live.fanmingming.cn/tv/山东卫视.png" group-title="卫视频道",山东卫视 +http://iptv.huuc.edu.cn/hls/sdhd.m3u8 +#EXTINF:-1 tvg-name="重庆卫视" tvg-logo="https://live.fanmingming.cn/tv/重庆卫视.png" group-title="卫视频道",重庆卫视 +http://iptv.huuc.edu.cn/hls/cqhd.m3u8 +#EXTINF:-1 tvg-name="上海纪实" tvg-logo="https://live.fanmingming.cn/tv/上海纪实.png" group-title="卫视频道",上海纪实 +http://iptv.huuc.edu.cn/hls/docuchina.m3u8 +#EXTINF:-1 tvg-name="四川卫视" tvg-logo="https://live.fanmingming.cn/tv/四川卫视.png" group-title="卫视频道",四川卫视 +http://iptv.huuc.edu.cn/hls/schd.m3u8 +#EXTINF:-1 tvg-name="金鹰纪实" tvg-logo="https://live.fanmingming.cn/tv/金鹰纪实.png" group-title="卫视频道",金鹰纪实 +http://iptv.huuc.edu.cn/hls/gedocu.m3u8 +#EXTINF:-1 tvg-name="东南卫视" tvg-logo="https://live.fanmingming.cn/tv/东南卫视.png" group-title="卫视频道",东南卫视 +http://iptv.huuc.edu.cn/hls/dnhd.m3u8 +#EXTINF:-1 tvg-name="河北卫视" tvg-logo="https://live.fanmingming.cn/tv/河北卫视.png" group-title="卫视频道",河北卫视 +http://iptv.huuc.edu.cn/hls/hebhd.m3u8 +#EXTINF:-1 tvg-name="江西卫视" tvg-logo="https://live.fanmingming.cn/tv/江西卫视.png" group-title="卫视频道",江西卫视 +http://iptv.huuc.edu.cn/hls/jxhd.m3u8 + +#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/tvboxqq/tvboxqq/饭太硬/lives/虎牙一起看.txt b/tvboxqq/tvboxqq/饭太硬/lives/虎牙一起看.txt new file mode 100644 index 0000000..059ddd9 --- /dev/null +++ b/tvboxqq/tvboxqq/饭太硬/lives/虎牙一起看.txt @@ -0,0 +1,2423 @@ +#EXTM3U +#EXTINF:-1 tvg-name="2026-01-10 12:28:08" tvg-logo="https://cdn.jsdelivr.net/gh/feiyang666999/testvideo/tg.jpg" group-title="列表更新时间",2026-01-10 12:28:08 +https://cdn.jsdelivr.net/gh/feiyang666999/testvideo/time/time.mp4 +#EXTINF:-1 tvg-name="4K60PSDR-H264-AAC测试" tvg-logo="https://cdn.jsdelivr.net/gh/feiyang666999/testvideo/tg.jpg" group-title="4K频道",4K60PSDR-H264-AAC测试 +https://cdn.jsdelivr.net/gh/feiyang666999/testvideo/sdr4kvideo/playlist.m3u8 +#EXTINF:-1 tvg-name="4K60PHLG-HEVC-EAC3测试" tvg-logo="https://cdn.jsdelivr.net/gh/feiyang666999/testvideo/tg.jpg" group-title="4K频道",4K60PHLG-HEVC-EAC3测试 +https://cdn.jsdelivr.net/gh/feiyang666999/testvideo/hlg4kvideo/playlist.m3u8 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1099/f6/53aafc173b24d0c336faac2e49b822_180_135.jpg?1445851392" group-title="一起看", 武林萌主唐小姐 +https://live.ottiptv.cc/huya/11336726 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1017/d2/638057f46ebd64a1546a482efe07e3_180_135.jpg?1761813233" group-title="原创", 晶晶舔奶盖 +https://live.ottiptv.cc/huya/31040488 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1084/37/7c96090110880e88916b11e4a18cf9_180_135.jpg?1526894329" group-title="一起看", 周星星 +https://live.ottiptv.cc/huya/11342412 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1039/35/1b90ffd406de9b9e521faff4451467_180_135.jpg?1763564783" group-title="原创", NUAA- +https://live.ottiptv.cc/huya/18527383 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1077/fb/716d9dae8f12f2b142ee18d2e24703_180_135.jpg?1679644579" group-title="一起看", 电竞也要专用机 +https://live.ottiptv.cc/huya/26355816 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1086/81/3388a90409ca6f4280af115a6821b6_180_135.jpg?1710903082" group-title="一起看", 海量免费短剧 +https://live.ottiptv.cc/huya/29465890 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1022/52/de4fe7b26771ad274684885c666487_180_135.jpg?1625543791" group-title="一起看", 君临剧美好 +https://live.ottiptv.cc/huya/24884587 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1082/4d/57e5ec208bf7e6775de7d6c64160cb_180_135.jpg?1762223528" group-title="原创", 薇薇观影 +https://live.ottiptv.cc/huya/31049729 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1041/a5/10ded51e3ad604d7c12bee7e4da8aa_180_135.jpg?1744288855" group-title="原创", 悠悠爱电影 +https://live.ottiptv.cc/huya/30611864 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1091/14/f64e76d277ea7433e1be4cee7d3bb8_180_135.jpg?1757643610" group-title="原创", 小花爱剧 +https://live.ottiptv.cc/huya/30974687 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1081/9e/65115e9fb3108fcb101361c8ab9dd7_180_135.jpg" group-title="一起看", 小木子先生丶 +https://live.ottiptv.cc/huya/11342396 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1076/d1/30f2c0f31ba1ccd7fcf6864cea6513_180_135.jpg?1743681546" group-title="原创", 日落花想容 +https://live.ottiptv.cc/huya/29981376 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1057/13/26f19b18206163ac4d774cb558f13d_180_135.jpg?1764824070" group-title="原创", 酷爱风云 +https://live.ottiptv.cc/huya/30663102 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1094/ab/f4ad6585c33f91d18d78f85ae0c0e2_180_135.jpg?1751511909" group-title="原创", 星一芒 +https://live.ottiptv.cc/huya/30329635 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1036/61/6e7d48fe227838ed09c1cf598f8c84_180_135.jpg?1764032761" group-title="原创", 依依依雅 +https://live.ottiptv.cc/huya/31067747 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1056/e7/c61ec3ae80bbc93817186f3a41d47c_180_135.jpg?1449028717" group-title="一起看", 鯎爺 +https://live.ottiptv.cc/huya/11352944 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1053/be/e7b797b974721b0330d064e3654468_180_135.jpg?1763453070" group-title="原创", 敏敏软香柔 +https://live.ottiptv.cc/huya/31071619 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1080/29/688e85c4509728831c578c7517e0f7_180_135.jpg?1447838636" group-title="一起看", 痞子帅叔叔 +https://live.ottiptv.cc/huya/11342433 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1009/ed/a01b5c841b3d25f9aa186c871fe057_180_135.jpg?1757661217" group-title="原创", 冰冰想吃冰棒 +https://live.ottiptv.cc/huya/30951578 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1058/5b/ca6d64814e18f2b6d0d9aa00bf9ba8_180_135.jpg?1742271909" group-title="原创", winccab +https://live.ottiptv.cc/huya/30650192 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1084/38/0a044578785fd8bd3cce25019b0cb6_180_135.jpg?1581601065" group-title="原创", 贫困小张喜欢A锥 +https://live.ottiptv.cc/huya/30656608 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1066/5c/5d092c7349d823ddc5c8cc947a062e_180_135.jpg?1746766645" group-title="原创", 也芥末- +https://live.ottiptv.cc/huya/30219264 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1025/d3/a6de1c835820139fdbc04153a692e7_180_135.jpg?1741786550" group-title="原创", Muse小梅 +https://live.ottiptv.cc/huya/30573410 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1077/c9/c85dd0728ee23bd28aa58bcd7a0685_180_135.jpg?1742263736" group-title="原创", 佩琪不爱吃香菜 +https://live.ottiptv.cc/huya/30577385 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1067/5c/76863efe7039a772dcd1890296c76a_180_135.jpg?1757605023" group-title="原创", 春水不服食 +https://live.ottiptv.cc/huya/30951533 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1080/8a/8953c15583c4c67a35d28104ad2901_180_135.jpg?1741695151" group-title="原创", 冰冰酱嘛 +https://live.ottiptv.cc/huya/30650512 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1037/ef/de67d8238c39ef254e7563cc683643_180_135.jpg?1741326962" group-title="原创", 柒柒酱嘛 +https://live.ottiptv.cc/huya/30569095 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1064/74/c57907e27f087f0166bf6a1cc827cf_180_135.jpg?1738752304" group-title="原创", RR寅子 +https://live.ottiptv.cc/huya/30241641 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1023/8d/b5aab3e6b834af54fe62842018316d_180_135.jpg?1721298644" group-title="一起看", 精彩小雨幕 +https://live.ottiptv.cc/huya/30080148 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1044/34/dcebc29e0625ea18a6ee7ef7ea8dfa_180_135.jpg?1743736387" group-title="原创", 有色不俱生 +https://live.ottiptv.cc/huya/30692707 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1078/fc/8bec6d0793db116484afbf1768e5e9_180_135.jpg?1723003562" group-title="一起看", 回去拿马卡报 +https://live.ottiptv.cc/huya/30080238 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1050/42/28f36f4d0767fb6efc42c1c1940e1c_180_135.jpg?1561358214" group-title="原创", 阿斗归来了 +https://live.ottiptv.cc/huya/13303478 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1044/d8/b11b405e9f2bd9d403a62334ab4f64_180_135.jpg?1606985476" group-title="一起看", 蛮多的功夫 +https://live.ottiptv.cc/huya/23740156 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1049/87/bafc1c41a4f639aecd2bf420370860_180_135.jpg?1744583997" group-title="原创", 薇薇ol +https://live.ottiptv.cc/huya/30712548 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1084/0e/4fdd0620f9869757394bf6f2c9d9c4_180_135.jpg?1751123373" group-title="原创", 狂鸟丶秋天l-90327 +https://live.ottiptv.cc/huya/29976108 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1026/26/37e4a4d1d0c17ff6756766113b0cc9_180_135.jpg?1767275796" group-title="原创", 雪花兔兔 +https://live.ottiptv.cc/huya/31067746 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1026/de/7332e09c67f25e7d1f284f886ad48d_180_135.jpg?1756091523" group-title="原创", 丁俊晖赵心童 +https://live.ottiptv.cc/huya/30753417 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1012/68/e44c4a9939d74c32dc39944882ec61_180_135.jpg?1744585803" group-title="原创", 静静影视 +https://live.ottiptv.cc/huya/30712558 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1022/4e/0eb86c61db38dc5b13356b20c49c39_180_135.jpg?1764993038" group-title="原创", 老Q电影 +https://live.ottiptv.cc/huya/31093367 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1083/21/89f5341dd6cd8ea5cf8e80e7a30f9b_180_135.jpg?1766717731" group-title="原创", 梦境幻影雪8 +https://live.ottiptv.cc/huya/31109333 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1039/7a/2b72fe217614af4cc1b8f6f21290ea_180_135.jpg?1760799986" group-title="原创", 赵心童丁俊晖 +https://live.ottiptv.cc/huya/30663865 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1002/3d/dd41a70dd02221038f5d3fc5d4546e_180_135.jpg?1737081515" group-title="原创", 双双影剧 +https://live.ottiptv.cc/huya/30415827 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1065/dc/858818a088cf3d7ef46732fb435740_180_135.jpg?1744692445" group-title="原创", 偶看见常威在打来福 +https://live.ottiptv.cc/huya/30627334 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1098/48/285066841d020cef9981f1289dc1eb_180_135.jpg?1740660197" group-title="原创", 不吃香菜丫丫 +https://live.ottiptv.cc/huya/30612264 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1090/04/8112ee01b0e39d2d42131bd96e3ea6_180_135.jpg?1741159378" group-title="原创", 樱花布布 +https://live.ottiptv.cc/huya/30626082 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1038/67/ff6c22dd68c1de86affb5a3bbea8c6_180_135.jpg?1741997971" group-title="原创", 小璐影视 +https://live.ottiptv.cc/huya/30655127 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1016/eb/31cb485285359dd1db5a9a5072f30a_180_135.jpg?1737081827" group-title="原创", 我是娅娅吖 +https://live.ottiptv.cc/huya/30376663 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1049/26/36ec1dd8a17b5a6246e8bdce1f6238_180_135.jpg?1750141539" group-title="原创", 愤怒的小金花 +https://live.ottiptv.cc/huya/30837912 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1030/73/00f96d6b6f77d5c8d609dc9a0e490b_180_135.jpg?1749999651" group-title="原创", 我真不吃肥肉 +https://live.ottiptv.cc/huya/30835565 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1096/65/f337cf8e9239bfcdbf73bd2523b9c2_180_135.jpg?1746717888" group-title="原创", 行军润如 +https://live.ottiptv.cc/huya/30761476 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1075/e3/9251bcf8de875796773c272ef12afb_180_135.jpg?1764947740" group-title="原创", 悲伤Kittyy猫猫 +https://live.ottiptv.cc/huya/30900623 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1081/af/1f0696dd629d85af83b7c0d9df8d01_180_135.jpg?1740666143" group-title="原创", 埋堆堆官方火热播出 +https://live.ottiptv.cc/huya/30326432 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1081/c6/1219552ecdbfa3e8fefec5605de3bf_180_135.jpg?1625682800" group-title="原创", SJ-倾甜 +https://live.ottiptv.cc/huya/396729 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1043/52/a2fdbdefb1b21630a455bedc54475c_180_135.jpg?1761790463" group-title="原创", 玉玉爱追剧 +https://live.ottiptv.cc/huya/31041015 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1029/0d/267017727968689405ca1454df4d2f_180_135.jpg?1764689834" group-title="原创", 莉莉最厉害 +https://live.ottiptv.cc/huya/31090368 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1014/15/6e54ee9788227c27827a342671e151_180_135.jpg?1737035419" group-title="原创", 得志未断绝 +https://live.ottiptv.cc/huya/30523326 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1077/05/1be792c3b61d0358a25f533c3d42f5_180_135.jpg?1606108236" group-title="一起看", 多美剧场 +https://live.ottiptv.cc/huya/23650774 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1072/51/dced48b09ee8ca6de89461920a1c65_180_135.jpg?1764929395" group-title="原创", 甜甜影院 +https://live.ottiptv.cc/huya/31093836 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1024/f7/5625433f2ec86c9f0baeaa458c77a7_180_135.jpg?1767437765" group-title="原创", 白桃观影 +https://live.ottiptv.cc/huya/31106626 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1035/e1/7baa7aec8cbc9136517f88d9ae0ce3_180_135.jpg?1735883336" group-title="原创", 西京观影 +https://live.ottiptv.cc/huya/30439645 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1080/9e/601c84c01c1450b09ac492368367bc_180_135.jpg?1743931781" group-title="原创", 虎桥路关羽 +https://live.ottiptv.cc/huya/30613314 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="原创", 甜心喵咪酱 +https://live.ottiptv.cc/huya/30658920 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1057/81/47a4d354831652908c6ac1e9ff552e_180_135.jpg?1748744474" group-title="原创", 虎牙中式台球比赛 +https://live.ottiptv.cc/huya/29588938 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1053/1d/d9fb1fe2130e3f7d5e80379b24ebca_180_135.jpg?1509501381" group-title="原创", 陈翔六点半 +https://live.ottiptv.cc/huya/11274154 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1078/c0/0ac36b868ffb729c7f282cfa445575_180_135.jpg?1767931709" group-title="原创", 老片剧场 +https://live.ottiptv.cc/huya/30373096 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1033/93/b6f3196df90c2c152429686fe580ce_180_135.jpg?1745284216" group-title="原创", 炒白果萝卜 +https://live.ottiptv.cc/huya/30440855 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1043/e1/6bf836f32d3863cd24776d7d7190b5_180_135.jpg?1711193126" group-title="原创", 阳阳影视 +https://live.ottiptv.cc/huya/29805872 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1071/e7/d4f17fe8278aa00c302295e86756bf_180_135.jpg" group-title="一起看", 小虎牙-QQFbPxwM1A +https://live.ottiptv.cc/huya/11352958 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1001/e3/28a31261e2d598de3ddf2d7d20a0d5_180_135.jpg?1752584632" group-title="原创", 辰辰观影 +https://live.ottiptv.cc/huya/30882696 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1098/ad/5fe92f32024e3d3fa3fab6d7dda615_180_135.jpg?1751445514" group-title="原创", 小满荷塘香色 +https://live.ottiptv.cc/huya/30860538 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1072/a3/326f8cfc4cfee569f6fc5a435bb415_180_135.jpg?1741757579" group-title="原创", 高贵优雅石榴裙 +https://live.ottiptv.cc/huya/30653672 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1095/3c/5a9bf9abe6923657653736e128a1e9_180_135.jpg?1745073364" group-title="原创", 来生 +https://live.ottiptv.cc/huya/30867383 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1057/a6/9c42907120521ef635361a8443ba9b_180_135.jpg?1741757455" group-title="原创", 糖果小豆包 +https://live.ottiptv.cc/huya/30653660 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1087/94/d718f164cbdab50db6d8c07d594a57_180_135.jpg?1449487171" group-title="一起看", 柯冉冉 +https://live.ottiptv.cc/huya/11352874 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1066/26/e33dad18b4746dc22e955382782bab_180_135.jpg?1749685573" group-title="原创", 大梨o +https://live.ottiptv.cc/huya/30830295 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1063/d6/3551ff0bdfd4dc548cd6168d61c7a7_180_135.jpg?1736520511" group-title="原创", 叁岁打死牛 +https://live.ottiptv.cc/huya/30515137 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1063/55/82aa331e27035eedd472632a23807c_180_135.jpg?1755936838" group-title="原创", 天羊盖地虎儿乔家劲 +https://live.ottiptv.cc/huya/30065341 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1084/bb/66438dd30e3678450d5c11c1fa1bae_180_135.jpg?1737222396" group-title="原创", 小桃猪猪 +https://live.ottiptv.cc/huya/30527430 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1052/e5/c60285f2445730c6e17bad2eefe532_180_135.jpg" group-title="一起看", 傻妞 +https://live.ottiptv.cc/huya/11342426 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1072/00/0d39c3d3df959c6c1cf935051d1df3_180_135.jpg?1743390640" group-title="原创", 自弃罐头 +https://live.ottiptv.cc/huya/29910845 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1096/8a/fbdb8d807a9eebf40a19a5346c32eb_180_135.jpg?1707390459" group-title="原创", SJ-以宁 +https://live.ottiptv.cc/huya/29664242 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1092/24/d713c88119ab980d67f1242af3c366_180_135.jpg?1749208002" group-title="原创", 子宽放 +https://live.ottiptv.cc/huya/30362138 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 海绵宝宝宝 +https://live.ottiptv.cc/huya/11352919 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1039/5e/5aac3908070130bbdcd7af4698d02c_180_135.jpg?1484792977" group-title="一起看", 美少女咸儿 +https://live.ottiptv.cc/huya/11336572 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1034/ad/52ee6b86d88cd6de2c12c6051a5ae6_180_135.jpg?1446036196" group-title="一起看", 偷心大盗ヽ龍宝 +https://live.ottiptv.cc/huya/11342386 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1065/24/2ab515726194b505ef3ffd63f2fb14_180_135.jpg?1756226791" group-title="原创", 以为在何许 +https://live.ottiptv.cc/huya/30955238 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1041/7d/9207d1a3ef105d6a498e4543887427_180_135.jpg" group-title="一起看", 我是詹密 +https://live.ottiptv.cc/huya/11342439 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1068/5c/96ccc7026af7b8d7dee61bb6022f90_180_135.jpg?1766721808" group-title="原创", 周星驰--喜剧之王 +https://live.ottiptv.cc/huya/30631741 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1014/f0/b0b3ea530beb3d53175de0bb96c38d_180_135.jpg?1756225510" group-title="原创", 春风和煦汉族 +https://live.ottiptv.cc/huya/30955013 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1081/14/d55855e9ea8c4dccb976e42c2f51e6_180_135.jpg?1722326965" group-title="原创", 我是图图很淘气 +https://live.ottiptv.cc/huya/30080227 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1086/a6/ce57254a5973608596194aff9dcf15_180_135.jpg?1717728145" group-title="一起看", 球哥解说 +https://live.ottiptv.cc/huya/29465875 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="原创", 惜哉超常伦 +https://live.ottiptv.cc/huya/30965454 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 小虎牙-9zUJscDWkH +https://live.ottiptv.cc/huya/30080146 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="原创", 东东播剧 +https://live.ottiptv.cc/huya/31133536 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1030/95/3b732f452625bcc85f60c3f2e808f4_180_135.jpg?1740578077" group-title="原创", SJ-辣辣 +https://live.ottiptv.cc/huya/30604830 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1046/84/502de036e633dd2294c61d4a8ea0c0_180_135.jpg?1741747702" group-title="原创", 中洲观影 +https://live.ottiptv.cc/huya/30506250 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1036/eb/17f80ff8f9851ee417b1fc688f6656_180_135.jpg?1494319827" group-title="一起看", 全优少年 +https://live.ottiptv.cc/huya/11602081 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1022/2b/1e4fa172491920d69d80976e02cd47_180_135.jpg" group-title="一起看", 瞬间爆炸 +https://live.ottiptv.cc/huya/11352960 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1057/03/7531dc8a84bdf34feab7022ee9575b_180_135.jpg?1646811108" group-title="一起看", 白菘无人省 +https://live.ottiptv.cc/huya/26355864 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1028/91/3183823e9288c12c04f3d81f24d926_180_135.jpg?1605592365" group-title="一起看", 彪哥的日常 +https://live.ottiptv.cc/huya/23650804 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1012/f5/b6e246fc050f005a7eb50db0ec37b5_180_135.jpg?1448361051" group-title="一起看", 會唱歌的小野貓 +https://live.ottiptv.cc/huya/11352871 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1098/42/53e820298f3c86a036422e195bc9eb_180_135.jpg?1446036001" group-title="一起看", 鱼塘塘主张年年 +https://live.ottiptv.cc/huya/11342384 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1073/0a/87fd57c47451ff3bc787c7688b0636_180_135.jpg?1447838686" group-title="一起看", No1常在心 +https://live.ottiptv.cc/huya/11342402 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1056/13/53b805fbdd7efc135d26a2f752c2c9_180_135.jpg?1767062161" group-title="原创", 青青观影 +https://live.ottiptv.cc/huya/31125322 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1086/6e/39676d88e04e209d1aa2126582fd3d_180_135.jpg?1566179946" group-title="一起看", 野原的一家 +https://live.ottiptv.cc/huya/11352970 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1015/95/4203778f46f46c7d79ef4129fd8161_180_135.jpg?1728692906" group-title="原创", 芮橙说剧 +https://live.ottiptv.cc/huya/30287258 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1042/0e/356fe2b69229b3b6e59517597aaa75_180_135.jpg?1446129774" group-title="一起看", 裸奔的蜗牛╮ +https://live.ottiptv.cc/huya/11342418 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1071/18/a683f9be4736d26d0e6256f213e57d_180_135.jpg?1446129885" group-title="一起看", 7喜先生 +https://live.ottiptv.cc/huya/11342421 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1067/2b/78dfb36d77377464856ed5d474bf73_180_135.jpg" group-title="一起看", 超能力是放pi +https://live.ottiptv.cc/huya/11352906 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1054/dc/220aa819b2f3237d62bb66a75a0a43_180_135.jpg?1531813967" group-title="原创", 扁豆看电影 +https://live.ottiptv.cc/huya/16028551 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1013/e1/63455f6cc24cdde3188a6d26335112_180_135.jpg?1465205440" group-title="一起看", 浮生没有若梦 +https://live.ottiptv.cc/huya/11601986 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1092/d0/fe3e8932013519fad159f46a499070_180_135.jpg?1751857477" group-title="原创", 花见羞羞 +https://live.ottiptv.cc/huya/30829078 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1003/d3/7bbf32d9dacbcd6290c615cdb18514_180_135.jpg?1445854501" group-title="一起看", 红茶妹妹 +https://live.ottiptv.cc/huya/11336592 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1040/61/9e8348d60b86f6391add9746a0fe0e_180_135.jpg" group-title="一起看", 种瓜得弟弟 +https://live.ottiptv.cc/huya/11352872 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1009/ee/b3fc5fcf0db53eb010ea7771f4e4e4_180_135.jpg?1633259996" group-title="原创", 游戏解说剪辑师 +https://live.ottiptv.cc/huya/25679291 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1092/46/1a81c724093e8cca545948a6605199_180_135.jpg?1447838576" group-title="一起看", 领带哥 +https://live.ottiptv.cc/huya/11342430 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1039/15/8fa37019a60515490eaeab2ba329c8_180_135.jpg?1449121515" group-title="一起看", 老司机 +https://live.ottiptv.cc/huya/11352946 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1075/33/b6467219cbdbda1306edb9ebf29d2c_180_135.jpg?1543546825" group-title="一起看", 虎牙影院 +https://live.ottiptv.cc/huya/11601968 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1075/c1/288db99c4c84edecdfa3a4dd786802_180_135.jpg?1715914636" group-title="一起看", 大漠李白 +https://live.ottiptv.cc/huya/26355861 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="原创", 艾莉 +https://live.ottiptv.cc/huya/20969144 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1053/da/61cc96019de66b9bbbcc888f279941_180_135.jpg?1462501097" group-title="一起看", 我爱黑科技 +https://live.ottiptv.cc/huya/11602068 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1060/7c/ca158824fb83add51f431844c171ae_180_135.jpg?1643010635" group-title="一起看", 宇宙摸魚人 +https://live.ottiptv.cc/huya/26355763 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1075/c1/288db99c4c84edecdfa3a4dd786802_180_135.jpg?1715914636" group-title="一起看", 大漠李白 +https://live.ottiptv.cc/huya/26355861 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1083/eb/1513352638f38b58fc4eb15b839a78_180_135.jpg?1729651024" group-title="原创", 唯倜得同行 +https://live.ottiptv.cc/huya/30311525 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1089/8d/63239e03c5bb841cda1329f741a42f_180_135.jpg?1741159468" group-title="原创", 雪雪姐tu +https://live.ottiptv.cc/huya/30585957 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1020/25/d7f1cac49929155f84ebd35fa8153d_180_135.jpg?1565864168" group-title="一起看", 我要在你头上暴扣 +https://live.ottiptv.cc/huya/19524135 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1072/a5/9e8740dff7ef25665d9e6550088994_180_135.jpg?1722422198" group-title="原创", 奇思妙想8 +https://live.ottiptv.cc/huya/30080192 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1092/76/fee9cd789465b9ad505bd494ca4429_180_135.jpg?1697191200" group-title="原创", 【炊烟大壮】 +https://live.ottiptv.cc/huya/24782284 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1056/d7/b35986145c39027d89578283ebd898_180_135.jpg?1713785041" group-title="原创", 錦瑟无故见松雪 +https://live.ottiptv.cc/huya/26355840 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1071/54/b38ffeeaa38b65154793d3f6715ad3_180_135.jpg?1751857318" group-title="原创", 芸芸看剧 +https://live.ottiptv.cc/huya/30832594 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1007/86/f826780a41885b6adc20640dec5ddf_180_135.jpg?1620958326" group-title="原创", 余小二哦 +https://live.ottiptv.cc/huya/10279885 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1018/68/806bec75f38db660adcfdb89883268_180_135.jpg?1463968736" group-title="一起看", 茱麗葉 +https://live.ottiptv.cc/huya/11602072 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1065/1e/1261519283866330b97e12fb4e7526_180_135.jpg?1449121445" group-title="一起看", 萌新司机 +https://live.ottiptv.cc/huya/11352881 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1028/91/4938488a0652e8a409af537afa1b1c_180_135.jpg?1724122094" group-title="一起看", 春水盈盈细浪翻 +https://live.ottiptv.cc/huya/30080255 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1045/1e/0bcedc77286612bd55f7ab4c26913f_180_135.jpg?1542876566" group-title="一起看", 凌莲 +https://live.ottiptv.cc/huya/11602086 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1065/d9/f76198544abd446bc812034fa9fc6f_180_135.jpg?1544172417" group-title="一起看", 大侠 +https://live.ottiptv.cc/huya/11602085 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1054/cc/fe8da49e5df793bdd59ed1be0d340b_180_135.jpg?0" group-title="一起看", 小妖孽 +https://live.ottiptv.cc/huya/11602088 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1049/93/b16f9e9f520e28434bc6f1cbe829ef_180_135.jpg?1705548531" group-title="一起看", 反方向的钟1874 +https://live.ottiptv.cc/huya/29465868 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1033/13/d1e296180dda55ff7503c586380351_180_135.jpg?1612406399" group-title="一起看", 港剧日记 +https://live.ottiptv.cc/huya/23903130 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1082/14/108b2f09afcc12edb51ed1b3366a5a_180_135.jpg?1729650035" group-title="原创", 影评专员 +https://live.ottiptv.cc/huya/30311494 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1021/38/798015db445aa31accd2fb80a80f10_180_135.jpg?1448967582" group-title="一起看", Wang-我的女人 +https://live.ottiptv.cc/huya/11352940 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1014/70/b0e16dd051b7185ab6d30caed488e4_180_135.jpg?1729480958" group-title="原创", 阿光影视 +https://live.ottiptv.cc/huya/30292086 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1057/b1/86411769a7594adda1e6c43572dffd_180_135.jpg" group-title="一起看", 不发威当我Kitty +https://live.ottiptv.cc/huya/11342403 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1084/21/cf70c89d704f5ad1f7f45640117e18_180_135.jpg?1618468802" group-title="一起看", 里昂保护的玛蒂达 +https://live.ottiptv.cc/huya/21059594 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1048/a0/6343ce60e55d598a4ad3bed6fa43fd_180_135.jpg?1560231135" group-title="一起看", 个人向 +https://live.ottiptv.cc/huya/11352963 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1024/bb/b1a3c97c76cb4dc160dd5f2483d747_180_135.jpg" group-title="一起看", 喜剧电影放映厅 +https://live.ottiptv.cc/huya/11602031 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1026/90/00502272c435c9631a02598909486b_180_135.jpg?1743137174" group-title="原创", 家里有只小汤圆 +https://live.ottiptv.cc/huya/28078466 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1049/36/b1ea957453055943c430ffd9715a7e_180_135.jpg?1727498043" group-title="原创", 影小渔 +https://live.ottiptv.cc/huya/30296971 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1066/38/5703a2b7be1d549b844deb46862e9c_180_135.jpg?1646812958" group-title="一起看", 天地間香芒 +https://live.ottiptv.cc/huya/26355800 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1012/5e/78f08eff3c9c51fbdf695431b9b1d4_180_135.jpg?1569319588" group-title="原创", 止戈电影 +https://live.ottiptv.cc/huya/19863777 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1029/0b/b46b189a7d9622c62db5ee362e8aea_180_135.jpg?1583922353" group-title="一起看", 备胎说车 +https://live.ottiptv.cc/huya/20985836 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1067/10/88fff3347f38575bc13f77a85e9134_180_135.jpg?1721895664" group-title="原创", 老歪陪你唠 +https://live.ottiptv.cc/huya/30080164 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1069/4a/659f5b93e2e645314b15a03662f870_180_135.jpg?1723003057" group-title="一起看", 傍晚猴 +https://live.ottiptv.cc/huya/30080236 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1054/1b/e658e859484cb9a062f05b1b542393_180_135.jpg?1542873828" group-title="一起看", 四次元先生 +https://live.ottiptv.cc/huya/11602071 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1061/4c/58791a804ba17e82f18fa95f2f99e9_180_135.jpg?1702967451" group-title="原创", 年年营 +https://live.ottiptv.cc/huya/29580970 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1055/2f/5fe4fdd7b08d8f10fd9d8c7e84e865_180_135.jpg?1721977518" group-title="原创", 细品红楼 +https://live.ottiptv.cc/huya/30080181 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1019/fa/69dd3b706ce51ea376b0ecbce2b00c_180_135.jpg" group-title="一起看", 樹袋熊小九九 +https://live.ottiptv.cc/huya/11282233 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1014/c1/c0a9afcfae463fcddd62d18af0710c_180_135.jpg?1463660134" group-title="一起看", 实力拔萝卜 +https://live.ottiptv.cc/huya/11601960 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1046/93/15a62b95e49fcdd796bc68856ab04b_180_135.jpg?1450926151" group-title="一起看", 尼古拉斯乔丹 +https://live.ottiptv.cc/huya/11352898 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1029/35/503fd3772e1b89f29dc2f01f96210c_180_135.jpg?1603073881" group-title="一起看", 兄台明鉴 +https://live.ottiptv.cc/huya/23482266 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1067/a7/a4ef768d73ace55fbc7adce0f4e329_180_135.jpg?1517472689" group-title="原创", 电影最TOP +https://live.ottiptv.cc/huya/11774959 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1092/24/4b484ab26497fa9309a7c78715217c_180_135.jpg?1522311669" group-title="原创", 科幻梦工场 +https://live.ottiptv.cc/huya/15152155 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1060/25/04b947aca136d6636679742a986415_180_135.jpg?1715945645" group-title="原创", 小迷糊 +https://live.ottiptv.cc/huya/29580971 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1077/a1/4ebedbbafeaf5533d2910f59949acc_180_135.jpg?1704425911" group-title="一起看", 订阅我就发财 +https://live.ottiptv.cc/huya/29465863 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1011/4e/34317ec1baec7725eda8247bcd77d2_180_135.jpg?1711701543" group-title="一起看", YJ-无语凝烟 +https://live.ottiptv.cc/huya/26355856 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1095/ee/20efb83981c3bcfcf15cf755514bdf_180_135.jpg?1646813525" group-title="一起看", 春江花朝吹香夢 +https://live.ottiptv.cc/huya/26355791 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1028/b7/06540532973d5fae0cc8d834972a47_180_135.jpg?1740131261" group-title="原创", 天雷鼓鼓说剧 +https://live.ottiptv.cc/huya/30277823 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 山东北路大喬 +https://live.ottiptv.cc/huya/26355860 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1028/b7/1de34f34ca468cfd25154ea1ea3d64_180_135.jpg?1604504211" group-title="一起看", 拓客说 +https://live.ottiptv.cc/huya/20969130 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1009/41/62b9177d3e1bbf1c4e87eded2c216a_180_135.jpg?1448362100" group-title="一起看", Mr-傀儡 +https://live.ottiptv.cc/huya/11352936 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1061/4e/ae211bcda9e2928942fbcea9035377_180_135.jpg?1586044444" group-title="原创", 狗哥吃火锅 +https://live.ottiptv.cc/huya/17269326 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1029/36/bbf85e68ecdee8714b3cf9466110ac_180_135.jpg?1449121205" group-title="一起看", HelloKitty +https://live.ottiptv.cc/huya/11352879 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1044/e0/a0c587be606cc16597f8664ffd608c_180_135.jpg?1646813769" group-title="一起看", 袖中忽见洮河北 +https://live.ottiptv.cc/huya/26355788 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1005/ae/e4c79d25571888f30bb8357272e293_180_135.jpg?1543373584" group-title="一起看", 粉娘 +https://live.ottiptv.cc/huya/11601978 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1025/c6/8312da01c8b38d7efd6cefe6d628b2_180_135.jpg?1701624629" group-title="原创", HeungsamsFamily +https://live.ottiptv.cc/huya/29487319 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1057/46/63d69566121803c46709b29246b14f_180_135.jpg?1450856858" group-title="一起看", 加班狗 +https://live.ottiptv.cc/huya/11352891 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1082/6c/917a231e72a5cdd2636ecee35e5bc5_180_135.jpg?1612426720" group-title="一起看", 喝一碗杏仁茶 +https://live.ottiptv.cc/huya/21059565 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1075/77/3bf1bb9032d601d9857f47aa9505f6_180_135.jpg?1723717341" group-title="一起看", 老问我东西南北 +https://live.ottiptv.cc/huya/30080244 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1090/42/e870ab80aaa7e9281d91b076a36acd_180_135.jpg?1657004138" group-title="原创", 中国探月太空萌兔 +https://live.ottiptv.cc/huya/23663418 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1006/a0/ae732951220448bf7c89d6f300b368_180_135.jpg?1694848301" group-title="原创", 一哥爱解说 +https://live.ottiptv.cc/huya/28806915 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1003/a2/8ec57e007b96c1cc5d5636899f44d7_180_135.jpg?1487838671" group-title="一起看", 如意菜头 +https://live.ottiptv.cc/huya/11352966 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="原创", 雪布林 +https://live.ottiptv.cc/huya/30311504 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1093/7d/dadedd6e597a39a42aa194849bad40_180_135.jpg?1585195897" group-title="原创", 非凡武林 +https://live.ottiptv.cc/huya/21674665 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1064/4d/9997877fae74891282fab8e56be4ee_180_135.jpg?1711938855" group-title="原创", 舍前棕 +https://live.ottiptv.cc/huya/26355844 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1007/0c/b53333444abba604faa2df4d77375b_180_135.jpg?1555566240" group-title="原创", 李小哇絮叨叨 +https://live.ottiptv.cc/huya/18441722 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1082/09/6997256f20cf32f3065f9ceba39430_180_135.jpg?1721815800" group-title="原创", 击剑永不息 +https://live.ottiptv.cc/huya/30080154 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1012/9d/c21c87d9b22568bcdf4636bbf5bcad_180_135.jpg?1618196189" group-title="一起看", Cc +https://live.ottiptv.cc/huya/11601966 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1094/ca/1eaca36d155e7436c403216897a73f_180_135.jpg?1540887593" group-title="原创", 南西视频 +https://live.ottiptv.cc/huya/16913382 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1050/54/567123456cfccfc6bb604ac3fdfbde_180_135.jpg?1494319470" group-title="一起看", 热心市民高先生 +https://live.ottiptv.cc/huya/11602037 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1048/64/716a40f66ba8ee93994fc1d74df5ad_180_135.jpg?1722326521" group-title="一起看", 小雅陪你看 +https://live.ottiptv.cc/huya/30080225 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 电视迷痴迷港剧 +https://live.ottiptv.cc/huya/29465851 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1014/5b/19062bb3f25081b186a66f51df4ecf_180_135.jpg?1445851158" group-title="一起看", Yummy +https://live.ottiptv.cc/huya/11336587 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1020/64/073b401ac8a9d2849ed127229f640c_180_135.jpg" group-title="一起看", 兜兜з +https://live.ottiptv.cc/huya/11352910 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1025/75/5a765f89155d00531d98fd9550a14e_180_135.jpg?1721979077" group-title="原创", 钟爱陶喆 +https://live.ottiptv.cc/huya/30080186 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1067/28/eb10b25db1f1a70fcb79da1403ab72_180_135.jpg?1556020041" group-title="原创", 亮哥讲电影 +https://live.ottiptv.cc/huya/16144175 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="原创", 竟日搔白首 +https://live.ottiptv.cc/huya/30080197 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1057/51/02fa9340340d1d1d02adbe57c005c1_180_135.jpg?1766635325" group-title="原创", 港片大赏 +https://live.ottiptv.cc/huya/30631706 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 港片剧情真好 +https://live.ottiptv.cc/huya/29465859 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1062/41/605e2cb27decc8fd6dbe2fc7779e49_180_135.jpg?1448346204" group-title="一起看", 地狱ヽ妖妖 +https://live.ottiptv.cc/huya/11352869 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1066/d0/fda0a975304c931c5cfe5ad53c71c0_180_135.jpg?1631599717" group-title="原创", DD-解说 +https://live.ottiptv.cc/huya/25650806 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1042/31/acbbe18041f7127171e91973b9a0a7_180_135.jpg?1470391302" group-title="一起看", 二次元baby +https://live.ottiptv.cc/huya/11601963 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1083/e6/c8a8f73cd3e9ce2365b531c5cc4a2d_180_135.jpg?1620009251" group-title="原创", 缔爵丶小阿杜 +https://live.ottiptv.cc/huya/16755322 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 赛文777 +https://live.ottiptv.cc/huya/21059607 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1035/ad/280f7ff49791a495327039fb1a436e_180_135.jpg?1462501270" group-title="一起看", 摄氏零度 +https://live.ottiptv.cc/huya/11602032 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1074/d5/a27f2ceed4e3069075c2125421c2e1_180_135.jpg?1726825202" group-title="原创", HagnaChannel +https://live.ottiptv.cc/huya/24692390 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1028/14/7f0d89370a38ad314ed0f9d4b041ca_180_135.jpg?1453971479" group-title="一起看", 老王夸我帅 +https://live.ottiptv.cc/huya/11352964 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1071/19/df6e379bbd90431e6ed2784e36733e_180_135.jpg?1585639543" group-title="一起看", 沉睡在你心底的光 +https://live.ottiptv.cc/huya/20985816 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1076/be/140d8157ed143266e17dafa4b4719e_180_135.jpg?1719456361" group-title="一起看", 江天大夫與 +https://live.ottiptv.cc/huya/26355857 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1083/61/effe3a49321578a9f231bbb4596194_180_135.jpg" group-title="一起看", 莫小辰 +https://live.ottiptv.cc/huya/11352916 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1068/80/6cf84f5d3eab043e34156080ac55b2_180_135.jpg?1445851450" group-title="一起看", 蓶1淳爷 +https://live.ottiptv.cc/huya/11336719 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1084/e7/973a4388a3a04c8b0d140b88dd6d92_180_135.jpg" group-title="一起看", 心疼得抱住胖胖的自己 +https://live.ottiptv.cc/huya/11342425 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="原创", 星光璀璨照夜阑 +https://live.ottiptv.cc/huya/30080211 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1053/ce/61375b2fe9c0f55459fb96da45ca4e_180_135.jpg?1612406833" group-title="一起看", 港剧推荐喵 +https://live.ottiptv.cc/huya/23902242 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1078/91/3367ea0a80ea301b63d92a7692d51b_180_135.jpg?1670154859" group-title="原创", 泛爱心说剧 +https://live.ottiptv.cc/huya/14734068 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1060/d7/19aa0fc321e03c21a62b4f2bc50ee9_180_135.jpg?1760936836" group-title="原创", 露娅、 +https://live.ottiptv.cc/huya/31031231 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1055/55/feafba98c920aade78809d72136eb1_180_135.jpg?1448278125" group-title="一起看", --娇妹 +https://live.ottiptv.cc/huya/11342404 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1055/11/1f43f57787ee080f431643233542c2_180_135.jpg" group-title="一起看", 可爱的小强 +https://live.ottiptv.cc/huya/11342435 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1020/1d/b7ddcc2fc40ee32b6e35bfa4d7cd1d_180_135.jpg?1581171506" group-title="一起看", 云初 +https://live.ottiptv.cc/huya/20969099 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1053/16/b6135e66b059e69226c89465b8f868_180_135.jpg?1746024574" group-title="原创", 奶贝可可 +https://live.ottiptv.cc/huya/30664021 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1035/33/9dd3bdc0381a4d9e4cd46e2a58ccd4_180_135.jpg?1602590871" group-title="一起看", 王纪超人 +https://live.ottiptv.cc/huya/21059551 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1061/a9/409a96fd9520f6c96beb1013ddb462_180_135.jpg?1729137525" group-title="原创", 剧能说 +https://live.ottiptv.cc/huya/30298490 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1016/6b/d7be47e56898b8dabdfa344522e6ce_180_135.jpg?1606206596" group-title="一起看", 好汉来也 +https://live.ottiptv.cc/huya/23652426 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1001/f7/f619d82184aaee854f1bd8912d7927_180_135.jpg?1542942334" group-title="一起看", 鸽宝小改改 +https://live.ottiptv.cc/huya/11601970 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1067/b0/84e235f07264c2a98849e38d2a3a8d_180_135.jpg?1720689955" group-title="一起看", 马呜呜 +https://live.ottiptv.cc/huya/29982631 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1002/80/aaf728ebf98bb13581be4460b091b1_180_135.jpg?1721814677" group-title="原创", 发疯小丛品鉴甄学 +https://live.ottiptv.cc/huya/30080163 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1076/01/1368cdc784736baf096892fcd5b12d_180_135.jpg?1450260313" group-title="一起看", 鄉8佬 +https://live.ottiptv.cc/huya/11352920 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1077/d5/d1e8d7f7ebd552fc52db2d96b2cfa4_180_135.jpg?1450947333" group-title="一起看", 我很忙 +https://live.ottiptv.cc/huya/11352950 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1083/32/304976fa3bbaae8c9eef96dd12be84_180_135.jpg" group-title="一起看", 呆萌小岳岳 +https://live.ottiptv.cc/huya/11342398 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1006/2e/63af68312cfe252c69328448baaf7f_180_135.jpg?1559260536" group-title="原创", 斌哥漫说 +https://live.ottiptv.cc/huya/18632116 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1020/b9/bea3cf116461d108609cf0fe6fd627_180_135.jpg?1716123791" group-title="原创", 西西姐姐 +https://live.ottiptv.cc/huya/29581116 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1036/66/5f360cfbcd1bbe1c2eca6702ba3f8d_180_135.jpg?1447425483" group-title="一起看", 逗比宝宝 +https://live.ottiptv.cc/huya/11342427 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1013/8c/15421ea7b413cd84687ea8dbb3ccec_180_135.jpg?1717143772" group-title="一起看", 雨落惊鸿人 +https://live.ottiptv.cc/huya/21059628 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1039/0b/da433697a0d23af259deca325c1e4d_180_135.jpg?1645769159" group-title="原创", 杰克动漫 +https://live.ottiptv.cc/huya/19757963 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1059/7a/cb8973377344af6c04bd31aecadc21_180_135.jpg?1640312947" group-title="一起看", 虎牙放映厅 +https://live.ottiptv.cc/huya/11602077 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1089/81/92cc5bf8aecc78b87a17e60f881af8_180_135.jpg?1456986139" group-title="一起看", 一片青青草原 +https://live.ottiptv.cc/huya/11352973 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="原创", 头上在眼前 +https://live.ottiptv.cc/huya/30307331 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 就有难再得 +https://live.ottiptv.cc/huya/30080151 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1067/e2/43b2ba5b42350ac6276304b3217bbd_180_135.jpg?1719997887" group-title="一起看", 更有又相见 +https://live.ottiptv.cc/huya/29982636 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1086/b5/dfb063865949424c7ec1a4930d1d47_180_135.jpg?1717144715" group-title="一起看", 我很怪丶但我不坏 +https://live.ottiptv.cc/huya/21059634 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1081/1f/2299d2ac65411dadbd97ab63104327_180_135.jpg?1594890930" group-title="一起看", 有妖气漫画-十冷 +https://live.ottiptv.cc/huya/21059550 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1074/26/823ee002e2e38bab635e88b2cfba6a_180_135.jpg?1582644118" group-title="一起看", 偶像在线 +https://live.ottiptv.cc/huya/20432237 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1061/a9/409a96fd9520f6c96beb1013ddb462_180_135.jpg?1729137525" group-title="原创", 剧能说 +https://live.ottiptv.cc/huya/30298490 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1086/b5/dfb063865949424c7ec1a4930d1d47_180_135.jpg?1717144715" group-title="一起看", 我很怪丶但我不坏 +https://live.ottiptv.cc/huya/21059634 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1081/1f/2299d2ac65411dadbd97ab63104327_180_135.jpg?1594890930" group-title="一起看", 有妖气漫画-十冷 +https://live.ottiptv.cc/huya/21059550 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1025/9a/4bbcd7d8408eae53ab34e1e7180307_180_135.jpg?1722422124" group-title="一起看", 繁花似锦小丽人 +https://live.ottiptv.cc/huya/30080189 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1049/f7/5aab1e5c04b4d47c603c64c279ab4f_180_135.jpg" group-title="一起看", 小猪猪 +https://live.ottiptv.cc/huya/11342416 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 就有难再得 +https://live.ottiptv.cc/huya/30080151 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1025/95/a3ac1868a00142761d7b9ab5883974_180_135.jpg?1766634496" group-title="原创", 九叔林正英 +https://live.ottiptv.cc/huya/30631704 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1031/58/4018f488b843a50819fc41ca7e9647_180_135.jpg?1607753977" group-title="原创", 力哥影視 +https://live.ottiptv.cc/huya/23419131 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1073/88/fa6c98b87181724117dd9f63c13344_180_135.jpg?1652412601" group-title="原创", 老P仔动漫 +https://live.ottiptv.cc/huya/26510802 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1069/e6/d5fc9f1a3a7f7b798a3f05b5d6278f_180_135.jpg?1603792146" group-title="一起看", 回忆大马甲 +https://live.ottiptv.cc/huya/21241816 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1093/72/3de59fa082d5e84e98bb5e85632b56_180_135.jpg?1606716799" group-title="一起看", 市民刘先生 +https://live.ottiptv.cc/huya/23728647 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1011/45/a9f032bbcfbf246ff7b11df96857cf_180_135.jpg?1600791332" group-title="一起看", 缠 +https://live.ottiptv.cc/huya/20969140 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="原创", 头上在眼前 +https://live.ottiptv.cc/huya/30307331 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1088/04/bbe941b1469ad84984899925d78338_180_135.jpg?1713413373" group-title="一起看", 道长我们私奔吧 +https://live.ottiptv.cc/huya/26355834 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1049/6d/cd3d96918d66017ae9eaa9e1eaa322_180_135.jpg?1445837265" group-title="一起看", 一只大懒虫 +https://live.ottiptv.cc/huya/11279251 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1085/a2/40851cf173c0d8475c03cb1167538b_180_135.jpg?1729650352" group-title="原创", 西部影坛 +https://live.ottiptv.cc/huya/30311497 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1027/0c/26e53f84e284e22cf9082c4c28131b_180_135.jpg?1598951846" group-title="原创", 越哥说电影 +https://live.ottiptv.cc/huya/15894162 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1065/f9/7df656f34e52818369ae297bd17713_180_135.jpg?1659689962" group-title="原创", 辟哥影视 +https://live.ottiptv.cc/huya/27653235 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1019/00/573c75890d96e0a162224a20016b88_180_135.jpg?1729482150" group-title="原创", 五哥观影团 +https://live.ottiptv.cc/huya/30307366 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1019/d3/9805b0c0dea4d38e9cf33562d9abd3_180_135.jpg?1604478148" group-title="一起看", 经典剧好看 +https://live.ottiptv.cc/huya/23490183 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1032/33/b3df44cfa83847c1197cf5b7ff5da8_180_135.jpg?1718271819" group-title="一起看", 骑士热音ing +https://live.ottiptv.cc/huya/29982613 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1016/c9/9d4901c202345f02624a0bf197f4c5_180_135.jpg?1646547610" group-title="原创", 糊了的胡萝卜 +https://live.ottiptv.cc/huya/25725150 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1072/a2/3e06c0b15fccd7229876afad43bac1_180_135.jpg?1602591689" group-title="原创", 狂野女孩i了吗 +https://live.ottiptv.cc/huya/21059559 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1076/e5/298bcd971ed7e33e267708099e76f6_180_135.jpg?1577356757" group-title="原创", 月光下 +https://live.ottiptv.cc/huya/20599549 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1086/66/92eea73419e298b87afa54a59b6dc0_180_135.jpg?1614062840" group-title="一起看", 战争电影放映厅 +https://live.ottiptv.cc/huya/21059618 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="原创", 重庆火锅青岚黄麻鸡 +https://live.ottiptv.cc/huya/30342855 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 主播小贞 +https://live.ottiptv.cc/huya/11352935 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1014/29/0c2eaf5f001aea61d85644c44fa84c_180_135.jpg?1741615191" group-title="原创", 大神影视 +https://live.ottiptv.cc/huya/30297011 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1048/43/69c68b5d956a19947a354f844c42f4_180_135.jpg" group-title="一起看", 重口味爱好者 +https://live.ottiptv.cc/huya/11352889 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 港剧热爱者 +https://live.ottiptv.cc/huya/29465857 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1007/7c/515e317ba8223a85e9590b17037705_180_135.jpg" group-title="一起看", 维达人 +https://live.ottiptv.cc/huya/11336725 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1009/3a/770b15813b31bf60818bde578099ab_180_135.jpg?1606720127" group-title="原创", 欧巴宋仲基 +https://live.ottiptv.cc/huya/23829474 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1023/a5/6a32717522a4521d758c7b16842840_180_135.jpg?1715915943" group-title="原创", 庄升秋 +https://live.ottiptv.cc/huya/29581262 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1033/ea/64cb10a6979fecfe09a3a9a30e1230_180_135.jpg?1612247327" group-title="一起看", TVB奇奇 +https://live.ottiptv.cc/huya/23865148 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1007/d2/27d4b681b266b4cc6c73dbaddce23d_180_135.jpg?1711957871" group-title="一起看", 新奇好玩喵 +https://live.ottiptv.cc/huya/21059610 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1000/48/2850892eb7cb94b8fcb1e049cefd0c_180_135.jpg?1612427932" group-title="一起看", 十八里铺大当家 +https://live.ottiptv.cc/huya/21059562 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1095/88/30b87b0089d3fb73c3040ff5ea6a19_180_135.jpg?1618468236" group-title="一起看", 超人的归来 +https://live.ottiptv.cc/huya/21059588 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1025/de/eae059a5ee332ee62ebe1dbd90e9c0_180_135.jpg?1459218859" group-title="一起看", -若凌Provence- +https://live.ottiptv.cc/huya/11352955 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1077/8c/b328d8bc24482213c26852243abb1b_180_135.jpg?1586498617" group-title="一起看", 流浪者行 +https://live.ottiptv.cc/huya/20985829 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1000/e3/41904b9204b5d7948559e4c86c20f5_180_135.jpg?1588910267" group-title="原创", 阿良说美剧 +https://live.ottiptv.cc/huya/20488841 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 电视剧痴迷者 +https://live.ottiptv.cc/huya/29465856 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1020/a3/6941c2b4901e54c75a32d2ac66b747_180_135.jpg?1740364539" group-title="原创", LX娱乐-招主播 +https://live.ottiptv.cc/huya/28259384 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1045/e0/d0161ea5ca9757f85f6f036b4f0216_180_135.jpg?1612509252" group-title="一起看", 是西门大官人啊 +https://live.ottiptv.cc/huya/21059571 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1018/6f/059c6d6a54ebcaeca5c6c695e85c1a_180_135.jpg?1606719161" group-title="一起看", 采茶大师 +https://live.ottiptv.cc/huya/23728693 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1084/47/c2f18aa9b3e3bef6d544692fc5c0b2_180_135.jpg?1609127632" group-title="一起看", 我是周粤驰 +https://live.ottiptv.cc/huya/23864973 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1087/0c/c8e5bab292814fbfc6fb3bd2da62a9_180_135.jpg?1533019304" group-title="一起看", 动作大片放映厅 +https://live.ottiptv.cc/huya/10871113 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1056/e7/02c24bc20e728a2ea16c28774b4abc_180_135.jpg?1585712814" group-title="一起看", 哥哥永恒 +https://live.ottiptv.cc/huya/21241769 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="原创", 文君看剧 +https://live.ottiptv.cc/huya/30363916 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 而莫善者恶之 +https://live.ottiptv.cc/huya/26355775 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1022/89/11cce4da27cfacf33a8476d8972283_180_135.jpg" group-title="一起看", 安逗和黑仔 +https://live.ottiptv.cc/huya/11342424 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1000/ca/54568a4f93540aca8644aa8038b0e4_180_135.jpg?1719545322" group-title="一起看", 耳里如闻疑忠良 +https://live.ottiptv.cc/huya/26355858 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1087/9c/8ae635709642edde287e0a23d506c5_180_135.jpg?1621962989" group-title="原创", 野行者 +https://live.ottiptv.cc/huya/20072663 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1022/db/535e679fd698b699ef67a508afabc7_180_135.jpg?1446036068" group-title="一起看", 战斗联盟 +https://live.ottiptv.cc/huya/11342413 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1057/4b/6bf91b89b58eb5cc31e329acce4549_180_135.jpg?1611543796" group-title="一起看", 狗哥吃火锅2 +https://live.ottiptv.cc/huya/21059624 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1074/eb/7e846060cdd5aa13b82e78688056ec_180_135.jpg?1606717954" group-title="一起看", 梁非凡吔X啦 +https://live.ottiptv.cc/huya/23749083 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1073/e0/c572dcedbcb2aca61df5c91649142d_180_135.jpg?1718780469" group-title="一起看", 摇滚足球本 +https://live.ottiptv.cc/huya/29982616 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1081/94/5aa8562286a3e8de48e9fd359beeec_180_135.jpg?1766634733" group-title="原创", 喜剧大赏 +https://live.ottiptv.cc/huya/30631713 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1065/e5/cc68debd11090522603f438e04d4ce_180_135.jpg?1697438550" group-title="原创", 楚门聊电影 +https://live.ottiptv.cc/huya/16507906 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1097/d1/52ab54bc731691a8f870112ea0d0fd_180_135.jpg?1607320273" group-title="一起看", 老板给次机会吧 +https://live.ottiptv.cc/huya/23829447 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1021/a9/9d5e1e396c33bd48756d8d82b7cb4b_180_135.jpg?1447731986" group-title="一起看", 简小熙 +https://live.ottiptv.cc/huya/11342399 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1078/e8/07c02613a7eed27d7af43844c7edec_180_135.jpg?1720772890" group-title="一起看", 疯狂的音乐人 +https://live.ottiptv.cc/huya/29982625 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1080/8d/cc05082f5fb4785d4b4489a7206be3_180_135.jpg?1721898506" group-title="一起看", 微凉不小行 +https://live.ottiptv.cc/huya/30080215 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1016/0b/4a880dbd549aff19603c8689f33a5c_180_135.jpg?1730725406" group-title="原创", 战士吹沙埃 +https://live.ottiptv.cc/huya/30344039 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1009/6a/13469d6754c3de8f2d3d9fd1de86dd_180_135.jpg?1767158428" group-title="原创", 尺度 +https://live.ottiptv.cc/huya/19192560 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1002/7f/1e816e881a7ca2bd145888541dcf28_180_135.jpg?1463659657" group-title="一起看", 性感大妈 +https://live.ottiptv.cc/huya/11602075 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1053/87/75bf5101b0cd4db271921b24a8d089_180_135.jpg?1583921777" group-title="一起看", 生活技巧 +https://live.ottiptv.cc/huya/20985833 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1032/14/1da44a75370718605270e565584a5b_180_135.jpg?1446441363" group-title="一起看", 暴走君丶阿罪 +https://live.ottiptv.cc/huya/11342423 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1098/5b/401b693bfad319a15519690c508375_180_135.jpg?1446036147" group-title="一起看", 薛教授 +https://live.ottiptv.cc/huya/11342385 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1036/6c/2dc887a2614b4cef39edbc5b55a63b_180_135.jpg?1612406531" group-title="原创", 港剧大放送 +https://live.ottiptv.cc/huya/23903106 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="原创", 泱泱看剧 +https://live.ottiptv.cc/huya/30373462 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1022/06/2212e6c4b6434fcc6cd91aebb1ae86_180_135.jpg?1722311448" group-title="一起看", 南柯寒梦 +https://live.ottiptv.cc/huya/30080193 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1007/91/01317910fc93f0b14905e44a4431dc_180_135.jpg?1581172043" group-title="一起看", 星河信箱 +https://live.ottiptv.cc/huya/20969101 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1066/cc/40652547d60a657ae7235ba49b22e1_180_135.jpg?1723789589" group-title="一起看", 吕梓昂 +https://live.ottiptv.cc/huya/30080248 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1014/47/b19163136f58c226e6088bcfe72f9e_180_135.jpg?1551411726" group-title="原创", 乔我说动漫频道 +https://live.ottiptv.cc/huya/17941367 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1046/2c/0c86689d02631ca9acaf2e12101dd8_180_135.jpg?1721810134" group-title="一起看", 西班牙七七点评 +https://live.ottiptv.cc/huya/30080161 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1067/5c/ddd1fc1b67a9a7ef7f757c37493588_180_135.jpg?1633943282" group-title="原创", 大鱼爱路飞 +https://live.ottiptv.cc/huya/25818873 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 西塘美景 +https://live.ottiptv.cc/huya/29465893 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 电视精彩连续剧 +https://live.ottiptv.cc/huya/29465848 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1024/10/1cdc057690ef4664429bdc65908f1a_180_135.jpg?1733915448" group-title="原创", 小丰爱追剧 +https://live.ottiptv.cc/huya/30439802 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1079/5b/41143dc8f70271483ab288223ee851_180_135.jpg?1766995435" group-title="原创", 李连杰-功夫皇帝 +https://live.ottiptv.cc/huya/30631746 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1068/71/301d8cad8d9b62708d9d690c8769be_180_135.jpg?1646813145" group-title="一起看", 悬疑放映厅 +https://live.ottiptv.cc/huya/26355797 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1072/bf/4e1d463460d7c817654f15afebea48_180_135.jpg" group-title="一起看", 前无古人147 +https://live.ottiptv.cc/huya/11352901 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1034/49/70e9684ca9702b380d509ee709f69d_180_135.jpg?1721978090" group-title="一起看", 独一无二小鱼 +https://live.ottiptv.cc/huya/30080219 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1011/3a/94ed3402adcd9dfb2074578756c65b_180_135.jpg?1607659085" group-title="原创", 小丑讲电影 +https://live.ottiptv.cc/huya/16857432 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1030/a1/6ed0639048c730a7cbfca75ac0caee_180_135.jpg?1606718755" group-title="一起看", 我是靓宝 +https://live.ottiptv.cc/huya/23728660 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1063/75/2bfcb77c65e69aba549bcf0435d7c1_180_135.jpg?1712732555" group-title="一起看", 毁你男神做你男人 +https://live.ottiptv.cc/huya/353798 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="原创", 仙人见老聃归 +https://live.ottiptv.cc/huya/30080212 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1063/d0/50ebf358fb4b19b7507b652f85f905_180_135.jpg?1621071408" group-title="原创", 吾聊电影 +https://live.ottiptv.cc/huya/16424416 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", LOL动画剧情解说 +https://live.ottiptv.cc/huya/29982690 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1095/c2/105eb1f7e5c0e8926b19149cd334b9_180_135.jpg" group-title="一起看", 微微爱宝宝 +https://live.ottiptv.cc/huya/11342422 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 港片经典回忆 +https://live.ottiptv.cc/huya/29465849 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1069/ab/a7c45fb73a980864e316d743463dac_180_135.jpg?1575093914" group-title="原创", YeShi小哥 +https://live.ottiptv.cc/huya/14363949 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1007/f7/bc9b72fbdfbe155c8810ed60ac9344_180_135.jpg?1620733428" group-title="原创", S哥影视 +https://live.ottiptv.cc/huya/24720260 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1096/f0/fdd8c33af8aaba00ad6b19766ff0f2_180_135.jpg?1612406459" group-title="一起看", 港剧日常 +https://live.ottiptv.cc/huya/23903123 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1002/82/0058ea0f1eb623bb42c768ca79e54f_180_135.jpg?1625644474" group-title="原创", 小金很大 +https://live.ottiptv.cc/huya/30307351 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1067/6f/6090b09d49e3b52b49c34b557e327a_180_135.jpg?1721365569" group-title="一起看", 冬日暖心猫 +https://live.ottiptv.cc/huya/29982669 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1038/2e/6566e3e908ec0ae09387e3ab594ba2_180_135.jpg?1446441422" group-title="一起看", 核桃姐姐 +https://live.ottiptv.cc/huya/11342390 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1073/21/b63e185cddbadc162c17aa3ca141e9_180_135.jpg?1582644415" group-title="一起看", 小年夜 +https://live.ottiptv.cc/huya/20432229 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1042/aa/147d2c64e32de9ce1f6477d712ce88_180_135.jpg?1601356500" group-title="一起看", 华视-悬疑恐怖 +https://live.ottiptv.cc/huya/23358441 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1025/bb/1e0859d4333bfb299215d9301fce0f_180_135.jpg?1555061894" group-title="一起看", 第一放映室 +https://live.ottiptv.cc/huya/11352979 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1070/37/a68ce7e0bc3cd757cc3fe79fbdb2e4_180_135.jpg?1446036170" group-title="一起看", 张医生 +https://live.ottiptv.cc/huya/11342415 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1041/d6/5707d35e9871fead5e7364d2b2e222_180_135.jpg?1721815630" group-title="一起看", 李径看奥运 +https://live.ottiptv.cc/huya/30080153 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1078/d7/68c52c18386ff4a36746a4b76adda1_180_135.jpg?1718247877" group-title="一起看", 三剑客带你看 +https://live.ottiptv.cc/huya/29982595 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1071/c0/6e13fe1fc9a58ee88ce3945e5d161c_180_135.jpg?1582216902" group-title="一起看", 电音857 +https://live.ottiptv.cc/huya/20432231 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1042/e6/77bde633dbe23d74a5e303d8af9589_180_135.jpg?1710923318" group-title="一起看", 王亦天之高也 +https://live.ottiptv.cc/huya/29465874 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1004/ee/1a3987380a4acfa5a840fd8085f72f_180_135.jpg?1559035163" group-title="一起看", 中二的骚年 +https://live.ottiptv.cc/huya/11602054 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1027/85/0e23f22c9cc69dfafcfe3e16076586_180_135.jpg?1450856839" group-title="一起看", Edinburgh南空 +https://live.ottiptv.cc/huya/11352890 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1043/1b/1f00f81ac5ebce10569c9e1abc426e_180_135.jpg?1456451235" group-title="一起看", 飙车的老司机 +https://live.ottiptv.cc/huya/11352894 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 武侠电影放映厅 +https://live.ottiptv.cc/huya/29982611 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1004/e7/1ed8ce4ed36fd1d8550abbc5badfb2_180_135.jpg?1714037639" group-title="一起看", 老来事業斷橋邊 +https://live.ottiptv.cc/huya/26355853 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1048/b0/2ba54b7171c06c6bc08f4ab24f5899_180_135.jpg?1646810966" group-title="一起看", 寒山初弄色 +https://live.ottiptv.cc/huya/26355765 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1049/1f/6081dd7d6587c51625303be294164f_180_135.jpg?1542942651" group-title="一起看", 小怪兽、 +https://live.ottiptv.cc/huya/11602044 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1078/b1/2f13ab842010ed437e5dc4422f0982_180_135.jpg?1705565239" group-title="一起看", 一川星悬- +https://live.ottiptv.cc/huya/29465870 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1095/e0/616179d93ecd7d0b061384491a0b25_180_135.jpg?1646811066" group-title="一起看", 猛志百般红 +https://live.ottiptv.cc/huya/26355865 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1009/59/7da5556311d997e6eda05c345dcd65_180_135.jpg" group-title="一起看", 小亮亮 +https://live.ottiptv.cc/huya/11342432 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1046/19/3ee0ad4c36da5626f9c61387b2608c_180_135.jpg?1445851228" group-title="一起看", 嘤嘤嘤 +https://live.ottiptv.cc/huya/11336579 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1057/76/c5f8987e1979df47a7716920337988_180_135.jpg?1598597631" group-title="一起看", 噜吖噜 +https://live.ottiptv.cc/huya/21241790 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1090/ff/59f1ae401bf269971d2f5584f31cf9_180_135.jpg?1713426907" group-title="一起看", 小虎牙-UJvLCU73jW +https://live.ottiptv.cc/huya/26355828 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1017/7a/696816a48750a1b1febc265c1c6515_180_135.jpg?1712738032" group-title="原创", 如来解说 +https://live.ottiptv.cc/huya/29856678 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1061/f3/5da050899ac0ea8ba7228a7ce3967c_180_135.jpg?1724120925" group-title="一起看", 一米八砍竹竿 +https://live.ottiptv.cc/huya/30080252 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1060/94/d5a68ebfead345512f78da4748d8d0_180_135.jpg?1582818571" group-title="原创", 大象放映室 +https://live.ottiptv.cc/huya/21277391 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1097/40/25c6da310ef8a04c6c8336ce89dddf_180_135.jpg?1767519787" group-title="原创", 冯小刚-导演 +https://live.ottiptv.cc/huya/30631756 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1007/5a/5edd7a303264862d1055b18b9f7f68_180_135.jpg?1713854969" group-title="原创", 影视插班生 +https://live.ottiptv.cc/huya/29882513 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1025/bb/1e0859d4333bfb299215d9301fce0f_180_135.jpg?1555061894" group-title="一起看", 第一放映室 +https://live.ottiptv.cc/huya/11352979 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1005/90/1a4f1963fbf0d67b4768f640b9b824_180_135.jpg?1704425786" group-title="一起看", 崇礼燕平 +https://live.ottiptv.cc/huya/29465862 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1017/7a/696816a48750a1b1febc265c1c6515_180_135.jpg?1712738032" group-title="原创", 如来解说 +https://live.ottiptv.cc/huya/29856678 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1087/dc/6830f7b571924b0039cb898f197b7c_180_135.jpg?0" group-title="一起看", 小爱酱 +https://live.ottiptv.cc/huya/11352922 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1096/f0/fdd8c33af8aaba00ad6b19766ff0f2_180_135.jpg?1612406459" group-title="一起看", 港剧日常 +https://live.ottiptv.cc/huya/23903123 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1047/20/39797b6426c4f9d36be314d4042659_180_135.jpg?1646813303" group-title="一起看", 微风孝王都 +https://live.ottiptv.cc/huya/26355794 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1009/59/7da5556311d997e6eda05c345dcd65_180_135.jpg" group-title="一起看", 小亮亮 +https://live.ottiptv.cc/huya/11342432 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1027/85/0e23f22c9cc69dfafcfe3e16076586_180_135.jpg?1450856839" group-title="一起看", Edinburgh南空 +https://live.ottiptv.cc/huya/11352890 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1000/a0/93b0c606e6c811ada36ad4dc70e50b_180_135.jpg?1646811012" group-title="一起看", 惡紫之奪氈酒 +https://live.ottiptv.cc/huya/26355866 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1091/e8/0e13b270f7dada061d269ab8083328_180_135.jpg?1720159620" group-title="一起看", 甘雨超级甜 +https://live.ottiptv.cc/huya/21059620 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 港片魅力无限 +https://live.ottiptv.cc/huya/29465852 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1072/e8/dd0188b4dd10f3d769092b33a2c471_180_135.jpg?1601279306" group-title="一起看", 华视-动作大片 +https://live.ottiptv.cc/huya/23352535 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1063/c4/cec137bcfb0fcd9f3e91d7d4874404_180_135.jpg" group-title="一起看", 开船老湿基 +https://live.ottiptv.cc/huya/11342387 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1043/1b/1f00f81ac5ebce10569c9e1abc426e_180_135.jpg?1456451235" group-title="一起看", 飙车的老司机 +https://live.ottiptv.cc/huya/11352894 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1062/89/406464a7562a4b18b64c997f6cff78_180_135.jpg?1589440396" group-title="一起看", 韵古琴香 +https://live.ottiptv.cc/huya/21241772 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1009/5f/21461e7a28f5637f73e0b194947509_180_135.jpg?1625716550" group-title="原创", 喜仔的世界 +https://live.ottiptv.cc/huya/17098448 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1062/69/6cb628f7784cdc3baccbe0a14d8b51_180_135.jpg" group-title="一起看", 二次元控 +https://live.ottiptv.cc/huya/11352912 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1010/e0/4c8f2401f7859e8e1837e9b9fdcdd0_180_135.jpg?1711595422" group-title="一起看", 落于巧克力 +https://live.ottiptv.cc/huya/29465879 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="原创", 农校小绿 +https://live.ottiptv.cc/huya/30080213 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1034/69/d5e1617e5f7fa6f200eb63ebc55629_180_135.jpg?1721813785" group-title="一起看", 三剑客陪你看 +https://live.ottiptv.cc/huya/30080162 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1050/f0/d2bea97c07b5f664c9b344e648db6d_180_135.jpg" group-title="一起看", 杀马特死神 +https://live.ottiptv.cc/huya/11352875 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1090/29/b2a1ae3f536f70847a4479e32db6eb_180_135.jpg?1445854580" group-title="一起看", 北岛的诗 +https://live.ottiptv.cc/huya/11336591 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1025/00/efaddf8c07cf508b53c0c0e658d601_180_135.jpg?1721374809" group-title="一起看", 古古三十年 +https://live.ottiptv.cc/huya/29982675 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1047/72/11beb61dbef2cbd49f7a144ba9b459_180_135.jpg?1612427776" group-title="一起看", 冰火岛一霸 +https://live.ottiptv.cc/huya/21059563 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1097/13/ba4add00462ecf4ffb6ca602017a6f_180_135.jpg?1463659716" group-title="一起看", loVe、飘零 +https://live.ottiptv.cc/huya/11602074 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1008/7a/edec810dfc733559981faa88ca7eab_180_135.jpg?1713512754" group-title="一起看", 粤语电影放映厅 +https://live.ottiptv.cc/huya/21059572 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1091/9e/e463be76531d74ab2e9336d15958c0_180_135.jpg?1583216680" group-title="一起看", 维思维 +https://live.ottiptv.cc/huya/20985802 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1006/f4/955b247b91a47c27c5bc3726af26f2_180_135.jpg?1533208010" group-title="原创", 哀是麦子的球迷 +https://live.ottiptv.cc/huya/16162176 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1088/a3/e665467ff0d6b507d49c578f79ca9b_180_135.jpg?1721984654" group-title="一起看", 体坛精彩速递 +https://live.ottiptv.cc/huya/30080196 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1030/d3/87e32b1bd9a1210c8671e55294dc5c_180_135.jpg?1721978212" group-title="一起看", 我是翩翩少年郎 +https://live.ottiptv.cc/huya/30080221 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1013/a4/085c93cdfac46cf422f30762d90ecd_180_135.jpg?1583838976" group-title="一起看", 小虎牙-QGOoMx3C4k +https://live.ottiptv.cc/huya/20985822 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1041/5b/f41912bf284afbf19ff741b17fdebe_180_135.jpg?1646814225" group-title="一起看", 斷桥斯氏杯 +https://live.ottiptv.cc/huya/26355786 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="原创", 雨满小满天 +https://live.ottiptv.cc/huya/30080214 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1090/ff/59f1ae401bf269971d2f5584f31cf9_180_135.jpg?1713426907" group-title="一起看", 小虎牙-UJvLCU73jW +https://live.ottiptv.cc/huya/26355828 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1005/8d/ffe7d71b10f5cbfc835b8e90ee32fb_180_135.jpg?1449121749" group-title="一起看", 第十门 +https://live.ottiptv.cc/huya/11352883 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1038/2e/6566e3e908ec0ae09387e3ab594ba2_180_135.jpg?1446441422" group-title="一起看", 核桃姐姐 +https://live.ottiptv.cc/huya/11342390 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1098/55/c527268490930bfbbac96902561621_180_135.jpg?1646813560" group-title="一起看", 迎宾桥米莱迪 +https://live.ottiptv.cc/huya/26355790 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1062/73/59adac5e5201959e72c7364c0db47c_180_135.jpg?1612406138" group-title="一起看", 港剧课代表 +https://live.ottiptv.cc/huya/23863895 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1014/83/104c6e693c2110b0bf0893bf021c1b_180_135.jpg?1715677996" group-title="一起看", 老实的小虎牙 +https://live.ottiptv.cc/huya/21059609 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1018/a6/302b61c94c22c8ce24ca9e02b158ff_180_135.jpg?1617948788" group-title="一起看", 沙雕剧情梗中梗 +https://live.ottiptv.cc/huya/24648646 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1012/17/2e3500e02e14ccd14fada13ac9193b_180_135.jpg?1722327091" group-title="一起看", 无花果不结果 +https://live.ottiptv.cc/huya/30080228 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1024/42/a76285b1991c82d9aeca97ca7b7601_180_135.jpg?1447413081" group-title="一起看", 扫地僧 +https://live.ottiptv.cc/huya/11342394 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="原创", 小马追剧 +https://live.ottiptv.cc/huya/30310431 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1098/31/c1ea229e82b134568d79cfaa55427f_180_135.jpg?1719997400" group-title="一起看", VK棒棒鸡看剧 +https://live.ottiptv.cc/huya/29982640 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 我是一颗小虎牙 +https://live.ottiptv.cc/huya/21241840 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1095/e0/616179d93ecd7d0b061384491a0b25_180_135.jpg?1646811066" group-title="一起看", 猛志百般红 +https://live.ottiptv.cc/huya/26355865 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 港片经典回忆 +https://live.ottiptv.cc/huya/29465849 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 我是一颗小虎牙 +https://live.ottiptv.cc/huya/24314021 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1004/90/9a2a43815067279991409eb69a08df_180_135.jpg?1542862062" group-title="原创", 幻海航行 +https://live.ottiptv.cc/huya/17105786 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1004/00/3de40c53fb57944aafd26e640bf445_180_135.jpg?1721976870" group-title="一起看", 追娘娘陪你看 +https://live.ottiptv.cc/huya/30080182 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1085/3c/d850905ce519759fdd06a417bd8200_180_135.jpg" group-title="一起看", 槽老师 +https://live.ottiptv.cc/huya/11336571 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1011/aa/b6dbf58bfe00fa986004d69dcd414b_180_135.jpg?1612247776" group-title="一起看", 阿虎爱港剧 +https://live.ottiptv.cc/huya/23863833 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1091/84/15dd76e9355b56ace1e811cc3754e9_180_135.jpg?1719456204" group-title="一起看", 方显出英仍无骨 +https://live.ottiptv.cc/huya/26355854 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1070/5d/96c1e2e78c5d9162b0413108cd6c62_180_135.jpg?1582543800" group-title="一起看", 我是小鲜肉 +https://live.ottiptv.cc/huya/20432235 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1088/f4/ba5d043902ed5ae09ae44e3026f5a8_180_135.jpg?1453892819" group-title="一起看", 来听歌呀 +https://live.ottiptv.cc/huya/11352913 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1042/e6/77bde633dbe23d74a5e303d8af9589_180_135.jpg?1710923318" group-title="一起看", 王亦天之高也 +https://live.ottiptv.cc/huya/29465874 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 情节戏剧 +https://live.ottiptv.cc/huya/29465854 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1091/2d/7bb2f158c9d3f0896f6ed313afc638_180_135.jpg?1456304717" group-title="一起看", 笙歌 +https://live.ottiptv.cc/huya/11352965 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 电视剧好看 +https://live.ottiptv.cc/huya/29465860 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1042/8a/2da4ab2ee277d62423abf995594647_180_135.jpg?1489542636" group-title="一起看", 迷失 +https://live.ottiptv.cc/huya/11602041 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="原创", 狼肉-影视故事 +https://live.ottiptv.cc/huya/30375709 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1004/af/81aa0a056d91436536e179e96b51eb_180_135.jpg?1721898032" group-title="一起看", 滴水恋 +https://live.ottiptv.cc/huya/30080218 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1077/6b/31e9d62a16364b1e0c76009763d03c_180_135.jpg?1621495904" group-title="原创", 拳满天下 +https://live.ottiptv.cc/huya/18152427 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 港剧经典回味无穷 +https://live.ottiptv.cc/huya/29465861 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1044/50/e2d8c36ce93650aa5590dff53c7726_180_135.jpg?1717726409" group-title="一起看", 陌哨面 +https://live.ottiptv.cc/huya/26355852 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1006/e9/c8c7e7e3fe872a8d5ac413a033a88b_180_135.jpg?1463660408" group-title="一起看", 北岛南城 +https://live.ottiptv.cc/huya/11601962 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1020/a3/e2858b2de03ea1c6701aa1a1d599f3_180_135.jpg?1704874596" group-title="一起看", 今朝之长天 +https://live.ottiptv.cc/huya/29465866 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1008/bd/e16d07a0b000d352c2966c7fc32bd8_180_135.jpg?1612508823" group-title="一起看", 大铁锅炖大大鹅 +https://live.ottiptv.cc/huya/21059574 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 艺术旅者 +https://live.ottiptv.cc/huya/20985798 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1010/6a/6dda2c3b0bef2346fb706744661210_180_135.jpg?1668057180" group-title="原创", 君子杉 +https://live.ottiptv.cc/huya/15321830 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1002/7e/314c6a688a32cf27cc31abaf3a3fb3_180_135.jpg" group-title="一起看", 4号流水线的李小花 +https://live.ottiptv.cc/huya/11601957 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1070/a1/74b528fdf98262c5e98348f48be491_180_135.jpg?1646813482" group-title="一起看", 合班阿離 +https://live.ottiptv.cc/huya/26355792 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 果子山薩科 +https://live.ottiptv.cc/huya/26355823 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1061/f0/c11edcd69348c39482354e379f3aba_180_135.jpg?1609139259" group-title="一起看", 香港喜剧大全 +https://live.ottiptv.cc/huya/23865080 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1067/9c/0e74be1209e616b763007026fb84d3_180_135.jpg?1712904882" group-title="一起看", 奇幻电影放映厅 +https://live.ottiptv.cc/huya/26355847 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1077/3d/c3e894c52edd9d1dedb6dd2b6c8407_180_135.jpg" group-title="一起看", 胖次过肩摔 +https://live.ottiptv.cc/huya/11352903 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1020/4a/86d682413ad4dcced57936c5358cd0_180_135.jpg?1447731638" group-title="一起看", 陌离-小欣 +https://live.ottiptv.cc/huya/11342397 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1005/85/fef4985d0e7ca734eeaa3ebb380c7b_180_135.jpg?1606889447" group-title="一起看", 追剧大湾区 +https://live.ottiptv.cc/huya/23735126 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1087/04/766774e5a4ecf6f00dcc05df5ca14e_180_135.jpg?1722331164" group-title="一起看", 匹马泪沾襟 +https://live.ottiptv.cc/huya/30080137 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1006/76/48b0a1d09e6552d3f5404bb539b8bb_180_135.jpg?1604504230" group-title="一起看", 瓦萨卡 +https://live.ottiptv.cc/huya/20969131 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1075/69/3b1afbeb8557db72375f681287281d_180_135.jpg?1713845275" group-title="一起看", 永艳金铭 +https://live.ottiptv.cc/huya/26355839 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1093/f7/f4c19686b04468c103cbb07d211585_180_135.jpg?1723004396" group-title="一起看", 落露小鸟 +https://live.ottiptv.cc/huya/30080241 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1039/55/0b39ba8aee814a7c723f00d36952e6_180_135.jpg?1698113271" group-title="原创", 君陌观影 +https://live.ottiptv.cc/huya/29420446 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1017/fc/511216a2982774bffb462250a8a03c_180_135.jpg?1453969747" group-title="一起看", 主播辣眼睛 +https://live.ottiptv.cc/huya/11352915 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1025/95/5b6e5161762e150933616d9be72320_180_135.jpg?1602591499" group-title="一起看", 一只梦幻小萌虎 +https://live.ottiptv.cc/huya/21059556 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 观剧无限惊喜 +https://live.ottiptv.cc/huya/29465853 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1076/b5/c088c7dc6b84aabd17a1e198bc0694_180_135.jpg?1596715717" group-title="一起看", 千里 +https://live.ottiptv.cc/huya/20985776 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 葱爆牛柳鱂魚 +https://live.ottiptv.cc/huya/26355778 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1043/de/95237bed6ea80377572221408f900a_180_135.jpg?1713860620" group-title="一起看", 横而为己任 +https://live.ottiptv.cc/huya/26355837 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1076/cc/5884c5853ab4abc2bc02015e137302_180_135.jpg?1721206629" group-title="一起看", 冬至小肉丸子圈圈 +https://live.ottiptv.cc/huya/30080141 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 剧情扣人心弦 +https://live.ottiptv.cc/huya/29465850 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1071/9c/586e7042bf875e3d119510a2be2968_180_135.jpg?1606717812" group-title="一起看", 我才是厨神 +https://live.ottiptv.cc/huya/23728595 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1093/db/86569826dc9341d1c79fe420e2f8aa_180_135.jpg?1721880114" group-title="一起看", super一拳超人 +https://live.ottiptv.cc/huya/30080169 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1044/56/9e3acb6cc424c75f06d30fade0ba1f_180_135.jpg?1719416113" group-title="一起看", 一起看看球 +https://live.ottiptv.cc/huya/29982695 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1011/45/c66df9487a156d5561a0b2a16bd7fe_180_135.jpg" group-title="一起看", 初心 +https://live.ottiptv.cc/huya/11352941 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1012/c3/e9914f390f6bcf87ba6b3c99dce4dd_180_135.jpg?1599040475" group-title="一起看", DrummerSubin +https://live.ottiptv.cc/huya/21241800 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1083/8d/af10ba9044227484170818bf0059fa_180_135.jpg?1721207327" group-title="一起看", 视死思项羽 +https://live.ottiptv.cc/huya/29982655 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1030/74/6bb7ec6706120f91025e48b5a6d245_180_135.jpg?1447731426" group-title="一起看", 炙恋兽兽 +https://live.ottiptv.cc/huya/11342428 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1090/c8/aed3a2aca85bfc846d07afbeaaaebc_180_135.jpg?1597832212" group-title="一起看", 钱丢丢丢 +https://live.ottiptv.cc/huya/20969127 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", julie +https://live.ottiptv.cc/huya/20969142 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1049/3a/3f50dc18208783c6c9f5b9a76c59b2_180_135.jpg?1453112883" group-title="一起看", 尐饭团 +https://live.ottiptv.cc/huya/11352907 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1009/f6/41e59ae94805ed7aba7aec4127ef6a_180_135.jpg?1606807792" group-title="一起看", Amy姐 +https://live.ottiptv.cc/huya/23746486 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1033/74/4e53152975413e83dc7ab387ee5230_180_135.jpg?1449121897" group-title="一起看", -惟美 +https://live.ottiptv.cc/huya/11352885 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1016/64/d5ad02c1407df311e947379ae3e5c9_180_135.jpg?1721898598" group-title="一起看", 我是大侠闯江湖 +https://live.ottiptv.cc/huya/29982667 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1013/27/aebe514d430be85a0c9f17744ba779_180_135.jpg?1721374541" group-title="一起看", 布谷bugu +https://live.ottiptv.cc/huya/29982671 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1006/32/cfe328401c468669e1b6f7c2a54d81_180_135.jpg?1719999334" group-title="一起看", 娱乐bb机 +https://live.ottiptv.cc/huya/29982635 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1051/6a/956376832afedcbee50c9226fe0670_180_135.jpg?1582889408" group-title="一起看", CRE8轰脑循环 +https://live.ottiptv.cc/huya/21028268 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1077/5e/99d75556e1474580a4cabb92a47ad4_180_135.jpg?1729851129" group-title="一起看", 泉上老见示 +https://live.ottiptv.cc/huya/29982664 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1071/3d/77afb924a23e7769786046631aa1dc_180_135.jpg?1724121303" group-title="一起看", 小猪包大米 +https://live.ottiptv.cc/huya/30080253 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 我是一颗小虎牙 +https://live.ottiptv.cc/huya/24314163 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1008/38/62e3c68fca077f3ad9b19c68972082_180_135.jpg?1607323563" group-title="一起看", 做人最要紧开心 +https://live.ottiptv.cc/huya/23824164 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1005/bf/cd009e166ee5f1c91f1f9391be1b5e_180_135.jpg?1723004070" group-title="一起看", 海浪拍岸热情妹 +https://live.ottiptv.cc/huya/30080239 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1075/77/83e474b7c44fbb7ac8315ded8285c2_180_135.jpg?1646814620" group-title="一起看", 看似斐濟 +https://live.ottiptv.cc/huya/26355780 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1082/df/61e2623fd07d4fd06b7aaeae7fab97_180_135.jpg?1721374764" group-title="一起看", 大可加冰不加可 +https://live.ottiptv.cc/huya/29982672 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 电影最TOP2 +https://live.ottiptv.cc/huya/29982676 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1049/fe/16729c8ce149ec3f4a60d8e5a1fac9_180_135.jpg?1618468403" group-title="一起看", 周星星梦里的朱茵 +https://live.ottiptv.cc/huya/21059587 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1012/c3/e9914f390f6bcf87ba6b3c99dce4dd_180_135.jpg?1599040475" group-title="一起看", DrummerSubin +https://live.ottiptv.cc/huya/21241800 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1027/fa/8f5db9754fd01e41207602c98b19c8_180_135.jpg?1589186024" group-title="一起看", 【僵尸】24小时放映厅 +https://live.ottiptv.cc/huya/19285234 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1005/bf/cd009e166ee5f1c91f1f9391be1b5e_180_135.jpg?1723004070" group-title="一起看", 海浪拍岸热情妹 +https://live.ottiptv.cc/huya/30080239 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1006/f2/21d12c202a02c9b4168276f91a71c0_180_135.jpg?1618469113" group-title="一起看", 翦元良 +https://live.ottiptv.cc/huya/21059596 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="原创", 诡计腰柳中空 +https://live.ottiptv.cc/huya/30307341 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1043/32/306c729aec796334198aa8e790f97c_180_135.jpg?1525869137" group-title="原创", 宇宙无敌韩三金 +https://live.ottiptv.cc/huya/15494057 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1016/64/d5ad02c1407df311e947379ae3e5c9_180_135.jpg?1721898598" group-title="一起看", 我是大侠闯江湖 +https://live.ottiptv.cc/huya/29982667 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1049/3a/3f50dc18208783c6c9f5b9a76c59b2_180_135.jpg?1453112883" group-title="一起看", 尐饭团 +https://live.ottiptv.cc/huya/11352907 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1087/46/0fef338af5b456f3f65076b3df3581_180_135.jpg?1653963557" group-title="原创", 八零影漫 +https://live.ottiptv.cc/huya/27236095 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 阿叁 +https://live.ottiptv.cc/huya/20969141 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1033/46/c256d706feaf1aa30c6cc97cd02b37_180_135.jpg?1618468751" group-title="一起看", 千与千寻的思考 +https://live.ottiptv.cc/huya/21059592 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1041/d9/89449d9d32dbec6db90c74a3f300b3_180_135.jpg?1659707293" group-title="原创", 7块说故事 +https://live.ottiptv.cc/huya/27661804 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="原创", 剧说有惊喜 +https://live.ottiptv.cc/huya/30339670 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1073/f3/aa37519854e0854c7a3bc083093f64_180_135.jpg?1720514647" group-title="一起看", 小雅很可爱 +https://live.ottiptv.cc/huya/29982648 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1054/58/675c6f0780a54d32227c3ebd0c9437_180_135.jpg?1719546993" group-title="一起看", 山如翠浪帶 +https://live.ottiptv.cc/huya/26355806 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1026/e1/9aa5204168060b3f78ff10d2e10753_180_135.jpg?1721978662" group-title="一起看", 后宫生存攻略 +https://live.ottiptv.cc/huya/30080183 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="原创", 诗语墨 +https://live.ottiptv.cc/huya/30312383 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1000/f5/ace5427cf0b9ec2506464fda3b8b9b_180_135.jpg" group-title="一起看", 飞天女警 +https://live.ottiptv.cc/huya/11601958 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1093/a3/dd121b7e61bb86a7781c047b02a401_180_135.jpg?1717144048" group-title="一起看", 本是凉薄之人怎暖他人 +https://live.ottiptv.cc/huya/21059630 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1060/15/f71c4d4251f8beb2fc48026112ae82_180_135.jpg?1617365964" group-title="一起看", 原始技术 +https://live.ottiptv.cc/huya/20985858 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1039/ae/837f7a76e436c6c3376367e1b93a32_180_135.jpg?1729078614" group-title="原创", 古枫影视 +https://live.ottiptv.cc/huya/30297201 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1044/1c/3addc221fc0a6523d4a829709a44a0_180_135.jpg?1599924717" group-title="原创", 燃电时代 +https://live.ottiptv.cc/huya/15824466 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1018/c5/1915aa676c0bff35dfdeaedc4042ea_180_135.jpg?1660706379" group-title="原创", 老微讲故事 +https://live.ottiptv.cc/huya/27693540 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1079/1d/ca62f0140cef86cdec55afafe64411_180_135.jpg" group-title="一起看", 学妹爱学长 +https://live.ottiptv.cc/huya/11352886 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 越哥说电影2 +https://live.ottiptv.cc/huya/29982680 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1091/84/15dd76e9355b56ace1e811cc3754e9_180_135.jpg?1719456204" group-title="一起看", 方显出英仍无骨 +https://live.ottiptv.cc/huya/26355854 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1095/fa/d502f0f0bf4016da71a293e4c8980b_180_135.jpg?1729082474" group-title="原创", 书源说剧 +https://live.ottiptv.cc/huya/30297394 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1011/76/7eddbbd30d7e9fd724e20d743e493e_180_135.jpg?1721038421" group-title="一起看", 田径精英在奔跑 +https://live.ottiptv.cc/huya/29982660 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1086/ce/388cee795d15ad03d4db6616496726_180_135.jpg?1573465841" group-title="一起看", 茶啊二中 +https://live.ottiptv.cc/huya/11213191 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1087/04/766774e5a4ecf6f00dcc05df5ca14e_180_135.jpg?1722331164" group-title="一起看", 匹马泪沾襟 +https://live.ottiptv.cc/huya/30080137 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1049/d5/ad86937bbd0acd74303abddc5d1b60_180_135.jpg?1602850802" group-title="一起看", 放松轻音乐 +https://live.ottiptv.cc/huya/21241813 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1054/c1/b84c62ddbad10c09c7761f05751f7c_180_135.jpg?1721374849" group-title="一起看", 内有恶龙 +https://live.ottiptv.cc/huya/29982674 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1001/72/51f15b1a3b41d012c63f572c843b0a_180_135.jpg?1447751187" group-title="一起看", 苦瓜老姨 +https://live.ottiptv.cc/huya/11342429 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1097/8e/f15bdae72ecdd23bc308c141aa0e18_180_135.jpg?1606791820" group-title="一起看", 我叫山鸡哥 +https://live.ottiptv.cc/huya/23734246 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1074/99/188c24feaf3832b3bf4aa90e2baa94_180_135.jpg" group-title="一起看", 無尾魚° +https://live.ottiptv.cc/huya/11601961 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1084/71/30f307bb9b6659022ef20de3849e28_180_135.jpg?1722326726" group-title="一起看", 帅气男大 +https://live.ottiptv.cc/huya/30080226 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1061/f0/c11edcd69348c39482354e379f3aba_180_135.jpg?1609139259" group-title="一起看", 香港喜剧大全 +https://live.ottiptv.cc/huya/23865080 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1038/0d/8c64adc6c7b6dcc4183a457f885d23_180_135.jpg?1512023150" group-title="一起看", 宅妹 +https://live.ottiptv.cc/huya/11352954 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 我是一颗小虎牙 +https://live.ottiptv.cc/huya/21241844 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1071/9c/586e7042bf875e3d119510a2be2968_180_135.jpg?1606717812" group-title="一起看", 我才是厨神 +https://live.ottiptv.cc/huya/23728595 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1027/86/3816fff1eef0e4c346fc840b627740_180_135.jpg" group-title="一起看", SMG最强大脑 +https://live.ottiptv.cc/huya/11352914 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1075/77/83e474b7c44fbb7ac8315ded8285c2_180_135.jpg?1646814620" group-title="一起看", 看似斐濟 +https://live.ottiptv.cc/huya/26355780 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1043/d4/2417752fe83a25e9339f197e218a62_180_135.jpg?1744637014" group-title="原创", Mz-夏夏 +https://live.ottiptv.cc/huya/314676 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 小翼看科技 +https://live.ottiptv.cc/huya/27318871 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1048/3d/c60cc333be48c5955b95e7fdc519b3_180_135.jpg?1598522569" group-title="一起看", 治愈之声 +https://live.ottiptv.cc/huya/21241787 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1014/bb/6764ea919cf5f2aea12c4e82aece2a_180_135.jpg?1724120754" group-title="一起看", 雪狐啸谷 +https://live.ottiptv.cc/huya/30080251 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1046/b5/82c2648a8096e604f646a43fe686ea_180_135.jpg?1718271442" group-title="原创", 就有芦芽短 +https://live.ottiptv.cc/huya/29982612 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1080/f4/311b0b316b5a9049faea39c0ed49ef_180_135.jpg?1711975706" group-title="原创", 虎虎剧社呀 +https://live.ottiptv.cc/huya/29831106 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1053/32/1a4e9cab76da22d68063aebb7880ce_180_135.jpg?1717726587" group-title="一起看", 渔洞墨 +https://live.ottiptv.cc/huya/26355767 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1083/8d/af10ba9044227484170818bf0059fa_180_135.jpg?1721207327" group-title="一起看", 视死思项羽 +https://live.ottiptv.cc/huya/29982655 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1089/b7/7f44172b9bd802f77ad30e3e153015_180_135.jpg?1721306082" group-title="原创", 路飞追剧 +https://live.ottiptv.cc/huya/30097024 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1077/3d/c3e894c52edd9d1dedb6dd2b6c8407_180_135.jpg" group-title="一起看", 胖次过肩摔 +https://live.ottiptv.cc/huya/11352903 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1048/f7/b350cac62571a04fa27e6a9a77f94f_180_135.jpg?1711720005" group-title="原创", 集集动漫社 +https://live.ottiptv.cc/huya/29832558 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1087/fb/aa88f30374e3e4d7c824037bfee8b5_180_135.jpg?1611147722" group-title="原创", 荒爷求生007 +https://live.ottiptv.cc/huya/29468771 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1072/1b/df3909cf6ca649be2ef6199f61d893_180_135.jpg?1606806346" group-title="一起看", 是大宝贝呀 +https://live.ottiptv.cc/huya/23829543 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1071/3d/77afb924a23e7769786046631aa1dc_180_135.jpg?1724121303" group-title="一起看", 小猪包大米 +https://live.ottiptv.cc/huya/30080253 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1041/b8/4b22de6a8c7cce2994d6813c688cd2_180_135.jpg?1602591081" group-title="一起看", jk不烦恼 +https://live.ottiptv.cc/huya/21059553 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1097/9a/609ad1357204c837bb624406a492bf_180_135.jpg?1721816070" group-title="一起看", 排球少年砰砰砰 +https://live.ottiptv.cc/huya/30080167 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1049/fe/16729c8ce149ec3f4a60d8e5a1fac9_180_135.jpg?1618468403" group-title="一起看", 周星星梦里的朱茵 +https://live.ottiptv.cc/huya/21059587 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1051/da/f7ad34d0e4f05947169c68fd202d8c_180_135.jpg?1448267842" group-title="一起看", 勞資ヽ尐爺 +https://live.ottiptv.cc/huya/11342434 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1082/a2/f1086211b43eec48e4ef6a6f6b0145_180_135.jpg?1741261724" group-title="原创", 狼肉-恐怖游戏 +https://live.ottiptv.cc/huya/27949294 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1038/d6/135aa8ccf6c90f6b51687f2de3d992_180_135.jpg?1711441352" group-title="一起看", 威尼斯的贡多拉 +https://live.ottiptv.cc/huya/29465883 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1002/eb/f290675138caebde74795cdf41478c_180_135.jpg?1606377584" group-title="原创", 十趣文化 +https://live.ottiptv.cc/huya/23707143 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1053/ff/4d501fd0b74a749908b0f773bea9e5_180_135.jpg" group-title="一起看", 长岛冰茶- +https://live.ottiptv.cc/huya/11352884 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1075/63/8bfa72f935a017b36126e801102f65_180_135.jpg?1477021309" group-title="一起看", 阿飞 +https://live.ottiptv.cc/huya/11352934 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1031/ea/3599bfddbf2a5e88d7c8b255502f1b_180_135.jpg?1588753386" group-title="一起看", 4K花园 +https://live.ottiptv.cc/huya/22188414 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1003/d0/02323f8921e4c70bb146f5c0ddbbca_180_135.jpg?1597225295" group-title="一起看", 街头熟男颜控社 +https://live.ottiptv.cc/huya/20969118 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="原创", 君知钩看了 +https://live.ottiptv.cc/huya/30307439 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1045/ef/c487504ce03fdad4a8ca548db43539_180_135.jpg?1722311907" group-title="一起看", 繁星点点的夜晚猫 +https://live.ottiptv.cc/huya/30080194 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1047/c2/64f3ff11f880f863ce162f0364746d_180_135.jpg?1646811289" group-title="一起看", 鋪床拂席有清風 +https://live.ottiptv.cc/huya/26355862 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1067/45/5322b252689d89c80f5ddc0f9a664d_180_135.jpg" group-title="一起看", 铁血真汉子 +https://live.ottiptv.cc/huya/11342395 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1039/bd/f8813f1e5931dbf40537a6987476c7_180_135.jpg?1721980099" group-title="一起看", 追娘娘超会看 +https://live.ottiptv.cc/huya/30080184 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1038/68/fdf06ec8db7b9f306418a931ba9391_180_135.jpg?1695604534" group-title="原创", 阿柴电影 +https://live.ottiptv.cc/huya/29402497 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1081/d0/9d191034257f73ff6c768db74283a9_180_135.jpg?1718967329" group-title="一起看", 哈拉少足球 +https://live.ottiptv.cc/huya/29982619 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1093/c0/813953de86a44432aa1248b448962f_180_135.jpg?1749459354" group-title="原创", 咔咔一顿玩 +https://live.ottiptv.cc/huya/30824456 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1061/08/8d9d546d1dd7916a0f099f716a3b53_180_135.jpg?1560227157" group-title="一起看", 充能时刻电子音乐台 +https://live.ottiptv.cc/huya/10875560 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1038/8d/9ab1670ed38726624d2779c9dc1364_180_135.jpg?1581148011" group-title="一起看", 予笙 +https://live.ottiptv.cc/huya/20969093 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1033/74/4e53152975413e83dc7ab387ee5230_180_135.jpg?1449121897" group-title="一起看", -惟美 +https://live.ottiptv.cc/huya/11352885 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1048/c8/2463840f29069e414073275548f56d_180_135.jpg?1720078623" group-title="一起看", 飞鸟鸣春小满日 +https://live.ottiptv.cc/huya/29982646 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1060/f9/f3f4495dafa8a6901138761ef2c284_180_135.jpg?1583571151" group-title="一起看", 且听我说 +https://live.ottiptv.cc/huya/20985820 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1030/d5/8e38e286a378c453f8264d52dc96da_180_135.jpg?1718172484" group-title="原创", 青年电影馆 +https://live.ottiptv.cc/huya/21388479 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1053/b7/c2e893470e8c578770310f5ec85849_180_135.jpg?1584952360" group-title="一起看", 风中的蜡烛 +https://live.ottiptv.cc/huya/20985856 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1028/a2/49b5cac802d4e17b52eeaab4985aeb_180_135.jpg?1612427205" group-title="一起看", 马春夏秋冬梅 +https://live.ottiptv.cc/huya/21059564 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1091/9b/1fdcf39ed483392c7f5fda42c26d7b_180_135.jpg?0" group-title="一起看", 替你挨过揍的朋友 +https://live.ottiptv.cc/huya/11602045 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1078/be/335a2656cbeede2b5e8a94a24fa182_180_135.jpg?1612425886" group-title="一起看", 尹地仇 +https://live.ottiptv.cc/huya/21059567 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1099/31/e71f37214b5eddb134b5ba7fc21346_180_135.jpg?1721374924" group-title="一起看", DuckDucks +https://live.ottiptv.cc/huya/29982670 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1016/5b/d22e41cc72b13ec1050501ecad815b_180_135.jpg?1712905686" group-title="一起看", 辛苦烧餅 +https://live.ottiptv.cc/huya/26355848 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1031/e0/a836f1c02db093f693c23cc43001e5_180_135.jpg?1601351374" group-title="一起看", 华视-警匪大片 +https://live.ottiptv.cc/huya/23358421 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1086/81/3388a90409ca6f4280af115a6821b6_180_135.jpg?1710903082" group-title="一起看", 海量免费短剧 +https://live.ottiptv.cc/huya/29465890 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1012/d3/9e1fc54c394562a5d69315feb5104c_180_135.jpg?1594361176" group-title="原创", 刺猬职场说 +https://live.ottiptv.cc/huya/22717669 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1086/ce/3553ebf20627169b7fcba3414f4460_180_135.jpg?1694848155" group-title="原创", 蒲公英电影 +https://live.ottiptv.cc/huya/28806637 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1001/a4/51de9ab98c6a3fe2bddc1134512194_180_135.jpg?1568532429" group-title="原创", 阿尧 +https://live.ottiptv.cc/huya/19762974 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 超能狗仔队 +https://live.ottiptv.cc/huya/30080173 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1046/1e/e99c21e1f185b9c0cda805a0d3a498_180_135.jpg?1612428056" group-title="一起看", 是红鲤鱼绿鲤鱼与驴 +https://live.ottiptv.cc/huya/21059561 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 哀是麦子的球迷2 +https://live.ottiptv.cc/huya/29982673 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1061/2f/0b14d5852f942250db6364c9025d0d_180_135.jpg" group-title="一起看", 了不起的小萌虎 +https://live.ottiptv.cc/huya/11342388 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 良奉白豆 +https://live.ottiptv.cc/huya/26355849 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1052/e7/6d8b89be34167a143d072924d59501_180_135.jpg?1597225475" group-title="一起看", 绅士只吃七分熟 +https://live.ottiptv.cc/huya/20969122 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1019/3b/d6f97c61a05103b510785f0281ceac_180_135.jpg?1449121261" group-title="一起看", 我的宝贝baby +https://live.ottiptv.cc/huya/11352880 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1004/42/b37d4cf7a484a03b5adebd9f7ad60b_180_135.jpg?1623816846" group-title="一起看", 探险之路 +https://live.ottiptv.cc/huya/24609822 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1082/19/4e18a72225f2135b2725ac94d55926_180_135.jpg?1713517141" group-title="一起看", 同芋螺 +https://live.ottiptv.cc/huya/26355801 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1037/aa/dd44d5bfbe13bf35b924386c4a6dd8_180_135.jpg?1588818372" group-title="原创", 陈年三百零六斤 +https://live.ottiptv.cc/huya/17259151 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1030/99/231ba49cf0b6c4db373b74accd62e4_180_135.jpg?1619075255" group-title="原创", 黑眼侃片 +https://live.ottiptv.cc/huya/24609357 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1073/ed/e1551589fb24fcddc18046507c9715_180_135.jpg?1584500873" group-title="一起看", 神秘小希哟 +https://live.ottiptv.cc/huya/20985843 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1064/5e/0d87c97c65c34e7b26d88fe789ae7c_180_135.jpg?1729760804" group-title="原创", 天依说影 +https://live.ottiptv.cc/huya/15174372 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1012/cf/e9390f9d97ae405c5e484ff7656870_180_135.jpg?1570864857" group-title="原创", 西哥来了 +https://live.ottiptv.cc/huya/10849208 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1086/9b/cad561b732f7d1c75f001b7139d934_180_135.jpg?1718253970" group-title="一起看", 竹叶青说球 +https://live.ottiptv.cc/huya/29982604 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1055/28/b72eb8b003d7257e9933511426e7ed_180_135.jpg?1621334615" group-title="原创", 荒野求生影视 +https://live.ottiptv.cc/huya/24766781 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1063/82/d702b2bd9b48791cec0a0e0e30b0bc_180_135.jpg" group-title="一起看", 雨、浮沉 +https://live.ottiptv.cc/huya/11336593 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1008/72/745e4d1a0d86921a49f052b1f6fb62_180_135.jpg?0" group-title="一起看", 大懒猫 +https://live.ottiptv.cc/huya/11602046 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1041/21/66fc9599b0dc0fe198a6dec413a1a9_180_135.jpg?1716373377" group-title="一起看", 水至凌云笔 +https://live.ottiptv.cc/huya/21059600 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1001/1c/41021344a1ea3ff83bb2a3da9322a3_180_135.jpg?1518263696" group-title="原创", 小丑电影 +https://live.ottiptv.cc/huya/29869799 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1011/e9/fcc8b16e6b57433203b500c4d40de6_180_135.jpg?1739175333" group-title="原创", 玛卡玛卡MAKA +https://live.ottiptv.cc/huya/30559846 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="原创", 萬里洋洋者矣 +https://live.ottiptv.cc/huya/26355836 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1048/68/53a742ead16e54311a90639a76eba1_180_135.jpg?1629992558" group-title="原创", 良少聊漫威 +https://live.ottiptv.cc/huya/25523725 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1079/07/e7623616ed8a8672f7ba122a950c1e_180_135.jpg?1721817397" group-title="一起看", 高山流水梦 +https://live.ottiptv.cc/huya/30080174 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1003/d6/90523c423e441c2dc8e2f84890c73e_180_135.jpg?1767520770" group-title="原创", 甄子丹-宇宙丹 +https://live.ottiptv.cc/huya/30631757 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1063/78/ef4af239efd6156ec361624653220a_180_135.jpg?1706179076" group-title="一起看", 身外桂鱼 +https://live.ottiptv.cc/huya/29465869 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1075/22/6b8473b4095563d48d94b5889970db_180_135.jpg?1732211579" group-title="原创", 南南说动漫 +https://live.ottiptv.cc/huya/30296754 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1035/39/d1fc7aaae54829703b0e21439f6c29_180_135.jpg?1446129806" group-title="一起看", 麋鹿 +https://live.ottiptv.cc/huya/11342419 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1063/78/ef4af239efd6156ec361624653220a_180_135.jpg?1706179076" group-title="一起看", 身外桂鱼 +https://live.ottiptv.cc/huya/29465869 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1075/22/6b8473b4095563d48d94b5889970db_180_135.jpg?1732211579" group-title="原创", 南南说动漫 +https://live.ottiptv.cc/huya/30296754 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1012/cf/e9390f9d97ae405c5e484ff7656870_180_135.jpg?1570864857" group-title="原创", 西哥来了 +https://live.ottiptv.cc/huya/10849208 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1099/97/692e7f70bea89c0f32f1638f11e2b2_180_135.jpg?1718254665" group-title="一起看", 足球TOP +https://live.ottiptv.cc/huya/29982607 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 阿叁 +https://live.ottiptv.cc/huya/20969141 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1022/f3/5294e644b4ef58b742914f717b1f87_180_135.jpg?1463968479" group-title="一起看", 向阳花 +https://live.ottiptv.cc/huya/11602069 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1080/f4/311b0b316b5a9049faea39c0ed49ef_180_135.jpg?1711975706" group-title="原创", 虎虎剧社呀 +https://live.ottiptv.cc/huya/29831106 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1089/b7/7f44172b9bd802f77ad30e3e153015_180_135.jpg?1721306082" group-title="原创", 路飞追剧 +https://live.ottiptv.cc/huya/30097024 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="原创", 剧说有惊喜 +https://live.ottiptv.cc/huya/30339670 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1011/e9/fcc8b16e6b57433203b500c4d40de6_180_135.jpg?1739175333" group-title="原创", 玛卡玛卡MAKA +https://live.ottiptv.cc/huya/30559846 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1079/e9/2b08f9e77c66bda06d373f1438f702_180_135.jpg?1721978347" group-title="一起看", 岩石上的树 +https://live.ottiptv.cc/huya/30080222 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1045/28/3658d1de251f952720288eda434e38_180_135.jpg?1722507611" group-title="一起看", 东方福尔摩斯 +https://live.ottiptv.cc/huya/30080229 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1060/b4/9a7ccc3217f2c471d1ffa10d917fb5_180_135.jpg?1722326369" group-title="一起看", 高雅小鲸 +https://live.ottiptv.cc/huya/30080223 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1029/ee/a864d68bcd347308911cb4d02abc71_180_135.jpg?1623983442" group-title="一起看", 君临剧开心 +https://live.ottiptv.cc/huya/24879365 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1093/93/b5fcd70e2bae4222c111a370952296_180_135.jpg?1619149386" group-title="原创", 硬汉影探 +https://live.ottiptv.cc/huya/24614407 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1092/e1/8dbf098ead161547481a0d9f78c829_180_135.jpg?1742798985" group-title="原创", 小师妹说剧 +https://live.ottiptv.cc/huya/19505458 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1003/dc/7dd9bed0432c40c69b178ed1ff9f9e_180_135.jpg?1715739980" group-title="一起看", 都護鐵衣也君子 +https://live.ottiptv.cc/huya/26355772 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1034/c4/9c552ef068afb977549c2ff994369a_180_135.jpg" group-title="一起看", 小虎牙-JBo8XZZWSw +https://live.ottiptv.cc/huya/11601965 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1017/07/537196710105cd97eb36990c6da854_180_135.jpg?1717726056" group-title="一起看", 不能全鱼 +https://live.ottiptv.cc/huya/26355771 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1013/0e/fb3b9020d01d2da977de9cdf67c00d_180_135.jpg?1462501139" group-title="一起看", 这很不同 +https://live.ottiptv.cc/huya/11602067 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1046/b5/82c2648a8096e604f646a43fe686ea_180_135.jpg?1718271442" group-title="原创", 就有芦芽短 +https://live.ottiptv.cc/huya/29982612 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1043/32/306c729aec796334198aa8e790f97c_180_135.jpg?1525869137" group-title="原创", 宇宙无敌韩三金 +https://live.ottiptv.cc/huya/15494057 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1067/5d/8a1c3d3271316033738af2b97e2b36_180_135.jpg?1722567096" group-title="一起看", 今天不想梳头发 +https://live.ottiptv.cc/huya/30080233 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1004/42/b37d4cf7a484a03b5adebd9f7ad60b_180_135.jpg?1623816846" group-title="一起看", 探险之路 +https://live.ottiptv.cc/huya/24609822 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1062/07/f62cad0662b15db7d75e0df33d5d86_180_135.jpg?1616415843" group-title="一起看", 神行大宝 +https://live.ottiptv.cc/huya/24514506 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1039/e0/108e717e5d0d51763a341878b1352a_180_135.jpg?1643008391" group-title="一起看", 銀河少女- +https://live.ottiptv.cc/huya/26355760 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1043/58/2d46fa26f9040747ff5e96b3bd9779_180_135.jpg?1758599129" group-title="原创", 萌萌喵、 +https://live.ottiptv.cc/huya/27534712 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1071/02/68217cc72125b549df7da1ee1d5dd8_180_135.jpg?1542941158" group-title="一起看", SMG梦想成真 +https://live.ottiptv.cc/huya/11602047 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1088/bd/85484a0eb2156309986fa8a5741629_180_135.jpg?1612508374" group-title="一起看", 西九龙冠希哥 +https://live.ottiptv.cc/huya/21059579 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1003/d0/02323f8921e4c70bb146f5c0ddbbca_180_135.jpg?1597225295" group-title="一起看", 街头熟男颜控社 +https://live.ottiptv.cc/huya/20969118 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1072/4d/df390d797b3270f4cf136d29b307cb_180_135.jpg?1604504682" group-title="一起看", KotohaModeling +https://live.ottiptv.cc/huya/20985794 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1047/c2/64f3ff11f880f863ce162f0364746d_180_135.jpg?1646811289" group-title="一起看", 鋪床拂席有清風 +https://live.ottiptv.cc/huya/26355862 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1040/a5/71a5c882ea6b797d59048bb3556ca0_180_135.jpg?1712907318" group-title="原创", 张小宾电影 +https://live.ottiptv.cc/huya/29862176 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1046/1e/e99c21e1f185b9c0cda805a0d3a498_180_135.jpg?1612428056" group-title="一起看", 是红鲤鱼绿鲤鱼与驴 +https://live.ottiptv.cc/huya/21059561 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1038/dc/c41f66f49ab927279049cc0fb83a11_180_135.jpg?1620907360" group-title="一起看", 野外生存技巧 +https://live.ottiptv.cc/huya/24609809 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1030/99/231ba49cf0b6c4db373b74accd62e4_180_135.jpg?1619075255" group-title="原创", 黑眼侃片 +https://live.ottiptv.cc/huya/24609357 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1053/98/dcdfd2ee5608ce64d16296c2d5325a_180_135.jpg?1449725201" group-title="一起看", 葱花 +https://live.ottiptv.cc/huya/11352938 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1033/55/6e7dd3b47ffb71811e8c02c1db9f39_180_135.jpg" group-title="一起看", 吐槽运动 +https://live.ottiptv.cc/huya/11342436 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="原创", 萬里洋洋者矣 +https://live.ottiptv.cc/huya/26355836 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1041/b8/4b22de6a8c7cce2994d6813c688cd2_180_135.jpg?1602591081" group-title="一起看", jk不烦恼 +https://live.ottiptv.cc/huya/21059553 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1083/0f/28a2bfc221f7fefbcea59437a356cc_180_135.jpg" group-title="一起看", 斯诺克从小爱戳球 +https://live.ottiptv.cc/huya/11352893 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1062/9d/f70da870c86476af03934b11d16e4c_180_135.jpg?1597225341" group-title="一起看", 黄金屋 +https://live.ottiptv.cc/huya/20969119 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1073/ed/e1551589fb24fcddc18046507c9715_180_135.jpg?1584500873" group-title="一起看", 神秘小希哟 +https://live.ottiptv.cc/huya/20985843 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1024/43/535541af80dc72cc3c312e2c5f9af3_180_135.jpg?1716803461" group-title="一起看", 尽是与君别 +https://live.ottiptv.cc/huya/26355824 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1059/89/54f8f985e5fce58ab7253c340ff19b_180_135.jpg?1498529740" group-title="一起看", yoo +https://live.ottiptv.cc/huya/11352876 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1089/23/a0eb94473d253150164bc0b03ba434_180_135.jpg?1612426638" group-title="一起看", 冒险电影放映厅 +https://live.ottiptv.cc/huya/21059566 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1026/89/15bb6641b72d2f05f9766e0c894bb4_180_135.jpg?1717726323" group-title="一起看", 林正英百年老粉 +https://live.ottiptv.cc/huya/21059619 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1089/14/61a612f28cded875b3b312dd1bc038_180_135.jpg?1720690187" group-title="一起看", 我是大物 +https://live.ottiptv.cc/huya/29982622 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1068/cc/886ac7fece0aa5116446aded7aae73_180_135.jpg?1611544079" group-title="一起看", 斌哥漫说2 +https://live.ottiptv.cc/huya/21059621 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1037/ed/23555c0b2a39778e285e2e3ad1c452_180_135.jpg?1712737444" group-title="一起看", 难与鸣琴弹 +https://live.ottiptv.cc/huya/21059612 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1000/cb/282785b644befb54c19859de678c35_180_135.jpg?1711441055" group-title="一起看", 上太空看地球 +https://live.ottiptv.cc/huya/29465881 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1035/ab/ccbefefb6a7dcf5877f8d4deb3bbe0_180_135.jpg?1719999529" group-title="一起看", 五彩哥哥们 +https://live.ottiptv.cc/huya/29982633 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1067/fd/65ab7809837b47743e62226eb31bd6_180_135.jpg?1720079732" group-title="一起看", 克莱篮球生涯 +https://live.ottiptv.cc/huya/29982652 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1011/0e/de2174e2d15fdd68cf08a7d2a0ab02_180_135.jpg?1712911304" group-title="一起看", 嶺外奇服兮 +https://live.ottiptv.cc/huya/26355850 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1031/88/7b633b36a92f6efb9d5375bbecaf44_180_135.jpg?1445856355" group-title="一起看", 羞涩的茄子 +https://live.ottiptv.cc/huya/11336590 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1086/e5/b043ea11745fd3f2791165a59d56f9_180_135.jpg?1604582014" group-title="一起看", 英雄联盟-热点站 +https://live.ottiptv.cc/huya/21241839 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1054/a0/1abb665bc2035c7accdf6bbf29cf96_180_135.jpg?1720520169" group-title="一起看", 赛博的朋克 +https://live.ottiptv.cc/huya/29982649 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 烟强葉 +https://live.ottiptv.cc/huya/26355829 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 看见爱情深 +https://live.ottiptv.cc/huya/30080145 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1060/db/e915c95b805499b202b32fba89d46f_180_135.jpg?1611591232" group-title="一起看", 常先声 +https://live.ottiptv.cc/huya/275931 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 电视剧扣人心弦 +https://live.ottiptv.cc/huya/29465855 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1028/7e/b21d099769d368dcdcdff9609fe4fa_180_135.jpg?1723789691" group-title="一起看", 贷款小说家 +https://live.ottiptv.cc/huya/30080249 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1021/09/0a81dde245609f799be2fdf4f7fb9e_180_135.jpg?1599034808" group-title="一起看", JuicyM +https://live.ottiptv.cc/huya/21241798 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1096/33/51158c5200086284ffda055be1197d_180_135.jpg?1611543884" group-title="一起看", 扁豆看电影2 +https://live.ottiptv.cc/huya/21059623 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1067/45/5322b252689d89c80f5ddc0f9a664d_180_135.jpg" group-title="一起看", 铁血真汉子 +https://live.ottiptv.cc/huya/11342395 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1000/25/11c54f9025cae887fbf36d393ff9ff_180_135.jpg?1583054281" group-title="一起看", 全能偶像 +https://live.ottiptv.cc/huya/21241763 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1031/e4/ac7c7b5e04204d0b928aef7bdf61ec_180_135.jpg?1612246711" group-title="一起看", TVB追剧小能手 +https://live.ottiptv.cc/huya/23865179 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1054/bd/631e6f74c817c606429d09d79f8dd0_180_135.jpg?1583570653" group-title="一起看", 深夜悦读 +https://live.ottiptv.cc/huya/20985815 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1055/b5/a5e4bee5264db5a808f2cdcabf39f7_180_135.jpg?1626160515" group-title="一起看", 爱吃桃子的喵 +https://live.ottiptv.cc/huya/18501378 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1031/0f/ed2e3fbfcd8b9a303c029da777036f_180_135.jpg?1721038523" group-title="一起看", 跳水这件事 +https://live.ottiptv.cc/huya/29982662 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 港片迷精选剧集 +https://live.ottiptv.cc/huya/29465858 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1031/ea/3599bfddbf2a5e88d7c8b255502f1b_180_135.jpg?1588753386" group-title="一起看", 4K花园 +https://live.ottiptv.cc/huya/22188414 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1002/a6/237eada1d7dd61c10186b4ecfefa02_180_135.jpg" group-title="一起看", 汽车人 +https://live.ottiptv.cc/huya/11352897 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1023/2b/d3ce304bbc1b57a6e0393358e0bf59_180_135.jpg?1752328781" group-title="原创", 実乩 +https://live.ottiptv.cc/huya/30411731 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1085/6d/b97f9279e467bc234a8899d8d51f37_180_135.jpg?1717728848" group-title="一起看", 熬夜看球帝 +https://live.ottiptv.cc/huya/29465877 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1063/c0/7b297027b78826bc421f7829439d39_180_135.jpg?1618468547" group-title="一起看", 教父三部曲的影迷 +https://live.ottiptv.cc/huya/21059589 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 我是一颗小虎牙 +https://live.ottiptv.cc/huya/24314160 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1002/81/4122e5812565ead5f103e544de3edf_180_135.jpg?1582644355" group-title="一起看", 爱豆来了 +https://live.ottiptv.cc/huya/20432236 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1046/de/ce6a23f8d81f7fc7b1403b5eeb0f9e_180_135.jpg?1612508581" group-title="一起看", 梁非凡吃点啥 +https://live.ottiptv.cc/huya/21059577 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1071/c6/3dd8bad49bda872febac6c46e1d6ea_180_135.jpg?1646814536" group-title="一起看", 心动好剧 +https://live.ottiptv.cc/huya/26355781 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1024/a4/38f2ce3b647d57ec17fbf27acd5d2c_180_135.jpg?1607257414" group-title="一起看", 露露姐 +https://live.ottiptv.cc/huya/11601964 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1054/b7/30152638896a3a1cdca761dd00a450_180_135.jpg?1717728606" group-title="一起看", 激战欧罗巴 +https://live.ottiptv.cc/huya/29465876 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1064/c6/d242001a9ffbd9ebd6424f53c04df1_180_135.jpg?1719566464" group-title="一起看", 皇太子布朗尼 +https://live.ottiptv.cc/huya/29982642 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1073/83/3a3b598d0419fbb4e8b4aaa7b68f62_180_135.jpg?1463660344" group-title="一起看", 寞尛北 +https://live.ottiptv.cc/huya/11602076 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1099/20/9aadfc84116212d18e7aec3fcd8c6a_180_135.jpg?1722494811" group-title="一起看", 终年防肠断 +https://live.ottiptv.cc/huya/30080187 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1027/9c/1e88f15dd4b64cce5b937eff3bc109_180_135.jpg?1606717422" group-title="一起看", 为所欲为的微笑 +https://live.ottiptv.cc/huya/23728665 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1057/19/cfa1920f4143755f592ea4d39c8bbc_180_135.jpg?1609139541" group-title="一起看", 港片看不停 +https://live.ottiptv.cc/huya/23865096 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1071/3d/5b95f3fffa04c2d35a4739783dee2d_180_135.jpg?1723789022" group-title="一起看", Time小时间 +https://live.ottiptv.cc/huya/30080246 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1044/85/dacec6af7ddd297e26fdb2b1dd04d8_180_135.jpg?1724121645" group-title="一起看", 糊辣壳-阿达 +https://live.ottiptv.cc/huya/30080254 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 定海路老夫子 +https://live.ottiptv.cc/huya/26355770 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1056/ee/82ecc29e46ab1ec2543ace4841a0bf_180_135.jpg?1445837301" group-title="一起看", 昔日女神柳清茶- +https://live.ottiptv.cc/huya/11279247 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1019/96/a1eb323298caa012e2c450f75dceda_180_135.jpg?1721984257" group-title="一起看", 体育前线观察 +https://live.ottiptv.cc/huya/30080195 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1086/90/3554acca95fc54d364dfc7c2d33119_180_135.jpg?1601356375" group-title="一起看", 华视-爱情大片 +https://live.ottiptv.cc/huya/23358431 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1071/70/90dcf84517b4239b242e109d6fa28c_180_135.jpg?0" group-title="一起看", 荒野达人 +https://live.ottiptv.cc/huya/11352975 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1042/81/4c9262cf723132e54fee1d089ce514_180_135.jpg?1602591145" group-title="一起看", 艾薇宝贝de宝贝 +https://live.ottiptv.cc/huya/21059554 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1003/af/8acb797b1b7dad46b94a90b3c55b9b_180_135.jpg?1722565964" group-title="一起看", 绝不再虚伪讨好 +https://live.ottiptv.cc/huya/30080232 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1082/eb/86166378a3cc14695da85c772dc5b5_180_135.jpg?1446036107" group-title="一起看", 元芳看不到 +https://live.ottiptv.cc/huya/11342414 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1070/50/bc3aed062dd7ac55934a45e7a7a40d_180_135.jpg?1711940815" group-title="一起看", 會稽愚婦数花开 +https://live.ottiptv.cc/huya/26355845 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1036/51/e98a4f59030efe8821f4528ce5f218_180_135.jpg?1643016550" group-title="一起看", 机动战士驾驶科目3 +https://live.ottiptv.cc/huya/26355764 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 经典日本动漫速看 +https://live.ottiptv.cc/huya/29982686 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1049/28/1e59507d7935aa6317493292cc3c98_180_135.jpg?1605151985" group-title="一起看", 白泽字幕组 +https://live.ottiptv.cc/huya/23652317 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1030/b8/03292c5908da804bf3ea6f1117e300_180_135.jpg?1583645514" group-title="一起看", 每日读书 +https://live.ottiptv.cc/huya/20985826 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1080/1e/c9ce888ae00d474ac63ecfecc520f1_180_135.jpg?1489482322" group-title="一起看", 辣条好吃嘛 +https://live.ottiptv.cc/huya/11601969 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1045/77/f8251ae3c15ca6384b77b5bb75ca00_180_135.jpg?1606803474" group-title="一起看", 鸡公碗 +https://live.ottiptv.cc/huya/23734211 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1097/fe/ed53deb45515d2b5112db66cea1357_180_135.jpg?1720597114" group-title="一起看", 周董永远的神 +https://live.ottiptv.cc/huya/29982629 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1064/01/38afccc29b456848e08bdcfcc594ef_180_135.jpg?1542876356" group-title="一起看", 阿森木木木 +https://live.ottiptv.cc/huya/11601971 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1037/e9/cfd8145d5926a2250b097ba34b7faf_180_135.jpg?1605017613" group-title="一起看", 半斤七两 +https://live.ottiptv.cc/huya/21241838 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1049/a9/c4955b0ce61cc6ea57aef267284d8b_180_135.jpg?1556991114" group-title="原创", 黎明观影 +https://live.ottiptv.cc/huya/14955734 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1031/58/cc99b60be1894e5f14cd523d36549e_180_135.jpg?1606722001" group-title="一起看", 埋堆搞搞震 +https://live.ottiptv.cc/huya/23734169 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1030/ed/52f6a6141e3f06f6a6cdbc2f817993_180_135.jpg?1719470429" group-title="一起看", 拉美小姐姐Walesk +https://live.ottiptv.cc/huya/29982634 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1040/86/789e89fa3c40d37c3f0ae31e8e5f5d_180_135.jpg?1542942476" group-title="一起看", 我的朋友陈白露小姐 +https://live.ottiptv.cc/huya/11352917 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1047/f6/6816f97f74709b63db7069a9a723c5_180_135.jpg?1596716892" group-title="一起看", 狼爸爸 +https://live.ottiptv.cc/huya/20985780 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1022/e4/04582b06a90aa5a3adf7f99c4938d1_180_135.jpg?1712908856" group-title="一起看", 西双版纳旅游 +https://live.ottiptv.cc/huya/29465880 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1019/d7/985cf9b560c9f3e6dc2ec6cd875c5d_180_135.jpg?1603956775" group-title="一起看", 耳姬 +https://live.ottiptv.cc/huya/21241812 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1063/b9/3d8c7d53a77ab98fdf1b68d4a8fc41_180_135.jpg?1585021726" group-title="一起看", 户外寻宝 +https://live.ottiptv.cc/huya/20985859 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1001/1f/2b6b50cd63b36080ffb8b412070e4b_180_135.jpg?1584688660" group-title="一起看", 我是一颗小虎牙 +https://live.ottiptv.cc/huya/20985853 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1007/4e/1467b80cf91f322b4ab5c40042f469_180_135.jpg?1601356588" group-title="一起看", 华视-你想要的 +https://live.ottiptv.cc/huya/23358446 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1030/2b/ab862c63453909e03bdb8a73f3e22e_180_135.jpg?1612508056" group-title="一起看", 状元及第粥 +https://live.ottiptv.cc/huya/21059581 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1059/f4/4e7873aebc9ac3b71eb6729a264eaf_180_135.jpg?1721736585" group-title="一起看", 暖阳雪兔 +https://live.ottiptv.cc/huya/30080155 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1052/d1/088fc2800cf2eb606e1d5f1e6a76b2_180_135.jpg?1719997828" group-title="一起看", 秋波我食兮 +https://live.ottiptv.cc/huya/29982638 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1024/a4/38f2ce3b647d57ec17fbf27acd5d2c_180_135.jpg?1607257414" group-title="一起看", 露露姐 +https://live.ottiptv.cc/huya/11601964 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1080/1e/c9ce888ae00d474ac63ecfecc520f1_180_135.jpg?1489482322" group-title="一起看", 辣条好吃嘛 +https://live.ottiptv.cc/huya/11601969 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1052/d1/088fc2800cf2eb606e1d5f1e6a76b2_180_135.jpg?1719997828" group-title="一起看", 秋波我食兮 +https://live.ottiptv.cc/huya/29982638 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1036/a2/0bc604ef08bc4c7b90d3bd67a99c8e_180_135.jpg?1609139170" group-title="一起看", TVB悬疑大片 +https://live.ottiptv.cc/huya/23865072 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1066/f5/1290e4147e04ac8618bcf7a6865738_180_135.jpg?1606893871" group-title="一起看", TVB职场剧大全 +https://live.ottiptv.cc/huya/23735153 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1073/67/60dc9ef7ac3723d9f2b7d09ecd90ec_180_135.jpg?1710925188" group-title="一起看", 一起摸鱼直播间 +https://live.ottiptv.cc/huya/29465885 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1038/b7/7b462c716d34e8bb590048e66cd1f5_180_135.jpg?1606108110" group-title="一起看", 明月少年 +https://live.ottiptv.cc/huya/23652238 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1035/74/ecd87b64b8dd26c11a9483b0b0b23c_180_135.jpg?1721815864" group-title="一起看", 举重大能 +https://live.ottiptv.cc/huya/30080144 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1099/db/c741be9ab1483162b3c952a0f828ed_180_135.jpg?1597846729" group-title="一起看", 耳科冲普拉斯 +https://live.ottiptv.cc/huya/20969126 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1001/1f/2b6b50cd63b36080ffb8b412070e4b_180_135.jpg?1584688660" group-title="一起看", 我是一颗小虎牙 +https://live.ottiptv.cc/huya/20985853 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1043/7e/1185773b7490ad922cd66eb6ea4fda_180_135.jpg?1682221812" group-title="一起看", 卓卓脑婆 +https://live.ottiptv.cc/huya/27564478 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1045/77/f8251ae3c15ca6384b77b5bb75ca00_180_135.jpg?1606803474" group-title="一起看", 鸡公碗 +https://live.ottiptv.cc/huya/23734211 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1073/53/7384dc5ff85ff6f565426fb6382a7d_180_135.jpg?1721206423" group-title="一起看", 阳光下飞鸽 +https://live.ottiptv.cc/huya/30080138 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1080/5a/698d41f0267d7ec5fe3c55d734d50b_180_135.jpg?1452769985" group-title="一起看", 萌美美 +https://live.ottiptv.cc/huya/11352959 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1016/90/8f22038a940b2ea033ed908750e1fc_180_135.jpg?1720595594" group-title="一起看", 硬控rap +https://live.ottiptv.cc/huya/29982630 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1016/29/778e45e243a40cea76475f22ac7884_180_135.jpg?1602591025" group-title="一起看", Eric次元宝贝 +https://live.ottiptv.cc/huya/21059552 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1072/8c/badf80de827ea735553d7081ed63dd_180_135.jpg?1556073758" group-title="一起看", Slslsl +https://live.ottiptv.cc/huya/15482686 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1027/f5/bc80b986f964090fed6ed82e1ffa60_180_135.jpg?1718780195" group-title="一起看", 足球客栈Harbou +https://live.ottiptv.cc/huya/29982615 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1080/b6/aa27449a060835d70f14457f35e7df_180_135.jpg?1602840534" group-title="一起看", 鬼畜娘 +https://live.ottiptv.cc/huya/21241803 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1019/b1/b11db3aa8c6e1da787550ad63bc98e_180_135.jpg?1717726014" group-title="一起看", 斯須炒成中何寄 +https://live.ottiptv.cc/huya/26355774 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 對君白蜥蜴 +https://live.ottiptv.cc/huya/26355776 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1038/e2/8b8aa989e7ed34e6206eadf80ff6f3_180_135.jpg" group-title="一起看", 沐小错 +https://live.ottiptv.cc/huya/11352956 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1031/b6/ab62f77c707d8cefe14f1d64cac394_180_135.jpg?1718270638" group-title="一起看", 河水汝相对 +https://live.ottiptv.cc/huya/29982610 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1060/52/00468bdb5d3dc3df8a37b1b9ff6ede_180_135.jpg?1582107344" group-title="一起看", 明日香世界第一可爱 +https://live.ottiptv.cc/huya/21059530 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1003/af/8acb797b1b7dad46b94a90b3c55b9b_180_135.jpg?1722565964" group-title="一起看", 绝不再虚伪讨好 +https://live.ottiptv.cc/huya/30080232 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1025/15/6992d4f8a377593335f8a2e66e6cc1_180_135.jpg?1621937836" group-title="一起看", 全能改造王 +https://live.ottiptv.cc/huya/24609812 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1094/a6/79106bf65d2c4c47bb89c1196aebb4_180_135.jpg?0" group-title="一起看", 嫣然 +https://live.ottiptv.cc/huya/11601977 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1068/0d/912f8df1170a7b1fd08529463a6799_180_135.jpg?1718967555" group-title="一起看", 52岁翼大利艺术 +https://live.ottiptv.cc/huya/29982620 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1051/d3/210f78e4a65e5e2ca5dbab97e3c65a_180_135.jpg?1604504393" group-title="一起看", 我是一颗小虎牙 +https://live.ottiptv.cc/huya/20985765 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1007/4e/1467b80cf91f322b4ab5c40042f469_180_135.jpg?1601356588" group-title="一起看", 华视-你想要的 +https://live.ottiptv.cc/huya/23358446 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1042/81/4c9262cf723132e54fee1d089ce514_180_135.jpg?1602591145" group-title="一起看", 艾薇宝贝de宝贝 +https://live.ottiptv.cc/huya/21059554 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1044/d8/372ec30602769d544215527d843fc5_180_135.jpg?1618805461" group-title="一起看", 阿汤哥的影迷 +https://live.ottiptv.cc/huya/21059585 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1053/c0/70199c2cda947b9edf3e924d7d3d1d_180_135.jpg?1596715608" group-title="一起看", 马克婷日常 +https://live.ottiptv.cc/huya/20985774 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1093/68/1a0c13bacc3c67f1e1346bfb99a03e_180_135.jpg?1598524332" group-title="一起看", 口袋妖怪COVER +https://live.ottiptv.cc/huya/21241789 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 亮哥讲电影2 +https://live.ottiptv.cc/huya/29982687 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1088/a2/a3bd437c1372e4efd040fc1baf9c15_180_135.jpg?1625543823" group-title="一起看", 君临剧有益 +https://live.ottiptv.cc/huya/24884646 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1026/3f/7137a2fcb7896c1cc0ace8815c5825_180_135.jpg?1584523758" group-title="一起看", 电竞小魔王 +https://live.ottiptv.cc/huya/20985844 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1030/ed/52f6a6141e3f06f6a6cdbc2f817993_180_135.jpg?1719470429" group-title="一起看", 拉美小姐姐Walesk +https://live.ottiptv.cc/huya/29982634 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 爆裂电影2 +https://live.ottiptv.cc/huya/29982678 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1089/5f/95acde39ddafe05499052c4095b94f_180_135.jpg?1721815727" group-title="一起看", 击剑的爱好者 +https://live.ottiptv.cc/huya/30080152 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1031/58/cc99b60be1894e5f14cd523d36549e_180_135.jpg?1606722001" group-title="一起看", 埋堆搞搞震 +https://live.ottiptv.cc/huya/23734169 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1070/50/bc3aed062dd7ac55934a45e7a7a40d_180_135.jpg?1711940815" group-title="一起看", 會稽愚婦数花开 +https://live.ottiptv.cc/huya/26355845 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1047/f6/6816f97f74709b63db7069a9a723c5_180_135.jpg?1596716892" group-title="一起看", 狼爸爸 +https://live.ottiptv.cc/huya/20985780 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1082/f9/14666521f03e4f39d367d447f2339f_180_135.jpg?1596715532" group-title="一起看", 迷你鱼 +https://live.ottiptv.cc/huya/20985773 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1030/b8/03292c5908da804bf3ea6f1117e300_180_135.jpg?1583645514" group-title="一起看", 每日读书 +https://live.ottiptv.cc/huya/20985826 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1072/75/7e1803062e36739ad50271bbc89ec5_180_135.jpg?1711521416" group-title="一起看", 動感de地带 +https://live.ottiptv.cc/huya/29465878 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1092/05/57f781d905cea49956e4a41ebb5516_180_135.jpg?1684399555" group-title="一起看", 虎牙现场 +https://live.ottiptv.cc/huya/20985839 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1040/de/bd978951b168b60efbd8b9fcea74a2_180_135.jpg?1767594714" group-title="原创", 小野综艺 +https://live.ottiptv.cc/huya/29890508 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1023/b6/310bb80ddfee97a64754e05c0cc6d5_180_135.jpg?1584347044" group-title="一起看", 小虎牙-aRGiVjLtcn +https://live.ottiptv.cc/huya/20985831 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="原创", 莫西西西西 +https://live.ottiptv.cc/huya/30312372 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1000/bf/792385710447bd226ba66860a6c57b_180_135.jpg?1625554283" group-title="原创", 晕倒羊一家 +https://live.ottiptv.cc/huya/25107026 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/144144/92/65/77/0007776592/T1hJDvBQLr1RCvBVdK.png" group-title="原创", 小阿掌 +https://live.ottiptv.cc/huya/28182904 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1005/55/a719d6c00553711c753db517208aec_180_135.jpg?1659587748" group-title="原创", 猫丸酱影视 +https://live.ottiptv.cc/huya/26999674 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="原创", 鸳鸯入帘青 +https://live.ottiptv.cc/huya/30380969 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1032/ec/67260a4154e056eeff0934114422a7_180_135.jpg" group-title="一起看", 牙缝多了根青菜 +https://live.ottiptv.cc/huya/11352877 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1060/78/135ec9900a2a41eb2746f1adbd43f5_180_135.jpg?1756196992" group-title="一起看", 小猫儿不爱吃鱼 +https://live.ottiptv.cc/huya/11601956 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1038/f2/ee382cc21ebec8f06d52be499cab61_180_135.jpg?1603273508" group-title="一起看", 心心念念患者 +https://live.ottiptv.cc/huya/21241807 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1004/b7/ac374baea8d6dbe46de2102456015a_180_135.jpg?1701169004" group-title="原创", 虾虾聊影视 +https://live.ottiptv.cc/huya/29519746 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1073/8d/559c1564293afed53fbbf8c2477cdd_180_135.jpg?1695289764" group-title="原创", 鹏友说电影 +https://live.ottiptv.cc/huya/29340612 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1027/02/02c6ff8523fb93bfa9e612ed35b4af_180_135.jpg?1612504793" group-title="原创", 肥猫观影 +https://live.ottiptv.cc/huya/24152470 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1039/50/689479539c629968c29e078779a17f_180_135.jpg?1711702276" group-title="原创", 凡人说剧 +https://live.ottiptv.cc/huya/29831090 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1018/87/8ddc2d23f878c6c458ffd8fcd96626_180_135.jpg?1621500142" group-title="原创", 小鹿来了 +https://live.ottiptv.cc/huya/22780175 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1071/24/4901b73089f3c0362c90cd11e8e96b_180_135.jpg?1445838176" group-title="一起看", 持枪者-土豆哥 +https://live.ottiptv.cc/huya/11336578 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1098/2d/d36bafe4029b5e501798653957318f_180_135.jpg?1701083292" group-title="原创", 雨哥影视 +https://live.ottiptv.cc/huya/29517294 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1058/36/472e2a11e71fc86a0dede3f556f8c2_180_135.jpg?1712570342" group-title="一起看", 仰望星空慢直播 +https://live.ottiptv.cc/huya/29465892 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1038/ed/2054a935c77f4f402d5b0a1afa2522_180_135.jpg?1646813273" group-title="一起看", 惊悚电影放映厅 +https://live.ottiptv.cc/huya/26355795 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1038/6f/f481eded721fe0cb86a8bbe17c5da9_180_135.jpg?1713860845" group-title="一起看", 臨眺無雨色 +https://live.ottiptv.cc/huya/26355838 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1090/45/22dfeb0d9ec775cb6faef5111e0d43_180_135.jpg?1695368248" group-title="原创", 周扒片 +https://live.ottiptv.cc/huya/29340506 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1021/de/812359957326ebf2d00930a372ce18_180_135.jpg?1655345807" group-title="原创", 一日壹片v +https://live.ottiptv.cc/huya/27322701 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1016/59/30ab88b8aa52f0aa05c7e9ed1e72a4_180_135.jpg?1717046775" group-title="原创", 爆有料综艺 +https://live.ottiptv.cc/huya/27695407 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1043/e2/7f68bb96252c73168d0a89d7578caf_180_135.jpg?1712892064" group-title="原创", 山石说电影 +https://live.ottiptv.cc/huya/29858128 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1014/2d/b37764da6a9a8779b0f5f1d48dc568_180_135.jpg?1732785418" group-title="原创", 蓬蓬带你看剧 +https://live.ottiptv.cc/huya/30309986 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1098/76/22e525f61b4cc3f97fceece6832914_180_135.jpg?1715403846" group-title="原创", 时夜说故事 +https://live.ottiptv.cc/huya/29918288 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1064/f1/c0c2cc444aa307eb98e8cda4f40163_180_135.jpg?1647359687" group-title="原创", 自由进行时 +https://live.ottiptv.cc/huya/31003157 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1014/af/8a1d28f87ebbc0a541c80cde06eaee_180_135.jpg?1655200868" group-title="原创", 木子电影V +https://live.ottiptv.cc/huya/27314057 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1019/fe/2e3e7cc95052222ce53733c301d43d_180_135.jpg?1709197648" group-title="一起看", 以仁皇岭 +https://live.ottiptv.cc/huya/29465871 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1030/2b/82e6247dcb1386a5581032a3f69954_180_135.jpg?1697007758" group-title="原创", 新海电影 +https://live.ottiptv.cc/huya/29396806 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1090/a6/4c2420c6b530ed792f5ffcc7970735_180_135.jpg?1558062636" group-title="原创", 电影狂人A +https://live.ottiptv.cc/huya/18715610 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1094/e0/2e86a716625f6c35b3bd8b91072ea7_180_135.jpg?1597290143" group-title="一起看", 唐人街第三神探 +https://live.ottiptv.cc/huya/21059635 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1043/eb/98cdb6c3cc433165914bd0649fc840_180_135.jpg?1457606900" group-title="一起看", 时光小偷 +https://live.ottiptv.cc/huya/11352952 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1031/9e/e59eb4852eed2d23359f91a64af4e9_180_135.jpg?1721898528" group-title="一起看", 缇兰传奇 +https://live.ottiptv.cc/huya/30080178 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1045/ec/4944d18c26cdc70d4f1b80ac9e00d6_180_135.jpg?1572776051" group-title="原创", 短剧轻松自在 +https://live.ottiptv.cc/huya/31002878 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="原创", 时间之旅 +https://live.ottiptv.cc/huya/31002907 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="原创", 搞笑天地 +https://live.ottiptv.cc/huya/31002817 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="原创", 竖子所乐兮 +https://live.ottiptv.cc/huya/30307442 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1053/63/1d3b1493e26b511850c79ffcb52b51_180_135.jpg?1711533130" group-title="一起看", 霸总傲天短剧 +https://live.ottiptv.cc/huya/29465896 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1024/c1/52e00a9af86d06d2a2a467f551ab6d_180_135.jpg?1649439695" group-title="原创", 大聪明和魏乐乐影院 +https://live.ottiptv.cc/huya/23304691 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1099/b1/bc0c715b07d3ef5936a35d6b350ea7_180_135.jpg?1646813217" group-title="一起看", 如何雨燕 +https://live.ottiptv.cc/huya/26355796 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="原创", 短剧美好人生 +https://live.ottiptv.cc/huya/31003159 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1012/32/6a59c5cc6aedb36a91f4e24406285d_180_135.jpg?1729074439" group-title="原创", 影视铺FILMSHOP +https://live.ottiptv.cc/huya/30297166 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1053/65/f7bf973a349256329808c038c66c71_180_135.jpg?1624606761" group-title="原创", 原始生活21天 +https://live.ottiptv.cc/huya/17610289 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1086/e4/4a73eeb7de262061d7569f7e04f728_180_135.jpg?1463660988" group-title="一起看", 真假么么哒 +https://live.ottiptv.cc/huya/11602036 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1004/c9/efa18758aeadf045ae9fe670d7acb7_180_135.jpg?1581758254" group-title="一起看", 坚定希望 +https://live.ottiptv.cc/huya/21059529 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1077/64/ceb55972f67a8fbe88439f440706c3_180_135.jpg?1542713057" group-title="原创", 我是一颗小虎牙 +https://live.ottiptv.cc/huya/30363935 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1090/0c/ac3c60f10804956c53c4406d64e5c0_180_135.jpg?1698032717" group-title="原创", 光光电影 +https://live.ottiptv.cc/huya/29399457 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1023/9e/77ecfd673b6405da3ee96303e076ef_180_135.jpg?1711533274" group-title="一起看", 天水慢直播 +https://live.ottiptv.cc/huya/29465899 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1070/7e/366ae2ea9db3c98ac57ec28781983f_180_135.jpg?1530171252" group-title="原创", 小川侃电影 +https://live.ottiptv.cc/huya/15870999 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1026/9f/c8d720bec4da4bf98b15feb6a94745_180_135.jpg?1729482428" group-title="原创", 大鹅观影 +https://live.ottiptv.cc/huya/30292065 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1004/e3/146c43a198bdc8a436271736c4e4c1_180_135.jpg?1604504566" group-title="一起看", 图文不符 +https://live.ottiptv.cc/huya/20985790 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="原创", 小宋追剧 +https://live.ottiptv.cc/huya/30310419 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1043/b6/5bebf2bdd5415eac59a904c1dd733a_180_135.jpg?1582779973" group-title="一起看", 老文的快乐生活 +https://live.ottiptv.cc/huya/21267475 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1072/28/bd8f016cbd06d59c3fc1a0ffdae5e2_180_135.jpg?1604503548" group-title="一起看", 无心说 +https://live.ottiptv.cc/huya/20985772 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1057/78/b5f15f5d61b7f15ad5ffcd395f3c95_180_135.jpg?1625543726" group-title="一起看", 君临剧良心 +https://live.ottiptv.cc/huya/24884368 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 今日说 +https://live.ottiptv.cc/huya/20985860 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1015/52/318e759caa9f910bd2d5901867538c_180_135.jpg?1733043666" group-title="原创", 枯木猫、 +https://live.ottiptv.cc/huya/29847482 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1019/27/7ef13b37c65c32e1416217655113c4_180_135.jpg?0" group-title="一起看", 酒窝储存机 +https://live.ottiptv.cc/huya/11602043 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1076/19/5a7f48d3e1a87d62e9190297e6cdc0_180_135.jpg?1722327294" group-title="一起看", 春天的希望小仙子 +https://live.ottiptv.cc/huya/30080231 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1091/5c/32f9f03466c469cbac8345444dd6fd_180_135.jpg?1582015720" group-title="原创", 周星驰吧 +https://live.ottiptv.cc/huya/21136378 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1028/7d/aa38c9785233dab051a928deb0064b_180_135.jpg?1733909177" group-title="原创", 鑫鑫影视 +https://live.ottiptv.cc/huya/30439676 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1050/a5/8a746dfb5031e985dd3648404a9a4a_180_135.jpg?1610297632" group-title="一起看", 多米诺效应 +https://live.ottiptv.cc/huya/20985832 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1079/d6/f9e7f044f90b8b6dc3c02f4a244ada_180_135.jpg?1623054892" group-title="原创", hihiji +https://live.ottiptv.cc/huya/24982176 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1045/c0/06d956c55ce41136b2165574c70f02_180_135.jpg?1721038043" group-title="一起看", 迪士尼姐姐 +https://live.ottiptv.cc/huya/29982656 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1085/56/11205c5f4ca0b9ac7959582ab72ecb_180_135.jpg?1733915562" group-title="原创", 岳岳追剧呀 +https://live.ottiptv.cc/huya/30438843 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1057/cd/6ae1108d2993e2ae21d3480cdc8a2f_180_135.jpg?1729481562" group-title="原创", 阿森观影团 +https://live.ottiptv.cc/huya/30292074 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1001/03/4eb45a74aefff4c81e677560068069_180_135.jpg?1609127303" group-title="原创", 灵魂照妖镜 +https://live.ottiptv.cc/huya/31001902 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1086/25/1d88edf7f3453fd77d0b443024be23_180_135.jpg?1606722940" group-title="一起看", 正经纪录片 +https://live.ottiptv.cc/huya/23860049 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1025/68/7104972fe779d8fede88802822721c_180_135.jpg?1542872230" group-title="一起看", 假装 +https://live.ottiptv.cc/huya/11352948 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1027/d1/90a9ff725d9a0d6e1a40effed37afa_180_135.jpg?1598611638" group-title="一起看", 听见歌声 +https://live.ottiptv.cc/huya/21241793 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1079/14/a20cf5ab2e5018c57dce02d19b7022_180_135.jpg?1604504757" group-title="一起看", HowFun +https://live.ottiptv.cc/huya/20985796 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 我是一颗小虎牙 +https://live.ottiptv.cc/huya/24314165 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1065/67/908a568a79e5a8b32080477423de79_180_135.jpg?1586851807" group-title="一起看", 驯鹿的阶梯 +https://live.ottiptv.cc/huya/20985870 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1040/3e/386d88b787faf84b84b0941760ba20_180_135.jpg?1716273245" group-title="一起看", 村村就爱玩 +https://live.ottiptv.cc/huya/21059605 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1086/05/159bae4a9d196601ff26563398e159_180_135.jpg?1749728670" group-title="原创", 剧迷大本营 +https://live.ottiptv.cc/huya/21688738 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1096/83/622140401ceeebcc0dc30521ff97d2_180_135.jpg?1747655685" group-title="原创", 猪圈女孩说剧 +https://live.ottiptv.cc/huya/30299082 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1021/ca/ea64547240470fc4d13e959291ffda_180_135.jpg?1612235518" group-title="一起看", TVBaby +https://live.ottiptv.cc/huya/23865164 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1061/19/92609b0ff4382c3d10d4acae2b6557_180_135.jpg?1597218850" group-title="一起看", 调查团 +https://live.ottiptv.cc/huya/20969117 +#EXTINF:-1 tvg-logo="http://downhdlogo.yy.com/hdlogo/144144/92/65/77/0007776592/T1hJDvBQLr1RCvBVdK.png" group-title="原创", 小阿掌 +https://live.ottiptv.cc/huya/28182904 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1050/a5/8a746dfb5031e985dd3648404a9a4a_180_135.jpg?1610297632" group-title="一起看", 多米诺效应 +https://live.ottiptv.cc/huya/20985832 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1060/46/b2b88bc0eb3515a0f425c5f322592f_180_135.jpg?1726662563" group-title="原创", 追剧怀旧达人 +https://live.ottiptv.cc/huya/30339640 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 小饭事件簿 +https://live.ottiptv.cc/huya/20985830 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1040/97/80df80a28aa6f72fe0717d4fe7b271_180_135.jpg?1766634503" group-title="一起看", 老物修复 +https://live.ottiptv.cc/huya/30631712 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="原创", 明年幸运 +https://live.ottiptv.cc/huya/30373458 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 我是一颗小虎牙 +https://live.ottiptv.cc/huya/24314162 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1030/2b/82e6247dcb1386a5581032a3f69954_180_135.jpg?1697007758" group-title="原创", 新海电影 +https://live.ottiptv.cc/huya/29396806 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1058/e0/cf1ce72d39023d224beed6d3a032f9_180_135.jpg?1584953470" group-title="一起看", 宝玉不姓贾 +https://live.ottiptv.cc/huya/20985866 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1094/e0/2e86a716625f6c35b3bd8b91072ea7_180_135.jpg?1597290143" group-title="一起看", 唐人街第三神探 +https://live.ottiptv.cc/huya/21059635 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1055/75/5625fe939bc35b2b397137852af690_180_135.jpg?1581236154" group-title="一起看", 小虎牙-2Nw7CSd9z0 +https://live.ottiptv.cc/huya/880256 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 我是一颗小虎牙 +https://live.ottiptv.cc/huya/24314165 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1033/ad/f2355ca155a42992b20481c3cf7212_180_135.jpg?1704161860" group-title="原创", 星雪剪辑 +https://live.ottiptv.cc/huya/29868637 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1092/8d/3524c3bebeefd14124caddd4101c21_180_135.jpg?1612246837" group-title="一起看", 阿呀呀阿sir +https://live.ottiptv.cc/huya/23865171 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1017/21/16449ee7b02cc4e04d8e8196b6e29b_180_135.jpg?1761896451" group-title="原创", FELIXFELICIS +https://live.ottiptv.cc/huya/31047042 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1012/f5/15f24efb17fd1fdaa63414cbb97643_180_135.jpg?1716892371" group-title="一起看", 横而梦里还 +https://live.ottiptv.cc/huya/21059602 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1041/d2/654a18113454bae1c495bd3ffa24d3_180_135.jpg?1612404793" group-title="一起看", 小虎牙-pTSEbHriOn +https://live.ottiptv.cc/huya/23863796 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1027/68/2daf3fcaaeec739afbfb40cf3eef95_180_135.jpg?1732776187" group-title="原创", 饭团剧社 +https://live.ottiptv.cc/huya/30399978 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1000/3a/51204e1845d990862a5b96b45e672d_180_135.jpg?1606723330" group-title="一起看", 我才是打工人 +https://live.ottiptv.cc/huya/23860039 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1064/e1/26268b96d69cc85bbbb4f4feb16e9c_180_135.jpg?1632498086" group-title="原创", 呆呆的动画 +https://live.ottiptv.cc/huya/29837259 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1009/67/77e4917d2b9e3668ad06abb2a38ff7_180_135.jpg?1666757969" group-title="原创", 欣姐说剧 +https://live.ottiptv.cc/huya/28021302 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 西忆故人喧昨晚 +https://live.ottiptv.cc/huya/26355804 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1058/b3/492eaaf7af22398f324694b1c7f6ed_180_135.jpg?1740451144" group-title="原创", 布布娱乐 +https://live.ottiptv.cc/huya/29882863 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1054/39/83a56a82c04461f15d918dc055d0b4_180_135.jpg?1620961449" group-title="原创", 酱婶儿电影 +https://live.ottiptv.cc/huya/24396474 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1052/fd/2b7cca54c637f425732ee4b7f1d75f_180_135.jpg?1453270484" group-title="一起看", 小军迷 +https://live.ottiptv.cc/huya/11352909 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1080/19/b60d05f2ed4ee5460a050f684027bb_180_135.jpg?1623827992" group-title="一起看", 君临剧靓 +https://live.ottiptv.cc/huya/24844242 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1073/ac/5fff1e72a5346d3457c46a67a47d70_180_135.jpg?1630481183" group-title="一起看", 上元石 +https://live.ottiptv.cc/huya/20985799 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1013/5a/646891d823ccd7ba9bbe112b8076b4_180_135.jpg?0" group-title="一起看", 六宫 +https://live.ottiptv.cc/huya/11602051 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1099/c3/0cc37aaeaa50a1475b42d63fa3ab6c_180_135.jpg?1606791526" group-title="一起看", 娥姐来了 +https://live.ottiptv.cc/huya/23734234 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1001/2f/fc7f500f1bc34b5a486b567b72da49_180_135.jpg?1612509390" group-title="一起看", 弹一闪闪闪 +https://live.ottiptv.cc/huya/21059570 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1017/f9/ce6b560632119784a5759fa35c9c7b_180_135.jpg?1584441252" group-title="一起看", 花开又三年 +https://live.ottiptv.cc/huya/20985852 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1053/65/f7bf973a349256329808c038c66c71_180_135.jpg?1624606761" group-title="原创", 原始生活21天 +https://live.ottiptv.cc/huya/17610289 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 藐姑檐户下 +https://live.ottiptv.cc/huya/30080149 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="原创", 短剧无极限 +https://live.ottiptv.cc/huya/31001847 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="原创", 言雨说剧 +https://live.ottiptv.cc/huya/30297024 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 我是一颗小虎牙 +https://live.ottiptv.cc/huya/24314158 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1027/d1/90a9ff725d9a0d6e1a40effed37afa_180_135.jpg?1598611638" group-title="一起看", 听见歌声 +https://live.ottiptv.cc/huya/21241793 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1028/f3/ef7188948b9b353e6d0e68b6e96d1b_180_135.jpg?1655179518" group-title="原创", 火华君说电影 +https://live.ottiptv.cc/huya/27312232 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="原创", 米饭何首乌粉 +https://live.ottiptv.cc/huya/30378185 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1006/25/f22fa809c30046ce06260945a459d7_180_135.jpg?1604504463" group-title="一起看", 小虎牙-LC5NQAheX1 +https://live.ottiptv.cc/huya/20985784 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1096/60/b8024557eb7eef522a91f6ce8c875a_180_135.jpg?1646814465" group-title="一起看", 耶溪猫獅 +https://live.ottiptv.cc/huya/26355782 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 我是一颗小虎牙 +https://live.ottiptv.cc/huya/21241801 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1004/88/c729890bc75df0e48909835af4900a_180_135.jpg?1609128177" group-title="一起看", TVB古装大片 +https://live.ottiptv.cc/huya/23865025 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1079/f1/26073bb95ed4fe4800529f62673f92_180_135.jpg?1584678254" group-title="一起看", 探险小分队 +https://live.ottiptv.cc/huya/20985862 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1097/e0/a03918d19a8aa257449f41d6ffeff2_180_135.jpg?1716775956" group-title="一起看", 吹绿令人老 +https://live.ottiptv.cc/huya/21059613 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="原创", 喵哇塞 +https://live.ottiptv.cc/huya/30344013 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1054/c2/7837a02ddcffb1daf5633c404a5588_180_135.jpg?1584958468" group-title="一起看", 人间眩法师 +https://live.ottiptv.cc/huya/20985855 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1056/e2/2420c3ddd28e4a2dbab4ca20588d6a_180_135.jpg?1721896202" group-title="一起看", 静妃沉浮录 +https://live.ottiptv.cc/huya/30080177 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1044/6c/cad10d28e3d5c82a873f7f2ba5cfd2_180_135.jpg?1616061592" group-title="原创", 小东北侃大片 +https://live.ottiptv.cc/huya/23110321 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1052/84/f18ecc215ed8797debe97cd1ce1378_180_135.jpg?1623825779" group-title="原创", 威廉说 +https://live.ottiptv.cc/huya/24969192 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1078/96/4379aa42ec16d3135208ccdea02dee_180_135.jpg?1597218679" group-title="一起看", 每日侃谈 +https://live.ottiptv.cc/huya/20969114 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1024/62/fd3144c3f8fc6a2d243c8d48b8fb7c_180_135.jpg?1691512473" group-title="原创", 小若影视 +https://live.ottiptv.cc/huya/29868594 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1008/d9/098cc6be45223187042d25f34a2ad6_180_135.jpg?1584958398" group-title="一起看", 前沿旅行社 +https://live.ottiptv.cc/huya/20985854 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1085/d8/fa0a985219c9ca8cb8113cdde3717c_180_135.jpg?1573180034" group-title="原创", 猫眼下的鱼 +https://live.ottiptv.cc/huya/20236200 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1072/e6/921dc8124c0c9673cb61d2fc59ad1d_180_135.jpg?1606721823" group-title="一起看", 一起来埋堆 +https://live.ottiptv.cc/huya/23734183 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1019/6d/229a7a8a4471215362b6099ce96115_180_135.jpg?1733915514" group-title="原创", 大潘影视 +https://live.ottiptv.cc/huya/30439834 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1023/4d/454177b1c66e53f22713f4e286ba30_180_135.jpg?1586425097" group-title="一起看", 小虎牙-a2yKCay99R +https://live.ottiptv.cc/huya/21954527 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1040/36/3c114506b859ac65f058b4a6326a16_180_135.jpg?1721898493" group-title="一起看", 奥运前线观察 +https://live.ottiptv.cc/huya/30080185 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1024/c8/ca59849068054560d43d382f83a05c_180_135.jpg" group-title="一起看", SMG胖月老 +https://live.ottiptv.cc/huya/11352947 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="原创", 专情于你 +https://live.ottiptv.cc/huya/31015382 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1060/cb/78e1c68439ae8ff70f19af924bac00_180_135.jpg?1612404835" group-title="一起看", 小虎牙-95tgIDoBHS +https://live.ottiptv.cc/huya/23863787 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1062/14/b9246b9ecace07dc9ef15b54145fb0_180_135.jpg?1724122314" group-title="一起看", 西班牙巴斯光年 +https://live.ottiptv.cc/huya/30080256 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1093/68/1a0c13bacc3c67f1e1346bfb99a03e_180_135.jpg?1598524332" group-title="一起看", 口袋妖怪COVER +https://live.ottiptv.cc/huya/21241789 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1084/c0/e47d4d01d80a49945c938cfba00f4c_180_135.jpg?1612405556" group-title="一起看", 小喇叭佩囍 +https://live.ottiptv.cc/huya/23863778 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1064/76/051a0da896c0f157a8c85ce1e7c0fd_180_135.jpg?1604504419" group-title="一起看", YOUNG +https://live.ottiptv.cc/huya/20985766 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1071/24/4901b73089f3c0362c90cd11e8e96b_180_135.jpg?1445838176" group-title="一起看", 持枪者-土豆哥 +https://live.ottiptv.cc/huya/11336578 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1040/0f/44174bdfb5e068a62f9456d5444036_180_135.jpg?1623984368" group-title="一起看", 君临剧美丽 +https://live.ottiptv.cc/huya/24879375 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="原创", A皮皮 +https://live.ottiptv.cc/huya/30375641 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1072/28/bd8f016cbd06d59c3fc1a0ffdae5e2_180_135.jpg?1604503548" group-title="一起看", 无心说 +https://live.ottiptv.cc/huya/20985772 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1081/8a/498254a220a5e6598c8a330a9c06fb_180_135.jpg?1693449913" group-title="一起看", 真男人耳光大赛 +https://live.ottiptv.cc/huya/20072873 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1069/88/7425535c18671318b7ef8f56ac3397_180_135.jpg?1628240758" group-title="原创", 小羊观影记录 +https://live.ottiptv.cc/huya/25363475 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1090/a6/4c2420c6b530ed792f5ffcc7970735_180_135.jpg?1558062636" group-title="原创", 电影狂人A +https://live.ottiptv.cc/huya/18715610 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1040/e3/ea0e0fe98ccaf56d0e56b70d58e8cb_180_135.jpg?1611200990" group-title="一起看", 港剧连连看 +https://live.ottiptv.cc/huya/23863882 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1047/9e/ca98f49b8ac4c72071e50b60cbfc57_180_135.jpg?1581170912" group-title="一起看", 渡川 +https://live.ottiptv.cc/huya/20969095 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1055/aa/e95bbc532f7815d793a20304580a51_180_135.jpg?1612508881" group-title="一起看", 别和陌生人说话 +https://live.ottiptv.cc/huya/21059573 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1028/7d/aa38c9785233dab051a928deb0064b_180_135.jpg?1733909177" group-title="原创", 鑫鑫影视 +https://live.ottiptv.cc/huya/30439676 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1045/4b/3de699d092d0c87297d1043201e83e_180_135.jpg?1602591630" group-title="一起看", 芦苇微微的弟子 +https://live.ottiptv.cc/huya/21059558 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1033/0d/e99ad5ecd72dbce1293f2dbf47d2e3_180_135.jpg?1587551057" group-title="一起看", 歌声无边界 +https://live.ottiptv.cc/huya/21241783 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1013/64/600c5c90e71d136891d3eac2b3fbc3_180_135.jpg?1650768637" group-title="原创", 热播君V +https://live.ottiptv.cc/huya/26999401 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1012/4d/b62b00c66facffb134d717c552d7c0_180_135.jpg?1716359798" group-title="原创", 金小妍吖 +https://live.ottiptv.cc/huya/29942067 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1062/c3/0d1262693ce1c793f892699ce3dd1b_180_135.jpg?1583921617" group-title="一起看", 档案事件簿 +https://live.ottiptv.cc/huya/20985834 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1088/00/d9de4c4999f0b808105639932926c2_180_135.jpg?1658931956" group-title="原创", 告别烦恼 +https://live.ottiptv.cc/huya/31001889 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1042/5c/095069e7b6f5425eac3cd94c599c9f_180_135.jpg?1721374994" group-title="一起看", 望处不是筝 +https://live.ottiptv.cc/huya/29982668 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1044/cb/e15242a6d351964b83dae89165e80c_180_135.jpg?1710834925" group-title="一起看", 疯狂动物园园长 +https://live.ottiptv.cc/huya/29465891 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1013/4d/795a56e5155126f22eed208b64f4ca_180_135.jpg?1609139981" group-title="一起看", 冷门港片大全 +https://live.ottiptv.cc/huya/23903196 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1047/b8/9ee0ba4656f6537a18155914c699c3_180_135.jpg?1715673104" group-title="一起看", 是醉芙吖 +https://live.ottiptv.cc/huya/21059599 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1043/d8/2df43ee7d387f202efc73b8f9951fb_180_135.jpg?1590983884" group-title="一起看", 广播剧能听一天 +https://live.ottiptv.cc/huya/22129776 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="原创", 驴子爱影视 +https://live.ottiptv.cc/huya/20380270 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1099/9e/8eb2b93ad05e0b51612709fb54f1cd_180_135.jpg?1695202450" group-title="原创", 若雨随影 +https://live.ottiptv.cc/huya/29340713 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1007/6d/6df779b43af38239736f25e4c917c3_180_135.jpg?1586851737" group-title="一起看", 士多霹雳 +https://live.ottiptv.cc/huya/20985869 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1047/24/4c3f73e09f06187a065b72e83a0756_180_135.jpg?1715680889" group-title="一起看", 云斑裸頰虾虎鱼锚参科 +https://live.ottiptv.cc/huya/26355766 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1021/de/812359957326ebf2d00930a372ce18_180_135.jpg?1655345807" group-title="原创", 一日壹片v +https://live.ottiptv.cc/huya/27322701 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 经典日本动漫速看 +https://live.ottiptv.cc/huya/29982686 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1078/f7/5974606c74b2dad898adc63c449268_180_135.jpg?1749721669" group-title="原创", 未来无限可能追寻者 +https://live.ottiptv.cc/huya/31002881 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1044/bd/64e60760ed0b0ae31265d05ba405f1_180_135.jpg?1602657657" group-title="一起看", 贝爷 +https://live.ottiptv.cc/huya/20969143 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1095/83/f3e1b9a29f021cb43aa57db2f6b863_180_135.jpg?1697011488" group-title="原创", 阿神电影 +https://live.ottiptv.cc/huya/29396896 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1095/63/4e9b3857197bafb4342d6751f5e09a_180_135.jpg?1606806769" group-title="一起看", 油麻地糖水铺 +https://live.ottiptv.cc/huya/23734223 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1048/04/801649910169e9b6df57b377ac038e_180_135.jpg?1604503609" group-title="一起看", 加点吉拿棒 +https://live.ottiptv.cc/huya/20985782 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1093/4d/e7f7d4a625e21cef29615d478e9ba9_180_135.jpg?0" group-title="原创", 小松说剧 +https://live.ottiptv.cc/huya/11593369 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1029/1c/af76d93c9fe545b57441b2451b8cb1_180_135.jpg?1711934545" group-title="原创", 三哥说武侠 +https://live.ottiptv.cc/huya/29834817 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1017/76/5d2d1a61a29397c2470e6e2de7e87f_180_135.jpg?1713428864" group-title="原创", 纯洁上校 +https://live.ottiptv.cc/huya/29875684 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1039/34/8076b3f53e0d16fc89c5fa3e9f217f_180_135.jpg?1695277889" group-title="一起看", 亚运体育7号台 +https://live.ottiptv.cc/huya/136154 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1055/92/d7013d4250d6687ccae130a45664c9_180_135.jpg?1583571311" group-title="一起看", 鬼叔奇谈 +https://live.ottiptv.cc/huya/20985821 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="原创", 短剧电影院 +https://live.ottiptv.cc/huya/31002899 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1059/e4/4d4d785bdbb726270b3e9a0cc8a465_180_135.jpg?1612247534" group-title="一起看", TVB练习生 +https://live.ottiptv.cc/huya/23865132 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1011/05/989ebca8d7566c06fb8d56a1ba95fc_180_135.jpg?1621603500" group-title="原创", 柒言绝剧 +https://live.ottiptv.cc/huya/24778726 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 我是一颗小虎牙 +https://live.ottiptv.cc/huya/24314166 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1060/78/135ec9900a2a41eb2746f1adbd43f5_180_135.jpg?1756196992" group-title="一起看", 小猫儿不爱吃鱼 +https://live.ottiptv.cc/huya/11601956 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1051/c0/dd08f283e46d9d74b62639e51ce934_180_135.jpg?1584440358" group-title="一起看", 热爱旅行的仙女 +https://live.ottiptv.cc/huya/20985837 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1042/6a/6763e0c3405d097b6f62e2220e3287_180_135.jpg?1720603446" group-title="一起看", 人类观察员love +https://live.ottiptv.cc/huya/29982628 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1061/0f/60eddf29df023ac6284bc7b0c1ad55_180_135.jpg?1711092182" group-title="原创", 泡菜电影 +https://live.ottiptv.cc/huya/29812160 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="原创", 竖子所乐兮 +https://live.ottiptv.cc/huya/30307442 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1089/27/ac201b24698be88fc466d61b537178_180_135.jpg?1700016951" group-title="原创", 狗哥探案 +https://live.ottiptv.cc/huya/29484323 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1019/e2/b06d39926cb7cbc33b6458772d3e3d_180_135.jpg?1695265471" group-title="原创", 老巴电影 +https://live.ottiptv.cc/huya/29340502 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1089/27/ac201b24698be88fc466d61b537178_180_135.jpg?1700016951" group-title="原创", 狗哥探案 +https://live.ottiptv.cc/huya/29484323 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="原创", 温泉鱼儿戏 +https://live.ottiptv.cc/huya/30080199 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="原创", 快剧一览 +https://live.ottiptv.cc/huya/31002874 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1056/2e/ba0ccc3fae5de691fb0c769acd38db_180_135.jpg?1749719337" group-title="原创", 短剧搞笑社 +https://live.ottiptv.cc/huya/31001842 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="原创", 江流杀鸡作食 +https://live.ottiptv.cc/huya/30375485 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1076/29/0404c9b5da9e63f550312893643a8d_180_135.jpg?1732775811" group-title="原创", 剧迷小灯泡 +https://live.ottiptv.cc/huya/30399965 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1089/63/cf82dc9d7e36831a62612883e0ff81_180_135.jpg?1721815609" group-title="一起看", MOCA陪你看 +https://live.ottiptv.cc/huya/30080165 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 同心孙楚楼 +https://live.ottiptv.cc/huya/29982658 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1060/b0/9abb88f0682b0a52e5b9196287239d_180_135.jpg?1621494336" group-title="原创", 猛虎电影 +https://live.ottiptv.cc/huya/24770988 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1034/58/2ceee311a03ba311e6936fec5fd3f2_180_135.jpg?1729589224" group-title="原创", 我是二人放映厅 +https://live.ottiptv.cc/huya/24441727 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1089/23/29445ed32eee4a5dbaf3344115c1c6_180_135.jpg?1598522474" group-title="一起看", 少女乐手 +https://live.ottiptv.cc/huya/21241786 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1085/fd/a946df361a1d240229e2fd2d85d2fb_180_135.jpg?1719997556" group-title="一起看", 阿张的RayZhang +https://live.ottiptv.cc/huya/29982637 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1062/4e/cd73e6137c3c562d1e0208ec890566_180_135.jpg?1578400788" group-title="一起看", 电子音乐现场 +https://live.ottiptv.cc/huya/20432221 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1042/93/98c6a7b0ff889bce8375c6865ba61e_180_135.jpg?1722421979" group-title="一起看", 芳草细雨烟 +https://live.ottiptv.cc/huya/30080188 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1009/fa/4be7d110899ca9b0a0a43a846da29e_180_135.jpg?1612406287" group-title="一起看", 港剧一家人 +https://live.ottiptv.cc/huya/23903152 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1040/de/bd978951b168b60efbd8b9fcea74a2_180_135.jpg?1767594714" group-title="原创", 小野综艺 +https://live.ottiptv.cc/huya/29890508 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 凤洋村贾克斯 +https://live.ottiptv.cc/huya/29982661 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1072/e6/921dc8124c0c9673cb61d2fc59ad1d_180_135.jpg?1606721823" group-title="一起看", 一起来埋堆 +https://live.ottiptv.cc/huya/23734183 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1076/06/e17e41cb817b14e29c1e42430ee470_180_135.jpg?1721978485" group-title="一起看", 一只邪恶小棕熊 +https://live.ottiptv.cc/huya/30080224 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1034/76/7d5ba435a71ab3fc6911a446c32eb2_180_135.jpg?1766729071" group-title="原创", 刘德华-四大天王 +https://live.ottiptv.cc/huya/30631743 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1027/02/02c6ff8523fb93bfa9e612ed35b4af_180_135.jpg?1612504793" group-title="原创", 肥猫观影 +https://live.ottiptv.cc/huya/24152470 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1057/94/d2545e3de7bc8ef94f655a5152558f_180_135.jpg?1606718879" group-title="一起看", 石敢当本当 +https://live.ottiptv.cc/huya/23749074 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1057/0f/d128d50b4f200471973ac197397889_180_135.jpg?1612404678" group-title="一起看", TVB爱情故事 +https://live.ottiptv.cc/huya/23863818 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1043/d8/2df43ee7d387f202efc73b8f9951fb_180_135.jpg?1590983884" group-title="一起看", 广播剧能听一天 +https://live.ottiptv.cc/huya/22129776 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1003/a6/b76538a4324695333926bd26d53f37_180_135.jpg?1606807438" group-title="一起看", 大帅哥狄奇 +https://live.ottiptv.cc/huya/23728651 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1027/15/a6e0b1c53349fd819ab15dd3c7db71_180_135.jpg?1612404715" group-title="一起看", iTVB大后宫 +https://live.ottiptv.cc/huya/23863804 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1064/a8/776881ba041d1db68ccbc8f2110b8e_180_135.jpg?1728873695" group-title="原创", 阿涛影视 +https://live.ottiptv.cc/huya/30292047 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1039/45/0d2eb9a65e969779b27594e7b0bb90_180_135.jpg?1583922046" group-title="一起看", barry观世界 +https://live.ottiptv.cc/huya/20985835 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1063/95/3a1d7e6548cc07923f4f91829c9498_180_135.jpg?1559014237" group-title="一起看", 母胎solo200年 +https://live.ottiptv.cc/huya/30041512 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="原创", 短剧荟萃馆 +https://live.ottiptv.cc/huya/31079599 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1032/d4/f3e08e1807df59a5113cd0249ea0b2_180_135.jpg?1516782487" group-title="原创", Big笑工坊 +https://live.ottiptv.cc/huya/14776702 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1040/3e/386d88b787faf84b84b0941760ba20_180_135.jpg?1716273245" group-title="一起看", 村村就爱玩 +https://live.ottiptv.cc/huya/21059605 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1019/6d/229a7a8a4471215362b6099ce96115_180_135.jpg?1733915514" group-title="原创", 大潘影视 +https://live.ottiptv.cc/huya/30439834 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1012/de/c53a0f26fe49ef1d956fb1816ed64b_180_135.jpg?1742799631" group-title="原创", 阿良说剧 +https://live.ottiptv.cc/huya/30296909 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1052/83/a0f6069a046b08ea3a1b0e42a7ba8d_180_135.jpg?1719545615" group-title="一起看", 自缘身在苔衣上 +https://live.ottiptv.cc/huya/26355822 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 使臣响画轮 +https://live.ottiptv.cc/huya/29465873 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1096/84/1dd3471073e25a31e314542224677d_180_135.jpg?1729071010" group-title="原创", 神探追剧 +https://live.ottiptv.cc/huya/30296896 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 我是一颗小虎牙 +https://live.ottiptv.cc/huya/21241843 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1091/31/bdeef52846f325c3650510cc8df256_180_135.jpg?1609138995" group-title="一起看", 香港刑侦实录 +https://live.ottiptv.cc/huya/23865058 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1010/c4/84b1a5aac4db14fe509cd306d5d53b_180_135.jpg?1612406334" group-title="一起看", 港剧影视汇 +https://live.ottiptv.cc/huya/23903142 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1092/bf/2a34ca6ce5815b8b81b83b9d6bec57_180_135.jpg?1711785121" group-title="原创", 救赎电影 +https://live.ottiptv.cc/huya/29833341 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1067/c1/a64efaeeb398f1dceb115a76b7c31d_180_135.jpg?1699255661" group-title="原创", 大墨电影 +https://live.ottiptv.cc/huya/29458834 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1042/e4/9b40a19ca25df470a7d61e5ebdc45b_180_135.jpg?1601279379" group-title="一起看", 华视-猜你喜欢 +https://live.ottiptv.cc/huya/23352563 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1020/be/3f4d020a042f9434bbd669e6494c39_180_135.jpg?1717410342" group-title="一起看", 百里乐成 +https://live.ottiptv.cc/huya/21059632 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1086/4b/a20ea439a14308e0c3d1c4b1f828f8_180_135.jpg" group-title="一起看", SMG开怀时刻 +https://live.ottiptv.cc/huya/11352908 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1041/7c/cfd75a9685810e554be7a40064a2c0_180_135.jpg?1609138832" group-title="一起看", 港式宫斗剧 +https://live.ottiptv.cc/huya/23865036 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1016/59/30ab88b8aa52f0aa05c7e9ed1e72a4_180_135.jpg?1717046775" group-title="原创", 爆有料综艺 +https://live.ottiptv.cc/huya/27695407 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1016/41/5bb1814e6dff5d1064fabf0753fc2e_180_135.jpg?1625981028" group-title="原创", 涵哥评电影 +https://live.ottiptv.cc/huya/16865726 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1018/87/8ddc2d23f878c6c458ffd8fcd96626_180_135.jpg?1621500142" group-title="原创", 小鹿来了 +https://live.ottiptv.cc/huya/22780175 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1030/3e/77a86476ea51549e0f137b60df0507_180_135.jpg?1723004509" group-title="一起看", 恶魔宝钧 +https://live.ottiptv.cc/huya/30080242 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="原创", 泪腺收割机 +https://live.ottiptv.cc/huya/31001892 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1026/d7/8b21e1049d1e4997a159d8492dcf35_180_135.jpg?1720774257" group-title="一起看", 十方的神兽 +https://live.ottiptv.cc/huya/29982653 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1038/f2/ee382cc21ebec8f06d52be499cab61_180_135.jpg?1603273508" group-title="一起看", 心心念念患者 +https://live.ottiptv.cc/huya/21241807 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1002/98/0d25a8a07028b5461aad97ffccafd4_180_135.jpg?1742383642" group-title="原创", 艾迷追剧 +https://live.ottiptv.cc/huya/30296786 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1058/84/964663d72bfe3d6fddf0561f7219f5_180_135.jpg?1448422944" group-title="一起看", SMG爆笑舞台 +https://live.ottiptv.cc/huya/11352937 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1061/0f/60eddf29df023ac6284bc7b0c1ad55_180_135.jpg?1711092182" group-title="原创", 泡菜电影 +https://live.ottiptv.cc/huya/29812160 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1009/33/3bd8d7cd06c5e677e26f358f59875a_180_135.jpg" group-title="原创", 奇幻冒险家 +https://live.ottiptv.cc/huya/31003156 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1021/19/bc55d6fd83f0dbfae3939e937080f2_180_135.jpg?1538072257" group-title="原创", 鱼丸说电影 +https://live.ottiptv.cc/huya/16615910 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1082/33/ea92679807abe8cc7f880aa3d4d29c_180_135.jpg?1606791684" group-title="一起看", 我叫Laughing哥 +https://live.ottiptv.cc/huya/23734243 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1063/0f/1764f8f1a1bed1db23fc10d4f24575_180_135.jpg?1712110769" group-title="一起看", 地震监视慢直播 +https://live.ottiptv.cc/huya/29465884 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1089/e8/683cdbab183ab0d8a8ab142c25d262_180_135.jpg?1711533623" group-title="一起看", 霸总傲天短剧 +https://live.ottiptv.cc/huya/29465898 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1033/45/45ded1b1728986d07e2b5e973ec039_180_135.jpg?1721038195" group-title="一起看", 正在减肥的阿辰 +https://live.ottiptv.cc/huya/29982657 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1024/84/2967838509e51554e638e9b3a52dd4_180_135.jpg?1646813801" group-title="一起看", 迢递羹瓜祭 +https://live.ottiptv.cc/huya/26355787 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1023/7f/6430359b001e70076effa65a0521de_180_135.jpg?1606895802" group-title="一起看", 杨过的挂耳染 +https://live.ottiptv.cc/huya/23746691 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 感此芳树下 +https://live.ottiptv.cc/huya/651536 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1033/c7/deaedc677ecfb34f095c8ac7ab6f25_180_135.jpg" group-title="一起看", Fight、Girl +https://live.ottiptv.cc/huya/11352895 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1030/86/2631e387986b15c83618e8fec2154b_180_135.jpg?1720698822" group-title="一起看", 国际化style +https://live.ottiptv.cc/huya/29982623 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1010/12/7c8be38c3d4011f1aeb7f012918f78_180_135.jpg?1604504300" group-title="一起看", 海轮子 +https://live.ottiptv.cc/huya/20969134 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1060/b3/b3a70316c3c1e13cabc9fd53d36d44_180_135.jpg?1596595892" group-title="一起看", 军械库 +https://live.ottiptv.cc/huya/20969111 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1081/6d/859192b9c8463a63d2e2b3358d1530_180_135.jpg?1604504322" group-title="一起看", 青曲社 +https://live.ottiptv.cc/huya/20969135 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 最美不过保时捷 +https://live.ottiptv.cc/huya/26355810 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1083/88/bbcdf30749049aca4bf39a053fa8aa_180_135.jpg?1718271638" group-title="一起看", 河声云梦泽 +https://live.ottiptv.cc/huya/29982614 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1037/c5/c9a096c81628528d0773866f0d8ab9_180_135.jpg?1716272635" group-title="一起看", 池邊苏爾 +https://live.ottiptv.cc/huya/26355821 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1084/97/4f018ad00e54f37d24982637d47fa6_180_135.jpg?1721206867" group-title="一起看", 秋风美少女 +https://live.ottiptv.cc/huya/30080139 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1079/09/788e3c1aaa2ad1fdd08f164daacc67_180_135.jpg?1722566411" group-title="一起看", 阿杰cxj +https://live.ottiptv.cc/huya/30080234 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1061/e1/46e390d7aed531e8b7e2480fa02cad_180_135.jpg?1720690090" group-title="一起看", 喜欢陪你唠嗑 +https://live.ottiptv.cc/huya/29982621 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1034/99/bb48210c45e062053b9520a5016e05_180_135.jpg?1448344924" group-title="一起看", D3ath-亡魂 +https://live.ottiptv.cc/huya/11342437 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1013/a4/48e99ff9c631c7128c9bbedc5085e6_180_135.jpg?1750674784" group-title="原创", 栗子不熬夜Zz +https://live.ottiptv.cc/huya/30622328 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1057/01/2a4e1224de9d33b42fe414dff90cb6_180_135.jpg" group-title="一起看", 面对疾风- +https://live.ottiptv.cc/huya/11352904 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1028/1c/c01d421e7f4cc4a7ce22be2a19bd48_180_135.jpg?1584952773" group-title="一起看", 愤怒的洋羊 +https://live.ottiptv.cc/huya/20985857 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1088/be/ffa08af7dfbae15141bad7f97936fd_180_135.jpg?1446129846" group-title="一起看", 威猛先生 +https://live.ottiptv.cc/huya/11342420 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1042/20/9ac36a840b4880ff6b08724732a7cf_180_135.jpg?1606722348" group-title="一起看", 嫩模下厨房 +https://live.ottiptv.cc/huya/23735181 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1045/93/f4ea5a1735b5e1256cd4139efddf80_180_135.jpg?1609999948" group-title="一起看", 万千星辉来吹水 +https://live.ottiptv.cc/huya/23865186 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1013/8d/24349ca1533ed5a38f40a0481cfa46_180_135.jpg?1608191178" group-title="一起看", ByDiy +https://live.ottiptv.cc/huya/20985807 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1068/c4/1fed41a5a25e9e4353b1fe1f706eed_180_135.jpg?1584953296" group-title="一起看", 小虎牙-dTyPjS9FGm +https://live.ottiptv.cc/huya/20985865 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1018/50/ac2d67090c3c21102acd9d300bc642_180_135.jpg?1604503523" group-title="一起看", 邓潇 +https://live.ottiptv.cc/huya/20985771 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 深秋有诗 +https://live.ottiptv.cc/huya/29982627 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1099/c3/db28f2445acd570c0c99a435286918_180_135.jpg?1597218643" group-title="一起看", 今时记 +https://live.ottiptv.cc/huya/20969113 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1078/4c/f1042af7267bcae06c6d631b14d33f_180_135.jpg?1465667825" group-title="一起看", 小轩 +https://live.ottiptv.cc/huya/11352899 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1089/ca/5b1f59ca3b6a693594e253cd6d7c06_180_135.jpg?1718254467" group-title="一起看", 治霖足球故事 +https://live.ottiptv.cc/huya/29982606 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1056/b2/22554dc45be5fa87b683477eaecac7_180_135.jpg?1597225427" group-title="一起看", 丹尼日记 +https://live.ottiptv.cc/huya/20969121 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1055/5a/2ea2794baaec28b7b6b89150cf8cfb_180_135.jpg?1606894253" group-title="一起看", 一家人整整齐齐 +https://live.ottiptv.cc/huya/23860057 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1092/29/edb0895cde46f9d9faee08e76a856a_180_135.jpg?1625544030" group-title="一起看", 君临剧聪明 +https://live.ottiptv.cc/huya/24888173 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1020/40/3a828147ae0917a405d743f2e5e4ae_180_135.jpg?1609255608" group-title="一起看", 夏初冬临 +https://live.ottiptv.cc/huya/21241825 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1049/d3/1f6653915ac0b1926596a04dbf7d01_180_135.jpg?1596716782" group-title="一起看", 撸车吧 +https://live.ottiptv.cc/huya/20985779 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1027/22/d282316417305c4adc12ded02929aa_180_135.jpg?1581171283" group-title="一起看", 青怏 +https://live.ottiptv.cc/huya/20969098 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 我是一颗小虎牙 +https://live.ottiptv.cc/huya/24314157 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1059/81/be5872f0ea604e209990000afa6e36_180_135.jpg?1609139683" group-title="一起看", 粤爱看港片 +https://live.ottiptv.cc/huya/23863809 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1024/0a/e2bfc1418d4e2d799c2a1f659ea53e_180_135.jpg" group-title="一起看", 小虎牙-jPhz6R8hIC +https://live.ottiptv.cc/huya/11352918 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1039/15/e78dbe5815653196289067ad9f0d0b_180_135.jpg?1721735592" group-title="一起看", 奇遇公主 +https://live.ottiptv.cc/huya/30080156 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1065/d5/51e1186b46391bb24e5cf34d2f5650_180_135.jpg?1583570460" group-title="一起看", 探索世界科普 +https://live.ottiptv.cc/huya/20985813 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1099/a9/7f2337235313c0248e43ee00cbd097_180_135.jpg?1693409862" group-title="一起看", 虎牙志愿者 +https://live.ottiptv.cc/huya/880232 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1027/f7/2f7974e07af1727ed95cf234274fee_180_135.jpg?1583645626" group-title="一起看", 有点意思 +https://live.ottiptv.cc/huya/20985824 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1068/e2/befd49d47ac9bab60b7e9c536a47e8_180_135.jpg?1721207095" group-title="一起看", 夏至搞笑女20 +https://live.ottiptv.cc/huya/30080142 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1099/9f/1bb078b20ccffb3972172a119c95f6_180_135.jpg?1616057706" group-title="一起看", 街头唱歌 +https://live.ottiptv.cc/huya/20985812 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 小当家动漫社 +https://live.ottiptv.cc/huya/24257300 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1043/33/6a2b3f006c3fe9540d6c9277d567af_180_135.jpg?1646813097" group-title="一起看", 上山鱼香 +https://live.ottiptv.cc/huya/26355798 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1002/4b/bdd1e31b0131deac50db4173915414_180_135.jpg?1543373465" group-title="一起看", 西红柿 +https://live.ottiptv.cc/huya/11601979 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1057/2b/c3ad11609dc167616fe9bfcf61aff1_180_135.jpg?1596716861" group-title="一起看", 小虎牙-7kYdWFDMe2 +https://live.ottiptv.cc/huya/20985777 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1000/97/8a9486d531c1a9320af5f1e57f6834_180_135.jpg?1607930281" group-title="一起看", 壹车 +https://live.ottiptv.cc/huya/20969124 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1033/3e/3ca01a1f7b2191fd837b235101de48_180_135.jpg?1616771511" group-title="一起看", 黑羽 +https://live.ottiptv.cc/huya/20985791 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1057/b7/4db29f9bd03b3cbde36fe52e137b4d_180_135.jpg?1612404615" group-title="一起看", 我爱佩小西 +https://live.ottiptv.cc/huya/23863822 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 给生活加点笑 +https://live.ottiptv.cc/huya/20985764 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1050/f1/769cab95d220b6b26335464e0e73ed_180_135.jpg?1604504075" group-title="一起看", 近藤喜彦 +https://live.ottiptv.cc/huya/20985787 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1079/cd/96c1b8517d18edd1cd8593bb50d2d9_180_135.jpg?1583921520" group-title="一起看", 只爱评书 +https://live.ottiptv.cc/huya/20985827 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1054/08/b16124c46f6b20d8a140349671ba19_180_135.jpg?1720078142" group-title="一起看", 傲笑红尘君 +https://live.ottiptv.cc/huya/29982645 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1039/28/fd3f3771902f4326973d5b9f37b6b5_180_135.jpg?1612405609" group-title="一起看", 港剧伴你行 +https://live.ottiptv.cc/huya/23903183 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 我是一颗小虎牙 +https://live.ottiptv.cc/huya/24314159 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1049/c8/931b5cb80c875c9c80f12229e1890e_180_135.jpg?1581172223" group-title="一起看", 梦儿 +https://live.ottiptv.cc/huya/20969102 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1039/2e/2e97b2bc3bce57dfced78cc6885a57_180_135.jpg?1543370499" group-title="一起看", 苏仨 +https://live.ottiptv.cc/huya/11601972 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1018/16/d03d2b5a117401ca08a2be28104bbf_180_135.jpg?1608306086" group-title="一起看", 虎牙音乐 +https://live.ottiptv.cc/huya/880207 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1030/8a/505b6d646249287e634494517650eb_180_135.jpg?1446036295" group-title="一起看", 李大湿 +https://live.ottiptv.cc/huya/11342417 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1024/5b/c20b8a4c5554095060dcbf15939298_180_135.jpg?1612247012" group-title="一起看", 为所欲为的墨镜哥 +https://live.ottiptv.cc/huya/23865161 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 深秋有诗 +https://live.ottiptv.cc/huya/29982627 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1039/f2/8c5e32bfcd2e678d9511ae21ebc6b1_180_135.jpg?1453112835" group-title="一起看", 斯国一 +https://live.ottiptv.cc/huya/11352905 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1054/4c/bea4ea013200fefceb87ff69195026_180_135.jpg?1606722666" group-title="一起看", 世界到底有多大 +https://live.ottiptv.cc/huya/23829537 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1061/92/77155200bd5aa9853a17297fdf105f_180_135.jpg?1606717068" group-title="一起看", 我只是个好人 +https://live.ottiptv.cc/huya/23728674 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1058/15/4f81e9c51e3be3c1b5a60799cb9e03_180_135.jpg?1720078876" group-title="一起看", 涵九九是九九 +https://live.ottiptv.cc/huya/29982647 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1081/52/73fa9164910372818576eeb5ea0000_180_135.jpg?1598600981" group-title="一起看", 主机音乐 +https://live.ottiptv.cc/huya/21241791 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1082/da/1cd622029ef6d33eddce6321aacb77_180_135.jpg?1720698458" group-title="一起看", joe-creator +https://live.ottiptv.cc/huya/29982624 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1091/11/9644b830f7e59751ce00ba40c99502_180_135.jpg?1717144157" group-title="一起看", 野味小生共江湖同醉 +https://live.ottiptv.cc/huya/21059631 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1067/5f/253e3dfcfbc9a8c683a25877452819_180_135.jpg?1581152141" group-title="一起看", 田园生活分享 +https://live.ottiptv.cc/huya/20969145 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1099/c3/db28f2445acd570c0c99a435286918_180_135.jpg?1597218643" group-title="一起看", 今时记 +https://live.ottiptv.cc/huya/20969113 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1028/f1/aa250e09a2db45db95c519835921b6_180_135.jpg?1718254325" group-title="一起看", 大头猴足球 +https://live.ottiptv.cc/huya/29982605 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1076/a9/c3a345907e02b0b5d7789abc7bd29c_180_135.jpg?1596715644" group-title="一起看", 周周盘瓜 +https://live.ottiptv.cc/huya/20985775 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1049/c0/4b165266e473f83c9dfe69772ecd7b_180_135.jpg?1646814397" group-title="一起看", 年月犬 +https://live.ottiptv.cc/huya/26355784 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1031/98/90ac3be7d2e3b0910c366f6e056400_180_135.jpg?1582883790" group-title="一起看", UniqueToo +https://live.ottiptv.cc/huya/20985806 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1075/ec/62407f30116ac0c0dceeb13fb50f9f_180_135.jpg?1604504541" group-title="一起看", 仓鼠人 +https://live.ottiptv.cc/huya/20985789 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1006/29/6eb0e682c142613a4b800875cfc45d_180_135.jpg?1612407111" group-title="一起看", 堆堆看港剧 +https://live.ottiptv.cc/huya/23902225 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 我是一颗小虎牙 +https://live.ottiptv.cc/huya/21059616 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1015/93/322e768d6cc15af750aeeea9b68f19_180_135.jpg?1589190029" group-title="一起看", 小虎牙-291AplnKdh +https://live.ottiptv.cc/huya/22149408 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1000/3a/51204e1845d990862a5b96b45e672d_180_135.jpg?1606723330" group-title="一起看", 我才是打工人 +https://live.ottiptv.cc/huya/23860039 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1035/51/6f463860fdf3570d03ad1cd57c2e6c_180_135.jpg?1609139358" group-title="一起看", 经典港片轮播 +https://live.ottiptv.cc/huya/23865086 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1090/fc/0053a9ba7230191a1483f42fd4d5e8_180_135.jpg?1598519308" group-title="一起看", 甜美之声 +https://live.ottiptv.cc/huya/21241784 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1032/22/6aad490fdebbf75b82ea2c310ff60e_180_135.jpg?1569408682" group-title="一起看", 小虎牙-cRh4SZBiun +https://live.ottiptv.cc/huya/880241 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1099/a9/7f2337235313c0248e43ee00cbd097_180_135.jpg?1693409862" group-title="一起看", 虎牙志愿者 +https://live.ottiptv.cc/huya/880232 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1064/13/9feac9afe7accc01c2ddaf6f755c4f_180_135.jpg?1584677912" group-title="一起看", 熊叔实验室 +https://live.ottiptv.cc/huya/20985864 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1018/46/8960aea252d3fc76d1550b21189360_180_135.jpg?1721898358" group-title="一起看", 睿智如夏花 +https://live.ottiptv.cc/huya/30080217 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1027/f7/2f7974e07af1727ed95cf234274fee_180_135.jpg?1583645626" group-title="一起看", 有点意思 +https://live.ottiptv.cc/huya/20985824 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1048/34/4856866eea21ebcd0725041ff87c98_180_135.jpg?1606721670" group-title="一起看", 一起来学粤语 +https://live.ottiptv.cc/huya/23734196 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1065/d5/51e1186b46391bb24e5cf34d2f5650_180_135.jpg?1583570460" group-title="一起看", 探索世界科普 +https://live.ottiptv.cc/huya/20985813 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 御所田南通 +https://live.ottiptv.cc/huya/26355773 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1063/0e/b0d4b21e5e69d730bc145cf301047a_180_135.jpg?1729851097" group-title="一起看", 冰冷浪漫 +https://live.ottiptv.cc/huya/29982663 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1089/47/550e90a59961d73e459d7ddd6a4d62_180_135.jpg?1612406633" group-title="一起看", 我是港剧迷 +https://live.ottiptv.cc/huya/23903085 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1048/4d/c6cd8614b1a5b6e00069edc8815fb7_180_135.jpg?1450260179" group-title="一起看", 世界格斗场 +https://live.ottiptv.cc/huya/11352969 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1021/94/49fe105d7595d7a9cefe8fec624e8e_180_135.jpg?1646813713" group-title="一起看", 南中莫甘娜 +https://live.ottiptv.cc/huya/26355789 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1079/09/788e3c1aaa2ad1fdd08f164daacc67_180_135.jpg?1722566411" group-title="一起看", 阿杰cxj +https://live.ottiptv.cc/huya/30080234 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1025/3c/9dda52912a678cd7c5dbf739985951_180_135.jpg?1587008243" group-title="一起看", 男神歌者 +https://live.ottiptv.cc/huya/21241782 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1065/50/04fa1b3ee9e4e90e0294126335e46c_180_135.jpg?1612405914" group-title="一起看", 港剧日日见 +https://live.ottiptv.cc/huya/23864480 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1055/fb/8852b2ce0a9d5f1b23fa796532aa9b_180_135.jpg?1601279065" group-title="一起看", 华视-喜剧大片 +https://live.ottiptv.cc/huya/23352525 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 我是一颗小虎牙 +https://live.ottiptv.cc/huya/21059597 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1077/e2/cb8a559590c045ae43c42e42ae9570_180_135.jpg?1526726457" group-title="一起看", 童可可 +https://live.ottiptv.cc/huya/11352967 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1059/05/24bcf45b7cde43d8a9ad4f0141a5ca_180_135.jpg?1623317366" group-title="一起看", 请叫我大猪逸 +https://live.ottiptv.cc/huya/21059617 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1027/22/d282316417305c4adc12ded02929aa_180_135.jpg?1581171283" group-title="一起看", 青怏 +https://live.ottiptv.cc/huya/20969098 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1034/99/bb48210c45e062053b9520a5016e05_180_135.jpg?1448344924" group-title="一起看", D3ath-亡魂 +https://live.ottiptv.cc/huya/11342437 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1076/7e/99584647e1ac02f3d7b6c76aefe48a_180_135.jpg?1586851499" group-title="一起看", 唐唐科普 +https://live.ottiptv.cc/huya/20985846 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1014/5f/9aa963486ce7ae2b8bd970bc5769b5_180_135.jpg?1606722494" group-title="一起看", 音粤无国界 +https://live.ottiptv.cc/huya/23734256 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1056/c5/c0548c0d5c28677ef01078b1606c78_180_135.jpg?1607323214" group-title="一起看", 电视城打工人 +https://live.ottiptv.cc/huya/23824171 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1024/bd/95f745fdd9e9cd9136d04ae6eabf58_180_135.jpg?1480069122" group-title="一起看", 雅痞不是帅 +https://live.ottiptv.cc/huya/11352953 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1049/d3/1f6653915ac0b1926596a04dbf7d01_180_135.jpg?1596716782" group-title="一起看", 撸车吧 +https://live.ottiptv.cc/huya/20985779 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1009/9e/93185fd5e9066a7a1cee190f42737d_180_135.jpg?1584789720" group-title="一起看", HitFM +https://live.ottiptv.cc/huya/21610797 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1038/fd/9d92238a6d4d7e7dda180a7e57ad3f_180_135.jpg?1705565802" group-title="一起看", 千绪小绘 +https://live.ottiptv.cc/huya/29465867 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1013/31/44bf5c83e87490a74d7dc93900fc5c_180_135.jpg?1720077937" group-title="一起看", 歪果仁Reaction +https://live.ottiptv.cc/huya/29982644 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1096/d6/c177089e08964689b8e5cece7e08f8_180_135.jpg" group-title="一起看", 动画电影放映厅 +https://live.ottiptv.cc/huya/11352878 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1075/e0/880c33aa433707d87b79198e2d50a8_180_135.jpg?1723717622" group-title="一起看", 我还是不骄傲 +https://live.ottiptv.cc/huya/30080245 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1043/ac/47807be562a018e25637bddbca69b8_180_135.jpg?1449121405" group-title="一起看", 妖孽CC +https://live.ottiptv.cc/huya/11352945 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 小当家动漫社 +https://live.ottiptv.cc/huya/24257300 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1073/1c/33f6d7c99114bc58da91330284c035_180_135.jpg?1720774435" group-title="一起看", 假面骑士干巴爹 +https://live.ottiptv.cc/huya/29982654 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1049/21/504edf5575c5a99c50cca6dc2c507f_180_135.jpg?1603337718" group-title="一起看", 大神级现场 +https://live.ottiptv.cc/huya/21241817 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1077/5b/ad4819d2c005f6c1af2c20379cbb84_180_135.jpg?1721816407" group-title="一起看", 国乒小分队 +https://live.ottiptv.cc/huya/30080171 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1024/a7/84ac841cd1ecbd49e77c193b3a4af8_180_135.jpg?1470723433" group-title="一起看", 主播黑猫 +https://live.ottiptv.cc/huya/11352896 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 三十既未息 +https://live.ottiptv.cc/huya/26355846 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1073/d6/767bd0c09aff2dbcb713e247b3cdd0_180_135.jpg?1489482086" group-title="一起看", 脑壳不太好 +https://live.ottiptv.cc/huya/11602042 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1030/86/2631e387986b15c83618e8fec2154b_180_135.jpg?1720698822" group-title="一起看", 国际化style +https://live.ottiptv.cc/huya/29982623 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1022/c2/47eb2295c7e5865c9d6db3cdf34cf3_180_135.jpg?1453364729" group-title="一起看", SMG吐槽担当 +https://live.ottiptv.cc/huya/11352961 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1014/5a/39d4afb5bf7f1d4384bab375cb8d03_180_135.jpg?1721298679" group-title="一起看", 薰衣草雀 +https://live.ottiptv.cc/huya/30080143 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1097/73/56ed99751b3bbf51f4baf82b4e21ec_180_135.jpg?1611543976" group-title="一起看", 亮哥讲电影2 +https://live.ottiptv.cc/huya/21059622 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1013/b8/527a5c3b734c352625374f52af1168_180_135.jpg?1612247594" group-title="一起看", TVB浪姐 +https://live.ottiptv.cc/huya/23865124 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1017/34/a697d039bfda3b6595e0855968dc1f_180_135.jpg?1450925863" group-title="一起看", Fighter +https://live.ottiptv.cc/huya/11352949 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1001/6a/62b790cf39a42d7e8f9ac0b9c8cf63_180_135.jpg?1616548940" group-title="一起看", 舒克影视梗 +https://live.ottiptv.cc/huya/24517063 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1042/20/9ac36a840b4880ff6b08724732a7cf_180_135.jpg?1606722348" group-title="一起看", 嫩模下厨房 +https://live.ottiptv.cc/huya/23735181 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1029/67/1093d45b8b31ecb6b92de69d845d31_180_135.jpg?1646814325" group-title="一起看", 語之不顾細谨 +https://live.ottiptv.cc/huya/26355785 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1099/c4/c0303fe3f82a654470627962388e4d_180_135.jpg?1645074166" group-title="一起看", 南跃-俊轩 +https://live.ottiptv.cc/huya/10299733 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1067/3c/e25e7cd5b1b6533a423fbc45a299cb_180_135.jpg?1578651083" group-title="一起看", 虎牙音乐新歌榜 +https://live.ottiptv.cc/huya/20432223 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1092/29/edb0895cde46f9d9faee08e76a856a_180_135.jpg?1625544030" group-title="一起看", 君临剧聪明 +https://live.ottiptv.cc/huya/24888173 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1094/12/a55ceac4691c1df2a72552c21665eb_180_135.jpg?1586851414" group-title="一起看", lorre +https://live.ottiptv.cc/huya/20985842 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1072/06/0240029d12e53c164f1d334d7650f4_180_135.jpg?1721976478" group-title="一起看", 貔柴带你看 +https://live.ottiptv.cc/huya/30080179 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1099/f0/42e8b47329dfc7020a85530f295b6f_180_135.jpg?1604504116" group-title="一起看", 滴妹 +https://live.ottiptv.cc/huya/20985788 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1014/ee/199de6a35c136b53926ce029685e2e_180_135.jpg?1604504017" group-title="一起看", 科技宅男 +https://live.ottiptv.cc/huya/20985785 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1044/11/cafdca9ac888f737eb8a00730c12a8_180_135.jpg?1646811192" group-title="一起看", 仙人万戶侯 +https://live.ottiptv.cc/huya/26355863 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 小虎牙-5W3JAeeEfC +https://live.ottiptv.cc/huya/22360453 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1065/b4/1617529dce525bc611377336034b83_180_135.jpg?1603707766" group-title="一起看", blue声色 +https://live.ottiptv.cc/huya/21241831 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1027/ab/c18ff61c89d1d8d1b23b6a664f96ef_180_135.jpg" group-title="一起看", 柠檬树下你和我 +https://live.ottiptv.cc/huya/11352892 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 我是一颗小虎牙 +https://live.ottiptv.cc/huya/24314157 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1048/74/60074987ab8e29fbd8f1163bdbee4b_180_135.jpg?1604504170" group-title="一起看", 云华新知 +https://live.ottiptv.cc/huya/20969129 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1059/81/be5872f0ea604e209990000afa6e36_180_135.jpg?1609139683" group-title="一起看", 粤爱看港片 +https://live.ottiptv.cc/huya/23863809 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 喵喵即正义 +https://live.ottiptv.cc/huya/21059528 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1079/d0/f4abb92368ccb99195a336eb424168_180_135.jpg?1604503583" group-title="一起看", Zyn +https://live.ottiptv.cc/huya/20985781 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1077/48/13e61a19ae8e2e6f526881b5e134a4_180_135.jpg?1721879627" group-title="一起看", 排球太燃了 +https://live.ottiptv.cc/huya/30080166 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1085/11/6e6c5f90704ec5a9b6d5eabffbf004_180_135.jpg?1604504616" group-title="一起看", AKIHITO +https://live.ottiptv.cc/huya/20985792 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1042/77/3218e89f595c1bba46ce412b404825_180_135.jpg?1583131322" group-title="一起看", AlfarisRawk +https://live.ottiptv.cc/huya/20985803 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1050/f1/769cab95d220b6b26335464e0e73ed_180_135.jpg?1604504075" group-title="一起看", 近藤喜彦 +https://live.ottiptv.cc/huya/20985787 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1056/14/138409355aec814617e0ff05b55a7d_180_135.jpg?1721817422" group-title="一起看", 溪水潺潺公子 +https://live.ottiptv.cc/huya/30080175 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1038/3a/0aa6e55bea44c39a72837b0e039bd7_180_135.jpg?1721897146" group-title="一起看", 狮王哈哈乐 +https://live.ottiptv.cc/huya/30080176 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1037/c5/c9a096c81628528d0773866f0d8ab9_180_135.jpg?1716272635" group-title="一起看", 池邊苏爾 +https://live.ottiptv.cc/huya/26355821 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1057/01/2a4e1224de9d33b42fe414dff90cb6_180_135.jpg" group-title="一起看", 面对疾风- +https://live.ottiptv.cc/huya/11352904 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1099/b5/5c83f1bf8aa9cb158c704a32ef0e8c_180_135.jpg?1583119317" group-title="一起看", 伍德雅特 +https://live.ottiptv.cc/huya/20985805 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1045/09/afde9e23aa8349e35e3e6942aed63c_180_135.jpg?1583645048" group-title="一起看", 猜你知道 +https://live.ottiptv.cc/huya/20985825 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1042/e2/49f7626aba294d9afaa1a29ef9fd8e_180_135.jpg?1447410992" group-title="一起看", 靠谱女青年高小婷 +https://live.ottiptv.cc/huya/11342392 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1088/be/ffa08af7dfbae15141bad7f97936fd_180_135.jpg?1446129846" group-title="一起看", 威猛先生 +https://live.ottiptv.cc/huya/11342420 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1062/09/53afa37337cf2308a070990641f773_180_135.jpg?1584500916" group-title="一起看", 老王诡事 +https://live.ottiptv.cc/huya/20985847 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1056/a3/92160305834b85e6bb2574a42817d0_180_135.jpg?1718780794" group-title="一起看", 足球那些事贰 +https://live.ottiptv.cc/huya/29982617 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1011/1c/f63c732f23677ae30822ae0091d39f_180_135.jpg?1604504663" group-title="一起看", FunniestAnimals +https://live.ottiptv.cc/huya/20985793 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1018/41/61f7e97ed5fb0e1a2f039b403d5e28_180_135.jpg?1720603582" group-title="一起看", 外国人看世界 +https://live.ottiptv.cc/huya/29982626 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1060/7c/a16f45d42b6bd7abfcee1dda8b3b73_180_135.jpg?1584515609" group-title="一起看", 车速高开 +https://live.ottiptv.cc/huya/20985850 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1000/97/8a9486d531c1a9320af5f1e57f6834_180_135.jpg?1607930281" group-title="一起看", 壹车 +https://live.ottiptv.cc/huya/20969124 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1066/48/a80a6736a0d7645a8e653c79efbeef_180_135.jpg?1606720368" group-title="一起看", 港风女神 +https://live.ottiptv.cc/huya/23728689 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1083/8b/5793f339dff0a893b225061442a458_180_135.jpg?1463968900" group-title="一起看", 老雷 +https://live.ottiptv.cc/huya/11602034 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1051/da/d62e31feb9e2c0adad8f3eaa6dbf67_180_135.jpg?1711698555" group-title="一起看", 虎牙院线 +https://live.ottiptv.cc/huya/16020022 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1042/79/919162260d4d0b1718b68009e53ea2_180_135.jpg?1722494753" group-title="一起看", 蛇猴豹 +https://live.ottiptv.cc/huya/30080191 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 菌边村艾克 +https://live.ottiptv.cc/huya/29465872 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1060/47/d10c8d74162696040d0bebe3952e7e_180_135.jpg?1557055318" group-title="一起看", ddd +https://live.ottiptv.cc/huya/22024989 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1018/58/672e67eaacda4acf77beed1bf85fa5_180_135.jpg?1598965248" group-title="一起看", 律动无限 +https://live.ottiptv.cc/huya/21241797 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1023/7f/6430359b001e70076effa65a0521de_180_135.jpg?1606895802" group-title="一起看", 杨过的挂耳染 +https://live.ottiptv.cc/huya/23746691 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1074/e8/75a323e6cc8a82af3b525262732894_180_135.jpg?1559014348" group-title="一起看", 母胎solo二百年 +https://live.ottiptv.cc/huya/11601982 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1083/47/ad5c72e00d9b896741a0fb367c3d8f_180_135.jpg?1606721929" group-title="一起看", 堆仔煲剧 +https://live.ottiptv.cc/huya/23734176 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1056/fd/726948b0b27a1078d09d8dc27176e2_180_135.jpg?1609254158" group-title="一起看", 小琦琪 +https://live.ottiptv.cc/huya/21241819 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1074/1c/e71722e8f17e5b081f8f3208a6a0d2_180_135.jpg?1612424133" group-title="一起看", 鲁智深拔杨柳 +https://live.ottiptv.cc/huya/21059569 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 徒步喜马拉雅 +https://live.ottiptv.cc/huya/24609811 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1045/93/f4ea5a1735b5e1256cd4139efddf80_180_135.jpg?1609999948" group-title="一起看", 万千星辉来吹水 +https://live.ottiptv.cc/huya/23865186 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1046/58/a840620c04459f7bf438963daeb316_180_135.jpg?1598522373" group-title="一起看", 颜值鼓手 +https://live.ottiptv.cc/huya/21241785 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 虎扯新车 +https://live.ottiptv.cc/huya/26355820 +#EXTINF:-1 tvg-logo="https://diy-assets.msstatic.com/lzlfilefolder/2024default_20241031.png" group-title="一起看", 黄金妖狐猫 +https://live.ottiptv.cc/huya/30080157 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1079/3d/442674a5b1f2bdf5fa29b7b85a4402_180_135.jpg?1585899329" group-title="一起看", 就爱看电视 +https://live.ottiptv.cc/huya/21059545 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1064/72/b89e8e8ff6ceea980f271f3fafe87e_180_135.jpg?1721898263" group-title="一起看", 梨花娇滴滴 +https://live.ottiptv.cc/huya/30080216 +#EXTINF:-1 tvg-logo="http://huyaimg.msstatic.com/avatar/1016/1c/3a7804097cc027a4a7ce444b7ae687_180_135.jpg?0" group-title="一起看", 大型忙内的宅姐姐 +https://live.ottiptv.cc/huya/11602084 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1002/4b/bdd1e31b0131deac50db4173915414_180_135.jpg?1543373465" group-title="一起看", 西红柿 +https://live.ottiptv.cc/huya/11601979 +#EXTINF:-1 tvg-logo="https://huyaimg.msstatic.com/avatar/1023/ff/f7aab657170537f873be7539f4c9ed_180_135.jpg?1650599106" group-title="一起看", 沉默的孤狼啊 +https://live.ottiptv.cc/huya/21059598 diff --git a/tvboxqq/tvboxqq/饭太硬/spider.jar b/tvboxqq/tvboxqq/饭太硬/spider.jar new file mode 100644 index 0000000..e14c43a Binary files /dev/null and b/tvboxqq/tvboxqq/饭太硬/spider.jar differ diff --git a/tvboxqq/tvboxqq/香雅情/api.json b/tvboxqq/tvboxqq/香雅情/api.json new file mode 100644 index 0000000..9cb169c --- /dev/null +++ b/tvboxqq/tvboxqq/香雅情/api.json @@ -0,0 +1,1156 @@ +//资源全部免费,仅供测试交流,请勿内置传播与转卖;关注微信公众号:奇奇乐分享,发送“本地包”获取教程与更多资源! + +{ + "wallpaper": "https://wp.upx8.com/api.php", + "spider": "./spider.jar", + "lives": [ + { + "name": "BMCH", + "type": 0, + "url": "./lives/BMCH.txt", + "epg": "https://epg.v1.mk/json?ch={name}&date={date}" + }, + { + "name": "Tianmu", + "type": 0, + "url": "./lives/Tianmu.txt", + "epg": "https://epg.v1.mk/json?ch={name}&date={date}" + }, + { + "name": "fanmingming", + "type": 0, + "url": "./lives/fanmingming.txt" + } + ], + "sites": [ + { + "key": "csp_LocalFile", + "name": "本机文件(接口完全免费)", + "type": 3, + "api": "csp_LocalFile", + "searchable": 0, + "quickSearch": 0, + "filterable": 1, + "type_flag": 0 + }, + { + "key": "drpy_js_豆瓣", + "name": "豆瓣[js]", + "type": 3, + "api": "./api/drpy2.min.js", + "ext": "./js/drpy.js" + }, + { + "key": "drpy_js_奇珍异兽", + "name": "奇珍异兽[js]", + "type": 3, + "api": "./api/drpy2.min.js", + "ext": "./js/奇珍异兽.js" + }, + { + "key": "drpy_js_优酷", + "name": "优酷[js]", + "type": 3, + "api": "./api/drpy2.min.js", + "ext": "./js/优酷.js" + }, + { + "key": "drpy_js_腾云驾雾", + "name": "腾云驾雾[js]", + "type": 3, + "api": "./api/drpy2.min.js", + "ext": "./js/腾云驾雾.js" + }, + { + "key": "drpy_js_百忙无果", + "name": "百忙无果[js]", + "type": 3, + "api": "./api/drpy2.min.js", + "ext": "./js/百忙无果.js" + }, + { + "key": "push_agent", + "name": "📽推送", + "type": 3, + "api": "csp_PushAgent", + "searchable": 1, + "quickSearch": 1, + "filterable": 0 + }, + { + "key": "csp_New6v", + "name": "🧲新6V", + "type": 3, + "api": "csp_New6v", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "https://www.xb6v.com" + }, + { + "key": "csp_DyGod", + "name": "🧲电影天堂", + "type": 3, + "api": "csp_DyGod", + "searchable": 1, + "quickSearch": 1, + "filterable": 1 + }, + { + "key": "csp_QnMp4", + "name": "🧲七妹", + "type": 3, + "api": "csp_QnMp4", + "searchable": 1, + "quickSearch": 1, + "filterable": 1 + }, + { + "key": "csp_SeedHub", + "name": "🧲SeedHub", + "type": 3, + "api": "csp_SeedHub", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "https://www.seedhub.cc" + }, + { + "key": "csp_MeijuTT", + "name": "🧲美剧天堂", + "type": 3, + "api": "csp_MeijuTT", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "https://www.meijutt.net" + }, + { + "key": "csp_BLSGod", + "name": "🧲80S影视", + "type": 3, + "api": "csp_BLSGod", + "searchable": 1, + "quickSearch": 1, + "filterable": 1 + }, + { + "key": "csp_Xunlei8", + "name": "🧲迅雷吧", + "type": 3, + "api": "csp_Xunlei8", + "searchable": 1, + "quickSearch": 1, + "filterable": 1 + }, + { + "key": "360_spider", + "name": "🐞360影视", + "type": 3, + "api": "csp_SP360", + "filterable": 1, + "quickSearch": 1, + "searchable": 1 + }, + { + "key": "csp_Kuaikan", + "name": "💡快看影视", + "type": 3, + "api": "csp_Kuaikan", + "searchable": 1, + "quickSearch": 1, + "filterable": 1 + }, + { + "key": "csp_LiteApple", + "name": "🐞小苹果影视", + "type": 3, + "api": "csp_LiteApple", + "filterable": 1, + "quickSearch": 1, + "searchable": 1 + }, + { + "key": "csp_Bdys", + "name": "🐞哔嘀影视", + "type": 3, + "api": "csp_Bdys", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "https://v.xlys.ltd.ua" + }, + { + "key": "csp_XYQHiker_修罗影视", + "name": "🧲修罗影视(XYQH)", + "type": 3, + "api": "csp_XYQHiker", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "./json/哔嘀影视.json" + }, + { + "key": "csp_Ddys", + "name": "🐞低端影视", + "type": 3, + "api": "csp_Ddys", + "searchable": 1, + "quickSearch": 1, + "filterable": 1 + }, + { + "key": "csp_JianPian", + "name": "🔨荐片", + "type": 3, + "api": "csp_JianPian", + "playerType": 1, + "searchable": 1, + "quickSearch": 1, + "filterable": 1 + }, + { + "key": "csp_Ikanbot", + "name": "👾Ikanbot", + "type": 3, + "api": "csp_Ikanbot", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "https://v.aikanbot.com" + }, + { + "key": "csp_Bili", + "name": "🐞哔哩综合", + "type": 3, + "api": "csp_Bili", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "./json/Bili.json" + }, + { + "key": "csp_Bili幼儿", + "name": "🐞哔哩幼儿", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 0, + "filterable": 1, + "ext": "./json/幼儿乐园.json" + }, + { + "key": "csp_Bili少儿", + "name": "🐞哔哩少儿", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 0, + "filterable": 1, + "ext": "./json/少儿教育.json" + }, + { + "key": "csp_Bili小学", + "name": "🐞哔哩小学", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 0, + "filterable": 1, + "ext": "./json/小学课堂.json" + }, + { + "key": "csp_Bili初中", + "name": "🐞哔哩初中", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 0, + "filterable": 1, + "ext": "./json/初中课堂.json" + }, + { + "key": "csp_Bili高中", + "name": "🐞哔哩高中", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 0, + "filterable": 1, + "ext": "./json/高中课堂.json" + }, + { + "key": "JS哔哩直播", + "name": "哔哩直播[js]", + "type": 3, + "api": "./api/drpy2.min.js", + "searchable": 0, + "quickSearch": 0, + "filterable": 1, + "ext": "./js/哔哩直播.js" + }, + { + "key": "csp_XYQHiker_戏曲多多", + "name": "🎻戏曲多多", + "type": 3, + "api": "csp_XYQHiker", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "./json/戏曲多多.json" + }, + { + "key": "csp_XYQHiker_兔小贝", + "name": "🐰兔小贝(XYQH)", + "type": 3, + "api": "csp_XYQHiker", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "./json/兔小贝.json" + }, + { + "key": "csp_XYQHiker_兔小贝2", + "name": "🐰兔小贝2(XYQH)", + "type": 3, + "api": "csp_XYQHiker", + "searchable": 0, + "quickSearch": 1, + "filterable": 1, + "ext": "./json/兔小贝2.json" + }, + { + "key": "csp_XYQHiker_播视童趣", + "name": "👶🏻播视童趣(XYQH)", + "type": 3, + "api": "csp_XYQHiker", + "searchable": 0, + "quickSearch": 0, + "filterable": 1, + "ext": "./json/播视童趣.json" + }, + { + "key": "csp_XYQHiker_风车动漫", + "name": "🌪风车动漫(XYQH)", + "type": 3, + "api": "csp_XYQHiker", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "./json/风车动漫.json" + }, + { + "key": "csp_XYQHiker_樱花动漫", + "name": "🌸樱花动漫(XYQH)", + "type": 3, + "api": "csp_XYQHiker", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "./json/樱花动漫.json" + }, + { + "key": "csp_XYQHiker_去看吧动漫", + "name": "🔭去看吧动漫(XYQH)", + "type": 3, + "api": "csp_XYQHiker", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "./json/去看吧动漫.json" + }, + { + "key": "csp_XYQHiker_嗷呜动漫", + "name": "🙀嗷呜动漫(XYQH)", + "type": 3, + "api": "csp_XYQHiker", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "./json/嗷呜动漫.json" + }, + { + "key": "csp_XYQHiker_动漫巴士", + "name": "🚌动漫巴士(XYQH)", + "type": 3, + "api": "csp_XYQHiker", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "./json/动漫巴士.json" + }, + { + "key": "csp_XYQHiker_农民影视", + "name": "🧑🏻‍农民影视", + "type": 3, + "api": "csp_XYQHiker", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "./json/农民影视.json" + }, + { + "key": "csp_XYQHiker_剧圈圈", + "name": "🌟剧圈圈(XYQH)", + "type": 3, + "api": "csp_XYQHiker", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "./json/剧圈圈.json", + "click": "document.getElementById('playleft').children[0].contentWindow.document.getElementById('start').click()" + }, + { + "key": "csp_XYQHiker_骚火电影VIP", + "name": "🔥骚火电影VIP(XYQH)", + "type": 3, + "api": "csp_XYQHiker", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "./json/骚火电影VIP.json" + }, + { + "key": "csp_XYQHiker_电影盒子", + "name": "📦电影盒子", + "type": 3, + "api": "csp_XYQHiker", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "./json/电影盒子.json" + }, + { + "key": "csp_XYQHiker_可可影视", + "name": "☕️可可影视(XYQH)", + "type": 3, + "api": "csp_XYQHiker", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "./json/可可影视.json" + }, + { + "key": "csp_XYQHiker_爱看影视", + "name": "👀爱看影视(XYQH)", + "type": 3, + "api": "csp_XYQHiker", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "./json/爱看影视.json" + }, + { + "key": "csp_XYQHiker_看影网", + "name": "🔍看影网(XYQH)", + "type": 3, + "api": "csp_XYQHiker", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "./json/看影网.json" + }, + { + "key": "csp_XYQHiker_瓜子影院", + "name": "瓜子影院(XYQH)", + "type": 3, + "api": "csp_XYQHiker", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "./json/瓜子影视.json" + }, + { + "key": "csp_XYQHiker_八号影视", + "name": "8️⃣八号影视(XYQH)", + "type": 3, + "api": "csp_XYQHiker", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "./json/八号影视.json" + }, + { + "key": "csp_XYQHiker_来看点播", + "name": "⛅️来看点播(XYQH)", + "type": 3, + "api": "csp_XYQHiker", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "./json/来看点播.json" + }, + { + "key": "drpy_js_金牌", + "name": "金牌影视[js]", + "type": 3, + "api": "./api/drpy2.min.js", + "ext": "./js/金牌影视.js" + }, + { + "key": "柚子资源", + "name": "🍊柚子资源", + "type": 0, + "api": "https://api.yzzy-api.com/inc/api.php", + "searchable": 1, + "quickSearch": 1, + "categories": [ + "动作片", + "喜剧片", + "爱情片", + "科幻片", + "恐怖片", + "剧情片", + "战争片", + "国产剧", + "台湾剧", + "韩国剧", + "欧美剧", + "香港剧", + "泰国剧", + "日本剧", + "福利", + "记录片", + "动画片", + "海外剧", + "倫理片", + "大陆综艺", + "港台综艺", + "日韩综艺", + "欧美综艺", + "国产动漫", + "日韩动漫", + "欧美动漫", + "港台动漫", + "海外动漫", + "搞笑", + "音乐", + "影视", + "汽车", + "短剧大全", + "预告片", + "预告片", + "体育" + ] + }, + { + "key": "DRJS_虎牙", + "name": "虎牙直播(JS)", + "type": 3, + "api": "./api/drpy2.min.js", + "ext": "./js/虎牙直播.js", + "searchable": 0, + "quickSearch": 0, + "filterable": 1 + }, + { + "key": "csp_XYQHiker_虎牙直播", + "name": "🐯虎牙直播(XYQH)", + "type": 3, + "api": "csp_XYQHiker", + "searchable": 1, + "quickSearch": 0, + "filterable": 1, + "ext": "./json/虎牙直播.json" + }, + { + "key": "csp_XYQHiker_斗鱼直播", + "name": "🐠斗鱼直播(XYQH)", + "type": 3, + "api": "csp_XYQHiker", + "searchable": 1, + "quickSearch": 0, + "filterable": 1, + "ext": "./json/斗鱼直播.json" + }, + { + "key": "csp_Djuu", + "name": "🎧DJ悠悠", + "type": 3, + "api": "csp_Djuu", + "filterable": 1, + "quickSearch": 1, + "searchable": 1 + } + ], + "parses": [ + { + "name": "Web聚合", + "type": 3, + "url": "Web" + }, + { + "name": "-咸鱼-", + "type": 0, + "url": "https://jx.xymp4.cc/?url=", + "ext": { + "header": { + "user-agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36 Edg/134.0.3124.68" + } + } + }, + { + "name": "-虾米-", + "type": 0, + "url": "https://jx.xmflv.com/?url=", + "ext": { + "header": { + "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36 Edg/110.0.1587.57" + } + } + }, + { + "name": "-咸鱼-", + "type": 0, + "url": "https://jx.xymp4.cc/?url=", + "ext": { + "flag": [ + "qq", + "腾讯", + "qiyi", + "爱奇艺", + "奇艺", + "youku", + "优酷", + "mgtv", + "芒果", + "letv", + "乐视", + "pptv", + "PPTV", + "sohu", + "bilibili", + "哔哩哔哩", + "哔哩" + ], + "ext": { + "header": { + "user-agent": "Mozilla/5.0 (Linux; Android 13; V2049A Build/TP1A.220624.014; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/116.0.0.0 Mobile Safari/537.36", + "referer": "https://jx.xyflv.cc/" + } + } + } + }, + { + "name": "-淘片-", + "type": 0, + "url": "https://jx.yparse.com/index.php?url=", + "ext": { + "header": { + "user-agent": "Mozilla/5.0 (Linux; Android 13; V2049A Build/TP1A.220624.014; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/116.0.0.0 Mobile Safari/537.36" + } + } + }, + { + "name": "-冰豆-", + "type": 0, + "url": "https://bd.jx.cn/?url=", + "ext": { + "header": { + "user-agent": "Mozilla/5.0 (Linux; Android 13; V2049A Build/TP1A.220624.014; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/116.0.0.0 Mobile Safari/537.36" + } + } + }, + { + "name": "-77解析-", + "type": 0, + "url": "https://jx.77flv.cc/?url=", + "ext": { + "header": { + "user-agent": "Mozilla/5.0 (Linux; Android 13; V2049A Build/TP1A.220624.014; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/116.0.0.0 Mobile Safari/537.36" + } + } + }, + { + "name": "-zui-", + "type": 0, + "url": "https://jx.zui.cm/?url=", + "ext": { + "header": { + "user-agent": "Mozilla/5.0 (Linux; Android 13; V2049A Build/TP1A.220624.014; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/116.0.0.0 Mobile Safari/537.36" + } + } + }, + { + "name": "-盘古-", + "type": 0, + "url": "https://www.playm3u8.cn/jiexi.php?url=", + "ext": { + "header": { + "user-agent": "Mozilla/5.0 (Linux; Android 13; V2049A Build/TP1A.220624.014; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/116.0.0.0 Mobile Safari/537.36" + } + } + }, + { + "name": "-夜幕-", + "type": 0, + "url": "https://yemu.xyz/?url=", + "ext": { + "header": { + "user-agent": "Mozilla/5.0 (Linux; Android 13; V2049A Build/TP1A.220624.014; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/116.0.0.0 Mobile Safari/537.36" + } + } + } + ], + "flags": [ + "youku", + "qq", + "iqiyi", + "qiyi", + "letv", + "sohu", + "tudou", + "pptv", + "mgtv", + "wasu", + "bilibili", + "renrenmi" + ], + "rules": [ + { + "host": "www.iesdouyin.com", + "rule": [ + "playwm/?video_id=" + ] + }, + { + "host": "www.ysgc.vip", + "rule": [ + "getm3u8?url=http" + ] + }, + { + "host": "v.douyin.com", + "rule": [ + "playwm/?video_id=" + ] + }, + { + "host": "dyxs20.com", + "rule": [ + ".m3u8" + ] + }, + { + "host": "www.agemys.cc", + "rule": [ + "cdn-tos", + "obj/tos-cn" + ] + }, + { + "host": "www.sharenice.net", + "rule": [ + "http.*?/play.{0,3}\\?[^url]{2,8}=.*", + "qianpailive.com", + "vid=" + ] + }, + { + "name": "暴风", + "hosts": [ + "bfzy", + "bfbfvip", + "bfengbf" + ], + "regex": [ + "#EXTINF.*?\\s+.*?adjump.*?\\.ts" + ] + }, + { + "name": "量子", + "hosts": [ + "vip.lz", + "hd.lz", + ".cdnlz" + ], + "regex": [ + "#EXT-X-DISCONTINUITY\\r*\\n*#EXTINF:7\\.166667,[\\s\\S]*?#EXT-X-DISCONTINUITY", + "#EXTINF.*?\\s+.*?08646.*?\\.ts", + "#EXT-X-DISCONTINUITY\\r*\\n*#EXTINF.*?6\\.667,[\\s\\S]*?#EXT-X-DISCONTINUITY", + "#EXTINF.*?\\s+.*?48234.*?\\.ts", + "#EXT-X-DISCONTINUITY\\r*\\n*#EXTINF.*?7\\.067,[\\s\\S]*?#EXT-X-DISCONTINUITY", + "17.19", + "19.63" + ] + }, + { + "name": "非凡", + "hosts": [ + "vip.ffzy", + "hd.ffzy", + "super.ffzy", + "cachem3u8.2s0" + ], + "regex": [ + "#EXT-X-DISCONTINUITY\\r*\\n*#EXTINF:6\\.400000,[\\s\\S]*?#EXT-X-DISCONTINUITY", + "#EXT-X-DISCONTINUITY\\r*\\n*#EXTINF:6\\.666667,[\\s\\S]*?#EXT-X-DISCONTINUITY", + "#EXTINF.*?\\s+.*?1171(057).*?\\.ts", + "#EXTINF.*?\\s+.*?6d7b(077).*?\\.ts", + "#EXTINF.*?\\s+.*?6718a(403).*?\\.ts", + "17.99", + "14.45" + ] + }, + { + "name": "索尼", + "hosts": [ + "suonizy" + ], + "regex": [ + "#EXT-X-DISCONTINUITY\\r*\\n*#EXTINF:1\\.000000,[\\s\\S]*?#EXT-X-DISCONTINUITY", + "#EXTINF.*?\\s+.*?p1ayer.*?\\.ts", + "#EXTINF.*?\\s+.*?\\/video\\/original.*?\\.ts" + ] + }, + { + "name": "快看", + "hosts": [ + "kuaikan" + ], + "regex": [ + "#EXT-X-KEY:METHOD=NONE\\r*\\n*#EXTINF:5,[\\s\\S]*?#EXT-X-DISCONTINUITY", + "#EXT-X-KEY:METHOD=NONE\\r*\\n*#EXTINF:2\\.4,[\\s\\S]*?#EXT-X-DISCONTINUITY", + "#EXT-X-KEY:METHOD=NONE\\r*\\n*#EXTINF:1\\.467,[\\s\\S]*?#EXT-X-DISCONTINUITY" + ] + }, + { + "name": "leshiyun", + "hosts": [ + "leshiyuncdn" + ], + "regex": [ + "15.92" + ] + }, + { + "name": "看影网", + "hosts": [ + "fentvoss" + ], + "regex": [ + "38.68", + "38.12", + "38.80", + "30.08", + "44.00", + "36.80", + "40.68", + "29.08", + "29.28", + "24.88" + ] + }, + { + "name": "1080zyk", + "hosts": [ + "high24-playback", + "high20-playback", + "yzzy.play", + "yzzy-dy" + ], + "regex": [ + "16.63", + "17.66" + ] + }, + { + "name": "ikun", + "hosts": [ + "bfikuncdn" + ], + "regex": [ + "#EXTINF.*?\\s+.*?XR8pDxQk.*?\\.ts", + "#EXTINF.*?\\s+.*?p5XQill8.*?\\.ts" + ] + }, + { + "name": "黑木耳hmr", + "hosts": [ + "hmrvideo" + ], + "regex": [ + "#EXT-X-DISCONTINUITY\\r*\\n*#EXTINF:3\\.366667,[\\s\\S]*?#EXT-X-DISCONTINUITY" + ] + }, + { + "name": "ryplay", + "hosts": [ + "cdn.ryplay" + ], + "regex": [ + "#EXT-X-DISCONTINUITY\\r*\\n*#EXTINF:6\\.633333,[\\s\\S]*?#EXT-X-DISCONTINUITY", + "#EXT-X-DISCONTINUITY\\r*\\n*#EXTINF:8\\.333333,[\\s\\S].*?\\.ts", + "#EXTINF:2\\.933333,[\\s\\S].*?\\.ts" + ] + }, + { + "name": "555DM", + "hosts": [ + "cqxfjz" + ], + "regex": [ + "10.56" + ] + }, + { + "name": "海外看", + "hosts": [ + "haiwaikan" + ], + "regex": [ + "10.0099", + "10.3333", + "16.0599", + "8.1748", + "10.85" + ] + }, + { + "name": "磁力广告", + "hosts": [ + "magnet" + ], + "regex": [ + "更多", + "社 區", + "x u u", + "最 新", + "更 新", + "社 区", + "有趣", + "有 趣", + "英皇体育", + "全中文AV在线", + "澳门皇冠赌场", + "哥哥快来", + "美女荷官", + "裸聊", + "新片首发", + "UUE29" + ] + } + ], + "ijk": [ + { + "group": "软解码", + "options": [ + { + "category": 4, + "name": "opensles", + "value": "0" + }, + { + "category": 4, + "name": "overlay-format", + "value": "842225234" + }, + { + "category": 4, + "name": "framedrop", + "value": "1" + }, + { + "category": 4, + "name": "soundtouch", + "value": "1" + }, + { + "category": 4, + "name": "start-on-prepared", + "value": "1" + }, + { + "category": 1, + "name": "http-detect-range-support", + "value": "0" + }, + { + "category": 1, + "name": "fflags", + "value": "fastseek" + }, + { + "category": 2, + "name": "skip_loop_filter", + "value": "48" + }, + { + "category": 4, + "name": "reconnect", + "value": "1" + }, + { + "category": 4, + "name": "enable-accurate-seek", + "value": "0" + }, + { + "category": 4, + "name": "mediacodec", + "value": "0" + }, + { + "category": 4, + "name": "mediacodec-auto-rotate", + "value": "0" + }, + { + "category": 4, + "name": "mediacodec-handle-resolution-change", + "value": "0" + }, + { + "category": 4, + "name": "mediacodec-hevc", + "value": "0" + }, + { + "category": 1, + "name": "dns_cache_timeout", + "value": "600000000" + } + ] + }, + { + "group": "硬解码", + "options": [ + { + "category": 4, + "name": "opensles", + "value": "0" + }, + { + "category": 4, + "name": "overlay-format", + "value": "842225234" + }, + { + "category": 4, + "name": "framedrop", + "value": "1" + }, + { + "category": 4, + "name": "soundtouch", + "value": "1" + }, + { + "category": 4, + "name": "start-on-prepared", + "value": "1" + }, + { + "category": 1, + "name": "http-detect-range-support", + "value": "0" + }, + { + "category": 1, + "name": "fflags", + "value": "fastseek" + }, + { + "category": 2, + "name": "skip_loop_filter", + "value": "48" + }, + { + "category": 4, + "name": "reconnect", + "value": "1" + }, + { + "category": 4, + "name": "enable-accurate-seek", + "value": "0" + }, + { + "category": 4, + "name": "mediacodec", + "value": "1" + }, + { + "category": 4, + "name": "mediacodec-auto-rotate", + "value": "1" + }, + { + "category": 4, + "name": "mediacodec-handle-resolution-change", + "value": "1" + }, + { + "category": 4, + "name": "mediacodec-hevc", + "value": "1" + }, + { + "category": 1, + "name": "dns_cache_timeout", + "value": "600000000" + } + ] + } + ], + "ads": [ + "mimg.0c1q0l.cn", + "www.googletagmanager.com", + "www.google-analytics.com", + "mc.usihnbcq.cn", + "mg.g1mm3d.cn", + "mscs.svaeuzh.cn", + "cnzz.hhttm.top", + "tp.vinuxhome.com", + "cnzz.mmstat.com", + "www.baihuillq.com", + "s23.cnzz.com", + "z3.cnzz.com", + "c.cnzz.com", + "stj.v1vo.top", + "z12.cnzz.com", + "img.mosflower.cn", + "tips.gamevvip.com", + "ehwe.yhdtns.com", + "xdn.cqqc3.com", + "www.jixunkyy.cn", + "sp.chemacid.cn", + "hm.baidu.com", + "s9.cnzz.com", + "z6.cnzz.com", + "um.cavuc.com", + "mav.mavuz.com", + "wofwk.aoidf3.com", + "z5.cnzz.com", + "xc.hubeijieshikj.cn", + "tj.tianwenhu.com", + "xg.gars57.cn", + "k.jinxiuzhilv.com", + "cdn.bootcss.com", + "ppl.xunzhuo123.com", + "xomk.jiangjunmh.top", + "img.xunzhuo123.com", + "z1.cnzz.com", + "s13.cnzz.com", + "xg.huataisangao.cn", + "z7.cnzz.com", + "xg.huataisangao.cn", + "z2.cnzz.com", + "s96.cnzz.com", + "q11.cnzz.com", + "thy.dacedsfa.cn", + "xg.whsbpw.cn", + "s19.cnzz.com", + "z8.cnzz.com", + "s4.cnzz.com", + "f5w.as12df.top", + "ae01.alicdn.com", + "www.92424.cn", + "k.wudejia.com", + "vivovip.mmszxc.top", + "qiu.xixiqiu.com", + "cdnjs.hnfenxun.com", + "cms.qdwght.com", + "api.htpan.net" + ] +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/香雅情/api/drpy2.min.js b/tvboxqq/tvboxqq/香雅情/api/drpy2.min.js new file mode 100644 index 0000000..437c853 --- /dev/null +++ b/tvboxqq/tvboxqq/香雅情/api/drpy2.min.js @@ -0,0 +1 @@ +import cheerio from"assets://js/lib/cheerio.min.js";import"assets://js/lib/crypto-js.js";import 模板 from"./模板.js";import{gbkTool}from"./gbk.js";function init_test(){console.log("init_test_start");console.log("当前版本号:"+VERSION);console.log(RKEY);console.log(JSON.stringify(rule));console.log("init_test_end")}function pre(){if(typeof rule.预处理==="string"&&rule.预处理&&rule.预处理.trim()){let code=rule.预处理.trim();console.log("执行预处理代码:"+code);if(code.startsWith("js:")){code=code.replace("js:","")}try{eval(code)}catch(e){console.log("预处理执行失败:"+e.message)}}}let rule={};let vercode=typeof pdfl==="function"?"drpy2.1":"drpy2";const VERSION=vercode+" 3.9.49beta2 20231122";const MOBILE_UA="Mozilla/5.0 (Linux; Android 11; M2007J3SC Build/RKQ1.200826.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045714 Mobile Safari/537.36";const PC_UA="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36";const UA="Mozilla/5.0";const UC_UA="Mozilla/5.0 (Linux; U; Android 9; zh-CN; MI 9 Build/PKQ1.181121.001) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0.2987.108 UCBrowser/12.5.5.1035 Mobile Safari/537.36";const IOS_UA="Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1";const RULE_CK="cookie";const CATE_EXCLUDE="首页|留言|APP|下载|资讯|新闻|动态";const TAB_EXCLUDE="猜你|喜欢|下载|剧情|热播";const OCR_RETRY=3;const OCR_API="http://drpy.nokia.press:8028/ocr/drpy/text";if(typeof MY_URL==="undefined"){var MY_URL}var HOST;var RKEY;var fetch;var print;var log;var rule_fetch_params;var fetch_params;var oheaders;var _pdfh;var _pdfa;var _pd;const DOM_CHECK_ATTR=/(url|src|href|-original|-src|-play|-url|style)$/;const SPECIAL_URL=/^(ftp|magnet|thunder|ws):/;const NOADD_INDEX=/:eq|:lt|:gt|:first|:last|^body$|^#/;const URLJOIN_ATTR=/(url|src|href|-original|-src|-play|-url|style)$/;const SELECT_REGEX=/:eq|:lt|:gt|#/g;const SELECT_REGEX_A=/:eq|:lt|:gt/g;if(typeof Object.assign!="function"){Object.assign=function(){var target=arguments[0];for(var i=1;ithis.length){return false}else{return this.indexOf(search,start)!==-1}}}if(!Array.prototype.includes){Object.defineProperty(Array.prototype,"includes",{value:function(searchElement,fromIndex){if(this==null){throw new TypeError('"this" is null or not defined')}var o=Object(this);var len=o.length>>>0;if(len===0){return false}var n=fromIndex|0;var k=Math.max(n>=0?n:len-Math.abs(n),0);while(k=end){return lists}let first=lists[start];let second=lists[end];if(key){try{first=first[key];second=second[key]}catch(e){}}if(option&&typeof option==="function"){try{first=option(first);second=option(second)}catch(e){}}first+="";second+="";if(first.match(/(\d+)/)&&second.match(/(\d+)/)){let num1=Number(first.match(/(\d+)/)[1]);let num2=Number(second.match(/(\d+)/)[1]);if(num1>num2){lists.reverse()}}return lists}let VODS=[];let VOD={};let TABS=[];let LISTS=[];globalThis.encodeUrl=urlencode;globalThis.urlencode=urlencode;function urljoin(fromPath,nowPath){fromPath=fromPath||"";nowPath=nowPath||"";return joinUrl(fromPath,nowPath)}var urljoin2=urljoin;const defaultParser={pdfh:pdfh,pdfa:pdfa,pd:pd};function pdfh2(html,parse){let html2=html;try{if(typeof html!=="string"){html2=html.rr(html.ele).toString()}}catch(e){print("html对象转文本发生了错误:"+e.message)}let result=defaultParser.pdfh(html2,parse);let option=parse.includes("&&")?parse.split("&&").slice(-1)[0]:parse.split(" ").slice(-1)[0];if(/style/.test(option.toLowerCase())&&/url\(/.test(result)){try{result=result.match(/url\((.*?)\)/)[1];result=result.replace(/^['|"](.*)['|"]$/,"$1")}catch(e){}}return result}function pdfa2(html,parse){let html2=html;try{if(typeof html!=="string"){html2=html.rr(html.ele).toString()}}catch(e){print("html对象转文本发生了错误:"+e.message)}return defaultParser.pdfa(html2,parse)}function pd2(html,parse,uri){let ret=pdfh2(html,parse);if(typeof uri==="undefined"||!uri){uri=""}if(DOM_CHECK_ATTR.test(parse)&&!SPECIAL_URL.test(ret)){if(/http/.test(ret)){ret=ret.substr(ret.indexOf("http"))}else{ret=urljoin(MY_URL,ret)}}return ret}const parseTags={jsp:{pdfh:pdfh2,pdfa:pdfa2,pd:pd2},json:{pdfh(html,parse){if(!parse||!parse.trim()){return""}if(typeof html==="string"){html=JSON.parse(html)}parse=parse.trim();if(!parse.startsWith("$.")){parse="$."+parse}parse=parse.split("||");for(let ps of parse){let ret=cheerio.jp(ps,html);if(Array.isArray(ret)){ret=ret[0]||""}else{ret=ret||""}if(ret&&typeof ret!=="string"){ret=ret.toString()}if(ret){return ret}}return""},pdfa(html,parse){if(!parse||!parse.trim()){return""}if(typeof html==="string"){html=JSON.parse(html)}parse=parse.trim();if(!parse.startsWith("$.")){parse="$."+parse}let ret=cheerio.jp(parse,html);if(Array.isArray(ret)&&Array.isArray(ret[0])&&ret.length===1){return ret[0]||[]}return ret||[]},pd(html,parse){let ret=parseTags.json.pdfh(html,parse);if(ret){return urljoin(MY_URL,ret)}return ret}},jq:{pdfh(html,parse){if(!html||!parse||!parse.trim()){return""}parse=parse.trim();let result=defaultParser.pdfh(html,parse);return result},pdfa(html,parse){if(!html||!parse||!parse.trim()){return[]}parse=parse.trim();let result=defaultParser.pdfa(html,parse);print(`pdfa解析${parse}=>${result.length}`);return result},pd(html,parse,base_url){if(!html||!parse||!parse.trim()){return""}parse=parse.trim();base_url=base_url||MY_URL;return defaultParser.pd(html,parse,base_url)}},getParse(p0){if(p0.startsWith("jsp:")){return this.jsp}else if(p0.startsWith("json:")){return this.json}else if(p0.startsWith("jq:")){return this.jq}else{return this.jq}}};const stringify=JSON.stringify;const jsp=parseTags.jsp;const jq=parseTags.jq;function readFile(filePath){filePath=filePath||"./uri.min.js";var fd=os.open(filePath);var buffer=new ArrayBuffer(1024);var len=os.read(fd,buffer,0,1024);console.log(len);let text=String.fromCharCode.apply(null,new Uint8Array(buffer));console.log(text);return text}function dealJson(html){try{html=html.trim();if(!(html.startsWith("{")&&html.endsWith("}")||html.startsWith("[")&&html.endsWith("]"))){html="{"+html.match(/.*?\{(.*)\}/m)[1]+"}"}}catch(e){}try{html=JSON.parse(html)}catch(e){}return html}var OcrApi={api:OCR_API,classification:function(img){let code="";try{log("通过drpy_ocr验证码接口过验证...");let html=request(OCR_API,{data:{img:img},headers:{"User-Agent":PC_UA},method:"POST"},true);code=html||""}catch(e){log(`OCR识别验证码发生错误:${e.message}`)}return code}};function verifyCode(url){let cnt=0;let host=getHome(url);let cookie="";while(cntit.toLowerCase()==="set-cookie");cookie=setCk?json[setCk].split(";")[0]:""}console.log("cookie:"+cookie);let img=json.body;let code=OcrApi.classification(img);console.log(`第${cnt+1}次验证码识别结果:${code}`);let submit_url=`${host}/index.php/ajax/verify_check?type=search&verify=${code}`;console.log(submit_url);let html=request(submit_url,{headers:{Cookie:cookie,"User-Agent":MOBILE_UA},method:"POST"});html=JSON.parse(html);if(html.msg==="ok"){console.log(`第${cnt+1}次验证码提交成功`);return cookie}else if(html.msg!=="ok"&&cnt+1>=OCR_RETRY){cookie=""}}catch(e){console.log(`第${cnt+1}次验证码提交失败:${e.message}`);if(cnt+1>=OCR_RETRY){cookie=""}}cnt+=1}return cookie}function setItem(k,v){local.set(RKEY,k,v);console.log(`规则${RKEY}设置${k} => ${v}`)}function getItem(k,v){return local.get(RKEY,k)||v}function clearItem(k){local.delete(RKEY,k)}function getHome(url){if(!url){return""}let tmp=url.split("//");url=tmp[0]+"//"+tmp[1].split("/")[0];try{url=decodeURIComponent(url)}catch(e){}return url}function buildUrl(url,obj){obj=obj||{};if(url.indexOf("?")<0){url+="?"}let param_list=[];let keys=Object.keys(obj);keys.forEach(it=>{param_list.push(it+"="+obj[it])});let prs=param_list.join("&");if(keys.length>0&&!url.endsWith("?")){url+="&"}url+=prs;return url}function require(url){eval(request(url))}function request(url,obj,ocr_flag){ocr_flag=ocr_flag||false;if(typeof obj==="undefined"||!obj||obj==={}){if(!fetch_params||!fetch_params.headers){let headers={"User-Agent":MOBILE_UA};if(rule.headers){Object.assign(headers,rule.headers)}if(!fetch_params){fetch_params={}}fetch_params.headers=headers}if(!fetch_params.headers.Referer){fetch_params.headers.Referer=getHome(url)}obj=fetch_params}else{let headers=obj.headers||{};let keys=Object.keys(headers).map(it=>it.toLowerCase());if(!keys.includes("user-agent")){headers["User-Agent"]=MOBILE_UA}if(!keys.includes("referer")){headers["Referer"]=getHome(url)}obj.headers=headers}if(rule.encoding&&rule.encoding!=="utf-8"&&!ocr_flag){if(!obj.headers.hasOwnProperty("Content-Type")&&!obj.headers.hasOwnProperty("content-type")){obj.headers["Content-Type"]="text/html; charset="+rule.encoding}}if(typeof obj.body!="undefined"&&obj.body&&typeof obj.body==="string"){if(!obj.headers.hasOwnProperty("Content-Type")&&!obj.headers.hasOwnProperty("content-type")){obj.headers["Content-Type"]="application/x-www-form-urlencoded; charset="+rule.encoding}}else if(typeof obj.body!="undefined"&&obj.body&&typeof obj.body==="object"){obj.data=obj.body;delete obj.body}if(!url){return obj.withHeaders?"{}":""}if(obj.toBase64){obj.buffer=2;delete obj.toBase64}console.log(JSON.stringify(obj.headers));console.log("request:"+url+`|method:${obj.method||"GET"}|body:${obj.body||""}`);let res=req(url,obj);let html=res.content||"";if(obj.withHeaders){let htmlWithHeaders=res.headers;htmlWithHeaders.body=html;return JSON.stringify(htmlWithHeaders)}else{return html}}function post(url,obj){obj.method="POST";return request(url,obj)}fetch=request;print=function(data){data=data||"";if(typeof data=="object"&&Object.keys(data).length>0){try{data=JSON.stringify(data);console.log(data)}catch(e){console.log(typeof data+":"+data.length);return}}else if(typeof data=="object"&&Object.keys(data).length<1){console.log("null object")}else{console.log(data)}};log=print;function checkHtml(html,url,obj){if(/\?btwaf=/.test(html)){let btwaf=html.match(/btwaf(.*?)"/)[1];url=url.split("#")[0]+"?btwaf"+btwaf;print("宝塔验证访问链接:"+url);html=request(url,obj)}return html}function getCode(url,obj){let html=request(url,obj);html=checkHtml(html,url,obj);return html}function getHtml(url){let obj={};if(rule.headers){obj.headers=rule.headers}let cookie=getItem(RULE_CK,"");if(cookie){if(obj.headers&&!Object.keys(obj.headers).map(it=>it.toLowerCase()).includes("cookie")){log("历史无cookie,新增过验证后的cookie");obj.headers["Cookie"]=cookie}else if(obj.headers&&obj.headers.cookie&&obj.headers.cookie!==cookie){obj.headers["Cookie"]=cookie;log("历史有小写过期的cookie,更新过验证后的cookie")}else if(obj.headers&&obj.headers.Cookie&&obj.headers.Cookie!==cookie){obj.headers["Cookie"]=cookie;log("历史有大写过期的cookie,更新过验证后的cookie")}else if(!obj.headers){obj.headers={Cookie:cookie};log("历史无headers,更新过验证后的含cookie的headers")}}let html=getCode(url,obj);return html}function homeParse(homeObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let classes=[];if(homeObj.class_name&&homeObj.class_url){let names=homeObj.class_name.split("&");let urls=homeObj.class_url.split("&");let cnt=Math.min(names.length,urls.length);for(let i=0;i=3){try{let html=getHtml(homeObj.MY_URL);if(html){homeHtmlCache=html;let list=_pdfa(html,p[0]);if(list&&list.length>0){list.forEach((it,idex)=>{try{let name=_pdfh(it,p[1]);if(homeObj.cate_exclude&&new RegExp(homeObj.cate_exclude).test(name)){return}let url=_pd(it,p[2]);if(p.length>3&&p[3]){let exp=new RegExp(p[3]);url=url.match(exp)[1]}classes.push({type_id:url.trim(),type_name:name.trim()})}catch(e){console.log(`分类列表定位第${idex}个元素正常报错:${e.message}`)}})}}}catch(e){console.log(e.message)}}}classes=classes.filter(it=>!homeObj.cate_exclude||!new RegExp(homeObj.cate_exclude).test(it.type_name));let resp={class:classes};if(homeObj.filter){resp.filters=homeObj.filter}console.log(JSON.stringify(resp));return JSON.stringify(resp)}function getPP(p,pn,pp,ppn){try{let ps=p[pn]==="*"&&pp.length>ppn?pp[ppn]:p[pn];return ps}catch(e){return""}}function homeVodParse(homeVodObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let d=[];MY_URL=homeVodObj.homeUrl;console.log(MY_URL);let t1=(new Date).getTime();let p=homeVodObj.推荐;print("p:"+p);if(p==="*"&&rule.一级){p=rule.一级;homeVodObj.double=false}if(!p||typeof p!=="string"){return"{}"}p=p.trim();let pp=rule.一级.split(";");if(p.startsWith("js:")){const TYPE="home";var input=MY_URL;HOST=rule.host;eval(p.replace("js:",""));d=VODS}else{p=p.split(";");if(!homeVodObj.double&&p.length<5){return"{}"}else if(homeVodObj.double&&p.length<6){return"{}"}let p0=getPP(p,0,pp,0);let _ps=parseTags.getParse(p0);_pdfa=_ps.pdfa;_pdfh=_ps.pdfh;_pd=_ps.pd;let is_json=p0.startsWith("json:");p0=p0.replace(/^(jsp:|json:|jq:)/,"");let html=homeHtmlCache||getHtml(MY_URL);homeHtmlCache=undefined;if(is_json){html=dealJson(html)}try{console.log("double:"+homeVodObj.double);if(homeVodObj.double){let items=_pdfa(html,p0);let p1=getPP(p,1,pp,0);let p2=getPP(p,2,pp,1);let p3=getPP(p,3,pp,2);let p4=getPP(p,4,pp,3);let p5=getPP(p,5,pp,4);let p6=getPP(p,6,pp,5);for(let item of items){let items2=_pdfa(item,p1);for(let item2 of items2){try{let title=_pdfh(item2,p2);let img="";try{img=_pd(item2,p3)}catch(e){}let desc="";try{desc=_pdfh(item2,p4)}catch(e){}let links=[];for(let _p5 of p5.split("+")){let link=!homeVodObj.detailUrl?_pd(item2,_p5,MY_URL):_pdfh(item2,_p5);links.push(link)}let content;if(p.length>6&&p[6]){content=_pdfh(item2,p6)}else{content=""}let vid=links.join("$");if(rule.二级==="*"){vid=vid+"@@"+title+"@@"+img}let vod={vod_name:title,vod_pic:img,vod_remarks:desc,vod_content:content,vod_id:vid};d.push(vod)}catch(e){console.log("首页列表双层定位处理发生错误:"+e.message)}}}}else{let items=_pdfa(html,p0);let p1=getPP(p,1,pp,1);let p2=getPP(p,2,pp,2);let p3=getPP(p,3,pp,3);let p4=getPP(p,4,pp,4);let p5=getPP(p,5,pp,5);for(let item of items){try{let title=_pdfh(item,p1);let img="";try{img=_pd(item,p2,MY_URL)}catch(e){}let desc="";try{desc=_pdfh(item,p3)}catch(e){}let links=[];for(let _p5 of p4.split("+")){let link=!homeVodObj.detailUrl?_pd(item,_p5,MY_URL):_pdfh(item,_p5);links.push(link)}let content;if(p.length>5&&p[5]){content=_pdfh(item,p5)}else{content=""}let vid=links.join("$");if(rule.二级==="*"){vid=vid+"@@"+title+"@@"+img}let vod={vod_name:title,vod_pic:img,vod_remarks:desc,vod_content:content,vod_id:vid};d.push(vod)}catch(e){console.log("首页列表单层定位处理发生错误:"+e.message)}}}}catch(e){}}let t2=(new Date).getTime();console.log("加载首页推荐耗时:"+(t2-t1)+"毫秒");if(rule.图片来源){d.forEach(it=>{if(it.vod_pic&&it.vod_pic.startsWith("http")){it.vod_pic=it.vod_pic+rule.图片来源}})}if(d.length>0){print(d.slice(0,2))}return JSON.stringify({list:d})}function categoryParse(cateObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let p=cateObj.一级;if(!p||typeof p!=="string"){return"{}"}let d=[];let url=cateObj.url.replaceAll("fyclass",cateObj.tid);if(cateObj.pg===1&&url.includes("[")&&url.includes("]")){url=url.split("[")[1].split("]")[0]}else if(cateObj.pg>1&&url.includes("[")&&url.includes("]")){url=url.split("[")[0]}if(rule.filter_url){if(!/fyfilter/.test(url)){if(!url.endsWith("&")&&!rule.filter_url.startsWith("&")){url+="&"}url+=rule.filter_url}else{url=url.replace("fyfilter",rule.filter_url)}let fl=cateObj.filter?cateObj.extend:{};if(rule.filter_def&&typeof rule.filter_def==="object"){try{if(Object.keys(rule.filter_def).length>0&&rule.filter_def.hasOwnProperty(cateObj.tid)){let self_fl_def=rule.filter_def[cateObj.tid];if(self_fl_def&&typeof self_fl_def==="object"){let fl_def=JSON.parse(JSON.stringify(self_fl_def));fl=Object.assign(fl_def,fl)}}}catch(e){print("合并不同分类对应的默认筛选出错:"+e.message)}}let new_url;new_url=cheerio.jinja2(url,{fl:fl});url=new_url}if(/fypage/.test(url)){if(url.includes("(")&&url.includes(")")){let url_rep=url.match(/.*?\((.*)\)/)[1];let cnt_page=url_rep.replaceAll("fypage",cateObj.pg);let cnt_pg=eval(cnt_page);url=url.replaceAll(url_rep,cnt_pg).replaceAll("(","").replaceAll(")","")}else{url=url.replaceAll("fypage",cateObj.pg)}}MY_URL=url;console.log(MY_URL);p=p.trim();const MY_CATE=cateObj.tid;if(p.startsWith("js:")){var MY_FL=cateObj.extend;const TYPE="cate";var input=MY_URL;const MY_PAGE=cateObj.pg;var desc="";eval(p.trim().replace("js:",""));d=VODS}else{p=p.split(";");if(p.length<5){return"{}"}let _ps=parseTags.getParse(p[0]);_pdfa=_ps.pdfa;_pdfh=_ps.pdfh;_pd=_ps.pd;let is_json=p[0].startsWith("json:");p[0]=p[0].replace(/^(jsp:|json:|jq:)/,"");try{let html=getHtml(MY_URL);if(html){if(is_json){html=dealJson(html)}let list=_pdfa(html,p[0]);list.forEach(it=>{let links=p[4].split("+").map(p4=>{return!rule.detailUrl?_pd(it,p4,MY_URL):_pdfh(it,p4)});let link=links.join("$");let vod_id=rule.detailUrl?MY_CATE+"$"+link:link;let vod_name=_pdfh(it,p[1]).replace(/\n|\t/g,"").trim();let vod_pic=_pd(it,p[2],MY_URL);if(rule.二级==="*"){vod_id=vod_id+"@@"+vod_name+"@@"+vod_pic}d.push({vod_id:vod_id,vod_name:vod_name,vod_pic:vod_pic,vod_remarks:_pdfh(it,p[3]).replace(/\n|\t/g,"").trim()})})}}catch(e){console.log(e.message)}}if(rule.图片来源){d.forEach(it=>{if(it.vod_pic&&it.vod_pic.startsWith("http")){it.vod_pic=it.vod_pic+rule.图片来源}})}if(d.length>0){print(d.slice(0,2))}let pagecount=0;if(rule.pagecount&&typeof rule.pagecount==="object"&&rule.pagecount.hasOwnProperty(MY_CATE)){print(`MY_CATE:${MY_CATE},pagecount:${JSON.stringify(rule.pagecount)}`);pagecount=parseInt(rule.pagecount[MY_CATE])}let nodata={list:[{vod_name:"无数据,防无限请求",vod_id:"no_data",vod_remarks:"不要点,会崩的",vod_pic:"https://ghproxy.net/https://raw.githubusercontent.com/hjdhnx/dr_py/main/404.jpg"}],total:1,pagecount:1,page:1,limit:1};let vod=d.length<1?JSON.stringify(nodata):JSON.stringify({page:parseInt(cateObj.pg),pagecount:pagecount||999,limit:20,total:999,list:d});return vod}function searchParse(searchObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let d=[];if(!searchObj.searchUrl){return"{}"}let p=searchObj.搜索==="*"&&rule.一级?rule.一级:searchObj.搜索;if(!p||typeof p!=="string"){return"{}"}p=p.trim();let pp=rule.一级.split(";");let url=searchObj.searchUrl.replaceAll("**",searchObj.wd);if(searchObj.pg===1&&url.includes("[")&&url.includes("]")&&!url.includes("#")){url=url.split("[")[1].split("]")[0]}else if(searchObj.pg>1&&url.includes("[")&&url.includes("]")&&!url.includes("#")){url=url.split("[")[0]}if(/fypage/.test(url)){if(url.includes("(")&&url.includes(")")){let url_rep=url.match(/.*?\((.*)\)/)[1];let cnt_page=url_rep.replaceAll("fypage",searchObj.pg);let cnt_pg=eval(cnt_page);url=url.replaceAll(url_rep,cnt_pg).replaceAll("(","").replaceAll(")","")}else{url=url.replaceAll("fypage",searchObj.pg)}}MY_URL=url;console.log(MY_URL);if(p.startsWith("js:")){const TYPE="search";const MY_PAGE=searchObj.pg;const KEY=searchObj.wd;var input=MY_URL;var detailUrl=rule.detailUrl||"";eval(p.trim().replace("js:",""));d=VODS}else{p=p.split(";");if(p.length<5){return"{}"}let p0=getPP(p,0,pp,0);let _ps=parseTags.getParse(p0);_pdfa=_ps.pdfa;_pdfh=_ps.pdfh;_pd=_ps.pd;let is_json=p0.startsWith("json:");p0=p0.replace(/^(jsp:|json:|jq:)/,"");try{let req_method=MY_URL.split(";").length>1?MY_URL.split(";")[1].toLowerCase():"get";let html;if(req_method==="post"){let rurls=MY_URL.split(";")[0].split("#");let rurl=rurls[0];let params=rurls.length>1?rurls[1]:"";print(`post=》rurl:${rurl},params:${params}`);let _fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let postData={body:params};Object.assign(_fetch_params,postData);html=post(rurl,_fetch_params)}else if(req_method==="postjson"){let rurls=MY_URL.split(";")[0].split("#");let rurl=rurls[0];let params=rurls.length>1?rurls[1]:"";print(`postjson-》rurl:${rurl},params:${params}`);try{params=JSON.parse(params)}catch(e){params="{}"}let _fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let postData={body:params};Object.assign(_fetch_params,postData);html=post(rurl,_fetch_params)}else{html=getHtml(MY_URL)}if(html){if(/系统安全验证|输入验证码/.test(html)){let cookie=verifyCode(MY_URL);if(cookie){console.log(`本次成功过验证,cookie:${cookie}`);setItem(RULE_CK,cookie)}else{console.log(`本次自动过搜索验证失败,cookie:${cookie}`)}html=getHtml(MY_URL)}if(!html.includes(searchObj.wd)){console.log("搜索结果源码未包含关键字,疑似搜索失败,正为您打印结果源码");console.log(html)}if(is_json){html=dealJson(html)}let list=_pdfa(html,p0);let p1=getPP(p,1,pp,1);let p2=getPP(p,2,pp,2);let p3=getPP(p,3,pp,3);let p4=getPP(p,4,pp,4);let p5=getPP(p,5,pp,5);list.forEach(it=>{let links=p4.split("+").map(_p4=>{return!rule.detailUrl?_pd(it,_p4,MY_URL):_pdfh(it,_p4)});let link=links.join("$");let content;if(p.length>5&&p[5]){content=_pdfh(it,p5)}else{content=""}let vod_id=link;let vod_name=_pdfh(it,p1).replace(/\n|\t/g,"").trim();let vod_pic=_pd(it,p2,MY_URL);if(rule.二级==="*"){vod_id=vod_id+"@@"+vod_name+"@@"+vod_pic}let ob={vod_id:vod_id,vod_name:vod_name,vod_pic:vod_pic,vod_remarks:_pdfh(it,p3).replace(/\n|\t/g,"").trim(),vod_content:content.replace(/\n|\t/g,"").trim()};d.push(ob)})}}catch(e){print("搜索发生错误:"+e.message);return"{}"}}if(rule.图片来源){d.forEach(it=>{if(it.vod_pic&&it.vod_pic.startsWith("http")){it.vod_pic=it.vod_pic+rule.图片来源}})}return JSON.stringify({page:parseInt(searchObj.pg),pagecount:10,limit:20,total:100,list:d})}function detailParse(detailObj){let t1=(new Date).getTime();fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let orId=detailObj.orId;let vod_name="片名";let vod_pic="";let vod_id=orId;if(rule.二级==="*"){let extra=orId.split("@@");vod_name=extra.length>1?extra[1]:vod_name;vod_pic=extra.length>2?extra[2]:vod_pic}let vod={vod_id:vod_id,vod_name:vod_name,vod_pic:vod_pic,type_name:"类型",vod_year:"年份",vod_area:"地区",vod_remarks:"更新信息",vod_actor:"主演",vod_director:"导演",vod_content:"简介"};let p=detailObj.二级;let url=detailObj.url;let detailUrl=detailObj.detailUrl;let fyclass=detailObj.fyclass;let tab_exclude=detailObj.tab_exclude;let html=detailObj.html||"";MY_URL=url;if(detailObj.二级访问前){try{print(`尝试在二级访问前执行代码:${detailObj.二级访问前}`);eval(detailObj.二级访问前.trim().replace("js:",""))}catch(e){print(`二级访问前执行代码出现错误:${e.message}`)}}if(p==="*"){vod.vod_play_from="道长在线";vod.vod_remarks=detailUrl;vod.vod_actor="没有二级,只有一级链接直接嗅探播放";vod.vod_content=MY_URL;vod.vod_play_url="嗅探播放$"+MY_URL.split("@@")[0]}else if(typeof p==="string"&&p.trim().startsWith("js:")){const TYPE="detail";var input=MY_URL;var play_url="";eval(p.trim().replace("js:",""));vod=VOD;console.log(JSON.stringify(vod))}else if(p&&typeof p==="object"){let tt1=(new Date).getTime();if(!html){html=getHtml(MY_URL)}print(`二级${MY_URL}仅获取源码耗时:${(new Date).getTime()-tt1}毫秒`);let _ps;if(p.is_json){print("二级是json");_ps=parseTags.json;html=dealJson(html)}else if(p.is_jsp){print("二级是jsp");_ps=parseTags.jsp}else if(p.is_jq){print("二级是jq");_ps=parseTags.jq}else{print("二级默认jq");_ps=parseTags.jq}let tt2=(new Date).getTime();print(`二级${MY_URL}获取并装载源码耗时:${tt2-tt1}毫秒`);_pdfa=_ps.pdfa;_pdfh=_ps.pdfh;_pd=_ps.pd;if(p.title){let p1=p.title.split(";");vod.vod_name=_pdfh(html,p1[0]).replace(/\n|\t/g,"").trim();let type_name=p1.length>1?_pdfh(html,p1[1]).replace(/\n|\t/g,"").replace(/ /g,"").trim():"";vod.type_name=type_name||vod.type_name}if(p.desc){try{let p1=p.desc.split(";");vod.vod_remarks=_pdfh(html,p1[0]).replace(/\n|\t/g,"").trim();vod.vod_year=p1.length>1?_pdfh(html,p1[1]).replace(/\n|\t/g,"").trim():"";vod.vod_area=p1.length>2?_pdfh(html,p1[2]).replace(/\n|\t/g,"").trim():"";vod.vod_actor=p1.length>3?_pdfh(html,p1[3]).replace(/\n|\t/g,"").trim():"";vod.vod_director=p1.length>4?_pdfh(html,p1[4]).replace(/\n|\t/g,"").trim():""}catch(e){}}if(p.content){try{let p1=p.content.split(";");vod.vod_content=_pdfh(html,p1[0]).replace(/\n|\t/g,"").trim()}catch(e){}}if(p.img){try{let p1=p.img.split(";");vod.vod_pic=_pd(html,p1[0],MY_URL)}catch(e){}}let vod_play_from="$$$";let playFrom=[];if(p.重定向&&p.重定向.startsWith("js:")){print("开始执行重定向代码:"+p.重定向);html=eval(p.重定向.replace("js:",""))}if(p.tabs){if(p.tabs.startsWith("js:")){print("开始执行tabs代码:"+p.tabs);var input=MY_URL;eval(p.tabs.replace("js:",""));playFrom=TABS}else{let p_tab=p.tabs.split(";")[0];let vHeader=_pdfa(html,p_tab);console.log(vHeader.length);let tab_text=p.tab_text||"body&&Text";let new_map={};for(let v of vHeader){let v_title=_pdfh(v,tab_text).trim();console.log(v_title);if(tab_exclude&&new RegExp(tab_exclude).test(v_title)){continue}if(!new_map.hasOwnProperty(v_title)){new_map[v_title]=1}else{new_map[v_title]+=1}if(new_map[v_title]>1){v_title+=Number(new_map[v_title]-1)}playFrom.push(v_title)}}console.log(JSON.stringify(playFrom))}else{playFrom=["道长在线"]}vod.vod_play_from=playFrom.join(vod_play_from);let vod_play_url="$$$";let vod_tab_list=[];if(p.lists){if(p.lists.startsWith("js:")){print("开始执行lists代码:"+p.lists);try{var input=MY_URL;var play_url="";eval(p.lists.replace("js:",""));for(let i in LISTS){if(LISTS.hasOwnProperty(i)){try{LISTS[i]=LISTS[i].map(it=>it.split("$").slice(0,2).join("$"))}catch(e){print("格式化LISTS发生错误:"+e.message)}}}vod_play_url=LISTS.map(it=>it.join("#")).join(vod_play_url)}catch(e){print("js执行lists: 发生错误:"+e.message)}}else{let list_text=p.list_text||"body&&Text";let list_url=p.list_url||"a&&href";let is_tab_js=p.tabs.trim().startsWith("js:");for(let i=0;i1&&!is_tab_js?p.tabs.split(";")[1]:"";let p1=p.lists.replaceAll("#idv",tab_name).replaceAll("#id",i);tab_ext=tab_ext.replaceAll("#idv",tab_name).replaceAll("#id",i);let tabName=tab_ext?_pdfh(html,tab_ext):tab_name;console.log(tabName);let new_vod_list=[];let tt1=(new Date).getTime();if(typeof pdfl==="function"){new_vod_list=pdfl(html,p1,list_text,list_url,MY_URL)}else{let vodList=[];try{vodList=_pdfa(html,p1);console.log("len(vodList):"+vodList.length)}catch(e){}for(let i=0;i0){new_vod_list=forceOrder(new_vod_list,"",x=>x.split("$")[0]);console.log(`drpy影响性能代码共计列表数循环次数:${new_vod_list.length},耗时:${(new Date).getTime()-tt1}毫秒`)}let vlist=new_vod_list.join("#");vod_tab_list.push(vlist)}vod_play_url=vod_tab_list.join(vod_play_url)}}vod.vod_play_url=vod_play_url}if(rule.图片来源&&vod.vod_pic&&vod.vod_pic.startsWith("http")){vod.vod_pic=vod.vod_pic+rule.图片来源}if(!vod.vod_id||vod_id.includes("$")&&vod.vod_id!==vod_id){vod.vod_id=vod_id}let t2=(new Date).getTime();console.log(`加载二级界面${MY_URL}耗时:${t2-t1}毫秒`);vod=vodDeal(vod);return JSON.stringify({list:[vod]})}function get_tab_index(vod){let obj={};vod.vod_play_from.split("$$$").forEach((it,index)=>{obj[it]=index});return obj}function vodDeal(vod){let vod_play_from=vod.vod_play_from.split("$$$");let vod_play_url=vod.vod_play_url.split("$$$");let tab_removed_list=vod_play_from;let tab_ordered_list=vod_play_from;let tab_renamed_list=vod_play_from;let tab_list=vod_play_from;let play_ordered_list=vod_play_url;if(rule.tab_remove&&rule.tab_remove.length>0||rule.tab_order&&rule.tab_order.length>0){let tab_index_dict=get_tab_index(vod);if(rule.tab_remove&&rule.tab_remove.length>0){tab_removed_list=vod_play_from.filter(it=>!rule.tab_remove.includes(it));tab_list=tab_removed_list}if(rule.tab_order&&rule.tab_order.length>0){let tab_order=rule.tab_order;tab_ordered_list=tab_removed_list.sort((a,b)=>{return(tab_order.indexOf(a)===-1?9999:tab_order.indexOf(a))-(tab_order.indexOf(b)===-1?9999:tab_order.indexOf(b))});tab_list=tab_ordered_list}play_ordered_list=tab_list.map(it=>vod_play_url[tab_index_dict[it]])}if(rule.tab_rename&&typeof rule.tab_rename==="object"&Object.keys(rule.tab_rename).length>0){tab_renamed_list=tab_list.map(it=>rule.tab_rename[it]||it);tab_list=tab_renamed_list}vod.vod_play_from=tab_list.join("$$$");vod.vod_play_url=play_ordered_list.join("$$$");return vod}function tellIsJx(url){try{let is_vip=!/\.(m3u8|mp4|m4a)$/.test(url.split("?")[0])&&是否正版(url);return is_vip?1:0}catch(e){return 1}}function playParse(playObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));MY_URL=playObj.url;if(!/http/.test(MY_URL)){try{MY_URL=base64Decode(MY_URL)}catch(e){}}MY_URL=decodeURIComponent(MY_URL);var input=MY_URL;let common_play={parse:1,url:input,jx:tellIsJx(input)};let lazy_play;if(!rule.play_parse||!rule.lazy){lazy_play=common_play}else if(rule.play_parse&&rule.lazy&&typeof rule.lazy==="string"){try{let lazy_code=rule.lazy.replace("js:","").trim();print("开始执行js免嗅=>"+lazy_code);eval(lazy_code);lazy_play=typeof input==="object"?input:{parse:1,jx:tellIsJx(input),url:input}}catch(e){print("js免嗅错误:"+e.message);lazy_play=common_play}}else{lazy_play=common_play}if(Array.isArray(rule.play_json)&&rule.play_json.length>0){let web_url=lazy_play.url;for(let pjson of rule.play_json){if(pjson.re&&(pjson.re==="*"||web_url.match(new RegExp(pjson.re)))){if(pjson.json&&typeof pjson.json==="object"){let base_json=pjson.json;lazy_play=Object.assign(lazy_play,base_json);break}}}}else if(rule.play_json&&!Array.isArray(rule.play_json)){let base_json={jx:1,parse:1};lazy_play=Object.assign(lazy_play,base_json)}else if(!rule.play_json){let base_json={jx:0,parse:1};lazy_play=Object.assign(lazy_play,base_json)}console.log(JSON.stringify(lazy_play));return JSON.stringify(lazy_play)}function proxyParse(proxyObj){var input=proxyObj.params;if(proxyObj.proxy_rule){log("准备执行本地代理规则:\n"+proxyObj.proxy_rule);try{eval(proxyObj.proxy_rule);if(input&&input!==proxyObj.params&&Array.isArray(input)&&input.length===3){return input}else{return[404,"text/plain","Not Found"]}}catch(e){return[500,"text/plain","代理规则错误:"+e.message]}}else{return[404,"text/plain","Not Found"]}}function isVideoParse(isVideoObj){var input=isVideoObj.url;if(!isVideoObj.t){let re_matcher=new RegExp(isVideoObj.isVideo,"i");return re_matcher.test(input)}else{try{eval(isVideoObj.isVideo);if(typeof input==="boolean"){return input}else{return false}}catch(e){log("执行嗅探规则发生错误:"+e.message);return false}}}function init(ext){console.log("init");try{let muban=模板.getMubans();if(typeof ext=="object"){rule=ext}else if(typeof ext=="string"){if(ext.startsWith("http")){let js=request(ext,{method:"GET"});if(js){eval(js.replace("var rule","rule"))}}else{eval(ext.replace("var rule","rule"))}}if(rule.模板&&muban.hasOwnProperty(rule.模板)){print("继承模板:"+rule.模板);rule=Object.assign(muban[rule.模板],rule)}let rule_cate_excludes=(rule.cate_exclude||"").split("|").filter(it=>it.trim());let rule_tab_excludes=(rule.tab_exclude||"").split("|").filter(it=>it.trim());rule_cate_excludes=rule_cate_excludes.concat(CATE_EXCLUDE.split("|").filter(it=>it.trim()));rule_tab_excludes=rule_tab_excludes.concat(TAB_EXCLUDE.split("|").filter(it=>it.trim()));rule.cate_exclude=rule_cate_excludes.join("|");rule.tab_exclude=rule_tab_excludes.join("|");rule.host=(rule.host||"").rstrip("/");HOST=rule.host;if(rule.hostJs){console.log(`检测到hostJs,准备执行...`);try{eval(rule.hostJs);rule.host=HOST.rstrip("/")}catch(e){console.log(`执行${rule.hostJs}获取host发生错误:`+e.message)}}rule.url=rule.url||"";rule.double=rule.double||false;rule.homeUrl=rule.homeUrl||"";rule.detailUrl=rule.detailUrl||"";rule.searchUrl=rule.searchUrl||"";rule.homeUrl=rule.host&&rule.homeUrl?urljoin(rule.host,rule.homeUrl):rule.homeUrl||rule.host;rule.detailUrl=rule.host&&rule.detailUrl?urljoin(rule.host,rule.detailUrl):rule.detailUrl;rule.二级访问前=rule.二级访问前||"";if(rule.url.includes("[")&&rule.url.includes("]")){let u1=rule.url.split("[")[0];let u2=rule.url.split("[")[1].split("]")[0];rule.url=rule.host&&rule.url?urljoin(rule.host,u1)+"["+urljoin(rule.host,u2)+"]":rule.url}else{rule.url=rule.host&&rule.url?urljoin(rule.host,rule.url):rule.url}if(rule.searchUrl.includes("[")&&rule.searchUrl.includes("]")&&!rule.searchUrl.includes("#")){let u1=rule.searchUrl.split("[")[0];let u2=rule.searchUrl.split("[")[1].split("]")[0];rule.searchUrl=rule.host&&rule.searchUrl?urljoin(rule.host,u1)+"["+urljoin(rule.host,u2)+"]":rule.searchUrl}else{rule.searchUrl=rule.host&&rule.searchUrl?urljoin(rule.host,rule.searchUrl):rule.searchUrl}rule.timeout=rule.timeout||5e3;rule.encoding=rule.编码||rule.encoding||"utf-8";rule.search_encoding=rule.搜索编码||rule.search_encoding||"";rule.图片来源=rule.图片来源||"";rule.play_json=rule.hasOwnProperty("play_json")?rule.play_json:[];rule.pagecount=rule.hasOwnProperty("pagecount")?rule.pagecount:{};rule.proxy_rule=rule.hasOwnProperty("proxy_rule")?rule.proxy_rule:"";rule.sniffer=rule.hasOwnProperty("sniffer")?rule.sniffer:"";rule.sniffer=!!(rule.sniffer&&rule.sniffer!=="0"&&rule.sniffer!=="false");rule.isVideo=rule.hasOwnProperty("isVideo")?rule.isVideo:"";rule.tab_remove=rule.hasOwnProperty("tab_remove")?rule.tab_remove:[];rule.tab_order=rule.hasOwnProperty("tab_order")?rule.tab_order:[];rule.tab_rename=rule.hasOwnProperty("tab_rename")?rule.tab_rename:{};if(rule.headers&&typeof rule.headers==="object"){try{let header_keys=Object.keys(rule.headers);for(let k of header_keys){if(k.toLowerCase()==="user-agent"){let v=rule.headers[k];console.log(v);if(["MOBILE_UA","PC_UA","UC_UA","IOS_UA","UA"].includes(v)){rule.headers[k]=eval(v)}}else if(k.toLowerCase()==="cookie"){let v=rule.headers[k];if(v&&v.startsWith("http")){console.log(v);try{v=fetch(v);console.log(v);rule.headers[k]=v}catch(e){console.log(`从${v}获取cookie发生错误:`+e.message)}}}}}catch(e){console.log("处理headers发生错误:"+e.message)}}rule_fetch_params={headers:rule.headers||false,timeout:rule.timeout,encoding:rule.encoding};oheaders=rule.headers||{};RKEY=typeof key!=="undefined"&&key?key:"drpy_"+(rule.title||rule.host);pre();init_test()}catch(e){console.log("init_test发生错误:"+e.message)}}let homeHtmlCache=undefined;function home(filter){console.log("home");let homeObj={filter:rule.filter||false,MY_URL:rule.homeUrl,class_name:rule.class_name||"",class_url:rule.class_url||"",class_parse:rule.class_parse||"",cate_exclude:rule.cate_exclude};return homeParse(homeObj)}function homeVod(params){console.log("homeVod");let homeVodObj={"推荐":rule.推荐,double:rule.double,homeUrl:rule.homeUrl,detailUrl:rule.detailUrl};return homeVodParse(homeVodObj)}function category(tid,pg,filter,extend){let cateObj={url:rule.url,"一级":rule.一级,tid:tid,pg:parseInt(pg),filter:filter,extend:extend};return categoryParse(cateObj)}function detail(vod_url){let orId=vod_url;let fyclass="";log("orId:"+orId);if(vod_url.indexOf("$")>-1){let tmp=vod_url.split("$");fyclass=tmp[0];vod_url=tmp[1]}let detailUrl=vod_url.split("@@")[0];let url;if(!detailUrl.startsWith("http")&&!detailUrl.includes("/")){url=rule.detailUrl.replaceAll("fyid",detailUrl).replaceAll("fyclass",fyclass)}else if(detailUrl.includes("/")){url=urljoin(rule.homeUrl,detailUrl)}else{url=detailUrl}let detailObj={orId:orId,url:url,"二级":rule.二级,"二级访问前":rule.二级访问前,detailUrl:detailUrl,fyclass:fyclass,tab_exclude:rule.tab_exclude};return detailParse(detailObj)}function play(flag,id,flags){let playObj={url:id,flag:flag,flags:flags};return playParse(playObj)}function search(wd,quick,pg){if(rule.search_encoding){if(rule.search_encoding.toLowerCase()!=="utf-8"){wd=encodeStr(wd,rule.search_encoding)}}else if(rule.encoding&&rule.encoding.toLowerCase()!=="utf-8"){wd=encodeStr(wd,rule.encoding)}let searchObj={searchUrl:rule.searchUrl,"搜索":rule.搜索,wd:wd,pg:pg||1,quick:quick};return searchParse(searchObj)}function proxy(params){if(rule.proxy_rule&&rule.proxy_rule.trim()){rule.proxy_rule=rule.proxy_rule.trim()}if(rule.proxy_rule.startsWith("js:")){rule.proxy_rule=rule.proxy_rule.replace("js:","")}let proxyObj={params:params,proxy_rule:rule.proxy_rule};return proxyParse(proxyObj)}function sniffer(){let enable_sniffer=rule.sniffer||false;if(enable_sniffer){log("开始执行辅助嗅探代理规则...")}return enable_sniffer}function isVideo(url){let t=0;let is_video;if(rule.isVideo&&rule.isVideo.trim()){is_video=rule.isVideo.trim()}if(is_video.startsWith("js:")){is_video=is_video.replace("js:","");t=1}let isVideoObj={url:url,isVideo:is_video,t:t};let result=isVideoParse(isVideoObj);if(result){log("成功执行辅助嗅探规则并检测到视频地址:\n"+rule.isVideo)}return result}function DRPY(){return{init:init,home:home,homeVod:homeVod,category:category,detail:detail,play:play,search:search,proxy:proxy,sniffer:sniffer,isVideo:isVideo}}export default{init:init,home:home,homeVod:homeVod,category:category,detail:detail,play:play,search:search,proxy:proxy,sniffer:sniffer,isVideo:isVideo,DRPY:DRPY}; \ No newline at end of file diff --git a/tvboxqq/tvboxqq/香雅情/js/drpy.js b/tvboxqq/tvboxqq/香雅情/js/drpy.js new file mode 100644 index 0000000..43d7797 --- /dev/null +++ b/tvboxqq/tvboxqq/香雅情/js/drpy.js @@ -0,0 +1,37 @@ +var rule = { + title:'drpy', + host:'https://frodo.douban.com', + apidoc:'https://www.doubanapi.com', + homeUrl:'', + searchUrl:'', + searchable:1, + quickSearch:1, + filterable:1, + // 分类链接fypage参数支持1个()表达式 + url:'/?pg=fypage&class=fyclass&douban=$douban', + filter_url:'fl={{fl}}', + 图片来源:'@Referer=https://api.douban.com/@User-Agent=Mozilla/5.0%20(Windows%20NT%2010.0;%20Win64;%20x64)%20AppleWebKit/537.36%20(KHTML,%20like%20Gecko)%20Chrome/113.0.0.0%20Safari/537.36', + headers:{ + "Host": "frodo.douban.com", + // "Host": "api.douban.com", + "Connection": "Keep-Alive", + "Referer": "https://servicewechat.com/wx2f9b06c1de1ccfca/84/page-frame.html", + // "content-type": "application/json", + "User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36 MicroMessenger/7.0.9.501 NetType/WIFI MiniProgramEnv/Windows WindowsWechat" + }, + timeout:5000, + class_name:'我的豆瓣&热门电影&热播剧集&热播综艺&电影筛选&电视筛选&电影榜单&电视榜单', + class_url:'interests&hot_gaia&tv_hot&show_hot&movie&tv&rank_list_movie&rank_list_tv', + filter:{'interests': [{'key': 'status', 'name': '状态', 'value': [{'n': '想看', 'v': 'mark'}, {'n': '在看', 'v': 'doing'}, {'n': '看过', 'v': 'done'}]}, {'key': 'subtype_tag', 'name': '形式', 'value': [{'n': '全部', 'v': ''}, {'n': '电影', 'v': 'movie'}, {'n': '电视', 'v': 'tv'}]}, {'key': 'year_tag', 'name': '年代', 'value': [{'n': '全部', 'v': '全部'}, {'n': '2023', 'v': '2023'}, {'n': '2022', 'v': '2022'}, {'n': '2021', 'v': '2021'}, {'n': '2020', 'v': '2020'}, {'n': '2019', 'v': '2019'}, {'n': '2010年代', 'v': '2010年代'}, {'n': '2000年代', 'v': '2000年代'}, {'n': '90年代', 'v': '90年代'}, {'n': '80年代', 'v': '80年代'}, {'n': '70年代', 'v': '70年代'}, {'n': '60年代', 'v': '60年代'}, {'n': '更早', 'v': '更早'}]}], 'hot_gaia': [{'key': 'sort', 'name': '排序', 'value': [{'n': '热度', 'v': 'recommend'}, {'n': '最新', 'v': 'time'}, {'n': '评分', 'v': 'rank'}]}, {'key': 'area', 'name': '地区', 'value': [{'n': '全部', 'v': '全部'}, {'n': '华语', 'v': '华语'}, {'n': '欧美', 'v': '欧美'}, {'n': '韩国', 'v': '韩国'}, {'n': '日本', 'v': '日本'}]}], 'tv_hot': [{'key': 'type', 'name': '分类', 'value': [{'n': '综合', 'v': 'tv_hot'}, {'n': '国产剧', 'v': 'tv_domestic'}, {'n': '欧美剧', 'v': 'tv_american'}, {'n': '日剧', 'v': 'tv_japanese'}, {'n': '韩剧', 'v': 'tv_korean'}, {'n': '动画', 'v': 'tv_animation'}]}], 'show_hot': [{'key': 'type', 'name': '分类', 'value': [{'n': '综合', 'v': 'show_hot'}, {'n': '国内', 'v': 'show_domestic'}, {'n': '国外', 'v': 'show_foreign'}]}], 'movie': [{'key': '类型', 'name': '类型', 'value': [{'n': '全部类型', 'v': ''}, {'n': '喜剧', 'v': '喜剧'}, {'n': '爱情', 'v': '爱情'}, {'n': '动作', 'v': '动作'}, {'n': '科幻', 'v': '科幻'}, {'n': '动画', 'v': '动画'}, {'n': '悬疑', 'v': '悬疑'}, {'n': '犯罪', 'v': '犯罪'}, {'n': '惊悚', 'v': '惊悚'}, {'n': '冒险', 'v': '冒险'}, {'n': '音乐', 'v': '音乐'}, {'n': '历史', 'v': '历史'}, {'n': '奇幻', 'v': '奇幻'}, {'n': '恐怖', 'v': '恐怖'}, {'n': '战争', 'v': '战争'}, {'n': '传记', 'v': '传记'}, {'n': '歌舞', 'v': '歌舞'}, {'n': '武侠', 'v': '武侠'}, {'n': '情色', 'v': '情色'}, {'n': '灾难', 'v': '灾难'}, {'n': '西部', 'v': '西部'}, {'n': '纪录片', 'v': '纪录片'}, {'n': '短片', 'v': '短片'}]}, {'key': '地区', 'name': '地区', 'value': [{'n': '全部地区', 'v': ''}, {'n': '华语', 'v': '华语'}, {'n': '欧美', 'v': '欧美'}, {'n': '韩国', 'v': '韩国'}, {'n': '日本', 'v': '日本'}, {'n': '中国大陆', 'v': '中国大陆'}, {'n': '美国', 'v': '美国'}, {'n': '中国香港', 'v': '中国香港'}, {'n': '中国台湾', 'v': '中国台湾'}, {'n': '英国', 'v': '英国'}, {'n': '法国', 'v': '法国'}, {'n': '德国', 'v': '德国'}, {'n': '意大利', 'v': '意大利'}, {'n': '西班牙', 'v': '西班牙'}, {'n': '印度', 'v': '印度'}, {'n': '泰国', 'v': '泰国'}, {'n': '俄罗斯', 'v': '俄罗斯'}, {'n': '加拿大', 'v': '加拿大'}, {'n': '澳大利亚', 'v': '澳大利亚'}, {'n': '爱尔兰', 'v': '爱尔兰'}, {'n': '瑞典', 'v': '瑞典'}, {'n': '巴西', 'v': '巴西'}, {'n': '丹麦', 'v': '丹麦'}]}, {'key': 'sort', 'name': '排序', 'value': [{'n': '近期热度', 'v': 'T'}, {'n': '首映时间', 'v': 'R'}, {'n': '高分优先', 'v': 'S'}]}, {'key': '年代', 'name': '年代', 'value': [{'n': '全部年代', 'v': ''}, {'n': '2023', 'v': '2023'}, {'n': '2022', 'v': '2022'}, {'n': '2021', 'v': '2021'}, {'n': '2020', 'v': '2020'}, {'n': '2019', 'v': '2019'}, {'n': '2010年代', 'v': '2010年代'}, {'n': '2000年代', 'v': '2000年代'}, {'n': '90年代', 'v': '90年代'}, {'n': '80年代', 'v': '80年代'}, {'n': '70年代', 'v': '70年代'}, {'n': '60年代', 'v': '60年代'}, {'n': '更早', 'v': '更早'}]}], 'tv': [{'key': '类型', 'name': '类型', 'value': [{'n': '不限', 'v': ''}, {'n': '电视剧', 'v': '电视剧'}, {'n': '综艺', 'v': '综艺'}]}, {'key': '电视剧形式', 'name': '电视剧形式', 'value': [{'n': '不限', 'v': ''}, {'n': '喜剧', 'v': '喜剧'}, {'n': '爱情', 'v': '爱情'}, {'n': '悬疑', 'v': '悬疑'}, {'n': '动画', 'v': '动画'}, {'n': '武侠', 'v': '武侠'}, {'n': '古装', 'v': '古装'}, {'n': '家庭', 'v': '家庭'}, {'n': '犯罪', 'v': '犯罪'}, {'n': '科幻', 'v': '科幻'}, {'n': '恐怖', 'v': '恐怖'}, {'n': '历史', 'v': '历史'}, {'n': '战争', 'v': '战争'}, {'n': '动作', 'v': '动作'}, {'n': '冒险', 'v': '冒险'}, {'n': '传记', 'v': '传记'}, {'n': '剧情', 'v': '剧情'}, {'n': '奇幻', 'v': '奇幻'}, {'n': '惊悚', 'v': '惊悚'}, {'n': '灾难', 'v': '灾难'}, {'n': '歌舞', 'v': '歌舞'}, {'n': '音乐', 'v': '音乐'}]}, {'key': '综艺形式', 'name': '综艺形式', 'value': [{'n': '不限', 'v': ''}, {'n': '真人秀', 'v': '真人秀'}, {'n': '脱口秀', 'v': '脱口秀'}, {'n': '音乐', 'v': '音乐'}, {'n': '歌舞', 'v': '歌舞'}]}, {'key': '地区', 'name': '地区', 'value': [{'n': '全部地区', 'v': ''}, {'n': '华语', 'v': '华语'}, {'n': '欧美', 'v': '欧美'}, {'n': '国外', 'v': '国外'}, {'n': '韩国', 'v': '韩国'}, {'n': '日本', 'v': '日本'}, {'n': '中国大陆', 'v': '中国大陆'}, {'n': '中国香港', 'v': '中国香港'}, {'n': '美国', 'v': '美国'}, {'n': '英国', 'v': '英国'}, {'n': '泰国', 'v': '泰国'}, {'n': '中国台湾', 'v': '中国台湾'}, {'n': '意大利', 'v': '意大利'}, {'n': '法国', 'v': '法国'}, {'n': '德国', 'v': '德国'}, {'n': '西班牙', 'v': '西班牙'}, {'n': '俄罗斯', 'v': '俄罗斯'}, {'n': '瑞典', 'v': '瑞典'}, {'n': '巴西', 'v': '巴西'}, {'n': '丹麦', 'v': '丹麦'}, {'n': '印度', 'v': '印度'}, {'n': '加拿大', 'v': '加拿大'}, {'n': '爱尔兰', 'v': '爱尔兰'}, {'n': '澳大利亚', 'v': '澳大利亚'}]}, {'key': 'sort', 'name': '排序', 'value': [{'n': '近期热度', 'v': 'T'}, {'n': '首播时间', 'v': 'R'}, {'n': '高分优先', 'v': 'S'}]}, {'key': '年代', 'name': '年代', 'value': [{'n': '全部', 'v': ''}, {'n': '2023', 'v': '2023'}, {'n': '2022', 'v': '2022'}, {'n': '2021', 'v': '2021'}, {'n': '2020', 'v': '2020'}, {'n': '2019', 'v': '2019'}, {'n': '2010年代', 'v': '2010年代'}, {'n': '2000年代', 'v': '2000年代'}, {'n': '90年代', 'v': '90年代'}, {'n': '80年代', 'v': '80年代'}, {'n': '70年代', 'v': '70年代'}, {'n': '60年代', 'v': '60年代'}, {'n': '更早', 'v': '更早'}]}, {'key': '平台', 'name': '平台', 'value': [{'n': '全部', 'v': ''}, {'n': '腾讯视频', 'v': '腾讯视频'}, {'n': '爱奇艺', 'v': '爱奇艺'}, {'n': '优酷', 'v': '优酷'}, {'n': '湖南卫视', 'v': '湖南卫视'}, {'n': 'Netflix', 'v': 'Netflix'}, {'n': 'HBO', 'v': 'HBO'}, {'n': 'BBC', 'v': 'BBC'}, {'n': 'NHK', 'v': 'NHK'}, {'n': 'CBS', 'v': 'CBS'}, {'n': 'NBC', 'v': 'NBC'}, {'n': 'tvN', 'v': 'tvN'}]}], 'rank_list_movie': [{'key': '榜单', 'name': '榜单', 'value': [{'n': '实时热门电影', 'v': 'movie_real_time_hotest'}, {'n': '一周口碑电影榜', 'v': 'movie_weekly_best'}, {'n': '豆瓣电影Top250', 'v': 'movie_top250'}]}], 'rank_list_tv': [{'key': '榜单', 'name': '榜单', 'value': [{'n': '实时热门电视', 'v': 'tv_real_time_hotest'}, {'n': '华语口碑剧集榜', 'v': 'tv_chinese_best_weekly'}, {'n': '全球口碑剧集榜', 'v': 'tv_global_best_weekly'}, {'n': '国内口碑综艺榜', 'v': 'show_chinese_best_weekly'}, {'n': '国外口碑综艺榜', 'v': 'show_global_best_weekly'}]}]}, + limit:20, + play_parse:false, + 推荐:'', + 推荐:'js:let d=[];let douban_api_host="http://api.douban.com/api/v2";let miniapp_apikey="0ac44ae016490db2204ce0a042db2916";const count=30;function miniapp_request(path,query){try{let url=douban_api_host+path;query.apikey=miniapp_apikey;fetch_params.headers=oheaders;url=buildUrl(url,query);let html=fetch(url,fetch_params);return JSON.parse(html)}catch(e){print("发生了错误:"+e.message);return{}}}function subject_real_time_hotest(){try{let res=miniapp_request("/subject_collection/subject_real_time_hotest/items",{});let lists=[];let arr=res.subject_collection_items||[];arr.forEach(function(item){if(item.type==="movie"||item.type==="tv"){let rating=item.rating?item.rating.value:"暂无评分";let honnor=(item.honor_infos||[]).map(function(it){return it.title}).join("|");lists.append({vod_id:"msearch:"+TYPE,vod_name:item.title||"",vod_pic:item.pic.normal,vod_remarks:rating+" "+honnor})}});return lists}catch(e){print("发生了错误:"+e.message);return[]}}VODS=subject_real_time_hotest();print(VODS);', + // 手动调用解析请求json的url,此lazy不方便 + lazy:'', + // 推荐:'.list_item;img&&alt;img&&src;a&&Text;a&&data-float', + 一级:'', + 一级:'js:let d=[];let douban=input.split("douban=")[1].split("&")[0];let douban_api_host="http://api.douban.com/api/v2";let miniapp_apikey="0ac44ae016490db2204ce0a042db2916";const count=30;function miniapp_request(path,query){try{let url=douban_api_host+path;query.apikey=miniapp_apikey;fetch_params.headers=oheaders;url=buildUrl(url,query);let html=fetch(url,fetch_params);if(/request_error/.test(html)){print(html)}return JSON.parse(html)}catch(e){print("发生了错误:"+e.message);return{}}}function cate_filter(d,douban){douban=douban||"";try{let res={};if(MY_CATE==="interests"){if(douban){let status=MY_FL.status||"mark";let subtype_tag=MY_FL.subtype_tag||"";let year_tag=MY_FL.year_tag||"全部";let path="/user/"+douban+"/interests";res=miniapp_request(path,{type:"movie",status:status,subtype_tag:subtype_tag,year_tag:year_tag,start:(MY_PAGE-1)*count,count:count})}else{return{}}}else if(MY_CATE==="hot_gaia"){let sort=MY_FL.sort||"recommend";let area=MY_FL.area||"全部";let path="/movie/"+MY_CATE;res=miniapp_request(path,{area:area,sort:sort,start:(MY_PAGE-1)*count,count:count})}else if(MY_CATE==="tv_hot"||MY_CATE==="show_hot"){let stype=MY_FL.type||MY_CATE;let path="/subject_collection/"+stype+"/items";res=miniapp_request(path,{start:(MY_PAGE-1)*count,count:count})}else if(MY_CATE.startsWith("rank_list")){let id=MY_CATE==="rank_list_movie"?"movie_real_time_hotest":"tv_real_time_hotest";id=MY_FL.榜单||id;let path="/subject_collection/"+id+"/items";res=miniapp_request(path,{start:(MY_PAGE-1)*count,count:count})}else{let path="/"+MY_CATE+"/recommend";let selected_categories;let tags;let sort;if(Object.keys(MY_FL).length>0){sort=MY_FL.sort||"T";tags=Object.values(MY_FL).join(",");if(MY_CATE==="movie"){selected_categories={"类型":MY_FL.类型||"","地区":MY_FL.地区||""}}else{selected_categories={"类型":MY_FL.类型||"","形式":MY_FL.类型?MY_FL.类型+"地区":"","地区":MY_FL.地区||""}}}else{sort="T";tags="";if(MY_CATE==="movie"){selected_categories={"类型":"","地区":""}}else{selected_categories={"类型":"","形式":"","地区":""}}}let params={tags:tags,sort:sort,refresh:0,selected_categories:stringify(selected_categories),start:(MY_PAGE-1)*count,count:count};res=miniapp_request(path,params)}let result={page:MY_PAGE,pagecount:Math.ceil(res.total/count),limit:count,total:res.total};let items=[];if(/^rank_list|tv_hot|show_hot/.test(MY_CATE)){items=res["subject_collection_items"]}else if(MY_CATE==="interests"){res["interests"].forEach(function(it){items.push(it.subject)})}else{items=res.items}let lists=[];items.forEach(function(item){if(item.type==="movie"||item.type==="tv"){let rating=item.rating?item.rating.value:"";let rat_str=rating||"暂无评分";let title=item.title;let honor=item.honor_infos||[];let honor_str=honor.map(function(it){return it.title}).join("|");let vod_obj={vod_name:title!=="未知电影"?title:"暂不支持展示",vod_pic:item.pic.normal,vod_remarks:rat_str+" "+honor_str};let vod_obj_d={url:item.type+"$"+item.id,title:title!=="未知电影"?title:"暂不支持展示",pic_url:item.pic.normal,desc:rat_str+" "+honor_str};lists.push(vod_obj);d.push(vod_obj_d)}});result.list=lists;return result}catch(e){print(e.message)}return{}}let res=cate_filter(d,douban);setResult2(res);', + 二级:'', + 搜索:'', +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/香雅情/js/优酷.js b/tvboxqq/tvboxqq/香雅情/js/优酷.js new file mode 100644 index 0000000..78a81a0 --- /dev/null +++ b/tvboxqq/tvboxqq/香雅情/js/优酷.js @@ -0,0 +1,39 @@ +var rule = { + title:'优酷', + host:'https://www.%79%6f%75%6b%75.com', + homeUrl:'', + searchUrl:'https://search.%79%6f%75%6b%75.com/api/search?pg=fypage&keyword=**', + searchable:2, + quickSearch:0, + filterable:1, + multi:1, + // 分类链接fypage参数支持1个()表达式 + url:'/category/data?optionRefresh=1&pageNo=fypage¶ms=fyfilter', + // url:'/category/data?pageNo=fypage¶ms=fyfilter', + // filter_url:'&u=fyarea&s=fyyear={{fl.order}}', + // filter_url:'{{fl|safe}}', + filter_url:'{{fl}}', + // filter_url:'{{fl}}', + // filter_url:'{{fl}}', + filter:{"电视剧": [{"key": "main_area", "name": "全部地区", "value": [{"n": "全部地区", "v": ""}, {"n": "内地剧", "v": "中国内地"}, {"n": "港剧", "v": "中国香港"}, {"n": "台剧", "v": "中国台湾"}, {"n": "韩剧", "v": "韩国"}, {"n": "美剧", "v": "美国"}, {"n": "英剧", "v": "英国"}, {"n": "日剧", "v": "日本"}, {"n": "泰剧", "v": "泰国"}]}, {"key": "tags", "name": "全部类型", "value": [{"n": "全部类型", "v": ""}, {"n": "青春", "v": "青春"}, {"n": "古装", "v": "古装"}, {"n": "爱情", "v": "爱情"}, {"n": "都市", "v": "都市"}, {"n": "喜剧", "v": "喜剧,搞笑"}, {"n": "战争", "v": "战争"}, {"n": "军旅", "v": "军旅"}, {"n": "谍战", "v": "谍战"}, {"n": "偶像", "v": "偶像"}, {"n": "警匪", "v": "警匪"}, {"n": "冒险", "v": "冒险"}, {"n": "穿越", "v": "穿越"}, {"n": "仙侠", "v": "仙侠"}, {"n": "武侠", "v": "武侠"}, {"n": "悬疑", "v": "悬疑"}, {"n": "罪案", "v": "罪案"}, {"n": "家庭", "v": "家庭"}, {"n": "历史", "v": "历史"}, {"n": "年代", "v": "年代"}, {"n": "农村", "v": "农村"}]}, {"key": "year", "name": "全部年份", "value": [{"n": "全部年份", "v": ""}, {'n': '2023', 'v': '2023'}, {'n': '2022', 'v': '2022'}, {"n": "2021", "v": "2021"}, {"n": "2020", "v": "2020"}, {"n": "2019", "v": "2019"}, {"n": "2018", "v": "2018"}, {"n": "2017", "v": "2017"}, {"n": "2016", "v": "2016"}, {"n": "2015", "v": "2015"}, {"n": "2014-2011", "v": "2011-2014"}, {"n": "更早", "v": "-2010"}]}, {"key": "status", "name": "全部规格", "value": [{"n": "全部规格", "v": ""}, {"n": "全网独播", "v": "1"}, {"n": "优酷自制", "v": "2"}, {"n": "已完结", "v": "3"}, {"n": "即将上线", "v": "4"}, {"n": "短剧", "v": "5"}]}, {"key": "pay_type", "name": "付费类型", "value": [{"n": "付费类型", "v": ""}, {"n": "免费", "v": "0"}, {"n": "VIP", "v": "2"}, {"n": "付费", "v": "1"}]}, {"key": "sort", "name": "综合排序", "value": [{"n": "综合排序", "v": ""}, {"n": "热度最高", "v": "7"}, {"n": "最新上线", "v": "1"}, {"n": "最好评", "v": "3"}, {"n": "最多播放", "v": "2"}]}], "电影": [{"key": "main_area", "name": "全部地区", "value": [{"n": "全部地区", "v": ""}, {"n": "内地", "v": "中国内地"}, {"n": "中国香港", "v": "中国香港"}, {"n": "中国台湾", "v": "中国台湾"}, {"n": "美国", "v": "美国"}, {"n": "印度", "v": "印度"}, {"n": "日韩", "v": "韩国,日本"}, {"n": "泰国", "v": "泰国"}, {"n": "欧洲", "v": "欧洲"}]}, {"key": "tags", "name": "全部类型", "value": [{"n": "全部类型", "v": ""}, {"n": "喜剧", "v": "喜剧,搞笑"}, {"n": "动作", "v": "动作"}, {"n": "怪兽", "v": "怪兽"}, {"n": "战争", "v": "战争"}, {"n": "爱情", "v": "爱情"}, {"n": "悬疑", "v": "悬疑"}, {"n": "武侠", "v": "武侠"}, {"n": "奇幻", "v": "奇幻"}, {"n": "科幻", "v": "科幻"}, {"n": "冒险", "v": "冒险"}, {"n": "警匪", "v": "警匪"}, {"n": "动画", "v": "动画"}, {"n": "惊悚", "v": "惊悚"}, {"n": "犯罪", "v": "犯罪"}, {"n": "恐怖", "v": "恐怖"}, {"n": "剧情", "v": "剧情"}, {"n": "历史", "v": "历史"}, {"n": "纪录片", "v": "纪录片"}, {"n": "传记", "v": "传记"}, {"n": "歌舞", "v": "歌舞"}, {"n": "短片", "v": "短片"}, {"n": "其他", "v": "其他"}]}, {"key": "source", "name": "全部规格", "value": [{"n": "全部规格", "v": ""}, {"n": "院线", "v": "1"}, {"n": "网络电影", "v": "0"}, {"n": "独播", "v": "2"}, {"n": "高清修复", "v": "3"}, {"n": "1080P", "v": "4"}]}, {"key": "year", "name": "全部年份", "value": [{"n": "全部年份", "v": ""}, {'n': '2023', 'v': '2023'}, {'n': '2022', 'v': '2022'}, {"n": "2021", "v": "2021"}, {"n": "2020", "v": "2020"}, {"n": "2019", "v": "2019"}, {"n": "2018", "v": "2018"}, {"n": "2017", "v": "2017"}, {"n": "2016", "v": "2016"}, {"n": "2015", "v": "2015"}, {"n": "2014-2010", "v": "2010-2014"}, {"n": "2009-2000", "v": "2000-2009"}, {"n": "90年代", "v": "1990-1999"}, {"n": "80年代", "v": "1980-1989"}, {"n": "70年代", "v": "1970-1979"}, {"n": "更早", "v": "-1969"}]}, {"key": "pay_type", "name": "付费类型", "value": [{"n": "付费类型", "v": ""}, {"n": "免费", "v": "0"}, {"n": "会员", "v": "2"}, {"n": "点播", "v": "1"}]}, {"key": "sort", "name": "综合排序", "value": [{"n": "综合排序", "v": ""}, {"n": "热度最高", "v": "7"}, {"n": "最多播放", "v": "2"}, {"n": "最新上线", "v": "1"}, {"n": "最好评", "v": "3"}]}, {"key": "tag_label_name", "name": "为你推荐", "value": [{"n": "为你推荐", "v": ""}, {"n": "高分必看", "v": "高分必看"}, {"n": "卖座电影", "v": "卖座电影"}, {"n": "小说改编", "v": "小说改编"}, {"n": "铁血硬汉", "v": "铁血硬汉"}, {"n": "视效大片", "v": "视效大片"}, {"n": "漫画改编", "v": "漫画改编"}, {"n": "绝地求生", "v": "绝地求生"}, {"n": "真人真事改编", "v": "真人真事改编"}, {"n": "范伟", "v": "范伟"}, {"n": "火爆枪战", "v": "火爆枪战"}, {"n": "影史经典", "v": "影史经典"}, {"n": "拯救世界", "v": "拯救世界"}, {"n": "万茜", "v": "万茜"}, {"n": "马思纯", "v": "马思纯"}, {"n": "王俊凯", "v": "王俊凯"}, {"n": "豪华阵容", "v": "豪华阵容"}, {"n": "李玉", "v": "李玉"}, {"n": "无厘头喜剧", "v": "无厘头喜剧"}, {"n": "超能力", "v": "超能力"}, {"n": "欢喜搭档", "v": "欢喜搭档"}]}], "综艺": [{"key": "main_area", "name": "全部地区", "value": [{"n": "全部地区", "v": ""}, {"n": "内地", "v": "中国内地"}, {"n": "中国台湾", "v": "中国台湾"}, {"n": "美国", "v": "美国"}, {"n": "英国", "v": "英国"}]}, {"key": "tags", "name": "全部类型", "value": [{"n": "全部类型", "v": ""}, {"n": "偶像", "v": "偶像"}, {"n": "舞蹈", "v": "舞蹈"}, {"n": "音乐", "v": "音乐"}, {"n": "情感", "v": "情感"}, {"n": "喜剧", "v": "喜剧,搞笑"}, {"n": "体育", "v": "体育"}, {"n": "游戏", "v": "游戏"}, {"n": "相声", "v": "相声"}, {"n": "婚恋", "v": "婚恋"}, {"n": "时尚", "v": "时尚"}, {"n": "晚会", "v": "晚会"}, {"n": "明星访谈", "v": "明星访谈"}, {"n": "亲子", "v": "亲子"}, {"n": "生活", "v": "生活"}, {"n": "文化", "v": "文化"}, {"n": "美食", "v": "美食"}, {"n": "旅游", "v": "旅游"}, {"n": "益智", "v": "益智"}]}, {"key": "year", "name": "全部年份", "value": [{"n": "全部年份", "v": ""}, {'n': '2023', 'v': '2023'}, {'n': '2022', 'v': '2022'}, {"n": "2021", "v": "2021"}, {"n": "2020", "v": "2020"}, {"n": "2019", "v": "2019"}, {"n": "2018", "v": "2018"}, {"n": "2017", "v": "2017"}, {"n": "2016", "v": "2016"}, {"n": "2015", "v": "2015"}, {"n": "2014-2011", "v": "2011-2014"}, {"n": "更早", "v": "-2010"}]}, {"key": "status", "name": "全部规格", "value": [{"n": "全部规格", "v": ""}, {"n": "优酷自制", "v": "2"}, {"n": "优酷独播", "v": "1"}, {"n": "电视综艺", "v": "6"}, {"n": "已完结", "v": "3"}, {"n": "即将上线", "v": "4"}]}, {"key": "pay_type", "name": "付费类型", "value": [{"n": "付费类型", "v": ""}, {"n": "免费", "v": "0"}, {"n": "VIP", "v": "2"}, {"n": "付费", "v": "1"}]}, {"key": "sort", "name": "热度最高", "value": [{"n": "热度最高", "v": ""}, {"n": "最新更新", "v": "8"}, {"n": "最近开播", "v": "9"}, {"n": "最多评论", "v": "4"}]}, {"key": "tag_label_name", "name": "为你推荐", "value": [{"n": "为你推荐", "v": ""}, {"n": "舞台竞演", "v": "舞台竞演"}, {"n": "刘雨昕", "v": "刘雨昕"}, {"n": "王一博", "v": "王一博"}, {"n": "韩庚", "v": "韩庚"}, {"n": "李承铉", "v": "李承铉"}, {"n": "户外竞技", "v": "户外竞技"}, {"n": "浙江卫视", "v": "浙江卫视"}, {"n": "东方卫视", "v": "东方卫视"}, {"n": "岳云鹏", "v": "岳云鹏"}, {"n": "王迅", "v": "王迅"}, {"n": "杨迪", "v": "杨迪"}, {"n": "杨超越", "v": "杨超越"}, {"n": "黄明昊", "v": "黄明昊"}, {"n": "郭京飞", "v": "郭京飞"}, {"n": "欧阳娜娜", "v": "欧阳娜娜"}, {"n": "德云社", "v": "德云社"}, {"n": "郑恺", "v": "郑恺"}, {"n": "华少", "v": "华少"}, {"n": "郭德纲", "v": "郭德纲"}, {"n": "贾玲", "v": "贾玲"}]}], "动漫": [{"key": "sort", "name": "综合排序", "value": [{"n": "综合排序", "v": ""}, {"n": "最多播放", "v": "2"}, {"n": "最好评", "v": "3"}, {"n": "最新上线", "v": "1"}]}, {"key": "main_area", "name": "全部地区", "value": [{"n": "全部地区", "v": ""}, {"n": "内地", "v": "中国内地"}, {"n": "日本", "v": "日本"}, {"n": "美国", "v": "美国"}, {"n": "中国台湾", "v": "中国台湾"}, {"n": "其他", "v": "其他"}]}, {"key": "tags", "name": "全部类型", "value": [{"n": "全部类型", "v": ""}, {"n": "热血", "v": "热血,战斗"}, {"n": "励志", "v": "励志"}, {"n": "玄幻", "v": "玄幻"}, {"n": "古风", "v": "历史,古风"}, {"n": "恋爱", "v": "恋爱"}, {"n": "青春", "v": "青春"}, {"n": "校园", "v": "校园"}, {"n": "运动", "v": "社团,运动"}, {"n": "科幻", "v": "科幻"}, {"n": "冒险", "v": "冒险"}, {"n": "魔法", "v": "魔法"}, {"n": "日常", "v": "日常"}, {"n": "治愈", "v": "治愈"}, {"n": "机战", "v": "机战"}, {"n": "推理", "v": "推理"}, {"n": "都市", "v": "都市"}, {"n": "小说改", "v": "小说改编"}, {"n": "游戏改", "v": "游戏改编"}, {"n": "漫画改", "v": "漫画改编"}, {"n": "动态漫", "v": "动态漫画"}, {"n": "特摄", "v": "特摄"}, {"n": "布袋戏", "v": "布袋戏"}]}, {"key": "completed", "name": "连载情况", "value": [{"n": "连载情况", "v": ""}, {"n": "更新中", "v": "0"}, {"n": "已完结", "v": "1"}]}, {"key": "pay_type", "name": "付费类型", "value": [{"n": "付费类型", "v": ""}, {"n": "免费", "v": "0"}, {"n": "会员", "v": "2"}]}, {"key": "year", "name": "全部年份", "value": [{"n": "全部年份", "v": ""}, {'n': '2023', 'v': '2023'}, {'n': '2022', 'v': '2022'}, {"n": "2021", "v": "2021"}, {"n": "2020", "v": "2020"}, {"n": "2019", "v": "2019"}, {"n": "2018", "v": "2018"}, {"n": "2017", "v": "2017"}, {"n": "2016", "v": "2016"}, {"n": "2015", "v": "2015"}, {"n": "2014", "v": "2014"}, {"n": "2013", "v": "2013"}, {"n": "2012", "v": "2012"}, {"n": "2011", "v": "2011"}, {"n": "00年代", "v": "2000-2010"}, {"n": "更早", "v": "-1999"}]}, {"key": "tag_label_name", "name": "为你推荐", "value": [{"n": "为你推荐", "v": ""}, {"n": "3D动画", "v": "3D动画"}, {"n": "搞笑日常", "v": "搞笑日常"}, {"n": "大男主", "v": "大男主"}, {"n": "高燃", "v": "高燃"}, {"n": "萌系", "v": "萌系"}, {"n": "修真", "v": "修真"}, {"n": "怀旧", "v": "怀旧"}, {"n": "超级英雄", "v": "超级英雄"}, {"n": "水树奈奈", "v": "水树奈奈"}, {"n": "张杰", "v": "张杰"}, {"n": "石田彰", "v": "石田彰"}, {"n": "守护地球", "v": "守护地球"}, {"n": "圆谷", "v": "圆谷"}, {"n": "山新", "v": "山新"}, {"n": "复仇", "v": "复仇"}, {"n": "废柴逆袭", "v": "废柴逆袭"}, {"n": "侦探", "v": "侦探"}, {"n": "无厘头", "v": "无厘头"}, {"n": "青山刚昌", "v": "青山刚昌"}, {"n": "悬疑", "v": "悬疑"}]}], "少儿": [{"key": "main_area", "name": "全部地区", "value": [{"n": "全部地区", "v": ""}, {"n": "中国", "v": "中国,香港,台湾"}, {"n": "美国", "v": "美国"}, {"n": "英国", "v": "英国"}, {"n": "其他国家", "v": "其他"}]}, {"key": "show_label_type", "name": "全部类型", "value": [{"n": "全部类型", "v": ""}, {"n": "动画", "v": "动画"}, {"n": "儿歌", "v": "儿歌"}, {"n": "玩具", "v": "玩具"}, {"n": "动画电影", "v": "电影"}, {"n": "绘本故事", "v": "绘本故事"}, {"n": "真人", "v": "真人"}, {"n": "少儿综艺", "v": "少儿综艺"}, {"n": "亲子", "v": "亲子"}, {"n": "探索纪实", "v": "探索纪实"}, {"n": "音频", "v": "音频"}]}, {"key": "child_tags", "name": "全部分类", "value": [{"n": "全部分类", "v": ""}, {"n": "益智", "v": "益智"}, {"n": "冒险", "v": "冒险"}, {"n": "幽默", "v": "幽默"}, {"n": "机甲", "v": "机甲"}, {"n": "公主魔法", "v": "公主,魔法"}, {"n": "交通工具", "v": "交通工具"}, {"n": "恐龙", "v": "恐龙"}, {"n": "动物", "v": "动物"}, {"n": "励志", "v": "励志"}, {"n": "友情", "v": "友情"}, {"n": "战斗", "v": "战斗"}, {"n": "校园", "v": "校园"}, {"n": "正义", "v": "正义"}, {"n": "热血", "v": "热血"}, {"n": "科幻", "v": "科幻"}, {"n": "童话", "v": "童话"}, {"n": "运动", "v": "运动"}, {"n": "专注力", "v": "专注力"}, {"n": "创造力", "v": "创造力"}, {"n": "想象力", "v": "想象力"}, {"n": "科普", "v": "科普"}, {"n": "情商", "v": "情商"}, {"n": "思维逻辑", "v": "思维逻辑"}, {"n": "兴趣培养", "v": "兴趣培养"}, {"n": "语文", "v": "语文"}, {"n": "英语", "v": "英语"}, {"n": "数学", "v": "数学"}, {"n": "课程辅导", "v": "课程辅导"}]}, {"key": "age", "name": "全部年龄", "value": [{"n": "全部年龄", "v": ""}, {"n": "0-2岁", "v": "0-2"}, {"n": "3-4岁", "v": "3-4"}, {"n": "5-6岁", "v": "5-6"}, {"n": "7岁以上", "v": "7-"}]}, {"key": "pay_type", "name": "付费类型", "value": [{"n": "付费类型", "v": ""}, {"n": "免费", "v": "0"}, {"n": "付费", "v": "1"}, {"n": "VIP", "v": "2"}]}, {"key": "sort", "name": "综合排序", "value": [{"n": "综合排序", "v": ""}, {"n": "最新上线", "v": "1"}, {"n": "最多播放", "v": "2"}, {"n": "最多评论", "v": "4"}, {"n": "最多收藏", "v": "5"}]}], "纪录片": [{"key": "tags", "name": "全部类型", "value": [{"n": "全部类型", "v": ""}, {"n": "美食", "v": "美食"}, {"n": "自然", "v": "自然"}, {"n": "历史", "v": "历史"}, {"n": "探险", "v": "探险"}, {"n": "军事", "v": "军事"}, {"n": "人物", "v": "人物"}, {"n": "宇宙", "v": "宇宙"}, {"n": "刑侦", "v": "刑侦"}, {"n": "社会", "v": "社会"}, {"n": "科技", "v": "科技"}, {"n": "旅游", "v": "旅游"}]}, {"key": "company", "name": "全部出品", "value": [{"n": "全部出品", "v": ""}, {"n": "BBC", "v": "bbc,british"}, {"n": "央视", "v": "央视,中央电视台,cctv,中国广播电影电视节目交易中心"}, {"n": "国家地理", "v": "国家地理"}, {"n": "Love Nature", "v": "love nature"}, {"n": "LGI", "v": "looking"}, {"n": "A&E", "v": "ae"}, {"n": "OTF", "v": "fence"}]}, {"key": "year", "name": "全部年份", "value": [{"n": "全部年份", "v": ""}, {'n': '2023', 'v': '2023'}, {'n': '2022', 'v': '2022'}, {"n": "2021", "v": "2021"}, {"n": "2020", "v": "2020"}, {"n": "2019", "v": "2019"}, {"n": "2018", "v": "2018"}, {"n": "2017", "v": "2017"}, {"n": "2016", "v": "2016"}, {"n": "2015", "v": "2015"}, {"n": "2014-2011", "v": "2011-2014"}, {"n": "更早", "v": "-2010"}]}, {"key": "pay_type", "name": "付费类型", "value": [{"n": "付费类型", "v": ""}, {"n": "免费", "v": "0"}, {"n": "会员", "v": "2"}]}, {"key": "sort", "name": "热度最高", "value": [{"n": "热度最高", "v": ""}, {"n": "综合排序", "v": "0"}, {"n": "最新上线", "v": "1"}, {"n": "最好评", "v": "3"}, {"n": "最多收藏", "v": "5"}]}], "文化": [{"key": "tags", "name": "全部类型", "value": [{"n": "全部类型", "v": ""}, {"n": "谈话", "v": "谈话"}, {"n": "脱口秀", "v": "脱口秀"}, {"n": "访谈", "v": "访谈"}, {"n": "讲座论坛", "v": "讲座论坛"}, {"n": "戏曲曲艺", "v": "戏曲,曲艺"}, {"n": "舞台剧", "v": "舞台剧"}, {"n": "文学", "v": "文学"}, {"n": "国学", "v": "国学"}, {"n": "艺术", "v": "艺术"}, {"n": "培训课程", "v": "培训课程"}, {"n": "有声书", "v": "有声书"}]}, {"key": "people", "name": "文化大咖", "value": [{"n": "文化大咖", "v": ""}, {"n": "窦文涛", "v": "窦文涛"}, {"n": "马未都", "v": "马未都"}, {"n": "白岩松", "v": "白岩松"}, {"n": "梅毅", "v": "梅毅"}, {"n": "陈鲁豫", "v": "陈鲁豫"}, {"n": "樊登", "v": "樊登"}, {"n": "罗振宇", "v": "罗振宇"}, {"n": "蒋方舟", "v": "蒋方舟"}, {"n": "其他", "v": "其他"}]}, {"key": "year", "name": "全部年份", "value": [{"n": "全部年份", "v": ""}, {'n': '2023', 'v': '2023'}, {'n': '2022', 'v': '2022'}, {"n": "2021", "v": "2021"}, {"n": "2020", "v": "2020"}, {"n": "2019", "v": "2019"}, {"n": "2018", "v": "2018"}, {"n": "2017", "v": "2017"}, {"n": "2016", "v": "2016"}, {"n": "2015", "v": "2015"}, {"n": "2014-2011", "v": "2011-2014"}, {"n": "更早", "v": "-2010"}]}, {"key": "pay_type", "name": "付费类型", "value": [{"n": "付费类型", "v": ""}, {"n": "免费", "v": "0"}, {"n": "会员", "v": "2"}]}, {"key": "sort", "name": "热度最高", "value": [{"n": "热度最高", "v": ""}, {"n": "综合排序", "v": "0"}, {"n": "最新上线", "v": "1"}, {"n": "最好评", "v": "3"}, {"n": "最多收藏", "v": "5"}]}], "亲子": [{"key": "qinzi_genre", "name": "全部类型", "value": [{"n": "全部类型", "v": ""}, {"n": "孕产", "v": "孕产"}, {"n": "育儿知识", "v": "育儿知识,育儿达人,育儿专家,爸爸育儿,隔代育儿,育儿明星"}, {"n": "好物种草", "v": "母婴用品,测评,母婴用品种草"}, {"n": "美食", "v": "儿童美食,辅食,孕期饮食"}, {"n": "手工DIY", "v": "手工diy"}, {"n": "教育观念", "v": "教育观念"}, {"n": "亲子综艺", "v": "亲子综艺"}, {"n": "亲子互动", "v": "亲子旅游,亲子游戏,亲子阅读,玩具,早教,启蒙"}, {"n": "萌娃", "v": "萌娃"}, {"n": "搞笑", "v": "搞笑"}, {"n": "美妆", "v": "美妆"}]}, {"key": "pregnancy_stage", "name": "全部阶段", "value": [{"n": "全部阶段", "v": ""}, {"n": "备孕", "v": "备孕"}, {"n": "孕早期", "v": "孕早"}, {"n": "孕中期", "v": "孕中"}, {"n": "孕晚期", "v": "孕晚"}]}, {"key": "show_label_baby_age", "name": "全部分龄", "value": [{"n": "全部分龄", "v": ""}, {"n": "0-1岁", "v": "0-1"}, {"n": "1-3岁", "v": "1-3"}, {"n": "3-6岁", "v": "3-6"}, {"n": "6岁+", "v": "6-"}]}, {"key": "pay_type", "name": "全部", "value": [{"n": "全部", "v": ""}, {"n": "免费", "v": "0"}, {"n": "会员免费", "v": "2"}]}, {"key": "sort", "name": "热度最高", "value": [{"n": "热度最高", "v": ""}, {"n": "综合排序", "v": "0"}, {"n": "最新上线", "v": "1"}, {"n": "最多播放", "v": "2"}, {"n": "最多评论", "v": "3"}, {"n": "最多收藏", "v": "5"}]}], "教育": [{"key": "tags", "name": "全部类型", "value": [{"n": "全部类型", "v": ""}, {"n": "公开课", "v": "公开课"}, {"n": "名人名嘴", "v": "名人名嘴"}, {"n": "文化", "v": "文化"}, {"n": "艺术", "v": "艺术"}, {"n": "伦理社会", "v": "伦理社会"}, {"n": "理工", "v": "理工"}, {"n": "历史", "v": "历史"}, {"n": "心理学", "v": "心理学"}, {"n": "经济", "v": "经济"}, {"n": "管理学", "v": "管理学"}, {"n": "外语", "v": "外语"}, {"n": "法律", "v": "法律"}, {"n": "计算机", "v": "计算机"}, {"n": "哲学", "v": "哲学"}, {"n": "职业培训", "v": "职业培训"}, {"n": "家庭教育", "v": "家庭教育"}]}, {"key": "company", "name": "全部出品", "value": [{"n": "全部出品", "v": ""}, {"n": "TED", "v": "ted"}, {"n": "耶鲁大学", "v": "耶鲁大学"}, {"n": "哈佛大学", "v": "哈佛大学"}, {"n": "斯坦福大学", "v": "斯坦福大学"}, {"n": "麻省理工学院", "v": "麻省理工学院"}]}, {"key": "pay_type", "name": "全部节目", "value": [{"n": "全部节目", "v": ""}, {"n": "免费", "v": "0"}, {"n": "付费", "v": "1"}, {"n": "VIP", "v": "2"}]}, {"key": "sort", "name": "综合排序", "value": [{"n": "综合排序", "v": ""}, {"n": "最多播放", "v": "2"}, {"n": "最多收藏", "v": "5"}, {"n": "最好评", "v": "3"}, {"n": "最新上线", "v": "1"}]}], "搞笑": [{"key": "division", "name": "全部专区", "value": [{"n": "全部专区", "v": ""}, {"n": "1080P", "v": "3"}, {"n": "独播", "v": "6"}, {"n": "免费", "v": "5"}]}, {"key": "sort", "name": "综合排序", "value": [{"n": "综合排序", "v": ""}, {"n": "最多播放", "v": "2"}, {"n": "最好评", "v": "3"}, {"n": "最新上线", "v": "1"}]}], "生活": [{"key": "division", "name": "全部专区", "value": [{"n": "全部专区", "v": ""}, {"n": "1080P", "v": "3"}, {"n": "独播", "v": "6"}, {"n": "VIP", "v": "4"}, {"n": "免费", "v": "5"}]}, {"key": "sort", "name": "综合排序", "value": [{"n": "综合排序", "v": ""}, {"n": "最多播放", "v": "2"}, {"n": "最好评", "v": "3"}, {"n": "最新上线", "v": "1"}]}], "体育": [{"key": "division", "name": "全部专区", "value": [{"n": "全部专区", "v": ""}, {"n": "1080P", "v": "3"}, {"n": "独播", "v": "6"}, {"n": "VIP", "v": "4"}, {"n": "免费", "v": "5"}]}, {"key": "tags", "name": "全部类型", "value": [{"n": "全部类型", "v": ""}, {"n": "篮球", "v": "篮球"}, {"n": "足球", "v": "足球"}, {"n": "台球", "v": "台球"}, {"n": "CBA", "v": "CBA"}, {"n": "钓鱼", "v": "钓鱼"}]}, {"key": "sort", "name": "综合排序", "value": [{"n": "综合排序", "v": ""}, {"n": "最多播放", "v": "2"}, {"n": "最好评", "v": "3"}, {"n": "最新上线", "v": "1"}]}], "音乐": [{"key": "division", "name": "全部专区", "value": [{"n": "全部专区", "v": ""}, {"n": "1080P", "v": "3"}, {"n": "独播", "v": "6"}, {"n": "免费", "v": "5"}]}, {"key": "main_area", "name": "全部地区", "value": [{"n": "全部地区", "v": ""}, {"n": "中国", "v": "中国"}, {"n": "中国台湾", "v": "中国台湾"}, {"n": "中国香港", "v": "中国香港"}, {"n": "美国", "v": "美国"}, {"n": "其他", "v": "其他"}]}, {"key": "music_show_type", "name": "全部类型", "value": [{"n": "全部类型", "v": ""}, {"n": "演唱会", "v": "演唱会"}, {"n": "live现场", "v": "live现场"}, {"n": "颁奖典礼", "v": "颁奖典礼"}, {"n": "舞蹈", "v": "舞蹈"}, {"n": "影视原声", "v": "影视原声"}, {"n": "音乐达人", "v": "音乐达人"}, {"n": "音乐教学", "v": "音乐教学"}, {"n": "音乐纪录片", "v": "音乐纪录片"}, {"n": "音乐mv", "v": "音乐mv"}, {"n": "音乐自制", "v": "音乐自制"}]}, {"key": "sort", "name": "综合排序", "value": [{"n": "综合排序", "v": ""}, {"n": "最多播放", "v": "2"}, {"n": "最好评", "v": "3"}, {"n": "最新上线", "v": "1"}]}], "游戏": [{"key": "division", "name": "全部专区", "value": [{"n": "全部专区", "v": ""}, {"n": "1080P", "v": "3"}, {"n": "独播", "v": "6"}, {"n": "VIP", "v": "4"}, {"n": "免费", "v": "5"}]}, {"key": "game_brand", "name": "全部节目", "value": [{"n": "全部节目", "v": ""}, {"n": "王者荣耀", "v": "王者荣耀"}, {"n": "和平精英", "v": "和平精英"}, {"n": "绝地求生", "v": "绝地求生"}, {"n": "迷你世界", "v": "迷你世界"}, {"n": "我的世界", "v": "我的世界"}, {"n": "植物大战僵尸", "v": "植物大战僵尸"}, {"n": "方舟生存进化", "v": "方舟生存进化"}, {"n": "第五人格", "v": "第五人格"}, {"n": "猫和老鼠", "v": "猫和老鼠"}, {"n": "香肠派对", "v": "香肠派对"}, {"n": "穿越火线", "v": "穿越火线"}, {"n": "英雄联盟", "v": "英雄联盟"}]}, {"key": "tags", "name": "全部类型", "value": [{"n": "全部类型", "v": ""}, {"n": "资讯", "v": "资讯"}, {"n": "解说", "v": "解说"}, {"n": "主播", "v": "主播"}, {"n": "沙盒", "v": "沙盒"}, {"n": "益智", "v": "益智"}, {"n": "生存", "v": "生存"}, {"n": "电子竞技", "v": "电子竞技"}, {"n": "单机主机", "v": "单机主机"}, {"n": "真人秀", "v": "真人秀"}, {"n": "动画", "v": "动画"}, {"n": "盘点", "v": "盘点"}, {"n": "游戏文化", "v": "游戏文化"}, {"n": "游戏节目", "v": "游戏节目"}, {"n": "评测", "v": "评测"}, {"n": "射击", "v": "射击"}, {"n": "策略", "v": "策略"}, {"n": "冒险", "v": "冒险"}, {"n": "即时战略", "v": "即时战略"}, {"n": "卡牌", "v": "卡牌"}, {"n": "角色扮演", "v": "角色>扮演"}]}, {"key": "sort", "name": "综合排序", "value": [{"n": "综合排序", "v": ""}, {"n": "最多播放", "v": "2"}, {"n": "最好评", "v": "3"}, {"n": "最新上线", "v": "1"}]}]}, + headers:{ + 'User-Agent':'PC_UA', + 'Cookie':'cna=VvNvGX3e0ywCAavVEXlnA2bg; __ysuid=1626676228345Rl1; __ayft=1652434048647; __arycid=dm-1-00; __arcms=dm-1-00; __ayvstp=85; __arpvid=1667204023100cWWdgM-1667204023112; __ayscnt=10; __aypstp=60; isg=BBwcqxvvk3BxkWQGugbLpUSf7TrOlcC_U7GAj_YdfYfvQbzLHqYGT4Hgp6m5TvgX; tfstk=c3JOByYUH20ilVucLOhh0pCtE40lZfGc-PjLHLLfuX7SWNyAiQvkeMBsIw7PWDC..; l=eBQguS-PjdJFGJT-BOfwourza77OSIRA_uPzaNbMiOCPOb1B5UxfW6yHp4T6C3GVhsGJR3rp2umHBeYBqQd-nxvOF8qmSVDmn', + }, + timeout:5000, + class_name:'电视剧&电影&综艺&动漫&少儿&纪录片&文化&亲子&教育&搞笑&生活&体育&音乐&游戏', + class_url:'电视剧&电影&综艺&动漫&少儿&纪录片&文化&亲子&教育&搞笑&生活&体育&音乐&游戏', + limit:20, + play_parse:true, + // 手动调用解析请求json的url,此lazy不方便 + // lazy:'js:print(input);fetch_params.headers["user-agent"]=MOBILE_UA;let html=request(input);let rurl=html.match(/window\\.open\\(\'(.*?)\',/)[1];rurl=urlDeal(rurl);input={parse:1,url:rurl};', + lazy:'js:input={parse:1,jx:1,url:input};', + // 推荐:'.list_item;img&&alt;img&&src;a&&Text;a&&data-float', + // 一级:'json:data.filterData.listData;title;img;subTitle;videoLink;summary', + 一级:'', + 一级:'js:let d=[];MY_FL.type=MY_CATE;let fl=stringify(MY_FL);fl=encodeUrl(fl);input=input.split("{")[0]+fl;if(MY_PAGE>1){let old_session=getItem("yk_session_"+MY_CATE,"{}");if(MY_PAGE===2){input=input.replace("optionRefresh=1","session="+encodeUrl(old_session))}else{input=input.replace("optionRefresh=1","session="+encodeUrl(old_session))}}let html=fetch(input,fetch_params);try{html=JSON.parse(html);let lists=html.data.filterData.listData;let session=html.data.filterData.session;session=stringify(session);if(session!==getItem("yk_session_"+MY_CATE,"{}")){setItem("yk_session_"+MY_CATE,session)}lists.forEach(function(it){let vid;if(it.videoLink.includes("id_")){vid=it.videoLink.split("id_")[1].split(".html")[0]}else{vid="msearch:"}d.push({title:it.title,img:it.img,desc:it.summary,url:"https://search.youku.com/api/search?appScene=show_episode&showIds="+vid,content:it.subTitle})})}catch(e){log("一级列表解析发生错误:"+e.message)}setResult(d);', + 二级:'', + 二级:'js:var d=[];VOD={};let html=request(input);let json=JSON.parse(html);if(/keyword/.test(input)){input="https://search.youku.com/api/search?appScene=show_episode&showIds="+json.pageComponentList[0].commonData.showId;json=JSON.parse(fetch(MY_URL,fetch_params))}let video_lists=json.serisesList;var name=json.sourceName;if(/优酷/.test(name)&&video_lists.length>0){let ourl="https://v.youku.com/v_show/id_"+video_lists[0].videoId+".html";let _img=video_lists[0].thumbUrl;let html=fetch(ourl,{headers:{Referer:"https://v.youku.com/","User-Agent":PC_UA}});let json=/__INITIAL_DATA__/.test(html)?html.split("window.__INITIAL_DATA__ =")[1].split(";")[0]:"{}";if(json==="{}"){log("触发了优酷人机验证");VOD.vod_remarks=ourl;VOD.vod_pic=_img;VOD.vod_name=video_lists[0].title.replace(/(\\d+)/g,"");VOD.vod_content="触发了优酷人机验证,本次未获取详情,但不影响播放("+ourl+")"}else{try{json=JSON.parse(json);let data=json.data.data;let data_extra=data.data.extra;let img=data_extra.showImgV;let model=json.data.model;let m=model.detail.data.nodes[0].nodes[0].nodes[0].data;let _type=m.showGenre;let _desc=m.updateInfo||m.subtitle;let JJ=m.desc;let _title=m.introTitle;VOD.vod_pic=img;VOD.vod_name=_title;VOD.vod_type=_type;VOD.vod_remarks=_desc;VOD.vod_content=JJ}catch(e){log("海报渲染发生错误:"+e.message);print(json);VOD.vod_remarks=name}}}if(!/优酷/.test(name)){VOD.vod_content="非自家播放源,暂无视频简介及海报";VOD.vod_remarks=name}function adhead(url){return urlencode(url)}play_url=play_url.replace("&play_url=","&type=json&play_url=");video_lists.forEach(function(it){let url="https://v.youku.com/v_show/id_"+it.videoId+".html";if(it.thumbUrl){d.push({desc:it.showVideoStage?it.showVideoStage.replace("期","集"):it.displayName,pic_url:it.thumbUrl,title:it.title,url:play_url+adhead(url)})}else if(name!=="优酷"){d.push({title:it.displayName?it.displayName:it.title,url:play_url+adhead(it.url)})}});VOD.vod_play_from=name;VOD.vod_play_url=d.map(function(it){return it.title+"$"+it.url}).join("#");', + 搜索:'', + 搜索:'js:var d=[];let html=request(input);let json=JSON.parse(html);json.pageComponentList.forEach(function(it){if(it.hasOwnProperty("commonData")){it=it.commonData;d.push({title:it.titleDTO.displayName,img:it.posterDTO.vThumbUrl,desc:it.stripeBottom,content:it.updateNotice+" "+it.feature,url:"https://search.youku.com/api/search?appScene=show_episode&showIds="+it.showId+"&appCaller=h5"})}});setResult(d);', +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/香雅情/js/哔哩直播.js b/tvboxqq/tvboxqq/香雅情/js/哔哩直播.js new file mode 100644 index 0000000..d29c70b --- /dev/null +++ b/tvboxqq/tvboxqq/香雅情/js/哔哩直播.js @@ -0,0 +1,112 @@ +/** + * 影视TV 弹幕支持 + * https://t.me/fongmi_offical/ + * https://github.com/FongMi/Release/tree/main/apk + * 皮皮虾DMBox 弹幕支持 + * 设置 > 窗口预览 > 开启 + * https://t.me/pipixiawerun + * vod_area:'bililivedanmu' + * Cookie设置 + * Cookie获取方法 https://ghproxy.net/https://raw.githubusercontent.com/UndCover/PyramidStore/main/list.md + * Cookie设置方法1: DR-PY 后台管理界面 + * CMS后台管理 > 设置中心 > 环境变量 > {"bili_cookie":"XXXXXXX","vmid":"XXXXXX"} > 保存 + * Cookie设置方法2: 手动替换Cookie + * 底下代码 headers的 + * "Cookie":"$bili_cookie" + * 手动替换为 + * "Cookie":"将获取的Cookie黏贴在这" + */ + +var rule = { + title:'哔哩直播', + host:'https://api.live.bilibili.com', + homeUrl:'/xlive/web-interface/v1/second/getUserRecommend?page=1&page_size=30&platform=web',//用于"分类获取"和"推荐获取" + url:'/xlive/web-interface/v1/second/getList?platform=web&parent_area_id=fyclass&area_id=fyfilter&sort_type=online&page=fypage', + class_name:'生活&网游&手游&单机游戏&娱乐&电台&虚拟主播&聊天室&知识&赛事&帮我玩&互动玩法', + class_url:'10&2&3&6&1&5&9&14&11&13&301&15', + filterable: 1, + filter_url: '{{fl.area}}', + filter_def:{ + 10:{area:'624'}, + 2:{area:'86'}, + 3:{area:'35'}, + 6:{area:'236'}, + 1:{area:'21'}, + 5:{area:'190'}, + 9:{area:'744'}, + 14:{area:'818'}, + 11:{area:'376'}, + 13:{area:'562'}, + 301:{area:'301000'}, + 15:{area:'814'} + }, + filter: { + "10":[{"key":"area","name":"分区","value":[{"n":"生活分享","v":"646"},{"n":"聊天交友","v":"825"},{"n":"手工绘画","v":"627"},{"n":"情感","v":"623"},{"n":"户外","v":"368"},{"n":"萌宠","v":"369"},{"n":"运动","v":"628"},{"n":"美食","v":"367"},{"n":"时尚","v":"378"},{"n":"电子榨菜","v":"624"},{"n":"沉浸体验","v":"827"}]}], + "2":[{"key":"area","name":"分区","value":[{"n":"英雄联盟","v":"86"},{"n":"无畏契约","v":"329"},{"n":"CS:GO","v":"89"},{"n":"APEX英雄","v":"240"},{"n":"永劫无间","v":"666"},{"n":"穿越火线","v":"88"},{"n":"命运方舟","v":"590"},{"n":"DOTA2","v":"92"},{"n":"吃鸡行动","v":"80"},{"n":"逃离塔科夫","v":"252"},{"n":"传奇","v":"695"},{"n":"DNF","v":"78"},{"n":"卡拉彼丘","v":"782"},{"n":"幕后高手","v":"774"},{"n":"生死狙击2","v":"575"},{"n":"洛奇英雄传","v":"599"},{"n":"最终幻想14","v":"102"},{"n":"重生边缘","v":"809"},{"n":"星际战甲","v":"249"},{"n":"梦三国","v":"710"},{"n":"英魂之刃","v":"690"},{"n":"剑网3","v":"82"},{"n":"从军","v":"829"},{"n":"铁甲雄兵","v":"691"},{"n":"封印者","v":"300"},{"n":"新天龙八部","v":"653"},{"n":"赛尔号","v":"667"},{"n":"造梦西游","v":"668"},{"n":"洛克王国","v":"669"},{"n":"问道","v":"670"},{"n":"诛仙世界","v":"654"},{"n":"大话西游","v":"652"},{"n":"奇迹MU","v":"683"},{"n":"永恒之塔","v":"684"},{"n":"QQ三国","v":"685"},{"n":"人间地狱","v":"677"},{"n":"彩虹岛","v":"686"},{"n":"洛奇","v":"663"},{"n":"跑跑卡丁车","v":"664"},{"n":"星际公民","v":"658"},{"n":"Squad战术小队","v":"659"},{"n":"反恐精英Online","v":"629"},{"n":"风暴奇侠","v":"648"},{"n":"创世战车","v":"705"},{"n":"装甲战争","v":"642"},{"n":"守望先锋","v":"87"},{"n":"阿尔比恩","v":"639"},{"n":"猎杀对决","v":"600"},{"n":"CFHD","v":"472"},{"n":"骑士精神2","v":"650"},{"n":"超击突破","v":"680"},{"n":"武装突袭","v":"634"},{"n":"Wayfinder寻路者","v":"773"},{"n":"300英雄","v":"84"},{"n":"炉石传说","v":"91"},{"n":"剑网3缘起","v":"499"},{"n":"街头篮球","v":"649"},{"n":"综合射击","v":"601"},{"n":"剑灵","v":"505"},{"n":"艾尔之光","v":"651"},{"n":"黑色沙漠","v":"632"},{"n":"天涯明月刀","v":"596"},{"n":"超激斗梦境","v":"519"},{"n":"冒险岛","v":"574"},{"n":"逆战","v":"487"},{"n":"魔兽争霸3","v":"181"},{"n":"QQ飞车","v":"610"},{"n":"魔兽世界","v":"83"},{"n":"FIFAONLINE4","v":"388"},{"n":"NBA2KOL2","v":"581"},{"n":"使命召唤:战区","v":"318"},{"n":"VRChat","v":"656"},{"n":"坦克世界","v":"115"},{"n":"战舰世界","v":"248"},{"n":"战争与抉择","v":"729"},{"n":"战争雷霆","v":"316"},{"n":"战意","v":"383"},{"n":"风暴英雄","v":"114"},{"n":"星际争霸2","v":"93"},{"n":"刀塔自走棋","v":"239"},{"n":"堡垒之夜","v":"164"},{"n":"枪神纪","v":"251"},{"n":"三国杀","v":"81"},{"n":"龙之谷","v":"112"},{"n":"古剑奇谭OL","v":"173"},{"n":"幻想全明星","v":"176"},{"n":"怀旧网游","v":"288"},{"n":"新游前瞻","v":"298"},{"n":"星战前夜:晨曦","v":"331"},{"n":"流放之路","v":"551"},{"n":"FPS沙盒","v":"633"},{"n":"永恒轮回","v":"459"},{"n":"激战2","v":"607"},{"n":"其他网游","v":"107"},{"n":"蓝色协议","v":"760"}]}], + "3":[{"key":"area","name":"分区","value":[{"n":"王者荣耀","v":"35"},{"n":"和平精英","v":"256"},{"n":"原神","v":"321"},{"n":"崩坏:星穹铁道","v":"549"},{"n":"第五人格","v":"163"},{"n":"LOL手游","v":"395"},{"n":"明日方舟","v":"255"},{"n":"黎明觉醒:生机","v":"479"},{"n":"蛋仔派对","v":"571"},{"n":"冒险岛手游","v":"796"},{"n":"元梦之星","v":"822"},{"n":"闪耀!优俊少女","v":"805"},{"n":"斯露德","v":"797"},{"n":"千年之旅","v":"806"},{"n":"白夜极光","v":"781"},{"n":"逆水寒手游","v":"771"},{"n":"率土之滨","v":"807"},{"n":"月圆之夜","v":"215"},{"n":"哈利波特:魔法觉醒","v":"474"},{"n":"七人传奇","v":"823"},{"n":"幻塔","v":"550"},{"n":"星之破晓","v":"799"},{"n":"金铲铲之战","v":"514"},{"n":"少女前线2:追放","v":"832"},{"n":"深空之眼","v":"598"},{"n":"无期迷途","v":"675"},{"n":"晶核","v":"777"},{"n":"星球重启","v":"828"},{"n":"宿命回响:弦上的叹息","v":"826"},{"n":"光遇","v":"687"},{"n":"桃源深处有人家","v":"792"},{"n":"三国志战棋版","v":"756"},{"n":"战火勋章","v":"765"},{"n":"以闪亮之名","v":"755"},{"n":"尘白禁区","v":"778"},{"n":"古魂","v":"759"},{"n":"鬼泣-巅峰之战","v":"470"},{"n":"奇点时代","v":"762"},{"n":"香肠派对","v":"689"},{"n":"猫之城","v":"645"},{"n":"高能英雄","v":"783"},{"n":"使命召唤手游","v":"386"},{"n":"崩坏3","v":"40"},{"n":"银河境界线","v":"793"},{"n":"蔚蓝档案","v":"787"},{"n":"第七史诗","v":"784"},{"n":"游戏王:决斗链接","v":"407"},{"n":"游戏王","v":"303"},{"n":"JJ斗地主","v":"724"},{"n":"阴阳师","v":"36"},{"n":"欢乐斗地主","v":"719"},{"n":"太空行动","v":"791"},{"n":"空之要塞:启航","v":"718"},{"n":"长安幻想","v":"738"},{"n":"火影忍者手游","v":"292"},{"n":"Fate/GO","v":"37"},{"n":"综合棋牌","v":"354"},{"n":"QQ飞车手游","v":"154"},{"n":"决战!平安京","v":"140"},{"n":"狼人杀","v":"41"},{"n":"三国杀移动版","v":"352"},{"n":"碧蓝航线","v":"113"},{"n":"影之诗","v":"156"},{"n":"明日之后","v":"189"},{"n":"重返未来:1999","v":"761"},{"n":"环行旅舍","v":"786"},{"n":"幻世与冒险","v":"813"},{"n":"部落冲突:皇室战争","v":"50"},{"n":"奥比岛手游","v":"661"},{"n":"弹弹堂","v":"734"},{"n":"雀姬","v":"214"},{"n":"公主连结Re:Dive","v":"330"},{"n":"DNF手游","v":"343"},{"n":"FIFA足球世界","v":"641"},{"n":"BanGDream","v":"258"},{"n":"荒野乱斗","v":"469"},{"n":"CF手游","v":"333"},{"n":"战双帕弥什","v":"293"},{"n":"天涯明月刀手游","v":"389"},{"n":"一拳超人:世界","v":"779"},{"n":"解密游戏","v":"42"},{"n":"恋爱养成游戏","v":"576"},{"n":"暗黑破坏神:不朽","v":"492"},{"n":"暗区突围","v":"502"},{"n":"跑跑卡丁车手游","v":"265"},{"n":"非人学园","v":"212"},{"n":"百闻牌","v":"286"},{"n":"猫和老鼠手游","v":"269"},{"n":"坎公骑冠剑","v":"442"},{"n":"忍者必须死3","v":"203"},{"n":"梦幻西游手游","v":"342"},{"n":"航海王热血航线","v":"504"},{"n":"少女前线","v":"39"},{"n":"300大作战","v":"688"},{"n":"少女前线:云图计划","v":"525"},{"n":"漫威超级战争","v":"478"},{"n":"摩尔庄园手游","v":"464"},{"n":"宝可梦大集结","v":"493"},{"n":"小动物之星","v":"473"},{"n":"天地劫:幽城再临","v":"448"},{"n":"漫威对决","v":"511"},{"n":"东方归言录","v":"538"},{"n":"梦幻模拟战","v":"178"},{"n":"时空猎人3","v":"643"},{"n":"重返帝国","v":"613"},{"n":"休闲小游戏","v":"679"},{"n":"其他手游","v":"98"},{"n":"新游评测","v":"274"},{"n":"山海镜花","v":"821"},{"n":"小冰冰传奇","v":"824"}]}], + "6":[{"key":"area","name":"分区","value":[{"n":"主机游戏","v":"236"},{"n":"我的世界","v":"216"},{"n":"独立游戏","v":"283"},{"n":"怀旧游戏","v":"237"},{"n":"猛兽派对","v":"384"},{"n":"赛博朋克2077","v":"402"},{"n":"星空","v":"808"},{"n":"塞尔达传说","v":"308"},{"n":"苍翼:混沌效应","v":"798"},{"n":"命运2","v":"277"},{"n":"收获日3","v":"811"},{"n":"FC24","v":"830"},{"n":"机战佣兵VI境界天火","v":"800"},{"n":"暗黑破坏神Ⅳ","v":"780"},{"n":"匹诺曹的谎言","v":"812"},{"n":"博德之门3","v":"385"},{"n":"绝世好武功","v":"801"},{"n":"恐怖游戏","v":"276"},{"n":"DarkandDarker","v":"795"},{"n":"Warlander","v":"785"},{"n":"FORZA极限竞速","v":"302"},{"n":"边境","v":"763"},{"n":"生化危机","v":"721"},{"n":"最终幻想","v":"328"},{"n":"暗黑破坏神","v":"535"},{"n":"森林之子","v":"751"},{"n":"卧龙:苍天陨落","v":"700"},{"n":"红色警戒2","v":"693"},{"n":"策略游戏","v":"570"},{"n":"禁闭求生","v":"707"},{"n":"战神","v":"579"},{"n":"斯普拉遁3","v":"694"},{"n":"使命召唤19","v":"282"},{"n":"艾尔登法环","v":"555"},{"n":"聚会游戏","v":"636"},{"n":"DreadHunger","v":"591"},{"n":"战地风云","v":"597"},{"n":"糖豆人","v":"357"},{"n":"消逝的光芒2","v":"586"},{"n":"只狼","v":"245"},{"n":"怪物猎人","v":"578"},{"n":"宝可梦集换式卡牌游戏","v":"720"},{"n":"饥荒","v":"218"},{"n":"精灵宝可梦","v":"228"},{"n":"FIFA23","v":"708"},{"n":"全面战争:战锤3","v":"594"},{"n":"NBA2K","v":"362"},{"n":"帝国时代4","v":"548"},{"n":"植物大战僵尸","v":"309"},{"n":"格斗游戏","v":"433"},{"n":"荒野大镖客2","v":"226"},{"n":"重生细胞","v":"426"},{"n":"刺客信条","v":"227"},{"n":"恐鬼症","v":"387"},{"n":"以撒","v":"219"},{"n":"双人成行","v":"446"},{"n":"方舟","v":"295"},{"n":"仁王2","v":"313"},{"n":"鬼泣5","v":"244"},{"n":"枪火重生","v":"364"},{"n":"盗贼之海","v":"341"},{"n":"胡闹厨房","v":"507"},{"n":"体育游戏","v":"500"},{"n":"全境封锁2","v":"243"},{"n":"骑马与砍杀","v":"326"},{"n":"人类一败涂地","v":"270"},{"n":"无主之地3","v":"273"},{"n":"辐射76","v":"220"},{"n":"全面战争","v":"257"},{"n":"文字游戏","v":"583"},{"n":"恋爱模拟游戏","v":"592"},{"n":"泰拉瑞亚","v":"593"},{"n":"游戏速通","v":"678"},{"n":"Roblox","v":"753"},{"n":"雀魂麻将","v":"803"},{"n":"德州电锯","v":"834"},{"n":"其他单机","v":"235"}]}], + "1":[{"key":"area","name":"分区","value":[{"n":"聊天室","v":"740"},{"n":"视频唱见","v":"21"},{"n":"萌宅领域","v":"530"},{"n":"视频聊天","v":"145"},{"n":"舞见","v":"207"}]}], + "5":[{"key":"area","name":"分区","value":[{"n":"唱见电台","v":"190"},{"n":"聊天电台","v":"192"},{"n":"甜宠电台","v":"817"}]}], + "9":[{"key":"area","name":"分区","value":[{"n":"TopStar","v":"743"},{"n":"虚拟Singer","v":"744"},{"n":"虚拟Gamer","v":"745"},{"n":"虚拟声优","v":"746"},{"n":"虚拟日常","v":"371"},{"n":"虚拟APEX","v":"789"},{"n":"虚拟PK","v":"775"}]}], + "14":[{"key":"area","name":"分区","value":[{"n":"交友","v":"818"},{"n":"点唱","v":"819"},{"n":"兴趣","v":"820"}]}], + "11":[{"key":"area","name":"分区","value":[{"n":"社科法律心理","v":"376"},{"n":"人文历史","v":"702"},{"n":"校园学习","v":"372"},{"n":"职场·技能","v":"377"},{"n":"科技","v":"375"},{"n":"科学科普","v":"701"}]}], + "13":[{"key":"area","name":"分区","value":[{"n":"游戏赛事","v":"561"},{"n":"体育赛事","v":"562"},{"n":"赛事综合","v":"563"}]}], + "301":[{"key":"area","name":"分区","value":[{"n":"热门帮玩","v":"301000"},{"n":"手游帮玩","v":"301002"},{"n":"网游帮玩","v":"301003"},{"n":"单机帮玩","v":"301004"}]}], + "15":[{"key":"area","name":"分区","value":[{"n":"兵临城下","v":"814"},{"n":"功夫狂飙","v":"833"},{"n":"竞技玩法","v":"815"},{"n":"休闲玩法","v":"816"}]}] + }, + detailUrl:'https://live.bilibili.com/fyid',//二级详情拼接链接(json格式用) + // detailUrl:'https://api.live.bilibili.com/xlive/web-room/v1/playUrl/playUrl?cid=fyid&platform=h5&otype=json&quality=0',//二级详情拼接链接(json格式用) + // searchUrl:'/x/web-interface/search/type?__refresh__=true&page=fypage&page_size=42&order=online&platform=pc&highlight=1&single_column=0&keyword=**&search_type=live&dynamic_offset=0&preload=true', + searchUrl:'https://api.bilibili.com/x/web-interface/search/type?search_type=live&keyword=**&page=fypage', + searchable:2, + quickSearch:0, + headers:{ + "User-Agent":"PC_UA", + "Referer": "https://www.bilibili.com", + // "Cookie":"$bili_cookie" + "Cookie":"https://ghproxy.net/https://raw.githubusercontent.com/FongMi/CatVodSpider/main/txt/cookie.txt" + }, + timeout:5000, + limit:8, + play_parse:true, + // play_json:[{re:'*', json:{jx:0, parse:1,header:JSON.stringify({"user-agent":"Mozilla/5.0 (Linux; U; Android 9; zh-CN; MI 9 Build/PKQ1.181121.001) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0.2987.108 UCBrowser/12.5.5.1035 Mobile Safari/537.36"})}}], + // play_json:[{re:'*', json:{jx:0, parse:1,header:JSON.stringify({"user-agent":"uc_ua"})}}], + // play_json:0, + lazy:`js: + let ids = input.split('_'); + let dan = 'https://api.bilibili.com/x/v1/dm/list.so?oid=' + ids[1]; + let result = {}; + let iurl = 'https://api.live.bilibili.com/room/v1/Room/playUrl?cid=' + ids[1] + '&' + ids[0]; + let html = request(iurl); + let jRoot = JSON.parse(html); + let jo = jRoot['data']; + let ja = jo['durl']; + let purl = ''; + if (ja.length > 0) { + purl = ja[0]['url'] + } + result['parse'] = 0; + result['playUrl'] = ''; + result['url'] = unescape(purl); + result['header'] = { + Referer: 'https://live.bilibili.com', + 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36' + }; + result['danmaku'] = dan; + if (/h5/.test(ids[0])) { + result['contentType'] = ''; + input = result + } else { + result['contentType'] = 'video/x-flv'; + input = result + } + `, + double:false, + 推荐:'*', + 一级:'json:data.list;title;system_cover;uname;roomid', + // 二级:'*', + 二级:"js:let aid=input.match(/\\/(\\d+)/)[1];log(aid);let html=request('https://api.live.bilibili.com/room/v1/Room/get_info?room_id='+aid);let jo=JSON.parse(html).data;let title=jo['title'];let pic=jo['keyframe'];let desc=jo['description'];let dire=jo['uid'];let typeName=jo['area_name'];let remark='在线人数:'+jo['online'];let vod={vod_id:aid,vod_name:title,vod_pic:pic,type_name:typeName,vod_area:'bililivedanmu',vod_remarks:remark,vod_actor:'直播间id-'+aid,vod_director:dire,vod_content:desc};vod['vod_play_from']='B站';vod['vod_play_url']='flv线路原画$platform=web&quality=4_'+aid+'#flv线路高清$platform=web&quality=3_'+aid+'#h5线路原画$platform=h5&quality=4_'+aid+'#h5线路高清$platform=h5&quality=3_'+aid;VOD=vod;", + // 搜索:'json:data.result.live_room;title;cover;uname;roomid', + 搜索:'js:let html=request(input);let msg=JSON.parse(html).message;if(msg!=="0"){VODS=[{vod_name:KEY+"➢"+msg,vod_id:"no_data",vod_remarks:"别点,缺少bili_cookie",vod_pic:"https://ghproxy.net/https://raw.githubusercontent.com/hjdhnx/dr_py/main/404.jpg"}]}else{let videos=[];let vodList=JSON.parse(html).data.result.live_room;vodList.forEach(function(vod){let aid=vod["roomid"];let title="直播间:"+vod["title"].replace(\'\',"").replace("","");let img="https:"+vod["user_cover"];let remark=vod["watched_show"]["text_small"]+" "+vod["uname"];videos.push({vod_id:aid,vod_name:title,vod_pic:img,vod_remarks:remark})});VODS=videos}', + // 预处理:'if(rule_fetch_params.headers.Cookie.startsWith("http")){rule_fetch_params.headers.Cookie=fetch(rule_fetch_params.headers.Cookie);setItem(RULE_CK,cookie)};log(rule_fetch_params.headers.Cookie)', +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/香雅情/js/奇珍异兽.js b/tvboxqq/tvboxqq/香雅情/js/奇珍异兽.js new file mode 100644 index 0000000..c67ae3d --- /dev/null +++ b/tvboxqq/tvboxqq/香雅情/js/奇珍异兽.js @@ -0,0 +1,39 @@ +var rule = { + title:'奇珍异兽', + host:'https://www.iqiyi.com', + homeUrl:'', + // detailUrl:'https://pcw-api.iqiyi.com/albums/album/avlistinfo?aid=fyid&size=2000&page=1', + detailUrl:'https://pcw-api.iqiyi.com/video/video/videoinfowithuser/fyid?agent_type=1&authcookie=&subkey=fyid&subscribe=1', + searchUrl:'https://search.video.iqiyi.com/o?if=html5&key=**&pageNum=fypage&pos=1&pageSize=24&site=iqiyi', + searchable:2, + multi:1, + filterable:1, + filter:{'1': [{'key': 'mode', 'name': '综合排序', 'value': [{'n': '全部', 'v': ''}, {'n': '热播榜', 'v': 11}, {'n': '好评榜', 'v': 8}, {'n': '新上线', 'v': 4}]}, {'key': 'year', 'name': '全部年份', 'value': [{'n': '全部', 'v': ''}, {'n': '2023', 'v': 2023}, {'n': '2022', 'v': 2022}, {'n': '2021', 'v': 2021}, {'n': '2020', 'v': 2020}, {'n': '2019', 'v': 2019}, {'n': '2018', 'v': 2018}, {'n': '2017', 'v': 2017}, {'n': '2016-2011', 'v': '2011_2016'}, {'n': '2010-2000', 'v': '2000_2010'}, {'n': '90年代', 'v': '1990_1999'}, {'n': '80年代', 'v': '1980_1989'}, {'n': '更早', 'v': '1964_1979'}]}, {'key': 'is_purchase', 'name': '全部资费', 'value': [{'n': '全部', 'v': ''}, {'n': '免费', 'v': 0}, {'n': '会员', 'v': 1}, {'n': '付费', 'v': 2}]}, {'key': 'three_category_id', 'name': '地区', 'value': [{'n': '全部', 'v': ''}, {'n': '华语', 'v': 1}, {'n': '香港地区', 'v': 28997}, {'n': '美国', 'v': 2}, {'n': '欧洲', 'v': 3}, {'n': '韩国', 'v': 4}, {'n': '日本', 'v': 308}, {'n': '泰国', 'v': 1115}, {'n': '印度', 'v': 28999}, {'n': '其它', 'v': 5}]}, {'key': '18001', 'name': '类型', 'value': [{'n': '全部', 'v': ''}, {'n': '喜剧', 'v': 8}, {'n': '爱情', 'v': 6}, {'n': '动作', 'v': 11}, {'n': '枪战', 'v': 131}, {'n': '犯罪', 'v': 291}, {'n': '惊悚', 'v': 128}, {'n': '恐怖', 'v': 10}, {'n': '悬疑', 'v': 289}, {'n': '动画', 'v': 12}, {'n': '家庭', 'v': 27356}, {'n': '奇幻', 'v': 1284}, {'n': '魔幻', 'v': 129}, {'n': '科幻', 'v': 9}, {'n': '战争', 'v': 7}, {'n': '青春', 'v': 130}]}, {'key': '27396', 'name': '规格', 'value': [{'n': '全部', 'v': ''}, {'n': '巨制', 'v': 27397}, {'n': '院线', 'v': 27815}, {'n': '独播', 'v': 30149}, {'n': '网络电影', 'v': 27401}]}], '2': [{'key': 'mode', 'name': '综合排序', 'value': [{'n': '全部', 'v': ''}, {'n': '热播榜', 'v': 11}, {'n': '好评榜', 'v': 8}, {'n': '新上线', 'v': 4}]}, {'key': 'year', 'name': '全部年份', 'value': [{'n': '全部', 'v': ''}, {'n': '2023', 'v': 2023}, {'n': '2022', 'v': 2022}, {'n': '2021', 'v': 2021}, {'n': '2020', 'v': 2020}, {'n': '2019', 'v': 2019}, {'n': '2018', 'v': 2018}, {'n': '2017', 'v': 2017}, {'n': '2016-2011', 'v': '2011_2016'}, {'n': '2010-2000', 'v': '2000_2010'}, {'n': '90年代', 'v': '1990_1999'}, {'n': '80年代', 'v': '1980_1989'}, {'n': '更早', 'v': '1964_1979'}]}, {'key': 'is_purchase', 'name': '全部资费', 'value': [{'n': '全部', 'v': ''}, {'n': '免费', 'v': 0}, {'n': '会员', 'v': 1}, {'n': '付费', 'v': 2}]}, {'key': 'three_category_id', 'name': '地区', 'value': [{'n': '全部', 'v': ''}, {'n': '内地', 'v': 15}, {'n': '港剧', 'v': 16}, {'n': '韩剧', 'v': 17}, {'n': '美剧', 'v': 18}, {'n': '日剧', 'v': 309}, {'n': '泰剧', 'v': 1114}, {'n': '台湾地区', 'v': 1117}, {'n': '英剧', 'v': 28916}, {'n': '其它', 'v': 19}]}, {'key': '18003', 'name': '类型', 'value': [{'n': '全部', 'v': ''}, {'n': '自制', 'v': 11992}, {'n': '古装', 'v': 24}, {'n': '言情', 'v': 20}, {'n': '武侠', 'v': 23}, {'n': '偶像', 'v': 30}, {'n': '家庭', 'v': 1654}, {'n': '青春', 'v': 1653}, {'n': '都市', 'v': 24064}, {'n': '喜剧', 'v': 135}, {'n': '战争', 'v': 27916}, {'n': '军旅', 'v': 1655}, {'n': '谍战', 'v': 290}, {'n': '悬疑', 'v': 32}, {'n': '罪案', 'v': 149}, {'n': '穿越', 'v': 148}, {'n': '宫廷', 'v': 139}, {'n': '历史', 'v': 21}, {'n': '神话', 'v': 145}, {'n': '科幻', 'v': 34}, {'n': '年代', 'v': 27}, {'n': '农村', 'v': 29}, {'n': '商战', 'v': 140}, {'n': '剧情', 'v': 24063}, {'n': '奇幻', 'v': 27881}, {'n': '网剧', 'v': 24065}, {'n': '竖短片', 'v': 32839}]}], '3': [{'key': 'mode', 'name': '综合排序', 'value': [{'n': '全部', 'v': ''}, {'n': '热播榜', 'v': 11}, {'n': '好评榜', 'v': 8}, {'n': '新上线', 'v': 4}]}, {'key': 'year', 'name': '全部年份', 'value': [{'n': '全部', 'v': ''}, {'n': '2023', 'v': 2023}, {'n': '2022', 'v': 2022}, {'n': '2021', 'v': 2021}, {'n': '2020', 'v': 2020}, {'n': '2019', 'v': 2019}, {'n': '2018', 'v': 2018}, {'n': '2017', 'v': 2017}, {'n': '2016-2011', 'v': '2011_2016'}, {'n': '2010-2000', 'v': '2000_2010'}, {'n': '90年代', 'v': '1990_1999'}, {'n': '80年代', 'v': '1980_1989'}, {'n': '更早', 'v': '1964_1979'}]}, {'key': 'is_purchase', 'name': '全部资费', 'value': [{'n': '全部', 'v': ''}, {'n': '免费', 'v': 0}, {'n': '会员', 'v': 1}, {'n': '付费', 'v': 2}]}, {'key': 'three_category_id', 'name': '地区', 'value': [{'n': '全部', 'v': ''}, {'n': '国内', 'v': 20323}, {'n': '国外', 'v': 20324}]}, {'key': '18004', 'name': '类型', 'value': [{'n': '全部', 'v': ''}, {'n': '人文', 'v': 70}, {'n': '美食', 'v': 33908}, {'n': '医疗', 'v': 33924}, {'n': '自然', 'v': 33933}, {'n': '萌宠', 'v': 33945}, {'n': '财经', 'v': 33953}, {'n': '罪案', 'v': 33960}, {'n': '竞技', 'v': 33967}, {'n': '灾难', 'v': 33974}, {'n': '军事', 'v': 72}, {'n': '历史', 'v': 74}, {'n': '探险', 'v': 73}, {'n': '社会', 'v': 71}, {'n': '科技', 'v': 28119}, {'n': '旅游', 'v': 310}]}, {'key': '28467', 'name': '出品方', 'value': [{'n': '全部', 'v': ''}, {'n': 'BBC', 'v': 28468}, {'n': '美国历史频道', 'v': 28470}, {'n': '探索频道', 'v': 28471}, {'n': '央视记录', 'v': 28472}, {'n': '北京纪实频道', 'v': 28473}, {'n': '上海纪实频道', 'v': 28474}, {'n': '朗思文化', 'v': 28476}, {'n': 'CNEX', 'v': 28477}, {'n': '五星传奇', 'v': 28478}, {'n': 'IMG', 'v': 28479}, {'n': 'NHK', 'v': 28480}, {'n': '爱奇艺出品', 'v': 31283}, {'n': 'Netflix', 'v': 31286}]}, {'key': '29076', 'name': '片种', 'value': [{'n': '全部', 'v': ''}, {'n': '纪录电影', 'v': 29077}, {'n': '系列纪录片', 'v': 29078}, {'n': '网络纪录片', 'v': 29082}, {'n': '纪实栏目', 'v': 29083}]}, {'key': '31294', 'name': '时长', 'value': [{'n': '全部', 'v': ''}, {'n': '微纪录', 'v': 29079}, {'n': '长纪录', 'v': 29080}, {'n': '短纪录', 'v': 29081}]}], '4': [{'key': 'mode', 'name': '综合排序', 'value': [{'n': '全部', 'v': ''}, {'n': '热播榜', 'v': 11}, {'n': '好评榜', 'v': 8}, {'n': '新上线', 'v': 4}]}, {'key': 'year', 'name': '全部年份', 'value': [{'n': '全部', 'v': ''}, {'n': '2023', 'v': 2023}, {'n': '2022', 'v': 2022}, {'n': '2021', 'v': 2021}, {'n': '2020', 'v': 2020}, {'n': '2019', 'v': 2019}, {'n': '2018', 'v': 2018}, {'n': '2017', 'v': 2017}, {'n': '2016-2011', 'v': '2011_2016'}, {'n': '2010-2000', 'v': '2000_2010'}, {'n': '90年代', 'v': '1990_1999'}, {'n': '80年代', 'v': '1980_1989'}, {'n': '更早', 'v': '1964_1979'}]}, {'key': 'is_purchase', 'name': '全部资费', 'value': [{'n': '全部', 'v': ''}, {'n': '免费', 'v': 0}, {'n': '会员', 'v': 1}, {'n': '付费', 'v': 2}]}, {'key': 'three_category_id', 'name': '地区', 'value': [{'n': '全部', 'v': ''}, {'n': '中国大陆', 'v': 37}, {'n': '日本', 'v': 38}, {'n': '韩国', 'v': 1106}, {'n': '欧美', 'v': 30218}, {'n': '其它', 'v': 40}]}, {'key': '30219', 'name': '版本', 'value': [{'n': '全部', 'v': ''}, {'n': '动画', 'v': 30220}, {'n': '特摄', 'v': 30223}, {'n': '布袋戏', 'v': 30224}, {'n': '特别篇', 'v': 32782}, {'n': '动态漫画', 'v': 32783}, {'n': '动画电影', 'v': 32784}, {'n': '竖版视频', 'v': 32785}, {'n': '轻动画', 'v': 33482}, {'n': '短剧', 'v': 33483}]}, {'key': '30225', 'name': '风格', 'value': [{'n': '全部', 'v': ''}, {'n': '搞笑', 'v': 30230}, {'n': '热血', 'v': 30232}, {'n': '催泪', 'v': 30233}, {'n': '治愈', 'v': 30234}, {'n': '励志', 'v': 30237}, {'n': '机战', 'v': 30241}, {'n': '恋爱', 'v': 30243}, {'n': '科幻', 'v': 30245}, {'n': '奇幻', 'v': 30247}, {'n': '推理', 'v': 30248}, {'n': '校园', 'v': 30249}, {'n': '日常', 'v': 30252}, {'n': '历史', 'v': 30254}, {'n': '美食', 'v': 30255}, {'n': '职场', 'v': 30256}, {'n': '偶像', 'v': 30258}, {'n': '泡面', 'v': 30265}, {'n': '冒险', 'v': 30267}, {'n': '竞技', 'v': 30268}, {'n': '合家欢', 'v': 30270}, {'n': '武侠', 'v': 32792}, {'n': '玄幻', 'v': 32793}]}, {'key': '32795', 'name': '新类型', 'value': [{'n': '全部', 'v': ''}, {'n': '轻小说改编', 'v': 32796}, {'n': '漫画改编', 'v': 32797}, {'n': '游戏改编', 'v': 32798}, {'n': '原创', 'v': 32799}]}], '6': [{'key': 'mode', 'name': '综合排序', 'value': [{'n': '全部', 'v': ''}, {'n': '热播榜', 'v': 11}, {'n': '好评榜', 'v': 8}, {'n': '新上线', 'v': 4}]}, {'key': 'year', 'name': '全部年份', 'value': [{'n': '全部', 'v': ''}, {'n': '2023', 'v': 2023}, {'n': '2022', 'v': 2022}, {'n': '2021', 'v': 2021}, {'n': '2020', 'v': 2020}, {'n': '2019', 'v': 2019}, {'n': '2018', 'v': 2018}, {'n': '2017', 'v': 2017}, {'n': '2016-2011', 'v': '2011_2016'}, {'n': '2010-2000', 'v': '2000_2010'}, {'n': '90年代', 'v': '1990_1999'}, {'n': '80年代', 'v': '1980_1989'}, {'n': '更早', 'v': '1964_1979'}]}, {'key': 'is_purchase', 'name': '全部资费', 'value': [{'n': '全部', 'v': ''}, {'n': '免费', 'v': 0}, {'n': '会员', 'v': 1}, {'n': '付费', 'v': 2}]}, {'key': 'three_category_id', 'name': '地区', 'value': [{'n': '全部', 'v': ''}, {'n': '内地', 'v': 151}, {'n': '港台', 'v': 152}, {'n': '韩国', 'v': 33306}, {'n': '欧美', 'v': 154}, {'n': '其它', 'v': 1113}]}, {'key': '18014', 'name': '类型', 'value': [{'n': '全部', 'v': ''}, {'n': '播报', 'v': 155}, {'n': '访谈', 'v': 156}, {'n': '游戏', 'v': 158}, {'n': '晚会', 'v': 292}, {'n': '曲艺', 'v': 293}, {'n': '脱口秀', 'v': 2118}, {'n': '真人秀', 'v': 2224}, {'n': '竞技', 'v': 30278}, {'n': '爱奇艺出品', 'v': 30279}, {'n': '竞演', 'v': 33860}]}, {'key': '33162', 'name': '题材', 'value': [{'n': '全部', 'v': ''}, {'n': '音乐', 'v': 33163}, {'n': '舞蹈', 'v': 33172}, {'n': '文化', 'v': 33173}, {'n': '美食', 'v': 33182}, {'n': '伦理', 'v': 33184}, {'n': '相亲', 'v': 33193}, {'n': '纪实', 'v': 33195}, {'n': '生活', 'v': 33196}, {'n': '亲子', 'v': 33197}, {'n': '少儿', 'v': 33198}, {'n': '财经', 'v': 33199}, {'n': '健康', 'v': 33200}, {'n': '时尚', 'v': 33203}, {'n': '旅游', 'v': 33205}, {'n': '教育', 'v': 33206}, {'n': '其它', 'v': 33220}, {'n': '爱情', 'v': 33316}, {'n': '搞笑', 'v': 33317}, {'n': '益智', 'v': 33318}, {'n': '职场', 'v': 33319}, {'n': '语言', 'v': 33530}, {'n': '辩论', 'v': 33531}, {'n': '演讲', 'v': 33843}]}], '5': [{'key': 'mode', 'name': '综合排序', 'value': [{'n': '全部', 'v': ''}, {'n': '热播榜', 'v': 11}, {'n': '好评榜', 'v': 8}, {'n': '新上线', 'v': 4}]}, {'key': 'year', 'name': '全部年份', 'value': [{'n': '全部', 'v': ''}, {'n': '2023', 'v': 2023}, {'n': '2022', 'v': 2022}, {'n': '2021', 'v': 2021}, {'n': '2020', 'v': 2020}, {'n': '2019', 'v': 2019}, {'n': '2018', 'v': 2018}, {'n': '2017', 'v': 2017}, {'n': '2016-2011', 'v': '2011_2016'}, {'n': '2010-2000', 'v': '2000_2010'}, {'n': '90年代', 'v': '1990_1999'}, {'n': '80年代', 'v': '1980_1989'}, {'n': '更早', 'v': '1964_1979'}]}, {'key': 'is_purchase', 'name': '全部资费', 'value': [{'n': '全部', 'v': ''}, {'n': '免费', 'v': 0}, {'n': '会员', 'v': 1}, {'n': '付费', 'v': 2}]}, {'key': 'three_category_id', 'name': '地区', 'value': [{'n': '全部', 'v': ''}, {'n': '内地', 'v': 221}, {'n': '港台', 'v': 220}, {'n': '欧美', 'v': 219}, {'n': '日韩', 'v': 218}, {'n': '拉美', 'v': 217}, {'n': '亚洲地区', 'v': 216}, {'n': '非洲', 'v': 215}]}, {'key': '18009', 'name': '语种', 'value': [{'n': '全部', 'v': ''}, {'n': '普通话', 'v': 91}, {'n': '粤语', 'v': 92}, {'n': '闽南语', 'v': 93}, {'n': '英语', 'v': 94}, {'n': '日语', 'v': 95}, {'n': '韩语', 'v': 96}, {'n': '其它', 'v': 97}]}, {'key': '23554', 'name': '音乐类型', 'value': [{'n': '全部', 'v': ''}, {'n': '单曲MV', 'v': 23556}, {'n': '单曲现场', 'v': 23557}, {'n': '演唱会', 'v': 23558}, {'n': '新闻', 'v': 23559}, {'n': '访谈', 'v': 23560}, {'n': '音乐记录', 'v': 23561}, {'n': '音乐周边', 'v': 23562}, {'n': '音乐节目', 'v': 23563}, {'n': '影视原声', 'v': 23564}, {'n': '音乐短片', 'v': 23565}, {'n': '其他', 'v': 23566}]}], '16': [{'key': 'mode', 'name': '综合排序', 'value': [{'n': '全部', 'v': ''}, {'n': '热播榜', 'v': 11}, {'n': '好评榜', 'v': 8}, {'n': '新上线', 'v': 4}]}, {'key': 'year', 'name': '全部年份', 'value': [{'n': '全部', 'v': ''}, {'n': '2023', 'v': 2023}, {'n': '2022', 'v': 2022}, {'n': '2021', 'v': 2021}, {'n': '2020', 'v': 2020}, {'n': '2019', 'v': 2019}, {'n': '2018', 'v': 2018}, {'n': '2017', 'v': 2017}, {'n': '2016-2011', 'v': '2011_2016'}, {'n': '2010-2000', 'v': '2000_2010'}, {'n': '90年代', 'v': '1990_1999'}, {'n': '80年代', 'v': '1980_1989'}, {'n': '更早', 'v': '1964_1979'}]}, {'key': 'is_purchase', 'name': '全部资费', 'value': [{'n': '全部', 'v': ''}, {'n': '免费', 'v': 0}, {'n': '会员', 'v': 1}, {'n': '付费', 'v': 2}]}, {'key': '18061', 'name': '类型', 'value': [{'n': '全部', 'v': ''}, {'n': '喜剧', 'v': 1296}, {'n': '爱情', 'v': 1297}, {'n': '动作', 'v': 1298}, {'n': '奇幻', 'v': 1299}, {'n': '惊悚', 'v': 1300}, {'n': '悬疑', 'v': 1301}, {'n': '青春', 'v': 1302}]}]}, + // url:'https://pcw-api.iqiyi.com/search/recommend/list?channel_id=fyclass&data_type=1&is_purchase=&mode=24&page_id=fypage&ret_num=48&three_category_id=', + url:'https://pcw-api.iqiyi.com/search/recommend/list?channel_id=fyclass&data_type=1&page_id=fypage&ret_num=48', + filter_url:'is_purchase={{fl.is_purchase}}&mode={{fl.mode}}&three_category_id={{fl.three_category_id}}&market_release_date_level={{fl.year}}', + // url:'https://pcw-api.iqiyi.com/search/video/videolists?channel_id=fyclass&pageNum=fypage&pageSize=24&data_type=1&site=iqiyi', + headers:{ + 'User-Agent':'MOBILE_UA' + }, + timeout:5000, + class_name:'电影&电视剧&纪录片&动漫&综艺&音乐&网络电影', + class_url:'1&2&3&4&6&5&16', + limit:20, + // play_parse:true, + // 手动调用解析请求json的url,此lazy不方便 + // lazy:'js:input="https://cache.json.icu/home/api?type=ys&uid=292796&key=fnoryABDEFJNPQV269&url="+input.split("?")[0];log(input);let html=JSON.parse(request(input));log(html);input=html.url||input', + // 推荐:'.list_item;img&&alt;img&&src;a&&Text;a&&data-float', + // 一级:'json:.data.list;.name;.imageUrl;.latestOrder;.albumId', + 推荐:'', + // 推荐:'js:let d=[];fetch_params.headers["user-agent"]=PC_UA;pdfh=jsp.pdfh;pdfa=jsp.pdfa;pd=jsp.pd;let html=fetch(HOST,fetch_params);let lists=pdfa(html,".qy-mod-li");lists.forEach(function(it){try{let title=pdfh(it,"p.sub&&title");let desc=pdfh(it,".qy-mod-label&&Text");let pic_url=pd(it,"img&&src");d.push({title:title,desc:desc,img:pic_url})}catch(e){}});res=setResult(d);', + 一级:'js:let d=[];if(MY_CATE==="16"){input=input.replace("channel_id=16","channel_id=1").split("three_category_id")[0];input+="three_category_id=27401"}else if(MY_CATE==="5"){input=input.replace("data_type=1","data_type=2")}let html=request(input);let json=JSON.parse(html);if(json.code==="A00003"){fetch_params.headers["user-agent"]=PC_UA;json=JSON.parse(fetch(input,fetch_params))}json.data.list.forEach(function(data){if(data.channelId===1){desc=data.hasOwnProperty("score")?data.score+"分\\t":""}else if(data.channelId===2||data.channelId===4){if(data.latestOrder===data.videoCount){desc=(data.hasOwnProperty("score")?data.score+"分\\t":"")+data.latestOrder+"集全"}else{if(data.videoCount){desc=(data.hasOwnProperty("score")?data.score+"分\\t":"")+data.latestOrder+"/"+data.videoCount+"集"}else{desc="更新至 "+data.latestOrder+"集"}}}else if(data.channelId===6){desc=data.period+"期"}else if(data.channelId===5){desc=data.focus}else{if(data.latestOrder){desc="更新至 第"+data.latestOrder+"期"}else if(data.period){desc=data.period}else{desc=data.focus}}url=MY_CATE+"$"+data.albumId;d.push({url:url,title:data.name,desc:desc,pic_url:data.imageUrl.replace(".jpg","_390_520.jpg?caplist=jpg,webp")})});setResult(d);', + // 一级:'js:let d=[];if(MY_CATE==="16"){input=input.replace("channel_id=16","channel_id=1").split("three_category_id")[0];input+="three_category_id=27401"}else if(MY_CATE==="5"){input=input.replace("data_type=1","data_type=2")}let html=fetch(input,fetch_params);let json=JSON.parse(html);if(json.code==="A00003"){fetch_params.headers["user-agent"]=PC_UA;json=JSON.parse(fetch(input,fetch_params))}json.data.list.forEach(function(data){if(data.channelId===1){desc=data.hasOwnProperty("score")?data.score+"分\\t":""}else if(data.channelId===2||data.channelId===4){if(data.latestOrder===data.videoCount){desc=(data.hasOwnProperty("score")?data.score+"分\\t":"")+data.latestOrder+"集全"}else{if(data.videoCount){desc=(data.hasOwnProperty("score")?data.score+"分\\t":"")+data.latestOrder+"/"+data.videoCount+"集"}else{desc="更新至 "+data.latestOrder+"集"}}}else if(data.channelId===6){desc=data.period+"期"}else if(data.channelId===5){desc=data.focus}else{if(data.latestOrder){desc="更新至 第"+data.latestOrder+"期"}else if(data.period){desc=data.period}else{desc=data.focus}}url=MY_CATE+"$"+data.albumId;d.push({url:url,title:data.name,desc:desc,pic_url:data.imageUrl.replace(".jpg","_390_520.jpg?caplist=jpg,webp")})});setResult(d);', + // 一级:'json:.data.list;.name;.imageUrl;.playUrl;.latestOrder', + // 二级:{is_json:1,"title":"data.title;data.moviecategory[0]+data.moviecategory[1]","img":"data.cdncover","desc":"data.area[0];data.director[0]","content":"data.description","tabs":"data.playlink_sites;data.playlinksdetail.#idv.quality","lists":"data.playlinksdetail.#idv.default_url"}, + // 二级:{is_json:1,"title":"data.name+data.subtitle;data.latestOrder","img":"data.imageUrl","desc":"data.categories;data.areas","content":"data.description","tabs":"data.name","lists":"data.playlinksdetail.#idv.default_url"}, + 二级:'', + 二级:'js:let d=[];let html=request(input);let json=JSON.parse(html).data;VOD={vod_id:"",vod_url:input,vod_name:"",type_name:"",vod_actor:"",vod_year:"",vod_director:"",vod_area:"",vod_content:"",vod_remarks:"",vod_pic:""};VOD.vod_name=json.name;try{if(json.latestOrder){VOD.vod_remarks="类型: "+(json.categories[0].name||"")+"\\t"+(json.categories[1].name||"")+"\\t"+(json.categories[2].name||"")+"\\t"+"评分:"+(json.score||"")+"\\n更新至:第"+json.latestOrder+"集(期)/共"+json.videoCount+"集(期)"}else{VOD.vod_remarks="类型: "+(json.categories[0].name||"")+"\\t"+(json.categories[1].name||"")+"\\t"+(json.categories[2].name||"")+"\\t"+"评分:"+(json.score||"")+json.period}}catch(e){VOD.vod_remarks=json.subtitle}VOD.vod_area=(json.focus||"")+"\\n资费:"+(json.payMark===1?"VIP":"免费")+"\\n地区:"+(json.areas||"");let vsize="579_772";try{vsize=json.imageSize[12]}catch(e){}VOD.vod_pic=json.imageUrl.replace(".jpg","_"+vsize+".jpg?caplist=jpg,webp");VOD.type_name=json.categories.map(function(it){return it.name}).join(",");if(json.people.main_charactor){let vod_actors=[];json.people.main_charactor.forEach(function(it){vod_actors.push(it.name)});VOD.vod_actor=vod_actors.join(",")}VOD.vod_content=json.description;let playlists=[];if(json.channelId===1||json.channelId===5){playlists=[{playUrl:json.playUrl,imageUrl:json.imageUrl,shortTitle:json.shortTitle,focus:json.focus,period:json.period}]}else{if(json.channelId===6){let qs=json.period.split("-")[0];let listUrl="https://pcw-api.iqiyi.com/album/source/svlistinfo?cid=6&sourceid="+json.albumId+"&timelist="+qs;let playData=JSON.parse(request(listUrl)).data[qs];playData.forEach(function(it){playlists.push({playUrl:it.playUrl,imageUrl:it.imageUrl,shortTitle:it.shortTitle,focus:it.focus,period:it.period})})}else{let listUrl="https://pcw-api.iqiyi.com/albums/album/avlistinfo?aid="+json.albumId+"&size=200&page=1";let data=JSON.parse(request(listUrl)).data;let total=data.total;playlists=data.epsodelist;if(total>200){for(let i=2;i200){for(let i=2;i0?json.data.list[0].url:json.data.series[0].url;if(!/^http/.test(ourl)){ourl=host+ourl}fetch_params.headers["User-Agent"]=MOBILE_UA;html=request(ourl);if(html.includes("window.location =")){print("开始获取ourl");ourl=pdfh(html,"meta[http-equiv=refresh]&&content").split("url=")[1];print("获取到ourl:"+ourl);html=request(ourl)}try{let details=pdfh(html,".m-details&&Html").replace(/h1>/,"h6>").replace(/div/g,"br");print(details);let actor="",director="",time="";if(/播出时间/.test(details)){actor=pdfh(html,"p:eq(5)&&Text").substr(0,25);director=pdfh(html,"p:eq(4)&&Text");time=pdfh(html,"p:eq(3)&&Text")}else{actor=pdfh(html,"p:eq(4)&&Text").substr(0,25);director=pdfh(html,"p:eq(3)&&Text");time="已完结"}let _img=pd(html,".video-img&&img&&src");let JJ=pdfh(html,".desc&&Text").split("简介:")[1];let _desc=time;VOD.vod_name=pdfh(html,".vt-txt&&Text");VOD.type_name=pdfh(html,"p:eq(0)&&Text").substr(0,6);VOD.vod_area=pdfh(html,"p:eq(1)&&Text");VOD.vod_actor=actor;VOD.vod_director=director;VOD.vod_remarks=_desc;VOD.vod_pic=_img;VOD.vod_content=JJ}catch(e){log("获取影片信息发生错误:"+e.message)}function getRjpg(imgUrl,xs){xs=xs||3;let picSize=/jpg_/.test(imgUrl)?imgUrl.split("jpg_")[1].split(".")[0]:false;let rjpg=false;if(picSize){let a=parseInt(picSize.split("x")[0])*xs;let b=parseInt(picSize.split("x")[1])*xs;rjpg=a+"x"+b+".jpg"}let img=/jpg_/.test(imgUrl)&&rjpg?imgUrl.replace(imgUrl.split("jpg_")[1],rjpg):imgUrl;return img}if(json.data.total===1&&json.data.list.length===1){let data=json.data.list[0];let url="https://www.mgtv.com"+data.url;d.push({title:data.t4,desc:data.t2,pic_url:getRjpg(data.img),url:url})}else if(json.data.list.length>1){for(let i=1;i<=json.data.total_page;i++){if(i>1){json=JSON.parse(fetch(input.replace("page=1","page="+i),{}))}json.data.list.forEach(function(data){let url="https://www.mgtv.com"+data.url;if(data.isIntact=="1"){d.push({title:data.t4,desc:data.t2,pic_url:getRjpg(data.img),url:url})}})}}else{print(input+"暂无片源")}VOD.vod_play_from="mgtv";VOD.vod_play_url=d.map(function(it){return it.title+"$"+it.url}).join("#");setResult(d);', + 搜索:'', + 搜索:"js:fetch_params.headers.Referer='https://www.mgtv.com';fetch_params.headers['User-Agent']=MOBILE_UA;let d=[];let html=request(input);let json=JSON.parse(html);json.data.contents.forEach(function(data){if(data.type&&data.type=='media'){let item=data.data[0];let desc=item.desc.join(',');let fyclass='';if(item.source==='imgo'){let img=item.img?item.img:'';try{fyclass=item.rpt.match(/idx=(.*?)&/)[1]+'$'}catch(e){fyclass=''}d.push({title:item.title.replace(/|<\\/B>/g,''),img:img,content:'',desc:desc,url:fyclass+item.url.match(/.*\\/(.*?)\\.html/)[1]})}}});setResult(d);", +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/香雅情/js/腾云驾雾.js b/tvboxqq/tvboxqq/香雅情/js/腾云驾雾.js new file mode 100644 index 0000000..45471b8 --- /dev/null +++ b/tvboxqq/tvboxqq/香雅情/js/腾云驾雾.js @@ -0,0 +1,41 @@ +var rule = { + title:'腾云驾雾', + host:'https://v.%71%71.com', + // homeUrl:'/channel/choice?listpage=1&channel=choice&sort=18&_all=1', + homeUrl:'/x/bu/pagesheet/list?_all=1&append=1&channel=choice&listpage=1&offset=0&pagesize=21&iarea=-1&sort=18', + detailUrl:'https://node.video.%71%71.com/x/api/float_vinfo2?cid=fyid', + // searchUrl:'https://node.video.%71%71.com/x/api/msearch?keyWord=**', + searchUrl:'https://pbaccess.video.%71%71.com/trpc.videosearch.smartboxServer.HttpRountRecall/Smartbox?query=**&appID=3172&appKey=lGhFIPeD3HsO9xEp&pageNum=(fypage-1)&pageSize=10', + // searchUrl:'http://s.video.qq.com/smartbox?plat=2&ver=0&num=29&otype=json&query=**', + searchable:2, + filterable:1, + multi:1, + // url:'/channel/fyclass?listpage=fypage&channel=fyclass&sort=18&_all=1', + url:'/x/bu/pagesheet/list?_all=1&append=1&channel=fyclass&listpage=1&offset=((fypage-1)*21)&pagesize=21&iarea=-1', + filter_url:'sort={{fl.sort or 18}}&year={{fl.year}}&pay={{fl.pay}}', + filter:{'choice': [{'key': 'sort', 'name': '排序', 'value': [{'n': '最热', 'v': '18'}, {'n': '最新', 'v': '19'}, {'n': '好评', 'v': '16'}, {'n': '高分好评', 'v': '21'}]}, {'key': 'pay', 'name': '资费', 'value': [{'n': '全部', 'v': '-1'}, {'n': '免费', 'v': '867'}, {'n': '会员', 'v': '6'}]}, {'key': 'year', 'name': '年代', 'value': [{'n': '全部', 'v': '-1'}, {'n': '2023', 'v': '2023'}, {'n': '2022', 'v': '2022'}, {'n': '2021', 'v': '2021'}, {'n': '2020', 'v': '2020'}, {'n': '2019', 'v': '2019'}, {'n': '2018', 'v': '2018'}, {'n': '2017', 'v': '2017'}, {'n': '2016', 'v': '2016'}, {'n': '2015', 'v': '2015'}]}], 'tv': [{'key': 'sort', 'name': '排序', 'value': [{'n': '最热', 'v': '18'}, {'n': '最新', 'v': '19'}, {'n': '好评', 'v': '16'}, {'n': '高分好评', 'v': '21'}]}, {'key': 'pay', 'name': '资费', 'value': [{'n': '全部', 'v': '-1'}, {'n': '免费', 'v': '867'}, {'n': '会员', 'v': '6'}]}, {'key': 'year', 'name': '年代', 'value': [{'n': '全部', 'v': '-1'}, {'n': '2023', 'v': '2023'}, {'n': '2022', 'v': '2022'}, {'n': '2021', 'v': '2021'}, {'n': '2020', 'v': '2020'}, {'n': '2019', 'v': '2019'}, {'n': '2018', 'v': '2018'}, {'n': '2017', 'v': '2017'}, {'n': '2016', 'v': '2016'}, {'n': '2015', 'v': '2015'}]}], 'movie': [{'key': 'sort', 'name': '排序', 'value': [{'n': '最热', 'v': '18'}, {'n': '最新', 'v': '19'}, {'n': '好评', 'v': '16'}, {'n': '高分好评', 'v': '21'}]}, {'key': 'pay', 'name': '资费', 'value': [{'n': '全部', 'v': '-1'}, {'n': '免费', 'v': '867'}, {'n': '会员', 'v': '6'}]}, {'key': 'year', 'name': '年代', 'value': [{'n': '全部', 'v': '-1'}, {'n': '2023', 'v': '2023'}, {'n': '2022', 'v': '2022'}, {'n': '2021', 'v': '2021'}, {'n': '2020', 'v': '2020'}, {'n': '2019', 'v': '2019'}, {'n': '2018', 'v': '2018'}, {'n': '2017', 'v': '2017'}, {'n': '2016', 'v': '2016'}, {'n': '2015', 'v': '2015'}]}], 'variety': [{'key': 'sort', 'name': '排序', 'value': [{'n': '最热', 'v': '18'}, {'n': '最新', 'v': '19'}, {'n': '好评', 'v': '16'}, {'n': '高分好评', 'v': '21'}]}, {'key': 'pay', 'name': '资费', 'value': [{'n': '全部', 'v': '-1'}, {'n': '免费', 'v': '867'}, {'n': '会员', 'v': '6'}]}, {'key': 'year', 'name': '年代', 'value': [{'n': '全部', 'v': '-1'}, {'n': '2023', 'v': '2023'}, {'n': '2022', 'v': '2022'}, {'n': '2021', 'v': '2021'}, {'n': '2020', 'v': '2020'}, {'n': '2019', 'v': '2019'}, {'n': '2018', 'v': '2018'}, {'n': '2017', 'v': '2017'}, {'n': '2016', 'v': '2016'}, {'n': '2015', 'v': '2015'}]}], 'cartoon': [{'key': 'sort', 'name': '排序', 'value': [{'n': '最热', 'v': '18'}, {'n': '最新', 'v': '19'}, {'n': '好评', 'v': '16'}, {'n': '高分好评', 'v': '21'}]}, {'key': 'pay', 'name': '资费', 'value': [{'n': '全部', 'v': '-1'}, {'n': '免费', 'v': '867'}, {'n': '会员', 'v': '6'}]}, {'key': 'year', 'name': '年代', 'value': [{'n': '全部', 'v': '-1'}, {'n': '2023', 'v': '2023'}, {'n': '2022', 'v': '2022'}, {'n': '2021', 'v': '2021'}, {'n': '2020', 'v': '2020'}, {'n': '2019', 'v': '2019'}, {'n': '2018', 'v': '2018'}, {'n': '2017', 'v': '2017'}, {'n': '2016', 'v': '2016'}, {'n': '2015', 'v': '2015'}]}], 'child': [{'key': 'sort', 'name': '排序', 'value': [{'n': '最热', 'v': '18'}, {'n': '最新', 'v': '19'}, {'n': '好评', 'v': '16'}, {'n': '高分好评', 'v': '21'}]}, {'key': 'pay', 'name': '资费', 'value': [{'n': '全部', 'v': '-1'}, {'n': '免费', 'v': '867'}, {'n': '会员', 'v': '6'}]}, {'key': 'year', 'name': '年代', 'value': [{'n': '全部', 'v': '-1'}, {'n': '2023', 'v': '2023'}, {'n': '2022', 'v': '2022'}, {'n': '2021', 'v': '2021'}, {'n': '2020', 'v': '2020'}, {'n': '2019', 'v': '2019'}, {'n': '2018', 'v': '2018'}, {'n': '2017', 'v': '2017'}, {'n': '2016', 'v': '2016'}, {'n': '2015', 'v': '2015'}]}], 'doco': [{'key': 'sort', 'name': '排序', 'value': [{'n': '最热', 'v': '18'}, {'n': '最新', 'v': '19'}, {'n': '好评', 'v': '16'}, {'n': '高分好评', 'v': '21'}]}, {'key': 'pay', 'name': '资费', 'value': [{'n': '全部', 'v': '-1'}, {'n': '免费', 'v': '867'}, {'n': '会员', 'v': '6'}]}, {'key': 'year', 'name': '年代', 'value': [{'n': '全部', 'v': '-1'}, {'n': '2023', 'v': '2023'}, {'n': '2022', 'v': '2022'}, {'n': '2021', 'v': '2021'}, {'n': '2020', 'v': '2020'}, {'n': '2019', 'v': '2019'}, {'n': '2018', 'v': '2018'}, {'n': '2017', 'v': '2017'}, {'n': '2016', 'v': '2016'}, {'n': '2015', 'v': '2015'}]}]}, + headers:{ + 'User-Agent':'PC_UA', + 'Referer':'https://v.qq.com/', + 'Origin':'https://v.qq.com/' + }, + timeout:5000, + // class_parse:'.site_channel a;a&&Text;a&&href;channel/(.*)', + cate_exclude:'会员|游戏|全部', + class_name:'精选&电视剧&电影&综艺&动漫&少儿&纪录片', + class_url:'choice&tv&movie&variety&cartoon&child&doco', + limit:20, + // play_parse:true, + // 手动调用解析请求json的url,此lazy不方便 + lazy:'js:input="https://cache.json.icu/home/api?type=ys&uid=292796&key=fnoryABDEFJNPQV269&url="+input.split("?")[0];log(input);let html=JSON.parse(request(input));log(html);input=html.url||input', + 推荐:'.list_item;img&&alt;img&&src;a&&Text;a&&data-float', + 一级:'.list_item;img&&alt;img&&src;a&&Text;a&&data-float', + // 二级:{is_json:1,"title":"data.title;data.moviecategory[0]+data.moviecategory[1]","img":"data.cdncover","desc":"data.area[0];data.director[0]","content":"data.description","tabs":"data.playlink_sites;data.playlinksdetail.#idv.quality","lists":"data.playlinksdetail.#idv.default_url"}, + // 二级:{is_json:1,"title":"data.title;data.moviecategory[0]+data.moviecategory[1]","img":"data.cdncover","desc":"data.area[0];data.director[0]","content":"data.description","tabs":"data.playlink_sites","lists":"data.playlinksdetail.#idv.default_url"}, + 二级:'', + 二级:'js:VOD={};let d=[];let video_list=[];let video_lists=[];let list=[];let QZOutputJson;let html=fetch(input,fetch_params);let sourceId=/get_playsource/.test(input)?input.match(/id=(\\d*?)&/)[1]:input.split("cid=")[1];let cid=sourceId;let detailUrl="https://v.%71%71.com/detail/m/"+cid+".html";log("详情页:"+detailUrl);var pdfh=jsp.pdfh;var pd=jsp.pd;try{let json=JSON.parse(html);VOD={vod_url:input,vod_name:json.c.title,type_name:json.typ.join(","),vod_actor:json.nam.join(","),vod_year:json.c.year,vod_content:json.c.description,vod_remarks:json.rec,vod_pic:urljoin2(input,json.c.pic)}}catch(e){log("解析片名海报等基础信息发生错误:"+e.message)}if(/get_playsource/.test(input)){eval(html);let indexList=QZOutputJson.PlaylistItem.indexList;indexList.forEach(function(it){let dataUrl="https://s.video.qq.com/get_playsource?id="+sourceId+"&plat=2&type=4&data_type=3&range="+it+"&video_type=10&plname=qq&otype=json";eval(fetch(dataUrl,fetch_params));let vdata=QZOutputJson.PlaylistItem.videoPlayList;vdata.forEach(function(item){d.push({title:item.title,pic_url:item.pic,desc:item.episode_number+"\\t\\t\\t播放量:"+item.thirdLine,url:item.playUrl})});video_lists=video_lists.concat(vdata)})}else{let json=JSON.parse(html);video_lists=json.c.video_ids;let url="https://v.qq.com/x/cover/"+sourceId+".html";if(video_lists.length===1){let vid=video_lists[0];url="https://v.qq.com/x/cover/"+cid+"/"+vid+".html";d.push({title:"在线播放",url:url})}else if(video_lists.length>1){for(let i=0;i1?it1.category_map[1]:""})})})}}let yg=d.filter(function(it){return it.type&&it.type!=="正片"});let zp=d.filter(function(it){return!(it.type&&it.type!=="正片")});VOD.vod_play_from=yg.length<1?"qq":"qq$$$qq 预告及花絮";VOD.vod_play_url=yg.length<1?d.map(function(it){return it.title+"$"+it.url}).join("#"):[zp,yg].map(function(it){return it.map(function(its){return its.title+"$"+its.url}).join("#")}).join("$$$");', + // 二级:'js:VOD={};let d=[];let video_list=[];let video_lists=[];let list=[];let QZOutputJson;let html=fetch(input,fetch_params);let sourceId=/get_playsource/.test(input)?input.match(/id=(\\d*?)&/)[1]:input.split("cid=")[1];let cid=sourceId;let detailUrl="https://v.%71%71.com/detail/m/"+cid+".html";log("详情页:"+detailUrl);var pdfh=jsp.pdfh;var pd=jsp.pd;try{let json=JSON.parse(html);VOD={vod_url:input,vod_name:json.c.title,type_name:json.typ.join(","),vod_actor:json.nam.join(","),vod_year:json.c.year,vod_content:json.c.description,vod_remarks:json.rec,vod_pic:urljoin2(input,json.c.pic)}}catch(e){log("解析片名海报等基础信息发生错误:"+e.message)}if(/get_playsource/.test(input)){eval(html);let indexList=QZOutputJson.PlaylistItem.indexList;indexList.forEach(function(it){let dataUrl="https://s.video.qq.com/get_playsource?id="+sourceId+"&plat=2&type=4&data_type=3&range="+it+"&video_type=10&plname=qq&otype=json";eval(fetch(dataUrl,fetch_params));let vdata=QZOutputJson.PlaylistItem.videoPlayList;vdata.forEach(function(item){d.push({title:item.title,pic_url:item.pic,desc:item.episode_number+"\\t\\t\\t播放量:"+item.thirdLine,url:item.playUrl})});video_lists=video_lists.concat(vdata)})}else{let json=JSON.parse(html);video_lists=json.c.video_ids;let url="https://v.qq.com/x/cover/"+sourceId+".html";if(json.c.type===10){let dataUrl="https://s.video.qq.com/get_playsource?id="+json.c.column_id+"&plat=2&type=2&data_type=3&video_type=8&plname=qq&otype=json";let o_html=fetch(dataUrl,fetch_params);eval(o_html);video_lists=[];let indexList=QZOutputJson.PlaylistItem.indexList;indexList.forEach(function(it){let dataUrl="https://s.video.qq.com/get_playsource?id="+json.c.column_id+"&plat=2&type=4&data_type=3&range="+it+"&video_type=10&plname=qq&otype=json";eval(fetch(dataUrl,fetch_params));let vdata=QZOutputJson.PlaylistItem.videoPlayList;vdata.forEach(function(item){d.push({title:item.title,pic_url:item.pic,desc:item.episode_number+"\\t\\t\\t播放量:"+item.thirdLine,url:item.playUrl})});video_lists=video_lists.concat(vdata)})}else if(video_lists.length===1){d.push({title:"在线播放",url:url})}else if(video_lists.length>1){for(let i=0;i1?it1.category_map[1]:""})})})}}let yg=d.filter(function(it){return it.type&&it.type!=="正片"});let zp=d.filter(function(it){return!(it.type&&it.type!=="正片")});VOD.vod_play_from=yg.length<1?"qq":"qq$$$qq 预告及花絮";VOD.vod_play_url=yg.length<1?d.map(function(it){return it.title+"$"+it.url}).join("#"):[zp,yg].map(function(it){return it.map(function(its){return its.title+"$"+its.url}).join("#")}).join("$$$");', + // 搜索:'json:uiData;data[0].title;data[0].posterPic;.titleMarkLabelList[1].primeText;data[0].id;data[0].publishDate', + 搜索:"js:var d=[];let html=request(input);let json=JSON.parse(html);if(json.data.smartboxItemList.length>0){for(let vod of json.data.smartboxItemList.filter(it=>it.basicDoc&&it.basicDoc.id)){let cid=vod.basicDoc.id;let title=vod.basicDoc.title;let url='https://node.video.qq.com/x/api/float_vinfo2?cid='+cid;if(vod.videoInfo&&vod.videoInfo.imgUrl){d.push({title:title,img:vod.videoInfo.imgUrl,url:url,content:'',desc:vod.videoInfo.typeName||''})}else{let html1=request(url);let data=JSON.parse(html1);d.push({title:data.c.title,img:data.c.pic,url:url,content:data.c.description,desc:data.rec})}}};setResult(d);", + // 搜索:'json:item;word;dc;class;id;sn', +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/香雅情/json/Bili.json b/tvboxqq/tvboxqq/香雅情/json/Bili.json new file mode 100644 index 0000000..e605bab --- /dev/null +++ b/tvboxqq/tvboxqq/香雅情/json/Bili.json @@ -0,0 +1,1550 @@ +{ + "cookie": "clan://XYQTVBox/bilicookie.txt", + "classes": [ + { + "type_name": "搞笑", + "type_id": "搞笑" + }, + { + "type_name": "鬼畜", + "type_id": "鬼畜" + }, + { + "type_name": "Sports", + "type_id": "球星" + }, + { + "type_name": "戏曲", + "type_id": "戏曲" + }, + { + "type_name": "演唱会", + "type_id": "演唱会" + }, + { + "type_name": "动物世界", + "type_id": "动物世界" + }, + { + "type_name": "假窗白噪音", + "type_id": "窗白噪音" + }, + { + "type_name": "相声小品", + "type_id": "相声小品" + }, + { + "type_name": "儿童", + "type_id": "儿童" + }, + {"type_name":"经典合集","type_id":"经典无损音乐合集"}, + {"type_name":"粤语","type_id":"粤语歌曲超清"}, + {"type_name":"热榜","type_id":"2022年热们歌曲"}, + {"type_name":"经典","type_id":"经典老歌"}, + {"type_name":"古风","type_id":"古风歌曲"}, + {"type_name":"闽南","type_id":"闽南语歌曲"}, + {"type_name":"舞曲","type_id":"DJ歌曲"}, + {"type_name":"翻唱","type_id":"网红翻唱歌曲"}, + {"type_name":"音乐","type_id":"音乐 4k"}, + +{"type_name":"阿黛尔","type_id":"阿黛尔演唱会超清超清"}, +{"type_name":"Blackpink","type_id":"blackpink演唱会超清"}, +{"type_name":"Beyond","type_id":"beyond演唱会超清"}, +{"type_name":"坂井泉水","type_id":"坂井泉水演唱会超清"}, +{"type_name":"宝丽金","type_id":"宝丽金演唱会超清"}, +{"type_name":"布兰妮","type_id":"布兰妮演唱会超清"}, +{"type_name":"陈瑞","type_id":"陈瑞演唱会超清"}, +{"type_name":"陈奕迅","type_id":"陈奕迅演唱会超清"}, +{"type_name":"崔健","type_id":"催件演唱会超清"}, +{"type_name":"Coldplay","type_id":"coldplay演唱会超清"}, +{"type_name":"陈慧娴","type_id":"陈慧娴演唱会超清"}, +{"type_name":"陈百强","type_id":"陈百强演唱会超清"}, +{"type_name":"陈淑桦","type_id":"陈淑桦演唱会超清"}, +{"type_name":"陈慧琳","type_id":"陈慧琳演唱会超清"}, +{"type_name":"邓丽君","type_id":"邓丽君演唱会超清"}, +{"type_name":"邓紫棋","type_id":"邓紫棋演唱会超清"}, +{"type_name":"刀郎","type_id":"刀郎演唱会超清"}, +{"type_name":"达明一派","type_id":"刘以达歌曲"}, +{"type_name":"费玉清","type_id":"费玉清演唱会超清"}, +{"type_name":"谷村新司","type_id":"谷村新司演唱会超清"}, +{"type_name":"郭富城","type_id":"郭富城演唱会超清"}, +{"type_name":"邰正宵","type_id":"邰正宵演唱会超清"}, +{"type_name":"关淑怡","type_id":"关淑怡演唱会超清"}, +{"type_name":"黄凯芹","type_id":"黄凯芹演唱会超清"}, +{"type_name":"黑豹乐队","type_id":"H黑豹乐队"}, +{"type_name":"降央卓玛","type_id":"降央卓玛演唱会超清"}, +{"type_name":"江慧","type_id":"江慧歌曲"}, +{"type_name":"吉永小百合","type_id":"吉永小百合歌曲"}, +{"type_name":"金庸","type_id":"金庸影视歌曲"}, +{"type_name":"刘德华","type_id":"刘德华演唱会超清"}, +{"type_name":"Lady Gaga","type_id":"Lady Gaga演唱会超清"}, +{"type_name":"龙飘飘","type_id":"龙飘飘演唱会超清"}, +{"type_name":"罗百吉","type_id":"罗百吉演唱会超清"}, +{"type_name":"罗大佑","type_id":"罗大佑演唱会超清"}, +{"type_name":"林志炫","type_id":"林志炫演唱会超清"}, +{"type_name":"林忆莲","type_id":"林忆莲演唱会超清"}, +{"type_name":"李知恩","type_id":"李知恩演唱会超清"}, +{"type_name":"梁静茹","type_id":"梁静茹演唱会超清"}, +{"type_name":"冷漠","type_id":"冷漠演唱会超清"}, +{"type_name":"李克勤","type_id":"李克勤演唱会超清"}, +{"type_name":"林子祥","type_id":"林子祥演唱会超清"}, +{"type_name":"黎明","type_id":"黎明演唱会超清"}, +{"type_name":"刘若英","type_id":"刘若英演唱会超清"}, +{"type_name":"McHotdog","type_id":"MC Hotdog演唱会超清"}, +{"type_name":"莫文蔚","type_id":"莫文蔚演唱会超清"}, +{"type_name":"孟庭苇","type_id":"孟庭苇演唱会超清"}, +{"type_name":"麦当娜","type_id":"麦当娜演唱会超清"}, +{"type_name":"迈克杰克逊","type_id":"迈克杰克逊演唱会超清"}, +{"type_name":"雅尼紫禁城","type_id":"雅尼紫禁城演唱会超清"}, +{"type_name":"潘越云","type_id":"潘越云演唱会超清"}, +{"type_name":"潘美辰","type_id":"潘美辰演唱会超清"}, +{"type_name":"齐秦","type_id":"齐秦演唱会超清"}, +{"type_name":"祁美云","type_id":"祁美云演唱会超清"}, +{"type_name":"任贤齐","type_id":"任贤齐演唱会超清"}, +{"type_name":"苏慧伦","type_id":"苏慧伦演唱会超清"}, +{"type_name":"唐朝乐队","type_id":"唐朝乐队"}, +{"type_name":"童安格","type_id":"童安格演唱会超清"}, +{"type_name":"TFBOYS","type_id":"TFBOYS演唱会超清"}, +{"type_name":"太极乐队","type_id":"太极乐队演唱会超清"}, +{"type_name":"唐朝摇滚","type_id":"唐朝摇滚演唱会超清"}, +{"type_name":"谭咏麟","type_id":"谭咏麟演唱会超清"}, +{"type_name":"王琪","type_id":"王琪歌曲"}, +{"type_name":"伍珂玥","type_id":"伍珂玥演唱会超清"}, +{"type_name":"王杰","type_id":"王杰演唱会超清"}, +{"type_name":"伍佰","type_id":"伍佰演唱会超清"}, +{"type_name":"温兆伦","type_id":"温兆伦演唱会超清"}, +{"type_name":"王菲","type_id":"王菲演唱会超清"}, +{"type_name":"熊天平","type_id":"熊天平演唱会超清"}, +{"type_name":"徐小凤","type_id":"徐小凤演唱会超清"}, +{"type_name":"席琳迪翁","type_id":"席琳迪翁演唱会超清"}, +{"type_name":"许嵩","type_id":"黄许嵩演唱会超清"}, +{"type_name":"许美静","type_id":"许美静演唱会超清"}, +{"type_name":"许冠杰","type_id":"许冠杰演唱会超清"}, +{"type_name":"小虎队","type_id":"小虎队演唱会超清"}, +{"type_name":"许巍","type_id":"许巍演唱会超清"}, +{"type_name":"叶启田","type_id":"叶启田演唱会超清"}, +{"type_name":"叶玉卿","type_id":"叶玉卿演唱会超清"}, +{"type_name":"杨千嬅","type_id":"杨千嬅演唱会超清"}, +{"type_name":"左麟右李","type_id":"左麟右李演唱会超清"}, +{"type_name":"赵传","type_id":"赵传演唱会超清"}, +{"type_name":"周华健","type_id":"周华健演唱会超清"}, +{"type_name":"周启生","type_id":"周启生演唱会超清"}, +{"type_name":"张信哲","type_id":"张信哲演唱会超清"}, +{"type_name":"周慧敏","type_id":"周慧敏演唱会超清"}, +{"type_name":"张碧晨","type_id":"张碧晨演唱会超清"}, +{"type_name":"中岛美雪","type_id":"中岛美雪演唱会超清"}, +{"type_name":"张学友","type_id":"张学友演唱会超清"}, +{"type_name":"猪哥亮","type_id":"猪哥亮歌曲"}, +{"type_name":"周杰伦","type_id":"周杰伦演唱会超清"}, +{"type_name":"周深","type_id":"周深演唱会超清"}, +{"type_name":"张蔷","type_id":"张蔷演唱会超清"}, +{"type_name":"张帝","type_id":"张帝演唱会超清"}, +{"type_name":"张国荣","type_id":"张国荣演唱会超清"}, +{"type_name":"郑钧","type_id":"郑钧演唱会超清"}, +{"type_name":"张楚","type_id":"张楚演唱会超清"}, +{"type_name":"张真","type_id":"张真演唱会超清"}, +{"type_name":"赵传","type_id":"赵传演唱会超清"}, +{"type_name":"周传雄","type_id":"周传雄演唱会超清"} + + ], + "filter": { + "搞笑": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "鬼畜": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "球星": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "球星" + }, + { + "n": "梅西", + "v": "梅西" + }, + { + "n": "C罗", + "v": "C罗" + }, + { + "n": "天下足球", + "v": "天下足球" + }, + { + "n": "罗纳尔多", + "v": "罗纳尔多" + }, + { + "n": "亨利", + "v": "亨利" + }, + { + "n": "小罗", + "v": "小罗" + }, + { + "n": "齐达内", + "v": "齐达内" + }, + { + "n": "贝克汉姆", + "v": "贝克汉姆" + }, + { + "n": "内马尔", + "v": "内马尔" + }, + { + "n": "德布劳内", + "v": "德布劳内" + }, + { + "n": "欧冠", + "v": "欧冠" + }, + { + "n": "世界杯", + "v": "世界杯" + }, + { + "n": "西甲", + "v": "西甲" + }, + { + "n": "英超", + "v": "英超" + }, + { + "n": "意甲", + "v": "意甲" + }, + { + "n": "德甲", + "v": "德甲" + }, + { + "n": "国米", + "v": "国米" + }, + { + "n": "皇马", + "v": "皇马" + }, + { + "n": "巴萨", + "v": "巴萨" + }, + { + "n": "巴黎圣日耳曼", + "v": "巴黎圣日耳曼" + }, + { + "n": "曼联", + "v": "曼联" + }, + { + "n": "曼城", + "v": "曼城" + }, + { + "n": "NBA", + "v": "NBA" + }, + { + "n": "詹姆斯", + "v": "詹姆斯" + }, + { + "n": "库里", + "v": "库里" + }, + { + "n": "杜兰特", + "v": "杜兰特" + }, + { + "n": "UFC", + "v": "UFC" + }, + { + "n": "斯诺克", + "v": "斯诺克" + }, + { + "n": "网球", + "v": "网球" + }, + { + "n": "F1", + "v": "F1" + }, + { + "n": "高尔夫", + "v": "高尔夫" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "相声小品": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "相声小品" + }, + { + "n": "单口相声", + "v": "单口相声" + }, + { + "n": "群口相声", + "v": "群口相声" + }, + { + "n": "德云社", + "v": "德云社" + }, + { + "n": "青曲社", + "v": "青曲社" + }, + { + "n": "郭德纲", + "v": "郭德纲" + }, + { + "n": "岳云鹏", + "v": "岳云鹏" + }, + { + "n": "曹云金", + "v": "曹云金" + }, + { + "n": "评书", + "v": "评书" + }, + { + "n": "小曲", + "v": "小曲" + }, + { + "n": "二人转", + "v": "二人转" + }, + { + "n": "春晚小品", + "v": "春晚小品" + }, + { + "n": "赵本山", + "v": "赵本山" + }, + { + "n": "陈佩斯", + "v": "陈佩斯" + }, + { + "n": "冯巩", + "v": "冯巩" + }, + { + "n": "宋小宝", + "v": "宋小宝" + }, + { + "n": "赵丽蓉", + "v": "赵丽蓉" + }, + { + "n": "郭达", + "v": "郭达" + }, + { + "n": "潘长江", + "v": "潘长江" + }, + { + "n": "郭冬临", + "v": "郭冬临" + }, + { + "n": "严顺开", + "v": "严顺开" + }, + { + "n": "文松", + "v": "文松" + }, + { + "n": "开心麻花", + "v": "开心麻花" + }, + { + "n": "屌丝男士", + "v": "屌丝男士" + }, + { + "n": "喜剧综艺", + "v": "喜剧综艺" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "儿童": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "儿童" + }, + { + "n": "教育", + "v": "儿童教育" + }, + { + "n": "歌曲", + "v": "儿童歌曲" + }, + { + "n": "舞蹈", + "v": "儿童舞蹈" + }, + { + "n": "成语故事", + "v": "儿童成语故事" + }, + { + "n": "音乐", + "v": "儿童音乐" + }, + { + "n": "儿童MV", + "v": "儿童MV" + }, + { + "n": "贝乐虎", + "v": "贝乐虎" + }, + { + "n": "宝宝巴士", + "v": "宝宝巴士" + }, + { + "n": "儿童好声音", + "v": "儿童好声音" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "动物世界": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "戏曲": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "戏曲" + }, + { + "n": "京剧", + "v": "京剧" + }, + { + "n": "越剧", + "v": "越剧" + }, + { + "n": "黄梅戏", + "v": "黄梅戏" + }, + { + "n": "评剧", + "v": "评剧" + }, + { + "n": "豫剧", + "v": "豫剧" + }, + { + "n": "昆曲", + "v": "昆曲" + }, + { + "n": "高腔", + "v": "高腔" + }, + { + "n": "梆子腔", + "v": "梆子腔" + }, + { + "n": "河北梆子", + "v": "河北梆子" + }, + { + "n": "晋剧", + "v": "晋剧" + }, + { + "n": "蒲剧", + "v": "蒲剧" + }, + { + "n": "雁剧", + "v": "雁剧" + }, + { + "n": "上党梆子", + "v": "上党梆子" + }, + { + "n": "秦腔", + "v": "秦腔" + }, + { + "n": "武安平调", + "v": "武安平调" + }, + { + "n": "二人台", + "v": "二人台" + }, + { + "n": "吉剧", + "v": "吉剧" + }, + { + "n": "龙江剧", + "v": "龙江剧" + }, + { + "n": "越调", + "v": "越调" + }, + { + "n": "河南曲剧", + "v": "河南曲剧" + }, + { + "n": "山东梆子", + "v": "山东梆子" + }, + { + "n": "淮剧", + "v": "淮剧" + }, + { + "n": "沪剧", + "v": "沪剧" + }, + { + "n": "滑稽戏", + "v": "滑稽戏" + }, + { + "n": "婺剧", + "v": "婺剧" + }, + { + "n": "绍剧", + "v": "绍剧" + }, + { + "n": "徽剧", + "v": "徽剧" + }, + { + "n": "闽剧", + "v": "闽剧" + }, + { + "n": "莆仙戏", + "v": "莆仙戏" + }, + { + "n": "梨园戏", + "v": "梨园戏" + }, + { + "n": "高甲戏", + "v": "高甲戏" + }, + { + "n": "赣剧", + "v": "赣剧" + }, + { + "n": "采茶戏", + "v": "采茶戏" + }, + { + "n": "汉剧", + "v": "汉剧" + }, + { + "n": "湘剧", + "v": "湘剧" + }, + { + "n": "祁剧", + "v": "祁剧" + }, + { + "n": "湖南花鼓戏", + "v": "湖南花鼓戏" + }, + { + "n": "粤剧", + "v": "粤剧" + }, + { + "n": "潮剧", + "v": "潮剧" + }, + { + "n": "桂剧", + "v": "桂剧" + }, + { + "n": "彩调", + "v": "彩调" + }, + { + "n": "壮剧", + "v": "壮剧" + }, + { + "n": "川剧", + "v": "川剧" + }, + { + "n": "黔剧", + "v": "黔剧" + }, + { + "n": "滇剧", + "v": "滇剧" + }, + { + "n": "傣剧", + "v": "傣剧" + }, + { + "n": "藏剧", + "v": "藏剧" + }, + { + "n": "皮影戏", + "v": "皮影戏" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "窗白噪音": [ + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "演唱会": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "演唱会" + }, + { + "n": "周杰伦", + "v": "周杰伦" + }, + { + "n": "陈奕迅", + "v": "陈奕迅" + }, + { + "n": "Beyond", + "v": "Beyond" + }, + { + "n": "刘德华", + "v": "刘德华" + }, + { + "n": "郭富城", + "v": "郭富城" + }, + { + "n": "张学友", + "v": "张学友" + }, + { + "n": "黎明", + "v": "黎明" + }, + { + "n": "李宗盛", + "v": "李宗盛" + }, + { + "n": "邓丽君", + "v": "邓丽君" + }, + { + "n": "朴树", + "v": "朴树" + }, + { + "n": "林子祥", + "v": "林子祥" + }, + { + "n": "任贤齐", + "v": "任贤齐" + }, + { + "n": "张信哲", + "v": "张信哲" + }, + { + "n": "孙楠", + "v": "孙楠" + }, + { + "n": "张宇", + "v": "张宇" + }, + { + "n": "周华健", + "v": "周华健" + }, + { + "n": "蔡依林", + "v": "蔡依林" + }, + { + "n": "薛之谦", + "v": "薛之谦" + }, + { + "n": "洛天依", + "v": "洛天依" + }, + { + "n": "初音未来", + "v": "初音未来" + }, + { + "n": "许嵩", + "v": "许嵩" + }, + { + "n": "戴佩妮", + "v": "戴佩妮" + }, + { + "n": "邓紫棋", + "v": "邓紫棋" + }, + { + "n": "张韶涵", + "v": "张韶涵" + }, + { + "n": "蔡健雅", + "v": "蔡健雅" + }, + { + "n": "莫文蔚", + "v": "莫文蔚" + }, + { + "n": "刘若英", + "v": "刘若英" + }, + { + "n": "周深", + "v": "周深" + }, + { + "n": "毛不易", + "v": "毛不易" + }, + { + "n": "汪苏泷", + "v": "汪苏泷" + }, + { + "n": "李宇春", + "v": "李宇春" + }, + { + "n": "徐佳莹", + "v": "徐佳莹" + }, + { + "n": "杨宗纬", + "v": "杨宗纬" + }, + { + "n": "胡彦斌", + "v": "胡彦斌" + }, + { + "n": "杨千嬅", + "v": "杨千嬅" + }, + { + "n": "张靓颖", + "v": "张靓颖" + }, + { + "n": "李荣浩", + "v": "李荣浩" + }, + { + "n": "杨丞琳", + "v": "杨丞琳" + }, + { + "n": "林志炫", + "v": "林志炫" + }, + { + "n": "陶喆", + "v": "陶喆" + }, + { + "n": "胡夏", + "v": "胡夏" + }, + { + "n": "李玉刚", + "v": "李玉刚" + }, + { + "n": "弦子", + "v": "弦子" + }, + { + "n": "陈小春", + "v": "陈小春" + }, + { + "n": "萧亚轩", + "v": "萧亚轩" + }, + { + "n": "鹿晗", + "v": "鹿晗" + }, + { + "n": "纵贯线", + "v": "纵贯线" + }, + { + "n": "许巍", + "v": "许巍" + }, + { + "n": "林俊杰", + "v": "林俊杰" + }, + { + "n": "赵雷", + "v": "赵雷" + }, + { + "n": "谭咏麟", + "v": "谭咏麟" + }, + { + "n": "凤凰传奇", + "v": "凤凰传奇" + }, + { + "n": "容祖儿", + "v": "容祖儿" + }, + { + "n": "周传雄", + "v": "周传雄" + }, + { + "n": "SHE", + "v": "SHE" + }, + { + "n": "苏打绿", + "v": "苏打绿" + }, + { + "n": "五月天", + "v": "五月天" + }, + { + "n": "张国荣", + "v": "张国荣" + }, + { + "n": "梅艳芳", + "v": "梅艳芳" + }, + { + "n": "孙燕姿", + "v": "孙燕姿" + }, + { + "n": "李健", + "v": "李健" + }, + { + "n": "华晨宇", + "v": "华晨宇" + }, + { + "n": "袁娅维", + "v": "袁娅维" + }, + { + "n": "大张伟", + "v": "大张伟" + }, + { + "n": "TFBOYS", + "v": "TFBOYS" + }, + { + "n": "王俊凯", + "v": "王俊凯" + }, + { + "n": "易烊千玺", + "v": "易烊千玺" + }, + { + "n": "王源", + "v": "王源" + }, + { + "n": "田馥甄", + "v": "田馥甄" + }, + { + "n": "小虎队", + "v": "小虎队" + }, + { + "n": "张杰", + "v": "张杰" + }, + { + "n": "王菲", + "v": "王菲" + }, + { + "n": "伍佰", + "v": "伍佰" + }, + { + "n": "刀郎", + "v": "刀郎" + }, + { + "n": "草蜢", + "v": "草蜢" + }, + { + "n": "潘玮柏", + "v": "潘玮柏" + }, + { + "n": "梁静茹", + "v": "梁静茹" + }, + { + "n": "林宥嘉", + "v": "林宥嘉" + }, + { + "n": "蔡徐坤", + "v": "蔡徐坤" + }, + { + "n": "周慧敏", + "v": "周慧敏" + }, + { + "n": "李圣杰", + "v": "李圣杰" + }, + { + "n": "张惠妹", + "v": "张惠妹" + }, + { + "n": "萧敬腾", + "v": "萧敬腾" + }, + { + "n": "周笔畅", + "v": "周笔畅" + }, + { + "n": "焦迈奇", + "v": "焦迈奇" + }, + { + "n": "尤长靖", + "v": "尤长靖" + }, + { + "n": "郑中基", + "v": "郑中基" + }, + { + "n": "谭维维", + "v": "谭维维" + }, + { + "n": "陈慧娴", + "v": "陈慧娴" + }, + { + "n": "张艺兴", + "v": "张艺兴" + }, + { + "n": "王嘉尔", + "v": "王嘉尔" + }, + { + "n": "刘宪华", + "v": "刘宪华" + }, + { + "n": "张敬轩", + "v": "张敬轩" + }, + { + "n": "李克勤", + "v": "李克勤" + }, + { + "n": "阿杜", + "v": "阿杜" + }, + { + "n": "郭静", + "v": "郭静" + }, + { + "n": "崔健", + "v": "崔健" + }, + { + "n": "庾澄庆", + "v": "庾澄庆" + }, + { + "n": "汪峰", + "v": "汪峰" + }, + { + "n": "那英", + "v": "那英" + }, + { + "n": "杨坤", + "v": "杨坤" + }, + { + "n": "叶倩文", + "v": "叶倩文" + }, + { + "n": "王心凌", + "v": "王心凌" + }, + { + "n": "张震岳", + "v": "张震岳" + }, + { + "n": "韩红", + "v": "韩红" + }, + { + "n": "齐秦", + "v": "齐秦" + }, + { + "n": "张雨生", + "v": "张雨生" + }, + { + "n": "黄品源", + "v": "黄品源" + }, + { + "n": "林忆莲", + "v": "林忆莲" + }, + { + "n": "丁当", + "v": "丁当" + }, + { + "n": "郑智化", + "v": "郑智化" + }, + { + "n": "李玟", + "v": "李玟" + }, + { + "n": "谢霆锋", + "v": "谢霆锋" + }, + { + "n": "黄小琥", + "v": "黄小琥" + }, + { + "n": "徐小凤", + "v": "徐小凤" + }, + { + "n": "任嘉伦", + "v": "任嘉伦" + }, + { + "n": "卓依婷", + "v": "卓依婷" + }, + { + "n": "逃跑计划", + "v": "逃跑计划" + }, + { + "n": "青鸟飞鱼", + "v": "青鸟飞鱼" + }, + { + "n": "飞儿乐队", + "v": "飞儿乐队" + }, + { + "n": "花儿乐队", + "v": "花儿乐队" + }, + { + "n": "南拳妈妈", + "v": "南拳妈妈" + }, + { + "n": "水木年华", + "v": "水木年华" + }, + { + "n": "动力火车", + "v": "动力火车" + }, + { + "n": "筷子兄弟", + "v": "筷子兄弟" + }, + { + "n": "鹿先森乐队", + "v": "鹿先森乐队" + }, + { + "n": "信乐队", + "v": "信乐队" + }, + { + "n": "旅行团乐队", + "v": "旅行团乐队" + }, + { + "n": "By2", + "v": "By2" + }, + { + "n": "郁可唯", + "v": "郁可唯" + }, + { + "n": "宋亚森", + "v": "宋亚森" + }, + { + "n": "费玉清", + "v": "费玉清" + }, + { + "n": "费翔", + "v": "费翔" + }, + { + "n": "金志文", + "v": "金志文" + }, + { + "n": "黄家强", + "v": "黄家强" + }, + { + "n": "方大同", + "v": "方大同" + }, + { + "n": "吴克群", + "v": "吴克群" + }, + { + "n": "罗大佑", + "v": "罗大佑" + }, + { + "n": "光良", + "v": "光良" + }, + { + "n": "田震", + "v": "田震" + }, + { + "n": "凤飞飞", + "v": "凤飞飞" + }, + { + "n": "谭晶", + "v": "谭晶" + }, + { + "n": "王杰", + "v": "王杰" + }, + { + "n": "羽泉", + "v": "羽泉" + }, + { + "n": "金池", + "v": "金池" + }, + { + "n": "屠洪刚", + "v": "屠洪刚" + }, + { + "n": "戴荃", + "v": "戴荃" + }, + { + "n": "郭采洁", + "v": "郭采洁" + }, + { + "n": "罗志祥", + "v": "罗志祥" + }, + { + "n": "王力宏", + "v": "王力宏" + }, + { + "n": "林肯公园", + "v": "林肯公园" + }, + { + "n": "迈克尔杰克逊", + "v": "迈克尔杰克逊" + }, + { + "n": "泰勒·斯威夫特", + "v": "泰勒·斯威夫特" + }, + { + "n": "阿黛尔", + "v": "阿黛尔" + }, + { + "n": "BIGBANG", + "v": "BIGBANG" + }, + { + "n": "LadyGaga", + "v": "LadyGaga" + }, + { + "n": "贾斯丁比伯", + "v": "贾斯丁比伯" + }, + { + "n": "中岛美雪", + "v": "中岛美雪" + }, + { + "n": "仓木麻衣", + "v": "仓木麻衣" + }, + { + "n": "后街男孩", + "v": "后街男孩" + }, + { + "n": "布兰妮", + "v": "布兰妮" + }, + { + "n": "夜愿乐队", + "v": "夜愿乐队" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ] + } +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/香雅情/json/兔小贝.json b/tvboxqq/tvboxqq/香雅情/json/兔小贝.json new file mode 100644 index 0000000..ead838c --- /dev/null +++ b/tvboxqq/tvboxqq/香雅情/json/兔小贝.json @@ -0,0 +1,53 @@ +{ + "规则名": "兔小贝", + "规则作者": "香雅情", + "请求头参数": "手机", + "网页编码格式": "UTF-8", + "图片是否需要代理": "0", + "分类起始页码": "1", + "分类链接": "https://www.tuxiaobei.com/list/mip-data?typeId={cateId}&page={catePg}&callback=jsonp", + "分类名称": "儿歌&故事&国学&启蒙", + "分类名称替换词": "2&3&4&25", + "筛选数据": {}, + "筛选子分类名称": "", + "筛选子分类替换词": "", + "分类截取模式": "0", + "分类Json数据二次截取": "jsonp(&&);", + "分类列表数组规则": "data.items", + "分类片单是否Jsoup写法": "0", + "分类片单标题": "name", + "分类片单链接": "video_id", + "分类片单图片": "image", + "分类片单副标题": "duration_string", + "分类片单链接加前缀": "https://www.tuxiaobei.com/play/", + "分类片单链接加后缀": "", + "搜索请求头参数": "User-Agent$手机", + "搜索链接": "https://www.tuxiaobei.com/search/index?key={wd}", + "POST请求数据": "", + "搜索截取模式": "1", + "搜索列表数组规则": ".list-con&&.items", + "搜索片单是否Jsoup写法": "1", + "搜索片单图片": "mip-img&&src", + "搜索片单标题": ".title&&Text", + "搜索片单链接": "a&&href", + "搜索片单副标题": ".time&&Text", + "搜索片单链接加前缀": "https://www.tuxiaobei.com", + "搜索片单链接加后缀": "", + "链接是否直接播放": "2", + "直接播放链接加前缀": "", + "直接播放链接加后缀": "#isVideo=true#", + "直接播放直链视频请求头": "", + "线路列表数组规则": "", + "线路标题": "", + "播放列表数组规则": "body", + "选集列表数组规则": ".video", + "选集标题链接是否Jsoup写法": "1", + "选集标题": "'立即播放'", + "选集链接": "mip-search-video&&video-src", + "是否反转选集序列": "0", + "选集链接加前缀": "", + "选集链接加后缀": "", + "是否开启手动嗅探": "0", + "手动嗅探视频链接关键词": ".mp4", + "手动嗅探视频链接过滤词": ".html#=http" +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/香雅情/json/兔小贝2.json b/tvboxqq/tvboxqq/香雅情/json/兔小贝2.json new file mode 100644 index 0000000..1d6d2fe --- /dev/null +++ b/tvboxqq/tvboxqq/香雅情/json/兔小贝2.json @@ -0,0 +1,52 @@ +{ + "规则名": "兔小贝", + "规则作者": "香雅情", + "请求头参数": "手机", + "网页编码格式": "UTF-8", + "图片是否需要代理": "0", + "分类起始页码": "1", + "分类链接": "https://www.tuxiaobei.com/subject/{cateId}", + "分类名称": "兔小贝原创儿歌&睡前儿歌&Everybody动起来&爸爸妈妈小时候的儿歌&宝宝吃饭香&乖宝宝不哭闹&好宝宝爱上学&欢快儿歌&经典儿歌&快乐的节日&快乐的童年&流行儿歌&美丽四季&男孩最爱&女孩最爱&我爱爸爸妈妈&我的动物朋友&我的祖国和我&舞蹈音乐&英文儿歌&粤语儿歌&早教好习惯&放暑假啦&我能照顾好自己&画一个梦&哆啦A梦的神奇口袋&你是我的小天使&最动听的笑声&许个愿吧&阳光下的我们&智慧成语故事&名人成语故事&励志成语故事&神话成语故事&古诗启蒙&三字经&弟子规&千字文&十万个为什么&神奇的大自然&英语宝典&数学课堂&动物奇缘&安全教育", + "分类名称替换词": "17&16&1&2&3&4&5&6&9&10&11&12&13&14&15&19&20&21&22&23&24&25&56&57&58&59&60&61&62&63&89&90&88&87&39&43&46&48&54&55&50&51&53&84", + "筛选数据": {}, + "筛选子分类名称": "", + "筛选子分类替换词": "", + "分类截取模式": "1", + "分类列表数组规则": ".list-con&&.items", + "分类片单是否Jsoup写法": "1", + "分类片单标题": ".title&&Text", + "分类片单链接": "a&&href", + "分类片单图片": "mip-img&&src", + "分类片单副标题": ".time&&Text", + "分类片单链接加前缀": "https://www.tuxiaobei.com", + "分类片单链接加后缀": "", + "搜索请求头参数": "User-Agent$手机", + "搜索链接": "https://www.tuxiaobei.com/search/index?key={wd}", + "POST请求数据": "", + "搜索截取模式": "1", + "搜索列表数组规则": ".list-con&&.items", + "搜索片单是否Jsoup写法": "1", + "搜索片单图片": "mip-img&&src", + "搜索片单标题": ".title&&Text", + "搜索片单链接": "a&&href", + "搜索片单副标题": ".time&&Text", + "搜索片单链接加前缀": "https://www.tuxiaobei.com", + "搜索片单链接加后缀": "", + "链接是否直接播放": "2", + "直接播放链接加前缀": "", + "直接播放链接加后缀": "#isVideo=true#", + "直接播放直链视频请求头": "", + "线路列表数组规则": "", + "线路标题": "", + "播放列表数组规则": "body", + "选集列表数组规则": ".video", + "选集标题链接是否Jsoup写法": "1", + "选集标题": "'立即播放'", + "选集链接": "mip-search-video&&video-src", + "是否反转选集序列": "0", + "选集链接加前缀": "", + "选集链接加后缀": "", + "是否开启手动嗅探": "0", + "手动嗅探视频链接关键词": ".mp4", + "手动嗅探视频链接过滤词": ".html#=http" +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/香雅情/json/农民影视.json b/tvboxqq/tvboxqq/香雅情/json/农民影视.json new file mode 100644 index 0000000..e69de29 diff --git a/tvboxqq/tvboxqq/香雅情/json/初中课堂.json b/tvboxqq/tvboxqq/香雅情/json/初中课堂.json new file mode 100644 index 0000000..cf60a90 --- /dev/null +++ b/tvboxqq/tvboxqq/香雅情/json/初中课堂.json @@ -0,0 +1,1205 @@ +{ + "cookie": "clan://XYQTVBox/bilicookie.txt", + "classes": [ + { + "type_name": "7年级语文", + "type_id": "7年级语文" + }, + { + "type_name": "7年级数学", + "type_id": "7年级数学" + }, + { + "type_name": "7年级英语", + "type_id": "7年级英语" + }, + { + "type_name": "7年级历史", + "type_id": "7年级历史" + }, + { + "type_name": "7年级地理", + "type_id": "7年级地理" + }, + { + "type_name": "7年级生物", + "type_id": "7年级生物" + }, + { + "type_name": "7年级物理", + "type_id": "7年级物理" + }, + { + "type_name": "7年级化学", + "type_id": "7年级化学" + }, + { + "type_name": "8年级语文", + "type_id": "8年级语文" + }, + { + "type_name": "8年级数学", + "type_id": "8年级数学" + }, + { + "type_name": "8年级英语", + "type_id": "8年级英语" + }, + { + "type_name": "8年级历史", + "type_id": "8年级历史" + }, + { + "type_name": "8年级地理", + "type_id": "8年级地理" + }, + { + "type_name": "8年级生物", + "type_id": "8年级生物" + }, + { + "type_name": "8年级物理", + "type_id": "8年级物理" + }, + { + "type_name": "8年级化学", + "type_id": "8年级化学" + } + ], + "filter": { + "7年级语文": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "沪教版", + "v": "沪教版7年级语文" + }, + { + "n": "人教版", + "v": "人教版7年级语文" + }, + { + "n": "北师大版", + "v": "北师大版7年级语文" + }, + { + "n": "苏教版", + "v": "苏教版7年级语文" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "7年级英语": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "沪教版", + "v": "沪教版7年级英语" + }, + { + "n": "人教版", + "v": "人教版7年级英语" + }, + { + "n": "北师大版", + "v": "北师大版7年级英语" + }, + { + "n": "苏教版", + "v": "苏教版7年级英语" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "7年级数学": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "沪教版", + "v": "沪教版7年级数学" + }, + { + "n": "人教版", + "v": "人教版7年级数学" + }, + { + "n": "北师大版", + "v": "北师大版7年级数学" + }, + { + "n": "苏教版", + "v": "苏教版7年级数学" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "7年级化学": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "沪教版", + "v": "沪教版7年级化学" + }, + { + "n": "人教版", + "v": "人教版7年级化学" + }, + { + "n": "北师大版", + "v": "北师大版7年级化学" + }, + { + "n": "苏教版", + "v": "苏教版7年级化学" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "7年级物理": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "沪教版", + "v": "沪教版7年级物理" + }, + { + "n": "人教版", + "v": "人教版7年级物理" + }, + { + "n": "北师大版", + "v": "北师大版7年级物理" + }, + { + "n": "苏教版", + "v": "苏教版7年级物理" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "7年级生物": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "沪教版", + "v": "沪教版7年级生物" + }, + { + "n": "人教版", + "v": "人教版7年级生物" + }, + { + "n": "北师大版", + "v": "北师大版7年级生物" + }, + { + "n": "苏教版", + "v": "苏教版7年级生物" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "7年级历史": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "沪教版", + "v": "沪教版7年级历史" + }, + { + "n": "人教版", + "v": "人教版7年级历史" + }, + { + "n": "北师大版", + "v": "北师大版7年级历史" + }, + { + "n": "苏教版", + "v": "苏教版7年级历史" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "8年级语文": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "沪教版", + "v": "沪教版8年级语文" + }, + { + "n": "人教版", + "v": "人教版8年级语文" + }, + { + "n": "北师大版", + "v": "北师大版8年级语文" + }, + { + "n": "苏教版", + "v": "苏教版8年级语文" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "8年级英语": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "沪教版", + "v": "沪教版8年级英语" + }, + { + "n": "人教版", + "v": "人教版8年级英语" + }, + { + "n": "北师大版", + "v": "北师大版8年级英语" + }, + { + "n": "苏教版", + "v": "苏教版8年级英语" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "8年级数学": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "沪教版", + "v": "沪教版8年级数学" + }, + { + "n": "人教版", + "v": "人教版8年级数学" + }, + { + "n": "北师大版", + "v": "北师大版8年级数学" + }, + { + "n": "苏教版", + "v": "苏教版8年级数学" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "8年级化学": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "沪教版", + "v": "沪教版8年级化学" + }, + { + "n": "人教版", + "v": "人教版8年级化学" + }, + { + "n": "北师大版", + "v": "北师大版8年级化学" + }, + { + "n": "苏教版", + "v": "苏教版8年级化学" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "8年级物理": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "沪教版", + "v": "沪教版8年级物理" + }, + { + "n": "人教版", + "v": "人教版8年级物理" + }, + { + "n": "北师大版", + "v": "北师大版8年级物理" + }, + { + "n": "苏教版", + "v": "苏教版8年级物理" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "8年级生物": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "沪教版", + "v": "沪教版8年级生物" + }, + { + "n": "人教版", + "v": "人教版8年级生物" + }, + { + "n": "北师大版", + "v": "北师大版8年级生物" + }, + { + "n": "苏教版", + "v": "苏教版8年级生物" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "8年级历史": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "沪教版", + "v": "沪教版8年级历史" + }, + { + "n": "人教版", + "v": "人教版8年级历史" + }, + { + "n": "北师大版", + "v": "北师大版8年级历史" + }, + { + "n": "苏教版", + "v": "苏教版8年级历史" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "9年级语文": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "沪教版", + "v": "沪教版9年级语文" + }, + { + "n": "人教版", + "v": "人教版9年级语文" + }, + { + "n": "北师大版", + "v": "北师大版9年级语文" + }, + { + "n": "苏教版", + "v": "苏教版9年级语文" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "9年级英语": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "沪教版", + "v": "沪教版9年级英语" + }, + { + "n": "人教版", + "v": "人教版9年级英语" + }, + { + "n": "北师大版", + "v": "北师大版9年级英语" + }, + { + "n": "苏教版", + "v": "苏教版9年级英语" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "9年级数学": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "沪教版", + "v": "沪教版9年级数学" + }, + { + "n": "人教版", + "v": "人教版9年级数学" + }, + { + "n": "北师大版", + "v": "北师大版9年级数学" + }, + { + "n": "苏教版", + "v": "苏教版9年级数学" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "9年级化学": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "沪教版", + "v": "沪教版9年级化学" + }, + { + "n": "人教版", + "v": "人教版9年级化学" + }, + { + "n": "北师大版", + "v": "北师大版9年级化学" + }, + { + "n": "苏教版", + "v": "苏教版9年级化学" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "9年级物理": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "沪教版", + "v": "沪教版9年级物理" + }, + { + "n": "人教版", + "v": "人教版9年级物理" + }, + { + "n": "北师大版", + "v": "北师大版9年级物理" + }, + { + "n": "苏教版", + "v": "苏教版9年级物理" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "9年级生物": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "沪教版", + "v": "沪教版9年级生物" + }, + { + "n": "人教版", + "v": "人教版9年级生物" + }, + { + "n": "北师大版", + "v": "北师大版9年级生物" + }, + { + "n": "苏教版", + "v": "苏教版9年级生物" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "9年级历史": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "沪教版", + "v": "沪教版9年级历史" + }, + { + "n": "人教版", + "v": "人教版9年级历史" + }, + { + "n": "北师大版", + "v": "北师大版9年级历史" + }, + { + "n": "苏教版", + "v": "苏教版9年级历史" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ] + } +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/香雅情/json/动漫巴士.json b/tvboxqq/tvboxqq/香雅情/json/动漫巴士.json new file mode 100644 index 0000000..796f152 --- /dev/null +++ b/tvboxqq/tvboxqq/香雅情/json/动漫巴士.json @@ -0,0 +1,81 @@ +{ + "规则名": "动漫巴士", + "规则作者": "", + "请求头参数": "User-Agent$MOBILE_UA#Accept$text/html#accept-language$zh-CN,zh;q=0.8", + "网页编码格式": "UTF-8", + "图片是否需要代理": "0", + "是否开启获取首页数据": "1", + "首页推荐链接": "https://dm84.tv", + "首页列表数组规则": "body&&.v_list", + "首页片单列表数组规则": "li", + "首页片单是否Jsoup写法": "1", + "分类起始页码": "1", + "分类链接": "https://dm84.tv/list-{cateId}-{catePg}.html[firstPage=https://dm84.tv/list-{cateId}.html]", + "分类名称": "国产动漫&日本动漫&欧美动漫&动漫电影", + "分类名称替换词": "1&2&3&4", + "筛选数据": {}, + //"筛选数据": "ext", + //{cateId} + "筛选子分类名称": "", + "筛选子分类替换词": "", + //{class} + "筛选类型名称": "", + "筛选类型替换词": "*", + //{area} + "筛选地区名称": "", + "筛选地区替换词": "*", + //{year} + "筛选年份名称": "", + "筛选年份替换词": "*", + //{lang} + "筛选语言名称": "", + "筛选语言替换词": "*", + //{by} + "筛选排序名称": "时间&人气&评分", + "筛选排序替换词": "time&hits&score", + "分类截取模式": "1", + "分类列表数组规则": ".v_list&&li", + "分类片单是否Jsoup写法": "1", + "分类片单标题": "a&&title!在线观看", + "分类片单链接": "a&&href", + "分类片单图片": ".lazy&&data-bg", + "分类片单副标题": ".desc&&Text", + "分类片单链接加前缀": "https://dm84.tv", + "分类片单链接加后缀": "", + "搜索请求头参数": "User-Agent$手机#Accept$text/html#accept-language$zh-CN,zh;q=0.8", + "搜索链接": "https://dm84.tv/s-{wd}---------{SearchPg}.html", + "POST请求数据": "", + "搜索截取模式": "1", + "搜索列表数组规则": ".v_list&&li", + "搜索片单是否Jsoup写法": "1", + "搜索片单图片": ".lazy&&data-bg", + "搜索片单标题": "a&&title!在线观看", + "搜索片单链接": "a&&href", + "搜索片单副标题": ".desc&&Text", + "搜索片单链接加前缀": "https://dm84.tv", + "搜索片单链接加后缀": "", + "链接是否直接播放": "0", + "直接播放链接加前缀": "", + "直接播放链接加后缀": "", + "直接播放直链视频请求头": "", + "详情是否Jsoup写法": "1", + "类型详情": "", + "年代详情": "", + "地区详情": "", + "演员详情": "", + "简介详情": ".intro&&-p&&Text", + "线路列表数组规则": ".play_from&&li", + "线路标题": "Text", + "播放列表数组规则": ".tab_content&&.play_list", + "选集列表数组规则": "a", + "选集标题链接是否Jsoup写法": "1", + "选集标题": "a&&Text", + "选集链接": "a&&href", + "是否反转选集序列": "1", + "选集链接加前缀": "https://dm84.tv", + "选集链接加后缀": "", + "分析MacPlayer": "0", + "是否开启手动嗅探": "0", + "手动嗅探视频链接关键词": ".mp4#.m3u8#.flv#video/tos", + "手动嗅探视频链接过滤词": ".html#=http" +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/香雅情/json/去看吧动漫.json b/tvboxqq/tvboxqq/香雅情/json/去看吧动漫.json new file mode 100644 index 0000000..2593cf2 --- /dev/null +++ b/tvboxqq/tvboxqq/香雅情/json/去看吧动漫.json @@ -0,0 +1,82 @@ +{ + "规则名": "去看吧动漫", + "规则作者": "香雅情", + "请求头参数": "手机", + "网页编码格式": "UTF-8", + "图片是否需要代理": "1", + "是否开启获取首页数据": "1", + "首页推荐链接": "https://qkan8.com", + "首页列表数组规则": "body&&.fed-list-info:has(.fed-list-remarks)", + "首页片单列表数组规则": "li", + "首页片单是否Jsoup写法": "1", + "分类起始页码": "1", + "分类链接": "https://qkan8.com/index.php/vod/type/id/{cateId}/page/{catePg}.html", + "分类名称": "高清原碟&日漫&国语动漫&劇場&女频&日剧&美漫", + "分类名称替换词": "33&21&20&24&50&43&22", + //"分类名称替换词": "1&2&3&4", + "筛选数据": {}, + //"筛选数据": "ext", + //{cateId} + "筛选子分类名称": "", + "筛选子分类替换词": "", + //{class} + "筛选类型名称": "", + "筛选类型替换词": "*", + //{area} + "筛选地区名称": "", + "筛选地区替换词": "*", + //{year} + "筛选年份名称": "", + "筛选年份替换词": "*", + //{lang} + "筛选语言名称": "", + "筛选语言替换词": "*", + //{by} + "筛选排序名称": "时间&人气&评分", + "筛选排序替换词": "time&hits&score", + "分类截取模式": "1", + "分类列表数组规则": "body&&.fed-list-item:has(.fed-list-remarks)", + "分类片单是否Jsoup写法": "1", + "分类片单标题": ".fed-list-title&&Text", + "分类片单链接": "a&&href", + "分类片单图片": ".fed-list-pics&&data-original", + "分类片单副标题": ".fed-list-remarks&&Text", + "分类片单链接加前缀": "https://qkan8.com", + "分类片单链接加后缀": "", + "搜索请求头参数": "手机", + "搜索链接": "https://qkan8.com/index.php/ajax/suggest.html?mid=1&wd={wd}", + "POST请求数据": "", + "搜索截取模式": "0", + "搜索列表数组规则": "list", + "搜索片单是否Jsoup写法": "1", + "搜索片单图片": "pic", + "搜索片单标题": "name", + "搜索片单链接": "id", + "搜索片单副标题": "", + "搜索片单链接加前缀": "https://qkan8.com/index.php/vod/detail/id/", + "搜索片单链接加后缀": ".html", + "链接是否直接播放": "0", + "直接播放链接加前缀": "", + "直接播放链接加后缀": "", + "直接播放直链视频请求头": "", + "详情是否Jsoup写法": "0", + "类型详情": "", + "年代详情": "", + "地区详情": "", + "演员详情": "主演:&&", + "简介详情": "简介:&&", + "线路列表数组规则": ".fed-tabs-item&&ul&&li", + "线路标题": "Text", + "播放列表数组规则": "body&&.fed-play-item", + "选集列表数组规则": ".fed-btns-info", + "选集标题链接是否Jsoup写法": "1", + "选集标题": "a&&Text", + "选集链接": "a&&href", + "是否反转选集序列": "0", + "选集链接加前缀": "https://qkan8.com", + "选集链接加后缀": "", + "分析MacPlayer": "0", + "是否开启手动嗅探": "0", + "手动嗅探视频链接关键词": ".mp4#.m3u8#.flv#video/tos", + "手动嗅探视频链接过滤词": ".html#=http" +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/香雅情/json/哔嘀影视.json b/tvboxqq/tvboxqq/香雅情/json/哔嘀影视.json new file mode 100644 index 0000000..809a50d --- /dev/null +++ b/tvboxqq/tvboxqq/香雅情/json/哔嘀影视.json @@ -0,0 +1,93 @@ +{ + "规则名": "哔嘀影视", + "规则作者": "xlys.me", + "请求头参数": "User-Agent$电脑#Referer$https://v.xlys.ltd.ua", + "网页编码格式": "UTF-8", + "图片是否需要代理": "0", + "是否开启获取首页数据": "1", + "首页推荐链接": "https://v.xlys.ltd.ua", + "首页列表数组规则": "body", + "首页片单列表数组规则": ".card-link", + "首页片单是否Jsoup写法": "1", + //首页片单标题 + "首页片单标题": "h3&&Text", + //首页推荐片单链接 + "首页片单链接": "a&&href", + //首页推荐片单图片,支持自定义图片链接 + "首页片单图片": "img&&data-src", + //首页推荐片单副标题 + "首页片单副标题":".badge||.ribbon&&Text", + //首页推荐片单链接补前缀 + "首页片单链接加前缀": "https://v.xlys.ltd.ua", + //首页推荐片单链接补后缀 + "首页片单链接加后缀": "", + "分类起始页码": "1", + "分类链接": "https://v.xlys.ltd.ua/s/{cateId}/{catePg}?type={class}&year={year}&order={by}", + "分类名称": "不限&动作&爱情&喜剧&科幻&恐怖&战争&武侠&魔幻&剧情&动画&惊悚&3D&灾难&悬疑&警匪&文艺&青春&冒险&犯罪&纪录&古装&奇幻&国语&综艺&历史&运动&原创压制&美剧&韩剧&国产电视剧&日剧&英剧&德剧&俄剧&巴剧&加剧&西剧&意大利剧&泰剧&港台剧&法剧&澳剧", + "分类名称替换词": "all&dongzuo&aiqing&xiju&kehuan&kongbu&zhanzheng&wuxia&mohuan&juqing&donghua&jingsong&3D&zainan&xuanyi&jingfei&wenyi&qingchun&maoxian&fanzui&jilu&guzhuang&qihuan&guoyu&zongyi&lishi&yundong&yuanchuang&meiju&hanju&guoju&riju&yingju&deju&eju&baju&jiaju&spanish&yidaliju&taiju&gangtaiju&faju&aoju", + //"筛选数据": {}, + "筛选数据": "ext", + //{cateId} + "筛选子分类名称": "", + "筛选子分类替换词": "", + //{class} + "筛选类型名称": "全部&电影&电视剧", + "筛选类型替换词": "&0&1", + //{area} + "筛选地区名称": "", + "筛选地区替换词": "*", + //{year} + "筛选年份名称": "2023&2022&2021&2020&2019&2018&2017&2016&2015&2014&2013&2012&2011&2010&2009&2008&2007&2006&2005&2004&2003&2002&2001", + "筛选年份替换词": "*", + //{lang} + "筛选语言名称": "", + "筛选语言替换词": "*", + //{by} + "筛选排序名称": "更新时间&豆瓣评分", + "筛选排序替换词": "0&1", + "分类截取模式": "1", + "分类列表数组规则": ".row-cards&&.card", + "分类片单是否Jsoup写法": "1", + "分类片单标题": "h3&&Text", + "分类片单链接": "a&&href", + "分类片单图片": "img&&data-src||src", + "分类片单副标题": ".badge||p&&Text", + "分类片单链接加前缀": "https://v.xlys.ltd.ua", + "分类片单链接加后缀": "", + "搜索请求头参数": "User-Agent$手机#Referer$https://cn.bing.com/", + "搜索链接": "https://cn.bing.com/search?q=site:v.xlys.ltd.ua/ {wd}&qs=ds&form=QBRE", + "POST请求数据": "", + "搜索截取模式": "1", + "搜索列表数组规则": "ol#b_results&&li.b_algo", + "搜索片单是否Jsoup写法": "1", + "搜索片单图片": "", + "搜索片单标题": "h2&&Text", + "搜索片单链接": "a&&href", + "搜索片单副标题": "", + "搜索片单链接加前缀": "", + "搜索片单链接加后缀": "", + "链接是否直接播放": "0", + "直接播放链接加前缀": "", + "直接播放链接加后缀": "", + "直接播放直链视频请求头": "", + "详情是否Jsoup写法": "1", + "类型详情": "", + "年代详情": "", + "地区详情": "div.mb-2&&p,5&&Text!制片国家/地区:", + "演员详情": "div.mb-2&&p,3&&Text!主演:", + "简介详情": "#synopsis&&Text!剧情简介", + "线路列表数组规则": "body&&.card:has(#download-list)||.card:has(#torrent-list)||.card:has(#play-list)", + "线路标题": "h3&&Text", + "播放列表数组规则": "body&&#download-list||#torrent-list||#play-list", + "选集列表数组规则": "a:not([href^=http])", + "选集标题链接是否Jsoup写法": "1", + "选集标题": "a&&Text", + "选集链接": "a&&href", + "是否反转选集序列": "0", + "选集链接加前缀": "https://v.xlys.ltd.ua", + "选集链接加后缀": "", + "分析MacPlayer": "0", + "是否开启手动嗅探": "1", + "手动嗅探视频链接关键词": ".mp4#.m3u8#.flv#video/tos#item/video#video_mp4", + "手动嗅探视频链接过滤词": ".html#=http" +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/香雅情/json/嗷呜动漫.json b/tvboxqq/tvboxqq/香雅情/json/嗷呜动漫.json new file mode 100644 index 0000000..3f9e84c --- /dev/null +++ b/tvboxqq/tvboxqq/香雅情/json/嗷呜动漫.json @@ -0,0 +1,86 @@ +{ + "规则名": "嗷呜动漫", + "规则作者": "", + "请求头参数": "User-Agent$PC_UA#Referer$https://www.aowu.tv#accept$text/html#origin$https://www.aowu.tv", + "网页编码格式": "UTF-8", + "图片是否需要代理": "0", + "是否开启获取首页数据": "1", + "首页推荐链接": "https://www.aowu.tv", + "首页列表数组规则": "body&&.fadeInUp:has(.gen-movie-img)", + "首页片单列表数组规则": ".public-list-box", + "首页片单是否Jsoup写法": "1", + "首页片单标题": "a&&title", + "首页片单链接": "a&&href", + "首页片单图片": ".lazy&&data-src", + "首页片单副标题": ".public-list-prb&&Text", + "首页片单链接加前缀": "https://www.aowu.tv", + "首页片单链接加后缀": "", + "分类起始页码": "1", + "分类链接": "https://www.aowu.tv/index.php/ds_api/vod?type={cateId}&class=&area=&year=&lang=&version=&state=&letter=&time=&level=0&weekday=&by=time&page={catePg};post", + "分类名称": "新番&番剧&剧场版", + "分类名称替换词": "20&21&22", + "筛选数据": "ext", + //{cateId} + "筛选子分类名称": "", + "筛选子分类替换词": "", + //{class} + "筛选类型名称": "", + "筛选类型替换词": "*", + //{area} + "筛选地区名称": "", + "筛选地区替换词": "*", + //{year} + "筛选年份名称": "", + "筛选年份替换词": "*", + //{lang} + "筛选语言名称": "", + "筛选语言替换词": "*", + //{by} + "筛选排序名称": "最新&最热&评分", + "筛选排序替换词": "time&hits&score", + "分类截取模式": "0", + "分类列表数组规则": "list", + "分类片单是否Jsoup写法": "1", + "分类片单标题": "vod_name", + "分类片单链接": "url", + "分类片单图片": "vod_pic", + "分类片单副标题": "vod_remarks", + "分类片单链接加前缀": "https://www.aowu.tv", + "分类片单链接加后缀": "", + "搜索请求头参数": "User-Agent$PC_UA#Referer$https://www.aowu.tv#accept$text/html#origin$https://www.aowu.tv", + "搜索链接": "https://www.aowu.tv/search/{wd}----------{SearchPg}---.html", + "POST请求数据": "wd={wd}", + "搜索截取模式": "1", + "搜索列表数组规则": "body&&.search-list", + "搜索片单是否Jsoup写法": "1", + "搜索片单图片": ".lazy&&data-src", + "搜索片单标题": "h3&&Text", + "搜索片单链接": "a&&href", + "搜索片单副标题": ".slide-info-remarks&&Text", + "搜索片单链接加前缀": "https://www.aowu.tv", + "搜索片单链接加后缀": "", + "链接是否直接播放": "0", + "直接播放链接加前缀": "", + "直接播放链接加后缀": "#isVideo=true#", + "直接播放直链视频请求头": "", + "详情是否Jsoup写法": "1", + "类型详情": "", + "年代详情": "", + "地区详情": "", + "演员详情": ".detail-info&&.slide-info,2&&Text!演员:", + "简介详情": "#height_limit&&Text", + "线路列表数组规则": ".anthology-tab&&a", + "线路标题": "Text", + "播放列表数组规则": "body&&.anthology-list-play", + "选集列表数组规则": "li", + "选集标题链接是否Jsoup写法": "1", + "选集标题": "a&&Text", + "选集链接": "a&&href", + "是否反转选集序列": "0", + "选集链接加前缀": "https://www.aowu.tv", + "选集链接加后缀": "", + "分析MacPlayer": "0", + "是否开启手动嗅探": "0", + "手动嗅探视频链接关键词": ".mp4#.m3u8#.flv#obj/tos", + "手动嗅探视频链接过滤词": ".html#=http#=https" +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/香雅情/json/小学课堂.json b/tvboxqq/tvboxqq/香雅情/json/小学课堂.json new file mode 100644 index 0000000..ff02e39 --- /dev/null +++ b/tvboxqq/tvboxqq/香雅情/json/小学课堂.json @@ -0,0 +1,1051 @@ +{ + "cookie": "clan://XYQTVBox/bilicookie.txt", + "classes": [ + { + "type_name": "1年级语文", + "type_id": "1年级语文" + }, + { + "type_name": "1年级数学", + "type_id": "1年级数学" + }, + { + "type_name": "1年级英语", + "type_id": "1年级英语" + }, + { + "type_name": "2年级语文", + "type_id": "2年级语文" + }, + { + "type_name": "2年级数学", + "type_id": "2年级数学" + }, + { + "type_name": "2年级英语", + "type_id": "2年级英语" + }, + { + "type_name": "3年级语文", + "type_id": "3年级语文" + }, + { + "type_name": "3年级数学", + "type_id": "3年级数学" + }, + { + "type_name": "3年级英语", + "type_id": "3年级英语" + }, + { + "type_name": "4年级语文", + "type_id": "4年级语文" + }, + { + "type_name": "4年级数学", + "type_id": "4年级数学" + }, + { + "type_name": "4年级英语", + "type_id": "4年级英语" + }, + { + "type_name": "5年级语文", + "type_id": "5年级语文" + }, + { + "type_name": "5年级数学", + "type_id": "5年级数学" + }, + { + "type_name": "5年级英语", + "type_id": "5年级英语" + }, + { + "type_name": "6年级语文", + "type_id": "6年级语文" + }, + { + "type_name": "6年级数学", + "type_id": "6年级数学" + }, + { + "type_name": "6年级英语", + "type_id": "6年级英语" + } + ], + "filter": { + "1年级语文": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "沪教版", + "v": "沪教版1年级语文" + }, + { + "n": "人教版", + "v": "人教版1年级语文" + }, + { + "n": "北师大版", + "v": "北师大版1年级语文" + }, + { + "n": "苏教版", + "v": "苏教版1年级语文" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "1年级英语": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "沪教版", + "v": "沪教版1年级英语" + }, + { + "n": "人教版", + "v": "人教版1年级英语" + }, + { + "n": "北师大版", + "v": "北师大版1年级英语" + }, + { + "n": "苏教版", + "v": "苏教版1年级英语" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "1年级数学": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "沪教版", + "v": "沪教版1年级数学" + }, + { + "n": "人教版", + "v": "人教版1年级数学" + }, + { + "n": "北师大版", + "v": "北师大版1年级数学" + }, + { + "n": "苏教版", + "v": "苏教版1年级数学" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "2年级语文": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "沪教版", + "v": "沪教版2年级语文" + }, + { + "n": "人教版", + "v": "人教版2年级语文" + }, + { + "n": "北师大版", + "v": "北师大版2年级语文" + }, + { + "n": "苏教版", + "v": "苏教版2年级语文" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "2年级英语": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "沪教版", + "v": "沪教版2年级英语" + }, + { + "n": "人教版", + "v": "人教版2年级英语" + }, + { + "n": "北师大版", + "v": "北师大版2年级英语" + }, + { + "n": "苏教版", + "v": "苏教版2年级英语" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "2年级数学": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "沪教版", + "v": "沪教版2年级数学" + }, + { + "n": "人教版", + "v": "人教版2年级数学" + }, + { + "n": "北师大版", + "v": "北师大版2年级数学" + }, + { + "n": "苏教版", + "v": "苏教版2年级数学" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "3年级语文": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "沪教版", + "v": "沪教版3年级语文" + }, + { + "n": "人教版", + "v": "人教版3年级语文" + }, + { + "n": "北师大版", + "v": "北师大版3年级语文" + }, + { + "n": "苏教版", + "v": "苏教版3年级语文" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "3年级英语": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "沪教版", + "v": "沪教版3年级英语" + }, + { + "n": "人教版", + "v": "人教版3年级英语" + }, + { + "n": "北师大版", + "v": "北师大版3年级英语" + }, + { + "n": "苏教版", + "v": "苏教版3年级英语" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "3年级数学": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "沪教版", + "v": "沪教版3年级数学" + }, + { + "n": "人教版", + "v": "人教版3年级数学" + }, + { + "n": "北师大版", + "v": "北师大版3年级数学" + }, + { + "n": "苏教版", + "v": "苏教版3年级数学" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "4年级语文": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "沪教版", + "v": "沪教版4年级语文" + }, + { + "n": "人教版", + "v": "人教版4年级语文" + }, + { + "n": "北师大版", + "v": "北师大版4年级语文" + }, + { + "n": "苏教版", + "v": "苏教版4年级语文" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "4年级英语": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "沪教版", + "v": "沪教版4年级英语" + }, + { + "n": "人教版", + "v": "人教版4年级英语" + }, + { + "n": "北师大版", + "v": "北师大版4年级英语" + }, + { + "n": "苏教版", + "v": "苏教版4年级英语" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "4年级数学": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "沪教版", + "v": "沪教版4年级数学" + }, + { + "n": "人教版", + "v": "人教版4年级数学" + }, + { + "n": "北师大版", + "v": "北师大版4年级数学" + }, + { + "n": "苏教版", + "v": "苏教版4年级数学" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "5年级语文": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "沪教版", + "v": "沪教版5年级语文" + }, + { + "n": "人教版", + "v": "人教版5年级语文" + }, + { + "n": "北师大版", + "v": "北师大版5年级语文" + }, + { + "n": "苏教版", + "v": "苏教版5年级语文" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "5年级英语": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "沪教版", + "v": "沪教版5年级英语" + }, + { + "n": "人教版", + "v": "人教版5年级英语" + }, + { + "n": "北师大版", + "v": "北师大版5年级英语" + }, + { + "n": "苏教版", + "v": "苏教版5年级英语" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "5年级数学": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "沪教版", + "v": "沪教版5年级数学" + }, + { + "n": "人教版", + "v": "人教版5年级数学" + }, + { + "n": "北师大版", + "v": "北师大版5年级数学" + }, + { + "n": "苏教版", + "v": "苏教版5年级数学" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "6年级语文": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "沪教版", + "v": "沪教版6年级语文" + }, + { + "n": "人教版", + "v": "人教版6年级语文" + }, + { + "n": "北师大版", + "v": "北师大版6年级语文" + }, + { + "n": "苏教版", + "v": "苏教版6年级语文" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "6年级英语": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "沪教版", + "v": "沪教版6年级英语" + }, + { + "n": "人教版", + "v": "人教版6年级英语" + }, + { + "n": "北师大版", + "v": "北师大版6年级英语" + }, + { + "n": "苏教版", + "v": "苏教版6年级英语" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "6年级数学": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "沪教版", + "v": "沪教版6年级数学" + }, + { + "n": "人教版", + "v": "人教版6年级数学" + }, + { + "n": "北师大版", + "v": "北师大版6年级数学" + }, + { + "n": "苏教版", + "v": "苏教版6年级数学" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ] + } +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/香雅情/json/少儿教育.json b/tvboxqq/tvboxqq/香雅情/json/少儿教育.json new file mode 100644 index 0000000..d6717fc --- /dev/null +++ b/tvboxqq/tvboxqq/香雅情/json/少儿教育.json @@ -0,0 +1,41 @@ +{ + "cookie": "clan://XYQTVBox/bilicookie.txt", + "classes": [ + { + "type_name": "儿童", + "type_id": "3-6岁益智动画合集" + }, + { + "type_name": "宝宝巴士", + "type_id": "宝宝巴士动画合集" + }, + { + "type_name": "悟空识字", + "type_id": "识字认字动画合集" + }, + { + "type_name": "少儿", + "type_id": "CCTV14少儿频道合集" + }, + { + "type_name": "学而思", + "type_id": "学而思课程" + }, + { + "type_name": "小学", + "type_id": "小学六年辅导课程" + }, + { + "type_name": "初中", + "type_id": "初中三年辅导课程" + }, + { + "type_name": "高中", + "type_id": "高中三年辅导课程" + }, + { + "type_name": "教育", + "type_id": "十二年教育课程" + } + ] +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/香雅情/json/幼儿乐园.json b/tvboxqq/tvboxqq/香雅情/json/幼儿乐园.json new file mode 100644 index 0000000..ecffd02 --- /dev/null +++ b/tvboxqq/tvboxqq/香雅情/json/幼儿乐园.json @@ -0,0 +1,61 @@ +{ + "cookie": "clan://XYQTVBox/bilicookie.txt", + "classes": [ + { + "type_name": "儿童早教", + "type_id": "儿童早教" + }, + { + "type_name": "儿童启蒙故事", + "type_id": "儿童启蒙故事" + }, + { + "type_name": "儿童英语启蒙", + "type_id": "儿童英语启蒙" + }, + { + "type_name": "儿童歌曲", + "type_id": "儿童歌曲" + }, + { + "type_name": "儿童绘画", + "type_id": "儿童绘画" + }, + { + "type_name": "睡前故事", + "type_id": "睡前故事" + }, + { + "type_name": "儿童动画", + "type_id": "儿童动画" + }, + { + "type_name": "儿童音乐", + "type_id": "儿童音乐" + }, + { + "type_name": "儿童安全教育", + "type_id": "儿童安全教育" + }, + { + "type_name": "贝瓦儿歌", + "type_id": "贝瓦儿歌" + }, + { + "type_name": "悟空识字", + "type_id": "悟空识字" + }, + { + "type_name": "宝宝巴士", + "type_id": "宝宝巴士" + }, + { + "type_name": "儿歌多多", + "type_id": "儿歌多多" + }, + { + "type_name": "学而思", + "type_id": "学而思" + } + ] +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/香雅情/json/戏曲多多.json b/tvboxqq/tvboxqq/香雅情/json/戏曲多多.json new file mode 100644 index 0000000..427b46f --- /dev/null +++ b/tvboxqq/tvboxqq/香雅情/json/戏曲多多.json @@ -0,0 +1,71 @@ +{ + "规则名": "戏曲多多", + "规则作者": "", + "请求头参数": "User-Agent$okhttp/3.12.6", + "网页编码格式": "UTF-8", + "图片是否需要代理": "0", + "是否开启获取首页数据": "0", + "首页推荐链接": "", + "首页列表数组规则": "", + "首页片单列表数组规则": "", + "首页片单是否Jsoup写法": "1", + "首页片单标题": "a&&title", + "首页片单链接": "a&&href", + "首页片单图片": "img&&src", + "首页片单副标题": "", + "首页片单链接加前缀": "", + "首页片单链接加后缀": "", + "分类起始页码": "0", + "分类链接": "https://main.xiquduoduo.com/bama/service/s.php?type=getcollabellist&collid={cateId}&label=默认&pg={catePg}&ps=30", + "分类名称": "花鼓戏&黄梅戏&京剧&老电影&小品相声&儿歌多多&越剧&车载歌曲&采茶戏&豫剧&晋剧&经典歌曲&祁剧&桂剧&民间小调&二人转&河南坠子&评剧&歌仔戏&曲剧&湘剧&川剧&秦腔&婺剧&大平调&越调&莲花落&淮剧&赣剧&春晚戏曲&昆曲&锡剧&二人台&上党梆子&河北梆子&眉户戏&扬剧&皮影戏&绍兴莲花落&北路梆子&泗州戏&楚剧&庐剧&蒲剧&潮剧&评书&沪剧&粤剧&莆仙戏&琼剧&藏剧&布袋戏&吕剧&闽剧&黔剧&滇剧&新疆曲子戏&陇剧&漫瀚剧", + "分类名称替换词": "80000084&80000018&80000013&80000221&80000083&80000069&80000086&80000214&80000103&80000017&80000020&80000219&80000100&80000102&80000224&80000014&80000023&80000091&80000087&80000022&80000096&80000088&80000019&80000216&80000217&80000218&80000136&80000095&80000099&80000015&80000090&80000097&80000021&80000025&80000027&80000110&80000048&80000092&80000137&80000024&80000220&80000098&80000101&80000093&80000026&80000223&80000089&80000085&80000215&80000104&80000112&80000114&80000094&80000105&80000106&80000107&80000108&80000109&80000113", + "筛选数据": {}, + //"筛选数据": "ext", + //{cateId} + "筛选子分类名称": "", + "筛选子分类替换词": "", + //{class} + "筛选类型名称": "", + "筛选类型替换词": "*", + //{area} + "筛选地区名称": "", + "筛选地区替换词": "*", + //{year} + "筛选年份名称": "", + "筛选年份替换词": "*", + //{lang} + "筛选语言名称": "", + "筛选语言替换词": "*", + //{by} + "筛选排序名称": "默认&最新&高清&全本", + "筛选排序替换词": "*", + "分类截取模式": "0", + "分类列表数组规则": "list", + "分类片单是否Jsoup写法": "1", + "分类片单标题": "name", + "分类片单链接": "ddurl", + "分类片单图片": "pic", + "分类片单副标题": "", + "分类片单链接加前缀": "", + "分类片单链接加后缀": "", + "搜索请求头参数": "User-Agent$okhttp/3.12.6", + "搜索起始页码":"0", + "搜索链接": "https://main.xiquduoduo.com/bama/service/s.php?type=ddsearch&keyword={wd}&pg={SearchPg}&ps=30&album=true&allbz=true&origin=true", + "POST请求数据": "", + "搜索截取模式": "0", + "搜索列表数组规则": "list", + "搜索片单是否Jsoup写法": "1", + "搜索片单图片": "pic", + "搜索片单标题": "name", + "搜索片单链接": "ddurl", + "搜索片单副标题": "", + "搜索片单链接加前缀": "", + "搜索片单链接加后缀": "", + "链接是否直接播放": "1", + "直接播放链接加前缀": "", + "直接播放链接加后缀": "", + "直接播放直链视频请求头": "", + "是否开启手动嗅探": "0", + "手动嗅探视频链接关键词": ".mp4#.m3u8#.flv#video/tos", + "手动嗅探视频链接过滤词": ".html#=http" +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/香雅情/json/播视童趣.json b/tvboxqq/tvboxqq/香雅情/json/播视童趣.json new file mode 100644 index 0000000..9aeb060 --- /dev/null +++ b/tvboxqq/tvboxqq/香雅情/json/播视童趣.json @@ -0,0 +1,70 @@ +{ + "规则名": "播视童趣", + "规则作者": "香雅情", + "请求头参数": "电脑", + "网页编码格式": "UTF-8", + "图片是否需要代理": "0", + "是否开启获取首页数据": "1", + "首页推荐链接": "https://www.boosj.com/baby/", + "首页列表数组规则": "body&&.pub-hotplay-main||.pub-child-dance||.pub-toy-play||.pub-describe-story||.pub-child-song||.pub-child-eduction", + "首页片单列表数组规则": "a:has(img)", + "首页片单是否Jsoup写法": "1", + "首页片单标题": "img&&alt", + "首页片单链接": "a&&href", + "首页片单图片": "img&&src", + "首页片单副标题": "", + "首页片单链接加前缀": "", + "首页片单链接加后缀": "", + "分类起始页码": "1", + "分类链接": "https://www.boosj.com/search_res_3362__{cateId}_{catePg}_.html", + "分类名称": "全部&辅食&动画&儿童舞蹈&少儿英语&儿童歌曲&才艺&播视自制&故事&亲子教育&美术&其他&儿童游戏&识物&绘本&古诗&科普&儿童玩具&播视童趣儿童玩具", + "分类名称替换词": "&28&582&3364&3366&3367&3622&3782&3822&3842&4402&4583&4762&4842&4843&4844&4845&5102&5142", + "筛选数据": {}, + //"筛选数据": "ext", + //{cateId} + "筛选子分类名称": "", + "筛选子分类替换词": "", + //{class} + "筛选类型名称": "", + "筛选类型替换词": "*", + //{area} + "筛选地区名称": "", + "筛选地区替换词": "*", + //{year} + "筛选年份名称": "", + "筛选年份替换词": "*", + //{lang} + "筛选语言名称": "", + "筛选语言替换词": "*", + //{by} + "筛选排序名称": "", + "筛选排序替换词": "", + "分类截取模式": "1", + "分类列表数组规则": "body&&.bj-col4:has(img)", + "分类片单是否Jsoup写法": "1", + "分类片单标题": "a&&title", + "分类片单链接": "a&&href", + "分类片单图片": "img&&data-original", + "分类片单副标题": "", + "分类片单链接加前缀": "", + "分类片单链接加后缀": "", + "搜索请求头参数": "User-Agent$手机", + "搜索链接": "{wd}", + "POST请求数据": "", + "搜索截取模式": "1", + "搜索列表数组规则": "", + "搜索片单是否Jsoup写法": "1", + "搜索片单图片": "", + "搜索片单标题": "", + "搜索片单链接": "", + "搜索片单副标题": "", + "搜索片单链接加前缀": "", + "搜索片单链接加后缀": "", + "链接是否直接播放": "1", + "直接播放链接加前缀": "", + "直接播放链接加后缀": "", + "直接播放直链视频请求头": "", + "是否开启手动嗅探": "0", + "手动嗅探视频链接关键词": ".mp4#.m3u8#.flv#video/tos", + "手动嗅探视频链接过滤词": ".html#=http" +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/香雅情/json/樱花动漫.json b/tvboxqq/tvboxqq/香雅情/json/樱花动漫.json new file mode 100644 index 0000000..c84af24 --- /dev/null +++ b/tvboxqq/tvboxqq/香雅情/json/樱花动漫.json @@ -0,0 +1,81 @@ +{ + "规则名": "樱花动漫", + "规则作者": "", + "请求头参数": "User-Agent$MOBILE_UA#Referer$WebView", + "网页编码格式": "UTF-8", + "图片是否需要代理": "0", + "是否开启获取首页数据": "0", + "首页推荐链接": "http://www.yinghuadm.cn", + "首页列表数组规则": "body&&.module-main.tab-list.active", + "首页片单列表数组规则": ".module-item", + "首页片单是否Jsoup写法": "1", + "分类起始页码": "1", + "分类链接": "http://www.yinghuadm.cn/show_{cateId}--{by}------{catePg}---.html", + "分类名称": "日本动漫&国产动漫&动漫电影&欧美动漫", + "分类名称替换词": "ribendongman&guochandongman&dongmandianying&oumeidongman", + "筛选数据": {}, + //"筛选数据": "ext", + //{cateId} + "筛选子分类名称": "", + "筛选子分类替换词": "", + //{class} + "筛选类型名称": "", + "筛选类型替换词": "*", + //{area} + "筛选地区名称": "", + "筛选地区替换词": "*", + //{year} + "筛选年份名称": "", + "筛选年份替换词": "*", + //{lang} + "筛选语言名称": "", + "筛选语言替换词": "*", + //{by} + "筛选排序名称": "时间&人气&评分", + "筛选排序替换词": "time&hits&score", + "分类截取模式": "1", + "分类列表数组规则": "body&&.module-item", + "分类片单是否Jsoup写法": "1", + "分类片单标题": "a&&title", + "分类片单链接": "a&&href", + "分类片单图片": ".lazyload&&data-original", + "分类片单副标题": ".module-item-note&&Text", + "分类片单链接加前缀": "http://www.yinghuadm.cn", + "分类片单链接加后缀": "", + "搜索请求头参数": "User-Agent$MOBILE_UA", + "搜索链接": "http://www.yinghuadm.cn/search_{wd}----------{SearchPg}---.html", + "POST请求数据": "", + "搜索截取模式": "1", + "搜索列表数组规则": "body&&.module-item", + "搜索片单是否Jsoup写法": "1", + "搜索片单图片": ".lazyload&&data-original", + "搜索片单标题": ".module-card-item-title&&Text", + "搜索片单链接": "a&&href", + "搜索片单副标题": ".module-item-note&&Text", + "搜索片单链接加前缀": "http://www.yinghuadm.cn", + "搜索片单链接加后缀": "", + "链接是否直接播放": "0", + "直接播放链接加前缀": "", + "直接播放链接加后缀": "#isVideo=true#", + "直接播放直链视频请求头": "", + "详情是否Jsoup写法": "0", + "类型详情": "", + "年代详情": "", + "地区详情": "", + "演员详情": "主演:&&", + "简介详情": "introduction\">&&

    ", + "线路列表数组规则": "#y-playList&&.module-tab-item", + "线路标题": "Text", + "播放列表数组规则": "body&&.module-play-list-content", + "选集列表数组规则": "a", + "选集标题链接是否Jsoup写法": "1", + "选集标题": "a&&Text", + "选集链接": "a&&href", + "是否反转选集序列": "0", + "选集链接加前缀": "http://www.yinghuadm.cn", + "选集链接加后缀": "", + "分析MacPlayer": "0", + "是否开启手动嗅探": "0", + "手动嗅探视频链接关键词": ".mp4#.m3u8#.flv#video/tos", + "手动嗅探视频链接过滤词": ".html#=http" +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/香雅情/json/风车动漫.json b/tvboxqq/tvboxqq/香雅情/json/风车动漫.json new file mode 100644 index 0000000..74dae7b --- /dev/null +++ b/tvboxqq/tvboxqq/香雅情/json/风车动漫.json @@ -0,0 +1,81 @@ +{ + "规则名": "风车动漫", + "规则作者": "https://www.dmla.xyz/", + "请求头参数": "电脑", + "网页编码格式": "UTF-8", + "图片是否需要代理": "0", + "是否开启获取首页数据": "1", + "首页推荐链接": "https://www.tt776b.com", + "首页列表数组规则": "body&&.stui-vodlist:has(h4)", + "首页片单列表数组规则": "li", + "首页片单是否Jsoup写法": "1", + "分类起始页码": "1", + "分类链接": "https://www.tt776b.com/type/{cateId}-{catePg}.html[firstPage=https://www.tt776b.com/type/{cateId}.html]", + "分类名称": "日本动漫&国产动漫&动漫电影&欧美动漫", + "分类名称替换词": "ribendongman&guochandongman&dongmandianying&omeidongman", + "筛选数据": {}, + //"筛选数据": "ext", + //{cateId} + "筛选子分类名称": "", + "筛选子分类替换词": "", + //{class} + "筛选类型名称": "", + "筛选类型替换词": "*", + //{area} + "筛选地区名称": "", + "筛选地区替换词": "*", + //{year} + "筛选年份名称": "", + "筛选年份替换词": "*", + //{lang} + "筛选语言名称": "", + "筛选语言替换词": "*", + //{by} + "筛选排序名称": "时间&人气&评分", + "筛选排序替换词": "time&hits&score", + "分类截取模式": "1", + "分类列表数组规则": ".stui-vodlist||.myui-vodlist&&li", + "分类片单是否Jsoup写法": "1", + "分类片单标题": "h4&&a&&Text", + "分类片单链接": "h4&&a&&href", + "分类片单图片": ".lazyload&&data-original", + "分类片单副标题": ".pic-text&&Text", + "分类片单链接加前缀": "https://www.tt776b.com", + "分类片单链接加后缀": "", + "搜索请求头参数": "User-Agent$电脑", + "搜索链接": "https://www.tt776b.com/search/{wd}----------{SearchPg}---.html", + "POST请求数据": "searchword={wd}", + "搜索截取模式": "1", + "搜索列表数组规则": ".stui-vodlist__media||.myui-vodlist__media&&li", + "搜索片单是否Jsoup写法": "1", + "搜索片单图片": ".lazyload&&data-original", + "搜索片单标题": "h3||h4&&a&&Text", + "搜索片单链接": "h3||h4&&a&&href", + "搜索片单副标题": ".pic-text&&Text", + "搜索片单链接加前缀": "https://www.tt776b.com", + "搜索片单链接加后缀": "", + "链接是否直接播放": "0", + "直接播放链接加前缀": "", + "直接播放链接加后缀": "", + "直接播放直链视频请求头": "", + "详情是否Jsoup写法": "0", + "类型详情": "类型:&&", + "年代详情": "年份:&&", + "地区详情": "地区:&&", + "演员详情": "主演:&&

    ", + "简介详情": "简介:&&

    ", + "线路列表数组规则": ".nav-tabs&&li", + "线路标题": "Text", + "播放列表数组规则": "body&&.stui-content__playlist||.myui-content__list", + "选集列表数组规则": "li", + "选集标题链接是否Jsoup写法": "1", + "选集标题": "a&&Text", + "选集链接": "a&&href", + "是否反转选集序列": "0", + "选集链接加前缀": "https://www.tt776b.com", + "选集链接加后缀": "", + "分析MacPlayer": "0", + "是否开启手动嗅探": "1", + "手动嗅探视频链接关键词": ".mp4#.m3u8#.flv#video/tos#obj/tos-#pt=m3u8#mime_type=video_mp4#x-oss-signature=", + "手动嗅探视频链接过滤词": ".html#=http" +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/香雅情/json/高中课堂.json b/tvboxqq/tvboxqq/香雅情/json/高中课堂.json new file mode 100644 index 0000000..c90fc17 --- /dev/null +++ b/tvboxqq/tvboxqq/香雅情/json/高中课堂.json @@ -0,0 +1,1581 @@ +{ + "cookie": "clan://XYQTVBox/bilicookie.txt", + "classes": [ + { + "type_name": "高一语文", + "type_id": "高一语文" + }, + { + "type_name": "高一数学", + "type_id": "高一数学" + }, + { + "type_name": "高一英语", + "type_id": "高一英语" + }, + { + "type_name": "高一历史", + "type_id": "高一历史" + }, + { + "type_name": "高一地理", + "type_id": "高一地理" + }, + { + "type_name": "高一生物", + "type_id": "高一生物" + }, + { + "type_name": "高一思想政治", + "type_id": "高一思想政治" + }, + { + "type_name": "高一物理", + "type_id": "高一物理" + }, + { + "type_name": "高一化学", + "type_id": "高一化学" + }, + { + "type_name": "高二语文", + "type_id": "高二语文" + }, + { + "type_name": "高二数学", + "type_id": "高二数学" + }, + { + "type_name": "高二英语", + "type_id": "高二英语" + }, + { + "type_name": "高二历史", + "type_id": "高二历史" + }, + { + "type_name": "高二地理", + "type_id": "高二地理" + }, + { + "type_name": "高二生物", + "type_id": "高二生物" + }, + { + "type_name": "高二思想政治", + "type_id": "高二思想政治" + }, + { + "type_name": "高二物理", + "type_id": "高二物理" + }, + { + "type_name": "高二化学", + "type_id": "高二化学" + }, + { + "type_name": "高三语文", + "type_id": "高三语文" + }, + { + "type_name": "高三数学", + "type_id": "高三数学" + }, + { + "type_name": "高三英语", + "type_id": "高三英语" + }, + { + "type_name": "高三历史", + "type_id": "高三历史" + }, + { + "type_name": "高三地理", + "type_id": "高三地理" + }, + { + "type_name": "高三生物", + "type_id": "高三生物" + }, + { + "type_name": "高三思想政治", + "type_id": "高三思想政治" + }, + { + "type_name": "高三物理", + "type_id": "高三物理" + }, + { + "type_name": "高三化学", + "type_id": "高三化学" + }, + { + "type_name": "高中信息技术", + "type_id": "高中信息技术" + }, + { + "type_name": "高中信息技术", + "type_id": "高中信息技术" + } + ], + "filter": { + "高一语文": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "沪教版", + "v": "沪教版高一语文" + }, + { + "n": "人教版", + "v": "人教版高一语文" + }, + { + "n": "北师大版", + "v": "北师大版高一语文" + }, + { + "n": "苏教版", + "v": "苏教版高一语文" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "高一英语": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "沪教版", + "v": "沪教版高一英语" + }, + { + "n": "人教版", + "v": "人教版高一英语" + }, + { + "n": "北师大版", + "v": "北师大版高一英语" + }, + { + "n": "苏教版", + "v": "苏教版高一英语" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "高一数学": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "沪教版", + "v": "沪教版高一数学" + }, + { + "n": "人教版", + "v": "人教版高一数学" + }, + { + "n": "北师大版", + "v": "北师大版高一数学" + }, + { + "n": "苏教版", + "v": "苏教版高一数学" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "高一物理": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "沪教版", + "v": "沪教版高一物理" + }, + { + "n": "人教版", + "v": "人教版高一物理" + }, + { + "n": "北师大版", + "v": "北师大版高一物理" + }, + { + "n": "苏教版", + "v": "苏教版高一物理" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "高一化学": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "沪教版", + "v": "沪教版高一化学" + }, + { + "n": "人教版", + "v": "人教版高一化学" + }, + { + "n": "北师大版", + "v": "北师大版高一化学" + }, + { + "n": "苏教版", + "v": "苏教版高一化学" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "高一历史": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "沪教版", + "v": "沪教版高一历史" + }, + { + "n": "人教版", + "v": "人教版高一历史" + }, + { + "n": "北师大版", + "v": "北师大版高一历史" + }, + { + "n": "苏教版", + "v": "苏教版高一历史" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "高一生物": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "沪教版", + "v": "沪教版高一生物" + }, + { + "n": "人教版", + "v": "人教版高一生物" + }, + { + "n": "北师大版", + "v": "北师大版高一生物" + }, + { + "n": "苏教版", + "v": "苏教版高一生物" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "高一思想政治": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "沪教版", + "v": "沪教版高一思想政治" + }, + { + "n": "人教版", + "v": "人教版高一思想政治" + }, + { + "n": "北师大版", + "v": "北师大版高一思想政治" + }, + { + "n": "苏教版", + "v": "苏教版高一思想政治" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "高一地理": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "沪教版", + "v": "沪教版高一地理" + }, + { + "n": "人教版", + "v": "人教版高一地理" + }, + { + "n": "北师大版", + "v": "北师大版高一地理" + }, + { + "n": "苏教版", + "v": "苏教版高一地理" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "高二语文": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "沪教版", + "v": "沪教版高二语文" + }, + { + "n": "人教版", + "v": "人教版高二语文" + }, + { + "n": "北师大版", + "v": "北师大版高二语文" + }, + { + "n": "苏教版", + "v": "苏教版高二语文" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "高二英语": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "沪教版", + "v": "沪教版高二英语" + }, + { + "n": "人教版", + "v": "人教版高二英语" + }, + { + "n": "北师大版", + "v": "北师大版高二英语" + }, + { + "n": "苏教版", + "v": "苏教版高二英语" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "高二数学": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "沪教版", + "v": "沪教版高二数学" + }, + { + "n": "人教版", + "v": "人教版高二数学" + }, + { + "n": "北师大版", + "v": "北师大版高二数学" + }, + { + "n": "苏教版", + "v": "苏教版高二数学" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "高二物理": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "沪教版", + "v": "沪教版高二物理" + }, + { + "n": "人教版", + "v": "人教版高二物理" + }, + { + "n": "北师大版", + "v": "北师大版高二物理" + }, + { + "n": "苏教版", + "v": "苏教版高二物理" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "高二化学": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "沪教版", + "v": "沪教版高二化学" + }, + { + "n": "人教版", + "v": "人教版高二化学" + }, + { + "n": "北师大版", + "v": "北师大版高二化学" + }, + { + "n": "苏教版", + "v": "苏教版高二化学" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "高二历史": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "沪教版", + "v": "沪教版高二历史" + }, + { + "n": "人教版", + "v": "人教版高二历史" + }, + { + "n": "北师大版", + "v": "北师大版高二历史" + }, + { + "n": "苏教版", + "v": "苏教版高二历史" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "高二生物": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "沪教版", + "v": "沪教版高二生物" + }, + { + "n": "人教版", + "v": "人教版高二生物" + }, + { + "n": "北师大版", + "v": "北师大版高二生物" + }, + { + "n": "苏教版", + "v": "苏教版高二生物" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "高二思想政治": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "沪教版", + "v": "沪教版高二思想政治" + }, + { + "n": "人教版", + "v": "人教版高二思想政治" + }, + { + "n": "北师大版", + "v": "北师大版高二思想政治" + }, + { + "n": "苏教版", + "v": "苏教版高二思想政治" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "高二地理": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "沪教版", + "v": "沪教版高二地理" + }, + { + "n": "人教版", + "v": "人教版高二地理" + }, + { + "n": "北师大版", + "v": "北师大版高二地理" + }, + { + "n": "苏教版", + "v": "苏教版高二地理" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "高三语文": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "沪教版", + "v": "沪教版高三语文" + }, + { + "n": "人教版", + "v": "人教版高三语文" + }, + { + "n": "北师大版", + "v": "北师大版高三语文" + }, + { + "n": "苏教版", + "v": "苏教版高三语文" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "高三英语": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "沪教版", + "v": "沪教版高三英语" + }, + { + "n": "人教版", + "v": "人教版高三英语" + }, + { + "n": "北师大版", + "v": "北师大版高三英语" + }, + { + "n": "苏教版", + "v": "苏教版高三英语" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "高三数学": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "沪教版", + "v": "沪教版高三数学" + }, + { + "n": "人教版", + "v": "人教版高三数学" + }, + { + "n": "北师大版", + "v": "北师大版高三数学" + }, + { + "n": "苏教版", + "v": "苏教版高三数学" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "高三物理": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "沪教版", + "v": "沪教版高三物理" + }, + { + "n": "人教版", + "v": "人教版高三物理" + }, + { + "n": "北师大版", + "v": "北师大版高三物理" + }, + { + "n": "苏教版", + "v": "苏教版高三物理" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "高三化学": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "沪教版", + "v": "沪教版高三化学" + }, + { + "n": "人教版", + "v": "人教版高三化学" + }, + { + "n": "北师大版", + "v": "北师大版高三化学" + }, + { + "n": "苏教版", + "v": "苏教版高三化学" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "高三历史": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "沪教版", + "v": "沪教版高三历史" + }, + { + "n": "人教版", + "v": "人教版高三历史" + }, + { + "n": "北师大版", + "v": "北师大版高三历史" + }, + { + "n": "苏教版", + "v": "苏教版高三历史" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "高三生物": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "沪教版", + "v": "沪教版高三生物" + }, + { + "n": "人教版", + "v": "人教版高三生物" + }, + { + "n": "北师大版", + "v": "北师大版高三生物" + }, + { + "n": "苏教版", + "v": "苏教版高三生物" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "高三思想政治": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "沪教版", + "v": "沪教版高三思想政治" + }, + { + "n": "人教版", + "v": "人教版高三思想政治" + }, + { + "n": "北师大版", + "v": "北师大版高三思想政治" + }, + { + "n": "苏教版", + "v": "苏教版高三思想政治" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ], + "高三地理": [ + { + "key": "tid", + "name": "分类", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "沪教版", + "v": "沪教版高三地理" + }, + { + "n": "人教版", + "v": "人教版高三地理" + }, + { + "n": "北师大版", + "v": "北师大版高三地理" + }, + { + "n": "苏教版", + "v": "苏教版高三地理" + } + ] + }, + { + "key": "duration", + "name": "时长", + "value": [ + { + "n": "全部", + "v": "0" + }, + { + "n": "60分钟以上", + "v": "4" + }, + { + "n": "30~60分钟", + "v": "3" + }, + { + "n": "10~30分钟", + "v": "2" + }, + { + "n": "10分钟以下", + "v": "1" + } + ] + } + ] + } +} \ No newline at end of file diff --git a/tvboxqq/tvboxqq/香雅情/lives/BMCH.txt b/tvboxqq/tvboxqq/香雅情/lives/BMCH.txt new file mode 100644 index 0000000..6d196f7 --- /dev/null +++ b/tvboxqq/tvboxqq/香雅情/lives/BMCH.txt @@ -0,0 +1,1495 @@ +#EXTM3U +#EXTINF:-1 group-title="央视台" tvg-id="null" tvg-name="CGTN" tvg-logo="https://live.fanmingming.com/tv/CGTN.png" t-time="1083" v-w="1280" v-h="720", CGTN英语 +https://0472.org/hls/cgtn.m3u8 +#EXTINF:-1 group-title="央视台" tvg-id="null" tvg-name="CGTN纪录" tvg-logo="https://live.fanmingming.com/tv/CGTN纪录.png" t-time="309" v-w="1280" v-h="720", CGTN记录 +https://0472.org/hls/cgtnd.m3u8 +#EXTINF:-1 group-title="央视台" tvg-id="null" tvg-name="CGTN俄语" tvg-logo="https://live.fanmingming.com/tv/CGTN俄语.png" t-time="397" v-w="1920" v-h="1080", CGTN俄语 +https://0472.org/hls/cgtne.m3u8 +#EXTINF:-1 group-title="央视台" tvg-id="null" tvg-name="CGTN法语" tvg-logo="https://live.fanmingming.com/tv/CGTN法语.png" t-time="999" v-w="1920" v-h="1080", CGTN法语 +https://0472.org/hls/cgtnf.m3u8 +#EXTINF:-1 group-title="央视台" tvg-id="null" tvg-name="CGTN西语" tvg-logo="https://live.fanmingming.com/tv/CGTN西语.png" t-time="601" v-w="1920" v-h="1080", CGTN西语 +https://0472.org/hls/cgtnx.m3u8 +#EXTINF:-1 group-title="央视台" tvg-id="null" tvg-name="CGTN阿语" tvg-logo="https://live.fanmingming.com/tv/CGTN阿语.png" t-time="570" v-w="1920" v-h="1080", CGTN阿语 +https://0472.org/hls/cgtna.m3u8 +#EXTINF:-1 group-title="央视台" tvg-id="null" tvg-name="测试视频 7.1.4 12声道" tvg-logo="null" t-time="235" v-w="3840" v-h="2160", 测试视频 7.1.4 12声道 +https://mos-vod-drcn.dbankcdn.cn/P_VT/video_injection/3282D63676C3EAC291CFD5D891CB5D3A8C52A5B9AA8EBEF72D0BEF0A34EAEFC0134D9B0/v3/M2040549141360156160/chunjianghuayueyevivid.mp4 +#EXTINF:-1 group-title="历年春晚" tvg-id="春晚1983" tvg-name="春晚1983" tvg-logo="https://img.whalenas.com:283/file/cw.png" t-time="183" v-w="768" v-h="576", 春晚1983 +https://alimov2.a.kwimgs.com/upic/2022/01/31/15/BMjAyMjAxMzExNTU5MTRfNDAzMDAxOTlfNjYyNzMxNjcwMjBfMF8z_b_Beb3bda599f76c60c463c433ca7460153.mp4 +#EXTINF:-1 group-title="历年春晚" tvg-id="春晚1984" tvg-name="春晚1984" tvg-logo="https://img.whalenas.com:283/file/cw.png" t-time="244" v-w="768" v-h="576", 春晚1984 +https://alimov2.a.kwimgs.com/upic/2022/01/31/15/BMjAyMjAxMzExNTU5NTRfNDAzMDAxOTlfNjYyNzMyMzg3MTRfMF8z_b_B192356dadbc90d207ba16964d4c2914c.mp4 +#EXTINF:-1 group-title="历年春晚" tvg-id="春晚1985" tvg-name="春晚1985" tvg-logo="https://img.whalenas.com:283/file/cw.png" t-time="547" v-w="768" v-h="576", 春晚1985 +https://alimov2.a.kwimgs.com/upic/2022/01/31/16/BMjAyMjAxMzExNjAwMDFfNDAzMDAxOTlfNjYyNzMyNTAwMzJfMF8z_b_Be73c5abcbc0eeb2ec9fce6842e1362a4.mp4 +#EXTINF:-1 group-title="历年春晚" tvg-id="春晚1986" tvg-name="春晚1986" tvg-logo="https://img.whalenas.com:283/file/cw.png" t-time="558" v-w="768" v-h="576", 春晚1986 +https://alimov2.a.kwimgs.com/upic/2022/01/31/16/BMjAyMjAxMzExNjAwMDRfNDAzMDAxOTlfNjYyNzMyNTU0OTRfMF8z_b_B24f7d19f1132fa5d7f502f8377ad5567.mp4 +#EXTINF:-1 group-title="历年春晚" tvg-id="春晚1987" tvg-name="春晚1987" tvg-logo="https://img.whalenas.com:283/file/cw.png" t-time="669" v-w="640" v-h="480", 春晚1987 +https://alimov2.a.kwimgs.com/upic/2022/01/31/16/BMjAyMjAxMzExNjAwMDhfNDAzMDAxOTlfNjYyNzMyNjMyMDNfMF8z_b_B570493ed8f7200d4013a66b2d21b2de9.mp4 +#EXTINF:-1 group-title="历年春晚" tvg-id="春晚1988" tvg-name="春晚1988" tvg-logo="https://img.whalenas.com:283/file/cw.png" t-time="496" v-w="640" v-h="480", 春晚1988 +https://alimov2.a.kwimgs.com/upic/2022/01/31/16/BMjAyMjAxMzExNjAwMTJfNDAzMDAxOTlfNjYyNzMyNjkxNjBfMF8z_b_B8c835b83a92d25bde81ba22c5cd9521e.mp4 +#EXTINF:-1 group-title="历年春晚" tvg-id="春晚1989" tvg-name="春晚1989" tvg-logo="https://img.whalenas.com:283/file/cw.png" t-time="532" v-w="640" v-h="480", 春晚1989 +https://alimov2.a.kwimgs.com/upic/2022/01/31/16/BMjAyMjAxMzExNjAwMTVfNDAzMDAxOTlfNjYyNzMyNzQ2OTlfMF8z_b_Be477b27b9ce655d2372df56a5a3d96ef.mp4 +#EXTINF:-1 group-title="历年春晚" tvg-id="春晚1991" tvg-name="春晚1991" tvg-logo="https://img.whalenas.com:283/file/cw.png" t-time="43" v-w="768" v-h="576", 春晚1991 +https://alimov2.a.kwimgs.com/upic/2022/01/31/16/BMjAyMjAxMzExNjI2MTVfNDAzMDAxOTlfNjYyNzYwNjUxNjVfMF8z_b_B8feb7b85888678d71bf37a259c6850f6.mp4 +#EXTINF:-1 group-title="历年春晚" tvg-id="春晚1992" tvg-name="春晚1992" tvg-logo="https://img.whalenas.com:283/file/cw.png" t-time="378" v-w="982" v-h="720", 春晚1992 +https://txmov2.a.kwimgs.com/bs3/video-hls/5256826755663896297_hlshd15.m3u8 +#EXTINF:-1 group-title="历年春晚" tvg-id="春晚1993" tvg-name="春晚1993" tvg-logo="https://img.whalenas.com:283/file/cw.png" t-time="299" v-w="982" v-h="720", 春晚1993 +https://alimov2.a.kwimgs.com/upic/2023/01/13/22/BMjAyMzAxMTMyMjEwMDNfNDAzMDAxOTlfOTM1MTIzMzYwODJfMF8z_b_B647d10e431b4cc5e48e6c77347d69021.mp4 +#EXTINF:-1 group-title="历年春晚" tvg-id="春晚1994" tvg-name="春晚1994" tvg-logo="https://img.whalenas.com:283/file/cw.png" t-time="664" v-w="982" v-h="720", 春晚1994 +https://alimov2.a.kwimgs.com/upic/2023/01/13/22/BMjAyMzAxMTMyMjEwMDNfNDAzMDAxOTlfOTM1MTIzMzYxMjNfMF8z_b_B3dde97f36273f04403d4dc5eec611a35.mp4 +#EXTINF:-1 group-title="历年春晚" tvg-id="春晚1995" tvg-name="春晚1995" tvg-logo="https://img.whalenas.com:283/file/cw.png" t-time="866" v-w="982" v-h="720", 春晚1995 +https://alimov2.a.kwimgs.com/upic/2023/01/13/20/BMjAyMzAxMTMyMDA5MjJfNDAzMDAxOTlfOTM0OTkwNDQwNzVfMF8z_b_B811c0dec6b9a3d3074a18522c185010a.mp4 +#EXTINF:-1 group-title="历年春晚" tvg-id="春晚1996" tvg-name="春晚1996" tvg-logo="https://img.whalenas.com:283/file/cw.png" t-time="1648" v-w="982" v-h="720", 春晚1996 +https://alimov2.a.kwimgs.com/upic/2023/01/13/22/BMjAyMzAxMTMyMjEwMDNfNDAzMDAxOTlfOTM1MTIzMzYxNTJfMF8z_b_Bd841eae10ab1c9955ef55fbedfae6c45.mp4 +#EXTINF:-1 group-title="历年春晚" tvg-id="春晚1998" tvg-name="春晚1998" tvg-logo="https://img.whalenas.com:283/file/cw.png" t-time="497" v-w="982" v-h="720", 春晚1998 +https://txmov2.a.kwimgs.com/bs3/video-hls/5225864507896315430_hlshd15.m3u8 +#EXTINF:-1 group-title="历年春晚" tvg-id="春晚1999" tvg-name="春晚1999" tvg-logo="https://img.whalenas.com:283/file/cw.png" t-time="417" v-w="982" v-h="720", 春晚1999 +https://alimov2.a.kwimgs.com/upic/2023/01/13/20/BMjAyMzAxMTMyMDA5MjJfNDAzMDAxOTlfOTM0OTkwNDQxNTRfMF8z_b_B0b5e52bc003285ef66ec0cbb2be08556.mp4 +#EXTINF:-1 group-title="历年春晚" tvg-id="春晚2000" tvg-name="春晚2000" tvg-logo="https://img.whalenas.com:283/file/cw.png" t-time="365" v-w="982" v-h="720", 春晚2000 +https://alimov2.a.kwimgs.com/upic/2023/01/13/21/BMjAyMzAxMTMyMTE4MzRfNDAzMDAxOTlfOTM1MDY4ODIxMTNfMF8z_b_Bdddf4e7ef0ff6cfd477857bb40e78419.mp4 +#EXTINF:-1 group-title="历年春晚" tvg-id="春晚2001" tvg-name="春晚2001" tvg-logo="https://img.whalenas.com:283/file/cw.png" t-time="1625" v-w="982" v-h="720", 春晚2001 +https://alimov2.a.kwimgs.com/upic/2023/01/13/20/BMjAyMzAxMTMyMDA5MjJfNDAzMDAxOTlfOTM0OTkwNDQyMDFfMF8z_b_B70592cb7c4054e9cabb675e849bbf4bd.mp4 +#EXTINF:-1 group-title="历年春晚" tvg-id="春晚2002" tvg-name="春晚2002" tvg-logo="https://img.whalenas.com:283/file/cw.png" t-time="1697" v-w="982" v-h="720", 春晚2002 +https://alimov2.a.kwimgs.com/upic/2023/01/13/21/BMjAyMzAxMTMyMTE4MzRfNDAzMDAxOTlfOTM1MDY4ODIxNDdfMF8z_b_Ba6271d10b7e6cfae83759033a091f257.mp4 +#EXTINF:-1 group-title="历年春晚" tvg-id="春晚2003" tvg-name="春晚2003" tvg-logo="https://img.whalenas.com:283/file/cw.png" t-time="1541" v-w="982" v-h="720", 春晚2003 +https://alimov2.a.kwimgs.com/upic/2023/01/14/23/BMjAyMzAxMTQyMzQxNDdfNDAzMDAxOTlfOTM2MTU0MTk1NDFfMF8z_b_B182749d2cd2ea9323639254af385f24b.mp4 +#EXTINF:-1 group-title="历年春晚" tvg-id="春晚2004" tvg-name="春晚2004" tvg-logo="https://img.whalenas.com:283/file/cw.png" t-time="1404" v-w="982" v-h="720", 春晚2004 +https://alimov2.a.kwimgs.com/upic/2023/01/13/21/BMjAyMzAxMTMyMTE4MzRfNDAzMDAxOTlfOTM1MDY4ODIxOTVfMF8z_b_B86c4430b82ff5a7f4e8132f6ee558536.mp4 +#EXTINF:-1 group-title="历年春晚" tvg-id="春晚2005" tvg-name="春晚2005" tvg-logo="https://img.whalenas.com:283/file/cw.png" t-time="1812" v-w="982" v-h="720", 春晚2005 +https://alimov2.a.kwimgs.com/upic/2023/01/13/20/BMjAyMzAxMTMyMDA5MjJfNDAzMDAxOTlfOTM0OTkwNDQyMzhfMF8z_b_B35ad7cc86aec8fc9e5ddfb31fc7bed63.mp4 +#EXTINF:-1 group-title="历年春晚" tvg-id="春晚2006" tvg-name="春晚2006" tvg-logo="https://img.whalenas.com:283/file/cw.png" t-time="1553" v-w="786" v-h="576", 春晚2006 +https://alimov2.a.kwimgs.com/upic/2023/01/13/20/BMjAyMzAxMTMyMDA5MjJfNDAzMDAxOTlfOTM0OTkwNDQyNzlfMF8z_b_Bbc3703fc331dc994c50859c19aad28ff.mp4 +#EXTINF:-1 group-title="历年春晚" tvg-id="春晚2007" tvg-name="春晚2007" tvg-logo="https://img.whalenas.com:283/file/cw.png" t-time="1942" v-w="982" v-h="720", 春晚2007 +https://alimov2.a.kwimgs.com/upic/2023/01/13/20/BMjAyMzAxMTMyMDA5MjJfNDAzMDAxOTlfOTM0OTkwNDQzMjNfMF8z_b_B00b069c7899976459ceeaa99353dfefe.mp4 +#EXTINF:-1 group-title="历年春晚" tvg-id="春晚2008" tvg-name="春晚2008" tvg-logo="https://img.whalenas.com:283/file/cw.png" t-time="2455" v-w="982" v-h="720", 春晚2008 +https://alimov2.a.kwimgs.com/upic/2023/01/13/20/BMjAyMzAxMTMyMDA5MjJfNDAzMDAxOTlfOTM0OTkwNDQzNTNfMF8z_b_Bd7346962e61bd7b84e11a1fa6e4616f9.mp4 +#EXTINF:-1 group-title="历年春晚" tvg-id="春晚2009" tvg-name="春晚2009" tvg-logo="https://img.whalenas.com:283/file/cw.png" t-time="2504" v-w="786" v-h="576", 春晚2009 +https://alimov2.a.kwimgs.com/upic/2023/01/13/20/BMjAyMzAxMTMyMDA5MjJfNDAzMDAxOTlfOTM0OTkwNDQzOTBfMF8z_b_B29a36a85e0277f6c2a1f033ef7c10708.mp4 +#EXTINF:-1 group-title="历年春晚" tvg-id="春晚2010" tvg-name="春晚2010" tvg-logo="https://img.whalenas.com:283/file/cw.png" t-time="1825" v-w="982" v-h="720", 春晚2010 +https://alimov2.a.kwimgs.com/upic/2023/01/13/20/BMjAyMzAxMTMyMDA5MjJfNDAzMDAxOTlfOTM0OTkwNDQ0MjlfMF8z_b_B8818807a00eed329a69fb494f405bd43.mp4 +#EXTINF:-1 group-title="历年春晚" tvg-id="春晚2011" tvg-name="春晚2011" tvg-logo="https://img.whalenas.com:283/file/cw.png" t-time="1843" v-w="982" v-h="720", 春晚2011 +https://alimov2.a.kwimgs.com/upic/2023/01/16/11/BMjAyMzAxMTYxMTA3MjFfNDAzMDAxOTlfOTM3MjcyMjA3ODhfMF8z_b_B8214200efc869dc6fcf99dad619fa4c1.mp4 +#EXTINF:-1 group-title="历年春晚" tvg-id="春晚2013" tvg-name="春晚2013" tvg-logo="https://img.whalenas.com:283/file/cw.png" t-time="956" v-w="768" v-h="576", 春晚2013 +https://alimov2.a.kwimgs.com/upic/2023/01/13/20/BMjAyMzAxMTMyMDA5MjJfNDAzMDAxOTlfOTM0OTkwNDQ1NjNfMF8z_b_B4fea55408dca4471a68a963ae096be59.mp4 +#EXTINF:-1 group-title="历年春晚" tvg-id="春晚2014" tvg-name="春晚2014" tvg-logo="https://img.whalenas.com:283/file/cw.png" t-time="1286" v-w="1280" v-h="720", 春晚2014 +https://alimov2.a.kwimgs.com/upic/2023/01/06/16/BMjAyMzAxMDYxNjMxMTNfNDAzMDAxOTlfOTI4OTY2ODAzNjlfMF8z_b_Bdee65c77f9e7b2120a185c919dad81d2.mp4 +#EXTINF:-1 group-title="历年春晚" tvg-id="春晚2015" tvg-name="春晚2015" tvg-logo="https://img.whalenas.com:283/file/cw.png" t-time="2758" v-w="1280" v-h="720", 春晚2015 +https://alimov2.a.kwimgs.com/upic/2023/01/13/20/BMjAyMzAxMTMyMDA5MjJfNDAzMDAxOTlfOTM0OTkwNDQ2MTZfMF8z_b_B4851f43f5a2bc2871a9b0ec87294a6e7.mp4 +#EXTINF:-1 group-title="历年春晚" tvg-id="春晚2017" tvg-name="春晚2017" tvg-logo="https://img.whalenas.com:283/file/cw.png" t-time="1449" v-w="1280" v-h="720", 春晚2017 +https://alimov2.a.kwimgs.com/upic/2023/01/13/20/BMjAyMzAxMTMyMDA5MjJfNDAzMDAxOTlfOTM0OTkwNDQ2NDhfMF8z_b_B6527b0c2ce3dda1d9b3f34edd4fdb9aa.mp4 +#EXTINF:-1 group-title="历年春晚" tvg-id="春晚2018" tvg-name="春晚2018" tvg-logo="https://img.whalenas.com:283/file/cw.png" t-time="3223" v-w="1280" v-h="720", 春晚2018 +https://alimov2.a.kwimgs.com/upic/2023/01/06/16/BMjAyMzAxMDYxNjMxMTRfNDAzMDAxOTlfOTI4OTY2ODE2MTBfMF8z_b_B11a778e34390a21de42d407e94f45b91.mp4 +#EXTINF:-1 group-title="历年春晚" tvg-id="春晚2019" tvg-name="春晚2019" tvg-logo="https://img.whalenas.com:283/file/cw.png" t-time="1856" v-w="1280" v-h="720", 春晚2019 +https://alimov2.a.kwimgs.com/upic/2023/01/06/16/BMjAyMzAxMDYxNjMxMTRfNDAzMDAxOTlfOTI4OTY2ODE2MTBfMF8z_b_B11a778e34390a21de42d407e94f45b91.mp4 +#EXTINF:-1 group-title="历年春晚" tvg-id="春晚2020" tvg-name="春晚2020" tvg-logo="https://img.whalenas.com:283/file/cw.png" t-time="2543" v-w="1280" v-h="720", 春晚2020 +https://alimov2.a.kwimgs.com/upic/2022/01/30/17/BMjAyMjAxMzAxNzA5NDdfNDAzMDAxOTlfNjYxNzQ2MDAyMTFfMF8z_b_B5d51d9564c5670dc66faeba20aa7af3f.mp4 +#EXTINF:-1 group-title="历年春晚" tvg-id="春晚2021" tvg-name="春晚2021" tvg-logo="https://img.whalenas.com:283/file/cw.png" t-time="2413" v-w="1280" v-h="720", 春晚2021 +https://alimov2.a.kwimgs.com/upic/2022/01/30/17/BMjAyMjAxMzAxNzE4NTJfNDAzMDAxOTlfNjYxNzUzOTg3NjlfMF8z_b_Be41d9503181d7b0608a839ed401e02c2.mp4 +#EXTINF:-1 group-title="历年春晚" tvg-id="春晚2022" tvg-name="春晚2022" tvg-logo="https://img.whalenas.com:283/file/cw.png" t-time="3450" v-w="1280" v-h="720", 春晚2022 +https://alimov2.a.kwimgs.com/upic/2022/02/01/11/BMjAyMjAyMDExMTEwMjNfNDAzMDAxOTlfNjYzNzA4MTk4NzNfMF8z_b_B898cc7ddd0025bf54ddb18ec1f723c84.mp4 +#EXTINF:-1 group-title="历年春晚" tvg-id="春晚2023" tvg-name="春晚2023" tvg-logo="https://img.whalenas.com:283/file/cw.png" t-time="1858" v-w="1280" v-h="720", 春晚2023 +https://txmov2.a.kwimgs.com/bs3/video-hls/5251197255879398624_hlshd15.m3u8 +#EXTINF:-1 group-title="历年春晚" tvg-id="春晚2024" tvg-name="春晚2024" tvg-logo="https://img.whalenas.com:283/file/cw.png" t-time="51" v-w="1920" v-h="1080", 春晚2024 +https://p2.bdstatic.com/rtmp.liveshow.lss-user.baidubce.com/live/stream_bduid_6488563992_8982723413/merged_1707497046297_88536_25144_41936.m3u8 +#EXTINF:-1 group-title="港澳台" tvg-id="Pet" tvg-name="Pet Club TV" tvg-logo="https://i.imgur.com/ykPNNwQ.png" t-time="4343" v-w="1920" v-h="1080", Pet Club TV +https://cdn-apse1-prod.tsv2.amagi.tv/linear/amg01076-lightningintern-petclub-samsungnz/playlist.m3u8 +#EXTINF:-1 group-title="港澳台" tvg-id="HKS" tvg-name="HKS" tvg-logo="https://i.imgur.com/UhwlxwL.png" t-time="54" v-w="720" v-h="576", HKS +http://zhibo.hkstv.tv/livestream/mutfysrq/playlist.m3u8 +#EXTINF:-1 group-title="港澳台" tvg-id="Beautiful" tvg-name="Beautiful Life TV" tvg-logo="https://i.imgur.com/hkwcBM9.png" t-time="3977" v-w="1280" v-h="720", Beautiful Life TV +https://5ddce30eb4b55.streamlock.net/bltvhd/bltv1/playlist.m3u8 +#EXTINF:-1 group-title="港澳台" tvg-id="TVBS-Asia" tvg-name="TVBS-Asia" tvg-logo="https://i.imgur.com/4S1rkhm.png" t-time="347" v-w="1920" v-h="1080", TVBS-Asia +http://38.64.72.148/hls/modn/list/4005/playlist.m3u8 +#EXTINF:-1 group-title="央视台" tvg-id="CCTV-4" tvg-name="CCTV-4 中文国际" tvg-logo="https://live.fanmingming.com/tv/CCTV4.png" t-time="271" v-w="-1" v-h="-1", CCTV-4 +https://piccpndks.v.kcdnvip.com/audio/cctv4_2/index.m3u8?playHost=piccpndks.v.kcdnvip.com +#EXTINF:-1 group-title="央视台" tvg-id="CCTV-4k" tvg-name="CCTV-4K 高清" tvg-logo="https://live.fanmingming.com/tv/CCTV4.png" t-time="3127" v-w="-1" v-h="-1", CCTV-4K +https://www.nettvpro.xyz/player/videojs.php?url=https://liveop.cctv.cn/hls/4KHD/playlist.m3u8 +#EXTINF:-1 group-title="央视台" tvg-id="CCTV-9" tvg-name="CCTV-9 纪录" tvg-logo="https://live.fanmingming.com/tv/CCTV9.png" t-time="361" v-w="-1" v-h="-1", CCTV-9 +https://www.nettvpro.xyz/player/videojs.php?url=http://123.184.28.3/hlslive-tx-cdn.ysp.cctv.cn/012/2024078603.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="凤凰资讯" tvg-name="凤凰资讯" tvg-logo="https://live.fanmingming.com/tv/fenghuangzixun.png" t-time="935" v-w="-1" v-h="-1", 凤凰资讯 +http://playtv-live.ifeng.com/live/06OLEEWQKN4_audio.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="凤凰中文" tvg-name="凤凰中文" tvg-logo="https://live.fanmingming.com/tv/fenghuangzhongwen.png" t-time="130" v-w="-1" v-h="-1", 凤凰中文 +http://playtv-live.ifeng.com/live/06OLEGEGM4G_audio.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="重庆卫视" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="304" v-w="-1" v-h="-1", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202411200910/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="黑龙江卫视" tvg-name="黑龙江卫视" tvg-logo="https://live.fanmingming.com/tv/黑龙江卫视.png" t-time="102" v-w="-1" v-h="-1", 黑龙江卫视 +http://p.ytelc.com/videojs.php?id=https://idclive.hljtv.com:4430/live/hljws_own.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="甘肃卫视" tvg-name="甘肃卫视" tvg-logo="https://live.fanmingming.com/tv/甘肃卫视.png" t-time="107" v-w="-1" v-h="-1", 甘肃卫视 +http://p.ytelc.com/videojs.php?id=https://hls.gstv.com.cn/49048r/6e1sy2.m3u8 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="咪咕直播4K Ⅰ「IPV4」" tvg-logo="https://epg.iill.top/logo/咪咕.png" t-time="828" v-w="0" v-h="0", 咪咕直播4K ⅠIPV4 +http://gslbservzqhsw.itv.cmvideo.cn/index.m3u8?channel-id=FifastbLive&Contentid=3000000010000005180&livemode=1&stbId=YanG-1989 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="咪咕直播4K Ⅱ「IPV4」" tvg-logo="https://epg.iill.top/logo/咪咕.png" t-time="157" v-w="0" v-h="0", 咪咕直播4K ⅡIPV4 +http://gslbservzqhsw.itv.cmvideo.cn/index.m3u8?channel-id=FifastbLive&Contentid=3000000010000015686&livemode=1&stbId=YanG-1989 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="咪咕直播 𝟙「IPV4」" tvg-logo="https://epg.iill.top/logo/咪咕.png" t-time="188" v-w="0" v-h="0", 咪咕直播 𝟙IPV4 +http://gslbservzqhsw.itv.cmvideo.cn/index.m3u8?channel-id=FifastbLive&Contentid=3000000001000005308&livemode=1&stbId=YanG-1989 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="咪咕直播 𝟚「IPV4」" tvg-logo="https://epg.iill.top/logo/咪咕.png" t-time="110" v-w="0" v-h="0", 咪咕直播 𝟚IPV4 +http://gslbservzqhsw.itv.cmvideo.cn/index.m3u8?channel-id=FifastbLive&Contentid=3000000001000005969&livemode=1&stbId=YanG-1989 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="咪咕直播 𝟛「IPV4」" tvg-logo="https://epg.iill.top/logo/咪咕.png" t-time="151" v-w="0" v-h="0", 咪咕直播 𝟛IPV4 +http://gslbservzqhsw.itv.cmvideo.cn/index.m3u8?channel-id=FifastbLive&Contentid=3000000001000007218&livemode=1&stbId=YanG-1989 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="咪咕直播 𝟜「IPV4」" tvg-logo="https://epg.iill.top/logo/咪咕.png" t-time="133" v-w="0" v-h="0", 咪咕直播 𝟜IPV4 +http://gslbservzqhsw.itv.cmvideo.cn/index.m3u8?channel-id=FifastbLive&Contentid=3000000001000008001&livemode=1&stbId=YanG-1989 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="咪咕直播 𝟝「IPV4」" tvg-logo="https://epg.iill.top/logo/咪咕.png" t-time="175" v-w="0" v-h="0", 咪咕直播 𝟝IPV4 +http://gslbservzqhsw.itv.cmvideo.cn/index.m3u8?channel-id=FifastbLive&Contentid=3000000001000008176&livemode=1&stbId=YanG-1989 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="咪咕直播 𝟞「IPV4」" tvg-logo="https://epg.iill.top/logo/咪咕.png" t-time="110" v-w="0" v-h="0", 咪咕直播 𝟞IPV4 +http://gslbservzqhsw.itv.cmvideo.cn/index.m3u8?channel-id=FifastbLive&Contentid=3000000001000008379&livemode=1&stbId=YanG-1989 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="咪咕直播 𝟟「IPV4」" tvg-logo="https://epg.iill.top/logo/咪咕.png" t-time="90" v-w="0" v-h="0", 咪咕直播 𝟟IPV4 +http://gslbservzqhsw.itv.cmvideo.cn/index.m3u8?channel-id=FifastbLive&Contentid=3000000001000010129&livemode=1&stbId=YanG-1989 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="咪咕直播 𝟠「IPV4」" tvg-logo="https://epg.iill.top/logo/咪咕.png" t-time="1132" v-w="0" v-h="0", 咪咕直播 𝟠IPV4 +http://gslbservzqhsw.itv.cmvideo.cn/index.m3u8?channel-id=FifastbLive&Contentid=3000000001000010948&livemode=1&stbId=YanG-1989 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="咪咕直播 𝟡「IPV4」" tvg-logo="https://epg.iill.top/logo/咪咕.png" t-time="87" v-w="0" v-h="0", 咪咕直播 𝟡IPV4 +http://gslbservzqhsw.itv.cmvideo.cn/index.m3u8?channel-id=FifastbLive&Contentid=3000000001000028638&livemode=1&stbId=YanG-1989 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="咪咕直播 𝟙𝟘「IPV4」" tvg-logo="https://epg.iill.top/logo/咪咕.png" t-time="95" v-w="0" v-h="0", 咪咕直播 𝟙𝟘IPV4 +http://gslbservzqhsw.itv.cmvideo.cn/index.m3u8?channel-id=FifastbLive&Contentid=3000000001000031494&livemode=1&stbId=YanG-1989 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="咪咕直播 𝟙𝟙「IPV4」" tvg-logo="https://epg.iill.top/logo/咪咕.png" t-time="134" v-w="0" v-h="0", 咪咕直播 𝟙𝟙IPV4 +http://gslbservzqhsw.itv.cmvideo.cn/index.m3u8?channel-id=FifastbLive&Contentid=3000000010000000097&livemode=1&stbId=YanG-1989 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="咪咕直播 𝟙𝟚「IPV4」" tvg-logo="https://epg.iill.top/logo/咪咕.png" t-time="245" v-w="0" v-h="0", 咪咕直播 𝟙𝟚IPV4 +http://gslbservzqhsw.itv.cmvideo.cn/index.m3u8?channel-id=FifastbLive&Contentid=3000000010000002019&livemode=1&stbId=YanG-1989 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="咪咕直播 𝟙𝟛「IPV4」" tvg-logo="https://epg.iill.top/logo/咪咕.png" t-time="182" v-w="0" v-h="0", 咪咕直播 𝟙𝟛IPV4 +http://gslbservzqhsw.itv.cmvideo.cn/index.m3u8?channel-id=FifastbLive&Contentid=3000000010000002809&livemode=1&stbId=YanG-1989 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="咪咕直播 𝟙𝟜「IPV4」" tvg-logo="https://epg.iill.top/logo/咪咕.png" t-time="115" v-w="0" v-h="0", 咪咕直播 𝟙𝟜IPV4 +http://gslbservzqhsw.itv.cmvideo.cn/index.m3u8?channel-id=FifastbLive&Contentid=3000000010000003915&livemode=1&stbId=YanG-1989 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="咪咕直播 𝟙𝟝「IPV4」" tvg-logo="https://epg.iill.top/logo/咪咕.png" t-time="113" v-w="0" v-h="0", 咪咕直播 𝟙𝟝IPV4 +http://gslbservzqhsw.itv.cmvideo.cn/index.m3u8?channel-id=FifastbLive&Contentid=3000000010000004193&livemode=1&stbId=YanG-1989 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="咪咕直播 𝟙𝟞「IPV4」" tvg-logo="https://epg.iill.top/logo/咪咕.png" t-time="93" v-w="0" v-h="0", 咪咕直播 𝟙𝟞IPV4 +http://gslbservzqhsw.itv.cmvideo.cn/index.m3u8?channel-id=FifastbLive&Contentid=3000000010000005837&livemode=1&stbId=YanG-1989 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="咪咕直播 𝟙𝟟「IPV4」" tvg-logo="https://epg.iill.top/logo/咪咕.png" t-time="159" v-w="0" v-h="0", 咪咕直播 𝟙𝟟IPV4 +http://gslbservzqhsw.itv.cmvideo.cn/index.m3u8?channel-id=FifastbLive&Contentid=3000000010000006077&livemode=1&stbId=YanG-1989 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="咪咕直播 𝟙𝟠「IPV4」" tvg-logo="https://epg.iill.top/logo/咪咕.png" t-time="120" v-w="0" v-h="0", 咪咕直播 𝟙𝟠IPV4 +http://gslbservzqhsw.itv.cmvideo.cn/index.m3u8?channel-id=FifastbLive&Contentid=3000000010000006658&livemode=1&stbId=YanG-1989 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="咪咕直播 𝟙𝟡「IPV4」" tvg-logo="https://epg.iill.top/logo/咪咕.png" t-time="214" v-w="0" v-h="0", 咪咕直播 𝟙𝟡IPV4 +http://gslbservzqhsw.itv.cmvideo.cn/index.m3u8?channel-id=FifastbLive&Contentid=3000000010000009788&livemode=1&stbId=YanG-1989 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="咪咕直播 𝟚𝟘「IPV4」" tvg-logo="https://epg.iill.top/logo/咪咕.png" t-time="126" v-w="0" v-h="0", 咪咕直播 𝟚𝟘IPV4 +http://gslbservzqhsw.itv.cmvideo.cn/index.m3u8?channel-id=FifastbLive&Contentid=3000000010000010833&livemode=1&stbId=YanG-1989 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="咪咕直播 𝟚𝟙「IPV4」" tvg-logo="https://epg.iill.top/logo/咪咕.png" t-time="179" v-w="0" v-h="0", 咪咕直播 𝟚𝟙IPV4 +http://gslbservzqhsw.itv.cmvideo.cn/index.m3u8?channel-id=FifastbLive&Contentid=3000000010000011297&livemode=1&stbId=YanG-1989 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="咪咕直播 𝟚𝟚「IPV4」" tvg-logo="https://epg.iill.top/logo/咪咕.png" t-time="145" v-w="0" v-h="0", 咪咕直播 𝟚𝟚IPV4 +http://gslbservzqhsw.itv.cmvideo.cn/index.m3u8?channel-id=FifastbLive&Contentid=3000000010000011518&livemode=1&stbId=YanG-1989 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="咪咕直播 𝟚𝟛「IPV4」" tvg-logo="https://epg.iill.top/logo/咪咕.png" t-time="104" v-w="0" v-h="0", 咪咕直播 𝟚𝟛IPV4 +http://gslbservzqhsw.itv.cmvideo.cn/index.m3u8?channel-id=FifastbLive&Contentid=3000000010000012558&livemode=1&stbId=YanG-1989 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="咪咕直播 𝟚𝟜「IPV4」" tvg-logo="https://epg.iill.top/logo/咪咕.png" t-time="139" v-w="0" v-h="0", 咪咕直播 𝟚𝟜IPV4 +http://gslbservzqhsw.itv.cmvideo.cn/index.m3u8?channel-id=FifastbLive&Contentid=3000000010000012616&livemode=1&stbId=YanG-1989 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="咪咕直播 𝟚𝟝「IPV4」" tvg-logo="https://epg.iill.top/logo/咪咕.png" t-time="130" v-w="0" v-h="0", 咪咕直播 𝟚𝟝IPV4 +http://gslbservzqhsw.itv.cmvideo.cn/index.m3u8?channel-id=FifastbLive&Contentid=3000000010000015470&livemode=1&stbId=YanG-1989 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="咪咕直播 𝟚𝟞「IPV4」" tvg-logo="https://epg.iill.top/logo/咪咕.png" t-time="154" v-w="0" v-h="0", 咪咕直播 𝟚𝟞IPV4 +http://gslbservzqhsw.itv.cmvideo.cn/index.m3u8?channel-id=FifastbLive&Contentid=3000000010000015560&livemode=1&stbId=YanG-1989 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="咪咕直播 𝟚𝟟「IPV4」" tvg-logo="https://epg.iill.top/logo/咪咕.png" t-time="140" v-w="0" v-h="0", 咪咕直播 𝟚𝟟IPV4 +http://gslbservzqhsw.itv.cmvideo.cn/index.m3u8?channel-id=FifastbLive&Contentid=3000000010000017678&livemode=1&stbId=YanG-1989 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="咪咕直播 𝟚𝟠「IPV4」" tvg-logo="https://epg.iill.top/logo/咪咕.png" t-time="141" v-w="0" v-h="0", 咪咕直播 𝟚𝟠IPV4 +http://gslbservzqhsw.itv.cmvideo.cn/index.m3u8?channel-id=FifastbLive&Contentid=3000000010000019839&livemode=1&stbId=YanG-1989 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="咪咕直播 𝟚𝟡「IPV4」" tvg-logo="https://epg.iill.top/logo/咪咕.png" t-time="148" v-w="0" v-h="0", 咪咕直播 𝟚𝟡IPV4 +http://gslbservzqhsw.itv.cmvideo.cn/index.m3u8?channel-id=FifastbLive&Contentid=3000000010000021904&livemode=1&stbId=YanG-1989 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="咪咕直播 𝟛𝟘「IPV4」" tvg-logo="https://epg.iill.top/logo/咪咕.png" t-time="148" v-w="0" v-h="0", 咪咕直播 𝟛𝟘IPV4 +http://gslbservzqhsw.itv.cmvideo.cn/index.m3u8?channel-id=FifastbLive&Contentid=3000000010000023434&livemode=1&stbId=YanG-1989 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="咪咕直播 𝟛𝟙「IPV4」" tvg-logo="https://epg.iill.top/logo/咪咕.png" t-time="141" v-w="0" v-h="0", 咪咕直播 𝟛𝟙IPV4 +http://gslbservzqhsw.itv.cmvideo.cn/index.m3u8?channel-id=FifastbLive&Contentid=3000000010000025380&livemode=1&stbId=YanG-1989 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="咪咕直播 𝟛𝟚「IPV4」" tvg-logo="https://epg.iill.top/logo/咪咕.png" t-time="231" v-w="0" v-h="0", 咪咕直播 𝟛𝟚IPV4 +http://gslbservzqhsw.itv.cmvideo.cn/index.m3u8?channel-id=FifastbLive&Contentid=3000000010000027691&livemode=1&stbId=YanG-1989 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="咪咕直播 𝟛𝟛「IPV4」" tvg-logo="https://epg.iill.top/logo/咪咕.png" t-time="185" v-w="0" v-h="0", 咪咕直播 𝟛𝟛IPV4 +http://gslbservzqhsw.itv.cmvideo.cn/index.m3u8?channel-id=FifastbLive&Contentid=3000000010000031669&livemode=1&stbId=YanG-1989 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="咪咕直播 𝟛𝟜「IPV4」" tvg-logo="https://epg.iill.top/logo/咪咕.png" t-time="163" v-w="0" v-h="0", 咪咕直播 𝟛𝟜IPV4 +http://gslbservzqhsw.itv.cmvideo.cn/index.m3u8?channel-id=FifastbLive&Contentid=3000000020000011518&livemode=1&stbId=YanG-1989 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="咪咕直播 𝟛𝟝「IPV4」" tvg-logo="https://epg.iill.top/logo/咪咕.png" t-time="45" v-w="0" v-h="0", 咪咕直播 𝟛𝟝IPV4 +http://gslbservzqhsw.itv.cmvideo.cn/index.m3u8?channel-id=FifastbLive&Contentid=3000000020000011519&livemode=1&stbId=YanG-1989 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="咪咕直播 𝟛𝟞「IPV4」" tvg-logo="https://epg.iill.top/logo/咪咕.png" t-time="158" v-w="0" v-h="0", 咪咕直播 𝟛𝟞IPV4 +http://gslbservzqhsw.itv.cmvideo.cn/index.m3u8?channel-id=FifastbLive&Contentid=3000000020000011520&livemode=1&stbId=YanG-1989 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="咪咕直播 𝟛𝟟「IPV4」" tvg-logo="https://epg.iill.top/logo/咪咕.png" t-time="110" v-w="0" v-h="0", 咪咕直播 𝟛𝟟IPV4 +http://gslbservzqhsw.itv.cmvideo.cn/index.m3u8?channel-id=FifastbLive&Contentid=3000000020000011521&livemode=1&stbId=YanG-1989 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="咪咕直播 𝟛𝟠「IPV4」" tvg-logo="https://epg.iill.top/logo/咪咕.png" t-time="132" v-w="0" v-h="0", 咪咕直播 𝟛𝟠IPV4 +http://gslbservzqhsw.itv.cmvideo.cn/index.m3u8?channel-id=FifastbLive&Contentid=3000000020000011522&livemode=1&stbId=YanG-1989 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="咪咕直播 𝟛𝟡「IPV4」" tvg-logo="https://epg.iill.top/logo/咪咕.png" t-time="114" v-w="0" v-h="0", 咪咕直播 𝟛𝟡IPV4 +http://gslbservzqhsw.itv.cmvideo.cn/index.m3u8?channel-id=FifastbLive&Contentid=3000000020000011523&livemode=1&stbId=YanG-1989 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="咪咕直播 𝟜𝟘「IPV4」" tvg-logo="https://epg.iill.top/logo/咪咕.png" t-time="297" v-w="0" v-h="0", 咪咕直播 𝟜𝟘IPV4 +http://gslbservzqhsw.itv.cmvideo.cn/index.m3u8?channel-id=FifastbLive&Contentid=3000000020000011524&livemode=1&stbId=YanG-1989 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="咪咕直播 𝟜𝟙「IPV4」" tvg-logo="https://epg.iill.top/logo/咪咕.png" t-time="128" v-w="0" v-h="0", 咪咕直播 𝟜𝟙IPV4 +http://gslbservzqhsw.itv.cmvideo.cn/index.m3u8?channel-id=FifastbLive&Contentid=3000000020000011525&livemode=1&stbId=YanG-1989 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="咪咕直播 𝟜𝟚「IPV4」" tvg-logo="https://epg.iill.top/logo/咪咕.png" t-time="94" v-w="0" v-h="0", 咪咕直播 𝟜𝟚IPV4 +http://gslbservzqhsw.itv.cmvideo.cn/index.m3u8?channel-id=FifastbLive&Contentid=3000000020000011528&livemode=1&stbId=YanG-1989 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="咪咕直播 𝟜𝟛「IPV4」" tvg-logo="https://epg.iill.top/logo/咪咕.png" t-time="91" v-w="0" v-h="0", 咪咕直播 𝟜𝟛IPV4 +http://gslbservzqhsw.itv.cmvideo.cn/index.m3u8?channel-id=FifastbLive&Contentid=3000000020000011529&livemode=1&stbId=YanG-1989 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="咪咕直播 𝟜𝟜「IPV4」" tvg-logo="https://epg.iill.top/logo/咪咕.png" t-time="208" v-w="0" v-h="0", 咪咕直播 𝟜𝟜IPV4 +http://gslbservzqhsw.itv.cmvideo.cn/index.m3u8?channel-id=FifastbLive&Contentid=3000000020000011530&livemode=1&stbId=YanG-1989 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="咪咕直播 𝟜𝟝「IPV4」" tvg-logo="https://epg.iill.top/logo/咪咕.png" t-time="8552" v-w="0" v-h="0", 咪咕直播 𝟜𝟝IPV4 +http://gslbservzqhsw.itv.cmvideo.cn/index.m3u8?channel-id=FifastbLive&Contentid=3000000020000011531&livemode=1&stbId=YanG-1989 +#EXTINF:-1 group-title="游戏" tvg-id="null" tvg-name="「虎牙」CS 2" tvg-logo="https://epg.iill.top/logo/虎牙.png" t-time="2694" v-w="-1" v-h="-1", 虎牙CS 2 +https://live.iill.top/huya/483917 +#EXTINF:-1 group-title="游戏" tvg-id="null" tvg-name="「B站」英雄联盟" tvg-logo="https://epg.iill.top/logo/哔哩哔哩.png" t-time="2026" v-w="-1" v-h="-1", B站英雄联盟 +https://live.iill.top/bilibili/6 +#EXTINF:-1 group-title="游戏" tvg-id="null" tvg-name="「虎牙」英雄联盟 𝟙" tvg-logo="https://epg.iill.top/logo/虎牙.png" t-time="2585" v-w="-1" v-h="-1", 虎牙英雄联盟 𝟙 +https://live.iill.top/huya/660000 +#EXTINF:-1 group-title="游戏" tvg-id="null" tvg-name="「虎牙」英雄联盟 𝟚" tvg-logo="https://epg.iill.top/logo/虎牙.png" t-time="1678" v-w="-1" v-h="-1", 虎牙英雄联盟 𝟚 +https://live.iill.top/huya/660001 +#EXTINF:-1 group-title="游戏" tvg-id="null" tvg-name="「斗鱼」英雄联盟 𝟙" tvg-logo="https://epg.iill.top/logo/斗鱼.png" t-time="1138" v-w="-1" v-h="-1", 斗鱼英雄联盟 𝟙 +https://live.iill.top/douyu/288016 +#EXTINF:-1 group-title="游戏" tvg-id="null" tvg-name="「B站」英雄联盟•手游" tvg-logo="https://epg.iill.top/logo/哔哩哔哩.png" t-time="2903" v-w="-1" v-h="-1", B站英雄联盟•手游 +https://live.iill.top/bilibili/23138275 +#EXTINF:-1 group-title="游戏" tvg-id="null" tvg-name="「B站」王者荣耀 𝟙" tvg-logo="https://epg.iill.top/logo/哔哩哔哩.png" t-time="1596" v-w="-1" v-h="-1", B站王者荣耀 𝟙 +https://live.iill.top/bilibili/55 +#EXTINF:-1 group-title="游戏" tvg-id="null" tvg-name="「B站」王者荣耀 𝟚" tvg-logo="https://epg.iill.top/logo/哔哩哔哩.png" t-time="1636" v-w="-1" v-h="-1", B站王者荣耀 𝟚 +https://live.iill.top/bilibili/21654762 +#EXTINF:-1 group-title="游戏" tvg-id="null" tvg-name="「虎牙」王者荣耀 𝟙" tvg-logo="https://epg.iill.top/logo/虎牙.png" t-time="3607" v-w="-1" v-h="-1", 虎牙王者荣耀 𝟙 +https://live.iill.top/huya/660002 +#EXTINF:-1 group-title="游戏" tvg-id="null" tvg-name="「虎牙」王者荣耀 𝟚" tvg-logo="https://epg.iill.top/logo/虎牙.png" t-time="3962" v-w="-1" v-h="-1", 虎牙王者荣耀 𝟚 +https://live.iill.top/huya/660164 +#EXTINF:-1 group-title="游戏" tvg-id="null" tvg-name="「斗鱼」王者荣耀 𝟙" tvg-logo="https://epg.iill.top/logo/斗鱼.png" t-time="1085" v-w="-1" v-h="-1", 斗鱼王者荣耀 𝟙 +https://live.iill.top/douyu/1863767 +#EXTINF:-1 group-title="游戏" tvg-id="null" tvg-name="「斗鱼」王者荣耀 𝟚" tvg-logo="https://epg.iill.top/logo/斗鱼.png" t-time="2280" v-w="-1" v-h="-1", 斗鱼王者荣耀 𝟚 +https://live.iill.top/douyu/1984839 +#EXTINF:-1 group-title="游戏" tvg-id="null" tvg-name="「虎牙」绝地求生 𝟙" tvg-logo="https://epg.iill.top/logo/虎牙.png" t-time="1754" v-w="-1" v-h="-1", 虎牙绝地求生 𝟙 +https://live.iill.top/huya/660004 +#EXTINF:-1 group-title="游戏" tvg-id="null" tvg-name="「斗鱼」绝地求生" tvg-logo="https://epg.iill.top/logo/斗鱼.png" t-time="1868" v-w="-1" v-h="-1", 斗鱼绝地求生 +https://live.iill.top/douyu/100 +#EXTINF:-1 group-title="游戏" tvg-id="null" tvg-name="「虎牙」和平精英" tvg-logo="https://epg.iill.top/logo/虎牙.png" t-time="647" v-w="-1" v-h="-1", 虎牙和平精英 +https://live.iill.top/huya/660006 +#EXTINF:-1 group-title="游戏" tvg-id="null" tvg-name="「斗鱼」和平精英" tvg-logo="https://epg.iill.top/logo/斗鱼.png" t-time="1731" v-w="-1" v-h="-1", 斗鱼和平精英 +https://live.iill.top/douyu/999 +#EXTINF:-1 group-title="游戏" tvg-id="null" tvg-name="「虎牙」金铲铲之战" tvg-logo="https://epg.iill.top/logo/虎牙.png" t-time="459" v-w="-1" v-h="-1", 虎牙金铲铲之战 +https://live.iill.top/huya/660579 +#EXTINF:-1 group-title="游戏" tvg-id="null" tvg-name="「虎牙」DOTA2" tvg-logo="https://epg.iill.top/logo/虎牙.png" t-time="1497" v-w="-1" v-h="-1", 虎牙DOTA2 +https://live.iill.top/huya/660118 +#EXTINF:-1 group-title="游戏" tvg-id="null" tvg-name="「斗鱼」DOTA2" tvg-logo="https://epg.iill.top/logo/斗鱼.png" t-time="1792" v-w="-1" v-h="-1", 斗鱼DOTA2 +https://live.iill.top/douyu/3811559 +#EXTINF:-1 group-title="游戏" tvg-id="null" tvg-name="「斗鱼」云顶之弈" tvg-logo="https://epg.iill.top/logo/斗鱼.png" t-time="1670" v-w="-1" v-h="-1", 斗鱼云顶之弈 +https://live.iill.top/douyu/522423 +#EXTINF:-1 group-title="游戏" tvg-id="null" tvg-name="「虎牙」永劫无间" tvg-logo="https://epg.iill.top/logo/虎牙.png" t-time="1606" v-w="-1" v-h="-1", 虎牙永劫无间 +https://live.iill.top/huya/660115 +#EXTINF:-1 group-title="游戏" tvg-id="null" tvg-name="「虎牙」使命召唤•手游" tvg-logo="https://epg.iill.top/logo/虎牙.png" t-time="2290" v-w="-1" v-h="-1", 虎牙使命召唤•手游 +https://live.iill.top/huya/11718629 +#EXTINF:-1 group-title="游戏" tvg-id="null" tvg-name="「斗鱼」使命召唤•手游" tvg-logo="https://epg.iill.top/logo/斗鱼.png" t-time="1625" v-w="-1" v-h="-1", 斗鱼使命召唤•手游 +https://live.iill.top/douyu/9223245 +#EXTINF:-1 group-title="游戏" tvg-id="null" tvg-name="「虎牙」穿越火线" tvg-logo="https://epg.iill.top/logo/虎牙.png" t-time="1790" v-w="-1" v-h="-1", 虎牙穿越火线 +https://live.iill.top/huya/660101 +#EXTINF:-1 group-title="游戏" tvg-id="null" tvg-name="「斗鱼」穿越火线 𝟙" tvg-logo="https://epg.iill.top/logo/斗鱼.png" t-time="1960" v-w="-1" v-h="-1", 斗鱼穿越火线 𝟙 +https://live.iill.top/douyu/605964 +#EXTINF:-1 group-title="游戏" tvg-id="null" tvg-name="「斗鱼」穿越火线 𝟚" tvg-logo="https://epg.iill.top/logo/斗鱼.png" t-time="1599" v-w="-1" v-h="-1", 斗鱼穿越火线 𝟚 +https://live.iill.top/douyu/5388537 +#EXTINF:-1 group-title="游戏" tvg-id="null" tvg-name="「虎牙」穿越火线•手游" tvg-logo="https://epg.iill.top/logo/虎牙.png" t-time="1735" v-w="-1" v-h="-1", 虎牙穿越火线•手游 +https://live.iill.top/huya/660102 +#EXTINF:-1 group-title="游戏" tvg-id="null" tvg-name="「B站」第五人格" tvg-logo="https://epg.iill.top/logo/哔哩哔哩.png" t-time="2693" v-w="-1" v-h="-1", B站第五人格 +https://live.iill.top/bilibili/5555 +#EXTINF:-1 group-title="游戏" tvg-id="null" tvg-name="「斗鱼」第五人格 " tvg-logo="https://epg.iill.top/logo/斗鱼.png" t-time="1424" v-w="-1" v-h="-1", 斗鱼第五人格 +https://live.iill.top/douyu/3226194 +#EXTINF:-1 group-title="游戏" tvg-id="null" tvg-name="「B站」无畏契约 " tvg-logo="https://epg.iill.top/logo/哔哩哔哩.png" t-time="1358" v-w="-1" v-h="-1", B站无畏契约 +https://live.iill.top/bilibili/22908869 +#EXTINF:-1 group-title="游戏" tvg-id="null" tvg-name="「虎牙」无畏契约 " tvg-logo="https://epg.iill.top/logo/虎牙.png" t-time="1460" v-w="-1" v-h="-1", 虎牙无畏契约 +https://live.iill.top/huya/660679 +#EXTINF:-1 group-title="游戏" tvg-id="null" tvg-name="「斗鱼」无畏契约 " tvg-logo="https://epg.iill.top/logo/斗鱼.png" t-time="1692" v-w="-1" v-h="-1", 斗鱼无畏契约 +https://live.iill.top/douyu/4585645 +#EXTINF:-1 group-title="游戏" tvg-id="null" tvg-name="「斗鱼」QQ飞车•手游" tvg-logo="https://epg.iill.top/logo/斗鱼.png" t-time="2199" v-w="-1" v-h="-1", 斗鱼QQ飞车•手游 +https://live.iill.top/douyu/5040227 +#EXTINF:-1 group-title="游戏" tvg-id="null" tvg-name="「B站」JJ斗地主" tvg-logo="https://epg.iill.top/logo/哔哩哔哩.png" t-time="2222" v-w="-1" v-h="-1", B站JJ斗地主 +https://live.iill.top/bilibili/22021983 +#EXTINF:-1 group-title="游戏" tvg-id="null" tvg-name="「斗鱼」JJ斗地主" tvg-logo="https://epg.iill.top/logo/斗鱼.png" t-time="2765" v-w="-1" v-h="-1", 斗鱼JJ斗地主 +https://live.iill.top/douyu/488743 +#EXTINF:-1 group-title="游戏" tvg-id="null" tvg-name="「斗鱼」FIFA" tvg-logo="https://epg.iill.top/logo/斗鱼.png" t-time="1818" v-w="-1" v-h="-1", 斗鱼FIFA +https://live.iill.top/douyu/7692166 +#EXTINF:-1 group-title="游戏" tvg-id="null" tvg-name="「斗鱼」火影忍者" tvg-logo="https://epg.iill.top/logo/斗鱼.png" t-time="1705" v-w="-1" v-h="-1", 斗鱼火影忍者 +https://live.iill.top/douyu/1997723 +#EXTINF:-1 group-title="游戏" tvg-id="null" tvg-name="「斗鱼」跑跑卡丁车" tvg-logo="https://epg.iill.top/logo/斗鱼.png" t-time="1886" v-w="-1" v-h="-1", 斗鱼跑跑卡丁车 +https://live.iill.top/douyu/7722576 +#EXTINF:-1 group-title="游戏" tvg-id="null" tvg-name="「斗鱼」跑跑卡丁车•手游" tvg-logo="https://epg.iill.top/logo/斗鱼.png" t-time="1642" v-w="-1" v-h="-1", 斗鱼跑跑卡丁车•手游 +https://live.iill.top/douyu/6672862 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="埋堆堆 𝟙" tvg-logo="https://epg.iill.top/logo/埋堆堆.png" t-time="1323" v-w="-1" v-h="-1", 埋堆堆 𝟙 +https://live.iill.top/huya/23740156 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="埋堆堆 𝟚" tvg-logo="https://epg.iill.top/logo/埋堆堆.png" t-time="1509" v-w="-1" v-h="-1", 埋堆堆 𝟚 +https://live.iill.top/huya/23749096 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="埋堆堆 𝟛" tvg-logo="https://epg.iill.top/logo/埋堆堆.png" t-time="1876" v-w="-1" v-h="-1", 埋堆堆 𝟛 +https://live.iill.top/huya/23735126 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="埋堆堆 𝟜" tvg-logo="https://epg.iill.top/logo/埋堆堆.png" t-time="2799" v-w="-1" v-h="-1", 埋堆堆 𝟜 +https://live.iill.top/huya/23903123 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="埋堆堆 𝟝" tvg-logo="https://epg.iill.top/logo/埋堆堆.png" t-time="2258" v-w="-1" v-h="-1", 埋堆堆 𝟝 +https://live.iill.top/huya/23734169 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="埋堆堆 𝟞" tvg-logo="https://epg.iill.top/logo/埋堆堆.png" t-time="3117" v-w="-1" v-h="-1", 埋堆堆 𝟞 +https://live.iill.top/huya/23863804 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="埋堆堆 𝟟" tvg-logo="https://epg.iill.top/logo/埋堆堆.png" t-time="1503" v-w="-1" v-h="-1", 埋堆堆 𝟟 +https://live.iill.top/huya/23865080 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="埋堆堆 𝟠" tvg-logo="https://epg.iill.top/logo/埋堆堆.png" t-time="2200" v-w="-1" v-h="-1", 埋堆堆 𝟠 +https://live.iill.top/huya/23864973 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="埋堆堆 𝟡" tvg-logo="https://epg.iill.top/logo/埋堆堆.png" t-time="1557" v-w="-1" v-h="-1", 埋堆堆 𝟡 +https://live.iill.top/huya/23903130 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="埋堆堆 𝟙𝟘" tvg-logo="https://epg.iill.top/logo/埋堆堆.png" t-time="2976" v-w="-1" v-h="-1", 埋堆堆 𝟙𝟘 +https://live.iill.top/huya/23860039 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="埋堆堆 𝟙𝟙" tvg-logo="https://epg.iill.top/logo/埋堆堆.png" t-time="2222" v-w="-1" v-h="-1", 埋堆堆 𝟙𝟙 +https://live.iill.top/huya/23903183 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="埋堆堆 𝟙𝟚" tvg-logo="https://epg.iill.top/logo/埋堆堆.png" t-time="1566" v-w="-1" v-h="-1", 埋堆堆 𝟙𝟚 +https://live.iill.top/huya/23903196 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="埋堆堆 𝟙𝟛" tvg-logo="https://epg.iill.top/logo/埋堆堆.png" t-time="1682" v-w="-1" v-h="-1", 埋堆堆 𝟙𝟛 +https://live.iill.top/huya/23728674 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="埋堆堆 𝟙𝟜" tvg-logo="https://epg.iill.top/logo/埋堆堆.png" t-time="1491" v-w="-1" v-h="-1", 埋堆堆 𝟙𝟜 +https://live.iill.top/huya/23865036 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="埋堆堆 𝟙𝟝" tvg-logo="https://epg.iill.top/logo/埋堆堆.png" t-time="2229" v-w="-1" v-h="-1", 埋堆堆 𝟙𝟝 +https://live.iill.top/huya/23829543 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="埋堆堆 𝟙𝟞" tvg-logo="https://epg.iill.top/logo/埋堆堆.png" t-time="2995" v-w="-1" v-h="-1", 埋堆堆 𝟙𝟞 +https://live.iill.top/huya/23865161 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="埋堆堆 𝟙𝟟" tvg-logo="https://epg.iill.top/logo/埋堆堆.png" t-time="1585" v-w="-1" v-h="-1", 埋堆堆 𝟙𝟟 +https://live.iill.top/huya/23865058 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="埋堆堆 𝟙𝟠" tvg-logo="https://epg.iill.top/logo/埋堆堆.png" t-time="1638" v-w="-1" v-h="-1", 埋堆堆 𝟙𝟠 +https://live.iill.top/huya/23824164 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="埋堆堆 𝟙𝟡" tvg-logo="https://epg.iill.top/logo/埋堆堆.png" t-time="1670" v-w="-1" v-h="-1", 埋堆堆 𝟙𝟡 +https://live.iill.top/huya/23863796 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="埋堆堆 𝟚𝟘" tvg-logo="https://epg.iill.top/logo/埋堆堆.png" t-time="404" v-w="-1" v-h="-1", 埋堆堆 𝟚𝟘 +https://live.iill.top/huya/23734183 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="埋堆堆 𝟚𝟙" tvg-logo="https://epg.iill.top/logo/埋堆堆.png" t-time="1556" v-w="-1" v-h="-1", 埋堆堆 𝟚𝟙 +https://live.iill.top/huya/23728660 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="埋堆堆 𝟚𝟚" tvg-logo="https://epg.iill.top/logo/埋堆堆.png" t-time="2579" v-w="-1" v-h="-1", 埋堆堆 𝟚𝟚 +https://live.iill.top/huya/23865142 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="埋堆堆 𝟚𝟛" tvg-logo="https://epg.iill.top/logo/埋堆堆.png" t-time="1420" v-w="-1" v-h="-1", 埋堆堆 𝟚𝟛 +https://live.iill.top/huya/23734246 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="埋堆堆 𝟚𝟜" tvg-logo="https://epg.iill.top/logo/埋堆堆.png" t-time="2557" v-w="-1" v-h="-1", 埋堆堆 𝟚𝟜 +https://live.iill.top/huya/23865171 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="埋堆堆 𝟚𝟝" tvg-logo="https://epg.iill.top/logo/埋堆堆.png" t-time="1615" v-w="-1" v-h="-1", 埋堆堆 𝟚𝟝 +https://live.iill.top/huya/23734256 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="埋堆堆 𝟚𝟞" tvg-logo="https://epg.iill.top/logo/埋堆堆.png" t-time="3830" v-w="-1" v-h="-1", 埋堆堆 𝟚𝟞 +https://live.iill.top/huya/23749083 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="音乐石榴「音乐」" tvg-logo="https://epg.iill.top/logo/虎牙.png" t-time="2758" v-w="-1" v-h="-1", 音乐石榴音乐 +https://live.iill.top/huya/17091681 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="治愈•放松「音乐」" tvg-logo="https://epg.iill.top/logo/虎牙.png" t-time="1565" v-w="-1" v-h="-1", 治愈•放松音乐 +https://live.iill.top/huya/21241811 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="阅读•学习「音乐」" tvg-logo="https://epg.iill.top/logo/虎牙.png" t-time="2224" v-w="-1" v-h="-1", 阅读•学习音乐 +https://live.iill.top/huya/21241813 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="电视剧•1「解说」" tvg-logo="https://epg.iill.top/logo/虎牙.png" t-time="2937" v-w="-1" v-h="-1", 电视剧•1解说 +https://live.iill.top/huya/21277391 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="电影•3「解说」" tvg-logo="https://epg.iill.top/logo/虎牙.png" t-time="13690" v-w="0" v-h="0", 电影•3解说 +https://live.iill.top/huya/24396428 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="动漫•1「解说」" tvg-logo="https://epg.iill.top/logo/虎牙.png" t-time="3626" v-w="-1" v-h="-1", 动漫•1解说 +https://live.iill.top/huya/19757963 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="恐怖电影「解说」" tvg-logo="https://epg.iill.top/logo/虎牙.png" t-time="1540" v-w="-1" v-h="-1", 恐怖电影解说 +https://live.iill.top/huya/23419131 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="漫威「解说」" tvg-logo="https://epg.iill.top/logo/虎牙.png" t-time="2335" v-w="0" v-h="0", 漫威解说 +https://live.iill.top/huya/17089779 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="美剧「解说」" tvg-logo="https://epg.iill.top/logo/虎牙.png" t-time="1962" v-w="-1" v-h="-1", 美剧解说 +https://live.iill.top/huya/20488841 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="七龙珠「解说」" tvg-logo="https://epg.iill.top/logo/虎牙.png" t-time="2135" v-w="-1" v-h="-1", 七龙珠解说 +https://live.iill.top/huya/25650806 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="止戈电影「解说」" tvg-logo="https://epg.iill.top/logo/虎牙.png" t-time="2436" v-w="-1" v-h="-1", 止戈电影解说 +https://live.iill.top/huya/19863777 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="挨饿德•1「其他」" tvg-logo="https://epg.iill.top/logo/虎牙.png" t-time="4068" v-w="-1" v-h="-1", 挨饿德•1其他 +https://live.iill.top/huya/20985858 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="挨饿德•2「其他」" tvg-logo="https://epg.iill.top/logo/虎牙.png" t-time="4446" v-w="-1" v-h="-1", 挨饿德•2其他 +https://live.iill.top/huya/17693860 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="互扇巴掌大赛「其他」" tvg-logo="https://epg.iill.top/logo/虎牙.png" t-time="1739" v-w="0" v-h="0", 互扇巴掌大赛其他 +https://live.iill.top/huya/20072873 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="荒野求生「其他」" tvg-logo="https://epg.iill.top/logo/虎牙.png" t-time="2472" v-w="-1" v-h="-1", 荒野求生其他 +https://live.iill.top/huya/593667 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="野行者「其他」" tvg-logo="https://epg.iill.top/logo/虎牙.png" t-time="3671" v-w="-1" v-h="-1", 野行者其他 +https://live.iill.top/huya/20072663 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="跳舞「其他」" tvg-logo="https://epg.iill.top/logo/虎牙.png" t-time="2538" v-w="0" v-h="0", 跳舞其他 +https://live.iill.top/huya/24634408 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="茶啊二中「动画」" tvg-logo="https://epg.iill.top/logo/虎牙.png" t-time="2840" v-w="-1" v-h="-1", 茶啊二中动画 +https://live.iill.top/huya/11213191 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="哆啦A梦「动漫」" tvg-logo="https://epg.iill.top/logo/虎牙.png" t-time="1742" v-w="-1" v-h="-1", 哆啦A梦动漫 +https://live.iill.top/huya/11601963 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="航海王「动漫」" tvg-logo="https://epg.iill.top/logo/虎牙.png" t-time="1616" v-w="-1" v-h="-1", 航海王动漫 +https://live.iill.top/huya/16913382 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="七龙珠「动漫」" tvg-logo="https://epg.iill.top/logo/虎牙.png" t-time="1954" v-w="-1" v-h="-1", 七龙珠动漫 +https://live.iill.top/huya/11601966 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="猫和老鼠「动漫」" tvg-logo="https://epg.iill.top/logo/虎牙.png" t-time="2214" v-w="-1" v-h="-1", 猫和老鼠动漫 +https://live.iill.top/huya/11352879 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="中华小当家「动漫」" tvg-logo="https://epg.iill.top/logo/虎牙.png" t-time="553" v-w="-1" v-h="-1", 中华小当家动漫 +https://live.iill.top/huya/11342413 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="重庆卫视" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="123" v-w="-1" v-h="-1", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202411201110/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="重庆卫视" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="98" v-w="-1" v-h="-1", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202411202141/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="央视台" tvg-id="null" tvg-name="兵器科技" tvg-logo="https://gitee.com/suxuang/epglogo/raw/master/cctv/CCTVbqkj.png" t-time="303" v-w="720" v-h="576", CCTV-兵器科技 +http://111.61.236.247:9081/hls/61/index.m3u8 +#EXTINF:-1 group-title="央视台" tvg-id="null" tvg-name="风云足球" tvg-logo="https://live.fanmingming.com/tv/风云足球.png" t-time="151" v-w="720" v-h="576", CCTV-风云足球 +http://111.61.236.247:9081/hls/58/index.m3u8 +#EXTINF:-1 group-title="央视台" tvg-id="null" tvg-name="世界地理" tvg-logo="https://live.fanmingming.com/tv/世界地理.png" t-time="145" v-w="720" v-h="576", CCTV-世界地理 +http://111.61.236.247:9081/hls/62/index.m3u8 +#EXTINF:-1 group-title="央视台" tvg-id="怀旧剧场" tvg-name="怀旧剧场" tvg-logo="https://gitee.com/suxuang/epglogo/raw/master/cctv/CCTVhjjc.png" t-time="155" v-w="720" v-h="576", CCTV-怀旧剧场 +http://111.61.236.247:9081/hls/67/index.m3u8 +#EXTINF:-1 group-title="央视台" tvg-id="女性时尚" tvg-name="女性时尚" tvg-logo="https://gitee.com/suxuang/epglogo/raw/master/cctv/CCTVnxss.png" t-time="157" v-w="720" v-h="576", CCTV-女性时尚 +http://111.61.236.247:9081/hls/59/index.m3u8 +#EXTINF:-1 group-title="央视台" tvg-id="null" tvg-name="直播中国" tvg-logo="https://ghp.ci/raw.githubusercontent.com/suxuang/myIPTV/main/tvlog/直播中国.png" t-time="132" v-w="1280" v-h="720", 直播中国 +https://gcalic.v.myalicdn.com/gc/wgw05_1/index.m3u8?contentid=2820180516001 +#EXTINF:-1 group-title="卫视台" tvg-id="香港卫视" tvg-name="香港卫视" tvg-logo="https://live.fanmingming.com/tv/香港卫视.png" t-time="53" v-w="720" v-h="576", 香港卫视 +http://zhibo.hkstv.tv/livestream/mutfysrq/playlist.m3u8 +#EXTINF:-1 group-title="数字台" tvg-id="1905电影网" tvg-name="1905电影网" tvg-logo="https://gitee.com/suxuang/epglogo/raw/master/shuzi/1905dy.png" t-time="1945" v-w="1920" v-h="1080", 1905电影网 +http://php.jdshipin.com:8880/1905.php?id=1905dy +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="南国都市" tvg-logo="https://ghp.ci/raw.githubusercontent.com/suxuang/myIPTV/main/tvlog/南国都市.png" t-time="200" v-w="1920" v-h="1080", 南国都市 +https://tencentplay.gztv.com/live/nanguodushi.m3u8?txSecret=550af55c0ea34ce492748481415b6dfa&txTime=1903e7b17de +#EXTINF:-1 group-title="港澳台" tvg-id="澳视澳门" tvg-name="澳视澳门" tvg-logo="https://gitee.com/suxuang/epglogo/raw/master/gangaotai/Aoshi1.png" t-time="6213" v-w="1920" v-h="1080", 澳视澳门 +http://183.237.246.14:9931/tsfile/live/1039_1.m3u8 +#EXTINF:-1 group-title="港澳台" tvg-id="莲花卫视" tvg-name="莲花卫视" tvg-logo="https://gitee.com/suxuang/TVlogo/raw/main/img/Lotus.png" t-time="246" v-w="1920" v-h="1080", 莲花卫视 +http://php.jdshipin.com:8880/amlh.php +#EXTINF:-1 group-title="港澳台" tvg-id="TVB无线星河" tvg-name="无线星河" tvg-logo="https://gitee.com/suxuang/epglogo/raw/master/gangaotai/TVB6.png" t-time="1524" v-w="1280" v-h="720", TVB无线星河 +http://php.jdshipin.com:8880/smt.php?id=Xinhe +#EXTINF:-1 group-title="港澳台" tvg-id="TVB翡翠台" tvg-name="翡翠台" tvg-logo="https://live.fanmingming.com/tv/翡翠台.png" t-time="552" v-w="1280" v-h="720", TVB翡翠台 +http://php.jdshipin.com:8880/smt.php?id=jade_twn +#EXTINF:-1 group-title="港澳台" tvg-id="明珠台" tvg-name="明珠台" tvg-logo="https://gitee.com/suxuang/TVlogo/raw/main/img/TVB2.png" t-time="2896" v-w="1920" v-h="1080", TVB明珠台 +http://bziyunshao.synology.me:8890/bysid/2 +#EXTINF:-1 group-title="港澳台" tvg-id="TVBJ2" tvg-name="TVBJ2" tvg-logo="https://gitee.com/suxuang/TVlogo/raw/main/img/TVB3.png" t-time="87" v-w="1920" v-h="1080", TVBJ2 +http://bziyunshao.synology.me:8890/bysid/82 +#EXTINF:-1 group-title="港澳台" tvg-id="三立新闻" tvg-name="三立新闻" tvg-logo="https://ghp.ci/raw.githubusercontent.com/suxuang/myIPTV/main/tvlog/三立新闻.png" t-time="1195" v-w="-1" v-h="-1", 三立新闻 +https://epg.pw/stream/6b49e3faa38adda85abab446f032dc1e686baa0760a9cfa66e2df8fd6fe3b445.m3u8 +#EXTINF:-1 group-title="港澳台" tvg-id="美亚C+" tvg-name="美亚C+" tvg-logo="https://gitee.com/suxuang/logo/raw/master/logo/美亚C.png" t-time="438" v-w="1920" v-h="1080", 美亚C+ +http://ottproxy2.ist.ooo/livehls/MOB-U1-NO/03.m3u8 +#EXTINF:-1 group-title="港澳台" tvg-id="null" tvg-name="TVBS新闻台" tvg-logo="https://gitee.com/suxuang/TVlogo/raw/main/img/TVBS1.png" t-time="185" v-w="1280" v-h="720", TVBS新闻台 +http://61.221.215.25:8800/hls/9/index.m3u8 +#EXTINF:-1 group-title="港澳台" tvg-id="null" tvg-name="番薯台" tvg-logo="https://gitee.com/suxuang/TVlogo/raw/main/img/fanshutv.png" t-time="198" v-w="1920" v-h="1080", 番薯台 +http://61.216.67.119:1935/TWHG/E1/chunklist_w705811302.m3u8 +#EXTINF:-1 group-title="港澳台" tvg-id="null" tvg-name="人间卫视" tvg-logo="https://gitee.com/suxuang/TVlogo/raw/main/img/BLTV.png" t-time="1039" v-w="1280" v-h="720", 人间卫视 +https://stream1.freetv.fun/05b9099bef592e55129817a0f82b4cc60378970bc856b993ae9e330e85f4351f.m3u8 +#EXTINF:-1 group-title="港澳台" tvg-id="null" tvg-name="AMC电影" tvg-logo="https://gitee.com/suxuang/TVlogo/raw/main/img/AMCMovies.png" t-time="62" v-w="1280" v-h="720", AMC电影台 +http://61.221.215.25:8800/hls/43/index.m3u8 +#EXTINF:-1 group-title="港澳台" tvg-id="null" tvg-name="八大戏剧HD" tvg-logo="https://epg.pw/media/images/channel/2023/07/20/large/20230720155115252575_13.png" t-time="60" v-w="1280" v-h="720", 八大戏剧台 +http://61.221.215.25:8800/hls/39/index.m3u8 +#EXTINF:-1 group-title="儿童" tvg-id="浙江少儿" tvg-name="浙江少儿" tvg-logo="https://live.fanmingming.com/tv/浙江少儿.png" t-time="122" v-w="1920" v-h="1080", 浙江少儿 +https://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8 +#EXTINF:-1 group-title="电视剧" tvg-id="null" tvg-name="西游记后传" tvg-logo="https://ghp.ci/raw.githubusercontent.com/suxuang/myIPTV/main/img/西游记后传.png" t-time="626" v-w="0" v-h="0", 西游记后传 +http://jiaojirentv.top/2020/yy.php?id=1353392400 +#EXTINF:-1 group-title="地方台" tvg-id="武术世界" tvg-name="武术世界" tvg-logo="https://gitee.com/suxuang/TVlogo/raw/main/img/wssj.png" t-time="1325" v-w="0" v-h="0", 武术世界 +http://111.61.236.247:9081/hls/60/index.m3u8 +#EXTINF:-1 group-title="地方台" tvg-id="文物宝库" tvg-name="文物宝库" tvg-logo="https://live.fanmingming.com/tv/文物宝库.png" t-time="162" v-w="0" v-h="0", 文物宝库 +http://111.61.236.247:9081/hls/64/index.m3u8 +#EXTINF:-1 group-title="地方台" tvg-id="JS01" tvg-name="江苏城市" tvg-logo="https://gitee.com/suxuang/TVlogo/raw/main/img/Jiangsu2.png" t-time="1514" v-w="0" v-h="0", 江苏城市 +https://stream1.freetv.fun/675206b8446ce719bfb293b5a5296db3aa26521c9810de7c996838247cc56964.ctv +#EXTINF:-1 group-title="地方台" tvg-id="JS02" tvg-name="江苏综艺" tvg-logo="https://gitee.com/suxuang/TVlogo/raw/main/img/Jiangsu3.png" t-time="243" v-w="0" v-h="0", 江苏综艺 +https://stream1.freetv.fun/f8ef469943662bed2abc6609d9ef1720b9e93a8a0bd6f5789133461e36763f37.m3u8 +#EXTINF:-1 group-title="地方台" tvg-id="JS03" tvg-name="江苏影视" tvg-logo="https://gitee.com/suxuang/TVlogo/raw/main/img/Jiangsu4.png" t-time="684" v-w="0" v-h="0", 江苏影视 +https://stream1.freetv.fun/a89dd489fa013bc4f36bcc4afe388f1783e2251c276e2566a9359d68a61c6d91.ctv +#EXTINF:-1 group-title="地方台" tvg-id="JS04" tvg-name="江苏教育" tvg-logo="https://gitee.com/suxuang/TVlogo/raw/main/img/Jiangsu7.png" t-time="503" v-w="0" v-h="0", 江苏教育 +https://stream1.freetv.fun/7174b4fd66ddb2a7456b7040105dc27a1e57c166593870bb773cb5f6b4546c54.ctv +#EXTINF:-1 group-title="地方台" tvg-id="JS05" tvg-name="江苏体育休闲" tvg-logo="https://gitee.com/suxuang/TVlogo/raw/main/img/Jiangsu5.png" t-time="519" v-w="0" v-h="0", 江苏体育休闲 +https://stream1.freetv.fun/af1087a1c24fff7af556ac8e6c5c623303d52966f67a998cefb52c17811b09a2.ctv +#EXTINF:-1 group-title="地方台" tvg-id="黑龙江文体" tvg-name="黑龙江文体" tvg-logo="https://gitee.com/suxuang/epglogo/raw/master/heilongjiang/Heilongjiang2.png" t-time="213" v-w="0" v-h="0", 黑龙江文体 +http://[2409:8087:1a01:df::4025]/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226239/1.m3u8 +#EXTINF:-1 group-title="历年春晚" tvg-id="1987年春晚" tvg-name="1987年春晚" tvg-logo="https://ghp.ci/raw.githubusercontent.com/suxuang/myIPTV/main/img/春晚.png" t-time="73" v-w="0" v-h="0", 1987年春晚 +https://txmov2.a.kwimgs.com/bs3/video-hls/5195746663405928031_hlsb.m3u8 +#EXTINF:-1 group-title="历年春晚" tvg-id="1988年春晚" tvg-name="1988年春晚" tvg-logo="https://ghp.ci/raw.githubusercontent.com/suxuang/myIPTV/main/img/春晚.png" t-time="62" v-w="0" v-h="0", 1988年春晚 +https://txmov2.a.kwimgs.com/bs3/video-hls/5216575810935394655_hlsb.m3u8 +#EXTINF:-1 group-title="历年春晚" tvg-id="1989年春晚" tvg-name="1989年春晚" tvg-logo="https://ghp.ci/raw.githubusercontent.com/suxuang/myIPTV/main/img/春晚.png" t-time="58" v-w="0" v-h="0", 1989年春晚 +https://txmov2.a.kwimgs.com/bs3/video-hls/5194620763762726260_hlsb.m3u8 +#EXTINF:-1 group-title="历年春晚" tvg-id="1992年春晚" tvg-name="1992年春晚" tvg-logo="https://ghp.ci/raw.githubusercontent.com/suxuang/myIPTV/main/img/春晚.png" t-time="65" v-w="0" v-h="0", 1992年春晚 +https://txmov2.a.kwimgs.com/bs3/video-hls/5256826755663896297_hlshd15.m3u8 +#EXTINF:-1 group-title="历年春晚" tvg-id="1998年春晚" tvg-name="1998年春晚" tvg-logo="https://ghp.ci/raw.githubusercontent.com/suxuang/myIPTV/main/img/春晚.png" t-time="58" v-w="0" v-h="0", 1998年春晚 +https://txmov2.a.kwimgs.com/bs3/video-hls/5225864507896315430_hlshd15.m3u8 +#EXTINF:-1 group-title="历年春晚" tvg-id="2008年春晚" tvg-name="2008年春晚" tvg-logo="https://ghp.ci/raw.githubusercontent.com/suxuang/myIPTV/main/img/春晚.png" t-time="62" v-w="0" v-h="0", 2008年春晚 +https://txmov2.a.kwimgs.com/bs3/video-hls/5210946337266019890_hlshd15.m3u8 +#EXTINF:-1 group-title="历年春晚" tvg-id="2011年春晚" tvg-name="2011年春晚" tvg-logo="https://ghp.ci/raw.githubusercontent.com/suxuang/myIPTV/main/img/春晚.png" t-time="59" v-w="0" v-h="0", 2011年春晚 +https://txmov2.a.kwimgs.com/bs3/video-hls/5243597434070590481_hlshd15.m3u8 +#EXTINF:-1 group-title="历年春晚" tvg-id="2017年春晚" tvg-name="2017年春晚" tvg-logo="https://ghp.ci/raw.githubusercontent.com/suxuang/myIPTV/main/img/春晚.png" t-time="122" v-w="0" v-h="0", 2017年春晚 +https://txmov2.a.kwimgs.com/bs3/video-hls/5191524564569524830_hlshd15.m3u8 +#EXTINF:-1 group-title="历年春晚" tvg-id="2022年春晚" tvg-name="2022年春晚" tvg-logo="https://ghp.ci/raw.githubusercontent.com/suxuang/myIPTV/main/img/春晚.png" t-time="87" v-w="0" v-h="0", 2022年春晚 +https://txmov2.a.kwimgs.com/bs3/video-hls/5224457109297710655_hlshd15.m3u8 +#EXTINF:-1 group-title="历年春晚" tvg-id="2023年春晚" tvg-name="2023年春晚" tvg-logo="https://ghp.ci/raw.githubusercontent.com/suxuang/myIPTV/main/img/春晚.png" t-time="120" v-w="0" v-h="0", 2023年春晚 +https://txmov2.a.kwimgs.com/bs3/video-hls/5251197255879398624_hlshd15.m3u8 +#EXTINF:-1 group-title="历年春晚" tvg-id="2024年春晚" tvg-name="2024年春晚" tvg-logo="https://ghp.ci/raw.githubusercontent.com/suxuang/myIPTV/main/img/春晚.png" t-time="76" v-w="0" v-h="0", 2024年春晚 +https://p2.bdstatic.com/rtmp.liveshow.lss-user.baidubce.com/live/stream_bduid_6488563992_8982723413/merged_1707497046297_88536_25144_41936.m3u8 +#EXTINF:-1 group-title="国际台" tvg-id="BBC" tvg-name="BBC" tvg-logo="https://ghp.ci/raw.githubusercontent.com/suxuang/myIPTV/main/tvlog/BBCNEWS.png" t-time="1978" v-w="0" v-h="0", BBC +https://d3pxo1qcgzxtxs.cloudfront.net/10005/99951298/hls/playlist.m3u8?ads.xumo_channelId=99951298 +#EXTINF:-1 group-title="国际台" tvg-id="CNA" tvg-name="CNA" tvg-logo="https://gitee.com/suxuang/TVlogo/raw/main/img/ChannelAsia.png" t-time="1851" v-w="0" v-h="0", CNA +https://d2e1asnsl7br7b.cloudfront.net/7782e205e72f43aeb4a48ec97f66ebbe/index_5.m3u8 +#EXTINF:-1 group-title="国际台" tvg-id="CNN" tvg-name="CNN" tvg-logo="https://gitee.com/suxuang/TVlogo/raw/main/img/CNN.png" t-time="3911" v-w="0" v-h="0", CNN +https://jmp2.uk/sam-GBBD8000016N.m3u8 +#EXTINF:-1 group-title="国际台" tvg-id="null" tvg-name="Fox LiveNow" tvg-logo="null" t-time="3037" v-w="0" v-h="0", Fox LiveNow +https://jmp2.uk/sam-USBA300024TN.m3u8 +#EXTINF:-1 group-title="国际台" tvg-id="null" tvg-name="CBC News" tvg-logo="null" t-time="1488" v-w="0" v-h="0", CBC News +https://dbrb49pjoymg4.cloudfront.net/v1/master/3fec3e5cac39a52b2132f9c66c83dae043dc17d4/prod_default_xumo-ams-aws/master.m3u8?ads.xumo_channelId=99991276 +#EXTINF:-1 group-title="国际台" tvg-id="null" tvg-name="ABC News Live" tvg-logo="null" t-time="1622" v-w="0" v-h="0", ABC News Live +https://d4ybyqrhce41r.cloudfront.net/v1/master/3fec3e5cac39a52b2132f9c66c83dae043dc17d4/prod-xumo-linear-nbcu-hlsv3/master.m3u8?ads.channelId=99991626 +#EXTINF:-1 group-title="国际台" tvg-id="null" tvg-name="WionNews" tvg-logo="null" t-time="2778" v-w="0" v-h="0", WionNews +https://d7x8z4yuq42qn.cloudfront.net/index_7.m3u8 +#EXTINF:-1 group-title="国际台" tvg-id="NBC" tvg-name="NBC" tvg-logo="https://ghp.ci/raw.githubusercontent.com/suxuang/myIPTV/main/tvlog/NBC1.png" t-time="2782" v-w="0" v-h="0", NBC News Now +https://jmp2.uk/sam-GBBB1500004LG.m3u8 +#EXTINF:-1 group-title="国际台" tvg-id="AlJaz" tvg-name="AlJazeera" tvg-logo="https://gitee.com/suxuang/TVlogo/raw/main/img/AlJazeera.png" t-time="491" v-w="0" v-h="0", Al Jazeera +http://live-hls-web-aje.getaj.net/AJE/01.m3u8 +#EXTINF:-1 group-title="国际台" tvg-id="Arirang" tvg-name="Arirang" tvg-logo="https://gitee.com/suxuang/TVlogo/raw/main/img/ArirangTV.png" t-time="2453" v-w="0" v-h="0", Arirang +https://amdlive-ch01-ctnd-com.akamaized.net/arirang_1ch/smil:arirang_1ch.smil/chunklist_b3256000_sleng.m3u8 +#EXTINF:-1 group-title="国际台" tvg-id="6140" tvg-name="Bloomberg" tvg-logo="http://epg.51zmt.top:8000/tb1/gt/BloombergTV.png" t-time="1462" v-w="0" v-h="0", Bloomberg Asia +https://epg.pw/stream/d2edf469b9079064a283f4b0811cbf6f2597ebbb3d08dcf77036a4b5a791b7cf.m3u8 +#EXTINF:-1 group-title="国际台" tvg-id="701" tvg-name="Fashion" tvg-logo="http://epg.51zmt.top:8000/tb1/gt/faguoshishang.png" t-time="456" v-w="0" v-h="0", Fashion TV +http://91.247.68.229:8000/play/Fashion/index.m3u8 +#EXTINF:-1 group-title="国际台" tvg-id="988" tvg-name="Trace" tvg-logo="http://epg.51zmt.top:8000/tb1/gt/TRACESportStars.png" t-time="1623" v-w="0" v-h="0", Trace Sports +https://lightning-tracesport-samsungau.amagi.tv/playlist1080p.m3u8 +#EXTINF:-1 group-title="国际台" tvg-id="RT01" tvg-name="RT" tvg-logo="https://live.fanmingming.com/tv/RTNews.png" t-time="2040" v-w="0" v-h="0", RT News(英语国际) +https://rt-glb.rttv.com/dvr/rtnews/playlist_4500Kb.m3u8 +#EXTINF:-1 group-title="国际台" tvg-id="RT02" tvg-name="RT" tvg-logo="https://ghp.ci/raw.githubusercontent.com/suxuang/myIPTV/main/tvlog/RT.png" t-time="2091" v-w="0" v-h="0", RT Español(西语) +https://rt-esp.rttv.com/dvr/rtesp/playlist_4500Kb.m3u8 +#EXTINF:-1 group-title="国际台" tvg-id="RT03" tvg-name="RT" tvg-logo="https://ghp.ci/raw.githubusercontent.com/suxuang/myIPTV/main/tvlog/RT.png" t-time="2433" v-w="0" v-h="0", RT Français(法语) +https://rt-fra.rttv.com/dvr/rtfrance/playlist_4500Kb.m3u8 +#EXTINF:-1 group-title="国际台" tvg-id="RT04" tvg-name="RT" tvg-logo="https://ghp.ci/raw.githubusercontent.com/suxuang/myIPTV/main/tvlog/RT.png" t-time="2534" v-w="0" v-h="0", RT Arabic(阿语) +https://rt-arb.rttv.com/dvr/rtarab/playlist_4500Kb.m3u8 +#EXTINF:-1 group-title="国际台" tvg-id="RT05" tvg-name="RT" tvg-logo="https://ghp.ci/raw.githubusercontent.com/suxuang/myIPTV/main/tvlog/RT德国.png" t-time="2136" v-w="0" v-h="0", RT DE(德语) +https://rt-ger.rttv.com/dvr/rtdeutsch/playlist_4500Kb.m3u8 +#EXTINF:-1 group-title="国际台" tvg-id="RT06" tvg-name="RT" tvg-logo="https://ghp.ci/raw.githubusercontent.com/suxuang/myIPTV/main/tvlog/RTDoc.png" t-time="2352" v-w="0" v-h="0", RT Documentary(英语纪录) +https://rt-rtd.rttv.com/dvr/rtdoc/playlist_4500Kb.m3u8 +#EXTINF:-1 group-title="国际台" tvg-id="null" tvg-name="Newsmax" tvg-logo="null" t-time="1641" v-w="0" v-h="0", Newsmax +http://nmxlive.akamaized.net/hls/live/529965/Live_1/index.m3u8 +#EXTINF:-1 group-title="国际台" tvg-id="null" tvg-name="CBN News" tvg-logo="null" t-time="2123" v-w="0" v-h="0", CBN News +https://bcovlive-a.akamaihd.net/re8d9f611ee4a490a9bb59e52db91414d/us-east-1/734546207001/playlist.m3u8 +#EXTINF:-1 group-title="国际台" tvg-id="null" tvg-name="TBS" tvg-logo="null" t-time="524" v-w="0" v-h="0", TBS +http://143.244.60.30/TBS/index.m3u8 +#EXTINF:-1 group-title="国际台" tvg-id="null" tvg-name="Taiwan Plus" tvg-logo="null" t-time="472" v-w="0" v-h="0", Taiwan Plus +https://bcovlive-a.akamaihd.net/rce33d845cb9e42dfa302c7ac345f7858/ap-northeast-1/6282251407001/playlist.m3u8 +#EXTINF:-1 group-title="国际台" tvg-id="null" tvg-name="Love Nature" tvg-logo="null" t-time="1358" v-w="0" v-h="0", Love Nature +https://d18dyiwu97wm6q.cloudfront.net/playlist2160p.m3u8 +#EXTINF:-1 group-title="国际台" tvg-id="null" tvg-name="Wild Earth" tvg-logo="null" t-time="3959" v-w="0" v-h="0", Wild Earth +https://wildearth-plex.amagi.tv/masterR1080p.m3u8 +#EXTINF:-1 group-title="央视台" tvg-id="CCTV-5+" tvg-name="CCTV-5 体育赛事" tvg-logo="https://live.fanmingming.com/tv/CCTV5.png" t-time="87" v-w="0" v-h="0", CCTV-5 +https://ldcctvwbcdbd.a.bdydns.com/ldcctvwbcd/cdrmldcctv5plus_1/index.m3u8?BR=td +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="重庆卫视" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="351" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202411212303/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="93" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202411222157/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="99" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202411232123/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="null" tvg-logo="https://ghp.ci/raw.githubusercontent.com/suxuang/myIPTV/main/img/电影.png" t-time="263" v-w="0" v-h="0", 欧美大片 +http://jiaojirentv.top/2020/dy.php?id=2793084 +#EXTINF:-1 group-title="电视剧" tvg-id="null" tvg-name="null" tvg-logo="https://ghp.ci/raw.githubusercontent.com/suxuang/myIPTV/main/img/西游记续集.png" t-time="1360" v-w="0" v-h="0", 西游记续集 +http://jiaojirentv.top/2020/dy.php?id=3113309 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="129" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202411252350/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="央视台" tvg-id="CCTV-5+" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/CCTV5.png" t-time="134" v-w="0" v-h="0", CCTV-5 +https://ldcctvwbcdtxy.liveplay.myqcloud.com/ldcctvwbcd/cdrmldcctv5plus_1/index.m3u8?b=200-2100 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="108" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202411261642/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="央视台" tvg-id="CCTV3" tvg-name="CCTV3" tvg-logo="https://live.fanmingming.com/tv/CCTV3.png" t-time="327" v-w="0" v-h="0", CCTV-3 +http://[2409:8087:1a01:df::4041]:80/TVOD/88888888/224/3221225799/main.m3u8 +#EXTINF:-1 group-title="央视台" tvg-id="CCTV8" tvg-name="CCTV8" tvg-logo="https://live.fanmingming.com/tv/CCTV8.png" t-time="234" v-w="0" v-h="0", CCTV-8 +http://[2409:8087:1a01:df::4051]:80/TVOD/88888888/224/3221225795/main.m3u8 +#EXTINF:-1 group-title="央视台" tvg-id="CCTV15" tvg-name="CCTV15" tvg-logo="https://live.fanmingming.com/tv/CCTV15.png" t-time="264" v-w="0" v-h="0", CCTV-15 +http://[2409:8087:1a01:df::4033]:80/TVOD/88888888/224/3221226127/main.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="东南卫视" tvg-name="东南卫视" tvg-logo="https://live.fanmingming.com/tv/东南卫视.png" t-time="231" v-w="0" v-h="0", 东南卫视 +http://[2409:8087:1a01:df::4035]:80/TVOD/88888888/224/3221225950/main.m3u8 +#EXTINF:-1 group-title="地方台" tvg-id="黑龙江文体" tvg-name="黑龙江文体" tvg-logo="" t-time="238" v-w="0" v-h="0", 黑龙江文体 +http://[2409:8087:1a01:df::4025]:80/TVOD/88888888/224/3221225965/main.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="354" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202411272026/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="央视台" tvg-id="CCTV17" tvg-name="CCTV17" tvg-logo="https://live.fanmingming.com/tv/CCTV17.png" t-time="231" v-w="0" v-h="0", CCTV-17 +http://[2409:8087:1a01:df::4025]:80/TVOD/88888888/224/3221225708/main.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="贵州卫视" tvg-name="贵州卫视" tvg-logo="https://live.fanmingming.com/tv/贵州卫视.png" t-time="206" v-w="0" v-h="0", 贵州卫视 +http://[2409:8087:1a01:df::4030]:80/TVOD/88888888/224/3221225974/main.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="河南卫视" tvg-name="河南卫视" tvg-logo="https://live.fanmingming.com/tv/河南卫视.png" t-time="302" v-w="0" v-h="0", 河南卫视 +http://[2409:8087:5e00:24::1e]:6060/000000001000/7304224304099543804/1.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="浙江卫视" tvg-name="浙江卫视" tvg-logo="https://live.fanmingming.com/tv/浙江卫视.png" t-time="227" v-w="0" v-h="0", 浙江卫视 +http://[2409:8087:1a01:df::4043]:80/TVOD/88888888/224/3221225959/main.m3u8 +#EXTINF:-1 group-title="地方台" tvg-id="null" tvg-name="null" tvg-logo="https://ghp.ci/https://raw.githubusercontent.com/linitfor/epg/main/logo/浙江钱江都市.png" t-time="56" v-w="0" v-h="0", 浙江钱江都市 +http://ali-m-l.cztv.com/channels/lantian/channel002/1080p.m3u8 +#EXTINF:-1 group-title="地方台" tvg-id="null" tvg-name="null" tvg-logo="https://ghp.ci/https://raw.githubusercontent.com/linitfor/epg/main/logo/浙江经济生活.png" t-time="18" v-w="0" v-h="0", 浙江经济生活 +http://ali-m-l.cztv.com/channels/lantian/channel003/1080p.m3u8 +#EXTINF:-1 group-title="地方台" tvg-id="null" tvg-name="null" tvg-logo="https://ghp.ci/https://raw.githubusercontent.com/linitfor/epg/main/logo/浙江教科影院.png" t-time="17" v-w="0" v-h="0", 浙江教科影院 +http://ali-m-l.cztv.com/channels/lantian/channel004/1080p.m3u8 +#EXTINF:-1 group-title="地方台" tvg-id="null" tvg-name="null" tvg-logo="https://ghp.ci/https://raw.githubusercontent.com/linitfor/epg/main/logo/浙江民生休闲.png" t-time="20" v-w="0" v-h="0", 浙江民生休闲 +http://ali-m-l.cztv.com/channels/lantian/channel006/1080p.m3u8 +#EXTINF:-1 group-title="地方台" tvg-id="null" tvg-name="null" tvg-logo="https://ghp.ci/https://raw.githubusercontent.com/linitfor/epg/main/logo/浙江公共新闻.png" t-time="17" v-w="0" v-h="0", 浙江公共新闻 +http://ali-m-l.cztv.com/channels/lantian/channel007/1080p.m3u8 +#EXTINF:-1 group-title="地方台" tvg-id="null" tvg-name="null" tvg-logo="https://ghp.ci/https://raw.githubusercontent.com/linitfor/epg/main/logo/浙江少儿.png" t-time="17" v-w="0" v-h="0", 浙江少儿 +http://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8 +#EXTINF:-1 group-title="地方台" tvg-id="null" tvg-name="null" tvg-logo="https://ghp.ci/https://raw.githubusercontent.com/linitfor/epg/main/logo/中国蓝新闻.png" t-time="165" v-w="0" v-h="0", 中国蓝新闻 +http://ali-m-l.cztv.com/channels/lantian/channel009/1080p.m3u8 +#EXTINF:-1 group-title="地方台" tvg-id="null" tvg-name="null" tvg-logo="https://ghp.ci/https://raw.githubusercontent.com/linitfor/epg/main/logo/浙江国际.png" t-time="129" v-w="0" v-h="0", 浙江国际 +http://ali-m-l.cztv.com/channels/lantian/channel010/1080p.m3u8 +#EXTINF:-1 group-title="地方台" tvg-id="null" tvg-name="null" tvg-logo="https://ghp.ci/https://raw.githubusercontent.com/linitfor/epg/main/logo/浙江好易购.png" t-time="103" v-w="0" v-h="0", 浙江好易购 +http://ali-m-l.cztv.com/channels/lantian/channel011/1080p.m3u8 +#EXTINF:-1 group-title="地方台" tvg-id="null" tvg-name="null" tvg-logo="https://ghp.ci/https://raw.githubusercontent.com/linitfor/epg/main/logo/浙江之江纪录.png" t-time="25" v-w="0" v-h="0", 浙江之江纪录 +http://ali-m-l.cztv.com/channels/lantian/channel012/1080p.m3u8 +#EXTINF:-1 group-title="地方台" tvg-id="null" tvg-name="null" tvg-logo="https://ghp.ci/https://raw.githubusercontent.com/linitfor/epg/main/logo/浙江浙江之声.png" t-time="3092" v-w="0" v-h="0", 浙江浙江之声 +http://ali-m-l.cztv.com/channels/lantian/fm88/128k.m3u8 +#EXTINF:-1 group-title="地方台" tvg-id="null" tvg-name="null" tvg-logo="https://ghp.ci/https://raw.githubusercontent.com/linitfor/epg/main/logo/浙江新闻广播.png" t-time="77" v-w="0" v-h="0", 浙江新闻广播 +http://ali-m-l.cztv.com/channels/lantian/fm988/128k.m3u8 +#EXTINF:-1 group-title="地方台" tvg-id="null" tvg-name="null" tvg-logo="https://ghp.ci/https://raw.githubusercontent.com/linitfor/epg/main/logo/浙江广播经济.png" t-time="60" v-w="0" v-h="0", 浙江广播经济 +http://ali-m-l.cztv.com/channels/lantian/fm95/128k.m3u8 +#EXTINF:-1 group-title="地方台" tvg-id="null" tvg-name="null" tvg-logo="https://ghp.ci/https://raw.githubusercontent.com/linitfor/epg/main/logo/浙江民生资讯.png" t-time="215" v-w="0" v-h="0", 浙江民生资讯 +http://ali-m-l.cztv.com/channels/lantian/fm996/128k.m3u8 +#EXTINF:-1 group-title="地方台" tvg-id="null" tvg-name="null" tvg-logo="https://ghp.ci/https://raw.githubusercontent.com/linitfor/epg/main/logo/浙江音乐调频.png" t-time="3148" v-w="0" v-h="0", 浙江音乐调频 +http://ali-m-l.cztv.com/channels/lantian/fm968/128k.m3u8 +#EXTINF:-1 group-title="地方台" tvg-id="null" tvg-name="null" tvg-logo="https://ghp.ci/https://raw.githubusercontent.com/linitfor/epg/main/logo/浙江交通之声.png" t-time="94" v-w="0" v-h="0", 浙江交通之声 +http://ali-m-l.cztv.com/channels/lantian/fm93/128k.m3u8 +#EXTINF:-1 group-title="地方台" tvg-id="null" tvg-name="null" tvg-logo="https://ghp.ci/https://raw.githubusercontent.com/linitfor/epg/main/logo/浙江旅游之声.png" t-time="137" v-w="0" v-h="0", 浙江旅游之声 +http://ali-m-l.cztv.com/channels/lantian/fm1045/128k.m3u8 +#EXTINF:-1 group-title="地方台" tvg-id="null" tvg-name="null" tvg-logo="https://ghp.ci/https://raw.githubusercontent.com/linitfor/epg/main/logo/浙江城市之声.png" t-time="221" v-w="0" v-h="0", 浙江城市之声 +http://ali-m-l.cztv.com/channels/lantian/fm107/128k.m3u8 +#EXTINF:-1 group-title="地方台" tvg-id="null" tvg-name="null" tvg-logo="https://ghp.ci/https://raw.githubusercontent.com/linitfor/epg/main/logo/杭州余杭平安.png" t-time="55" v-w="0" v-h="0", 杭州余杭平安 +http://l.cztvcloud.com/channels/lantian/SXyuhang2/720p.m3u8 +#EXTINF:-1 group-title="地方台" tvg-id="null" tvg-name="null" tvg-logo="https://ghp.ci/https://raw.githubusercontent.com/linitfor/epg/main/logo/杭州余杭未来.png" t-time="25" v-w="0" v-h="0", 杭州余杭未来 +http://l.cztvcloud.com/channels/lantian/SXyuhang3/720p.m3u8 +#EXTINF:-1 group-title="地方台" tvg-id="null" tvg-name="null" tvg-logo="https://ghp.ci/https://raw.githubusercontent.com/linitfor/epg/main/logo/杭州余杭综合.png" t-time="16" v-w="0" v-h="0", 杭州余杭综合 +http://l.cztvcloud.com/channels/lantian/SXyuhang1/720p.m3u8 +#EXTINF:-1 group-title="电视剧" tvg-id="null" tvg-name="null" tvg-logo="https://ghp.ci/raw.githubusercontent.com/suxuang/myIPTV/main/img/新水浒.png" t-time="4276" v-w="0" v-h="0", 新水浒传 +http://cdn.jdshipin.com:8880/huya.php?id=11342384 +#EXTINF:-1 group-title="电视剧" tvg-id="null" tvg-name="null" tvg-logo="https://ghp.ci/raw.githubusercontent.com/suxuang/myIPTV/main/img/雪豹.png" t-time="1666" v-w="0" v-h="0", 雪豹 +http://cdn.jdshipin.com:8880/huya.php?id=29580970 +#EXTINF:-1 group-title="电视剧" tvg-id="null" tvg-name="null" tvg-logo="https://ghp.ci/raw.githubusercontent.com/suxuang/myIPTV/main/img/庆余年.png" t-time="856" v-w="0" v-h="0", 庆余年(备用2) +http://cdn.jdshipin.com:8880/huya.php?id=11352960 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="221" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202411281212/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="207" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202411291600/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="儿童" tvg-id="黑龙江少儿" tvg-name="黑龙江少儿" tvg-logo="" t-time="238" v-w="0" v-h="0", 黑龙江少儿 +http://[2409:8087:1a01:df::4049]:80/TVOD/88888888/224/3221225979/main.m3u8 +#EXTINF:-1 group-title="地方台" tvg-id="鹤岗新闻综合" tvg-name="鹤岗新闻综合" tvg-logo="" t-time="230" v-w="0" v-h="0", 鹤岗新闻综合 +http://[2409:8087:1a01:df::4059]:80/TVOD/88888888/224/3221226073/main.m3u8 +#EXTINF:-1 group-title="地方台" tvg-id="黑龙江都市" tvg-name="黑龙江都市" tvg-logo="" t-time="220" v-w="0" v-h="0", 黑龙江都市 +http://[2409:8087:1a01:df::4055]:80/TVOD/88888888/224/3221225969/main.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="127" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202412012254/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="地方台" tvg-id="null" tvg-name="广州电视台综合频道" tvg-logo="https://live.fanmingming.com/tv/广州电视台综合频道.png" t-time="275" v-w="0" v-h="0", 广州电视台综合频道 +https://tencentplay.gztv.com/live/zonghes.m3u8?txSecret=dce137597806f62ae6fdfc40328a336e&txTime=191b5fc1c86 +#EXTINF:-1 group-title="地方台" tvg-id="null" tvg-name="广州综合" tvg-logo="https://live.fanmingming.com/tv/广州综合.png" t-time="93" v-w="0" v-h="0", 广州综合 +http://tencentplay.gztv.com/live/zonghes.m3u8?txSecret=c8dbe86d6f86eb1a21999ab479fd5667&txTime=18d3c4690e8 +#EXTINF:-1 group-title="地方台" tvg-id="null" tvg-name="广州电视台新闻频道" tvg-logo="https://live.fanmingming.com/tv/广州电视台新闻频道.png" t-time="224" v-w="0" v-h="0", 广州电视台新闻频道 +https://tencentplay.gztv.com/live/xinwen.m3u8?txSecret=520177bc9dd6916a7d6fa86bdb3f8830&txTime=191b5f5b230 +#EXTINF:-1 group-title="地方台" tvg-id="null" tvg-name="广州新闻" tvg-logo="https://live.fanmingming.com/tv/广州新闻.png" t-time="173" v-w="0" v-h="0", 广州新闻 +http://tencentplay.gztv.com/live/xinwen.m3u8?txSecret=d2c2db0b598c02ec1b5623728434d367&txTime=18d57929bd3 +#EXTINF:-1 group-title="地方台" tvg-id="null" tvg-name="广州影视频道" tvg-logo="https://live.fanmingming.com/tv/广州影视频道.png" t-time="127" v-w="0" v-h="0", 广州影视频道 +http://tencentplay.gztv.com/live/yingshi.m3u8?txSecret=1bd3a1082ab5b89f48c1bff9a3760da4&txTime=18d57929bd4 +#EXTINF:-1 group-title="地方台" tvg-id="null" tvg-name="广州电视台影视频道" tvg-logo="https://live.fanmingming.com/tv/广州电视台影视频道.png" t-time="94" v-w="0" v-h="0", 广州电视台影视频道 +https://tencentplay.gztv.com/live/yingshi.m3u8?txSecret=2b09d952702fe2c67ddad695faa4c27c&txTime=191b5db5ed0 +#EXTINF:-1 group-title="地方台" tvg-id="null" tvg-name="广州电视台法治频道" tvg-logo="https://live.fanmingming.com/tv/广州电视台法治频道.png" t-time="134" v-w="0" v-h="0", 广州电视台法治频道 +https://tencentplay.gztv.com/live/fazhi.m3u8?txSecret=4400d75d2114b2db07d86eda8f8218ee&txTime=191b60ce0f6 +#EXTINF:-1 group-title="地方台" tvg-id="null" tvg-name="广州电视台法治频道" tvg-logo="https://live.fanmingming.com/tv/广州电视台法治频道.png" t-time="117" v-w="0" v-h="0", 广州电视台法治频道 +http://tencentplay.gztv.com/live/fazhi.m3u8?txSecret=3e84cd8eba844b5dc2150612295c7a52&txTime=18d578f4493 +#EXTINF:-1 group-title="地方台" tvg-id="null" tvg-name="广州南国都市频道" tvg-logo="https://live.fanmingming.com/tv/广州南国都市频道.png" t-time="145" v-w="0" v-h="0", 广州南国都市频道 +https://tencentplay.gztv.com/live/nanguodushi.m3u8?txSecret=babbcbacdbcf13a3311a264e4dd66b8d&txTime=191b60b41a7 +#EXTINF:-1 group-title="地方台" tvg-id="null" tvg-name="4K南国都市频道" tvg-logo="https://live.fanmingming.com/tv/4K南国都市频道.png" t-time="114" v-w="0" v-h="0", 4K南国都市频道 +http://tencentplay.gztv.com/live/nanguodushi.m3u8?txSecret=140110ae3d6c936a77f94c4f4d85b0d3&txTime=18d57929bd4 +#EXTINF:-1 group-title="地方台" tvg-id="null" tvg-name="广州竞赛频道" tvg-logo="https://live.fanmingming.com/tv/广州竞赛频道.png" t-time="52" v-w="0" v-h="0", 广州竞赛频道 +https://tencentplay.gztv.com/live/jingsai.m3u8?txSecret=a4d04c27d0d1d8b7efef2ed7ff1c3eae&txTime=191b60cc9ca +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="118" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202412022332/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="131" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202412032225/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="109" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202412052053/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="央视台" tvg-id="CCTV-9" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/CCTV9.png" t-time="2992" v-w="0" v-h="0", CCTV-9 +https://www.nettvpro.xyz/player/videojs.php?url=http://117.161.12.116/live/program/live/cctv9hd8m/8000000/mnf.m3u8 +#EXTINF:-1 group-title="央视台" tvg-id="CCTV-4" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/CCTV4.png" t-time="606" v-w="0" v-h="0", CCTV-4 +https://www.nettvpro.xyz/player/videojs.php?url=http://117.161.12.116/live/program/live/cctv4hd8m/8000000/mnf.m3u8 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="null" tvg-logo="https://ghp.ci/raw.githubusercontent.com/suxuang/myIPTV/main/img/电影.png" t-time="67" v-w="0" v-h="0", 倩女幽魂妖魔道 +http://jsmov2.a.yximgs.com/bs3/video-hls/5232901391302199073_hlsb.m3u8 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="null" tvg-logo="https://ghp.ci/raw.githubusercontent.com/suxuang/myIPTV/main/img/电影.png" t-time="34" v-w="0" v-h="0", 倩女幽魂人间道 +http://jsmov2.a.yximgs.com/bs3/video-hls/5250634317044855747_hlsb.m3u8 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="null" tvg-logo="https://ghp.ci/raw.githubusercontent.com/suxuang/myIPTV/main/img/电影.png" t-time="41" v-w="0" v-h="0", 倩女幽魂道道道 +http://jsmov2.a.yximgs.com/bs3/video-hls/5216294367991385255_hlsb.m3u8 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="null" tvg-logo="https://ghp.ci/raw.githubusercontent.com/suxuang/myIPTV/main/img/电影.png" t-time="1044" v-w="0" v-h="0", 人在囧途 +https://vip.ffzy-play.com/20221018/1953_2d6ba500/index.m3u8 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="null" tvg-logo="https://ghp.ci/raw.githubusercontent.com/suxuang/myIPTV/main/img/电影.png" t-time="500" v-w="0" v-h="0", 人在囧途之泰囧 +https://vip.ffzy-play.com/20221018/1951_47e1adc8/index.m3u8 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="null" tvg-logo="https://ghp.ci/raw.githubusercontent.com/suxuang/myIPTV/main/img/电影.png" t-time="989" v-w="0" v-h="0", 人在囧途之港囧 +https://vip.ffzy-play7.com/20230112/11082_fde1a94d/index.m3u8 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="null" tvg-logo="https://ghp.ci/raw.githubusercontent.com/suxuang/myIPTV/main/img/电影.png" t-time="1075" v-w="0" v-h="0", 拆弹专家1 +https://vip.ffzy-online.com/20221015/719_80ff87c2/index.m3u8 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="null" tvg-logo="https://ghp.ci/raw.githubusercontent.com/suxuang/myIPTV/main/img/电影.png" t-time="377" v-w="0" v-h="0", 拆弹专家2 +https://vip.ffzy-online.com/20221015/722_e32c42bc/index.m3u8 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="null" tvg-logo="https://ghp.ci/raw.githubusercontent.com/suxuang/myIPTV/main/img/电影.png" t-time="923" v-w="0" v-h="0", 寒战 +https://vip.ffzy-play6.com/20221019/157_bf0740ee/index.m3u8 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="null" tvg-logo="https://ghp.ci/raw.githubusercontent.com/suxuang/myIPTV/main/img/电影.png" t-time="929" v-w="0" v-h="0", 我不是药神 +https://vip.ffzy-play1.com/20221018/478_c3afed66/index.m3u8 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="null" tvg-logo="https://ghp.ci/raw.githubusercontent.com/suxuang/myIPTV/main/img/电影.png" t-time="229" v-w="0" v-h="0", 让子弹飞 +https://vip.ffzy-play7.com/20230116/11563_b9f44814/index.m3u8 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="null" tvg-logo="https://ghp.ci/raw.githubusercontent.com/suxuang/myIPTV/main/img/电影.png" t-time="84" v-w="0" v-h="0", 龙门飞甲 +http://jsmov2.a.yximgs.com/bs3/video-hls/5203346449046555193_hlsb.m3u8 +#EXTINF:-1 group-title="4K" tvg-id="Loupe" tvg-name="Loupe" tvg-logo="https://epg.iill.top/logo/Loupe4K.png" t-time="988" v-w="0" v-h="0", Loupe 4K视觉 +https://d2dw21aq0j0l5c.cloudfront.net/playlist_3840x2160.m3u8 +#EXTINF:-1 group-title="4K" tvg-id="null" tvg-name="null" tvg-logo="https://epg.iill.top/logo/FashionTV.png" t-time="2566" v-w="0" v-h="0", Fashion 4K时尚 +https://fash2043.cloudycdn.services/slive/ftv_ftv_4k_hevc_73d_42080_default_466_hls.smil/playlist.m3u8 +#EXTINF:-1 group-title="港澳台" tvg-id="纬来精采" tvg-name="纬来精采台" tvg-logo="https://gitee.com/suxuang/epglogo/raw/master/gangaotai/Weilai7.png" t-time="113" v-w="0" v-h="0", 纬来精采 +http://61.221.215.25:8800/hls/48/index.m3u8 +#EXTINF:-1 group-title="港澳台" tvg-id="null" tvg-name="龙华电影" tvg-logo="https://gitee.com/suxuang/TVlogo/raw/main/img/LTV1.png" t-time="1156" v-w="0" v-h="0", 龙华电影 +https://stream1.freetv.fun/1178a02eb676ee58293691fdc19fed767b2dc61d866c1fee41447a8503ec0253.m3u8 +#EXTINF:-1 group-title="电视剧" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/新三国.png" t-time="2436" v-w="0" v-h="0", 新三国(备用) +http://live.metshop.top/huya/11352944 +#EXTINF:-1 group-title="电视剧" tvg-id="三国演义" tvg-name="三国演义" tvg-logo="" t-time="2519" v-w="0" v-h="0", 三国演义 +http://live.metshop.top/huya/11602081 +#EXTINF:-1 group-title="电视剧" tvg-id="三国演义" tvg-name="三国演义" tvg-logo="" t-time="14260" v-w="0" v-h="0", 三国演义(备用) +http://lunbo.freetv.top/yy/1354930932 +#EXTINF:-1 group-title="电视剧" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/少年包青天1.png" t-time="2224" v-w="0" v-h="0", 少年包青天(备用) +http://lunbo.freetv.top/yy/1356043677 +#EXTINF:-1 group-title="国际台" tvg-id="RT05" tvg-name="RT" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/tvlog/RT塞尔维亚.png" t-time="2282" v-w="0" v-h="0", RT Balkan (塞尔维亚语) +https://rt-srb.rttv.com/dvr/rtbalkan/playlist_4500Kb.m3u8 +#EXTINF:-1 group-title="国际台" tvg-id="RT07" tvg-name="RT" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/tvlog/RTDoc.png" t-time="2176" v-w="0" v-h="0", RT Doc-Русский(俄语纪录) +https://rt-doc.rttv.com/dvr/rtdru/rtdru1080.m3u8 +#EXTINF:-1 group-title="电视剧" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/延禧攻略.png" t-time="3325" v-w="0" v-h="0", 延禧攻略 +http://live.metshop.top/huya/26355864 +#EXTINF:-1 group-title="电视剧" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/新水浒.png" t-time="6125" v-w="0" v-h="0", 新水浒传 +http://live.metshop.top/huya/11342384 +#EXTINF:-1 group-title="电视剧" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/神探狄仁杰3.png" t-time="1257" v-w="0" v-h="0", 神探狄仁杰第三部 +http://live.metshop.top/huya/11342425 +#EXTINF:-1 group-title="电视剧" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/爱情公寓.png" t-time="930" v-w="0" v-h="0", 爱情公寓 +http://live.metshop.top/huya/11336726 +#EXTINF:-1 group-title="电视剧" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/倚天屠龙记苏有朋.png" t-time="1082" v-w="0" v-h="0", 倚天屠龙记 +http://live.metshop.top/huya/11342403 +#EXTINF:-1 group-title="电视剧" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/铁齿铜牙纪晓岚.png" t-time="964" v-w="0" v-h="0", 铁齿铜牙纪晓岚 +http://live.metshop.top/huya/11342396 +#EXTINF:-1 group-title="电视剧" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/亮剑.png" t-time="5271" v-w="0" v-h="0", 亮剑 +http://live.metshop.top/huya/30080238 +#EXTINF:-1 group-title="电视剧" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/士兵突击.png" t-time="1071" v-w="0" v-h="0", 士兵突击 +http://live.metshop.top/huya/11342430 +#EXTINF:-1 group-title="电视剧" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/康熙王朝.png" t-time="988" v-w="0" v-h="0", 康熙王朝 +http://live.metshop.top/huya/11352940 +#EXTINF:-1 group-title="电视剧" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/精绝古城.png" t-time="1013" v-w="0" v-h="0", 鬼吹灯之精绝古城 +http://live.metshop.top/huya/11352871 +#EXTINF:-1 group-title="电视剧" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/龙岭迷窟.png" t-time="1106" v-w="0" v-h="0", 鬼吹灯之龙岭迷窟 +http://live.metshop.top/huya/29465863 +#EXTINF:-1 group-title="电视剧" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/笑傲江湖.png" t-time="8977" v-w="0" v-h="0", 笑傲江湖 +http://live.metshop.top/huya/26355790 +#EXTINF:-1 group-title="电视剧" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/神雕侠侣.png" t-time="953" v-w="0" v-h="0", 神雕侠侣 +http://live.metshop.top/huya/11352964 +#EXTINF:-1 group-title="电视剧" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/雪豹.png" t-time="5912" v-w="0" v-h="0", 雪豹 +http://live.metshop.top/huya/29580970 +#EXTINF:-1 group-title="电视剧" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/陈情令.png" t-time="7804" v-w="0" v-h="0", 陈情令 +http://live.metshop.top/huya/29465862 +#EXTINF:-1 group-title="数字台" tvg-id="新视觉" tvg-name="新视觉" tvg-logo="https://gitee.com/suxuang/TVlogo/raw/main/img/xsj.png" t-time="191" v-w="0" v-h="0", 新视觉HD +http://120.76.248.139/live/bfgd/4200000249.m3u8 +#EXTINF:-1 group-title="港澳台" tvg-id="TVB翡翠台" tvg-name="翡翠台" tvg-logo="https://live.fanmingming.com/tv/翡翠台.png" t-time="1805" v-w="0" v-h="0", TVB翡翠台 +http://php.jdshipin.com/TVOD/iptv.php?id=fct3 +#EXTINF:-1 group-title="港澳台" tvg-id="TVB翡翠台" tvg-name="翡翠台" tvg-logo="https://live.fanmingming.com/tv/翡翠台.png" t-time="550" v-w="0" v-h="0", TVB翡翠台 4K +http://php.jdshipin.com/TVOD/iptv.php?id=fct4 +#EXTINF:-1 group-title="央视台" tvg-id="CGTN" tvg-name="null" tvg-logo="" t-time="381" v-w="0" v-h="0", CGNT 记录频道 +https://livedoc.cgtn.com/1000d/prog_index.m3u8 +#EXTINF:-1 group-title="央视台" tvg-id="CCTV-5+" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/CCTV5.png" t-time="167" v-w="0" v-h="0", CCTV-5 +https://ldcctvwbcdcnc.v.wscdns.com/ldcctvwbcd/cdrmldcctv5plus_1_720P/playlist.m3u8?wsApp=HLS +#EXTINF:-1 group-title="央视台" tvg-id="CCTV-5+" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/CCTV5.png" t-time="83" v-w="0" v-h="0", CCTV-5 +https://ldcctvwbcdtxy.liveplay.myqcloud.com/ldcctvwbcd/cdrmldcctv5plus_1_td.m3u8 +#EXTINF:-1 group-title="地方台" tvg-id="湖南娱乐频道" tvg-name="null" tvg-logo="http://tv.haoqu99.com/d/file/2015/0417/20150417125630263.jpg" t-time="685" v-w="0" v-h="0", 湖南娱乐频道 +http://phonetx.qing.mgtv.com/nn_live/nn_x64/dWlwPTEwMy4zOS4yMjYuMTAwJnFpZD0mY2RuZXhfaWQ9dHhfcGhvbmVfbGl2ZSZzPTM0NjUxZjg0ODFlYzFiOWY4Y2JhMzM2YzZiMjM4NTIzJnVpZD0mdXVpZD03YWFjNTg3ZTUxZmY3NDIzMzBiMjExMmRlNWIwZTM0NC02NzI3ZTI2NCZ2PTImYXM9MCZlcz0xNzM1Njg5ODgz/HNYLMPP360.m3u8 +#EXTINF:-1 group-title="港澳台" tvg-id="TVB翡翠台" tvg-name="翡翠台" tvg-logo="https://live.fanmingming.com/tv/翡翠台.png" t-time="3376" v-w="0" v-h="0", TVB翡翠台(备用) +http://php.jdshipin.com/TVOD/iptv.php?id=huali2 +#EXTINF:-1 group-title="卫视台" tvg-id="null" tvg-name="广东珠江" tvg-logo="https://live.fanmingming.com/tv/广东珠江.png" t-time="361" v-w="0" v-h="0", 珠江卫视 +http://[2409:8087:5e00:24::10]:6060/200000001898/460000089800010091/0.m3u8 +#EXTINF:-1 group-title="儿童" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/哆啦A梦.png" t-time="3846" v-w="0" v-h="0", 哆啦A梦 +http://cdn.jdshipin.com:8880/huya.php?id=11601963 +#EXTINF:-1 group-title="儿童" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/猫和老鼠.png" t-time="1898" v-w="0" v-h="0", 猫和老鼠 +http://cdn.jdshipin.com:8880/huya.php?id=11352879 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/电影.png" t-time="1522" v-w="0" v-h="0", 刘德华电影 +http://cdn.jdshipin.com:8880/huya.php?id=11342424 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/电影.png" t-time="2642" v-w="0" v-h="0", 古天乐电影 +http://cdn.jdshipin.com:8880/huya.php?id=29982675 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/电影.png" t-time="771" v-w="0" v-h="0", 李连杰电影 +http://cdn.jdshipin.com:8880/huya.php?id=11342390 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/电影.png" t-time="2655" v-w="0" v-h="0", 甄子丹电影 +http://cdn.jdshipin.com:8880/huya.php?id=11352935 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/电影.png" t-time="2363" v-w="0" v-h="0", 狄仁杰系列 +http://cdn.jdshipin.com:8880/huya.php?id=30080229 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/电影.png" t-time="2183" v-w="0" v-h="0", 沈腾电影 +http://cdn.jdshipin.com:8880/huya.php?id=11601968 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/电影.png" t-time="1698" v-w="0" v-h="0", 黄渤电影 +http://cdn.jdshipin.com:8880/huya.php?id=11352876 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/电影.png" t-time="1682" v-w="0" v-h="0", 强森电影 +http://cdn.jdshipin.com:8880/huya.php?id=21059581 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/电影.png" t-time="1374" v-w="0" v-h="0", 王晶电影 +http://cdn.jdshipin.com:8880/huya.php?id=11602058 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/电影.png" t-time="2032" v-w="0" v-h="0", 金庸武侠 +http://cdn.jdshipin.com:8880/huya.php?id=11342435 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/电影.png" t-time="2959" v-w="0" v-h="0", 功夫电影 +http://cdn.jdshipin.com:8880/huya.php?id=11352941 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/电影.png" t-time="2609" v-w="0" v-h="0", 贺岁电影 +http://cdn.jdshipin.com:8880/huya.php?id=11601986 +#EXTINF:-1 group-title="电视剧" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/士兵突击.png" t-time="2452" v-w="0" v-h="0", 士兵突击 +http://cdn.jdshipin.com:8880/huya.php?id=11342430 +#EXTINF:-1 group-title="电视剧" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/笑傲江湖.png" t-time="2132" v-w="0" v-h="0", 笑傲江湖 +http://cdn.jdshipin.com:8880/huya.php?id=26355790 +#EXTINF:-1 group-title="电视剧" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/神雕侠侣.png" t-time="2013" v-w="0" v-h="0", 神雕侠侣 +http://cdn.jdshipin.com:8880/huya.php?id=11352964 +#EXTINF:-1 group-title="电视剧" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/倚天屠龙记苏有朋.png" t-time="982" v-w="0" v-h="0", 倚天屠龙记 +http://cdn.jdshipin.com:8880/huya.php?id=11342403 +#EXTINF:-1 group-title="电视剧" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/铁齿铜牙纪晓岚.png" t-time="1127" v-w="0" v-h="0", 铁齿铜牙纪晓岚 +http://cdn.jdshipin.com:8880/huya.php?id=11342396 +#EXTINF:-1 group-title="电视剧" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/康熙王朝.png" t-time="1285" v-w="0" v-h="0", 康熙王朝 +http://cdn.jdshipin.com:8880/huya.php?id=11352940 +#EXTINF:-1 group-title="电视剧" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/陈情令.png" t-time="2513" v-w="0" v-h="0", 陈情令 +http://cdn.jdshipin.com:8880/huya.php?id=29465862 +#EXTINF:-1 group-title="电视剧" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/精绝古城.png" t-time="2246" v-w="0" v-h="0", 鬼吹灯之精绝古城 +http://cdn.jdshipin.com:8880/huya.php?id=11352871 +#EXTINF:-1 group-title="电视剧" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/怒晴湘西.png" t-time="3048" v-w="0" v-h="0", 鬼吹灯之怒晴湘西 +http://cdn.jdshipin.com:8880/huya.php?id=11602075 +#EXTINF:-1 group-title="电视剧" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/龙岭迷窟.png" t-time="1830" v-w="0" v-h="0", 鬼吹灯之龙岭迷窟 +http://cdn.jdshipin.com:8880/huya.php?id=29465863 +#EXTINF:-1 group-title="电视剧" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/云南虫谷.png" t-time="1956" v-w="0" v-h="0", 鬼吹灯之云南虫谷 +http://cdn.jdshipin.com:8880/huya.php?id=11352898 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/埋堆堆.png" t-time="2061" v-w="0" v-h="0", 楚汉骄雄 +http://cdn.jdshipin.com:8880/huya.php?id=23740156 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/埋堆堆.png" t-time="2724" v-w="0" v-h="0", 封神榜 +http://cdn.jdshipin.com:8880/huya.php?id=23749096 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/埋堆堆.png" t-time="3853" v-w="0" v-h="0", 西游记1 +http://cdn.jdshipin.com:8880/huya.php?id=23728660 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/埋堆堆.png" t-time="1893" v-w="0" v-h="0", 西游记2 +http://cdn.jdshipin.com:8880/huya.php?id=23735126 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/埋堆堆.png" t-time="2312" v-w="0" v-h="0", 天龙八部 +http://cdn.jdshipin.com:8880/huya.php?id=23903123 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/埋堆堆.png" t-time="2369" v-w="0" v-h="0", 鹿鼎记 +http://cdn.jdshipin.com:8880/huya.php?id=23865080 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/埋堆堆.png" t-time="2158" v-w="0" v-h="0", 寻秦记 +http://cdn.jdshipin.com:8880/huya.php?id=23864973 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/埋堆堆.png" t-time="2036" v-w="0" v-h="0", 大唐双龙传 +http://cdn.jdshipin.com:8880/huya.php?id=23728674 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/埋堆堆.png" t-time="2929" v-w="0" v-h="0", 神雕侠侣 +http://cdn.jdshipin.com:8880/huya.php?id=23865171 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/埋堆堆.png" t-time="3311" v-w="0" v-h="0", 射雕英雄传 +http://cdn.jdshipin.com:8880/huya.php?id=23824164 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/埋堆堆.png" t-time="3089" v-w="0" v-h="0", 倚天屠龙记 +http://cdn.jdshipin.com:8880/huya.php?id=23734246 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/埋堆堆.png" t-time="2331" v-w="0" v-h="0", 笑傲江湖 +http://cdn.jdshipin.com:8880/huya.php?id=23865142 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/埋堆堆.png" t-time="2329" v-w="0" v-h="0", 刑事侦缉档案 +http://cdn.jdshipin.com:8880/huya.php?id=23734169 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/埋堆堆.png" t-time="1974" v-w="0" v-h="0", 法政先锋 +http://cdn.jdshipin.com:8880/huya.php?id=23863804 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/埋堆堆.png" t-time="2746" v-w="0" v-h="0", 洗冤录 +http://cdn.jdshipin.com:8880/huya.php?id=23903130 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/埋堆堆.png" t-time="1129" v-w="0" v-h="0", 陀枪师姐 +http://cdn.jdshipin.com:8880/huya.php?id=23860039 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/埋堆堆.png" t-time="2573" v-w="0" v-h="0", 使徒行者 +http://cdn.jdshipin.com:8880/huya.php?id=23734256 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/埋堆堆.png" t-time="3091" v-w="0" v-h="0", 鉴证实录 +http://cdn.jdshipin.com:8880/huya.php?id=23903183 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/埋堆堆.png" t-time="3169" v-w="0" v-h="0", 金枝欲孽 +http://cdn.jdshipin.com:8880/huya.php?id=23865036 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/埋堆堆.png" t-time="4153" v-w="0" v-h="0", 扫黄先锋 +http://cdn.jdshipin.com:8880/huya.php?id=23903196 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/埋堆堆.png" t-time="2442" v-w="0" v-h="0", 创世纪 +http://cdn.jdshipin.com:8880/huya.php?id=23749083 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/埋堆堆.png" t-time="4281" v-w="0" v-h="0", 妙手仁心 +http://cdn.jdshipin.com:8880/huya.php?id=23829543 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/埋堆堆.png" t-time="2445" v-w="0" v-h="0", 大时代 +http://cdn.jdshipin.com:8880/huya.php?id=23865161 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/埋堆堆.png" t-time="2905" v-w="0" v-h="0", 野蛮亲家 +http://cdn.jdshipin.com:8880/huya.php?id=23863796 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/埋堆堆.png" t-time="2426" v-w="0" v-h="0", 笑看风云 +http://cdn.jdshipin.com:8880/huya.php?id=23865058 +#EXTINF:-1 group-title="央视台" tvg-id="null" tvg-name="风云足球" tvg-logo="https://live.fanmingming.com/tv/风云足球.png" t-time="503" v-w="0" v-h="0", CCTV-风云足球 +http://kkk.jjjj.jiduo.me/api.php?n=tttt&id=4877&tk=2894ccdba8fc +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/电影.png" t-time="458" v-w="0" v-h="0", 欧美大片 +http://zzy789.xyz/douyu1.php?id=2793084 +#EXTINF:-1 group-title="电视剧" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/西游记续集.png" t-time="509" v-w="0" v-h="0", 西游记续集 +http://zzy789.xyz/douyu1.php?id=3113309 +#EXTINF:-1 group-title="央视台" tvg-id="CGTN" tvg-name="null" tvg-logo="" t-time="403" v-w="0" v-h="0", CGNT 记录频道 +https://english-livebkali.cgtn.com/live/doccgtn_0.m3u8 +#EXTINF:-1 group-title="央视台" tvg-id="CGTN-News" tvg-name="null" tvg-logo="" t-time="20" v-w="0" v-h="0", CGNT 新闻频道 +https://english-livebkali.cgtn.com/live/encgtn_0.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="东方卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/东方卫视.png" t-time="54" v-w="0" v-h="0", 东方卫视 +http://p.ytelc.com/m3u8.html?id=http://cc-ynbit-wszhibo.ifengli.com:2000/live/shdfws-hd/2500.m3u8?innersid=6998114529464369318 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="338" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202501082337/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="港澳台" tvg-id="澳视澳门" tvg-name="澳视澳门" tvg-logo="https://gitee.com/suxuang/epglogo/raw/master/gangaotai/Aoshi1.png" t-time="20852" v-w="0" v-h="0", 澳视澳门 +http://cdn.132.us.kg/live/asam/stream.m3u8 +#EXTINF:-1 group-title="港澳台" tvg-id="澳亚卫视" tvg-name="澳亚卫视" tvg-logo="https://gitee.com/suxuang/epglogo/raw/master/gangaotai/Aoya.png" t-time="5210" v-w="0" v-h="0", 澳亚卫视 +http://cdn.132.us.kg/live/as/stream.m3u8 +#EXTINF:-1 group-title="港澳台" tvg-id="TVB翡翠台" tvg-name="翡翠台" tvg-logo="https://live.fanmingming.com/tv/翡翠台.png" t-time="2494" v-w="0" v-h="0", TVB翡翠台 4K +http://cdn.132.us.kg/live/fct4k/stream.m3u8 +#EXTINF:-1 group-title="港澳台" tvg-id="TVBJ1" tvg-name="TVBJ1" tvg-logo="https://gitee.com/suxuang/logo/raw/master/logo/TVBJ1.png" t-time="6676" v-w="0" v-h="0", TVB J1 +http://cdn3.132.us.kg/live/j1/stream.m3u8 +#EXTINF:-1 group-title="港澳台" tvg-id="TVBJ2" tvg-name="TVBJ2" tvg-logo="https://gitee.com/suxuang/TVlogo/raw/main/img/TVB3.png" t-time="2406" v-w="0" v-h="0", TVB J2 +http://cdn.132.us.kg/live/tvbp/stream.m3u8 +#EXTINF:-1 group-title="港澳台" tvg-id="null" tvg-name="美亚电影" tvg-logo="null" t-time="1871" v-w="0" v-h="0", 美亚电影台 +http://php.jdshipin.com:8880/TVOD/iptv.php?id=meiya +#EXTINF:-1 group-title="港澳台" tvg-id="null" tvg-name="HOY" tvg-logo="null" t-time="1788" v-w="0" v-h="0", HOY TV +http://cdn.132.us.kg/live/hoy/stream.m3u8 +#EXTINF:-1 group-title="港澳台" tvg-id="null" tvg-name="null" tvg-logo="null" t-time="2264" v-w="0" v-h="0", 凤凰中文 +http://cdn.132.us.kg/live/fhzw/stream.m3u8 +#EXTINF:-1 group-title="港澳台" tvg-id="null" tvg-name="null" tvg-logo="null" t-time="2985" v-w="0" v-h="0", 凤凰资讯 +http://cdn3.132.us.kg/live/fhzx/stream.m3u8 +#EXTINF:-1 group-title="儿童" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/哆啦A梦.png" t-time="4986" v-w="0" v-h="0", 哆啦A梦 +http://live.iill.top/huya.php?id=11601963 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/电影.png" t-time="5310" v-w="0" v-h="0", 刘德华电影 +http://live.iill.top/huya.php?id=11342424 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/电影.png" t-time="2287" v-w="0" v-h="0", 古天乐电影 +http://live.iill.top/huya.php?id=29982675 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/电影.png" t-time="2013" v-w="0" v-h="0", 李连杰电影 +http://live.iill.top/huya.php?id=11342390 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/电影.png" t-time="1863" v-w="0" v-h="0", 甄子丹电影 +http://live.iill.top/huya.php?id=11352935 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/电影.png" t-time="3390" v-w="0" v-h="0", 狄仁杰系列 +http://live.iill.top/huya.php?id=30080229 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/电影.png" t-time="1920" v-w="0" v-h="0", 沈腾电影 +http://live.iill.top/huya.php?id=11601968 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/电影.png" t-time="3029" v-w="0" v-h="0", 黄渤电影 +http://live.iill.top/huya.php?id=11352876 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/电影.png" t-time="775" v-w="0" v-h="0", 强森电影 +http://live.iill.top/huya.php?id=21059581 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/电影.png" t-time="3887" v-w="0" v-h="0", 王晶电影 +http://live.iill.top/huya.php?id=11602058 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/电影.png" t-time="3245" v-w="0" v-h="0", 金庸武侠 +http://live.iill.top/huya.php?id=11342435 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/电影.png" t-time="3234" v-w="0" v-h="0", 功夫电影 +http://live.iill.top/huya.php?id=11352941 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/电影.png" t-time="3704" v-w="0" v-h="0", 贺岁电影 +http://live.iill.top/huya.php?id=11601986 +#EXTINF:-1 group-title="电视剧" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/雪豹.png" t-time="1884" v-w="0" v-h="0", 雪豹 +http://live.iill.top/huya.php?id=29580970 +#EXTINF:-1 group-title="电视剧" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/士兵突击.png" t-time="3376" v-w="0" v-h="0", 士兵突击 +http://live.iill.top/huya.php?id=11342430 +#EXTINF:-1 group-title="电视剧" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/笑傲江湖.png" t-time="1781" v-w="0" v-h="0", 笑傲江湖 +http://live.iill.top/huya.php?id=26355790 +#EXTINF:-1 group-title="电视剧" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/神雕侠侣.png" t-time="1937" v-w="0" v-h="0", 神雕侠侣 +http://live.iill.top/huya.php?id=11352964 +#EXTINF:-1 group-title="电视剧" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/倚天屠龙记苏有朋.png" t-time="3466" v-w="0" v-h="0", 倚天屠龙记 +http://live.iill.top/huya.php?id=11342403 +#EXTINF:-1 group-title="电视剧" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/铁齿铜牙纪晓岚.png" t-time="2570" v-w="0" v-h="0", 铁齿铜牙纪晓岚 +http://live.iill.top/huya.php?id=11342396 +#EXTINF:-1 group-title="电视剧" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/康熙王朝.png" t-time="3379" v-w="0" v-h="0", 康熙王朝 +http://live.iill.top/huya.php?id=11352940 +#EXTINF:-1 group-title="电视剧" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/庆余年.png" t-time="3269" v-w="0" v-h="0", 庆余年 +http://live.iill.top/huya.php?id=11352960 +#EXTINF:-1 group-title="电视剧" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/精绝古城.png" t-time="2373" v-w="0" v-h="0", 鬼吹灯之精绝古城 +http://live.iill.top/huya.php?id=11352871 +#EXTINF:-1 group-title="电视剧" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/怒晴湘西.png" t-time="2823" v-w="0" v-h="0", 鬼吹灯之怒晴湘西 +http://live.iill.top/huya.php?id=11602075 +#EXTINF:-1 group-title="电视剧" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/龙岭迷窟.png" t-time="2111" v-w="0" v-h="0", 鬼吹灯之龙岭迷窟 +http://live.iill.top/huya.php?id=29465863 +#EXTINF:-1 group-title="电视剧" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/云南虫谷.png" t-time="5362" v-w="0" v-h="0", 鬼吹灯之云南虫谷 +http://live.iill.top/huya.php?id=11352898 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/埋堆堆.png" t-time="682" v-w="0" v-h="0", 楚汉骄雄 +http://live.iill.top/huya.php?id=23740156 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/埋堆堆.png" t-time="1185" v-w="0" v-h="0", 封神榜 +http://live.iill.top/huya.php?id=23749096 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/埋堆堆.png" t-time="1949" v-w="0" v-h="0", 西游记1 +http://live.iill.top/huya.php?id=23728660 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/埋堆堆.png" t-time="2601" v-w="0" v-h="0", 西游记2 +http://live.iill.top/huya.php?id=23735126 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/埋堆堆.png" t-time="2627" v-w="0" v-h="0", 天龙八部 +http://live.iill.top/huya.php?id=23903123 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/埋堆堆.png" t-time="4551" v-w="0" v-h="0", 鹿鼎记 +http://live.iill.top/huya.php?id=23865080 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/埋堆堆.png" t-time="2517" v-w="0" v-h="0", 寻秦记 +http://live.iill.top/huya.php?id=23864973 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/埋堆堆.png" t-time="1789" v-w="0" v-h="0", 大唐双龙传 +http://live.iill.top/huya.php?id=23728674 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/埋堆堆.png" t-time="1846" v-w="0" v-h="0", 神雕侠侣 +http://live.iill.top/huya.php?id=23865171 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/埋堆堆.png" t-time="1825" v-w="0" v-h="0", 射雕英雄传 +http://live.iill.top/huya.php?id=23824164 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/埋堆堆.png" t-time="2788" v-w="0" v-h="0", 倚天屠龙记 +http://live.iill.top/huya.php?id=23734246 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/埋堆堆.png" t-time="2445" v-w="0" v-h="0", 笑傲江湖 +http://live.iill.top/huya.php?id=23865142 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/埋堆堆.png" t-time="2543" v-w="0" v-h="0", 刑事侦缉档案 +http://live.iill.top/huya.php?id=23734169 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/埋堆堆.png" t-time="1837" v-w="0" v-h="0", 法政先锋 +http://live.iill.top/huya.php?id=23863804 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/埋堆堆.png" t-time="3832" v-w="0" v-h="0", 洗冤录 +http://live.iill.top/huya.php?id=23903130 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/埋堆堆.png" t-time="3645" v-w="0" v-h="0", 陀枪师姐 +http://live.iill.top/huya.php?id=23860039 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/埋堆堆.png" t-time="2093" v-w="0" v-h="0", 使徒行者 +http://live.iill.top/huya.php?id=23734256 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/埋堆堆.png" t-time="1949" v-w="0" v-h="0", 鉴证实录 +http://live.iill.top/huya.php?id=23903183 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/埋堆堆.png" t-time="2795" v-w="0" v-h="0", 金枝欲孽 +http://live.iill.top/huya.php?id=23865036 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/埋堆堆.png" t-time="3266" v-w="0" v-h="0", 扫黄先锋 +http://live.iill.top/huya.php?id=23903196 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/埋堆堆.png" t-time="4799" v-w="0" v-h="0", 创世纪 +http://live.iill.top/huya.php?id=23749083 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/埋堆堆.png" t-time="3530" v-w="0" v-h="0", 妙手仁心 +http://live.iill.top/huya.php?id=23829543 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/埋堆堆.png" t-time="2864" v-w="0" v-h="0", 大时代 +http://live.iill.top/huya.php?id=23865161 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/埋堆堆.png" t-time="2091" v-w="0" v-h="0", 野蛮亲家 +http://live.iill.top/huya.php?id=23863796 +#EXTINF:-1 group-title="数字台" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/埋堆堆.png" t-time="2117" v-w="0" v-h="0", 笑看风云 +http://live.iill.top/huya.php?id=23865058 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="680" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202501092234/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="305" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202501102359/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="558" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202501112305/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="央视台" tvg-id="CCTV2" tvg-name="CCTV2" tvg-logo="https://live.fanmingming.cn/tv/CCTV2.png" t-time="219" v-w="0" v-h="0", CCTV-2 +http://[2409:8087:1a01:df::406f]:80/wh7f454c46tw1241164675_1575082505/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226540/index.m3u8?icpid=88888888&RTS=1713968070&from=4&hms_devid=692&prioritypopid=4&online=1713968070&vqe=3 +#EXTINF:-1 group-title="央视台" tvg-id="CCTV-5+" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/CCTV5.png" t-time="228" v-w="0" v-h="0", CCTV-5 +https://ldcctvwbcdks.v.kcdnvip.com/ldcctvwbcd/cdrmldcctv5plus_1/index.m3u8?b=200-2100 +#EXTINF:-1 group-title="电影" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/电影.png" t-time="89" v-w="0" v-h="0", 可乐影院 +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="电影" tvg-id="null" tvg-name="null" tvg-logo="https://gh-proxy.com/raw.githubusercontent.com/suxuang/myIPTV/main/img/电影.png" t-time="91" v-w="0" v-h="0", 神乐影剧 +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="央卫备用1" tvg-id="兵团卫视" tvg-name="兵团卫视" tvg-logo="https://live.fanmingming.cn/tv/兵团卫视.png" t-time="1366" v-w="0" v-h="0", 兵团卫视 +https://liveout.btzx.com.cn/62ds9e/yil08g.m3u8 +#EXTINF:-1 group-title="央卫备用1" tvg-id="浙江卫视" tvg-name="浙江卫视" tvg-logo="https://live.fanmingming.cn/tv/浙江卫视.png" t-time="38" v-w="0" v-h="0", 浙江卫视 +http://ali-m-l.cztv.com/channels/lantian/channel001/1080p.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="126" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202501222300/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="194" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202501232357/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="154" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202501242237/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="93" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202501252348/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="224" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202501262300/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="央视台" tvg-id="CCTV1" tvg-name="CCTV1" tvg-logo="https://live.fanmingming.cn/tv/CCTV1.png" t-time="6727" v-w="0" v-h="0", CCTV-1 +http://z.b.bkpcp.top/m.php?id=cctv1 +#EXTINF:-1 group-title="央视台" tvg-id="CCTV2" tvg-name="CCTV2" tvg-logo="https://live.fanmingming.cn/tv/CCTV2.png" t-time="1049" v-w="0" v-h="0", CCTV-2 +http://z.b.bkpcp.top/m.php?id=cctv2 +#EXTINF:-1 group-title="央视台" tvg-id="CCTV3" tvg-name="CCTV3" tvg-logo="https://live.fanmingming.cn/tv/CCTV3.png" t-time="585" v-w="0" v-h="0", CCTV-3 +http://z.b.bkpcp.top/m.php?id=cctv3 +#EXTINF:-1 group-title="央视台" tvg-id="CCTV4" tvg-name="CCTV4" tvg-logo="https://live.fanmingming.cn/tv/CCTV4.png" t-time="518" v-w="0" v-h="0", CCTV-4 +http://z.b.bkpcp.top/m.php?id=cctv4 +#EXTINF:-1 group-title="央视台" tvg-id="CCTV5" tvg-name="CCTV5" tvg-logo="https://live.fanmingming.cn/tv/CCTV5.png" t-time="580" v-w="0" v-h="0", CCTV-5 +http://z.b.bkpcp.top/m.php?id=cctv5 +#EXTINF:-1 group-title="央视台" tvg-id="CCTV5+" tvg-name="CCTV5+" tvg-logo="https://live.fanmingming.cn/tv/CCTV5+.png" t-time="565" v-w="0" v-h="0", CCTV-5+ +http://z.b.bkpcp.top/m.php?id=cctv5p +#EXTINF:-1 group-title="央视台" tvg-id="CCTV17" tvg-name="CCTV17" tvg-logo="https://live.fanmingming.cn/tv/CCTV17.png" t-time="901" v-w="0" v-h="0", CCTV-17 +http://z.b.bkpcp.top/m.php?id=cctv17 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="179" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202502012315/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="153" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202502022328/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="95" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202502032311/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="64" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202502042235/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="89" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202502060001/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="195" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202502062250/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="儿童" tvg-id="null" tvg-name="null" tvg-logo="https://live.fanmingming.cn/tv/新动漫.png" t-time="1198" v-w="0" v-h="0", 新动漫 +http://nas.hssvm.com:8888/udp/225.1.1.216:5002 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="171" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202502112306/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="地方台" tvg-id="null" tvg-name="null" tvg-logo="null" t-time="197" v-w="0" v-h="0", 乐山新闻综合 +http://m3u8file.lstv.org.cn/nmip-media/channellive/channel1/playlist.m3u8 +#EXTINF:-1 group-title="地方台" tvg-id="null" tvg-name="null" tvg-logo="null" t-time="99" v-w="0" v-h="0", 乐至综合 +http://175.155.106.72:89/live1/live1.m3u8?zsicd +#EXTINF:-1 group-title="地方台" tvg-id="null" tvg-name="null" tvg-logo="null" t-time="323" v-w="0" v-h="0", 利州综合 +http://tvfile.lzgbdst.com/nmip-media/channellive/channel106876/playlist.m3u8?zsicd +#EXTINF:-1 group-title="地方台" tvg-id="null" tvg-name="null" tvg-logo="null" t-time="369" v-w="0" v-h="0", 剑阁综合 +https://m3u8.channel.dzsm.com/nmip-media/channellive/channel105549/playlist.m3u8 +#EXTINF:-1 group-title="地方台" tvg-id="苏州新闻综合" tvg-name="苏州新闻综合" tvg-logo="https://gitee.com/suxuang/epglogo/raw/master/jiangsu/Suzhou1.png" t-time="196" v-w="0" v-h="0", 苏州新闻综合 +https://live-auth.51kandianshi.com/szgd/csztv1.m3u8 +#EXTINF:-1 group-title="地方台" tvg-id="苏州社会经济" tvg-name="苏州社会经济" tvg-logo="https://gitee.com/suxuang/epglogo/raw/master/jiangsu/Suzhou2.png" t-time="78" v-w="0" v-h="0", 苏州社会经济 +https://live-auth.51kandianshi.com/szgd/csztv2.m3u8 +#EXTINF:-1 group-title="地方台" tvg-id="苏州文化生活" tvg-name="苏州文化生活" tvg-logo="https://gitee.com/suxuang/epglogo/raw/master/jiangsu/Suzhou3.png" t-time="88" v-w="0" v-h="0", 苏州文化生活 +https://live-auth.51kandianshi.com/szgd/csztv3.m3u8 +#EXTINF:-1 group-title="地方台" tvg-id="苏州生活资讯" tvg-name="苏州生活资讯" tvg-logo="https://gitee.com/suxuang/epglogo/raw/master/jiangsu/Suzhou5.png" t-time="73" v-w="0" v-h="0", 苏州生活资讯 +https://live-auth.51kandianshi.com/szgd/csztv5.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="101" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202502122242/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="107" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202502132356/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="央视台" tvg-id="CCTV-5+" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/CCTV5.png" t-time="129" v-w="0" v-h="0", CCTV-5 +https://ldcctvwbcdks.v.kcdnvip.com/ldcctvwbcd/cdrmldcctv5plus_1/index.m3u8?BR=td®ion=shanghai +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="103" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202502150006/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="107" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202502152008/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="70" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202502162357/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="港澳台" tvg-id="null" tvg-name="港台电视31" tvg-logo="https://live.fanmingming.com/tv/港台电视31.png" t-time="4508" v-w="0" v-h="0", 港台电视31 +http://php.jdshipin.com:8880/TVOD/iptv.php?id=rthk31 +#EXTINF:-1 group-title="港澳台" tvg-id="null" tvg-name="港台电视32" tvg-logo="https://live.fanmingming.com/tv/港台电视32.png" t-time="878" v-w="0" v-h="0", 港台电视32 +http://php.jdshipin.com:8880/TVOD/iptv.php?id=rthk32 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="70" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202502172259/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="港澳台" tvg-id="TVB无线新闻" tvg-name="无线新闻" tvg-logo="https://live.fanmingming.cn/tv/无线新闻台.png" t-time="4505" v-w="0" v-h="0", TVB无线新闻 +http://php.jdshipin.com:8880/smt.php?id=inews_twn +#EXTINF:-1 group-title="港澳台" tvg-id="台视新闻" tvg-name="台视新闻" tvg-logo="https://live.fanmingming.cn/tv/台视新闻.png" t-time="155" v-w="0" v-h="0", 台视新闻 +http://222.128.55.152:9080/live/ts.m3u8 +#EXTINF:-1 group-title="港澳台" tvg-id="中天新闻" tvg-name="中天新闻" tvg-logo="https://gitee.com/suxuang/TVlogo/raw/main/img/CTI2.png" t-time="166" v-w="0" v-h="0", 中天新闻 +http://222.128.55.152:9080/live/fc.m3u8 +#EXTINF:-1 group-title="港澳台" tvg-id="三立新闻" tvg-name="三立新闻" tvg-logo="https://gh.tryxd.cn/raw.githubusercontent.com/suxuang/myIPTV/main/tvlog/三立新闻.png" t-time="2077" v-w="0" v-h="0", 三立新闻 +https://stream1.freetv.fun/san-li-xin-wen-3.m3u8 +#EXTINF:-1 group-title="港澳台" tvg-id="寰宇新闻" tvg-name="寰宇新闻" tvg-logo="https://gitee.com/suxuang/TVlogo/raw/main/img/Global2.png" t-time="139" v-w="0" v-h="0", 寰宇新闻 +http://222.128.55.152:9080/live/hy.m3u8 +#EXTINF:-1 group-title="港澳台" tvg-id="东森新闻" tvg-name="东森新闻" tvg-logo="https://gh.tryxd.cn/raw.githubusercontent.com/suxuang/myIPTV/main/tvlog/EBCNews.png" t-time="827" v-w="0" v-h="0", 东森新闻 +https://stream1.freetv.fun/dong-sen-xin-wen-1.m3u8 +#EXTINF:-1 group-title="港澳台" tvg-id="民视新闻台" tvg-name="民视新闻台" tvg-logo="https://live.fanmingming.cn/tv/民视新闻台.png" t-time="1366" v-w="0" v-h="0", 民视新闻台 +http://38.64.72.148:80/hls/modn/list/4012/chunklist1.m3u8 +#EXTINF:-1 group-title="港澳台" tvg-id="null" tvg-name="人间卫视" tvg-logo="https://gitee.com/suxuang/TVlogo/raw/main/img/BLTV.png" t-time="134" v-w="0" v-h="0", 人间卫视 +http://61.216.67.119:1935/bltvhd/bltv1/chunklist_w1266569526.m3u +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="69" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202502182237/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="108" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202502200006/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="69" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202502210005/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="央视台" tvg-id="cctv4k" tvg-name="cctv4k" tvg-logo="https://live.zbds.top/logo/CCTV4K.png" t-time="250" v-w="0" v-h="0", CCTV-4K +https://stream1.freetv.fun/cctv4k-2.ctv +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="72" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202502212353/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="100" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202502222251/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="90" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202502240006/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="港澳台" tvg-id="澳视澳门" tvg-name="澳视澳门" tvg-logo="https://gitee.com/suxuang/epglogo/raw/master/gangaotai/Aoshi1.png" t-time="431" v-w="0" v-h="0", 澳视澳门 +https://stream1.freetv.fun/ao-shi-ao-men-4.m3u8 +#EXTINF:-1 group-title="港澳台" tvg-id="澳亚卫视" tvg-name="澳亚卫视" tvg-logo="https://gitee.com/suxuang/epglogo/raw/master/gangaotai/Aoya.png" t-time="371" v-w="0" v-h="0", 澳亚卫视 +https://stream1.freetv.fun/ao-ya-wei-shi-1.ctv +#EXTINF:-1 group-title="港澳台" tvg-id="TVB翡翠台" tvg-name="翡翠台" tvg-logo="https://live.fanmingming.cn/tv/翡翠台.png" t-time="31771" v-w="0" v-h="0", TVB翡翠台 1080P +http://php.jdshipin.com:8880/TVOD/iptv.php?id=fct3 +#EXTINF:-1 group-title="港澳台" tvg-id="TVB翡翠台" tvg-name="翡翠台" tvg-logo="https://live.fanmingming.cn/tv/翡翠台.png" t-time="2193" v-w="0" v-h="0", TVB翡翠台(备用) +http://php.jdshipin.com:8880/TVOD/iptv.php?id=fct +#EXTINF:-1 group-title="港澳台" tvg-id="TVBJ1" tvg-name="TVBJ1" tvg-logo="https://gitee.com/suxuang/logo/raw/master/logo/TVBJ1.png" t-time="255" v-w="0" v-h="0", TVB J1 +https://stream1.freetv.fun/fei-cui-tai-bei-mei-ban-1.ctv +#EXTINF:-1 group-title="港澳台" tvg-id="TVBJ2" tvg-name="TVBJ2" tvg-logo="https://gitee.com/suxuang/TVlogo/raw/main/img/TVB3.png" t-time="368" v-w="0" v-h="0", TVB J2 +https://stream1.freetv.fun/tvb-j2-2.ctv +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="105" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202502242354/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="102" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202502250405/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="105" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202502262250/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="68" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202502272216/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="107" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202502282206/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="70" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202503012355/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="75" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202503030102/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="102" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202503032354/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="71" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202503042322/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="100" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202503060100/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="港澳台" tvg-id="明珠台" tvg-name="明珠台" tvg-logo="https://gitee.com/suxuang/TVlogo/raw/main/img/TVB2.png" t-time="1864" v-w="0" v-h="0", TVB明珠台 +http://php.jdshipin.com/TVOD/iptv.php?id=mzt +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="106" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202503062350/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="106" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202503080105/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="99" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202503082301/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="76" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202503092205/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="港澳台" tvg-id="TVB翡翠台" tvg-name="翡翠台" tvg-logo="https://live.fanmingming.cn/tv/翡翠台.png" t-time="1225" v-w="0" v-h="0", TVB翡翠台 4K +https://stream1.freetv.fun/fei-cui-8.m3u8 +#EXTINF:-1 group-title="港澳台" tvg-id="TVBPlus" tvg-name="TVBPlus" tvg-logo="https://isus.cc/share/logo/TVBPlus.png" t-time="246" v-w="0" v-h="0", TVB Plus(备用) +https://stream1.freetv.fun/tvb-plus-9.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="229" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202503102350/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="161" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202503112231/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="历年春晚" tvg-id="春晚2025" tvg-name="春晚2025" tvg-logo="https://img.whalenas.com:283/file/cw.png" t-time="1179" v-w="0" v-h="0", 春晚2025 +https://res.cctvnews.cctv.com/video/3005/record/cctv/merge1/133396667284143308839013005/8fbd6180bdef4da19f6155cf6b4652e1-4.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="98" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202503122338/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="143" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202503132226/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="102" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202503150000/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="港澳台" tvg-id="TVB翡翠台" tvg-name="翡翠台" tvg-logo="https://live.fanmingming.cn/tv/翡翠台.png" t-time="1223" v-w="0" v-h="0", TVB翡翠台 4K +http://php.jdshipin.com:8880/TVOD/iptv.php?id=fct4 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="107" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202503162306/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="95" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202503172300/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="99" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202503182243/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="央视台" tvg-id="世界地理" tvg-name="世界地理" tvg-logo="https://live.fanmingming.cn/tv/世界地理.png" t-time="791" v-w="0" v-h="0", CCTV-世界地理 +http://dassby.qqff.top:99/live/世界地理/index.m3u8 +#EXTINF:-1 group-title="央视台" tvg-id="风云足球" tvg-name="风云足球" tvg-logo="https://live.fanmingming.cn/tv/风云足球.png" t-time="49" v-w="0" v-h="0", CCTV-风云足球 +http://dassby.qqff.top:99/live/风云足球/index.m3u8 +#EXTINF:-1 group-title="央视台" tvg-id="风云音乐" tvg-name="风云音乐" tvg-logo="https://live.fanmingming.cn/tv/风云音乐.png" t-time="48" v-w="0" v-h="0", CCTV-风云音乐 +http://dassby.qqff.top:99/live/风云音乐/index.m3u8 +#EXTINF:-1 group-title="央视台" tvg-id="风云剧场" tvg-name="风云剧场" tvg-logo="https://live.fanmingming.cn/tv/风云剧场.png" t-time="47" v-w="0" v-h="0", CCTV-风云剧场 +http://dassby.qqff.top:99/live/风云剧场/index.m3u8 +#EXTINF:-1 group-title="央视台" tvg-id="第一剧场" tvg-name="第一剧场" tvg-logo="https://live.fanmingming.cn/tv/第一剧场.png" t-time="47" v-w="0" v-h="0", CCTV-第一剧场 +http://dassby.qqff.top:99/live/第一剧场/index.m3u8 +#EXTINF:-1 group-title="央视台" tvg-id="怀旧剧场" tvg-name="怀旧剧场" tvg-logo="https://live.fanmingming.cn/tv/怀旧剧场.png" t-time="48" v-w="0" v-h="0", CCTV-怀旧剧场 +http://dassby.qqff.top:99/live/怀旧剧场/index.m3u8 +#EXTINF:-1 group-title="央视台" tvg-id="女性时尚" tvg-name="女性时尚" tvg-logo="https://live.fanmingming.cn/tv/女性时尚.png" t-time="47" v-w="0" v-h="0", CCTV-女性时尚 +http://dassby.qqff.top:99/live/女性时尚/index.m3u8 +#EXTINF:-1 group-title="央视台" tvg-id="央视台球" tvg-name="央视台球" tvg-logo="https://live.fanmingming.cn/tv/央视台球.png" t-time="59" v-w="0" v-h="0", CCTV-央视台球 +http://dassby.qqff.top:99/live/央视台球/index.m3u8 +#EXTINF:-1 group-title="央视台" tvg-id="央视高网" tvg-name="高尔夫网球" tvg-logo="https://live.fanmingming.cn/tv/央视高网.png" t-time="78" v-w="0" v-h="0", CCTV-央视高网 +http://dassby.qqff.top:99/live/高尔夫网球/index.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="101" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202503210001/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="101" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202503212308/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="100" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202503222238/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="68" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202503232359/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="央视台" tvg-id="cctv8k" tvg-name="cctv8k" tvg-logo="https://live.zbds.top/logo/CCTV8K.png" t-time="1401" v-w="0" v-h="0", CCTV-8 +https://stream1.freetv.fun/cctv8k-3.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="68" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202503242308/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="98" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202503252303/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="94" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202503270009/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="95" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202503272342/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="74" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202503290001/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="69" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202503292358/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="央视台" tvg-id="cctv4k" tvg-name="cctv4k" tvg-logo="https://live.zbds.top/logo/CCTV4K.png" t-time="425" v-w="0" v-h="0", CCTV-4K +https://stream1.freetv.fun/cctv4k-4.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="91" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202503302239/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="98" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202504010001/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="97" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202504012347/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="330" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202504022239/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="88" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202504032349/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="124" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202504042319/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="央视台" tvg-id="cctv4k" tvg-name="cctv4k" tvg-logo="https://live.zbds.top/logo/CCTV4K.png" t-time="111" v-w="0" v-h="0", CCTV-4K +http://3501776.xyz:35455/gaoma/cctv4k.m3u8 +#EXTINF:-1 group-title="央视台" tvg-id="cctv8k" tvg-name="cctv8k" tvg-logo="https://live.zbds.top/logo/CCTV8K.png" t-time="22" v-w="0" v-h="0", CCTV-8 +http://3501776.xyz:35455/gaoma/cctv8k_36m.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="102" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202504060001/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="66" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202504062359/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="139" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202504072301/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="105" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202504082306/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="110" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202504092229/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="99" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202504102357/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="历年春晚" tvg-id="2025年春晚" tvg-name="2025年春晚" tvg-logo="https://gh.tryxd.cn/raw.githubusercontent.com/suxuang/myIPTV/main/img/春晚.png" t-time="5682" v-w="0" v-h="0", 2025年春晚 4K +https://svip.high24-playback.com/20250129/17159_7bca93c4/2000k/hls/mixed.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="91" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202504112306/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="101" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202504130001/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="103" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202504132309/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="90" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202504142300/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="大学IPTV" tvg-id="null" tvg-name="CCTV1" tvg-logo="https://live.fanmingming.cn/tv/CCTV1.png" t-time="16424" v-w="0" v-h="0", CCTV1 +http://iptv.huuc.edu.cn/hls/cctv1hd.m3u8 +#EXTINF:-1 group-title="大学IPTV" tvg-id="null" tvg-name="CCTV2" tvg-logo="https://live.fanmingming.cn/tv/CCTV2.png" t-time="82" v-w="0" v-h="0", CCTV-2 +http://iptv.huuc.edu.cn/hls/cctv2hd.m3u8 +#EXTINF:-1 group-title="大学IPTV" tvg-id="null" tvg-name="CCTV3" tvg-logo="https://live.fanmingming.cn/tv/CCTV3.png" t-time="145" v-w="0" v-h="0", CCTV-3 +http://iptv.huuc.edu.cn/hls/cctv3hd.m3u8 +#EXTINF:-1 group-title="大学IPTV" tvg-id="null" tvg-name="CCTV4" tvg-logo="https://live.fanmingming.cn/tv/CCTV4.png" t-time="89" v-w="0" v-h="0", CCTV-4 +http://iptv.huuc.edu.cn/hls/cctv4hd.m3u8 +#EXTINF:-1 group-title="大学IPTV" tvg-id="null" tvg-name="CCTV5" tvg-logo="https://live.fanmingming.cn/tv/CCTV5.png" t-time="79" v-w="0" v-h="0", CCTV-5 +http://iptv.huuc.edu.cn/hls/cctv5hd.m3u8 +#EXTINF:-1 group-title="大学IPTV" tvg-id="null" tvg-name="CCTV6" tvg-logo="https://live.fanmingming.cn/tv/CCTV6.png" t-time="79" v-w="0" v-h="0", CCTV-6 +http://iptv.huuc.edu.cn/hls/cctv6hd.m3u8 +#EXTINF:-1 group-title="大学IPTV" tvg-id="null" tvg-name="CCTV7" tvg-logo="https://live.fanmingming.cn/tv/CCTV7.png" t-time="114" v-w="0" v-h="0", CCTV-7 +http://iptv.huuc.edu.cn/hls/cctv7hd.m3u8 +#EXTINF:-1 group-title="大学IPTV" tvg-id="null" tvg-name="CCTV8" tvg-logo="https://live.fanmingming.cn/tv/CCTV8.png" t-time="168" v-w="0" v-h="0", CCTV-8 +http://iptv.huuc.edu.cn/hls/cctv8hd.m3u8 +#EXTINF:-1 group-title="大学IPTV" tvg-id="null" tvg-name="CCTV10" tvg-logo="https://live.fanmingming.cn/tv/CCTV10.png" t-time="283" v-w="0" v-h="0", CCTV-10 +http://iptv.huuc.edu.cn/hls/cctv10hd.m3u8 +#EXTINF:-1 group-title="大学IPTV" tvg-id="null" tvg-name="CCTV12" tvg-logo="https://live.fanmingming.cn/tv/CCTV12.png" t-time="218" v-w="0" v-h="0", CCTV-12 +http://iptv.huuc.edu.cn/hls/cctv12hd.m3u8 +#EXTINF:-1 group-title="大学IPTV" tvg-id="null" tvg-name="CCTV13" tvg-logo="https://live.fanmingming.cn/tv/CCTV13.png" t-time="153" v-w="0" v-h="0", CCTV-13 +http://iptv.huuc.edu.cn/hls/cctv13hd.m3u8 +#EXTINF:-1 group-title="大学IPTV" tvg-id="null" tvg-name="CCTV14" tvg-logo="https://live.fanmingming.cn/tv/CCTV14.png" t-time="132" v-w="0" v-h="0", CCTV-14 +http://iptv.huuc.edu.cn/hls/cctv14hd.m3u8 +#EXTINF:-1 group-title="大学IPTV" tvg-id="null" tvg-name="北京卫视" tvg-logo="https://live.fanmingming.cn/tv/北京卫视.png" t-time="141" v-w="0" v-h="0", 北京卫视 +http://iptv.huuc.edu.cn/hls/btv1hd.m3u8 +#EXTINF:-1 group-title="大学IPTV" tvg-id="null" tvg-name="北京文艺" tvg-logo="https://live.fanmingming.cn/tv/北京文艺.png" t-time="107" v-w="0" v-h="0", 北京文艺 +http://iptv.huuc.edu.cn/hls/btv2hd.m3u8 +#EXTINF:-1 group-title="大学IPTV" tvg-id="null" tvg-name="北京影视" tvg-logo="https://live.fanmingming.cn/tv/北京影视.png" t-time="94" v-w="0" v-h="0", 北京影视 +http://iptv.huuc.edu.cn/hls/btv4hd.m3u8 +#EXTINF:-1 group-title="大学IPTV" tvg-id="null" tvg-name="北京新闻" tvg-logo="https://live.fanmingming.cn/tv/北京新闻.png" t-time="65" v-w="0" v-h="0", 北京新闻 +http://iptv.huuc.edu.cn/hls/btv9hd.m3u8 +#EXTINF:-1 group-title="记录" tvg-id="null" tvg-name="北京纪实" tvg-logo="https://live.fanmingming.cn/tv/北京纪实.png" t-time="60" v-w="0" v-h="0", 北京纪实 +http://iptv.huuc.edu.cn/hls/btv11hd.m3u8 +#EXTINF:-1 group-title="大学IPTV" tvg-id="null" tvg-name="湖南卫视" tvg-logo="https://live.fanmingming.cn/tv/湖南卫视.png" t-time="99" v-w="0" v-h="0", 湖南卫视 +http://iptv.huuc.edu.cn/hls/hunanhd.m3u8 +#EXTINF:-1 group-title="大学IPTV" tvg-id="null" tvg-name="浙江卫视" tvg-logo="https://live.fanmingming.cn/tv/浙江卫视.png" t-time="114" v-w="0" v-h="0", 浙江卫视 +http://iptv.huuc.edu.cn/hls/zjhd.m3u8 +#EXTINF:-1 group-title="大学IPTV" tvg-id="null" tvg-name="江苏卫视" tvg-logo="https://live.fanmingming.cn/tv/江苏卫视.png" t-time="87" v-w="0" v-h="0", 江苏卫视 +http://iptv.huuc.edu.cn/hls/jshd.m3u8 +#EXTINF:-1 group-title="大学IPTV" tvg-id="null" tvg-name="东方卫视" tvg-logo="https://live.fanmingming.cn/tv/东方卫视.png" t-time="144" v-w="0" v-h="0", 东方卫视 +http://iptv.huuc.edu.cn/hls/dfhd.m3u8 +#EXTINF:-1 group-title="大学IPTV" tvg-id="null" tvg-name="安徽卫视" tvg-logo="https://live.fanmingming.cn/tv/安徽卫视.png" t-time="173" v-w="0" v-h="0", 安徽卫视 +http://iptv.huuc.edu.cn/hls/ahhd.m3u8 +#EXTINF:-1 group-title="大学IPTV" tvg-id="null" tvg-name="黑龙江卫视" tvg-logo="https://live.fanmingming.cn/tv/黑龙江卫视.png" t-time="168" v-w="0" v-h="0", 黑龙江卫视 +http://iptv.huuc.edu.cn/hls/hljhd.m3u8 +#EXTINF:-1 group-title="大学IPTV" tvg-id="null" tvg-name="辽宁卫视" tvg-logo="https://live.fanmingming.cn/tv/辽宁卫视.png" t-time="158" v-w="0" v-h="0", 辽宁卫视 +http://iptv.huuc.edu.cn/hls/lnhd.m3u8 +#EXTINF:-1 group-title="大学IPTV" tvg-id="null" tvg-name="深圳卫视" tvg-logo="https://live.fanmingming.cn/tv/深圳卫视.png" t-time="93" v-w="0" v-h="0", 深圳卫视 +http://iptv.huuc.edu.cn/hls/szhd.m3u8 +#EXTINF:-1 group-title="大学IPTV" tvg-id="null" tvg-name="湖北卫视" tvg-logo="https://live.fanmingming.cn/tv/湖北卫视.png" t-time="68" v-w="0" v-h="0", 湖北卫视 +http://iptv.huuc.edu.cn/hls/hbhd.m3u8 +#EXTINF:-1 group-title="大学IPTV" tvg-id="null" tvg-name="山东卫视" tvg-logo="https://live.fanmingming.cn/tv/山东卫视.png" t-time="75" v-w="0" v-h="0", 山东卫视 +http://iptv.huuc.edu.cn/hls/sdhd.m3u8 +#EXTINF:-1 group-title="大学IPTV" tvg-id="null" tvg-name="重庆卫视" tvg-logo="https://live.fanmingming.cn/tv/重庆卫视.png" t-time="100" v-w="0" v-h="0", 重庆卫视 +http://iptv.huuc.edu.cn/hls/cqhd.m3u8 +#EXTINF:-1 group-title="大学IPTV" tvg-id="null" tvg-name="四川卫视" tvg-logo="https://live.fanmingming.cn/tv/四川卫视.png" t-time="123" v-w="0" v-h="0", 四川卫视 +http://iptv.huuc.edu.cn/hls/schd.m3u8 +#EXTINF:-1 group-title="大学IPTV" tvg-id="null" tvg-name="东南卫视" tvg-logo="https://live.fanmingming.cn/tv/东南卫视.png" t-time="138" v-w="0" v-h="0", 东南卫视 +http://iptv.huuc.edu.cn/hls/dnhd.m3u8 +#EXTINF:-1 group-title="大学IPTV" tvg-id="null" tvg-name="江西卫视" tvg-logo="https://live.fanmingming.cn/tv/江西卫视.png" t-time="115" v-w="0" v-h="0", 江西卫视 +http://iptv.huuc.edu.cn/hls/jxhd.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="94" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202504152243/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="101" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202504162358/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="97" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202504172344/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="104" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202504182306/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="110" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202504192255/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="国际台" tvg-id="BBC" tvg-name="BBC" tvg-logo="https://gh.tryxd.cn/raw.githubusercontent.com/suxuang/myIPTV/main/tvlog/BBCNEWS.png" t-time="259" v-w="0" v-h="0", BBC +https://stream1.freetv.fun/bbc-news-5.m3u8 +#EXTINF:-1 group-title="备用频道" tvg-id="null" tvg-name="CHC家庭影院" tvg-logo="https://live.fanmingming.cn/tv/CHC家庭影院.png" t-time="1210" v-w="0" v-h="0", CHC家庭影院 +http://z.b.bkpcp.top/m.php?id=jtyy +#EXTINF:-1 group-title="备用频道" tvg-id="null" tvg-name="CHC动作电影" tvg-logo="https://live.fanmingming.cn/tv/CHC动作电影.png" t-time="612" v-w="0" v-h="0", CHC动作电影 +http://z.b.bkpcp.top/m.php?id=dzdy +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="97" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202504302325/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="103" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202505012306/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="78" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202505022250/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="71" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202505040001/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="89" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202505042322/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="67" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202505052301/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="105" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202505062206/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="98" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202505071945/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="95" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202505081511/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="106" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202505091209/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="98" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202505102201/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="96" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202505112128/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="65" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202505122302/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="110" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202505140050/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="凤凰资讯" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/fenghuangzixun.png" t-time="462" v-w="0" v-h="0", 凤凰资讯 +http://203.205.191.53/qctv.fengshows.cn/live/0701pin72.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="凤凰中文" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/fenghuangzhongwen.png" t-time="763" v-w="0" v-h="0", 凤凰中文 +http://203.205.191.53/qctv.fengshows.cn/live/0701pcc72.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="102" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202505150100/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="104" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202505152013/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="82" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202505202202/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="71" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202505212307/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="65" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202505222310/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="92" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202505240107/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="64" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202505250101/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="69" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202505260000/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="65" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202505262359/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="98" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202505272133/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="63" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202506050000/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="117" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202506060001/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="113" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202506070001/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="66" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202506080002/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="95" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202506090100/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="62" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202506092356/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="65" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202506110100/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="89" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202506120004/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="68" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202506130001/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="68" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202506140001/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="94" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202506150002/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="100" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202506152315/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="101" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202506162358/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="111" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202506172306/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="91" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202506182339/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="黑龙江卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/黑龙江卫视.png" t-time="536" v-w="0" v-h="0", 黑龙江卫视 +https://idclive.hljtv.com:4430/live/hljws_own.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="90" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202506192250/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="71" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202506202329/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="102" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202506212258/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="148" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202506230001/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="100" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202506232339/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="95" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202506242302/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="110" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202506252306/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="118" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202506262235/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="73" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202506280001/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="88" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202506282334/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="95" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202506300100/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="103" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202506302229/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="100" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202507020001/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="130" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202507022156/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="90" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202507032116/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="70" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202507042306/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="86" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202507052242/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="126" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202507070001/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="4K8K频道" tvg-id="苏州4K" tvg-name="苏州4K" tvg-logo="null" t-time="269" v-w="0" v-h="0", 苏州4K +https://tylive.kan0512.com/norecord/csztv4k_4k.m3u8 +#EXTINF:-1 group-title="4K8K频道" tvg-id="河北4K" tvg-name="河北4K" tvg-logo="null" t-time="291" v-w="0" v-h="0", 河北4K +https://event.pull.hebtv.com:443/live/live101.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="72" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202507072356/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="102" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202507082306/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="108" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202507092247/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="108" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202507102216/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="139" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202507112340/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="103" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202507122228/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="89" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202507132331/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="77" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202507142235/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="136" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202507152340/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="98" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202507180001/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="央视台" tvg-id="CCTV-6" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/CCTV6.png" t-time="74" v-w="0" v-h="0", CCTV-6 +http://live.sxrtv.com/iptv/cctv6.m3u8 +#EXTINF:-1 group-title="央视台" tvg-id="CCTV-10" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/CCTV10.png" t-time="14" v-w="0" v-h="0", CCTV-10 +http://live.sxrtv.com/iptv/cctv10.m3u8 +#EXTINF:-1 group-title="央视台" tvg-id="CCTV-15" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/CCTV15.png" t-time="15" v-w="0" v-h="0", CCTV-15 +http://live.sxrtv.com/iptv/cctv15.m3u8 +#EXTINF:-1 group-title="央视台" tvg-id="CCTV-16" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/CCTV16.png" t-time="16" v-w="0" v-h="0", CCTV-16 +http://live.sxrtv.com/iptv/cctv16.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="安徽卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/安徽卫视.png" t-time="16" v-w="0" v-h="0", 安徽卫视 +http://live.sxrtv.com/iptv/ahws.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="重庆卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/重庆卫视.png" t-time="99" v-w="0" v-h="0", 重庆卫视 +http://p.ytelc.com/videojs.php?id=https://sjlivecdn9.cbg.cn/202507182336/app_2/_definst_/ls_2.stream/chunklist.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="天津卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/天津卫视.png" t-time="16" v-w="0" v-h="0", 天津卫视 +http://live.sxrtv.com/iptv/tjws.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="辽宁卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/辽宁卫视.png" t-time="17" v-w="0" v-h="0", 辽宁卫视 +http://live.sxrtv.com/iptv/lnws.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="山东卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/山东卫视.png" t-time="14" v-w="0" v-h="0", 山东卫视 +http://live.sxrtv.com/iptv/sdws.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="四川卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/四川卫视.png" t-time="63" v-w="0" v-h="0", 四川卫视 +http://live.sxrtv.com/iptv/scws.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="广东卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/广东卫视.png" t-time="20" v-w="0" v-h="0", 广东卫视 +http://live.sxrtv.com/iptv/gdws.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="河北卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/河北卫视.png" t-time="14" v-w="0" v-h="0", 河北卫视 +http://live.sxrtv.com/iptv/hbws.m3u8 +#EXTINF:-1 group-title="卫视台" tvg-id="陕西卫视" tvg-name="null" tvg-logo="https://live.fanmingming.com/tv/陕西卫视.png" t-time="16" v-w="0" v-h="0", 陕西卫视 +http://live.sxrtv.com/iptv/shxws.m3u8 diff --git a/tvboxqq/tvboxqq/香雅情/lives/Tianmu.txt b/tvboxqq/tvboxqq/香雅情/lives/Tianmu.txt new file mode 100644 index 0000000..2d87963 --- /dev/null +++ b/tvboxqq/tvboxqq/香雅情/lives/Tianmu.txt @@ -0,0 +1,326 @@ +# IPv4 Streams +AMC电影,http://61.221.215.25:8800/hls/43/index.m3u8 +CCTV1,http://58.57.40.22:9901/tsfile/live/0001_1.m3u8 +CCTV1,http://112.123.206.32:808/hls/1/index.m3u8 +CCTV1,http://8.138.7.223/【公众号:榴芒电视】/cctv1.m3u8 +CCTV1,http://183.11.239.36:808/hls/19/index.m3u8 +CCTV10,http://58.57.40.22:9901/tsfile/live/1010_1.m3u8 +CCTV10,http://183.11.239.36:808/hls/28/index.m3u8 +CCTV10,http://182.150.23.74:808/hls/10/index.m3u8 +CCTV10,http://61.136.172.236:9901/tsfile/live/0010_1.m3u8 +CCTV11,http://58.57.40.22:9901/tsfile/live/1011_1.m3u8 +CCTV11,http://69.30.246.194/live/cctv11.m3u8 +CCTV11,http://183.11.239.36:808/hls/29/index.m3u8 +CCTV11,http://182.150.23.74:808/hls/11/index.m3u8 +CCTV12,http://58.57.40.22:9901/tsfile/live/1012_1.m3u8 +CCTV12,http://69.30.246.194/live/cctv12.m3u8 +CCTV12,http://183.11.239.36:808/hls/30/index.m3u8 +CCTV12,http://120.76.248.139/live/bfgd/4200000131.m3u8 +CCTV12,http://112.46.85.60:8009/hls/507/index.m3u8 +CCTV13,http://58.57.40.22:9901/tsfile/live/1013_1.m3u8 +CCTV13,http://8.138.7.223/【公众号:榴芒电视】/cctv13.m3u8 +CCTV14,http://58.57.40.22:9901/tsfile/live/1014_1.m3u8 +CCTV14,http://120.76.248.139/live/bfgd/4200000132.m3u8 +CCTV14,http://182.150.23.74:808/hls/14/index.m3u8 +CCTV15,http://58.57.40.22:9901/tsfile/live/1015_1.m3u8 +CCTV15,http://222.134.245.16:9901/tsfile/live/0015_1.m3u8 +CCTV15,http://183.11.239.36:808/hls/102/index.m3u8 +CCTV15,http://120.76.248.139/live/bfgd/4200000133.m3u8 +CCTV16,http://69.30.246.194/live/cctv16.m3u8 +CCTV16,http://183.11.239.36:808/hls/169/index.m3u8 +CCTV17,http://58.57.40.22:9901/tsfile/live/0019_1.m3u8 +CCTV17,http://120.238.94.10:9901/tsfile/live/1048_1.m3u8 +CCTV17,http://183.11.239.36:808/hls/35/index.m3u8 +CCTV17,http://120.76.248.139/live/bfgd/4200000204.m3u8 +CCTV17,http://222.169.85.8:9901/tsfile/live/0007_1.m3u8 +CCTV2,http://58.57.40.22:9901/tsfile/live/1001_1.m3u8 +CCTV2,http://112.123.206.32:808/hls/2/index.m3u8 +CCTV2,http://183.11.239.36:808/hls/20/index.m3u8 +CCTV2,http://120.76.248.139/live/bfgd/4200000061.m3u8 +CCTV2,http://112.46.85.60:8009/hls/502/index.m3u8 +CCTV3,http://58.57.40.22:9901/tsfile/live/1002_1.m3u8 +CCTV3,http://23.237.228.134/live5/CCTV3.m3u8 +CCTV3,http://183.11.239.36:808/hls/91/index.m3u8 +CCTV3,http://120.76.248.139/live/bfgd/4200000062.m3u8 +CCTV4,http://58.57.40.22:9901/tsfile/live/1003_1.m3u8 +CCTV4,http://183.11.239.36:808/hls/22/index.m3u8 +CCTV4,http://183.11.239.36:808/hls/77/index.m3u8 +CCTV4,http://183.11.239.36:808/hls/67/index.m3u8 +CCTV4,http://120.76.248.139/live/bfgd/4200000063.m3u8 +CCTV5,http://58.57.40.22:9901/tsfile/live/1004_1.m3u8 +CCTV5,http://23.237.228.134/live5/CCTV5p.m3u8 +CCTV5,http://23.237.228.134/live5/CCTV5.m3u8 +CCTV5,http://183.11.239.36:808/hls/93/index.m3u8 +CCTV5+,http://58.57.40.22:9901/tsfile/live/1005_1.m3u8 +CCTV5+,http://120.76.248.139/live/bfgd/4200000246.m3u8 +CCTV5+,http://222.169.85.8:9901/tsfile/live/0116_1.m3u8 +CCTV6,http://58.57.40.22:9901/tsfile/live/1006_1.m3u8 +CCTV6,http://183.11.239.36:808/hls/94/index.m3u8 +CCTV6,http://120.76.248.139/live/bfgd/4200000065.m3u8 +CCTV6,http://182.150.23.74:808/hls/6/index.m3u8 +CCTV7,http://58.57.40.22:9901/tsfile/live/1007_1.m3u8 +CCTV7,http://8.138.7.223/tv/cctv7.m3u8 +CCTV7,http://8.138.7.223/【公众号:榴芒电视】/cctv7.m3u8 +CCTV7,http://183.11.239.36:808/hls/25/index.m3u8 +CCTV7,http://120.76.248.139/live/bfgd/4200000127.m3u8 +CCTV8,http://58.57.40.22:9901/tsfile/live/1008_1.m3u8 +CCTV8,http://183.11.239.36:808/hls/96/index.m3u8 +CCTV8,http://120.76.248.139/live/bfgd/4200000066.m3u8 +CCTV9,http://58.57.40.22:9901/tsfile/live/1009_1.m3u8 +CCTV9,http://183.11.239.36:808/hls/27/index.m3u8 +CCTV9,http://120.76.248.139/live/bfgd/4200000128.m3u8 +CCTV9,http://112.46.85.60:8009/hls/509/index.m3u8 +CCTV女性时尚,http://39.152.103.17:8089/tsfile/live/1068_1.m3u8?key=txiptv&playlive=1&down=1 +CCTV风云足球,http://27.41.245.32:801/hls/906/index.m3u8 +CCTV风云足球,http://38.75.136.137:98/gslb/dsdqpub/fyzq.m3u8?auth=testpub +CHC动作电影,http://113.195.172.192:808/hls/114/index.m3u8 +CHC动作电影,http://38.75.136.137:98/gslb/dsdqpub/chcdz.m3u8?auth=testpub +CHC家庭影院,http://113.195.172.192:808/hls/113/index.m3u8 +CHC家庭影院,http://61.162.52.6:8088/newlive/live/hls/60/live.m3u8 +CHC家庭影院,http://38.75.136.137:98/gslb/dsdqpub/chcjt.m3u8?auth=testpub +CHC电影,http://218.15.183.23:9901/tsfile/live/23044_1.m3u8 +CHC电影,http://183.237.95.108:9901/tsfile/live/1008_1.m3u8?key=txiptv&playlive=0&authid=0 +CHC电影,http://120.198.101.106:9901/tsfile/live/1053_1.m3u8?key=txiptv +IPTV经典电影,http://43.138.0.72:35455/yy/1382754187 +万州三峡移民,http://123.146.162.24:8017/c2F0hmi/1000/live.m3u8?zzhongqd +万荣综合,http://60.222.246.220:19433/hls1.m3u8 +东南卫视,http://58.57.40.22:9901/tsfile/live/1037_1.m3u8 +东南卫视,http://23.237.228.134/live8/gansu.m3u8 +东南卫视,http://36.32.174.67:60080/newlive/live/hls/33/live.m3u8 +东南卫视,http://120.76.248.139/live/bfgd/4200000483.m3u8 +东方卫视,http://223.105.252.8/PLTV/4/224/3221228150/index.m3u8 +东方卫视,http://58.57.40.22:9901/tsfile/live/1030_1.m3u8 +东方卫视,http://23.237.228.134/live6/dongnan.m3u8 +东方卫视,http://69.30.246.194/live/dfws.m3u8 +中华特产,http://120.76.248.139/live/bfgd/4200000158.m3u8 +乐至综合,http://175.155.106.72:89/live1/live1.m3u8?zsicd +乐至综合,http://175.155.106.72:89/live1/live1.m3u8?zsicd;http://rmlive.lzxrmtzx.com/live1/live1.m3u8?zsicd +云南卫视,http://58.57.40.22:9901/tsfile/live/1047_1.m3u8 +云南卫视,http://23.237.228.134/live8/yunnan.m3u8 +云南卫视,http://120.238.94.10:9901/tsfile/live/1069_1.m3u8 +云南卫视,http://36.32.174.67:60080/newlive/live/hls/45/live.m3u8 +云南卫视,http://111.61.236.247:9081/hls/32/index.m3u8 +伊犁哈萨克,http://110.153.180.106:55555/out_3/index.m3u8 +伊犁哈萨克,http://110.153.180.106:55555/out_3/index.m3u8?zxinjd +伊犁汉语,http://110.153.180.106:55555/out_1/index.m3u8?zxinjd +伊犁汉语综合,http://110.153.180.106:55555/out_1/index.m3u8 +伊犁经济法制,http://110.153.180.106:55555/out_4/index.m3u8 +伊犁经济法制,http://110.153.180.106:55555/out_4/index.m3u8?zxinjd +伊犁维吾尔,http://110.153.180.106:55555/out_2/index.m3u8 +伊犁维吾尔,http://110.153.180.106:55555/out_2/index.m3u8?zxinjd +优优宝贝,http://120.76.248.139/live/bfgd/4200000153.m3u8 +兵团八师石河子新闻综合,http://124.88.144.73:1935/live/xwzh/playlist.m3u8?zxinjd +兵团卫视,http://183.11.239.36:808/hls/7/index.m3u8 +兵团卫视,http://218.13.170.98:9901/tsfile/live/0115_1.m3u8 +兵团卫视,http://120.76.248.139/live/bfgd/4200000124.m3u8 +兵团卫视,http://218.13.170.98:9901/tsfile/live/0115_1.m3u8?key=txiptv&playlive=1&authid=0 +内蒙古卫视,http://23.237.228.134/live8/neimenggu.m3u8 +内蒙古卫视,http://120.76.248.139/live/bfgd/4200000110.m3u8 +内蒙古卫视,http://111.61.236.247:9081/hls/48/index.m3u8 +内蒙古卫视,http://183.11.239.36:808/hls/60/index.m3u8 +农林卫视,http://120.76.248.139/live/bfgd/4200000122.m3u8 +农林卫视,http://8.138.7.223/【公众号:榴芒电视】/农林卫视.m3u8 +农林卫视,http://124.116.183.146:9901/tsfile/live/1004_1.m3u8 +农林卫视,http://124.116.183.146:9901/tsfile/live/1004_1.m3u8?key=txiptv&playlive=1&authid=0 +北京卫视,http://223.105.252.8/PLTV/4/224/3221228115/index.m3u8 +北京卫视,http://58.57.40.22:9901/tsfile/live/1032_1.m3u8 +北京卫视,http://124.116.183.146:9901/tsfile/live/0122_1.m3u8 +北京卫视,http://183.11.239.36:808/hls/41/index.m3u8 +卡酷少儿,http://58.57.40.22:9901/tsfile/live/1060_1.m3u8 +卡酷少儿,http://218.13.170.98:9901/tsfile/live/1021_1.m3u8 +厦门卫视,http://183.11.239.36:808/hls/17/index.m3u8 +厦门卫视,http://38.75.136.137:98/gslb/dsdqpub/xmws.m3u8?auth=testpub +合肥新闻,http://112.27.235.94:8000/hls/18/index.m3u8 +吉林卫视,http://58.57.40.22:9901/tsfile/live/1050_1.m3u8 +吉林卫视,http://23.237.228.134/live8/jilin.m3u8 +吉林卫视,http://111.61.236.247:9081/hls/45/index.m3u8 +吉林卫视,http://183.11.239.36:808/hls/10/index.m3u8 +哈哈炫动,http://120.238.94.10:9901/tsfile/live/1037_1.m3u8 +哈尔滨影视,http://111.43.126.240:9003/hls/5/index.m3u8 +哈尔滨生活,http://111.43.126.240:9003/hls/3/index.m3u8 +四川卫视,http://58.57.40.22:9901/tsfile/live/1046_1.m3u8 +四川卫视,http://120.238.94.10:9901/tsfile/live/1058_1.m3u8 +四川卫视,http://124.116.183.146:9901/tsfile/live/0123_1.m3u8 +四川卫视,http://183.11.239.36:808/hls/50/index.m3u8 +四川卫视,http://120.76.248.139/live/bfgd/4200000103.m3u8 +四川科教,http://182.150.115.21:8030/pcgacg/pcgacg_0.m3u8 +四海钓鱼,http://120.76.248.139/live/bfgd/4200000229.m3u8 +垫江综合,http://123.146.162.24:8017/iTXwrGs/800/live.m3u8?zzhongqd +大湾区卫视,http://222.128.55.152:9080/live/dwq.m3u8 +大湾区卫视,http://183.11.239.36:808/hls/132/index.m3u8 +天津卫视,http://58.57.40.22:9901/tsfile/live/1034_1.m3u8 +天津卫视,http://23.237.228.134/live8/tianjing.m3u8 +天津卫视,http://124.116.183.146:9901/tsfile/live/0135_1.m3u8 +天津卫视,http://183.11.239.36:808/hls/42/index.m3u8 +天津卫视,http://112.46.85.60:8009/hls/44/index.m3u8 +奎屯哈萨克语,http://218.84.12.186:8002/hls/main/playlist.m3u8 +奎屯哈萨克语,http://218.84.12.186:8002/hls/main/playlist.m3u8?zxinjd +奎屯汉语,http://218.84.12.186:8001/hls/main/playlist.m3u8?zxinjd +宁夏卫视,http://58.57.40.22:9901/tsfile/live/1054_1.m3u8 +宁夏卫视,http://120.238.94.10:9901/tsfile/live/1076_1.m3u8 +宁夏卫视,http://36.32.174.67:60080/newlive/live/hls/49/live.m3u8 +宁夏卫视,http://111.61.236.247:9081/hls/51/index.m3u8 +安徽卫视,http://58.57.40.22:9901/tsfile/live/1033_1.m3u8 +安徽卫视,http://23.237.228.134/live8/anhui.m3u8 +安徽卫视,http://124.116.183.146:9901/tsfile/live/0130_1.m3u8 +安徽卫视,http://183.11.239.36:808/hls/40/index.m3u8 +安徽卫视,http://222.169.85.8:9901/tsfile/live/0130_1.m3u8 +安徽综艺体育,http://112.27.235.94:8000/hls/25/index.m3u8 +山东卫视,http://183.11.239.36:808/hls/43/index.m3u8 +山东卫视,http://120.76.248.139/live/bfgd/4200000099.m3u8 +山东卫视,http://182.150.23.74:808/hls/23/index.m3u8 +山东卫视,http://61.156.228.12:8154/tsfile/live/0131_1.m3u8 +山东卫视,http://61.136.172.236:9901/tsfile/live/0131_1.m3u8 +山东文旅,http://58.57.40.22:9901/tsfile/live/1023_1.m3u8 +山西卫视,http://23.237.228.134/live8/shanxiws.m3u8 +山西卫视,http://23.237.228.134/live8/shanxi.m3u8 +山西卫视,http://60.16.0.216:5757/hls/39/index.m3u8 +山西卫视,http://38.75.136.137:98/gslb/dsdqpub/sxwshd.m3u8?auth=testpub +广东体育,http://120.238.94.10:9901/tsfile/live/1012_1.m3u8 +广东体育,http://183.11.239.36:808/hls/2/index.m3u8 +广东体育,http://218.13.170.98:9901/tsfile/live/0019_1.m3u8 +广东卫视,http://223.105.252.8/PLTV/4/224/3221227445/index.m3u8 +广东卫视,http://58.57.40.22:9901/tsfile/live/1039_1.m3u8 +广东卫视,http://23.237.228.134/live6/guangdong.m3u8 +广东卫视,http://120.238.94.10:9901/tsfile/live/1008_1.m3u8 +广东卫视,http://124.116.183.146:9901/tsfile/live/0125_1.m3u8 +广东民生,http://183.11.239.36:808/hls/18/index.m3u8 +广东珠江,http://120.238.94.10:9901/tsfile/live/1009_1.m3u8 +广东珠江,http://183.11.239.36:808/hls/83/index.m3u8 +广州竞赛,http://8.138.7.223/tv/gzjs.m3u8 +广西卫视,http://58.57.40.22:9901/tsfile/live/1049_1.m3u8 +广西卫视,http://23.237.228.134/live6/guizhou.m3u8 +广西卫视,http://23.237.228.134/live6/guangxi.m3u8 +广西卫视,http://36.32.174.67:60080/newlive/live/hls/38/live.m3u8 +延边卫视,http://120.76.248.139/live/bfgd/4200000117.m3u8 +新疆卫视,http://58.57.40.22:9901/tsfile/live/1055_1.m3u8 +新疆卫视,http://36.32.174.67:60080/newlive/live/hls/47/live.m3u8 +新疆卫视,http://183.11.239.36:808/hls/65/index.m3u8 +新疆卫视,http://222.169.85.8:9901/tsfile/live/0110_1.m3u8 +新疆卫视,http://61.156.228.12:8154/tsfile/live/0110_1.m3u8 +新视觉,http://120.76.248.139/live/bfgd/4200000249.m3u8 +朝阳新闻综合,http://120.76.248.139/live/bfgd/4200000282.m3u8 +江津新闻综合,http://222.179.155.21:1935/ch1.m3u8 +江津新闻综合,http://222.179.155.21:1935/ch1.m3u8?zzhongqd +江苏卫视,http://58.57.40.22:9901/tsfile/live/1031_1.m3u8 +江苏卫视,http://69.30.246.194/live/jsws.m3u8 +江苏卫视,http://183.11.239.36:808/hls/38/index.m3u8 +江苏卫视,http://120.76.248.139/live/bfgd/4200000085.m3u8 +江苏卫视,http://112.46.85.60:8009/hls/33/index.m3u8 +江西卫视,http://58.57.40.22:9901/tsfile/live/1043_1.m3u8 +江西卫视,http://23.237.228.134/live8/jiangxi.m3u8 +江西卫视,http://36.32.174.67:60080/newlive/live/hls/22/live.m3u8 +江西卫视,http://183.11.239.36:808/hls/44/index.m3u8 +江西卫视,http://36.32.174.67:60080/newlive/live/hls/31/live.m3u8 +河北卫视,http://58.57.40.22:9901/tsfile/live/1044_1.m3u8 +河北卫视,http://23.237.228.134/live8/hebei.m3u8 +河北卫视,http://36.32.174.67:60080/newlive/live/hls/36/live.m3u8 +河北卫视,http://111.61.236.247:9081/hls/17/index.m3u8 +河北卫视,http://183.11.239.36:808/hls/54/index.m3u8 +河南卫视,http://58.57.40.22:9901/tsfile/live/1048_1.m3u8 +河南卫视,http://23.237.228.134/live6/henan.m3u8 +河南卫视,http://120.238.94.10:9901/tsfile/live/1068_1.m3u8 +浙江卫视,http://223.105.252.8/PLTV/4/224/3221228147/index.m3u8 +浙江卫视,http://58.57.40.22:9901/tsfile/live/1029_1.m3u8 +浙江卫视,http://23.237.228.134/live6/zhejiang.m3u8 +浙江卫视,http://69.30.246.194/live/zjws.m3u8 +浙江新闻,http://101.66.199.236:9901/tsfile/live/1005_1.m3u8?key=txiptv&playlive=0&authid=0 +浙江新闻,http://101.66.199.133:9901/tsfile/live/1005_1.m3u8?key=txiptv&playlive=0&authid=0 +海南卫视,http://58.57.40.22:9901/tsfile/live/1000_1.m3u8 +海南卫视,http://120.76.248.139/live/bfgd/4200000473.m3u8 +海南卫视,http://36.32.174.67:60080/newlive/live/hls/46/live.m3u8 +海南卫视,http://183.11.239.36:808/hls/124/index.m3u8 +海峡卫视,http://8.138.7.223/tv/hxws.m3u8 +海峡卫视,http://38.64.72.148:80/hls/modn/list/4009/chunklist0.m3u8 +海峡卫视,http://38.64.72.148:80/hls/modn/list/4009/playlist.m3u8 +涡阳新闻综合,http://220.180.124.18:888/live/ch0.m3u8 +深圳卫视,http://58.57.40.22:9901/tsfile/live/1036_1.m3u8 +深圳卫视,http://23.237.228.134/live6/shenzhen.m3u8 +深圳卫视,http://38.64.72.148:80/hls/modn/list/4007/playlist.m3u8 +深圳卫视,http://124.116.183.146:9901/tsfile/live/0126_1.m3u8 +深圳卫视,http://183.11.239.36:808/hls/45/index.m3u8 +湖北卫视,http://58.57.40.22:9901/tsfile/live/1038_1.m3u8 +湖北卫视,http://23.237.228.134/live6/hubei.m3u8 +湖北卫视,http://120.238.94.10:9901/tsfile/live/1055_1.m3u8 +湖北卫视,http://124.116.183.146:9901/tsfile/live/0132_1.m3u8 +湖北卫视,http://183.11.239.36:808/hls/46/index.m3u8 +湖南卫视,http://58.57.40.22:9901/tsfile/live/1028_1.m3u8 +湖南卫视,http://23.237.228.134/live6/hunan.m3u8 +湖南卫视,http://69.30.246.194/live/hnws.m3u8 +玛纳斯综合,http://218.84.127.245:1026/hls/main1/playlist.m3u8 +玛纳斯综合,http://218.84.127.245:1026/hls/main1/playlist.m3u8?zxinjd +玛纳斯综合,http://218.84.127.245:1026/hls/main1/playlist.m3u8?zxinjd, +环球旅游,http://120.76.248.139/live/bfgd/4200000147.m3u8 +璧山综合,http://222.179.42.129:8181/hls1.m3u8 +璧山综合,http://222.179.42.129:8181/hls1.m3u8?zzhongqd +甘肃卫视,http://58.57.40.22:9901/tsfile/live/1056_1.m3u8 +甘肃卫视,http://120.238.94.10:9901/tsfile/live/1079_1.m3u8 +甘肃卫视,http://111.61.236.247:9081/hls/54/index.m3u8 +甘肃卫视,http://183.11.239.36:808/hls/119/index.m3u8 +生态环境,http://120.76.248.139/live/bfgd/4200000149.m3u8 +电视指南,http://38.75.136.137:98/gslb/dsdqpub/dszn.m3u8?auth=testpub +纪实科教,http://120.76.248.139/live/bfgd/4200000113.m3u8 +纪实科教8K,http://111.31.106.140/downflv.brtvcloud.com/8klive/8kliveok.m3u8 +西安新闻,http://112.46.105.20:8009/hls/28/index.m3u8 +西安都市,http://112.46.105.20:8009/hls/29/index.m3u8 +西藏卫视,http://120.238.94.10:9901/tsfile/live/1077_1.m3u8 +西藏卫视,http://36.32.174.67:60080/newlive/live/hls/48/live.m3u8 +西藏卫视,http://183.11.239.36:808/hls/64/index.m3u8 +西藏卫视,http://120.76.248.139/live/bfgd/4200000121.m3u8 +贵州卫视,http://58.57.40.22:9901/tsfile/live/1042_1.m3u8 +贵州卫视,http://23.237.228.134/live6/hainan.m3u8 +贵州卫视,http://183.11.239.36:808/hls/49/index.m3u8 +贵州卫视,http://120.76.248.139/live/bfgd/4200000101.m3u8 +车迷频道,http://120.76.248.139/live/bfgd/4200000146.m3u8 +辽宁公共,http://120.76.248.139/live/bfgd/4200000077.m3u8 +辽宁公共,http://120.76.248.139/live/bfgd/4200000481.m3u8 +辽宁北方,http://120.76.248.139/live/bfgd/4200000071.m3u8 +辽宁卫视,http://58.57.40.22:9901/tsfile/live/1035_1.m3u8 +辽宁卫视,http://23.237.228.134/live8/liaoning.m3u8 +辽宁卫视,http://183.11.239.36:808/hls/47/index.m3u8 +辽宁卫视,http://120.76.248.139/live/bfgd/4200000141.m3u8 +辽宁卫视,http://120.76.248.139/live/bfgd/4200000185.m3u8 +辽宁影视剧,http://120.76.248.139/live/bfgd/4200000070.m3u8 +辽宁教育青少,http://120.76.248.139/live/bfgd/4200000075.m3u8 +辽宁生活,http://120.76.248.139/live/bfgd/4200000073.m3u8 +辽宁经济,http://120.76.248.139/live/bfgd/4200000076.m3u8 +辽宁经济,http://120.76.248.139/live/bfgd/4200000480.m3u8 +辽宁都市,http://120.76.248.139/live/bfgd/4200000068.m3u8 +辽宁都市,http://120.76.248.139/live/bfgd/4200000610.m3u8 +鄂托克旗电视台,http://110.19.181.138:10080/hls/F509Rh7GR/F509Rh7GR_live.m3u8?zneimd +重庆卫视,http://23.237.228.134/live6/chongqing.m3u8 +重庆卫视,http://36.32.174.67:60080/newlive/live/hls/34/live.m3u8 +重庆卫视,http://124.116.183.146:9901/tsfile/live/0142_1.m3u8 +重庆卫视,http://183.11.239.36:808/hls/53/index.m3u8 +重庆卫视,http://120.76.248.139/live/bfgd/4200000107.m3u8 +重庆汽摩,http://123.146.162.24:8017/iTXwrGs/800/live.m3u8 +重庆汽摩,http://123.146.162.24:8017/c2F0hmi/1000/live.m3u8 +重庆汽摩,http://183.230.184.51:65500/tntv1.m3u8 +重庆汽摩,http://120.76.248.139/live/bfgd/4200000168.m3u8 +重庆汽摩,http://222.179.155.21:1935/ch1.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] +金鹰卡通,http://58.57.40.22:9901/tsfile/live/1059_1.m3u8 +金鹰卡通,http://101.66.199.133:9901/tsfile/live/1000_1.m3u8?key=txiptv&playlive=0&authid=0 +金鹰卡通,http://101.66.199.124:9901/tsfile/live/1000_1.m3u8?key=txiptv&playlive=0&authid=0 +金鹰卡通,http://101.66.199.236:9901/tsfile/live/1000_1.m3u8?key=txiptv&playlive=0&authid=0 +金鹰卡通,http://113.57.93.165:9900/tsfile/live/1000_1.m3u8?key=txiptv&playlive=1&authid=0 +铜梁综合,http://183.64.174.171:40123/ch1.m3u8 +铜梁综合,http://183.64.174.171:40123/ch1.m3u8?zzhongqd +陕西卫视,http://23.237.228.134/live6/sichuan.m3u8 +陕西新闻咨询,http://112.46.105.20:8009/hls/18/index.m3u8 +陕西秦腔,http://112.46.105.20:8009/hls/22/index.m3u8 +陕西都市青春,http://112.46.105.20:8009/hls/19/index.m3u8 +陕西银龄,http://112.46.105.20:8009/hls/20/index.m3u8 +青海卫视,http://23.237.228.134/live8/qinghai.m3u8 +青海卫视,http://23.237.228.134/live8/shandong.m3u8 +青海卫视,http://58.57.40.22:9901/tsfile/live/1057_1.m3u8 +青海卫视,http://120.238.94.10:9901/tsfile/live/1073_1.m3u8 +青海卫视,http://120.76.248.139/live/bfgd/4200000111.m3u8 +高尔夫网球,http://38.75.136.137:98/gslb/dsdqpub/gefwq.m3u8?auth=testpub +黎城综合,http://111.53.96.67:8081/live/1/index.m3u8 +黎城综合,http://111.53.96.67:8081/live/1/index.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] +黑龙江卫视,http://58.57.40.22:9901/tsfile/live/1040_1.m3u8 +黑龙江卫视,http://23.237.228.134/live6/heilongjiang.m3u8 +黑龙江卫视,http://124.116.183.146:9901/tsfile/live/0143_1.m3u8 +黑龙江卫视,http://183.11.239.36:808/hls/48/index.m3u8 + +# IPv6 Streams diff --git a/tvboxqq/tvboxqq/香雅情/spider.jar b/tvboxqq/tvboxqq/香雅情/spider.jar new file mode 100644 index 0000000..bb319cd Binary files /dev/null and b/tvboxqq/tvboxqq/香雅情/spider.jar differ diff --git a/本地仓.txt b/本地仓.txt new file mode 100644 index 0000000..1d8b703 --- /dev/null +++ b/本地仓.txt @@ -0,0 +1,31 @@ +{ "urls": [{ "url": "https://mirror.ghproxy.com/https://raw.githubusercontent.com/chendi0207/my-TVBOX/main/tvboxqq/饭太硬/api.json", "name": "饭太硬" }, + +{ "url": "https://mirror.ghproxy.com/https://raw.githubusercontent.com/chendi0207/my-TVBOX/main/tvboxqq/小米/api.json", "name": "小米" }, + +{ "url": "https://mirror.ghproxy.com/https://raw.githubusercontent.com/chendi0207/my-TVBOX/main/tvboxqq/肥猫/api.json", "name": "肥猫" }, + +{ "url": "https://mirror.ghproxy.com/https://raw.githubusercontent.com/chendi0207/my-TVBOX/main/tvboxqq/王二小/api.json", "name": "王二小" }, + +{ "url": "https://mirror.ghproxy.com/https://raw.githubusercontent.com/chendi0207/my-TVBOX/main/tvboxqq/OK/api.json", "name": "OK" }, + +{ "url": "https://mirror.ghproxy.com/https://raw.githubusercontent.com/chendi0207/my-TVBOX/main/tvboxqq/巧技/api.json", "name": "巧技" }, + +{ "url": "https://mirror.ghproxy.com/https://raw.githubusercontent.com/chendi0207/my-TVBOX/main/tvboxqq/潇洒/api.json", "name": "潇洒" }, + +{ "url": "https://mirror.ghproxy.com/https://raw.githubusercontent.com/chendi0207/my-TVBOX/main/tvboxqq/摸鱼儿/api.json", "name": "摸鱼儿" }, + +{ "url": "https://mirror.ghproxy.com/https://raw.githubusercontent.com/chendi0207/my-TVBOX/main/tvboxqq/小虎斑/api.json", "name": "小虎斑" }, + +{ "url": "https://mirror.ghproxy.com/https://raw.githubusercontent.com/chendi0207/my-TVBOX/main/tvboxqq/欧歌/api.json", "name": "欧歌" }, + +{ "url": "https://mirror.ghproxy.com/https://raw.githubusercontent.com/chendi0207/my-TVBOX/main/tvboxqq/南风/api.json", "name": "南风" }, + +{ "url": "https://mirror.ghproxy.com/https://raw.githubusercontent.com/chendi0207/my-TVBOX/main/tvboxqq/香雅情/api.json", "name": "香雅情" }, + +{ "url": "https://mirror.ghproxy.com/https://raw.githubusercontent.com/chendi0207/my-TVBOX/main/tvboxqq/少儿频道/api.json", "name": "少儿频道" }, + +{ "url": "https://mirror.ghproxy.com/https://raw.githubusercontent.com/chendi0207/my-TVBOX/main/tvboxqq/戏曲音乐/api.json", "name": "戏曲音乐" }, + +{ "url": "https://ghfast.top/https://raw.githubusercontent.com/chendi0207/my-TVBOX/refs/heads/main/tvboxqq/OK/api.json", "name": "OK" }, + +{ "url": "https://ghfast.top/https://raw.githubusercontent.com/chendi0207/my-TVBOX/refs/heads/main/tvboxqq/多多/api.json", "name": "多多" }]} \ No newline at end of file