@erhan/utopyatv 0.1.15 → 0.1.16
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.
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
(function(){var e=document.createElement(`style`);e.textContent=`:root{--bg:#070c18;--bg-top:#0d1830;--surface:#111c33;--surface-variant:#1a2947;--on-bg:#e8edf5;--on-surface-variant:#a3b1c9;--accent:#4fc3f7;--accent-rgb:79, 195, 247;--live:#e53935;--error:#ff6b6b;--glass:rgba(17,28,51,.72)}html{font-size:1.04167vw;font-size:min(1.04167vw,1.85185vh)}html,body{height:100%;color:var(--on-bg);-webkit-font-smoothing:antialiased;background:0 0;margin:0;font-family:SamsungOne,Tizen Sans,Roboto,Helvetica Neue,Arial,sans-serif;overflow:hidden}*{box-sizing:border-box}::-webkit-scrollbar{display:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}[data-focus]:focus{outline:none}h1,h2,p{margin:0}.muted{color:var(--on-surface-variant)}.row{align-items:center;display:flex}.row>*+*{margin-left:1.2rem}.app{z-index:1;flex-direction:column;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}#video{position:absolute;top:0;bottom:0;left:0;right:0}.backdrop{z-index:-1;background:radial-gradient(circle at 10% 0, rgba(var(--accent-rgb), .13), transparent 55vw), radial-gradient(circle at 100% 100%, rgba(124,77,255,.1), transparent 50vw), linear-gradient(var(--bg-top), var(--bg));background-size:100vw 100vh;position:absolute;transform:translateZ(0)}.glass{background:var(--glass);border:.1rem solid rgba(255,255,255,.06);border-radius:2rem}.icon{width:2.2rem;height:2.2rem;display:block}.topbar{flex:none;align-items:center;margin:1.8rem 4.8rem 0;padding:.8rem 1.6rem;display:flex}.brand{background:linear-gradient(90deg, #fff, var(--accent));-webkit-text-fill-color:transparent;-webkit-background-clip:text;flex:1;font-size:2.2rem;font-weight:900}.pills{align-items:center;display:flex}.pill{color:var(--on-surface-variant);white-space:nowrap;border:.1rem solid transparent;border-radius:10rem;margin-left:.2rem;padding:.7rem 1.2rem;font-size:1.6rem;font-weight:500}.pill.selected{background:rgba(var(--accent-rgb), .18);border-color:rgba(var(--accent-rgb), .5);color:var(--accent)}.pill:focus{background:var(--on-bg);color:var(--surface)}.content{flex:1;min-height:0;padding:2.4rem 4.8rem 2.7rem;overflow:auto}.placeholder h1{margin-bottom:1rem;font-size:3.4rem;font-weight:700}.placeholder p{font-size:1.8rem}.scrim{z-index:30;background:rgba(0,0,0,.6);justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.dialog{background:var(--surface);width:48rem;padding:2.8rem 3.2rem}.dialog h2{margin-bottom:1rem;font-size:2.4rem}.dialog p{color:var(--on-surface-variant);margin-bottom:2.4rem;font-size:1.8rem}.btn{background:var(--surface-variant);border-radius:10rem;padding:.9rem 2.2rem;font-size:1.6rem;font-weight:500}.btn:focus{background:var(--on-bg);color:var(--surface)}.btn{align-items:center;display:inline-flex}.btn .icon{width:2rem;height:2rem;margin-right:.8rem}.btn.primary{background:var(--accent);color:#00121c}.btn.outline{background:0 0;border:.1rem solid rgba(255,255,255,.25)}.btn:focus,.btn.primary:focus,.btn.outline:focus{background:var(--on-bg);color:var(--surface);border-color:var(--on-bg)}.chip{border:.1rem solid rgba(255,255,255,.2);border-radius:10rem;padding:.6rem 1.6rem;font-size:1.5rem}.chip.selected{background:rgba(var(--accent-rgb), .18);border-color:var(--accent);color:var(--accent)}.chip:focus{background:var(--on-bg);color:var(--surface)}.field{margin-bottom:1.4rem;display:block}.field-label{color:var(--on-surface-variant);margin-bottom:.6rem;font-size:1.4rem;display:block}.field-box{background:var(--surface-variant);border:.2rem solid transparent;border-radius:1.2rem}.field-box:focus{border-color:var(--accent)}.field-box input:focus{background:rgba(var(--accent-rgb), .12)}.field-box input{width:100%;color:var(--on-bg);font:inherit;background:0 0;border:0;border-radius:1rem;outline:none;padding:1rem 1.4rem;font-size:1.7rem;display:block}.field-box input::-webkit-input-placeholder{color:rgba(163,177,201,.6)}.field-pair{display:flex}.field-pair>.field{flex:1}.field-pair>.field+.field{margin-left:1.6rem}.error-box{background:rgba(255,82,82,.2);border-radius:1.2rem;margin-bottom:1.4rem;padding:1.6rem;font-size:1.7rem}.error-text{color:var(--error);font-size:2.2rem}.onboarding{flex-direction:column;flex:1;min-height:0;padding:2.7rem 4.8rem;display:flex}.center-msg{margin:auto;font-size:2.2rem}.onb-choose{flex:1;align-items:center;display:flex}.onb-brand{flex:.9;margin-right:5.6rem}.brand-mark{background:linear-gradient(135deg, var(--accent), #0288d1);color:#fff;border-radius:1.8rem;justify-content:center;align-items:center;width:7.2rem;height:7.2rem;display:flex}.brand-mark .icon{width:4.3rem;height:4.3rem}.onb-brand h1{margin-top:2.4rem;font-size:4.8rem;font-weight:900}.tagline{margin-top:.8rem;font-size:2.2rem}.features{margin:3.6rem 0 0;padding:0;list-style:none}.features li{align-items:center;margin-bottom:1.6rem;font-size:1.8rem;display:flex}.feature-icon{background:rgba(var(--accent-rgb), .14);width:4rem;height:4rem;color:var(--accent);border-radius:50%;flex:none;justify-content:center;align-items:center;margin-right:1.6rem;display:flex}.note{margin-top:2rem;font-size:1.4rem}.onb-options{flex:1.1;max-height:100%;margin:-1.2rem -1.6rem;padding:1.2rem 1.6rem;overflow:auto}.onb-options h2{margin:0 0 .6rem .4rem;font-size:2.2rem;font-weight:600}.option{text-align:left;background:rgba(17,28,51,.75);border:.2rem solid transparent;border-radius:1.6rem;align-items:center;width:100%;margin-top:.8rem;padding:.9rem 1.8rem;transition:transform .12s ease-out;display:flex}.option:focus{background:var(--surface-variant);border-color:var(--accent);transform:scale(1.03)}.option-icon{border-radius:1.2rem;flex:none;justify-content:center;align-items:center;width:4.4rem;height:4.4rem;display:flex}.option-icon .icon{width:2.6rem;height:2.6rem}.option-text{flex:1;min-width:0;margin-left:1.6rem;font-size:1.4rem}.option-text>span{display:block}.option-title{margin-bottom:.2rem;font-size:1.8rem;font-weight:500}.badge{border-radius:10rem;margin-left:1rem;padding:.2rem 1rem;font-size:1.2rem}.step-header{flex:none;align-items:center;display:flex}.step-header>div{margin-left:2.4rem}.step-header h1{font-size:2.8rem;font-weight:600}.step-header p{font-size:1.6rem}.form-step{flex-direction:column;flex:1;min-height:0;display:flex}.form-row{flex:1;min-height:0;margin-top:2rem;display:flex}.form-panel{flex:1;padding:2.2rem 2.8rem;overflow:auto}.form-panel h3{margin:0 0 1rem;font-size:1.6rem;font-weight:500}.connect{margin:.4rem 0 1.8rem}.file-chosen{margin-bottom:1.4rem;font-size:1.7rem}.form-side{flex:none;width:34rem;margin-left:2.8rem}.usb-list{flex:1;margin-top:2rem;padding:1.6rem 2.2rem;font-size:1.7rem;overflow:auto}.sync-step{text-align:center;margin:auto}.sync-step h1{margin-bottom:2.4rem;font-size:2.8rem;font-weight:600}.sync-step .stage{font-size:2.2rem}.sync-step .row{justify-content:center;margin-top:2.4rem}.sync-step>.btn{margin-top:3.2rem}.indeterminate{background:var(--surface-variant);border-radius:.3rem;width:48rem;height:.6rem;margin:2rem auto 0;overflow:hidden}.indeterminate span{background:var(--accent);width:40%;height:100%;animation:1.2s ease-in-out infinite indeterminate;display:block}@keyframes indeterminate{0%{transform:translate(-100%)}to{transform:translate(250%)}}.focus-row{text-align:left;border:.3rem solid transparent;border-radius:1rem;align-items:center;width:100%;padding:.8rem 1.2rem;transition:transform .1s ease-out;display:flex}.focus-row>*+*{margin-left:1rem}.focus-row.idle{background:rgba(26,41,71,.45)}.focus-row.selected{background:var(--surface-variant)}.focus-row:focus{background:var(--surface-variant);border-color:var(--accent);transform:scale(1.03)}.channel-logo{background:rgba(255,255,255,.13);border-radius:.6rem;flex:none;justify-content:center;align-items:center;padding:.3rem;display:inline-flex;overflow:hidden}.channel-logo img{max-width:100%;max-height:100%}.marquee{white-space:nowrap;text-overflow:ellipsis;min-width:0;display:block;overflow:hidden}.marquee>span.run{animation:linear infinite alternate marquee;display:inline-block}@keyframes marquee{0%,15%{transform:translate(0)}85%,to{transform:translateX(var(--marquee))}}.fav-star{color:#ffb74d;flex:none;width:1.4rem;height:1.4rem;margin-left:.6rem}.fav-star.big{width:2.2rem;height:2.2rem}.content.live-content{padding-top:2.4rem}.live-screen{height:100%;display:flex}.live-cats{flex-direction:column;flex:none;width:19rem;padding:1rem;display:flex}.live-cats.wide{width:27rem}.group-mode{text-align:left;border:.2rem solid transparent;border-radius:1rem;flex:none;justify-content:space-between;align-items:center;margin-bottom:.8rem;padding:.6rem .8rem;display:flex}.group-mode:focus{background:var(--surface-variant);border-color:var(--accent)}.group-mode>span>span{display:block}.gm-title{font-size:1.8rem;font-weight:500}.gm-value{color:var(--accent);white-space:nowrap;font-size:1.4rem}.cat-list{flex:1;min-height:0;margin:-.6rem -1rem;padding:.6rem 1rem;overflow:auto}.cat-row{margin-bottom:.4rem;font-size:1.6rem;font-weight:500}.cat-row.selected .cat-name{color:var(--accent)}.cat-name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.cat-icon{flex:none;width:1.6rem;height:1.6rem}.platform-badge{flex:none;align-items:center;width:5.4rem;height:1.8rem;display:inline-flex}.platform-badge img{max-width:100%;max-height:100%}.platform-badge b{white-space:nowrap;font-size:1.2rem}.tint-white{filter:brightness(0)invert()}.live-channels{flex-direction:column;flex:1;min-width:0;padding:1rem;display:flex}.panel-title{padding:.4rem .8rem 1rem}.panel-title h2{font-size:1.8rem;font-weight:500}.panel-title span{font-size:1.4rem}.empty{margin:auto;font-size:1.8rem}.channel-list{flex:1;min-height:0;margin:0 -1.2rem;padding:0 1.2rem;position:relative;overflow:hidden}.channel-list-inner{position:relative}.channel-row{height:6.8rem;position:absolute;left:0;right:0}.channel-row.compact{height:5.6rem}.ch-number{width:4.4rem;color:var(--on-surface-variant);flex:none;font-size:1.6rem;font-weight:500}.channel-row.compact .ch-number{width:4rem}.channel-row.selected .ch-number{color:var(--accent)}.ch-logo-box{background:rgba(255,255,255,.07);border-radius:1rem;flex:none;justify-content:center;align-items:center;width:6.4rem;height:4.8rem;display:flex}.ch-text{flex:1;min-width:0}.ch-name{align-items:center;font-size:1.6rem;font-weight:500;display:flex}.live-preview{background:0 0;flex:none;width:30rem;padding:1.4rem;position:relative;overflow:hidden}.preview-label{color:var(--accent);margin-bottom:1rem;font-size:1.6rem;font-weight:500;display:block}.preview-box{height:15.19rem;box-shadow:0 0 0 100rem var(--glass);background:#000;border-radius:1.2rem;justify-content:center;align-items:center;display:flex}.preview-box.hole{background:0 0}.preview-name{margin-top:1.4rem;margin-bottom:1rem;font-size:2.2rem;font-weight:600}.live-preview p{font-size:1.4rem}.toast{z-index:50;background:rgba(8,11,16,.9);border-radius:2.4rem;padding:1rem 2.2rem;font-size:1.6rem;font-weight:500;position:fixed;top:4rem;left:50%;transform:translate(-50%)}.menu-dialog{background:var(--surface);border-radius:1.6rem;width:52rem;padding:2.4rem}.menu-dialog h2{margin-bottom:1.4rem;font-size:2.4rem;font-weight:600}.menu-list{max-height:48rem;margin:-.4rem -1.2rem;padding:.4rem 1.2rem;overflow:auto}.menu-item{text-align:left;border:.3rem solid transparent;border-radius:1rem;justify-content:space-between;align-items:center;width:100%;margin-bottom:.4rem;padding:1rem 1.2rem;font-size:1.8rem;font-weight:500;transition:transform .1s ease-out;display:flex}.menu-item:focus{background:var(--surface-variant);border-color:var(--accent);transform:scale(1.03)}.menu-item .icon{color:var(--accent)}.number-box{color:var(--accent);z-index:40;background:rgba(0,0,0,.8);border-radius:1.2rem;padding:1.4rem 2.8rem;font-size:3.4rem;font-weight:700;position:fixed;top:4rem;right:4.8rem}.player{position:absolute;top:0;bottom:0;left:0;right:0}.player-center{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.spinner{border:.5rem solid transparent;border-top-color:var(--accent);border-right-color:var(--accent);border-bottom-color:var(--accent);border-radius:50%;width:5.6rem;height:5.6rem;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.retry-label{background:rgba(8,11,16,.9);border-radius:.8rem;margin-top:1.2rem;padding:.4rem 1rem;font-size:1.6rem}.paused-icon{width:7.2rem;height:7.2rem}.error-card{text-align:center;background:rgba(8,11,16,.9);border-radius:1.6rem;width:56rem;padding:2.8rem}.error-card .error-icon{width:4.8rem;height:4.8rem;color:var(--error);margin:0 auto 1.2rem}.error-card p{margin-bottom:2rem;font-size:1.8rem;font-weight:500}.error-card .row{justify-content:center}.error-card .error-detail{color:var(--on-surface-variant);margin-top:-1.2rem;font-size:1.2rem;font-weight:400}.info-band{background:linear-gradient(transparent,rgba(5,8,12,.8) 40%,rgba(5,8,12,.95));padding:5.6rem 4.8rem 2.7rem;animation:.2s ease-out band-in;position:absolute;bottom:0;left:0;right:0}@keyframes band-in{0%{opacity:0;transform:translateY(33%)}to{opacity:1;transform:none}}.band-row{align-items:flex-start;display:flex}.band-left{flex-direction:column;flex:none;align-items:flex-start;display:flex}.band-number{color:var(--accent);margin-bottom:.6rem;font-size:3.4rem;font-weight:700}.band-mid{flex:1;min-width:0;margin-left:2.4rem}.band-title{align-items:center;display:flex}.band-title>*+*{margin-left:1rem}.band-name{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:2.8rem;font-weight:600;overflow:hidden}.badge-sm{background:rgba(255,255,255,.2);border-radius:.6rem;flex:none;padding:.2rem .8rem;font-size:1.4rem}.badge-sm.live{background:var(--live)}.band-program{margin-top:.8rem;font-size:1.8rem}.band-hint{color:rgba(255,255,255,.6);margin-top:1rem;font-size:1.2rem}.band-clock{flex:none;margin-left:2.4rem;font-size:2.2rem;font-weight:600}.control-bar{justify-content:center;margin-top:2rem;display:flex}.cb-item{flex-direction:column;align-items:center;width:7.6rem;margin:0 .7rem;display:flex}.cb-btn{background:rgba(255,255,255,.14);border-radius:50%;justify-content:center;align-items:center;width:5.6rem;height:5.6rem;transition:transform .1s ease-out;display:flex}.cb-btn .icon{width:2.6rem;height:2.6rem}.cb-btn.active{background:rgba(var(--accent-rgb), .35)}.cb-btn:focus{color:#000;background:#fff;transform:scale(1.12)}.cb-label{color:rgba(255,255,255,.87);text-align:center;white-space:nowrap;margin-top:.6rem;font-size:1.4rem}.list-overlay{background:linear-gradient(90deg,rgba(8,11,16,.9),rgba(8,11,16,.9) 88%,transparent);flex-direction:column;width:48rem;padding:2.7rem 6.4rem 2.7rem 4.8rem;animation:.2s ease-out slide-left;display:flex;position:absolute;top:0;bottom:0;left:0}.list-overlay h2{margin-bottom:1rem;font-size:1.8rem;font-weight:500}@keyframes slide-left{0%{opacity:0;transform:translate(-25%)}to{opacity:1;transform:none}}.options-panel{background:linear-gradient(270deg,rgba(8,11,16,.9),rgba(8,11,16,.9) 88%,transparent);width:42rem;padding:4rem 4.8rem 4rem 5.6rem;animation:.2s ease-out slide-right;position:absolute;top:0;bottom:0;right:0;overflow:auto}@keyframes slide-right{0%{opacity:0;transform:translate(25%)}to{opacity:1;transform:none}}.options-panel h2{margin-bottom:1.6rem;font-size:2.4rem;font-weight:600}.opt-row{justify-content:space-between;margin-bottom:.4rem}.opt-text{flex:1;min-width:0}.opt-text>span{display:block}.opt-label{font-size:1.6rem;font-weight:500}.opt-value{color:var(--accent);font-size:1.4rem}.progress-line{background:rgba(255,255,255,.27);border-radius:.2rem;height:.4rem;display:block;overflow:hidden}.progress-line>span{background:var(--accent);height:100%;display:block}.ch-program{color:var(--on-surface-variant);white-space:nowrap;text-overflow:ellipsis;font-size:1.4rem;display:block;overflow:hidden}.ch-progress{width:60%;margin-top:.3rem}.program-block{margin-bottom:1.2rem}.program-block>span{display:block}.pb-label{color:var(--accent);font-size:1.4rem}.pb-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:1.6rem;font-weight:500;display:-webkit-box;overflow:hidden}.pb-progress{margin:.4rem 0}.pb-desc{color:var(--on-surface-variant);-webkit-line-clamp:4;-webkit-box-orient:vertical;font-size:1.4rem;display:-webkit-box;overflow:hidden}.band-time{color:var(--accent);margin-right:1.2rem;font-size:1.6rem;font-weight:500}.band-progress{align-items:center;margin-top:.6rem;display:flex}.band-progress .progress-line{flex:1}.band-progress>span:last-child{margin-left:1.2rem;font-size:1.4rem}.band-next{margin-top:.6rem;font-size:1.6rem}.guide{flex-direction:column;height:100%;display:flex}.guide-head{flex:none;justify-content:space-between;align-items:center;padding-bottom:1rem;display:flex}.guide-head h1{font-size:2.2rem;font-weight:600}.guide-head .row>*+*{margin-left:1rem}.guide-hint{color:var(--on-surface-variant);flex:none;margin-top:.6rem;font-size:1.2rem}.epg-grid{--epg-ch:19.4rem;flex-direction:column;flex:1;min-height:0;display:flex}.epg-header{height:3.2rem;margin-left:var(--epg-ch);flex:none;position:relative}.epg-header span{color:var(--on-surface-variant);padding-left:.6rem;font-size:1.6rem;font-weight:500;position:absolute;top:.6rem}.epg-body{flex:1;min-height:0;position:relative;overflow:hidden}.epg-row{margin-top:.2rem;display:flex;position:absolute;left:0;right:0}.epg-channel{background:var(--surface);text-align:left;border:.2rem solid transparent;border-radius:.8rem;flex:none;align-items:center;width:19rem;margin-right:.4rem;padding:0 .8rem;display:flex}.epg-channel:focus{background:var(--surface-variant);border-color:var(--accent)}.epg-num{width:3.6rem;color:var(--on-surface-variant);flex:none;font-size:1.4rem}.epg-chname{-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;min-width:0;padding-left:.8rem;font-size:1.6rem;display:-webkit-box;overflow:hidden}.epg-programs{flex:1;position:relative}.epg-cell{background:var(--surface);text-align:left;background-clip:padding-box;border:.2rem solid transparent;border-right-width:.5rem;border-radius:.8rem;padding:.4rem .8rem;position:absolute;top:0;bottom:0;overflow:hidden}.epg-cell.live{background-color:#1e3446}.epg-cell:focus{background-color:var(--accent);color:#00121c;border-color:var(--accent)}.epg-title{white-space:nowrap;text-overflow:ellipsis;font-size:1.6rem;display:block;overflow:hidden}.epg-time{opacity:.8;font-size:1.2rem;display:block}.epg-now{background:var(--live);pointer-events:none;width:.2rem;position:absolute;top:0;bottom:0}.guide-overlay{background:linear-gradient(transparent,rgba(5,8,12,.85) 8%,rgba(5,8,12,.95));flex-direction:column;height:62%;padding:3.6rem 4.8rem 2rem;animation:.2s ease-out band-in;display:flex;position:absolute;bottom:0;left:0;right:0}.epg-grid.translucent .epg-channel,.epg-grid.translucent .epg-cell{background-color:rgba(21,27,35,.6)}.epg-grid.translucent .epg-cell.live{background-color:rgba(30,52,70,.75)}.epg-grid.translucent .epg-cell:focus{background-color:var(--accent)}.program-dialog{background:var(--surface);border-radius:1.6rem;width:64rem;padding:2.4rem}.program-dialog h2{font-size:2.4rem;font-weight:600}.pd-meta{color:var(--accent);margin-top:.6rem;font-size:1.6rem;font-weight:500}.pd-cat{color:var(--on-surface-variant);font-size:1.4rem}.pd-desc{max-height:22rem;margin-top:1.2rem;font-size:1.8rem;overflow:auto}.pd-buttons{flex-wrap:wrap;margin-top:2rem}.page{position:absolute;top:0;bottom:0;left:0;right:0}.vod-home>.shelf+.shelf{margin-top:2rem}.shelf-title{align-items:center;padding:0 0 .2rem 1.6rem;font-size:2.2rem;font-weight:600;display:flex}.shelf-all{color:var(--on-surface-variant);white-space:pre;background:0 0;border-radius:99rem;margin-left:1rem;padding:.4rem 1.2rem;font-size:1.3rem;font-weight:500}.shelf-all:focus{background:var(--on-bg);color:var(--surface)}.shelf-logo{align-items:center;width:7.8rem;height:2.6rem;margin-right:1rem;display:inline-flex}.shelf-logo img,.shelf-logo b{max-width:100%;max-height:100%}.shelf-row{padding:1.2rem 1.6rem;display:flex;position:relative;overflow:hidden}.shelf-row>*{flex:none}.shelf-row>*+*{margin-left:1.6rem}.poster-card{background:var(--surface-variant);text-align:left;border:.1rem solid rgba(255,255,255,.08);border-radius:1.4rem;width:13rem;height:19.5rem;transition:transform .12s ease-out;position:relative;overflow:hidden}.poster-card:focus{border:.3rem solid var(--accent);transform:scale(1.08)}.poster-card img{object-fit:cover;width:100%;height:100%;position:absolute;top:0;left:0}.poster-progress{background:rgba(255,255,255,.27);height:.4rem;position:absolute;bottom:0;left:0;right:0}.poster-progress>span{background:var(--accent);height:100%;display:block}.genre-chip{align-self:center}.platform-tile{background:#000;border:.3rem solid transparent;border-radius:1.2rem;width:26rem;height:14.6rem;transition:transform .12s ease-out;position:relative;overflow:hidden}.shelf-row>.platform-tile+.platform-tile{margin-left:1.8rem}.platform-tile:focus{border-color:#fff;transform:scale(1.08)}.pt-collage{display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.pt-collage img{object-fit:cover;flex:1;min-width:0;height:100%}.pt-shade,.pt-logo{position:absolute;top:0;bottom:0;left:0;right:0}.pt-logo{justify-content:center;align-items:center;display:flex}.pt-logo img{max-width:18rem;max-height:5.6rem}.pt-logo img.own-color{border-radius:.6rem}.pt-logo b{color:#fff;font-size:2.6rem;font-weight:900}.browse{flex-direction:column;height:100%;padding:2.4rem 4.8rem 2.7rem;display:flex}.browse-logo{align-items:center;width:8.8rem;height:2.4rem;display:inline-flex}.browse-logo img{max-width:100%;max-height:100%}.spacer{flex:1}.browse-grid{flex-wrap:wrap;flex:1;align-content:flex-start;min-height:0;margin:0 -1.2rem;padding:1.2rem;display:flex;overflow:auto}.grid-cell{flex:none;margin:0 1.8rem 1.8rem 0}.browse-grid{margin:0 -1.6rem 0 .2rem}.browse-grid .poster-card.plain{width:var(--cw);height:calc(var(--cw) * 1.5)}.browse-grid .wide-card{width:var(--cw);height:calc(var(--cw) * .5625)}.browse-info{flex:none;padding-left:1.4rem}.detail{position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.detail-backdrop{background:var(--bg);position:absolute;top:0;bottom:0;left:0;right:0}.detail-backdrop img{object-fit:cover;width:100%;height:100%}.detail-backdrop span{position:absolute;top:0;bottom:0;left:0;right:0}.db-h{background:linear-gradient(90deg,rgba(7,12,24,.95),rgba(7,12,24,.75) 40%,rgba(7,12,24,.1))}.db-v{background:linear-gradient(transparent 55%, var(--bg))}.detail-scroll{padding:3.5rem 4.8rem 2.7rem;position:absolute;top:0;bottom:0;left:0;right:0;overflow:auto}.detail-scroll.series{padding:6rem 4.8rem 4rem}.back-btn{margin-bottom:1.6rem}.detail-row{display:flex}.detail-poster{background:var(--surface-variant);border:.1rem solid rgba(255,255,255,.12);border-radius:1.6rem;flex:none;width:22rem;height:33rem;margin-right:3.2rem;overflow:hidden}.detail-poster img{object-fit:cover;width:100%;height:100%}.detail-info{flex:1;min-width:0}.detail-info h1{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:3.4rem;font-weight:700;display:-webkit-box;overflow:hidden}.meta-chips{flex-wrap:wrap;margin-top:1.2rem;display:flex}.meta-chip{background:rgba(255,255,255,.1);border-radius:.8rem;margin:0 .8rem .8rem 0;padding:.4rem 1rem;font-size:1.6rem;font-weight:500}.meta-chip.gold{color:#ffc94d;background:rgba(255,201,77,.2)}.detail-plot{-webkit-line-clamp:5;-webkit-box-orient:vertical;margin-top:1.4rem;font-size:1.8rem;display:-webkit-box;overflow:hidden}.detail-credit{color:var(--on-surface-variant);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:.6rem;font-size:1.6rem;display:-webkit-box;overflow:hidden}.detail-actions{flex-wrap:wrap;margin-top:2.2rem;display:flex}.detail-actions>*{margin:0 1.2rem 1.2rem 0}.detail .shelf{margin-top:2.4rem;margin-left:-1.6rem}.season-chips{margin:2.8rem 0 .8rem;display:flex}.season-chips>*+*{margin-left:1rem}.season-gap{height:2.4rem}.episode-list{margin:0 -1rem;padding:0 1rem}.episode-row{margin:.3rem 0}.ep-thumb{background:var(--surface-variant);border-radius:.8rem;flex:none;width:12.8rem;height:7.2rem;position:relative;overflow:hidden}.ep-thumb img{object-fit:cover;width:100%;height:100%}.ep-text{flex:1;min-width:0}.ep-text>span{display:block}.ep-title{white-space:nowrap;text-overflow:ellipsis;font-size:1.6rem;font-weight:500;overflow:hidden}.ep-plot{color:var(--on-surface-variant);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:1.4rem;display:-webkit-box;overflow:hidden}.ep-min{flex:none;font-size:1.4rem}.ep-watched{color:var(--accent);flex:none}.vod-top{background:linear-gradient(rgba(5,8,12,.8),transparent);justify-content:space-between;align-items:flex-start;padding:2.7rem 4.8rem 4rem;display:flex;position:absolute;top:0;left:0;right:0}.vod-top h1{font-size:2.8rem;font-weight:600}.vod-top p{color:var(--on-surface-variant);font-size:1.6rem}.vod-bottom{background:linear-gradient(transparent,rgba(5,8,12,.9));padding:4.8rem 4.8rem 2.7rem;position:absolute;bottom:0;left:0;right:0}.vod-bar-row{align-items:center;display:flex}.vod-bar-row>*+*{margin-left:1.4rem}.vod-state{width:3.6rem;height:3.6rem}.vod-time{font-size:1.6rem;font-weight:500}.vod-bar{background:rgba(255,255,255,.27);border-radius:.3rem;flex:1;height:.6rem;position:relative;overflow:hidden}.vod-bar span{position:absolute;top:0;bottom:0;left:0}.vod-buffer{background:rgba(255,255,255,.4)}.vod-played{background:var(--accent)}.vod-bottom .control-bar{margin-top:1.8rem}.episodes-panel{background:linear-gradient(90deg,rgba(8,11,16,.9),rgba(8,11,16,.9) 88%,transparent);width:50rem;padding:2.7rem 6.4rem 2.7rem 4.8rem;animation:.2s ease-out slide-left;position:absolute;top:0;bottom:0;left:0;overflow:auto}.episodes-panel h2{margin-bottom:1.4rem;font-size:2.4rem;font-weight:600}.ep-code{color:var(--accent);flex:none;font-size:1.6rem;font-weight:500}.next-card{background:rgba(8,11,16,.9);border-radius:1.4rem;width:38rem;padding:2rem;position:absolute;bottom:4.8rem;right:4.8rem}.next-when{color:var(--accent);font-size:1.8rem;font-weight:500}.next-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:.6rem 0 1.4rem;font-size:1.8rem;display:-webkit-box;overflow:hidden}.home{flex-direction:column;height:100%;display:flex}.home-head{flex:none;align-items:flex-end;padding:0 1.6rem .4rem;display:flex}.home-head h1{font-size:2.4rem;font-weight:600}.home-head .muted{white-space:pre;padding-bottom:.2rem;font-size:1.6rem;font-weight:500}.home-shelves{flex:1;min-height:0;padding-bottom:4.8rem;overflow:auto}.home-block+.home-block,.home-block>.shelf+.shelf{margin-top:2.2rem}.home-empty{padding:4rem 1.6rem;font-size:1.8rem;font-weight:500}.hero{background:var(--surface-variant);border-radius:2rem;height:30rem;margin:.4rem 1.6rem 0;position:relative;overflow:hidden}.hero>img{object-fit:cover;width:100%;height:100%;position:absolute;top:0;left:0}.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.92),rgba(0,0,0,.45) 55%,transparent);position:absolute;top:0;bottom:0;left:0;right:0}.hero-content{flex-direction:column;justify-content:center;width:55%;padding:3.2rem;display:flex;position:absolute;top:0;bottom:0;left:0}.hero-label{color:var(--accent);font-size:1.6rem;font-weight:500}.hero h2{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:.4rem;font-size:2.8rem;font-weight:600;display:-webkit-box;overflow:hidden}.hero-meta{color:var(--on-surface-variant);white-space:pre;margin-top:.6rem;font-size:1.6rem;font-weight:500}.hero-plot{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:.8rem;font-size:1.6rem;display:-webkit-box;overflow:hidden}.hero-actions{margin-top:1.6rem}.channel-tile{flex-direction:column;width:18rem;display:flex}.ct-card{background:var(--surface-variant);border:.3rem solid transparent;border-radius:1.4rem;justify-content:center;align-items:center;width:18rem;height:10.1rem;padding:1.4rem;transition:transform .12s ease-out;display:flex}.ct-card:focus{border-color:var(--accent);transform:scale(1.08)}.ct-card .channel-logo{background:0 0}.ct-name-big{text-align:center;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:1.6rem;font-weight:500;display:-webkit-box;overflow:hidden}.ct-name,.ct-program{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ct-name{color:var(--on-surface-variant);margin-top:.6rem;font-size:1.4rem}.ct-program{font-size:1.6rem;font-weight:500}.ct-progress{margin-top:.4rem}.program-tile{background:var(--surface-variant);text-align:left;border:.3rem solid transparent;border-radius:1.4rem;align-items:flex-start;width:28rem;height:12.8rem;padding:1.4rem;transition:transform .12s ease-out;display:flex}.program-tile:focus{border-color:var(--accent);transform:scale(1.06)}.pt-logo-box{flex:none;justify-content:center;align-items:center;width:5.6rem;height:5.6rem;margin-right:1.2rem;display:flex}.pt-text{flex:1;min-width:0}.pt-text>span{display:block}.pt-time{color:var(--accent);font-size:1.6rem;font-weight:500}.pt-badge{background:var(--live);color:#fff;border-radius:.4rem;margin-left:.8rem;padding:.1rem .6rem;font-size:1.2rem}.pt-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:.4rem;font-size:1.6rem;font-weight:500;display:-webkit-box;overflow:hidden}.pt-channel{color:var(--on-surface-variant);white-space:nowrap;text-overflow:ellipsis;font-size:1.4rem;overflow:hidden}.pin-dialog{background:var(--surface);text-align:center;border-radius:1.6rem;width:42rem;padding:2.4rem}.pin-dialog h2{font-size:2.2rem;font-weight:600}.pin-dots{letter-spacing:.6rem;margin-top:1.2rem;font-size:3.4rem}.pin-error{color:var(--error);padding:.8rem 0;font-size:1.6rem}.pin-pad{flex-wrap:wrap;justify-content:center;width:24.8rem;margin:0 auto;display:flex}.pin-key{justify-content:center;width:7.2rem;height:5.6rem;margin:.4rem;font-size:2.2rem}.pin-pad .pin-key:last-child{margin-right:8.4rem}.preview-lock{width:4rem;height:4rem}.epg-mapping{height:100%;padding:2.7rem 4.8rem;display:flex}.em-left{flex:none;width:32rem;margin-right:3.2rem}.em-left h1{margin-top:1.2rem;font-size:2.8rem;font-weight:600}.em-channel{color:var(--accent);margin-top:.8rem;font-size:2.2rem;font-weight:600}.em-filter{margin-top:2.4rem}.em-list{flex:1;margin:-.4rem -1.2rem;padding:.4rem 1.2rem;overflow:auto}.em-auto{color:var(--accent);font-size:1.6rem;font-weight:500}.em-id{font-size:1.4rem}.search>*+*{margin-top:1.8rem}.search-row{padding:0 1.6rem}.history-row{align-items:center}.search-empty{padding:0 1.6rem;font-size:1.8rem;font-weight:500}.search-programs{padding:0 1.6rem}.search-programs .shelf-title{margin-bottom:.6rem;padding-left:0}.search-prog{margin-bottom:.4rem}.sp-time{text-align:right;width:18rem;color:var(--on-surface-variant);flex:none;font-size:1.4rem}.sp-time.live{color:var(--accent)}.settings{height:100%;display:flex}.set-sections{flex:none;width:24rem;margin-left:-1rem;margin-right:2.4rem;padding:.4rem 1rem;overflow:auto}.set-section{margin-bottom:.4rem;font-size:1.6rem;font-weight:500}.set-section .icon{flex:none}.set-section.selected .icon{color:var(--accent)}.set-panel{flex:1;min-width:0;padding:2rem 2.8rem;overflow:auto}.set-panel h2{margin-bottom:.8rem;font-size:2.4rem;font-weight:600}.set-row{margin-bottom:.4rem}.set-sub{color:var(--on-surface-variant);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:1.4rem;display:-webkit-box;overflow:hidden}.set-value{max-width:40%;color:var(--accent);text-align:right;white-space:nowrap;text-overflow:ellipsis;flex:none;font-size:1.6rem;font-weight:500;overflow:hidden}.set-header{color:var(--on-surface-variant);padding:1.8rem 1.2rem .6rem;font-size:1.6rem;font-weight:500}.set-hint{color:var(--on-surface-variant);padding:1.6rem 1.2rem;font-size:1.6rem}.set-about h3{font-size:2.8rem;font-weight:600}.set-about p{margin-top:.6rem;font-size:1.6rem}.set-version{color:var(--accent)}.set-ua{word-break:break-all;font-size:1.2rem}.dialog p{white-space:pre-line}.pt-badge.reminder{background:var(--accent);color:#000}.subtitle-layer{z-index:5;text-align:center;pointer-events:none;line-height:1.25;position:absolute;bottom:7%;left:8%;right:8%}.subtitle-line{white-space:pre-wrap;text-shadow:-.15rem -.15rem #000,.15rem -.15rem #000,-.15rem .15rem #000,.15rem .15rem #000;margin:0 auto;padding:0 .6rem;display:table}.subtitle-layer.boxed .subtitle-line{text-shadow:none;background:rgba(0,0,0,.7)}.poster-card.plain{border:.2rem solid transparent;border-radius:.6rem;width:11.6rem;height:17.4rem;transition:transform .12s ease-out}.poster-card.plain:focus,.wide-card:focus{border-color:#fff;transform:scale(1.1)}.shelf-info{white-space:nowrap;text-overflow:ellipsis;height:2.8rem;margin:0;padding:.2rem 1.6rem 0;font-size:1.5rem;overflow:hidden}.shelf-info span{white-space:pre;color:rgba(255,255,255,.75)}.wide-card{background:var(--surface-variant);text-align:left;border:.2rem solid transparent;border-radius:.6rem;width:20rem;height:11.25rem;transition:transform .12s ease-out;position:relative;overflow:hidden}.wide-card img{object-fit:cover;width:100%;height:100%;position:absolute;top:0;left:0}.wc-shade{background:linear-gradient(transparent,rgba(0,0,0,.85));height:50%;position:absolute;bottom:0;left:0;right:0}.wc-text{position:absolute;bottom:.9rem;left:1rem;right:1rem}.wc-title{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:1.4rem;font-weight:700;display:block;overflow:hidden}.wc-sub{color:rgba(255,255,255,.75);font-size:1.1rem;display:block}.wc-badge{color:#fff;background:#e50914;border-radius:.3rem;padding:.15rem .6rem;font-size:1.1rem;font-weight:700;position:absolute;top:.6rem;right:.6rem}.wc-progress{height:.3rem}.badge-sm.archive{color:#fff;background:#7e57c2}.archive-band .vod-bar-row{margin-top:.8rem}.home-edit{height:100%;padding:2.4rem 4.8rem 4rem;overflow-y:auto}.he-head{justify-content:space-between;align-items:center;display:flex}.he-head h1{font-size:2.8rem;font-weight:600}.he-hint{color:var(--on-surface-variant);margin:.6rem 0 1.4rem;font-size:1.5rem}.he-list{max-width:80rem}.he-row{align-items:center;padding:.3rem .6rem;display:flex}.he-row>.he-main{background:var(--surface);flex:1;font-size:1.8rem}.he-row.moving>.he-main{background:rgba(var(--accent-rgb), .25);border-color:var(--accent)}.he-num{width:3.2rem;color:var(--on-surface-variant)}.he-label{flex:1}.he-moving{background:var(--accent);color:#000;border-radius:.4rem;padding:.2rem .8rem;font-size:1.3rem;font-weight:700}.he-switch{background:var(--surface);min-width:9rem;color:var(--on-surface-variant);border:.3rem solid transparent;border-radius:1rem;flex:none;margin-left:1rem;padding:.9rem 1.2rem;font-size:1.6rem;transition:transform .1s ease-out}.he-switch.on{color:var(--accent);font-weight:600}.he-switch:focus{border-color:#fff;transform:scale(1.05)}.icon-btn{align-items:center;display:inline-flex}.icon-btn>svg{width:2rem;height:2rem;margin-right:.6rem}.home-head>.btn+.btn{margin-left:1rem}.he-row>.he-main:focus{background:var(--surface-variant)}.topbar{z-index:2;position:relative}.home.with-hero{z-index:1;position:relative}.hero2{flex:none;height:17.6rem;position:relative}.hero2-bg{z-index:-1;pointer-events:none;width:68%;height:62%;position:fixed;top:0;right:0}.hero2-bg>img{object-fit:cover;width:100%;height:100%}.hero2-bg{-webkit-mask-composite:source-in;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 45%),linear-gradient(#000 50%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 45%),linear-gradient(#000 50%,transparent 100%);-webkit-mask-composite:source-in;mask-composite:intersect}.hero2-actions{position:absolute;top:0;right:1.6rem}.home-actions{align-items:center;display:flex}.home-actions>*+*{margin-left:1rem}.hero2-info{flex-direction:column;justify-content:flex-end;width:55%;height:100%;padding-bottom:1rem;padding-left:1.6rem;display:flex}.hero2-kind{letter-spacing:.3rem;color:#e50914;font-size:1.2rem;font-weight:700}.hero2-title{white-space:nowrap;text-overflow:ellipsis;margin-top:.4rem;font-size:2.8rem;font-weight:900;line-height:1.2;overflow:hidden}.hero2-meta{align-items:baseline;margin-top:.4rem;font-size:1.4rem;display:flex}.hero2-meta>*+*{margin-left:1rem}.hero2-meta>b{color:#46d369}.hero2-plot{color:rgba(255,255,255,.65);white-space:nowrap;text-overflow:ellipsis;min-height:1.6rem;margin-top:.4rem;font-size:1.2rem;overflow:hidden}.hero2-buttons{margin-top:1rem}.hero2-buttons>*+*{margin-left:1rem}.home.with-hero .home-shelves{overflow:hidden}.home-list{transition:transform .3s ease-out}.home-list{position:relative}.grid-spacer{flex:none;width:100%}.round-btn{color:#fff;background:rgba(0,0,0,.45);border:.2rem solid transparent;border-radius:50%;flex:none;justify-content:center;align-items:center;width:4rem;height:4rem;transition:transform .12s ease-out;display:inline-flex}.round-btn>svg{width:2rem;height:2rem}.round-btn:focus{border-color:#fff;transform:scale(1.1)}.browse-logo b{font-size:1.5rem}.extensions .ext-row{align-items:center}.ext-add,.ext-chip{align-items:center;display:inline-flex}.ext-add>svg{width:1.8rem;height:1.8rem;margin-right:.6rem}.ext-chip>img{object-fit:contain;width:2rem;height:2rem;margin-right:.8rem}.ext-note{padding:0 1.6rem 1.6rem;font-size:1.5rem}.recordings{max-width:100rem}.rec-note{margin:1rem 0 1.4rem;font-size:1.5rem}.rec-row{background:var(--surface);margin-bottom:.6rem}.rec-repeat{background:rgba(var(--accent-rgb), .25);color:var(--accent);border-radius:.4rem;flex:none;padding:.2rem .8rem;font-size:1.3rem}.page-flow{flex:1;min-height:0;position:relative}.browse-bar{border:.1rem solid rgba(255,255,255,.08);border-radius:1.4rem;flex:none;align-items:center;height:8.4rem;margin-bottom:1rem;padding:0 2rem;display:flex}.browse-bar>*+*{margin-left:1.6rem}.browse-bar>.spacer+*{margin-left:0}.bb-id{flex-direction:column;min-width:0;display:flex}.bb-title{white-space:nowrap;text-overflow:ellipsis;max-width:50rem;font-size:2.8rem;font-weight:700;overflow:hidden}.bb-count{color:rgba(255,255,255,.8);margin-top:.4rem;font-size:1.3rem}.bb-tabs{background:rgba(0,0,0,.35);border-radius:2rem;padding:.3rem;display:flex}.bb-tab{color:#fff;white-space:nowrap;border-radius:1.7rem;padding:.6rem 1.5rem;font-size:1.4rem}.bb-tab-count{opacity:.7;white-space:pre;font-size:1.2rem}.bb-tab.selected{color:#0d1117;background:#fff;font-weight:700}.bb-tab:focus{background:var(--accent);color:#0d1117}.bb-sorts>*+*{margin-left:.8rem}.bb-genre{white-space:nowrap}.field-row{align-items:stretch;display:flex}.field-row>.field-box{flex:1;align-items:center;min-width:0;min-height:5.2rem;display:flex}.eye-btn{background:var(--surface-variant);width:5.2rem;min-height:5.2rem;color:var(--on-surface-variant);border:.3rem solid transparent;border-radius:1rem;flex:none;justify-content:center;align-items:center;margin-left:.8rem;transition:transform .12s ease-out;display:flex}.eye-btn>svg{width:2.6rem;height:2.6rem}.eye-btn:focus{border-color:var(--accent);transform:scale(1.05)}.onb-help{border-radius:2rem;margin-top:1.2rem;padding:1.8rem 2.2rem}.form-side>.onb-help:first-child{margin-top:0}.onb-help h3{margin-bottom:1rem;font-size:1.8rem;font-weight:600}.onb-help ul{margin:0;padding-left:2rem}.onb-help li{color:var(--on-surface-variant);font-size:1.4rem;line-height:1.4}.onb-help li+li{margin-top:.6rem}.access-form>.muted{margin:0 0 2.4rem;font-size:1.8rem}.access-form .connect{align-self:flex-start;margin:1.2rem 0 1.6rem}.topbar.glass{background:0 0;border:0;border-bottom:.05rem solid rgba(163,177,201,.22);border-radius:0;min-height:4rem;margin:2.4rem 3.2rem 0;padding:0 0 1.2rem}.brand{-webkit-text-fill-color:var(--on-bg);background:0 0;flex:none;margin-right:3.6rem;font-size:2rem}.pills{flex:1}.pill{border:0;border-radius:.5rem;margin-left:.5rem;padding:.8rem 1rem;font-size:1.5rem}.pill.selected{box-shadow:inset 0 -.15rem var(--accent);background:0 0;border:0}.pill:focus{background:var(--surface-variant);color:var(--on-bg);outline:.15rem solid var(--accent);outline-offset:.1rem}.pill.icon-only{align-items:center;padding:.8rem;display:flex}.pill.icon-only .icon{width:1.7rem;height:1.7rem;margin-right:.5rem}.pill.icon-only:first-of-type{margin-left:auto}.content,.page-flow{padding:2rem 3.2rem 1.2rem}.content{flex:1;min-height:0}.ux-eyebrow{color:var(--accent);letter-spacing:.16rem;text-transform:uppercase;font-size:1.05rem;display:block}.focus-row:focus,.library-card:focus,.resume-channel:focus{outline:.15rem solid var(--accent);outline-offset:.05rem;background:var(--surface-variant);transform:none}.focus-row{border-radius:.5rem}.live-screen>*+*{margin-left:1.6rem}.live-cats,.live-cats.wide{background:0 0;border:0;border-right:.05rem solid rgba(163,177,201,.22);border-radius:0;width:15rem;padding:.6rem .8rem .6rem 0}.live-channels{background:0 0;border:0;padding:.6rem .4rem}.live-preview{border:0;border-radius:0;width:31rem;padding:.6rem .4rem .6rem 1rem}.live-preview .preview-box{height:16.65rem;box-shadow:0 0 0 100rem var(--bg);border-radius:.6rem}.live-list-title{min-height:4.5rem;padding-right:7rem;position:relative}.live-list-title>button{padding:.4rem .6rem;font-size:1.1rem;position:absolute;top:.3rem;right:0}.group-mode{padding:.5rem .8rem}.gm-title,.panel-title h2{font-size:1.6rem;font-weight:700}.gm-value,.panel-title span{font-size:1.1rem}.cat-row{min-height:3.5rem;font-size:1.3rem}.cat-row.selected{background:rgba(var(--accent-rgb),.12);border-left:.15rem solid var(--accent)}.channel-row{height:5.6rem}.ch-number{width:1.8rem;font-size:1.15rem}.ch-logo-box{background:0 0;border-radius:.4rem;width:4.4rem;height:3.2rem}.ch-name{font-size:1.45rem;font-weight:600}.ch-program{font-size:1.15rem}.channel-row.idle{background:0 0}.channel-row.selected{background:rgba(var(--accent-rgb),.1)}.logo-fallback{color:var(--on-surface-variant);background:var(--surface-variant);border-radius:.4rem;justify-content:center;align-items:center;width:100%;height:100%;padding:.3rem;font-size:1rem;font-weight:700;display:flex}.pb-desc{-webkit-line-clamp:3}.ux-home .home-head{margin:0 1.2rem 1.2rem;padding:0}.ux-home .home-head h1{margin-top:.65rem;font-size:2.5rem}.ux-home .home-shelves{overflow:auto}.ux-home .home-list{transition:none}.resume-row{margin:.5rem 1.2rem 1.6rem;display:flex}.resume-row>*{flex:1;min-width:0}.resume-row>*+*{margin-left:1.6rem}.resume-channel{text-align:left;background:var(--surface);border-radius:.7rem;flex-direction:column;align-items:flex-start;min-height:13rem;padding:1.6rem;display:flex;position:relative}.resume-channel>.channel-logo{opacity:.9;position:absolute;top:3rem;right:1.5rem}.resume-channel>strong{white-space:nowrap;text-overflow:ellipsis;max-width:74%;margin:1rem 0 .6rem;font-size:2rem;overflow:hidden}.resume-channel>.muted{white-space:nowrap;text-overflow:ellipsis;max-width:74%;font-size:1.3rem;overflow:hidden}.resume-play{color:var(--accent);margin-top:auto;padding-top:1rem;font-size:1.3rem;font-weight:600;display:inline-block}.resume-vod{position:relative}.resume-vod>.ux-eyebrow{z-index:2;color:#fff;text-shadow:0 1px 4px #000;position:absolute;top:1rem;left:1.4rem}.resume-vod .wide-card{width:100%;height:100%;min-height:13rem}.ux-home .hero2-bg{z-index:0;width:100%;height:100%;position:absolute;-webkit-mask-image:none;mask-image:none}.ux-home .hero2-bg:after{content:"";background:linear-gradient(90deg,rgba(0,0,0,.9),rgba(0,0,0,.65) 45%,transparent);position:absolute;top:0;bottom:0;left:0;right:0}.ux-home .hero2-info{z-index:1;justify-content:center;width:65%;padding:1.6rem;position:relative}.hero2-kind{color:var(--accent)}.shelf-title{font-size:1.65rem}.ct-card{border-radius:.6rem}.wc-progress>span{background:var(--accent)}.poster-card.plain{position:relative}.poster-card.plain img{z-index:1;position:relative}.poster-fallback{color:var(--on-surface-variant);justify-content:center;align-items:center;padding:1rem;font-size:1.5rem;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.poster-card:focus,.wide-card:focus,.ct-card:focus,.platform-tile:focus{outline:.15rem solid var(--accent);outline-offset:.15rem;transform:scale(1.035)}.browse-layout{flex:1;min-height:0;display:flex}.browse-side{border-right:.05rem solid rgba(163,177,201,.22);flex:none;width:15rem;margin-right:2.2rem;padding:.7rem 1.5rem .7rem .4rem;overflow:auto}.browse-side .ux-eyebrow{padding:.6rem .8rem 1rem}.browse-side .focus-row{text-align:left;min-height:3.6rem;margin-bottom:.5rem;padding:1rem .8rem;font-size:1.3rem}.browse-main{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.browse-bar{border:0;border-radius:0;flex-wrap:wrap;height:auto;min-height:7rem;padding:.8rem;background:0 0!important}.bb-sorts{flex-wrap:wrap;margin:.8rem 0}.bb-sorts .chip{margin-top:.3rem}.browse-grid{flex:1;min-height:0}.browse .browse-info{flex:none}.settings .set-sections{border-right:.05rem solid rgba(163,177,201,.22);width:16rem;margin-right:2.4rem;padding-right:1.5rem}.set-section{min-height:3.8rem;font-size:1.3rem}.set-section.selected{color:var(--accent);background:rgba(var(--accent-rgb),.1);border-left:.15rem solid var(--accent)}.set-section .icon{width:1.5rem;height:1.5rem}.set-panel.glass{background:0 0;border:0;border-radius:0;padding:.5rem .8rem}.set-intro{color:var(--on-surface-variant);margin-bottom:1.4rem;font-size:1.25rem}.set-row{border-bottom:.05rem solid rgba(163,177,201,.18);border-radius:.45rem;min-height:5.2rem;padding:1rem 1.2rem}.set-row .opt-label{font-size:1.45rem}.set-sub{margin-top:.5rem;font-size:1.15rem}.set-value{color:var(--on-bg);padding-left:1.2rem;font-size:1.3rem}.library h1{margin:.6rem 0 .8rem;font-size:3rem}.library-items{flex-wrap:wrap;margin:2rem -.6rem 0;display:flex}.library-card{text-align:left;background:var(--surface);border-radius:.6rem;flex-direction:column;align-items:flex-start;width:calc(50% - 1.2rem);min-height:12rem;margin:.6rem;padding:1.8rem;display:flex}.library-card .icon{color:var(--accent);margin-bottom:1rem}.library-card strong{font-size:1.7rem}.library-card span{color:var(--on-surface-variant);margin-top:1rem;font-size:1.2rem}.vod-explore{flex-wrap:wrap;margin:.4rem 1.2rem 1.6rem;display:flex}.vod-explore>*{margin-top:.5rem;margin-right:1rem}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.page-flow{padding:0}.page-flow>.recordings,.page-flow>.extensions{padding:2rem 3.2rem 1.2rem}.focus-row{border-width:.15rem}.focus-row:focus{border-color:var(--accent);outline:none}.content.catalog-content{padding:0;overflow:hidden}.browse-side{width:14rem}.browse-grid .poster-card.plain{height:calc(var(--cw) * 1.5)}.browse-bar{flex-direction:column;align-items:flex-start;min-height:0;margin-bottom:.4rem}.browse-bar>.spacer{display:none}.bb-sorts{margin-top:.9rem}.chip,.btn{border-radius:.45rem}.pill.icon-only:nth-last-child(2){margin-left:auto}.ux-home .hero2{background:0 0;border-radius:0;height:14.2rem;margin:0 1.2rem 1rem;overflow:visible}.ux-home .hero2-info{width:60%;padding:.6rem 0}.ux-home .hero2-bg{z-index:-1;-webkit-mask-composite:source-in;width:68%;height:62%;position:fixed;top:0;right:0;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 45%),linear-gradient(#000 50%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 45%),linear-gradient(#000 50%,transparent 100%);-webkit-mask-composite:source-in;mask-composite:intersect}.ux-home .hero2-bg:after{display:none}.resume-channel,.resume-vod .wide-card{min-height:13rem}.library-items{margin-top:1.6rem}.library-card{background:linear-gradient(120deg,var(--surface-variant),var(--surface));border:.1rem solid transparent;min-height:12.4rem}.library-card:focus{border-color:var(--accent);outline:none}.poster-card.plain:focus{border-color:var(--accent);box-shadow:none;outline:none}.detail-scroll,.detail-scroll.series{padding:2.4rem 3.2rem 5rem;scroll-padding:1.6rem}.detail-info h1{font-size:2.8rem}.detail-poster{border-radius:.8rem;width:20rem;height:30rem}.detail-actions{margin-top:1.4rem}.full-details-btn{margin-top:1.1rem;font-size:1.2rem}.full-details-dialog{background:var(--surface);border-radius:.8rem;flex-direction:column;width:64rem;max-height:46rem;padding:2rem;display:flex}.full-details-dialog>h2{margin-bottom:1.4rem;font-size:2rem}.full-details-text{flex:1;min-height:0;max-height:28rem;margin-bottom:1.4rem;padding:1rem;font-size:1.5rem;line-height:1.5;overflow:auto}.full-details-text:focus{outline:.15rem solid var(--accent);outline-offset:.1rem}.full-details-text>p+p{margin-top:1.4rem}.full-details-dialog>button{align-self:flex-start}.catalog-poster{width:var(--cw);display:block}.catalog-title{-webkit-line-clamp:2;height:3.4rem;color:var(--on-bg);white-space:normal;overflow-wrap:break-word;-webkit-box-orient:vertical;margin-top:.7rem;font-size:1.2rem;line-height:1.7rem;display:-webkit-box;overflow:hidden}.catalog-meta{height:1.3rem;color:var(--on-surface-variant);white-space:nowrap;margin-top:.4rem;font-size:1.05rem;line-height:1.3rem;display:block;overflow:hidden}.ux-home .hero2-bg:after{content:"";background:linear-gradient(rgba(0,0,0,.65),rgba(0,0,0,.3) 50%,rgba(0,0,0,.2));display:block;position:absolute;top:0;bottom:0;left:0;right:0}.ux-home .hero2-info{justify-content:center;padding:.5rem 0}.ux-home .hero2-info>*{flex-shrink:0}.ux-home .hero2-title{font-size:2.5rem;line-height:1.15}.ux-home .hero2-plot:empty{display:none}.ux-home .hero2-plot{min-height:0;font-size:1.1rem;line-height:1.4rem}.ux-home .hero2-buttons .btn{padding:.55rem 1.1rem;font-size:1.35rem}.pill{border:.1rem solid transparent;border-radius:.25rem}.pill.selected{border:.1rem solid rgba(var(--accent-rgb),.5);box-shadow:none;background:0 0}.pill:focus{border-color:var(--accent);box-shadow:0 0 0 .05rem var(--accent);outline:none}.browse-grid>.grid-cell{width:calc(25% - 1.8rem)}.catalog-poster{margin:0 auto}.poster-card.plain:focus{transform:scale(1.035)}.brand{margin-right:2.8rem;font-size:1.8rem}.pill{font-size:1.4rem}.browse-side .focus-row{padding-top:.8rem;padding-bottom:.8rem;font-size:1.4rem}.bb-title{font-size:2.8rem}.catalog-title{font-size:1.4rem}.catalog-meta{font-size:1.2rem}.library h1{font-size:2.8rem}html,body{width:100%;max-width:100%;position:relative;overflow:hidden}.app{width:100%;min-width:0;max-width:100%}.topbar,.pills,.content,.page-flow,.home,.home-shelves{min-width:0}.browse-grid>.grid-cell{height:calc(var(--cw) * 1.5 + var(--caption-h));margin-bottom:7.6rem}.poster-card img,.detail-poster img{object-fit:contain}.pill{font-weight:400}.browse{padding-top:2rem}.browse-side{border-right:0;margin-right:2rem}.browse-side .ux-eyebrow{letter-spacing:normal;text-transform:none;padding-left:.6rem;font-size:1.4rem}.browse-side .focus-row.selected{background:var(--surface-variant)}.browse-bar{padding:0}.settings .set-sections{border:0;width:16.5rem;margin-left:0;padding:0}.set-panel.glass{padding:0}.set-panel>.ux-eyebrow{text-transform:none;letter-spacing:normal;font-size:1.4rem}.set-panel h2{margin:.8rem 0;font-size:2.8rem}.set-intro{margin-bottom:1.8rem;font-size:1.4rem}.set-section{font-size:1.4rem}.set-section.selected{background:var(--surface-variant);border-left-color:transparent}.set-row{border-bottom:0;min-height:4.8rem;padding:.8rem 1.2rem}.set-row .opt-label,.set-value{font-size:1.6rem}.set-sub{font-size:1.4rem}.set-value{color:var(--accent)}.library>.ux-eyebrow{letter-spacing:normal;font-size:1.2rem}.library>.muted{font-size:1.4rem}.library-card{border-radius:.8rem;min-height:14.4rem}.library-card strong{font-size:1.8rem;font-weight:500}.library-card span{font-size:1.4rem}.library-card .icon{width:2.2rem;height:2.2rem}.live-cats,.live-cats.wide{border-right:0}.live-preview.glass{box-shadow:none;background:0 0}.live-preview .preview-box{box-shadow:none;border-radius:1.2rem}.live-list-title>button{font-size:1.4rem}.preview-name{font-size:2.2rem}.detail-scroll,.detail-scroll.series{padding:3.5rem 4.8rem 5rem}.detail-info h1{font-weight:600}.ux-home .hero2,.ux-home .home-head,.resume-row{margin-left:0;margin-right:0}.ux-home .hero2-info{width:55%}.ux-home .hero2-title{font-size:2.8rem}.ux-home .hero2-plot{font-size:1.4rem;line-height:1.6rem}.ux-home .hero2-meta{font-size:1.6rem}.library-card{min-height:13.2rem}.ux-home .hero2{margin-bottom:3.8rem}.btn,.ux-home .hero2-buttons .btn,.live-list-title>button{border-radius:.5rem;min-height:3.8rem;padding:.9rem 1.6rem;font-size:1.6rem;font-weight:500;line-height:2rem;transform:none}.btn:focus,.btn.outline:focus{background:var(--surface-variant);color:var(--on-bg);border-color:var(--accent)}.btn.primary:focus{background:var(--accent);color:#00121c;border-color:var(--accent)}.pill{margin-left:.2rem;padding:.7rem 1rem}.pill:first-child{margin-left:0}.pill.icon-only{padding:.7rem .8rem}.bb-sorts .chip{min-height:3.6rem;padding:.8rem 1.4rem;font-size:1.4rem;font-weight:400;line-height:1.8rem}.btn:focus{box-shadow:inset 0 0 0 .1rem var(--accent)}.ct-card{text-align:left;border-radius:.6rem;flex-direction:column;justify-content:flex-start;align-items:stretch;height:13.2rem;padding:1.4rem}.ct-logo{flex-shrink:0;align-items:center;height:4rem;display:flex}.ct-logo .channel-logo{max-height:4rem}.ct-fallback{color:var(--accent);font-size:2.2rem}.ct-card .ct-name{margin-top:.6rem;line-height:1.7rem}.ct-card .ct-program{margin-top:.6rem;line-height:1.9rem;display:block}.ct-card .ct-progress{flex-shrink:0;margin-top:.6rem}.channel-tile,.ct-card{width:13.6rem}.ct-card{height:10.8rem;padding:1.2rem}.ct-logo,.ct-logo .channel-logo{height:2.8rem;max-height:2.8rem}.ct-logo .channel-logo{max-width:6rem}.ct-card .ct-name,.ct-card .ct-program,.ct-card .ct-progress{margin-top:.4rem}.ct-card .ct-program{font-size:1.4rem;line-height:1.7rem}.ct-logo{justify-content:center;height:4.8rem}.ct-logo .channel-logo{max-width:100%;max-height:4.8rem;width:100%!important;height:4.8rem!important}.ct-logo img{object-fit:contain;width:100%;height:100%}.ct-fallback{color:var(--on-bg);text-align:center;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:1.6rem;display:-webkit-box;overflow:hidden}.program-tile{border-radius:.6rem;width:22rem;height:10.8rem;padding:1.2rem}.pt-logo-box{width:4rem;height:4rem;margin-right:1rem}.pt-time,.pt-title{font-size:1.4rem}.pt-title{line-height:1.7rem}.pt-channel{font-size:1.2rem}.ux-home .hero2{height:16rem}.ux-home .hero2-info{padding:0}.ux-home .hero2-kind{font-size:1.2rem;line-height:1.4rem}.ux-home .hero2-title{margin-top:.2rem;font-size:2.8rem;line-height:3.2rem}.ux-home .hero2-meta{margin-top:.6rem;font-size:1.4rem;line-height:1.7rem}.ux-home .hero2-plot{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:.6rem;font-size:1.2rem;line-height:1.4rem;display:-webkit-box;overflow:hidden}.ux-home .hero2-buttons{margin-top:1rem}.ct-card{justify-content:center}.ct-card.has-program{justify-content:space-between}.ct-card .ct-program{text-align:center}.ct-card .ct-program,.ct-card .ct-progress{margin-top:0}.program-tile{justify-content:center;align-items:center}.program-tile .pt-text{flex:0 auto;max-width:14.6rem}[data-focus].pill:focus,[data-focus].btn:focus,[data-focus].chip:focus,[data-focus].shelf-all:focus,[data-focus].bb-tab:focus{background:var(--on-bg);color:var(--surface);border-color:var(--on-bg);box-shadow:none;outline:none}[data-focus].focus-row:focus,[data-focus].menu-item:focus,[data-focus].option:focus,[data-focus].group-mode:focus,[data-focus].epg-channel:focus,[data-focus].library-card:focus,[data-focus].resume-channel:focus,.he-row>[data-focus].he-main:focus{background:rgba(var(--accent-rgb), .3);border-color:var(--accent);box-shadow:inset 0 0 0 .2rem var(--accent);outline:none;transform:none}[data-focus].poster-card:focus,[data-focus].wide-card:focus,[data-focus].ct-card:focus,[data-focus].platform-tile:focus,[data-focus].program-tile:focus{border-color:#fff;outline:none;transform:scale(1.08);box-shadow:0 0 0 .3rem #fff,0 .8rem 2rem rgba(0,0,0,.6)}body.catalog-focus .topbar.glass{border-bottom:0;min-height:0;max-height:0;margin-top:0;padding:0;overflow:hidden}.browse{padding:1.2rem 2.4rem 0 1.6rem}.browse-side{background:linear-gradient(90deg,rgba(255,255,255,.06),transparent);border-radius:.6rem;width:4.4rem;margin-right:1.2rem;padding:0;position:relative;overflow:visible}.bs-rail{color:var(--on-surface-variant);flex-direction:column;align-items:center;padding-top:1rem;display:flex}.bs-rail .icon{width:2.4rem;height:2.4rem}.bs-rail-title{writing-mode:vertical-rl;white-space:nowrap;text-overflow:ellipsis;max-height:40rem;margin-top:1.2rem;font-size:1.3rem;overflow:hidden;transform:rotate(180deg)}.bs-panel{display:none}body.catalog-panel .bs-panel{z-index:5;background:rgba(14,18,28,.97);width:26rem;padding:2rem 1.6rem;display:block;position:absolute;top:-1.2rem;bottom:0;left:-1.6rem;overflow:auto;box-shadow:2rem 0 4rem rgba(0,0,0,.6)}.bs-panel .browse-bar{border:0;border-bottom:.05rem solid rgba(163,177,201,.22);border-radius:0;height:auto;margin:0 0 1rem;padding:0 .8rem 1.2rem;display:block}.bs-panel .browse-bar>*+*{margin-top:1rem;margin-left:0}.bs-panel .browse-bar>.spacer{display:none}.bs-panel .bb-title{max-width:none;font-size:2.4rem}.bs-panel .bb-tabs{display:inline-flex}.bs-panel .bb-sorts{margin:1.2rem 0 0;display:block}.bs-panel .bb-sorts .chip{text-align:left;width:100%;margin:0 0 .6rem;display:block}.bs-panel .ux-eyebrow{padding:.6rem .8rem 1rem;display:block}.bs-panel .focus-row{white-space:nowrap;text-overflow:ellipsis;width:100%;display:block;overflow:hidden}.browse-main .browse-grid{margin-top:0}.browse-grid>.grid-cell{width:var(--cw);margin-bottom:1.8rem}.catalog-title{-webkit-line-clamp:1;height:1.7rem;margin-top:.7rem}.bs-panel [data-focus].bb-tab.selected:focus{box-shadow:inset 0 0 0 .2rem var(--accent)}.loading-row{color:var(--on-surface-variant);align-items:center;padding:2.4rem 1.6rem;font-size:1.6rem;display:flex}.loading-row .spinner{border-width:.35rem;width:3.2rem;height:3.2rem;margin-right:1.4rem}.loading-row.small{padding:.8rem 1.2rem;font-size:1.3rem}.loading-row.small .spinner{border-width:.25rem;width:2.2rem;height:2.2rem}.loading-row.page{justify-content:center;height:100%}.bs-panel .bs-search{margin:0 0 .6rem}.bs-panel .bs-search .field-label:empty{display:none}.bs-panel .bs-search .field-box{min-height:4rem}.search-kind{justify-content:space-between;display:flex}.search-kind .sk-count{color:var(--on-surface-variant);margin-left:1rem}.search-kind[disabled]{opacity:.45}.browse-main>.search-empty,.browse-main>.loading-row{color:var(--on-surface-variant);padding:2.4rem 1.2rem;font-size:1.6rem}.search-channels{flex-wrap:wrap;flex:1;align-content:flex-start;min-height:0;padding:1.2rem;display:flex;overflow:auto}.search-channels>.channel-tile{margin:0 1.6rem 1.6rem 0}.browse-main>.search-programs{flex:1;min-height:0;padding:1.2rem;overflow:auto}body.catalog-panel .browse-main>.search-empty{padding-left:26rem}.search-tabs{background:rgba(0,0,0,.35);border-radius:2rem;flex:none;align-self:flex-start;margin:.6rem 0 .4rem 1.2rem;padding:.3rem;display:flex}.search-tabs .bb-tab+.bb-tab{margin-left:.4rem}.search-tabs [data-focus].bb-tab.selected:focus{box-shadow:inset 0 0 0 .2rem var(--accent)}
|
|
1
|
+
(function(){var e=document.createElement(`style`);e.textContent=`:root{--bg:#070c18;--bg-top:#0d1830;--surface:#111c33;--surface-variant:#1a2947;--on-bg:#e8edf5;--on-surface-variant:#a3b1c9;--accent:#4fc3f7;--accent-rgb:79, 195, 247;--live:#e53935;--error:#ff6b6b;--glass:rgba(17,28,51,.72)}html{font-size:1.04167vw;font-size:min(1.04167vw,1.85185vh)}html,body{height:100%;color:var(--on-bg);-webkit-font-smoothing:antialiased;background:0 0;margin:0;font-family:SamsungOne,Tizen Sans,Roboto,Helvetica Neue,Arial,sans-serif;overflow:hidden}*{box-sizing:border-box}::-webkit-scrollbar{display:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}[data-focus]:focus{outline:none}h1,h2,p{margin:0}.muted{color:var(--on-surface-variant)}.row{align-items:center;display:flex}.row>*+*{margin-left:1.2rem}.app{z-index:1;flex-direction:column;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}#video{position:absolute;top:0;bottom:0;left:0;right:0}.backdrop{z-index:-1;background:radial-gradient(circle at 10% 0, rgba(var(--accent-rgb), .13), transparent 55vw), radial-gradient(circle at 100% 100%, rgba(124,77,255,.1), transparent 50vw), linear-gradient(var(--bg-top), var(--bg));background-size:100vw 100vh;position:absolute;transform:translateZ(0)}.glass{background:var(--glass);border:.1rem solid rgba(255,255,255,.06);border-radius:2rem}.icon{width:2.2rem;height:2.2rem;display:block}.topbar{flex:none;align-items:center;margin:1.8rem 4.8rem 0;padding:.8rem 1.6rem;display:flex}.brand{background:linear-gradient(90deg, #fff, var(--accent));-webkit-text-fill-color:transparent;-webkit-background-clip:text;flex:1;font-size:2.2rem;font-weight:900}.pills{align-items:center;display:flex}.pill{color:var(--on-surface-variant);white-space:nowrap;border:.1rem solid transparent;border-radius:10rem;margin-left:.2rem;padding:.7rem 1.2rem;font-size:1.6rem;font-weight:500}.pill.selected{background:rgba(var(--accent-rgb), .18);border-color:rgba(var(--accent-rgb), .5);color:var(--accent)}.pill:focus{background:var(--on-bg);color:var(--surface)}.content{flex:1;min-height:0;padding:2.4rem 4.8rem 2.7rem;overflow:auto}.placeholder h1{margin-bottom:1rem;font-size:3.4rem;font-weight:700}.placeholder p{font-size:1.8rem}.scrim{z-index:30;background:rgba(0,0,0,.6);justify-content:center;align-items:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.dialog{background:var(--surface);width:48rem;padding:2.8rem 3.2rem}.dialog h2{margin-bottom:1rem;font-size:2.4rem}.dialog p{color:var(--on-surface-variant);margin-bottom:2.4rem;font-size:1.8rem}.btn{background:var(--surface-variant);border-radius:10rem;padding:.9rem 2.2rem;font-size:1.6rem;font-weight:500}.btn:focus{background:var(--on-bg);color:var(--surface)}.btn{align-items:center;display:inline-flex}.btn .icon{width:2rem;height:2rem;margin-right:.8rem}.btn.primary{background:var(--accent);color:#00121c}.btn.outline{background:0 0;border:.1rem solid rgba(255,255,255,.25)}.btn:focus,.btn.primary:focus,.btn.outline:focus{background:var(--on-bg);color:var(--surface);border-color:var(--on-bg)}.chip{border:.1rem solid rgba(255,255,255,.2);border-radius:10rem;padding:.6rem 1.6rem;font-size:1.5rem}.chip.selected{background:rgba(var(--accent-rgb), .18);border-color:var(--accent);color:var(--accent)}.chip:focus{background:var(--on-bg);color:var(--surface)}.field{margin-bottom:1.4rem;display:block}.field-label{color:var(--on-surface-variant);margin-bottom:.6rem;font-size:1.4rem;display:block}.field-box{background:var(--surface-variant);border:.2rem solid transparent;border-radius:1.2rem}.field-box:focus{border-color:var(--accent)}.field-box input:focus{background:rgba(var(--accent-rgb), .12)}.field-box input{width:100%;color:var(--on-bg);font:inherit;background:0 0;border:0;border-radius:1rem;outline:none;padding:1rem 1.4rem;font-size:1.7rem;display:block}.field-box input::-webkit-input-placeholder{color:rgba(163,177,201,.6)}.field-pair{display:flex}.field-pair>.field{flex:1}.field-pair>.field+.field{margin-left:1.6rem}.error-box{background:rgba(255,82,82,.2);border-radius:1.2rem;margin-bottom:1.4rem;padding:1.6rem;font-size:1.7rem}.error-text{color:var(--error);font-size:2.2rem}.onboarding{flex-direction:column;flex:1;min-height:0;padding:2.7rem 4.8rem;display:flex}.center-msg{margin:auto;font-size:2.2rem}.onb-choose{flex:1;align-items:center;display:flex}.onb-brand{flex:.9;margin-right:5.6rem}.brand-mark{background:linear-gradient(135deg, var(--accent), #0288d1);color:#fff;border-radius:1.8rem;justify-content:center;align-items:center;width:7.2rem;height:7.2rem;display:flex}.brand-mark .icon{width:4.3rem;height:4.3rem}.onb-brand h1{margin-top:2.4rem;font-size:4.8rem;font-weight:900}.tagline{margin-top:.8rem;font-size:2.2rem}.features{margin:3.6rem 0 0;padding:0;list-style:none}.features li{align-items:center;margin-bottom:1.6rem;font-size:1.8rem;display:flex}.feature-icon{background:rgba(var(--accent-rgb), .14);width:4rem;height:4rem;color:var(--accent);border-radius:50%;flex:none;justify-content:center;align-items:center;margin-right:1.6rem;display:flex}.note{margin-top:2rem;font-size:1.4rem}.onb-options{flex:1.1;max-height:100%;margin:-1.2rem -1.6rem;padding:1.2rem 1.6rem;overflow:auto}.onb-options h2{margin:0 0 .6rem .4rem;font-size:2.2rem;font-weight:600}.option{text-align:left;background:rgba(17,28,51,.75);border:.2rem solid transparent;border-radius:1.6rem;align-items:center;width:100%;margin-top:.8rem;padding:.9rem 1.8rem;transition:transform .12s ease-out;display:flex}.option:focus{background:var(--surface-variant);border-color:var(--accent);transform:scale(1.03)}.option-icon{border-radius:1.2rem;flex:none;justify-content:center;align-items:center;width:4.4rem;height:4.4rem;display:flex}.option-icon .icon{width:2.6rem;height:2.6rem}.option-text{flex:1;min-width:0;margin-left:1.6rem;font-size:1.4rem}.option-text>span{display:block}.option-title{margin-bottom:.2rem;font-size:1.8rem;font-weight:500}.badge{border-radius:10rem;margin-left:1rem;padding:.2rem 1rem;font-size:1.2rem}.step-header{flex:none;align-items:center;display:flex}.step-header>div{margin-left:2.4rem}.step-header h1{font-size:2.8rem;font-weight:600}.step-header p{font-size:1.6rem}.form-step{flex-direction:column;flex:1;min-height:0;display:flex}.form-row{flex:1;min-height:0;margin-top:2rem;display:flex}.form-panel{flex:1;padding:2.2rem 2.8rem;overflow:auto}.form-panel h3{margin:0 0 1rem;font-size:1.6rem;font-weight:500}.connect{margin:.4rem 0 1.8rem}.file-chosen{margin-bottom:1.4rem;font-size:1.7rem}.form-side{flex:none;width:34rem;margin-left:2.8rem}.usb-list{flex:1;margin-top:2rem;padding:1.6rem 2.2rem;font-size:1.7rem;overflow:auto}.sync-step{text-align:center;margin:auto}.sync-step h1{margin-bottom:2.4rem;font-size:2.8rem;font-weight:600}.sync-step .stage{font-size:2.2rem}.sync-step .row{justify-content:center;margin-top:2.4rem}.sync-step>.btn{margin-top:3.2rem}.indeterminate{background:var(--surface-variant);border-radius:.3rem;width:48rem;height:.6rem;margin:2rem auto 0;overflow:hidden}.indeterminate span{background:var(--accent);width:40%;height:100%;animation:1.2s ease-in-out infinite indeterminate;display:block}@keyframes indeterminate{0%{transform:translate(-100%)}to{transform:translate(250%)}}.focus-row{text-align:left;border:.3rem solid transparent;border-radius:1rem;align-items:center;width:100%;padding:.8rem 1.2rem;transition:transform .1s ease-out;display:flex}.focus-row>*+*{margin-left:1rem}.focus-row.idle{background:rgba(26,41,71,.45)}.focus-row.selected{background:var(--surface-variant)}.focus-row:focus{background:var(--surface-variant);border-color:var(--accent);transform:scale(1.03)}.channel-logo{background:rgba(255,255,255,.13);border-radius:.6rem;flex:none;justify-content:center;align-items:center;padding:.3rem;display:inline-flex;overflow:hidden}.channel-logo img{max-width:100%;max-height:100%}.marquee{white-space:nowrap;text-overflow:ellipsis;min-width:0;display:block;overflow:hidden}.marquee>span.run{animation:linear infinite alternate marquee;display:inline-block}@keyframes marquee{0%,15%{transform:translate(0)}85%,to{transform:translateX(var(--marquee))}}.fav-star{color:#ffb74d;flex:none;width:1.4rem;height:1.4rem;margin-left:.6rem}.fav-star.big{width:2.2rem;height:2.2rem}.content.live-content{padding-top:2.4rem}.live-screen{height:100%;display:flex}.live-cats{flex-direction:column;flex:none;width:19rem;padding:1rem;display:flex}.live-cats.wide{width:27rem}.group-mode{text-align:left;border:.2rem solid transparent;border-radius:1rem;flex:none;justify-content:space-between;align-items:center;margin-bottom:.8rem;padding:.6rem .8rem;display:flex}.group-mode:focus{background:var(--surface-variant);border-color:var(--accent)}.group-mode>span>span{display:block}.gm-title{font-size:1.8rem;font-weight:500}.gm-value{color:var(--accent);white-space:nowrap;font-size:1.4rem}.cat-list{flex:1;min-height:0;margin:-.6rem -1rem;padding:.6rem 1rem;overflow:auto}.cat-row{margin-bottom:.4rem;font-size:1.6rem;font-weight:500}.cat-row.selected .cat-name{color:var(--accent)}.cat-name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.cat-icon{flex:none;width:1.6rem;height:1.6rem}.platform-badge{flex:none;align-items:center;width:5.4rem;height:1.8rem;display:inline-flex}.platform-badge img{max-width:100%;max-height:100%}.platform-badge b{white-space:nowrap;font-size:1.2rem}.tint-white{filter:brightness(0)invert()}.live-channels{flex-direction:column;flex:1;min-width:0;padding:1rem;display:flex}.panel-title{padding:.4rem .8rem 1rem}.panel-title h2{font-size:1.8rem;font-weight:500}.panel-title span{font-size:1.4rem}.empty{margin:auto;font-size:1.8rem}.channel-list{flex:1;min-height:0;margin:0 -1.2rem;padding:0 1.2rem;position:relative;overflow:hidden}.channel-list-inner{position:relative}.channel-row{height:6.8rem;position:absolute;left:0;right:0}.channel-row.compact{height:5.6rem}.ch-number{width:4.4rem;color:var(--on-surface-variant);flex:none;font-size:1.6rem;font-weight:500}.channel-row.compact .ch-number{width:4rem}.channel-row.selected .ch-number{color:var(--accent)}.ch-logo-box{background:rgba(255,255,255,.07);border-radius:1rem;flex:none;justify-content:center;align-items:center;width:6.4rem;height:4.8rem;display:flex}.ch-text{flex:1;min-width:0}.ch-name{align-items:center;font-size:1.6rem;font-weight:500;display:flex}.live-preview{background:0 0;flex:none;width:30rem;padding:1.4rem;position:relative;overflow:hidden}.preview-label{color:var(--accent);margin-bottom:1rem;font-size:1.6rem;font-weight:500;display:block}.preview-box{height:15.19rem;box-shadow:0 0 0 100rem var(--glass);background:#000;border-radius:1.2rem;justify-content:center;align-items:center;display:flex}.preview-box.hole{background:0 0}.preview-name{margin-top:1.4rem;margin-bottom:1rem;font-size:2.2rem;font-weight:600}.live-preview p{font-size:1.4rem}.toast{z-index:50;background:rgba(8,11,16,.9);border-radius:2.4rem;padding:1rem 2.2rem;font-size:1.6rem;font-weight:500;position:fixed;top:4rem;left:50%;transform:translate(-50%)}.menu-dialog{background:var(--surface);border-radius:1.6rem;width:52rem;padding:2.4rem}.menu-dialog h2{margin-bottom:1.4rem;font-size:2.4rem;font-weight:600}.menu-list{max-height:48rem;margin:-.4rem -1.2rem;padding:.4rem 1.2rem;overflow:auto}.menu-item{text-align:left;border:.3rem solid transparent;border-radius:1rem;justify-content:space-between;align-items:center;width:100%;margin-bottom:.4rem;padding:1rem 1.2rem;font-size:1.8rem;font-weight:500;transition:transform .1s ease-out;display:flex}.menu-item:focus{background:var(--surface-variant);border-color:var(--accent);transform:scale(1.03)}.menu-item .icon{color:var(--accent)}.number-box{color:var(--accent);z-index:40;background:rgba(0,0,0,.8);border-radius:1.2rem;padding:1.4rem 2.8rem;font-size:3.4rem;font-weight:700;position:fixed;top:4rem;right:4.8rem}.player{position:absolute;top:0;bottom:0;left:0;right:0}.player-center{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.spinner{border:.5rem solid transparent;border-top-color:var(--accent);border-right-color:var(--accent);border-bottom-color:var(--accent);border-radius:50%;width:5.6rem;height:5.6rem;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.retry-label{background:rgba(8,11,16,.9);border-radius:.8rem;margin-top:1.2rem;padding:.4rem 1rem;font-size:1.6rem}.paused-icon{width:7.2rem;height:7.2rem}.error-card{text-align:center;background:rgba(8,11,16,.9);border-radius:1.6rem;width:56rem;padding:2.8rem}.error-card .error-icon{width:4.8rem;height:4.8rem;color:var(--error);margin:0 auto 1.2rem}.error-card p{margin-bottom:2rem;font-size:1.8rem;font-weight:500}.error-card .row{justify-content:center}.error-card .error-detail{color:var(--on-surface-variant);margin-top:-1.2rem;font-size:1.2rem;font-weight:400}.info-band{background:linear-gradient(transparent,rgba(5,8,12,.8) 40%,rgba(5,8,12,.95));padding:5.6rem 4.8rem 2.7rem;animation:.2s ease-out band-in;position:absolute;bottom:0;left:0;right:0}@keyframes band-in{0%{opacity:0;transform:translateY(33%)}to{opacity:1;transform:none}}.band-row{align-items:flex-start;display:flex}.band-left{flex-direction:column;flex:none;align-items:flex-start;display:flex}.band-number{color:var(--accent);margin-bottom:.6rem;font-size:3.4rem;font-weight:700}.band-mid{flex:1;min-width:0;margin-left:2.4rem}.band-title{align-items:center;display:flex}.band-title>*+*{margin-left:1rem}.band-name{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:2.8rem;font-weight:600;overflow:hidden}.badge-sm{background:rgba(255,255,255,.2);border-radius:.6rem;flex:none;padding:.2rem .8rem;font-size:1.4rem}.badge-sm.live{background:var(--live)}.band-program{margin-top:.8rem;font-size:1.8rem}.band-hint{color:rgba(255,255,255,.6);margin-top:1rem;font-size:1.2rem}.band-clock{flex:none;margin-left:2.4rem;font-size:2.2rem;font-weight:600}.control-bar{justify-content:center;margin-top:2rem;display:flex}.cb-item{flex-direction:column;align-items:center;width:7.6rem;margin:0 .7rem;display:flex}.cb-btn{background:rgba(255,255,255,.14);border-radius:50%;justify-content:center;align-items:center;width:5.6rem;height:5.6rem;transition:transform .1s ease-out;display:flex}.cb-btn .icon{width:2.6rem;height:2.6rem}.cb-btn.active{background:rgba(var(--accent-rgb), .35)}.cb-btn:focus{color:#000;background:#fff;transform:scale(1.12)}.cb-label{color:rgba(255,255,255,.87);text-align:center;white-space:nowrap;margin-top:.6rem;font-size:1.4rem}.list-overlay{background:linear-gradient(90deg,rgba(8,11,16,.9),rgba(8,11,16,.9) 88%,transparent);flex-direction:column;width:48rem;padding:2.7rem 6.4rem 2.7rem 4.8rem;animation:.2s ease-out slide-left;display:flex;position:absolute;top:0;bottom:0;left:0}.list-overlay h2{margin-bottom:1rem;font-size:1.8rem;font-weight:500}@keyframes slide-left{0%{opacity:0;transform:translate(-25%)}to{opacity:1;transform:none}}.options-panel{background:linear-gradient(270deg,rgba(8,11,16,.9),rgba(8,11,16,.9) 88%,transparent);width:42rem;padding:4rem 4.8rem 4rem 5.6rem;animation:.2s ease-out slide-right;position:absolute;top:0;bottom:0;right:0;overflow:auto}@keyframes slide-right{0%{opacity:0;transform:translate(25%)}to{opacity:1;transform:none}}.options-panel h2{margin-bottom:1.6rem;font-size:2.4rem;font-weight:600}.opt-row{justify-content:space-between;margin-bottom:.4rem}.opt-text{flex:1;min-width:0}.opt-text>span{display:block}.opt-label{font-size:1.6rem;font-weight:500}.opt-value{color:var(--accent);font-size:1.4rem}.progress-line{background:rgba(255,255,255,.27);border-radius:.2rem;height:.4rem;display:block;overflow:hidden}.progress-line>span{background:var(--accent);height:100%;display:block}.ch-program{color:var(--on-surface-variant);white-space:nowrap;text-overflow:ellipsis;font-size:1.4rem;display:block;overflow:hidden}.ch-progress{width:60%;margin-top:.3rem}.program-block{margin-bottom:1.2rem}.program-block>span{display:block}.pb-label{color:var(--accent);font-size:1.4rem}.pb-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:1.6rem;font-weight:500;display:-webkit-box;overflow:hidden}.pb-progress{margin:.4rem 0}.pb-desc{color:var(--on-surface-variant);-webkit-line-clamp:4;-webkit-box-orient:vertical;font-size:1.4rem;display:-webkit-box;overflow:hidden}.band-time{color:var(--accent);margin-right:1.2rem;font-size:1.6rem;font-weight:500}.band-progress{align-items:center;margin-top:.6rem;display:flex}.band-progress .progress-line{flex:1}.band-progress>span:last-child{margin-left:1.2rem;font-size:1.4rem}.band-next{margin-top:.6rem;font-size:1.6rem}.guide{flex-direction:column;height:100%;display:flex}.guide-head{flex:none;justify-content:space-between;align-items:center;padding-bottom:1rem;display:flex}.guide-head h1{font-size:2.2rem;font-weight:600}.guide-head .row>*+*{margin-left:1rem}.guide-hint{color:var(--on-surface-variant);flex:none;margin-top:.6rem;font-size:1.2rem}.epg-grid{--epg-ch:19.4rem;flex-direction:column;flex:1;min-height:0;display:flex}.epg-header{height:3.2rem;margin-left:var(--epg-ch);flex:none;position:relative}.epg-header span{color:var(--on-surface-variant);padding-left:.6rem;font-size:1.6rem;font-weight:500;position:absolute;top:.6rem}.epg-body{flex:1;min-height:0;position:relative;overflow:hidden}.epg-row{margin-top:.2rem;display:flex;position:absolute;left:0;right:0}.epg-channel{background:var(--surface);text-align:left;border:.2rem solid transparent;border-radius:.8rem;flex:none;align-items:center;width:19rem;margin-right:.4rem;padding:0 .8rem;display:flex}.epg-channel:focus{background:var(--surface-variant);border-color:var(--accent)}.epg-num{width:3.6rem;color:var(--on-surface-variant);flex:none;font-size:1.4rem}.epg-chname{-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;min-width:0;padding-left:.8rem;font-size:1.6rem;display:-webkit-box;overflow:hidden}.epg-programs{flex:1;position:relative}.epg-cell{background:var(--surface);text-align:left;background-clip:padding-box;border:.2rem solid transparent;border-right-width:.5rem;border-radius:.8rem;padding:.4rem .8rem;position:absolute;top:0;bottom:0;overflow:hidden}.epg-cell.live{background-color:#1e3446}.epg-cell:focus{background-color:var(--accent);color:#00121c;border-color:var(--accent)}.epg-title{white-space:nowrap;text-overflow:ellipsis;font-size:1.6rem;display:block;overflow:hidden}.epg-time{opacity:.8;font-size:1.2rem;display:block}.epg-now{background:var(--live);pointer-events:none;width:.2rem;position:absolute;top:0;bottom:0}.guide-overlay{background:linear-gradient(transparent,rgba(5,8,12,.85) 8%,rgba(5,8,12,.95));flex-direction:column;height:62%;padding:3.6rem 4.8rem 2rem;animation:.2s ease-out band-in;display:flex;position:absolute;bottom:0;left:0;right:0}.epg-grid.translucent .epg-channel,.epg-grid.translucent .epg-cell{background-color:rgba(21,27,35,.6)}.epg-grid.translucent .epg-cell.live{background-color:rgba(30,52,70,.75)}.epg-grid.translucent .epg-cell:focus{background-color:var(--accent)}.program-dialog{background:var(--surface);border-radius:1.6rem;width:64rem;padding:2.4rem}.program-dialog h2{font-size:2.4rem;font-weight:600}.pd-meta{color:var(--accent);margin-top:.6rem;font-size:1.6rem;font-weight:500}.pd-cat{color:var(--on-surface-variant);font-size:1.4rem}.pd-desc{max-height:22rem;margin-top:1.2rem;font-size:1.8rem;overflow:auto}.pd-buttons{flex-wrap:wrap;margin-top:2rem}.page{position:absolute;top:0;bottom:0;left:0;right:0}.vod-home>.shelf+.shelf{margin-top:2rem}.shelf-title{align-items:center;padding:0 0 .2rem 1.6rem;font-size:2.2rem;font-weight:600;display:flex}.shelf-all{color:var(--on-surface-variant);white-space:pre;background:0 0;border-radius:99rem;margin-left:1rem;padding:.4rem 1.2rem;font-size:1.3rem;font-weight:500}.shelf-all:focus{background:var(--on-bg);color:var(--surface)}.shelf-logo{align-items:center;width:7.8rem;height:2.6rem;margin-right:1rem;display:inline-flex}.shelf-logo img,.shelf-logo b{max-width:100%;max-height:100%}.shelf-row{padding:1.2rem 1.6rem;display:flex;position:relative;overflow:hidden}.shelf-row>*{flex:none}.shelf-row>*+*{margin-left:1.6rem}.poster-card{background:var(--surface-variant);text-align:left;border:.1rem solid rgba(255,255,255,.08);border-radius:1.4rem;width:13rem;height:19.5rem;transition:transform .12s ease-out;position:relative;overflow:hidden}.poster-card:focus{border:.3rem solid var(--accent);transform:scale(1.08)}.poster-card img{object-fit:cover;width:100%;height:100%;position:absolute;top:0;left:0}.poster-progress{background:rgba(255,255,255,.27);height:.4rem;position:absolute;bottom:0;left:0;right:0}.poster-progress>span{background:var(--accent);height:100%;display:block}.genre-chip{align-self:center}.platform-tile{background:#000;border:.3rem solid transparent;border-radius:1.2rem;width:26rem;height:14.6rem;transition:transform .12s ease-out;position:relative;overflow:hidden}.platform-tile:focus{border-color:#fff;transform:scale(1.08)}.pt-collage{display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.pt-collage img{object-fit:cover;flex:1;min-width:0;height:100%}.pt-shade,.pt-logo{position:absolute;top:0;bottom:0;left:0;right:0}.pt-logo{justify-content:center;align-items:center;display:flex}.pt-logo img.own-color{border-radius:.6rem}.pt-logo b{color:#fff;font-size:2.6rem;font-weight:900}.browse{flex-direction:column;height:100%;padding:2.4rem 4.8rem 2.7rem;display:flex}.browse-logo{align-items:center;width:8.8rem;height:2.4rem;display:inline-flex}.browse-logo img{max-width:100%;max-height:100%}.spacer{flex:1}.browse-grid{flex-wrap:wrap;flex:1;align-content:flex-start;min-height:0;margin:0 -1.2rem;padding:1.2rem;display:flex;overflow:auto}.grid-cell{flex:none;margin:0 1.8rem 1.8rem 0}.browse-grid{margin:0 -1.6rem 0 .2rem}.browse-grid .poster-card.plain{width:var(--cw);height:calc(var(--cw) * 1.5)}.browse-grid .wide-card{width:var(--cw);height:calc(var(--cw) * .5625)}.browse-info{flex:none;padding-left:1.4rem}.detail{position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.detail-backdrop{background:var(--bg);position:absolute;top:0;bottom:0;left:0;right:0}.detail-backdrop img{object-fit:cover;width:100%;height:100%}.detail-backdrop span{position:absolute;top:0;bottom:0;left:0;right:0}.db-h{background:linear-gradient(90deg,rgba(7,12,24,.95),rgba(7,12,24,.75) 40%,rgba(7,12,24,.1))}.db-v{background:linear-gradient(transparent 55%, var(--bg))}.detail-scroll{padding:3.5rem 4.8rem 2.7rem;position:absolute;top:0;bottom:0;left:0;right:0;overflow:auto}.detail-scroll.series{padding:6rem 4.8rem 4rem}.back-btn{margin-bottom:1.6rem}.detail-row{display:flex}.detail-poster{background:var(--surface-variant);border:.1rem solid rgba(255,255,255,.12);border-radius:1.6rem;flex:none;width:22rem;height:33rem;margin-right:3.2rem;overflow:hidden}.detail-poster img{object-fit:cover;width:100%;height:100%}.detail-info{flex:1;min-width:0}.detail-info h1{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:3.4rem;font-weight:700;display:-webkit-box;overflow:hidden}.meta-chips{flex-wrap:wrap;margin-top:1.2rem;display:flex}.meta-chip{background:rgba(255,255,255,.1);border-radius:.8rem;margin:0 .8rem .8rem 0;padding:.4rem 1rem;font-size:1.6rem;font-weight:500}.meta-chip.gold{color:#ffc94d;background:rgba(255,201,77,.2)}.detail-plot{-webkit-line-clamp:5;-webkit-box-orient:vertical;margin-top:1.4rem;font-size:1.8rem;display:-webkit-box;overflow:hidden}.detail-credit{color:var(--on-surface-variant);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:.6rem;font-size:1.6rem;display:-webkit-box;overflow:hidden}.detail-actions{flex-wrap:wrap;margin-top:2.2rem;display:flex}.detail-actions>*{margin:0 1.2rem 1.2rem 0}.detail .shelf{margin-top:2.4rem;margin-left:-1.6rem}.season-chips{margin:2.8rem 0 .8rem;display:flex}.season-chips>*+*{margin-left:1rem}.season-gap{height:2.4rem}.episode-list{margin:0 -1rem;padding:0 1rem}.episode-row{margin:.3rem 0}.ep-thumb{background:var(--surface-variant);border-radius:.8rem;flex:none;width:12.8rem;height:7.2rem;position:relative;overflow:hidden}.ep-thumb img{object-fit:cover;width:100%;height:100%}.ep-text{flex:1;min-width:0}.ep-text>span{display:block}.ep-title{white-space:nowrap;text-overflow:ellipsis;font-size:1.6rem;font-weight:500;overflow:hidden}.ep-plot{color:var(--on-surface-variant);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:1.4rem;display:-webkit-box;overflow:hidden}.ep-min{flex:none;font-size:1.4rem}.ep-watched{color:var(--accent);flex:none}.vod-top{background:linear-gradient(rgba(5,8,12,.8),transparent);justify-content:space-between;align-items:flex-start;padding:2.7rem 4.8rem 4rem;display:flex;position:absolute;top:0;left:0;right:0}.vod-top h1{font-size:2.8rem;font-weight:600}.vod-top p{color:var(--on-surface-variant);font-size:1.6rem}.vod-bottom{background:linear-gradient(transparent,rgba(5,8,12,.9));padding:4.8rem 4.8rem 2.7rem;position:absolute;bottom:0;left:0;right:0}.vod-bar-row{align-items:center;display:flex}.vod-bar-row>*+*{margin-left:1.4rem}.vod-state{width:3.6rem;height:3.6rem}.vod-time{font-size:1.6rem;font-weight:500}.vod-bar{background:rgba(255,255,255,.27);border-radius:.3rem;flex:1;height:.6rem;position:relative;overflow:hidden}.vod-bar span{position:absolute;top:0;bottom:0;left:0}.vod-buffer{background:rgba(255,255,255,.4)}.vod-played{background:var(--accent)}.vod-bottom .control-bar{margin-top:1.8rem}.episodes-panel{background:linear-gradient(90deg,rgba(8,11,16,.9),rgba(8,11,16,.9) 88%,transparent);width:50rem;padding:2.7rem 6.4rem 2.7rem 4.8rem;animation:.2s ease-out slide-left;position:absolute;top:0;bottom:0;left:0;overflow:auto}.episodes-panel h2{margin-bottom:1.4rem;font-size:2.4rem;font-weight:600}.ep-code{color:var(--accent);flex:none;font-size:1.6rem;font-weight:500}.next-card{background:rgba(8,11,16,.9);border-radius:1.4rem;width:38rem;padding:2rem;position:absolute;bottom:4.8rem;right:4.8rem}.next-when{color:var(--accent);font-size:1.8rem;font-weight:500}.next-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:.6rem 0 1.4rem;font-size:1.8rem;display:-webkit-box;overflow:hidden}.home{flex-direction:column;height:100%;display:flex}.home-head{flex:none;align-items:flex-end;padding:0 1.6rem .4rem;display:flex}.home-head h1{font-size:2.4rem;font-weight:600}.home-head .muted{white-space:pre;padding-bottom:.2rem;font-size:1.6rem;font-weight:500}.home-shelves{flex:1;min-height:0;padding-bottom:4.8rem;overflow:auto}.home-empty{padding:4rem 1.6rem;font-size:1.8rem;font-weight:500}.hero{background:var(--surface-variant);border-radius:2rem;height:30rem;margin:.4rem 1.6rem 0;position:relative;overflow:hidden}.hero>img{object-fit:cover;width:100%;height:100%;position:absolute;top:0;left:0}.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.92),rgba(0,0,0,.45) 55%,transparent);position:absolute;top:0;bottom:0;left:0;right:0}.hero-content{flex-direction:column;justify-content:center;width:55%;padding:3.2rem;display:flex;position:absolute;top:0;bottom:0;left:0}.hero-label{color:var(--accent);font-size:1.6rem;font-weight:500}.hero h2{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:.4rem;font-size:2.8rem;font-weight:600;display:-webkit-box;overflow:hidden}.hero-meta{color:var(--on-surface-variant);white-space:pre;margin-top:.6rem;font-size:1.6rem;font-weight:500}.hero-plot{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:.8rem;font-size:1.6rem;display:-webkit-box;overflow:hidden}.hero-actions{margin-top:1.6rem}.channel-tile{flex-direction:column;width:18rem;display:flex}.ct-card{background:var(--surface-variant);border:.3rem solid transparent;border-radius:1.4rem;justify-content:center;align-items:center;width:18rem;height:10.1rem;padding:1.4rem;transition:transform .12s ease-out;display:flex}.ct-card:focus{border-color:var(--accent);transform:scale(1.08)}.ct-card .channel-logo{background:0 0}.ct-name-big{text-align:center;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:1.6rem;font-weight:500;display:-webkit-box;overflow:hidden}.ct-name,.ct-program{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ct-name{color:var(--on-surface-variant);margin-top:.6rem;font-size:1.4rem}.ct-program{font-size:1.6rem;font-weight:500}.ct-progress{margin-top:.4rem}.program-tile{background:var(--surface-variant);text-align:left;border:.3rem solid transparent;border-radius:1.4rem;align-items:flex-start;width:28rem;height:12.8rem;padding:1.4rem;transition:transform .12s ease-out;display:flex}.program-tile:focus{border-color:var(--accent);transform:scale(1.06)}.pt-logo-box{flex:none;justify-content:center;align-items:center;width:5.6rem;height:5.6rem;margin-right:1.2rem;display:flex}.pt-text{flex:1;min-width:0}.pt-text>span{display:block}.pt-time{color:var(--accent);font-size:1.6rem;font-weight:500}.pt-badge{background:var(--live);color:#fff;border-radius:.4rem;margin-left:.8rem;padding:.1rem .6rem;font-size:1.2rem}.pt-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:.4rem;font-size:1.6rem;font-weight:500;display:-webkit-box;overflow:hidden}.pt-channel{color:var(--on-surface-variant);white-space:nowrap;text-overflow:ellipsis;font-size:1.4rem;overflow:hidden}.pin-dialog{background:var(--surface);text-align:center;border-radius:1.6rem;width:42rem;padding:2.4rem}.pin-dialog h2{font-size:2.2rem;font-weight:600}.pin-dots{letter-spacing:.6rem;margin-top:1.2rem;font-size:3.4rem}.pin-error{color:var(--error);padding:.8rem 0;font-size:1.6rem}.pin-pad{flex-wrap:wrap;justify-content:center;width:24.8rem;margin:0 auto;display:flex}.pin-key{justify-content:center;width:7.2rem;height:5.6rem;margin:.4rem;font-size:2.2rem}.pin-pad .pin-key:last-child{margin-right:8.4rem}.preview-lock{width:4rem;height:4rem}.epg-mapping{height:100%;padding:2.7rem 4.8rem;display:flex}.em-left{flex:none;width:32rem;margin-right:3.2rem}.em-left h1{margin-top:1.2rem;font-size:2.8rem;font-weight:600}.em-channel{color:var(--accent);margin-top:.8rem;font-size:2.2rem;font-weight:600}.em-filter{margin-top:2.4rem}.em-list{flex:1;margin:-.4rem -1.2rem;padding:.4rem 1.2rem;overflow:auto}.em-auto{color:var(--accent);font-size:1.6rem;font-weight:500}.em-id{font-size:1.4rem}.search>*+*{margin-top:1.8rem}.search-row{padding:0 1.6rem}.history-row{align-items:center}.search-empty{padding:0 1.6rem;font-size:1.8rem;font-weight:500}.search-programs{padding:0 1.6rem}.search-programs .shelf-title{margin-bottom:.6rem;padding-left:0}.search-prog{margin-bottom:.4rem}.sp-time{text-align:right;width:18rem;color:var(--on-surface-variant);flex:none;font-size:1.4rem}.sp-time.live{color:var(--accent)}.settings{height:100%;display:flex}.set-sections{flex:none;width:24rem;margin-left:-1rem;margin-right:2.4rem;padding:.4rem 1rem;overflow:auto}.set-section{margin-bottom:.4rem;font-size:1.6rem;font-weight:500}.set-section .icon{flex:none}.set-section.selected .icon{color:var(--accent)}.set-panel{flex:1;min-width:0;padding:2rem 2.8rem;overflow:auto}.set-panel h2{margin-bottom:.8rem;font-size:2.4rem;font-weight:600}.set-row{margin-bottom:.4rem}.set-sub{color:var(--on-surface-variant);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:1.4rem;display:-webkit-box;overflow:hidden}.set-value{max-width:40%;color:var(--accent);text-align:right;white-space:nowrap;text-overflow:ellipsis;flex:none;font-size:1.6rem;font-weight:500;overflow:hidden}.set-header{color:var(--on-surface-variant);padding:1.8rem 1.2rem .6rem;font-size:1.6rem;font-weight:500}.set-hint{color:var(--on-surface-variant);padding:1.6rem 1.2rem;font-size:1.6rem}.set-about h3{font-size:2.8rem;font-weight:600}.set-about p{margin-top:.6rem;font-size:1.6rem}.set-version{color:var(--accent)}.set-ua{word-break:break-all;font-size:1.2rem}.dialog p{white-space:pre-line}.pt-badge.reminder{background:var(--accent);color:#000}.subtitle-layer{z-index:5;text-align:center;pointer-events:none;line-height:1.25;position:absolute;bottom:7%;left:8%;right:8%}.subtitle-line{white-space:pre-wrap;text-shadow:-.15rem -.15rem #000,.15rem -.15rem #000,-.15rem .15rem #000,.15rem .15rem #000;margin:0 auto;padding:0 .6rem;display:table}.subtitle-layer.boxed .subtitle-line{text-shadow:none;background:rgba(0,0,0,.7)}.poster-card.plain{border:.2rem solid transparent;border-radius:.6rem;width:11.6rem;height:17.4rem;transition:transform .12s ease-out}.poster-card.plain:focus,.wide-card:focus{border-color:#fff;transform:scale(1.1)}.shelf-info{white-space:nowrap;text-overflow:ellipsis;height:2.8rem;margin:0;padding:.2rem 1.6rem 0;font-size:1.5rem;overflow:hidden}.shelf-info span{white-space:pre;color:rgba(255,255,255,.75)}.wide-card{background:var(--surface-variant);text-align:left;border:.2rem solid transparent;border-radius:.6rem;width:20rem;height:11.25rem;transition:transform .12s ease-out;position:relative;overflow:hidden}.wide-card img{object-fit:cover;width:100%;height:100%;position:absolute;top:0;left:0}.wc-shade{background:linear-gradient(transparent,rgba(0,0,0,.85));height:50%;position:absolute;bottom:0;left:0;right:0}.wc-text{position:absolute;bottom:.9rem;left:1rem;right:1rem}.wc-title{color:#fff;white-space:nowrap;text-overflow:ellipsis;font-size:1.4rem;font-weight:700;display:block;overflow:hidden}.wc-sub{color:rgba(255,255,255,.75);font-size:1.1rem;display:block}.wc-badge{color:#fff;background:#e50914;border-radius:.3rem;padding:.15rem .6rem;font-size:1.1rem;font-weight:700;position:absolute;top:.6rem;right:.6rem}.wc-progress{height:.3rem}.badge-sm.archive{color:#fff;background:#7e57c2}.archive-band .vod-bar-row{margin-top:.8rem}.home-edit{height:100%;padding:2.4rem 4.8rem 4rem;overflow-y:auto}.he-head{justify-content:space-between;align-items:center;display:flex}.he-head h1{font-size:2.8rem;font-weight:600}.he-hint{color:var(--on-surface-variant);margin:.6rem 0 1.4rem;font-size:1.5rem}.he-list{max-width:80rem}.he-row{align-items:center;padding:.3rem .6rem;display:flex}.he-row>.he-main{background:var(--surface);flex:1;font-size:1.8rem}.he-row.moving>.he-main{background:rgba(var(--accent-rgb), .25);border-color:var(--accent)}.he-num{width:3.2rem;color:var(--on-surface-variant)}.he-label{flex:1}.he-moving{background:var(--accent);color:#000;border-radius:.4rem;padding:.2rem .8rem;font-size:1.3rem;font-weight:700}.he-switch{background:var(--surface);min-width:9rem;color:var(--on-surface-variant);border:.3rem solid transparent;border-radius:1rem;flex:none;margin-left:1rem;padding:.9rem 1.2rem;font-size:1.6rem;transition:transform .1s ease-out}.he-switch.on{color:var(--accent);font-weight:600}.he-switch:focus{border-color:#fff;transform:scale(1.05)}.icon-btn{align-items:center;display:inline-flex}.icon-btn>svg{width:2rem;height:2rem;margin-right:.6rem}.home-head>.btn+.btn{margin-left:1rem}.he-row>.he-main:focus{background:var(--surface-variant)}.topbar{z-index:2;position:relative}.home.with-hero{z-index:1;position:relative}.hero2{flex:none;height:17.6rem;position:relative}.hero2-bg{z-index:-1;pointer-events:none;width:68%;height:62%;position:fixed;top:0;right:0}.hero2-bg>img{object-fit:cover;width:100%;height:100%}.hero2-bg{-webkit-mask-composite:source-in;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 45%),linear-gradient(#000 50%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 45%),linear-gradient(#000 50%,transparent 100%);-webkit-mask-composite:source-in;mask-composite:intersect}.hero2-actions{position:absolute;top:0;right:1.6rem}.home-actions{align-items:center;display:flex}.home-actions>*+*{margin-left:1rem}.hero2-info{flex-direction:column;justify-content:flex-end;width:55%;height:100%;padding-bottom:1rem;padding-left:1.6rem;display:flex}.hero2-kind{letter-spacing:.3rem;color:#e50914;font-size:1.2rem;font-weight:700}.hero2-title{white-space:nowrap;text-overflow:ellipsis;margin-top:.4rem;font-size:2.8rem;font-weight:900;line-height:1.2;overflow:hidden}.hero2-meta{align-items:baseline;margin-top:.4rem;font-size:1.4rem;display:flex}.hero2-meta>*+*{margin-left:1rem}.hero2-meta>b{color:#46d369}.hero2-plot{color:rgba(255,255,255,.65);white-space:nowrap;text-overflow:ellipsis;min-height:1.6rem;margin-top:.4rem;font-size:1.2rem;overflow:hidden}.hero2-buttons{margin-top:1rem}.hero2-buttons>*+*{margin-left:1rem}.home.with-hero .home-shelves{overflow:hidden}.home-list{transition:transform .3s ease-out}.home-list{position:relative}.grid-spacer{flex:none;width:100%}.round-btn{color:#fff;background:rgba(0,0,0,.45);border:.2rem solid transparent;border-radius:50%;flex:none;justify-content:center;align-items:center;width:4rem;height:4rem;transition:transform .12s ease-out;display:inline-flex}.round-btn>svg{width:2rem;height:2rem}.round-btn:focus{border-color:#fff;transform:scale(1.1)}.browse-logo b{font-size:1.5rem}.extensions .ext-row{align-items:center}.ext-add,.ext-chip{align-items:center;display:inline-flex}.ext-add>svg{width:1.8rem;height:1.8rem;margin-right:.6rem}.ext-chip>img{object-fit:contain;width:2rem;height:2rem;margin-right:.8rem}.ext-note{padding:0 1.6rem 1.6rem;font-size:1.5rem}.recordings{max-width:100rem}.rec-note{margin:1rem 0 1.4rem;font-size:1.5rem}.rec-row{background:var(--surface);margin-bottom:.6rem}.rec-repeat{background:rgba(var(--accent-rgb), .25);color:var(--accent);border-radius:.4rem;flex:none;padding:.2rem .8rem;font-size:1.3rem}.page-flow{flex:1;min-height:0;position:relative}.browse-bar{border:.1rem solid rgba(255,255,255,.08);border-radius:1.4rem;flex:none;align-items:center;height:8.4rem;margin-bottom:1rem;padding:0 2rem;display:flex}.browse-bar>*+*{margin-left:1.6rem}.browse-bar>.spacer+*{margin-left:0}.bb-id{flex-direction:column;min-width:0;display:flex}.bb-title{white-space:nowrap;text-overflow:ellipsis;max-width:50rem;font-size:2.8rem;font-weight:700;overflow:hidden}.bb-count{color:rgba(255,255,255,.8);margin-top:.4rem;font-size:1.3rem}.bb-tabs{background:rgba(0,0,0,.35);border-radius:2rem;padding:.3rem;display:flex}.bb-tab{color:#fff;white-space:nowrap;border-radius:1.7rem;padding:.6rem 1.5rem;font-size:1.4rem}.bb-tab-count{opacity:.7;white-space:pre;font-size:1.2rem}.bb-tab.selected{color:#0d1117;background:#fff;font-weight:700}.bb-tab:focus{background:var(--accent);color:#0d1117}.bb-sorts>*+*{margin-left:.8rem}.bb-genre{white-space:nowrap}.field-row{align-items:stretch;display:flex}.field-row>.field-box{flex:1;align-items:center;min-width:0;min-height:5.2rem;display:flex}.eye-btn{background:var(--surface-variant);width:5.2rem;min-height:5.2rem;color:var(--on-surface-variant);border:.3rem solid transparent;border-radius:1rem;flex:none;justify-content:center;align-items:center;margin-left:.8rem;transition:transform .12s ease-out;display:flex}.eye-btn>svg{width:2.6rem;height:2.6rem}.eye-btn:focus{border-color:var(--accent);transform:scale(1.05)}.onb-help{border-radius:2rem;margin-top:1.2rem;padding:1.8rem 2.2rem}.form-side>.onb-help:first-child{margin-top:0}.onb-help h3{margin-bottom:1rem;font-size:1.8rem;font-weight:600}.onb-help ul{margin:0;padding-left:2rem}.onb-help li{color:var(--on-surface-variant);font-size:1.4rem;line-height:1.4}.onb-help li+li{margin-top:.6rem}.access-form>.muted{margin:0 0 2.4rem;font-size:1.8rem}.access-form .connect{align-self:flex-start;margin:1.2rem 0 1.6rem}.topbar.glass{background:0 0;border:0;border-bottom:.05rem solid rgba(163,177,201,.22);border-radius:0;min-height:4rem;margin:2.4rem 3.2rem 0;padding:0 0 1.2rem}.brand{-webkit-text-fill-color:var(--on-bg);background:0 0;flex:none;margin-right:3.6rem;font-size:2rem}.pills{flex:1}.pill{border:0;border-radius:.5rem;margin-left:.5rem;padding:.8rem 1rem;font-size:1.5rem}.pill.selected{box-shadow:inset 0 -.15rem var(--accent);background:0 0;border:0}.pill:focus{background:var(--surface-variant);color:var(--on-bg);outline:.15rem solid var(--accent);outline-offset:.1rem}.pill.icon-only{align-items:center;padding:.8rem;display:flex}.pill.icon-only .icon{width:1.7rem;height:1.7rem;margin-right:.5rem}.pill.icon-only:first-of-type{margin-left:auto}.content,.page-flow{padding:2rem 3.2rem 1.2rem}.content{flex:1;min-height:0}.ux-eyebrow{color:var(--accent);letter-spacing:.16rem;text-transform:uppercase;font-size:1.05rem;display:block}.focus-row:focus,.library-card:focus,.resume-channel:focus{outline:.15rem solid var(--accent);outline-offset:.05rem;background:var(--surface-variant);transform:none}.focus-row{border-radius:.5rem}.live-screen>*+*{margin-left:1.6rem}.live-cats,.live-cats.wide{background:0 0;border:0;border-right:.05rem solid rgba(163,177,201,.22);border-radius:0;width:15rem;padding:.6rem .8rem .6rem 0}.live-channels{background:0 0;border:0;padding:.6rem .4rem}.live-preview{border:0;border-radius:0;width:31rem;padding:.6rem .4rem .6rem 1rem}.live-preview .preview-box{height:16.65rem;box-shadow:0 0 0 100rem var(--bg);border-radius:.6rem}.live-list-title{min-height:4.5rem;padding-right:7rem;position:relative}.live-list-title>button{padding:.4rem .6rem;font-size:1.1rem;position:absolute;top:.3rem;right:0}.group-mode{padding:.5rem .8rem}.gm-title,.panel-title h2{font-size:1.6rem;font-weight:700}.gm-value,.panel-title span{font-size:1.1rem}.cat-row{min-height:3.5rem;font-size:1.3rem}.cat-row.selected{background:rgba(var(--accent-rgb),.12);border-left:.15rem solid var(--accent)}.channel-row{height:5.6rem}.ch-number{width:1.8rem;font-size:1.15rem}.ch-logo-box{background:0 0;border-radius:.4rem;width:4.4rem;height:3.2rem}.ch-name{font-size:1.45rem;font-weight:600}.ch-program{font-size:1.15rem}.channel-row.idle{background:0 0}.channel-row.selected{background:rgba(var(--accent-rgb),.1)}.logo-fallback{color:var(--on-surface-variant);background:var(--surface-variant);border-radius:.4rem;justify-content:center;align-items:center;width:100%;height:100%;padding:.3rem;font-size:1rem;font-weight:700;display:flex}.pb-desc{-webkit-line-clamp:3}.ux-home .home-head{margin:0 1.2rem 1.2rem;padding:0}.ux-home .home-head h1{margin-top:.65rem;font-size:2.5rem}.ux-home .home-shelves{overflow:auto}.ux-home .home-list{transition:none}.resume-row{margin:.5rem 1.2rem 1.6rem;display:flex}.resume-row>*{flex:1;min-width:0}.resume-row>*+*{margin-left:1.6rem}.resume-channel{text-align:left;background:var(--surface);border-radius:.7rem;flex-direction:column;align-items:flex-start;min-height:13rem;padding:1.6rem;display:flex;position:relative}.resume-channel>.channel-logo{opacity:.9;position:absolute;top:3rem;right:1.5rem}.resume-channel>strong{white-space:nowrap;text-overflow:ellipsis;max-width:74%;margin:1rem 0 .6rem;font-size:2rem;overflow:hidden}.resume-channel>.muted{white-space:nowrap;text-overflow:ellipsis;max-width:74%;font-size:1.3rem;overflow:hidden}.resume-play{color:var(--accent);margin-top:auto;padding-top:1rem;font-size:1.3rem;font-weight:600;display:inline-block}.resume-vod{position:relative}.resume-vod>.ux-eyebrow{z-index:2;color:#fff;text-shadow:0 1px 4px #000;position:absolute;top:1rem;left:1.4rem}.resume-vod .wide-card{width:100%;height:100%;min-height:13rem}.ux-home .hero2-bg{z-index:0;width:100%;height:100%;position:absolute;-webkit-mask-image:none;mask-image:none}.ux-home .hero2-bg:after{content:"";background:linear-gradient(90deg,rgba(0,0,0,.9),rgba(0,0,0,.65) 45%,transparent);position:absolute;top:0;bottom:0;left:0;right:0}.ux-home .hero2-info{z-index:1;justify-content:center;width:65%;padding:1.6rem;position:relative}.hero2-kind{color:var(--accent)}.shelf-title{font-size:1.65rem}.ct-card{border-radius:.6rem}.wc-progress>span{background:var(--accent)}.poster-card.plain{position:relative}.poster-card.plain img{z-index:1;position:relative}.poster-fallback{color:var(--on-surface-variant);justify-content:center;align-items:center;padding:1rem;font-size:1.5rem;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.poster-card:focus,.wide-card:focus,.ct-card:focus,.platform-tile:focus{outline:.15rem solid var(--accent);outline-offset:.15rem;transform:scale(1.035)}.browse-layout{flex:1;min-height:0;display:flex}.browse-side{border-right:.05rem solid rgba(163,177,201,.22);flex:none;width:15rem;margin-right:2.2rem;padding:.7rem 1.5rem .7rem .4rem;overflow:auto}.browse-side .ux-eyebrow{padding:.6rem .8rem 1rem}.browse-side .focus-row{text-align:left;min-height:3.6rem;margin-bottom:.5rem;padding:1rem .8rem;font-size:1.3rem}.browse-main{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.browse-bar{border:0;border-radius:0;flex-wrap:wrap;height:auto;min-height:7rem;padding:.8rem;background:0 0!important}.bb-sorts{flex-wrap:wrap;margin:.8rem 0}.bb-sorts .chip{margin-top:.3rem}.browse-grid{flex:1;min-height:0}.browse .browse-info{flex:none}.settings .set-sections{border-right:.05rem solid rgba(163,177,201,.22);width:16rem;margin-right:2.4rem;padding-right:1.5rem}.set-section{min-height:3.8rem;font-size:1.3rem}.set-section.selected{color:var(--accent);background:rgba(var(--accent-rgb),.1);border-left:.15rem solid var(--accent)}.set-section .icon{width:1.5rem;height:1.5rem}.set-panel.glass{background:0 0;border:0;border-radius:0;padding:.5rem .8rem}.set-intro{color:var(--on-surface-variant);margin-bottom:1.4rem;font-size:1.25rem}.set-row{border-bottom:.05rem solid rgba(163,177,201,.18);border-radius:.45rem;min-height:5.2rem;padding:1rem 1.2rem}.set-row .opt-label{font-size:1.45rem}.set-sub{margin-top:.5rem;font-size:1.15rem}.set-value{color:var(--on-bg);padding-left:1.2rem;font-size:1.3rem}.library h1{margin:.6rem 0 .8rem;font-size:3rem}.library-items{flex-wrap:wrap;margin:2rem -.6rem 0;display:flex}.library-card{text-align:left;background:var(--surface);border-radius:.6rem;flex-direction:column;align-items:flex-start;width:calc(50% - 1.2rem);min-height:12rem;margin:.6rem;padding:1.8rem;display:flex}.library-card .icon{color:var(--accent);margin-bottom:1rem}.library-card strong{font-size:1.7rem}.library-card span{color:var(--on-surface-variant);margin-top:1rem;font-size:1.2rem}.vod-explore{flex-wrap:wrap;margin:.4rem 1.2rem 1.6rem;display:flex}.vod-explore>*{margin-top:.5rem;margin-right:1rem}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.page-flow{padding:0}.page-flow>.recordings,.page-flow>.extensions{padding:2rem 3.2rem 1.2rem}.focus-row{border-width:.15rem}.focus-row:focus{border-color:var(--accent);outline:none}.content.catalog-content{padding:0;overflow:hidden}.browse-side{width:14rem}.browse-grid .poster-card.plain{height:calc(var(--cw) * 1.5)}.browse-bar{flex-direction:column;align-items:flex-start;min-height:0;margin-bottom:.4rem}.browse-bar>.spacer{display:none}.bb-sorts{margin-top:.9rem}.chip,.btn{border-radius:.45rem}.pill.icon-only:nth-last-child(2){margin-left:auto}.ux-home .hero2{background:0 0;border-radius:0;height:14.2rem;margin:0 1.2rem 1rem;overflow:visible}.ux-home .hero2-info{width:60%;padding:.6rem 0}.ux-home .hero2-bg{z-index:-1;-webkit-mask-composite:source-in;width:68%;height:62%;position:fixed;top:0;right:0;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 45%),linear-gradient(#000 50%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 45%),linear-gradient(#000 50%,transparent 100%);-webkit-mask-composite:source-in;mask-composite:intersect}.ux-home .hero2-bg:after{display:none}.resume-channel,.resume-vod .wide-card{min-height:13rem}.library-items{margin-top:1.6rem}.library-card{background:linear-gradient(120deg,var(--surface-variant),var(--surface));border:.1rem solid transparent;min-height:12.4rem}.library-card:focus{border-color:var(--accent);outline:none}.poster-card.plain:focus{border-color:var(--accent);box-shadow:none;outline:none}.detail-scroll,.detail-scroll.series{padding:2.4rem 3.2rem 5rem;scroll-padding:1.6rem}.detail-info h1{font-size:2.8rem}.detail-poster{border-radius:.8rem;width:20rem;height:30rem}.detail-actions{margin-top:1.4rem}.full-details-btn{margin-top:1.1rem;font-size:1.2rem}.full-details-dialog{background:var(--surface);border-radius:.8rem;flex-direction:column;width:64rem;max-height:46rem;padding:2rem;display:flex}.full-details-dialog>h2{margin-bottom:1.4rem;font-size:2rem}.full-details-text{flex:1;min-height:0;max-height:28rem;margin-bottom:1.4rem;padding:1rem;font-size:1.5rem;line-height:1.5;overflow:auto}.full-details-text:focus{outline:.15rem solid var(--accent);outline-offset:.1rem}.full-details-text>p+p{margin-top:1.4rem}.full-details-dialog>button{align-self:flex-start}.catalog-poster{width:var(--cw);display:block}.catalog-title{-webkit-line-clamp:2;height:3.4rem;color:var(--on-bg);white-space:normal;overflow-wrap:break-word;-webkit-box-orient:vertical;margin-top:.7rem;font-size:1.2rem;line-height:1.7rem;display:-webkit-box;overflow:hidden}.catalog-meta{height:1.3rem;color:var(--on-surface-variant);white-space:nowrap;margin-top:.4rem;font-size:1.05rem;line-height:1.3rem;display:block;overflow:hidden}.ux-home .hero2-bg:after{content:"";background:linear-gradient(rgba(0,0,0,.65),rgba(0,0,0,.3) 50%,rgba(0,0,0,.2));display:block;position:absolute;top:0;bottom:0;left:0;right:0}.ux-home .hero2-info{justify-content:center;padding:.5rem 0}.ux-home .hero2-info>*{flex-shrink:0}.ux-home .hero2-title{font-size:2.5rem;line-height:1.15}.ux-home .hero2-plot:empty{display:none}.ux-home .hero2-plot{min-height:0;font-size:1.1rem;line-height:1.4rem}.ux-home .hero2-buttons .btn{padding:.55rem 1.1rem;font-size:1.35rem}.pill{border:.1rem solid transparent;border-radius:.25rem}.pill.selected{border:.1rem solid rgba(var(--accent-rgb),.5);box-shadow:none;background:0 0}.pill:focus{border-color:var(--accent);box-shadow:0 0 0 .05rem var(--accent);outline:none}.browse-grid>.grid-cell{width:calc(25% - 1.8rem)}.catalog-poster{margin:0 auto}.poster-card.plain:focus{transform:scale(1.035)}.brand{margin-right:2.8rem;font-size:1.8rem}.pill{font-size:1.4rem}.browse-side .focus-row{padding-top:.8rem;padding-bottom:.8rem;font-size:1.4rem}.bb-title{font-size:2.8rem}.catalog-title{font-size:1.4rem}.catalog-meta{font-size:1.2rem}.library h1{font-size:2.8rem}html,body{width:100%;max-width:100%;position:relative;overflow:hidden}.app{width:100%;min-width:0;max-width:100%}.topbar,.pills,.content,.page-flow,.home,.home-shelves{min-width:0}.browse-grid>.grid-cell{height:calc(var(--cw) * 1.5 + var(--caption-h));margin-bottom:7.6rem}.poster-card img,.detail-poster img{object-fit:contain}.pill{font-weight:400}.browse{padding-top:2rem}.browse-side{border-right:0;margin-right:2rem}.browse-side .ux-eyebrow{letter-spacing:normal;text-transform:none;padding-left:.6rem;font-size:1.4rem}.browse-side .focus-row.selected{background:var(--surface-variant)}.browse-bar{padding:0}.settings .set-sections{border:0;width:16.5rem;margin-left:0;padding:0}.set-panel.glass{padding:0}.set-panel>.ux-eyebrow{text-transform:none;letter-spacing:normal;font-size:1.4rem}.set-panel h2{margin:.8rem 0;font-size:2.8rem}.set-intro{margin-bottom:1.8rem;font-size:1.4rem}.set-section{font-size:1.4rem}.set-section.selected{background:var(--surface-variant);border-left-color:transparent}.set-row{border-bottom:0;min-height:4.8rem;padding:.8rem 1.2rem}.set-row .opt-label,.set-value{font-size:1.6rem}.set-sub{font-size:1.4rem}.set-value{color:var(--accent)}.library>.ux-eyebrow{letter-spacing:normal;font-size:1.2rem}.library>.muted{font-size:1.4rem}.library-card{border-radius:.8rem;min-height:14.4rem}.library-card strong{font-size:1.8rem;font-weight:500}.library-card span{font-size:1.4rem}.library-card .icon{width:2.2rem;height:2.2rem}.live-cats,.live-cats.wide{border-right:0}.live-preview.glass{box-shadow:none;background:0 0}.live-preview .preview-box{box-shadow:none;border-radius:1.2rem}.live-list-title>button{font-size:1.4rem}.preview-name{font-size:2.2rem}.detail-scroll,.detail-scroll.series{padding:3.5rem 4.8rem 5rem}.detail-info h1{font-weight:600}.ux-home .hero2,.ux-home .home-head,.resume-row{margin-left:0;margin-right:0}.ux-home .hero2-info{width:55%}.ux-home .hero2-title{font-size:2.8rem}.ux-home .hero2-plot{font-size:1.4rem;line-height:1.6rem}.ux-home .hero2-meta{font-size:1.6rem}.library-card{min-height:13.2rem}.ux-home .hero2{margin-bottom:3.8rem}.btn,.ux-home .hero2-buttons .btn,.live-list-title>button{border-radius:.5rem;min-height:3.8rem;padding:.9rem 1.6rem;font-size:1.6rem;font-weight:500;line-height:2rem;transform:none}.btn:focus,.btn.outline:focus{background:var(--surface-variant);color:var(--on-bg);border-color:var(--accent)}.btn.primary:focus{background:var(--accent);color:#00121c;border-color:var(--accent)}.pill{margin-left:.2rem;padding:.7rem 1rem}.pill:first-child{margin-left:0}.pill.icon-only{padding:.7rem .8rem}.bb-sorts .chip{min-height:3.6rem;padding:.8rem 1.4rem;font-size:1.4rem;font-weight:400;line-height:1.8rem}.btn:focus{box-shadow:inset 0 0 0 .1rem var(--accent)}.ct-card{text-align:left;border-radius:.6rem;flex-direction:column;justify-content:flex-start;align-items:stretch;height:13.2rem;padding:1.4rem}.ct-logo{flex-shrink:0;align-items:center;height:4rem;display:flex}.ct-logo .channel-logo{max-height:4rem}.ct-fallback{color:var(--accent);font-size:2.2rem}.ct-card .ct-name{margin-top:.6rem;line-height:1.7rem}.ct-card .ct-program{margin-top:.6rem;line-height:1.9rem;display:block}.ct-card .ct-progress{flex-shrink:0;margin-top:.6rem}.ct-card{height:10.8rem;padding:1.2rem}.ct-logo,.ct-logo .channel-logo{height:2.8rem;max-height:2.8rem}.ct-logo .channel-logo{max-width:6rem}.ct-card .ct-name,.ct-card .ct-program,.ct-card .ct-progress{margin-top:.4rem}.ct-card .ct-program{font-size:1.4rem;line-height:1.7rem}.ct-logo{justify-content:center;height:4.8rem}.ct-logo .channel-logo{max-width:100%;max-height:4.8rem;width:100%!important;height:4.8rem!important}.ct-logo img{object-fit:contain;width:100%;height:100%}.ct-fallback{color:var(--on-bg);text-align:center;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:1.6rem;display:-webkit-box;overflow:hidden}.program-tile{border-radius:.6rem;width:22rem;height:10.8rem;padding:1.2rem}.pt-logo-box{width:4rem;height:4rem;margin-right:1rem}.pt-time,.pt-title{font-size:1.4rem}.pt-title{line-height:1.7rem}.pt-channel{font-size:1.2rem}.ux-home .hero2{height:16rem}.ux-home .hero2-info{padding:0}.ux-home .hero2-kind{font-size:1.2rem;line-height:1.4rem}.ux-home .hero2-title{margin-top:.2rem;font-size:2.8rem;line-height:3.2rem}.ux-home .hero2-meta{margin-top:.6rem;font-size:1.4rem;line-height:1.7rem}.ux-home .hero2-plot{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:.6rem;font-size:1.2rem;line-height:1.4rem;display:-webkit-box;overflow:hidden}.ux-home .hero2-buttons{margin-top:1rem}.ct-card{justify-content:center}.ct-card.has-program{justify-content:space-between}.ct-card .ct-program{text-align:center}.ct-card .ct-program,.ct-card .ct-progress{margin-top:0}.program-tile{justify-content:center;align-items:center}.program-tile .pt-text{flex:0 auto;max-width:14.6rem}[data-focus].pill:focus,[data-focus].btn:focus,[data-focus].chip:focus,[data-focus].shelf-all:focus,[data-focus].bb-tab:focus{background:var(--on-bg);color:var(--surface);border-color:var(--on-bg);box-shadow:none;outline:none}[data-focus].focus-row:focus,[data-focus].menu-item:focus,[data-focus].option:focus,[data-focus].group-mode:focus,[data-focus].epg-channel:focus,[data-focus].library-card:focus,[data-focus].resume-channel:focus,.he-row>[data-focus].he-main:focus{background:rgba(var(--accent-rgb), .3);border-color:var(--accent);box-shadow:inset 0 0 0 .2rem var(--accent);outline:none;transform:none}[data-focus].poster-card:focus,[data-focus].wide-card:focus,[data-focus].ct-card:focus,[data-focus].platform-tile:focus,[data-focus].program-tile:focus{border-color:#fff;outline:none;transform:scale(1.08);box-shadow:0 0 0 .3rem #fff,0 .8rem 2rem rgba(0,0,0,.6)}body.catalog-focus .topbar.glass{border-bottom:0;min-height:0;max-height:0;margin-top:0;padding:0;overflow:hidden}.browse{padding:1.2rem 2.4rem 0 1.6rem}.browse-side{background:linear-gradient(90deg,rgba(255,255,255,.06),transparent);border-radius:.6rem;width:4.4rem;margin-right:1.2rem;padding:0;position:relative;overflow:visible}.bs-rail{color:var(--on-surface-variant);flex-direction:column;align-items:center;padding-top:1rem;display:flex}.bs-rail .icon{width:2.4rem;height:2.4rem}.bs-rail-title{writing-mode:vertical-rl;white-space:nowrap;text-overflow:ellipsis;max-height:40rem;margin-top:1.2rem;font-size:1.3rem;overflow:hidden;transform:rotate(180deg)}.bs-panel{display:none}body.catalog-panel .bs-panel{z-index:5;background:rgba(14,18,28,.97);width:26rem;padding:2rem 1.6rem;display:block;position:absolute;top:-1.2rem;bottom:0;left:-1.6rem;overflow:auto;box-shadow:2rem 0 4rem rgba(0,0,0,.6)}.bs-panel .browse-bar{border:0;border-bottom:.05rem solid rgba(163,177,201,.22);border-radius:0;height:auto;margin:0 0 1rem;padding:0 .8rem 1.2rem;display:block}.bs-panel .browse-bar>*+*{margin-top:1rem;margin-left:0}.bs-panel .browse-bar>.spacer{display:none}.bs-panel .bb-title{max-width:none;font-size:2.4rem}.bs-panel .bb-tabs{display:inline-flex}.bs-panel .bb-sorts{margin:1.2rem 0 0;display:block}.bs-panel .bb-sorts .chip{text-align:left;width:100%;margin:0 0 .6rem;display:block}.bs-panel .ux-eyebrow{padding:.6rem .8rem 1rem;display:block}.bs-panel .focus-row{white-space:nowrap;text-overflow:ellipsis;width:100%;display:block;overflow:hidden}.browse-main .browse-grid{margin-top:0}.browse-grid>.grid-cell{width:var(--cw);margin-bottom:1.8rem}.catalog-title{-webkit-line-clamp:1;height:1.7rem;margin-top:.7rem}.bs-panel [data-focus].bb-tab.selected:focus{box-shadow:inset 0 0 0 .2rem var(--accent)}.loading-row{color:var(--on-surface-variant);align-items:center;padding:2.4rem 1.6rem;font-size:1.6rem;display:flex}.loading-row .spinner{border-width:.35rem;width:3.2rem;height:3.2rem;margin-right:1.4rem}.loading-row.small{padding:.8rem 1.2rem;font-size:1.3rem}.loading-row.small .spinner{border-width:.25rem;width:2.2rem;height:2.2rem}.loading-row.page{justify-content:center;height:100%}.bs-panel .bs-search{margin:0 0 .6rem}.bs-panel .bs-search .field-label:empty{display:none}.bs-panel .bs-search .field-box{min-height:4rem}.search-kind{justify-content:space-between;display:flex}.search-kind .sk-count{color:var(--on-surface-variant);margin-left:1rem}.search-kind[disabled]{opacity:.45}.browse-main>.search-empty,.browse-main>.loading-row{color:var(--on-surface-variant);padding:2.4rem 1.2rem;font-size:1.6rem}.search-channels{flex-wrap:wrap;flex:1;align-content:flex-start;min-height:0;padding:1.2rem;display:flex;overflow:auto}.search-channels>.channel-tile{margin:0 1.6rem 1.6rem 0}.browse-main>.search-programs{flex:1;min-height:0;padding:1.2rem;overflow:auto}body.catalog-panel .browse-main>.search-empty{padding-left:26rem}.search-tabs{background:rgba(0,0,0,.35);border-radius:2rem;flex:none;align-self:flex-start;margin:.6rem 0 .4rem 1.2rem;padding:.3rem;display:flex}.search-tabs .bb-tab+.bb-tab{margin-left:.4rem}.search-tabs [data-focus].bb-tab.selected:focus{box-shadow:inset 0 0 0 .2rem var(--accent)}.ux-home .hero2{height:9.6rem;margin-bottom:1.6rem}.ux-home .hero2-info{justify-content:center;width:46%}.ux-home .hero2-title{margin-top:0;font-size:3.4rem;font-weight:800;line-height:4rem}.ux-home .hero2-plot{color:rgba(255,255,255,.72);margin-top:.8rem;font-size:1.15rem;line-height:1.6rem}.ux-home .hero2-bg{width:100%;height:100%;-webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,.15) 0%,#000 62%),linear-gradient(#000 28%,rgba(0,0,0,.3) 52%,transparent 78%);mask-image:linear-gradient(90deg,rgba(0,0,0,.15) 0%,#000 62%),linear-gradient(#000 28%,rgba(0,0,0,.3) 52%,transparent 78%)}.ux-home .shelf-title{font-size:1.6rem}.home-block+.home-block,.home-block>.shelf+.shelf{margin-top:1.2rem}.poster-card.plain{width:10rem;height:15rem}.wide-card{width:17.6rem;height:9.9rem}.wc-text{font-size:1.4rem}.platform-tile{border-width:.2rem;border-radius:.8rem;width:11rem;height:5.8rem}.shelf-row>.platform-tile+.platform-tile{margin-left:1.2rem}.pt-logo img{max-width:7.4rem;max-height:2.4rem}.pt-logo b{font-size:1.6rem}.rank-item{align-items:flex-end;display:flex}.rank-n{letter-spacing:-.6rem;color:transparent;-webkit-text-stroke:.15rem rgba(255,255,255,.55);margin-right:-1.4rem;font-size:10rem;font-weight:900;line-height:7.6rem}.channel-tile,.ct-card{width:16rem}.ct-card,.ct-card.has-program{justify-content:center;height:9rem;padding:1.6rem 2.2rem}.ct-logo,.ct-logo .channel-logo{max-height:none;height:100%!important}.program-tile{border-radius:.6rem;flex-direction:column;justify-content:flex-start;align-items:stretch;width:17.6rem;height:9.9rem;padding:1rem 1.2rem}.pt-head{align-items:center;display:flex}.pt-head .pt-logo-box{justify-content:flex-start;width:5.2rem;height:2.4rem;margin:0 auto 0 0}.pt-head .channel-logo{width:100%!important;height:100%!important}.pt-head .channel-logo img{object-fit:contain;object-position:left center;width:100%;height:100%}.pt-head .pt-badge{margin:0 .6rem 0 0;font-size:1.1rem}.pt-head .pt-time{font-size:1.4rem;line-height:1.8rem}.program-tile .pt-title{margin-top:auto;font-size:1.4rem;font-weight:700;line-height:1.7rem}.program-tile .pt-channel{font-size:1.2rem;line-height:1.5rem}
|
|
2
2
|
/*$vite$:1*/`,document.head.appendChild(e),`queueMicrotask`in self||(self.queueMicrotask=e=>{Promise.resolve().then(e)}),Promise.prototype.finally||(Promise.prototype.finally=function(e){let t=typeof e==`function`?e:()=>{};return this.then(e=>Promise.resolve(t()).then(()=>e),e=>Promise.resolve(t()).then(()=>{throw e}))});function t(e,t){return t}var n,r,i,a,o,s,c,l,u,d,f,p={},m=[],h=/^m(i|n|o|s|text|space)$/,g=Array.isArray,_=m.slice,v=Object.assign;function y(e){e&&e.parentNode&&e.remove()}function b(e,t,i,a,o){var s={type:e,props:t,key:i,ref:a,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:o||++r,__i:-1,__u:0};return!o&&n.vnode&&n.vnode(s),s}function x(e){return e.children}function S(e,t){this.props=e,this.context=t,this.__g=0}function C(e,t){if(t==null)return e.__&&C(e.__,e.__i+1);for(var n;t<e.__k.length;t++)if((n=e.__k[t])&&n.__e)return n.__e;return typeof e.type!=`function`||e.props.__P?null:C(e)}function ee(e){if((e=e.__)&&e.__c&&!e.props.__P)return e.__e=null,e.__k.some(function(t){return t&&(e.__e=t.__e)}),ee(e)}function w(e){(8&e.__g||(e.__g|=8,a.push(e),s++))&&o==n.debounceRendering||((o=n.debounceRendering)||queueMicrotask)(T)}function T(){var e,t,r,i,l,u,d,f,p;try{for(t=1;a.length;)a.length>t&&a.sort(c),e=a.shift(),t=a.length,8&e.__g&&(i=void 0,l=void 0,u=(l=(r=e).__v).__e,d=[],f=[],(p=r.__P)&&((i=v({constructor:void 0},l)).__v=l.__v+1,n.vnode&&n.vnode(i),re(p,i,l,r.__n,p.namespaceURI,32&l.__u?[u]:null,d,u||C(l),32&l.__u,f),i.__v=l.__v,i.__.__k[i.__i]=i,oe(d,i,f),l.__=l.__e=null,i.__e!=u&&ee(i)))}finally{(s=a.length)&&(o||queueMicrotask)(T)}}function te(e,t,n,r,i,a,o,s,c,l,u){var d,f,h,g,_,v,y=r.__k||m,b=t.length;for(c=E(n,t,y,c,b),d=0;d<b;d++)(h=n.__k[d])!=null&&(f=~h.__i&&y[h.__i]||p,h.__i=d,v=re(e,h,f,i,a,o,s,c,l,u),g=h.__e,(f.ref!=h.ref||8&f.__u)&&(f.ref&&ce(f.ref,null,h,f),h.ref&&u.push(h.ref,h.__c||g,h)),_=_||g,4&h.__u?(c=D(h,c,e,!f.__v),f.__e&&(f.__e=null)):typeof h.type==`function`&&v!==void 0?c=v:g&&(c=g.nextSibling),h.__u&=-21);return n.__e=_,c}function E(e,t,n,r,i){var a,o,s,c,l,u,d,f,p,m=n.length,h=m,_=0,v=0,y=e.__k=Array(i);for(a=0;a<i;a++)(o=t[a])!=null&&typeof o!=`boolean`&&typeof o!=`function`?(typeof o!=`object`||o.constructor==String?o=y[a]=b(null,o):g(o)?o=y[a]=b(x,{children:o}):o.constructor===void 0&&o.__b?o=y[a]=b(o.type,o.props,o.key,o.ref,o.__v):y[a]=o,c=a+_,o.__=e,o.__b=e.__b+1,s=null,~(l=o.__i=O(o,n,c,h))&&(h--,(s=n[l])&&(s.__u|=2)),s&&s.__v?(o.__u|=16,l==c-1?_--:l==c+1?_++:l!=c&&(l>c?_--:_++,v=1)):(~l||(i>m?_--:i<m&&_++),typeof o.type!=`function`&&(o.__u|=4))):y[a]=null;if(v){for(u=[],d=[],a=0;a<i;a++)if((o=y[a])&&16&o.__u){for(_=0,f=u.length;_<f;)u[p=_+f>>1]<o.__i?_=p+1:f=p;u[_]=o.__i,d[a]=_+1}for(_=u.length;a--;)d[a]&&(d[a]==_?_--:y[a].__u|=4)}if(h)for(a=0;a<m;a++)!(s=n[a])||2&s.__u||(s.__e==r&&(r=C(s)),le(s,s));return r}function D(e,t,n,r){var i,a,o,s;if(typeof e.type==`function`){if(e.props.__P)return t;if(i=e.__k)for(a=0;a<i.length;a++)i[a]&&(i[a].__=e,t=D(i[a],t,n,!1));return t}for(t&&!t.parentNode&&(t=C(e))&&!t.parentNode&&(t=null),o=e.__e,s=t;s&&s.nodeType==8;)s=s.nextSibling;for(o!=s&&(!r&&n.moveBefore&&o.parentNode?n.moveBefore(o,t):n.insertBefore(o,t||null)),t=o;(t=t&&t.nextSibling)&&t.nodeType==8&&!t.data.startsWith(`$s`););return t}function O(e,t,n,r){var i,a=e.key,o=e.type,s=t[n],c=s&&!(2&s.__u);if(s===null&&a==null||c&&a==s.key&&o==s.type)return n;if(r>+!!c){for(i=n-1;i>=0;i--)if((s=t[i])&&!(2&s.__u)&&a==s.key&&o==s.type)return i;for(i=n+1;i<t.length;i++)if((s=t[i])&&!(2&s.__u)&&a==s.key&&o==s.type)return i}return-1}function k(e,t,n){n==null&&(n=``),t[0]==`-`?e.setProperty(t,n):e[t]=n}function ne(e,t,n,r,i){var a,o;if(t==`style`){if(typeof n==`string`)e.style.cssText=n;else{if(typeof r==`string`&&(e.style.cssText=r=``),r)for(t in r)n&&t in n||k(e.style,t);if(n)for(t in n)r&&n[t]==r[t]||k(e.style,t,n[t])}}else if(t[0]==`o`&&t[1]==`n`)(e.__e||(e.__e={}))[t]=n,n&&r||(o=f[t]||(f[t]=A(t)),(e.__a||(e.__a={}))[t]=d,a=t!=(t=t.replace(u,`$1`)),(t=t.slice(2))[0]<`a`&&(t=t.toLowerCase()),n?e.addEventListener(t,o,a):e.removeEventListener(t,o,a));else{if(i==`http://www.w3.org/2000/svg`)t=t.replace(/xlink(H|:h)/,`h`).replace(/sName$/,`s`);else if(t!=`width`&&t!=`height`&&t!=`href`&&t!=`list`&&t!=`form`&&t!=`tabIndex`&&t!=`download`&&t!=`rowSpan`&&t!=`colSpan`&&t!=`role`&&t!=`popover`&&t in e)try{e[t]=n==null?``:n;return}catch(e){}if(typeof n==`function`)return;n==null||!1===n&&t[4]!=`-`?e.removeAttribute(t):e.setAttribute(t,t==`popover`&&n==1?``:n)}}function A(e){return function(t){var r=this.__e;if(r){if(r=r[e],t[l]==null)t[l]=d++;else if(t[l]<this.__a[e])return;return r(n.event?n.event(t):t)}}}function re(e,t,r,i,a,o,s,c,l,u){var d,f,p,h,_,b,ee,w,T,E,D,O,k,ne,A,re,oe,ce,de=t.type;if(t.constructor!==void 0)return null;128&r.__u&&(l=32&r.__u,d=r.__c.__z)&&(t.__u|=l,f=o=[],d.nodeType==8?c=ie(d,o):o.push(d),c=o[0]||c),(d=n.__b)&&d(t);n:if(typeof de==`function`){p=s.length;try{if(w=t.props,T=(d=de.prototype)&&d.render,E=(d=de.contextType)&&i[d.__c],D=d?E?E.props.value:d.__:i,(h=r.__c)?(t.__c=h,2&h.__g&&(h.__g|=1)):(T?t.__c=h=new de(w,D):(t.__c=h=new S(w,D),h.constructor=de,h.render=ue),E&&E.sub(h),h.state||(h.state={}),h.__n=i,h.__g|=8,h.__h=[],h.__k=[]),T&&(h.__s||(h.__s=h.state),de.getDerivedStateFromProps&&(h.__s==h.state&&(h.__s=v({},h.__s)),v(h.__s,de.getDerivedStateFromProps(w,h.__s)))),_=h.props,b=h.state,h.__v=t,r.__c){if(w!==_&&T&&!de.getDerivedStateFromProps&&h.componentWillReceiveProps&&h.componentWillReceiveProps(w,D),t.__v==r.__v&&!(8&h.__g)||!(4&h.__g)&&h.shouldComponentUpdate&&!1===h.shouldComponentUpdate(w,h.__s,D)){t.__v!=r.__v&&(h.props=w,h.state=h.__s,h.__g&=-9),t.__e=r.__e,t.__k=r.__k,t.__k.some(function(e){e&&(e.__=t)}),m.push.apply(h.__h,h.__k),h.__k=[],h.__h.length&&s.push(h),c=C(r);break n}h.componentWillUpdate&&h.componentWillUpdate(w,h.__s,D),T&&h.componentDidUpdate&&h.__h.push(function(){h.componentDidUpdate(_,b,ee)})}else T&&!de.getDerivedStateFromProps&&h.componentWillMount&&h.componentWillMount(),T&&h.componentDidMount&&h.__h.push(h.componentDidMount);if(h.context=D,h.props=w,h.__P=e,h.__g&=-5,O=n.__r,k=0,T)h.state=h.__s,h.__g&=-9,O&&O(t),d=h.render(h.props,h.state,h.context),m.push.apply(h.__h,h.__k),h.__k=[];else do h.__g&=-9,O&&O(t),d=h.render(h.props,h.state,h.context),h.state=h.__s;while(8&h.__g&&++k<25);h.state=h.__s,h.getChildContext&&(i=v({},i,h.getChildContext())),T&&r.__c&&h.getSnapshotBeforeUpdate&&(ee=h.getSnapshotBeforeUpdate(_,b)),ne=d&&d.type===x&&d.key==null?d.props.children:d,w.__P&&(d=c,a=(e=w.__P).namespaceURI,l=o=null,r.props&&r.props.__P!=e&&(r.__k.some(function(e){e&&le(e,e)}),r.__k=null),c=r.__k?C(r,0):null),c=te(e,g(ne)?ne:[ne],t,r,i,a,o,s,c,l,u),w.__P&&(t.__e=null,c=d),t.__u&=-161,f&&f.some(y),h.__h.length&&s.push(h),1&h.__g&&(h.__g&=-4)}catch(e){if(s.length=p,t.__v=null,l||o){if(e.then){if(A=0,t.__u|=128|l,o){for(~(oe=o.indexOf(c||void 0))||(oe=o.length);(ce=o[oe-1])&&ce.nodeType==8;)oe--;for(;oe<o.length;oe++)if(ce=o[oe]){if(o[oe]=null,ce.nodeType==8){if(ce.data.startsWith(`$s`))A++||(re=ce);else if(A&&ce.data.startsWith(`/$s`)&&!--A)break}else if(!A)break}}if(!re){for(;c&&c.nodeType==8&&c.nextSibling;)c=c.nextSibling;re=c}(d=ie(re=t.__c.__z||(t.__c.__z=re)))?(t.__e=re,c=d):t.__e=c,c=c&&c.nextSibling}else o&&o.some(y)}else t.__e=r.__e;t.__k||(t.__k=r.__k||[]),e.then||ae(t),n.__e(e,t,r)}}else c=t.__e=se(r.__e,t,r,i,a,o,s,l,u,e);return(d=n.diffed)&&d(t),c}function ie(e,t){if(e&&e.nodeType==8&&e.data.startsWith(`$s`))for(var n=1;e=e.nextSibling;){if(e.nodeType==8){if(e.data.startsWith(`$s`))n++;else if(e.data.startsWith(`/$s`)&&!--n)return e}t&&t.push(e)}}function ae(e){e&&(e.__c&&(e.__c.__g|=4),e.__k&&e.__k.some(ae))}function oe(e,t,r){for(var i=0;i<r.length;)ce(r[i++],r[i++],r[i++]);n.__c&&n.__c(t,e),e.some(function(t){try{e=t.__h,t.__h=[],e.some(function(e){e.call(t)})}catch(e){n.__e(e,t.__v)}})}function se(e,t,r,i,a,o,s,c,l,u){var d,f,m,v,b,x,S,ee,w,T=r.props||p,E=t.props,D=t.type;if(D==`svg`?a=`http://www.w3.org/2000/svg`:D==`math`?a=`http://www.w3.org/1998/Math/MathML`:a||(a=`http://www.w3.org/1999/xhtml`),o){for(d=0;d<o.length;d++)if((b=o[d])&&(D?b.localName==D:b.nodeType==3)){e=b,o[d]=null;break}}if(!e){if(ee=u.ownerDocument||document,!D)return ee.createTextNode(E);e=ee.createElementNS(a,D,E.is&&E),c&&(n.__m&&n.__m(t,o),c=!1),o=null}if(D){if(u=D==`template`?e.content:e,o=D==`textarea`&&E.defaultValue!=null?null:o&&_.call(u.childNodes),!c&&o)for(T={},d=0;d<e.attributes.length;d++)T[(b=e.attributes[d]).name]=b.value;for(d in T)b=T[d],d==`dangerouslySetInnerHTML`?m=b:d==`children`||d in E||d==`value`&&`defaultValue`in E||d==`checked`&&`defaultChecked`in E||ne(e,d,null,b,a);for(d in w=1&r.__u,E)b=E[d],d==`children`?v=b:d==`dangerouslySetInnerHTML`?f=b:d==`value`?x=b:d==`checked`?S=b:c&&typeof b!=`function`||!(T[d]!==b||w&&b!=null)||ne(e,d,b,T[d],a);f?(c||m&&(f.__html==m.__html||f.__html==e.innerHTML)||(e.innerHTML=f.__html),t.__k=[]):(m&&(e.textContent=``),(D==`foreignObject`||a==`http://www.w3.org/1998/Math/MathML`&&h.test(D))&&(a=`http://www.w3.org/1999/xhtml`),te(u,g(v)?v:[v],t,r,i,a,o,s,o?o[0]:r.__k&&C(r,0),c,l),o&&o.some(y)),c&&D!=`textarea`||(d=`value`,D==`progress`&&x==null?e.removeAttribute(d):x==null||x===e[d]&&(D!=`progress`||x)||ne(e,d,x,T[d],a),d=`checked`,S!=null&&S!=e[d]&&ne(e,d,S,T[d],a))}else T===E||c&&e.data==E||(e.data=E);return e}function ce(e,t,r,i){try{typeof e==`function`?t?t.__x=e(t)||1:i&&(i=i.__c||i.__e)&&(t=i.__x)&&(i.__x=null,typeof t==`function`?t():e(null)):e.current=t}catch(e){n.__e(e,r)}}function le(e,t,r){var i,a,o,s;if(n.unmount&&n.unmount(e),!(i=e.ref)||i.current&&i.current!=e.__e||ce(i,null,t,e),i=e.__c){if(i.componentWillUnmount)try{i.componentWillUnmount()}catch(e){n.__e(e,t)}i.__P=i.__n=null}if(i=e.__k)for(s=0;s<i.length;s++)i[s]&&le(i[s],t,typeof e.type!=`function`||r&&!e.props.__P);!r&&(i=e.__c)&&(i=i.__z)&&(a=ie(i,o=[]))&&(i==e.__e&&o.some(y),y(a),y(i)),(i=e.__e)&&(r||y(i),i.__e&&(i.__e=null)),e.__e=e.__c=e.__=null}function ue(e,t,n){return this.constructor(e,n)}function de(e,t){var r,i,a,o;n.__&&n.__(e,t),t.nodeType==9&&(t=t.documentElement),i=(r=e&&32&e.__u)?null:t.__k,t.__k=b(x,{children:[e]}),a=[],o=[],re(t,t.__k,i||p,p,t.namespaceURI,i?null:t.firstChild?_.call(t.childNodes):null,a,i?i.__e:t.firstChild,r,o),oe(a,t.__k,o),t.__k.props.children=null}n={__e:function(e,t,n,r){for(var i,a,o;t=t.__;)if((i=t.__c)&&!(1&i.__g)){i.__g|=4;try{if((o=(a=i.constructor)&&a.getDerivedStateFromError)&&i.setState(a.getDerivedStateFromError(e)),i.componentDidCatch&&(i.componentDidCatch(e,r||{}),o=1),o&&8&i.__g)return void(i.__g|=2)}catch(t){e=t}}throw s=0,e}},r=0,i=function(e){return e!=null&&e.constructor===void 0},S.prototype.setState=function(e,t){var n=this.__s;n&&n!=this.state||(n=this.__s=v({},this.state)),typeof e==`function`&&(e=e(v({},n),this.props)),e&&(v(n,e),this.__v&&(t&&this.__k.push(t),w(this)))},S.prototype.forceUpdate=function(e){this.__v&&(this.__g|=4,e&&this.__h.push(e),w(this))},S.prototype.render=x,a=[],s=0,c=function(e,t){return e.__v.__b-t.__v.__b},l=Symbol(),u=/(PointerCapture)$|Capture$/i,d=0,f={};var fe=0;Array.isArray;function j(e,t,r,i,a,o){t||(t={});var s,c,l=t;if(`ref`in l&&typeof e!=`function`)for(c in l={},t)c==`ref`?s=t[c]:l[c]=t[c];var u={type:e,props:l,key:r,ref:s,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:--fe,__i:-1,__u:0};return(a||o)&&(u.__source=a,u.__self=o),n.vnode&&n.vnode(u),u}var pe,M,me,he,ge=Object.is,_e=0,ve=[],ye=[],be=n,xe=be.__b,Se=be.__r,Ce=be.diffed,we=be.__c,Te=be.unmount,Ee=be.__;function De(e,t){be.__h&&be.__h(M,e,_e||t),_e=0;var n=M.__H||(M.__H={__:[],__h:[]});return e>=n.__.length&&n.__.push({}),n.__[e]}function N(e){return _e=1,Oe(Le,e)}function Oe(e,t,n){var r=De(pe++,2);if(r.t=e,!r.__c&&(r.__=[n?n(t):Le(void 0,t),function(e){var t=r.__N?r.__N[0]:r.__[0],n=r.t(t,e);ge(t,n)||(r.__N=[n,r.__[1]],r.__c.setState({}))}],r.__c=M,!M.__f)){M.__f=!0;var i=M.shouldComponentUpdate;M.shouldComponentUpdate=function(e,t,n){var r=this.__H;if(!r)return!0;var a=!1,o=this.props!=e;if(r.__.some(function(e){e.__N&&(a=!0,ge(e.__[0],e.__N[0])||(o=!0))}),i){var s=i.call(this,e,t,n);return a?s||o:s}return!a||o}}return r.__}function P(e,t){var n=De(pe++,3);!be.__s&&Ie(n.__H,t)&&(n.__P=!0,n.__=e,n.u=t,M.__H.__h.push(n))}function F(e){return _e=5,ke(function(){return{current:e}},[])}function ke(e,t){var n=De(pe++,7);return Ie(n.__H,t)&&(n.__=e(),n.__H=t),n.__}function Ae(){var e;do{for(;e=ye.shift();)try{Pe(e)}catch(t){be.__e(t,{__:(e=e.__P)&&e.__v})}for(;e=ve.shift();){var t=e.__H;if(e.__P&&t)try{t.__h.some(Pe),t.__h.some(Fe),t.__h=[]}catch(n){t.__h=[],be.__e(n,e.__v)}}}while(ye.length)}be.__b=function(e){M=null,xe&&xe(e)},be.__=function(e,t){e&&t.__k&&t.__k.__m&&(e.__m=t.__k.__m),Ee&&Ee(e,t)},be.__r=function(e){Se&&Se(e),pe=0;var t=(M=e.__c).__H;t&&(me==M?M.__h=[]:(t.__h.some(Pe),t.__h.some(Fe),pe=0),t.__h=[],t.__.some(function(e){e.__N&&(e.__=e.__N),e.u=e.__N=void 0})),me=M},be.diffed=function(e){Ce&&Ce(e);var t=e.__c;t&&t.__H&&(t.__H.__h.length&&Ne(ve.push(t)),t.__H.__.some(function(e){e.u&&(e.__H=e.u)})),me=M=null},be.__c=function(e,t){t.some(function(e){try{e.__h.some(Pe),e.__h=e.__h.filter(function(e){return!e.__||Fe(e)})}catch(n){t.some(function(e){e.__h&&(e.__h=[])}),t=[],be.__e(n,e.__v)}}),we&&we(e,t)},be.unmount=function(e){Te&&Te(e);var t,n,r=e.__c;r&&r.__H&&(r.__H.__.some(function(r){try{if(r.__P&&r.__c){if(n===void 0){for(n=e.__;n&&(!n.__c||!n.__c.__P);)n=n.__;n=n&&n.__c}r.__P=n,Ne(ye.push(r))}else Pe(r)}catch(e){t=e}}),r.__H=void 0,t&&be.__e(t,r.__v))};var je=typeof requestAnimationFrame==`function`;function Me(e){var t,n=function(){clearTimeout(r),je&&cancelAnimationFrame(t),setTimeout(e)},r=setTimeout(n,35);je&&(t=requestAnimationFrame(n))}function Ne(e){e!=1&&he==be.requestAnimationFrame||((he=be.requestAnimationFrame)||Me)(Ae)}function Pe(e){var t=M,n=e.__c;typeof n==`function`&&(e.__c=void 0,n()),M=t}function Fe(e){var t=M;e.__c=e.__(),M=t}function Ie(e,t){return!e||e.length!=t.length||t.some(function(t,n){return!ge(t,e[n])})}function Le(e,t){return typeof t==`function`?t(e):t}var Re=Symbol.for(`preact-signals`);function ze(){if(Ge>1)Ge--;else{var e,t=!1;for((function(){var e=Ye;for(Ye=void 0;e!==void 0;){var t=e.S;if(t.v===e.v)for(var n=t.t;n!==void 0;n=n.x)n.i===e.i&&(n.i=t.i);e=e.o}})();We!==void 0;){var n=We;for(We=void 0,Ke++;n!==void 0;){var r=n.u;if(n.u=void 0,n.f&=-3,!(8&n.f)&&$e(n))try{n.c()}catch(n){t||(e=n,t=!0)}n=r}}if(Ke=0,Ge--,t)throw e}}function Be(e){if(Ge>0)return e();Je=++qe,Ge++;try{return e()}finally{ze()}}var Ve,He=void 0;function Ue(e){var t=He,n=Ve;He=void 0,Ve=void 0;try{return e()}finally{He=t,Ve=n}}var We=void 0,Ge=0,Ke=0,qe=0,Je=0,Ye=void 0,Xe=0;function Ze(e){if(He!==void 0){var t=e.n;if(t===void 0||t.t!==He)return t={i:0,S:e,p:He.s,n:void 0,t:He,e:void 0,x:void 0,r:t},He.s!==void 0&&(He.s.n=t),He.s=t,e.n=t,32&He.f&&e.S(t),t;if(t.i===-1)return t.i=0,t.n!==void 0&&(t.n.p=t.p,t.p!==void 0&&(t.p.n=t.n),t.p=He.s,t.n=void 0,He.s.n=t,He.s=t),t}}function Qe(e,t){this.v=e,this.i=0,this.n=void 0,this.t=void 0,this.l=0,this.W=t==null?void 0:t.watched,this.Z=t==null?void 0:t.unwatched,this.name=t==null?void 0:t.name}Qe.prototype.brand=Re,Qe.prototype.h=function(){return!0},Qe.prototype.S=function(e){var t=this,n=this.t;n!==e&&e.e===void 0&&(e.x=n,this.t=e,n===void 0?Ue(function(){var e;(e=t.W)==null||e.call(t)}):n.e=e)},Qe.prototype.U=function(e){var t=this;if(this.t!==void 0){var n=e.e,r=e.x;n!==void 0&&(n.x=r,e.e=void 0),r!==void 0&&(r.e=n,e.x=void 0),e===this.t&&(this.t=r,r===void 0&&Ue(function(){var e;(e=t.Z)==null||e.call(t)}))}},Qe.prototype.subscribe=function(e){var t=this;return ct(function(){var n=t.value;Ue(function(){return e(n)})},{name:`sub`})},Qe.prototype.valueOf=function(){return this.value},Qe.prototype.toString=function(){return this.value+``},Qe.prototype.toJSON=function(){return this.value},Qe.prototype.peek=function(){var e=this;return Ue(function(){return e.value})},Object.defineProperty(Qe.prototype,"value",{get:function(){var e=Ze(this);return e!==void 0&&(e.i=this.i),this.v},set:function(e){if(e!==this.v){if(Ke>100)throw Error(`Cycle detected`);(function(e){Ge!==0&&Ke===0&&e.l!==Je&&(e.l=Je,Ye={S:e,v:e.v,i:e.i,o:Ye})})(this),this.v=e,this.i++,Xe++,Ge++;try{for(var t=this.t;t!==void 0;t=t.x)t.t.N()}finally{ze()}}}});function I(e,t){return new Qe(e,t)}function $e(e){for(var t=e.s;t!==void 0;t=t.n)if(t.S.i!==t.i||!t.S.h()||t.S.i!==t.i)return!0;return!1}function et(e){for(var t=e.s;t!==void 0;t=t.n){var n=t.S.n;if(n!==void 0&&(t.r=n),t.S.n=t,t.i=-1,t.n===void 0){e.s=t;break}}}function tt(e){for(var t=e.s,n=void 0;t!==void 0;){var r=t.p;t.i===-1?(t.S.U(t),r!==void 0&&(r.n=t.n),t.n!==void 0&&(t.n.p=r)):n=t,t.S.n=t.r,t.r!==void 0&&(t.r=void 0),t=r}e.s=n}function nt(e,t){Qe.call(this,void 0,t),this.x=e,this.s=void 0,this.g=Xe-1,this.f=4}nt.prototype=new Qe,nt.prototype.h=function(){if(this.f&=-3,1&this.f)return!1;if((36&this.f)==32||(this.f&=-5,this.g===Xe))return!0;if(this.g=Xe,this.f|=1,this.i>0&&!$e(this))return this.f&=-2,!0;var e=He;try{et(this),He=this;var t=this.x();(16&this.f||this.v!==t||this.i===0)&&(this.v=t,this.f&=-17,this.i++)}catch(e){this.v=e,this.f|=16,this.i++}return He=e,tt(this),this.f&=-2,!0},nt.prototype.S=function(e){if(this.t===void 0){this.f|=36;for(var t=this.s;t!==void 0;t=t.n)t.S.S(t)}Qe.prototype.S.call(this,e)},nt.prototype.U=function(e){if(this.t!==void 0&&(Qe.prototype.U.call(this,e),this.t===void 0)){this.f&=-33;for(var t=this.s;t!==void 0;t=t.n)t.S.U(t)}},nt.prototype.N=function(){if(!(2&this.f)){this.f|=6;for(var e=this.t;e!==void 0;e=e.x)e.t.N()}},Object.defineProperty(nt.prototype,"value",{get:function(){if(1&this.f)throw Error(`Cycle detected`);var e=Ze(this);if(this.h(),e!==void 0&&(e.i=this.i),16&this.f)throw this.v;return this.v}});function rt(e,t){return new nt(e,t)}function it(e){var t=e.m;if(e.m=void 0,typeof t==`function`){Ge++;var n=He;He=void 0;try{t()}catch(t){throw e.f&=-2,e.f|=8,at(e),t}finally{He=n,ze()}}}function at(e){for(var t=e.s;t!==void 0;t=t.n)t.S.U(t);e.x=void 0,e.s=void 0,it(e)}function ot(e){if(He!==this)throw Error(`Out-of-order effect`);tt(this),He=e,this.f&=-2,8&this.f&&at(this),ze()}function st(e,t){this.x=e,this.m=void 0,this.s=void 0,this.u=void 0,this.f=32,this.name=t==null?void 0:t.name,Ve&&Ve.push(this)}st.prototype.c=function(){var e=this.S();try{if(8&this.f||this.x===void 0)return;var t=this.x();typeof t==`function`&&(this.m=t)}finally{e()}},st.prototype.S=function(){if(1&this.f)throw Error(`Cycle detected`);this.f|=1,this.f&=-9,it(this),et(this),Ge++;var e=He;return He=this,ot.bind(this,e)},st.prototype.N=function(){2&this.f||(this.f|=2,this.u=We,We=this)},st.prototype.d=function(){this.f|=8,1&this.f||at(this)},st.prototype.dispose=function(){this.d()};function ct(e,t){var n=new st(e,t);try{n.c()}catch(e){throw n.d(),e}var r=n.d.bind(n);return r[Symbol.dispose]=r,r}var lt,ut,dt,ft=typeof window<`u`&&!!window.__PREACT_SIGNALS_DEVTOOLS__,pt=[];ct(function(){lt=this.N})();function mt(e,t){n[e]=t.bind(null,n[e]||function(){})}function ht(e){if(dt){var t=dt;dt=void 0,t()}dt=e&&e.S()}function gt(e){var t=this,n=e.data,r=vt(n);r.name=`ReactiveDom`,r.value=n;var a=ke(function(){for(var e=t,n=t.__v;n=n.__;)if(n.__c){n.__c.__$f|=4;break}var a=rt(function(){var e=r.value.value;return e===0?0:!0===e?``:e||``}),o=rt(function(){return!Array.isArray(a.value)&&!i(a.value)}),s=ct(function(){if(this.N=St,o.value){var t=a.value;e.__v&&e.__v.__e&&e.__v.__e.nodeType===3&&(e.__v.__e.data=t)}}),c=t.__$u.d;return t.__$u.d=function(){s(),c.call(this)},[o,a]},[]),o=a[0],s=a[1];return o.value?s.peek():s.value}gt.displayName=`ReactiveTextNode`,Object.defineProperties(Qe.prototype,{constructor:{configurable:!0,value:void 0},type:{configurable:!0,value:gt},props:{configurable:!0,get:function(){var e=this;return{data:{get value(){return e.value}}}}},__b:{configurable:!0,value:1}}),mt(`__b`,function(e,t){if(ht(),ut=void 0,typeof t.type==`string`){var n,r=t.props;for(var i in r)if(i!==`children`){var a=r[i];a instanceof Qe&&(n||(t.__np=n={}),n[i]=a,r[i]=a.peek())}}e(t)}),mt(`__r`,function(e,t){if(e(t),t.type!==x){ht();var n,r=t.__c;r&&(r.__$f&=-2,(n=r.__$u)===void 0&&(r.__$u=n=function(e,t){var n;return ct(function(){n=this},{name:t}),n.c=e,n}(function(e){return function(){var t;ft&&((t=this.y)==null||t.call(this)),e.__$f|=1,e.setState({})}}(r),typeof t.type==`function`?t.type.displayName||t.type.name:``))),ut=r,ht(n)}}),mt(`__e`,function(e,t,n,r){ht(),ut=void 0,e(t,n,r)}),mt(`diffed`,function(e,t){ht(),ut=void 0;var n;if(typeof t.type==`string`&&(n=t.__e)){var r=t.__np,i=t.props,a=n.U;if(a)for(var o in a){var s=a[o];s===void 0||r&&o in r||(s.d(),a[o]=void 0)}if(r)for(var c in a||(a={},n.U=a),r){var l=a[c],u=r[c];l===void 0?(l=_t(n,c,u,i),a[c]=l):l.o(u,i)}}e(t)});function _t(e,t,n,r){var i=t in e&&e.ownerSVGElement===void 0,a=I(n);return{o:function(e,t){a.value=e,r=t},d:ct(function(){this.N=St;var n=a.value.value;r[t]!==n&&(r[t]=n,i?e[t]=n:n!=null&&(!1!==n||t[4]===`-`)?e.setAttribute(t,n):e.removeAttribute(t))})}}mt(`unmount`,function(e,t){if(typeof t.type==`string`){var n=t.__e;if(n){var r=n.U;if(r)for(var i in n.U=void 0,r){var a=r[i];a&&a.d()}}var o=t.__np;if(o){var s=t.props;for(var c in o)s[c]=o[c]}t.__np=void 0}else{var l=t.__c;if(l){l.__$f|=8;var u=l.__$u;u&&(l.__$u=void 0,u.d())}}e(t)}),mt(`__h`,function(e,t,n,r){r<3&&(t.__$f|=2),e(t,n,r)}),S.prototype.shouldComponentUpdate=function(e,t){if(this.__R)return!0;var n=this.__$u,r=n&&n.s!==void 0;for(var i in t)return!0;if(this.__f||typeof this.u==`boolean`&&!0===this.u){var a=2&this.__$f;if(!(r||a||4&this.__$f)||1&this.__$f)return!0}else if(!(r||4&this.__$f)||3&this.__$f)return!0;for(var o in e)if(o!==`__source`&&e[o]!==this.props[o])return!0;for(var s in this.props)if(!(s in e))return!0;return!1};function vt(e,t){return ke(function(){return I(e,t)},[])}function yt(e,t){var n=F(e);return n.current=e,ut.__$f|=4,ke(function(){return rt(function(){return n.current()},t)},[])}var bt=function(e){queueMicrotask(function(){queueMicrotask(e)})};function xt(){Be(function(){for(var e;e=pt.shift();)lt.call(e)})}function St(){pt.push(this)===1&&(n.requestAnimationFrame||bt)(xt)}var Ct=`https://tvapp.erdogan.gen.tr/api/access`,wt=`utopya.accessKey`,Tt=`utopya.accessAt`,Et=6048e5,Dt=I(null);async function Ot(e){try{let t=await fetch(Ct,{method:`POST`,body:e,cache:`no-store`});return t.status===204?`ok`:t.status===404?`wrong`:`offline`}catch(e){return`offline`}}function kt(e){try{return localStorage.getItem(e)}catch(e){return null}}function At(e){try{localStorage.setItem(wt,e),localStorage.setItem(Tt,String(Date.now()))}catch(e){}}async function jt(){let e=kt(wt);if(!e){Dt.value=!1;return}let t=Date.now()-Number(kt(Tt)||0)<Et;t&&(Dt.value=!0);let n=await Ot(e);if(n===`ok`)At(e),Dt.value=!0;else if(n===`wrong`||!t){if(n===`wrong`)try{localStorage.removeItem(wt)}catch(e){}Dt.value=!1}}var Mt={37:`left`,38:`up`,39:`right`,40:`down`,13:`ok`,10009:`back`,27:`back`,8:`back`,403:`red`,404:`green`,405:`yellow`,406:`blue`,112:`red`,113:`green`,114:`yellow`,115:`blue`,427:`chUp`,428:`chDown`,33:`chUp`,34:`chDown`,10252:`playPause`,415:`play`,19:`pause`,413:`stop`,412:`rew`,417:`ff`,457:`info`,458:`guide`,10190:`last`,10073:`channelList`,10135:`menu`,93:`menu`,77:`menu`};function Nt(e){return e.keyCode>=48&&e.keyCode<=57?`digit${e.keyCode-48}`:e.keyCode>=96&&e.keyCode<=105?`digit${e.keyCode-96}`:Mt[e.keyCode]}var Pt=`ColorF0Red.ColorF1Green.ColorF2Yellow.ColorF3Blue.ChannelUp.ChannelDown.PreviousChannel.ChannelList.Info.Guide.Tools.MediaPlayPause.MediaPlay.MediaPause.MediaStop.MediaRewind.MediaFastForward.0.1.2.3.4.5.6.7.8.9`.split(`.`),Ft=typeof tizen<`u`;function It(){if(!Ft)return;let e=new Set(tizen.tvinputdevice.getSupportedKeys().map(e=>e.name)),t=Pt.filter(t=>e.has(t));try{tizen.tvinputdevice.registerKeyBatch(t)}catch(e){t.forEach(e=>{try{tizen.tvinputdevice.registerKey(e)}catch(e){}})}}function Lt(){Ft?tizen.application.getCurrentApplication().exit():window.close()}var Rt=new Map,zt=new Map,Bt=`.content, .page, .page-flow`,Vt=e=>e.getAttribute(`data-focus-group`)||e,Ht=!1;function Ut(e){return e.getClientRects().length>0&&!e.hasAttribute(`disabled`)&&e.getAttribute(`aria-disabled`)!==`true`}function Wt(){let e=document.querySelectorAll(`[data-focus-scope]`);return e.length?e[e.length-1]:document}function Gt(e=Wt()){return Array.prototype.filter.call(e.querySelectorAll(`[data-focus]`),Ut)}function Kt(e){return e?e.closest(`[data-focus-group]`):null}function qt(e){if(!e)return!1;e.tabIndex<0&&!e.hasAttribute(`tabindex`)&&(e.tabIndex=-1);try{e.focus({preventScroll:!0})}catch(t){e.focus()}Jt();let t=e.closest(Bt);t&&zt.set(Vt(t),e);let n=Kt(e);if(n&&(Rt.set(n.dataset.focusGroup,e),Rt.size>200&&Rt.forEach((e,t)=>{e.isConnected||Rt.delete(t)})),e.closest(`[data-focus-noscroll]`))return!0;let r=parseFloat(getComputedStyle(document.documentElement).fontSize);for(let t=e.parentElement;t&&t!==document.body;t=t.parentElement){let n=getComputedStyle(t),i=t.getBoundingClientRect(),a=e.getBoundingClientRect(),o=r*1.2;if(/auto|scroll/.test(n.overflowX)&&t.scrollWidth>t.clientWidth&&(a.left<i.left+o?t.scrollLeft-=i.left+o-a.left:a.right>i.right-o&&(t.scrollLeft+=a.right-i.right+o)),/auto|scroll/.test(n.overflowY)&&t.scrollHeight>t.clientHeight){let n=e.closest(`.shelf`),r=n==null?void 0:n.getBoundingClientRect(),s=r&&r.height+o*2<i.height?r:a;s.top<i.top+o?t.scrollTop-=i.top+o-s.top:s.bottom>i.bottom-o&&(t.scrollTop+=s.bottom-i.bottom+o)}}return Jt(),!0}function Jt(){(window.scrollX||window.scrollY)&&window.scrollTo(0,0),document.documentElement.scrollLeft=0,document.body.scrollLeft=0}function Yt(e){let t=e.querySelector(`[data-focus-default]`);if(t&&Ut(t))return t;let n=e instanceof HTMLElement&&e.dataset.focusGroup,r=n?Rt.get(n):void 0;if(r&&r.isConnected&&Ut(r))return r;let i=e.querySelector(`[data-focus-initial]`);return i&&Ut(i)?i:Gt(e)[0]}function L(e){return e?qt(Yt(e)):!1}function Xt(){let e=Array.prototype.filter.call(document.querySelectorAll(Bt),Ut)[0];if(!e)return!1;let t=zt.get(Vt(e));return qt(t&&t.isConnected&&Ut(t)&&e.contains(t)?t:Yt(e))}function Zt(e,t,n){let r=n===`left`||n===`right`,i=r?e.left+e.width/2:e.top+e.height/2,a=r?t.left+t.width/2:t.top+t.height/2;if(n===`right`||n===`down`?a<=i+1:a>=i-1)return null;let o=Math.max(0,n===`right`?t.left-e.right:n===`left`?e.left-t.right:n===`down`?t.top-e.bottom:e.top-t.bottom),[s,c,l,u]=r?[e.top,e.bottom,t.top,t.bottom]:[e.left,e.right,t.left,t.right],d=Math.max(0,l-c,s-u);return o===0&&d>0?null:[o,d+Math.abs((s+c)/2-(l+u)/2)*.05,d]}function Qt(e){var t,n;let r=document.activeElement,i=Gt();if(!r||!r.hasAttribute(`data-focus`)||i.indexOf(r)<0)return qt(Yt(Wt())||i[0]);let a=$t(r,e);if(a)return qt(a);if(e===`down`&&r.closest(`.topbar`)&&Xt())return!0;let o=r.getBoundingClientRect(),s=[];for(let t of i){if(t===r)continue;let n=Zt(o,t.getBoundingClientRect(),e);n&&s.push([t,n[0],n[1],n[2]])}if(e===`left`||e===`right`){r.closest(`.topbar`)||(s=s.filter(e=>!e[0].closest(`.topbar`)));let e=s.filter(e=>e[3]===0);e.length&&(s=e)}else{let t=r.closest(Bt);if(t){let e=s.filter(e=>e[3]===0&&t.contains(e[0]));e.length&&(s=e)}else if(e===`up`&&r.closest(`.topbar`))return!1}let c=1/0;for(let e of s)e[1]<c&&(c=e[1]);let l=parseFloat(getComputedStyle(document.documentElement).fontSize),u=Math.min((e===`up`||e===`down`?o.height:o.width)/2,3*l),d,f=1/0;for(let[e,t,n]of s)t<=c+u&&n<f&&(f=n,d=e);if(!d)return!1;let p=d.classList.contains(`shelf-all`)?d.closest(`.shelf`):null,m=p&&!p.contains(r)?p.querySelector(`.shelf-row`):null;m&&(d=(t=Gt(m)[0])==null?d:t);let h=d.closest(`.shelf-row`);if((e===`up`||e===`down`)&&h&&!h.contains(r))return qt(Gt(h)[0]);let g=Kt(d);return g&&g!==Kt(r)&&!g.contains(r)&&(d=(n=Yt(g))==null?d:n),qt(d)}function $t(e,t){let n=e.closest(`.shelf`),r=n&&n.querySelector(`.shelf-all`);if(n&&r&&Ut(r)){if(t===`up`&&e!==r&&e.closest(`.shelf-row`))return r;if(t===`down`&&e===r)return Gt(n.querySelector(`.shelf-row`))[0]}}var en=[];function tn(e){let t=F(e);t.current=e,P(()=>{let e=(e,n)=>t.current(e,n);return en.push(e),()=>{let t=en.indexOf(e);t>=0&&en.splice(t,1)}},[])}var nn=600,rn,an=!1;function on(e){return!!e&&(e.tagName===`INPUT`||e.tagName===`TEXTAREA`)}var sn=65376,cn=65385;function ln(e,t){let n=Nt(e),r=()=>{e.preventDefault();let n=t.closest(`[data-focus]`);t.blur(),qt(n)};if(e.keyCode===sn||e.keyCode===cn||n===`ok`||n===`back`&&e.keyCode!==8)return r(),!0;let i=t.selectionStart===0&&t.selectionEnd===0,a=t.selectionStart===t.value.length;return(n===`up`||n===`down`||n===`left`&&i||n===`right`&&a)&&(r(),Qt(n)),!0}function un(e){document.addEventListener(`focusin`,()=>{Jt(),requestAnimationFrame(Jt)}),document.addEventListener(`keydown`,t=>{let n=document.activeElement;if(t.key===`Tab`){let e=Gt();if(!e.length)return;t.preventDefault();let r=n&&n.closest(`[data-focus]`);qt(e[(e.indexOf(r)+(t.shiftKey?-1:1)+e.length)%e.length]);return}if(t.ctrlKey||t.metaKey||t.altKey)return;if(t.key===`ContextMenu`||t.shiftKey&&t.key===`F10`){t.preventDefault(),n==null||n.dispatchEvent(new CustomEvent(`longpress`,{bubbles:!0}));return}if(!on(n)&&t.key&&t.key.length===1&&!t.repeat){let e=n==null?void 0:n.querySelector(`input, textarea`);if(e&&!e.disabled&&!e.readOnly){t.preventDefault(),e.focus(),e.value+=t.key,e.dispatchEvent(new Event(`input`,{bubbles:!0}));return}}if(on(n)&&ln(t,n))return;let r=Nt(t);if(!r)return;if(r===`ok`){if(t.preventDefault(),t.repeat||rn!==void 0||an)return;rn=window.setTimeout(()=>{var e;rn=void 0,an=!0,(e=document.activeElement)==null||e.dispatchEvent(new CustomEvent(`longpress`,{bubbles:!0}))},nn);return}if(t.preventDefault(),t.repeat){if(Ht)return;Ht=!0,requestAnimationFrame(()=>{Ht=!1})}let i=!1;for(let e=en.length-1;e>=0;e--){let n=en[e](r,t);if(n==="default"){i=!0;break}if(n)return}r===`left`||r===`right`||r===`up`||r===`down`?Qt(r):i||e(r,t)}),window.addEventListener(`blur`,()=>{clearTimeout(rn),rn=void 0,an=!1}),document.addEventListener(`keyup`,e=>{var t;if(!(Nt(e)!==`ok`||on(document.activeElement))){if(e.preventDefault(),an)an=!1;else if(rn!==void 0){clearTimeout(rn),rn=void 0;for(let t=en.length-1;t>=0;t--){let n=en[t](`ok`,e);if(n==="default")break;if(n)return}(t=document.activeElement)==null||t.click()}}})}var dn={app_name:`UtopyaTV`,loading:`Yükleniyor…`,ok:`Tamam`,cancel:`İptal`,retry:`Tekrar dene`,save:`Kaydet`,delete:`Sil`,back:`Geri`,pin_wrong:`PIN hatalı`,pin_enter:`PIN girin`,pin_new:`Yeni PIN belirleyin`,nav_home:`Ana Sayfa`,nav_live:`Canlı TV`,nav_guide:`Rehber`,nav_movies:`Filmler`,nav_series:`Diziler`,nav_search:`Ara`,nav_recordings:`Kayıtlar`,nav_settings:`Ayarlar`,empty_no_provider:`Henüz bir kaynak eklenmedi.`,add_provider:`Kaynak ekle`,empty_list:`Burada gösterilecek bir şey yok.`,error_network:`Sunucuya bağlanılamadı. İnternet bağlantınızı ve adresi kontrol edin.`,error_timeout:`Sunucu zamanında yanıt vermedi. Lütfen tekrar deneyin.`,error_auth:`Kullanıcı adı veya parola hatalı.`,error_expired:`Aboneliğinizin süresi dolmuş.`,error_not_found:`Adres bulunamadı (404). Adresi kontrol edin.`,error_server:`Sunucu hatası. Daha sonra tekrar deneyin.`,error_parse:`Kaynak okunamadı; geçerli bir M3U/Xtream kaynağı olmayabilir.`,error_empty:`Kaynakta hiç kanal veya içerik bulunamadı.`,error_storage:`Yetersiz depolama alanı.`,error_unknown:`Beklenmeyen bir hata oluştu.`,onb_welcome:`UtopyaTV'ye hoş geldiniz`,onb_choose:`Başlamak için bir kaynak türü seçin. Uygulama içerik sağlamaz; kendi aboneliğinizin bilgilerini girin.`,onb_m3u_url:`M3U adresi`,onb_m3u_url_desc:`İnternetteki bir M3U/M3U8 listesi`,onb_m3u_file:`Yerel M3U dosyası`,onb_m3u_file_desc:`Cihazdaki bir dosyayı seçin`,onb_xtream:`Xtream Codes`,onb_xtream_desc:`Sunucu, kullanıcı adı ve parola`,onb_phone:`Telefondan gir`,onb_phone_desc:`QR kodu okutun, bilgileri telefonda yazın`,onb_name:`Kaynak adı`,onb_name_ph:`Örn. Evdeki liste`,onb_url:`Liste adresi`,onb_server:`Sunucu adresi`,onb_username:`Kullanıcı adı`,onb_password:`Parola`,onb_epg:`EPG (XMLTV) adresi — isteğe bağlı`,onb_user_agent:`User-Agent — isteğe bağlı`,onb_live_format:`Canlı yayın biçimi`,onb_connect:`Bağlan`,onb_validating:`Bilgiler doğrulanıyor…`,onb_file_none:`Bu cihazda dosya seçici yok. Dosyayı "Telefondan gir" seçeneğiyle yükleyebilirsiniz.`,onb_file_chosen:`Seçilen dosya: %1$s`,onb_pick_file:`Dosya seç`,onb_phone_title:`Telefonunuzla QR kodu okutun`,onb_phone_hint:`Telefon ve TV aynı Wi-Fi ağında olmalı. Adres: %1$s`,onb_phone_no_network:`Ağ bağlantısı bulunamadı. TV'nin Wi-Fi veya kabloyla bağlı olduğundan emin olun.`,onb_required:`Lütfen gerekli alanları doldurun.`,sync_title:`Kaynak hazırlanıyor`,sync_connecting:`Bağlanılıyor…`,sync_categories:`Kategoriler alınıyor…`,sync_live:`Canlı kanallar: %1$d`,sync_movies:`Filmler: %1$d`,sync_series:`Diziler: %1$d`,sync_epg:`Yayın akışı: %1$d program`,sync_done:`Hazır!`,sync_failed:`Senkronizasyon başarısız`,sync_continue:`Devam et`,sync_background:`Arka planda devam et`,cat_all:`Tüm Kanallar`,cat_favorites:`Favoriler`,cat_recent:`Son İzlenenler`,cat_locked_hint:`Kilitli`,no_program:`Program bilgisi yok`,now_label:`Şimdi`,next_label:`Sonra`,menu_add_favorite:`Favorilere ekle`,menu_remove_favorite:`Favorilerden çıkar`,menu_hide:`Gizle`,menu_unhide:`Göster`,menu_lock:`PIN ile kilitle`,menu_unlock:`Kilidi kaldır`,menu_pin_top:`En üste sabitle`,menu_unpin:`Sabitlemeyi kaldır`,menu_add_to_group:`Gruba ekle`,menu_remove_from_group:`Gruptan çıkar`,menu_new_group:`Yeni grup oluştur`,menu_delete_group:`Grubu sil`,menu_epg_mapping:`EPG eşleştirmesini düzelt`,menu_play_external:`Harici oynatıcıda aç`,group_name:`Grup adı`,group_default_name:`Grubum %1$d`,pin_needed_first:`Önce Ayarlar → Ebeveyn kontrolü bölümünden bir PIN belirleyin.`,locked_content:`Bu içerik kilitli`,channel_number:`Kanal %1$s`,channel_not_found:`Kanal bulunamadı`,player_error_network:`Yayına bağlanılamadı. Bağlantınızı kontrol edin.`,player_error_auth:`Yayına erişim reddedildi (abonelik veya bağlantı sınırı).`,player_error_not_found:`Yayın bulunamadı; kaynak kapalı olabilir.`,player_error_format:`Yayın biçimi desteklenmiyor.`,player_error_decoder:`Bu cihaz yayını çözemedi. Ayarlardan yazılım çözücüyü deneyin.`,player_error_unknown:`Yayın oynatılamadı.`,player_error_timeout:`Sunucu zamanında yanıt vermedi.`,player_error_server:`Yayın sunucusunda bir sorun var; biraz sonra tekrar deneyin.`,player_error_limit:`Hesabınızın aynı anda izleme sınırı doldu. Başka cihazdaki yayını kapatıp tekrar deneyin.`,player_error_detail:`Ayrıntı: %1$s`,player_fallback_reason:`Kanal açılamadı (%1$s); önceki kanala dönüldü.`,player_retrying:`Yeniden deneniyor… (%1$d)`,player_audio:`Ses dili`,player_subtitles:`Altyazı`,player_aspect:`Görüntü oranı`,player_quality:`Video kalitesi`,player_auto:`Otomatik`,player_off:`Kapalı`,aspect_fit:`Sığdır`,aspect_fill:`Doldur`,aspect_zoom:`Yakınlaştır`,player_options:`Seçenekler`,player_no_tracks:`Seçenek yok`,player_live:`CANLI`,player_paused:`Duraklatıldı`,player_go_live:`Canlıya dön`,player_favorite_added:`Favorilere eklendi`,player_favorite_removed:`Favorilerden çıkarıldı`,player_hint_live:`OK: kontroller · ◀ kanallar · ▶ yayın akışı · ▲▼ kanal · MENU seçenekler`,live_empty_category:`Bu kategoride kanal yok.`,live_syncing:`Kanallar yükleniyor, lütfen bekleyin…`,minutes_left:`+%1$d dk`,track_n:`Parça %1$d`,epg_mapping_title:`EPG eşleştirmesi`,epg_mapping_auto:`Otomatik eşleştirme`,epg_mapping_filter:`EPG kanalı ara`,epg_mapping_none:`Bu kaynak için EPG kanalı yok. Önce yayın akışını güncelleyin.`,epg_mapping_current:`Şu anki eşleşme: %1$s`,guide_now:`Şimdi`,guide_prev_day:`Önceki gün`,guide_next_day:`Sonraki gün`,guide_category:`Kategori: %1$s`,guide_watch:`İzle`,guide_watch_archive:`Arşivden izle`,guide_remind:`Hatırlat`,guide_remind_off:`Hatırlatmayı kaldır`,guide_record:`Kaydet`,guide_close:`Kapat`,guide_reminder_set:`Hatırlatıcı kuruldu`,guide_no_data:`Bu kanal için yayın akışı yok`,guide_search:`Ara`,guide_hint:`◀ ▶ zaman · OK ayrıntı · CH± sayfa`,guide_empty:`Yayın akışı henüz yok. Kaynağın EPG adresini kontrol edin veya Ayarlar'dan güncelleyin.`,nav_menu_title:`UtopyaTV`,guide_reminder_removed:`Hatırlatıcı kaldırıldı`,player_guide:`Yayın akışı`,shelf_continue:`İzlemeye devam et`,shelf_recent:`Son eklenenler`,shelf_favorites:`Favorilerim`,shelf_see_all:`Tümünü gör`,vod_play:`Oynat`,vod_resume:`Devam et (%1$s)`,vod_restart:`Baştan başla`,vod_mark_watched:`İzlendi olarak işaretle`,vod_mark_unwatched:`İzlenmedi olarak işaretle`,vod_add_favorite:`Favorilere ekle`,vod_remove_favorite:`Favorilerden çıkar`,vod_cast:`Oyuncular: %1$s`,vod_director:`Yönetmen: %1$s`,vod_minutes:`%1$d dk`,vod_season:`%1$d. Sezon`,vod_episodes_loading:`Bölümler yükleniyor…`,vod_no_episodes:`Bölüm bulunamadı.`,vod_episode_title:`%1$d. Bölüm · %2$s`,vod_empty:`Bu kaynakta film/dizi yok.`,vod_next_episode:`Sonraki bölüm %1$d sn içinde`,vod_play_now:`Şimdi oynat`,vod_episodes:`Bölümler`,vod_hint:`OK oynat/duraklat · ▲ kontroller · ◀▶ sar · ▼ bölümler · MENU seçenekler`,vod_watched:`İzlendi`,locked_unlock:`Kilitli · açmak için OK`,shelf_platforms:`Platformlar`,shelf_genres:`Türler`,browse_all:`Tümü`,sort_label:`Sırala: %1$s`,genre_label:`Tür: %1$s`,sort_added:`Yeni eklenen`,sort_name:`A–Z`,sort_rating:`Puan`,sort_year:`Yıl`,browse_count:`%1$d içerik`,search_hint:`Kanal, film, dizi veya program ara`,search_voice:`Sesli ara`,search_recent:`Son aramalar`,search_clear:`Geçmişi temizle`,search_no_results:`"%1$s" için sonuç bulunamadı.`,search_loading:`Aranıyor…`,search_results:`Sonuçlar`,browse_search_movies:`Filmlerde ara`,browse_search_series:`Dizilerde ara`,search_channels:`Kanallar`,search_movies:`Filmler`,search_series:`Diziler`,search_programs:`Programlar`,search_searching:`Aranıyor…`,home_favorite_channels:`Favori kanallar`,home_recent_channels:`Son izlenen kanallar`,home_new_movies:`Yeni filmler`,home_new_series:`Yeni diziler`,home_source:`Kaynak: %1$s`,home_switch_source:`Kaynak değiştir`,home_empty:`Başlamak için Canlı TV, Filmler veya Diziler bölümüne gidin. Favoriler ve izlemeye devam et burada görünecek.`,home_greeting_morning:`Günaydın`,home_greeting_day:`İyi günler`,home_greeting_evening:`İyi akşamlar`,player_archive:`ARŞİV`,player_archive_hint:`◀▶ 30 sn · ⏪⏩ 2 dk · OK duraklat · MENU → Canlıya dön`,archive_unavailable:`Bu program için arşiv adresi oluşturulamadı.`,guide_restart:`Baştan başlat`,player_timeshift:`ZAMAN KAYDIRMA`,timeshift_starting:`Zaman kaydırma başlatılıyor…`,timeshift_failed:`Zaman kaydırma başlatılamadı; canlı yayına dönüldü.`,timeshift_hint:`◀▶ 30 sn · ⏪⏩ 2 dk · OK oynat/duraklat · MENU → Canlıya dön`,timeshift_behind:`Canlının %1$s gerisinde`,rec_tab_recordings:`Kayıtlar`,rec_tab_scheduled:`Zamanlanmış`,rec_tab_downloads:`İndirmeler`,rec_storage:`Depolama: %1$s · %2$s boş`,rec_storage_internal:`Dahili`,rec_storage_usb:`USB/SD %1$d`,rec_storage_pick:`Depolama konumu`,rec_empty:`Henüz kayıt yok. Rehberde bir programı seçip "Kaydet"e basın ya da izlerken MENU → Şimdi kaydet.`,rec_scheduled_empty:`Zamanlanmış kayıt yok.`,dl_empty:`İndirme yok. Film veya bölüm sayfasından "İndir"e basın.`,rec_status_scheduled:`Zamanlandı`,rec_status_recording:`Kaydediliyor`,rec_status_completed:`Tamamlandı`,rec_status_failed:`Başarısız`,rec_status_cancelled:`İptal edildi`,rec_cancel:`Kaydı durdur / iptal et`,rec_delete:`Kaydı sil`,rec_play:`Oynat`,rec_scheduled_ok:`Kayıt zamanlandı: %1$s`,rec_conflict:`Bu saatte başka bir kayıt var: %1$s. Yine de kaydedilsin mi? (Hesabınız tek bağlantıya izin veriyorsa biri başarısız olabilir.)`,rec_no_space:`Yetersiz depolama alanı (en az 500 MB gerekli).`,rec_invalid:`Bu program kaydedilemez (bitmiş).`,rec_now:`Şimdi kaydet`,rec_now_live:`Canlı kayıt`,rec_badge:`KAYIT`,dl_download:`İndir`,dl_downloading:`İndiriliyor %1$d%%`,dl_paused:`Duraklatıldı %1$d%%`,dl_done:`İndirildi · çevrimdışı oynatılabilir`,dl_failed:`İndirme başarısız · tekrar dene`,dl_pause:`Duraklat`,dl_resume:`Devam et`,dl_delete:`İndirmeyi sil`,dl_queued:`Sırada`,dl_started:`İndirme sıraya eklendi`,set_sources:`Kaynaklar`,set_player:`Oynatıcı`,set_appearance:`Görünüm ve dil`,set_epg:`Yayın akışı (EPG)`,set_parental:`Ebeveyn kontrolü`,set_hidden:`Gizlenenler`,set_storage:`Depolama`,set_backup:`Yedekle / Geri yükle`,set_update:`Güncelleme`,set_about:`Hakkında`,set_on:`Açık`,set_off:`Kapalı`,set_active:`Etkin kaynak`,set_make_active:`Etkin yap`,set_edit:`Düzenle`,set_resync:`Şimdi yenile`,set_delete_source:`Kaynağı sil`,set_delete_confirm:`"%1$s" ve tüm verileri silinsin mi?`,set_add_source:`Yeni kaynak ekle`,set_last_sync:`Son yenileme: %1$s`,set_never:`hiç`,set_account:`Hesap bilgisi`,set_account_status:`Durum: %1$s`,set_account_expiry:`Bitiş: %1$s`,set_account_unlimited:`süresiz`,set_account_connections:`Bağlantı: %1$s / %2$s`,set_account_trial:`Deneme hesabı`,set_account_loading:`Hesap bilgisi alınıyor…`,set_account_none:`Hesap bilgisi yalnızca Xtream kaynaklarında gösterilir.`,set_buffer:`Tampon süresi`,set_buffer_value:`%1$d sn`,set_decoder:`Çözücü modu`,set_decoder_hw:`Donanım (önerilen)`,set_decoder_sw:`Yazılım öncelikli (FFmpeg)`,set_preview:`Canlı TV'de önizleme oynat`,set_auto_next:`Sonraki bölümü otomatik oynat`,set_timeshift:`Duraklatınca zaman kaydırma`,set_fallback:`Kanal açılmazsa önceki kanala dön`,set_audio_lang:`Tercih edilen ses dili`,set_sub_lang:`Tercih edilen altyazı`,set_sub_size:`Altyazı boyutu`,set_lang_default:`Yayının varsayılanı`,set_aspect:`Varsayılan görüntü oranı`,set_start:`Açılış ekranı`,start_home:`Ana sayfa`,start_live:`Canlı TV`,start_guide:`Rehber`,start_movies:`Filmler`,start_series:`Diziler`,start_last:`Son izlenen kanal`,set_numbering:`Kanal numaralandırma`,numbering_global:`Tüm liste`,numbering_category:`Kategori içi`,set_language:`Uygulama dili`,lang_tr:`Türkçe`,lang_en:`English`,lang_system:`Cihaz dili`,set_epg_interval:`Otomatik yenileme aralığı`,set_epg_hours:`%1$d saat`,set_epg_offset:`EPG saat kaydırması`,set_epg_offset_value:`%1$+d dk`,set_epg_refresh:`Yayın akışını şimdi güncelle`,set_epg_urls:`Harici XMLTV adresleri kaynak düzenleme ekranından eklenir.`,set_pin_set:`PIN belirle`,set_pin_change:`PIN değiştir`,set_pin_remove:`PIN kaldır`,set_pin_saved:`PIN kaydedildi`,set_pin_removed:`PIN kaldırıldı`,set_pin_confirm:`PIN'i tekrar girin`,set_pin_mismatch:`PIN'ler eşleşmedi`,set_hide_locked:`Kilitli kategorileri tamamen gizle`,set_adult_lock:`Yetişkin kategorilerini otomatik kilitle`,set_parental_hint:`Kategori kilitlemek için Canlı TV'de kategoriye uzun basın.`,set_hidden_categories:`Gizli kategoriler`,set_hidden_channels:`Gizli kanallar`,set_hidden_none:`Gizlenmiş öğe yok.`,set_unhide:`Göster (gizlemeyi kaldır)`,set_backup_now:`Şimdi yedekle`,set_backup_done:`Yedek kaydedildi: %1$s`,set_backup_warning:`Yedek dosyası kaynak parolalarını içerir; güvenli saklayın.`,set_restore:`Geri yükle`,set_restore_none:`Kayıtlı yedek bulunamadı.`,set_restore_confirm:`Bu yedek geri yüklensin mi? Mevcut kaynaklar ve tercihler değiştirilecek.`,set_restore_done:`Yedek geri yüklendi; kaynaklar yenileniyor.`,set_restore_file:`Dosyadan seç`,set_update_check:`Güncellemeleri denetle`,set_update_none:`Uygulama güncel (%1$s).`,set_update_available:`Yeni sürüm: %1$s`,set_update_install:`İndir ve kur`,set_update_downloading:`İndiriliyor… %1$d%%`,set_update_failed:`Güncelleme denetlenemedi. Bağlantınızı kontrol edin.`,set_update_permission:`Kurulum için "Bilinmeyen uygulamaları yükle" izni gerekiyor.`,set_version:`Sürüm %1$s`,set_about_text:`UtopyaTV yalnızca bir oynatıcıdır; içerik sağlamaz. Kendi aboneliğinizin bilgilerini girerek kullanın.`,set_keys:`Kumanda kısayolları`,set_keys_text:`OK/◀: kanal listesi · ▶: yayın akışı · ▲▼/CH±: kanal · 0-9: kanal no · Kırmızı: favori · Yeşil: ses · Sarı: altyazı · Mavi: görüntü oranı · ⏯: duraklat (zaman kaydırma) · MENU/uzun OK: seçenekler`,player_fallback:`Kanal açılamadı; önceki kanala dönüldü.`,mv_title:`Çoklu ekran`,mv_add:`Ekle`,mv_add_channel:`Kanal ekle`,mv_add_movie:`Film ekle`,mv_layout:`Düzen`,mv_layout_2:`İkili (yan yana)`,mv_layout_4:`Dörtlü (ızgara)`,mv_replace:`Değiştir`,mv_remove:`Kaldır`,mv_fullscreen:`Tam ekranda izle`,mv_empty_slot:`+ OK ile içerik ekle`,mv_hint:`◀▲▼▶ pencere seç (ses odaktakinden gelir) · OK seçenekler · MENU düzen`,mv_warn_decoder:`Bu cihaz aynı anda en fazla %1$d video çözebilir; bazı pencereler oynatılamayabilir.`,mv_warn_connections:`Hesabınız aynı anda %1$d bağlantıya izin veriyor; fazla pencere açılamayabilir.`,mv_open:`Çoklu ekranda aç`,mv_pick_channel:`Kanal seç`,mv_pick_movie:`Film seç`,ext_none:`Harici oynatıcı bulunamadı. VLC veya MX Player'ı Play Store'dan kurabilirsiniz.`,ext_choose:`Oynatıcı seçin`,player_speed:`Oynatma hızı`,player_sleep:`Uyku zamanlayıcısı`,sleep_off:`Kapalı`,sleep_minutes:`%1$d dakika sonra`,sleep_triggered:`Uyku zamanlayıcısı oynatmayı durdurdu.`,sleep_set:`Uyku zamanlayıcısı: %1$d dk`,exit_title:`Çıkış`,exit_message:`UtopyaTV'den çıkmak istiyor musunuz?`,player_info:`Yayın bilgisi`,info_video:`Görüntü: %1$s`,info_audio:`Ses: %1$s`,info_none:`Bilgi yok`,info_buffer:`Tampon: %1$s`,vod_prev_ep:`Önceki bölüm`,vod_next_ep:`Sonraki bölüm`,shelf_similar:`Benzer içerikler`,start_first_fav:`İlk favori kanal`,numbering_hidden:`Gizli`,set_accent:`Tema rengi`,accent_blue:`Mavi`,accent_orange:`Turuncu`,accent_green:`Yeşil`,accent_purple:`Mor`,accent_red:`Kırmızı`,set_color_keys:`Renkli tuşlar`,key_red:`Kırmızı tuş`,key_green:`Yeşil tuş`,key_yellow:`Sarı tuş`,key_blue:`Mavi tuş`,act_favorite:`Favori ekle/çıkar`,act_audio:`Ses dili`,act_subtitles:`Altyazı`,act_aspect:`Görüntü oranı`,act_guide:`Yayın akışı`,act_channels:`Kanal listesi`,act_record:`Şimdi kaydet`,act_multiview:`Çoklu ekran`,act_info:`Bilgi bandı`,act_none:`Hiçbiri`,set_remember_tracks:`Seçtiğim ses/altyazı dilini hatırla`,menu_move_up:`Yukarı taşı`,menu_move_down:`Aşağı taşı`,set_test_connection:`Bağlantıyı test et`,set_connection_ok:`Bağlantı başarılı: kaynak çevrimiçi.`,rec_once:`Bir kez kaydet`,rec_daily:`Her gün kaydet`,rec_weekly:`Her hafta kaydet`,rec_repeat_daily:`Her gün`,rec_repeat_weekly:`Her hafta`,onb_stalker:`Stalker Portal`,onb_stalker_desc:`MAG portal adresi ve MAC`,onb_portal:`Portal adresi`,onb_mac:`MAC adresi`,tips_title:`Kumanda kısayolları`,tips_ok:`Anladım`,tip_ok:`OK: kanalı aç · Kanaldayken OK: kanal listesi`,tip_long:`OK'ye uzun bas: favori, gizle, kilitle, gruba ekle, çoklu ekran`,tip_numbers:`Rakam tuşları: kanal numarasına atla`,tip_updown:`Yayında ▲▼ veya CH+/CH−: kanal değiştir`,tip_right:`Yayında ►: yayın akışı · MENU: ses, altyazı, görüntü`,tip_colors:`Renkli tuşlar: favori / ses / altyazı / oran (Ayarlar'dan değişir)`,tip_back:`GERİ: menüye dön · Menüde GERİ: çıkış onayı`,onb_tagline:`Kendi IPTV aboneliğiniz için hızlı ve modern oynatıcı`,onb_feat_live:`Canlı TV ve yayın akışı (EPG), arşiv ve zaman kaydırma`,onb_feat_vod:`Film ve diziler; Netflix, HBO Max, Disney+ gibi platform grupları`,onb_feat_tools:`Kayıt, indirme ve aynı anda iki yayın (çoklu ekran)`,onb_no_content:`Uygulama içerik sağlamaz; kendi aboneliğinizin bilgilerini girersiniz.`,onb_how:`Nasıl bağlanmak istersiniz?`,onb_badge_common:`En yaygın`,onb_badge_easy:`Klavyesiz`,onb_form_qr_title:`Telefonla doldurun`,onb_form_qr_hint:`Uzun adresleri kumandayla yazmak yerine QR kodu okutun. Telefon ve TV aynı Wi-Fi ağında olmalı.`,onb_phone_step1:`Telefon kamerasıyla QR kodu okutun`,onb_phone_step2:`Açılan sayfada bilgilerinizi yazın`,onb_phone_step3:`Gönder'e basın, TV kendiliğinden bağlanır`,onb_hint_m3u:`Sağlayıcınızın verdiği M3U/M3U8 bağlantısını yazın. Birden çok listeyi birleştirmek için adresleri boşlukla ayırın.`,onb_hint_xtream:`Sağlayıcınızın verdiği sunucu adresi, kullanıcı adı ve parolayı yazın.`,onb_hint_stalker:`Portal adresini ve cihazınıza tanımlı MAC adresini yazın.`,onb_hint_file:`Cihazdaki bir .m3u dosyasını seçin.`,onb_optional:`İsteğe bağlı ayarlar`,live_categories:`Kategoriler`,live_channel_count:`%1$d kanal`,live_preview:`Kanal önizleme`,pc_channels:`Kanallar`,pc_picture:`Görüntü`,pc_favorite:`Favori`,pc_record:`Kaydet`,pc_more:`Diğer`,pc_info:`Bilgi`,pc_play:`Oynat`,pc_pause:`Duraklat`,pc_prev:`Önceki`,pc_next:`Sonraki`,pc_speed:`Hız`,mv_add_series:`Dizi ekle`,group_by:`Grupla: %1$s`,group_category:`Kategori`,group_country:`Ülke`,group_genre:`Tür`,group_platform:`Platform`,genre_adult:`Yetişkin`,genre_kids:`Çocuk`,genre_sports:`Spor`,genre_news:`Haber`,genre_docs:`Belgesel`,genre_music:`Müzik ve radyo`,genre_movies:`Film ve dizi`,genre_religion:`Dini`,genre_local:`Yerel`,genre_national:`Ulusal`,genre_uhd:`4K / UHD`,genre_other:`Diğer`,onb_jellyfin:`Jellyfin`,onb_jellyfin_desc:`Kendi medya sunucunuz`,onb_hint_jellyfin:`Jellyfin sunucu adresini (ör. http://192.168.1.10:8096), kullanıcı adınızı ve parolanızı yazın.`,sub_load:`Altyazı dosyası yükle (SRT)`,sub_offset:`Altyazı zamanlaması`,sub_loaded:`Altyazı yüklendi`,sub_failed:`Altyazı dosyası okunamadı`,sub_no_picker:`Bu cihazda dosya seçici yok`,set_sub_color:`Altyazı rengi`,set_sub_bg:`Altyazı arka planı`,color_white:`Beyaz`,color_yellow:`Sarı`,color_cyan:`Camgöbeği`,set_max_quality:`En yüksek video kalitesi`,quality_auto:`Otomatik`,vod_versions:`Sürümler (%1$d)`,vod_version_standard:`Standart`,set_theme:`Tema`,theme_navy:`Lacivert`,theme_amoled:`AMOLED siyah`,theme_graphite:`Grafit`,theme_forest:`Orman`,theme_wine:`Bordo`,set_home_shelves:`Ana sayfa rafları`,set_move_hint:`OK: aç/kapat · Uzun bas: yukarı taşı`,set_filter_words:`Kategori filtre kelimeleri`,set_filter_words_hint:`Kategori adlarından atılır, virgülle ayırın (ör. [RAW], FHD, VIP)`,set_none:`Yok`,set_rec_folder:`Kayıt klasörü`,set_rec_folder_default:`Uygulama deposu (yukarıdaki seçim)`,set_rec_folder_hint:`Biten kayıtlar seçilen klasöre (USB, ağ klasörü…) taşınır. Uzun bas: varsayılana dön.`,nav_extensions:`Eklentiler`,ext_add:`Eklenti ekle`,ext_url:`Eklenti adresi (manifest.json)`,ext_empty:`Henüz eklenti yok. Stremio uyumlu bir eklentinin manifest adresini ekleyin.`,ext_note:`Uygulama içerik sağlamaz; yalnızca kullanma hakkınız olan eklentileri ekleyin.`,ext_remove:`Eklentiyi kaldır`,ext_failed:`Eklenti eklenemedi: adres geçersiz ya da erişilemiyor.`,ext_find_sources:`Kaynakları bul`,ext_sources:`Kaynaklar`,ext_no_sources:`Oynatılabilir kaynak bulunamadı (torrent kaynakları desteklenmez).`,ext_installed:`Kurulu eklentiler`,ext_specials:`Özel bölümler`,sub_url_title:`Altyazı adresi (SRT)`,sub_url_hint:`Bu cihazda dosya seçici yok. Altyazının internet adresini girin.`,brand_short:`UtopyaTV`,os_account:`OpenSubtitles hesabı`,os_account_none:`Ayarlanmadı`,os_account_set:`Ayarlandı`,os_account_hint:`opensubtitles.com'dan ücretsiz API anahtarı alın. Kullanıcı adı/parola isteğe bağlıdır; girilirse günlük indirme hakkı artar.`,os_api_key:`API anahtarı`,os_username:`Kullanıcı adı (isteğe bağlı)`,os_password:`Parola (isteğe bağlı)`,set_auto_subs:`Altyazıyı otomatik bul (OpenSubtitles)`,set_auto_subs_hint:`Yayında seçili dilde altyazı yoksa doğru eşleşen altyazı getirilir`,sub_find:`Altyazı bul (OpenSubtitles)`,sub_searching:`Altyazı aranıyor…`,sub_found:`Altyazı yüklendi: %1$s`,sub_not_found:`Bu içerik için doğru eşleşen altyazı bulunamadı`,sub_no_key:`Ayarlar → Oynatıcı'dan OpenSubtitles API anahtarını girin`,sub_limit:`OpenSubtitles günlük indirme hakkı doldu`,home_hero:`Öne çıkan`,home_up_next:`Sıradaki bölüm`,home_tonight:`Bu akşam maçlar`,home_schedule:`Hatırlatıcılar ve kayıtlar`,home_top_movies:`En yüksek puanlı filmler`,home_top_series:`En yüksek puanlı diziler`,home_top_rated:`En yüksek puanlılar`,home_new_episodes:`Favori dizilerde yeni bölüm`,home_new_episode_badge:`YENİ BÖLÜM`,home_dismiss_new:`Yeni bölüm bildirimini kapat`,home_for_you:`Bugün ne izlesem?`,home_for_you_genres:`Bugün ne izlesem? · %1$s`,home_starting_soon:`Birazdan başlıyor`,home_reminder_badge:`HATIRLATICI`,home_open_channel:`Kanalı aç`,home_genres:`Türlere göz at`,home_edit:`Ana sayfayı düzenle`,home_edit_hint:`OK: taşı · ▲▼: sırayı değiştir · OK: bırak · ▶: aç/kapat`,home_edit_moving:`Taşınıyor`,home_edit_reset:`Varsayılana dön`,home_edit_hidden:`Kapalı raflar`,home_kind_movie:`FİLM`,home_kind_series:`DİZİ`,browse_movie_count:`%1$d film`,browse_series_count:`%1$d dizi`,password_show:`Parolayı göster`,password_hide:`Parolayı gizle`,home_details:`Detaylar`,home_live_now:`ŞİMDİ`,home_rec:`KAYIT`,menu_remove_continue:`İzlemeye devam et'ten kaldır`,menu_remove_up_next:`Sıradaki bölümden kaldır (izleme geçmişi silinir)`,menu_remove_recent:`Son izlenenlerden kaldır`,menu_open:`Aç`,os_phone_title:`Telefondan girin`,os_phone_hint:`QR kodu okutun, anahtarı telefonda yapıştırıp Gönder'e basın. Telefon ve TV aynı Wi-Fi ağında olmalı.`,tz_coming_soon:`Bu bölüm sonraki fazda gelecek.`,tz_feat_tools:`Altyazı arama, arşivden izleme ve ebeveyn kontrolü`,tz_m3u_file_desc:`TV'ye takılı USB bellekteki bir dosya`,tz_hint_file:`TV'ye takılı USB bellekteki bir .m3u dosyasını seçin.`,tz_usb_title:`USB bellekteki listeler`,tz_usb_empty:`Takılı USB bellekte .m3u dosyası bulunamadı. Belleği takıp yeniden deneyin.`,tz_reminder_title:`%1$s başlıyor`,tz_reminder_text:`%1$s kanalında`,tz_update_hint:`TizenBrew ile kurulduysa uygulamayı kapatıp yeniden açın. Paketle (.wgt) kurulduysa yeni paketi bilgisayardan yeniden kurun.`,tz_keys_text:`OK/◀: kanal listesi · ▶: yayın akışı · ▲▼/CH±: kanal · 0-9: kanal no · Kırmızı: favori · Yeşil: ses · Sarı: altyazı · Mavi: görüntü oranı · ⏯: duraklat · TOOLS/uzun OK: seçenekler`,tz_sub_offset_value:`%1$s sn`,tz_archive_hint:`◀▶ 30 sn · ⏪⏩ 2 dk · OK duraklat · ■ ya da uzun OK → Canlıya dön`,tz_remind_daily:`Her gün hatırlat`,tz_remind_weekly:`Her hafta hatırlat`,tz_rec_note:`Tizen'de yayın kaydı yapılamaz. Zamanlanan programlar başlamadan önce hatırlatılır, oradan kanala geçebilirsiniz.`,tz_onb_help_title:`İpuçları`,tz_onb_help_keyboard:`Uzun adresleri telefondaki SmartThings uygulamasının klavyesiyle yazabilirsiniz (TV ile aynı Wi-Fi'da).`,tz_onb_help_server:`Sunucu adresini sağlayıcınız verir; genellikle http://alanadi:8080 biçimindedir. Sondaki / gerekmez.`,tz_onb_help_creds:`Kullanıcı adı ve parola büyük/küçük harfe duyarlıdır. Parolayı kontrol etmek için yanındaki göz düğmesini kullanın.`,tz_onb_help_m3u:`Birden çok listeyi birleştirmek için adresleri boşlukla ayırın.`,tz_onb_help_file:`Listeyi (.m3u) USB belleğe kopyalayıp TV'ye takın, sonra "Dosya seç"e basın.`,tz_onb_help_epg:`Yayın akışı adresi isteğe bağlıdır; boş bırakırsanız sağlayıcının kendi akışı kullanılır.`,tz_onb_help_privacy:`Bilgileriniz yalnızca bu cihazda saklanır.`,tz_access_title:`Erişim anahtarı`,tz_access_text:`Bu uygulama kişisel kullanım içindir. Devam etmek için erişim anahtarını girin.`,tz_access_label:`Anahtar`,tz_access_continue:`Devam`,tz_access_checking:`Denetleniyor…`,tz_access_wrong:`Anahtar yanlış.`,tz_access_offline:`Anahtar denetlenemedi. İnternet bağlantısını kontrol edip tekrar deneyin.`,nav_library:`Kütüphanem`,ux_welcome:`Kaldığın yerden devam et.`,ux_last_channel:`Son izlediğin kanal`,ux_continue:`İzlemeye devam et`,ux_explore:`Keşfet`,ux_all_content:`Tüm içerikler`,ux_categories:`Kategoriler`,ux_genres:`Türler`,ux_platforms:`Platformlar`,ux_library_hint:`Kaydettiklerin, favorilerin ve eklentilerin bir arada.`,ux_recordings_hint:`Kayıtlar, indirmeler ve hatırlatıcılar`,ux_extensions_hint:`Kendi içerik eklentilerini yönet`,ux_fav_movies:`Favori filmlerim`,ux_fav_series:`Favori dizilerim`,ux_customize:`Kişiselleştir`,ux_settings_hint:`Uygulamayı izleme alışkanlığına göre düzenle.`,ux_resume_hint:`Son kanalın ve yarım kalan içeriklerin burada görünür.`,ux_loading:`İçerikler hazırlanıyor…`,ux_source:`Kaynak: %s`,ux_now_watching:`İzleniyor`,ux_text_size:`Yazı boyutu`,ux_text_size_hint:`Menü ve açıklamaların okunurluğu.`,ux_text_standard:`Standart`,ux_text_large:`Büyük`,ux_theme_desc:`Ekranın genel renk görünümü.`,ux_accent_desc:`Odak ve seçili öğelerde kullanılan renk.`,ux_start_desc:`Uygulama açıldığında gösterilecek bölüm.`,ux_shelves_desc:`Görünür rafları ve sıralarını düzenle.`,ux_keyboard_hint:`Ok tuşlarıyla gezin, Enter ile seç, Esc ile geri dön. Tab ile sıradaki öğeye geç.`,ux_video_audio:`Görüntü ve ses`,ux_appearance:`Görünüm`,ux_subtitles:`Altyazılar`,ux_controls:`Kumanda ve klavye`,ux_full_details:`Tüm ayrıntılar`},fn={app_name:`UtopyaTV`,loading:`Loading…`,ok:`OK`,cancel:`Cancel`,retry:`Retry`,save:`Save`,delete:`Delete`,back:`Back`,pin_wrong:`Wrong PIN`,pin_enter:`Enter PIN`,pin_new:`Set a new PIN`,nav_home:`Home`,nav_live:`Live TV`,nav_guide:`Guide`,nav_movies:`Movies`,nav_series:`Series`,nav_search:`Search`,nav_recordings:`Recordings`,nav_settings:`Settings`,empty_no_provider:`No source has been added yet.`,add_provider:`Add source`,empty_list:`Nothing to show here.`,error_network:`Could not reach the server. Check your internet connection and the address.`,error_timeout:`The server did not respond in time. Please try again.`,error_auth:`Wrong username or password.`,error_expired:`Your subscription has expired.`,error_not_found:`Address not found (404). Check the URL.`,error_server:`Server error. Try again later.`,error_parse:`Could not read the source; it may not be a valid M3U/Xtream source.`,error_empty:`No channels or content were found in the source.`,error_storage:`Not enough storage space.`,error_unknown:`An unexpected error occurred.`,onb_welcome:`Welcome to UtopyaTV`,onb_choose:`Choose a source type to get started. The app provides no content; enter your own subscription details.`,onb_m3u_url:`M3U URL`,onb_m3u_url_desc:`An M3U/M3U8 playlist on the internet`,onb_m3u_file:`Local M3U file`,onb_m3u_file_desc:`Pick a file on this device`,onb_xtream:`Xtream Codes`,onb_xtream_desc:`Server, username and password`,onb_phone:`Enter from phone`,onb_phone_desc:`Scan the QR code and type on your phone`,onb_name:`Source name`,onb_name_ph:`e.g. Home list`,onb_url:`Playlist URL`,onb_server:`Server URL`,onb_username:`Username`,onb_password:`Password`,onb_epg:`EPG (XMLTV) URL — optional`,onb_user_agent:`User-Agent — optional`,onb_live_format:`Live stream format`,onb_connect:`Connect`,onb_validating:`Validating details…`,onb_file_none:`No file picker on this device. You can upload the file with "Enter from phone".`,onb_file_chosen:`Selected file: %1$s`,onb_pick_file:`Choose file`,onb_phone_title:`Scan the QR code with your phone`,onb_phone_hint:`Phone and TV must be on the same Wi-Fi. Address: %1$s`,onb_phone_no_network:`No network found. Make sure the TV is connected via Wi-Fi or cable.`,onb_required:`Please fill in the required fields.`,sync_title:`Preparing source`,sync_connecting:`Connecting…`,sync_categories:`Fetching categories…`,sync_live:`Live channels: %1$d`,sync_movies:`Movies: %1$d`,sync_series:`Series: %1$d`,sync_epg:`Program guide: %1$d programs`,sync_done:`Ready!`,sync_failed:`Sync failed`,sync_continue:`Continue`,sync_background:`Continue in background`,cat_all:`All Channels`,cat_favorites:`Favorites`,cat_recent:`Recently Watched`,cat_locked_hint:`Locked`,no_program:`No program info`,now_label:`Now`,next_label:`Next`,menu_add_favorite:`Add to favorites`,menu_remove_favorite:`Remove from favorites`,menu_hide:`Hide`,menu_unhide:`Show`,menu_lock:`Lock with PIN`,menu_unlock:`Remove lock`,menu_pin_top:`Pin to top`,menu_unpin:`Unpin`,menu_add_to_group:`Add to group`,menu_remove_from_group:`Remove from group`,menu_new_group:`Create new group`,menu_delete_group:`Delete group`,menu_epg_mapping:`Fix EPG mapping`,menu_play_external:`Open in external player`,group_name:`Group name`,group_default_name:`My group %1$d`,pin_needed_first:`First set a PIN in Settings → Parental control.`,locked_content:`This content is locked`,channel_number:`Channel %1$s`,channel_not_found:`Channel not found`,player_error_network:`Could not connect to the stream. Check your connection.`,player_error_auth:`Access to the stream was denied (subscription or connection limit).`,player_error_not_found:`Stream not found; the source may be offline.`,player_error_format:`The stream format is not supported.`,player_error_decoder:`This device could not decode the stream. Try the software decoder in Settings.`,player_error_unknown:`The stream could not be played.`,player_error_timeout:`The server did not respond in time.`,player_error_server:`The stream server has a problem; try again shortly.`,player_error_limit:`Your account's simultaneous stream limit is reached. Stop playback on another device and retry.`,player_error_detail:`Detail: %1$s`,player_fallback_reason:`Channel failed to open (%1$s); switched back to the previous channel.`,player_retrying:`Retrying… (%1$d)`,player_audio:`Audio language`,player_subtitles:`Subtitles`,player_aspect:`Aspect ratio`,player_quality:`Video quality`,player_auto:`Auto`,player_off:`Off`,aspect_fit:`Fit`,aspect_fill:`Fill`,aspect_zoom:`Zoom`,player_options:`Options`,player_no_tracks:`No options`,player_live:`LIVE`,player_paused:`Paused`,player_go_live:`Back to live`,player_favorite_added:`Added to favorites`,player_favorite_removed:`Removed from favorites`,player_hint_live:`OK: controls · ◀ channels · ▶ guide · ▲▼ channel · MENU options`,live_empty_category:`No channels in this category.`,live_syncing:`Loading channels, please wait…`,minutes_left:`+%1$d min`,track_n:`Track %1$d`,epg_mapping_title:`EPG mapping`,epg_mapping_auto:`Automatic mapping`,epg_mapping_filter:`Search EPG channels`,epg_mapping_none:`No EPG channels for this source. Update the program guide first.`,epg_mapping_current:`Current mapping: %1$s`,guide_now:`Now`,guide_prev_day:`Previous day`,guide_next_day:`Next day`,guide_category:`Category: %1$s`,guide_watch:`Watch`,guide_watch_archive:`Watch from archive`,guide_remind:`Remind me`,guide_remind_off:`Cancel reminder`,guide_record:`Record`,guide_close:`Close`,guide_reminder_set:`Reminder set`,guide_no_data:`No guide data for this channel`,guide_search:`Search`,guide_hint:`◀ ▶ time · OK details · CH± page`,guide_empty:`No program guide yet. Check the source EPG URL or refresh it in Settings.`,nav_menu_title:`UtopyaTV`,guide_reminder_removed:`Reminder removed`,player_guide:`Program guide`,shelf_continue:`Continue watching`,shelf_recent:`Recently added`,shelf_favorites:`My favorites`,shelf_see_all:`See all`,vod_play:`Play`,vod_resume:`Resume (%1$s)`,vod_restart:`Start over`,vod_mark_watched:`Mark as watched`,vod_mark_unwatched:`Mark as unwatched`,vod_add_favorite:`Add to favorites`,vod_remove_favorite:`Remove from favorites`,vod_cast:`Cast: %1$s`,vod_director:`Director: %1$s`,vod_minutes:`%1$d min`,vod_season:`Season %1$d`,vod_episodes_loading:`Loading episodes…`,vod_no_episodes:`No episodes found.`,vod_episode_title:`Episode %1$d · %2$s`,vod_empty:`No movies/series in this source.`,vod_next_episode:`Next episode in %1$d s`,vod_play_now:`Play now`,vod_episodes:`Episodes`,vod_hint:`OK play/pause · ▲ controls · ◀▶ seek · ▼ episodes · MENU options`,vod_watched:`Watched`,locked_unlock:`Locked · press OK to unlock`,shelf_platforms:`Platforms`,shelf_genres:`Genres`,browse_all:`All`,sort_label:`Sort: %1$s`,genre_label:`Genre: %1$s`,sort_added:`Recently added`,sort_name:`A–Z`,sort_rating:`Rating`,sort_year:`Year`,browse_count:`%1$d titles`,search_hint:`Search channels, movies, series or programs`,search_voice:`Voice search`,search_recent:`Recent searches`,search_clear:`Clear history`,search_no_results:`No results for "%1$s".`,search_loading:`Searching…`,search_results:`Results`,browse_search_movies:`Search movies`,browse_search_series:`Search series`,search_channels:`Channels`,search_movies:`Movies`,search_series:`Series`,search_programs:`Programs`,search_searching:`Searching…`,home_favorite_channels:`Favorite channels`,home_recent_channels:`Recently watched channels`,home_new_movies:`New movies`,home_new_series:`New series`,home_source:`Source: %1$s`,home_switch_source:`Switch source`,home_empty:`Go to Live TV, Movies or Series to get started. Favorites and continue watching will appear here.`,home_greeting_morning:`Good morning`,home_greeting_day:`Good afternoon`,home_greeting_evening:`Good evening`,player_archive:`ARCHIVE`,player_archive_hint:`◀▶ 30 s · ⏪⏩ 2 min · OK pause · MENU → Back to live`,archive_unavailable:`Could not build an archive URL for this program.`,guide_restart:`Start over`,player_timeshift:`TIMESHIFT`,timeshift_starting:`Starting timeshift…`,timeshift_failed:`Timeshift could not start; back to live.`,timeshift_hint:`◀▶ 30 s · ⏪⏩ 2 min · OK play/pause · MENU → Back to live`,timeshift_behind:`%1$s behind live`,rec_tab_recordings:`Recordings`,rec_tab_scheduled:`Scheduled`,rec_tab_downloads:`Downloads`,rec_storage:`Storage: %1$s · %2$s free`,rec_storage_internal:`Internal`,rec_storage_usb:`USB/SD %1$d`,rec_storage_pick:`Storage location`,rec_empty:`No recordings yet. Pick a program in the guide and press "Record", or use MENU → Record now while watching.`,rec_scheduled_empty:`No scheduled recordings.`,dl_empty:`No downloads. Press "Download" on a movie or episode page.`,rec_status_scheduled:`Scheduled`,rec_status_recording:`Recording`,rec_status_completed:`Completed`,rec_status_failed:`Failed`,rec_status_cancelled:`Cancelled`,rec_cancel:`Stop / cancel recording`,rec_delete:`Delete recording`,rec_play:`Play`,rec_scheduled_ok:`Recording scheduled: %1$s`,rec_conflict:`Another recording overlaps: %1$s. Record anyway? (If your account allows one connection, one may fail.)`,rec_no_space:`Not enough storage (at least 500 MB required).`,rec_invalid:`This program cannot be recorded (already ended).`,rec_now:`Record now`,rec_now_live:`Live recording`,rec_badge:`REC`,dl_download:`Download`,dl_downloading:`Downloading %1$d%%`,dl_paused:`Paused %1$d%%`,dl_done:`Downloaded · plays offline`,dl_failed:`Download failed · retry`,dl_pause:`Pause`,dl_resume:`Resume`,dl_delete:`Delete download`,dl_queued:`Queued`,dl_started:`Download queued`,set_sources:`Sources`,set_player:`Player`,set_appearance:`Appearance & language`,set_epg:`Program guide (EPG)`,set_parental:`Parental control`,set_hidden:`Hidden items`,set_storage:`Storage`,set_backup:`Backup / Restore`,set_update:`Update`,set_about:`About`,set_on:`On`,set_off:`Off`,set_active:`Active source`,set_make_active:`Make active`,set_edit:`Edit`,set_resync:`Refresh now`,set_delete_source:`Delete source`,set_delete_confirm:`Delete "%1$s" and all its data?`,set_add_source:`Add new source`,set_last_sync:`Last refresh: %1$s`,set_never:`never`,set_account:`Account info`,set_account_status:`Status: %1$s`,set_account_expiry:`Expires: %1$s`,set_account_unlimited:`unlimited`,set_account_connections:`Connections: %1$s / %2$s`,set_account_trial:`Trial account`,set_account_loading:`Fetching account info…`,set_account_none:`Account info is only available for Xtream sources.`,set_buffer:`Buffer length`,set_buffer_value:`%1$d s`,set_decoder:`Decoder mode`,set_decoder_hw:`Hardware (recommended)`,set_decoder_sw:`Prefer software (FFmpeg)`,set_preview:`Play preview in Live TV`,set_auto_next:`Autoplay next episode`,set_timeshift:`Timeshift on pause`,set_fallback:`Return to previous channel on failure`,set_audio_lang:`Preferred audio language`,set_sub_lang:`Preferred subtitles`,set_sub_size:`Subtitle size`,set_lang_default:`Stream default`,set_aspect:`Default aspect ratio`,set_start:`Startup screen`,start_home:`Home`,start_live:`Live TV`,start_guide:`Guide`,start_movies:`Movies`,start_series:`Series`,start_last:`Last watched channel`,set_numbering:`Channel numbering`,numbering_global:`Whole list`,numbering_category:`Within category`,set_language:`App language`,lang_tr:`Turkish`,lang_en:`English`,lang_system:`Device language`,set_epg_interval:`Auto refresh interval`,set_epg_hours:`%1$d hours`,set_epg_offset:`EPG time offset`,set_epg_offset_value:`%1$+d min`,set_epg_refresh:`Update program guide now`,set_epg_urls:`External XMLTV URLs are added in the source edit screen.`,set_pin_set:`Set PIN`,set_pin_change:`Change PIN`,set_pin_remove:`Remove PIN`,set_pin_saved:`PIN saved`,set_pin_removed:`PIN removed`,set_pin_confirm:`Re-enter PIN`,set_pin_mismatch:`PINs did not match`,set_hide_locked:`Hide locked categories entirely`,set_adult_lock:`Auto-lock adult categories`,set_parental_hint:`Long-press a category in Live TV to lock it.`,set_hidden_categories:`Hidden categories`,set_hidden_channels:`Hidden channels`,set_hidden_none:`No hidden items.`,set_unhide:`Show (unhide)`,set_backup_now:`Back up now`,set_backup_done:`Backup saved: %1$s`,set_backup_warning:`The backup file contains source passwords; keep it safe.`,set_restore:`Restore`,set_restore_none:`No saved backup found.`,set_restore_confirm:`Restore this backup? Current sources and preferences will be replaced.`,set_restore_done:`Backup restored; sources are refreshing.`,set_restore_file:`Choose file`,set_update_check:`Check for updates`,set_update_none:`App is up to date (%1$s).`,set_update_available:`New version: %1$s`,set_update_install:`Download & install`,set_update_downloading:`Downloading… %1$d%%`,set_update_failed:`Could not check for updates. Check your connection.`,set_update_permission:`Installing requires the "Install unknown apps" permission.`,set_version:`Version %1$s`,set_about_text:`UtopyaTV is a player only; it provides no content. Use it with your own subscription details.`,set_keys:`Remote shortcuts`,set_keys_text:`OK/◀: channel list · ▶: guide · ▲▼/CH±: channel · 0-9: channel no · Red: favorite · Green: audio · Yellow: subtitles · Blue: aspect · ⏯: pause (timeshift) · MENU/long OK: options`,player_fallback:`Channel failed; returned to the previous channel.`,mv_title:`Multi-view`,mv_add:`Add`,mv_add_channel:`Add channel`,mv_add_movie:`Add movie`,mv_layout:`Layout`,mv_layout_2:`Two (side by side)`,mv_layout_4:`Four (grid)`,mv_replace:`Replace`,mv_remove:`Remove`,mv_fullscreen:`Watch full screen`,mv_empty_slot:`+ Press OK to add content`,mv_hint:`◀▲▼▶ select window (audio follows focus) · OK options · MENU layout`,mv_warn_decoder:`This device can decode at most %1$d videos at once; some windows may not play.`,mv_warn_connections:`Your account allows %1$d simultaneous connections; extra windows may fail.`,mv_open:`Open in multi-view`,mv_pick_channel:`Pick a channel`,mv_pick_movie:`Pick a movie`,ext_none:`No external player found. You can install VLC or MX Player from the Play Store.`,ext_choose:`Choose a player`,player_speed:`Playback speed`,player_sleep:`Sleep timer`,sleep_off:`Off`,sleep_minutes:`After %1$d minutes`,sleep_triggered:`The sleep timer stopped playback.`,sleep_set:`Sleep timer: %1$d min`,exit_title:`Exit`,exit_message:`Do you want to exit UtopyaTV?`,player_info:`Stream info`,info_video:`Video: %1$s`,info_audio:`Audio: %1$s`,info_none:`No info`,info_buffer:`Buffer: %1$s`,vod_prev_ep:`Previous episode`,vod_next_ep:`Next episode`,shelf_similar:`More like this`,start_first_fav:`First favorite channel`,numbering_hidden:`Hidden`,set_accent:`Theme color`,accent_blue:`Blue`,accent_orange:`Orange`,accent_green:`Green`,accent_purple:`Purple`,accent_red:`Red`,set_color_keys:`Color keys`,key_red:`Red key`,key_green:`Green key`,key_yellow:`Yellow key`,key_blue:`Blue key`,act_favorite:`Toggle favorite`,act_audio:`Audio language`,act_subtitles:`Subtitles`,act_aspect:`Aspect ratio`,act_guide:`Program guide`,act_channels:`Channel list`,act_record:`Record now`,act_multiview:`Multi-view`,act_info:`Info banner`,act_none:`None`,set_remember_tracks:`Remember my audio/subtitle choice`,menu_move_up:`Move up`,menu_move_down:`Move down`,set_test_connection:`Test connection`,set_connection_ok:`Connection OK: the source is online.`,rec_once:`Record once`,rec_daily:`Record daily`,rec_weekly:`Record weekly`,rec_repeat_daily:`Daily`,rec_repeat_weekly:`Weekly`,onb_stalker:`Stalker Portal`,onb_stalker_desc:`MAG portal URL and MAC`,onb_portal:`Portal URL`,onb_mac:`MAC address`,tips_title:`Remote shortcuts`,tips_ok:`Got it`,tip_ok:`OK: open channel · OK while watching: channel list`,tip_long:`Long-press OK: favorite, hide, lock, add to group, multi-view`,tip_numbers:`Number keys: jump to channel number`,tip_updown:`While watching ▲▼ or CH+/CH−: change channel`,tip_right:`While watching ►: guide · MENU: audio, subtitles, picture`,tip_colors:`Color keys: favorite / audio / subtitles / aspect (change in Settings)`,tip_back:`BACK: return to menu · BACK in menu: confirm exit`,onb_tagline:`A fast, modern player for your own IPTV subscription`,onb_feat_live:`Live TV with program guide, catch-up and timeshift`,onb_feat_vod:`Movies and series grouped by Netflix, HBO Max, Disney+ and more`,onb_feat_tools:`Recording, downloads and two streams at once (multi-view)`,onb_no_content:`The app provides no content; you enter your own subscription details.`,onb_how:`How would you like to connect?`,onb_badge_common:`Most common`,onb_badge_easy:`No typing`,onb_form_qr_title:`Fill in from your phone`,onb_form_qr_hint:`Scan the QR code instead of typing long addresses with the remote. Phone and TV must be on the same Wi-Fi.`,onb_phone_step1:`Scan the QR code with your phone camera`,onb_phone_step2:`Enter your details on the page that opens`,onb_phone_step3:`Tap Send and the TV connects automatically`,onb_hint_m3u:`Enter the M3U/M3U8 link from your provider. To merge several lists, separate the addresses with spaces.`,onb_hint_xtream:`Enter the server address, username and password from your provider.`,onb_hint_stalker:`Enter the portal address and the MAC address registered for your device.`,onb_hint_file:`Choose an .m3u file on this device.`,onb_optional:`Optional settings`,live_categories:`Categories`,live_channel_count:`%1$d channels`,live_preview:`Channel preview`,pc_channels:`Channels`,pc_picture:`Picture`,pc_favorite:`Favorite`,pc_record:`Record`,pc_more:`More`,pc_info:`Info`,pc_play:`Play`,pc_pause:`Pause`,pc_prev:`Previous`,pc_next:`Next`,pc_speed:`Speed`,mv_add_series:`Add series`,group_by:`Group: %1$s`,group_category:`Category`,group_country:`Country`,group_genre:`Genre`,group_platform:`Platform`,genre_adult:`Adult`,genre_kids:`Kids`,genre_sports:`Sports`,genre_news:`News`,genre_docs:`Documentary`,genre_music:`Music and radio`,genre_movies:`Movies and series`,genre_religion:`Religious`,genre_local:`Local`,genre_national:`National`,genre_uhd:`4K / UHD`,genre_other:`Other`,onb_jellyfin:`Jellyfin`,onb_jellyfin_desc:`Your own media server`,onb_hint_jellyfin:`Enter your Jellyfin server address (e.g. http://192.168.1.10:8096), username and password.`,sub_load:`Load subtitle file (SRT)`,sub_offset:`Subtitle timing`,sub_loaded:`Subtitle loaded`,sub_failed:`Could not read subtitle file`,sub_no_picker:`No file picker on this device`,set_sub_color:`Subtitle color`,set_sub_bg:`Subtitle background`,color_white:`White`,color_yellow:`Yellow`,color_cyan:`Cyan`,set_max_quality:`Maximum video quality`,quality_auto:`Automatic`,vod_versions:`Versions (%1$d)`,vod_version_standard:`Standard`,set_theme:`Theme`,theme_navy:`Navy`,theme_amoled:`AMOLED black`,theme_graphite:`Graphite`,theme_forest:`Forest`,theme_wine:`Wine`,set_home_shelves:`Home shelves`,set_move_hint:`OK: show/hide · Long-press: move up`,set_filter_words:`Category filter words`,set_filter_words_hint:`Removed from category names, comma separated (e.g. [RAW], FHD, VIP)`,set_none:`None`,set_rec_folder:`Recording folder`,set_rec_folder_default:`App storage (selection above)`,set_rec_folder_hint:`Finished recordings are moved to the chosen folder (USB, network share…). Long-press: reset to default.`,nav_extensions:`Add-ons`,ext_add:`Add add-on`,ext_url:`Add-on address (manifest.json)`,ext_empty:`No add-ons yet. Add the manifest address of a Stremio-compatible add-on.`,ext_note:`The app provides no content; only add add-ons you are entitled to use.`,ext_remove:`Remove add-on`,ext_failed:`Could not add the add-on: invalid or unreachable address.`,ext_find_sources:`Find sources`,ext_sources:`Sources`,ext_no_sources:`No playable source found (torrent sources are not supported).`,ext_installed:`Installed add-ons`,ext_specials:`Specials`,sub_url_title:`Subtitle address (SRT)`,sub_url_hint:`This device has no file picker. Enter the subtitle's web address.`,brand_short:`UtopyaTV`,os_account:`OpenSubtitles account`,os_account_none:`Not set`,os_account_set:`Set`,os_account_hint:`Get a free API key from opensubtitles.com. Username/password are optional and raise the daily download limit.`,os_api_key:`API key`,os_username:`Username (optional)`,os_password:`Password (optional)`,set_auto_subs:`Find subtitles automatically (OpenSubtitles)`,set_auto_subs_hint:`If the stream has no subtitle in your language, a correctly matched one is fetched`,sub_find:`Find subtitles (OpenSubtitles)`,sub_searching:`Searching subtitles…`,sub_found:`Subtitle loaded: %1$s`,sub_not_found:`No correctly matching subtitle found for this title`,sub_no_key:`Enter your OpenSubtitles API key in Settings → Player`,sub_limit:`OpenSubtitles daily download limit reached`,home_hero:`Featured`,home_up_next:`Up next`,home_tonight:`Tonight's matches`,home_schedule:`Reminders and recordings`,home_top_movies:`Top rated movies`,home_top_series:`Top rated series`,home_top_rated:`Top rated`,home_new_episodes:`New episodes in your favorites`,home_new_episode_badge:`NEW EPISODE`,home_dismiss_new:`Dismiss new episode alert`,home_for_you:`What to watch today?`,home_for_you_genres:`What to watch today? · %1$s`,home_starting_soon:`Starting soon`,home_reminder_badge:`REMINDER`,home_open_channel:`Open channel`,home_genres:`Browse by genre`,home_edit:`Edit home`,home_edit_hint:`OK: move · ▲▼: reorder · OK: drop · ▶: show/hide`,home_edit_moving:`Moving`,home_edit_reset:`Reset to default`,home_edit_hidden:`Hidden shelves`,home_kind_movie:`MOVIE`,home_kind_series:`SERIES`,browse_movie_count:`%1$d movies`,browse_series_count:`%1$d series`,password_show:`Show password`,password_hide:`Hide password`,home_details:`Details`,home_live_now:`NOW`,home_rec:`REC`,menu_remove_continue:`Remove from Continue watching`,menu_remove_up_next:`Remove from Up next (clears watch history)`,menu_remove_recent:`Remove from recently watched`,menu_open:`Open`,os_phone_title:`Enter from your phone`,os_phone_hint:`Scan the QR code, paste the key on your phone and tap Send. Phone and TV must be on the same Wi-Fi.`,tz_coming_soon:`This section is coming in a later phase.`,tz_feat_tools:`Subtitle search, catch-up and parental control`,tz_m3u_file_desc:`A file on a USB drive plugged into the TV`,tz_hint_file:`Choose an .m3u file on the USB drive plugged into the TV.`,tz_usb_title:`Playlists on USB drive`,tz_usb_empty:`No .m3u file found on the USB drive. Plug in the drive and try again.`,tz_reminder_title:`%1$s is starting`,tz_reminder_text:`on %1$s`,tz_update_hint:`If installed with TizenBrew, close and reopen the app. If installed as a package (.wgt), reinstall the new package from your computer.`,tz_keys_text:`OK/◀: channel list · ▶: guide · ▲▼/CH±: channel · 0-9: channel no · Red: favourite · Green: audio · Yellow: subtitles · Blue: aspect ratio · ⏯: pause · TOOLS/long OK: options`,tz_sub_offset_value:`%1$s s`,tz_archive_hint:`◀▶ 30 s · ⏪⏩ 2 min · OK pause · ■ or long OK → Back to live`,tz_remind_daily:`Remind every day`,tz_remind_weekly:`Remind every week`,tz_rec_note:`Recording is not possible on Tizen. Scheduled programs are reminded before they start, from where you can switch to the channel.`,tz_onb_help_title:`Tips`,tz_onb_help_keyboard:`You can type long addresses with the SmartThings app's keyboard on your phone (same Wi-Fi as the TV).`,tz_onb_help_server:`Your provider gives you the server address; it usually looks like http://domain:8080. No trailing / needed.`,tz_onb_help_creds:`Username and password are case-sensitive. Use the eye button next to the password to check it.`,tz_onb_help_m3u:`To merge several lists, separate the addresses with spaces.`,tz_onb_help_file:`Copy the list (.m3u) to a USB stick, plug it into the TV, then press "Choose file".`,tz_onb_help_epg:`The guide address is optional; if left empty, the provider's own guide is used.`,tz_onb_help_privacy:`Your details are stored only on this device.`,tz_access_title:`Access key`,tz_access_text:`This app is for personal use. Enter the access key to continue.`,tz_access_label:`Key`,tz_access_continue:`Continue`,tz_access_checking:`Checking…`,tz_access_wrong:`Wrong key.`,tz_access_offline:`The key could not be checked. Check the internet connection and try again.`,nav_library:`My library`,ux_welcome:`Pick up where you left off.`,ux_last_channel:`Your last channel`,ux_continue:`Continue watching`,ux_explore:`Explore`,ux_all_content:`All titles`,ux_categories:`Categories`,ux_genres:`Genres`,ux_platforms:`Platforms`,ux_library_hint:`Your recordings, favorites and extensions in one place.`,ux_recordings_hint:`Recordings, downloads and reminders`,ux_extensions_hint:`Manage your content extensions`,ux_fav_movies:`Favorite movies`,ux_fav_series:`Favorite series`,ux_customize:`Personalize`,ux_settings_hint:`Make the app work for the way you watch.`,ux_resume_hint:`Your last channel and unfinished titles appear here.`,ux_loading:`Loading your content…`,ux_source:`Source: %s`,ux_now_watching:`Watching`,ux_text_size:`Text size`,ux_text_size_hint:`Readability of menus and descriptions.`,ux_text_standard:`Standard`,ux_text_large:`Large`,ux_theme_desc:`The overall color appearance.`,ux_accent_desc:`The color used for focus and selection.`,ux_start_desc:`The section shown when the app opens.`,ux_shelves_desc:`Choose and arrange the shelves you see.`,ux_keyboard_hint:`Use arrows to navigate, Enter to select, Esc to go back and Tab for the next item.`,ux_video_audio:`Picture and sound`,ux_appearance:`Appearance`,ux_subtitles:`Subtitles`,ux_controls:`Remote and keyboard`,ux_full_details:`Full details`},pn=`utopya.lang`,mn={tr:dn,en:fn};function hn(){try{return localStorage.getItem(pn)===`en`?`en`:`tr`}catch(e){return`tr`}}var gn=I(hn());function _n(e){gn.value=e;try{localStorage.setItem(pn,e)}catch(e){}}function R(e,...t){var n,r;let i=(n=(r=mn[gn.value][e])==null?dn[e]:r)==null?e:n,a=0;return t.length?i.replace(/%(?:(\d)\$)?(\+)?[sd]/g,(e,n,r)=>{let i=t[n?n-1:a++];return r&&typeof i==`number`&&i>=0?`+${i}`:String(i)}):i}var vn=(e,t)=>e.replace(/(image\.tmdb\.org\/t\/p\/)(original|w\d+)\//,(e,n,r)=>r!==`original`&&+r.slice(1)<=t?e:`${n}w${t}/`),yn=null,bn=e=>{let t=e.getAttribute(`data-src`);t&&e.getAttribute(`src`)!==t&&(e.src=t)};function xn(){return yn||(yn=new IntersectionObserver(e=>{for(let t of e){let e=t.target;if(t.intersectionRatio>0){bn(e);let t=e.closest(`.shelf-row > *`),n=t&&t.nextElementSibling;n&&Array.prototype.forEach.call(n.querySelectorAll(`img[data-src]`),bn)}else e.getAttribute(`src`)&&!e.complete&&e.removeAttribute(`src`)}},{rootMargin:`20% 0px`}),yn)}function Sn(e){let t=F(null);return P(()=>{let e=t.current;e.getAttribute(`src`)&&e.removeAttribute(`src`);let n=xn();return n.observe(e),()=>n.unobserve(e)},[e.src]),j(`img`,{ref:t,"data-src":e.src,decoding:`async`,alt:e.alt||``,class:e.class,onLoad:e=>xn().unobserve(e.currentTarget),onError:e.onError})}var Cn={search:`M15.5 14h-.79l-.28-.27A6.47 6.47 0 0 0 16 9.5 6.5 6.5 0 1 0 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z`,play:`M8 5v14l11-7z`,pause:`M6 19h4V5H6v14zm8-14v14h4V5h-4z`,check:`M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z`,star:`M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z`,starOutline:`M22 9.24l-7.19-.62L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21 12 17.27 18.18 21l-1.63-7.03L22 9.24zM12 15.4l-3.76 2.27 1-4.28-3.32-2.88 4.38-.38L12 6.1l1.71 4.04 4.38.38-3.32 2.88 1 4.28L12 15.4z`,lock:`M18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zm-6 9c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2zm3.1-9H8.9V6c0-1.71 1.39-3.1 3.1-3.1 1.71 0 3.1 1.39 3.1 3.1v2z`,pin:`M16 9V4h1c.55 0 1-.45 1-1s-.45-1-1-1H7c-.55 0-1 .45-1 1s.45 1 1 1h1v5c0 1.66-1.34 3-3 3v2h5.97v7l1 1 1-1v-7H19v-2c-1.66 0-3-1.34-3-3z`,tune:`M3 17v2h6v-2H3zM3 5v2h10V5H3zm10 16v-2h8v-2h-8v-2h-2v6h2zM7 9v2H3v2h4v2h2V9H7zm14 4v-2H11v2h10zm-6-4h2V7h4V5h-4V3h-2v6z`,list:`M3 13h2v-2H3v2zm0 4h2v-2H3v2zm0-8h2V7H3v2zm4 4h14v-2H7v2zm0 4h14v-2H7v2zM7 7v2h14V7H7z`,guide:`M19 3h-1V1h-2v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H5V8h14v11zM7 10h5v5H7z`,audio:`M12 3v10.55c-.59-.34-1.27-.55-2-.55-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4V7h4V3h-6z`,subtitles:`M20 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zM4 12h4v2H4v-2zm10 6H4v-2h10v2zm6 0h-4v-2h4v2zm0-4H10v-2h10v2z`,aspect:`M19 12h-2v3h-3v2h5v-5zM7 9h3V7H5v5h2V9zm14-6H3c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16.01H3V4.99h18v14.02z`,edit:`M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04a.996.996 0 0 0 0-1.41l-2.34-2.34a.996.996 0 0 0-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z`,more:`M6 10c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm12 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm-6 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z`,error:`M11 15h2v2h-2zm0-8h2v6h-2zm.99-5C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z`,dns:`M20 13H4c-.55 0-1 .45-1 1v6c0 .55.45 1 1 1h16c.55 0 1-.45 1-1v-6c0-.55-.45-1-1-1zM7 19c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2zM20 3H4c-.55 0-1 .45-1 1v6c0 .55.45 1 1 1h16c.55 0 1-.45 1-1V4c0-.55-.45-1-1-1zM7 9c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2z`,link:`M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z`,qr:`M3 11h8V3H3v8zm2-6h4v4H5V5zM3 21h8v-8H3v8zm2-6h4v4H5v-4zM13 3v8h8V3h-8zm6 6h-4V5h4v4zM13 13h2v2h-2zM15 15h2v2h-2zM13 17h2v2h-2zM17 17h2v2h-2zM19 19h2v2h-2zM15 19h2v2h-2zM17 13h2v2h-2zM19 15h2v2h-2z`,file:`M6 2c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6H6zm7 7V3.5L18.5 9H13z`,live:`M21 6h-7.59l3.29-3.29L16 2l-4 4-4-4-.71.71L10.59 6H3c-1.1 0-2 .89-2 2v12c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2V8c0-1.11-.9-2-2-2zm0 14H3V8h18v12zM9 10v8l7-4z`,movie:`M18 4l2 4h-3l-2-4h-2l2 4h-3l-2-4H8l2 4H7L5 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V4h-4z`,grid:`M3 13h8V3H3v10zm0 8h8v-6H3v6zm10 0h8V11h-8v10zm0-18v6h8V3h-8z`,chevron:`M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z`,add:`M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z`,visibility:`M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z`,visibilityOff:`M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46C3.08 8.3 1.78 10.02 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78l3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z`,back:`M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z`,folder:`M10 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2h-8l-2-2z`,settings:`M19.14 12.94c.04-.3.06-.61.06-.94 0-.32-.02-.64-.07-.94l2.03-1.58a.49.49 0 0 0 .12-.61l-1.92-3.32a.49.49 0 0 0-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94l-.36-2.54a.48.48 0 0 0-.48-.41h-3.84c-.24 0-.43.17-.47.41l-.36 2.54c-.59.24-1.13.57-1.62.94l-2.39-.96a.49.49 0 0 0-.59.22L2.74 8.87c-.12.21-.08.47.12.61l2.03 1.58c-.05.3-.09.63-.09.94s.02.64.07.94l-2.03 1.58a.49.49 0 0 0-.12.61l1.92 3.32c.12.22.37.29.59.22l2.39-.96c.5.38 1.03.7 1.62.94l.36 2.54c.05.24.24.41.48.41h3.84c.24 0 .44-.17.47-.41l.36-2.54c.59-.24 1.13-.56 1.62-.94l2.39.96c.22.08.47 0 .59-.22l1.92-3.32c.12-.22.07-.47-.12-.61l-2.01-1.58zM12 15.6A3.6 3.6 0 1 1 12 8.4a3.6 3.6 0 0 1 0 7.2z`};function wn(e){return j(`div`,{class:`loading-row${e.small?` small`:``}${e.page?` page`:``}`,children:[j(`div`,{class:`spinner`}),j(`span`,{children:e.label||R(`loading`)})]})}function Tn(e){let t=F(null),[n,r]=N(!1),i=j(`div`,{class:`field-box`,"data-focus":!0,"data-focus-default":e.initial||void 0,onClick:()=>t.current.focus(),children:j(`input`,{ref:t,tabIndex:-1,type:e.password&&!n?`password`:`text`,value:e.value,placeholder:e.placeholder,autocomplete:`off`,autocapitalize:`off`,spellcheck:!1,onInput:t=>e.onInput(t.currentTarget.value)})});return j(`div`,{class:`field ${e.class||``}`,children:[j(`span`,{class:`field-label`,children:e.label}),e.password?j(`div`,{class:`field-row`,children:[i,j(`button`,{class:`eye-btn`,"data-focus":!0,"aria-label":R(n?`password_hide`:`password_show`),onClick:()=>r(e=>!e),children:j(z,{name:n?`visibilityOff`:`visibility`})})]}):i]})}function z({name:e,class:t}){return j(`svg`,{class:t?`icon ${t}`:`icon`,viewBox:`0 0 24 24`,"aria-hidden":`true`,children:j(`path`,{d:Cn[e],fill:`currentColor`})})}function En(e){let t=F(null),n=F(document.activeElement);return P(()=>(L(t.current),()=>{var e;return(e=n.current)==null?void 0:e.focus()}),[]),tn(t=>t===`back`?(e.onDismiss(),!0):`default`),j(`div`,{class:`scrim`,"data-focus-scope":!0,children:j(`div`,{class:`dialog glass`,ref:t,role:`dialog`,children:[j(`h2`,{children:e.title}),j(`p`,{children:e.message}),j(`div`,{class:`row`,children:[j(`button`,{class:`btn`,"data-focus":!0,"data-focus-default":!0,onClick:e.onConfirm,children:e.confirmLabel||R(`ok`)}),j(`button`,{class:`btn`,"data-focus":!0,onClick:e.onDismiss,children:R(`cancel`)})]})]})})}var Dn=I(null),On;function B(e){Dn.value=e,clearTimeout(On),On=window.setTimeout(()=>Dn.value=null,2e3)}function kn(){return Dn.value?j(`div`,{class:`toast`,children:Dn.value}):null}function An(e){let t=F(null),n=F(document.activeElement);P(()=>(L(t.current),()=>n.current&&n.current.isConnected&&n.current.focus()),[]),tn(t=>t===`back`?(e.onClose(),!0):`default`);let r=e.items.some(e=>e.checked);return j(`div`,{class:`scrim`,"data-focus-scope":!0,children:j(`div`,{class:`menu-dialog`,ref:t,role:`dialog`,children:[j(`h2`,{children:e.title}),j(`div`,{class:`menu-list`,children:e.items.map((t,n)=>j(`button`,{class:`menu-item${t.checked?` checked`:``}`,"data-focus":!0,"data-focus-default":(r?t.checked:n===0)||void 0,onClick:()=>{e.onClose(),t.onSelect()},children:[t.label,t.checked&&j(z,{name:`check`})]},n))})]})})}function jn(e){let[t,n]=N(``),r=F(void 0),i=F(e);return i.current=e,P(()=>()=>clearTimeout(r.current),[]),{digits:t,push:e=>{let a=(t+e).slice(0,4);clearTimeout(r.current);let o=()=>{n(``);let e=parseInt(a,10);e>0&&i.current(e)};a.length===4?o():(n(a),r.current=window.setTimeout(o,1500))}}}function Mn({digits:e}){return e?j(`div`,{class:`number-box`,children:e}):null}function Nn(e){let[t,n]=N(``),[r,i]=N(!1),a=F(null),o=F(document.activeElement);P(()=>(L(a.current),()=>o.current&&o.current.isConnected&&o.current.focus()),[]);let s=r=>{let a=(t+r).slice(0,4);a.length<4?(n(a),i(!1)):(n(``),e.check(a)?e.onDone(a):i(!0))};return tn((r,i)=>r===`back`&&i.keyCode!==8?(e.onClose(),!0):r.startsWith(`digit`)?(s(r.slice(5)),!0):i.keyCode===8||i.keyCode===46?(n(t.slice(0,-1)),!0):`default`),j(`div`,{class:`scrim`,"data-focus-scope":!0,children:j(`div`,{class:`pin-dialog`,ref:a,role:`dialog`,children:[j(`h2`,{children:e.title}),j(`p`,{class:`pin-dots`,children:[0,1,2,3].map(e=>e<t.length?`●`:`○`).join(` `)}),j(`p`,{class:`pin-error`,children:r?R(`pin_wrong`):`\xA0`}),j(`div`,{class:`pin-pad`,children:[`1`,`2`,`3`,`4`,`5`,`6`,`7`,`8`,`9`,`⌫`,`0`].map(e=>j(`button`,{class:`btn outline pin-key`,"data-focus":!0,"data-focus-default":e===`1`||void 0,onClick:()=>e===`⌫`?n(t.slice(0,-1)):s(e),children:e},e))})]})})}function Pn(e){let[t,n]=N(e.initial),r=F(null);return P(()=>{L(r.current)},[]),tn(t=>t===`back`?(e.onClose(),!0):`default`),j(`div`,{class:`scrim`,"data-focus-scope":!0,children:j(`div`,{class:`menu-dialog`,ref:r,role:`dialog`,children:[j(`h2`,{children:e.title}),j(Tn,{label:e.label,value:t,onInput:n,placeholder:e.placeholder,password:e.password,initial:!0}),j(`button`,{class:`btn primary`,"data-focus":!0,onClick:()=>{e.onClose(),e.onSave(t)},children:R(`save`)})]})})}function Fn({text:e,onClose:t}){let n=F(null);return P(()=>{L(n.current)},[]),tn(e=>e===`back`?(t(),!0):`default`),j(`div`,{class:`scrim`,"data-focus-scope":!0,children:j(`div`,{class:`dialog glass`,ref:n,role:`dialog`,children:[j(`p`,{children:e}),j(`button`,{class:`btn primary`,"data-focus":!0,"data-focus-default":!0,onClick:t,children:R(`ok`)})]})})}function In(e){let[t,n]=N(``),[r,i]=N(!1),[a,o]=N(null),s=F(null);return P(()=>{L(s.current)},[]),tn(t=>{if(t===`back`)return e.onExit(),!0}),j(`div`,{class:`onboarding`,ref:s,children:j(`div`,{class:`onb-choose`,children:[j(`div`,{class:`onb-brand`,children:[j(`div`,{class:`brand-mark`,children:j(z,{name:`play`})}),j(`h1`,{children:R(`app_name`)}),j(`p`,{class:`tagline muted`,children:R(`onb_tagline`)})]}),j(`div`,{class:`onb-options access-form`,children:[j(`h2`,{children:R(`tz_access_title`)}),j(`p`,{class:`muted`,children:R(`tz_access_text`)}),j(Tn,{label:R(`tz_access_label`),value:t,onInput:n,password:!0,initial:!0}),j(`button`,{class:`btn primary connect`,"data-focus":!0,onClick:async()=>{let e=t.trim();if(!e||r)return;i(!0),o(null);let n=await Ot(e);i(!1),n===`ok`?(At(e),Dt.value=!0):o(n)},children:R(r?`tz_access_checking`:`tz_access_continue`)}),a&&j(`p`,{class:`error-box`,children:R(a===`wrong`?`tz_access_wrong`:`tz_access_offline`)})]})]})})}function Ln({title:e}){return j(`section`,{class:`placeholder`,children:[j(`h1`,{children:e}),j(`p`,{class:`muted`,children:R(`tz_coming_soon`)})]})}var Rn=Uint8Array,zn=Uint16Array,Bn=Int32Array,Vn=new Rn([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),Hn=new Rn([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),Un=new Rn([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Wn=function(e,t){for(var n=new zn(31),r=0;r<31;++r)n[r]=t+=1<<e[r-1];for(var i=new Bn(n[30]),r=1;r<30;++r)for(var a=n[r];a<n[r+1];++a)i[a]=a-n[r]<<5|r;return{b:n,r:i}},Gn=Wn(Vn,2),Kn=Gn.b,qn=Gn.r;Kn[28]=258,qn[258]=28;var Jn=Wn(Hn,0),Yn=Jn.b;Jn.r;for(var Xn=new zn(32768),Zn=0;Zn<32768;++Zn){var Qn=(Zn&43690)>>1|(Zn&21845)<<1;Qn=(Qn&52428)>>2|(Qn&13107)<<2,Qn=(Qn&61680)>>4|(Qn&3855)<<4,Xn[Zn]=((Qn&65280)>>8|(Qn&255)<<8)>>1}for(var $n=(function(e,t,n){for(var r=e.length,i=0,a=new zn(t);i<r;++i)e[i]&&++a[e[i]-1];var o=new zn(t);for(i=1;i<t;++i)o[i]=o[i-1]+a[i-1]<<1;var s;if(n){s=new zn(1<<t);var c=15-t;for(i=0;i<r;++i)if(e[i])for(var l=i<<4|e[i],u=t-e[i],d=o[e[i]-1]++<<u,f=d|(1<<u)-1;d<=f;++d)s[Xn[d]>>c]=l}else for(s=new zn(r),i=0;i<r;++i)e[i]&&(s[i]=Xn[o[e[i]-1]++]>>15-e[i]);return s}),er=new Rn(288),Zn=0;Zn<144;++Zn)er[Zn]=8;for(var Zn=144;Zn<256;++Zn)er[Zn]=9;for(var Zn=256;Zn<280;++Zn)er[Zn]=7;for(var Zn=280;Zn<288;++Zn)er[Zn]=8;for(var tr=new Rn(32),Zn=0;Zn<32;++Zn)tr[Zn]=5;var nr=$n(er,9,1),rr=$n(tr,5,1),ir=function(e){for(var t=e[0],n=1;n<e.length;++n)e[n]>t&&(t=e[n]);return t},ar=function(e,t,n){var r=t/8|0;return(e[r]|e[r+1]<<8)>>(t&7)&n},or=function(e,t){var n=t/8|0;return(e[n]|e[n+1]<<8|e[n+2]<<16)>>(t&7)},sr=function(e){return(e+7)/8|0},cr=function(e,t,n){return(t==null||t<0)&&(t=0),(n==null||n>e.length)&&(n=e.length),new Rn(e.subarray(t,n))},lr=[`unexpected EOF`,`invalid block type`,`invalid length/literal`,`invalid distance`,`stream finished`,`no stream handler`,,`no callback`,`invalid UTF-8 data`,`extra field too long`,`date not in range 1980-2099`,`filename too long`,`stream finishing`,`invalid zip data`],ur=function(e,t,n){var r=Error(t||lr[e]);if(r.code=e,Error.captureStackTrace&&Error.captureStackTrace(r,ur),!n)throw r;return r},dr=function(e,t,n,r){var i=e.length,a=r?r.length:0;if(!i||t.f&&!t.l)return n||new Rn(0);var o=!n,s=o||t.i!=2,c=t.i;o&&(n=new Rn(i*3));var l=function(e){var t=n.length;if(e>t){var r=new Rn(Math.max(t*2,e));r.set(n),n=r}},u=t.f||0,d=t.p||0,f=t.b||0,p=t.l,m=t.d,h=t.m,g=t.n,_=i*8;do{if(!p){u=ar(e,d,1);var v=ar(e,d+1,3);if(d+=3,!v){var y=sr(d)+4,b=e[y-4]|e[y-3]<<8,x=y+b;if(x>i){c&&ur(0);break}s&&l(f+b),n.set(e.subarray(y,x),f),t.b=f+=b,t.p=d=x*8,t.f=u;continue}if(v==1)p=nr,m=rr,h=9,g=5;else if(v==2){var S=ar(e,d,31)+257,C=ar(e,d+10,15)+4,ee=S+ar(e,d+5,31)+1;d+=14;for(var w=new Rn(ee),T=new Rn(19),te=0;te<C;++te)T[Un[te]]=ar(e,d+te*3,7);d+=C*3;for(var E=ir(T),D=(1<<E)-1,O=$n(T,E,1),te=0;te<ee;){var k=O[ar(e,d,D)];d+=k&15;var y=k>>4;if(y<16)w[te++]=y;else{var ne=0,A=0;for(y==16?(A=3+ar(e,d,3),d+=2,ne=w[te-1]):y==17?(A=3+ar(e,d,7),d+=3):y==18&&(A=11+ar(e,d,127),d+=7);A--;)w[te++]=ne}}var re=w.subarray(0,S),ie=w.subarray(S);h=ir(re),g=ir(ie),p=$n(re,h,1),m=$n(ie,g,1)}else ur(1);if(d>_){c&&ur(0);break}}s&&l(f+131072);for(var ae=(1<<h)-1,oe=(1<<g)-1,se=d;;se=d){var ne=p[or(e,d)&ae],ce=ne>>4;if(d+=ne&15,d>_){c&&ur(0);break}if(ne||ur(2),ce<256)n[f++]=ce;else if(ce==256){se=d,p=null;break}else{var le=ce-254;if(ce>264){var te=ce-257,ue=Vn[te];le=ar(e,d,(1<<ue)-1)+Kn[te],d+=ue}var de=m[or(e,d)&oe],fe=de>>4;de||ur(3),d+=de&15;var ie=Yn[fe];if(fe>3){var ue=Hn[fe];ie+=or(e,d)&(1<<ue)-1,d+=ue}if(d>_){c&&ur(0);break}s&&l(f+131072);var j=f+le;if(f<ie){var pe=a-ie,M=Math.min(ie,j);for(pe+f<0&&ur(3);f<M;++f)n[f]=r[pe+f]}for(;f<j;++f)n[f]=n[f-ie]}}t.l=p,t.p=se,t.b=f,t.f=u,p&&(u=1,t.m=h,t.d=m,t.n=g)}while(!u);return f!=n.length&&o?cr(n,0,f):n.subarray(0,f)},fr=new Rn(0),pr=function(e){(e[0]!=31||e[1]!=139||e[2]!=8)&&ur(6,`invalid gzip data`);var t=e[3],n=10;t&4&&(n+=(e[10]|e[11]<<8)+2);for(var r=(t>>3&1)+(t>>4&1);r>0;r-=!e[n++]);return n+(t&2)},mr=function(){function e(e,t){typeof e==`function`&&(t=e,e={}),this.ondata=t;var n=e&&e.dictionary&&e.dictionary.subarray(-32768);this.s={i:0,b:n?n.length:0},this.o=new Rn(32768),this.p=new Rn(0),n&&this.o.set(n)}return e.prototype.e=function(e){if(this.ondata||ur(5),this.d&&ur(4),!this.p.length)this.p=e;else if(e.length){var t=new Rn(this.p.length+e.length);t.set(this.p),t.set(e,this.p.length),this.p=t}},e.prototype.c=function(e){this.s.i=+(this.d=e||!1);var t=this.s.b,n=dr(this.p,this.s,this.o);this.ondata(cr(n,t,this.s.b),this.d),this.o=cr(n,this.s.b-32768),this.s.b=this.o.length,this.p=cr(this.p,this.s.p/8|0),this.s.p&=7},e.prototype.push=function(e,t){this.e(e),this.c(t)},e}(),hr=function(){function e(e,t){this.v=1,this.r=0,mr.call(this,e,t)}return e.prototype.push=function(e,t){if(mr.prototype.e.call(this,e),this.r+=e.length,this.v){var n=this.p.subarray(this.v-1),r=n.length>3?pr(n):4;if(r>n.length){if(!t)return}else this.v>1&&this.onmember&&this.onmember(this.r-n.length);this.p=n.subarray(r),this.v=0}mr.prototype.c.call(this,0),this.s.f&&!this.s.l?(this.v=sr(this.s.p)+9,this.s={i:0},this.o=new Rn(0),this.push(new Rn(0),t)):t&&mr.prototype.c.call(this,t)},e}(),gr=typeof TextDecoder<`u`&&new TextDecoder;try{gr.decode(fr,{stream:!0})}catch(e){}function _r(e){"@babel/helpers - typeof";return _r=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},_r(e)}function vr(e,t){if(_r(e)!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(_r(r)!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function yr(e){var t=vr(e,`string`);return _r(t)==`symbol`?t:t+``}function br(e,t,n){return(t=yr(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var xr=class extends Error{constructor(e,t){super(t||e),br(this,`error`,void 0),this.error=e}},Sr=e=>`error_${e.toLowerCase()}`;function Cr(e){return e instanceof xr?e.error:e&&e.name===`QuotaExceededError`?`STORAGE`:`UNKNOWN`}var wr=e=>e,Tr=e=>e.trim().replace(/[.,]+$/,``);function Er(e,t){return new Promise((n,r)=>{let i=setTimeout(()=>r(new xr(`TIMEOUT`)),t);e.then(e=>{clearTimeout(i),n(e)},e=>{clearTimeout(i),r(e)})})}async function Dr(e,t=3e4){let n;try{n=await Er(fetch(wr(e),{credentials:`omit`}),t)}catch(e){throw e instanceof xr?e:new xr(`NETWORK`,String(e))}if(n.ok)return n;throw n.status===401||n.status===403?new xr(`AUTH`):n.status===404?new xr(`NOT_FOUND`):n.status>=500?new xr(`SERVER`,String(n.status)):new xr(`NETWORK`,String(n.status))}async function Or(e,t,n=6e4){let r=new TextDecoder(`utf-8`),i=e.body.getReader(),a,o=[],s=(e,t)=>{let n=r.decode(e,{stream:!t});n&&o.push(n)};try{for(;;){let{done:e,value:r}=await Er(i.read(),n);a===void 0&&r&&r.length&&(a=r[0]===31&&r[1]===139?new hr((e,t)=>s(e,t)):null),e?a?a.push(new Uint8Array,!0):s(new Uint8Array,!0):a?a.push(r):s(r,!1);let c=o;o=[];for(let e of c)if(await t(e)===!1){i.cancel();return}if(e)return}}catch(e){throw i.cancel(),e instanceof xr?e:new xr(`NETWORK`,String(e))}}function kr(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function V(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?kr(Object(n),!0).forEach(function(t){br(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):kr(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var Ar=typeof globalThis<`u`?globalThis:typeof self<`u`?self:typeof window<`u`?window:global,jr=Object.keys,Mr=Array.isArray;function Nr(e,t){return typeof t!=`object`||jr(t).forEach((function(n){e[n]=t[n]})),e}typeof Promise>`u`||Ar.Promise||(Ar.Promise=Promise);var Pr=Object.getPrototypeOf,Fr={}.hasOwnProperty;function Ir(e,t){return Fr.call(e,t)}function Lr(e,t){typeof t==`function`&&(t=t(Pr(e))),(typeof Reflect>`u`?jr:Reflect.ownKeys)(t).forEach((n=>{zr(e,n,t[n])}))}var Rr=Object.defineProperty;function zr(e,t,n,r){Rr(e,t,Nr(n&&Ir(n,`get`)&&typeof n.get==`function`?{get:n.get,set:n.set,configurable:!0}:{value:n,configurable:!0,writable:!0},r))}function Br(e){return{from:function(t){return e.prototype=Object.create(t.prototype),zr(e.prototype,`constructor`,e),{extend:Lr.bind(null,e.prototype)}}}}var Vr=Object.getOwnPropertyDescriptor;function Hr(e,t){let n;return Vr(e,t)||(n=Pr(e))&&Hr(n,t)}var Ur=[].slice;function Wr(e,t,n){return Ur.call(e,t,n)}function Gr(e,t){return t(e)}function Kr(e){if(!e)throw Error(`Assertion Failed`)}function qr(e){Ar.setImmediate?setImmediate(e):setTimeout(e,0)}function Jr(e,t){return e.reduce(((e,n,r)=>{var i=t(n,r);return i&&(e[i[0]]=i[1]),e}),{})}function Yr(e,t){if(typeof t==`string`&&Ir(e,t))return e[t];if(!t)return e;if(typeof t!=`string`){for(var n=[],r=0,i=t.length;r<i;++r){var a=Yr(e,t[r]);n.push(a)}return n}var o=t.indexOf(`.`);if(o!==-1){var s=e[t.substr(0,o)];return s==null?void 0:Yr(s,t.substr(o+1))}}function Xr(e,t,n){if(e&&t!==void 0&&(!(`isFrozen`in Object)||!Object.isFrozen(e))){if(typeof t!=`string`&&`length`in t){Kr(typeof n!=`string`&&`length`in n);for(var r=0,i=t.length;r<i;++r)Xr(e,t[r],n[r])}else{var a=t.indexOf(`.`);if(a!==-1){var o=t.substr(0,a),s=t.substr(a+1);if(s===``)n===void 0?Mr(e)&&!isNaN(parseInt(o))?e.splice(o,1):delete e[o]:e[o]=n;else{var c=e[o];c&&Ir(e,o)||(c=e[o]={}),Xr(c,s,n)}}else n===void 0?Mr(e)&&!isNaN(parseInt(t))?e.splice(t,1):delete e[t]:e[t]=n}}}function Zr(e){var t={};for(var n in e)Ir(e,n)&&(t[n]=e[n]);return t}var Qr=[].concat;function $r(e){return Qr.apply([],e)}var ei=`BigUint64Array,BigInt64Array,Array,Boolean,String,Date,RegExp,Blob,File,FileList,FileSystemFileHandle,FileSystemDirectoryHandle,ArrayBuffer,DataView,Uint8ClampedArray,ImageBitmap,ImageData,Map,Set,CryptoKey`.split(`,`).concat($r([8,16,32,64].map((e=>[`Int`,`Uint`,`Float`].map((t=>t+e+`Array`)))))).filter((e=>Ar[e])),ti=ei.map((e=>Ar[e]));Jr(ei,(e=>[e,!0]));var ni=null;function ri(e){ni=typeof WeakMap<`u`&&new WeakMap;let t=ii(e);return ni=null,t}function ii(e){if(!e||typeof e!=`object`)return e;let t=ni&&ni.get(e);if(t)return t;if(Mr(e)){t=[],ni&&ni.set(e,t);for(var n=0,r=e.length;n<r;++n)t.push(ii(e[n]))}else if(ti.indexOf(e.constructor)>=0)t=e;else{let n=Pr(e);for(var i in t=n===Object.prototype?{}:Object.create(n),ni&&ni.set(e,t),e)Ir(e,i)&&(t[i]=ii(e[i]))}return t}var{toString:ai}={};function oi(e){return ai.call(e).slice(8,-1)}var si=typeof Symbol<`u`?Symbol.iterator:`@@iterator`,ci=typeof si==`symbol`?function(e){var t;return e!=null&&(t=e[si])&&t.apply(e)}:function(){return null},li={};function ui(e){var t,n,r,i;if(arguments.length===1){if(Mr(e))return e.slice();if(this===li&&typeof e==`string`)return[e];if(i=ci(e)){for(n=[];!(r=i.next()).done;)n.push(r.value);return n}if(e==null)return[e];if(typeof(t=e.length)==`number`){for(n=Array(t);t--;)n[t]=e[t];return n}return[e]}for(t=arguments.length,n=Array(t);t--;)n[t]=arguments[t];return n}var di=typeof Symbol<`u`?e=>e[Symbol.toStringTag]===`AsyncFunction`:()=>!1,fi=typeof location<`u`&&/^(http|https):\/\/(localhost|127\.0\.0\.1)/.test(location.href);function pi(e,t){fi=e,mi=t}var mi=()=>!0,hi=!Error(``).stack;function gi(){if(hi)try{throw gi.arguments,Error()}catch(e){return e}return Error()}function _i(e,t){var n=e.stack;return n?(t=t||0,n.indexOf(e.name)===0&&(t+=(e.name+e.message).split(`
|
|
3
3
|
`).length),n.split(`
|
|
4
4
|
`).slice(t).filter(mi).map((e=>`
|
|
5
5
|
`+e)).join(``)):``}var vi=[`Unknown`,`Constraint`,`Data`,`TransactionInactive`,`ReadOnly`,`Version`,`NotFound`,`InvalidState`,`InvalidAccess`,`Abort`,`Timeout`,`QuotaExceeded`,`Syntax`,`DataClone`],yi=[`Modify`,`Bulk`,`OpenFailed`,`VersionChange`,`Schema`,`Upgrade`,`InvalidTable`,`MissingAPI`,`NoSuchDatabase`,`InvalidArgument`,`SubTransaction`,`Unsupported`,`Internal`,`DatabaseClosed`,`PrematureCommit`,`ForeignAwait`].concat(vi),bi={VersionChanged:`Database version changed by other database connection`,DatabaseClosed:`Database has been closed`,Abort:`Transaction aborted`,TransactionInactive:`Transaction has already completed or failed`,MissingAPI:`IndexedDB API missing. Please visit https://tinyurl.com/y2uuvskb`};function xi(e,t){this._e=gi(),this.name=e,this.message=t}function Si(e,t){return e+`. Errors: `+Object.keys(t).map((e=>t[e].toString())).filter(((e,t,n)=>n.indexOf(e)===t)).join(`
|
|
6
6
|
`)}function Ci(e,t,n,r){this._e=gi(),this.failures=t,this.failedKeys=r,this.successCount=n,this.message=Si(e,t)}function wi(e,t){this._e=gi(),this.name=`BulkError`,this.failures=Object.keys(t).map((e=>t[e])),this.failuresByPos=t,this.message=Si(e,t)}Br(xi).from(Error).extend({stack:{get:function(){return this._stack||(this._stack=this.name+`: `+this.message+_i(this._e,2))}},toString:function(){return this.name+`: `+this.message}}),Br(Ci).from(xi),Br(wi).from(xi);var Ti=yi.reduce(((e,t)=>(e[t]=t+`Error`,e)),{}),Ei=xi,H=yi.reduce(((e,t)=>{var n=t+`Error`;function r(e,r){this._e=gi(),this.name=n,e?typeof e==`string`?(this.message=`${e}${r?`
|
|
7
7
|
`+r:``}`,this.inner=r||null):typeof e==`object`&&(this.message=`${e.name} ${e.message}`,this.inner=e):(this.message=bi[t]||n,this.inner=null)}return Br(r).from(Ei),e[t]=r,e}),{});H.Syntax=SyntaxError,H.Type=TypeError,H.Range=RangeError;var Di=vi.reduce(((e,t)=>(e[t+`Error`]=H[t],e)),{}),Oi=yi.reduce(((e,t)=>([`Syntax`,`Type`,`Range`].indexOf(t)===-1&&(e[t+`Error`]=H[t]),e)),{});function U(){}function ki(e){return e}function Ai(e,t){return e==null||e===ki?t:function(n){return t(e(n))}}function ji(e,t){return function(){e.apply(this,arguments),t.apply(this,arguments)}}function Mi(e,t){return e===U?t:function(){var n=e.apply(this,arguments);n!==void 0&&(arguments[0]=n);var r=this.onsuccess,i=this.onerror;this.onsuccess=null,this.onerror=null;var a=t.apply(this,arguments);return r&&(this.onsuccess=this.onsuccess?ji(r,this.onsuccess):r),i&&(this.onerror=this.onerror?ji(i,this.onerror):i),a===void 0?n:a}}function Ni(e,t){return e===U?t:function(){e.apply(this,arguments);var n=this.onsuccess,r=this.onerror;this.onsuccess=this.onerror=null,t.apply(this,arguments),n&&(this.onsuccess=this.onsuccess?ji(n,this.onsuccess):n),r&&(this.onerror=this.onerror?ji(r,this.onerror):r)}}function Pi(e,t){return e===U?t:function(n){var r=e.apply(this,arguments);Nr(n,r);var i=this.onsuccess,a=this.onerror;this.onsuccess=null,this.onerror=null;var o=t.apply(this,arguments);return i&&(this.onsuccess=this.onsuccess?ji(i,this.onsuccess):i),a&&(this.onerror=this.onerror?ji(a,this.onerror):a),r===void 0?o===void 0?void 0:o:Nr(r,o)}}function Fi(e,t){return e===U?t:function(){return!1!==t.apply(this,arguments)&&e.apply(this,arguments)}}function Ii(e,t){return e===U?t:function(){var n=e.apply(this,arguments);if(n&&typeof n.then==`function`){for(var r=this,i=arguments.length,a=Array(i);i--;)a[i]=arguments[i];return n.then((function(){return t.apply(r,a)}))}return t.apply(this,arguments)}}Oi.ModifyError=Ci,Oi.DexieError=xi,Oi.BulkError=wi;var Li={},Ri=100,[zi,Bi,Vi]=typeof Promise>`u`?[]:(()=>{let e=Promise.resolve();if(typeof crypto>`u`||!crypto.subtle)return[e,Pr(e),e];let t=crypto.subtle.digest(`SHA-512`,new Uint8Array([0]));return[t,Pr(t),e]})(),Hi=Bi&&Bi.then,Ui=zi&&zi.constructor,Wi=!!Vi,Gi=!1,Ki=Vi?()=>{Vi.then(pa)}:Ar.setImmediate?setImmediate.bind(null,pa):Ar.MutationObserver?()=>{var e=document.createElement(`div`);new MutationObserver((()=>{pa(),e=null})).observe(e,{attributes:!0}),e.setAttribute(`i`,`1`)}:()=>{setTimeout(pa,0)},qi=function(e,t){ta.push([e,t]),Yi&&(Ki(),Yi=!1)},Ji=!0,Yi=!0,Xi=[],Zi=[],Qi=null,$i=ki,ea={id:`global`,global:!0,ref:0,unhandleds:[],onunhandled:Ra,pgp:!1,env:{},finalize:function(){this.unhandleds.forEach((e=>{try{Ra(e[0],e[1])}catch(e){}}))}},W=ea,ta=[],na=0,ra=[];function G(e){if(typeof this!=`object`)throw TypeError(`Promises must be constructed via new`);this._listeners=[],this.onuncatched=U,this._lib=!1;var t=this._PSD=W;if(fi&&(this._stackHolder=gi(),this._prev=null,this._numPrev=0),typeof e!=`function`){if(e!==Li)throw TypeError(`Not a function`);this._state=arguments[1],this._value=arguments[2],!1===this._state&&sa(this,this._value)}else this._state=null,this._value=null,++t.ref,oa(this,e)}var ia={get:function(){var e=W,t=Ca;function n(n,r){var i=!e.global&&(e!==W||t!==Ca);let a=i&&!Da();var o=new G(((t,o)=>{la(this,new aa(Fa(n,e,i,a),Fa(r,e,i,a),t,o,e))}));return fi&&fa(o,this),o}return n.prototype=Li,n},set:function(e){zr(this,`then`,e&&e.prototype===Li?ia:{get:function(){return e},set:ia.set})}};function aa(e,t,n,r,i){this.onFulfilled=typeof e==`function`?e:null,this.onRejected=typeof t==`function`?t:null,this.resolve=n,this.reject=r,this.psd=i}function oa(e,t){try{t((t=>{if(e._state===null){if(t===e)throw TypeError(`A promise cannot be resolved with itself.`);var n=e._lib&&ma();t&&typeof t.then==`function`?oa(e,((e,n)=>{t instanceof G?t._then(e,n):t.then(e,n)})):(e._state=!0,e._value=t,ca(e)),n&&ha()}}),sa.bind(null,e))}catch(t){sa(e,t)}}function sa(e,t){if(Zi.push(t),e._state===null){var n=e._lib&&ma();t=$i(t),e._state=!1,e._value=t,fi&&typeof t==`object`&&t&&!t._promise&&function(e,t,n){try{e.apply(null,n)}catch(e){t&&t(e)}}((()=>{var n=Hr(t,`stack`);t._promise=e,zr(t,`stack`,{get:()=>Gi?n&&(n.get?n.get.apply(t):n.value):e.stack})})),function(e){Xi.some((t=>t._value===e._value))||Xi.push(e)}(e),ca(e),n&&ha()}}function ca(e){var t=e._listeners;e._listeners=[];for(var n=0,r=t.length;n<r;++n)la(e,t[n]);var i=e._PSD;--i.ref||i.finalize(),na===0&&(++na,qi((()=>{--na==0&&ga()}),[]))}function la(e,t){if(e._state!==null){var n=e._state?t.onFulfilled:t.onRejected;if(n===null)return(e._state?t.resolve:t.reject)(e._value);++t.psd.ref,++na,qi(ua,[n,e,t])}else e._listeners.push(t)}function ua(e,t,n){try{Qi=t;var r,i=t._value;t._state?r=e(i):(Zi.length&&(Zi=[]),r=e(i),Zi.indexOf(i)===-1&&function(e){for(var t=Xi.length;t;)if(Xi[--t]._value===e._value)return void Xi.splice(t,1)}(t)),n.resolve(r)}catch(e){n.reject(e)}finally{Qi=null,--na==0&&ga(),--n.psd.ref||n.psd.finalize()}}function da(e,t,n){if(t.length===n)return t;var r=``;if(!1===e._state){var i,a,o=e._value;o==null?(i=o,a=``):(i=o.name||`Error`,a=o.message||o,r=_i(o,0)),t.push(i+(a?`: `+a:``)+r)}return fi&&((r=_i(e._stackHolder,2))&&t.indexOf(r)===-1&&t.push(r),e._prev&&da(e._prev,t,n)),t}function fa(e,t){var n=t?t._numPrev+1:0;n<100&&(e._prev=t,e._numPrev=n)}function pa(){ma()&&ha()}function ma(){var e=Ji;return Ji=!1,Yi=!1,e}function ha(){var e,t,n;do for(;ta.length>0;)for(e=ta,ta=[],n=e.length,t=0;t<n;++t){var r=e[t];r[0].apply(null,r[1])}while(ta.length>0);Ji=!0,Yi=!0}function ga(){var e=Xi;Xi=[],e.forEach((e=>{e._PSD.onunhandled.call(null,e._value,e)}));for(var t=ra.slice(0),n=t.length;n;)t[--n]()}function _a(e){return new G(Li,!1,e)}function va(e,t){var n=W;return function(){var r=ma(),i=W;try{return ja(n,!0),e.apply(this,arguments)}catch(e){t&&t(e)}finally{ja(i,!1),r&&ha()}}}Lr(G.prototype,{then:ia,_then:function(e,t){la(this,new aa(null,null,e,t,W))},catch:function(e){if(arguments.length===1)return this.then(null,e);var t=arguments[0],n=arguments[1];return typeof t==`function`?this.then(null,(e=>e instanceof t?n(e):_a(e))):this.then(null,(e=>e&&e.name===t?n(e):_a(e)))},finally:function(e){return this.then((t=>(e(),t)),(t=>(e(),_a(t))))},stack:{get:function(){if(this._stack)return this._stack;try{Gi=!0;var e=da(this,[],20).join(`
|
|
8
|
-
From previous: `);return this._state!==null&&(this._stack=e),e}finally{Gi=!1}}},timeout:function(e,t){return e<1/0?new G(((n,r)=>{var i=setTimeout((()=>r(new H.Timeout(t))),e);this.then(n,r).finally(clearTimeout.bind(null,i))})):this}}),typeof Symbol<`u`&&Symbol.toStringTag&&zr(G.prototype,Symbol.toStringTag,`Dexie.Promise`),ea.env=Ma(),Lr(G,{all:function(){var e=ui.apply(null,arguments).map(Oa);return new G((function(t,n){e.length===0&&t([]);var r=e.length;e.forEach(((i,a)=>G.resolve(i).then((n=>{e[a]=n,--r||t(e)}),n)))}))},resolve:e=>{if(e instanceof G)return e;if(e&&typeof e.then==`function`)return new G(((t,n)=>{e.then(t,n)}));var t=new G(Li,!0,e);return fa(t,Qi),t},reject:_a,race:function(){var e=ui.apply(null,arguments).map(Oa);return new G(((t,n)=>{e.map((e=>G.resolve(e).then(t,n)))}))},PSD:{get:()=>W,set:e=>W=e},totalEchoes:{get:()=>Ca},newPSD:Ta,usePSD:Na,scheduler:{get:()=>qi,set:e=>{qi=e}},rejectionMapper:{get:()=>$i,set:e=>{$i=e}},follow:(e,t)=>new G(((n,r)=>Ta(((t,n)=>{var r=W;r.unhandleds=[],r.onunhandled=n,r.finalize=ji((function(){(function(e){function t(){e(),ra.splice(ra.indexOf(t),1)}ra.push(t),++na,qi((()=>{--na==0&&ga()}),[])})((()=>{this.unhandleds.length===0?t():n(this.unhandleds[0])}))}),r.finalize),e()}),t,n,r)))}),Ui&&(Ui.allSettled&&zr(G,`allSettled`,(function(){let e=ui.apply(null,arguments).map(Oa);return new G((t=>{e.length===0&&t([]);let n=e.length,r=Array(n);e.forEach(((e,i)=>G.resolve(e).then((e=>r[i]={status:`fulfilled`,value:e}),(e=>r[i]={status:`rejected`,reason:e})).then((()=>--n||t(r)))))}))})),Ui.any&&typeof AggregateError<`u`&&zr(G,`any`,(function(){let e=ui.apply(null,arguments).map(Oa);return new G(((t,n)=>{e.length===0&&n(AggregateError([]));let r=e.length,i=Array(r);e.forEach(((e,a)=>G.resolve(e).then((e=>t(e)),(e=>{i[a]=e,--r||n(AggregateError(i))}))))}))})));var ya={awaits:0,echoes:0,id:0},ba=0,xa=[],Sa=0,Ca=0,wa=0;function Ta(e,t,n,r){var i=W,a=Object.create(i);a.parent=i,a.ref=0,a.global=!1,a.id=++wa;var o=ea.env;a.env=Wi?{Promise:G,PromiseProp:{value:G,configurable:!0,writable:!0},all:G.all,race:G.race,allSettled:G.allSettled,any:G.any,resolve:G.resolve,reject:G.reject,nthen:Ia(o.nthen,a),gthen:Ia(o.gthen,a)}:{},t&&Nr(a,t),++i.ref,a.finalize=function(){--this.parent.ref||this.parent.finalize()};var s=Na(a,e,n,r);return a.ref===0&&a.finalize(),s}function Ea(){return ya.id||(ya.id=++ba),++ya.awaits,ya.echoes+=Ri,ya.id}function Da(){return!!ya.awaits&&(--ya.awaits==0&&(ya.id=0),ya.echoes=ya.awaits*Ri,!0)}function Oa(e){return ya.echoes&&e&&e.constructor===Ui?(Ea(),e.then((e=>(Da(),e)),(e=>(Da(),za(e))))):e}function ka(e){++Ca,ya.echoes&&--ya.echoes!=0||(ya.echoes=ya.id=0),xa.push(W),ja(e,!0)}function Aa(){var e=xa[xa.length-1];xa.pop(),ja(e,!1)}function ja(e,t){var n=W;if((t?!ya.echoes||Sa++&&e===W:!Sa||--Sa&&e===W)||Pa(t?ka.bind(null,e):Aa),e!==W&&(W=e,n===ea&&(ea.env=Ma()),Wi)){var r=ea.env.Promise,i=e.env;Bi.then=i.nthen,r.prototype.then=i.gthen,(n.global||e.global)&&(Object.defineProperty(Ar,"Promise",i.PromiseProp),r.all=i.all,r.race=i.race,r.resolve=i.resolve,r.reject=i.reject,i.allSettled&&(r.allSettled=i.allSettled),i.any&&(r.any=i.any))}}function Ma(){var e=Ar.Promise;return Wi?{Promise:e,PromiseProp:Object.getOwnPropertyDescriptor(Ar,`Promise`),all:e.all,race:e.race,allSettled:e.allSettled,any:e.any,resolve:e.resolve,reject:e.reject,nthen:Bi.then,gthen:e.prototype.then}:{}}function Na(e,t,n,r,i){var a=W;try{return ja(e,!0),t(n,r,i)}finally{ja(a,!1)}}function Pa(e){Hi.call(zi,e)}function Fa(e,t,n,r){return typeof e==`function`?function(){var i=W;n&&Ea(),ja(t,!0);try{return e.apply(this,arguments)}finally{ja(i,!1),r&&Pa(Da)}}:e}function Ia(e,t){return function(n,r){return e.call(this,Fa(n,t),Fa(r,t))}}(``+Hi).indexOf(`[native code]`)===-1&&(Ea=Da=U);var La=`unhandledrejection`;function Ra(e,t){var n;try{n=t.onuncatched(e)}catch(e){}if(!1!==n)try{var r,i={promise:t,reason:e};if(Ar.document&&document.createEvent?((r=document.createEvent(`Event`)).initEvent(La,!0,!0),Nr(r,i)):Ar.CustomEvent&&Nr(r=new CustomEvent(La,{detail:i}),i),r&&Ar.dispatchEvent&&(dispatchEvent(r),!Ar.PromiseRejectionEvent&&Ar.onunhandledrejection))try{Ar.onunhandledrejection(r)}catch(e){}fi&&r&&!r.defaultPrevented&&console.warn(`Unhandled rejection: ${e.stack||e}`)}catch(e){}}var za=G.reject;function Ba(e,t,n,r){if(e.idbdb&&(e._state.openComplete||W.letThrough||e._vip)){var i=e._createTransaction(t,n,e._dbSchema);try{i.create(),e._state.PR1398_maxLoop=3}catch(i){return i.name===Ti.InvalidState&&e.isOpen()&&--e._state.PR1398_maxLoop>0?(console.warn(`Dexie: Need to reopen db`),e._close(),e.open().then((()=>Ba(e,t,n,r)))):za(i)}return i._promise(t,((e,t)=>Ta((()=>(W.trans=i,r(e,t,i)))))).then((e=>i._completion.then((()=>e))))}if(e._state.openComplete)return za(new H.DatabaseClosed(e._state.dbOpenError));if(!e._state.isBeingOpened){if(!e._options.autoOpen)return za(new H.DatabaseClosed);e.open().catch(U)}return e._state.dbReadyPromise.then((()=>Ba(e,t,n,r)))}var Va=`3.2.7`,Ha=``,Ua=-1/0,Wa=`Invalid key provided. Keys must be of type string, number, Date or Array<string | number | Date>.`,Ga=`String expected.`,Ka=[],qa=typeof navigator<`u`&&/(MSIE|Trident|Edge)/.test(navigator.userAgent),Ja=qa,Ya=qa,Xa=e=>!/(dexie\.js|dexie\.min\.js)/.test(e),Za=`__dbnames`,Qa=`readonly`,$a=`readwrite`;function eo(e,t){return e?t?function(){return e.apply(this,arguments)&&t.apply(this,arguments)}:e:t}var to={type:3,lower:-1/0,lowerOpen:!1,upper:[[]],upperOpen:!1};function no(e){return typeof e!=`string`||/\./.test(e)?e=>e:t=>(t[e]===void 0&&e in t&&delete(t=ri(t))[e],t)}var ro=class{_trans(e,t,n){let r=this._tx||W.trans,i=this.name;function a(e,n,r){if(!r.schema[i])throw new H.NotFound(`Table `+i+` not part of transaction`);return t(r.idbtrans,r)}let o=ma();try{return r&&r.db===this.db?r===W.trans?r._promise(e,a,n):Ta((()=>r._promise(e,a,n)),{trans:r,transless:W.transless||W}):Ba(this.db,e,[this.name],a)}finally{o&&ha()}}get(e,t){return e&&e.constructor===Object?this.where(e).first(t):this._trans(`readonly`,(t=>this.core.get({trans:t,key:e}).then((e=>this.hook.reading.fire(e))))).then(t)}where(e){if(typeof e==`string`)return new this.db.WhereClause(this,e);if(Mr(e))return new this.db.WhereClause(this,`[${e.join(`+`)}]`);let t=jr(e);if(t.length===1)return this.where(t[0]).equals(e[t[0]]);let n=this.schema.indexes.concat(this.schema.primKey).filter((e=>{if(e.compound&&t.every((t=>e.keyPath.indexOf(t)>=0))){for(let n=0;n<t.length;++n)if(t.indexOf(e.keyPath[n])===-1)return!1;return!0}return!1})).sort(((e,t)=>e.keyPath.length-t.keyPath.length))[0];if(n&&this.db._maxKey!==Ha){let r=n.keyPath.slice(0,t.length);return this.where(r).equals(r.map((t=>e[t])))}!n&&fi&&console.warn(`The query ${JSON.stringify(e)} on ${this.name} would benefit of a compound index [${t.join(`+`)}]`);let{idxByName:r}=this.schema,i=this.db._deps.indexedDB;function a(e,t){try{return i.cmp(e,t)===0}catch(e){return!1}}let[o,s]=t.reduce((([t,n],i)=>{let o=r[i],s=e[i];return[t||o,t||!o?eo(n,o&&o.multi?e=>{let t=Yr(e,i);return Mr(t)&&t.some((e=>a(s,e)))}:e=>a(s,Yr(e,i))):n]}),[null,null]);return o?this.where(o.name).equals(e[o.keyPath]).filter(s):n?this.filter(s):this.where(t).equals(``)}filter(e){return this.toCollection().and(e)}count(e){return this.toCollection().count(e)}offset(e){return this.toCollection().offset(e)}limit(e){return this.toCollection().limit(e)}each(e){return this.toCollection().each(e)}toArray(e){return this.toCollection().toArray(e)}toCollection(){return new this.db.Collection(new this.db.WhereClause(this))}orderBy(e){return new this.db.Collection(new this.db.WhereClause(this,Mr(e)?`[${e.join(`+`)}]`:e))}reverse(){return this.toCollection().reverse()}mapToClass(e){this.schema.mappedClass=e;let t=t=>{if(!t)return t;let n=Object.create(e.prototype);for(var r in t)if(Ir(t,r))try{n[r]=t[r]}catch(e){}return n};return this.schema.readHook&&this.hook.reading.unsubscribe(this.schema.readHook),this.schema.readHook=t,this.hook(`reading`,t),e}defineClass(){return this.mapToClass((function(e){Nr(this,e)}))}add(e,t){let{auto:n,keyPath:r}=this.schema.primKey,i=e;return r&&n&&(i=no(r)(e)),this._trans(`readwrite`,(e=>this.core.mutate({trans:e,type:`add`,keys:t==null?null:[t],values:[i]}))).then((e=>e.numFailures?G.reject(e.failures[0]):e.lastResult)).then((t=>{if(r)try{Xr(e,r,t)}catch(e){}return t}))}update(e,t){if(typeof e!=`object`||Mr(e))return this.where(`:id`).equals(e).modify(t);{let n=Yr(e,this.schema.primKey.keyPath);if(n===void 0)return za(new H.InvalidArgument(`Given object does not contain its primary key`));try{typeof t==`function`?t(e,{value:e,primKey:n}):jr(t).forEach((n=>{Xr(e,n,t[n])}))}catch(e){}return this.where(`:id`).equals(n).modify(t)}}put(e,t){let{auto:n,keyPath:r}=this.schema.primKey,i=e;return r&&n&&(i=no(r)(e)),this._trans(`readwrite`,(e=>this.core.mutate({trans:e,type:`put`,values:[i],keys:t==null?null:[t]}))).then((e=>e.numFailures?G.reject(e.failures[0]):e.lastResult)).then((t=>{if(r)try{Xr(e,r,t)}catch(e){}return t}))}delete(e){return this._trans(`readwrite`,(t=>this.core.mutate({trans:t,type:`delete`,keys:[e]}))).then((e=>e.numFailures?G.reject(e.failures[0]):void 0))}clear(){return this._trans(`readwrite`,(e=>this.core.mutate({trans:e,type:`deleteRange`,range:to}))).then((e=>e.numFailures?G.reject(e.failures[0]):void 0))}bulkGet(e){return this._trans(`readonly`,(t=>this.core.getMany({keys:e,trans:t}).then((e=>e.map((e=>this.hook.reading.fire(e)))))))}bulkAdd(e,t,n){let r=Array.isArray(t)?t:void 0,i=(n=n||(r?void 0:t))?n.allKeys:void 0;return this._trans(`readwrite`,(t=>{let{auto:n,keyPath:a}=this.schema.primKey;if(a&&r)throw new H.InvalidArgument(`bulkAdd(): keys argument invalid on tables with inbound keys`);if(r&&r.length!==e.length)throw new H.InvalidArgument(`Arguments objects and keys must have the same length`);let o=e.length,s=a&&n?e.map(no(a)):e;return this.core.mutate({trans:t,type:`add`,keys:r,values:s,wantResults:i}).then((({numFailures:e,results:t,lastResult:n,failures:r})=>{if(e===0)return i?t:n;throw new wi(`${this.name}.bulkAdd(): ${e} of ${o} operations failed`,r)}))}))}bulkPut(e,t,n){let r=Array.isArray(t)?t:void 0,i=(n=n||(r?void 0:t))?n.allKeys:void 0;return this._trans(`readwrite`,(t=>{let{auto:n,keyPath:a}=this.schema.primKey;if(a&&r)throw new H.InvalidArgument(`bulkPut(): keys argument invalid on tables with inbound keys`);if(r&&r.length!==e.length)throw new H.InvalidArgument(`Arguments objects and keys must have the same length`);let o=e.length,s=a&&n?e.map(no(a)):e;return this.core.mutate({trans:t,type:`put`,keys:r,values:s,wantResults:i}).then((({numFailures:e,results:t,lastResult:n,failures:r})=>{if(e===0)return i?t:n;throw new wi(`${this.name}.bulkPut(): ${e} of ${o} operations failed`,r)}))}))}bulkDelete(e){let t=e.length;return this._trans(`readwrite`,(t=>this.core.mutate({trans:t,type:`delete`,keys:e}))).then((({numFailures:e,lastResult:n,failures:r})=>{if(e===0)return n;throw new wi(`${this.name}.bulkDelete(): ${e} of ${t} operations failed`,r)}))}};function io(e){var t={},n=function(n,r){if(r){for(var i=arguments.length,a=Array(i-1);--i;)a[i-1]=arguments[i];return t[n].subscribe.apply(null,a),e}if(typeof n==`string`)return t[n]};n.addEventType=a;for(var r=1,i=arguments.length;r<i;++r)a(arguments[r]);return n;function a(e,r,i){if(typeof e!=`object`){var o;r||(r=Fi),i||(i=U);var s={subscribers:[],fire:i,subscribe:function(e){s.subscribers.indexOf(e)===-1&&(s.subscribers.push(e),s.fire=r(s.fire,e))},unsubscribe:function(e){s.subscribers=s.subscribers.filter((function(t){return t!==e})),s.fire=s.subscribers.reduce(r,i)}};return t[e]=n[e]=s,s}jr(o=e).forEach((function(e){var t=o[e];if(Mr(t))a(e,o[e][0],o[e][1]);else{if(t!==`asap`)throw new H.InvalidArgument(`Invalid event config`);var n=a(e,ki,(function(){for(var e=arguments.length,t=Array(e);e--;)t[e]=arguments[e];n.subscribers.forEach((function(e){qr((function(){e.apply(null,t)}))}))}))}}))}}function ao(e,t){return Br(t).from({prototype:e}),t}function oo(e,t){return!(e.filter||e.algorithm||e.or)&&(t?e.justLimit:!e.replayFilter)}function so(e,t){e.filter=eo(e.filter,t)}function co(e,t,n){var r=e.replayFilter;e.replayFilter=r?()=>eo(r(),t()):t,e.justLimit=n&&!r}function lo(e,t){if(e.isPrimKey)return t.primaryKey;let n=t.getIndexByKeyPath(e.index);if(!n)throw new H.Schema(`KeyPath `+e.index+` on object store `+t.name+` is not indexed`);return n}function uo(e,t,n){let r=lo(e,t.schema);return t.openCursor({trans:n,values:!e.keysOnly,reverse:e.dir===`prev`,unique:!!e.unique,query:{index:r,range:e.range}})}function fo(e,t,n,r){let i=e.replayFilter?eo(e.filter,e.replayFilter()):e.filter;if(e.or){let a={},o=(e,n,r)=>{if(!i||i(n,r,(e=>n.stop(e)),(e=>n.fail(e)))){var o=n.primaryKey,s=``+o;s===`[object ArrayBuffer]`&&(s=``+new Uint8Array(o)),Ir(a,s)||(a[s]=!0,t(e,n,r))}};return Promise.all([e.or._iterate(o,n),po(uo(e,r,n),e.algorithm,o,!e.keysOnly&&e.valueMapper)])}return po(uo(e,r,n),eo(e.algorithm,i),t,!e.keysOnly&&e.valueMapper)}function po(e,t,n,r){var i=va(r?(e,t,i)=>n(r(e),t,i):n);return e.then((e=>{if(e)return e.start((()=>{var n=()=>e.continue();t&&!t(e,(e=>n=e),(t=>{e.stop(t),n=U}),(t=>{e.fail(t),n=U}))||i(e.value,e,(e=>n=e)),n()}))}))}function mo(e,t){try{let n=ho(e),r=ho(t);if(n!==r)return n===`Array`?1:r===`Array`?-1:n===`binary`?1:r===`binary`?-1:n===`string`?1:r===`string`?-1:n===`Date`?1:r===`Date`?-1:NaN;switch(n){case`number`:case`Date`:case`string`:return e>t?1:e<t?-1:0;case`binary`:return function(e,t){let n=e.length,r=t.length,i=n<r?n:r;for(let n=0;n<i;++n)if(e[n]!==t[n])return e[n]<t[n]?-1:1;return n===r?0:n<r?-1:1}(go(e),go(t));case`Array`:return function(e,t){let n=e.length,r=t.length,i=n<r?n:r;for(let n=0;n<i;++n){let r=mo(e[n],t[n]);if(r!==0)return r}return n===r?0:n<r?-1:1}(e,t)}}catch(e){}return NaN}function ho(e){let t=typeof e;if(t!==`object`)return t;if(ArrayBuffer.isView(e))return`binary`;let n=oi(e);return n===`ArrayBuffer`?`binary`:n}function go(e){return e instanceof Uint8Array?e:ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):new Uint8Array(e)}var _o=class{_read(e,t){var n=this._ctx;return n.error?n.table._trans(null,za.bind(null,n.error)):n.table._trans(`readonly`,e).then(t)}_write(e){var t=this._ctx;return t.error?t.table._trans(null,za.bind(null,t.error)):t.table._trans(`readwrite`,e,`locked`)}_addAlgorithm(e){var t=this._ctx;t.algorithm=eo(t.algorithm,e)}_iterate(e,t){return fo(this._ctx,e,t,this._ctx.table.core)}clone(e){var t=Object.create(this.constructor.prototype),n=Object.create(this._ctx);return e&&Nr(n,e),t._ctx=n,t}raw(){return this._ctx.valueMapper=null,this}each(e){var t=this._ctx;return this._read((n=>fo(t,e,n,t.table.core)))}count(e){return this._read((e=>{let t=this._ctx,n=t.table.core;if(oo(t,!0))return n.count({trans:e,query:{index:lo(t,n.schema),range:t.range}}).then((e=>Math.min(e,t.limit)));var r=0;return fo(t,(()=>(++r,!1)),e,n).then((()=>r))})).then(e)}sortBy(e,t){let n=e.split(`.`).reverse(),r=n[0],i=n.length-1;function a(e,t){return t?a(e[n[t]],t-1):e[r]}var o=this._ctx.dir===`next`?1:-1;function s(e,t){var n=a(e,i),r=a(t,i);return n<r?-o:n>r?o:0}return this.toArray((function(e){return e.sort(s)})).then(t)}toArray(e){return this._read((e=>{var t=this._ctx;if(t.dir===`next`&&oo(t,!0)&&t.limit>0){let{valueMapper:n}=t,r=lo(t,t.table.core.schema);return t.table.core.query({trans:e,limit:t.limit,values:!0,query:{index:r,range:t.range}}).then((({result:e})=>n?e.map(n):e))}{let n=[];return fo(t,(e=>n.push(e)),e,t.table.core).then((()=>n))}}),e)}offset(e){var t=this._ctx;return e<=0||(t.offset+=e,oo(t)?co(t,(()=>{var t=e;return(e,n)=>t===0||(t===1?(--t,!1):(n((()=>{e.advance(t),t=0})),!1))})):co(t,(()=>{var t=e;return()=>--t<0}))),this}limit(e){return this._ctx.limit=Math.min(this._ctx.limit,e),co(this._ctx,(()=>{var t=e;return function(e,n,r){return--t<=0&&n(r),t>=0}}),!0),this}until(e,t){return so(this._ctx,(function(n,r,i){return!e(n.value)||(r(i),t)})),this}first(e){return this.limit(1).toArray((function(e){return e[0]})).then(e)}last(e){return this.reverse().first(e)}filter(e){var t,n;return so(this._ctx,(function(t){return e(t.value)})),t=this._ctx,n=e,t.isMatch=eo(t.isMatch,n),this}and(e){return this.filter(e)}or(e){return new this.db.WhereClause(this._ctx.table,e,this)}reverse(){return this._ctx.dir=this._ctx.dir===`prev`?`next`:`prev`,this._ondirectionchange&&this._ondirectionchange(this._ctx.dir),this}desc(){return this.reverse()}eachKey(e){var t=this._ctx;return t.keysOnly=!t.isMatch,this.each((function(t,n){e(n.key,n)}))}eachUniqueKey(e){return this._ctx.unique=`unique`,this.eachKey(e)}eachPrimaryKey(e){var t=this._ctx;return t.keysOnly=!t.isMatch,this.each((function(t,n){e(n.primaryKey,n)}))}keys(e){var t=this._ctx;t.keysOnly=!t.isMatch;var n=[];return this.each((function(e,t){n.push(t.key)})).then((function(){return n})).then(e)}primaryKeys(e){var t=this._ctx;if(t.dir===`next`&&oo(t,!0)&&t.limit>0)return this._read((e=>{var n=lo(t,t.table.core.schema);return t.table.core.query({trans:e,values:!1,limit:t.limit,query:{index:n,range:t.range}})})).then((({result:e})=>e)).then(e);t.keysOnly=!t.isMatch;var n=[];return this.each((function(e,t){n.push(t.primaryKey)})).then((function(){return n})).then(e)}uniqueKeys(e){return this._ctx.unique=`unique`,this.keys(e)}firstKey(e){return this.limit(1).keys((function(e){return e[0]})).then(e)}lastKey(e){return this.reverse().firstKey(e)}distinct(){var e=this._ctx,t=e.index&&e.table.schema.idxByName[e.index];if(!t||!t.multi)return this;var n={};return so(this._ctx,(function(e){var t=e.primaryKey.toString(),r=Ir(n,t);return n[t]=!0,!r})),this}modify(e){var t=this._ctx;return this._write((n=>{var r;if(typeof e==`function`)r=e;else{var i=jr(e),a=i.length;r=function(t){for(var n=!1,r=0;r<a;++r){var o=i[r],s=e[o];Yr(t,o)!==s&&(Xr(t,o,s),n=!0)}return n}}let o=t.table.core,{outbound:s,extractKey:c}=o.schema.primaryKey,l=this.db._options.modifyChunkSize||200,u=[],d=0,f=[],p=(e,t)=>{let{failures:n,numFailures:r}=t;d+=e-r;for(let e of jr(n))u.push(n[e])};return this.clone().primaryKeys().then((i=>{let a=u=>{let d=Math.min(l,i.length-u);return o.getMany({trans:n,keys:i.slice(u,u+d),cache:`immutable`}).then((f=>{let m=[],h=[],g=s?[]:null,_=[];for(let e=0;e<d;++e){let t=f[e],n={value:ri(t),primKey:i[u+e]};!1!==r.call(n,n.value,n)&&(n.value==null?_.push(i[u+e]):s||mo(c(t),c(n.value))===0?(h.push(n.value),s&&g.push(i[u+e])):(_.push(i[u+e]),m.push(n.value)))}let v=oo(t)&&t.limit===1/0&&(typeof e!=`function`||e===vo)&&{index:t.index,range:t.range};return Promise.resolve(m.length>0&&o.mutate({trans:n,type:`add`,values:m}).then((e=>{for(let t in e.failures)_.splice(parseInt(t),1);p(m.length,e)}))).then((()=>(h.length>0||v&&typeof e==`object`)&&o.mutate({trans:n,type:`put`,keys:g,values:h,criteria:v,changeSpec:typeof e!=`function`&&e}).then((e=>p(h.length,e))))).then((()=>(_.length>0||v&&e===vo)&&o.mutate({trans:n,type:`delete`,keys:_,criteria:v}).then((e=>p(_.length,e))))).then((()=>i.length>u+d&&a(u+l)))}))};return a(0).then((()=>{if(u.length>0)throw new Ci(`Error modifying one or more objects`,u,d,f);return i.length}))}))}))}delete(){var e=this._ctx,t=e.range;return oo(e)&&(e.isPrimKey&&!Ya||t.type===3)?this._write((n=>{let{primaryKey:r}=e.table.core.schema,i=t;return e.table.core.count({trans:n,query:{index:r,range:i}}).then((t=>e.table.core.mutate({trans:n,type:`deleteRange`,range:i}).then((({failures:e,lastResult:n,results:r,numFailures:i})=>{if(i)throw new Ci(`Could not delete some values`,Object.keys(e).map((t=>e[t])),t-i);return t-i}))))})):this.modify(vo)}},vo=(e,t)=>t.value=null;function yo(e,t){return e<t?-1:e===t?0:1}function bo(e,t){return e>t?-1:e===t?0:1}function xo(e,t,n){var r=e instanceof Do?new e.Collection(e):e;return r._ctx.error=n?new n(t):TypeError(t),r}function So(e){return new e.Collection(e,(()=>Eo(``))).limit(0)}function Co(e,t,n,r,i,a){for(var o=Math.min(e.length,r.length),s=-1,c=0;c<o;++c){var l=t[c];if(l!==r[c])return i(e[c],n[c])<0?e.substr(0,c)+n[c]+n.substr(c+1):i(e[c],r[c])<0?e.substr(0,c)+r[c]+n.substr(c+1):s>=0?e.substr(0,s)+t[s]+n.substr(s+1):null;i(e[c],l)<0&&(s=c)}return o<r.length&&a===`next`?e+n.substr(e.length):o<e.length&&a===`prev`?e.substr(0,n.length):s<0?null:e.substr(0,s)+r[s]+n.substr(s+1)}function wo(e,t,n,r){var i,a,o,s,c,l,u,d=n.length;if(!n.every((e=>typeof e==`string`)))return xo(e,Ga);function f(e){i=function(e){return e===`next`?e=>e.toUpperCase():e=>e.toLowerCase()}(e),a=function(e){return e===`next`?e=>e.toLowerCase():e=>e.toUpperCase()}(e),o=e===`next`?yo:bo;var t=n.map((function(e){return{lower:a(e),upper:i(e)}})).sort((function(e,t){return o(e.lower,t.lower)}));s=t.map((function(e){return e.upper})),c=t.map((function(e){return e.lower})),l=e,u=e===`next`?``:r}f(`next`);var p=new e.Collection(e,(()=>To(s[0],c[d-1]+r)));p._ondirectionchange=function(e){f(e)};var m=0;return p._addAlgorithm((function(e,n,r){var i=e.key;if(typeof i!=`string`)return!1;var f=a(i);if(t(f,c,m))return!0;for(var p=null,h=m;h<d;++h){var g=Co(i,f,s[h],c[h],o,l);g===null&&p===null?m=h+1:(p===null||o(p,g)>0)&&(p=g)}return n(p===null?r:function(){e.continue(p+u)}),!1})),p}function To(e,t,n,r){return{type:2,lower:e,upper:t,lowerOpen:n,upperOpen:r}}function Eo(e){return{type:1,lower:e,upper:e}}var Do=class{get Collection(){return this._ctx.table.db.Collection}between(e,t,n,r){n=!1!==n,r=!0===r;try{return this._cmp(e,t)>0||this._cmp(e,t)===0&&(n||r)&&(!n||!r)?So(this):new this.Collection(this,(()=>To(e,t,!n,!r)))}catch(e){return xo(this,Wa)}}equals(e){return e==null?xo(this,Wa):new this.Collection(this,(()=>Eo(e)))}above(e){return e==null?xo(this,Wa):new this.Collection(this,(()=>To(e,void 0,!0)))}aboveOrEqual(e){return e==null?xo(this,Wa):new this.Collection(this,(()=>To(e,void 0,!1)))}below(e){return e==null?xo(this,Wa):new this.Collection(this,(()=>To(void 0,e,!1,!0)))}belowOrEqual(e){return e==null?xo(this,Wa):new this.Collection(this,(()=>To(void 0,e)))}startsWith(e){return typeof e==`string`?this.between(e,e+Ha,!0,!0):xo(this,Ga)}startsWithIgnoreCase(e){return e===``?this.startsWith(e):wo(this,((e,t)=>e.indexOf(t[0])===0),[e],Ha)}equalsIgnoreCase(e){return wo(this,((e,t)=>e===t[0]),[e],``)}anyOfIgnoreCase(){var e=ui.apply(li,arguments);return e.length===0?So(this):wo(this,((e,t)=>t.indexOf(e)!==-1),e,``)}startsWithAnyOfIgnoreCase(){var e=ui.apply(li,arguments);return e.length===0?So(this):wo(this,((e,t)=>t.some((t=>e.indexOf(t)===0))),e,Ha)}anyOf(){let e=ui.apply(li,arguments),t=this._cmp;try{e.sort(t)}catch(e){return xo(this,Wa)}if(e.length===0)return So(this);let n=new this.Collection(this,(()=>To(e[0],e[e.length-1])));n._ondirectionchange=n=>{t=n===`next`?this._ascending:this._descending,e.sort(t)};let r=0;return n._addAlgorithm(((n,i,a)=>{let o=n.key;for(;t(o,e[r])>0;)if(++r,r===e.length)return i(a),!1;return t(o,e[r])===0||(i((()=>{n.continue(e[r])})),!1)})),n}notEqual(e){return this.inAnyRange([[Ua,e],[e,this.db._maxKey]],{includeLowers:!1,includeUppers:!1})}noneOf(){let e=ui.apply(li,arguments);if(e.length===0)return new this.Collection(this);try{e.sort(this._ascending)}catch(e){return xo(this,Wa)}let t=e.reduce(((e,t)=>e?e.concat([[e[e.length-1][1],t]]):[[Ua,t]]),null);return t.push([e[e.length-1],this.db._maxKey]),this.inAnyRange(t,{includeLowers:!1,includeUppers:!1})}inAnyRange(e,t){let n=this._cmp,r=this._ascending,i=this._descending,a=this._min,o=this._max;if(e.length===0)return So(this);if(!e.every((e=>e[0]!==void 0&&e[1]!==void 0&&r(e[0],e[1])<=0)))return xo(this,`First argument to inAnyRange() must be an Array of two-value Arrays [lower,upper] where upper must not be lower than lower`,H.InvalidArgument);let s=!t||!1!==t.includeLowers,c=t&&!0===t.includeUppers,l,u=r;function d(e,t){return u(e[0],t[0])}try{l=e.reduce((function(e,t){let r=0,i=e.length;for(;r<i;++r){let i=e[r];if(n(t[0],i[1])<0&&n(t[1],i[0])>0){i[0]=a(i[0],t[0]),i[1]=o(i[1],t[1]);break}}return r===i&&e.push(t),e}),[]),l.sort(d)}catch(e){return xo(this,Wa)}let f=0,p=c?e=>r(e,l[f][1])>0:e=>r(e,l[f][1])>=0,m=s?e=>i(e,l[f][0])>0:e=>i(e,l[f][0])>=0,h=p,g=new this.Collection(this,(()=>To(l[0][0],l[l.length-1][1],!s,!c)));return g._ondirectionchange=e=>{e===`next`?(h=p,u=r):(h=m,u=i),l.sort(d)},g._addAlgorithm(((e,t,n)=>{for(var i=e.key;h(i);)if(++f,f===l.length)return t(n),!1;return!!function(e){return!p(e)&&!m(e)}(i)||(this._cmp(i,l[f][1])===0||this._cmp(i,l[f][0])===0||t((()=>{u===r?e.continue(l[f][0]):e.continue(l[f][1])})),!1)})),g}startsWithAnyOf(){let e=ui.apply(li,arguments);return e.every((e=>typeof e==`string`))?e.length===0?So(this):this.inAnyRange(e.map((e=>[e,e+Ha]))):xo(this,`startsWithAnyOf() only works with strings`)}};function Oo(e){return va((function(t){return ko(t),e(t.target.error),!1}))}function ko(e){e.stopPropagation&&e.stopPropagation(),e.preventDefault&&e.preventDefault()}var Ao=`storagemutated`,jo=`x-storagemutated-1`,Mo=io(null,Ao),No=class{_lock(){return Kr(!W.global),++this._reculock,this._reculock!==1||W.global||(W.lockOwnerFor=this),this}_unlock(){if(Kr(!W.global),--this._reculock==0)for(W.global||(W.lockOwnerFor=null);this._blockedFuncs.length>0&&!this._locked();){var e=this._blockedFuncs.shift();try{Na(e[1],e[0])}catch(e){}}return this}_locked(){return this._reculock&&W.lockOwnerFor!==this}create(e){if(!this.mode)return this;let t=this.db.idbdb,n=this.db._state.dbOpenError;if(Kr(!this.idbtrans),!e&&!t)switch(n&&n.name){case`DatabaseClosedError`:throw new H.DatabaseClosed(n);case`MissingAPIError`:throw new H.MissingAPI(n.message,n);default:throw new H.OpenFailed(n)}if(!this.active)throw new H.TransactionInactive;return Kr(this._completion._state===null),(e=this.idbtrans=e||(this.db.core?this.db.core.transaction(this.storeNames,this.mode,{durability:this.chromeTransactionDurability}):t.transaction(this.storeNames,this.mode,{durability:this.chromeTransactionDurability}))).onerror=va((t=>{ko(t),this._reject(e.error)})),e.onabort=va((t=>{ko(t),this.active&&this._reject(new H.Abort(e.error)),this.active=!1,this.on(`abort`).fire(t)})),e.oncomplete=va((()=>{this.active=!1,this._resolve(),`mutatedParts`in e&&Mo.storagemutated.fire(e.mutatedParts)})),this}_promise(e,t,n){if(e===`readwrite`&&this.mode!==`readwrite`)return za(new H.ReadOnly(`Transaction is readonly`));if(!this.active)return za(new H.TransactionInactive);if(this._locked())return new G(((r,i)=>{this._blockedFuncs.push([()=>{this._promise(e,t,n).then(r,i)},W])}));if(n)return Ta((()=>{var e=new G(((e,n)=>{this._lock();let r=t(e,n,this);r&&r.then&&r.then(e,n)}));return e.finally((()=>this._unlock())),e._lib=!0,e}));var r=new G(((e,n)=>{var r=t(e,n,this);r&&r.then&&r.then(e,n)}));return r._lib=!0,r}_root(){return this.parent?this.parent._root():this}waitFor(e){var t=this._root();let n=G.resolve(e);if(t._waitingFor)t._waitingFor=t._waitingFor.then((()=>n));else{t._waitingFor=n,t._waitingQueue=[];var r=t.idbtrans.objectStore(t.storeNames[0]);(function e(){for(++t._spinCount;t._waitingQueue.length;)t._waitingQueue.shift()();t._waitingFor&&(r.get(-1/0).onsuccess=e)})()}var i=t._waitingFor;return new G(((e,r)=>{n.then((n=>t._waitingQueue.push(va(e.bind(null,n)))),(e=>t._waitingQueue.push(va(r.bind(null,e))))).finally((()=>{t._waitingFor===i&&(t._waitingFor=null)}))}))}abort(){this.active&&(this.active=!1,this.idbtrans&&this.idbtrans.abort(),this._reject(new H.Abort))}table(e){let t=this._memoizedTables||(this._memoizedTables={});if(Ir(t,e))return t[e];let n=this.schema[e];if(!n)throw new H.NotFound(`Table `+e+` not part of transaction`);let r=new this.db.Table(e,n,this);return r.core=this.db.core.table(e),t[e]=r,r}};function Po(e,t,n,r,i,a,o){return{name:e,keyPath:t,unique:n,multi:r,auto:i,compound:a,src:(n&&!o?`&`:``)+(r?`*`:``)+(i?`++`:``)+Fo(t)}}function Fo(e){return typeof e==`string`?e:e?`[`+[].join.call(e,`+`)+`]`:``}function Io(e,t,n){return{name:e,primKey:t,indexes:n,mappedClass:null,idxByName:Jr(n,(e=>[e.name,e]))}}var Lo=e=>{try{return e.only([[]]),Lo=()=>[[]],[[]]}catch(e){return Lo=()=>Ha,Ha}};function Ro(e){return e==null?()=>{}:typeof e==`string`?function(e){return e.split(`.`).length===1?t=>t[e]:t=>Yr(t,e)}(e):t=>Yr(t,e)}function zo(e){return[].slice.call(e)}var Bo=0;function Vo(e){return e==null?`:id`:typeof e==`string`?e:`[${e.join(`+`)}]`}function Ho(e,t,n){function r(e){if(e.type===3)return null;if(e.type===4)throw Error(`Cannot convert never type to IDBKeyRange`);let{lower:n,upper:r,lowerOpen:i,upperOpen:a}=e;return n===void 0?r===void 0?null:t.upperBound(r,!!a):r===void 0?t.lowerBound(n,!!i):t.bound(n,r,!!i,!!a)}let{schema:i,hasGetAll:a}=function(e,t){let n=zo(e.objectStoreNames);return{schema:{name:e.name,tables:n.map((e=>t.objectStore(e))).map((e=>{let{keyPath:t,autoIncrement:n}=e,r=Mr(t),i=t==null,a={},o={name:e.name,primaryKey:{name:null,isPrimaryKey:!0,outbound:i,compound:r,keyPath:t,autoIncrement:n,unique:!0,extractKey:Ro(t)},indexes:zo(e.indexNames).map((t=>e.index(t))).map((e=>{let{name:t,unique:n,multiEntry:r,keyPath:i}=e,o={name:t,compound:Mr(i),keyPath:i,unique:n,multiEntry:r,extractKey:Ro(i)};return a[Vo(i)]=o,o})),getIndexByKeyPath:e=>a[Vo(e)]};return a[`:id`]=o.primaryKey,t!=null&&(a[Vo(t)]=o.primaryKey),o}))},hasGetAll:n.length>0&&`getAll`in t.objectStore(n[0])&&!(typeof navigator<`u`&&/Safari/.test(navigator.userAgent)&&!/(Chrome\/|Edge\/)/.test(navigator.userAgent)&&[].concat(navigator.userAgent.match(/Safari\/(\d*)/))[1]<604)}}(e,n),o=i.tables.map((e=>function(e){let t=e.name;return{name:t,schema:e,mutate:function({trans:e,type:n,keys:i,values:a,range:o}){return new Promise(((s,c)=>{s=va(s);let l=e.objectStore(t),u=l.keyPath==null,d=n===`put`||n===`add`;if(!d&&n!==`delete`&&n!==`deleteRange`)throw Error(`Invalid operation type: `+n);let{length:f}=i||a||{length:1};if(i&&a&&i.length!==a.length)throw Error(`Given keys array must have same length as given values array.`);if(f===0)return s({numFailures:0,failures:{},results:[],lastResult:void 0});let p,m=[],h=[],g=0,_=e=>{++g,ko(e)};if(n===`deleteRange`){if(o.type===4)return s({numFailures:g,failures:h,results:[],lastResult:void 0});o.type===3?m.push(p=l.clear()):m.push(p=l.delete(r(o)))}else{let[e,t]=d?u?[a,i]:[a,null]:[i,null];if(d)for(let r=0;r<f;++r)m.push(p=t&&t[r]!==void 0?l[n](e[r],t[r]):l[n](e[r])),p.onerror=_;else for(let t=0;t<f;++t)m.push(p=l[n](e[t])),p.onerror=_}let v=e=>{let t=e.target.result;m.forEach(((e,t)=>e.error!=null&&(h[t]=e.error))),s({numFailures:g,failures:h,results:n===`delete`?i:m.map((e=>e.result)),lastResult:t})};p.onerror=e=>{_(e),v(e)},p.onsuccess=v}))},getMany:({trans:e,keys:n})=>new Promise(((r,i)=>{r=va(r);let a=e.objectStore(t),o=n.length,s=Array(o),c,l=0,u=0,d=e=>{let t=e.target;s[t._pos]=t.result,++u===l&&r(s)},f=Oo(i);for(let e=0;e<o;++e)n[e]!=null&&(c=a.get(n[e]),c._pos=e,c.onsuccess=d,c.onerror=f,++l);l===0&&r(s)})),get:({trans:e,key:n})=>new Promise(((r,i)=>{r=va(r);let a=e.objectStore(t).get(n);a.onsuccess=e=>r(e.target.result),a.onerror=Oo(i)})),query:function(e){return n=>new Promise(((i,a)=>{i=va(i);let{trans:o,values:s,limit:c,query:l}=n,u=c===1/0?void 0:c,{index:d,range:f}=l,p=o.objectStore(t),m=d.isPrimaryKey?p:p.index(d.name),h=r(f);if(c===0)return i({result:[]});if(e){let e=s?m.getAll(h,u):m.getAllKeys(h,u);e.onsuccess=e=>i({result:e.target.result}),e.onerror=Oo(a)}else{let e=0,t=s||!(`openKeyCursor`in m)?m.openCursor(h):m.openKeyCursor(h),n=[];t.onsuccess=r=>{let a=t.result;return a?(n.push(s?a.value:a.primaryKey),++e===c?i({result:n}):void a.continue()):i({result:n})},t.onerror=Oo(a)}}))}(a),openCursor:function({trans:e,values:n,query:i,reverse:a,unique:o}){return new Promise(((s,c)=>{s=va(s);let{index:l,range:u}=i,d=e.objectStore(t),f=l.isPrimaryKey?d:d.index(l.name),p=a?o?`prevunique`:`prev`:o?`nextunique`:`next`,m=n||!(`openKeyCursor`in f)?f.openCursor(r(u),p):f.openKeyCursor(r(u),p);m.onerror=Oo(c),m.onsuccess=va((t=>{let n=m.result;if(!n)return void s(null);n.___id=++Bo,n.done=!1;let r=n.continue.bind(n),i=n.continuePrimaryKey;i&&(i=i.bind(n));let a=n.advance.bind(n),o=()=>{throw Error(`Cursor not stopped`)};n.trans=e,n.stop=n.continue=n.continuePrimaryKey=n.advance=()=>{throw Error(`Cursor not started`)},n.fail=va(c),n.next=function(){let e=1;return this.start((()=>e--?this.continue():this.stop())).then((()=>this))},n.start=e=>{let t=new Promise(((e,t)=>{e=va(e),m.onerror=Oo(t),n.fail=t,n.stop=t=>{n.stop=n.continue=n.continuePrimaryKey=n.advance=o,e(t)}})),s=()=>{if(m.result)try{e()}catch(e){n.fail(e)}else n.done=!0,n.start=()=>{throw Error(`Cursor behind last entry`)},n.stop()};return m.onsuccess=va((e=>{m.onsuccess=s,s()})),n.continue=r,n.continuePrimaryKey=i,n.advance=a,s(),t},s(n)}),c)}))},count({query:e,trans:n}){let{index:i,range:a}=e;return new Promise(((e,o)=>{let s=n.objectStore(t),c=i.isPrimaryKey?s:s.index(i.name),l=r(a),u=l?c.count(l):c.count();u.onsuccess=va((t=>e(t.target.result))),u.onerror=Oo(o)}))}}}(e))),s={};return o.forEach((e=>s[e.name]=e)),{stack:`dbcore`,transaction:e.transaction.bind(e),table(e){if(!s[e])throw Error(`Table '${e}' not found`);return s[e]},MIN_KEY:-1/0,MAX_KEY:Lo(t),schema:i}}function Uo({_novip:e},t){let n=t.db;e.core=function(e,t,{IDBKeyRange:n,indexedDB:r},i){return{dbcore:function(e,t){return t.reduce(((e,{create:t})=>V(V({},e),t(e))),e)}(Ho(t,n,i),e.dbcore)}}(e._middlewares,n,e._deps,t).dbcore,e.tables.forEach((t=>{let n=t.name;e.core.schema.tables.some((e=>e.name===n))&&(t.core=e.core.table(n),e[n]instanceof e.Table&&(e[n].core=t.core))}))}function Wo({_novip:e},t,n,r){n.forEach((n=>{let i=r[n];t.forEach((t=>{let r=Hr(t,n);(!r||`value`in r&&r.value===void 0)&&(t===e.Transaction.prototype||t instanceof e.Transaction?zr(t,n,{get(){return this.table(n)},set(e){Rr(this,n,{value:e,writable:!0,configurable:!0,enumerable:!0})}}):t[n]=new e.Table(n,i))}))}))}function Go({_novip:e},t){t.forEach((t=>{for(let n in t)t[n]instanceof e.Table&&delete t[n]}))}function Ko(e,t){return e._cfg.version-t._cfg.version}function qo(e,t,n,r){let i=e._dbSchema,a=e._createTransaction(`readwrite`,e._storeNames,i);a.create(n),a._completion.catch(r);let o=a._reject.bind(a),s=W.transless||W;Ta((()=>{W.trans=a,W.transless=s,t===0?(jr(i).forEach((e=>{Yo(n,e,i[e].primKey,i[e].indexes)})),Uo(e,n),G.follow((()=>e.on.populate.fire(a))).catch(o)):function({_novip:e},t,n,r){let i=[],a=e._versions,o=e._dbSchema=Zo(e,e.idbdb,r),s=!1,c=a.filter((e=>e._cfg.version>=t));function l(){return i.length?G.resolve(i.shift()(n.idbtrans)).then(l):G.resolve()}return c.forEach((a=>{i.push((()=>{let i=o,c=a._cfg.dbschema;Qo(e,i,r),Qo(e,c,r),o=e._dbSchema=c;let l=Jo(i,c);l.add.forEach((e=>{Yo(r,e[0],e[1].primKey,e[1].indexes)})),l.change.forEach((e=>{if(e.recreate)throw new H.Upgrade(`Not yet support for changing primary key`);{let t=r.objectStore(e.name);e.add.forEach((e=>Xo(t,e))),e.change.forEach((e=>{t.deleteIndex(e.name),Xo(t,e)})),e.del.forEach((e=>t.deleteIndex(e)))}}));let u=a._cfg.contentUpgrade;if(u&&a._cfg.version>t){Uo(e,r),n._memoizedTables={},s=!0;let t=Zr(c);l.del.forEach((e=>{t[e]=i[e]})),Go(e,[e.Transaction.prototype]),Wo(e,[e.Transaction.prototype],jr(t),t),n.schema=t;let a=di(u),o;a&&Ea();let d=G.follow((()=>{if(o=u(n),o&&a){var e=Da.bind(null,null);o.then(e,e)}}));return o&&typeof o.then==`function`?G.resolve(o):d.then((()=>o))}})),i.push((t=>{s&&Ja||(function(e,t){[].slice.call(t.db.objectStoreNames).forEach((n=>e[n]==null&&t.db.deleteObjectStore(n)))})(a._cfg.dbschema,t),Go(e,[e.Transaction.prototype]),Wo(e,[e.Transaction.prototype],e._storeNames,e._dbSchema),n.schema=e._dbSchema}))})),l().then((()=>{var e,t=r;jr(e=o).forEach((n=>{t.db.objectStoreNames.contains(n)||Yo(t,n,e[n].primKey,e[n].indexes)}))}))}(e,t,a,n).catch(o)}))}function Jo(e,t){let n={del:[],add:[],change:[]},r;for(r in e)t[r]||n.del.push(r);for(r in t){let i=e[r],a=t[r];if(i){let e={name:r,def:a,recreate:!1,del:[],add:[],change:[]};if(``+(i.primKey.keyPath||``)!=``+(a.primKey.keyPath||``)||i.primKey.auto!==a.primKey.auto&&!qa)e.recreate=!0,n.change.push(e);else{let t=i.idxByName,r=a.idxByName,o;for(o in t)r[o]||e.del.push(o);for(o in r){let n=t[o],i=r[o];n?n.src!==i.src&&e.change.push(i):e.add.push(i)}(e.del.length>0||e.add.length>0||e.change.length>0)&&n.change.push(e)}}else n.add.push([r,a])}return n}function Yo(e,t,n,r){let i=e.db.createObjectStore(t,n.keyPath?{keyPath:n.keyPath,autoIncrement:n.auto}:{autoIncrement:n.auto});return r.forEach((e=>Xo(i,e))),i}function Xo(e,t){e.createIndex(t.name,t.keyPath,{unique:t.unique,multiEntry:t.multi})}function Zo(e,t,n){let r={};return Wr(t.objectStoreNames,0).forEach((e=>{let t=n.objectStore(e),i=t.keyPath,a=Po(Fo(i),i||``,!1,!1,!!t.autoIncrement,i&&typeof i!=`string`,!0),o=[];for(let e=0;e<t.indexNames.length;++e){let n=t.index(t.indexNames[e]);i=n.keyPath;var s=Po(n.name,i,!!n.unique,!!n.multiEntry,!1,i&&typeof i!=`string`,!1);o.push(s)}r[e]=Io(e,a,o)})),r}function Qo({_novip:e},t,n){let r=n.db.objectStoreNames;for(let i=0;i<r.length;++i){let a=r[i],o=n.objectStore(a);e._hasGetAll=`getAll`in o;for(let e=0;e<o.indexNames.length;++e){let n=o.indexNames[e],r=o.index(n).keyPath,i=typeof r==`string`?r:`[`+Wr(r).join(`+`)+`]`;if(t[a]){let e=t[a].idxByName[i];e&&(e.name=n,delete t[a].idxByName[i],t[a].idxByName[n]=e)}}}typeof navigator<`u`&&/Safari/.test(navigator.userAgent)&&!/(Chrome\/|Edge\/)/.test(navigator.userAgent)&&Ar.WorkerGlobalScope&&Ar instanceof Ar.WorkerGlobalScope&&[].concat(navigator.userAgent.match(/Safari\/(\d*)/))[1]<604&&(e._hasGetAll=!1)}var $o=class{_parseStoresSpec(e,t){jr(e).forEach((n=>{if(e[n]!==null){var r=e[n].split(`,`).map(((e,t)=>{let n=(e=e.trim()).replace(/([&*]|\+\+)/g,``),r=/^\[/.test(n)?n.match(/^\[(.*)\]$/)[1].split(`+`):n;return Po(n,r||null,/\&/.test(e),/\*/.test(e),/\+\+/.test(e),Mr(r),t===0)})),i=r.shift();if(i.multi)throw new H.Schema(`Primary key cannot be multi-valued`);r.forEach((e=>{if(e.auto)throw new H.Schema(`Only primary key can be marked as autoIncrement (++)`);if(!e.keyPath)throw new H.Schema(`Index must have a name and cannot be an empty string`)})),t[n]=Io(n,i,r)}}))}stores(e){let t=this.db;this._cfg.storesSource=this._cfg.storesSource?Nr(this._cfg.storesSource,e):e;let n=t._versions,r={},i={};return n.forEach((e=>{Nr(r,e._cfg.storesSource),i=e._cfg.dbschema={},e._parseStoresSpec(r,i)})),t._dbSchema=i,Go(t,[t._allTables,t,t.Transaction.prototype]),Wo(t,[t._allTables,t,t.Transaction.prototype,this._cfg.tables],jr(i),i),t._storeNames=jr(i),this}upgrade(e){return this._cfg.contentUpgrade=Ii(this._cfg.contentUpgrade||U,e),this}};function es(e,t){let n=e._dbNamesDB;return n||(n=e._dbNamesDB=new Cs(Za,{addons:[],indexedDB:e,IDBKeyRange:t}),n.version(1).stores({dbnames:`name`})),n.table(`dbnames`)}function ts(e){return e&&typeof e.databases==`function`}function ns(e){return Ta((function(){return W.letThrough=!0,e()}))}function rs(){var e;return!navigator.userAgentData&&/Safari\//.test(navigator.userAgent)&&!/Chrom(e|ium)\//.test(navigator.userAgent)&&indexedDB.databases?new Promise((function(t){var n=function(){return indexedDB.databases().finally(t)};e=setInterval(n,100),n()})).finally((function(){return clearInterval(e)})):Promise.resolve()}function is(e){let t=e._state,{indexedDB:n}=e._deps;if(t.isBeingOpened||e.idbdb)return t.dbReadyPromise.then((()=>t.dbOpenError?za(t.dbOpenError):e));fi&&(t.openCanceller._stackHolder=gi()),t.isBeingOpened=!0,t.dbOpenError=null,t.openComplete=!1;let r=t.openCanceller;function i(){if(t.openCanceller!==r)throw new H.DatabaseClosed(`db.open() was cancelled`)}let a=t.dbReadyResolve,o=null,s=!1,c=()=>new G(((r,a)=>{if(i(),!n)throw new H.MissingAPI;let c=e.name,l=t.autoSchema?n.open(c):n.open(c,Math.round(10*e.verno));if(!l)throw new H.MissingAPI;l.onerror=Oo(a),l.onblocked=va(e._fireOnBlocked),l.onupgradeneeded=va((r=>{if(o=l.transaction,t.autoSchema&&!e._options.allowEmptyDB){l.onerror=ko,o.abort(),l.result.close();let e=n.deleteDatabase(c);e.onsuccess=e.onerror=va((()=>{a(new H.NoSuchDatabase(`Database ${c} doesnt exist`))}))}else{o.onerror=Oo(a);var i=r.oldVersion>2**62?0:r.oldVersion;s=i<1,e._novip.idbdb=l.result,qo(e,i/10,o,a)}}),a),l.onsuccess=va((()=>{o=null;let n=e._novip.idbdb=l.result,i=Wr(n.objectStoreNames);if(i.length>0)try{let r=n.transaction((a=i).length===1?a[0]:a,`readonly`);t.autoSchema?function({_novip:e},t,n){e.verno=t.version/10;let r=e._dbSchema=Zo(0,t,n);e._storeNames=Wr(t.objectStoreNames,0),Wo(e,[e._allTables],jr(r),r)}(e,n,r):(Qo(e,e._dbSchema,r),function(e,t){let n=Jo(Zo(0,e.idbdb,t),e._dbSchema);return!(n.add.length||n.change.some((e=>e.add.length||e.change.length)))}(e,r)||console.warn(`Dexie SchemaDiff: Schema was extended without increasing the number passed to db.version(). Some queries may fail.`)),Uo(e,r)}catch(e){}var a;Ka.push(e),n.onversionchange=va((n=>{t.vcFired=!0,e.on(`versionchange`).fire(n)})),n.onclose=va((t=>{e.on(`close`).fire(t)})),s&&function({indexedDB:e,IDBKeyRange:t},n){!ts(e)&&n!==Za&&es(e,t).put({name:n}).catch(U)}(e._deps,c),r()}),a)})).catch((e=>e&&e.name===`UnknownError`&&t.PR1398_maxLoop>0?(t.PR1398_maxLoop--,console.warn(`Dexie: Workaround for Chrome UnknownError on open()`),c()):G.reject(e)));return G.race([r,(typeof navigator>`u`?G.resolve():rs()).then(c)]).then((()=>(i(),t.onReadyBeingFired=[],G.resolve(ns((()=>e.on.ready.fire(e.vip)))).then((function n(){if(t.onReadyBeingFired.length>0){let r=t.onReadyBeingFired.reduce(Ii,U);return t.onReadyBeingFired=[],G.resolve(ns((()=>r(e.vip)))).then(n)}}))))).finally((()=>{t.onReadyBeingFired=null,t.isBeingOpened=!1})).then((()=>e)).catch((n=>{t.dbOpenError=n;try{o&&o.abort()}catch(e){}return r===t.openCanceller&&e._close(),za(n)})).finally((()=>{t.openComplete=!0,a()}))}function as(e){var t=t=>e.next(t),n=i(t),r=i((t=>e.throw(t)));function i(e){return t=>{var i=e(t),a=i.value;return i.done?a:a&&typeof a.then==`function`?a.then(n,r):Mr(a)?Promise.all(a).then(n,r):n(a)}}return i(t)()}function os(e,t,n){var r=arguments.length;if(r<2)throw new H.InvalidArgument(`Too few arguments`);for(var i=Array(r-1);--r;)i[r-1]=arguments[r];return n=i.pop(),[e,$r(i),n]}function ss(e,t,n,r,i){return G.resolve().then((()=>{let a=W.transless||W,o=e._createTransaction(t,n,e._dbSchema,r),s={trans:o,transless:a};if(r)o.idbtrans=r.idbtrans;else try{o.create(),e._state.PR1398_maxLoop=3}catch(r){return r.name===Ti.InvalidState&&e.isOpen()&&--e._state.PR1398_maxLoop>0?(console.warn(`Dexie: Need to reopen db`),e._close(),e.open().then((()=>ss(e,t,n,null,i)))):za(r)}let c=di(i),l;c&&Ea();let u=G.follow((()=>{if(l=i.call(o,o),l){if(c){var e=Da.bind(null,null);l.then(e,e)}else typeof l.next==`function`&&typeof l.throw==`function`&&(l=as(l))}}),s);return(l&&typeof l.then==`function`?G.resolve(l).then((e=>o.active?e:za(new H.PrematureCommit(`Transaction committed too early. See http://bit.ly/2kdckMn`)))):u.then((()=>l))).then((e=>(r&&o._resolve(),o._completion.then((()=>e))))).catch((e=>(o._reject(e),za(e))))}))}function cs(e,t,n){let r=Mr(e)?e.slice():[e];for(let e=0;e<n;++e)r.push(t);return r}var ls={stack:`dbcore`,name:`VirtualIndexMiddleware`,level:1,create:function(e){return V(V({},e),{},{table(t){let n=e.table(t),{schema:r}=n,i={},a=[];function o(e,t,n){let r=Vo(e),s=i[r]=i[r]||[],c=e==null?0:typeof e==`string`?1:e.length,l=t>0,u=V(V({},n),{},{isVirtual:l,keyTail:t,keyLength:c,extractKey:Ro(e),unique:!l&&n.unique});return s.push(u),u.isPrimaryKey||a.push(u),c>1&&o(c===2?e[0]:e.slice(0,c-1),t+1,n),s.sort(((e,t)=>e.keyTail-t.keyTail)),u}let s=o(r.primaryKey.keyPath,0,r.primaryKey);i[`:id`]=[s];for(let e of r.indexes)o(e.keyPath,0,e);function c(t){let n=t.query.index;return n.isVirtual?V(V({},t),{},{query:{index:n,range:(r=t.query.range,i=n.keyTail,{type:r.type===1?2:r.type,lower:cs(r.lower,r.lowerOpen?e.MAX_KEY:e.MIN_KEY,i),lowerOpen:!0,upper:cs(r.upper,r.upperOpen?e.MIN_KEY:e.MAX_KEY,i),upperOpen:!0})}}):t;var r,i}return V(V({},n),{},{schema:V(V({},r),{},{primaryKey:s,indexes:a,getIndexByKeyPath:function(e){let t=i[Vo(e)];return t&&t[0]}}),count:e=>n.count(c(e)),query:e=>n.query(c(e)),openCursor(t){let{keyTail:r,isVirtual:i,keyLength:a}=t.query.index;return i?n.openCursor(c(t)).then((n=>n&&function(n){return Object.create(n,{continue:{value:function(i){i==null?t.unique?n.continue(n.key.slice(0,a).concat(t.reverse?e.MIN_KEY:e.MAX_KEY,r)):n.continue():n.continue(cs(i,t.reverse?e.MAX_KEY:e.MIN_KEY,r))}},continuePrimaryKey:{value(t,i){n.continuePrimaryKey(cs(t,e.MAX_KEY,r),i)}},primaryKey:{get:()=>n.primaryKey},key:{get(){let e=n.key;return a===1?e[0]:e.slice(0,a)}},value:{get:()=>n.value}})}(n))):n.openCursor(t)}})}})}};function us(e,t,n,r){return n=n||{},r=r||``,jr(e).forEach((i=>{if(Ir(t,i)){var a=e[i],o=t[i];if(typeof a==`object`&&typeof o==`object`&&a&&o){let e=oi(a);e===oi(o)?e===`Object`?us(a,o,n,r+i+`.`):a!==o&&(n[r+i]=t[i]):n[r+i]=t[i]}else a!==o&&(n[r+i]=t[i])}else n[r+i]=void 0})),jr(t).forEach((i=>{Ir(e,i)||(n[r+i]=t[i])})),n}var ds={stack:`dbcore`,name:`HooksMiddleware`,level:2,create:e=>V(V({},e),{},{table(t){let n=e.table(t),{primaryKey:r}=n.schema;return V(V({},n),{},{mutate(e){let i=W.trans,{deleting:a,creating:o,updating:s}=i.table(t).hook;switch(e.type){case`add`:if(o.fire===U)break;return i._promise(`readwrite`,(()=>c(e)),!0);case`put`:if(o.fire===U&&s.fire===U)break;return i._promise(`readwrite`,(()=>c(e)),!0);case`delete`:if(a.fire===U)break;return i._promise(`readwrite`,(()=>c(e)),!0);case`deleteRange`:if(a.fire===U)break;return i._promise(`readwrite`,(()=>function(e){return l(e.trans,e.range,1e4)}(e)),!0)}return n.mutate(e);function c(e){let t=W.trans,i=e.keys||function(e,t){return t.type===`delete`?t.keys:t.keys||t.values.map(e.extractKey)}(r,e);if(!i)throw Error(`Keys missing`);return(e=e.type===`add`||e.type===`put`?V(V({},e),{},{keys:i}):V({},e)).type!==`delete`&&(e.values=[...e.values]),e.keys&&(e.keys=[...e.keys]),function(e,t,n){return t.type===`add`?Promise.resolve([]):e.getMany({trans:t.trans,keys:n,cache:`immutable`})}(n,e,i).then((c=>{let l=i.map(((n,i)=>{let l=c[i],u={onerror:null,onsuccess:null};if(e.type===`delete`)a.fire.call(u,n,l,t);else if(e.type===`add`||l===void 0){let a=o.fire.call(u,n,e.values[i],t);n==null&&a!=null&&(n=a,e.keys[i]=n,r.outbound||Xr(e.values[i],r.keyPath,n))}else{let r=us(l,e.values[i]),a=s.fire.call(u,r,n,l,t);if(a){let t=e.values[i];Object.keys(a).forEach((e=>{Ir(t,e)?t[e]=a[e]:Xr(t,e,a[e])}))}}return u}));return n.mutate(e).then((({failures:t,results:n,numFailures:r,lastResult:a})=>{for(let r=0;r<i.length;++r){let a=n?n[r]:i[r],o=l[r];a==null?o.onerror&&o.onerror(t[r]):o.onsuccess&&o.onsuccess(e.type===`put`&&c[r]?e.values[r]:a)}return{failures:t,results:n,numFailures:r,lastResult:a}})).catch((e=>(l.forEach((t=>t.onerror&&t.onerror(e))),Promise.reject(e))))}))}function l(e,t,i){return n.query({trans:e,values:!1,query:{index:r,range:t},limit:i}).then((({result:n})=>c({type:`delete`,keys:n,trans:e}).then((r=>r.numFailures>0?Promise.reject(r.failures[0]):n.length<i?{failures:[],numFailures:0,lastResult:void 0}:l(e,V(V({},t),{},{lower:n[n.length-1],lowerOpen:!0}),i)))))}}})}})};function fs(e,t,n){try{if(!t||t.keys.length<e.length)return null;let r=[];for(let i=0,a=0;i<t.keys.length&&a<e.length;++i)mo(t.keys[i],e[a])===0&&(r.push(n?ri(t.values[i]):t.values[i]),++a);return r.length===e.length?r:null}catch(e){return null}}var ps={stack:`dbcore`,level:-1,create:e=>({table:t=>{let n=e.table(t);return V(V({},n),{},{getMany:e=>{if(!e.cache)return n.getMany(e);let t=fs(e.keys,e.trans._cache,e.cache===`clone`);return t?G.resolve(t):n.getMany(e).then((t=>(e.trans._cache={keys:e.keys,values:e.cache===`clone`?ri(t):t},t)))},mutate:e=>(e.type!==`add`&&(e.trans._cache=null),n.mutate(e))})}})};function ms(e){return!(`from`in e)}var hs=function(e,t){if(!this){let t=new hs;return e&&`d`in e&&Nr(t,e),t}Nr(this,arguments.length?{d:1,from:e,to:arguments.length>1?t:e}:{d:0})};function gs(e,t,n){let r=mo(t,n);if(isNaN(r))return;if(r>0)throw RangeError();if(ms(e))return Nr(e,{from:t,to:n,d:1});let i=e.l,a=e.r;if(mo(n,e.from)<0)return i?gs(i,t,n):e.l={from:t,to:n,d:1,l:null,r:null},bs(e);if(mo(t,e.to)>0)return a?gs(a,t,n):e.r={from:t,to:n,d:1,l:null,r:null},bs(e);mo(t,e.from)<0&&(e.from=t,e.l=null,e.d=a?a.d+1:1),mo(n,e.to)>0&&(e.to=n,e.r=null,e.d=e.l?e.l.d+1:1);let o=!e.r;i&&!e.l&&_s(e,i),a&&o&&_s(e,a)}function _s(e,t){ms(t)||function e(t,{from:n,to:r,l:i,r:a}){gs(t,n,r),i&&e(t,i),a&&e(t,a)}(e,t)}function vs(e,t){let n=ys(t),r=n.next();if(r.done)return!1;let i=r.value,a=ys(e),o=a.next(i.from),s=o.value;for(;!r.done&&!o.done;){if(mo(s.from,i.to)<=0&&mo(s.to,i.from)>=0)return!0;mo(i.from,s.from)<0?i=(r=n.next(s.from)).value:s=(o=a.next(i.from)).value}return!1}function ys(e){let t=ms(e)?null:{s:0,n:e};return{next(e){let n=arguments.length>0;for(;t;)switch(t.s){case 0:if(t.s=1,n)for(;t.n.l&&mo(e,t.n.from)<0;)t={up:t,n:t.n.l,s:1};else for(;t.n.l;)t={up:t,n:t.n.l,s:1};case 1:if(t.s=2,!n||mo(e,t.n.to)<=0)return{value:t.n,done:!1};case 2:if(t.n.r){t.s=3,t={up:t,n:t.n.r,s:0};continue}case 3:t=t.up}return{done:!0}}}}function bs(e){var t,n;let r=(((t=e.r)==null?void 0:t.d)||0)-(((n=e.l)==null?void 0:n.d)||0),i=r>1?`r`:r<-1?`l`:``;if(i){let t=i===`r`?`l`:`r`,n=V({},e),r=e[i];e.from=r.from,e.to=r.to,e[i]=r[i],n[i]=r[t],e[t]=n,n.d=xs(n)}e.d=xs(e)}function xs({r:e,l:t}){return(e?t?Math.max(e.d,t.d):e.d:t?t.d:0)+1}Lr(hs.prototype,{add(e){return _s(this,e),this},addKey(e){return gs(this,e,e),this},addKeys(e){return e.forEach((e=>gs(this,e,e))),this},[si](){return ys(this)}});var Ss={stack:`dbcore`,level:0,create:e=>{let t=e.schema.name,n=new hs(e.MIN_KEY,e.MAX_KEY);return V(V({},e),{},{table:r=>{let i=e.table(r),{schema:a}=i,{primaryKey:o}=a,{extractKey:s,outbound:c}=o,l=V(V({},i),{},{mutate:e=>{let o=e.trans,s=o.mutatedParts||(o.mutatedParts={}),c=e=>{let n=`idb://${t}/${r}/${e}`;return s[n]||(s[n]=new hs)},l=c(``),u=c(`:dels`),{type:d}=e,[f,p]=e.type===`deleteRange`?[e.range]:e.type===`delete`?[e.keys]:e.values.length<50?[[],e.values]:[],m=e.trans._cache;return i.mutate(e).then((e=>{if(Mr(f)){d!==`delete`&&(f=e.results),l.addKeys(f);let t=fs(f,m);t||d===`add`||u.addKeys(f),(t||p)&&function(e,t,n,r){function i(t){let i=e(t.name||``);function a(e){return e==null?null:t.extractKey(e)}let o=e=>t.multiEntry&&Mr(e)?e.forEach((e=>i.addKey(e))):i.addKey(e);(n||r).forEach(((e,t)=>{let i=n&&a(n[t]),s=r&&a(r[t]);mo(i,s)!==0&&(i!=null&&o(i),s!=null&&o(s))}))}t.indexes.forEach(i)}(c,a,t,p)}else if(f){let e={from:f.lower,to:f.upper};u.add(e),l.add(e)}else l.add(n),u.add(n),a.indexes.forEach((e=>c(e.name).add(n)));return e}))}}),u=({query:{index:t,range:n}})=>{var r,i;return[t,new hs((r=n.lower)==null?e.MIN_KEY:r,(i=n.upper)==null?e.MAX_KEY:i)]},d={get:e=>[o,new hs(e.key)],getMany:e=>[o,new hs().addKeys(e.keys)],count:u,query:u,openCursor:u};return jr(d).forEach((e=>{l[e]=function(a){let{subscr:o}=W;if(o){let l=e=>{let n=`idb://${t}/${r}/${e}`;return o[n]||(o[n]=new hs)},u=l(``),f=l(`:dels`),[p,m]=d[e](a);if(l(p.name||``).add(m),!p.isPrimaryKey){if(e!==`count`){let t=e===`query`&&c&&a.values&&i.query(V(V({},a),{},{values:!1}));return i[e].apply(this,arguments).then((n=>{if(e===`query`){if(c&&a.values)return t.then((({result:e})=>(u.addKeys(e),n)));let e=a.values?n.result.map(s):n.result;a.values?u.addKeys(e):f.addKeys(e)}else if(e===`openCursor`){let e=n,t=a.values;return e&&Object.create(e,{key:{get:()=>(f.addKey(e.primaryKey),e.key)},primaryKey:{get(){let t=e.primaryKey;return f.addKey(t),t}},value:{get:()=>(t&&u.addKey(e.primaryKey),e.value)}})}return n}))}f.add(n)}}return i[e].apply(this,arguments)}})),l}})}},Cs=class e{constructor(t,n){this._middlewares={},this.verno=0;let r=e.dependencies;this._options=n=V({addons:e.addons,autoOpen:!0,indexedDB:r.indexedDB,IDBKeyRange:r.IDBKeyRange},n),this._deps={indexedDB:n.indexedDB,IDBKeyRange:n.IDBKeyRange};let{addons:i}=n;this._dbSchema={},this._versions=[],this._storeNames=[],this._allTables={},this.idbdb=null,this._novip=this;let a={dbOpenError:null,isBeingOpened:!1,onReadyBeingFired:null,openComplete:!1,dbReadyResolve:U,dbReadyPromise:null,cancelOpen:U,openCanceller:null,autoSchema:!0,PR1398_maxLoop:3};var o;a.dbReadyPromise=new G((e=>{a.dbReadyResolve=e})),a.openCanceller=new G(((e,t)=>{a.cancelOpen=t})),this._state=a,this.name=t,this.on=io(this,`populate`,`blocked`,`versionchange`,`close`,{ready:[Ii,U]}),this.on.ready.subscribe=Gr(this.on.ready.subscribe,(t=>(n,r)=>{e.vip((()=>{let e=this._state;if(e.openComplete)e.dbOpenError||G.resolve().then(n),r&&t(n);else if(e.onReadyBeingFired)e.onReadyBeingFired.push(n),r&&t(n);else{t(n);let e=this;r||t((function t(){e.on.ready.unsubscribe(n),e.on.ready.unsubscribe(t)}))}}))})),this.Collection=(o=this,ao(_o.prototype,(function(e,t){this.db=o;let n=to,r=null;if(t)try{n=t()}catch(e){r=e}let i=e._ctx,a=i.table,s=a.hook.reading.fire;this._ctx={table:a,index:i.index,isPrimKey:!i.index||a.schema.primKey.keyPath&&i.index===a.schema.primKey.name,range:n,keysOnly:!1,dir:`next`,unique:``,algorithm:null,filter:null,replayFilter:null,justLimit:!0,isMatch:null,offset:0,limit:1/0,error:r,or:i.or,valueMapper:s===ki?null:s}}))),this.Table=function(e){return ao(ro.prototype,(function(t,n,r){this.db=e,this._tx=r,this.name=t,this.schema=n,this.hook=e._allTables[t]?e._allTables[t].hook:io(null,{creating:[Mi,U],reading:[Ai,ki],updating:[Pi,U],deleting:[Ni,U]})}))}(this),this.Transaction=function(e){return ao(No.prototype,(function(t,n,r,i,a){this.db=e,this.mode=t,this.storeNames=n,this.schema=r,this.chromeTransactionDurability=i,this.idbtrans=null,this.on=io(this,`complete`,`error`,`abort`),this.parent=a||null,this.active=!0,this._reculock=0,this._blockedFuncs=[],this._resolve=null,this._reject=null,this._waitingFor=null,this._waitingQueue=null,this._spinCount=0,this._completion=new G(((e,t)=>{this._resolve=e,this._reject=t})),this._completion.then((()=>{this.active=!1,this.on.complete.fire()}),(e=>{var t=this.active;return this.active=!1,this.on.error.fire(e),this.parent?this.parent._reject(e):t&&this.idbtrans&&this.idbtrans.abort(),za(e)}))}))}(this),this.Version=function(e){return ao($o.prototype,(function(t){this.db=e,this._cfg={version:t,storesSource:null,dbschema:{},tables:{},contentUpgrade:null}}))}(this),this.WhereClause=function(e){return ao(Do.prototype,(function(t,n,r){this.db=e,this._ctx={table:t,index:n===`:id`?null:n,or:r};let i=e._deps.indexedDB;if(!i)throw new H.MissingAPI;this._cmp=this._ascending=i.cmp.bind(i),this._descending=(e,t)=>i.cmp(t,e),this._max=(e,t)=>i.cmp(e,t)>0?e:t,this._min=(e,t)=>i.cmp(e,t)<0?e:t,this._IDBKeyRange=e._deps.IDBKeyRange}))}(this),this.on(`versionchange`,(e=>{e.newVersion>0?console.warn(`Another connection wants to upgrade database '${this.name}'. Closing db now to resume the upgrade.`):console.warn(`Another connection wants to delete database '${this.name}'. Closing db now to resume the delete request.`),this.close()})),this.on(`blocked`,(e=>{!e.newVersion||e.newVersion<e.oldVersion?console.warn(`Dexie.delete('${this.name}') was blocked`):console.warn(`Upgrade '${this.name}' blocked by other connection holding version ${e.oldVersion/10}`)})),this._maxKey=Lo(n.IDBKeyRange),this._createTransaction=(e,t,n,r)=>new this.Transaction(e,t,n,this._options.chromeTransactionDurability,r),this._fireOnBlocked=e=>{this.on(`blocked`).fire(e),Ka.filter((e=>e.name===this.name&&e!==this&&!e._state.vcFired)).map((t=>t.on(`versionchange`).fire(e)))},this.use(ls),this.use(ds),this.use(Ss),this.use(ps),this.vip=Object.create(this,{_vip:{value:!0}}),i.forEach((e=>e(this)))}version(e){if(isNaN(e)||e<.1)throw new H.Type(`Given version is not a positive number`);if(e=Math.round(10*e)/10,this.idbdb||this._state.isBeingOpened)throw new H.Schema(`Cannot add version when database is open`);this.verno=Math.max(this.verno,e);let t=this._versions;var n=t.filter((t=>t._cfg.version===e))[0];return n||(n=new this.Version(e),t.push(n),t.sort(Ko),n.stores({}),this._state.autoSchema=!1,n)}_whenReady(e){return this.idbdb&&(this._state.openComplete||W.letThrough||this._vip)?e():new G(((e,t)=>{if(this._state.openComplete)return t(new H.DatabaseClosed(this._state.dbOpenError));if(!this._state.isBeingOpened){if(!this._options.autoOpen)return void t(new H.DatabaseClosed);this.open().catch(U)}this._state.dbReadyPromise.then(e,t)})).then(e)}use({stack:e,create:t,level:n,name:r}){r&&this.unuse({stack:e,name:r});let i=this._middlewares[e]||(this._middlewares[e]=[]);return i.push({stack:e,create:t,level:n==null?10:n,name:r}),i.sort(((e,t)=>e.level-t.level)),this}unuse({stack:e,name:t,create:n}){return e&&this._middlewares[e]&&(this._middlewares[e]=this._middlewares[e].filter((e=>n?e.create!==n:!!t&&e.name!==t))),this}open(){return is(this)}_close(){let e=this._state,t=Ka.indexOf(this);if(t>=0&&Ka.splice(t,1),this.idbdb){try{this.idbdb.close()}catch(e){}this._novip.idbdb=null}e.dbReadyPromise=new G((t=>{e.dbReadyResolve=t})),e.openCanceller=new G(((t,n)=>{e.cancelOpen=n}))}close(){this._close();let e=this._state;this._options.autoOpen=!1,e.dbOpenError=new H.DatabaseClosed,e.isBeingOpened&&e.cancelOpen(e.dbOpenError)}delete(){let e=arguments.length>0,t=this._state;return new G(((n,r)=>{let i=()=>{this.close();var e=this._deps.indexedDB.deleteDatabase(this.name);e.onsuccess=va((()=>{(function({indexedDB:e,IDBKeyRange:t},n){!ts(e)&&n!==Za&&es(e,t).delete(n).catch(U)})(this._deps,this.name),n()})),e.onerror=Oo(r),e.onblocked=this._fireOnBlocked};if(e)throw new H.InvalidArgument(`Arguments not allowed in db.delete()`);t.isBeingOpened?t.dbReadyPromise.then(i):i()}))}backendDB(){return this.idbdb}isOpen(){return this.idbdb!==null}hasBeenClosed(){let e=this._state.dbOpenError;return e&&e.name===`DatabaseClosed`}hasFailed(){return this._state.dbOpenError!==null}dynamicallyOpened(){return this._state.autoSchema}get tables(){return jr(this._allTables).map((e=>this._allTables[e]))}transaction(){let e=os.apply(this,arguments);return this._transaction.apply(this,e)}_transaction(e,t,n){let r=W.trans;r&&r.db===this&&e.indexOf(`!`)===-1||(r=null);let i=e.indexOf(`?`)!==-1,a,o;e=e.replace(`!`,``).replace(`?`,``);try{if(o=t.map((e=>{var t=e instanceof this.Table?e.name:e;if(typeof t!=`string`)throw TypeError(`Invalid table argument to Dexie.transaction(). Only Table or String are allowed`);return t})),e==`r`||e===Qa)a=Qa;else{if(e!=`rw`&&e!=$a)throw new H.InvalidArgument(`Invalid transaction mode: `+e);a=$a}if(r){if(r.mode===Qa&&a===$a){if(!i)throw new H.SubTransaction(`Cannot enter a sub-transaction with READWRITE mode when parent transaction is READONLY`);r=null}r&&o.forEach((e=>{if(r&&r.storeNames.indexOf(e)===-1){if(!i)throw new H.SubTransaction(`Table `+e+` not included in parent transaction.`);r=null}})),i&&r&&!r.active&&(r=null)}}catch(e){return r?r._promise(null,((t,n)=>{n(e)})):za(e)}let s=ss.bind(null,this,a,o,r,n);return r?r._promise(a,s,`lock`):W.trans?Na(W.transless,(()=>this._whenReady(s))):this._whenReady(s)}table(e){if(!Ir(this._allTables,e))throw new H.InvalidTable(`Table ${e} does not exist`);return this._allTables[e]}},ws=typeof Symbol<`u`&&`observable`in Symbol?Symbol.observable:`@@observable`,Ts=class{constructor(e){this._subscribe=e}subscribe(e,t,n){return this._subscribe(e&&typeof e!=`function`?e:{next:e,error:t,complete:n})}[ws](){return this}};function Es(e,t){return jr(t).forEach((n=>{_s(e[n]||(e[n]=new hs),t[n])})),e}function Ds(e){let t,n=!1,r=new Ts((r=>{let i=di(e),a=!1,o={},s={},c={get closed(){return a},unsubscribe:()=>{a=!0,Mo.storagemutated.unsubscribe(f)}};r.start&&r.start(c);let l=!1,u=!1;function d(){return jr(s).some((e=>o[e]&&vs(o[e],s[e])))}let f=e=>{Es(o,e),d()&&p()},p=()=>{if(l||a)return;o={};let m={},h=function(t){i&&Ea();let n=()=>Ta(e,{subscr:t,trans:null}),r=W.trans?Na(W.transless,n):n();return i&&r.then(Da,Da),r}(m);u||(Mo(Ao,f),u=!0),l=!0,Promise.resolve(h).then((e=>{n=!0,t=e,l=!1,a||(d()?p():(o={},s=m,r.next&&r.next(e)))}),(e=>{l=!1,n=!1,r.error&&r.error(e),c.unsubscribe()}))};return p(),c}));return r.hasValue=()=>n,r.getValue=()=>t,r}var Os;try{Os={indexedDB:Ar.indexedDB||Ar.mozIndexedDB||Ar.webkitIndexedDB||Ar.msIndexedDB,IDBKeyRange:Ar.IDBKeyRange||Ar.webkitIDBKeyRange}}catch(e){Os={indexedDB:null,IDBKeyRange:null}}var ks=Cs;function As(e){let t=js;try{js=!0,Mo.storagemutated.fire(e)}finally{js=t}}Lr(ks,V(V({},Oi),{},{delete:e=>new ks(e,{addons:[]}).delete(),exists:e=>new ks(e,{addons:[]}).open().then((e=>(e.close(),!0))).catch(`NoSuchDatabaseError`,(()=>!1)),getDatabaseNames(e){try{return function({indexedDB:e,IDBKeyRange:t}){return ts(e)?Promise.resolve(e.databases()).then((e=>e.map((e=>e.name)).filter((e=>e!==Za)))):es(e,t).toCollection().primaryKeys()}(ks.dependencies).then(e)}catch(e){return za(new H.MissingAPI)}},defineClass:()=>function(e){Nr(this,e)},ignoreTransaction:e=>W.trans?Na(W.transless,e):e(),vip:ns,async:function(e){return function(){try{var t=as(e.apply(this,arguments));return t&&typeof t.then==`function`?t:G.resolve(t)}catch(e){return za(e)}}},spawn:function(e,t,n){try{var r=as(e.apply(n,t||[]));return r&&typeof r.then==`function`?r:G.resolve(r)}catch(e){return za(e)}},currentTransaction:{get:()=>W.trans||null},waitFor:function(e,t){let n=G.resolve(typeof e==`function`?ks.ignoreTransaction(e):e).timeout(t||6e4);return W.trans?W.trans.waitFor(n):n},Promise:G,debug:{get:()=>fi,set:e=>{pi(e,e===`dexie`?()=>!0:Xa)}},derive:Br,extend:Nr,props:Lr,override:Gr,Events:io,on:Mo,liveQuery:Ds,extendObservabilitySet:Es,getByKeyPath:Yr,setByKeyPath:Xr,delByKeyPath:function(e,t){typeof t==`string`?Xr(e,t,void 0):`length`in t&&[].map.call(t,(function(t){Xr(e,t,void 0)}))},shallowClone:Zr,deepClone:ri,getObjectDiff:us,cmp:mo,asap:qr,minKey:Ua,addons:[],connections:Ka,errnames:Ti,dependencies:Os,semVer:Va,version:Va.split(`.`).map((e=>parseInt(e))).reduce(((e,t,n)=>e+t/10**(2*n)))})),ks.maxKey=Lo(ks.dependencies.IDBKeyRange),typeof dispatchEvent<`u`&&typeof addEventListener<`u`&&(Mo(Ao,(e=>{if(!js){let t;qa?(t=document.createEvent(`CustomEvent`),t.initCustomEvent(jo,!0,!0,e)):t=new CustomEvent(jo,{detail:e}),js=!0,dispatchEvent(t),js=!1}})),addEventListener(jo,(({detail:e})=>{js||As(e)})));var js=!1;if(typeof BroadcastChannel<`u`){let e=new BroadcastChannel(jo);typeof e.unref==`function`&&e.unref(),Mo(Ao,(t=>{js||e.postMessage(t)})),e.onmessage=e=>{e.data&&As(e.data)}}else if(typeof self<`u`&&typeof navigator<`u`){Mo(Ao,(e=>{try{js||(typeof localStorage<`u`&&localStorage.setItem(jo,JSON.stringify({trig:Math.random(),changedParts:e})),typeof self.clients==`object`&&[...self.clients.matchAll({includeUncontrolled:!0})].forEach((t=>t.postMessage({type:jo,changedParts:e}))))}catch(e){}})),typeof addEventListener<`u`&&addEventListener(`storage`,(e=>{if(e.key===jo){let t=JSON.parse(e.newValue);t&&As(t.changedParts)}}));let e=self.document&&navigator.serviceWorker;e&&e.addEventListener(`message`,(function({data:e}){e&&e.type===jo&&As(e.changedParts)}))}G.rejectionMapper=function(e,t){if(!e||e instanceof xi||e instanceof TypeError||e instanceof SyntaxError||!e.name||!Di[e.name])return e;var n=new Di[e.name](t||e.message,e);return`stack`in e&&zr(n,`stack`,{get:function(){return this.inner.stack}}),n},pi(fi,Xa);var K=new class extends Cs{constructor(){super(`utopya`),this.version(1).stores({providers:`++id`,categories:`id, [providerId+kind]`,channels:`id, providerId, [providerId+number], [categoryId+number]`,movies:`id, providerId, [categoryId+added]`,series:`id, providerId, [categoryId+added]`,episodes:`id, seriesId, providerId`}),this.version(2).stores({favorites:`id, [providerId+kind]`,recents:`id, [providerId+kind]`}),this.version(3).stores({programs:`id, providerId, [key+start]`,epgLinks:`id, providerId`}),this.version(4).stores({reminders:`id, start`}),this.version(5).stores({progress:`id, providerId, seriesId, updated`}),this.version(6).stores({movies:`id, providerId, [categoryId+added], [providerId+vkey]`,series:`id, providerId, [categoryId+added], [providerId+vkey]`}),this.version(7).stores({movies:`id, providerId, [categoryId+added], [providerId+vkey], [providerId+added]`,series:`id, providerId, [categoryId+added], [providerId+vkey], [providerId+added]`}),this.version(8).stores({catState:`id, providerId`,chanState:`id, providerId`,groups:`++id, providerId`,groupItems:`[groupId+channelId], groupId, channelId`}),this.version(9).stores({epgChannels:`id, providerId`}),this.version(10).stores({movies:`id, providerId, [categoryId+added], [providerId+vkey], [providerId+added], [providerId+rating]`,series:`id, providerId, [categoryId+added], [providerId+vkey], [providerId+added], [providerId+rating]`})}};function Ms(...e){let t=e.join(`|`),n=2166136261,r=84696351;for(let e=0;e<t.length;e++){let i=t.charCodeAt(e);n=Math.imul(n^i,16777619),r=Math.imul(r^i,1540483477)}return(r>>>0)%2097152*4294967296+(n>>>0)||1}var Ns={_doc:`İçerik sınıflandırma. adultWords: kategori adı küçük harfe çevrilip (katlanmadan) alt dize araması. M3U girdisi: adres yolunda /series/ → dizi, /movie/ veya /movies/ → film; uzantı vodExtensions'taysa bölüm kalıbı varsa dizi yoksa film; uzantısız/uzun uzantılı adreslerde grup adı (küçük harf) seriesWords içeriyor ve bölüm kalıbı varsa dizi, movieWords'ten biriyle başlıyor ya da 'vod' içeriyorsa film; aksi halde canlı. notMatchWords: spor programı başlığında geçerse maç sayılmaz (büyük/küçük harf duyarsız).`,adultWords:[`xxx`,`adult`,`+18`,`18+`,`yetişkin`,`yetiskin`,`porn`,`erotic`,`erotik`],vodExtensions:[`mp4`,`mkv`,`avi`,`mov`,`wmv`,`flv`,`m4v`,`webm`,`mpg`,`mpeg`,`divx`],seriesWords:[`series`,`dizi`,`season`,`sezon`,`tv shows`,`shows`],movieWords:[`movie`,`film`,`vod`,`sinema`,`cinema`,`box office`],notMatchWords:[`özet`,`ozet`,`highlights`,`tekrar`,`replay`,`stüdyo`,`studio`,`analiz`,`magazin`,`klip`]},Ps={_doc:`Ad işleme. foldName: küçük harf + fold eşlemesi (platform/tür tanıma, arama). normalizeName: küçük harf + normalizeFold, [..] ve (..) silinir, qualityTags harf olmayan sınırlarda silinir, baştaki 2-3 harfli ülke öneki ('tr:', 'uk |') silinir, yalnızca harf/rakam kalır (EPG ve sürüm eşleşmesi). Yapısal regex'ler (ülke öneki, yıl, etiket) her platformun kodunda; davranış fixtures/cases/names.json ile sınanır. U+0307 (birleşik nokta) silinir: 'İ'.lowercase() = 'i̇' olduğundan aksi halde 'DİZİ' 'dizi' ile eşleşmez.`,fold:{"̇":``,ı:`i`,ş:`s`,ğ:`g`,ü:`u`,ö:`o`,ç:`c`,ß:`b`,ə:`e`},normalizeFold:{"̇":``,ı:`i`,ş:`s`,ğ:`g`,ü:`u`,ö:`o`,ç:`c`},qualityTags:[`uhd`,`fhd`,`hd`,`sd`,`4k`,`8k`,`hevc`,`h265`,`1080p`,`720p`,`backup`,`yedek`],removeWordsTrim:` |-:/●`},Fs=(()=>{try{return RegExp(`\\p{L}`,`u`).test(`ş`)}catch(e){return!1}})(),Is=Fs?`\\p{L}`:`A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u024F\\u0370-\\u03FF\\u0400-\\u04FF\\u0590-\\u06FF\\u3040-\\u30FF\\u4E00-\\u9FFF\\uAC00-\\uD7AF`,Ls=(e,t=``)=>new RegExp(e.replace(/LETTER/g,Is),Fs?t+`u`:t),Rs=e=>{let t=RegExp(`[${Object.keys(e).join(``)}]`,`g`);return n=>n.replace(t,t=>e[t])},zs=Rs(Ps.fold),Bs=Rs(Ps.normalizeFold),Vs=e=>zs(e.toLowerCase()),Hs=/\[[^\]]*\]|\([^)]*\)/g,Us=RegExp(`(^|[^a-z])(${Ps.qualityTags.join(`|`)})(?![a-z])`,`g`),Ws=/^[a-z]{2,3}\s*[:|]\s*/,Gs=Ls(`[^LETTER0-9]`,`g`);function Ks(e){return Bs(e.toLowerCase()).replace(Hs,` `).replace(Us,`$1 `).replace(Ws,` `).replace(Gs,``)}var qs=/^\s*(?:\[([A-Za-z]{2,3})\]\s*[|:\-●•]*|([A-Za-z]{2,3})\s*[|:\-●•]+)\s*/;function Js(e){let t=qs.exec(e);return t?(t[1]||t[2]).toUpperCase():null}var Ys=/\[([^\]]*)]|\(([^)]*)\)/g,Xs=/^(?:19|20)\d{2}$/;function Zs(e){let t=[];return e.replace(Ys,(e,n,r)=>{let i=(n||r||``).trim();return i&&!Xs.test(i)&&t.push(i),``}),t.length?t.join(` · `):null}var Qs=e=>e.replace(Ys,` `).trim();function $s(e){let t=[];for(let n of e.split(` / `)){let e=Qs(n);e&&t.indexOf(e)<0&&t.push(e)}return t.length?t:[e]}var ec=e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`),tc=(e,t)=>{let n=0,r=e.length;for(;n<r&&t.indexOf(e[n])>=0;)n++;for(;r>n&&t.indexOf(e[r-1])>=0;)r--;return e.slice(n,r)};function nc(e,t){if(!t.length)return e;let n=e;for(let e of t)n=n.replace(new RegExp(ec(e),`gi`),` `);return n=tc(n.replace(/\s{2,}/g,` `),Ps.removeWordsTrim),n.trim()?n:e}var rc=Ls(`[LETTER]{2,}.*\\s(?:-|–|vs\\.?|v)\\s.*[LETTER]{2,}`,`i`);function ic(e){let t=e.toLowerCase();return rc.test(e)&&!Ns.notMatchWords.some(e=>t.indexOf(e)>=0)}var ac={_doc:`Kategori adından platform tanıma. Ad foldName ile katlanır, separators boşluğa çevrilir, başa/sona boşluk eklenir; keywords'ten biri geçiyor ve excludes'tan hiçbiri geçmiyorsa eşleşir. Listede İLK eşleşen kazanır (sıra önemli). logo: Wikimedia Commons dosya adı (https://commons.wikimedia.org/wiki/Special:FilePath/<ad>?width=320) ya da https ile başlıyorsa doğrudan adres; null ise ad yazı logosu olarak çizilir. tintWhite=false: kendi arka planlı logo, beyaza boyanmaz.`,separators:`|:-_/[]()●•`,platforms:[{key:`netflix`,name:`Netflix`,color:`#E50914`,keywords:[`netflix`],logo:`Netflix_2015_logo.svg`},{key:`hbo`,name:`HBO Max`,color:`#5822B4`,keywords:[`hbo`,` max `,`max original`],excludes:[`max prime`],logo:`Max_logo.svg`},{key:`disney`,name:`Disney+`,color:`#113CCF`,keywords:[`disney`],logo:`Disney%2B_logo.svg`},{key:`prime`,name:`Prime Video`,color:`#00A8E1`,keywords:[`prime`,`amazon`],excludes:[`max prime`],logo:`Amazon_Prime_Video_logo.svg`},{key:`apple`,name:`Apple TV+`,color:`#333333`,keywords:[`apple`],logo:`Apple_TV_Plus_Logo.svg`},{key:`blutv`,name:`BluTV`,color:`#0F6FFF`,keywords:[`blutv`,`blu tv`],logo:`BluTV_logo.svg`,tintWhite:!1},{key:`exxen`,name:`Exxen`,color:`#FFB800`,keywords:[`exxen`],logo:`Exxen.png`,tintWhite:!1},{key:`gain`,name:`Gain`,color:`#7B2CF5`,keywords:[`gain`],logo:`GA%C4%B0N_LOGO.jpg`,tintWhite:!1},{key:`tabii`,name:`tabii`,color:`#00B67A`,keywords:[`tabii`],logo:`Tabii_logo.svg`},{key:`tvplus`,name:`TV+`,color:`#8A7300`,keywords:[`tv+`,`tvplus`,`tv plus`,`turkcell tv`],logo:`https://tvplus.com.tr/images/pwa/icon-192x192.png`,tintWhite:!1},{key:`tod`,name:`TOD`,color:`#6D1ED4`,keywords:[`tod `,`bein connect`,`tod|`,`tod -`]},{key:`puhu`,name:`puhutv`,color:`#FF3D00`,keywords:[`puhu`],logo:`Puhutv.png`,tintWhite:!1},{key:`mubi`,name:`MUBI`,color:`#001489`,keywords:[`mubi`],logo:`Mubi_logo.svg`},{key:`paramount`,name:`Paramount+`,color:`#0064FF`,keywords:[`paramount`],logo:`Paramount_Plus.svg`},{key:`hulu`,name:`Hulu`,color:`#1CE783`,keywords:[`hulu`],logo:`Hulu_Logo.svg`},{key:`bein`,name:`beIN SPORTS`,color:`#5B2C83`,keywords:[`bein`]},{key:`ssport`,name:`S Sport`,color:`#0057B8`,keywords:[`s sport`,`ssport`]},{key:`tivibu`,name:`Tivibu`,color:`#00A0E3`,keywords:[`tivibu`]},{key:`dazn`,name:`DAZN`,color:`#1A1A1A`,keywords:[`dazn`]},{key:`sky`,name:`Sky`,color:`#0072C9`,keywords:[` sky `]},{key:`peacock`,name:`Peacock`,color:`#222222`,keywords:[`peacock`]}]},oc={_doc:`Kategori adından tür. Ad foldName ile katlanır, başa/sona boşluk eklenir (ayırıcılar çevrilmez); alt dize araması, İLK eşleşen kazanır. Hiçbiri eşleşmezse OTHER. Gruplamada sıra bu listenin sırasıdır, OTHER en sonda.`,genres:[{key:`ADULT`,keywords:[`adult`,`xxx`,`+18`,`18+`]},{key:`KIDS`,keywords:[`cocuk`,`kids`,`kinder`,`cartoon`,`cizgi`]},{key:`SPORTS`,keywords:[`spor`,`sport`,`bein`,`futbol`,`football`,`nba`,`ufc`,`f1 `,`motogp`,`epl`,`tennis`,`golf`,`dazn`,`event`]},{key:`NEWS`,keywords:[`haber`,`news`,`nachrichten`]},{key:`DOCS`,keywords:[`belgesel`,`docu`,`doku`,`documentary`,`nature`,`discovery`]},{key:`MUSIC`,keywords:[`muzik`,`music`,`musik`,`radyo`,`radio`]},{key:`MOVIES`,keywords:[`film`,`dizi`,`sinema`,`cinema`,`movie`,`kino`,`serien`,`series`,`boxset`,`yesilcam`,`actor`,`anime`]},{key:`RELIGION`,keywords:[`dini`,`religio`]},{key:`LOCAL`,keywords:[`yerel`,`local`,`regional`]},{key:`NATIONAL`,keywords:[`ulusal`,`national`,`genel`,`general`]},{key:`UHD`,keywords:[`4k`,`uhd`]},{key:`OTHER`,keywords:[]}]},sc=ac.platforms,cc=oc.genres.map(e=>e.key),lc=RegExp(`[${ac.separators.replace(/[\]\\\-^]/g,`\\$&`)}]`,`g`);function uc(e){let t=` `+Vs(e).replace(lc,` `)+` `;for(let e of sc)if(e.keywords.some(e=>t.indexOf(e)>=0)&&!(e.excludes||[]).some(e=>t.indexOf(e)>=0))return e;return null}function dc(e){return e.logo?e.logo.startsWith(`https://`)?e.logo:`https://commons.wikimedia.org/wiki/Special:FilePath/${e.logo}?width=320`:null}function fc(e){let t=` `+Vs(e)+` `,n=oc.genres.find(e=>e.keywords.some(e=>t.indexOf(e)>=0));return n?n.key:`OTHER`}function pc(e,t){return e.map((e,t)=>[e,t]).sort((e,n)=>t(e[0],n[0])||e[1]-n[1]).map(e=>e[0])}function mc(e,t){let n=new Map;for(let r of e){let e=t(r);if(e===null)continue;let i=n.get(e);i?i.push(r):n.set(e,[r])}return n}function hc(e,t,n){let r=e.filter(e=>!e.hidden&&!e.locked),i=e=>e.map(e=>e.id),a=[];return t===`COUNTRY`?(mc(r,e=>(e.country===void 0?Js(e.name):e.country)||n).forEach((e,t)=>a.push({key:`country:${t}`,categoryIds:i(e),country:t})),pc(a,(e,t)=>Number(t.country===n)-Number(e.country===n)||t.categoryIds.length-e.categoryIds.length)):t===`GENRE`?(mc(r,e=>fc(e.name)).forEach((e,t)=>a.push({key:`genre:${t}`,categoryIds:i(e),genre:t})),pc(a,(e,t)=>cc.indexOf(e.genre)-cc.indexOf(t.genre))):t===`PLATFORM`?(mc(r,e=>{var t,n;return(t=(n=uc(e.name))==null?void 0:n.key)==null?null:t}).forEach((e,t)=>{let n=sc.find(e=>e.key===t);a.push({key:`platform:${t}`,categoryIds:i(e),platform:n})}),pc(a,(e,t)=>sc.indexOf(e.platform)-sc.indexOf(t.platform))):a}var gc=e=>/^\s*()?#EXT(M3U|INF)/.test(e),_c=e=>e.split(/\s+/).filter(Boolean);async function vc(e){let t=_c(e);if(!t.length)throw new xr(`NOT_FOUND`);for(let e of t){let t=``;if(await Or(await Dr(e),e=>(t+=e,t.trim().length<16)),!gc(t))throw new xr(`PARSE`,`not m3u`)}}function yc(e){let t=e.trim().replace(/\/+$/,``);return/^https?:\/\//i.test(t)||(t=`http://${t}`),t.split(`/player_api.php`)[0].split(`/get.php`)[0].replace(/\/+$/,``)}var bc=(e,t,n={})=>{let r=[`username=${encodeURIComponent(e.username)}`,`password=${encodeURIComponent(e.password)}`];t&&r.push(`action=${t}`);for(let e in n)r.push(`${e}=${encodeURIComponent(n[e])}`);return`${yc(e.url)}/player_api.php?${r.join(`&`)}`},xc=(e,t,n)=>`${yc(e.url)}/movie/${e.username}/${e.password}/${t}.${n}`,Sc=(e,t,n)=>`${yc(e.url)}/series/${e.username}/${e.password}/${t}.${n}`,Cc=(e,t)=>{let n=e[t];return n==null||n===``||typeof n==`object`?null:String(n)},wc=(e,t)=>{let n=parseFloat(Cc(e,t)||``);return isNaN(n)?null:n};async function Tc(e){let t=``;await Or(await Dr(e),e=>{t+=e});try{let e=JSON.parse(t);return e&&typeof e==`object`&&!Array.isArray(e)?e:{}}catch(e){throw new xr(`PARSE`,`json`)}}async function Ec(e){let t=await Tc(bc(e)),n=t.user_info;if(!n||typeof n!=`object`||wc(n,`auth`)===0)throw new xr(`AUTH`);let r=(Cc(n,`status`)||``).toLowerCase();if(r===`expired`)throw new xr(`EXPIRED`);if(r&&r!==`active`)throw new xr(`AUTH`,r);return t}var Dc=new URL(`worker-VohmfNTb.js`,document.currentScript&&document.currentScript.tagName.toUpperCase()===`SCRIPT`&&document.currentScript.src||document.baseURI).href,Oc=e=>/\.m3u8?$/i.test(e);function kc(e){return new Promise(t=>e.listFiles(t,()=>t([])))}function Ac(e){return new Promise((t,n)=>tizen.filesystem.resolve(e,t,n,`r`))}async function jc(){let e=await new Promise(e=>tizen.filesystem.listStorages(e,()=>e([]))),t=[],n=async(e,r)=>{for(let i of await kc(e))i.isDirectory?r<2&&!i.name.startsWith(`.`)&&await n(i,r+1):Oc(i.name)&&t.push({name:i.name,path:i.toURI()})};for(let t of e)if(t.type===`EXTERNAL`&&t.state===`MOUNTED`)try{await n(await Ac(t.label),0)}catch(e){}return t}async function Mc(e){let t=await Ac(e);return new Promise((e,n)=>t.readAsText(e,n,`UTF-8`))}var Nc=[`HERO`,`CONTINUE`,`UP_NEXT`,`NEW_EPISODES`,`FAVORITE_CHANNELS`,`STARTING_SOON`,`RECENT_CHANNELS`,`TONIGHT_SPORTS`,`SCHEDULE`,`PLATFORMS`,`FOR_YOU`,`NEW_MOVIES`,`NEW_SERIES`,`TOP_RATED`,`GENRES`],Pc=[`HERO`,`CONTINUE`,`PLATFORMS`,`STARTING_SOON`,`TONIGHT_SPORTS`,`FAVORITE_CHANNELS`,`NEW_EPISODES`,`RECENT_CHANNELS`,`NEW_MOVIES`,`NEW_SERIES`,`TOP_RATED`,`SCHEDULE`,`GENRES`],Fc={groupMode:`CATEGORY`,numbering:`GLOBAL`,previewAutoplay:!0,fallbackToPrevious:!0,aspect:`fit`,colorKeys:[`FAVORITE`,`AUDIO`,`SUBTITLES`,`ASPECT`],lastChannelId:null,homeShelves:Pc,knownShelves:Pc,pinHash:null,hideLocked:!1,adultAutoLock:!0,searchHistory:[],startScreen:`home`,accent:`blue`,theme:`navy`,filterWords:[],epgHours:12,epgOffsetMin:0,autoNextEpisode:!0,preferredAudio:`tr`,preferredSubtitle:null,subtitleScale:1,subtitleColor:0,subtitleBackground:!1,autoSubtitles:!1,rememberTracks:!0,stremioAddons:[]},Ic=`utopya.settings`,Lc=[`HERO`,`CONTINUE`,`UP_NEXT`,`FAVORITE_CHANNELS`,`RECENT_CHANNELS`,`TONIGHT_SPORTS`,`SCHEDULE`,`PLATFORMS`,`NEW_MOVIES`,`NEW_SERIES`,`TOP_RATED`];function Rc(e,t){if(JSON.stringify(e)===JSON.stringify(Nc))return Pc.slice();let n=e.filter(e=>Pc.includes(e));return Pc.forEach((e,r)=>{if(t.indexOf(e)>=0||n.indexOf(e)>=0)return;let i=0;for(let e=r-1;e>=0;e--){let t=n.indexOf(Pc[e]);if(t>=0){i=t+1;break}}n.splice(i,0,e)}),n}function zc(){try{let e=JSON.parse(localStorage.getItem(Ic)||`{}`);return e.homeShelves&&(e.homeShelves=Rc(e.homeShelves,e.knownShelves||Lc)),V(V(V({},Fc),e),{},{knownShelves:Pc})}catch(e){return Fc}}var q=I(zc()),Bc=()=>{q.value=zc()};function Vc(e){q.value=V(V({},q.value),e);try{localStorage.setItem(Ic,JSON.stringify(q.value))}catch(e){}}var Hc={blue:`#4FC3F7`,orange:`#FFA726`,green:`#66BB6A`,purple:`#B388FF`,red:`#FF5252`},Uc={navy:[`#090F1C`,`#132034`,`#16314A`,`#0E1A2D`],amoled:[`#000000`,`#0E0E0E`,`#1C1C1C`,`#000000`],graphite:[`#0E0F12`,`#1A1C21`,`#262A31`,`#16181D`],forest:[`#06120D`,`#0F2219`,`#183327`,`#0B1E15`],wine:[`#14070C`,`#241018`,`#351823`,`#1E0B12`]},Wc=e=>{let t=parseInt(e.slice(1),16);return`${t>>16}, ${t>>8&255}, ${t&255}`};function Gc(){let e=document.documentElement.style,[t,n,r,i]=Uc[q.value.theme],a=Hc[q.value.accent];e.setProperty(`--bg`,t),e.setProperty(`--surface`,n),e.setProperty(`--surface-variant`,r),e.setProperty(`--bg-top`,i),e.setProperty(`--glass`,`rgba(${Wc(n)}, 0.72)`),e.setProperty(`--accent`,a),e.setProperty(`--accent-rgb`,Wc(a))}q.subscribe(Gc);var Kc=I(null),qc=I(null),Jc=I(null),Yc=`utopya.activeProvider`;async function Xc(){let e=await K.providers.toArray(),t=null;try{t=Number(localStorage.getItem(Yc))||null}catch(e){}return e.some(e=>e.id===t)||(t=e.length?e[0].id:null),Kc.value=e,qc.value=t,e}function Zc(e){qc.value=e;try{localStorage.setItem(Yc,String(e))}catch(e){}}async function Qc(e,t){if(e.type===`xtream`)await Ec(e);else if(t!==void 0){if(!/^\s*()?#EXT(M3U|INF)/.test(t.slice(0,64)))throw new xr(`PARSE`,`not m3u`)}else await vc(e.url)}function $c(){let e=(Kc.value||[]).find(e=>e.id===qc.value);e&&e.lastSync&&Date.now()-(e.lastEpgSync||0)>q.peek().epgHours*36e5&&rl(e.id,void 0,`epg`)}async function el(e){let t=await K.providers.add(e);return await Xc(),Zc(t),t}var tl=null;async function nl(){if(new URL(Dc,location.href).origin===location.origin)return new Worker(Dc);let e=await(await fetch(Dc)).text();return new Worker(URL.createObjectURL(new Blob([e],{type:`text/javascript`})))}async function rl(e,t,n=`all`){let r=(Kc.value||[]).find(t=>t.id===e);if(n===`all`&&t===void 0&&r&&r.type===`m3u`&&/^file:/i.test(r.url))try{t=await Mc(r.url)}catch(t){Jc.value={providerId:e,failed:`NOT_FOUND`,detail:r.url};return}if(!tl){let e=await nl();tl?e.terminate():tl=e}tl.onmessage===null&&(tl.onmessage=e=>{let t=e.data;(t.type!==`progress`||t.count===0)&&console.log(`senkron`,t.type,`stage`in t?t.stage:``,`error`in t?`${t.error} ${t.detail}`:``),t.type===`progress`?Jc.value={providerId:t.providerId,stage:t.stage,count:t.count}:t.type===`done`?(Jc.value={providerId:t.providerId,stage:`DONE`,count:t.counts.live},Xc()):Jc.value={providerId:t.providerId,failed:t.error,detail:t.detail}},tl.onerror=e=>{console.error(`worker hatası`,e.message,e.filename,e.lineno);let t=Jc.value;t&&(Jc.value={providerId:t.providerId,failed:`UNKNOWN`,detail:e.message})}),Jc.value={providerId:e,stage:`CONNECTING`,count:0},tl.postMessage({type:`sync`,providerId:e,fileText:t,mode:n,epgOffsetMin:q.peek().epgOffsetMin})}var il={name:``,url:``,username:``,password:``,epg:``,userAgent:``,liveFormat:`ts`};function al(e,t,n){return n?n.name.replace(/\.m3u8?$/i,``):t.replace(/^[a-z]+:\/\//i,``).split(/[/:\s]/)[0]||(e===`xtream`?`Xtream`:`M3U`)}function ol(e){let[t,n]=N({s:`choose`}),[r,i]=N(il),[a,o]=N(null),[s,c]=N(null),[l,u]=N(!1),[d,f]=N(`xtream`),p=F(null);P(()=>{L(p.current)},[t.s,t.s===`form`?t.kind:``]);let m=e=>{f(e),c(null),u(!1),n({s:`form`,kind:e})};return tn(r=>{if(r===`back`)return t.s===`choose`?e.onExit():t.s===`usb`?n({s:`form`,kind:`file`}):t.s===`form`?n({s:`choose`}):t.s===`sync`&&e.onDone(),!0}),j(`div`,{class:`onboarding`,ref:p,children:[t.s===`choose`&&j(cl,{open:m}),t.s===`form`&&j(pl,{kind:t.kind,form:r,edit:e=>i(V(V({},r),e)),file:a,pickFile:async()=>{Ft?n({s:`usb`}):sl(e=>o(e))},error:s,missing:l,submit:async()=>{let e=d,t=e===`file`?(a==null?void 0:a.uri)||``:Tr(r.url);if(!t||e===`xtream`&&(!r.username.trim()||!r.password)){u(!0);return}u(!1),c(null);let i={name:r.name.trim()||al(e,t,a),type:e===`xtream`?`xtream`:`m3u`,url:e===`xtream`?yc(t):t,username:r.username.trim(),password:r.password,epgUrls:r.epg.split(/[\s,]+/).map(Tr).filter(e=>/^https?:/i.test(e)),userAgent:r.userAgent.trim()||null,liveFormat:r.liveFormat,createdAt:Date.now()};n({s:`validating`});try{await Qc(i,a==null?void 0:a.text);let t=await el(i);rl(t,e===`file`?a.text:void 0),n({s:`sync`,providerId:t})}catch(t){console.warn(`doğrulama`,t),c(Cr(t)),n({s:`form`,kind:e})}},back:()=>n({s:`choose`})}),t.s===`usb`&&j(ml,{onPick:async e=>{try{o({name:e.name,uri:e.path,text:await Mc(e.path)}),c(null)}catch(e){c(`NOT_FOUND`)}n({s:`form`,kind:`file`})},back:()=>n({s:`form`,kind:`file`})}),t.s===`validating`&&j(`p`,{class:`center-msg`,children:R(`onb_validating`)}),t.s===`sync`&&j(hl,{providerId:t.providerId,onDone:e.onDone,back:()=>m(d)})]})}function sl(e){let t=document.createElement(`input`);t.type=`file`,t.accept=`.m3u,.m3u8,audio/x-mpegurl`,t.onchange=()=>{let n=t.files&&t.files[0];if(!n)return;let r=new FileReader;r.onload=()=>e({name:n.name,uri:`file:${n.name}`,text:String(r.result)}),r.readAsText(n)},t.click()}function cl({open:e}){return j(`div`,{class:`onb-choose`,children:[j(`div`,{class:`onb-brand`,children:[j(`div`,{class:`brand-mark`,children:j(z,{name:`play`})}),j(`h1`,{children:R(`app_name`)}),j(`p`,{class:`tagline muted`,children:R(`onb_tagline`)}),j(`ul`,{class:`features`,children:[j(ll,{icon:`live`,text:R(`onb_feat_live`)}),j(ll,{icon:`movie`,text:R(`onb_feat_vod`)}),j(ll,{icon:`grid`,text:R(`tz_feat_tools`)})]}),j(`p`,{class:`note muted`,children:R(`onb_no_content`)})]}),j(`div`,{class:`onb-options`,children:[j(`h2`,{children:R(`onb_how`)}),j(ul,{icon:`dns`,tint:`#4FC3F7`,title:R(`onb_xtream`),desc:R(`onb_xtream_desc`),badge:R(`onb_badge_common`),initial:!0,onClick:()=>e(`xtream`)}),j(ul,{icon:`link`,tint:`#66BB6A`,title:R(`onb_m3u_url`),desc:R(`onb_m3u_url_desc`),onClick:()=>e(`m3u`)}),j(ul,{icon:`file`,tint:`#90A4AE`,title:R(`onb_m3u_file`),desc:R(`tz_m3u_file_desc`),onClick:()=>e(`file`)})]})]})}function ll({icon:e,text:t}){return j(`li`,{children:[j(`span`,{class:`feature-icon`,children:j(z,{name:e})}),t]})}function ul(e){return j(`button`,{class:`option`,"data-focus":!0,"data-focus-default":e.initial||void 0,onClick:e.onClick,children:[j(`span`,{class:`option-icon`,style:{color:e.tint,background:dl(e.tint,.16)},children:j(z,{name:e.icon})}),j(`span`,{class:`option-text`,children:[j(`span`,{class:`option-title`,children:[e.title,e.badge&&j(`span`,{class:`badge`,style:{color:e.tint,background:dl(e.tint,.2)},children:e.badge})]}),j(`span`,{class:`muted`,children:e.desc})]}),j(z,{name:`chevron`,class:`muted`})]})}var dl=(e,t)=>{let n=parseInt(e.slice(1),16);return`rgba(${n>>16}, ${n>>8&255}, ${n&255}, ${t})`};function fl({title:e,hint:t,back:n}){return j(`div`,{class:`step-header`,children:[j(`button`,{class:`btn outline`,"data-focus":!0,onClick:n,children:[j(z,{name:`back`}),R(`back`)]}),j(`div`,{children:[j(`h1`,{children:e}),t&&j(`p`,{class:`muted`,children:t})]})]})}function pl(e){let{kind:t,form:n,edit:r}=e,[i,a]=t===`xtream`?[R(`onb_xtream`),R(`onb_hint_xtream`)]:t===`m3u`?[R(`onb_m3u_url`),R(`onb_hint_m3u`)]:[R(`onb_m3u_file`),R(`tz_hint_file`)];return j(`div`,{class:`form-step`,children:[j(fl,{title:i,hint:a,back:e.back}),j(`div`,{class:`form-row`,children:[j(`div`,{class:`form-panel glass`,"data-focus-group":`form-${t}`,children:[t===`m3u`&&j(Tn,{label:R(`onb_url`),value:n.url,onInput:e=>r({url:e}),placeholder:`http://…/playlist.m3u`,initial:!0}),t===`file`&&j(`div`,{class:`field`,children:[e.file&&j(`p`,{class:`file-chosen`,children:R(`onb_file_chosen`,e.file.name)}),j(`button`,{class:`btn`,"data-focus":!0,"data-focus-default":!0,onClick:e.pickFile,children:[j(z,{name:`folder`}),R(`onb_pick_file`)]})]}),t===`xtream`&&j(x,{children:[j(Tn,{label:R(`onb_server`),value:n.url,onInput:e=>r({url:e}),placeholder:`http://server:8080`,initial:!0}),j(`div`,{class:`field-pair`,children:[j(Tn,{label:R(`onb_username`),value:n.username,onInput:e=>r({username:e})}),j(Tn,{label:R(`onb_password`),value:n.password,onInput:e=>r({password:e}),password:!0})]})]}),j(`button`,{class:`btn primary connect`,"data-focus":!0,onClick:e.submit,children:R(`onb_connect`)}),j(`h3`,{class:`muted`,children:R(`onb_optional`)}),j(Tn,{label:R(`onb_name`),value:n.name,onInput:e=>r({name:e}),placeholder:R(`onb_name_ph`)}),j(Tn,{label:R(`onb_epg`),value:n.epg,onInput:e=>r({epg:e}),placeholder:`http://…/epg.xml.gz`}),t!==`file`&&j(Tn,{label:R(`onb_user_agent`),value:n.userAgent,onInput:e=>r({userAgent:e})}),t===`xtream`&&j(`div`,{class:`field`,children:[j(`span`,{class:`field-label`,children:R(`onb_live_format`)}),j(`div`,{class:`row`,children:[`ts`,`m3u8`].map(e=>j(`button`,{class:`chip${n.liveFormat===e?` selected`:``}`,"data-focus":!0,onClick:()=>r({liveFormat:e}),children:e.toUpperCase()},e))})]})]}),j(`div`,{class:`form-side`,children:[e.missing&&j(`p`,{class:`error-box`,children:R(`onb_required`)}),e.error&&j(`p`,{class:`error-box`,children:R(Sr(e.error))}),j(`div`,{class:`onb-help glass`,children:[j(`h3`,{children:R(`tz_onb_help_title`)}),j(`ul`,{children:[t!==`file`&&j(`li`,{children:R(`tz_onb_help_keyboard`)}),t===`xtream`&&j(`li`,{children:R(`tz_onb_help_server`)}),t===`xtream`&&j(`li`,{children:R(`tz_onb_help_creds`)}),t===`m3u`&&j(`li`,{children:R(`tz_onb_help_m3u`)}),t===`file`&&j(`li`,{children:R(`tz_onb_help_file`)}),j(`li`,{children:R(`tz_onb_help_epg`)}),j(`li`,{children:R(`tz_onb_help_privacy`)})]})]})]})]})]})}function ml({onPick:e,back:t}){let[n,r]=N(null),i=F(null);return P(()=>{jc().then(r,()=>r([]))},[]),P(()=>{n&&L(i.current)},[n]),j(`div`,{class:`form-step`,children:[j(fl,{title:R(`tz_usb_title`),back:t}),j(`div`,{class:`usb-list glass`,ref:i,children:[n===null&&j(`p`,{class:`muted`,children:R(`loading`)}),n&&!n.length&&j(`p`,{class:`muted`,children:R(`tz_usb_empty`)}),n&&n.map(t=>j(`button`,{class:`option`,"data-focus":!0,onClick:()=>e(t),children:[j(`span`,{class:`option-icon`,children:j(z,{name:`file`})}),j(`span`,{class:`option-text`,children:[j(`span`,{class:`option-title`,children:t.name}),j(`span`,{class:`muted`,children:decodeURI(t.path.replace(/^file:\/\//,``))})]})]},t.path))]})]})}function hl({providerId:e,onDone:t,back:n}){let r=Jc.value,i=r&&r.providerId===e?r:null;P(()=>{i&&`stage`in i&&i.stage===`DONE`&&t()},[i]);let a=i&&`failed`in i?i:null,o=F(null);return P(()=>{L(o.current)},[!!a]),j(`div`,{class:`sync-step`,ref:o,children:[j(`h1`,{children:R(`sync_title`)}),a?j(x,{children:[j(`p`,{class:`error-text`,children:R(`sync_failed`)}),j(`p`,{children:R(Sr(a.failed))}),j(`div`,{class:`row`,children:[j(`button`,{class:`btn primary`,"data-focus":!0,"data-focus-default":!0,onClick:()=>rl(e),children:R(`retry`)}),j(`button`,{class:`btn outline`,"data-focus":!0,onClick:n,children:R(`back`)})]})]}):j(x,{children:[j(`p`,{class:`stage`,children:gl(i&&`stage`in i?i:null)}),j(`div`,{class:`indeterminate`,children:j(`span`,{})}),j(`button`,{class:`btn outline`,"data-focus":!0,"data-focus-default":!0,onClick:t,children:R(`sync_background`)})]})]})}function gl(e){switch(e&&e.stage){case`CATEGORIES`:return R(`sync_categories`);case`LIVE`:return R(`sync_live`,e.count);case`MOVIES`:return R(`sync_movies`,e.count);case`SERIES`:return R(`sync_series`,e.count);case`EPG`:return R(`sync_epg`,e.count);case`DONE`:return R(`sync_done`);default:return R(`sync_connecting`)}}function _l(e){let t=typeof e==`string`?e:``;try{let e=atob(t),n=new Uint8Array(e.length);for(let t=0;t<e.length;t++)n[t]=e.charCodeAt(t);let r=new TextDecoder(`utf-8`).decode(n);return/[\uFFFD\u0000-\u0008]/.test(r)?t:r}catch(e){return t}}function vl(e,t,n,r){let i=[];for(let a of e){let e=Number(a.start_timestamp),o=Number(a.stop_timestamp==null?a.end_timestamp:a.stop_timestamp);e&&o&&(o<=e&&(o+=86400),i.push({id:Ms(n,e*1e3),providerId:t,key:n,start:e*1e3,stop:o*1e3,title:_l(a.title),desc:_l(a.description)||null,category:null,stamp:r}))}return i.sort((e,t)=>e.start-t.start)}var yl=432e5;async function bl(e){let t=await K.epgLinks.get(e);return t?t.key:null}async function xl(e,t,n){let r=await bl(e);return r?(await K.programs.where(`[key+start]`).between([r,t-yl],[r,n],!0,!1).toArray()).filter(e=>e.stop>t):[]}async function Sl(e,t,n){let r=await xl(e.id,t,n);return!r.some(e=>e.stop>Date.now())&&await Dl(e)&&(r=await xl(e.id,t,n)),r}var Cl=(e,t)=>{let n=null;for(let r of e)r.start<=t&&r.stop>t&&(n=r);let r=n?n.stop:t;return{now:n,next:e.find(e=>e.start>=r)||null}};async function wl(e,t=Date.now()){let n=await Sl(e,t-1,t+432e5);return n.length?Cl(n,t):Cl(await kl(e),t)}var Tl=e=>{let t=(Kc.value||[]).find(t=>t.id===e.providerId);return t&&t.type===`xtream`?t:null},El=new Map;async function Dl(e){let t=Tl(e),n=El.get(e.id)||0;if(!t||Date.now()-n<18e5)return!1;El.set(e.id,Date.now());try{let n=await K.epgLinks.get(e.id);if(n&&n.manual)return!1;let r=await Tc(bc(t,`get_simple_data_table`,{stream_id:e.remoteId})),i=`${t.id}|xt:${e.remoteId}`,a=vl(r.epg_listings||[],t.id,i,Date.now());return a.some(e=>e.stop>Date.now())?(await K.programs.bulkPut(a),await K.epgLinks.put({id:e.id,providerId:t.id,key:i,manual:!1}),!0):!1}catch(e){return console.warn(`get_simple_data_table`,e),!1}}var Ol=new Map;async function kl(e){let t=Tl(e);if(!t)return[];let n=Ol.get(e.id);if(n&&Date.now()-n.at<6e5)return n.list;let r=[];try{r=vl((await Tc(bc(t,`get_short_epg`,{stream_id:e.remoteId,limit:`4`}))).epg_listings||[],t.id,`${t.id}|xs:${e.remoteId}`,Date.now())}catch(e){}return Ol.delete(e.id),Ol.set(e.id,{at:Date.now(),list:r}),Ol.size>200&&Ol.delete(Ol.keys().next().value),r}var Al=(e,t=Date.now())=>Math.max(0,Math.min(1,(t-e.start)/(e.stop-e.start))),jl=e=>e<10?`0${e}`:`${e}`,Ml=e=>{let t=new Date(e);return`${jl(t.getHours())}:${jl(t.getMinutes())}`},Nl=e=>`${Ml(e.start)} – ${Ml(e.stop)}`,Pl=I(Date.now());setInterval(()=>Pl.value=Date.now(),3e5);var Fl=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];function Il(e){let t=new TextEncoder().encode(e),n=t.length,r=n+9+63>>6<<6,i=new Uint8Array(r);i.set(t),i[n]=128,new DataView(i.buffer).setUint32(r-4,n*8);let a=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],o=Array(64),s=new DataView(i.buffer),c=(e,t)=>e>>>t|e<<32-t;for(let e=0;e<r;e+=64){for(let t=0;t<16;t++)o[t]=s.getUint32(e+t*4);for(let e=16;e<64;e++){let t=c(o[e-15],7)^c(o[e-15],18)^o[e-15]>>>3,n=c(o[e-2],17)^c(o[e-2],19)^o[e-2]>>>10;o[e]=o[e-16]+t+o[e-7]+n|0}let[t,n,r,i,l,u,d,f]=a;for(let e=0;e<64;e++){let a=f+(c(l,6)^c(l,11)^c(l,25))+(l&u^~l&d)+Fl[e]+o[e]|0,s=(c(t,2)^c(t,13)^c(t,22))+(t&n^t&r^n&r)|0;f=d,d=u,u=l,l=i+a|0,i=r,r=n,n=t,t=a+s|0}a[0]=a[0]+t|0,a[1]=a[1]+n|0,a[2]=a[2]+r|0,a[3]=a[3]+i|0,a[4]=a[4]+l|0,a[5]=a[5]+u|0,a[6]=a[6]+d|0,a[7]=a[7]+f|0}return a.map(e=>(`0000000`+(e>>>0).toString(16)).slice(-8)).join(``)}var Ll=new Set,Rl=I(0),zl=I(new Map),Bl=I(new Map);async function Vl(e){let[t,n]=await Promise.all([K.catState.where(`providerId`).equals(e).toArray(),K.chanState.where(`providerId`).equals(e).toArray()]);zl.value=new Map(t.map(e=>[e.id,e])),Bl.value=new Map(n.map(e=>[e.id,e])),Rl.value++}function Hl(e){let t=zl.value.get(e.id);return t&&t.locked!==void 0?t.locked:e.adult&&q.value.adultAutoLock}function Ul(e,t){return!q.value.pinHash||t!==void 0&&Ll.has(t)||e&&Ll.has(e.id)?!1:t!==void 0&&!!(Bl.value.get(t)||{}).locked||!!e&&Hl(e)}function Wl(e,t){e!==null&&Ll.add(e),t!==void 0&&Ll.add(t)}function Gl(e){let t=zl.value.get(e.id);return!(t&&t.hidden||q.value.hideLocked&&q.value.pinHash&&Hl(e)&&!Ll.has(e.id))}var Kl=e=>!!(Bl.value.get(e)||{}).hidden;async function ql(e,t,n,r){let i=K[e],a=await i.get(t)||{id:t,providerId:n};await i.put(V(V({},a),r)),await Vl(n)}var Jl=(e,t,n)=>ql(`catState`,e,t,n),Yl=(e,t,n)=>ql(`chanState`,e,t,n),Xl=e=>Il(`utopya:${e}`),Zl=()=>!!q.peek().pinHash,Ql=e=>!q.peek().pinHash||Xl(e)===q.peek().pinHash;function $l(e){Ll.clear(),Vc({pinHash:e?Xl(e):null}),Rl.value++}var eu=e=>e.type===`cat`?`cat:${e.id}`:e.type===`ugroup`?`ug:${e.id}`:e.type===`group`?e.key:e.type,tu=50;async function nu(e,t){let n=await ru(e,t),r=(await K.categories.where(`[providerId+kind]`).equals([e,`live`]).toArray()).filter(e=>!Gl(e)),i=new Set;if(t.type!==`cat`)for(let e of r)for(let t of await K.channels.where(`[categoryId+number]`).between([e.id,Cs.minKey],[e.id,Cs.maxKey]).primaryKeys())i.add(t);return n.filter(e=>!i.has(e)&&!Kl(e))}async function ru(e,t){if(t.type===`all`)return K.channels.where(`[providerId+number]`).between([e,Cs.minKey],[e,Cs.maxKey]).primaryKeys();if(t.type===`cat`)return K.channels.where(`[categoryId+number]`).between([t.id,Cs.minKey],[t.id,Cs.maxKey]).primaryKeys();if(t.type===`group`){let e=[];for(let n of t.ids)await K.channels.where(`[categoryId+number]`).between([n,Cs.minKey],[n,Cs.maxKey]).eachKey((t,n)=>{e.push([t[1],n.primaryKey])});return e.map((e,t)=>[e[0],t,e[1]]).sort((e,t)=>e[0]-t[0]||e[1]-t[1]).map(e=>e[2])}return t.type===`ugroup`?(await K.groupItems.where(`groupId`).equals(t.id).toArray()).sort((e,t)=>e.order-t.order).map(e=>e.channelId):t.type===`fav`?(await K.favorites.where(`[providerId+kind]`).equals([e,`live`]).toArray()).sort((e,t)=>e.order-t.order).map(e=>e.id):(await K.recents.where(`[providerId+kind]`).equals([e,`live`]).toArray()).sort((e,t)=>t.at-e.at).slice(0,tu).map(e=>e.id)}var iu=class e{constructor(e){br(this,`ids`,void 0),br(this,`pages`,new Map),this.ids=e}page(t){let n=this.pages.get(t);return n||(n=K.channels.bulkGet(this.ids.slice(t*e.PAGE,(t+1)*e.PAGE)),this.pages.set(t,n),this.pages.size>8&&this.pages.delete(this.pages.keys().next().value)),n}async range(t,n){let r=e.PAGE,i=[];for(let e=Math.floor(t/r);e<=Math.floor((n-1)/r);e++)(await this.page(e)).forEach((a,o)=>{let s=e*r+o;s>=t&&s<n&&i.push(a)});return i}};br(iu,`PAGE`,40);async function au(e,t,n){return await K.favorites.get(n)?(await K.favorites.delete(n),!1):(await K.favorites.put({id:n,providerId:e,kind:t,order:Date.now()}),!0)}async function ou(e,t,n){await K.recents.put({id:n,providerId:e,kind:t,at:Date.now()})}var su=e=>K.groups.where(`providerId`).equals(e).sortBy(`order`);async function cu(e,t){return K.groups.add({providerId:e,name:t,order:Date.now()})}var lu=(e,t)=>K.groupItems.put({groupId:e,channelId:t,order:Date.now()}),uu=(e,t)=>K.groupItems.delete([e,t]);async function du(e){await K.groupItems.where(`groupId`).equals(e).delete(),await K.groups.delete(e)}async function fu(e,t,n,r){if(r<0||r>=t.length)return;let[i,a]=await Promise.all([K.groupItems.get([e,t[n]]),K.groupItems.get([e,t[r]])]);i&&a&&await K.groupItems.bulkPut([V(V({},i),{},{order:a.order}),V(V({},a),{},{order:i.order})])}var J=(e,t)=>{let n=e?e[t]:null;return n==null||n===``||typeof n==`object`?null:String(n)},pu=(e,t)=>{let n=parseFloat(J(e,t)||``);return isNaN(n)?null:n},mu=(e,t)=>{let n=e?e[t]:null;return Array.isArray(n)?typeof n[0]==`string`&&n[0]?n[0]:null:J(e,t)};function hu(e){if(!e)return null;let t=/^(\d+):(\d{2})(?::(\d{2}))?$/.exec(e.trim());if(t)return t[1]*3600+t[2]*60+(t[3]?+t[3]:0);let n=/(\d+)\s*min/i.exec(e);return n?n[1]*60:null}var gu=e=>(Kc.value||[]).find(t=>t.id===e);async function _u(e){let t=gu(e.providerId);if(e.detailLoaded||!t||t.type!==`xtream`)return e;try{let n=await Tc(bc(t,`get_vod_info`,{vod_id:e.remoteId})),r=n.info,i=n.movie_data,a=J(i,`container_extension`),o=pu(r,`rating`),s={poster:e.poster||J(r,`movie_image`)||J(r,`cover_big`),backdrop:mu(r,`backdrop_path`)||e.backdrop||null,plot:J(r,`plot`)||J(r,`description`)||e.plot,cast:J(r,`cast`)||J(r,`actors`),director:J(r,`director`),genre:J(r,`genre`)||e.genre,year:(J(r,`releasedate`)||J(r,`release_date`)||``).slice(0,4)||e.year,rating:o&&o>0?o:e.rating,durationSec:pu(r,`duration_secs`)||hu(J(r,`duration`)),tmdbId:J(r,`tmdb_id`)||J(r,`tmdb`),url:a?xc(t,e.remoteId,a):e.url,detailLoaded:!0};return await K.movies.update(e.id,s),V(V({},e),s)}catch(t){return console.warn(`get_vod_info`,t),e}}async function vu(e){let t=gu(e.providerId),n=()=>K.episodes.where(`seriesId`).equals(e.id).toArray();if(e.detailLoaded||!t||t.type!==`xtream`)return{series:e,episodes:yu(await n())};try{let n=await Tc(bc(t,`get_series_info`,{series_id:e.remoteId})),r=n.info,i=pu(r,`rating`),a={poster:e.poster||J(r,`cover`),backdrop:mu(r,`backdrop_path`)||e.backdrop,plot:J(r,`plot`)||e.plot,cast:J(r,`cast`)||e.cast,genre:J(r,`genre`)||e.genre,rating:i&&i>0?i:e.rating,tmdbId:J(r,`tmdb_id`)||J(r,`tmdb`),detailLoaded:!0},o=n.episodes,s=Array.isArray(o)?o.filter(Array.isArray).map(e=>[null,e]):o&&typeof o==`object`?Object.keys(o).map(e=>[e,o[e]]).filter(e=>Array.isArray(e[1])):[],c=Date.now(),l=[];for(let[n,r]of s)r.forEach((r,i)=>{let a=J(r,`id`);if(!a)return;let o=r.info,s=pu(r,`season`)||(n?parseInt(n,10):0)||1;l.push({id:Ms(e.providerId,`episode`,a),providerId:e.providerId,stamp:c,seriesId:e.id,remoteId:a,season:s,episode:pu(r,`episode_num`)||i+1,title:J(r,`title`)||`S${s}E${i+1}`,url:Sc(t,a,J(r,`container_extension`)||`mp4`),poster:J(o,`movie_image`)||null,plot:J(o,`plot`),durationSec:pu(o,`duration_secs`)||hu(J(o,`duration`))})});return await K.transaction(`rw`,K.series,K.episodes,async()=>{await K.series.update(e.id,a),await K.episodes.where(`seriesId`).equals(e.id).delete(),await K.episodes.bulkPut(l)}),{series:V(V({},e),a),episodes:yu(l)}}catch(t){return console.warn(`get_series_info`,t),{series:e,episodes:yu(await n())}}}var yu=e=>e.sort((e,t)=>e.season-t.season||e.episode-t.episode),bu=.95;async function xu(e,t,n,r,i,a){if(!a||i<5e3)return;let o=i/a>=bu;await K.progress.put({id:t,providerId:n,kind:e,seriesId:r,position:o?0:i,duration:a,watched:o,updated:Date.now()})}async function Su(e,t,n,r,i){if(!i)return K.progress.delete(t);await K.progress.put({id:t,providerId:n,kind:e,seriesId:r,position:0,duration:0,watched:!0,updated:Date.now()})}var Cu=e=>K.progress.get(e);async function wu(e){let t=await K.progress.bulkGet(e),n=new Map;return t.forEach(e=>e&&n.set(e.id,e)),n}async function Tu(e){let t=e.filter(e=>!e.episode&&e.item&&!e.item.backdrop&&!e.item.detailLoaded).slice(0,20);if(!t.length)return e;let n=await Promise.all(t.map(e=>Promise.race([_u(e.item),new Promise(e=>setTimeout(()=>e(null),3e3))]))),r=new Map;return n.forEach(e=>{e&&r.set(e.id,e)}),e.map(e=>e.item&&r.has(e.item.id)?V(V({},e),{},{item:r.get(e.item.id)}):e)}var Eu=e=>e===`movie`?K.movies:K.series,Du=e=>({key:`i${e.id}`,id:e.id,title:e.name,poster:e.poster,rating:e.rating,item:e});async function Ou(e,t){return K.categories.where(`[providerId+kind]`).equals([e,t]).sortBy(`order`)}async function ku(e,t,n=30){return Eu(t).where(`[providerId+added]`).between([e,Cs.minKey],[e,Cs.maxKey]).reverse().limit(n).toArray()}async function Au(e,t){let n=n=>n.where(`[categoryId+added]`).between([e,Cs.minKey],[e,Cs.maxKey]).reverse().limit(t).toArray(),r=await n(Eu(`movie`));return r.length?r:n(Eu(`series`))}async function ju(e,t){let n=(await K.favorites.where(`[providerId+kind]`).equals([e,t]).toArray()).sort((e,t)=>t.order-e.order);return(await Eu(t).bulkGet(n.map(e=>e.id))).filter(e=>!!e)}async function Mu(e,t){let n=(await K.progress.where(`providerId`).equals(e).toArray()).filter(e=>!e.watched&&e.position>0&&(t===`movie`?e.kind===`movie`:e.kind===`episode`)).sort((e,t)=>t.updated-e.updated),r=[],i=new Set;for(let e of n){if(r.length>=30)break;let n=e.duration?e.position/e.duration:0;if(t===`movie`){let t=await K.movies.get(e.id);t&&r.push({key:`c${t.id}`,id:t.id,title:t.name,poster:t.poster,rating:null,progress:n,item:t,updated:e.updated})}else if(e.seriesId!==null&&!i.has(e.seriesId)){i.add(e.seriesId);let[t,a]=await Promise.all([K.series.get(e.seriesId),K.episodes.get(e.id)]);if(t&&a){let i=`S${Nu(a.season)}E${Nu(a.episode)}`;r.push({key:`c${a.id}`,id:t.id,title:`${t.name} · ${i}`,poster:t.poster||a.poster,rating:null,progress:n,episode:a,item:t,updated:e.updated})}}}return r}var Nu=e=>e<10?`0${e}`:`${e}`,Pu=new Map;async function Fu(e,t,n){let r=`${e}|${t}|${n}`,i=Pu.get(r);if(i)return i;try{let e=JSON.parse(localStorage.getItem(`genres|${r}`)||`null`);if(e)return Pu.set(r,e),e}catch(e){}let a=new Map;await Eu(t).where(`providerId`).equals(e).each(e=>{if(e.genre)for(let t of e.genre.split(/[,/|&]/)){let e=t.trim();if(e.length<2||e.length>30)continue;let n=e.toLowerCase(),r=a.get(n);r?r.n++:a.set(n,{name:e,n:1})}});let o=[...a.values()].sort((e,t)=>t.n-e.n).slice(0,30).map(e=>e.name);Pu.set(r,o);try{for(let n of Object.keys(localStorage))n.indexOf(`genres|${e}|${t}|`)===0&&localStorage.removeItem(n);localStorage.setItem(`genres|${r}`,JSON.stringify(o))}catch(e){}return o}async function Iu(e){let t=new Map;for(let n of e){if(n.adult)continue;let e=uc(n.name);if(!e)continue;let r=t.get(e.key);r?r.push(n.id):t.set(e.key,[n.id])}let n=[];for(let e of sc){let r=t.get(e.key);if(!r)continue;let i=[];for(let e of r)i.push(...await Au(e,3));let a=i.sort((e,t)=>t.added-e.added).map(e=>e.poster).filter(e=>!!e).slice(0,3);n.push({platform:e,posters:a,categoryIds:r})}return n}async function Lu(e,t,n,r){let i;if(n.favorites)i=await ju(e,t);else if(n.categoryIds){i=[];for(let e of n.categoryIds)i.push(...await Au(e,1e5))}else i=await Eu(t).where(`providerId`).equals(e).toArray();if(n.genre){let e=n.genre.toLowerCase();i=i.filter(t=>!!t.genre&&t.genre.toLowerCase().indexOf(e)>=0)}let a=new Intl.Collator(void 0,{sensitivity:`base`}),o=(e,t)=>a.compare(e.name,t.name),s={added:(e,t)=>t.added-e.added||o(e,t),name:o,rating:(e,t)=>(t.rating||0)-(e.rating||0)||o(e,t),year:(e,t)=>(parseInt(t.year||`0`)||0)-(parseInt(e.year||`0`)||0)||o(e,t)};return i.sort(s[r])}async function Ru(e,t){return Eu(t).where(`[providerId+vkey]`).equals([e.providerId,e.vkey]).toArray()}var zu=()=>Math.floor((Date.now()-new Date(new Date().getFullYear(),0,0).getTime())/864e5);function Bu(e){let t=e.filter(e=>e.backdrop),n=(t.length?t:e).slice(0,10);return n.length?n[zu()%n.length]:null}async function Vu(e,t,n=20){let r=Eu(t).where(`[providerId+rating]`),i=await r.between([e,0],[e,Cs.maxKey],!1,!0).reverse().limit(n).toArray();return(i.length<n?i:await r.between([e,i[i.length-1].rating],[e,Cs.maxKey],!0,!0).toArray()).sort((e,t)=>t.rating-e.rating||t.added-e.added).slice(0,n)}async function Hu(e,t){let n=(await nu(e,{type:t})).slice(0,t===`recent`?20:void 0),r=(await K.channels.bulkGet(n)).filter(e=>!!e);return Promise.all(r.map(async e=>({channel:e,now:(await wl(e)).now})))}async function Uu(e){let t=Date.now(),n=new Date;n.getHours()>=2&&n.setDate(n.getDate()+1),n.setHours(2,0,0,0);let r=t-72e5,i=(await Ou(e,`live`)).filter(e=>!e.adult&&fc(e.name)===`SPORTS`),a=[];for(let e of i)if(a.push(...await K.channels.where(`[categoryId+number]`).between([e.id,Cs.minKey],[e.id,Cs.maxKey]).limit(300).toArray()),a.length>=300)break;let o=[],s=new Set,c=0;for(let e of a){let i=!!await K.epgLinks.get(e.id);if(!(!i&&c>=12)){i||c++;for(let i of await Sl(e,r,n.getTime())){if(i.stop<=t||!ic(i.title))continue;let n=`${Ks(i.title)}|${Math.floor(i.start/6e4)}`;s.has(n)||(s.add(n),o.push({key:n,start:i.start,title:i.title,channel:e,channelName:e.name,live:i.start<=t}))}}}return o.sort((e,t)=>e.start-t.start).slice(0,20)}async function Wu(){let e=await K.reminders.where(`start`).above(Date.now()).limit(20).toArray(),t=await K.channels.bulkGet(e.map(e=>e.channelId));return e.map((e,n)=>({key:`r${e.id}`,start:e.start,title:e.title,channel:t[n]||null,channelName:e.channelName,live:!1}))}async function Gu(e){let[t,n]=await Promise.all([Ou(e,`movie`).then(e=>Iu(e)),Ou(e,`series`).then(e=>Iu(e))]),r=t.map(e=>V(V({},e),{},{kind:`movie`}));for(let e of n)r.some(t=>t.platform.key===e.platform.key)||r.push(V(V({},e),{},{kind:`series`}));let i=e=>sc.findIndex(t=>t.key===e);return r.sort((e,t)=>i(e.platform.key)-i(t.platform.key))}var Ku=`utopya.seriesSeen`,qu=()=>{try{return JSON.parse(localStorage.getItem(Ku)||`{}`)}catch(e){return{}}};function Ju(e){let t=qu();t[e]=Date.now();try{localStorage.setItem(Ku,JSON.stringify(t))}catch(e){}}var Yu=Date.UTC(2001,0,1);async function Xu(e){let t=await K.favorites.where(`[providerId+kind]`).equals([e,`series`]).toArray(),n=await K.series.bulkGet(t.map(e=>e.id)),r=qu(),i=[];for(let e=0;e<t.length;e++){let a=n[e];if(!a||a.added<Yu)continue;let o=Math.max(t[e].order,r[a.id]||0);await K.progress.where(`seriesId`).equals(a.id).each(e=>{e.updated>o&&(o=e.updated)}),a.added>o&&i.push(a)}return i.sort((e,t)=>t.added-e.added).slice(0,20)}async function Zu(e){let t=Date.now(),n=t+18e5,r=(await nu(e,{type:`fav`})).slice(0,30),i=(await K.channels.bulkGet(r)).filter(e=>!!e),a=[];for(let e of i)for(let r of await Sl(e,t,n))r.start>t&&r.start<=n&&a.push({key:`s${r.id}`,start:r.start,title:r.title,channel:e,channelName:e.name,live:!1,program:r});return a.sort((e,t)=>e.start-t.start).slice(0,20)}var Qu=I(null),$u=I(new Set),ed=6e4;async function td(){$u.value=new Set(await K.reminders.toCollection().primaryKeys())}async function nd(e,t,n=0){let r=!await K.reminders.get(e.id)||n!==0;return r?await K.reminders.put({id:e.id,providerId:t.providerId,channelId:t.id,channelName:t.name,title:e.title,start:e.start,stop:e.stop,repeat:n}):await K.reminders.delete(e.id),await td(),r}var rd=async e=>{await K.reminders.delete(e),await td()},id={1:864e5,2:6048e5};function ad(){td();let e=async()=>{if(Qu.peek())return;let e=await K.reminders.where(`start`).belowOrEqual(Date.now()+ed).first();if(e){if(await K.reminders.delete(e.id),e.repeat){let t=id[e.repeat],n=e.start+t;for(;n<Date.now();)n+=t;await K.reminders.put(V(V({},e),{},{id:-n,start:n,stop:e.stop===void 0?void 0:e.stop+(n-e.start)}))}await td(),e.start>Date.now()-6e5&&(Qu.value=e)}};e(),setInterval(e,15e3)}function od({src:e,size:t,fallback:n=``}){let[r,i]=N(null);return j(`span`,{class:`channel-logo`,style:{width:`${t*1.4/10}rem`,height:`${t/10}rem`},children:[(!e||r===e)&&j(`span`,{class:`logo-fallback`,children:n.replace(/^(TR|UK|DE)\s*[|:]\s*/i,``).slice(0,4)}),e&&r!==e&&j(`img`,{src:e,alt:``,onError:()=>i(e)})]})}function sd({value:e,class:t}){return j(`span`,{class:`progress-line ${t||``}`,children:j(`span`,{style:{width:`${Math.round(e*100)}%`}})})}function cd({text:e,active:t}){let n=F(null),r=F(null);return P(()=>{let e=n.current,i=r.current,a=i.scrollWidth-e.clientWidth;t&&a>0?(i.style.setProperty(`--marquee`,`${-a}px`),i.style.animationDuration=`${Math.max(3,a/40)}s`,i.classList.add(`run`)):i.classList.remove(`run`)},[t,e]),j(`span`,{class:`marquee`,ref:n,children:j(`span`,{ref:r,children:e})})}function ld(e){let t=e.channel;return j(`button`,{onlongpress:e.onLongPress,class:`channel-row focus-row ${e.current?`selected`:`idle`}${e.compact?` compact`:``}`,"data-focus":!0,"data-idx":e.index,"data-focus-default":e.focused||void 0,style:{top:`${e.index*e.pitch}rem`},onClick:e.onClick,children:[e.number!==null&&j(`span`,{class:`ch-number`,children:e.number}),e.compact?j(od,{src:t?t.logo:null,size:30,fallback:t?t.name:``}):j(`span`,{class:`ch-logo-box`,children:j(od,{src:t?t.logo:null,size:32,fallback:t?t.name:``})}),j(`span`,{class:`ch-text`,children:[j(`span`,{class:`ch-name`,children:[j(cd,{text:t?t.name:``,active:e.marquee}),e.favorite&&j(z,{name:`star`,class:`fav-star`})]}),e.program&&j(`span`,{class:`ch-program`,children:e.program.title}),e.program&&!e.compact&&j(sd,{value:Al(e.program),class:`ch-progress`})]})]})}var ud=I({type:`all`}),dd=I(``),fd=I(null),pd=I(null),md=I(new Set);async function hd(e){let t=await K.favorites.where(`[providerId+kind]`).equals([e,`live`]).primaryKeys();md.value=new Set(t)}var gd=I([]);function _d(e){let t=document.activeElement;gd.value=[...gd.value,{page:e,restore:t}],t&&t!==document.body&&t.blur()}function vd(){let e=gd.value;if(!e.length)return;let t=e[e.length-1];gd.value=e.slice(0,-1),setTimeout(()=>t.restore&&t.restore.isConnected?qt(t.restore):Xt(),0)}var yd=e=>{let t=gd.value;gd.value=[...t.slice(0,-1),{page:e,restore:t.length?t[t.length-1].restore:null}]},Y=I(`home`),bd=I(`live`),xd=0;function Sd(e,t,n){pd.value={ids:e,index:t,archive:n,seq:++xd},Y.value!==`player`&&(bd.value=Y.value),Y.value=`player`}var Cd=()=>{Y.value=bd.value};function wd(e){let{pager:t,count:n,index:r}=e,[i,a]=N(new Map),[o,s]=N(0),c=e.listRef,l=c.current?Math.ceil(c.current.clientHeight/Ed()/6):10;P(()=>{let e=o;r<o+2?e=Math.max(0,r-2):r>o+l-1-2&&(e=Math.max(0,Math.min(n-l,r-l+1+2))),e!==o&&s(e)},[r,n,l]);let u=Math.max(0,o-3),d=Math.min(n,o+l+3);P(()=>{if(!t)return;let e=!0;return t.range(u,d).then(t=>{if(!e)return;let n=new Map;t.forEach((e,t)=>n.set(u+t,e)),a(n)}),()=>{e=!1}},[t,u,d]),P(()=>{c.current&&(c.current.scrollTop=o*6*Ed())},[o]);let[f,p]=N(new Map),m=Pl.value;P(()=>{let e=!0,t=[...i.values()].filter(e=>!!e),n=()=>{let e=new Map;for(let n of t){let t=Td.get(n.id);t&&t.tick===m&&e.set(n.id,t.now)}return e};p(n());let r=t.filter(e=>{let t=Td.get(e.id);return!t||t.tick!==m});if(!r.length)return;let a=setTimeout(()=>{Promise.all(r.map(e=>wl(e).then(t=>{Td.set(e.id,{tick:m,now:t.now})}))).then(()=>{e&&p(n())})},300);return()=>{e=!1,clearTimeout(a)}},[i,m]),P(()=>{if(!e.focused||!c.current)return;let t=c.current.querySelector(`[data-idx="${r}"]`);t&&document.activeElement!==t&&t.focus()},[r,u]),tn(t=>{if(!c.current||!c.current.contains(document.activeElement))return;let i=t===`up`?-1:t===`down`?1:t===`chUp`?-l:t===`chDown`?l:0;if(!i)return;let a=Math.max(0,Math.min(n-1,r+i));return a===r?t!==`up`||!!e.compact:(e.setIndex(a),!0)});let h=md.value,g=[];for(let t=u;t<d;t++){let n=i.get(t);g.push(j(ld,{compact:e.compact,current:t===e.current,pitch:6,channel:n,index:t,number:e.numberOf(n,t),favorite:!!n&&h.has(n.id),program:n&&f.get(n.id)||null,focused:t===r,marquee:e.focused&&t===r,onClick:()=>e.onOpen(t),onLongPress:()=>e.onMenu(t)},t))}return j(`div`,{class:`channel-list${e.compact?` compact`:``}`,ref:c,"data-focus-group":e.group,"data-focus-noscroll":!0,children:j(`div`,{class:`channel-list-inner`,style:{height:`${n*6}rem`},children:g})})}var Td=new Map,Ed=()=>parseFloat(getComputedStyle(document.documentElement).fontSize),Dd=e=>e&&e>0?`★ ${Math.round(e*10)/10}`:null,Od=e=>e.item?{"data-hero-kind":`url`in e.item?`movie`:`series`,"data-hero-id":String(e.item.id),"data-hero-ep":e.episode?String(e.episode.id):void 0}:{},kd=e=>{let t=e.item,n=t?t.name:e.title;return[e.rating&&e.rating>0?`★ ${e.rating.toFixed(1)}`:null,t&&t.year&&n.indexOf(`(${t.year})`)<0?t.year:null].filter(Boolean).join(` · `)},Ad=e=>{if(e.episode)return`S${Nu(e.episode.season)}E${Nu(e.episode.episode)}`;let t=e.item;if(!t)return``;let n=t.genre?t.genre.split(/[,/|&]/)[0].trim():``;return[t.year,n].filter(Boolean).join(` · `)};function jd(e){let t=e.card;return j(`button`,V(V({onlongpress:e.onLongPress,class:`poster-card plain`,"aria-label":t.title,"data-focus":!0,"data-focus-initial":e.initial||void 0,"data-info-title":t.item?t.item.name:t.title,"data-info-meta":kd(t)},Od(t)),{},{onClick:e.onClick,children:[j(`span`,{class:`poster-fallback`,children:t.title}),t.poster&&j(Sn,{src:vn(t.poster,342),onError:e=>e.currentTarget.style.display=`none`})]}))}function Md(e){let t=e.card,n=t.item,r=n&&`backdrop`in n?n.backdrop:null,i=t.episode&&t.episode.poster||r||t.poster,a=Ad(t);return j(`button`,V(V({onlongpress:e.onLongPress,class:`wide-card`,"data-focus":!0,"data-focus-initial":e.initial||void 0},Od(t)),{},{onClick:e.onClick,children:[i&&j(Sn,{src:vn(i,780),onError:e=>e.currentTarget.style.display=`none`}),j(`span`,{class:`wc-shade`}),j(`span`,{class:`wc-text`,children:[j(`span`,{class:`wc-title`,children:n?n.name:t.title}),a&&j(`span`,{class:`wc-sub`,children:a})]}),t.badge&&j(`span`,{class:`wc-badge`,children:t.badge}),!!t.progress&&j(`span`,{class:`poster-progress wc-progress`,children:j(`span`,{style:{width:`${Math.round(t.progress*100)}%`}})})]}))}function Nd({p:e,class:t}){let n=dc(e);return n?j(`img`,{class:`${t||``}${e.tintWhite===!1?` own-color`:` tint-white`}`,src:n,alt:e.name}):j(`b`,{class:t,children:e.name})}function Pd({tile:e,onClick:t,initial:n}){let r=e.platform;return j(`button`,{class:`platform-tile`,"data-focus":!0,"data-focus-initial":n||void 0,onClick:t,children:[j(`span`,{class:`pt-collage`,children:e.posters.map(e=>j(Sn,{src:vn(e,342)},e))}),j(`span`,{class:`pt-shade`,style:{background:`linear-gradient(rgba(0,0,0,.35), rgba(0,0,0,.7) 60%, ${Fd(r.color,.85)})`}}),j(`span`,{class:`pt-logo`,children:j(Nd,{p:r})})]})}var Fd=(e,t)=>{let n=parseInt(e.slice(1),16);return`rgba(${n>>16},${n>>8&255},${n&255},${t})`},Id=e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`);function Ld(e,t){let n=new RegExp(Id(t.name),`i`),r=n.test(e)?n:new RegExp(t.keywords.map(e=>Id(e.trim())).filter(Boolean).join(`|`),`i`);return e.replace(r,``).replace(/^[\s·|\-:/+]+|[\s·|\-:/]+$/g,``)||e}function Rd({title:e,children:t,info:n,cls:r,seeAll:i}){let a=F(null),[o,s]=N(null);P(()=>{let e=a.current,t=t=>{let n=t.target;e.scrollLeft=Math.max(0,n.offsetLeft-1.6*Ed());let r=n.getAttribute(`data-info-title`);s(r?{title:r,meta:n.getAttribute(`data-info-meta`)||``}:null)},n=()=>setTimeout(()=>{e.contains(document.activeElement)||s(null)},0);return e.addEventListener(`focusin`,t),e.addEventListener(`focusout`,n),()=>{e.removeEventListener(`focusin`,t),e.removeEventListener(`focusout`,n)}},[]);let[c,l]=ke(()=>{let t=uc(e);return[t,t?Ld(e,t):e]},[e]);return j(`section`,{class:r?`shelf ${r}`:`shelf`,children:[j(`h2`,{class:`shelf-title`,children:[c&&j(`span`,{class:`shelf-logo`,children:j(Nd,{p:c})}),l,i&&j(`button`,{class:`shelf-all`,"data-focus":!0,onClick:i,children:`${R(`shelf_see_all`)} ›`})]}),j(`div`,{class:`shelf-row`,ref:a,"data-focus-group":`shelf-${e}`,children:t}),n&&j(`p`,{class:`shelf-info`,children:[o&&j(`b`,{children:o.title}),o&&o.meta&&j(`span`,{children:` ${o.meta}`})]})]})}function zd(e,t){t.episode?_d({name:`vod`,kind:`episode`,id:t.episode.id,seriesId:t.id}):t.progress!==void 0&&e===`movie`?_d({name:`vod`,kind:`movie`,id:t.id}):_d(e===`movie`?{name:`movie`,id:t.id}:{name:`series`,id:t.id})}var Bd=350,Vd=()=>{let e=new Date().getHours();return R(e>=5&&e<=11?`home_greeting_morning`:e>=12&&e<=17?`home_greeting_day`:`home_greeting_evening`)};function Hd({providerId:e}){let n=Kc.value||[],r=n.find(t=>t.id===e),[i,a]=N(null),[o,s]=N(null),[c,l]=N(0),u=F(null),d=F(null),f=F(null),p=ke(()=>I(null),[]),m=F(void 0),h=F(!1),g=()=>l(e=>e+1),_=gd.value.length,v=F(!1);P(()=>{_===0&&v.current&&g(),v.current=_>0},[_]),P(()=>{if(_>0)return;let n=!0;(async()=>{let i=performance.now(),o=t(`türler`,Fu(e,`movie`,r&&r.lastSync||0)),[s,c,l,u,d,f,p,m,h,g,_]=await Promise.all([t(`devam film`,Mu(e,`movie`)),t(`devam dizi`,Mu(e,`series`)),t(`en iyi film`,Vu(e,`movie`)),t(`platformlar`,Gu(e)),t(`yeni bölüm`,Xu(e)),t(`favori kanal`,Hu(e,`fav`)),t(`son kanal`,Hu(e,`recent`)),t(`yayın akışı`,Wu()),t(`yeni film`,ku(e,`movie`,20)),t(`yeni dizi`,ku(e,`series`,20)),t(`en iyi dizi`,Vu(e,`series`))]);`${Math.round(performance.now()-i)}`;let v={hero:Bu(l),cont:[...s,...c].sort((e,t)=>(t.updated||0)-(e.updated||0)).slice(0,20),up:[],newEps:d.map(e=>V(V({},Du(e)),{},{key:`n${e.id}`,badge:R(`home_new_episode_badge`)})),forYou:null,soon:[],genres:[],favs:f,recents:p,tonight:[],schedule:m,tiles:u,newMovies:h,newSeries:g,topMovies:l,topSeries:_};if(!n)return;a(v);let y=()=>{n&&a(V({},v))};o.then(e=>{v.genres=e,e.length&&y()});let b=await t(`arka planlar`,Tu(v.cont));n&&(b!==v.cont&&(v.cont=b,y()),v.soon=await t(`birazdan`,Zu(e)),n&&(y(),v.tonight=await t(`bu akşam`,Uu(e)),y()))})();let i=()=>g();return window.addEventListener(`utopya:progress`,i),()=>{n=!1,window.removeEventListener(`utopya:progress`,i)}},[e,r&&r.lastSync,c,_===0]),P(()=>{let e=()=>{h.current=!0};return document.addEventListener(`keydown`,e,!0),()=>document.removeEventListener(`keydown`,e,!0)},[]);let y=F(Date.now()),b=F(!1),S=F(void 0);P(()=>{i&&!b.current&&(b.current=!0,S.current=window.setTimeout(()=>{if(h.current||gd.peek().length)return;let e=document.activeElement;(!e||e===document.body||e.closest(`.topbar`))&&L(f.current)},Math.max(0,1200-(Date.now()-y.current))))},[i]),P(()=>()=>clearTimeout(S.current),[]);let C=async(t,n)=>{let r=await nu(e,{type:t}),i=r.indexOf(n);i>=0&&Sd(r,i)},ee={HERO:()=>null,CONTINUE:()=>i.cont.length?j(Rd,{title:R(`shelf_continue`),children:i.cont.map(e=>j(Md,{card:e,onClick:()=>zd(e.episode?`series`:`movie`,e),onLongPress:()=>s({title:e.title,items:[{label:R(`menu_open`),onSelect:()=>zd(e.episode?`series`:`movie`,e)},{label:R(`menu_remove_continue`),onSelect:async()=>{await K.progress.delete(e.episode?e.episode.id:e.id),g()}}]})},e.key))}):null,UP_NEXT:()=>i.up.length?j(Rd,{title:R(`home_up_next`),children:i.up.map(e=>{let t=()=>_d({name:`vod`,kind:`episode`,id:e.episode.id,seriesId:e.id,startMs:0});return j(Md,{card:e,onClick:t,onLongPress:()=>s({title:e.title,items:[{label:R(`menu_open`),onSelect:t},{label:R(`menu_remove_up_next`),onSelect:async()=>{await K.progress.where(`seriesId`).equals(e.id).delete(),g()}}]})},e.key)})}):null,NEW_EPISODES:()=>i.newEps.length?j(Rd,{title:R(`home_new_episodes`),children:i.newEps.map(e=>j(Md,{card:e,onClick:()=>_d({name:`series`,id:e.id}),onLongPress:()=>s({title:e.title,items:[{label:R(`home_dismiss_new`),onSelect:()=>{Ju(e.id),g()}}]})},e.key))}):null,FOR_YOU:()=>i.forYou&&i.forYou.items.length?O(R(`home_for_you_genres`,i.forYou.genres.join(`, `)),i.forYou.items,`movie`,`rating`,{genre:i.forYou.genres[0]}):null,STARTING_SOON:()=>i.soon.length?j(Rd,{title:R(`home_starting_soon`),children:i.soon.map(e=>j(qd,{pc:e,badge:$u.value.has(e.program.id)?R(`home_reminder_badge`):void 0,onClick:async()=>B(R(await nd(e.program,e.channel)?`guide_reminder_set`:`guide_reminder_removed`)),onLongPress:()=>s({title:e.title,items:[{label:R(`home_open_channel`),onSelect:()=>C(`fav`,e.channel.id)}]})},e.key))}):null,GENRES:()=>i.genres.length?j(Rd,{title:R(`home_genres`),children:i.genres.map(e=>j(`button`,{class:`chip genre-chip`,"data-focus":!0,onClick:()=>_d({name:`browse`,kind:`movie`,title:e,filter:{genre:e}}),children:e},e))}):null,FAVORITE_CHANNELS:()=>i.favs.length?j(Rd,{title:R(`home_favorite_channels`),children:i.favs.map(t=>j(Kd,{cc:t,onClick:()=>C(`fav`,t.channel.id),onLongPress:()=>s({title:t.channel.name,items:[{label:R(`menu_remove_favorite`),onSelect:async()=>{await au(e,`live`,t.channel.id),g()}}]})},t.channel.id))}):null,RECENT_CHANNELS:()=>i.recents.length?j(Rd,{title:R(`home_recent_channels`),children:i.recents.map(e=>j(Kd,{cc:e,onClick:()=>C(`recent`,e.channel.id),onLongPress:()=>s({title:e.channel.name,items:[{label:R(`menu_remove_recent`),onSelect:async()=>{await K.recents.delete(e.channel.id),g()}}]})},e.channel.id))}):null,TONIGHT_SPORTS:()=>i.tonight.length?j(Rd,{title:R(`home_tonight`),children:i.tonight.map(e=>j(qd,{pc:e,onClick:()=>e.channel&&C(`all`,e.channel.id)},e.key))}):null,SCHEDULE:()=>i.schedule.length?j(Rd,{title:R(`home_schedule`),children:i.schedule.map(e=>j(qd,{pc:e,onClick:()=>e.channel&&C(`all`,e.channel.id)},e.key))}):null,PLATFORMS:()=>i.tiles.length?j(Rd,{title:R(`shelf_platforms`),children:i.tiles.map(e=>j(Pd,{tile:e,onClick:()=>_d({name:`browse`,kind:e.kind,title:e.platform.name,filter:{categoryIds:e.categoryIds,platformKey:e.platform.key}})},e.platform.key))}):null,NEW_MOVIES:()=>O(R(`home_new_movies`),i.newMovies,`movie`,`added`),NEW_SERIES:()=>O(R(`home_new_series`),i.newSeries,`series`,`added`),TOP_RATED:()=>i.topMovies.length||i.topSeries.length?j(x,{children:[O(R(`home_top_movies`),i.topMovies,`movie`,`rating`),O(R(`home_top_series`),i.topSeries,`series`,`rating`)]}):null},w=i?q.value.homeShelves.filter(e=>e in ee).map(e=>({k:e,el:ee[e]()})).filter(e=>e.el):[],T=i&&i.hero?{kind:`movie`,item:i.hero}:null,te=!!T&&q.value.homeShelves.indexOf(`HERO`)>=0,E=e=>{let t=e.target.closest(`[data-hero-id]`);if(!t)return;clearTimeout(m.current);let n=t.getAttribute(`data-hero-kind`),r=Number(t.getAttribute(`data-hero-id`)),i=Number(t.getAttribute(`data-hero-ep`));m.current=window.setTimeout(async()=>{if(n===`movie`){let e=await K.movies.get(r);e&&(p.value={kind:n,item:await _u(e)})}else{let e=await K.series.get(r);if(e){let t=await vu(e);p.value={kind:n,item:t.series,episode:t.episodes.find(e=>e.id===i)}}}},Bd)};P(()=>()=>clearTimeout(m.current),[]);let D=j(`div`,{class:`home-actions`,children:[j(`button`,{class:`round-btn`,"data-focus":!0,"aria-label":R(`home_edit`),title:R(`home_edit`),onClick:()=>_d({name:`homeEdit`}),children:j(z,{name:`edit`})}),n.length>1&&j(`button`,{class:`btn outline`,"data-focus":!0,onClick:()=>s({title:R(`home_switch_source`),items:n.map(t=>({label:t.name,checked:t.id===e,onSelect:()=>Zc(t.id)}))}),children:R(`home_switch_source`)})]});return j(`div`,{class:`home ux-home`,ref:u,children:[te?j(Gd,{hero:p,fallback:T,actions:D}):j(`div`,{class:`home-head`,children:[j(`div`,{children:[j(`span`,{class:`ux-eyebrow`,children:Vd()}),i&&(i.recents.length>0||i.cont.length>0)&&j(`h1`,{children:R(`ux_welcome`)})]}),j(`span`,{class:`spacer`}),r&&j(`span`,{class:`muted`,children:R(`ux_source`,r.name)}),D]}),j(`div`,{class:`home-shelves`,ref:d,onFocusCapture:E,children:j(`div`,{class:`home-list`,ref:f,children:[!i&&j(`p`,{class:`home-empty`,children:R(`ux_loading`)}),i&&!w.length&&j(`p`,{class:`home-empty`,children:R(`home_empty`)}),w.map(e=>j(`div`,{class:`home-block`,children:e.el},e.k))]})}),o&&j(An,{title:o.title,items:o.items,onClose:()=>s(null)})]});function O(e,t,n,r,i={all:!0}){if(!t.length)return null;let a=()=>_d({name:`browse`,kind:n,title:e,filter:i,sort:r});return n===`series`?j(Rd,{title:e,seeAll:a,children:t.map(e=>{let t=Du(e);return j(Md,{card:t,onClick:()=>zd(n,t)},t.key)})}):j(Rd,{title:e,seeAll:a,children:t.map(e=>{let t=Du(e);return j(jd,{card:t,onClick:()=>zd(n,t)},t.key)})})}}var Ud=e=>e.split(` / `)[0].replace(/\s*\(\d{4}\)\s*$/,``);async function Wd(e){if(e.kind===`movie`){_d({name:`vod`,kind:`movie`,id:e.item.id});return}let t=e.episode||(await vu(e.item)).episodes[0];_d(t?{name:`vod`,kind:`episode`,id:t.id,seriesId:e.item.id}:{name:`series`,id:e.item.id})}function Gd({hero:e,fallback:t,actions:n}){let r=e.value||t;if(!r)return null;let i=r.item,a=i.backdrop||i.poster,o=a&&vn(a,1280),s=i.rating&&i.rating>0?i.rating.toFixed(1):null,c=i.genre?i.genre.split(/[,/|&]/).map(e=>e.trim()).filter(Boolean).slice(0,2).join(` · `):``;return j(`div`,{class:`hero2`,children:[j(`div`,{class:`hero2-bg`,children:o&&j(`img`,{src:o,alt:``,decoding:`async`},o)}),j(`div`,{class:`hero2-actions`,children:n}),j(`div`,{class:`hero2-info`,children:[j(`span`,{class:`hero2-kind`,children:R(r.kind===`movie`?`home_kind_movie`:`home_kind_series`)}),j(`h2`,{class:`hero2-title`,children:Ud(i.name)}),j(`p`,{class:`hero2-meta`,children:[s&&j(`b`,{children:`★ ${gn.value===`tr`?s.replace(`.`,`,`):s}`}),i.year&&j(`span`,{children:i.year}),c&&j(`span`,{children:c})]}),j(`p`,{class:`hero2-plot`,children:i.plot||``}),j(`div`,{class:`row hero2-buttons`,"data-focus-group":`hero`,children:[j(`button`,{class:`btn primary`,"data-focus":!0,"data-focus-default":!0,onClick:()=>Wd(r),children:R(`vod_play`)}),j(`button`,{class:`btn outline`,"data-focus":!0,onClick:()=>_d(r.kind===`movie`?{name:`movie`,id:i.id}:{name:`series`,id:i.id}),children:R(`home_details`)})]})]})]})}function Kd({cc:e,onClick:t,onLongPress:n}){let r=e.channel;return j(`div`,{class:`channel-tile`,children:j(`button`,{onlongpress:n,class:`ct-card${e.now?` has-program`:``}`,"data-focus":!0,onClick:t,children:[j(`span`,{class:`ct-logo`,children:r.logo?j(od,{src:r.logo,size:48}):j(`span`,{class:`ct-fallback`,children:r.name})}),e.now&&j(x,{children:[j(`span`,{class:`ct-program`,children:e.now.title}),j(sd,{value:Al(e.now),class:`ct-progress`})]})]})})}function qd({pc:e,onClick:t,onLongPress:n,badge:r}){return j(`button`,{onlongpress:n,class:`program-tile`,"data-focus":!0,onClick:t,children:[j(`span`,{class:`pt-logo-box`,children:e.channel&&e.channel.logo&&j(od,{src:e.channel.logo,size:40})}),j(`span`,{class:`pt-text`,children:[j(`span`,{class:`pt-time`,children:[Ml(e.start),e.live&&j(`span`,{class:`pt-badge`,children:R(`home_live_now`)}),r&&j(`span`,{class:`pt-badge reminder`,children:r})]}),j(`span`,{class:`pt-title`,children:e.title}),j(`span`,{class:`pt-channel`,children:e.channelName})]})]})}function Jd(){let e=F(null);return P(()=>{L(e.current)},[]),j(`div`,{class:`library`,ref:e,children:[j(`span`,{class:`ux-eyebrow`,children:R(`ux_explore`)}),j(`h1`,{children:R(`nav_library`)}),j(`p`,{class:`muted`,children:R(`ux_library_hint`)}),j(`div`,{class:`library-items`,"data-focus-group":`library`,children:[j(`button`,{class:`library-card`,"data-focus":!0,onClick:()=>_d({name:`recordings`}),children:[j(z,{name:`guide`}),j(`strong`,{children:R(`nav_recordings`)}),j(`span`,{children:R(`ux_recordings_hint`)})]}),j(`button`,{class:`library-card`,"data-focus":!0,onClick:()=>_d({name:`extensions`}),children:[j(z,{name:`grid`}),j(`strong`,{children:R(`nav_extensions`)}),j(`span`,{children:R(`ux_extensions_hint`)})]}),j(`button`,{class:`library-card`,"data-focus":!0,onClick:()=>_d({name:`browse`,kind:`movie`,title:R(`ux_fav_movies`),filter:{favorites:!0}}),children:[j(z,{name:`star`}),j(`strong`,{children:R(`ux_fav_movies`)})]}),j(`button`,{class:`library-card`,"data-focus":!0,onClick:()=>_d({name:`browse`,kind:`series`,title:R(`ux_fav_series`),filter:{favorites:!0}}),children:[j(z,{name:`star`}),j(`strong`,{children:R(`ux_fav_series`)})]})]})]})}var Yd={_doc:`Ülke öneki → görünen ad [tr, en]. Chromium 56'da Intl.DisplayNames olmadığı için Tizen bu tabloyu kullanır; listede olmayan kod olduğu gibi gösterilir. Android cihaz yerel ayarını (Locale.displayCountry) kullanır; UK/EN → Birleşik Krallık, EX → Ex-YU kuralları aynı.`,countries:{TR:{tr:`Türkiye`,en:`Türkiye`},DE:{tr:`Almanya`,en:`Germany`},UK:{tr:`Birleşik Krallık`,en:`United Kingdom`},EN:{tr:`Birleşik Krallık`,en:`United Kingdom`},GB:{tr:`Birleşik Krallık`,en:`United Kingdom`},US:{tr:`Amerika Birleşik Devletleri`,en:`United States`},USA:{tr:`Amerika Birleşik Devletleri`,en:`United States`},CA:{tr:`Kanada`,en:`Canada`},FR:{tr:`Fransa`,en:`France`},IT:{tr:`İtalya`,en:`Italy`},ES:{tr:`İspanya`,en:`Spain`},PT:{tr:`Portekiz`,en:`Portugal`},NL:{tr:`Hollanda`,en:`Netherlands`},BE:{tr:`Belçika`,en:`Belgium`},AT:{tr:`Avusturya`,en:`Austria`},CH:{tr:`İsviçre`,en:`Switzerland`},PL:{tr:`Polonya`,en:`Poland`},RO:{tr:`Romanya`,en:`Romania`},BG:{tr:`Bulgaristan`,en:`Bulgaria`},GR:{tr:`Yunanistan`,en:`Greece`},AL:{tr:`Arnavutluk`,en:`Albania`},RS:{tr:`Sırbistan`,en:`Serbia`},HR:{tr:`Hırvatistan`,en:`Croatia`},BA:{tr:`Bosna-Hersek`,en:`Bosnia and Herzegovina`},MK:{tr:`Kuzey Makedonya`,en:`North Macedonia`},SI:{tr:`Slovenya`,en:`Slovenia`},HU:{tr:`Macaristan`,en:`Hungary`},CZ:{tr:`Çekya`,en:`Czechia`},SK:{tr:`Slovakya`,en:`Slovakia`},RU:{tr:`Rusya`,en:`Russia`},UA:{tr:`Ukrayna`,en:`Ukraine`},SE:{tr:`İsveç`,en:`Sweden`},NO:{tr:`Norveç`,en:`Norway`},DK:{tr:`Danimarka`,en:`Denmark`},FI:{tr:`Finlandiya`,en:`Finland`},IE:{tr:`İrlanda`,en:`Ireland`},AZ:{tr:`Azerbaycan`,en:`Azerbaijan`},GE:{tr:`Gürcistan`,en:`Georgia`},IR:{tr:`İran`,en:`Iran`},IQ:{tr:`Irak`,en:`Iraq`},AR:{tr:`Arap ülkeleri`,en:`Arabic`},ARA:{tr:`Arap ülkeleri`,en:`Arabic`},IN:{tr:`Hindistan`,en:`India`},PK:{tr:`Pakistan`,en:`Pakistan`},AF:{tr:`Afganistan`,en:`Afghanistan`},BR:{tr:`Brezilya`,en:`Brazil`},MX:{tr:`Meksika`,en:`Mexico`},LAT:{tr:`Latin Amerika`,en:`Latin America`},AU:{tr:`Avustralya`,en:`Australia`},NZ:{tr:`Yeni Zelanda`,en:`New Zealand`},CY:{tr:`Kıbrıs`,en:`Cyprus`},KU:{tr:`Kürtçe`,en:`Kurdish`},KUR:{tr:`Kürtçe`,en:`Kurdish`},EX:{tr:`Ex-YU`,en:`Ex-YU`},EXYU:{tr:`Ex-YU`,en:`Ex-YU`}}},Xd=(e,t)=>e&&e!==`und`?e.toUpperCase():`#${t+1}`,Zd=class{constructor(e,t){br(this,`av`,webapis.avplay),br(this,`rect`,{x:0,y:0,w:window.innerWidth,h:window.innerHeight}),br(this,`aspect`,`fit`),br(this,`ev`,void 0),br(this,`opened`,!1),br(this,`subTimer`,void 0),br(this,`appliedDisplay`,``),br(this,`bufferingAt`,null),br(this,`bufferingCount`,0),br(this,`bufferingMs`,0),br(this,`lastTimeAt`,null),br(this,`maxTimeGapMs`,0),br(this,`token`,0),this.ev=t;let n=document.createElement(`object`);n.type=`application/avplayer`,n.style.cssText=`position:absolute;left:0;top:0;width:100%;height:100%`,e.appendChild(n)}open(e,t,n){this.stop(),this.bufferingCount=0,this.bufferingMs=0,this.maxTimeGapMs=0;let r=++this.token,i=()=>r===this.token;try{if(this.av.open(e),this.opened=!0,t)try{this.av.setStreamingProperty(`USER_AGENT`,t)}catch(e){}this.av.setListener({onbufferingstart:()=>{i()&&(this.bufferingAt===null&&(this.bufferingAt=performance.now(),this.bufferingCount++),this.lastTimeAt=null,this.ev.onBuffering(!0))},onbufferingcomplete:()=>{i()&&(this.bufferingAt!==null&&(this.bufferingMs+=performance.now()-this.bufferingAt),this.bufferingAt=null,this.lastTimeAt=null,this.ev.onBuffering(!1))},onstreamcompleted:()=>{i()&&this.ev.onEnded()},oncurrentplaytime:e=>{if(!i())return;let t=performance.now();this.lastTimeAt!==null&&this.bufferingAt===null&&(this.maxTimeGapMs=Math.max(this.maxTimeGapMs,t-this.lastTimeAt)),this.lastTimeAt=t,this.ev.onTime(e)},onerror:e=>{i()&&this.ev.onError(String(e))},onevent:()=>{},onsubtitlechange:(e,t)=>{i()&&(clearTimeout(this.subTimer),this.ev.onSubtitle(t||``),this.subTimer=window.setTimeout(()=>{i()&&this.ev.onSubtitle(``)},Number(e)||3e3))}}),this.applyRect(),this.av.prepareAsync(()=>{if(i()){if(this.appliedDisplay=``,this.applyRect(),n)try{this.av.seekTo(n)}catch(e){}this.av.play(),this.ev.onPlaying()}},e=>{i()&&this.ev.onError(String(e))})}catch(e){this.ev.onError(String(e))}}stop(){if(this.token++,clearTimeout(this.subTimer),this.subTimer=void 0,this.bufferingAt=null,this.lastTimeAt=null,this.appliedDisplay=``,this.opened){this.opened=!1;try{this.av.stop()}catch(e){}try{this.av.close()}catch(e){}}}pause(){this.lastTimeAt=null;try{this.av.pause()}catch(e){}}resume(){this.lastTimeAt=null;try{this.av.play()}catch(e){}}seek(e){this.lastTimeAt=null;try{this.av.seekTo(Math.max(0,e))}catch(e){}}setRect(e){this.rect=e,this.applyRect()}setAspect(e){this.aspect=e,this.applyRect()}applyRect(){if(!this.opened)return;let e=1920/window.innerWidth,{x:t,y:n,w:r,h:i}=this.rect;this.aspect===`zoom`&&(t-=r/6,n-=i/6,r*=4/3,i*=4/3);let a=this.aspect===`fill`?`PLAYER_DISPLAY_MODE_FULL_SCREEN`:`PLAYER_DISPLAY_MODE_LETTER_BOX`,o=[t,n,r,i].map(t=>Math.round(t*e)),s=`${a}:${o.join(`,`)}`;if(s!==this.appliedDisplay)try{this.av.setDisplayMethod(a),this.av.setDisplayRect(...o),this.appliedDisplay=s}catch(e){}}diagnostics(){let e=[];try{e.push(`AVPlay ${this.av.getVersion()} · ${this.av.getState()}`)}catch(e){}try{let t=this.av.getCurrentStreamInfo().find(e=>e.type===`VIDEO`);if(t){let n=JSON.parse(t.extra_info),r=String(n.fourCC||``).replace(/[^a-z0-9 ._-]/gi,``).slice(0,24),i=Number(n.Width)||0,a=Number(n.Height)||0,o=Math.round((Number(n.Bit_rate)||0)/1e3);e.push(`${r} · ${i}×${a}${o?` · ${o} kbps`:``}`)}}catch(e){}let t=this.bufferingAt===null?0:performance.now()-this.bufferingAt;return e.push(`Buffer: ${this.bufferingCount} · ${((this.bufferingMs+t)/1e3).toFixed(1)} s`),e.push(`AVPlay event gap: ${(this.maxTimeGapMs/1e3).toFixed(2)} s`),e}tracks(e){try{return this.av.getTotalTrackInfo().filter(t=>t.type===e).map((e,t)=>{let n=``;try{n=JSON.parse(e.extra_info).language||``}catch(e){}return{index:e.index,language:n,label:Xd(n,t)}})}catch(e){return[]}}audioTracks(){return this.tracks(`AUDIO`)}textTracks(){return this.tracks(`TEXT`)}selectAudio(e){try{this.av.setSelectTrack(`AUDIO`,e)}catch(e){}}selectText(e){try{e===null?this.av.setSilentSubtitle(!0):(this.av.setSilentSubtitle(!1),this.av.setSelectTrack(`TEXT`,e))}catch(e){}}videoHeight(){try{let e=this.av.getTotalTrackInfo().find(e=>e.type===`VIDEO`);return e?JSON.parse(e.extra_info).Height|0:0}catch(e){return 0}}duration(){try{return this.av.getDuration()||0}catch(e){return 0}}buffered(){return 0}setSpeed(e){try{e===Math.round(e)&&this.av.setSpeed(e)}catch(e){}}};function Qd(e){let t=window;return t[e]?Promise.resolve(t[e]):new Promise((n,r)=>{let i=document.createElement(`script`);i.src=e===`mpegts`?`lib/mpegts.js`:`lib/hls.min.js`,i.onload=()=>t[e]?n(t[e]):r(Error(e)),i.onerror=()=>r(Error(e)),document.head.appendChild(i)})}var $d=class{constructor(e,t){br(this,`video`,void 0),br(this,`hls`,null),br(this,`ts`,null),br(this,`ev`,void 0),br(this,`token`,0),this.ev=t;let n=document.createElement(`video`);n.style.cssText=`position:absolute;background:#000`,n.autoplay=!0,n.addEventListener(`waiting`,()=>t.onBuffering(!0)),n.addEventListener(`playing`,()=>{t.onBuffering(!1),t.onPlaying()}),n.addEventListener(`ended`,()=>t.onEnded()),n.addEventListener(`timeupdate`,()=>t.onTime(n.currentTime*1e3)),n.addEventListener(`error`,()=>t.onError(n.error?`media ${n.error.code}`:`media`)),e.appendChild(n),this.video=n,this.setRect({x:0,y:0,w:0,h:0})}open(e,t,n){this.stop();let r=++this.token,i=this.video,a=()=>{n&&(i.currentTime=n/1e3)},o=/\.m3u8(\?|$)/i.test(e),s=!o&&/\.ts(\?|$)/i.test(e);!o&&!s||o&&i.canPlayType(`application/vnd.apple.mpegurl`)?(i.src=wr(e),i.addEventListener(`loadedmetadata`,a,{once:!0})):s?Qd(`mpegts`).then(t=>{var n;if(r!==this.token)return;let a=t.createPlayer({type:`mpegts`,isLive:!0,url:new URL(wr(e),location.href).href});a.on(t.Events.ERROR,(e,t)=>this.ev.onError(`${e} ${t}`)),a.attachMediaElement(i),a.load(),(n=a.play())==null||n.catch(()=>{}),this.ts=a},()=>{r===this.token&&this.ev.onError(`mpegts`)}):Qd(`Hls`).then(t=>{if(r!==this.token)return;let a=new t({xhrSetup:(e,t)=>e.open(`GET`,wr(t),!0),startPosition:n?n/1e3:-1});a.on(t.Events.ERROR,(e,t)=>{t.fatal&&this.ev.onError(t.details)}),a.loadSource(e),a.attachMedia(i),this.hls=a},()=>{r===this.token&&this.ev.onError(`hls`)})}stop(){this.token++,this.hls&&(this.hls.destroy(),this.hls=null),this.ts&&(this.ts.destroy(),this.ts=null),this.video.removeAttribute(`src`),this.video.load()}pause(){this.video.pause()}resume(){this.video.play()}seek(e){this.video.currentTime=Math.max(0,e/1e3)}setRect(e){let t=this.video.style;t.left=`${e.x}px`,t.top=`${e.y}px`,t.width=`${e.w}px`,t.height=`${e.h}px`}setAspect(e){let t=this.video.style;t.objectFit=e===`fit`?`contain`:e===`fill`?`fill`:`cover`}audioTracks(){return this.hls?this.hls.audioTracks.map((e,t)=>({index:t,language:e.lang||``,label:e.name||Xd(e.lang,t)})):[]}textTracks(){return this.hls?this.hls.subtitleTracks.map((e,t)=>({index:t,language:e.lang||``,label:e.name||Xd(e.lang,t)})):[]}selectAudio(e){this.hls&&(this.hls.audioTrack=e)}selectText(e){this.hls&&(this.hls.subtitleTrack=e===null?-1:e)}videoHeight(){return this.video.videoHeight}duration(){let e=this.video.duration;return isFinite(e)?e*1e3:0}buffered(){let e=this.video.buffered;return e.length?e.end(e.length-1)*1e3:0}setSpeed(e){this.video.playbackRate=e}},X=I(`idle`),ef=I(null),tf=I(``),nf=I(`unknown`),rf=I(0),af=I(q.value.aspect),of=I(null),sf=I(0),cf=I(null),lf=I(null),uf=I(``),Z,df=0,ff,pf,mf=!1,hf={tur:`tr`,eng:`en`,deu:`de`,ger:`de`,fra:`fr`,fre:`fr`,ara:`ar`,rus:`ru`},gf=e=>{let t=e.toLowerCase().slice(0,3);return hf[t]||t.slice(0,2)};function _f(e,t){q.peek().rememberTracks&&(e===`audio`?t&&t.language&&Vc({preferredAudio:gf(t.language)}):Vc({preferredSubtitle:t&&t.language?gf(t.language):null}))}function vf(){mf=!0;let{preferredAudio:e,preferredSubtitle:t}=q.peek(),n=(e,t)=>t?e.find(e=>e.language&&gf(e.language)===t):void 0,r=n(Z.audioTracks(),e);r&&Z.selectAudio(r.index);let i=n(Z.textTracks(),t);i&&Z.selectText(i.index)}var yf={},bf=[1500,3e3,6e3,12e3],xf=[`auth`,`not_found`,`format`,`limit`];function Sf(e){let t=e.toUpperCase();return/HTTP (429|458|509)\b/.test(t)?`limit`:/HTTP 5\d\d\b/.test(t)?`server`:/AUTH|401|403|FORBIDDEN|UNAUTHORIZED/.test(t)?`auth`:/INVALID_URI|404|410|NOT_FOUND|MANIFESTLOADERROR/.test(t)?`not_found`:/NOT_SUPPORTED|UNSUPPORTED|FORMAT|MEDIA 4/.test(t)?`format`:/DECOD|MEDIA 3/.test(t)?`decoder`:/TIMEOUT|TIMED_OUT/.test(t)?`timeout`:/CONNECTION|NETWORK|MEDIA 2|FRAGLOAD|LEVELLOAD/.test(t)?`network`:`unknown`}async function Cf(e){if(!/^https?:/i.test(e))return null;let t=typeof AbortController<`u`?new AbortController:null,n=setTimeout(()=>t&&t.abort(),5e3);try{let n=await fetch(e,{headers:{Range:`bytes=0-0`},cache:`no-store`,signal:t?t.signal:void 0});try{n.body&&n.body.cancel()}catch(e){}return n.status>=400?`HTTP ${n.status}${n.statusText?` ${n.statusText}`:``}`:null}catch(e){return null}finally{clearTimeout(n)}}var wf=!1,Tf=0;function Ef(e){let t={onBuffering:e=>{e&&X.value===`playing`?X.value=`loading`:!e&&X.value===`loading`&&(X.value=`playing`)},onPlaying:()=>{X.value===`loading`&&!mf&&vf(),X.value=`playing`,df=0,rf.value=0,yf.started&&yf.started()},onEnded:()=>yf.ended&&yf.ended(),onTime:e=>{sf.value=e},onSubtitle:e=>{uf.value=e},onError:e=>{let t=ef.value;if(!t||X.value===`error`||wf)return;wf=!0,X.value=`loading`;let n=Tf;Cf(t.url).then(r=>{if(n!==Tf||(wf=!1,X.value===`error`))return;let i=r||e;console.warn(`oynatma hatası`,i);let a=Sf(i);if(xf.indexOf(a)<0&&df<bf.length){rf.value=df+1,clearTimeout(ff);let e=t.key.startsWith(`live:`)?void 0:sf.peek()||pf;ff=window.setTimeout(()=>Z.open(t.url,t.userAgent,e),bf[df++])}else rf.value=0,nf.value=a,tf.value=i,X.value=`error`,Z.stop(),yf.failed&&yf.failed()})}};Z=Ft?new Zd(e,t):new $d(e,t),of.subscribe(e=>{e===null?Z.setRect({x:0,y:0,w:0,h:0}):e===`full`?Z.setRect({x:0,y:0,w:window.innerWidth,h:window.innerHeight}):Z.setRect(e)}),window.addEventListener(`resize`,()=>{of.peek()===`full`&&Z.setRect({x:0,y:0,w:window.innerWidth,h:window.innerHeight})}),af.subscribe(e=>{Z.setAspect(e),q.peek().aspect!==e&&Vc({aspect:e})}),document.addEventListener(`visibilitychange`,()=>{let e=ef.value;if(!e)return;if(document.hidden){Z.stop();return}let t=e.key.startsWith(`live:`)?void 0:sf.peek()||pf;X.value=`loading`,Z.open(e.url,e.userAgent,t)})}function Df(e,t={}){yf.ended=t.onEnded,yf.failed=t.onFailed,yf.started=t.onStarted,!(ef.value&&ef.value.key===e.key&&X.value!==`error`)&&(clearTimeout(ff),Tf++,wf=!1,df=0,rf.value=0,mf=!1,pf=t.startMs,ef.value=e,X.value=`loading`,tf.value=``,uf.value=``,cf.value=null,lf.value=null,sf.value=t.startMs||0,Z.open(e.url,e.userAgent,t.startMs))}function Of(){let e=ef.value;if(!e)return;let t=e.key.startsWith(`live:`)?void 0:sf.peek()||pf;ef.value=null,Df(e,{startMs:t,onEnded:yf.ended,onFailed:yf.failed,onStarted:yf.started})}function kf(){clearTimeout(ff),Tf++,wf=!1,ef.value=null,X.value=`idle`,Z.stop()}function Af(){X.value===`paused`?(Z.resume(),X.value=`playing`):(X.value===`playing`||X.value===`loading`)&&(Z.pause(),X.value=`paused`)}var jf=e=>Z.seek(e),Mf=()=>Z.audioTracks(),Nf=()=>Z.textTracks(),Pf=e=>Z.selectAudio(e);function Ff(e){e===null&&(uf.value=``),Z.selectText(e)}var If=()=>Z.diagnostics?Z.diagnostics():[],Lf=()=>Z.videoHeight(),Rf=()=>Z.duration(),zf=()=>Z.buffered(),Bf=e=>Z.setSpeed(e);function Vf(e){let t=e.getBoundingClientRect();return{x:t.left,y:t.top,w:t.width,h:t.height}}var Hf=700,Uf=e=>{let t=Yd.countries[e];return t?t[gn.value]:e};function Wf({onOpenPlayer:e}){var t;let n=qc.value,r=q.value,[i,a]=N([]),[o,s]=N(null),[c,l]=N(0),u=F(0);u.current=c;let d=F(null),[f,p]=N(null),[m,h]=N([]),[g,_]=N(null),[v,y]=N(null),[b,x]=N(null),S=Rl.value,[C,ee]=N(!1),[w,T]=N(!1),te=F(null),E=F(null),D=ud.value,O=(()=>{let e=Jc.value;return!!e&&e.providerId===n&&`stage`in e&&e.stage!==`DONE`})(),k=(t=(Kc.value||[]).find(e=>e.id===n))==null?void 0:t.lastSync;P(()=>{K.categories.where(`[providerId+kind]`).equals([n,`live`]).sortBy(`order`).then(a),hd(n),Vl(n),su(n).then(e=>h(e.sort((e,t)=>e.name.localeCompare(t.name))))},[n,k]);let ne=ke(()=>{let e=[{key:`fav`,label:R(`cat_favorites`),filter:{type:`fav`}},{key:`recent`,label:R(`cat_recent`),filter:{type:`recent`}},{key:`all`,label:R(`cat_all`),filter:{type:`all`}}],t=m.map(e=>({key:`ug:${e.id}`,label:e.name,filter:{type:`ugroup`,id:e.id},group:e})),n=i.filter(Gl);if(r.groupMode===`CATEGORY`){let i=e=>(zl.value.get(e.id)||{}).pinned||0,a=n.map((e,t)=>[e,t]).sort((e,t)=>i(t[0])-i(e[0])||e[1]-t[1]).map(e=>e[0]);return e.concat(t,a.map(e=>({key:`cat:${e.id}`,label:nc(e.name,r.filterWords),filter:{type:`cat`,id:e.id},platform:uc(e.name),locked:Hl(e),pinned:!!(zl.value.get(e.id)||{}).pinned,cat:e})))}let a=gn.value===`tr`?`TR`:`UK`,o=hc(n.map(e=>({id:e.id,name:e.name,locked:Hl(e)})),r.groupMode,a);return e.concat(t,o.map(e=>({key:e.key,label:e.platform?e.platform.name:e.country?Uf(e.country):R(`genre_${e.genre.toLowerCase()}`),filter:{type:`group`,key:e.key,ids:e.categoryIds},platform:e.platform})))},[i,r.groupMode,gn.value,m,S]),A=eu(D),re=ne.find(e=>eu(e.filter)===A);P(()=>{dd.value=re?re.label:``},[re&&re.label]),P(()=>{let e=!0;return s(null),nu(n,D).then(t=>{if(!e)return;let n=t,r=fd.peek(),i=r===null?-1:n.indexOf(r);s(n);let a=d.current===A;d.current=A;let o=i>=0?i:a?Math.max(0,Math.min(u.current,n.length-1)):0;l(o),i>=0&&(fd.value=null),(i>=0||a)&&setTimeout(()=>{i<0&&document.activeElement!==document.body||qt(E.current&&E.current.querySelector(`[data-idx="${o}"]`))},0)}),()=>{e=!1}},[n,A,k,S]);let ie=F({pick:e=>{},menu:e=>{}});ie.current={pick:e=>se(!!e.cat&&Ul(e.cat),()=>{e.cat&&Wl(e.cat.id),ud.value=e.filter}),menu:e=>ue(e)};let ae=ke(()=>o?new iu(o):null,[o]);P(()=>{fd.peek()===null&&setTimeout(()=>L(te.current),0)},[]),P(()=>{let e=()=>{let e=document.activeElement;ee(!!te.current&&te.current.contains(e)),T(!!E.current&&E.current.contains(e))};return document.addEventListener(`focusin`,e),()=>document.removeEventListener(`focusin`,e)},[]),P(()=>()=>{pd.peek()||kf(),of.value=null},[]);let oe=(e,t)=>r.numbering===`HIDDEN`?null:r.numbering===`CATEGORY`?t+1:e?e.number:null,se=(e,t)=>e?_({then:t}):t(),ce=async t=>{if(!o)return;let n=await K.channels.get(o[t]),r=n&&n.categoryId!==null&&i.find(e=>e.id===n.categoryId)||null;se(!!n&&Ul(r,n.id),()=>{n&&Wl(r?r.id:null,n.id),e(o,t)})},le=async e=>{let t=ae&&(await ae.range(e,e+1))[0];if(!t||!o)return;let r=md.value.has(t.id),i=async()=>s(await nu(n,D)),a=[{label:R(r?`menu_remove_favorite`:`menu_add_favorite`),onSelect:async()=>{await au(n,`live`,t.id),await hd(n),D.type===`fav`&&i()}}];if(D.type===`fav`||D.type===`ugroup`){let t=async t=>{if(!(t<0||t>=o.length)){if(D.type===`ugroup`)await fu(D.id,o,e,t);else{let[n,r]=await K.favorites.bulkGet([o[e],o[t]]);if(!n||!r)return;await K.favorites.bulkPut([V(V({},n),{},{order:r.order}),V(V({},r),{},{order:n.order})])}await i(),l(t)}};a.push({label:R(`menu_move_up`),onSelect:()=>t(e-1)},{label:R(`menu_move_down`),onSelect:()=>t(e+1)})}a.push({label:R(`menu_add_to_group`),onSelect:()=>p({title:R(`menu_add_to_group`),items:m.map(e=>({label:e.name,onSelect:()=>{lu(e.id,t.id).then(()=>B(e.name))}})).concat([{label:R(`menu_new_group`),onSelect:()=>x({initial:R(`group_default_name`,m.length+1),save:async e=>{await lu(await cu(n,e.trim()||R(`group_default_name`,m.length+1)),t.id),h((await su(n)).sort((e,t)=>e.name.localeCompare(t.name)))}})}])})}),D.type===`ugroup`&&a.push({label:R(`menu_remove_from_group`),onSelect:async()=>{await uu(D.id,t.id),i()}}),a.push({label:R(`menu_epg_mapping`),onSelect:()=>_d({name:`epgmap`,channelId:t.id})});let c=!!(Bl.value.get(t.id)||{}).locked;a.push({label:R(c?`menu_unlock`:`menu_lock`),onSelect:()=>{if(!Zl())return y(R(`pin_needed_first`));c?_({then:()=>Yl(t.id,n,{locked:!1})}):Yl(t.id,n,{locked:!0})}}),a.push({label:R(`menu_hide`),onSelect:async()=>{await Yl(t.id,n,{hidden:!0}),i()}}),p({title:t.name,items:a})},ue=e=>{if(e.group)return p({title:e.label,items:[{label:R(`menu_delete_group`),onSelect:async()=>{await du(e.group.id),h(m.filter(t=>t.id!==e.group.id)),eu(D)===e.key&&(ud.value={type:`all`})}}]});let t=e.cat;if(!t)return;let r=zl.value.get(t.id)||{},i=Hl(t);p({title:t.name,items:[{label:R(r.pinned?`menu_unpin`:`menu_pin_top`),onSelect:()=>Jl(t.id,n,{pinned:r.pinned?0:Date.now()})},{label:R(i?`menu_unlock`:`menu_lock`),onSelect:()=>{if(!Zl())return y(R(`pin_needed_first`));i?_({then:()=>Jl(t.id,n,{locked:!1})}):Jl(t.id,n,{locked:!0})}},{label:R(`menu_hide`),onSelect:async()=>{await Jl(t.id,n,{hidden:!0}),eu(D)===e.key&&(ud.value={type:`all`})}}]})},de=jn(async e=>{if(!o)return;let t=-1;if(r.numbering===`CATEGORY`)t=e-1<o.length?e-1:-1;else{let r=await K.channels.where(`[providerId+number]`).equals([n,e]).first();t=r?o.indexOf(r.id):-1}if(t<0)return B(R(`channel_not_found`));l(t),setTimeout(()=>qt(E.current&&E.current.querySelector(`[data-idx="${t}"]`)),0)});tn(e=>{var t;if(e.startsWith(`digit`))return de.push(e.slice(5)),!0;if(e===`up`&&(t=document.activeElement)!=null&&t.closest(`.live-list-title`))return qt(document.querySelector(`.topbar .selected`))});let fe=R(`group_${r.groupMode.toLowerCase()}`);return j(`div`,{class:`live-screen`,children:[j(`div`,{class:`live-cats glass${C?` wide`:``}`,ref:te,"data-focus-group":`live-cats`,children:[j(`button`,{class:`group-mode`,"data-focus":!0,onClick:()=>p({title:R(`group_by`,fe),items:[`CATEGORY`,`COUNTRY`,`GENRE`,`PLATFORM`].map(e=>({label:R(`group_${e.toLowerCase()}`),checked:e===r.groupMode,onSelect:()=>{Vc({groupMode:e}),ud.value={type:`all`}}}))}),children:[j(`span`,{children:[j(`span`,{class:`gm-title`,children:R(`live_categories`)}),j(`span`,{class:`gm-value`,children:R(`group_by`,fe)})]}),j(z,{name:`tune`})]}),j(Gf,{entries:ne,selectedKey:A,actions:ie})]}),j(`div`,{class:`live-channels glass`,children:[j(`div`,{class:`panel-title live-list-title`,children:[j(`button`,{class:`btn outline`,"data-focus":!0,onClick:()=>{Y.value=`guide`},children:R(`nav_guide`)}),j(`h2`,{children:re?re.label:``}),o&&o.length>0&&j(`span`,{class:`muted`,children:R(`live_channel_count`,o.length)})]}),o&&o.length===0?j(`p`,{class:`empty`,children:R(O?`live_syncing`:`live_empty_category`)}):j(wd,{listRef:E,group:`live-channels`,pager:ae,count:o?o.length:0,index:c,setIndex:l,numberOf:oe,focused:w,onOpen:ce,onMenu:le})]}),j(Jf,{pager:ae,index:c,active:w,locked:e=>Ul(i.find(t=>t.id===e.categoryId)||null,e.id)}),j(Mn,{digits:de.digits}),f&&j(An,{title:f.title,items:f.items,onClose:()=>p(null)}),g&&j(Nn,{title:R(`pin_enter`),check:Ql,onDone:()=>{let e=g.then;_(null),e()},onClose:()=>_(null)}),v&&j(Fn,{text:v,onClose:()=>y(null)}),b&&j(Pn,{title:R(`menu_new_group`),label:R(`group_name`),initial:b.initial,onSave:b.save,onClose:()=>x(null)})]})}var Gf=class extends S{constructor(...e){super(...e),br(this,`rev`,-1)}shouldComponentUpdate(e){return e.entries!==this.props.entries||e.selectedKey!==this.props.selectedKey||Rl.peek()!==this.rev}render(){let{entries:e,selectedKey:t,actions:n}=this.props;return this.rev=Rl.peek(),j(`div`,{class:`cat-list`,children:e.map(e=>j(Kf,{e,selected:eu(e.filter)===t,onClick:()=>n.current.pick(e),onLongPress:()=>n.current.menu(e)},e.key))})}};function Kf({e,selected:t,onClick:n,onLongPress:r}){return j(`button`,{onlongpress:r,class:`cat-row focus-row${t?` selected`:``}`,"data-focus":!0,"data-focus-default":t||void 0,onClick:n,children:[e.platform&&j(qf,{p:e.platform}),j(`span`,{class:`cat-name`,children:e.label}),e.pinned&&j(z,{name:`pin`,class:`cat-icon`}),e.locked&&j(z,{name:`lock`,class:`cat-icon`})]})}function qf({p:e}){let t=dc(e);return j(`span`,{class:`platform-badge`,children:t?j(`img`,{src:t,alt:``,class:e.tintWhite===!1?``:`tint-white`}):j(`b`,{children:e.name})})}function Jf({pager:e,index:t,active:n,locked:r}){let[i,a]=N(),[o,s]=N(null),c=F(null);P(()=>{let e=()=>{let e=of.peek();e&&e!==`full`&&c.current&&(of.value=Vf(c.current))};return window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)},[]),P(()=>{if(s(null),!i)return;let e=!0,t=setTimeout(()=>wl(i).then(t=>e&&s(t)),250);return()=>{e=!1,clearTimeout(t)}},[i&&i.id]);let l=q.value.previewAutoplay;return P(()=>{if(!e)return;let n=!0;return e.range(t,t+1).then(e=>n&&a(e[0])),()=>{n=!1}},[e,t]),P(()=>{if(!i)return;let e=ef.peek();if(e&&e.key===`live:${i.id}`&&(of.value=Vf(c.current)),!n||!l||r(i))return;let t=setTimeout(()=>{let e=(Kc.value||[]).find(e=>e.id===i.providerId);of.value=Vf(c.current),Df({url:i.url,userAgent:e?e.userAgent:null,key:`live:${i.id}`})},Hf);return()=>clearTimeout(t)},[i&&i.id,n]),j(`div`,{class:`live-preview glass`,children:[j(`span`,{class:`preview-label`,children:R(`live_preview`)}),j(`div`,{class:`preview-box${of.value&&of.value!==`full`?` hole`:``}`,ref:c,children:i&&r(i)?j(z,{name:`lock`,class:`preview-lock`}):!l&&i&&j(od,{src:i.logo,size:64})}),i&&j(`h3`,{class:`preview-name`,children:i.name}),o&&(o.now||o.next)?j(x,{children:[o.now&&j(Yf,{label:R(`now_label`),p:o.now,progress:!0}),o.next&&j(Yf,{label:R(`next_label`),p:o.next})]}):j(`p`,{class:`muted`,children:R(`no_program`)})]})}function Yf({label:e,p:t,progress:n}){return j(`div`,{class:`program-block`,children:[j(`span`,{class:`pb-label`,children:`${e} · ${Nl(t)}`}),j(`span`,{class:`pb-title`,children:t.title}),n&&j(sd,{value:Al(t),class:`pb-progress`}),t.desc&&j(`span`,{class:`pb-desc`,children:t.desc})]})}var Xf=e=>e<10?`0${e}`:`${e}`;function Zf(e,t){if(!t){let t=new Date(e);return{Y:`${t.getFullYear()}`,m:Xf(t.getMonth()+1),d:Xf(t.getDate()),H:Xf(t.getHours()),M:Xf(t.getMinutes()),S:Xf(t.getSeconds())}}let n;try{n=new Intl.DateTimeFormat(`en-US`,{timeZone:t,year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`,hour12:!1}).format(new Date(e))}catch(t){return Zf(e)}let r=/(\d+)\/(\d+)\/(\d+),?\s+(\d+):(\d+):(\d+)/.exec(n);return{Y:r[3],m:r[1],d:r[2],H:Xf(r[4]%24),M:r[5],S:r[6]}}var Qf=(e,t,n)=>{let r=Zf(e,n);return t.replace(/[YmdHMS]/g,e=>r[e])};function $f(e,t,n,r,i){let a=e=>Math.floor(e/1e3),o={utc:t,start:t,utcend:n,end:n,lutc:r,now:r,timestamp:r};return e.replace(/\{([YmdHMS])\}/g,(e,n)=>Zf(t,i)[n]).replace(/\$?\{(\w+)(?::([^}]+))?\}/g,(e,s,c)=>{if(s===`duration`||s===`offset`){let e=a(s===`duration`?n-t:r-t);return`${c&&/^\d+$/.test(c)?Math.floor(e/+c):e}`}let l=o[s];return l===void 0?e:c?Qf(l,c,i):`${a(l)}`})}var ep=(e,t)=>e+(e.indexOf(`?`)>=0?`&`:`?`)+t.replace(/^[?&]/,``);function tp(e,t,n,r,i={}){let a=Math.floor(t/1e3),o=Math.max(60,Math.floor((n-t)/1e3));switch(e.catchupType){case`XTREAM`:{let n=/^(https?:\/\/[^/]+)((?:\/.*?)?)\/([^/]+)\/([^/]+)\/([^/?]+?)(?:\.\w+)?(?:\?.*)?$/.exec(e.url);if(!n)return null;let r=n[1]+n[2].replace(/\/live$/,``),a=Zf(t,i.serverZone||i.deviceZone);return`${r}/timeshift/${n[3]}/${n[4]}/${Math.ceil(o/60)}/${a.Y}-${a.m}-${a.d}:${a.H}-${a.M}/${n[5]}.ts`}case`SHIFT`:return ep(e.url,`utc=${a}&lutc=${Math.floor(r/1e3)}`);case`APPEND`:case`DEFAULT`:{if(!e.catchupSource)return null;let a=$f(e.catchupSource,t,n,r,i.deviceZone);return e.catchupType===`APPEND`?e.url+a:/^https?:\/\//i.test(a)?a:ep(e.url,a)}case`FLUSSONIC`:{let t=e.url.indexOf(`?`),n=t>=0?e.url.slice(0,t):e.url,r=t>=0?e.url.slice(t):``,i=/^(.*\/)([^/]+)\.m3u8$/.exec(n);if(i)return`${i[1]}${i[2]}-${a}-${o}.m3u8${r}`;let s=/^(.*\/)(?:mpegts|[^/]+\.ts)$/.exec(n);return s?`${s[1]}timeshift_abs-${a}.ts${r}`:`${n.replace(/\/$/,``)}/timeshift_abs-${a}.ts${r}`}default:return null}}var np=(e,t,n)=>e.catchupType!==`NONE`&&t<n&&t>=n-Math.max(1,e.catchupDays)*864e5;function rp({onRetry:e,onBack:t}){let n=F(null);return P(()=>{L(n.current)},[]),j(`div`,{class:`player-center`,children:j(`div`,{class:`error-card`,ref:n,"data-focus-scope":!0,children:[j(z,{name:`error`,class:`error-icon`}),j(`p`,{children:ip()}),tf.value&&j(`p`,{class:`error-detail`,children:R(`player_error_detail`,tf.value)}),j(`div`,{class:`row`,children:[j(`button`,{class:`btn primary`,"data-focus":!0,"data-focus-default":!0,onClick:e,children:R(`retry`)}),j(`button`,{class:`btn outline`,"data-focus":!0,onClick:t,children:R(`back`)})]})]})})}var ip=()=>R(`player_error_${nf.peek()}`),ap=/(?:(\d+):)?(\d{1,2}):(\d{1,2})[,.](\d{1,3})/;function op(e){let t=ap.exec(e);if(!t)return NaN;let n=(t[4]+`00`).slice(0,3);return(((t[1]||0)*60+ +t[2])*60+ +t[3])*1e3+ +n}function sp(e){return e.replace(/\{\\[^}]*\}/g,``).replace(/<(\/?)([ibu])(\s[^>]*)?>/gi,`$1$2`).replace(/<[^>]+>/g,``).replace(/\u0001/g,`<`).replace(/\u0002/g,`>`).trim()}function cp(e){let t=[],n=e.replace(/^/,``).replace(/\r\n?/g,`
|
|
8
|
+
From previous: `);return this._state!==null&&(this._stack=e),e}finally{Gi=!1}}},timeout:function(e,t){return e<1/0?new G(((n,r)=>{var i=setTimeout((()=>r(new H.Timeout(t))),e);this.then(n,r).finally(clearTimeout.bind(null,i))})):this}}),typeof Symbol<`u`&&Symbol.toStringTag&&zr(G.prototype,Symbol.toStringTag,`Dexie.Promise`),ea.env=Ma(),Lr(G,{all:function(){var e=ui.apply(null,arguments).map(Oa);return new G((function(t,n){e.length===0&&t([]);var r=e.length;e.forEach(((i,a)=>G.resolve(i).then((n=>{e[a]=n,--r||t(e)}),n)))}))},resolve:e=>{if(e instanceof G)return e;if(e&&typeof e.then==`function`)return new G(((t,n)=>{e.then(t,n)}));var t=new G(Li,!0,e);return fa(t,Qi),t},reject:_a,race:function(){var e=ui.apply(null,arguments).map(Oa);return new G(((t,n)=>{e.map((e=>G.resolve(e).then(t,n)))}))},PSD:{get:()=>W,set:e=>W=e},totalEchoes:{get:()=>Ca},newPSD:Ta,usePSD:Na,scheduler:{get:()=>qi,set:e=>{qi=e}},rejectionMapper:{get:()=>$i,set:e=>{$i=e}},follow:(e,t)=>new G(((n,r)=>Ta(((t,n)=>{var r=W;r.unhandleds=[],r.onunhandled=n,r.finalize=ji((function(){(function(e){function t(){e(),ra.splice(ra.indexOf(t),1)}ra.push(t),++na,qi((()=>{--na==0&&ga()}),[])})((()=>{this.unhandleds.length===0?t():n(this.unhandleds[0])}))}),r.finalize),e()}),t,n,r)))}),Ui&&(Ui.allSettled&&zr(G,`allSettled`,(function(){let e=ui.apply(null,arguments).map(Oa);return new G((t=>{e.length===0&&t([]);let n=e.length,r=Array(n);e.forEach(((e,i)=>G.resolve(e).then((e=>r[i]={status:`fulfilled`,value:e}),(e=>r[i]={status:`rejected`,reason:e})).then((()=>--n||t(r)))))}))})),Ui.any&&typeof AggregateError<`u`&&zr(G,`any`,(function(){let e=ui.apply(null,arguments).map(Oa);return new G(((t,n)=>{e.length===0&&n(AggregateError([]));let r=e.length,i=Array(r);e.forEach(((e,a)=>G.resolve(e).then((e=>t(e)),(e=>{i[a]=e,--r||n(AggregateError(i))}))))}))})));var ya={awaits:0,echoes:0,id:0},ba=0,xa=[],Sa=0,Ca=0,wa=0;function Ta(e,t,n,r){var i=W,a=Object.create(i);a.parent=i,a.ref=0,a.global=!1,a.id=++wa;var o=ea.env;a.env=Wi?{Promise:G,PromiseProp:{value:G,configurable:!0,writable:!0},all:G.all,race:G.race,allSettled:G.allSettled,any:G.any,resolve:G.resolve,reject:G.reject,nthen:Ia(o.nthen,a),gthen:Ia(o.gthen,a)}:{},t&&Nr(a,t),++i.ref,a.finalize=function(){--this.parent.ref||this.parent.finalize()};var s=Na(a,e,n,r);return a.ref===0&&a.finalize(),s}function Ea(){return ya.id||(ya.id=++ba),++ya.awaits,ya.echoes+=Ri,ya.id}function Da(){return!!ya.awaits&&(--ya.awaits==0&&(ya.id=0),ya.echoes=ya.awaits*Ri,!0)}function Oa(e){return ya.echoes&&e&&e.constructor===Ui?(Ea(),e.then((e=>(Da(),e)),(e=>(Da(),za(e))))):e}function ka(e){++Ca,ya.echoes&&--ya.echoes!=0||(ya.echoes=ya.id=0),xa.push(W),ja(e,!0)}function Aa(){var e=xa[xa.length-1];xa.pop(),ja(e,!1)}function ja(e,t){var n=W;if((t?!ya.echoes||Sa++&&e===W:!Sa||--Sa&&e===W)||Pa(t?ka.bind(null,e):Aa),e!==W&&(W=e,n===ea&&(ea.env=Ma()),Wi)){var r=ea.env.Promise,i=e.env;Bi.then=i.nthen,r.prototype.then=i.gthen,(n.global||e.global)&&(Object.defineProperty(Ar,"Promise",i.PromiseProp),r.all=i.all,r.race=i.race,r.resolve=i.resolve,r.reject=i.reject,i.allSettled&&(r.allSettled=i.allSettled),i.any&&(r.any=i.any))}}function Ma(){var e=Ar.Promise;return Wi?{Promise:e,PromiseProp:Object.getOwnPropertyDescriptor(Ar,`Promise`),all:e.all,race:e.race,allSettled:e.allSettled,any:e.any,resolve:e.resolve,reject:e.reject,nthen:Bi.then,gthen:e.prototype.then}:{}}function Na(e,t,n,r,i){var a=W;try{return ja(e,!0),t(n,r,i)}finally{ja(a,!1)}}function Pa(e){Hi.call(zi,e)}function Fa(e,t,n,r){return typeof e==`function`?function(){var i=W;n&&Ea(),ja(t,!0);try{return e.apply(this,arguments)}finally{ja(i,!1),r&&Pa(Da)}}:e}function Ia(e,t){return function(n,r){return e.call(this,Fa(n,t),Fa(r,t))}}(``+Hi).indexOf(`[native code]`)===-1&&(Ea=Da=U);var La=`unhandledrejection`;function Ra(e,t){var n;try{n=t.onuncatched(e)}catch(e){}if(!1!==n)try{var r,i={promise:t,reason:e};if(Ar.document&&document.createEvent?((r=document.createEvent(`Event`)).initEvent(La,!0,!0),Nr(r,i)):Ar.CustomEvent&&Nr(r=new CustomEvent(La,{detail:i}),i),r&&Ar.dispatchEvent&&(dispatchEvent(r),!Ar.PromiseRejectionEvent&&Ar.onunhandledrejection))try{Ar.onunhandledrejection(r)}catch(e){}fi&&r&&!r.defaultPrevented&&console.warn(`Unhandled rejection: ${e.stack||e}`)}catch(e){}}var za=G.reject;function Ba(e,t,n,r){if(e.idbdb&&(e._state.openComplete||W.letThrough||e._vip)){var i=e._createTransaction(t,n,e._dbSchema);try{i.create(),e._state.PR1398_maxLoop=3}catch(i){return i.name===Ti.InvalidState&&e.isOpen()&&--e._state.PR1398_maxLoop>0?(console.warn(`Dexie: Need to reopen db`),e._close(),e.open().then((()=>Ba(e,t,n,r)))):za(i)}return i._promise(t,((e,t)=>Ta((()=>(W.trans=i,r(e,t,i)))))).then((e=>i._completion.then((()=>e))))}if(e._state.openComplete)return za(new H.DatabaseClosed(e._state.dbOpenError));if(!e._state.isBeingOpened){if(!e._options.autoOpen)return za(new H.DatabaseClosed);e.open().catch(U)}return e._state.dbReadyPromise.then((()=>Ba(e,t,n,r)))}var Va=`3.2.7`,Ha=``,Ua=-1/0,Wa=`Invalid key provided. Keys must be of type string, number, Date or Array<string | number | Date>.`,Ga=`String expected.`,Ka=[],qa=typeof navigator<`u`&&/(MSIE|Trident|Edge)/.test(navigator.userAgent),Ja=qa,Ya=qa,Xa=e=>!/(dexie\.js|dexie\.min\.js)/.test(e),Za=`__dbnames`,Qa=`readonly`,$a=`readwrite`;function eo(e,t){return e?t?function(){return e.apply(this,arguments)&&t.apply(this,arguments)}:e:t}var to={type:3,lower:-1/0,lowerOpen:!1,upper:[[]],upperOpen:!1};function no(e){return typeof e!=`string`||/\./.test(e)?e=>e:t=>(t[e]===void 0&&e in t&&delete(t=ri(t))[e],t)}var ro=class{_trans(e,t,n){let r=this._tx||W.trans,i=this.name;function a(e,n,r){if(!r.schema[i])throw new H.NotFound(`Table `+i+` not part of transaction`);return t(r.idbtrans,r)}let o=ma();try{return r&&r.db===this.db?r===W.trans?r._promise(e,a,n):Ta((()=>r._promise(e,a,n)),{trans:r,transless:W.transless||W}):Ba(this.db,e,[this.name],a)}finally{o&&ha()}}get(e,t){return e&&e.constructor===Object?this.where(e).first(t):this._trans(`readonly`,(t=>this.core.get({trans:t,key:e}).then((e=>this.hook.reading.fire(e))))).then(t)}where(e){if(typeof e==`string`)return new this.db.WhereClause(this,e);if(Mr(e))return new this.db.WhereClause(this,`[${e.join(`+`)}]`);let t=jr(e);if(t.length===1)return this.where(t[0]).equals(e[t[0]]);let n=this.schema.indexes.concat(this.schema.primKey).filter((e=>{if(e.compound&&t.every((t=>e.keyPath.indexOf(t)>=0))){for(let n=0;n<t.length;++n)if(t.indexOf(e.keyPath[n])===-1)return!1;return!0}return!1})).sort(((e,t)=>e.keyPath.length-t.keyPath.length))[0];if(n&&this.db._maxKey!==Ha){let r=n.keyPath.slice(0,t.length);return this.where(r).equals(r.map((t=>e[t])))}!n&&fi&&console.warn(`The query ${JSON.stringify(e)} on ${this.name} would benefit of a compound index [${t.join(`+`)}]`);let{idxByName:r}=this.schema,i=this.db._deps.indexedDB;function a(e,t){try{return i.cmp(e,t)===0}catch(e){return!1}}let[o,s]=t.reduce((([t,n],i)=>{let o=r[i],s=e[i];return[t||o,t||!o?eo(n,o&&o.multi?e=>{let t=Yr(e,i);return Mr(t)&&t.some((e=>a(s,e)))}:e=>a(s,Yr(e,i))):n]}),[null,null]);return o?this.where(o.name).equals(e[o.keyPath]).filter(s):n?this.filter(s):this.where(t).equals(``)}filter(e){return this.toCollection().and(e)}count(e){return this.toCollection().count(e)}offset(e){return this.toCollection().offset(e)}limit(e){return this.toCollection().limit(e)}each(e){return this.toCollection().each(e)}toArray(e){return this.toCollection().toArray(e)}toCollection(){return new this.db.Collection(new this.db.WhereClause(this))}orderBy(e){return new this.db.Collection(new this.db.WhereClause(this,Mr(e)?`[${e.join(`+`)}]`:e))}reverse(){return this.toCollection().reverse()}mapToClass(e){this.schema.mappedClass=e;let t=t=>{if(!t)return t;let n=Object.create(e.prototype);for(var r in t)if(Ir(t,r))try{n[r]=t[r]}catch(e){}return n};return this.schema.readHook&&this.hook.reading.unsubscribe(this.schema.readHook),this.schema.readHook=t,this.hook(`reading`,t),e}defineClass(){return this.mapToClass((function(e){Nr(this,e)}))}add(e,t){let{auto:n,keyPath:r}=this.schema.primKey,i=e;return r&&n&&(i=no(r)(e)),this._trans(`readwrite`,(e=>this.core.mutate({trans:e,type:`add`,keys:t==null?null:[t],values:[i]}))).then((e=>e.numFailures?G.reject(e.failures[0]):e.lastResult)).then((t=>{if(r)try{Xr(e,r,t)}catch(e){}return t}))}update(e,t){if(typeof e!=`object`||Mr(e))return this.where(`:id`).equals(e).modify(t);{let n=Yr(e,this.schema.primKey.keyPath);if(n===void 0)return za(new H.InvalidArgument(`Given object does not contain its primary key`));try{typeof t==`function`?t(e,{value:e,primKey:n}):jr(t).forEach((n=>{Xr(e,n,t[n])}))}catch(e){}return this.where(`:id`).equals(n).modify(t)}}put(e,t){let{auto:n,keyPath:r}=this.schema.primKey,i=e;return r&&n&&(i=no(r)(e)),this._trans(`readwrite`,(e=>this.core.mutate({trans:e,type:`put`,values:[i],keys:t==null?null:[t]}))).then((e=>e.numFailures?G.reject(e.failures[0]):e.lastResult)).then((t=>{if(r)try{Xr(e,r,t)}catch(e){}return t}))}delete(e){return this._trans(`readwrite`,(t=>this.core.mutate({trans:t,type:`delete`,keys:[e]}))).then((e=>e.numFailures?G.reject(e.failures[0]):void 0))}clear(){return this._trans(`readwrite`,(e=>this.core.mutate({trans:e,type:`deleteRange`,range:to}))).then((e=>e.numFailures?G.reject(e.failures[0]):void 0))}bulkGet(e){return this._trans(`readonly`,(t=>this.core.getMany({keys:e,trans:t}).then((e=>e.map((e=>this.hook.reading.fire(e)))))))}bulkAdd(e,t,n){let r=Array.isArray(t)?t:void 0,i=(n=n||(r?void 0:t))?n.allKeys:void 0;return this._trans(`readwrite`,(t=>{let{auto:n,keyPath:a}=this.schema.primKey;if(a&&r)throw new H.InvalidArgument(`bulkAdd(): keys argument invalid on tables with inbound keys`);if(r&&r.length!==e.length)throw new H.InvalidArgument(`Arguments objects and keys must have the same length`);let o=e.length,s=a&&n?e.map(no(a)):e;return this.core.mutate({trans:t,type:`add`,keys:r,values:s,wantResults:i}).then((({numFailures:e,results:t,lastResult:n,failures:r})=>{if(e===0)return i?t:n;throw new wi(`${this.name}.bulkAdd(): ${e} of ${o} operations failed`,r)}))}))}bulkPut(e,t,n){let r=Array.isArray(t)?t:void 0,i=(n=n||(r?void 0:t))?n.allKeys:void 0;return this._trans(`readwrite`,(t=>{let{auto:n,keyPath:a}=this.schema.primKey;if(a&&r)throw new H.InvalidArgument(`bulkPut(): keys argument invalid on tables with inbound keys`);if(r&&r.length!==e.length)throw new H.InvalidArgument(`Arguments objects and keys must have the same length`);let o=e.length,s=a&&n?e.map(no(a)):e;return this.core.mutate({trans:t,type:`put`,keys:r,values:s,wantResults:i}).then((({numFailures:e,results:t,lastResult:n,failures:r})=>{if(e===0)return i?t:n;throw new wi(`${this.name}.bulkPut(): ${e} of ${o} operations failed`,r)}))}))}bulkDelete(e){let t=e.length;return this._trans(`readwrite`,(t=>this.core.mutate({trans:t,type:`delete`,keys:e}))).then((({numFailures:e,lastResult:n,failures:r})=>{if(e===0)return n;throw new wi(`${this.name}.bulkDelete(): ${e} of ${t} operations failed`,r)}))}};function io(e){var t={},n=function(n,r){if(r){for(var i=arguments.length,a=Array(i-1);--i;)a[i-1]=arguments[i];return t[n].subscribe.apply(null,a),e}if(typeof n==`string`)return t[n]};n.addEventType=a;for(var r=1,i=arguments.length;r<i;++r)a(arguments[r]);return n;function a(e,r,i){if(typeof e!=`object`){var o;r||(r=Fi),i||(i=U);var s={subscribers:[],fire:i,subscribe:function(e){s.subscribers.indexOf(e)===-1&&(s.subscribers.push(e),s.fire=r(s.fire,e))},unsubscribe:function(e){s.subscribers=s.subscribers.filter((function(t){return t!==e})),s.fire=s.subscribers.reduce(r,i)}};return t[e]=n[e]=s,s}jr(o=e).forEach((function(e){var t=o[e];if(Mr(t))a(e,o[e][0],o[e][1]);else{if(t!==`asap`)throw new H.InvalidArgument(`Invalid event config`);var n=a(e,ki,(function(){for(var e=arguments.length,t=Array(e);e--;)t[e]=arguments[e];n.subscribers.forEach((function(e){qr((function(){e.apply(null,t)}))}))}))}}))}}function ao(e,t){return Br(t).from({prototype:e}),t}function oo(e,t){return!(e.filter||e.algorithm||e.or)&&(t?e.justLimit:!e.replayFilter)}function so(e,t){e.filter=eo(e.filter,t)}function co(e,t,n){var r=e.replayFilter;e.replayFilter=r?()=>eo(r(),t()):t,e.justLimit=n&&!r}function lo(e,t){if(e.isPrimKey)return t.primaryKey;let n=t.getIndexByKeyPath(e.index);if(!n)throw new H.Schema(`KeyPath `+e.index+` on object store `+t.name+` is not indexed`);return n}function uo(e,t,n){let r=lo(e,t.schema);return t.openCursor({trans:n,values:!e.keysOnly,reverse:e.dir===`prev`,unique:!!e.unique,query:{index:r,range:e.range}})}function fo(e,t,n,r){let i=e.replayFilter?eo(e.filter,e.replayFilter()):e.filter;if(e.or){let a={},o=(e,n,r)=>{if(!i||i(n,r,(e=>n.stop(e)),(e=>n.fail(e)))){var o=n.primaryKey,s=``+o;s===`[object ArrayBuffer]`&&(s=``+new Uint8Array(o)),Ir(a,s)||(a[s]=!0,t(e,n,r))}};return Promise.all([e.or._iterate(o,n),po(uo(e,r,n),e.algorithm,o,!e.keysOnly&&e.valueMapper)])}return po(uo(e,r,n),eo(e.algorithm,i),t,!e.keysOnly&&e.valueMapper)}function po(e,t,n,r){var i=va(r?(e,t,i)=>n(r(e),t,i):n);return e.then((e=>{if(e)return e.start((()=>{var n=()=>e.continue();t&&!t(e,(e=>n=e),(t=>{e.stop(t),n=U}),(t=>{e.fail(t),n=U}))||i(e.value,e,(e=>n=e)),n()}))}))}function mo(e,t){try{let n=ho(e),r=ho(t);if(n!==r)return n===`Array`?1:r===`Array`?-1:n===`binary`?1:r===`binary`?-1:n===`string`?1:r===`string`?-1:n===`Date`?1:r===`Date`?-1:NaN;switch(n){case`number`:case`Date`:case`string`:return e>t?1:e<t?-1:0;case`binary`:return function(e,t){let n=e.length,r=t.length,i=n<r?n:r;for(let n=0;n<i;++n)if(e[n]!==t[n])return e[n]<t[n]?-1:1;return n===r?0:n<r?-1:1}(go(e),go(t));case`Array`:return function(e,t){let n=e.length,r=t.length,i=n<r?n:r;for(let n=0;n<i;++n){let r=mo(e[n],t[n]);if(r!==0)return r}return n===r?0:n<r?-1:1}(e,t)}}catch(e){}return NaN}function ho(e){let t=typeof e;if(t!==`object`)return t;if(ArrayBuffer.isView(e))return`binary`;let n=oi(e);return n===`ArrayBuffer`?`binary`:n}function go(e){return e instanceof Uint8Array?e:ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):new Uint8Array(e)}var _o=class{_read(e,t){var n=this._ctx;return n.error?n.table._trans(null,za.bind(null,n.error)):n.table._trans(`readonly`,e).then(t)}_write(e){var t=this._ctx;return t.error?t.table._trans(null,za.bind(null,t.error)):t.table._trans(`readwrite`,e,`locked`)}_addAlgorithm(e){var t=this._ctx;t.algorithm=eo(t.algorithm,e)}_iterate(e,t){return fo(this._ctx,e,t,this._ctx.table.core)}clone(e){var t=Object.create(this.constructor.prototype),n=Object.create(this._ctx);return e&&Nr(n,e),t._ctx=n,t}raw(){return this._ctx.valueMapper=null,this}each(e){var t=this._ctx;return this._read((n=>fo(t,e,n,t.table.core)))}count(e){return this._read((e=>{let t=this._ctx,n=t.table.core;if(oo(t,!0))return n.count({trans:e,query:{index:lo(t,n.schema),range:t.range}}).then((e=>Math.min(e,t.limit)));var r=0;return fo(t,(()=>(++r,!1)),e,n).then((()=>r))})).then(e)}sortBy(e,t){let n=e.split(`.`).reverse(),r=n[0],i=n.length-1;function a(e,t){return t?a(e[n[t]],t-1):e[r]}var o=this._ctx.dir===`next`?1:-1;function s(e,t){var n=a(e,i),r=a(t,i);return n<r?-o:n>r?o:0}return this.toArray((function(e){return e.sort(s)})).then(t)}toArray(e){return this._read((e=>{var t=this._ctx;if(t.dir===`next`&&oo(t,!0)&&t.limit>0){let{valueMapper:n}=t,r=lo(t,t.table.core.schema);return t.table.core.query({trans:e,limit:t.limit,values:!0,query:{index:r,range:t.range}}).then((({result:e})=>n?e.map(n):e))}{let n=[];return fo(t,(e=>n.push(e)),e,t.table.core).then((()=>n))}}),e)}offset(e){var t=this._ctx;return e<=0||(t.offset+=e,oo(t)?co(t,(()=>{var t=e;return(e,n)=>t===0||(t===1?(--t,!1):(n((()=>{e.advance(t),t=0})),!1))})):co(t,(()=>{var t=e;return()=>--t<0}))),this}limit(e){return this._ctx.limit=Math.min(this._ctx.limit,e),co(this._ctx,(()=>{var t=e;return function(e,n,r){return--t<=0&&n(r),t>=0}}),!0),this}until(e,t){return so(this._ctx,(function(n,r,i){return!e(n.value)||(r(i),t)})),this}first(e){return this.limit(1).toArray((function(e){return e[0]})).then(e)}last(e){return this.reverse().first(e)}filter(e){var t,n;return so(this._ctx,(function(t){return e(t.value)})),t=this._ctx,n=e,t.isMatch=eo(t.isMatch,n),this}and(e){return this.filter(e)}or(e){return new this.db.WhereClause(this._ctx.table,e,this)}reverse(){return this._ctx.dir=this._ctx.dir===`prev`?`next`:`prev`,this._ondirectionchange&&this._ondirectionchange(this._ctx.dir),this}desc(){return this.reverse()}eachKey(e){var t=this._ctx;return t.keysOnly=!t.isMatch,this.each((function(t,n){e(n.key,n)}))}eachUniqueKey(e){return this._ctx.unique=`unique`,this.eachKey(e)}eachPrimaryKey(e){var t=this._ctx;return t.keysOnly=!t.isMatch,this.each((function(t,n){e(n.primaryKey,n)}))}keys(e){var t=this._ctx;t.keysOnly=!t.isMatch;var n=[];return this.each((function(e,t){n.push(t.key)})).then((function(){return n})).then(e)}primaryKeys(e){var t=this._ctx;if(t.dir===`next`&&oo(t,!0)&&t.limit>0)return this._read((e=>{var n=lo(t,t.table.core.schema);return t.table.core.query({trans:e,values:!1,limit:t.limit,query:{index:n,range:t.range}})})).then((({result:e})=>e)).then(e);t.keysOnly=!t.isMatch;var n=[];return this.each((function(e,t){n.push(t.primaryKey)})).then((function(){return n})).then(e)}uniqueKeys(e){return this._ctx.unique=`unique`,this.keys(e)}firstKey(e){return this.limit(1).keys((function(e){return e[0]})).then(e)}lastKey(e){return this.reverse().firstKey(e)}distinct(){var e=this._ctx,t=e.index&&e.table.schema.idxByName[e.index];if(!t||!t.multi)return this;var n={};return so(this._ctx,(function(e){var t=e.primaryKey.toString(),r=Ir(n,t);return n[t]=!0,!r})),this}modify(e){var t=this._ctx;return this._write((n=>{var r;if(typeof e==`function`)r=e;else{var i=jr(e),a=i.length;r=function(t){for(var n=!1,r=0;r<a;++r){var o=i[r],s=e[o];Yr(t,o)!==s&&(Xr(t,o,s),n=!0)}return n}}let o=t.table.core,{outbound:s,extractKey:c}=o.schema.primaryKey,l=this.db._options.modifyChunkSize||200,u=[],d=0,f=[],p=(e,t)=>{let{failures:n,numFailures:r}=t;d+=e-r;for(let e of jr(n))u.push(n[e])};return this.clone().primaryKeys().then((i=>{let a=u=>{let d=Math.min(l,i.length-u);return o.getMany({trans:n,keys:i.slice(u,u+d),cache:`immutable`}).then((f=>{let m=[],h=[],g=s?[]:null,_=[];for(let e=0;e<d;++e){let t=f[e],n={value:ri(t),primKey:i[u+e]};!1!==r.call(n,n.value,n)&&(n.value==null?_.push(i[u+e]):s||mo(c(t),c(n.value))===0?(h.push(n.value),s&&g.push(i[u+e])):(_.push(i[u+e]),m.push(n.value)))}let v=oo(t)&&t.limit===1/0&&(typeof e!=`function`||e===vo)&&{index:t.index,range:t.range};return Promise.resolve(m.length>0&&o.mutate({trans:n,type:`add`,values:m}).then((e=>{for(let t in e.failures)_.splice(parseInt(t),1);p(m.length,e)}))).then((()=>(h.length>0||v&&typeof e==`object`)&&o.mutate({trans:n,type:`put`,keys:g,values:h,criteria:v,changeSpec:typeof e!=`function`&&e}).then((e=>p(h.length,e))))).then((()=>(_.length>0||v&&e===vo)&&o.mutate({trans:n,type:`delete`,keys:_,criteria:v}).then((e=>p(_.length,e))))).then((()=>i.length>u+d&&a(u+l)))}))};return a(0).then((()=>{if(u.length>0)throw new Ci(`Error modifying one or more objects`,u,d,f);return i.length}))}))}))}delete(){var e=this._ctx,t=e.range;return oo(e)&&(e.isPrimKey&&!Ya||t.type===3)?this._write((n=>{let{primaryKey:r}=e.table.core.schema,i=t;return e.table.core.count({trans:n,query:{index:r,range:i}}).then((t=>e.table.core.mutate({trans:n,type:`deleteRange`,range:i}).then((({failures:e,lastResult:n,results:r,numFailures:i})=>{if(i)throw new Ci(`Could not delete some values`,Object.keys(e).map((t=>e[t])),t-i);return t-i}))))})):this.modify(vo)}},vo=(e,t)=>t.value=null;function yo(e,t){return e<t?-1:e===t?0:1}function bo(e,t){return e>t?-1:e===t?0:1}function xo(e,t,n){var r=e instanceof Do?new e.Collection(e):e;return r._ctx.error=n?new n(t):TypeError(t),r}function So(e){return new e.Collection(e,(()=>Eo(``))).limit(0)}function Co(e,t,n,r,i,a){for(var o=Math.min(e.length,r.length),s=-1,c=0;c<o;++c){var l=t[c];if(l!==r[c])return i(e[c],n[c])<0?e.substr(0,c)+n[c]+n.substr(c+1):i(e[c],r[c])<0?e.substr(0,c)+r[c]+n.substr(c+1):s>=0?e.substr(0,s)+t[s]+n.substr(s+1):null;i(e[c],l)<0&&(s=c)}return o<r.length&&a===`next`?e+n.substr(e.length):o<e.length&&a===`prev`?e.substr(0,n.length):s<0?null:e.substr(0,s)+r[s]+n.substr(s+1)}function wo(e,t,n,r){var i,a,o,s,c,l,u,d=n.length;if(!n.every((e=>typeof e==`string`)))return xo(e,Ga);function f(e){i=function(e){return e===`next`?e=>e.toUpperCase():e=>e.toLowerCase()}(e),a=function(e){return e===`next`?e=>e.toLowerCase():e=>e.toUpperCase()}(e),o=e===`next`?yo:bo;var t=n.map((function(e){return{lower:a(e),upper:i(e)}})).sort((function(e,t){return o(e.lower,t.lower)}));s=t.map((function(e){return e.upper})),c=t.map((function(e){return e.lower})),l=e,u=e===`next`?``:r}f(`next`);var p=new e.Collection(e,(()=>To(s[0],c[d-1]+r)));p._ondirectionchange=function(e){f(e)};var m=0;return p._addAlgorithm((function(e,n,r){var i=e.key;if(typeof i!=`string`)return!1;var f=a(i);if(t(f,c,m))return!0;for(var p=null,h=m;h<d;++h){var g=Co(i,f,s[h],c[h],o,l);g===null&&p===null?m=h+1:(p===null||o(p,g)>0)&&(p=g)}return n(p===null?r:function(){e.continue(p+u)}),!1})),p}function To(e,t,n,r){return{type:2,lower:e,upper:t,lowerOpen:n,upperOpen:r}}function Eo(e){return{type:1,lower:e,upper:e}}var Do=class{get Collection(){return this._ctx.table.db.Collection}between(e,t,n,r){n=!1!==n,r=!0===r;try{return this._cmp(e,t)>0||this._cmp(e,t)===0&&(n||r)&&(!n||!r)?So(this):new this.Collection(this,(()=>To(e,t,!n,!r)))}catch(e){return xo(this,Wa)}}equals(e){return e==null?xo(this,Wa):new this.Collection(this,(()=>Eo(e)))}above(e){return e==null?xo(this,Wa):new this.Collection(this,(()=>To(e,void 0,!0)))}aboveOrEqual(e){return e==null?xo(this,Wa):new this.Collection(this,(()=>To(e,void 0,!1)))}below(e){return e==null?xo(this,Wa):new this.Collection(this,(()=>To(void 0,e,!1,!0)))}belowOrEqual(e){return e==null?xo(this,Wa):new this.Collection(this,(()=>To(void 0,e)))}startsWith(e){return typeof e==`string`?this.between(e,e+Ha,!0,!0):xo(this,Ga)}startsWithIgnoreCase(e){return e===``?this.startsWith(e):wo(this,((e,t)=>e.indexOf(t[0])===0),[e],Ha)}equalsIgnoreCase(e){return wo(this,((e,t)=>e===t[0]),[e],``)}anyOfIgnoreCase(){var e=ui.apply(li,arguments);return e.length===0?So(this):wo(this,((e,t)=>t.indexOf(e)!==-1),e,``)}startsWithAnyOfIgnoreCase(){var e=ui.apply(li,arguments);return e.length===0?So(this):wo(this,((e,t)=>t.some((t=>e.indexOf(t)===0))),e,Ha)}anyOf(){let e=ui.apply(li,arguments),t=this._cmp;try{e.sort(t)}catch(e){return xo(this,Wa)}if(e.length===0)return So(this);let n=new this.Collection(this,(()=>To(e[0],e[e.length-1])));n._ondirectionchange=n=>{t=n===`next`?this._ascending:this._descending,e.sort(t)};let r=0;return n._addAlgorithm(((n,i,a)=>{let o=n.key;for(;t(o,e[r])>0;)if(++r,r===e.length)return i(a),!1;return t(o,e[r])===0||(i((()=>{n.continue(e[r])})),!1)})),n}notEqual(e){return this.inAnyRange([[Ua,e],[e,this.db._maxKey]],{includeLowers:!1,includeUppers:!1})}noneOf(){let e=ui.apply(li,arguments);if(e.length===0)return new this.Collection(this);try{e.sort(this._ascending)}catch(e){return xo(this,Wa)}let t=e.reduce(((e,t)=>e?e.concat([[e[e.length-1][1],t]]):[[Ua,t]]),null);return t.push([e[e.length-1],this.db._maxKey]),this.inAnyRange(t,{includeLowers:!1,includeUppers:!1})}inAnyRange(e,t){let n=this._cmp,r=this._ascending,i=this._descending,a=this._min,o=this._max;if(e.length===0)return So(this);if(!e.every((e=>e[0]!==void 0&&e[1]!==void 0&&r(e[0],e[1])<=0)))return xo(this,`First argument to inAnyRange() must be an Array of two-value Arrays [lower,upper] where upper must not be lower than lower`,H.InvalidArgument);let s=!t||!1!==t.includeLowers,c=t&&!0===t.includeUppers,l,u=r;function d(e,t){return u(e[0],t[0])}try{l=e.reduce((function(e,t){let r=0,i=e.length;for(;r<i;++r){let i=e[r];if(n(t[0],i[1])<0&&n(t[1],i[0])>0){i[0]=a(i[0],t[0]),i[1]=o(i[1],t[1]);break}}return r===i&&e.push(t),e}),[]),l.sort(d)}catch(e){return xo(this,Wa)}let f=0,p=c?e=>r(e,l[f][1])>0:e=>r(e,l[f][1])>=0,m=s?e=>i(e,l[f][0])>0:e=>i(e,l[f][0])>=0,h=p,g=new this.Collection(this,(()=>To(l[0][0],l[l.length-1][1],!s,!c)));return g._ondirectionchange=e=>{e===`next`?(h=p,u=r):(h=m,u=i),l.sort(d)},g._addAlgorithm(((e,t,n)=>{for(var i=e.key;h(i);)if(++f,f===l.length)return t(n),!1;return!!function(e){return!p(e)&&!m(e)}(i)||(this._cmp(i,l[f][1])===0||this._cmp(i,l[f][0])===0||t((()=>{u===r?e.continue(l[f][0]):e.continue(l[f][1])})),!1)})),g}startsWithAnyOf(){let e=ui.apply(li,arguments);return e.every((e=>typeof e==`string`))?e.length===0?So(this):this.inAnyRange(e.map((e=>[e,e+Ha]))):xo(this,`startsWithAnyOf() only works with strings`)}};function Oo(e){return va((function(t){return ko(t),e(t.target.error),!1}))}function ko(e){e.stopPropagation&&e.stopPropagation(),e.preventDefault&&e.preventDefault()}var Ao=`storagemutated`,jo=`x-storagemutated-1`,Mo=io(null,Ao),No=class{_lock(){return Kr(!W.global),++this._reculock,this._reculock!==1||W.global||(W.lockOwnerFor=this),this}_unlock(){if(Kr(!W.global),--this._reculock==0)for(W.global||(W.lockOwnerFor=null);this._blockedFuncs.length>0&&!this._locked();){var e=this._blockedFuncs.shift();try{Na(e[1],e[0])}catch(e){}}return this}_locked(){return this._reculock&&W.lockOwnerFor!==this}create(e){if(!this.mode)return this;let t=this.db.idbdb,n=this.db._state.dbOpenError;if(Kr(!this.idbtrans),!e&&!t)switch(n&&n.name){case`DatabaseClosedError`:throw new H.DatabaseClosed(n);case`MissingAPIError`:throw new H.MissingAPI(n.message,n);default:throw new H.OpenFailed(n)}if(!this.active)throw new H.TransactionInactive;return Kr(this._completion._state===null),(e=this.idbtrans=e||(this.db.core?this.db.core.transaction(this.storeNames,this.mode,{durability:this.chromeTransactionDurability}):t.transaction(this.storeNames,this.mode,{durability:this.chromeTransactionDurability}))).onerror=va((t=>{ko(t),this._reject(e.error)})),e.onabort=va((t=>{ko(t),this.active&&this._reject(new H.Abort(e.error)),this.active=!1,this.on(`abort`).fire(t)})),e.oncomplete=va((()=>{this.active=!1,this._resolve(),`mutatedParts`in e&&Mo.storagemutated.fire(e.mutatedParts)})),this}_promise(e,t,n){if(e===`readwrite`&&this.mode!==`readwrite`)return za(new H.ReadOnly(`Transaction is readonly`));if(!this.active)return za(new H.TransactionInactive);if(this._locked())return new G(((r,i)=>{this._blockedFuncs.push([()=>{this._promise(e,t,n).then(r,i)},W])}));if(n)return Ta((()=>{var e=new G(((e,n)=>{this._lock();let r=t(e,n,this);r&&r.then&&r.then(e,n)}));return e.finally((()=>this._unlock())),e._lib=!0,e}));var r=new G(((e,n)=>{var r=t(e,n,this);r&&r.then&&r.then(e,n)}));return r._lib=!0,r}_root(){return this.parent?this.parent._root():this}waitFor(e){var t=this._root();let n=G.resolve(e);if(t._waitingFor)t._waitingFor=t._waitingFor.then((()=>n));else{t._waitingFor=n,t._waitingQueue=[];var r=t.idbtrans.objectStore(t.storeNames[0]);(function e(){for(++t._spinCount;t._waitingQueue.length;)t._waitingQueue.shift()();t._waitingFor&&(r.get(-1/0).onsuccess=e)})()}var i=t._waitingFor;return new G(((e,r)=>{n.then((n=>t._waitingQueue.push(va(e.bind(null,n)))),(e=>t._waitingQueue.push(va(r.bind(null,e))))).finally((()=>{t._waitingFor===i&&(t._waitingFor=null)}))}))}abort(){this.active&&(this.active=!1,this.idbtrans&&this.idbtrans.abort(),this._reject(new H.Abort))}table(e){let t=this._memoizedTables||(this._memoizedTables={});if(Ir(t,e))return t[e];let n=this.schema[e];if(!n)throw new H.NotFound(`Table `+e+` not part of transaction`);let r=new this.db.Table(e,n,this);return r.core=this.db.core.table(e),t[e]=r,r}};function Po(e,t,n,r,i,a,o){return{name:e,keyPath:t,unique:n,multi:r,auto:i,compound:a,src:(n&&!o?`&`:``)+(r?`*`:``)+(i?`++`:``)+Fo(t)}}function Fo(e){return typeof e==`string`?e:e?`[`+[].join.call(e,`+`)+`]`:``}function Io(e,t,n){return{name:e,primKey:t,indexes:n,mappedClass:null,idxByName:Jr(n,(e=>[e.name,e]))}}var Lo=e=>{try{return e.only([[]]),Lo=()=>[[]],[[]]}catch(e){return Lo=()=>Ha,Ha}};function Ro(e){return e==null?()=>{}:typeof e==`string`?function(e){return e.split(`.`).length===1?t=>t[e]:t=>Yr(t,e)}(e):t=>Yr(t,e)}function zo(e){return[].slice.call(e)}var Bo=0;function Vo(e){return e==null?`:id`:typeof e==`string`?e:`[${e.join(`+`)}]`}function Ho(e,t,n){function r(e){if(e.type===3)return null;if(e.type===4)throw Error(`Cannot convert never type to IDBKeyRange`);let{lower:n,upper:r,lowerOpen:i,upperOpen:a}=e;return n===void 0?r===void 0?null:t.upperBound(r,!!a):r===void 0?t.lowerBound(n,!!i):t.bound(n,r,!!i,!!a)}let{schema:i,hasGetAll:a}=function(e,t){let n=zo(e.objectStoreNames);return{schema:{name:e.name,tables:n.map((e=>t.objectStore(e))).map((e=>{let{keyPath:t,autoIncrement:n}=e,r=Mr(t),i=t==null,a={},o={name:e.name,primaryKey:{name:null,isPrimaryKey:!0,outbound:i,compound:r,keyPath:t,autoIncrement:n,unique:!0,extractKey:Ro(t)},indexes:zo(e.indexNames).map((t=>e.index(t))).map((e=>{let{name:t,unique:n,multiEntry:r,keyPath:i}=e,o={name:t,compound:Mr(i),keyPath:i,unique:n,multiEntry:r,extractKey:Ro(i)};return a[Vo(i)]=o,o})),getIndexByKeyPath:e=>a[Vo(e)]};return a[`:id`]=o.primaryKey,t!=null&&(a[Vo(t)]=o.primaryKey),o}))},hasGetAll:n.length>0&&`getAll`in t.objectStore(n[0])&&!(typeof navigator<`u`&&/Safari/.test(navigator.userAgent)&&!/(Chrome\/|Edge\/)/.test(navigator.userAgent)&&[].concat(navigator.userAgent.match(/Safari\/(\d*)/))[1]<604)}}(e,n),o=i.tables.map((e=>function(e){let t=e.name;return{name:t,schema:e,mutate:function({trans:e,type:n,keys:i,values:a,range:o}){return new Promise(((s,c)=>{s=va(s);let l=e.objectStore(t),u=l.keyPath==null,d=n===`put`||n===`add`;if(!d&&n!==`delete`&&n!==`deleteRange`)throw Error(`Invalid operation type: `+n);let{length:f}=i||a||{length:1};if(i&&a&&i.length!==a.length)throw Error(`Given keys array must have same length as given values array.`);if(f===0)return s({numFailures:0,failures:{},results:[],lastResult:void 0});let p,m=[],h=[],g=0,_=e=>{++g,ko(e)};if(n===`deleteRange`){if(o.type===4)return s({numFailures:g,failures:h,results:[],lastResult:void 0});o.type===3?m.push(p=l.clear()):m.push(p=l.delete(r(o)))}else{let[e,t]=d?u?[a,i]:[a,null]:[i,null];if(d)for(let r=0;r<f;++r)m.push(p=t&&t[r]!==void 0?l[n](e[r],t[r]):l[n](e[r])),p.onerror=_;else for(let t=0;t<f;++t)m.push(p=l[n](e[t])),p.onerror=_}let v=e=>{let t=e.target.result;m.forEach(((e,t)=>e.error!=null&&(h[t]=e.error))),s({numFailures:g,failures:h,results:n===`delete`?i:m.map((e=>e.result)),lastResult:t})};p.onerror=e=>{_(e),v(e)},p.onsuccess=v}))},getMany:({trans:e,keys:n})=>new Promise(((r,i)=>{r=va(r);let a=e.objectStore(t),o=n.length,s=Array(o),c,l=0,u=0,d=e=>{let t=e.target;s[t._pos]=t.result,++u===l&&r(s)},f=Oo(i);for(let e=0;e<o;++e)n[e]!=null&&(c=a.get(n[e]),c._pos=e,c.onsuccess=d,c.onerror=f,++l);l===0&&r(s)})),get:({trans:e,key:n})=>new Promise(((r,i)=>{r=va(r);let a=e.objectStore(t).get(n);a.onsuccess=e=>r(e.target.result),a.onerror=Oo(i)})),query:function(e){return n=>new Promise(((i,a)=>{i=va(i);let{trans:o,values:s,limit:c,query:l}=n,u=c===1/0?void 0:c,{index:d,range:f}=l,p=o.objectStore(t),m=d.isPrimaryKey?p:p.index(d.name),h=r(f);if(c===0)return i({result:[]});if(e){let e=s?m.getAll(h,u):m.getAllKeys(h,u);e.onsuccess=e=>i({result:e.target.result}),e.onerror=Oo(a)}else{let e=0,t=s||!(`openKeyCursor`in m)?m.openCursor(h):m.openKeyCursor(h),n=[];t.onsuccess=r=>{let a=t.result;return a?(n.push(s?a.value:a.primaryKey),++e===c?i({result:n}):void a.continue()):i({result:n})},t.onerror=Oo(a)}}))}(a),openCursor:function({trans:e,values:n,query:i,reverse:a,unique:o}){return new Promise(((s,c)=>{s=va(s);let{index:l,range:u}=i,d=e.objectStore(t),f=l.isPrimaryKey?d:d.index(l.name),p=a?o?`prevunique`:`prev`:o?`nextunique`:`next`,m=n||!(`openKeyCursor`in f)?f.openCursor(r(u),p):f.openKeyCursor(r(u),p);m.onerror=Oo(c),m.onsuccess=va((t=>{let n=m.result;if(!n)return void s(null);n.___id=++Bo,n.done=!1;let r=n.continue.bind(n),i=n.continuePrimaryKey;i&&(i=i.bind(n));let a=n.advance.bind(n),o=()=>{throw Error(`Cursor not stopped`)};n.trans=e,n.stop=n.continue=n.continuePrimaryKey=n.advance=()=>{throw Error(`Cursor not started`)},n.fail=va(c),n.next=function(){let e=1;return this.start((()=>e--?this.continue():this.stop())).then((()=>this))},n.start=e=>{let t=new Promise(((e,t)=>{e=va(e),m.onerror=Oo(t),n.fail=t,n.stop=t=>{n.stop=n.continue=n.continuePrimaryKey=n.advance=o,e(t)}})),s=()=>{if(m.result)try{e()}catch(e){n.fail(e)}else n.done=!0,n.start=()=>{throw Error(`Cursor behind last entry`)},n.stop()};return m.onsuccess=va((e=>{m.onsuccess=s,s()})),n.continue=r,n.continuePrimaryKey=i,n.advance=a,s(),t},s(n)}),c)}))},count({query:e,trans:n}){let{index:i,range:a}=e;return new Promise(((e,o)=>{let s=n.objectStore(t),c=i.isPrimaryKey?s:s.index(i.name),l=r(a),u=l?c.count(l):c.count();u.onsuccess=va((t=>e(t.target.result))),u.onerror=Oo(o)}))}}}(e))),s={};return o.forEach((e=>s[e.name]=e)),{stack:`dbcore`,transaction:e.transaction.bind(e),table(e){if(!s[e])throw Error(`Table '${e}' not found`);return s[e]},MIN_KEY:-1/0,MAX_KEY:Lo(t),schema:i}}function Uo({_novip:e},t){let n=t.db;e.core=function(e,t,{IDBKeyRange:n,indexedDB:r},i){return{dbcore:function(e,t){return t.reduce(((e,{create:t})=>V(V({},e),t(e))),e)}(Ho(t,n,i),e.dbcore)}}(e._middlewares,n,e._deps,t).dbcore,e.tables.forEach((t=>{let n=t.name;e.core.schema.tables.some((e=>e.name===n))&&(t.core=e.core.table(n),e[n]instanceof e.Table&&(e[n].core=t.core))}))}function Wo({_novip:e},t,n,r){n.forEach((n=>{let i=r[n];t.forEach((t=>{let r=Hr(t,n);(!r||`value`in r&&r.value===void 0)&&(t===e.Transaction.prototype||t instanceof e.Transaction?zr(t,n,{get(){return this.table(n)},set(e){Rr(this,n,{value:e,writable:!0,configurable:!0,enumerable:!0})}}):t[n]=new e.Table(n,i))}))}))}function Go({_novip:e},t){t.forEach((t=>{for(let n in t)t[n]instanceof e.Table&&delete t[n]}))}function Ko(e,t){return e._cfg.version-t._cfg.version}function qo(e,t,n,r){let i=e._dbSchema,a=e._createTransaction(`readwrite`,e._storeNames,i);a.create(n),a._completion.catch(r);let o=a._reject.bind(a),s=W.transless||W;Ta((()=>{W.trans=a,W.transless=s,t===0?(jr(i).forEach((e=>{Yo(n,e,i[e].primKey,i[e].indexes)})),Uo(e,n),G.follow((()=>e.on.populate.fire(a))).catch(o)):function({_novip:e},t,n,r){let i=[],a=e._versions,o=e._dbSchema=Zo(e,e.idbdb,r),s=!1,c=a.filter((e=>e._cfg.version>=t));function l(){return i.length?G.resolve(i.shift()(n.idbtrans)).then(l):G.resolve()}return c.forEach((a=>{i.push((()=>{let i=o,c=a._cfg.dbschema;Qo(e,i,r),Qo(e,c,r),o=e._dbSchema=c;let l=Jo(i,c);l.add.forEach((e=>{Yo(r,e[0],e[1].primKey,e[1].indexes)})),l.change.forEach((e=>{if(e.recreate)throw new H.Upgrade(`Not yet support for changing primary key`);{let t=r.objectStore(e.name);e.add.forEach((e=>Xo(t,e))),e.change.forEach((e=>{t.deleteIndex(e.name),Xo(t,e)})),e.del.forEach((e=>t.deleteIndex(e)))}}));let u=a._cfg.contentUpgrade;if(u&&a._cfg.version>t){Uo(e,r),n._memoizedTables={},s=!0;let t=Zr(c);l.del.forEach((e=>{t[e]=i[e]})),Go(e,[e.Transaction.prototype]),Wo(e,[e.Transaction.prototype],jr(t),t),n.schema=t;let a=di(u),o;a&&Ea();let d=G.follow((()=>{if(o=u(n),o&&a){var e=Da.bind(null,null);o.then(e,e)}}));return o&&typeof o.then==`function`?G.resolve(o):d.then((()=>o))}})),i.push((t=>{s&&Ja||(function(e,t){[].slice.call(t.db.objectStoreNames).forEach((n=>e[n]==null&&t.db.deleteObjectStore(n)))})(a._cfg.dbschema,t),Go(e,[e.Transaction.prototype]),Wo(e,[e.Transaction.prototype],e._storeNames,e._dbSchema),n.schema=e._dbSchema}))})),l().then((()=>{var e,t=r;jr(e=o).forEach((n=>{t.db.objectStoreNames.contains(n)||Yo(t,n,e[n].primKey,e[n].indexes)}))}))}(e,t,a,n).catch(o)}))}function Jo(e,t){let n={del:[],add:[],change:[]},r;for(r in e)t[r]||n.del.push(r);for(r in t){let i=e[r],a=t[r];if(i){let e={name:r,def:a,recreate:!1,del:[],add:[],change:[]};if(``+(i.primKey.keyPath||``)!=``+(a.primKey.keyPath||``)||i.primKey.auto!==a.primKey.auto&&!qa)e.recreate=!0,n.change.push(e);else{let t=i.idxByName,r=a.idxByName,o;for(o in t)r[o]||e.del.push(o);for(o in r){let n=t[o],i=r[o];n?n.src!==i.src&&e.change.push(i):e.add.push(i)}(e.del.length>0||e.add.length>0||e.change.length>0)&&n.change.push(e)}}else n.add.push([r,a])}return n}function Yo(e,t,n,r){let i=e.db.createObjectStore(t,n.keyPath?{keyPath:n.keyPath,autoIncrement:n.auto}:{autoIncrement:n.auto});return r.forEach((e=>Xo(i,e))),i}function Xo(e,t){e.createIndex(t.name,t.keyPath,{unique:t.unique,multiEntry:t.multi})}function Zo(e,t,n){let r={};return Wr(t.objectStoreNames,0).forEach((e=>{let t=n.objectStore(e),i=t.keyPath,a=Po(Fo(i),i||``,!1,!1,!!t.autoIncrement,i&&typeof i!=`string`,!0),o=[];for(let e=0;e<t.indexNames.length;++e){let n=t.index(t.indexNames[e]);i=n.keyPath;var s=Po(n.name,i,!!n.unique,!!n.multiEntry,!1,i&&typeof i!=`string`,!1);o.push(s)}r[e]=Io(e,a,o)})),r}function Qo({_novip:e},t,n){let r=n.db.objectStoreNames;for(let i=0;i<r.length;++i){let a=r[i],o=n.objectStore(a);e._hasGetAll=`getAll`in o;for(let e=0;e<o.indexNames.length;++e){let n=o.indexNames[e],r=o.index(n).keyPath,i=typeof r==`string`?r:`[`+Wr(r).join(`+`)+`]`;if(t[a]){let e=t[a].idxByName[i];e&&(e.name=n,delete t[a].idxByName[i],t[a].idxByName[n]=e)}}}typeof navigator<`u`&&/Safari/.test(navigator.userAgent)&&!/(Chrome\/|Edge\/)/.test(navigator.userAgent)&&Ar.WorkerGlobalScope&&Ar instanceof Ar.WorkerGlobalScope&&[].concat(navigator.userAgent.match(/Safari\/(\d*)/))[1]<604&&(e._hasGetAll=!1)}var $o=class{_parseStoresSpec(e,t){jr(e).forEach((n=>{if(e[n]!==null){var r=e[n].split(`,`).map(((e,t)=>{let n=(e=e.trim()).replace(/([&*]|\+\+)/g,``),r=/^\[/.test(n)?n.match(/^\[(.*)\]$/)[1].split(`+`):n;return Po(n,r||null,/\&/.test(e),/\*/.test(e),/\+\+/.test(e),Mr(r),t===0)})),i=r.shift();if(i.multi)throw new H.Schema(`Primary key cannot be multi-valued`);r.forEach((e=>{if(e.auto)throw new H.Schema(`Only primary key can be marked as autoIncrement (++)`);if(!e.keyPath)throw new H.Schema(`Index must have a name and cannot be an empty string`)})),t[n]=Io(n,i,r)}}))}stores(e){let t=this.db;this._cfg.storesSource=this._cfg.storesSource?Nr(this._cfg.storesSource,e):e;let n=t._versions,r={},i={};return n.forEach((e=>{Nr(r,e._cfg.storesSource),i=e._cfg.dbschema={},e._parseStoresSpec(r,i)})),t._dbSchema=i,Go(t,[t._allTables,t,t.Transaction.prototype]),Wo(t,[t._allTables,t,t.Transaction.prototype,this._cfg.tables],jr(i),i),t._storeNames=jr(i),this}upgrade(e){return this._cfg.contentUpgrade=Ii(this._cfg.contentUpgrade||U,e),this}};function es(e,t){let n=e._dbNamesDB;return n||(n=e._dbNamesDB=new Cs(Za,{addons:[],indexedDB:e,IDBKeyRange:t}),n.version(1).stores({dbnames:`name`})),n.table(`dbnames`)}function ts(e){return e&&typeof e.databases==`function`}function ns(e){return Ta((function(){return W.letThrough=!0,e()}))}function rs(){var e;return!navigator.userAgentData&&/Safari\//.test(navigator.userAgent)&&!/Chrom(e|ium)\//.test(navigator.userAgent)&&indexedDB.databases?new Promise((function(t){var n=function(){return indexedDB.databases().finally(t)};e=setInterval(n,100),n()})).finally((function(){return clearInterval(e)})):Promise.resolve()}function is(e){let t=e._state,{indexedDB:n}=e._deps;if(t.isBeingOpened||e.idbdb)return t.dbReadyPromise.then((()=>t.dbOpenError?za(t.dbOpenError):e));fi&&(t.openCanceller._stackHolder=gi()),t.isBeingOpened=!0,t.dbOpenError=null,t.openComplete=!1;let r=t.openCanceller;function i(){if(t.openCanceller!==r)throw new H.DatabaseClosed(`db.open() was cancelled`)}let a=t.dbReadyResolve,o=null,s=!1,c=()=>new G(((r,a)=>{if(i(),!n)throw new H.MissingAPI;let c=e.name,l=t.autoSchema?n.open(c):n.open(c,Math.round(10*e.verno));if(!l)throw new H.MissingAPI;l.onerror=Oo(a),l.onblocked=va(e._fireOnBlocked),l.onupgradeneeded=va((r=>{if(o=l.transaction,t.autoSchema&&!e._options.allowEmptyDB){l.onerror=ko,o.abort(),l.result.close();let e=n.deleteDatabase(c);e.onsuccess=e.onerror=va((()=>{a(new H.NoSuchDatabase(`Database ${c} doesnt exist`))}))}else{o.onerror=Oo(a);var i=r.oldVersion>2**62?0:r.oldVersion;s=i<1,e._novip.idbdb=l.result,qo(e,i/10,o,a)}}),a),l.onsuccess=va((()=>{o=null;let n=e._novip.idbdb=l.result,i=Wr(n.objectStoreNames);if(i.length>0)try{let r=n.transaction((a=i).length===1?a[0]:a,`readonly`);t.autoSchema?function({_novip:e},t,n){e.verno=t.version/10;let r=e._dbSchema=Zo(0,t,n);e._storeNames=Wr(t.objectStoreNames,0),Wo(e,[e._allTables],jr(r),r)}(e,n,r):(Qo(e,e._dbSchema,r),function(e,t){let n=Jo(Zo(0,e.idbdb,t),e._dbSchema);return!(n.add.length||n.change.some((e=>e.add.length||e.change.length)))}(e,r)||console.warn(`Dexie SchemaDiff: Schema was extended without increasing the number passed to db.version(). Some queries may fail.`)),Uo(e,r)}catch(e){}var a;Ka.push(e),n.onversionchange=va((n=>{t.vcFired=!0,e.on(`versionchange`).fire(n)})),n.onclose=va((t=>{e.on(`close`).fire(t)})),s&&function({indexedDB:e,IDBKeyRange:t},n){!ts(e)&&n!==Za&&es(e,t).put({name:n}).catch(U)}(e._deps,c),r()}),a)})).catch((e=>e&&e.name===`UnknownError`&&t.PR1398_maxLoop>0?(t.PR1398_maxLoop--,console.warn(`Dexie: Workaround for Chrome UnknownError on open()`),c()):G.reject(e)));return G.race([r,(typeof navigator>`u`?G.resolve():rs()).then(c)]).then((()=>(i(),t.onReadyBeingFired=[],G.resolve(ns((()=>e.on.ready.fire(e.vip)))).then((function n(){if(t.onReadyBeingFired.length>0){let r=t.onReadyBeingFired.reduce(Ii,U);return t.onReadyBeingFired=[],G.resolve(ns((()=>r(e.vip)))).then(n)}}))))).finally((()=>{t.onReadyBeingFired=null,t.isBeingOpened=!1})).then((()=>e)).catch((n=>{t.dbOpenError=n;try{o&&o.abort()}catch(e){}return r===t.openCanceller&&e._close(),za(n)})).finally((()=>{t.openComplete=!0,a()}))}function as(e){var t=t=>e.next(t),n=i(t),r=i((t=>e.throw(t)));function i(e){return t=>{var i=e(t),a=i.value;return i.done?a:a&&typeof a.then==`function`?a.then(n,r):Mr(a)?Promise.all(a).then(n,r):n(a)}}return i(t)()}function os(e,t,n){var r=arguments.length;if(r<2)throw new H.InvalidArgument(`Too few arguments`);for(var i=Array(r-1);--r;)i[r-1]=arguments[r];return n=i.pop(),[e,$r(i),n]}function ss(e,t,n,r,i){return G.resolve().then((()=>{let a=W.transless||W,o=e._createTransaction(t,n,e._dbSchema,r),s={trans:o,transless:a};if(r)o.idbtrans=r.idbtrans;else try{o.create(),e._state.PR1398_maxLoop=3}catch(r){return r.name===Ti.InvalidState&&e.isOpen()&&--e._state.PR1398_maxLoop>0?(console.warn(`Dexie: Need to reopen db`),e._close(),e.open().then((()=>ss(e,t,n,null,i)))):za(r)}let c=di(i),l;c&&Ea();let u=G.follow((()=>{if(l=i.call(o,o),l){if(c){var e=Da.bind(null,null);l.then(e,e)}else typeof l.next==`function`&&typeof l.throw==`function`&&(l=as(l))}}),s);return(l&&typeof l.then==`function`?G.resolve(l).then((e=>o.active?e:za(new H.PrematureCommit(`Transaction committed too early. See http://bit.ly/2kdckMn`)))):u.then((()=>l))).then((e=>(r&&o._resolve(),o._completion.then((()=>e))))).catch((e=>(o._reject(e),za(e))))}))}function cs(e,t,n){let r=Mr(e)?e.slice():[e];for(let e=0;e<n;++e)r.push(t);return r}var ls={stack:`dbcore`,name:`VirtualIndexMiddleware`,level:1,create:function(e){return V(V({},e),{},{table(t){let n=e.table(t),{schema:r}=n,i={},a=[];function o(e,t,n){let r=Vo(e),s=i[r]=i[r]||[],c=e==null?0:typeof e==`string`?1:e.length,l=t>0,u=V(V({},n),{},{isVirtual:l,keyTail:t,keyLength:c,extractKey:Ro(e),unique:!l&&n.unique});return s.push(u),u.isPrimaryKey||a.push(u),c>1&&o(c===2?e[0]:e.slice(0,c-1),t+1,n),s.sort(((e,t)=>e.keyTail-t.keyTail)),u}let s=o(r.primaryKey.keyPath,0,r.primaryKey);i[`:id`]=[s];for(let e of r.indexes)o(e.keyPath,0,e);function c(t){let n=t.query.index;return n.isVirtual?V(V({},t),{},{query:{index:n,range:(r=t.query.range,i=n.keyTail,{type:r.type===1?2:r.type,lower:cs(r.lower,r.lowerOpen?e.MAX_KEY:e.MIN_KEY,i),lowerOpen:!0,upper:cs(r.upper,r.upperOpen?e.MIN_KEY:e.MAX_KEY,i),upperOpen:!0})}}):t;var r,i}return V(V({},n),{},{schema:V(V({},r),{},{primaryKey:s,indexes:a,getIndexByKeyPath:function(e){let t=i[Vo(e)];return t&&t[0]}}),count:e=>n.count(c(e)),query:e=>n.query(c(e)),openCursor(t){let{keyTail:r,isVirtual:i,keyLength:a}=t.query.index;return i?n.openCursor(c(t)).then((n=>n&&function(n){return Object.create(n,{continue:{value:function(i){i==null?t.unique?n.continue(n.key.slice(0,a).concat(t.reverse?e.MIN_KEY:e.MAX_KEY,r)):n.continue():n.continue(cs(i,t.reverse?e.MAX_KEY:e.MIN_KEY,r))}},continuePrimaryKey:{value(t,i){n.continuePrimaryKey(cs(t,e.MAX_KEY,r),i)}},primaryKey:{get:()=>n.primaryKey},key:{get(){let e=n.key;return a===1?e[0]:e.slice(0,a)}},value:{get:()=>n.value}})}(n))):n.openCursor(t)}})}})}};function us(e,t,n,r){return n=n||{},r=r||``,jr(e).forEach((i=>{if(Ir(t,i)){var a=e[i],o=t[i];if(typeof a==`object`&&typeof o==`object`&&a&&o){let e=oi(a);e===oi(o)?e===`Object`?us(a,o,n,r+i+`.`):a!==o&&(n[r+i]=t[i]):n[r+i]=t[i]}else a!==o&&(n[r+i]=t[i])}else n[r+i]=void 0})),jr(t).forEach((i=>{Ir(e,i)||(n[r+i]=t[i])})),n}var ds={stack:`dbcore`,name:`HooksMiddleware`,level:2,create:e=>V(V({},e),{},{table(t){let n=e.table(t),{primaryKey:r}=n.schema;return V(V({},n),{},{mutate(e){let i=W.trans,{deleting:a,creating:o,updating:s}=i.table(t).hook;switch(e.type){case`add`:if(o.fire===U)break;return i._promise(`readwrite`,(()=>c(e)),!0);case`put`:if(o.fire===U&&s.fire===U)break;return i._promise(`readwrite`,(()=>c(e)),!0);case`delete`:if(a.fire===U)break;return i._promise(`readwrite`,(()=>c(e)),!0);case`deleteRange`:if(a.fire===U)break;return i._promise(`readwrite`,(()=>function(e){return l(e.trans,e.range,1e4)}(e)),!0)}return n.mutate(e);function c(e){let t=W.trans,i=e.keys||function(e,t){return t.type===`delete`?t.keys:t.keys||t.values.map(e.extractKey)}(r,e);if(!i)throw Error(`Keys missing`);return(e=e.type===`add`||e.type===`put`?V(V({},e),{},{keys:i}):V({},e)).type!==`delete`&&(e.values=[...e.values]),e.keys&&(e.keys=[...e.keys]),function(e,t,n){return t.type===`add`?Promise.resolve([]):e.getMany({trans:t.trans,keys:n,cache:`immutable`})}(n,e,i).then((c=>{let l=i.map(((n,i)=>{let l=c[i],u={onerror:null,onsuccess:null};if(e.type===`delete`)a.fire.call(u,n,l,t);else if(e.type===`add`||l===void 0){let a=o.fire.call(u,n,e.values[i],t);n==null&&a!=null&&(n=a,e.keys[i]=n,r.outbound||Xr(e.values[i],r.keyPath,n))}else{let r=us(l,e.values[i]),a=s.fire.call(u,r,n,l,t);if(a){let t=e.values[i];Object.keys(a).forEach((e=>{Ir(t,e)?t[e]=a[e]:Xr(t,e,a[e])}))}}return u}));return n.mutate(e).then((({failures:t,results:n,numFailures:r,lastResult:a})=>{for(let r=0;r<i.length;++r){let a=n?n[r]:i[r],o=l[r];a==null?o.onerror&&o.onerror(t[r]):o.onsuccess&&o.onsuccess(e.type===`put`&&c[r]?e.values[r]:a)}return{failures:t,results:n,numFailures:r,lastResult:a}})).catch((e=>(l.forEach((t=>t.onerror&&t.onerror(e))),Promise.reject(e))))}))}function l(e,t,i){return n.query({trans:e,values:!1,query:{index:r,range:t},limit:i}).then((({result:n})=>c({type:`delete`,keys:n,trans:e}).then((r=>r.numFailures>0?Promise.reject(r.failures[0]):n.length<i?{failures:[],numFailures:0,lastResult:void 0}:l(e,V(V({},t),{},{lower:n[n.length-1],lowerOpen:!0}),i)))))}}})}})};function fs(e,t,n){try{if(!t||t.keys.length<e.length)return null;let r=[];for(let i=0,a=0;i<t.keys.length&&a<e.length;++i)mo(t.keys[i],e[a])===0&&(r.push(n?ri(t.values[i]):t.values[i]),++a);return r.length===e.length?r:null}catch(e){return null}}var ps={stack:`dbcore`,level:-1,create:e=>({table:t=>{let n=e.table(t);return V(V({},n),{},{getMany:e=>{if(!e.cache)return n.getMany(e);let t=fs(e.keys,e.trans._cache,e.cache===`clone`);return t?G.resolve(t):n.getMany(e).then((t=>(e.trans._cache={keys:e.keys,values:e.cache===`clone`?ri(t):t},t)))},mutate:e=>(e.type!==`add`&&(e.trans._cache=null),n.mutate(e))})}})};function ms(e){return!(`from`in e)}var hs=function(e,t){if(!this){let t=new hs;return e&&`d`in e&&Nr(t,e),t}Nr(this,arguments.length?{d:1,from:e,to:arguments.length>1?t:e}:{d:0})};function gs(e,t,n){let r=mo(t,n);if(isNaN(r))return;if(r>0)throw RangeError();if(ms(e))return Nr(e,{from:t,to:n,d:1});let i=e.l,a=e.r;if(mo(n,e.from)<0)return i?gs(i,t,n):e.l={from:t,to:n,d:1,l:null,r:null},bs(e);if(mo(t,e.to)>0)return a?gs(a,t,n):e.r={from:t,to:n,d:1,l:null,r:null},bs(e);mo(t,e.from)<0&&(e.from=t,e.l=null,e.d=a?a.d+1:1),mo(n,e.to)>0&&(e.to=n,e.r=null,e.d=e.l?e.l.d+1:1);let o=!e.r;i&&!e.l&&_s(e,i),a&&o&&_s(e,a)}function _s(e,t){ms(t)||function e(t,{from:n,to:r,l:i,r:a}){gs(t,n,r),i&&e(t,i),a&&e(t,a)}(e,t)}function vs(e,t){let n=ys(t),r=n.next();if(r.done)return!1;let i=r.value,a=ys(e),o=a.next(i.from),s=o.value;for(;!r.done&&!o.done;){if(mo(s.from,i.to)<=0&&mo(s.to,i.from)>=0)return!0;mo(i.from,s.from)<0?i=(r=n.next(s.from)).value:s=(o=a.next(i.from)).value}return!1}function ys(e){let t=ms(e)?null:{s:0,n:e};return{next(e){let n=arguments.length>0;for(;t;)switch(t.s){case 0:if(t.s=1,n)for(;t.n.l&&mo(e,t.n.from)<0;)t={up:t,n:t.n.l,s:1};else for(;t.n.l;)t={up:t,n:t.n.l,s:1};case 1:if(t.s=2,!n||mo(e,t.n.to)<=0)return{value:t.n,done:!1};case 2:if(t.n.r){t.s=3,t={up:t,n:t.n.r,s:0};continue}case 3:t=t.up}return{done:!0}}}}function bs(e){var t,n;let r=(((t=e.r)==null?void 0:t.d)||0)-(((n=e.l)==null?void 0:n.d)||0),i=r>1?`r`:r<-1?`l`:``;if(i){let t=i===`r`?`l`:`r`,n=V({},e),r=e[i];e.from=r.from,e.to=r.to,e[i]=r[i],n[i]=r[t],e[t]=n,n.d=xs(n)}e.d=xs(e)}function xs({r:e,l:t}){return(e?t?Math.max(e.d,t.d):e.d:t?t.d:0)+1}Lr(hs.prototype,{add(e){return _s(this,e),this},addKey(e){return gs(this,e,e),this},addKeys(e){return e.forEach((e=>gs(this,e,e))),this},[si](){return ys(this)}});var Ss={stack:`dbcore`,level:0,create:e=>{let t=e.schema.name,n=new hs(e.MIN_KEY,e.MAX_KEY);return V(V({},e),{},{table:r=>{let i=e.table(r),{schema:a}=i,{primaryKey:o}=a,{extractKey:s,outbound:c}=o,l=V(V({},i),{},{mutate:e=>{let o=e.trans,s=o.mutatedParts||(o.mutatedParts={}),c=e=>{let n=`idb://${t}/${r}/${e}`;return s[n]||(s[n]=new hs)},l=c(``),u=c(`:dels`),{type:d}=e,[f,p]=e.type===`deleteRange`?[e.range]:e.type===`delete`?[e.keys]:e.values.length<50?[[],e.values]:[],m=e.trans._cache;return i.mutate(e).then((e=>{if(Mr(f)){d!==`delete`&&(f=e.results),l.addKeys(f);let t=fs(f,m);t||d===`add`||u.addKeys(f),(t||p)&&function(e,t,n,r){function i(t){let i=e(t.name||``);function a(e){return e==null?null:t.extractKey(e)}let o=e=>t.multiEntry&&Mr(e)?e.forEach((e=>i.addKey(e))):i.addKey(e);(n||r).forEach(((e,t)=>{let i=n&&a(n[t]),s=r&&a(r[t]);mo(i,s)!==0&&(i!=null&&o(i),s!=null&&o(s))}))}t.indexes.forEach(i)}(c,a,t,p)}else if(f){let e={from:f.lower,to:f.upper};u.add(e),l.add(e)}else l.add(n),u.add(n),a.indexes.forEach((e=>c(e.name).add(n)));return e}))}}),u=({query:{index:t,range:n}})=>{var r,i;return[t,new hs((r=n.lower)==null?e.MIN_KEY:r,(i=n.upper)==null?e.MAX_KEY:i)]},d={get:e=>[o,new hs(e.key)],getMany:e=>[o,new hs().addKeys(e.keys)],count:u,query:u,openCursor:u};return jr(d).forEach((e=>{l[e]=function(a){let{subscr:o}=W;if(o){let l=e=>{let n=`idb://${t}/${r}/${e}`;return o[n]||(o[n]=new hs)},u=l(``),f=l(`:dels`),[p,m]=d[e](a);if(l(p.name||``).add(m),!p.isPrimaryKey){if(e!==`count`){let t=e===`query`&&c&&a.values&&i.query(V(V({},a),{},{values:!1}));return i[e].apply(this,arguments).then((n=>{if(e===`query`){if(c&&a.values)return t.then((({result:e})=>(u.addKeys(e),n)));let e=a.values?n.result.map(s):n.result;a.values?u.addKeys(e):f.addKeys(e)}else if(e===`openCursor`){let e=n,t=a.values;return e&&Object.create(e,{key:{get:()=>(f.addKey(e.primaryKey),e.key)},primaryKey:{get(){let t=e.primaryKey;return f.addKey(t),t}},value:{get:()=>(t&&u.addKey(e.primaryKey),e.value)}})}return n}))}f.add(n)}}return i[e].apply(this,arguments)}})),l}})}},Cs=class e{constructor(t,n){this._middlewares={},this.verno=0;let r=e.dependencies;this._options=n=V({addons:e.addons,autoOpen:!0,indexedDB:r.indexedDB,IDBKeyRange:r.IDBKeyRange},n),this._deps={indexedDB:n.indexedDB,IDBKeyRange:n.IDBKeyRange};let{addons:i}=n;this._dbSchema={},this._versions=[],this._storeNames=[],this._allTables={},this.idbdb=null,this._novip=this;let a={dbOpenError:null,isBeingOpened:!1,onReadyBeingFired:null,openComplete:!1,dbReadyResolve:U,dbReadyPromise:null,cancelOpen:U,openCanceller:null,autoSchema:!0,PR1398_maxLoop:3};var o;a.dbReadyPromise=new G((e=>{a.dbReadyResolve=e})),a.openCanceller=new G(((e,t)=>{a.cancelOpen=t})),this._state=a,this.name=t,this.on=io(this,`populate`,`blocked`,`versionchange`,`close`,{ready:[Ii,U]}),this.on.ready.subscribe=Gr(this.on.ready.subscribe,(t=>(n,r)=>{e.vip((()=>{let e=this._state;if(e.openComplete)e.dbOpenError||G.resolve().then(n),r&&t(n);else if(e.onReadyBeingFired)e.onReadyBeingFired.push(n),r&&t(n);else{t(n);let e=this;r||t((function t(){e.on.ready.unsubscribe(n),e.on.ready.unsubscribe(t)}))}}))})),this.Collection=(o=this,ao(_o.prototype,(function(e,t){this.db=o;let n=to,r=null;if(t)try{n=t()}catch(e){r=e}let i=e._ctx,a=i.table,s=a.hook.reading.fire;this._ctx={table:a,index:i.index,isPrimKey:!i.index||a.schema.primKey.keyPath&&i.index===a.schema.primKey.name,range:n,keysOnly:!1,dir:`next`,unique:``,algorithm:null,filter:null,replayFilter:null,justLimit:!0,isMatch:null,offset:0,limit:1/0,error:r,or:i.or,valueMapper:s===ki?null:s}}))),this.Table=function(e){return ao(ro.prototype,(function(t,n,r){this.db=e,this._tx=r,this.name=t,this.schema=n,this.hook=e._allTables[t]?e._allTables[t].hook:io(null,{creating:[Mi,U],reading:[Ai,ki],updating:[Pi,U],deleting:[Ni,U]})}))}(this),this.Transaction=function(e){return ao(No.prototype,(function(t,n,r,i,a){this.db=e,this.mode=t,this.storeNames=n,this.schema=r,this.chromeTransactionDurability=i,this.idbtrans=null,this.on=io(this,`complete`,`error`,`abort`),this.parent=a||null,this.active=!0,this._reculock=0,this._blockedFuncs=[],this._resolve=null,this._reject=null,this._waitingFor=null,this._waitingQueue=null,this._spinCount=0,this._completion=new G(((e,t)=>{this._resolve=e,this._reject=t})),this._completion.then((()=>{this.active=!1,this.on.complete.fire()}),(e=>{var t=this.active;return this.active=!1,this.on.error.fire(e),this.parent?this.parent._reject(e):t&&this.idbtrans&&this.idbtrans.abort(),za(e)}))}))}(this),this.Version=function(e){return ao($o.prototype,(function(t){this.db=e,this._cfg={version:t,storesSource:null,dbschema:{},tables:{},contentUpgrade:null}}))}(this),this.WhereClause=function(e){return ao(Do.prototype,(function(t,n,r){this.db=e,this._ctx={table:t,index:n===`:id`?null:n,or:r};let i=e._deps.indexedDB;if(!i)throw new H.MissingAPI;this._cmp=this._ascending=i.cmp.bind(i),this._descending=(e,t)=>i.cmp(t,e),this._max=(e,t)=>i.cmp(e,t)>0?e:t,this._min=(e,t)=>i.cmp(e,t)<0?e:t,this._IDBKeyRange=e._deps.IDBKeyRange}))}(this),this.on(`versionchange`,(e=>{e.newVersion>0?console.warn(`Another connection wants to upgrade database '${this.name}'. Closing db now to resume the upgrade.`):console.warn(`Another connection wants to delete database '${this.name}'. Closing db now to resume the delete request.`),this.close()})),this.on(`blocked`,(e=>{!e.newVersion||e.newVersion<e.oldVersion?console.warn(`Dexie.delete('${this.name}') was blocked`):console.warn(`Upgrade '${this.name}' blocked by other connection holding version ${e.oldVersion/10}`)})),this._maxKey=Lo(n.IDBKeyRange),this._createTransaction=(e,t,n,r)=>new this.Transaction(e,t,n,this._options.chromeTransactionDurability,r),this._fireOnBlocked=e=>{this.on(`blocked`).fire(e),Ka.filter((e=>e.name===this.name&&e!==this&&!e._state.vcFired)).map((t=>t.on(`versionchange`).fire(e)))},this.use(ls),this.use(ds),this.use(Ss),this.use(ps),this.vip=Object.create(this,{_vip:{value:!0}}),i.forEach((e=>e(this)))}version(e){if(isNaN(e)||e<.1)throw new H.Type(`Given version is not a positive number`);if(e=Math.round(10*e)/10,this.idbdb||this._state.isBeingOpened)throw new H.Schema(`Cannot add version when database is open`);this.verno=Math.max(this.verno,e);let t=this._versions;var n=t.filter((t=>t._cfg.version===e))[0];return n||(n=new this.Version(e),t.push(n),t.sort(Ko),n.stores({}),this._state.autoSchema=!1,n)}_whenReady(e){return this.idbdb&&(this._state.openComplete||W.letThrough||this._vip)?e():new G(((e,t)=>{if(this._state.openComplete)return t(new H.DatabaseClosed(this._state.dbOpenError));if(!this._state.isBeingOpened){if(!this._options.autoOpen)return void t(new H.DatabaseClosed);this.open().catch(U)}this._state.dbReadyPromise.then(e,t)})).then(e)}use({stack:e,create:t,level:n,name:r}){r&&this.unuse({stack:e,name:r});let i=this._middlewares[e]||(this._middlewares[e]=[]);return i.push({stack:e,create:t,level:n==null?10:n,name:r}),i.sort(((e,t)=>e.level-t.level)),this}unuse({stack:e,name:t,create:n}){return e&&this._middlewares[e]&&(this._middlewares[e]=this._middlewares[e].filter((e=>n?e.create!==n:!!t&&e.name!==t))),this}open(){return is(this)}_close(){let e=this._state,t=Ka.indexOf(this);if(t>=0&&Ka.splice(t,1),this.idbdb){try{this.idbdb.close()}catch(e){}this._novip.idbdb=null}e.dbReadyPromise=new G((t=>{e.dbReadyResolve=t})),e.openCanceller=new G(((t,n)=>{e.cancelOpen=n}))}close(){this._close();let e=this._state;this._options.autoOpen=!1,e.dbOpenError=new H.DatabaseClosed,e.isBeingOpened&&e.cancelOpen(e.dbOpenError)}delete(){let e=arguments.length>0,t=this._state;return new G(((n,r)=>{let i=()=>{this.close();var e=this._deps.indexedDB.deleteDatabase(this.name);e.onsuccess=va((()=>{(function({indexedDB:e,IDBKeyRange:t},n){!ts(e)&&n!==Za&&es(e,t).delete(n).catch(U)})(this._deps,this.name),n()})),e.onerror=Oo(r),e.onblocked=this._fireOnBlocked};if(e)throw new H.InvalidArgument(`Arguments not allowed in db.delete()`);t.isBeingOpened?t.dbReadyPromise.then(i):i()}))}backendDB(){return this.idbdb}isOpen(){return this.idbdb!==null}hasBeenClosed(){let e=this._state.dbOpenError;return e&&e.name===`DatabaseClosed`}hasFailed(){return this._state.dbOpenError!==null}dynamicallyOpened(){return this._state.autoSchema}get tables(){return jr(this._allTables).map((e=>this._allTables[e]))}transaction(){let e=os.apply(this,arguments);return this._transaction.apply(this,e)}_transaction(e,t,n){let r=W.trans;r&&r.db===this&&e.indexOf(`!`)===-1||(r=null);let i=e.indexOf(`?`)!==-1,a,o;e=e.replace(`!`,``).replace(`?`,``);try{if(o=t.map((e=>{var t=e instanceof this.Table?e.name:e;if(typeof t!=`string`)throw TypeError(`Invalid table argument to Dexie.transaction(). Only Table or String are allowed`);return t})),e==`r`||e===Qa)a=Qa;else{if(e!=`rw`&&e!=$a)throw new H.InvalidArgument(`Invalid transaction mode: `+e);a=$a}if(r){if(r.mode===Qa&&a===$a){if(!i)throw new H.SubTransaction(`Cannot enter a sub-transaction with READWRITE mode when parent transaction is READONLY`);r=null}r&&o.forEach((e=>{if(r&&r.storeNames.indexOf(e)===-1){if(!i)throw new H.SubTransaction(`Table `+e+` not included in parent transaction.`);r=null}})),i&&r&&!r.active&&(r=null)}}catch(e){return r?r._promise(null,((t,n)=>{n(e)})):za(e)}let s=ss.bind(null,this,a,o,r,n);return r?r._promise(a,s,`lock`):W.trans?Na(W.transless,(()=>this._whenReady(s))):this._whenReady(s)}table(e){if(!Ir(this._allTables,e))throw new H.InvalidTable(`Table ${e} does not exist`);return this._allTables[e]}},ws=typeof Symbol<`u`&&`observable`in Symbol?Symbol.observable:`@@observable`,Ts=class{constructor(e){this._subscribe=e}subscribe(e,t,n){return this._subscribe(e&&typeof e!=`function`?e:{next:e,error:t,complete:n})}[ws](){return this}};function Es(e,t){return jr(t).forEach((n=>{_s(e[n]||(e[n]=new hs),t[n])})),e}function Ds(e){let t,n=!1,r=new Ts((r=>{let i=di(e),a=!1,o={},s={},c={get closed(){return a},unsubscribe:()=>{a=!0,Mo.storagemutated.unsubscribe(f)}};r.start&&r.start(c);let l=!1,u=!1;function d(){return jr(s).some((e=>o[e]&&vs(o[e],s[e])))}let f=e=>{Es(o,e),d()&&p()},p=()=>{if(l||a)return;o={};let m={},h=function(t){i&&Ea();let n=()=>Ta(e,{subscr:t,trans:null}),r=W.trans?Na(W.transless,n):n();return i&&r.then(Da,Da),r}(m);u||(Mo(Ao,f),u=!0),l=!0,Promise.resolve(h).then((e=>{n=!0,t=e,l=!1,a||(d()?p():(o={},s=m,r.next&&r.next(e)))}),(e=>{l=!1,n=!1,r.error&&r.error(e),c.unsubscribe()}))};return p(),c}));return r.hasValue=()=>n,r.getValue=()=>t,r}var Os;try{Os={indexedDB:Ar.indexedDB||Ar.mozIndexedDB||Ar.webkitIndexedDB||Ar.msIndexedDB,IDBKeyRange:Ar.IDBKeyRange||Ar.webkitIDBKeyRange}}catch(e){Os={indexedDB:null,IDBKeyRange:null}}var ks=Cs;function As(e){let t=js;try{js=!0,Mo.storagemutated.fire(e)}finally{js=t}}Lr(ks,V(V({},Oi),{},{delete:e=>new ks(e,{addons:[]}).delete(),exists:e=>new ks(e,{addons:[]}).open().then((e=>(e.close(),!0))).catch(`NoSuchDatabaseError`,(()=>!1)),getDatabaseNames(e){try{return function({indexedDB:e,IDBKeyRange:t}){return ts(e)?Promise.resolve(e.databases()).then((e=>e.map((e=>e.name)).filter((e=>e!==Za)))):es(e,t).toCollection().primaryKeys()}(ks.dependencies).then(e)}catch(e){return za(new H.MissingAPI)}},defineClass:()=>function(e){Nr(this,e)},ignoreTransaction:e=>W.trans?Na(W.transless,e):e(),vip:ns,async:function(e){return function(){try{var t=as(e.apply(this,arguments));return t&&typeof t.then==`function`?t:G.resolve(t)}catch(e){return za(e)}}},spawn:function(e,t,n){try{var r=as(e.apply(n,t||[]));return r&&typeof r.then==`function`?r:G.resolve(r)}catch(e){return za(e)}},currentTransaction:{get:()=>W.trans||null},waitFor:function(e,t){let n=G.resolve(typeof e==`function`?ks.ignoreTransaction(e):e).timeout(t||6e4);return W.trans?W.trans.waitFor(n):n},Promise:G,debug:{get:()=>fi,set:e=>{pi(e,e===`dexie`?()=>!0:Xa)}},derive:Br,extend:Nr,props:Lr,override:Gr,Events:io,on:Mo,liveQuery:Ds,extendObservabilitySet:Es,getByKeyPath:Yr,setByKeyPath:Xr,delByKeyPath:function(e,t){typeof t==`string`?Xr(e,t,void 0):`length`in t&&[].map.call(t,(function(t){Xr(e,t,void 0)}))},shallowClone:Zr,deepClone:ri,getObjectDiff:us,cmp:mo,asap:qr,minKey:Ua,addons:[],connections:Ka,errnames:Ti,dependencies:Os,semVer:Va,version:Va.split(`.`).map((e=>parseInt(e))).reduce(((e,t,n)=>e+t/10**(2*n)))})),ks.maxKey=Lo(ks.dependencies.IDBKeyRange),typeof dispatchEvent<`u`&&typeof addEventListener<`u`&&(Mo(Ao,(e=>{if(!js){let t;qa?(t=document.createEvent(`CustomEvent`),t.initCustomEvent(jo,!0,!0,e)):t=new CustomEvent(jo,{detail:e}),js=!0,dispatchEvent(t),js=!1}})),addEventListener(jo,(({detail:e})=>{js||As(e)})));var js=!1;if(typeof BroadcastChannel<`u`){let e=new BroadcastChannel(jo);typeof e.unref==`function`&&e.unref(),Mo(Ao,(t=>{js||e.postMessage(t)})),e.onmessage=e=>{e.data&&As(e.data)}}else if(typeof self<`u`&&typeof navigator<`u`){Mo(Ao,(e=>{try{js||(typeof localStorage<`u`&&localStorage.setItem(jo,JSON.stringify({trig:Math.random(),changedParts:e})),typeof self.clients==`object`&&[...self.clients.matchAll({includeUncontrolled:!0})].forEach((t=>t.postMessage({type:jo,changedParts:e}))))}catch(e){}})),typeof addEventListener<`u`&&addEventListener(`storage`,(e=>{if(e.key===jo){let t=JSON.parse(e.newValue);t&&As(t.changedParts)}}));let e=self.document&&navigator.serviceWorker;e&&e.addEventListener(`message`,(function({data:e}){e&&e.type===jo&&As(e.changedParts)}))}G.rejectionMapper=function(e,t){if(!e||e instanceof xi||e instanceof TypeError||e instanceof SyntaxError||!e.name||!Di[e.name])return e;var n=new Di[e.name](t||e.message,e);return`stack`in e&&zr(n,`stack`,{get:function(){return this.inner.stack}}),n},pi(fi,Xa);var K=new class extends Cs{constructor(){super(`utopya`),this.version(1).stores({providers:`++id`,categories:`id, [providerId+kind]`,channels:`id, providerId, [providerId+number], [categoryId+number]`,movies:`id, providerId, [categoryId+added]`,series:`id, providerId, [categoryId+added]`,episodes:`id, seriesId, providerId`}),this.version(2).stores({favorites:`id, [providerId+kind]`,recents:`id, [providerId+kind]`}),this.version(3).stores({programs:`id, providerId, [key+start]`,epgLinks:`id, providerId`}),this.version(4).stores({reminders:`id, start`}),this.version(5).stores({progress:`id, providerId, seriesId, updated`}),this.version(6).stores({movies:`id, providerId, [categoryId+added], [providerId+vkey]`,series:`id, providerId, [categoryId+added], [providerId+vkey]`}),this.version(7).stores({movies:`id, providerId, [categoryId+added], [providerId+vkey], [providerId+added]`,series:`id, providerId, [categoryId+added], [providerId+vkey], [providerId+added]`}),this.version(8).stores({catState:`id, providerId`,chanState:`id, providerId`,groups:`++id, providerId`,groupItems:`[groupId+channelId], groupId, channelId`}),this.version(9).stores({epgChannels:`id, providerId`}),this.version(10).stores({movies:`id, providerId, [categoryId+added], [providerId+vkey], [providerId+added], [providerId+rating]`,series:`id, providerId, [categoryId+added], [providerId+vkey], [providerId+added], [providerId+rating]`})}};function Ms(...e){let t=e.join(`|`),n=2166136261,r=84696351;for(let e=0;e<t.length;e++){let i=t.charCodeAt(e);n=Math.imul(n^i,16777619),r=Math.imul(r^i,1540483477)}return(r>>>0)%2097152*4294967296+(n>>>0)||1}var Ns={_doc:`İçerik sınıflandırma. adultWords: kategori adı küçük harfe çevrilip (katlanmadan) alt dize araması. M3U girdisi: adres yolunda /series/ → dizi, /movie/ veya /movies/ → film; uzantı vodExtensions'taysa bölüm kalıbı varsa dizi yoksa film; uzantısız/uzun uzantılı adreslerde grup adı (küçük harf) seriesWords içeriyor ve bölüm kalıbı varsa dizi, movieWords'ten biriyle başlıyor ya da 'vod' içeriyorsa film; aksi halde canlı. notMatchWords: spor programı başlığında geçerse maç sayılmaz (büyük/küçük harf duyarsız).`,adultWords:[`xxx`,`adult`,`+18`,`18+`,`yetişkin`,`yetiskin`,`porn`,`erotic`,`erotik`],vodExtensions:[`mp4`,`mkv`,`avi`,`mov`,`wmv`,`flv`,`m4v`,`webm`,`mpg`,`mpeg`,`divx`],seriesWords:[`series`,`dizi`,`season`,`sezon`,`tv shows`,`shows`],movieWords:[`movie`,`film`,`vod`,`sinema`,`cinema`,`box office`],notMatchWords:[`özet`,`ozet`,`highlights`,`tekrar`,`replay`,`stüdyo`,`studio`,`analiz`,`magazin`,`klip`]},Ps={_doc:`Ad işleme. foldName: küçük harf + fold eşlemesi (platform/tür tanıma, arama). normalizeName: küçük harf + normalizeFold, [..] ve (..) silinir, qualityTags harf olmayan sınırlarda silinir, baştaki 2-3 harfli ülke öneki ('tr:', 'uk |') silinir, yalnızca harf/rakam kalır (EPG ve sürüm eşleşmesi). Yapısal regex'ler (ülke öneki, yıl, etiket) her platformun kodunda; davranış fixtures/cases/names.json ile sınanır. U+0307 (birleşik nokta) silinir: 'İ'.lowercase() = 'i̇' olduğundan aksi halde 'DİZİ' 'dizi' ile eşleşmez.`,fold:{"̇":``,ı:`i`,ş:`s`,ğ:`g`,ü:`u`,ö:`o`,ç:`c`,ß:`b`,ə:`e`},normalizeFold:{"̇":``,ı:`i`,ş:`s`,ğ:`g`,ü:`u`,ö:`o`,ç:`c`},qualityTags:[`uhd`,`fhd`,`hd`,`sd`,`4k`,`8k`,`hevc`,`h265`,`1080p`,`720p`,`backup`,`yedek`],removeWordsTrim:` |-:/●`},Fs=(()=>{try{return RegExp(`\\p{L}`,`u`).test(`ş`)}catch(e){return!1}})(),Is=Fs?`\\p{L}`:`A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u024F\\u0370-\\u03FF\\u0400-\\u04FF\\u0590-\\u06FF\\u3040-\\u30FF\\u4E00-\\u9FFF\\uAC00-\\uD7AF`,Ls=(e,t=``)=>new RegExp(e.replace(/LETTER/g,Is),Fs?t+`u`:t),Rs=e=>{let t=RegExp(`[${Object.keys(e).join(``)}]`,`g`);return n=>n.replace(t,t=>e[t])},zs=Rs(Ps.fold),Bs=Rs(Ps.normalizeFold),Vs=e=>zs(e.toLowerCase()),Hs=/\[[^\]]*\]|\([^)]*\)/g,Us=RegExp(`(^|[^a-z])(${Ps.qualityTags.join(`|`)})(?![a-z])`,`g`),Ws=/^[a-z]{2,3}\s*[:|]\s*/,Gs=Ls(`[^LETTER0-9]`,`g`);function Ks(e){return Bs(e.toLowerCase()).replace(Hs,` `).replace(Us,`$1 `).replace(Ws,` `).replace(Gs,``)}var qs=/^\s*(?:\[([A-Za-z]{2,3})\]\s*[|:\-●•]*|([A-Za-z]{2,3})\s*[|:\-●•]+)\s*/;function Js(e){let t=qs.exec(e);return t?(t[1]||t[2]).toUpperCase():null}var Ys=/\[([^\]]*)]|\(([^)]*)\)/g,Xs=/(^|\D)((?:19|20)\d{2})(?!\d)/,Zs=/^(?:19|20)\d{2}$/;function Qs(e,t){let n=t?t.slice(0,4):(Xs.exec(e)||[])[2]||``;return Ks(e)+`|`+n}function $s(e){let t=[];return e.replace(Ys,(e,n,r)=>{let i=(n||r||``).trim();return i&&!Zs.test(i)&&t.push(i),``}),t.length?t.join(` · `):null}var ec=e=>e.replace(Ys,` `).trim();function tc(e){let t=[];for(let n of e.split(` / `)){let e=ec(n);e&&t.indexOf(e)<0&&t.push(e)}return t.length?t:[e]}var nc=e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`),rc=(e,t)=>{let n=0,r=e.length;for(;n<r&&t.indexOf(e[n])>=0;)n++;for(;r>n&&t.indexOf(e[r-1])>=0;)r--;return e.slice(n,r)};function ic(e,t){if(!t.length)return e;let n=e;for(let e of t)n=n.replace(new RegExp(nc(e),`gi`),` `);return n=rc(n.replace(/\s{2,}/g,` `),Ps.removeWordsTrim),n.trim()?n:e}var ac=Ls(`[LETTER]{2,}.*\\s(?:-|–|vs\\.?|v)\\s.*[LETTER]{2,}`,`i`);function oc(e){let t=e.toLowerCase();return ac.test(e)&&!Ns.notMatchWords.some(e=>t.indexOf(e)>=0)}var sc={_doc:`Kategori adından platform tanıma. Ad foldName ile katlanır, separators boşluğa çevrilir, başa/sona boşluk eklenir; keywords'ten biri geçiyor ve excludes'tan hiçbiri geçmiyorsa eşleşir. Listede İLK eşleşen kazanır (sıra önemli). logo: Wikimedia Commons dosya adı (https://commons.wikimedia.org/wiki/Special:FilePath/<ad>?width=320) ya da https ile başlıyorsa doğrudan adres; null ise ad yazı logosu olarak çizilir. tintWhite=false: kendi arka planlı logo, beyaza boyanmaz.`,separators:`|:-_/[]()●•`,platforms:[{key:`netflix`,name:`Netflix`,color:`#E50914`,keywords:[`netflix`],logo:`Netflix_2015_logo.svg`},{key:`hbo`,name:`HBO Max`,color:`#5822B4`,keywords:[`hbo`,` max `,`max original`],excludes:[`max prime`],logo:`Max_logo.svg`},{key:`disney`,name:`Disney+`,color:`#113CCF`,keywords:[`disney`],logo:`Disney%2B_logo.svg`},{key:`prime`,name:`Prime Video`,color:`#00A8E1`,keywords:[`prime`,`amazon`],excludes:[`max prime`],logo:`Amazon_Prime_Video_logo.svg`},{key:`apple`,name:`Apple TV+`,color:`#333333`,keywords:[`apple`],logo:`Apple_TV_Plus_Logo.svg`},{key:`blutv`,name:`BluTV`,color:`#0F6FFF`,keywords:[`blutv`,`blu tv`],logo:`BluTV_logo.svg`,tintWhite:!1},{key:`exxen`,name:`Exxen`,color:`#FFB800`,keywords:[`exxen`],logo:`Exxen.png`,tintWhite:!1},{key:`gain`,name:`Gain`,color:`#7B2CF5`,keywords:[`gain`],logo:`GA%C4%B0N_LOGO.jpg`,tintWhite:!1},{key:`tabii`,name:`tabii`,color:`#00B67A`,keywords:[`tabii`],logo:`Tabii_logo.svg`},{key:`tvplus`,name:`TV+`,color:`#8A7300`,keywords:[`tv+`,`tvplus`,`tv plus`,`turkcell tv`],logo:`https://tvplus.com.tr/images/pwa/icon-192x192.png`,tintWhite:!1},{key:`tod`,name:`TOD`,color:`#6D1ED4`,keywords:[`tod `,`bein connect`,`tod|`,`tod -`]},{key:`puhu`,name:`puhutv`,color:`#FF3D00`,keywords:[`puhu`],logo:`Puhutv.png`,tintWhite:!1},{key:`mubi`,name:`MUBI`,color:`#001489`,keywords:[`mubi`],logo:`Mubi_logo.svg`},{key:`paramount`,name:`Paramount+`,color:`#0064FF`,keywords:[`paramount`],logo:`Paramount_Plus.svg`},{key:`hulu`,name:`Hulu`,color:`#1CE783`,keywords:[`hulu`],logo:`Hulu_Logo.svg`},{key:`bein`,name:`beIN SPORTS`,color:`#5B2C83`,keywords:[`bein`]},{key:`ssport`,name:`S Sport`,color:`#0057B8`,keywords:[`s sport`,`ssport`]},{key:`tivibu`,name:`Tivibu`,color:`#00A0E3`,keywords:[`tivibu`]},{key:`dazn`,name:`DAZN`,color:`#1A1A1A`,keywords:[`dazn`]},{key:`sky`,name:`Sky`,color:`#0072C9`,keywords:[` sky `]},{key:`peacock`,name:`Peacock`,color:`#222222`,keywords:[`peacock`]}]},cc={_doc:`Kategori adından tür. Ad foldName ile katlanır, başa/sona boşluk eklenir (ayırıcılar çevrilmez); alt dize araması, İLK eşleşen kazanır. Hiçbiri eşleşmezse OTHER. Gruplamada sıra bu listenin sırasıdır, OTHER en sonda.`,genres:[{key:`ADULT`,keywords:[`adult`,`xxx`,`+18`,`18+`]},{key:`KIDS`,keywords:[`cocuk`,`kids`,`kinder`,`cartoon`,`cizgi`]},{key:`SPORTS`,keywords:[`spor`,`sport`,`bein`,`futbol`,`football`,`nba`,`ufc`,`f1 `,`motogp`,`epl`,`tennis`,`golf`,`dazn`,`event`]},{key:`NEWS`,keywords:[`haber`,`news`,`nachrichten`]},{key:`DOCS`,keywords:[`belgesel`,`docu`,`doku`,`documentary`,`nature`,`discovery`]},{key:`MUSIC`,keywords:[`muzik`,`music`,`musik`,`radyo`,`radio`]},{key:`MOVIES`,keywords:[`film`,`dizi`,`sinema`,`cinema`,`movie`,`kino`,`serien`,`series`,`boxset`,`yesilcam`,`actor`,`anime`]},{key:`RELIGION`,keywords:[`dini`,`religio`]},{key:`LOCAL`,keywords:[`yerel`,`local`,`regional`]},{key:`NATIONAL`,keywords:[`ulusal`,`national`,`genel`,`general`]},{key:`UHD`,keywords:[`4k`,`uhd`]},{key:`OTHER`,keywords:[]}]},lc=sc.platforms,uc=cc.genres.map(e=>e.key),dc=RegExp(`[${sc.separators.replace(/[\]\\\-^]/g,`\\$&`)}]`,`g`);function fc(e){let t=` `+Vs(e).replace(dc,` `)+` `;for(let e of lc)if(e.keywords.some(e=>t.indexOf(e)>=0)&&!(e.excludes||[]).some(e=>t.indexOf(e)>=0))return e;return null}function pc(e){return e.logo?e.logo.startsWith(`https://`)?e.logo:`https://commons.wikimedia.org/wiki/Special:FilePath/${e.logo}?width=320`:null}function mc(e){let t=` `+Vs(e)+` `,n=cc.genres.find(e=>e.keywords.some(e=>t.indexOf(e)>=0));return n?n.key:`OTHER`}function hc(e,t){return e.map((e,t)=>[e,t]).sort((e,n)=>t(e[0],n[0])||e[1]-n[1]).map(e=>e[0])}function gc(e,t){let n=new Map;for(let r of e){let e=t(r);if(e===null)continue;let i=n.get(e);i?i.push(r):n.set(e,[r])}return n}function _c(e,t,n){let r=e.filter(e=>!e.hidden&&!e.locked),i=e=>e.map(e=>e.id),a=[];return t===`COUNTRY`?(gc(r,e=>(e.country===void 0?Js(e.name):e.country)||n).forEach((e,t)=>a.push({key:`country:${t}`,categoryIds:i(e),country:t})),hc(a,(e,t)=>Number(t.country===n)-Number(e.country===n)||t.categoryIds.length-e.categoryIds.length)):t===`GENRE`?(gc(r,e=>mc(e.name)).forEach((e,t)=>a.push({key:`genre:${t}`,categoryIds:i(e),genre:t})),hc(a,(e,t)=>uc.indexOf(e.genre)-uc.indexOf(t.genre))):t===`PLATFORM`?(gc(r,e=>{var t,n;return(t=(n=fc(e.name))==null?void 0:n.key)==null?null:t}).forEach((e,t)=>{let n=lc.find(e=>e.key===t);a.push({key:`platform:${t}`,categoryIds:i(e),platform:n})}),hc(a,(e,t)=>lc.indexOf(e.platform)-lc.indexOf(t.platform))):a}var vc=e=>/^\s*()?#EXT(M3U|INF)/.test(e),yc=e=>e.split(/\s+/).filter(Boolean);async function bc(e){let t=yc(e);if(!t.length)throw new xr(`NOT_FOUND`);for(let e of t){let t=``;if(await Or(await Dr(e),e=>(t+=e,t.trim().length<16)),!vc(t))throw new xr(`PARSE`,`not m3u`)}}function xc(e){let t=e.trim().replace(/\/+$/,``);return/^https?:\/\//i.test(t)||(t=`http://${t}`),t.split(`/player_api.php`)[0].split(`/get.php`)[0].replace(/\/+$/,``)}var Sc=(e,t,n={})=>{let r=[`username=${encodeURIComponent(e.username)}`,`password=${encodeURIComponent(e.password)}`];t&&r.push(`action=${t}`);for(let e in n)r.push(`${e}=${encodeURIComponent(n[e])}`);return`${xc(e.url)}/player_api.php?${r.join(`&`)}`},Cc=(e,t,n)=>`${xc(e.url)}/movie/${e.username}/${e.password}/${t}.${n}`,wc=(e,t,n)=>`${xc(e.url)}/series/${e.username}/${e.password}/${t}.${n}`,Tc=(e,t)=>{let n=e[t];return n==null||n===``||typeof n==`object`?null:String(n)},Ec=(e,t)=>{let n=parseFloat(Tc(e,t)||``);return isNaN(n)?null:n};async function Dc(e){let t=``;await Or(await Dr(e),e=>{t+=e});try{let e=JSON.parse(t);return e&&typeof e==`object`&&!Array.isArray(e)?e:{}}catch(e){throw new xr(`PARSE`,`json`)}}async function Oc(e){let t=await Dc(Sc(e)),n=t.user_info;if(!n||typeof n!=`object`||Ec(n,`auth`)===0)throw new xr(`AUTH`);let r=(Tc(n,`status`)||``).toLowerCase();if(r===`expired`)throw new xr(`EXPIRED`);if(r&&r!==`active`)throw new xr(`AUTH`,r);return t}var kc=new URL(`worker-VohmfNTb.js`,document.currentScript&&document.currentScript.tagName.toUpperCase()===`SCRIPT`&&document.currentScript.src||document.baseURI).href,Ac=e=>/\.m3u8?$/i.test(e);function jc(e){return new Promise(t=>e.listFiles(t,()=>t([])))}function Mc(e){return new Promise((t,n)=>tizen.filesystem.resolve(e,t,n,`r`))}async function Nc(){let e=await new Promise(e=>tizen.filesystem.listStorages(e,()=>e([]))),t=[],n=async(e,r)=>{for(let i of await jc(e))i.isDirectory?r<2&&!i.name.startsWith(`.`)&&await n(i,r+1):Ac(i.name)&&t.push({name:i.name,path:i.toURI()})};for(let t of e)if(t.type===`EXTERNAL`&&t.state===`MOUNTED`)try{await n(await Mc(t.label),0)}catch(e){}return t}async function Pc(e){let t=await Mc(e);return new Promise((e,n)=>t.readAsText(e,n,`UTF-8`))}var Fc=[`HERO`,`CONTINUE`,`UP_NEXT`,`NEW_EPISODES`,`FAVORITE_CHANNELS`,`STARTING_SOON`,`RECENT_CHANNELS`,`TONIGHT_SPORTS`,`SCHEDULE`,`PLATFORMS`,`FOR_YOU`,`NEW_MOVIES`,`NEW_SERIES`,`TOP_RATED`,`GENRES`],Ic=[`HERO`,`CONTINUE`,`PLATFORMS`,`STARTING_SOON`,`TONIGHT_SPORTS`,`FAVORITE_CHANNELS`,`NEW_EPISODES`,`RECENT_CHANNELS`,`NEW_MOVIES`,`NEW_SERIES`,`TOP_RATED`,`SCHEDULE`,`GENRES`],Lc=[`HERO`,`PLATFORMS`,`CONTINUE`,`STARTING_SOON`,`TONIGHT_SPORTS`,`FAVORITE_CHANNELS`,`NEW_EPISODES`,`RECENT_CHANNELS`,`NEW_MOVIES`,`NEW_SERIES`,`TOP_RATED`,`SCHEDULE`,`GENRES`],Rc={groupMode:`CATEGORY`,numbering:`GLOBAL`,previewAutoplay:!0,fallbackToPrevious:!0,aspect:`fit`,colorKeys:[`FAVORITE`,`AUDIO`,`SUBTITLES`,`ASPECT`],lastChannelId:null,homeShelves:Lc,knownShelves:Lc,pinHash:null,hideLocked:!1,adultAutoLock:!0,searchHistory:[],startScreen:`home`,accent:`blue`,theme:`navy`,filterWords:[],epgHours:12,epgOffsetMin:0,autoNextEpisode:!0,preferredAudio:`tr`,preferredSubtitle:null,subtitleScale:1,subtitleColor:0,subtitleBackground:!1,autoSubtitles:!1,rememberTracks:!0,stremioAddons:[]},zc=`utopya.settings`,Bc=[`HERO`,`CONTINUE`,`UP_NEXT`,`FAVORITE_CHANNELS`,`RECENT_CHANNELS`,`TONIGHT_SPORTS`,`SCHEDULE`,`PLATFORMS`,`NEW_MOVIES`,`NEW_SERIES`,`TOP_RATED`];function Vc(e,t){let n=JSON.stringify(e);if(n===JSON.stringify(Fc)||n===JSON.stringify(Ic))return Lc.slice();let r=e.filter(e=>Lc.includes(e));return Lc.forEach((e,n)=>{if(t.indexOf(e)>=0||r.indexOf(e)>=0)return;let i=0;for(let e=n-1;e>=0;e--){let t=r.indexOf(Lc[e]);if(t>=0){i=t+1;break}}r.splice(i,0,e)}),r}function Hc(){try{let e=JSON.parse(localStorage.getItem(zc)||`{}`);return e.homeShelves&&(e.homeShelves=Vc(e.homeShelves,e.knownShelves||Bc)),V(V(V({},Rc),e),{},{knownShelves:Lc})}catch(e){return Rc}}var q=I(Hc()),Uc=()=>{q.value=Hc()};function Wc(e){q.value=V(V({},q.value),e);try{localStorage.setItem(zc,JSON.stringify(q.value))}catch(e){}}var Gc={blue:`#4FC3F7`,orange:`#FFA726`,green:`#66BB6A`,purple:`#B388FF`,red:`#FF5252`},Kc={navy:[`#090F1C`,`#132034`,`#16314A`,`#0E1A2D`],amoled:[`#000000`,`#0E0E0E`,`#1C1C1C`,`#000000`],graphite:[`#0E0F12`,`#1A1C21`,`#262A31`,`#16181D`],forest:[`#06120D`,`#0F2219`,`#183327`,`#0B1E15`],wine:[`#14070C`,`#241018`,`#351823`,`#1E0B12`]},qc=e=>{let t=parseInt(e.slice(1),16);return`${t>>16}, ${t>>8&255}, ${t&255}`};function Jc(){let e=document.documentElement.style,[t,n,r,i]=Kc[q.value.theme],a=Gc[q.value.accent];e.setProperty(`--bg`,t),e.setProperty(`--surface`,n),e.setProperty(`--surface-variant`,r),e.setProperty(`--bg-top`,i),e.setProperty(`--glass`,`rgba(${qc(n)}, 0.72)`),e.setProperty(`--accent`,a),e.setProperty(`--accent-rgb`,qc(a))}q.subscribe(Jc);var Yc=I(null),Xc=I(null),Zc=I(null),Qc=`utopya.activeProvider`;async function $c(){let e=await K.providers.toArray(),t=null;try{t=Number(localStorage.getItem(Qc))||null}catch(e){}return e.some(e=>e.id===t)||(t=e.length?e[0].id:null),Yc.value=e,Xc.value=t,e}function el(e){Xc.value=e;try{localStorage.setItem(Qc,String(e))}catch(e){}}async function tl(e,t){if(e.type===`xtream`)await Oc(e);else if(t!==void 0){if(!/^\s*()?#EXT(M3U|INF)/.test(t.slice(0,64)))throw new xr(`PARSE`,`not m3u`)}else await bc(e.url)}function nl(){let e=(Yc.value||[]).find(e=>e.id===Xc.value);e&&e.lastSync&&Date.now()-(e.lastEpgSync||0)>q.peek().epgHours*36e5&&ol(e.id,void 0,`epg`)}async function rl(e){let t=await K.providers.add(e);return await $c(),el(t),t}var il=null;async function al(){if(new URL(kc,location.href).origin===location.origin)return new Worker(kc);let e=await(await fetch(kc)).text();return new Worker(URL.createObjectURL(new Blob([e],{type:`text/javascript`})))}async function ol(e,t,n=`all`){let r=(Yc.value||[]).find(t=>t.id===e);if(n===`all`&&t===void 0&&r&&r.type===`m3u`&&/^file:/i.test(r.url))try{t=await Pc(r.url)}catch(t){Zc.value={providerId:e,failed:`NOT_FOUND`,detail:r.url};return}if(!il){let e=await al();il?e.terminate():il=e}il.onmessage===null&&(il.onmessage=e=>{let t=e.data;(t.type!==`progress`||t.count===0)&&console.log(`senkron`,t.type,`stage`in t?t.stage:``,`error`in t?`${t.error} ${t.detail}`:``),t.type===`progress`?Zc.value={providerId:t.providerId,stage:t.stage,count:t.count}:t.type===`done`?(Zc.value={providerId:t.providerId,stage:`DONE`,count:t.counts.live},$c()):Zc.value={providerId:t.providerId,failed:t.error,detail:t.detail}},il.onerror=e=>{console.error(`worker hatası`,e.message,e.filename,e.lineno);let t=Zc.value;t&&(Zc.value={providerId:t.providerId,failed:`UNKNOWN`,detail:e.message})}),Zc.value={providerId:e,stage:`CONNECTING`,count:0},il.postMessage({type:`sync`,providerId:e,fileText:t,mode:n,epgOffsetMin:q.peek().epgOffsetMin})}var sl={name:``,url:``,username:``,password:``,epg:``,userAgent:``,liveFormat:`ts`};function cl(e,t,n){return n?n.name.replace(/\.m3u8?$/i,``):t.replace(/^[a-z]+:\/\//i,``).split(/[/:\s]/)[0]||(e===`xtream`?`Xtream`:`M3U`)}function ll(e){let[t,n]=N({s:`choose`}),[r,i]=N(sl),[a,o]=N(null),[s,c]=N(null),[l,u]=N(!1),[d,f]=N(`xtream`),p=F(null);P(()=>{L(p.current)},[t.s,t.s===`form`?t.kind:``]);let m=e=>{f(e),c(null),u(!1),n({s:`form`,kind:e})};return tn(r=>{if(r===`back`)return t.s===`choose`?e.onExit():t.s===`usb`?n({s:`form`,kind:`file`}):t.s===`form`?n({s:`choose`}):t.s===`sync`&&e.onDone(),!0}),j(`div`,{class:`onboarding`,ref:p,children:[t.s===`choose`&&j(dl,{open:m}),t.s===`form`&&j(gl,{kind:t.kind,form:r,edit:e=>i(V(V({},r),e)),file:a,pickFile:async()=>{Ft?n({s:`usb`}):ul(e=>o(e))},error:s,missing:l,submit:async()=>{let e=d,t=e===`file`?(a==null?void 0:a.uri)||``:Tr(r.url);if(!t||e===`xtream`&&(!r.username.trim()||!r.password)){u(!0);return}u(!1),c(null);let i={name:r.name.trim()||cl(e,t,a),type:e===`xtream`?`xtream`:`m3u`,url:e===`xtream`?xc(t):t,username:r.username.trim(),password:r.password,epgUrls:r.epg.split(/[\s,]+/).map(Tr).filter(e=>/^https?:/i.test(e)),userAgent:r.userAgent.trim()||null,liveFormat:r.liveFormat,createdAt:Date.now()};n({s:`validating`});try{await tl(i,a==null?void 0:a.text);let t=await rl(i);ol(t,e===`file`?a.text:void 0),n({s:`sync`,providerId:t})}catch(t){console.warn(`doğrulama`,t),c(Cr(t)),n({s:`form`,kind:e})}},back:()=>n({s:`choose`})}),t.s===`usb`&&j(_l,{onPick:async e=>{try{o({name:e.name,uri:e.path,text:await Pc(e.path)}),c(null)}catch(e){c(`NOT_FOUND`)}n({s:`form`,kind:`file`})},back:()=>n({s:`form`,kind:`file`})}),t.s===`validating`&&j(`p`,{class:`center-msg`,children:R(`onb_validating`)}),t.s===`sync`&&j(vl,{providerId:t.providerId,onDone:e.onDone,back:()=>m(d)})]})}function ul(e){let t=document.createElement(`input`);t.type=`file`,t.accept=`.m3u,.m3u8,audio/x-mpegurl`,t.onchange=()=>{let n=t.files&&t.files[0];if(!n)return;let r=new FileReader;r.onload=()=>e({name:n.name,uri:`file:${n.name}`,text:String(r.result)}),r.readAsText(n)},t.click()}function dl({open:e}){return j(`div`,{class:`onb-choose`,children:[j(`div`,{class:`onb-brand`,children:[j(`div`,{class:`brand-mark`,children:j(z,{name:`play`})}),j(`h1`,{children:R(`app_name`)}),j(`p`,{class:`tagline muted`,children:R(`onb_tagline`)}),j(`ul`,{class:`features`,children:[j(fl,{icon:`live`,text:R(`onb_feat_live`)}),j(fl,{icon:`movie`,text:R(`onb_feat_vod`)}),j(fl,{icon:`grid`,text:R(`tz_feat_tools`)})]}),j(`p`,{class:`note muted`,children:R(`onb_no_content`)})]}),j(`div`,{class:`onb-options`,children:[j(`h2`,{children:R(`onb_how`)}),j(pl,{icon:`dns`,tint:`#4FC3F7`,title:R(`onb_xtream`),desc:R(`onb_xtream_desc`),badge:R(`onb_badge_common`),initial:!0,onClick:()=>e(`xtream`)}),j(pl,{icon:`link`,tint:`#66BB6A`,title:R(`onb_m3u_url`),desc:R(`onb_m3u_url_desc`),onClick:()=>e(`m3u`)}),j(pl,{icon:`file`,tint:`#90A4AE`,title:R(`onb_m3u_file`),desc:R(`tz_m3u_file_desc`),onClick:()=>e(`file`)})]})]})}function fl({icon:e,text:t}){return j(`li`,{children:[j(`span`,{class:`feature-icon`,children:j(z,{name:e})}),t]})}function pl(e){return j(`button`,{class:`option`,"data-focus":!0,"data-focus-default":e.initial||void 0,onClick:e.onClick,children:[j(`span`,{class:`option-icon`,style:{color:e.tint,background:ml(e.tint,.16)},children:j(z,{name:e.icon})}),j(`span`,{class:`option-text`,children:[j(`span`,{class:`option-title`,children:[e.title,e.badge&&j(`span`,{class:`badge`,style:{color:e.tint,background:ml(e.tint,.2)},children:e.badge})]}),j(`span`,{class:`muted`,children:e.desc})]}),j(z,{name:`chevron`,class:`muted`})]})}var ml=(e,t)=>{let n=parseInt(e.slice(1),16);return`rgba(${n>>16}, ${n>>8&255}, ${n&255}, ${t})`};function hl({title:e,hint:t,back:n}){return j(`div`,{class:`step-header`,children:[j(`button`,{class:`btn outline`,"data-focus":!0,onClick:n,children:[j(z,{name:`back`}),R(`back`)]}),j(`div`,{children:[j(`h1`,{children:e}),t&&j(`p`,{class:`muted`,children:t})]})]})}function gl(e){let{kind:t,form:n,edit:r}=e,[i,a]=t===`xtream`?[R(`onb_xtream`),R(`onb_hint_xtream`)]:t===`m3u`?[R(`onb_m3u_url`),R(`onb_hint_m3u`)]:[R(`onb_m3u_file`),R(`tz_hint_file`)];return j(`div`,{class:`form-step`,children:[j(hl,{title:i,hint:a,back:e.back}),j(`div`,{class:`form-row`,children:[j(`div`,{class:`form-panel glass`,"data-focus-group":`form-${t}`,children:[t===`m3u`&&j(Tn,{label:R(`onb_url`),value:n.url,onInput:e=>r({url:e}),placeholder:`http://…/playlist.m3u`,initial:!0}),t===`file`&&j(`div`,{class:`field`,children:[e.file&&j(`p`,{class:`file-chosen`,children:R(`onb_file_chosen`,e.file.name)}),j(`button`,{class:`btn`,"data-focus":!0,"data-focus-default":!0,onClick:e.pickFile,children:[j(z,{name:`folder`}),R(`onb_pick_file`)]})]}),t===`xtream`&&j(x,{children:[j(Tn,{label:R(`onb_server`),value:n.url,onInput:e=>r({url:e}),placeholder:`http://server:8080`,initial:!0}),j(`div`,{class:`field-pair`,children:[j(Tn,{label:R(`onb_username`),value:n.username,onInput:e=>r({username:e})}),j(Tn,{label:R(`onb_password`),value:n.password,onInput:e=>r({password:e}),password:!0})]})]}),j(`button`,{class:`btn primary connect`,"data-focus":!0,onClick:e.submit,children:R(`onb_connect`)}),j(`h3`,{class:`muted`,children:R(`onb_optional`)}),j(Tn,{label:R(`onb_name`),value:n.name,onInput:e=>r({name:e}),placeholder:R(`onb_name_ph`)}),j(Tn,{label:R(`onb_epg`),value:n.epg,onInput:e=>r({epg:e}),placeholder:`http://…/epg.xml.gz`}),t!==`file`&&j(Tn,{label:R(`onb_user_agent`),value:n.userAgent,onInput:e=>r({userAgent:e})}),t===`xtream`&&j(`div`,{class:`field`,children:[j(`span`,{class:`field-label`,children:R(`onb_live_format`)}),j(`div`,{class:`row`,children:[`ts`,`m3u8`].map(e=>j(`button`,{class:`chip${n.liveFormat===e?` selected`:``}`,"data-focus":!0,onClick:()=>r({liveFormat:e}),children:e.toUpperCase()},e))})]})]}),j(`div`,{class:`form-side`,children:[e.missing&&j(`p`,{class:`error-box`,children:R(`onb_required`)}),e.error&&j(`p`,{class:`error-box`,children:R(Sr(e.error))}),j(`div`,{class:`onb-help glass`,children:[j(`h3`,{children:R(`tz_onb_help_title`)}),j(`ul`,{children:[t!==`file`&&j(`li`,{children:R(`tz_onb_help_keyboard`)}),t===`xtream`&&j(`li`,{children:R(`tz_onb_help_server`)}),t===`xtream`&&j(`li`,{children:R(`tz_onb_help_creds`)}),t===`m3u`&&j(`li`,{children:R(`tz_onb_help_m3u`)}),t===`file`&&j(`li`,{children:R(`tz_onb_help_file`)}),j(`li`,{children:R(`tz_onb_help_epg`)}),j(`li`,{children:R(`tz_onb_help_privacy`)})]})]})]})]})]})}function _l({onPick:e,back:t}){let[n,r]=N(null),i=F(null);return P(()=>{Nc().then(r,()=>r([]))},[]),P(()=>{n&&L(i.current)},[n]),j(`div`,{class:`form-step`,children:[j(hl,{title:R(`tz_usb_title`),back:t}),j(`div`,{class:`usb-list glass`,ref:i,children:[n===null&&j(`p`,{class:`muted`,children:R(`loading`)}),n&&!n.length&&j(`p`,{class:`muted`,children:R(`tz_usb_empty`)}),n&&n.map(t=>j(`button`,{class:`option`,"data-focus":!0,onClick:()=>e(t),children:[j(`span`,{class:`option-icon`,children:j(z,{name:`file`})}),j(`span`,{class:`option-text`,children:[j(`span`,{class:`option-title`,children:t.name}),j(`span`,{class:`muted`,children:decodeURI(t.path.replace(/^file:\/\//,``))})]})]},t.path))]})]})}function vl({providerId:e,onDone:t,back:n}){let r=Zc.value,i=r&&r.providerId===e?r:null;P(()=>{i&&`stage`in i&&i.stage===`DONE`&&t()},[i]);let a=i&&`failed`in i?i:null,o=F(null);return P(()=>{L(o.current)},[!!a]),j(`div`,{class:`sync-step`,ref:o,children:[j(`h1`,{children:R(`sync_title`)}),a?j(x,{children:[j(`p`,{class:`error-text`,children:R(`sync_failed`)}),j(`p`,{children:R(Sr(a.failed))}),j(`div`,{class:`row`,children:[j(`button`,{class:`btn primary`,"data-focus":!0,"data-focus-default":!0,onClick:()=>ol(e),children:R(`retry`)}),j(`button`,{class:`btn outline`,"data-focus":!0,onClick:n,children:R(`back`)})]})]}):j(x,{children:[j(`p`,{class:`stage`,children:yl(i&&`stage`in i?i:null)}),j(`div`,{class:`indeterminate`,children:j(`span`,{})}),j(`button`,{class:`btn outline`,"data-focus":!0,"data-focus-default":!0,onClick:t,children:R(`sync_background`)})]})]})}function yl(e){switch(e&&e.stage){case`CATEGORIES`:return R(`sync_categories`);case`LIVE`:return R(`sync_live`,e.count);case`MOVIES`:return R(`sync_movies`,e.count);case`SERIES`:return R(`sync_series`,e.count);case`EPG`:return R(`sync_epg`,e.count);case`DONE`:return R(`sync_done`);default:return R(`sync_connecting`)}}function bl(e){let t=typeof e==`string`?e:``;try{let e=atob(t),n=new Uint8Array(e.length);for(let t=0;t<e.length;t++)n[t]=e.charCodeAt(t);let r=new TextDecoder(`utf-8`).decode(n);return/[\uFFFD\u0000-\u0008]/.test(r)?t:r}catch(e){return t}}function xl(e,t,n,r){let i=[];for(let a of e){let e=Number(a.start_timestamp),o=Number(a.stop_timestamp==null?a.end_timestamp:a.stop_timestamp);e&&o&&(o<=e&&(o+=86400),i.push({id:Ms(n,e*1e3),providerId:t,key:n,start:e*1e3,stop:o*1e3,title:bl(a.title),desc:bl(a.description)||null,category:null,stamp:r}))}return i.sort((e,t)=>e.start-t.start)}var Sl=432e5;async function Cl(e){let t=await K.epgLinks.get(e);return t?t.key:null}async function wl(e,t,n){let r=await Cl(e);return r?(await K.programs.where(`[key+start]`).between([r,t-Sl],[r,n],!0,!1).toArray()).filter(e=>e.stop>t):[]}async function Tl(e,t,n){let r=await wl(e.id,t,n);return!r.some(e=>e.stop>Date.now())&&await Al(e)&&(r=await wl(e.id,t,n)),r}var El=(e,t)=>{let n=null;for(let r of e)r.start<=t&&r.stop>t&&(n=r);let r=n?n.stop:t;return{now:n,next:e.find(e=>e.start>=r)||null}};async function Dl(e,t=Date.now()){let n=await Tl(e,t-1,t+432e5);return n.length?El(n,t):El(await Ml(e),t)}var Ol=e=>{let t=(Yc.value||[]).find(t=>t.id===e.providerId);return t&&t.type===`xtream`?t:null},kl=new Map;async function Al(e){let t=Ol(e),n=kl.get(e.id)||0;if(!t||Date.now()-n<18e5)return!1;kl.set(e.id,Date.now());try{let n=await K.epgLinks.get(e.id);if(n&&n.manual)return!1;let r=await Dc(Sc(t,`get_simple_data_table`,{stream_id:e.remoteId})),i=`${t.id}|xt:${e.remoteId}`,a=xl(r.epg_listings||[],t.id,i,Date.now());return a.some(e=>e.stop>Date.now())?(await K.programs.bulkPut(a),await K.epgLinks.put({id:e.id,providerId:t.id,key:i,manual:!1}),!0):!1}catch(e){return console.warn(`get_simple_data_table`,e),!1}}var jl=new Map;async function Ml(e){let t=Ol(e);if(!t)return[];let n=jl.get(e.id);if(n&&Date.now()-n.at<6e5)return n.list;let r=[];try{r=xl((await Dc(Sc(t,`get_short_epg`,{stream_id:e.remoteId,limit:`4`}))).epg_listings||[],t.id,`${t.id}|xs:${e.remoteId}`,Date.now())}catch(e){}return jl.delete(e.id),jl.set(e.id,{at:Date.now(),list:r}),jl.size>200&&jl.delete(jl.keys().next().value),r}var Nl=(e,t=Date.now())=>Math.max(0,Math.min(1,(t-e.start)/(e.stop-e.start))),Pl=e=>e<10?`0${e}`:`${e}`,Fl=e=>{let t=new Date(e);return`${Pl(t.getHours())}:${Pl(t.getMinutes())}`},Il=e=>`${Fl(e.start)} – ${Fl(e.stop)}`,Ll=I(Date.now());setInterval(()=>Ll.value=Date.now(),3e5);var Rl=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];function zl(e){let t=new TextEncoder().encode(e),n=t.length,r=n+9+63>>6<<6,i=new Uint8Array(r);i.set(t),i[n]=128,new DataView(i.buffer).setUint32(r-4,n*8);let a=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],o=Array(64),s=new DataView(i.buffer),c=(e,t)=>e>>>t|e<<32-t;for(let e=0;e<r;e+=64){for(let t=0;t<16;t++)o[t]=s.getUint32(e+t*4);for(let e=16;e<64;e++){let t=c(o[e-15],7)^c(o[e-15],18)^o[e-15]>>>3,n=c(o[e-2],17)^c(o[e-2],19)^o[e-2]>>>10;o[e]=o[e-16]+t+o[e-7]+n|0}let[t,n,r,i,l,u,d,f]=a;for(let e=0;e<64;e++){let a=f+(c(l,6)^c(l,11)^c(l,25))+(l&u^~l&d)+Rl[e]+o[e]|0,s=(c(t,2)^c(t,13)^c(t,22))+(t&n^t&r^n&r)|0;f=d,d=u,u=l,l=i+a|0,i=r,r=n,n=t,t=a+s|0}a[0]=a[0]+t|0,a[1]=a[1]+n|0,a[2]=a[2]+r|0,a[3]=a[3]+i|0,a[4]=a[4]+l|0,a[5]=a[5]+u|0,a[6]=a[6]+d|0,a[7]=a[7]+f|0}return a.map(e=>(`0000000`+(e>>>0).toString(16)).slice(-8)).join(``)}var Bl=new Set,Vl=I(0),Hl=I(new Map),Ul=I(new Map);async function Wl(e){let[t,n]=await Promise.all([K.catState.where(`providerId`).equals(e).toArray(),K.chanState.where(`providerId`).equals(e).toArray()]);Hl.value=new Map(t.map(e=>[e.id,e])),Ul.value=new Map(n.map(e=>[e.id,e])),Vl.value++}function Gl(e){let t=Hl.value.get(e.id);return t&&t.locked!==void 0?t.locked:e.adult&&q.value.adultAutoLock}function Kl(e,t){return!q.value.pinHash||t!==void 0&&Bl.has(t)||e&&Bl.has(e.id)?!1:t!==void 0&&!!(Ul.value.get(t)||{}).locked||!!e&&Gl(e)}function ql(e,t){e!==null&&Bl.add(e),t!==void 0&&Bl.add(t)}function Jl(e){let t=Hl.value.get(e.id);return!(t&&t.hidden||q.value.hideLocked&&q.value.pinHash&&Gl(e)&&!Bl.has(e.id))}var Yl=e=>!!(Ul.value.get(e)||{}).hidden;async function Xl(e,t,n,r){let i=K[e],a=await i.get(t)||{id:t,providerId:n};await i.put(V(V({},a),r)),await Wl(n)}var Zl=(e,t,n)=>Xl(`catState`,e,t,n),Ql=(e,t,n)=>Xl(`chanState`,e,t,n),$l=e=>zl(`utopya:${e}`),eu=()=>!!q.peek().pinHash,tu=e=>!q.peek().pinHash||$l(e)===q.peek().pinHash;function nu(e){Bl.clear(),Wc({pinHash:e?$l(e):null}),Vl.value++}var ru=e=>e.type===`cat`?`cat:${e.id}`:e.type===`ugroup`?`ug:${e.id}`:e.type===`group`?e.key:e.type,iu=50;async function au(e,t){let n=await ou(e,t),r=(await K.categories.where(`[providerId+kind]`).equals([e,`live`]).toArray()).filter(e=>!Jl(e)),i=new Set;if(t.type!==`cat`)for(let e of r)for(let t of await K.channels.where(`[categoryId+number]`).between([e.id,Cs.minKey],[e.id,Cs.maxKey]).primaryKeys())i.add(t);return n.filter(e=>!i.has(e)&&!Yl(e))}async function ou(e,t){if(t.type===`all`)return K.channels.where(`[providerId+number]`).between([e,Cs.minKey],[e,Cs.maxKey]).primaryKeys();if(t.type===`cat`)return K.channels.where(`[categoryId+number]`).between([t.id,Cs.minKey],[t.id,Cs.maxKey]).primaryKeys();if(t.type===`group`){let e=[];for(let n of t.ids)await K.channels.where(`[categoryId+number]`).between([n,Cs.minKey],[n,Cs.maxKey]).eachKey((t,n)=>{e.push([t[1],n.primaryKey])});return e.map((e,t)=>[e[0],t,e[1]]).sort((e,t)=>e[0]-t[0]||e[1]-t[1]).map(e=>e[2])}return t.type===`ugroup`?(await K.groupItems.where(`groupId`).equals(t.id).toArray()).sort((e,t)=>e.order-t.order).map(e=>e.channelId):t.type===`fav`?(await K.favorites.where(`[providerId+kind]`).equals([e,`live`]).toArray()).sort((e,t)=>e.order-t.order).map(e=>e.id):(await K.recents.where(`[providerId+kind]`).equals([e,`live`]).toArray()).sort((e,t)=>t.at-e.at).slice(0,iu).map(e=>e.id)}var su=class e{constructor(e){br(this,`ids`,void 0),br(this,`pages`,new Map),this.ids=e}page(t){let n=this.pages.get(t);return n||(n=K.channels.bulkGet(this.ids.slice(t*e.PAGE,(t+1)*e.PAGE)),this.pages.set(t,n),this.pages.size>8&&this.pages.delete(this.pages.keys().next().value)),n}async range(t,n){let r=e.PAGE,i=[];for(let e=Math.floor(t/r);e<=Math.floor((n-1)/r);e++)(await this.page(e)).forEach((a,o)=>{let s=e*r+o;s>=t&&s<n&&i.push(a)});return i}};br(su,`PAGE`,40);async function cu(e,t,n){return await K.favorites.get(n)?(await K.favorites.delete(n),!1):(await K.favorites.put({id:n,providerId:e,kind:t,order:Date.now()}),!0)}async function lu(e,t,n){await K.recents.put({id:n,providerId:e,kind:t,at:Date.now()})}var uu=e=>K.groups.where(`providerId`).equals(e).sortBy(`order`);async function du(e,t){return K.groups.add({providerId:e,name:t,order:Date.now()})}var fu=(e,t)=>K.groupItems.put({groupId:e,channelId:t,order:Date.now()}),pu=(e,t)=>K.groupItems.delete([e,t]);async function mu(e){await K.groupItems.where(`groupId`).equals(e).delete(),await K.groups.delete(e)}async function hu(e,t,n,r){if(r<0||r>=t.length)return;let[i,a]=await Promise.all([K.groupItems.get([e,t[n]]),K.groupItems.get([e,t[r]])]);i&&a&&await K.groupItems.bulkPut([V(V({},i),{},{order:a.order}),V(V({},a),{},{order:i.order})])}var J=(e,t)=>{let n=e?e[t]:null;return n==null||n===``||typeof n==`object`?null:String(n)},gu=(e,t)=>{let n=parseFloat(J(e,t)||``);return isNaN(n)?null:n},_u=(e,t)=>{let n=e?e[t]:null;return Array.isArray(n)?typeof n[0]==`string`&&n[0]?n[0]:null:J(e,t)};function vu(e){if(!e)return null;let t=/^(\d+):(\d{2})(?::(\d{2}))?$/.exec(e.trim());if(t)return t[1]*3600+t[2]*60+(t[3]?+t[3]:0);let n=/(\d+)\s*min/i.exec(e);return n?n[1]*60:null}var yu=e=>(Yc.value||[]).find(t=>t.id===e);async function bu(e){let t=yu(e.providerId);if(e.detailLoaded||!t||t.type!==`xtream`)return e;try{let n=await Dc(Sc(t,`get_vod_info`,{vod_id:e.remoteId})),r=n.info,i=n.movie_data,a=J(i,`container_extension`),o=gu(r,`rating`),s={poster:e.poster||J(r,`movie_image`)||J(r,`cover_big`),backdrop:_u(r,`backdrop_path`)||e.backdrop||null,plot:J(r,`plot`)||J(r,`description`)||e.plot,cast:J(r,`cast`)||J(r,`actors`),director:J(r,`director`),genre:J(r,`genre`)||e.genre,year:(J(r,`releasedate`)||J(r,`release_date`)||``).slice(0,4)||e.year,rating:o&&o>0?o:e.rating,durationSec:gu(r,`duration_secs`)||vu(J(r,`duration`)),tmdbId:J(r,`tmdb_id`)||J(r,`tmdb`),url:a?Cc(t,e.remoteId,a):e.url,detailLoaded:!0};return await K.movies.update(e.id,s),V(V({},e),s)}catch(t){return console.warn(`get_vod_info`,t),e}}async function xu(e){let t=yu(e.providerId),n=()=>K.episodes.where(`seriesId`).equals(e.id).toArray();if(e.detailLoaded||!t||t.type!==`xtream`)return{series:e,episodes:Su(await n())};try{let n=await Dc(Sc(t,`get_series_info`,{series_id:e.remoteId})),r=n.info,i=gu(r,`rating`),a={poster:e.poster||J(r,`cover`),backdrop:_u(r,`backdrop_path`)||e.backdrop,plot:J(r,`plot`)||e.plot,cast:J(r,`cast`)||e.cast,genre:J(r,`genre`)||e.genre,rating:i&&i>0?i:e.rating,tmdbId:J(r,`tmdb_id`)||J(r,`tmdb`),detailLoaded:!0},o=n.episodes,s=Array.isArray(o)?o.filter(Array.isArray).map(e=>[null,e]):o&&typeof o==`object`?Object.keys(o).map(e=>[e,o[e]]).filter(e=>Array.isArray(e[1])):[],c=Date.now(),l=[];for(let[n,r]of s)r.forEach((r,i)=>{let a=J(r,`id`);if(!a)return;let o=r.info,s=gu(r,`season`)||(n?parseInt(n,10):0)||1;l.push({id:Ms(e.providerId,`episode`,a),providerId:e.providerId,stamp:c,seriesId:e.id,remoteId:a,season:s,episode:gu(r,`episode_num`)||i+1,title:J(r,`title`)||`S${s}E${i+1}`,url:wc(t,a,J(r,`container_extension`)||`mp4`),poster:J(o,`movie_image`)||null,plot:J(o,`plot`),durationSec:gu(o,`duration_secs`)||vu(J(o,`duration`))})});return await K.transaction(`rw`,K.series,K.episodes,async()=>{await K.series.update(e.id,a),await K.episodes.where(`seriesId`).equals(e.id).delete(),await K.episodes.bulkPut(l)}),{series:V(V({},e),a),episodes:Su(l)}}catch(t){return console.warn(`get_series_info`,t),{series:e,episodes:Su(await n())}}}var Su=e=>e.sort((e,t)=>e.season-t.season||e.episode-t.episode),Cu=.95;async function wu(e,t,n,r,i,a){if(!a||i<5e3)return;let o=i/a>=Cu;await K.progress.put({id:t,providerId:n,kind:e,seriesId:r,position:o?0:i,duration:a,watched:o,updated:Date.now()})}async function Tu(e,t,n,r,i){if(!i)return K.progress.delete(t);await K.progress.put({id:t,providerId:n,kind:e,seriesId:r,position:0,duration:0,watched:!0,updated:Date.now()})}var Eu=e=>K.progress.get(e);async function Du(e){let t=await K.progress.bulkGet(e),n=new Map;return t.forEach(e=>e&&n.set(e.id,e)),n}async function Ou(e){let t=e.filter(e=>!e.episode&&e.item&&!e.item.backdrop&&!e.item.detailLoaded).slice(0,20);if(!t.length)return e;let n=await Promise.all(t.map(e=>Promise.race([bu(e.item),new Promise(e=>setTimeout(()=>e(null),3e3))]))),r=new Map;return n.forEach(e=>{e&&r.set(e.id,e)}),e.map(e=>e.item&&r.has(e.item.id)?V(V({},e),{},{item:r.get(e.item.id)}):e)}var ku=e=>e===`movie`?K.movies:K.series,Au=e=>({key:`i${e.id}`,id:e.id,title:e.name,poster:e.poster,rating:e.rating,item:e});async function ju(e,t){return K.categories.where(`[providerId+kind]`).equals([e,t]).sortBy(`order`)}async function Mu(e,t,n=30){return ku(t).where(`[providerId+added]`).between([e,Cs.minKey],[e,Cs.maxKey]).reverse().limit(n).toArray()}async function Nu(e,t){let n=n=>n.where(`[categoryId+added]`).between([e,Cs.minKey],[e,Cs.maxKey]).reverse().limit(t).toArray(),r=await n(ku(`movie`));return r.length?r:n(ku(`series`))}async function Pu(e,t){let n=(await K.favorites.where(`[providerId+kind]`).equals([e,t]).toArray()).sort((e,t)=>t.order-e.order);return(await ku(t).bulkGet(n.map(e=>e.id))).filter(e=>!!e)}async function Fu(e,t){let n=(await K.progress.where(`providerId`).equals(e).toArray()).filter(e=>!e.watched&&e.position>0&&(t===`movie`?e.kind===`movie`:e.kind===`episode`)).sort((e,t)=>t.updated-e.updated),r=[],i=new Set;for(let e of n){if(r.length>=30)break;let n=e.duration?e.position/e.duration:0;if(t===`movie`){let t=await K.movies.get(e.id);t&&r.push({key:`c${t.id}`,id:t.id,title:t.name,poster:t.poster,rating:null,progress:n,item:t,updated:e.updated})}else if(e.seriesId!==null&&!i.has(e.seriesId)){i.add(e.seriesId);let[t,a]=await Promise.all([K.series.get(e.seriesId),K.episodes.get(e.id)]);if(t&&a){let i=`S${Iu(a.season)}E${Iu(a.episode)}`;r.push({key:`c${a.id}`,id:t.id,title:`${t.name} · ${i}`,poster:t.poster||a.poster,rating:null,progress:n,episode:a,item:t,updated:e.updated})}}}return r}var Iu=e=>e<10?`0${e}`:`${e}`,Lu=new Map;async function Ru(e,t,n){let r=`${e}|${t}|${n}`,i=Lu.get(r);if(i)return i;try{let e=JSON.parse(localStorage.getItem(`genres|${r}`)||`null`);if(e)return Lu.set(r,e),e}catch(e){}let a=new Map;await ku(t).where(`providerId`).equals(e).each(e=>{if(e.genre)for(let t of e.genre.split(/[,/|&]/)){let e=t.trim();if(e.length<2||e.length>30)continue;let n=e.toLowerCase(),r=a.get(n);r?r.n++:a.set(n,{name:e,n:1})}});let o=[...a.values()].sort((e,t)=>t.n-e.n).slice(0,30).map(e=>e.name);Lu.set(r,o);try{for(let n of Object.keys(localStorage))n.indexOf(`genres|${e}|${t}|`)===0&&localStorage.removeItem(n);localStorage.setItem(`genres|${r}`,JSON.stringify(o))}catch(e){}return o}async function zu(e){let t=new Map;for(let n of e){if(n.adult)continue;let e=fc(n.name);if(!e)continue;let r=t.get(e.key);r?r.push(n.id):t.set(e.key,[n.id])}let n=[];for(let e of lc){let r=t.get(e.key);if(!r)continue;let i=[];for(let e of r)i.push(...await Nu(e,3));let a=i.sort((e,t)=>t.added-e.added).map(e=>e.poster).filter(e=>!!e).slice(0,3);n.push({platform:e,posters:a,categoryIds:r})}return n}async function Bu(e,t,n,r){let i;if(n.favorites)i=await Pu(e,t);else if(n.categoryIds){i=[];for(let e of n.categoryIds)i.push(...await Nu(e,1e5))}else i=await ku(t).where(`providerId`).equals(e).toArray();if(n.genre){let e=n.genre.toLowerCase();i=i.filter(t=>!!t.genre&&t.genre.toLowerCase().indexOf(e)>=0)}let a=new Intl.Collator(void 0,{sensitivity:`base`}),o=(e,t)=>a.compare(e.name,t.name),s={added:(e,t)=>t.added-e.added||o(e,t),name:o,rating:(e,t)=>(t.rating||0)-(e.rating||0)||o(e,t),year:(e,t)=>(parseInt(t.year||`0`)||0)-(parseInt(e.year||`0`)||0)||o(e,t)};return i.sort(s[r])}async function Vu(e,t){return ku(t).where(`[providerId+vkey]`).equals([e.providerId,e.vkey]).toArray()}var Hu=()=>Math.floor((Date.now()-new Date(new Date().getFullYear(),0,0).getTime())/864e5);function Uu(e){let t=e.filter(e=>e.backdrop),n=(t.length?t:e).slice(0,10);return n.length?n[Hu()%n.length]:null}async function Wu(e,t,n=20){let r=ku(t).where(`[providerId+rating]`),i=await r.between([e,0],[e,Cs.maxKey],!1,!0).reverse().limit(n).toArray();return(i.length<n?i:await r.between([e,i[i.length-1].rating],[e,Cs.maxKey],!0,!0).toArray()).sort((e,t)=>t.rating-e.rating||t.added-e.added).slice(0,n)}async function Gu(e,t){let n=(await au(e,{type:t})).slice(0,t===`recent`?20:void 0),r=(await K.channels.bulkGet(n)).filter(e=>!!e);return Promise.all(r.map(async e=>({channel:e,now:(await Dl(e)).now})))}async function Ku(e){let t=Date.now(),n=new Date;n.getHours()>=2&&n.setDate(n.getDate()+1),n.setHours(2,0,0,0);let r=t-72e5,i=(await ju(e,`live`)).filter(e=>!e.adult&&mc(e.name)===`SPORTS`),a=[];for(let e of i)if(a.push(...await K.channels.where(`[categoryId+number]`).between([e.id,Cs.minKey],[e.id,Cs.maxKey]).limit(300).toArray()),a.length>=300)break;let o=[],s=new Set,c=0;for(let e of a){let i=!!await K.epgLinks.get(e.id);if(!(!i&&c>=12)){i||c++;for(let i of await Tl(e,r,n.getTime())){if(i.stop<=t||!oc(i.title))continue;let n=`${Ks(i.title)}|${Math.floor(i.start/6e4)}`;s.has(n)||(s.add(n),o.push({key:n,start:i.start,title:i.title,channel:e,channelName:e.name,live:i.start<=t}))}}}return o.sort((e,t)=>e.start-t.start).slice(0,20)}async function qu(){let e=await K.reminders.where(`start`).above(Date.now()).limit(20).toArray(),t=await K.channels.bulkGet(e.map(e=>e.channelId));return e.map((e,n)=>({key:`r${e.id}`,start:e.start,title:e.title,channel:t[n]||null,channelName:e.channelName,live:!1}))}async function Ju(e){let[t,n]=await Promise.all([ju(e,`movie`).then(e=>zu(e)),ju(e,`series`).then(e=>zu(e))]),r=t.map(e=>V(V({},e),{},{kind:`movie`}));for(let e of n)r.some(t=>t.platform.key===e.platform.key)||r.push(V(V({},e),{},{kind:`series`}));let i=e=>lc.findIndex(t=>t.key===e);return r.sort((e,t)=>i(e.platform.key)-i(t.platform.key))}var Yu=`utopya.seriesSeen`,Xu=()=>{try{return JSON.parse(localStorage.getItem(Yu)||`{}`)}catch(e){return{}}};function Zu(e){let t=Xu();t[e]=Date.now();try{localStorage.setItem(Yu,JSON.stringify(t))}catch(e){}}var Qu=Date.UTC(2001,0,1);async function $u(e){let t=await K.favorites.where(`[providerId+kind]`).equals([e,`series`]).toArray(),n=await K.series.bulkGet(t.map(e=>e.id)),r=Xu(),i=[];for(let e=0;e<t.length;e++){let a=n[e];if(!a||a.added<Qu)continue;let o=Math.max(t[e].order,r[a.id]||0);await K.progress.where(`seriesId`).equals(a.id).each(e=>{e.updated>o&&(o=e.updated)}),a.added>o&&i.push(a)}return i.sort((e,t)=>t.added-e.added).slice(0,20)}async function ed(e){let t=Date.now(),n=t+18e5,r=(await au(e,{type:`fav`})).slice(0,30),i=(await K.channels.bulkGet(r)).filter(e=>!!e),a=[];for(let e of i)for(let r of await Tl(e,t,n))r.start>t&&r.start<=n&&a.push({key:`s${r.id}`,start:r.start,title:r.title,channel:e,channelName:e.name,live:!1,program:r});return a.sort((e,t)=>e.start-t.start).slice(0,20)}var td=I(null),nd=I(new Set),rd=6e4;async function id(){nd.value=new Set(await K.reminders.toCollection().primaryKeys())}async function ad(e,t,n=0){let r=!await K.reminders.get(e.id)||n!==0;return r?await K.reminders.put({id:e.id,providerId:t.providerId,channelId:t.id,channelName:t.name,title:e.title,start:e.start,stop:e.stop,repeat:n}):await K.reminders.delete(e.id),await id(),r}var od=async e=>{await K.reminders.delete(e),await id()},sd={1:864e5,2:6048e5};function cd(){id();let e=async()=>{if(td.peek())return;let e=await K.reminders.where(`start`).belowOrEqual(Date.now()+rd).first();if(e){if(await K.reminders.delete(e.id),e.repeat){let t=sd[e.repeat],n=e.start+t;for(;n<Date.now();)n+=t;await K.reminders.put(V(V({},e),{},{id:-n,start:n,stop:e.stop===void 0?void 0:e.stop+(n-e.start)}))}await id(),e.start>Date.now()-6e5&&(td.value=e)}};e(),setInterval(e,15e3)}function ld({src:e,size:t,fallback:n=``}){let[r,i]=N(null);return j(`span`,{class:`channel-logo`,style:{width:`${t*1.4/10}rem`,height:`${t/10}rem`},children:[(!e||r===e)&&j(`span`,{class:`logo-fallback`,children:n.replace(/^(TR|UK|DE)\s*[|:]\s*/i,``).slice(0,4)}),e&&r!==e&&j(`img`,{src:e,alt:``,onError:()=>i(e)})]})}function ud({value:e,class:t}){return j(`span`,{class:`progress-line ${t||``}`,children:j(`span`,{style:{width:`${Math.round(e*100)}%`}})})}function dd({text:e,active:t}){let n=F(null),r=F(null);return P(()=>{let e=n.current,i=r.current,a=i.scrollWidth-e.clientWidth;t&&a>0?(i.style.setProperty(`--marquee`,`${-a}px`),i.style.animationDuration=`${Math.max(3,a/40)}s`,i.classList.add(`run`)):i.classList.remove(`run`)},[t,e]),j(`span`,{class:`marquee`,ref:n,children:j(`span`,{ref:r,children:e})})}function fd(e){let t=e.channel;return j(`button`,{onlongpress:e.onLongPress,class:`channel-row focus-row ${e.current?`selected`:`idle`}${e.compact?` compact`:``}`,"data-focus":!0,"data-idx":e.index,"data-focus-default":e.focused||void 0,style:{top:`${e.index*e.pitch}rem`},onClick:e.onClick,children:[e.number!==null&&j(`span`,{class:`ch-number`,children:e.number}),e.compact?j(ld,{src:t?t.logo:null,size:30,fallback:t?t.name:``}):j(`span`,{class:`ch-logo-box`,children:j(ld,{src:t?t.logo:null,size:32,fallback:t?t.name:``})}),j(`span`,{class:`ch-text`,children:[j(`span`,{class:`ch-name`,children:[j(dd,{text:t?t.name:``,active:e.marquee}),e.favorite&&j(z,{name:`star`,class:`fav-star`})]}),e.program&&j(`span`,{class:`ch-program`,children:e.program.title}),e.program&&!e.compact&&j(ud,{value:Nl(e.program),class:`ch-progress`})]})]})}var pd=I({type:`all`}),md=I(``),hd=I(null),gd=I(null),_d=I(new Set);async function vd(e){let t=await K.favorites.where(`[providerId+kind]`).equals([e,`live`]).primaryKeys();_d.value=new Set(t)}var yd=I([]);function bd(e){let t=document.activeElement;yd.value=[...yd.value,{page:e,restore:t}],t&&t!==document.body&&t.blur()}function xd(){let e=yd.value;if(!e.length)return;let t=e[e.length-1];yd.value=e.slice(0,-1),setTimeout(()=>t.restore&&t.restore.isConnected?qt(t.restore):Xt(),0)}var Sd=e=>{let t=yd.value;yd.value=[...t.slice(0,-1),{page:e,restore:t.length?t[t.length-1].restore:null}]},Y=I(`home`),Cd=I(`live`),wd=0;function Td(e,t,n){gd.value={ids:e,index:t,archive:n,seq:++wd},Y.value!==`player`&&(Cd.value=Y.value),Y.value=`player`}var Ed=()=>{Y.value=Cd.value};function Dd(e){let{pager:t,count:n,index:r}=e,[i,a]=N(new Map),[o,s]=N(0),c=e.listRef,l=c.current?Math.ceil(c.current.clientHeight/kd()/6):10;P(()=>{let e=o;r<o+2?e=Math.max(0,r-2):r>o+l-1-2&&(e=Math.max(0,Math.min(n-l,r-l+1+2))),e!==o&&s(e)},[r,n,l]);let u=Math.max(0,o-3),d=Math.min(n,o+l+3);P(()=>{if(!t)return;let e=!0;return t.range(u,d).then(t=>{if(!e)return;let n=new Map;t.forEach((e,t)=>n.set(u+t,e)),a(n)}),()=>{e=!1}},[t,u,d]),P(()=>{c.current&&(c.current.scrollTop=o*6*kd())},[o]);let[f,p]=N(new Map),m=Ll.value;P(()=>{let e=!0,t=[...i.values()].filter(e=>!!e),n=()=>{let e=new Map;for(let n of t){let t=Od.get(n.id);t&&t.tick===m&&e.set(n.id,t.now)}return e};p(n());let r=t.filter(e=>{let t=Od.get(e.id);return!t||t.tick!==m});if(!r.length)return;let a=setTimeout(()=>{Promise.all(r.map(e=>Dl(e).then(t=>{Od.set(e.id,{tick:m,now:t.now})}))).then(()=>{e&&p(n())})},300);return()=>{e=!1,clearTimeout(a)}},[i,m]),P(()=>{if(!e.focused||!c.current)return;let t=c.current.querySelector(`[data-idx="${r}"]`);t&&document.activeElement!==t&&t.focus()},[r,u]),tn(t=>{if(!c.current||!c.current.contains(document.activeElement))return;let i=t===`up`?-1:t===`down`?1:t===`chUp`?-l:t===`chDown`?l:0;if(!i)return;let a=Math.max(0,Math.min(n-1,r+i));return a===r?t!==`up`||!!e.compact:(e.setIndex(a),!0)});let h=_d.value,g=[];for(let t=u;t<d;t++){let n=i.get(t);g.push(j(fd,{compact:e.compact,current:t===e.current,pitch:6,channel:n,index:t,number:e.numberOf(n,t),favorite:!!n&&h.has(n.id),program:n&&f.get(n.id)||null,focused:t===r,marquee:e.focused&&t===r,onClick:()=>e.onOpen(t),onLongPress:()=>e.onMenu(t)},t))}return j(`div`,{class:`channel-list${e.compact?` compact`:``}`,ref:c,"data-focus-group":e.group,"data-focus-noscroll":!0,children:j(`div`,{class:`channel-list-inner`,style:{height:`${n*6}rem`},children:g})})}var Od=new Map,kd=()=>parseFloat(getComputedStyle(document.documentElement).fontSize),Ad=e=>e&&e>0?`★ ${Math.round(e*10)/10}`:null,jd=e=>e.item?{"data-hero-kind":`url`in e.item?`movie`:`series`,"data-hero-id":String(e.item.id),"data-hero-ep":e.episode?String(e.episode.id):void 0}:{},Md=e=>{let t=e.item,n=t?t.name:e.title;return[e.rating&&e.rating>0?`★ ${e.rating.toFixed(1)}`:null,t&&t.year&&n.indexOf(`(${t.year})`)<0?t.year:null].filter(Boolean).join(` · `)},Nd=e=>{if(e.episode)return`S${Iu(e.episode.season)}E${Iu(e.episode.episode)}`;let t=e.item;if(!t)return``;let n=t.genre?t.genre.split(/[,/|&]/)[0].trim():``;return[t.year,n].filter(Boolean).join(` · `)};function Pd(e){let t=e.card;return j(`button`,V(V({onlongpress:e.onLongPress,class:`poster-card plain`,"aria-label":t.title,"data-focus":!0,"data-focus-initial":e.initial||void 0,"data-info-title":t.item?t.item.name:t.title,"data-info-meta":Md(t)},jd(t)),{},{onClick:e.onClick,children:[j(`span`,{class:`poster-fallback`,children:t.title}),t.poster&&j(Sn,{src:vn(t.poster,342),onError:e=>e.currentTarget.style.display=`none`})]}))}function Fd(e){let t=e.card,n=t.item,r=n&&`backdrop`in n?n.backdrop:null,i=t.episode&&t.episode.poster||r||t.poster,a=Nd(t);return j(`button`,V(V({onlongpress:e.onLongPress,class:`wide-card`,"data-focus":!0,"data-focus-initial":e.initial||void 0},jd(t)),{},{onClick:e.onClick,children:[i&&j(Sn,{src:vn(i,780),onError:e=>e.currentTarget.style.display=`none`}),j(`span`,{class:`wc-shade`}),j(`span`,{class:`wc-text`,children:[j(`span`,{class:`wc-title`,children:n?n.name:t.title}),a&&j(`span`,{class:`wc-sub`,children:a})]}),t.badge&&j(`span`,{class:`wc-badge`,children:t.badge}),!!t.progress&&j(`span`,{class:`poster-progress wc-progress`,children:j(`span`,{style:{width:`${Math.round(t.progress*100)}%`}})})]}))}function Id({p:e,class:t}){let n=pc(e);return n?j(`img`,{class:`${t||``}${e.tintWhite===!1?` own-color`:` tint-white`}`,src:n,alt:e.name}):j(`b`,{class:t,children:e.name})}function Ld({tile:e,onClick:t,initial:n}){let r=e.platform;return j(`button`,{class:`platform-tile`,"data-focus":!0,"data-focus-initial":n||void 0,onClick:t,style:{background:`linear-gradient(135deg, rgba(0,0,0,0), rgba(0,0,0,.6)), ${r.color}`},children:j(`span`,{class:`pt-logo`,children:j(Id,{p:r})})})}var Rd=e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`);function zd(e,t){let n=new RegExp(Rd(t.name),`i`),r=n.test(e)?n:new RegExp(t.keywords.map(e=>Rd(e.trim())).filter(Boolean).join(`|`),`i`);return e.replace(r,``).replace(/^[\s·|\-:/+]+|[\s·|\-:/]+$/g,``)||e}function Bd({title:e,children:t,info:n,cls:r,seeAll:i}){let a=F(null),[o,s]=N(null);P(()=>{let e=a.current,t=t=>{let n=t.target,r=n;for(;r.parentElement&&r.parentElement!==e;)r=r.parentElement;e.scrollLeft=Math.max(0,r.offsetLeft-1.6*kd());let i=n.getAttribute(`data-info-title`);s(i?{title:i,meta:n.getAttribute(`data-info-meta`)||``}:null)},n=()=>setTimeout(()=>{e.contains(document.activeElement)||s(null)},0);return e.addEventListener(`focusin`,t),e.addEventListener(`focusout`,n),()=>{e.removeEventListener(`focusin`,t),e.removeEventListener(`focusout`,n)}},[]);let[c,l]=ke(()=>{let t=fc(e);return[t,t?zd(e,t):e]},[e]);return j(`section`,{class:r?`shelf ${r}`:`shelf`,children:[j(`h2`,{class:`shelf-title`,children:[c&&j(`span`,{class:`shelf-logo`,children:j(Id,{p:c})}),l,i&&j(`button`,{class:`shelf-all`,"data-focus":!0,onClick:i,children:`${R(`shelf_see_all`)} ›`})]}),j(`div`,{class:`shelf-row`,ref:a,"data-focus-group":`shelf-${e}`,children:t}),n&&j(`p`,{class:`shelf-info`,children:[o&&j(`b`,{children:o.title}),o&&o.meta&&j(`span`,{children:` ${o.meta}`})]})]})}function Vd(e,t){t.episode?bd({name:`vod`,kind:`episode`,id:t.episode.id,seriesId:t.id}):t.progress!==void 0&&e===`movie`?bd({name:`vod`,kind:`movie`,id:t.id}):bd(e===`movie`?{name:`movie`,id:t.id}:{name:`series`,id:t.id})}var Hd=350,Ud=e=>{let t=new Set;return e.filter(e=>{let n=Qs(e.name,e.year);return!t.has(n)&&!!t.add(n)}).slice(0,20)},Wd=()=>{let e=new Date().getHours();return R(e>=5&&e<=11?`home_greeting_morning`:e>=12&&e<=17?`home_greeting_day`:`home_greeting_evening`)};function Gd({providerId:e}){let n=Yc.value||[],r=n.find(t=>t.id===e),[i,a]=N(null),[o,s]=N(null),[c,l]=N(0),u=F(null),d=F(null),f=F(null),p=ke(()=>I(null),[]),m=F(void 0),h=F(!1),g=()=>l(e=>e+1),_=yd.value.length,v=F(!1);P(()=>{_===0&&v.current&&g(),v.current=_>0},[_]),P(()=>{if(_>0)return;let n=!0;(async()=>{let i=performance.now(),o=t(`türler`,Ru(e,`movie`,r&&r.lastSync||0)),[s,c,l,u,d,f,p,m,h,g,_]=await Promise.all([t(`devam film`,Fu(e,`movie`)),t(`devam dizi`,Fu(e,`series`)),t(`en iyi film`,Wu(e,`movie`,40).then(Ud)),t(`platformlar`,Ju(e)),t(`yeni bölüm`,$u(e)),t(`favori kanal`,Gu(e,`fav`)),t(`son kanal`,Gu(e,`recent`)),t(`yayın akışı`,qu()),t(`yeni film`,Mu(e,`movie`,40).then(Ud)),t(`yeni dizi`,Mu(e,`series`,40).then(Ud)),t(`en iyi dizi`,Wu(e,`series`,40).then(Ud))]);`${Math.round(performance.now()-i)}`;let v={hero:Uu(l),cont:[...s,...c].sort((e,t)=>(t.updated||0)-(e.updated||0)).slice(0,20),up:[],newEps:d.map(e=>V(V({},Au(e)),{},{key:`n${e.id}`,badge:R(`home_new_episode_badge`)})),forYou:null,soon:[],genres:[],favs:f,recents:p,tonight:[],schedule:m,tiles:u,newMovies:h,newSeries:g,topMovies:l,topSeries:_};if(!n)return;a(v);let y=()=>{n&&a(V({},v))};o.then(e=>{v.genres=e,e.length&&y()});let b=await t(`arka planlar`,Ou(v.cont));n&&(b!==v.cont&&(v.cont=b,y()),v.soon=await t(`birazdan`,ed(e)),n&&(y(),v.tonight=await t(`bu akşam`,Ku(e)),y()))})();let i=()=>g();return window.addEventListener(`utopya:progress`,i),()=>{n=!1,window.removeEventListener(`utopya:progress`,i)}},[e,r&&r.lastSync,c,_===0]),P(()=>{let e=()=>{h.current=!0};return document.addEventListener(`keydown`,e,!0),()=>document.removeEventListener(`keydown`,e,!0)},[]);let y=F(Date.now()),b=F(!1),S=F(void 0);P(()=>{i&&!b.current&&(b.current=!0,S.current=window.setTimeout(()=>{if(h.current||yd.peek().length)return;let e=document.activeElement;(!e||e===document.body||e.closest(`.topbar`))&&L(f.current)},Math.max(0,1200-(Date.now()-y.current))))},[i]),P(()=>()=>clearTimeout(S.current),[]);let C=async(t,n)=>{let r=await au(e,{type:t}),i=r.indexOf(n);i>=0&&Td(r,i)},ee={HERO:()=>null,CONTINUE:()=>i.cont.length?j(Bd,{title:R(`shelf_continue`),children:i.cont.map(e=>j(Fd,{card:e,onClick:()=>Vd(e.episode?`series`:`movie`,e),onLongPress:()=>s({title:e.title,items:[{label:R(`menu_open`),onSelect:()=>Vd(e.episode?`series`:`movie`,e)},{label:R(`menu_remove_continue`),onSelect:async()=>{await K.progress.delete(e.episode?e.episode.id:e.id),g()}}]})},e.key))}):null,UP_NEXT:()=>i.up.length?j(Bd,{title:R(`home_up_next`),children:i.up.map(e=>{let t=()=>bd({name:`vod`,kind:`episode`,id:e.episode.id,seriesId:e.id,startMs:0});return j(Fd,{card:e,onClick:t,onLongPress:()=>s({title:e.title,items:[{label:R(`menu_open`),onSelect:t},{label:R(`menu_remove_up_next`),onSelect:async()=>{await K.progress.where(`seriesId`).equals(e.id).delete(),g()}}]})},e.key)})}):null,NEW_EPISODES:()=>i.newEps.length?j(Bd,{title:R(`home_new_episodes`),children:i.newEps.map(e=>j(Fd,{card:e,onClick:()=>bd({name:`series`,id:e.id}),onLongPress:()=>s({title:e.title,items:[{label:R(`home_dismiss_new`),onSelect:()=>{Zu(e.id),g()}}]})},e.key))}):null,FOR_YOU:()=>i.forYou&&i.forYou.items.length?O(R(`home_for_you_genres`,i.forYou.genres.join(`, `)),i.forYou.items,`movie`,`rating`,{genre:i.forYou.genres[0]}):null,STARTING_SOON:()=>i.soon.length?j(Bd,{title:R(`home_starting_soon`),children:i.soon.map(e=>j(Yd,{pc:e,badge:nd.value.has(e.program.id)?R(`home_reminder_badge`):void 0,onClick:async()=>B(R(await ad(e.program,e.channel)?`guide_reminder_set`:`guide_reminder_removed`)),onLongPress:()=>s({title:e.title,items:[{label:R(`home_open_channel`),onSelect:()=>C(`fav`,e.channel.id)}]})},e.key))}):null,GENRES:()=>i.genres.length?j(Bd,{title:R(`home_genres`),children:i.genres.map(e=>j(`button`,{class:`chip genre-chip`,"data-focus":!0,onClick:()=>bd({name:`browse`,kind:`movie`,title:e,filter:{genre:e}}),children:e},e))}):null,FAVORITE_CHANNELS:()=>i.favs.length?j(Bd,{title:R(`home_favorite_channels`),children:i.favs.map(t=>j(Jd,{cc:t,onClick:()=>C(`fav`,t.channel.id),onLongPress:()=>s({title:t.channel.name,items:[{label:R(`menu_remove_favorite`),onSelect:async()=>{await cu(e,`live`,t.channel.id),g()}}]})},t.channel.id))}):null,RECENT_CHANNELS:()=>i.recents.length?j(Bd,{title:R(`home_recent_channels`),children:i.recents.map(e=>j(Jd,{cc:e,onClick:()=>C(`recent`,e.channel.id),onLongPress:()=>s({title:e.channel.name,items:[{label:R(`menu_remove_recent`),onSelect:async()=>{await K.recents.delete(e.channel.id),g()}}]})},e.channel.id))}):null,TONIGHT_SPORTS:()=>i.tonight.length?j(Bd,{title:R(`home_tonight`),children:i.tonight.map(e=>j(Yd,{pc:e,onClick:()=>e.channel&&C(`all`,e.channel.id)},e.key))}):null,SCHEDULE:()=>i.schedule.length?j(Bd,{title:R(`home_schedule`),children:i.schedule.map(e=>j(Yd,{pc:e,onClick:()=>e.channel&&C(`all`,e.channel.id)},e.key))}):null,PLATFORMS:()=>i.tiles.length?j(Bd,{title:R(`shelf_platforms`),children:i.tiles.map(e=>j(Ld,{tile:e,onClick:()=>bd({name:`browse`,kind:e.kind,title:e.platform.name,filter:{categoryIds:e.categoryIds,platformKey:e.platform.key}})},e.platform.key))}):null,NEW_MOVIES:()=>O(R(`home_new_movies`),i.newMovies,`movie`,`added`),NEW_SERIES:()=>O(R(`home_new_series`),i.newSeries,`series`,`added`),TOP_RATED:()=>i.topMovies.length||i.topSeries.length?j(x,{children:[O(R(`home_top_movies`),i.topMovies,`movie`,`rating`,void 0,!0),O(R(`home_top_series`),i.topSeries,`series`,`rating`)]}):null},w=i?q.value.homeShelves.filter(e=>e in ee).map(e=>({k:e,el:ee[e]()})).filter(e=>e.el):[],T=i&&i.hero?{kind:`movie`,item:i.hero}:null,te=!!T&&q.value.homeShelves.indexOf(`HERO`)>=0,E=e=>{let t=e.target.closest(`.shelf`);t&&d.current&&(d.current.scrollTop=t.offsetTop);let n=e.target.closest(`[data-hero-id]`);if(!n)return;clearTimeout(m.current);let r=n.getAttribute(`data-hero-kind`),i=Number(n.getAttribute(`data-hero-id`)),a=Number(n.getAttribute(`data-hero-ep`));m.current=window.setTimeout(async()=>{if(r===`movie`){let e=await K.movies.get(i);e&&(p.value={kind:r,item:await bu(e)})}else{let e=await K.series.get(i);if(e){let t=await xu(e);p.value={kind:r,item:t.series,episode:t.episodes.find(e=>e.id===a)}}}},Hd)};P(()=>()=>clearTimeout(m.current),[]);let D=j(`div`,{class:`home-actions`,children:[j(`button`,{class:`round-btn`,"data-focus":!0,"aria-label":R(`home_edit`),title:R(`home_edit`),onClick:()=>bd({name:`homeEdit`}),children:j(z,{name:`edit`})}),n.length>1&&j(`button`,{class:`btn outline`,"data-focus":!0,onClick:()=>s({title:R(`home_switch_source`),items:n.map(t=>({label:t.name,checked:t.id===e,onSelect:()=>el(t.id)}))}),children:R(`home_switch_source`)})]});return j(`div`,{class:`home ux-home`,ref:u,children:[te?j(qd,{hero:p,fallback:T,actions:D}):j(`div`,{class:`home-head`,children:[j(`div`,{children:[j(`span`,{class:`ux-eyebrow`,children:Wd()}),i&&(i.recents.length>0||i.cont.length>0)&&j(`h1`,{children:R(`ux_welcome`)})]}),j(`span`,{class:`spacer`}),r&&j(`span`,{class:`muted`,children:R(`ux_source`,r.name)}),D]}),j(`div`,{class:`home-shelves`,ref:d,"data-focus-noscroll":!0,onFocusCapture:E,children:j(`div`,{class:`home-list`,ref:f,children:[!i&&j(`p`,{class:`home-empty`,children:R(`ux_loading`)}),i&&!w.length&&j(`p`,{class:`home-empty`,children:R(`home_empty`)}),w.map(e=>j(`div`,{class:`home-block`,children:e.el},e.k))]})}),o&&j(An,{title:o.title,items:o.items,onClose:()=>s(null)})]});function O(e,t,n,r,i={all:!0},a=!1){if(!t.length)return null;let o=()=>bd({name:`browse`,kind:n,title:e,filter:i,sort:r});return n===`series`?j(Bd,{title:e,seeAll:o,children:t.map(e=>{let t=Au(e);return j(Fd,{card:t,onClick:()=>Vd(n,t)},t.key)})}):a?j(Bd,{title:e,seeAll:o,children:t.slice(0,10).map((e,t)=>{let r=Au(e);return j(`span`,{class:`rank-item`,children:[j(`span`,{class:`rank-n`,children:t+1}),j(Pd,{card:r,onClick:()=>Vd(n,r)})]},r.key)})}):j(Bd,{title:e,seeAll:o,children:t.map(e=>{let t=Au(e);return j(Pd,{card:t,onClick:()=>Vd(n,t)},t.key)})})}}var Kd=e=>e.split(` / `)[0].replace(/\s*\(\d{4}\)\s*$/,``);function qd({hero:e,fallback:t,actions:n}){let r=e.value||t;if(!r)return null;let i=r.item,a=i.backdrop||i.poster,o=a&&vn(a,1280);return j(`div`,{class:`hero2`,children:[j(`div`,{class:`hero2-bg`,children:o&&j(`img`,{src:o,alt:``,decoding:`async`},o)}),j(`div`,{class:`hero2-actions`,children:n}),j(`div`,{class:`hero2-info`,children:[j(`h2`,{class:`hero2-title`,children:Kd(i.name)}),j(`p`,{class:`hero2-plot`,children:i.plot||``})]})]})}function Jd({cc:e,onClick:t,onLongPress:n}){let r=e.channel;return j(`div`,{class:`channel-tile`,children:j(`button`,{onlongpress:n,class:`ct-card`,"data-focus":!0,"aria-label":r.name,onClick:t,children:j(`span`,{class:`ct-logo`,children:r.logo?j(ld,{src:r.logo,size:48}):j(`span`,{class:`ct-fallback`,children:r.name})})})})}function Yd({pc:e,onClick:t,onLongPress:n,badge:r}){return j(`button`,{onlongpress:n,class:`program-tile`,"data-focus":!0,onClick:t,children:[j(`span`,{class:`pt-head`,children:[j(`span`,{class:`pt-logo-box`,children:e.channel&&e.channel.logo&&j(ld,{src:e.channel.logo,size:24})}),e.live&&j(`span`,{class:`pt-badge`,children:R(`home_live_now`)}),r&&j(`span`,{class:`pt-badge reminder`,children:r}),j(`span`,{class:`pt-time`,children:Fl(e.start)})]}),j(`span`,{class:`pt-title`,children:e.title}),j(`span`,{class:`pt-channel`,children:e.channelName})]})}function Xd(){let e=F(null);return P(()=>{L(e.current)},[]),j(`div`,{class:`library`,ref:e,children:[j(`span`,{class:`ux-eyebrow`,children:R(`ux_explore`)}),j(`h1`,{children:R(`nav_library`)}),j(`p`,{class:`muted`,children:R(`ux_library_hint`)}),j(`div`,{class:`library-items`,"data-focus-group":`library`,children:[j(`button`,{class:`library-card`,"data-focus":!0,onClick:()=>bd({name:`recordings`}),children:[j(z,{name:`guide`}),j(`strong`,{children:R(`nav_recordings`)}),j(`span`,{children:R(`ux_recordings_hint`)})]}),j(`button`,{class:`library-card`,"data-focus":!0,onClick:()=>bd({name:`extensions`}),children:[j(z,{name:`grid`}),j(`strong`,{children:R(`nav_extensions`)}),j(`span`,{children:R(`ux_extensions_hint`)})]}),j(`button`,{class:`library-card`,"data-focus":!0,onClick:()=>bd({name:`browse`,kind:`movie`,title:R(`ux_fav_movies`),filter:{favorites:!0}}),children:[j(z,{name:`star`}),j(`strong`,{children:R(`ux_fav_movies`)})]}),j(`button`,{class:`library-card`,"data-focus":!0,onClick:()=>bd({name:`browse`,kind:`series`,title:R(`ux_fav_series`),filter:{favorites:!0}}),children:[j(z,{name:`star`}),j(`strong`,{children:R(`ux_fav_series`)})]})]})]})}var Zd={_doc:`Ülke öneki → görünen ad [tr, en]. Chromium 56'da Intl.DisplayNames olmadığı için Tizen bu tabloyu kullanır; listede olmayan kod olduğu gibi gösterilir. Android cihaz yerel ayarını (Locale.displayCountry) kullanır; UK/EN → Birleşik Krallık, EX → Ex-YU kuralları aynı.`,countries:{TR:{tr:`Türkiye`,en:`Türkiye`},DE:{tr:`Almanya`,en:`Germany`},UK:{tr:`Birleşik Krallık`,en:`United Kingdom`},EN:{tr:`Birleşik Krallık`,en:`United Kingdom`},GB:{tr:`Birleşik Krallık`,en:`United Kingdom`},US:{tr:`Amerika Birleşik Devletleri`,en:`United States`},USA:{tr:`Amerika Birleşik Devletleri`,en:`United States`},CA:{tr:`Kanada`,en:`Canada`},FR:{tr:`Fransa`,en:`France`},IT:{tr:`İtalya`,en:`Italy`},ES:{tr:`İspanya`,en:`Spain`},PT:{tr:`Portekiz`,en:`Portugal`},NL:{tr:`Hollanda`,en:`Netherlands`},BE:{tr:`Belçika`,en:`Belgium`},AT:{tr:`Avusturya`,en:`Austria`},CH:{tr:`İsviçre`,en:`Switzerland`},PL:{tr:`Polonya`,en:`Poland`},RO:{tr:`Romanya`,en:`Romania`},BG:{tr:`Bulgaristan`,en:`Bulgaria`},GR:{tr:`Yunanistan`,en:`Greece`},AL:{tr:`Arnavutluk`,en:`Albania`},RS:{tr:`Sırbistan`,en:`Serbia`},HR:{tr:`Hırvatistan`,en:`Croatia`},BA:{tr:`Bosna-Hersek`,en:`Bosnia and Herzegovina`},MK:{tr:`Kuzey Makedonya`,en:`North Macedonia`},SI:{tr:`Slovenya`,en:`Slovenia`},HU:{tr:`Macaristan`,en:`Hungary`},CZ:{tr:`Çekya`,en:`Czechia`},SK:{tr:`Slovakya`,en:`Slovakia`},RU:{tr:`Rusya`,en:`Russia`},UA:{tr:`Ukrayna`,en:`Ukraine`},SE:{tr:`İsveç`,en:`Sweden`},NO:{tr:`Norveç`,en:`Norway`},DK:{tr:`Danimarka`,en:`Denmark`},FI:{tr:`Finlandiya`,en:`Finland`},IE:{tr:`İrlanda`,en:`Ireland`},AZ:{tr:`Azerbaycan`,en:`Azerbaijan`},GE:{tr:`Gürcistan`,en:`Georgia`},IR:{tr:`İran`,en:`Iran`},IQ:{tr:`Irak`,en:`Iraq`},AR:{tr:`Arap ülkeleri`,en:`Arabic`},ARA:{tr:`Arap ülkeleri`,en:`Arabic`},IN:{tr:`Hindistan`,en:`India`},PK:{tr:`Pakistan`,en:`Pakistan`},AF:{tr:`Afganistan`,en:`Afghanistan`},BR:{tr:`Brezilya`,en:`Brazil`},MX:{tr:`Meksika`,en:`Mexico`},LAT:{tr:`Latin Amerika`,en:`Latin America`},AU:{tr:`Avustralya`,en:`Australia`},NZ:{tr:`Yeni Zelanda`,en:`New Zealand`},CY:{tr:`Kıbrıs`,en:`Cyprus`},KU:{tr:`Kürtçe`,en:`Kurdish`},KUR:{tr:`Kürtçe`,en:`Kurdish`},EX:{tr:`Ex-YU`,en:`Ex-YU`},EXYU:{tr:`Ex-YU`,en:`Ex-YU`}}},Qd=(e,t)=>e&&e!==`und`?e.toUpperCase():`#${t+1}`,$d=class{constructor(e,t){br(this,`av`,webapis.avplay),br(this,`rect`,{x:0,y:0,w:window.innerWidth,h:window.innerHeight}),br(this,`aspect`,`fit`),br(this,`ev`,void 0),br(this,`opened`,!1),br(this,`silent`,!1),br(this,`subTimer`,void 0),br(this,`appliedDisplay`,``),br(this,`bufferingAt`,null),br(this,`bufferingCount`,0),br(this,`bufferingMs`,0),br(this,`lastTimeAt`,null),br(this,`maxTimeGapMs`,0),br(this,`token`,0),this.ev=t;let n=document.createElement(`object`);n.type=`application/avplayer`,n.style.cssText=`position:absolute;left:0;top:0;width:100%;height:100%`,e.appendChild(n)}open(e,t,n){this.stop(),this.silent=!1,this.bufferingCount=0,this.bufferingMs=0,this.maxTimeGapMs=0;let r=++this.token,i=()=>r===this.token;try{if(this.av.open(e),this.opened=!0,t)try{this.av.setStreamingProperty(`USER_AGENT`,t)}catch(e){}this.av.setListener({onbufferingstart:()=>{i()&&(this.bufferingAt===null&&(this.bufferingAt=performance.now(),this.bufferingCount++),this.lastTimeAt=null,this.ev.onBuffering(!0))},onbufferingcomplete:()=>{i()&&(this.bufferingAt!==null&&(this.bufferingMs+=performance.now()-this.bufferingAt),this.bufferingAt=null,this.lastTimeAt=null,this.ev.onBuffering(!1))},onstreamcompleted:()=>{i()&&this.ev.onEnded()},oncurrentplaytime:e=>{if(!i())return;let t=performance.now();this.lastTimeAt!==null&&this.bufferingAt===null&&(this.maxTimeGapMs=Math.max(this.maxTimeGapMs,t-this.lastTimeAt)),this.lastTimeAt=t,this.ev.onTime(e)},onerror:e=>{i()&&this.ev.onError(String(e))},onevent:()=>{},onsubtitlechange:(e,t)=>{i()&&(clearTimeout(this.subTimer),this.ev.onSubtitle(t||``),this.subTimer=window.setTimeout(()=>{i()&&this.ev.onSubtitle(``)},Number(e)||3e3))}}),this.applyRect(),this.av.prepareAsync(()=>{if(i()){if(this.appliedDisplay=``,this.applyRect(),n)try{this.av.seekTo(n)}catch(e){}this.av.play(),this.ev.onPlaying()}},e=>{i()&&this.ev.onError(String(e))})}catch(e){this.ev.onError(String(e))}}stop(){if(this.token++,clearTimeout(this.subTimer),this.subTimer=void 0,this.bufferingAt=null,this.lastTimeAt=null,this.appliedDisplay=``,this.opened){this.opened=!1;try{this.av.stop()}catch(e){}try{this.av.close()}catch(e){}}}pause(){this.lastTimeAt=null;try{this.av.pause()}catch(e){}}resume(){this.lastTimeAt=null;try{this.av.play()}catch(e){}}seek(e){this.lastTimeAt=null;try{this.av.seekTo(Math.max(0,e))}catch(e){}}setRect(e){this.rect=e,this.applyRect()}setAspect(e){this.aspect=e,this.applyRect()}applyRect(){if(!this.opened)return;let e=1920/window.innerWidth,{x:t,y:n,w:r,h:i}=this.rect;this.aspect===`zoom`&&(t-=r/6,n-=i/6,r*=4/3,i*=4/3);let a=this.aspect===`fill`?`PLAYER_DISPLAY_MODE_FULL_SCREEN`:`PLAYER_DISPLAY_MODE_LETTER_BOX`,o=[t,n,r,i].map(t=>Math.round(t*e)),s=`${a}:${o.join(`,`)}`;if(s!==this.appliedDisplay)try{this.av.setDisplayMethod(a),this.av.setDisplayRect(...o),this.appliedDisplay=s}catch(e){}}diagnostics(){let e=[];try{e.push(`AVPlay ${this.av.getVersion()} · ${this.av.getState()}`)}catch(e){}try{let t=this.av.getCurrentStreamInfo().find(e=>e.type===`VIDEO`);if(t){let n=JSON.parse(t.extra_info),r=String(n.fourCC||``).replace(/[^a-z0-9 ._-]/gi,``).slice(0,24),i=Number(n.Width)||0,a=Number(n.Height)||0,o=Math.round((Number(n.Bit_rate)||0)/1e3);e.push(`${r} · ${i}×${a}${o?` · ${o} kbps`:``}`)}}catch(e){}let t=this.bufferingAt===null?0:performance.now()-this.bufferingAt;return e.push(`Buffer: ${this.bufferingCount} · ${((this.bufferingMs+t)/1e3).toFixed(1)} s`),e.push(`AVPlay event gap: ${(this.maxTimeGapMs/1e3).toFixed(2)} s`),e}tracks(e){try{return this.av.getTotalTrackInfo().filter(t=>t.type===e).map((e,t)=>{let n=``;try{n=JSON.parse(e.extra_info).language||``}catch(e){}return{index:e.index,language:n,label:Qd(n,t)}})}catch(e){return[]}}audioTracks(){return this.tracks(`AUDIO`)}textTracks(){return this.tracks(`TEXT`)}selectAudio(e){try{this.av.setSelectTrack(`AUDIO`,e)}catch(e){}}selectText(e){try{this.silent=e===null,e===null?this.av.setSilentSubtitle(!0):(this.av.setSilentSubtitle(!1),this.av.setSelectTrack(`TEXT`,e))}catch(e){}}currentText(){if(this.silent)return null;try{let e=this.av.getCurrentStreamInfo().find(e=>e.type===`TEXT`);return e?e.index:null}catch(e){return null}}videoHeight(){try{let e=this.av.getTotalTrackInfo().find(e=>e.type===`VIDEO`);return e?JSON.parse(e.extra_info).Height|0:0}catch(e){return 0}}duration(){try{return this.av.getDuration()||0}catch(e){return 0}}buffered(){return 0}setSpeed(e){try{e===Math.round(e)&&this.av.setSpeed(e)}catch(e){}}};function ef(e){let t=window;return t[e]?Promise.resolve(t[e]):new Promise((n,r)=>{let i=document.createElement(`script`);i.src=e===`mpegts`?`lib/mpegts.js`:`lib/hls.min.js`,i.onload=()=>t[e]?n(t[e]):r(Error(e)),i.onerror=()=>r(Error(e)),document.head.appendChild(i)})}var tf=class{constructor(e,t){br(this,`video`,void 0),br(this,`hls`,null),br(this,`ts`,null),br(this,`ev`,void 0),br(this,`token`,0),this.ev=t;let n=document.createElement(`video`);n.style.cssText=`position:absolute;background:#000`,n.autoplay=!0,n.addEventListener(`waiting`,()=>t.onBuffering(!0)),n.addEventListener(`playing`,()=>{t.onBuffering(!1),t.onPlaying()}),n.addEventListener(`ended`,()=>t.onEnded()),n.addEventListener(`timeupdate`,()=>t.onTime(n.currentTime*1e3)),n.addEventListener(`error`,()=>t.onError(n.error?`media ${n.error.code}`:`media`)),e.appendChild(n),this.video=n,this.setRect({x:0,y:0,w:0,h:0})}open(e,t,n){this.stop();let r=++this.token,i=this.video,a=()=>{n&&(i.currentTime=n/1e3)},o=/\.m3u8(\?|$)/i.test(e),s=!o&&/\.ts(\?|$)/i.test(e);!o&&!s||o&&i.canPlayType(`application/vnd.apple.mpegurl`)?(i.src=wr(e),i.addEventListener(`loadedmetadata`,a,{once:!0})):s?ef(`mpegts`).then(t=>{var n;if(r!==this.token)return;let a=t.createPlayer({type:`mpegts`,isLive:!0,url:new URL(wr(e),location.href).href});a.on(t.Events.ERROR,(e,t)=>this.ev.onError(`${e} ${t}`)),a.attachMediaElement(i),a.load(),(n=a.play())==null||n.catch(()=>{}),this.ts=a},()=>{r===this.token&&this.ev.onError(`mpegts`)}):ef(`Hls`).then(t=>{if(r!==this.token)return;let a=new t({xhrSetup:(e,t)=>e.open(`GET`,wr(t),!0),startPosition:n?n/1e3:-1});a.on(t.Events.ERROR,(e,t)=>{t.fatal&&this.ev.onError(t.details)}),a.loadSource(e),a.attachMedia(i),this.hls=a},()=>{r===this.token&&this.ev.onError(`hls`)})}stop(){this.token++,this.hls&&(this.hls.destroy(),this.hls=null),this.ts&&(this.ts.destroy(),this.ts=null),this.video.removeAttribute(`src`),this.video.load()}pause(){this.video.pause()}resume(){this.video.play()}seek(e){this.video.currentTime=Math.max(0,e/1e3)}setRect(e){let t=this.video.style;t.left=`${e.x}px`,t.top=`${e.y}px`,t.width=`${e.w}px`,t.height=`${e.h}px`}setAspect(e){let t=this.video.style;t.objectFit=e===`fit`?`contain`:e===`fill`?`fill`:`cover`}audioTracks(){return this.hls?this.hls.audioTracks.map((e,t)=>({index:t,language:e.lang||``,label:e.name||Qd(e.lang,t)})):[]}textTracks(){return this.hls?this.hls.subtitleTracks.map((e,t)=>({index:t,language:e.lang||``,label:e.name||Qd(e.lang,t)})):[]}selectAudio(e){this.hls&&(this.hls.audioTrack=e)}selectText(e){this.hls&&(this.hls.subtitleTrack=e===null?-1:e)}currentText(){return this.hls&&this.hls.subtitleTrack>=0?this.hls.subtitleTrack:null}videoHeight(){return this.video.videoHeight}duration(){let e=this.video.duration;return isFinite(e)?e*1e3:0}buffered(){let e=this.video.buffered;return e.length?e.end(e.length-1)*1e3:0}setSpeed(e){this.video.playbackRate=e}},X=I(`idle`),nf=I(null),rf=I(``),af=I(`unknown`),of=I(0),sf=I(q.value.aspect),cf=I(null),lf=I(0),uf=I(null),df=I(null),ff=I(``),Z,pf=0,mf,hf,gf=!1,_f={tur:`tr`,eng:`en`,deu:`de`,ger:`de`,fra:`fr`,fre:`fr`,ara:`ar`,rus:`ru`},vf=e=>{let t=e.toLowerCase().slice(0,3);return _f[t]||t.slice(0,2)};function yf(e,t){q.peek().rememberTracks&&(e===`audio`?t&&t.language&&Wc({preferredAudio:vf(t.language)}):Wc({preferredSubtitle:t&&t.language?vf(t.language):null}))}function bf(){gf=!0;let{preferredAudio:e,preferredSubtitle:t}=q.peek(),n=(e,t)=>t?e.find(e=>e.language&&vf(e.language)===t):void 0,r=n(Z.audioTracks(),e);r&&Z.selectAudio(r.index);let i=n(Z.textTracks(),t);i&&Z.selectText(i.index),df.value=Z.currentText()}var xf={},Sf=[1500,3e3,6e3,12e3],Cf=[`auth`,`not_found`,`format`,`limit`];function wf(e){let t=e.toUpperCase();return/HTTP (429|458|509)\b/.test(t)?`limit`:/HTTP 5\d\d\b/.test(t)?`server`:/AUTH|401|403|FORBIDDEN|UNAUTHORIZED/.test(t)?`auth`:/INVALID_URI|404|410|NOT_FOUND|MANIFESTLOADERROR/.test(t)?`not_found`:/NOT_SUPPORTED|UNSUPPORTED|FORMAT|MEDIA 4/.test(t)?`format`:/DECOD|MEDIA 3/.test(t)?`decoder`:/TIMEOUT|TIMED_OUT/.test(t)?`timeout`:/CONNECTION|NETWORK|MEDIA 2|FRAGLOAD|LEVELLOAD/.test(t)?`network`:`unknown`}async function Tf(e){if(!/^https?:/i.test(e))return null;let t=typeof AbortController<`u`?new AbortController:null,n=setTimeout(()=>t&&t.abort(),5e3);try{let n=await fetch(e,{headers:{Range:`bytes=0-0`},cache:`no-store`,signal:t?t.signal:void 0});try{n.body&&n.body.cancel()}catch(e){}return n.status>=400?`HTTP ${n.status}${n.statusText?` ${n.statusText}`:``}`:null}catch(e){return null}finally{clearTimeout(n)}}var Ef=!1,Df=0;function Of(e){let t={onBuffering:e=>{e&&X.value===`playing`?X.value=`loading`:!e&&X.value===`loading`&&(X.value=`playing`)},onPlaying:()=>{X.value===`loading`&&!gf&&bf(),X.value=`playing`,pf=0,of.value=0,xf.started&&xf.started()},onEnded:()=>xf.ended&&xf.ended(),onTime:e=>{lf.value=e},onSubtitle:e=>{ff.value=e},onError:e=>{let t=nf.value;if(!t||X.value===`error`||Ef)return;Ef=!0,X.value=`loading`;let n=Df;Tf(t.url).then(r=>{if(n!==Df||(Ef=!1,X.value===`error`))return;let i=r||e;console.warn(`oynatma hatası`,i);let a=wf(i);if(Cf.indexOf(a)<0&&pf<Sf.length){of.value=pf+1,clearTimeout(mf);let e=t.key.startsWith(`live:`)?void 0:lf.peek()||hf;mf=window.setTimeout(()=>Z.open(t.url,t.userAgent,e),Sf[pf++])}else of.value=0,af.value=a,rf.value=i,X.value=`error`,Z.stop(),xf.failed&&xf.failed()})}};Z=Ft?new $d(e,t):new tf(e,t),cf.subscribe(e=>{e===null?Z.setRect({x:0,y:0,w:0,h:0}):e===`full`?Z.setRect({x:0,y:0,w:window.innerWidth,h:window.innerHeight}):Z.setRect(e)}),window.addEventListener(`resize`,()=>{cf.peek()===`full`&&Z.setRect({x:0,y:0,w:window.innerWidth,h:window.innerHeight})}),sf.subscribe(e=>{Z.setAspect(e),q.peek().aspect!==e&&Wc({aspect:e})}),document.addEventListener(`visibilitychange`,()=>{let e=nf.value;if(!e)return;if(document.hidden){Z.stop();return}let t=e.key.startsWith(`live:`)?void 0:lf.peek()||hf;X.value=`loading`,Z.open(e.url,e.userAgent,t)})}function kf(e,t={}){xf.ended=t.onEnded,xf.failed=t.onFailed,xf.started=t.onStarted,!(nf.value&&nf.value.key===e.key&&X.value!==`error`)&&(clearTimeout(mf),Df++,Ef=!1,pf=0,of.value=0,gf=!1,hf=t.startMs,nf.value=e,X.value=`loading`,rf.value=``,ff.value=``,uf.value=null,df.value=null,lf.value=t.startMs||0,Z.open(e.url,e.userAgent,t.startMs))}function Af(){let e=nf.value;if(!e)return;let t=e.key.startsWith(`live:`)?void 0:lf.peek()||hf;nf.value=null,kf(e,{startMs:t,onEnded:xf.ended,onFailed:xf.failed,onStarted:xf.started})}function jf(){clearTimeout(mf),Df++,Ef=!1,nf.value=null,X.value=`idle`,Z.stop()}function Mf(){X.value===`paused`?(Z.resume(),X.value=`playing`):(X.value===`playing`||X.value===`loading`)&&(Z.pause(),X.value=`paused`)}var Nf=e=>Z.seek(e),Pf=()=>Z.audioTracks(),Ff=()=>Z.textTracks(),If=e=>Z.selectAudio(e);function Lf(e){e===null&&(ff.value=``),Z.selectText(e)}var Rf=()=>Z.diagnostics?Z.diagnostics():[],zf=()=>Z.videoHeight(),Bf=()=>Z.duration(),Vf=()=>Z.buffered(),Hf=e=>Z.setSpeed(e);function Uf(e){let t=e.getBoundingClientRect();return{x:t.left,y:t.top,w:t.width,h:t.height}}var Wf=700,Gf=e=>{let t=Zd.countries[e];return t?t[gn.value]:e};function Kf({onOpenPlayer:e}){var t;let n=Xc.value,r=q.value,[i,a]=N([]),[o,s]=N(null),[c,l]=N(0),u=F(0);u.current=c;let d=F(null),[f,p]=N(null),[m,h]=N([]),[g,_]=N(null),[v,y]=N(null),[b,x]=N(null),S=Vl.value,[C,ee]=N(!1),[w,T]=N(!1),te=F(null),E=F(null),D=pd.value,O=(()=>{let e=Zc.value;return!!e&&e.providerId===n&&`stage`in e&&e.stage!==`DONE`})(),k=(t=(Yc.value||[]).find(e=>e.id===n))==null?void 0:t.lastSync;P(()=>{K.categories.where(`[providerId+kind]`).equals([n,`live`]).sortBy(`order`).then(a),vd(n),Wl(n),uu(n).then(e=>h(e.sort((e,t)=>e.name.localeCompare(t.name))))},[n,k]);let ne=ke(()=>{let e=[{key:`fav`,label:R(`cat_favorites`),filter:{type:`fav`}},{key:`recent`,label:R(`cat_recent`),filter:{type:`recent`}},{key:`all`,label:R(`cat_all`),filter:{type:`all`}}],t=m.map(e=>({key:`ug:${e.id}`,label:e.name,filter:{type:`ugroup`,id:e.id},group:e})),n=i.filter(Jl);if(r.groupMode===`CATEGORY`){let i=e=>(Hl.value.get(e.id)||{}).pinned||0,a=n.map((e,t)=>[e,t]).sort((e,t)=>i(t[0])-i(e[0])||e[1]-t[1]).map(e=>e[0]);return e.concat(t,a.map(e=>({key:`cat:${e.id}`,label:ic(e.name,r.filterWords),filter:{type:`cat`,id:e.id},platform:fc(e.name),locked:Gl(e),pinned:!!(Hl.value.get(e.id)||{}).pinned,cat:e})))}let a=gn.value===`tr`?`TR`:`UK`,o=_c(n.map(e=>({id:e.id,name:e.name,locked:Gl(e)})),r.groupMode,a);return e.concat(t,o.map(e=>({key:e.key,label:e.platform?e.platform.name:e.country?Gf(e.country):R(`genre_${e.genre.toLowerCase()}`),filter:{type:`group`,key:e.key,ids:e.categoryIds},platform:e.platform})))},[i,r.groupMode,gn.value,m,S]),A=ru(D),re=ne.find(e=>ru(e.filter)===A);P(()=>{md.value=re?re.label:``},[re&&re.label]),P(()=>{let e=!0;return s(null),au(n,D).then(t=>{if(!e)return;let n=t,r=hd.peek(),i=r===null?-1:n.indexOf(r);s(n);let a=d.current===A;d.current=A;let o=i>=0?i:a?Math.max(0,Math.min(u.current,n.length-1)):0;l(o),i>=0&&(hd.value=null),(i>=0||a)&&setTimeout(()=>{i<0&&document.activeElement!==document.body||qt(E.current&&E.current.querySelector(`[data-idx="${o}"]`))},0)}),()=>{e=!1}},[n,A,k,S]);let ie=F({pick:e=>{},menu:e=>{}});ie.current={pick:e=>se(!!e.cat&&Kl(e.cat),()=>{e.cat&&ql(e.cat.id),pd.value=e.filter}),menu:e=>ue(e)};let ae=ke(()=>o?new su(o):null,[o]);P(()=>{hd.peek()===null&&setTimeout(()=>L(te.current),0)},[]),P(()=>{let e=()=>{let e=document.activeElement;ee(!!te.current&&te.current.contains(e)),T(!!E.current&&E.current.contains(e))};return document.addEventListener(`focusin`,e),()=>document.removeEventListener(`focusin`,e)},[]),P(()=>()=>{gd.peek()||jf(),cf.value=null},[]);let oe=(e,t)=>r.numbering===`HIDDEN`?null:r.numbering===`CATEGORY`?t+1:e?e.number:null,se=(e,t)=>e?_({then:t}):t(),ce=async t=>{if(!o)return;let n=await K.channels.get(o[t]),r=n&&n.categoryId!==null&&i.find(e=>e.id===n.categoryId)||null;se(!!n&&Kl(r,n.id),()=>{n&&ql(r?r.id:null,n.id),e(o,t)})},le=async e=>{let t=ae&&(await ae.range(e,e+1))[0];if(!t||!o)return;let r=_d.value.has(t.id),i=async()=>s(await au(n,D)),a=[{label:R(r?`menu_remove_favorite`:`menu_add_favorite`),onSelect:async()=>{await cu(n,`live`,t.id),await vd(n),D.type===`fav`&&i()}}];if(D.type===`fav`||D.type===`ugroup`){let t=async t=>{if(!(t<0||t>=o.length)){if(D.type===`ugroup`)await hu(D.id,o,e,t);else{let[n,r]=await K.favorites.bulkGet([o[e],o[t]]);if(!n||!r)return;await K.favorites.bulkPut([V(V({},n),{},{order:r.order}),V(V({},r),{},{order:n.order})])}await i(),l(t)}};a.push({label:R(`menu_move_up`),onSelect:()=>t(e-1)},{label:R(`menu_move_down`),onSelect:()=>t(e+1)})}a.push({label:R(`menu_add_to_group`),onSelect:()=>p({title:R(`menu_add_to_group`),items:m.map(e=>({label:e.name,onSelect:()=>{fu(e.id,t.id).then(()=>B(e.name))}})).concat([{label:R(`menu_new_group`),onSelect:()=>x({initial:R(`group_default_name`,m.length+1),save:async e=>{await fu(await du(n,e.trim()||R(`group_default_name`,m.length+1)),t.id),h((await uu(n)).sort((e,t)=>e.name.localeCompare(t.name)))}})}])})}),D.type===`ugroup`&&a.push({label:R(`menu_remove_from_group`),onSelect:async()=>{await pu(D.id,t.id),i()}}),a.push({label:R(`menu_epg_mapping`),onSelect:()=>bd({name:`epgmap`,channelId:t.id})});let c=!!(Ul.value.get(t.id)||{}).locked;a.push({label:R(c?`menu_unlock`:`menu_lock`),onSelect:()=>{if(!eu())return y(R(`pin_needed_first`));c?_({then:()=>Ql(t.id,n,{locked:!1})}):Ql(t.id,n,{locked:!0})}}),a.push({label:R(`menu_hide`),onSelect:async()=>{await Ql(t.id,n,{hidden:!0}),i()}}),p({title:t.name,items:a})},ue=e=>{if(e.group)return p({title:e.label,items:[{label:R(`menu_delete_group`),onSelect:async()=>{await mu(e.group.id),h(m.filter(t=>t.id!==e.group.id)),ru(D)===e.key&&(pd.value={type:`all`})}}]});let t=e.cat;if(!t)return;let r=Hl.value.get(t.id)||{},i=Gl(t);p({title:t.name,items:[{label:R(r.pinned?`menu_unpin`:`menu_pin_top`),onSelect:()=>Zl(t.id,n,{pinned:r.pinned?0:Date.now()})},{label:R(i?`menu_unlock`:`menu_lock`),onSelect:()=>{if(!eu())return y(R(`pin_needed_first`));i?_({then:()=>Zl(t.id,n,{locked:!1})}):Zl(t.id,n,{locked:!0})}},{label:R(`menu_hide`),onSelect:async()=>{await Zl(t.id,n,{hidden:!0}),ru(D)===e.key&&(pd.value={type:`all`})}}]})},de=jn(async e=>{if(!o)return;let t=-1;if(r.numbering===`CATEGORY`)t=e-1<o.length?e-1:-1;else{let r=await K.channels.where(`[providerId+number]`).equals([n,e]).first();t=r?o.indexOf(r.id):-1}if(t<0)return B(R(`channel_not_found`));l(t),setTimeout(()=>qt(E.current&&E.current.querySelector(`[data-idx="${t}"]`)),0)});tn(e=>{var t;if(e.startsWith(`digit`))return de.push(e.slice(5)),!0;if(e===`up`&&(t=document.activeElement)!=null&&t.closest(`.live-list-title`))return qt(document.querySelector(`.topbar .selected`))});let fe=R(`group_${r.groupMode.toLowerCase()}`);return j(`div`,{class:`live-screen`,children:[j(`div`,{class:`live-cats glass${C?` wide`:``}`,ref:te,"data-focus-group":`live-cats`,children:[j(`button`,{class:`group-mode`,"data-focus":!0,onClick:()=>p({title:R(`group_by`,fe),items:[`CATEGORY`,`COUNTRY`,`GENRE`,`PLATFORM`].map(e=>({label:R(`group_${e.toLowerCase()}`),checked:e===r.groupMode,onSelect:()=>{Wc({groupMode:e}),pd.value={type:`all`}}}))}),children:[j(`span`,{children:[j(`span`,{class:`gm-title`,children:R(`live_categories`)}),j(`span`,{class:`gm-value`,children:R(`group_by`,fe)})]}),j(z,{name:`tune`})]}),j(qf,{entries:ne,selectedKey:A,actions:ie})]}),j(`div`,{class:`live-channels glass`,children:[j(`div`,{class:`panel-title live-list-title`,children:[j(`button`,{class:`btn outline`,"data-focus":!0,onClick:()=>{Y.value=`guide`},children:R(`nav_guide`)}),j(`h2`,{children:re?re.label:``}),o&&o.length>0&&j(`span`,{class:`muted`,children:R(`live_channel_count`,o.length)})]}),o&&o.length===0?j(`p`,{class:`empty`,children:R(O?`live_syncing`:`live_empty_category`)}):j(Dd,{listRef:E,group:`live-channels`,pager:ae,count:o?o.length:0,index:c,setIndex:l,numberOf:oe,focused:w,onOpen:ce,onMenu:le})]}),j(Xf,{pager:ae,index:c,active:w,locked:e=>Kl(i.find(t=>t.id===e.categoryId)||null,e.id)}),j(Mn,{digits:de.digits}),f&&j(An,{title:f.title,items:f.items,onClose:()=>p(null)}),g&&j(Nn,{title:R(`pin_enter`),check:tu,onDone:()=>{let e=g.then;_(null),e()},onClose:()=>_(null)}),v&&j(Fn,{text:v,onClose:()=>y(null)}),b&&j(Pn,{title:R(`menu_new_group`),label:R(`group_name`),initial:b.initial,onSave:b.save,onClose:()=>x(null)})]})}var qf=class extends S{constructor(...e){super(...e),br(this,`rev`,-1)}shouldComponentUpdate(e){return e.entries!==this.props.entries||e.selectedKey!==this.props.selectedKey||Vl.peek()!==this.rev}render(){let{entries:e,selectedKey:t,actions:n}=this.props;return this.rev=Vl.peek(),j(`div`,{class:`cat-list`,children:e.map(e=>j(Jf,{e,selected:ru(e.filter)===t,onClick:()=>n.current.pick(e),onLongPress:()=>n.current.menu(e)},e.key))})}};function Jf({e,selected:t,onClick:n,onLongPress:r}){return j(`button`,{onlongpress:r,class:`cat-row focus-row${t?` selected`:``}`,"data-focus":!0,"data-focus-default":t||void 0,onClick:n,children:[e.platform&&j(Yf,{p:e.platform}),j(`span`,{class:`cat-name`,children:e.label}),e.pinned&&j(z,{name:`pin`,class:`cat-icon`}),e.locked&&j(z,{name:`lock`,class:`cat-icon`})]})}function Yf({p:e}){let t=pc(e);return j(`span`,{class:`platform-badge`,children:t?j(`img`,{src:t,alt:``,class:e.tintWhite===!1?``:`tint-white`}):j(`b`,{children:e.name})})}function Xf({pager:e,index:t,active:n,locked:r}){let[i,a]=N(),[o,s]=N(null),c=F(null);P(()=>{let e=()=>{let e=cf.peek();e&&e!==`full`&&c.current&&(cf.value=Uf(c.current))};return window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)},[]),P(()=>{if(s(null),!i)return;let e=!0,t=setTimeout(()=>Dl(i).then(t=>e&&s(t)),250);return()=>{e=!1,clearTimeout(t)}},[i&&i.id]);let l=q.value.previewAutoplay;return P(()=>{if(!e)return;let n=!0;return e.range(t,t+1).then(e=>n&&a(e[0])),()=>{n=!1}},[e,t]),P(()=>{if(!i)return;let e=nf.peek();if(e&&e.key===`live:${i.id}`&&(cf.value=Uf(c.current)),!n||!l||r(i))return;let t=setTimeout(()=>{let e=(Yc.value||[]).find(e=>e.id===i.providerId);cf.value=Uf(c.current),kf({url:i.url,userAgent:e?e.userAgent:null,key:`live:${i.id}`})},Wf);return()=>clearTimeout(t)},[i&&i.id,n]),j(`div`,{class:`live-preview glass`,children:[j(`span`,{class:`preview-label`,children:R(`live_preview`)}),j(`div`,{class:`preview-box${cf.value&&cf.value!==`full`?` hole`:``}`,ref:c,children:i&&r(i)?j(z,{name:`lock`,class:`preview-lock`}):!l&&i&&j(ld,{src:i.logo,size:64})}),i&&j(`h3`,{class:`preview-name`,children:i.name}),o&&(o.now||o.next)?j(x,{children:[o.now&&j(Zf,{label:R(`now_label`),p:o.now,progress:!0}),o.next&&j(Zf,{label:R(`next_label`),p:o.next})]}):j(`p`,{class:`muted`,children:R(`no_program`)})]})}function Zf({label:e,p:t,progress:n}){return j(`div`,{class:`program-block`,children:[j(`span`,{class:`pb-label`,children:`${e} · ${Il(t)}`}),j(`span`,{class:`pb-title`,children:t.title}),n&&j(ud,{value:Nl(t),class:`pb-progress`}),t.desc&&j(`span`,{class:`pb-desc`,children:t.desc})]})}var Qf=e=>e<10?`0${e}`:`${e}`;function $f(e,t){if(!t){let t=new Date(e);return{Y:`${t.getFullYear()}`,m:Qf(t.getMonth()+1),d:Qf(t.getDate()),H:Qf(t.getHours()),M:Qf(t.getMinutes()),S:Qf(t.getSeconds())}}let n;try{n=new Intl.DateTimeFormat(`en-US`,{timeZone:t,year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`,hour12:!1}).format(new Date(e))}catch(t){return $f(e)}let r=/(\d+)\/(\d+)\/(\d+),?\s+(\d+):(\d+):(\d+)/.exec(n);return{Y:r[3],m:r[1],d:r[2],H:Qf(r[4]%24),M:r[5],S:r[6]}}var ep=(e,t,n)=>{let r=$f(e,n);return t.replace(/[YmdHMS]/g,e=>r[e])};function tp(e,t,n,r,i){let a=e=>Math.floor(e/1e3),o={utc:t,start:t,utcend:n,end:n,lutc:r,now:r,timestamp:r};return e.replace(/\{([YmdHMS])\}/g,(e,n)=>$f(t,i)[n]).replace(/\$?\{(\w+)(?::([^}]+))?\}/g,(e,s,c)=>{if(s===`duration`||s===`offset`){let e=a(s===`duration`?n-t:r-t);return`${c&&/^\d+$/.test(c)?Math.floor(e/+c):e}`}let l=o[s];return l===void 0?e:c?ep(l,c,i):`${a(l)}`})}var np=(e,t)=>e+(e.indexOf(`?`)>=0?`&`:`?`)+t.replace(/^[?&]/,``);function rp(e,t,n,r,i={}){let a=Math.floor(t/1e3),o=Math.max(60,Math.floor((n-t)/1e3));switch(e.catchupType){case`XTREAM`:{let n=/^(https?:\/\/[^/]+)((?:\/.*?)?)\/([^/]+)\/([^/]+)\/([^/?]+?)(?:\.\w+)?(?:\?.*)?$/.exec(e.url);if(!n)return null;let r=n[1]+n[2].replace(/\/live$/,``),a=$f(t,i.serverZone||i.deviceZone);return`${r}/timeshift/${n[3]}/${n[4]}/${Math.ceil(o/60)}/${a.Y}-${a.m}-${a.d}:${a.H}-${a.M}/${n[5]}.ts`}case`SHIFT`:return np(e.url,`utc=${a}&lutc=${Math.floor(r/1e3)}`);case`APPEND`:case`DEFAULT`:{if(!e.catchupSource)return null;let a=tp(e.catchupSource,t,n,r,i.deviceZone);return e.catchupType===`APPEND`?e.url+a:/^https?:\/\//i.test(a)?a:np(e.url,a)}case`FLUSSONIC`:{let t=e.url.indexOf(`?`),n=t>=0?e.url.slice(0,t):e.url,r=t>=0?e.url.slice(t):``,i=/^(.*\/)([^/]+)\.m3u8$/.exec(n);if(i)return`${i[1]}${i[2]}-${a}-${o}.m3u8${r}`;let s=/^(.*\/)(?:mpegts|[^/]+\.ts)$/.exec(n);return s?`${s[1]}timeshift_abs-${a}.ts${r}`:`${n.replace(/\/$/,``)}/timeshift_abs-${a}.ts${r}`}default:return null}}var ip=(e,t,n)=>e.catchupType!==`NONE`&&t<n&&t>=n-Math.max(1,e.catchupDays)*864e5;function ap({onRetry:e,onBack:t}){let n=F(null);return P(()=>{L(n.current)},[]),j(`div`,{class:`player-center`,children:j(`div`,{class:`error-card`,ref:n,"data-focus-scope":!0,children:[j(z,{name:`error`,class:`error-icon`}),j(`p`,{children:op()}),rf.value&&j(`p`,{class:`error-detail`,children:R(`player_error_detail`,rf.value)}),j(`div`,{class:`row`,children:[j(`button`,{class:`btn primary`,"data-focus":!0,"data-focus-default":!0,onClick:e,children:R(`retry`)}),j(`button`,{class:`btn outline`,"data-focus":!0,onClick:t,children:R(`back`)})]})]})})}var op=()=>R(`player_error_${af.peek()}`),sp=/(?:(\d+):)?(\d{1,2}):(\d{1,2})[,.](\d{1,3})/;function cp(e){let t=sp.exec(e);if(!t)return NaN;let n=(t[4]+`00`).slice(0,3);return(((t[1]||0)*60+ +t[2])*60+ +t[3])*1e3+ +n}function lp(e){return e.replace(/\{\\[^}]*\}/g,``).replace(/<(\/?)([ibu])(\s[^>]*)?>/gi,`$1$2`).replace(/<[^>]+>/g,``).replace(/\u0001/g,`<`).replace(/\u0002/g,`>`).trim()}function up(e){let t=[],n=e.replace(/^/,``).replace(/\r\n?/g,`
|
|
9
9
|
`).split(/\n\s*\n/);for(let e of n){let n=e.split(`
|
|
10
|
-
`),r=n.findIndex(e=>e.indexOf(`-->`)>=0);if(r<0)continue;let[i,a]=n[r].split(`-->`),o=
|
|
11
|
-
`));isNaN(o)||isNaN(s)||!c||t.push({start:o,end:s,text:c})}return t.sort((e,t)=>e.start-t.start)}function
|
|
12
|
-
`):
|
|
13
|
-
`).map((e,t)=>j(`span`,{class:`subtitle-line`,children:j(hp,{text:e})},t))})}var _p=72e5,vp=18e5,yp=36e5,bp=864e5,xp=e=>Math.floor(e/vp)*vp,Sp=150;function Cp(e){let{pager:t,count:n,rowRem:r,winStart:i}=e,a=i+_p,o=F(null),[s,c]=N(Math.max(0,e.initialRow-3)),[l,u]=N({row:e.initialRow,pid:-1}),[d,f]=N(new Map),[p,m]=N(new Map),[h,g]=N(Date.now()),_=o.current?Math.max(1,Math.floor(o.current.clientHeight/Ed()/r)):6,v=F(new Map);P(()=>{let e=setInterval(()=>g(Date.now()),3e4);return()=>clearInterval(e)},[]),P(()=>{l.row<s?c(l.row):l.row>s+_-1&&c(Math.min(Math.max(0,n-_),l.row-_+1))},[l.row,_,n]);let y=s,b=Math.min(n,s+_+1);P(()=>{let e=!0;return t.range(y,b).then(async t=>{let n=new Map;if(t.forEach((e,t)=>e&&n.set(y+t,e)),!e)return;f(n);let r=i-bp/2,a=i+_p+bp,o=[...n.values()].filter(e=>{let t=v.current.get(e.id);return!t||t.from>i-yp||t.to<i+72e5+yp});for(await Promise.all(o.map(async e=>{v.current.set(e.id,{from:r,to:a,list:await Sl(e,r,a)})}));v.current.size>Sp;)v.current.delete(v.current.keys().next().value);if(!e)return;let s=new Map;v.current.forEach((e,t)=>s.set(t,e.list)),m(s)}),()=>{e=!1}},[t,y,b,Math.floor(i/bp*2)]);let x=e=>{let t=d.get(e);return t&&p.get(t.id)||null};P(()=>{if(l.pid!==-1)return;let e=x(l.row);if(e===null)return;let t=l.at===void 0?Date.now():l.at,n=e.find(e=>e.start<=t&&e.stop>t)||e.find(e=>e.stop>i&&e.start<a);u({row:l.row,pid:n?n.id:null})},[p,d]),P(()=>{if(!o.current)return;if(l.pid===-1){let e=o.current.querySelector(`[data-cell="${l.row}:ch"], [data-cell="${l.row}:wait"]`);e&&document.activeElement!==e&&e.focus();return}let e=o.current.querySelector(`[data-cell="${l.row}:${l.pid===null?`ch`:l.pid}"]`)||o.current.querySelector(`[data-cell="${l.row}:wait"]`);e&&document.activeElement!==e&&e.focus()},[l,d,p,i,s]),P(()=>{let e=()=>{let e=document.activeElement,t=e&&o.current&&o.current.contains(e)?e.getAttribute(`data-cell`):null;if(!t)return;let[n,r]=t.split(`:`);if(r===`wait`)return;let i={row:+n,pid:r===`ch`||r===`null`?null:+r};u(e=>e.row===i.row&&(e.pid===i.pid||e.pid===-1)?e:i)};return document.addEventListener(`focusin`,e),()=>document.removeEventListener(`focusin`,e)},[]);let S=(e,t)=>{let n=(x(e)||[]).filter(e=>e.stop>i&&e.start<a),r=n.find(e=>e.start<=t&&e.stop>t)||n[0];return r?r.id:null};tn(t=>{if(!o.current||!o.current.contains(document.activeElement))return;let r=x(l.row)||[],s=l.pid===null?-1:r.findIndex(e=>e.id===l.pid),c=s>=0?r[s]:null,d=c?Math.max(c.start,i):l.at===void 0?i:l.at;switch(t){case`right`:{if(!c)return u({row:l.row,pid:S(l.row,i)}),!0;let t=r[s+1];return c.stop>a?e.setWinStart(i+yp):t?(t.start>=a&&e.setWinStart(xp(t.start-vp)),u({row:l.row,pid:t.id})):e.setWinStart(i+yp),!0}case`left`:{if(!c)return!0;let t=r[s-1];return c.start<i?e.setWinStart(i-yp):t&&t.stop>i-bp?(t.stop<=i&&e.setWinStart(xp(Math.max(t.start,t.stop-_p+vp))),u({row:l.row,pid:t.id})):u({row:l.row,pid:null}),!0}case`up`:case`down`:case`chUp`:case`chDown`:{let e=t===`up`?-1:t===`down`?1:t===`chUp`?-8:8;if(t===`up`&&l.row===0)return;let r=Math.max(0,Math.min(n-1,l.row+e));return r!==l.row&&(l.pid===null?u({row:r,pid:null}):x(r)===null?u({row:r,pid:-1,at:d}):u({row:r,pid:S(r,d)})),!0}}});let C=h>=i&&h<a?(h-i)/_p*100:null,ee=[];for(let t=y;t<b;t++){let n=d.get(t);if(!n){ee.push(j(`div`,{class:`epg-row`,style:{top:`${(t-s)*r}rem`,height:`${r-.4}rem`},children:j(`button`,{class:`epg-channel`,"data-focus":!0,"data-cell":`${t}:wait`})},t));continue}let o=x(t),c=o?o.filter(e=>e.stop>i&&e.start<a):[],u=e.numberOf(n,t);ee.push(j(`div`,{class:`epg-row`,style:{top:`${(t-s)*r}rem`,height:`${r-.4}rem`},children:[j(`button`,{class:`epg-channel`,"data-focus":!0,"data-cell":`${t}:ch`,"data-focus-default":l.row===t&&l.pid===null||void 0,onClick:()=>e.onChannel(n,t),children:[u!==null&&j(`span`,{class:`epg-num`,children:u}),j(od,{src:n.logo,size:26}),j(`span`,{class:`epg-chname`,children:n.name})]}),j(`div`,{class:`epg-programs`,children:[o&&!c.length&&j(`button`,{class:`epg-cell`,"data-focus":!0,"data-cell":`${t}:null`,style:{left:0,width:`100%`},onClick:()=>e.onChannel(n,t),children:j(`span`,{class:`epg-title`,children:R(`guide_no_data`)})}),c.map(r=>{let o=Math.max(r.start,i),s=Math.min(r.stop,a);return j(`button`,{class:`epg-cell${r.start<=h&&r.stop>h?` live`:``}`,"data-focus":!0,"data-cell":`${t}:${r.id}`,"data-focus-default":l.row===t&&l.pid===r.id||void 0,style:{left:`${(o-i)/_p*100}%`,width:`${(s-o)/_p*100}%`},onClick:()=>e.onProgram(r,n,t),children:[j(`span`,{class:`epg-title`,children:r.title}),j(`span`,{class:`epg-time`,children:Ml(r.start)})]},r.id)})]})]},t))}return j(`div`,{class:`epg-grid${e.translucent?` translucent`:``}`,children:[j(`div`,{class:`epg-header`,children:[0,1,2,3].map(e=>j(`span`,{style:{left:`${e*25}%`},children:Ml(i+e*vp)},e))}),j(`div`,{class:`epg-body`,ref:o,"data-focus-group":`epg`,"data-focus-noscroll":!0,onScroll:e=>{e.currentTarget.scrollTop=0},children:[ee,C!==null&&j(`div`,{class:`epg-now`,style:{left:`calc(var(--epg-ch) + (100% - var(--epg-ch)) * ${C/100})`}})]})]})}var wp=5e3,Tp=700,Ep=[`fit`,`fill`,`zoom`],Dp=[0,15,30,45,60,90,120],Op=[.5,.75,1,1.25,1.5,2],kp=[];for(let e=-10;e<=10;e+=.5)kp.push(e);var Ap=e=>R(`tz_sub_offset_value`,`${e>0?`+`:``}${(e/1e3).toFixed(1)}`),jp=e=>`${e}x`,Mp=3e4,Np=e=>e<10?`0${e}`:`${e}`,Pp=e=>`${Np(e.getHours())}:${Np(e.getMinutes())}`,Fp=e=>e>=2e3?`4K`:e>=1e3?`FHD`:e>=700?`HD`:e>0?`SD`:``;function Ip({onExit:e}){let t=pd.value,n=t.ids,r=ke(()=>new iu(n),[n]),[i,a]=N(t.index),[o,s]=N(null),[c,l]=N(!0),[u,d]=N(null),f=F(!0);f.current=c||u!==null;let[p,m]=N(0),[h,g]=N(t.archive?{program:t.archive,offset:0}:null),[_,v]=N(null),[y,b]=N(null),[x,S]=N(0),C=F(void 0),ee=F(!0),w=F(void 0),T=F(0),[,te]=N(0),E=F(null),D=F(0),O=F(void 0),k=q.value,ne=o?o.providerId:null,A=()=>{l(!0),clearTimeout(O.current),O.current=window.setTimeout(()=>l(!1),wp)},re=()=>{clearTimeout(O.current),O.current=window.setTimeout(()=>{d(e=>e===`controls`?null:e),l(!1)},wp)},ie=e=>{let t=n.length;t&&(o&&(E.current=o.id),clearTimeout(w.current),v(null),g(null),a((e%t+t)%t))};P(()=>{let e=!0;return(async()=>{let t=await K.channels.get(n[i]);if(!e||!t)return;if(q.peek().pinHash){await Vl(t.providerId);let n=t.categoryId===null?null:await K.categories.get(t.categoryId)||null;if(!e)return;if(Ul(n,t.id)){s(t),kf(),b({channel:t,categoryId:t.categoryId});return}}s(t),A(),of.value=`full`;let r=(Kc.value||[]).find(e=>e.id===t.providerId);if(clearTimeout(C.current),!ee.current&&!h&&(await new Promise(e=>{C.current=window.setTimeout(e,350)}),!e))return;if(ee.current=!1,h){let e=h.program,n=Date.now(),i=np(t,e.start,n)?tp(t,e.start+h.offset,e.stop,n,{serverZone:r?r.serverTimezone:null}):null;if(!i){B(R(`archive_unavailable`)),g(null);return}Df({url:i,userAgent:r?r.userAgent:null,key:`arc:${t.id}:${e.id}:${h.offset}`},{onEnded:()=>ae(t,e)});return}let o=!1;Df({url:t.url,userAgent:r?r.userAgent:null,key:`live:${t.id}`},{onStarted:()=>{o||(o=!0,ou(t.providerId,`live`,t.id),Vc({lastChannelId:t.id}))},onFailed:()=>{let e=E.current;if(!q.peek().fallbackToPrevious||e===null||Date.now()-D.current<Mp)return;let t=n.indexOf(e);t<0||(D.current=Date.now(),E.current=null,a(t),B(R(`player_fallback_reason`,ip())))}})})(),()=>{e=!1,clearTimeout(C.current)}},[i,h,x]);let ae=async(e,t)=>{let n=(await Sl(e,t.stop-6e4,t.stop+216e5)).filter(e=>e.id!==t.id&&e.start>=t.stop-6e4).sort((e,t)=>e.start-t.start)[0];g(n&&n.stop<Date.now()?{program:n,offset:0}:null)},oe=()=>{clearTimeout(w.current),v(null),g(null)};P(()=>()=>clearTimeout(w.current),[]);let se=()=>h?h.offset+sf.peek():0,ce=e=>{if(!h)return;let t=Math.min(h.program.stop,Date.now()-6e4)-h.program.start,n=Math.max(0,Math.min(t,(_===null?se():_)+e));v(n),A(),clearTimeout(w.current),w.current=window.setTimeout(()=>{v(null);let e=o&&o.catchupType===`XTREAM`;g({program:h.program,offset:e?Math.floor(n/6e4)*6e4:n})},Tp)};P(()=>{ne!==null&&hd(ne)},[ne]),P(()=>{let e=setInterval(()=>{f.current&&te(e=>e+1)},5e3);return()=>{clearInterval(e),o&&(fd.value=o.id)}},[o]),P(()=>()=>clearTimeout(O.current),[]),P(()=>{if(!p)return;let e=setTimeout(()=>{X.peek()!==`paused`&&Af(),m(0),B(R(`sleep_triggered`))},p*6e4);return()=>clearTimeout(e)},[p]);let le=()=>{o&&(fd.value=o.id),pd.value=null,of.value=null,e()},ue=async()=>{if(!o)return;let e=await au(o.providerId,`live`,o.id);await hd(o.providerId),B(R(e?`player_favorite_added`:`player_favorite_removed`))},de=()=>{let e=Ep[(Ep.indexOf(af.value)+1)%Ep.length];af.value=e,B(R(`aspect_${e}`))},fe=e=>{e===`FAVORITE`?ue():e===`AUDIO`?d({page:`audio`,direct:!0}):e===`SUBTITLES`?d({page:`subs`,direct:!0}):e===`ASPECT`?de():e===`CHANNELS`?d(`list`):e===`INFO`?A():e===`GUIDE`&&d(`guide`)},pe=jn(async e=>{let t=-1;if(k.numbering===`CATEGORY`)t=e-1<n.length?e-1:-1;else if(ne!==null){let r=await K.channels.where(`[providerId+number]`).equals([ne,e]).first();t=r?n.indexOf(r.id):-1}t<0?B(R(`channel_not_found`)):ie(t)});P(()=>{let e=()=>{u||d({page:`main`,direct:!1})};return document.addEventListener(`longpress`,e),()=>document.removeEventListener(`longpress`,e)},[u]),tn((e,t)=>{if(u===`controls`&&re(),e.startsWith(`digit`))return pe.push(e.slice(5)),!0;if(h&&!u&&e===`stop`)return oe(),!0;if(h&&!u&&X.peek()!==`error`){if(e===`left`||e===`right`)return T.current=t&&t.repeat?T.current+1:0,ce((e===`left`?-1:1)*(T.current>4?12e4:3e4)),!0;if(e===`rew`||e===`ff`)return ce((e===`rew`?-1:1)*12e4),!0;if(e===`ok`||e===`playPause`||e===`play`||e===`pause`)return Af(),A(),!0}if(e===`back`)return u?d(null):c?(clearTimeout(O.current),l(!1)):le(),!0;if(!u&&(X.peek()!==`error`||e!==`ok`&&e!==`left`&&e!==`right`))switch(e){case`ok`:return d(`controls`),l(!0),re(),!0;case`up`:case`chUp`:return ie(i+1),!0;case`down`:case`chDown`:return ie(i-1),!0;case`left`:case`channelList`:return d(`list`),!0;case`right`:case`guide`:return d(`guide`),!0;case`last`:return E.current!==null&&n.indexOf(E.current)>=0&&ie(n.indexOf(E.current)),!0;case`info`:return c?l(!1):A(),!0;case`menu`:return d({page:`main`,direct:!1}),!0;case`playPause`:case`play`:case`pause`:return Af(),A(),!0;case`red`:return fe(k.colorKeys[0]),!0;case`green`:return fe(k.colorKeys[1]),!0;case`yellow`:return fe(k.colorKeys[2]),!0;case`blue`:return fe(k.colorKeys[3]),!0}});let M=!!o&&md.value.has(o.id),me=X.value,he=c&&!u||u===`controls`,ge=!!h&&!u&&(c||_!==null||me===`paused`);return j(`div`,{class:`player`,children:[j(gp,{}),me===`loading`&&j(`div`,{class:`player-center`,children:[j(`div`,{class:`spinner`}),rf.value>0&&j(`span`,{class:`retry-label`,children:R(`player_retrying`,rf.value)})]}),me===`paused`&&j(`div`,{class:`player-center`,children:j(z,{name:`pause`,class:`paused-icon`})}),me===`error`&&j(rp,{onRetry:Of,onBack:le}),o&&h&&ge&&j(Rp,{channel:o,program:h.program,target:_,offset:h.offset,paused:me===`paused`}),o&&!h&&he&&j(zp,{channel:o,number:k.numbering===`HIDDEN`?null:k.numbering===`CATEGORY`?i+1:o.number,favorite:M,hint:u!==`controls`,children:u===`controls`&&j(Bp,{favorite:M,subsOn:!1,onClose:()=>{d(null),A()},actions:{channels:()=>d(`list`),guide:()=>d(`guide`),audio:()=>d({page:`audio`,direct:!0}),subs:()=>d({page:`subs`,direct:!0}),picture:de,favorite:ue,more:()=>d({page:`main`,direct:!1}),back:le}})}),u===`list`&&j(Vp,{pager:r,count:n.length,current:i,title:dd.value,numberOf:(e,t)=>k.numbering===`HIDDEN`?null:k.numbering===`CATEGORY`?t+1:e?e.number:null,onPick:e=>{d(null),e!==i&&ie(e)}}),u===`guide`&&j(Hp,{pager:r,count:n.length,current:i,numberOf:(e,t)=>k.numbering===`HIDDEN`?null:k.numbering===`CATEGORY`?t+1:e.number,onPlay:e=>{d(null),e===i?oe():ie(e)},onArchive:(e,t)=>{d(null),t!==i&&ie(t),g({program:e,offset:0})}}),u&&typeof u==`object`&&j(Up,{page:u.page,direct:u.direct,favorite:M,sleepMin:p,setPage:e=>d({page:e,direct:!1}),close:()=>d(null),onFavorite:ue,onSleep:e=>{m(e),e&&B(R(`sleep_set`,e))},onGuide:()=>d(`guide`),onGoLive:h?()=>{d(null),oe()}:void 0}),j(Mn,{digits:pe.digits}),y&&j(Nn,{title:R(`pin_enter`),check:Ql,onDone:()=>{Wl(y.categoryId,y.channel.id),b(null),S(e=>e+1)},onClose:()=>{b(null);let e=E.current;e!==null&&n.indexOf(e)>=0?ie(n.indexOf(e)):le()}})]})}function Lp({text:e,live:t,archive:n}){return j(`span`,{class:`badge-sm${t?` live`:``}${n?` archive`:``}`,children:e})}function Rp(e){let{program:t}=e,n=e.target===null?e.offset+sf.value:e.target,r=Math.max(1,t.stop-t.start);return j(`div`,{class:`info-band archive-band`,children:j(`div`,{class:`band-row`,children:[j(`div`,{class:`band-left`,children:j(od,{src:e.channel.logo,size:64})}),j(`div`,{class:`band-mid`,children:[j(`div`,{class:`band-title`,children:[j(`span`,{class:`band-name`,children:e.channel.name}),j(Lp,{text:R(`player_archive`),archive:!0})]}),j(`p`,{class:`band-program`,children:t.title}),j(`div`,{class:`vod-bar-row`,children:[j(z,{name:e.paused?`play`:`pause`,class:`vod-state`}),j(`span`,{class:`vod-time`,children:Ml(t.start+n)}),j(`div`,{class:`vod-bar`,children:j(`span`,{class:`vod-played`,style:{width:`${Math.min(100,n/r*100)}%`}})}),j(`span`,{class:`vod-time`,children:Ml(t.stop)})]}),j(`p`,{class:`band-hint`,children:R(`tz_archive_hint`)})]}),j(`span`,{class:`band-clock`,children:Pp(new Date)})]})})}function zp(e){let t=e.channel,[n,r]=N(null),i=Pl.value;P(()=>{let e=!0;return wl(t).then(t=>e&&r(t)),()=>{e=!1}},[t.id,i]);let a=n&&n.now,o=n&&n.next,s=Mf().length,c=Nf().length,l=Fp(Lf());return j(`div`,{class:`info-band`,children:[j(`div`,{class:`band-row`,children:[j(`div`,{class:`band-left`,children:[e.number!==null&&j(`span`,{class:`band-number`,children:e.number}),j(od,{src:t.logo,size:64})]}),j(`div`,{class:`band-mid`,children:[j(`div`,{class:`band-title`,children:[j(`span`,{class:`band-name`,children:t.name}),e.favorite&&j(z,{name:`star`,class:`fav-star big`}),j(Lp,{text:R(`player_live`),live:!0}),l&&j(Lp,{text:l}),s>1&&j(Lp,{text:`♪ ${s}`}),c>0&&j(Lp,{text:`CC`})]}),a?j(x,{children:[j(`p`,{class:`band-program`,children:[j(`span`,{class:`band-time`,children:Nl(a)}),a.title]}),j(`div`,{class:`band-progress`,children:[j(sd,{value:Al(a)}),j(`span`,{children:R(`minutes_left`,Math.max(0,Math.round((a.stop-Date.now())/6e4)))})]})]}):j(`p`,{class:`band-program`,children:R(`no_program`)}),o&&j(`p`,{class:`band-next`,children:`${R(`next_label`)}: ${Ml(o.start)} ${o.title}`}),e.hint&&j(`p`,{class:`band-hint`,children:R(`player_hint_live`)})]}),j(`span`,{class:`band-clock`,children:Pp(new Date)})]}),e.children]})}function Bp(e){let t=F(null);P(()=>{L(t.current)},[]),tn(t=>{if(t===`back`)return e.onClose(),!0});let n=e.actions;return j(`div`,{class:`control-bar`,ref:t,"data-focus-scope":!0,children:[[`list`,R(`pc_channels`),n.channels],[`guide`,R(`player_guide`),n.guide],[`audio`,R(`player_audio`),n.audio],[`subtitles`,R(`player_subtitles`),n.subs,e.subsOn],[`aspect`,R(`pc_picture`),n.picture],[e.favorite?`star`:`starOutline`,R(`pc_favorite`),n.favorite,e.favorite],[`more`,R(`pc_more`),n.more],[`back`,R(`back`),n.back]].map(([e,t,n,r],i)=>j(`div`,{class:`cb-item`,children:[j(`button`,{class:`cb-btn${r?` active`:``}`,"data-focus":!0,"data-focus-default":i===0||void 0,onClick:n,children:j(z,{name:e})}),j(`span`,{class:`cb-label`,children:t})]},t))})}function Vp(e){let[t,n]=N(e.current),r=F(null);return P(()=>{setTimeout(()=>{let t=r.current&&r.current.querySelector(`[data-idx="${e.current}"]`);t&&t.focus()},0)},[]),j(`div`,{class:`list-overlay`,"data-focus-scope":!0,children:[j(`h2`,{children:e.title}),j(wd,{listRef:r,group:`player-list`,compact:!0,current:e.current,pager:e.pager,count:e.count,index:t,setIndex:n,numberOf:e.numberOf,focused:!0,onOpen:e.onPick,onMenu:()=>{}})]})}function Hp(e){let[t,n]=N(xp(Date.now()));return j(`div`,{class:`guide-overlay`,"data-focus-scope":!0,children:j(Cp,{pager:e.pager,count:e.count,initialRow:e.current,rowRem:5.2,translucent:!0,winStart:t,setWinStart:n,numberOf:e.numberOf,onChannel:(t,n)=>e.onPlay(n),onProgram:async(t,n,r)=>{let i=Date.now();t.start>i?B(R(await nd(t,n)?`guide_reminder_set`:`guide_reminder_removed`)):t.stop<=i&&np(n,t.start,i)?e.onArchive(t,r):e.onPlay(r)}})})}function Up(e){let t=F(null),n=cf.value,r=lf.value,i=e=>{cf.value=e},a=e=>{lf.value=e};P(()=>{L(t.current)},[e.page]),tn(t=>{if(t===`back`)return e.page!==`main`&&!e.direct?e.setPage(`main`):e.close(),!0});let o=()=>e.direct?e.close():e.setPage(`main`),s=Mf(),c=Nf(),l=(e,t,n)=>{let r=e.find(e=>e.index===t);return r?r.label:n},u=R(`player_options`),d=[];if(e.page===`main`){d=[{label:R(`player_audio`),value:s.length?l(s,n,R(`player_auto`)):R(`player_no_tracks`),onSelect:()=>e.setPage(`audio`)},{label:R(`player_subtitles`),value:dp.value?dp.value.label:l(c,r,R(`player_off`)),onSelect:()=>e.setPage(`subs`)},{label:R(`player_aspect`),value:R(`aspect_${af.value}`),onSelect:()=>e.setPage(`aspect`)}];let t=e.vod;if(t&&d.push({label:R(`player_speed`),value:jp(t.speed),onSelect:()=>e.setPage(`speed`)}),d.push({label:R(`player_sleep`),value:e.sleepMin?R(`sleep_set`,e.sleepMin):R(`sleep_off`),onSelect:()=>e.setPage(`sleep`)}),t&&t.prev&&d.push({label:R(`vod_prev_ep`),value:t.prev.title,onSelect:()=>{e.close(),t.prev.go()}}),t&&t.next&&d.push({label:R(`vod_next_ep`),value:t.next.title,onSelect:()=>{e.close(),t.next.go()}}),e.onGuide){let t=e.onGuide;d.push({label:R(`player_guide`),onSelect:t}),d.push({label:R(e.favorite?`menu_remove_favorite`:`menu_add_favorite`),onSelect:()=>{e.onFavorite(),e.close()}})}e.onGoLive&&d.unshift({label:R(`player_go_live`),onSelect:e.onGoLive}),d.push({label:R(`player_info`),onSelect:()=>e.setPage(`info`)})}else if(e.page===`audio`)u=R(`player_audio`),d=[{label:R(`player_auto`),checked:n===null,onSelect:()=>{i(null),o()}}].concat(s.map((e,t)=>({label:e.label||R(`track_n`,t+1),checked:n===e.index,onSelect:()=>{Pf(e.index),i(e.index),_f(`audio`,e),o()}})));else if(e.page===`subs`){u=R(`player_subtitles`);let t=dp.value;d=[{label:R(`player_off`),checked:r===null&&!t,onSelect:()=>{Ff(null),a(null),pp(),_f(`text`,null),o()}}],t&&d.push({label:t.label,checked:!0,onSelect:o}),d=d.concat(c.map((e,n)=>({label:e.label||R(`track_n`,n+1),checked:!t&&r===e.index,onSelect:()=>{pp(),Ff(e.index),a(e.index),_f(`text`,e),o()}})));let n=e.vod;n&&(d.push({label:R(`sub_find`),onSelect:()=>{e.close(),n.findSubs()}}),d.push({label:R(`sub_load`),onSelect:()=>{e.close(),n.loadSubs()}}),t&&d.push({label:R(`sub_offset`),value:Ap(fp.value),onSelect:()=>e.setPage(`offset`)}))}else if(e.page===`offset`)u=R(`sub_offset`),d=kp.map(e=>({label:Ap(e*1e3),checked:fp.value===e*1e3,onSelect:()=>{fp.value=e*1e3,o()}}));else if(e.page===`aspect`)u=R(`player_aspect`),d=Ep.map(e=>({label:R(`aspect_${e}`),checked:af.value===e,onSelect:()=>{af.value=e,o()}}));else if(e.page===`speed`&&e.vod){let t=e.vod;u=R(`player_speed`),d=Op.map(e=>({label:jp(e),checked:t.speed===e,onSelect:()=>{t.setSpeed(e),o()}}))}else if(e.page===`sleep`)u=R(`player_sleep`),d=Dp.map(t=>({label:t?R(`sleep_minutes`,t):R(`sleep_off`),checked:e.sleepMin===t,onSelect:()=>{e.onSleep(t),o()}}));else{u=R(`player_info`);let t=Lf();d=[{label:R(`info_video`,t?`${t}p`:R(`info_none`)),onSelect:()=>{}},{label:R(`info_audio`,s.length?s.map(e=>e.label).join(`, `):R(`info_none`)),onSelect:()=>{}},...If().map(e=>({label:e,onSelect:()=>{}})),{label:R(`back`),onSelect:()=>e.setPage(`main`)}]}let f=d.some(e=>e.checked);return j(`div`,{class:`options-panel`,ref:t,"data-focus-scope":!0,children:[j(`h2`,{children:u}),d.map((t,n)=>j(`button`,{class:`opt-row focus-row${t.checked?` selected`:``}`,"data-focus":!0,"data-focus-default":(f?t.checked:n===0)||void 0,onClick:t.onSelect,children:[j(`span`,{class:`opt-text`,children:[j(`span`,{class:`opt-label`,children:t.label}),t.value&&j(`span`,{class:`opt-value`,children:t.value})]}),t.checked?j(z,{name:`check`}):e.page===`main`&&t.value!==void 0?j(z,{name:`chevron`}):null]},`${e.page}-${n}`))]})}function Wp(){let e=of.value;if(e===`full`)return null;if(!e)return j(`div`,{class:`backdrop`,style:{left:0,top:0,right:0,bottom:0}});let t=window.innerWidth,n=window.innerHeight,r=(e,t,n,r)=>j(`div`,{class:`backdrop`,style:{left:`${e}px`,top:`${t}px`,width:`${n}px`,height:`${r}px`,backgroundPosition:`${-e}px ${-t}px`}});return j(x,{children:[r(0,0,t,e.y),r(0,e.y+e.h,t,n-e.y-e.h),r(0,e.y,e.x,e.h),r(e.x+e.w,e.y,t-e.x-e.w,e.h)]})}var Gp=Ls(`[^LETTER0-9]+`,`g`),Kp=e=>e.toLowerCase().split(Gp).filter(Boolean),qp=(e,t)=>t.every(t=>e.some(e=>e.startsWith(t)));function Jp(e,t){let n=e.toLowerCase();return n===t?0:n.startsWith(t)?1:n.indexOf(t)>=0?2:3}var Yp=null,Xp=40,Zp=null,Qp=null,$p=null,em=e=>!!(zl.value.get(e.id)||{}).hidden||Hl(e);function tm(e,t){return Zp&&Zp.stamp===t?Promise.resolve(Zp):(Qp||(Qp=nm(e,t).then(e=>(Qp=null,e),e=>{throw Qp=null,e})),Qp)}async function nm(e,t){let n=t=>{let n=[];return t.where(`providerId`).equals(e).each(e=>{n.push({id:e.id,name:e.name,categoryId:e.categoryId,w:Kp(e.name)})}).then(()=>n)},[r,i,a,o]=await Promise.all([n(K.channels),n(K.movies),n(K.series),K.categories.where(`providerId`).equals(e).toArray()]);return Zp={stamp:t,live:r,movie:i,series:a,blocked:new Set(o.filter(em).map(e=>e.id))},Zp}function rm(e,t,n,r,i=Xp){let a=[];for(let n of e)n.categoryId!==null&&r.has(n.categoryId)||qp(n.w,t)&&a.push(n);return a.sort((e,t)=>Jp(e.name,n)-Jp(t.name,n)||e.name.length-t.name.length).slice(0,i)}var im=e=>`${e&&e.lastSync||0}|${e&&e.lastEpgSync||0}`;async function am(e,t,n,r){let i=sm(r);if(!i)return null;let a=await tm(e,t);return new Set(rm(a[n],i.tokens,i.q,a.blocked,1/0).map(e=>e.id))}function om(e,t){tm(e,t).then(()=>um(e,t)).catch(()=>{})}var sm=e=>{let t=e.trim().toLowerCase(),n=Kp(t);return t.length<2||!n.length?null:{q:t,tokens:n}};async function cm(e,t,n,r=Xp){let i=sm(n);if(!i)return null;let{q:a,tokens:o}=i,s=await tm(e,t);return{channels:rm(s.live,o,a,s.blocked,r),movies:rm(s.movie,o,a,s.blocked,r),series:rm(s.series,o,a,s.blocked,r)}}async function lm(e,t,n,r=Xp){let i=sm(n);if(!i)return[];let{tokens:a}=i,o=await tm(e,t),s=await um(e,t),c=Date.now()-216e5,l=[];for(let e of s.list)if(e.stop>c&&qp(e.w,a)&&l.push(e.id),l.length>=400)break;let u=(await K.programs.bulkGet(l)).filter(e=>!!e).sort((e,t)=>e.start-t.start),d=await K.epgLinks.where(`providerId`).equals(e).toArray(),f=new Map;for(let e of d)f.has(e.key)||f.set(e.key,e.id);let p=new Map(o.live.map(e=>[e.id,e])),m=[];for(let e of u){let t=p.get(f.get(e.key)||-1);if(!(!t||t.categoryId!==null&&o.blocked.has(t.categoryId))&&(m.push({program:e,channelId:t.id}),m.length>=r))break}return m}function um(e,t){return Yp&&Yp.stamp===t&&Date.now()-Yp.at<36e5?Promise.resolve(Yp):($p||($p=dm(e,t).then(e=>($p=null,e),e=>{throw $p=null,e})),$p)}async function dm(e,t){let n=Date.now()-216e5,r=[];return await K.programs.where(`providerId`).equals(e).each(e=>{e.stop>n&&r.push({id:e.id,start:e.start,stop:e.stop,w:Kp(e.title)})}),Yp={stamp:t,at:Date.now(),list:r},Yp}function fm(e){let t=e.trim();t.length<2||Vc({searchHistory:[t,...(q.peek().searchHistory||[]).filter(e=>e.toLowerCase()!==t.toLowerCase())].slice(0,12)})}document.addEventListener(`focusin`,e=>{let t=e.target;if(t.closest(`.scrim`))return;let n=t.closest(`.bs-panel`);document.body.classList.toggle(`catalog-focus`,!!t.closest(`.browse`)),document.body.classList.toggle(`catalog-panel`,!!n),Array.prototype.forEach.call(document.querySelectorAll(`.bs-panel`),e=>{e===n?e.setAttribute(`data-focus-scope`,``):e.removeAttribute(`data-focus-scope`)})});var pm=()=>qt(document.querySelector(`.topbar .selected`));function mm(e){return document.body.classList.add(`catalog-panel`),L(e)}var hm=()=>L(document.querySelector(`.browse .browse-main`));function gm(e){let t=F(null),n=e.panelRef||t,r=F(null),i=F(null);P(()=>{let e=r.current,t=e=>{i.current=e.target};return e.addEventListener(`focusin`,t),()=>e.removeEventListener(`focusin`,t)},[]);let a=()=>{let e=i.current;return e&&e.isConnected&&r.current.contains(e)?qt(e):L(r.current)};return tn(e=>{var t,i;let o=document.activeElement;if(o&&(t=n.current)!=null&&t.contains(o))return e===`back`||e===`right`&&!(o.classList.contains(`bb-tab`)&&o.nextElementSibling)?a():e===`up`&&o===n.current.querySelector(`[data-focus]`)?pm():void 0;if(e===`back`&&gd.peek().length)return vd(),!0;if(e===`left`&&o&&(i=r.current)!=null&&i.contains(o))return Qt(`left`)||mm(n.current)}),j(`div`,{class:`browse`,children:j(`div`,{class:`browse-layout`,children:[j(`aside`,{class:`browse-side`,children:[j(`span`,{class:`bs-rail`,children:[j(z,{name:`list`}),j(`span`,{class:`bs-rail-title`,children:e.title})]}),j(`div`,{class:`bs-panel`,ref:n,"data-focus-group":`browse-side`,children:e.panel})]}),j(`div`,{class:`browse-main`,ref:r,children:e.children})]})})}var _m=1.8,vm=1.2,ym=6,bm=4.2,xm=1.5;function Sm(e){let{items:t}=e,[n,r]=N(0),[i,a]=N(16),o=i*xm+bm+_m,s=F(null);return P(()=>{r(0),s.current&&(s.current.scrollTop=0);let n=document.activeElement;e.autoFocus!==!1&&t&&t.length&&!(n&&n.closest(`.bs-panel`))&&setTimeout(()=>L(s.current),0)},[t===null||t.length===0?null:t[0]]),P(()=>{let e=s.current,t=()=>a(Math.max(2,Math.floor(((e.clientWidth/Ed()-2*vm)/ym-_m)*100)/100));t(),window.addEventListener(`resize`,t);let n=e=>{let t=e.target.closest(`[data-idx]`);t&&r(Number(t.getAttribute(`data-idx`)))};return e.addEventListener(`focusin`,n),()=>{e.removeEventListener(`focusin`,n),window.removeEventListener(`resize`,t)}},[]),P(()=>{let r=s.current;r&&r.contains(document.activeElement)&&(r.scrollTop=Math.floor(n/ym)*o*Ed()),t&&e.onNearEnd&&n>=t.length-24&&e.onNearEnd()},[n,o]),tn(n=>{var r,i;let a=document.activeElement;if(n!==`up`&&n!==`down`||!((r=s.current)!=null&&r.contains(a)))return;let o=Number(a==null||(i=a.closest(`[data-idx]`))==null?void 0:i.getAttribute(`data-idx`));if(n===`up`&&o<ym)return(e.onTop||pm)();let c=n===`up`?o-ym:Math.min(((t==null?void 0:t.length)||1)-1,o+ym);return c===o||qt(s.current.querySelector(`[data-idx="${c}"] [data-focus]`))}),j(`div`,{class:`browse-grid ${e.kind}`,ref:s,"data-focus-group":`browse`,"data-focus-noscroll":!0,style:{"--cw":`${i}rem`,"--caption-h":`${bm}rem`},children:[!t&&j(wn,{}),t&&!t.length&&j(`p`,{class:`empty`,children:e.empty||R(`vod_empty`)}),t&&(()=>{let r=Math.ceil(t.length/ym),i=Math.floor(n/ym),a=Math.max(0,i-4),s=Math.min(r,i+7),c=[j(`span`,{class:`grid-spacer`,style:{height:`${a*o}rem`}},`top`)];for(let n=a*ym;n<Math.min(t.length,s*ym);n++){var l;let r=Du(t[n]);c.push(j(`span`,{"data-idx":n,class:`grid-cell`,children:j(`span`,{class:`catalog-poster`,children:[j(jd,{card:r,onClick:()=>{var t;(t=e.onOpen)==null||t.call(e),zd(e.kind,r)}}),j(`span`,{class:`catalog-title`,children:r.title}),j(`span`,{class:`catalog-meta`,children:[r.rating?`★ ${r.rating.toFixed(1)}`:null,(l=r.item)==null?void 0:l.year].filter(Boolean).join(` · `)})]})},r.key))}return c.push(j(`span`,{class:`grid-spacer`,style:{height:`${(r-s)*o+54}rem`}},`bottom`)),c})()]})}var Cm=[[`added`,`sort_added`],[`name`,`sort_name`],[`rating`,`sort_rating`],[`year`,`sort_year`]];function wm(e){let t=e=>{gd.peek().length?yd(e):_d(e)},n=qc.value,r=(Kc.value||[]).find(e=>e.id===n),i=(r==null?void 0:r.lastSync)||0,[a,o]=N(e.sort||`added`),[s,c]=N(e.filter.genre||null),[l,u]=N(``),[d,f]=N(``),[p,m]=N(null),[h,g]=N([]),[_,v]=N([]),[y,b]=N(null);P(()=>{Fu(n,e.kind,i).then(v),Ou(n,e.kind).then(e=>g(e.filter(e=>!e.adult&&Gl(e)&&!Ul(e))))},[n,e.kind,i]),P(()=>{c(e.filter.genre||null)},[JSON.stringify(e.filter)]),P(()=>{let e=setTimeout(()=>f(l.trim()),400);return()=>clearTimeout(e)},[l]),P(()=>{let t=!0;return m(null),(async()=>{let i=await Lu(n,e.kind,{categoryIds:e.filter.categoryIds,genre:s||void 0,favorites:e.filter.favorites},a),o=d.length>=2?await am(n,im(r),e.kind,d):null;o&&(i=i.filter(e=>o.has(e.id))),t&&m(i)})(),()=>{t=!1}},[n,a,s,d,e.kind,JSON.stringify(e.filter)]);let S=e.filter.platformKey?sc.find(t=>t.key===e.filter.platformKey):uc(e.title),C=R(`genre_label`,s||R(`browse_all`)),ee=R(`sort_label`,R(Cm.find(([e])=>e===a)[1])),w=(n,r,i,a)=>j(`button`,{class:`focus-row${n?` selected`:``}`,"data-focus":!0,"data-focus-initial":n||void 0,onClick:()=>t({name:`browse`,kind:e.kind,title:r,filter:i}),children:r},a),T=j(x,{children:[j(Em,{kind:e.kind,title:e.title,filter:e.filter,platform:S||null,genreCount:(e.filter.genre||e.filter.favorites||d.length>=2)&&p?p.length:null,children:j(`div`,{class:`bb-sorts`,children:[j(Tn,{label:``,value:l,onInput:u,placeholder:R(e.kind===`movie`?`browse_search_movies`:`browse_search_series`),class:`bs-search`}),j(`button`,{class:`chip`,"data-focus":!0,onClick:()=>b({title:ee,items:Cm.map(([e,t])=>({label:R(t),checked:e===a,onSelect:()=>o(e)}))}),children:ee}),_.length>0&&j(`button`,{class:`chip bb-genre`,"data-focus":!0,onClick:()=>b({title:C,items:[null,..._].map(e=>({label:e||R(`browse_all`),checked:e===s,onSelect:()=>c(e)}))}),children:C})]})}),j(`span`,{class:`ux-eyebrow`,children:R(`ux_categories`)}),w(e.filter.all,R(`ux_all_content`),{all:!0}),w(e.filter.favorites,R(`shelf_favorites`),{favorites:!0}),h.map(t=>{var n;return w((n=e.filter.categoryIds)==null?void 0:n.includes(t.id),t.name,{categoryIds:[t.id]},t.id)})]});return j(x,{children:[j(gm,{title:e.title,panel:T,children:j(Sm,{kind:e.kind,items:p,empty:d.length>=2?R(`search_no_results`,d):void 0})}),y&&j(An,{title:y.title,items:y.items,onClose:()=>b(null)})]})}var Tm=e=>{let t=parseInt(e.slice(1),16);return`${t>>16}, ${t>>8&255}, ${t&255}`};function Em(e){let t=qc.value,{platform:n,filter:r}=e,[i,a]=N(null);P(()=>{let n=!0;return(async()=>{let i={movie:[],series:[]};if(r.platformKey)for(let e of[`movie`,`series`])i[e]=(await Ou(t,e)).filter(e=>!e.adult&&(uc(e.name)||{key:``}).key===r.platformKey).map(e=>e.id);else r.categoryIds&&(i[e.kind]=r.categoryIds);let o=async n=>r.platformKey||r.categoryIds?i[n].length?Eu(n).where(`categoryId`).anyOf(i[n]).count():0:n===e.kind&&r.all?Eu(n).where(`providerId`).equals(t).count():0,[s,c]=await Promise.all([o(`movie`),o(`series`)]);n&&a({movie:s,series:c,ids:i})})(),()=>{n=!1}},[t,e.kind,JSON.stringify(r)]);let o=!!n&&!!r.platformKey&&!!i&&i.movie>0&&i.series>0,s=t=>i?t===e.kind&&e.genreCount!==null?e.genreCount:i[t]:0,c=i&&!o?[`movie`,`series`].filter(e=>s(e)>0).map(e=>R(e===`movie`?`browse_movie_count`:`browse_series_count`,s(e))).join(` · `):``,l=n?Tm(n.color):`var(--accent-rgb)`,u=t=>{t!==e.kind&&i&&yd({name:`browse`,kind:t,title:e.title,filter:{categoryIds:i.ids[t],platformKey:r.platformKey}})};return j(`div`,{class:`browse-bar`,style:{background:`linear-gradient(90deg, rgba(${l}, 0.55), rgba(${l}, 0.12) 45%, rgba(255, 255, 255, 0.04))`},children:[j(`div`,{class:`bb-id`,children:[n?j(`span`,{class:`browse-logo`,children:j(Nd,{p:n})}):j(`h1`,{class:`bb-title`,children:e.title}),c&&j(`span`,{class:`bb-count`,children:c})]}),o&&j(`div`,{class:`bb-tabs`,"data-focus-group":`browse-tabs`,children:[`movie`,`series`].map(t=>j(`button`,{class:`bb-tab${t===e.kind?` selected`:``}`,"data-focus":!0,"data-focus-initial":t===e.kind||void 0,onClick:()=>u(t),children:[R(t===`movie`?`nav_movies`:`nav_series`),j(`span`,{class:`bb-tab-count`,children:` ${i[t]}`})]},t))}),j(`span`,{class:`spacer`}),e.children]})}var Dm=e=>{let t=Math.floor(e/1e3),n=Math.floor(t/3600),r=Math.floor(t%3600/60);return n?`${n}:${Nu(r)}:${Nu(t%60)}`:`${Nu(r)}:${Nu(t%60)}`},Om=e=>!!e&&!e.watched&&e.position>1e4;function km({src:e}){return j(`div`,{class:`detail-backdrop`,children:[e&&j(`img`,{src:e,alt:``,decoding:`async`}),j(`span`,{class:`db-h`}),j(`span`,{class:`db-v`})]})}function Am({chips:e}){return j(`div`,{class:`meta-chips`,children:e.filter(Boolean).map(e=>j(`span`,{class:`meta-chip${e.startsWith(`★`)?` gold`:``}`,children:e},e))})}function jm(e,t){let[n,r]=N([]);return P(()=>{e&&Ru(e,t).then(r)},[e&&e.id]),n}function Mm(e,t,n){return{title:R(`vod_versions`,e.length),items:e.map(e=>({label:Zs(e.name)||R(`vod_version_standard`),checked:e.id===t.id,onSelect:()=>{e.id!==t.id&&yd(n===`movie`?{name:`movie`,id:e.id}:{name:`series`,id:e.id})}}))}}function Nm(){tn(e=>{if(e===`back`)return vd(),!0})}function Pm({id:e}){let[t,n]=N(null),[r,i]=N(),[a,o]=N(!1),[s,c]=N([]),[l,u]=N(null),[d,f]=N(!1),p=F(null),m=jm(t,`movie`);Nm();let h=async()=>{i(await Cu(e)),o(!!await K.favorites.get(e))};if(P(()=>{let t=!0;K.movies.get(e).then(async r=>{if(!r||!t)return;n(r);let i=await _u(r);if(!t||(n(i),r.categoryId===null))return;let a=(await Au(r.categoryId,21)).filter(t=>t.id!==e).slice(0,20);t&&c(a)}),h();let r=()=>h();return window.addEventListener(`utopya:progress`,r),()=>{t=!1,window.removeEventListener(`utopya:progress`,r)}},[e]),P(()=>{t&&setTimeout(()=>L(p.current),0)},[!!t]),!t)return j(wn,{page:!0});let g=Om(r),_=!!r&&r.watched,v=e=>_d({name:`vod`,kind:`movie`,id:t.id,startMs:e}),y=[[g?R(`vod_resume`,Dm(r.position)):R(`vod_play`),()=>v(g?r.position:0)]];return g&&y.push([R(`vod_restart`),()=>v(0)]),m.length>1&&y.push([R(`vod_versions`,m.length),()=>u(Mm(m,t,`movie`))]),y.push([R(a?`vod_remove_favorite`:`vod_add_favorite`),async()=>{await au(t.providerId,`movie`,t.id),h()}]),y.push([R(_?`vod_mark_unwatched`:`vod_mark_watched`),async()=>{await Su(`movie`,t.id,t.providerId,null,!_),h()}]),j(`div`,{class:`detail`,children:[j(km,{src:t.backdrop||t.poster}),j(`div`,{class:`detail-scroll`,children:[j(`button`,{class:`btn outline back-btn`,"data-focus":!0,onClick:vd,children:[j(z,{name:`back`}),R(`back`)]}),j(`div`,{class:`detail-row`,children:[j(`div`,{class:`detail-poster`,children:t.poster&&j(`img`,{src:t.poster,alt:``})}),j(`div`,{class:`detail-info`,children:[j(`h1`,{children:t.name}),j(Am,{chips:[t.year,t.durationSec?R(`vod_minutes`,Math.ceil(t.durationSec/60)):null,Dd(t.rating),t.genre]}),t.plot&&j(`p`,{class:`detail-plot`,children:t.plot}),t.director&&j(`p`,{class:`detail-credit`,children:R(`vod_director`,t.director)}),t.cast&&j(`p`,{class:`detail-credit`,children:R(`vod_cast`,t.cast)}),j(`button`,{class:`btn outline full-details-btn`,"data-focus":!0,onClick:()=>f(!0),children:R(`ux_full_details`)}),j(`div`,{class:`detail-actions`,ref:p,children:y.map(([e,t],n)=>j(`button`,{class:`btn ${n===0?`primary`:`outline`}`,"data-focus":!0,"data-focus-default":n===0||void 0,onClick:t,children:e},e))})]})]}),s.length>0&&j(Rd,{title:R(`shelf_similar`),info:!0,children:s.map(e=>{let t=Du(e);return j(jd,{card:t,onClick:()=>yd({name:`movie`,id:t.id})},t.key)})})]}),d&&j(Rm,{title:t.name,plot:t.plot,credits:[t.director&&R(`vod_director`,t.director),t.cast&&R(`vod_cast`,t.cast)],onClose:()=>f(!1)}),l&&j(An,{title:l.title,items:l.items,onClose:()=>u(null)})]})}function Fm(e,t){if(!e.length)return null;let n=e.filter(e=>Om(t.get(e.id))).sort((e,n)=>t.get(n.id).updated-t.get(e.id).updated)[0];if(n)return{ep:n,pos:t.get(n.id).position};let r=-1;return e.forEach((e,n)=>{let i=t.get(e.id);i&&i.watched&&(r=n)}),{ep:e[Math.min(r+1,e.length-1)],pos:0}}function Im({id:e,season:t}){let[n,r]=N(null),[i,a]=N(null),[o,s]=N(new Map),[c,l]=N(!1),[u,d]=N(t||null),[f,p]=N(null),[m,h]=N(!1),g=F(null),_=jm(n,`series`);Nm();let v=async(t=i)=>{t&&s(await wu(t.map(e=>e.id))),l(!!await K.favorites.get(e))};if(P(()=>{let t=!0;K.series.get(e).then(async e=>{if(!e||!t)return;r(e);let n=await vu(e);t&&(r(n.series),a(n.episodes),n.episodes.length&&u===null&&d(Math.min(...n.episodes.map(e=>e.season))),v(n.episodes))});let n=()=>v();return window.addEventListener(`utopya:progress`,n),()=>{t=!1,window.removeEventListener(`utopya:progress`,n)}},[e]),P(()=>{n&&setTimeout(()=>L(g.current),0)},[!!n]),!n)return j(wn,{page:!0});let y=i?Fm(i,o):null,b=i?[...new Set(i.map(e=>e.season))].sort((e,t)=>e-t):[],x=(e,t)=>_d({name:`vod`,kind:`episode`,id:e.id,seriesId:n.id,startMs:t}),S=e=>`S${Nu(e.season)}E${Nu(e.episode)}`,C=[];y&&C.push([y.pos?R(`vod_resume`,`${S(y.ep)} · ${Dm(y.pos)}`):`${R(`vod_play`)} ${S(y.ep)}`,()=>x(y.ep,y.pos)]),_.length>1&&C.push([R(`vod_versions`,_.length),()=>p(Mm(_,n,`series`))]),C.push([R(c?`vod_remove_favorite`:`vod_add_favorite`),async()=>{await au(n.providerId,`series`,n.id),v()}]);let ee=e=>{let t=o.get(e.id),r=!!t&&t.watched;p({title:e.title,items:[{label:R(r?`vod_mark_unwatched`:`vod_mark_watched`),onSelect:async()=>{await Su(`episode`,e.id,n.providerId,n.id,!r),v()}}]})};return j(`div`,{class:`detail`,children:[j(km,{src:n.backdrop||n.poster}),j(`div`,{class:`detail-scroll series`,children:[j(`button`,{class:`btn outline back-btn`,"data-focus":!0,onClick:vd,children:[j(z,{name:`back`}),R(`back`)]}),j(`div`,{class:`detail-row`,children:[j(`div`,{class:`detail-poster`,children:n.poster&&j(`img`,{src:n.poster,alt:``})}),j(`div`,{class:`detail-info`,children:[j(`h1`,{children:n.name}),j(Am,{chips:[n.year,Dd(n.rating),n.genre]}),n.plot&&j(`p`,{class:`detail-plot`,children:n.plot}),n.cast&&j(`p`,{class:`detail-credit`,children:R(`vod_cast`,n.cast)}),j(`button`,{class:`btn outline full-details-btn`,"data-focus":!0,onClick:()=>h(!0),children:R(`ux_full_details`)}),j(`div`,{class:`detail-actions`,ref:g,children:C.map(([e,t],n)=>j(`button`,{class:`btn ${n===0?`primary`:`outline`}`,"data-focus":!0,"data-focus-default":n===0||void 0,onClick:t,children:e},e))})]})]}),b.length>1?j(`div`,{class:`season-chips`,children:b.map(e=>j(`button`,{class:`chip${e===u?` selected`:``}`,"data-focus":!0,onClick:()=>d(e),children:R(`vod_season`,e)},e))}):j(`div`,{class:`season-gap`}),i===null&&j(`p`,{class:`muted`,children:R(`vod_episodes_loading`)}),i&&!i.length&&j(`p`,{class:`muted`,children:R(`vod_no_episodes`)}),j(`div`,{class:`episode-list`,"data-focus-group":`episodes`,children:i&&i.filter(e=>e.season===u).map(e=>j(Lm,{e,poster:n.poster,p:o.get(e.id),onClick:()=>{let t=o.get(e.id);x(e,t&&!t.watched?t.position:0)},onLongPress:()=>ee(e)},e.id))})]}),m&&j(Rm,{title:n.name,plot:n.plot,credits:[n.cast&&R(`vod_cast`,n.cast)],onClose:()=>h(!1)}),f&&j(An,{title:f.title,items:f.items,onClose:()=>p(null)})]})}function Lm(e){let{e:t,p:n}=e,r=n&&!n.watched&&n.duration?n.position/n.duration:0;return j(`button`,{onlongpress:e.onLongPress,class:`episode-row focus-row`,"data-focus":!0,onClick:e.onClick,children:[j(`span`,{class:`ep-thumb`,children:[(t.poster||e.poster)&&j(Sn,{src:t.poster||e.poster}),r>0&&r<.95&&j(`span`,{class:`poster-progress`,children:j(`span`,{style:{width:`${Math.round(r*100)}%`}})})]}),j(`span`,{class:`ep-text`,children:[j(`span`,{class:`ep-title`,children:R(`vod_episode_title`,t.episode,t.title)}),t.plot&&j(`span`,{class:`ep-plot`,children:t.plot})]}),t.durationSec?j(`span`,{class:`ep-min`,children:R(`vod_minutes`,Math.round(t.durationSec/60))}):null,n&&n.watched&&j(z,{name:`check`,class:`ep-watched`})]})}function Rm({title:e,plot:t,credits:n,onClose:r}){let i=F(null),a=F(null),o=F(document.activeElement);return P(()=>(qt(a.current),()=>{var e;(e=o.current)!=null&&e.isConnected&&qt(o.current)}),[]),tn(e=>{if(e===`back`)return r(),!0;if(document.activeElement===a.current&&[`up`,`down`,`chUp`,`chDown`].includes(e)){let t=a.current,n=e===`up`||e===`chUp`?-1:1,r=t.scrollTop;if(t.scrollTop+=n*Math.max(60,t.clientHeight/4),t.scrollTop!==r)return!0}return`default`}),j(`div`,{class:`scrim`,"data-focus-scope":!0,children:j(`div`,{class:`full-details-dialog`,ref:i,role:`dialog`,"aria-modal":`true`,"aria-label":e,children:[j(`h2`,{children:e}),j(`div`,{class:`full-details-text`,ref:a,"data-focus":!0,tabIndex:-1,children:[t&&j(`p`,{children:t}),n.filter(Boolean).map(e=>j(`p`,{children:e},e))]}),j(`button`,{class:`btn outline`,"data-focus":!0,onClick:r,children:R(`back`)})]})})}var zm=`keys`,Bm=null;function Vm(){return new Promise((e,t)=>{let n=indexedDB.open(`utopya-keys`,1);n.onupgradeneeded=()=>n.result.createObjectStore(zm),n.onsuccess=()=>e(n.result),n.onerror=()=>t(n.error)})}function Hm(e){return new Promise((t,n)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>n(e.error)})}function Um(){return Bm||(Bm=(async()=>{let e=window.crypto&&window.crypto.subtle;if(!e)return null;try{let t=await Vm(),n=await Hm(t.transaction(zm).objectStore(zm).get(`main`));if(n)return n;let r=await e.generateKey({name:`AES-GCM`,length:256},!1,[`encrypt`,`decrypt`]);return await Hm(t.transaction(zm,`readwrite`).objectStore(zm).put(r,`main`)),r}catch(e){return console.warn(`şifreleme anahtarı yok`,e),null}})()),Bm}var Wm=e=>btoa(String.fromCharCode.apply(null,Array.prototype.slice.call(new Uint8Array(e)))),Gm=e=>Uint8Array.from(atob(e),e=>e.charCodeAt(0));async function Km(e){let t=await Um();if(!t)return`p:${e}`;let n=crypto.getRandomValues(new Uint8Array(12)),r=await crypto.subtle.encrypt({name:`AES-GCM`,iv:n},t,new TextEncoder().encode(e));return`v1:${Wm(n)}:${Wm(r)}`}async function qm(e){if(e.startsWith(`p:`))return e.slice(2);let t=/^v1:([^:]+):(.+)$/.exec(e),n=await Um();if(!t||!n)return null;try{let e=await crypto.subtle.decrypt({name:`AES-GCM`,iv:Gm(t[1])},n,Gm(t[2]));return new TextDecoder().decode(e)}catch(e){return null}}var Jm=`https://api.opensubtitles.com/api/v1`,Ym=`UtopyaTV v1.0`,Xm=`utopya.opensubtitles`;async function Zm(){try{let e=localStorage.getItem(Xm),t=e&&await qm(e);return t?JSON.parse(t):null}catch(e){return null}}var Qm=null;async function $m(e){Qm=null;try{e&&(e.key||e.user||e.pass)?localStorage.setItem(Xm,await Km(JSON.stringify(e))):localStorage.removeItem(Xm)}catch(e){}}var eh=class extends Error{};async function th(e,t,n,r){let i=n?`?`+Object.keys(n).sort().map(e=>`${e.toLowerCase()}=${encodeURIComponent(String(n[e]).toLowerCase())}`).join(`&`):``,a={"Api-Key":e.key,Accept:`application/json`,"X-User-Agent":Ym};Qm&&(a.Authorization=`Bearer ${Qm}`),r&&(a[`Content-Type`]=`application/json`);let o=await fetch(wr(Jm+t+i),{method:r?`POST`:`GET`,headers:a,body:r?JSON.stringify(r):void 0,credentials:`omit`});if(o.status===406||o.status===429)throw new eh;if(!o.ok)throw Error(`OpenSubtitles ${o.status}`);return o.json()}var nh=65536;function rh(e,t,n){let r=e>>>0,i=Math.floor(e/4294967296)>>>0;for(let e of[t,n]){let t=new DataView(e.buffer,e.byteOffset,e.byteLength);for(let n=0;n+8<=e.byteLength;n+=8){let e=r+t.getUint32(n,!0);r=e>>>0,i=i+t.getUint32(n+4,!0)+ +(e>4294967295)>>>0}}let a=e=>(`00000000`+e.toString(16)).slice(-8);return a(i)+a(r)}async function ih(e,t,n){let r=await fetch(wr(e),{headers:{Range:`bytes=${t}-${n}`},credentials:`omit`});if(r.status!==206)return null;let i=parseInt((r.headers.get(`content-range`)||``).split(`/`)[1],10);return{bytes:new Uint8Array(await r.arrayBuffer()),total:i}}async function ah(e){try{let t=await ih(e,0,65535);if(!t||!(t.total>=2*nh))return null;let n=await ih(e,t.total-nh,t.total-1);return n?rh(t.total,t.bytes,n.bytes):null}catch(e){return null}}function oh(e,t,n){let r=e.filter(e=>e.attributes.files&&e.attributes.files.length),i=e=>{let n=e.attributes.feature_details||{};return t.season===void 0||n.season_number===t.season&&n.episode_number===t.episode},a=e=>{let n=e.attributes.feature_details||{};return t.season===void 0||n.season_number===void 0||n.season_number===t.season},o=$s(t.title).map(Ks),s=t.year?parseInt(t.year,10):NaN,c=e=>{let n=e.attributes.feature_details||{},r=Ks((t.season===void 0?n.title:n.parent_title)||``);return!r||o.indexOf(r)<0?!1:isNaN(s)||!n.year||Math.abs(n.year-s)<=1},l=e=>e.sort((e,t)=>(t.attributes.download_count||0)-(e.attributes.download_count||0))[0]||null;return l(r.filter(e=>String(e.attributes.moviehash_match)===`true`&&a(e)))||(n?l(r.filter(i)):null)||l(r.filter(e=>i(e)&&c(e)))}async function sh(e,t){let n=await Zm();if(!n||!n.key)return{kind:`no_key`};try{let r=await ah(e.url),i={languages:t};r&&(i.moviehash=r),e.season===void 0?i.type=`movie`:(i.type=`episode`,i.season_number=e.season,i.episode_number=e.episode);let a=async e=>(await th(n,`/subtitles`,V(V({},i),e))).data||[],o=null;e.tmdbId&&+e.tmdbId>0&&(o=oh(await a(e.season===void 0?{tmdb_id:e.tmdbId}:{parent_tmdb_id:e.tmdbId}),e,!0));for(let t of $s(e.title).reverse()){if(o)break;let n={query:t.toLowerCase()};e.season===void 0&&e.year&&(n.year=e.year.slice(0,4)),o=oh(await a(n),e,!1)}if(!o)return{kind:`not_found`};if(n.user&&!Qm)try{Qm=(await th(n,`/login`,null,{username:n.user,password:n.pass})).token||null}catch(e){}let s=await th(n,`/download`,null,{file_id:o.attributes.files[0].file_id});if(!s.link)return{kind:`not_found`};let c=await fetch(wr(s.link),{credentials:`omit`});if(!c.ok)return{kind:`failed`};let l=up(await c.arrayBuffer());return l.trim()?{kind:`found`,name:o.attributes.release||`OpenSubtitles`,text:l}:{kind:`failed`}}catch(e){return e instanceof eh?{kind:`limit`}:(console.warn(`OpenSubtitles`,e),{kind:`failed`})}}var ch=4e3,lh=650,uh=[`fit`,`fill`,`zoom`],dh=e=>e<10?`0${e}`:`${e}`,fh=()=>{let e=new Date;return`${dh(e.getHours())}:${dh(e.getMinutes())}`},ph=e=>`S${Nu(e.season)}E${Nu(e.episode)}`;function mh(e){let[t,n]=N(null),[r,i]=N([]),[a,o]=N(null),[s,c]=N(!0),l=F(!0);l.current=s||a!==null;let[u,d]=N(null),[f,p]=N(null),[m,h]=N(!1),[g,_]=N(1),[v,y]=N(0),[,b]=N(0),S=F(void 0),C=F(void 0),ee=F(0),w=F(!1),T=F(!1),[te,E]=N(!1),D=r.findIndex(t=>t.id===e.id),O=D>0?r[D-1]:null,k=D>=0&&D<r.length-1?r[D+1]:null,ne=F({props:e,info:t});ne.current={props:e,info:t};let A=(e=!1)=>{var t;let{props:n,info:r}=ne.current,i=Rf();if(!r||i<=0)return;let a=w.current?i:sf.peek();n.kind!==`stream`&&(xu(n.kind,n.id,r.providerId,(t=n.seriesId)==null?null:t,a,i),e&&window.dispatchEvent(new Event(`utopya:progress`)))},re=()=>{c(!0),clearTimeout(S.current),S.current=window.setTimeout(()=>c(!1),ch)};P(()=>{let t=!0;return w.current=!1,T.current=!1,clearTimeout(C.current),d(null),_(1),pp(),h(!1),p(null),(async()=>{let r;if(e.kind===`stream`)r={title:e.title||``,sub:``,url:e.url,userAgent:null,providerId:-1,target:{title:e.title||``,year:null,url:e.url,tmdbId:null}};else if(e.kind===`movie`){let t=await K.movies.get(e.id);if(!t)return;r={title:t.name,sub:t.year||``,url:t.url,userAgent:null,providerId:t.providerId,target:{title:t.name,year:t.year,url:t.url,tmdbId:t.tmdbId||null}}}else{let[n,a]=await Promise.all([K.episodes.get(e.id),K.series.get(e.seriesId)]);if(!n||!a)return;r={title:a.name,sub:`${ph(n)} · ${n.title}`,url:n.url,userAgent:null,providerId:a.providerId,target:{title:a.name,year:a.year,season:n.season,episode:n.episode,url:n.url,tmdbId:a.tmdbId||null}},t&&i(yu(await K.episodes.where(`seriesId`).equals(a.id).toArray()))}let a=(Kc.value||[]).find(e=>e.id===r.providerId);if(r.userAgent=a?a.userAgent:null,!t)return;n(r);let o=e.startMs;if(o===void 0){let t=await Cu(e.id);o=t&&!t.watched?t.position:0}of.value=`full`,Df({url:r.url,userAgent:r.userAgent,key:e.kind===`stream`?`stream:${r.url}`:`vod:${e.id}`},{startMs:o||void 0,onEnded:()=>{w.current=!0,A(!0),re()},onStarted:()=>se(r.target)}),re()})(),()=>{t=!1}},[e.id]),P(()=>{let e=setInterval(()=>{X.peek()===`playing`&&A()},1e4),t=setInterval(()=>{(l.current||X.peek()===`paused`)&&b(e=>e+1)},1e3);return()=>{clearInterval(e),clearInterval(t)}},[t]),P(()=>()=>{A(!0),kf(),pp(),of.value=null,clearTimeout(S.current)},[]);let ie=()=>q.peek().preferredSubtitle||`tr`,ae=(e,t)=>{let n=cp(t);return n.length?(Ff(null),fp.value=0,dp.value={label:e,cues:n},!0):!1},oe=async(e,t)=>{t||B(R(`sub_searching`));let n=ne.current.props.id,r=await sh(e,ie());if(ne.current.props.id===n){if(r.kind===`found`)ae(r.name,r.text)?B(R(`sub_found`,r.name)):t||B(R(`sub_failed`));else if(t)return;else r.kind===`not_found`?B(R(`sub_not_found`)):r.kind===`no_key`?B(R(`sub_no_key`)):r.kind===`limit`?B(R(`sub_limit`)):B(R(`error_network`))}},se=e=>{if(T.current||!q.peek().autoSubtitles)return;T.current=!0;let t=ne.current.props.id;setTimeout(()=>{if(ne.current.props.id!==t||dp.peek())return;let n=ie();Nf().some(e=>e.language.toLowerCase().startsWith(n))||oe(e,!0)},4e3)},ce=async e=>{try{let t=await fetch(wr(Tr(e)),{credentials:`omit`});if(t.ok&&ae(`SRT`,up(await t.arrayBuffer()))){B(R(`sub_loaded`));return}}catch(e){}B(R(`sub_failed`))},le=Rf(),ue=le-sf.peek();P(()=>{if(!k||m||f!==null||!q.peek().autoNextEpisode)return;let t=ef.peek();t&&t.key===`vod:${e.id}`&&X.peek()!==`loading`&&(w.current||le>6e4&&ue>0&&ue<=15e3)&&p(10)}),P(()=>{if(f===null)return;if(f<=0){de(k);return}let e=setTimeout(()=>p(e=>e===null?null:e-1),1e3);return()=>clearTimeout(e)},[f]),P(()=>{if(!v)return;let e=setTimeout(()=>{X.peek()!==`paused`&&Af(),y(0),B(R(`sleep_triggered`))},v*6e4);return()=>clearTimeout(e)},[v]);let de=t=>{A(),Cu(t.id).then(n=>yd({name:`vod`,kind:`episode`,id:t.id,seriesId:e.seriesId,startMs:n&&!n.watched?n.position:0}))},fe=()=>{A(),vd()},pe=e=>{let t=u===null?sf.peek():u,n=Math.max(0,Math.min(le||1/0,t+e));d(n),re(),clearTimeout(C.current),C.current=window.setTimeout(()=>{jf(n),d(null)},lh)};if(P(()=>{let e=()=>{a||o({page:`main`,direct:!1})};return document.addEventListener(`longpress`,e),()=>document.removeEventListener(`longpress`,e)},[a]),tn((e,t)=>{if(X.peek()===`error`)return e===`back`?(fe(),!0):`default`;if(e===`back`)return a?o(null):f===null?s&&X.peek()===`playing`?(clearTimeout(S.current),c(!1)):fe():(p(null),h(!0)),!0;if(a||f!==null)return;ee.current=t.repeat?ee.current+1:0;let n=ee.current>6?6e4:ee.current>2?3e4:1e4;switch(e){case`ok`:return Af(),re(),!0;case`left`:return pe(-n),!0;case`right`:return pe(n),!0;case`rew`:return pe(-3e4),!0;case`ff`:return pe(3e4),!0;case`playPause`:case`play`:case`pause`:return Af(),re(),!0;case`up`:case`info`:return o(`controls`),c(!0),clearTimeout(S.current),!0;case`down`:return r.length?o(`episodes`):re(),!0;case`menu`:return o({page:`main`,direct:!1}),!0;case`green`:return o({page:`audio`,direct:!0}),!0;case`yellow`:return o({page:`subs`,direct:!0}),!0;case`chUp`:return k&&de(k),!0;case`chDown`:return O&&de(O),!0}}),!t)return null;let M=X.value,me=s||M===`paused`||u!==null||a===`controls`;return j(`div`,{class:`player vod-player`,children:[j(gp,{}),M===`loading`&&j(`div`,{class:`player-center`,children:[j(`div`,{class:`spinner`}),rf.value>0&&j(`span`,{class:`retry-label`,children:R(`player_retrying`,rf.value)})]}),M===`error`&&j(rp,{onRetry:Of,onBack:fe}),me&&j(x,{children:[j(`div`,{class:`vod-top`,children:[j(`div`,{children:[j(`h1`,{children:t.title}),t.sub&&j(`p`,{children:t.sub})]}),j(`span`,{class:`band-clock`,children:fh()})]}),j(`div`,{class:`vod-bottom`,children:[j(vh,{paused:M===`paused`,target:u,d:le}),a===`controls`?j(hh,{paused:M===`paused`,series:r.length>0,prev:!!O,next:!!k,close:()=>{o(null),re()},on:{play:()=>Af(),back10:()=>pe(-1e4),fwd10:()=>pe(1e4),prev:()=>O&&de(O),next:()=>k&&de(k),episodes:()=>o(`episodes`),audio:()=>o({page:`audio`,direct:!0}),subs:()=>o({page:`subs`,direct:!0}),speed:()=>o({page:`speed`,direct:!0}),picture:()=>{let e=uh[(uh.indexOf(af.value)+1)%3];af.value=e,B(R(`aspect_${e}`))},more:()=>o({page:`main`,direct:!1}),exit:fe}}):j(`p`,{class:`band-hint`,children:R(`vod_hint`)})]})]}),a===`episodes`&&j(gh,{eps:r,current:e.id,onPick:t=>{o(null),t.id!==e.id&&de(t)}}),a&&typeof a==`object`&&j(Up,{page:a.page,direct:a.direct,favorite:!1,sleepMin:v,setPage:e=>o({page:e,direct:!1}),close:()=>o(null),onFavorite:()=>{},onSleep:e=>{y(e),e&&B(R(`sleep_set`,e))},vod:{speed:g,setSpeed:e=>{Bf(e),_(e)},prev:O?{title:`${ph(O)} · ${O.title}`,go:()=>de(O)}:void 0,next:k?{title:`${ph(k)} · ${k.title}`,go:()=>de(k)}:void 0,findSubs:()=>oe(t.target,!1),loadSubs:()=>E(!0)}}),te&&j(Pn,{title:R(`sub_url_title`),label:R(`sub_url_hint`),initial:``,placeholder:`https://…/altyazi.srt`,onSave:e=>{e.trim()&&ce(e)},onClose:()=>E(!1)}),f!==null&&k&&j(_h,{seconds:f,title:`${ph(k)} · ${k.title}`,onPlay:()=>de(k),onCancel:()=>{p(null),h(!0)}})]})}function hh(e){let t=F(null);P(()=>{L(t.current)},[]),tn(t=>t===`back`?(e.close(),!0):void 0);let n=e.on,r=[[e.paused?`play`:`pause`,R(e.paused?`pc_play`:`pc_pause`),n.play],[`back`,`-10 sn`,n.back10],[`chevron`,`+10 sn`,n.fwd10]];return e.series&&e.prev&&r.push([`back`,R(`pc_prev`),n.prev]),e.series&&e.next&&r.push([`chevron`,R(`pc_next`),n.next]),e.series&&r.push([`list`,R(`vod_episodes`),n.episodes]),r.push([`audio`,R(`player_audio`),n.audio],[`subtitles`,R(`player_subtitles`),n.subs],[`more`,R(`pc_speed`),n.speed],[`aspect`,R(`pc_picture`),n.picture],[`more`,R(`pc_more`),n.more],[`back`,R(`back`),n.exit]),j(`div`,{class:`control-bar`,ref:t,"data-focus-scope":!0,children:r.map(([e,t,n],r)=>j(`div`,{class:`cb-item`,children:[j(`button`,{class:`cb-btn`,"data-focus":!0,"data-focus-default":r===0||void 0,onClick:n,children:j(z,{name:e})}),j(`span`,{class:`cb-label`,children:t})]},t))})}function gh({eps:e,current:t,onPick:n}){let r=F(null);return P(()=>{let e=r.current&&r.current.querySelector(`[data-current]`);e&&e.focus()},[]),j(`div`,{class:`episodes-panel`,ref:r,"data-focus-scope":!0,children:[j(`h2`,{children:R(`vod_episodes`)}),e.map(e=>j(`button`,{class:`focus-row opt-row${e.id===t?` selected`:``}`,"data-focus":!0,"data-current":e.id===t||void 0,onClick:()=>n(e),children:[j(`span`,{class:`ep-code`,children:ph(e)}),j(`span`,{class:`opt-label`,children:e.title})]},e.id))]})}function _h(e){let t=F(null);return P(()=>{L(t.current)},[]),j(`div`,{class:`next-card`,ref:t,"data-focus-scope":!0,children:[j(`p`,{class:`next-when`,children:R(`vod_next_episode`,e.seconds)}),j(`p`,{class:`next-title`,children:e.title}),j(`div`,{class:`row`,children:[j(`button`,{class:`btn primary`,"data-focus":!0,"data-focus-default":!0,onClick:e.onPlay,children:R(`vod_play_now`)}),j(`button`,{class:`btn outline`,"data-focus":!0,onClick:e.onCancel,children:R(`cancel`)})]})]})}function vh({paused:e,target:t,d:n}){let r=t===null?sf.value:t,i=e=>n>0?`${Math.min(100,e/n*100)}%`:`0%`;return j(`div`,{class:`vod-bar-row`,children:[j(z,{name:e?`play`:`pause`,class:`vod-state`}),j(`span`,{class:`vod-time`,children:Dm(r)}),j(`div`,{class:`vod-bar`,children:[j(`span`,{class:`vod-buffer`,style:{width:i(zf())}}),j(`span`,{class:`vod-played`,style:{width:i(r)}})]}),j(`span`,{class:`vod-time`,children:[`-`,Dm(Math.max(0,n-r))]})]})}function yh({channelId:e}){let[t,n]=N(null),[r,i]=N(null),[a,o]=N(null),[s,c]=N(``),l=F(null);if(tn(e=>e===`back`?(vd(),!0):void 0),P(()=>{K.channels.get(e).then(async e=>{if(!e)return;n(e);let t=await K.epgLinks.get(e.id);o(t?t.key:null),i((await K.epgChannels.where(`providerId`).equals(e.providerId).toArray()).sort((e,t)=>e.name.localeCompare(t.name)))})},[e]),P(()=>{r&&setTimeout(()=>L(l.current),0)},[!!r]),!t)return null;let u=s.trim().toLowerCase(),d=(r||[]).filter(e=>!u||e.name.toLowerCase().indexOf(u)>=0||e.xmlId.indexOf(s.trim())>=0).slice(0,300),f=(r||[]).find(e=>e.id===a),p=async e=>{e?await K.epgLinks.put({id:t.id,providerId:t.providerId,key:e,manual:!0}):await K.epgLinks.delete(t.id),rl(t.providerId,void 0,`epg`),vd()};return j(`div`,{class:`epg-mapping`,children:[j(`div`,{class:`em-left`,children:[j(`button`,{class:`btn outline`,"data-focus":!0,onClick:vd,children:[j(z,{name:`back`}),R(`back`)]}),j(`h1`,{children:R(`epg_mapping_title`)}),j(`p`,{class:`em-channel`,children:t.name}),a&&j(`p`,{class:`muted`,children:R(`epg_mapping_current`,f?f.name:a.split(`|`)[1])}),j(Tn,{label:R(`epg_mapping_filter`),value:s,onInput:c,class:`em-filter`})]}),j(`div`,{class:`em-list`,ref:l,"data-focus-group":`epgmap`,children:r&&!r.length?j(`p`,{children:R(`epg_mapping_none`)}):j(x,{children:[j(`button`,{class:`focus-row opt-row em-auto`,"data-focus":!0,"data-focus-default":!0,onClick:()=>p(null),children:R(`epg_mapping_auto`)}),d.map(e=>j(`button`,{class:`focus-row opt-row${e.id===a?` selected`:``}`,"data-focus":!0,onClick:()=>p(e.id),children:[j(`span`,{class:`opt-label`,children:e.name}),j(`span`,{class:`muted em-id`,children:e.xmlId})]},e.id))]})})]})}function bh(e,t){let n=e.split(`.`).map(Number),r=t.split(`.`).map(Number);for(let e=0;e<Math.max(n.length,r.length);e++)if((n[e]||0)!==(r[e]||0))return(n[e]||0)>(r[e]||0);return!1}var xh=`https://registry.npmjs.org/@erhan%2futopyatv/latest`,Sh=864e5;async function Ch(){let e=await fetch(xh,{cache:`no-store`});if(!e.ok)throw Error(`HTTP ${e.status}`);return(await e.json()).version}async function wh(){try{if(Date.now()-Number(localStorage.getItem(`updateChecked`)||0)<Sh)return;localStorage.setItem(`updateChecked`,String(Date.now()));let e=await Ch();bh(e,`0.1.15`)&&B(R(`set_update_available`,e))}catch(e){}}var Th=`utopya.settings`,Eh=`utopya-yedek-`;async function Dh(){let[e,t,n,r,i,a,o]=await Promise.all([K.providers.toArray(),K.favorites.toArray(),K.groups.toArray(),K.groupItems.toArray(),K.catState.toArray(),K.chanState.toArray(),K.progress.toArray()]),s={version:1,app:`tizen`,createdAt:Date.now(),settings:localStorage.getItem(Th)||`{}`,providers:e,favorites:t,groups:n,groupItems:r,catState:i,chanState:a,progress:o};return JSON.stringify(s)}var Oh=e=>e<10?`0${e}`:`${e}`;function kh(e=new Date){return`${Eh}${e.getFullYear()}${Oh(e.getMonth()+1)}${Oh(e.getDate())}-${Oh(e.getHours())}${Oh(e.getMinutes())}.json`}async function Ah(){let e=await Dh(),t=kh();if(!Ft){let n=document.createElement(`a`);return n.href=URL.createObjectURL(new Blob([e],{type:`application/json`})),n.download=t,n.click(),setTimeout(()=>URL.revokeObjectURL(n.href),5e3),t}let n=(await new Promise((e,t)=>tizen.filesystem.resolve(`downloads`,e,t,`rw`))).createFile(t);return await new Promise((t,r)=>n.openStream(`w`,n=>{n.write(e),n.close(),t()},r,`UTF-8`)),`Downloads/${t}`}async function jh(){if(!Ft)return[];let e=[],t=async t=>{try{let n=await new Promise((e,n)=>tizen.filesystem.resolve(t,e,n,`r`)),r=await new Promise(e=>n.listFiles(e,()=>e([])));for(let t of r)!t.isDirectory&&t.name.indexOf(Eh)===0&&/\.json$/i.test(t.name)&&e.push({name:t.name,uri:t.toURI()})}catch(e){}};await t(`downloads`);let n=await new Promise(e=>tizen.filesystem.listStorages(e,()=>e([])));for(let e of n)e.type===`EXTERNAL`&&e.state===`MOUNTED`&&await t(e.label);return e.sort((e,t)=>e.name<t.name?1:-1)}async function Mh(e){let t=await new Promise((t,n)=>tizen.filesystem.resolve(e,t,n,`r`));return new Promise((e,n)=>t.readAsText(e,n,`UTF-8`))}async function Nh(e){let t=JSON.parse(e);if(!t||t.version!==1||!Array.isArray(t.providers))throw Error(`yedek biçimi tanınmadı`);let n=[K.channels,K.movies,K.series,K.episodes,K.categories,K.programs,K.epgLinks,K.epgChannels,K.recents],r=[K.providers,K.favorites,K.groups,K.groupItems,K.catState,K.chanState,K.progress];await K.transaction(`rw`,[...n,...r],async()=>{for(let e of[...n,...r])await e.clear();await K.providers.bulkPut(t.providers),await K.favorites.bulkPut(t.favorites),await K.groups.bulkPut(t.groups),await K.groupItems.bulkPut(t.groupItems),await K.catState.bulkPut(t.catState),await K.chanState.bulkPut(t.chanState),await K.progress.bulkPut(t.progress)});try{localStorage.setItem(Th,t.settings)}catch(e){}Bc(),await Xc();for(let e of await K.providers.toArray())rl(e.id)}var Ph=[[`sources`,`set_sources`,`dns`],[`player`,`ux_video_audio`,`play`],[`subtitles`,`ux_subtitles`,`list`],[`remote`,`ux_controls`,`tune`],[`look`,`ux_appearance`,`grid`],[`epg`,`set_epg`,`guide`],[`parental`,`set_parental`,`lock`],[`hidden`,`set_hidden`,`list`],[`about`,`set_about`,`more`]];function Q(e){return j(`button`,{onlongpress:e.onLongPress,class:`focus-row set-row`,"data-focus":!0,onClick:e.onClick,children:[j(`span`,{class:`opt-text`,children:[j(`span`,{class:`opt-label`,children:e.title}),e.subtitle&&j(`span`,{class:`set-sub`,children:e.subtitle})]}),e.value&&j(`span`,{class:`set-value`,children:e.value})]})}var Fh=({text:e})=>j(`h3`,{class:`set-header`,children:e});function Ih(){let[e,t]=N(`sources`),[n,r]=N(null),i=F(null),a=q.value;P(()=>{setTimeout(()=>L(i.current),0)},[]);let o=(e,t,n,i)=>r({kind:`menu`,title:e,items:t.map(([e,t])=>({label:t,checked:e===n,onSelect:()=>i(e)}))}),s=e=>Vc(e),c=e=>R(e?`set_on`:`set_off`),l=(e,t)=>(e.find(e=>e[0]===t)||[null,``])[1];return j(`div`,{class:`settings`,children:[j(`div`,{class:`set-sections`,ref:i,"data-focus-group":`set-sections`,children:Ph.map(([n,r,i])=>j(`button`,{class:`focus-row set-section${e===n?` selected`:``}`,"data-focus":!0,"data-focus-default":e===n||void 0,onFocus:()=>t(n),onClick:()=>t(n),children:[j(z,{name:i}),j(`span`,{children:R(r)})]},n))}),j(`div`,{class:`set-panel glass`,"data-focus-group":`set-panel`,children:[j(`span`,{class:`ux-eyebrow`,children:R(`nav_settings`)}),j(`h2`,{children:R(Ph.find(t=>t[0]===e)[1])}),j(`p`,{class:`set-intro`,children:R(`ux_settings_hint`)}),e===`sources`&&j(Rh,{setDialog:r}),(e===`player`||e===`subtitles`)&&(()=>{let t=[[null,R(`set_lang_default`)],[`tr`,`Türkçe`],[`en`,`English`],[`de`,`Deutsch`],[`fr`,`Français`],[`ar`,`العربية`],[`ru`,`Русский`]],n=[[null,R(`player_off`)],...t.slice(1)],i=[[`fit`,R(`aspect_fit`)],[`fill`,R(`aspect_fill`)],[`zoom`,R(`aspect_zoom`)]],u=[.75,1,1.25,1.5,1.75].map(e=>[e,`%${Math.round(e*100)}`]),d=[[0,R(`color_white`)],[1,R(`color_yellow`)],[2,R(`color_cyan`)]];return j(x,{children:[e===`player`&&j(Q,{title:R(`set_audio_lang`),value:l(t,a.preferredAudio),onClick:()=>o(R(`set_audio_lang`),t,a.preferredAudio,e=>s({preferredAudio:e}))}),e===`subtitles`&&j(x,{children:[j(Q,{title:R(`set_sub_lang`),value:l(n,a.preferredSubtitle),onClick:()=>o(R(`set_sub_lang`),n,a.preferredSubtitle,e=>s({preferredSubtitle:e}))}),j(Q,{title:R(`set_sub_size`),value:l(u,a.subtitleScale),onClick:()=>o(R(`set_sub_size`),u,a.subtitleScale,e=>s({subtitleScale:e}))}),j(Q,{title:R(`set_sub_color`),value:l(d,a.subtitleColor),onClick:()=>o(R(`set_sub_color`),d,a.subtitleColor,e=>s({subtitleColor:e}))}),j(Q,{title:R(`set_sub_bg`),value:c(a.subtitleBackground),onClick:()=>s({subtitleBackground:!a.subtitleBackground})}),j(Q,{title:R(`set_auto_subs`),subtitle:R(`set_auto_subs_hint`),value:c(a.autoSubtitles),onClick:()=>s({autoSubtitles:!a.autoSubtitles})}),j(Vh,{setDialog:r})]}),e===`player`&&j(x,{children:[j(Q,{title:R(`set_remember_tracks`),value:c(a.rememberTracks),onClick:()=>s({rememberTracks:!a.rememberTracks})}),j(Q,{title:R(`set_aspect`),value:l(i,a.aspect),onClick:()=>o(R(`set_aspect`),i,a.aspect,e=>s({aspect:e}))}),j(Q,{title:R(`set_preview`),value:c(a.previewAutoplay),onClick:()=>s({previewAutoplay:!a.previewAutoplay})}),j(Q,{title:R(`set_auto_next`),value:c(a.autoNextEpisode),onClick:()=>s({autoNextEpisode:!a.autoNextEpisode})}),j(Q,{title:R(`set_fallback`),value:c(a.fallbackToPrevious),onClick:()=>s({fallbackToPrevious:!a.fallbackToPrevious})})]})]})})(),e===`look`&&j(Uh,{setDialog:r,choose:o}),e===`remote`&&j(Gh,{choose:o}),e===`epg`&&(()=>{let e=[6,12,24,48].map(e=>[e,R(`set_epg_hours`,e)]),t=[];for(let e=-180;e<=180;e+=30)t.push([e,R(`set_epg_offset_value`,e)]);let n=qc.value;return j(x,{children:[j(Q,{title:R(`set_epg_interval`),value:l(e,a.epgHours),onClick:()=>o(R(`set_epg_interval`),e,a.epgHours,e=>s({epgHours:e}))}),j(Q,{title:R(`set_epg_offset`),value:l(t,a.epgOffsetMin),onClick:()=>o(R(`set_epg_offset`),t,a.epgOffsetMin,e=>{s({epgOffsetMin:e}),n&&rl(n,void 0,`epg`)})}),j(Q,{title:R(`set_epg_refresh`),subtitle:R(`set_epg_urls`),onClick:()=>{n&&rl(n,void 0,`epg`)}})]})})(),e===`parental`&&j(x,{children:[Zl()?j(x,{children:[j(Q,{title:R(`set_pin_change`),onClick:()=>r({kind:`pin`,title:R(`pin_enter`),check:Ql,done:()=>Lh(r)})}),j(Q,{title:R(`set_pin_remove`),onClick:()=>r({kind:`pin`,title:R(`pin_enter`),check:Ql,done:()=>{$l(null),r({kind:`notice`,text:R(`set_pin_removed`)})}})})]}):j(Q,{title:R(`set_pin_set`),onClick:()=>Lh(r)}),j(Q,{title:R(`set_hide_locked`),value:c(a.hideLocked),onClick:()=>s({hideLocked:!a.hideLocked})}),j(Q,{title:R(`set_adult_lock`),value:c(a.adultAutoLock),onClick:()=>s({adultAutoLock:!a.adultAutoLock})}),j(`p`,{class:`set-hint`,children:R(`set_parental_hint`)})]}),e===`hidden`&&j(Wh,{}),e===`about`&&j(`div`,{class:`set-about`,children:[j(`h3`,{children:R(`app_name`)}),j(`p`,{class:`set-version`,children:R(`set_version`,`0.1.15`)}),j(Q,{title:R(`set_update_check`),onClick:async()=>{try{let e=await Ch();r({kind:`notice`,text:bh(e,`0.1.15`)?`${R(`set_update_available`,e)}. ${R(`tz_update_hint`)}`:R(`set_update_none`,`0.1.15`)})}catch(e){r({kind:`notice`,text:R(`set_update_failed`)})}}}),j(`p`,{children:R(`set_about_text`)}),j(Fh,{text:R(`set_keys`)}),j(`p`,{class:`muted`,children:R(`tz_keys_text`)}),j(`p`,{class:`muted set-ua`,children:navigator.userAgent})]})]}),n&&n.kind===`menu`&&j(An,{title:n.title,items:n.items,onClose:()=>r(null)}),n&&n.kind===`notice`&&j(Fn,{text:n.text,onClose:()=>r(null)}),n&&n.kind===`confirm`&&j(En,{title:n.title,message:n.text,onConfirm:()=>{r(null),n.ok()},onDismiss:()=>r(null)}),n&&n.kind===`pin`&&j(Nn,{title:n.title,check:n.check,onDone:e=>{r(null),n.done(e)},onClose:()=>r(null)},n.title),n&&n.kind===`text`&&j(Pn,{title:n.title,label:n.label,initial:n.initial,placeholder:n.placeholder,password:n.password,onSave:n.save,onClose:()=>r(null)})]})}function Lh(e){e({kind:`pin`,title:R(`pin_new`),check:()=>!0,done:t=>{e({kind:`pin`,title:R(`set_pin_confirm`),check:e=>e===t,done:()=>{$l(t),e({kind:`notice`,text:R(`set_pin_saved`)})}})}})}function Rh({setDialog:e}){let t=Kc.value||[],n=qc.value,r=Jc.value,i=e=>e?new Date(e).toLocaleString(gn.value===`tr`?`tr-TR`:`en-GB`,{day:`numeric`,month:`short`,hour:`2-digit`,minute:`2-digit`}):R(`set_never`),a=t=>{let r=[];t.id!==n&&r.push({label:R(`set_make_active`),onSelect:()=>Zc(t.id)}),r.push({label:R(`set_resync`),onSelect:()=>rl(t.id)}),r.push({label:R(`set_edit`),onSelect:()=>o(t)}),r.push({label:R(`set_test_connection`),onSelect:async()=>{try{await Qc(t),e({kind:`notice`,text:R(`set_connection_ok`)})}catch(t){e({kind:`notice`,text:R(`error_${(t.error||`unknown`).toLowerCase()}`)})}}}),t.type===`xtream`&&r.push({label:R(`set_account`),onSelect:()=>{e({kind:`notice`,text:[t.expDate?R(`set_account_expiry`,i(t.expDate)):R(`set_account_unlimited`),t.maxConnections?R(`set_account_connections`,`?`,String(t.maxConnections)):null].filter(Boolean).join(`
|
|
14
|
-
`)})}}),r.push({label:R(`set_delete_source`),onSelect:()=>e({kind:`confirm`,title:t.name,text:R(`set_delete_confirm`,t.name),ok:()=>Bh(t.id)})}),e({kind:`menu`,title:t.name,items:r})},o=t=>{let n=(n,r,i,a,s=!1)=>({label:`${n}${r&&!s?`: ${r}`:``}`,onSelect:()=>e({kind:`text`,title:n,label:n,initial:r,password:s,save:async e=>{await K.providers.update(t.id,i(e.trim())),await Xc(),a&&rl(t.id);let n=(Kc.peek()||[]).find(e=>e.id===t.id);n&&o(n)}})}),r=[n(R(`onb_name`),t.name,e=>({name:e||t.name}),!1)];t.type===`xtream`?r.push(n(R(`onb_server`),t.url,e=>({url:Tr(e)}),!0),n(R(`onb_username`),t.username,e=>({username:e}),!0),n(R(`onb_password`),t.password,e=>({password:e}),!0,!0)):t.url.startsWith(`file:`)||r.push(n(R(`onb_url`),t.url,e=>({url:e.split(/\s+/).map(Tr).filter(Boolean).join(` `)}),!0)),r.push(n(R(`onb_epg`),t.epgUrls.join(` `),e=>({epgUrls:e.split(/\s+/).map(Tr).filter(Boolean)}),!0),n(R(`onb_user_agent`),t.userAgent||``,e=>({userAgent:e||null}),!1)),e({kind:`menu`,title:`${t.name} · ${R(`set_edit`)}`,items:r})};return j(x,{children:[t.map(e=>{let t=r&&r.providerId===e.id&&`stage`in r&&r.stage!==`DONE`;return j(Q,{title:`${e.name}${e.id===n?` ✓`:``}`,subtitle:`${e.type===`xtream`?`Xtream`:`M3U`} · ${t?R(`sync_title`)+`…`:R(`set_last_sync`,i(e.lastSync))}`,value:e.id===n?R(`set_active`):void 0,onClick:()=>a(e)},e.id)}),j(Q,{title:R(`set_add_source`),onClick:()=>Y.value=`onboarding`}),j(Fh,{text:R(`set_backup`)}),j(Q,{title:R(`set_backup_now`),subtitle:R(`set_backup_warning`),onClick:async()=>{try{e({kind:`notice`,text:R(`set_backup_done`,await Ah())})}catch(t){e({kind:`notice`,text:`${R(`error_storage`)} (${String(t)})`})}}}),j(Q,{title:R(`set_restore`),onClick:async()=>{let t=t=>e({kind:`confirm`,title:R(`set_restore`),text:R(`set_restore_confirm`),ok:async()=>{try{await Nh(await t()),e({kind:`notice`,text:R(`set_restore_done`)})}catch(t){e({kind:`notice`,text:`${R(`error_unknown`)} (${String(t)})`})}}}),n=(await jh()).map(e=>({label:e.name,onSelect:()=>t(()=>Mh(e.uri))}));Ft||n.push({label:R(`set_restore_file`),onSelect:()=>zh(e=>t(async()=>e))}),e(n.length?{kind:`menu`,title:R(`set_restore`),items:n}:{kind:`notice`,text:R(`set_restore_none`)})}})]})}function zh(e){let t=document.createElement(`input`);t.type=`file`,t.accept=`.json,application/json`,t.onchange=()=>{let n=t.files&&t.files[0];n&&n.text().then(e)},t.click()}async function Bh(e){let t=[K.channels,K.movies,K.series,K.episodes,K.categories,K.programs,K.epgLinks,K.epgChannels,K.favorites,K.recents,K.progress,K.catState,K.chanState];for(let n of t)await n.where(`providerId`).equals(e).delete();await K.providers.delete(e),await Xc()}function Vh({setDialog:e}){let[t,n]=N(null);P(()=>{Zm().then(n)},[]);let r=t||{key:``,user:``,pass:``},i=(t,i)=>({label:i,onSelect:()=>e({kind:`text`,title:i,label:i,initial:r[t],password:t===`pass`,save:async e=>{await $m(V(V({},r),{},{[t]:e.trim()})),n(await Zm())}})});return j(Q,{title:R(`os_account`),subtitle:R(`os_account_hint`),value:R(t&&t.key?`os_account_set`:`os_account_none`),onClick:()=>e({kind:`menu`,title:R(`os_account`),items:[i(`key`,R(`os_api_key`)),i(`user`,R(`os_username`)),i(`pass`,R(`os_password`))]})})}var Hh={HERO:`home_hero`,CONTINUE:`shelf_continue`,UP_NEXT:`home_up_next`,FAVORITE_CHANNELS:`home_favorite_channels`,RECENT_CHANNELS:`home_recent_channels`,TONIGHT_SPORTS:`home_tonight`,SCHEDULE:`home_schedule`,PLATFORMS:`shelf_platforms`,NEW_MOVIES:`home_new_movies`,NEW_SERIES:`home_new_series`,TOP_RATED:`home_top_rated`,NEW_EPISODES:`home_new_episodes`,STARTING_SOON:`home_starting_soon`,FOR_YOU:`home_for_you`,GENRES:`home_genres`};function Uh({setDialog:e,choose:t}){let n=q.value,r=Vc,i=(e,t)=>(e.find(e=>e[0]===t)||[null,``])[1],a=[[`home`,R(`nav_home`)],[`live`,R(`nav_live`)],[`guide`,R(`nav_guide`)],[`movies`,R(`nav_movies`)],[`series`,R(`nav_series`)],[`last`,R(`start_last`)],[`firstFav`,R(`start_first_fav`)]],o=[[`GLOBAL`,R(`numbering_global`)],[`CATEGORY`,R(`numbering_category`)],[`HIDDEN`,R(`numbering_hidden`)]],s=[[`blue`,R(`accent_blue`)],[`orange`,R(`accent_orange`)],[`green`,R(`accent_green`)],[`purple`,R(`accent_purple`)],[`red`,R(`accent_red`)]],c=[[`navy`,R(`theme_navy`)],[`amoled`,R(`theme_amoled`)],[`graphite`,R(`theme_graphite`)],[`forest`,R(`theme_forest`)],[`wine`,R(`theme_wine`)]],l=n.homeShelves.filter(e=>Pc.indexOf(e)>=0);return j(x,{children:[j(Q,{title:R(`set_start`),subtitle:R(`ux_start_desc`),value:i(a,n.startScreen),onClick:()=>t(R(`set_start`),a,n.startScreen,e=>r({startScreen:e}))}),j(Q,{title:R(`set_numbering`),value:i(o,n.numbering),onClick:()=>t(R(`set_numbering`),o,n.numbering,e=>r({numbering:e}))}),j(Q,{title:R(`set_accent`),subtitle:R(`ux_accent_desc`),value:i(s,n.accent),onClick:()=>t(R(`set_accent`),s,n.accent,e=>r({accent:e}))}),j(Q,{title:R(`set_theme`),subtitle:R(`ux_theme_desc`),value:i(c,n.theme),onClick:()=>t(R(`set_theme`),c,n.theme,e=>r({theme:e}))}),j(Q,{title:R(`set_filter_words`),subtitle:R(`set_filter_words_hint`),value:n.filterWords.length?n.filterWords.join(`, `):R(`set_none`),onClick:()=>e({kind:`text`,title:R(`set_filter_words`),label:R(`set_filter_words`),initial:n.filterWords.join(`, `),placeholder:`[RAW], FHD, VIP`,save:e=>r({filterWords:e.split(`,`).map(e=>e.trim()).filter(Boolean)})})}),j(Q,{title:R(`home_edit`),subtitle:R(`set_home_shelves`),value:`${l.length} / ${Pc.length}`,onClick:()=>_d({name:`homeEdit`})}),j(Q,{title:R(`set_language`),value:gn.value===`tr`?`Türkçe`:`English`,onClick:()=>t(R(`set_language`),[[`tr`,`Türkçe`],[`en`,`English`]],gn.value,_n)})]})}function Wh(){let e=qc.value,[t,n]=N([]),[r,i]=N([]),a=async()=>{let[t,r]=await Promise.all([K.catState.where(`providerId`).equals(e).filter(e=>!!e.hidden).toArray(),K.chanState.where(`providerId`).equals(e).filter(e=>!!e.hidden).toArray()]);n((await K.categories.bulkGet(t.map(e=>e.id))).filter(e=>!!e)),i((await K.channels.bulkGet(r.map(e=>e.id))).filter(e=>!!e).sort((e,t)=>e.number-t.number))};return P(()=>{a()},[e]),!t.length&&!r.length?j(`p`,{class:`set-hint`,children:R(`set_hidden_none`)}):j(x,{children:[t.length>0&&j(Fh,{text:R(`set_hidden_categories`)}),t.map(t=>j(Q,{title:t.name,value:R(`set_unhide`),onClick:async()=>{await Jl(t.id,e,{hidden:!1}),a()}},t.id)),r.length>0&&j(Fh,{text:R(`set_hidden_channels`)}),r.map(t=>j(Q,{title:`${t.number} ${t.name}`,value:R(`set_unhide`),onClick:async()=>{await Yl(t.id,e,{hidden:!1}),await Vl(e),a()}},t.id))]})}function Gh({choose:e}){let t=q.value,n=Vc,r=(e,t)=>(e.find(e=>e[0]===t)||[null,``])[1],i=[[`FAVORITE`,R(`act_favorite`)],[`AUDIO`,R(`player_audio`)],[`SUBTITLES`,R(`player_subtitles`)],[`ASPECT`,R(`player_aspect`)],[`GUIDE`,R(`player_guide`)],[`CHANNELS`,R(`pc_channels`)],[`INFO`,R(`pc_info`)],[`NONE`,R(`act_none`)]];return j(x,{children:[j(`p`,{class:`set-hint`,children:R(`ux_keyboard_hint`)}),` `,j(Fh,{text:R(`set_color_keys`)}),[`key_red`,`key_green`,`key_yellow`,`key_blue`].map((a,o)=>j(Q,{title:R(a),value:r(i,t.colorKeys[o]),onClick:()=>e(R(a),i,t.colorKeys[o],e=>{let r=t.colorKeys.slice();r[o]=e,n({colorKeys:r})})},a))]})}function Kh(){let e=q.value.homeShelves.filter(e=>Pc.indexOf(e)>=0),t=Pc.filter(t=>e.indexOf(t)<0),[n,r]=N(null),[i,a]=N(null),o=F(null);P(()=>{L(o.current)},[]),P(()=>{if(!i||!o.current)return;let e=o.current.querySelector(`[data-he="${i}"]`);e&&e.focus(),a(null)});let s=e=>Vc({homeShelves:e});tn(t=>{if(n){if(t===`up`||t===`down`){let r=e.indexOf(n),i=r+(t===`up`?-1:1);if(i>=0&&i<e.length){let t=e.slice();t[r]=t[i],t[i]=n,s(t),a(`row-${n}`)}return!0}return(t===`ok`||t===`back`)&&r(null),!0}});let c=t=>{s(e.indexOf(t)>=0?e.filter(e=>e!==t):[...e,t]),a(`sw-${t}`)},l=(i,a)=>{let o=a!==null,s=a===1||!e.length&&i===t[0];return j(`div`,{class:`he-row${n===i?` moving`:``}`,children:[j(`button`,{class:`focus-row he-main`,"data-focus":!0,"data-focus-default":s||void 0,"data-he":`row-${i}`,onClick:()=>o&&r(n===i?null:i),children:[j(`span`,{class:`he-num`,children:o?`${a}.`:``}),j(`span`,{class:`he-label`,children:R(Hh[i])}),n===i&&j(`span`,{class:`he-moving`,children:R(`home_edit_moving`)})]}),j(`button`,{class:`he-switch${o?` on`:``}`,"data-focus":!0,"data-he":`sw-${i}`,onClick:()=>c(i),children:R(o?`set_on`:`set_off`)})]},i)};return j(`div`,{class:`home-edit`,ref:o,children:[j(`div`,{class:`he-head`,children:[j(`h1`,{children:R(`home_edit`)}),j(`button`,{class:`btn outline`,"data-focus":!0,onClick:()=>{r(null),s(Pc)},children:R(`home_edit_reset`)})]}),j(`p`,{class:`he-hint`,children:R(`home_edit_hint`)}),j(`div`,{class:`he-list`,children:[e.map((e,t)=>l(e,t+1)),t.length>0&&j(`h3`,{class:`set-header`,children:R(`home_edit_hidden`)}),t.map(e=>l(e,null))]})]})}var $=(e,t)=>e&&typeof e[t]==`string`&&e[t].trim()||null,qh=(e,t)=>{let n=e&&e[t],r=typeof n==`number`?n:parseFloat(String(n));return isFinite(r)?r:null};function Jh(e){let t=e.trim().replace(/^stremio:\/\//i,`https://`);return/manifest\.json$/i.test(t)||(t=`${t.replace(/\/+$/,``)}/manifest.json`),t}async function Yh(e){let t=await fetch(wr(e),{credentials:`omit`});if(!t.ok)throw Error(`HTTP ${t.status}`);return t.json()}var Xh=new Map;function Zh(e){let t=Xh.get(e);return t||(t=Yh(e).then(t=>Qh(e,t)),t.catch(()=>Xh.delete(e)),Xh.set(e,t)),t}function Qh(e,t){let n=e=>Array.isArray(t[e])?t[e]:[],r=n(`catalogs`).map(e=>e).filter(e=>{let t=Array.isArray(e.extra)?e.extra:[],n=Array.isArray(e.extraRequired)?e.extraRequired:[];return!t.some(e=>e.isRequired===!0)&&!n.length&&$(e,`type`)&&$(e,`id`)}).map(e=>({type:$(e,`type`),id:$(e,`id`),name:$(e,`name`)||$(e,`id`)})),i=n(`idPrefixes`).filter(e=>typeof e==`string`),a=e;try{a=new URL(e).host}catch(e){}return{url:e,base:e.replace(/\/manifest\.json$/i,``),id:$(t,`id`)||e,name:$(t,`name`)||a,logo:$(t,`logo`),types:n(`types`).filter(e=>typeof e==`string`),idPrefixes:i.length?i:null,resources:n(`resources`).map(e=>typeof e==`string`?e:$(e,`name`)).filter(e=>!!e),catalogs:r}}var $h=(e,t,n,r)=>e.resources.indexOf(t)>=0&&e.types.indexOf(n)>=0&&(!e.idPrefixes||e.idPrefixes.some(e=>r.startsWith(e))),eg=e=>encodeURIComponent(e).replace(/\+/g,`%20`),tg=e=>({id:$(e,`id`)||``,type:$(e,`type`)||`movie`,name:$(e,`name`)||``,poster:$(e,`poster`),rating:qh(e,`imdbRating`)});async function ng(e,t){let n=await Yh(`${e.base}/catalog/${eg(t.type)}/${eg(t.id)}.json`);return(Array.isArray(n.metas)?n.metas:[]).map(tg).filter(e=>e.id&&e.name)}async function rg(e,t,n){for(let r of e)try{let e=await Zh(r);if(!$h(e,`meta`,t,n))continue;let i=(await Yh(`${e.base}/meta/${eg(t)}/${eg(n)}.json`)).meta;if(!i)continue;let a=Array.isArray(i.genres)?i.genres:Array.isArray(i.genre)?i.genre:[],o=(Array.isArray(i.videos)?i.videos:[]).map(e=>({id:$(e,`id`)||``,title:$(e,`title`)||$(e,`name`)||``,season:qh(e,`season`)||0,episode:qh(e,`episode`)||qh(e,`number`)||0,thumbnail:$(e,`thumbnail`)})).filter(e=>e.id);return V(V({},tg(i)),{},{type:$(i,`type`)||t,background:$(i,`background`),description:$(i,`description`),releaseInfo:$(i,`releaseInfo`)||(qh(i,`year`)?String(qh(i,`year`)):null),genres:a,videos:o})}catch(e){console.warn(`stremio meta`,r,e)}return null}async function ig(e,t,n){let r=await Promise.all(e.map(async e=>{try{let r=await Zh(e);if(!$h(r,`stream`,t,n))return[];let i=await Yh(`${r.base}/stream/${eg(t)}/${eg(n)}.json`);return(Array.isArray(i.streams)?i.streams:[]).filter(e=>/^https?:\/\//i.test($(e,`url`)||``)).map(e=>({url:$(e,`url`),name:($(e,`name`)||r.name).replace(/\n/g,` `),title:$(e,`title`)||$(e,`description`)}))}catch(t){return console.warn(`stremio stream`,e,t),[]}}));return[].concat(...r)}var ag=(e,t)=>({key:`${e.type}:${e.id}`,id:t,title:e.name,poster:e.poster,rating:e.rating}),og=e=>e===`movie`?R(`nav_movies`):e===`series`?R(`nav_series`):e;function sg(){let e=q.value.stremioAddons,[t,n]=N([]),[r,i]=N([]),[a,o]=N(!1),[s,c]=N(!1),[l,u]=N(null),d=F(null);P(()=>{document.activeElement===document.body&&L(d.current)},[]),P(()=>{let t=!0;return i([]),(async()=>{let r=[];for(let t of e)try{r.push(await Zh(t))}catch(e){}if(t){n(r);for(let e of r)for(let n of e.catalogs)try{let r=await ng(e,n);if(!t)return;r.length&&i(t=>[...t,{key:`${e.url}|${n.type}|${n.id}`,title:`${n.name} · ${og(n.type)} · ${e.name}`,items:r}])}catch(e){}}})(),()=>{t=!1}},[e.join(`
|
|
15
|
-
`)]);let f=async t=>{let n=Jh(t);try{await Zh(n),e.indexOf(n)<0&&Vc({stremioAddons:[...e,n]}),o(!1),c(!1)}catch(e){c(!0)}};return j(`div`,{class:`extensions`,ref:d,children:[j(`h2`,{class:`shelf-title`,children:R(`ext_installed`)}),j(`div`,{class:`shelf-row ext-row`,"data-focus-group":`ext-addons`,children:[j(`button`,{class:`chip ext-add`,"data-focus":!0,"data-focus-default":!e.length||void 0,onClick:()=>{c(!1),o(!0)},children:[j(z,{name:`add`}),R(`ext_add`)]}),t.map(e=>j(`button`,{class:`chip ext-chip`,"data-focus":!0,onClick:()=>u(e),children:[e.logo&&j(`img`,{src:e.logo,alt:``}),e.name]},e.url))]}),j(`p`,{class:`ext-note muted`,children:R(e.length?`ext_note`:`ext_empty`)}),r.map(e=>j(Rd,{title:e.title,info:!0,children:e.items.map((e,t)=>j(jd,{card:ag(e,t),onClick:()=>_d({name:`stremio`,type:e.type,id:e.id})},`${e.type}:${e.id}`))},e.key)),a&&j(Pn,{title:R(`ext_add`),label:R(s?`ext_failed`:`ext_url`),initial:``,placeholder:`https://…/manifest.json`,onSave:e=>{e.trim()&&(o(!0),f(e))},onClose:()=>o(!1)}),l&&j(En,{title:l.name,message:R(`ext_remove`),confirmLabel:R(`ext_remove`),onConfirm:()=>{Vc({stremioAddons:e.filter(e=>e!==l.url)}),u(null)},onDismiss:()=>u(null)})]})}function cg({type:e,id:t}){let n=q.value.stremioAddons,[r,i]=N(void 0),[a,o]=N(1),[s,c]=N(null),l=F(null);tn(e=>{if(e===`back`)return vd(),!0}),P(()=>{let r=!0;return rg(n,e,t).then(e=>{if(!r)return;i(e);let t=e?e.videos.map(e=>e.season).filter(e=>e>0):[];t.length&&o(Math.min(...t)),setTimeout(()=>L(l.current),0)}),()=>{r=!1}},[e,t]);let u=async(t,r)=>{c({title:r,list:null});let i=await ig(n,e,t);c({title:r,list:i.map(e=>({label:e.title?`${e.name} · ${e.title}`:e.name,onSelect:()=>_d({name:`stream`,url:e.url,title:r})}))})};if(r===void 0)return j(`div`,{class:`detail`,children:j(`div`,{class:`player-center`,children:j(`div`,{class:`spinner`})})});if(r===null)return j(`div`,{class:`detail`,ref:l,children:j(`div`,{class:`detail-scroll`,children:[j(`button`,{class:`btn outline back-btn`,"data-focus":!0,onClick:vd,children:[j(z,{name:`back`}),R(`back`)]}),j(`p`,{class:`empty`,children:R(`empty_list`)})]})});let d=Array.from(new Set(r.videos.map(e=>e.season))).sort((e,t)=>e-t),f=r.videos.filter(e=>e.season===a).sort((e,t)=>e.episode-t.episode),p=e=>e<10?`0${e}`:`${e}`;return j(`div`,{class:`detail`,ref:l,children:[j(km,{src:r.background||r.poster}),j(`div`,{class:`detail-scroll series`,children:[j(`button`,{class:`btn outline back-btn`,"data-focus":!0,onClick:vd,children:[j(z,{name:`back`}),R(`back`)]}),j(`div`,{class:`detail-row`,children:[j(`div`,{class:`detail-poster`,children:r.poster&&j(`img`,{src:r.poster,alt:``})}),j(`div`,{class:`detail-info`,children:[j(`h1`,{children:r.name}),j(Am,{chips:[r.releaseInfo,r.rating?`★ ${r.rating}`:null,r.genres.slice(0,3).join(`, `)]}),r.description&&j(`p`,{class:`detail-plot`,children:r.description}),!r.videos.length&&j(`div`,{class:`detail-actions`,children:j(`button`,{class:`btn primary`,"data-focus":!0,"data-focus-default":!0,onClick:()=>u(r.id,r.name),children:R(`ext_find_sources`)})})]})]}),r.videos.length>0&&j(x,{children:[d.length>1?j(`div`,{class:`season-chips`,children:d.map(e=>j(`button`,{class:`chip${e===a?` selected`:``}`,"data-focus":!0,onClick:()=>o(e),children:e===0?R(`ext_specials`):R(`vod_season`,e)},e))}):j(`div`,{class:`season-gap`}),j(`div`,{class:`episode-list`,"data-focus-group":`episodes`,children:f.map((e,t)=>j(`button`,{class:`episode-row focus-row`,"data-focus":!0,"data-focus-default":t===0||void 0,onClick:()=>u(e.id,`${r.name} · S${p(e.season)}E${p(e.episode)}`),children:[j(`span`,{class:`ep-thumb`,children:(e.thumbnail||r.poster)&&j(Sn,{src:e.thumbnail||r.poster})}),j(`span`,{class:`ep-text`,children:j(`span`,{class:`ep-title`,children:R(`vod_episode_title`,e.episode,e.title)})})]},e.id))})]})]}),s&&(s.list===null?j(`div`,{class:`scrim`,children:j(`div`,{class:`menu-dialog`,children:[j(`h2`,{children:R(`ext_sources`)}),j(`div`,{class:`spinner`})]})}):j(An,{title:R(`ext_sources`),items:s.list.length?s.list:[{label:R(`ext_no_sources`),onSelect:()=>{}}],onClose:()=>c(null)}))]})}function lg(){let[e,t]=N(null),[n,r]=N(null),i=F(null),a=$u.value;P(()=>{K.reminders.orderBy(`start`).toArray().then(e=>{t(e),setTimeout(()=>{document.activeElement===document.body&&L(i.current)},0)})},[a]);let o=e=>new Date(e).toLocaleDateString(gn.value===`tr`?`tr-TR`:`en-GB`,{weekday:`short`,day:`numeric`,month:`short`}),s=async e=>{let t=await nu(e.providerId,{type:`all`}),n=t.indexOf(e.channelId);n>=0&&Sd(t,n)};return j(`div`,{class:`recordings`,ref:i,children:[j(`div`,{class:`row rec-tabs`,children:j(`span`,{class:`chip selected`,children:R(`rec_tab_scheduled`)})}),j(`p`,{class:`muted rec-note`,children:R(`tz_rec_note`)}),e&&!e.length&&j(`p`,{class:`empty`,children:R(`rec_scheduled_empty`)}),j(`div`,{class:`rec-list`,children:(e||[]).map(e=>j(`button`,{class:`focus-row rec-row`,"data-focus":!0,onClick:()=>r({title:e.title,items:[{label:R(`home_open_channel`),onSelect:()=>s(e)},{label:R(`guide_remind_off`),onSelect:()=>rd(e.id)}]}),children:[j(`span`,{class:`opt-text`,children:[j(`span`,{class:`opt-label`,children:e.title}),j(`span`,{class:`muted`,children:`${e.channelName} · ${o(e.start)} ${Ml(e.start)}${e.stop?`–${Ml(e.stop)}`:``}`})]}),e.repeat?j(`span`,{class:`rec-repeat`,children:R(e.repeat===1?`rec_repeat_daily`:`rec_repeat_weekly`)}):null]},e.id))}),n&&j(An,{title:n.title,items:n.items,onClose:()=>r(null)})]})}var ug=[[`movie`,`search_movies`],[`series`,`search_series`],[`live`,`nav_live`],[`program`,`search_programs`]],dg=120,fg=240,pg=100;function mg(){let e=qc.value,t=im((Kc.value||[]).find(t=>t.id===e)),[n,r]=N(``),[i,a]=N(null),[o,s]=N([]),[c,l]=N(!1),[u,d]=N(`movie`),[f,p]=N(null),[m,h]=N(null),g=F(null),_=F(null),v=F(!1),y=q.value.searchHistory||[];P(()=>{setTimeout(()=>mm(g.current),0)},[]),P(()=>om(e,t),[e,t]),P(()=>{let r=!0,i=n.trim().length>=2;l(i),i||(a(null),s([]));let o=setTimeout(async()=>{let i=await cm(e,t,n,1/0);if(!r)return;if(!i)return l(!1);let o={movie:i.movies,series:i.series,live:i.channels};a(o),d([`movie`,`series`,`live`].find(e=>o[e].length)||`program`),s(null);let c=await lm(e,t,n,pg),u=await K.channels.bulkGet(c.map(e=>e.channelId));r&&(s(c.map((e,t)=>({program:e.program,channel:u[t]})).filter(e=>!!e.channel)),l(!1))},300);return()=>{r=!1,clearTimeout(o)}},[n,e,t]),P(()=>{let e=!0;if(p(null),h(null),i)return u===`movie`||u===`series`?(u===`movie`?K.movies:K.series).bulkGet(i[u].slice(0,dg).map(e=>e.id)).then(t=>{e&&p(t.filter(e=>!!e))}):u===`live`&&K.channels.bulkGet(i.live.slice(0,fg).map(e=>e.id)).then(t=>{e&&h(t.filter(e=>!!e))}),()=>{e=!1}},[i,u]);let b=async()=>{if(!i||!f||v.current||u!==`movie`&&u!==`series`||f.length>=i[u].length)return;v.current=!0;let e=await(u===`movie`?K.movies:K.series).bulkGet(i[u].slice(f.length,f.length+dg).map(e=>e.id));p(t=>t&&t.concat(e.filter(e=>!!e))),v.current=!1},S=()=>fm(n),C=async(t,n)=>{S();let r=await nu(e,{type:`all`}),i=r.indexOf(t);i>=0&&Sd(r,i,n)},ee=e=>e===`program`?o?o.length:null:i?i[e].length:0,w=i?i.movie.length+i.series.length+i.live.length+(o?o.length:0):0,T=Date.now(),te=e=>`${new Date(e).toLocaleDateString(gn.value===`tr`?`tr-TR`:`en-GB`,{day:`numeric`,month:`short`})} ${Ml(e)}`,E=!c&&i&&!w,D=j(x,{children:[j(`div`,{class:`browse-bar`,children:[j(`div`,{class:`bb-id`,children:j(`h1`,{class:`bb-title`,children:R(`nav_search`)})}),j(Tn,{label:``,value:n,onInput:r,placeholder:R(`search_hint`),initial:!0,class:`bs-search`})]}),c?j(wn,{label:R(`search_loading`),small:!0}):!i&&y.length>0&&j(x,{children:[j(`span`,{class:`ux-eyebrow`,children:R(`search_recent`)}),y.map(e=>j(`button`,{class:`focus-row`,"data-focus":!0,onClick:()=>r(e),children:e},e)),j(`button`,{class:`focus-row muted`,"data-focus":!0,onClick:()=>Vc({searchHistory:[]}),children:R(`search_clear`)})]})]});return j(gm,{title:n.trim()||R(`nav_search`),panel:D,panelRef:g,children:[i&&!E&&j(`div`,{class:`search-tabs`,ref:_,"data-focus-group":`search-tabs`,children:ug.map(([e,t])=>{let n=ee(e);return n===0?null:j(`button`,{class:`bb-tab${u===e?` selected`:``}`,"data-focus":!0,"data-focus-default":u===e||void 0,onFocus:()=>d(e),onClick:hm,children:[R(t),j(`span`,{class:`bb-tab-count`,children:` ${n===null?`…`:n}`})]},e)})}),i?E?j(`p`,{class:`search-empty`,children:R(`search_no_results`,n.trim())}):u===`movie`||u===`series`?j(Sm,{kind:u,items:f,onNearEnd:b,onOpen:S,onTop:()=>L(_.current),autoFocus:!1}):u===`live`?m?j(`div`,{class:`search-channels`,"data-focus-group":`search-channels`,children:m.map(e=>j(Kd,{cc:{channel:e,now:null},onClick:()=>C(e.id),onLongPress:()=>{}},e.id))}):j(wn,{}):o===null?j(wn,{label:R(`search_loading`)}):j(`div`,{class:`search-programs`,"data-focus-group":`search-programs`,children:o.map(({program:e,channel:t})=>j(`button`,{class:`focus-row opt-row search-prog`,"data-focus":!0,onClick:()=>C(t.id,e.stop<T?e:void 0),children:[j(od,{src:t.logo,size:30}),j(`span`,{class:`opt-text`,children:[j(`span`,{class:`opt-label`,children:e.title}),j(`span`,{class:`muted`,children:t.name})]}),j(`span`,{class:`sp-time${e.start<=T&&e.stop>T?` live`:``}`,children:te(e.start)})]},e.id))}):c?j(wn,{label:R(`search_loading`)}):j(`p`,{class:`search-empty`,children:R(`search_hint`)})]})}function hg(e){let{program:t,channel:n}=e,r=F(null),i=F(document.activeElement);P(()=>(L(r.current),()=>i.current&&i.current.isConnected&&i.current.focus()),[]),tn(t=>t===`back`?(e.onClose(),!0):`default`);let a=Date.now(),o=new Date(t.start).toLocaleDateString(gn.value===`tr`?`tr-TR`:`en-GB`,{day:`numeric`,month:`long`}),s=[],c=np(n,t.start,a);return t.start<=a&&t.stop>a?(s.push([R(`guide_watch`),e.onWatch]),c&&s.push([R(`guide_restart`),e.onArchive])):t.stop<=a&&c&&s.push([R(`guide_watch_archive`),e.onArchive]),t.start>a&&(s.push([R($u.value.has(t.id)?`guide_remind_off`:`guide_remind`),async()=>{B(R(await nd(t,n)?`guide_reminder_set`:`guide_reminder_removed`))}]),s.push([R(`tz_remind_daily`),async()=>{await nd(t,n,1),B(R(`guide_reminder_set`))}]),s.push([R(`tz_remind_weekly`),async()=>{await nd(t,n,2),B(R(`guide_reminder_set`))}])),s.push([R(`guide_close`),()=>{}]),j(`div`,{class:`scrim`,"data-focus-scope":!0,children:j(`div`,{class:`program-dialog`,ref:r,role:`dialog`,children:[j(`h2`,{children:t.title}),j(`p`,{class:`pd-meta`,children:`${n.name} · ${o} ${Ml(t.start)} – ${Ml(t.stop)}`}),t.category&&j(`p`,{class:`pd-cat`,children:t.category}),t.desc&&j(`p`,{class:`pd-desc`,children:t.desc}),j(`div`,{class:`row pd-buttons`,children:s.map(([t,n],r)=>j(`button`,{class:`btn ${r===0?`primary`:`outline`}`,"data-focus":!0,"data-focus-default":r===0||void 0,onClick:()=>{e.onClose(),n()},children:t},t))})]})})}var gg=I(null),_g=864e5;function vg({onOpenPlayer:e,onSearch:t}){let n=qc.value,r=gg.value||{filter:{type:`all`},label:R(`cat_all`)},[i,a]=N(null),[o,s]=N([]),[c,l]=N(xp(Date.now())),[u,d]=N(null),[f,p]=N(null),m=q.value;P(()=>{K.categories.where(`[providerId+kind]`).equals([n,`live`]).sortBy(`order`).then(s)},[n]),P(()=>{let e=!0;return a(null),nu(n,r.filter).then(t=>e&&a(t)),()=>{e=!1}},[n,JSON.stringify(r.filter)]);let h=ke(()=>i?new iu(i):null,[i]),g=(t,n)=>{i&&e(i,t,n)};return j(`div`,{class:`guide`,children:[j(`div`,{class:`guide-head`,children:[j(`h1`,{children:new Date(c).toLocaleDateString(gn.value===`tr`?`tr-TR`:`en-GB`,{weekday:`long`,day:`numeric`,month:`long`})}),j(`div`,{class:`row`,children:[j(`button`,{class:`btn outline`,"data-focus":!0,onClick:()=>d({title:R(`guide_category`,r.label),items:[{label:R(`cat_all`),filter:{type:`all`}},{label:R(`cat_favorites`),filter:{type:`fav`}},...o.map(e=>({label:e.name,filter:{type:`cat`,id:e.id}}))].map(e=>({label:e.label,checked:JSON.stringify(e.filter)===JSON.stringify(r.filter),onSelect:()=>gg.value={filter:e.filter,label:e.label}}))}),children:R(`guide_category`,r.label)}),j(`button`,{class:`btn outline`,"data-focus":!0,onClick:()=>l(c-_g),children:R(`guide_prev_day`)}),j(`button`,{class:`btn outline`,"data-focus":!0,onClick:()=>l(xp(Date.now())),children:R(`guide_now`)}),j(`button`,{class:`btn outline`,"data-focus":!0,onClick:()=>l(c+_g),children:R(`guide_next_day`)}),j(`button`,{class:`btn outline`,"data-focus":!0,onClick:t,children:R(`guide_search`)})]})]}),i&&!i.length?j(`p`,{class:`empty`,children:R(`live_empty_category`)}):h&&j(Cp,{pager:h,count:i.length,initialRow:0,rowRem:6,winStart:c,setWinStart:l,numberOf:(e,t)=>m.numbering===`HIDDEN`?null:m.numbering===`CATEGORY`?t+1:e.number,onChannel:(e,t)=>g(t),onProgram:(e,t,n)=>p({p:e,c:t,row:n})},JSON.stringify(r.filter)),j(`p`,{class:`guide-hint`,children:R(`guide_hint`)}),u&&j(An,{title:u.title,items:u.items,onClose:()=>d(null)}),f&&j(hg,{program:f.p,channel:f.c,onClose:()=>p(null),onWatch:()=>g(f.row),onArchive:()=>g(f.row,f.p)})]})}var yg=[{id:`home`,label:`nav_home`},{id:`live`,label:`nav_live`},{id:`movies`,label:`nav_movies`},{id:`series`,label:`nav_series`},{id:`library`,label:`nav_library`},{id:`search`,label:`nav_search`,icon:`search`},{id:`settings`,label:`nav_settings`,icon:`settings`}],bg=I(!1),xg=null,Sg=e=>{if(e===`back`&&gd.value.length)return vd();e===`back`&&xg&&xg.isConnected&&(xg&&!xg.contains(document.activeElement)?L(xg):Y.value===`home`?bg.value=!0:Y.value=`home`)};async function Cg(){let e=Qu.value;Qu.value=null,qc.peek()!==e.providerId&&Zc(e.providerId);let t=await nu(e.providerId,{type:`all`}),n=t.indexOf(e.channelId);n<0||Sd(t,n)}var wg=!1,Tg=new Map;function Eg({active:e}){let t=F(null);return P(()=>{xg=t.current,wg||(wg=!0,L(xg))},[]),j(`header`,{class:`topbar glass`,children:[j(`span`,{class:`brand`,children:R(`app_name`)}),j(`nav`,{class:`pills`,ref:t,"data-focus-group":`menu`,children:yg.map(t=>{let n=e||(Y.value===`guide`?`live`:[`recordings`,`extensions`].includes(Y.value)?`library`:Y.value),r=t.id===n;return j(`button`,{class:`pill${r?` selected`:``}${t.icon?` icon-only`:``}`,"data-focus":!0,"data-focus-default":r||void 0,"aria-label":R(t.label),onClick:()=>{if(t.id===`home`){Tg.delete(`home`),gd.value=[],Y.value=`home`;return}let e=Y.value;e!==t.id&&Tg.set(e,gd.value),gd.value=r?[]:Tg.get(t.id)||[],Tg.delete(t.id),Y.value=t.id},children:[t.icon&&j(z,{name:t.icon}),j(`span`,{children:R(t.label)})]},t.id)})})]})}function Dg(e){switch(e.name){case`browse`:return j(wm,{kind:e.kind,title:e.title,filter:e.filter,sort:e.sort});case`movie`:return j(Pm,{id:e.id});case`series`:return j(Im,{id:e.id,season:e.season});case`vod`:return j(mh,{kind:e.kind,id:e.id,seriesId:e.seriesId,startMs:e.startMs});case`epgmap`:return j(yh,{channelId:e.channelId});case`homeEdit`:return j(Kh,{});case`recordings`:return j(lg,{});case`extensions`:return j(sg,{});case`stream`:return j(mh,{kind:`stream`,id:0,url:e.url,title:e.title});case`stremio`:return j(cg,{type:e.type,id:e.id})}}function Og(){let e=gd.value,t=yg.find(e=>e.id===Y.value)||yg[0],n=Kc.value,r=n!==null&&(Y.value===`onboarding`||!n.length),i=e.length?e[e.length-1].page:null,a=i&&i.name===`browse`?i:null,o=i&&(i.name===`recordings`||i.name===`extensions`);return j(`div`,{class:`app`,children:[j(Wp,{}),Dt.value===!0?n===null?null:r?j(ol,{onDone:()=>Y.value=`home`,onExit:()=>n.length?Y.value=`home`:bg.value=!0}):Y.value===`player`?j(Ip,{onExit:Cd},pd.value?pd.value.seq:0):j(x,{children:[(!e.length||a||o)&&j(Eg,{active:o?`library`:a?a.kind===`movie`?`movies`:`series`:void 0}),j(`main`,{style:e.length?{display:`none`}:void 0,class:`content${Y.value===`live`||Y.value===`guide`?` live-content`:``}${Y.value===`movies`||Y.value===`series`||Y.value===`search`?` catalog-content`:``}`,"data-focus-group":`screen-${Y.value}`,children:Y.value===`home`?j(Hd,{providerId:qc.value}):Y.value===`live`?j(Wf,{onOpenPlayer:(e,t)=>Sd(e,t)}):Y.value===`guide`?j(vg,{onOpenPlayer:(e,t,n)=>Sd(e,t,n),onSearch:()=>Y.value=`search`}):Y.value===`search`?j(mg,{}):Y.value===`settings`?j(Ih,{}):Y.value===`movies`?j(wm,{kind:`movie`,title:R(`nav_movies`),filter:{all:!0}},`movies`):Y.value===`series`?j(wm,{kind:`series`,title:R(`nav_series`),filter:{all:!0}},`series`):Y.value===`extensions`?j(sg,{}):Y.value===`recordings`?j(lg,{}):Y.value===`library`?j(Jd,{}):j(Ln,{title:R(t.label)})}),e.map((t,n)=>j(`div`,{class:[`browse`,`recordings`,`extensions`].includes(t.page.name)?`page-flow`:`page`,style:n<e.length-1?{display:`none`}:void 0,children:Dg(t.page)},n))]}):Dt.value===!1&&j(In,{onExit:()=>bg.value=!0}),j(kn,{}),Qu.value&&j(En,{title:R(`tz_reminder_title`,Qu.value.title),message:R(`tz_reminder_text`,Qu.value.channelName),confirmLabel:R(`guide_watch`),onConfirm:()=>Cg(),onDismiss:()=>Qu.value=null}),bg.value&&j(En,{title:R(`exit_title`),message:R(`exit_message`),onConfirm:Lt,onDismiss:()=>bg.value=!1})]})}It(),jt(),Gc(),Ef(document.getElementById(`video`)),ad(),un(Sg),de(j(Og,{}),document.getElementById(`app`)),setTimeout(wh,15e3),Xc().then(async e=>{new URLSearchParams(location.search),e.length?($c(),kg()):Y.value=`onboarding`});async function kg(){let e=q.peek().startScreen,t=qc.peek();if(e===`last`||e===`firstFav`){if(!t)return;let n=await nu(t,{type:e===`last`?`all`:`fav`}),r=e===`last`?n.indexOf(q.peek().lastChannelId||-1):0;n.length&&r>=0&&Sd(n,r)}else Y.value=e}})();
|
|
10
|
+
`),r=n.findIndex(e=>e.indexOf(`-->`)>=0);if(r<0)continue;let[i,a]=n[r].split(`-->`),o=cp(i),s=cp(a),c=lp(n.slice(r+1).join(`
|
|
11
|
+
`));isNaN(o)||isNaN(s)||!c||t.push({start:o,end:s,text:c})}return t.sort((e,t)=>e.start-t.start)}function dp(e,t){let n=0,r=e.length;for(;n<r;){let i=n+r>>1;e[i].start<=t?n=i+1:r=i}let i=[];for(let r=n-1;r>=0&&r>=n-5;r--)e[r].end>t&&i.unshift(e[r]);return i}function fp(e){try{return new TextDecoder(`utf-8`,{fatal:!0}).decode(e)}catch(t){return new TextDecoder(`windows-1254`).decode(e)}}var pp=I(null),mp=I(0);function hp(){pp.value=null,mp.value=0}var gp=[`#fff`,`#ffeb3b`,`#00e5ff`];function _p({text:e}){let t=e.split(/(<\/?[ibu]>)/i),n=[],r=!1,i=!1,a=!1;return t.forEach((e,t)=>{let o=/^<(\/?)([ibu])>$/i.exec(e);if(o){let e=!o[1],t=o[2].toLowerCase();t===`i`?r=e:t===`b`?i=e:a=e}else e&&n.push(j(`span`,{style:{fontStyle:r?`italic`:void 0,fontWeight:i?700:void 0,textDecoration:a?`underline`:void 0},children:e},t))}),j(x,{children:n})}function vp(){let e=yt(()=>{let e=pp.value;return e?dp(e.cues,lf.value-mp.value).map(e=>e.text).join(`
|
|
12
|
+
`):ff.value}).value;if(!e)return null;let t=q.value;return j(`div`,{class:`subtitle-layer${t.subtitleBackground?` boxed`:``}`,style:{fontSize:`${(4*t.subtitleScale).toFixed(2)}rem`,color:gp[t.subtitleColor]},children:e.split(`
|
|
13
|
+
`).map((e,t)=>j(`span`,{class:`subtitle-line`,children:j(_p,{text:e})},t))})}var yp=72e5,bp=18e5,xp=36e5,Sp=864e5,Cp=e=>Math.floor(e/bp)*bp,wp=150;function Tp(e){let{pager:t,count:n,rowRem:r,winStart:i}=e,a=i+yp,o=F(null),[s,c]=N(Math.max(0,e.initialRow-3)),[l,u]=N({row:e.initialRow,pid:-1}),[d,f]=N(new Map),[p,m]=N(new Map),[h,g]=N(Date.now()),_=o.current?Math.max(1,Math.floor(o.current.clientHeight/kd()/r)):6,v=F(new Map);P(()=>{let e=setInterval(()=>g(Date.now()),3e4);return()=>clearInterval(e)},[]),P(()=>{l.row<s?c(l.row):l.row>s+_-1&&c(Math.min(Math.max(0,n-_),l.row-_+1))},[l.row,_,n]);let y=s,b=Math.min(n,s+_+1);P(()=>{let e=!0;return t.range(y,b).then(async t=>{let n=new Map;if(t.forEach((e,t)=>e&&n.set(y+t,e)),!e)return;f(n);let r=i-Sp/2,a=i+yp+Sp,o=[...n.values()].filter(e=>{let t=v.current.get(e.id);return!t||t.from>i-xp||t.to<i+72e5+xp});for(await Promise.all(o.map(async e=>{v.current.set(e.id,{from:r,to:a,list:await Tl(e,r,a)})}));v.current.size>wp;)v.current.delete(v.current.keys().next().value);if(!e)return;let s=new Map;v.current.forEach((e,t)=>s.set(t,e.list)),m(s)}),()=>{e=!1}},[t,y,b,Math.floor(i/Sp*2)]);let x=e=>{let t=d.get(e);return t&&p.get(t.id)||null};P(()=>{if(l.pid!==-1)return;let e=x(l.row);if(e===null)return;let t=l.at===void 0?Date.now():l.at,n=e.find(e=>e.start<=t&&e.stop>t)||e.find(e=>e.stop>i&&e.start<a);u({row:l.row,pid:n?n.id:null})},[p,d]),P(()=>{if(!o.current)return;if(l.pid===-1){let e=o.current.querySelector(`[data-cell="${l.row}:ch"], [data-cell="${l.row}:wait"]`);e&&document.activeElement!==e&&e.focus();return}let e=o.current.querySelector(`[data-cell="${l.row}:${l.pid===null?`ch`:l.pid}"]`)||o.current.querySelector(`[data-cell="${l.row}:wait"]`);e&&document.activeElement!==e&&e.focus()},[l,d,p,i,s]),P(()=>{let e=()=>{let e=document.activeElement,t=e&&o.current&&o.current.contains(e)?e.getAttribute(`data-cell`):null;if(!t)return;let[n,r]=t.split(`:`);if(r===`wait`)return;let i={row:+n,pid:r===`ch`||r===`null`?null:+r};u(e=>e.row===i.row&&(e.pid===i.pid||e.pid===-1)?e:i)};return document.addEventListener(`focusin`,e),()=>document.removeEventListener(`focusin`,e)},[]);let S=(e,t)=>{let n=(x(e)||[]).filter(e=>e.stop>i&&e.start<a),r=n.find(e=>e.start<=t&&e.stop>t)||n[0];return r?r.id:null};tn(t=>{if(!o.current||!o.current.contains(document.activeElement))return;let r=x(l.row)||[],s=l.pid===null?-1:r.findIndex(e=>e.id===l.pid),c=s>=0?r[s]:null,d=c?Math.max(c.start,i):l.at===void 0?i:l.at;switch(t){case`right`:{if(!c)return u({row:l.row,pid:S(l.row,i)}),!0;let t=r[s+1];return c.stop>a?e.setWinStart(i+xp):t?(t.start>=a&&e.setWinStart(Cp(t.start-bp)),u({row:l.row,pid:t.id})):e.setWinStart(i+xp),!0}case`left`:{if(!c)return!0;let t=r[s-1];return c.start<i?e.setWinStart(i-xp):t&&t.stop>i-Sp?(t.stop<=i&&e.setWinStart(Cp(Math.max(t.start,t.stop-yp+bp))),u({row:l.row,pid:t.id})):u({row:l.row,pid:null}),!0}case`up`:case`down`:case`chUp`:case`chDown`:{let e=t===`up`?-1:t===`down`?1:t===`chUp`?-8:8;if(t===`up`&&l.row===0)return;let r=Math.max(0,Math.min(n-1,l.row+e));return r!==l.row&&(l.pid===null?u({row:r,pid:null}):x(r)===null?u({row:r,pid:-1,at:d}):u({row:r,pid:S(r,d)})),!0}}});let C=h>=i&&h<a?(h-i)/yp*100:null,ee=[];for(let t=y;t<b;t++){let n=d.get(t);if(!n){ee.push(j(`div`,{class:`epg-row`,style:{top:`${(t-s)*r}rem`,height:`${r-.4}rem`},children:j(`button`,{class:`epg-channel`,"data-focus":!0,"data-cell":`${t}:wait`})},t));continue}let o=x(t),c=o?o.filter(e=>e.stop>i&&e.start<a):[],u=e.numberOf(n,t);ee.push(j(`div`,{class:`epg-row`,style:{top:`${(t-s)*r}rem`,height:`${r-.4}rem`},children:[j(`button`,{class:`epg-channel`,"data-focus":!0,"data-cell":`${t}:ch`,"data-focus-default":l.row===t&&l.pid===null||void 0,onClick:()=>e.onChannel(n,t),children:[u!==null&&j(`span`,{class:`epg-num`,children:u}),j(ld,{src:n.logo,size:26}),j(`span`,{class:`epg-chname`,children:n.name})]}),j(`div`,{class:`epg-programs`,children:[o&&!c.length&&j(`button`,{class:`epg-cell`,"data-focus":!0,"data-cell":`${t}:null`,style:{left:0,width:`100%`},onClick:()=>e.onChannel(n,t),children:j(`span`,{class:`epg-title`,children:R(`guide_no_data`)})}),c.map(r=>{let o=Math.max(r.start,i),s=Math.min(r.stop,a);return j(`button`,{class:`epg-cell${r.start<=h&&r.stop>h?` live`:``}`,"data-focus":!0,"data-cell":`${t}:${r.id}`,"data-focus-default":l.row===t&&l.pid===r.id||void 0,style:{left:`${(o-i)/yp*100}%`,width:`${(s-o)/yp*100}%`},onClick:()=>e.onProgram(r,n,t),children:[j(`span`,{class:`epg-title`,children:r.title}),j(`span`,{class:`epg-time`,children:Fl(r.start)})]},r.id)})]})]},t))}return j(`div`,{class:`epg-grid${e.translucent?` translucent`:``}`,children:[j(`div`,{class:`epg-header`,children:[0,1,2,3].map(e=>j(`span`,{style:{left:`${e*25}%`},children:Fl(i+e*bp)},e))}),j(`div`,{class:`epg-body`,ref:o,"data-focus-group":`epg`,"data-focus-noscroll":!0,onScroll:e=>{e.currentTarget.scrollTop=0},children:[ee,C!==null&&j(`div`,{class:`epg-now`,style:{left:`calc(var(--epg-ch) + (100% - var(--epg-ch)) * ${C/100})`}})]})]})}var Ep=5e3,Dp=700,Op=[`fit`,`fill`,`zoom`],kp=[0,15,30,45,60,90,120],Ap=[.5,.75,1,1.25,1.5,2],jp=[];for(let e=-10;e<=10;e+=.5)jp.push(e);var Mp=e=>R(`tz_sub_offset_value`,`${e>0?`+`:``}${(e/1e3).toFixed(1)}`),Np=e=>`${e}x`,Pp=3e4,Fp=e=>e<10?`0${e}`:`${e}`,Ip=e=>`${Fp(e.getHours())}:${Fp(e.getMinutes())}`,Lp=e=>e>=2e3?`4K`:e>=1e3?`FHD`:e>=700?`HD`:e>0?`SD`:``;function Rp({onExit:e}){let t=gd.value,n=t.ids,r=ke(()=>new su(n),[n]),[i,a]=N(t.index),[o,s]=N(null),[c,l]=N(!0),[u,d]=N(null),f=F(!0);f.current=c||u!==null;let[p,m]=N(0),[h,g]=N(t.archive?{program:t.archive,offset:0}:null),[_,v]=N(null),[y,b]=N(null),[x,S]=N(0),C=F(void 0),ee=F(!0),w=F(void 0),T=F(0),[,te]=N(0),E=F(null),D=F(0),O=F(void 0),k=q.value,ne=o?o.providerId:null,A=()=>{l(!0),clearTimeout(O.current),O.current=window.setTimeout(()=>l(!1),Ep)},re=()=>{clearTimeout(O.current),O.current=window.setTimeout(()=>{d(e=>e===`controls`?null:e),l(!1)},Ep)},ie=e=>{let t=n.length;t&&(o&&(E.current=o.id),clearTimeout(w.current),v(null),g(null),a((e%t+t)%t))};P(()=>{let e=!0;return(async()=>{let t=await K.channels.get(n[i]);if(!e||!t)return;if(q.peek().pinHash){await Wl(t.providerId);let n=t.categoryId===null?null:await K.categories.get(t.categoryId)||null;if(!e)return;if(Kl(n,t.id)){s(t),jf(),b({channel:t,categoryId:t.categoryId});return}}s(t),A(),cf.value=`full`;let r=(Yc.value||[]).find(e=>e.id===t.providerId);if(clearTimeout(C.current),!ee.current&&!h&&(await new Promise(e=>{C.current=window.setTimeout(e,350)}),!e))return;if(ee.current=!1,h){let e=h.program,n=Date.now(),i=ip(t,e.start,n)?rp(t,e.start+h.offset,e.stop,n,{serverZone:r?r.serverTimezone:null}):null;if(!i){B(R(`archive_unavailable`)),g(null);return}kf({url:i,userAgent:r?r.userAgent:null,key:`arc:${t.id}:${e.id}:${h.offset}`},{onEnded:()=>ae(t,e)});return}let o=!1;kf({url:t.url,userAgent:r?r.userAgent:null,key:`live:${t.id}`},{onStarted:()=>{o||(o=!0,lu(t.providerId,`live`,t.id),Wc({lastChannelId:t.id}))},onFailed:()=>{let e=E.current;if(!q.peek().fallbackToPrevious||e===null||Date.now()-D.current<Pp)return;let t=n.indexOf(e);t<0||(D.current=Date.now(),E.current=null,a(t),B(R(`player_fallback_reason`,op())))}})})(),()=>{e=!1,clearTimeout(C.current)}},[i,h,x]);let ae=async(e,t)=>{let n=(await Tl(e,t.stop-6e4,t.stop+216e5)).filter(e=>e.id!==t.id&&e.start>=t.stop-6e4).sort((e,t)=>e.start-t.start)[0];g(n&&n.stop<Date.now()?{program:n,offset:0}:null)},oe=()=>{clearTimeout(w.current),v(null),g(null)};P(()=>()=>clearTimeout(w.current),[]);let se=()=>h?h.offset+lf.peek():0,ce=e=>{if(!h)return;let t=Math.min(h.program.stop,Date.now()-6e4)-h.program.start,n=Math.max(0,Math.min(t,(_===null?se():_)+e));v(n),A(),clearTimeout(w.current),w.current=window.setTimeout(()=>{v(null);let e=o&&o.catchupType===`XTREAM`;g({program:h.program,offset:e?Math.floor(n/6e4)*6e4:n})},Dp)};P(()=>{ne!==null&&vd(ne)},[ne]),P(()=>{let e=setInterval(()=>{f.current&&te(e=>e+1)},5e3);return()=>{clearInterval(e),o&&(hd.value=o.id)}},[o]),P(()=>()=>clearTimeout(O.current),[]),P(()=>{if(!p)return;let e=setTimeout(()=>{X.peek()!==`paused`&&Mf(),m(0),B(R(`sleep_triggered`))},p*6e4);return()=>clearTimeout(e)},[p]);let le=()=>{o&&(hd.value=o.id),gd.value=null,cf.value=null,e()},ue=async()=>{if(!o)return;let e=await cu(o.providerId,`live`,o.id);await vd(o.providerId),B(R(e?`player_favorite_added`:`player_favorite_removed`))},de=()=>{let e=Op[(Op.indexOf(sf.value)+1)%Op.length];sf.value=e,B(R(`aspect_${e}`))},fe=e=>{e===`FAVORITE`?ue():e===`AUDIO`?d({page:`audio`,direct:!0}):e===`SUBTITLES`?d({page:`subs`,direct:!0}):e===`ASPECT`?de():e===`CHANNELS`?d(`list`):e===`INFO`?A():e===`GUIDE`&&d(`guide`)},pe=jn(async e=>{let t=-1;if(k.numbering===`CATEGORY`)t=e-1<n.length?e-1:-1;else if(ne!==null){let r=await K.channels.where(`[providerId+number]`).equals([ne,e]).first();t=r?n.indexOf(r.id):-1}t<0?B(R(`channel_not_found`)):ie(t)});P(()=>{let e=()=>{u||d({page:`main`,direct:!1})};return document.addEventListener(`longpress`,e),()=>document.removeEventListener(`longpress`,e)},[u]),tn((e,t)=>{if(u===`controls`&&re(),e.startsWith(`digit`))return pe.push(e.slice(5)),!0;if(h&&!u&&e===`stop`)return oe(),!0;if(h&&!u&&X.peek()!==`error`){if(e===`left`||e===`right`)return T.current=t&&t.repeat?T.current+1:0,ce((e===`left`?-1:1)*(T.current>4?12e4:3e4)),!0;if(e===`rew`||e===`ff`)return ce((e===`rew`?-1:1)*12e4),!0;if(e===`ok`||e===`playPause`||e===`play`||e===`pause`)return Mf(),A(),!0}if(e===`back`)return u?d(null):c?(clearTimeout(O.current),l(!1)):le(),!0;if(!u&&(X.peek()!==`error`||e!==`ok`&&e!==`left`&&e!==`right`))switch(e){case`ok`:return d(`controls`),l(!0),re(),!0;case`up`:case`chUp`:return ie(i+1),!0;case`down`:case`chDown`:return ie(i-1),!0;case`left`:case`channelList`:return d(`list`),!0;case`right`:case`guide`:return d(`guide`),!0;case`last`:return E.current!==null&&n.indexOf(E.current)>=0&&ie(n.indexOf(E.current)),!0;case`info`:return c?l(!1):A(),!0;case`menu`:return d({page:`main`,direct:!1}),!0;case`playPause`:case`play`:case`pause`:return Mf(),A(),!0;case`red`:return fe(k.colorKeys[0]),!0;case`green`:return fe(k.colorKeys[1]),!0;case`yellow`:return fe(k.colorKeys[2]),!0;case`blue`:return fe(k.colorKeys[3]),!0}});let M=!!o&&_d.value.has(o.id),me=X.value,he=c&&!u||u===`controls`,ge=!!h&&!u&&(c||_!==null||me===`paused`);return j(`div`,{class:`player`,children:[j(vp,{}),me===`loading`&&j(`div`,{class:`player-center`,children:[j(`div`,{class:`spinner`}),of.value>0&&j(`span`,{class:`retry-label`,children:R(`player_retrying`,of.value)})]}),me===`paused`&&j(`div`,{class:`player-center`,children:j(z,{name:`pause`,class:`paused-icon`})}),me===`error`&&j(ap,{onRetry:Af,onBack:le}),o&&h&&ge&&j(Bp,{channel:o,program:h.program,target:_,offset:h.offset,paused:me===`paused`}),o&&!h&&he&&j(Vp,{channel:o,number:k.numbering===`HIDDEN`?null:k.numbering===`CATEGORY`?i+1:o.number,favorite:M,hint:u!==`controls`,children:u===`controls`&&j(Hp,{favorite:M,subsOn:!1,onClose:()=>{d(null),A()},actions:{channels:()=>d(`list`),guide:()=>d(`guide`),audio:()=>d({page:`audio`,direct:!0}),subs:()=>d({page:`subs`,direct:!0}),picture:de,favorite:ue,more:()=>d({page:`main`,direct:!1}),back:le}})}),u===`list`&&j(Up,{pager:r,count:n.length,current:i,title:md.value,numberOf:(e,t)=>k.numbering===`HIDDEN`?null:k.numbering===`CATEGORY`?t+1:e?e.number:null,onPick:e=>{d(null),e!==i&&ie(e)}}),u===`guide`&&j(Wp,{pager:r,count:n.length,current:i,numberOf:(e,t)=>k.numbering===`HIDDEN`?null:k.numbering===`CATEGORY`?t+1:e.number,onPlay:e=>{d(null),e===i?oe():ie(e)},onArchive:(e,t)=>{d(null),t!==i&&ie(t),g({program:e,offset:0})}}),u&&typeof u==`object`&&j(Gp,{page:u.page,direct:u.direct,favorite:M,sleepMin:p,setPage:e=>d({page:e,direct:!1}),close:()=>d(null),onFavorite:ue,onSleep:e=>{m(e),e&&B(R(`sleep_set`,e))},onGuide:()=>d(`guide`),onGoLive:h?()=>{d(null),oe()}:void 0}),j(Mn,{digits:pe.digits}),y&&j(Nn,{title:R(`pin_enter`),check:tu,onDone:()=>{ql(y.categoryId,y.channel.id),b(null),S(e=>e+1)},onClose:()=>{b(null);let e=E.current;e!==null&&n.indexOf(e)>=0?ie(n.indexOf(e)):le()}})]})}function zp({text:e,live:t,archive:n}){return j(`span`,{class:`badge-sm${t?` live`:``}${n?` archive`:``}`,children:e})}function Bp(e){let{program:t}=e,n=e.target===null?e.offset+lf.value:e.target,r=Math.max(1,t.stop-t.start);return j(`div`,{class:`info-band archive-band`,children:j(`div`,{class:`band-row`,children:[j(`div`,{class:`band-left`,children:j(ld,{src:e.channel.logo,size:64})}),j(`div`,{class:`band-mid`,children:[j(`div`,{class:`band-title`,children:[j(`span`,{class:`band-name`,children:e.channel.name}),j(zp,{text:R(`player_archive`),archive:!0})]}),j(`p`,{class:`band-program`,children:t.title}),j(`div`,{class:`vod-bar-row`,children:[j(z,{name:e.paused?`play`:`pause`,class:`vod-state`}),j(`span`,{class:`vod-time`,children:Fl(t.start+n)}),j(`div`,{class:`vod-bar`,children:j(`span`,{class:`vod-played`,style:{width:`${Math.min(100,n/r*100)}%`}})}),j(`span`,{class:`vod-time`,children:Fl(t.stop)})]}),j(`p`,{class:`band-hint`,children:R(`tz_archive_hint`)})]}),j(`span`,{class:`band-clock`,children:Ip(new Date)})]})})}function Vp(e){let t=e.channel,[n,r]=N(null),i=Ll.value;P(()=>{let e=!0;return Dl(t).then(t=>e&&r(t)),()=>{e=!1}},[t.id,i]);let a=n&&n.now,o=n&&n.next,s=Pf().length,c=Ff().length,l=Lp(zf());return j(`div`,{class:`info-band`,children:[j(`div`,{class:`band-row`,children:[j(`div`,{class:`band-left`,children:[e.number!==null&&j(`span`,{class:`band-number`,children:e.number}),j(ld,{src:t.logo,size:64})]}),j(`div`,{class:`band-mid`,children:[j(`div`,{class:`band-title`,children:[j(`span`,{class:`band-name`,children:t.name}),e.favorite&&j(z,{name:`star`,class:`fav-star big`}),j(zp,{text:R(`player_live`),live:!0}),l&&j(zp,{text:l}),s>1&&j(zp,{text:`♪ ${s}`}),c>0&&j(zp,{text:`CC`})]}),a?j(x,{children:[j(`p`,{class:`band-program`,children:[j(`span`,{class:`band-time`,children:Il(a)}),a.title]}),j(`div`,{class:`band-progress`,children:[j(ud,{value:Nl(a)}),j(`span`,{children:R(`minutes_left`,Math.max(0,Math.round((a.stop-Date.now())/6e4)))})]})]}):j(`p`,{class:`band-program`,children:R(`no_program`)}),o&&j(`p`,{class:`band-next`,children:`${R(`next_label`)}: ${Fl(o.start)} ${o.title}`}),e.hint&&j(`p`,{class:`band-hint`,children:R(`player_hint_live`)})]}),j(`span`,{class:`band-clock`,children:Ip(new Date)})]}),e.children]})}function Hp(e){let t=F(null);P(()=>{L(t.current)},[]),tn(t=>{if(t===`back`)return e.onClose(),!0});let n=e.actions;return j(`div`,{class:`control-bar`,ref:t,"data-focus-scope":!0,children:[[`list`,R(`pc_channels`),n.channels],[`guide`,R(`player_guide`),n.guide],[`audio`,R(`player_audio`),n.audio],[`subtitles`,R(`player_subtitles`),n.subs,e.subsOn],[`aspect`,R(`pc_picture`),n.picture],[e.favorite?`star`:`starOutline`,R(`pc_favorite`),n.favorite,e.favorite],[`more`,R(`pc_more`),n.more],[`back`,R(`back`),n.back]].map(([e,t,n,r],i)=>j(`div`,{class:`cb-item`,children:[j(`button`,{class:`cb-btn${r?` active`:``}`,"data-focus":!0,"data-focus-default":i===0||void 0,onClick:n,children:j(z,{name:e})}),j(`span`,{class:`cb-label`,children:t})]},t))})}function Up(e){let[t,n]=N(e.current),r=F(null);return P(()=>{setTimeout(()=>{let t=r.current&&r.current.querySelector(`[data-idx="${e.current}"]`);t&&t.focus()},0)},[]),j(`div`,{class:`list-overlay`,"data-focus-scope":!0,children:[j(`h2`,{children:e.title}),j(Dd,{listRef:r,group:`player-list`,compact:!0,current:e.current,pager:e.pager,count:e.count,index:t,setIndex:n,numberOf:e.numberOf,focused:!0,onOpen:e.onPick,onMenu:()=>{}})]})}function Wp(e){let[t,n]=N(Cp(Date.now()));return j(`div`,{class:`guide-overlay`,"data-focus-scope":!0,children:j(Tp,{pager:e.pager,count:e.count,initialRow:e.current,rowRem:5.2,translucent:!0,winStart:t,setWinStart:n,numberOf:e.numberOf,onChannel:(t,n)=>e.onPlay(n),onProgram:async(t,n,r)=>{let i=Date.now();t.start>i?B(R(await ad(t,n)?`guide_reminder_set`:`guide_reminder_removed`)):t.stop<=i&&ip(n,t.start,i)?e.onArchive(t,r):e.onPlay(r)}})})}function Gp(e){let t=F(null),n=uf.value,r=df.value,i=e=>{uf.value=e},a=e=>{df.value=e};P(()=>{L(t.current)},[e.page]),tn(t=>{if(t===`back`)return e.page!==`main`&&!e.direct?e.setPage(`main`):e.close(),!0});let o=()=>e.direct?e.close():e.setPage(`main`),s=Pf(),c=Ff(),l=(e,t,n)=>{let r=e.find(e=>e.index===t);return r?r.label:n},u=R(`player_options`),d=[];if(e.page===`main`){d=[{label:R(`player_audio`),value:s.length?l(s,n,R(`player_auto`)):R(`player_no_tracks`),onSelect:()=>e.setPage(`audio`)},{label:R(`player_subtitles`),value:pp.value?pp.value.label:l(c,r,R(`player_off`)),onSelect:()=>e.setPage(`subs`)},{label:R(`player_aspect`),value:R(`aspect_${sf.value}`),onSelect:()=>e.setPage(`aspect`)}];let t=e.vod;if(t&&d.push({label:R(`player_speed`),value:Np(t.speed),onSelect:()=>e.setPage(`speed`)}),d.push({label:R(`player_sleep`),value:e.sleepMin?R(`sleep_set`,e.sleepMin):R(`sleep_off`),onSelect:()=>e.setPage(`sleep`)}),t&&t.prev&&d.push({label:R(`vod_prev_ep`),value:t.prev.title,onSelect:()=>{e.close(),t.prev.go()}}),t&&t.next&&d.push({label:R(`vod_next_ep`),value:t.next.title,onSelect:()=>{e.close(),t.next.go()}}),e.onGuide){let t=e.onGuide;d.push({label:R(`player_guide`),onSelect:t}),d.push({label:R(e.favorite?`menu_remove_favorite`:`menu_add_favorite`),onSelect:()=>{e.onFavorite(),e.close()}})}e.onGoLive&&d.unshift({label:R(`player_go_live`),onSelect:e.onGoLive}),d.push({label:R(`player_info`),onSelect:()=>e.setPage(`info`)})}else if(e.page===`audio`)u=R(`player_audio`),d=[{label:R(`player_auto`),checked:n===null,onSelect:()=>{i(null),o()}}].concat(s.map((e,t)=>({label:e.label||R(`track_n`,t+1),checked:n===e.index,onSelect:()=>{If(e.index),i(e.index),yf(`audio`,e),o()}})));else if(e.page===`subs`){u=R(`player_subtitles`);let t=pp.value;d=[{label:R(`player_off`),checked:r===null&&!t,onSelect:()=>{Lf(null),a(null),hp(),yf(`text`,null),o()}}],t&&d.push({label:t.label,checked:!0,onSelect:o}),d=d.concat(c.map((e,n)=>({label:e.label||R(`track_n`,n+1),checked:!t&&r===e.index,onSelect:()=>{hp(),Lf(e.index),a(e.index),yf(`text`,e),o()}})));let n=e.vod;n&&(d.push({label:R(`sub_find`),onSelect:()=>{e.close(),n.findSubs()}}),d.push({label:R(`sub_load`),onSelect:()=>{e.close(),n.loadSubs()}}),t&&d.push({label:R(`sub_offset`),value:Mp(mp.value),onSelect:()=>e.setPage(`offset`)}))}else if(e.page===`offset`)u=R(`sub_offset`),d=jp.map(e=>({label:Mp(e*1e3),checked:mp.value===e*1e3,onSelect:()=>{mp.value=e*1e3,o()}}));else if(e.page===`aspect`)u=R(`player_aspect`),d=Op.map(e=>({label:R(`aspect_${e}`),checked:sf.value===e,onSelect:()=>{sf.value=e,o()}}));else if(e.page===`speed`&&e.vod){let t=e.vod;u=R(`player_speed`),d=Ap.map(e=>({label:Np(e),checked:t.speed===e,onSelect:()=>{t.setSpeed(e),o()}}))}else if(e.page===`sleep`)u=R(`player_sleep`),d=kp.map(t=>({label:t?R(`sleep_minutes`,t):R(`sleep_off`),checked:e.sleepMin===t,onSelect:()=>{e.onSleep(t),o()}}));else{u=R(`player_info`);let t=zf();d=[{label:R(`info_video`,t?`${t}p`:R(`info_none`)),onSelect:()=>{}},{label:R(`info_audio`,s.length?s.map(e=>e.label).join(`, `):R(`info_none`)),onSelect:()=>{}},...Rf().map(e=>({label:e,onSelect:()=>{}})),{label:R(`back`),onSelect:()=>e.setPage(`main`)}]}let f=d.some(e=>e.checked);return j(`div`,{class:`options-panel`,ref:t,"data-focus-scope":!0,children:[j(`h2`,{children:u}),d.map((t,n)=>j(`button`,{class:`opt-row focus-row${t.checked?` selected`:``}`,"data-focus":!0,"data-focus-default":(f?t.checked:n===0)||void 0,onClick:t.onSelect,children:[j(`span`,{class:`opt-text`,children:[j(`span`,{class:`opt-label`,children:t.label}),t.value&&j(`span`,{class:`opt-value`,children:t.value})]}),t.checked?j(z,{name:`check`}):e.page===`main`&&t.value!==void 0?j(z,{name:`chevron`}):null]},`${e.page}-${n}`))]})}function Kp(){let e=cf.value;if(e===`full`)return null;if(!e)return j(`div`,{class:`backdrop`,style:{left:0,top:0,right:0,bottom:0}});let t=window.innerWidth,n=window.innerHeight,r=(e,t,n,r)=>j(`div`,{class:`backdrop`,style:{left:`${e}px`,top:`${t}px`,width:`${n}px`,height:`${r}px`,backgroundPosition:`${-e}px ${-t}px`}});return j(x,{children:[r(0,0,t,e.y),r(0,e.y+e.h,t,n-e.y-e.h),r(0,e.y,e.x,e.h),r(e.x+e.w,e.y,t-e.x-e.w,e.h)]})}var qp=Ls(`[^LETTER0-9]+`,`g`),Jp=e=>e.toLowerCase().split(qp).filter(Boolean),Yp=(e,t)=>t.every(t=>e.some(e=>e.startsWith(t)));function Xp(e,t){let n=e.toLowerCase();return n===t?0:n.startsWith(t)?1:n.indexOf(t)>=0?2:3}var Zp=null,Qp=40,$p=null,em=null,tm=null,nm=e=>!!(Hl.value.get(e.id)||{}).hidden||Gl(e);function rm(e,t){return $p&&$p.stamp===t?Promise.resolve($p):(em||(em=im(e,t).then(e=>(em=null,e),e=>{throw em=null,e})),em)}async function im(e,t){let n=t=>{let n=[];return t.where(`providerId`).equals(e).each(e=>{n.push({id:e.id,name:e.name,categoryId:e.categoryId,w:Jp(e.name)})}).then(()=>n)},[r,i,a,o]=await Promise.all([n(K.channels),n(K.movies),n(K.series),K.categories.where(`providerId`).equals(e).toArray()]);return $p={stamp:t,live:r,movie:i,series:a,blocked:new Set(o.filter(nm).map(e=>e.id))},$p}function am(e,t,n,r,i=Qp){let a=[];for(let n of e)n.categoryId!==null&&r.has(n.categoryId)||Yp(n.w,t)&&a.push(n);return a.sort((e,t)=>Xp(e.name,n)-Xp(t.name,n)||e.name.length-t.name.length).slice(0,i)}var om=e=>`${e&&e.lastSync||0}|${e&&e.lastEpgSync||0}`;async function sm(e,t,n,r){let i=lm(r);if(!i)return null;let a=await rm(e,t);return new Set(am(a[n],i.tokens,i.q,a.blocked,1/0).map(e=>e.id))}function cm(e,t){rm(e,t).then(()=>fm(e,t)).catch(()=>{})}var lm=e=>{let t=e.trim().toLowerCase(),n=Jp(t);return t.length<2||!n.length?null:{q:t,tokens:n}};async function um(e,t,n,r=Qp){let i=lm(n);if(!i)return null;let{q:a,tokens:o}=i,s=await rm(e,t);return{channels:am(s.live,o,a,s.blocked,r),movies:am(s.movie,o,a,s.blocked,r),series:am(s.series,o,a,s.blocked,r)}}async function dm(e,t,n,r=Qp){let i=lm(n);if(!i)return[];let{tokens:a}=i,o=await rm(e,t),s=await fm(e,t),c=Date.now()-216e5,l=[];for(let e of s.list)if(e.stop>c&&Yp(e.w,a)&&l.push(e.id),l.length>=400)break;let u=(await K.programs.bulkGet(l)).filter(e=>!!e).sort((e,t)=>e.start-t.start),d=await K.epgLinks.where(`providerId`).equals(e).toArray(),f=new Map;for(let e of d)f.has(e.key)||f.set(e.key,e.id);let p=new Map(o.live.map(e=>[e.id,e])),m=[];for(let e of u){let t=p.get(f.get(e.key)||-1);if(!(!t||t.categoryId!==null&&o.blocked.has(t.categoryId))&&(m.push({program:e,channelId:t.id}),m.length>=r))break}return m}function fm(e,t){return Zp&&Zp.stamp===t&&Date.now()-Zp.at<36e5?Promise.resolve(Zp):(tm||(tm=pm(e,t).then(e=>(tm=null,e),e=>{throw tm=null,e})),tm)}async function pm(e,t){let n=Date.now()-216e5,r=[];return await K.programs.where(`providerId`).equals(e).each(e=>{e.stop>n&&r.push({id:e.id,start:e.start,stop:e.stop,w:Jp(e.title)})}),Zp={stamp:t,at:Date.now(),list:r},Zp}function mm(e){let t=e.trim();t.length<2||Wc({searchHistory:[t,...(q.peek().searchHistory||[]).filter(e=>e.toLowerCase()!==t.toLowerCase())].slice(0,12)})}document.addEventListener(`focusin`,e=>{let t=e.target;if(t.closest(`.scrim`))return;let n=t.closest(`.bs-panel`);document.body.classList.toggle(`catalog-focus`,!!t.closest(`.browse`)),document.body.classList.toggle(`catalog-panel`,!!n),Array.prototype.forEach.call(document.querySelectorAll(`.bs-panel`),e=>{e===n?e.setAttribute(`data-focus-scope`,``):e.removeAttribute(`data-focus-scope`)})});var hm=()=>qt(document.querySelector(`.topbar .selected`));function gm(e){return document.body.classList.add(`catalog-panel`),L(e)}var _m=()=>L(document.querySelector(`.browse .browse-main`));function vm(e){let t=F(null),n=e.panelRef||t,r=F(null),i=F(null);P(()=>{let e=r.current,t=e=>{i.current=e.target};return e.addEventListener(`focusin`,t),()=>e.removeEventListener(`focusin`,t)},[]);let a=()=>{let e=i.current;return e&&e.isConnected&&r.current.contains(e)?qt(e):L(r.current)};return tn(e=>{var t,i;let o=document.activeElement;if(o&&(t=n.current)!=null&&t.contains(o))return e===`back`||e===`right`&&!(o.classList.contains(`bb-tab`)&&o.nextElementSibling)?a():e===`up`&&o===n.current.querySelector(`[data-focus]`)?hm():void 0;if(e===`back`&&yd.peek().length)return xd(),!0;if(e===`left`&&o&&(i=r.current)!=null&&i.contains(o))return Qt(`left`)||gm(n.current)}),j(`div`,{class:`browse`,children:j(`div`,{class:`browse-layout`,children:[j(`aside`,{class:`browse-side`,children:[j(`span`,{class:`bs-rail`,children:[j(z,{name:`list`}),j(`span`,{class:`bs-rail-title`,children:e.title})]}),j(`div`,{class:`bs-panel`,ref:n,"data-focus-group":`browse-side`,children:e.panel})]}),j(`div`,{class:`browse-main`,ref:r,children:e.children})]})})}var ym=1.8,bm=1.2,xm=6,Sm=4.2,Cm=1.5;function wm(e){let{items:t}=e,[n,r]=N(0),[i,a]=N(16),o=i*Cm+Sm+ym,s=F(null);return P(()=>{r(0),s.current&&(s.current.scrollTop=0);let n=document.activeElement;e.autoFocus!==!1&&t&&t.length&&!(n&&n.closest(`.bs-panel`))&&setTimeout(()=>L(s.current),0)},[t===null||t.length===0?null:t[0]]),P(()=>{let e=s.current,t=()=>a(Math.max(2,Math.floor(((e.clientWidth/kd()-2*bm)/xm-ym)*100)/100));t(),window.addEventListener(`resize`,t);let n=e=>{let t=e.target.closest(`[data-idx]`);t&&r(Number(t.getAttribute(`data-idx`)))};return e.addEventListener(`focusin`,n),()=>{e.removeEventListener(`focusin`,n),window.removeEventListener(`resize`,t)}},[]),P(()=>{let r=s.current;r&&r.contains(document.activeElement)&&(r.scrollTop=Math.floor(n/xm)*o*kd()),t&&e.onNearEnd&&n>=t.length-24&&e.onNearEnd()},[n,o]),tn(n=>{var r,i;let a=document.activeElement;if(n!==`up`&&n!==`down`||!((r=s.current)!=null&&r.contains(a)))return;let o=Number(a==null||(i=a.closest(`[data-idx]`))==null?void 0:i.getAttribute(`data-idx`));if(n===`up`&&o<xm)return(e.onTop||hm)();let c=n===`up`?o-xm:Math.min(((t==null?void 0:t.length)||1)-1,o+xm);return c===o||qt(s.current.querySelector(`[data-idx="${c}"] [data-focus]`))}),j(`div`,{class:`browse-grid ${e.kind}`,ref:s,"data-focus-group":`browse`,"data-focus-noscroll":!0,style:{"--cw":`${i}rem`,"--caption-h":`${Sm}rem`},children:[!t&&j(wn,{}),t&&!t.length&&j(`p`,{class:`empty`,children:e.empty||R(`vod_empty`)}),t&&(()=>{let r=Math.ceil(t.length/xm),i=Math.floor(n/xm),a=Math.max(0,i-4),s=Math.min(r,i+7),c=[j(`span`,{class:`grid-spacer`,style:{height:`${a*o}rem`}},`top`)];for(let n=a*xm;n<Math.min(t.length,s*xm);n++){var l;let r=Au(t[n]);c.push(j(`span`,{"data-idx":n,class:`grid-cell`,children:j(`span`,{class:`catalog-poster`,children:[j(Pd,{card:r,onClick:()=>{var t;(t=e.onOpen)==null||t.call(e),Vd(e.kind,r)}}),j(`span`,{class:`catalog-title`,children:r.title}),j(`span`,{class:`catalog-meta`,children:[r.rating?`★ ${r.rating.toFixed(1)}`:null,(l=r.item)==null?void 0:l.year].filter(Boolean).join(` · `)})]})},r.key))}return c.push(j(`span`,{class:`grid-spacer`,style:{height:`${(r-s)*o+54}rem`}},`bottom`)),c})()]})}var Tm=[[`added`,`sort_added`],[`name`,`sort_name`],[`rating`,`sort_rating`],[`year`,`sort_year`]];function Em(e){let t=e=>{yd.peek().length?Sd(e):bd(e)},n=Xc.value,r=(Yc.value||[]).find(e=>e.id===n),i=(r==null?void 0:r.lastSync)||0,[a,o]=N(e.sort||`added`),[s,c]=N(e.filter.genre||null),[l,u]=N(``),[d,f]=N(``),[p,m]=N(null),[h,g]=N([]),[_,v]=N([]),[y,b]=N(null);P(()=>{Ru(n,e.kind,i).then(v),ju(n,e.kind).then(e=>g(e.filter(e=>!e.adult&&Jl(e)&&!Kl(e))))},[n,e.kind,i]),P(()=>{c(e.filter.genre||null)},[JSON.stringify(e.filter)]),P(()=>{let e=setTimeout(()=>f(l.trim()),400);return()=>clearTimeout(e)},[l]),P(()=>{let t=!0;return m(null),(async()=>{let i=await Bu(n,e.kind,{categoryIds:e.filter.categoryIds,genre:s||void 0,favorites:e.filter.favorites},a),o=d.length>=2?await sm(n,om(r),e.kind,d):null;o&&(i=i.filter(e=>o.has(e.id))),t&&m(i)})(),()=>{t=!1}},[n,a,s,d,e.kind,JSON.stringify(e.filter)]);let S=e.filter.platformKey?lc.find(t=>t.key===e.filter.platformKey):fc(e.title),C=R(`genre_label`,s||R(`browse_all`)),ee=R(`sort_label`,R(Tm.find(([e])=>e===a)[1])),w=(n,r,i,a)=>j(`button`,{class:`focus-row${n?` selected`:``}`,"data-focus":!0,"data-focus-initial":n||void 0,onClick:()=>t({name:`browse`,kind:e.kind,title:r,filter:i}),children:r},a),T=j(x,{children:[j(Om,{kind:e.kind,title:e.title,filter:e.filter,platform:S||null,genreCount:(e.filter.genre||e.filter.favorites||d.length>=2)&&p?p.length:null,children:j(`div`,{class:`bb-sorts`,children:[j(Tn,{label:``,value:l,onInput:u,placeholder:R(e.kind===`movie`?`browse_search_movies`:`browse_search_series`),class:`bs-search`}),j(`button`,{class:`chip`,"data-focus":!0,onClick:()=>b({title:ee,items:Tm.map(([e,t])=>({label:R(t),checked:e===a,onSelect:()=>o(e)}))}),children:ee}),_.length>0&&j(`button`,{class:`chip bb-genre`,"data-focus":!0,onClick:()=>b({title:C,items:[null,..._].map(e=>({label:e||R(`browse_all`),checked:e===s,onSelect:()=>c(e)}))}),children:C})]})}),j(`span`,{class:`ux-eyebrow`,children:R(`ux_categories`)}),w(e.filter.all,R(`ux_all_content`),{all:!0}),w(e.filter.favorites,R(`shelf_favorites`),{favorites:!0}),h.map(t=>{var n;return w((n=e.filter.categoryIds)==null?void 0:n.includes(t.id),t.name,{categoryIds:[t.id]},t.id)})]});return j(x,{children:[j(vm,{title:e.title,panel:T,children:j(wm,{kind:e.kind,items:p,empty:d.length>=2?R(`search_no_results`,d):void 0})}),y&&j(An,{title:y.title,items:y.items,onClose:()=>b(null)})]})}var Dm=e=>{let t=parseInt(e.slice(1),16);return`${t>>16}, ${t>>8&255}, ${t&255}`};function Om(e){let t=Xc.value,{platform:n,filter:r}=e,[i,a]=N(null);P(()=>{let n=!0;return(async()=>{let i={movie:[],series:[]};if(r.platformKey)for(let e of[`movie`,`series`])i[e]=(await ju(t,e)).filter(e=>!e.adult&&(fc(e.name)||{key:``}).key===r.platformKey).map(e=>e.id);else r.categoryIds&&(i[e.kind]=r.categoryIds);let o=async n=>r.platformKey||r.categoryIds?i[n].length?ku(n).where(`categoryId`).anyOf(i[n]).count():0:n===e.kind&&r.all?ku(n).where(`providerId`).equals(t).count():0,[s,c]=await Promise.all([o(`movie`),o(`series`)]);n&&a({movie:s,series:c,ids:i})})(),()=>{n=!1}},[t,e.kind,JSON.stringify(r)]);let o=!!n&&!!r.platformKey&&!!i&&i.movie>0&&i.series>0,s=t=>i?t===e.kind&&e.genreCount!==null?e.genreCount:i[t]:0,c=i&&!o?[`movie`,`series`].filter(e=>s(e)>0).map(e=>R(e===`movie`?`browse_movie_count`:`browse_series_count`,s(e))).join(` · `):``,l=n?Dm(n.color):`var(--accent-rgb)`,u=t=>{t!==e.kind&&i&&Sd({name:`browse`,kind:t,title:e.title,filter:{categoryIds:i.ids[t],platformKey:r.platformKey}})};return j(`div`,{class:`browse-bar`,style:{background:`linear-gradient(90deg, rgba(${l}, 0.55), rgba(${l}, 0.12) 45%, rgba(255, 255, 255, 0.04))`},children:[j(`div`,{class:`bb-id`,children:[n?j(`span`,{class:`browse-logo`,children:j(Id,{p:n})}):j(`h1`,{class:`bb-title`,children:e.title}),c&&j(`span`,{class:`bb-count`,children:c})]}),o&&j(`div`,{class:`bb-tabs`,"data-focus-group":`browse-tabs`,children:[`movie`,`series`].map(t=>j(`button`,{class:`bb-tab${t===e.kind?` selected`:``}`,"data-focus":!0,"data-focus-initial":t===e.kind||void 0,onClick:()=>u(t),children:[R(t===`movie`?`nav_movies`:`nav_series`),j(`span`,{class:`bb-tab-count`,children:` ${i[t]}`})]},t))}),j(`span`,{class:`spacer`}),e.children]})}var km=e=>{let t=Math.floor(e/1e3),n=Math.floor(t/3600),r=Math.floor(t%3600/60);return n?`${n}:${Iu(r)}:${Iu(t%60)}`:`${Iu(r)}:${Iu(t%60)}`},Am=e=>!!e&&!e.watched&&e.position>1e4;function jm({src:e}){return j(`div`,{class:`detail-backdrop`,children:[e&&j(`img`,{src:e,alt:``,decoding:`async`}),j(`span`,{class:`db-h`}),j(`span`,{class:`db-v`})]})}function Mm({chips:e}){return j(`div`,{class:`meta-chips`,children:e.filter(Boolean).map(e=>j(`span`,{class:`meta-chip${e.startsWith(`★`)?` gold`:``}`,children:e},e))})}function Nm(e,t){let[n,r]=N([]);return P(()=>{e&&Vu(e,t).then(r)},[e&&e.id]),n}function Pm(e,t,n){return{title:R(`vod_versions`,e.length),items:e.map(e=>({label:$s(e.name)||R(`vod_version_standard`),checked:e.id===t.id,onSelect:()=>{e.id!==t.id&&Sd(n===`movie`?{name:`movie`,id:e.id}:{name:`series`,id:e.id})}}))}}function Fm(){tn(e=>{if(e===`back`)return xd(),!0})}function Im({id:e}){let[t,n]=N(null),[r,i]=N(),[a,o]=N(!1),[s,c]=N([]),[l,u]=N(null),[d,f]=N(!1),p=F(null),m=Nm(t,`movie`);Fm();let h=async()=>{i(await Eu(e)),o(!!await K.favorites.get(e))};if(P(()=>{let t=!0;K.movies.get(e).then(async r=>{if(!r||!t)return;n(r);let i=await bu(r);if(!t||(n(i),r.categoryId===null))return;let a=(await Nu(r.categoryId,21)).filter(t=>t.id!==e).slice(0,20);t&&c(a)}),h();let r=()=>h();return window.addEventListener(`utopya:progress`,r),()=>{t=!1,window.removeEventListener(`utopya:progress`,r)}},[e]),P(()=>{t&&setTimeout(()=>L(p.current),0)},[!!t]),!t)return j(wn,{page:!0});let g=Am(r),_=!!r&&r.watched,v=e=>bd({name:`vod`,kind:`movie`,id:t.id,startMs:e}),y=[[g?R(`vod_resume`,km(r.position)):R(`vod_play`),()=>v(g?r.position:0)]];return g&&y.push([R(`vod_restart`),()=>v(0)]),m.length>1&&y.push([R(`vod_versions`,m.length),()=>u(Pm(m,t,`movie`))]),y.push([R(a?`vod_remove_favorite`:`vod_add_favorite`),async()=>{await cu(t.providerId,`movie`,t.id),h()}]),y.push([R(_?`vod_mark_unwatched`:`vod_mark_watched`),async()=>{await Tu(`movie`,t.id,t.providerId,null,!_),h()}]),j(`div`,{class:`detail`,children:[j(jm,{src:t.backdrop||t.poster}),j(`div`,{class:`detail-scroll`,children:[j(`button`,{class:`btn outline back-btn`,"data-focus":!0,onClick:xd,children:[j(z,{name:`back`}),R(`back`)]}),j(`div`,{class:`detail-row`,children:[j(`div`,{class:`detail-poster`,children:t.poster&&j(`img`,{src:t.poster,alt:``})}),j(`div`,{class:`detail-info`,children:[j(`h1`,{children:t.name}),j(Mm,{chips:[t.year,t.durationSec?R(`vod_minutes`,Math.ceil(t.durationSec/60)):null,Ad(t.rating),t.genre]}),t.plot&&j(`p`,{class:`detail-plot`,children:t.plot}),t.director&&j(`p`,{class:`detail-credit`,children:R(`vod_director`,t.director)}),t.cast&&j(`p`,{class:`detail-credit`,children:R(`vod_cast`,t.cast)}),j(`button`,{class:`btn outline full-details-btn`,"data-focus":!0,onClick:()=>f(!0),children:R(`ux_full_details`)}),j(`div`,{class:`detail-actions`,ref:p,children:y.map(([e,t],n)=>j(`button`,{class:`btn ${n===0?`primary`:`outline`}`,"data-focus":!0,"data-focus-default":n===0||void 0,onClick:t,children:e},e))})]})]}),s.length>0&&j(Bd,{title:R(`shelf_similar`),info:!0,children:s.map(e=>{let t=Au(e);return j(Pd,{card:t,onClick:()=>Sd({name:`movie`,id:t.id})},t.key)})})]}),d&&j(Bm,{title:t.name,plot:t.plot,credits:[t.director&&R(`vod_director`,t.director),t.cast&&R(`vod_cast`,t.cast)],onClose:()=>f(!1)}),l&&j(An,{title:l.title,items:l.items,onClose:()=>u(null)})]})}function Lm(e,t){if(!e.length)return null;let n=e.filter(e=>Am(t.get(e.id))).sort((e,n)=>t.get(n.id).updated-t.get(e.id).updated)[0];if(n)return{ep:n,pos:t.get(n.id).position};let r=-1;return e.forEach((e,n)=>{let i=t.get(e.id);i&&i.watched&&(r=n)}),{ep:e[Math.min(r+1,e.length-1)],pos:0}}function Rm({id:e,season:t}){let[n,r]=N(null),[i,a]=N(null),[o,s]=N(new Map),[c,l]=N(!1),[u,d]=N(t||null),[f,p]=N(null),[m,h]=N(!1),g=F(null),_=Nm(n,`series`);Fm();let v=async(t=i)=>{t&&s(await Du(t.map(e=>e.id))),l(!!await K.favorites.get(e))};if(P(()=>{let t=!0;K.series.get(e).then(async e=>{if(!e||!t)return;r(e);let n=await xu(e);t&&(r(n.series),a(n.episodes),n.episodes.length&&u===null&&d(Math.min(...n.episodes.map(e=>e.season))),v(n.episodes))});let n=()=>v();return window.addEventListener(`utopya:progress`,n),()=>{t=!1,window.removeEventListener(`utopya:progress`,n)}},[e]),P(()=>{n&&setTimeout(()=>L(g.current),0)},[!!n]),!n)return j(wn,{page:!0});let y=i?Lm(i,o):null,b=i?[...new Set(i.map(e=>e.season))].sort((e,t)=>e-t):[],x=(e,t)=>bd({name:`vod`,kind:`episode`,id:e.id,seriesId:n.id,startMs:t}),S=e=>`S${Iu(e.season)}E${Iu(e.episode)}`,C=[];y&&C.push([y.pos?R(`vod_resume`,`${S(y.ep)} · ${km(y.pos)}`):`${R(`vod_play`)} ${S(y.ep)}`,()=>x(y.ep,y.pos)]),_.length>1&&C.push([R(`vod_versions`,_.length),()=>p(Pm(_,n,`series`))]),C.push([R(c?`vod_remove_favorite`:`vod_add_favorite`),async()=>{await cu(n.providerId,`series`,n.id),v()}]);let ee=e=>{let t=o.get(e.id),r=!!t&&t.watched;p({title:e.title,items:[{label:R(r?`vod_mark_unwatched`:`vod_mark_watched`),onSelect:async()=>{await Tu(`episode`,e.id,n.providerId,n.id,!r),v()}}]})};return j(`div`,{class:`detail`,children:[j(jm,{src:n.backdrop||n.poster}),j(`div`,{class:`detail-scroll series`,children:[j(`button`,{class:`btn outline back-btn`,"data-focus":!0,onClick:xd,children:[j(z,{name:`back`}),R(`back`)]}),j(`div`,{class:`detail-row`,children:[j(`div`,{class:`detail-poster`,children:n.poster&&j(`img`,{src:n.poster,alt:``})}),j(`div`,{class:`detail-info`,children:[j(`h1`,{children:n.name}),j(Mm,{chips:[n.year,Ad(n.rating),n.genre]}),n.plot&&j(`p`,{class:`detail-plot`,children:n.plot}),n.cast&&j(`p`,{class:`detail-credit`,children:R(`vod_cast`,n.cast)}),j(`button`,{class:`btn outline full-details-btn`,"data-focus":!0,onClick:()=>h(!0),children:R(`ux_full_details`)}),j(`div`,{class:`detail-actions`,ref:g,children:C.map(([e,t],n)=>j(`button`,{class:`btn ${n===0?`primary`:`outline`}`,"data-focus":!0,"data-focus-default":n===0||void 0,onClick:t,children:e},e))})]})]}),b.length>1?j(`div`,{class:`season-chips`,children:b.map(e=>j(`button`,{class:`chip${e===u?` selected`:``}`,"data-focus":!0,onClick:()=>d(e),children:R(`vod_season`,e)},e))}):j(`div`,{class:`season-gap`}),i===null&&j(`p`,{class:`muted`,children:R(`vod_episodes_loading`)}),i&&!i.length&&j(`p`,{class:`muted`,children:R(`vod_no_episodes`)}),j(`div`,{class:`episode-list`,"data-focus-group":`episodes`,children:i&&i.filter(e=>e.season===u).map(e=>j(zm,{e,poster:n.poster,p:o.get(e.id),onClick:()=>{let t=o.get(e.id);x(e,t&&!t.watched?t.position:0)},onLongPress:()=>ee(e)},e.id))})]}),m&&j(Bm,{title:n.name,plot:n.plot,credits:[n.cast&&R(`vod_cast`,n.cast)],onClose:()=>h(!1)}),f&&j(An,{title:f.title,items:f.items,onClose:()=>p(null)})]})}function zm(e){let{e:t,p:n}=e,r=n&&!n.watched&&n.duration?n.position/n.duration:0;return j(`button`,{onlongpress:e.onLongPress,class:`episode-row focus-row`,"data-focus":!0,onClick:e.onClick,children:[j(`span`,{class:`ep-thumb`,children:[(t.poster||e.poster)&&j(Sn,{src:t.poster||e.poster}),r>0&&r<.95&&j(`span`,{class:`poster-progress`,children:j(`span`,{style:{width:`${Math.round(r*100)}%`}})})]}),j(`span`,{class:`ep-text`,children:[j(`span`,{class:`ep-title`,children:R(`vod_episode_title`,t.episode,t.title)}),t.plot&&j(`span`,{class:`ep-plot`,children:t.plot})]}),t.durationSec?j(`span`,{class:`ep-min`,children:R(`vod_minutes`,Math.round(t.durationSec/60))}):null,n&&n.watched&&j(z,{name:`check`,class:`ep-watched`})]})}function Bm({title:e,plot:t,credits:n,onClose:r}){let i=F(null),a=F(null),o=F(document.activeElement);return P(()=>(qt(a.current),()=>{var e;(e=o.current)!=null&&e.isConnected&&qt(o.current)}),[]),tn(e=>{if(e===`back`)return r(),!0;if(document.activeElement===a.current&&[`up`,`down`,`chUp`,`chDown`].includes(e)){let t=a.current,n=e===`up`||e===`chUp`?-1:1,r=t.scrollTop;if(t.scrollTop+=n*Math.max(60,t.clientHeight/4),t.scrollTop!==r)return!0}return`default`}),j(`div`,{class:`scrim`,"data-focus-scope":!0,children:j(`div`,{class:`full-details-dialog`,ref:i,role:`dialog`,"aria-modal":`true`,"aria-label":e,children:[j(`h2`,{children:e}),j(`div`,{class:`full-details-text`,ref:a,"data-focus":!0,tabIndex:-1,children:[t&&j(`p`,{children:t}),n.filter(Boolean).map(e=>j(`p`,{children:e},e))]}),j(`button`,{class:`btn outline`,"data-focus":!0,onClick:r,children:R(`back`)})]})})}var Vm=`keys`,Hm=null;function Um(){return new Promise((e,t)=>{let n=indexedDB.open(`utopya-keys`,1);n.onupgradeneeded=()=>n.result.createObjectStore(Vm),n.onsuccess=()=>e(n.result),n.onerror=()=>t(n.error)})}function Wm(e){return new Promise((t,n)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>n(e.error)})}function Gm(){return Hm||(Hm=(async()=>{let e=window.crypto&&window.crypto.subtle;if(!e)return null;try{let t=await Um(),n=await Wm(t.transaction(Vm).objectStore(Vm).get(`main`));if(n)return n;let r=await e.generateKey({name:`AES-GCM`,length:256},!1,[`encrypt`,`decrypt`]);return await Wm(t.transaction(Vm,`readwrite`).objectStore(Vm).put(r,`main`)),r}catch(e){return console.warn(`şifreleme anahtarı yok`,e),null}})()),Hm}var Km=e=>btoa(String.fromCharCode.apply(null,Array.prototype.slice.call(new Uint8Array(e)))),qm=e=>Uint8Array.from(atob(e),e=>e.charCodeAt(0));async function Jm(e){let t=await Gm();if(!t)return`p:${e}`;let n=crypto.getRandomValues(new Uint8Array(12)),r=await crypto.subtle.encrypt({name:`AES-GCM`,iv:n},t,new TextEncoder().encode(e));return`v1:${Km(n)}:${Km(r)}`}async function Ym(e){if(e.startsWith(`p:`))return e.slice(2);let t=/^v1:([^:]+):(.+)$/.exec(e),n=await Gm();if(!t||!n)return null;try{let e=await crypto.subtle.decrypt({name:`AES-GCM`,iv:qm(t[1])},n,qm(t[2]));return new TextDecoder().decode(e)}catch(e){return null}}var Xm=`https://api.opensubtitles.com/api/v1`,Zm=`UtopyaTV v1.0`,Qm=`utopya.opensubtitles`;async function $m(){try{let e=localStorage.getItem(Qm),t=e&&await Ym(e);return t?JSON.parse(t):null}catch(e){return null}}var eh=null;async function th(e){eh=null;try{e&&(e.key||e.user||e.pass)?localStorage.setItem(Qm,await Jm(JSON.stringify(e))):localStorage.removeItem(Qm)}catch(e){}}var nh=class extends Error{};async function rh(e,t,n,r){let i=n?`?`+Object.keys(n).sort().map(e=>`${e.toLowerCase()}=${encodeURIComponent(String(n[e]).toLowerCase())}`).join(`&`):``,a={"Api-Key":e.key,Accept:`application/json`,"X-User-Agent":Zm};eh&&(a.Authorization=`Bearer ${eh}`),r&&(a[`Content-Type`]=`application/json`);let o=await fetch(wr(Xm+t+i),{method:r?`POST`:`GET`,headers:a,body:r?JSON.stringify(r):void 0,credentials:`omit`});if(o.status===406||o.status===429)throw new nh;if(!o.ok)throw Error(`OpenSubtitles ${o.status}`);return o.json()}var ih=65536;function ah(e,t,n){let r=e>>>0,i=Math.floor(e/4294967296)>>>0;for(let e of[t,n]){let t=new DataView(e.buffer,e.byteOffset,e.byteLength);for(let n=0;n+8<=e.byteLength;n+=8){let e=r+t.getUint32(n,!0);r=e>>>0,i=i+t.getUint32(n+4,!0)+ +(e>4294967295)>>>0}}let a=e=>(`00000000`+e.toString(16)).slice(-8);return a(i)+a(r)}async function oh(e,t,n){let r=await fetch(wr(e),{headers:{Range:`bytes=${t}-${n}`},credentials:`omit`});if(r.status!==206)return null;let i=parseInt((r.headers.get(`content-range`)||``).split(`/`)[1],10);return{bytes:new Uint8Array(await r.arrayBuffer()),total:i}}async function sh(e){try{let t=await oh(e,0,65535);if(!t||!(t.total>=2*ih))return null;let n=await oh(e,t.total-ih,t.total-1);return n?ah(t.total,t.bytes,n.bytes):null}catch(e){return null}}function ch(e,t,n){let r=e.filter(e=>e.attributes.files&&e.attributes.files.length),i=e=>{let n=e.attributes.feature_details||{};return t.season===void 0||n.season_number===t.season&&n.episode_number===t.episode},a=e=>{let n=e.attributes.feature_details||{};return t.season===void 0||n.season_number===void 0||n.season_number===t.season},o=tc(t.title).map(Ks),s=t.year?parseInt(t.year,10):NaN,c=e=>{let n=e.attributes.feature_details||{},r=Ks((t.season===void 0?n.title:n.parent_title)||``);return!r||o.indexOf(r)<0?!1:isNaN(s)||!n.year||Math.abs(n.year-s)<=1},l=e=>e.sort((e,t)=>(t.attributes.download_count||0)-(e.attributes.download_count||0))[0]||null;return l(r.filter(e=>String(e.attributes.moviehash_match)===`true`&&a(e)))||(n?l(r.filter(i)):null)||l(r.filter(e=>i(e)&&c(e)))}async function lh(e,t){let n=await $m();if(!n||!n.key)return{kind:`no_key`};try{let r=await sh(e.url),i={languages:t};r&&(i.moviehash=r),e.season===void 0?i.type=`movie`:(i.type=`episode`,i.season_number=e.season,i.episode_number=e.episode);let a=async e=>(await rh(n,`/subtitles`,V(V({},i),e))).data||[],o=null;e.tmdbId&&+e.tmdbId>0&&(o=ch(await a(e.season===void 0?{tmdb_id:e.tmdbId}:{parent_tmdb_id:e.tmdbId}),e,!0));for(let t of tc(e.title).reverse()){if(o)break;let n={query:t.toLowerCase()};e.season===void 0&&e.year&&(n.year=e.year.slice(0,4)),o=ch(await a(n),e,!1)}if(!o)return{kind:`not_found`};if(n.user&&!eh)try{eh=(await rh(n,`/login`,null,{username:n.user,password:n.pass})).token||null}catch(e){}let s=await rh(n,`/download`,null,{file_id:o.attributes.files[0].file_id});if(!s.link)return{kind:`not_found`};let c=await fetch(wr(s.link),{credentials:`omit`});if(!c.ok)return{kind:`failed`};let l=fp(await c.arrayBuffer());return l.trim()?{kind:`found`,name:o.attributes.release||`OpenSubtitles`,text:l}:{kind:`failed`}}catch(e){return e instanceof nh?{kind:`limit`}:(console.warn(`OpenSubtitles`,e),{kind:`failed`})}}var uh=4e3,dh=650,fh=[`fit`,`fill`,`zoom`],ph=e=>e<10?`0${e}`:`${e}`,mh=()=>{let e=new Date;return`${ph(e.getHours())}:${ph(e.getMinutes())}`},hh=e=>`S${Iu(e.season)}E${Iu(e.episode)}`;function gh(e){let[t,n]=N(null),[r,i]=N([]),[a,o]=N(null),[s,c]=N(!0),l=F(!0);l.current=s||a!==null;let[u,d]=N(null),[f,p]=N(null),[m,h]=N(!1),[g,_]=N(1),[v,y]=N(0),[,b]=N(0),S=F(void 0),C=F(void 0),ee=F(0),w=F(!1),T=F(!1),[te,E]=N(!1),D=r.findIndex(t=>t.id===e.id),O=D>0?r[D-1]:null,k=D>=0&&D<r.length-1?r[D+1]:null,ne=F({props:e,info:t});ne.current={props:e,info:t};let A=(e=!1)=>{var t;let{props:n,info:r}=ne.current,i=Bf();if(!r||i<=0)return;let a=w.current?i:lf.peek();n.kind!==`stream`&&(wu(n.kind,n.id,r.providerId,(t=n.seriesId)==null?null:t,a,i),e&&window.dispatchEvent(new Event(`utopya:progress`)))},re=()=>{c(!0),clearTimeout(S.current),S.current=window.setTimeout(()=>c(!1),uh)};P(()=>{let t=!0;return w.current=!1,T.current=!1,clearTimeout(C.current),d(null),_(1),hp(),h(!1),p(null),(async()=>{let r;if(e.kind===`stream`)r={title:e.title||``,sub:``,url:e.url,userAgent:null,providerId:-1,target:{title:e.title||``,year:null,url:e.url,tmdbId:null}};else if(e.kind===`movie`){let t=await K.movies.get(e.id);if(!t)return;r={title:t.name,sub:t.year||``,url:t.url,userAgent:null,providerId:t.providerId,target:{title:t.name,year:t.year,url:t.url,tmdbId:t.tmdbId||null}}}else{let[n,a]=await Promise.all([K.episodes.get(e.id),K.series.get(e.seriesId)]);if(!n||!a)return;r={title:a.name,sub:`${hh(n)} · ${n.title}`,url:n.url,userAgent:null,providerId:a.providerId,target:{title:a.name,year:a.year,season:n.season,episode:n.episode,url:n.url,tmdbId:a.tmdbId||null}},t&&i(Su(await K.episodes.where(`seriesId`).equals(a.id).toArray()))}let a=(Yc.value||[]).find(e=>e.id===r.providerId);if(r.userAgent=a?a.userAgent:null,!t)return;n(r);let o=e.startMs;if(o===void 0){let t=await Eu(e.id);o=t&&!t.watched?t.position:0}cf.value=`full`,kf({url:r.url,userAgent:r.userAgent,key:e.kind===`stream`?`stream:${r.url}`:`vod:${e.id}`},{startMs:o||void 0,onEnded:()=>{w.current=!0,A(!0),re()},onStarted:()=>se(r.target)}),re()})(),()=>{t=!1}},[e.id]),P(()=>{let e=setInterval(()=>{X.peek()===`playing`&&A()},1e4),t=setInterval(()=>{(l.current||X.peek()===`paused`)&&b(e=>e+1)},1e3);return()=>{clearInterval(e),clearInterval(t)}},[t]),P(()=>()=>{A(!0),jf(),hp(),cf.value=null,clearTimeout(S.current)},[]);let ie=()=>q.peek().preferredSubtitle||`tr`,ae=(e,t)=>{let n=up(t);return n.length?(Lf(null),mp.value=0,pp.value={label:e,cues:n},!0):!1},oe=async(e,t)=>{t||B(R(`sub_searching`));let n=ne.current.props.id,r=await lh(e,ie());if(ne.current.props.id===n){if(r.kind===`found`)ae(r.name,r.text)?B(R(`sub_found`,r.name)):t||B(R(`sub_failed`));else if(t)return;else r.kind===`not_found`?B(R(`sub_not_found`)):r.kind===`no_key`?B(R(`sub_no_key`)):r.kind===`limit`?B(R(`sub_limit`)):B(R(`error_network`))}},se=e=>{if(T.current||!q.peek().autoSubtitles)return;T.current=!0;let t=ne.current.props.id;setTimeout(()=>{if(ne.current.props.id!==t||pp.peek())return;let n=ie();Ff().some(e=>e.language.toLowerCase().startsWith(n))||oe(e,!0)},4e3)},ce=async e=>{try{let t=await fetch(wr(Tr(e)),{credentials:`omit`});if(t.ok&&ae(`SRT`,fp(await t.arrayBuffer()))){B(R(`sub_loaded`));return}}catch(e){}B(R(`sub_failed`))},le=Bf(),ue=le-lf.peek();P(()=>{if(!k||m||f!==null||!q.peek().autoNextEpisode)return;let t=nf.peek();t&&t.key===`vod:${e.id}`&&X.peek()!==`loading`&&(w.current||le>6e4&&ue>0&&ue<=15e3)&&p(10)}),P(()=>{if(f===null)return;if(f<=0){de(k);return}let e=setTimeout(()=>p(e=>e===null?null:e-1),1e3);return()=>clearTimeout(e)},[f]),P(()=>{if(!v)return;let e=setTimeout(()=>{X.peek()!==`paused`&&Mf(),y(0),B(R(`sleep_triggered`))},v*6e4);return()=>clearTimeout(e)},[v]);let de=t=>{A(),Eu(t.id).then(n=>Sd({name:`vod`,kind:`episode`,id:t.id,seriesId:e.seriesId,startMs:n&&!n.watched?n.position:0}))},fe=()=>{A(),xd()},pe=e=>{let t=u===null?lf.peek():u,n=Math.max(0,Math.min(le||1/0,t+e));d(n),re(),clearTimeout(C.current),C.current=window.setTimeout(()=>{Nf(n),d(null)},dh)};if(P(()=>{let e=()=>{a||o({page:`main`,direct:!1})};return document.addEventListener(`longpress`,e),()=>document.removeEventListener(`longpress`,e)},[a]),tn((e,t)=>{if(X.peek()===`error`)return e===`back`?(fe(),!0):`default`;if(e===`back`)return a?o(null):f===null?s&&X.peek()===`playing`?(clearTimeout(S.current),c(!1)):fe():(p(null),h(!0)),!0;if(a||f!==null)return;ee.current=t.repeat?ee.current+1:0;let n=ee.current>6?6e4:ee.current>2?3e4:1e4;switch(e){case`ok`:return Mf(),re(),!0;case`left`:return pe(-n),!0;case`right`:return pe(n),!0;case`rew`:return pe(-3e4),!0;case`ff`:return pe(3e4),!0;case`playPause`:case`play`:case`pause`:return Mf(),re(),!0;case`up`:case`info`:return o(`controls`),c(!0),clearTimeout(S.current),!0;case`down`:return r.length?o(`episodes`):re(),!0;case`menu`:return o({page:`main`,direct:!1}),!0;case`green`:return o({page:`audio`,direct:!0}),!0;case`yellow`:return o({page:`subs`,direct:!0}),!0;case`chUp`:return k&&de(k),!0;case`chDown`:return O&&de(O),!0}}),!t)return null;let M=X.value,me=s||M===`paused`||u!==null||a===`controls`;return j(`div`,{class:`player vod-player`,children:[j(vp,{}),M===`loading`&&j(`div`,{class:`player-center`,children:[j(`div`,{class:`spinner`}),of.value>0&&j(`span`,{class:`retry-label`,children:R(`player_retrying`,of.value)})]}),M===`error`&&j(ap,{onRetry:Af,onBack:fe}),me&&j(x,{children:[j(`div`,{class:`vod-top`,children:[j(`div`,{children:[j(`h1`,{children:t.title}),t.sub&&j(`p`,{children:t.sub})]}),j(`span`,{class:`band-clock`,children:mh()})]}),j(`div`,{class:`vod-bottom`,children:[j(bh,{paused:M===`paused`,target:u,d:le}),a===`controls`?j(_h,{paused:M===`paused`,series:r.length>0,prev:!!O,next:!!k,close:()=>{o(null),re()},on:{play:()=>Mf(),back10:()=>pe(-1e4),fwd10:()=>pe(1e4),prev:()=>O&&de(O),next:()=>k&&de(k),episodes:()=>o(`episodes`),audio:()=>o({page:`audio`,direct:!0}),subs:()=>o({page:`subs`,direct:!0}),speed:()=>o({page:`speed`,direct:!0}),picture:()=>{let e=fh[(fh.indexOf(sf.value)+1)%3];sf.value=e,B(R(`aspect_${e}`))},more:()=>o({page:`main`,direct:!1}),exit:fe}}):j(`p`,{class:`band-hint`,children:R(`vod_hint`)})]})]}),a===`episodes`&&j(vh,{eps:r,current:e.id,onPick:t=>{o(null),t.id!==e.id&&de(t)}}),a&&typeof a==`object`&&j(Gp,{page:a.page,direct:a.direct,favorite:!1,sleepMin:v,setPage:e=>o({page:e,direct:!1}),close:()=>o(null),onFavorite:()=>{},onSleep:e=>{y(e),e&&B(R(`sleep_set`,e))},vod:{speed:g,setSpeed:e=>{Hf(e),_(e)},prev:O?{title:`${hh(O)} · ${O.title}`,go:()=>de(O)}:void 0,next:k?{title:`${hh(k)} · ${k.title}`,go:()=>de(k)}:void 0,findSubs:()=>oe(t.target,!1),loadSubs:()=>E(!0)}}),te&&j(Pn,{title:R(`sub_url_title`),label:R(`sub_url_hint`),initial:``,placeholder:`https://…/altyazi.srt`,onSave:e=>{e.trim()&&ce(e)},onClose:()=>E(!1)}),f!==null&&k&&j(yh,{seconds:f,title:`${hh(k)} · ${k.title}`,onPlay:()=>de(k),onCancel:()=>{p(null),h(!0)}})]})}function _h(e){let t=F(null);P(()=>{L(t.current)},[]),tn(t=>t===`back`?(e.close(),!0):void 0);let n=e.on,r=[[e.paused?`play`:`pause`,R(e.paused?`pc_play`:`pc_pause`),n.play],[`back`,`-10 sn`,n.back10],[`chevron`,`+10 sn`,n.fwd10]];return e.series&&e.prev&&r.push([`back`,R(`pc_prev`),n.prev]),e.series&&e.next&&r.push([`chevron`,R(`pc_next`),n.next]),e.series&&r.push([`list`,R(`vod_episodes`),n.episodes]),r.push([`audio`,R(`player_audio`),n.audio],[`subtitles`,R(`player_subtitles`),n.subs],[`more`,R(`pc_speed`),n.speed],[`aspect`,R(`pc_picture`),n.picture],[`more`,R(`pc_more`),n.more],[`back`,R(`back`),n.exit]),j(`div`,{class:`control-bar`,ref:t,"data-focus-scope":!0,children:r.map(([e,t,n],r)=>j(`div`,{class:`cb-item`,children:[j(`button`,{class:`cb-btn`,"data-focus":!0,"data-focus-default":r===0||void 0,onClick:n,children:j(z,{name:e})}),j(`span`,{class:`cb-label`,children:t})]},t))})}function vh({eps:e,current:t,onPick:n}){let r=F(null);return P(()=>{let e=r.current&&r.current.querySelector(`[data-current]`);e&&e.focus()},[]),j(`div`,{class:`episodes-panel`,ref:r,"data-focus-scope":!0,children:[j(`h2`,{children:R(`vod_episodes`)}),e.map(e=>j(`button`,{class:`focus-row opt-row${e.id===t?` selected`:``}`,"data-focus":!0,"data-current":e.id===t||void 0,onClick:()=>n(e),children:[j(`span`,{class:`ep-code`,children:hh(e)}),j(`span`,{class:`opt-label`,children:e.title})]},e.id))]})}function yh(e){let t=F(null);return P(()=>{L(t.current)},[]),j(`div`,{class:`next-card`,ref:t,"data-focus-scope":!0,children:[j(`p`,{class:`next-when`,children:R(`vod_next_episode`,e.seconds)}),j(`p`,{class:`next-title`,children:e.title}),j(`div`,{class:`row`,children:[j(`button`,{class:`btn primary`,"data-focus":!0,"data-focus-default":!0,onClick:e.onPlay,children:R(`vod_play_now`)}),j(`button`,{class:`btn outline`,"data-focus":!0,onClick:e.onCancel,children:R(`cancel`)})]})]})}function bh({paused:e,target:t,d:n}){let r=t===null?lf.value:t,i=e=>n>0?`${Math.min(100,e/n*100)}%`:`0%`;return j(`div`,{class:`vod-bar-row`,children:[j(z,{name:e?`play`:`pause`,class:`vod-state`}),j(`span`,{class:`vod-time`,children:km(r)}),j(`div`,{class:`vod-bar`,children:[j(`span`,{class:`vod-buffer`,style:{width:i(Vf())}}),j(`span`,{class:`vod-played`,style:{width:i(r)}})]}),j(`span`,{class:`vod-time`,children:[`-`,km(Math.max(0,n-r))]})]})}function xh({channelId:e}){let[t,n]=N(null),[r,i]=N(null),[a,o]=N(null),[s,c]=N(``),l=F(null);if(tn(e=>e===`back`?(xd(),!0):void 0),P(()=>{K.channels.get(e).then(async e=>{if(!e)return;n(e);let t=await K.epgLinks.get(e.id);o(t?t.key:null),i((await K.epgChannels.where(`providerId`).equals(e.providerId).toArray()).sort((e,t)=>e.name.localeCompare(t.name)))})},[e]),P(()=>{r&&setTimeout(()=>L(l.current),0)},[!!r]),!t)return null;let u=s.trim().toLowerCase(),d=(r||[]).filter(e=>!u||e.name.toLowerCase().indexOf(u)>=0||e.xmlId.indexOf(s.trim())>=0).slice(0,300),f=(r||[]).find(e=>e.id===a),p=async e=>{e?await K.epgLinks.put({id:t.id,providerId:t.providerId,key:e,manual:!0}):await K.epgLinks.delete(t.id),ol(t.providerId,void 0,`epg`),xd()};return j(`div`,{class:`epg-mapping`,children:[j(`div`,{class:`em-left`,children:[j(`button`,{class:`btn outline`,"data-focus":!0,onClick:xd,children:[j(z,{name:`back`}),R(`back`)]}),j(`h1`,{children:R(`epg_mapping_title`)}),j(`p`,{class:`em-channel`,children:t.name}),a&&j(`p`,{class:`muted`,children:R(`epg_mapping_current`,f?f.name:a.split(`|`)[1])}),j(Tn,{label:R(`epg_mapping_filter`),value:s,onInput:c,class:`em-filter`})]}),j(`div`,{class:`em-list`,ref:l,"data-focus-group":`epgmap`,children:r&&!r.length?j(`p`,{children:R(`epg_mapping_none`)}):j(x,{children:[j(`button`,{class:`focus-row opt-row em-auto`,"data-focus":!0,"data-focus-default":!0,onClick:()=>p(null),children:R(`epg_mapping_auto`)}),d.map(e=>j(`button`,{class:`focus-row opt-row${e.id===a?` selected`:``}`,"data-focus":!0,onClick:()=>p(e.id),children:[j(`span`,{class:`opt-label`,children:e.name}),j(`span`,{class:`muted em-id`,children:e.xmlId})]},e.id))]})})]})}function Sh(e,t){let n=e.split(`.`).map(Number),r=t.split(`.`).map(Number);for(let e=0;e<Math.max(n.length,r.length);e++)if((n[e]||0)!==(r[e]||0))return(n[e]||0)>(r[e]||0);return!1}var Ch=`https://registry.npmjs.org/@erhan%2futopyatv/latest`,wh=864e5;async function Th(){let e=await fetch(Ch,{cache:`no-store`});if(!e.ok)throw Error(`HTTP ${e.status}`);return(await e.json()).version}async function Eh(){try{if(Date.now()-Number(localStorage.getItem(`updateChecked`)||0)<wh)return;localStorage.setItem(`updateChecked`,String(Date.now()));let e=await Th();Sh(e,`0.1.16`)&&B(R(`set_update_available`,e))}catch(e){}}var Dh=`utopya.settings`,Oh=`utopya-yedek-`;async function kh(){let[e,t,n,r,i,a,o]=await Promise.all([K.providers.toArray(),K.favorites.toArray(),K.groups.toArray(),K.groupItems.toArray(),K.catState.toArray(),K.chanState.toArray(),K.progress.toArray()]),s={version:1,app:`tizen`,createdAt:Date.now(),settings:localStorage.getItem(Dh)||`{}`,providers:e,favorites:t,groups:n,groupItems:r,catState:i,chanState:a,progress:o};return JSON.stringify(s)}var Ah=e=>e<10?`0${e}`:`${e}`;function jh(e=new Date){return`${Oh}${e.getFullYear()}${Ah(e.getMonth()+1)}${Ah(e.getDate())}-${Ah(e.getHours())}${Ah(e.getMinutes())}.json`}async function Mh(){let e=await kh(),t=jh();if(!Ft){let n=document.createElement(`a`);return n.href=URL.createObjectURL(new Blob([e],{type:`application/json`})),n.download=t,n.click(),setTimeout(()=>URL.revokeObjectURL(n.href),5e3),t}let n=(await new Promise((e,t)=>tizen.filesystem.resolve(`downloads`,e,t,`rw`))).createFile(t);return await new Promise((t,r)=>n.openStream(`w`,n=>{n.write(e),n.close(),t()},r,`UTF-8`)),`Downloads/${t}`}async function Nh(){if(!Ft)return[];let e=[],t=async t=>{try{let n=await new Promise((e,n)=>tizen.filesystem.resolve(t,e,n,`r`)),r=await new Promise(e=>n.listFiles(e,()=>e([])));for(let t of r)!t.isDirectory&&t.name.indexOf(Oh)===0&&/\.json$/i.test(t.name)&&e.push({name:t.name,uri:t.toURI()})}catch(e){}};await t(`downloads`);let n=await new Promise(e=>tizen.filesystem.listStorages(e,()=>e([])));for(let e of n)e.type===`EXTERNAL`&&e.state===`MOUNTED`&&await t(e.label);return e.sort((e,t)=>e.name<t.name?1:-1)}async function Ph(e){let t=await new Promise((t,n)=>tizen.filesystem.resolve(e,t,n,`r`));return new Promise((e,n)=>t.readAsText(e,n,`UTF-8`))}async function Fh(e){let t=JSON.parse(e);if(!t||t.version!==1||!Array.isArray(t.providers))throw Error(`yedek biçimi tanınmadı`);let n=[K.channels,K.movies,K.series,K.episodes,K.categories,K.programs,K.epgLinks,K.epgChannels,K.recents],r=[K.providers,K.favorites,K.groups,K.groupItems,K.catState,K.chanState,K.progress];await K.transaction(`rw`,[...n,...r],async()=>{for(let e of[...n,...r])await e.clear();await K.providers.bulkPut(t.providers),await K.favorites.bulkPut(t.favorites),await K.groups.bulkPut(t.groups),await K.groupItems.bulkPut(t.groupItems),await K.catState.bulkPut(t.catState),await K.chanState.bulkPut(t.chanState),await K.progress.bulkPut(t.progress)});try{localStorage.setItem(Dh,t.settings)}catch(e){}Uc(),await $c();for(let e of await K.providers.toArray())ol(e.id)}var Ih=[[`sources`,`set_sources`,`dns`],[`player`,`ux_video_audio`,`play`],[`subtitles`,`ux_subtitles`,`list`],[`remote`,`ux_controls`,`tune`],[`look`,`ux_appearance`,`grid`],[`epg`,`set_epg`,`guide`],[`parental`,`set_parental`,`lock`],[`hidden`,`set_hidden`,`list`],[`about`,`set_about`,`more`]];function Q(e){return j(`button`,{onlongpress:e.onLongPress,class:`focus-row set-row`,"data-focus":!0,onClick:e.onClick,children:[j(`span`,{class:`opt-text`,children:[j(`span`,{class:`opt-label`,children:e.title}),e.subtitle&&j(`span`,{class:`set-sub`,children:e.subtitle})]}),e.value&&j(`span`,{class:`set-value`,children:e.value})]})}var Lh=({text:e})=>j(`h3`,{class:`set-header`,children:e});function Rh(){let[e,t]=N(`sources`),[n,r]=N(null),i=F(null),a=q.value;P(()=>{setTimeout(()=>L(i.current),0)},[]);let o=(e,t,n,i)=>r({kind:`menu`,title:e,items:t.map(([e,t])=>({label:t,checked:e===n,onSelect:()=>i(e)}))}),s=e=>Wc(e),c=e=>R(e?`set_on`:`set_off`),l=(e,t)=>(e.find(e=>e[0]===t)||[null,``])[1];return j(`div`,{class:`settings`,children:[j(`div`,{class:`set-sections`,ref:i,"data-focus-group":`set-sections`,children:Ih.map(([n,r,i])=>j(`button`,{class:`focus-row set-section${e===n?` selected`:``}`,"data-focus":!0,"data-focus-default":e===n||void 0,onFocus:()=>t(n),onClick:()=>t(n),children:[j(z,{name:i}),j(`span`,{children:R(r)})]},n))}),j(`div`,{class:`set-panel glass`,"data-focus-group":`set-panel`,children:[j(`span`,{class:`ux-eyebrow`,children:R(`nav_settings`)}),j(`h2`,{children:R(Ih.find(t=>t[0]===e)[1])}),j(`p`,{class:`set-intro`,children:R(`ux_settings_hint`)}),e===`sources`&&j(Bh,{setDialog:r}),(e===`player`||e===`subtitles`)&&(()=>{let t=[[null,R(`set_lang_default`)],[`tr`,`Türkçe`],[`en`,`English`],[`de`,`Deutsch`],[`fr`,`Français`],[`ar`,`العربية`],[`ru`,`Русский`]],n=[[null,R(`player_off`)],...t.slice(1)],i=[[`fit`,R(`aspect_fit`)],[`fill`,R(`aspect_fill`)],[`zoom`,R(`aspect_zoom`)]],u=[.75,1,1.25,1.5,1.75].map(e=>[e,`%${Math.round(e*100)}`]),d=[[0,R(`color_white`)],[1,R(`color_yellow`)],[2,R(`color_cyan`)]];return j(x,{children:[e===`player`&&j(Q,{title:R(`set_audio_lang`),value:l(t,a.preferredAudio),onClick:()=>o(R(`set_audio_lang`),t,a.preferredAudio,e=>s({preferredAudio:e}))}),e===`subtitles`&&j(x,{children:[j(Q,{title:R(`set_sub_lang`),value:l(n,a.preferredSubtitle),onClick:()=>o(R(`set_sub_lang`),n,a.preferredSubtitle,e=>s({preferredSubtitle:e}))}),j(Q,{title:R(`set_sub_size`),value:l(u,a.subtitleScale),onClick:()=>o(R(`set_sub_size`),u,a.subtitleScale,e=>s({subtitleScale:e}))}),j(Q,{title:R(`set_sub_color`),value:l(d,a.subtitleColor),onClick:()=>o(R(`set_sub_color`),d,a.subtitleColor,e=>s({subtitleColor:e}))}),j(Q,{title:R(`set_sub_bg`),value:c(a.subtitleBackground),onClick:()=>s({subtitleBackground:!a.subtitleBackground})}),j(Q,{title:R(`set_auto_subs`),subtitle:R(`set_auto_subs_hint`),value:c(a.autoSubtitles),onClick:()=>s({autoSubtitles:!a.autoSubtitles})}),j(Uh,{setDialog:r})]}),e===`player`&&j(x,{children:[j(Q,{title:R(`set_remember_tracks`),value:c(a.rememberTracks),onClick:()=>s({rememberTracks:!a.rememberTracks})}),j(Q,{title:R(`set_aspect`),value:l(i,a.aspect),onClick:()=>o(R(`set_aspect`),i,a.aspect,e=>s({aspect:e}))}),j(Q,{title:R(`set_preview`),value:c(a.previewAutoplay),onClick:()=>s({previewAutoplay:!a.previewAutoplay})}),j(Q,{title:R(`set_auto_next`),value:c(a.autoNextEpisode),onClick:()=>s({autoNextEpisode:!a.autoNextEpisode})}),j(Q,{title:R(`set_fallback`),value:c(a.fallbackToPrevious),onClick:()=>s({fallbackToPrevious:!a.fallbackToPrevious})})]})]})})(),e===`look`&&j(Gh,{setDialog:r,choose:o}),e===`remote`&&j(qh,{choose:o}),e===`epg`&&(()=>{let e=[6,12,24,48].map(e=>[e,R(`set_epg_hours`,e)]),t=[];for(let e=-180;e<=180;e+=30)t.push([e,R(`set_epg_offset_value`,e)]);let n=Xc.value;return j(x,{children:[j(Q,{title:R(`set_epg_interval`),value:l(e,a.epgHours),onClick:()=>o(R(`set_epg_interval`),e,a.epgHours,e=>s({epgHours:e}))}),j(Q,{title:R(`set_epg_offset`),value:l(t,a.epgOffsetMin),onClick:()=>o(R(`set_epg_offset`),t,a.epgOffsetMin,e=>{s({epgOffsetMin:e}),n&&ol(n,void 0,`epg`)})}),j(Q,{title:R(`set_epg_refresh`),subtitle:R(`set_epg_urls`),onClick:()=>{n&&ol(n,void 0,`epg`)}})]})})(),e===`parental`&&j(x,{children:[eu()?j(x,{children:[j(Q,{title:R(`set_pin_change`),onClick:()=>r({kind:`pin`,title:R(`pin_enter`),check:tu,done:()=>zh(r)})}),j(Q,{title:R(`set_pin_remove`),onClick:()=>r({kind:`pin`,title:R(`pin_enter`),check:tu,done:()=>{nu(null),r({kind:`notice`,text:R(`set_pin_removed`)})}})})]}):j(Q,{title:R(`set_pin_set`),onClick:()=>zh(r)}),j(Q,{title:R(`set_hide_locked`),value:c(a.hideLocked),onClick:()=>s({hideLocked:!a.hideLocked})}),j(Q,{title:R(`set_adult_lock`),value:c(a.adultAutoLock),onClick:()=>s({adultAutoLock:!a.adultAutoLock})}),j(`p`,{class:`set-hint`,children:R(`set_parental_hint`)})]}),e===`hidden`&&j(Kh,{}),e===`about`&&j(`div`,{class:`set-about`,children:[j(`h3`,{children:R(`app_name`)}),j(`p`,{class:`set-version`,children:R(`set_version`,`0.1.16`)}),j(Q,{title:R(`set_update_check`),onClick:async()=>{try{let e=await Th();r({kind:`notice`,text:Sh(e,`0.1.16`)?`${R(`set_update_available`,e)}. ${R(`tz_update_hint`)}`:R(`set_update_none`,`0.1.16`)})}catch(e){r({kind:`notice`,text:R(`set_update_failed`)})}}}),j(`p`,{children:R(`set_about_text`)}),j(Lh,{text:R(`set_keys`)}),j(`p`,{class:`muted`,children:R(`tz_keys_text`)}),j(`p`,{class:`muted set-ua`,children:navigator.userAgent})]})]}),n&&n.kind===`menu`&&j(An,{title:n.title,items:n.items,onClose:()=>r(null)}),n&&n.kind===`notice`&&j(Fn,{text:n.text,onClose:()=>r(null)}),n&&n.kind===`confirm`&&j(En,{title:n.title,message:n.text,onConfirm:()=>{r(null),n.ok()},onDismiss:()=>r(null)}),n&&n.kind===`pin`&&j(Nn,{title:n.title,check:n.check,onDone:e=>{r(null),n.done(e)},onClose:()=>r(null)},n.title),n&&n.kind===`text`&&j(Pn,{title:n.title,label:n.label,initial:n.initial,placeholder:n.placeholder,password:n.password,onSave:n.save,onClose:()=>r(null)})]})}function zh(e){e({kind:`pin`,title:R(`pin_new`),check:()=>!0,done:t=>{e({kind:`pin`,title:R(`set_pin_confirm`),check:e=>e===t,done:()=>{nu(t),e({kind:`notice`,text:R(`set_pin_saved`)})}})}})}function Bh({setDialog:e}){let t=Yc.value||[],n=Xc.value,r=Zc.value,i=e=>e?new Date(e).toLocaleString(gn.value===`tr`?`tr-TR`:`en-GB`,{day:`numeric`,month:`short`,hour:`2-digit`,minute:`2-digit`}):R(`set_never`),a=t=>{let r=[];t.id!==n&&r.push({label:R(`set_make_active`),onSelect:()=>el(t.id)}),r.push({label:R(`set_resync`),onSelect:()=>ol(t.id)}),r.push({label:R(`set_edit`),onSelect:()=>o(t)}),r.push({label:R(`set_test_connection`),onSelect:async()=>{try{await tl(t),e({kind:`notice`,text:R(`set_connection_ok`)})}catch(t){e({kind:`notice`,text:R(`error_${(t.error||`unknown`).toLowerCase()}`)})}}}),t.type===`xtream`&&r.push({label:R(`set_account`),onSelect:()=>{e({kind:`notice`,text:[t.expDate?R(`set_account_expiry`,i(t.expDate)):R(`set_account_unlimited`),t.maxConnections?R(`set_account_connections`,`?`,String(t.maxConnections)):null].filter(Boolean).join(`
|
|
14
|
+
`)})}}),r.push({label:R(`set_delete_source`),onSelect:()=>e({kind:`confirm`,title:t.name,text:R(`set_delete_confirm`,t.name),ok:()=>Hh(t.id)})}),e({kind:`menu`,title:t.name,items:r})},o=t=>{let n=(n,r,i,a,s=!1)=>({label:`${n}${r&&!s?`: ${r}`:``}`,onSelect:()=>e({kind:`text`,title:n,label:n,initial:r,password:s,save:async e=>{await K.providers.update(t.id,i(e.trim())),await $c(),a&&ol(t.id);let n=(Yc.peek()||[]).find(e=>e.id===t.id);n&&o(n)}})}),r=[n(R(`onb_name`),t.name,e=>({name:e||t.name}),!1)];t.type===`xtream`?r.push(n(R(`onb_server`),t.url,e=>({url:Tr(e)}),!0),n(R(`onb_username`),t.username,e=>({username:e}),!0),n(R(`onb_password`),t.password,e=>({password:e}),!0,!0)):t.url.startsWith(`file:`)||r.push(n(R(`onb_url`),t.url,e=>({url:e.split(/\s+/).map(Tr).filter(Boolean).join(` `)}),!0)),r.push(n(R(`onb_epg`),t.epgUrls.join(` `),e=>({epgUrls:e.split(/\s+/).map(Tr).filter(Boolean)}),!0),n(R(`onb_user_agent`),t.userAgent||``,e=>({userAgent:e||null}),!1)),e({kind:`menu`,title:`${t.name} · ${R(`set_edit`)}`,items:r})};return j(x,{children:[t.map(e=>{let t=r&&r.providerId===e.id&&`stage`in r&&r.stage!==`DONE`;return j(Q,{title:`${e.name}${e.id===n?` ✓`:``}`,subtitle:`${e.type===`xtream`?`Xtream`:`M3U`} · ${t?R(`sync_title`)+`…`:R(`set_last_sync`,i(e.lastSync))}`,value:e.id===n?R(`set_active`):void 0,onClick:()=>a(e)},e.id)}),j(Q,{title:R(`set_add_source`),onClick:()=>Y.value=`onboarding`}),j(Lh,{text:R(`set_backup`)}),j(Q,{title:R(`set_backup_now`),subtitle:R(`set_backup_warning`),onClick:async()=>{try{e({kind:`notice`,text:R(`set_backup_done`,await Mh())})}catch(t){e({kind:`notice`,text:`${R(`error_storage`)} (${String(t)})`})}}}),j(Q,{title:R(`set_restore`),onClick:async()=>{let t=t=>e({kind:`confirm`,title:R(`set_restore`),text:R(`set_restore_confirm`),ok:async()=>{try{await Fh(await t()),e({kind:`notice`,text:R(`set_restore_done`)})}catch(t){e({kind:`notice`,text:`${R(`error_unknown`)} (${String(t)})`})}}}),n=(await Nh()).map(e=>({label:e.name,onSelect:()=>t(()=>Ph(e.uri))}));Ft||n.push({label:R(`set_restore_file`),onSelect:()=>Vh(e=>t(async()=>e))}),e(n.length?{kind:`menu`,title:R(`set_restore`),items:n}:{kind:`notice`,text:R(`set_restore_none`)})}})]})}function Vh(e){let t=document.createElement(`input`);t.type=`file`,t.accept=`.json,application/json`,t.onchange=()=>{let n=t.files&&t.files[0];n&&n.text().then(e)},t.click()}async function Hh(e){let t=[K.channels,K.movies,K.series,K.episodes,K.categories,K.programs,K.epgLinks,K.epgChannels,K.favorites,K.recents,K.progress,K.catState,K.chanState];for(let n of t)await n.where(`providerId`).equals(e).delete();await K.providers.delete(e),await $c()}function Uh({setDialog:e}){let[t,n]=N(null);P(()=>{$m().then(n)},[]);let r=t||{key:``,user:``,pass:``},i=(t,i)=>({label:i,onSelect:()=>e({kind:`text`,title:i,label:i,initial:r[t],password:t===`pass`,save:async e=>{await th(V(V({},r),{},{[t]:e.trim()})),n(await $m())}})});return j(Q,{title:R(`os_account`),subtitle:R(`os_account_hint`),value:R(t&&t.key?`os_account_set`:`os_account_none`),onClick:()=>e({kind:`menu`,title:R(`os_account`),items:[i(`key`,R(`os_api_key`)),i(`user`,R(`os_username`)),i(`pass`,R(`os_password`))]})})}var Wh={HERO:`home_hero`,CONTINUE:`shelf_continue`,UP_NEXT:`home_up_next`,FAVORITE_CHANNELS:`home_favorite_channels`,RECENT_CHANNELS:`home_recent_channels`,TONIGHT_SPORTS:`home_tonight`,SCHEDULE:`home_schedule`,PLATFORMS:`shelf_platforms`,NEW_MOVIES:`home_new_movies`,NEW_SERIES:`home_new_series`,TOP_RATED:`home_top_rated`,NEW_EPISODES:`home_new_episodes`,STARTING_SOON:`home_starting_soon`,FOR_YOU:`home_for_you`,GENRES:`home_genres`};function Gh({setDialog:e,choose:t}){let n=q.value,r=Wc,i=(e,t)=>(e.find(e=>e[0]===t)||[null,``])[1],a=[[`home`,R(`nav_home`)],[`live`,R(`nav_live`)],[`guide`,R(`nav_guide`)],[`movies`,R(`nav_movies`)],[`series`,R(`nav_series`)],[`last`,R(`start_last`)],[`firstFav`,R(`start_first_fav`)]],o=[[`GLOBAL`,R(`numbering_global`)],[`CATEGORY`,R(`numbering_category`)],[`HIDDEN`,R(`numbering_hidden`)]],s=[[`blue`,R(`accent_blue`)],[`orange`,R(`accent_orange`)],[`green`,R(`accent_green`)],[`purple`,R(`accent_purple`)],[`red`,R(`accent_red`)]],c=[[`navy`,R(`theme_navy`)],[`amoled`,R(`theme_amoled`)],[`graphite`,R(`theme_graphite`)],[`forest`,R(`theme_forest`)],[`wine`,R(`theme_wine`)]],l=n.homeShelves.filter(e=>Lc.indexOf(e)>=0);return j(x,{children:[j(Q,{title:R(`set_start`),subtitle:R(`ux_start_desc`),value:i(a,n.startScreen),onClick:()=>t(R(`set_start`),a,n.startScreen,e=>r({startScreen:e}))}),j(Q,{title:R(`set_numbering`),value:i(o,n.numbering),onClick:()=>t(R(`set_numbering`),o,n.numbering,e=>r({numbering:e}))}),j(Q,{title:R(`set_accent`),subtitle:R(`ux_accent_desc`),value:i(s,n.accent),onClick:()=>t(R(`set_accent`),s,n.accent,e=>r({accent:e}))}),j(Q,{title:R(`set_theme`),subtitle:R(`ux_theme_desc`),value:i(c,n.theme),onClick:()=>t(R(`set_theme`),c,n.theme,e=>r({theme:e}))}),j(Q,{title:R(`set_filter_words`),subtitle:R(`set_filter_words_hint`),value:n.filterWords.length?n.filterWords.join(`, `):R(`set_none`),onClick:()=>e({kind:`text`,title:R(`set_filter_words`),label:R(`set_filter_words`),initial:n.filterWords.join(`, `),placeholder:`[RAW], FHD, VIP`,save:e=>r({filterWords:e.split(`,`).map(e=>e.trim()).filter(Boolean)})})}),j(Q,{title:R(`home_edit`),subtitle:R(`set_home_shelves`),value:`${l.length} / ${Lc.length}`,onClick:()=>bd({name:`homeEdit`})}),j(Q,{title:R(`set_language`),value:gn.value===`tr`?`Türkçe`:`English`,onClick:()=>t(R(`set_language`),[[`tr`,`Türkçe`],[`en`,`English`]],gn.value,_n)})]})}function Kh(){let e=Xc.value,[t,n]=N([]),[r,i]=N([]),a=async()=>{let[t,r]=await Promise.all([K.catState.where(`providerId`).equals(e).filter(e=>!!e.hidden).toArray(),K.chanState.where(`providerId`).equals(e).filter(e=>!!e.hidden).toArray()]);n((await K.categories.bulkGet(t.map(e=>e.id))).filter(e=>!!e)),i((await K.channels.bulkGet(r.map(e=>e.id))).filter(e=>!!e).sort((e,t)=>e.number-t.number))};return P(()=>{a()},[e]),!t.length&&!r.length?j(`p`,{class:`set-hint`,children:R(`set_hidden_none`)}):j(x,{children:[t.length>0&&j(Lh,{text:R(`set_hidden_categories`)}),t.map(t=>j(Q,{title:t.name,value:R(`set_unhide`),onClick:async()=>{await Zl(t.id,e,{hidden:!1}),a()}},t.id)),r.length>0&&j(Lh,{text:R(`set_hidden_channels`)}),r.map(t=>j(Q,{title:`${t.number} ${t.name}`,value:R(`set_unhide`),onClick:async()=>{await Ql(t.id,e,{hidden:!1}),await Wl(e),a()}},t.id))]})}function qh({choose:e}){let t=q.value,n=Wc,r=(e,t)=>(e.find(e=>e[0]===t)||[null,``])[1],i=[[`FAVORITE`,R(`act_favorite`)],[`AUDIO`,R(`player_audio`)],[`SUBTITLES`,R(`player_subtitles`)],[`ASPECT`,R(`player_aspect`)],[`GUIDE`,R(`player_guide`)],[`CHANNELS`,R(`pc_channels`)],[`INFO`,R(`pc_info`)],[`NONE`,R(`act_none`)]];return j(x,{children:[j(`p`,{class:`set-hint`,children:R(`ux_keyboard_hint`)}),` `,j(Lh,{text:R(`set_color_keys`)}),[`key_red`,`key_green`,`key_yellow`,`key_blue`].map((a,o)=>j(Q,{title:R(a),value:r(i,t.colorKeys[o]),onClick:()=>e(R(a),i,t.colorKeys[o],e=>{let r=t.colorKeys.slice();r[o]=e,n({colorKeys:r})})},a))]})}function Jh(){let e=q.value.homeShelves.filter(e=>Lc.indexOf(e)>=0),t=Lc.filter(t=>e.indexOf(t)<0),[n,r]=N(null),[i,a]=N(null),o=F(null);P(()=>{L(o.current)},[]),P(()=>{if(!i||!o.current)return;let e=o.current.querySelector(`[data-he="${i}"]`);e&&e.focus(),a(null)});let s=e=>Wc({homeShelves:e});tn(t=>{if(n){if(t===`up`||t===`down`){let r=e.indexOf(n),i=r+(t===`up`?-1:1);if(i>=0&&i<e.length){let t=e.slice();t[r]=t[i],t[i]=n,s(t),a(`row-${n}`)}return!0}return(t===`ok`||t===`back`)&&r(null),!0}});let c=t=>{s(e.indexOf(t)>=0?e.filter(e=>e!==t):[...e,t]),a(`sw-${t}`)},l=(i,a)=>{let o=a!==null,s=a===1||!e.length&&i===t[0];return j(`div`,{class:`he-row${n===i?` moving`:``}`,children:[j(`button`,{class:`focus-row he-main`,"data-focus":!0,"data-focus-default":s||void 0,"data-he":`row-${i}`,onClick:()=>o&&r(n===i?null:i),children:[j(`span`,{class:`he-num`,children:o?`${a}.`:``}),j(`span`,{class:`he-label`,children:R(Wh[i])}),n===i&&j(`span`,{class:`he-moving`,children:R(`home_edit_moving`)})]}),j(`button`,{class:`he-switch${o?` on`:``}`,"data-focus":!0,"data-he":`sw-${i}`,onClick:()=>c(i),children:R(o?`set_on`:`set_off`)})]},i)};return j(`div`,{class:`home-edit`,ref:o,children:[j(`div`,{class:`he-head`,children:[j(`h1`,{children:R(`home_edit`)}),j(`button`,{class:`btn outline`,"data-focus":!0,onClick:()=>{r(null),s(Lc)},children:R(`home_edit_reset`)})]}),j(`p`,{class:`he-hint`,children:R(`home_edit_hint`)}),j(`div`,{class:`he-list`,children:[e.map((e,t)=>l(e,t+1)),t.length>0&&j(`h3`,{class:`set-header`,children:R(`home_edit_hidden`)}),t.map(e=>l(e,null))]})]})}var $=(e,t)=>e&&typeof e[t]==`string`&&e[t].trim()||null,Yh=(e,t)=>{let n=e&&e[t],r=typeof n==`number`?n:parseFloat(String(n));return isFinite(r)?r:null};function Xh(e){let t=e.trim().replace(/^stremio:\/\//i,`https://`);return/manifest\.json$/i.test(t)||(t=`${t.replace(/\/+$/,``)}/manifest.json`),t}async function Zh(e){let t=await fetch(wr(e),{credentials:`omit`});if(!t.ok)throw Error(`HTTP ${t.status}`);return t.json()}var Qh=new Map;function $h(e){let t=Qh.get(e);return t||(t=Zh(e).then(t=>eg(e,t)),t.catch(()=>Qh.delete(e)),Qh.set(e,t)),t}function eg(e,t){let n=e=>Array.isArray(t[e])?t[e]:[],r=n(`catalogs`).map(e=>e).filter(e=>{let t=Array.isArray(e.extra)?e.extra:[],n=Array.isArray(e.extraRequired)?e.extraRequired:[];return!t.some(e=>e.isRequired===!0)&&!n.length&&$(e,`type`)&&$(e,`id`)}).map(e=>({type:$(e,`type`),id:$(e,`id`),name:$(e,`name`)||$(e,`id`)})),i=n(`idPrefixes`).filter(e=>typeof e==`string`),a=e;try{a=new URL(e).host}catch(e){}return{url:e,base:e.replace(/\/manifest\.json$/i,``),id:$(t,`id`)||e,name:$(t,`name`)||a,logo:$(t,`logo`),types:n(`types`).filter(e=>typeof e==`string`),idPrefixes:i.length?i:null,resources:n(`resources`).map(e=>typeof e==`string`?e:$(e,`name`)).filter(e=>!!e),catalogs:r}}var tg=(e,t,n,r)=>e.resources.indexOf(t)>=0&&e.types.indexOf(n)>=0&&(!e.idPrefixes||e.idPrefixes.some(e=>r.startsWith(e))),ng=e=>encodeURIComponent(e).replace(/\+/g,`%20`),rg=e=>({id:$(e,`id`)||``,type:$(e,`type`)||`movie`,name:$(e,`name`)||``,poster:$(e,`poster`),rating:Yh(e,`imdbRating`)});async function ig(e,t){let n=await Zh(`${e.base}/catalog/${ng(t.type)}/${ng(t.id)}.json`);return(Array.isArray(n.metas)?n.metas:[]).map(rg).filter(e=>e.id&&e.name)}async function ag(e,t,n){for(let r of e)try{let e=await $h(r);if(!tg(e,`meta`,t,n))continue;let i=(await Zh(`${e.base}/meta/${ng(t)}/${ng(n)}.json`)).meta;if(!i)continue;let a=Array.isArray(i.genres)?i.genres:Array.isArray(i.genre)?i.genre:[],o=(Array.isArray(i.videos)?i.videos:[]).map(e=>({id:$(e,`id`)||``,title:$(e,`title`)||$(e,`name`)||``,season:Yh(e,`season`)||0,episode:Yh(e,`episode`)||Yh(e,`number`)||0,thumbnail:$(e,`thumbnail`)})).filter(e=>e.id);return V(V({},rg(i)),{},{type:$(i,`type`)||t,background:$(i,`background`),description:$(i,`description`),releaseInfo:$(i,`releaseInfo`)||(Yh(i,`year`)?String(Yh(i,`year`)):null),genres:a,videos:o})}catch(e){console.warn(`stremio meta`,r,e)}return null}async function og(e,t,n){let r=await Promise.all(e.map(async e=>{try{let r=await $h(e);if(!tg(r,`stream`,t,n))return[];let i=await Zh(`${r.base}/stream/${ng(t)}/${ng(n)}.json`);return(Array.isArray(i.streams)?i.streams:[]).filter(e=>/^https?:\/\//i.test($(e,`url`)||``)).map(e=>({url:$(e,`url`),name:($(e,`name`)||r.name).replace(/\n/g,` `),title:$(e,`title`)||$(e,`description`)}))}catch(t){return console.warn(`stremio stream`,e,t),[]}}));return[].concat(...r)}var sg=(e,t)=>({key:`${e.type}:${e.id}`,id:t,title:e.name,poster:e.poster,rating:e.rating}),cg=e=>e===`movie`?R(`nav_movies`):e===`series`?R(`nav_series`):e;function lg(){let e=q.value.stremioAddons,[t,n]=N([]),[r,i]=N([]),[a,o]=N(!1),[s,c]=N(!1),[l,u]=N(null),d=F(null);P(()=>{document.activeElement===document.body&&L(d.current)},[]),P(()=>{let t=!0;return i([]),(async()=>{let r=[];for(let t of e)try{r.push(await $h(t))}catch(e){}if(t){n(r);for(let e of r)for(let n of e.catalogs)try{let r=await ig(e,n);if(!t)return;r.length&&i(t=>[...t,{key:`${e.url}|${n.type}|${n.id}`,title:`${n.name} · ${cg(n.type)} · ${e.name}`,items:r}])}catch(e){}}})(),()=>{t=!1}},[e.join(`
|
|
15
|
+
`)]);let f=async t=>{let n=Xh(t);try{await $h(n),e.indexOf(n)<0&&Wc({stremioAddons:[...e,n]}),o(!1),c(!1)}catch(e){c(!0)}};return j(`div`,{class:`extensions`,ref:d,children:[j(`h2`,{class:`shelf-title`,children:R(`ext_installed`)}),j(`div`,{class:`shelf-row ext-row`,"data-focus-group":`ext-addons`,children:[j(`button`,{class:`chip ext-add`,"data-focus":!0,"data-focus-default":!e.length||void 0,onClick:()=>{c(!1),o(!0)},children:[j(z,{name:`add`}),R(`ext_add`)]}),t.map(e=>j(`button`,{class:`chip ext-chip`,"data-focus":!0,onClick:()=>u(e),children:[e.logo&&j(`img`,{src:e.logo,alt:``}),e.name]},e.url))]}),j(`p`,{class:`ext-note muted`,children:R(e.length?`ext_note`:`ext_empty`)}),r.map(e=>j(Bd,{title:e.title,info:!0,children:e.items.map((e,t)=>j(Pd,{card:sg(e,t),onClick:()=>bd({name:`stremio`,type:e.type,id:e.id})},`${e.type}:${e.id}`))},e.key)),a&&j(Pn,{title:R(`ext_add`),label:R(s?`ext_failed`:`ext_url`),initial:``,placeholder:`https://…/manifest.json`,onSave:e=>{e.trim()&&(o(!0),f(e))},onClose:()=>o(!1)}),l&&j(En,{title:l.name,message:R(`ext_remove`),confirmLabel:R(`ext_remove`),onConfirm:()=>{Wc({stremioAddons:e.filter(e=>e!==l.url)}),u(null)},onDismiss:()=>u(null)})]})}function ug({type:e,id:t}){let n=q.value.stremioAddons,[r,i]=N(void 0),[a,o]=N(1),[s,c]=N(null),l=F(null);tn(e=>{if(e===`back`)return xd(),!0}),P(()=>{let r=!0;return ag(n,e,t).then(e=>{if(!r)return;i(e);let t=e?e.videos.map(e=>e.season).filter(e=>e>0):[];t.length&&o(Math.min(...t)),setTimeout(()=>L(l.current),0)}),()=>{r=!1}},[e,t]);let u=async(t,r)=>{c({title:r,list:null});let i=await og(n,e,t);c({title:r,list:i.map(e=>({label:e.title?`${e.name} · ${e.title}`:e.name,onSelect:()=>bd({name:`stream`,url:e.url,title:r})}))})};if(r===void 0)return j(`div`,{class:`detail`,children:j(`div`,{class:`player-center`,children:j(`div`,{class:`spinner`})})});if(r===null)return j(`div`,{class:`detail`,ref:l,children:j(`div`,{class:`detail-scroll`,children:[j(`button`,{class:`btn outline back-btn`,"data-focus":!0,onClick:xd,children:[j(z,{name:`back`}),R(`back`)]}),j(`p`,{class:`empty`,children:R(`empty_list`)})]})});let d=Array.from(new Set(r.videos.map(e=>e.season))).sort((e,t)=>e-t),f=r.videos.filter(e=>e.season===a).sort((e,t)=>e.episode-t.episode),p=e=>e<10?`0${e}`:`${e}`;return j(`div`,{class:`detail`,ref:l,children:[j(jm,{src:r.background||r.poster}),j(`div`,{class:`detail-scroll series`,children:[j(`button`,{class:`btn outline back-btn`,"data-focus":!0,onClick:xd,children:[j(z,{name:`back`}),R(`back`)]}),j(`div`,{class:`detail-row`,children:[j(`div`,{class:`detail-poster`,children:r.poster&&j(`img`,{src:r.poster,alt:``})}),j(`div`,{class:`detail-info`,children:[j(`h1`,{children:r.name}),j(Mm,{chips:[r.releaseInfo,r.rating?`★ ${r.rating}`:null,r.genres.slice(0,3).join(`, `)]}),r.description&&j(`p`,{class:`detail-plot`,children:r.description}),!r.videos.length&&j(`div`,{class:`detail-actions`,children:j(`button`,{class:`btn primary`,"data-focus":!0,"data-focus-default":!0,onClick:()=>u(r.id,r.name),children:R(`ext_find_sources`)})})]})]}),r.videos.length>0&&j(x,{children:[d.length>1?j(`div`,{class:`season-chips`,children:d.map(e=>j(`button`,{class:`chip${e===a?` selected`:``}`,"data-focus":!0,onClick:()=>o(e),children:e===0?R(`ext_specials`):R(`vod_season`,e)},e))}):j(`div`,{class:`season-gap`}),j(`div`,{class:`episode-list`,"data-focus-group":`episodes`,children:f.map((e,t)=>j(`button`,{class:`episode-row focus-row`,"data-focus":!0,"data-focus-default":t===0||void 0,onClick:()=>u(e.id,`${r.name} · S${p(e.season)}E${p(e.episode)}`),children:[j(`span`,{class:`ep-thumb`,children:(e.thumbnail||r.poster)&&j(Sn,{src:e.thumbnail||r.poster})}),j(`span`,{class:`ep-text`,children:j(`span`,{class:`ep-title`,children:R(`vod_episode_title`,e.episode,e.title)})})]},e.id))})]})]}),s&&(s.list===null?j(`div`,{class:`scrim`,children:j(`div`,{class:`menu-dialog`,children:[j(`h2`,{children:R(`ext_sources`)}),j(`div`,{class:`spinner`})]})}):j(An,{title:R(`ext_sources`),items:s.list.length?s.list:[{label:R(`ext_no_sources`),onSelect:()=>{}}],onClose:()=>c(null)}))]})}function dg(){let[e,t]=N(null),[n,r]=N(null),i=F(null),a=nd.value;P(()=>{K.reminders.orderBy(`start`).toArray().then(e=>{t(e),setTimeout(()=>{document.activeElement===document.body&&L(i.current)},0)})},[a]);let o=e=>new Date(e).toLocaleDateString(gn.value===`tr`?`tr-TR`:`en-GB`,{weekday:`short`,day:`numeric`,month:`short`}),s=async e=>{let t=await au(e.providerId,{type:`all`}),n=t.indexOf(e.channelId);n>=0&&Td(t,n)};return j(`div`,{class:`recordings`,ref:i,children:[j(`div`,{class:`row rec-tabs`,children:j(`span`,{class:`chip selected`,children:R(`rec_tab_scheduled`)})}),j(`p`,{class:`muted rec-note`,children:R(`tz_rec_note`)}),e&&!e.length&&j(`p`,{class:`empty`,children:R(`rec_scheduled_empty`)}),j(`div`,{class:`rec-list`,children:(e||[]).map(e=>j(`button`,{class:`focus-row rec-row`,"data-focus":!0,onClick:()=>r({title:e.title,items:[{label:R(`home_open_channel`),onSelect:()=>s(e)},{label:R(`guide_remind_off`),onSelect:()=>od(e.id)}]}),children:[j(`span`,{class:`opt-text`,children:[j(`span`,{class:`opt-label`,children:e.title}),j(`span`,{class:`muted`,children:`${e.channelName} · ${o(e.start)} ${Fl(e.start)}${e.stop?`–${Fl(e.stop)}`:``}`})]}),e.repeat?j(`span`,{class:`rec-repeat`,children:R(e.repeat===1?`rec_repeat_daily`:`rec_repeat_weekly`)}):null]},e.id))}),n&&j(An,{title:n.title,items:n.items,onClose:()=>r(null)})]})}var fg=[[`movie`,`search_movies`],[`series`,`search_series`],[`live`,`nav_live`],[`program`,`search_programs`]],pg=120,mg=240,hg=100;function gg(){let e=Xc.value,t=om((Yc.value||[]).find(t=>t.id===e)),[n,r]=N(``),[i,a]=N(null),[o,s]=N([]),[c,l]=N(!1),[u,d]=N(`movie`),[f,p]=N(null),[m,h]=N(null),g=F(null),_=F(null),v=F(!1),y=q.value.searchHistory||[];P(()=>{setTimeout(()=>gm(g.current),0)},[]),P(()=>cm(e,t),[e,t]),P(()=>{let r=!0,i=n.trim().length>=2;l(i),i||(a(null),s([]));let o=setTimeout(async()=>{let i=await um(e,t,n,1/0);if(!r)return;if(!i)return l(!1);let o={movie:i.movies,series:i.series,live:i.channels};a(o),d([`movie`,`series`,`live`].find(e=>o[e].length)||`program`),s(null);let c=await dm(e,t,n,hg),u=await K.channels.bulkGet(c.map(e=>e.channelId));r&&(s(c.map((e,t)=>({program:e.program,channel:u[t]})).filter(e=>!!e.channel)),l(!1))},300);return()=>{r=!1,clearTimeout(o)}},[n,e,t]),P(()=>{let e=!0;if(p(null),h(null),i)return u===`movie`||u===`series`?(u===`movie`?K.movies:K.series).bulkGet(i[u].slice(0,pg).map(e=>e.id)).then(t=>{e&&p(t.filter(e=>!!e))}):u===`live`&&K.channels.bulkGet(i.live.slice(0,mg).map(e=>e.id)).then(t=>{e&&h(t.filter(e=>!!e))}),()=>{e=!1}},[i,u]);let b=async()=>{if(!i||!f||v.current||u!==`movie`&&u!==`series`||f.length>=i[u].length)return;v.current=!0;let e=await(u===`movie`?K.movies:K.series).bulkGet(i[u].slice(f.length,f.length+pg).map(e=>e.id));p(t=>t&&t.concat(e.filter(e=>!!e))),v.current=!1},S=()=>mm(n),C=async(t,n)=>{S();let r=await au(e,{type:`all`}),i=r.indexOf(t);i>=0&&Td(r,i,n)},ee=e=>e===`program`?o?o.length:null:i?i[e].length:0,w=i?i.movie.length+i.series.length+i.live.length+(o?o.length:0):0,T=Date.now(),te=e=>`${new Date(e).toLocaleDateString(gn.value===`tr`?`tr-TR`:`en-GB`,{day:`numeric`,month:`short`})} ${Fl(e)}`,E=!c&&i&&!w,D=j(x,{children:[j(`div`,{class:`browse-bar`,children:[j(`div`,{class:`bb-id`,children:j(`h1`,{class:`bb-title`,children:R(`nav_search`)})}),j(Tn,{label:``,value:n,onInput:r,placeholder:R(`search_hint`),initial:!0,class:`bs-search`})]}),c?j(wn,{label:R(`search_loading`),small:!0}):!i&&y.length>0&&j(x,{children:[j(`span`,{class:`ux-eyebrow`,children:R(`search_recent`)}),y.map(e=>j(`button`,{class:`focus-row`,"data-focus":!0,onClick:()=>r(e),children:e},e)),j(`button`,{class:`focus-row muted`,"data-focus":!0,onClick:()=>Wc({searchHistory:[]}),children:R(`search_clear`)})]})]});return j(vm,{title:n.trim()||R(`nav_search`),panel:D,panelRef:g,children:[i&&!E&&j(`div`,{class:`search-tabs`,ref:_,"data-focus-group":`search-tabs`,children:fg.map(([e,t])=>{let n=ee(e);return n===0?null:j(`button`,{class:`bb-tab${u===e?` selected`:``}`,"data-focus":!0,"data-focus-default":u===e||void 0,onFocus:()=>d(e),onClick:_m,children:[R(t),j(`span`,{class:`bb-tab-count`,children:` ${n===null?`…`:n}`})]},e)})}),i?E?j(`p`,{class:`search-empty`,children:R(`search_no_results`,n.trim())}):u===`movie`||u===`series`?j(wm,{kind:u,items:f,onNearEnd:b,onOpen:S,onTop:()=>L(_.current),autoFocus:!1}):u===`live`?m?j(`div`,{class:`search-channels`,"data-focus-group":`search-channels`,children:m.map(e=>j(Jd,{cc:{channel:e,now:null},onClick:()=>C(e.id),onLongPress:()=>{}},e.id))}):j(wn,{}):o===null?j(wn,{label:R(`search_loading`)}):j(`div`,{class:`search-programs`,"data-focus-group":`search-programs`,children:o.map(({program:e,channel:t})=>j(`button`,{class:`focus-row opt-row search-prog`,"data-focus":!0,onClick:()=>C(t.id,e.stop<T?e:void 0),children:[j(ld,{src:t.logo,size:30}),j(`span`,{class:`opt-text`,children:[j(`span`,{class:`opt-label`,children:e.title}),j(`span`,{class:`muted`,children:t.name})]}),j(`span`,{class:`sp-time${e.start<=T&&e.stop>T?` live`:``}`,children:te(e.start)})]},e.id))}):c?j(wn,{label:R(`search_loading`)}):j(`p`,{class:`search-empty`,children:R(`search_hint`)})]})}function _g(e){let{program:t,channel:n}=e,r=F(null),i=F(document.activeElement);P(()=>(L(r.current),()=>i.current&&i.current.isConnected&&i.current.focus()),[]),tn(t=>t===`back`?(e.onClose(),!0):`default`);let a=Date.now(),o=new Date(t.start).toLocaleDateString(gn.value===`tr`?`tr-TR`:`en-GB`,{day:`numeric`,month:`long`}),s=[],c=ip(n,t.start,a);return t.start<=a&&t.stop>a?(s.push([R(`guide_watch`),e.onWatch]),c&&s.push([R(`guide_restart`),e.onArchive])):t.stop<=a&&c&&s.push([R(`guide_watch_archive`),e.onArchive]),t.start>a&&(s.push([R(nd.value.has(t.id)?`guide_remind_off`:`guide_remind`),async()=>{B(R(await ad(t,n)?`guide_reminder_set`:`guide_reminder_removed`))}]),s.push([R(`tz_remind_daily`),async()=>{await ad(t,n,1),B(R(`guide_reminder_set`))}]),s.push([R(`tz_remind_weekly`),async()=>{await ad(t,n,2),B(R(`guide_reminder_set`))}])),s.push([R(`guide_close`),()=>{}]),j(`div`,{class:`scrim`,"data-focus-scope":!0,children:j(`div`,{class:`program-dialog`,ref:r,role:`dialog`,children:[j(`h2`,{children:t.title}),j(`p`,{class:`pd-meta`,children:`${n.name} · ${o} ${Fl(t.start)} – ${Fl(t.stop)}`}),t.category&&j(`p`,{class:`pd-cat`,children:t.category}),t.desc&&j(`p`,{class:`pd-desc`,children:t.desc}),j(`div`,{class:`row pd-buttons`,children:s.map(([t,n],r)=>j(`button`,{class:`btn ${r===0?`primary`:`outline`}`,"data-focus":!0,"data-focus-default":r===0||void 0,onClick:()=>{e.onClose(),n()},children:t},t))})]})})}var vg=I(null),yg=864e5;function bg({onOpenPlayer:e,onSearch:t}){let n=Xc.value,r=vg.value||{filter:{type:`all`},label:R(`cat_all`)},[i,a]=N(null),[o,s]=N([]),[c,l]=N(Cp(Date.now())),[u,d]=N(null),[f,p]=N(null),m=q.value;P(()=>{K.categories.where(`[providerId+kind]`).equals([n,`live`]).sortBy(`order`).then(s)},[n]),P(()=>{let e=!0;return a(null),au(n,r.filter).then(t=>e&&a(t)),()=>{e=!1}},[n,JSON.stringify(r.filter)]);let h=ke(()=>i?new su(i):null,[i]),g=(t,n)=>{i&&e(i,t,n)};return j(`div`,{class:`guide`,children:[j(`div`,{class:`guide-head`,children:[j(`h1`,{children:new Date(c).toLocaleDateString(gn.value===`tr`?`tr-TR`:`en-GB`,{weekday:`long`,day:`numeric`,month:`long`})}),j(`div`,{class:`row`,children:[j(`button`,{class:`btn outline`,"data-focus":!0,onClick:()=>d({title:R(`guide_category`,r.label),items:[{label:R(`cat_all`),filter:{type:`all`}},{label:R(`cat_favorites`),filter:{type:`fav`}},...o.map(e=>({label:e.name,filter:{type:`cat`,id:e.id}}))].map(e=>({label:e.label,checked:JSON.stringify(e.filter)===JSON.stringify(r.filter),onSelect:()=>vg.value={filter:e.filter,label:e.label}}))}),children:R(`guide_category`,r.label)}),j(`button`,{class:`btn outline`,"data-focus":!0,onClick:()=>l(c-yg),children:R(`guide_prev_day`)}),j(`button`,{class:`btn outline`,"data-focus":!0,onClick:()=>l(Cp(Date.now())),children:R(`guide_now`)}),j(`button`,{class:`btn outline`,"data-focus":!0,onClick:()=>l(c+yg),children:R(`guide_next_day`)}),j(`button`,{class:`btn outline`,"data-focus":!0,onClick:t,children:R(`guide_search`)})]})]}),i&&!i.length?j(`p`,{class:`empty`,children:R(`live_empty_category`)}):h&&j(Tp,{pager:h,count:i.length,initialRow:0,rowRem:6,winStart:c,setWinStart:l,numberOf:(e,t)=>m.numbering===`HIDDEN`?null:m.numbering===`CATEGORY`?t+1:e.number,onChannel:(e,t)=>g(t),onProgram:(e,t,n)=>p({p:e,c:t,row:n})},JSON.stringify(r.filter)),j(`p`,{class:`guide-hint`,children:R(`guide_hint`)}),u&&j(An,{title:u.title,items:u.items,onClose:()=>d(null)}),f&&j(_g,{program:f.p,channel:f.c,onClose:()=>p(null),onWatch:()=>g(f.row),onArchive:()=>g(f.row,f.p)})]})}var xg=[{id:`home`,label:`nav_home`},{id:`live`,label:`nav_live`},{id:`movies`,label:`nav_movies`},{id:`series`,label:`nav_series`},{id:`library`,label:`nav_library`},{id:`search`,label:`nav_search`,icon:`search`},{id:`settings`,label:`nav_settings`,icon:`settings`}],Sg=I(!1),Cg=null,wg=e=>{if(e===`back`&&yd.value.length)return xd();e===`back`&&Cg&&Cg.isConnected&&(Cg&&!Cg.contains(document.activeElement)?L(Cg):Y.value===`home`?Sg.value=!0:Y.value=`home`)};async function Tg(){let e=td.value;td.value=null,Xc.peek()!==e.providerId&&el(e.providerId);let t=await au(e.providerId,{type:`all`}),n=t.indexOf(e.channelId);n<0||Td(t,n)}var Eg=!1,Dg=new Map;function Og({active:e}){let t=F(null);return P(()=>{Cg=t.current,Eg||(Eg=!0,L(Cg))},[]),j(`header`,{class:`topbar glass`,children:[j(`span`,{class:`brand`,children:R(`app_name`)}),j(`nav`,{class:`pills`,ref:t,"data-focus-group":`menu`,children:xg.map(t=>{let n=e||(Y.value===`guide`?`live`:[`recordings`,`extensions`].includes(Y.value)?`library`:Y.value),r=t.id===n;return j(`button`,{class:`pill${r?` selected`:``}${t.icon?` icon-only`:``}`,"data-focus":!0,"data-focus-default":r||void 0,"aria-label":R(t.label),onClick:()=>{if(t.id===`home`){Dg.delete(`home`),yd.value=[],Y.value=`home`;return}let e=Y.value;e!==t.id&&Dg.set(e,yd.value),yd.value=r?[]:Dg.get(t.id)||[],Dg.delete(t.id),Y.value=t.id},children:[t.icon&&j(z,{name:t.icon}),j(`span`,{children:R(t.label)})]},t.id)})})]})}function kg(e){switch(e.name){case`browse`:return j(Em,{kind:e.kind,title:e.title,filter:e.filter,sort:e.sort});case`movie`:return j(Im,{id:e.id});case`series`:return j(Rm,{id:e.id,season:e.season});case`vod`:return j(gh,{kind:e.kind,id:e.id,seriesId:e.seriesId,startMs:e.startMs});case`epgmap`:return j(xh,{channelId:e.channelId});case`homeEdit`:return j(Jh,{});case`recordings`:return j(dg,{});case`extensions`:return j(lg,{});case`stream`:return j(gh,{kind:`stream`,id:0,url:e.url,title:e.title});case`stremio`:return j(ug,{type:e.type,id:e.id})}}function Ag(){let e=yd.value,t=xg.find(e=>e.id===Y.value)||xg[0],n=Yc.value,r=n!==null&&(Y.value===`onboarding`||!n.length),i=e.length?e[e.length-1].page:null,a=i&&i.name===`browse`?i:null,o=i&&(i.name===`recordings`||i.name===`extensions`);return j(`div`,{class:`app`,children:[j(Kp,{}),Dt.value===!0?n===null?null:r?j(ll,{onDone:()=>Y.value=`home`,onExit:()=>n.length?Y.value=`home`:Sg.value=!0}):Y.value===`player`?j(Rp,{onExit:Ed},gd.value?gd.value.seq:0):j(x,{children:[(!e.length||a||o)&&j(Og,{active:o?`library`:a?a.kind===`movie`?`movies`:`series`:void 0}),j(`main`,{style:e.length?{display:`none`}:void 0,class:`content${Y.value===`live`||Y.value===`guide`?` live-content`:``}${Y.value===`movies`||Y.value===`series`||Y.value===`search`?` catalog-content`:``}`,"data-focus-group":`screen-${Y.value}`,children:Y.value===`home`?j(Gd,{providerId:Xc.value}):Y.value===`live`?j(Kf,{onOpenPlayer:(e,t)=>Td(e,t)}):Y.value===`guide`?j(bg,{onOpenPlayer:(e,t,n)=>Td(e,t,n),onSearch:()=>Y.value=`search`}):Y.value===`search`?j(gg,{}):Y.value===`settings`?j(Rh,{}):Y.value===`movies`?j(Em,{kind:`movie`,title:R(`nav_movies`),filter:{all:!0}},`movies`):Y.value===`series`?j(Em,{kind:`series`,title:R(`nav_series`),filter:{all:!0}},`series`):Y.value===`extensions`?j(lg,{}):Y.value===`recordings`?j(dg,{}):Y.value===`library`?j(Xd,{}):j(Ln,{title:R(t.label)})}),e.map((t,n)=>j(`div`,{class:[`browse`,`recordings`,`extensions`].includes(t.page.name)?`page-flow`:`page`,style:n<e.length-1?{display:`none`}:void 0,children:kg(t.page)},n))]}):Dt.value===!1&&j(In,{onExit:()=>Sg.value=!0}),j(kn,{}),td.value&&j(En,{title:R(`tz_reminder_title`,td.value.title),message:R(`tz_reminder_text`,td.value.channelName),confirmLabel:R(`guide_watch`),onConfirm:()=>Tg(),onDismiss:()=>td.value=null}),Sg.value&&j(En,{title:R(`exit_title`),message:R(`exit_message`),onConfirm:Lt,onDismiss:()=>Sg.value=!1})]})}It(),jt(),Jc(),Of(document.getElementById(`video`)),cd(),un(wg),de(j(Ag,{}),document.getElementById(`app`)),setTimeout(Eh,15e3),$c().then(async e=>{new URLSearchParams(location.search),e.length?(nl(),jg()):Y.value=`onboarding`});async function jg(){let e=q.peek().startScreen,t=Xc.peek();if(e===`last`||e===`firstFav`){if(!t)return;let n=await au(t,{type:e===`last`?`all`:`fav`}),r=e===`last`?n.indexOf(q.peek().lastChannelId||-1):0;n.length&&r>=0&&Td(n,r)}else Y.value=e}})();
|