@sgrsoft/vpe-core-sdk 0.24.4 → 0.24.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/vpe-core-sdk.cjs.js +1 -1
- package/dist/vpe-core-sdk.es.js +790 -788
- package/package.json +1 -1
package/dist/vpe-core-sdk.es.js
CHANGED
|
@@ -1,113 +1,113 @@
|
|
|
1
|
-
var
|
|
1
|
+
var b = Mt;
|
|
2
2
|
(function(x, t) {
|
|
3
|
-
for (var e =
|
|
3
|
+
for (var e = Mt, i = x(); ; )
|
|
4
4
|
try {
|
|
5
|
-
var a = -parseInt(e(
|
|
5
|
+
var a = -parseInt(e(429)) / 1 + -parseInt(e(489)) / 2 + -parseInt(e(416)) / 3 * (-parseInt(e(410)) / 4) + parseInt(e(484)) / 5 * (-parseInt(e(465)) / 6) + parseInt(e(451)) / 7 * (-parseInt(e(402)) / 8) + parseInt(e(479)) / 9 * (parseInt(e(439)) / 10) + parseInt(e(455)) / 11;
|
|
6
6
|
if (a === t) break;
|
|
7
7
|
i.push(i.shift());
|
|
8
8
|
} catch {
|
|
9
9
|
i.push(i.shift());
|
|
10
10
|
}
|
|
11
|
-
})(
|
|
11
|
+
})(Ee, 849572);
|
|
12
|
+
function Ee() {
|
|
13
|
+
var x = ["Player Execution Failed", "second(s)", "Next video will play in {timeTxt} seconds.", "Provocative content", "Quality", "None", "9sxTthz", "This video is rated for all audiences.", "Required module was not loaded. (dash.js)", "day", "In a moment", "6895RSPtvZ", "Cyan", "Horror", "Invalid access. Please check your access_key.", "Normal", "1355164kxaCBo", "Not used", "171728YAUimt", "Depressed", "Turn on captions", "Raised", "Cannot play DASH video on iOS.", "FairPlay certificate validation failed.", "minute(s)", "Subtitles not available", "15668eEIQMA", "Playback speed", "Language", "min", "You do not have permission to play this video.", "Red", "948KSIWzo", "Failed to communicate with the DRM license server.", "seconds until auto-play", "Drop Shadow", "Imitation risk", "Apply Default Style", "Screen capture / screen recording has been detected.", "Next video", "hour(s)", "Monthly basic API calls exceeded. Please switch to a paid version.", "Video will start in {timeTxt}.", "Background Opacity", "Subtitle Style", "441874aVFgHi", "This video may be inappropriate for children under 15 and requires parental guidance.", "Background Color", "Unsupported format.", "Scheduled", "The network connection is unstable.", "Blue", "Pause", "Required module was not loaded. (hls.js)", "Subtitles", "13377230iDJROs", "Unmute", "Mute", "Skip Opening", "Invalid DRM token.", "Cannot play video", "This video may be inappropriate for minors.", "Sexuality", "Auto", "Change text, color, and background styles", "Violence", "This video may be inappropriate for children under 12 and requires parental guidance.", "77SPShda", "Auto Skip Opening/Ending", "White", "Turn off captions", "8334491SruFCF", "Black", "Thin", "Bold", "Window Color", "Text Edge Style", "You are muted.", "Invalid URL format.", "Font Size", "License", "4908pJijkN", "Yellow", "Magenta", "Previous video", "LIVE", "The license is not valid.", "Play", "Cancel"];
|
|
14
|
+
return Ee = function() {
|
|
15
|
+
return x;
|
|
16
|
+
}, Ee();
|
|
17
|
+
}
|
|
18
|
+
function Mt(x, t) {
|
|
19
|
+
x = x - 401;
|
|
20
|
+
var e = Ee(), i = e[x];
|
|
21
|
+
return i;
|
|
22
|
+
}
|
|
23
|
+
const Jt = { common: { cancel: b(472), auto: b(447), normal: b(488), notUse: b(401), prev: b(468), next: b(423), delayText: b(418), license: b(464), play: b(471), pause: b(436), replay: "Replay", fullOn: "Fullscreen", fullOff: "Exit fullscreen", muteOn: b(441), muteOff: b(440), captionOff: b(454), captionOn: b(404), setting: "Settings", live: b(469), miniPlayer: "Mini player", isMute: b(461), subtitle: b(438), subtitleNot: b(409) }, settings: { autoplay: "Autoplay", playbackRate: b(411), captions: b(438), quality: b(477) }, skip: { introSkip: "Skip Intro", openingSkip: b(442), endingSkip: "Skip Ending", autoSkipIntro: "Auto Skip Intro", autoSkipOpening: "Auto Skip Opening", autoSkipEnding: "Auto Skip Ending", autoSkipOpeningEnding: b(452) }, ageRating: { noticeAll: b(480), notice12: b(450), notice15: b(430), notice19: b(445) }, contentWarning: { sexuality: b(446), violence: b(449), language: b(412), drugs: "Drugs", horror: b(486), imitation: b(420), provocative: b(476) }, error: { "01": { title: "Cannot play video", desc: b(487) }, "02": { title: b(444), desc: b(414) }, "03": { title: "Authentication Failed", desc: b(434) }, "04": { title: "Cannot play video", desc: "The video could not be played." }, "05": { title: b(444), desc: b(470) }, "06": { title: b(444), desc: b(425) }, "07": { title: b(444), desc: b(432) }, "08": { title: b(444), desc: b(462) }, "09": { title: b(444), desc: "The live stream is OFFLINE." }, 10: { title: "Cannot play video", desc: b(406) }, 11: { title: b(444), desc: b(443) }, 12: { title: b(444), desc: b(417) }, 13: { title: b(444), desc: b(407) }, 14: { title: "Cannot play video", desc: b(422) }, 15: { title: b(473), desc: b(437) }, 16: { title: b(473), desc: b(481) }, 17: { title: "Player Startup Failed", desc: "This feature requires the Standard plan." } }, tv: { default: "Default", quality: b(477), subtitleStyle: b(428), subtitleStyleDesc: b(448), applyDefaultStyle: b(421), fontColor: "Font Color", fontSize: b(463), textOpacity: "Text Opacity", edgeStyle: b(460), bgColor: b(431), bgOpacity: b(427), windowColor: b(459), windowOpacity: "Window Opacity", fontWeight: "Font Weight", weight: { thin: b(457), normal: "Normal", semiBold: "Semi Bold", bold: b(458), extraBold: "Extra Bold" }, color: { white: b(453), black: b(456), red: b(415), green: "Green", blue: b(435), yellow: b(466), magenta: b(467), cyan: b(485) }, edge: { none: b(478), dropShadow: b(419), raised: b(405), depressed: b(403), uniform: "Uniform" } }, alternative: { hour: b(424), minute: b(408), second: b(474), after: b(483), afterMin: b(413), afterHour: "hour", afterDay: b(482), startPlay: b(426), nextPlay: b(475), afterPlay: b(433) } };
|
|
12
24
|
function Te() {
|
|
13
|
-
var x = ["
|
|
25
|
+
var x = ["필수 모듈이 로드되지 않았습니다. (hls.js)", "네트워크 연결이 원활하지 않습니다.", "해상도", "이전 동영상", "배경 색상", "글꼴 크기", "창 색상", "{timeTxt}초 후 다음 영상이 재생됩니다.", "인증 실패", "기본 스타일 적용", "잘못된 접근입니다. access_key를 확인해주세요.", "사용안함", "자극적 장면", "텍스트, 색상, 배경 스타일 변경", "1866AjUJhH", "글자 테두리 스타일", "검정색", "엔딩 건너뛰기", "빨간색", "지원하지 않는 형식입니다.", "음소거 상태입니다.", "88LiJIiK", "자막 사용 불가", "전체화면 해제", "동영상을 재생할 수 없음", "음소거 해제", "{timeTxt} 후 영상이 시작됩니다.", "노란색", "일시정지", "인트로 건너뛰기", "이 영상은 15세 미만의 청소년이 시청하기에 부적절하므로 보호자의 시청지도가 필요한 영상입니다.", "전체화면", "자막켜기", "동영상을 재생할 권한이 없습니다.", "10NfOdZb", "53709ARDJXS", "자막 스타일", "성적 표현", "시간 ", "엔딩 자동 스킵", "파란색", "DRM 토큰이 잘못되었습니다.", "플레이어 구동 실패", "8iOWYec", "2865360eolpBI", "미니플레이어", "639254vOTfVw", "초 뒤 자동재생", "라이선스", "이 영상은 전체 관람가 영상입니다.", "오프닝/엔딩 자동 스킵", "재생 속도", "필수 모듈이 로드되지 않았습니다. (dash.js)", "iOS에서 Dash 비디오를 재생할 수 없습니다.", "DRM 라이선스 서버와 통신에 실패하였습니다.", "라이선스가 유효하지 않습니다.", "창 불투명도", "오프닝 자동 스킵", "실시간", "그림자", "1186380etbBjw", "875KySAGk", "다음 동영상", "플레이어 실행 실패", "매우 굵게", "663864FAswTN", "모방위험", "초록색", "FairPlay 인증서 검증에 실패하였습니다.", "478489xCMKwn", "이 영상은 12세 미만의 청소년이 시청하기에 부적절하므로 보호자의 시청지도가 필요한 영상입니다.", "Standard 요금제가 필요한 기능입니다.", "자홍색"];
|
|
14
26
|
return Te = function() {
|
|
15
27
|
return x;
|
|
16
28
|
}, Te();
|
|
17
29
|
}
|
|
18
|
-
|
|
19
|
-
|
|
30
|
+
var h = Ot;
|
|
31
|
+
function Ot(x, t) {
|
|
32
|
+
x = x - 375;
|
|
20
33
|
var e = Te(), i = e[x];
|
|
21
34
|
return i;
|
|
22
35
|
}
|
|
23
|
-
const X0 = { common: { cancel: f(309), auto: "Auto", normal: "Normal", notUse: "Not used", prev: f(334), next: f(277), delayText: "seconds until auto-play", license: f(291), play: f(347), pause: "Pause", replay: "Replay", fullOn: f(354), fullOff: f(314), muteOn: f(337), muteOff: f(359), captionOff: "Turn off captions", captionOn: f(275), setting: f(292), live: f(358), miniPlayer: f(318), isMute: f(351), subtitle: "Subtitles", subtitleNot: f(311) }, settings: { autoplay: f(296), playbackRate: f(302), captions: f(298), quality: "Quality" }, skip: { introSkip: f(326), openingSkip: f(299), endingSkip: f(330), autoSkipIntro: f(313), autoSkipOpening: f(307), autoSkipEnding: f(338), autoSkipOpeningEnding: "Auto Skip Opening/Ending" }, ageRating: { noticeAll: "This video is rated for all audiences.", notice12: f(335), notice15: f(301), notice19: f(281) }, contentWarning: { sexuality: f(321), violence: f(339), language: f(325), drugs: f(283), horror: f(332), imitation: "Imitation risk", provocative: "Provocative content" }, error: { "01": { title: f(273), desc: f(294) }, "02": { title: f(273), desc: "You do not have permission to play this video." }, "03": { title: f(329), desc: "The network connection is unstable." }, "04": { title: f(273), desc: f(272) }, "05": { title: f(273), desc: "The license is not valid." }, "06": { title: f(273), desc: f(287) }, "07": { title: f(273), desc: f(317) }, "08": { title: f(273), desc: f(295) }, "09": { title: f(273), desc: "The live stream is OFFLINE." }, 10: { title: f(273), desc: f(345) }, 11: { title: "Cannot play video", desc: "Invalid DRM token." }, 12: { title: f(273), desc: f(331) }, 13: { title: f(273), desc: "FairPlay certificate validation failed." }, 14: { title: f(273), desc: f(289) }, 15: { title: f(349), desc: f(286) }, 16: { title: f(349), desc: f(282) }, 17: { title: "Player Startup Failed", desc: f(320) } }, tv: { default: f(333), quality: "Quality", subtitleStyle: f(276), subtitleStyleDesc: f(336), applyDefaultStyle: f(274), fontColor: "Font Color", fontSize: f(355), textOpacity: f(348), edgeStyle: f(357), bgColor: f(346), bgOpacity: f(344), windowColor: f(327), windowOpacity: f(322), fontWeight: "Font Weight", weight: { thin: f(352), normal: "Normal", semiBold: "Semi Bold", bold: "Bold", extraBold: f(310) }, color: { white: f(353), black: f(280), red: "Red", green: f(343), blue: f(303), yellow: f(315), magenta: f(308), cyan: f(328) }, edge: { none: "None", dropShadow: f(324), raised: f(356), depressed: f(278), uniform: f(285) } }, alternative: { hour: "hour(s)", minute: f(293), second: "second(s)", after: f(319), afterMin: f(316), afterHour: f(284), afterDay: f(306), startPlay: f(279), nextPlay: "Next video will play in {timeTxt} seconds.", afterPlay: f(304) } };
|
|
24
|
-
function O0(x, t) {
|
|
25
|
-
x = x - 475;
|
|
26
|
-
var e = Ce(), i = e[x];
|
|
27
|
-
return i;
|
|
28
|
-
}
|
|
29
|
-
function Ce() {
|
|
30
|
-
var x = ["청록색", "글꼴 색상", "1245624lmnkEf", "오프닝 건너뛰기", "URL 형식이 잘못되었습니다.", "다음 동영상", "글자 테두리 스타일", "재생 속도", "78406MVprEE", "빨간색", "DRM 토큰이 잘못되었습니다.", "자막 스타일", "인트로 자동 스킵", "10917zWjqiX", "텍스트, 색상, 배경 스타일 변경", "창 불투명도", "시간 ", "플레이어 구동 실패", "iOS에서 Dash 비디오를 재생할 수 없습니다.", "오프닝/엔딩 자동 스킵", "실시간", "자홍색", "매우 굵게", "인트로 건너뛰기", "라이선스가 유효하지 않습니다.", "이 영상은 15세 미만의 청소년이 시청하기에 부적절하므로 보호자의 시청지도가 필요한 영상입니다.", "엔딩 자동 스킵", "이 영상은 청소년이 시청하기에 부적절한 영상입니다.", "음소거 해제", "8826CsTCrh", "성적 표현", "인증 실패", "창 색상", "네트워크 연결이 원활하지 않습니다.", "모방위험", "그림자", "라이브스트림이 OFFLINE 입니다.", "월 기본 제공 호출 건수를 초과하였습니다. 유료 버전으로 전환 후 사용 부탁 드립니다.", "전체화면 해제", "엔딩 건너뛰기", "동영상을 재생할 수 없습니다.", "플레이어 실행 실패", "{timeTxt}초 후 다음 영상이 재생됩니다.", "노란색", "필수 모듈이 로드되지 않았습니다. (dash.js)", "699788MMtmrm", "이 영상은 12세 미만의 청소년이 시청하기에 부적절하므로 보호자의 시청지도가 필요한 영상입니다.", "파란색", "2620yYGpvh", "사용안함", "초 뒤 자동재생", "558723kIfZgN", "필수 모듈이 로드되지 않았습니다. (hls.js)", "미니플레이어", "697529ntdspF", "동영상을 재생할 수 없음", "라이선스", "일시정지", "85pLqvfu", "자막끄기", "2UslQgu", "해상도", "FairPlay 인증서 검증에 실패하였습니다.", "초록색", "음소거", "글꼴 크기", "지원하지 않는 형식입니다.", "검정색", "기본 스타일 적용", "DRM 라이선스 서버와 통신에 실패하였습니다.", "자극적 장면", "음소거 상태입니다.", "자동재생"];
|
|
31
|
-
return Ce = function() {
|
|
32
|
-
return x;
|
|
33
|
-
}, Ce();
|
|
34
|
-
}
|
|
35
|
-
var g = O0;
|
|
36
36
|
(function(x, t) {
|
|
37
|
-
for (var e =
|
|
37
|
+
for (var e = Ot, i = x(); ; )
|
|
38
38
|
try {
|
|
39
|
-
var a =
|
|
39
|
+
var a = parseInt(e(443)) / 1 + parseInt(e(422)) / 2 + parseInt(e(413)) / 3 * (-parseInt(e(421)) / 4) + -parseInt(e(439)) / 5 * (-parseInt(e(392)) / 6) + -parseInt(e(424)) / 7 * (parseInt(e(399)) / 8) + -parseInt(e(438)) / 9 + parseInt(e(412)) / 10 * (-parseInt(e(447)) / 11);
|
|
40
40
|
if (a === t) break;
|
|
41
41
|
i.push(i.shift());
|
|
42
42
|
} catch {
|
|
43
43
|
i.push(i.shift());
|
|
44
44
|
}
|
|
45
|
-
})(
|
|
46
|
-
const
|
|
47
|
-
var w =
|
|
48
|
-
function P0(x, t) {
|
|
49
|
-
x = x - 119;
|
|
50
|
-
var e = Ae(), i = e[x];
|
|
51
|
-
return i;
|
|
52
|
-
}
|
|
45
|
+
})(Te, 935302);
|
|
46
|
+
const Xt = { common: { cancel: "취소", auto: "자동", normal: "보통", notUse: h(389), prev: h(381), next: h(440), delayText: h(425), license: h(426), play: "재생", pause: h(406), replay: "다시보기", fullOn: h(409), fullOff: h(401), muteOn: "음소거", muteOff: h(403), captionOff: "자막끄기", captionOn: h(410), setting: "설정", live: h(436), miniPlayer: h(423), isMute: h(398), subtitle: "자막", subtitleNot: h(400) }, settings: { autoplay: "자동재생", playbackRate: h(429), captions: "자막", quality: h(380) }, skip: { introSkip: h(407), openingSkip: "오프닝 건너뛰기", endingSkip: h(395), autoSkipIntro: "인트로 자동 스킵", autoSkipOpening: h(435), autoSkipEnding: h(417), autoSkipOpeningEnding: h(428) }, ageRating: { noticeAll: h(427), notice12: h(375), notice15: h(408), notice19: "이 영상은 청소년이 시청하기에 부적절한 영상입니다." }, contentWarning: { sexuality: h(415), violence: "폭력", language: "욕설", drugs: "약물", horror: "공포", imitation: h(444), provocative: h(390) }, error: { "01": { title: h(402), desc: h(388) }, "02": { title: "동영상을 재생할 수 없음", desc: h(411) }, "03": { title: h(386), desc: h(379) }, "04": { title: h(402), desc: "동영상을 재생할 수 없습니다." }, "05": { title: "동영상을 재생할 수 없음", desc: h(433) }, "06": { title: "동영상을 재생할 수 없음", desc: "월 기본 제공 호출 건수를 초과하였습니다. 유료 버전으로 전환 후 사용 부탁 드립니다." }, "07": { title: h(402), desc: h(397) }, "08": { title: h(402), desc: "URL 형식이 잘못되었습니다." }, "09": { title: h(402), desc: "라이브스트림이 OFFLINE 입니다." }, 10: { title: h(402), desc: h(431) }, 11: { title: "동영상을 재생할 수 없음", desc: h(419) }, 12: { title: h(402), desc: h(432) }, 13: { title: h(402), desc: h(446) }, 14: { title: "동영상을 재생할 수 없음", desc: "화면 캡쳐 / 화면 녹화가 감지되었습니다." }, 15: { title: h(441), desc: h(378) }, 16: { title: h(441), desc: h(430) }, 17: { title: h(420), desc: h(376) } }, tv: { default: "기본", quality: "화질", subtitleStyle: h(414), subtitleStyleDesc: h(391), applyDefaultStyle: h(387), fontColor: "글꼴 색상", fontSize: h(383), textOpacity: "텍스트 불투명도", edgeStyle: h(393), bgColor: h(382), bgOpacity: "배경 불투명도", windowColor: h(384), windowOpacity: h(434), fontWeight: "글자 굵기", weight: { thin: "얇게", normal: "보통", semiBold: "약간 굵게", bold: "굵게", extraBold: h(442) }, color: { white: "흰색", black: h(394), red: h(396), green: h(445), blue: h(418), yellow: h(405), magenta: h(377), cyan: "청록색" }, edge: { none: "없음", dropShadow: h(437), raised: "양각", depressed: "음각", uniform: "균일" } }, alternative: { hour: "시", minute: "분", second: "초", after: "잠시 ", afterMin: "분 ", afterHour: h(416), afterDay: "일 ", startPlay: h(404), nextPlay: h(385), afterPlay: "예정" } };
|
|
47
|
+
var w = Pt;
|
|
53
48
|
(function(x, t) {
|
|
54
|
-
for (var e =
|
|
49
|
+
for (var e = Pt, i = x(); ; )
|
|
55
50
|
try {
|
|
56
|
-
var a = parseInt(e(
|
|
51
|
+
var a = parseInt(e(191)) / 1 + parseInt(e(197)) / 2 + -parseInt(e(214)) / 3 * (-parseInt(e(224)) / 4) + -parseInt(e(193)) / 5 * (-parseInt(e(165)) / 6) + -parseInt(e(202)) / 7 * (parseInt(e(208)) / 8) + -parseInt(e(196)) / 9 * (-parseInt(e(221)) / 10) + -parseInt(e(178)) / 11 * (parseInt(e(182)) / 12);
|
|
57
52
|
if (a === t) break;
|
|
58
53
|
i.push(i.shift());
|
|
59
54
|
} catch {
|
|
60
55
|
i.push(i.shift());
|
|
61
56
|
}
|
|
62
|
-
})(
|
|
57
|
+
})(Ce, 838184);
|
|
58
|
+
function Ce() {
|
|
59
|
+
var x = ["ライセンス", "デフォルトスタイルを適用", "OP/ED自動スキップ", "不正なアクセスです。access_keyを確認してください。", "39XMGMic", "ライブ", "模倣危険", "性的表現", "URLの形式が正しくありません。", "プレーヤーの起動に失敗しました", "キャンセル", "40TGieAv", "一時停止", "この映像は未成年者の視聴には不適切な内容を含みます。", "478200oZfUpR", "画面キャプチャ/画面録画が検出されました。", "動画を再生できません", "次の動画", "文字の太さ", "文字エッジスタイル", "オープニング自動スキップ", "デフォルト", "ライブストリームはオフラインです。", "1755378uSfTZX", "ミュート解除", "字幕は利用できません", "自動再生", "イントロ自動スキップ", "フォントサイズ", "この機能にはStandardプランが必要です。", "{timeTxt}秒後に次の動画が再生されます。", "背景不透明度", "フォント色", "認証に失敗しました", "動画を再生できませんでした。", "沈み込み", "2205896dGFCBr", "この映像は15歳未満の視聴には不適切な内容を含むため、保護者の指導が必要です。", "リプレイ", "オープニングをスキップ", "192kTMSwn", "{timeTxt}後に動画が始まります。", "字幕をオンにする", "ミュート", "再生速度", "シアン", "ミュート状態です。", "ウィンドウ色", "字幕スタイル", "1082213DYiVpu", "イントロをスキップ", "15FgaDUE", "ライセンスが無効です。", "iOSではDASHビデオを再生できません。", "3487014bludpw", "704546NRmyId", "月間の基本提供呼び出し回数を超過しました。有料版に切り替えてご利用ください。", "DRMライセンスサーバーとの通信に失敗しました。", "全画面表示", "時間後", "7qIDuUU", "刺激的な場面", "必須モジュールが読み込まれていません。(hls.js)", "全画面表示を終了", "必須モジュールが読み込まれていません。(dash.js)", "サポートされていない形式です。", "10954792xYPMpB", "字幕をオフにする"];
|
|
60
|
+
return Ce = function() {
|
|
61
|
+
return x;
|
|
62
|
+
}, Ce();
|
|
63
|
+
}
|
|
64
|
+
function Pt(x, t) {
|
|
65
|
+
x = x - 162;
|
|
66
|
+
var e = Ce(), i = e[x];
|
|
67
|
+
return i;
|
|
68
|
+
}
|
|
69
|
+
const Zt = { common: { cancel: w(220), auto: "自動", normal: "標準", notUse: "使用しない", prev: "前の動画", next: w(227), delayText: "秒後に自動再生", license: w(210), play: "再生", pause: w(222), replay: w(180), fullOn: w(200), fullOff: w(205), muteOn: w(185), muteOff: w(166), captionOff: w(209), captionOn: w(184), setting: "設定", live: w(215), miniPlayer: "ミニプレーヤー", isMute: w(188), subtitle: "字幕", subtitleNot: w(167) }, settings: { autoplay: w(168), playbackRate: w(186), captions: "字幕", quality: "画質" }, skip: { introSkip: w(192), openingSkip: w(181), endingSkip: "エンディングをスキップ", autoSkipIntro: w(169), autoSkipOpening: w(162), autoSkipEnding: "エンディング自動スキップ", autoSkipOpeningEnding: w(212) }, ageRating: { noticeAll: "この映像は全年齢対象です。", notice12: "この映像は12歳未満の視聴には不適切な内容を含むため、保護者の指導が必要です。", notice15: w(179), notice19: w(223) }, contentWarning: { sexuality: w(217), violence: "暴力", language: "暴言", drugs: "薬物", horror: "恐怖", imitation: w(216), provocative: w(203) }, error: { "01": { title: w(226), desc: w(213) }, "02": { title: "動画を再生できません", desc: "この動画を再生する権限がありません。" }, "03": { title: w(175), desc: "ネットワーク接続が不安定です。" }, "04": { title: "動画を再生できません", desc: w(176) }, "05": { title: w(226), desc: w(194) }, "06": { title: w(226), desc: w(198) }, "07": { title: "動画を再生できません", desc: w(207) }, "08": { title: "動画を再生できません", desc: w(218) }, "09": { title: w(226), desc: w(164) }, 10: { title: w(226), desc: w(195) }, 11: { title: w(226), desc: "DRMトークンが無効です。" }, 12: { title: w(226), desc: w(199) }, 13: { title: w(226), desc: "FairPlay証明書の検証に失敗しました。" }, 14: { title: "動画を再生できません", desc: w(225) }, 15: { title: w(219), desc: w(204) }, 16: { title: "プレーヤーの起動に失敗しました", desc: w(206) }, 17: { title: w(219), desc: w(171) } }, tv: { default: w(163), quality: "画質", subtitleStyle: w(190), subtitleStyleDesc: "テキスト、色、背景スタイルを変更", applyDefaultStyle: w(211), fontColor: w(174), fontSize: w(170), textOpacity: "テキスト不透明度", edgeStyle: w(229), bgColor: "背景色", bgOpacity: w(173), windowColor: w(189), windowOpacity: "ウィンドウ不透明度", fontWeight: w(228), weight: { thin: "細い", normal: "標準", semiBold: "やや太い", bold: "太い", extraBold: "極太" }, color: { white: "白", black: "黒", red: "赤", green: "緑", blue: "青", yellow: "黄", magenta: "マゼンタ", cyan: w(187) }, edge: { none: "なし", dropShadow: "ドロップシャドウ", raised: "浮き出し", depressed: w(177), uniform: "均一" } }, alternative: { hour: "時間", minute: "分", second: "秒", after: "しばらくして", afterMin: "分後", afterHour: w(201), afterDay: "日後", startPlay: w(183), nextPlay: w(172), afterPlay: "予定" } };
|
|
63
70
|
function Ae() {
|
|
64
|
-
|
|
71
|
+
const x = ["2207772WINRsY", "split", "27JvFXnv", "1483452OHNoDb", "undefined", "6822SlFdiO", "496vQDbBv", "6141IbekvS", "586998lsXIxk", "1035lNTePO", "378470zvddhr", "2863288UQUpRM", "language"];
|
|
65
72
|
return Ae = function() {
|
|
66
73
|
return x;
|
|
67
74
|
}, Ae();
|
|
68
75
|
}
|
|
69
|
-
const
|
|
70
|
-
function N0(x, t) {
|
|
71
|
-
return x = x - 364, Me()[x];
|
|
72
|
-
}
|
|
73
|
-
const be = N0;
|
|
76
|
+
const Re = Nt;
|
|
74
77
|
(function(x, t) {
|
|
75
|
-
const e =
|
|
78
|
+
const e = Nt, i = x();
|
|
76
79
|
for (; ; )
|
|
77
80
|
try {
|
|
78
|
-
if (parseInt(e(
|
|
81
|
+
if (-parseInt(e(355)) / 1 + -parseInt(e(353)) / 2 * (parseInt(e(354)) / 3) + parseInt(e(350)) / 4 + parseInt(e(356)) / 5 * (parseInt(e(352)) / 6) + parseInt(e(347)) / 7 + parseInt(e(358)) / 8 + -parseInt(e(349)) / 9 * (-parseInt(e(357)) / 10) === t) break;
|
|
79
82
|
i.push(i.shift());
|
|
80
83
|
} catch {
|
|
81
84
|
i.push(i.shift());
|
|
82
85
|
}
|
|
83
|
-
})(
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
86
|
+
})(Ae, 298416);
|
|
87
|
+
function Nt(x, t) {
|
|
88
|
+
return x = x - 346, Ae()[x];
|
|
89
|
+
}
|
|
90
|
+
const Ut = { en: Jt, ko: Xt, ja: Zt }, Qt = () => typeof navigator !== Re(351) && typeof navigator.language !== Re(351);
|
|
91
|
+
function $t(x) {
|
|
92
|
+
const t = Re, e = x[t(348)]("-")[0];
|
|
93
|
+
return e in Ut ? e : "en";
|
|
88
94
|
}
|
|
89
95
|
function Qe(x) {
|
|
90
|
-
const t =
|
|
96
|
+
const t = Re;
|
|
91
97
|
let e = "en";
|
|
92
|
-
x ? e = x :
|
|
93
|
-
const i = $
|
|
94
|
-
return
|
|
95
|
-
}
|
|
96
|
-
function Me() {
|
|
97
|
-
const x = ["1645853JvDRAG", "2379996qyAoVJ", "language", "59rQMFuc", "2348kMTugI", "170PwYUZx", "undefined", "1693983gPFNhY", "28166rXFqPX", "235XMNiNo", "5578752YyGmti", "split", "1671355UkPCIN", "32vnculO"];
|
|
98
|
-
return Me = function() {
|
|
99
|
-
return x;
|
|
100
|
-
}, Me();
|
|
98
|
+
x ? e = x : Qt() && (e = navigator[t(346)]);
|
|
99
|
+
const i = $t(e);
|
|
100
|
+
return Ut[i];
|
|
101
101
|
}
|
|
102
102
|
Qe();
|
|
103
|
-
var
|
|
103
|
+
var e0 = "2.0.9", t0 = 500, lt = "user-agent", oe = "", ut = "?", T = {
|
|
104
104
|
FUNCTION: "function",
|
|
105
105
|
OBJECT: "object",
|
|
106
106
|
STRING: "string",
|
|
107
107
|
UNDEFINED: "undefined"
|
|
108
|
-
}, P = "browser", z = "cpu", Y = "device", F = "engine", N = "os", se = "result",
|
|
108
|
+
}, P = "browser", z = "cpu", Y = "device", F = "engine", N = "os", se = "result", d = "name", s = "type", u = "vendor", l = "version", M = "architecture", he = "major", c = "model", ke = "console", I = "mobile", k = "tablet", C = "smarttv", V = "wearable", me = "xr", be = "embedded", i0 = "fetcher", ie = "inapp", xt = "brands", ee = "formFactors", at = "fullVersionList", ce = "platform", nt = "platformVersion", Fe = "bitness", Z = "sec-ch-ua", x0 = Z + "-full-version-list", a0 = Z + "-arch", n0 = Z + "-" + Fe, r0 = Z + "-form-factors", o0 = Z + "-" + I, s0 = Z + "-" + c, Lt = Z + "-" + ce, c0 = Lt + "-version", Bt = [xt, at, I, c, ce, nt, M, ee, Fe], ye = "Amazon", xe = "Apple", ft = "ASUS", pt = "BlackBerry", $ = "Google", bt = "Huawei", Ye = "Lenovo", ht = "Honor", ve = "LG", Ke = "Microsoft", ze = "Motorola", gt = "Nvidia", wt = "OnePlus", We = "OPPO", le = "Samsung", mt = "Sharp", ue = "Sony", je = "Xiaomi", qe = "Zebra", yt = "Chrome", vt = "Chromium", q = "Chromecast", _e = "Edge", fe = "Firefox", ae = "Opera", Je = "Facebook", St = "Sogou", ne = "Mobile ", re = " Browser", $e = "Windows", d0 = typeof window !== T.UNDEFINED, O = d0 && window.navigator ? window.navigator : void 0, te = O && O.userAgentData ? O.userAgentData : void 0, l0 = function(x, t) {
|
|
109
109
|
var e = {}, i = t;
|
|
110
|
-
if (!
|
|
110
|
+
if (!De(t)) {
|
|
111
111
|
i = {};
|
|
112
112
|
for (var a in t)
|
|
113
113
|
for (var r in t[a])
|
|
@@ -120,65 +120,65 @@ var et = "2.0.9", tt = 500, d0 = "user-agent", oe = "", u0 = "?", E = {
|
|
|
120
120
|
for (var t = {}, e = 0; e < x.length; e++)
|
|
121
121
|
t[x[e].toUpperCase()] = x[e];
|
|
122
122
|
return t;
|
|
123
|
-
},
|
|
124
|
-
if (typeof x ===
|
|
123
|
+
}, et = function(x, t) {
|
|
124
|
+
if (typeof x === T.OBJECT && x.length > 0) {
|
|
125
125
|
for (var e in x)
|
|
126
|
-
if (
|
|
126
|
+
if (J(t) == J(x[e])) return !0;
|
|
127
127
|
return !1;
|
|
128
128
|
}
|
|
129
|
-
return
|
|
130
|
-
},
|
|
129
|
+
return ge(x) ? J(t) == J(x) : !1;
|
|
130
|
+
}, De = function(x, t) {
|
|
131
131
|
for (var e in x)
|
|
132
|
-
return /^(browser|cpu|device|engine|os)$/.test(e) || (t ?
|
|
133
|
-
},
|
|
134
|
-
return typeof x ===
|
|
135
|
-
},
|
|
132
|
+
return /^(browser|cpu|device|engine|os)$/.test(e) || (t ? De(x[e]) : !1);
|
|
133
|
+
}, ge = function(x) {
|
|
134
|
+
return typeof x === T.STRING;
|
|
135
|
+
}, Xe = function(x) {
|
|
136
136
|
if (x) {
|
|
137
|
-
for (var t = [], e =
|
|
137
|
+
for (var t = [], e = de(/\\?\"/g, x).split(","), i = 0; i < e.length; i++)
|
|
138
138
|
if (e[i].indexOf(";") > -1) {
|
|
139
|
-
var a =
|
|
139
|
+
var a = Me(e[i]).split(";v=");
|
|
140
140
|
t[i] = { brand: a[0], version: a[1] };
|
|
141
141
|
} else
|
|
142
|
-
t[i] =
|
|
142
|
+
t[i] = Me(e[i]);
|
|
143
143
|
return t;
|
|
144
144
|
}
|
|
145
|
-
},
|
|
146
|
-
return
|
|
147
|
-
},
|
|
148
|
-
return
|
|
149
|
-
},
|
|
145
|
+
}, J = function(x) {
|
|
146
|
+
return ge(x) ? x.toLowerCase() : x;
|
|
147
|
+
}, tt = function(x) {
|
|
148
|
+
return ge(x) ? de(/[^\d\.]/g, x).split(".")[0] : void 0;
|
|
149
|
+
}, K = function(x) {
|
|
150
150
|
for (var t in x)
|
|
151
151
|
if (x.hasOwnProperty(t)) {
|
|
152
152
|
var e = x[t];
|
|
153
|
-
typeof e ==
|
|
153
|
+
typeof e == T.OBJECT && e.length == 2 ? this[e[0]] = e[1] : this[e] = void 0;
|
|
154
154
|
}
|
|
155
155
|
return this;
|
|
156
|
-
},
|
|
157
|
-
return
|
|
158
|
-
},
|
|
159
|
-
return
|
|
160
|
-
},
|
|
161
|
-
return x =
|
|
162
|
-
},
|
|
156
|
+
}, de = function(x, t) {
|
|
157
|
+
return ge(t) ? t.replace(x, oe) : t;
|
|
158
|
+
}, pe = function(x) {
|
|
159
|
+
return de(/\\?\"/g, x);
|
|
160
|
+
}, Me = function(x, t) {
|
|
161
|
+
return x = de(/^\s\s*/, String(x)), typeof t === T.UNDEFINED ? x : x.substring(0, t);
|
|
162
|
+
}, it = function(x, t) {
|
|
163
163
|
if (!(!x || !t))
|
|
164
|
-
for (var e = 0, i, a, r, o,
|
|
164
|
+
for (var e = 0, i, a, r, o, f, p; e < t.length && !f; ) {
|
|
165
165
|
var y = t[e], S = t[e + 1];
|
|
166
|
-
for (i = a = 0; i < y.length && !
|
|
167
|
-
if (
|
|
166
|
+
for (i = a = 0; i < y.length && !f && y[i]; )
|
|
167
|
+
if (f = y[i++].exec(x), f)
|
|
168
168
|
for (r = 0; r < S.length; r++)
|
|
169
|
-
p =
|
|
169
|
+
p = f[++a], o = S[r], typeof o === T.OBJECT && o.length > 0 ? o.length === 2 ? typeof o[1] == T.FUNCTION ? this[o[0]] = o[1].call(this, p) : this[o[0]] = o[1] : o.length >= 3 && (typeof o[1] === T.FUNCTION && !(o[1].exec && o[1].test) ? o.length > 3 ? this[o[0]] = p ? o[1].apply(this, o.slice(2)) : void 0 : this[o[0]] = p ? o[1].call(this, p, o[2]) : void 0 : o.length == 3 ? this[o[0]] = p ? p.replace(o[1], o[2]) : void 0 : o.length == 4 ? this[o[0]] = p ? o[3].call(this, p.replace(o[1], o[2])) : void 0 : o.length > 4 && (this[o[0]] = p ? o[3].apply(this, [p.replace(o[1], o[2])].concat(o.slice(4))) : void 0)) : this[o] = p || void 0;
|
|
170
170
|
e += 2;
|
|
171
171
|
}
|
|
172
|
-
},
|
|
172
|
+
}, B = function(x, t) {
|
|
173
173
|
for (var e in t)
|
|
174
|
-
if (typeof t[e] ===
|
|
174
|
+
if (typeof t[e] === T.OBJECT && t[e].length > 0) {
|
|
175
175
|
for (var i = 0; i < t[e].length; i++)
|
|
176
|
-
if (
|
|
177
|
-
return e ===
|
|
178
|
-
} else if (
|
|
179
|
-
return e ===
|
|
176
|
+
if (et(t[e][i], x))
|
|
177
|
+
return e === ut ? void 0 : e;
|
|
178
|
+
} else if (et(t[e], x))
|
|
179
|
+
return e === ut ? void 0 : e;
|
|
180
180
|
return t.hasOwnProperty("*") ? t["*"] : x;
|
|
181
|
-
},
|
|
181
|
+
}, It = {
|
|
182
182
|
ME: "4.90",
|
|
183
183
|
"NT 3.51": "3.51",
|
|
184
184
|
"NT 4.0": "4.0",
|
|
@@ -190,7 +190,7 @@ var et = "2.0.9", tt = 500, d0 = "user-agent", oe = "", u0 = "?", E = {
|
|
|
190
190
|
"8.1": "6.3",
|
|
191
191
|
10: ["6.4", "10.0"],
|
|
192
192
|
NT: ""
|
|
193
|
-
},
|
|
193
|
+
}, kt = {
|
|
194
194
|
embedded: "Automotive",
|
|
195
195
|
mobile: "Mobile",
|
|
196
196
|
tablet: ["Tablet", "EInk"],
|
|
@@ -199,7 +199,7 @@ var et = "2.0.9", tt = 500, d0 = "user-agent", oe = "", u0 = "?", E = {
|
|
|
199
199
|
xr: ["VR", "XR"],
|
|
200
200
|
"?": ["Desktop", "Unknown"],
|
|
201
201
|
"*": void 0
|
|
202
|
-
},
|
|
202
|
+
}, u0 = {
|
|
203
203
|
Chrome: "Google Chrome",
|
|
204
204
|
Edge: "Microsoft Edge",
|
|
205
205
|
"Edge WebView2": "Microsoft Edge WebView2",
|
|
@@ -209,23 +209,23 @@ var et = "2.0.9", tt = 500, d0 = "user-agent", oe = "", u0 = "?", E = {
|
|
|
209
209
|
"MIUI Browser": "Miui Browser",
|
|
210
210
|
"Opera Mobi": "OperaMobile",
|
|
211
211
|
Yandex: "YaBrowser"
|
|
212
|
-
},
|
|
212
|
+
}, _t = {
|
|
213
213
|
browser: [
|
|
214
214
|
[
|
|
215
215
|
// Most common regardless engine
|
|
216
216
|
/\b(?:crmo|crios)\/([\w\.]+)/i
|
|
217
217
|
// Chrome for Android/iOS
|
|
218
218
|
],
|
|
219
|
-
[
|
|
219
|
+
[l, [d, ne + "Chrome"]],
|
|
220
220
|
[
|
|
221
221
|
/webview.+edge\/([\w\.]+)/i
|
|
222
222
|
// Microsoft Edge
|
|
223
223
|
],
|
|
224
|
-
[
|
|
224
|
+
[l, [d, _e + " WebView"]],
|
|
225
225
|
[
|
|
226
226
|
/edg(?:e|ios|a)?\/([\w\.]+)/i
|
|
227
227
|
],
|
|
228
|
-
[
|
|
228
|
+
[l, [d, "Edge"]],
|
|
229
229
|
[
|
|
230
230
|
// Presto based
|
|
231
231
|
/(opera mini)\/([-\w\.]+)/i,
|
|
@@ -235,33 +235,33 @@ var et = "2.0.9", tt = 500, d0 = "user-agent", oe = "", u0 = "?", E = {
|
|
|
235
235
|
/(opera)(?:.+version\/|[\/ ]+)([\w\.]+)/i
|
|
236
236
|
// Opera
|
|
237
237
|
],
|
|
238
|
-
[
|
|
238
|
+
[d, l],
|
|
239
239
|
[
|
|
240
240
|
/opios[\/ ]+([\w\.]+)/i
|
|
241
241
|
// Opera mini on iphone >= 8.0
|
|
242
242
|
],
|
|
243
|
-
[
|
|
243
|
+
[l, [d, ae + " Mini"]],
|
|
244
244
|
[
|
|
245
245
|
/\bop(?:rg)?x\/([\w\.]+)/i
|
|
246
246
|
// Opera GX
|
|
247
247
|
],
|
|
248
|
-
[
|
|
248
|
+
[l, [d, ae + " GX"]],
|
|
249
249
|
[
|
|
250
250
|
/\bopr\/([\w\.]+)/i
|
|
251
251
|
// Opera Webkit
|
|
252
252
|
],
|
|
253
|
-
[
|
|
253
|
+
[l, [d, ae]],
|
|
254
254
|
[
|
|
255
255
|
// Mixed
|
|
256
256
|
/\bb[ai]*d(?:uhd|[ub]*[aekoprswx]{5,6})[\/ ]?([\w\.]+)/i
|
|
257
257
|
// Baidu
|
|
258
258
|
],
|
|
259
|
-
[
|
|
259
|
+
[l, [d, "Baidu"]],
|
|
260
260
|
[
|
|
261
261
|
/\b(?:mxbrowser|mxios|myie2)\/?([-\w\.]*)\b/i
|
|
262
262
|
// Maxthon
|
|
263
263
|
],
|
|
264
|
-
[
|
|
264
|
+
[l, [d, "Maxthon"]],
|
|
265
265
|
[
|
|
266
266
|
/(kindle)\/([\w\.]+)/i,
|
|
267
267
|
// Kindle
|
|
@@ -284,22 +284,22 @@ var et = "2.0.9", tt = 500, d0 = "user-agent", oe = "", u0 = "?", E = {
|
|
|
284
284
|
/(ecosia|weibo)(?:__| \w+@)([\d\.]+)/i
|
|
285
285
|
// Ecosia/Weibo
|
|
286
286
|
],
|
|
287
|
-
[
|
|
287
|
+
[d, l],
|
|
288
288
|
[
|
|
289
289
|
/quark(?:pc)?\/([-\w\.]+)/i
|
|
290
290
|
// Quark
|
|
291
291
|
],
|
|
292
|
-
[
|
|
292
|
+
[l, [d, "Quark"]],
|
|
293
293
|
[
|
|
294
294
|
/\bddg\/([\w\.]+)/i
|
|
295
295
|
// DuckDuckGo
|
|
296
296
|
],
|
|
297
|
-
[
|
|
297
|
+
[l, [d, "DuckDuckGo"]],
|
|
298
298
|
[
|
|
299
299
|
/(?:\buc? ?browser|(?:juc.+)ucweb)[\/ ]?([\w\.]+)/i
|
|
300
300
|
// UCBrowser
|
|
301
301
|
],
|
|
302
|
-
[
|
|
302
|
+
[l, [d, "UCBrowser"]],
|
|
303
303
|
[
|
|
304
304
|
/microm.+\bqbcore\/([\w\.]+)/i,
|
|
305
305
|
// WeChat Desktop for Windows Built-in Browser
|
|
@@ -307,107 +307,107 @@ var et = "2.0.9", tt = 500, d0 = "user-agent", oe = "", u0 = "?", E = {
|
|
|
307
307
|
/micromessenger\/([\w\.]+)/i
|
|
308
308
|
// WeChat
|
|
309
309
|
],
|
|
310
|
-
[
|
|
310
|
+
[l, [d, "WeChat"]],
|
|
311
311
|
[
|
|
312
312
|
/konqueror\/([\w\.]+)/i
|
|
313
313
|
// Konqueror
|
|
314
314
|
],
|
|
315
|
-
[
|
|
315
|
+
[l, [d, "Konqueror"]],
|
|
316
316
|
[
|
|
317
317
|
/trident.+rv[: ]([\w\.]{1,9})\b.+like gecko/i
|
|
318
318
|
// IE11
|
|
319
319
|
],
|
|
320
|
-
[
|
|
320
|
+
[l, [d, "IE"]],
|
|
321
321
|
[
|
|
322
322
|
/ya(?:search)?browser\/([\w\.]+)/i
|
|
323
323
|
// Yandex
|
|
324
324
|
],
|
|
325
|
-
[
|
|
325
|
+
[l, [d, "Yandex"]],
|
|
326
326
|
[
|
|
327
327
|
/slbrowser\/([\w\.]+)/i
|
|
328
328
|
// Smart Lenovo Browser
|
|
329
329
|
],
|
|
330
|
-
[
|
|
330
|
+
[l, [d, "Smart " + Ye + re]],
|
|
331
331
|
[
|
|
332
332
|
/(av(?:ast|g|ira))\/([\w\.]+)/i
|
|
333
333
|
// Avast/AVG/Avira Secure Browser
|
|
334
334
|
],
|
|
335
|
-
[[
|
|
335
|
+
[[d, /(.+)/, "$1 Secure" + re], l],
|
|
336
336
|
[
|
|
337
337
|
/norton\/([\w\.]+)/i
|
|
338
338
|
// Norton Private Browser
|
|
339
339
|
],
|
|
340
|
-
[
|
|
340
|
+
[l, [d, "Norton Private" + re]],
|
|
341
341
|
[
|
|
342
342
|
/\bfocus\/([\w\.]+)/i
|
|
343
343
|
// Firefox Focus
|
|
344
344
|
],
|
|
345
|
-
[
|
|
345
|
+
[l, [d, fe + " Focus"]],
|
|
346
346
|
[
|
|
347
347
|
/ mms\/([\w\.]+)$/i
|
|
348
348
|
// Opera Neon
|
|
349
349
|
],
|
|
350
|
-
[
|
|
350
|
+
[l, [d, ae + " Neon"]],
|
|
351
351
|
[
|
|
352
352
|
/ opt\/([\w\.]+)$/i
|
|
353
353
|
// Opera Touch
|
|
354
354
|
],
|
|
355
|
-
[
|
|
355
|
+
[l, [d, ae + " Touch"]],
|
|
356
356
|
[
|
|
357
357
|
/coc_coc\w+\/([\w\.]+)/i
|
|
358
358
|
// Coc Coc Browser
|
|
359
359
|
],
|
|
360
|
-
[
|
|
360
|
+
[l, [d, "Coc Coc"]],
|
|
361
361
|
[
|
|
362
362
|
/dolfin\/([\w\.]+)/i
|
|
363
363
|
// Dolphin
|
|
364
364
|
],
|
|
365
|
-
[
|
|
365
|
+
[l, [d, "Dolphin"]],
|
|
366
366
|
[
|
|
367
367
|
/coast\/([\w\.]+)/i
|
|
368
368
|
// Opera Coast
|
|
369
369
|
],
|
|
370
|
-
[
|
|
370
|
+
[l, [d, ae + " Coast"]],
|
|
371
371
|
[
|
|
372
372
|
/miuibrowser\/([\w\.]+)/i
|
|
373
373
|
// MIUI Browser
|
|
374
374
|
],
|
|
375
|
-
[
|
|
375
|
+
[l, [d, "MIUI" + re]],
|
|
376
376
|
[
|
|
377
377
|
/fxios\/([\w\.-]+)/i
|
|
378
378
|
// Firefox for iOS
|
|
379
379
|
],
|
|
380
|
-
[
|
|
380
|
+
[l, [d, ne + fe]],
|
|
381
381
|
[
|
|
382
382
|
/\bqihoobrowser\/?([\w\.]*)/i
|
|
383
383
|
// 360
|
|
384
384
|
],
|
|
385
|
-
[
|
|
385
|
+
[l, [d, "360"]],
|
|
386
386
|
[
|
|
387
387
|
/\b(qq)\/([\w\.]+)/i
|
|
388
388
|
// QQ
|
|
389
389
|
],
|
|
390
|
-
[[
|
|
390
|
+
[[d, /(.+)/, "$1Browser"], l],
|
|
391
391
|
[
|
|
392
392
|
/(oculus|sailfish|huawei|vivo|pico)browser\/([\w\.]+)/i
|
|
393
393
|
],
|
|
394
|
-
[[
|
|
394
|
+
[[d, /(.+)/, "$1" + re], l],
|
|
395
395
|
[
|
|
396
396
|
// Oculus/Sailfish/HuaweiBrowser/VivoBrowser/PicoBrowser
|
|
397
397
|
/samsungbrowser\/([\w\.]+)/i
|
|
398
398
|
// Samsung Internet
|
|
399
399
|
],
|
|
400
|
-
[
|
|
400
|
+
[l, [d, le + " Internet"]],
|
|
401
401
|
[
|
|
402
402
|
/metasr[\/ ]?([\d\.]+)/i
|
|
403
403
|
// Sogou Explorer
|
|
404
404
|
],
|
|
405
|
-
[
|
|
405
|
+
[l, [d, St + " Explorer"]],
|
|
406
406
|
[
|
|
407
407
|
/(sogou)mo\w+\/([\d\.]+)/i
|
|
408
408
|
// Sogou Mobile
|
|
409
409
|
],
|
|
410
|
-
[[
|
|
410
|
+
[[d, St + " Mobile"], l],
|
|
411
411
|
[
|
|
412
412
|
/(electron)\/([\w\.]+) safari/i,
|
|
413
413
|
// Electron-based App
|
|
@@ -416,23 +416,23 @@ var et = "2.0.9", tt = 500, d0 = "user-agent", oe = "", u0 = "?", E = {
|
|
|
416
416
|
/m?(qqbrowser|2345(?=browser|chrome|explorer))\w*[\/ ]?v?([\w\.]+)/i
|
|
417
417
|
// QQ/2345
|
|
418
418
|
],
|
|
419
|
-
[
|
|
419
|
+
[d, l],
|
|
420
420
|
[
|
|
421
421
|
/(lbbrowser|luakit|rekonq|steam(?= (clie|tenf|gameo)))/i
|
|
422
422
|
// LieBao Browser/Luakit/Rekonq/Steam
|
|
423
423
|
],
|
|
424
|
-
[
|
|
424
|
+
[d],
|
|
425
425
|
[
|
|
426
426
|
/ome\/([\w\.]+).+(iron(?= saf)|360(?=[es]e$))/i
|
|
427
427
|
// Iron / 360
|
|
428
428
|
],
|
|
429
|
-
[
|
|
429
|
+
[l, d],
|
|
430
430
|
[
|
|
431
431
|
// WebView
|
|
432
432
|
/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w\.]+);)/i
|
|
433
433
|
// Facebook App for iOS & Android
|
|
434
434
|
],
|
|
435
|
-
[[
|
|
435
|
+
[[d, Je], l, [s, ie]],
|
|
436
436
|
[
|
|
437
437
|
/(kakao(?:talk|story))[\/ ]([\w\.]+)/i,
|
|
438
438
|
// Kakao App
|
|
@@ -453,111 +453,111 @@ var et = "2.0.9", tt = 500, d0 = "user-agent", oe = "", u0 = "?", E = {
|
|
|
453
453
|
/(instagram|snapchat|klarna)[\/ ]([-\w\.]+)/i
|
|
454
454
|
// Instagram/Snapchat/Klarna
|
|
455
455
|
],
|
|
456
|
-
[
|
|
456
|
+
[d, l, [s, ie]],
|
|
457
457
|
[
|
|
458
458
|
/\bgsa\/([\w\.]+) .*safari\//i
|
|
459
459
|
// Google Search Appliance on iOS
|
|
460
460
|
],
|
|
461
|
-
[
|
|
461
|
+
[l, [d, "GSA"], [s, ie]],
|
|
462
462
|
[
|
|
463
463
|
/(?:musical_ly|trill)(?:.+app_?version\/|_)([\w\.]+)/i
|
|
464
464
|
// TikTok
|
|
465
465
|
],
|
|
466
|
-
[
|
|
466
|
+
[l, [d, "TikTok"], [s, ie]],
|
|
467
467
|
[
|
|
468
468
|
/\[(linkedin)app\]/i
|
|
469
469
|
// LinkedIn App for iOS & Android
|
|
470
470
|
],
|
|
471
|
-
[
|
|
471
|
+
[d, [s, ie]],
|
|
472
472
|
[
|
|
473
473
|
/(zalo(?:app)?)[\/\sa-z]*([\w\.-]+)/i
|
|
474
474
|
// Zalo
|
|
475
475
|
],
|
|
476
|
-
[[
|
|
476
|
+
[[d, /(.+)/, "Zalo"], l, [s, ie]],
|
|
477
477
|
[
|
|
478
478
|
/(chromium)[\/ ]([-\w\.]+)/i
|
|
479
479
|
// Chromium
|
|
480
480
|
],
|
|
481
|
-
[
|
|
481
|
+
[d, l],
|
|
482
482
|
[
|
|
483
483
|
/ome-(lighthouse)$/i
|
|
484
484
|
// Chrome Lighthouse
|
|
485
485
|
],
|
|
486
|
-
[
|
|
486
|
+
[d, [s, i0]],
|
|
487
487
|
[
|
|
488
488
|
/headlesschrome(?:\/([\w\.]+)| )/i
|
|
489
489
|
// Chrome Headless
|
|
490
490
|
],
|
|
491
|
-
[
|
|
491
|
+
[l, [d, yt + " Headless"]],
|
|
492
492
|
[
|
|
493
493
|
/wv\).+chrome\/([\w\.]+).+edgw\//i
|
|
494
494
|
// Edge WebView2
|
|
495
495
|
],
|
|
496
|
-
[
|
|
496
|
+
[l, [d, _e + " WebView2"]],
|
|
497
497
|
[
|
|
498
498
|
/ wv\).+(chrome)\/([\w\.]+)/i
|
|
499
499
|
// Chrome WebView
|
|
500
500
|
],
|
|
501
|
-
[[
|
|
501
|
+
[[d, yt + " WebView"], l],
|
|
502
502
|
[
|
|
503
503
|
/droid.+ version\/([\w\.]+)\b.+(?:mobile safari|safari)/i
|
|
504
504
|
// Android Browser
|
|
505
505
|
],
|
|
506
|
-
[
|
|
506
|
+
[l, [d, "Android" + re]],
|
|
507
507
|
[
|
|
508
508
|
/chrome\/([\w\.]+) mobile/i
|
|
509
509
|
// Chrome Mobile
|
|
510
510
|
],
|
|
511
|
-
[
|
|
511
|
+
[l, [d, ne + "Chrome"]],
|
|
512
512
|
[
|
|
513
513
|
/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w\.]+)/i
|
|
514
514
|
// Chrome/OmniWeb/Arora/Tizen/Nokia
|
|
515
515
|
],
|
|
516
|
-
[
|
|
516
|
+
[d, l],
|
|
517
517
|
[
|
|
518
518
|
/version\/([\w\.\,]+) .*mobile(?:\/\w+ | ?)safari/i
|
|
519
519
|
// Safari Mobile
|
|
520
520
|
],
|
|
521
|
-
[
|
|
521
|
+
[l, [d, ne + "Safari"]],
|
|
522
522
|
[
|
|
523
523
|
/iphone .*mobile(?:\/\w+ | ?)safari/i
|
|
524
524
|
],
|
|
525
|
-
[[
|
|
525
|
+
[[d, ne + "Safari"]],
|
|
526
526
|
[
|
|
527
527
|
/version\/([\w\.\,]+) .*(safari)/i
|
|
528
528
|
// Safari
|
|
529
529
|
],
|
|
530
|
-
[
|
|
530
|
+
[l, d],
|
|
531
531
|
[
|
|
532
532
|
/webkit.+?(mobile ?safari|safari)(\/[\w\.]+)/i
|
|
533
533
|
// Safari < 3.0
|
|
534
534
|
],
|
|
535
|
-
[
|
|
535
|
+
[d, [l, "1"]],
|
|
536
536
|
[
|
|
537
537
|
/(webkit|khtml)\/([\w\.]+)/i
|
|
538
538
|
],
|
|
539
|
-
[
|
|
539
|
+
[d, l],
|
|
540
540
|
[
|
|
541
541
|
// Gecko based
|
|
542
542
|
/(?:mobile|tablet);.*(firefox)\/([\w\.-]+)/i
|
|
543
543
|
// Firefox Mobile
|
|
544
544
|
],
|
|
545
|
-
[[
|
|
545
|
+
[[d, ne + fe], l],
|
|
546
546
|
[
|
|
547
547
|
/(navigator|netscape\d?)\/([-\w\.]+)/i
|
|
548
548
|
// Netscape
|
|
549
549
|
],
|
|
550
|
-
[[
|
|
550
|
+
[[d, "Netscape"], l],
|
|
551
551
|
[
|
|
552
552
|
/(wolvic|librewolf)\/([\w\.]+)/i
|
|
553
553
|
// Wolvic/LibreWolf
|
|
554
554
|
],
|
|
555
|
-
[
|
|
555
|
+
[d, l],
|
|
556
556
|
[
|
|
557
557
|
/mobile vr; rv:([\w\.]+)\).+firefox/i
|
|
558
558
|
// Firefox Reality
|
|
559
559
|
],
|
|
560
|
-
[
|
|
560
|
+
[l, [d, fe + " Reality"]],
|
|
561
561
|
[
|
|
562
562
|
/ekiohf.+(flow)\/([\w\.]+)/i,
|
|
563
563
|
// Flow
|
|
@@ -577,46 +577,46 @@ var et = "2.0.9", tt = 500, d0 = "user-agent", oe = "", u0 = "?", E = {
|
|
|
577
577
|
/\b(links) \(([\w\.]+)/i
|
|
578
578
|
// Links
|
|
579
579
|
],
|
|
580
|
-
[
|
|
580
|
+
[d, [l, /_/g, "."]],
|
|
581
581
|
[
|
|
582
582
|
/(cobalt)\/([\w\.]+)/i
|
|
583
583
|
// Cobalt
|
|
584
584
|
],
|
|
585
|
-
[
|
|
585
|
+
[d, [l, /[^\d\.]+./, oe]]
|
|
586
586
|
],
|
|
587
587
|
cpu: [
|
|
588
588
|
[
|
|
589
589
|
/\b((amd|x|x86[-_]?|wow|win)64)\b/i
|
|
590
590
|
// AMD64 (x64)
|
|
591
591
|
],
|
|
592
|
-
[[
|
|
592
|
+
[[M, "amd64"]],
|
|
593
593
|
[
|
|
594
594
|
/(ia32(?=;))/i,
|
|
595
595
|
// IA32 (quicktime)
|
|
596
596
|
/\b((i[346]|x)86)(pc)?\b/i
|
|
597
597
|
// IA32 (x86)
|
|
598
598
|
],
|
|
599
|
-
[[
|
|
599
|
+
[[M, "ia32"]],
|
|
600
600
|
[
|
|
601
601
|
/\b(aarch64|arm(v?[89]e?l?|_?64))\b/i
|
|
602
602
|
// ARM64
|
|
603
603
|
],
|
|
604
|
-
[[
|
|
604
|
+
[[M, "arm64"]],
|
|
605
605
|
[
|
|
606
606
|
/\b(arm(v[67])?ht?n?[fl]p?)\b/i
|
|
607
607
|
// ARMHF
|
|
608
608
|
],
|
|
609
|
-
[[
|
|
609
|
+
[[M, "armhf"]],
|
|
610
610
|
[
|
|
611
611
|
// PocketPC mistakenly identified as PowerPC
|
|
612
612
|
/( (ce|mobile); ppc;|\/[\w\.]+arm\b)/i
|
|
613
613
|
],
|
|
614
|
-
[[
|
|
614
|
+
[[M, "arm"]],
|
|
615
615
|
[
|
|
616
616
|
/ sun4\w[;\)]/i
|
|
617
617
|
// SPARC
|
|
618
618
|
],
|
|
619
|
-
[[
|
|
619
|
+
[[M, "sparc"]],
|
|
620
620
|
[
|
|
621
621
|
// IA64, 68K, ARM/64, AVR/32, IRIX/64, MIPS/64, SPARC/64, PA-RISC
|
|
622
622
|
/\b(avr32|ia64(?=;)|68k(?=\))|\barm(?=v([1-7]|[5-7]1)l?|;|eabi)|(irix|mips|sparc)(64)?\b|pa-risc)/i,
|
|
@@ -625,15 +625,15 @@ var et = "2.0.9", tt = 500, d0 = "user-agent", oe = "", u0 = "?", E = {
|
|
|
625
625
|
/(?:osf1|[freopnt]{3,4}bsd) (alpha)/i
|
|
626
626
|
// Alpha
|
|
627
627
|
],
|
|
628
|
-
[[
|
|
628
|
+
[[M, /ower/, oe, J]],
|
|
629
629
|
[
|
|
630
630
|
/mc680.0/i
|
|
631
631
|
],
|
|
632
|
-
[[
|
|
632
|
+
[[M, "68k"]],
|
|
633
633
|
[
|
|
634
634
|
/winnt.+\[axp/i
|
|
635
635
|
],
|
|
636
|
-
[[
|
|
636
|
+
[[M, "alpha"]]
|
|
637
637
|
],
|
|
638
638
|
device: [
|
|
639
639
|
[
|
|
@@ -643,13 +643,13 @@ var et = "2.0.9", tt = 500, d0 = "user-agent", oe = "", u0 = "?", E = {
|
|
|
643
643
|
// Samsung
|
|
644
644
|
/\b(sch-i[89]0\d|shw-m380s|sm-[ptx]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i
|
|
645
645
|
],
|
|
646
|
-
[c, [u,
|
|
646
|
+
[c, [u, le], [s, k]],
|
|
647
647
|
[
|
|
648
648
|
/\b((?:s[cgp]h|gt|sm)-(?![lr])\w+|sc[g-]?[\d]+a?|galaxy nexus)/i,
|
|
649
649
|
/samsung[- ]((?!sm-[lr]|browser)[-\w]+)/i,
|
|
650
650
|
/sec-(sgh\w+)/i
|
|
651
651
|
],
|
|
652
|
-
[c, [u,
|
|
652
|
+
[c, [u, le], [s, I]],
|
|
653
653
|
[
|
|
654
654
|
// Apple
|
|
655
655
|
/(?:\/|\()(ip(?:hone|od)[\w, ]*)[\/\);]/i
|
|
@@ -670,33 +670,33 @@ var et = "2.0.9", tt = 500, d0 = "user-agent", oe = "", u0 = "?", E = {
|
|
|
670
670
|
// Sharp
|
|
671
671
|
/\b(sh-?[altvz]?\d\d[a-ekm]?)/i
|
|
672
672
|
],
|
|
673
|
-
[c, [u,
|
|
673
|
+
[c, [u, mt], [s, I]],
|
|
674
674
|
[
|
|
675
675
|
// Honor
|
|
676
676
|
/\b((?:brt|eln|hey2?|gdi|jdn)-a?[lnw]09|(?:ag[rm]3?|jdn2|kob2)-a?[lw]0[09]hn)(?: bui|\)|;)/i
|
|
677
677
|
],
|
|
678
|
-
[c, [u,
|
|
678
|
+
[c, [u, ht], [s, k]],
|
|
679
679
|
[
|
|
680
680
|
/honor([-\w ]+)[;\)]/i
|
|
681
681
|
],
|
|
682
|
-
[c, [u,
|
|
682
|
+
[c, [u, ht], [s, I]],
|
|
683
683
|
[
|
|
684
684
|
// Huawei
|
|
685
685
|
/\b((?:ag[rs][2356]?k?|bah[234]?|bg[2o]|bt[kv]|cmr|cpn|db[ry]2?|jdn2|got|kob2?k?|mon|pce|scm|sht?|[tw]gr|vrd)-[ad]?[lw][0125][09]b?|605hw|bg2-u03|(?:gem|fdr|m2|ple|t1)-[7a]0[1-4][lu]|t1-a2[13][lw]|mediapad[\w\. ]*(?= bui|\)))\b(?!.+d\/s)/i
|
|
686
686
|
],
|
|
687
|
-
[c, [u,
|
|
687
|
+
[c, [u, bt], [s, k]],
|
|
688
688
|
[
|
|
689
689
|
/(?:huawei) ?([-\w ]+)[;\)]/i,
|
|
690
690
|
/\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][\dc][adnt]?)\b(?!.+d\/s)/i
|
|
691
691
|
],
|
|
692
|
-
[c, [u,
|
|
692
|
+
[c, [u, bt], [s, I]],
|
|
693
693
|
[
|
|
694
694
|
// Xiaomi
|
|
695
695
|
/oid[^\)]+; (2[\dbc]{4}(182|283|rp\w{2})[cgl]|m2105k81a?c)(?: bui|\))/i,
|
|
696
696
|
/\b(?:xiao)?((?:red)?mi[-_ ]?pad[\w- ]*)(?: bui|\))/i
|
|
697
697
|
// Mi Pad tablets
|
|
698
698
|
],
|
|
699
|
-
[[c, /_/g, " "], [u,
|
|
699
|
+
[[c, /_/g, " "], [u, je], [s, k]],
|
|
700
700
|
[
|
|
701
701
|
/\b; (\w+) build\/hm\1/i,
|
|
702
702
|
// Xiaomi Hongmi 'numeric' models
|
|
@@ -708,23 +708,23 @@ var et = "2.0.9", tt = 500, d0 = "user-agent", oe = "", u0 = "?", E = {
|
|
|
708
708
|
/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note|max|cc)?[_ ]?(?:\d{0,2}\w?)[_ ]?(?:plus|se|lite|pro)?( 5g|lte)?)(?: bui|\))/i,
|
|
709
709
|
/ ([\w ]+) miui\/v?\d/i
|
|
710
710
|
],
|
|
711
|
-
[[c, /_/g, " "], [u,
|
|
711
|
+
[[c, /_/g, " "], [u, je], [s, I]],
|
|
712
712
|
[
|
|
713
713
|
// OnePlus
|
|
714
714
|
/droid.+; (cph2[3-6]\d[13579]|((gm|hd)19|(ac|be|in|kb)20|(d[en]|eb|le|mt)21|ne22)[0-2]\d|p[g-l]\w[1m]10)\b/i,
|
|
715
715
|
/(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i
|
|
716
716
|
],
|
|
717
|
-
[c, [u,
|
|
717
|
+
[c, [u, wt], [s, I]],
|
|
718
718
|
[
|
|
719
719
|
// OPPO
|
|
720
720
|
/; (\w+) bui.+ oppo/i,
|
|
721
721
|
/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i
|
|
722
722
|
],
|
|
723
|
-
[c, [u,
|
|
723
|
+
[c, [u, We], [s, I]],
|
|
724
724
|
[
|
|
725
725
|
/\b(opd2(\d{3}a?))(?: bui|\))/i
|
|
726
726
|
],
|
|
727
|
-
[c, [u,
|
|
727
|
+
[c, [u, B, { OnePlus: ["203", "304", "403", "404", "413", "415"], "*": We }], [s, k]],
|
|
728
728
|
[
|
|
729
729
|
// BLU
|
|
730
730
|
/(vivo (5r?|6|8l?|go|one|s|x[il]?[2-4]?)[\w\+ ]*)(?: bui|\))/i
|
|
@@ -767,13 +767,13 @@ var et = "2.0.9", tt = 500, d0 = "user-agent", oe = "", u0 = "?", E = {
|
|
|
767
767
|
// LG
|
|
768
768
|
/\b(?:lg)?([vl]k\-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i
|
|
769
769
|
],
|
|
770
|
-
[c, [u,
|
|
770
|
+
[c, [u, ve], [s, k]],
|
|
771
771
|
[
|
|
772
772
|
/(lm(?:-?f100[nv]?|-[\w\.]+)(?= bui|\))|nexus [45])/i,
|
|
773
773
|
/\blg[-e;\/ ]+(?!.*(?:browser|netcast|android tv|watch|webos))(\w+)/i,
|
|
774
774
|
/\blg-?([\d\w]+) bui/i
|
|
775
775
|
],
|
|
776
|
-
[c, [u,
|
|
776
|
+
[c, [u, ve], [s, I]],
|
|
777
777
|
[
|
|
778
778
|
// Nokia
|
|
779
779
|
/(nokia) (t[12][01])/i
|
|
@@ -817,12 +817,12 @@ var et = "2.0.9", tt = 500, d0 = "user-agent", oe = "", u0 = "?", E = {
|
|
|
817
817
|
/(kf[a-z]+)( bui|\)).+silk\//i
|
|
818
818
|
// Kindle Fire HD
|
|
819
819
|
],
|
|
820
|
-
[c, [u,
|
|
820
|
+
[c, [u, ye], [s, k]],
|
|
821
821
|
[
|
|
822
822
|
/((?:sd|kf)[0349hijorstuw]+)( bui|\)).+silk\//i
|
|
823
823
|
// Fire Phone
|
|
824
824
|
],
|
|
825
|
-
[[c, /(.+)/g, "Fire Phone $1"], [u,
|
|
825
|
+
[[c, /(.+)/g, "Fire Phone $1"], [u, ye], [s, I]],
|
|
826
826
|
[
|
|
827
827
|
// BlackBerry
|
|
828
828
|
/(playbook);[-\w\),; ]+(rim)/i
|
|
@@ -833,16 +833,16 @@ var et = "2.0.9", tt = 500, d0 = "user-agent", oe = "", u0 = "?", E = {
|
|
|
833
833
|
/\b((?:bb[a-f]|st[hv])100-\d)/i,
|
|
834
834
|
/(?:blackberry|\(bb10;) (\w+)/i
|
|
835
835
|
],
|
|
836
|
-
[c, [u,
|
|
836
|
+
[c, [u, pt], [s, I]],
|
|
837
837
|
[
|
|
838
838
|
// Asus
|
|
839
839
|
/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i
|
|
840
840
|
],
|
|
841
|
-
[c, [u,
|
|
841
|
+
[c, [u, ft], [s, k]],
|
|
842
842
|
[
|
|
843
843
|
/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i
|
|
844
844
|
],
|
|
845
|
-
[c, [u,
|
|
845
|
+
[c, [u, ft], [s, I]],
|
|
846
846
|
[
|
|
847
847
|
// HTC
|
|
848
848
|
/(nexus 9)/i
|
|
@@ -872,7 +872,7 @@ var et = "2.0.9", tt = 500, d0 = "user-agent", oe = "", u0 = "?", E = {
|
|
|
872
872
|
// itel
|
|
873
873
|
/(itel) ((\w+))/i
|
|
874
874
|
],
|
|
875
|
-
[[u,
|
|
875
|
+
[[u, J], c, [s, B, { tablet: ["p10001l", "w7001"], "*": "mobile" }]],
|
|
876
876
|
[
|
|
877
877
|
// Acer
|
|
878
878
|
/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i
|
|
@@ -965,7 +965,7 @@ var et = "2.0.9", tt = 500, d0 = "user-agent", oe = "", u0 = "?", E = {
|
|
|
965
965
|
/(surface duo)/i
|
|
966
966
|
// Surface Duo
|
|
967
967
|
],
|
|
968
|
-
[c, [u,
|
|
968
|
+
[c, [u, Ke], [s, k]],
|
|
969
969
|
[
|
|
970
970
|
/droid [\d\.]+; (fp\du?)(?: b|\))/i
|
|
971
971
|
// Fairphone
|
|
@@ -975,7 +975,7 @@ var et = "2.0.9", tt = 500, d0 = "user-agent", oe = "", u0 = "?", E = {
|
|
|
975
975
|
/((?:tegranote|shield t(?!.+d tv))[\w- ]*?)(?: b|\))/i
|
|
976
976
|
// Nvidia Tablets
|
|
977
977
|
],
|
|
978
|
-
[c, [u,
|
|
978
|
+
[c, [u, gt], [s, k]],
|
|
979
979
|
[
|
|
980
980
|
/(sprint) (\w+)/i
|
|
981
981
|
// Sprint Phones
|
|
@@ -985,16 +985,16 @@ var et = "2.0.9", tt = 500, d0 = "user-agent", oe = "", u0 = "?", E = {
|
|
|
985
985
|
/(kin\.[onetw]{3})/i
|
|
986
986
|
// Microsoft Kin
|
|
987
987
|
],
|
|
988
|
-
[[c, /\./g, " "], [u,
|
|
988
|
+
[[c, /\./g, " "], [u, Ke], [s, I]],
|
|
989
989
|
[
|
|
990
990
|
/droid.+; ([c6]+|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i
|
|
991
991
|
// Zebra
|
|
992
992
|
],
|
|
993
|
-
[c, [u,
|
|
993
|
+
[c, [u, qe], [s, k]],
|
|
994
994
|
[
|
|
995
995
|
/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i
|
|
996
996
|
],
|
|
997
|
-
[c, [u,
|
|
997
|
+
[c, [u, qe], [s, I]],
|
|
998
998
|
[
|
|
999
999
|
///////////////////
|
|
1000
1000
|
// SMARTTVS
|
|
@@ -1008,7 +1008,7 @@ var et = "2.0.9", tt = 500, d0 = "user-agent", oe = "", u0 = "?", E = {
|
|
|
1008
1008
|
[
|
|
1009
1009
|
/hbbtv.+maple;(\d+)/i
|
|
1010
1010
|
],
|
|
1011
|
-
[[c, /^/, "SmartTV"], [u,
|
|
1011
|
+
[[c, /^/, "SmartTV"], [u, le], [s, C]],
|
|
1012
1012
|
[
|
|
1013
1013
|
/(vizio)(?: |.+model\/)(\w+-\w+)/i,
|
|
1014
1014
|
// Vizio
|
|
@@ -1019,7 +1019,7 @@ var et = "2.0.9", tt = 500, d0 = "user-agent", oe = "", u0 = "?", E = {
|
|
|
1019
1019
|
[
|
|
1020
1020
|
/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i
|
|
1021
1021
|
],
|
|
1022
|
-
[[u,
|
|
1022
|
+
[[u, ve], [s, C]],
|
|
1023
1023
|
[
|
|
1024
1024
|
/(apple) ?tv/i
|
|
1025
1025
|
// Apple TV
|
|
@@ -1029,7 +1029,7 @@ var et = "2.0.9", tt = 500, d0 = "user-agent", oe = "", u0 = "?", E = {
|
|
|
1029
1029
|
/crkey.*devicetype\/chromecast/i
|
|
1030
1030
|
// Google Chromecast Third Generation
|
|
1031
1031
|
],
|
|
1032
|
-
[[c,
|
|
1032
|
+
[[c, q + " Third Generation"], [u, $], [s, C]],
|
|
1033
1033
|
[
|
|
1034
1034
|
/crkey.*devicetype\/([^/]*)/i
|
|
1035
1035
|
// Google Chromecast with specific device type
|
|
@@ -1039,33 +1039,33 @@ var et = "2.0.9", tt = 500, d0 = "user-agent", oe = "", u0 = "?", E = {
|
|
|
1039
1039
|
/fuchsia.*crkey/i
|
|
1040
1040
|
// Google Chromecast Nest Hub
|
|
1041
1041
|
],
|
|
1042
|
-
[[c,
|
|
1042
|
+
[[c, q + " Nest Hub"], [u, $], [s, C]],
|
|
1043
1043
|
[
|
|
1044
1044
|
/crkey/i
|
|
1045
1045
|
// Google Chromecast, Linux-based or unknown
|
|
1046
1046
|
],
|
|
1047
|
-
[[c,
|
|
1047
|
+
[[c, q], [u, $], [s, C]],
|
|
1048
1048
|
[
|
|
1049
1049
|
/(portaltv)/i
|
|
1050
1050
|
// Facebook Portal TV
|
|
1051
1051
|
],
|
|
1052
|
-
[c, [u,
|
|
1052
|
+
[c, [u, Je], [s, C]],
|
|
1053
1053
|
[
|
|
1054
1054
|
/droid.+aft(\w+)( bui|\))/i
|
|
1055
1055
|
// Fire TV
|
|
1056
1056
|
],
|
|
1057
|
-
[c, [u,
|
|
1057
|
+
[c, [u, ye], [s, C]],
|
|
1058
1058
|
[
|
|
1059
1059
|
/(shield \w+ tv)/i
|
|
1060
1060
|
// Nvidia Shield TV
|
|
1061
1061
|
],
|
|
1062
|
-
[c, [u,
|
|
1062
|
+
[c, [u, gt], [s, C]],
|
|
1063
1063
|
[
|
|
1064
1064
|
/\(dtv[\);].+(aquos)/i,
|
|
1065
1065
|
/(aquos-tv[\w ]+)\)/i
|
|
1066
1066
|
// Sharp
|
|
1067
1067
|
],
|
|
1068
|
-
[c, [u,
|
|
1068
|
+
[c, [u, mt], [s, C]],
|
|
1069
1069
|
[
|
|
1070
1070
|
/(bravia[\w ]+)( bui|\))/i
|
|
1071
1071
|
// Sony
|
|
@@ -1075,7 +1075,7 @@ var et = "2.0.9", tt = 500, d0 = "user-agent", oe = "", u0 = "?", E = {
|
|
|
1075
1075
|
/(mi(tv|box)-?\w+) bui/i
|
|
1076
1076
|
// Xiaomi
|
|
1077
1077
|
],
|
|
1078
|
-
[c, [u,
|
|
1078
|
+
[c, [u, je], [s, C]],
|
|
1079
1079
|
[
|
|
1080
1080
|
/Hbbtv.*(technisat) (.*);/i
|
|
1081
1081
|
// TechniSAT
|
|
@@ -1087,7 +1087,7 @@ var et = "2.0.9", tt = 500, d0 = "user-agent", oe = "", u0 = "?", E = {
|
|
|
1087
1087
|
/hbbtv\/\d+\.\d+\.\d+ +\([\w\+ ]*; *([\w\d][^;]*);([^;]*)/i
|
|
1088
1088
|
// HbbTV devices
|
|
1089
1089
|
],
|
|
1090
|
-
[[u, /.+\/(\w+)/, "$1",
|
|
1090
|
+
[[u, /.+\/(\w+)/, "$1", B, { LG: "lge" }], [c, Me], [s, C]],
|
|
1091
1091
|
[
|
|
1092
1092
|
///////////////////
|
|
1093
1093
|
// CONSOLES
|
|
@@ -1095,12 +1095,12 @@ var et = "2.0.9", tt = 500, d0 = "user-agent", oe = "", u0 = "?", E = {
|
|
|
1095
1095
|
/(playstation \w+)/i
|
|
1096
1096
|
// Playstation
|
|
1097
1097
|
],
|
|
1098
|
-
[c, [u, ue], [s,
|
|
1098
|
+
[c, [u, ue], [s, ke]],
|
|
1099
1099
|
[
|
|
1100
1100
|
/\b(xbox(?: one)?(?!; xbox))[\); ]/i
|
|
1101
1101
|
// Microsoft Xbox
|
|
1102
1102
|
],
|
|
1103
|
-
[c, [u,
|
|
1103
|
+
[c, [u, Ke], [s, ke]],
|
|
1104
1104
|
[
|
|
1105
1105
|
/(ouya)/i,
|
|
1106
1106
|
// Ouya
|
|
@@ -1112,7 +1112,7 @@ var et = "2.0.9", tt = 500, d0 = "user-agent", oe = "", u0 = "?", E = {
|
|
|
1112
1112
|
/droid.+; ((shield|rgcube|gr0006))( bui|\))/i
|
|
1113
1113
|
// Nvidia Portable/Anbernic/Logitech
|
|
1114
1114
|
],
|
|
1115
|
-
[[u,
|
|
1115
|
+
[[u, B, { Nvidia: "Shield", Anbernic: "RGCUBE", Logitech: "GR0006" }], c, [s, ke]],
|
|
1116
1116
|
[
|
|
1117
1117
|
///////////////////
|
|
1118
1118
|
// WEARABLES
|
|
@@ -1120,7 +1120,7 @@ var et = "2.0.9", tt = 500, d0 = "user-agent", oe = "", u0 = "?", E = {
|
|
|
1120
1120
|
/\b(sm-[lr]\d\d[0156][fnuw]?s?|gear live)\b/i
|
|
1121
1121
|
// Samsung Galaxy Watch
|
|
1122
1122
|
],
|
|
1123
|
-
[c, [u,
|
|
1123
|
+
[c, [u, le], [s, V]],
|
|
1124
1124
|
[
|
|
1125
1125
|
/((pebble))app/i,
|
|
1126
1126
|
// Pebble
|
|
@@ -1132,7 +1132,7 @@ var et = "2.0.9", tt = 500, d0 = "user-agent", oe = "", u0 = "?", E = {
|
|
|
1132
1132
|
/(ow(?:19|20)?we?[1-3]{1,3})/i
|
|
1133
1133
|
// Oppo Watch
|
|
1134
1134
|
],
|
|
1135
|
-
[c, [u,
|
|
1135
|
+
[c, [u, We], [s, V]],
|
|
1136
1136
|
[
|
|
1137
1137
|
/(watch)(?: ?os[,\/]|\d,\d\/)[\d\.]+/i
|
|
1138
1138
|
// Apple Watch
|
|
@@ -1142,7 +1142,7 @@ var et = "2.0.9", tt = 500, d0 = "user-agent", oe = "", u0 = "?", E = {
|
|
|
1142
1142
|
/(opwwe\d{3})/i
|
|
1143
1143
|
// OnePlus Watch
|
|
1144
1144
|
],
|
|
1145
|
-
[c, [u,
|
|
1145
|
+
[c, [u, wt], [s, V]],
|
|
1146
1146
|
[
|
|
1147
1147
|
/(moto 360)/i
|
|
1148
1148
|
// Motorola 360
|
|
@@ -1157,11 +1157,11 @@ var et = "2.0.9", tt = 500, d0 = "user-agent", oe = "", u0 = "?", E = {
|
|
|
1157
1157
|
/(g watch r)/i
|
|
1158
1158
|
// LG G Watch R
|
|
1159
1159
|
],
|
|
1160
|
-
[c, [u,
|
|
1160
|
+
[c, [u, ve], [s, V]],
|
|
1161
1161
|
[
|
|
1162
1162
|
/droid.+; (wt63?0{2,3})\)/i
|
|
1163
1163
|
],
|
|
1164
|
-
[c, [u,
|
|
1164
|
+
[c, [u, qe], [s, V]],
|
|
1165
1165
|
[
|
|
1166
1166
|
///////////////////
|
|
1167
1167
|
// XR
|
|
@@ -1169,22 +1169,22 @@ var et = "2.0.9", tt = 500, d0 = "user-agent", oe = "", u0 = "?", E = {
|
|
|
1169
1169
|
/droid.+; (glass) \d/i
|
|
1170
1170
|
// Google Glass
|
|
1171
1171
|
],
|
|
1172
|
-
[c, [u, $], [s,
|
|
1172
|
+
[c, [u, $], [s, me]],
|
|
1173
1173
|
[
|
|
1174
1174
|
/(pico) ([\w ]+) os\d/i
|
|
1175
1175
|
// Pico
|
|
1176
1176
|
],
|
|
1177
|
-
[u, c, [s,
|
|
1177
|
+
[u, c, [s, me]],
|
|
1178
1178
|
[
|
|
1179
1179
|
/(quest( \d| pro)?s?).+vr/i
|
|
1180
1180
|
// Meta Quest
|
|
1181
1181
|
],
|
|
1182
|
-
[c, [u,
|
|
1182
|
+
[c, [u, Je], [s, me]],
|
|
1183
1183
|
[
|
|
1184
1184
|
/mobile vr; rv.+firefox/i
|
|
1185
1185
|
// Unidentifiable VR device using Firefox Reality / Wolvic
|
|
1186
1186
|
],
|
|
1187
|
-
[[s,
|
|
1187
|
+
[[s, me]],
|
|
1188
1188
|
[
|
|
1189
1189
|
///////////////////
|
|
1190
1190
|
// EMBEDDED
|
|
@@ -1192,22 +1192,22 @@ var et = "2.0.9", tt = 500, d0 = "user-agent", oe = "", u0 = "?", E = {
|
|
|
1192
1192
|
/(tesla)(?: qtcarbrowser|\/[-\w\.]+)/i
|
|
1193
1193
|
// Tesla
|
|
1194
1194
|
],
|
|
1195
|
-
[u, [s,
|
|
1195
|
+
[u, [s, be]],
|
|
1196
1196
|
[
|
|
1197
1197
|
/(aeobc)\b/i
|
|
1198
1198
|
// Echo Dot
|
|
1199
1199
|
],
|
|
1200
|
-
[c, [u,
|
|
1200
|
+
[c, [u, ye], [s, be]],
|
|
1201
1201
|
[
|
|
1202
1202
|
/(homepod).+mac os/i
|
|
1203
1203
|
// Apple HomePod
|
|
1204
1204
|
],
|
|
1205
|
-
[c, [u, xe], [s,
|
|
1205
|
+
[c, [u, xe], [s, be]],
|
|
1206
1206
|
[
|
|
1207
1207
|
/windows iot/i
|
|
1208
1208
|
// Unidentifiable embedded device using Windows IoT
|
|
1209
1209
|
],
|
|
1210
|
-
[[s,
|
|
1210
|
+
[[s, be]],
|
|
1211
1211
|
[
|
|
1212
1212
|
////////////////////
|
|
1213
1213
|
// MIXED (GENERIC)
|
|
@@ -1223,7 +1223,7 @@ var et = "2.0.9", tt = 500, d0 = "user-agent", oe = "", u0 = "?", E = {
|
|
|
1223
1223
|
[
|
|
1224
1224
|
/droid .+?; ([^;]+?)(?: bui|; wv\)|\) applew|; hmsc).+?(mobile|vr|\d) safari/i
|
|
1225
1225
|
],
|
|
1226
|
-
[c, [s,
|
|
1226
|
+
[c, [s, B, { mobile: "Mobile", xr: "VR", "*": k }]],
|
|
1227
1227
|
[
|
|
1228
1228
|
/\b((tablet|tab)[;\/]|focus\/\d(?!.+mobile))/i
|
|
1229
1229
|
// Unidentifiable Tablet
|
|
@@ -1245,17 +1245,17 @@ var et = "2.0.9", tt = 500, d0 = "user-agent", oe = "", u0 = "?", E = {
|
|
|
1245
1245
|
/windows.+ edge\/([\w\.]+)/i
|
|
1246
1246
|
// EdgeHTML
|
|
1247
1247
|
],
|
|
1248
|
-
[
|
|
1248
|
+
[l, [d, _e + "HTML"]],
|
|
1249
1249
|
[
|
|
1250
1250
|
/(arkweb)\/([\w\.]+)/i
|
|
1251
1251
|
// ArkWeb
|
|
1252
1252
|
],
|
|
1253
|
-
[
|
|
1253
|
+
[d, l],
|
|
1254
1254
|
[
|
|
1255
1255
|
/webkit\/537\.36.+chrome\/(?!27)([\w\.]+)/i
|
|
1256
1256
|
// Blink
|
|
1257
1257
|
],
|
|
1258
|
-
[
|
|
1258
|
+
[l, [d, "Blink"]],
|
|
1259
1259
|
[
|
|
1260
1260
|
/(presto)\/([\w\.]+)/i,
|
|
1261
1261
|
// Presto
|
|
@@ -1270,16 +1270,16 @@ var et = "2.0.9", tt = 500, d0 = "user-agent", oe = "", u0 = "?", E = {
|
|
|
1270
1270
|
/\b(libweb)/i
|
|
1271
1271
|
// LibWeb
|
|
1272
1272
|
],
|
|
1273
|
-
[
|
|
1273
|
+
[d, l],
|
|
1274
1274
|
[
|
|
1275
1275
|
/ladybird\//i
|
|
1276
1276
|
],
|
|
1277
|
-
[[
|
|
1277
|
+
[[d, "LibWeb"]],
|
|
1278
1278
|
[
|
|
1279
1279
|
/rv\:([\w\.]{1,9})\b.+(gecko)/i
|
|
1280
1280
|
// Gecko
|
|
1281
1281
|
],
|
|
1282
|
-
[
|
|
1282
|
+
[l, d]
|
|
1283
1283
|
],
|
|
1284
1284
|
os: [
|
|
1285
1285
|
[
|
|
@@ -1287,24 +1287,24 @@ var et = "2.0.9", tt = 500, d0 = "user-agent", oe = "", u0 = "?", E = {
|
|
|
1287
1287
|
/(windows nt) (6\.[23]); arm/i
|
|
1288
1288
|
// Windows RT
|
|
1289
1289
|
],
|
|
1290
|
-
[[
|
|
1290
|
+
[[d, /N/, "R"], [l, B, It]],
|
|
1291
1291
|
[
|
|
1292
1292
|
/(windows (?:phone|mobile|iot))(?: os)?[\/ ]?([\d\.]*( se)?)/i,
|
|
1293
1293
|
// Windows IoT/Mobile/Phone
|
|
1294
1294
|
// Windows NT/3.1/95/98/ME/2000/XP/Vista/7/8/8.1/10/11
|
|
1295
1295
|
/(windows)[\/ ](1[01]|2000|3\.1|7|8(\.1)?|9[58]|me|server 20\d\d( r2)?|vista|xp)/i
|
|
1296
1296
|
],
|
|
1297
|
-
[
|
|
1297
|
+
[d, l],
|
|
1298
1298
|
[
|
|
1299
1299
|
/windows nt ?([\d\.\)]*)(?!.+xbox)/i,
|
|
1300
1300
|
/\bwin(?=3| ?9|n)(?:nt| 9x )?([\d\.;]*)/i
|
|
1301
1301
|
],
|
|
1302
|
-
[[
|
|
1302
|
+
[[l, /(;|\))/g, "", B, It], [d, $e]],
|
|
1303
1303
|
[
|
|
1304
1304
|
/(windows ce)\/?([\d\.]*)/i
|
|
1305
1305
|
// Windows CE
|
|
1306
1306
|
],
|
|
1307
|
-
[
|
|
1307
|
+
[d, l],
|
|
1308
1308
|
[
|
|
1309
1309
|
// iOS/macOS
|
|
1310
1310
|
/[adehimnop]{4,7}\b(?:.*os ([\w]+) like mac|; opera)/i,
|
|
@@ -1313,100 +1313,100 @@ var et = "2.0.9", tt = 500, d0 = "user-agent", oe = "", u0 = "?", E = {
|
|
|
1313
1313
|
/\btvos ?([\w\.]+)/i,
|
|
1314
1314
|
/cfnetwork\/.+darwin/i
|
|
1315
1315
|
],
|
|
1316
|
-
[[
|
|
1316
|
+
[[l, /_/g, "."], [d, "iOS"]],
|
|
1317
1317
|
[
|
|
1318
1318
|
/(mac os x) ?([\w\. ]*)/i,
|
|
1319
1319
|
/(macintosh|mac_powerpc\b)(?!.+(haiku|morphos))/i
|
|
1320
1320
|
// Mac OS
|
|
1321
1321
|
],
|
|
1322
|
-
[[
|
|
1322
|
+
[[d, "macOS"], [l, /_/g, "."]],
|
|
1323
1323
|
[
|
|
1324
1324
|
// Google Chromecast
|
|
1325
1325
|
/android ([\d\.]+).*crkey/i
|
|
1326
1326
|
// Google Chromecast, Android-based
|
|
1327
1327
|
],
|
|
1328
|
-
[
|
|
1328
|
+
[l, [d, q + " Android"]],
|
|
1329
1329
|
[
|
|
1330
1330
|
/fuchsia.*crkey\/([\d\.]+)/i
|
|
1331
1331
|
// Google Chromecast, Fuchsia-based
|
|
1332
1332
|
],
|
|
1333
|
-
[
|
|
1333
|
+
[l, [d, q + " Fuchsia"]],
|
|
1334
1334
|
[
|
|
1335
1335
|
/crkey\/([\d\.]+).*devicetype\/smartspeaker/i
|
|
1336
1336
|
// Google Chromecast, Linux-based Smart Speaker
|
|
1337
1337
|
],
|
|
1338
|
-
[
|
|
1338
|
+
[l, [d, q + " SmartSpeaker"]],
|
|
1339
1339
|
[
|
|
1340
1340
|
/linux.*crkey\/([\d\.]+)/i
|
|
1341
1341
|
// Google Chromecast, Legacy Linux-based
|
|
1342
1342
|
],
|
|
1343
|
-
[
|
|
1343
|
+
[l, [d, q + " Linux"]],
|
|
1344
1344
|
[
|
|
1345
1345
|
/crkey\/([\d\.]+)/i
|
|
1346
1346
|
// Google Chromecast, unknown
|
|
1347
1347
|
],
|
|
1348
|
-
[
|
|
1348
|
+
[l, [d, q]],
|
|
1349
1349
|
[
|
|
1350
1350
|
// Mobile OSes
|
|
1351
1351
|
/droid ([\w\.]+)\b.+(android[- ]x86)/i
|
|
1352
1352
|
// Android-x86
|
|
1353
1353
|
],
|
|
1354
|
-
[
|
|
1354
|
+
[l, d],
|
|
1355
1355
|
[
|
|
1356
1356
|
/(ubuntu) ([\w\.]+) like android/i
|
|
1357
1357
|
// Ubuntu Touch
|
|
1358
1358
|
],
|
|
1359
|
-
[[
|
|
1359
|
+
[[d, /(.+)/, "$1 Touch"], l],
|
|
1360
1360
|
[
|
|
1361
1361
|
/(harmonyos)[\/ ]?([\d\.]*)/i,
|
|
1362
1362
|
// HarmonyOS
|
|
1363
1363
|
// Android/Blackberry/WebOS/QNX/Bada/RIM/KaiOS/Maemo/MeeGo/S40/Sailfish OS/OpenHarmony/Tizen
|
|
1364
1364
|
/(android|bada|blackberry|kaios|maemo|meego|openharmony|qnx|rim tablet os|sailfish|series40|symbian|tizen)\w*[-\/\.; ]?([\d\.]*)/i
|
|
1365
1365
|
],
|
|
1366
|
-
[
|
|
1366
|
+
[d, l],
|
|
1367
1367
|
[
|
|
1368
1368
|
/\(bb(10);/i
|
|
1369
1369
|
// BlackBerry 10
|
|
1370
1370
|
],
|
|
1371
|
-
[
|
|
1371
|
+
[l, [d, pt]],
|
|
1372
1372
|
[
|
|
1373
1373
|
/(?:symbian ?os|symbos|s60(?=;)|series ?60)[-\/ ]?([\w\.]*)/i
|
|
1374
1374
|
// Symbian
|
|
1375
1375
|
],
|
|
1376
|
-
[
|
|
1376
|
+
[l, [d, "Symbian"]],
|
|
1377
1377
|
[
|
|
1378
1378
|
/mozilla\/[\d\.]+ \((?:mobile[;\w ]*|tablet|tv|[^\)]*(?:viera|lg(?:l25|-d300)|alcatel ?o.+|y300-f1)); rv:([\w\.]+)\).+gecko\//i
|
|
1379
1379
|
// Firefox OS
|
|
1380
1380
|
],
|
|
1381
|
-
[
|
|
1381
|
+
[l, [d, fe + " OS"]],
|
|
1382
1382
|
[
|
|
1383
1383
|
/\b(?:hp)?wos(?:browser)?\/([\w\.]+)/i,
|
|
1384
1384
|
// WebOS
|
|
1385
1385
|
/webos(?:[ \/]?|\.tv-20(?=2[2-9]))(\d[\d\.]*)/i
|
|
1386
1386
|
],
|
|
1387
|
-
[
|
|
1387
|
+
[l, [d, "webOS"]],
|
|
1388
1388
|
[
|
|
1389
1389
|
/web0s;.+?(?:chr[o0]me|safari)\/(\d+)/i
|
|
1390
1390
|
// https://webostv.developer.lge.com/develop/specifications/web-api-and-web-engine
|
|
1391
1391
|
],
|
|
1392
|
-
[[
|
|
1392
|
+
[[l, B, { 25: "120", 24: "108", 23: "94", 22: "87", 6: "79", 5: "68", 4: "53", 3: "38", 2: "538", 1: "537", "*": "TV" }], [d, "webOS"]],
|
|
1393
1393
|
[
|
|
1394
1394
|
/watch(?: ?os[,\/ ]|\d,\d\/)([\d\.]+)/i
|
|
1395
1395
|
// watchOS
|
|
1396
1396
|
],
|
|
1397
|
-
[
|
|
1397
|
+
[l, [d, "watchOS"]],
|
|
1398
1398
|
[
|
|
1399
1399
|
// Google ChromeOS
|
|
1400
1400
|
/cros [\w]+(?:\)| ([\w\.]+)\b)/i
|
|
1401
1401
|
// Chromium OS
|
|
1402
1402
|
],
|
|
1403
|
-
[
|
|
1403
|
+
[l, [d, "Chrome OS"]],
|
|
1404
1404
|
[
|
|
1405
1405
|
// Smart TVs
|
|
1406
1406
|
/kepler ([\w\.]+); (aft|aeo)/i
|
|
1407
1407
|
// Vega OS
|
|
1408
1408
|
],
|
|
1409
|
-
[
|
|
1409
|
+
[l, [d, "Vega OS"]],
|
|
1410
1410
|
[
|
|
1411
1411
|
/(netrange)mmh/i,
|
|
1412
1412
|
// Netrange
|
|
@@ -1441,74 +1441,74 @@ var et = "2.0.9", tt = 500, d0 = "user-agent", oe = "", u0 = "?", E = {
|
|
|
1441
1441
|
/(haiku) ?(r\d)?/i
|
|
1442
1442
|
// Haiku
|
|
1443
1443
|
],
|
|
1444
|
-
[
|
|
1444
|
+
[d, l],
|
|
1445
1445
|
[
|
|
1446
1446
|
/(sunos) ?([\d\.]*)/i
|
|
1447
1447
|
// Solaris
|
|
1448
1448
|
],
|
|
1449
|
-
[[
|
|
1449
|
+
[[d, "Solaris"], l],
|
|
1450
1450
|
[
|
|
1451
1451
|
/\b(beos|os\/2|amigaos|openvms|hp-ux|serenityos)/i,
|
|
1452
1452
|
// BeOS/OS2/AmigaOS/OpenVMS/HP-UX/SerenityOS
|
|
1453
1453
|
/(unix) ?([\w\.]*)/i
|
|
1454
1454
|
// UNIX
|
|
1455
1455
|
],
|
|
1456
|
-
[
|
|
1456
|
+
[d, l]
|
|
1457
1457
|
]
|
|
1458
|
-
},
|
|
1458
|
+
}, Se = (function() {
|
|
1459
1459
|
var x = { init: {}, isIgnore: {}, isIgnoreRgx: {}, toString: {} };
|
|
1460
|
-
return
|
|
1461
|
-
[P, [
|
|
1462
|
-
[z, [
|
|
1460
|
+
return K.call(x.init, [
|
|
1461
|
+
[P, [d, l, he, s]],
|
|
1462
|
+
[z, [M]],
|
|
1463
1463
|
[Y, [s, c, u]],
|
|
1464
|
-
[F, [
|
|
1465
|
-
[N, [
|
|
1466
|
-
]),
|
|
1467
|
-
[P, [
|
|
1468
|
-
[F, [
|
|
1469
|
-
[N, [
|
|
1470
|
-
]),
|
|
1464
|
+
[F, [d, l]],
|
|
1465
|
+
[N, [d, l]]
|
|
1466
|
+
]), K.call(x.isIgnore, [
|
|
1467
|
+
[P, [l, he]],
|
|
1468
|
+
[F, [l]],
|
|
1469
|
+
[N, [l]]
|
|
1470
|
+
]), K.call(x.isIgnoreRgx, [
|
|
1471
1471
|
[P, / ?browser$/i],
|
|
1472
1472
|
[N, / ?os$/i]
|
|
1473
|
-
]),
|
|
1474
|
-
[P, [
|
|
1475
|
-
[z, [
|
|
1473
|
+
]), K.call(x.toString, [
|
|
1474
|
+
[P, [d, l]],
|
|
1475
|
+
[z, [M]],
|
|
1476
1476
|
[Y, [u, c]],
|
|
1477
|
-
[F, [
|
|
1478
|
-
[N, [
|
|
1477
|
+
[F, [d, l]],
|
|
1478
|
+
[N, [d, l]]
|
|
1479
1479
|
]), x;
|
|
1480
|
-
})(),
|
|
1481
|
-
var e =
|
|
1480
|
+
})(), f0 = function(x, t) {
|
|
1481
|
+
var e = Se.init[t], i = Se.isIgnore[t] || 0, a = Se.isIgnoreRgx[t] || 0, r = Se.toString[t] || 0;
|
|
1482
1482
|
function o() {
|
|
1483
|
-
|
|
1483
|
+
K.call(this, e);
|
|
1484
1484
|
}
|
|
1485
1485
|
return o.prototype.getItem = function() {
|
|
1486
1486
|
return x;
|
|
1487
1487
|
}, o.prototype.withClientHints = function() {
|
|
1488
|
-
return te ? te.getHighEntropyValues(
|
|
1489
|
-
return x.setCH(new
|
|
1488
|
+
return te ? te.getHighEntropyValues(Bt).then(function(f) {
|
|
1489
|
+
return x.setCH(new Ft(f, !1)).parseCH().get();
|
|
1490
1490
|
}) : x.parseCH().get();
|
|
1491
1491
|
}, o.prototype.withFeatureCheck = function() {
|
|
1492
1492
|
return x.detectFeature().get();
|
|
1493
|
-
}, t != se && (o.prototype.is = function(
|
|
1493
|
+
}, t != se && (o.prototype.is = function(f) {
|
|
1494
1494
|
var p = !1;
|
|
1495
1495
|
for (var y in this)
|
|
1496
|
-
if (this.hasOwnProperty(y) && !
|
|
1497
|
-
if (p = !0,
|
|
1498
|
-
} else if (
|
|
1496
|
+
if (this.hasOwnProperty(y) && !et(i, y) && J(a ? de(a, this[y]) : this[y]) == J(a ? de(a, f) : f)) {
|
|
1497
|
+
if (p = !0, f != T.UNDEFINED) break;
|
|
1498
|
+
} else if (f == T.UNDEFINED && p) {
|
|
1499
1499
|
p = !p;
|
|
1500
1500
|
break;
|
|
1501
1501
|
}
|
|
1502
1502
|
return p;
|
|
1503
1503
|
}, o.prototype.toString = function() {
|
|
1504
|
-
var
|
|
1504
|
+
var f = oe;
|
|
1505
1505
|
for (var p in r)
|
|
1506
|
-
typeof this[r[p]] !==
|
|
1507
|
-
return
|
|
1508
|
-
}), o.prototype.then = function(
|
|
1506
|
+
typeof this[r[p]] !== T.UNDEFINED && (f += (f ? " " : oe) + this[r[p]]);
|
|
1507
|
+
return f || T.UNDEFINED;
|
|
1508
|
+
}), o.prototype.then = function(f) {
|
|
1509
1509
|
var p = this, y = function() {
|
|
1510
|
-
for (var
|
|
1511
|
-
p.hasOwnProperty(
|
|
1510
|
+
for (var E in p)
|
|
1511
|
+
p.hasOwnProperty(E) && (this[E] = p[E]);
|
|
1512
1512
|
};
|
|
1513
1513
|
y.prototype = {
|
|
1514
1514
|
is: o.prototype.is,
|
|
@@ -1517,55 +1517,55 @@ var et = "2.0.9", tt = 500, d0 = "user-agent", oe = "", u0 = "?", E = {
|
|
|
1517
1517
|
withFeatureCheck: o.prototype.withFeatureCheck
|
|
1518
1518
|
};
|
|
1519
1519
|
var S = new y();
|
|
1520
|
-
return
|
|
1520
|
+
return f(S), S;
|
|
1521
1521
|
}, new o();
|
|
1522
1522
|
};
|
|
1523
|
-
function
|
|
1524
|
-
if (x = x || {},
|
|
1525
|
-
|
|
1526
|
-
[
|
|
1527
|
-
[
|
|
1528
|
-
[I, /\?1/.test(x[
|
|
1529
|
-
[c,
|
|
1530
|
-
[ce,
|
|
1531
|
-
[
|
|
1532
|
-
[
|
|
1533
|
-
[ee,
|
|
1534
|
-
[Fe,
|
|
1523
|
+
function Ft(x, t) {
|
|
1524
|
+
if (x = x || {}, K.call(this, Bt), t)
|
|
1525
|
+
K.call(this, [
|
|
1526
|
+
[xt, Xe(x[Z])],
|
|
1527
|
+
[at, Xe(x[x0])],
|
|
1528
|
+
[I, /\?1/.test(x[o0])],
|
|
1529
|
+
[c, pe(x[s0])],
|
|
1530
|
+
[ce, pe(x[Lt])],
|
|
1531
|
+
[nt, pe(x[c0])],
|
|
1532
|
+
[M, pe(x[a0])],
|
|
1533
|
+
[ee, Xe(x[r0])],
|
|
1534
|
+
[Fe, pe(x[n0])]
|
|
1535
1535
|
]);
|
|
1536
1536
|
else
|
|
1537
1537
|
for (var e in x)
|
|
1538
|
-
this.hasOwnProperty(e) && typeof x[e] !==
|
|
1538
|
+
this.hasOwnProperty(e) && typeof x[e] !== T.UNDEFINED && (this[e] = x[e]);
|
|
1539
1539
|
}
|
|
1540
|
-
function
|
|
1541
|
-
return
|
|
1540
|
+
function X(x, t, e, i) {
|
|
1541
|
+
return K.call(this, [
|
|
1542
1542
|
["itemType", x],
|
|
1543
1543
|
["ua", t],
|
|
1544
1544
|
["uaCH", i],
|
|
1545
1545
|
["rgxMap", e],
|
|
1546
|
-
["data",
|
|
1546
|
+
["data", f0(this, x)]
|
|
1547
1547
|
]), this;
|
|
1548
1548
|
}
|
|
1549
|
-
|
|
1549
|
+
X.prototype.get = function(x) {
|
|
1550
1550
|
return x ? this.data.hasOwnProperty(x) ? this.data[x] : void 0 : this.data;
|
|
1551
1551
|
};
|
|
1552
|
-
|
|
1552
|
+
X.prototype.set = function(x, t) {
|
|
1553
1553
|
return this.data[x] = t, this;
|
|
1554
1554
|
};
|
|
1555
|
-
|
|
1555
|
+
X.prototype.setCH = function(x) {
|
|
1556
1556
|
return this.uaCH = x, this;
|
|
1557
1557
|
};
|
|
1558
|
-
|
|
1558
|
+
X.prototype.detectFeature = function() {
|
|
1559
1559
|
if (O && O.userAgent == this.ua)
|
|
1560
1560
|
switch (this.itemType) {
|
|
1561
1561
|
case P:
|
|
1562
|
-
O.brave && typeof O.brave.isBrave ==
|
|
1562
|
+
O.brave && typeof O.brave.isBrave == T.FUNCTION && this.set(d, "Brave");
|
|
1563
1563
|
break;
|
|
1564
1564
|
case Y:
|
|
1565
|
-
!this.get(s) && te && te[I] && this.set(s, I), this.get(c) == "Macintosh" && O && typeof O.standalone !==
|
|
1565
|
+
!this.get(s) && te && te[I] && this.set(s, I), this.get(c) == "Macintosh" && O && typeof O.standalone !== T.UNDEFINED && O.maxTouchPoints && O.maxTouchPoints > 2 && this.set(c, "iPad").set(s, k);
|
|
1566
1566
|
break;
|
|
1567
1567
|
case N:
|
|
1568
|
-
!this.get(
|
|
1568
|
+
!this.get(d) && te && te[ce] && this.set(d, te[ce]);
|
|
1569
1569
|
break;
|
|
1570
1570
|
case se:
|
|
1571
1571
|
var x = this.data, t = function(e) {
|
|
@@ -1575,73 +1575,73 @@ Z.prototype.detectFeature = function() {
|
|
|
1575
1575
|
}
|
|
1576
1576
|
return this;
|
|
1577
1577
|
};
|
|
1578
|
-
|
|
1579
|
-
switch (this.itemType != se &&
|
|
1578
|
+
X.prototype.parseUA = function() {
|
|
1579
|
+
switch (this.itemType != se && it.call(this.data, this.ua, this.rgxMap), this.itemType) {
|
|
1580
1580
|
case P:
|
|
1581
|
-
this.set(
|
|
1581
|
+
this.set(he, tt(this.get(l)));
|
|
1582
1582
|
break;
|
|
1583
1583
|
case N:
|
|
1584
|
-
if (this.get(
|
|
1584
|
+
if (this.get(d) == "iOS" && this.get(l) == "18.6") {
|
|
1585
1585
|
var x = /\) Version\/([\d\.]+)/.exec(this.ua);
|
|
1586
|
-
x && parseInt(x[1].substring(0, 2), 10) >= 26 && this.set(
|
|
1586
|
+
x && parseInt(x[1].substring(0, 2), 10) >= 26 && this.set(l, x[1]);
|
|
1587
1587
|
}
|
|
1588
1588
|
break;
|
|
1589
1589
|
}
|
|
1590
1590
|
return this;
|
|
1591
1591
|
};
|
|
1592
|
-
|
|
1592
|
+
X.prototype.parseCH = function() {
|
|
1593
1593
|
var x = this.uaCH, t = this.rgxMap;
|
|
1594
1594
|
switch (this.itemType) {
|
|
1595
1595
|
case P:
|
|
1596
1596
|
case F:
|
|
1597
|
-
var e = x[
|
|
1597
|
+
var e = x[at] || x[xt], i;
|
|
1598
1598
|
if (e)
|
|
1599
1599
|
for (var a = 0; a < e.length; a++) {
|
|
1600
1600
|
var r = e[a].brand || e[a], o = e[a].version;
|
|
1601
|
-
this.itemType == P && !/not.a.brand/i.test(r) && (!i || /Chrom/.test(i) && r !=
|
|
1601
|
+
this.itemType == P && !/not.a.brand/i.test(r) && (!i || /Chrom/.test(i) && r != vt || i == _e && /WebView2/.test(r)) && (r = B(r, u0), i = this.get(d), i && !/Chrom/.test(i) && /Chrom/.test(r) || this.set(d, r).set(l, o).set(he, tt(o)), i = r), this.itemType == F && r == vt && this.set(l, o);
|
|
1602
1602
|
}
|
|
1603
1603
|
break;
|
|
1604
1604
|
case z:
|
|
1605
|
-
var
|
|
1606
|
-
|
|
1605
|
+
var f = x[M];
|
|
1606
|
+
f && (f && x[Fe] == "64" && (f += "64"), it.call(this.data, f + ";", t));
|
|
1607
1607
|
break;
|
|
1608
1608
|
case Y:
|
|
1609
1609
|
if (x[I] && this.set(s, I), x[c] && (this.set(c, x[c]), !this.get(s) || !this.get(u))) {
|
|
1610
1610
|
var p = {};
|
|
1611
|
-
|
|
1611
|
+
it.call(p, "droid 9; " + x[c] + ")", t), !this.get(s) && p.type && this.set(s, p.type), !this.get(u) && p.vendor && this.set(u, p.vendor);
|
|
1612
1612
|
}
|
|
1613
1613
|
if (x[ee]) {
|
|
1614
1614
|
var y;
|
|
1615
1615
|
if (typeof x[ee] != "string")
|
|
1616
1616
|
for (var S = 0; !y && S < x[ee].length; )
|
|
1617
|
-
y =
|
|
1617
|
+
y = B(x[ee][S++], kt);
|
|
1618
1618
|
else
|
|
1619
|
-
y =
|
|
1619
|
+
y = B(x[ee], kt);
|
|
1620
1620
|
this.set(s, y);
|
|
1621
1621
|
}
|
|
1622
1622
|
break;
|
|
1623
1623
|
case N:
|
|
1624
|
-
var
|
|
1625
|
-
if (
|
|
1626
|
-
var
|
|
1627
|
-
|
|
1624
|
+
var E = x[ce];
|
|
1625
|
+
if (E) {
|
|
1626
|
+
var D = x[nt];
|
|
1627
|
+
E == $e && (D = parseInt(tt(D), 10) >= 13 ? "11" : "10"), this.set(d, E).set(l, D);
|
|
1628
1628
|
}
|
|
1629
|
-
this.get(
|
|
1629
|
+
this.get(d) == $e && x[c] == "Xbox" && this.set(d, "Xbox").set(l, void 0);
|
|
1630
1630
|
break;
|
|
1631
1631
|
case se:
|
|
1632
|
-
var H = this.data, U = function(
|
|
1633
|
-
return H[
|
|
1632
|
+
var H = this.data, U = function(L) {
|
|
1633
|
+
return H[L].getItem().setCH(x).parseCH().get();
|
|
1634
1634
|
};
|
|
1635
1635
|
this.set(P, U(P)).set(z, U(z)).set(Y, U(Y)).set(F, U(F)).set(N, U(N));
|
|
1636
1636
|
}
|
|
1637
1637
|
return this;
|
|
1638
1638
|
};
|
|
1639
|
-
function
|
|
1640
|
-
if (typeof x ===
|
|
1641
|
-
if (typeof e.append ===
|
|
1639
|
+
function W(x, t, e) {
|
|
1640
|
+
if (typeof x === T.OBJECT ? (De(x, !0) ? (typeof t === T.OBJECT && (e = t), t = x) : (e = x, t = void 0), x = void 0) : typeof x === T.STRING && !De(t, !0) && (e = t, t = void 0), e)
|
|
1641
|
+
if (typeof e.append === T.FUNCTION) {
|
|
1642
1642
|
var i = {};
|
|
1643
|
-
e.forEach(function(S,
|
|
1644
|
-
i[String(
|
|
1643
|
+
e.forEach(function(S, E) {
|
|
1644
|
+
i[String(E).toLowerCase()] = S;
|
|
1645
1645
|
}), e = i;
|
|
1646
1646
|
} else {
|
|
1647
1647
|
var a = {};
|
|
@@ -1649,25 +1649,25 @@ function K(x, t, e) {
|
|
|
1649
1649
|
e.hasOwnProperty(r) && (a[String(r).toLowerCase()] = e[r]);
|
|
1650
1650
|
e = a;
|
|
1651
1651
|
}
|
|
1652
|
-
if (!(this instanceof
|
|
1653
|
-
return new
|
|
1654
|
-
var o = typeof x ===
|
|
1652
|
+
if (!(this instanceof W))
|
|
1653
|
+
return new W(x, t, e).getResult();
|
|
1654
|
+
var o = typeof x === T.STRING ? x : (
|
|
1655
1655
|
// Passed user-agent string
|
|
1656
|
-
e && e[
|
|
1656
|
+
e && e[lt] ? e[lt] : (
|
|
1657
1657
|
// User-Agent from passed headers
|
|
1658
1658
|
O && O.userAgent ? O.userAgent : (
|
|
1659
1659
|
// navigator.userAgent
|
|
1660
1660
|
oe
|
|
1661
1661
|
)
|
|
1662
1662
|
)
|
|
1663
|
-
),
|
|
1663
|
+
), f = new Ft(e, !0), p = t ? l0(_t, t) : _t, y = function(S) {
|
|
1664
1664
|
return S == se ? function() {
|
|
1665
|
-
return new
|
|
1665
|
+
return new X(S, o, p, f).set("ua", o).set(P, this.getBrowser()).set(z, this.getCPU()).set(Y, this.getDevice()).set(F, this.getEngine()).set(N, this.getOS()).get();
|
|
1666
1666
|
} : function() {
|
|
1667
|
-
return new
|
|
1667
|
+
return new X(S, o, p[S], f).parseUA().get();
|
|
1668
1668
|
};
|
|
1669
1669
|
};
|
|
1670
|
-
return
|
|
1670
|
+
return K.call(this, [
|
|
1671
1671
|
["getBrowser", y(P)],
|
|
1672
1672
|
["getCPU", y(z)],
|
|
1673
1673
|
["getDevice", y(Y)],
|
|
@@ -1678,707 +1678,709 @@ function K(x, t, e) {
|
|
|
1678
1678
|
return o;
|
|
1679
1679
|
}],
|
|
1680
1680
|
["setUA", function(S) {
|
|
1681
|
-
return
|
|
1681
|
+
return ge(S) && (o = Me(S, t0)), this;
|
|
1682
1682
|
}]
|
|
1683
1683
|
]).setUA(o), this;
|
|
1684
1684
|
}
|
|
1685
|
-
|
|
1686
|
-
|
|
1687
|
-
|
|
1688
|
-
|
|
1689
|
-
|
|
1690
|
-
const
|
|
1685
|
+
W.VERSION = e0;
|
|
1686
|
+
W.BROWSER = Ge([d, l, he, s]);
|
|
1687
|
+
W.CPU = Ge([M]);
|
|
1688
|
+
W.DEVICE = Ge([c, u, s, ke, I, C, k, V, be]);
|
|
1689
|
+
W.ENGINE = W.OS = Ge([d, l]);
|
|
1690
|
+
const Et = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
1691
1691
|
__proto__: null,
|
|
1692
|
-
UAParser:
|
|
1693
|
-
}, Symbol.toStringTag, { value: "Module" })),
|
|
1692
|
+
UAParser: W
|
|
1693
|
+
}, Symbol.toStringTag, { value: "Module" })), R = [];
|
|
1694
1694
|
for (let x = 0; x < 256; ++x)
|
|
1695
|
-
|
|
1696
|
-
function
|
|
1697
|
-
return (
|
|
1695
|
+
R.push((x + 256).toString(16).slice(1));
|
|
1696
|
+
function p0(x, t = 0) {
|
|
1697
|
+
return (R[x[t + 0]] + R[x[t + 1]] + R[x[t + 2]] + R[x[t + 3]] + "-" + R[x[t + 4]] + R[x[t + 5]] + "-" + R[x[t + 6]] + R[x[t + 7]] + "-" + R[x[t + 8]] + R[x[t + 9]] + "-" + R[x[t + 10]] + R[x[t + 11]] + R[x[t + 12]] + R[x[t + 13]] + R[x[t + 14]] + R[x[t + 15]]).toLowerCase();
|
|
1698
1698
|
}
|
|
1699
|
-
let
|
|
1700
|
-
const
|
|
1701
|
-
function
|
|
1702
|
-
if (!
|
|
1699
|
+
let Ze;
|
|
1700
|
+
const b0 = new Uint8Array(16);
|
|
1701
|
+
function h0() {
|
|
1702
|
+
if (!Ze) {
|
|
1703
1703
|
if (typeof crypto > "u" || !crypto.getRandomValues)
|
|
1704
1704
|
throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");
|
|
1705
|
-
|
|
1705
|
+
Ze = crypto.getRandomValues.bind(crypto);
|
|
1706
1706
|
}
|
|
1707
|
-
return
|
|
1707
|
+
return Ze(b0);
|
|
1708
1708
|
}
|
|
1709
|
-
const
|
|
1710
|
-
function
|
|
1709
|
+
const g0 = typeof crypto < "u" && crypto.randomUUID && crypto.randomUUID.bind(crypto), Tt = { randomUUID: g0 };
|
|
1710
|
+
function w0(x, t, e) {
|
|
1711
1711
|
x = x || {};
|
|
1712
|
-
const i = x.random ?? x.rng?.() ??
|
|
1712
|
+
const i = x.random ?? x.rng?.() ?? h0();
|
|
1713
1713
|
if (i.length < 16)
|
|
1714
1714
|
throw new Error("Random bytes length must be >= 16");
|
|
1715
|
-
return i[6] = i[6] & 15 | 64, i[8] = i[8] & 63 | 128,
|
|
1715
|
+
return i[6] = i[6] & 15 | 64, i[8] = i[8] & 63 | 128, p0(i);
|
|
1716
|
+
}
|
|
1717
|
+
function Gt(x, t, e) {
|
|
1718
|
+
return Tt.randomUUID && !x ? Tt.randomUUID() : w0(x);
|
|
1716
1719
|
}
|
|
1717
|
-
function
|
|
1718
|
-
return
|
|
1720
|
+
function Ht(x, t) {
|
|
1721
|
+
return x = x - 243, Oe()[x];
|
|
1719
1722
|
}
|
|
1720
|
-
|
|
1721
|
-
|
|
1722
|
-
return
|
|
1723
|
+
function Oe() {
|
|
1724
|
+
const x = ["Botswana", "Timor-Leste", "Vanuatu", "Nigeria", "Sweden", "Burkina Faso", "Thailand", "Korea, Republic of", "Mauritius", "Tokelau", "Zambia", "Ukraine", "South Africa", "Yemen", "Guernsey", "8zJTenB", "Ethiopia", "3522dPosei", "Lebanon", "New Caledonia", "Montenegro", "Monaco", "Niger", "Côte d'Ivoire", "Cambodia", "Philippines", "Turkmenistan", "Seychelles", "Papua New Guinea", "Turks and Caicos Islands", "Micronesia (Federated States of)", "Latvia", "Guam", "Virgin Islands (British)", "Bangladesh", "Sint Maarten (Dutch part)", "Malaysia", "Cuba", "Syrian Arab Republic", "Mexico", "Tanzania, United Republic of", "37899GgmyLj", "Brunei Darussalam", "Taiwan", "Macao", "Finland", "Palestine, State of", "Australia", "Mali", "Guyana", "Egypt", "Nepal", "Lesotho", "Réunion", "Angola", "157266VLaEsl", "Costa Rica", "San Marino", "Guinea-Bissau", "Korea (Democratic People's Republic of)", "1912gBqqsG", "Sri Lanka", "2OYOhrN", "French Southern Territories", "Germany", "French Guiana", "Honduras", "Singapore", "Denmark", "Trinidad and Tobago", "Zimbabwe", "Ecuador", "United States of America", "Spain", "Slovenia", "Samoa", "Cayman Islands", "Nicaragua", "Nauru", "Cabo Verde", "Luxembourg", "Rwanda", "Bolivia (Plurinational State of)", "Aruba", "Israel", "Mozambique", "British Indian Ocean Territory", "Cyprus", "Iraq", "Grenada", "Somalia", "Tunisia", "Oman", "Cook Islands", "Gabon", "Tajikistan", "2449645Ffsujy", "Chile", "8498EixbHZ", "16874506FDZpFt", "Indonesia", "Heard Island and McDonald Islands", "Iran (Islamic Republic of)", "Kiribati", "Canada", "Barbados", "Morocco", "United Kingdom", "Marshall Islands", "Niue", "Armenia", "Kuwait", "Hong Kong", "French Polynesia", "Antarctica", "Italy", "Serbia", "Djibouti", "Hungary", "Sao Tome and Principe", "Saint Lucia", "Saint Martin (French part)", "Saint Kitts and Nevis", "Madagascar", "United States Minor Outlying Islands", "Lithuania", "Romania", "Colombia", "Malta", "Qatar", "2588601sTEUJN", "Kenya", "Virgin Islands (U.S.)", "South Sudan", "Pitcairn", "Viet Nam", "Uruguay", "Argentina", "Liberia", "Austria", "7336330kGJhWG", "Saint Helena, Ascension and Tristan da Cunha", "Cameroon", "South Georgia and the South Sandwich Islands", "Saint Barthélemy", "Afghanistan", "Estonia", "Montserrat", "Netherlands", "Greece", "Mauritania", "Iceland", "Guadeloupe", "Senegal", "Japan", "Guatemala", "Congo (Democratic Republic of the)", "Malawi", "Congo", "Chad", "Norway", "Bahamas", "Martinique", "Holy See", "Switzerland", "Jersey", "Namibia", "Haiti", "Myanmar", "Benin", "Czech Republic", "Jamaica", "Sudan", "Brazil", "China", "24jzLXrJ", "Turkey", "France", "Paraguay", "Liechtenstein", "Gambia", "Bhutan", "Tuvalu", "Pakistan", "Svalbard and Jan Mayen", "Guinea", "Peru", "Bermuda", "Togo", "Faroe Islands", "Bonaire, Sint Eustatius and Saba", "Belarus", "Tonga", "Anguilla", "Falkland Islands (Malvinas)", "Sierra Leone", "Burundi", "Georgia", "Comoros"];
|
|
1725
|
+
return Oe = function() {
|
|
1726
|
+
return x;
|
|
1727
|
+
}, Oe();
|
|
1723
1728
|
}
|
|
1729
|
+
const n = Ht;
|
|
1724
1730
|
(function(x, t) {
|
|
1725
|
-
const e =
|
|
1731
|
+
const e = Ht, i = x();
|
|
1726
1732
|
for (; ; )
|
|
1727
1733
|
try {
|
|
1728
|
-
if (
|
|
1734
|
+
if (parseInt(e(384)) / 1 + parseInt(e(391)) / 2 * (parseInt(e(260)) / 3) + parseInt(e(344)) / 4 * (-parseInt(e(425)) / 5) + parseInt(e(346)) / 6 * (-parseInt(e(427)) / 7) + -parseInt(e(389)) / 8 * (parseInt(e(370)) / 9) + -parseInt(e(270)) / 10 + -parseInt(e(428)) / 11 * (-parseInt(e(305)) / 12) === t) break;
|
|
1729
1735
|
i.push(i.shift());
|
|
1730
1736
|
} catch {
|
|
1731
1737
|
i.push(i.shift());
|
|
1732
1738
|
}
|
|
1733
|
-
})(Oe,
|
|
1734
|
-
|
|
1735
|
-
|
|
1736
|
-
|
|
1739
|
+
})(Oe, 655687);
|
|
1740
|
+
const Vt = { AF: n(275), AX: "Åland Islands", AL: "Albania", DZ: "Algeria", AS: "American Samoa", AD: "Andorra", AO: n(383), AI: n(323), AQ: n(244), AG: "Antigua and Barbuda", AR: n(267), AM: n(439), AW: n(412), AU: n(376), AT: n(269), AZ: "Azerbaijan", BS: n(291), BH: "Bahrain", BD: n(363), BB: n(434), BY: n(321), BE: "Belgium", BZ: "Belize", BJ: n(299), BM: n(317), BT: n(311), BO: n(411), BQ: n(320), BA: "Bosnia and Herzegovina", BW: n(329), BV: "Bouvet Island", BR: n(303), IO: n(415), BN: n(371), BG: "Bulgaria", BF: n(334), BI: n(326), CV: n(408), KH: n(353), CM: n(272), CA: n(433), KY: n(405), CF: "Central African Republic", TD: n(289), CL: n(426), CN: n(304), CX: "Christmas Island", CC: "Cocos (Keeling) Islands", CO: n(257), KM: n(328), CG: n(288), CD: n(286), CK: n(422), CR: n(385), CI: n(352), HR: "Croatia", CU: n(366), CW: "Curaçao", CY: n(416), CZ: n(300), DK: n(397), DJ: n(247), DM: "Dominica", DO: "Dominican Republic", EC: n(400), EG: n(379), SV: "El Salvador", GQ: "Equatorial Guinea", ER: "Eritrea", EE: n(276), ET: n(345), FK: n(324), FO: n(319), FJ: "Fiji", FI: n(374), FR: n(307), GF: n(394), PF: n(243), TF: n(392), GA: n(423), GM: n(310), GE: n(327), DE: n(393), GH: "Ghana", GI: "Gibraltar", GR: n(279), GL: "Greenland", GD: n(418), GP: n(282), GU: n(361), GT: n(285), GG: n(343), GN: n(315), GW: n(387), GY: n(378), HT: n(297), HM: n(430), VA: n(293), HN: n(395), HK: n(441), HU: n(248), IS: n(281), IN: "India", ID: n(429), IR: n(431), IQ: n(417), IE: "Ireland", IM: "Isle of Man", IL: n(413), IT: n(245), JM: n(301), JP: n(284), JE: n(295), JO: "Jordan", KZ: "Kazakhstan", KE: n(261), KI: n(432), KP: n(388), KR: n(336), KW: n(440), KG: "Kyrgyzstan", LA: "Lao People's Democratic Republic", LV: n(360), LB: n(347), LS: n(381), LR: n(268), LY: "Libya", LI: n(309), LT: n(255), LU: n(409), MO: n(373), MK: "Macedonia (the former Yugoslav Republic of)", MG: n(253), MW: n(287), MY: n(365), MV: "Maldives", ML: n(377), MT: n(258), MH: n(437), MQ: n(292), MR: n(280), MU: n(337), YT: "Mayotte", MX: n(368), FM: n(359), MD: "Moldova (Republic of)", MC: n(350), MN: "Mongolia", ME: n(349), MS: n(277), MA: n(435), MZ: n(414), MM: n(298), NA: n(296), NR: n(407), NP: n(380), NL: n(278), NC: n(348), NZ: "New Zealand", NI: n(406), NE: n(351), NG: n(332), NU: n(438), NF: "Norfolk Island", MP: "Northern Mariana Islands", NO: n(290), OM: n(421), PK: n(313), PW: "Palau", PS: n(375), PA: "Panama", PG: n(357), PY: n(308), PE: n(316), PH: n(354), PN: n(264), PL: "Poland", PT: "Portugal", PR: "Puerto Rico", QA: n(259), RE: n(382), RO: n(256), RU: "Russian Federation", RW: n(410), BL: n(274), SH: n(271), KN: n(252), LC: n(250), MF: n(251), PM: "Saint Pierre and Miquelon", VC: "Saint Vincent and the Grenadines", WS: n(404), SM: n(386), ST: n(249), SA: "Saudi Arabia", SN: n(283), RS: n(246), SC: n(356), SL: n(325), SG: n(396), SX: n(364), SK: "Slovakia", SI: n(403), SB: "Solomon Islands", SO: n(419), ZA: n(341), GS: n(273), SS: n(263), ES: n(402), LK: n(390), SD: n(302), SR: "Suriname", SJ: n(314), SZ: "Swaziland", SE: n(333), CH: n(294), SY: n(367), TW: n(372), TJ: n(424), TZ: n(369), TH: n(335), TL: n(330), TG: n(318), TK: n(338), TO: n(322), TT: n(398), TN: n(420), TR: n(306), TM: n(355), TC: n(358), TV: n(312), UG: "Uganda", UA: n(340), AE: "United Arab Emirates", GB: n(436), US: n(401), UM: n(254), UY: n(266), UZ: "Uzbekistan", VU: n(331), VE: "Venezuela (Bolivarian Republic of)", VN: n(265), VG: n(362), VI: n(262), WF: "Wallis and Futuna", EH: "Western Sahara", YE: n(342), ZM: n(339), ZW: n(399) };
|
|
1741
|
+
function Pe() {
|
|
1742
|
+
const x = ["2926326RPMYzF", "sessionId", "mpd", "live", "error", "hls", "quality", "11284070kfCTMz", "address", "log", "country", "videoStartTime", "test", "timeupdate", "MA vpe init", "type", "logDateUnix", "dash", "isp", "latest", "sendBeacon", "1938846abLOuD", "m3u8", "getTime", "https://papi.vpe.naverncp.com/player/maSync", "created_at", "getSeconds", "https://papi.beta-vpe.naverncp.com/player/maSync", "TID", "application/json", "POST", "result", "seekedTime", "getMonth", "https://log.vpe.gov-ntruss.com/stats", "vpePackageId", "geoLocation", "stringify", "url", "totalStartTime", "VPE React Native", "https://log.beta-vpe.naverncp.com/stats", "vpe", "host", "indexOf", "parse", "log_type", "assign", "extra", "syncResult", "3938988MVldlW", "MA report failed:", "floor", "actionType", "net", "1.0", "unknown", "actionDuration", "report", "video", "MA report actionType ->", "nation", "MA init report failed:", "isArray", "stage", "getDate", "getFullYear", "Korea, Republic of", "padStart", "vod", "logDate", "https://log.vpe.naverncp.com/stats", "UUID", "toLowerCase", "2486295RShYdL", "550790EmpZRA", "pub", "player_version", "browser", "1411280fJYcKu", "join", "forEach", "------------------------------------------------", "playerStartTime", "platform", "object", "push", "json"];
|
|
1743
|
+
return Pe = function() {
|
|
1737
1744
|
return x;
|
|
1738
|
-
},
|
|
1745
|
+
}, Pe();
|
|
1739
1746
|
}
|
|
1740
|
-
const
|
|
1747
|
+
const _ = Yt;
|
|
1741
1748
|
(function(x, t) {
|
|
1742
|
-
const e =
|
|
1749
|
+
const e = Yt, i = x();
|
|
1743
1750
|
for (; ; )
|
|
1744
1751
|
try {
|
|
1745
|
-
if (-parseInt(e(
|
|
1752
|
+
if (-parseInt(e(557)) / 1 + parseInt(e(503)) / 2 + -parseInt(e(570)) / 3 + -parseInt(e(561)) / 4 + parseInt(e(556)) / 5 + -parseInt(e(532)) / 6 + parseInt(e(577)) / 7 === t) break;
|
|
1746
1753
|
i.push(i.shift());
|
|
1747
1754
|
} catch {
|
|
1748
1755
|
i.push(i.shift());
|
|
1749
1756
|
}
|
|
1750
|
-
})(Pe,
|
|
1751
|
-
function
|
|
1752
|
-
return x = x -
|
|
1757
|
+
})(Pe, 543142);
|
|
1758
|
+
function Yt(x, t) {
|
|
1759
|
+
return x = x - 492, Pe()[x];
|
|
1753
1760
|
}
|
|
1754
|
-
const He = { gov: { prod: { log:
|
|
1755
|
-
let A = { video: {}, browser: {}, device: {}, connection: {}, screen: {}, player_version: _(
|
|
1756
|
-
const
|
|
1757
|
-
function
|
|
1758
|
-
return
|
|
1761
|
+
const He = { gov: { prod: { log: "https://papi.vpe.gov-ntruss.com/player/maSync", report: _(516) }, beta: { log: "https://papi.beta-vpe.gov-ntruss.com/player/maSync", report: "https://log.beta-vpe.gov-ntruss.com/stats" } }, pub: { prod: { log: _(506), report: _(553) }, beta: { log: _(509), report: _(523) } } };
|
|
1762
|
+
let A = { video: {}, browser: {}, device: {}, connection: {}, screen: {}, player_version: _(501), extra: { sessionId: null, playerType: _(522) }, log_type: _(524), privacy: { cookie_enabled: !0 } }, G = { platform: _(558), stage: "prod", sync: !1, syncResult: {} };
|
|
1763
|
+
const m0 = (/* @__PURE__ */ new Date())[_(505)](), Kt = (x) => x;
|
|
1764
|
+
function Ie() {
|
|
1765
|
+
return Gt();
|
|
1759
1766
|
}
|
|
1760
|
-
function
|
|
1761
|
-
return
|
|
1767
|
+
function Ct() {
|
|
1768
|
+
return Gt();
|
|
1762
1769
|
}
|
|
1763
|
-
const
|
|
1764
|
-
const x = _, t = /* @__PURE__ */ new Date(), e = (o) => String(o)[x(
|
|
1770
|
+
const zt = () => {
|
|
1771
|
+
const x = _, t = /* @__PURE__ */ new Date(), e = (o) => String(o)[x(550)](2, "0"), i = t[x(548)]() + "-" + e(t[x(515)]() + 1) + "-" + e(t[x(547)]()) + " " + e(t.getHours()) + ":" + e(t.getMinutes()) + ":" + e(t[x(508)]()), a = Math.floor(t[x(505)]() / 1e3), r = (/* @__PURE__ */ new Date())[x(505)]() - m0;
|
|
1765
1772
|
return { logDate: i, logDateUnix: a, thisSec: r };
|
|
1766
1773
|
};
|
|
1767
|
-
function
|
|
1774
|
+
function y0(x) {
|
|
1768
1775
|
const t = _;
|
|
1769
|
-
return typeof x === t(
|
|
1776
|
+
return typeof x === t(567) && x !== null && !Array[t(545)](x);
|
|
1770
1777
|
}
|
|
1771
|
-
function
|
|
1778
|
+
function rt(x, t) {
|
|
1772
1779
|
const e = _;
|
|
1773
|
-
Object
|
|
1780
|
+
Object.entries(t)[e(563)](([i, a]) => {
|
|
1774
1781
|
const r = e;
|
|
1775
|
-
|
|
1776
|
-
|
|
1782
|
+
y0(a) ? (!x[i] && (x[i] = {}), Object.entries(a)[r(563)](([o, f]) => {
|
|
1783
|
+
f != null && (x[i][o] = f);
|
|
1777
1784
|
})) : a != null && (x[i] = a);
|
|
1778
1785
|
});
|
|
1779
1786
|
}
|
|
1780
|
-
function
|
|
1781
|
-
const x = ["indexOf", "floor", "nation", "Korea, Republic of", "latest", "unknown", "application/json", "net", "stage", "8BHaHwd", "syncResult", "m3u8", "logDateUnix", "mp4", "totalStartTime", "hls", "browser", "https://papi.beta-vpe.naverncp.com/player/maSync", "MA config initialization failed:", "https://log.beta-vpe.naverncp.com/stats", "getHours", "logDate", "entries", "padStart", "playerStartTime", "seekedTime", "3XRApxf", "https://papi.vpe.gov-ntruss.com/player/maSync", "result", "player_version", "https://log.vpe.gov-ntruss.com/stats", "292126rcFaaN", "getSeconds", "log_type", "geoLocation", "address", "pub", "report", "parse", "videoStartTime", "type", "sync", "7128726CHBDPQ", "POST", "created_at", "isp", "https://log.vpe.naverncp.com/stats", "actionType", "MA init report failed:", "5288801pyiZbn", "prod", "https://papi.vpe.naverncp.com/player/maSync", "25014159ZZlHaS", "quality", "mpd", "594924fsyAXK", "MA vpe init", "MA report actionType ->", "5897004JiUbzN", "test", "log", "join", "------------------------------------------------", "push", "stringify", "video_type", "https://log.beta-vpe.gov-ntruss.com/stats", "vpe", "getFullYear", "sendBeacon", "extra", "7170175PPteOt", "https://papi.beta-vpe.gov-ntruss.com/player/maSync", "assign", "actionDuration", "UUID", "url", "country", "error", "video", "host", "VPE React Native", "videoFormat", "forEach", "TID", "getTime", "object", "1.0", "isArray", "live", "getMonth", "timeupdate"];
|
|
1782
|
-
return Pe = function() {
|
|
1783
|
-
return x;
|
|
1784
|
-
}, Pe();
|
|
1785
|
-
}
|
|
1786
|
-
function vt(x) {
|
|
1787
|
+
function v0(x) {
|
|
1787
1788
|
const t = _;
|
|
1788
|
-
return x
|
|
1789
|
+
return x[t(526)](t(504)) > -1 ? t(575) : x[t(526)](t(572)) > -1 ? t(499) : "mp4";
|
|
1789
1790
|
}
|
|
1790
|
-
function
|
|
1791
|
+
function S0(x) {
|
|
1791
1792
|
const t = _, e = [];
|
|
1792
|
-
return x?.r1 && e
|
|
1793
|
+
return x?.r1 && e[t(568)](x.r1), x?.r2 && e.push(x.r2), x?.r3 && e[t(568)](x.r3), e[t(562)](" ");
|
|
1793
1794
|
}
|
|
1794
|
-
function
|
|
1795
|
+
function ot(x) {
|
|
1795
1796
|
const t = _;
|
|
1796
|
-
if (!x || typeof x
|
|
1797
|
-
const e = String(x[t(
|
|
1798
|
-
if (!(e === "v2" || /^2(?:\.|$)/[t(
|
|
1799
|
-
(!x[t(
|
|
1800
|
-
const a = x[t(
|
|
1801
|
-
r(x[t(
|
|
1802
|
-
const o = r(x[t(
|
|
1803
|
-
x
|
|
1797
|
+
if (!x || typeof x !== t(567)) return;
|
|
1798
|
+
const e = String(x[t(559)] ?? "");
|
|
1799
|
+
if (!(e === "v2" || /^2(?:\.|$)/[t(494)](e))) return;
|
|
1800
|
+
(!x[t(541)] || typeof x[t(541)] !== t(567)) && (x[t(541)] = {});
|
|
1801
|
+
const a = x[t(530)] && typeof x.extra === t(567) ? x[t(530)] : {}, r = (p) => p == null || p === "" || p === "0p";
|
|
1802
|
+
r(x[t(541)][t(576)]) && (x[t(541)][t(576)] = r(a[t(576)]) ? t(538) : a[t(576)]);
|
|
1803
|
+
const o = r(x.video[t(497)]) ? r(a[t(497)]) ? r(a.video_type) ? t(551) : a.video_type : a[t(497)] : x[t(541)][t(497)], f = String(o)[t(555)]();
|
|
1804
|
+
x[t(541)][t(497)] = f === t(573) ? t(573) : "vod", r(x[t(541)].url) && !r(a[t(520)]) && (x[t(541)][t(520)] = a[t(520)]);
|
|
1804
1805
|
}
|
|
1805
|
-
function
|
|
1806
|
+
function Wt(x) {
|
|
1806
1807
|
const t = _;
|
|
1807
|
-
x[t(
|
|
1808
|
+
x[t(539)] === t(537) && (x.actionDuration = 0), x[t(539)] === void 0 && (x[t(539)] = 0), [t(565), t(493), t(521), t(514)].forEach((i) => {
|
|
1808
1809
|
x[i] === void 0 && (x[i] = 0);
|
|
1809
|
-
}), x[t(
|
|
1810
|
+
}), x[t(497)] === void 0 && A[t(541)]?.[t(497)] && (x[t(497)] = A[t(541)][t(497)]), x[t(520)] === void 0 && A.video?.[t(520)] && (x.url = A[t(541)].url, x.videoFormat = v0(x.url));
|
|
1810
1811
|
}
|
|
1811
|
-
function
|
|
1812
|
+
function jt(x) {
|
|
1812
1813
|
const t = _;
|
|
1813
|
-
return !!(x
|
|
1814
|
+
return !!(x.UUID && x[t(510)] && x[t(525)]);
|
|
1814
1815
|
}
|
|
1815
1816
|
function Ve(x) {
|
|
1816
1817
|
const t = _;
|
|
1817
1818
|
try {
|
|
1818
|
-
const e = G[t(
|
|
1819
|
-
e && (x[t(
|
|
1819
|
+
const e = G[t(531)]?.[t(518)];
|
|
1820
|
+
e && (x[t(578)] = S0(e), x[t(500)] = e[t(536)] || "", x.ip = G[t(531)]?.ip || "", x[t(543)] = e[t(492)] || "");
|
|
1820
1821
|
} catch {
|
|
1821
1822
|
}
|
|
1822
1823
|
}
|
|
1823
|
-
const
|
|
1824
|
+
const I0 = async (x) => {
|
|
1824
1825
|
const t = _;
|
|
1825
1826
|
if (!x) return;
|
|
1826
|
-
const { platform: e, stage: i } = G, a = He[e][i]
|
|
1827
|
+
const { platform: e, stage: i } = G, a = He[e][i].log;
|
|
1827
1828
|
try {
|
|
1828
|
-
const r = await fetch(a, { method: t(
|
|
1829
|
-
G
|
|
1830
|
-
const { logDate:
|
|
1831
|
-
return A[t(
|
|
1829
|
+
const r = await fetch(a, { method: t(512), headers: { "Content-Type": "application/json" }, body: JSON[t(519)]({ access_key: x }) }), o = await r[t(569)]();
|
|
1830
|
+
G.sync = o[t(513)]?.sync || !1, G[t(531)] = o[t(513)] || {};
|
|
1831
|
+
const { logDate: f, logDateUnix: p } = zt();
|
|
1832
|
+
return A[t(530)].logDate = f, A[t(530)].logDateUnix = p, G[t(531)]?.geoLocation && Ve(A.extra), o;
|
|
1832
1833
|
} catch (r) {
|
|
1833
|
-
return console[t(
|
|
1834
|
+
return console[t(574)]("MA config initialization failed:", r), null;
|
|
1834
1835
|
}
|
|
1835
|
-
},
|
|
1836
|
-
const t = _, { platform: e, stage: i } = G, a =
|
|
1837
|
-
r[t(
|
|
1836
|
+
}, k0 = async (x) => {
|
|
1837
|
+
const t = _, { platform: e, stage: i } = G, a = Kt(He[e][i][t(540)]), r = { ...x };
|
|
1838
|
+
r[t(528)] = "vpe", Ve(r[t(530)]), ot(r);
|
|
1838
1839
|
try {
|
|
1839
|
-
await fetch(a, { method: "POST", headers: { "Content-Type": t(
|
|
1840
|
+
await fetch(a, { method: "POST", headers: { "Content-Type": t(511) }, body: JSON[t(519)](r) });
|
|
1840
1841
|
} catch (o) {
|
|
1841
|
-
console
|
|
1842
|
+
console.error(t(544), o);
|
|
1842
1843
|
}
|
|
1843
|
-
},
|
|
1844
|
-
const t = _, { platform: e, stage: i } = G, a =
|
|
1845
|
-
if (
|
|
1844
|
+
}, _0 = async (x) => {
|
|
1845
|
+
const t = _, { platform: e, stage: i } = G, a = Kt(He[e][i][t(540)]), r = JSON[t(527)](JSON[t(519)](A));
|
|
1846
|
+
if (rt(r, x), r[t(528)] = "MA", Ve(r.extra), Wt(r[t(530)]), ot(r), !!jt(r[t(530)]))
|
|
1846
1847
|
try {
|
|
1847
|
-
r.type != t(
|
|
1848
|
+
r.type != t(495), await fetch(a, { method: t(512), headers: { "Content-Type": "application/json" }, body: JSON[t(519)](r) });
|
|
1848
1849
|
} catch (o) {
|
|
1849
|
-
console[t(
|
|
1850
|
+
console[t(579)](t(533), o);
|
|
1850
1851
|
}
|
|
1851
1852
|
};
|
|
1852
|
-
async function
|
|
1853
|
+
async function E0(x, t, e, i, a) {
|
|
1853
1854
|
const r = _;
|
|
1854
|
-
G
|
|
1855
|
-
const { logDate: o, logDateUnix:
|
|
1856
|
-
A[r(
|
|
1855
|
+
G[r(566)] = x, G[r(546)] = t, rt(A, e), i && (A.extra[r(517)] = i), a && (A[r(530)].vpeKey = a), A.extra[r(543)] ? A.browser.country = Vt[A.extra[r(543)]] || r(549) : A[r(560)][r(492)] = r(549);
|
|
1856
|
+
const { logDate: o, logDateUnix: f } = zt();
|
|
1857
|
+
A[r(530)][r(552)] = o, A[r(530)][r(498)] = f, A.extra[r(507)] = f;
|
|
1857
1858
|
}
|
|
1858
|
-
function
|
|
1859
|
-
const t = _, { platform: e, stage: i } = G, a = He[e]?.[i]?.[t(
|
|
1859
|
+
function T0(x) {
|
|
1860
|
+
const t = _, { platform: e, stage: i } = G, a = He[e]?.[i]?.[t(540)];
|
|
1860
1861
|
if (!a) return !1;
|
|
1861
|
-
const r = JSON
|
|
1862
|
-
if (
|
|
1862
|
+
const r = JSON[t(527)](JSON.stringify(A));
|
|
1863
|
+
if (rt(r, x), r.log_type = "MA", Ve(r[t(530)]), Wt(r[t(530)]), ot(r), !jt(r[t(530)])) return !1;
|
|
1863
1864
|
try {
|
|
1864
|
-
const o = new Blob([JSON[t(
|
|
1865
|
-
return navigator[t(
|
|
1865
|
+
const o = new Blob([JSON[t(519)](r)], { type: t(511) });
|
|
1866
|
+
return navigator[t(502)](a, o);
|
|
1866
1867
|
} catch {
|
|
1867
1868
|
return !1;
|
|
1868
1869
|
}
|
|
1869
1870
|
}
|
|
1870
|
-
const
|
|
1871
|
-
function s0(x, t) {
|
|
1872
|
-
return x = x - 401, Ne()[x];
|
|
1873
|
-
}
|
|
1871
|
+
const At = st;
|
|
1874
1872
|
function Ne() {
|
|
1875
|
-
const x = ["
|
|
1873
|
+
const x = ["36gjbSLX", "contain", "11nSWcNn", "watermarkConfig", "#4299f5", "9AHIceS", "NAVER CLOUD PLATFORM", "201392ARkvyj", "progressBar", "1138492kATqXu", "31354XeAUtu", "all", "pay", "controlBtn", "#009dff", "captionStyle", "431563yKWnqD", "703206xkuVmp", "#ffffff", "3QDLnLj", "10nbuYqZ", "1292110ZdNywo", "24318lATKnu", "rgba(0, 0, 0, 0.4)"];
|
|
1876
1874
|
return Ne = function() {
|
|
1877
1875
|
return x;
|
|
1878
1876
|
}, Ne();
|
|
1879
1877
|
}
|
|
1878
|
+
function st(x, t) {
|
|
1879
|
+
return x = x - 175, Ne()[x];
|
|
1880
|
+
}
|
|
1880
1881
|
(function(x, t) {
|
|
1881
|
-
const e =
|
|
1882
|
+
const e = st, i = x();
|
|
1882
1883
|
for (; ; )
|
|
1883
1884
|
try {
|
|
1884
|
-
if (parseInt(e(
|
|
1885
|
+
if (-parseInt(e(194)) / 1 * (-parseInt(e(178)) / 2) + parseInt(e(187)) / 3 * (-parseInt(e(177)) / 4) + -parseInt(e(188)) / 5 * (-parseInt(e(185)) / 6) + -parseInt(e(190)) / 7 + parseInt(e(175)) / 8 + parseInt(e(197)) / 9 * (parseInt(e(189)) / 10) + -parseInt(e(184)) / 11 * (parseInt(e(192)) / 12) === t) break;
|
|
1885
1886
|
i.push(i.shift());
|
|
1886
1887
|
} catch {
|
|
1887
1888
|
i.push(i.shift());
|
|
1888
1889
|
}
|
|
1889
|
-
})(Ne,
|
|
1890
|
-
const
|
|
1891
|
-
const e =
|
|
1892
|
-
if (t !== e(
|
|
1890
|
+
})(Ne, 155438);
|
|
1891
|
+
const C0 = (x = {}, t) => {
|
|
1892
|
+
const e = st, i = { autostart: !0, muted: !1, aspectRatio: "16/9", objectFit: e(193), controls: !0, keyboardShortcut: !0, startMutedInfoNotVisible: !1, allowsPictureInPicture: !1, staysActiveInBackground: !1, screenRecordingPrevention: !1, modalFullscreen: !1, seekingPreview: !0, lang: "ko", ui: e(179), controlBtn: { play: !0, fullscreen: !0, progressBar: !0, volume: !1, times: !0, pictureInPicture: !0, setting: !0, subtitle: !0 }, progressBarColor: e(196), controlActiveTime: 3e3, playRateSetting: [0.5, 0.75, 1, 1.5, 2], autoPause: !1, repeat: !1, setStartTime: void 0, playIndex: 0, lowLatencyMode: !0, touchGestures: !0, descriptionNotVisible: !1, devTestAppId: void 0, token: "", visibleWatermark: !1, iosFullscreenNativeMode: !0, watermarkText: e(198), watermarkConfig: { randPosition: !0, randPositionInterVal: 3e3, x: 10, y: 10, opacity: 0.5 }, captionStyle: { fontSize: 12, color: e(186), backgroundColor: e(191), edgeStyle: "dropshadow" }, override: null };
|
|
1893
|
+
if (t !== e(180)) return { ...i, ...A0 };
|
|
1893
1894
|
const a = { ...i, ...x };
|
|
1894
|
-
return x[e(
|
|
1895
|
-
},
|
|
1896
|
-
function c0(x, t) {
|
|
1897
|
-
return x = x - 416, Ue()[x];
|
|
1898
|
-
}
|
|
1899
|
-
const b = c0;
|
|
1895
|
+
return x[e(181)] && (a[e(181)] = { ...i[e(181)], ...x[e(181)] }), x.watermarkConfig && (a[e(195)] = { ...i[e(195)], ...x[e(195)] }), x[e(183)] && (a[e(183)] = { ...i[e(183)], ...x.captionStyle }), a[e(181)]?.[e(176)] === void 0 && (a[e(181)].progressBar = !0), a;
|
|
1896
|
+
}, A0 = { free: !0, startMutedInfoNotVisible: !1, lowLatencyMode: !1, progressBarColor: At(182), playRateSetting: [0.5, 0.75, 1, 1.5, 2], descriptionNotVisible: !0, seekingPreview: !1, controlActiveTime: 1500, ui: At(179), token: "", setStartTime: null, controlBtn: { play: !0, fullscreen: !0, volume: !0, times: !0, setting: !1, pictureInPicture: !1, progressBar: !0 } }, g = ct;
|
|
1900
1897
|
function Ue() {
|
|
1901
|
-
const x = ["
|
|
1898
|
+
const x = ["message", "video", "handleTimeUpdate", "bind", "contentId", "percent", "floor", "ENDED", "firstError", "1364570BvnMHo", "padStart", "2083123kuKRHv", "handleTimeUpdateFocus", "isArray", "handleBeforeUnload", "pause", "getMinutes", "waitingEnd", "firstPlaying", "handlePlayerStart", "seeking", "stageData", "entries", "watch_percent", "INTRO_SKIP", "sessionId", "errorMessage", "handleStartup", "isEnded", "bufferingStart", "handlePlay", "toFixed", "2884520nwTfef", "8UKBErO", "beaconSent", "fullscreenYn", "assign", "firstPlay", "scheduleVpeReport", "1810367shZdKA", "prevAction", "ratechange", "WAITING_END", "WAITING", "actionType", "extra", "handleTrackChange", "isCompleted", "currentTime", "state", "duration", "isPlainObject", "boundVisibilityChange", "isBounce", "TID", "hidden", "REBUFFERING", "pauseCnt", "11107176iXxJWx", "timeupdateFocus", "reportData", "watchPercent", "canplay", "PLAYING", "opening_skip", "7920465GaPpoW", "OPENING_SKIP", "handleCanplay", "beforeunload", "type", "playbackRate", "ERROR", "isSeeking", "handleSeeking", "introSkip", "getMonth", "SEEKED", "log_type", "resetStateForNewTrack", "isBuffering", "fullscreenDuration", "3924519jjWxIH", "boundBeforeUnload", "fullscreenEnterTime", "addEventListener", "getTime", "prevTime", "SEEKING", "quality_change", "browser", "removeEventListener", "report", "PAUSED", "isFullscreen", "PLAYER_START", "PAUSE", "speedChangeCnt", "initTimeupdate", "prev", "ending_skip", "vpe", "handleSeeked", "handleAutoSkip", "suppressNextSeek", "errorCode", "prev_track", "dispatchEvent", "handleQualityChange", "startTime", "ended", "country", "round", "visibilitychange", "RATE_CHANGE", "rebuffering", "now", "CANPLAY", "QUALITY_CHANGE", "sendSessionBeacon", "handleVisibilityChange", "handleWaiting", "TIMEUPDATE", "getSeconds", "FULLSCREEN_CHANGE", "STARTUP", "contentDuration", "data", "endingSkip", "handleRateChange", "quality", "Korea, Republic of", "error", "nextTrack", "handleEnded", "153KMnWJC", "prevUrl", "dropOffPosition", "forEach", "UUID", "nation", "buildSessionMetrics", "object", "isPlaying", "url", "code", "getHours", "waiting", "catch", "then", "logDateUnix", "prevQuality", "playedTime", "seekedTime", "seekStartTime", "playAttempt", "handleError", "handlePause", "vpeReportTimerId", "2wCKDYs", "lastPlaybackSpeed", "getDate", "openingSkip", "seekCnt", "initializeReportData"];
|
|
1902
1899
|
return Ue = function() {
|
|
1903
1900
|
return x;
|
|
1904
1901
|
}, Ue();
|
|
1905
1902
|
}
|
|
1906
1903
|
(function(x, t) {
|
|
1907
|
-
const e =
|
|
1904
|
+
const e = ct, i = x();
|
|
1908
1905
|
for (; ; )
|
|
1909
1906
|
try {
|
|
1910
|
-
if (
|
|
1907
|
+
if (parseInt(e(549)) / 1 * (parseInt(e(504)) / 2) + parseInt(e(427)) / 3 + parseInt(e(542)) / 4 + parseInt(e(575)) / 5 + -parseInt(e(568)) / 6 + parseInt(e(521)) / 7 * (-parseInt(e(543)) / 8) + parseInt(e(480)) / 9 * (-parseInt(e(519)) / 10) === t) break;
|
|
1911
1908
|
i.push(i.shift());
|
|
1912
1909
|
} catch {
|
|
1913
1910
|
i.push(i.shift());
|
|
1914
1911
|
}
|
|
1915
|
-
})(Ue,
|
|
1916
|
-
|
|
1917
|
-
|
|
1918
|
-
|
|
1919
|
-
|
|
1920
|
-
|
|
1921
|
-
[
|
|
1922
|
-
|
|
1923
|
-
|
|
1924
|
-
[
|
|
1925
|
-
[
|
|
1912
|
+
})(Ue, 955209);
|
|
1913
|
+
function ct(x, t) {
|
|
1914
|
+
return x = x - 422, Ue()[x];
|
|
1915
|
+
}
|
|
1916
|
+
const Rt = "0p", R0 = 6e4, D0 = 1, m = { PLAYER_START: "player_start", STARTUP: "startup", PLAY: "play", PAUSE: g(525), PLAYING: "playing", PAUSED: g(525), SEEKING: g(530), SEEKED: "seeked", WAITING: g(492), WAITING_END: g(527), CANPLAY: g(572), ENDED: g(455), NEXT_TRACK: "next_track", PREV_TRACK: g(451), ERROR: g(477), QUALITY_CHANGE: g(434), REBUFFERING: g(460), TIMEUPDATE: "timeupdate", TIMEUPDATE_FOCUS: g(569), RATE_CHANGE: g(551), FULLSCREEN_CHANGE: "fullscreenchange", INTRO_SKIP: "intro_skip", OPENING_SKIP: g(574), ENDING_SKIP: g(445) };
|
|
1917
|
+
class M0 {
|
|
1918
|
+
[g(570)];
|
|
1919
|
+
stageData;
|
|
1920
|
+
state;
|
|
1921
|
+
[g(544)] = !1;
|
|
1922
|
+
[g(428)];
|
|
1923
|
+
boundVisibilityChange;
|
|
1924
|
+
vpeReportScheduled = !1;
|
|
1925
|
+
[g(503)] = null;
|
|
1926
1926
|
VPE_REPORT_DELAY_MS = 3e3;
|
|
1927
1927
|
constructor(t, e, i) {
|
|
1928
|
-
const a =
|
|
1929
|
-
this.stageData = { platform: t, stage: e, sync: !1, syncResult: {} }, this
|
|
1928
|
+
const a = g;
|
|
1929
|
+
this.stageData = { platform: t, stage: e, sync: !1, syncResult: {} }, this.reportData = { video: {}, browser: {}, device: {}, connection: {}, screen: {}, player_version: "latest", extra: { UUID: null, TID: null, sessionId: null, playerType: "VPE", playAttempt: !1 }, log_type: a(446), privacy: { cookie_enabled: !0 } }, this[a(559)] = { prevAction: null, isPlaying: !1, isSeeking: !1, initTimeupdate: !1, isBuffering: !1, firstError: !1, isEnded: !1, firstPlay: !0, firstPlaying: !0, startTime: 0, prevTime: 0, startUpDuration: 0, prevUrl: "", prevQuality: Rt, pauseCnt: 0, seekCnt: 0, speedChangeCnt: 0, lastPlaybackSpeed: 1, fullscreenYn: !1, fullscreenEnterTime: 0, fullscreenDuration: 0, contentId: null, contentDuration: 0, seekStartTime: 0, suppressNextSeek: !1 }, this.initializeReportData(i), this[a(531)], this[a(428)] = this[a(524)][a(513)](this), this[a(562)] = this[a(465)].bind(this), window[a(430)](a(578), this[a(428)]), document[a(430)](a(458), this[a(562)]);
|
|
1930
1930
|
}
|
|
1931
|
-
|
|
1932
|
-
const e =
|
|
1933
|
-
this
|
|
1931
|
+
[g(509)](t) {
|
|
1932
|
+
const e = g;
|
|
1933
|
+
this.reportData = { ...this[e(570)], ...t }, this[e(570)].extra[e(485)] ? this[e(570)][e(435)][e(456)] = Vt[this[e(570)].extra[e(485)]] || e(476) : this[e(570)][e(435)][e(456)] = "Korea, Republic of";
|
|
1934
1934
|
}
|
|
1935
|
-
|
|
1936
|
-
const t =
|
|
1935
|
+
getTime() {
|
|
1936
|
+
const t = g, e = /* @__PURE__ */ new Date(), i = (o) => String(o)[t(520)](2, "0"), a = e.getFullYear() + "-" + i(e[t(585)]() + 1) + "-" + i(e[t(506)]()) + " " + i(e[t(491)]()) + ":" + i(e[t(526)]()) + ":" + i(e[t(468)]()), r = Math[t(516)](e[t(431)]() / 1e3);
|
|
1937
1937
|
return { logDate: a, logDateUnix: r };
|
|
1938
1938
|
}
|
|
1939
|
-
[
|
|
1940
|
-
const e =
|
|
1941
|
-
return typeof t === e(
|
|
1939
|
+
[g(561)](t) {
|
|
1940
|
+
const e = g;
|
|
1941
|
+
return typeof t === e(487) && t !== null && !Array[e(523)](t);
|
|
1942
1942
|
}
|
|
1943
|
-
async [
|
|
1944
|
-
const i =
|
|
1945
|
-
if (this[i(
|
|
1946
|
-
const { logDate: a, logDateUnix: r } = this[i(
|
|
1947
|
-
for (const
|
|
1948
|
-
y[
|
|
1949
|
-
const
|
|
1950
|
-
this[i(
|
|
1943
|
+
async [g(437)](t, e) {
|
|
1944
|
+
const i = g;
|
|
1945
|
+
if (this[i(559)][i(518)]) return;
|
|
1946
|
+
const { logDate: a, logDateUnix: r } = this[i(431)](), o = Date[i(461)](), f = this[i(559)][i(432)] > 0 ? o - this[i(559)].prevTime : 0, p = f, y = e && typeof e === i(487) && e.data ? e[i(472)] : {}, S = [i(514), i(471), i(515), i(533), i(571), i(557), i(563), i(567), i(508), i(442), "lastPlaybackSpeed", i(545), i(426), i(482), i(498), "errorCode", i(536), i(490), i(510)], E = {};
|
|
1947
|
+
for (const j of S)
|
|
1948
|
+
y[j] !== void 0 && (E[j] = y[j]);
|
|
1949
|
+
const D = this.state[i(471)], H = D > 0 ? Math[i(516)](D / 1e3) : this.reportData[i(555)][i(560)] || 0, U = this[i(570)][i(555)][i(558)] || 0, L = H > 0 ? Math[i(457)](U / H * 1e4) / 100 : 0, Q = { ...this[i(570)], video: this[i(570)][i(511)], percent: L, extra: { ...this[i(570)].extra, actionType: t, actionDuration: p ? p[i(541)](2) : 0, duration: H, contentDuration: D, percent: L, watch_percent: L, logDate: a, logDateUnix: r, ...E } };
|
|
1950
|
+
this[i(559)].prevTime = o, await _0(Q);
|
|
1951
1951
|
}
|
|
1952
|
-
async
|
|
1953
|
-
const e =
|
|
1954
|
-
!this[e(
|
|
1952
|
+
async maInit(t) {
|
|
1953
|
+
const e = g;
|
|
1954
|
+
!this[e(570)][e(555)][e(535)] && (this[e(570)][e(555)][e(535)] = Ct(), this.reportData[e(555)][e(564)] = Ie(), this[e(570)][e(555)][e(484)] = Ie()), t?.[e(555)] && typeof t[e(555)] == "object" && (t[e(555)][e(535)] = this[e(570)][e(555)][e(535)], Object[e(546)](this[e(570)][e(555)], t[e(555)])), t?.[e(511)] && typeof t[e(511)] === e(487) && (this[e(570)][e(511)] = { ...this.reportData[e(511)], ...t[e(511)] });
|
|
1955
1955
|
}
|
|
1956
|
-
[
|
|
1957
|
-
|
|
1958
|
-
|
|
1959
|
-
|
|
1960
|
-
this[
|
|
1961
|
-
|
|
1962
|
-
i
|
|
1963
|
-
|
|
1964
|
-
i[e(514)] = i[e(514)] || {}, i.extra[e(466)] = a, i[e(514)].logDateUnix = r, i[e(514)][e(416)] = i[e(514)][e(416)] || e(421), kt(i)[e(568)](() => {
|
|
1956
|
+
[g(548)]() {
|
|
1957
|
+
this.vpeReportScheduled || (this.vpeReportScheduled = !0, this.vpeReportTimerId = setTimeout(() => {
|
|
1958
|
+
const t = ct;
|
|
1959
|
+
this.vpeReportTimerId = null;
|
|
1960
|
+
const e = JSON.parse(JSON.stringify(this[t(570)]));
|
|
1961
|
+
e[t(423)] = "vpe";
|
|
1962
|
+
const { logDate: i, logDateUnix: a } = this[t(431)]();
|
|
1963
|
+
e.extra = e[t(555)] || {}, e[t(555)].logDate = i, e[t(555)][t(495)] = a, e[t(555)][t(554)] = e[t(555)].actionType || "vpe_init", k0(e)[t(493)](() => {
|
|
1965
1964
|
});
|
|
1966
|
-
}, this
|
|
1965
|
+
}, this.VPE_REPORT_DELAY_MS));
|
|
1967
1966
|
}
|
|
1968
|
-
async
|
|
1969
|
-
const e =
|
|
1970
|
-
!t || typeof t != "object" || Object[e(
|
|
1967
|
+
async maSync(t) {
|
|
1968
|
+
const e = g;
|
|
1969
|
+
!t || typeof t != "object" || Object[e(532)](t)[e(483)](([i, a]) => {
|
|
1971
1970
|
const r = e;
|
|
1972
|
-
this.isPlainObject(a) ? Object
|
|
1973
|
-
const p =
|
|
1974
|
-
|
|
1975
|
-
}) : a != null && (this[r(
|
|
1971
|
+
this.isPlainObject(a) ? Object[r(532)](a)[r(483)](([o, f]) => {
|
|
1972
|
+
const p = r;
|
|
1973
|
+
f != null && (this[p(570)][i][o] = f);
|
|
1974
|
+
}) : a != null && (this[r(570)][i] = a);
|
|
1976
1975
|
});
|
|
1977
1976
|
}
|
|
1978
|
-
[
|
|
1979
|
-
const e =
|
|
1980
|
-
switch (o && o > 0 && (this[e(
|
|
1981
|
-
case m[e(
|
|
1982
|
-
this[e(
|
|
1977
|
+
[g(452)](t) {
|
|
1978
|
+
const e = g, { type: i, data: a } = t, r = { url: a?.[e(489)] || this[e(559)][e(481)], type: a?.[e(579)], quality: a?.quality || this[e(559)].prevQuality, data: a }, o = a?.extra?.[e(560)];
|
|
1979
|
+
switch (o && o > 0 && (this[e(559)][e(471)] = Math[e(457)](o * 1e3)), i) {
|
|
1980
|
+
case m[e(440)]:
|
|
1981
|
+
this[e(529)](r, a);
|
|
1983
1982
|
break;
|
|
1984
|
-
case m[e(
|
|
1985
|
-
this
|
|
1983
|
+
case m[e(470)]:
|
|
1984
|
+
this.handleStartup(r, a);
|
|
1986
1985
|
break;
|
|
1987
|
-
case m
|
|
1988
|
-
this
|
|
1986
|
+
case m.PLAY:
|
|
1987
|
+
this[e(540)](r, a);
|
|
1989
1988
|
break;
|
|
1990
|
-
case m
|
|
1991
|
-
this[e(
|
|
1989
|
+
case m[e(441)]:
|
|
1990
|
+
this[e(502)](r, a);
|
|
1992
1991
|
break;
|
|
1993
|
-
case m[e(
|
|
1994
|
-
this[e(
|
|
1992
|
+
case m[e(467)]:
|
|
1993
|
+
this[e(512)](r, a);
|
|
1995
1994
|
break;
|
|
1996
|
-
case m
|
|
1997
|
-
this
|
|
1995
|
+
case m.TIMEUPDATE_FOCUS:
|
|
1996
|
+
this[e(522)](r, a);
|
|
1998
1997
|
break;
|
|
1999
|
-
case m
|
|
2000
|
-
this
|
|
1998
|
+
case m.SEEKING:
|
|
1999
|
+
this[e(583)](r, a);
|
|
2001
2000
|
break;
|
|
2002
|
-
case m[e(
|
|
2003
|
-
this[e(
|
|
2001
|
+
case m[e(422)]:
|
|
2002
|
+
this[e(447)](r, a);
|
|
2004
2003
|
break;
|
|
2005
|
-
case m[e(
|
|
2006
|
-
case e(
|
|
2007
|
-
this[e(
|
|
2004
|
+
case m[e(553)]:
|
|
2005
|
+
case e(539):
|
|
2006
|
+
this[e(466)](r, a);
|
|
2008
2007
|
break;
|
|
2009
|
-
case m[e(
|
|
2010
|
-
case
|
|
2011
|
-
case
|
|
2012
|
-
this[e(
|
|
2008
|
+
case m[e(552)]:
|
|
2009
|
+
case "bufferingEnd":
|
|
2010
|
+
case "loadingEnd":
|
|
2011
|
+
this[e(577)](r, a);
|
|
2013
2012
|
break;
|
|
2014
|
-
case m
|
|
2015
|
-
this[e(
|
|
2013
|
+
case m[e(462)]:
|
|
2014
|
+
this[e(577)](r, a);
|
|
2016
2015
|
break;
|
|
2017
|
-
case m
|
|
2018
|
-
this[e(
|
|
2016
|
+
case m[e(517)]:
|
|
2017
|
+
this[e(479)](r, a);
|
|
2019
2018
|
break;
|
|
2020
|
-
case
|
|
2021
|
-
case
|
|
2022
|
-
this
|
|
2019
|
+
case e(478):
|
|
2020
|
+
case "next":
|
|
2021
|
+
this[e(556)](m.NEXT_TRACK, r, a);
|
|
2023
2022
|
break;
|
|
2024
|
-
case
|
|
2025
|
-
case
|
|
2026
|
-
this[e(
|
|
2023
|
+
case "prevTrack":
|
|
2024
|
+
case e(444):
|
|
2025
|
+
this[e(556)](m.PREV_TRACK, r, a);
|
|
2027
2026
|
break;
|
|
2028
|
-
case m[e(
|
|
2029
|
-
this
|
|
2027
|
+
case m[e(581)]:
|
|
2028
|
+
this.handleError(r, a);
|
|
2030
2029
|
break;
|
|
2031
|
-
case m[e(
|
|
2032
|
-
this[e(
|
|
2030
|
+
case m[e(463)]:
|
|
2031
|
+
this[e(453)](r, a);
|
|
2033
2032
|
break;
|
|
2034
|
-
case m
|
|
2035
|
-
this[e(
|
|
2033
|
+
case m[e(459)]:
|
|
2034
|
+
this[e(474)](r, a);
|
|
2036
2035
|
break;
|
|
2037
|
-
case m[e(
|
|
2036
|
+
case m[e(469)]:
|
|
2038
2037
|
this.handleFullscreenChange(r, a);
|
|
2039
2038
|
break;
|
|
2040
|
-
case
|
|
2041
|
-
this
|
|
2039
|
+
case e(584):
|
|
2040
|
+
this.handleAutoSkip(m[e(534)], r, a);
|
|
2042
2041
|
break;
|
|
2043
|
-
case e(
|
|
2044
|
-
this
|
|
2042
|
+
case e(507):
|
|
2043
|
+
this.handleAutoSkip(m[e(576)], r, a);
|
|
2045
2044
|
break;
|
|
2046
|
-
case e(
|
|
2047
|
-
this[e(
|
|
2045
|
+
case e(473):
|
|
2046
|
+
this[e(448)](m.ENDING_SKIP, r, a);
|
|
2048
2047
|
break;
|
|
2049
2048
|
}
|
|
2050
2049
|
}
|
|
2051
|
-
[
|
|
2052
|
-
const a =
|
|
2053
|
-
this[a(
|
|
2050
|
+
[g(448)](t, e, i) {
|
|
2051
|
+
const a = g;
|
|
2052
|
+
this[a(559)][a(449)] = !0, this[a(437)](t, { ...e, data: i });
|
|
2054
2053
|
}
|
|
2055
|
-
|
|
2056
|
-
const i =
|
|
2057
|
-
!this[i(
|
|
2054
|
+
[g(529)](t, e) {
|
|
2055
|
+
const i = g;
|
|
2056
|
+
!this[i(570)].extra[i(535)] && (this[i(570)][i(555)][i(535)] = Ct(), this[i(570)][i(555)][i(564)] = Ie(), this[i(570)][i(555)][i(484)] = Ie()), this[i(559)].startTime = Date[i(461)](), this.state[i(432)] = this.state[i(454)], this[i(437)](m[i(440)], { ...t, data: e });
|
|
2058
2057
|
}
|
|
2059
|
-
[
|
|
2060
|
-
const i =
|
|
2061
|
-
if (this
|
|
2062
|
-
const a = e?.[i(
|
|
2063
|
-
a?.[i(
|
|
2058
|
+
[g(537)](t, e) {
|
|
2059
|
+
const i = g;
|
|
2060
|
+
if (this[i(559)][i(528)]) {
|
|
2061
|
+
const a = e?.[i(555)] || e || {};
|
|
2062
|
+
a?.[i(514)] && (this.state[i(514)] = a.contentId), this[i(559)].isPlaying = !0, this.report(m[i(470)], { ...t, data: { ...e, contentId: this[i(559)][i(514)], contentDuration: this[i(559)][i(471)] } }), this[i(559)][i(528)] = !1, this[i(548)]();
|
|
2064
2063
|
}
|
|
2065
2064
|
}
|
|
2066
|
-
[
|
|
2067
|
-
const i =
|
|
2068
|
-
this[i(
|
|
2065
|
+
[g(540)](t, e) {
|
|
2066
|
+
const i = g;
|
|
2067
|
+
this[i(559)][i(488)] || (this[i(570)][i(555)][i(497)] = e?.[i(497)], this[i(570)][i(555)][i(515)] = e?.[i(515)], this[i(559)][i(488)] = !0, this.reportData.extra[i(500)] = !0, this.state[i(547)] && (this.state.firstPlay = !1), this[i(548)](), this.state.prevAction === m[i(438)] && this[i(437)](m[i(573)], { ...t, data: e }), this[i(559)][i(550)] = m[i(573)]);
|
|
2069
2068
|
}
|
|
2070
|
-
|
|
2071
|
-
const i =
|
|
2072
|
-
this[i(
|
|
2069
|
+
handlePause(t, e) {
|
|
2070
|
+
const i = g;
|
|
2071
|
+
this[i(559)].isSeeking || this[i(559)][i(425)] || !this[i(559)][i(488)] || (this[i(559)][i(567)]++, this[i(559)][i(488)] = !1, this.report(m[i(438)], { ...t, data: { ...e, pauseCnt: this.state.pauseCnt } }), this.state[i(550)] = m[i(438)]);
|
|
2073
2072
|
}
|
|
2074
|
-
|
|
2075
|
-
const i =
|
|
2076
|
-
this[i(
|
|
2073
|
+
[g(512)](t, e) {
|
|
2074
|
+
const i = g;
|
|
2075
|
+
this[i(559)][i(488)] = !0, this[i(570)][i(555)][i(500)] = !0, !(this[i(570)][i(555)][i(558)] < D0) && (this.state[i(488)] && Date[i(461)]() - this.state.prevTime > R0 && this[i(437)](m[i(573)], { ...t, data: e }), this[i(559)].prevUrl = t[i(489)] || "", this.state[i(496)] = t[i(475)] || Rt);
|
|
2077
2076
|
}
|
|
2078
|
-
[
|
|
2079
|
-
const i =
|
|
2080
|
-
this[i(
|
|
2077
|
+
[g(522)](t, e) {
|
|
2078
|
+
const i = g;
|
|
2079
|
+
this[i(570)][i(555)][i(558)] > 0 && (this[i(437)](m.PLAYING, { ...t, data: e }), this.state[i(443)] = !0);
|
|
2081
2080
|
}
|
|
2082
|
-
|
|
2083
|
-
const i =
|
|
2084
|
-
this[i(
|
|
2081
|
+
handleSeeking(t, e) {
|
|
2082
|
+
const i = g;
|
|
2083
|
+
this[i(559)][i(449)] || this[i(559)][i(582)] || (this[i(559)][i(508)]++, this.state[i(582)] = !0, this[i(559)][i(499)] = Date[i(461)](), this[i(559)].isPlaying ? this.report(m[i(573)], { ...t, data: e }) : this[i(559)][i(550)] === m[i(438)] && this[i(437)](m[i(438)], { ...t, data: e }), this.state[i(550)] = m[i(433)]);
|
|
2085
2084
|
}
|
|
2086
|
-
[
|
|
2087
|
-
const i =
|
|
2088
|
-
if (this[i(
|
|
2089
|
-
this.state[i(
|
|
2085
|
+
[g(447)](t, e) {
|
|
2086
|
+
const i = g;
|
|
2087
|
+
if (this[i(559)].suppressNextSeek) {
|
|
2088
|
+
this.state[i(449)] = !1;
|
|
2090
2089
|
return;
|
|
2091
2090
|
}
|
|
2092
|
-
if (!this[i(
|
|
2093
|
-
const a = this[i(
|
|
2094
|
-
this[i(
|
|
2091
|
+
if (!this[i(559)][i(582)]) return;
|
|
2092
|
+
const a = this[i(559)][i(499)] > 0 ? Date[i(461)]() - this[i(559)].seekStartTime : 0;
|
|
2093
|
+
this.state[i(499)] = 0, this[i(559)][i(582)] = !1, this[i(437)](m.SEEKING, { ...t, data: { ...e || {}, seekedTime: a } }), this[i(559)][i(550)] = this[i(559)].isPlaying ? m.PLAYING : m.PAUSED;
|
|
2095
2094
|
}
|
|
2096
|
-
|
|
2097
|
-
const i =
|
|
2098
|
-
this[i(
|
|
2095
|
+
handleWaiting(t, e) {
|
|
2096
|
+
const i = g;
|
|
2097
|
+
this[i(559)][i(582)] || this[i(559)][i(425)] || (this[i(559)][i(425)] = !0, this[i(559)][i(488)] && this.report(m[i(573)], { ...t, data: e }), this.state.prevAction = m.REBUFFERING);
|
|
2099
2098
|
}
|
|
2100
|
-
|
|
2101
|
-
const i =
|
|
2102
|
-
this.
|
|
2099
|
+
handleCanplay(t, e) {
|
|
2100
|
+
const i = g;
|
|
2101
|
+
this[i(559)].isBuffering && (this[i(559)][i(425)] = !1, this.report(m[i(566)], { ...t, data: e }), this[i(559)].prevAction = this[i(559)][i(488)] ? m.PLAYING : m.PAUSED);
|
|
2103
2102
|
}
|
|
2104
|
-
[
|
|
2105
|
-
const t =
|
|
2106
|
-
if (this[t(
|
|
2107
|
-
this
|
|
2108
|
-
const { logDate: e, logDateUnix: i } = this
|
|
2109
|
-
|
|
2103
|
+
[g(464)]() {
|
|
2104
|
+
const t = g;
|
|
2105
|
+
if (this[t(544)] || this[t(559)][t(538)] || this[t(559)][t(518)] || !this[t(570)].extra[t(484)] || !this[t(570)][t(555)][t(564)]) return;
|
|
2106
|
+
this[t(544)] = !0;
|
|
2107
|
+
const { logDate: e, logDateUnix: i } = this.getTime(), a = Date[t(461)](), r = this[t(559)][t(432)] > 0 ? a - this.state[t(432)] : 0, o = (this.reportData[t(555)][t(558)] || 0) * 1e3, f = this[t(559)].contentDuration, p = f > 0 ? Math.round(o / f * 1e4) / 100 : 0, y = this.reportData[t(555)][t(497)] || 0, S = { ...this[t(570)], video: this[t(570)][t(511)], percent: p, extra: { ...this[t(570)][t(555)], actionType: t(455), actionDuration: r ? r[t(541)](2) : 0, duration: f > 0 ? Math.floor(f / 1e3) : this.reportData[t(555)][t(560)] || 0, logDate: e, logDateUnix: i, contentId: this[t(559)].contentId, contentDuration: f, percent: p, watch_percent: p, watchPercent: p, isCompleted: p >= 95, isBounce: y < 1e4, pauseCnt: this.state.pauseCnt, seekCnt: this[t(559)][t(508)], speedChangeCnt: this.state[t(442)], lastPlaybackSpeed: this[t(559)][t(505)], fullscreenYn: this[t(559)][t(545)], fullscreenDuration: this[t(559)][t(426)] + (this[t(559)][t(429)] > 0 ? Date.now() - this[t(559)][t(429)] : 0), dropOffPosition: Math.round(o) } };
|
|
2108
|
+
T0(S);
|
|
2110
2109
|
}
|
|
2111
|
-
|
|
2112
|
-
this
|
|
2110
|
+
handleBeforeUnload() {
|
|
2111
|
+
this[g(464)]();
|
|
2113
2112
|
}
|
|
2114
|
-
|
|
2115
|
-
const t =
|
|
2116
|
-
document
|
|
2113
|
+
[g(465)]() {
|
|
2114
|
+
const t = g;
|
|
2115
|
+
document.visibilityState === t(565) && this[t(464)]();
|
|
2117
2116
|
}
|
|
2118
|
-
|
|
2119
|
-
const t =
|
|
2120
|
-
window[t(
|
|
2117
|
+
destroy() {
|
|
2118
|
+
const t = g;
|
|
2119
|
+
window[t(436)](t(578), this[t(428)]), document[t(436)]("visibilitychange", this[t(562)]), this[t(503)] !== null && (clearTimeout(this.vpeReportTimerId), this.vpeReportTimerId = null);
|
|
2121
2120
|
}
|
|
2122
|
-
|
|
2123
|
-
const i =
|
|
2124
|
-
let y = this
|
|
2125
|
-
return this.
|
|
2121
|
+
[g(486)](t, e) {
|
|
2122
|
+
const i = g, a = e?.[i(555)] || e || {}, r = (a?.[i(558)] || 0) * 1e3, o = this[i(559)][i(471)], f = o > 0 ? Math[i(457)](r / o * 1e4) / 100 : 0, p = this.reportData[i(555)][i(497)] || 0;
|
|
2123
|
+
let y = this[i(559)].fullscreenDuration;
|
|
2124
|
+
return this[i(559)].fullscreenEnterTime > 0 && (y += Date[i(461)]() - this[i(559)][i(429)]), { ...t, data: { ...e, contentId: this[i(559)][i(514)], duration: o > 0 ? Math[i(516)](o / 1e3) : a?.duration || 0, contentDuration: o, percent: f, watch_percent: f, watchPercent: f, isCompleted: f >= 95, isBounce: p < 1e4, pauseCnt: this[i(559)][i(567)], seekCnt: this[i(559)][i(508)], speedChangeCnt: this[i(559)][i(442)], lastPlaybackSpeed: this.state[i(505)], fullscreenYn: this.state[i(545)], fullscreenDuration: y, dropOffPosition: Math[i(457)](r) } };
|
|
2126
2125
|
}
|
|
2127
|
-
|
|
2128
|
-
const i =
|
|
2129
|
-
this[i(
|
|
2126
|
+
handleEnded(t, e) {
|
|
2127
|
+
const i = g;
|
|
2128
|
+
this[i(559)][i(538)] || (this.state.isEnded = !0, this.state[i(488)] = !1, this[i(544)] = !0, this[i(559)][i(550)] !== m.PAUSED && this[i(437)](this[i(559)][i(550)] || m.PLAYING, { ...t, data: e }), this[i(437)](m[i(517)], this[i(486)](t, e)));
|
|
2130
2129
|
}
|
|
2131
|
-
|
|
2132
|
-
const a =
|
|
2133
|
-
this[a(
|
|
2130
|
+
[g(556)](t, e, i) {
|
|
2131
|
+
const a = g;
|
|
2132
|
+
this[a(437)](this[a(559)][a(550)] || m[a(573)], this[a(486)](e, i))[a(494)](() => {
|
|
2134
2133
|
const r = a;
|
|
2135
|
-
this[r(
|
|
2136
|
-
this[r(
|
|
2134
|
+
this[r(437)](t, { ...e, data: i }).then(() => {
|
|
2135
|
+
this[r(424)]();
|
|
2137
2136
|
});
|
|
2138
2137
|
});
|
|
2139
2138
|
}
|
|
2140
|
-
|
|
2141
|
-
const i =
|
|
2142
|
-
this[i(
|
|
2143
|
-
const a = { errorCode: e?.[i(
|
|
2144
|
-
this[i(
|
|
2139
|
+
[g(501)](t, e) {
|
|
2140
|
+
const i = g;
|
|
2141
|
+
this[i(559)][i(550)] && !this.state.firstPlaying && this.report(this.state.prevAction, this[i(486)](t, e));
|
|
2142
|
+
const a = { errorCode: e?.[i(450)] || e?.[i(555)]?.[i(450)] || e?.[i(490)] || "E0000", errorMessage: e?.[i(536)] || e?.[i(555)]?.[i(536)] || e?.message || "Unknown Error" };
|
|
2143
|
+
this[i(437)](m.ERROR, { ...t, data: { ...e, ...a } }), this[i(559)][i(518)] = !0;
|
|
2145
2144
|
}
|
|
2146
|
-
[
|
|
2147
|
-
const i =
|
|
2148
|
-
this[i(
|
|
2145
|
+
[g(453)](t, e) {
|
|
2146
|
+
const i = g;
|
|
2147
|
+
this.state[i(550)] && !this.state[i(582)] && !this[i(559)][i(425)] && !this[i(559)][i(528)] && (this[i(559)][i(582)] = !0, this[i(437)](this[i(559)][i(550)], { ...t, data: e }), this.state[i(550)] = m.SEEKING);
|
|
2149
2148
|
}
|
|
2150
2149
|
handleRateChange(t, e) {
|
|
2151
|
-
const i =
|
|
2152
|
-
a !== this
|
|
2150
|
+
const i = g, a = e?.playbackRate || e?.[i(555)]?.[i(580)] || 1;
|
|
2151
|
+
a !== this[i(559)][i(505)] && (this[i(559)].speedChangeCnt++, this.state[i(505)] = a, this[i(437)](m[i(459)], { ...t, data: { ...e, speedChangeCnt: this.state.speedChangeCnt, lastPlaybackSpeed: a } }));
|
|
2153
2152
|
}
|
|
2154
2153
|
handleFullscreenChange(t, e) {
|
|
2155
|
-
const i =
|
|
2156
|
-
e?.
|
|
2154
|
+
const i = g;
|
|
2155
|
+
e?.[i(439)] || e?.[i(555)]?.[i(439)] ? (this[i(559)][i(545)] = !0, this.state.fullscreenEnterTime = Date.now()) : this[i(559)][i(429)] > 0 && (this[i(559)].fullscreenDuration += Date.now() - this[i(559)][i(429)], this[i(559)][i(429)] = 0), this[i(437)](m[i(469)], { ...t, data: { ...e, fullscreenYn: this[i(559)][i(545)], fullscreenDuration: this[i(559)][i(426)] } });
|
|
2157
2156
|
}
|
|
2158
|
-
[
|
|
2159
|
-
const t =
|
|
2160
|
-
this
|
|
2157
|
+
[g(424)]() {
|
|
2158
|
+
const t = g;
|
|
2159
|
+
this[t(559)][t(550)] = null, this.state.isPlaying = !1, this[t(559)].prevTime = 0, this[t(559)].firstPlaying = !0, this[t(559)][t(443)] = !1, this.state[t(567)] = 0, this[t(559)].seekCnt = 0, this[t(559)].speedChangeCnt = 0, this[t(559)][t(505)] = 1, this[t(559)][t(545)] = !1, this[t(559)][t(429)] = 0, this.state[t(426)] = 0, this[t(559)].contentId = null, this[t(559)][t(471)] = 0;
|
|
2161
2160
|
}
|
|
2162
2161
|
}
|
|
2163
|
-
const v =
|
|
2162
|
+
const v = qt;
|
|
2163
|
+
function Le() {
|
|
2164
|
+
const x = ["player_name", "toLowerCase", "access_key", "startTimeAt", "stage", "playerVersion", "status", "9LRZSSd", "getBrowserInfo", "1455AkBsaK", "aHR0cHM6Ly9wYXBpLmJldGEtdnBlLm5hdmVybmNwLmNvbS9wbGF5ZXIvY29uZmln", "mp4", "next", "slice", "createPlayerInfo", "code", "currentTime", "mpd", "ready", "POST", "saveData", "updateTranslator", "playerStateReport", "origin", " / ", "mobile", "naverncp.com/live/video/ls-", "VOD", "duration", "4MzxiMZ", "6aJmkaE", "setErrorRun", "string", "getElapsedMilliseconds", "Chrome", "kbps", "screen", "includes", "trim", "E0003", "UAParser", "getValidatedOptions", "getResult", "pricing", "video", "serverConfig", "sync", "warn", "whale", "config", "1991nwoUGE", "ncplayer : ", "hasFirstPlayReported", "rtt", "split", "browser", "round", "dash", "naver", "HLS 파싱 실패:", "type", "getVideoProtocol", "maManager", "stateChange", "userAgent", "playlist", "accessKey", "data", "json", "player_version", "stringify", "getTime", "navigator", "Unknown", "deviceMemory", "kakao", "errorState", "fullscreenchange", "Firefox", ".m3u8", "300CmryPQ", "playerStartTimeMs", "appId", "maSync", "translator", "maUse", "unknown", "Content-Type", "poster", "startup", "filter", "length", "some", "videoHeight", "host", "aHR0cHM6Ly9sb2cudnBlLm5hdmVybmNwLmNvbS9zdGF0cw==", "prevTrack", "isArray", "statusText", "ratechange", "result", "language", "initialize", "report", "aHR0cHM6Ly9sb2cuYmV0YS12cGUubmF2ZXJuY3AuY29tL3N0YXRz", "model", "effectiveType", "protocol", "19521138lwaCbz", "pay", "706BtvGAM", "indexOf", "1869180FHIEci", "auto", "error", "hlsPaser", "userAgentData", "errorCode", "connection", "exec", "Edge", "webkitConnection", "Auto", "16205cdkorH", "device", "height", "nextTrack", "?preview=true", "Safari", "ios", "VPE Player: accessKey 또는 appId가 없어 키 인증을 건너뜁니다.", "toString", "floor", ".mpd", "isDev", "isFullscreen", "test", "reduce", "platform", "aHR0cHM6Ly9sb2cuYmV0YS12cGUuZ292LW50cnVzcy5jb20vc3RhdHM=", "vpe", "API", "1728gZElcX", "application/json", "name", "aHR0cHM6Ly9wYXBpLnZwZS5nb3YtbnRydXNzLmNvbS9wbGF5ZXIvY29uZmln", "errorMessage", "VPE", "contentId", "live", "url", "join", "port", "cid", "mozConnection", "startsWith", "map", "isInitialized", "Other", "playbackRate", "1763445QgdXvg", "hls", "width", "location", "maInit", "getPlaylist", "Edg", "Error:", "now", "videoWidth", "match", "playerInfo", "watermarkConfig", "controlBtn", "quality", "hardwareConcurrency", "VPE SDK Initialization failed:", "href", "1821220AfCXhu", "aHR0cHM6Ly9wYXBpLnZwZS5uYXZlcm5jcC5jb20vcGxheWVyL2NvbmZpZw==", "LIVE", "player_start", "version", "downlink", "lang", "getErrorState", "meta", "errorInfo", "Naver webview", "dispatchEvent", "options", "playerName", "push", "performKeyCheck", "incomingType"];
|
|
2165
|
+
return Le = function() {
|
|
2166
|
+
return x;
|
|
2167
|
+
}, Le();
|
|
2168
|
+
}
|
|
2169
|
+
function qt(x, t) {
|
|
2170
|
+
return x = x - 207, Le()[x];
|
|
2171
|
+
}
|
|
2164
2172
|
(function(x, t) {
|
|
2165
|
-
const e =
|
|
2173
|
+
const e = qt, i = x();
|
|
2166
2174
|
for (; ; )
|
|
2167
2175
|
try {
|
|
2168
|
-
if (-parseInt(e(
|
|
2176
|
+
if (-parseInt(e(375)) / 1 * (parseInt(e(281)) / 2) + parseInt(e(331)) / 3 * (parseInt(e(395)) / 4) + -parseInt(e(283)) / 5 * (parseInt(e(396)) / 6) + -parseInt(e(294)) / 7 * (parseInt(e(313)) / 8) + -parseInt(e(373)) / 9 * (parseInt(e(349)) / 10) + parseInt(e(221)) / 11 * (parseInt(e(251)) / 12) + parseInt(e(279)) / 13 === t) break;
|
|
2169
2177
|
i.push(i.shift());
|
|
2170
2178
|
} catch {
|
|
2171
2179
|
i.push(i.shift());
|
|
2172
2180
|
}
|
|
2173
|
-
})(
|
|
2174
|
-
|
|
2175
|
-
|
|
2176
|
-
|
|
2177
|
-
function Be() {
|
|
2178
|
-
const x = ["status", "createPlayerInfo", "appId", "saveData", "Edge iOS", "isArray", "width", "aHR0cHM6Ly9sb2cudnBlLmdvdi1udHJ1c3MuY29tL3N0YXRz", "location", "getBrowserInfo", "player_name", "329603FAoeyZ", "Unknown", "UAParser", "map", "platform", "volumechange", "errorMessage", "state", "Content-Type", "Safari", "getVideoProtocol", "errorState", "playbackRate", "includes", "split", "getResult", "language", "incomingType", "undefined", "aHR0cHM6Ly9wYXBpLmJldGEtdnBlLmdvdi1udHJ1c3MuY29tL3BsYXllci9jb25maWc=", "browser", "Error:", "vpe", "ratechange", "video", "poster", "version", "auto", "1446904ifbTKL", "errorCode", "exec", "playerInfo", "getElapsedMilliseconds", ".mpd", "warn", "filter", "url", "ready", "hasFirstPlayReported", "indexOf", "naver", "858714XzMjjK", "fullscreenchange", "Edge", "config", "getErrorState", "setErrorRun", "isPaidTier", "downlink", "playerStartTimeMs", "hlsPaser", "meta", "7IjrxwI", "connection", "dash", "rtt", "videoWidth", "watermarkConfig", "toString", "VOD", "nextTrack", "#EXT-X-STREAM-INF", "json", "2183532TjeMty", "slice", "884793UYISDP", "isDev", "mobile", "Firefox iOS", "href", "kakaotalk", "E0002", "device", "title", "whale", "tablet", "maUse", "pay", "VPE SDK Initialization failed:", "quality", "1146080hYYQVi", "reduce", " / ", "startsWith", "match", "?preview=true", "maInit", "length", "contentId", "host", "startup", "trim", "application/json", "mpd", "playerVersion", "report", "vendor", "VPE Player: accessKey 또는 appId가 없어 키 인증을 건너뜁니다.", "5256936obUOii", "accessKey", "toLowerCase", "access_key", "port", "errorInfo", "Base64 decoding failed:", "stringify", "Naver webview", "controlBtn", "kbps", "player_version", "playlist", "translator", "effectiveType", "startTimeAt", "navigator", "isInitialized", "aHR0cHM6Ly9sb2cuYmV0YS12cGUubmF2ZXJuY3AuY29tL3N0YXRz", "naverncp.com/live/video/ls-", "E0001", "deviceMemory", "aHR0cHM6Ly9wYXBpLmJldGEtdnBlLm5hdmVybmNwLmNvbS9wbGF5ZXIvY29uZmln", "isFullscreen", "model", "playerStateReport", "statusText", "webkitConnection", "player_start", "object", "type", "duration", ".m3u8", "unknown", "mozConnection", "join", "maxTouchPoints", "getPlaylist", "userAgent", "maSync", "initialize", "Other", "ncplayer : ", "result", "some", "domain", "mp4", "aHR0cHM6Ly9wYXBpLnZwZS5nb3YtbnRydXNzLmNvbS9wbGF5ZXIvY29uZmln", "origin", "HLS 파싱 실패:", "data", "serverConfig", "options", "Firefox", "code", "Kakao webview", "error", "live", "aHR0cHM6Ly9sb2cudnBlLm5hdmVybmNwLmNvbS9zdGF0cw==", "now", "lang", "height", "aHR0cHM6Ly9sb2cuYmV0YS12cGUuZ292LW50cnVzcy5jb20vc3RhdHM=", "screen", "stage", "maManager", "updateTranslator", "userAgentData", "round", "Chrome iOS", "floor", "Whale", "test", "pricing", "name", "push"];
|
|
2179
|
-
return Be = function() {
|
|
2180
|
-
return x;
|
|
2181
|
-
}, Be();
|
|
2182
|
-
}
|
|
2183
|
-
const Ot = { gov: { prod: { config: v(526), report: v(562) }, beta: { config: v(585), report: v(541) } }, pub: { prod: { config: "aHR0cHM6Ly9wYXBpLnZwZS5uYXZlcm5jcC5jb20vcGxheWVyL2NvbmZpZw==", report: v(537) }, beta: { config: v(501), report: v(497) } } };
|
|
2184
|
-
let R0 = [];
|
|
2185
|
-
const Pt = (x) => {
|
|
2181
|
+
})(Le, 524353);
|
|
2182
|
+
const O0 = { gov: { prod: { config: v(316), report: "aHR0cHM6Ly9sb2cudnBlLmdvdi1udHJ1c3MuY29tL3N0YXRz" }, beta: { config: "aHR0cHM6Ly9wYXBpLmJldGEtdnBlLmdvdi1udHJ1c3MuY29tL3BsYXllci9jb25maWc=", report: v(310) } }, pub: { prod: { config: v(350), report: v(266) }, beta: { config: v(376), report: v(275) } } };
|
|
2183
|
+
let Dt = [];
|
|
2184
|
+
const P0 = (x) => {
|
|
2186
2185
|
const t = v;
|
|
2187
2186
|
try {
|
|
2188
2187
|
return atob(x);
|
|
2189
2188
|
} catch (e) {
|
|
2190
|
-
return console[t(
|
|
2189
|
+
return console[t(285)]("Base64 decoding failed:", e), "";
|
|
2191
2190
|
}
|
|
2192
2191
|
};
|
|
2193
|
-
class
|
|
2194
|
-
|
|
2195
|
-
[v(
|
|
2196
|
-
|
|
2197
|
-
[v(
|
|
2192
|
+
class U0 {
|
|
2193
|
+
[v(216)] = {};
|
|
2194
|
+
[v(342)] = null;
|
|
2195
|
+
[v(237)];
|
|
2196
|
+
[v(253)];
|
|
2198
2197
|
platform;
|
|
2199
|
-
|
|
2200
|
-
[v(
|
|
2201
|
-
[v(
|
|
2202
|
-
[v(
|
|
2203
|
-
|
|
2204
|
-
[v(
|
|
2205
|
-
[v(
|
|
2206
|
-
[v(
|
|
2207
|
-
[v(
|
|
2198
|
+
[v(370)];
|
|
2199
|
+
[v(305)];
|
|
2200
|
+
[v(255)] = Qe();
|
|
2201
|
+
[v(247)];
|
|
2202
|
+
maManager = null;
|
|
2203
|
+
[v(369)] = null;
|
|
2204
|
+
[v(365)] = null;
|
|
2205
|
+
[v(223)] = !1;
|
|
2206
|
+
[v(252)] = 0;
|
|
2208
2207
|
constructor({ accessKey: t, appId: e, platform: i, stage: a, isDev: r = !1, language: o }) {
|
|
2209
|
-
const
|
|
2210
|
-
this
|
|
2208
|
+
const f = v;
|
|
2209
|
+
this.accessKey = t, this[f(253)] = e || location.origin, this[f(309)] = i, this[f(370)] = a, this[f(305)] = r, this[f(387)](o), this.errorState = { errorCode: null, errorMessage: null };
|
|
2211
2210
|
}
|
|
2212
|
-
async [v(
|
|
2213
|
-
const t = v, e = ["accessKey", t(
|
|
2214
|
-
if ([this[e[0]], this[e[1]]][t(
|
|
2211
|
+
async [v(273)]() {
|
|
2212
|
+
const t = v, e = ["accessKey", t(253), "E0002", "E0001", t(210)], i = t(301);
|
|
2213
|
+
if ([this[e[0]], this[e[1]]][t(263)]((o) => !o)) return console[t(218)](i), { error: this[t(397)](e[2]) };
|
|
2215
2214
|
const r = (o) => {
|
|
2216
|
-
const
|
|
2217
|
-
return this[
|
|
2215
|
+
const f = t;
|
|
2216
|
+
return this[f(216)] = o, this[f(342)] = this[f(380)](o), this[f(342)];
|
|
2218
2217
|
};
|
|
2219
2218
|
try {
|
|
2220
|
-
const o = await this
|
|
2221
|
-
if (o[t(
|
|
2222
|
-
const
|
|
2223
|
-
if (window[t(
|
|
2224
|
-
await
|
|
2225
|
-
const p = await
|
|
2226
|
-
this[t(
|
|
2219
|
+
const o = await this[t(364)]();
|
|
2220
|
+
if (o[t(381)] !== 200) return { error: this.setErrorRun(e[3]) };
|
|
2221
|
+
const f = r(o);
|
|
2222
|
+
if (window[t(311)] && (window.vpe[t(362)] = f?.[t(366)], window[t(311)][t(371)] = window[t(311)][t(371)] || f?.[t(240)], window[t(311)][t(366)] = f[t(366)] + "|" + window[t(311)][t(371)], window.vpe.state = this.stage), f?.[t(256)] === "Y") {
|
|
2223
|
+
await E0(this[t(309)], this[t(370)], f, this[t(253)], this[t(237)]);
|
|
2224
|
+
const p = await I0(this.accessKey);
|
|
2225
|
+
this[t(233)] = new M0(this[t(309)], this.stage, f), this[t(369)] = Date[t(339)](), p?.[t(271)]?.[t(217)] && await this[t(233)][t(335)]({ video: f[t(215)] || {}, extra: { ...f.extra } });
|
|
2227
2226
|
}
|
|
2228
|
-
return { options: this.serverConfig[t(
|
|
2227
|
+
return { options: this.serverConfig[t(271)]?.[t(361)], playerInfo: f };
|
|
2229
2228
|
} catch (o) {
|
|
2230
|
-
return console[t(
|
|
2229
|
+
return console[t(285)](t(347), o), { error: this.setErrorRun(e[4]) };
|
|
2231
2230
|
}
|
|
2232
2231
|
}
|
|
2233
|
-
async
|
|
2234
|
-
const t = v, e = [t(
|
|
2235
|
-
|
|
2236
|
-
|
|
2232
|
+
async [v(364)]() {
|
|
2233
|
+
const t = v, e = [t(298), t(220), t(258), t(314), t(368), "domain", t(385)], i = this[t(305)] ? e[0] : "", a = P0(O0[this.platform][this[t(370)]][e[1]]) + i, r = this[t(253)], o = JSON[t(241)]([e[4], e[5]][t(308)]((p, y, S) => {
|
|
2234
|
+
const E = t;
|
|
2235
|
+
return p[y] = [this[E(237)], r][S], p;
|
|
2236
|
+
}, {})), f = await fetch(a, { method: e[6], headers: { [e[2]]: e[3] }, body: o });
|
|
2237
|
+
if (!f.ok) throw new Error([t(312), t(338), f[t(372)], f[t(269)]][t(322)](" "));
|
|
2238
|
+
return f[t(239)]();
|
|
2237
2239
|
}
|
|
2238
|
-
[v(
|
|
2239
|
-
const t = v, e = navigator
|
|
2240
|
-
return /CriOS\/(\d+\.\d+)/[t(
|
|
2240
|
+
[v(374)]() {
|
|
2241
|
+
const t = v, e = navigator.userAgent;
|
|
2242
|
+
return /CriOS\/(\d+\.\d+)/[t(307)](e) ? { origin: "Chrome iOS", version: RegExp.$1 } : /FxiOS\/(\d+\.\d+)/[t(307)](e) ? { origin: "Firefox iOS", version: RegExp.$1 } : /EdgiOS\/(\d+\.\d+)/[t(307)](e) ? { origin: "Edge iOS", version: RegExp.$1 } : /Edg\/(\d+\.\d+)/[t(307)](e) ? { origin: t(291), version: RegExp.$1 } : /Chrome\/(\d+\.\d+)/.test(e) && !e[t(208)](t(337)) ? { origin: t(400), version: RegExp.$1 } : /Firefox\/(\d+\.\d+)/.test(e) ? { origin: t(249), version: RegExp.$1 } : /Version\/(\d+\.\d+)/[t(307)](e) && e[t(208)]("Safari") ? { origin: t(299), version: RegExp.$1 } : { origin: t(244), version: t(244) };
|
|
2241
2243
|
}
|
|
2242
|
-
[v(
|
|
2243
|
-
const e = v, [i, a] = t[e(
|
|
2244
|
-
window[e(
|
|
2245
|
-
const y = p[e(
|
|
2246
|
-
return { cid: t[e(
|
|
2244
|
+
[v(380)](t) {
|
|
2245
|
+
const e = v, [i, a] = t[e(271)][e(315)][e(225)]("|"), r = navigator[e(289)] || navigator[e(325)] || navigator[e(292)], o = this[e(374)](), f = navigator[e(287)], p = new Et[e(211)](window[e(243)][e(235)])[e(213)]();
|
|
2246
|
+
window[e(243)][e(235)][e(367)]()[e(208)](e(219)) ? p[e(226)][e(315)] = "Whale" : window[e(243)].userAgent.toLowerCase()[e(208)]("kakaotalk") ? p.browser[e(315)] = "Kakao webview" : window.navigator.userAgent[e(367)]()[e(208)]("naver") ? p.browser[e(315)] = e(359) : window.navigator[e(235)][e(367)]()[e(208)](e(246)) ? p[e(226)][e(315)] = "Kakao webview" : window[e(243)][e(235)].toLowerCase()[e(208)](e(229)) && (p.browser.name = e(359));
|
|
2247
|
+
const y = p[e(295)][e(231)], S = /Macintosh/.test(window.navigator[e(235)]) && (navigator.maxTouchPoints ?? 0) > 1, E = y === e(391) || y === "tablet" || S || (f?.[e(391)] ?? !1), D = p.os[e(315)] || f?.[e(309)] || e(244), H = (p.os[e(315)] || "")[e(367)]() === e(300), U = /Version\/(\d+\.\d+)/[e(290)](navigator.userAgent)?.[1], L = H && !!U, Q = L ? U : p.os[e(353)], j = H && !L, we = typeof window < "u" && window[e(311)]?.[e(371)] || a;
|
|
2248
|
+
return { cid: t[e(271)][e(324)], player_name: i, player_version: we, pricing: t[e(271)][e(214)], maUse: t[e(271)][e(361)]?.maUse === "Y" ? "Y" : "N", browser: { lang: navigator.language, ua: navigator[e(235)] }, screen: { width: window.screen[e(333)], height: window[e(207)].height }, connection: { network: r?.[e(277)] ?? e(257), downlink: r?.[e(354)] ?? null, rtt: r?.[e(224)] ?? null, save_data: r?.[e(386)] ?? !1 }, device: { platform: D, mobile: E, memory: navigator[e(245)] ?? null, processor: navigator[e(346)] ?? null }, video: { url: "" }, extra: { vpeKey: this[e(237)], playerType: e(318), playerVersion: we, os: (p.os[e(315)] || e(244)) + e(390) + (Q || ""), osOrigin: p.os[e(315)] || e(244), osVersion: Q, osVersionFrozen: j, vpePackageId: null, actionDuration: this.getElapsedMilliseconds(), actionType: e(384), browser: o[e(389)], browserOrigin: o[e(389)], browserVersion: o.version, quality: e(329), qualityOrigin: e(293), device: p[e(295)].vendor + " " + p.device[e(276)], location: window[e(334)].href, host: window[e(334)][e(265)], port: window.location[e(323)], protocol: window.location.protocol, title: "" } };
|
|
2247
2249
|
}
|
|
2248
|
-
|
|
2249
|
-
const e = v, i = t[e(
|
|
2250
|
-
return this[e(
|
|
2250
|
+
[v(397)](t) {
|
|
2251
|
+
const e = v, i = t[e(379)](-2), a = this[e(255)][e(285)][i] || this[e(255)].error["01"], r = { errorCode: t, errorMessage: a };
|
|
2252
|
+
return this[e(247)] = r, console[e(285)](e(222), r), r;
|
|
2251
2253
|
}
|
|
2252
2254
|
updateTranslator(t) {
|
|
2253
|
-
|
|
2254
|
-
this[e(492)] = Qe(t);
|
|
2255
|
+
this.translator = Qe(t);
|
|
2255
2256
|
}
|
|
2256
|
-
[v(
|
|
2257
|
-
return this[v(
|
|
2257
|
+
[v(356)]() {
|
|
2258
|
+
return this[v(247)];
|
|
2258
2259
|
}
|
|
2259
|
-
|
|
2260
|
+
isPaidTier() {
|
|
2260
2261
|
const t = v;
|
|
2261
|
-
return this.serverConfig[t(
|
|
2262
|
+
return this.serverConfig[t(271)]?.[t(214)] === t(280);
|
|
2262
2263
|
}
|
|
2263
|
-
[v(
|
|
2264
|
+
[v(328)]() {
|
|
2264
2265
|
const t = v;
|
|
2265
|
-
return !!this[t(
|
|
2266
|
+
return !!this[t(216)][t(271)];
|
|
2266
2267
|
}
|
|
2267
|
-
|
|
2268
|
-
const e = v, i =
|
|
2269
|
-
this[e(
|
|
2268
|
+
[v(212)](t) {
|
|
2269
|
+
const e = v, i = C0(this[e(216)].result?.options, this[e(216)][e(271)]?.[e(214)]);
|
|
2270
|
+
this[e(216)].result?.[e(214)] !== e(280) && (t = { ...t, ...i });
|
|
2270
2271
|
const a = { ...i, ...t ?? {} };
|
|
2271
|
-
return a?.[e(
|
|
2272
|
+
return a?.[e(355)] && (a?.[e(355)] == e(284) || this[e(387)](a.lang)), t?.[e(344)] && (a.controlBtn = { ...i[e(344)], ...t[e(344)] }), t?.watermarkConfig && (a[e(343)] = { ...i[e(343)], ...t[e(343)] }), a[e(236)] && !Array[e(268)](a[e(236)]) && (a.playlist = [{ file: a[e(236)] }]), Dt = a[e(236)] || [], a;
|
|
2272
2273
|
}
|
|
2273
|
-
[v(
|
|
2274
|
-
return
|
|
2274
|
+
[v(336)]() {
|
|
2275
|
+
return Dt || [];
|
|
2275
2276
|
}
|
|
2276
2277
|
$t(t) {
|
|
2277
|
-
const e = v, i = t[e(
|
|
2278
|
-
let a = this
|
|
2278
|
+
const e = v, i = t[e(225)](".");
|
|
2279
|
+
let a = this.translator;
|
|
2279
2280
|
for (const r of i)
|
|
2280
|
-
if (a && typeof a
|
|
2281
|
+
if (a && typeof a == "object" && r in a) a = a[r];
|
|
2281
2282
|
else return t;
|
|
2282
|
-
return typeof a
|
|
2283
|
+
return typeof a === e(398) ? a : t;
|
|
2283
2284
|
}
|
|
2284
|
-
async [v(
|
|
2285
|
+
async [v(286)](t) {
|
|
2285
2286
|
const e = v, i = [];
|
|
2286
|
-
if (!t || t
|
|
2287
|
-
const a = (
|
|
2287
|
+
if (!t || t.indexOf(e(250)) === -1) return i;
|
|
2288
|
+
const a = (f, p) => {
|
|
2288
2289
|
const y = e;
|
|
2289
2290
|
try {
|
|
2290
|
-
return new URL(p,
|
|
2291
|
+
return new URL(p, f)[y(302)]();
|
|
2291
2292
|
} catch {
|
|
2292
2293
|
return p;
|
|
2293
2294
|
}
|
|
2294
|
-
}, r = (
|
|
2295
|
-
const p = e, y =
|
|
2295
|
+
}, r = (f) => {
|
|
2296
|
+
const p = e, y = f.match(/RESOLUTION=(\d+)x(\d+)/);
|
|
2296
2297
|
if (y) return y[2] + "p";
|
|
2297
|
-
const S =
|
|
2298
|
-
return S ? Math[p(
|
|
2299
|
-
}, o = (
|
|
2300
|
-
const p = e, y =
|
|
2301
|
-
for (let S = 0; S < y
|
|
2302
|
-
const
|
|
2303
|
-
if (
|
|
2304
|
-
const
|
|
2305
|
-
|
|
2298
|
+
const S = f[p(341)](/BANDWIDTH=(\d+)/);
|
|
2299
|
+
return S ? Math[p(227)](Number(S[1]) / 1e3) + p(401) : p(284);
|
|
2300
|
+
}, o = (f) => {
|
|
2301
|
+
const p = e, y = f.split(/\r?\n/)[p(327)]((S) => S[p(209)]())[p(261)]((S) => S[p(262)] > 0);
|
|
2302
|
+
for (let S = 0; S < y.length; S += 1) {
|
|
2303
|
+
const E = y[S];
|
|
2304
|
+
if (E.startsWith("#EXT-X-STREAM-INF")) {
|
|
2305
|
+
const D = y[S + 1];
|
|
2306
|
+
D && !D[p(326)]("#") && (i[p(363)]({ quality: r(E), url: a(t, D), levelIndex: i[p(262)] }), S += 1);
|
|
2306
2307
|
}
|
|
2307
2308
|
}
|
|
2308
2309
|
};
|
|
2309
2310
|
try {
|
|
2310
|
-
const
|
|
2311
|
-
if (!
|
|
2312
|
-
const p = await
|
|
2311
|
+
const f = await fetch(t);
|
|
2312
|
+
if (!f.ok) return i;
|
|
2313
|
+
const p = await f.text();
|
|
2313
2314
|
return p && o(p), i;
|
|
2314
|
-
} catch (
|
|
2315
|
-
return console[e(
|
|
2315
|
+
} catch (f) {
|
|
2316
|
+
return console[e(285)](e(230), f), i;
|
|
2316
2317
|
}
|
|
2317
2318
|
}
|
|
2318
|
-
async [v(
|
|
2319
|
+
async [v(388)](t) {
|
|
2319
2320
|
const e = v;
|
|
2320
|
-
if (!t?.
|
|
2321
|
-
const i = new
|
|
2322
|
-
if (t.type ==
|
|
2323
|
-
if (t
|
|
2324
|
-
await this[e(
|
|
2321
|
+
if (!t?.[e(231)] || !this[e(233)] || this[e(342)]?.maUse !== "Y") return;
|
|
2322
|
+
const i = new Et[e(211)](window[e(243)][e(235)])[e(213)]();
|
|
2323
|
+
if (t.type == "volumechange" || t.type == e(234)) return;
|
|
2324
|
+
if (t[e(231)] == e(270)) {
|
|
2325
|
+
await this[e(274)](e(270), { extra: { playbackRate: t?.[e(238)]?.[e(330)] || t?.[e(215)]?.data?.[e(330)] || 1 } }, t[e(231)]);
|
|
2325
2326
|
return;
|
|
2326
2327
|
}
|
|
2327
|
-
if (t
|
|
2328
|
-
await this
|
|
2328
|
+
if (t.type == e(248)) {
|
|
2329
|
+
await this[e(274)](e(248), { extra: { isFullscreen: t?.data?.[e(306)] || !1 } }, t[e(231)]);
|
|
2329
2330
|
return;
|
|
2330
2331
|
}
|
|
2331
|
-
const a = t[e(
|
|
2332
|
-
t
|
|
2333
|
-
const r = t?.
|
|
2334
|
-
this
|
|
2335
|
-
const y = this.incomingType === "play" && !this.hasFirstPlayReported, S = y ? e(
|
|
2336
|
-
y && (this
|
|
2337
|
-
const
|
|
2338
|
-
let
|
|
2339
|
-
if (S == e(
|
|
2340
|
-
const
|
|
2341
|
-
Q =
|
|
2332
|
+
const a = t[e(231)];
|
|
2333
|
+
t.type == e(384) && (t[e(231)] = e(352)), (t[e(231)] === e(378) || t.type === "prev" || t.type === e(297) || t[e(231)] === e(267)) && (this[e(223)] = !1);
|
|
2334
|
+
const r = t?.[e(215)]?.[e(321)] ?? "", o = /\.mp4(?:[?#]|$)/i[e(307)](r) && !r[e(208)](e(250)) && !r[e(208)](e(304)), f = !o && (t?.video?.type == e(320) || r[e(208)](e(392))), p = navigator.connection || navigator[e(325)] || navigator.webkitConnection || null;
|
|
2335
|
+
this[e(365)] = t?.[e(231)] || null;
|
|
2336
|
+
const y = this.incomingType === "play" && !this.hasFirstPlayReported, S = y ? e(260) : this[e(365)];
|
|
2337
|
+
y && (this.hasFirstPlayReported = !0);
|
|
2338
|
+
const E = t?.[e(215)]?.data?.[e(394)] || 0, D = t?.[e(215)]?.data?.[e(382)] || 0, H = t?.[e(215)]?.[e(340)] || 0, U = t?.[e(215)]?.[e(264)] || 0;
|
|
2339
|
+
let L = 0, Q = 0, j = 0;
|
|
2340
|
+
if (S == e(352) && (L = this[e(399)](), this[e(252)] = L), S == e(260)) {
|
|
2341
|
+
const dt = this[e(399)]();
|
|
2342
|
+
Q = dt - this[e(252)], j = dt;
|
|
2342
2343
|
}
|
|
2343
|
-
const
|
|
2344
|
-
await this[e(
|
|
2344
|
+
const we = { type: S, video: { type: f ? e(351) : "VOD", quality: t?.[e(215)]?.[e(345)] ? t?.[e(215)]?.[e(345)] : e(284), url: t?.video?.[e(321)] }, connection: p ? { network: p[e(277)], downlink: p[e(354)], rtt: p[e(224)], save_data: p[e(386)] } : void 0, extra: { actionType: S, url: t?.[e(215)]?.url, type: e(f ? 351 : 393), videoFormat: this[e(232)](t?.[e(215)]?.[e(321)]), ...t?.[e(215)]?.[e(259)] ? { poster: t[e(215)][e(259)] } : {}, video_type: f ? e(351) : "VOD", title: t?.[e(357)]?.title, contentId: t?.[e(215)]?.contentId || t?.[e(357)]?.[e(319)] || null, metaData: t?.[e(357)], videoWidth: Math[e(227)](H), videoHeight: Math[e(227)](U), video_protocols: this[e(232)](t?.[e(215)]?.[e(321)]), duration: Math[e(303)](E), currentTime: Math[e(303)](D), playedTime: this[e(399)](), viewingTime: Math.round(this[e(399)]() / 1e3), playerStartTime: L, videoStartTime: Q, totalStartTime: j, percent: Math.round(D / E * 100), quality: t?.video?.[e(345)] ? t?.video?.[e(345)] : e(284), errorCode: t?.[e(238)]?.errorCode ?? t?.errorInfo?.[e(288)], errorMessage: t?.[e(238)]?.errorMessage ?? t?.[e(358)]?.[e(317)], actionDuration: this[e(399)]() / 1e3, device: i[e(295)].vendor + " " + i.device.model, location: window[e(334)][e(348)], host: window.location[e(265)], port: window[e(334)][e(323)], protocol: window.location[e(278)] }, browser: { lang: navigator[e(272)], ua: navigator[e(235)] }, screen: { width: window[e(207)][e(333)], height: window[e(207)][e(296)] } };
|
|
2345
|
+
await this[e(274)](S, we, a);
|
|
2345
2346
|
}
|
|
2346
|
-
async
|
|
2347
|
+
async report(t, e, i) {
|
|
2347
2348
|
const a = v;
|
|
2348
|
-
if (!this[a(
|
|
2349
|
+
if (!this[a(233)]) return;
|
|
2349
2350
|
const r = e && typeof e == "object" ? e : { extra: { actionDuration: this.getElapsedMilliseconds() } };
|
|
2350
|
-
await this[a(
|
|
2351
|
+
await this[a(233)][a(254)](r), await this[a(233)][a(360)]({ type: t, data: r });
|
|
2351
2352
|
}
|
|
2352
|
-
[v(
|
|
2353
|
+
[v(232)](t) {
|
|
2353
2354
|
const e = v;
|
|
2354
|
-
return t
|
|
2355
|
+
return t[e(282)]("m3u8") > -1 ? e(332) : t[e(282)](e(383)) > -1 ? e(228) : e(377);
|
|
2355
2356
|
}
|
|
2356
|
-
[v(
|
|
2357
|
-
|
|
2357
|
+
[v(399)]() {
|
|
2358
|
+
const t = v;
|
|
2359
|
+
return this[t(369)] ? (/* @__PURE__ */ new Date())[t(242)]() - this[t(369)] : 0;
|
|
2358
2360
|
}
|
|
2359
2361
|
}
|
|
2362
|
+
function Be() {
|
|
2363
|
+
var x = ["4415ULLJRh", "53850VtXhRE", "8TGDqTU", "2439120ixmKtV", "140ujCyrG", "120147BdyOIp", "22177617bQAilW", "3620kHlrhV", "13783740TnzQfi", "12724083iLxeUN", "24IGILRH"];
|
|
2364
|
+
return Be = function() {
|
|
2365
|
+
return x;
|
|
2366
|
+
}, Be();
|
|
2367
|
+
}
|
|
2360
2368
|
(function(x, t) {
|
|
2361
|
-
for (var e =
|
|
2369
|
+
for (var e = N0, i = x(); ; )
|
|
2362
2370
|
try {
|
|
2363
|
-
var a = parseInt(e(
|
|
2371
|
+
var a = -parseInt(e(207)) / 1 * (-parseInt(e(212)) / 2) + parseInt(e(216)) / 3 + parseInt(e(209)) / 4 * (parseInt(e(213)) / 5) + -parseInt(e(214)) / 6 * (parseInt(e(206)) / 7) + parseInt(e(215)) / 8 * (-parseInt(e(211)) / 9) + parseInt(e(210)) / 10 + -parseInt(e(208)) / 11;
|
|
2364
2372
|
if (a === t) break;
|
|
2365
2373
|
i.push(i.shift());
|
|
2366
2374
|
} catch {
|
|
2367
2375
|
i.push(i.shift());
|
|
2368
2376
|
}
|
|
2369
|
-
})(
|
|
2370
|
-
function
|
|
2371
|
-
x = x -
|
|
2372
|
-
var e =
|
|
2377
|
+
})(Be, 822859);
|
|
2378
|
+
function N0(x, t) {
|
|
2379
|
+
x = x - 206;
|
|
2380
|
+
var e = Be(), i = e[x];
|
|
2373
2381
|
return i;
|
|
2374
2382
|
}
|
|
2375
|
-
function Le() {
|
|
2376
|
-
var x = ["18070857jPVcRZ", "4uHzpyD", "3487422igDWpD", "8DHFfde", "4071130iqCjcn", "5926676vqIuwx", "2138260bZrYHK", "212050LPhKxV", "4883514xXQTXo"];
|
|
2377
|
-
return Le = function() {
|
|
2378
|
-
return x;
|
|
2379
|
-
}, Le();
|
|
2380
|
-
}
|
|
2381
2383
|
export {
|
|
2382
|
-
|
|
2384
|
+
U0 as default,
|
|
2383
2385
|
Qe as getTranslator
|
|
2384
2386
|
};
|