@shumai-one/shumai 0.4.9 → 0.5.1

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.
Files changed (163) hide show
  1. package/bin/{chunk-ckd5hnd0.js → chunk-03bfjh8k.js} +2 -2
  2. package/bin/chunk-088e1ath.js +3 -0
  3. package/bin/{chunk-dzj91k6v.js → chunk-0e8xg41c.js} +2 -2
  4. package/bin/{chunk-kemfwmyq.js → chunk-0ttr4a6b.js} +2 -2
  5. package/bin/{chunk-1v11geh0.js → chunk-0yv0nnmh.js} +2 -2
  6. package/bin/chunk-18kgmvme.js +2 -0
  7. package/bin/chunk-1dt700ws.js +129 -0
  8. package/bin/{chunk-snedd3at.js → chunk-1k16xsqq.js} +9 -9
  9. package/bin/chunk-1ya6vx4k.js +1 -0
  10. package/bin/{chunk-0w3388vp.js → chunk-20anqpf1.js} +2 -2
  11. package/bin/{chunk-v2vdm22x.js → chunk-2g5qdx4s.js} +1 -1
  12. package/bin/{chunk-9fe75ns9.js → chunk-31vx01aw.js} +2 -2
  13. package/bin/{chunk-7hmt2gs5.js → chunk-3584j9fc.js} +1 -1
  14. package/bin/{chunk-6m44n3ms.js → chunk-36r20sj7.js} +1 -1
  15. package/bin/{chunk-82cg5497.js → chunk-3cvbb6kh.js} +2 -2
  16. package/bin/chunk-3fjgf7eb.js +3 -0
  17. package/bin/{chunk-rd5ek2sk.js → chunk-3m6ch1x5.js} +2 -2
  18. package/bin/chunk-3xw70yr4.js +2 -0
  19. package/bin/{chunk-nr80mrry.js → chunk-3z20b2hz.js} +2 -2
  20. package/bin/{chunk-6vqga3ma.js → chunk-3zvvct3r.js} +1 -1
  21. package/bin/{chunk-41fbx9mc.js → chunk-4437dnfa.js} +2 -2
  22. package/bin/chunk-4frhvsy0.js +1 -0
  23. package/bin/{chunk-46hmh2ag.js → chunk-4mq874m3.js} +1 -1
  24. package/bin/{chunk-zy32pf0s.js → chunk-57nqvcg7.js} +1 -1
  25. package/bin/chunk-58hdvwj2.js +1 -0
  26. package/bin/{chunk-ytffpk7c.js → chunk-5bpvwv66.js} +2 -2
  27. package/bin/{chunk-eedhf8eb.js → chunk-5jbx9gqe.js} +1 -1
  28. package/bin/{chunk-sby10fz6.js → chunk-5patxztz.js} +4 -4
  29. package/bin/chunk-5seey9ee.js +2 -0
  30. package/bin/{chunk-c7hr2jga.js → chunk-5t05jpna.js} +3 -3
  31. package/bin/{chunk-c0wqfya9.js → chunk-5yd9cv7f.js} +5 -5
  32. package/bin/{chunk-8mhj6r2q.js → chunk-628k58ek.js} +2 -2
  33. package/bin/{chunk-kn82bccp.js → chunk-62sj29j8.js} +2 -2
  34. package/bin/chunk-66hdwm6f.js +2 -0
  35. package/bin/chunk-6devq6jh.js +2 -0
  36. package/bin/{chunk-2txahdj8.js → chunk-6ns2vhbd.js} +2 -2
  37. package/bin/{chunk-46brm12f.js → chunk-6v6c2921.js} +4 -4
  38. package/bin/{chunk-tefct00a.js → chunk-6vvs18bw.js} +1 -1
  39. package/bin/chunk-756mr32b.js +2 -0
  40. package/bin/{chunk-gj0yxtqz.js → chunk-7vd5yajk.js} +7 -7
  41. package/bin/{chunk-e2qn4d57.js → chunk-9h6nn1a3.js} +1 -1
  42. package/bin/chunk-9k86d2a3.js +4 -0
  43. package/bin/{chunk-h29rwayb.js → chunk-a5fsqkt7.js} +1 -1
  44. package/bin/{chunk-tcyp8qtg.js → chunk-ar6kq7hh.js} +2 -2
  45. package/bin/chunk-asgxtqf0.js +2 -0
  46. package/bin/chunk-axfwh5et.js +2 -0
  47. package/bin/chunk-c0vbj8za.js +1 -0
  48. package/bin/{chunk-q6k1ctph.js → chunk-c4wnhekn.js} +2 -2
  49. package/bin/{chunk-sfwmwrq3.js → chunk-d7mgjqf8.js} +1 -1
  50. package/bin/chunk-dcmfn4hs.js +2 -0
  51. package/bin/{chunk-g6rw4jj5.js → chunk-dvkzhpxx.js} +2 -2
  52. package/bin/chunk-dy79b8kd.js +1 -0
  53. package/bin/{chunk-nz16584e.js → chunk-e3r1m6rb.js} +1 -1
  54. package/bin/{chunk-pw81eh3g.js → chunk-ehhsezbj.js} +2 -2
  55. package/bin/chunk-ehvyq65t.js +2 -0
  56. package/bin/{chunk-zhtc1j3r.js → chunk-exgtwask.js} +1 -1
  57. package/bin/{chunk-fw5xzcnf.js → chunk-f22nrm6r.js} +4 -4
  58. package/bin/chunk-g21k2awz.js +2 -0
  59. package/bin/chunk-g9f9nzcc.js +1 -0
  60. package/bin/{chunk-8r9q7xcv.js → chunk-gptzcgte.js} +1 -1
  61. package/bin/{chunk-2j31y48k.js → chunk-grsgkkrb.js} +5 -5
  62. package/bin/{chunk-1kr1jsrt.js → chunk-gy8z8sd7.js} +1 -1
  63. package/bin/{chunk-yyj21k15.js → chunk-gzzfta3s.js} +1 -1
  64. package/bin/{chunk-p4nbgn3v.js → chunk-h153xefb.js} +1 -1
  65. package/bin/{chunk-6yayg55q.js → chunk-h9x81yp6.js} +1 -1
  66. package/bin/{chunk-v2901ff5.js → chunk-hr2027z3.js} +8 -8
  67. package/bin/{chunk-xw7jea6g.js → chunk-hx76pje1.js} +1 -1
  68. package/bin/{chunk-5w7yxz6p.js → chunk-j3xaq9s3.js} +2 -2
  69. package/bin/{chunk-5e4de0a1.js → chunk-j909v9p5.js} +1 -1
  70. package/bin/chunk-k9cgfzgk.js +3 -0
  71. package/bin/{chunk-0mv8jp7h.js → chunk-kgfa5y9w.js} +8 -8
  72. package/bin/{chunk-zpk482rb.js → chunk-kvqp50dm.js} +2 -2
  73. package/bin/{chunk-jxfz4h24.js → chunk-kzsdp31a.js} +2 -2
  74. package/bin/{chunk-ht4chp45.js → chunk-m1xc3t0p.js} +7 -7
  75. package/bin/{chunk-ns8whqp6.js → chunk-m2dtwvg0.js} +30 -30
  76. package/bin/{chunk-rv15x8aw.js → chunk-m5cpsm28.js} +1 -1
  77. package/bin/{chunk-4cj3pz27.js → chunk-mqr096rn.js} +1 -1
  78. package/bin/{chunk-yfjyjjpz.js → chunk-mt532a33.js} +1 -1
  79. package/bin/chunk-nbfcknsq.js +1 -0
  80. package/bin/chunk-phzemmmy.js +2 -0
  81. package/bin/{chunk-jyg525f5.js → chunk-q5mkbnr9.js} +2 -2
  82. package/bin/chunk-qcf3tb72.js +1 -0
  83. package/bin/{chunk-7zfyrt40.js → chunk-r1m4q8vw.js} +1 -1
  84. package/bin/{chunk-d70acjwn.js → chunk-r6gkv98n.js} +5 -5
  85. package/bin/chunk-rgfh5apb.js +1 -0
  86. package/bin/chunk-rh1hs8wa.js +2 -0
  87. package/bin/{chunk-p46em0kf.js → chunk-rkq6jvhb.js} +3 -3
  88. package/bin/{chunk-0g7ayjb5.js → chunk-rn9rktp4.js} +5 -5
  89. package/bin/chunk-rpxayeqd.js +1 -0
  90. package/bin/{chunk-g7qejgap.js → chunk-rq2h2bwt.js} +2 -2
  91. package/bin/{chunk-09367z2r.js → chunk-rsdpycdr.js} +2 -2
  92. package/bin/{chunk-anky1dmg.js → chunk-s33pcxn0.js} +1 -1
  93. package/bin/{chunk-thzf89fp.js → chunk-s978ftze.js} +3 -3
  94. package/bin/{chunk-qah2r4xa.js → chunk-s9svhjv6.js} +1 -1
  95. package/bin/{chunk-yet4fnab.js → chunk-sg7n2g3z.js} +1 -1
  96. package/bin/{chunk-qa7pphr5.js → chunk-t597y392.js} +2 -2
  97. package/bin/{chunk-cphwmdq5.js → chunk-tcat7q9p.js} +2 -2
  98. package/bin/{chunk-n6sny5c8.js → chunk-tcp4q15p.js} +1 -1
  99. package/bin/{chunk-bg2vgnzt.js → chunk-trndqdaa.js} +1 -1
  100. package/bin/{chunk-tnv4ggx2.js → chunk-v42jcex0.js} +4 -4
  101. package/bin/chunk-vnk2p7mq.css +1 -0
  102. package/bin/{chunk-f3f6cary.js → chunk-vre5andt.js} +3 -3
  103. package/bin/chunk-vsefjzzj.js +211 -0
  104. package/bin/chunk-wf32n1s3.js +1 -0
  105. package/bin/{chunk-r7e2fmmx.js → chunk-wkxm6yny.js} +2 -2
  106. package/bin/{chunk-6mnj9adr.js → chunk-wydd7sz7.js} +2 -2
  107. package/bin/{chunk-rbh4w2v2.js → chunk-xvdd04gy.js} +1 -1
  108. package/bin/{chunk-sg8hjkyg.js → chunk-xyh5dkr5.js} +1 -1
  109. package/bin/{chunk-spm13ndr.js → chunk-xyk7vk42.js} +2 -2
  110. package/bin/{chunk-m0xbfmf0.js → chunk-y03z5rrg.js} +3 -3
  111. package/bin/chunk-yd1k76na.js +2 -0
  112. package/bin/chunk-yfm9xwes.js +14 -0
  113. package/bin/{chunk-aant41bd.js → chunk-z1r86fna.js} +2 -2
  114. package/bin/{chunk-ryvq9pbw.js → chunk-z7p7s55t.js} +2 -2
  115. package/bin/{chunk-szjkmkwc.js → chunk-z8mmqfm4.js} +1 -1
  116. package/bin/{chunk-jpjc44j6.js → chunk-zcrtr8qd.js} +2 -2
  117. package/bin/{chunk-sedbz4km.js → chunk-zf2h3w7t.js} +1 -1
  118. package/bin/{chunk-c3010erf.js → chunk-zfqz72sd.js} +1 -1
  119. package/bin/{chunk-6snwrej9.js → chunk-zhe16jvg.js} +1 -1
  120. package/bin/chunk-zkep4r7d.js +1 -0
  121. package/bin/chunk-zp5b1mb6.js +2 -0
  122. package/bin/{chunk-8mjb093y.js → chunk-zwb9kamp.js} +2 -2
  123. package/bin/shumai-app.html +1 -1
  124. package/bin/shumai-app.js +360 -353
  125. package/package.json +9 -8
  126. package/prisma/migrations/20261001015042_migrate_video_strategy_multi_and_resolutions/migration.sql +16 -0
  127. package/prisma/migrations/20261002104921_add_asset_status_failed/migration.sql +2 -0
  128. package/prisma/schema.prisma +1 -0
  129. package/bin/chunk-01v2xh5b.js +0 -1
  130. package/bin/chunk-15n1v8mm.js +0 -1
  131. package/bin/chunk-17k9a427.js +0 -211
  132. package/bin/chunk-258tjpym.js +0 -1
  133. package/bin/chunk-2ar64j3z.js +0 -2
  134. package/bin/chunk-2kxhdnma.js +0 -3
  135. package/bin/chunk-315w58w6.js +0 -3
  136. package/bin/chunk-4sqbjvjt.js +0 -2
  137. package/bin/chunk-c8aw8dye.js +0 -2
  138. package/bin/chunk-e2724ggn.js +0 -2
  139. package/bin/chunk-e2j3vwcv.js +0 -2
  140. package/bin/chunk-ef3av8ay.js +0 -1
  141. package/bin/chunk-fjvbgahx.css +0 -1
  142. package/bin/chunk-fw0f45qw.js +0 -2
  143. package/bin/chunk-gvbajsje.js +0 -1
  144. package/bin/chunk-h37zfvmp.js +0 -3
  145. package/bin/chunk-jraqe5z0.js +0 -2
  146. package/bin/chunk-jy8by162.js +0 -1
  147. package/bin/chunk-jz9mcrj6.js +0 -1
  148. package/bin/chunk-k4n9rdq3.js +0 -1
  149. package/bin/chunk-kmx350y5.js +0 -14
  150. package/bin/chunk-kx0qbs28.js +0 -1
  151. package/bin/chunk-nhfbnqdr.js +0 -2
  152. package/bin/chunk-p7j6zgdg.js +0 -2
  153. package/bin/chunk-pbyp1xnb.js +0 -2
  154. package/bin/chunk-r4w1e3bd.js +0 -2
  155. package/bin/chunk-s9whhdb3.js +0 -2
  156. package/bin/chunk-ss1jchgx.js +0 -1
  157. package/bin/chunk-t0nktwrm.js +0 -1
  158. package/bin/chunk-t9eb2mdq.js +0 -4
  159. package/bin/chunk-tptgxbqa.js +0 -2
  160. package/bin/chunk-v8ngtwzx.js +0 -299
  161. package/bin/chunk-xex9v0rn.js +0 -2
  162. package/bin/chunk-xs2w45vp.js +0 -1
  163. package/bin/chunk-xza8wate.js +0 -2
@@ -0,0 +1,129 @@
1
+ import{Ns,Wi,it,j,F,Ca,D,ft,h,ju,gn,$e,N,y,u,Ds,S,L,t,o,Q,B,Jn,Xi,dl,Os,fl,pl,ml,Wu,Fs,hl,Yu,Rr,A,I,O,Ct,jn,Pe,ve,nn,vt,er,wt,Zs,Oo,pe,Ut,Ne,C,E,Ce,Ie,Te,he,ge,Ae,K,Qr,Vt,gs,ld,Tm,fd,Dc,g_,A_,Oc,__,y_,b_,Mf,Fc,v_,w_,De,F_,oy,ly,cy,yl,md,hr,cb,ub,Uf,vl,jf,Hf,$f,Da,Gf,kv,Rv,bd,qc,kw,Yf,fx,Jh,Xh,qx,Hx,Ed,Qx,mg,fp,Td,Oa,QS,sE,gp,Fg,Il,xo,zC,Jg,WC,Np,WI,BT,A1,Kp,Wp,ue,EA,ae,fe,le,It,q,Xo,Dr,_n,$n,M,ct,xe,Ba,sa,$d,Nl,gr,eu,tu,Pr,Cr,no,za,ht,gt,At,W,Me,Jd,bs,zr,$t,Lo}from"./chunk-vsefjzzj.js";import{Uo}from"./chunk-zp5b1mb6.js";import{Mo,_r}from"./chunk-3m6ch1x5.js";import{Vs,Ni,bn,Di,_u,yu,Yr}from"./chunk-62sj29j8.js";import{Vn,ao}from"./chunk-m5cpsm28.js";import{fr}from"./chunk-dvkzhpxx.js";import{dn}from"./chunk-t597y392.js";import{Nr}from"./chunk-4437dnfa.js";import{H,w,ke}from"./chunk-kzsdp31a.js";var u8=w(function(zH,$h){S();Yu();$h.exports=function(e){function n(d,p,x,R){return new Ck(d,p,x,R)}function s(){}function i(d){var p="https://react.dev/errors/"+d;if(1<arguments.length){p+="?args[]="+encodeURIComponent(arguments[1]);for(var x=2;x<arguments.length;x++)p+="&args[]="+encodeURIComponent(arguments[x])}return"Minified React error #"+d+"; visit "+p+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function r(d){var p=d,x=d;if(d.alternate)for(;p.return;)p=p.return;else{d=p;do p=d,(p.flags&4098)!==0&&(x=p.return),d=p.return;while(d)}return p.tag===3?x:null}function a(d){if(r(d)!==d)throw Error(i(188))}function l(d){var p=d.alternate;if(!p){if(p=r(d),p===null)throw Error(i(188));return p!==d?null:d}for(var x=d,R=p;;){var G=x.return;if(G===null)break;var Y=G.alternate;if(Y===null){if(R=G.return,R!==null){x=R;continue}break}if(G.child===Y.child){for(Y=G.child;Y;){if(Y===x)return a(G),d;if(Y===R)return a(G),p;Y=Y.sibling}throw Error(i(188))}if(x.return!==R.return)x=G,R=Y;else{for(var re=!1,je=G.child;je;){if(je===x){re=!0,x=G,R=Y;break}if(je===R){re=!0,R=G,x=Y;break}je=je.sibling}if(!re){for(je=Y.child;je;){if(je===x){re=!0,x=Y,R=G;break}if(je===R){re=!0,R=Y,x=G;break}je=je.sibling}if(!re)throw Error(i(189))}}if(x.alternate!==R)throw Error(i(190))}if(x.tag!==3)throw Error(i(188));return x.stateNode.current===x?d:p}function c(d){var p=d.tag;if(p===5||p===26||p===27||p===6)return d;for(d=d.child;d!==null;){if(p=c(d),p!==null)return p;d=d.sibling}return null}function f(d){var p=d.tag;if(p===5||p===26||p===27||p===6)return d;for(d=d.child;d!==null;){if(d.tag!==4&&(p=f(d),p!==null))return p;d=d.sibling}return null}function m(d){if(d===null||typeof d!=="object")return null;return d=Dy&&d[Dy]||d["@@iterator"],typeof d==="function"?d:null}function g(d){if(d==null)return null;if(typeof d==="function")return d.$$typeof===Rk?null:d.displayName||d.name||null;if(typeof d==="string")return d;switch(d){case vc:return"Fragment";case Ip:return"Profiler";case Iy:return"StrictMode";case Dp:return"Suspense";case qp:return"SuspenseList";case Fp:return"Activity"}if(typeof d==="object")switch(d.$$typeof){case yc:return"Portal";case Bo:return d.displayName||"Context";case Ry:return(d._context.displayName||"Context")+".Consumer";case Rp:var p=d.render;return d=d.displayName,d||(d=p.displayName||p.name||"",d=d!==""?"ForwardRef("+d+")":"ForwardRef"),d;case Mp:return p=d.displayName||null,p!==null?p:g(d.type)||"Memo";case Ho:p=d._payload,d=d._init;try{return g(d(p))}catch(x){}}return null}function b(d){return{current:d}}function v(d){0>xc||(d.current=Up[xc],Up[xc]=null,xc--)}function k(d,p){xc++,Up[xc]=d.current,d.current=p}function T(d){return d>>>=0,d===0?32:31-(cA(d)/fA|0)|0}function _(d){var p=d&42;if(p!==0)return p;switch(d&-d){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return d&261888;case 262144:case 524288:case 1048576:case 2097152:return d&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return d&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return d}}function P(d,p,x){var R=d.pendingLanes;if(R===0)return 0;var G=0,Y=d.suspendedLanes,re=d.pingedLanes;d=d.warmLanes;var je=R&134217727;return je!==0?(R=je&~Y,R!==0?G=_(R):(re&=je,re!==0?G=_(re):x||(x=je&~d,x!==0&&(G=_(x))))):(je=R&~Y,je!==0?G=_(je):re!==0?G=_(re):x||(x=R&~d,x!==0&&(G=_(x)))),G===0?0:p!==0&&p!==G&&(p&Y)===0&&(Y=G&-G,x=p&-p,Y>=x||Y===32&&(x&4194048)!==0)?p:G}function U(d,p){return(d.pendingLanes&~(d.suspendedLanes&~d.pingedLanes)&p)===0}function z(d,p){switch(d){case 1:case 2:case 4:case 8:case 64:return p+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return p+5000;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function V(){var d=Qu;return Qu<<=1,(Qu&62914560)===0&&(Qu=4194304),d}function X(d){for(var p=[],x=0;31>x;x++)p.push(d);return p}function J(d,p){d.pendingLanes|=p,p!==268435456&&(d.suspendedLanes=0,d.pingedLanes=0,d.warmLanes=0)}function ee(d,p,x,R,G,Y){var re=d.pendingLanes;d.pendingLanes=x,d.suspendedLanes=0,d.pingedLanes=0,d.warmLanes=0,d.expiredLanes&=x,d.entangledLanes&=x,d.errorRecoveryDisabledLanes&=x,d.shellSuspendCounter=0;var{entanglements:je,expirationTimes:Ge,hiddenUpdates:et}=d;for(x=re&~x;0<x;){var bt=31-rr(x),rt=1<<bt;je[bt]=0,Ge[bt]=-1;var jt=et[bt];if(jt!==null)for(et[bt]=null,bt=0;bt<jt.length;bt++){var en=jt[bt];en!==null&&(en.lane&=-536870913)}x&=~rt}R!==0&&te(d,R,0),Y!==0&&G===0&&d.tag!==0&&(d.suspendedLanes|=Y&~(re&~p))}function te(d,p,x){d.pendingLanes|=p,d.suspendedLanes&=~p;var R=31-rr(p);d.entangledLanes|=p,d.entanglements[R]=d.entanglements[R]|1073741824|x&261930}function ne(d,p){var x=d.entangledLanes|=p;for(d=d.entanglements;x;){var R=31-rr(x),G=1<<R;G&p|d[R]&p&&(d[R]|=p),x&=~G}}function ie(d,p){var x=p&-p;return x=(x&42)!==0?1:se(x),(x&(d.suspendedLanes|p))!==0?0:x}function se(d){switch(d){case 2:d=1;break;case 8:d=4;break;case 32:d=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:d=128;break;case 268435456:d=134217728;break;default:d=0}return d}function oe(d){return d&=-d,2<d?8<d?(d&134217727)!==0?32:268435456:8:2}function ye(d){if(typeof pA==="function"&&gA(d),ar&&typeof ar.setStrictMode==="function")try{ar.setStrictMode(zf,d)}catch(p){}}function Se(d,p){return d===p&&(d!==0||1/d===1/p)||d!==d&&p!==p}function me(d){if(Vp===void 0)try{throw Error()}catch(x){var p=x.stack.trim().match(/\n( *(at )?)/);Vp=p&&p[1]||"",i5=-1<x.stack.indexOf(`
2
+ at`)?" (<anonymous>)":-1<x.stack.indexOf("@")?"@unknown:0:0":""}return`
3
+ `+Vp+d+i5}function de(d,p){if(!d||$p)return"";$p=!0;var x=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var R={DetermineComponentFrameRoot:function(){try{if(p){var rt=function(){throw Error()};if(Object.defineProperty(rt.prototype,"props",{set:function(){throw Error()}}),typeof Reflect==="object"&&Reflect.construct){try{Reflect.construct(rt,[])}catch(en){var jt=en}Reflect.construct(d,[],rt)}else{try{rt.call()}catch(en){jt=en}d.call(rt.prototype)}}else{try{throw Error()}catch(en){jt=en}(rt=d())&&typeof rt.catch==="function"&&rt.catch(function(){})}}catch(en){if(en&&jt&&typeof en.stack==="string")return[en.stack,jt.stack]}return[null,null]}};R.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var G=Object.getOwnPropertyDescriptor(R.DetermineComponentFrameRoot,"name");G&&G.configurable&&Object.defineProperty(R.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var Y=R.DetermineComponentFrameRoot(),re=Y[0],je=Y[1];if(re&&je){var Ge=re.split(`
4
+ `),et=je.split(`
5
+ `);for(G=R=0;R<Ge.length&&!Ge[R].includes("DetermineComponentFrameRoot");)R++;for(;G<et.length&&!et[G].includes("DetermineComponentFrameRoot");)G++;if(R===Ge.length||G===et.length)for(R=Ge.length-1,G=et.length-1;1<=R&&0<=G&&Ge[R]!==et[G];)G--;for(;1<=R&&0<=G;R--,G--)if(Ge[R]!==et[G]){if(R!==1||G!==1)do if(R--,G--,0>G||Ge[R]!==et[G]){var bt=`
6
+ `+Ge[R].replace(" at new "," at ");return d.displayName&&bt.includes("<anonymous>")&&(bt=bt.replace("<anonymous>",d.displayName)),bt}while(1<=R&&0<=G);break}}}finally{$p=!1,Error.prepareStackTrace=x}return(x=d?d.displayName||d.name:"")?me(x):""}function ce(d,p){switch(d.tag){case 26:case 27:case 5:return me(d.type);case 16:return me("Lazy");case 13:return d.child!==p&&p!==null?me("Suspense Fallback"):me("Suspense");case 19:return me("SuspenseList");case 0:case 15:return de(d.type,!1);case 11:return de(d.type.render,!1);case 1:return de(d.type,!0);case 31:return me("Activity");default:return""}}function Ee(d){try{var p="",x=null;do p+=ce(d,x),x=d,d=d.return;while(d);return p}catch(R){return`
7
+ Error generating stack: `+R.message+`
8
+ `+R.stack}}function we(d,p){if(typeof d==="object"&&d!==null){var x=r5.get(d);if(x!==void 0)return x;return p={value:d,source:p,stack:Ee(p)},r5.set(d,p),p}return{value:d,source:p,stack:Ee(p)}}function qe(d,p){Tc[Ec++]=Vf,Tc[Ec++]=Zu,Zu=d,Vf=p}function Re(d,p,x){kr[xr++]=wa,kr[xr++]=ya,kr[xr++]=zo,zo=d;var R=wa;d=ya;var G=32-rr(R)-1;R&=~(1<<G),x+=1;var Y=32-rr(p)+G;if(30<Y){var re=G-G%5;Y=(R&(1<<re)-1).toString(32),R>>=re,G-=re,wa=1<<32-rr(p)+G|x<<G|R,ya=Y+d}else wa=1<<Y|x<<G|R,ya=d}function Fe(d){d.return!==null&&(qe(d,1),Re(d,1,0))}function Be(d){for(;d===Zu;)Zu=Tc[--Ec],Tc[Ec]=null,Vf=Tc[--Ec],Tc[Ec]=null;for(;d===zo;)zo=kr[--xr],kr[xr]=null,ya=kr[--xr],kr[xr]=null,wa=kr[--xr],kr[xr]=null}function Xe(d,p){kr[xr++]=wa,kr[xr++]=ya,kr[xr++]=zo,wa=p.id,ya=p.overflow,zo=d}function st(d,p){k(Go,p),k(Xf,d),k(mi,null),d=Mk(p),v(mi),k(mi,d)}function Ze(){v(mi),v(Xf),v(Go)}function St(d){d.memoizedState!==null&&k(ed,d);var p=mi.current,x=Fk(p,d.type);p!==x&&(k(Xf,d),k(mi,x))}function _t(d){Xf.current===d&&(v(mi),v(Xf)),ed.current===d&&(v(ed),to?ql._currentValue=Sc:ql._currentValue2=Sc)}function dt(d){var p=Error(i(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw fs(we(p,d)),Xp}function Ot(d,p){if(!Ci)throw Error(i(175));Ox(d.stateNode,d.type,d.memoizedProps,p,d)||dt(d,!0)}function ln(d){for(pi=d.return;pi;)switch(pi.tag){case 5:case 31:case 13:Ar=!1;return;case 27:case 3:Ar=!0;return;default:pi=pi.return}}function kn(d){if(!Ci||d!==pi)return!1;if(!xn)return ln(d),xn=!0,!1;var p=d.tag;if(ni?p!==3&&p!==27&&(p!==5||Vy(d.type)&&!$u(d.type,d.memoizedProps))&&Es&&dt(d):p!==3&&(p!==5||Vy(d.type)&&!$u(d.type,d.memoizedProps))&&Es&&dt(d),ln(d),p===13){if(!Ci)throw Error(i(316));if(d=d.memoizedState,d=d!==null?d.dehydrated:null,!d)throw Error(i(317));Es=zx(d)}else if(p===31){if(d=d.memoizedState,d=d!==null?d.dehydrated:null,!d)throw Error(i(317));Es=Ux(d)}else Es=ni&&p===27?Ex(d.type,Es):pi?Gy(d.stateNode):null;return!0}function an(){Ci&&(Es=pi=null,xn=!1)}function on(){var d=Vo;return d!==null&&(zi===null?zi=d:zi.push.apply(zi,d),Vo=null),d}function fs(d){Vo===null?Vo=[d]:Vo.push(d)}function We(d,p,x){to?(k(td,p._currentValue),p._currentValue=x):(k(td,p._currentValue2),p._currentValue2=x)}function nt(d){var p=td.current;to?d._currentValue=p:d._currentValue2=p,v(td)}function yt(d,p,x){for(;d!==null;){var R=d.alternate;if((d.childLanes&p)!==p?(d.childLanes|=p,R!==null&&(R.childLanes|=p)):R!==null&&(R.childLanes&p)!==p&&(R.childLanes|=p),d===x)break;d=d.return}}function pt(d,p,x,R){var G=d.child;G!==null&&(G.return=d);for(;G!==null;){var Y=G.dependencies;if(Y!==null){var re=G.child;Y=Y.firstContext;e:for(;Y!==null;){var je=Y;Y=G;for(var Ge=0;Ge<p.length;Ge++)if(je.context===p[Ge]){Y.lanes|=x,je=Y.alternate,je!==null&&(je.lanes|=x),yt(Y.return,x,d),R||(re=null);break e}Y=je.next}}else if(G.tag===18){if(re=G.return,re===null)throw Error(i(341));re.lanes|=x,Y=re.alternate,Y!==null&&(Y.lanes|=x),yt(re,x,d),re=null}else re=G.child;if(re!==null)re.return=G;else for(re=G;re!==null;){if(re===d){re=null;break}if(G=re.sibling,G!==null){G.return=re.return,re=G;break}re=re.return}G=re}}function zt(d,p,x,R){d=null;for(var G=p,Y=!1;G!==null;){if(!Y){if((G.flags&524288)!==0)Y=!0;else if((G.flags&262144)!==0)break}if(G.tag===10){var re=G.alternate;if(re===null)throw Error(i(387));if(re=re.memoizedProps,re!==null){var je=G.type;or(G.pendingProps.value,re.value)||(d!==null?d.push(je):d=[je])}}else if(G===ed.current){if(re=G.alternate,re===null)throw Error(i(387));re.memoizedState.memoizedState!==G.memoizedState.memoizedState&&(d!==null?d.push(ql):d=[ql])}G=G.return}d!==null&&pt(p,d,x,R),p.flags|=262144}function sn(d){for(d=d.firstContext;d!==null;){var p=d.context;if(!or(to?p._currentValue:p._currentValue2,d.memoizedValue))return!0;d=d.next}return!1}function un(d){Ml=d,io=null,d=d.dependencies,d!==null&&(d.firstContext=null)}function Kt(d){return hs(Ml,d)}function Pn(d,p){return Ml===null&&un(d),hs(d,p)}function hs(d,p){var x=to?p._currentValue:p._currentValue2;if(p={context:p,memoizedValue:x,next:null},io===null){if(d===null)throw Error(i(308));io=p,d.dependencies={lanes:0,firstContext:p},d.flags|=524288}else io=io.next=p;return x}function Gn(){return{controller:new wA,data:new Map,refCount:0}}function qt(d){d.refCount--,d.refCount===0&&yA(vA,function(){d.controller.abort()})}function ei(){}function An(d){d!==Cc&&d.next===null&&(Cc===null?nd=Cc=d:Cc=Cc.next=d),sd=!0,Yp||(Yp=!0,Zi())}function os(d,p){if(!Qp&&sd){Qp=!0;do{var x=!1;for(var R=nd;R!==null;){if(!p)if(d!==0){var G=R.pendingLanes;if(G===0)var Y=0;else{var re=R.suspendedLanes,je=R.pingedLanes;Y=(1<<31-rr(42|d)+1)-1,Y&=G&~(re&~je),Y=Y&201326741?Y&201326741|1:Y?Y|2:0}Y!==0&&(x=!0,Ji(R,Y))}else Y=vn,Y=P(R,R===ns?Y:0,R.cancelPendingCommit!==null||R.timeoutHandle!==Dl),(Y&3)===0||U(R,Y)||(x=!0,Ji(R,Y));R=R.next}}while(x);Qp=!1}}function us(){Gs()}function Gs(){sd=Yp=!1;var d=0;Fl!==0&&Gk()&&(d=Fl);for(var p=Hi(),x=null,R=nd;R!==null;){var G=R.next,Y=Sr(R,p);if(Y===0)R.next=null,x===null?nd=G:x.next=G,G===null&&(Cc=x);else if(x=R,d!==0||(Y&3)!==0)sd=!0;R=G}si!==0&&si!==5||os(d,!1),Fl!==0&&(Fl=0)}function Sr(d,p){for(var{suspendedLanes:x,pingedLanes:R,expirationTimes:G}=d,Y=d.pendingLanes&-62914561;0<Y;){var re=31-rr(Y),je=1<<re,Ge=G[re];if(Ge===-1){if((je&x)===0||(je&R)!==0)G[re]=z(je,p)}else Ge<=p&&(d.expiredLanes|=je);Y&=~je}if(p=ns,x=vn,x=P(d,d===p?x:0,d.cancelPendingCommit!==null||d.timeoutHandle!==Dl),R=d.callbackNode,x===0||d===p&&(Hn===2||Hn===9)||d.cancelPendingCommit!==null)return R!==null&&R!==null&&zp(R),d.callbackNode=null,d.callbackPriority=0;if((x&3)===0||U(d,x)){if(p=x&-x,p===d.callbackPriority)return p;switch(R!==null&&zp(R),oe(x)){case 2:case 8:x=dA;break;case 32:x=Gp;break;case 268435456:x=mA;break;default:x=Gp}return R=Xa.bind(null,d),x=Ju(x,R),d.callbackPriority=p,d.callbackNode=x,p}return R!==null&&R!==null&&zp(R),d.callbackPriority=2,d.callbackNode=null,2}function Xa(d,p){if(si!==0&&si!==5)return d.callbackNode=null,d.callbackPriority=0,null;var x=d.callbackNode;if(Of()&&d.callbackNode!==x)return null;var R=vn;if(R=P(d,d===ns?R:0,d.cancelPendingCommit!==null||d.timeoutHandle!==Dl),R===0)return null;return ny(d,R,p),Sr(d,Hi()),d.callbackNode!=null&&d.callbackNode===x?Xa.bind(null,d):null}function Ji(d,p){if(Of())return null;ny(d,p,!0)}function Zi(){Qk?Jk(function(){(pn&6)!==0?Ju(n5,us):Gs()}):Ju(n5,us)}function _o(){if(Fl===0){var d=jc;d===0&&(d=Xu,Xu<<=1,(Xu&261888)===0&&(Xu=256)),Fl=d}return Fl}function El(d,p){if(Wf===null){var x=Wf=[];Jp=0,jc=_o(),_c={status:"pending",value:void 0,then:function(R){x.push(R)}}}return Jp++,p.then(tr,tr),p}function tr(){if(--Jp===0&&Wf!==null){_c!==null&&(_c.status="fulfilled");var d=Wf;Wf=null,jc=0,_c=null;for(var p=0;p<d.length;p++)(0,d[p])()}}function Wa(d,p){var x=[],R={status:"pending",value:null,reason:null,then:function(G){x.push(G)}};return d.then(function(){R.status="fulfilled",R.value=p;for(var G=0;G<x.length;G++)(0,x[G])(p)},function(G){R.status="rejected",R.reason=G;for(G=0;G<x.length;G++)(0,x[G])(void 0)}),R}function ua(){var d=Ll.current;return d!==null?d:ns.pooledCache}function Ka(d,p){p===null?k(Ll,Ll.current):k(Ll,p.pool)}function ma(){var d=ua();return d===null?null:{parent:to?Cs._currentValue:Cs._currentValue2,pool:d}}function Io(d,p){if(or(d,p))return!0;if(typeof d!=="object"||d===null||typeof p!=="object"||p===null)return!1;var x=Object.keys(d),R=Object.keys(p);if(x.length!==R.length)return!1;for(R=0;R<x.length;R++){var G=x[R];if(!bA.call(p,G)||!or(d[G],p[G]))return!1}return!0}function pa(d){return d=d.status,d==="fulfilled"||d==="rejected"}function Ro(d,p,x){switch(x=d[x],x===void 0?d.push(p):x!==p&&(p.then(ei,ei),p=x),p.status){case"fulfilled":return p.value;case"rejected":throw d=p.reason,Je(d),d;default:if(typeof p.status==="string")p.then(ei,ei);else{if(d=ns,d!==null&&100<d.shellSuspendCounter)throw Error(i(482));d=p,d.status="pending",d.then(function(R){if(p.status==="pending"){var G=p;G.status="fulfilled",G.value=R}},function(R){if(p.status==="pending"){var G=p;G.status="rejected",G.reason=R}})}switch(p.status){case"fulfilled":return p.value;case"rejected":throw d=p.reason,Je(d),d}throw Ol=p,Ic}}function nr(d){try{var p=d._init;return p(d._payload)}catch(x){if(x!==null&&typeof x==="object"&&typeof x.then==="function")throw Ol=x,Ic;throw x}}function Do(){if(Ol===null)throw Error(i(459));var d=Ol;return Ol=null,d}function Je(d){if(d===Ic||d===id)throw Error(i(483))}function cn(d){var p=Kf;return Kf+=1,Rc===null&&(Rc=[]),Ro(Rc,d,p)}function Xt(d,p){p=p.props.ref,d.ref=p!==void 0?p:null}function ls(d,p){if(p.$$typeof===_k)throw Error(i(525));throw d=Object.prototype.toString.call(p),Error(i(31,d==="[object Object]"?"object with keys {"+Object.keys(p).join(", ")+"}":d))}function ti(d){function p(He,Oe){if(d){var ze=He.deletions;ze===null?(He.deletions=[Oe],He.flags|=16):ze.push(Oe)}}function x(He,Oe){if(!d)return null;for(;Oe!==null;)p(He,Oe),Oe=Oe.sibling;return null}function R(He){for(var Oe=new Map;He!==null;)He.key!==null?Oe.set(He.key,He):Oe.set(He.index,He),He=He.sibling;return Oe}function G(He,Oe){return He=eo(He,Oe),He.index=0,He.sibling=null,He}function Y(He,Oe,ze){if(He.index=ze,!d)return He.flags|=1048576,Oe;if(ze=He.alternate,ze!==null)return ze=ze.index,ze<Oe?(He.flags|=67108866,Oe):ze;return He.flags|=67108866,Oe}function re(He){return d&&He.alternate===null&&(He.flags|=67108866),He}function je(He,Oe,ze,at){if(Oe===null||Oe.tag!==6)return Oe=Ep(ze,He.mode,at),Oe.return=He,Oe;return Oe=G(Oe,ze),Oe.return=He,Oe}function Ge(He,Oe,ze,at){var Bt=ze.type;if(Bt===vc)return bt(He,Oe,ze.props.children,at,ze.key);if(Oe!==null&&(Oe.elementType===Bt||typeof Bt==="object"&&Bt!==null&&Bt.$$typeof===Ho&&nr(Bt)===Oe.type))return Oe=G(Oe,ze.props),Xt(Oe,ze),Oe.return=He,Oe;return Oe=zu(ze.type,ze.key,ze.props,null,He.mode,at),Xt(Oe,ze),Oe.return=He,Oe}function et(He,Oe,ze,at){if(Oe===null||Oe.tag!==4||Oe.stateNode.containerInfo!==ze.containerInfo||Oe.stateNode.implementation!==ze.implementation)return Oe=Cp(ze,He.mode,at),Oe.return=He,Oe;return Oe=G(Oe,ze.children||[]),Oe.return=He,Oe}function bt(He,Oe,ze,at,Bt){if(Oe===null||Oe.tag!==7)return Oe=Rl(ze,He.mode,at,Bt),Oe.return=He,Oe;return Oe=G(Oe,ze),Oe.return=He,Oe}function rt(He,Oe,ze){if(typeof Oe==="string"&&Oe!==""||typeof Oe==="number"||typeof Oe==="bigint")return Oe=Ep(""+Oe,He.mode,ze),Oe.return=He,Oe;if(typeof Oe==="object"&&Oe!==null){switch(Oe.$$typeof){case Gu:return ze=zu(Oe.type,Oe.key,Oe.props,null,He.mode,ze),Xt(ze,Oe),ze.return=He,ze;case yc:return Oe=Cp(Oe,He.mode,ze),Oe.return=He,Oe;case Ho:return Oe=nr(Oe),rt(He,Oe,ze)}if(Vu(Oe)||m(Oe))return Oe=Rl(Oe,He.mode,ze,null),Oe.return=He,Oe;if(typeof Oe.then==="function")return rt(He,cn(Oe),ze);if(Oe.$$typeof===Bo)return rt(He,Pn(He,Oe),ze);ls(He,Oe)}return null}function jt(He,Oe,ze,at){var Bt=Oe!==null?Oe.key:null;if(typeof ze==="string"&&ze!==""||typeof ze==="number"||typeof ze==="bigint")return Bt!==null?null:je(He,Oe,""+ze,at);if(typeof ze==="object"&&ze!==null){switch(ze.$$typeof){case Gu:return ze.key===Bt?Ge(He,Oe,ze,at):null;case yc:return ze.key===Bt?et(He,Oe,ze,at):null;case Ho:return ze=nr(ze),jt(He,Oe,ze,at)}if(Vu(ze)||m(ze))return Bt!==null?null:bt(He,Oe,ze,at,null);if(typeof ze.then==="function")return jt(He,Oe,cn(ze),at);if(ze.$$typeof===Bo)return jt(He,Oe,Pn(He,ze),at);ls(He,ze)}return null}function en(He,Oe,ze,at,Bt){if(typeof at==="string"&&at!==""||typeof at==="number"||typeof at==="bigint")return He=He.get(ze)||null,je(Oe,He,""+at,Bt);if(typeof at==="object"&&at!==null){switch(at.$$typeof){case Gu:return He=He.get(at.key===null?ze:at.key)||null,Ge(Oe,He,at,Bt);case yc:return He=He.get(at.key===null?ze:at.key)||null,et(Oe,He,at,Bt);case Ho:return at=nr(at),en(He,Oe,ze,at,Bt)}if(Vu(at)||m(at))return He=He.get(ze)||null,bt(Oe,He,at,Bt,null);if(typeof at.then==="function")return en(He,Oe,ze,cn(at),Bt);if(at.$$typeof===Bo)return en(He,Oe,ze,Pn(Oe,at),Bt);ls(Oe,at)}return null}function gi(He,Oe,ze,at){for(var Bt=null,js=null,Gt=Oe,Dn=Oe=0,li=null;Gt!==null&&Dn<ze.length;Dn++){Gt.index>Dn?(li=Gt,Gt=null):li=Gt.sibling;var qn=jt(He,Gt,ze[Dn],at);if(qn===null){Gt===null&&(Gt=li);break}d&&Gt&&qn.alternate===null&&p(He,Gt),Oe=Y(qn,Oe,Dn),js===null?Bt=qn:js.sibling=qn,js=qn,Gt=li}if(Dn===ze.length)return x(He,Gt),xn&&qe(He,Dn),Bt;if(Gt===null){for(;Dn<ze.length;Dn++)Gt=rt(He,ze[Dn],at),Gt!==null&&(Oe=Y(Gt,Oe,Dn),js===null?Bt=Gt:js.sibling=Gt,js=Gt);return xn&&qe(He,Dn),Bt}for(Gt=R(Gt);Dn<ze.length;Dn++)li=en(Gt,He,Dn,ze[Dn],at),li!==null&&(d&&li.alternate!==null&&Gt.delete(li.key===null?Dn:li.key),Oe=Y(li,Oe,Dn),js===null?Bt=li:js.sibling=li,js=li);return d&&Gt.forEach(function(Jo){return p(He,Jo)}),xn&&qe(He,Dn),Bt}function sh(He,Oe,ze,at){if(ze==null)throw Error(i(151));for(var Bt=null,js=null,Gt=Oe,Dn=Oe=0,li=null,qn=ze.next();Gt!==null&&!qn.done;Dn++,qn=ze.next()){Gt.index>Dn?(li=Gt,Gt=null):li=Gt.sibling;var Jo=jt(He,Gt,qn.value,at);if(Jo===null){Gt===null&&(Gt=li);break}d&&Gt&&Jo.alternate===null&&p(He,Gt),Oe=Y(Jo,Oe,Dn),js===null?Bt=Jo:js.sibling=Jo,js=Jo,Gt=li}if(qn.done)return x(He,Gt),xn&&qe(He,Dn),Bt;if(Gt===null){for(;!qn.done;Dn++,qn=ze.next())qn=rt(He,qn.value,at),qn!==null&&(Oe=Y(qn,Oe,Dn),js===null?Bt=qn:js.sibling=qn,js=qn);return xn&&qe(He,Dn),Bt}for(Gt=R(Gt);!qn.done;Dn++,qn=ze.next())qn=en(Gt,He,Dn,qn.value,at),qn!==null&&(d&&qn.alternate!==null&&Gt.delete(qn.key===null?Dn:qn.key),Oe=Y(qn,Oe,Dn),js===null?Bt=qn:js.sibling=qn,js=qn);return d&&Gt.forEach(function(AA){return p(He,AA)}),xn&&qe(He,Dn),Bt}function zl(He,Oe,ze,at){if(typeof ze==="object"&&ze!==null&&ze.type===vc&&ze.key===null&&(ze=ze.props.children),typeof ze==="object"&&ze!==null){switch(ze.$$typeof){case Gu:e:{for(var Bt=ze.key;Oe!==null;){if(Oe.key===Bt){if(Bt=ze.type,Bt===vc){if(Oe.tag===7){x(He,Oe.sibling),at=G(Oe,ze.props.children),at.return=He,He=at;break e}}else if(Oe.elementType===Bt||typeof Bt==="object"&&Bt!==null&&Bt.$$typeof===Ho&&nr(Bt)===Oe.type){x(He,Oe.sibling),at=G(Oe,ze.props),Xt(at,ze),at.return=He,He=at;break e}x(He,Oe);break}else p(He,Oe);Oe=Oe.sibling}ze.type===vc?(at=Rl(ze.props.children,He.mode,at,ze.key),at.return=He,He=at):(at=zu(ze.type,ze.key,ze.props,null,He.mode,at),Xt(at,ze),at.return=He,He=at)}return re(He);case yc:e:{for(Bt=ze.key;Oe!==null;){if(Oe.key===Bt)if(Oe.tag===4&&Oe.stateNode.containerInfo===ze.containerInfo&&Oe.stateNode.implementation===ze.implementation){x(He,Oe.sibling),at=G(Oe,ze.children||[]),at.return=He,He=at;break e}else{x(He,Oe);break}else p(He,Oe);Oe=Oe.sibling}at=Cp(ze,He.mode,at),at.return=He,He=at}return re(He);case Ho:return ze=nr(ze),zl(He,Oe,ze,at)}if(Vu(ze))return gi(He,Oe,ze,at);if(m(ze)){if(Bt=m(ze),typeof Bt!=="function")throw Error(i(150));return ze=Bt.call(ze),sh(He,Oe,ze,at)}if(typeof ze.then==="function")return zl(He,Oe,cn(ze),at);if(ze.$$typeof===Bo)return zl(He,Oe,Pn(He,ze),at);ls(He,ze)}return typeof ze==="string"&&ze!==""||typeof ze==="number"||typeof ze==="bigint"?(ze=""+ze,Oe!==null&&Oe.tag===6?(x(He,Oe.sibling),at=G(Oe,ze),at.return=He,He=at):(x(He,Oe),at=Ep(ze,He.mode,at),at.return=He,He=at),re(He)):x(He,Oe)}return function(He,Oe,ze,at){try{Kf=0;var Bt=zl(He,Oe,ze,at);return Rc=null,Bt}catch(Gt){if(Gt===Ic||Gt===id)throw Gt;var js=n(29,Gt,null,He.mode);return js.lanes=at,js.return=He,js}finally{}}}function Gr(){for(var d=Mc,p=eg=Mc=0;p<d;){var x=Tr[p];Tr[p++]=null;var R=Tr[p];Tr[p++]=null;var G=Tr[p];Tr[p++]=null;var Y=Tr[p];if(Tr[p++]=null,R!==null&&G!==null){var re=R.pending;re===null?G.next=G:(G.next=re.next,re.next=G),R.pending=G}Y!==0&&Yt(x,G,Y)}}function Ue(d,p,x,R){Tr[Mc++]=d,Tr[Mc++]=p,Tr[Mc++]=x,Tr[Mc++]=R,eg|=R,d.lanes|=R,d=d.alternate,d!==null&&(d.lanes|=R)}function ot(d,p,x,R){return Ue(d,p,x,R),Tn(d)}function Et(d,p){return Ue(d,null,null,p),Tn(d)}function Yt(d,p,x){d.lanes|=x;var R=d.alternate;R!==null&&(R.lanes|=x);for(var G=!1,Y=d.return;Y!==null;)Y.childLanes|=x,R=Y.alternate,R!==null&&(R.childLanes|=x),Y.tag===22&&(d=Y.stateNode,d===null||d._visibility&1||(G=!0)),d=Y,Y=Y.return;return d.tag===3?(Y=d.stateNode,G&&p!==null&&(G=31-rr(x),d=Y.hiddenUpdates,R=d[G],R===null?d[G]=[p]:R.push(p),p.lane=x|536870912),Y):null}function Tn(d){if(50<nh)throw nh=0,ug=null,Error(i(185));for(var p=d.return;p!==null;)d=p,p=d.return;return d.tag===3?d.stateNode:null}function fn(d){d.updateQueue={baseState:d.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function ys(d,p){d=d.updateQueue,p.updateQueue===d&&(p.updateQueue={baseState:d.baseState,firstBaseUpdate:d.firstBaseUpdate,lastBaseUpdate:d.lastBaseUpdate,shared:d.shared,callbacks:null})}function Fn(d){return{lane:d,tag:0,payload:null,callback:null,next:null}}function Bn(d,p,x){var R=d.updateQueue;if(R===null)return null;if(R=R.shared,(pn&2)!==0){var G=R.pending;return G===null?p.next=p:(p.next=G.next,G.next=p),R.pending=p,p=Tn(d),Yt(d,null,x),p}return Ue(d,R,p,x),Tn(d)}function Xn(d,p,x){if(p=p.updateQueue,p!==null&&(p=p.shared,(x&4194048)!==0)){var R=p.lanes;R&=d.pendingLanes,x|=R,p.lanes=x,ne(d,x)}}function Ps(d,p){var x=d.updateQueue,R=d.alternate;if(R!==null&&(R=R.updateQueue,x===R)){var G=null,Y=null;if(x=x.firstBaseUpdate,x!==null){do{var re={lane:x.lane,tag:x.tag,payload:x.payload,callback:null,next:null};Y===null?G=Y=re:Y=Y.next=re,x=x.next}while(x!==null);Y===null?G=Y=p:Y=Y.next=p}else G=Y=p;x={baseState:R.baseState,firstBaseUpdate:G,lastBaseUpdate:Y,shared:R.shared,callbacks:R.callbacks},d.updateQueue=x;return}d=x.lastBaseUpdate,d===null?x.firstBaseUpdate=p:d.next=p,x.lastBaseUpdate=p}function Zn(){if(tg){var d=_c;if(d!==null)throw d}}function ji(d,p,x,R){tg=!1;var G=d.updateQueue;$o=!1;var{firstBaseUpdate:Y,lastBaseUpdate:re}=G,je=G.shared.pending;if(je!==null){G.shared.pending=null;var Ge=je,et=Ge.next;Ge.next=null,re===null?Y=et:re.next=et,re=Ge;var bt=d.alternate;bt!==null&&(bt=bt.updateQueue,je=bt.lastBaseUpdate,je!==re&&(je===null?bt.firstBaseUpdate=et:je.next=et,bt.lastBaseUpdate=Ge))}if(Y!==null){var rt=G.baseState;re=0,bt=et=Ge=null,je=Y;do{var jt=je.lane&-536870913,en=jt!==je.lane;if(en?(vn&jt)===jt:(R&jt)===jt){jt!==0&&jt===jc&&(tg=!0),bt!==null&&(bt=bt.next={lane:0,tag:je.tag,payload:je.payload,callback:null,next:null});e:{var gi=d,sh=je;jt=p;var zl=x;switch(sh.tag){case 1:if(gi=sh.payload,typeof gi==="function"){rt=gi.call(zl,rt,jt);break e}rt=gi;break e;case 3:gi.flags=gi.flags&-65537|128;case 0:if(gi=sh.payload,jt=typeof gi==="function"?gi.call(zl,rt,jt):gi,jt===null||jt===void 0)break e;rt=_p({},rt,jt);break e;case 2:$o=!0}}jt=je.callback,jt!==null&&(d.flags|=64,en&&(d.flags|=8192),en=G.callbacks,en===null?G.callbacks=[jt]:en.push(jt))}else en={lane:jt,tag:je.tag,payload:je.payload,callback:je.callback,next:null},bt===null?(et=bt=en,Ge=rt):bt=bt.next=en,re|=jt;if(je=je.next,je===null)if(je=G.shared.pending,je===null)break;else en=je,je=en.next,en.next=null,G.lastBaseUpdate=en,G.shared.pending=null}while(1);bt===null&&(Ge=rt),G.baseState=Ge,G.firstBaseUpdate=et,G.lastBaseUpdate=bt,Y===null&&(G.shared.lanes=0),Ko|=re,d.lanes=re,d.memoizedState=rt}}function Vr(d,p){if(typeof d!=="function")throw Error(i(191,d));d.call(p)}function Tf(d,p){var x=d.callbacks;if(x!==null)for(d.callbacks=null,d=0;d<x.length;d++)Vr(x[d],p)}function Ef(d,p){d=lo,k(ad,d),k(Lc,p),lo=d|p.baseLanes}function Bs(){k(ad,lo),k(Lc,Lc.current)}function _i(){lo=ad.current,v(Lc),v(ad)}function Ss(d){var p=d.alternate;k(Us,Us.current&1),k(lr,d),Er===null&&(p===null||Lc.current!==null?Er=d:p.memoizedState!==null&&(Er=d))}function mc(d){k(Us,Us.current),k(lr,d),Er===null&&(Er=d)}function qo(d){d.tag===22?(k(Us,Us.current),k(lr,d),Er===null&&(Er=d)):Fo(d)}function Fo(){k(Us,Us.current),k(lr,lr.current)}function sr(d){v(lr),Er===d&&(Er=null),v(Us)}function xu(d){for(var p=d;p!==null;){if(p.tag===13){var x=p.memoizedState;if(x!==null&&(x=x.dehydrated,x===null||Pp(x)||Bp(x)))return p}else if(p.tag===19&&(p.memoizedProps.revealOrder==="forwards"||p.memoizedProps.revealOrder==="backwards"||p.memoizedProps.revealOrder==="unstable_legacy-backwards"||p.memoizedProps.revealOrder==="together")){if((p.flags&128)!==0)return p}else if(p.child!==null){p.child.return=p,p=p.child;continue}if(p===d)break;for(;p.sibling===null;){if(p.return===null||p.return===d)return null;p=p.return}p.sibling.return=p.return,p=p.sibling}return null}function qs(){throw Error(i(321))}function Om(d,p){if(p===null)return!1;for(var x=0;x<p.length&&x<d.length;x++)if(!or(d[x],p[x]))return!1;return!0}function Pm(d,p,x,R,G,Y){return ro=Y,rn=p,p.memoizedState=null,p.updateQueue=null,p.lanes=0,Nt.H=d===null||d.memoizedState===null?l5:ng,Bl=!1,Y=x(R,G),Bl=!1,Pc&&(Y=q2(p,x,R,G)),D2(d),Y}function D2(d){Nt.H=Jf;var p=Wn!==null&&Wn.next!==null;if(ro=0,$s=Wn=rn=null,od=!1,Qf=0,Nc=null,p)throw Error(i(300));d===null||Xs||(d=d.dependencies,d!==null&&sn(d)&&(Xs=!0))}function q2(d,p,x,R){rn=d;var G=0;do{if(Pc&&(Nc=null),Qf=0,Pc=!1,25<=G)throw Error(i(301));if(G+=1,$s=Wn=null,d.updateQueue!=null){var Y=d.updateQueue;Y.lastEffect=null,Y.events=null,Y.stores=null,Y.memoCache!=null&&(Y.memoCache.index=0)}Nt.H=c5,Y=p(x,R)}while(Pc);return Y}function ak(){var d=Nt.H,p=d.useState()[0];return p=typeof p.then==="function"?Cf(p):p,d=d.useState()[0],(Wn!==null?Wn.memoizedState:null)!==d&&(rn.flags|=1024),p}function Nm(){var d=cd!==0;return cd=0,d}function Bm(d,p,x){p.updateQueue=d.updateQueue,p.flags&=-2053,d.lanes&=~x}function Hm(d){if(od){for(d=d.memoizedState;d!==null;){var p=d.queue;p!==null&&(p.pending=null),d=d.next}od=!1}ro=0,$s=Wn=rn=null,Pc=!1,Qf=cd=0,Nc=null}function Ii(){var d={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return $s===null?rn.memoizedState=$s=d:$s=$s.next=d,$s}function Hs(){if(Wn===null){var d=rn.alternate;d=d!==null?d.memoizedState:null}else d=Wn.next;var p=$s===null?rn.memoizedState:$s.next;if(p!==null)$s=p,Wn=d;else{if(d===null){if(rn.alternate===null)throw Error(i(467));throw Error(i(310))}Wn=d,d={memoizedState:Wn.memoizedState,baseState:Wn.baseState,baseQueue:Wn.baseQueue,queue:Wn.queue,next:null},$s===null?rn.memoizedState=$s=d:$s=$s.next=d}return $s}function Au(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function Cf(d){var p=Qf;return Qf+=1,Nc===null&&(Nc=[]),d=Ro(Nc,d,p),p=rn,($s===null?p.memoizedState:$s.next)===null&&(p=p.alternate,Nt.H=p===null||p.memoizedState===null?l5:ng),d}function Tu(d){if(d!==null&&typeof d==="object"){if(typeof d.then==="function")return Cf(d);if(d.$$typeof===Bo)return Kt(d)}throw Error(i(438,String(d)))}function Um(d){var p=null,x=rn.updateQueue;if(x!==null&&(p=x.memoCache),p==null){var R=rn.alternate;R!==null&&(R=R.updateQueue,R!==null&&(R=R.memoCache,R!=null&&(p={data:R.data.map(function(G){return G.slice()}),index:0})))}if(p==null&&(p={data:[],index:0}),x===null&&(x=Au(),rn.updateQueue=x),x.memoCache=p,x=p.data[p.index],x===void 0)for(x=p.data[p.index]=Array(d),R=0;R<d;R++)x[R]=Ik;return p.index++,x}function Ya(d,p){return typeof p==="function"?p(d):p}function Eu(d){var p=Hs();return zm(p,Wn,d)}function zm(d,p,x){var R=d.queue;if(R===null)throw Error(i(311));R.lastRenderedReducer=x;var G=d.baseQueue,Y=R.pending;if(Y!==null){if(G!==null){var re=G.next;G.next=Y.next,Y.next=re}p.baseQueue=G=Y,R.pending=null}if(Y=d.baseState,G===null)d.memoizedState=Y;else{p=G.next;var je=re=null,Ge=null,et=p,bt=!1;do{var rt=et.lane&-536870913;if(rt!==et.lane?(vn&rt)===rt:(ro&rt)===rt){var jt=et.revertLane;if(jt===0)Ge!==null&&(Ge=Ge.next={lane:0,revertLane:0,gesture:null,action:et.action,hasEagerState:et.hasEagerState,eagerState:et.eagerState,next:null}),rt===jc&&(bt=!0);else if((ro&jt)===jt){et=et.next,jt===jc&&(bt=!0);continue}else rt={lane:0,revertLane:et.revertLane,gesture:null,action:et.action,hasEagerState:et.hasEagerState,eagerState:et.eagerState,next:null},Ge===null?(je=Ge=rt,re=Y):Ge=Ge.next=rt,rn.lanes|=jt,Ko|=jt;rt=et.action,Bl&&x(Y,rt),Y=et.hasEagerState?et.eagerState:x(Y,rt)}else jt={lane:rt,revertLane:et.revertLane,gesture:et.gesture,action:et.action,hasEagerState:et.hasEagerState,eagerState:et.eagerState,next:null},Ge===null?(je=Ge=jt,re=Y):Ge=Ge.next=jt,rn.lanes|=rt,Ko|=rt;et=et.next}while(et!==null&&et!==p);if(Ge===null?re=Y:Ge.next=je,!or(Y,d.memoizedState)&&(Xs=!0,bt&&(x=_c,x!==null)))throw x;d.memoizedState=Y,d.baseState=re,d.baseQueue=Ge,R.lastRenderedState=Y}return G===null&&(R.lanes=0),[d.memoizedState,R.dispatch]}function Gm(d){var p=Hs(),x=p.queue;if(x===null)throw Error(i(311));x.lastRenderedReducer=d;var{dispatch:R,pending:G}=x,Y=p.memoizedState;if(G!==null){x.pending=null;var re=G=G.next;do Y=d(Y,re.action),re=re.next;while(re!==G);or(Y,p.memoizedState)||(Xs=!0),p.memoizedState=Y,p.baseQueue===null&&(p.baseState=Y),x.lastRenderedState=Y}return[Y,R]}function M2(d,p,x){var R=rn,G=Hs(),Y=xn;if(Y){if(x===void 0)throw Error(i(407));x=x()}else x=p();var re=!or((Wn||G).memoizedState,x);if(re&&(G.memoizedState=x,Xs=!0),G=G.queue,Xm(O2.bind(null,R,G,d),[d]),G.getSnapshot!==p||re||$s!==null&&$s.memoizedState.tag&1){if(R.flags|=2048,pc(9,{destroy:void 0},L2.bind(null,R,G,x,p),null),ns===null)throw Error(i(349));Y||(ro&127)!==0||F2(R,p,x)}return x}function F2(d,p,x){d.flags|=16384,d={getSnapshot:p,value:x},p=rn.updateQueue,p===null?(p=Au(),rn.updateQueue=p,p.stores=[d]):(x=p.stores,x===null?p.stores=[d]:x.push(d))}function L2(d,p,x,R){p.value=x,p.getSnapshot=R,P2(p)&&N2(d)}function O2(d,p,x){return x(function(){P2(p)&&N2(d)})}function P2(d){var p=d.getSnapshot;d=d.value;try{var x=p();return!or(d,x)}catch(R){return!0}}function N2(d){var p=Et(d,2);p!==null&&Bi(p,d,2)}function Vm(d){var p=Ii();if(typeof d==="function"){var x=d;if(d=x(),Bl){ye(!0);try{x()}finally{ye(!1)}}}return p.memoizedState=p.baseState=d,p.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ya,lastRenderedState:d},p}function B2(d,p,x,R){return d.baseState=x,zm(d,Wn,typeof R==="function"?R:Ya)}function ok(d,p,x,R,G){if(Ru(d))throw Error(i(485));if(d=p.action,d!==null){var Y={payload:G,action:d,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(re){Y.listeners.push(re)}};Nt.T!==null?x(!0):Y.isTransition=!1,R(Y),x=p.pending,x===null?(Y.next=p.pending=Y,H2(p,Y)):(Y.next=x.next,p.pending=x.next=Y)}}function H2(d,p){var{action:x,payload:R}=p,G=d.state;if(p.isTransition){var Y=Nt.T,re={};Nt.T=re;try{var je=x(G,R),Ge=Nt.S;Ge!==null&&Ge(re,je),U2(d,p,je)}catch(et){$m(d,p,et)}finally{Y!==null&&re.types!==null&&(Y.types=re.types),Nt.T=Y}}else try{Y=x(G,R),U2(d,p,Y)}catch(et){$m(d,p,et)}}function U2(d,p,x){x!==null&&typeof x==="object"&&typeof x.then==="function"?x.then(function(R){z2(d,p,R)},function(R){return $m(d,p,R)}):z2(d,p,x)}function z2(d,p,x){p.status="fulfilled",p.value=x,G2(p),d.state=x,p=d.pending,p!==null&&(x=p.next,x===p?d.pending=null:(x=x.next,p.next=x,H2(d,x)))}function $m(d,p,x){var R=d.pending;if(d.pending=null,R!==null){R=R.next;do p.status="rejected",p.reason=x,G2(p),p=p.next;while(p!==R)}d.action=null}function G2(d){d=d.listeners;for(var p=0;p<d.length;p++)(0,d[p])()}function V2(d,p){return p}function $2(d,p){if(xn){var x=ns.formState;if(x!==null){e:{var R=rn;if(xn){if(Es){var G=Ax(Es,Ar);if(G){Es=Gy(G),R=Tx(G);break e}}dt(R)}R=!1}R&&(p=x[0])}}x=Ii(),x.memoizedState=x.baseState=p,R={pending:null,lanes:0,dispatch:null,lastRenderedReducer:V2,lastRenderedState:p},x.queue=R,x=fw.bind(null,rn,R),R.dispatch=x,R=Vm(!1);var Y=Qm.bind(null,rn,!1,R.queue);return R=Ii(),G={state:p,dispatch:null,action:d,pending:null},R.queue=G,x=ok.bind(null,rn,G,Y,x),G.dispatch=x,R.memoizedState=d,[p,x,!1]}function X2(d){var p=Hs();return W2(p,Wn,d)}function W2(d,p,x){if(p=zm(d,p,V2)[0],d=Eu(Ya)[0],typeof p==="object"&&p!==null&&typeof p.then==="function")try{var R=Cf(p)}catch(re){if(re===Ic)throw id;throw re}else R=p;p=Hs();var G=p.queue,Y=G.dispatch;return x!==p.memoizedState&&(rn.flags|=2048,pc(9,{destroy:void 0},lk.bind(null,G,x),null)),[R,Y,d]}function lk(d,p){d.action=p}function K2(d){var p=Hs(),x=Wn;if(x!==null)return W2(p,x,d);Hs(),p=p.memoizedState,x=Hs();var R=x.queue.dispatch;return x.memoizedState=d,[p,R,!1]}function pc(d,p,x,R){return d={tag:d,create:x,deps:R,inst:p,next:null},p=rn.updateQueue,p===null&&(p=Au(),rn.updateQueue=p),x=p.lastEffect,x===null?p.lastEffect=d.next=d:(R=x.next,x.next=d,d.next=R,p.lastEffect=d),d}function Y2(){return Hs().memoizedState}function Cu(d,p,x,R){var G=Ii();rn.flags|=d,G.memoizedState=pc(1|p,{destroy:void 0},x,R===void 0?null:R)}function Iu(d,p,x,R){var G=Hs();R=R===void 0?null:R;var Y=G.memoizedState.inst;Wn!==null&&R!==null&&Om(R,Wn.memoizedState.deps)?G.memoizedState=pc(p,Y,x,R):(rn.flags|=d,G.memoizedState=pc(1|p,Y,x,R))}function Q2(d,p){Cu(8390656,8,d,p)}function Xm(d,p){Iu(2048,8,d,p)}function ck(d){rn.flags|=4;var p=rn.updateQueue;if(p===null)p=Au(),rn.updateQueue=p,p.events=[d];else{var x=p.events;x===null?p.events=[d]:x.push(d)}}function J2(d){var p=Hs().memoizedState;return ck({ref:p,nextImpl:d}),function(){if((pn&2)!==0)throw Error(i(440));return p.impl.apply(void 0,arguments)}}function Z2(d,p){return Iu(4,2,d,p)}function ew(d,p){return Iu(4,4,d,p)}function tw(d,p){if(typeof p==="function"){d=d();var x=p(d);return function(){typeof x==="function"?x():p(null)}}if(p!==null&&p!==void 0)return d=d(),p.current=d,function(){p.current=null}}function nw(d,p,x){x=x!==null&&x!==void 0?x.concat([d]):null,Iu(4,4,tw.bind(null,p,d),x)}function Wm(){}function sw(d,p){var x=Hs();p=p===void 0?null:p;var R=x.memoizedState;if(p!==null&&Om(p,R[1]))return R[0];return x.memoizedState=[d,p],d}function iw(d,p){var x=Hs();p=p===void 0?null:p;var R=x.memoizedState;if(p!==null&&Om(p,R[1]))return R[0];if(R=d(),Bl){ye(!0);try{d()}finally{ye(!1)}}return x.memoizedState=[R,p],R}function Km(d,p,x){if(x===void 0||(ro&1073741824)!==0&&(vn&261930)===0)return d.memoizedState=p;return d.memoizedState=x,d=ty(),rn.lanes|=d,Ko|=d,x}function rw(d,p,x,R){if(or(x,p))return x;if(Lc.current!==null)return d=Km(d,x,R),or(d,p)||(Xs=!0),d;if((ro&42)===0||(ro&1073741824)!==0&&(vn&261930)===0)return Xs=!0,d.memoizedState=x;return d=ty(),rn.lanes|=d,Ko|=d,p}function aw(d,p,x,R,G){var Y=so();ai(Y!==0&&8>Y?Y:8);var re=Nt.T,je={};Nt.T=je,Qm(d,!1,p,x);try{var Ge=G(),et=Nt.S;if(et!==null&&et(je,Ge),Ge!==null&&typeof Ge==="object"&&typeof Ge.then==="function"){var bt=Wa(Ge,R);_f(d,p,bt,ir(d))}else _f(d,p,R,ir(d))}catch(rt){_f(d,p,{then:function(){},status:"rejected",reason:rt},ir())}finally{ai(Y),re!==null&&je.types!==null&&(re.types=je.types),Nt.T=re}}function ow(d){var p=d.memoizedState;if(p!==null)return p;p={memoizedState:Sc,baseState:Sc,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ya,lastRenderedState:Sc},next:null};var x={};return p.next={memoizedState:x,baseState:x,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ya,lastRenderedState:x},next:null},d.memoizedState=p,d=d.alternate,d!==null&&(d.memoizedState=p),p}function Ym(){return Kt(ql)}function lw(){return Hs().memoizedState}function cw(){return Hs().memoizedState}function fk(d){for(var p=d.return;p!==null;){switch(p.tag){case 24:case 3:var x=ir();d=Fn(x);var R=Bn(p,d,x);R!==null&&(Bi(R,p,x),Xn(R,p,x)),p={cache:Gn()},d.payload=p;return}p=p.return}}function hk(d,p,x){var R=ir();x={lane:R,revertLane:0,gesture:null,action:x,hasEagerState:!1,eagerState:null,next:null},Ru(d)?hw(p,x):(x=ot(d,p,x,R),x!==null&&(Bi(x,d,R),uw(x,p,R)))}function fw(d,p,x){var R=ir();_f(d,p,x,R)}function _f(d,p,x,R){var G={lane:R,revertLane:0,gesture:null,action:x,hasEagerState:!1,eagerState:null,next:null};if(Ru(d))hw(p,G);else{var Y=d.alternate;if(d.lanes===0&&(Y===null||Y.lanes===0)&&(Y=p.lastRenderedReducer,Y!==null))try{var re=p.lastRenderedState,je=Y(re,x);if(G.hasEagerState=!0,G.eagerState=je,or(je,re))return Ue(d,p,G,0),ns===null&&Gr(),!1}catch(Ge){}finally{}if(x=ot(d,p,G,R),x!==null)return Bi(x,d,R),uw(x,p,R),!0}return!1}function Qm(d,p,x,R){if(R={lane:2,revertLane:_o(),gesture:null,action:R,hasEagerState:!1,eagerState:null,next:null},Ru(d)){if(p)throw Error(i(479))}else p=ot(d,x,R,2),p!==null&&Bi(p,d,2)}function Ru(d){var p=d.alternate;return d===rn||p!==null&&p===rn}function hw(d,p){Pc=od=!0;var x=d.pending;x===null?p.next=p:(p.next=x.next,x.next=p),d.pending=p}function uw(d,p,x){if((x&4194048)!==0){var R=p.lanes;R&=d.pendingLanes,x|=R,p.lanes=x,ne(d,x)}}function Jm(d,p,x,R){p=d.memoizedState,x=x(R,p),x=x===null||x===void 0?p:_p({},p,x),d.memoizedState=x,d.lanes===0&&(d.updateQueue.baseState=x)}function dw(d,p,x,R,G,Y,re){return d=d.stateNode,typeof d.shouldComponentUpdate==="function"?d.shouldComponentUpdate(R,Y,re):p.prototype&&p.prototype.isPureReactComponent?!Io(x,R)||!Io(G,Y):!0}function mw(d,p,x,R){d=p.state,typeof p.componentWillReceiveProps==="function"&&p.componentWillReceiveProps(x,R),typeof p.UNSAFE_componentWillReceiveProps==="function"&&p.UNSAFE_componentWillReceiveProps(x,R),p.state!==d&&sg.enqueueReplaceState(p,p.state,null)}function Cl(d,p){var x=p;if("ref"in p){x={};for(var R in p)R!=="ref"&&(x[R]=p[R])}if(d=d.defaultProps){x===p&&(x=_p({},x));for(var G in d)x[G]===void 0&&(x[G]=d[G])}return x}function Du(d,p){try{var x=d.onUncaughtError;x(p.value,{componentStack:p.stack})}catch(R){setTimeout(function(){throw R})}}function pw(d,p,x){try{var R=d.onCaughtError;R(x.value,{componentStack:x.stack,errorBoundary:p.tag===1?p.stateNode:null})}catch(G){setTimeout(function(){throw G})}}function Zm(d,p,x){return x=Fn(x),x.tag=3,x.payload={element:null},x.callback=function(){Du(d,p)},x}function gw(d){return d=Fn(d),d.tag=3,d}function bw(d,p,x,R){var G=x.type.getDerivedStateFromError;if(typeof G==="function"){var Y=R.value;d.payload=function(){return G(Y)},d.callback=function(){pw(p,x,R)}}var re=x.stateNode;re!==null&&typeof re.componentDidCatch==="function"&&(d.callback=function(){pw(p,x,R),typeof G!=="function"&&(Yo===null?Yo=new Set([this]):Yo.add(this));var je=R.stack;this.componentDidCatch(R.value,{componentStack:je!==null?je:""})})}function uk(d,p,x,R,G){if(x.flags|=32768,R!==null&&typeof R==="object"&&typeof R.then==="function"){if(p=x.alternate,p!==null&&zt(p,x,G,!0),x=lr.current,x!==null){switch(x.tag){case 31:case 13:return Er===null?Hu():x.alternate===null&&Ms===0&&(Ms=3),x.flags&=-257,x.flags|=65536,x.lanes=G,R===rd?x.flags|=16384:(p=x.updateQueue,p===null?x.updateQueue=new Set([R]):p.add(R),Ap(d,R,G)),!1;case 22:return x.flags|=65536,R===rd?x.flags|=16384:(p=x.updateQueue,p===null?(p={transitions:null,markerInstances:null,retryQueue:new Set([R])},x.updateQueue=p):(x=p.retryQueue,x===null?p.retryQueue=new Set([R]):x.add(R)),Ap(d,R,G)),!1}throw Error(i(435,x.tag))}return Ap(d,R,G),Hu(),!1}if(xn)return p=lr.current,p!==null?((p.flags&65536)===0&&(p.flags|=256),p.flags|=65536,p.lanes=G,R!==Xp&&(d=Error(i(422),{cause:R}),fs(we(d,x)))):(R!==Xp&&(p=Error(i(423),{cause:R}),fs(we(p,x))),d=d.current.alternate,d.flags|=65536,G&=-G,d.lanes|=G,R=we(R,x),G=Zm(d.stateNode,R,G),Ps(d,G),Ms!==4&&(Ms=2)),!1;var Y=Error(i(520),{cause:R});if(Y=we(Y,x),eh===null?eh=[Y]:eh.push(Y),Ms!==4&&(Ms=2),p===null)return!0;R=we(R,x),x=p;do{switch(x.tag){case 3:return x.flags|=65536,d=G&-G,x.lanes|=d,d=Zm(x.stateNode,R,d),Ps(x,d),!1;case 1:if(p=x.type,Y=x.stateNode,(x.flags&128)===0&&(typeof p.getDerivedStateFromError==="function"||Y!==null&&typeof Y.componentDidCatch==="function"&&(Yo===null||!Yo.has(Y))))return x.flags|=65536,G&=-G,x.lanes|=G,G=gw(G),bw(G,d,x,R),Ps(x,G),!1}x=x.return}while(x!==null);return!1}function di(d,p,x,R){p.child=d===null?o5(p,null,x,R):Pl(p,d.child,x,R)}function ww(d,p,x,R,G){x=x.render;var Y=p.ref;if("ref"in R){var re={};for(var je in R)je!=="ref"&&(re[je]=R[je])}else re=R;if(un(p),R=Pm(d,p,x,re,Y,G),je=Nm(),d!==null&&!Xs)return Bm(d,p,G),Qa(d,p,G);return xn&&je&&Fe(p),p.flags|=1,di(d,p,R,G),p.child}function yw(d,p,x,R,G){if(d===null){var Y=x.type;if(typeof Y==="function"&&!Tp(Y)&&Y.defaultProps===void 0&&x.compare===null)return p.tag=15,p.type=Y,vw(d,p,Y,R,G);return d=zu(x.type,null,R,p,p.mode,G),d.ref=p.ref,d.return=p,p.child=d}if(Y=d.child,!ap(d,G)){var re=Y.memoizedProps;if(x=x.compare,x=x!==null?x:Io,x(re,R)&&d.ref===p.ref)return Qa(d,p,G)}return p.flags|=1,d=eo(Y,R),d.ref=p.ref,d.return=p,p.child=d}function vw(d,p,x,R,G){if(d!==null){var Y=d.memoizedProps;if(Io(Y,R)&&d.ref===p.ref)if(Xs=!1,p.pendingProps=R=Y,ap(d,G))(d.flags&131072)!==0&&(Xs=!0);else return p.lanes=d.lanes,Qa(d,p,G)}return ep(d,p,x,R,G)}function Sw(d,p,x,R){var G=R.children,Y=d!==null?d.memoizedState:null;if(d===null&&p.stateNode===null&&(p.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),R.mode==="hidden"){if((p.flags&128)!==0){if(Y=Y!==null?Y.baseLanes|x:x,d!==null){R=p.child=d.child;for(G=0;R!==null;)G=G|R.lanes|R.childLanes,R=R.sibling;R=G&~Y}else R=0,p.child=null;return xw(d,p,Y,x,R)}if((x&536870912)!==0)p.memoizedState={baseLanes:0,cachePool:null},d!==null&&Ka(p,Y!==null?Y.cachePool:null),Y!==null?Ef(p,Y):Bs(),qo(p);else return R=p.lanes=536870912,xw(d,p,Y!==null?Y.baseLanes|x:x,x,R)}else Y!==null?(Ka(p,Y.cachePool),Ef(p,Y),Fo(p),p.memoizedState=null):(d!==null&&Ka(p,null),Bs(),Fo(p));return di(d,p,G,x),p.child}function If(d,p){return d!==null&&d.tag===22||p.stateNode!==null||(p.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),p.sibling}function xw(d,p,x,R,G){var Y=ua();return Y=Y===null?null:{parent:to?Cs._currentValue:Cs._currentValue2,pool:Y},p.memoizedState={baseLanes:x,cachePool:Y},d!==null&&Ka(p,null),Bs(),qo(p),d!==null&&zt(d,p,R,!0),p.childLanes=G,null}function qu(d,p){return p=Fu({mode:p.mode,children:p.children},d.mode),p.ref=d.ref,d.child=p,p.return=d,p}function Aw(d,p,x){return Pl(p,d.child,null,x),d=qu(p,p.pendingProps),d.flags|=2,sr(p),p.memoizedState=null,d}function dk(d,p,x){var R=p.pendingProps,G=(p.flags&128)!==0;if(p.flags&=-129,d===null){if(xn){if(R.mode==="hidden")return d=qu(p,R),p.lanes=536870912,If(null,d);if(mc(p),(d=Es)?(d=Fx(d,Ar),d!==null&&(p.memoizedState={dehydrated:d,treeContext:zo!==null?{id:wa,overflow:ya}:null,retryLane:536870912,hydrationErrors:null},x=Ay(d),x.return=p,p.child=x,pi=p,Es=null)):d=null,d===null)throw dt(p);return p.lanes=536870912,null}return qu(p,R)}var Y=d.memoizedState;if(Y!==null){var re=Y.dehydrated;if(mc(p),G)if(p.flags&256)p.flags&=-257,p=Aw(d,p,x);else if(p.memoizedState!==null)p.child=d.child,p.flags|=128,p=null;else throw Error(i(558));else if(Xs||zt(d,p,x,!1),G=(x&d.childLanes)!==0,Xs||G){if(R=ns,R!==null&&(re=ie(R,x),re!==0&&re!==Y.retryLane))throw Y.retryLane=re,Et(d,re),Bi(R,d,re),ig;Hu(),p=Aw(d,p,x)}else d=Y.treeContext,Ci&&(Es=_x(re),pi=p,xn=!0,Vo=null,Ar=!1,d!==null&&Xe(p,d)),p=qu(p,R),p.flags|=4096;return p}return d=eo(d.child,{mode:R.mode,children:R.children}),d.ref=p.ref,p.child=d,d.return=p,d}function Mu(d,p){var x=p.ref;if(x===null)d!==null&&d.ref!==null&&(p.flags|=4194816);else{if(typeof x!=="function"&&typeof x!=="object")throw Error(i(284));if(d===null||d.ref!==x)p.flags|=4194816}}function ep(d,p,x,R,G){if(un(p),x=Pm(d,p,x,R,void 0,G),R=Nm(),d!==null&&!Xs)return Bm(d,p,G),Qa(d,p,G);return xn&&R&&Fe(p),p.flags|=1,di(d,p,x,G),p.child}function Tw(d,p,x,R,G,Y){if(un(p),p.updateQueue=null,x=q2(p,R,x,G),D2(d),R=Nm(),d!==null&&!Xs)return Bm(d,p,Y),Qa(d,p,Y);return xn&&R&&Fe(p),p.flags|=1,di(d,p,x,Y),p.child}function Ew(d,p,x,R,G){if(un(p),p.stateNode===null){var Y=Ac,re=x.contextType;typeof re==="object"&&re!==null&&(Y=Kt(re)),Y=new x(R,Y),p.memoizedState=Y.state!==null&&Y.state!==void 0?Y.state:null,Y.updater=sg,p.stateNode=Y,Y._reactInternals=p,Y=p.stateNode,Y.props=R,Y.state=p.memoizedState,Y.refs={},fn(p),re=x.contextType,Y.context=typeof re==="object"&&re!==null?Kt(re):Ac,Y.state=p.memoizedState,re=x.getDerivedStateFromProps,typeof re==="function"&&(Jm(p,x,re,R),Y.state=p.memoizedState),typeof x.getDerivedStateFromProps==="function"||typeof Y.getSnapshotBeforeUpdate==="function"||typeof Y.UNSAFE_componentWillMount!=="function"&&typeof Y.componentWillMount!=="function"||(re=Y.state,typeof Y.componentWillMount==="function"&&Y.componentWillMount(),typeof Y.UNSAFE_componentWillMount==="function"&&Y.UNSAFE_componentWillMount(),re!==Y.state&&sg.enqueueReplaceState(Y,Y.state,null),ji(p,R,Y,G),Zn(),Y.state=p.memoizedState),typeof Y.componentDidMount==="function"&&(p.flags|=4194308),R=!0}else if(d===null){Y=p.stateNode;var je=p.memoizedProps,Ge=Cl(x,je);Y.props=Ge;var et=Y.context,bt=x.contextType;re=Ac,typeof bt==="object"&&bt!==null&&(re=Kt(bt));var rt=x.getDerivedStateFromProps;bt=typeof rt==="function"||typeof Y.getSnapshotBeforeUpdate==="function",je=p.pendingProps!==je,bt||typeof Y.UNSAFE_componentWillReceiveProps!=="function"&&typeof Y.componentWillReceiveProps!=="function"||(je||et!==re)&&mw(p,Y,R,re),$o=!1;var jt=p.memoizedState;Y.state=jt,ji(p,R,Y,G),Zn(),et=p.memoizedState,je||jt!==et||$o?(typeof rt==="function"&&(Jm(p,x,rt,R),et=p.memoizedState),(Ge=$o||dw(p,x,Ge,R,jt,et,re))?(bt||typeof Y.UNSAFE_componentWillMount!=="function"&&typeof Y.componentWillMount!=="function"||(typeof Y.componentWillMount==="function"&&Y.componentWillMount(),typeof Y.UNSAFE_componentWillMount==="function"&&Y.UNSAFE_componentWillMount()),typeof Y.componentDidMount==="function"&&(p.flags|=4194308)):(typeof Y.componentDidMount==="function"&&(p.flags|=4194308),p.memoizedProps=R,p.memoizedState=et),Y.props=R,Y.state=et,Y.context=re,R=Ge):(typeof Y.componentDidMount==="function"&&(p.flags|=4194308),R=!1)}else{Y=p.stateNode,ys(d,p),re=p.memoizedProps,bt=Cl(x,re),Y.props=bt,rt=p.pendingProps,jt=Y.context,et=x.contextType,Ge=Ac,typeof et==="object"&&et!==null&&(Ge=Kt(et)),je=x.getDerivedStateFromProps,(et=typeof je==="function"||typeof Y.getSnapshotBeforeUpdate==="function")||typeof Y.UNSAFE_componentWillReceiveProps!=="function"&&typeof Y.componentWillReceiveProps!=="function"||(re!==rt||jt!==Ge)&&mw(p,Y,R,Ge),$o=!1,jt=p.memoizedState,Y.state=jt,ji(p,R,Y,G),Zn();var en=p.memoizedState;re!==rt||jt!==en||$o||d!==null&&d.dependencies!==null&&sn(d.dependencies)?(typeof je==="function"&&(Jm(p,x,je,R),en=p.memoizedState),(bt=$o||dw(p,x,bt,R,jt,en,Ge)||d!==null&&d.dependencies!==null&&sn(d.dependencies))?(et||typeof Y.UNSAFE_componentWillUpdate!=="function"&&typeof Y.componentWillUpdate!=="function"||(typeof Y.componentWillUpdate==="function"&&Y.componentWillUpdate(R,en,Ge),typeof Y.UNSAFE_componentWillUpdate==="function"&&Y.UNSAFE_componentWillUpdate(R,en,Ge)),typeof Y.componentDidUpdate==="function"&&(p.flags|=4),typeof Y.getSnapshotBeforeUpdate==="function"&&(p.flags|=1024)):(typeof Y.componentDidUpdate!=="function"||re===d.memoizedProps&&jt===d.memoizedState||(p.flags|=4),typeof Y.getSnapshotBeforeUpdate!=="function"||re===d.memoizedProps&&jt===d.memoizedState||(p.flags|=1024),p.memoizedProps=R,p.memoizedState=en),Y.props=R,Y.state=en,Y.context=Ge,R=bt):(typeof Y.componentDidUpdate!=="function"||re===d.memoizedProps&&jt===d.memoizedState||(p.flags|=4),typeof Y.getSnapshotBeforeUpdate!=="function"||re===d.memoizedProps&&jt===d.memoizedState||(p.flags|=1024),R=!1)}return Y=R,Mu(d,p),R=(p.flags&128)!==0,Y||R?(Y=p.stateNode,x=R&&typeof x.getDerivedStateFromError!=="function"?null:Y.render(),p.flags|=1,d!==null&&R?(p.child=Pl(p,d.child,null,G),p.child=Pl(p,null,x,G)):di(d,p,x,G),p.memoizedState=Y.state,d=p.child):d=Qa(d,p,G),d}function Cw(d,p,x,R){return an(),p.flags|=256,di(d,p,x,R),p.child}function tp(d){return{baseLanes:d,cachePool:ma()}}function np(d,p,x){return d=d!==null?d.childLanes&~x:0,p&&(d|=ur),d}function jw(d,p,x){var R=p.pendingProps,G=!1,Y=(p.flags&128)!==0,re;if((re=Y)||(re=d!==null&&d.memoizedState===null?!1:(Us.current&2)!==0),re&&(G=!0,p.flags&=-129),re=(p.flags&32)!==0,p.flags&=-33,d===null){if(xn){if(G?Ss(p):Fo(p),(d=Es)?(d=Lx(d,Ar),d!==null&&(p.memoizedState={dehydrated:d,treeContext:zo!==null?{id:wa,overflow:ya}:null,retryLane:536870912,hydrationErrors:null},x=Ay(d),x.return=p,p.child=x,pi=p,Es=null)):d=null,d===null)throw dt(p);return Bp(d)?p.lanes=32:p.lanes=536870912,null}var je=R.children;if(R=R.fallback,G)return Fo(p),G=p.mode,je=Fu({mode:"hidden",children:je},G),R=Rl(R,G,x,null),je.return=p,R.return=p,je.sibling=R,p.child=je,R=p.child,R.memoizedState=tp(x),R.childLanes=np(d,re,x),p.memoizedState=rg,If(null,R);return Ss(p),sp(p,je)}var Ge=d.memoizedState;if(Ge!==null&&(je=Ge.dehydrated,je!==null)){if(Y)p.flags&256?(Ss(p),p.flags&=-257,p=ip(d,p,x)):p.memoizedState!==null?(Fo(p),p.child=d.child,p.flags|=128,p=null):(Fo(p),je=R.fallback,G=p.mode,R=Fu({mode:"visible",children:R.children},G),je=Rl(je,G,x,null),je.flags|=2,R.return=p,je.return=p,R.sibling=je,p.child=R,Pl(p,d.child,null,x),R=p.child,R.memoizedState=tp(x),R.childLanes=np(d,re,x),p.memoizedState=rg,p=If(null,R));else if(Ss(p),Bp(je))re=kx(je).digest,R=Error(i(419)),R.stack="",R.digest=re,fs({value:R,source:null,stack:null}),p=ip(d,p,x);else if(Xs||zt(d,p,x,!1),re=(x&d.childLanes)!==0,Xs||re){if(re=ns,re!==null&&(R=ie(re,x),R!==0&&R!==Ge.retryLane))throw Ge.retryLane=R,Et(d,R),Bi(re,d,R),ig;Pp(je)||Hu(),p=ip(d,p,x)}else Pp(je)?(p.flags|=192,p.child=d.child,p=null):(d=Ge.treeContext,Ci&&(Es=Ix(je),pi=p,xn=!0,Vo=null,Ar=!1,d!==null&&Xe(p,d)),p=sp(p,R.children),p.flags|=4096);return p}if(G)return Fo(p),je=R.fallback,G=p.mode,Ge=d.child,Y=Ge.sibling,R=eo(Ge,{mode:"hidden",children:R.children}),R.subtreeFlags=Ge.subtreeFlags&65011712,Y!==null?je=eo(Y,je):(je=Rl(je,G,x,null),je.flags|=2),je.return=p,R.return=p,R.sibling=je,p.child=R,If(null,R),R=p.child,je=d.child.memoizedState,je===null?je=tp(x):(G=je.cachePool,G!==null?(Ge=to?Cs._currentValue:Cs._currentValue2,G=G.parent!==Ge?{parent:Ge,pool:Ge}:G):G=ma(),je={baseLanes:je.baseLanes|x,cachePool:G}),R.memoizedState=je,R.childLanes=np(d,re,x),p.memoizedState=rg,If(d.child,R);return Ss(p),x=d.child,d=x.sibling,x=eo(x,{mode:"visible",children:R.children}),x.return=p,x.sibling=null,d!==null&&(re=p.deletions,re===null?(p.deletions=[d],p.flags|=16):re.push(d)),p.child=x,p.memoizedState=null,x}function sp(d,p){return p=Fu({mode:"visible",children:p},d.mode),p.return=d,d.child=p}function Fu(d,p){return d=n(22,d,null,p),d.lanes=0,d}function ip(d,p,x){return Pl(p,d.child,null,x),d=sp(p,p.pendingProps.children),d.flags|=2,p.memoizedState=null,d}function _w(d,p,x){d.lanes|=p;var R=d.alternate;R!==null&&(R.lanes|=p),yt(d.return,p,x)}function rp(d,p,x,R,G,Y){var re=d.memoizedState;re===null?d.memoizedState={isBackwards:p,rendering:null,renderingStartTime:0,last:R,tail:x,tailMode:G,treeForkCount:Y}:(re.isBackwards=p,re.rendering=null,re.renderingStartTime=0,re.last=R,re.tail=x,re.tailMode=G,re.treeForkCount=Y)}function Iw(d,p,x){var R=p.pendingProps,G=R.revealOrder,Y=R.tail;R=R.children;var re=Us.current,je=(re&2)!==0;if(je?(re=re&1|2,p.flags|=128):re&=1,k(Us,re),di(d,p,R,x),R=xn?Vf:0,!je&&d!==null&&(d.flags&128)!==0)e:for(d=p.child;d!==null;){if(d.tag===13)d.memoizedState!==null&&_w(d,x,p);else if(d.tag===19)_w(d,x,p);else if(d.child!==null){d.child.return=d,d=d.child;continue}if(d===p)break e;for(;d.sibling===null;){if(d.return===null||d.return===p)break e;d=d.return}d.sibling.return=d.return,d=d.sibling}switch(G){case"forwards":x=p.child;for(G=null;x!==null;)d=x.alternate,d!==null&&xu(d)===null&&(G=x),x=x.sibling;x=G,x===null?(G=p.child,p.child=null):(G=x.sibling,x.sibling=null),rp(p,!1,G,x,Y,R);break;case"backwards":case"unstable_legacy-backwards":x=null,G=p.child;for(p.child=null;G!==null;){if(d=G.alternate,d!==null&&xu(d)===null){p.child=G;break}d=G.sibling,G.sibling=x,x=G,G=d}rp(p,!0,x,null,Y,R);break;case"together":rp(p,!1,null,null,void 0,R);break;default:p.memoizedState=null}return p.child}function Qa(d,p,x){if(d!==null&&(p.dependencies=d.dependencies),Ko|=p.lanes,(x&p.childLanes)===0)if(d!==null){if(zt(d,p,x,!1),(x&p.childLanes)===0)return null}else return null;if(d!==null&&p.child!==d.child)throw Error(i(153));if(p.child!==null){d=p.child,x=eo(d,d.pendingProps),p.child=x;for(x.return=p;d.sibling!==null;)d=d.sibling,x=x.sibling=eo(d,d.pendingProps),x.return=p;x.sibling=null}return p.child}function ap(d,p){if((d.lanes&p)!==0)return!0;return d=d.dependencies,d!==null&&sn(d)?!0:!1}function mk(d,p,x){switch(p.tag){case 3:st(p,p.stateNode.containerInfo),We(p,Cs,d.memoizedState.cache),an();break;case 27:case 5:St(p);break;case 4:st(p,p.stateNode.containerInfo);break;case 10:We(p,p.type,p.memoizedProps.value);break;case 31:if(p.memoizedState!==null)return p.flags|=128,mc(p),null;break;case 13:var R=p.memoizedState;if(R!==null){if(R.dehydrated!==null)return Ss(p),p.flags|=128,null;if((x&p.child.childLanes)!==0)return jw(d,p,x);return Ss(p),d=Qa(d,p,x),d!==null?d.sibling:null}Ss(p);break;case 19:var G=(d.flags&128)!==0;if(R=(x&p.childLanes)!==0,R||(zt(d,p,x,!1),R=(x&p.childLanes)!==0),G){if(R)return Iw(d,p,x);p.flags|=128}if(G=p.memoizedState,G!==null&&(G.rendering=null,G.tail=null,G.lastEffect=null),k(Us,Us.current),R)break;else return null;case 22:return p.lanes=0,Sw(d,p,x,p.pendingProps);case 24:We(p,Cs,d.memoizedState.cache)}return Qa(d,p,x)}function Rw(d,p,x){if(d!==null)if(d.memoizedProps!==p.pendingProps)Xs=!0;else{if(!ap(d,x)&&(p.flags&128)===0)return Xs=!1,mk(d,p,x);Xs=(d.flags&131072)!==0?!0:!1}else Xs=!1,xn&&(p.flags&1048576)!==0&&Re(p,Vf,p.index);switch(p.lanes=0,p.tag){case 16:e:{var R=p.pendingProps;if(d=nr(p.elementType),p.type=d,typeof d==="function")Tp(d)?(R=Cl(d,R),p.tag=1,p=Ew(null,p,d,R,x)):(p.tag=0,p=ep(null,p,d,R,x));else{if(d!==void 0&&d!==null){var G=d.$$typeof;if(G===Rp){p.tag=11,p=ww(null,p,d,R,x);break e}else if(G===Mp){p.tag=14,p=yw(null,p,d,R,x);break e}}throw p=g(d)||d,Error(i(306,p,""))}}return p;case 0:return ep(d,p,p.type,p.pendingProps,x);case 1:return R=p.type,G=Cl(R,p.pendingProps),Ew(d,p,R,G,x);case 3:e:{if(st(p,p.stateNode.containerInfo),d===null)throw Error(i(387));var Y=p.pendingProps;G=p.memoizedState,R=G.element,ys(d,p),ji(p,Y,null,x);var re=p.memoizedState;if(Y=re.cache,We(p,Cs,Y),Y!==G.cache&&pt(p,[Cs],x,!0),Zn(),Y=re.element,Ci&&G.isDehydrated)if(G={element:Y,isDehydrated:!1,cache:re.cache},p.updateQueue.baseState=G,p.memoizedState=G,p.flags&256){p=Cw(d,p,Y,x);break e}else if(Y!==R){R=we(Error(i(424)),p),fs(R),p=Cw(d,p,Y,x);break e}else for(Ci&&(Es=jx(p.stateNode.containerInfo),pi=p,xn=!0,Vo=null,Ar=!0),x=o5(p,null,Y,x),p.child=x;x;)x.flags=x.flags&-3|4096,x=x.sibling;else{if(an(),Y===R){p=Qa(d,p,x);break e}di(d,p,Y,x)}p=p.child}return p;case 26:if(Kr)return Mu(d,p),d===null?(x=Xy(p.type,null,p.pendingProps,null))?p.memoizedState=x:xn||(p.stateNode=iA(p.type,p.pendingProps,Go.current,p)):p.memoizedState=Xy(p.type,d.memoizedProps,p.pendingProps,d.memoizedState),null;case 27:if(ni)return St(p),d===null&&ni&&xn&&(R=p.stateNode=Zy(p.type,p.pendingProps,Go.current,mi.current,!1),pi=p,Ar=!0,Es=Rx(p.type,R,Es)),di(d,p,p.pendingProps.children,x),Mu(d,p),d===null&&(p.flags|=4194304),p.child;case 5:if(d===null&&xn){if(tA(p.type,p.pendingProps,mi.current),G=R=Es)R=Dx(R,p.type,p.pendingProps,Ar),R!==null?(p.stateNode=R,pi=p,Es=Cx(R),Ar=!1,G=!0):G=!1;G||dt(p)}return St(p),G=p.type,Y=p.pendingProps,re=d!==null?d.memoizedProps:null,R=Y.children,$u(G,Y)?R=null:re!==null&&$u(G,re)&&(p.flags|=32),p.memoizedState!==null&&(G=Pm(d,p,ak,null,null,x),to?ql._currentValue=G:ql._currentValue2=G),Mu(d,p),di(d,p,R,x),p.child;case 6:if(d===null&&xn){if(nA(p.pendingProps,mi.current),d=x=Es)x=Mx(x,p.pendingProps,Ar),x!==null?(p.stateNode=x,pi=p,Es=null,d=!0):d=!1;d||dt(p)}return null;case 13:return jw(d,p,x);case 4:return st(p,p.stateNode.containerInfo),R=p.pendingProps,d===null?p.child=Pl(p,null,R,x):di(d,p,R,x),p.child;case 11:return ww(d,p,p.type,p.pendingProps,x);case 7:return di(d,p,p.pendingProps,x),p.child;case 8:return di(d,p,p.pendingProps.children,x),p.child;case 12:return di(d,p,p.pendingProps.children,x),p.child;case 10:return R=p.pendingProps,We(p,p.type,R.value),di(d,p,R.children,x),p.child;case 9:return G=p.type._context,R=p.pendingProps.children,un(p),G=Kt(G),R=R(G),p.flags|=1,di(d,p,R,x),p.child;case 14:return yw(d,p,p.type,p.pendingProps,x);case 15:return vw(d,p,p.type,p.pendingProps,x);case 19:return Iw(d,p,x);case 31:return dk(d,p,x);case 22:return Sw(d,p,x,p.pendingProps);case 24:return un(p),R=Kt(Cs),d===null?(G=ua(),G===null&&(G=ns,Y=Gn(),G.pooledCache=Y,Y.refCount++,Y!==null&&(G.pooledCacheLanes|=x),G=Y),p.memoizedState={parent:R,cache:G},fn(p),We(p,Cs,G)):((d.lanes&x)!==0&&(ys(d,p),ji(p,null,null,x),Zn()),G=d.memoizedState,Y=p.memoizedState,G.parent!==R?(G={parent:R,cache:R},p.memoizedState=G,p.lanes===0&&(p.memoizedState=p.updateQueue.baseState=G),We(p,Cs,R)):(R=Y.cache,We(p,Cs,R),R!==G.cache&&pt(p,[Cs],x,!0))),di(d,p,p.pendingProps.children,x),p.child;case 29:throw p.pendingProps}throw Error(i(156,p.tag))}function $r(d){d.flags|=4}function Lu(d){ba&&(d.flags|=8)}function Dw(d,p){if(d!==null&&d.child===p.child)return!1;if((p.flags&16)!==0)return!0;for(d=p.child;d!==null;){if((d.flags&8218)!==0||(d.subtreeFlags&8218)!==0)return!0;d=d.sibling}return!1}function op(d,p,x,R){if(Ei)for(x=p.child;x!==null;){if(x.tag===5||x.tag===6)Lp(d,x.stateNode);else if(!(x.tag===4||ni&&x.tag===27)&&x.child!==null){x.child.return=x,x=x.child;continue}if(x===p)break;for(;x.sibling===null;){if(x.return===null||x.return===p)return;x=x.return}x.sibling.return=x.return,x=x.sibling}else if(ba)for(var G=p.child;G!==null;){if(G.tag===5){var Y=G.stateNode;x&&R&&(Y=Uy(Y,G.type,G.memoizedProps)),Lp(d,Y)}else if(G.tag===6)Y=G.stateNode,x&&R&&(Y=zy(Y,G.memoizedProps)),Lp(d,Y);else if(G.tag!==4){if(G.tag===22&&G.memoizedState!==null)Y=G.child,Y!==null&&(Y.return=G),op(d,G,!0,!0);else if(G.child!==null){G.child.return=G,G=G.child;continue}}if(G===p)break;for(;G.sibling===null;){if(G.return===null||G.return===p)return;G=G.return}G.sibling.return=G.return,G=G.sibling}}function qw(d,p,x,R){var G=!1;if(ba)for(var Y=p.child;Y!==null;){if(Y.tag===5){var re=Y.stateNode;x&&R&&(re=Uy(re,Y.type,Y.memoizedProps)),By(d,re)}else if(Y.tag===6)re=Y.stateNode,x&&R&&(re=zy(re,Y.memoizedProps)),By(d,re);else if(Y.tag!==4){if(Y.tag===22&&Y.memoizedState!==null)G=Y.child,G!==null&&(G.return=Y),qw(d,Y,!0,!0),G=!0;else if(Y.child!==null){Y.child.return=Y,Y=Y.child;continue}}if(Y===p)break;for(;Y.sibling===null;){if(Y.return===null||Y.return===p)return G;Y=Y.return}Y.sibling.return=Y.return,Y=Y.sibling}return G}function Mw(d,p){if(ba&&Dw(d,p)){d=p.stateNode;var x=d.containerInfo,R=Ny();qw(R,p,!1,!1),d.pendingChildren=R,$r(p),Sx(x,R)}}function lp(d,p,x,R){if(Ei)d.memoizedProps!==R&&$r(p);else if(ba){var G=d.stateNode,Y=d.memoizedProps;if((d=Dw(d,p))||Y!==R){var re=mi.current;Y=vx(G,x,Y,R,!d,null),Y===G?p.stateNode=G:(Lu(p),My(Y,x,R,re)&&$r(p),p.stateNode=Y,d&&op(Y,p,!1,!1))}else p.stateNode=G}}function cp(d,p,x,R,G){if((d.mode&32)!==0&&(x===null?$k(p,R):Xk(p,x,R))){if(d.flags|=16777216,(G&335544128)===G||Op(p,R))if(Ly(d.stateNode,p,R))d.flags|=8192;else if(ay())d.flags|=8192;else throw Ol=rd,Zp}else d.flags&=-16777217}function Fw(d,p){if(aA(p)){if(d.flags|=16777216,!Jy(p))if(ay())d.flags|=8192;else throw Ol=rd,Zp}else d.flags&=-16777217}function Ou(d,p){p!==null&&(d.flags|=4),d.flags&16384&&(p=d.tag!==22?V():536870912,d.lanes|=p,Uc|=p)}function Rf(d,p){if(!xn)switch(d.tailMode){case"hidden":p=d.tail;for(var x=null;p!==null;)p.alternate!==null&&(x=p),p=p.sibling;x===null?d.tail=null:x.sibling=null;break;case"collapsed":x=d.tail;for(var R=null;x!==null;)x.alternate!==null&&(R=x),x=x.sibling;R===null?p||d.tail===null?d.tail=null:d.tail.sibling=null:R.sibling=null}}function ds(d){var p=d.alternate!==null&&d.alternate.child===d.child,x=0,R=0;if(p)for(var G=d.child;G!==null;)x|=G.lanes|G.childLanes,R|=G.subtreeFlags&65011712,R|=G.flags&65011712,G.return=d,G=G.sibling;else for(G=d.child;G!==null;)x|=G.lanes|G.childLanes,R|=G.subtreeFlags,R|=G.flags,G.return=d,G=G.sibling;return d.subtreeFlags|=R,d.childLanes=x,p}function pk(d,p,x){var R=p.pendingProps;switch(Be(p),p.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return ds(p),null;case 1:return ds(p),null;case 3:if(x=p.stateNode,R=null,d!==null&&(R=d.memoizedState.cache),p.memoizedState.cache!==R&&(p.flags|=2048),nt(Cs),Ze(),x.pendingContext&&(x.context=x.pendingContext,x.pendingContext=null),d===null||d.child===null)kn(p)?$r(p):d===null||d.memoizedState.isDehydrated&&(p.flags&256)===0||(p.flags|=1024,on());return Mw(d,p),ds(p),null;case 26:if(Kr){var{type:G,memoizedState:Y}=p;return d===null?($r(p),Y!==null?(ds(p),Fw(p,Y)):(ds(p),cp(p,G,null,R,x))):Y?Y!==d.memoizedState?($r(p),ds(p),Fw(p,Y)):(ds(p),p.flags&=-16777217):(Y=d.memoizedProps,Ei?Y!==R&&$r(p):lp(d,p,G,R),ds(p),cp(p,G,Y,R,x)),null}case 27:if(ni){if(_t(p),x=Go.current,G=p.type,d!==null&&p.stateNode!=null)Ei?d.memoizedProps!==R&&$r(p):lp(d,p,G,R);else{if(!R){if(p.stateNode===null)throw Error(i(166));return ds(p),null}d=mi.current,kn(p)?Ot(p,d):(d=Zy(G,R,x,d,!0),p.stateNode=d,$r(p))}return ds(p),null}case 5:if(_t(p),G=p.type,d!==null&&p.stateNode!=null)lp(d,p,G,R);else{if(!R){if(p.stateNode===null)throw Error(i(166));return ds(p),null}if(Y=mi.current,kn(p))Ot(p,Y),Wx(p.stateNode,G,R,Y)&&(p.flags|=64);else{var re=Pk(G,R,Go.current,Y,p);Lu(p),op(re,p,!1,!1),p.stateNode=re,My(re,G,R,Y)&&$r(p)}}return ds(p),cp(p,p.type,d===null?null:d.memoizedProps,p.pendingProps,x),null;case 6:if(d&&p.stateNode!=null)x=d.memoizedProps,Ei?x!==R&&$r(p):ba&&(x!==R?(d=Go.current,x=mi.current,Lu(p),p.stateNode=Fy(R,d,x,p)):p.stateNode=d.stateNode);else{if(typeof R!=="string"&&p.stateNode===null)throw Error(i(166));if(d=Go.current,x=mi.current,kn(p)){if(!Ci)throw Error(i(176));if(d=p.stateNode,x=p.memoizedProps,R=null,G=pi,G!==null)switch(G.tag){case 27:case 5:R=G.memoizedProps}Px(d,x,p,R)||dt(p,!0)}else Lu(p),p.stateNode=Fy(R,d,x,p)}return ds(p),null;case 31:if(x=p.memoizedState,d===null||d.memoizedState!==null){if(R=kn(p),x!==null){if(d===null){if(!R)throw Error(i(318));if(!Ci)throw Error(i(556));if(d=p.memoizedState,d=d!==null?d.dehydrated:null,!d)throw Error(i(557));Nx(d,p)}else an(),(p.flags&128)===0&&(p.memoizedState=null),p.flags|=4;ds(p),d=!1}else x=on(),d!==null&&d.memoizedState!==null&&(d.memoizedState.hydrationErrors=x),d=!0;if(!d){if(p.flags&256)return sr(p),p;return sr(p),null}if((p.flags&128)!==0)throw Error(i(558))}return ds(p),null;case 13:if(R=p.memoizedState,d===null||d.memoizedState!==null&&d.memoizedState.dehydrated!==null){if(G=kn(p),R!==null&&R.dehydrated!==null){if(d===null){if(!G)throw Error(i(318));if(!Ci)throw Error(i(344));if(G=p.memoizedState,G=G!==null?G.dehydrated:null,!G)throw Error(i(317));Bx(G,p)}else an(),(p.flags&128)===0&&(p.memoizedState=null),p.flags|=4;ds(p),G=!1}else G=on(),d!==null&&d.memoizedState!==null&&(d.memoizedState.hydrationErrors=G),G=!0;if(!G){if(p.flags&256)return sr(p),p;return sr(p),null}}if(sr(p),(p.flags&128)!==0)return p.lanes=x,p;return x=R!==null,d=d!==null&&d.memoizedState!==null,x&&(R=p.child,G=null,R.alternate!==null&&R.alternate.memoizedState!==null&&R.alternate.memoizedState.cachePool!==null&&(G=R.alternate.memoizedState.cachePool.pool),Y=null,R.memoizedState!==null&&R.memoizedState.cachePool!==null&&(Y=R.memoizedState.cachePool.pool),Y!==G&&(R.flags|=2048)),x!==d&&x&&(p.child.flags|=8192),Ou(p,p.updateQueue),ds(p),null;case 4:return Ze(),Mw(d,p),d===null&&Uk(p.stateNode.containerInfo),ds(p),null;case 10:return nt(p.type),ds(p),null;case 19:if(v(Us),R=p.memoizedState,R===null)return ds(p),null;if(G=(p.flags&128)!==0,Y=R.rendering,Y===null)if(G)Rf(R,!1);else{if(Ms!==0||d!==null&&(d.flags&128)!==0)for(d=p.child;d!==null;){if(Y=xu(d),Y!==null){p.flags|=128,Rf(R,!1),d=Y.updateQueue,p.updateQueue=d,Ou(p,d),p.subtreeFlags=0,d=x;for(x=p.child;x!==null;)xy(x,d),x=x.sibling;return k(Us,Us.current&1|2),xn&&qe(p,R.treeForkCount),p.child}d=d.sibling}R.tail!==null&&Hi()>th&&(p.flags|=128,G=!0,Rf(R,!1),p.lanes=4194304)}else{if(!G)if(d=xu(Y),d!==null){if(p.flags|=128,G=!0,d=d.updateQueue,p.updateQueue=d,Ou(p,d),Rf(R,!0),R.tail===null&&R.tailMode==="hidden"&&!Y.alternate&&!xn)return ds(p),null}else 2*Hi()-R.renderingStartTime>th&&x!==536870912&&(p.flags|=128,G=!0,Rf(R,!1),p.lanes=4194304);R.isBackwards?(Y.sibling=p.child,p.child=Y):(d=R.last,d!==null?d.sibling=Y:p.child=Y,R.last=Y)}if(R.tail!==null)return d=R.tail,R.rendering=d,R.tail=d.sibling,R.renderingStartTime=Hi(),d.sibling=null,x=Us.current,k(Us,G?x&1|2:x&1),xn&&qe(p,R.treeForkCount),d;return ds(p),null;case 22:case 23:return sr(p),_i(),R=p.memoizedState!==null,d!==null?d.memoizedState!==null!==R&&(p.flags|=8192):R&&(p.flags|=8192),R?(x&536870912)!==0&&(p.flags&128)===0&&(ds(p),p.subtreeFlags&6&&(p.flags|=8192)):ds(p),x=p.updateQueue,x!==null&&Ou(p,x.retryQueue),x=null,d!==null&&d.memoizedState!==null&&d.memoizedState.cachePool!==null&&(x=d.memoizedState.cachePool.pool),R=null,p.memoizedState!==null&&p.memoizedState.cachePool!==null&&(R=p.memoizedState.cachePool.pool),R!==x&&(p.flags|=2048),d!==null&&v(Ll),null;case 24:return x=null,d!==null&&(x=d.memoizedState.cache),p.memoizedState.cache!==x&&(p.flags|=2048),nt(Cs),ds(p),null;case 25:return null;case 30:return null}throw Error(i(156,p.tag))}function gk(d,p){switch(Be(p),p.tag){case 1:return d=p.flags,d&65536?(p.flags=d&-65537|128,p):null;case 3:return nt(Cs),Ze(),d=p.flags,(d&65536)!==0&&(d&128)===0?(p.flags=d&-65537|128,p):null;case 26:case 27:case 5:return _t(p),null;case 31:if(p.memoizedState!==null){if(sr(p),p.alternate===null)throw Error(i(340));an()}return d=p.flags,d&65536?(p.flags=d&-65537|128,p):null;case 13:if(sr(p),d=p.memoizedState,d!==null&&d.dehydrated!==null){if(p.alternate===null)throw Error(i(340));an()}return d=p.flags,d&65536?(p.flags=d&-65537|128,p):null;case 19:return v(Us),null;case 4:return Ze(),null;case 10:return nt(p.type),null;case 22:case 23:return sr(p),_i(),d!==null&&v(Ll),d=p.flags,d&65536?(p.flags=d&-65537|128,p):null;case 24:return nt(Cs),null;case 25:return null;default:return null}}function Lw(d,p){switch(Be(p),p.tag){case 3:nt(Cs),Ze();break;case 26:case 27:case 5:_t(p);break;case 4:Ze();break;case 31:p.memoizedState!==null&&sr(p);break;case 13:sr(p);break;case 19:v(Us);break;case 10:nt(p.type);break;case 22:case 23:sr(p),_i(),d!==null&&v(Ll);break;case 24:nt(Cs)}}function Df(d,p){try{var x=p.updateQueue,R=x!==null?x.lastEffect:null;if(R!==null){var G=R.next;x=G;do{if((x.tag&d)===d){R=void 0;var Y=x.create,re=x.inst;R=Y(),re.destroy=R}x=x.next}while(x!==G)}}catch(je){Rn(p,p.return,je)}}function Po(d,p,x){try{var R=p.updateQueue,G=R!==null?R.lastEffect:null;if(G!==null){var Y=G.next;R=Y;do{if((R.tag&d)===d){var re=R.inst,je=re.destroy;if(je!==void 0){re.destroy=void 0,G=p;var Ge=x,et=je;try{et()}catch(bt){Rn(G,Ge,bt)}}}R=R.next}while(R!==Y)}}catch(bt){Rn(p,p.return,bt)}}function Ow(d){var p=d.updateQueue;if(p!==null){var x=d.stateNode;try{Tf(p,x)}catch(R){Rn(d,d.return,R)}}}function Pw(d,p,x){x.props=Cl(d.type,d.memoizedProps),x.state=d.memoizedState;try{x.componentWillUnmount()}catch(R){Rn(d,p,R)}}function qf(d,p){try{var x=d.ref;if(x!==null){switch(d.tag){case 26:case 27:case 5:var R=Pf(d.stateNode);break;case 30:R=d.stateNode;break;default:R=d.stateNode}typeof x==="function"?d.refCleanup=x(R):x.current=R}}catch(G){Rn(d,p,G)}}function ga(d,p){var x=d.ref,R=d.refCleanup;if(x!==null)if(typeof R==="function")try{R()}catch(G){Rn(d,p,G)}finally{d.refCleanup=null,d=d.alternate,d!=null&&(d.refCleanup=null)}else if(typeof x==="function")try{x(null)}catch(G){Rn(d,p,G)}else x.current=null}function Nw(d){var{type:p,memoizedProps:x,stateNode:R}=d;try{lx(R,p,x,d)}catch(G){Rn(d,d.return,G)}}function hp(d,p,x){try{cx(d.stateNode,d.type,x,p,d)}catch(R){Rn(d,d.return,R)}}function Bw(d){return d.tag===5||d.tag===3||(Kr?d.tag===26:!1)||(ni?d.tag===27&&kc(d.type):!1)||d.tag===4}function up(d){e:for(;;){for(;d.sibling===null;){if(d.return===null||Bw(d.return))return null;d=d.return}d.sibling.return=d.return;for(d=d.sibling;d.tag!==5&&d.tag!==6&&d.tag!==18;){if(ni&&d.tag===27&&kc(d.type))continue e;if(d.flags&2)continue e;if(d.child===null||d.tag===4)continue e;else d.child.return=d,d=d.child}if(!(d.flags&2))return d.stateNode}}function dp(d,p,x){var R=d.tag;if(R===5||R===6)d=d.stateNode,p?ux(x,d,p):ax(x,d);else if(R!==4&&(ni&&R===27&&kc(d.type)&&(x=d.stateNode,p=null),d=d.child,d!==null))for(dp(d,p,x),d=d.sibling;d!==null;)dp(d,p,x),d=d.sibling}function Pu(d,p,x){var R=d.tag;if(R===5||R===6)d=d.stateNode,p?hx(x,d,p):rx(x,d);else if(R!==4&&(ni&&R===27&&kc(d.type)&&(x=d.stateNode),d=d.child,d!==null))for(Pu(d,p,x),d=d.sibling;d!==null;)Pu(d,p,x),d=d.sibling}function Hw(d,p,x){d=d.containerInfo;try{Hy(d,x)}catch(R){Rn(p,p.return,R)}}function Uw(d){var{stateNode:p,memoizedProps:x}=d;try{lA(d.type,x,p,d)}catch(R){Rn(d,d.return,R)}}function bk(d,p){Lk(d.containerInfo);for(oi=p;oi!==null;)if(d=oi,p=d.child,(d.subtreeFlags&1028)!==0&&p!==null)p.return=d,oi=p;else for(;oi!==null;){d=oi;var x=d.alternate;switch(p=d.flags,d.tag){case 0:if((p&4)!==0&&(p=d.updateQueue,p=p!==null?p.events:null,p!==null))for(var R=0;R<p.length;R++){var G=p[R];G.ref.impl=G.nextImpl}break;case 11:case 15:break;case 1:if((p&1024)!==0&&x!==null){p=void 0,R=d,G=x.memoizedProps,x=x.memoizedState;var Y=R.stateNode;try{var re=Cl(R.type,G);p=Y.getSnapshotBeforeUpdate(re,x),Y.__reactInternalSnapshotBeforeUpdate=p}catch(je){Rn(R,R.return,je)}}break;case 3:(p&1024)!==0&&Ei&&yx(d.stateNode.containerInfo);break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((p&1024)!==0)throw Error(i(163))}if(p=d.sibling,p!==null){p.return=d.return,oi=p;break}oi=d.return}}function zw(d,p,x){var R=x.flags;switch(x.tag){case 0:case 11:case 15:Ja(d,x),R&4&&Df(5,x);break;case 1:if(Ja(d,x),R&4)if(d=x.stateNode,p===null)try{d.componentDidMount()}catch(re){Rn(x,x.return,re)}else{var G=Cl(x.type,p.memoizedProps);p=p.memoizedState;try{d.componentDidUpdate(G,p,d.__reactInternalSnapshotBeforeUpdate)}catch(re){Rn(x,x.return,re)}}R&64&&Ow(x),R&512&&qf(x,x.return);break;case 3:if(Ja(d,x),R&64&&(R=x.updateQueue,R!==null)){if(d=null,x.child!==null)switch(x.child.tag){case 27:case 5:d=Pf(x.child.stateNode);break;case 1:d=x.child.stateNode}try{Tf(R,d)}catch(re){Rn(x,x.return,re)}}break;case 27:ni&&p===null&&R&4&&Uw(x);case 26:case 5:if(Ja(d,x),p===null){if(R&4)Nw(x);else if(R&64){d=x.type,p=x.memoizedProps,G=x.stateNode;try{Gx(G,d,p,x)}catch(re){Rn(x,x.return,re)}}}R&512&&qf(x,x.return);break;case 12:Ja(d,x);break;case 31:Ja(d,x),R&4&&Vw(d,x);break;case 13:Ja(d,x),R&4&&$w(d,x),R&64&&(R=x.memoizedState,R!==null&&(R=R.dehydrated,R!==null&&(x=Ak.bind(null,x),xx(R,x))));break;case 22:if(R=x.memoizedState!==null||oo,!R){p=p!==null&&p.memoizedState!==null||Ws,G=oo;var Y=Ws;oo=R,(Ws=p)&&!Y?Za(d,x,(x.subtreeFlags&8772)!==0):Ja(d,x),oo=G,Ws=Y}break;case 30:break;default:Ja(d,x)}}function Gw(d){var p=d.alternate;p!==null&&(d.alternate=null,Gw(p)),d.child=null,d.deletions=null,d.sibling=null,d.tag===5&&(p=d.stateNode,p!==null&&Vk(p)),d.stateNode=null,d.return=null,d.dependencies=null,d.memoizedProps=null,d.memoizedState=null,d.pendingProps=null,d.stateNode=null,d.updateQueue=null}function Xr(d,p,x){for(x=x.child;x!==null;)mp(d,p,x),x=x.sibling}function mp(d,p,x){if(ar&&typeof ar.onCommitFiberUnmount==="function")try{ar.onCommitFiberUnmount(zf,x)}catch(Y){}switch(x.tag){case 26:if(Kr){Ws||ga(x,p),Xr(d,p,x),x.memoizedState?Ky(x.memoizedState):x.stateNode&&Qy(x.stateNode);break}case 27:if(ni){Ws||ga(x,p);var R=Ks,G=Ui;kc(x.type)&&(Ks=x.stateNode,Ui=!1),Xr(d,p,x),e5(x.stateNode),Ks=R,Ui=G;break}case 5:Ws||ga(x,p);case 6:if(Ei){if(R=Ks,G=Ui,Ks=null,Xr(d,p,x),Ks=R,Ui=G,Ks!==null)if(Ui)try{mx(Ks,x.stateNode)}catch(Y){Rn(x,p,Y)}else try{dx(Ks,x.stateNode)}catch(Y){Rn(x,p,Y)}}else Xr(d,p,x);break;case 18:Ei&&Ks!==null&&(Ui?Jx(Ks,x.stateNode):Yx(Ks,x.stateNode));break;case 4:Ei?(R=Ks,G=Ui,Ks=x.stateNode.containerInfo,Ui=!0,Xr(d,p,x),Ks=R,Ui=G):(ba&&Hw(x.stateNode,x,Ny()),Xr(d,p,x));break;case 0:case 11:case 14:case 15:Po(2,x,p),Ws||Po(4,x,p),Xr(d,p,x);break;case 1:Ws||(ga(x,p),R=x.stateNode,typeof R.componentWillUnmount==="function"&&Pw(x,p,R)),Xr(d,p,x);break;case 21:Xr(d,p,x);break;case 22:Ws=(R=Ws)||x.memoizedState!==null,Xr(d,p,x),Ws=R;break;default:Xr(d,p,x)}}function Vw(d,p){if(Ci&&p.memoizedState===null&&(d=p.alternate,d!==null&&(d=d.memoizedState,d!==null))){d=d.dehydrated;try{$x(d)}catch(x){Rn(p,p.return,x)}}}function $w(d,p){if(Ci&&p.memoizedState===null&&(d=p.alternate,d!==null&&(d=d.memoizedState,d!==null&&(d=d.dehydrated,d!==null))))try{Xx(d)}catch(x){Rn(p,p.return,x)}}function wk(d){switch(d.tag){case 31:case 13:case 19:var p=d.stateNode;return p===null&&(p=d.stateNode=new f5),p;case 22:return d=d.stateNode,p=d._retryCache,p===null&&(p=d._retryCache=new f5),p;default:throw Error(i(435,d.tag))}}function Nu(d,p){var x=wk(d);p.forEach(function(R){if(!x.has(R)){x.add(R);var G=Tk.bind(null,d,R);R.then(G,G)}})}function Ai(d,p){var x=p.deletions;if(x!==null)for(var R=0;R<x.length;R++){var G=x[R],Y=d,re=p;if(Ei){var je=re;e:for(;je!==null;){switch(je.tag){case 27:if(ni){if(kc(je.type)){Ks=je.stateNode,Ui=!1;break e}break}case 5:Ks=je.stateNode,Ui=!1;break e;case 3:case 4:Ks=je.stateNode.containerInfo,Ui=!0;break e}je=je.return}if(Ks===null)throw Error(i(160));mp(Y,re,G),Ks=null,Ui=!1}else mp(Y,re,G);Y=G.alternate,Y!==null&&(Y.return=null),G.return=null}if(p.subtreeFlags&13886)for(p=p.child;p!==null;)Xw(p,d),p=p.sibling}function Xw(d,p){var x=d.alternate,R=d.flags;switch(d.tag){case 0:case 11:case 14:case 15:Ai(p,d),qi(d),R&4&&(Po(3,d,d.return),Df(3,d),Po(5,d,d.return));break;case 1:Ai(p,d),qi(d),R&512&&(Ws||x===null||ga(x,x.return)),R&64&&oo&&(d=d.updateQueue,d!==null&&(R=d.callbacks,R!==null&&(x=d.shared.hiddenCallbacks,d.shared.hiddenCallbacks=x===null?R:x.concat(R))));break;case 26:if(Kr){var G=Jr;if(Ai(p,d),qi(d),R&512&&(Ws||x===null||ga(x,x.return)),R&4){R=x!==null?x.memoizedState:null;var Y=d.memoizedState;x===null?Y===null?d.stateNode===null?d.stateNode=sA(G,d.type,d.memoizedProps,d):Yy(G,d.type,d.stateNode):d.stateNode=Wy(G,Y,d.memoizedProps):R!==Y?(R===null?x.stateNode!==null&&Qy(x.stateNode):Ky(R),Y===null?Yy(G,d.type,d.stateNode):Wy(G,Y,d.memoizedProps)):Y===null&&d.stateNode!==null&&hp(d,d.memoizedProps,x.memoizedProps)}break}case 27:if(ni){Ai(p,d),qi(d),R&512&&(Ws||x===null||ga(x,x.return)),x!==null&&R&4&&hp(d,d.memoizedProps,x.memoizedProps);break}case 5:if(Ai(p,d),qi(d),R&512&&(Ws||x===null||ga(x,x.return)),Ei){if(d.flags&32){G=d.stateNode;try{Py(G)}catch(rt){Rn(d,d.return,rt)}}R&4&&d.stateNode!=null&&(G=d.memoizedProps,hp(d,G,x!==null?x.memoizedProps:G)),R&1024&&(ag=!0)}else ba&&d.alternate!==null&&(d.alternate.stateNode=d.stateNode);break;case 6:if(Ai(p,d),qi(d),R&4&&Ei){if(d.stateNode===null)throw Error(i(162));R=d.memoizedProps,x=x!==null?x.memoizedProps:R,G=d.stateNode;try{ox(G,x,R)}catch(rt){Rn(d,d.return,rt)}}break;case 3:if(Kr?(rA(),G=Jr,Jr=Hp(p.containerInfo),Ai(p,d),Jr=G):Ai(p,d),qi(d),R&4){if(Ei&&Ci&&x!==null&&x.memoizedState.isDehydrated)try{Vx(p.containerInfo)}catch(rt){Rn(d,d.return,rt)}if(ba){R=p.containerInfo,x=p.pendingChildren;try{Hy(R,x)}catch(rt){Rn(d,d.return,rt)}}}ag&&(ag=!1,Ww(d));break;case 4:Kr?(x=Jr,Jr=Hp(d.stateNode.containerInfo),Ai(p,d),qi(d),Jr=x):(Ai(p,d),qi(d)),R&4&&ba&&Hw(d.stateNode,d,d.stateNode.pendingChildren);break;case 12:Ai(p,d),qi(d);break;case 31:Ai(p,d),qi(d),R&4&&(R=d.updateQueue,R!==null&&(d.updateQueue=null,Nu(d,R)));break;case 13:Ai(p,d),qi(d),d.child.flags&8192&&d.memoizedState!==null!==(x!==null&&x.memoizedState!==null)&&(wd=Hi()),R&4&&(R=d.updateQueue,R!==null&&(d.updateQueue=null,Nu(d,R)));break;case 22:G=d.memoizedState!==null;var re=x!==null&&x.memoizedState!==null,je=oo,Ge=Ws;if(oo=je||G,Ws=Ge||re,Ai(p,d),Ws=Ge,oo=je,qi(d),R&8192&&(p=d.stateNode,p._visibility=G?p._visibility&-2:p._visibility|1,G&&(x===null||re||oo||Ws||jl(d)),Ei)){e:if(x=null,Ei)for(p=d;;){if(p.tag===5||Kr&&p.tag===26){if(x===null){re=x=p;try{Y=re.stateNode,G?px(Y):bx(re.stateNode,re.memoizedProps)}catch(rt){Rn(re,re.return,rt)}}}else if(p.tag===6){if(x===null){re=p;try{var et=re.stateNode;G?gx(et):wx(et,re.memoizedProps)}catch(rt){Rn(re,re.return,rt)}}}else if(p.tag===18){if(x===null){re=p;try{var bt=re.stateNode;G?Zx(bt):eA(re.stateNode)}catch(rt){Rn(re,re.return,rt)}}}else if((p.tag!==22&&p.tag!==23||p.memoizedState===null||p===d)&&p.child!==null){p.child.return=p,p=p.child;continue}if(p===d)break e;for(;p.sibling===null;){if(p.return===null||p.return===d)break e;x===p&&(x=null),p=p.return}x===p&&(x=null),p.sibling.return=p.return,p=p.sibling}}R&4&&(R=d.updateQueue,R!==null&&(x=R.retryQueue,x!==null&&(R.retryQueue=null,Nu(d,x))));break;case 19:Ai(p,d),qi(d),R&4&&(R=d.updateQueue,R!==null&&(d.updateQueue=null,Nu(d,R)));break;case 30:break;case 21:break;default:Ai(p,d),qi(d)}}function qi(d){var p=d.flags;if(p&2){try{for(var x,R=d.return;R!==null;){if(Bw(R)){x=R;break}R=R.return}if(Ei){if(x==null)throw Error(i(160));switch(x.tag){case 27:if(ni){var G=x.stateNode,Y=up(d);Pu(d,Y,G);break}case 5:var re=x.stateNode;x.flags&32&&(Py(re),x.flags&=-33);var je=up(d);Pu(d,je,re);break;case 3:case 4:var Ge=x.stateNode.containerInfo,et=up(d);dp(d,et,Ge);break;default:throw Error(i(161))}}}catch(bt){Rn(d,d.return,bt)}d.flags&=-3}p&4096&&(d.flags&=-4097)}function Ww(d){if(d.subtreeFlags&1024)for(d=d.child;d!==null;){var p=d;Ww(p),p.tag===5&&p.flags&1024&&Yk(p.stateNode),d=d.sibling}}function Ja(d,p){if(p.subtreeFlags&8772)for(p=p.child;p!==null;)zw(d,p.alternate,p),p=p.sibling}function jl(d){for(d=d.child;d!==null;){var p=d;switch(p.tag){case 0:case 11:case 14:case 15:Po(4,p,p.return),jl(p);break;case 1:ga(p,p.return);var x=p.stateNode;typeof x.componentWillUnmount==="function"&&Pw(p,p.return,x),jl(p);break;case 27:ni&&e5(p.stateNode);case 26:case 5:ga(p,p.return),jl(p);break;case 22:p.memoizedState===null&&jl(p);break;case 30:jl(p);break;default:jl(p)}d=d.sibling}}function Za(d,p,x){x=x&&(p.subtreeFlags&8772)!==0;for(p=p.child;p!==null;){var R=p.alternate,G=d,Y=p,re=Y.flags;switch(Y.tag){case 0:case 11:case 15:Za(G,Y,x),Df(4,Y);break;case 1:if(Za(G,Y,x),R=Y,G=R.stateNode,typeof G.componentDidMount==="function")try{G.componentDidMount()}catch(et){Rn(R,R.return,et)}if(R=Y,G=R.updateQueue,G!==null){var je=R.stateNode;try{var Ge=G.shared.hiddenCallbacks;if(Ge!==null)for(G.shared.hiddenCallbacks=null,G=0;G<Ge.length;G++)Vr(Ge[G],je)}catch(et){Rn(R,R.return,et)}}x&&re&64&&Ow(Y),qf(Y,Y.return);break;case 27:ni&&Uw(Y);case 26:case 5:Za(G,Y,x),x&&R===null&&re&4&&Nw(Y),qf(Y,Y.return);break;case 12:Za(G,Y,x);break;case 31:Za(G,Y,x),x&&re&4&&Vw(G,Y);break;case 13:Za(G,Y,x),x&&re&4&&$w(G,Y);break;case 22:Y.memoizedState===null&&Za(G,Y,x),qf(Y,Y.return);break;case 30:break;default:Za(G,Y,x)}p=p.sibling}}function pp(d,p){var x=null;d!==null&&d.memoizedState!==null&&d.memoizedState.cachePool!==null&&(x=d.memoizedState.cachePool.pool),d=null,p.memoizedState!==null&&p.memoizedState.cachePool!==null&&(d=p.memoizedState.cachePool.pool),d!==x&&(d!=null&&d.refCount++,x!=null&&qt(x))}function bp(d,p){d=null,p.alternate!==null&&(d=p.alternate.memoizedState.cache),p=p.memoizedState.cache,p!==d&&(p.refCount++,d!=null&&qt(d))}function Wr(d,p,x,R){if(p.subtreeFlags&10256)for(p=p.child;p!==null;)Kw(d,p,x,R),p=p.sibling}function Kw(d,p,x,R){var G=p.flags;switch(p.tag){case 0:case 11:case 15:Wr(d,p,x,R),G&2048&&Df(9,p);break;case 1:Wr(d,p,x,R);break;case 3:Wr(d,p,x,R),G&2048&&(d=null,p.alternate!==null&&(d=p.alternate.memoizedState.cache),p=p.memoizedState.cache,p!==d&&(p.refCount++,d!=null&&qt(d)));break;case 12:if(G&2048){Wr(d,p,x,R),d=p.stateNode;try{var Y=p.memoizedProps,re=Y.id,je=Y.onPostCommit;typeof je==="function"&&je(re,p.alternate===null?"mount":"update",d.passiveEffectDuration,-0)}catch(Ge){Rn(p,p.return,Ge)}}else Wr(d,p,x,R);break;case 31:Wr(d,p,x,R);break;case 13:Wr(d,p,x,R);break;case 23:break;case 22:Y=p.stateNode,re=p.alternate,p.memoizedState!==null?Y._visibility&2?Wr(d,p,x,R):Ff(d,p):Y._visibility&2?Wr(d,p,x,R):(Y._visibility|=2,gc(d,p,x,R,(p.subtreeFlags&10256)!==0||!1)),G&2048&&pp(re,p);break;case 24:Wr(d,p,x,R),G&2048&&bp(p.alternate,p);break;default:Wr(d,p,x,R)}}function gc(d,p,x,R,G){G=G&&((p.subtreeFlags&10256)!==0||!1);for(p=p.child;p!==null;){var Y=d,re=p,je=x,Ge=R,et=re.flags;switch(re.tag){case 0:case 11:case 15:gc(Y,re,je,Ge,G),Df(8,re);break;case 23:break;case 22:var bt=re.stateNode;re.memoizedState!==null?bt._visibility&2?gc(Y,re,je,Ge,G):Ff(Y,re):(bt._visibility|=2,gc(Y,re,je,Ge,G)),G&&et&2048&&pp(re.alternate,re);break;case 24:gc(Y,re,je,Ge,G),G&&et&2048&&bp(re.alternate,re);break;default:gc(Y,re,je,Ge,G)}p=p.sibling}}function Ff(d,p){if(p.subtreeFlags&10256)for(p=p.child;p!==null;){var x=d,R=p,G=R.flags;switch(R.tag){case 22:Ff(x,R),G&2048&&pp(R.alternate,R);break;case 24:Ff(x,R),G&2048&&bp(R.alternate,R);break;default:Ff(x,R)}p=p.sibling}}function _l(d,p,x){if(d.subtreeFlags&Bc)for(d=d.child;d!==null;)Yw(d,p,x),d=d.sibling}function Yw(d,p,x){switch(d.tag){case 26:if(_l(d,p,x),d.flags&Bc)if(d.memoizedState!==null)oA(x,Jr,d.memoizedState,d.memoizedProps);else{var R=d.stateNode,G=d.type;d=d.memoizedProps,((p&335544128)===p||Op(G,d))&&Oy(x,R,G,d)}break;case 5:_l(d,p,x),d.flags&Bc&&(R=d.stateNode,G=d.type,d=d.memoizedProps,((p&335544128)===p||Op(G,d))&&Oy(x,R,G,d));break;case 3:case 4:Kr?(R=Jr,Jr=Hp(d.stateNode.containerInfo),_l(d,p,x),Jr=R):_l(d,p,x);break;case 22:d.memoizedState===null&&(R=d.alternate,R!==null&&R.memoizedState!==null?(R=Bc,Bc=16777216,_l(d,p,x),Bc=R):_l(d,p,x));break;default:_l(d,p,x)}}function Qw(d){var p=d.alternate;if(p!==null&&(d=p.child,d!==null)){p.child=null;do p=d.sibling,d.sibling=null,d=p;while(d!==null)}}function Lf(d){var p=d.deletions;if((d.flags&16)!==0){if(p!==null)for(var x=0;x<p.length;x++){var R=p[x];oi=R,Zw(R,d)}Qw(d)}if(d.subtreeFlags&10256)for(d=d.child;d!==null;)Jw(d),d=d.sibling}function Jw(d){switch(d.tag){case 0:case 11:case 15:Lf(d),d.flags&2048&&Po(9,d,d.return);break;case 3:Lf(d);break;case 12:Lf(d);break;case 22:var p=d.stateNode;d.memoizedState!==null&&p._visibility&2&&(d.return===null||d.return.tag!==13)?(p._visibility&=-3,Bu(d)):Lf(d);break;default:Lf(d)}}function Bu(d){var p=d.deletions;if((d.flags&16)!==0){if(p!==null)for(var x=0;x<p.length;x++){var R=p[x];oi=R,Zw(R,d)}Qw(d)}for(d=d.child;d!==null;){switch(p=d,p.tag){case 0:case 11:case 15:Po(8,p,p.return),Bu(p);break;case 22:x=p.stateNode,x._visibility&2&&(x._visibility&=-3,Bu(p));break;default:Bu(p)}d=d.sibling}}function Zw(d,p){for(;oi!==null;){var x=oi;switch(x.tag){case 0:case 11:case 15:Po(8,x,p);break;case 23:case 22:if(x.memoizedState!==null&&x.memoizedState.cachePool!==null){var R=x.memoizedState.cachePool.pool;R!=null&&R.refCount++}break;case 24:qt(x.memoizedState.cache)}if(R=x.child,R!==null)R.return=x,oi=R;else e:for(x=d;oi!==null;){R=oi;var G=R.sibling,Y=R.return;if(Gw(R),R===x){oi=null;break e}if(G!==null){G.return=Y,oi=G;break e}oi=Y}}}function wp(d){var p=Hk(d);if(p!=null){if(typeof p.memoizedProps["data-testname"]!=="string")throw Error(i(364));return p}if(d=Zk(d),d===null)throw Error(i(362));return d.stateNode.current}function yp(d,p){var x=d.tag;switch(p.$$typeof){case hd:if(d.type===p.value)return!0;break;case ud:e:{p=p.value,d=[d,0];for(x=0;x<d.length;){var R=d[x++],G=R.tag,Y=d[x++],re=p[Y];if(G!==5&&G!==26&&G!==27||!Bf(R)){for(;re!=null&&yp(R,re);)Y++,re=p[Y];if(Y===p.length){p=!0;break e}else for(R=R.child;R!==null;)d.push(R,Y),R=R.sibling}}p=!1}return p;case dd:if((x===5||x===26||x===27)&&nx(d.stateNode,p.value))return!0;break;case gd:if(x===5||x===6||x===26||x===27){if(d=tx(d),d!==null&&0<=d.indexOf(p.value))return!0}break;case pd:if(x===5||x===26||x===27){if(d=d.memoizedProps["data-testname"],typeof d==="string"&&d.toLowerCase()===p.value.toLowerCase())return!0}break;default:throw Error(i(365))}return!1}function vp(d){switch(d.$$typeof){case hd:return"<"+(g(d.value)||"Unknown")+">";case ud:return":has("+(vp(d)||"")+")";case dd:return'[role="'+d.value+'"]';case gd:return'"'+d.value+'"';case pd:return'[data-testname="'+d.value+'"]';default:throw Error(i(365))}}function ey(d,p){var x=[];d=[d,0];for(var R=0;R<d.length;){var G=d[R++],Y=G.tag,re=d[R++],je=p[re];if(Y!==5&&Y!==26&&Y!==27||!Bf(G)){for(;je!=null&&yp(G,je);)re++,je=p[re];if(re===p.length)x.push(G);else for(G=G.child;G!==null;)d.push(G,re),G=G.sibling}}return x}function Sp(d,p){if(!Nf)throw Error(i(363));d=wp(d),d=ey(d,p),p=[],d=Array.from(d);for(var x=0;x<d.length;){var R=d[x++],G=R.tag;if(G===5||G===26||G===27)Bf(R)||p.push(R.stateNode);else for(R=R.child;R!==null;)d.push(R),R=R.sibling}return p}function ir(){return(pn&2)!==0&&vn!==0?vn&-vn:Nt.T!==null?_o():zk()}function ty(){if(ur===0)if((vn&536870912)===0||xn){var d=Ku;Ku<<=1,(Ku&3932160)===0&&(Ku=262144),ur=d}else ur=536870912;return d=lr.current,d!==null&&(d.flags|=32),ur}function Bi(d,p,x){if(d===ns&&(Hn===2||Hn===9)||d.cancelPendingCommit!==null)bc(d,0),No(d,vn,ur,!1);if(J(d,x),(pn&2)===0||d!==ns)d===ns&&((pn&2)===0&&(Ul|=x),Ms===4&&No(d,vn,ur,!1)),An(d)}function ny(d,p,x){if((pn&6)!==0)throw Error(i(327));var R=!x&&(p&127)===0&&(p&d.expiredLanes)===0||U(d,p),G=R?Sk(d,p):xp(d,p,!0),Y=R;do{if(G===0){Hc&&!R&&No(d,p,0,!1);break}else{if(x=d.current.alternate,Y&&!yk(x)){G=xp(d,p,!1),Y=!1;continue}if(G===2){if(Y=p,d.errorRecoveryDisabledLanes&Y)var re=0;else re=d.pendingLanes&-536870913,re=re!==0?re:re&536870912?536870912:0;if(re!==0){p=re;e:{var je=d;G=eh;var Ge=Ci&&je.current.memoizedState.isDehydrated;if(Ge&&(bc(je,re).flags|=256),re=xp(je,re,!1),re!==2){if(og&&!Ge){je.errorRecoveryDisabledLanes|=Y,Ul|=Y,G=4;break e}Y=zi,zi=G,Y!==null&&(zi===null?zi=Y:zi.push.apply(zi,Y))}G=re}if(Y=!1,G!==2)continue}}if(G===1){bc(d,0),No(d,p,0,!0);break}e:{switch(R=d,Y=G,Y){case 0:case 1:throw Error(i(345));case 4:if((p&4194048)!==p)break;case 6:No(R,p,ur,!Wo);break e;case 2:zi=null;break;case 3:case 5:break;default:throw Error(i(329))}if((p&62914560)===p&&(G=wd+300-Hi(),10<G)){if(No(R,p,ur,!Wo),P(R,0,!0)!==0)break e;co=p,R.timeoutHandle=Nk(sy.bind(null,R,x,zi,yd,cg,p,ur,Ul,Uc,Wo,Y,"Throttled",-0,0),G);break e}sy(R,x,zi,yd,cg,p,ur,Ul,Uc,Wo,Y,null,-0,0)}}break}while(1);An(d)}function sy(d,p,x,R,G,Y,re,je,Ge,et,bt,rt,jt,en){if(d.timeoutHandle=Dl,rt=p.subtreeFlags,rt&8192||(rt&16785408)===16785408){rt=Wk(),Yw(p,Y,rt);var gi=(Y&62914560)===Y?wd-Hi():(Y&4194048)===Y?h5-Hi():0;if(gi=Kk(rt,gi),gi!==null){co=Y,d.cancelPendingCommit=gi(py.bind(null,d,p,Y,x,R,G,re,je,Ge,bt,rt,null,jt,en)),No(d,Y,re,!et);return}}py(d,p,Y,x,R,G,re,je,Ge)}function yk(d){for(var p=d;;){var x=p.tag;if((x===0||x===11||x===15)&&p.flags&16384&&(x=p.updateQueue,x!==null&&(x=x.stores,x!==null)))for(var R=0;R<x.length;R++){var G=x[R],Y=G.getSnapshot;G=G.value;try{if(!or(Y(),G))return!1}catch(re){return!1}}if(x=p.child,p.subtreeFlags&16384&&x!==null)x.return=p,p=x;else{if(p===d)break;for(;p.sibling===null;){if(p.return===null||p.return===d)return!0;p=p.return}p.sibling.return=p.return,p=p.sibling}}return!0}function No(d,p,x,R){p&=~lg,p&=~Ul,d.suspendedLanes|=p,d.pingedLanes&=~p,R&&(d.warmLanes|=p),R=d.expirationTimes;for(var G=p;0<G;){var Y=31-rr(G),re=1<<Y;R[Y]=-1,G&=~re}x!==0&&te(d,x,p)}function iy(){return(pn&6)===0?(os(0,!1),!1):!0}function kp(){if(wn!==null){if(Hn===0)var d=wn.return;else d=wn,io=Ml=null,Hm(d),Rc=null,Kf=0,d=wn;for(;d!==null;)Lw(d.alternate,d),d=d.return;wn=null}}function bc(d,p){var x=d.timeoutHandle;x!==Dl&&(d.timeoutHandle=Dl,Bk(x)),x=d.cancelPendingCommit,x!==null&&(d.cancelPendingCommit=null,x()),co=0,kp(),ns=d,wn=x=eo(d.current,null),vn=p,Hn=0,cr=null,Wo=!1,Hc=U(d,p),og=!1,Uc=ur=lg=Ul=Ko=Ms=0,zi=eh=null,cg=!1,(p&8)!==0&&(p|=p&32);var R=d.entangledLanes;if(R!==0)for(d=d.entanglements,R&=p;0<R;){var G=31-rr(R),Y=1<<G;p|=d[G],R&=~Y}return lo=p,Gr(),x}function ry(d,p){rn=null,Nt.H=Jf,p===Ic||p===id?(p=Do(),Hn=3):p===Zp?(p=Do(),Hn=4):Hn=p===ig?8:p!==null&&typeof p==="object"&&typeof p.then==="function"?6:1,cr=p,wn===null&&(Ms=1,Du(d,we(p,d.current)))}function ay(){var d=lr.current;return d===null?!0:(vn&4194048)===vn?Er===null?!0:!1:(vn&62914560)===vn||(vn&536870912)!==0?d===Er:!1}function fy(){var d=Nt.H;return Nt.H=Jf,d===null?Jf:d}function hy(){var d=Nt.A;return Nt.A=kA,d}function Hu(){Ms=4,Wo||(vn&4194048)!==vn&&lr.current!==null||(Hc=!0),(Ko&134217727)===0&&(Ul&134217727)===0||ns===null||No(ns,vn,ur,!1)}function xp(d,p,x){var R=pn;pn|=2;var G=fy(),Y=hy();if(ns!==d||vn!==p)yd=null,bc(d,p);p=!1;var re=Ms;e:do try{if(Hn!==0&&wn!==null){var je=wn,Ge=cr;switch(Hn){case 8:kp(),re=6;break e;case 3:case 2:case 9:case 6:lr.current===null&&(p=!0);var et=Hn;if(Hn=0,cr=null,wc(d,je,Ge,et),x&&Hc){re=0;break e}break;default:et=Hn,Hn=0,cr=null,wc(d,je,Ge,et)}}vk(),re=Ms;break}catch(bt){ry(d,bt)}while(1);return p&&d.shellSuspendCounter++,io=Ml=null,pn=R,Nt.H=G,Nt.A=Y,wn===null&&(ns=null,vn=0,Gr()),re}function vk(){for(;wn!==null;)uy(wn)}function Sk(d,p){var x=pn;pn|=2;var R=fy(),G=hy();ns!==d||vn!==p?(yd=null,th=Hi()+500,bc(d,p)):Hc=U(d,p);e:do try{if(Hn!==0&&wn!==null){p=wn;var Y=cr;t:switch(Hn){case 1:Hn=0,cr=null,wc(d,p,Y,1);break;case 2:case 9:if(pa(Y)){Hn=0,cr=null,dy(p);break}p=function(){Hn!==2&&Hn!==9||ns!==d||(Hn=7),An(d)},Y.then(p,p);break e;case 3:Hn=7;break e;case 4:Hn=5;break e;case 7:pa(Y)?(Hn=0,cr=null,dy(p)):(Hn=0,cr=null,wc(d,p,Y,7));break;case 5:var re=null;switch(wn.tag){case 26:re=wn.memoizedState;case 5:case 27:var je=wn,{type:Ge,pendingProps:et}=je;if(re?Jy(re):Ly(je.stateNode,Ge,et)){Hn=0,cr=null;var bt=je.sibling;if(bt!==null)wn=bt;else{var rt=je.return;rt!==null?(wn=rt,Uu(rt)):wn=null}break t}}Hn=0,cr=null,wc(d,p,Y,5);break;case 6:Hn=0,cr=null,wc(d,p,Y,6);break;case 8:kp(),Ms=6;break e;default:throw Error(i(462))}}kk();break}catch(jt){ry(d,jt)}while(1);if(io=Ml=null,Nt.H=R,Nt.A=G,pn=x,wn!==null)return 0;return ns=null,vn=0,Gr(),Ms}function kk(){for(;wn!==null&&!hA();)uy(wn)}function uy(d){var p=Rw(d.alternate,d,lo);d.memoizedProps=d.pendingProps,p===null?Uu(d):wn=p}function dy(d){var p=d,x=p.alternate;switch(p.tag){case 15:case 0:p=Tw(x,p,p.pendingProps,p.type,void 0,vn);break;case 11:p=Tw(x,p,p.pendingProps,p.type.render,p.ref,vn);break;case 5:Hm(p);default:Lw(x,p),p=wn=xy(p,lo),p=Rw(x,p,lo)}d.memoizedProps=d.pendingProps,p===null?Uu(d):wn=p}function wc(d,p,x,R){io=Ml=null,Hm(p),Rc=null,Kf=0;var G=p.return;try{if(uk(d,G,p,x,vn)){Ms=1,Du(d,we(x,d.current)),wn=null;return}}catch(Y){if(G!==null)throw wn=G,Y;Ms=1,Du(d,we(x,d.current)),wn=null;return}if(p.flags&32768){if(xn||R===1)d=!0;else if(Hc||(vn&536870912)!==0)d=!1;else if(Wo=d=!0,R===2||R===9||R===3||R===6)R=lr.current,R!==null&&R.tag===13&&(R.flags|=16384);my(p,d)}else Uu(p)}function Uu(d){var p=d;do{if((p.flags&32768)!==0){my(p,Wo);return}d=p.return;var x=pk(p.alternate,p,lo);if(x!==null){wn=x;return}if(p=p.sibling,p!==null){wn=p;return}wn=p=d}while(p!==null);Ms===0&&(Ms=5)}function my(d,p){do{var x=gk(d.alternate,d);if(x!==null){x.flags&=32767,wn=x;return}if(x=d.return,x!==null&&(x.flags|=32768,x.subtreeFlags=0,x.deletions=null),!p&&(d=d.sibling,d!==null)){wn=d;return}wn=d=x}while(d!==null);Ms=6,wn=null}function py(d,p,x,R,G,Y,re,je,Ge){d.cancelPendingCommit=null;do Of();while(si!==0);if((pn&6)!==0)throw Error(i(327));if(p!==null){if(p===d.current)throw Error(i(177));if(Y=p.lanes|p.childLanes,Y|=eg,ee(d,x,Y,re,je,Ge),d===ns&&(wn=ns=null,vn=0),zc=p,Qo=d,co=x,fg=Y,hg=G,u5=R,(p.subtreeFlags&10256)!==0||(p.flags&10256)!==0?(d.callbackNode=null,d.callbackPriority=0,Ek(Gp,function(){return vy(),null})):(d.callbackNode=null,d.callbackPriority=0),R=(p.flags&13878)!==0,(p.subtreeFlags&13878)!==0||R){R=Nt.T,Nt.T=null,G=so(),ai(2),re=pn,pn|=4;try{bk(d,p,x)}finally{pn=re,ai(G),Nt.T=R}}si=1,gy(),by(),wy()}}function gy(){if(si===1){si=0;var d=Qo,p=zc,x=(p.flags&13878)!==0;if((p.subtreeFlags&13878)!==0||x){x=Nt.T,Nt.T=null;var R=so();ai(2);var G=pn;pn|=4;try{Xw(p,d),Ok(d.containerInfo)}finally{pn=G,ai(R),Nt.T=x}}d.current=p,si=2}}function by(){if(si===2){si=0;var d=Qo,p=zc,x=(p.flags&8772)!==0;if((p.subtreeFlags&8772)!==0||x){x=Nt.T,Nt.T=null;var R=so();ai(2);var G=pn;pn|=4;try{zw(d,p.alternate,p)}finally{pn=G,ai(R),Nt.T=x}}si=3}}function wy(){if(si===4||si===3){si=0,uA();var d=Qo,p=zc,x=co,R=u5;(p.subtreeFlags&10256)!==0||(p.flags&10256)!==0?si=5:(si=0,zc=Qo=null,yy(d,d.pendingLanes));var G=d.pendingLanes;if(G===0&&(Yo=null),oe(x),p=p.stateNode,ar&&typeof ar.onCommitFiberRoot==="function")try{ar.onCommitFiberRoot(zf,p,void 0,(p.current.flags&128)===128)}catch(Ge){}if(R!==null){p=Nt.T,G=so(),ai(2),Nt.T=null;try{for(var Y=d.onRecoverableError,re=0;re<R.length;re++){var je=R[re];Y(je.value,{componentStack:je.stack})}}finally{Nt.T=p,ai(G)}}(co&3)!==0&&Of(),An(d),G=d.pendingLanes,(x&261930)!==0&&(G&42)!==0?d===ug?nh++:(nh=0,ug=d):nh=0,Ci&&Kx(),os(0,!1)}}function yy(d,p){(d.pooledCacheLanes&=p)===0&&(p=d.pooledCache,p!=null&&(d.pooledCache=null,qt(p)))}function Of(){return gy(),by(),wy(),vy()}function vy(){if(si!==5)return!1;var d=Qo,p=fg;fg=0;var x=oe(co),R=32>x?32:x;x=Nt.T;var G=so();try{ai(R),Nt.T=null,R=hg,hg=null;var Y=Qo,re=co;if(si=0,zc=Qo=null,co=0,(pn&6)!==0)throw Error(i(331));var je=pn;if(pn|=4,Jw(Y.current),Kw(Y,Y.current,re,R),pn=je,os(0,!1),ar&&typeof ar.onPostCommitFiberRoot==="function")try{ar.onPostCommitFiberRoot(zf,Y)}catch(Ge){}return!0}finally{ai(G),Nt.T=x,yy(d,p)}}function Sy(d,p,x){p=we(x,p),p=Zm(d.stateNode,p,2),d=Bn(d,p,2),d!==null&&(J(d,2),An(d))}function Rn(d,p,x){if(d.tag===3)Sy(d,d,x);else for(;p!==null;){if(p.tag===3){Sy(p,d,x);break}else if(p.tag===1){var R=p.stateNode;if(typeof p.type.getDerivedStateFromError==="function"||typeof R.componentDidCatch==="function"&&(Yo===null||!Yo.has(R))){d=we(x,d),x=gw(2),R=Bn(p,x,2),R!==null&&(bw(x,R,p,d),J(R,2),An(R));break}}p=p.return}}function Ap(d,p,x){var R=d.pingCache;if(R===null){R=d.pingCache=new xA;var G=new Set;R.set(p,G)}else G=R.get(p),G===void 0&&(G=new Set,R.set(p,G));G.has(x)||(og=!0,G.add(x),d=xk.bind(null,d,p,x),p.then(d,d))}function xk(d,p,x){var R=d.pingCache;R!==null&&R.delete(p),d.pingedLanes|=d.suspendedLanes&x,d.warmLanes&=~x,ns===d&&(vn&x)===x&&(Ms===4||Ms===3&&(vn&62914560)===vn&&300>Hi()-wd?(pn&2)===0&&bc(d,0):lg|=x,Uc===vn&&(Uc=0)),An(d)}function ky(d,p){p===0&&(p=V()),d=Et(d,p),d!==null&&(J(d,p),An(d))}function Ak(d){var p=d.memoizedState,x=0;p!==null&&(x=p.retryLane),ky(d,x)}function Tk(d,p){var x=0;switch(d.tag){case 31:case 13:var{stateNode:R,memoizedState:G}=d;G!==null&&(x=G.retryLane);break;case 19:R=d.stateNode;break;case 22:R=d.stateNode._retryCache;break;default:throw Error(i(314))}R!==null&&R.delete(p),ky(d,x)}function Ek(d,p){return Ju(d,p)}function Ck(d,p,x,R){this.tag=d,this.key=x,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=p,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=R,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Tp(d){return d=d.prototype,!(!d||!d.isReactComponent)}function eo(d,p){var x=d.alternate;return x===null?(x=n(d.tag,p,d.key,d.mode),x.elementType=d.elementType,x.type=d.type,x.stateNode=d.stateNode,x.alternate=d,d.alternate=x):(x.pendingProps=p,x.type=d.type,x.flags=0,x.subtreeFlags=0,x.deletions=null),x.flags=d.flags&65011712,x.childLanes=d.childLanes,x.lanes=d.lanes,x.child=d.child,x.memoizedProps=d.memoizedProps,x.memoizedState=d.memoizedState,x.updateQueue=d.updateQueue,p=d.dependencies,x.dependencies=p===null?null:{lanes:p.lanes,firstContext:p.firstContext},x.sibling=d.sibling,x.index=d.index,x.ref=d.ref,x.refCleanup=d.refCleanup,x}function xy(d,p){d.flags&=65011714;var x=d.alternate;return x===null?(d.childLanes=0,d.lanes=p,d.child=null,d.subtreeFlags=0,d.memoizedProps=null,d.memoizedState=null,d.updateQueue=null,d.dependencies=null,d.stateNode=null):(d.childLanes=x.childLanes,d.lanes=x.lanes,d.child=x.child,d.subtreeFlags=0,d.deletions=null,d.memoizedProps=x.memoizedProps,d.memoizedState=x.memoizedState,d.updateQueue=x.updateQueue,d.type=x.type,p=x.dependencies,d.dependencies=p===null?null:{lanes:p.lanes,firstContext:p.firstContext}),d}function zu(d,p,x,R,G,Y){var re=0;if(R=d,typeof d==="function")Tp(d)&&(re=1);else if(typeof d==="string")re=Kr&&ni?$y(d,x,mi.current)?26:t5(d)?27:5:Kr?$y(d,x,mi.current)?26:5:ni?t5(d)?27:5:5;else e:switch(d){case Fp:return d=n(31,x,p,G),d.elementType=Fp,d.lanes=Y,d;case vc:return Rl(x.children,G,Y,p);case Iy:re=8,G|=24;break;case Ip:return d=n(12,x,p,G|2),d.elementType=Ip,d.lanes=Y,d;case Dp:return d=n(13,x,p,G),d.elementType=Dp,d.lanes=Y,d;case qp:return d=n(19,x,p,G),d.elementType=qp,d.lanes=Y,d;default:if(typeof d==="object"&&d!==null)switch(d.$$typeof){case Bo:re=10;break e;case Ry:re=9;break e;case Rp:re=11;break e;case Mp:re=14;break e;case Ho:re=16,R=null;break e}re=29,x=Error(i(130,d===null?"null":typeof d,"")),R=null}return p=n(re,x,p,G),p.elementType=d,p.type=R,p.lanes=Y,p}function Rl(d,p,x,R){return d=n(7,d,R,p),d.lanes=x,d}function Ep(d,p,x){return d=n(6,d,null,p),d.lanes=x,d}function Ay(d){var p=n(18,null,null,0);return p.stateNode=d,p}function Cp(d,p,x){return p=n(4,d.children!==null?d.children:[],d.key,p),p.lanes=x,p.stateNode={containerInfo:d.containerInfo,pendingChildren:null,implementation:d.implementation},p}function jk(d,p,x,R,G,Y,re,je,Ge){this.tag=1,this.containerInfo=d,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=Dl,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=X(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=X(0),this.hiddenUpdates=X(null),this.identifierPrefix=R,this.onUncaughtError=G,this.onCaughtError=Y,this.onRecoverableError=re,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=Ge,this.incompleteTransitions=new Map}function Ty(d,p,x,R,G,Y,re,je,Ge,et,bt,rt){return d=new jk(d,p,x,re,Ge,et,bt,rt,je),p=1,Y===!0&&(p|=24),Y=n(3,null,null,p),d.current=Y,Y.stateNode=d,p=Gn(),p.refCount++,d.pooledCache=p,p.refCount++,Y.memoizedState={element:R,isDehydrated:x,cache:p},fn(Y),d}function Ey(d){if(!d)return Ac;return d=Ac,d}function Cy(d){var p=d._reactInternals;if(p===void 0){if(typeof d.render==="function")throw Error(i(188));throw d=Object.keys(d).join(","),Error(i(268,d))}return d=l(p),d=d!==null?c(d):null,d===null?null:Pf(d.stateNode)}function jy(d,p,x,R,G,Y){G=Ey(G),R.context===null?R.context=G:R.pendingContext=G,R=Fn(p),R.payload={element:x},Y=Y===void 0?null:Y,Y!==null&&(R.callback=Y),x=Bn(d,R,p),x!==null&&(Bi(x,d,p),Xn(x,d,p))}function _y(d,p){if(d=d.memoizedState,d!==null&&d.dehydrated!==null){var x=d.retryLane;d.retryLane=x!==0&&x<p?x:p}}function jp(d,p){_y(d,p),(d=d.alternate)&&_y(d,p)}var mn={},_p=Object.assign,_k=Symbol.for("react.element"),Gu=Symbol.for("react.transitional.element"),yc=Symbol.for("react.portal"),vc=Symbol.for("react.fragment"),Iy=Symbol.for("react.strict_mode"),Ip=Symbol.for("react.profiler"),Ry=Symbol.for("react.consumer"),Bo=Symbol.for("react.context"),Rp=Symbol.for("react.forward_ref"),Dp=Symbol.for("react.suspense"),qp=Symbol.for("react.suspense_list"),Mp=Symbol.for("react.memo"),Ho=Symbol.for("react.lazy"),Fp=Symbol.for("react.activity"),Ik=Symbol.for("react.memo_cache_sentinel"),Dy=Symbol.iterator,Rk=Symbol.for("react.client.reference"),Vu=Array.isArray,Nt=Wi,{rendererVersion:Dk,rendererPackageName:qk,extraDevToolsConfig:qy,getPublicInstance:Pf,getRootHostContext:Mk,getChildHostContext:Fk,prepareForCommit:Lk,resetAfterCommit:Ok,createInstance:Pk}=e;e.cloneMutableInstance;var{appendInitialChild:Lp,finalizeInitialChildren:My,shouldSetTextContent:$u,createTextInstance:Fy}=e;e.cloneMutableTextInstance;var{scheduleTimeout:Nk,cancelTimeout:Bk,noTimeout:Dl,isPrimaryRenderer:to}=e;e.warnsIfNotActing;var{supportsMutation:Ei,supportsPersistence:ba,supportsHydration:Ci,getInstanceFromNode:Hk}=e;e.beforeActiveInstanceBlur;var Uk=e.preparePortalMount;e.prepareScopeUpdate,e.getInstanceFromScope;var{setCurrentUpdatePriority:ai,getCurrentUpdatePriority:so,resolveUpdatePriority:zk}=e;e.trackSchedulerEvent,e.resolveEventType,e.resolveEventTimeStamp;var{shouldAttemptEagerTransition:Gk,detachDeletedInstance:Vk}=e;e.requestPostPaintCallback;var{maySuspendCommit:$k,maySuspendCommitOnUpdate:Xk,maySuspendCommitInSyncRender:Op,preloadInstance:Ly,startSuspendingCommit:Wk,suspendInstance:Oy}=e;e.suspendOnActiveViewTransition;var Kk=e.waitForCommitToBeReady;e.getSuspendedCommitReason;var{NotPendingTransition:Sc,HostTransitionContext:ql,resetFormInstance:Yk}=e;e.bindToConsole;var{supportsMicrotasks:Qk,scheduleMicrotask:Jk,supportsTestSelectors:Nf,findFiberRoot:Zk,getBoundingRect:ex,getTextContent:tx,isHiddenSubtree:Bf,matchAccessibilityRole:nx,setFocusIfFocusable:sx,setupIntersectionObserver:ix,appendChild:rx,appendChildToContainer:ax,commitTextUpdate:ox,commitMount:lx,commitUpdate:cx,insertBefore:hx,insertInContainerBefore:ux,removeChild:dx,removeChildFromContainer:mx,resetTextContent:Py,hideInstance:px,hideTextInstance:gx,unhideInstance:bx,unhideTextInstance:wx}=e;e.cancelViewTransitionName,e.cancelRootViewTransitionName,e.restoreRootViewTransitionName,e.cloneRootViewTransitionContainer,e.removeRootViewTransitionClone,e.measureClonedInstance,e.hasInstanceChanged,e.hasInstanceAffectedParent,e.startViewTransition,e.startGestureTransition,e.stopViewTransition,e.getCurrentGestureOffset,e.createViewTransitionInstance;var yx=e.clearContainer;e.createFragmentInstance,e.updateFragmentInstanceFiber,e.commitNewChildToFragmentInstance,e.deleteChildFromFragmentInstance;var{cloneInstance:vx,createContainerChildSet:Ny,appendChildToContainerChildSet:By,finalizeContainerChildren:Sx,replaceContainerChildren:Hy,cloneHiddenInstance:Uy,cloneHiddenTextInstance:zy,isSuspenseInstancePending:Pp,isSuspenseInstanceFallback:Bp,getSuspenseInstanceFallbackErrorDetails:kx,registerSuspenseInstanceRetry:xx,canHydrateFormStateMarker:Ax,isFormStateMarkerMatching:Tx,getNextHydratableSibling:Gy,getNextHydratableSiblingAfterSingleton:Ex,getFirstHydratableChild:Cx,getFirstHydratableChildWithinContainer:jx,getFirstHydratableChildWithinActivityInstance:_x,getFirstHydratableChildWithinSuspenseInstance:Ix,getFirstHydratableChildWithinSingleton:Rx,canHydrateInstance:Dx,canHydrateTextInstance:Mx,canHydrateActivityInstance:Fx,canHydrateSuspenseInstance:Lx,hydrateInstance:Ox,hydrateTextInstance:Px,hydrateActivityInstance:Nx,hydrateSuspenseInstance:Bx,getNextHydratableInstanceAfterActivityInstance:Ux,getNextHydratableInstanceAfterSuspenseInstance:zx,commitHydratedInstance:Gx,commitHydratedContainer:Vx,commitHydratedActivityInstance:$x,commitHydratedSuspenseInstance:Xx,finalizeHydratedChildren:Wx,flushHydrationEvents:Kx}=e;e.clearActivityBoundary;var Yx=e.clearSuspenseBoundary;e.clearActivityBoundaryFromContainer;var{clearSuspenseBoundaryFromContainer:Jx,hideDehydratedBoundary:Zx,unhideDehydratedBoundary:eA,shouldDeleteUnhydratedTailInstances:Vy}=e;e.diffHydratedPropsForDevWarnings,e.diffHydratedTextForDevWarnings,e.describeHydratableInstanceForDevWarnings;var{validateHydratableInstance:tA,validateHydratableTextInstance:nA,supportsResources:Kr,isHostHoistableType:$y,getHoistableRoot:Hp,getResource:Xy,acquireResource:Wy,releaseResource:Ky,hydrateHoistable:sA,mountHoistable:Yy,unmountHoistable:Qy,createHoistableInstance:iA,prepareToCommitHoistables:rA,mayResourceSuspendCommit:aA,preloadResource:Jy,suspendResource:oA,supportsSingletons:ni,resolveSingletonInstance:Zy,acquireSingletonInstance:lA,releaseSingletonInstance:e5,isHostSingletonType:t5,isSingletonScope:kc}=e,Up=[],xc=-1,Ac={},rr=Math.clz32?Math.clz32:T,{log:cA,LN2:fA}=Math,Xu=256,Ku=262144,Qu=4194304,Ju=Fs,zp=pl,hA=hl,uA=ml,Hi=Jn,n5=dl,dA=fl,Gp=Os,mA=Xi,pA=void 0,gA=void 0,zf=null,ar=null,or=typeof Object.is==="function"?Object.is:Se,s5=typeof reportError==="function"?reportError:function(d){if(typeof window==="object"&&typeof window.ErrorEvent==="function"){var p=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof d==="object"&&d!==null&&typeof d.message==="string"?String(d.message):String(d),error:d});if(!window.dispatchEvent(p))return}else if(typeof process==="object"&&typeof process.emit==="function"){process.emit("uncaughtException",d);return}console.error(d)},bA=Object.prototype.hasOwnProperty,Vp,i5,$p=!1,r5=new WeakMap,Tc=[],Ec=0,Zu=null,Vf=0,kr=[],xr=0,zo=null,wa=1,ya="",mi=b(null),Xf=b(null),Go=b(null),ed=b(null),pi=null,Es=null,xn=!1,Vo=null,Ar=!1,Xp=Error(i(519)),td=b(null),Ml=null,io=null,wA=typeof AbortController<"u"?AbortController:function(){var d=[],p=this.signal={aborted:!1,addEventListener:function(x,R){d.push(R)}};this.abort=function(){p.aborted=!0,d.forEach(function(x){return x()})}},yA=Fs,vA=Os,Cs={$$typeof:Bo,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0},nd=null,Cc=null,Yp=!1,sd=!1,Qp=!1,Fl=0,Wf=null,Jp=0,jc=0,_c=null,a5=Nt.S;Nt.S=function(d,p){h5=Hi(),typeof p==="object"&&p!==null&&typeof p.then==="function"&&El(d,p),a5!==null&&a5(d,p)};var Ll=b(null),Ic=Error(i(460)),Zp=Error(i(474)),id=Error(i(542)),rd={then:function(){}},Ol=null,Rc=null,Kf=0,Pl=ti(!0),o5=ti(!1),Tr=[],Mc=0,eg=0,$o=!1,tg=!1,Lc=b(null),ad=b(0),lr=b(null),Er=null,Us=b(0),ro=0,rn=null,Wn=null,$s=null,od=!1,Pc=!1,Bl=!1,cd=0,Qf=0,Nc=null,SA=0,Jf={readContext:Kt,use:Tu,useCallback:qs,useContext:qs,useEffect:qs,useImperativeHandle:qs,useLayoutEffect:qs,useInsertionEffect:qs,useMemo:qs,useReducer:qs,useRef:qs,useState:qs,useDebugValue:qs,useDeferredValue:qs,useTransition:qs,useSyncExternalStore:qs,useId:qs,useHostTransitionStatus:qs,useFormState:qs,useActionState:qs,useOptimistic:qs,useMemoCache:qs,useCacheRefresh:qs};Jf.useEffectEvent=qs;var l5={readContext:Kt,use:Tu,useCallback:function(d,p){return Ii().memoizedState=[d,p===void 0?null:p],d},useContext:Kt,useEffect:Q2,useImperativeHandle:function(d,p,x){x=x!==null&&x!==void 0?x.concat([d]):null,Cu(4194308,4,tw.bind(null,p,d),x)},useLayoutEffect:function(d,p){return Cu(4194308,4,d,p)},useInsertionEffect:function(d,p){Cu(4,2,d,p)},useMemo:function(d,p){var x=Ii();p=p===void 0?null:p;var R=d();if(Bl){ye(!0);try{d()}finally{ye(!1)}}return x.memoizedState=[R,p],R},useReducer:function(d,p,x){var R=Ii();if(x!==void 0){var G=x(p);if(Bl){ye(!0);try{x(p)}finally{ye(!1)}}}else G=p;return R.memoizedState=R.baseState=G,d={pending:null,lanes:0,dispatch:null,lastRenderedReducer:d,lastRenderedState:G},R.queue=d,d=d.dispatch=hk.bind(null,rn,d),[R.memoizedState,d]},useRef:function(d){var p=Ii();return d={current:d},p.memoizedState=d},useState:function(d){d=Vm(d);var p=d.queue,x=fw.bind(null,rn,p);return p.dispatch=x,[d.memoizedState,x]},useDebugValue:Wm,useDeferredValue:function(d,p){var x=Ii();return Km(x,d,p)},useTransition:function(){var d=Vm(!1);return d=aw.bind(null,rn,d.queue,!0,!1),Ii().memoizedState=d,[!1,d]},useSyncExternalStore:function(d,p,x){var R=rn,G=Ii();if(xn){if(x===void 0)throw Error(i(407));x=x()}else{if(x=p(),ns===null)throw Error(i(349));(vn&127)!==0||F2(R,p,x)}G.memoizedState=x;var Y={value:x,getSnapshot:p};return G.queue=Y,Q2(O2.bind(null,R,Y,d),[d]),R.flags|=2048,pc(9,{destroy:void 0},L2.bind(null,R,Y,x,p),null),x},useId:function(){var d=Ii(),p=ns.identifierPrefix;if(xn){var x=ya,R=wa;x=(R&~(1<<32-rr(R)-1)).toString(32)+x,p="_"+p+"R_"+x,x=cd++,0<x&&(p+="H"+x.toString(32)),p+="_"}else x=SA++,p="_"+p+"r_"+x.toString(32)+"_";return d.memoizedState=p},useHostTransitionStatus:Ym,useFormState:$2,useActionState:$2,useOptimistic:function(d){var p=Ii();p.memoizedState=p.baseState=d;var x={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return p.queue=x,p=Qm.bind(null,rn,!0,x),x.dispatch=p,[d,p]},useMemoCache:Um,useCacheRefresh:function(){return Ii().memoizedState=fk.bind(null,rn)},useEffectEvent:function(d){var p=Ii(),x={impl:d};return p.memoizedState=x,function(){if((pn&2)!==0)throw Error(i(440));return x.impl.apply(void 0,arguments)}}},ng={readContext:Kt,use:Tu,useCallback:sw,useContext:Kt,useEffect:Xm,useImperativeHandle:nw,useInsertionEffect:Z2,useLayoutEffect:ew,useMemo:iw,useReducer:Eu,useRef:Y2,useState:function(){return Eu(Ya)},useDebugValue:Wm,useDeferredValue:function(d,p){var x=Hs();return rw(x,Wn.memoizedState,d,p)},useTransition:function(){var d=Eu(Ya)[0],p=Hs().memoizedState;return[typeof d==="boolean"?d:Cf(d),p]},useSyncExternalStore:M2,useId:lw,useHostTransitionStatus:Ym,useFormState:X2,useActionState:X2,useOptimistic:function(d,p){var x=Hs();return B2(x,Wn,d,p)},useMemoCache:Um,useCacheRefresh:cw};ng.useEffectEvent=J2;var c5={readContext:Kt,use:Tu,useCallback:sw,useContext:Kt,useEffect:Xm,useImperativeHandle:nw,useInsertionEffect:Z2,useLayoutEffect:ew,useMemo:iw,useReducer:Gm,useRef:Y2,useState:function(){return Gm(Ya)},useDebugValue:Wm,useDeferredValue:function(d,p){var x=Hs();return Wn===null?Km(x,d,p):rw(x,Wn.memoizedState,d,p)},useTransition:function(){var d=Gm(Ya)[0],p=Hs().memoizedState;return[typeof d==="boolean"?d:Cf(d),p]},useSyncExternalStore:M2,useId:lw,useHostTransitionStatus:Ym,useFormState:K2,useActionState:K2,useOptimistic:function(d,p){var x=Hs();if(Wn!==null)return B2(x,Wn,d,p);return x.baseState=d,[d,x.queue.dispatch]},useMemoCache:Um,useCacheRefresh:cw};c5.useEffectEvent=J2;var sg={enqueueSetState:function(d,p,x){d=d._reactInternals;var R=ir(),G=Fn(R);G.payload=p,x!==void 0&&x!==null&&(G.callback=x),p=Bn(d,G,R),p!==null&&(Bi(p,d,R),Xn(p,d,R))},enqueueReplaceState:function(d,p,x){d=d._reactInternals;var R=ir(),G=Fn(R);G.tag=1,G.payload=p,x!==void 0&&x!==null&&(G.callback=x),p=Bn(d,G,R),p!==null&&(Bi(p,d,R),Xn(p,d,R))},enqueueForceUpdate:function(d,p){d=d._reactInternals;var x=ir(),R=Fn(x);R.tag=2,p!==void 0&&p!==null&&(R.callback=p),p=Bn(d,R,x),p!==null&&(Bi(p,d,x),Xn(p,d,x))}},ig=Error(i(461)),Xs=!1,rg={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null},oo=!1,Ws=!1,ag=!1,f5=typeof WeakSet==="function"?WeakSet:Set,oi=null,Ks=null,Ui=!1,Jr=null,Bc=8192,kA={getCacheForType:function(d){var p=Kt(Cs),x=p.data.get(d);return x===void 0&&(x=d(),p.data.set(d,x)),x},cacheSignal:function(){return Kt(Cs).controller.signal}},hd=0,ud=1,dd=2,pd=3,gd=4;if(typeof Symbol==="function"&&Symbol.for){var Zf=Symbol.for;hd=Zf("selector.component"),ud=Zf("selector.has_pseudo_class"),dd=Zf("selector.role"),pd=Zf("selector.test_id"),gd=Zf("selector.text")}var xA=typeof WeakMap==="function"?WeakMap:Map,pn=0,ns=null,wn=null,vn=0,Hn=0,cr=null,Wo=!1,Hc=!1,og=!1,lo=0,Ms=0,Ko=0,Ul=0,lg=0,ur=0,Uc=0,eh=null,zi=null,cg=!1,wd=0,h5=0,th=1/0,yd=null,Yo=null,si=0,Qo=null,zc=null,co=0,fg=0,hg=null,u5=null,nh=0,ug=null;return mn.attemptContinuousHydration=function(d){if(d.tag===13||d.tag===31){var p=Et(d,67108864);p!==null&&Bi(p,d,67108864),jp(d,67108864)}},mn.attemptHydrationAtCurrentPriority=function(d){if(d.tag===13||d.tag===31){var p=ir();p=se(p);var x=Et(d,p);x!==null&&Bi(x,d,p),jp(d,p)}},mn.attemptSynchronousHydration=function(d){switch(d.tag){case 3:if(d=d.stateNode,d.current.memoizedState.isDehydrated){var p=_(d.pendingLanes);if(p!==0){d.pendingLanes|=2;for(d.entangledLanes|=2;p;){var x=1<<31-rr(p);d.entanglements[1]|=x,p&=~x}An(d),(pn&6)===0&&(th=Hi()+500,os(0,!1))}}break;case 31:case 13:p=Et(d,2),p!==null&&Bi(p,d,2),iy(),jp(d,2)}},mn.batchedUpdates=function(d,p){return d(p)},mn.createComponentSelector=function(d){return{$$typeof:hd,value:d}},mn.createContainer=function(d,p,x,R,G,Y,re,je,Ge,et){return Ty(d,p,!1,null,x,R,Y,null,re,je,Ge,et)},mn.createHasPseudoClassSelector=function(d){return{$$typeof:ud,value:d}},mn.createHydrationContainer=function(d,p,x,R,G,Y,re,je,Ge,et,bt,rt,jt,en){return d=Ty(x,R,!0,d,G,Y,je,en,Ge,et,bt,rt),d.context=Ey(null),x=d.current,R=ir(),R=se(R),G=Fn(R),G.callback=p!==void 0&&p!==null?p:null,Bn(x,G,R),p=R,d.current.lanes=p,J(d,p),An(d),d},mn.createPortal=function(d,p,x){var R=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:yc,key:R==null?null:""+R,children:d,containerInfo:p,implementation:x}},mn.createRoleSelector=function(d){return{$$typeof:dd,value:d}},mn.createTestNameSelector=function(d){return{$$typeof:pd,value:d}},mn.createTextSelector=function(d){return{$$typeof:gd,value:d}},mn.defaultOnCaughtError=function(d){console.error(d)},mn.defaultOnRecoverableError=function(d){s5(d)},mn.defaultOnUncaughtError=function(d){s5(d)},mn.deferredUpdates=function(d){var p=Nt.T,x=so();try{return ai(32),Nt.T=null,d()}finally{ai(x),Nt.T=p}},mn.discreteUpdates=function(d,p,x,R,G){var Y=Nt.T,re=so();try{return ai(2),Nt.T=null,d(p,x,R,G)}finally{ai(re),Nt.T=Y,pn===0&&(th=Hi()+500)}},mn.findAllNodes=Sp,mn.findBoundingRects=function(d,p){if(!Nf)throw Error(i(363));p=Sp(d,p),d=[];for(var x=0;x<p.length;x++)d.push(ex(p[x]));for(p=d.length-1;0<p;p--){x=d[p];for(var R=x.x,G=R+x.width,Y=x.y,re=Y+x.height,je=p-1;0<=je;je--)if(p!==je){var Ge=d[je],et=Ge.x,bt=et+Ge.width,rt=Ge.y,jt=rt+Ge.height;if(R>=et&&Y>=rt&&G<=bt&&re<=jt){d.splice(p,1);break}else if(!(R!==et||x.width!==Ge.width||jt<Y||rt>re)){rt>Y&&(Ge.height+=rt-Y,Ge.y=Y),jt<re&&(Ge.height=re-rt),d.splice(p,1);break}else if(!(Y!==rt||x.height!==Ge.height||bt<R||et>G)){et>R&&(Ge.width+=et-R,Ge.x=R),bt<G&&(Ge.width=G-et),d.splice(p,1);break}}}return d},mn.findHostInstance=Cy,mn.findHostInstanceWithNoPortals=function(d){return d=l(d),d=d!==null?f(d):null,d===null?null:Pf(d.stateNode)},mn.findHostInstanceWithWarning=function(d){return Cy(d)},mn.flushPassiveEffects=Of,mn.flushSyncFromReconciler=function(d){var p=pn;pn|=1;var x=Nt.T,R=so();try{if(ai(2),Nt.T=null,d)return d()}finally{ai(R),Nt.T=x,pn=p,(pn&6)===0&&os(0,!1)}},mn.flushSyncWork=iy,mn.focusWithin=function(d,p){if(!Nf)throw Error(i(363));d=wp(d),p=ey(d,p),p=Array.from(p);for(d=0;d<p.length;){var x=p[d++],R=x.tag;if(!Bf(x)){if((R===5||R===26||R===27)&&sx(x.stateNode))return!0;for(x=x.child;x!==null;)p.push(x),x=x.sibling}}return!1},mn.getFindAllNodesFailureDescription=function(d,p){if(!Nf)throw Error(i(363));var x=0,R=[];d=[wp(d),0];for(var G=0;G<d.length;){var Y=d[G++],re=Y.tag,je=d[G++],Ge=p[je];if(re!==5&&re!==26&&re!==27||!Bf(Y)){if(yp(Y,Ge)&&(R.push(vp(Ge)),je++,je>x&&(x=je)),je<p.length)for(Y=Y.child;Y!==null;)d.push(Y,je),Y=Y.sibling}}if(x<p.length){for(d=[];x<p.length;x++)d.push(vp(p[x]));return`findAllNodes was able to match part of the selector:
9
+ `+(R.join(" > ")+`
10
+
11
+ No matching component was found for:
12
+ `)+d.join(" > ")}return null},mn.getPublicRootInstance=function(d){if(d=d.current,!d.child)return null;switch(d.child.tag){case 27:case 5:return Pf(d.child.stateNode);default:return d.child.stateNode}},mn.injectIntoDevTools=function(){var d={bundleType:0,version:Dk,rendererPackageName:qk,currentDispatcherRef:Nt,reconcilerVersion:"19.2.0"};if(qy!==null&&(d.rendererConfig=qy),typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u")d=!1;else{var p=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(p.isDisabled||!p.supportsFiber)d=!0;else{try{zf=p.inject(d),ar=p}catch(x){}d=p.checkDCE?!0:!1}}return d},mn.isAlreadyRendering=function(){return(pn&6)!==0},mn.observeVisibleRects=function(d,p,x,R){if(!Nf)throw Error(i(363));d=Sp(d,p);var G=ix(d,x,R).disconnect;return{disconnect:function(){G()}}},mn.shouldError=function(){return null},mn.shouldSuspend=function(){return!1},mn.startHostTransition=function(d,p,x,R){if(d.tag!==5)throw Error(i(476));var G=ow(d).queue;aw(d,G,p,Sc,x===null?s:function(){var Y=ow(d);return Y.next===null&&(Y=d.alternate.memoizedState),_f(d,Y.next.queue,{},ir()),x(R)})},mn.updateContainer=function(d,p,x,R){var G=p.current,Y=ir();return jy(G,Y,d,p,x,R),Y},mn.updateContainerSync=function(d,p,x,R){return jy(p.current,2,d,p,x,R),2},mn};$h.exports.default=$h.exports;Object.defineProperty($h.exports,"__esModule",{value:!0})});var _8=w(function(hU,j8){S();j8.exports=function(n,s,i){let r=y("loading"),a=y(),[l,c]=u(0),f=y(),m=y(),g=y();if(f.current!==n||m.current!==s||g.current!==i)r.current="loading",a.current=void 0,f.current=n,m.current=s,g.current=i;return $e(function(){if(!n)return;var b=document.createElement("img");function v(){b.decode().catch(()=>{}).finally(()=>{r.current="loaded",a.current=b,c(Math.random())})}function k(){r.current="failed",a.current=void 0,c(Math.random())}return b.addEventListener("load",v),b.addEventListener("error",k),s&&(b.crossOrigin=s),i&&(b.referrerPolicy=i),b.src=n,function(){b.removeEventListener("load",v),b.removeEventListener("error",k)}},[n,s,i]),[a.current,r.current]}});function Hl(e){if(!e||e.length<2)return null;let n=[...e].sort((s,i)=>i.version-s.version);return{left:n[0],right:n[1]}}function d5(e,n){return Math.max(0,Math.min(e,Math.max(0,n-1)))}var TA=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]],dg=I("circle-question-mark",TA);var CA=[["path",{d:"M21 5H3",key:"1fi0y6"}],["path",{d:"M15 12H3",key:"6jk70r"}],["path",{d:"M17 19H3",key:"z6ezky"}]],m5=I("text-align-start",CA);var jA=[["path",{d:"M2 10v3",key:"1fnikh"}],["path",{d:"M6 6v11",key:"11sgs0"}],["path",{d:"M10 3v18",key:"yhl04a"}],["path",{d:"M14 8v7",key:"3a1oy3"}],["path",{d:"M18 5v13",key:"123xd1"}],["path",{d:"M22 10v3",key:"154ddg"}]],es=I("audio-lines",jA);var _A=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M4.929 4.929 19.07 19.071",key:"196cmz"}]],p5=I("ban",_A);var IA=[["line",{x1:"4",x2:"20",y1:"9",y2:"9",key:"4lhtct"}],["line",{x1:"4",x2:"20",y1:"15",y2:"15",key:"vyu0kd"}],["line",{x1:"10",x2:"8",y1:"3",y2:"21",key:"1ggp8o"}],["line",{x1:"16",x2:"14",y1:"3",y2:"21",key:"weycgp"}]],g5=I("hash",IA);var RA=[["path",{d:"M8 3H5a2 2 0 0 0-2 2v3",key:"1dcmit"}],["path",{d:"M21 8V5a2 2 0 0 0-2-2h-3",key:"1e4gt3"}],["path",{d:"M3 16v3a2 2 0 0 0 2 2h3",key:"wsl5sc"}],["path",{d:"M16 21h3a2 2 0 0 0 2-2v-3",key:"18trek"}]],Ti=I("maximize",RA);var DA=[["path",{d:"M8 3v3a2 2 0 0 1-2 2H3",key:"hohbtr"}],["path",{d:"M21 8h-3a2 2 0 0 1-2-2V3",key:"5jw1f3"}],["path",{d:"M3 16h3a2 2 0 0 1 2 2v3",key:"198tvr"}],["path",{d:"M16 21v-3a2 2 0 0 1 2-2h3",key:"ph8mxp"}]],Mi=I("minimize",DA);var qA=[["rect",{x:"14",y:"3",width:"5",height:"18",rx:"1",key:"kaeet6"}],["rect",{x:"5",y:"3",width:"5",height:"18",rx:"1",key:"1wsw3u"}]],vd=I("pause",qA);var MA=[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]],el=I("play",MA);var FA=[["path",{d:"m17 2 4 4-4 4",key:"nntrym"}],["path",{d:"M3 11v-1a4 4 0 0 1 4-4h14",key:"84bu3i"}],["path",{d:"m7 22-4-4 4-4",key:"1wqhfi"}],["path",{d:"M21 13v1a4 4 0 0 1-4 4H3",key:"1rx37r"}]],Sd=I("repeat",FA);var LA=[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],ki=I("settings",LA);var OA=[["path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z",key:"r04s7s"}]],kd=I("star",OA);var PA=[["path",{d:"M13.172 2a2 2 0 0 1 1.414.586l6.71 6.71a2.4 2.4 0 0 1 0 3.408l-4.592 4.592a2.4 2.4 0 0 1-3.408 0l-6.71-6.71A2 2 0 0 1 6 9.172V3a1 1 0 0 1 1-1z",key:"16rjxf"}],["path",{d:"M2 7v6.172a2 2 0 0 0 .586 1.414l6.71 6.71a2.4 2.4 0 0 0 3.191.193",key:"178nd4"}],["circle",{cx:"10.5",cy:"6.5",r:".5",fill:"currentColor",key:"12ikhr"}]],b5=I("tags",PA);var NA=[["circle",{cx:"9",cy:"12",r:"3",key:"u3jwor"}],["rect",{width:"20",height:"14",x:"2",y:"5",rx:"7",key:"g7kal2"}]],w5=I("toggle-left",NA);var BA=[["path",{d:"M12 4v16",key:"1654pz"}],["path",{d:"M4 7V5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v2",key:"e0r10z"}],["path",{d:"M9 20h6",key:"s66wpe"}]],$a=I("type",BA);var HA=[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}],["path",{d:"M16 9a5 5 0 0 1 0 6",key:"1q6k2b"}],["path",{d:"M19.364 18.364a9 9 0 0 0 0-12.728",key:"ijwkga"}]],xd=I("volume-2",HA);var UA=[["path",{d:"M11 4.702a.7.7 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.7.7 0 0 0 11 19.298z",key:"1p7khw"}],["path",{d:"m16.5 14.5 5-5",key:"cul3yw"}],["path",{d:"m16.5 9.5 5 5",key:"1akey5"}]],Ad=I("volume-x",UA);S();var lt=Number.isFinite||function(e){return typeof e==="number"&&isFinite(e)},zA=Number.isSafeInteger||function(e){return typeof e==="number"&&Math.abs(e)<=GA},GA=Number.MAX_SAFE_INTEGER||9007199254740991,Rt=function(e){return e.NETWORK_ERROR="networkError",e.MEDIA_ERROR="mediaError",e.KEY_SYSTEM_ERROR="keySystemError",e.MUX_ERROR="muxError",e.OTHER_ERROR="otherError",e}({}),Le=function(e){return e.KEY_SYSTEM_NO_KEYS="keySystemNoKeys",e.KEY_SYSTEM_NO_ACCESS="keySystemNoAccess",e.KEY_SYSTEM_NO_SESSION="keySystemNoSession",e.KEY_SYSTEM_NO_CONFIGURED_LICENSE="keySystemNoConfiguredLicense",e.KEY_SYSTEM_LICENSE_REQUEST_FAILED="keySystemLicenseRequestFailed",e.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED="keySystemServerCertificateRequestFailed",e.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED="keySystemServerCertificateUpdateFailed",e.KEY_SYSTEM_SESSION_UPDATE_FAILED="keySystemSessionUpdateFailed",e.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED="keySystemStatusOutputRestricted",e.KEY_SYSTEM_STATUS_INTERNAL_ERROR="keySystemStatusInternalError",e.KEY_SYSTEM_DESTROY_MEDIA_KEYS_ERROR="keySystemDestroyMediaKeysError",e.KEY_SYSTEM_DESTROY_CLOSE_SESSION_ERROR="keySystemDestroyCloseSessionError",e.KEY_SYSTEM_DESTROY_REMOVE_SESSION_ERROR="keySystemDestroyRemoveSessionError",e.MANIFEST_LOAD_ERROR="manifestLoadError",e.MANIFEST_LOAD_TIMEOUT="manifestLoadTimeOut",e.MANIFEST_PARSING_ERROR="manifestParsingError",e.MANIFEST_INCOMPATIBLE_CODECS_ERROR="manifestIncompatibleCodecsError",e.LEVEL_EMPTY_ERROR="levelEmptyError",e.PLAYLIST_UNCHANGED_ERROR="playlistUnchangedError",e.LEVEL_LOAD_ERROR="levelLoadError",e.LEVEL_LOAD_TIMEOUT="levelLoadTimeOut",e.LEVEL_PARSING_ERROR="levelParsingError",e.LEVEL_SWITCH_ERROR="levelSwitchError",e.AUDIO_TRACK_LOAD_ERROR="audioTrackLoadError",e.AUDIO_TRACK_LOAD_TIMEOUT="audioTrackLoadTimeOut",e.SUBTITLE_LOAD_ERROR="subtitleTrackLoadError",e.SUBTITLE_TRACK_LOAD_TIMEOUT="subtitleTrackLoadTimeOut",e.FRAG_LOAD_ERROR="fragLoadError",e.FRAG_LOAD_TIMEOUT="fragLoadTimeOut",e.FRAG_DECRYPT_ERROR="fragDecryptError",e.FRAG_PARSING_ERROR="fragParsingError",e.FRAG_GAP="fragGap",e.REMUX_ALLOC_ERROR="remuxAllocError",e.KEY_LOAD_ERROR="keyLoadError",e.KEY_LOAD_TIMEOUT="keyLoadTimeOut",e.BUFFER_ADD_CODEC_ERROR="bufferAddCodecError",e.BUFFER_INCOMPATIBLE_CODECS_ERROR="bufferIncompatibleCodecsError",e.BUFFER_APPEND_ERROR="bufferAppendError",e.BUFFER_APPENDING_ERROR="bufferAppendingError",e.BUFFER_APPEND_NO_PROGRESS="bufferAppendNoProgress",e.BUFFER_STALLED_ERROR="bufferStalledError",e.BUFFER_FULL_ERROR="bufferFullError",e.BUFFER_SEEK_OVER_HOLE="bufferSeekOverHole",e.BUFFER_NUDGE_ON_STALL="bufferNudgeOnStall",e.ASSET_LIST_LOAD_ERROR="assetListLoadError",e.ASSET_LIST_LOAD_TIMEOUT="assetListLoadTimeout",e.ASSET_LIST_PARSING_ERROR="assetListParsingError",e.INTERSTITIAL_ASSET_ITEM_ERROR="interstitialAssetItemError",e.INTERNAL_EXCEPTION="internalException",e.INTERNAL_ABORTED="aborted",e.ATTACH_MEDIA_ERROR="attachMediaError",e.MEDIA_SOURCE_REQUIRES_RESET="mediaSourceRequiresReset",e.UNKNOWN="unknown",e}({}),Z=function(e){return e.MEDIA_ATTACHING="hlsMediaAttaching",e.MEDIA_ATTACHED="hlsMediaAttached",e.MEDIA_DETACHING="hlsMediaDetaching",e.MEDIA_DETACHED="hlsMediaDetached",e.MEDIA_ENDED="hlsMediaEnded",e.STALL_RESOLVED="hlsStallResolved",e.BUFFER_RESET="hlsBufferReset",e.BUFFER_CODECS="hlsBufferCodecs",e.BUFFER_CREATED="hlsBufferCreated",e.BUFFER_APPENDING="hlsBufferAppending",e.BUFFER_APPENDED="hlsBufferAppended",e.BUFFER_EOS="hlsBufferEos",e.BUFFERED_TO_END="hlsBufferedToEnd",e.BUFFER_FLUSHING="hlsBufferFlushing",e.BUFFER_FLUSHED="hlsBufferFlushed",e.MANIFEST_LOADING="hlsManifestLoading",e.MANIFEST_LOADED="hlsManifestLoaded",e.MANIFEST_PARSED="hlsManifestParsed",e.LEVEL_SWITCHING="hlsLevelSwitching",e.LEVEL_SWITCHED="hlsLevelSwitched",e.LEVEL_LOADING="hlsLevelLoading",e.LEVEL_LOADED="hlsLevelLoaded",e.LEVEL_UPDATED="hlsLevelUpdated",e.LEVEL_PTS_UPDATED="hlsLevelPtsUpdated",e.LEVELS_UPDATED="hlsLevelsUpdated",e.AUDIO_TRACKS_UPDATED="hlsAudioTracksUpdated",e.AUDIO_TRACK_SWITCHING="hlsAudioTrackSwitching",e.AUDIO_TRACK_SWITCHED="hlsAudioTrackSwitched",e.AUDIO_TRACK_LOADING="hlsAudioTrackLoading",e.AUDIO_TRACK_LOADED="hlsAudioTrackLoaded",e.AUDIO_TRACK_UPDATED="hlsAudioTrackUpdated",e.SUBTITLE_TRACKS_UPDATED="hlsSubtitleTracksUpdated",e.SUBTITLE_TRACKS_CLEARED="hlsSubtitleTracksCleared",e.SUBTITLE_TRACK_SWITCH="hlsSubtitleTrackSwitch",e.SUBTITLE_TRACK_LOADING="hlsSubtitleTrackLoading",e.SUBTITLE_TRACK_LOADED="hlsSubtitleTrackLoaded",e.SUBTITLE_TRACK_UPDATED="hlsSubtitleTrackUpdated",e.SUBTITLE_FRAG_PROCESSED="hlsSubtitleFragProcessed",e.CUES_PARSED="hlsCuesParsed",e.NON_NATIVE_TEXT_TRACKS_FOUND="hlsNonNativeTextTracksFound",e.INIT_PTS_FOUND="hlsInitPtsFound",e.FRAG_LOADING="hlsFragLoading",e.FRAG_LOAD_EMERGENCY_ABORTED="hlsFragLoadEmergencyAborted",e.FRAG_LOADED="hlsFragLoaded",e.FRAG_DECRYPTED="hlsFragDecrypted",e.FRAG_PARSING_INIT_SEGMENT="hlsFragParsingInitSegment",e.FRAG_PARSING_USERDATA="hlsFragParsingUserdata",e.FRAG_PARSING_METADATA="hlsFragParsingMetadata",e.FRAG_PARSED="hlsFragParsed",e.FRAG_BUFFERED="hlsFragBuffered",e.FRAG_CHANGED="hlsFragChanged",e.FPS_DROP="hlsFpsDrop",e.FPS_DROP_LEVEL_CAPPING="hlsFpsDropLevelCapping",e.MAX_AUTO_LEVEL_UPDATED="hlsMaxAutoLevelUpdated",e.ERROR="hlsError",e.DESTROYING="hlsDestroying",e.KEY_LOADING="hlsKeyLoading",e.KEY_LOADED="hlsKeyLoaded",e.LIVE_BACK_BUFFER_REACHED="hlsLiveBackBufferReached",e.BACK_BUFFER_REACHED="hlsBackBufferReached",e.STEERING_MANIFEST_LOADED="hlsSteeringManifestLoaded",e.ASSET_LIST_LOADING="hlsAssetListLoading",e.ASSET_LIST_LOADED="hlsAssetListLoaded",e.INTERSTITIALS_UPDATED="hlsInterstitialsUpdated",e.INTERSTITIALS_BUFFERED_TO_BOUNDARY="hlsInterstitialsBufferedToBoundary",e.INTERSTITIAL_ASSET_PLAYER_CREATED="hlsInterstitialAssetPlayerCreated",e.INTERSTITIAL_STARTED="hlsInterstitialStarted",e.INTERSTITIAL_ASSET_STARTED="hlsInterstitialAssetStarted",e.INTERSTITIAL_ASSET_ENDED="hlsInterstitialAssetEnded",e.INTERSTITIAL_ASSET_ERROR="hlsInterstitialAssetError",e.INTERSTITIAL_ENDED="hlsInterstitialEnded",e.INTERSTITIALS_PRIMARY_RESUMED="hlsInterstitialsPrimaryResumed",e.PLAYOUT_LIMIT_REACHED="hlsPlayoutLimitReached",e.EVENT_CUE_ENTER="hlsEventCueEnter",e}({});function VA(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var pg={exports:{}},y5;function $A(){if(y5)return pg.exports;return y5=1,function(e,n){(function(s){var i=/^(?=((?:[a-zA-Z0-9+\-.]+:)?))\1(?=((?:\/\/[^\/?#]*)?))\2(?=((?:(?:[^?#\/]*\/)*[^;?#\/]*)?))\3((?:;[^?#]*)?)(\?[^#]*)?(#[^]*)?$/,r=/^(?=([^\/?#]*))\1([^]*)$/,a=/(?:\/|^)\.(?=\/)/g,l=/(?:\/|^)\.\.\/(?!\.\.\/)[^\/]*(?=\/)/g,c={buildAbsoluteURL:function(f,m,g){if(g=g||{},f=f.trim(),m=m.trim(),!m){if(!g.alwaysNormalize)return f;var b=c.parseURL(f);if(!b)throw Error("Error trying to parse base URL.");return b.path=c.normalizePath(b.path),c.buildURLFromParts(b)}var v=c.parseURL(m);if(!v)throw Error("Error trying to parse relative URL.");if(v.scheme){if(!g.alwaysNormalize)return m;return v.path=c.normalizePath(v.path),c.buildURLFromParts(v)}var k=c.parseURL(f);if(!k)throw Error("Error trying to parse base URL.");if(!k.netLoc&&k.path&&k.path[0]!=="/"){var T=r.exec(k.path);k.netLoc=T[1],k.path=T[2]}if(k.netLoc&&!k.path)k.path="/";var _={scheme:k.scheme,netLoc:v.netLoc,path:null,params:v.params,query:v.query,fragment:v.fragment};if(!v.netLoc){if(_.netLoc=k.netLoc,v.path[0]!=="/")if(!v.path){if(_.path=k.path,!v.params){if(_.params=k.params,!v.query)_.query=k.query}}else{var P=k.path,U=P.substring(0,P.lastIndexOf("/")+1)+v.path;_.path=c.normalizePath(U)}}if(_.path===null)_.path=g.alwaysNormalize?c.normalizePath(v.path):v.path;return c.buildURLFromParts(_)},parseURL:function(f){var m=i.exec(f);if(!m)return null;return{scheme:m[1]||"",netLoc:m[2]||"",path:m[3]||"",params:m[4]||"",query:m[5]||"",fragment:m[6]||""}},normalizePath:function(f){f=f.split("").reverse().join("").replace(a,"");while(f.length!==(f=f.replace(l,"")).length);return f.split("").reverse().join("")},buildURLFromParts:function(f){return f.scheme+f.netLoc+f.path+f.params+f.query+f.fragment}};e.exports=c})()}(pg),pg.exports}var w1=$A();class u0{constructor(){this.aborted=!1,this.loaded=0,this.retry=0,this.total=0,this.chunkCount=0,this.bwEstimate=0,this.loading={start:0,first:0,end:0},this.parsing={start:0,end:0},this.buffering={start:0,first:0,end:0}}}var tn=function(e){return e.MANIFEST="manifest",e.LEVEL="level",e.AUDIO_TRACK="audioTrack",e.SUBTITLE_TRACK="subtitleTrack",e.MEDIA_FRAGMENT="media-fragment",e.KEY="key",e.STEERING_MANIFEST="steering-manifest",e.SERVER_CERTIFICATE="server-certificate",e.INTERSTITIAL_ASSET_LIST="interstitial-asset-list",e}({}),Tt=function(e){return e.MAIN="main",e.AUDIO="audio",e.SUBTITLE="subtitle",e}({}),Kn={AUDIO:"audio",VIDEO:"video",AUDIOVIDEO:"audiovideo"};class y1{constructor(e){if(this._byteRange=null,this._url=null,this._stats=null,this._streams=null,this.base=void 0,this.relurl=void 0,typeof e==="string")e={url:e};this.base=e,XA(this,"stats")}setByteRange(e,n){let s=e.split("@",2),i;if(s.length===1)i=(n==null?void 0:n.byteRangeEndOffset)||0;else i=parseInt(s[1]);this._byteRange=[i,parseInt(s[0])+i]}get baseurl(){return this.base.url}get byteRange(){if(this._byteRange===null)return[];return this._byteRange}get byteRangeStartOffset(){return this.byteRange[0]}get byteRangeEndOffset(){return this.byteRange[1]}get elementaryStreams(){if(this._streams===null)this._streams={[Kn.AUDIO]:null,[Kn.VIDEO]:null,[Kn.AUDIOVIDEO]:null};return this._streams}set elementaryStreams(e){this._streams=e}get hasStats(){return this._stats!==null}get hasStreams(){return this._streams!==null}get stats(){if(this._stats===null)this._stats=new u0;return this._stats}set stats(e){this._stats=e}get url(){if(!this._url&&this.relurl)this._url=w1.buildAbsoluteURL(this.baseurl,this.relurl,{alwaysNormalize:!0});return this._url||""}set url(e){this._url=e}clearElementaryStreamInfo(){let{elementaryStreams:e}=this;e[Kn.AUDIO]=null,e[Kn.VIDEO]=null,e[Kn.AUDIOVIDEO]=null,this.url=null}}function _s(e){return e.sn!=="initSegment"}function lh(e,n){return e.sn===(n==null?void 0:n.sn)&&e.level===n.level}function zg(e,n){return e.sn===(n==null?void 0:n.sn)&&e.level===n.level&&e.cc===n.cc}class ch extends y1{constructor(e,n){super(n);this._decryptdata=null,this._programDateTime=null,this._ref=null,this._bitrate=void 0,this.rawProgramDateTime=null,this.tagList=[],this.duration=0,this.sn=0,this.levelkeys=void 0,this.type=void 0,this.loader=null,this.keyLoader=null,this.level=-1,this.cc=0,this.startPTS=void 0,this.endPTS=void 0,this.startDTS=void 0,this.endDTS=void 0,this.start=0,this.playlistOffset=0,this.deltaPTS=void 0,this.maxStartPTS=void 0,this.minEndPTS=void 0,this.data=void 0,this.bitrateTest=!1,this.title=null,this.initSegment=null,this.endList=void 0,this.gap=void 0,this.urlId=0,this.type=e}get byteLength(){if(this.hasStats){let e=this.stats.total;if(e)return e}if(this.byteRange.length){let e=this.byteRange[0],n=this.byteRange[1];if(lt(e)&&lt(n))return n-e}return null}get bitrate(){if(this.byteLength)return this.byteLength*8/this.duration;if(this._bitrate)return this._bitrate;return null}set bitrate(e){this._bitrate=e}get decryptdata(){var e;let{levelkeys:n}=this;if(!n||n.NONE)return null;if(n.identity){if(!this._decryptdata)this._decryptdata=n.identity.getDecryptData(this.sn)}else if(!((e=this._decryptdata)!=null&&e.keyId)){let s=Object.keys(n);if(s.length===1){let i=this._decryptdata=n[s[0]]||null;if(i)this._decryptdata=i.getDecryptData(this.sn,n)}}return this._decryptdata}get end(){return this.start+this.duration}get endProgramDateTime(){if(this.programDateTime===null)return null;let e=!lt(this.duration)?0:this.duration;return this.programDateTime+e*1000}get encrypted(){var e;if((e=this._decryptdata)!=null&&e.encrypted)return!0;else if(this.levelkeys){var n;let s=Object.keys(this.levelkeys),i=s.length;if(i>1||i===1&&(n=this.levelkeys[s[0]])!=null&&n.encrypted)return!0}return!1}get programDateTime(){if(this._programDateTime===null&&this.rawProgramDateTime)this.programDateTime=Date.parse(this.rawProgramDateTime);return this._programDateTime}set programDateTime(e){if(!lt(e)){this._programDateTime=this.rawProgramDateTime=null;return}this._programDateTime=e}get ref(){if(!_s(this))return null;if(!this._ref)this._ref={base:this.base,start:this.start,duration:this.duration,sn:this.sn,programDateTime:this.programDateTime};return this._ref}addStart(e){this.setStart(this.start+e)}setStart(e){if(this.start=e,this._ref)this._ref.start=e}setDuration(e){if(this.duration=e,this._ref)this._ref.duration=e}setKeyFormat(e){let n=this.levelkeys;if(n){var s;let i=n[e];if(i&&!((s=this._decryptdata)!=null&&s.keyId))this._decryptdata=i.getDecryptData(this.sn,n)}}abortRequests(){var e,n;(e=this.loader)==null||e.abort(),(n=this.keyLoader)==null||n.abort()}setElementaryStreamInfo(e,n,s,i,r,a=!1){let{elementaryStreams:l}=this,c=l[e];if(!c){l[e]={startPTS:n,endPTS:s,startDTS:i,endDTS:r,partial:a};return}c.startPTS=Math.min(c.startPTS,n),c.endPTS=Math.max(c.endPTS,s),c.startDTS=Math.min(c.startDTS,i),c.endDTS=Math.max(c.endDTS,r)}}class G3 extends y1{constructor(e,n,s,i,r){super(s);this.fragOffset=0,this.duration=0,this.independent=!1,this.relurl=void 0,this.fragment=void 0,this.index=void 0,this.gap=!1,this.duration=e.decimalFloatingPoint("DURATION"),this.gap=e.bool("GAP"),this.independent=e.bool("INDEPENDENT"),this.relurl=e.enumeratedString("URI"),this.fragment=n,this.index=i;let a=e.enumeratedString("BYTERANGE");if(a)this.setByteRange(a,r);if(r)this.fragOffset=r.fragOffset+r.duration}get start(){return this.fragment.start+this.fragOffset}get end(){return this.start+this.duration}get loaded(){let{elementaryStreams:e}=this;return!!(e.audio||e.video||e.audiovideo||this.fragment.type===Tt.SUBTITLE&&this.stats.loading.end>0)}}function V3(e,n){let s=Object.getPrototypeOf(e);if(s){let i=Object.getOwnPropertyDescriptor(s,n);if(i)return i;return V3(s,n)}}function XA(e,n){let s=V3(e,n);if(s)s.enumerable=!0,Object.defineProperty(e,n,s)}function WA(e,n,s){return(n=QA(n))in e?Object.defineProperty(e,n,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[n]=s,e}function Nn(){return Nn=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var s=arguments[n];for(var i in s)({}).hasOwnProperty.call(s,i)&&(e[i]=s[i])}return e},Nn.apply(null,arguments)}function v5(e,n){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),s.push.apply(s,i)}return s}function Dt(e){for(var n=1;n<arguments.length;n++){var s=arguments[n]!=null?arguments[n]:{};n%2?v5(Object(s),!0).forEach(function(i){WA(e,i,s[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):v5(Object(s)).forEach(function(i){Object.defineProperty(e,i,Object.getOwnPropertyDescriptor(s,i))})}return e}function d0(e,n){if(e==null)return{};var s,i,r=KA(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)s=a[i],n.indexOf(s)===-1&&{}.propertyIsEnumerable.call(e,s)&&(r[s]=e[s])}return r}function KA(e,n){if(e==null)return{};var s={};for(var i in e)if({}.hasOwnProperty.call(e,i)){if(n.indexOf(i)!==-1)continue;s[i]=e[i]}return s}function YA(e,n){if(typeof e!="object"||!e)return e;var s=e[Symbol.toPrimitive];if(s!==void 0){var i=s.call(e,n);if(typeof i!="object")return i;throw TypeError("@@toPrimitive must return a primitive value.")}return(n==="string"?String:Number)(e)}function QA(e){var n=YA(e,"string");return typeof n=="symbol"?n:n+""}function Yd(e){switch(e.details){case Le.FRAG_LOAD_TIMEOUT:case Le.KEY_LOAD_TIMEOUT:case Le.LEVEL_LOAD_TIMEOUT:case Le.MANIFEST_LOAD_TIMEOUT:case Le.AUDIO_TRACK_LOAD_TIMEOUT:case Le.SUBTITLE_TRACK_LOAD_TIMEOUT:case Le.ASSET_LIST_LOAD_TIMEOUT:return!0}return!1}function $3(e){return e.details.startsWith("key")}function X3(e){return $3(e)&&!!e.frag&&!e.frag.decryptdata}function S5(e,n){let s=Yd(n);return e.default[`${s?"timeout":"error"}Retry`]}function v1(e,n){let s=e.backoff==="linear"?1:Math.pow(2,n);return Math.min(s*e.retryDelayMs,e.maxRetryDelayMs)}function k5(e){return Dt(Dt({},e),{errorRetry:null,timeoutRetry:null})}function bh(e,n,s,i){if(!e)return!1;let r=i==null?void 0:i.code,a=n<e.maxNumRetry&&(JA(r)||!!s);return e.shouldRetry?e.shouldRetry(e,n,s,i,a):a}function JA(e){return wh(e)||!!e&&(e<400||e>499)}function wh(e){return e===0&&navigator.onLine===!1}function W3(e,n){return n>0&&e.loadError>0&&e.loadErrorTime!==0&&self.performance.now()-e.loadErrorTime>n}class Wl{constructor(e,n=0,s=0){this.halfLife=void 0,this.alpha_=void 0,this.estimate_=void 0,this.totalWeight_=void 0,this.halfLife=e,this.alpha_=e?Math.exp(Math.log(0.5)/e):0,this.estimate_=n,this.totalWeight_=s}sample(e,n){let s=Math.pow(this.alpha_,e);this.estimate_=n*(1-s)+s*this.estimate_,this.totalWeight_+=e}getTotalWeight(){return this.totalWeight_}getEstimate(){if(this.alpha_){let e=1-Math.pow(this.alpha_,this.totalWeight_);if(e)return this.estimate_/e}return this.estimate_}}class K3{constructor(e,n,s,i=100){this.defaultEstimate_=void 0,this.minWeight_=void 0,this.minDelayMs_=void 0,this.slow_=void 0,this.fast_=void 0,this.defaultTTFB_=void 0,this.ttfb_=void 0,this.defaultEstimate_=s,this.minWeight_=0.001,this.minDelayMs_=50,this.slow_=new Wl(e),this.fast_=new Wl(n),this.defaultTTFB_=i,this.ttfb_=new Wl(e)}update(e,n){let{slow_:s,fast_:i,ttfb_:r}=this;if(s.halfLife!==e)this.slow_=new Wl(e,s.getEstimate(),s.getTotalWeight());if(i.halfLife!==n)this.fast_=new Wl(n,i.getEstimate(),i.getTotalWeight());if(r.halfLife!==e)this.ttfb_=new Wl(e,r.getEstimate(),r.getTotalWeight())}sample(e,n){if(n<=0)return;let s=Math.min(this.minDelayMs_,n/1e5),i=8*n,r=Math.max(e,s)/1000,a=i/r;this.fast_.sample(r,a),this.slow_.sample(r,a)}sampleTTFB(e){let n=e/1000,s=Math.sqrt(2)*Math.exp(-Math.pow(n,2)/2);this.ttfb_.sample(s,Math.max(e,5))}canEstimate(){return this.fast_.getTotalWeight()>=this.minWeight_}getEstimate(){if(this.canEstimate())return Math.min(this.fast_.getEstimate(),this.slow_.getEstimate());else return this.defaultEstimate_}getEstimateTTFB(){if(this.ttfb_.getTotalWeight()>=this.minWeight_)return this.ttfb_.getEstimate();else return this.defaultTTFB_}get defaultEstimate(){return this.defaultEstimate_}destroy(){}}class $i{constructor(e,n){this.trace=void 0,this.debug=void 0,this.log=void 0,this.warn=void 0,this.info=void 0,this.error=void 0;let s=`[${e}]:`;this.trace=nl,this.debug=n.debug.bind(null,s),this.log=n.log.bind(null,s),this.warn=n.warn.bind(null,s),this.info=n.info.bind(null,s),this.error=n.error.bind(null,s)}}var nl=function(){},ZA={trace:nl,debug:nl,log:nl,warn:nl,info:nl,error:nl};function Gg(){return Nn({},ZA)}function eT(e,n){let s=self.console[e];return s?s.bind(self.console,`${n?"["+n+"] ":""}[${e}] >`):nl}function x5(e,n,s){return n[e]?n[e].bind(n):eT(e,s)}var Vg=Gg();function tT(e,n,s){let i=Gg();if(typeof console==="object"&&e===!0||typeof e==="object"){let r=["debug","log","info","warn","error"];r.forEach((a)=>{i[a]=x5(a,e,s)});try{i.log(`Debug logs enabled for "${n}" in hls.js version 1.7.3`)}catch(a){return Gg()}r.forEach((a)=>{Vg[a]=x5(a,e)})}else Nn(Vg,i);return i}var Cn=Vg;function al(e=!0){if(typeof self>"u")return;return(e||!self.MediaSource)&&self.ManagedMediaSource||self.MediaSource||self.WebKitMediaSource}function nT(e){return typeof self<"u"&&e===self.ManagedMediaSource}function Y3(e,n){let s=Object.keys(e),i=Object.keys(n),r=s.length,a=i.length;return!r||!a||r===a&&!s.some((l)=>i.indexOf(l)===-1)}function sT(e){return btoa(String.fromCharCode(...e))}function m0(e){return e instanceof ArrayBuffer||typeof SharedArrayBuffer<"u"&&e instanceof SharedArrayBuffer}var iT="utf-16",gg="utf-16be",A5="utf-16le",Ud="utf-8";function rT(e,n={}){let s;if(m0(e))s=new DataView(e);else s=new DataView(e.buffer,e.byteOffset,e.byteLength);let i=0,{encoding:r}=n;if(!r){let m=s.getUint8(0),g=s.getUint8(1);if(m==239&&g==187&&s.getUint8(2)==191)r=Ud,i=3;else if(m==254&&g==255)r=gg,i=2;else if(m==255&&g==254)r=A5,i=2;else r=Ud}if(typeof TextDecoder<"u")return new TextDecoder(r).decode(s);let{byteLength:a}=s,l=r!==gg,c="",f;while(i<a){switch(r){case Ud:if(f=s.getUint8(i),f<128)i++;else if(f>=194&&f<=223)if(i+1<a){let m=s.getUint8(i+1);if(m>=128&&m<=191)f=(f&31)<<6|m&63,i+=2;else i++}else i++;else if(f>=224&&f<=239)if(i+2<=a-1){let m=s.getUint8(i+1),g=s.getUint8(i+2);if(m>=128&&m<=191&&g>=128&&g<=191)f=(f&15)<<12|(m&63)<<6|g&63,i+=3;else i++}else i++;else if(f>=240&&f<=244)if(i+3<=a-1){let m=s.getUint8(i+1),g=s.getUint8(i+2),b=s.getUint8(i+3);if(m>=128&&m<=191&&g>=128&&g<=191&&b>=128&&b<=191)f=(f&7)<<18|(m&63)<<12|(g&63)<<6|b&63,i+=4;else i++}else i++;else i++;break;case gg:case iT:case A5:f=s.getUint16(i,l),i+=2;break}c+=String.fromCodePoint(f)}return c}function aT(e){let n=typeof e==="string"?new URL(e):e;return n.origin+n.pathname.substring(0,n.pathname.lastIndexOf("/")+1)}function Q3(e,n){if(e<0)return-Q3(-e,n);let s=Math.pow(10,n);if(Math.abs(e*s%1-0.5)<Number.EPSILON){let i=Math.floor(e*s);return(i%2===0?i:i+1)/s}else return Math.round(e*s)/s}function oT(e,n){let s;try{s=new URL(e)}catch(c){return e}let i=new URL(n);if(s.origin!==i.origin)return e;let r=s.pathname.split("/").slice(1),a=i.pathname.split("/").slice(1,-1),l=Math.min(r.length,a.length);for(let c=0;c<l;c++){if(r[c]!==a[c])break;r.shift(),a.shift()}while(a.length)a.shift(),r.unshift("..");return r.join("/")+s.search+s.hash}function J3(){try{return crypto.randomUUID()}catch(e){try{let n=URL.createObjectURL(new Blob),s=n.toString();return URL.revokeObjectURL(n),s.slice(s.lastIndexOf("/")+1)}catch(n){let s=new Date().getTime();return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(i)=>{let r=(s+Math.random()*16)%16|0;return s=Math.floor(s/16),(i=="x"?r:r&3|8).toString(16)})}}}function S1(e,n){if(n+10<=e.length){if(e[n]===73&&e[n+1]===68&&e[n+2]===51){if(e[n+3]<255&&e[n+4]<255){if(e[n+6]<128&&e[n+7]<128&&e[n+8]<128&&e[n+9]<128)return!0}}}return!1}function p0(e,n){let s=0;return s=(e[n]&127)<<21,s|=(e[n+1]&127)<<14,s|=(e[n+2]&127)<<7,s|=e[n+3]&127,s}function lT(e,n){return S1(e,n)&&p0(e,n+6)+10<=e.length-n}function Z3(e,n){if(n+10<=e.length){if(e[n]===51&&e[n+1]===68&&e[n+2]===73){if(e[n+3]<255&&e[n+4]<255){if(e[n+6]<128&&e[n+7]<128&&e[n+8]<128&&e[n+9]<128)return!0}}}return!1}function yh(e,n){let s=n,i=0;while(S1(e,n)){i+=10;let r=p0(e,n+6);if(i+=r,Z3(e,n+10))i+=10;n+=i}if(i>0)return e.subarray(s,s+i)}function cT(e){if(m0(e))return e;else{if(e.byteOffset==0&&e.byteLength==e.buffer.byteLength)return e.buffer;return new Uint8Array(e).buffer}}function bg(e,n=0,s=1/0){return fT(e,n,s,Uint8Array)}function fT(e,n,s,i){let r=hT(e),a=1;if("BYTES_PER_ELEMENT"in i)a=i.BYTES_PER_ELEMENT;let l=uT(e)?e.byteOffset:0,c=(l+e.byteLength)/a,f=(l+n)/a,m=Math.floor(Math.max(0,Math.min(f,c)));return new i(r,m,Math.floor(Math.min(m+Math.max(s,0),c))-m)}function hT(e){if(m0(e))return e;else return e.buffer}function uT(e){return e&&m0(e.buffer)&&e.byteLength!==void 0&&e.byteOffset!==void 0}function pr(e,n=!1){let s=n?e.indexOf(0):e.length,i=rT(new DataView(e.buffer,e.byteOffset,s),{encoding:Ud});return n?i:i.replace(/\0/g,"")}function dT(e){let n={key:e.type,description:"",data:"",mimeType:null,pictureType:null},s=3;if(e.size<2)return;if(e.data[0]!==3){console.log("Ignore frame with unrecognized character encoding");return}let i=e.data.subarray(1).indexOf(0);if(i===-1)return;let r=pr(bg(e.data,1,i)),a=e.data[2+i],l=e.data.subarray(3+i).indexOf(0);if(l===-1)return;let c=pr(bg(e.data,3+i,l)),f;if(r==="-->")f=pr(bg(e.data,4+i+l));else f=cT(e.data.subarray(4+i+l));return n.mimeType=r,n.pictureType=a,n.description=c,n.data=f,n}function mT(e){if(e.size<2)return;let n=pr(e.data,!0),s=new Uint8Array(e.data.subarray(n.length+1));return{key:e.type,info:n,data:s.buffer}}function pT(e){if(e.size<2)return;if(e.type==="TXXX"){let s=1,{data:i}=e,r=pr(i.subarray(s),!0);s+=r.length+1;let a=pr(i.subarray(s));return{key:e.type,info:r,data:a}}let n=pr(e.data.subarray(1));return{key:e.type,info:"",data:n}}function gT(e){if(e.type==="WXXX"){if(e.size<2)return;let s=1,i=pr(e.data.subarray(s),!0);s+=i.length+1;let r=pr(e.data.subarray(s));return{key:e.type,info:i,data:r}}let n=pr(e.data);return{key:e.type,info:"",data:n}}function bT(e){if(e.type==="PRIV")return mT(e);else if(e.type[0]==="W")return gT(e);else if(e.type==="APIC")return dT(e);return pT(e)}function wT(e){let n=String.fromCharCode(e[0],e[1],e[2],e[3]),s=p0(e,4),i=10;return{type:n,size:s,data:e.subarray(10,10+s)}}var Cd=10,yT=10;function e9(e){let n=0,s=[];while(S1(e,n)){let i=p0(e,n+6);if(e[n+5]>>6&1)n+=Cd;n+=Cd;let r=n+i;while(n+yT<r){let a=wT(e.subarray(n)),l=bT(a);if(l)s.push(l);n+=a.size+Cd}if(Z3(e,n))n+=Cd}return s}function t9(e){return e&&e.key==="PRIV"&&e.info==="com.apple.streaming.transportStreamTimestamp"}function vT(e){if(e.data.byteLength===8){let n=new Uint8Array(e.data),s=n[3]&1,i=(n[4]<<23)+(n[5]<<15)+(n[6]<<7)+n[7];if(i/=45,s)i+=47721858.84;return Math.round(i)}}function k1(e){let n=e9(e);for(let s of n)if(t9(s))return vT(s)}function Qs(e){let n="";for(let s=0;s<e.length;s++){let i=e[s].toString(16);if(i.length<2)i="0"+i;n+=i}return n}function n9(e){return Uint8Array.from(e.replace(/^0x/,"").replace(/([\da-fA-F]{2}) ?/g,"0x$1 ").replace(/ +$/,"").split(" ")).buffer}function x1(e){return Uint8Array.from(atob(e),(n)=>n.charCodeAt(0))}function ra(e){return String.fromCharCode.apply(null,e)}var ka=Math.pow(2,32)-1,Pt={avc1:1635148593,avcC:1635148611,hvc1:1752589105,hvcC:1752589123,btrt:1651798644,dinf:1684631142,dref:1685218662,esds:1702061171,free:1718773093,ftyp:1718909296,hdlr:1751411826,mdat:1835295092,mdhd:1835296868,mdia:1835297121,mfhd:1835427940,minf:1835626086,moof:1836019558,moov:1836019574,mp4a:1836069985,".mp3":778924083,dac3:1684103987,"ac-3":1633889587,mvex:1836475768,mvhd:1836476516,pasp:1885434736,sdtp:1935963248,stbl:1937007212,stco:1937007471,stsc:1937011555,stsd:1937011556,stsz:1937011578,stts:1937011827,tfdt:1952867444,tfhd:1952868452,traf:1953653094,trak:1953653099,trun:1953658222,trex:1953654136,tkhd:1953196132,vmhd:1986881636,smhd:1936549988},s9={video:1,audio:2,id3:3,text:4};function i9(e,n){let s=e[n]<<8|e[n+1];return s<0?65536+s:s}function kt(e,n){let s=e[n]<<24|e[n+1]<<16|e[n+2]<<8|e[n+3];return s<0?4294967296+s:s}function T5(e,n){let s=kt(e,n);return s*=Math.pow(2,32),s+=kt(e,n+4),s}function jd(e,n){let s="";for(let i=n;i<e.length;i++)if(s+=String.fromCharCode(e[i]),e[i]===0)return s;return null}function $g(e,n){return e[n]<<24|e[n+1]<<16|e[n+2]<<8|e[n+3]}function zs(e,n,s){e[n]=s>>24,e[n+1]=s>>16&255,e[n+2]=s>>8&255,e[n+3]=s&255}function E5(e,n,s){let i=n.byteOffset-e.byteOffset-8,r=8+s,a=n.byteLength+8-r;if(a<8)return;zs(e,i,r),zs(e,i+r,a),zs(e,i+r+4,Pt.free)}function Xg(e,n){return[e.byteOffset-n-8,e.byteOffset-n+e.byteLength]}function r9(e,n){n.sort((c,f)=>c[0]-f[0]);let s=n.reduce((c,[f,m])=>c+m-f,0),i=new Uint8Array(e.byteLength-s),r=0,a=0;for(let c=0;c<n.length;c++){let[f,m]=n[c];i.set(e.subarray(r,f),a),a+=f-r,r=m}return i.set(e.subarray(r),a),{result:i,dropped:s,droppedBefore:(c)=>n.reduce((f,[m,g])=>g<=c?f+g-m:f,0)}}function ST(e){let n=Ht(e,["moov"]);if(n.length!==1||Ht(e,["moof"]).length)return null;let s=e.byteOffset,i=[],r=[],a=!1,l=Ht(n[0],["trak"]);for(let k=0;k<l.length;k++){let T=l[k],_=Ht(T,["mdia","hdlr"])[0];if((_?ra(_.subarray(8,12)):"")==="vide"){a=!0;continue}let U=Ht(T,["tkhd"])[0];if(!U)return null;let z=U[0];r.push(kt(U,z===0?12:20)),i.push(Xg(T,s))}if(!a||!i.length)return null;let c=Ht(n[0],["mvex"])[0],f=0;if(c){let k=Ht(c,["trex"]);for(let T=0;T<k.length;T++){let _=k[T];if(r.indexOf(kt(_,4))!==-1)i.push(Xg(_,s)),f+=_.byteLength+8}}let{result:m,dropped:g,droppedBefore:b}=r9(e,i),v=n[0].byteOffset-s-8;if(zs(m,v,n[0].byteLength+8-g),c&&f){let k=c.byteOffset-s-8;zs(m,k-b(k),c.byteLength+8-f)}return m}function kT(e,n,s,i,r){if(s<1)return null;let a=Ht(e,["moof"]);if(a.length!==1)return null;let l=a[0],c=e.byteOffset,f=[],m=[],g=Ht(l,["traf"]),b=!0;for(let _=0;_<g.length;_++){let P=g[_],U=Ht(P,["tfhd"])[0];if(!U)return null;if(kt(U,4)===n){if(f.push(P),!(kt(U,0)&131072))b=!1}else m.push(Xg(P,c))}if(!f.length)return null;if(m.length&&!b)return null;if(i!==void 0){let _=s;for(let U=0;U<f.length;U++){let z=f[U],V=0,X=Ht(z,["trun"]);for(let te=0;te<X.length;te++){let ne=X[te],ie=Math.min(_,kt(ne,4));if(ie){zs(e,ne.byteOffset-c+4,ie);let se=kt(ne,0)&16777215,oe=(se&256?4:0)+(se&512?4:0)+(se&1024?4:0)+(se&2048?4:0);E5(e,ne,8+(se&1?4:0)+(se&4?4:0)+ie*oe)}else zs(e,ne.byteOffset-c-4,Pt.free);_-=ie,V+=ie}let J=Ht(z,["senc"])[0];if(J)zs(e,J.byteOffset-c+4,V);let ee=Ht(z,["saiz"])[0];if(ee){let te=ee[1]<<16|ee[2]<<8|ee[3],ne=4;if(te&1)ne+=8;let ie=ee[ne];ne+=1,zs(e,ee.byteOffset-c+ne,V),E5(e,ee,ne+4+(ie===0?V:0))}}let P=Ht(e,["mdat"]);if(P.length===1){let U=P[0].byteOffset-c-8;zs(e,U,i-U)}}let v=e,k=0,T=()=>0;if(m.length){({result:v,dropped:k,droppedBefore:T}=r9(e,m)),zs(v,l.byteOffset-c-8,l.byteLength+8-k);for(let _=0;_<f.length;_++){let P=f[_],U=T(P.byteOffset-c),z=Ht(P,["trun"]);for(let V=0;V<z.length;V++){let X=z[V];if(kt(X,0)&1)zs(v,X.byteOffset-c-U+8,kt(X,8)-k)}if(U){let V=Ht(P,["saio"]);for(let X=0;X<V.length;X++){let J=V[X],ee=J[0]===0?4:8,te=kt(J,0)&1?12:4,ne=kt(J,te);for(te+=4;ne--;te+=ee){let ie=te+ee-4;zs(v,J.byteOffset-c-U+ie,kt(J,ie)-U)}}}}}if(r){let{durationOffset:_,value:P}=r;zs(v,_-T(_),P)}return i!==void 0?v.subarray(0,i-k):v}function xT(e,n){let s=e.byteLength;for(let i=0;i<s;){let r=kt(e,i);if(r>8&&kt(e,i+4)===Pt[n])return!0;i=r>1?i+r:s}return!1}function Ht(e,n){let s=[];if(!n.length)return s;return a9(e,n,0,0,e.byteLength,s),s}function a9(e,n,s,i,r,a){let l=n[s];if((l==null?void 0:l.length)!==4)return;let c=l.charCodeAt(0),f=l.charCodeAt(1),m=l.charCodeAt(2),g=l.charCodeAt(3),b=n.length-1;for(let v=i;v<r;){let k=v+8<=r,T=v+4<=r?e[v]*16777216+(e[v+1]<<16|e[v+2]<<8|e[v+3]):kt(e,v),_=T>1?v+T:r;if(k&&e[v+4]===c&&e[v+5]===f&&e[v+6]===m&&e[v+7]===g){let P=Math.min(_,r);if(s===b)a.push(e.subarray(v+8,P));else a9(e,n,s+1,v+8,P,a)}v=_}}function AT(e){let n=[],s=e[0],i=8,r=kt(e,i);i+=4;let a=0,l=0;if(s===0)a=kt(e,i),l=kt(e,i+4),i+=8;else a=T5(e,i),l=T5(e,i+8),i+=16;i+=2;let c=e.length+l,f=i9(e,i);i+=2;for(let m=0;m<f;m++){let g=i,b=kt(e,g);g+=4;let v=b&2147483647;if((b&2147483648)>>>31===1)return Cn.warn("SIDX has hierarchical references (not supported)"),null;let T=kt(e,g);g+=4,n.push({referenceSize:v,subsegmentDuration:T,info:{duration:T/r,start:c,end:c+v-1}}),c+=v,g+=4,i=g}return{earliestPresentationTime:a,timescale:r,version:s,referencesCount:f,references:n}}function o9(e){let n=[],s=Ht(e,["moov","trak"]);for(let r=0;r<s.length;r++){let a=s[r],l=Ht(a,["tkhd"])[0];if(l){let c=l[0],f=kt(l,c===0?12:20),m=Ht(a,["mdia","mdhd"])[0];if(m){c=m[0];let g=kt(m,c===0?12:20),b=Ht(a,["mdia","hdlr"])[0];if(b){let v=ra(b.subarray(8,12)),k={soun:Kn.AUDIO,vide:Kn.VIDEO}[v],T=Ht(a,["mdia","minf","stbl","stsd"])[0],_=TT(T);if(k)n[f]={timescale:g,type:k,stsd:_},n[k]=Dt({timescale:g,id:f},_);else n[f]={timescale:g,type:v,stsd:_}}}}}return Ht(e,["moov","mvex","trex"]).forEach((r)=>{let a=kt(r,4),l=n[a];if(l)l.default={duration:kt(r,12),sampleSize:kt(r,16),flags:kt(r,20)}}),n}function TT(e){let n=e.subarray(8),s=n.subarray(86),i=ra(n.subarray(4,8)),r=i,a,l=i==="enca"||i==="encv";if(l){let m=Ht(n,[i])[0].subarray(i==="enca"?28:78);Ht(m,["sinf"]).forEach((b)=>{let v=Ht(b,["schm"])[0];if(v){let k=ra(v.subarray(4,8));if(k==="cbcs"||k==="cenc"){let T=Ht(b,["frma"])[0];if(T)r=ra(T)}}})}let c=r;switch(r){case"avc1":case"avc2":case"avc3":case"avc4":{let f=Ht(s,["avcC"])[0];if(f&&f.length>3)r+="."+Id(f[1])+Id(f[2])+Id(f[3]),a=_d(c==="avc1"?"dva1":"dvav",s);break}case"mp4a":{let f=Ht(n,[i])[0],m=Ht(f.subarray(28),["esds"])[0];if(m&&m.length>7){let g=4;if(m[g++]!==3)break;g=wg(m,g),g+=2;let b=m[g++];if(b&128)g+=2;if(b&64)g+=m[g++];if(m[g++]!==4)break;g=wg(m,g);let v=m[g++];if(v===64)r+="."+Id(v);else break;if(g+=12,m[g++]!==5)break;g=wg(m,g);let k=m[g++],T=(k&248)>>3;if(T===31)T+=1+((k&7)<<3)+((m[g]&224)>>5);r+="."+T}break}case"hvc1":case"hev1":{let f=Ht(s,["hvcC"])[0];if(f&&f.length>12){let m=f[1],g=["","A","B","C"][m>>6],b=m&31,v=kt(f,2),k=(m&32)>>5?"H":"L",T=f[12],_=f.subarray(6,12);r+="."+g+b,r+="."+ET(v).toString(16).toUpperCase(),r+="."+k+T;let P="";for(let U=_.length;U--;){let z=_[U];if(z||P)P="."+z.toString(16).toUpperCase()+P}r+=P}a=_d(c=="hev1"?"dvhe":"dvh1",s);break}case"dvh1":case"dvhe":case"dvav":case"dva1":case"dav1":{r=_d(r,s)||r;break}case"vp09":{let f=Ht(s,["vpcC"])[0];if(f&&f.length>6){let m=f[4],g=f[5],b=f[6]>>4&15;r+="."+xa(m)+"."+xa(g)+"."+xa(b)}break}case"av01":{let f=Ht(s,["av1C"])[0];if(f&&f.length>2){let m=f[1]>>>5,g=f[1]&31,b=f[2]>>>7?"H":"M",v=(f[2]&64)>>6,k=(f[2]&32)>>5,T=m===2&&v?k?12:10:v?10:8,_=(f[2]&16)>>4,P=(f[2]&8)>>3,U=(f[2]&4)>>2,z=f[2]&3,V=1,X=1,J=1,ee=0;r+="."+m+"."+xa(g)+b+"."+xa(T)+"."+_+"."+P+U+z+"."+xa(1)+"."+xa(1)+"."+xa(1)+".0",a=_d("dav1",s)}break}}return{codec:r,encrypted:l,supplemental:a}}function _d(e,n){let s=Ht(n,["dvvC"]),i=s.length?s[0]:Ht(n,["dvcC"])[0];if(i){let r=i[2]>>1&127,a=i[2]<<5&32|i[3]>>3&31;return e+"."+xa(r)+"."+xa(a)}}function ET(e){let n=0;for(let s=0;s<32;s++)n|=(e>>s&1)<<31-s;return n>>>0}function wg(e,n){let s=n+5;while(e[n++]&128&&n<s);return n}function Id(e){return("0"+e.toString(16).toUpperCase()).slice(-2)}function xa(e){return(e<10?"0":"")+e}function CT(e,n){if(!e||!n)return;let s=n.keyId;if((s==null?void 0:s.byteLength)===16&&n.isCommonEncryption)l9(e,(i,r)=>{let a=i.subarray(8,24);if(!a.some((l)=>l!==0))Cn.log(`[eme] Patching keyId in 'enc${r?"a":"v"}>sinf>>tenc' box: ${Qs(a)} -> ${Qs(s)}`),i.set(s,8)})}function jT(e){let n=[];return l9(e,(s)=>n.push(s.subarray(8,24))),n}function l9(e,n){Ht(e,["moov","trak"]).forEach((i)=>{let r=Ht(i,["mdia","minf","stbl","stsd"])[0];if(!r)return;let a=r.subarray(8),l=Ht(a,["enca"]),c=l.length>0;if(!c)l=Ht(a,["encv"]);l.forEach((f)=>{let m=c?f.subarray(28):f.subarray(78);Ht(m,["sinf"]).forEach((b)=>{let v=c9(b);if(v)n(v,c)})})})}function c9(e){let n=Ht(e,["schm"])[0];if(n){let s=ra(n.subarray(4,8));if(s==="cbcs"||s==="cenc"){let i=Ht(e,["schi","tenc"])[0];if(i)return i}}}var C5;function _T(e){if(typeof TextDecoder>"u")return pr(e);return(C5||(C5=new TextDecoder("utf-8"))).decode(e).replace(/\0/g,"")}function IT(e){let n=e.byteLength,s=[];for(let i=0;i<n;){let r=i+8<=n,a=i+4<=n?e[i]*16777216+(e[i+1]<<16|e[i+2]<<8|e[i+3]):kt(e,i),l=a>1?i+a:n;if(r&&e[i+4]===109&&e[i+5]===111&&e[i+6]===111&&e[i+7]===102){let c=Math.min(l,n);for(let f=i+8;f<c;){let m=f+8<=c,g=f+4<=c?e[f]*16777216+(e[f+1]<<16|e[f+2]<<8|e[f+3]):kt(e,f),b=g>1?f+g:c;if(m&&e[f+4]===116&&e[f+5]===114&&e[f+6]===97&&e[f+7]===102){let v=Math.min(b,c),k,T,_=[];for(let P=f+8;P<v;){let U=P+8<=v,z=P+4<=v?e[P]*16777216+(e[P+1]<<16|e[P+2]<<8|e[P+3]):kt(e,P),V=z>1?P+z:v;if(U&&e[P+4]===116){let X=Math.min(V,v);if(e[P+5]===102&&e[P+6]===104&&e[P+7]===100)T||(T=e.subarray(P+8,X));else if(e[P+5]===102&&e[P+6]===100&&e[P+7]===116)k||(k=e.subarray(P+8,X));else if(e[P+5]===114&&e[P+6]===117&&e[P+7]===110)_.push(e.subarray(P+8,X))}P=V}s.push({moofOffset:e.byteOffset+i,tfdt:k,tfhd:T,truns:_})}f=b}}i=l}return s}function RT(e,n,s,i,r=!0){return f9(e,n,i,r)}function DT(e,n,s,i,r=!1){let a=[],l=n.samples,c=f9(l,s,i,r,{isHEVCFlavor:jh(n.codec),samples:a,timeOffset:e,timescale:n.timescale,trackId:n.id});return{samples:a,sampleData:{includeSampleDetails:r,tracks:c}}}function f9(e,n,s,i,r){let a={},l=!1,c=IT(e),f=e.byteLength;for(let b=0;b<c.length;b++){let{moofOffset:v,tfdt:k,tfhd:T,truns:_}=c[b],P=kt(T,4),U=n[P];if(!U)continue;let z=a[P]||(a[P]={start:NaN,duration:0,sampleCount:0,trun:[],timescale:U.timescale,type:U.type}),V;if(k){let Ee=k[0];if(V=kt(k,4),Ee===1)if(V===ka)s.warn("[mp4-demuxer]: Ignoring assumed invalid signed 64-bit track fragment decode time");else V*=ka+1,V+=kt(k,8);if(lt(V)&&(!lt(z.start)||V<z.start))z.start=V;if(r&&lt(V))r.timeOffset=V/r.timescale}let X=(r==null?void 0:r.trackId)===P&&U.type===Kn.VIDEO,J=U.default,ee=kt(T,0)&16777215,te=(J==null?void 0:J.duration)||0,ne,ie=(J==null?void 0:J.sampleSize)||0,se=8;if(ee&1)se+=8;if(ee&2)se+=4;if(ee&8)te=kt(T,se),ne=T.byteOffset-e.byteOffset+se,se+=4;if(ee&16)ie=kt(T,se);let oe=0,ye=(ee&1)!==0,Se=!ye&&(ee&131072)!==0;if(ye)oe=kt(T,8),oe*=Math.pow(2,32),oe+=kt(T,12);else if(Se)oe=v;let me=V||0,de=0,ce=te;for(let Ee=0;Ee<_.length;Ee++){let we=_[Ee],qe=kt(we,4),Re=z.sampleCount;z.sampleCount+=qe;let Fe=we[3]&1,Be=0,Xe=we[3]&4,st=we[2]&1,Ze=we[2]&2,St=we[2]&4,_t=we[2]&8,dt=8;if(Fe)Be=$g(we,dt),dt+=4;if(Xe){if(!(we[dt+1]&1)&&z.keyFrameIndex===void 0)z.keyFrameIndex=Re;dt+=4}let Ot=oe+Be;if(!i&&we[1]===0&&we[2]===6&&we[3]===1){var m,g;let on=me,fs=Ot,We=dt,nt=-1,yt=0,pt=0,zt=(m=r==null?void 0:r.timeOffset)!=null?m:0,sn=te/((g=r==null?void 0:r.timescale)!=null?g:1),un=(r==null?void 0:r.isHEVCFlavor)===!0,Kt=un?2:1;for(let hs=0;hs<qe;hs++){let Gn=we[dt]===0?we[dt+1]<<16|we[dt+2]<<8|we[dt+3]:kt(we,dt),qt=nt===-1&&z.keyFrameIndex===void 0&&(we[dt+5]&1)===0;dt+=8;let ei=Ot+Gn;if(X){if(Gn>0){let An=Ot;do{let os=e[An]===0?e[An+1]<<16|e[An+2]<<8|e[An+3]:kt(e,An);An+=4;let us=e[An],Gs=un?us>>1&63:us&31;if(un?Gs===39||Gs===40:Gs===6)vh(e.subarray(An,An+os),Kt,zt,r.samples);An+=os}while(An<ei)}zt+=sn}if(Ot=ei,qt)nt=hs,yt=Ot}if(Ot<=f)pt=qe;else{let hs=fs,Gn=We;for(let qt=0;qt<qe;qt++){let ei=we[Gn]===0?we[Gn+1]<<16|we[Gn+2]<<8|we[Gn+3]:kt(we,Gn);if(hs+=ei,hs>f)break;pt=qt+1,Gn+=8}}if(X)r.timeOffset=zt;if(nt!==-1&&yt<=f&&z.keyFrameIndex===void 0)z.keyFrameIndex=nt,z.keyFrameStart=on+nt*te;if(pt){if(!lt(z.ptsMin)||on<z.ptsMin)z.ptsMin=on;let hs=on+pt*te;if(!lt(z.ptsMax)||hs>z.ptsMax)z.ptsMax=hs}let Pn=te*qe;me=on+Pn,de+=Pn;continue}let ln,kn;if(i){if(ln=[],kn={sampleOffset:Ot,samples:ln,defaultSampleDurationOffset:ne},Ot<=f)z.trun.push(kn)}let an;for(let on=0;on<qe;on++){let fs;if(st){if(i)fs=we.byteOffset-e.byteOffset+dt;ce=kt(we,dt),dt+=4}else ce=te;if(Ze)an=kt(we,dt),dt+=4;else an=ie;let We,nt;if(St){if(nt=we[dt+1]&1?1:0,i)We={isNonSync:nt,dependsOn:(we[dt]&3)===1?1:2};dt+=4}let yt=0;if(_t)yt=we[0]===0?kt(we,dt):$g(we,dt),dt+=4;if(X){let pt=Ot,zt=0;while(zt<an){let sn=kt(e,pt);if(pt+=4,h9(r.isHEVCFlavor,e[pt]))vh(e.subarray(pt,pt+sn),r.isHEVCFlavor?2:1,r.timeOffset+yt/r.timescale,r.samples);pt+=sn,zt+=sn+4}r.timeOffset+=ce/r.timescale}if(Ot+=an,Ot<=f){if(kn&&fs!==void 0)kn.lastSampleDurationOffset=fs;if(nt===0&&z.keyFrameIndex===void 0)z.keyFrameIndex=on,z.keyFrameStart=me;let pt=me+yt;if(!lt(z.ptsMin)||pt<z.ptsMin)z.ptsMin=pt;if(!lt(z.ptsMax)||pt+ce>z.ptsMax)z.ptsMax=pt+ce;if(ln)ln[on]={cts:yt,duration:ce,flags:We,size:an}}me+=ce,de+=ce}if(!de&&te)de+=te*qe}if(z.duration+=de,z.duration)l=!0}if(!l){let b=1/0,v=0,k=Ht(e,["sidx"]);for(let T=0;T<k.length;T++){let _=AT(k[T]);if(_!=null&&_.references){b=Math.min(b,_.earliestPresentationTime/_.timescale);let P=_.references.reduce((U,z)=>U+z.info.duration||0,0);v=Math.max(v,P+_.earliestPresentationTime/_.timescale)}}if(v&&lt(v))Object.keys(a).forEach((T)=>{if(!a[T].duration)a[T].duration=v*a[T].timescale-a[T].start})}return a}function qT(e){let n={valid:null,remainder:null},s=Ht(e,["moof"]);if(s.length<2)return n.remainder=e,n;let i=s[s.length-1];return n.valid=e.slice(0,i.byteOffset-8),n.remainder=e.slice(i.byteOffset-8),n}function Ir(e,n){let s=new Uint8Array(e.length+n.length);return s.set(e),s.set(n,e.length),s}function MT(e,n){let s=[],{samples:i,timescale:r,id:a}=n,l=!1;return Ht(i,["moof"]).map((f)=>{let m=f.byteOffset-8;Ht(f,["traf"]).map((b)=>{let v=Ht(b,["tfdt"]).map((k)=>{let T=k[0],_=kt(k,4);if(T===1)_*=Math.pow(2,32),_+=kt(k,8);return _/r})[0];if(v!==void 0)e=v;return Ht(b,["tfhd"]).map((k)=>{let T=kt(k,4),_=kt(k,0)&16777215,P=(_&1)!==0,U=0,z=(_&2)!==0,V=(_&8)!==0,X=0,J=(_&16)!==0,ee=0,te=(_&32)!==0,ne=!P&&(_&131072)!==0,ie=8;if(T===a){if(P)U=kt(k,ie),ie+=4,U*=Math.pow(2,32),U+=kt(k,ie),ie+=4;else if(ne)U=m;if(z)ie+=4;if(V)X=kt(k,ie),ie+=4;if(J)ee=kt(k,ie),ie+=4;if(te)ie+=4;if(n.type==="video")l=jh(n.codec);Ht(b,["trun"]).map((se)=>{let oe=se[0],ye=kt(se,0)&16777215,Se=(ye&1)!==0,me=0,de=(ye&4)!==0,ce=(ye&256)!==0,Ee=0,we=(ye&512)!==0,qe=0,Re=(ye&1024)!==0,Fe=(ye&2048)!==0,Be=0,Xe=kt(se,4),st=8;if(Se)me=kt(se,st),st+=4;if(de)st+=4;let Ze=U+me;for(let St=0;St<Xe;St++){if(ce)Ee=kt(se,st),st+=4;else Ee=X;if(we)qe=kt(se,st),st+=4;else qe=ee;if(Re)st+=4;if(Fe){if(oe===0)Be=kt(se,st);else Be=$g(se,st);st+=4}if(n.type===Kn.VIDEO){let _t=0;while(_t<qe){let dt=kt(i,Ze);if(Ze+=4,h9(l,i[Ze])){let Ot=i.subarray(Ze,Ze+dt);vh(Ot,l?2:1,e+Be/r,s)}Ze+=dt,_t+=dt+4}}e+=Ee/r}})}})})}),s}function jh(e){if(!e)return!1;let n=e.substring(0,4);return n==="hvc1"||n==="hev1"||n==="dvh1"||n==="dvhe"}function h9(e,n){if(e){let s=n>>1&63;return s===39||s===40}else return(n&31)===6}function vh(e,n,s,i){let r=u9(e),a=0;a+=n;let l=0,c=0,f=0;while(a<r.length){l=0;do{if(a>=r.length)break;f=r[a++],l+=f}while(f===255);c=0;do{if(a>=r.length)break;f=r[a++],c+=f}while(f===255);let m=r.length-a,g=a;if(c<m)a+=c;else if(c>m){Cn.error(`Malformed SEI payload. ${c} is too small, only ${m} bytes left to parse.`);break}if(l===4){if(r[g++]===181){let v=i9(r,g);if(g+=2,v===49){let k=kt(r,g);if(g+=4,k===1195456820){let T=r[g++];if(T===3){let _=r[g++],P=31&_,U=64&_,z=U?2+P*3:0,V=new Uint8Array(z);if(U){V[0]=_;for(let X=1;X<z;X++)V[X]=r[g++]}i.push({type:T,payloadType:l,pts:s,bytes:V})}}}}}else if(l===5){if(c>16){let b=[];for(let T=0;T<16;T++){let _=r[g++].toString(16);if(b.push(_.length==1?"0"+_:_),T===3||T===5||T===7||T===9)b.push("-")}let v=c-16,k=new Uint8Array(v);for(let T=0;T<v;T++)k[T]=r[g++];i.push({payloadType:l,pts:s,uuid:b.join(""),userData:_T(k),userDataBytes:k})}}}}function u9(e){let n=e.byteLength,s,i=e.indexOf(3,3);while(i!==-1){if(e[i-1]===0&&e[i-2]===0)(s||(s=[])).push(i);i=e.indexOf(3,i+1)}if(!s)return e;let r=n-s.length,a=new Uint8Array(r),l=0,c=0;for(let f=0;f<r;c++,f++){if(c===s[l])c++,l++;a[f]=e[c]}return a}function FT(e){let n=e[0],s="",i="",r=0,a=0,l,c=0,f=0,m=4;if(n===0){let b=jd(e,m),v=b!==null?jd(e,m+b.length):null;if(b!==null&&v!==null)s=b,i=v,m+=b.length+v.length,r=kt(e,m),m+=4,a=kt(e,m),m+=4,c=kt(e,m),m+=4,f=kt(e,m),m+=4;else Cn.warn(`Unterminated ${b===null?"scheme_id_uri":"value"} in parsing emsg box: version 0 box ends inside a string, dropping all of its fields`),m=e.length}else if(n===1){r=kt(e,m),m+=4;let b=kt(e,m);m+=4;let v=kt(e,m);if(m+=4,l=4294967296*b+v,!zA(l))l=Number.MAX_SAFE_INTEGER,Cn.warn("Presentation time exceeds safe integer limit and wrapped to max safe integer in parsing emsg box");c=kt(e,m),m+=4,f=kt(e,m),m+=4;let k=jd(e,m),T=k!==null?jd(e,m+k.length):null;if(k!==null)s=k,m+=k.length;if(T!==null)i=T,m+=T.length;else Cn.warn(`Unterminated ${k===null?"scheme_id_uri":"value"} in parsing emsg box: version 1 box ends inside a string, dropping its ${k===null?"strings and payload":"value and payload"}`),m=e.length}let g=e.subarray(m,e.byteLength);return{schemeIdUri:s,value:i,timeScale:r,presentationTime:l,presentationTimeDelta:a,eventDuration:c,id:f,payload:g}}function LT(e,...n){let s=n.length,i=8,r=s;while(r--)i+=n[r].byteLength;let a=new Uint8Array(i);a[0]=i>>24&255,a[1]=i>>16&255,a[2]=i>>8&255,a[3]=i&255,a.set(e,4);for(r=0,i=8;r<s;r++)a.set(n[r],i),i+=n[r].byteLength;return a}function OT(e,n,s){if(e.byteLength!==16)throw RangeError("Invalid system id");let i,r;i=0,r=new Uint8Array;let a;if(i>0){if(a=new Uint8Array(4),n.length>0)new DataView(a.buffer).setUint32(0,n.length,!1)}else a=new Uint8Array;let l=new Uint8Array(4);if(s.byteLength>0)new DataView(l.buffer).setUint32(0,s.byteLength,!1);return LT([112,115,115,104],new Uint8Array([i,0,0,0]),e,a,r,l,s)}function d9(e){let n=[];if(e instanceof ArrayBuffer){let s=e.byteLength,i=0;while(i+32<s){let r=new DataView(e,i),a=NT(r);n.push(a),i+=a.size}}return n}function PT(e){let n=[];for(let s=0;s<e.length;){let i=e[s++],r=i&7;if(r===0){while(e[s++]&128);continue}if(r!==2){s+=r===1?8:4;continue}let a=0;for(let l=0,c=128;c&128;l+=7)a|=((c=e[s++])&127)<<l;if(i>>3===2){if(a===32){let l=new Uint8Array(16);for(let c=0;c<16;c++)l[c]=parseInt(String.fromCharCode(e[s+c*2],e[s+c*2+1]),16);n.push(l)}else if(a===16)n.push(e.subarray(s,s+16))}s+=a}return n}function NT(e){let n=e.getUint32(0),{byteOffset:s,byteLength:i}=e;if(i<n)return{offset:s,size:i};if(e.getUint32(4)!==1886614376)return{offset:s,size:n};let a=e.getUint32(8)>>>24;if(a!==0&&a!==1)return{offset:s,size:n};let l=e.buffer,c=Qs(new Uint8Array(l,s+12,16)),f=null,m=null,g=0;if(a===0)g=28;else{let v=e.getUint32(28);if(!v||i<32+v*16)return{offset:s,size:n};f=[];for(let k=0;k<v;k++)f.push(new Uint8Array(l,s+32+k*16,16));g=32+v*16}if(!g)return{offset:s,size:n};let b=e.getUint32(g);if(n-32<b)return{offset:s,size:n};if(m=new Uint8Array(l,s+g+4,b),a===0)f=PT(m);return{version:a,systemId:c,kids:f,data:m,offset:s,size:n}}var tf=m9("userAgent"),HT=m9("vendor"),yg,vg,Sg;function m9(e){try{return navigator[e]||""}catch(n){}return""}function UT(){if(Sg===void 0){let e=tf.match(/Safari\/(\d+)/i);Sg=e?parseInt(e[1]):0}return Sg}function uh(){if(yg===void 0){let e=tf.match(/Chrome\/(\d+)/i);yg=e?parseInt(e[1]):0}return yg}function zT(){if(vg===void 0){let e=tf.match(/Firefox\/(\d+)/i);vg=e?parseInt(e[1]):0}return vg}function p9(){return/\(Windows.+Firefox\//i.test(tf)}function GT(){return HT.indexOf("Apple")>-1||/iPhone|iPad|iPod/.test(tf)}function VT(){return/Android/.test(tf)}var Qc={audio:{a3ds:1,"ac-3":0.95,"ac-4":1,alac:0.9,alaw:1,dra1:1,"dts+":1,"dts-":1,dtsc:1,dtse:1,dtsh:1,"ec-3":0.9,enca:1,fLaC:0.9,flac:0.9,FLAC:0.9,g719:1,g726:1,m4ae:1,mha1:1,mha2:1,mhm1:1,mhm2:1,mlpa:1,mp4a:1,"raw ":1,Opus:1,opus:1,samr:1,sawb:1,sawp:1,sevc:1,sqcp:1,ssmv:1,twos:1,ulaw:1},video:{avc1:1,avc2:1,avc3:1,avc4:1,avcp:1,av01:0.8,dav1:0.8,drac:1,dva1:1,dvav:1,dvh1:0.7,dvhe:0.7,encv:1,hev1:0.75,hvc1:0.75,mjp2:1,mp4v:1,mvc1:1,mvc2:1,mvc3:1,mvc4:1,resv:1,rv60:1,s263:1,svc1:1,svc2:1,"vc-1":1,vp08:1,vp09:0.9},text:{stpp:1,wvtt:1},image:{mjpg:1}};function T1(e,n){let s=Qc[n];return!!s&&!!s[e.slice(0,4)]}function Sh(e,n,s=!0){return!e.split(",").some((i)=>!E1(i,n,s))}function E1(e,n,s=!0){var i;let r=al(s);return(i=r==null?void 0:r.isTypeSupported(kh(e,n)))!=null?i:!1}function kh(e,n){return`${n}/mp4;codecs=${e}`}function j5(e){if(e){let n=e.substring(0,4);return Qc.video[n]}return 2}function Qd(e){let n=p9();return e.split(",").reduce((s,i)=>{let a=n&&jh(i)?9:Qc.video[i];if(a)return(a*2+s)/(s?3:2);return(Qc.audio[i]+s)/(s?2:1)},0)}var kg={};function $T(e,n=!0){if(kg[e])return kg[e];let s={flac:["flac","fLaC","FLAC"],opus:["opus","Opus"],"mp4a.40.34":["mp3"]}[e];for(let r=0;r<s.length;r++){var i;if(E1(s[r],"audio",n))return kg[e]=s[r],s[r];else if(s[r]==="mp3"&&(i=al(n))!=null&&i.isTypeSupported("audio/mpeg"))return""}return e}var XT=/flac|opus|mp4a\.40\.34/i;function Zd(e,n=!0){return e.replace(XT,(s)=>$T(s.toLowerCase(),n))}function WT(e,n){let s=[];if(e){let i=e.split(",");for(let r=0;r<i.length;r++)if(!T1(i[r],"video"))s.push(i[r])}if(n)s.push(n);return s.join(",")}function zd(e,n){if(e&&(e.length>4||["ac-3","ec-3","alac","fLaC","Opus"].indexOf(e)!==-1)){if(_5(e,"audio")||_5(e,"video"))return e}if(n){let s=n.split(",");if(s.length>1){if(e){for(let i=s.length;i--;)if(s[i].substring(0,4)===e.substring(0,4))return s[i]}return s[0]}}return n||e}function _5(e,n){return T1(e,n)&&E1(e,n)}function KT(e){let n=e.split(",");for(let s=0;s<n.length;s++){let i=n[s].split(".");if(i.length>2&&i[0]==="avc1")n[s]=`avc1.${parseInt(i[1]).toString(16)}${("000"+parseInt(i[2]).toString(16)).slice(-4)}`}return n.join(",")}function YT(e){if(e.startsWith("av01.")){let n=e.split("."),s=["0","111","01","01","01","0"];for(let i=n.length;i>4&&i<10;i++)n[i]=s[i-4];return n.join(".")}return e}function I5(e){let n=al(e)||{isTypeSupported:()=>!1};return{mpeg:n.isTypeSupported("audio/mpeg"),mp3:n.isTypeSupported('audio/mp4; codecs="mp3"'),ac3:n.isTypeSupported('audio/mp4; codecs="ac-3"')}}function Wg(e){return e.replace(/^.+codecs=["']?([^"']+).*$/,"$1")}var QT={supported:!0,powerEfficient:!0,smooth:!0},JT={supported:!1,smooth:!1,powerEfficient:!1},g9={supported:!0,configurations:[],decodingInfoResults:[QT]};function b9(e,n){return{supported:!1,configurations:n,decodingInfoResults:[JT],error:e}}function ZT(e,n,s,i,r,a){let l=e.videoCodec,c=e.audioCodec?e.audioGroups:null,f=a==null?void 0:a.audioCodec,m=a==null?void 0:a.channels,g=m?parseInt(m):f?1/0:2,b=null;if(c!=null&&c.length)try{if(c.length===1&&c[0])b=n.groups[c[0]].channels;else b=c.reduce((v,k)=>{if(k){let T=n.groups[k];if(!T)throw Error(`Audio track group ${k} not found`);Object.keys(T.channels).forEach((_)=>{v[_]=(v[_]||0)+T.channels[_]})}return v},{2:0})}catch(v){return!0}return l!==void 0&&(l.split(",").some((v)=>jh(v))||e.width>1920&&e.height>1088||e.height>1920&&e.width>1088||e.frameRate>Math.max(i,30)||e.videoRange!=="SDR"&&e.videoRange!==s||e.bitrate>Math.max(r,8000000))||!!b&&lt(g)&&Object.keys(b).some((v)=>parseInt(v)>g)}function w9(e,n,s,i={}){let r=e.videoCodec;if(!r&&!e.audioCodec||!s)return Promise.resolve(g9);let a=[],l=eE(e),c=l.length,f=tE(e,n,c>0),m=f.length;for(let g=c||1*m||1;g--;){let b={type:"media-source"};if(c)b.video=l[g%c];if(m){b.audio=f[g%m];let v=b.audio.bitrate;if(b.video&&v)b.video.bitrate-=v}a.push(b)}if(r){let g=navigator.userAgent;if(r.split(",").some((b)=>jh(b))&&p9())return Promise.resolve(b9(Error(`Overriding Windows Firefox HEVC MediaCapabilities result based on user-agent string: (${g})`),a))}return Promise.all(a.map((g)=>{let b=nE(g);return i[b]||(i[b]=s.decodingInfo(g))})).then((g)=>({supported:!g.some((b)=>!b.supported),configurations:a,decodingInfoResults:g})).catch((g)=>({supported:!1,configurations:a,decodingInfoResults:[],error:g}))}function eE(e){var n;let s=(n=e.videoCodec)==null?void 0:n.split(","),i=v9(e),r=e.width||640,a=e.height||480,l=e.frameRate||30,c=e.videoRange.toLowerCase();return s?s.map((f)=>{let m={contentType:kh(YT(f),"video"),width:r,height:a,bitrate:i,framerate:l};if(c!=="sdr")m.transferFunction=c;return m}):[]}function tE(e,n,s){var i;let r=(i=e.audioCodec)==null?void 0:i.split(","),a=v9(e);if(r&&e.audioGroups)return e.audioGroups.reduce((l,c)=>{var f;let m=c?(f=n.groups[c])==null?void 0:f.tracks:null;if(m)return m.reduce((g,b)=>{if(b.groupId===c){let v=parseFloat(b.channels||"");r.forEach((k)=>{let T={contentType:kh(k,"audio"),bitrate:s?y9(k,a):a};if(v)T.channels=""+v;g.push(T)})}return g},l);return l},[]);return[]}function y9(e,n){if(n<=1)return 1;let s=128000;if(e==="ec-3")s=768000;else if(e==="ac-3")s=640000;return Math.min(n/2,s)}function v9(e){return Math.ceil(Math.max(e.bitrate*0.9,e.averageBitrate)/1000)*1000||1}function nE(e){let n="",{audio:s,video:i}=e;if(i){let r=Wg(i.contentType);n+=`${r}_r${i.height}x${i.width}f${Math.ceil(i.framerate)}${i.transferFunction||"sd"}_${Math.ceil(i.bitrate/1e5)}`}if(s){let r=Wg(s.contentType);n+=`${i?"_":""}${r}_c${s.channels}`}return n}function il(e,n,s){let i=encodeURIComponent(n),r=`${i}=${encodeURIComponent(s)}`,a=!1,l=[];if(e.search.substring(1).split("&").forEach((c)=>{if(c===i||c.startsWith(i+"=")){if(!a)l.push(r),a=!0}else if(c)l.push(c)}),!a)l.push(r);e.search=l.join("&")}var Kg=["NONE","TYPE-0","TYPE-1",null];function iE(e){return Kg.indexOf(e)>-1}var e0=["SDR","PQ","HLG"];function rE(e){return!!e&&e0.indexOf(e)>-1}var Gd={No:"",Yes:"YES",v2:"v2"};function R5(e){let{canSkipUntil:n,canSkipDateRanges:s,age:i}=e,r=i<n/2;if(n&&r){if(s)return Gd.v2;return Gd.Yes}return Gd.No}class Yg{constructor(e,n,s){this.msn=void 0,this.part=void 0,this.skip=void 0,this.msn=e,this.part=n,this.skip=s}addDirectives(e){let n=new self.URL(e);if(this.msn!==void 0)il(n,"_HLS_msn",this.msn.toString());if(this.part!==void 0)il(n,"_HLS_part",this.part.toString());if(this.skip)il(n,"_HLS_skip",this.skip);return n.href}}class Jc{constructor(e){if(this._attrs=void 0,this.audioCodec=void 0,this.bitrate=void 0,this.codecSet=void 0,this.url=void 0,this.frameRate=void 0,this.height=void 0,this.id=void 0,this.name=void 0,this.supplemental=void 0,this.videoCodec=void 0,this.width=void 0,this.imageCodec=void 0,this.iframes=void 0,this.details=void 0,this.fragmentError=0,this.loadError=0,this.loadErrorTime=0,this.loaded=void 0,this.realBitrate=0,this.supportedPromise=void 0,this.supportedResult=void 0,this._avgBitrate=0,this._audioGroups=void 0,this._subtitleGroups=void 0,this._urlId=0,this.url=[e.url],this._attrs=[e.attrs],this.bitrate=e.bitrate,e.details)this.details=e.details;if(this.id=e.id||0,this.name=e.name,this.width=e.width||0,this.height=e.height||0,this.frameRate=e.attrs.optionalFloat("FRAME-RATE",0),this._avgBitrate=e.attrs.decimalInteger("AVERAGE-BANDWIDTH"),this.audioCodec=e.audioCodec,this.videoCodec=e.videoCodec,"imageCodec"in e)this.imageCodec=e.imageCodec;if(this.codecSet=[e.videoCodec,e.audioCodec].filter((s)=>!!s).map((s)=>s.substring(0,4)).join(","),"supplemental"in e){var n;this.supplemental=e.supplemental;let s=(n=e.supplemental)==null?void 0:n.videoCodec;if(s&&s!==e.videoCodec)this.codecSet+=`,${s.substring(0,4)}`}if("iframes"in e&&e.iframes)this.iframes=!0;else this.addGroupId("audio",e.attrs.AUDIO),this.addGroupId("text",e.attrs.SUBTITLES)}get maxBitrate(){return Math.max(this.realBitrate,this.bitrate)}get averageBitrate(){return this._avgBitrate||this.realBitrate||this.bitrate}get attrs(){return this._attrs[0]}get codecs(){return this.attrs.CODECS||""}get pathwayId(){return this.attrs["PATHWAY-ID"]||"."}get videoRange(){return this.attrs["VIDEO-RANGE"]||"SDR"}get score(){return this.attrs.optionalFloat("SCORE",0)}get uri(){return this.url[0]||""}hasAudioGroup(e){return D5(this._audioGroups,e)}hasSubtitleGroup(e){return D5(this._subtitleGroups,e)}get audioGroups(){return this._audioGroups}get subtitleGroups(){return this._subtitleGroups}addGroupId(e,n){if(!n)return;if(e==="audio"){let s=this._audioGroups;if(!s)s=this._audioGroups=[];if(s.indexOf(n)===-1)s.push(n)}else if(e==="text"){let s=this._subtitleGroups;if(!s)s=this._subtitleGroups=[];if(s.indexOf(n)===-1)s.push(n)}}get urlId(){return 0}set urlId(e){}get audioGroupIds(){return this.audioGroups?[this.audioGroupId]:void 0}get textGroupIds(){return this.subtitleGroups?[this.textGroupId]:void 0}get audioGroupId(){var e;return(e=this.audioGroups)==null?void 0:e[0]}get textGroupId(){var e;return(e=this.subtitleGroups)==null?void 0:e[0]}addFallback(){}}function D5(e,n){if(!n||!e)return!1;return e.indexOf(n)!==-1}function aE(){if(typeof matchMedia==="function"){let e=matchMedia("(dynamic-range: high)"),n=matchMedia("bad query");if(e.media!==n.media)return e.matches===!0}return!1}function oE(e,n){let s=!1,i=[];if(e)s=e!=="SDR",i=[e];if(n){i=n.allowedVideoRanges||e0.slice(0);let r=i.join("")!=="SDR"&&!n.videoCodec;if(s=n.preferHDR!==void 0?n.preferHDR:r&&aE(),!s)i=["SDR"]}return{preferHDR:s,allowedVideoRanges:i}}var lE=(e)=>{let n=new WeakSet;return(s,i)=>{if(e)i=e(s,i);if(typeof i==="object"&&i!==null){if(n.has(i))return;n.add(i)}return i}},ss=(e,n)=>JSON.stringify(e,lE(n));function cE(e,n,s,i,r){let a=Object.keys(e),l=i==null?void 0:i.channels,c=i==null?void 0:i.audioCodec,f=r==null?void 0:r.videoCodec,m=l&&parseInt(l)===2,g=!1,b=!1,v=1/0,k=1/0,T=1/0,_=1/0,P=0,U=[],{preferHDR:z,allowedVideoRanges:V}=oE(n,r);for(let ne=a.length;ne--;){let ie=e[a[ne]];if(g||(g=ie.channels[2]>0),v=Math.min(v,ie.minHeight),k=Math.min(k,ie.minFramerate),T=Math.min(T,ie.minBitrate),V.filter((oe)=>ie.videoRanges[oe]>0).length>0)b=!0}v=lt(v)?v:0,k=lt(k)?k:0;let X=Math.max(1080,v),J=Math.max(30,k);if(T=lt(T)?T:s,s=Math.max(T,s),!b)n=void 0;let ee=a.length>1;return{codecSet:a.reduce((ne,ie)=>{let se=e[ie];if(ie===ne)return ne;if(U=b?V.filter((oe)=>se.videoRanges[oe]>0):[],ee){if(se.minBitrate>s)return va(ie,`min bitrate of ${se.minBitrate} > current estimate of ${s}`),ne;if(!se.hasDefaultAudio)return va(ie,"no renditions with default or auto-select sound found"),ne;if(c&&ie.indexOf(c.substring(0,4))%5!==0)return va(ie,`audio codec preference "${c}" not found`),ne;if(l&&!m){if(!se.channels[l])return va(ie,`no renditions with ${l} channel sound found (channels options: ${Object.keys(se.channels)})`),ne}else if((!c||m)&&g&&se.channels["2"]===0)return va(ie,"no renditions with stereo sound found"),ne;if(se.minHeight>X)return va(ie,`min resolution of ${se.minHeight} > maximum of ${X}`),ne;if(se.minFramerate>J)return va(ie,`min framerate of ${se.minFramerate} > maximum of ${J}`),ne;if(!U.some((oe)=>se.videoRanges[oe]>0))return va(ie,`no variants with VIDEO-RANGE of ${ss(U)} found`),ne;if(f&&ie.indexOf(f.substring(0,4))%5!==0)return va(ie,`video codec preference "${f}" not found`),ne;if(se.maxScore<P)return va(ie,`max score of ${se.maxScore} < selected max of ${P}`),ne}if(ne&&(Qd(ie)>=Qd(ne)||se.fragmentError>e[ne].fragmentError))return ne;return _=se.minIndex,P=se.maxScore,ie},void 0),videoRanges:U,preferHDR:z,minFramerate:k,minBitrate:T,minIndex:_}}function va(e,n){Cn.log(`[abr] start candidates with "${e}" ignored because ${n}`)}function S9(e){return e.reduce((n,s)=>{let i=n.groups[s.groupId];if(!i)i=n.groups[s.groupId]={tracks:[],channels:{2:0},hasDefault:!1,hasAutoSelect:!1};i.tracks.push(s);let r=s.channels||"2";if(i.channels[r]=(i.channels[r]||0)+1,i.hasDefault=i.hasDefault||s.default,i.hasAutoSelect=i.hasAutoSelect||s.autoselect,i.hasDefault)n.hasDefaultAudio=!0;if(i.hasAutoSelect)n.hasAutoSelectAudio=!0;return n},{hasDefaultAudio:!1,hasAutoSelectAudio:!1,groups:{}})}function fE(e,n,s,i){return e.slice(s,i+1).reduce((r,a,l)=>{if(!a.codecSet)return r;let c=a.audioGroups,f=r[a.codecSet];if(!f)r[a.codecSet]=f={minBitrate:1/0,minHeight:1/0,minFramerate:1/0,minIndex:l,maxScore:0,videoRanges:{SDR:0},channels:{"2":0},hasDefaultAudio:!c,fragmentError:0};f.minBitrate=Math.min(f.minBitrate,a.bitrate);let m=Math.min(a.height,a.width);if(f.minHeight=Math.min(f.minHeight,m),f.minFramerate=Math.min(f.minFramerate,a.frameRate),f.minIndex=Math.min(f.minIndex,l),f.maxScore=Math.max(f.maxScore,a.score),f.fragmentError+=a.fragmentError,f.videoRanges[a.videoRange]=(f.videoRanges[a.videoRange]||0)+1,c)c.forEach((g)=>{if(!g)return;let b=n.groups[g];if(!b)return;f.hasDefaultAudio=f.hasDefaultAudio||n.hasDefaultAudio?b.hasDefault:b.hasAutoSelect||!n.hasDefaultAudio&&!n.hasAutoSelectAudio,Object.keys(b.channels).forEach((v)=>{f.channels[v]=(f.channels[v]||0)+b.channels[v]})});return r},{})}function q5(e){if(!e)return e;let{lang:n,assocLang:s,characteristics:i,channels:r,audioCodec:a}=e;return{lang:n,assocLang:s,characteristics:i,channels:r,audioCodec:a}}function Ta(e,n,s){if("attrs"in e){let i=n.indexOf(e);if(i!==-1)return i}for(let i=0;i<n.length;i++){let r=n[i];if(Yl(e,r,s))return i}return-1}function Yl(e,n,s){let{groupId:i,name:r,lang:a,assocLang:l,default:c}=e,f=e.forced;return(i===void 0||n.groupId===i)&&(r===void 0||n.name===r)&&(a===void 0||hE(a,n.lang))&&(l===void 0||n.assocLang===l)&&(c===void 0||n.default===c)&&(f===void 0||n.forced===f)&&(!("characteristics"in e)||uE(e.characteristics||"",n.characteristics))&&(s===void 0||s(e,n))}function hE(e,n="--"){if(e.length===n.length)return e===n;return e.startsWith(n)||n.startsWith(e)}function uE(e,n=""){let s=e.split(","),i=n.split(",");return s.length===i.length&&!s.some((r)=>i.indexOf(r)===-1)}function Kl(e,n){let{audioCodec:s,channels:i}=e;return(s===void 0||(n.audioCodec||"").substring(0,4)===s.substring(0,4))&&(i===void 0||i===(n.channels||"2"))}function dE(e,n,s,i,r){let a=n[i],c=n.reduce((v,k,T)=>{let _=k.uri;return(v[_]||(v[_]=[])).push(T),v},{})[a.uri];if(c.length>1)i=Math.max.apply(Math,c);let{videoRange:f,frameRate:m}=a,g=a.codecSet.substring(0,4),b=M5(n,i,(v)=>{if(v.videoRange!==f||v.frameRate!==m||v.codecSet.substring(0,4)!==g)return!1;let k=v.audioGroups,T=s.filter((_)=>xh(_.groupId,k));return Ta(e,T,r)>-1});if(b>-1)return b;return M5(n,i,(v)=>{let k=v.audioGroups,T=s.filter((_)=>xh(_.groupId,k));return Ta(e,T,r)>-1})}function M5(e,n,s){for(let i=n;i>-1;i--)if(s(e[i]))return i;for(let i=n+1;i<e.length;i++)if(s(e[i]))return i;return-1}function t0(e,n){var s;return!!e&&e!==((s=n.loadLevelObj)==null?void 0:s.uri)}function xh(e,n){if(!n)return!0;return n.indexOf(e)!==-1}function k9(e,n){if(n||e){let s=Nn({},n);if(e){if(e.videoCodec)s.videoCodec=e.videoCodec;if(e.videoRange)s.allowedVideoRanges=[e.videoRange]}return s}}class x9 extends $i{constructor(e){super("abr",e.logger);this.hls=void 0,this.lastLevelLoadSec=0,this.lastLoadedFragLevel=-1,this.firstSelection=-1,this.firstAutoFloor=-1,this._nextAutoLevel=-1,this.nextAutoLevelKey="",this.audioTracksByGroup=null,this.codecTiers=null,this.timer=-1,this.fragCurrent=null,this.partCurrent=null,this.bitrateTestDelay=0,this.rebufferNotice=-1,this.supportedCache={},this.bwEstimator=void 0,this._abandonRulesCheck=(n)=>{var s;let{fragCurrent:i,partCurrent:r,hls:a}=this;if(!a)return;let{autoLevelEnabled:l,media:c}=a;if(!i||!c)return;let f=performance.now(),m=r?r.stats:i.stats,g=r?r.duration:i.duration,b=f-m.loading.start,v=a.minAutoLevel,k=i.level,T=this._nextAutoLevel;if(m.aborted||m.loaded&&m.loaded===m.total||k<=v){this.clearTimer(),this._nextAutoLevel=-1;return}if(!l)return;let _=T>-1&&T!==k,P=!!n||_;if(!P&&(c.paused||!c.playbackRate||!c.readyState))return;let U=a.mainForwardBufferInfo;if(!P&&U===null)return;let z=this.bwEstimator.getEstimateTTFB(),V=Math.abs(c.playbackRate);if(b<=Math.max(z,1000*(g/(V*2))))return;let X=U?U.len/V:0,J=m.loading.first?m.loading.first-m.loading.start:-1,ee=m.loaded&&J>-1,te=this.getBwEstimate(),ne=a.levels,ie=ne[k],se=Math.max(m.loaded,Math.round(g*(i.bitrate||ie.averageBitrate)/8)),oe=ee?b-J:b;if(oe<1&&ee)oe=Math.min(b,m.loaded*8/te);let ye=ee?m.loaded*1000/oe:0,Se=z/1000,me=ye?(se-m.loaded)/ye:se*8/te+Se;if(me<=X)return;let de=ye?ye*8:te,ce=((s=(n==null?void 0:n.details)||a.latestLevelDetails)==null?void 0:s.live)===!0,Ee=a.config.abrBandWidthUpFactor,we=Number.POSITIVE_INFINITY,qe;for(qe=k-1;qe>v;qe--){let Xe=ne[qe].maxBitrate,st=!ne[qe].details||ce;if(we=this.getTimeToLoadFrag(Se,de,g*Xe,st),we<Math.min(X,g+Se))break}if(we>=me)return;if(we>g*10)return;if(ee)this.bwEstimator.sample(b-Math.min(z,J),m.loaded);else this.bwEstimator.sampleTTFB(b);let Re=ne[qe].maxBitrate;if(this.getBwEstimate()*Ee>Re)this.firstAutoFloor=Math.min(qe,a.firstLevel),this.resetEstimator(Re);let Fe=this.findBestLevel(Re,v,qe,0,X,1,1);if(Fe>-1)qe=Fe;this.warn(`Fragment ${i.sn}${r?" part "+r.index:""} of level ${k} is loading too slowly;
13
+ Fragment duration: ${i.duration.toFixed(3)}
14
+ Time to underbuffer: ${X.toFixed(3)} s
15
+ Estimated load time for current fragment: ${me.toFixed(3)} s
16
+ Estimated load time for down switch fragment: ${we.toFixed(3)} s
17
+ TTFB estimate: ${J|0} ms
18
+ Current BW estimate: ${lt(te)?te|0:"Unknown"} bps
19
+ New BW estimate: ${this.getBwEstimate()|0} bps
20
+ Switching to level ${qe} @ ${Re|0} bps`),a.nextLoadLevel=a.nextAutoLevel=qe,this.clearTimer();let Be=()=>{this.clearTimer();let Xe=this.hls;if(this.fragCurrent===i&&Xe.loadLevel===qe&&qe>0){let st=this.getStarvationDelay();if(this.warn(`Aborting inflight request ${qe>0?"and switching down":""}
21
+ Fragment duration: ${i.duration.toFixed(3)} s
22
+ Time to underbuffer: ${st.toFixed(3)} s`),i.abortRequests(),this.fragCurrent=this.partCurrent=null,qe>v){let Ze=this.findBestLevel(Xe.levels[v].bitrate,v,qe,0,st,1,1);if(Ze===-1)Ze=v;Xe.nextLoadLevel=Xe.nextAutoLevel=Ze,this.firstAutoFloor=Math.min(Ze,Xe.firstLevel),this.resetEstimator(Xe.levels[Ze].bitrate)}}};if(_||me>we*2)Be();else this.timer=self.setInterval(Be,we*1000);a.trigger(Z.FRAG_LOAD_EMERGENCY_ABORTED,{frag:i,part:r,stats:m})},this.hls=e,this.bwEstimator=this.initEstimator(),this.registerListeners()}resetEstimator(e){if(!this.hls)return;if(e)this.log(`setting initial bwe to ${e}`),this.hls.config.abrEwmaDefaultEstimate=e;this.firstSelection=-1,this.bwEstimator=this.initEstimator()}initEstimator(){let e=this.hls.config;return new K3(e.abrEwmaSlowVoD,e.abrEwmaFastVoD,e.abrEwmaDefaultEstimate)}registerListeners(){let e=this.hls;e.on(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Z.FRAG_LOADING,this.onFragLoading,this),e.on(Z.FRAG_LOADED,this.onFragLoaded,this),e.on(Z.FRAG_BUFFERED,this.onFragBuffered,this),e.on(Z.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(Z.LEVEL_LOADED,this.onLevelLoaded,this),e.on(Z.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(Z.MAX_AUTO_LEVEL_UPDATED,this.onMaxAutoLevelUpdated,this),e.on(Z.ERROR,this.onError,this)}unregisterListeners(){let{hls:e}=this;if(!e)return;e.off(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Z.FRAG_LOADING,this.onFragLoading,this),e.off(Z.FRAG_LOADED,this.onFragLoaded,this),e.off(Z.FRAG_BUFFERED,this.onFragBuffered,this),e.off(Z.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(Z.LEVEL_LOADED,this.onLevelLoaded,this),e.off(Z.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(Z.MAX_AUTO_LEVEL_UPDATED,this.onMaxAutoLevelUpdated,this),e.off(Z.ERROR,this.onError,this)}destroy(){this.unregisterListeners(),this.clearTimer(),this.hls=this._abandonRulesCheck=this.supportedCache=null,this.audioTracksByGroup=this.codecTiers=this.fragCurrent=this.partCurrent=null}onManifestLoading(e,n){this.lastLoadedFragLevel=-1,this.firstSelection=-1,this.firstAutoFloor=-1,this.lastLevelLoadSec=0,this.supportedCache={},this.fragCurrent=this.partCurrent=null,this.onLevelsUpdated(),this.clearTimer()}onLevelsUpdated(){if(this.lastLoadedFragLevel>-1&&this.fragCurrent)this.lastLoadedFragLevel=this.fragCurrent.level;this._nextAutoLevel=-1,this.onMaxAutoLevelUpdated(),this.codecTiers=null,this.audioTracksByGroup=null}onMaxAutoLevelUpdated(){this.firstSelection=-1,this.nextAutoLevelKey=""}onFragLoading(e,n){let s=n.frag;if(this.ignoreFragment(s))return;if(!s.bitrateTest){var i;this.fragCurrent=s,this.partCurrent=(i=n.part)!=null?i:null}this.clearTimer(),this.timer=self.setInterval(this._abandonRulesCheck,100)}onLevelSwitching(e,n){this.clearTimer()}onError(e,n){if(n.fatal)return;switch(n.details){case Le.BUFFER_ADD_CODEC_ERROR:case Le.BUFFER_APPEND_ERROR:this.lastLoadedFragLevel=-1,this.firstSelection=-1;break;case Le.FRAG_LOAD_TIMEOUT:{let s=n.frag,{fragCurrent:i,partCurrent:r}=this;if(s&&zg(s,i)){let a=performance.now(),l=r?r.stats:s.stats,c=a-l.loading.start,f=l.loading.first?l.loading.first-l.loading.start:-1;if(l.loaded&&f>-1){let g=this.bwEstimator.getEstimateTTFB();this.bwEstimator.sample(c-Math.min(g,f),l.loaded)}else this.bwEstimator.sampleTTFB(c)}break}}}getTimeToLoadFrag(e,n,s,i){let r=e+s/n,a=i?e+this.lastLevelLoadSec:0;return r+a}onLevelLoaded(e,n){let s=this.hls.config,{loading:i}=n.stats,r=i.end-i.first;if(lt(r))this.lastLevelLoadSec=r/1000;if(n.details.live)this.bwEstimator.update(s.abrEwmaSlowLive,s.abrEwmaFastLive);else this.bwEstimator.update(s.abrEwmaSlowVoD,s.abrEwmaFastVoD);if(this.timer>-1)this._abandonRulesCheck(n.levelInfo)}onFragLoaded(e,n){var s;let{frag:i,part:r}=n,a=r?r.stats:i.stats;if(i.type===Tt.MAIN)this.bwEstimator.sampleTTFB(a.loading.first-a.loading.start);if(this.ignoreFragment(i))return;if(this.clearTimer(),i.level===this._nextAutoLevel)this._nextAutoLevel=-1;if(this.firstSelection=-1,(s=this.hls)!=null&&s.config.abrMaxWithRealBitrate){let l=r?r.duration:i.duration,c=this.hls.levels[i.level],f=(c.loaded?c.loaded.bytes:0)+a.loaded,m=(c.loaded?c.loaded.duration:0)+l;c.loaded={bytes:f,duration:m},c.realBitrate=Math.round(8*f/m)}if(i.bitrateTest){let l={stats:a,frag:i,part:r,id:i.type};this.onFragBuffered(Z.FRAG_BUFFERED,l),i.bitrateTest=!1}else this.lastLoadedFragLevel=i.level}onFragBuffered(e,n){let{frag:s,part:i}=n,r=i!=null&&i.stats.loaded?i.stats:s.stats;if(r.aborted)return;if(this.ignoreFragment(s))return;let l=((s.bitrate||0)>=1e5?r.parsing.end:r.loading.end)-r.loading.start-Math.min(r.loading.first-r.loading.start,this.bwEstimator.getEstimateTTFB());if(this.bwEstimator.sample(l,r.loaded),r.bwEstimate=this.getBwEstimate(),s.bitrateTest)this.bitrateTestDelay=l/1000;else if(this.bitrateTestDelay=0,this.firstAutoFloor>-1&&this.bwEstimator.canEstimate())this.firstAutoFloor=-1}ignoreFragment(e){return e.type!==Tt.MAIN||e.sn==="initSegment"}clearTimer(){if(this.timer>-1)self.clearInterval(this.timer),this.timer=-1}get firstAutoLevel(){let{hls:e}=this;if(!e)return 0;let{maxAutoLevel:n,minAutoLevel:s}=e,i=this.getBwEstimate(),r=this.getStarvationDelay(),a=e.config.maxStarvationDelay,l=this.findBestLevel(i,s,n,r/2,a,1,1);if(l>-1)return l;let c=e.firstLevel,f=this.firstAutoFloor===-1?1/0:this.firstAutoFloor,m=Math.min(Math.max(c,s),n,f);return this.warn(`Could not find best starting auto level. Defaulting to first in playlist ${c} clamped to ${m}`),m}get forcedAutoLevel(){if(this.nextAutoLevelKey)return-1;return this._nextAutoLevel}get nextAutoLevel(){if(!this.hls)return-1;let e=this.forcedAutoLevel,s=this.bwEstimator.canEstimate(),i=this.lastLoadedFragLevel>-1;if(e!==-1&&(!s||!i||this.nextAutoLevelKey===this.getAutoLevelKey()))return e;let r=s&&i?this.getNextABRAutoLevel():this.firstAutoLevel;if(e!==-1){let a=this.hls.levels;if(a.length>Math.max(e,r)&&a[e].loadError<=a[r].loadError)return e}return this._nextAutoLevel=r,this.nextAutoLevelKey=this.getAutoLevelKey(),r}getAutoLevelKey(){return`${this.getBwEstimate()}_${this.getStarvationDelay().toFixed(2)}`}getNextABRAutoLevel(){let{fragCurrent:e,partCurrent:n,hls:s}=this;if(!s)return-1;if(s.levels.length<=1)return s.loadLevel;let{maxAutoLevel:i,config:r,minAutoLevel:a}=s,l=n?n.duration:e?e.duration:0,c=this.getBwEstimate(),f=this.getStarvationDelay(),{abrBandWidthFactor:m,abrBandWidthUpFactor:g}=r;if(f){let _=this.findBestLevel(c,a,i,f,0,m,g);if(_>=0)return this.rebufferNotice=-1,_}let b=l?Math.min(l,r.maxStarvationDelay):r.maxStarvationDelay;if(!f){let _=this.bitrateTestDelay;if(_)b=(l?Math.min(l,r.maxLoadingDelay):r.maxLoadingDelay)-_,this.info(`bitrate test took ${Math.round(1000*_)}ms, set first fragment max fetchDuration to ${Math.round(1000*b)} ms`),m=g=1}let v=this.findBestLevel(c,a,i,f,b,m,g);if(this.rebufferNotice!==v)this.rebufferNotice=v,this.info(`${f?"rebuffering expected":"buffer is empty"}, optimal quality level ${v}`);if(v>-1)return v;let k=s.levels[a],T=s.loadLevelObj;if(T&&(k==null?void 0:k.bitrate)<T.bitrate)return a;return s.loadLevel}getStarvationDelay(){let e=this.hls,n=e==null?void 0:e.media;if(!n)return 1/0;let s=n&&n.playbackRate!==0?Math.abs(n.playbackRate):1,i=e.mainForwardBufferInfo;return(i?i.len:0)/s}getBwEstimate(){return this.bwEstimator.getEstimate()}findBestLevel(e,n,s,i,r,a,l){let{hls:c,lastLoadedFragLevel:f,fragCurrent:m,partCurrent:g}=this;if(!c)return-1;let b=i+r,v=f===-1?c.firstLevel:f,{levels:k,allAudioTracks:T,loadLevel:_,latestLevelDetails:P,config:U}=c;if(k.length===1)return 0;let z=k[v],V=!!(P!=null&&P.live),X=_===-1||f===-1,J,ee="SDR",te=(z==null?void 0:z.frameRate)||0,{audioPreference:ne,videoPreference:ie}=U,se=this.audioTracksByGroup||(this.audioTracksByGroup=S9(T)),oe=-1;if(X){if(this.firstSelection!==-1)return this.firstSelection;let ce=this.codecTiers||(this.codecTiers=fE(k,se,n,s)),Ee=cE(ce,ee,e,ne,ie),{codecSet:we,videoRanges:qe,minFramerate:Re,minBitrate:Fe,minIndex:Be,preferHDR:Xe}=Ee;oe=Be,J=we,ee=Xe?qe[qe.length-1]:qe[0],te=Re,e=Math.max(e,Fe),this.log(`picked start tier ${ss(Ee)}`)}else J=z==null?void 0:z.codecSet,ee=z==null?void 0:z.videoRange;let ye=g?g.duration:m?m.duration:0,Se=this.bwEstimator.getEstimateTTFB()/1000,me=[];for(let ce=s;ce>=n;ce--){var de;let Ee=k[ce],we=ce>v;if(!Ee)continue;if(U.useMediaCapabilities&&!Ee.supportedResult&&!Ee.supportedPromise){let Ze=navigator.mediaCapabilities;if(typeof(Ze==null?void 0:Ze.decodingInfo)==="function"&&ZT(Ee,se,ee,te,e,ne))Ee.supportedPromise=w9(Ee,se,Ze,this.supportedCache),Ee.supportedPromise.then((St)=>{if(!this.hls)return;Ee.supportedResult=St;let _t=this.hls.levels,dt=_t.indexOf(Ee);if(St.error)this.warn(`MediaCapabilities decodingInfo error: "${St.error}" for level ${dt} ${ss(St)}`);else if(!St.supported){if(this.warn(`Unsupported MediaCapabilities decodingInfo result for level ${dt} ${ss(St)}`),dt>-1&&_t.length>1){if(this.log(`Removing unsupported level ${dt}`),this.hls.removeLevel(dt),this.hls.loadLevel===-1)this.hls.nextLoadLevel=0}}else if(St.decodingInfoResults.some((Ot)=>Ot.smooth===!1||Ot.powerEfficient===!1))this.log(`MediaCapabilities decodingInfo for level ${dt} not smooth or powerEfficient: ${ss(St)}`)}).catch((St)=>{this.warn(`Error handling MediaCapabilities decodingInfo: ${St}`)});else Ee.supportedResult=g9}if(J&&Ee.codecSet!==J||ee&&Ee.videoRange!==ee||we&&te>Ee.frameRate||!we&&te>0&&te<Ee.frameRate||(de=Ee.supportedResult)!=null&&(de=de.decodingInfoResults)!=null&&de.some((Ze)=>Ze.smooth===!1)){if(!X||ce!==oe){me.push(ce);continue}}let qe=Ee.details,Re=(g?qe==null?void 0:qe.partTarget:qe==null?void 0:qe.averagetargetduration)||ye||1,Fe;if(!we)Fe=a*e;else Fe=l*e;let Be=ye&&i>=ye*2&&r===0?Ee.averageBitrate:Ee.maxBitrate,Xe=this.getTimeToLoadFrag(Se,Fe,Be*Re,!qe||qe.live);if(Fe>=Be&&(ce===f||Ee.loadError===0&&Ee.fragmentError===0||W3(Ee,U.errorPenaltyExpireMs))&&(Xe<=Se||!lt(Xe)||V&&!this.bitrateTestDelay||Xe<b)){let Ze=this.forcedAutoLevel;if(ce!==_&&(Ze===-1||Ze!==_)){if(me.length)this.trace(`Skipped level(s) ${me.join(",")} of ${s} max with CODECS and VIDEO-RANGE:"${k[me[0]].codecs}" ${k[me[0]].videoRange}; not compatible with "${J}" ${ee}`);this.info(`switch candidate:${v}->${ce} adjustedbw(${Math.round(Fe)})-bitrate=${Math.round(Fe-Be)} ttfb:${Se.toFixed(1)} avgDuration:${Re.toFixed(1)} maxFetchDuration:${b.toFixed(1)} fetchDuration:${Xe.toFixed(1)} firstSelection:${X} codecSet:${Ee.codecSet} videoRange:${Ee.videoRange} hls.loadLevel:${_}`)}if(X)this.firstSelection=ce;return ce}}return-1}set nextAutoLevel(e){let n=this.deriveNextAutoLevel(e);if(this._nextAutoLevel!==n)this.nextAutoLevelKey="",this._nextAutoLevel=n}deriveNextAutoLevel(e){if(!this.hls)return-1;let{maxAutoLevel:n,minAutoLevel:s}=this.hls;return Math.min(Math.max(e,s),n)}}var A9={search:function(e,n){let s=0,i=e.length-1,r=null,a=null;while(s<=i){r=(s+i)/2|0,a=e[r];let l=n(a);if(l>0)s=r+1;else if(l<0)i=r-1;else return a}return null}};function mE(e,n,s){if(n===null||!Array.isArray(e)||!e.length||!lt(n))return null;let i=e[0].programDateTime;if(n<(i||0))return null;let r=e[e.length-1].endProgramDateTime;if(n>=(r||0))return null;for(let a=0;a<e.length;++a){let l=e[a];if(gE(n,s,l))return l}return null}function Zc(e,n,s=0,i=0,r=0.005){let a=null;if(e){a=n[1+e.sn-n[0].sn]||null;let c=e.endDTS-s;if(c>0&&c<0.0000015)s+=0.0000015;if(a&&e.level!==a.level&&a.end<=e.end)a=n[2+e.sn-n[0].sn]||null}else if(s===0&&n[0].start===0)a=n[0];if(a&&((!e||e.level===a.level)&&F5(s,i,a)===0||pE(a,e,Math.min(r,i))))return a;let l=A9.search(n,F5.bind(null,s,i));if(l&&(l!==e||!a))return l;return a}function pE(e,n,s){if((n==null?void 0:n.start)===0&&n.level<e.level&&(n.endPTS||0)>0){let i=n.tagList.reduce((r,a)=>{if(a[0]==="INF")r+=parseFloat(a[1]);return r},s);return e.start<=i}return!1}function F5(e=0,n=0,s){if(s.start<=e&&s.start+s.duration>e)return 0;let i=Math.min(n,s.duration+(s.deltaPTS?s.deltaPTS:0));if(s.start+s.duration-i<=e)return 1;else if(s.start-i>e&&s.start)return-1;return 0}function gE(e,n,s){let i=Math.min(n,s.duration+(s.deltaPTS?s.deltaPTS:0))*1000;return(s.endProgramDateTime||0)-i>e}function T9(e,n,s){if(e){if(e.startCC<=n&&e.endCC>=n){let i=e.fragments,{fragmentHint:r}=e;if(r)i=i.concat(r);let a;return A9.search(i,(l)=>{if(l.cc<n)return 1;if(l.cc>n)return-1;if(a=l,l.end<=s)return 1;if(l.start>s)return-1;return 0}),a||null}}return null}function E9(e,n){if(n===e.endSN&&e.fragmentHint)return e.fragmentHint;return e.fragments[1+n-e.startSN]||null}var fi={DoNothing:0,SendEndCallback:1,SendAlternateToPenaltyBox:2,RemoveAlternatePermanently:3,InsertDiscontinuity:4,RetryRequest:5},ci={None:0,MoveAllAlternatesMatchingHost:1,MoveAllAlternatesMatchingHDCP:2,MoveAllAlternatesMatchingKey:4,SwitchToSDR:8,ResetMediaSource:16};class C9 extends $i{constructor(e){super("error-controller",e.logger);this.hls=void 0,this.playlistError=0,this.hls=e,this.registerListeners()}registerListeners(){let e=this.hls;e.on(Z.ERROR,this.onError,this),e.on(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Z.LEVEL_UPDATED,this.onLevelUpdated,this)}unregisterListeners(){let e=this.hls;if(!e)return;e.off(Z.ERROR,this.onError,this),e.off(Z.ERROR,this.onErrorOut,this),e.off(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Z.LEVEL_UPDATED,this.onLevelUpdated,this)}destroy(){this.unregisterListeners(),this.hls=null}startLoad(e){}stopLoad(){this.playlistError=0}getVariantLevelIndex(e){if((e==null?void 0:e.type)===Tt.MAIN)return e.level;return this.getVariantIndex()}getVariantIndex(){var e;let n=this.hls,s=n.currentLevel;if((e=n.loadLevelObj)!=null&&e.details||s===-1)return n.loadLevel;return s}variantHasKey(e,n){if(e){var s;if((s=e.details)!=null&&s.hasKey(n))return!0;let i=e.audioGroups;if(i)return this.hls.allAudioTracks.filter((a)=>i.indexOf(a.groupId)>=0).some((a)=>{var l;return(l=a.details)==null?void 0:l.hasKey(n)})}return!1}onManifestLoading(){this.playlistError=0}onLevelUpdated(){this.playlistError=0}onError(e,n){var s;if(n.fatal)return;let i=this.hls,r=n.context;switch(n.details){case Le.FRAG_LOAD_ERROR:case Le.FRAG_LOAD_TIMEOUT:case Le.KEY_LOAD_ERROR:case Le.KEY_LOAD_TIMEOUT:n.errorAction=this.getFragRetryOrSwitchAction(n);return;case Le.FRAG_PARSING_ERROR:if((s=n.frag)!=null&&s.gap){n.errorAction=dh();return}case Le.FRAG_GAP:case Le.FRAG_DECRYPT_ERROR:{n.errorAction=this.getFragRetryOrSwitchAction(n),n.errorAction.action=fi.SendAlternateToPenaltyBox;return}case Le.PLAYLIST_UNCHANGED_ERROR:case Le.LEVEL_EMPTY_ERROR:case Le.LEVEL_PARSING_ERROR:{var a;let l=n.parent===Tt.MAIN?n.level:i.loadLevel;if(n.details===Le.LEVEL_EMPTY_ERROR&&!!((a=n.context)!=null&&(a=a.levelDetails)!=null&&a.live))n.errorAction=this.getPlaylistRetryOrSwitchAction(n,l);else n.levelRetry=!1,n.errorAction=this.getLevelSwitchAction(n,l)}return;case Le.LEVEL_LOAD_ERROR:case Le.LEVEL_LOAD_TIMEOUT:if(typeof(r==null?void 0:r.level)==="number")n.errorAction=this.getPlaylistRetryOrSwitchAction(n,r.level);return;case Le.AUDIO_TRACK_LOAD_ERROR:case Le.AUDIO_TRACK_LOAD_TIMEOUT:case Le.SUBTITLE_LOAD_ERROR:case Le.SUBTITLE_TRACK_LOAD_TIMEOUT:if(r){let l=i.loadLevelObj;if(l&&(r.type===tn.AUDIO_TRACK&&l.hasAudioGroup(r.groupId)||r.type===tn.SUBTITLE_TRACK&&l.hasSubtitleGroup(r.groupId))){n.errorAction=this.getPlaylistRetryOrSwitchAction(n,i.loadLevel),n.errorAction.action=fi.SendAlternateToPenaltyBox,n.errorAction.flags=ci.MoveAllAlternatesMatchingHost;return}}return;case Le.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED:n.errorAction={action:fi.SendAlternateToPenaltyBox,flags:ci.MoveAllAlternatesMatchingHDCP};return;case Le.KEY_SYSTEM_SESSION_UPDATE_FAILED:case Le.KEY_SYSTEM_STATUS_INTERNAL_ERROR:case Le.KEY_SYSTEM_NO_SESSION:n.errorAction={action:fi.SendAlternateToPenaltyBox,flags:ci.MoveAllAlternatesMatchingKey};return;case Le.BUFFER_ADD_CODEC_ERROR:case Le.REMUX_ALLOC_ERROR:case Le.BUFFER_APPEND_ERROR:if(!n.errorAction)n.errorAction=this.getLevelSwitchAction(n,n.level);return;case Le.MEDIA_SOURCE_REQUIRES_RESET:if(!n.errorAction)n.errorAction=this.getLevelSwitchAction(n,n.level);n.errorAction.flags|=ci.ResetMediaSource|ci.SwitchToSDR;return;case Le.INTERNAL_EXCEPTION:case Le.BUFFER_APPENDING_ERROR:case Le.BUFFER_APPEND_NO_PROGRESS:case Le.BUFFER_FULL_ERROR:case Le.LEVEL_SWITCH_ERROR:case Le.BUFFER_STALLED_ERROR:case Le.BUFFER_SEEK_OVER_HOLE:case Le.BUFFER_NUDGE_ON_STALL:n.errorAction=dh();return}if(n.type===Rt.KEY_SYSTEM_ERROR)n.levelRetry=!1,n.errorAction=dh()}getPlaylistRetryOrSwitchAction(e,n){let s=this.hls,i=S5(s.config.playlistLoadPolicy,e),r=this.playlistError++;if(bh(i,r,Yd(e),e.response))return{action:fi.RetryRequest,flags:ci.None,retryConfig:i,retryCount:r};let l=this.getLevelSwitchAction(e,n);if(i)l.retryConfig=i,l.retryCount=r;return l}getFragRetryOrSwitchAction(e){let n=this.hls,s=this.getVariantLevelIndex(e.frag),i=n.levels[s],{fragLoadPolicy:r,keyLoadPolicy:a}=n.config,l=S5($3(e)?a:r,e),c=n.levels.reduce((m,g)=>m+g.fragmentError,0);if(i){if(e.details!==Le.FRAG_GAP)i.fragmentError++;if(!X3(e)){if(bh(l,c,Yd(e),e.response))return{action:fi.RetryRequest,flags:ci.None,retryConfig:l,retryCount:c}}}let f=this.getLevelSwitchAction(e,s);if(l)f.retryConfig=l,f.retryCount=c;return f}getLevelSwitchAction(e,n){let s=this.hls;if(n===null||n===void 0)n=s.loadLevel;let i=this.hls.levels[n];if(i){var r,a;let f=e.details;if(i.loadError++,i.loadErrorTime=self.performance.now(),f===Le.BUFFER_APPEND_ERROR)i.fragmentError++;let m=-1,{levels:g,loadLevel:b,minAutoLevel:v,maxAutoLevel:k}=s;if(!s.autoLevelEnabled&&!s.config.preserveManualLevelOnError)s.loadLevel=-1;let T=(r=e.frag)==null?void 0:r.type,P=(T===Tt.AUDIO&&f===Le.FRAG_PARSING_ERROR||e.sourceBufferName==="audio"&&L5(e))&&g.some(({audioCodec:J})=>i.audioCodec!==J),z=e.sourceBufferName==="video"&&L5(e)&&g.some(({codecSet:J,audioCodec:ee})=>i.codecSet!==J&&i.audioCodec===ee),{type:V,groupId:X}=(a=e.context)!=null?a:{};for(let J=g.length;J--;){let ee=(J+b)%g.length;if(ee!==b&&ee>=v&&ee<=k&&(g[ee].loadError===0||W3(g[ee],s.config.errorPenaltyExpireMs))){var l,c;let te=g[ee];if(f===Le.FRAG_GAP&&T===Tt.MAIN&&e.frag){let ne=g[ee].details;if(ne){let ie=Zc(e.frag,ne.fragments,e.frag.start);if(ie!=null&&ie.gap)continue}}else if(V===tn.AUDIO_TRACK&&te.hasAudioGroup(X)||V===tn.SUBTITLE_TRACK&&te.hasSubtitleGroup(X))continue;else if(T===Tt.AUDIO&&(l=i.audioGroups)!=null&&l.some((ne)=>te.hasAudioGroup(ne))||T===Tt.SUBTITLE&&(c=i.subtitleGroups)!=null&&c.some((ne)=>te.hasSubtitleGroup(ne))||P&&i.audioCodec===te.audioCodec||z&&i.codecSet===te.codecSet||!P&&i.audioCodec!==te.audioCodec)continue;m=ee;break}}if(m>-1&&s.loadLevel!==m)return e.levelRetry=!0,this.playlistError=0,{action:fi.SendAlternateToPenaltyBox,flags:ci.None,nextAutoLevel:m}}return{action:fi.SendAlternateToPenaltyBox,flags:ci.MoveAllAlternatesMatchingHost}}onErrorOut(e,n){var s,i;switch((s=n.errorAction)==null?void 0:s.action){case fi.DoNothing:break;case fi.SendAlternateToPenaltyBox:if(this.sendAlternateToPenaltyBox(n),!n.errorAction.resolved&&n.details!==Le.FRAG_GAP&&n.details!==Le.PLAYLIST_UNCHANGED_ERROR&&!j9(n))n.fatal=!0;break;case fi.RetryRequest:break}if((((i=n.errorAction)==null?void 0:i.flags)||0)&ci.ResetMediaSource)this.hls.recoverMediaError();if(n.fatal){this.hls.stopLoad();return}}sendAlternateToPenaltyBox(e){let n=this.hls,s=e.errorAction;if(!s)return;let i=s.nextAutoLevel;if(s.flags===ci.None)this.switchLevel(e,i);else if(s.flags&ci.SwitchToSDR){let l=this.hls.levels,c=l.length;for(let f=c;f--;)if(l[f].videoRange!=="SDR")l[f].fragmentError++,l[f].loadError++;else if(i===void 0)i=f}else if(s.flags&ci.MoveAllAlternatesMatchingHDCP){let l=this.getVariantLevelIndex(e.frag),c=n.levels[l],f=c==null?void 0:c.attrs["HDCP-LEVEL"];s.hdcpLevel=f;let m=f==="NONE";if(f&&!m)n.maxHdcpLevel=Kg[Kg.indexOf(f)-1],s.resolved=!0,this.warn(`Restricting playback to HDCP-LEVEL of "${n.maxHdcpLevel}" or lower`);else{if(m)this.warn("HDCP policy resticted output with HDCP-LEVEL=NONE");s.flags|=ci.MoveAllAlternatesMatchingKey}}if(s.flags&ci.MoveAllAlternatesMatchingKey){let l=e.decryptdata;if(l){let c=this.hls.levels,f=c.length;for(let g=f;g--;)if(this.variantHasKey(c[g],l)){var r,a;this.log(`Banned key found in level ${g} (${c[g].bitrate}bps) or audio group "${(r=c[g].audioGroups)==null?void 0:r.join(",")}" (${(a=e.frag)==null?void 0:a.type} fragment) ${Qs(l.keyId||[])}`),c[g].fragmentError++,c[g].loadError++,this.log(`Removing level ${g} with key error (${e.error})`),this.hls.removeLevel(g)}let m=e.frag;if(this.hls.levels.length<f)s.resolved=!0;else if(m&&m.type!==Tt.MAIN){let g=m.decryptdata;if(g&&!l.matches(g))s.resolved=!0}}}if(!s.resolved)this.switchLevel(e,i)}switchLevel(e,n){if(n!==void 0&&e.errorAction){if(this.warn(`switching to level ${n} after ${e.details}`),this.hls.nextAutoLevel=n,e.errorAction.resolved=!0,this.hls.nextLoadLevel=this.hls.nextAutoLevel,e.details===Le.BUFFER_ADD_CODEC_ERROR&&e.mimeType&&e.sourceBufferName!=="audiovideo"){let s=Wg(e.mimeType),i=this.hls.levels;for(let r=i.length;r--;)if(i[r][`${e.sourceBufferName}Codec`]===s)this.log(`Removing level ${r} for ${e.details} ("${s}" not supported)`),this.hls.removeLevel(r)}}}}function L5(e){let n=e.details;if(n===Le.BUFFER_ADD_CODEC_ERROR||n===Le.MEDIA_SOURCE_REQUIRES_RESET)return!0;if(n===Le.BUFFER_APPEND_ERROR){if(!j9(e))return!0}return!1}function j9(e){return e.details===Le.BUFFER_APPEND_ERROR&&(e.error.name==="QuotaExceededError"||e.error.name==="InvalidStateError")}function dh(e){let n={action:fi.DoNothing,flags:ci.None};if(e)n.resolved=!0;return n}var As={NOT_LOADED:"NOT_LOADED",APPENDING:"APPENDING",PARTIAL:"PARTIAL",OK:"OK"};class _9{constructor(e){this.activePartLists=Object.create(null),this.endListFragments=Object.create(null),this.fragments=Object.create(null),this.timeRanges=Object.create(null),this.bufferPadding=0.2,this.hls=void 0,this.hasGaps=!1,this.hls=e,this._registerListeners()}_registerListeners(){let{hls:e}=this;if(e)e.on(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Z.BUFFER_APPENDED,this.onBufferAppended,this),e.on(Z.FRAG_BUFFERED,this.onFragBuffered,this),e.on(Z.FRAG_LOADED,this.onFragLoaded,this)}_unregisterListeners(){let{hls:e}=this;if(e)e.off(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Z.BUFFER_APPENDED,this.onBufferAppended,this),e.off(Z.FRAG_BUFFERED,this.onFragBuffered,this),e.off(Z.FRAG_LOADED,this.onFragLoaded,this)}destroy(){this._unregisterListeners(),this.hls=this.fragments=this.activePartLists=this.endListFragments=this.timeRanges=null}getAppendedFrag(e,n){let s=this.activePartLists[n];if(s)for(let i=s.length;i--;){let r=s[i];if(!r)break;if(r.start<=e&&e<=r.end&&r.loaded)return r}return this.getBufferedFrag(e,n)}getBufferedFrag(e,n){return this.getFragAtPos(e,n,!0)}getFragAtPos(e,n,s){let{fragments:i}=this,r=Object.keys(i);for(let a=r.length;a--;){let l=i[r[a]];if((l==null?void 0:l.body.type)===n&&(!s||l.buffered)){let c=l.body;if(c.start<=e&&e<=c.end)return c}}return null}detectEvictedFragments(e,n,s,i,r,a){if(this.timeRanges)this.timeRanges[e]=n;let l=(r==null?void 0:r.fragment.sn)||-1;Object.keys(this.fragments).forEach((c)=>{let f=this.fragments[c];if(!f||!this.hls)return;let m=f.body;if(l>=m.sn)return;if(!f.buffered&&(!f.loaded||a)){if(m.type===s)this.removeFragment(m);return}let g=f.range[e];if(!g)return;if(g.time.length===0){this.removeFragment(m);return}if(g.time.some((b)=>{let v=!this.isTimeBuffered(b.startPTS,b.endPTS,n);if(v)this.removeFragment(m);return v}),i&&i!==m&&uh()){let b=i.endPTS,v=m.startPTS;if(b&&v&&f.range.video){let k=v-b;if(k<0&&k>-0.1)this.removeFragment(m),this.hls.trigger(Z.BUFFER_FLUSHING,{startOffset:b+0.004,endOffset:1/0,type:"video"})}}})}detectPartialFragments(e){let n=this.timeRanges,{frag:s,part:i,id:r}=e;if(!n||!_s(s))return;let a=Gc(s),l=this.fragments[a];if(!l||l.buffered&&s.gap)return;let c=!s.relurl;Object.keys(n).forEach((m)=>{let g=s.elementaryStreams[m];if(!g)return;let b=n[m],v=c||g.partial===!0;l.range[m]=this.getBufferedTimes(s,i,v,b),this.detectEvictedFragments(m,b,r,s,i)}),l.loaded=null;let f=Object.keys(l.range);if(f.length){if(this.bufferedEnd(l,s),!Rd(l))this.removeParts(s.sn-1,s.type);if(!i){let m=Math.min(0.004,s.duration);f.some((g)=>{var b;let v=(b=l.range[g])==null?void 0:b.time,k=v.length===0||v.length===1&&v[0].endPTS-v[0].startPTS<m;if(k)this.addAsGap(s);return k})}}else this.removeFragment(s)}addAsGap(e){e.gap=!0,this.removeFragment(e),this.fragBuffered(e,!0)}bufferedEnd(e,n){if(e.buffered=!0,(e.body.endList=n.endList||e.body.endList)&&!n.gap)this.endListFragments[e.body.type]=e}removeParts(e,n){let s=this.activePartLists[n];if(!s)return;this.activePartLists[n]=O5(s,(i)=>i.fragment.sn>=e)}fragBuffered(e,n){let s=Gc(e),i=this.fragments[s];if(!i&&n){if(i=this.fragments[s]={body:e,appendedPTS:null,loaded:null,buffered:!1,range:Object.create(null)},e.gap)this.hasGaps=!0}if(i)i.loaded=null,this.bufferedEnd(i,e);return i}getBufferedTimes(e,n,s,i){let r={time:[],partial:s},{start:a,end:l}=e,c=e.minEndPTS||l,f=e.maxStartPTS||a;for(let m=0;m<i.length;m++){let g=i.start(m)-this.bufferPadding,b=i.end(m)+this.bufferPadding;if(f>=g&&c<=b){r.time.push({startPTS:Math.max(a,i.start(m)),endPTS:Math.min(l,i.end(m))});break}else if(a<b&&l>g){let v=Math.max(a,i.start(m)),k=Math.min(l,i.end(m));if(k>v)r.partial=!0,r.time.push({startPTS:v,endPTS:k})}else if(l<=g)break}return r}getPartialFragment(e){let n=null,s,i,r,a=0,{bufferPadding:l,fragments:c}=this;return Object.keys(c).forEach((f)=>{let m=c[f];if(!m)return;if(Rd(m)){if(i=m.body.start-l,r=m.body.end+l,e>=i&&e<=r){if(s=Math.min(e-i,r-e),a<=s)n=m.body,a=s}}}),n}isEndListAppended(e){let n=this.endListFragments[e];return n!==void 0&&(n.buffered||Rd(n))}getState(e){let n=Gc(e),s=this.fragments[n];if(s)if(!s.buffered)return As.APPENDING;else if(Rd(s))return As.PARTIAL;else return As.OK;return As.NOT_LOADED}isTimeBuffered(e,n,s){let i,r;for(let a=0;a<s.length;a++){if(i=s.start(a)-this.bufferPadding,r=s.end(a)+this.bufferPadding,e>=i&&n<=r)return!0;if(n<=i)return!1}return!1}onManifestLoading(){this.removeAllFragments()}onFragLoaded(e,n){if(!_s(n.frag)||n.frag.bitrateTest)return;let s=n.frag,i=n.part?null:n,r=Gc(s);this.fragments[r]={body:s,appendedPTS:null,loaded:i,buffered:!1,range:Object.create(null)}}onBufferAppended(e,n){let{frag:s,part:i,timeRanges:r}=n;if(!_s(s))return;let a=s.type;if(i){let l=this.activePartLists[a];if(!l)this.activePartLists[a]=l=[];l.push(i)}this.timeRanges=r}onFragBuffered(e,n){this.detectPartialFragments(n)}hasFragment(e){let n=Gc(e);return!!this.fragments[n]}hasFragments(e){let{fragments:n}=this,s=Object.keys(n);if(!e)return s.length>0;for(let i=s.length;i--;){let r=n[s[i]];if((r==null?void 0:r.body.type)===e)return!0}return!1}hasParts(e){var n;return!!((n=this.activePartLists[e])!=null&&n.length)}getBackBufferEvictionEnd(e,n,s){let{fragments:i}=this,r=0,a=0,l=Object.keys(i);for(let c=0;c<l.length;c++){let f=i[l[c]];if(!f||!f.buffered||f.body.type!==n)continue;let m=f.body;if(m.gap)return 0;let g=m.hasStats&&m.stats.loaded||m.byteLength||m.bitrate&&m.bitrate*8*m.duration;if(m.end<=e&&g){if(r+=g,a=Math.max(a,m.end),r>=s)return a}}return a>0?a:0}removeFragmentsInRange(e,n,s,i,r){if(i&&!this.hasGaps)return;Object.keys(this.fragments).forEach((a)=>{let l=this.fragments[a];if(!l)return;let c=l.body;if(c.type!==s||i&&!c.gap)return;if(c.start<n&&c.end>e&&(l.buffered||r))this.removeFragment(c)})}removeFragment(e){let n=Gc(e);e.clearElementaryStreamInfo();let s=this.activePartLists[e.type];if(s){let i=e.sn;this.activePartLists[e.type]=O5(s,(r)=>r.fragment.sn!==i)}if(delete this.fragments[n],e.endList)delete this.endListFragments[e.type]}removeAllFragments(){var e;this.fragments=Object.create(null),this.endListFragments=Object.create(null),this.activePartLists=Object.create(null),this.hasGaps=!1;let n=(e=this.hls)==null||(e=e.latestLevelDetails)==null?void 0:e.partList;if(n)n.forEach((s)=>s.clearElementaryStreamInfo())}}function Rd(e){var n,s,i,r;return e.buffered&&!!(e.body.gap||(n=e.range.video)!=null&&n.partial||(s=e.range.audio)!=null&&s.partial||(i=e.range.audiovideo)!=null&&i.partial||(r=e.range.subs)!=null&&r.partial)}function Gc(e){return`${e.type}_${e.level}_${e.sn}`}function O5(e,n){return e.filter((s)=>{let i=n(s);if(!i)s.clearElementaryStreamInfo();return i})}var ol={cbc:0,ctr:1};class I9{constructor(e,n,s){this.subtle=void 0,this.aesIV=void 0,this.aesMode=void 0,this.subtle=e,this.aesIV=n,this.aesMode=s}decrypt(e,n){switch(this.aesMode){case ol.cbc:return this.subtle.decrypt({name:"AES-CBC",iv:this.aesIV},n,e);case ol.ctr:return this.subtle.decrypt({name:"AES-CTR",counter:this.aesIV,length:64},n,e);default:throw Error(`[AESCrypto] invalid aes mode ${this.aesMode}`)}}}function bE(e){let n=e.byteLength,s=n&&new DataView(e.buffer).getUint8(n-1);if(s)return e.slice(0,n-s);return e}class R9{constructor(){this.rcon=[0,1,2,4,8,16,32,64,128,27,54],this.subMix=[new Uint32Array(256),new Uint32Array(256),new Uint32Array(256),new Uint32Array(256)],this.invSubMix=[new Uint32Array(256),new Uint32Array(256),new Uint32Array(256),new Uint32Array(256)],this.sBox=new Uint32Array(256),this.invSBox=new Uint32Array(256),this.key=new Uint32Array(0),this.ksRows=0,this.keySize=0,this.keySchedule=void 0,this.invKeySchedule=void 0,this.initTable()}uint8ArrayToUint32Array_(e){let n=new DataView(e),s=new Uint32Array(4);for(let i=0;i<4;i++)s[i]=n.getUint32(i*4);return s}initTable(){let e=this.sBox,n=this.invSBox,s=this.subMix,i=s[0],r=s[1],a=s[2],l=s[3],c=this.invSubMix,f=c[0],m=c[1],g=c[2],b=c[3],v=new Uint32Array(256),k=0,T=0,_=0;for(_=0;_<256;_++)if(_<128)v[_]=_<<1;else v[_]=_<<1^283;for(_=0;_<256;_++){let P=T^T<<1^T<<2^T<<3^T<<4;P=P>>>8^P&255^99,e[k]=P,n[P]=k;let U=v[k],z=v[U],V=v[z],X=v[P]*257^P*16843008;if(i[k]=X<<24|X>>>8,r[k]=X<<16|X>>>16,a[k]=X<<8|X>>>24,l[k]=X,X=V*16843009^z*65537^U*257^k*16843008,f[P]=X<<24|X>>>8,m[P]=X<<16|X>>>16,g[P]=X<<8|X>>>24,b[P]=X,!k)k=T=1;else k=U^v[v[v[V^U]]],T^=v[v[T]]}}expandKey(e){let n=this.uint8ArrayToUint32Array_(e),s=!0,i=0;while(i<n.length&&s)s=n[i]===this.key[i],i++;if(s)return;this.key=n;let r=this.keySize=n.length;if(r!==4&&r!==6&&r!==8)throw Error("Invalid aes key size="+r);let a=this.ksRows=(r+6+1)*4,l,c,f=this.keySchedule=new Uint32Array(a),m=this.invKeySchedule=new Uint32Array(a),g=this.sBox,b=this.rcon,v=this.invSubMix,k=v[0],T=v[1],_=v[2],P=v[3],U,z;for(l=0;l<a;l++){if(l<r){U=f[l]=n[l];continue}if(z=U,l%r===0)z=z<<8|z>>>24,z=g[z>>>24]<<24|g[z>>>16&255]<<16|g[z>>>8&255]<<8|g[z&255],z^=b[l/r|0]<<24;else if(r>6&&l%r===4)z=g[z>>>24]<<24|g[z>>>16&255]<<16|g[z>>>8&255]<<8|g[z&255];f[l]=U=(f[l-r]^z)>>>0}for(c=0;c<a;c++){if(l=a-c,c&3)z=f[l];else z=f[l-4];if(c<4||l<=4)m[c]=z;else m[c]=k[g[z>>>24]]^T[g[z>>>16&255]]^_[g[z>>>8&255]]^P[g[z&255]];m[c]=m[c]>>>0}}networkToHostOrderSwap(e){return e<<24|(e&65280)<<8|(e&16711680)>>8|e>>>24}decrypt(e,n,s){let i=this.keySize+6,r=this.invKeySchedule,a=this.invSBox,l=this.invSubMix,c=l[0],f=l[1],m=l[2],g=l[3],b=this.uint8ArrayToUint32Array_(s),v=b[0],k=b[1],T=b[2],_=b[3],P=new Int32Array(e),U=new Int32Array(P.length),z,V,X,J,ee,te,ne,ie,se,oe,ye,Se,me,de,ce=this.networkToHostOrderSwap;while(n<P.length){se=ce(P[n]),oe=ce(P[n+1]),ye=ce(P[n+2]),Se=ce(P[n+3]),ee=se^r[0],te=Se^r[1],ne=ye^r[2],ie=oe^r[3],me=4;for(de=1;de<i;de++)z=c[ee>>>24]^f[te>>16&255]^m[ne>>8&255]^g[ie&255]^r[me],V=c[te>>>24]^f[ne>>16&255]^m[ie>>8&255]^g[ee&255]^r[me+1],X=c[ne>>>24]^f[ie>>16&255]^m[ee>>8&255]^g[te&255]^r[me+2],J=c[ie>>>24]^f[ee>>16&255]^m[te>>8&255]^g[ne&255]^r[me+3],ee=z,te=V,ne=X,ie=J,me=me+4;z=a[ee>>>24]<<24^a[te>>16&255]<<16^a[ne>>8&255]<<8^a[ie&255]^r[me],V=a[te>>>24]<<24^a[ne>>16&255]<<16^a[ie>>8&255]<<8^a[ee&255]^r[me+1],X=a[ne>>>24]<<24^a[ie>>16&255]<<16^a[ee>>8&255]<<8^a[te&255]^r[me+2],J=a[ie>>>24]<<24^a[ee>>16&255]<<16^a[te>>8&255]<<8^a[ne&255]^r[me+3],U[n]=ce(z^v),U[n+1]=ce(J^k),U[n+2]=ce(X^T),U[n+3]=ce(V^_),v=se,k=oe,T=ye,_=Se,n=n+4}return U.buffer}}class D9{constructor(e,n,s){this.subtle=void 0,this.key=void 0,this.aesMode=void 0,this.subtle=e,this.key=n,this.aesMode=s}expandKey(){let e=wE(this.aesMode);return this.subtle.importKey("raw",this.key,{name:e},!1,["encrypt","decrypt"])}}function wE(e){switch(e){case ol.cbc:return"AES-CBC";case ol.ctr:return"AES-CTR";default:throw Error(`[FastAESKey] invalid aes mode ${e}`)}}var yE=16;class g0{constructor(e,n){if(this.logEnabled=!0,this.decryptRange=void 0,this.subtle=null,this.softwareDecrypter=null,this.key=null,this.fastAesKey=null,this.remainderData=null,this.currentIV=null,this.currentResult=null,this.useSoftware=void 0,this.enableSoftwareAES=void 0,this.enableSoftwareAES=e.enableSoftwareAES,n!==!0)try{let s=self.crypto;if(s)this.subtle=s.subtle||s.webkitSubtle}catch(s){}this.useSoftware=!this.subtle}destroy(){this.subtle=null,this.softwareDecrypter=null,this.key=null,this.fastAesKey=null,this.remainderData=null,this.currentIV=null,this.currentResult=null}isSync(){return this.useSoftware}flush(){let{currentResult:e,remainderData:n}=this;if(!e||n)return this.reset(),null;let s=new Uint8Array(e);this.reset();let i=this.decryptRange;if(i){if(i.start===0&&i.end>=s.length)return s;return s.slice(i.start,i.end)}return bE(s)}reset(){if(this.currentResult=null,this.currentIV=null,this.remainderData=null,this.softwareDecrypter)this.softwareDecrypter=null}decrypt(e,n,s,i,r){if(this.decryptRange=r,this.useSoftware||r)return new Promise((a,l)=>{let c=ArrayBuffer.isView(e)?e:new Uint8Array(e);this.softwareDecrypt(c,n,s,i);let f=this.flush();if(f)a(f.buffer);else l(Error("[softwareDecrypt] Failed to decrypt data"))});return this.webCryptoDecrypt(new Uint8Array(e),n,s,i)}softwareDecrypt(e,n,s,i){let{currentIV:r,currentResult:a,remainderData:l}=this;if(i!==ol.cbc||n.byteLength!==16)return Cn.warn("SoftwareDecrypt: can only handle AES-128-CBC"),null;if(this.logOnce("JS AES decrypt"),l)e=Ir(l,e),this.remainderData=null;let c=this.getValidChunk(e);if(!c.length)return null;if(r)s=r;let f=this.softwareDecrypter;if(!f)f=this.softwareDecrypter=new R9;f.expandKey(n);let m=a;if(this.currentResult=f.decrypt(c.buffer,0,s),this.currentIV=c.slice(-16).buffer,!m)return null;return m}webCryptoDecrypt(e,n,s,i){if(this.key!==n||!this.fastAesKey){if(!this.subtle)return Promise.resolve(this.onWebCryptoError(e,n,s,i));this.key=n,this.fastAesKey=new D9(this.subtle,n,i)}return this.fastAesKey.expandKey().then((r)=>{if(!this.subtle)return Promise.reject(Error("web crypto not initialized"));return this.logOnce("WebCrypto AES decrypt"),new I9(this.subtle,new Uint8Array(s),i).decrypt(e.buffer,r)}).catch((r)=>(Cn.warn(`[decrypter]: WebCrypto Error, disable WebCrypto API, ${r.name}: ${r.message}`),this.onWebCryptoError(e,n,s,i)))}onWebCryptoError(e,n,s,i){let r=this.enableSoftwareAES;if(r){this.useSoftware=!0,this.logEnabled=!0,this.softwareDecrypt(e,n,s,i);let a=this.flush();if(a)return a.buffer}throw Error("WebCrypto"+(r?" and softwareDecrypt":"")+": failed to decrypt data")}getValidChunk(e){let n=e,s=e.length-e.length%yE;if(s!==e.length)n=e.slice(0,s),this.remainderData=e.slice(s);return n}logOnce(e){if(!this.logEnabled)return;Cn.log(`[decrypter]: ${e}`),this.logEnabled=!1}}var P5=Math.pow(2,17);class Qg{constructor(e){this.config=void 0,this.loader=null,this.partLoadTimeout=-1,this.config=e}destroy(){if(this.loader)this.loader.destroy(),this.loader=null}abort(){if(this.loader)this.loader.abort()}load(e,n,s,i){let r=e.url;if(!r)return Promise.reject(new ia({type:Rt.NETWORK_ERROR,details:Le.FRAG_LOAD_ERROR,fatal:!1,frag:e,error:Error(`Fragment does not have a ${r?"part list":"url"}`),networkDetails:null}));this.abort();let a=this.config,{fLoader:l,loader:c}=a;return new Promise((f,m)=>{if(this.loader)this.loader.destroy();if(e.gap)if(e.tagList.some((_)=>_[0]==="GAP")){m(B5(e));return}else e.gap=!1;let g=this.loader=l?new l(a):new c(a),b=N5(e,null,n);e.loader=g;let v=k5(a.fragLoadPolicy.default),k={loadPolicy:v,timeout:v.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0,highWaterMark:e.sn==="initSegment"?1/0:P5};g.stats.retry=e.stats.retry,e.stats=g.stats;let T={onSuccess:(_,P,U,z)=>{this.resetLoader(e,g);let V=_.data;if(U.resetIV&&e.decryptdata)e.decryptdata.iv=new Uint8Array(V.slice(0,16)),V=V.slice(16);f({frag:e,part:null,payload:V,networkDetails:z})},onError:(_,P,U,z)=>{this.resetLoader(e,g),m(new ia({type:Rt.NETWORK_ERROR,details:Le.FRAG_LOAD_ERROR,fatal:!1,frag:e,response:Dt({url:r,data:void 0},_),error:Error(`HTTP Error ${_.code} ${_.text}`),networkDetails:U,stats:z}))},onAbort:(_,P,U)=>{this.resetLoader(e,g),m(new ia({type:Rt.NETWORK_ERROR,details:Le.INTERNAL_ABORTED,fatal:!1,frag:e,error:Error("Aborted"),networkDetails:U,stats:_}))},onTimeout:(_,P,U)=>{this.resetLoader(e,g),m(new ia({type:Rt.NETWORK_ERROR,details:Le.FRAG_LOAD_TIMEOUT,fatal:!1,frag:e,error:Error(`Timeout after ${k.timeout}ms`),networkDetails:U,stats:_}))}};if(s){let _=this.gateProgress(s,i);T.onProgress=(P,U,z,V)=>_({frag:e,part:null,payload:z,networkDetails:V})}g.load(b,k,T)})}gateProgress(e,n){let s=e;if(n){let i=[],r=!1;n.then(()=>{r=!0,i.forEach((a)=>e(a)),i.length=0}).catch(()=>{}),s=(a)=>{if(r)e(a);else i.push(a)}}return s}loadPart(e,n,s){this.abort();let i=this.config,{fLoader:r,loader:a}=i;return new Promise((l,c)=>{if(this.loader)this.loader.destroy();if(e.gap||n.gap){c(B5(e,n));return}let f=this.loader=r?new r(i):new a(i),m=N5(e,n);e.loader=f;let g=k5(i.fragLoadPolicy.default),b={loadPolicy:g,timeout:g.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0,highWaterMark:P5};n.stats=f.stats,f.load(m,b,{onSuccess:(v,k,T,_)=>{this.resetLoader(e,f),this.updateStatsFromPart(e,n);let P={frag:e,part:n,payload:v.data,networkDetails:_};s(P),l(P)},onError:(v,k,T,_)=>{this.resetLoader(e,f),c(new ia({type:Rt.NETWORK_ERROR,details:Le.FRAG_LOAD_ERROR,fatal:!1,frag:e,part:n,response:Dt({url:m.url,data:void 0},v),error:Error(`HTTP Error ${v.code} ${v.text}`),networkDetails:T,stats:_}))},onAbort:(v,k,T)=>{e.stats.aborted=n.stats.aborted,this.resetLoader(e,f),c(new ia({type:Rt.NETWORK_ERROR,details:Le.INTERNAL_ABORTED,fatal:!1,frag:e,part:n,error:Error("Aborted"),networkDetails:T,stats:v}))},onTimeout:(v,k,T)=>{this.resetLoader(e,f),c(new ia({type:Rt.NETWORK_ERROR,details:Le.FRAG_LOAD_TIMEOUT,fatal:!1,frag:e,part:n,error:Error(`Timeout after ${b.timeout}ms`),networkDetails:T,stats:v}))}})})}updateStatsFromPart(e,n){let s=e.stats,i=n.stats,r=i.total;if(s.loaded+=i.loaded,r){let c=Math.round(e.duration/n.duration),f=Math.min(Math.round(s.loaded/r),c),g=(c-f)*Math.round(s.loaded/f);s.total=s.loaded+g}else s.total=Math.max(s.loaded,s.total);let a=s.loading,l=i.loading;if(a.start)a.first+=l.first-l.start;else a.start=l.start,a.first=l.first;a.end=l.end}resetLoader(e,n){if(e.loader=null,e.url=null,this.loader===n)self.clearTimeout(this.partLoadTimeout),this.loader=null;n.destroy()}}function N5(e,n=null,s){let i=n||e,r={type:tn.MEDIA_FRAGMENT,frag:e,part:n,responseType:"arraybuffer",url:i.url,headers:{},rangeStart:0,rangeEnd:0},a=n0(e,n,s);if(a.resetIV)r.resetIV=!0;if(a.byteRange)r.rangeStart=a.byteRange.start,r.rangeEnd=a.byteRange.end;return r}function n0(e,n=null,s){let i={},r=n||e,{byteRangeStartOffset:a,byteRangeEndOffset:l}=r;if(lt(a)&&lt(l)){var c;if((e.sn==="initSegment"||s)&&vE((c=e.decryptdata)==null?void 0:c.method)){let f=Math.floor(a/16)*16,m=Math.ceil(l/16)*16;if(i.decryptRange={start:a-f,end:l-f},f>=16)i.resetIV=!0,f=f-16;i.byteRange={start:f,end:m}}else i.byteRange={start:a,end:l}}return i}function B5(e,n){let s=Error(`GAP ${e.gap?"tag":"attribute"} found`),i={type:Rt.MEDIA_ERROR,details:Le.FRAG_GAP,fatal:!1,frag:e,error:s,networkDetails:null};if(n)i.part=n;return(n?n:e).stats.aborted=!0,new ia(i)}function vE(e){return e==="AES-128"||e==="AES-256"}class ia extends Error{constructor(e){super(e.error.message);this.data=void 0,this.data=e}}class C1 extends $i{constructor(e,n){super(e,n);this._boundTick=void 0,this._tickTimer=null,this._tickInterval=null,this._tickCallCount=0,this._boundTick=this.tick.bind(this)}destroy(){this.onHandlerDestroying(),this.onHandlerDestroyed()}onHandlerDestroying(){this.clearNextTick(),this.clearInterval()}onHandlerDestroyed(){}hasInterval(){return!!this._tickInterval}hasNextTick(){return!!this._tickTimer}setInterval(e){if(!this._tickInterval)return this._tickCallCount=0,this._tickInterval=self.setInterval(this._boundTick,e),!0;return!1}clearInterval(){if(this._tickInterval)return self.clearInterval(this._tickInterval),this._tickInterval=null,!0;return!1}clearNextTick(){if(this._tickTimer)return self.clearTimeout(this._tickTimer),this._tickTimer=null,!0;return!1}tick(){if(this._tickCallCount++,this._tickCallCount===1){if(this.doTick(),this._tickCallCount>1)this.tickImmediate();this._tickCallCount=0}else this.log(`possible exception thrown in task-loop (${this.constructor.name}.doTick)`),this._tickCallCount=0}tickImmediate(){this.clearNextTick(),this._tickTimer=self.setTimeout(this._boundTick,0)}doTick(){}}class b0{constructor(e,n,s,i=0,r=-1,a=!1,l,c,f){this.level=void 0,this.sn=void 0,this.part=void 0,this.id=void 0,this.size=void 0,this.partial=void 0,this.iframe=void 0,this.duration=void 0,this.decryptRange=void 0,this.transmuxing=Dd(),this.buffering={audio:Dd(),video:Dd(),audiovideo:Dd()},this.level=e,this.sn=n,this.id=s,this.size=i,this.part=r,this.partial=a,this.duration=l||0,this.decryptRange=f,this.iframe=c||!1}}function Dd(){return{start:0,executeStart:0,executeEnd:0,end:0}}var H5={length:0,start:()=>0,end:()=>0};class Ft{static isBuffered(e,n){if(e){let s=Ft.getBuffered(e);for(let i=s.length;i--;)if(n>=s.start(i)&&n<=s.end(i))return!0}return!1}static bufferedRanges(e){if(e){let n=Ft.getBuffered(e);return Ft.timeRangesToArray(n)}return[]}static timeRangesToArray(e){let n=[];for(let s=0;s<e.length;s++)n.push({start:e.start(s),end:e.end(s)});return n}static bufferInfo(e,n,s){if(e){let i=Ft.bufferedRanges(e);if(i.length)return Ft.bufferedInfo(i,n,s)}return{len:0,start:n,end:n,bufferedIndex:-1}}static bufferedInfo(e,n,s){if(n=Math.max(0,n),e.length>1)e.sort((m,g)=>m.start-g.start||g.end-m.end);let i=-1,r=[];if(s)for(let m=0;m<e.length;m++){if(n>=e[m].start&&n<=e[m].end)i=m;let g=r.length;if(g){let b=r[g-1].end;if(e[m].start-b<s){if(e[m].end>b)r[g-1].end=e[m].end}else r.push(e[m])}else r.push(e[m])}else r=e;let a=0,l,c=n,f=n;for(let m=0;m<r.length;m++){let g=r[m].start,b=r[m].end;if(i===-1&&n>=g&&n<=b)i=m;if(n+s>=g&&n<b)c=g,f=b,a=f-n;else if(n+s<g){l=g;break}}return{len:a,start:c||0,end:f||0,nextStart:l,buffered:e,bufferedIndex:i}}static getBuffered(e){try{return e.buffered||H5}catch(n){return Cn.log("failed to get media.buffered",n),H5}}}var Zg=/\{\$([a-zA-Z0-9-_]+)\}/g;function U5(e){return Zg.lastIndex=0,Zg.test(e)}function j1(e,n){if(e.variableList!==null||e.hasVariableRefs){let s=e.variableList;return n.replace(Zg,(i)=>{let r=i.substring(2,i.length-1),a=s==null?void 0:s[r];if(a===void 0)return e.playlistParsingError||(e.playlistParsingError=Error(`Missing preceding EXT-X-DEFINE tag for Variable Reference: "${r}"`)),i;return a})}return n}function z5(e,n,s){let i=e.variableList;if(!i)e.variableList=i={};let r,a;if("QUERYPARAM"in n){r=n.QUERYPARAM;try{let l=new self.URL(s).searchParams;if(l.has(r))a=l.get(r);else throw Error(`"${r}" does not match any query parameter in URI: "${s}"`)}catch(l){e.playlistParsingError||(e.playlistParsingError=Error(`EXT-X-DEFINE QUERYPARAM: ${l.message}`))}}else r=n.NAME,a=n.VALUE;if(r in i)e.playlistParsingError||(e.playlistParsingError=Error(`EXT-X-DEFINE duplicate Variable Name declarations: "${r}"`));else i[r]=a||""}function SE(e,n,s){let i=n.IMPORT;if(s&&i in s){let r=e.variableList;if(!r)e.variableList=r={};r[i]=s[i]}else e.playlistParsingError||(e.playlistParsingError=Error(`EXT-X-DEFINE IMPORT attribute not found in Multivariant Playlist: "${i}"`))}var kE=/^(\d+)x(\d+)$/,G5=/(.+?)=(".*?"|.*?)(?:,|$)/g;class ks{constructor(e,n){if(typeof e==="string")e=ks.parseAttrList(e,n);Nn(this,e)}get clientAttrs(){return Object.keys(this).filter((e)=>e.substring(0,2)==="X-")}decimalInteger(e){let n=parseInt(this[e],10);if(n>Number.MAX_SAFE_INTEGER)return 1/0;return n}hexadecimalInteger(e){if(this[e]){let n=(this[e]||"0x").slice(2);n=(n.length&1?"0":"")+n;let s=new Uint8Array(n.length/2);for(let i=0;i<n.length/2;i++)s[i]=parseInt(n.slice(i*2,i*2+2),16);return s}return null}hexadecimalIntegerAsNumber(e){let n=parseInt(this[e],16);if(n>Number.MAX_SAFE_INTEGER)return 1/0;return n}decimalFloatingPoint(e){return parseFloat(this[e])}optionalFloat(e,n){let s=this[e];return s?parseFloat(s):n}enumeratedString(e){return this[e]}enumeratedStringList(e,n){let s=this[e];return(s?s.split(/[ ,]+/):[]).reduce((i,r)=>(i[r.toLowerCase()]=!0,i),n)}bool(e){return this[e]==="YES"}decimalResolution(e){let n=kE.exec(this[e]);if(n===null)return;return{width:parseInt(n[1],10),height:parseInt(n[2],10)}}static parseAttrList(e,n){let s,i={},r='"';G5.lastIndex=0;while((s=G5.exec(e))!==null){let a=s[1].trim(),l=s[2],c=l.indexOf('"')===0&&l.lastIndexOf('"')===l.length-1,f=!1;if(c)l=l.slice(1,-1);else switch(a){case"IV":case"SCTE35-CMD":case"SCTE35-IN":case"SCTE35-OUT":f=!0}if(n&&(c||f))l=j1(n,l);else if(!f&&!c)switch(a){case"CLOSED-CAPTIONS":if(l==="NONE")break;case"ALLOWED-CPC":case"CLASS":case"ASSOC-LANGUAGE":case"AUDIO":case"BYTERANGE":case"CHANNELS":case"CHARACTERISTICS":case"CODECS":case"DATA-ID":case"END-DATE":case"GROUP-ID":case"ID":case"IMPORT":case"INSTREAM-ID":case"KEYFORMAT":case"KEYFORMATVERSIONS":case"LANGUAGE":case"NAME":case"PATHWAY-ID":case"QUERYPARAM":case"RECENTLY-REMOVED-DATERANGES":case"SERVER-URI":case"STABLE-RENDITION-ID":case"STABLE-VARIANT-ID":case"START-DATE":case"SUBTITLES":case"SUPPLEMENTAL-CODECS":case"URI":case"VALUE":case"VIDEO":case"X-ASSET-LIST":case"X-ASSET-URI":Cn.warn(`${e}: attribute ${a} is missing quotes`)}i[a]=l}return i}}var xE="com.apple.hls.interstitial";function AE(e){return e!=="ID"&&e!=="CLASS"&&e!=="CUE"&&e!=="START-DATE"&&e!=="DURATION"&&e!=="END-DATE"&&e!=="END-ON-NEXT"}function TE(e){return e==="SCTE35-OUT"||e==="SCTE35-IN"||e==="SCTE35-CMD"}class _1{constructor(e,n,s=0){var i;if(this.attr=void 0,this.tagAnchor=void 0,this.tagOrder=void 0,this._startDate=void 0,this._endDate=void 0,this._dateAtEnd=void 0,this._cue=void 0,this._badValueForSameId=void 0,this.tagAnchor=(n==null?void 0:n.tagAnchor)||null,this.tagOrder=(i=n==null?void 0:n.tagOrder)!=null?i:s,n){let r=n.attr;for(let a in r)if(Object.prototype.hasOwnProperty.call(e,a)&&e[a]!==r[a]){Cn.warn(`DATERANGE tag attribute: "${a}" does not match for tags with ID: "${e.ID}"`),this._badValueForSameId=a;break}e=Nn(new ks({}),r,e)}if(this.attr=e,n)this._startDate=n._startDate,this._cue=n._cue,this._endDate=n._endDate,this._dateAtEnd=n._dateAtEnd;else this._startDate=new Date(e["START-DATE"]);if("END-DATE"in e){let r=(n==null?void 0:n.endDate)||new Date(e["END-DATE"]);if(lt(r.getTime()))this._endDate=r}}get id(){return this.attr.ID}get class(){return this.attr.CLASS}get cue(){let e=this._cue;if(e===void 0)return this._cue=this.attr.enumeratedStringList(this.attr.CUE?"CUE":"X-CUE",{pre:!1,post:!1,once:!1});return e}get startTime(){let{tagAnchor:e}=this;if(e===null||e.programDateTime===null)return Cn.warn(`Expected tagAnchor Fragment with PDT set for DateRange "${this.id}": ${e}`),NaN;return e.start+(this.startDate.getTime()-e.programDateTime)/1000}get startDate(){return this._startDate}get endDate(){let e=this._endDate||this._dateAtEnd;if(e)return e;let n=this.duration;if(n!==null)return this._dateAtEnd=new Date(this._startDate.getTime()+n*1000);return null}get duration(){if("DURATION"in this.attr){let e=this.attr.decimalFloatingPoint("DURATION");if(lt(e))return e}else if(this._endDate)return(this._endDate.getTime()-this._startDate.getTime())/1000;return null}get plannedDuration(){if("PLANNED-DURATION"in this.attr)return this.attr.decimalFloatingPoint("PLANNED-DURATION");return null}get endOnNext(){return this.attr.bool("END-ON-NEXT")}get isInterstitial(){return this.class===xE}get isValid(){return!!this.id&&!this._badValueForSameId&&lt(this.startDate.getTime())&&(this.duration===null||this.duration>=0)&&(!this.endOnNext||!!this.class)&&(!this.attr.CUE||!this.cue.pre&&!this.cue.post||this.cue.pre!==this.cue.post)&&(!this.isInterstitial||("X-ASSET-URI"in this.attr)||("X-ASSET-LIST"in this.attr))}get invalidReason(){if(!this.id)return"Missing ID";if(this._badValueForSameId)return`Date range ${this._badValueForSameId} mismatch`;if(!lt(this.startDate.getTime()))return"Date range invalid start date";if(this.isInterstitial&&!(("X-ASSET-URI"in this.attr)||("X-ASSET-LIST"in this.attr)))return"Interstitial Date range missing X-ASSET-(LIST|URI)";if(!this.isValid)return"Unknown (check DURATION(|END|NEXT), CLASS, and CUE)";return null}}var q9=10;class M9{constructor(e){this.PTSKnown=!1,this.alignedSliding=!1,this.averagetargetduration=void 0,this.endCC=0,this.endSN=0,this.fragments=void 0,this.fragmentHint=void 0,this.partList=null,this.dateRanges=void 0,this.dateRangeTagCount=0,this.live=!0,this.iframesOnly=!1,this.requestScheduled=-1,this.ageHeader=0,this.advancedDateTime=void 0,this.updated=!0,this.advanced=!0,this.misses=0,this.startCC=0,this.startSN=0,this.startTimeOffset=null,this.targetduration=0,this.totalduration=0,this.type=null,this.url=void 0,this.m3u8="",this.version=null,this.canBlockReload=!1,this.canSkipUntil=0,this.canSkipDateRanges=!1,this.skippedSegments=0,this.recentlyRemovedDateranges=void 0,this.partHoldBack=0,this.holdBack=0,this.partTarget=0,this.preloadHint=void 0,this.renditionReports=void 0,this.tuneInGoal=0,this.deltaUpdateFailed=void 0,this.driftStartTime=0,this.driftEndTime=0,this.driftStart=0,this.driftEnd=0,this.encryptedFragments=void 0,this.playlistParsingError=null,this.variableList=null,this.hasVariableRefs=!1,this.appliedTimelineOffset=void 0,this.fragments=[],this.encryptedFragments=[],this.dateRanges={},this.url=e}reloaded(e){if(!e){this.advanced=!0,this.updated=!0;return}let n=this.lastPartSn-e.lastPartSn,s=this.lastPartIndex-e.lastPartIndex;if(this.updated=this.endSN!==e.endSN||!!s||!!n||!this.live,this.advanced=this.endSN>e.endSN||n>0||n===0&&s>0,this.updated||this.advanced)this.misses=0;else this.misses=e.misses+1}hasKey(e){return this.encryptedFragments.some((n)=>{let s=n.decryptdata;if(!s)n.setKeyFormat(e.keyFormat),s=n.decryptdata;return!!s&&e.matches(s)})}get hasProgramDateTime(){if(this.fragments.length)return lt(this.fragments[this.fragments.length-1].programDateTime);return!1}get levelTargetDuration(){return this.averagetargetduration||this.targetduration||q9}get drift(){let e=this.driftEndTime-this.driftStartTime;if(e>0)return(this.driftEnd-this.driftStart)*1000/e;return 1}get edge(){return this.partEnd||this.fragmentEnd}get partEnd(){var e;if((e=this.partList)!=null&&e.length)return this.partList[this.partList.length-1].end;return this.fragmentEnd}get fragmentEnd(){if(this.fragments.length)return this.fragments[this.fragments.length-1].end;return 0}get fragmentStart(){if(this.fragments.length)return this.fragments[0].start;return 0}get age(){if(this.advancedDateTime)return Math.max(Date.now()-this.advancedDateTime,0)/1000;return 0}get lastPartIndex(){var e;if((e=this.partList)!=null&&e.length)return this.partList[this.partList.length-1].index;return-1}get maxPartIndex(){let e=this.partList;if(e){let n=this.lastPartIndex;if(n!==-1){for(let s=e.length;s--;)if(e[s].index>n)return e[s].index;return n}}return 0}get lastPartSn(){var e;if((e=this.partList)!=null&&e.length)return this.partList[this.partList.length-1].fragment.sn;return this.endSN}get expired(){if(this.live&&this.age&&this.misses<3){let e=this.partEnd-this.fragmentStart;return this.age>Math.max(e,this.totalduration)+this.levelTargetDuration}return!1}}function s0(e,n){if(e.length===n.length)return!e.some((s,i)=>s!==n[i]);return!1}function V5(e,n){if(!e&&!n)return!0;if(!e||!n)return!1;return s0(e,n)}function Wc(e){return e==="AES-128"||e==="AES-256"||e==="AES-256-CTR"}function I1(e){switch(e){case"AES-128":case"AES-256":return ol.cbc;case"AES-256-CTR":return ol.ctr;default:throw Error(`invalid full segment method ${e}`)}}function e1(e){return Uint8Array.from(unescape(encodeURIComponent(e)),(n)=>n.charCodeAt(0))}function EE(e){let n=e1(e).subarray(0,16),s=new Uint8Array(16);return s.set(n,16-n.length),s}function F9(e){let n=function(i,r,a){let l=i[r];i[r]=i[a],i[a]=l};n(e,0,3),n(e,1,2),n(e,4,5),n(e,6,7)}function L9(e){let n=e.split(":"),s=null;if(n[0]==="data"&&n.length===2){let i=n[1].split(";"),r=i[i.length-1].split(",");if(r.length===2){let a=r[0]==="base64",l=r[1];if(a)i.splice(-1,1),s=x1(l);else s=EE(l)}}return s}var i0=typeof self<"u"?self:void 0,ms={CLEARKEY:"org.w3.clearkey",FAIRPLAY:"com.apple.fps",PLAYREADY:"com.microsoft.playready",WIDEVINE:"com.widevine.alpha"},wi={CLEARKEY:"org.w3.clearkey",FAIRPLAY:"com.apple.streamingkeydelivery",PLAYREADY:"com.microsoft.playready",WIDEVINE:"urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"};function qd(e){switch(e){case wi.FAIRPLAY:return ms.FAIRPLAY;case wi.PLAYREADY:return ms.PLAYREADY;case wi.WIDEVINE:return ms.WIDEVINE;case wi.CLEARKEY:return ms.CLEARKEY}}var O9={WIDEVINE:"edef8ba979d64acea3c827dcd51d21ed"};function xg(e){switch(e){case ms.FAIRPLAY:return wi.FAIRPLAY;case ms.PLAYREADY:return wi.PLAYREADY;case ms.WIDEVINE:return wi.WIDEVINE;case ms.CLEARKEY:return wi.CLEARKEY}}function ih(e){let{drmSystems:n,widevineLicenseUrl:s}=e,i=n?[ms.FAIRPLAY,ms.WIDEVINE,ms.PLAYREADY,ms.CLEARKEY].filter((r)=>!!n[r]):[];if(!i[ms.WIDEVINE]&&s)i.push(ms.WIDEVINE);return i}var P9=function(e){if(i0!=null&&(e=i0.navigator)!=null&&e.requestMediaKeySystemAccess)return self.navigator.requestMediaKeySystemAccess.bind(self.navigator);else return null}();function CE(e,n,s,i){let r;switch(e){case ms.FAIRPLAY:r=["cenc","sinf"];break;case ms.WIDEVINE:case ms.PLAYREADY:r=["cenc"];break;case ms.CLEARKEY:r=["cenc","keyids"];break;default:throw Error(`Unknown key-system: ${e}`)}return jE(r,n,s,i)}function jE(e,n,s,i){return[{initDataTypes:e,persistentState:i.persistentState||"optional",distinctiveIdentifier:i.distinctiveIdentifier||"optional",sessionTypes:i.sessionTypes||[i.sessionType||"temporary"],audioCapabilities:n.map((a)=>({contentType:`audio/mp4; codecs=${a}`,robustness:i.audioRobustness||"",encryptionScheme:i.audioEncryptionScheme||null})),videoCapabilities:s.map((a)=>({contentType:`video/mp4; codecs=${a}`,robustness:i.videoRobustness||"",encryptionScheme:i.videoEncryptionScheme||null}))}]}function _E(e){var n;return!!e&&(e.sessionType==="persistent-license"||!!((n=e.sessionTypes)!=null&&n.some((s)=>s==="persistent-license")))}function R1(e){let n=new Uint16Array(e.buffer,e.byteOffset,e.byteLength/2),s=ra(n),i=s.substring(s.indexOf("<"),s.length),l=new DOMParser().parseFromString(i,"text/xml").getElementsByTagName("KID")[0];if(l){let c=l.childNodes[0]?l.childNodes[0].nodeValue:l.getAttribute("VALUE");if(c){let f=x1(c).subarray(0,16);return F9(f),f}}return null}var Vc={};class mo{static clearKeyUriToKeyIdMap(){Vc={}}static setKeyIdForUri(e,n){Vc[e]=n}static addKeyIdForUri(e){let n=Object.keys(Vc).length%Number.MAX_SAFE_INTEGER,s=new Uint8Array(16);return new DataView(s.buffer,12,4).setUint32(0,n),Vc[e]=s,s}constructor(e,n,s,i=[1],r=null,a){if(this.uri=void 0,this.method=void 0,this.keyFormat=void 0,this.keyFormatVersions=void 0,this.encrypted=void 0,this.isCommonEncryption=void 0,this.iv=null,this.key=null,this.keyId=null,this.pssh=null,this.scheme=void 0,this.method=e,this.uri=n,this.keyFormat=s,this.keyFormatVersions=i,this.iv=r,this.encrypted=e?e!=="NONE":!1,this.isCommonEncryption=this.encrypted&&!Wc(e),a!=null&&a.startsWith("0x"))this.keyId=new Uint8Array(n9(a))}matches(e){return e.uri===this.uri&&e.method===this.method&&e.encrypted===this.encrypted&&e.keyFormat===this.keyFormat&&s0(e.keyFormatVersions,this.keyFormatVersions)&&V5(e.iv,this.iv)&&V5(e.keyId,this.keyId)}isSupported(){if(this.method){if(Wc(this.method)||this.method==="NONE")return!0;if(this.keyFormat==="identity")return this.method==="SAMPLE-AES";else switch(this.keyFormat){case wi.FAIRPLAY:case wi.WIDEVINE:case wi.PLAYREADY:case wi.CLEARKEY:return["SAMPLE-AES","SAMPLE-AES-CENC","SAMPLE-AES-CTR"].indexOf(this.method)!==-1}}return!1}getDecryptData(e,n){var s;if(!this.encrypted||!this.uri)return null;if(Wc(this.method)){let a=this.iv;if(!a){if(typeof e!=="number")Cn.warn(`missing IV for initialization segment with method="${this.method}" - compliance issue`),e=0;a=RE(e)}return new mo(this.method,this.uri,"identity",this.keyFormatVersions,a)}if(this.keyId){let a=Vc[this.uri];if(a&&!s0(this.keyId,a))mo.setKeyIdForUri(this.uri,this.keyId);if(this.pssh)return this}let i=L9(this.uri);if(i)switch(this.keyFormat){case wi.WIDEVINE:if(this.pssh=i,!this.keyId){let a=d9(i.buffer).filter((l)=>l.systemId===O9.WIDEVINE);if(a.length){var r;let l=a[0];this.keyId=(r=l.kids)!=null&&r.length?l.kids[0]:null}}if(!this.keyId)this.keyId=$5(n);break;case wi.PLAYREADY:{let a=new Uint8Array([154,4,240,121,152,64,66,134,171,146,230,91,224,136,95,149]);this.pssh=OT(a,null,i),this.keyId=R1(i);break}default:{let a=i.subarray(0,16);if(a.length!==16){let l=new Uint8Array(16);l.set(a,16-a.length),a=l}this.keyId=a;break}}if(((s=this.keyId)==null?void 0:s.byteLength)!==16){let a;if(a=IE(n),!a){if(a=$5(n),!a)a=Vc[this.uri]}if(a)this.keyId=a,mo.setKeyIdForUri(this.uri,a)}return this}}function IE(e){let n=e==null?void 0:e[wi.WIDEVINE];if(n)return n.keyId;return null}function $5(e){let n=e==null?void 0:e[wi.PLAYREADY];if(n){let s=L9(n.uri);if(s)return R1(s)}return null}function RE(e){let n=new Uint8Array(16);for(let s=12;s<16;s++)n[s]=e>>8*(15-s)&255;return n}var X5=/#EXT-X-STREAM-INF:([^\r\n]*)(?:[\r\n](?:#[^\r\n]*)?)*([^\r\n]+)|#EXT-X-(I-FRAME-STREAM-INF|SESSION-DATA|SESSION-KEY|DEFINE|CONTENT-STEERING|START):([^\r\n]*)(?:[\r\n]+|$)/g,W5=/#EXT-X-MEDIA:(.*)/g,DE=/^#EXT(?:INF|-X-TARGETDURATION):/m,Ag=new RegExp([/#EXTINF:\s*(\d*(?:\.\d+)?)(?:,(.*)\s+)?/.source,/(?!#) *(\S[^\r\n]*)/.source,/#.*/.source].join("|"),"g"),qE=new RegExp([/#EXT-X-(PROGRAM-DATE-TIME|BYTERANGE|DATERANGE|DEFINE|KEY|MAP|PART|PART-INF|PLAYLIST-TYPE|PRELOAD-HINT|RENDITION-REPORT|SERVER-CONTROL|SKIP|START):(.+)/.source,/#EXT-X-(BITRATE|DISCONTINUITY-SEQUENCE|MEDIA-SEQUENCE|TARGETDURATION|VERSION): *(\d+)/.source,/#EXT-X-(DISCONTINUITY|ENDLIST|GAP|INDEPENDENT-SEGMENTS|I-FRAMES-ONLY)/.source,/(#)([^:]*):(.*)/.source,/(#)(.*)(?:.*)\r?\n?/.source].join("|"));class Ea{static findGroup(e,n){for(let s=0;s<e.length;s++){let i=e[s];if(i.id===n)return i}}static resolve(e,n){return w1.buildAbsoluteURL(n,e,{alwaysNormalize:!0})}static isMediaPlaylist(e){return DE.test(e)}static parseMasterPlaylist(e,n){let s=U5(e),i={contentSteering:null,levels:[],iframeVariants:[],playlistParsingError:null,sessionData:null,sessionKeys:null,startTimeOffset:null,variableList:null,hasVariableRefs:s},r=[];if(X5.lastIndex=0,!e.startsWith("#EXTM3U"))return i.playlistParsingError=Error("no EXTM3U delimiter"),i;let a;while((a=X5.exec(e))!=null)if(a[1]){let c=new ks(a[1],i),f=K5(c,a[2],n,i,r);if(f)i.levels.push(f)}else if(a[3]){let c=a[3],f=a[4];switch(c){case"I-FRAME-STREAM-INF":{let m=new ks(f,i),g=K5(m,m.URI,n,i,r,!0);if(g)i.iframeVariants.push(g)}break;case"SESSION-DATA":{let m=new ks(f,i),g=m["DATA-ID"];if(g){if(i.sessionData===null)i.sessionData={};i.sessionData[g]=m}break}case"SESSION-KEY":{let m=Y5(f,n,i);if(m.encrypted&&m.isSupported()){if(i.sessionKeys===null)i.sessionKeys=[];i.sessionKeys.push(m)}else Cn.warn(`[Keys] Ignoring invalid EXT-X-SESSION-KEY tag: "${f}"`);break}case"DEFINE":{{let m=new ks(f,i);z5(i,m,n)}break}case"CONTENT-STEERING":{let m=new ks(f,i);i.contentSteering={uri:Ea.resolve(m["SERVER-URI"],n),pathwayId:m["PATHWAY-ID"]||"."};break}case"START":{i.startTimeOffset=Q5(f);break}}}let l=r.length>0&&r.length<i.levels.length;if(i.levels=l?r:i.levels,i.levels.length===0)i.playlistParsingError=Error("no levels found in manifest");return i}static parseMasterPlaylistMedia(e,n,s){let i,r={},a=s.levels,l={AUDIO:a.map((f)=>({id:f.attrs.AUDIO,audioCodec:f.audioCodec})),SUBTITLES:a.map((f)=>({id:f.attrs.SUBTITLES,textCodec:f.textCodec})),"CLOSED-CAPTIONS":[]},c=0;W5.lastIndex=0;while((i=W5.exec(e))!==null){let f=new ks(i[1],s),m=f.TYPE;if(m){let g=l[m],b=r[m]||[];r[m]=b;let v=f.LANGUAGE,k=f["ASSOC-LANGUAGE"],{CHANNELS:T,CHARACTERISTICS:_}=f,P=f["INSTREAM-ID"],U={attrs:f,bitrate:0,id:c++,groupId:f["GROUP-ID"]||"",name:f.NAME||v||"",type:m,default:f.bool("DEFAULT"),autoselect:f.bool("AUTOSELECT"),forced:f.bool("FORCED"),lang:v,url:f.URI?Ea.resolve(f.URI,n):""};if(k)U.assocLang=k;if(T)U.channels=T;if(_)U.characteristics=_;if(P)U.instreamId=P;if(g!=null&&g.length){let z=Ea.findGroup(g,U.groupId)||g[0];Z5(U,z,"audioCodec"),Z5(U,z,"textCodec")}b.push(U)}}return r}static parseLevelPlaylist(e,n,s,i,r,a){var l;let c={url:n},f=new M9(n),m=f.fragments,g=[],b=null,v=0,k=0,T=0,_=0,P=0,U=null,z=new ch(i,c),V,X,J,ee=-1,te=!1,ne=null,ie;if(Ag.lastIndex=0,f.m3u8=e,f.hasVariableRefs=U5(e),((l=Ag.exec(e))==null?void 0:l[0])!=="#EXTM3U")return f.playlistParsingError=Error("Missing format identifier #EXTM3U"),f;while((V=Ag.exec(e))!==null){if(te){if(te=!1,z=new ch(i,c),z.playlistOffset=T,z.setStart(T),z.sn=v,z.cc=_,P)z.bitrate=P;if(z.level=s,b){if(z.initSegment=b,b.rawProgramDateTime)z.rawProgramDateTime=b.rawProgramDateTime,b.rawProgramDateTime=null;if(ne)z.setByteRange(ne),ne=null}}let me=V[1];if(me){z.duration=parseFloat(me);let de=(" "+V[2]).slice(1);z.title=de||null,z.tagList.push(de?["INF",me,de]:["INF",me])}else if(V[3]){if(lt(z.duration)){var se;if(z.playlistOffset=T,z.setStart(T),J)t3(z,J,f);z.sn=v,z.level=s,z.cc=_;let de=(" "+V[3]).slice(1);z.relurl=j1(f,de),t1(z,U,g),U=z,T+=z.duration,v++,k=0;let ce=z.byteRange;if(ce.length===2)z.bitrate=(ce[1]-ce[0])*8/z.duration|0;if(f.iframesOnly&&ce[0]&&((se=b)==null?void 0:se.cc)!==_){let Ee=new ch(i,c);if(Ee.relurl=z.relurl,Ee.setByteRange(`${Math.min(ce[0],1316)}@0`),Ee.level=s,Ee.sn="initSegment",J){if(Ee.levelkeys=J,J.identity)Ee._decryptdata=J.identity.getDecryptData(0)}b=Ee,z.initSegment=b}m.push(z),te=!0}}else{if(V=V[0].match(qE),!V){Cn.warn("No matches on slow regex match for level playlist!");continue}for(X=1;X<V.length;X++)if(V[X]!==void 0)break;let de=(" "+V[X]).slice(1),ce=(" "+V[X+1]).slice(1),Ee=V[X+2]?(" "+V[X+2]).slice(1):null;switch(de){case"BYTERANGE":if(U)z.setByteRange(ce,U);else z.setByteRange(ce);break;case"PROGRAM-DATE-TIME":if(z.rawProgramDateTime=ce,z.tagList.push(["PROGRAM-DATE-TIME",ce]),ee===-1)ee=m.length;break;case"PLAYLIST-TYPE":if(f.type)fo(f,de,V);f.type=ce.toUpperCase();break;case"MEDIA-SEQUENCE":if(f.startSN!==0)fo(f,de,V);else if(U!==null)LE(f,de,V);f.startSN=parseInt(ce),v=f.startSN+f.skippedSegments;break;case"SKIP":{if(f.skippedSegments)fo(f,de,V);let we=new ks(ce,f),qe=we.decimalInteger("SKIPPED-SEGMENTS");if(lt(qe)){f.skippedSegments+=qe;for(let Fe=qe;Fe--;)m.push(null);v+=qe}let Re=we.enumeratedString("RECENTLY-REMOVED-DATERANGES");if(Re)f.recentlyRemovedDateranges=(f.recentlyRemovedDateranges||[]).concat(Re.split("\t"));break}case"TARGETDURATION":if(f.targetduration!==0)fo(f,de,V);f.targetduration=Math.max(parseInt(ce),1);break;case"VERSION":if(f.version!==null)fo(f,de,V);f.version=parseInt(ce);break;case"INDEPENDENT-SEGMENTS":break;case"I-FRAMES-ONLY":f.iframesOnly=!0;break;case"ENDLIST":if(!f.live)fo(f,de,V);f.live=!1;break;case"#":if(ce||Ee)z.tagList.push(Ee?[ce,Ee]:[ce]);break;case"DISCONTINUITY":_++,z.tagList.push(["DIS"]);break;case"GAP":z.gap=!0,z.tagList.push([de]);break;case"BITRATE":if(z.tagList.push([de,ce]),P=parseInt(ce)*1000,lt(P))z.bitrate=P;else P=0;break;case"DATERANGE":{let we=new ks(ce,f),qe=new _1(we,f.dateRanges[we.ID],f.dateRangeTagCount);if(f.dateRangeTagCount++,qe.isValid||f.skippedSegments)f.dateRanges[qe.id]=qe;else Cn.log(`Ignoring invalid DATERANGE tag: ${qe.invalidReason}: ${ce}`);z.tagList.push(["EXT-X-DATERANGE",ce]);break}case"DEFINE":{{let we=new ks(ce,f);if("IMPORT"in we)SE(f,we,a);else z5(f,we,n)}break}case"DISCONTINUITY-SEQUENCE":if(f.startCC!==0)fo(f,de,V);f.startCC=_=parseInt(ce),m.forEach((we)=>we&&(we.cc=_));break;case"KEY":{let we=Y5(ce,n,f);if(we.isSupported()){if(we.method==="NONE"){J=void 0;break}if(!J)J={};let qe=J[we.keyFormat];if(!(qe!=null&&qe.matches(we))){if(qe)J=Nn({},J);J[we.keyFormat]=we}}else Cn.warn(`[Keys] Ignoring unsupported EXT-X-KEY tag: "${ce}"`);break}case"START":f.startTimeOffset=Q5(ce);break;case"MAP":{let we=new ks(ce,f);if(z.duration){let qe=new ch(i,c);if(e3(qe,we,s,J),b=qe,z.initSegment=b,b.rawProgramDateTime&&!z.rawProgramDateTime)z.rawProgramDateTime=b.rawProgramDateTime}else{let qe=z.byteRangeEndOffset;if(qe){let Re=z.byteRangeStartOffset;ne=`${qe-Re}@${Re}`}else ne=null;e3(z,we,s,J),b=z,te=!0}b.cc=_;break}case"SERVER-CONTROL":{if(ie)fo(f,de,V);ie=new ks(ce),f.canBlockReload=ie.bool("CAN-BLOCK-RELOAD"),f.canSkipUntil=ie.optionalFloat("CAN-SKIP-UNTIL",0),f.canSkipDateRanges=f.canSkipUntil>0&&ie.bool("CAN-SKIP-DATERANGES"),f.partHoldBack=ie.optionalFloat("PART-HOLD-BACK",0),f.holdBack=ie.optionalFloat("HOLD-BACK",0);break}case"PART-INF":{if(f.partTarget)fo(f,de,V);let we=new ks(ce);f.partTarget=we.decimalFloatingPoint("PART-TARGET");break}case"PART":{let we=f.partList;if(!we)we=f.partList=[];let qe=k>0?we[we.length-1]:void 0,Re=k++,Fe=new ks(ce,f),Be=new G3(Fe,z,c,Re,qe);we.push(Be),z.duration+=Be.duration;break}case"PRELOAD-HINT":{let we=new ks(ce,f);f.preloadHint=we;break}case"RENDITION-REPORT":{let we=new ks(ce,f);f.renditionReports=f.renditionReports||[],f.renditionReports.push(we);break}default:Cn.warn(`line parsed but not handled: ${V}`);break}}}if(U&&!U.relurl){if(m.pop(),T-=U.duration,f.partList)f.fragmentHint=U}else if(f.partList){if(t1(z,U,g),z.cc=_,f.fragmentHint=z,J)t3(z,J,f)}if(!f.targetduration)f.playlistParsingError=Error("Missing Target Duration");let oe=m.length,ye=m[0],Se=m[oe-1];if(T+=f.skippedSegments*f.targetduration,T>0&&oe&&Se){f.averagetargetduration=T/oe;let me=Se.sn;if(f.endSN=me!=="initSegment"?me:0,!f.live)Se.endList=!0;if(ee>0){if(FE(m,ee,ee>oe-1?z:null),ye)g.unshift(ye)}}if(f.fragmentHint)T+=f.fragmentHint.duration;if(f.totalduration=T,g.length&&f.dateRangeTagCount&&ye)N9(g,f);return f.endCC=_,f}}function K5(e,n,s,i,r,a){var l;if(n===void 0)return null;let c=j1(i,n),f={attrs:e,bitrate:e.decimalInteger("BANDWIDTH")||e.decimalInteger("AVERAGE-BANDWIDTH"),name:e.NAME,url:Ea.resolve(c,s)},m=e.decimalResolution("RESOLUTION");if(m)f.width=m.width,f.height=m.height;J5(e.CODECS,f);let g=e["SUPPLEMENTAL-CODECS"];if(g)f.supplemental={},J5(g,f.supplemental);if(!((l=f.unknownCodecs)!=null&&l.length))r.push(f);if(a)f.iframes=!0;return f}function N9(e,n){let s=e.length;if(!s)if(n.hasProgramDateTime){let c=n.fragments[n.fragments.length-1];e.push(c),s++}else return;let i=e[s-1],r=n.live?1/0:n.totalduration,a=Object.keys(n.dateRanges);for(let c=a.length;c--;){let f=n.dateRanges[a[c]],m=f.startDate.getTime();f.tagAnchor=i.ref;for(let g=s;g--;){var l;if(((l=e[g])==null?void 0:l.sn)<n.startSN)break;let b=ME(n,m,e,g,r);if(b){f.tagAnchor=b.ref;break}}}}function ME(e,n,s,i,r){let a=s[i];if(a){let c=a.programDateTime;if(n>=c||i===0){var l;let f=(((l=s[i+1])==null?void 0:l.start)||r)-a.start;if(n<=c+f*1000){let m=a.sn-e.startSN,g=e.fragments;if(m>=0&&m<g.length){if(g.length>s.length){let b=s[i+1]||g[g.length-1],v=Math.min(b.sn-e.startSN,g.length-1);for(let k=v;k>m;k--){let T=g[k].programDateTime;if(n>=T&&n<T+g[k].duration*1000)return g[k]}}return g[m]}}}}return null}function Y5(e,n,s){var i,r;let a=new ks(e,s),l=(i=a.METHOD)!=null?i:"",c=a.URI,f=a.hexadecimalInteger("IV"),m=a.KEYFORMATVERSIONS,g=(r=a.KEYFORMAT)!=null?r:"identity";if(c&&a.IV&&!f)Cn.error(`Invalid IV: ${a.IV}`);let b=c?Ea.resolve(c,n):"",v=(m?m:"1").split("/").map(Number).filter(Number.isFinite);return new mo(l,b,g,v,f,a.KEYID)}function Q5(e){let s=new ks(e).decimalFloatingPoint("TIME-OFFSET");if(lt(s))return s;return null}function J5(e,n){let s=(e||"").split(/[ ,]+/).filter((i)=>i);["video","audio","text","image"].forEach((i)=>{let r=s.filter((a)=>T1(a,i));if(r.length)n[`${i}Codec`]=r.map((a)=>a.split("/")[0]).join(","),s=s.filter((a)=>r.indexOf(a)===-1)}),n.unknownCodecs=s}function Z5(e,n,s){let i=n[s];if(i)e[s]=i}function FE(e,n,s){if(s||(s=e[n]),!s)return;for(let i=n;i--;){let r=e[i];if(!r)return;r.programDateTime=s.programDateTime-r.duration*1000,s=r}}function t1(e,n,s){if(e.rawProgramDateTime)s.push(e);else if(n!=null&&n.programDateTime)e.programDateTime=n.endProgramDateTime}function e3(e,n,s,i){if(e.relurl=n.URI,n.BYTERANGE)e.setByteRange(n.BYTERANGE);if(e.level=s,e.sn="initSegment",i)e.levelkeys=i;e.initSegment=null}function t3(e,n,s){e.levelkeys=n;let{encryptedFragments:i}=s;if((!i.length||i[i.length-1].levelkeys!==n)&&Object.keys(n).some((r)=>n[r].isCommonEncryption))i.push(e)}function fo(e,n,s){e.playlistParsingError=Error(`#EXT-X-${n} must not appear more than once (${s[0]})`)}function LE(e,n,s){e.playlistParsingError=Error(`#EXT-X-${n} must appear before the first Media Segment (${s[0]})`)}function Tg(e,n){let s=n.startPTS;if(lt(s)){let i=0,r;if(n.sn>e.sn)i=s-e.start,r=e;else i=e.start-s,r=n;if(r.duration!==i)r.setDuration(i)}else if(n.sn>e.sn)if(e.cc===n.cc&&e.minEndPTS)n.setStart(e.start+(e.minEndPTS-e.start));else n.setStart(e.start+e.duration);else n.setStart(Math.max(e.start-n.duration,0))}function B9(e,n,s,i,r,a,l,c){if(i-s<=0)c.warn("Fragment should have a positive duration",n),i=s+n.duration,a=r+n.duration;let m=s,g=i,{startPTS:b,endPTS:v}=n;if(lt(b)){let z=Math.abs(b-s);if(e&&z>e.totalduration)c.warn(`media timestamps and playlist times differ by ${z}s for level ${n.level} ${e.url}`);else if(!lt(n.deltaPTS))n.deltaPTS=z;else n.deltaPTS=Math.max(z,n.deltaPTS);m=Math.max(s,b),s=Math.min(s,b),r=n.startDTS!==void 0?Math.min(r,n.startDTS):r,g=Math.min(i,v),i=Math.max(i,v),a=n.endDTS!==void 0?Math.max(a,n.endDTS):a}let k=s-n.start;if(n.start!==0)n.setStart(s);n.setDuration(i-n.start),n.startPTS=s,n.maxStartPTS=m,n.startDTS=r,n.endPTS=i,n.minEndPTS=g,n.endDTS=a;let T=n.sn;if(!e||T<e.startSN||T>e.endSN)return 0;let _,P=T-e.startSN,U=e.fragments;U[P]=n;for(_=P;_>0;_--)Tg(U[_],U[_-1]);for(_=P;_<U.length-1;_++)Tg(U[_],U[_+1]);if(e.fragmentHint)Tg(U[U.length-1],e.fragmentHint);return e.PTSKnown=e.alignedSliding=!0,k}function OE(e,n,s){if(e===n)return;let i=null,r=e.fragments;for(let g=r.length-1;g>=0;g--){let b=r[g].initSegment;if(b){i=b;break}}if(e.fragmentHint)delete e.fragmentHint.endPTS;let a;BE(e,n,(g,b,v,k)=>{if((!n.startCC||n.skippedSegments)&&b.cc!==g.cc){let T=g.cc-b.cc;for(let _=v;_<k.length;_++)k[_].cc+=T;n.endCC=k[k.length-1].cc}if(lt(g.startPTS)&&lt(g.endPTS)){if(b.setStart(b.startPTS=g.startPTS),b.startDTS=g.startDTS,b.maxStartPTS=g.maxStartPTS,b.endPTS=g.endPTS,b.endDTS=g.endDTS,b.minEndPTS=g.minEndPTS,b.setDuration(g.endPTS-g.startPTS),b.duration)a=b;n.PTSKnown=n.alignedSliding=!0}if(g.hasStreams)b.elementaryStreams=g.elementaryStreams;if(b.loader=g.loader,g.hasStats)b.stats=g.stats;if(g.initSegment)b.initSegment=g.initSegment,i=g.initSegment});let l=n.fragments,c=n.fragmentHint?l.concat(n.fragmentHint):l;if(i)c.forEach((g)=>{var b;if(g&&(!g.initSegment||g.initSegment.relurl===((b=i)==null?void 0:b.relurl)))g.initSegment=i});if(n.skippedSegments){if(n.deltaUpdateFailed=l.some((g)=>!g),n.deltaUpdateFailed){s.warn("[level-helper] Previous playlist missing segments skipped in delta playlist");for(let g=n.skippedSegments;g--;)l.shift();n.startSN=l[0].sn}else{if(n.canSkipDateRanges)n.dateRanges=PE(e.dateRanges,n,s);let g=e.fragments.filter((b)=>b.rawProgramDateTime);if(e.hasProgramDateTime&&!n.hasProgramDateTime){for(let b=1;b<c.length;b++)if(c[b].programDateTime===null)t1(c[b],c[b-1],g)}N9(g,n)}n.endCC=l[l.length-1].cc}if(!n.startCC){var f;let g=z9(e,n.startSN-1);n.startCC=(f=g==null?void 0:g.cc)!=null?f:l[0].cc}if(NE(e.partList,n.partList,(g,b)=>{b.elementaryStreams=g.elementaryStreams,b.stats=g.stats,b.gap=g.gap||b.gap}),a){let g=n.iframesOnly&&a.type===Tt.MAIN;B9(n,a,a.startPTS,a.endPTS,a.startDTS,a.endDTS,g,s)}else H9(e,n);if(l.length)n.totalduration=n.edge-l[0].start;n.driftStartTime=e.driftStartTime,n.driftStart=e.driftStart;let m=n.advancedDateTime;if(n.advanced&&m){let g=n.edge;if(!n.driftStart)n.driftStartTime=m,n.driftStart=g;n.driftEndTime=m,n.driftEnd=g}else n.driftEndTime=e.driftEndTime,n.driftEnd=e.driftEnd,n.advancedDateTime=e.advancedDateTime;if(n.requestScheduled===-1)n.requestScheduled=e.requestScheduled}function PE(e,n,s){let{dateRanges:i,recentlyRemovedDateranges:r}=n,a=Nn({},e);if(r)r.forEach((f)=>{delete a[f]});let c=Object.keys(a).length;if(!c)return i;return Object.keys(i).forEach((f)=>{let m=a[f],g=new _1(i[f].attr,m);if(g.isValid){if(a[f]=g,!m)g.tagOrder+=c}else s.warn(`Ignoring invalid Playlist Delta Update DATERANGE tag: "${ss(i[f].attr)}"`)}),a}function NE(e,n,s){if(e&&n){let i=0;for(let r=0,a=e.length;r<a;r++){let l=e[r],c=n[r+i];if(l&&c&&l.index===c.index&&l.fragment.sn===c.fragment.sn)s(l,c);else i--}}}function BE(e,n,s){var i;let r=n.skippedSegments,a=Math.max(e.startSN,n.startSN)-n.startSN,l=(e.fragmentHint?1:0)+(r?n.endSN:Math.min(e.endSN,n.endSN))-n.startSN,c=n.startSN-e.startSN,f=n.fragmentHint?n.fragments.concat(n.fragmentHint):n.fragments,m=(i=e.fragmentHint)!=null&&i.duration?e.fragments.concat(e.fragmentHint):e.fragments;for(let g=a;g<=l;g++){let b=m[c+g],v=f[g];if(r&&!v&&b)v=n.fragments[g]=b;if(b&&v){s(b,v,g,f);let k=b.relurl,T=v.relurl;if(k&&UE(k,T)){n.playlistParsingError=n3(`media sequence mismatch ${v.sn}:`,e,n,b,v);return}else if(b.cc!==v.cc){n.playlistParsingError=n3(`discontinuity sequence mismatch (${b.cc}!=${v.cc})`,e,n,b,v);return}}}}function n3(e,n,s,i,r){return Error(`${e} ${r.url}
23
+ Playlist starting @${n.startSN}
24
+ ${n.m3u8}
25
+
26
+ Playlist starting @${s.startSN}
27
+ ${s.m3u8}`)}function H9(e,n,s=!0,i){let r=n.startSN+n.skippedSegments-e.startSN,a=e.fragments,l=r>=0,c=0;if(l&&r<a.length)c=a[r].start,i==null||i.log(`Aligning playlists based on SN ${n.startSN} (diff: ${c})`);else if(l&&n.startSN===e.endSN+1)c=e.fragmentEnd,i==null||i.log(`Aligning playlists based on first/last SN ${n.startSN} (diff: ${c})`);else if(l&&s)c=e.fragmentStart+r*n.levelTargetDuration;else if(!n.skippedSegments&&n.fragmentStart===0)c=e.fragmentStart,i==null||i.log(`Aligning playlists based on first SN ${n.startSN} (diff: ${c})`);else return c;return HE(n,c),c}function HE(e,n){if(n){let s=e.fragments;for(let i=e.skippedSegments;i<s.length;i++)s[i].addStart(n);if(e.fragmentHint)e.fragmentHint.addStart(n)}}function U9(e,n=1/0){let s=1000*e.targetduration;if(e.updated){let i=e.fragments,r=4;if(i.length&&s*4>n){let a=i[i.length-1].duration*1000;if(a>0&&a<s)s=a}}else s/=2;return Math.round(s)}function z9(e,n,s){var i;if(!e)return null;let r=e.fragments[n-e.startSN];if(r)return r;if(r=e.fragmentHint,((i=r)==null?void 0:i.sn)===n)return r;if(s&&n<e.startSN&&s.sn===n)return s;return null}function s3(e,n,s){if(!e)return null;return G9(e.partList,n,s)}function G9(e,n,s){if(e)for(let i=e.length;i--;){let r=e[i];if(r.index===s&&r.fragment.sn===n)return r}return null}function V9(e){e.forEach((n,s)=>{var i;(i=n.details)==null||i.fragments.forEach((r)=>{if(r.level=s,r.initSegment)r.initSegment.level=s})})}function UE(e,n){if(e!==n&&n)return i3(e)!==i3(n);return!1}function i3(e){return e.replace(/\?[^?]*$/,"")}function mh(e,n){for(let i=0,r=e.length;i<r;i++){var s;if(((s=e[i])==null?void 0:s.cc)===n)return e[i]}return null}function zE(e,n){if(e){if(n.startCC<e.endCC&&n.endCC>e.startCC)return!0}return!1}function r3(e,n){let s=e.start+n;e.setStart(s)}function $9(e,n){let s=n.fragments;for(let i=0,r=s.length;i<r;i++)r3(s[i],e);if(n.fragmentHint)r3(n.fragmentHint,e);n.alignedSliding=!0}function r0(e,n,s){if(!e)return;if(GE(n,e,s),!n.alignedSliding)VE(n,e,s);if(!n.alignedSliding&&!n.skippedSegments)H9(e,n,!1,s)}function GE(e,n,s){if(!zE(n,e))return;let i=Math.min(n.endCC,e.endCC),r=mh(n.fragments,i),a=mh(e.fragments,i);if(!r||!a)return;let l=r.start-a.start;s.log(`Aligning playlists using dicontinuity sequence ${i} (diff: ${l})`),$9(l,e)}function VE(e,n,s){if(!e.hasProgramDateTime||!n.hasProgramDateTime)return;let i=e.fragments,r=n.fragments;if(!i.length||!r.length)return;let a,l,c=Math.min(n.endCC,e.endCC);if(n.startCC<c&&e.startCC<c)a=mh(r,c),l=mh(i,c);if(!a||!l)a=r[Math.floor(r.length/2)]||r.filter((v)=>!!v)[0],l=mh(i,a.cc)||i[Math.floor(i.length/2)];let f=a.programDateTime,m=l.programDateTime;if(!f||!m)return;let g=(m-f)/1000;if(Math.abs(g)>Math.max(60,e.totalduration)){s.log(`Cannot align playlists using PDT without overlap (${Math.abs(g)} > ${e.totalduration})`);return}let b=g-(l.start-a.start);s.log(`Aligning playlists using PDT (diff: ${b})`),$9(b,e)}function Ln(e,n,s){Mn(e,n,s),e.addEventListener(n,s)}function Mn(e,n,s){e.removeEventListener(n,s)}function a0(e){let n="",s=e.length;for(let i=0;i<s;i++)n+=`[${e.start(i).toFixed(3)}-${e.end(i).toFixed(3)}]`;return n}var Ve={STOPPED:"STOPPED",IDLE:"IDLE",KEY_LOADING:"KEY_LOADING",FRAG_LOADING:"FRAG_LOADING",FRAG_LOADING_WAITING_RETRY:"FRAG_LOADING_WAITING_RETRY",WAITING_TRACK:"WAITING_TRACK",PARSING:"PARSING",PARSED:"PARSED",ENDED:"ENDED",ERROR:"ERROR",WAITING_INIT_PTS:"WAITING_INIT_PTS",WAITING_LEVEL:"WAITING_LEVEL"};class w0 extends C1{constructor(e,n,s,i,r){super(i,e.logger);this.hls=void 0,this.fragPrevious=null,this.fragCurrent=null,this.fragPlaying=null,this.fragmentTracker=void 0,this.transmuxer=null,this._state=Ve.STOPPED,this.playlistType=void 0,this.media=null,this.mediaBuffer=null,this.config=void 0,this.bitrateTest=!1,this.lastCurrentTime=0,this.nextLoadPosition=0,this.startPosition=-1,this.startTimeOffset=null,this.retryDate=0,this.levels=null,this.fragmentLoader=void 0,this.initFragmentLoader=void 0,this.keyLoader=void 0,this.levelLastLoaded=null,this.startFragRequested=!1,this.decrypter=void 0,this.initPTS=[],this.buffering=!0,this.loadingParts=!1,this.loopSn=void 0,this.onMediaSeeking=()=>{let{config:a,fragCurrent:l,media:c,mediaBuffer:f,state:m}=this,g=c?c.currentTime:0,b=Ft.bufferInfo(f?f:c,g,a.maxBufferHole),v=b.len;if(this.log(`Media seeking to ${g}, state: ${m}, ${!v?"out of":"in"} buffer`),this.state===Ve.ENDED)this.resetLoadingState();else if(l){let T=a.maxFragLookUpTolerance,_=l.start-T,P=l.start+l.duration+T;if(!v||P<b.start||_>b.end){let U=g<_,z=g>P;if(U||z)if(l.loader&&(z||!this.isFragmentNearlyDownloaded(l)))this.log(`Cancelling fragment load for seek (sn: ${l.sn}) - ${U?"backward":"forward"} seek`),l.abortRequests(),this.resetLoadingState();else this.fragPrevious=null}}if(c){this.fragmentTracker.removeFragmentsInRange(g,1/0,this.playlistType,!0);let T=this.lastCurrentTime;if(g>T)this.lastCurrentTime=g;if(!this.loadingParts){let _=Math.max(b.end,g),P=this.shouldLoadParts(this.getLevelDetails(),_);if(P)this.log(`LL-Part loading ON after seeking to ${g} with buffer @${_}`),this.loadingParts=P}}let k=!Ft.isBuffered(c,g);if(!this.hls.hasEnoughToStart||k){if(this.log(`Setting ${k?"startPosition":"nextLoadPosition"} to ${g} for seek without enough to start`),this.nextLoadPosition=g,k)this.startPosition=g}if(v<1&&this.state===Ve.IDLE)this.tickImmediate()},this.onMediaEnded=()=>{this.log("setting startPosition to 0 because media ended"),this.startPosition=this.lastCurrentTime=0},this.playlistType=r,this.hls=e,this.fragmentLoader=new Qg(e.config),this.initFragmentLoader=new Qg(e.config),this.keyLoader=s,this.fragmentTracker=n,this.config=e.config,this.decrypter=new g0(e.config)}registerListeners(){let{hls:e}=this;e.on(Z.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(Z.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Z.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(Z.ERROR,this.onError,this)}unregisterListeners(){let{hls:e}=this;e.off(Z.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(Z.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Z.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(Z.ERROR,this.onError,this)}doTick(){this.onTickEnd()}onTickEnd(){}startLoad(e){}stopLoad(){if(this.state===Ve.STOPPED)return;this.fragmentLoader.abort(),this.initFragmentLoader.abort(),this.keyLoader.abort(this.playlistType);let e=this.fragCurrent;if(e!=null&&e.loader)e.abortRequests(),this.fragmentTracker.removeFragment(e);this.resetTransmuxer(),this.fragCurrent=null,this.fragPrevious=null,this.clearInterval(),this.clearNextTick(),this.state=Ve.STOPPED}get startPositionValue(){let{nextLoadPosition:e,startPosition:n}=this;if(n===-1&&e){let s=this.getLevelDetails();if(s!=null&&s.live)return(this.hls.liveSyncPosition||s.fragmentStart)+this.timelineOffset;return e}return n}get bufferingEnabled(){return this.buffering}get backtrackFragment(){return}set backtrackFragment(e){}get couldBacktrack(){return!1}set couldBacktrack(e){}pauseBuffering(){this.buffering=!1}resumeBuffering(){this.buffering=!0}get inFlightFrag(){return{frag:this.fragCurrent,state:this.state}}_streamEnded(e,n){if(n.live||!this.media)return!1;let s=e.end||0,i=this.config.timelineOffset||0;if(s<=i)return!1;let r=e.buffered;if(this.config.maxBufferHole&&r&&r.length>1)e=Ft.bufferedInfo(r,e.start,0);let a=e.nextStart;if(a&&a>i&&a<n.edge)return!1;if(this.media.currentTime<e.start)return!1;let c=n.partList;if(c!=null&&c.length){let m=c[c.length-1];return Ft.isBuffered(this.media,m.start+m.duration/2)}let f=n.fragments[n.fragments.length-1];return this.fragmentTracker.isEndListAppended(f.type)}getLevelDetails(){if(this.levels&&this.levelLastLoaded!==null)return this.levelLastLoaded.details}get timelineOffset(){let e=this.config.timelineOffset;if(e){var n;return((n=this.getLevelDetails())==null?void 0:n.appliedTimelineOffset)||e}return 0}onMediaAttached(e,n){let s=this.media=this.mediaBuffer=n.media;Ln(s,"seeking",this.onMediaSeeking),Ln(s,"ended",this.onMediaEnded);let i=this.config;if(this.levels&&i.autoStartLoad&&this.state===Ve.STOPPED)this.startLoad(i.startPosition)}onMediaDetaching(e,n){this.fragPlaying=null;let s=!!n.transferMedia,i=this.media;if(i===null)return;if(i.ended)this.log("MSE detaching and video ended, reset startPosition"),this.startPosition=this.lastCurrentTime=0;if(Mn(i,"seeking",this.onMediaSeeking),Mn(i,"ended",this.onMediaEnded),this.media=this.mediaBuffer=null,this.loopSn=void 0,s){this.resetLoadingState(),this.resetTransmuxer();return}this.loadingParts=!1,this.fragmentTracker.removeAllFragments(),this.stopLoad()}onManifestLoading(){this.initPTS=[],this.fragPlaying=this.levels=this.levelLastLoaded=this.fragCurrent=null,this.lastCurrentTime=0,this.startPosition=-1,this.startFragRequested=!1}onError(e,n){}onManifestLoaded(e,n){this.startTimeOffset=n.startTimeOffset}onHandlerDestroying(){if(this.stopLoad(),this.transmuxer)this.transmuxer.destroy(),this.transmuxer=null;super.onHandlerDestroying(),this.hls=this.onMediaSeeking=this.onMediaEnded=null}onHandlerDestroyed(){if(this.state=Ve.STOPPED,this.fragmentLoader)this.fragmentLoader.destroy();if(this.initFragmentLoader)this.initFragmentLoader.destroy();if(this.keyLoader)this.keyLoader.destroy();if(this.decrypter)this.decrypter.destroy();this.hls=this.decrypter=this.keyLoader=null,this.fragmentLoader=this.initFragmentLoader=this.fragmentTracker=null,super.onHandlerDestroyed()}loadFragment(e,n,s){this.startFragRequested=!0,this._loadFragForPlayback(e,n,s)}_loadFragForPlayback(e,n,s){let i=(r)=>{let a=r.frag;if(this.fragContextChanged(a)){this.warn(`${a.type} sn: ${a.sn}${r.part?" part: "+r.part.index:""} of ${this.fragInfo(a,!1,r.part)} was dropped during download.`),this.fragmentTracker.removeFragment(a);return}let l=++a.stats.chunkCount;this.log(`load progress ${a.type} sn: ${a.sn}${r.part?" part: "+r.part.index:""} of ${this.fragInfo(a,!1,r.part)} chunk: ${l}`),this._handleFragmentLoadProgress(r)};this._doFragLoad(e,n,s,i).then((r)=>{if(!r)return;let a=this.state,l=r.frag;if(this.fragContextChanged(l)){if(a===Ve.FRAG_LOADING||!this.fragCurrent&&a===Ve.PARSING)this.fragmentTracker.removeFragment(l),this.state=Ve.IDLE;return}if("payload"in r)this.log(`Loaded ${l.type} sn: ${l.sn} of ${this.playlistLabel()} ${l.level} (bytes ${l.stats.loaded})`),this.hls.trigger(Z.FRAG_LOADED,r);this._handleFragmentLoadComplete(r)}).catch((r)=>{if(this.state===Ve.STOPPED||this.state===Ve.ERROR)return;this.log(`Frag error ${e.type} sn:${e.sn} cc:${e.cc}: ${(r==null?void 0:r.message)||r}`),this.resetFragmentLoading(e)})}clearTrackerIfNeeded(e){var n;let{fragmentTracker:s}=this;if(s.getState(e)===As.APPENDING){let r=e.type,a=this.getFwdBufferInfo(this.mediaBuffer,r),l=Math.max(e.duration,a?a.len:this.config.maxBufferLength),c=this.backtrackFragment;if((c?e.sn-c.sn:0)===1||this.reduceMaxBufferLength(l,e.duration))s.removeFragment(e)}else if(((n=this.mediaBuffer)==null?void 0:n.buffered.length)===0)s.removeAllFragments();else if(s.hasParts(e.type)){if(s.detectPartialFragments({frag:e,part:null,stats:e.stats,id:e.type}),s.getState(e)===As.PARTIAL)s.removeFragment(e)}}checkLiveUpdate(e){if(e.updated&&!e.live){let n=this.fragmentTracker,s=e.fragments[e.fragments.length-1];if(s.endList&&!n.isEndListAppended(this.playlistType)){let i=n.getPartialFragment(s.end);if(i)n.removeFragment(i),n.fragBuffered(s,!0)}n.detectPartialFragments({frag:s,part:null,stats:s.stats,id:s.type})}if(!e.fragments[0])e.deltaUpdateFailed=!0}waitForLive(e){let n=e.details;return(n==null?void 0:n.live)&&n.type!=="EVENT"&&(this.levelLastLoaded!==e||n.expired)}flushMainBuffer(e,n,s=null){if(!(e-n))return;let i={startOffset:e,endOffset:n,type:s};this.hls.trigger(Z.BUFFER_FLUSHING,i)}_loadInitSegment(e){let{hls:n}=this;return this.initFragmentLoader.abort(),n.trigger(Z.FRAG_LOADING,{frag:e,targetBufferTime:0}),this.initFragmentLoader.load(e).then((s)=>{var i;let r=s.frag;if(!this.levels||!zg(r,(i=this.fragCurrent)==null?void 0:i.initSegment))throw new ia({type:Rt.NETWORK_ERROR,details:Le.INTERNAL_ABORTED,error:Error("init load aborted"),fatal:!1,frag:r,networkDetails:null});return s}).then((s)=>{let{frag:i,payload:r}=s,a=i.decryptdata;if(r&&r.byteLength>0&&a!=null&&a.key&&a.iv&&Wc(a.method)){let l=self.performance.now(),{decryptRange:c}=n0(i,null,this.iframesOnly);return this.decrypter.decrypt(new Uint8Array(r),a.key.buffer,a.iv.buffer,I1(a.method),c).catch((f)=>{throw n.trigger(Z.ERROR,{type:Rt.MEDIA_ERROR,details:Le.FRAG_DECRYPT_ERROR,fatal:!1,error:f,reason:f.message,frag:i}),this.fragmentLoader.abort(),f}).then((f)=>{let m=self.performance.now();return n.trigger(Z.FRAG_DECRYPTED,{frag:i,part:null,payload:f,stats:{tstart:l,tdecrypt:m}}),s.payload=f,this.completeInitSegmentLoad(s)})}return this.completeInitSegmentLoad(s)})}completeInitSegmentLoad(e){let n=e.frag.stats;e.frag.data=new Uint8Array(e.payload),n.parsing.start=n.buffering.start=self.performance.now(),n.parsing.end=n.buffering.end=self.performance.now()}loadInitSegmentIfNeeded(e){let{initSegment:n}=e;if(!this.bitrateTest&&_s(e)&&n&&!n.data){var s;return(n.encrypted&&!((s=n.decryptdata)!=null&&s.key)?this.keyLoader.load(n).then(()=>this._loadInitSegment(n)):this._loadInitSegment(n)).catch((r)=>{if(this.state===Ve.STOPPED||this.state===Ve.ERROR)throw r;if("data"in r)r.data.frag=e,this.fragmentLoader.abort(),this.handleFragLoadError(r);throw this.resetFragmentLoading(e),r})}}unhandledEncryptionError(e,n){var s,i;let r=e.tracks;if(r&&!n.encrypted&&((s=r.audio)!=null&&s.encrypted||(i=r.video)!=null&&i.encrypted)&&(!this.config.emeEnabled||!this.keyLoader.emeController)){let a=this.media,l=Error(`Encrypted track with no key in ${this.fragInfo(n)} (media ${a?"attached mediaKeys: "+a.mediaKeys:"detached"})`);if(this.warn(l.message),!a||a.mediaKeys)return!1;return this.hls.trigger(Z.ERROR,{type:Rt.KEY_SYSTEM_ERROR,details:Le.KEY_SYSTEM_NO_KEYS,fatal:!1,error:l,frag:n}),this.resetTransmuxer(),!0}return!1}fragContextChanged(e){let{fragCurrent:n}=this;return!e||!zg(e,n)}fragBufferedComplete(e,n){let s=this.mediaBuffer?this.mediaBuffer:this.media;if(this.log(`Buffered ${e.type} sn: ${e.sn}${n?" part: "+n.index:""} of ${this.fragInfo(e,!1,n)} > buffer:${s?a0(Ft.getBuffered(s)):"(detached)"})`),_s(e)){var i;if(e.type!==Tt.SUBTITLE){let a=e.elementaryStreams;if(!Object.keys(a).some((l)=>!!a[l])){this.state=Ve.IDLE;return}}let r=(i=this.levels)==null?void 0:i[e.level];if(r!=null&&r.fragmentError&&(n||this.fragmentTracker.getState(e)!==As.PARTIAL))this.log(`Resetting level fragment error count of ${r.fragmentError} on frag buffered`),r.fragmentError=0,e.stats.retry=0}this.state=Ve.IDLE}_handleFragmentLoadComplete(e){let{transmuxer:n}=this;if(!n)return;let s=e.frag,{part:i,partsLoaded:r}=e,a=!r||r.length===0||r.some((f)=>!f),{decryptRange:l}=n0(s,i),c=new b0(s.level,s.sn,s.stats.chunkCount+1,0,i?i.index:-1,!a,s.duration,this.iframesOnly,l);this.log(`load complete ${s.type} sn: ${s.sn}${i?" part: "+i.index:""} of ${this.fragInfo(s,!1,i)}`),n.flush(c)}_handleFragmentLoadProgress(e){}loadKeyFor(e,n,s){var i;let r=null;if(e.encrypted&&!((i=e.decryptdata)!=null&&i.key))this.log(`Loading key for ${e.sn} of [${n.startSN}-${n.endSN}], ${this.playlistLabel()} ${e.level}`),this.state=Ve.KEY_LOADING,r=this.keyLoader.load(e,s).then((a)=>{if(!this.fragContextChanged(a.frag)){if(this.hls.trigger(Z.KEY_LOADED,a),this.state===Ve.KEY_LOADING)this.state=Ve.IDLE;return a}}),this.hls.trigger(Z.KEY_LOADING,{frag:e});else if(!e.encrypted){if(r=this.keyLoader.loadClear(e,n.encryptedFragments,this.startFragRequested),r)this.log(`[eme] blocking frag sn: ${e.sn} load until media-keys acquired`)}return r}_doFragLoad(e,n,s=null,i){this.fragCurrent=e;let r=n.details;if(!this.levels||!r)throw Error(`frag load aborted, missing level${r?"":" detail"}s`);let a=this.fragPrevious;if(!lh(e,a)){let v=this.shouldLoadParts(n.details,e.end);if(v!==this.loadingParts)this.log(`LL-Part loading ${v?"ON":"OFF"} loading sn ${a==null?void 0:a.sn}->${e.sn}`),this.loadingParts=v}if(s=Math.max(e.start,s||0),this.loadingParts){let v=r.partList;if(v&&i){if(s>r.fragmentEnd&&r.fragmentHint)e=r.fragmentHint;let k=this.getNextPart(v,e,s);if(k>-1){let T=v[k];if(e=this.fragCurrent=T.fragment,!lh(e,a)&&!this.shouldLoadParts(n.details,e.end))return this.log(`LL-Part loading OFF @${this.playhead} next part: ${this.fragInfo(e,!1,T)}`),this.loadingParts=!1,Promise.resolve(null);if(!this.filterReplacedPrimary(T,n.details))return Promise.resolve(null);let _=this.loadKeyFor(e,r);if(this.fragContextChanged(e))return Promise.resolve(null);this.log(`Loading ${e.type} sn: ${e.sn} part: ${T.index} (${k}/${v.length-1}) of ${this.fragInfo(e,!1,T)} cc: ${e.cc} [${r.startSN}-${r.endSN}], target: ${s}${T.byteRange.length?` range:${T.byteRange.join("-")}`:""}`),this.nextLoadPosition=T.start+T.duration,this.state=Ve.FRAG_LOADING;let P,U=this.loadInitSegmentIfNeeded(e);if(_||U){let z=!!_;P=Promise.all([_,U]).then(([V])=>{if(z&&(!V||this.fragContextChanged(V.frag)))return null;return this.doFragPartsLoad(e,T,n,i)}).catch((V)=>this.handleFragLoadError(V))}else P=this.doFragPartsLoad(e,T,n,i).catch((z)=>this.handleFragLoadError(z));if(this.hls.trigger(Z.FRAG_LOADING,{frag:e,part:T,targetBufferTime:s}),this.fragCurrent===null)return Promise.reject(Error("frag load aborted, context changed in FRAG_LOADING parts"));return P}else if(!e.url||this.loadedEndOfParts(v,s))return Promise.resolve(null)}}if(this.loadingParts){var l;this.log(`LL-Part loading OFF after next part miss @${s} Check buffer at sn: ${e.sn} loaded parts: ${(l=r.partList)==null?void 0:l.filter((v)=>v.loaded).map((v)=>`[${v.start}-${v.end}]`)}`),this.loadingParts=!1}else if(!e.url)return Promise.resolve(null);if(!this.filterReplacedPrimary(e,n.details))return Promise.resolve(null);let c=this.loadInitSegmentIfNeeded(e),f=this.loadKeyFor(e,r,c);if(this.fragContextChanged(e)){var m;return this.log(`Context changed in KEY_LOADING sn: ${e.sn} ${e.relurl} > ${(m=this.fragCurrent)==null?void 0:m.relurl}`),c==null||c.catch(()=>null),f==null||f.catch(()=>null),Promise.resolve(null)}if(this.log(`Loading ${e.type} sn: ${e.sn} of ${this.fragInfo(e,!1)} cc: ${e.cc} ${"["+r.startSN+"-"+r.endSN+"]"}, target: ${s}${e.byteRange.length?` range:${e.byteRange.join("-")}`:""}`),lt(e.sn)&&!this.bitrateTest)this.nextLoadPosition=e.start+e.duration;this.state=Ve.FRAG_LOADING;let g=this.config.progressive&&e.type!==Tt.SUBTITLE,b;if(g&&f)b=f.then((v)=>{if(!v||this.fragContextChanged(v.frag))return null;return this.fragmentLoader.load(e,this.iframesOnly,i,c)}).catch((v)=>this.handleFragLoadError(v));else b=Promise.all([this.fragmentLoader.load(e,this.iframesOnly,g?i:void 0,g?c:void 0),f,c]).then(([v])=>{if(!g&&i)i(v);return v}).catch((v)=>this.handleFragLoadError(v));if(this.hls.trigger(Z.FRAG_LOADING,{frag:e,targetBufferTime:s}),this.fragCurrent===null)return Promise.reject(Error("frag load aborted, context changed in FRAG_LOADING"));return Promise.all([b,c]).then(([v])=>v)}doFragPartsLoad(e,n,s,i){return new Promise((r,a)=>{var l;let c=[],f=(l=s.details)==null?void 0:l.partList,m=(g)=>{this.fragmentLoader.loadPart(e,g,i).then((b)=>{c[g.index]=b;let v=b.part;this.hls.trigger(Z.FRAG_LOADED,b);let k=s3(s.details,e.sn,g.index+1)||G9(f,e.sn,g.index+1);if(k)m(k);else return r({frag:e,part:v,partsLoaded:c})}).catch(a)};m(n)})}handleFragLoadError(e){if("data"in e){let n=e.data;if(n.frag&&n.details===Le.INTERNAL_ABORTED)this.handleFragLoadAborted(n.frag,n.part);else if(n.frag&&n.type===Rt.KEY_SYSTEM_ERROR&&!n.fatal)n.frag.abortRequests(),this.resetStartWhenNotLoaded(),this.resetFragmentLoading(n.frag);this.hls.trigger(Z.ERROR,n)}else this.hls.trigger(Z.ERROR,{type:Rt.OTHER_ERROR,details:Le.INTERNAL_EXCEPTION,err:e,error:e,fatal:!0});return null}_handleTransmuxerFlush(e){let n=this.getCurrentContext(e);if(!n||this.state!==Ve.PARSING){if(!this.fragCurrent&&this.state!==Ve.STOPPED&&this.state!==Ve.ERROR)this.state=Ve.IDLE;return}let{frag:s,part:i,level:r}=n,a=self.performance.now();if(s.stats.parsing.end=a,i)i.stats.parsing.end=a;let l=this.getLevelDetails(),f=l&&s.sn>l.endSN||this.shouldLoadParts(l,s.end);if(f!==this.loadingParts)this.log(`LL-Part loading ${f?"ON":"OFF"} after parsing segment ending @${s.end}`),this.loadingParts=f;this.updateLevelTiming(s,i,r,e)}shouldLoadParts(e,n){if(this.config.lowLatencyMode){if(!e)return this.loadingParts;if(e.partList&&!this.iframesOnly){var s;let i=e.partList[0],r=i.end+(((s=e.fragmentHint)==null?void 0:s.duration)||0);if(n>=r){if(this.playhead>i.start-i.fragment.duration)return!0}}}return!1}getCurrentContext(e){let{levels:n,fragCurrent:s}=this,{level:i,sn:r,part:a}=e;if(!(n!=null&&n[i]))return this.warn(`Levels object was unset while buffering fragment ${r} of ${this.playlistLabel()} ${i}. The current chunk will not be buffered.`),null;let l=n[i],c=l.details,f=a>-1?s3(c,r,a):null,m=f?f.fragment:z9(c,r,s);if(!m)return null;if(s&&s!==m)m.stats=s.stats;return{frag:m,part:f,level:l}}bufferFragmentData(e,n,s,i,r){if(this.state!==Ve.PARSING)return;if(_s(n)&&!this.fragContextChanged(n))this.fragPrevious=n;let{data1:a,data2:l}=e,c=a;if(l)c=Ir(a,l);if(!c.length)return;let f=this.initPTS[n.cc],m=f?-f.baseTime/f.timescale:void 0,g={type:e.type,frag:n,part:s,chunkMeta:i,offset:m,parent:n.type,data:c};if(this.hls.trigger(Z.BUFFER_APPENDING,g),e.dropped&&e.independent&&!s){if(r)return;this.flushBufferGap(n)}}flushBufferGap(e){let n=this.media;if(!n)return;if(!Ft.isBuffered(n,n.currentTime)){this.flushMainBuffer(0,e.start);return}let s=n.currentTime,i=Ft.bufferInfo(n,s,0),r=e.duration,a=Math.min(this.config.maxFragLookUpTolerance*2,r*0.25),l=Math.max(Math.min(e.start-a,i.end-a),s+a);if(e.start-l>a)this.flushMainBuffer(l,e.start)}getFwdBufferInfo(e,n){var s;let i=this.playhead,a=this.lastCurrentTime>i||(s=this.media)!=null&&s.paused?0:this.config.maxBufferHole;return this.getFwdBufferInfoAtPos(e,i,n,a)}getFwdBufferInfoAtPos(e,n,s,i){let r=Ft.bufferInfo(e,n,i);if(r.len===0&&r.nextStart!==void 0){let a=this.fragmentTracker.getBufferedFrag(n,s);if(a&&(r.nextStart<=a.end||a.gap)){let l=Math.max(Math.min(r.nextStart,a.end)-n,i);return Ft.bufferInfo(e,n,l)}}return r}getMaxBufferLength(e){let{config:n}=this,s;if(e)s=Math.max(8*n.maxBufferSize/e,n.maxBufferLength);else s=n.maxBufferLength;return Math.min(s,n.maxMaxBufferLength)}exceedsMaxBuffer(e,n,s){let i=e.nextStart;if(i&&s.start>i){let r=e.buffered;if(r){let{len:a,bufferedIndex:l}=e;for(let c=r.length-1;c>l;c--)if(r[c].start<s.start)a+=r[c].end-r[c].start;return a>=n}}return!1}reduceMaxBufferLength(e,n){let s=this.config,i=Math.max(Math.min(e-n,s.maxBufferLength),n/2),r=Math.max(e-n*3,s.maxMaxBufferLength/2,i);if(r>=i)return s.maxMaxBufferLength=r,this.warn(`Reduce max buffer length to ${r}s`),!0;return!1}getAppendedFrag(e){let n=this.fragmentTracker?this.fragmentTracker.getAppendedFrag(e,this.playlistType):null;if(n&&"fragment"in n)return n.fragment;return n}getNextFragment(e,n){let s=n.fragments,i=s.length;if(!i)return null;let{config:r}=this,a=n.fragmentStart,l=r.lowLatencyMode&&!!n.partList,c=null;if(n.live){let g=r.initialLiveManifestSize;if(i<g)return this.warn(`Not enough fragments to start playback (have: ${i}, need: ${g})`),null;if(!this.startFragRequested&&l&&!this.loadingParts)this.log("LL-Part loading ON for initial live fragment"),this.loadingParts=!0;if(!n.PTSKnown&&!this.startFragRequested&&this.startPosition===-1||e<a){var f;c=this.getInitialLiveFragment(n);let b=this.config.startPosition,v=this.hls.startPosition,k=this.hls.liveSyncPosition,T=((f=c)==null?void 0:f.start)||0,_,P;if(v!==-1&&v>=a)_=v,P=v===b?"config":"next load start";else if(k)_=k,P="live edge";else _=e,P="buffer pos";if(_<T)_=T,P="live frag start";if(_<a)_=a,P="playlist start";if(this.startPosition!=_||this.nextLoadPosition!=_){let z=n.live&&!this.filterReplacedPrimary(c,n)?-1:_;this.log(`Setting startPosition to ${z} next load ${_} ${v===-1?"":`(from ${b}) `}based on ${P}. live edge: ${k} live frag start: ${T} playlist start: ${a} buffer pos: ${e}`),this.startPosition=z,this.nextLoadPosition=_}}}else if(e<=a)c=s[0];if(!c){let g=this.loadingParts?n.partEnd:n.fragmentEnd;c=this.getFragmentAtPosition(e,g,n)}let m=this.filterReplacedPrimary(c,n);if(!m&&c){if(m=E9(n,c.sn),m)this.nextLoadPosition=m.start}return m}isLoopLoading(e,n){if(this.nextLoadPosition<=n)return!1;let s=this.fragmentTracker.getState(e);if(s===As.OK)return!0;if(s===As.PARTIAL){if(e.gap)return!0;if(e.stats.retry>1)return!0}return!1}getNextFragmentLoopLoading(e,n,s,i,r){let a=null;if(e.gap){if(a=this.getNextFragment(this.nextLoadPosition,n),a&&!a.gap&&s.nextStart){let l=this.getFwdBufferInfoAtPos(this.mediaBuffer?this.mediaBuffer:this.media,s.nextStart,i,0);if(l!==null&&s.len+l.len>=r){let c=a.sn;if(this.loopSn!==c)this.log(`buffer full after gaps in "${i}" playlist starting at sn: ${c}`),this.loopSn=c;return null}}}return this.loopSn=void 0,a}get primaryPrefetch(){if(o0(this.config)){var e;if((e=this.hls.interstitialsManager)==null||(e=e.playingItem)==null?void 0:e.event)return!0}return!1}filterReplacedPrimary(e,n){if(!e)return e;if(o0(this.config)&&("type"in e?e:e.fragment).type!==Tt.SUBTITLE){let s=this.hls.interstitialsManager,i=s==null?void 0:s.bufferingItem;if(i){let r=i.event;if(r){if(!r.appendInPlace&&(Math.abs(e.start-i.start)>1||i.start===0))return null}else{if(e.end<=i.start&&(n==null?void 0:n.live)===!1)return null;if(e.start>=i.end&&i.nextEvent){if(i.nextEvent.appendInPlace&&!i.nextEvent.hasPlayed||e.start-i.end>1)return null}}}if(X9(e,s==null?void 0:s.playerQueue,this.playhead))return null}return e}getNextPart(e,n,s){let i=-1,r=!1,a=!0;for(let c=0,f=e.length;c<f;c++){let m=e[c];if(a=a&&!m.independent,i>-1&&s<m.start)break;let g=m.loaded||m.gap;if(g)i=-1;else if(r||(m.independent||a)&&m.fragment===n)i=c;r=g&&!m.gap}let l=e[i];if(l&&l.fragment!==n)this.log(`Need buffer at ${s} but next unloaded part starts at ${l.start} (sn: ${n.sn} -> ${l.fragment.sn})`);return i}loadedEndOfParts(e,n){let s;for(let i=e.length;i--;){if(s=e[i],!s.loaded)return!1;if(n>s.start)return!0}return!1}getInitialLiveFragment(e){let n=e.fragments,s=this.fragPrevious,i=null;if(s){if(e.hasProgramDateTime){if(i=mE(n,s.endProgramDateTime,this.config.maxFragLookUpTolerance),i)this.log(`Live playlist, switching playlist, load frag with same PDT: ${s.programDateTime}`)}if(!i){let r=s.sn+1;if(r>=e.startSN&&r<=e.endSN){let a=n[r-e.startSN];if(s.cc===a.cc)i=a,this.log(`Live playlist, switching playlist, load frag with next SN: ${i.sn}`)}if(!i){if(i=T9(e,s.cc,s.end),i)this.log(`Live playlist, switching playlist, load frag with same CC: ${i.sn}`)}}}else{let r=this.hls.liveSyncPosition;if(r!==null)i=this.getFragmentAtPosition(r,this.bitrateTest?e.fragmentEnd:e.edge,e)}return i}getFragmentAtPosition(e,n,s){let{config:i}=this,{fragPrevious:r}=this,{fragments:a,endSN:l}=s,{fragmentHint:c}=s,{maxFragLookUpTolerance:f}=i,m=s.partList,g=!!(this.loadingParts&&m!=null&&m.length&&c);if(g&&!this.bitrateTest&&m[m.length-1].fragment.sn===c.sn)a=a.concat(c),l=c.sn;if(r&&this.fragmentTracker.getState(r)===As.NOT_LOADED)r=null;let b;if(e<n){var v;let T=e<this.lastCurrentTime||e>n-f||(v=this.media)!=null&&v.paused||!this.startFragRequested?0:f;b=Zc(r,a,e,T)}else b=a[a.length-1];if(b){let k=b.sn-s.startSN,T=this.fragmentTracker.getState(b);if(T===As.OK||T===As.PARTIAL&&b.gap)r=b;if(lh(b,r)&&(!g||m[0].fragment.sn>b.sn||!s.live)){let _=a[k+1];if(b.sn<l&&this.fragmentTracker.getState(_)!==As.OK)b=_;else b=null}}return b}alignPlaylists(e,n,s){let i=e.fragments.length;if(!i)return this.warn("No fragments in live playlist"),0;let r=e.fragmentStart,a=!n,l=e.alignedSliding&&lt(r);if(a||!l&&!r){r0(s,e,this);let c=e.fragmentStart;return this.log(`Live playlist sliding: ${c} start-sn: ${n?n.startSN:"na"}->${e.startSN} fragments: ${i}`),c}return r}waitForCdnTuneIn(e){return e.live&&e.canBlockReload&&e.partTarget&&e.tuneInGoal>Math.max(e.partHoldBack,e.partTarget*3)}setStartPosition(e,n){let s=this.startPosition;if(s<n)s=-1;let i=this.timelineOffset;if(s===-1){let r=this.startTimeOffset!==null,a=r?this.startTimeOffset:e.startTimeOffset;if(a!==null&&lt(a)){if(s=n+a,a<0)s+=e.edge;s=Math.min(Math.max(n,s),n+e.totalduration),this.log(`Setting startPosition to ${s} for start time offset ${a} found in ${r?"multivariant":"media"} playlist`),this.startPosition=s}else if(e.live){let l=this.hls.liveSyncPosition;s=l||n,this.log(`Setting startPosition to -1 to start at ${l?"live edge":"playlist start"} ${s}`),this.startPosition=-1}else this.log("setting startPosition to 0 by default"),this.startPosition=s=0;this.lastCurrentTime=s+i}this.nextLoadPosition=s+i}getLoadPosition(){var e;let{media:n}=this,s=0;if((e=this.hls)!=null&&e.hasEnoughToStart&&n&&!this.iframesOnly)s=n.currentTime;else if(this.nextLoadPosition>=0)s=this.nextLoadPosition;return s}get playhead(){var e;if((e=this.hls)!=null&&e.hasEnoughToStart){var n;let s=(n=this.media)==null?void 0:n.currentTime;if(lt(s))return s;return this.lastCurrentTime}return this.getLoadPosition()}get iframesOnly(){var e;if(this.playlistType!==Tt.MAIN)return!1;let n=this.getLevelDetails();if(n)return n.iframesOnly;return(e=this.levelLastLoaded)==null?void 0:e.iframes}handleFragLoadAborted(e,n){if(this.transmuxer&&e.type===this.playlistType&&_s(e)&&e.stats.aborted)this.log(`Fragment ${e.sn}${n?" part "+n.index:""} of ${this.playlistLabel()} ${e.level} was aborted`),this.resetFragmentLoading(e)}resetFragmentLoading(e){if(!this.fragCurrent||!this.fragContextChanged(e)&&this.state!==Ve.FRAG_LOADING_WAITING_RETRY)this.state=Ve.IDLE}onFragmentOrKeyLoadError(e,n){if(n.chunkMeta&&!n.frag){let U=this.getCurrentContext(n.chunkMeta);if(U)n.frag=U.frag}let{frag:s,part:i}=n;if(!s||!this.levels||s.type!==e)return;if(this.fragContextChanged(s)){var r;this.warn(`Frag load error must match current frag to retry ${s.relurl} > ${(r=this.fragCurrent)==null?void 0:r.relurl}`);return}let a=n.details===Le.FRAG_GAP;if(a)this.fragmentTracker.addAsGap(s);let l=n.errorAction;if(!l){this.state=Ve.ERROR;return}let{action:c,flags:f,retryCount:m=0,retryConfig:g}=l,b=!!g,v=b&&c===fi.RetryRequest,k=b&&!l.resolved&&f&ci.MoveAllAlternatesMatchingHost,T=this.hls.latestLevelDetails,_=T==null?void 0:T.live;if(!v&&k&&_s(s)&&_&&s.sn<T.endSN&&!X3(n)){if(this.resetFragmentErrors(e),i)i.gap=!0;else this.treatAsGap(s);l.resolved=!0}else if((v||k)&&m<g.maxNumRetry){var P;let U=wh((P=n.response)==null?void 0:P.code),z=v1(g,m);if(this.resetStartWhenNotLoaded(),this.retryDate=self.performance.now()+z,this.state=Ve.FRAG_LOADING_WAITING_RETRY,l.resolved=!0,U){this.log("Waiting for connection (offline)"),this.retryDate=1/0,n.reason="offline";return}this.warn(`Fragment ${s.sn} of ${e} ${s.level} errored with ${n.details}, retrying loading ${m+1}/${g.maxNumRetry} in ${z}ms`)}else if(g)if(this.resetFragmentErrors(e),m<g.maxNumRetry){if(!a&&c!==fi.RemoveAlternatePermanently)l.resolved=!0}else{this.warn(`${n.details} reached or exceeded max retry (${m})`);return}else if(c===fi.SendAlternateToPenaltyBox)this.state=Ve.WAITING_LEVEL;else this.state=Ve.ERROR;this.tickImmediate()}checkRetryDate(){let e=self.performance.now(),n=this.retryDate,s=n===1/0;if(!n||e>=n||s&&!wh(0)){if(s)this.log("Connection restored (online)");this.resetStartWhenNotLoaded(),this.state=Ve.IDLE}}reduceLengthAndFlushBuffer(e){if(this.state===Ve.PARSING||this.state===Ve.PARSED){let{frag:n,parent:s}=e,i=this.getFwdBufferInfo(this.mediaBuffer,s),r=i&&i.len>0.5;if(r)this.reduceMaxBufferLength(i.len,(n==null?void 0:n.duration)||10);let a=!r;if(a)this.warn(`Buffer full error while media.currentTime (${this.playhead}) is not buffered, flush ${s} buffer`);else if(i.nextStart&&n&&i.nextStart>n.start)this.flushMainBuffer(i.nextStart,Number.POSITIVE_INFINITY,s===Tt.AUDIO?s:void 0);if(n)this.fragmentTracker.removeFragment(n),this.nextLoadPosition=n.start;return this.resetLoadingState(),a}return!1}resetFragmentErrors(e){if(e===Tt.AUDIO)this.fragCurrent=null;if(!this.hls.hasEnoughToStart)this.startFragRequested=!1;if(this.state!==Ve.STOPPED)this.state=Ve.IDLE}afterBufferFlushed(e,n){if(!e)return;let s=Ft.getBuffered(e);if(this.fragmentTracker.detectEvictedFragments(n,s,this.playlistType),this.state===Ve.ENDED)this.resetLoadingState()}resetLoadingState(){if(this.log("Reset loading state"),this.fragCurrent=null,this.fragPrevious=null,this.state!==Ve.STOPPED)this.state=Ve.IDLE}resetStartWhenNotLoaded(){if(!this.hls.hasEnoughToStart){this.startFragRequested=!1;let e=this.getLevelDetails();if(e!=null&&e.live)this.log("resetting startPosition for live start"),this.startPosition=-1,this.setStartPosition(e,e.fragmentStart),this.resetLoadingState();else this.nextLoadPosition=this.startPosition}}resetWhenMissingContext(e){this.log(`Loading context changed while buffering sn ${e.sn} of ${this.playlistLabel()} ${e.level===-1?"<removed>":e.level}. This chunk will not be buffered.`),this.removeUnbufferedFrags(),this.resetStartWhenNotLoaded(),this.resetLoadingState()}removeUnbufferedFrags(e=0){this.fragmentTracker.removeFragmentsInRange(e,1/0,this.playlistType,!1,!0)}updateLevelTiming(e,n,s,i){let r=s.details;if(!r){this.warn("level.details undefined");return}if(this.log(`update level timing ${e.type} sn: ${e.sn}${n?" part: "+n.index:""} of ${this.fragInfo(e,!1,n)}`),!Object.keys(e.elementaryStreams).reduce((g,b)=>{let v=e.elementaryStreams[b];if(v){let k=v.endPTS-v.startPTS;if(k<=0)return this.warn(`Could not parse fragment ${e.sn} ${b} duration reliably (${k})`),g||!1;let T=i.partial?0:B9(r,e,v.startPTS,v.endPTS,v.startDTS,v.endDTS,this.iframesOnly,this);return this.hls.trigger(Z.LEVEL_PTS_UPDATED,{details:r,level:s,drift:T,type:b,frag:e,start:v.startPTS,end:v.endPTS}),!0}return g},!1)){var l,c,f,m;let g=((l=this.transmuxer)==null?void 0:l.error)===null,b=((c=this.transmuxer)==null?void 0:c.error)!=null,v=((f=(m=this.levels)==null?void 0:m.length)!=null?f:0)>1;if(s.fragmentError===0||g&&(s.fragmentError<2||e.endList)||b&&v)this.treatAsGap(e,s);if(g){let k=Error(`Found no media in ${this.playlistLabel()} ${e.level} ${n?`part: ${n.index} of `:""}sn: ${e.sn} at playlist time: ${e.start}. Resetting transmuxer to fallback to playlist timing`);if(this.warn(k.message),this.hls.trigger(Z.ERROR,{type:Rt.MEDIA_ERROR,details:Le.FRAG_PARSING_ERROR,fatal:!1,error:k,frag:e,reason:`Found no media in msn ${e.sn} of ${this.playlistLabel()} "${s.url}"`}),!this.hls)return;this.resetTransmuxer()}}this.state=Ve.PARSED,this.log(`Parsed ${e.type} sn: ${e.sn}${n?" part: "+n.index:""} of ${this.fragInfo(e,!1,n)}`),this.hls.trigger(Z.FRAG_PARSED,{frag:e,part:n,chunkMeta:i})}playlistLabel(){return`${this.playlistType} playlist`}fragInfo(e,n=!0,s){var i,r;return`${this.playlistLabel()} ${e.level} (${s?"part":"frag"}:[${(i=n&&!s?e.startPTS:(s||e).start)!=null?i:NaN}-${(r=n&&!s?e.endPTS:(s||e).end)!=null?r:NaN}]${s&&e.type==="main"?"INDEPENDENT="+(s.independent?"YES":"NO"):""})`}treatAsGap(e,n){if(n)n.fragmentError++;this.fragmentTracker.addAsGap(e)}resetTransmuxer(){var e;(e=this.transmuxer)==null||e.reset()}isFragmentNearlyDownloaded(e){var n;let s=(n=e.loader)==null?void 0:n.stats;if(!s)return!1;let i=s.loading.first>0,a=(s.total-s.loaded)/(this.hls.bandwidthEstimate||this.hls.config.abrEwmaDefaultEstimate);return i&&a<=0.15}recoverWorkerError(e){if(e.event==="demuxerWorker"){if(this.fragmentTracker.removeAllFragments(),this.transmuxer)this.transmuxer.destroy(),this.transmuxer=null;this.resetStartWhenNotLoaded(),this.resetLoadingState()}}set state(e){let n=this._state;if(n!==e)this._state=e,this.log(`${n}->${e}`)}get state(){return this._state}calculateOptimalSwitchPoint(e,n){let s=0,{hls:i,media:r,config:a,levels:l,playlistType:c}=this,f=this.getLevelDetails();if(r&&!r.paused&&l){var m;let v=c===Tt.AUDIO?y9(e.audioCodec,128000):e.maxBitrate,k=1+i.ttfbEstimate/1000,T=i.bandwidthEstimate*a.abrBandWidthUpFactor,_=f&&(this.loadingParts?f.partTarget:f.averagetargetduration)||((m=this.fragCurrent)==null?void 0:m.duration)||6;if(s=k+v*_/T,!e.details)s+=k}let g=this.playhead,b=!(f!=null&&f.live)||n.end-g>s*1.5;return{fetchdelay:s,okToFlushForwardBuffer:b}}scheduleTrackSwitch(e,n,s){let{media:i,playlistType:r}=this;if(!i||!e)return;let a=s?this.getBufferedFrag(this.playhead+n):null;if(a){let c=this.followingBufferedFrag(a);if(c){var l;this.abortCurrentFrag();let f=c.maxStartPTS?c.maxStartPTS:c.start,m=c.duration,g=Math.max(a.end,f+Math.min(Math.max(m-this.config.maxFragLookUpTolerance,m*(this.couldBacktrack?0.5:0.125)),m*(this.couldBacktrack?0.75:0.25)));if((((l=this.getLevelDetails())==null?void 0:l.fragmentStart)||0)>g)return;let v=r===Tt.MAIN?null:"audio";this.flushMainBuffer(g,Number.POSITIVE_INFINITY,v),this.cleanupBackBuffer()}}}cleanupBackBuffer(){let{media:e,playlistType:n}=this;if(!e)return;let s=this.getAppendedFrag(this.playhead);if(s&&s.start>1){let i=n===Tt.AUDIO;this.flushMainBuffer(0,s.start-(i?0:1),i?"audio":null)}}getBufferedFrag(e){return this.fragmentTracker.getBufferedFrag(e,this.playlistType)}followingBufferedFrag(e){if(e)return this.getBufferedFrag(e.end+0.5);return null}abortCurrentFrag(){let e=this.fragCurrent;if(this.fragCurrent=null,e)e.abortRequests(),this.fragmentTracker.removeFragment(e);switch(this.state){case Ve.KEY_LOADING:case Ve.FRAG_LOADING:case Ve.FRAG_LOADING_WAITING_RETRY:case Ve.PARSING:case Ve.PARSED:this.state=Ve.IDLE;break}this.nextLoadPosition=this.playhead}checkFragPlaying(){let e=this.media,n=null;if(e&&e.readyState>1&&e.seeking===!1){let s=e.currentTime;if(Ft.isBuffered(e,s))n=this.getAppendedFrag(s);else if(Ft.isBuffered(e,s+0.1))n=this.getAppendedFrag(s+0.1);if(n){if(this.backtrackFragment=void 0,!lh(n,this.fragPlaying))return this.fragPlaying=n,!0}}return!1}getBufferOutput(){return null}nextLevelSwitch(){let{levels:e,media:n,hls:s,config:i,playlistType:r}=this;if(n!=null&&n.readyState&&e&&s&&i){let a=this.getBufferOutput(),l=this.getFwdBufferInfo(a,r);if(!l)return;let c=r===Tt.AUDIO?s.nextAudioTrack:s.nextLoadLevel,f=e[c],{fetchdelay:m,okToFlushForwardBuffer:g}=this.calculateOptimalSwitchPoint(f,l);this.scheduleTrackSwitch(l,m,g)}this.tickImmediate()}}function X9(e,n,s){if(n)for(let i=n.length;i--;){let r=n[i].interstitial,a=r.startTime,l=Math.min(a+r.duration,r.resumeTime);if(r.appendInPlace){if(e.start>=a&&e.end<=l)return!0;if(s>e.start&&e.end>a&&e.start<l)return!0}}return!1}function o0(e){return!!e.interstitialsController&&e.enableInterstitialPlayback!==!1}class D1{constructor(){this.chunks=[],this.dataLength=0}push(e){this.chunks.push(e),this.dataLength+=e.length}flush(){let{chunks:e,dataLength:n}=this,s;if(!e.length)return new Uint8Array(0);else if(e.length===1)s=e[0];else s=$E(e,n);return this.reset(),s}reset(){this.chunks.length=0,this.dataLength=0}}function $E(e,n){let s=new Uint8Array(n),i=0;for(let r=0;r<e.length;r++){let a=e[r];s.set(a,i),i+=a.length}return s}var Eg={exports:{}},a3;function XE(){if(a3)return Eg.exports;return a3=1,function(e){var n=Object.prototype.hasOwnProperty,s="~";function i(){}if(Object.create){if(i.prototype=Object.create(null),!new i().__proto__)s=!1}function r(f,m,g){this.fn=f,this.context=m,this.once=g||!1}function a(f,m,g,b,v){if(typeof g!=="function")throw TypeError("The listener must be a function");var k=new r(g,b||f,v),T=s?s+m:m;if(!f._events[T])f._events[T]=k,f._eventsCount++;else if(!f._events[T].fn)f._events[T].push(k);else f._events[T]=[f._events[T],k];return f}function l(f,m){if(--f._eventsCount===0)f._events=new i;else delete f._events[m]}function c(){this._events=new i,this._eventsCount=0}c.prototype.eventNames=function(){var m=[],g,b;if(this._eventsCount===0)return m;for(b in g=this._events)if(n.call(g,b))m.push(s?b.slice(1):b);if(Object.getOwnPropertySymbols)return m.concat(Object.getOwnPropertySymbols(g));return m},c.prototype.listeners=function(m){var g=s?s+m:m,b=this._events[g];if(!b)return[];if(b.fn)return[b.fn];for(var v=0,k=b.length,T=Array(k);v<k;v++)T[v]=b[v].fn;return T},c.prototype.listenerCount=function(m){var g=s?s+m:m,b=this._events[g];if(!b)return 0;if(b.fn)return 1;return b.length},c.prototype.emit=function(m,g,b,v,k,T){var _=s?s+m:m;if(!this._events[_])return!1;var P=this._events[_],U=arguments.length,z,V;if(P.fn){if(P.once)this.removeListener(m,P.fn,void 0,!0);switch(U){case 1:return P.fn.call(P.context),!0;case 2:return P.fn.call(P.context,g),!0;case 3:return P.fn.call(P.context,g,b),!0;case 4:return P.fn.call(P.context,g,b,v),!0;case 5:return P.fn.call(P.context,g,b,v,k),!0;case 6:return P.fn.call(P.context,g,b,v,k,T),!0}for(V=1,z=Array(U-1);V<U;V++)z[V-1]=arguments[V];P.fn.apply(P.context,z)}else{var X=P.length,J;for(V=0;V<X;V++){if(P[V].once)this.removeListener(m,P[V].fn,void 0,!0);switch(U){case 1:P[V].fn.call(P[V].context);break;case 2:P[V].fn.call(P[V].context,g);break;case 3:P[V].fn.call(P[V].context,g,b);break;case 4:P[V].fn.call(P[V].context,g,b,v);break;default:if(!z)for(J=1,z=Array(U-1);J<U;J++)z[J-1]=arguments[J];P[V].fn.apply(P[V].context,z)}}}return!0},c.prototype.on=function(m,g,b){return a(this,m,g,b,!1)},c.prototype.once=function(m,g,b){return a(this,m,g,b,!0)},c.prototype.removeListener=function(m,g,b,v){var k=s?s+m:m;if(!this._events[k])return this;if(!g)return l(this,k),this;var T=this._events[k];if(T.fn){if(T.fn===g&&(!v||T.once)&&(!b||T.context===b))l(this,k)}else{for(var _=0,P=[],U=T.length;_<U;_++)if(T[_].fn!==g||v&&!T[_].once||b&&T[_].context!==b)P.push(T[_]);if(P.length)this._events[k]=P.length===1?P[0]:P;else l(this,k)}return this},c.prototype.removeAllListeners=function(m){var g;if(m){if(g=s?s+m:m,this._events[g])l(this,g)}else this._events=new i,this._eventsCount=0;return this},c.prototype.off=c.prototype.removeListener,c.prototype.addListener=c.prototype.on,c.prefixed=s,c.EventEmitter=c,e.exports=c}(Eg),Eg.exports}var WE=XE(),q1=VA(WE),Ah="1.7.3",ef={};function KE(){return typeof __HLS_WORKER_BUNDLE__==="function"}function YE(){let e=ef[Ah];if(e)return e.clientCount++,e;let n=new self.Blob([`var exports={};var module={exports:exports};function define(f){f()};define.amd=true;(${__HLS_WORKER_BUNDLE__.toString()})(true);`],{type:"text/javascript"}),s=self.URL.createObjectURL(n),r={worker:new self.Worker(s),objectURL:s,clientCount:1};return ef[Ah]=r,r}function QE(e){let n=ef[e];if(n)return n.clientCount++,n;let s=new self.URL(e,self.location.href).href,r={worker:new self.Worker(s),scriptURL:s,clientCount:1};return ef[e]=r,r}function JE(e){let n=ef[e||Ah];if(n){if(n.clientCount--===1){let{worker:i,objectURL:r}=n;if(delete ef[e||Ah],r)self.URL.revokeObjectURL(r);i.terminate()}}}function ZE(e,n,s,i){let r=[96000,88200,64000,48000,44100,32000,24000,22050,16000,12000,11025,8000,7350],a=n[s+2],l=a>>2&15;if(l>12){let P=Error(`invalid ADTS sampling index:${l}`);e.emit(Z.ERROR,Z.ERROR,{type:Rt.MEDIA_ERROR,details:Le.FRAG_PARSING_ERROR,fatal:!0,error:P,reason:P.message});return}let c=(a>>6&3)+1,f=n[s+3]>>6&3|(a&1)<<2,m=r[l],g=l;if(c===5||c===29)g-=3;let b,v=(g&14)>>1,k=(g&1)<<7|f<<3,T=0;if(c===1&&l>=6){T=5;let P=l-3;b=[T<<3|v,k|(P&14)>>1,(P&1)<<7|8,0]}else b=[c<<3|v,k];let _="mp4a.40."+(T||c);return Cn.log(`manifest codec:${i}, parsed codec:${_}, channels:${f}, rate:${m} (ADTS object type:${c} sampling index:${l} esds config:[${b.join(",")}])`),{config:b,samplerate:m,channelCount:f,codec:_,parsedCodec:_,manifestCodec:i}}function W9(e,n){return e[n]===255&&(e[n+1]&246)===240}function K9(e,n){return e[n+1]&1?7:9}function M1(e,n){return(e[n+3]&3)<<11|e[n+4]<<3|(e[n+5]&224)>>>5}function eC(e,n){return n+5<e.length}function l0(e,n){return n+1<e.length&&W9(e,n)}function tC(e,n){return eC(e,n)&&W9(e,n)&&M1(e,n)<=e.length-n}function nC(e,n){if(l0(e,n)){let s=K9(e,n);if(n+s>=e.length)return!1;let i=M1(e,n);if(i<=s)return!1;let r=n+i;return r===e.length||l0(e,r)}return!1}function Y9(e,n,s,i,r){if(!e.samplerate){let a=ZE(n,s,i,r);if(!a)return;Nn(e,a)}}function Q9(e){return 92160000/e}function sC(e,n){let s=K9(e,n);if(n+s<=e.length){let i=M1(e,n)-s;if(i>0)return{headerLength:s,frameLength:i}}}function J9(e,n,s,i,r){let a=Q9(e.samplerate),l=i+r*a,c=sC(n,s),f;if(c){let{frameLength:b,headerLength:v}=c,k=v+b,T=Math.max(0,s+k-n.length);if(T)f=new Uint8Array(k-v),f.set(n.subarray(s+v,n.length),0);else f=n.subarray(s+v,s+k);let _={unit:f,pts:l};if(!T)e.samples.push(_);return{sample:_,length:k,missing:T}}let m=n.length-s;return f=new Uint8Array(m),f.set(n.subarray(s,n.length),0),{sample:{unit:f,pts:l},length:m,missing:-1}}var Fi=function(e){return e.audioId3="org.id3",e.dateRange="com.apple.quicktime.HLS",e.emsg="https://aomedia.org/emsg/ID3",e.misbklv="urn:misb:KLV:bin:1910.1",e}({});function Aa(e="",n=90000){return{type:e,id:-1,pid:-1,inputTimeScale:n,sequenceNumber:-1,samples:[],dropped:0}}class y0{constructor(){this._audioTrack=void 0,this._id3Track=void 0,this.frameIndex=0,this.cachedData=null,this.basePTS=null,this.initPTS=null,this.lastPTS=null}resetInitSegment(e,n,s,i){this._id3Track={type:"id3",id:3,pid:-1,inputTimeScale:90000,sequenceNumber:0,samples:[],dropped:0}}resetTimeStamp(e){this.initPTS=e,this.resetContiguity()}resetContiguity(){this.basePTS=null,this.lastPTS=null,this.frameIndex=0}canParse(e,n){return!1}appendFrame(e,n,s){}demux(e,n){if(this.cachedData)e=Ir(this.cachedData,e),this.cachedData=null;let s=yh(e,0),i=s?s.length:0,r,a=this._audioTrack,l=this._id3Track,c=s?k1(s):void 0,f=e.length;if(this.basePTS===null||this.frameIndex===0&&lt(c))this.basePTS=iC(c,n,this.initPTS),this.lastPTS=this.basePTS;if(this.lastPTS===null)this.lastPTS=this.basePTS;if(s&&s.length>0)l.samples.push({pts:this.lastPTS,dts:this.lastPTS,data:s,type:Fi.audioId3,duration:Number.POSITIVE_INFINITY});while(i<f){if(this.canParse(e,i)){let m=this.appendFrame(a,e,i);if(m)this.frameIndex++,this.lastPTS=m.sample.pts,i+=m.length,r=i;else i=f}else if(lT(e,i))s=yh(e,i),l.samples.push({pts:this.lastPTS,dts:this.lastPTS,data:s,type:Fi.audioId3,duration:Number.POSITIVE_INFINITY}),i+=s.length,r=i;else i++;if(i===f&&r!==f){let m=e.slice(r);if(this.cachedData)this.cachedData=Ir(this.cachedData,m);else this.cachedData=m}}return{audioTrack:a,videoTrack:Aa(),id3Track:l,textTrack:Aa()}}demuxSampleAes(e,n,s){return Promise.reject(Error(`[${this}] This demuxer does not support Sample-AES decryption`))}flush(e){let n=this.cachedData;if(n)this.cachedData=null,this.demux(n,0);return{audioTrack:this._audioTrack,videoTrack:Aa(),id3Track:this._id3Track,textTrack:Aa()}}destroy(){this.cachedData=null,this._audioTrack=this._id3Track=void 0}}var iC=(e,n,s)=>{if(lt(e))return e*90;let i=s?s.baseTime*90000/s.timescale:0;return n*90000+i},rC=[32,64,96,128,160,192,224,256,288,320,352,384,416,448,32,48,56,64,80,96,112,128,160,192,224,256,320,384,32,40,48,56,64,80,96,112,128,160,192,224,256,320,32,48,56,64,80,96,112,128,144,160,176,192,224,256,8,16,24,32,40,48,56,64,80,96,112,128,144,160],aC=[44100,48000,32000,22050,24000,16000,11025,12000,8000],oC=[[0,72,144,12],[0,0,0,0],[0,72,144,12],[0,144,144,12]],lC=[0,1,1,4];function Z9(e,n,s,i,r){if(s+24>n.length)return;let a=e6(n,s);if(a&&s+a.frameLength<=n.length){let l=a.samplesPerFrame*90000/a.sampleRate,c=i+r*l,f={unit:n.subarray(s,s+a.frameLength),pts:c,dts:c};return e.config=[],e.channelCount=a.channelCount,e.samplerate=a.sampleRate,e.samples.push(f),{sample:f,length:a.frameLength,missing:0}}}function e6(e,n){let s=e[n+1]>>3&3,i=e[n+1]>>1&3,r=e[n+2]>>4&15,a=e[n+2]>>2&3;if(s!==1&&r!==0&&r!==15&&a!==3){let l=e[n+2]>>1&1,c=e[n+3]>>6,f=s===3?3-i:i===3?3:4,m=rC[f*14+r-1]*1000,b=aC[(s===3?0:s===2?1:2)*3+a],v=c===3?1:2,k=oC[s][i],T=lC[i],_=k*8*T,P=Math.floor(k*m/b+l)*T,U=uh();if(!!U&&U<=87&&i===2&&m>=224000&&c===0)e[n+3]=e[n+3]|128;return{sampleRate:b,channelCount:v,frameLength:P,samplesPerFrame:_}}}function F1(e,n){return e[n]===255&&(e[n+1]&224)===224&&(e[n+1]&6)!==0}function t6(e,n){return n+1<e.length&&F1(e,n)}function cC(e,n){return F1(e,n)&&4<=e.length-n}function n6(e,n){if(n+1<e.length&&F1(e,n)){let i=e6(e,n),r=4;if(i!=null&&i.frameLength)r=i.frameLength;let a=n+r;return a===e.length||t6(e,a)}return!1}class L1{constructor(e,n,s){this.keyData=void 0,this.decrypter=void 0,this.keyData=s,this.decrypter=new g0(n,!0)}decryptBuffer(e){return this.decrypter.decrypt(e,this.keyData.key.buffer,this.keyData.iv.buffer,ol.cbc,{start:0,end:e.byteLength})}decryptAacSample(e,n,s){let i=e[n].unit;if(i.length<=16)return;let r=i.subarray(16,i.length-i.length%16),a=r.buffer.slice(r.byteOffset,r.byteOffset+r.length);this.decryptBuffer(a).then((l)=>{let c=new Uint8Array(l);if(i.set(c,16),!this.decrypter.isSync())this.decryptAacSamples(e,n+1,s)}).catch(s)}decryptAacSamples(e,n,s){for(;;n++){if(n>=e.length){s();return}if(e[n].unit.length<32)continue;if(this.decryptAacSample(e,n,s),!this.decrypter.isSync())return}}getAvcEncryptedData(e){let n=Math.floor((e.length-48)/160)*16+16,s=new Int8Array(n),i=0;for(let r=32;r<e.length-16;r+=160,i+=16)s.set(e.subarray(r,r+16),i);return s}getAvcDecryptedUnit(e,n){let s=new Uint8Array(n),i=0;for(let r=32;r<e.length-16;r+=160,i+=16)e.set(s.subarray(i,i+16),r);return e}decryptAvcSample(e,n,s,i,r){let a=u9(r.data),l=this.getAvcEncryptedData(a);this.decryptBuffer(l.buffer).then((c)=>{if(r.data=this.getAvcDecryptedUnit(a,c),!this.decrypter.isSync())this.decryptAvcSamples(e,n,s+1,i)}).catch(i)}decryptAvcSamples(e,n,s,i){if(e instanceof Uint8Array)throw Error("Cannot decrypt samples of type Uint8Array");for(;;n++,s=0){if(n>=e.length){i();return}let r=e[n].units;for(;;s++){if(s>=r.length)break;let a=r[s];if(a.data.length<=48||a.type!==1&&a.type!==5)continue;if(this.decryptAvcSample(e,n,s,i,a),!this.decrypter.isSync())return}}}}class s6 extends y0{constructor(e,n){super();this.observer=void 0,this.config=void 0,this.sampleAes=null,this.observer=e,this.config=n}resetInitSegment(e,n,s,i){super.resetInitSegment(e,n,s,i),this._audioTrack={container:"audio/adts",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"aac",samples:[],manifestCodec:n,duration:i,inputTimeScale:90000,dropped:0}}static probe(e,n){if(!e)return!1;let s=yh(e,0),i=(s==null?void 0:s.length)||0;if(n6(e,i))return!1;for(let r=e.length;i<r;i++)if(nC(e,i))return n.log("ADTS sync word found !"),!0;return!1}canParse(e,n){return tC(e,n)}appendFrame(e,n,s){Y9(e,this.observer,n,s,e.manifestCodec);let i=J9(e,n,s,this.basePTS,this.frameIndex);if((i==null?void 0:i.missing)===0)return i}demuxSampleAes(e,n,s){let i=this.demux(e,s),r=this.sampleAes=new L1(this.observer,this.config,n);return new Promise((a)=>{r.decryptAacSamples(i.audioTrack.samples,0,()=>{a(i)})})}}var i6=(e,n)=>{let s=0,i=5;n+=i;let r=new Uint32Array(1),a=new Uint32Array(1),l=new Uint8Array(1);while(i>0){l[0]=e[n];let c=Math.min(i,8),f=8-c;a[0]=4278190080>>>24+f<<f,r[0]=(l[0]&a[0])>>f,s=!s?r[0]:s<<c|r[0],n+=1,i-=c}return s};class r6 extends y0{constructor(e){super();this.observer=void 0,this.observer=e}resetInitSegment(e,n,s,i){super.resetInitSegment(e,n,s,i),this._audioTrack={container:"audio/ac-3",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"ac3",samples:[],manifestCodec:n,duration:i,inputTimeScale:90000,dropped:0}}canParse(e,n){return n+64<e.length}appendFrame(e,n,s){let i=a6(e,n,s,this.basePTS,this.frameIndex);if(i!==-1)return{sample:e.samples[e.samples.length-1],length:i,missing:0}}static probe(e){if(!e)return!1;let n=yh(e,0);if(!n)return!1;let s=n.length;if(e[s]===11&&e[s+1]===119&&k1(n)!==void 0)if(i6(e,s)<16)return!0;else throw Error("Containerless ec-3 is not supported");return!1}}function a6(e,n,s,i,r){if(s+8>n.length)return-1;if(n[s]!==11||n[s+1]!==119)return-1;let a=n[s+4]>>6;if(a>=3)return-1;let c=[48000,44100,32000][a],f=n[s+4]&63,g=[64,69,96,64,70,96,80,87,120,80,88,120,96,104,144,96,105,144,112,121,168,112,122,168,128,139,192,128,140,192,160,174,240,160,175,240,192,208,288,192,209,288,224,243,336,224,244,336,256,278,384,256,279,384,320,348,480,320,349,480,384,417,576,384,418,576,448,487,672,448,488,672,512,557,768,512,558,768,640,696,960,640,697,960,768,835,1152,768,836,1152,896,975,1344,896,976,1344,1024,1114,1536,1024,1115,1536,1152,1253,1728,1152,1254,1728,1280,1393,1920,1280,1394,1920][f*3+a]*2;if(s+g>n.length)return-1;let b=n[s+6]>>5,v=0;if(b===2)v+=2;else{if(b&1&&b!==1)v+=2;if(b&4)v+=2}let k=(n[s+6]<<8|n[s+7])>>12-v&1,_=[2,1,2,3,3,4,4,5][b]+k,P=n[s+5]>>3,U=n[s+5]&7,z=new Uint8Array([a<<6|P<<1|U>>2,(U&3)<<6|b<<3|k<<2|f>>4,f<<4&224]),V=1536/c*90000,X=i+r*V,J=n.subarray(s,s+g);return e.config=z,e.channelCount=_,e.samplerate=c,e.samples.push({unit:J,pts:X}),g}class o6 extends y0{resetInitSegment(e,n,s,i){super.resetInitSegment(e,n,s,i),this._audioTrack={container:"audio/mpeg",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"mp3",samples:[],manifestCodec:n,duration:i,inputTimeScale:90000,dropped:0}}static probe(e){if(!e)return!1;let n=yh(e,0),s=(n==null?void 0:n.length)||0;if(n&&e[s]===11&&e[s+1]===119&&k1(n)!==void 0&&i6(e,s)<=16)return!1;for(let i=e.length;s<i;s++)if(n6(e,s))return Cn.log("MPEG Audio sync word found !"),!0;return!1}canParse(e,n){return cC(e,n)}appendFrame(e,n,s){if(this.basePTS===null)return;return Z9(e,n,s,this.basePTS,this.frameIndex)}}var fC=/\/emsg[-/]ID3/i;class l6{constructor(e,n,s,i=Cn){this.remainderData=null,this.timeOffset=0,this.config=void 0,this.videoTrack=void 0,this.audioTrack=void 0,this.id3Track=void 0,this.txtTrack=void 0,this.initData=void 0,this.logger=void 0,this.config=n,this.logger=i}resetTimeStamp(){}resetInitSegment(e,n,s,i){let r=this.videoTrack=Aa("video",1),a=this.audioTrack=Aa("audio",1),l=this.txtTrack=Aa("text",1);if(this.id3Track=Aa("id3",1),this.initData=void 0,this.timeOffset=0,!(e!=null&&e.byteLength))return;let c=this.initData=o9(e);if(c.video){let{id:f,timescale:m,codec:g,supplemental:b}=c.video;r.id=f,r.timescale=l.timescale=m,r.codec=g,r.supplemental=b}if(c.audio){let{id:f,timescale:m,codec:g}=c.audio;a.id=f,a.timescale=m,a.codec=g}l.id=s9.text,r.sampleDuration=0,r.duration=a.duration=i}resetContiguity(){this.remainderData=null}static probe(e){return xT(e,"moof")}demux(e,n,s){this.timeOffset=n;let i=e,r=this.videoTrack,a=this.txtTrack;if(this.config.progressive){if(this.remainderData)i=Ir(this.remainderData,e);let f=qT(i);this.remainderData=f.remainder,r.samples=f.valid||new Uint8Array}else r.samples=i;let l=this.extractID3Track(r,n),c=this.parseFragment(r,a,n,s);return{videoTrack:r,audioTrack:this.audioTrack,id3Track:l,textTrack:this.txtTrack,initData:this.initData,sampleData:c}}flush(e,n){let s=this.timeOffset,i=this.videoTrack,r=this.txtTrack;i.samples=this.remainderData||new Uint8Array,this.remainderData=null;let a=this.extractID3Track(i,this.timeOffset),l=this.parseFragment(i,r,s,n);return{videoTrack:i,audioTrack:Aa(),id3Track:a,textTrack:Aa(),initData:this.initData,sampleData:l}}parseFragment(e,n,s,i){let r=this.initData;if(r&&i){let{samples:a,sampleData:l}=DT(s,e,r,this.logger,i.iframe);return n.samples=a,l}n.samples=MT(s,e)}extractID3Track(e,n){let s=this.id3Track;if(e.samples.length){let i=Ht(e.samples,["emsg"]);if(i)i.forEach((r)=>{let a=FT(r);if(fC.test(a.schemeIdUri)){let l=o3(a,n),c=a.eventDuration===4294967295?Number.POSITIVE_INFINITY:a.eventDuration/a.timeScale;if(c<=0.001)c=Number.POSITIVE_INFINITY;let f=a.payload;s.samples.push({data:f,len:f.byteLength,dts:l,pts:l,type:Fi.emsg,duration:c})}else if(this.config.enableEmsgKLVMetadata){let l=this.config.emsgKLVSchemaUri||Fi.misbklv;if(a.schemeIdUri.startsWith(l)){let c=o3(a,n);s.samples.push({data:a.payload,len:a.payload.byteLength,dts:c,pts:c,type:Fi.misbklv,duration:Number.POSITIVE_INFINITY})}}})}return s}demuxSampleAes(e,n,s){return Promise.reject(Error("The MP4 demuxer does not support SAMPLE-AES decryption"))}destroy(){this.config=null,this.remainderData=null,this.videoTrack=this.audioTrack=this.id3Track=this.txtTrack=void 0,this.initData=void 0}}function o3(e,n){return lt(e.presentationTime)?e.presentationTime/e.timeScale:n+e.presentationTimeDelta/e.timeScale}var hC=1,uC=2,rh=-1;class O1{constructor(){this.VideoSample=null}createVideoSample(e,n,s){return{key:e,frame:!1,pts:n,dts:s,units:[],length:0}}getLastNalUnit(e){var n;let s=this.VideoSample,i;if(!s||s.units.length===0)s=e[e.length-1];if((n=s)!=null&&n.units){let r=s.units;i=r[r.length-1]}return i}pushAccessUnit(e,n){if(e.units.length&&e.frame){if(e.pts===void 0){let s=n.samples,i=s.length;if(i){let r=s[i-1];e.pts=r.pts,e.dts=r.dts}else{n.dropped++;return}}n.samples.push(e)}}parseNALu(e,n,s){let i=n.byteLength;if(i===0)return[];let r=e.naluState||0,a=r===rh?0:r,l=[],c=0,f=0,m=-1,g=0;if(r===rh)m=0,g=this.getNALuType(n,0),f=1;while(f<i){let b=n.indexOf(hC,f);if(b===-1)break;f=b+1;let v=b;while(v>0&&n[v-1]===0)v--;if(b-v+(v===0?a:0)<uC)continue;if(m>=0)l.push({data:n.subarray(m,v),type:g});else{let T=this.getLastNalUnit(e.samples);if(T){if(v>0)T.data=Ir(T.data,n.subarray(0,v));else if(a>0)T.data=T.data.subarray(0,T.data.byteLength-a);T.state=0}}if(f<i)m=f,g=this.getNALuType(n,f);else{c=rh,m=-1;break}}if(c!==rh){let b=i;while(b>0&&n[b-1]===0)b--;c=i-b+(b===0?a:0)}if(m>=0)l.push({data:n.subarray(m),type:g,state:c});else if(l.length===0&&c!==rh){let b=this.getLastNalUnit(e.samples);if(b)b.data=Ir(b.data,n),b.state=c}return e.naluState=c,l}}class Kc{constructor(e){this.data=void 0,this.bytesAvailable=void 0,this.word=void 0,this.bitsAvailable=void 0,this.data=e,this.bytesAvailable=e.byteLength,this.word=0,this.bitsAvailable=0}loadWord(){let e=this.data,n=this.bytesAvailable,s=e.byteLength-n,i=new Uint8Array(4),r=Math.min(4,n);if(r===0)throw Error("no bytes available");i.set(e.subarray(s,s+r)),this.word=new DataView(i.buffer).getUint32(0),this.bitsAvailable=r*8,this.bytesAvailable-=r}skipBits(e){let n;if(e=Math.min(e,this.bytesAvailable*8+this.bitsAvailable),this.bitsAvailable>e)this.word<<=e,this.bitsAvailable-=e;else e-=this.bitsAvailable,n=e>>3,e-=n<<3,this.bytesAvailable-=n,this.loadWord(),this.word<<=e,this.bitsAvailable-=e}readBits(e){let n=Math.min(this.bitsAvailable,e),s=this.word>>>32-n;if(e>32)Cn.error("Cannot read more than 32 bits at a time");if(this.bitsAvailable-=n,this.bitsAvailable>0)this.word<<=n;else if(this.bytesAvailable>0)this.loadWord();else throw Error("no bits available");if(n=e-n,n>0&&this.bitsAvailable)return s<<n|this.readBits(n);else return s}skipLZ(){let e;for(e=0;e<this.bitsAvailable;++e)if((this.word&2147483648>>>e)!==0)return this.word<<=e,this.bitsAvailable-=e,e;return this.loadWord(),e+this.skipLZ()}skipUEG(){this.skipBits(1+this.skipLZ())}skipEG(){this.skipBits(1+this.skipLZ())}readUEG(){let e=this.skipLZ();return this.readBits(e+1)-1}readEG(){let e=this.readUEG();if(1&e)return 1+e>>>1;else return-1*(e>>>1)}readBoolean(){return this.readBits(1)===1}readUByte(){return this.readBits(8)}}class c6 extends O1{parsePES(e,n,s,i,r){let a=r.iframe,l=this.parseNALu(e,s.data,i),c=this.VideoSample,f,m=!1;if(s.data=null,c&&l.length&&!e.audFound)this.pushAccessUnit(c,e),c=this.VideoSample=this.createVideoSample(!1,s.pts,s.dts);if(l.forEach((g)=>{var b,v;switch(g.type){case 1:{if(a)break;let P=!1;f=!0;let U=g.data;if(m&&U.length>4){let z=this.readSliceType(U);if(z===2||z===4||z===7||z===9)P=!0}if(P){var k;if((k=c)!=null&&k.frame&&!c.key)this.pushAccessUnit(c,e),c=this.VideoSample=null}if(!c)c=this.VideoSample=this.createVideoSample(!0,s.pts,s.dts);c.frame=!0,c.key=P;break}case 5:if(f=!0,(b=c)!=null&&b.frame&&!c.key)this.pushAccessUnit(c,e),c=this.VideoSample=null;if(!c)c=this.VideoSample=this.createVideoSample(!0,s.pts,s.dts);c.key=!0,c.frame=!0;break;case 6:{if(a)break;f=!0,vh(g.data,1,s.pts,n.samples);break}case 7:{var T,_;f=!0,m=!0;let P=g.data,U=this.readSPS(P);if(!e.sps||e.width!==U.width||e.height!==U.height||((T=e.pixelRatio)==null?void 0:T[0])!==U.pixelRatio[0]||((_=e.pixelRatio)==null?void 0:_[1])!==U.pixelRatio[1]){e.width=U.width,e.height=U.height,e.pixelRatio=U.pixelRatio,e.sps=[P];let z=P.subarray(1,4),V="avc1.";for(let X=0;X<3;X++){let J=z[X].toString(16);if(J.length<2)J="0"+J;V+=J}e.codec=V}break}case 8:f=!0,e.pps=[g.data];break;case 9:if(f=!0,e.audFound=!0,(v=c)!=null&&v.frame)this.pushAccessUnit(c,e),c=null;if(!c)c=this.VideoSample=this.createVideoSample(!1,s.pts,s.dts);break;case 12:f=!0;break;default:f=!1;break}if(c&&f)c.units.push(g)}),i&&c)this.pushAccessUnit(c,e),this.VideoSample=null}getNALuType(e,n){return e[n]&31}readSliceType(e){let n=new Kc(e);return n.readUByte(),n.readUEG(),n.readUEG()}skipScalingList(e,n){let s=8,i=8,r;for(let a=0;a<e;a++){if(i!==0)r=n.readEG(),i=(s+r+256)%256;s=i===0?s:i}}readSPS(e){let n=new Kc(e),s=0,i=0,r=0,a=0,l,c,f,m=n.readUByte.bind(n),g=n.readBits.bind(n),b=n.readUEG.bind(n),v=n.readBoolean.bind(n),k=n.skipBits.bind(n),T=n.skipEG.bind(n),_=n.skipUEG.bind(n),P=this.skipScalingList.bind(this);m();let U=m();if(g(5),k(3),m(),_(),U===100||U===110||U===122||U===244||U===44||U===83||U===86||U===118||U===128){let te=b();if(te===3)k(1);if(_(),_(),k(1),v()){c=te!==3?8:12;for(f=0;f<c;f++)if(v())if(f<6)P(16,n);else P(64,n)}}_();let z=b();if(z===0)b();else if(z===1){k(1),T(),T(),l=b();for(f=0;f<l;f++)T()}_(),k(1);let V=b(),X=b(),J=g(1);if(J===0)k(1);if(k(1),v())s=b(),i=b(),r=b(),a=b();let ee=[1,1];if(v()){if(v())switch(m()){case 1:ee=[1,1];break;case 2:ee=[12,11];break;case 3:ee=[10,11];break;case 4:ee=[16,11];break;case 5:ee=[40,33];break;case 6:ee=[24,11];break;case 7:ee=[20,11];break;case 8:ee=[32,11];break;case 9:ee=[80,33];break;case 10:ee=[18,11];break;case 11:ee=[15,11];break;case 12:ee=[64,33];break;case 13:ee=[160,99];break;case 14:ee=[4,3];break;case 15:ee=[3,2];break;case 16:ee=[2,1];break;case 255:{ee=[m()<<8|m(),m()<<8|m()];break}}}return{width:Math.ceil((V+1)*16-s*2-i*2),height:(2-J)*(X+1)*16-(J?2:4)*(r+a),pixelRatio:ee}}}class f6 extends O1{constructor(...e){super(...e);this.initVPS=null}parsePES(e,n,s,i){let r=this.parseNALu(e,s.data,i),a=this.VideoSample,l,c=!1;s.data=null;let f=(m)=>(a=this.VideoSample=this.createVideoSample(m,s.pts,s.dts),a);if(r.forEach((m,g)=>{var b,v;if(this.startsNewAccessUnit(a,e,m,g)){this.pushAccessUnit(a,e);let T=m.type>=16&&m.type<=23;a=f(T),c=!1}switch(m.type){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:if(!a)a=f(!1);a.frame=!0,l=!0;break;case 16:case 17:case 18:case 21:case 22:case 23:if(l=!0,c){var k;if((k=a)!=null&&k.frame&&!a.key)this.pushAccessUnit(a,e),a=this.VideoSample=null}if(!a)a=f(!0);a.key=!0,a.frame=!0;break;case 19:case 20:if(l=!0,(b=a)!=null&&b.frame&&!a.key)this.pushAccessUnit(a,e),a=this.VideoSample=null;if(!a)a=f(!0);a.key=!0,a.frame=!0;break;case 39:l=!0,vh(m.data,2,s.pts,n.samples);break;case 32:if(l=!0,!e.vps){if(typeof e.params!=="object")e.params={};e.params=Nn(e.params,this.readVPS(m.data)),this.initVPS=m.data}e.vps=[m.data];break;case 33:if(l=!0,c=!0,e.vps!==void 0&&e.vps[0]!==this.initVPS&&e.sps!==void 0&&!this.matchSPS(e.sps[0],m.data))this.initVPS=e.vps[0],e.sps=e.pps=void 0;if(!e.sps){let T=this.readSPS(m.data);if(e.width=T.width,e.height=T.height,e.pixelRatio=T.pixelRatio,e.codec=T.codecString,e.sps=[],typeof e.params!=="object")e.params={};for(let _ in T.params)e.params[_]=T.params[_]}if(this.pushParameterSet(e.sps,m.data,e.vps),!a)a=f(!1);break;case 34:if(l=!0,typeof e.params==="object"){if(!e.pps){e.pps=[];let T=this.readPPS(m.data);for(let _ in T)e.params[_]=T[_]}this.pushParameterSet(e.pps,m.data,e.vps)}break;case 35:if(l=!0,e.audFound=!0,(v=a)!=null&&v.frame)this.pushAccessUnit(a,e),a=null;if(!a)a=f(!1);break;default:l=!1;break}if(a&&l)a.units.push(m)}),i&&a)this.pushAccessUnit(a,e),this.VideoSample=null}pushParameterSet(e,n,s){if(!!s&&s[0]===this.initVPS||!s&&!e.length)e.push(n)}startsNewAccessUnit(e,n,s,i){if(!e)return!1;if(!n.audFound&&i===0)return!0;if(!e.frame)return!1;let{type:r,data:a}=s;if(r>=32&&r<=35||r===39||r>=41&&r<=44||r>=48&&r<=55)return!0;return r<=31&&a.length>2&&(a[2]&128)!==0}getNALuType(e,n){return(e[n]&126)>>>1}ebsp2rbsp(e){let n=new Uint8Array(e.byteLength),s=0;for(let i=0;i<e.byteLength;i++){if(i>=2){if(e[i]===3&&e[i-1]===0&&e[i-2]===0)continue}n[s]=e[i],s++}return new Uint8Array(n.buffer,0,s)}pushAccessUnit(e,n){if(super.pushAccessUnit(e,n),this.initVPS)this.initVPS=null}readVPS(e){let n=new Kc(e);n.readUByte(),n.readUByte(),n.readBits(4),n.skipBits(2),n.readBits(6);let s=n.readBits(3),i=n.readBoolean();return{numTemporalLayers:s+1,temporalIdNested:i}}readSPS(e){let n=new Kc(this.ebsp2rbsp(e));n.readUByte(),n.readUByte(),n.readBits(4);let s=n.readBits(3);n.readBoolean();let i=n.readBits(2),r=n.readBoolean(),a=n.readBits(5),l=n.readUByte(),c=n.readUByte(),f=n.readUByte(),m=n.readUByte(),g=n.readUByte(),b=n.readUByte(),v=n.readUByte(),k=n.readUByte(),T=n.readUByte(),_=n.readUByte(),P=n.readUByte(),U=[],z=[];for(let We=0;We<s;We++)U.push(n.readBoolean()),z.push(n.readBoolean());if(s>0)for(let We=s;We<8;We++)n.readBits(2);for(let We=0;We<s;We++){if(U[We])n.readUByte(),n.readUByte(),n.readUByte(),n.readUByte(),n.readUByte(),n.readUByte(),n.readUByte(),n.readUByte(),n.readUByte(),n.readUByte(),n.readUByte();if(z[We])n.readUByte()}n.readUEG();let V=n.readUEG();if(V==3)n.skipBits(1);let X=n.readUEG(),J=n.readUEG(),ee=n.readBoolean(),te=0,ne=0,ie=0,se=0;if(ee)te+=n.readUEG(),ne+=n.readUEG(),ie+=n.readUEG(),se+=n.readUEG();let oe=n.readUEG(),ye=n.readUEG(),Se=n.readUEG(),me=n.readBoolean();for(let We=me?0:s;We<=s;We++)n.skipUEG(),n.skipUEG(),n.skipUEG();if(n.skipUEG(),n.skipUEG(),n.skipUEG(),n.skipUEG(),n.skipUEG(),n.skipUEG(),n.readBoolean()){if(n.readBoolean())for(let nt=0;nt<4;nt++)for(let yt=0;yt<(nt===3?2:6);yt++)if(!n.readBoolean())n.readUEG();else{let zt=Math.min(64,1<<4+(nt<<1));if(nt>1)n.readEG();for(let sn=0;sn<zt;sn++)n.readEG()}}if(n.readBoolean(),n.readBoolean(),n.readBoolean())n.readUByte(),n.skipUEG(),n.skipUEG(),n.readBoolean();let Ee=n.readUEG(),we=0;for(let We=0;We<Ee;We++){let nt=!1;if(We!==0)nt=n.readBoolean();if(nt){if(We===Ee)n.readUEG();n.readBoolean(),n.readUEG();let yt=0;for(let pt=0;pt<=we;pt++){let zt=n.readBoolean(),sn=!1;if(!zt)sn=n.readBoolean();if(zt||sn)yt++}we=yt}else{let yt=n.readUEG(),pt=n.readUEG();we=yt+pt;for(let zt=0;zt<yt;zt++)n.readUEG(),n.readBoolean();for(let zt=0;zt<pt;zt++)n.readUEG(),n.readBoolean()}}if(n.readBoolean()){let We=n.readUEG();for(let nt=0;nt<We;nt++){for(let yt=0;yt<Se+4;yt++)n.readBits(1);n.readBits(1)}}let Re=0,Fe=1,Be=1,Xe=!0,st=1,Ze=0;n.readBoolean(),n.readBoolean();let St=!1;if(n.readBoolean()){if(n.readBoolean()){let un=n.readUByte(),Kt=[1,12,10,16,40,24,20,32,80,18,15,64,160,4,3,2],Pn=[1,11,11,11,33,11,11,11,33,11,11,33,99,3,2,1];if(un>0&&un<16)Fe=Kt[un-1],Be=Pn[un-1];else if(un===255)Fe=n.readBits(16),Be=n.readBits(16)}if(n.readBoolean())n.readBoolean();if(n.readBoolean()){if(n.readBits(3),n.readBoolean(),n.readBoolean())n.readUByte(),n.readUByte(),n.readUByte()}if(n.readBoolean())n.readUEG(),n.readUEG();if(n.readBoolean(),n.readBoolean(),n.readBoolean(),St=n.readBoolean(),St)n.skipUEG(),n.skipUEG(),n.skipUEG(),n.skipUEG();if(n.readBoolean()){if(st=n.readBits(32),Ze=n.readBits(32),n.readBoolean())n.readUEG();if(n.readBoolean()){let Pn=n.readBoolean(),hs=n.readBoolean(),Gn=!1;if(Pn||hs){if(Gn=n.readBoolean(),Gn)n.readUByte(),n.readBits(5),n.readBoolean(),n.readBits(5);if(n.readBits(4),n.readBits(4),Gn)n.readBits(4);n.readBits(5),n.readBits(5),n.readBits(5)}for(let qt=0;qt<=s;qt++){Xe=n.readBoolean();let ei=Xe||n.readBoolean(),An=!1;if(ei)n.readEG();else An=n.readBoolean();let os=An?1:n.readUEG()+1;if(Pn)for(let us=0;us<os;us++){if(n.readUEG(),n.readUEG(),Gn)n.readUEG(),n.readUEG();n.skipBits(1)}if(hs)for(let us=0;us<os;us++){if(n.readUEG(),n.readUEG(),Gn)n.readUEG(),n.readUEG();n.skipBits(1)}}}}if(n.readBoolean())n.readBoolean(),n.readBoolean(),n.readBoolean(),Re=n.readUEG()}let dt=X,Ot=J;if(ee){let We=1,nt=1;if(V===1)We=nt=2;else if(V==2)We=2;dt=X-We*ne-We*te,Ot=J-nt*se-nt*ie}let ln=i?["A","B","C"][i]:"",kn=l<<24|c<<16|f<<8|m,an=0;for(let We=0;We<32;We++)an=(an|(kn>>We&1)<<31-We)>>>0;let on=an.toString(16);if(a===1&&on==="2")on="6";return{codecString:`hvc1.${ln}${a}.${on}.${r?"H":"L"}${P}.B0`,params:{general_tier_flag:r,general_profile_idc:a,general_profile_space:i,general_profile_compatibility_flags:[l,c,f,m],general_constraint_indicator_flags:[g,b,v,k,T,_],general_level_idc:P,bit_depth:oe+8,bit_depth_luma_minus8:oe,bit_depth_chroma_minus8:ye,min_spatial_segmentation_idc:Re,chroma_format_idc:V,frame_rate:{fixed:Xe,fps:Ze/st}},width:dt,height:Ot,pixelRatio:[Fe,Be]}}readPPS(e){let n=new Kc(this.ebsp2rbsp(e));if(n.readUByte(),n.readUByte(),n.skipUEG(),n.skipUEG(),n.skipBits(2),n.skipBits(3),n.skipBits(2),n.skipUEG(),n.skipUEG(),n.skipEG(),n.skipBits(2),n.readBoolean())n.skipUEG();n.skipEG(),n.skipEG(),n.skipBits(4);let i=n.readBoolean(),r=n.readBoolean(),a=1;if(r&&i)a=0;else if(r)a=3;else if(i)a=2;return{parallelismType:a}}matchSPS(e,n){return ra(e).substring(3)===ra(n).substring(3)}}var Ys=188;class uo{constructor(e,n,s,i){this.logger=void 0,this.observer=void 0,this.config=void 0,this.typeSupported=void 0,this.sampleAes=null,this.pmtParsed=!1,this.audioCodec=void 0,this.videoCodec=void 0,this._pmtId=-1,this._videoTrack=void 0,this._audioTrack=void 0,this._id3Track=void 0,this._txtTrack=void 0,this._klvPid=-1,this.aacOverFlow=null,this.remainderData=null,this.videoParser=void 0,this.videoIntegrityChecker=null,this.observer=e,this.config=n,this.typeSupported=s,this.logger=i,this.videoParser=null}static probe(e,n){let s=uo.syncOffset(e);if(s>0)n.warn(`MPEG2-TS detected but first sync word found @ offset ${s}`);return s!==-1}static syncOffset(e){let n=e.length,s=Math.min(Ys*5,n-Ys)+1,i=0;while(i<s){let r=!1,a=-1,l=0;for(let c=i;c<n;c+=Ys)if(e[c]===71&&(n-c===Ys||e[c+Ys]===71)){if(l++,a===-1){if(a=c,a!==0)s=Math.min(a+Ys*99,e.length-Ys)+1}if(!r)r=c0(e,c)===0;if(r&&l>1&&(a===0&&l>2||c+Ys>s))return a}else if(l)return-1;else break;i++}return-1}static createTrack(e,n){return{container:e==="video"||e==="audio"?"video/mp2t":void 0,type:e,id:s9[e],pid:-1,inputTimeScale:90000,sequenceNumber:0,samples:[],dropped:0,duration:e==="audio"?n:void 0}}resetInitSegment(e,n,s,i,r,a){if(this.pmtParsed=!1,this._pmtId=-1,this._videoTrack=uo.createTrack("video"),this._videoTrack.duration=i,this.videoIntegrityChecker=this.config.handleMpegTsVideoIntegrityErrors==="skip"?new h6(this.logger):null,this._audioTrack=uo.createTrack("audio",i),this._id3Track=uo.createTrack("id3"),this._txtTrack=uo.createTrack("text"),this._audioTrack.segmentCodec="aac",this.videoParser=null,this.aacOverFlow=null,this.remainderData=null,this.audioCodec=n,this.videoCodec=s,e)this.demux(e,0,a,(r==null?void 0:r.method)==="SAMPLE-AES")}resetTimeStamp(){}resetContiguity(){let{_audioTrack:e,_videoTrack:n,_id3Track:s}=this;if(e)e.pesData=null;if(n)n.pesData=null;if(s)s.pesData=null;this.aacOverFlow=null,this.remainderData=null}demux(e,n,s,i=!1,r=!1){if(!i)this.sampleAes=null;let a,l=this._videoTrack,c=this.videoIntegrityChecker,f=this._audioTrack,m=this._id3Track,g=this._txtTrack,b=s.iframe,{pid:v,pesData:k}=l,T=f.pid,_=m.pid,P=this._klvPid,U=f.pesData,z=m.pesData,V=null,X=null,J=this.pmtParsed,ee=this._pmtId,te=e.length;if(this.remainderData)e=Ir(this.remainderData,e),te=e.length,this.remainderData=null;if(te<Ys&&!r)return this.remainderData=e,{audioTrack:f,videoTrack:l,id3Track:m,textTrack:g};let ne=Math.max(0,uo.syncOffset(e));if(te-=(te-ne)%Ys,te<e.byteLength&&!r)this.remainderData=new Uint8Array(e.buffer,te,e.buffer.byteLength-te);let ie=0;for(let oe=ne;oe<te;oe+=Ys)if(e[oe]===71){let ye=!!(e[oe+1]&64),Se=c0(e,oe),me=(e[oe+3]&48)>>4,de;if(me>1){if(de=oe+5+e[oe+4],de===oe+Ys)continue}else de=oe+4;switch(Se){case v:if(ye){if(k&&!(c!=null&&c.isCorrupted)&&(a=Gl(k,this.logger))){if(this.readyVideoParser(l.segmentCodec),this.videoParser!==null)this.videoParser.parsePES(l,g,a,!1,s)}k={data:[],size:0},c==null||c.reset(v)}if(c==null||c.handlePacket(e.subarray(oe)),k)k.data.push(e.subarray(de,oe+Ys)),k.size+=oe+Ys-de;break;case T:if(b)break;if(ye){if(U&&(a=Gl(U,this.logger)))switch(f.segmentCodec){case"aac":this.parseAACPES(f,a,s);break;case"mp3":this.parseMPEGPES(f,a);break;case"ac3":this.parseAC3PES(f,a);break}U={data:[],size:0}}if(U)U.data.push(e.subarray(de,oe+Ys)),U.size+=oe+Ys-de;break;case _:if(b)break;if(ye){if(z&&(a=Gl(z,this.logger)))this.parseID3PES(m,a);z={data:[],size:0}}if(z)z.data.push(e.subarray(de,oe+Ys)),z.size+=oe+Ys-de;break;case P:if(b)break;if(ye){if(V&&(a=Gl(V,this.logger)))this.parseKlvPES(m,a);V={data:[],size:0}}if(V)V.data.push(e.subarray(de,oe+Ys)),V.size+=oe+Ys-de;break;case 0:if(ye)de+=e[de]+1;ee=this._pmtId=dC(e,de);break;case ee:{if(ye)de+=e[de]+1;let ce=mC(e,de,this.typeSupported,i,this.observer,this.logger,this.config,s);if(v=ce.videoPid,v>0)l.pid=v,l.segmentCodec=ce.segmentVideoCodec;if(T=ce.audioPid,T>0)f.pid=T,f.segmentCodec=ce.segmentAudioCodec;if(_=ce.id3Pid,_>0)m.pid=_;if(P=ce.klvPid,P>0)this._klvPid=P;if(X!==null&&!J)this.logger.warn(`MPEG-TS PMT found at ${oe} after unknown PID '${X}'. Backtracking to sync byte @${ne} to parse all TS packets.`),X=null,oe=ne-188;J=this.pmtParsed=!0;break}case 17:case 8191:break;default:X=Se;break}}else ie++;if(ie>0)n1(this.observer,Error(`Found ${ie} TS packet/s that do not start with 0x47`),s,void 0,this.logger);l.pesData=k,f.pesData=U,m.pesData=z;let se={audioTrack:f,videoTrack:l,id3Track:m,textTrack:g};if(r)this.extractRemainingSamples(se,s);return se}flush(e,n){let{remainderData:s}=this;this.remainderData=null;let i;if(s)i=this.demux(s,0,n,!1,!0);else i={videoTrack:this._videoTrack,audioTrack:this._audioTrack,id3Track:this._id3Track,textTrack:this._txtTrack};if(this.extractRemainingSamples(i,n),this.sampleAes)return this.decrypt(i,this.sampleAes);return i}extractRemainingSamples(e,n){let{audioTrack:s,videoTrack:i,id3Track:r,textTrack:a}=e,l=i.pesData,c=s.pesData,f=r.pesData,m=this.videoIntegrityChecker,g;if(l&&!(m!=null&&m.isCorrupted)&&(g=Gl(l,this.logger))){if(this.readyVideoParser(i.segmentCodec),this.videoParser!==null)this.videoParser.parsePES(i,a,g,!0,n),i.pesData=null}else i.pesData=l;if(c&&(g=Gl(c,this.logger))){switch(s.segmentCodec){case"aac":this.parseAACPES(s,g,n);break;case"mp3":this.parseMPEGPES(s,g);break;case"ac3":this.parseAC3PES(s,g);break}s.pesData=null}else{if(c!=null&&c.size)this.logger.log("last AAC PES packet truncated,might overlap between fragments");s.pesData=c}if(f&&(g=Gl(f,this.logger)))this.parseID3PES(r,g),r.pesData=null;else r.pesData=f}demuxSampleAes(e,n,s,i){let r=this.demux(e,s,i,!0,!this.config.progressive),a=this.sampleAes=new L1(this.observer,this.config,n);return this.decrypt(r,a)}readyVideoParser(e){if(this.videoParser===null){if(e==="avc")this.videoParser=new c6;else if(e==="hevc")this.videoParser=new f6}}decrypt(e,n){return new Promise((s)=>{let{audioTrack:i,videoTrack:r}=e;if(i.samples&&i.segmentCodec==="aac")n.decryptAacSamples(i.samples,0,()=>{if(r.samples)n.decryptAvcSamples(r.samples,0,0,()=>{s(e)});else s(e)});else if(r.samples)n.decryptAvcSamples(r.samples,0,0,()=>{s(e)})})}destroy(){if(this.observer)this.observer.removeAllListeners();this.config=this.logger=this.observer=null,this.aacOverFlow=this.videoParser=this.remainderData=this.sampleAes=null,this._videoTrack=this._audioTrack=this._id3Track=this._txtTrack=void 0,this.videoIntegrityChecker=null}parseAACPES(e,n,s){let i=0,r=this.aacOverFlow,a=n.data;if(r){this.aacOverFlow=null;let b=r.missing,v=r.sample.unit.byteLength;if(b===-1)a=Ir(r.sample.unit,a);else{let k=v-b;r.sample.unit.set(a.subarray(0,b),k),e.samples.push(r.sample),i=r.missing}}let l,c;for(l=i,c=a.length;l<c-1;l++)if(l0(a,l))break;if(l!==i){let b,v=l<c-1;if(v)b=`AAC PES did not start with ADTS header,offset:${l}`;else b="No ADTS header found in AAC PES";if(n1(this.observer,Error(b),s,v,this.logger),!v)return}Y9(e,this.observer,a,l,this.audioCodec);let f;if(n.pts!==void 0)f=n.pts;else if(r){let b=Q9(e.samplerate);f=r.sample.pts+b}else{this.logger.warn("[tsdemuxer]: AAC PES unknown PTS");return}let m=0,g;while(l<c)if(g=J9(e,a,l,f,m),l+=g.length,!g.missing){m++;for(;l<c-1;l++)if(l0(a,l))break}else{this.aacOverFlow=g;break}}parseMPEGPES(e,n){let s=n.data,i=s.length,r=0,a=0,l=n.pts;if(l===void 0){this.logger.warn("[tsdemuxer]: MPEG PES unknown PTS");return}while(a<i)if(t6(s,a)){let c=Z9(e,s,a,l,r);if(c)a+=c.length,r++;else break}else a++}parseAC3PES(e,n){{let{data:s,pts:i}=n;if(i===void 0){this.logger.warn("[tsdemuxer]: AC3 PES unknown PTS");return}let r=s.length,a=0,l=0,c;while(l<r&&(c=a6(e,s,l,i,a++))>0)l+=c}}parseID3PES(e,n){if(n.pts===void 0){this.logger.warn("[tsdemuxer]: ID3 PES unknown PTS");return}let s=Nn({},n,{type:this._videoTrack?Fi.emsg:Fi.audioId3,duration:Number.POSITIVE_INFINITY});e.samples.push(s)}parseKlvPES(e,n){var s;let i=(s=n.pts)!=null?s:n.dts;if(i===void 0){this.logger.warn("[tsdemuxer]: KLV PES unknown PTS and DTS");return}let r=n.data;if(r.length<16){this.logger.warn("[tsdemuxer]: KLV PES payload too short");return}let a=0;while(a<r.length){var l;if(a+16>r.length)break;let c=a;if(a+=16,a>=r.length)break;let f=r[a];a+=1;let m=0;if(f&128){let k=f&127;if(k===0||k>4||a+k>r.length){this.logger.warn("[tsdemuxer]: Invalid KLV length encoding");break}for(let T=0;T<k;T++)m=m<<8|r[a+T];a+=k}else m=f;if(a+m>r.length){this.logger.warn("[tsdemuxer]: KLV value extends beyond PES payload");break}let g=a+m,b=r.subarray(c,g),v={data:b,len:b.byteLength,pts:i,dts:(l=n.dts)!=null?l:i,type:Fi.misbklv,duration:Number.POSITIVE_INFINITY};e.samples.push(v),a=g}}}function c0(e,n){return((e[n+1]&31)<<8)+e[n+2]}function dC(e,n){return(e[n+10]&31)<<8|e[n+11]}function mC(e,n,s,i,r,a,l,c){let f={audioPid:-1,videoPid:-1,id3Pid:-1,klvPid:-1,segmentVideoCodec:"avc",segmentAudioCodec:"aac"},m=(e[n+1]&15)<<8|e[n+2],g=n+3+m-4,b=(e[n+10]&15)<<8|e[n+11];n+=12+b;while(n<g){let v=c0(e,n),k=(e[n+3]&15)<<8|e[n+4];switch(e[n]){case 207:if(!i){Cg("ADTS AAC",a);break}case 15:if(f.audioPid===-1)f.audioPid=v;break;case 21:if(f.id3Pid===-1)f.id3Pid=v;break;case 219:if(!i){Cg("H.264",a);break}case 27:if(f.videoPid===-1)f.videoPid=v;break;case 3:case 4:if(!s.mpeg&&!s.mp3)a.log("MPEG audio found, not supported in this browser");else if(f.audioPid===-1)f.audioPid=v,f.segmentAudioCodec="mp3";break;case 193:if(!i){Cg("AC-3",a);break}case 129:if(!s.ac3)a.log("AC-3 audio found, not supported in this browser");else if(f.audioPid===-1)f.audioPid=v,f.segmentAudioCodec="ac3";break;case 6:if(k>0){let T=n+5,_=k;while(_>2){switch(e[T]){case 106:if(f.audioPid===-1)if(s.ac3!==!0)a.log("AC-3 audio found, not supported in this browser for now");else f.audioPid=v,f.segmentAudioCodec="ac3";break;case 5:if(f.klvPid===-1&&l.enableEmsgKLVMetadata)f.klvPid=v,a.log(`KLV metadata PID found: ${v}`);break}let U=e[T+1]+2;T+=U,_-=U}}break;case 194:case 135:return n1(r,Error("Unsupported EC-3 in M2TS found"),c,void 0,a),f;case 36:if(f.videoPid===-1)f.videoPid=v,f.segmentVideoCodec="hevc",a.log("HEVC in M2TS found");break}n+=k+5}return f}function n1(e,n,s,i,r){r.warn(`parsing error: ${n.message}`),e.emit(Z.ERROR,Z.ERROR,{type:Rt.MEDIA_ERROR,details:Le.FRAG_PARSING_ERROR,fatal:!1,levelRetry:i,chunkMeta:s,error:n,reason:n.message})}function Cg(e,n){n.log(`${e} with AES-128-CBC encryption found in unencrypted stream`)}function Gl(e,n){let s=0,i,r,a,l,c,f=e.data;if(!e||e.size===0)return null;while(f[0].length<19&&f.length>1)f[0]=Ir(f[0],f[1]),f.splice(1,1);if(i=f[0],(i[0]<<16)+(i[1]<<8)+i[2]===1){if(r=(i[4]<<8)+i[5],r&&r>e.size-6)return null;let g=i[7];if(g&192)if(l=(i[9]&14)*536870912+(i[10]&255)*4194304+(i[11]&254)*16384+(i[12]&255)*128+(i[13]&254)/2,g&64){if(c=(i[14]&14)*536870912+(i[15]&255)*4194304+(i[16]&254)*16384+(i[17]&255)*128+(i[18]&254)/2,l-c>5400000)n.warn(`${Math.round((l-c)/90000)}s delta between PTS and DTS, align them`),l=c}else c=l;a=i[8];let b=a+9;if(e.size<=b)return null;e.size-=b;let v=new Uint8Array(e.size);for(let k=0,T=f.length;k<T;k++){i=f[k];let _=i.byteLength;if(b)if(b>_){b-=_;continue}else i=i.subarray(b),_-=b,b=0;v.set(i,s),s+=_}if(r)r-=a+3;return{data:v,pts:l,dts:c,len:r}}return null}class h6{constructor(e){this.logger=void 0,this.pid=0,this.lastContinuityCounter=-1,this.integrityState="ok",this.logger=e}get isCorrupted(){return this.integrityState!=="ok"}reset(e){this.pid=e,this.lastContinuityCounter=-1,this.integrityState="ok"}handlePacket(e){if(e.byteLength<4)return;let n=c0(e,0);if(n!==this.pid){this.logger.debug(`Packet PID mismatch, expected ${this.pid} got ${n}`);return}let s=(e[3]&48)>>4;if(s===0)return;let i=e[3]&15,r=this.lastContinuityCounter;this.lastContinuityCounter=i;let a=(s&1)!=0;if((s&2)!=0&&e[4]!=0&&(e[5]&128)!=0)return;if(r<0)return;let f=a?r+1&15:r;if(i!==f){this.logger.warn(`MPEG-TS Continuity Counter check failed for PID='${n}', CC=${i}, Expected-CC=${f} Last-CC=${r}`),this.integrityState="cc-failed";return}if((e[1]&128)!==0){this.logger.warn(`MPEG-TS Packet had TEI flag set for PID='${n}'`),this.integrityState="tei-bit";return}}}class u6{static getSilentFrame(e,n){switch(e){case"mp4a.40.2":if(n===1)return new Uint8Array([0,200,0,128,35,128]);else if(n===2)return new Uint8Array([33,0,73,144,2,25,0,35,128]);else if(n===3)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,142]);else if(n===4)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,128,44,128,8,2,56]);else if(n===5)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,56]);else if(n===6)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,0,178,0,32,8,224]);break;default:if(n===1)return new Uint8Array([1,64,34,128,163,78,230,128,186,8,0,0,0,28,6,241,193,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);else if(n===2)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);else if(n===3)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);break}return}}var f0,pC={video:new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),audio:new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0])},jg=new Uint8Array([0,0,0,0,0,0,0,0]),gC=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),bC=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0]),wC=new Uint8Array([0,0,0,0,0,0,0,0]),ah=new Uint8Array([0,0,0,0,0,0,0,1]),l3=new Uint8Array([105,115,111,109]),yC=new Uint8Array([97,118,99,49]),vC=new Uint8Array([0,0,0,1]);class mt{static box(e,...n){let s=8,i=n.length,r=i;while(i--)s+=n[i].byteLength;let a=new Uint8Array(s);zs(a,0,s),zs(a,4,e);for(i=0,s=8;i<r;i++)a.set(n[i],s),s+=n[i].byteLength;return a}static hdlr(e){return mt.box(Pt.hdlr,pC[e])}static mdat(e){return mt.box(Pt.mdat,e)}static mdhd(e,n){n*=e;let s=Math.floor(n/(ka+1)),i=Math.floor(n%(ka+1));return mt.box(Pt.mdhd,new Uint8Array([1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,e>>24&255,e>>16&255,e>>8&255,e&255,s>>24,s>>16&255,s>>8&255,s&255,i>>24,i>>16&255,i>>8&255,i&255,85,196,0,0]))}static mdia(e){return mt.box(Pt.mdia,mt.mdhd(e.timescale||0,e.duration||0),mt.hdlr(e.type),mt.minf(e))}static mfhd(e){return mt.box(Pt.mfhd,new Uint8Array([0,0,0,0,e>>24,e>>16&255,e>>8&255,e&255]))}static minf(e){if(e.type==="audio")return mt.box(Pt.minf,mt.box(Pt.smhd,wC),mt.DINF,mt.stbl(e));else return mt.box(Pt.minf,mt.box(Pt.vmhd,bC),mt.DINF,mt.stbl(e))}static moof(e,n,s){return mt.box(Pt.moof,mt.mfhd(e),mt.traf(s,n))}static moov(e){let n=e.length,s=[];while(n--)s[n]=mt.trak(e[n]);return mt.box.apply(null,[Pt.moov,mt.mvhd(e[0].timescale||0,e[0].duration||0)].concat(s).concat(mt.mvex(e)))}static mvex(e){let n=e.length,s=[];while(n--)s[n]=mt.trex(e[n]);return mt.box.apply(null,[Pt.mvex,...s])}static mvhd(e,n){n*=e;let s=Math.floor(n/(ka+1)),i=Math.floor(n%(ka+1)),r=new Uint8Array([1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,e>>24&255,e>>16&255,e>>8&255,e&255,s>>24,s>>16&255,s>>8&255,s&255,i>>24,i>>16&255,i>>8&255,i&255,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]);return mt.box(Pt.mvhd,r)}static sdtp(e){let n=e.samples||[],s=new Uint8Array(4+n.length),i,r;for(i=0;i<n.length;i++)r=n[i].flags,s[i+4]=r.dependsOn<<4|r.isDependedOn<<2|r.hasRedundancy;return mt.box(Pt.sdtp,s)}static stbl(e){return mt.box(Pt.stbl,mt.stsd(e),mt.box(Pt.stts,jg),mt.box(Pt.stsc,jg),mt.box(Pt.stsz,gC),mt.box(Pt.stco,jg))}static avc1(e){let n=[],s=[],i,r,a;for(i=0;i<e.sps.length;i++)r=e.sps[i],a=r.byteLength,n.push(a>>>8&255),n.push(a&255),n=n.concat(Array.prototype.slice.call(r));for(i=0;i<e.pps.length;i++)r=e.pps[i],a=r.byteLength,s.push(a>>>8&255),s.push(a&255),s=s.concat(Array.prototype.slice.call(r));let l=mt.box(Pt.avcC,new Uint8Array([1,n[3],n[4],n[5],255,224|e.sps.length].concat(n).concat([e.pps.length]).concat(s))),{width:c,height:f}=e,m=e.pixelRatio[0],g=e.pixelRatio[1];return mt.box(Pt.avc1,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,c>>8&255,c&255,f>>8&255,f&255,0,72,0,0,0,72,0,0,0,0,0,0,0,1,18,100,97,105,108,121,109,111,116,105,111,110,47,104,108,115,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,17,17]),l,mt.box(Pt.btrt,new Uint8Array([0,28,156,128,0,45,198,192,0,45,198,192])),mt.box(Pt.pasp,new Uint8Array([m>>24,m>>16&255,m>>8&255,m&255,g>>24,g>>16&255,g>>8&255,g&255])))}static esds(e){let n=e.config,s=n.length;return new Uint8Array([0,0,0,0,3,23+s,0,1,0,4,15+s,64,21,0,0,0,0,0,0,0,0,0,0,0,5,s,...n,6,1,2])}static audioStsd(e){let n=e.samplerate||0;return new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,e.channelCount||0,0,16,0,0,0,0,n>>8&255,n&255,0,0])}static mp4a(e){return mt.box(Pt.mp4a,mt.audioStsd(e),mt.box(Pt.esds,mt.esds(e)))}static mp3(e){return mt.box(Pt[".mp3"],mt.audioStsd(e))}static ac3(e){return mt.box(Pt["ac-3"],mt.audioStsd(e),mt.box(Pt.dac3,e.config))}static stsd(e){let{segmentCodec:n}=e;if(e.type==="audio"){if(n==="aac")return mt.box(Pt.stsd,ah,mt.mp4a(e));if(n==="ac3"&&e.config)return mt.box(Pt.stsd,ah,mt.ac3(e));if(n==="mp3"&&e.codec==="mp3")return mt.box(Pt.stsd,ah,mt.mp3(e))}else if(e.pps&&e.sps){if(n==="avc")return mt.box(Pt.stsd,ah,mt.avc1(e));if(n==="hevc"&&e.vps)return mt.box(Pt.stsd,ah,mt.hvc1(e))}else throw Error("video track missing pps or sps");throw Error(`unsupported ${e.type} segment codec (${n}/${e.codec})`)}static tkhd(e){let n=e.id,s=(e.duration||0)*(e.timescale||0),i=e.width||0,r=e.height||0,a=Math.floor(s/(ka+1)),l=Math.floor(s%(ka+1));return mt.box(Pt.tkhd,new Uint8Array([1,0,0,7,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,n>>24&255,n>>16&255,n>>8&255,n&255,0,0,0,0,a>>24,a>>16&255,a>>8&255,a&255,l>>24,l>>16&255,l>>8&255,l&255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,i>>8&255,i&255,0,0,r>>8&255,r&255,0,0]))}static traf(e,n){let s=mt.sdtp(e),i=e.id,r=Math.floor(n/(ka+1)),a=Math.floor(n%(ka+1));return mt.box(Pt.traf,mt.box(Pt.tfhd,new Uint8Array([0,0,0,0,i>>24,i>>16&255,i>>8&255,i&255])),mt.box(Pt.tfdt,new Uint8Array([1,0,0,0,r>>24,r>>16&255,r>>8&255,r&255,a>>24,a>>16&255,a>>8&255,a&255])),mt.trun(e,s.length+16+20+8+16+8+8),s)}static trak(e){return e.duration=e.duration||4294967295,mt.box(Pt.trak,mt.tkhd(e),mt.mdia(e))}static trex(e){let n=e.id;return mt.box(Pt.trex,new Uint8Array([0,0,0,0,n>>24,n>>16&255,n>>8&255,n&255,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]))}static trun(e,n){let s=e.samples||[],i=s.length,r=12+16*i,a=new Uint8Array(r),l,c,f,m,g,b;n+=8+r,a.set([e.type==="video"?1:0,0,15,1,i>>>24&255,i>>>16&255,i>>>8&255,i&255,n>>>24&255,n>>>16&255,n>>>8&255,n&255],0);for(l=0;l<i;l++)c=s[l],f=c.duration,m=c.size,g=c.flags,b=c.cts,a.set([f>>>24&255,f>>>16&255,f>>>8&255,f&255,m>>>24&255,m>>>16&255,m>>>8&255,m&255,g.isLeading<<2|g.dependsOn,g.isDependedOn<<6|g.hasRedundancy<<4|g.paddingValue<<1|g.isNonSync,g.degradPrio&61440,g.degradPrio&15,b>>>24&255,b>>>16&255,b>>>8&255,b&255],12+16*l);return mt.box(Pt.trun,a)}static initSegment(e){let n=mt.moov(e);return Ir(mt.FTYP,n)}static hvc1(e){let n=e.params,s=[e.vps,e.sps,e.pps],i=4,r=new Uint8Array([1,n.general_profile_space<<6|(n.general_tier_flag?32:0)|n.general_profile_idc,n.general_profile_compatibility_flags[0],n.general_profile_compatibility_flags[1],n.general_profile_compatibility_flags[2],n.general_profile_compatibility_flags[3],n.general_constraint_indicator_flags[0],n.general_constraint_indicator_flags[1],n.general_constraint_indicator_flags[2],n.general_constraint_indicator_flags[3],n.general_constraint_indicator_flags[4],n.general_constraint_indicator_flags[5],n.general_level_idc,240|n.min_spatial_segmentation_idc>>8,255&n.min_spatial_segmentation_idc,252|n.parallelismType,252|n.chroma_format_idc,248|n.bit_depth_luma_minus8,248|n.bit_depth_chroma_minus8,0,parseInt(n.frame_rate.fps),3|n.temporal_id_nested<<2|n.num_temporal_layers<<3|(n.frame_rate.fixed?64:0),s.length]),a=r.length;for(let k=0;k<s.length;k+=1){a+=3;for(let T=0;T<s[k].length;T+=1)a+=2+s[k][T].length}let l=new Uint8Array(a);l.set(r,0),a=r.length;let c=s.length-1;for(let k=0;k<s.length;k+=1){l.set(new Uint8Array([32+k|(k===c?128:0),0,s[k].length]),a),a+=3;for(let T=0;T<s[k].length;T+=1)l.set(new Uint8Array([s[k][T].length>>8,s[k][T].length&255]),a),a+=2,l.set(s[k][T],a),a+=s[k][T].length}let f=mt.box(Pt.hvcC,l),{width:m,height:g}=e,b=e.pixelRatio[0],v=e.pixelRatio[1];return mt.box(Pt.hvc1,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,m>>8&255,m&255,g>>8&255,g&255,0,72,0,0,0,72,0,0,0,0,0,0,0,1,18,100,97,105,108,121,109,111,116,105,111,110,47,104,108,115,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,17,17]),f,mt.box(Pt.btrt,new Uint8Array([0,28,156,128,0,45,198,192,0,45,198,192])),mt.box(Pt.pasp,new Uint8Array([b>>24,b>>16&255,b>>8&255,b&255,v>>24,v>>16&255,v>>8&255,v&255])))}}f0=mt;mt.FTYP=f0.box(Pt.ftyp,l3,vC,l3,yC);mt.DINF=f0.box(Pt.dinf,f0.box(Pt.dref,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1])));var d6=90000;function P1(e,n,s=1,i=!1){let r=e*n*s;return i?Math.round(r):r}function SC(e,n,s=1,i=!1){return P1(e,n,1/s,i)}function oh(e,n=!1){return P1(e,1000,1/d6,n)}function kC(e,n=1){return P1(e,d6,1/n)}function c3(e){let{baseTime:n,timescale:s,trackId:i}=e;return`${n/s} (${n}/${s}) trackId: ${i}`}var xC=1e4,AC=1024,TC=1152,EC=1536,s1=8589934592;function f3(e,n,s,i){return{duration:n,size:s,cts:i,flags:{isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:e?2:1,isNonSync:e?0:1,paddingValue:0}}}class ph extends $i{constructor(e,n,s,i){super("mp4-remuxer",i);this.observer=void 0,this.config=void 0,this.typeSupported=void 0,this.ISGenerated=!1,this._initPTS=null,this._initDTS=null,this.nextVideoTs=null,this.nextAudioTs=null,this.videoSampleDuration=null,this.isAudioContiguous=!1,this.isVideoContiguous=!1,this.videoTrackConfig=void 0,this.observer=e,this.config=n,this.typeSupported=s,this.ISGenerated=!1}destroy(){this.config=this.videoTrackConfig=this._initPTS=this._initDTS=null}resetTimeStamp(e){let n=this._initPTS;if(!n||!e||e.trackId!==n.trackId||e.baseTime!==n.baseTime||e.timescale!==n.timescale)this.log(`Reset initPTS: ${n?c3(n):n} > ${e?c3(e):e}`);this._initPTS=this._initDTS=e}resetNextTimestamp(){this.log("reset next timestamp"),this.isVideoContiguous=!1,this.isAudioContiguous=!1}resetInitSegment(){this.log("ISGenerated flag reset"),this.ISGenerated=!1,this.videoTrackConfig=void 0}getVideoStartPts(e){let n=!1,s=e[0].pts,i=e.reduce((r,a)=>{let l=a.pts,c=l-r;if(c<-4294967296)n=!0,l=mr(l,s),c=l-r;if(c>0)return r;return l},s);if(n)this.debug("PTS rollover detected");return i}remux(e,n,s,i,r,a,l,c,f){let m,g,b,v,k,T,_=r,P=r,z=!f.iframe&&e.pid>-1,V=n.pid>-1,X=n.samples.length,J=e.samples.length>0,ee=l&&X>0||X>1;if((!z||J)&&(!V||ee)||this.ISGenerated||l){if(this.ISGenerated){var ne,ie,se,oe;let de=this.videoTrackConfig;if(de&&(n.width!==de.width||n.height!==de.height||((ne=n.pixelRatio)==null?void 0:ne[0])!==((ie=de.pixelRatio)==null?void 0:ie[0])||((se=n.pixelRatio)==null?void 0:se[1])!==((oe=de.pixelRatio)==null?void 0:oe[1]))||!de&&ee||this.nextAudioTs===null&&J)this.resetInitSegment()}if(!this.ISGenerated)b=this.generateIS(e,n,r,a);let ye=this.isVideoContiguous,Se=-1,me;if(ee){if(Se=CC(n.samples),!ye&&this.config.forceKeyFrameOnDiscontinuity){if(T=!0,Se>0){this.warn(`Dropped ${Se} out of ${X} video samples due to a missing keyframe`);let de=this.getVideoStartPts(n.samples);n.samples=n.samples.slice(Se),n.dropped+=Se,P+=(n.samples[0].pts-de)/n.inputTimeScale,me=P}else if(Se===-1)this.warn(`No keyframe found out of ${X} video samples`),T=!1}}if(this.ISGenerated){if(J&&ee&&r){let de=this.getVideoStartPts(n.samples),Ee=(mr(e.samples[0].pts,de)-de)/n.inputTimeScale;_+=Math.max(0,Ee),P+=Math.max(0,-Ee)}if(J){if(!e.samplerate)this.warn("regenerate InitSegment as audio detected"),b=this.generateIS(e,n,r,a);if(g=this.remuxAudio(e,_,this.isAudioContiguous,a,V||ee||c===Tt.AUDIO?P:void 0,f),ee){let de=g?g.endPTS-g.startPTS:0;if(!n.inputTimeScale)this.warn("regenerate InitSegment as video detected"),b=this.generateIS(e,n,r,a);m=this.remuxVideo(n,P,ye,de,f)}}else if(ee)m=this.remuxVideo(n,P,ye,0,f);if(m)m.firstKeyFrame=Se,m.independent=Se!==-1,m.firstKeyFramePTS=me}}if(this.ISGenerated&&this._initPTS&&this._initDTS){if(s.samples.length)k=m6(s,r,this._initPTS,this._initDTS);if(i.samples.length)v=p6(i,r,this._initPTS)}return{audio:g,video:m,initSegment:b,independent:T,text:v,id3:k}}computeInitPts(e,n,s,i){let r=Math.round(s*n),a=mr(e,r);if(a<r){this.log(`Adjusting PTS for rollover in timeline near ${(r-a)/n} ${i}`);while(a<r)a+=s1}return a-r}generateIS(e,n,s,i){let r=e.samples,a=n.samples,l=this.typeSupported,c={},f=this._initPTS,m=!f||i,g="audio/mp4",b,v,k,T=-1;if(m)b=v=1/0;if(e.config&&r.length){switch(e.timescale=e.samplerate,e.segmentCodec){case"mp3":if(l.mpeg)g="audio/mpeg",e.codec="";else if(l.mp3)e.codec="mp3";break;case"ac3":e.codec="ac-3";break}if(c.audio={id:"audio",container:g,codec:e.codec,initSegment:e.segmentCodec==="mp3"&&l.mpeg?new Uint8Array(0):mt.initSegment([e]),metadata:{channelCount:e.channelCount}},m){T=e.id,k=e.inputTimeScale;let _=this.computeInitPts(r[0].pts,k,s,"audio");if(!f||k!==f.timescale||s===0&&_<f.baseTime)b=v=_}}if(n.sps&&n.pps&&a.length){if(n.timescale=n.inputTimeScale,c.video={id:"main",container:"video/mp4",codec:n.codec,initSegment:mt.initSegment([n]),metadata:{width:n.width,height:n.height}},m){T=n.id,k=n.inputTimeScale;let _=this.getVideoStartPts(a),P=mr(a[0].dts,_),U=this.computeInitPts(P,k,s,"video"),z=this.computeInitPts(_,k,s,"video");if(!f||k!==f.timescale||lt(b)||s===0&&z<f.baseTime)v=Math.min(v,U),b=Math.min(b,U)}this.videoTrackConfig={width:n.width,height:n.height,pixelRatio:n.pixelRatio}}if(Object.keys(c).length){if(this.ISGenerated=!0,m&&lt(b)){if(f)this.warn(`Timestamps at playlist time: ${i?"":"~"}${s} ${b/k} != initPTS: ${f.baseTime/f.timescale} (${f.baseTime}/${f.timescale}) trackId: ${f.trackId}`);this.log(`Found initPTS at playlist time: ${s} offset: ${b/k} (${b}/${k}) trackId: ${T}`),this._initPTS={baseTime:b,timescale:k,trackId:T},this._initDTS={baseTime:v,timescale:k,trackId:T}}else b=k=void 0;return{tracks:c,initPTS:b,timescale:k,trackId:T}}}remuxVideo(e,n,s,i,r){let{inputTimeScale:a,samples:l}=e,c=[],f=l.length,m=this._initPTS,g=m.baseTime*a/m.timescale,b=this.nextVideoTs,v=8,k=this.videoSampleDuration,T,_,{POSITIVE_INFINITY:P,NEGATIVE_INFINITY:U}=Number,z=!1;if(!s||b===null){let Re=g+n*a,Fe=l[0].pts-mr(l[0].dts,l[0].pts);if(uh()&&b!==null&&Math.abs(Re-Fe-(b+g))<15000)s=!0;else b=Re-Fe-g}let V=b+g;for(let Re=0;Re<f;Re++){let Fe=l[Re];if(Fe.pts=mr(Fe.pts,V),Fe.dts=mr(Fe.dts,V),Fe.dts<l[Re>0?Re-1:Re].dts)z=!0}if(z)l.sort(function(Re,Fe){let Be=Re.dts-Fe.dts,Xe=Re.pts-Fe.pts;return Be||Xe});T=l[0].dts,_=l[l.length-1].dts;let X=_-T,J=X?Math.round(X/(f-1)):k||e.inputTimeScale/30;if(s){let Re=T-V,Fe=Re>J,Be=Re<-1;if(Fe||Be){if(Fe)this.warn(`${(e.segmentCodec||"").toUpperCase()}: ${oh(Re,!0)} ms (${Re}dts) hole between fragments detected at ${n.toFixed(3)}`);else this.warn(`${(e.segmentCodec||"").toUpperCase()}: ${oh(-Re,!0)} ms (${Re}dts) overlapping between fragments detected at ${n.toFixed(3)}`);if(!Be||V>=l[0].pts||uh()){T=V;let Xe=l[0].pts-Re;if(Fe)l[0].dts=T,l[0].pts=Xe;else{let st=!0;for(let Ze=0;Ze<l.length;Ze++){if(l[Ze].dts>Xe&&st)break;let St=l[Ze].pts;if(l[Ze].dts-=Re,l[Ze].pts-=Re,Ze<l.length-1){let _t=l[Ze+1].pts,dt=l[Ze].pts,Ot=_t<=dt,ln=_t<=St;st=Ot==ln}}}this.log(`Video: Initial PTS/DTS adjusted: ${oh(Xe,!0)}/${oh(T,!0)}, delta: ${oh(Re,!0)} ms`)}}}T=Math.max(0,T);let ee=0,te=0,ne=T;for(let Re=0;Re<f;Re++){let Fe=l[Re],Be=Fe.units,Xe=Be.length,st=0;for(let Ze=0;Ze<Xe;Ze++)st+=Be[Ze].data.length;if(te+=st,ee+=Xe,Fe.length=st,Fe.dts<ne)Fe.dts=ne,ne+=J/4|0||1;else ne=Fe.dts;P=Math.min(Fe.pts,P),U=Math.max(Fe.pts,U)}_=l[f-1].dts;let ie=te+4*ee+8,se;try{se=new Uint8Array(ie)}catch(Re){this.observer.emit(Z.ERROR,Z.ERROR,{type:Rt.MUX_ERROR,details:Le.REMUX_ALLOC_ERROR,fatal:!1,chunkMeta:r,error:Re,bytes:ie,reason:`fail allocating video mdat ${ie}`});return}zs(se,0,ie),zs(se,4,Pt.mdat);let oe=!1,{POSITIVE_INFINITY:ye,POSITIVE_INFINITY:Se,NEGATIVE_INFINITY:me,NEGATIVE_INFINITY:de}=Number;for(let Re=0;Re<f;Re++){let Fe=l[Re],Be=Fe.units,Xe=0;for(let St=0,_t=Be.length;St<_t;St++){let dt=Be[St],Ot=dt.data,ln=dt.data.byteLength;zs(se,v,ln),v+=4,se.set(Ot,v),v+=ln,Xe+=4+ln}let st;if(Re<f-1)k=l[Re+1].dts-Fe.dts,st=l[Re+1].pts-Fe.pts;else{let St=this.config,_t=Re>0?Fe.dts-l[Re-1].dts:J;if(st=Re>0?Fe.pts-l[Re-1].pts:J,St.stretchShortVideoTrack&&this.nextAudioTs!==null){let dt=Math.floor(St.maxBufferHole*a),Ot=(i?P+i*a:this.nextAudioTs+g)-Fe.pts;if(Ot>dt){if(k=Ot-_t,k<0)k=_t;else oe=!0;this.log(`It is approximately ${Ot/90} ms to the next segment; using duration ${k/90} ms for the last video frame.`)}else k=_t}else k=_t}let Ze=Math.round(Fe.pts-Fe.dts);if(ye=Math.min(ye,k),me=Math.max(me,k),Se=Math.min(Se,st),de=Math.max(de,st),!s&&Re===0&&Ze>k){let St=Math.round(Ze/J)*J;if(St-Ze===1)this.log(`pad first CTS ${Ze} -> ${St} of sn: ${r.sn}`),Ze=St}c.push(f3(Fe.key,k,Xe,Ze))}if(c.length){let Re=uh();if(Re){if(Re<70){let Fe=c[0].flags;Fe.dependsOn=2,Fe.isNonSync=0}}else if(UT()){if(de-Se<me-ye&&J/me<0.025&&c[0].cts===0){this.warn("Found irregular gaps in sample duration. Using PTS instead of DTS to determine MP4 sample duration.");let Fe=T;for(let Be=0,Xe=c.length;Be<Xe;Be++){let st=Fe+c[Be].duration,Ze=Fe+c[Be].cts;if(Be<Xe-1){let St=st+c[Be+1].cts;c[Be].duration=St-Ze}else c[Be].duration=Be?c[Be-1].duration:J;c[Be].cts=0,Fe=st}}}}k=oe||!k?J:k;let ce=_+k;if(this.nextVideoTs=b=ce-g,this.videoSampleDuration=k,this.isVideoContiguous=!0,r.iframe)if(c.length===1)c[0].duration=k=r.duration*a,this.nextVideoTs=b=T+k-g;else this.warn(`Not adjusting IFrame duration (sample count ${c.length})`);let Ee=mt.moof(r.sn,T,Nn(e,{samples:c})),we="video",qe={data1:Ee,data2:se,startPTS:(P-g)/a,endPTS:(U+k-g)/a,startDTS:(T-g)/a,endDTS:b/a,type:we,hasAudio:!1,hasVideo:!0,nb:c.length,dropped:e.dropped};return e.samples=[],e.dropped=0,qe}getSamplesPerFrame(e){switch(e.segmentCodec){case"mp3":return TC;case"ac3":return EC;default:return AC}}remuxAudio(e,n,s,i,r,a){let l=e.inputTimeScale,c=e.samplerate?e.samplerate:l,f=l/c,m=this.getSamplesPerFrame(e),g=m*f,b=this._initPTS,v=e.segmentCodec==="mp3"&&this.typeSupported.mpeg,k=[],T=r!==void 0,_=e.samples,P=v?0:8,U=this.nextAudioTs||-1,z=b.baseTime*l/b.timescale,V=z+n*l;if(this.isAudioContiguous=s=s||_.length&&U>0&&(i&&Math.abs(V-(U+z))<9000||Math.abs(mr(_[0].pts,V)-(U+z))<20*g),_.forEach(function(ce){ce.pts=mr(ce.pts,V)}),!s||U<0){let ce=_.length;if(_=_.filter((Ee)=>Ee.pts>=0),ce!==_.length)this.warn(`Removed ${_.length-ce} of ${ce} samples (initPTS ${z} / ${l})`);if(!_.length)return;if(r===0)U=0;else if(i&&!T)U=Math.max(0,V-z);else U=_[0].pts-z}if(e.segmentCodec==="aac"){let ce=this.config.maxAudioFramesDrift;for(let Ee=0,we=U+z;Ee<_.length;Ee++){let qe=_[Ee],Re=qe.pts,Fe=Re-we,Be=Math.abs(1000*Fe/l);if(Fe<=-ce*g&&T){if(Ee===0)this.warn(`Audio frame @ ${(Re/l).toFixed(3)}s overlaps marker by ${Math.round(1000*Fe/l)} ms.`),this.nextAudioTs=U=Re-z,we=Re}else if(Fe>=ce*g&&Be<xC&&T){let Xe=Math.round(Fe/g);we=Re-Xe*g;while(we<0&&Xe&&g)Xe--,we+=g;if(Ee===0)this.nextAudioTs=U=we-z;this.warn(`Injecting ${Xe} audio frames @ ${((we-z)/l).toFixed(3)}s due to ${Math.round(1000*Fe/l)} ms gap.`);for(let st=0;st<Xe;st++){let Ze=u6.getSilentFrame(e.parsedCodec||e.manifestCodec||e.codec,e.channelCount);if(!Ze)this.log("Unable to get silent frame for given audio codec; duplicating last frame instead."),Ze=qe.unit.subarray();_.splice(Ee,0,{unit:Ze,pts:we}),we+=g,Ee++}}qe.pts=we,we+=g}}let X=null,J=null,ee,te=0,ne=_.length;while(ne--)te+=_[ne].unit.byteLength;for(let ce=0,Ee=_.length;ce<Ee;ce++){let we=_[ce],{unit:qe,pts:Re}=we;if(J!==null){let Be=k[ce-1];Be.duration=Math.round((Re-J)/f)}else{if(s&&e.segmentCodec==="aac")Re=U+z;if(X=Re,te>0){te+=P;try{ee=new Uint8Array(te)}catch(Be){this.observer.emit(Z.ERROR,Z.ERROR,{type:Rt.MUX_ERROR,details:Le.REMUX_ALLOC_ERROR,fatal:!1,chunkMeta:a,error:Be,bytes:te,reason:`fail allocating audio mdat ${te}`});return}if(!v)zs(ee,0,te),zs(ee,4,Pt.mdat)}else return}if(ee)ee.set(qe,P);let Fe=qe.byteLength;P+=Fe,k.push(f3(!0,m,Fe,0)),J=Re}let ie=k.length;if(!ie)return;let se=k[k.length-1];U=J-z,this.nextAudioTs=U+f*se.duration;let oe=v?new Uint8Array(0):mt.moof(e.sequenceNumber++,X/f,Nn({},e,{samples:k}));e.samples=[];let ye=(X-z)/l,Se=this.nextAudioTs/l,de={data1:oe,data2:ee,startPTS:ye,endPTS:Se,startDTS:ye,endDTS:Se,type:"audio",hasAudio:!0,hasVideo:!1,nb:ie};return this.isAudioContiguous=!0,de}}function mr(e,n){let s;if(n===null)return e;if(n<e)s=-s1;else s=s1;while(Math.abs(e-n)>4294967296)e+=s;return e}function CC(e){for(let n=0;n<e.length;n++)if(e[n].key)return n;return-1}function m6(e,n,s,i){let r=e.samples.length;if(!r)return;let a=e.inputTimeScale;for(let c=0;c<r;c++){let f=e.samples[c];f.pts=mr(f.pts-s.baseTime*a/s.timescale,n*a)/a,f.dts=mr(f.dts-i.baseTime*a/i.timescale,n*a)/a}let l=e.samples;return e.samples=[],{samples:l}}function p6(e,n,s){let i=e.samples.length;if(!i)return;let r=e.inputTimeScale;for(let l=0;l<i;l++){let c=e.samples[l];c.pts=mr(c.pts-s.baseTime*r/s.timescale,n*r)/r}e.samples.sort((l,c)=>l.pts-c.pts);let a=e.samples;return e.samples=[],{samples:a}}class g6 extends $i{constructor(e,n,s,i){super("passthrough-remuxer",i);this.observer=void 0,this.emitInitSegment=!1,this.audioCodec=void 0,this.videoCodec=void 0,this.initData=void 0,this.initPTS=null,this.initTracks=void 0,this.lastEndTime=null,this.isVideoContiguous=!1,this.videoOnlyRemux=!1,this.decryptdata=null,this.pendingInitSegment=void 0,this.observer=e}destroy(){if(this.observer)this.observer.removeAllListeners();this.observer=null}resetTimeStamp(e){this.lastEndTime=null;let n=this.initPTS;if(n&&e){if(n.baseTime===e.baseTime&&n.timescale===e.timescale)return}this.initPTS=e}resetNextTimestamp(){this.isVideoContiguous=!1,this.lastEndTime=null}resetInitSegment(e,n,s,i){this.audioCodec=n,this.videoCodec=s,this.decryptdata=i,this.pendingInitSegment=e,this.videoOnlyRemux=!1,this.initTracks=void 0,this.initData=void 0,this.emitInitSegment=!0}generateInitSegment(e,n,s){this.videoOnlyRemux=!1;let{audioCodec:i,videoCodec:r}=this;if(!(e!=null&&e.byteLength)){this.initTracks=void 0,this.initData=void 0;return}let{audio:a,video:l}=this.initData=s||o9(e);if(n)CT(e,n);else{let f=a||l;if(f!=null&&f.encrypted)this.warn(`Init segment with encrypted track with has no key ("${f.codec}")!`)}if(a)i=h3(a,Kn.AUDIO,this);if(l)r=h3(l,Kn.VIDEO,this);let c={};if(a&&l)c.audiovideo={container:"video/mp4",codec:i+","+r,supplemental:l.supplemental,encrypted:l.encrypted,initSegment:e,id:"main"};else if(a)c.audio={container:"audio/mp4",codec:i,encrypted:a.encrypted,initSegment:e,id:"audio"};else if(l)c.video={container:"video/mp4",codec:r,supplemental:l.supplemental,encrypted:l.encrypted,initSegment:e,id:"main"};else this.warn("initSegment does not contain moov or trak boxes.");this.initTracks=c}remux(e,n,s,i,r,a,l,c,f,m,g){var b,v;let{initPTS:k,lastEndTime:T}=this,_={audio:void 0,video:void 0,text:void 0,id3:s,initSegment:void 0};if(!lt(T))T=this.lastEndTime=r||0;let P=n.samples;if(!P.length)return _;let U=this.pendingInitSegment;if(U)this.pendingInitSegment=void 0,this.generateInitSegment(U,this.decryptdata,m);let z={initPTS:void 0,timescale:void 0,trackId:void 0},V=this.initData;if(!((b=V)!=null&&b.length))this.generateInitSegment(P),V=this.initData;if(!((v=V)!=null&&v.length))return this.warn("Failed to generate initSegment."),_;if(f.iframe&&V.audio&&V.video){var X;let We=(X=this.initTracks)==null||(X=X.audiovideo)==null?void 0:X.initSegment,nt=We?ST(We):null;if(nt){var J;if(this.log("Converted muxed init segment to video-only for I-Frame playback"),this.generateInitSegment(nt,this.decryptdata),(J=this.initData)!=null&&J.length)V=this.initData,this.emitInitSegment=!0,this.videoOnlyRemux=!0}}if(this.emitInitSegment)z.tracks=this.initTracks,_.initSegment=z,this.emitInitSegment=!1;let ee=f.iframe,te=g&&(!ee||g.includeSampleDetails)?g.tracks:RT(P,V,f,this,ee),ne=V.audio?te[V.audio.id]:null,ie=V.video?te[V.video.id]:null,se=!!V.audio,oe=!!V.video,ye="";if(se)ye+="audio";if(oe)ye+="video";let Se=Md(ie,1/0),me=Md(ne,1/0),de=Md(ie,0,!0),ce=Md(ne,0,!0),Ee=r,we=0;if(ie&&ne&&V.audio&&(me>de||Se>ce))this.warn(`audio and video track sample timestamps do not overlap. v: ${Se}-${de} a: ${me}-${ce}}`,ie,ne);let qe=!!ne&&(!ie||!k&&me<Se||!!k&&k.trackId===V.audio.id),Re=qe?ne:ie;if(!Re)return this.log(`No media samples found in ${c} ${f.level} ${f.part===-1?"":`part: ${f.part} of`} sn: ${f.sn} at playlist time: ${r}`),_;let Fe=P,Be,Xe;if(ie&&ie.sampleCount>=1&&V.video&&f.iframe){let{trun:We,start:nt}=ie,yt=We.length===1,pt=!We.length?[]:yt?We[0].samples:We[0].samples.concat(...We.slice(1).map((zt)=>zt.samples));if(pt.length){let zt=We[0],sn=zt;for(let qt=We.length;qt--;)if(We[qt].samples.length){sn=We[qt];break}let un=sn.lastSampleDurationOffset,{defaultSampleDurationOffset:Kt}=zt,Pn=Math.abs(f.duration-(de-Se))>0.05,hs=pt.length<ie.sampleCount;if(!(Pn||hs||this.videoOnlyRemux||!yt))we=de-Se;else{let qt=hs?sn.sampleOffset+sn.samples.reduce((us,Gs)=>us+Gs.size,0):void 0,ei=Pn?f.duration:de-Se,An=_C(pt,ei*V.video.timescale,un,Kt),os=kT(P,V.video.id,pt.length,qt,An);if(os)Fe=os,Xe=jC(nt,pt);else this.warn(`IFrame remux skipped (sn ${f.sn}); using native sample duration`);we=os&&An?ei:de-Se}}else this.warn(`Could not remux IFrame track fragment (no samples in range, trun count ${We.length})`),we=de-Se}else we=qe?ce-me:de-Se;if(this.videoOnlyRemux&&Fe===P)return this.warn(`Dropping muxed I-Frame fragment that could not be remuxed to video-only (sn: ${f.sn})`),_;let st=Re.timescale,Ze=Re.start-r*st,St=qe?V.audio.id:V.video.id;if(Ee=Re.start/st,(a||!k)&&(IC(k,Ee,r,we)||st!==k.timescale)){let We=!1,nt=qe?"audio":"video";if(k){let yt=r!==0?Ee/r:1+Ee/1;We=Ee>=0&&Math.abs(1-yt)<0.001,this.log(`${nt} timestamps in track ${St} at playlist time: ${a?"":"~"}${r} maps to ${Ee} with initPTS: ${k.baseTime/k.timescale} (${Ze/st-k.baseTime/k.timescale}s diff) (${ye}) drift estimate: ${yt} ${We?"(ignoring drift)":"remapping timestamps (initPTS)"}`)}if(!We)this.log(`Found initPTS in ${nt} track ${St} at playlist time: ${r} offset: ${Ee-r} (${Ze}/${st})`),k=null,z.initPTS=Ze,z.timescale=st,z.trackId=St}if(!k){if(!z.timescale||z.trackId===void 0||z.initPTS===void 0)this.warn("Could not set initPTS"),z.initPTS=Ee,z.timescale=1,z.trackId=-1;this.initPTS=k={baseTime:z.initPTS,timescale:z.timescale,trackId:z.trackId}}else z.initPTS=k.baseTime,z.timescale=k.timescale,z.trackId=k.trackId;let _t=Ee-k.baseTime/k.timescale,dt=_t+we,Ot=oe&&(Re==null?void 0:Re.ptsMin)!==void 0?Re.ptsMin/Re.timescale-k.baseTime/k.timescale:_t,ln=Xe!==void 0&&ie?Xe/ie.timescale-k.baseTime/k.timescale:oe&&Re!=null&&Re.ptsMax?Re.ptsMax/Re.timescale-k.baseTime/k.timescale:dt;if(we>0)this.lastEndTime=dt;else this.warn("Duration parsed from mp4 should be greater than zero"),this.resetNextTimestamp();let kn=(V.audio?V.audio.encrypted:!1)||(V.video?V.video.encrypted:!1),an={data1:Fe,data2:Be,startPTS:Ot,startDTS:_t,endPTS:ln,endDTS:dt,type:ye,hasAudio:se,hasVideo:oe,nb:1,dropped:0,encrypted:kn};_.audio=se&&!oe?an:void 0,_.video=oe?an:void 0;let on=this.isVideoContiguous,fs=ie==null?void 0:ie.sampleCount;if(fs){let We=ie.keyFrameIndex,nt=We!==-1;if(an.nb=fs,an.dropped=We===0||on?0:nt?We:fs,an.independent=nt,an.firstKeyFrame=We,nt&&ie.keyFrameStart)an.firstKeyFramePTS=(ie.keyFrameStart-k.baseTime)/k.timescale;if(!on)_.independent=nt;if(this.isVideoContiguous||(this.isVideoContiguous=nt),an.dropped)this.warn(`fmp4 does not start with IDR: firstIDR ${We}/${fs} dropped: ${an.dropped} start: ${an.firstKeyFramePTS||"NA"}`)}if(_.initSegment=z,_.id3=m6(s,r,k,k),i.samples.length)_.text=p6(i,r,k);return _}}function Md(e,n,s=!1){return(e==null?void 0:e.start)!==void 0?(e.start+(s?e.duration:0))/e.timescale:n}function jC(e,n){let s=e,i=e;for(let r=0;r<n.length;r++){let{cts:a,duration:l}=n[r];i=Math.max(i,s+(a||0)+l),s+=l}return i}function _C(e,n,s,i){if(s!==void 0){let a=e[e.length-1],l=n;for(let c=0;c<e.length-1;c++)l-=e[c].duration;if(l<=0)l=a.duration;return a.duration=l,{durationOffset:s,value:l}}if(i===void 0)return;let r=Math.round(n/e.length);for(let a=0;a<e.length;a++)e[a].duration=r;return{durationOffset:i,value:r}}function IC(e,n,s,i){if(e===null)return!0;let r=Math.max(i,1),a=n-e.baseTime/e.timescale;return Math.abs(a-s)>=r}function h3(e,n,s){let i=e.codec;if(i&&i.length>4)return i;if(n===Kn.AUDIO){if(i==="ec-3"||i==="ac-3"||i==="alac")return i;if(i==="fLaC"||i==="Opus")return Zd(i,!1);return s.warn(`Unhandled audio codec "${i}" in mp4 MAP`),i||"mp4a"}else if(i==="mjpg")return i;return s.warn(`Unhandled video codec "${i}" in mp4 MAP`),i||"avc1"}var sl;try{sl=self.performance.now.bind(self.performance)}catch(e){sl=Date.now}var Vd=[{demux:l6,remux:g6},{demux:uo,remux:ph},{demux:s6,remux:ph},{demux:o6,remux:ph}];Vd.splice(2,0,{demux:r6,remux:ph});class i1{constructor(e,n,s,i,r,a){this.asyncResult=!1,this.logger=void 0,this.observer=void 0,this.typeSupported=void 0,this.config=void 0,this.id=void 0,this.demuxer=void 0,this.remuxer=void 0,this.decrypter=void 0,this.probe=void 0,this.decryptionPromise=null,this.transmuxConfig=void 0,this.currentTransmuxState=void 0,this.observer=e,this.typeSupported=n,this.config=s,this.id=r,this.logger=a}configure(e){if(this.transmuxConfig=e,this.decrypter)this.decrypter.reset()}push(e,n,s,i){if(!this.observer)return Fd(s);let r=s.transmuxing;r.executeStart=sl();let a=new Uint8Array(e),{currentTransmuxState:l,transmuxConfig:c}=this;if(i)this.currentTransmuxState=i;let{contiguous:f,discontinuity:m,trackSwitch:g,accurateTimeOffset:b,timeOffset:v,initSegmentChange:k}=i||l,{audioCodec:T,videoCodec:_,defaultInitPts:P,duration:U,initSegmentData:z}=c,V=RC(a,n);if(V&&Wc(V.method)){let te=this.getDecrypter(),ne=I1(V.method);return this.asyncResult=!0,this.decryptionPromise=te.decrypt(a,V.key.buffer,V.iv.buffer,ne,s.decryptRange).then((ie)=>{let se=this.push(ie,null,s);return this.decryptionPromise=null,se}),this.decryptionPromise}let X=this.needsProbing(m,g);if(X){let te=s.iframe&&z&&uo.probe(z,this.logger)?z:a,ne=this.configureTransmuxer(te);if(ne)return this.logger.warn(`[transmuxer] ${ne.message}`),this.observer.emit(Z.ERROR,Z.ERROR,{type:Rt.MEDIA_ERROR,details:Le.FRAG_PARSING_ERROR,fatal:!1,error:ne,reason:ne.message}),r.executeEnd=sl(),Fd(s)}if(m||g||k||X)this.resetInitSegment(z,T,_,U,n,s);if(m||k||X)this.resetInitialTimestamp(P);if(!f)this.resetContiguity();let J=this.transmux(a,V,v,b,s);this.asyncResult=Th(J);let ee=this.currentTransmuxState;return ee.contiguous=!0,ee.discontinuity=!1,ee.trackSwitch=!1,r.executeEnd=sl(),J}flush(e){let n=e.transmuxing;n.executeStart=sl();let{decrypter:s,currentTransmuxState:i,decryptionPromise:r}=this;if(r)return this.asyncResult=!0,r.then(()=>this.flush(e));let a=[],{timeOffset:l}=i;if(s){let g=s.flush();if(g)a.push(this.push(g.buffer,null,e))}let{demuxer:c,remuxer:f}=this;if(!c||!f){n.executeEnd=sl();let g=[Fd(e)];if(this.asyncResult)return Promise.resolve(g);return g}let m=c.flush(l,e);if(Th(m))return this.asyncResult=!0,m.then((g)=>(this.flushRemux(a,g,e),a));if(this.flushRemux(a,m,e),this.asyncResult)return Promise.resolve(a);return a}flushRemux(e,n,s){if(!this.remuxer)return;let{audioTrack:i,videoTrack:r,id3Track:a,textTrack:l}=n,{accurateTimeOffset:c,timeOffset:f}=this.currentTransmuxState;this.logger.log(`[transmuxer.ts]: Flushed ${this.id} sn: ${s.sn}${s.part>-1?" part: "+s.part:""} of ${this.id} playlist ${s.level}`);let m=this.remuxer.remux(i,r,a,l,f,c,!0,this.id,s,n.initData,n.sampleData);e.push({remuxResult:m,chunkMeta:s}),s.transmuxing.executeEnd=sl()}resetInitialTimestamp(e){let{demuxer:n,remuxer:s}=this;if(!n||!s)return;n.resetTimeStamp(e),s.resetTimeStamp(e)}resetContiguity(){let{demuxer:e,remuxer:n}=this;if(!e||!n)return;e.resetContiguity(),n.resetNextTimestamp()}resetInitSegment(e,n,s,i,r,a){let{demuxer:l,remuxer:c}=this;if(!l||!c)return;l.resetInitSegment(e,n,s,i,r,a),c.resetInitSegment(e,n,s,r)}destroy(){if(this.demuxer)this.demuxer.destroy(),this.demuxer=void 0;if(this.remuxer)this.remuxer.destroy(),this.remuxer=void 0;if(this.observer)this.observer.removeAllListeners();this.decryptionPromise=null,this.decrypter=this.observer=void 0,this.logger=this.config=this.probe=void 0}transmux(e,n,s,i,r){let a;if((n==null?void 0:n.method)==="SAMPLE-AES")a=this.transmuxSampleAes(e,n,s,i,r);else a=this.transmuxUnencrypted(e,s,i,r);return a}transmuxUnencrypted(e,n,s,i){let{demuxer:r,remuxer:a}=this;if(!r||!a)return Fd(i);let l=r.demux(e,n,i,!1,!this.config.progressive),{audioTrack:c,videoTrack:f,id3Track:m,textTrack:g}=l;return{remuxResult:a.remux(c,f,m,g,n,s,!1,this.id,i,l.initData,l.sampleData),chunkMeta:i}}transmuxSampleAes(e,n,s,i,r){if(!this.demuxer)return Promise.reject(Error("no demuxer"));return this.demuxer.demuxSampleAes(e,n,s,r).then((a)=>({remuxResult:this.remuxer.remux(a.audioTrack,a.videoTrack,a.id3Track,a.textTrack,s,i,!1,this.id,r,a.initData,a.sampleData),chunkMeta:r}))}configureTransmuxer(e){let{config:n,observer:s,typeSupported:i}=this;if(!s)return;let r;try{for(let g=0,b=Vd.length;g<b;g++){var a;if((a=Vd[g].demux)!=null&&a.probe(e,this.logger)){r=Vd[g];break}}}catch(g){return g}if(!r)return Error("Failed to find demuxer by probing fragment data");let l=this.demuxer,c=this.remuxer,f=r.demux,m=r.remux;if(!l||!(l instanceof f))this.logger.log(`Using ${f.name}`),this.demuxer=new f(s,n,i,this.logger),this.probe=f.probe;if(!c||!(c instanceof m))this.logger.log(`Using ${m.name}`),this.remuxer=new m(s,n,i,this.logger)}needsProbing(e,n){return!this.demuxer||!this.remuxer||e||n}getDecrypter(){let e=this.decrypter;if(!e)e=this.decrypter=new g0(this.config);return e}}function RC(e,n){let s=null;if(e.byteLength>0&&(n==null?void 0:n.key)!=null&&n.iv!==null&&n.method!=null)s=n;return s}var Fd=(e)=>({remuxResult:{},chunkMeta:e});function Th(e){return"then"in e&&e.then instanceof Function}class b6{constructor(e,n,s,i,r){this.audioCodec=void 0,this.videoCodec=void 0,this.initSegmentData=void 0,this.duration=void 0,this.defaultInitPts=void 0,this.audioCodec=e,this.videoCodec=n,this.initSegmentData=s,this.duration=i,this.defaultInitPts=r||null}}class w6{constructor(e,n,s,i,r,a){this.discontinuity=void 0,this.contiguous=void 0,this.accurateTimeOffset=void 0,this.trackSwitch=void 0,this.timeOffset=void 0,this.initSegmentChange=void 0,this.discontinuity=e,this.contiguous=n,this.accurateTimeOffset=s,this.trackSwitch=i,this.timeOffset=r,this.initSegmentChange=a}}var u3=0;class N1{constructor(e,n,s,i){this.error=null,this.hls=void 0,this.id=void 0,this.instanceNo=u3++,this.observer=void 0,this.frag=null,this.part=null,this.useWorker=void 0,this.workerContext=null,this.transmuxer=null,this.onTransmuxComplete=void 0,this.onFlush=void 0,this.onWorkerMessage=(c)=>{let f=c.data,m=this.hls;if(!m||!(f!=null&&f.event)||f.instanceNo!==this.instanceNo)return;switch(f.event){case"init":{var g;let b=(g=this.workerContext)==null?void 0:g.objectURL;if(b)self.URL.revokeObjectURL(b);break}case"transmuxComplete":{this.handleTransmuxComplete(f.data);break}case"flush":{this.onFlush(f.data);break}case"workerLog":{if(m.logger[f.data.logType])m.logger[f.data.logType](f.data.message);break}default:{f.data=f.data||{},f.data.frag=this.frag,f.data.part=this.part,f.data.id=this.id,m.trigger(f.event,f.data);break}}},this.onWorkerError=(c)=>{if(!this.hls)return;let f=Error(`${c.message} (${c.filename}:${c.lineno})`);this.hls.config.enableWorker=!1,this.hls.logger.warn(`Error in "${this.id}" Web Worker, fallback to inline`),this.hls.trigger(Z.ERROR,{type:Rt.OTHER_ERROR,details:Le.INTERNAL_EXCEPTION,fatal:!1,event:"demuxerWorker",error:f})};let r=e.config;this.hls=e,this.id=n,this.useWorker=!!r.enableWorker,this.onTransmuxComplete=s,this.onFlush=i;let a=(c,f)=>{if(f=f||{},f.frag=this.frag||void 0,c===Z.ERROR)f=f,f.parent=this.id,f.part=this.part,this.error=f.error;this.hls.trigger(c,f)};this.observer=new q1,this.observer.on(Z.FRAG_DECRYPTED,a),this.observer.on(Z.ERROR,a);let l=I5(r.preferManagedMediaSource);if(this.useWorker&&typeof Worker<"u"){let c=this.hls.logger;if(r.workerPath||KE()){try{if(r.workerPath)c.log(`loading Web Worker ${r.workerPath} for "${n}"`),this.workerContext=QE(r.workerPath);else c.log(`injecting Web Worker for "${n}"`),this.workerContext=YE();let{worker:m}=this.workerContext;m.addEventListener("message",this.onWorkerMessage),m.addEventListener("error",this.onWorkerError),m.postMessage({instanceNo:this.instanceNo,cmd:"init",typeSupported:l,id:n,config:ss(r)})}catch(m){c.warn(`Error setting up "${n}" Web Worker, fallback to inline`,m),this.terminateWorker(),this.error=null,this.transmuxer=new i1(this.observer,l,r,"",n,e.logger)}return}}this.transmuxer=new i1(this.observer,l,r,"",n,e.logger)}reset(){if(this.frag=null,this.part=null,this.workerContext){let e=this.instanceNo;this.instanceNo=u3++;let n=this.hls.config,s=I5(n.preferManagedMediaSource);this.workerContext.worker.postMessage({instanceNo:this.instanceNo,cmd:"reset",resetNo:e,typeSupported:s,id:this.id,config:ss(n)})}}terminateWorker(){if(this.workerContext){let{worker:e}=this.workerContext;this.workerContext=null,e.removeEventListener("message",this.onWorkerMessage),e.removeEventListener("error",this.onWorkerError),JE(this.hls.config.workerPath)}}destroy(){if(this.workerContext)this.terminateWorker(),this.onWorkerMessage=this.onWorkerError=null;else{let n=this.transmuxer;if(n)n.destroy(),this.transmuxer=null}let e=this.observer;if(e)e.removeAllListeners();this.frag=null,this.part=null,this.observer=null,this.hls=null}push(e,n,s,i,r,a,l,c,f,m){var g,b;f.transmuxing.start=self.performance.now();let{instanceNo:v,transmuxer:k}=this,T=a?a.start:r.start,_=r.decryptdata,P=this.frag,U=P?r.cc!==P.cc:!0,z=P?f.level!==P.level:!0,V=P?f.sn-P.sn:-1,X=this.part?f.part-this.part.index:-1,J=V===0&&f.id>1&&f.id===(P==null?void 0:P.stats.chunkCount),ee=!z&&(V===1||V===0&&(X===1||J&&X<=0)),te=self.performance.now();if(z||V||r.stats.parsing.start===0)r.stats.parsing.start=te;if(a&&(X||!ee))a.stats.parsing.start=te;let ne=!(P&&((g=r.initSegment)==null?void 0:g.url)===((b=P.initSegment)==null?void 0:b.url)),ie=new w6(U,ee,c,z,T,ne);if(!ee||U||ne){this.hls.logger.log(`[transmuxer-interface]: Starting new transmux session for ${r.type} sn: ${f.sn}${f.part>-1?" part: "+f.part:""} ${this.id} playlist: ${f.level} id: ${f.id}
28
+ discontinuity: ${U}
29
+ trackSwitch: ${z}
30
+ contiguous: ${ee}
31
+ accurateTimeOffset: ${c}
32
+ timeOffset: ${T}
33
+ initSegmentChange: ${ne}`);let se=new b6(s,i,n,l,m);this.configureTransmuxer(se)}if(this.frag=r,this.part=a,this.workerContext)this.workerContext.worker.postMessage({instanceNo:v,cmd:"demux",data:e,decryptdata:_,chunkMeta:f,state:ie},e instanceof ArrayBuffer?[e]:[]);else if(k){let se=k.push(e,_,f,ie);if(Th(se))se.then((oe)=>{this.handleTransmuxComplete(oe)}).catch((oe)=>{this.transmuxerError(oe,f,"transmuxer-interface push error")});else this.handleTransmuxComplete(se)}}flush(e){e.transmuxing.start=self.performance.now();let{instanceNo:n,transmuxer:s}=this;if(this.workerContext)this.workerContext.worker.postMessage({instanceNo:n,cmd:"flush",chunkMeta:e});else if(s){let i=s.flush(e);if(Th(i))i.then((r)=>{this.handleFlushResult(r,e)}).catch((r)=>{this.transmuxerError(r,e,"transmuxer-interface flush error")});else this.handleFlushResult(i,e)}}transmuxerError(e,n,s){if(!this.hls)return;this.error=e,this.hls.trigger(Z.ERROR,{type:Rt.MEDIA_ERROR,details:Le.FRAG_PARSING_ERROR,chunkMeta:n,frag:this.frag||void 0,part:this.part||void 0,fatal:!1,error:e,err:e,reason:s})}handleFlushResult(e,n){e.forEach((s)=>{this.handleTransmuxComplete(s)}),this.onFlush(n)}configureTransmuxer(e){let{instanceNo:n,transmuxer:s}=this;if(this.workerContext)this.workerContext.worker.postMessage({instanceNo:n,cmd:"configure",config:e});else if(s)s.configure(e)}handleTransmuxComplete(e){e.chunkMeta.transmuxing.end=self.performance.now(),this.onTransmuxComplete(e)}}var d3=100;class y6 extends w0{constructor(e,n,s){super(e,n,s,"audio-stream-controller",Tt.AUDIO);this.mainAnchor=null,this.mainFragLoading=null,this.audioOnly=!1,this.bufferedTrack=null,this.switchingTrack=null,this.trackId=-1,this.nextTrackId=-1,this.waitingData=null,this.mainDetails=null,this.flushing=!1,this.bufferFlushed=!1,this.cachedTrackLoadedData=null,this.registerListeners()}onHandlerDestroying(){this.unregisterListeners(),super.onHandlerDestroying(),this.resetItem()}resetItem(){this.mainDetails=this.mainAnchor=this.mainFragLoading=this.bufferedTrack=this.switchingTrack=this.waitingData=this.cachedTrackLoadedData=null}registerListeners(){super.registerListeners();let{hls:e}=this;e.on(Z.LEVEL_LOADED,this.onLevelLoaded,this),e.on(Z.AUDIO_TRACKS_UPDATED,this.onAudioTracksUpdated,this),e.on(Z.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.on(Z.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.on(Z.BUFFER_RESET,this.onBufferReset,this),e.on(Z.BUFFER_CREATED,this.onBufferCreated,this),e.on(Z.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(Z.BUFFER_FLUSHED,this.onBufferFlushed,this),e.on(Z.INIT_PTS_FOUND,this.onInitPtsFound,this),e.on(Z.FRAG_LOADING,this.onFragLoading,this),e.on(Z.FRAG_BUFFERED,this.onFragBuffered,this)}unregisterListeners(){let{hls:e}=this;if(!e)return;super.unregisterListeners(),e.off(Z.LEVEL_LOADED,this.onLevelLoaded,this),e.off(Z.AUDIO_TRACKS_UPDATED,this.onAudioTracksUpdated,this),e.off(Z.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.off(Z.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.off(Z.BUFFER_RESET,this.onBufferReset,this),e.off(Z.BUFFER_CREATED,this.onBufferCreated,this),e.off(Z.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(Z.BUFFER_FLUSHED,this.onBufferFlushed,this),e.off(Z.INIT_PTS_FOUND,this.onInitPtsFound,this),e.off(Z.FRAG_LOADING,this.onFragLoading,this),e.off(Z.FRAG_BUFFERED,this.onFragBuffered,this)}onInitPtsFound(e,n){let{frag:s,id:i,initPTS:r,timescale:a,trackId:l,timestampOffsets:c}=n;if(i===Tt.MAIN){let f=s.cc,m=this.fragCurrent;if(this.initPTS=c,this.log(`InitPTS for cc: ${f} found from main: ${r/a} (${r}/${a}) trackId: ${l}`),this.mainAnchor=s,this.state===Ve.WAITING_INIT_PTS){let g=this.waitingData;if(!g&&!this.loadingParts||g&&g.frag.cc!==f)this.syncWithAnchor(s,g==null?void 0:g.frag)}else if(!this.hls.hasEnoughToStart&&m&&m.cc!==f)m.abortRequests(),this.syncWithAnchor(s,m);else if(this.state===Ve.IDLE)this.tick()}}getLoadPosition(){var e;if(!this.startFragRequested&&this.nextLoadPosition>=0&&((e=this.switchingTrack)==null?void 0:e.flushImmediate)!==!1)return this.nextLoadPosition;return super.getLoadPosition()}syncWithAnchor(e,n){var s;let i=((s=this.mainFragLoading)==null?void 0:s.frag)||null;if(n){if((i==null?void 0:i.cc)===n.cc)return}let r=(i||e).cc,a=this.getLevelDetails(),l=this.getLoadPosition(),c=T9(a,r,l);if(c){if(this.log(`Syncing with main frag at ${c.start} cc ${c.cc}`),this.startFragRequested=!1,this.nextLoadPosition=c.start,this.resetLoadingState(),this.state===Ve.IDLE)this.doTickIdle()}}startLoad(e,n){if(!this.levels){this.startPosition=e,this.state=Ve.STOPPED;return}let s=this.lastCurrentTime;if(this.stopLoad(),this.setInterval(d3),s>0&&e===-1&&!n&&this.initPTS.length)this.log(`Override startPosition with lastCurrentTime @${s.toFixed(3)}`),e=s;if(this.state=Ve.IDLE,this.nextLoadPosition=this.lastCurrentTime=e+this.timelineOffset,this.startPosition=n?-1:e,!n&&!this.fragmentTracker.hasFragments(this.playlistType))this.startFragRequested=!1;this.tick()}doTick(){switch(this.state){case Ve.IDLE:this.doTickIdle();break;case Ve.WAITING_TRACK:{let{levels:e,trackId:n}=this,s=e==null?void 0:e[n],i=s==null?void 0:s.details;if(i&&!this.waitForLive(s)){if(this.waitForCdnTuneIn(i))break;this.state=Ve.WAITING_INIT_PTS}break}case Ve.FRAG_LOADING_WAITING_RETRY:{this.checkRetryDate();break}case Ve.WAITING_INIT_PTS:{let e=this.waitingData;if(e){let{frag:n,part:s,cache:i,complete:r}=e,a=this.mainAnchor;if(this.initPTS[n.cc]!==void 0){this.waitingData=null,this.state=Ve.FRAG_LOADING;let l=i.flush().buffer,c={frag:n,part:s,payload:l,networkDetails:null};if(this._handleFragmentLoadProgress(c),r)super._handleFragmentLoadComplete(c)}else if(a&&a.cc!==e.frag.cc)this.syncWithAnchor(a,e.frag)}else this.state=Ve.IDLE}}this.onTickEnd()}resetLoadingState(){let e=this.waitingData;if(e)this.fragmentTracker.removeFragment(e.frag),this.waitingData=null;super.resetLoadingState()}onTickEnd(){let{media:e}=this;if(!(e!=null&&e.readyState))return;this.lastCurrentTime=e.currentTime,this.checkFragmentChanged()}doTickIdle(){var e;let{hls:n,levels:s,media:i,trackId:r}=this,a=n.config;if(!this.buffering||!i&&!this.primaryPrefetch&&(this.startFragRequested||!a.startFragPrefetch)||!(s!=null&&s[r]))return;let l=s[r],c=l.details;if(!c||this.waitForLive(l)||this.waitForCdnTuneIn(c)){this.state=Ve.WAITING_TRACK,this.startFragRequested=!1;return}let f=this.getBufferOutput();if(this.bufferFlushed&&f)this.bufferFlushed=!1,this.afterBufferFlushed(f,Kn.AUDIO);let m=this.getFwdBufferInfo();if(m===null)return;if(!this.switchingTrack&&this._streamEnded(m,c)){n.trigger(Z.BUFFER_EOS,{type:"audio"}),this.state=Ve.ENDED;return}let g=m.len,b=n.maxBufferLength,v=c.fragments,k=v[0].start,T=this.getLoadPosition(),_=this.flushing||this.switchingTrack&&!this.switchingTrack.flushImmediate?T:m.end;if(this.switchingTrack&&i){let z=T;if(c.PTSKnown&&z<k&&z>=this.timelineOffset){if(m.end>k||m.nextStart)this.log(`Alt audio track ahead of main track, seek to start of alt audio track ${z} -> ${k} + 0.05`),i.currentTime=k+0.05}}if(g>=b&&!this.switchingTrack&&_<v[v.length-1].start)return;let P=this.getNextFragment(_,c);if(P&&this.isLoopLoading(P,_))P=this.getNextFragmentLoopLoading(P,c,m,Tt.MAIN,b);if(!P){this.bufferFlushed=!0;return}if(this.exceedsMaxBuffer(m,b,P))return;let U=((e=this.mainFragLoading)==null?void 0:e.frag)||null;if(!this.audioOnly&&this.startFragRequested&&U&&_s(P)&&!P.endList&&(!c.live||!this.loadingParts&&_<this.hls.liveSyncPosition)){if(this.fragmentTracker.getState(U)===As.OK)this.mainFragLoading=U=null;if(U&&_s(U)){if(P.start>U.end){let V=this.fragmentTracker.getFragAtPos(_,Tt.MAIN);if(V&&V.end>U.end)U=V,this.mainFragLoading={frag:V,targetBufferTime:null}}if(P.start>U.end)return}}this.loadFragment(P,l,_)}onMediaDetaching(e,n){this.bufferFlushed=this.flushing=!1,super.onMediaDetaching(e,n)}onAudioTracksUpdated(e,{audioTracks:n}){this.resetTransmuxer(),this.levels=n.map((s)=>new Jc(s))}onAudioTrackSwitching(e,n){let s=!!n.url;this.trackId=n.id;let{fragCurrent:i}=this;if(i)i.abortRequests(),this.removeUnbufferedFrags(i.start);if(this.resetLoadingState(),s){if(this.switchingTrack=n,!n.flushImmediate)this.nextTrackId=n.id,this.nextLevelSwitch();if(this.flushAudioIfNeeded(n),this.state!==Ve.STOPPED)this.setInterval(d3),this.state=Ve.IDLE,this.tick()}else this.resetTransmuxer(),this.switchingTrack=null,this.bufferedTrack=n,this.clearInterval()}onManifestLoading(){super.onManifestLoading(),this.bufferFlushed=this.flushing=this.audioOnly=!1,this.resetItem(),this.trackId=-1}onLevelLoaded(e,n){this.mainDetails=n.details;let s=this.cachedTrackLoadedData;if(s)this.cachedTrackLoadedData=null,this.onAudioTrackLoaded(Z.AUDIO_TRACK_LOADED,s)}onAudioTrackLoaded(e,n){var s;let{levels:i}=this,{details:r,id:a,groupId:l,track:c}=n;if(!i){this.warn(`Audio tracks reset while loading track ${a} "${c.name}" of "${l}"`);return}let f=this.mainDetails;if(!f||r.endCC>f.endCC||f.expired){if(this.cachedTrackLoadedData=n,this.state!==Ve.STOPPED)this.state=Ve.WAITING_TRACK;return}this.cachedTrackLoadedData=null,this.log(`Audio track ${a} "${c.name}" of "${l}" loaded [${r.startSN},${r.endSN}]${r.lastPartSn?`[part-${r.lastPartSn}-${r.lastPartIndex}]`:""},duration:${r.totalduration}`);let m=i[a],g=0;if(r.live||(s=m.details)!=null&&s.live){if(this.checkLiveUpdate(r),r.deltaUpdateFailed)return;if(m.details){var b;g=this.alignPlaylists(r,m.details,(b=this.levelLastLoaded)==null?void 0:b.details)}if(!r.alignedSliding)r0(f,r,this),g=r.fragmentStart}if(m.details=r,this.levelLastLoaded=m,!this.startFragRequested)this.setStartPosition(f,g);if(this.hls.trigger(Z.AUDIO_TRACK_UPDATED,{details:r,id:a,groupId:n.groupId}),this.state===Ve.WAITING_TRACK&&!this.waitForCdnTuneIn(r))this.state=Ve.IDLE;this.tick()}_handleFragmentLoadProgress(e){var n;let s=e.frag,{part:i,payload:r}=e,{config:a,trackId:l,levels:c}=this;if(!c){this.warn(`Audio tracks were reset while fragment load was in progress. Fragment ${s.sn} of level ${s.level} will not be buffered`);return}let f=c[l];if(!f){this.warn("Audio track is undefined on fragment load progress");return}let m=f.details;if(!m){this.warn("Audio track details undefined on fragment load progress"),this.removeUnbufferedFrags(s.start);return}let g=a.defaultAudioCodec||f.audioCodec||"mp4a.40.2",b=this.transmuxer;if(!b)b=this.transmuxer=new N1(this.hls,Tt.AUDIO,this._handleTransmuxComplete.bind(this),this._handleTransmuxerFlush.bind(this));let v=this.initPTS[s.cc],k=(n=s.initSegment)==null?void 0:n.data;if(v!==void 0){let _=i?i.index:-1,P=_!==-1,U=new b0(s.level,s.sn,s.stats.chunkCount,r.byteLength,_,P,s.duration);b.push(r,k,g,"",s,i,m.totalduration,!1,U,v)}else{this.log(`Unknown video PTS for cc ${s.cc}, waiting for video PTS before demuxing audio frag ${s.sn} of [${m.startSN} ,${m.endSN}],track ${l}`);let{cache:T}=this.waitingData=this.waitingData||{frag:s,part:i,cache:new D1,complete:!1};if(T.push(new Uint8Array(r)),this.state!==Ve.STOPPED)this.state=Ve.WAITING_INIT_PTS}}_handleFragmentLoadComplete(e){if(this.waitingData){this.waitingData.complete=!0;return}super._handleFragmentLoadComplete(e)}onBufferReset(){this.mediaBuffer=null}onBufferCreated(e,n){this.bufferFlushed=this.flushing=!1;let s=n.tracks.audio;if(s)this.mediaBuffer=s.buffer||null}onFragLoading(e,n){if(!this.audioOnly&&n.frag.type===Tt.MAIN&&_s(n.frag)){if(this.mainFragLoading=n,this.state===Ve.IDLE)this.tick()}}onFragBuffered(e,n){let{frag:s,part:i}=n;if(s.type!==Tt.AUDIO){if(!this.audioOnly&&s.type===Tt.MAIN&&!s.elementaryStreams.video&&!s.elementaryStreams.audiovideo)this.audioOnly=!0,this.mainFragLoading=null;return}if(this.fragContextChanged(s)){this.warn(`Fragment ${s.sn}${i?" p: "+i.index:""} of level ${s.level} finished buffering, but was aborted. state: ${this.state}, audioSwitch: ${this.switchingTrack?this.switchingTrack.name:"false"}`);return}if(_s(s)){let r=this.switchingTrack;if(r)this.bufferedTrack=r}if(this.fragBufferedComplete(s,i),this.media)this.tick()}getFwdBufferInfo(){let e=this.getBufferOutput();return super.getFwdBufferInfo(e,Tt.AUDIO)}getBufferOutput(){return this.mediaBuffer?this.mediaBuffer:this.media}checkFragmentChanged(){let e=this.fragPlaying;if(!this.checkFragPlaying())return!1;let s=this.fragPlaying,i=e==null?void 0:e.level;if(!s||s.level!==i){if(e)this.cleanupBackBuffer();if(this.switchingTrack)this.completeAudioSwitch(this.switchingTrack)}return!0}onError(e,n){var s;if(n.fatal){this.state=Ve.ERROR;return}switch(n.details){case Le.FRAG_GAP:case Le.FRAG_PARSING_ERROR:case Le.FRAG_DECRYPT_ERROR:case Le.FRAG_LOAD_ERROR:case Le.FRAG_LOAD_TIMEOUT:case Le.KEY_LOAD_ERROR:case Le.KEY_LOAD_TIMEOUT:this.onFragmentOrKeyLoadError(Tt.AUDIO,n);break;case Le.AUDIO_TRACK_LOAD_ERROR:case Le.AUDIO_TRACK_LOAD_TIMEOUT:case Le.LEVEL_PARSING_ERROR:if(!n.levelRetry&&this.state===Ve.WAITING_TRACK&&((s=n.context)==null?void 0:s.type)===tn.AUDIO_TRACK)this.state=Ve.IDLE;break;case Le.BUFFER_APPEND_NO_PROGRESS:if(n.parent!=="audio")return;if(n.frag&&(n.appendsWithoutProgress||0)>=this.config.appendErrorMaxRetry)this.warn(`Marking fragment ${n.frag.sn} of track ${n.frag.level} as a gap after ${n.appendsWithoutProgress} appends without buffered range growth, to prevent loop loading`),this.fragmentTracker.addAsGap(n.frag);break;case Le.BUFFER_ADD_CODEC_ERROR:case Le.BUFFER_APPEND_ERROR:if(n.parent!=="audio")return;if(!this.reduceLengthAndFlushBuffer(n))this.resetLoadingState();break;case Le.BUFFER_FULL_ERROR:if(n.parent!=="audio")return;if(this.reduceLengthAndFlushBuffer(n))this.bufferedTrack=null,super.flushMainBuffer(0,Number.POSITIVE_INFINITY,"audio");break;case Le.INTERNAL_EXCEPTION:this.recoverWorkerError(n);break}}onBufferFlushing(e,{type:n}){if(n!==Kn.VIDEO)this.flushing=!0}onBufferFlushed(e,{type:n}){if(n!==Kn.VIDEO){if(this.flushing=!1,this.bufferFlushed=!0,this.state===Ve.ENDED)this.state=Ve.IDLE;let s=this.getBufferOutput();if(s)this.afterBufferFlushed(s,n),this.tick()}}_handleTransmuxComplete(e){var n;let s="audio",{hls:i}=this,{remuxResult:r,chunkMeta:a}=e,l=this.getCurrentContext(a);if(!l){this.resetWhenMissingContext(a);return}let{frag:c,part:f,level:m}=l,{details:g}=m,{audio:b,text:v,id3:k,initSegment:T}=r;if(this.fragContextChanged(c)||!g){if(this.fragmentTracker.removeFragment(c),T!=null&&T.tracks)this.resetTransmuxer();return}if(this.state=Ve.PARSING,b&&this.switchingTrack&&!this.switchingTrack.flushImmediate){let{config:_}=this,P=_.nextAudioTrackBufferFlushForwardOffset,U=Math.max(this.getLoadPosition()+P,c.start);super.flushMainBuffer(U,Number.POSITIVE_INFINITY,Tt.AUDIO)}if(T!=null&&T.tracks){let _=c.initSegment||c;if(this.unhandledEncryptionError(T,c))return;this._bufferInitSegment(m,T.tracks,_,a),i.trigger(Z.FRAG_PARSING_INIT_SEGMENT,{frag:_,id:"audio",tracks:T.tracks})}if(b){let{startPTS:_,endPTS:P,startDTS:U,endDTS:z}=b;if(f)f.elementaryStreams[Kn.AUDIO]={startPTS:_,endPTS:P,startDTS:U,endDTS:z};c.setElementaryStreamInfo(Kn.AUDIO,_,P,U,z),this.bufferFragmentData(b,c,f,a)}if(k!=null&&(n=k.samples)!=null&&n.length){let _=Nn({id:"audio",frag:c,details:g},k);i.trigger(Z.FRAG_PARSING_METADATA,_)}if(v){let _=Nn({id:"audio",frag:c,details:g},v);i.trigger(Z.FRAG_PARSING_USERDATA,_)}}_bufferInitSegment(e,n,s,i){if(this.state!==Ve.PARSING)return;if(n.video)delete n.video;if(n.audiovideo)delete n.audiovideo;if(!n.audio)return;let r=n.audio;r.id=Tt.AUDIO;let a=e.audioCodec;if(this.log(`Init audio buffer, container:${r.container}, codecs[level/parsed]=[${a}/${r.codec}]`),(a==null?void 0:a.split(",").length)===1)r.levelCodec=a;this.hls.trigger(Z.BUFFER_CODECS,n);let l=r.initSegment;if(l!=null&&l.byteLength){let c={type:"audio",frag:s,part:null,chunkMeta:i,parent:s.type,data:l};this.hls.trigger(Z.BUFFER_APPENDING,c)}this.tickImmediate()}loadFragment(e,n,s){let i=this.fragmentTracker.getState(e);if(this.switchingTrack||i===As.NOT_LOADED||i===As.PARTIAL){var r;if((r=n.details)!=null&&r.live&&!this.initPTS[e.cc]){this.log(`Waiting for video PTS in continuity counter ${e.cc} of live stream before loading audio fragment ${e.sn} of level ${this.trackId}`),this.state=Ve.WAITING_INIT_PTS;let a=this.mainDetails;if(a&&a.fragmentStart!==n.details.fragmentStart)r0(a,n.details,this)}else super.loadFragment(e,n,s)}else this.clearTrackerIfNeeded(e)}flushAudioIfNeeded(e){if(this.media&&this.bufferedTrack&&e.flushImmediate){let{name:n,lang:s,assocLang:i,characteristics:r,audioCodec:a,channels:l}=this.bufferedTrack;if(!Yl({name:n,lang:s,assocLang:i,characteristics:r,audioCodec:a,channels:l},e,Kl))if(t0(e.url,this.hls))this.log("Switching audio track : flushing all audio"),super.flushMainBuffer(0,Number.POSITIVE_INFINITY,"audio"),this.bufferedTrack=null;else this.bufferedTrack=e}}completeAudioSwitch(e){let{hls:n}=this;this.bufferedTrack=e,this.switchingTrack=null,n.trigger(Z.AUDIO_TRACK_SWITCHED,Dt({},e))}get nextAudioTrack(){return this.nextTrackId}}class v0 extends $i{constructor(e,n){super(n,e.logger);this.hls=void 0,this.canLoad=!1,this.timer=-1,this.loadingSync=!1,this.hls=e}destroy(){this.clearTimer(),this.hls=null}clearTimer(){if(this.timer!==-1)self.clearTimeout(this.timer),this.timer=-1}startLoad(){this.canLoad=!0,this.loadPlaylist()}stopLoad(){this.canLoad=!1,this.clearTimer()}switchParams(e,n,s){let i=n==null?void 0:n.renditionReports;if(i){let r=-1;for(let a=0;a<i.length;a++){let l=i[a],c;try{c=new self.URL(l.URI,n.url).href}catch(f){this.warn(`Could not construct new URL for Rendition Report: ${f}`),c=l.URI||""}if(c===e){r=a;break}else if(c===e.substring(0,c.length))r=a}if(r!==-1){let a=i[r],l=parseInt(a["LAST-MSN"])||n.lastPartSn,c=parseInt(a["LAST-PART"])||n.lastPartIndex;if(this.hls.config.lowLatencyMode){let m=Math.min(n.age-n.partTarget,n.targetduration);if(c>=0&&m>n.partTarget)c+=1}let f=s&&R5(s);return new Yg(l,c>=0?c:void 0,f)}}}loadPlaylist(e){this.clearTimer()}loadingPlaylist(e,n){this.clearTimer()}shouldLoadPlaylist(e){return this.canLoad&&!!e&&!!e.url&&(!e.details||e.details.live)}getUrlWithDirectives(e,n){if(n)try{return n.addDirectives(e)}catch(s){this.warn(`Could not construct new URL with HLS Delivery Directives: ${s}`)}return e}playlistLoaded(e,n,s){let{details:i,stats:r}=n,a=i.fragments,l=self.performance.now(),c=r.loading.first?Math.max(0,Math.floor(l-r.loading.first)):0;i.advancedDateTime=Date.now()-c;let f=this.hls.config.timelineOffset;if(f!==i.appliedTimelineOffset){let g=Math.max(f||0,0);i.appliedTimelineOffset=g,a.forEach((b)=>{b==null||b.setStart(b.playlistOffset+g)})}if(i.live||s!=null&&s.live){var m;let g="levelInfo"in n?n.levelInfo:n.track;i.reloaded(s);let b=(m=a[a.length-1])==null?void 0:m.type;if(i.misses>=this.hls.config.liveMaxUnchangedPlaylistRefresh){let X=Error(`${b} playlist ${g.id} hit max allowed unchanged reloads.`);this.warn(X);let{networkDetails:J,context:ee}=n;this.hls.trigger(Z.ERROR,{type:Rt.NETWORK_ERROR,details:Le.PLAYLIST_UNCHANGED_ERROR,fatal:!1,url:i.url,error:X,reason:X.message,level:n.level,parent:b,context:ee,networkDetails:J,stats:r});return}if(s){OE(s,i,this);let X=i.playlistParsingError;if(X){this.warn(X);let J=this.hls;if(!J.config.ignorePlaylistParsingErrors){let{networkDetails:ee}=n;J.trigger(Z.ERROR,{type:Rt.NETWORK_ERROR,details:Le.LEVEL_PARSING_ERROR,fatal:!1,url:i.url,error:X,reason:X.message,level:n.level,parent:b,networkDetails:ee,stats:r});return}i.playlistParsingError=null}}if(i.requestScheduled===-1)i.requestScheduled=r.loading.start;let v=this.hls.mainForwardBufferInfo,k=v?v.end-v.len:0,T=(i.edge-k)*1000,_=U9(i,T);if(i.requestScheduled+_<l)i.requestScheduled=l;else if(i.requestScheduled<=l)i.requestScheduled+=_;let P=n.deliveryDirectives;if(this.log(`live playlist ${e} ${i.advanced?`REFRESHED ${i.lastPartSn} - ${i.lastPartIndex}`:i.updated?"UPDATED":`MISSED (received ${i.lastPartSn} - ${i.lastPartIndex}${P?` | requested ${P.msn} - ${P.part}`:""})`}`),!this.canLoad||!i.live)return;let U,z=void 0,V=void 0;if(i.canBlockReload&&i.advanced){let X=this.hls.config.lowLatencyMode,{lastPartSn:J,endSN:ee,lastPartIndex:te}=i,ne=te!==-1,ie=J===ee;if(ne)if(ie)z=ee+1,V=X?0:te;else z=J,V=X?te+1:i.maxPartIndex;else z=ee+1;let se=i.age,oe=se+i.ageHeader,ye=Math.min(oe-i.partTarget,i.targetduration*1.5);if(ye>0){if(oe>i.targetduration*3)this.log(`Playlist last advanced ${se.toFixed(2)}s ago. Omitting segment and part directives.`),z=void 0,V=void 0;else if(s!=null&&s.tuneInGoal&&oe-i.partTarget>s.tuneInGoal)this.warn(`CDN Tune-in goal increased from: ${s.tuneInGoal} to: ${ye} with playlist age: ${i.age}`),ye=0;else{let Se=Math.floor(ye/i.targetduration);if(z+=Se,V!==void 0){let me=Math.round(ye%i.targetduration/i.partTarget);V+=me}this.log(`CDN Tune-in age: ${i.ageHeader}s last advanced ${se.toFixed(2)}s goal: ${ye} skip sn ${Se} to part ${V}`)}i.tuneInGoal=ye}if(U=this.getDeliveryDirectives(i,n.deliveryDirectives,z,V),X||!ie){i.requestScheduled=l,this.loadingPlaylist(g,U);return}}else if(i.canBlockReload||i.canSkipUntil)U=this.getDeliveryDirectives(i,n.deliveryDirectives,z,V);if(U&&z!==void 0&&i.canBlockReload)i.requestScheduled=r.loading.first+Math.max(_-c*2,_/2);this.scheduleLoading(g,U,i)}else this.clearTimer()}scheduleLoading(e,n,s){let i=s||e.details;if(!i){this.loadingPlaylist(e,n);return}let r=self.performance.now(),a=i.requestScheduled;if(r>=a&&!this.loadingSync){this.loadingSync=!0,this.loadingPlaylist(e,n),this.loadingSync=!1;return}let l=Math.max(a-r,0);this.log(`reload live playlist ${e.name||e.bitrate+"bps"} in ${Math.round(l)} ms`),this.clearTimer(),this.timer=self.setTimeout(()=>this.loadingPlaylist(e,n),l)}getDeliveryDirectives(e,n,s,i){let r=R5(e);if(n!=null&&n.skip&&e.deltaUpdateFailed)s=n.msn,i=n.part,r=Gd.No;return new Yg(s,i,r)}checkRetry(e){let n=e.details,s=Yd(e),i=e.errorAction,{action:r,retryCount:a=0,retryConfig:l}=i||{},c=!!i&&!!l&&(r===fi.RetryRequest||!i.resolved&&r===fi.SendAlternateToPenaltyBox);if(c){var f;if(a>=l.maxNumRetry)return!1;if(s&&(f=e.context)!=null&&f.deliveryDirectives)this.warn(`Retrying playlist loading ${a+1}/${l.maxNumRetry} after "${n}" without delivery-directives`),this.loadPlaylist();else{var m;let g=wh((m=e.response)==null?void 0:m.code);if(this.clearTimer(),g)this.log("Waiting for connection (offline)"),e.reason="offline",this.timer=self.setTimeout(()=>this.checkOfflineStatus(),1000);else{let b=v1(l,a);this.warn(`Retrying playlist loading ${a+1}/${l.maxNumRetry} after "${n}" in ${b}ms`),this.timer=self.setTimeout(()=>this.loadPlaylist(),b)}}e.levelRetry=!0,i.resolved=!0}return c}checkOfflineStatus(){if(this.clearTimer(),wh(0))this.timer=self.setTimeout(()=>this.checkOfflineStatus(),1000);else this.log("Connection restored (online)"),this.loadPlaylist()}}function v6(e,n){if(e.length!==n.length)return!1;for(let s=0;s<e.length;s++)if(!Eh(e[s].attrs,n[s].attrs))return!1;return!0}function Eh(e,n,s){let i=e["STABLE-RENDITION-ID"];if(i&&!s)return i===n["STABLE-RENDITION-ID"];return!(s||["LANGUAGE","NAME","CHARACTERISTICS","AUTOSELECT","DEFAULT","FORCED","ASSOC-LANGUAGE"]).some((r)=>e[r]!==n[r])}class S6 extends v0{constructor(e){super(e,"audio-track-controller");this.tracks=[],this.groupIds=null,this.tracksInGroup=[],this.trackId=-1,this.currentTrack=null,this.selectDefaultTrack=!0,this.registerListeners()}registerListeners(){let{hls:e}=this;e.on(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Z.MANIFEST_PARSED,this.onManifestParsed,this),e.on(Z.LEVEL_LOADING,this.onLevelLoading,this),e.on(Z.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(Z.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.on(Z.ERROR,this.onError,this)}unregisterListeners(){let{hls:e}=this;e.off(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Z.MANIFEST_PARSED,this.onManifestParsed,this),e.off(Z.LEVEL_LOADING,this.onLevelLoading,this),e.off(Z.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(Z.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.off(Z.ERROR,this.onError,this)}destroy(){this.unregisterListeners(),this.tracks.length=0,this.tracksInGroup.length=0,this.currentTrack=null,super.destroy()}onManifestLoading(){this.tracks=[],this.tracksInGroup=[],this.groupIds=null,this.currentTrack=null,this.trackId=-1,this.selectDefaultTrack=!0}onManifestParsed(e,n){this.tracks=n.audioTracks||[]}onAudioTrackLoaded(e,n){let{id:s,groupId:i,details:r}=n,a=this.tracksInGroup[s];if(!a||a.groupId!==i){this.warn(`Audio track with id:${s} and group:${i} not found in active group ${a==null?void 0:a.groupId}`);return}let l=a.details;if(a.details=n.details,this.log(`Audio track ${s} "${a.name}" lang:${a.lang} group:${i} loaded [${r.startSN}-${r.endSN}]`),s===this.trackId)this.playlistLoaded(s,n,l)}onLevelLoading(e,n){this.switchLevel(n.level)}onLevelSwitching(e,n){this.switchLevel(n.level)}switchLevel(e){let n=this.hls.levels[e];if(!n)return;let s=n.audioGroups||null,i=this.groupIds,r=this.currentTrack;if(!s||(i==null?void 0:i.length)!==(s==null?void 0:s.length)||s!=null&&s.some((l)=>(i==null?void 0:i.indexOf(l))===-1)){this.groupIds=s,this.trackId=-1,this.currentTrack=null;let l=this.tracks.filter((b)=>xh(b.groupId,s));if(l.length){if(this.selectDefaultTrack&&!l.some((b)=>b.default))this.selectDefaultTrack=!1;l.forEach((b,v)=>{b.id=v})}else if(!r&&!this.tracksInGroup.length)return;this.tracksInGroup=l;let c=this.hls.config.audioPreference;if(!r&&c){let b=Ta(c,l,Kl);if(b>-1)r=l[b];else{let v=Ta(c,this.tracks);r=this.tracks[v]}}let f=this.findTrackId(r);if(f===-1&&r)f=this.findTrackId(null);let m={audioTracks:l};this.log(`Updating audio tracks, ${l.length} track(s) found in group(s): ${s==null?void 0:s.join(",")}`),this.hls.trigger(Z.AUDIO_TRACKS_UPDATED,m);let g=this.trackId;if(f!==-1&&g===-1)this.setAudioTrack(f);else if(l.length&&g===-1){var a;let b=Error(`No audio track selected for current audio group-ID(s): ${(a=this.groupIds)==null?void 0:a.join(",")} track count: ${l.length}`);this.warn(b.message),this.hls.trigger(Z.ERROR,{type:Rt.MEDIA_ERROR,details:Le.AUDIO_TRACK_LOAD_ERROR,fatal:!0,error:b})}}}onError(e,n){if(n.fatal||!n.context)return;if(n.context.type===tn.AUDIO_TRACK&&n.context.id===this.trackId&&xh(n.context.groupId,this.groupIds))this.checkRetry(n)}get allAudioTracks(){return this.tracks}get audioTracks(){return this.tracksInGroup}get audioTrack(){return this.trackId}set audioTrack(e){this.selectDefaultTrack=!1,this.setAudioTrack(e)}get nextAudioTrack(){return this.trackId}set nextAudioTrack(e){this.selectDefaultTrack=!1,this.setAudioTrack(e,!1)}setAudioOption(e){let n=this.hls;if(n.config.audioPreference=e,e){let s=this.allAudioTracks;if(this.selectDefaultTrack=!1,s.length){let i=this.currentTrack;if(i&&Yl(e,i,Kl))return i;let r=Ta(e,this.tracksInGroup,Kl);if(r>-1){let a=this.tracksInGroup[r];return this.setAudioTrack(r,"flushImmediate"in e&&e.flushImmediate),a}else if(i){let a=n.loadLevel;if(a===-1)a=n.firstAutoLevel;let l=dE(e,n.levels,s,a,Kl);if(l===-1)return null;n.nextLoadLevel=l}if(e.channels||e.audioCodec){let a=Ta(e,s);if(a>-1)return s[a]}}}return null}setAudioTrack(e,n=!0){let s=this.tracksInGroup;if(e<0||e>=s.length){this.warn(`Invalid audio track id: ${e}`);return}this.selectDefaultTrack=!1;let i=this.currentTrack,r=s[e],a=r.details&&!r.details.live;if(e===this.trackId&&r===i&&a)return;if(this.log(`Switching to audio-track ${e} "${r.name}" lang:${r.lang} group:${r.groupId} channels:${r.channels}`),this.trackId=e,this.currentTrack=r,this.hls.trigger(Z.AUDIO_TRACK_SWITCHING,Dt(Dt({},r),{},{flushImmediate:n})),a)return;let l=this.switchParams(r.url,i==null?void 0:i.details,r.details);this.loadPlaylist(l)}findTrackId(e){let n=this.tracksInGroup;for(let s=0;s<n.length;s++){let i=n[s];if(this.selectDefaultTrack&&!i.default)continue;if(!e||Yl(e,i,Kl))return s}if(e){let{name:s,lang:i,assocLang:r,characteristics:a,audioCodec:l,channels:c}=e;for(let f=0;f<n.length;f++){let m=n[f];if(Yl({name:s,lang:i,assocLang:r,characteristics:a,audioCodec:l,channels:c},m,Kl))return f}for(let f=0;f<n.length;f++){let m=n[f];if(Eh(e.attrs,m.attrs,["LANGUAGE","ASSOC-LANGUAGE","CHARACTERISTICS"]))return f}for(let f=0;f<n.length;f++){let m=n[f];if(Eh(e.attrs,m.attrs,["LANGUAGE"]))return f}}return-1}loadPlaylist(e){super.loadPlaylist();let n=this.currentTrack;if(!this.shouldLoadPlaylist(n))return;if(t0(n.url,this.hls))this.scheduleLoading(n,e)}loadingPlaylist(e,n){super.loadingPlaylist(e,n);let{id:s,groupId:i}=e,r=this.getUrlWithDirectives(e.url,n),a=e.details,l=a==null?void 0:a.age;this.log(`Loading audio-track ${s} "${e.name}" lang:${e.lang} group:${i}${(n==null?void 0:n.msn)!==void 0?" at sn "+n.msn+" part "+n.part:""}${l&&a.live?" age "+l.toFixed(1)+(a.type?" "+a.type||"":""):""} ${r}`),this.hls.trigger(Z.AUDIO_TRACK_LOADING,{url:r,id:s,groupId:i,deliveryDirectives:n||null,track:e})}}class k6{constructor(e){this.tracks=void 0,this.queues={video:[],audio:[],audiovideo:[]},this.tracks=e}destroy(){this.tracks=this.queues=null}append(e,n,s){if(this.queues===null||this.tracks===null)return;let i=this.queues[n];if(i.push(e),i.length===1&&!s)this.executeNext(n)}appendBlocker(e){return new Promise((n)=>{let s={label:"async-blocker",execute:n,onStart:()=>{},onComplete:()=>{},onError:()=>{}};this.append(s,e)})}prependBlocker(e){return new Promise((n)=>{if(this.queues){let s={label:"async-blocker-prepend",execute:n,onStart:()=>{},onComplete:()=>{},onError:()=>{}};this.queues[e].unshift(s)}})}removeBlockers(){if(this.queues===null)return;[this.queues.video,this.queues.audio,this.queues.audiovideo].forEach((e)=>{var n;let s=(n=e[0])==null?void 0:n.label;if(s==="async-blocker"||s==="async-blocker-prepend")e[0].execute(),e.splice(0,1);else if(s==="block-audio")e.splice(0,1)})}insertNext(e,n){if(this.queues===null)return;this.queues[n].splice(1,0,...e)}unblockAudio(){var e;if(this.queues===null)return;if(((e=this.current("audio"))==null?void 0:e.label)==="block-audio")this.shiftAndExecuteNext("audio")}audioBlocking(){if(this.queues===null)return!1;return this.queues.audio.some((e)=>e.label==="block-audio")}executeNext(e){if(this.queues===null||this.tracks===null)return;let n=this.queues[e];if(n.length){let i=n[0];try{i.execute()}catch(r){var s;if(i.onError(r),this.queues===null||this.tracks===null)return;let a=(s=this.tracks[e])==null?void 0:s.buffer;if(!(a!=null&&a.updating))this.shiftAndExecuteNext(e)}}}shiftAndExecuteNext(e){if(this.queues===null)return;this.queues[e].shift(),this.executeNext(e)}current(e){var n;return((n=this.queues)==null?void 0:n[e][0])||null}toString(){let{queues:e,tracks:n}=this;if(e===null||n===null)return"<destroyed>";return`
34
+ ${this.list("video")}
35
+ ${this.list("audio")}
36
+ ${this.list("audiovideo")}}`}list(e){var n,s;return(n=this.queues)!=null&&n[e]||(s=this.tracks)!=null&&s[e]?`${e}: (${this.listSbInfo(e)}) ${this.listOps(e)}`:""}listSbInfo(e){var n;let s=(n=this.tracks)==null?void 0:n[e],i=s==null?void 0:s.buffer;if(!i)return"none";return`SourceBuffer${i.updating?" updating":""}${s.ended?" ended":""}${s.ending?" ending":""}`}listOps(e){var n;return((n=this.queues)==null?void 0:n[e].map((s)=>s.label).join(", "))||""}}var m3=/(avc[1234]|hvc1|hev1|dvh[1e]|vp09|av01)(?:\.[^.,]+)+/,x6="HlsJsTrackRemovedError",DC=0.25,qC=0.001;class A6 extends Error{constructor(e){super(e);this.name=x6}}class T6 extends $i{constructor(e,n){super("buffer-controller",e.logger);this.hls=void 0,this.fragmentTracker=void 0,this.fragmentAppendProgress=Object.create(null),this.appendsWithoutProgress=Object.create(null),this.details=null,this._objectUrl=null,this.operationQueue=null,this.bufferCodecEventsTotal=0,this.media=null,this.mediaSource=null,this.lastMpegAudioChunk=null,this.lastVideoAppendEnd=0,this.appendSource=void 0,this.transferData=void 0,this.overrides=void 0,this.appendErrors={audio:0,video:0,audiovideo:0},this.appendError=void 0,this._quotaEvictionPending={},this.tracks={},this.sourceBuffers=[[null,null],[null,null]],this._onEndStreaming=(s)=>{var i;if(!this.hls)return;if(((i=this.mediaSource)==null?void 0:i.readyState)!=="open")return;if(!this.media||this.media.seeking)return;this.hls.pauseBuffering()},this._onStartStreaming=(s)=>{if(!this.hls)return;this.hls.resumeBuffering()},this._onMediaSourceOpen=(s)=>{let{media:i,mediaSource:r}=this;if(s)this.log("Media source opened");if(!i||!r)return;if(Mn(r,"sourceopen",this._onMediaSourceOpen),Mn(i,"emptied",this._onMediaEmptied),this.updateDuration(),this.hls.trigger(Z.MEDIA_ATTACHED,{media:i,mediaSource:r}),this.mediaSource!==null)this.checkPendingTracks()},this._onMediaSourceClose=()=>{if(this.log("Media source closed"),this.media){let s=this.media.error,{appendError:i,appendErrors:r}=this,a=!1;if(!i&&s)a=Math.max(++r.audio,++r.video,++r.audiovideo)>=this.hls.config.appendErrorMaxRetry;let l=Error(`MediaSource closed while media attached${g3(a,s)}`);this.warn(l),this.hls.trigger(Z.ERROR,Nn({fatal:a},i,{type:Rt.MEDIA_ERROR,details:Le.MEDIA_SOURCE_REQUIRES_RESET,error:l}))}},this._onMediaSourceEnded=()=>{this.log("Media source ended")},this._onMediaEmptied=()=>{let{mediaSrc:s,_objectUrl:i}=this;if(s!==i)this.error(`Media element src was set while attaching MediaSource (${i} > ${s})`)},this._onMediaError=()=>{let{media:s}=this;if(s){var i,r;this.log(`Media error (code: ${(i=s.error)==null?void 0:i.code}): ${(r=s.error)==null?void 0:r.message}`)}},this.hls=e,this.fragmentTracker=n,this.appendSource=nT(al(e.config.preferManagedMediaSource)),this.initTracks(),this.registerListeners()}hasSourceTypes(){return Object.keys(this.tracks).length>0}destroy(){if(this.unregisterListeners(),this.details=null,this.lastMpegAudioChunk=null,this.transferData=this.overrides=void 0,this.operationQueue)this.operationQueue.destroy(),this.operationQueue=null;this.hls=this.fragmentTracker=null,this._onMediaSourceOpen=this._onMediaSourceClose=null,this._onMediaSourceEnded=null,this._onStartStreaming=this._onEndStreaming=null,this._onMediaEmptied=this._onMediaError=null}registerListeners(){let{hls:e}=this;e.on(Z.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(Z.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Z.MANIFEST_PARSED,this.onManifestParsed,this),e.on(Z.BUFFER_RESET,this.onBufferReset,this),e.on(Z.BUFFER_APPENDING,this.onBufferAppending,this),e.on(Z.BUFFER_CODECS,this.onBufferCodecs,this),e.on(Z.BUFFER_EOS,this.onBufferEos,this),e.on(Z.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(Z.LEVEL_UPDATED,this.onLevelUpdated,this),e.on(Z.FRAG_PARSED,this.onFragParsed,this),e.on(Z.FRAG_CHANGED,this.onFragChanged,this),e.on(Z.ERROR,this.onError,this)}unregisterListeners(){let{hls:e}=this;e.off(Z.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(Z.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Z.MANIFEST_PARSED,this.onManifestParsed,this),e.off(Z.BUFFER_RESET,this.onBufferReset,this),e.off(Z.BUFFER_APPENDING,this.onBufferAppending,this),e.off(Z.BUFFER_CODECS,this.onBufferCodecs,this),e.off(Z.BUFFER_EOS,this.onBufferEos,this),e.off(Z.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(Z.LEVEL_UPDATED,this.onLevelUpdated,this),e.off(Z.FRAG_PARSED,this.onFragParsed,this),e.off(Z.FRAG_CHANGED,this.onFragChanged,this),e.off(Z.ERROR,this.onError,this)}transferMedia(){let{media:e,mediaSource:n}=this;if(!e)return null;let s={};if(this.operationQueue){let r=this.isUpdating();if(!r)this.operationQueue.removeBlockers();let a=this.isQueued();if(r||a)this.warn(`Transfering MediaSource with${a?" operations in queue":""}${r?" updating SourceBuffer(s)":""} ${this.operationQueue}`);this.operationQueue.destroy()}let i=this.transferData;if(i&&!this.sourceBufferCount&&i.mediaSource===n)Nn(s,i.tracks);else this.sourceBuffers.forEach((r)=>{let[a]=r;if(a)s[a]=Nn({},this.tracks[a]),this.removeBuffer(a);r[0]=r[1]=null});return{media:e,mediaSource:n,tracks:s}}initTracks(){let e={};this.resetAppendProgress(),this.sourceBuffers=[[null,null],[null,null]],this.tracks=e,this.resetQueue(),this.lastMpegAudioChunk=null,this.lastVideoAppendEnd=0}onManifestLoading(){this.bufferCodecEventsTotal=0,this.details=null,this.resetAppendErrors(),this.resetAppendProgress()}onManifestParsed(e,n){var s;let i=2;if(n.audio&&!n.video||!n.altAudio)i=1;if(this.bufferCodecEventsTotal=i,this.log(`${i} bufferCodec event(s) expected.`),(s=this.transferData)!=null&&s.mediaSource&&this.sourceBufferCount&&i)this.bufferCreated()}onMediaAttaching(e,n){let s=this.media=n.media;this.transferData=this.overrides=void 0;let i=al(this.appendSource);if(i){let r=!!n.mediaSource;if(r||n.overrides)this.transferData=n,this.overrides=n.overrides;let a=this.mediaSource=n.mediaSource||new i;if(this.assignMediaSource(a),r)this._objectUrl=s.src,this.attachTransferred();else{let l=this._objectUrl=self.URL.createObjectURL(a);if(this.appendSource)try{s.removeAttribute("src");let c=self.ManagedMediaSource;s.disableRemotePlayback=s.disableRemotePlayback||c&&a instanceof c,p3(s),MC(s,l),s.load()}catch(c){s.src=l}else s.src=l}if(Ln(s,"emptied",this._onMediaEmptied),Ln(s,"error",this._onMediaError),this.appendSource)Ln(s,"seeking",this._onStartStreaming)}}assignMediaSource(e){var n,s;if(this.log(`${((n=this.transferData)==null?void 0:n.mediaSource)===e?"transferred":"created"} media source: ${(s=e.constructor)==null?void 0:s.name}`),Ln(e,"sourceopen",this._onMediaSourceOpen),Ln(e,"sourceended",this._onMediaSourceEnded),Ln(e,"sourceclose",this._onMediaSourceClose),this.appendSource)Ln(e,"startstreaming",this._onStartStreaming),Ln(e,"endstreaming",this._onEndStreaming)}attachTransferred(){let e=this.media,n=this.transferData;if(!n||!e)return;let s=this.tracks,i=n.tracks,r=i?Object.keys(i):null,a=r?r.length:0,l=()=>{Promise.resolve().then(()=>{if(this.media&&this.mediaSourceOpenOrEnded)this._onMediaSourceOpen()})};if(i&&r&&a){if(!this.tracksReady){this.hls.config.startFragPrefetch=!0,this.log("attachTransferred: waiting for SourceBuffer track info");return}if(this.log(`attachTransferred: (bufferCodecEventsTotal ${this.bufferCodecEventsTotal})
37
+ required tracks: ${ss(s,(c,f)=>c==="initSegment"?void 0:f)};
38
+ transfer tracks: ${ss(i,(c,f)=>c==="initSegment"?void 0:f)}}`),!Y3(i,s)){n.mediaSource=null,n.tracks=void 0;let c=e.currentTime,f=this.details,m=Math.max(c,(f==null?void 0:f.fragments[0].start)||0);if(m-c>1){this.log(`attachTransferred: waiting for playback to reach new tracks start time ${c} -> ${m}`);return}this.warn(`attachTransferred: resetting MediaSource for incompatible tracks ("${Object.keys(i)}"->"${Object.keys(s)}") start time: ${m} currentTime: ${c}`),this.onMediaDetaching(Z.MEDIA_DETACHING,{}),this.onMediaAttaching(Z.MEDIA_ATTACHING,n),e.currentTime=m;return}this.transferData=void 0,r.forEach((c)=>{let f=c,m=i[f];if(m){let g=m.buffer;if(g){let b=this.fragmentTracker,v=m.id;if(b.hasFragments(v)||b.hasParts(v)){let _=Ft.getBuffered(g);b.detectEvictedFragments(f,_,v,null,null,!0)}let k=_g(f),T=[f,g];if(this.sourceBuffers[k]=T,g.updating&&this.operationQueue)this.operationQueue.prependBlocker(f);this.trackSourceBuffer(f,m)}}}),l(),this.bufferCreated()}else this.log("attachTransferred: MediaSource w/o SourceBuffers"),l()}get mediaSourceOpenOrEnded(){var e;let n=(e=this.mediaSource)==null?void 0:e.readyState;return n==="open"||n==="ended"}onMediaDetaching(e,n){let s=!!n.transferMedia;this.transferData=this.overrides=void 0;let{media:i,mediaSource:r,_objectUrl:a}=this;if(r){if(this.log(`media source ${s?"transferring":"detaching"}`),s)this.sourceBuffers.forEach(([l])=>{if(l)this.removeBuffer(l)}),this.resetQueue();else{if(this.mediaSourceOpenOrEnded){let l=r.readyState==="open";try{let c=r.sourceBuffers;for(let f=c.length;f--;){if(l)c[f].abort();r.removeSourceBuffer(c[f])}if(l)r.endOfStream()}catch(c){this.warn(`onMediaDetaching: ${c.message} while calling endOfStream`)}}if(this.sourceBufferCount)this.onBufferReset()}if(Mn(r,"sourceopen",this._onMediaSourceOpen),Mn(r,"sourceended",this._onMediaSourceEnded),Mn(r,"sourceclose",this._onMediaSourceClose),this.appendSource)Mn(r,"startstreaming",this._onStartStreaming),Mn(r,"endstreaming",this._onEndStreaming);this.mediaSource=null,this._objectUrl=null}if(i){if(Mn(i,"emptied",this._onMediaEmptied),Mn(i,"error",this._onMediaError),Mn(i,"seeking",this._onStartStreaming),!s){if(a)self.URL.revokeObjectURL(a);if(this.mediaSrc===a){if(i.removeAttribute("src"),this.appendSource)p3(i);i.load()}else this.warn("media|source.src was changed by a third party - skip cleanup")}this.media=null}}onBufferReset(){this.sourceBuffers.forEach(([e])=>{if(e)this.resetBuffer(e)}),this.initTracks()}resetBuffer(e){var n;let s=(n=this.tracks[e])==null?void 0:n.buffer;if(this.removeBuffer(e),s)try{var i;if((i=this.mediaSource)!=null&&i.sourceBuffers.length)this.mediaSource.removeSourceBuffer(s)}catch(r){this.warn(`onBufferReset ${e}`,r)}delete this.tracks[e]}removeBuffer(e){this.removeBufferListeners(e),this.sourceBuffers[_g(e)]=[null,null];let n=this.tracks[e];if(n)this.clearBufferAppendTimeoutId(n),n.buffer=void 0}resetQueue(){if(this.operationQueue)this.operationQueue.destroy();this.operationQueue=new k6(this.tracks)}onBufferCodecs(e,n){var s;let i=this.tracks,r=Object.keys(n);this.log(`BUFFER_CODECS: "${r}" (current SB count ${this.sourceBufferCount})`);let a="audiovideo"in n&&(i.audio||i.video)||i.audiovideo&&(("audio"in n)||("video"in n)),l=!a&&this.sourceBufferCount&&this.media&&r.some((c)=>!i[c]);if(a||l){this.warn(`Unsupported transition between "${Object.keys(i)}" and "${r}" SourceBuffers`);return}if(r.forEach((c)=>{var f,m;let g=n[c],{id:b,codec:v,levelCodec:k,container:T,metadata:_,supplemental:P}=g,U=i[c],z=(f=this.transferData)==null||(f=f.tracks)==null?void 0:f[c],V=z!=null&&z.buffer?z:U,X=(V==null?void 0:V.pendingCodec)||(V==null?void 0:V.codec),J=V==null?void 0:V.levelCodec;if(!U)U=i[c]={buffer:void 0,listeners:[],codec:v,supplemental:P,container:T,levelCodec:k,metadata:_,id:b};let ee=zd(X,J),te=ee==null?void 0:ee.replace(m3,"$1"),ne=zd(v,k),ie=(m=ne)==null?void 0:m.replace(m3,"$1");if(ne&&ee&&te!==ie){if(c.slice(0,5)==="audio")ne=Zd(ne,this.appendSource);if(this.log(`switching codec ${X} to ${ne}`),ne!==(U.pendingCodec||U.codec))U.pendingCodec=ne;U.container=T,this.appendChangeType(c,T,ne)}}),this.tracksReady||this.sourceBufferCount)n.tracks=this.sourceBufferTracks;if(this.sourceBufferCount)return;if(this.bufferCodecEventsTotal>1&&!this.tracks.video&&!n.video&&((s=n.audio)==null?void 0:s.id)==="main")this.log("Main audio-only"),this.bufferCodecEventsTotal=1;if(this.mediaSourceOpenOrEnded)this.checkPendingTracks()}get sourceBufferTracks(){return Object.keys(this.tracks).reduce((e,n)=>{let s=this.tracks[n];return e[n]={id:s.id,container:s.container,codec:s.codec,levelCodec:s.levelCodec},e},{})}appendChangeType(e,n,s){let i=`${n};codecs=${s}`,r={label:`change-type=${i}`,execute:()=>{let a=this.tracks[e];if(a){let l=a.buffer;if(l!=null&&l.changeType)this.log(`changing ${e} sourceBuffer type to ${i}`),l.changeType(i),a.codec=s,a.container=n}this.shiftAndExecuteNext(e)},onStart:()=>{},onComplete:()=>{},onError:(a)=>{this.warn(`Failed to change ${e} SourceBuffer type`,a)}};this.append(r,e,this.isPending(this.tracks[e]))}blockAudio(e){var n;let s=e.start,i=s+e.duration*0.05;if(((n=this.fragmentTracker.getAppendedFrag(s,Tt.MAIN))==null?void 0:n.gap)===!0)return;let a={label:"block-audio",execute:()=>{var l,c;if(this.lastVideoAppendEnd>i||Ft.isBuffered((l=this.tracks.video)==null?void 0:l.buffer,i)||((c=this.fragmentTracker.getAppendedFrag(i,Tt.MAIN))==null?void 0:c.gap)===!0)this.unblockAudio()},onStart:()=>{},onComplete:()=>{},onError:(l)=>{this.warn("Error executing block-audio operation",l)}};this.append(a,"audio",!0)}unblockAudio(){if(this.operationQueue)this.operationQueue.unblockAudio()}onBufferAppending(e,n){let{tracks:s}=this,{data:i,type:r,parent:a,frag:l,part:c,chunkMeta:f,offset:m}=n,g=f.buffering[r],b=_s(l)&&!c&&!l.gap&&!f.partial&&!f.iframe,v=null,k=!1,{sn:T,cc:_}=l,P=self.performance.now();g.start=P;let U=l.stats.buffering,z=c?c.stats.buffering:null;if(U.start===0)U.start=P;if((z==null?void 0:z.start)===0)z.start=P;let V=s.audio,X=!1;if(r==="audio"&&(V==null?void 0:V.container)==="audio/mpeg")X=!this.lastMpegAudioChunk||f.id===1||this.lastMpegAudioChunk.sn!==f.sn,this.lastMpegAudioChunk=f;let J=s.video,ee=J==null?void 0:J.buffer;if(ee&&T!=="initSegment"&&m!==void 0){let ie=V==null?void 0:V.buffer,se=c||l;if(r==="audio"&&a!=="main"&&!(J.ending||J.ended)&&ie&&Ft.getBuffered(ie).length){let ye=se.start+se.duration*0.05,Se=Ft.getBuffered(ee),me=this.currentOp("video");if(!Se.length&&!me)this.blockAudio(se);else if(!Ft.isBuffered(ee,ye)&&this.lastVideoAppendEnd<ye)this.blockAudio(se)}else if(r==="video"){let oe=se.end,ye=this.lastVideoAppendEnd-oe;if(this.lastVideoAppendEnd=oe,ye<0||ye>se.duration)this.unblockAudio();else if(this.isAudioBlocked())this.executeNext("audio")}}let te=(c||l).start,ne={label:`append-${r}`,execute:()=>{var ie;g.executeStart=self.performance.now();let se=(ie=this.tracks[r])==null?void 0:ie.buffer;if(se){if(b)v=Ft.timeRangesToArray(Ft.getBuffered(se)),k=w3(Ig(v,l),l);if(X)this.updateTimestampOffset(se,te,0.1,r,T,_);else if(m!==void 0&&lt(m))this.updateTimestampOffset(se,m,0.000001,r,T,_)}this.appendExecutor(i,r)},onStart:()=>{},onComplete:()=>{this.clearBufferAppendTimeoutId(this.tracks[r]);let ie=self.performance.now();if(g.executeEnd=g.end=ie,U.first===0)U.first=ie;if((z==null?void 0:z.first)===0)z.first=ie;let se={};if(this.sourceBuffers.forEach(([oe,ye])=>{if(oe)se[oe]=Ft.getBuffered(ye)}),b){let oe=this.getFragmentAppendProgress(l),ye=se[r];if(ye&&v){let Se=Ft.timeRangesToArray(ye),me=Ig(Se,l);oe.progressed||(oe.progressed=me-Ig(v,l)>qC);let de=k&&w3(me,l);oe.fullyBuffered[r]=oe.fullyBuffered[r]===void 0?de:oe.fullyBuffered[r]&&de}}this.hls.trigger(Z.BUFFER_APPENDED,{type:r,frag:l,part:c,chunkMeta:f,parent:a,timeRanges:se})},onError:(ie)=>{var se;this.clearBufferAppendTimeoutId(this.tracks[r]);let oe=ie.code===DOMException.QUOTA_EXCEEDED_ERR||ie.name=="QuotaExceededError"||"quota"in ie;if(oe){if(!this._quotaEvictionPending[r]){let de=this.getBackBufferEvictionTarget(r,i.byteLength,l.type);if(de>0){this._quotaEvictionPending[r]=!0,this.log(`QuotaExceededError on "${r}" append sn: ${T} - evicting back buffer to ${de.toFixed(3)}s and retrying`);let ce=this.getFlushOp(r,0,de),Ee=this.getClearEvictionPendingOp(r);this.insertNext([ce,ne,Ee],r);return}this.warn(`QuotaExceededError on "${r}" sn: ${T} - no back buffer available to evict`)}}if(b)this.getFragmentAppendProgress(l).errored=!0;let ye={type:Rt.MEDIA_ERROR,parent:a,details:Le.BUFFER_APPEND_ERROR,sourceBufferName:r,frag:l,part:c,chunkMeta:f,error:ie,err:ie,fatal:!1},Se=(se=this.media)==null?void 0:se.error;if(ie.name===x6&&this.sourceBufferCount===0&&(!this.media||this.pendingTrackCount===0))ye.errorAction=dh(!0);else{var me;if(oe)ye.details=Le.BUFFER_FULL_ERROR;let de=++this.appendErrors[r],ce=this.hls.config.appendErrorMaxRetry;if(this.warn(`Failed ${de}/${ce+1} times to append segment in "${r}" sourceBuffer with error: ${ie.message}`),de>=ce)ye.fatal=!oe;let Ee=(me=this.mediaSource)==null?void 0:me.readyState;if(Ee==="ended"||Ee==="closed"||!!Se)this.warn(`MediaSource readyState "${Ee}" during SourceBuffer${g3(ye.fatal,Se)}`),ye.details=Le.MEDIA_SOURCE_REQUIRES_RESET}if(this.appendError=ye,this.hls.trigger(Z.ERROR,ye),oe&&this.hls)this.trimBuffers(l.start,1)}};this.log(`queuing "${r}" append sn: ${T}${c?" p: "+c.index:""} of ${a} playlist ${l.level} cc: ${_} offset: ${m} bytes: ${i.byteLength}`),this.append(ne,r,this.isPending(this.tracks[r]))}getClearEvictionPendingOp(e){return{label:"clear",execute:()=>{this._quotaEvictionPending[e]=!1,this.shiftAndExecuteNext(e)},onStart:()=>{},onComplete:()=>{},onError:()=>{}}}getFlushOp(e,n,s){return this.log(`queuing "${e}" remove ${n}-${s}`),{label:"remove",execute:()=>{this.removeExecutor(e,n,s)},onStart:()=>{},onComplete:()=>{var i;let r=(i=this.tracks[e])==null?void 0:i.buffer;this.log(`Remove request ${n}-${s} from ${e} Source Buffer complete > buffer: ${r?a0(Ft.getBuffered(r)):"(detached)"}`),this.hls.trigger(Z.BUFFER_FLUSHED,{type:e,start:n,end:s})},onError:(i)=>{this.warn(`Failed to remove ${n}-${s} from "${e}" SourceBuffer`,i),this.hls.trigger(Z.BUFFER_FLUSHED,{type:e,start:0,end:0,error:i})}}}onBufferFlushing(e,n){let{type:s,startOffset:i,endOffset:r}=n;if(!s||s==="audio")this.unblockAudio();if(s)this.append(this.getFlushOp(s,i,r),s);else this.sourceBuffers.forEach(([a])=>{if(a)this.append(this.getFlushOp(a,i,r),a)})}onFragParsed(e,n){let{frag:s,part:i,chunkMeta:r}=n,a=[],l=i?i.elementaryStreams:s.elementaryStreams;if(l[Kn.AUDIOVIDEO])a.push("audiovideo");else{if(l[Kn.AUDIO])a.push("audio");if(l[Kn.VIDEO])a.push("video")}let c=()=>{let f=self.performance.now();if(s.stats.buffering.end=f,i)i.stats.buffering.end=f;let m=i?i.stats:s.stats;if(this.checkAppendProgress(s,i,r,a),!this.hls)return;if(this.hls.trigger(Z.FRAG_BUFFERED,{frag:s,part:i,stats:m,id:s.type,chunkMeta:r}),!i&&s.gap&&m.retry)this.log(`Nothing buffered for ${s.type} level: ${s.level} sn: ${s.sn} retries ${m.retry}`)};if(a.length===0)this.log(`Fragments must have at least one ElementaryStreamType set. ${s.type} ${s.level} ${i?`part: ${i.index} of `:""}sn: ${s.sn}`);this.blockBuffers(c,a).catch((f)=>{this.warn(`Fragment buffered callback ${f.message}`),this.stepOperationQueue(this.sourceBufferTypes)})}onFragChanged(e,n){var s,i;let r=(s=this.hls)==null?void 0:s.config;if(!r)return;let{backBufferLength:a,frontBufferFlushThreshold:l}=r;this.trimBuffers(l,a,n.frag,n.previousFrag);let c=n.frag.elementaryStreams,{appendErrors:f}=this,m=(i=this.appendError)==null?void 0:i.sourceBufferName;Object.keys(c).forEach((g)=>{if(!c[g])return;if(f[g]=0,g===m)this.appendError=void 0;if(g==="audio"||g==="video"){if(f.audiovideo=0,m==="audiovideo")this.appendError=void 0}else if(f.audio=0,f.video=0,m!=="audiovideo")this.appendError=void 0})}get bufferedToEnd(){return this.sourceBufferCount>0&&!this.sourceBuffers.some(([e])=>{if(e){let n=this.tracks[e];if(n)return!n.ended||n.ending}return!1})}onBufferEos(e,n){var s;this.sourceBuffers.forEach(([a])=>{if(a){let l=this.tracks[a];if(!n.type||n.type===a){if(l.ending=!0,!l.ended)l.ended=!0,this.log(`${a} buffer reached EOS`)}}});let i=((s=this.overrides)==null?void 0:s.endOfStream)!==!1;if(this.sourceBufferCount>0&&!this.sourceBuffers.some(([a])=>{var l;return a&&!((l=this.tracks[a])!=null&&l.ended)}))if(this.unblockAudio(),i)this.log("Queueing EOS"),this.blockUntilOpen(()=>{this.tracksEnded();let{mediaSource:a}=this;if((a==null?void 0:a.readyState)!=="open"){if(a)this.log(`Could not call mediaSource.endOfStream(). mediaSource.readyState: ${a.readyState}`);return}this.log("Calling mediaSource.endOfStream()"),a.endOfStream(),this.hls.trigger(Z.BUFFERED_TO_END,void 0)});else this.tracksEnded(),this.hls.trigger(Z.BUFFERED_TO_END,void 0);else if(n.type==="video")this.unblockAudio()}tracksEnded(){this.sourceBuffers.forEach(([e])=>{if(e!==null){let n=this.tracks[e];if(n)n.ending=!1}})}onLevelUpdated(e,{details:n}){if(!n.fragments.length)return;this.details=n,this.updateDuration()}updateDuration(){this.blockUntilOpen(()=>{let e=this.getDurationAndRange();if(!e)return;this.updateMediaSource(e)})}onError(e,n){if(n.details===Le.BUFFER_APPEND_ERROR&&n.frag){var s;let i=(s=n.errorAction)==null?void 0:s.nextAutoLevel;if(lt(i)&&i!==n.frag.level)this.resetAppendErrors()}}getBackBufferEvictionTarget(e,n,s){let{media:i}=this;if(!i)return 0;return this.fragmentTracker.getBackBufferEvictionEnd(i.currentTime,s,n)}getFragmentAppendProgress(e){var n;let s=b3(e),i=this.fragmentAppendProgress[s];if(((n=i)==null?void 0:n.stats)!==e.stats)i={stats:e.stats,progressed:!1,errored:!1,fullyBuffered:Object.create(null)},this.fragmentAppendProgress[s]=i;return i}checkAppendProgress(e,n,s,i){if(n||!_s(e)||e.gap||s.iframe||s.partial)return;let r=b3(e),a=this.fragmentAppendProgress[r];delete this.fragmentAppendProgress[r];let l=e.stats.buffering;if(l.start&&!l.first)return;let c=(a==null?void 0:a.stats)===e.stats?a:void 0;if(c!=null&&c.errored)return;let f=i.length>0&&i.every((v)=>(c==null?void 0:c.fullyBuffered[v])===!0);if(c!=null&&c.progressed||f){delete this.appendsWithoutProgress[r];return}if(!c&&i.length===0)return;let m=(this.appendsWithoutProgress[r]||0)+1,g=this.hls;if(m>=g.config.appendErrorMaxRetry)delete this.appendsWithoutProgress[r];else this.appendsWithoutProgress[r]=m;this.warn(`Fragment ${e.sn} of ${e.type} playlist ${e.level} appended ${m} time${m>1?"s":""} without buffered range growth`),g.trigger(Z.ERROR,{type:Rt.MEDIA_ERROR,details:Le.BUFFER_APPEND_NO_PROGRESS,fatal:!1,frag:e,chunkMeta:s,parent:e.type,appendsWithoutProgress:m,error:Error(`Fragment append did not increase buffered coverage (${m})`)})}resetAppendProgress(){this.fragmentAppendProgress=Object.create(null),this.appendsWithoutProgress=Object.create(null)}resetAppendErrors(){this.appendErrors={audio:0,video:0,audiovideo:0},this.appendError=void 0}trimBuffers(e,n,s,i){let{hls:r,details:a,media:l}=this;if(!l||a===null)return;if(!this.sourceBufferCount)return;let c=r.config,f=l.currentTime,m=a.levelTargetDuration;n=a.live&&c.liveBackBufferLength!==null?c.liveBackBufferLength:n;let g=-1/0;if(lt(n)&&n>=0){let b=Math.max(n,m);g=Math.floor(f/m)*m-b}if(s){let b=this.getLoopBackBufferFlushEnd(s,i!=null?i:null);if(b>0)g=Math.max(g,b)}if(g>0)this.flushBackBuffer(f,m,g);if(lt(e)&&e>0){let b=Math.max(c.maxBufferLength,e),v=Math.max(b,m),k=Math.floor(f/m)*m+v;this.flushFrontBuffer(f,m,k)}}getLoopBackBufferFlushEnd(e,n){var s;let{media:i}=this;if(((s=this.hls)==null?void 0:s.config.loopBackBufferFlush)===!1||!(i!=null&&i.loop)||!n||e.level<=n.level)return 0;let{video:r,audiovideo:a}=e.elementaryStreams;if(r!=null&&r.partial||a!=null&&a.partial)return 0;let l=this.getEarliestElementaryStreamStart(e)-DC;if(l<=0)return 0;return this.log(`Flushing lower quality back buffer for loop: level ${e.level}, range [0-${l.toFixed(3)}]`),l}getEarliestElementaryStreamStart(e){let{audio:n,video:s,audiovideo:i}=e.elementaryStreams,r=e.start;if(i)r=Math.min(r,i.startDTS);else{if(n)r=Math.min(r,n.startDTS);if(s)r=Math.min(r,s.startDTS)}return r}flushBackBuffer(e,n,s){this.sourceBuffers.forEach(([i,r])=>{if(r){let f=Ft.getBuffered(r);if(f.length>0&&s>f.start(0)){var a,l,c;this.hls.trigger(Z.BACK_BUFFER_REACHED,{bufferEnd:s});let m=this.tracks[i];if((a=this.details)!=null&&a.live)this.hls.trigger(Z.LIVE_BACK_BUFFER_REACHED,{bufferEnd:s});else if(m!=null&&m.ended&&!((l=this.media)!=null&&l.loop&&((c=this.hls)==null?void 0:c.config.loopBackBufferFlush)!==!1)){this.log(`Cannot flush ${i} back buffer while SourceBuffer is in ended state`);return}this.hls.trigger(Z.BUFFER_FLUSHING,{startOffset:0,endOffset:s,type:i})}}})}flushFrontBuffer(e,n,s){this.sourceBuffers.forEach(([i,r])=>{if(r){let a=Ft.getBuffered(r),l=a.length;if(l<2)return;let c=a.start(l-1),f=a.end(l-1);if(s>c||e>=c&&e<=f)return;this.hls.trigger(Z.BUFFER_FLUSHING,{startOffset:c,endOffset:1/0,type:i})}})}getDurationAndRange(){var e;let{details:n,mediaSource:s}=this;if(!n||!this.media||(s==null?void 0:s.readyState)!=="open")return null;let i=n.edge;if(n.live&&this.hls.config.liveDurationInfinity){if(n.fragments.length&&!!s.setLiveSeekableRange){let f=Math.max(0,n.fragmentStart),m=Math.max(f,i);return{duration:1/0,start:f,end:m}}return{duration:1/0}}let r=(e=this.overrides)==null?void 0:e.duration;if(r){if(!lt(r))return null;return{duration:r}}let a=this.media.duration,l=lt(s.duration)?s.duration:0;if(i>l&&i>a||!lt(a))return{duration:i};return null}updateMediaSource({duration:e,start:n,end:s}){let i=this.mediaSource;if(!i||!this.media||i.readyState!=="open")return;if(i.duration!==e){if(lt(e))this.log(`Updating MediaSource duration to ${e.toFixed(3)}`);i.duration=e}if(n!==void 0&&s!==void 0)this.log(`MediaSource duration is set to ${i.duration}. Setting seekable range to ${n}-${s}.`),i.setLiveSeekableRange(n,s)}get tracksReady(){let e=this.pendingTrackCount;return e>0&&(e>=this.bufferCodecEventsTotal||this.isPending(this.tracks.audiovideo))}checkPendingTracks(){let{bufferCodecEventsTotal:e,pendingTrackCount:n,tracks:s}=this;if(this.log(`checkPendingTracks (pending: ${n} codec events expected: ${e}) ${ss(s)}`),this.tracksReady){var i;let r=(i=this.transferData)==null?void 0:i.tracks;if(r&&Object.keys(r).length)this.attachTransferred();else this.createSourceBuffers()}}bufferCreated(){if(this.sourceBufferCount){let e={};this.sourceBuffers.forEach(([n,s])=>{if(n){let i=this.tracks[n];e[n]={buffer:s,container:i.container,codec:i.codec,supplemental:i.supplemental,levelCodec:i.levelCodec,id:i.id,metadata:i.metadata}}}),this.hls.trigger(Z.BUFFER_CREATED,{tracks:e}),this.log(`SourceBuffers created. Running queue: ${this.operationQueue}`),this.sourceBuffers.forEach(([n])=>{this.executeNext(n)})}else{let e=Error("could not create source buffer for media codec(s)");this.hls.trigger(Z.ERROR,{type:Rt.MEDIA_ERROR,details:Le.BUFFER_INCOMPATIBLE_CODECS_ERROR,fatal:!0,error:e,reason:e.message})}}createSourceBuffers(){let{tracks:e,sourceBuffers:n,mediaSource:s}=this;if(!s)throw Error("createSourceBuffers called when mediaSource was null");for(let r in e){let a=r,l=e[a];if(this.isPending(l)){let c=this.getTrackCodec(l,a),f=`${l.container};codecs=${c}`;l.codec=c,this.log(`creating sourceBuffer(${f})${this.currentOp(a)?" Queued":""} ${ss(l)}`);try{let m=s.addSourceBuffer(f),g=_g(a),b=[a,m];n[g]=b,l.buffer=m}catch(m){var i;this.error(`error while trying to add sourceBuffer: ${m.message}`),this.shiftAndExecuteNext(a),(i=this.operationQueue)==null||i.removeBlockers(),delete this.tracks[a],this.hls.trigger(Z.ERROR,{type:Rt.MEDIA_ERROR,details:Le.BUFFER_ADD_CODEC_ERROR,fatal:!1,error:m,sourceBufferName:a,mimeType:f,parent:l.id});return}this.trackSourceBuffer(a,l)}}this.bufferCreated()}clearBufferAppendTimeoutId(e){if(!e)return;self.clearTimeout(e.bufferAppendTimeoutId),e.bufferAppendTimeoutId=void 0}getTrackCodec(e,n){let{supplemental:s,codec:i}=e;if(s&&(n==="video"||n==="audiovideo")&&Sh(s,"video"))i=WT(i,s);let r=zd(i,e.levelCodec);if(r){if(n.slice(0,5)==="audio")return Zd(r,this.appendSource);return r}return""}trackSourceBuffer(e,n){let s=n.buffer;if(!s)return;let i=this.getTrackCodec(n,e);if(this.tracks[e]={buffer:s,codec:i,container:n.container,levelCodec:n.levelCodec,supplemental:n.supplemental,metadata:n.metadata,id:n.id,listeners:[]},this.removeBufferListeners(e),this.addBufferListener(e,"updatestart",this.onSBUpdateStart),this.addBufferListener(e,"updateend",this.onSBUpdateEnd),this.addBufferListener(e,"error",this.onSBUpdateError),this.appendSource)this.addBufferListener(e,"bufferedchange",(r,a)=>{let l=a.removedRanges;if(l!=null&&l.length)this.log(`${r} buffer removed ${a0(l)}`),this.hls.trigger(Z.BUFFER_FLUSHED,{type:r,start:l.start(0),end:l.end(l.length-1)})})}get mediaSrc(){var e,n;let s=((e=this.media)==null||(n=e.querySelector)==null?void 0:n.call(e,"source"))||this.media;return s==null?void 0:s.src}onSBUpdateStart(e){let n=this.currentOp(e);if(!n)return;n.onStart()}onSBUpdateEnd(e){var n,s;if(((n=this.mediaSource)==null?void 0:n.readyState)==="closed"){this.resetBuffer(e);return}let i=this.currentOp(e);if(!i)return;if(i.onComplete(),(s=this.tracks[e])==null||(s=s.buffer)==null?void 0:s.updating){this.log(`${e} SourceBuffer updating on "updateend"`),this.blockUntilOpen(()=>{this.shiftAndExecuteNext(e)});return}this.shiftAndExecuteNext(e)}onSBUpdateError(e,n){var s;let i=(s=this.mediaSource)==null?void 0:s.readyState,r=Error(`${e} SourceBuffer error. MediaSource readyState: ${i}`);this.error(`${r.message}`,n),this.hls.trigger(Z.ERROR,{type:Rt.MEDIA_ERROR,details:Le.BUFFER_APPENDING_ERROR,sourceBufferName:e,error:r,fatal:!1});let a=this.currentOp(e);if(a)a.onError(r)}updateTimestampOffset(e,n,s,i,r,a){let l=n-e.timestampOffset;if(Math.abs(l)>=s)this.log(`Updating ${i} SourceBuffer timestampOffset to ${n} (sn: ${r} cc: ${a})`),e.timestampOffset=n}removeExecutor(e,n,s){let{media:i,mediaSource:r}=this,a=this.tracks[e],l=a==null?void 0:a.buffer;if(!i||!r||!l)throw Error(`Attempting to remove from the ${e} SourceBuffer, but it does not exist`);let c=lt(i.duration)?i.duration:1/0,f=lt(r.duration)?r.duration:1/0,m=Math.max(0,n);if(m>=f){var g;(g=this.currentOp(e))==null||g.onComplete(),this.shiftAndExecuteNext(e);return}let b=Math.min(s,c,f);if(b>m&&(!a.ending||a.ended))a.ended=!1,this.log(`Removing [${m},${b}] from the ${e} SourceBuffer`),l.remove(m,b);else throw Error(`Cannot remove ${b<=m?`invalid range (${m} >= ${b}) `:""}from the ${e} SourceBuffer${a.ending?" while track ending":""}`)}appendExecutor(e,n){let s=this.tracks[n],i=s==null?void 0:s.buffer;if(!i)throw new A6(`Attempting to append to the ${n} SourceBuffer, but it does not exist`);if(s.ending=!1,s.ended=!1,this.hls.config.appendTimeout!==1/0){let r=this.calculateAppendTimeoutTime(i);s.bufferAppendTimeoutId=self.setTimeout(()=>this.appendTimeoutHandler(n,i,r),r)}i.appendBuffer(e)}appendTimeoutHandler(e,n,s){this.log(`Received timeout after ${s}ms for append on ${e} source buffer. Aborting and triggering error.`);try{n.abort()}catch(r){this.log(`Failed to abort append on ${e} source buffer after timeout.`)}let i=this.currentOp(e);if(i)i.onError(Error(`${e}-append-timeout`))}calculateAppendTimeoutTime(e){let n=q9;if(this.details)n=this.details.levelTargetDuration;let s=2*n*1000;if(this.media===null)return s;let i=Ft.bufferInfo(e,this.media.currentTime,0);if(!i.len)return s;return s=Math.max(i.len*1000,s),Math.max(this.hls.config.appendTimeout,s)}blockUntilOpen(e){if(this.isUpdating()||this.isQueued())this.blockBuffers(e).catch((n)=>{this.warn(`SourceBuffer blocked callback ${n}`),this.stepOperationQueue(this.sourceBufferTypes)});else try{e()}catch(n){this.warn(`Callback run without blocking ${this.operationQueue} ${n}`)}}isUpdating(){return this.sourceBuffers.some(([e,n])=>e&&n.updating)}isQueued(){return this.sourceBuffers.some(([e])=>e&&!!this.currentOp(e))}isPending(e){return!!e&&!e.buffer}isAudioBlocked(){var e;return((e=this.currentOp("audio"))==null?void 0:e.label)==="block-audio"}isAudioBlocking(){if(this.operationQueue)return this.operationQueue.audioBlocking();return!1}blockBuffers(e,n=this.sourceBufferTypes){if(!n.length)return this.log("Blocking operation requested, but no SourceBuffers exist"),Promise.resolve().then(e);let{operationQueue:s}=this,r=n.length===2&&this.isAudioBlocking()?[this.appendBlocker("video")]:n.map((a)=>this.appendBlocker(a));return Promise.all(r).then((a)=>{if(s!==this.operationQueue)return;e(),this.stepOperationQueue(this.sourceBufferTypes)})}stepOperationQueue(e){e.forEach((n)=>{var s;let i=(s=this.tracks[n])==null?void 0:s.buffer;if(!i||i.updating||n==="audio"&&this.isAudioBlocked())return;this.shiftAndExecuteNext(n)})}append(e,n,s){if(this.operationQueue)this.operationQueue.append(e,n,s)}insertNext(e,n){if(this.operationQueue)this.operationQueue.insertNext(e,n)}appendBlocker(e){if(this.operationQueue)return this.operationQueue.appendBlocker(e)}currentOp(e){if(this.operationQueue)return this.operationQueue.current(e);return null}executeNext(e){if(e&&this.operationQueue)this.operationQueue.executeNext(e)}shiftAndExecuteNext(e){if(this.operationQueue)this.operationQueue.shiftAndExecuteNext(e)}get pendingTrackCount(){return Object.keys(this.tracks).reduce((e,n)=>e+(this.isPending(this.tracks[n])?1:0),0)}get sourceBufferCount(){return this.sourceBuffers.reduce((e,[n])=>e+(n?1:0),0)}get sourceBufferTypes(){return this.sourceBuffers.map(([e])=>e).filter((e)=>!!e)}addBufferListener(e,n,s){let i=this.tracks[e];if(!i)return;let r=i.buffer;if(!r)return;let a=s.bind(this,e);i.listeners.push({event:n,listener:a}),Ln(r,n,a)}removeBufferListeners(e){let n=this.tracks[e];if(!n)return;let s=n.buffer;if(!s)return;n.listeners.forEach((i)=>{Mn(s,i.event,i.listener)}),n.listeners.length=0}}function p3(e){let n=e.querySelectorAll("source");[].slice.call(n).forEach((s)=>{e.removeChild(s)})}function MC(e,n){let s=self.document.createElement("source");s.type="video/mp4",s.src=n,e.appendChild(s)}function _g(e){return e==="audio"?1:0}function g3(e,n){return`${e?"":" - triggering recovery"}${n?" with HTMLMediaElement Error: "+n.message:""}`}function b3(e){return`${e.type}_${e.sn}_${e.level}`}function Ig(e,n){let{start:s,end:i}=n,r=0;for(let a=0;a<e.length;a++){let l=e[a];if(l.start>=i)break;let c=Math.max(s,l.start),f=Math.min(i,l.end);if(f>c)r+=f-c}return r}function w3(e,n){return n.duration-e<=0.05}class B1{constructor(e){this.hls=null,this.autoLevelCapping=void 0,this.media=void 0,this.restrictedLevels=void 0,this.timer=void 0,this.observer=void 0,this.clientRect=void 0,this.streamController=void 0,this.hls=e,this.autoLevelCapping=Number.POSITIVE_INFINITY,this.media=null,this.restrictedLevels=[],this.clientRect=null,this.registerListeners()}setStreamController(e){this.streamController=e}destroy(){if(this.hls)this.unregisterListener();if(this.timer||this.observer)this.stopCapping();this.media=this.clientRect=this.hls=null,this.streamController=void 0}registerListeners(){let{hls:e}=this;if(e)e.on(Z.FPS_DROP_LEVEL_CAPPING,this.onFpsDropLevelCapping,this),e.on(Z.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(Z.MANIFEST_PARSED,this.onManifestParsed,this),e.on(Z.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(Z.BUFFER_CODECS,this.onBufferCodecs,this),e.on(Z.MEDIA_DETACHING,this.onMediaDetaching,this)}unregisterListener(){let{hls:e}=this;if(e)e.off(Z.FPS_DROP_LEVEL_CAPPING,this.onFpsDropLevelCapping,this),e.off(Z.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(Z.MANIFEST_PARSED,this.onManifestParsed,this),e.off(Z.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(Z.BUFFER_CODECS,this.onBufferCodecs,this),e.off(Z.MEDIA_DETACHING,this.onMediaDetaching,this)}onFpsDropLevelCapping(e,n){if(!this.hls)return;let s=this.hls.levels[n.droppedLevel];if(this.isLevelAllowed(s))this.restrictedLevels.push({bitrate:s.bitrate,height:s.height,width:s.width})}onMediaAttaching(e,n){let s=n.media;if(this.clientRect=null,!this.hls)return;if(s instanceof HTMLVideoElement){if(this.media=s,this.hls.config.capLevelToPlayerSize)this.observe()}else this.media=null;if((this.timer||this.observer)&&this.hls.levels.length>1)this.detectPlayerSize()}onManifestParsed(e,n){if(this.restrictedLevels=[],n.video)this.startCapping();this.onLevelsUpdated()}onLevelsUpdated(){if(!this.hls)return;if((this.timer||this.observer)&&(lt(this.autoLevelCapping)||this.clientRect))this.detectPlayerSize();else if(this.observer===void 0&&this.timer===void 0){let e=this.hls.levels;if(e.length>1&&e.some((n)=>!!n.videoCodec))this.startCapping()}}onBufferCodecs(e,n){if(n.video)this.startCapping()}onMediaDetaching(){this.stopCapping(),this.media=null}detectPlayerSize(){if(this.media){if(this.mediaHeight<=0||this.mediaWidth<=0||!this.hls){this.clientRect=null;return}let e=this.hls.levels;if(e.length>1){let n=this.hls,s=this.getMaxLevel(e.length-1);if(s!==this.autoLevelCapping)n.logger.log(`Setting autoLevelCapping to ${s}: ${e[s].height}p@${e[s].bitrate} for media ${this.mediaWidth}x${this.mediaHeight}`);if(n.autoLevelCapping=s,n.autoLevelEnabled&&n.autoLevelCapping>this.autoLevelCapping&&this.streamController)this.streamController.nextLevelSwitch();this.autoLevelCapping=n.autoLevelCapping}else if(e.length===1)this.stopCapping()}}getMaxLevel(e){if(!this.hls)return-1;let n=this.hls.levels;if(!n.length)return-1;let s=n.filter((i,r)=>this.isLevelAllowed(i)&&r<=e);if(!this.observer)this.clientRect=null;return B1.getMaxLevelByMediaSize(s,this.mediaWidth,this.mediaHeight)}observe(){let e=self.ResizeObserver;if(e)this.observer=new e((n)=>{var s;let i=(s=n[0])==null?void 0:s.contentRect;if(i)this.clientRect=i,this.detectPlayerSize()});if(this.observer&&this.media)this.observer.observe(this.media)}startCapping(){var e;if(this.timer||this.observer||!((e=this.hls)!=null&&e.config.capLevelToPlayerSize))return;if(self.clearInterval(this.timer),this.timer=void 0,this.autoLevelCapping=Number.POSITIVE_INFINITY,this.observe(),!this.observer)this.timer=self.setInterval(this.detectPlayerSize.bind(this),1000);this.detectPlayerSize()}stopCapping(){if(this.restrictedLevels=[],this.autoLevelCapping=Number.POSITIVE_INFINITY,this.timer)self.clearInterval(this.timer),this.timer=void 0;if(this.observer)this.observer.disconnect(),this.observer=void 0}getDimensions(){if(this.clientRect)return this.clientRect;let e=this.media,n={width:0,height:0};if(e){let s=e.getBoundingClientRect();if(n.width=s.width,n.height=s.height,!n.width&&!n.height)n.width=s.right-s.left||e.width||0,n.height=s.bottom-s.top||e.height||0}return this.clientRect=n,n}get mediaWidth(){return this.getDimensions().width*this.contentScaleFactor}get mediaHeight(){return this.getDimensions().height*this.contentScaleFactor}get contentScaleFactor(){let e=1;if(!this.hls)return e;let{ignoreDevicePixelRatio:n,maxDevicePixelRatio:s}=this.hls.config;if(!n)try{e=self.devicePixelRatio}catch(i){}return Math.min(e,s)}isLevelAllowed(e){return!this.restrictedLevels.some((s)=>e.bitrate===s.bitrate&&e.width===s.width&&e.height===s.height)}static getMaxLevelByMediaSize(e,n,s){if(!(e!=null&&e.length))return-1;let i=(l,c)=>{if(!c)return!0;return l.width!==c.width||l.height!==c.height},r=e.length-1,a=Math.max(n,s);for(let l=0;l<e.length;l+=1){let c=e[l];if((c.width>=a||c.height>=a)&&i(c,e[l+1])){r=l;break}}return r}}var Vi=class e{constructor(n,s){if(Array.isArray(n))n=n.map((i)=>i instanceof e?i:new e(i));this.value=n,this.params=s}},FC="Dict";function LC(e){if(Array.isArray(e))return JSON.stringify(e);if(e instanceof Map)return"Map{}";if(e instanceof Set)return"Set{}";if(typeof e==="object")return JSON.stringify(e);return String(e)}function OC(e,n,s,i){return Error(`failed to ${e} "${LC(n)}" as ${s}`,{cause:i})}var y3="Bare Item",PC="Boolean",NC="Byte Sequence",BC="Decimal",HC="Integer";function UC(e){return e<-999999999999999||999999999999999<e}var GC="String",VC=/[\x00-\x1f\x7f]+/,E6=class{constructor(e){this.description=e}},$C="Token",XC="Key";function ja(e,n,s){return OC("serialize",e,n,s)}function KC(e){if(typeof e!=="boolean")throw ja(e,PC);return e?"?1":"?0"}function YC(e){if(ArrayBuffer.isView(e)===!1)throw ja(e,NC);return`:${sT(e)}:`}function C6(e){if(UC(e))throw ja(e,HC);return e.toString()}function QC(e){return`@${C6(e.getTime()/1000)}`}function JC(e){let n=Q3(e,3);if(Math.floor(Math.abs(n)).toString().length>12)throw ja(e,BC);let s=n.toString();return s.includes(".")?s:`${s}.0`}function ZC(e){if(VC.test(e))throw ja(e,GC);return`"${e.replace(/\\/g,"\\\\").replace(/"/g,"\\\"")}"`}function ej(e){return e.description||e.toString().slice(7,-1)}function v3(e){let n=ej(e);if(/^([a-zA-Z*])([!#$%&'*+\-.^_`|~\w:/]*)$/.test(n)===!1)throw ja(n,$C);return n}function r1(e){switch(typeof e){case"number":if(!lt(e))throw ja(e,y3);if(Number.isInteger(e))return C6(e);return JC(e);case"string":return ZC(e);case"symbol":return v3(e);case"boolean":return KC(e);case"object":if(e instanceof Date)return QC(e);if(e instanceof Uint8Array)return YC(e);if(e instanceof E6)return v3(e);default:throw ja(e,y3)}}function a1(e){if(/^[a-z*][a-z0-9\-_.*]*$/.test(e)===!1)throw ja(e,XC);return e}function H1(e){if(e==null)return"";return Object.entries(e).map(([n,s])=>{if(s===!0)return`;${a1(n)}`;return`;${a1(n)}=${r1(s)}`}).join("")}function j6(e){if(e instanceof Vi)return`${r1(e.value)}${H1(e.params)}`;else return r1(e)}function tj(e){return`(${e.value.map(j6).join(" ")})${H1(e.params)}`}function nj(e,n={whitespace:!0}){if(typeof e!=="object"||e==null)throw ja(e,FC);let s=e instanceof Map?e.entries():Object.entries(e),i=n!=null&&n.whitespace?" ":"";return Array.from(s).map(([r,a])=>{if(a instanceof Vi===!1)a=new Vi(a);let l=a1(r);if(a.value===!0)l+=H1(a.params);else if(l+="=",Array.isArray(a.value))l+=tj(a);else l+=j6(a);return l}).join(`,${i}`)}function _6(e,n){return nj(e,n)}var sj=["url"],ij=["version","eventTargets","sid","transmissionMode"],rj=["customData","headers"],S3=(e)=>{if(e instanceof Vi)return new Vi(Math.round(e.value),e.params);return Math.round(e)},Rg=(e)=>{if(Array.isArray(e))return e.map(S3);return S3(e)},o1=(e,n)=>{if(Array.isArray(e))return e.map((s)=>o1(s,n));if(e instanceof Vi&&typeof e.value==="string")return new Vi(o1(e.value,n),e.params);else{if(n.baseUrl)e=oT(e,aT(n.baseUrl));return n.version===1?encodeURIComponent(e):e}},k3=(e)=>{if(e instanceof Vi)return new Vi(Math.round(e.value/100)*100,e.params);return Math.round(e/100)*100},Ld=(e)=>{if(Array.isArray(e))return e.map(k3);return k3(e)},aj=(e,n)=>{let s=e;if(n.version>=2){if(e instanceof Vi&&typeof e.value==="string")s=new Vi([e]);else if(typeof e==="string")s=[e]}return o1(s,n)},oj={br:Rg,d:Rg,bl:Ld,dl:Ld,mtp:Ld,nor:aj,rtp:Ld,tb:Rg},Ch=2,I6="bc",lj="ps",R6="pr",cj="e",x3="t",fj="c",D6="b",U1="rr",q6="ce",Od={BITRATE_CHANGE:I6,ERROR:cj,RESPONSE_RECEIVED:U1,CUSTOM_EVENT:q6},M6=new Map([[lj,"sta"],[R6,"pr"],[fj,"cid"],[D6,"bg"],[I6,"br"]]),z1="event",G1="request",F6=["cen","e","h","ts"],L6=["ab","bg","bl","br","bs","bsa","bsd","bsda","cdn","cid","cs","d","dfa","dl","ec","lab","lb","ltc","msd","mtp","nor","nr","ot","pb","pr","pt","rtp","sf","sid","sn","st","sta","su","tab","tb","tbl","tpb","v"],hj=/^[a-zA-Z0-9-.]+-[a-zA-Z0-9-.]+$/;function V1(e){return hj.test(e)}var uj=new Set(L6);function O6(e){return uj.has(e)||V1(e)}var P6=["cmsdd","cmsds","rc","smrt","ttfb","ttfbb","ttlb","url"],dj=new Set(P6);function N6(e){return dj.has(e)}var mj=new Set(F6);function pj(e){return O6(e)||N6(e)||mj.has(e)}var gj=new Set(["ab","bl","br","bsa","bsd","bsda","lab","lb","mtp","pb","tab","tb","tbl","tpb"]),S0=["bl","br","bs","cid","d","dl","mtp","nor","nrr","ot","pr","rtp","sf","sid","st","su","tb","v"],bj=new Set(S0);function wj(e){return bj.has(e)||V1(e)}var yj=new Set(["ot","sf","st","e","sta"]);function vj(e){return yj.has(e)}function Sj(e){if(typeof e==="number")return lt(e);return e!=null&&e!==""&&e!==!1}var kj={[z1]:pj,[G1]:O6};function B6(e,n){if(Array.isArray(e)){let s;if(n)s=e.find((i)=>{var r;return((r=i.params)==null?void 0:r.ot)===n});if(!s)s=e[0];return B6(s)}if(e instanceof Vi)return e.value;return e}function xj(e){let n={};for(let[i,r]of Object.entries(e)){if(r==null){n[i]=r;continue}if(i==="nor"){let a=(Array.isArray(r)?r:[r])[0];if(a instanceof Vi){var s;if(n.nor=a.value,(s=a.params)!=null&&s.r)n.nrr=a.params.r}else n.nor=a}else if(gj.has(i))n[i]=B6(r,e.ot);else n[i]=r}return n}function H6(e,n={}){let s={};if(e==null||typeof e!=="object")return s;let i=n.version||e.v||Ch,r=n.reportingMode||G1,a=i===1?xj(e):e,l=i===1?wj:kj[r],c=Object.keys(a).filter(l);if(a.e&&a.e!==U1)c=c.filter((k)=>!N6(k));let f=n.filter;if(typeof f==="function")c=c.filter(f);let m=r===z1;if(m){let k=a.e;if(!c.includes("e")&&k!=null)c.push("e");if(!c.includes("ts"))c.push("ts");if(!c.includes("cen")&&a.cen!=null&&k===q6)c.push("cen");let T=k?M6.get(k):void 0;if(T&&a[T]!=null&&!c.includes(T))c.push(T)}if(c.length===0)return s;if(i>1&&!c.includes("v"))c.push("v");let g={version:i,reportingMode:r,baseUrl:n.baseUrl};c.sort();for(let k of c){var b,v;let T=a[k],_=(b=(v=n.formatters)==null?void 0:v[k])!=null?b:oj[k];if(typeof _==="function")T=_(T,g);if(k==="v")if(i===1)continue;else T=i;if(k==="pr"&&T===1&&!(m&&a.e===R6))continue;if(m&&k==="ts"&&!lt(T))T=Date.now();let P=m&&T===!1&&k==="bg"&&a.e===D6;if(!Sj(T)&&!P)continue;if(vj(k)&&typeof T==="string")T=new E6(T);s[k]=T}return s}var ho="CMCD-Object",Gi="CMCD-Request",$c="CMCD-Session",Zr="CMCD-Status",Aj={REQUEST:Gi},Tj={ab:ho,br:ho,d:ho,lab:ho,lb:ho,ot:ho,tab:ho,tb:ho,tpb:ho,bl:Gi,cs:Gi,dfa:Gi,dl:Gi,ltc:Gi,mtp:Gi,nor:Gi,nrr:Gi,pb:Gi,sn:Gi,sta:Gi,su:Gi,tbl:Gi,cid:$c,msd:$c,sf:$c,sid:$c,st:$c,v:$c,bg:Zr,bs:Zr,bsa:Zr,bsd:Zr,bsda:Zr,cdn:Zr,ec:Zr,nr:Zr,pr:Zr,pt:Zr,rtp:Zr};function Ej(e){return Object.keys(e).reduce((n,s)=>{var i;return(i=e[s])==null||i.forEach((r)=>n[r]=s),n},{})}function Cj(e,n){let s={};if(!e)return s;let i=Object.keys(e),r=n?Ej(n):{};for(let l of i){var a;let c=Tj[l]||r[l]||Aj.REQUEST,f=(a=s[c])!=null?a:s[c]={};f[l]=e[l]}return s}function jj(e,n){let s={},i=Cj(e,n);for(let[r,a]of Object.entries(i)){let l=_6(a,{whitespace:!1});if(l)s[r]=l}return s}var A3="CMCD";function U6(e){return _6(e,{whitespace:!1})}function _j(e,n={}){if(!e)return"";return U6(H6(e,n))}var Ij=30,l1=[...S0,...L6,...P6,...F6].filter((e,n,s)=>s.indexOf(e)===n),Rj="application/cmcd",Dj=1,bi={MANIFEST:"m",AUDIO:"a",VIDEO:"v",MUXED:"av",INIT:"i",CAPTION:"c",TIMED_TEXT:"tt",KEY:"k",OTHER:"o"},ea={STARTING:"s",PLAYING:"p",SEEKING:"k",REBUFFERING:"r",PAUSED:"a",ENDED:"e",FATAL_ERROR:"f",PRELOADING:"d"},$1="query",z6="headers";function T3(e,n,s){var i;let r=new Set((i=n.enabledKeys)!=null?i:[]);return{version:n.version||Ch,reportingMode:e,filter:(a)=>r.has(a),baseUrl:s}}function qj(e,n){if(e===n)return!0;if(e.length!==n.length)return!1;for(let s=0;s<e.length;s++){let i=e[s],r=n[s];if(i===r)continue;if(typeof i==="number"||typeof r==="number")return!1;if(i.value!==r.value)return!1;let a=i.params,l=r.params,c=a&&Object.keys(a)[0],f=l&&Object.keys(l)[0];if(c!==f)return!1;if(c!==void 0&&f!==void 0&&a&&l&&a[c]!==l[f])return!1}return!0}var Mj=Object.is,Fj=(e)=>e,G6=Array.from(M6,([e,n])=>{if(n==="br")return{event:e,field:n,equal:(s,i)=>s===void 0||i===void 0?s===i:qj(s,i),snapshot:(s)=>s.slice()};return{event:e,field:n,equal:Mj,snapshot:Fj}}),Lj=new Map(G6.map((e)=>[e.event,e]));function Oj(e){let{url:n}=e,s=d0(e,sj);return fetch(n,s)}function Pj(e){let{version:n=Ch,eventTargets:s=[],sid:i=J3(),transmissionMode:r=$1}=e,a=d0(e,ij);return Dt(Dt({},a),{},{version:n,transmissionMode:r,sid:i,eventTargets:s.reduce((l,c)=>{var f,m,g;if(c!=null&&c.url&&(f=c.events)!=null&&f.length)l.push({version:c.version||Ch,enabledKeys:((m=c.enabledKeys)==null?void 0:m.slice())||[],url:c.url,events:c.events.slice(),interval:(g=c.interval)!=null?g:Ij,batchSize:c.batchSize||1});return l},[])})}var Nj=class{constructor(e,n=Oj){var s;this.timeOrigin=performance.timeOrigin||((s=performance.timing)==null?void 0:s.fetchStart)||Date.now()-performance.now(),this.data={},this.msd=NaN,this.eventTargets=new Map,this.lastEmitted={},this.requestTarget={sn:0,msdSent:!1},this.config=Pj(e),this.data={cid:this.config.cid,sid:this.config.sid,v:this.config.version},this.requester=n;for(let i of this.config.eventTargets)this.eventTargets.set(i,{intervalId:void 0,sn:0,msdSent:!1,queue:[]})}start(){this.eventTargets.forEach((e,n)=>{if(this.disarmInterval(e),n.interval===0||!n.events.includes(x3))return;let s=()=>{this.recordTargetEvent(e,n,x3),this.processEventTargets()};e.intervalId=setInterval(s,n.interval*1000),s()})}stop(e=!1){if(e)this.flush();this.eventTargets.forEach((n)=>{this.disarmInterval(n)})}flush(){this.processEventTargets(!0)}update(e){if(e.sid&&e.sid!==this.data.sid)this.resetSession();if(e.msd&&!isNaN(e.msd))this.msd=e.msd;this.data=Dt(Dt(Dt({},this.data),e),{},{msd:void 0});for(let n of G6)if(n.field in e&&!n.equal(this.data[n.field],this.lastEmitted[n.field]))this.recordEvent(n.event)}recordEvent(e,n={}){let s=Lj.get(e);if(s){let i=s.field,r=n[i];if(r!==void 0)Nn(this.data,{[i]:r});let a=this.data[i];if(a===void 0)return;if(s.equal(a,this.lastEmitted[i]))return;Nn(this.lastEmitted,{[i]:s.snapshot(a)})}this.eventTargets.forEach((i,r)=>{this.recordTargetEvent(i,r,e,n)}),this.processEventTargets()}recordTargetEvent(e,n,s,i={}){var r;if(!n.events.includes(s))return;let a=Dt(Dt(Dt({},this.data),i),{},{e:s,ts:(r=i.ts)!=null?r:Date.now(),sn:e.sn++});if(!isNaN(this.msd)&&!e.msdSent)a.msd=this.msd,e.msdSent=!0;e.queue.push(a)}recordResponseReceived(e,n={}){var s,i,r;let{request:a}=e,l=(s=n.url)!=null?s:a==null?void 0:a.url;if(!l)return;let c=new URL(l);c.searchParams.delete(A3);let f={url:c.toString(),rc:e.status},m=e.resourceTiming;if(m){if(m.startTime!=null){if(f.ts=Math.round(this.timeOrigin+m.startTime),m.responseStart!=null)f.ttfb=Math.round(m.responseStart-m.startTime)}if(m.duration!=null)f.ttlb=Math.round(m.duration)}let g=(i=(r=a.customData)==null?void 0:r.cmcd)!=null?i:{};this.recordEvent(U1,Dt(Dt(Dt({},g),f),n))}applyRequestReport(e){var n;return(n=this.createRequestReport(e))!=null?n:e}isRequestReportingEnabled(){var e;return!!((e=this.config.enabledKeys)!=null&&e.length)}createRequestReport(e,n){var s;let{customData:i={},headers:r={}}=e,a=d0(e,rj),l=Dt(Dt({},a),{},{headers:Dt({},r),customData:Dt(Dt({},i),{},{cmcd:{}})});if(!((s=this.config.enabledKeys)!=null&&s.length)||!l.url)return l;let c=new URL(l.url),f=Dt(Dt(Dt({},this.data),n),{},{sn:this.requestTarget.sn++}),m=T3(G1,this.config,l.url);if(!isNaN(this.msd)&&!this.requestTarget.msdSent)f.msd=this.msd,this.requestTarget.msdSent=!0;let g=l.customData.cmcd=H6(f,m);switch(this.config.transmissionMode){case $1:let b=U6(g);if(b)c.searchParams.set(A3,b),l.url=c.toString();break;case z6:Nn(l.headers,jj(g,m.customHeaderMap));break}return l}processEventTargets(e=!1){let n=!1;if(this.eventTargets.forEach((s,i)=>{let{queue:r}=s;if(!r.length)return;if(r.length<i.batchSize&&!e)return;let a=e?r.length:i.batchSize,l=r.splice(0,a);this.sendEventReport(i,l).catch(()=>{s.queue.unshift(...l)}),n||(n=r.length>0)}),n)this.processEventTargets()}async sendEventReport(e,n){let s=T3(z1,e),{status:i}=await this.requester({url:e.url,method:"POST",headers:{"Content-Type":Rj},body:n.map((r)=>_j(r,s)).join(`
39
+ `)+`
40
+ `});if(i===410)this.disposeEventTarget(e);else if(i===429||i>499&&i<600)throw Error(`Event report failed with status ${i}`)}disarmInterval(e){clearInterval(e.intervalId),e.intervalId=void 0}disposeEventTarget(e){let n=this.eventTargets.get(e);if(!n)return;this.disarmInterval(n),this.eventTargets.delete(e)}resetSession(){this.eventTargets.forEach((e)=>e.sn=0),this.requestTarget.sn=0,this.lastEmitted={}}},Bj={HLS:"h"},Dg={VOD:"v",LIVE:"l",LOW_LATENCY:"ll"};function Hj(e,n){return new Vi(e,n)}new Set(S0);new Set(l1);var Uj=["includeKeys"];function E3(e){return Object.keys(e).every(V1)}class V6{constructor(e){this.hls=void 0,this.config=void 0,this.media=void 0,this.initialized=!1,this.starved=!1,this.buffering=!0,this.playerState=void 0,this.reporter=void 0,this.playheadLevel=void 0,this.onWaiting=()=>{if(this.initialized)this.starved=!0,this.setPlayerState(ea.REBUFFERING);this.buffering=!0},this.onPlay=()=>{if(!this.initialized)this.setPlayerState(ea.STARTING)},this.onPlaying=()=>{if(!this.initialized)this.initialized=!0;this.buffering=!1,this.setPlayerState(ea.PLAYING)},this.onPause=()=>{if(this.media&&!this.media.ended)this.setPlayerState(ea.PAUSED)},this.onSeeking=()=>{if(this.initialized)this.setPlayerState(ea.SEEKING)},this.onSeeked=()=>{var i;if(!this.initialized)return;if((i=this.media)!=null&&i.paused)this.setPlayerState(ea.PAUSED)},this.onRateChange=()=>{if(this.reporter&&this.media)this.reporter.update({pr:this.media.playbackRate})},this.applyPlaylistData=(i)=>{try{this.apply(i,{ot:bi.MANIFEST,su:!this.initialized})}catch(r){this.hls.logger.warn("Could not generate manifest CMCD data.",r)}},this.applyFragmentData=(i)=>{try{let{frag:l,part:c}=i,f=this.hls.levels[l.level],m=this.getObjectType(l,f),g={d:(c||l).duration*1000,ot:m};if(m===bi.VIDEO||m===bi.AUDIO||m===bi.MUXED||m==null&&(l.type==="main"||l.type==="audio")){var r;let v=f.bitrate/1000;g.br=[v];let{cmcd:k}=this.config,T=(r=k==null?void 0:k.rtpSafetyFactor)!=null?r:5;if(g.rtp=Math.round(v*T/100)*100,m===bi.MUXED||m==null&&l.type==="main"){let U=this.getTopBandwidth()/1000;if(lt(U))g.tb=[U];let z=this.getLowestBandwidth()/1000;if(lt(z))g.lb=[z]}let _=this.getBufferLength(l);if(lt(_)){var a;g.bl=[_];let U=((a=this.media)==null?void 0:a.playbackRate)||1;g.dl=Math.round(_/U/100)*100}if(this.playheadLevel)g.pb=[this.playheadLevel.bitrate/1000];let P=this.hls.maxAutoLevel;if(P>=0){let U=this.hls.levels[P];if(U)g.tpb=[U.bitrate/1000]}}let b=c?this.getNextPart(c):this.getNextFrag(l);if(b!=null&&b.url&&b.url!==l.url)if(b.byteRange.length>0)g.nor=[Hj(b.url,{r:`${b.byteRange[0]}-${b.byteRange[1]}`})];else g.nor=[b.url];this.apply(i,g)}catch(l){this.hls.logger.warn("Could not generate segment CMCD data.",l)}},this.recordFragmentResponse=(i,r,a)=>{var l;let{cmcd:c}=this.config,f=c==null||(l=c.eventTargets)==null?void 0:l.some((m)=>{var g;return(g=m.events)==null?void 0:g.includes(Od.RESPONSE_RECEIVED)});if(!this.reporter||!(a.loading.first>0)||!f)return;try{this.reporter.recordResponseReceived({request:{url:i},status:r.code,resourceTiming:{startTime:a.loading.start,responseStart:a.loading.first,duration:a.loading.end-a.loading.start,encodedBodySize:a.total}})}catch(m){this.hls.logger.warn("Could not record fragment response CMCD data.",m)}},this.hls=e;let n=this.config=e.config,{cmcd:s}=n;if(s!=null)n.pLoader=this.createPlaylistLoader(),n.fLoader=this.createFragmentLoader(),this.registerListeners()}createReporter(){var e,n;let{cmcd:s}=this.config;if(s==null)return;let i=s.version||Dj;if(this.reporter=new Nj({sid:s.sessionId||this.hls.sessionId,cid:s.contentId,version:i,transmissionMode:s.useHeaders===!0?z6:$1,enabledKeys:(e=s.includeKeys)!=null?e:[...i>=Ch?l1:S0],eventTargets:((n=s.eventTargets)!=null?n:[]).map((r)=>{let{includeKeys:a}=r,l=d0(r,Uj);return Dt(Dt({},l),{},{enabledKeys:a!=null?a:l1})})},s.loader),this.reporter.update({sf:Bj.HLS,sta:this.playerState}),s.reporterCallback){let r=this.reporter,a={updateCustomData:(l)=>{if(E3(l))r.update(l)},recordCustomEvent:(l,c={})=>{if(E3(c))r.recordEvent(Od.CUSTOM_EVENT,Dt({cen:l},c))}};s.reporterCallback(a)}this.reporter.start()}registerListeners(){let e=this.hls;e.on(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Z.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(Z.MEDIA_DETACHED,this.onMediaDetached,this),e.on(Z.MEDIA_ENDED,this.onMediaEnded,this),e.on(Z.ERROR,this.onError,this),e.on(Z.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(Z.LEVEL_SWITCHED,this.onLevelSwitched,this),e.on(Z.BUFFER_APPENDED,this.onBufferInfoChange,this),e.on(Z.BUFFER_FLUSHED,this.onBufferInfoChange,this)}unregisterListeners(){let e=this.hls;e.off(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Z.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(Z.MEDIA_DETACHED,this.onMediaDetached,this),e.off(Z.MEDIA_ENDED,this.onMediaEnded,this),e.off(Z.ERROR,this.onError,this),e.off(Z.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(Z.LEVEL_SWITCHED,this.onLevelSwitched,this),e.off(Z.BUFFER_APPENDED,this.onBufferInfoChange,this),e.off(Z.BUFFER_FLUSHED,this.onBufferInfoChange,this)}destroy(){if(this.unregisterListeners(),this.onMediaDetached(),this.reporter)this.reporter.stop(!0),this.reporter=void 0;this.hls=this.config=null,this.onWaiting=this.onPlay=this.onPlaying=this.onPause=null,this.onSeeking=this.onSeeked=this.onRateChange=this.media=null}onMediaAttaching(e,n){let s=this.media=n.media;this.setPlayerState(this.media.autoplay?ea.STARTING:ea.PRELOADING),Ln(s,"waiting",this.onWaiting),Ln(s,"play",this.onPlay),Ln(s,"playing",this.onPlaying),Ln(s,"pause",this.onPause),Ln(s,"seeking",this.onSeeking),Ln(s,"seeked",this.onSeeked),Ln(s,"ratechange",this.onRateChange)}onMediaDetached(){let e=this.media;if(!e)return;Mn(e,"waiting",this.onWaiting),Mn(e,"play",this.onPlay),Mn(e,"playing",this.onPlaying),Mn(e,"pause",this.onPause),Mn(e,"seeking",this.onSeeking),Mn(e,"seeked",this.onSeeked),Mn(e,"ratechange",this.onRateChange),this.media=null}onMediaEnded(e,n){this.setPlayerState(ea.ENDED)}onManifestLoading(e,n){if(this.initialized=!1,this.starved=!1,this.buffering=!0,this.reporter)this.reporter.stop(!0),this.reporter=void 0;if(this.createReporter(),!this.media)this.setPlayerState(ea.PRELOADING)}onError(e,n){if(n.fatal){if(this.setPlayerState(ea.FATAL_ERROR),this.reporter)this.reporter.recordEvent(Od.ERROR,{ec:[n.details]})}}onLevelSwitching(e,n){var s;if(!this.reporter)return;let i={br:[n.bitrate/1000]},r=(s=n.details)==null?void 0:s.fragments[0];if(r)i.ot=this.getObjectType(r,n);this.reporter.recordEvent(Od.BITRATE_CHANGE,i)}onLevelSwitched(e,n){let s=this.hls.levels[n.level];if(s)this.playheadLevel=s}setPlayerState(e){if(this.playerState=e,this.reporter)this.reporter.update({sta:e})}getStreamType(){let e=this.hls.latestLevelDetails;if(!e)return;if(!e.live)return Dg.VOD;if(!!e.partList&&e.canBlockReload)return Dg.LOW_LATENCY;return Dg.LIVE}apply(e,n={}){var s;if(!this.reporter)return;this.reporter.update({mtp:[this.hls.bandwidthEstimate/1000],pr:(s=this.media)==null?void 0:s.playbackRate,st:this.getStreamType()});let i=n.ot===bi.INIT||n.ot===bi.VIDEO||n.ot===bi.MUXED;if(this.starved&&i)n.bs=!0,n.su=!0,this.starved=!1;if(n.su==null)n.su=this.buffering;let r=this.reporter.createRequestReport({url:e.url,headers:e.headers},n);e.url=r.url,e.headers=r.headers}getNextFrag(e){var n;let s=(n=this.hls.levels[e.level])==null?void 0:n.details;if(s){let i=e.sn-s.startSN;return s.fragments[i+1]}return}getNextPart(e){var n;let{index:s,fragment:i}=e,r=(n=this.hls.levels[i.level])==null||(n=n.details)==null?void 0:n.partList;if(r){let{sn:a}=i;for(let l=r.length-1;l>=0;l--){let c=r[l];if(c.index===s&&c.fragment.sn===a)return r[l+1]}}return}getObjectType(e,n){let{type:s}=e;if(s==="subtitle")return bi.TIMED_TEXT;if(e.sn==="initSegment")return bi.INIT;if(s==="audio")return bi.AUDIO;if(s==="main"){if(e.hasStreams){let i=e.elementaryStreams;if(i.audiovideo)return bi.MUXED;if(i.video)return bi.VIDEO;if(i.audio)return bi.AUDIO}if(n){let{audioCodec:i,videoCodec:r}=n;if(!this.hls.audioTracks.length){if(i&&r)return bi.MUXED;if(i)return bi.AUDIO}if(r)return bi.VIDEO}}return}getTopBandwidth(){let e=0,n=this.hls,s=n.maxAutoLevel,i=s>-1?s+1:n.levels.length;return n.levels.slice(0,i).forEach((a)=>{if(a.bitrate>e)e=a.bitrate}),e>0?e:NaN}getLowestBandwidth(){let e=1/0,n=this.hls,s=n.maxAutoLevel,i=s>-1?s+1:n.levels.length;return n.levels.slice(0,i).forEach((a)=>{if(a.bitrate<e)e=a.bitrate}),lt(e)?e:NaN}getBufferLength(e){if(!this.media)return NaN;let n=e.type==="audio"?this.hls.audioForwardBufferInfo:this.hls.mainForwardBufferInfo;return n?n.len*1000:NaN}getEventBufferLength(){if(!this.media)return NaN;let e=this.hls.mainForwardBufferInfo,n=this.hls.audioForwardBufferInfo;if(e&&n)return Math.min(e.len,n.len)*1000;let s=e||n;return s?s.len*1000:NaN}onBufferInfoChange(e,n){if(!this.reporter)return;let s=this.getEventBufferLength();if(!lt(s))return;this.reporter.update({bl:[s]})}createPlaylistLoader(){let{pLoader:e}=this.config,n=this.applyPlaylistData,s=e||this.config.loader;return class{constructor(r){this.loader=void 0,this.loader=new s(r)}get stats(){return this.loader.stats}get context(){return this.loader.context}destroy(){this.loader.destroy()}abort(){this.loader.abort()}load(r,a,l){n(r),this.loader.load(r,a,l)}}}createFragmentLoader(){let{fLoader:e}=this.config,n=this.applyFragmentData,s=this.recordFragmentResponse,i=e||this.config.loader;return class{constructor(a){this.loader=void 0,this.loader=new i(a)}get stats(){return this.loader.stats}get context(){return this.loader.context}destroy(){this.loader.destroy()}abort(){this.loader.abort()}load(a,l,c){n(a);let{onSuccess:f}=c;this.loader.load(a,l,Dt(Dt({},c),{},{onSuccess:(m,g,b,v)=>{f(m,g,b,v),s(a.url,m,g)}}))}}}}var zj=300000;class $6 extends $i{constructor(e){super("content-steering",e.logger);this.hls=void 0,this.loader=null,this.uri=null,this.pathwayId=".",this._pathwayPriority=null,this.timeToLoad=300,this.reloadTimer=-1,this.updated=0,this.started=!1,this.enabled=!0,this.levels=null,this.audioTracks=null,this.subtitleTracks=null,this.penalizedPathways={},this.hls=e,this.registerListeners()}registerListeners(){let e=this.hls;e.on(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Z.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(Z.MANIFEST_PARSED,this.onManifestParsed,this),e.on(Z.ERROR,this.onError,this)}unregisterListeners(){let e=this.hls;if(!e)return;e.off(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Z.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(Z.MANIFEST_PARSED,this.onManifestParsed,this),e.off(Z.ERROR,this.onError,this)}pathways(){return(this.levels||[]).reduce((e,n)=>{if(e.indexOf(n.pathwayId)===-1)e.push(n.pathwayId);return e},[])}get pathwayPriority(){return this._pathwayPriority}set pathwayPriority(e){this.updatePathwayPriority(e)}startLoad(){if(this.started=!0,this.clearTimeout(),this.enabled&&this.uri){if(this.updated){let e=this.timeToLoad*1000-(performance.now()-this.updated);if(e>0){this.scheduleRefresh(this.uri,e);return}}this.loadSteeringManifest(this.uri)}}stopLoad(){if(this.started=!1,this.loader)this.loader.destroy(),this.loader=null;this.clearTimeout()}clearTimeout(){if(this.reloadTimer!==-1)self.clearTimeout(this.reloadTimer),this.reloadTimer=-1}destroy(){this.unregisterListeners(),this.stopLoad(),this.hls=null,this.levels=this.audioTracks=this.subtitleTracks=null}removeLevel(e){let n=this.levels;if(n)this.levels=n.filter((s)=>s!==e)}onManifestLoading(){this.stopLoad(),this.enabled=!0,this.timeToLoad=300,this.updated=0,this.uri=null,this.pathwayId=".",this.levels=this.audioTracks=this.subtitleTracks=null}onManifestLoaded(e,n){let{contentSteering:s}=n;if(s===null)return;if(this.pathwayId=s.pathwayId,this.uri=s.uri,this.started)this.startLoad()}onManifestParsed(e,n){this.audioTracks=n.audioTracks,this.subtitleTracks=n.subtitleTracks}onError(e,n){let{errorAction:s}=n;if((s==null?void 0:s.action)===fi.SendAlternateToPenaltyBox&&s.flags&ci.MoveAllAlternatesMatchingHost){let i=this.levels,r=this._pathwayPriority,a=this.pathwayId;if(n.context){let{groupId:l,pathwayId:c,type:f}=n.context;if(l&&i)a=this.getPathwayForGroupId(l,f,a);else if(c)a=c}if(!(a in this.penalizedPathways))this.penalizedPathways[a]=performance.now();if(!r&&i)r=this.pathways();if(r&&r.length>1){if(this.updatePathwayPriority(r),s.resolved=this.pathwayId!==a,!s.resolved&&(n.details!==Le.BUFFER_APPEND_ERROR||n.fatal))this.warn(`Could not resolve ${n.details} ("${n.error.message}") with content-steering for Pathway: ${a} levels: ${i?i.length:i} priorities: ${ss(r)} penalized: ${ss(this.penalizedPathways)}`)}}}filterParsedLevels(e){this.levels=e;let n=this.getLevelsForPathway(this.pathwayId);if(n.length===0){let s=e[0].pathwayId;this.log(`No levels found in Pathway ${this.pathwayId}. Setting initial Pathway to "${s}"`),n=this.getLevelsForPathway(s),this.pathwayId=s}if(n.length!==e.length)this.log(`Found ${n.length}/${e.length} levels in Pathway "${this.pathwayId}"`);return n}getLevelsForPathway(e){if(this.levels===null)return[];return this.levels.filter((n)=>e===n.pathwayId)}updatePathwayPriority(e){this._pathwayPriority=e;let n,s=this.penalizedPathways,i=performance.now();Object.keys(s).forEach((r)=>{if(i-s[r]>zj)delete s[r]});for(let r=0;r<e.length;r++){let a=e[r];if(a in s)continue;if(a===this.pathwayId)return;let l=this.hls.nextLoadLevel,c=this.hls.levels[l];if(n=this.getLevelsForPathway(a),n.length>0){this.log(`Setting Pathway to "${a}"`),this.pathwayId=a,V9(n),this.hls.trigger(Z.LEVELS_UPDATED,{levels:n});let f=this.hls.levels[l];if(c&&f&&this.levels){if(f.attrs["STABLE-VARIANT-ID"]!==c.attrs["STABLE-VARIANT-ID"]&&f.bitrate!==c.bitrate)this.log(`Unstable Pathways change from bitrate ${c.bitrate} to ${f.bitrate}`);this.hls.nextLoadLevel=l}break}}}getPathwayForGroupId(e,n,s){let i=this.getLevelsForPathway(s).concat(this.levels||[]);for(let r=0;r<i.length;r++)if(n===tn.AUDIO_TRACK&&i[r].hasAudioGroup(e)||n===tn.SUBTITLE_TRACK&&i[r].hasSubtitleGroup(e))return i[r].pathwayId;return s}clonePathways(e){let n=this.levels;if(!n)return;let s={},i={};e.forEach((r)=>{let{ID:a,"BASE-ID":l,"URI-REPLACEMENT":c}=r;if(n.some((m)=>m.pathwayId===a))return;let f=this.getLevelsForPathway(l).map((m)=>{let g=new ks(m.attrs);g["PATHWAY-ID"]=a;let b=g.AUDIO&&`${g.AUDIO}_clone_${a}`,v=g.SUBTITLES&&`${g.SUBTITLES}_clone_${a}`;if(b)s[g.AUDIO]=b,g.AUDIO=b;if(v)i[g.SUBTITLES]=v,g.SUBTITLES=v;let k=X6(m.uri,g["STABLE-VARIANT-ID"],"PER-VARIANT-URIS",c),T=new Jc({attrs:g,audioCodec:m.audioCodec,bitrate:m.bitrate,height:m.height,name:m.name,url:k,videoCodec:m.videoCodec,width:m.width});if(m.audioGroups)for(let _=1;_<m.audioGroups.length;_++)T.addGroupId("audio",`${m.audioGroups[_]}_clone_${a}`);if(m.subtitleGroups)for(let _=1;_<m.subtitleGroups.length;_++)T.addGroupId("text",`${m.subtitleGroups[_]}_clone_${a}`);return T});n.push(...f),C3(this.audioTracks,s,c,a),C3(this.subtitleTracks,i,c,a)})}loadSteeringManifest(e){let n=this.hls.config,s=n.loader;if(this.loader)this.loader.destroy();this.loader=new s(n);let i;try{i=new self.URL(e)}catch(m){this.enabled=!1,this.log(`Failed to parse Steering Manifest URI: ${e}`);return}if(i.protocol!=="data:"){let m=(this.hls.bandwidthEstimate||n.abrEwmaDefaultEstimate)|0;il(i,"_HLS_pathway",this.pathwayId),il(i,"_HLS_throughput",""+m)}let r={type:tn.STEERING_MANIFEST,responseType:"json",url:i.href},a=n.steeringManifestLoadPolicy.default,l=a.errorRetry||a.timeoutRetry||{},c={loadPolicy:a,timeout:a.maxLoadTimeMs,maxRetry:l.maxNumRetry||0,retryDelay:l.retryDelayMs||0,maxRetryDelay:l.maxRetryDelayMs||0},f={onSuccess:(m,g,b,v)=>{this.log(`Loaded steering manifest: "${i}"`);let k=m.data;if((k==null?void 0:k.VERSION)!==1){this.log(`Steering VERSION ${k.VERSION} not supported!`);return}this.updated=performance.now(),this.timeToLoad=k.TTL;let{"RELOAD-URI":T,"PATHWAY-CLONES":_,"PATHWAY-PRIORITY":P}=k;if(T)try{this.uri=new self.URL(T,i).href}catch(z){this.enabled=!1,this.log(`Failed to parse Steering Manifest RELOAD-URI: ${T}`);return}if(this.scheduleRefresh(this.uri||b.url),_)this.clonePathways(_);let U={steeringManifest:k,url:i.toString()};if(this.hls.trigger(Z.STEERING_MANIFEST_LOADED,U),P)this.updatePathwayPriority(P)},onError:(m,g,b,v)=>{if(this.log(`Error loading steering manifest: ${m.code} ${m.text} (${g.url})`),this.stopLoad(),m.code===410){this.enabled=!1,this.log(`Steering manifest ${g.url} no longer available`);return}let k=this.timeToLoad*1000;if(m.code===429){let T=this.loader;if(typeof(T==null?void 0:T.getResponseHeader)==="function"){let _=T.getResponseHeader("Retry-After");if(_)k=parseFloat(_)*1000}this.log(`Steering manifest ${g.url} rate limited`);return}this.scheduleRefresh(this.uri||g.url,k)},onTimeout:(m,g,b)=>{this.log(`Timeout loading steering manifest (${g.url})`),this.scheduleRefresh(this.uri||g.url)}};this.log(`Requesting steering manifest: ${i}`),this.loader.load(r,c,f)}scheduleRefresh(e,n=this.timeToLoad*1000){this.clearTimeout(),this.reloadTimer=self.setTimeout(()=>{var s;let i=(s=this.hls)==null?void 0:s.media;if(i&&!i.ended){this.loadSteeringManifest(e);return}this.scheduleRefresh(e,this.timeToLoad*1000)},n)}}function C3(e,n,s,i){if(!e)return;Object.keys(n).forEach((r)=>{let a=e.filter((l)=>l.groupId===r).map((l)=>{let c=Nn({},l);return c.details=void 0,c.attrs=new ks(c.attrs),c.url=c.attrs.URI=X6(l.url,l.attrs["STABLE-RENDITION-ID"],"PER-RENDITION-URIS",s),c.groupId=c.attrs["GROUP-ID"]=n[r],c.attrs["PATHWAY-ID"]=i,c});e.push(...a)})}function X6(e,n,s,i){if(n){let{[s]:c}=i;if(c){let f=c[n];if(f)return f}}let{HOST:r,PARAMS:a}=i,l=new self.URL(e);if(r)l.hostname=r;if(a)Object.keys(a).sort().forEach((c)=>{if(c)il(l,c,a[c])});return l.href}class W6{constructor(){this.status="initialized",this.requestErrors=[],this.licenseXhr=void 0,this.onmessage=void 0,this.onkeystatuseschange=void 0,this.emitter=new q1,this.error=void 0,this.ok=void 0}get errored(){return this.error}set errored(e){if(this.error=e,this.emitter.eventNames().length)this.emitter.emit("error",e)}get hasListeners(){return this.emitter.eventNames().length>0}get resolved(){return this.ok}resolve(){this.ok=!0,this.emitter.emit("resolved")}get useable(){if(this.ok)return Promise.resolve();if(this.error)return Promise.reject(this.error);return new Promise((e,n)=>{this.emitter.on("error",n),this.emitter.on("resolved",e)})}reset(){this.emitter.removeAllListeners();let e=this.licenseXhr;if(e){if(e.readyState!==XMLHttpRequest.DONE)e.abort();this.licenseXhr=void 0}this.onmessage=this.onkeystatuseschange=void 0}}class jr extends Error{constructor(e,n){super(n);this.data=void 0,e.error||(e.error=Error(n)),this.data=e,e.err=e.error}}class Yc extends $i{constructor(e){super("eme",e.logger);this.hls=void 0,this.config=void 0,this.media=null,this.mediaResolved=void 0,this.keyFormatPromise=null,this.keySystemAccessPromises={},this.sessionSetupByUri={},this.mediaKeySessions=[],this.activeKeys={},this.mediaKeys=null,this.setMediaKeysQueue=Yc.CDMCleanupPromise?[Yc.CDMCleanupPromise]:[],this.onMediaEncrypted=(n)=>{let{initDataType:s,initData:i}=n,r=`"${n.type}" event: init data type: "${s}"`;if(this.log(r),i===null)return;if(!this.keyFormatPromise){let a=Object.keys(this.keySystemAccessPromises);if(!a.length)a=ih(this.config);let l=a.map(xg).filter((c)=>!!c);this.keyFormatPromise=this.getKeyFormatPromise(l)}this.keyFormatPromise.then((a)=>{let l,c=qd(a),f=this.activeLevelKeys();if(c===ms.FAIRPLAY&&s==="sinf")try{let k=ra(new Uint8Array(i)),T=x1(JSON.parse(k).sinf),_=c9(T);if(!_)throw Error("'schm' box missing or not cbcs/cenc with schi > tenc");l=new Uint8Array(_.subarray(8,24))}catch(k){this.warn(`${r} Failed to parse sinf: ${k}`);return}else if(c===ms.PLAYREADY)l=R1(new Uint8Array(i));else if(c===ms.WIDEVINE){let k=d9(i).filter((T)=>T.systemId===O9.WIDEVINE);if(k.length){var m;let T=k[0];l=(m=T.kids)!=null&&m.length?T.kids[0]:null}}let g;if(l){let k=Qs(l);for(let T=0;T<f.length;T++){let _=f[T];if(_.keyId&&(s0(l,_.keyId)||_.uri.replace(/-/g,"").indexOf(k)!==-1)){if(!_.pssh)_.scheme=s,_.pssh=new Uint8Array(i),_.keyId=l,mo.setKeyIdForUri(_.uri,l);g=this.getSessionForKey(_,"encrypted-event-key-match");break}}}if(!g){if(f.length){var b,v;return(b=f[0]).scheme||(b.scheme=s),(v=f[0]).pssh||(v.pssh=new Uint8Array(i)),this.getSessionForKey(f[0],"encrypted-event-no-match")}if(l)throw Error(`Key ID ${Qs(l)} not encountered in playlist`);else this.log(`Ignoring "${n.type}" event - could not determine keyId`)}return g}).catch((a)=>this.handleError(a))},this.onWaitingForKey=(n)=>{this.log(`"${n.type}" event`)},this.hls=e,this.config=e.config,this.registerListeners()}destroy(){this.onDestroying(),this.onMediaDetached();let e=this.config;e.requestMediaKeySystemAccessFunc=null,e.licenseXhrSetup=e.licenseResponseCallback=void 0,e.drmSystems=e.drmSystemOptions={},this.hls=this.config=null,this.onMediaEncrypted=this.onWaitingForKey=null}registerListeners(){let{hls:e}=this;if(e)e.on(Z.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(Z.MEDIA_DETACHED,this.onMediaDetached,this),e.on(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Z.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(Z.DESTROYING,this.onDestroying,this)}unregisterListeners(){let{hls:e}=this;if(e)e.off(Z.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(Z.MEDIA_DETACHED,this.onMediaDetached,this),e.off(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Z.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(Z.DESTROYING,this.onDestroying,this)}attemptKeySystemAccess(e){if(!this.hls)return Promise.reject(Error("destroyed"));let n=this.hls.levels,s=(a,l,c)=>!!a&&c.indexOf(a)===l,i=n.map((a)=>a.audioCodec).filter(s),r=n.map((a)=>a.videoCodec).filter(s);if(i.length+r.length===0)r.push("avc1.42e01e");return new Promise((a,l)=>{let c=(f)=>{let m=f.shift();this.getMediaKeysPromise(m,i,r).then((g)=>a({keySystem:m,mediaKeys:g})).catch((g)=>{if(f.length)c(f);else if(g instanceof jr)l(g);else l(new jr({type:Rt.KEY_SYSTEM_ERROR,details:Le.KEY_SYSTEM_NO_ACCESS,error:g,fatal:!0},g.message))})};c(e)})}requestMediaKeySystemAccess(e,n){let{requestMediaKeySystemAccessFunc:s}=this.config;if(typeof s!=="function"){let i=`Configured requestMediaKeySystemAccess is not a function ${s}`;if(P9===null&&self.location.protocol==="http:")i=`navigator.requestMediaKeySystemAccess is not available over insecure protocol ${location.protocol}`;return Promise.reject(Error(i))}return s(e,n)}getMediaKeysPromise(e,n,s){var i;let r=CE(e,n,s,this.config.drmSystemOptions||{}),a=this.keySystemAccessPromises[e],l=(i=a)==null?void 0:i.keySystemAccess;if(!l){this.log(`Requesting encrypted media "${e}" key-system access with config: ${ss(r)}`),l=this.requestMediaKeySystemAccess(e,r);let c=a=this.keySystemAccessPromises[e]={keySystemAccess:l};return l.catch((f)=>{this.log(`Failed to obtain access to key-system "${e}": ${f}`)}),l.then((f)=>{this.throwIfDestroyed(),this.log(`Access for key-system "${f.keySystem}" obtained`);let m=this.fetchServerCertificate(e);this.log(`Create media-keys for "${e}"`);let g=c.mediaKeys=f.createMediaKeys().then((b)=>(this.log(`Media-keys created for "${e}"`),c.hasMediaKeys=!0,m.then((v)=>{if(v)return this.setMediaKeysServerCertificate(b,e,v);return b})));return g.catch((b)=>{this.error(`Failed to create media-keys for "${e}"}: ${b}`)}),g})}return l.then(()=>a.mediaKeys)}getMediaKeySessionContext(e,n,s,i){let{mediaKeySessions:r}=this,a=` key-session "${e}" keyId: ${Qs(s.keyId||[])} keyUri: ${s.uri} for "${i}"`;for(let f=0;f<r.length;f++){let m=r[f];if(!m.initialized&&m.createdFor.levelKey.uri===s.uri)return this.log(`Reusing${a}`),m}this.log(`Creating${a}`);let l=n.createSession(),c={keySystem:e,mediaKeys:n,mediaKeysSession:l,keyRequests:{},keyStatuses:{},createdFor:{levelKey:s,reason:i},initialized:!1};return r.push(c),c}resetMediaKeys(){var e;let n=(e=this.mediaKeySessions[0])==null?void 0:e.keySystem,s=this.keySystemAccessPromises[n];if(s)this.log("reset mediaKeys"),this.mediaKeys=null,s.hasMediaKeys=!1,delete s.mediaKeys,delete this.keySystemAccessPromises[n]}updateKeySession(e,n,s){let i=e.mediaKeysSession;return this.log(`Updating key-session "${i.sessionId}" for keyId ${Qs(n.keyId||[])}
41
+ } (data length: ${s.byteLength})`),i.update(s)}getSelectedKeySystemFormats(){return Object.keys(this.keySystemAccessPromises).map((e)=>({keySystem:e,hasMediaKeys:this.keySystemAccessPromises[e].hasMediaKeys})).filter(({hasMediaKeys:e})=>!!e).map(({keySystem:e})=>xg(e)).filter((e)=>!!e)}getKeySystemAccess(e){return this.getKeySystemSelectionPromise(e).then(({keySystem:n,mediaKeys:s})=>this.attemptSetMediaKeys(n,s))}selectKeySystem(e){return this.getKeySystemSelectionPromise(e).then(({keySystem:n})=>{let s=xg(n);if(!s)throw Error(`Unable to find format for key-system "${n}"`);return s})}selectKeySystemFormat(e){let n=Object.keys(e.levelkeys||{});if(!this.keyFormatPromise)this.log(`Selecting key-system from fragment (sn: ${e.sn} ${e.type}: ${e.level}) key formats ${n.join(", ")}`),this.keyFormatPromise=this.getKeyFormatPromise(n);return this.keyFormatPromise}getKeyFormatPromise(e){let n=ih(this.config),s=e.map(qd).filter((i)=>!!i&&n.indexOf(i)!==-1);return this.selectKeySystem(s)}loadClear(e,n,s){if(this.config.emeEnabled&&!this.getSelectedKeySystemFormats().length){if(n.length)for(let i=0,r=n.length;i<r;i++){let a=n[i];if(e.cc<=a.cc&&(!_s(e)||!_s(a)||e.sn<a.sn)||!s&&i==r-1)return this.selectKeySystemFormat(a).then((l)=>{if(!this.hls)return;a.setKeyFormat(l);let c=qd(l);if(c)return this.getKeySystemAccess([c])})}if(this.config.requireKeySystemAccessOnStart){let i=ih(this.config);if(i.length)return this.getKeySystemAccess(i)}}return null}getKeyStatus(e){let{mediaKeySessions:n}=this;for(let s=0;s<n.length;s++){let i=qg(e,n[s]);if(i)return i}return}loadKey(e){let n=e.decryptdata,s=this.getKeyStatus(n);if(s==="internal-error"){let l=j3(s,n);return l.data.frag=e,this.error(`${l.message} (${Qs(n.keyId||[])})`),Promise.reject(l)}let i=e.type,r=this.activeKeys,a=r[i];if(a&&!n.matches(a.decryptdata))r.previous||(r.previous=[]),r.previous.push(a),delete r[i];r[i]||(r[i]=e);for(let l=this.mediaKeySessions.length;l--;){let c=this.mediaKeySessions[l];if(n.keyId&&c.keyStatuses[Qs(n.keyId)]==="expired")return this.renewKeySession(n,c)}return this.updateUsablePromise(n,"playlist-key",e)}renewKeySession(e,n){return this.resetMediaKeys(),this.removeSession(n).then(()=>(this.throwIfDestroyed(),this.updateUsablePromise(e,"expired")))}updateUsablePromise(e,n,s){let i=this.getSessionForKey(e,n);return i.catch((r)=>this.handleError(r,s)),i.then((r)=>e)}getSessionForKey(e,n){let s=this.findContextForKey(e);if(s!==void 0)return Promise.resolve(s);let i=e.uri,r=this.sessionSetupByUri[i],a;if(r===void 0)a=this.resolveSessionForKey(e,n);else a=r.catch(()=>{return}).then(()=>(this.throwIfDestroyed(),this.resolveSessionForKey(e,n)));this.sessionSetupByUri[i]=a;let l=()=>{if(this.sessionSetupByUri[i]===a)delete this.sessionSetupByUri[i]};return a.then(l,l),a}findContextForKey(e){let{mediaKeySessions:n}=this;for(let s=n.length;s--;){let i=n[s];if(qg(e,i))return i}return}resolveSessionForKey(e,n){return this.getKeySystemForKeyPromise(e).then(({keySystem:s,mediaKeys:i})=>{this.throwIfDestroyed();for(let r=this.mediaKeySessions.length;r--;){let a=this.mediaKeySessions[r];if(qg(e,a))return a;let l=this.getUsableKeyPromise(a,e,n);if(l)return l}return this.attemptSetMediaKeys(s,i).then(()=>(this.throwIfDestroyed(),this.getMediaKeySessionContext(s,i,e,n))).then((r)=>{this.throwIfDestroyed();let a=e.scheme||"cenc",l=e.pssh?e.pssh.buffer:null;return this.generateRequestWithPreferredKeySession(r,e,a,l,n)})})}getUsableKeyPromise(e,n,s){let i=e.keyRequests[n.uri];if(i)return this.log(`Waiting for usable key (${s} keyId: ${$j(n)} format: "${n.keyFormat}" URI: ${n.uri})`),i.useable.then(()=>e)}throwIfDestroyed(e="Invalid state"){if(!this.hls)throw Error("invalid state")}handleError(e,n){if(!this.hls)return;if(e instanceof jr){if(n)e.data.frag=n;let s=e.data.decryptdata;this.error(`${e.message}${s?` (${Qs(s.keyId||[])})`:""}`),this.hls.trigger(Z.ERROR,e.data)}else this.error(e.message),this.hls.trigger(Z.ERROR,{type:Rt.KEY_SYSTEM_ERROR,details:Le.KEY_SYSTEM_NO_KEYS,error:e,fatal:!0})}getKeySystemForKeyPromise(e){let n=qd(e.keyFormat),s=n?[n]:ih(this.config);return this.attemptKeySystemAccess(s)}getKeySystemSelectionPromise(e){if(!e.length)e=ih(this.config);if(e.length===0)throw new jr({type:Rt.KEY_SYSTEM_ERROR,details:Le.KEY_SYSTEM_NO_CONFIGURED_LICENSE,fatal:!0},`Missing key-system license configuration options ${ss({drmSystems:this.config.drmSystems})}`);return this.attemptKeySystemAccess(e)}activeLevelKeys(){let e=this.activeKeys,n=(e.previous||[]).map((s)=>s.decryptdata);return e.audio&&n.unshift(e.audio.decryptdata),e.main&&n.unshift(e.main.decryptdata),n}attemptSetMediaKeys(e,n){if(this.mediaResolved=void 0,this.mediaKeys===n)return Promise.resolve();let s=this.setMediaKeysQueue.slice();this.log(`Setting media-keys for "${e}"`);let i=Promise.all(s).then(()=>{if(!this.media)return new Promise((r,a)=>{this.mediaResolved=()=>{if(this.mediaResolved=void 0,!this.media)return a(Error("Attempted to set mediaKeys without media element attached"));this.mediaKeys=n,this.media.setMediaKeys(n).then(r).catch(a)}});return this.media.setMediaKeys(n)});return this.mediaKeys=n,this.setMediaKeysQueue.push(i),i.then(()=>{this.log(`Media-keys set for "${e}"`),s.push(i),this.setMediaKeysQueue=this.setMediaKeysQueue.filter((r)=>s.indexOf(r)===-1)})}filterInitData(e,n,s,i,r){var a;let l=(a=this.config.drmSystems)==null||(a=a[e.keySystem])==null?void 0:a.generateRequest;if(l)try{let f=l.call(this.hls,s,i,Nn({},e,{decryptdata:n,reason:r}),r);if(!f)throw Error("Invalid response from configured generateRequest filter");n.scheme=f.initDataType?f.initDataType:"cenc";let m=f.initData?f.initData:null;return n.pssh=m?new Uint8Array(m):null,f}catch(f){var c;if(this.warn(f.message),(c=this.hls)!=null&&c.config.debug)throw f}return{initDataType:s,initData:i}}generateRequestWithPreferredKeySession(e,n,s,i,r){let a=this.getUsableKeyPromise(e,n,r);if(a)return a;let l=this.filterInitData(e,n,s,i,r);if(l)i=l.initData?l.initData:null,s=l.initDataType;if(i===null)if(r.startsWith("encrypted-event"))return Promise.reject(Error(`missing initialization data for "${r}"`));else return this.log(`Skipping key-session request for "${r}" (no initData)`),Promise.resolve(e);let c=n.uri,f=new W6;e.keyRequests[c]=f;let m=(b)=>{let v=e.mediaKeysSession;if(!v){let _=Error("invalid state");f.errored=_;return}let{messageType:k,message:T}=b;if(f.status=k,this.log(`"${k}" message event for session "${v.sessionId}" message size: ${T.byteLength}`),k==="license-request"||k==="license-renewal")this.renewLicense(e,n,T).catch((_)=>{if(f.errored=_,!f.hasListeners)this.handleError(_);this.removeSession(e)});else if(k==="license-release"){if(e.keySystem===ms.FAIRPLAY)this.updateKeySession(e,n,e1("acknowledged")).then(()=>this.removeSession(e)).catch((_)=>this.handleError(_))}else this.warn(`unhandled media key message type "${k}"`)};f.onmessage=m,Ln(e.mediaKeysSession,"message",m);let g=!1;return this.generateRequest(e,n,s,i,r,g)}generateRequest(e,n,s,i,r,a){if(a){let v=this.filterInitData(e,n,s,i,r);if(v)i=v.initData?v.initData:i,s=v.initDataType}let l=n.uri,c=e.keyRequests[l],f=Qs(n.keyId||[]),m=(v)=>{let k;if(v.startsWith("usable"))c.resolve();else if(v==="internal-error"||v==="output-restricted"||v==="output-downscaled")k=j3(v,n);else if(v==="expired")k=Error(`key expired (keyId: ${f})`);else if(v==="released")k=Error("key released");else if(v==="status-pending");else this.warn(`unhandled key status change "${v}" (keyId: ${f})`);if(k){if(c.errored=k,!c.hasListeners)this.handleError(k)}},g=(v)=>{if(!e.mediaKeysSession){let X=Error("invalid state");c.errored=X;return}let T=e.keyStatuses=this.getKeyStatuses(e);if(!Object.keys(T).some((X)=>T[X]!=="status-pending"))return;let P=this.activeLevelKeys();for(let X=0;X<P.length;X++){let J=Qs(P[X].keyId||[]);if(T[J]==="expired"){var U;this.log(`Expired key ${ss(T)} in key-session "${(U=e.mediaKeysSession)==null?void 0:U.sessionId}"`),this.renewKeySession(n,e).catch((ee)=>this.handleError(ee));break}}let z=T[f];if(z)m(z);else{var V;let X=1000;e.keyStatusTimeouts||(e.keyStatusTimeouts={}),(V=e.keyStatusTimeouts)[f]||(V[f]=self.setTimeout(()=>{var J;if(!e.mediaKeysSession)return;let ee=this.getKeyStatus(n);if(ee&&ee!=="status-pending"){var te;return this.log(`No status for keyId ${f} in key-session "${(te=e.mediaKeysSession)==null?void 0:te.sessionId}". Using session key-status ${ee} from other session.`),m(ee)}this.log(`key status for ${f} in key-session "${(J=e.mediaKeysSession)==null?void 0:J.sessionId}" timed out after 1000ms`),z="internal-error",m(z)},1000)),this.log(`No status for keyId ${f} (${ss(T)}).`)}};c.onkeystatuseschange=g,Ln(e.mediaKeysSession,"keystatuseschange",g);let b=c.useable;return this.log(`Generating key-session request for "${r}" keyId: ${f} URI: ${l} (init data type: ${s} length: ${i.byteLength})`),c.status="started",e.initialized=!0,e.mediaKeysSession.generateRequest(s,i).then(()=>{var v;c.status="generated",this.log(`Request generated for key-session "${(v=e.mediaKeysSession)==null?void 0:v.sessionId}" keyId: ${f} URI: ${l}`)}).catch((v)=>{throw this.log(`mediaKeysSession.generateRequest failed: ${v}`),new jr({type:Rt.KEY_SYSTEM_ERROR,details:Le.KEY_SYSTEM_NO_SESSION,error:v,decryptdata:n,fatal:!1},`Error generating key-session request: ${v}`)}).then(()=>b).catch((v)=>{var k;this.log(`mediaKeysSession.generateRequest failed: ${v}`);let T=(k=v.data)==null?void 0:k.details;if((T===Le.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED||T===Le.KEY_SYSTEM_STATUS_INTERNAL_ERROR)&&Object.keys(e.keyStatuses).some((_)=>e.keyStatuses[_]==="usable"))return this.handleError(v),e;return this.removeSession(e).then(()=>{throw v})}).then(()=>e)}getKeyStatuses(e){let n={},s=e.mediaKeysSession.sessionId;return e.mediaKeysSession.keyStatuses.forEach((i,r)=>{if(typeof r==="string"&&typeof i==="object"){let c=r;r=i,i=c}let a="buffer"in r?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):new Uint8Array(r);if(e.keySystem===ms.PLAYREADY&&a.length===16){let c=Qs(a);n[c]=i,F9(a)}let l=Qs(a);this.log(`key status change "${i}" for keyStatuses keyId: ${l} key-session "${s}"`),n[l]=i}),n}fetchServerCertificate(e){let n=this.config,i=new n.loader(n),r=Vj(e,n);if(!r)return this.log(`No Server Certificate in config.drmSystems["${e}"]`),Promise.resolve();return this.log(`Fetching server certificate for "${e}"`),new Promise((a,l)=>{let c={type:tn.SERVER_CERTIFICATE,responseType:"arraybuffer",url:r},f=n.certLoadPolicy.default,m={loadPolicy:f,timeout:f.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0},g={onSuccess:(b,v,k,T)=>{a(b.data)},onError:(b,v,k,T)=>{l(new jr({type:Rt.KEY_SYSTEM_ERROR,details:Le.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,fatal:!0,networkDetails:k,response:Dt({url:c.url,data:void 0},b)},`"${e}" certificate request failed (${r}). Status: ${b.code} (${b.text})`))},onTimeout:(b,v,k)=>{l(new jr({type:Rt.KEY_SYSTEM_ERROR,details:Le.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,fatal:!0,networkDetails:k,response:{url:c.url,data:void 0}},`"${e}" certificate request timed out (${r})`))},onAbort:(b,v,k)=>{l(Error("aborted"))}};i.load(c,m,g)})}setMediaKeysServerCertificate(e,n,s){return new Promise((i,r)=>{e.setServerCertificate(s).then((a)=>{this.log(`setServerCertificate ${a?"success":"not supported by CDM"} (${s.byteLength}) on "${n}"`),i(e)}).catch((a)=>{r(new jr({type:Rt.KEY_SYSTEM_ERROR,details:Le.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED,error:a,fatal:!0},a.message))})})}renewLicense(e,n,s){return this.requestLicense(e,n,new Uint8Array(s)).then((i)=>this.updateKeySession(e,n,new Uint8Array(i)).catch((r)=>{throw new jr({type:Rt.KEY_SYSTEM_ERROR,details:Le.KEY_SYSTEM_SESSION_UPDATE_FAILED,decryptdata:n,error:r,fatal:!1},r.message)}))}unpackPlayReadyKeyMessage(e,n){let s=ra(new Uint16Array(n.buffer));if(!s.includes("PlayReadyKeyMessage"))return e.setRequestHeader("Content-Type","text/xml; charset=utf-8"),n;let i=new DOMParser().parseFromString(s,"application/xml"),r=i.querySelectorAll("HttpHeader");if(r.length>0){let m;for(let g=0,b=r.length;g<b;g++){var a,l;m=r[g];let v=(a=m.querySelector("name"))==null?void 0:a.textContent,k=(l=m.querySelector("value"))==null?void 0:l.textContent;if(v&&k)e.setRequestHeader(v,k)}}let c=i.querySelector("Challenge"),f=c==null?void 0:c.textContent;if(!f)throw Error("Cannot find <Challenge> in key message");return e1(atob(f))}setupLicenseXHR(e,n,s,i,r){let a=this.config.licenseXhrSetup;if(!a)return e.open("POST",n,!0),Promise.resolve({xhr:e,licenseChallenge:r});return Promise.resolve().then(()=>(this.throwIfDestroyed(),a.call(this.hls,e,n,Dt(Dt({},s),{},{decryptdata:i}),r))).catch((l)=>{if(!s.mediaKeysSession)throw l;return e.open("POST",n,!0),a.call(this.hls,e,n,Dt(Dt({},s),{},{decryptdata:i}),r)}).then((l)=>{if(!e.readyState)e.open("POST",n,!0);return{xhr:e,licenseChallenge:l?l:r}})}requestLicense(e,n,s){return new Promise((i,r)=>{let a=Gj(e.keySystem,this.config);if(!a)return r(Error(`no license server URL configured for key-system "${e.keySystem}"`));let l=e.keyRequests[n.uri];if(!l)return r(Error("License emitter removed"));this.log(`Sending license request to URL: ${a}`);let c=this.config.keyLoadPolicy.default,f=new XMLHttpRequest;if(f.responseType="arraybuffer",f.onreadystatechange=()=>{if(!this.hls||!e.mediaKeysSession)return r(Error("invalid state"));if(f.readyState===4)if(f.status===200){l.requestErrors=[];let m=f.response;this.log(`License received ${m instanceof ArrayBuffer?m.byteLength:m}`);let g=this.config.licenseResponseCallback;if(g)try{m=g.call(this.hls,f,a,Dt(Dt({},e),{},{decryptdata:n}))}catch(b){this.error(b)}i(m)}else{let m=c.errorRetry,g=m?m.maxNumRetry:0;if(l.requestErrors.push({status:f.status,message:f.statusText}),l.requestErrors.length>g||f.status>=400&&f.status<500)r(new jr({type:Rt.KEY_SYSTEM_ERROR,details:Le.KEY_SYSTEM_LICENSE_REQUEST_FAILED,decryptdata:n,fatal:!0,networkDetails:f,response:{url:a,data:void 0,code:f.status,text:f.statusText}},`License Request XHR failed (${a}). Status: ${f.status} (${f.statusText})`));else{let b=g-l.requestErrors.length;this.warn(`Retrying license request, ${b} attempts left`),this.requestLicense(e,n,s).then(i,r)}}},l.licenseXhr&&l.licenseXhr.readyState!==XMLHttpRequest.DONE)l.licenseXhr.abort();l.licenseXhr=f,this.setupLicenseXHR(f,a,e,n,s).then(({xhr:m,licenseChallenge:g})=>{if(e.keySystem==ms.PLAYREADY)g=this.unpackPlayReadyKeyMessage(m,g);m.send(g)}).catch(r)})}onDestroying(){this.unregisterListeners(),this._clear()}onMediaAttached(e,n){if(!this.config.emeEnabled)return;let s=n.media;this.media=s,Ln(s,"encrypted",this.onMediaEncrypted),Ln(s,"waitingforkey",this.onWaitingForKey);let i=this.mediaResolved;if(i)i();else this.mediaKeys=s.mediaKeys}onMediaDetached(){let e=this.media;if(e)Mn(e,"encrypted",this.onMediaEncrypted),Mn(e,"waitingforkey",this.onWaitingForKey),this.media=null,this.mediaKeys=null}_clear(){var e;this.keyFormatPromise=null,this.keySystemAccessPromises={},this.activeKeys={},this.sessionSetupByUri={};let n=this.mediaResolved;if(n)n();if(!this.mediaKeys&&!this.mediaKeySessions.length)return;let s=this.media,i=this.mediaKeySessions.slice();this.mediaKeySessions=[],this.mediaKeys=null,mo.clearKeyUriToKeyIdMap();let r=i.length;Yc.CDMCleanupPromise=Promise.all(i.map((a)=>this.removeSession(a)).concat((s==null||(e=s.setMediaKeys(null))==null?void 0:e.catch((a)=>{if(this.log(`Could not clear media keys: ${a}`),!this.hls)return;this.hls.trigger(Z.ERROR,{type:Rt.OTHER_ERROR,details:Le.KEY_SYSTEM_DESTROY_MEDIA_KEYS_ERROR,fatal:!1,error:Error(`Could not clear media keys: ${a}`)})}))||Promise.resolve())).catch((a)=>{if(this.log(`Could not close sessions and clear media keys: ${a}`),!this.hls)return;this.hls.trigger(Z.ERROR,{type:Rt.OTHER_ERROR,details:Le.KEY_SYSTEM_DESTROY_CLOSE_SESSION_ERROR,fatal:!1,error:Error(`Could not close sessions and clear media keys: ${a}`)})}).then(()=>{if(r)this.log("finished closing key sessions and clearing media keys")})}onManifestLoading(){this._clear(),this.keyFormatPromise=null}onManifestLoaded(e,{sessionKeys:n}){if(!n||!this.config.emeEnabled)return;if(!this.keyFormatPromise){let s=n.reduce((i,r)=>{if(i.indexOf(r.keyFormat)===-1)i.push(r.keyFormat);return i},[]);this.log(`Selecting key-system from session-keys ${s.join(", ")}`),this.keyFormatPromise=this.getKeyFormatPromise(s),this.keyFormatPromise.catch(()=>{})}}removeSession(e){let{mediaKeysSession:n}=e;if(n){this.log(`Remove licenses and keys and close session "${n.sessionId}"`),Object.keys(e.keyRequests).forEach((l)=>{let c=e.keyRequests[l];if(c.onmessage)n.removeEventListener("message",c.onmessage);if(c.onkeystatuseschange)n.removeEventListener("keystatuseschange",c.onkeystatuseschange);c.reset(),e.keyRequests[l]=void 0}),e.mediaKeysSession=void 0;let s=this.mediaKeySessions.indexOf(e);if(s>-1)this.mediaKeySessions.splice(s,1);let{keyStatusTimeouts:i}=e;if(i)Object.keys(i).forEach((l)=>self.clearTimeout(i[l]));let{drmSystemOptions:r}=this.config;return(_E(r)?new Promise((l,c)=>{self.setTimeout(()=>c(Error("MediaKeySession.remove() timeout")),8000),n.remove().then(l).catch(c)}):Promise.resolve()).catch((l)=>{if(this.log(`Could not remove session: ${l}`),!this.hls)return;this.hls.trigger(Z.ERROR,{type:Rt.OTHER_ERROR,details:Le.KEY_SYSTEM_DESTROY_REMOVE_SESSION_ERROR,fatal:!1,error:Error(`Could not remove session: ${l}`)})}).then(()=>n.close()).then(()=>n.closed).catch((l)=>{if(this.log(`Could not close session: ${l}`),!this.hls)return;this.hls.trigger(Z.ERROR,{type:Rt.OTHER_ERROR,details:Le.KEY_SYSTEM_DESTROY_CLOSE_SESSION_ERROR,fatal:!1,error:Error(`Could not close session: ${l}`)})})}return Promise.resolve()}}Yc.CDMCleanupPromise=void 0;function Gj(e,n){let{drmSystems:s,widevineLicenseUrl:i}=n,r=s==null?void 0:s[e];if(r)return r.licenseUrl;if(e===ms.WIDEVINE&&i)return i}function Vj(e,n){let{drmSystems:s}=n,i=s==null?void 0:s[e];if(i)return i.serverCertificateUrl}function $j(e){if(e.keyFormat===wi.FAIRPLAY)return e.uri;if(e.keyId===null)throw Error("keyId is null");return Qs(e.keyId)}function qg(e,n){let s=e.keyId,i=n.mediaKeysSession;if(s&&i){let r=n.mediaKeysSession.keyStatuses;if(r.size){if(r.has(s))return r.get(s);return n.keyStatuses[Qs(s)]}}return}function j3(e,n){let s=e==="output-restricted",i=s?Le.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED:Le.KEY_SYSTEM_STATUS_INTERNAL_ERROR;return new jr({type:Rt.KEY_SYSTEM_ERROR,details:i,fatal:!1,decryptdata:n},s?"HDCP level output restricted":`key status changed to "${e}"`)}class K6{constructor(e){this.hls=void 0,this.isVideoPlaybackQualityAvailable=!1,this.timer=void 0,this.media=null,this.lastTime=void 0,this.lastDroppedFrames=0,this.lastDecodedFrames=0,this.streamController=void 0,this.hls=e,this.registerListeners()}setStreamController(e){this.streamController=e}registerListeners(){this.hls.on(Z.MEDIA_ATTACHING,this.onMediaAttaching,this),this.hls.on(Z.MEDIA_DETACHING,this.onMediaDetaching,this)}unregisterListeners(){this.hls.off(Z.MEDIA_ATTACHING,this.onMediaAttaching,this),this.hls.off(Z.MEDIA_DETACHING,this.onMediaDetaching,this)}destroy(){if(this.timer)clearInterval(this.timer);this.unregisterListeners(),this.isVideoPlaybackQualityAvailable=!1,this.media=null}onMediaAttaching(e,n){let s=this.hls.config;if(s.capLevelOnFPSDrop){let i=n.media instanceof self.HTMLVideoElement?n.media:null;if(this.media=i,i&&typeof i.getVideoPlaybackQuality==="function")this.isVideoPlaybackQualityAvailable=!0;self.clearInterval(this.timer),this.timer=self.setInterval(this.checkFPSInterval.bind(this),s.fpsDroppedMonitoringPeriod)}}onMediaDetaching(){this.media=null}checkFPS(e,n,s){let i=performance.now();if(n){if(this.lastTime){let r=i-this.lastTime,a=s-this.lastDroppedFrames,l=n-this.lastDecodedFrames,c=1000*a/r,f=this.hls;if(f.trigger(Z.FPS_DROP,{currentDropped:a,currentDecoded:l,totalDroppedFrames:s}),c>0){if(a>f.config.fpsDroppedMonitoringThreshold*l){let m=f.currentLevel;if(f.logger.warn("drop FPS ratio greater than max allowed value for currentLevel: "+m),m>0&&(f.autoLevelCapping===-1||f.autoLevelCapping>=m))m=m-1,f.trigger(Z.FPS_DROP_LEVEL_CAPPING,{level:m,droppedLevel:f.currentLevel}),f.autoLevelCapping=m,this.streamController.nextLevelSwitch()}}}this.lastTime=i,this.lastDroppedFrames=s,this.lastDecodedFrames=n}}checkFPSInterval(){let e=this.media;if(e)if(this.isVideoPlaybackQualityAvailable){let n=e.getVideoPlaybackQuality();this.checkFPS(e,n.totalVideoFrames,n.droppedVideoFrames)}else this.checkFPS(e,e.webkitDecodedFrameCount,e.webkitDroppedFrameCount)}}var X1=function(){if(i0!=null&&i0.VTTCue)return self.VTTCue;let e=["","lr","rl"],n=["start","middle","end","left","right"];function s(c,f){if(typeof f!=="string")return!1;if(!Array.isArray(c))return!1;let m=f.toLowerCase();if(~c.indexOf(m))return m;return!1}function i(c){return s(e,c)}function r(c){return s(n,c)}function a(c,...f){let m=1;for(;m<arguments.length;m++){let g=arguments[m];for(let b in g)c[b]=g[b]}return c}function l(c,f,m){let g=this,b={enumerable:!0};g.hasBeenReset=!1;let v="",k=!1,T=c,_=f,P=m,U=null,z="",V=!0,X="auto",J="start",ee=50,te="middle",ne=50,ie="middle";Object.defineProperty(g,"id",a({},b,{get:function(){return v},set:function(se){v=""+se}})),Object.defineProperty(g,"pauseOnExit",a({},b,{get:function(){return k},set:function(se){k=!!se}})),Object.defineProperty(g,"startTime",a({},b,{get:function(){return T},set:function(se){if(typeof se!=="number")throw TypeError("Start time must be set to a number.");T=se,this.hasBeenReset=!0}})),Object.defineProperty(g,"endTime",a({},b,{get:function(){return _},set:function(se){if(typeof se!=="number")throw TypeError("End time must be set to a number.");_=se,this.hasBeenReset=!0}})),Object.defineProperty(g,"text",a({},b,{get:function(){return P},set:function(se){P=""+se,this.hasBeenReset=!0}})),Object.defineProperty(g,"region",a({},b,{get:function(){return U},set:function(se){U=se,this.hasBeenReset=!0}})),Object.defineProperty(g,"vertical",a({},b,{get:function(){return z},set:function(se){let oe=i(se);if(oe===!1)throw SyntaxError("An invalid or illegal string was specified.");z=oe,this.hasBeenReset=!0}})),Object.defineProperty(g,"snapToLines",a({},b,{get:function(){return V},set:function(se){V=!!se,this.hasBeenReset=!0}})),Object.defineProperty(g,"line",a({},b,{get:function(){return X},set:function(se){if(typeof se!=="number"&&se!=="auto")throw SyntaxError("An invalid number or illegal string was specified.");X=se,this.hasBeenReset=!0}})),Object.defineProperty(g,"lineAlign",a({},b,{get:function(){return J},set:function(se){let oe=r(se);if(!oe)throw SyntaxError("An invalid or illegal string was specified.");J=oe,this.hasBeenReset=!0}})),Object.defineProperty(g,"position",a({},b,{get:function(){return ee},set:function(se){if(se<0||se>100)throw Error("Position must be between 0 and 100.");ee=se,this.hasBeenReset=!0}})),Object.defineProperty(g,"positionAlign",a({},b,{get:function(){return te},set:function(se){let oe=r(se);if(!oe)throw SyntaxError("An invalid or illegal string was specified.");te=oe,this.hasBeenReset=!0}})),Object.defineProperty(g,"size",a({},b,{get:function(){return ne},set:function(se){if(se<0||se>100)throw Error("Size must be between 0 and 100.");ne=se,this.hasBeenReset=!0}})),Object.defineProperty(g,"align",a({},b,{get:function(){return ie},set:function(se){let oe=r(se);if(!oe)throw SyntaxError("An invalid or illegal string was specified.");ie=oe,this.hasBeenReset=!0}})),g.displayState=void 0}return l.prototype.getCueAsHTML=function(){return self.WebVTT.convertCueToDOMTree(self,this.text)},l}();class Y6{decode(e,n){if(!e)return"";if(typeof e!=="string")throw Error("Error - expected string data.");return decodeURIComponent(encodeURIComponent(e))}}function Q6(e){function n(i,r,a,l){return(i|0)*3600+(r|0)*60+(a|0)+parseFloat(l||0)}let s=e.match(/^(?:(\d+):)?(\d{2}):(\d{2})(\.\d+)?/);if(!s)return null;if(parseFloat(s[2])>59)return n(s[2],s[3],0,s[4]);return n(s[1],s[2],s[3],s[4])}class J6{constructor(){this.values=Object.create(null)}set(e,n){if(!this.get(e)&&n!=="")this.values[e]=n}get(e,n,s){if(s)return this.has(e)?this.values[e]:n[s];return this.has(e)?this.values[e]:n}has(e){return e in this.values}alt(e,n,s){for(let i=0;i<s.length;++i)if(n===s[i]){this.set(e,n);break}}integer(e,n){if(/^-?\d+$/.test(n))this.set(e,parseInt(n,10))}percent(e,n){if(/^([\d]{1,3})(\.[\d]*)?%$/.test(n)){let s=parseFloat(n);if(s>=0&&s<=100)return this.set(e,s),!0}return!1}}function Z6(e,n,s,i){let r=i?e.split(i):[e];for(let a in r){if(typeof r[a]!=="string")continue;let l=r[a].split(s);if(l.length!==2)continue;let c=l[0],f=l[1];n(c,f)}}var c1=new X1(0,0,""),Pd=c1.align==="middle"?"middle":"center";function Xj(e,n,s){let i=e;function r(){let c=Q6(e);if(c===null)throw Error("Malformed timestamp: "+i);return e=e.replace(/^[^\sa-zA-Z-]+/,""),c}function a(c,f){let m=new J6;Z6(c,function(v,k){let T;switch(v){case"region":for(let _=s.length-1;_>=0;_--)if(s[_].id===k){m.set(v,s[_].region);break}break;case"vertical":m.alt(v,k,["rl","lr"]);break;case"line":if(T=k.split(","),m.integer(v,T[0]),m.percent(v,T[0]))m.set("snapToLines",!1);if(m.alt(v,T[0],["auto"]),T.length===2)m.alt("lineAlign",T[1],["start",Pd,"end"]);break;case"position":if(T=k.split(","),m.percent(v,T[0]),T.length===2)m.alt("positionAlign",T[1],["start",Pd,"end","line-left","line-right","auto"]);break;case"size":m.percent(v,k);break;case"align":m.alt(v,k,["start",Pd,"end","left","right"]);break}},/:/,/\s/),f.region=m.get("region",null),f.vertical=m.get("vertical","");let g=m.get("line","auto");if(g==="auto"&&c1.line===-1)g=-1;f.line=g,f.lineAlign=m.get("lineAlign","start"),f.snapToLines=m.get("snapToLines",!0),f.size=m.get("size",100),f.align=m.get("align",Pd);let b=m.get("position","auto");if(b==="auto"&&c1.position===50)b=f.align==="start"||f.align==="left"?0:f.align==="end"||f.align==="right"?100:50;f.position=b}function l(){e=e.replace(/^\s+/,"")}if(l(),n.startTime=r(),l(),e.slice(0,3)!=="-->")throw Error("Malformed time stamp (time stamps must be separated by '-->'): "+i);e=e.slice(3),l(),n.endTime=r(),l(),a(e,n)}function ev(e){return e.replace(/<br(?: \/)?>/gi,`
42
+ `)}class tv{constructor(){this.state="INITIAL",this.buffer="",this.decoder=new Y6,this.regionList=[],this.cue=null,this.oncue=void 0,this.onparsingerror=void 0,this.onflush=void 0}parse(e){let n=this;if(e)n.buffer+=n.decoder.decode(e,{stream:!0});function s(){let r=n.buffer,a=0;r=ev(r);while(a<r.length&&r[a]!=="\r"&&r[a]!==`
43
+ `)++a;let l=r.slice(0,a);if(r[a]==="\r")++a;if(r[a]===`
44
+ `)++a;return n.buffer=r.slice(a),l}function i(r){Z6(r,function(a,l){},/:/)}try{let r="";if(n.state==="INITIAL"){if(!/\r\n|\n/.test(n.buffer))return this;r=s();let l=r.match(/^()?WEBVTT([ \t].*)?$/);if(!(l!=null&&l[0]))throw Error("Malformed WebVTT signature.");n.state="HEADER"}let a=!1;while(n.buffer){if(!/\r\n|\n/.test(n.buffer))return this;if(!a)r=s();else a=!1;switch(n.state){case"HEADER":if(/:/.test(r))i(r);else if(!r)n.state="ID";continue;case"NOTE":if(!r)n.state="ID";continue;case"ID":if(/^NOTE($|[ \t])/.test(r)){n.state="NOTE";break}if(!r)continue;if(n.cue=new X1(0,0,""),n.state="CUE",r.indexOf("-->")===-1){n.cue.id=r;continue}case"CUE":if(!n.cue){n.state="BADCUE";continue}try{Xj(r,n.cue,n.regionList)}catch(l){n.cue=null,n.state="BADCUE";continue}n.state="CUETEXT";continue;case"CUETEXT":{let l=r.indexOf("-->")!==-1;if(!r||l&&(a=!0)){if(n.oncue&&n.cue)n.oncue(n.cue);n.cue=null,n.state="ID";continue}if(n.cue===null)continue;if(n.cue.text)n.cue.text+=`
45
+ `;n.cue.text+=r}continue;case"BADCUE":if(!r)n.state="ID"}}}catch(r){if(n.state==="CUETEXT"&&n.cue&&n.oncue)n.oncue(n.cue);n.cue=null,n.state=n.state==="INITIAL"?"BADWEBVTT":"BADCUE"}return this}flush(){let e=this;try{if(e.cue||e.state==="HEADER")e.buffer+=`
46
+
47
+ `,e.parse();if(e.state==="INITIAL"||e.state==="BADWEBVTT")throw Error("Malformed WebVTT signature.")}catch(n){if(e.onparsingerror)e.onparsingerror(n)}if(e.onflush)e.onflush();return this}}function gh(e){let n=5381,s=e.length;while(s)n=n*33^e.charCodeAt(--s);return(n>>>0).toString()}var Wj=/\r\n|\n\r|\n|\r/g,_3="Missing initPTS for VTT ",Kj=function(n){let s=parseInt(n.slice(-3)),i=parseInt(n.slice(-6,-4)),r=parseInt(n.slice(-9,-7)),a=n.length>9?parseInt(n.substring(0,n.indexOf(":"))):0;if(!lt(s)||!lt(i)||!lt(r)||!lt(a))throw Error(`Malformed X-TIMESTAMP-MAP: Local:${n}`);return s+=1000*i,s+=60000*r,s+=3600000*a,s};function W1(e,n,s){return gh(e.toString())+gh(n.toString())+gh(s)}function Yj(e,n,s,i,r,a,l){let c=new tv,f=pr(new Uint8Array(e)).trim().replace(Wj,`
48
+ `).split(`
49
+ `),m=[],g=n?kC(n.baseTime,n.timescale):0,b="00:00.000",v=0,k=0,T=!1,_,P=!0;c.oncue=function(U){let z=s[i],V=s.ccOffset,X=(v-g)/90000;if(T){if(z!=null&&z.new)V=s.ccOffset=z.start;if(X){if(!n){_=Error(_3+"MPEGTS");return}V=X-s.presentationOffset}}else if(!n){_=Error(_3+"without X-TIMESTAMP-MAP");return}else V=-n.baseTime/n.timescale;let J=U.endTime-U.startTime,ee=mr((U.startTime+V-k)*90000,r*90000)/90000;U.startTime=Math.max(ee,0),U.endTime=Math.max(ee+J,0);let te=U.text.trim();if(U.text=decodeURIComponent(encodeURIComponent(te)),!U.id)U.id=W1(U.startTime,U.endTime,te);else if(i)U.id=`hlsjscc${i}_${U.id}`;if(U.endTime>0)m.push(U)},c.onparsingerror=function(U){_=U},c.onflush=function(){if(_){l(_);return}a(m)},f.forEach((U)=>{if(P){if(U.startsWith("X-TIMESTAMP-MAP=")){P=!1,T=!0,U.slice(16).split(",").forEach((z)=>{if(z.startsWith("LOCAL:"))b=z.slice(6);else if(z.startsWith("MPEGTS:"))v=parseInt(z.slice(7))});try{k=Kj(b)/1000}catch(z){_=z}return}else if(U==="")P=!1}c.parse(U+`
50
+ `)}),c.flush()}var f1="stpp.ttml.im1t",nv=/^(\d{2,}):(\d{2}):(\d{2}):(\d{2})\.?(\d+)?$/,sv=/^(\d*(?:\.\d*)?)(h|m|s|ms|f|t)$/,Qj={left:"start",center:"center",right:"end",start:"start",end:"end"};function I3(e,n,s,i){let r=Ht(new Uint8Array(e),["mdat"]);if(r.length===0){i(Error("Could not parse IMSC1 mdat"));return}let a=r.map((c)=>pr(c)),l=SC(n.baseTime,1,n.timescale);try{a.forEach((c)=>s(Jj(c,l)))}catch(c){i(c)}}function Jj(e,n){let r=new DOMParser().parseFromString(e,"text/xml").getElementsByTagName("tt")[0];if(!r)throw Error("Invalid ttml");let a={frameRate:30,subFrameRate:1,frameRateMultiplier:0,tickRate:1},l=Object.keys(a).reduce((b,v)=>(b[v]=r.getAttribute(`ttp:${v}`)||a[v],b),{});if(!r.getAttribute("ttp:tickRate")&&r.getAttribute("ttp:frameRate"))l.tickRate=Number(l.frameRate)*Number(l.subFrameRate);let c=r.getAttribute("xml:space")!=="preserve",f=R3(Mg(r,"styling","style")),m=R3(Mg(r,"layout","region")),g=Mg(r,"body","[begin]");return[].map.call(g,(b)=>{let v=iv(b,c);if(!v||!b.hasAttribute("begin"))return null;let k=Og(b.getAttribute("begin"),l),T=Og(b.getAttribute("dur"),l),_=Og(b.getAttribute("end"),l);if(k===null)throw D3(b);if(_===null){if(T===null)throw D3(b);_=k+T}let P=new X1(k-n,_-n,v);P.id=W1(P.startTime,P.endTime,P.text);let U=m[b.getAttribute("region")],z=f[b.getAttribute("style")],V=Zj(U,z,f),{textAlign:X}=V;if(X){let J=Qj[X];if(J)P.lineAlign=J;P.align=X}return Nn(P,V),P}).filter((b)=>b!==null)}function Mg(e,n,s){let i=e.getElementsByTagName(n)[0];if(i)return[].slice.call(i.querySelectorAll(s));return[]}function R3(e){return e.reduce((n,s)=>{let i=s.getAttribute("xml:id");if(i)n[i]=s;return n},{})}function iv(e,n){return[].slice.call(e.childNodes).reduce((s,i,r)=>{var a;if(i.nodeName==="br"&&r)return s+`
51
+ `;if((a=i.childNodes)!=null&&a.length)return iv(i,n);else if(n)return s+i.textContent.trim().replace(/\s+/g," ");return s+i.textContent},"")}function Zj(e,n,s){let r=null,a=["displayAlign","textAlign","color","backgroundColor","fontSize","fontFamily"],l=e!=null&&e.hasAttribute("style")?e.getAttribute("style"):null;if(l&&s.hasOwnProperty(l))r=s[l];return a.reduce((c,f)=>{let m=Lg(n,"http://www.w3.org/ns/ttml#styling",f)||Lg(e,"http://www.w3.org/ns/ttml#styling",f)||Lg(r,"http://www.w3.org/ns/ttml#styling",f);if(m)c[f]=m;return c},{})}function Lg(e,n,s){if(!e)return null;return e.hasAttributeNS(n,s)?e.getAttributeNS(n,s):null}function D3(e){return Error(`Could not parse ttml timestamp ${e}`)}function Og(e,n){if(!e)return null;let s=Q6(e);if(s===null){if(nv.test(e))s=e_(e,n);else if(sv.test(e))s=t_(e,n)}return s}function e_(e,n){let s=nv.exec(e),i=(s[4]|0)+(s[5]|0)/n.subFrameRate;return(s[1]|0)*3600+(s[2]|0)*60+(s[3]|0)+i/n.frameRate}function t_(e,n){let s=sv.exec(e),i=Number(s[1]);switch(s[2]){case"h":return i*3600;case"m":return i*60;case"ms":return i/1000;case"f":return i/n.frameRate;case"t":return i/n.tickRate}return i}function K1(e,n,s,i="",r="disabled"){let a=e.ownerDocument.createElement("track");if(a.kind=n,a.label=s,i)a.srclang=i;return a.src="data:,WEBVTT",a.track.mode=r,e.appendChild(a),a}function n_(e){if(e.forced&&GT())return"forced";else if(e.characteristics&&/transcribes-spoken-dialog/gi.test(e.characteristics)&&/describes-music-and-sound/gi.test(e.characteristics))return"captions";return"subtitles"}function h1(e,n){let s=e.mode;if(s==="disabled")e.mode="hidden";if(e.cues&&!e.cues.getCueById(n.id))try{if(e.addCue(n),!e.cues.getCueById(n.id))throw Error(`addCue is failed for: ${n}`)}catch(i){Cn.debug(`[texttrack-utils]: ${i}`);try{let r=new self.TextTrackCue(n.startTime,n.endTime,n.text);r.id=n.id,e.addCue(r)}catch(r){Cn.debug(`[texttrack-utils]: Legacy TextTrackCue fallback failed: ${r}`)}}if(s==="disabled")e.mode=s}function u1(e,n,s,i){let r=e.mode;if(r==="disabled")e.mode="hidden";if(e.cues&&e.cues.length>0){let a=i_(e.cues,n,s);for(let l=0;l<a.length;l++)if(!i||i(a[l]))e.removeCue(a[l])}if(r==="disabled")e.mode=r}function s_(e,n){if(n<=e[0].startTime)return 0;let s=e.length-1;if(n>e[s].endTime)return-1;let i=0,r=s,a;while(i<=r)if(a=Math.floor((r+i)/2),n<e[a].startTime)r=a-1;else if(n>e[a].startTime&&i<s)i=a+1;else return a;return e[i].startTime-n<n-e[r].startTime?i:r}function i_(e,n,s){let i=[],r=s_(e,n);if(r>-1)for(let a=r,l=e.length;a<l;a++){let c=e[a];if(c.startTime>=n&&c.endTime<=s)i.push(c);else if(c.startTime>s)return i}return i}class rv extends v0{constructor(e){super(e,"subtitle-track-controller");this.media=null,this.tracks=[],this.groupIds=null,this.tracksInGroup=[],this.trackId=-1,this.currentTrack=null,this.selectDefaultTrack=!0,this.queuedDefaultTrack=-1,this.useTextTrackPolling=!1,this.subtitlePollingInterval=-1,this._subtitleDisplay=!0,this.asyncPollTrackChange=()=>this.pollTrackChange(0),this.onTextTracksChanged=()=>{if(!this.useTextTrackPolling)self.clearInterval(this.subtitlePollingInterval);if(!this.media||!this.hls.config.renderTextTracksNatively)return;let n=-1,s=!1;if(this.currentTrack){var i;let l=(i=this.currentTrack.trackNode)==null?void 0:i.track.mode;if(l==="showing")n=this.trackId,s=!0;else if(l==="hidden")n=this.trackId}if(!s)for(let l=0;l<this.tracksInGroup.length;l++){var r;let c=(r=this.tracksInGroup[l].trackNode)==null?void 0:r.track.mode;if(c==="showing"){n=l;break}else if(n<0&&c==="hidden")n=l}if(n>-1){var a;this._subtitleDisplay=((a=this.tracksInGroup[n].trackNode)==null?void 0:a.track.mode)==="showing"}this.setSubtitleTrack(n,!0)},this.registerListeners()}destroy(){this.unregisterListeners(),this.tracks.length=0,this.tracksInGroup.length=0,this.currentTrack=null,this.onTextTracksChanged=this.asyncPollTrackChange=null,super.destroy()}get subtitleDisplay(){return this._subtitleDisplay}set subtitleDisplay(e){if(this._subtitleDisplay=e,this.trackId>-1)this.toggleTrackModes()}registerListeners(){let{hls:e}=this;e.on(Z.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(Z.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Z.MANIFEST_PARSED,this.onManifestParsed,this),e.on(Z.LEVEL_LOADING,this.onLevelLoading,this),e.on(Z.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(Z.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.on(Z.ERROR,this.onError,this)}unregisterListeners(){let{hls:e}=this;e.off(Z.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(Z.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Z.MANIFEST_PARSED,this.onManifestParsed,this),e.off(Z.LEVEL_LOADING,this.onLevelLoading,this),e.off(Z.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(Z.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.off(Z.ERROR,this.onError,this)}createTracksInGroup(){var e;if(!this.media||!this.hls.config.renderTextTracksNatively)return;this.tracksInGroup.forEach((s)=>{if(!s.trackNode)s.trackNode=K1(this.media,n_(s),s.name,s.lang)});let n=(e=this.currentTrack)==null||(e=e.trackNode)==null?void 0:e.track;if((n==null?void 0:n.mode)==="disabled")n.mode=this._subtitleDisplay?"showing":"hidden"}onMediaAttached(e,n){let s=n.media;this.media=s;let i=this.trackId;if(this.queuedDefaultTrack>-1)i=this.queuedDefaultTrack,this.queuedDefaultTrack=-1;if(this.setSubtitleTrack(i),this.createTracksInGroup(),this.useTextTrackPolling=!(s.textTracks&&("onchange"in s.textTracks)),this.useTextTrackPolling)this.pollTrackChange(500);else s.textTracks.addEventListener("change",this.asyncPollTrackChange)}pollTrackChange(e){self.clearInterval(this.subtitlePollingInterval),this.subtitlePollingInterval=self.setInterval(this.onTextTracksChanged,e)}onMediaDetaching(e,n){let s=this.media;if(!s)return;let i=!!n.transferMedia;if(self.clearInterval(this.subtitlePollingInterval),!this.useTextTrackPolling)s.textTracks.removeEventListener("change",this.asyncPollTrackChange);if(this.trackId>-1)this.queuedDefaultTrack=this.trackId,this.setSubtitleTrack(-1);if(this.media=null,i)return;if(this.hls.config.renderTextTracksNatively)this.tracksInGroup.forEach((r)=>{let a=r.trackNode;if(a)a.track.mode="hidden",a.remove(),r.trackNode=void 0})}onManifestLoading(){this.tracks=[],this.groupIds=null,this.tracksInGroup=[],this.trackId=-1,this.currentTrack=null,this.selectDefaultTrack=!0}onManifestParsed(e,n){this.tracks=n.subtitleTracks}onSubtitleTrackLoaded(e,n){let{id:s,groupId:i,details:r}=n,a=this.tracksInGroup[s];if(!a||a.groupId!==i){this.warn(`Subtitle track with id:${s} and group:${i} not found in active group ${a==null?void 0:a.groupId}`);return}let l=a.details;if(a.details=n.details,this.log(`Subtitle track ${s} "${a.name}" lang:${a.lang} group:${i} loaded [${r.startSN}-${r.endSN}]`),s===this.trackId)this.playlistLoaded(s,n,l)}onLevelLoading(e,n){this.switchLevel(n.level)}onLevelSwitching(e,n){this.switchLevel(n.level)}switchLevel(e){let n=this.hls.levels[e];if(!n)return;let s=n.subtitleGroups||null,i=this.groupIds,r=this.currentTrack;if(!s||(i==null?void 0:i.length)!==(s==null?void 0:s.length)||s!=null&&s.some((a)=>(i==null?void 0:i.indexOf(a))===-1)){this.groupIds=s;let a=[];if(this.tracks.forEach((m)=>{if(m.textCodec===f1?this.hls.config.enableIMSC1:this.hls.config.enableWebVTT){if(!s||s.indexOf(m.groupId)>-1)m.id=a.length,a.push(m);else if(m.trackNode)m.trackNode.remove(),m.trackNode=void 0}}),a.length===this.tracksInGroup.length){let m=!1;for(let g=0;g<a.length;g++)if(a[g]!==this.tracksInGroup[g]){m=!0;break}if(!m)return}if(a.length){if(this.selectDefaultTrack&&!a.some((m)=>m.default))this.selectDefaultTrack=!1}this.tracksInGroup=a,this.trackId=-1,this.currentTrack=null;let l=this.hls.config.subtitlePreference;if(!r&&l){this.selectDefaultTrack=!1;let m=Ta(l,a);if(m>-1)r=a[m];else{let g=Ta(l,this.tracks);r=this.tracks[g]}}let c=this.findTrackId(r);if(c===-1&&r)c=this.findTrackId(null);let f={subtitleTracks:a};this.log(`Updating subtitle tracks, ${a.length} track(s) found in "${s==null?void 0:s.join(",")}" group-id`),this.hls.trigger(Z.SUBTITLE_TRACKS_UPDATED,f),this.setSubtitleTrack(c),this.createTracksInGroup()}}findTrackId(e){let n=this.tracksInGroup,s=this.selectDefaultTrack;for(let i=0;i<n.length;i++){let r=n[i];if(s&&!r.default||!s&&!e)continue;if(!e||Yl(r,e))return i}if(e){for(let i=0;i<n.length;i++){let r=n[i];if(Eh(e.attrs,r.attrs,["LANGUAGE","ASSOC-LANGUAGE","CHARACTERISTICS"]))return i}for(let i=0;i<n.length;i++){let r=n[i];if(Eh(e.attrs,r.attrs,["LANGUAGE"]))return i}}return-1}onError(e,n){if(n.fatal||!n.context)return;if(n.context.type===tn.SUBTITLE_TRACK&&n.context.id===this.trackId&&xh(n.context.groupId,this.groupIds))this.checkRetry(n)}get allSubtitleTracks(){return this.tracks}get subtitleTracks(){return this.tracksInGroup}get subtitleTrack(){return this.trackId}set subtitleTrack(e){this.selectDefaultTrack=!1,this.setSubtitleTrack(e,!0)}setSubtitleOption(e){if(this.hls.config.subtitlePreference=e,e){if(e.id===-1)return this.setSubtitleTrack(-1,!0),null;let n=this.allSubtitleTracks;if(this.selectDefaultTrack=!1,n.length){let s=this.currentTrack;if(s&&Yl(e,s))return s;let i=Ta(e,this.tracksInGroup);if(i>-1){let r=this.tracksInGroup[i];return this.setSubtitleTrack(i,!0),r}else if(s)return null;else{let r=Ta(e,n);if(r>-1)return n[r]}}}return null}loadPlaylist(e){if(super.loadPlaylist(),this.shouldLoadPlaylist(this.currentTrack))this.scheduleLoading(this.currentTrack,e)}loadingPlaylist(e,n){super.loadingPlaylist(e,n);let{id:s,groupId:i}=e,r=this.getUrlWithDirectives(e.url,n),a=e.details,l=a==null?void 0:a.age;this.log(`Loading subtitle ${s} "${e.name}" lang:${e.lang} group:${i}${(n==null?void 0:n.msn)!==void 0?" at sn "+n.msn+" part "+n.part:""}${l&&a.live?" age "+l.toFixed(1)+(a.type?" "+a.type||"":""):""} ${r}`),this.hls.trigger(Z.SUBTITLE_TRACK_LOADING,{url:r,id:s,groupId:i,deliveryDirectives:n||null,track:e})}toggleTrackModes(){if(!this.media||!this.hls.config.renderTextTracksNatively)return;let e=this.currentTrack;this.tracksInGroup.forEach((n)=>{if(n.trackNode){let s=n===e?this._subtitleDisplay?"showing":"hidden":"disabled",i=n.trackNode.track;if(i.mode!==s)i.mode=s}})}setSubtitleTrack(e,n=!1){let s=this.tracksInGroup;if(!this.media)this.queuedDefaultTrack=e;if(e<-1||e>=s.length||!lt(e)){this.warn(`Invalid subtitle track id: ${e}`);return}let i=this.currentTrack,r=s[e]||null;if(this.trackId=e,this.currentTrack=r,n)this.toggleTrackModes();if(!r){if(i)this.hls.trigger(Z.SUBTITLE_TRACK_SWITCH,{id:e});return}let a=!!r.details&&!r.details.live;if(r===i&&a)return;this.log(`Switching to subtitle-track ${e}`+(r?` "${r.name}" lang:${r.lang} group:${r.groupId}`:""));let{id:l,groupId:c="",name:f,type:m,url:g}=r;this.hls.trigger(Z.SUBTITLE_TRACK_SWITCH,{id:l,groupId:c,name:f,type:m,url:g});let b=this.switchParams(r.url,i==null?void 0:i.details,r.details);this.loadPlaylist(b)}}var Xd=2,r_=100;class av extends C1{constructor(e,n){super("gap-controller",e.logger);this.hls=void 0,this.fragmentTracker=void 0,this.media=null,this.mediaSource=void 0,this.nudgeRetry=0,this.skipRetry=0,this.stallReported=!1,this.stalled=null,this.moved=!1,this.seeking=!1,this.buffered={},this.lastCurrentTime=void 0,this.ended=0,this.waiting=0,this.onMediaPlaying=()=>{this.ended=0,this.waiting=0},this.onMediaWaiting=()=>{var s;if((s=this.media)!=null&&s.seeking)return;this.waiting=self.performance.now(),this.tick()},this.onMediaEnded=()=>{if(this.hls){var s;this.ended=((s=this.media)==null?void 0:s.currentTime)||1,this.hls.trigger(Z.MEDIA_ENDED,{stalled:!1})}},this.hls=e,this.fragmentTracker=n,this.lastCurrentTime=this.getCurrentTime(),this.registerListeners()}registerListeners(){let{hls:e}=this;if(e)e.on(Z.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(Z.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(Z.BUFFER_APPENDED,this.onBufferAppended,this)}unregisterListeners(){let{hls:e}=this;if(e)e.off(Z.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(Z.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(Z.BUFFER_APPENDED,this.onBufferAppended,this)}destroy(){super.destroy(),this.unregisterListeners(),this.media=this.hls=this.fragmentTracker=null,this.mediaSource=void 0}onMediaAttached(e,n){this.setInterval(r_),this.mediaSource=n.mediaSource;let s=this.media=n.media;Ln(s,"playing",this.onMediaPlaying),Ln(s,"waiting",this.onMediaWaiting),Ln(s,"ended",this.onMediaEnded)}onMediaDetaching(e,n){this.clearInterval();let{media:s}=this;if(s)Mn(s,"playing",this.onMediaPlaying),Mn(s,"waiting",this.onMediaWaiting),Mn(s,"ended",this.onMediaEnded),this.media=null;this.mediaSource=void 0}onBufferAppended(e,n){this.buffered=n.timeRanges}get hasBuffered(){return Object.keys(this.buffered).length>0}getCurrentTime(){var e;let n=((e=this.hls)==null?void 0:e.config.timelineOffset)||0;if(this.media)return Math.max(this.media.currentTime,n);return n}tick(){var e;if(!((e=this.media)!=null&&e.readyState)||!this.hasBuffered)return;let n=this.getCurrentTime();if(this.media.currentTime<n)return;this.poll(n,this.lastCurrentTime),this.lastCurrentTime=n}poll(e,n){var s,i;let r=(s=this.hls)==null?void 0:s.config;if(!r)return;let a=this.media;if(!a)return;let{seeking:l}=a,c=this.seeking&&!l,f=!this.seeking&&l,m=a.paused&&!l||a.ended||a.playbackRate===0;if(this.seeking=l,e!==n){if(n)this.ended=0;if(this.moved=!0,!l){if(this.skipRetry=this.nudgeRetry=0,r.nudgeOnVideoHole&&!m&&e>n)this.nudgeOnVideoHole(e,n)}if(this.waiting===0)this.stallResolved(e);return}if(f||c){if(c)this.stallResolved(e);return}if(m){if(this.skipRetry=this.nudgeRetry=0,this.stallResolved(e),!this.ended&&a.ended&&this.hls)this.ended=e||1,this.hls.trigger(Z.MEDIA_ENDED,{stalled:!1});return}if(!Ft.getBuffered(a).length){this.skipRetry=this.nudgeRetry=0;return}let g=Ft.bufferInfo(a,e,0),b=this.fragmentTracker;if(b&&this.hls)F3(g,e,b,this.hls);let v=g.nextStart||0;if(l&&b&&this.hls){let J=q3(this.hls.inFlightFragments,e),ee=g.len>Xd,te=!v||J||v-e>Xd&&!b.getPartialFragment(e);if(ee||te)return;this.moved=!1}let k=(i=this.hls)==null?void 0:i.latestLevelDetails;if(!this.moved&&this.stalled!==null&&b){if(!(g.len>0)&&!v)return;let ee=Math.max(v,g.start||0)-e,ne=k!=null&&k.live?k.targetduration*2:Xd,ie=fh(e,b);if(ee>0&&(ee<=ne||ie)){if(!a.paused)this._trySkipBufferHole(ie);return}}let T=r.detectStallWithCurrentTimeMs,_=self.performance.now(),P=this.waiting,U=this.stalled;if(U===null)if(P>0&&_-P<T)U=this.stalled=P;else{this.stalled=_;return}let z=_-U;if(!l&&(z>=T||P&&this.moved)&&this.hls){var V;if(((V=this.mediaSource)==null?void 0:V.readyState)==="ended"&&!(k!=null&&k.live)&&Math.abs(e-((k==null?void 0:k.edge)||0))<1){if(this.ended)return;this.ended=e||1,this.hls.trigger(Z.MEDIA_ENDED,{stalled:!0});return}if(this._reportStall(g),!this.media||!this.hls)return;if(a.currentTime!==e){let J=e;e=a.currentTime,this.moved=!0,this.log(`currentTime changed ${J} > ${e}`);return}}let X=Ft.bufferInfo(a,e,r.maxBufferHole);this._tryFixBufferStall(X,z,e)}stallResolved(e){let n=this.stalled;if(n&&this.hls){if(this.stalled=null,this.stallReported){let s=self.performance.now()-n;this.log(`playback not stuck anymore @${e}, after ${Math.round(s)}ms`),this.stallReported=!1,this.waiting=0,this.hls.trigger(Z.STALL_RESOLVED,{})}}}nudgeOnVideoHole(e,n){var s;let i=this.buffered.video;if(this.hls&&this.media&&this.fragmentTracker&&(s=this.buffered.audio)!=null&&s.length&&i&&i.length>1&&e>i.end(0)){let r=Ft.bufferedInfo(Ft.timeRangesToArray(this.buffered.audio),e,0);if(r.len>1&&n>=r.start){let a=Ft.timeRangesToArray(i),l=Ft.bufferedInfo(a,n,0).bufferedIndex;if(l>-1&&l<a.length-1){let c=Ft.bufferedInfo(a,e,0).bufferedIndex,f=a[l].end,m=a[l+1].start;if((c===-1||c>l)&&m-f<1&&e-f<2){let g=Error(`nudging playhead to flush pipeline after video hole. currentTime: ${e} hole: ${f} -> ${m} buffered index: ${c}`);this.warn(g.message),this.media.currentTime+=0.000001;let b=fh(e,this.fragmentTracker);if(b&&"fragment"in b)b=b.fragment;else if(!b)b=void 0;let v=Ft.bufferInfo(this.media,e,0);this.hls.trigger(Z.ERROR,{type:Rt.MEDIA_ERROR,details:Le.BUFFER_SEEK_OVER_HOLE,fatal:!1,error:g,reason:g.message,frag:b,buffer:v.len,bufferInfo:v})}}}}}_tryFixBufferStall(e,n,s){var i,r;let{fragmentTracker:a,media:l}=this,c=(i=this.hls)==null?void 0:i.config;if(!l||!a||!c)return;let f=(r=this.hls)==null?void 0:r.latestLevelDetails,m=fh(s,a);if(m||f!=null&&f.live&&s<f.fragmentStart){if(this._trySkipBufferHole(m)||!this.media)return}let g=e.buffered,b=this.adjacentTraversal(e,s);if((g&&g.length>1&&e.len>c.maxBufferHole||e.nextStart&&(e.nextStart-s<c.maxBufferHole||b))&&(n>c.highBufferWatchdogPeriod*1000||this.waiting))this.warn("Trying to nudge playhead over buffer-hole"),this._tryNudgeBuffer(e)}adjacentTraversal(e,n){let s=this.fragmentTracker,i=e.nextStart;if(s&&i){let r=s.getFragAtPos(n,Tt.MAIN),a=s.getFragAtPos(i,Tt.MAIN);if(r&&a)return a.sn-r.sn<2}return!1}_reportStall(e){let{hls:n,media:s,stallReported:i,stalled:r}=this;if(!i&&r!==null&&s&&n){this.stallReported=!0;let a=Error(`Playback stalling at @${s.currentTime} due to low buffer (${ss(e)})`);this.warn(a.message),n.trigger(Z.ERROR,{type:Rt.MEDIA_ERROR,details:Le.BUFFER_STALLED_ERROR,fatal:!1,error:a,buffer:e.len,bufferInfo:e,stalled:{start:r}})}}_trySkipBufferHole(e){let{fragmentTracker:n,media:s,hls:i}=this,r=i==null?void 0:i.config;if(!s||!n||!r)return 0;let a=s.currentTime,l=Ft.bufferInfo(s,a,0);F3(l,a,n,i);let c=a<l.start?l.start:l.nextStart;if(c){let m=l.len<=r.maxBufferHole,g=l.len>0&&l.len<1&&s.readyState<3,b=c-a;if(b>0&&(m||g)){if(b>r.maxBufferHole){let P=!1;if(a===0){let U=n.getAppendedFrag(0,Tt.MAIN);if(U&&c<U.end)P=!0}if(!P&&e){var f;if(!((f=i.loadLevelObj)!=null&&f.details))return 0;if(q3(i.inFlightFragments,c))return 0;let z=!1,V=e.end;while(V<c){let X=fh(V,n),J=X?X.duration:0;if(J>0)V+=J;else{z=!0;break}}if(z)return 0}}let{nudgeMaxRetry:v,skipBufferHolePadding:k}=r,T=++this.skipRetry>v,_=Math.max(c,a)+k;if(!T)this.warn(`skipping hole, adjusting currentTime from ${a} to ${_}`),this.moved=!0,s.currentTime=_;if(!(e!=null&&e.gap)||T){let P=Error(T?`Playhead still not moving after seeking over buffer hole from ${a} to ${_} after ${r.nudgeMaxRetry} attempts.`:`fragment loaded with buffer holes, seeking from ${a} to ${_}`),U={type:Rt.MEDIA_ERROR,details:Le.BUFFER_SEEK_OVER_HOLE,fatal:T,error:P,reason:P.message,buffer:l.len,bufferInfo:l};if(e)if("fragment"in e)U.part=e;else U.frag=e;i.trigger(Z.ERROR,U)}return _}}return 0}_tryNudgeBuffer(e){let{hls:n,media:s,nudgeRetry:i}=this,r=n==null?void 0:n.config;if(!s||!r)return 0;let a=s.currentTime;if(this.nudgeRetry++,i<r.nudgeMaxRetry){let l=a+(i+1)*r.nudgeOffset,c=Error(`Nudging 'currentTime' from ${a} to ${l}`);this.warn(c.message),s.currentTime=l,n.trigger(Z.ERROR,{type:Rt.MEDIA_ERROR,details:Le.BUFFER_NUDGE_ON_STALL,error:c,fatal:!1,buffer:e.len,bufferInfo:e})}else{let l=Error(`Playhead still not moving while enough data buffered @${a} after ${r.nudgeMaxRetry} nudges`);this.error(l.message),n.trigger(Z.ERROR,{type:Rt.MEDIA_ERROR,details:Le.BUFFER_STALLED_ERROR,error:l,fatal:!0,buffer:e.len,bufferInfo:e})}}}function q3(e,n){let s=M3(e.main);if(s&&s.start<=n)return s;let i=M3(e.audio);if(i&&i.start<=n)return i;return null}function M3(e){if(!e)return null;switch(e.state){case Ve.IDLE:case Ve.STOPPED:case Ve.ENDED:case Ve.ERROR:return null}return e.frag}function fh(e,n){return n.getAppendedFrag(e,Tt.MAIN)||n.getPartialFragment(e)}function F3(e,n,s,i){let r=i.latestLevelDetails,a=fh(n,s);if(o0(i.config)&&!e.nextStart&&r&&a&&i.interstitialsManager){let l="type"in a?a:a.fragment,c=E9(r,l.sn);if((c==null?void 0:c.level)===l.level&&X9(c,i.interstitialsManager.playerQueue,n))e.nextStart=c.start}}var a_=0.25;function d1(){if(typeof self>"u")return;return self.VTTCue||self.TextTrackCue}function Pg(e,n,s,i,r){let a=new e(n,s,"");try{if(a.value=i,r)a.type=r}catch(l){a=new e(n,s,ss(r?Dt({type:r},i):i))}return a}var Nd=(()=>{let e=d1();try{e&&new e(0,Number.POSITIVE_INFINITY,"")}catch(n){return Number.MAX_VALUE}return Number.POSITIVE_INFINITY})();class ov{constructor(e){this.hls=void 0,this.id3Track=null,this.media=null,this.dateRangeCuesAppended={},this.removeCues=!0,this.assetCue=void 0,this.onEventCueEnter=()=>{if(!this.hls)return;this.hls.trigger(Z.EVENT_CUE_ENTER,{})},this.hls=e,this._registerListeners()}destroy(){this._unregisterListeners(),this.id3Track=null,this.media=null,this.dateRangeCuesAppended={},this.hls=this.onEventCueEnter=null}_registerListeners(){let{hls:e}=this;if(e)e.on(Z.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(Z.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(Z.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Z.FRAG_PARSING_METADATA,this.onFragParsingMetadata,this),e.on(Z.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(Z.LEVEL_UPDATED,this.onLevelUpdated,this),e.on(Z.LEVEL_PTS_UPDATED,this.onLevelPtsUpdated,this)}_unregisterListeners(){let{hls:e}=this;if(e)e.off(Z.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(Z.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(Z.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Z.FRAG_PARSING_METADATA,this.onFragParsingMetadata,this),e.off(Z.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(Z.LEVEL_UPDATED,this.onLevelUpdated,this),e.off(Z.LEVEL_PTS_UPDATED,this.onLevelPtsUpdated,this)}onMediaAttaching(e,n){this.media=n.media}onMediaAttached(){var e;let n=(e=this.hls)==null?void 0:e.latestLevelDetails;if(n)this.updateDateRangeCues(n)}onMediaDetaching(e,n){if(this.media=null,!!n.transferMedia)return;if(this.id3Track)this.id3Track.remove(),this.id3Track=null;this.dateRangeCuesAppended={}}onManifestLoading(){this.dateRangeCuesAppended={}}createTrack(e){return K1(e,"metadata","id3","","hidden")}onFragParsingMetadata(e,n){if(!this.media||!this.hls)return;let{enableEmsgMetadataCues:s,enableID3MetadataCues:i}=this.hls.config;if(!s&&!i)return;let{samples:r}=n;if(!this.id3Track)this.id3Track=this.createTrack(this.media);let a=d1();if(!a)return;for(let l=0;l<r.length;l++){let c=r[l].type;if(c===Fi.emsg&&!s||!i)continue;let f=e9(r[l].data),m=r[l].pts,g=m+r[l].duration;if(g>Nd)g=Nd;if(g-m<=0)g=m+a_;for(let v=0;v<f.length;v++){let k=f[v];if(!t9(k)){this.updateId3CueEnds(m,c);let T=Pg(a,m,g,k,c);if(T)this.id3Track.track.addCue(T)}}}}updateId3CueEnds(e,n){var s;let i=(s=this.id3Track)==null?void 0:s.track.cues;if(i)for(let r=i.length;r--;){let a=i[r];if(a.type===n&&a.startTime<e&&a.endTime===Nd)a.endTime=e}}onBufferFlushing(e,{startOffset:n,endOffset:s,type:i}){let{id3Track:r,hls:a}=this;if(!a)return;let{config:{enableEmsgMetadataCues:l,enableID3MetadataCues:c}}=a;if(r&&(l||c)){let f;if(i==="audio")f=(m)=>m.type===Fi.audioId3&&c;else if(i==="video")f=(m)=>m.type===Fi.emsg&&l;else f=(m)=>m.type===Fi.audioId3&&c||m.type===Fi.emsg&&l;u1(r.track,n,s,f)}}onLevelUpdated(e,{details:n}){this.updateDateRangeCues(n,!0)}onLevelPtsUpdated(e,n){if(Math.abs(n.drift)>0.01)this.updateDateRangeCues(n.details)}updateDateRangeCues(e,n){if(!this.hls||!this.media)return;let{assetPlayerId:s,timelineOffset:i,enableDateRangeMetadataCues:r,interstitialsController:a}=this.hls.config;if(!r)return;let l=d1();if(s&&i&&!a){let{fragmentStart:T,fragmentEnd:_}=e,P=this.assetCue;if(P)P.startTime=T,P.endTime=_;else if(l){if(P=this.assetCue=Pg(l,T,_,{assetPlayerId:this.hls.config.assetPlayerId},"hlsjs.interstitial.asset"),P)P.id=s,this.id3Track||(this.id3Track=this.createTrack(this.media)),this.id3Track.track.addCue(P),P.addEventListener("enter",this.onEventCueEnter)}}if(!e.hasProgramDateTime)return;let{id3Track:c}=this,{dateRanges:f}=e,m=Object.keys(f),g=this.dateRangeCuesAppended;if(c&&n){var b;if((b=c.track.cues)!=null&&b.length){let T=Object.keys(g).filter((_)=>m.indexOf(_)===-1);for(let _=T.length;_--;){var v;let P=T[_],U=(v=g[P])==null?void 0:v.cues;if(delete g[P],U)Object.keys(U).forEach((z)=>{let V=U[z];if(V){V.removeEventListener("enter",this.onEventCueEnter);try{c.track.removeCue(V)}catch(X){}}})}}else g=this.dateRangeCuesAppended={}}let k=e.fragments[e.fragments.length-1];if(m.length===0||!lt(k==null?void 0:k.programDateTime))return;this.id3Track||(this.id3Track=this.createTrack(this.media));for(let T=0;T<m.length;T++){let _=m[T],P=f[_],U=P.startTime,z=g[_],V=(z==null?void 0:z.cues)||{},X=(z==null?void 0:z.durationKnown)||!1,J=Nd,{duration:ee,endDate:te}=P;if(te&&ee!==null)J=U+ee,X=!0;else if(P.endOnNext&&!X){let ie=m.reduce((se,oe)=>{if(oe!==P.id){let ye=f[oe];if(ye.class===P.class&&ye.startDate>P.startDate&&(!se||P.startDate<se.startDate))return ye}return se},null);if(ie)J=ie.startTime,X=!0}let ne=Object.keys(P.attr);for(let ie=0;ie<ne.length;ie++){let se=ne[ie];if(!AE(se))continue;let oe=V[se];if(oe){if(X&&!(z!=null&&z.durationKnown))oe.endTime=J;else if(Math.abs(oe.startTime-U)>0.01)oe.startTime=U,oe.endTime=J}else if(l){let ye=P.attr[se];if(TE(se))ye=n9(ye);let me=Pg(l,U,J,{key:se,data:ye},Fi.dateRange);if(me){if(me.id=_,this.id3Track.track.addCue(me),V[se]=me,a){if(se==="X-ASSET-LIST"||se==="X-ASSET-URL")me.addEventListener("enter",this.onEventCueEnter)}}}}g[_]={cues:V,dateRange:P,durationKnown:X}}}}function lv(){return self.SourceBuffer||self.WebKitSourceBuffer}function cv(){if(!al())return!1;let n=lv();return!n||n.prototype&&typeof n.prototype.appendBuffer==="function"&&typeof n.prototype.remove==="function"}function o_(){if(!cv())return!1;let e=al();return typeof(e==null?void 0:e.isTypeSupported)==="function"&&(["avc1.42E01E,mp4a.40.2","av01.0.01M.08","vp09.00.50.08"].some((n)=>e.isTypeSupported(kh(n,"video")))||["mp4a.40.2","fLaC"].some((n)=>e.isTypeSupported(kh(n,"audio"))))}function l_(){var e;let n=lv();return typeof(n==null||(e=n.prototype)==null?void 0:e.changeType)==="function"}var Sa={DISABLED:0,SWITCHING:1,SWITCHED:2},c_=100;class Y1 extends w0{constructor(e,n,s){super(e,n,s,"stream-controller",Tt.MAIN);this.audioCodecSwap=!1,this.level=-1,this._forceStartLoad=!1,this._hasEnoughToStart=!1,this.altAudio=Sa.DISABLED,this.audioOnly=!1,this._couldBacktrack=!1,this._backtrackFragment=void 0,this.audioCodecSwitch=!1,this.videoBuffer=null,this.onMediaPlaying=()=>{this.tick()},this.onMediaSeeked=()=>{let i=this.media,r=i?i.currentTime:null;if(r===null||!lt(r))return;if(this.log(`Media seeked to ${r}`),!this.getBufferedFrag(r))return;let a=this.getFwdBufferInfoAtPos(i,r,Tt.MAIN,0);if(!a||a.len===0){this.log(`Main buffer empty at ${r} on "seeked" event: ${a?a.len:a}`);return}this.tick()},this.registerListeners()}registerListeners(){super.registerListeners();let{hls:e}=this;e.on(Z.MANIFEST_PARSED,this.onManifestParsed,this),e.on(Z.LEVEL_LOADING,this.onLevelLoading,this),e.on(Z.LEVEL_LOADED,this.onLevelLoaded,this),e.on(Z.FRAG_LOAD_EMERGENCY_ABORTED,this.onFragLoadEmergencyAborted,this),e.on(Z.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.on(Z.AUDIO_TRACK_SWITCHED,this.onAudioTrackSwitched,this),e.on(Z.BUFFER_CREATED,this.onBufferCreated,this),e.on(Z.BUFFER_FLUSHED,this.onBufferFlushed,this),e.on(Z.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(Z.FRAG_BUFFERED,this.onFragBuffered,this)}unregisterListeners(){super.unregisterListeners();let{hls:e}=this;e.off(Z.MANIFEST_PARSED,this.onManifestParsed,this),e.off(Z.LEVEL_LOADED,this.onLevelLoaded,this),e.off(Z.FRAG_LOAD_EMERGENCY_ABORTED,this.onFragLoadEmergencyAborted,this),e.off(Z.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.off(Z.AUDIO_TRACK_SWITCHED,this.onAudioTrackSwitched,this),e.off(Z.BUFFER_CREATED,this.onBufferCreated,this),e.off(Z.BUFFER_FLUSHED,this.onBufferFlushed,this),e.off(Z.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(Z.FRAG_BUFFERED,this.onFragBuffered,this)}onHandlerDestroying(){this.onMediaPlaying=this.onMediaSeeked=null,this.unregisterListeners(),super.onHandlerDestroying()}startLoad(e,n){if(this.levels){let{lastCurrentTime:s,hls:i}=this;if(this.stopLoad(),this.setInterval(c_),this.level=-1,!this.startFragRequested){let r=i.startLevel;if(r===-1)if(i.config.testBandwidth&&this.levels.length>1)r=0,this.bitrateTest=!0;else r=i.firstAutoLevel;i.nextLoadLevel=r,this.level=i.loadLevel,this._hasEnoughToStart=!!n}if(s>0&&e===-1&&!n&&this.initPTS.length)this.log(`Override startPosition with lastCurrentTime @${s}`),e=s;if(this.state=Ve.IDLE,this.nextLoadPosition=this.lastCurrentTime=e+this.timelineOffset,this.startPosition=n?-1:e,!n&&!this.fragmentTracker.hasFragments(this.playlistType))this._hasEnoughToStart=this.startFragRequested=!1;this.tick()}else this._forceStartLoad=!0,this.state=Ve.STOPPED}stopLoad(){this._forceStartLoad=!1,super.stopLoad()}doTick(){switch(this.state){case Ve.WAITING_LEVEL:{let{levels:e,level:n}=this,s=e==null?void 0:e[n],i=s==null?void 0:s.details;if(i&&(!i.live||this.levelLastLoaded===s&&!this.waitForLive(s))){if(this.waitForCdnTuneIn(i))break;this.state=Ve.IDLE;break}else if(this.hls.nextLoadLevel!==this.level){this.state=Ve.IDLE;break}break}case Ve.FRAG_LOADING_WAITING_RETRY:this.checkRetryDate();break}if(this.state===Ve.IDLE)this.doTickIdle();this.onTickEnd()}onTickEnd(){var e;if(super.onTickEnd(),(e=this.media)!=null&&e.readyState&&this.media.seeking===!1)this.lastCurrentTime=this.media.currentTime;this.checkFragmentChanged()}doTickIdle(){let{hls:e,levelLastLoaded:n,levels:s,media:i}=this;if(n===null||!i&&!this.primaryPrefetch&&(this.startFragRequested||!e.config.startFragPrefetch))return;if(this.altAudio&&this.audioOnly)return;let r=this.buffering?e.nextLoadLevel:e.loadLevel;if(!(s!=null&&s[r]))return;let a=s[r],l=this.getMainFwdBufferInfo();if(l===null)return;let c=this.getLevelDetails();if(c&&this._streamEnded(l,c)){let T={type:this.targetBufferType()};this.hls.trigger(Z.BUFFER_EOS,T),this.state=Ve.ENDED;return}if(!this.buffering)return;if(e.loadLevel!==r&&e.manualLevel===-1)this.log(`Adapting to level ${r} from level ${this.level}`);this.level=e.nextLoadLevel=r;let f=a.details;if(!f||this.state===Ve.WAITING_LEVEL||this.waitForLive(a)){this.level=r,this.state=Ve.WAITING_LEVEL,this.startFragRequested=!1;return}let m=l.len,g=this.getMaxBufferLength(a.maxBitrate);if(m>=g)return;if(this.backtrackFragment&&this.backtrackFragment.start>l.end)this.backtrackFragment=void 0;let b=this.backtrackFragment?this.backtrackFragment.start:l.end,v=this.getNextFragment(b,f);if(this.couldBacktrack&&!this.fragPrevious&&v&&_s(v)&&this.fragmentTracker.getState(v)!==As.OK){var k;let _=((k=this.backtrackFragment)!=null?k:v).sn-f.startSN,P=f.fragments[_-1];if(P&&v.cc===P.cc)v=P,this.fragmentTracker.removeFragment(P)}else if(this.backtrackFragment&&l.len)this.backtrackFragment=void 0;if(v&&this.isLoopLoading(v,b)){if(!v.gap){let _=this.audioOnly&&!this.altAudio?Kn.AUDIO:Kn.VIDEO,P=(_===Kn.VIDEO?this.videoBuffer:this.mediaBuffer)||this.media;if(P)this.afterBufferFlushed(P,_)}v=this.getNextFragmentLoopLoading(v,f,l,Tt.MAIN,g)}if(!v)return;if(this.exceedsMaxBuffer(l,g,v))return;this.loadFragment(v,a,b)}loadFragment(e,n,s){let i=this.fragmentTracker.getState(e);if(i===As.NOT_LOADED||i===As.PARTIAL)if(this.bitrateTest)this.log(`Fragment ${e.sn} of level ${e.level} is being downloaded to test bitrate and will not be buffered`),this._loadBitrateTestFrag(e,n);else super.loadFragment(e,n,s);else this.clearTrackerIfNeeded(e)}immediateLevelSwitch(){if(this.abortCurrentFrag(),this.flushMainBuffer(0,Number.POSITIVE_INFINITY),this.altAudio!==Sa.DISABLED){var e;if((((e=this.getLevelDetails())==null?void 0:e.fragmentStart)||0)>this.lastCurrentTime)super.flushMainBuffer(0,Number.POSITIVE_INFINITY,"audio")}}getBufferOutput(){if(this.mediaBuffer&&this.altAudio===Sa.SWITCHED)return this.mediaBuffer;return this.media}checkFragmentChanged(){let e=this.fragPlaying;if(!this.checkFragPlaying())return!1;let s=this.fragPlaying;if(s){let i=s.level;if(this.hls.trigger(Z.FRAG_CHANGED,{frag:s,previousFrag:e}),(e==null?void 0:e.level)!==i)this.hls.trigger(Z.LEVEL_SWITCHED,{level:i})}return!0}get backtrackFragment(){return this._backtrackFragment}set backtrackFragment(e){this._backtrackFragment=e}get couldBacktrack(){return this._couldBacktrack}set couldBacktrack(e){this._couldBacktrack=e}abortCurrentFrag(){this.backtrackFragment=void 0,super.abortCurrentFrag()}flushMainBuffer(e,n){super.flushMainBuffer(e,n,this.targetBufferType())}targetBufferType(){return this.altAudio===Sa.SWITCHED&&!this.audioOnly?"video":null}onMediaAttached(e,n){super.onMediaAttached(e,n);let s=n.media;Ln(s,"playing",this.onMediaPlaying),Ln(s,"seeked",this.onMediaSeeked)}onMediaDetaching(e,n){let{media:s}=this;if(s)Mn(s,"playing",this.onMediaPlaying),Mn(s,"seeked",this.onMediaSeeked);if(this.videoBuffer=null,super.onMediaDetaching(e,n),!!n.transferMedia)return;this._hasEnoughToStart=!1}onManifestLoading(){super.onManifestLoading(),this.log("Trigger BUFFER_RESET"),this.hls.trigger(Z.BUFFER_RESET,void 0),this.couldBacktrack=!1,this.backtrackFragment=void 0,this.altAudio=Sa.DISABLED,this.audioOnly=!1}onManifestParsed(e,n){let s=!1,i=!1;for(let r=0;r<n.levels.length;r++){let a=n.levels[r].audioCodec;if(a)s=s||a.indexOf("mp4a.40.2")!==-1,i=i||a.indexOf("mp4a.40.5")!==-1}if(this.audioCodecSwitch=s&&i&&!l_(),this.audioCodecSwitch)this.log("Both AAC/HE-AAC audio found in levels; declaring level codec as HE-AAC");this.levels=n.levels,this.startFragRequested=!1}onLevelLoading(e,n){let{levels:s}=this;if(!s||this.state!==Ve.IDLE)return;let i=n.levelInfo;if(!i.details||i.details.live&&(this.levelLastLoaded!==i||i.details.expired)||this.waitForCdnTuneIn(i.details))this.state=Ve.WAITING_LEVEL}onLevelLoaded(e,n){var s;let{levels:i,startFragRequested:r}=this,{level:a,details:l}=n,c=l.totalduration;if(!i){this.warn(`Levels were reset while loading level ${a}`);return}this.log(`Level ${a} loaded [${l.startSN},${l.endSN}]${l.lastPartSn?`[part-${l.lastPartSn}-${l.lastPartIndex}]`:""}, cc [${l.startCC}, ${l.endCC}] duration:${c}`);let f=n.levelInfo,m=this.fragCurrent;if(m&&(this.state===Ve.FRAG_LOADING||this.state===Ve.FRAG_LOADING_WAITING_RETRY)){if(m.level!==n.level&&m.loader)this.abortCurrentFrag()}let g=0;if(l.live||(s=f.details)!=null&&s.live){var b;if(this.checkLiveUpdate(l),l.deltaUpdateFailed)return;g=this.alignPlaylists(l,f.details,(b=this.levelLastLoaded)==null?void 0:b.details)}if(f.details=l,this.levelLastLoaded=f,!r)this.setStartPosition(l,g);if(this.hls.trigger(Z.LEVEL_UPDATED,{details:l,level:a}),this.state===Ve.WAITING_LEVEL){if(this.waitForCdnTuneIn(l))return;this.state=Ve.IDLE}if(r&&l.live)this.synchronizeToLiveEdge(l);this.initPTS.some((v,k)=>{if(k>=l.startCC)return!0;delete this.initPTS[k]}),this.tick()}synchronizeToLiveEdge(e){let{config:n,media:s}=this;if(!s)return;let i=this.hls.liveSyncPosition,r=this.playhead,{fragmentStart:a,edge:l}=e,c=r>=a-n.maxFragLookUpTolerance&&r<=l;if(i!==null&&s.duration>i&&(r<i||!c)){let m=n.liveMaxLatencyDuration!==void 0?n.liveMaxLatencyDuration:n.liveMaxLatencyDurationCount*e.targetduration;if(!c&&s.readyState<4||r<l-m){if(!this._hasEnoughToStart)this.nextLoadPosition=i;if(s.readyState)if(this.warn(`Playback: ${r} is located too far from the end of live sliding playlist: ${l}, reset currentTime to : ${i}`),this.config.liveSyncMode==="buffered"){var f;let g=Ft.bufferInfo(s,i,0);if(!((f=g.buffered)!=null&&f.length)){s.currentTime=i;return}if(g.start<=r){s.currentTime=i;return}let{nextStart:v}=Ft.bufferedInfo(g.buffered,r,0);if(v)s.currentTime=v}else s.currentTime=i}}}_handleFragmentLoadProgress(e){var n;let s=e.frag,{part:i,payload:r}=e,{levels:a}=this;if(!a){this.warn(`Levels were reset while fragment load was in progress. Fragment ${s.sn} of level ${s.level} will not be buffered`);return}let l=a[s.level];if(!l){this.warn(`Level ${s.level} not found on progress`);return}let c=l.details;if(!c){this.warn(`Dropping fragment ${s.sn} of level ${s.level} after level details were reset`),this.fragmentTracker.removeFragment(s);return}let f=l.videoCodec,m=c.PTSKnown||!c.live,g=(n=s.initSegment)==null?void 0:n.data,b=this._getAudioCodec(l),v=this.transmuxer=this.transmuxer||new N1(this.hls,Tt.MAIN,this._handleTransmuxComplete.bind(this),this._handleTransmuxerFlush.bind(this)),k=i?i.index:-1,T=k!==-1,{decryptRange:_,byteRange:P}=n0(s,i,this.iframesOnly),U=new b0(s.level,s.sn,s.stats.chunkCount,P?P.end-P.start:r.byteLength,k,T,s.duration,this.iframesOnly,_),z=this.initPTS[s.cc];v.push(r,g,b,f,s,i,c.totalduration,m,U,z)}onAudioTrackSwitching(e,n){let s=this.hls,i=this.altAudio!==Sa.DISABLED;if(!t0(n.url,s)){if(this.mediaBuffer!==this.media){this.log("Switching on main audio, use media.buffered to schedule main fragment loading"),this.mediaBuffer=this.media;let a=this.fragCurrent;if(a)this.log("Switching to main audio track, cancel main fragment load"),a.abortRequests(),this.fragmentTracker.removeFragment(a);this.resetTransmuxer(),this.resetLoadingState()}else if(this.audioOnly)this.resetTransmuxer();if(i){this.altAudio=Sa.DISABLED,this.fragmentTracker.removeAllFragments(),s.once(Z.BUFFER_FLUSHED,()=>{if(!this.hls)return;this.hls.trigger(Z.AUDIO_TRACK_SWITCHED,n)}),s.trigger(Z.BUFFER_FLUSHING,{startOffset:0,endOffset:Number.POSITIVE_INFINITY,type:null});return}s.trigger(Z.AUDIO_TRACK_SWITCHED,n)}else this.altAudio=Sa.SWITCHING}onAudioTrackSwitched(e,n){let s=t0(n.url,this.hls);if(s){let i=this.videoBuffer;if(i&&this.mediaBuffer!==i)this.log("Switching on alternate audio, use video.buffered to schedule main fragment loading"),this.mediaBuffer=i}this.altAudio=s?Sa.SWITCHED:Sa.DISABLED,this.tick()}onBufferCreated(e,n){let s=n.tracks,i,r,a=!1;for(let l in s){let c=s[l];if(c.id==="main"){if(r=l,i=c,l==="video"){let f=s[l];if(f)this.videoBuffer=f.buffer}}else a=!0}if(a&&i)this.log(`Alternate track found, use ${r}.buffered to schedule main fragment loading`),this.mediaBuffer=i.buffer;else this.mediaBuffer=this.media}onFragBuffered(e,n){let{frag:s,part:i}=n,r=s.type===Tt.MAIN;if(r){if(this.fragContextChanged(s)){if(this.warn(`Fragment ${s.sn}${i?" p: "+i.index:""} of level ${s.level} finished buffering, but was aborted. state: ${this.state}`),this.state===Ve.PARSED)this.state=Ve.IDLE;return}let c=!1;if(_s(s))c=!!s.gap&&!s.tagList.some((f)=>f[0]==="GAP");if(this.fragBufferedComplete(s,i),c){var a;s.stats.retry++;let f=(a=this.levels)==null?void 0:a[s.level];if(f)f.fragmentError++}}let l=this.media;if(!l)return;if(!this._hasEnoughToStart&&Ft.getBuffered(l).length)this._hasEnoughToStart=!0,this.seekToStartPos();if(r)this.tick()}get hasEnoughToStart(){return this._hasEnoughToStart}onError(e,n){var s;if(n.fatal){this.state=Ve.ERROR;return}switch(n.details){case Le.FRAG_GAP:case Le.FRAG_PARSING_ERROR:case Le.FRAG_DECRYPT_ERROR:case Le.FRAG_LOAD_ERROR:case Le.FRAG_LOAD_TIMEOUT:case Le.KEY_LOAD_ERROR:case Le.KEY_LOAD_TIMEOUT:this.onFragmentOrKeyLoadError(Tt.MAIN,n);break;case Le.LEVEL_LOAD_ERROR:case Le.LEVEL_LOAD_TIMEOUT:case Le.LEVEL_PARSING_ERROR:if(!n.levelRetry&&this.state===Ve.WAITING_LEVEL&&((s=n.context)==null?void 0:s.type)===tn.LEVEL)this.state=Ve.IDLE;break;case Le.BUFFER_APPEND_NO_PROGRESS:if(n.parent!=="main")return;if(n.frag&&(n.appendsWithoutProgress||0)>=this.config.appendErrorMaxRetry)this.warn(`Marking fragment ${n.frag.sn} of level ${n.frag.level} as a gap after ${n.appendsWithoutProgress} appends without buffered range growth, to prevent loop loading`),this.fragmentTracker.addAsGap(n.frag);break;case Le.BUFFER_ADD_CODEC_ERROR:case Le.BUFFER_APPEND_ERROR:if(n.parent!=="main")return;if(this.reduceLengthAndFlushBuffer(n))this.resetLoadingState();break;case Le.BUFFER_FULL_ERROR:if(n.parent!=="main")return;if(this.reduceLengthAndFlushBuffer(n))if(!this.config.interstitialsController&&this.config.assetPlayerId)this._hasEnoughToStart=!0;else this.flushMainBuffer(0,Number.POSITIVE_INFINITY);break;case Le.INTERNAL_EXCEPTION:this.recoverWorkerError(n);break}}onFragLoadEmergencyAborted(){if(this.state=Ve.IDLE,!this._hasEnoughToStart)this.startFragRequested=!1,this.nextLoadPosition=this.lastCurrentTime;this.tickImmediate()}onBufferFlushed(e,{type:n}){if(n!==Kn.AUDIO||!this.altAudio){let s=(n===Kn.VIDEO?this.videoBuffer:this.mediaBuffer)||this.media;if(s)this.afterBufferFlushed(s,n),this.tick()}}onLevelsUpdated(e,n){if(this.level>-1&&this.fragCurrent){if(this.level=this.fragCurrent.level,this.level===-1)this.resetWhenMissingContext(this.fragCurrent)}this.levels=n.levels}swapAudioCodec(){this.audioCodecSwap=!this.audioCodecSwap}seekToStartPos(){let{media:e}=this;if(!e)return;let n=e.currentTime,s=this.startPosition;if(s>=0&&n<s){if(e.seeking){this.log(`could not seek to ${s}, already seeking at ${n}`);return}let i=this.timelineOffset;if(i&&s)s+=i;let r=this.getLevelDetails(),a=Ft.getBuffered(e),l=a.length?a.start(0):0,c=l-s,f=Math.max(this.config.maxBufferHole,this.config.maxFragLookUpTolerance);if(this.config.startOnSegmentBoundary||c>0&&(c<f||this.loadingParts&&c<2*((r==null?void 0:r.partTarget)||0)))this.log(`adjusting start position by ${c} to match buffer start`),s+=c,this.startPosition=s;if(n<s)this.log(`seek to target start position ${s} from current time ${n} buffer start ${l}`),e.currentTime=s}}_getAudioCodec(e){let n=this.config.defaultAudioCodec||e.audioCodec;if(this.audioCodecSwap&&n)if(this.log("Swapping audio codec"),n.indexOf("mp4a.40.5")!==-1)n="mp4a.40.2";else n="mp4a.40.5";return n}_loadBitrateTestFrag(e,n){e.bitrateTest=!0,this._doFragLoad(e,n).then((s)=>{let{hls:i}=this,r=s==null?void 0:s.frag;if(!r||this.fragContextChanged(r))return;n.fragmentError=0,this.state=Ve.IDLE,this.startFragRequested=!1,this.bitrateTest=!1;let a=r.stats;a.parsing.start=a.parsing.end=a.buffering.start=a.buffering.end=self.performance.now(),i.trigger(Z.FRAG_LOADED,s),r.bitrateTest=!1}).catch((s)=>{if(this.state===Ve.STOPPED||this.state===Ve.ERROR)return;this.warn(s),this.resetFragmentLoading(e)})}_handleTransmuxComplete(e){let n=this.playlistType,{hls:s}=this,{remuxResult:i,chunkMeta:r}=e,a=this.getCurrentContext(r);if(!a){this.resetWhenMissingContext(r);return}let{frag:l,part:c,level:f}=a,{video:m,text:g,id3:b,initSegment:v}=i,{details:k}=f,T=this.altAudio?void 0:i.audio;if(this.fragContextChanged(l)){this.fragmentTracker.removeFragment(l);return}if(this.state=Ve.PARSING,v){let _=v.tracks;if(_){let V=l.initSegment||l;if(this.unhandledEncryptionError(v,l))return;this._bufferInitSegment(f,_,V,r),s.trigger(Z.FRAG_PARSING_INIT_SEGMENT,{frag:V,id:n,tracks:_})}let{initPTS:P,timescale:U}=v,z=this.initPTS[l.cc];if(lt(P)&&(!z||z.baseTime!==P||z.timescale!==U)){let V=v.trackId;this.initPTS[l.cc]={baseTime:P,timescale:U,trackId:V};let X=this.initPTS.slice(0);s.trigger(Z.INIT_PTS_FOUND,{timestampOffsets:X,frag:l,id:n,initPTS:P,timescale:U,trackId:V})}}if(m&&k){if(T&&m.type==="audiovideo")this.logMuxedErr(l);let _=k.fragments[l.sn-1-k.startSN],P=l.sn===k.startSN,U=!_||l.cc>_.cc;if(i.independent!==!1){let{startPTS:z,endPTS:V,startDTS:X,endDTS:J}=m;if(c)c.elementaryStreams[m.type]={startPTS:z,endPTS:V,startDTS:X,endDTS:J};else{if(m.firstKeyFrame&&m.independent&&r.id===1&&!U)this.couldBacktrack=!0;if(m.dropped&&m.independent){let ee=this.getMainFwdBufferInfo(),te=(ee?ee.end:this.getLoadPosition())+this.config.maxBufferHole,ne=m.firstKeyFramePTS?m.firstKeyFramePTS:z;if(!P&&te<ne-this.config.maxBufferHole&&!U){this.backtrack(l);return}else if(U)l.gap=!0;l.setElementaryStreamInfo(m.type,l.start,V,l.start,J,!0)}else if(P&&z-(k.appliedTimelineOffset||0)>Xd)l.gap=!0}if(l.setElementaryStreamInfo(m.type,z,V,X,J),this.backtrackFragment)this.backtrackFragment=l;this.bufferFragmentData(m,l,c,r,P||U)}else if(P||U)l.gap=!0;else{this.backtrack(l);return}}if(T){let{startPTS:_,endPTS:P,startDTS:U,endDTS:z}=T;if(c)c.elementaryStreams[Kn.AUDIO]={startPTS:_,endPTS:P,startDTS:U,endDTS:z};l.setElementaryStreamInfo(Kn.AUDIO,_,P,U,z),this.bufferFragmentData(T,l,c,r)}if(k&&b!=null&&b.samples.length){let _={id:n,frag:l,details:k,samples:b.samples};s.trigger(Z.FRAG_PARSING_METADATA,_)}if(k&&g){let _={id:n,frag:l,details:k,samples:g.samples};s.trigger(Z.FRAG_PARSING_USERDATA,_)}}logMuxedErr(e){this.warn(`${_s(e)?"Media":"Init"} segment with muxed audiovideo where only video expected: ${e.url}`)}_bufferInitSegment(e,n,s,i){if(this.state!==Ve.PARSING)return;if(this.audioOnly=!!n.audio&&!n.video,this.altAudio&&!this.audioOnly){if(delete n.audio,n.audiovideo)this.logMuxedErr(s)}let{audio:r,video:a,audiovideo:l}=n;if(r){let f=e.audioCodec,m=zd(r.codec,f);if(m==="mp4a")m="mp4a.40.5";if(this.audioCodecSwitch){if(m)if(m.indexOf("mp4a.40.5")!==-1)m="mp4a.40.2";else m="mp4a.40.5";let g=r.metadata;if(g&&"channelCount"in g&&(g.channelCount||1)!==1&&!zT())m="mp4a.40.5"}if(m&&m.indexOf("mp4a.40.5")!==-1&&VT()&&r.container!=="audio/mpeg")m="mp4a.40.2",this.log(`Android: force audio codec to ${m}`);if(f&&f!==m)this.log(`Swapping manifest audio codec "${f}" for "${m}"`);r.levelCodec=m,r.id=Tt.MAIN,this.log(`Init audio buffer, container:${r.container}, codecs[selected/level/parsed]=[${m||""}/${f||""}/${r.codec}]`),delete n.audiovideo}if(a){a.levelCodec=e.videoCodec,a.id=Tt.MAIN;let f=a.codec;if((f==null?void 0:f.length)===4)switch(f){case"hvc1":case"hev1":a.codec="hvc1.1.6.L120.90";break;case"av01":a.codec="av01.0.04M.08";break;case"avc1":a.codec="avc1.42e01e";break}this.log(`Init video buffer, container:${a.container}, codecs[level/parsed]=[${e.videoCodec||""}/${f}]${a.codec!==f?" parsed-corrected="+a.codec:""}${a.supplemental?" supplemental="+a.supplemental:""}`),delete n.audiovideo}if(l){if(this.iframesOnly)this.logMuxedErr(s);this.log(`Init audiovideo buffer, container:${l.container}, codecs[level/parsed]=[${e.codecs}/${l.codec}]`),delete n.video,delete n.audio}let c=Object.keys(n);if(c.length){if(this.hls.trigger(Z.BUFFER_CODECS,n),!this.hls)return;c.forEach((f)=>{let g=n[f].initSegment;if(g!=null&&g.byteLength)this.hls.trigger(Z.BUFFER_APPENDING,{type:f,data:g,frag:s,part:null,chunkMeta:i,parent:s.type})})}this.tickImmediate()}getMainFwdBufferInfo(){let e=this.getBufferOutput();return this.getFwdBufferInfo(e,Tt.MAIN)}get maxBufferLength(){let{levels:e,level:n}=this,s=e==null?void 0:e[n];if(!s)return this.config.maxBufferLength;return this.getMaxBufferLength(s.maxBitrate)}backtrack(e){this.couldBacktrack=!0,this.backtrackFragment=e,this.resetTransmuxer(),this.flushBufferGap(e),this.fragmentTracker.removeFragment(e),this.fragPrevious=null,this.nextLoadPosition=e.start,this.state=Ve.IDLE}get nextLevel(){let e=this.nextBufferedFrag;if(e)return e.level;return-1}get currentFrag(){var e;if(this.fragPlaying)return this.fragPlaying;let n=((e=this.media)==null?void 0:e.currentTime)||this.lastCurrentTime;if(lt(n))return this.getAppendedFrag(n);return null}get currentProgramDateTime(){var e;let n=((e=this.media)==null?void 0:e.currentTime)||this.lastCurrentTime;if(lt(n)){let s=this.getLevelDetails(),i=this.currentFrag||(s?Zc(null,s.fragments,n):null);if(i){let r=i.programDateTime;if(r!==null){let a=r+(n-i.start)*1000;return new Date(a)}}}return null}get currentLevel(){let e=this.currentFrag;if(e)return e.level;return-1}get nextBufferedFrag(){let e=this.currentFrag;if(e)return this.followingBufferedFrag(e);return null}get forceStartLoad(){return this._forceStartLoad}}class Q1 extends Y1{constructor(...e){super(...e);this.currentOp=void 0,this.nextOp=void 0,this.cached=[],this.cachedSize=0,this.cacheFragmentData=!0,this.initDetails=void 0,this.onBufferedToEnd=()=>{let n=this.media;if(n!=null&&n.seeking)n.currentTime=n.currentTime},this.onMediaSeeking=()=>{}}setInitPts(e){this.initPTS=e.slice()}loadMediaAt(e,n){if(!this.hls)return;let{seekOnAppend:s}=n,i=e+this.timelineOffset;switch(this.nextLoadPosition=this.lastCurrentTime=i,this.startPosition=e,this.state){case Ve.STOPPED:case Ve.ENDED:case Ve.ERROR:this.state=Ve.IDLE}if(this.state===Ve.IDLE)this.hls.resumeBuffering(),this.tick(),this.currentOp=[i,n];else this.nextOp=[i,n];this.hls.off(Z.BUFFERED_TO_END,this.onBufferedToEnd);let r=this.media;if(s&&r){if(this.seekTo(i))this.currentOp=[i,n],this.nextOp=void 0,this.flushPipeline(i,!0)}}seekTo(e){let n=this.media;if(n){var s;let i=(s=this.getLevelDetails())==null?void 0:s.edge,r=i!==void 0?i:n.duration;if(e>=r)e=r-0.01;if(Ft.bufferInfo(n,e,0).len>0&&this.getBufferedAt(e))return n.currentTime=e,!0}return!1}getBufferedAt(e){return this.fragmentTracker.getBufferedFrag(e,Tt.MAIN)}cacheSet(e,n){if(!this.hls)return;e.data=n;let s=this.cached;s.push(e),this.cachedSize+=n.buffer.byteLength;let i=this.hls.config.iframeCacheLimit;while(this.cachedSize>i&&s.length>1){let r=s.shift();if(r.data)this.cachedSize-=r.data.byteLength,r.data=void 0;else{this.cached=s.filter((a)=>!!a.data),this.cachedSize=s.reduce((a,{data:l})=>l?l.buffer.byteLength:0,0);break}}}onHandlerDestroying(){this.cached.length=0,this.cachedSize=0,super.onHandlerDestroying()}_handleFragmentLoadProgress(e){let n=e.frag,{part:s,payload:i}=e;if(this.cacheFragmentData&&!s&&i!=null&&i.byteLength&&!n.data&&_s(n))this.cacheSet(n,new Uint8Array(i.slice(0)));super._handleFragmentLoadProgress(e)}loadFragment(e,n,s){let i=this.fragmentTracker.getState(e);if((i===As.NOT_LOADED||i===As.PARTIAL)&&this.canReplayCached(e)){this.replayCachedFragment(e);return}super.loadFragment(e,n,s)}canReplayCached(e){var n;if(!this.cacheFragmentData||!((n=e.data)!=null&&n.byteLength))return!1;let s=e.decryptdata;return(s==null?void 0:s.keyFormat)!=="identity"||!!s.key}replayCachedFragment(e){let n=e.data.slice().buffer;this.log(`Buffering cached ${e.type} sn: ${e.sn} of level ${e.level} (${n.byteLength} bytes)`),this.fragCurrent=e,this.startFragRequested=!0;let s=e.stats=new u0;s.loading.start=s.loading.first=s.loading.end=self.performance.now(),s.loaded=s.total=n.byteLength,s.chunkCount=1,this.state=Ve.FRAG_LOADING;let i={frag:e,part:null,payload:n,networkDetails:null};this._handleFragmentLoadProgress(i),this.hls.trigger(Z.FRAG_LOADED,i),this._handleFragmentLoadComplete(i)}fragBufferedComplete(e,n){super.fragBufferedComplete(e,n);let{currentOp:s,nextOp:i}=this;if(this.currentOp=this.nextOp=void 0,this.state=Ve.STOPPED,s!=null&&s[1].seekOnAppend){if(this.flushPipeline(s[0],!i),!this.seekTo(s[0]))this.log(`Could not seek to ${s[0]} after fragment buffered (superseded or flushed) buffer: ${this.media?a0(Ft.getBuffered(this.media)):"none"}`)}if(i)this.loadMediaAt.apply(this,i)}flushPipeline(e,n){if(n){let s=this.media;if(s){let i=Ft.bufferInfo(s,e,0),r=i.len?i.nextStart:0;if(r)this.fragmentTracker.removeFragmentsInRange(r,1/0,Tt.MAIN),this.flushMainBuffer(r,1/0)}this.hls.once(Z.BUFFERED_TO_END,this.onBufferedToEnd)}this.hls.trigger(Z.BUFFER_EOS,{type:"video"})}get playhead(){return this.nextLoadPosition}startLoad(){if(!this.startFragRequested){let e=this.hls;e.nextLoadLevel=e.startLevel===-1?0:e.firstAutoLevel}}seekToStartPos(){}setStartPosition(){}alignPlaylists(e,n,s){let i=this.initDetails;return this.initDetails=null,super.alignPlaylists(e,n,s||i||void 0)}getMainFwdBufferInfo(){let e=this.playhead,n=this.getBufferedAt(e);if(n){let s=n.duration;return{len:s,start:e,end:e+s,bufferedIndex:-1}}return{len:0,start:e,end:e,bufferedIndex:-1}}_streamEnded(){let e=this.playhead,n=this.fragmentTracker.getBufferedFrag(e,Tt.MAIN);return!!(n!=null&&n.endList)}}class fv extends Q1{constructor(...e){super(...e);this._img=void 0,this.queued=void 0,this.cacheFragmentData=!1}get image(){return this._img}set image(e){var n;let s=(n=this._img)==null?void 0:n.src;if(s)self.URL.revokeObjectURL(s);this._img=e}loadMediaAt(e){if(!this.hls)return;let n=e+this.timelineOffset;switch(this.nextLoadPosition=this.lastCurrentTime=n,this.startPosition=e,this.state){case Ve.STOPPED:case Ve.ENDED:case Ve.ERROR:this.state=Ve.IDLE}if(this.state===Ve.IDLE){if(this.hls.resumeBuffering(),this.media||(this.media={}),this.tick(),this.state===Ve.IDLE){let s=this.getBufferedAt(e);if(s)this.fragCurrent=s,this.updateImage(s,null)}}else{let s=this.fragCurrent;if(!s||e>=s.start&&e<s.end)this.queued=[n]}}updateImage(e,n,s){let i=e.data;if(!i)this.fragmentTracker.removeFragment(e);let r=this._img;if(r&&i){let a=self.performance.now(),l=n?n.stats:e.stats;l.buffering.start=e.stats.buffering.start=a,r.onload=()=>{if(!this.hls)return;let m=this.hls.levels[e.level];if(m!=null&&m.fragmentError)m.fragmentError=0,e.stats.retry=0;let g=self.performance.now(),b=n?n.stats:e.stats;b.buffering.end=e.stats.buffering.end=g,this.hls.trigger(Z.FRAG_BUFFERED,{frag:e,part:n,stats:b,id:e.type,chunkMeta:s})},r.onerror=()=>{this.handleError("Image decode error",e,n,s)};let c=r.src;if(c)self.URL.revokeObjectURL(c);let f=new Blob([i],{type:"image/jpeg"});r.src=self.URL.createObjectURL(f)}else this.state=Ve.STOPPED,this.processQueued()}processQueued(){let e=this.queued;if(this.queued=void 0,e)this.loadMediaAt.apply(this,e)}handleError(e,n,s,i){if(!this.hls)return;let r=Error(e);this.hls.trigger(Z.ERROR,{type:Rt.MEDIA_ERROR,details:Le.FRAG_PARSING_ERROR,chunkMeta:i,frag:n,part:s,fatal:!1,error:r,err:r})}_bufferInitSegment(){}bufferFragmentData(e,n,s,i){super.bufferFragmentData(e,n,s,i,!0);let r=Ht(new Uint8Array(e.data1),["mdat"]);if(r.length===0){this.handleError("Could not find I-Frame mdat",n,s,i);return}let a=n;this.cacheSet(a,r[0]),this.updateImage(a,s,i)}fragBufferedComplete(e,n){this.fragmentTracker.fragBuffered(e,!0),super.fragBufferedComplete(e,n),this.processQueued()}checkFragPlaying(){var e;let n=(e=this.fragPrevious)==null?void 0:e.start;if(n!==void 0){let s=this.getAppendedFrag(n);if(s&&!lh(s,this.fragPlaying))return this.fragPlaying=s,!0}return!1}getMainFwdBufferInfo(){return{len:0,start:this.playhead,end:this.playhead,bufferedIndex:-1}}}var f_=10,h_="Image I-Frame player does not accept HTMLMediaElements",L3={seekOnAppend:!0},Bd,Ng;class hv extends $i{constructor(e,n){super("iframes",e.logger);this.hls=void 0,this.stats=void 0,this.variableList=null,this.initPTS=[],this.iframeInstances=void 0,this.instanceCounter=0,Bd||(Bd=u_(n)),Ng||(Ng=d_(Bd)),this.hls=e,this.iframeInstances=[],this.registerListeners()}registerListeners(){let e=this.hls;if(e)e.on(Z.MANIFEST_LOADING,this.clearAsset,this),e.on(Z.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(Z.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(Z.INIT_PTS_FOUND,this.onInitPtsFound,this),e.on(Z.FRAG_BUFFERED,this.onFragBuffered,this),e.on(Z.DESTROYING,this.onDestroying,this)}unregisterListeners(){let e=this.hls;if(e)e.off(Z.MANIFEST_LOADING,this.clearAsset,this),e.off(Z.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(Z.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(Z.INIT_PTS_FOUND,this.onInitPtsFound,this),e.off(Z.FRAG_BUFFERED,this.onFragBuffered,this),e.off(Z.DESTROYING,this.onDestroying,this)}clearAsset(){this.stats=void 0,this.variableList=null,this.initPTS=[],this.iframeInstances.forEach((e)=>e.destroy()),this.iframeInstances.length=0}onDestroying(){this.unregisterListeners(),this.clearAsset(),this.hls=void 0}onManifestLoaded(e,n){this.stats=n.stats,this.variableList=n.variableList}onLevelsUpdated(e,{levels:n}){var s;let i=(s=this.hls)==null?void 0:s.pathwayPriority;if(n.length&&i)this.iframeInstances.forEach((r)=>{r.pathwayPriority=i})}onInitPtsFound(e,{id:n,timestampOffsets:s}){if(n===Tt.MAIN)this.initPTS=s}onFragBuffered(e,n){var s;let i=this.hls;if(!i)return;if(i.hasEnoughToStart&&(((s=i.mainForwardBufferInfo)==null?void 0:s.len)||0)>f_)this.iframeInstances.forEach((r)=>{if(!r.loadingEnabled){var a;r.startLoad(((a=this.hls)==null||(a=a.media)==null?void 0:a.currentTime)||0)}})}createIFramePlayer(e){var n;return this.createInstance(Bd,(n=this.hls)==null?void 0:n.iframeVariants,e)}createImageIFramePlayer(e){var n;let s=(n=this.hls)==null?void 0:n.iframeVariants.filter((i)=>i.imageCodec);return this.createInstance(Ng,s,e,"image-")}createInstance(e,n,s,i){let{hls:r}=this;if(!r)return null;let{url:a,userConfig:l,latestLevelDetails:c,loadLevelObj:f,loadLevel:m,bandwidthEstimate:g,sessionId:b}=r,{stats:v,variableList:k}=this;if(!(n!=null&&n.length)||!v||!a)return null;let T=`${i||""}iframe-player-${this.instanceCounter++}`,_=r.levels,P=f||_[m],U=k9(P,l.videoPreference),z=(P==null?void 0:P.pathwayId)||".",V=Dt(Dt({},l),{},{loggerId:T,primarySessionId:b,videoPreference:U,abrEwmaDefaultEstimate:g,streamController:void 0,audioStreamController:void 0,audioTrackController:void 0,subtitleStreamController:void 0,subtitleTrackController:void 0,timelineController:void 0,id3TrackController:void 0,fpsController:void 0,gapController:void 0,iframeController:void 0,cmcd:void 0,interstitialsController:void 0,backBufferLength:1/0,maxMaxBufferLength:1,capLevelToPlayerSize:!0,enableWorker:!1,autoStartLoad:!1,startFragPrefetch:!1,testBandwidth:!1,progressive:!1},s),X=new e(V,a,this.initPTS,c);return this.iframeInstances=this.iframeInstances.filter((J)=>!J.url),this.iframeInstances.push(X),X.trigger(Z.MANIFEST_LOADED,{levels:n,contentSteering:{uri:"",pathwayId:z},sessionKeys:null,audioTracks:[],iframeVariants:[],sessionData:null,startTimeOffset:null,stats:v,networkDetails:null,url:a,variableList:k}),X}}function u_(e){return class extends e{constructor(s,i,r,a){s.streamController||(s.streamController=Q1);super(s);this._url=i,this.streamController.setInitPts(r),this.streamController.initDetails=a}loadSource(){}loadMediaAt(s,i=L3){if(s<0)return;let r=Dt(Dt({},L3),i);if(!this.loadingEnabled)this.startLoad(s);this.streamController.loadMediaAt(s,r)}}}function d_(e){return class extends e{constructor(s,i,r,a){s.cmcdController=void 0,s.emeController=void 0,s.streamController||(s.streamController=fv),s.capLevelController=void 0,s.bufferController=void 0;super(s,i,r,a)}attachImage(s){this.streamController.image=s}detachImage(){this.streamController.image=void 0}loadSource(){}attachMedia(){throw Error(h_)}detachMedia(){}recoverMediaError(){}transferMedia(){return null}loadMediaAt(s){if(s<0)return null;if(!this.loadingEnabled)this.startLoad(s);this.streamController.loadMediaAt(s)}}}var rl=0.025,h0=function(e){return e[e.Point=0]="Point",e[e.Range=1]="Range",e}({});function m_(e,n,s){return`${e.identifier}-${s+1}-${gh(n)}`}class uv{constructor(e,n){this.base=void 0,this._duration=null,this._timelineStart=null,this.appendInPlaceDisabled=void 0,this.appendInPlaceStarted=void 0,this.dateRange=void 0,this.hasPlayed=!1,this.cumulativeDuration=0,this.resumeOffset=NaN,this.playoutLimit=NaN,this.restrictions={skip:!1,jump:!1},this.snapOptions={out:!1,in:!1},this.assetList=[],this.assetListLoader=void 0,this.assetListResponse=null,this.resumeAnchor=void 0,this.error=void 0,this.resetOnResume=void 0,this.base=n,this.dateRange=e,this.setDateRange(e)}setDateRange(e){this.dateRange=e,this.resumeOffset=e.attr.optionalFloat("X-RESUME-OFFSET",this.resumeOffset),this.playoutLimit=e.attr.optionalFloat("X-PLAYOUT-LIMIT",this.playoutLimit),this.restrictions=e.attr.enumeratedStringList("X-RESTRICT",this.restrictions),this.snapOptions=e.attr.enumeratedStringList("X-SNAP",this.snapOptions)}reset(){var e;if(this.appendInPlaceStarted=!1,(e=this.assetListLoader)==null||e.destroy(),this.assetListLoader=void 0,!this.supplementsPrimary)this.assetListResponse=null,this.assetList=[],this._duration=null}isAssetPastPlayoutLimit(e){var n;if(e>0&&e>=this.assetList.length)return!0;let s=this.playoutLimit;if(e<=0||isNaN(s))return!1;if(s===0)return!0;return(((n=this.assetList[e])==null?void 0:n.startOffset)||0)>s}findAssetIndex(e){return this.assetList.indexOf(e)}get identifier(){return this.dateRange.id}get startDate(){return this.dateRange.startDate}get startTime(){let e=this.dateRange.startTime;if(this.snapOptions.out){let n=this.dateRange.tagAnchor;if(n){if(!O3(n,e))return e;return Wd(e,n)}}return e}get startOffset(){return this.cue.pre?0:this.startTime}get startIsAligned(){if(this.startTime===0||this.snapOptions.out)return!0;let e=this.dateRange.tagAnchor;if(e){let n=this.dateRange.startTime,s=Wd(n,e);return n-s<0.1}return!1}get resumptionOffset(){let e=this.resumeOffset,n=lt(e)?e:this.duration;return this.cumulativeDuration+n}get resumeTime(){let e=this.startOffset+this.resumptionOffset;if(this.snapOptions.in){let n=this.resumeAnchor;if(n){if(!O3(n,e))return e;return Wd(e,n)}}return e}get appendInPlace(){if(this.appendInPlaceStarted)return!0;if(this.appendInPlaceDisabled)return!1;if(!this.cue.once&&!this.cue.pre&&this.startIsAligned&&(isNaN(this.playoutLimit)&&isNaN(this.resumeOffset)||this.resumeOffset&&this.duration&&Math.abs(this.resumeOffset-this.duration)<rl))return!0;return!1}set appendInPlace(e){if(this.appendInPlaceStarted){this.resetOnResume=!e;return}this.appendInPlaceDisabled=!e}get timelineStart(){if(this._timelineStart!==null)return this._timelineStart;return this.startTime}set timelineStart(e){this._timelineStart=e}get duration(){let e=this.playoutLimit,n;if(this._duration!==null)n=this._duration;else if(this.dateRange.duration)n=this.dateRange.duration;else n=this.dateRange.plannedDuration||0;if(!isNaN(e)&&e<n)n=e;return n}set duration(e){this._duration=e}get cue(){return this.dateRange.cue}get timelineOccupancy(){if(this.dateRange.attr["X-TIMELINE-OCCUPIES"]==="RANGE")return h0.Range;return h0.Point}get supplementsPrimary(){return this.dateRange.attr["X-TIMELINE-STYLE"]==="PRIMARY"}get contentMayVary(){return this.dateRange.attr["X-CONTENT-MAY-VARY"]!=="NO"}get assetUrl(){return this.dateRange.attr["X-ASSET-URI"]}get assetListUrl(){return this.dateRange.attr["X-ASSET-LIST"]}get baseUrl(){return this.base.url}get assetListLoaded(){return this.assetList.length>0||this.assetListResponse!==null}toString(){return p_(this)}}function Wd(e,n){return e-n.start<n.duration/2&&!(Math.abs(e-(n.start+n.duration))<rl)?n.start:n.start+n.duration}function O3(e,n){return n>e.start-rl&&n<e.start+e.duration+rl}function dv(e,n,s){let i=new self.URL(e,s);if(i.protocol!=="data:")il(i,"_HLS_primary_id",n);return i}function Bg(e,n){while((s=e.assetList[++n])!=null&&s.error)var s;return n}function p_(e){return`["${e.identifier}" ${e.cue.pre?"<pre>":e.cue.post?"<post>":""}${e.timelineStart.toFixed(2)}-${e.resumeTime.toFixed(2)}]`}function Xc(e){let n=e.timelineStart,s=e.duration||0;return`["${e.identifier}" ${n.toFixed(2)}-${(n+s).toFixed(2)}]`}class mv{constructor(e,n,s,i){this.hls=void 0,this.interstitial=void 0,this.assetItem=void 0,this.tracks=null,this.hasDetails=!1,this.mediaAttached=null,this._currentTime=void 0,this._bufferedEosTime=void 0,this.checkPlayout=()=>{if(this.reachedPlayout(this.currentTime)&&this.hls)this.hls.trigger(Z.PLAYOUT_LIMIT_REACHED,{})};let r=this.hls=new e(n);this.interstitial=s,this.assetItem=i;let a=()=>{this.hasDetails=!0};r.once(Z.LEVEL_LOADED,a),r.once(Z.AUDIO_TRACK_LOADED,a),r.once(Z.SUBTITLE_TRACK_LOADED,a),r.on(Z.MEDIA_ATTACHING,(l,{media:c})=>{if(this.removeMediaListeners(),this.mediaAttached=c,this.interstitial.playoutLimit){if(c.addEventListener("timeupdate",this.checkPlayout),this.appendInPlace)r.on(Z.BUFFER_APPENDED,()=>{let m=this.bufferedEnd;if(this.reachedPlayout(m))this._bufferedEosTime=m,r.trigger(Z.BUFFERED_TO_END,void 0)})}})}get appendInPlace(){return this.interstitial.appendInPlace}loadSource(){let e=this.hls;if(!e)return;if(!e.url){let n=this.assetItem.uri;try{n=dv(n,e.config.primarySessionId||"").href}catch(s){}e.loadSource(n)}else if(e.levels.length&&!e.started)e.startLoad(-1,!0)}bufferedInPlaceToEnd(e,n){var s;if(!this.appendInPlace)return!1;if((s=this.hls)!=null&&s.bufferedToEnd)return!0;if(!e)return!1;let i=Math.min(this._bufferedEosTime||1/0,this.duration),r=this.timelineOffset+(n||0),a=Ft.bufferInfo(e,r,0.02);return this.getAssetTime(a.end)>=i-0.02}reachedPlayout(e){let s=this.interstitial.playoutLimit;return this.startOffset+e>=s}get destroyed(){var e;return!((e=this.hls)!=null&&e.userConfig)}get assetId(){return this.assetItem.identifier}get interstitialId(){return this.assetItem.parentIdentifier}get media(){var e;return((e=this.hls)==null?void 0:e.media)||null}get bufferedEnd(){let e=this.media||this.mediaAttached;if(!e){if(this._bufferedEosTime)return this._bufferedEosTime;return this.currentTime}let n=Ft.bufferInfo(e,e.currentTime,0.001);return this.getAssetTime(n.end)}get currentTime(){let e=this.media||this.mediaAttached;if(!e)return this._currentTime||0;return this.getAssetTime(e.currentTime)}get duration(){let e=this.assetItem.duration;if(!e)return 0;let n=this.interstitial.playoutLimit;if(n){let s=n-this.startOffset;if(s>0&&s<e)return s}return e}get remaining(){let e=this.duration;if(!e)return 0;return Math.max(0,e-this.currentTime)}get startOffset(){return this.assetItem.startOffset}get timelineOffset(){var e;return((e=this.hls)==null?void 0:e.config.timelineOffset)||0}set timelineOffset(e){let n=this.timelineOffset;if(e!==n){let s=e-n;if(Math.abs(s)>0.000011111111111111112&&this.hls){if(this.hasDetails)throw Error("Cannot set timelineOffset after playlists are loaded");this.hls.config.timelineOffset=e}}}getAssetTime(e){let n=this.timelineOffset,s=this.duration;return Math.min(Math.max(0,e-n),s)}removeMediaListeners(){let e=this.mediaAttached;if(e)this._currentTime=e.currentTime,this.bufferSnapShot(),e.removeEventListener("timeupdate",this.checkPlayout)}bufferSnapShot(){if(this.mediaAttached){var e;if((e=this.hls)!=null&&e.bufferedToEnd)this._bufferedEosTime=this.bufferedEnd}}destroy(){if(this.removeMediaListeners(),this.hls)this.hls.destroy();this.hls=null,this.tracks=this.mediaAttached=this.checkPlayout=null}attachMedia(e){var n;this.loadSource(),(n=this.hls)==null||n.attachMedia(e)}detachMedia(){var e;this.removeMediaListeners(),this.mediaAttached=null,(e=this.hls)==null||e.detachMedia()}resumeBuffering(){var e;(e=this.hls)==null||e.resumeBuffering()}pauseBuffering(){var e;(e=this.hls)==null||e.pauseBuffering()}transferMedia(){var e;return this.bufferSnapShot(),((e=this.hls)==null?void 0:e.transferMedia())||null}resetDetails(){let e=this.hls;if(e&&this.hasDetails){e.stopLoad();let n=(s)=>delete s.details;e.levels.forEach(n),e.allAudioTracks.forEach(n),e.allSubtitleTracks.forEach(n),this.hasDetails=!1}}on(e,n,s){var i;(i=this.hls)==null||i.on(e,n)}once(e,n,s){var i;(i=this.hls)==null||i.once(e,n)}off(e,n,s){var i;(i=this.hls)==null||i.off(e,n)}toString(){var e;return`HlsAssetPlayer: ${Xc(this.assetItem)} ${(e=this.hls)==null?void 0:e.sessionId} ${this.appendInPlace?"append-in-place":""}`}}var Hg=0.033;class pv extends $i{constructor(e,n){super("interstitials-sched",n);this.onScheduleUpdate=void 0,this.eventMap={},this.events=null,this.items=null,this.durations={primary:0,playout:0,integrated:0},this.onScheduleUpdate=e}destroy(){this.reset(),this.onScheduleUpdate=null}reset(){if(this.eventMap={},this.setDurations(0,0,0),this.events)this.events.forEach((e)=>e.reset());this.events=this.items=null}resetErrorsInRange(e,n){if(this.events)return this.events.reduce((s,i)=>{if(e<=i.startOffset&&n>i.startOffset)return delete i.error,s+1;return s},0);return 0}get duration(){let e=this.items;return e?e[e.length-1].end:0}get length(){return this.items?this.items.length:0}getEvent(e){return e?this.eventMap[e]||null:null}hasEvent(e){return e in this.eventMap}findItemIndex(e,n){if(e.event)return this.findEventIndex(e.event.identifier);let s=-1;if(e.nextEvent)s=this.findEventIndex(e.nextEvent.identifier)-1;else if(e.previousEvent)s=this.findEventIndex(e.previousEvent.identifier)+1;let i=this.items;if(i){if(!i[s]){if(n===void 0)n=e.start;s=this.findItemIndexAtTime(n)}while(s>=0&&(r=i[s])!=null&&r.event){var r;s--}}return s}findItemIndexAtTime(e,n){let s=this.items;if(s)for(let i=0;i<s.length;i++){let r=s[i];if(n&&n!=="primary")r=r[n];let a=r.start,l=s[i].event,c=l!=null&&l.cue.pre?l.duration:r.end;if(e===a||e>a&&e<c)return i}return-1}findJumpRestrictedIndex(e,n){let s=this.items;if(s)for(let i=e;i<=n;i++){if(!s[i])break;let r=s[i].event;if(r!=null&&r.restrictions.jump&&!r.appendInPlace)return i}return-1}findEventIndex(e){let n=this.items;if(n)for(let i=n.length;i--;){var s;if(((s=n[i].event)==null?void 0:s.identifier)===e)return i}return-1}findAssetIndex(e,n){let s=e.assetList,i=s.length;if(i>1)for(let r=0;r<i;r++){let a=s[r];if(!a.error){let l=a.timelineStart;if(n===l||n>l&&(n<l+(a.duration||0)||r===i-1))return r}}return 0}get assetIdAtEnd(){var e;let n=(e=this.items)==null||(e=e[this.length-1])==null?void 0:e.event;if(n){let s=n.assetList,i=s[s.length-1];if(i)return i.identifier}return null}parseInterstitialDateRanges(e,n,s=0){let i=e.main.details,{dateRanges:r}=i,a=this.events,l=this.parseDateRanges(r,{url:i.url},n),c=Object.keys(r),f=a?a.filter((m)=>c.indexOf(m.identifier)===-1):[];if(l.length)l.sort((m,g)=>{let b=m.cue.pre,v=m.cue.post,k=g.cue.pre,T=g.cue.post;if(b&&!k)return-1;if(k&&!b)return 1;if(v&&!T)return 1;if(T&&!v)return-1;if(!b&&!k&&!v&&!T){let _=m.startTime,P=g.startTime;if(_!==P)return _-P}return m.dateRange.tagOrder-g.dateRange.tagOrder});this.events=l,f.forEach((m)=>{this.removeEvent(m)}),this.updateSchedule(e,f,s)}updateSchedule(e,n=[],s=0,i=!1){let r=this.events||[];if(r.length||n.length||this.length<2){let a=this.items,l=this.parseSchedule(r,e,s);if(i||n.length||(a==null?void 0:a.length)!==l.length||l.some((f,m)=>Math.abs(f.playout.start-a[m].playout.start)>0.005||Math.abs(f.playout.end-a[m].playout.end)>0.005))this.items=l,this.onScheduleUpdate(n,a)}}parseDateRanges(e,n,s){let i=[],r=Object.keys(e);for(let a=0;a<r.length;a++){let l=r[a],c=e[l];if(c.isInterstitial){let f=this.eventMap[l];if(f)f.setDateRange(c);else if(f=new uv(c,n),this.eventMap[l]=f,s===!1)f.appendInPlace=s;i.push(f)}}return i}parseSchedule(e,n,s=0){let i=[],r=n.main.details,a=r.live?1/0:r.edge,l=0;if(e=e.filter((f)=>!f.error&&!(f.cue.once&&f.hasPlayed)),e.length){this.resolveOffsets(e,n);let f=0,m=0;if(e.forEach((g,b)=>{let v=g.cue.pre,k=g.cue.post,T=e[b-1]||null,_=g.appendInPlace,P=k?a:g.startOffset,U=g.duration,z=g.timelineOccupancy===h0.Range?U:0,V=v&&r.live?s+(g.resumeOffset||0):0,X=V||g.resumptionOffset,J=(T==null?void 0:T.startTime)===P,ee=P+g.cumulativeDuration,te=_?ee+U:P+X;if(v||!k&&P<=0){let ie=m;m+=z,g.timelineStart=ee;let se=l;l+=U,i.push({event:g,start:ee,end:te,playout:{start:se,end:l},integrated:{start:ie,end:m}})}else if(P<=a){if(!J){let oe=P-f;if(oe>Hg){let ye=f,Se=m;m+=oe;let me=l;l+=oe;let de={previousEvent:e[b-1]||null,nextEvent:g,start:ye,end:ye+oe,playout:{start:me,end:l},integrated:{start:Se,end:m}};i.push(de)}else if(oe>0&&T)T.cumulativeDuration+=oe,i[i.length-1].end=P}if(k)te=ee;g.timelineStart=ee;let ie=m;m+=z;let se=l;l+=U,i.push({event:g,start:ee,end:te,playout:{start:se,end:l},integrated:{start:ie,end:m}})}else return;let ne=V||g.resumeTime;if(k||ne>a)f=a;else if(!v&&te&&g.appendInPlaceStarted&&ne-te>Hg)f=te;else f=ne}),f<a){var c;let g=f,b=m,v=a-f;m+=v;let k=l;l+=v,i.push({previousEvent:((c=i[i.length-1])==null?void 0:c.event)||null,nextEvent:null,start:f,end:g+v,playout:{start:k,end:l},integrated:{start:b,end:m}})}this.setDurations(a,l,m)}else i.push({previousEvent:null,nextEvent:null,start:0,end:a,playout:{start:0,end:a},integrated:{start:0,end:a}}),this.setDurations(a,a,a);return i}setDurations(e,n,s){this.durations={primary:e,playout:n,integrated:s}}resolveOffsets(e,n){let s=n.main.details,i=s.live?1/0:s.edge,r=0,a=-1;e.forEach((l,c)=>{let f=l.cue.pre,m=l.cue.post,g=f?0:m?i:l.startTime;if(this.updateAssetDurations(l),a===g)l.cumulativeDuration=r;else r=0,a=g;if(!m&&l.snapOptions.in)l.resumeAnchor=Zc(null,s.fragments,l.startOffset+l.resumptionOffset,0,0)||void 0;if(l.appendInPlace&&!l.appendInPlaceStarted){if(!this.primaryCanResumeInPlaceAt(l,n))l.appendInPlace=!1}if(!l.appendInPlace&&c+1<e.length){if(e[c+1].startTime-e[c].resumeTime<Hg){if(e[c+1].appendInPlace=!1,e[c+1].appendInPlace)this.warn(`Could not change append strategy for abutting event ${l}`)}}let v=lt(l.resumeOffset)?l.resumeOffset:l.duration;r+=v})}primaryCanResumeInPlaceAt(e,n){let s=e.resumeTime,i=e.startTime+e.resumptionOffset;if(Math.abs(s-i)>rl)return this.log(`"${e.identifier}" resumption ${s} not aligned with estimated timeline end ${i}`),!1;return!Object.keys(n).some((a)=>{let l=n[a].details,c=l.edge;if(s>=c)return this.log(`"${e.identifier}" resumption ${s} past ${a} playlist end ${c}`),!1;let f=Zc(null,l.fragments,s);if(!f)return this.log(`"${e.identifier}" resumption ${s} does not align with any fragments in ${a} playlist (${l.fragStart}-${l.fragmentEnd})`),!0;let m=a==="audio"?0.175:0;if(!(Math.abs(f.start-s)<rl+m||Math.abs(f.end-s)<rl+m))return this.log(`"${e.identifier}" resumption ${s} not aligned with ${a} fragment bounds (${f.start}-${f.end} sn: ${f.sn} cc: ${f.cc})`),!0;return!1})}updateAssetDurations(e){if(!e.assetListLoaded)return;let n=e.timelineStart,s=0,i=!1,r=!1;for(let a=0;a<e.assetList.length;a++){let l=e.assetList[a],c=n+s;l.startOffset=s,l.timelineStart=c,i||(i=l.duration===null),r||(r=!!l.error);let f=l.error?0:l.duration||0;s+=f}if(i&&!r)e.duration=Math.max(s,e.duration);else e.duration=s}removeEvent(e){e.reset(),delete this.eventMap[e.identifier]}}function dr(e){return`[${e.event?'"'+e.event.identifier+'"':"primary"}: ${e.start.toFixed(2)}-${e.end.toFixed(2)}]`}class gv{constructor(e){this.hls=void 0,this.hls=e}destroy(){this.hls=null}loadAssetList(e,n){let s=e.assetListUrl,i;try{i=dv(s,this.hls.sessionId,e.baseUrl)}catch(b){let v=this.assignAssetListError(e,Le.ASSET_LIST_LOAD_ERROR,b,s);this.hls.trigger(Z.ERROR,v);return}if(n&&i.protocol!=="data:")il(i,"_HLS_start_offset",""+n);let r=this.hls.config,l=new r.loader(r),c={type:tn.INTERSTITIAL_ASSET_LIST,responseType:"json",url:i.href},f=r.interstitialAssetListLoadPolicy.default,m={loadPolicy:f,timeout:f.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0},g={onSuccess:(b,v,k,T)=>{let _=b.data,P=_==null?void 0:_.ASSETS;if(!Array.isArray(P)){let U=this.assignAssetListError(e,Le.ASSET_LIST_PARSING_ERROR,Error("Invalid interstitial asset list"),k.url,v,T);this.hls.trigger(Z.ERROR,U);return}e.assetListResponse=_,this.hls.trigger(Z.ASSET_LIST_LOADED,{event:e,assetListResponse:_,networkDetails:T})},onError:(b,v,k,T)=>{let _=this.assignAssetListError(e,Le.ASSET_LIST_LOAD_ERROR,Error(`Error loading X-ASSET-LIST: HTTP status ${b.code} ${b.text} (${v.url})`),v.url,T,k);this.hls.trigger(Z.ERROR,_)},onTimeout:(b,v,k)=>{let T=this.assignAssetListError(e,Le.ASSET_LIST_LOAD_TIMEOUT,Error(`Timeout loading X-ASSET-LIST (${v.url})`),v.url,b,k);this.hls.trigger(Z.ERROR,T)}};return l.load(c,m,g),this.hls.trigger(Z.ASSET_LIST_LOADING,{event:e}),l}assignAssetListError(e,n,s,i,r,a){return e.error=s,{type:Rt.NETWORK_ERROR,details:n,fatal:!1,interstitial:e,url:i,error:s,networkDetails:a,stats:r}}}function P3(e){var n;e==null||(n=e.play())==null||n.catch(()=>{})}function Vl(e,n){return`[${e}] Advancing timeline position to ${n}`}class bv extends $i{constructor(e,n){super("interstitials",e.logger);this.HlsPlayerClass=void 0,this.hls=void 0,this.assetListLoader=void 0,this.mediaSelection=null,this.altSelection=null,this.media=null,this.detachedData=null,this.requiredTracks=null,this.manager=null,this.playerQueue=[],this.bufferedPos=-1,this.timelinePos=-1,this.schedule=void 0,this.playingItem=null,this.bufferingItem=null,this.waitingItem=null,this.endedItem=null,this.playingAsset=null,this.endedAsset=null,this.bufferingAsset=null,this.bufferPastEdge=!1,this.shouldPlay=!1,this.onPlay=()=>{this.shouldPlay=!0},this.onPause=()=>{this.shouldPlay=!1},this.onSeeking=()=>{let s=this.currentTime;if(s===void 0||this.playbackDisabled||!this.schedule)return;let i=s-this.timelinePos;if(Math.abs(i)<0.0000000014172335600907028)return;let a=i<=-0.01;if(this.timelinePos===-1&&!this.effectivePlayingItem)this.checkStart();this.timelinePos=s,this.bufferedPos=s;let l=this.playingItem;if(!l){this.checkBuffer();return}if(a){if(this.schedule.resetErrorsInRange(s,s-i))this.updateSchedule(!0)}if(this.checkBuffer(),a&&s<l.start||s>=l.end){var c;let v=this.findItemIndex(l),k=this.schedule.findItemIndexAtTime(s);if(k===-1)k=v+(a?-1:1),this.log(`seeked ${a?"back ":""}to position not covered by schedule ${s} (resolving from ${v} to ${k})`);if(!this.isInterstitial(l)&&(c=this.media)!=null&&c.paused)this.shouldPlay=!1;if(!a){if(k>v){let T=this.schedule.findJumpRestrictedIndex(v+1,k);if(T>v){this.setSchedulePosition(T);return}}}this.setSchedulePosition(k);return}let f=this.playingAsset;if(!f){if(this.playingLastItem&&this.isInterstitial(l)){let v=l.event.assetList[0];if(v)this.endedItem=this.playingItem,this.playingItem=null,this.setScheduleToAssetAtTime(s,v)}return}let m=f.timelineStart,g=f.duration||0;if(a&&s<m||s>=m+g){var b;if((b=l.event)!=null&&b.appendInPlace)this.clearAssetPlayers(l.event,l),this.flushFrontBuffer(s);this.setScheduleToAssetAtTime(s,f)}},this.onTimeupdate=()=>{let s=this.currentTime;if(s===void 0||this.playbackDisabled)return;if(this.timelinePos===-1&&!this.effectivePlayingItem)this.checkStart();if(s>this.timelinePos){if(this.timelinePos=s,s>this.bufferedPos)this.checkBuffer()}else return;let i=this.playingItem;if(!i||this.playingLastItem)return;if(s>=i.end){this.timelinePos=i.end;let l=this.findItemIndex(i);this.setSchedulePosition(l+1)}let r=this.playingAsset;if(!r)return;let a=r.timelineStart+(r.duration||0);if(s>=a)this.setScheduleToAssetAtTime(s,r)},this.onScheduleUpdate=(s,i)=>{let r=this.schedule;if(!r)return;let a=this.playingItem,l=r.events||[],c=r.items||[],f=r.durations,m=s.map((T)=>T.identifier),g=!!(l.length||m.length);if(g||i)this.log(`INTERSTITIALS_UPDATED (${l.length}): ${l}
52
+ Schedule: ${c.map((T)=>dr(T))} pos: ${this.timelinePos}`);if(m.length)this.log(`Removed events ${m}`);let b=null,v=null;if(a)if(b=this.updateItem(a,this.timelinePos),this.itemsMatch(a,b))this.playingItem=b;else this.waitingItem=null;this.waitingItem=this.updateItem(this.waitingItem);let k=this.bufferingItem;if(k){if(v=this.updateItem(k,this.bufferedPos),this.itemsMatch(k,v))this.bufferingItem=v;else if(k.event)this.bufferingItem=this.playingItem,this.clearInterstitial(k.event,null)}if(s.forEach((T)=>{T.assetList.forEach((_)=>{this.clearAssetPlayer(_.identifier,null)})}),this.playerQueue.forEach((T)=>{if(T.interstitial.appendInPlace){let _=T.assetItem.timelineStart,P=T.timelineOffset-_;if(P)try{T.timelineOffset=_}catch(U){if(Math.abs(P)>rl)this.warn(`${U} ("${T.assetId}" ${T.timelineOffset}->${_})`)}}}),g||i){if(this.hls.trigger(Z.INTERSTITIALS_UPDATED,{events:l.slice(0),schedule:c.slice(0),durations:f,removedIds:m}),this.isInterstitial(a)&&m.indexOf(a.event.identifier)>-1){this.warn(`Interstitial "${a.event.identifier}" removed while playing`),this.primaryFallback(a.event);return}if(a)this.trimInPlace(b,a);if(k&&v!==b)this.trimInPlace(v,k);this.checkBuffer()}},this.hls=e,this.HlsPlayerClass=n,this.assetListLoader=new gv(e),this.schedule=new pv(this.onScheduleUpdate,e.logger),this.registerListeners()}registerListeners(){let e=this.hls;if(e)e.on(Z.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(Z.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(Z.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Z.LEVEL_UPDATED,this.onLevelUpdated,this),e.on(Z.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.on(Z.AUDIO_TRACK_UPDATED,this.onAudioTrackUpdated,this),e.on(Z.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.on(Z.SUBTITLE_TRACK_UPDATED,this.onSubtitleTrackUpdated,this),e.on(Z.EVENT_CUE_ENTER,this.onInterstitialCueEnter,this),e.on(Z.ASSET_LIST_LOADED,this.onAssetListLoaded,this),e.on(Z.BUFFER_APPENDED,this.onBufferAppended,this),e.on(Z.BUFFER_FLUSHED,this.onBufferFlushed,this),e.on(Z.BUFFERED_TO_END,this.onBufferedToEnd,this),e.on(Z.MEDIA_ENDED,this.onMediaEnded,this),e.on(Z.ERROR,this.onError,this),e.on(Z.DESTROYING,this.onDestroying,this)}unregisterListeners(){let e=this.hls;if(e)e.off(Z.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(Z.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(Z.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Z.LEVEL_UPDATED,this.onLevelUpdated,this),e.off(Z.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.off(Z.AUDIO_TRACK_UPDATED,this.onAudioTrackUpdated,this),e.off(Z.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.off(Z.SUBTITLE_TRACK_UPDATED,this.onSubtitleTrackUpdated,this),e.off(Z.EVENT_CUE_ENTER,this.onInterstitialCueEnter,this),e.off(Z.ASSET_LIST_LOADED,this.onAssetListLoaded,this),e.off(Z.BUFFER_CODECS,this.onBufferCodecs,this),e.off(Z.BUFFER_APPENDED,this.onBufferAppended,this),e.off(Z.BUFFER_FLUSHED,this.onBufferFlushed,this),e.off(Z.BUFFERED_TO_END,this.onBufferedToEnd,this),e.off(Z.MEDIA_ENDED,this.onMediaEnded,this),e.off(Z.ERROR,this.onError,this),e.off(Z.DESTROYING,this.onDestroying,this)}startLoad(){this.resumeBuffering()}stopLoad(){this.pauseBuffering()}resumeBuffering(){var e;(e=this.getBufferingPlayer())==null||e.resumeBuffering()}pauseBuffering(){var e;(e=this.getBufferingPlayer())==null||e.pauseBuffering()}destroy(){if(this.unregisterListeners(),this.stopLoad(),this.assetListLoader)this.assetListLoader.destroy();if(this.emptyPlayerQueue(),this.clearScheduleState(),this.schedule)this.schedule.destroy();this.media=this.detachedData=this.mediaSelection=this.requiredTracks=this.altSelection=this.schedule=this.manager=null,this.hls=this.HlsPlayerClass=null,this.assetListLoader=null,this.onPlay=this.onPause=this.onSeeking=this.onTimeupdate=null,this.onScheduleUpdate=null}onDestroying(){let e=this.primaryMedia||this.media;if(e)this.removeMediaListeners(e)}removeMediaListeners(e){Mn(e,"play",this.onPlay),Mn(e,"pause",this.onPause),Mn(e,"seeking",this.onSeeking),Mn(e,"timeupdate",this.onTimeupdate)}onMediaAttaching(e,n){let s=this.media=n.media;Ln(s,"seeking",this.onSeeking),Ln(s,"timeupdate",this.onTimeupdate),Ln(s,"play",this.onPlay),Ln(s,"pause",this.onPause)}onMediaAttached(e,n){let s=this.effectivePlayingItem,i=this.detachedData;if(this.detachedData=null,s===null)this.checkStart();else if(!i){this.clearScheduleState();let r=this.findItemIndex(s);this.setSchedulePosition(r)}}clearScheduleState(){this.log("clear schedule state"),this.playingItem=this.bufferingItem=this.waitingItem=this.endedItem=this.playingAsset=this.endedAsset=this.bufferingAsset=null}onMediaDetaching(e,n){let s=!!n.transferMedia,i=this.media;if(this.media=null,s)return;if(i)this.removeMediaListeners(i);if(this.detachedData){let r=this.getBufferingPlayer();if(r)this.log(`Removing schedule state for detachedData and ${r}`),this.playingAsset=this.endedAsset=this.bufferingAsset=this.bufferingItem=this.waitingItem=this.detachedData=null,r.detachMedia();this.shouldPlay=!1}}get interstitialsManager(){if(!this.hls)return null;if(this.manager)return this.manager;let e=this,n=()=>e.bufferingItem||e.waitingItem,s=(g)=>g?e.getAssetPlayer(g.identifier):g,i=(g,b,v,k,T)=>{if(g){let _=g[b].start,P=g.event;if(P){if(b==="playout"||P.timelineOccupancy!==h0.Point){let U=s(v);if((U==null?void 0:U.interstitial)===P)_+=U.assetItem.startOffset+U[T]}}else{let U=k==="bufferedPos"?a():e[k];_+=U-g.start}return _}return 0},r=(g,b)=>{var v;if(g!==0&&b!=="primary"&&(v=e.schedule)!=null&&v.length){var k;let T=e.schedule.findItemIndexAtTime(g),_=(k=e.schedule.items)==null?void 0:k[T];if(_){let P=_[b].start-_.start;return g+P}}return g},a=()=>{let g=e.bufferedPos;if(g===Number.MAX_VALUE)return l("primary");return Math.max(g,0)},l=(g)=>{var b,v;if((b=e.primaryDetails)!=null&&b.live)return e.primaryDetails.edge;return((v=e.schedule)==null?void 0:v.durations[g])||0},c=(g,b)=>{var v,k;let T=e.effectivePlayingItem;if(T!=null&&(v=T.event)!=null&&v.restrictions.skip||!e.schedule)return;e.log(`seek to ${g} "${b}"`);let _=e.effectivePlayingItem,P=e.schedule.findItemIndexAtTime(g,b),U=(k=e.schedule.items)==null?void 0:k[P],z=e.getBufferingPlayer(),V=z==null?void 0:z.interstitial,X=V==null?void 0:V.appendInPlace,J=_&&e.itemsMatch(_,U);if(_&&(X||J)){let ee=s(e.playingAsset),te=(ee==null?void 0:ee.media)||e.primaryMedia;if(te){let ne=b==="primary"?te.currentTime:i(_,b,e.playingAsset,"timelinePos","currentTime"),ie=g-ne,se=(X?ne:te.currentTime)+ie;if(se>=0&&(!ee||X||se<=ee.duration)){te.currentTime=se;return}}}if(U){let ee=g;if(b!=="primary"){let ne=U[b].start,ie=g-ne;ee=U.start+ie}let te=!e.isInterstitial(U);if((!e.isInterstitial(_)||_.event.appendInPlace)&&(te||U.event.appendInPlace)){let ne=e.media||(X?z==null?void 0:z.media:null);if(ne)ne.currentTime=ee}else if(_){let ne=e.findItemIndex(_);if(P>ne){let se=e.schedule.findJumpRestrictedIndex(ne+1,P);if(se>ne){e.setSchedulePosition(se);return}}let ie=0;if(te)e.timelinePos=ee,e.checkBuffer();else{let se=U.event.assetList,oe=g-(U[b]||U).start;for(let ye=se.length;ye--;){let Se=se[ye];if(Se.duration&&oe>=Se.startOffset&&oe<Se.startOffset+Se.duration){ie=ye;break}}}e.setSchedulePosition(P,ie)}}},f=()=>{let g=e.effectivePlayingItem;if(e.isInterstitial(g))return g;let b=n();if(e.isInterstitial(b))return b;return null},m={get bufferedEnd(){let g=n(),b=e.bufferingItem;if(b&&b===g){var v;return i(b,"playout",e.bufferingAsset,"bufferedPos","bufferedEnd")-b.playout.start||((v=e.bufferingAsset)==null?void 0:v.startOffset)||0}return 0},get currentTime(){let g=f(),b=e.effectivePlayingItem;if(b&&b===g)return i(b,"playout",e.effectivePlayingAsset,"timelinePos","currentTime")-b.playout.start;return 0},set currentTime(g){let b=f(),v=e.effectivePlayingItem;if(v&&v===b)c(g+v.playout.start,"playout")},get duration(){let g=f();if(g)return g.playout.end-g.playout.start;return 0},get assetPlayers(){var g;let b=(g=f())==null?void 0:g.event.assetList;if(b)return b.map((v)=>e.getAssetPlayer(v.identifier));return[]},get playingIndex(){var g;let b=(g=f())==null?void 0:g.event;if(b&&e.effectivePlayingAsset)return b.findAssetIndex(e.effectivePlayingAsset);return-1},get scheduleItem(){return f()}};return this.manager={get events(){var g;return((g=e.schedule)==null||(g=g.events)==null?void 0:g.slice(0))||[]},get schedule(){var g;return((g=e.schedule)==null||(g=g.items)==null?void 0:g.slice(0))||[]},get interstitialPlayer(){if(f())return m;return null},get playerQueue(){return e.playerQueue.slice(0)},get bufferingAsset(){return e.bufferingAsset},get bufferingItem(){return n()},get bufferingIndex(){let g=n();return e.findItemIndex(g)},get playingAsset(){return e.effectivePlayingAsset},get playingItem(){return e.effectivePlayingItem},get playingIndex(){let g=e.effectivePlayingItem;return e.findItemIndex(g)},primary:{get bufferedEnd(){return a()},get currentTime(){let g=e.timelinePos;return g>0?g:0},set currentTime(g){c(g,"primary")},get duration(){return l("primary")},get seekableStart(){return e.seekableStart}},integrated:{get bufferedEnd(){return i(n(),"integrated",e.bufferingAsset,"bufferedPos","bufferedEnd")},get currentTime(){return i(e.effectivePlayingItem,"integrated",e.effectivePlayingAsset,"timelinePos","currentTime")},set currentTime(g){c(g,"integrated")},get duration(){return l("integrated")},get seekableStart(){return r(e.seekableStart,"integrated")}},skip:()=>{let g=e.effectivePlayingItem,b=g==null?void 0:g.event;if(b&&!b.restrictions.skip){let v=e.findItemIndex(g);if(b.appendInPlace){let k=g.playout.start+g.event.duration;c(k+0.001,"playout")}else e.advanceAfterAssetEnded(b,v,1/0)}}}}get effectivePlayingItem(){return this.waitingItem||this.playingItem||this.endedItem}get effectivePlayingAsset(){return this.playingAsset||this.endedAsset}get playingLastItem(){var e;let n=this.playingItem,s=(e=this.schedule)==null?void 0:e.items;if(!this.playbackStarted||!n||!s)return!1;return this.findItemIndex(n)===s.length-1}get playbackStarted(){return this.effectivePlayingItem!==null}get currentTime(){var e,n;if(this.mediaSelection===null)return;let s=this.waitingItem||this.playingItem;if(this.isInterstitial(s)&&!s.event.appendInPlace)return;let i=this.media;if(!i&&(e=this.bufferingItem)!=null&&(e=e.event)!=null&&e.appendInPlace)i=this.primaryMedia;let r=(n=i)==null?void 0:n.currentTime;if(r===void 0||!lt(r))return;return r}get primaryMedia(){var e;return this.media||((e=this.detachedData)==null?void 0:e.media)||null}isInterstitial(e){return!!(e!=null&&e.event)}retreiveMediaSource(e,n){let s=this.getAssetPlayer(e);if(s)this.transferMediaFromPlayer(s,n)}transferMediaFromPlayer(e,n){let s=e.interstitial.appendInPlace,i=e.media;if(s&&i===this.primaryMedia){if(this.bufferingAsset=null,!n||this.isInterstitial(n)&&!n.event.appendInPlace){if(n&&i){this.detachedData={media:i};return}}let r=e.transferMedia();this.log(`transfer MediaSource from ${e} ${ss(r)}`),this.detachedData=r}else if(n&&i)this.shouldPlay||(this.shouldPlay=!i.paused)}transferMediaTo(e,n){var s,i;if(e.media===n)return;let r=null,a=this.hls,l=e!==a,c=l&&e.interstitial.appendInPlace,f=(s=this.detachedData)==null?void 0:s.mediaSource,m;if(a.media){if(c)r=a.transferMedia(),this.detachedData=r;m="Primary"}else{let k=this.getBufferingPlayer();if(k)r=k.transferMedia(),this.detachedData=r,m=`${k}`;else if(f)m="detached MediaSource";else m="detached media"}if(!r){if(f)r=this.detachedData,this.log(`using detachedData: MediaSource ${ss(r)}`);else if(!this.detachedData||a.media===n){let k=this.playerQueue;if(k.length>1)k.forEach((T)=>{if(l&&T.interstitial.appendInPlace!==c){let _=T.interstitial;if(this.clearInterstitial(T.interstitial,null),_.appendInPlace=!1,_.appendInPlace)this.warn(`Could not change append strategy for queued assets ${_}`)}});this.hls.detachMedia(),this.detachedData={media:n}}}let g=r&&"mediaSource"in r&&((i=r.mediaSource)==null?void 0:i.readyState)!=="closed";if(this.log(`${g?"transfering MediaSource":"attaching media"} to ${l?e:"Primary"} from ${m} (media.currentTime: ${n.currentTime})`),!g&&!l){e.attachMedia(n);return}let b=g&&r?Dt({},r):{media:n},v=this.schedule;if(v&&l){let k=e.assetId===v.assetIdAtEnd;b.overrides={duration:v.duration,endOfStream:k||e.appendInPlace===!1}}if(!g&&c){let k=e,T=k.assetItem.timelineStart;if(T){let _=k.hls,P=Math.max(this.timelinePos-T,Number.EPSILON);if(_.startPosition!==P){if(this.log(`Set ${k} startPosition: ${P}`),_.config.startPosition=P,_.loadingEnabled)_.startLoad(P)}}}e.attachMedia(b)}onInterstitialCueEnter(){this.onTimeupdate()}checkStart(){let e=this.schedule,n=e==null?void 0:e.events,s=this.hls;if(!n||this.playbackDisabled||!this.media||!s)return;if(this.bufferedPos===-1)this.bufferedPos=0;let i=this.timelinePos,r=this.effectivePlayingItem;if(i===-1){if(!s.loadingEnabled){this.log("waiting for startLoad( <startPosition> )");return}let a=s.startPosition;if(this.timelinePos=a,n.length===0)this.setSchedulePosition(0);else if(n[0].cue.pre){this.log(Vl("checkStart (preroll)",a));let l=e.findEventIndex(n[0].identifier);this.setSchedulePosition(l)}else if(a>=0||!this.primaryLive){this.log(Vl("checkStart",a));let l=this.timelinePos=a>0?a:0,c=e.findItemIndexAtTime(l);this.setSchedulePosition(c)}else if(s.liveSyncPosition===0)this.setSchedulePosition(0);else this.log("[checkStart] waiting for live start")}else if(r&&!this.playingItem){this.log(Vl("checkStart (playing item)",r.start));let a=e.findItemIndex(r);this.setSchedulePosition(a)}}advanceAssetBuffering(e,n){let s=e.event,i=s.findAssetIndex(n),r=Bg(s,i);if(!s.isAssetPastPlayoutLimit(r))this.bufferedToEvent(e,r);else if(this.schedule){var a;let l=this.getNextItemIndex(e,!0),c=(a=this.schedule.items)==null?void 0:a[l];if(c)this.bufferedToItem(c)}}livePrerollResumption(e,n){if(e.cue.pre&&this.primaryLive&&!lt(e.resumeOffset)&&this.hls){let s=this.getLiveStartPos();if(n){let i=this.getBufferingPlayer(),r=i!=null&&i.interstitial.cue.pre?i.remaining:0;return s+r}return s}}getNextItemIndex(e,n){if(this.schedule){let s=this.livePrerollResumption(e.event,n);if(s!==void 0)return this.log(`find next item index @${s}`),this.schedule.findItemIndexAtTime(s)}return this.findItemIndex(e)+1}advanceAfterAssetEnded(e,n,s){let i=Bg(e,s);if(!e.isAssetPastPlayoutLimit(i)){if(e.appendInPlace){let r=e.assetList[i];if(r)this.advanceInPlace(r.timelineStart)}this.setSchedulePosition(n,i)}else if(this.schedule){let r=this.schedule.items;if(r){let a=r[n],l=a.event?this.getNextItemIndex(a):n+1,c=r.length;if(l>=c){this.setSchedulePosition(-1);return}let f=e.resumeTime;if(this.timelinePos<f){if(this.log(Vl("advanceAfterAssetEnded",f)),this.timelinePos=f,e.appendInPlace&&!r[l].event)this.hls.startLoad(f+0.01);this.checkBuffer(this.bufferedPos<f)}this.setSchedulePosition(l)}}}setScheduleToAssetAtTime(e,n){let s=this.schedule;if(!s)return;let i=n.parentIdentifier,r=s.getEvent(i);if(r){let a=s.findEventIndex(i),l=s.findAssetIndex(r,e);this.advanceAfterAssetEnded(r,a,l-1)}}setSchedulePosition(e,n){var s;let i=(s=this.schedule)==null?void 0:s.items;if(!i||this.playbackDisabled)return;let r=e>=0?i[e]:null;this.log(`setSchedulePosition ${e}, ${n} (${r?dr(r):r}) pos: ${this.timelinePos}`);let a=this.waitingItem||this.playingItem,l=this.playingLastItem;if(this.isInterstitial(a)){let g=a.event,b=this.playingAsset,v=b==null?void 0:b.identifier,k=v?this.getAssetPlayer(v):null;if(k&&v&&(!this.eventItemsMatch(a,r)||n!==void 0&&v!==g.assetList[n].identifier)){var c;let T=g.findAssetIndex(b);if(this.log(`INTERSTITIAL_ASSET_ENDED ${T+1}/${g.assetList.length} ${Xc(b)}`),this.endedAsset=b,this.playingAsset=null,this.hls.trigger(Z.INTERSTITIAL_ASSET_ENDED,{asset:b,assetListIndex:T,event:g,schedule:i.slice(0),scheduleIndex:e,player:k}),a!==this.playingItem){if(this.itemsMatch(a,this.playingItem)&&!this.playingAsset)this.advanceAfterAssetEnded(g,this.findItemIndex(this.playingItem),T);return}if(this.retreiveMediaSource(v,r),k.media&&!((c=this.detachedData)!=null&&c.mediaSource))k.detachMedia()}if(!this.eventItemsMatch(a,r)){if(this.endedItem=a,this.playingItem=this.waitingItem=null,this.log(`INTERSTITIAL_ENDED ${g} ${dr(a)}`),g.hasPlayed=!0,this.hls.trigger(Z.INTERSTITIAL_ENDED,{event:g,schedule:i.slice(0),scheduleIndex:e}),g.cue.once&&this.hls){var f;this.updateSchedule();let T=(f=this.schedule)==null?void 0:f.items;if(r&&T){let _=this.findItemIndex(r),P=this.livePrerollResumption(g);if(P!==void 0){let U=P,z=this.getNextItemIndex(a);if(!this.isInterstitial(i[z])){var m;let V=(m=this.primaryDetails)==null?void 0:m.fragments;if(g.snapOptions.in&&V){let X=Zc(null,V,P);if(X)U=Math.min(Math.max(i[z].start,Wd(U,X)),i[z].end)}}if(this.log(Vl("live join (preroll)",U)),this.timelinePos=U,z!==_&&(z||z===0)){this.advanceSchedule(z,T,void 0,a,l);return}}this.advanceSchedule(_,T,n,a,l)}return}}}this.advanceSchedule(e,i,n,a,l)}advanceSchedule(e,n,s,i,r){let a=this.schedule;if(!a)return;let l=n[e]||null,c=this.primaryMedia,f=this.playerQueue;if(f.length)f.forEach((m)=>{let g=m.interstitial,b=a.findEventIndex(g.identifier);if(b<e||b>e+1)this.clearInterstitial(g,l)});if(this.isInterstitial(l)){this.timelinePos=Math.min(Math.max(this.timelinePos,l.start),l.end);let m=l.event;if(s===void 0){s=m.cue.pre?0:a.findAssetIndex(m,this.timelinePos);let k=Bg(m,s-1);if(m.isAssetPastPlayoutLimit(k)||m.appendInPlace&&this.timelinePos===l.end){this.advanceAfterAssetEnded(m,e,s);return}s=k}let g=this.waitingItem;if(!this.assetsBuffered(l,c))this.setBufferingItem(l);let b=this.preloadAssets(m,s);if(!this.eventItemsMatch(l,g||i))this.waitingItem=l,this.log(`INTERSTITIAL_STARTED ${dr(l)} ${m.appendInPlace?"append in place":""}`),m.hasPlayed=!1,this.hls.trigger(Z.INTERSTITIAL_STARTED,{event:m,schedule:n.slice(0),scheduleIndex:e});if(!m.assetListLoaded){this.log(`Waiting for ASSET-LIST to complete loading ${m}`);return}if(m.assetListLoader)m.assetListLoader.destroy(),m.assetListLoader=void 0;if(!c){this.log(`Waiting for attachMedia to start Interstitial ${m}`);return}this.waitingItem=this.endedItem=null,this.playingItem=l;let v=m.assetList[s];if(!v){this.advanceAfterAssetEnded(m,e,s||0);return}if(!b)b=this.getAssetPlayer(v.identifier);if(b===null||b.destroyed){let k=m.assetList.length;this.warn(`asset ${s+1}/${k} player destroyed ${m}`),b=this.createAssetPlayer(m,v,s),b.loadSource()}if(!this.eventItemsMatch(l,this.bufferingItem)){if(m.appendInPlace&&this.isAssetBuffered(v))return}if(this.startAssetPlayer(b,s,n,e,c),this.shouldPlay)P3(b.media)}else if(l){if(this.resumePrimary(l,e,i),this.shouldPlay)P3(this.hls.media)}else if(r&&this.isInterstitial(i)){if(this.endedItem=null,this.playingItem=i,!i.event.appendInPlace)this.attachPrimary(a.durations.primary,null)}}get playbackDisabled(){return this.hls.config.enableInterstitialPlayback===!1}get primaryDetails(){var e;return(e=this.mediaSelection)==null?void 0:e.main.details}get primaryLive(){var e;return!!((e=this.primaryDetails)!=null&&e.live)}resumePrimary(e,n,s){var i,r;this.playingItem=e,this.playingAsset=this.endedAsset=null,this.waitingItem=null,this.bufferedToItem(e),this.endedItem=null,this.log(`resuming ${dr(e)}`);let a=this.timelinePos;if(!((i=this.detachedData)!=null&&i.mediaSource)){if(a<e.start||a>=e.end||a<this.seekableStart)a=this.getPrimaryResumption(e,n),this.log(Vl("resumePrimary",a)),this.timelinePos=a;this.attachPrimary(a,e)}else if(this.primaryLive)this.startLoadingPrimaryAt(a);if(!s)return;let l=(r=this.schedule)==null?void 0:r.items;if(!l)return;this.log(`INTERSTITIALS_PRIMARY_RESUMED ${dr(e)}`),this.hls.trigger(Z.INTERSTITIALS_PRIMARY_RESUMED,{schedule:l.slice(0),scheduleIndex:n}),this.checkBuffer()}get seekableStart(){var e;return this.primaryLive?((e=this.primaryDetails)==null?void 0:e.fragmentStart)||0:0}getPrimaryResumption(e,n,s){let i=e.start;if(this.primaryLive){if(n===0)return this.hls.startPosition;let r=this.endedItem||this.playingItem,a=r!=null&&r.event?this.livePrerollResumption(r.event,s):void 0;if(a!==void 0)return a;let l=this.primaryDetails;if(l){let{fragmentStart:c,edge:f}=l;if(i<c||i>f&&!s){let m=this.hls.liveSyncPosition;return this.log(`primary resumption out of bounds (${i} [${c}-${f}]) snapping to liveSync ${m}`),m||c}}}return this.log(`primary resumption itemStart: ${i}`),i}getLiveStartPos(){var e;let n=this.hls.startPosition,s=this.hls.liveSyncPosition||0,i=(((e=this.primaryDetails)==null?void 0:e.targetduration)||10)*3;if(n===-1||s&&s-n<i)return s||0;return n}isAssetBuffered(e){let n=this.getAssetPlayer(e.identifier);if(n!=null&&n.hls)return n.hls.bufferedToEnd;return Ft.bufferInfo(this.primaryMedia,this.timelinePos,0).end+1>=e.timelineStart+(e.duration||0)}attachPrimary(e,n,s){if(n)this.setBufferingItem(n);else this.bufferingItem=this.playingItem;this.bufferingAsset=null;let i=this.primaryMedia;if(!i)return;let r=this.hls;if(r.media)this.checkBuffer();else if(this.transferMediaTo(r,i),s)this.startLoadingPrimaryAt(e,s);if(!s)this.log(Vl("attachPrimary",e)),this.timelinePos=e,this.startLoadingPrimaryAt(e,s)}startLoadingPrimaryAt(e,n){let s=this.hls,{loadingEnabled:i,bufferingEnabled:r,startPosition:a}=s,l=s.hasEnoughToStart;if(this.log(`Start loading primary @${e} bufferedPos: ${this.bufferedPos} startPosition: ${a} skip seek: ${n} has enough ${l} loadingEnabled: ${i} bufferingEnabled: ${r}`),!n&&l||!i||Math.abs(a-e)>0.1){let c=this.primaryDetails;if(c!=null&&c.live&&e+0.5>=c.edge){let f=this.bufferingItem;this.log(`Resume primary loading when live passes ${e} buffering item: ${f?dr(f):null}`),s.pauseBuffering(),this.bufferPastEdge=!0;return}s.startLoad(e,n)}else if(!r)s.resumeBuffering()}onManifestLoading(){var e;this.stopLoad(),(e=this.schedule)==null||e.reset(),this.emptyPlayerQueue(),this.clearScheduleState(),this.shouldPlay=!1,this.bufferedPos=this.timelinePos=-1,this.mediaSelection=this.altSelection=this.manager=this.requiredTracks=null,this.hls.off(Z.BUFFER_CODECS,this.onBufferCodecs,this),this.hls.on(Z.BUFFER_CODECS,this.onBufferCodecs,this)}onLevelUpdated(e,n){if(n.level===-1||!this.schedule)return;let s=this.hls.levels[n.level];if(!s.details)return;let i=Dt(Dt({},this.mediaSelection||this.altSelection),{},{main:s});this.mediaSelection=i;let r=this.hls.startPosition;if(this.schedule.parseInterstitialDateRanges(i,this.hls.config.interstitialAppendInPlace,r===-1?0:r),!this.schedule.items)return;if(!this.effectivePlayingItem)this.checkStart();else if(this.bufferPastEdge){let l=this.primaryDetails,c=this.bufferedPos;if(l!=null&&l.live&&c+0.5<l.edge){this.bufferPastEdge=!1;let f=this.bufferingItem;if(this.log(`Live edge ${l.edge} passed buffer: ${c} buffering item: ${f?dr(f):null}`),(f==null?void 0:f.end)===1/0){let g=this.playingItem,b=this.isInterstitial(g)&&g.event.appendInPlace;this.hls.startLoad(Math.max(c,f.start),b)}else{let g=this.getBufferingPlayer();if(g){if(g.bufferedInPlaceToEnd(this.primaryMedia,g.currentTime)&&g.hls)g.hls.trigger(Z.BUFFERED_TO_END,void 0)}}}}}onAudioTrackUpdated(e,n){let s=this.hls.audioTracks[n.id],i=this.mediaSelection;if(!i){this.altSelection=Dt(Dt({},this.altSelection),{},{audio:s});return}let r=Dt(Dt({},i),{},{audio:s});this.mediaSelection=r}onSubtitleTrackUpdated(e,n){let s=this.hls.subtitleTracks[n.id],i=this.mediaSelection;if(!i){this.altSelection=Dt(Dt({},this.altSelection),{},{subtitles:s});return}let r=Dt(Dt({},i),{},{subtitles:s});this.mediaSelection=r}onAudioTrackSwitching(e,n){let s=q5(n);this.playerQueue.forEach(({hls:i})=>i&&(i.setAudioOption(n)||i.setAudioOption(s)))}onSubtitleTrackSwitch(e,n){let s=q5(n);this.playerQueue.forEach(({hls:i})=>i&&(i.setSubtitleOption(n)||n.id!==-1&&i.setSubtitleOption(s)))}onBufferCodecs(e,n){let s=n.tracks;if(s)this.requiredTracks=s}onBufferAppended(e,n){this.checkBuffer()}onBufferFlushed(e,n){let s=this.playingItem;if(s&&!this.itemsMatch(s,this.bufferingItem)&&!this.isInterstitial(s)){let i=this.timelinePos;this.bufferedPos=i,this.checkBuffer()}}onBufferedToEnd(e){if(!this.schedule)return;let n=this.schedule.events;if(this.bufferedPos<Number.MAX_VALUE&&n){for(let s=0;s<n.length;s++){let i=n[s];if(i.cue.post){let r=this.getEventItem(i.identifier);if(r&&this.eventItemsMatch(r,this.bufferingItem))this.bufferedToItem(r,0);break}}this.bufferedPos=Number.MAX_VALUE}}onMediaEnded(e){let n=this.playingItem;if(!this.playingLastItem&&n){let s=this.findItemIndex(n);this.setSchedulePosition(s+1)}else this.shouldPlay=!1}updateItem(e,n){var s;let i=(s=this.schedule)==null?void 0:s.items;if(e&&i){let r=this.findItemIndex(e,n);return i[r]||null}return null}trimInPlace(e,n){if(this.isInterstitial(e)&&e.event.appendInPlace&&n.end-e.end>0.25){e.event.assetList.forEach((r,a)=>{if(e.event.isAssetPastPlayoutLimit(a))this.clearAssetPlayer(r.identifier,null)});let s=e.end+0.25,i=Ft.bufferInfo(this.primaryMedia,s,0);if(i.end>s||(i.nextStart||0)>s){this.log(`trim buffered interstitial ${dr(e)} (was ${dr(n)})`);let r=!0;this.attachPrimary(s,null,r),this.flushFrontBuffer(s)}}}itemsMatch(e,n){return!!n&&(e===n||e.event&&n.event&&this.eventItemsMatch(e,n)||!e.event&&!n.event&&this.findItemIndex(e)===this.findItemIndex(n))}eventItemsMatch(e,n){var s;return!!n&&(e===n||e.event.identifier===((s=n.event)==null?void 0:s.identifier))}findEventIndex(e){return this.schedule?this.schedule.findEventIndex(e):-1}getEventItem(e){if(this.schedule){var n;let s=(n=this.schedule.items)==null?void 0:n[this.findEventIndex(e)];if(this.isInterstitial(s)&&s.event.identifier===e)return s}}findItemIndex(e,n){return e&&this.schedule?this.schedule.findItemIndex(e,n):-1}updateSchedule(e=!1){var n,s;let i=this.mediaSelection;if(!i)return;let r=((n=this.hls)==null?void 0:n.liveSyncPosition)||0;(s=this.schedule)==null||s.updateSchedule(i,[],r,e)}checkBuffer(e){var n;let s=(n=this.schedule)==null?void 0:n.items;if(!s)return;let i=Ft.bufferInfo(this.primaryMedia,this.timelinePos,0);if(e)this.bufferedPos=this.timelinePos;e||(e=i.len<1),this.updateBufferedPos(i.end,s,e)}updateBufferedPos(e,n,s){let i=this.schedule,r=this.bufferingItem;if(this.bufferedPos>e||!i)return;if(n.length===1&&this.itemsMatch(n[0],r)){this.bufferedPos=e;return}let a=this.playingItem,l=this.findItemIndex(a),c=i.findItemIndexAtTime(e);if(this.bufferedPos<e){var f;let m=this.findItemIndex(r),g=Math.min(m+1,n.length-1),b=n[g];if(c===-1&&r&&e>=r.end||(f=b.event)!=null&&f.appendInPlace&&e+0.01>=b.start)c=g;if(this.isInterstitial(r)){let v=r.event;if(g-l>1&&v.appendInPlace===!1)return;if(v.assetList.length===0&&v.assetListLoader)return}if(this.bufferedPos=e,c>m&&c>l)this.bufferedToItem(b);else{let v=this.primaryDetails;if(this.primaryLive&&v&&e>v.edge-v.targetduration&&b.start<v.edge+this.hls.config.interstitialLiveLookAhead&&this.isInterstitial(b))this.preloadAssets(b.event,0)}}else if(s&&a&&!this.itemsMatch(a,r)){if(c===l)this.bufferedToItem(a);else if(c===l+1)this.bufferedToItem(n[c])}}assetsBuffered(e,n){if(e.event.assetList.length===0)return!1;return!e.event.assetList.some((i)=>{let r=this.getAssetPlayer(i.identifier);return!(r!=null&&r.bufferedInPlaceToEnd(n))})}setBufferingItem(e){let n=this.bufferingItem,s=this.schedule;if(!this.itemsMatch(e,n)&&s){let{items:i,events:r}=s;if(!i||!r)return n;let a=this.isInterstitial(e),l=this.getBufferingPlayer();this.bufferingItem=e,this.bufferedPos=Math.max(e.start,Math.min(e.end,this.timelinePos));let c=l?l.remaining:n?n.end-this.timelinePos:0;if(this.log(`INTERSTITIALS_BUFFERED_TO_BOUNDARY ${dr(e)}`+(n?` (${c.toFixed(2)} remaining)`:"")),!this.playbackDisabled)if(a){let f=s.findAssetIndex(e.event,this.bufferedPos);e.event.assetList.forEach((m,g)=>{let b=this.getAssetPlayer(m.identifier);if(b){if(g===f)b.loadSource();b.resumeBuffering()}})}else this.hls.resumeBuffering(),this.playerQueue.forEach((f)=>f.pauseBuffering());this.hls.trigger(Z.INTERSTITIALS_BUFFERED_TO_BOUNDARY,{events:r.slice(0),schedule:i.slice(0),bufferingIndex:this.findItemIndex(e),playingIndex:this.findItemIndex(this.playingItem)})}else if(this.bufferingItem!==e)this.bufferingItem=e;return n}bufferedToItem(e,n=0){let s=this.setBufferingItem(e);if(this.playbackDisabled)return;if(this.isInterstitial(e))this.bufferedToEvent(e,n);else if(s!==null){this.bufferingAsset=null;let i=this.getPrimaryResumption(e,this.findItemIndex(e),!0),r=this.bufferedPos=Math.max(i,Math.min(this.bufferedPos,e.end),this.timelinePos,e.start),a=this.detachedData;if(a)if(a.mediaSource)this.attachPrimary(r,e,!0);else this.startLoadingPrimaryAt(r);else{let l=this.playingItem,c=this.isInterstitial(l)&&l.event.appendInPlace;this.startLoadingPrimaryAt(r,c)}}}bufferedToEvent(e,n){let s=e.event,i=s.assetList.length===0&&!s.assetListLoader,r=s.cue.once;if(i||!r){let a=this.preloadAssets(s,n);if(a!=null&&a.interstitial.appendInPlace){let l=this.primaryMedia;if(l)this.bufferAssetPlayer(a,l)}}}preloadAssets(e,n){let s=e.assetUrl,i=e.assetList.length,r=i===0&&!e.assetListLoader,a=e.cue.once;if(r){let c=e.timelineStart,f=this.playingItem,m=this.getBufferingPlayer();if(e.appendInPlace){var l;if(!this.isInterstitial(f)&&(f==null||(l=f.nextEvent)==null?void 0:l.identifier)===e.identifier)this.flushFrontBuffer(c+0.25)}let g,b=0;if((!m||m.interstitial.cue.pre)&&this.primaryLive){if(b=this.getLiveStartPos(),m)b+=m.remaining}if(b&&!(e.cue.pre||e.cue.post)){let k=b-c;if(k>0)g=Math.round(k*1000)/1000}if(this.log(`Load interstitial asset ${n+1}/${s?1:i} ${e}${b?` live-start: ${b} start-offset: ${g} (timeline-start: ${c})`:""}`),s)return this.createAsset(e,0,0,c,e.duration,s);let v=this.assetListLoader.loadAssetList(e,g);if(v)e.assetListLoader=v}else if(!a&&i){for(let f=n;f<i;f++){let m=e.assetList[f],g=this.getAssetPlayerQueueIndex(m.identifier);if((g===-1||this.playerQueue[g].destroyed)&&!m.error)this.createAssetPlayer(e,m,f)}let c=e.assetList[n];if(c){let f=this.getAssetPlayer(c.identifier);if(f)f.loadSource();return f}}return null}flushFrontBuffer(e){let n=this.requiredTracks;if(!n)return;let s=this.primaryDetails;if(s&&e>=s.edge)return;this.log(`Removing front buffer starting at ${e}`),Object.keys(n).forEach((r)=>{this.hls.trigger(Z.BUFFER_FLUSHING,{startOffset:e,endOffset:1/0,type:r})})}getAssetPlayerQueueIndex(e){let n=this.playerQueue;for(let s=0;s<n.length;s++)if(e===n[s].assetId)return s;return-1}getAssetPlayer(e){let n=this.getAssetPlayerQueueIndex(e);return this.playerQueue[n]||null}getBufferingPlayer(){let{playerQueue:e,primaryMedia:n}=this;if(n){for(let s=0;s<e.length;s++)if(e[s].media===n)return e[s]}return null}createAsset(e,n,s,i,r,a){let l={parentIdentifier:e.identifier,identifier:m_(e,a,n),duration:r,startOffset:s,timelineStart:i,uri:a};return this.createAssetPlayer(e,l,n)}createAssetPlayer(e,n,s){let i=this.hls,r=i.userConfig,a=i.loadLevelObj||i.levels[i.currentLevel],l=k9(a,r.videoPreference),c=i.audioTracks[i.audioTrack],f=i.subtitleTracks[i.subtitleTrack],m=0;if(this.primaryLive||e.appendInPlace){let V=this.timelinePos-n.timelineStart;if(V>=0){let X=n.duration;if(X&&V<X)m=V}}let g=n.identifier,b=Dt(Dt({},r),{},{maxMaxBufferLength:Math.min(15,i.config.maxMaxBufferLength),autoStartLoad:!0,startFragPrefetch:!0,primarySessionId:i.sessionId,assetPlayerId:g,abrEwmaDefaultEstimate:i.bandwidthEstimate,interstitialsController:void 0,startPosition:m,liveDurationInfinity:!1,testBandwidth:!1,videoPreference:l,audioPreference:c||r.audioPreference,subtitlePreference:f||r.subtitlePreference});if(e.appendInPlace){if(e.appendInPlaceStarted=!0,n.timelineStart)b.timelineOffset=n.timelineStart}let v=b.cmcd;if(v!=null&&v.sessionId&&v.contentId)b.cmcd=Nn({},v,{contentId:gh(n.uri)});if(this.getAssetPlayer(g))this.warn(`Duplicate date range identifier ${e} and asset ${g}`);let k=new mv(this.HlsPlayerClass,b,e,n);this.playerQueue.push(k),e.assetList[s]=n;let T=!0,_=(V)=>{if(V.live){let ee=Error(`Interstitials MUST be VOD assets ${e}`),te={fatal:!0,type:Rt.OTHER_ERROR,details:Le.INTERSTITIAL_ASSET_ITEM_ERROR,error:ee},ne=this.findEventIndex(e.identifier);this.handleAssetItemError(te,e,ne,s,ee.message);return}let X=V.edge-V.fragmentStart,J=n.duration;if(T||J===null||X>J)T=!1,this.log(`Interstitial asset "${g}" duration change ${J} > ${X}`),n.duration=X,this.updateSchedule()};k.on(Z.LEVEL_UPDATED,(V,{details:X})=>_(X)),k.on(Z.LEVEL_PTS_UPDATED,(V,{details:X})=>_(X)),k.on(Z.EVENT_CUE_ENTER,()=>this.onInterstitialCueEnter());let P=(V,X)=>{let J=this.getAssetPlayer(g);if(J&&X.tracks){J.off(Z.BUFFER_CODECS,P),J.tracks=X.tracks;let ee=this.primaryMedia;if(this.bufferingAsset===J.assetItem&&ee&&!J.media)this.bufferAssetPlayer(J,ee)}};k.on(Z.BUFFER_CODECS,P);let U=()=>{let V=this.getAssetPlayer(g);if(this.log(`buffered to end of asset ${V}`),!V||!this.schedule)return;let X=this.getEventItem(e.identifier);if(X)this.advanceAssetBuffering(X,V.assetItem)};k.on(Z.BUFFERED_TO_END,U);let z=(V)=>()=>{if(!this.getAssetPlayer(g)||!this.schedule)return;this.shouldPlay=!0;let J=this.findEventIndex(e.identifier);this.advanceAfterAssetEnded(e,J,V)};return k.once(Z.MEDIA_ENDED,z(s)),k.once(Z.PLAYOUT_LIMIT_REACHED,z(1/0)),k.on(Z.ERROR,(V,X)=>{if(!this.schedule)return;let J=this.getAssetPlayer(g);if(X.details===Le.BUFFER_STALLED_ERROR){if(J!=null&&J.appendInPlace){this.handleInPlaceStall(e);return}this.onTimeupdate(),this.checkBuffer(!0);return}else if(X.details===Le.BUFFER_SEEK_OVER_HOLE)return;this.handleAssetItemError(X,e,this.findEventIndex(e.identifier),s,`Asset player error ${X.error} ${e}`)}),k.on(Z.DESTROYING,()=>{if(!this.getAssetPlayer(g)||!this.schedule)return;let X=Error(`Asset player destroyed unexpectedly ${g}`),J={fatal:!0,type:Rt.OTHER_ERROR,details:Le.INTERSTITIAL_ASSET_ITEM_ERROR,error:X};this.handleAssetItemError(J,e,this.findEventIndex(e.identifier),s,X.message)}),this.log(`INTERSTITIAL_ASSET_PLAYER_CREATED ${Xc(n)}`),this.hls.trigger(Z.INTERSTITIAL_ASSET_PLAYER_CREATED,{asset:n,assetListIndex:s,event:e,player:k}),k}clearInterstitial(e,n){this.clearAssetPlayers(e,n),e.reset()}clearAssetPlayers(e,n){e.assetList.forEach((s)=>{this.clearAssetPlayer(s.identifier,n)})}resetAssetPlayer(e){let n=this.getAssetPlayerQueueIndex(e);if(n!==-1){this.log(`reset asset player "${e}" after error`);let s=this.playerQueue[n];this.transferMediaFromPlayer(s,null),s.resetDetails()}}clearAssetPlayer(e,n){let s=this.getAssetPlayerQueueIndex(e);if(s!==-1){let i=this.playerQueue[s];this.log(`clear ${i} toSegment: ${n?dr(n):n}`),this.transferMediaFromPlayer(i,n),this.playerQueue.splice(s,1),i.destroy()}}emptyPlayerQueue(){let e;while(e=this.playerQueue.pop())e.destroy();this.playerQueue=[]}startAssetPlayer(e,n,s,i,r){let{interstitial:a,assetItem:l,assetId:c}=e,f=a.assetList.length,m=this.playingAsset;if(this.endedAsset=null,this.playingAsset=l,(m==null?void 0:m.identifier)!==c){if(m)this.clearAssetPlayer(m.identifier,s[i]),delete m.error;this.log(`INTERSTITIAL_ASSET_STARTED ${n+1}/${f} ${Xc(l)}`),this.hls.trigger(Z.INTERSTITIAL_ASSET_STARTED,{asset:l,assetListIndex:n,event:a,schedule:s.slice(0),scheduleIndex:i,player:e})}this.bufferAssetPlayer(e,r)}bufferAssetPlayer(e,n){var s;if(!this.schedule)return;let{interstitial:i,assetItem:r}=e,a=this.getEventItem(i.identifier);if(!a)return;if(e.loadSource(),this.setBufferingItem(a),this.bufferingAsset=r,e.bufferedInPlaceToEnd(this.primaryMedia,e.currentTime)){this.advanceAssetBuffering(a,r);return}let l=this.getBufferingPlayer();if(l===e)return;let c=i.appendInPlace;if(c&&(l==null?void 0:l.interstitial.appendInPlace)===!1)return;let f=(l==null?void 0:l.tracks)||((s=this.detachedData)==null?void 0:s.tracks)||this.requiredTracks;if(c&&r!==this.playingAsset){if(!e.tracks){this.log(`Waiting for track info before buffering ${e}`);return}if(f&&!Y3(f,e.tracks)){let m=Error(`Asset ${Xc(r)} SourceBuffer tracks ('${Object.keys(e.tracks)}') are not compatible with primary content tracks ('${Object.keys(f)}')`),g={fatal:!0,type:Rt.OTHER_ERROR,details:Le.INTERSTITIAL_ASSET_ITEM_ERROR,error:m},b=i.findAssetIndex(r);this.handleAssetItemError(g,i,this.findEventIndex(i.identifier),b,m.message);return}}this.transferMediaTo(e,n)}handleInPlaceStall(e){let n=this.schedule,s=this.primaryMedia;if(!n||!s)return;let i=s.currentTime,r=n.findAssetIndex(e,i),a=e.assetList[r];if(a){let l=this.getAssetPlayer(a.identifier);if(l){let c=l.currentTime||i-a.timelineStart,f=l.duration-c;if(this.warn(`Stalled at ${c} of ${c+f} in ${l} ${e} (media.currentTime: ${i})`),c&&(f/s.playbackRate<0.5||l.bufferedInPlaceToEnd(s,l.currentTime))&&l.hls){let m=n.findEventIndex(e.identifier);this.advanceAfterAssetEnded(e,m,r)}}}}advanceInPlace(e){let n=this.primaryMedia;if(n&&n.currentTime<e){let s=`advance currentTime to ${e}, duration: ${n.duration}`;if(n.duration>e)this.log(s),n.currentTime=e;else this.log(`Cannot ${s}`)}}handleAssetItemError(e,n,s,i,r){if(e.details===Le.BUFFER_STALLED_ERROR)return;let a=n.assetList[i]||null;if(this.warn(`INTERSTITIAL_ASSET_ERROR ${a?Xc(a):a} ${e.error}`),!this.schedule)return;let l=(a==null?void 0:a.identifier)||"",c=this.getAssetPlayerQueueIndex(l),f=this.playerQueue[c]||null,m=this.schedule.items,g=Nn({},e,{fatal:!1,errorAction:dh(!0),asset:a,assetListIndex:i,event:n,schedule:m,scheduleIndex:s,player:f});if(this.hls.trigger(Z.INTERSTITIAL_ASSET_ERROR,g),!e.fatal)return;let b=this.playingAsset,v=this.bufferingAsset,k=Error(r);if(a)this.clearAssetPlayer(l,null),a.error=k;if(!n.assetList.some((T)=>!T.error))n.error=k;else for(let T=i;T<n.assetList.length;T++)this.resetAssetPlayer(n.assetList[T].identifier);if(this.updateSchedule(!0),n.error)this.primaryFallback(n);else if((b==null?void 0:b.identifier)===l)this.advanceAfterAssetEnded(n,s,i);else if((v==null?void 0:v.identifier)===l&&this.isInterstitial(this.bufferingItem))this.advanceAssetBuffering(this.bufferingItem,v)}primaryFallback(e){let n=e.timelineStart,s=this.effectivePlayingItem,i=this.playingItem,r=this.seekableStart,a=this.hls.startPosition,l=this.timelinePos;if(this.isInterstitial(s)){if(this.log(`Fallback to primary from event "${e.identifier}" start: ${n} pos: ${l} playing: ${dr(s)} startPosition: ${a} seekableStart: ${r} error: ${e.error}`),l===-1)l=a;l=Math.max(l,r);let f=this.updateItem(s,l);if(this.itemsMatch(s,f))this.clearInterstitial(e,null);if(e.appendInPlace)this.attachPrimary(n,null),this.flushFrontBuffer(n)}else if(l===-1){this.checkStart();return}if(!this.schedule)return;if(!this.isInterstitial(i))return;let c=this.schedule.findItemIndexAtTime(l);this.setSchedulePosition(c)}onAssetListLoaded(e,n){var s,i;let r=n.event,a=r.identifier,l=n.assetListResponse.ASSETS;if(!((s=this.schedule)!=null&&s.hasEvent(a)))return;let{timelineStart:c,duration:f}=r,m=0;l.forEach((k,T)=>{let _=parseFloat(k.DURATION);this.createAsset(r,T,m,c+m,_,k.URI),m+=_}),r.duration=m,this.log(`Loaded asset-list with duration: ${m} (was: ${f}) ${r}`);let g=this.waitingItem,b=(g==null?void 0:g.event.identifier)===a;this.updateSchedule();let v=(i=this.bufferingItem)==null?void 0:i.event;if(b){let k=this.findEventIndex(a),T=this.getEventItem(a);if(T){if(!this.playingItem&&this.timelinePos>T.end){if(this.schedule.findItemIndexAtTime(this.timelinePos)!==k){r.error=Error(`Interstitial ${l.length?"no longer within playback range":"asset-list is empty"} ${this.timelinePos} ${r}`),this.log(r.error.message),this.updateSchedule(!0),this.primaryFallback(r);return}}this.setBufferingItem(T)}this.setSchedulePosition(k)}else if((v==null?void 0:v.identifier)===a){let k=r.assetList[0];if(k){let T=this.getAssetPlayer(k.identifier);if(v.appendInPlace){let _=this.primaryMedia;if(T&&_)this.bufferAssetPlayer(T,_)}else if(T)T.loadSource()}}}onError(e,n){if(!this.schedule)return;switch(n.details){case Le.ASSET_LIST_PARSING_ERROR:case Le.ASSET_LIST_LOAD_ERROR:case Le.ASSET_LIST_LOAD_TIMEOUT:{let s=n.interstitial;if(s)this.updateSchedule(!0),this.primaryFallback(s);break}case Le.BUFFER_STALLED_ERROR:{let s=this.endedItem||this.waitingItem||this.playingItem;if(this.isInterstitial(s)&&s.event.appendInPlace){this.handleInPlaceStall(s.event);return}let i=this.primaryMedia;this.log(`Primary player stall @${this.timelinePos} currentTime: ${i==null?void 0:i.currentTime} bufferedPos: ${this.bufferedPos}`),this.onTimeupdate(),this.checkBuffer(!0);break}}}}class wv{constructor(e){this.hls=void 0,this.media=null,this.currentTime=0,this.stallCount=0,this._latency=null,this._targetLatencyUpdated=!1,this.onTimeupdate=()=>{var n;let{media:s}=this,i=this.levelDetails;if(!s||!i||!this.hls)return;this.currentTime=s.currentTime;let r=this.hls.config,a=this.computeLatency();if(a===null)return;this._latency=a;let{lowLatencyMode:l,maxLiveSyncPlaybackRate:c}=r;if(!l||c===1||!i.live)return;let f=this.targetLatency;if(f===null)return;let m=a-f,g=Math.min(this.maxLatency,f+i.targetduration),b=m<g,v=o0(r)&&!!((n=this.hls.interstitialsManager)!=null&&(n=n.playingItem)!=null&&n.event);if(b&&m>0.05&&this.forwardBufferLength>1&&!v){let k=Math.min(2,Math.max(1,c)),T=Math.round(2/(1+Math.exp(-0.75*m-this.edgeStalled))*20)/20,_=Math.min(k,Math.max(1,T));this.changeMediaPlaybackRate(s,_)}else if(s.playbackRate!==1&&s.playbackRate!==0)this.changeMediaPlaybackRate(s,1)},this.hls=e,this.registerListeners()}get levelDetails(){var e;return((e=this.hls)==null?void 0:e.latestLevelDetails)||null}get latency(){return this._latency||0}get maxLatency(){var e;let n=(e=this.hls)==null?void 0:e.config;if(!n)return 0;if(n.liveMaxLatencyDuration!==void 0)return n.liveMaxLatencyDuration;let s=this.levelDetails;return s?n.liveMaxLatencyDurationCount*s.targetduration:0}get targetLatency(){let e=this.levelDetails;if(e===null||!this.hls)return null;let n=this.hls.config,{holdBack:s,partHoldBack:i,targetduration:r}=e,{liveSyncDuration:a,liveSyncDurationCount:l,lowLatencyMode:c}=n,f=this.hls.userConfig,m=c?i||s:s;if(this._targetLatencyUpdated||f.liveSyncDuration||f.liveSyncDurationCount||m===0)m=a!==void 0?a:l*r;let g=r;return m+Math.min(this.stallCount*n.liveSyncOnStallIncrease,g)}set targetLatency(e){if(!this.hls)return;this.stallCount=0,this.hls.config.liveSyncDuration=e,this._targetLatencyUpdated=!0}get liveSyncPosition(){let e=this.estimateLiveEdge(),n=this.targetLatency;if(e===null||n===null||!this.hls)return null;let s=this.levelDetails;if(s===null)return null;let i=s.edge,r=e-n-this.edgeStalled,a=i-s.totalduration,l=i-(this.hls.config.lowLatencyMode&&s.partTarget||s.targetduration);return Math.min(Math.max(a,r),l)}get drift(){let e=this.levelDetails;if(e===null)return 1;return e.drift}get edgeStalled(){let e=this.levelDetails;if(e===null||!this.hls)return 0;let n=(this.hls.config.lowLatencyMode&&e.partTarget||e.targetduration)*3;return Math.max(e.age-n,0)}get forwardBufferLength(){let{media:e}=this,n=this.levelDetails;if(!e||!n)return 0;let s=e.buffered.length;return(s?e.buffered.end(s-1):n.edge)-this.currentTime}destroy(){this.unregisterListeners(),this.onMediaDetaching(),this.hls=null}registerListeners(){let{hls:e}=this;if(!e)return;e.on(Z.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(Z.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Z.LEVEL_UPDATED,this.onLevelUpdated,this),e.on(Z.ERROR,this.onError,this),e.on(Z.INTERSTITIAL_ASSET_STARTED,this.onAssetStarted,this)}unregisterListeners(){let{hls:e}=this;if(!e)return;e.off(Z.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(Z.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Z.LEVEL_UPDATED,this.onLevelUpdated,this),e.off(Z.ERROR,this.onError,this),e.off(Z.INTERSTITIAL_ASSET_STARTED,this.onAssetStarted,this)}onMediaAttached(e,n){this.media=n.media,this.media.addEventListener("timeupdate",this.onTimeupdate)}onMediaDetaching(){if(this.media)this.media.removeEventListener("timeupdate",this.onTimeupdate),this.media=null}onManifestLoading(){this._latency=null,this.stallCount=0}onLevelUpdated(e,{details:n}){if(n.advanced)this.onTimeupdate();if(!n.live&&this.media)this.media.removeEventListener("timeupdate",this.onTimeupdate)}onAssetStarted(e,n){var s;let i=this.hls,r=this.media||n.event.appendInPlace&&(i==null||(s=i.interstitialsManager)==null?void 0:s.playerQueue.reduce((a,l)=>a||l.media,null));if(i&&r&&r.playbackRate>1&&r.playbackRate<=i.config.maxLiveSyncPlaybackRate)this.changeMediaPlaybackRate(r,1)}onError(e,n){var s;if(n.details!==Le.BUFFER_STALLED_ERROR)return;if(this.stallCount++,this.hls&&(s=this.levelDetails)!=null&&s.live)this.hls.logger.warn("[latency-controller]: Stall detected, adjusting target latency")}changeMediaPlaybackRate(e,n){var s,i;if(e.playbackRate===n)return;(s=this.hls)==null||s.logger.debug(`[latency-controller]: latency=${this.latency.toFixed(3)}, targetLatency=${(i=this.targetLatency)==null?void 0:i.toFixed(3)}, forwardBufferLength=${this.forwardBufferLength.toFixed(3)}: adjusting playback rate from ${e.playbackRate} to ${n}`),e.playbackRate=n}estimateLiveEdge(){let e=this.levelDetails;if(e===null)return null;return e.edge+e.age}computeLatency(){let e=this.estimateLiveEdge();if(e===null)return null;return e-this.currentTime}}var N3=500;class yv extends w0{constructor(e,n,s){super(e,n,s,"subtitle-stream-controller",Tt.SUBTITLE);this.currentTrackId=-1,this.tracksBuffered=[],this.mainDetails=null,this.registerListeners()}onHandlerDestroying(){this.unregisterListeners(),super.onHandlerDestroying(),this.mainDetails=null}registerListeners(){super.registerListeners();let{hls:e}=this;e.on(Z.LEVEL_LOADED,this.onLevelLoaded,this),e.on(Z.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.on(Z.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.on(Z.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.on(Z.SUBTITLE_FRAG_PROCESSED,this.onSubtitleFragProcessed,this),e.on(Z.BUFFER_FLUSHING,this.onBufferFlushing,this)}unregisterListeners(){super.unregisterListeners();let{hls:e}=this;e.off(Z.LEVEL_LOADED,this.onLevelLoaded,this),e.off(Z.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.off(Z.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.off(Z.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.off(Z.SUBTITLE_FRAG_PROCESSED,this.onSubtitleFragProcessed,this),e.off(Z.BUFFER_FLUSHING,this.onBufferFlushing,this)}startLoad(e,n){this.stopLoad(),this.state=Ve.IDLE,this.setInterval(N3),this.nextLoadPosition=this.lastCurrentTime=e+this.timelineOffset,this.startPosition=n?-1:e,this.tick()}onManifestLoading(){super.onManifestLoading(),this.mainDetails=null}onMediaDetaching(e,n){this.tracksBuffered=[],super.onMediaDetaching(e,n)}onLevelLoaded(e,n){this.mainDetails=n.details}onSubtitleFragProcessed(e,n){let{frag:s,part:i,success:r}=n;if(!r)return;let a=this.tracksBuffered[this.currentTrackId];if(!a)return;let l,c=(i||s).start;for(let m=0;m<a.length;m++)if(c>=a[m].start&&c<=a[m].end){l=a[m];break}let f=c+(i||s).duration;if(l)l.end=f;else l={start:c,end:f},a.push(l);if(!i||f>=s.end){let m=this.fragmentTracker.fragBuffered(s);if(i&&m)m.range.subs={time:[{startPTS:s.start,endPTS:f}],partial:!0};if(_s(s)&&!this.fragContextChanged(s))this.fragPrevious=s;if(this.fragBufferedComplete(s,i),this.media)this.tickImmediate()}}onBufferFlushing(e,n){let{startOffset:s,endOffset:i}=n;if(s===0&&i!==Number.POSITIVE_INFINITY){let r=i-1;if(r<=0)return;n.endOffsetSubtitles=Math.max(0,r),this.tracksBuffered.forEach((a)=>{if(!a)return;for(let l=0;l<a.length;){if(a[l].end<=r){a.shift();continue}else if(a[l].start<r)a[l].start=r;else break;l++}}),this.fragmentTracker.removeFragmentsInRange(s,r,Tt.SUBTITLE)}}onError(e,n){let s=n.frag;if((s==null?void 0:s.type)===Tt.SUBTITLE){if(n.details===Le.FRAG_GAP)this.fragmentTracker.addAsGap(s);if(this.fragCurrent)this.fragCurrent.abortRequests();if(this.state!==Ve.STOPPED)this.state=Ve.IDLE}}onSubtitleTracksUpdated(e,{subtitleTracks:n}){if(this.levels&&v6(this.levels,n)){this.levels=n.map((s)=>new Jc(s));return}this.tracksBuffered=[],this.levels=n.map((s)=>{let i=new Jc(s);return this.tracksBuffered[i.id]=[],i}),this.fragmentTracker.removeFragmentsInRange(0,Number.POSITIVE_INFINITY,Tt.SUBTITLE),this.fragPrevious=null,this.mediaBuffer=null}onSubtitleTrackSwitch(e,n){var s;if(this.currentTrackId=n.id,this.abortCurrentFrag(),!((s=this.levels)!=null&&s.length)||this.currentTrackId===-1){this.clearInterval();return}let i=this.levels[this.currentTrackId];if(!(i!=null&&i.details)){this.mediaBuffer=null;return}if(this.mediaBuffer=this.mediaBufferTimeRanges,this.state!==Ve.STOPPED)this.setInterval(N3)}onSubtitleTrackLoaded(e,n){var s;let{currentTrackId:i,levels:r}=this,{details:a,id:l}=n;if(!r){this.warn(`Subtitle tracks were reset while loading level ${l}`);return}let c=r[l];if(l>=r.length||!c)return;this.log(`Subtitle track ${l} loaded [${a.startSN},${a.endSN}]${a.lastPartSn?`[part-${a.lastPartSn}-${a.lastPartIndex}]`:""},duration:${a.totalduration}`),this.mediaBuffer=this.mediaBufferTimeRanges;let f=this.mainDetails,m=0;if(a.live||(s=c.details)!=null&&s.live){if(a.deltaUpdateFailed)return;if(!f){this.startFragRequested=!1;return}if(c.details){var g;m=this.alignPlaylists(a,c.details,(g=this.levelLastLoaded)==null?void 0:g.details)}if(!a.alignedSliding)r0(f,a,this),m=a.fragmentStart}if(c.details=a,this.levelLastLoaded=c,f&&!this.startFragRequested)this.setStartPosition(f,m);if(l!==i)return;this.hls.trigger(Z.SUBTITLE_TRACK_UPDATED,{details:a,id:l,groupId:n.groupId}),this.tickImmediate()}_handleFragmentLoadProgress(e){let{frag:n,part:s,payload:i}=e;if(!s||!(i!=null&&i.byteLength)||!this.shouldDecrypt(n))return;this.decryptPayload(i,n,s)}_handleFragmentLoadComplete(e){let{frag:n,payload:s}=e;if(this.fragContextChanged(n)||!(s!=null&&s.byteLength)||!this.shouldDecrypt(n))return;this.decryptPayload(s,n,null)}shouldDecrypt(e){let n=e.decryptdata;return!!(n!=null&&n.key&&n.iv&&Wc(n.method))}decryptPayload(e,n,s){let i=n.decryptdata,r=performance.now();this.decrypter.decrypt(new Uint8Array(e),i.key.buffer,i.iv.buffer,I1(i.method)).then((a)=>{if(this.fragContextChanged(n))return;this.hls.trigger(Z.FRAG_DECRYPTED,{frag:n,part:s,payload:a,stats:{tstart:r,tdecrypt:performance.now()}})}).catch((a)=>{if(this.hls.trigger(Z.ERROR,{type:Rt.MEDIA_ERROR,details:Le.FRAG_DECRYPT_ERROR,fatal:!1,error:a,reason:a.message,frag:n,part:s}),!s)this.warn(`${a.name}: ${a.message}`),this.state=Ve.IDLE})}doTick(){if(this.state===Ve.IDLE&&this.levels){var e;if(!this.media&&!this.primaryPrefetch&&(this.startFragRequested||!this.config.startFragPrefetch))return;let{currentTrackId:s,levels:i}=this,r=i[s],a=r==null?void 0:r.details;if(!a||this.waitForLive(r)||this.waitForCdnTuneIn(a)){this.startFragRequested=!1;return}let{config:l}=this,c=this.playhead,f=Ft.bufferedInfo(this.tracksBuffered[this.currentTrackId]||[],c,l.maxBufferHole),{end:m,len:g}=f,b=Math.max(this.hls.maxBufferLength+a.levelTargetDuration,((e=this.hls.mainForwardBufferInfo)==null?void 0:e.len)||0);if(g>b||g&&!this.buffering)return;let v=this.getNextFragment(m,a);if(!v)return;if(_s(v)){var n;let k=v.sn-a.startSN,T=a.fragments[k-1];if(v.cc===(T==null?void 0:T.cc)&&!((n=a.partList)!=null&&n.length)&&this.fragmentTracker.getState(T)===As.NOT_LOADED)v=T}this.loadFragment(v,r,m)}}loadFragment(e,n,s){let i=this.fragmentTracker.getState(e);if(i===As.NOT_LOADED||i===As.PARTIAL)super.loadFragment(e,n,s)}get mediaBufferTimeRanges(){return new vv(this.tracksBuffered[this.currentTrackId]||[])}}class vv{constructor(e){this.buffered=void 0;let n=(s,i,r)=>{if(i=i>>>0,i>r-1)throw new DOMException(`Failed to execute '${s}' on 'TimeRanges': The index provided (${i}) is greater than the maximum bound (${r})`);return e[i][s]};this.buffered={get length(){return e.length},end(s){return n("end",s,e.length)},start(s){return n("start",s,e.length)}}}}var S_={42:225,92:233,94:237,95:243,96:250,123:231,124:247,125:209,126:241,127:9608,128:174,129:176,130:189,131:191,132:8482,133:162,134:163,135:9834,136:224,137:32,138:232,139:226,140:234,141:238,142:244,143:251,144:193,145:201,146:211,147:218,148:220,149:252,150:8216,151:161,152:42,153:8217,154:9473,155:169,156:8480,157:8226,158:8220,159:8221,160:192,161:194,162:199,163:200,164:202,165:203,166:235,167:206,168:207,169:239,170:212,171:217,172:249,173:219,174:171,175:187,176:195,177:227,178:205,179:204,180:236,181:210,182:242,183:213,184:245,185:123,186:125,187:92,188:94,189:95,190:124,191:8764,192:196,193:228,194:214,195:246,196:223,197:165,198:164,199:9475,200:197,201:229,202:216,203:248,204:9487,205:9491,206:9495,207:9499},Sv=(e)=>String.fromCharCode(S_[e]||e),na=15,ta=42,k_={17:1,18:3,21:5,22:7,23:9,16:11,19:12,20:14},x_={17:2,18:4,21:6,22:8,23:10,19:13,20:15},T_={25:1,26:3,29:5,30:7,31:9,24:11,27:12,28:14},E_={25:2,26:4,29:6,30:8,31:10,27:13,28:15},C_=["white","green","blue","cyan","red","yellow","magenta","black","transparent"];class xv{constructor(){this.time=null,this.verboseLevel=0}log(e,n){if(this.verboseLevel>=e){let s=typeof n==="function"?n():n;Cn.log(`${this.time} [${e}] ${s}`)}}}var Xl=function(n){let s=[];for(let i=0;i<n.length;i++)s.push(n[i].toString(16));return s},m1=Object.freeze({foreground:"white",underline:!1,italics:!1,background:"black",flash:!1});class J1{constructor(){this.styles=m1}get foreground(){return this.styles.foreground}set foreground(e){let n=this.styles;this.styles={foreground:e,underline:n.underline,italics:n.italics,background:n.background,flash:n.flash}}get underline(){return this.styles.underline}set underline(e){let n=this.styles;this.styles={foreground:n.foreground,underline:e,italics:n.italics,background:n.background,flash:n.flash}}get italics(){return this.styles.italics}set italics(e){let n=this.styles;this.styles={foreground:n.foreground,underline:n.underline,italics:e,background:n.background,flash:n.flash}}get background(){return this.styles.background}set background(e){let n=this.styles;this.styles={foreground:n.foreground,underline:n.underline,italics:n.italics,background:e,flash:n.flash}}get flash(){return this.styles.flash}set flash(e){let n=this.styles;this.styles={foreground:n.foreground,underline:n.underline,italics:n.italics,background:n.background,flash:e}}reset(){this.styles=m1}setStyles(e){let n=this.styles,s=Object.prototype.hasOwnProperty;this.styles={foreground:s.call(e,"foreground")?e.foreground:n.foreground,underline:s.call(e,"underline")?e.underline:n.underline,italics:s.call(e,"italics")?e.italics:n.italics,background:s.call(e,"background")?e.background:n.background,flash:s.call(e,"flash")?e.flash:n.flash}}toString(){return"color="+this.foreground+", underline="+this.underline+", italics="+this.italics+", background="+this.background+", flash="+this.flash}}class Av{constructor(){this.uchar=" ",this.penState=new J1}reset(){this.uchar=" ",this.penState.reset()}setChar(e,n){this.uchar=e,this.penState.styles=n.styles}setPenState(e){this.penState.styles=e.styles}copy(e){this.uchar=e.uchar,this.penState.styles=e.penState.styles}}class Tv{constructor(e){this.chars=[],this.pos=0,this.currPenState=new J1,this.cueStartTime=null,this.logger=void 0;for(let n=0;n<ta;n++)this.chars.push(new Av);this.logger=e}equals(e){let n=this.chars,s=e.chars;for(let i=0;i<ta;i++){let r=n[i],a=s[i];if(r.uchar!==a.uchar)return!1;let l=r.penState.styles,c=a.penState.styles;if(l!==c&&(l.foreground!==c.foreground||l.underline!==c.underline||l.italics!==c.italics||l.background!==c.background||l.flash!==c.flash))return!1}return!0}copy(e){for(let n=0;n<ta;n++)this.chars[n].copy(e.chars[n])}isEmpty(){let e=this.chars;for(let n=0;n<ta;n++){let s=e[n];if(s.uchar!==" ")return!1;let i=s.penState.styles;if(i!==m1&&(i.foreground!=="white"||i.underline||i.italics||i.background!=="black"||i.flash))return!1}return!0}setCursor(e){if(this.pos!==e)this.pos=e;if(this.pos<0)this.logger.log(3,"Negative cursor position "+this.pos),this.pos=0;else if(this.pos>=ta)this.logger.log(3,"Too large cursor position "+this.pos),this.pos=ta-1}moveCursor(e){let n=Math.min(this.pos+e,ta);if(e>1)for(let s=this.pos+1;s<n;s++)this.chars[s].setPenState(this.currPenState);this.setCursor(n)}backSpace(){this.moveCursor(-1),this.chars[this.pos].setChar(" ",this.currPenState)}insertChar(e){if(e>=144)this.backSpace();let n=Sv(e);if(this.pos>=ta){this.logger.log(0,()=>"Cannot insert "+e.toString(16)+" ("+n+") at position "+this.pos+". Skipping it!");return}this.chars[this.pos].setChar(n,this.currPenState),this.moveCursor(1)}clearFromPos(e){let n;for(n=e;n<ta;n++)this.chars[n].reset()}clear(){this.clearFromPos(0),this.pos=0,this.currPenState.reset()}clearToEndOfRow(){this.clearFromPos(this.pos)}getTextString(){let e=[],n=!0;for(let s=0;s<ta;s++){let i=this.chars[s].uchar;if(i!==" ")n=!1;e.push(i)}if(n)return"";else return e.join("")}setPenStyles(e){this.currPenState.setStyles(e),this.chars[this.pos].setPenState(this.currPenState)}}class Kd{constructor(e){this.rows=[],this.currRow=na-1,this.nrRollUpRows=null,this.lastOutputScreen=null,this.logger=void 0;for(let n=0;n<na;n++)this.rows.push(new Tv(e));this.logger=e}reset(){for(let e=0;e<na;e++)this.rows[e].clear();this.currRow=na-1}equals(e){let n=!0;for(let s=0;s<na;s++)if(!this.rows[s].equals(e.rows[s])){n=!1;break}return n}copy(e){for(let n=0;n<na;n++){let s=this.rows[n].chars,i=e.rows[n].chars;for(let r=0;r<ta;r++){let a=s[r],l=i[r];a.uchar=l.uchar,a.penState.styles=l.penState.styles}}}isEmpty(){let e=!0;for(let n=0;n<na;n++)if(!this.rows[n].isEmpty()){e=!1;break}return e}backSpace(){this.rows[this.currRow].backSpace()}clearToEndOfRow(){this.rows[this.currRow].clearToEndOfRow()}insertChar(e){this.rows[this.currRow].insertChar(e)}setPen(e){this.rows[this.currRow].setPenStyles(e)}moveCursor(e){this.rows[this.currRow].moveCursor(e)}setCursor(e){this.logger.log(2,"setCursor: "+e),this.rows[this.currRow].setCursor(e)}setPAC(e){this.logger.log(2,()=>"pacData = "+ss(e));let n=e.row-1;if(this.nrRollUpRows&&n<this.nrRollUpRows-1)n=this.nrRollUpRows-1;if(this.nrRollUpRows&&this.currRow!==n){for(let l=0;l<na;l++)this.rows[l].clear();let r=this.currRow+1-this.nrRollUpRows,a=this.lastOutputScreen;if(a){let l=a.rows[r].cueStartTime,c=this.logger.time;if(l!==null&&c!==null&&l<c)for(let f=0;f<this.nrRollUpRows;f++)this.rows[n-this.nrRollUpRows+f+1].copy(a.rows[r+f])}}this.currRow=n;let s=this.rows[this.currRow];if(e.indent!==null){let r=e.indent,a=Math.max(r-1,0);s.setCursor(e.indent),e.color=s.chars[a].penState.foreground}let i={foreground:e.color,underline:e.underline,italics:e.italics,background:"black",flash:!1};this.setPen(i)}setBkgData(e){this.logger.log(2,()=>"bkgData = "+ss(e)),this.backSpace(),this.setPen(e),this.insertChar(32)}setRollUpRows(e){this.nrRollUpRows=e}rollUp(){if(this.nrRollUpRows===null){this.logger.log(3,"roll_up but nrRollUpRows not set yet");return}this.logger.log(1,()=>this.getDisplayText());let e=this.currRow+1-this.nrRollUpRows,n=this.rows.splice(e,1)[0];n.clear(),this.rows.splice(this.currRow,0,n),this.logger.log(2,"Rolling up")}getDisplayText(e){e=e||!1;let n=[],s="",i=-1;for(let r=0;r<na;r++){let a=this.rows[r].getTextString();if(a)if(i=r+1,e)n.push("Row "+i+": '"+a+"'");else n.push(a.trim())}if(n.length>0)if(e)s="["+n.join(" | ")+"]";else s=n.join(`
53
+ `);return s}getTextAndFormat(){return this.rows}}class Ev{constructor(e,n,s){this.chNr=void 0,this.outputFilter=void 0,this.mode=void 0,this.verbose=void 0,this.displayedMemory=void 0,this.nonDisplayedMemory=void 0,this.lastOutputScreen=void 0,this.currRollUpRow=void 0,this.writeScreen=void 0,this.cueStartTime=void 0,this.logger=void 0,this.chNr=e,this.outputFilter=n,this.mode=null,this.verbose=0,this.displayedMemory=new Kd(s),this.nonDisplayedMemory=new Kd(s),this.lastOutputScreen=new Kd(s),this.currRollUpRow=this.displayedMemory.rows[na-1],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null,this.logger=s}reset(){this.mode=null,this.displayedMemory.reset(),this.nonDisplayedMemory.reset(),this.lastOutputScreen.reset(),this.outputFilter.reset(),this.currRollUpRow=this.displayedMemory.rows[na-1],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null}getHandler(){return this.outputFilter}setHandler(e){this.outputFilter=e}setPAC(e){this.writeScreen.setPAC(e)}setBkgData(e){this.writeScreen.setBkgData(e)}setMode(e){if(e===this.mode)return;if(this.mode=e,this.logger.log(2,()=>"MODE="+e),this.mode==="MODE_POP-ON")this.writeScreen=this.nonDisplayedMemory;else this.writeScreen=this.displayedMemory,this.writeScreen.reset();if(this.mode!=="MODE_ROLL-UP")this.displayedMemory.nrRollUpRows=null,this.nonDisplayedMemory.nrRollUpRows=null;this.mode=e}insertChars(e){for(let s=0;s<e.length;s++)this.writeScreen.insertChar(e[s]);let n=this.writeScreen===this.displayedMemory?"DISP":"NON_DISP";if(this.logger.log(2,()=>n+": "+this.writeScreen.getDisplayText(!0)),this.mode==="MODE_PAINT-ON"||this.mode==="MODE_ROLL-UP")this.logger.log(1,()=>"DISPLAYED: "+this.displayedMemory.getDisplayText(!0)),this.outputDataUpdate()}ccRCL(){this.logger.log(2,"RCL - Resume Caption Loading"),this.setMode("MODE_POP-ON")}ccBS(){if(this.logger.log(2,"BS - BackSpace"),this.mode==="MODE_TEXT")return;if(this.writeScreen.backSpace(),this.writeScreen===this.displayedMemory)this.outputDataUpdate()}ccAOF(){}ccAON(){}ccDER(){this.logger.log(2,"DER- Delete to End of Row"),this.writeScreen.clearToEndOfRow(),this.outputDataUpdate()}ccRU(e){this.logger.log(2,"RU("+e+") - Roll Up"),this.writeScreen=this.displayedMemory,this.setMode("MODE_ROLL-UP"),this.writeScreen.setRollUpRows(e)}ccFON(){this.logger.log(2,"FON - Flash On"),this.writeScreen.setPen({flash:!0})}ccRDC(){this.logger.log(2,"RDC - Resume Direct Captioning"),this.setMode("MODE_PAINT-ON")}ccTR(){this.logger.log(2,"TR"),this.setMode("MODE_TEXT")}ccRTD(){this.logger.log(2,"RTD"),this.setMode("MODE_TEXT")}ccEDM(){this.logger.log(2,"EDM - Erase Displayed Memory"),this.displayedMemory.reset(),this.outputDataUpdate(!0)}ccCR(){this.logger.log(2,"CR - Carriage Return"),this.writeScreen.rollUp(),this.outputDataUpdate(!0)}ccENM(){this.logger.log(2,"ENM - Erase Non-displayed Memory"),this.nonDisplayedMemory.reset()}ccEOC(){if(this.logger.log(2,"EOC - End Of Caption"),this.mode==="MODE_POP-ON"){let e=this.displayedMemory;this.displayedMemory=this.nonDisplayedMemory,this.nonDisplayedMemory=e,this.writeScreen=this.nonDisplayedMemory,this.logger.log(1,()=>"DISP: "+this.displayedMemory.getDisplayText())}this.outputDataUpdate(!0)}ccTO(e){this.logger.log(2,"TO("+e+") - Tab Offset"),this.writeScreen.moveCursor(e)}ccMIDROW(e){let n={flash:!1};if(n.underline=e%2===1,n.italics=e>=46,!n.italics){let s=Math.floor(e/2)-16,i=["white","green","blue","cyan","red","yellow","magenta"];n.foreground=i[s]}else n.foreground="white";this.logger.log(2,"MIDROW: "+ss(n)),this.writeScreen.setPen(n)}outputDataUpdate(e=!1){let n=this.logger.time;if(n===null)return;if(this.outputFilter){if(this.cueStartTime===null&&!this.displayedMemory.isEmpty())this.cueStartTime=n;else if(!this.displayedMemory.equals(this.lastOutputScreen)){if(this.outputFilter.newCue(this.cueStartTime,n,this.lastOutputScreen),e&&this.outputFilter.dispatchCue)this.outputFilter.dispatchCue();this.cueStartTime=this.displayedMemory.isEmpty()?null:n}this.lastOutputScreen.copy(this.displayedMemory)}}cueSplitAtTime(e){if(this.outputFilter){if(!this.displayedMemory.isEmpty()){if(this.outputFilter.newCue)this.outputFilter.newCue(this.cueStartTime,e,this.displayedMemory);this.cueStartTime=e}}}}class p1{constructor(e,n,s){this.channels=[null,null,null],this.currentChannel=0,this.cmdHistory=I_(),this.logger=void 0,this.field=void 0,this.outputFilters=void 0,this.logger=new xv,this.field=e,this.outputFilters=[null,n,s]}getHandler(e){return this.outputFilters[e]}setHandler(e,n){var s;this.outputFilters[e]=n,(s=this.channels[e])==null||s.setHandler(n)}getChannel(e){let n=this.channels[e];if(!n)n=this.channels[e]=new Ev(this.field+e-1,this.outputFilters[e],this.logger);return n}addData(e,n){this.logger.time=e;for(let s=0;s<n.length;s+=2){let i=n[s]&127,r=n[s+1]&127,a=!1,l=null;if(i===0&&r===0)continue;else this.logger.log(3,()=>"["+Xl([n[s],n[s+1]])+"] -> ("+Xl([i,r])+")");let c=this.cmdHistory;if(i>=16&&i<=31){if(j_(i,r,c)){Hd(null,null,c),this.logger.log(3,()=>"Repeated command ("+Xl([i,r])+") is dropped");continue}if(Hd(i,r,this.cmdHistory),a=this.parseCmd(i,r),!a)a=this.parseMidrow(i,r);if(!a)a=this.parsePAC(i,r);if(!a)a=this.parseBackgroundAttributes(i,r)}else Hd(null,null,c);if(!a){if(l=this.parseChars(i,r),l){let m=this.currentChannel;if(m&&m>0)this.getChannel(m).insertChars(l);else this.logger.log(2,"No channel found yet. TEXT-MODE?")}}if(!a&&!l)this.logger.log(2,()=>"Couldn't parse cleaned data "+Xl([i,r])+" orig: "+Xl([n[s],n[s+1]]))}}parseCmd(e,n){let s=(e===20||e===28||e===21||e===29)&&n>=32&&n<=47,i=(e===23||e===31)&&n>=33&&n<=35;if(!(s||i))return!1;let r=e===20||e===21||e===23?1:2,a=this.getChannel(r);if(e===20||e===21||e===28||e===29){if(n===32)a.ccRCL();else if(n===33)a.ccBS();else if(n===34)a.ccAOF();else if(n===35)a.ccAON();else if(n===36)a.ccDER();else if(n===37)a.ccRU(2);else if(n===38)a.ccRU(3);else if(n===39)a.ccRU(4);else if(n===40)a.ccFON();else if(n===41)a.ccRDC();else if(n===42)a.ccTR();else if(n===43)a.ccRTD();else if(n===44)a.ccEDM();else if(n===45)a.ccCR();else if(n===46)a.ccENM();else if(n===47)a.ccEOC()}else a.ccTO(n-32);return this.currentChannel=r,!0}parseMidrow(e,n){let s=0;if((e===17||e===25)&&n>=32&&n<=47){if(e===17)s=1;else s=2;if(s!==this.currentChannel)return this.logger.log(0,"Mismatch channel in midrow parsing"),!1;let i=this.channels[s];if(!i)return!1;return i.ccMIDROW(n),this.logger.log(3,()=>"MIDROW ("+Xl([e,n])+")"),!0}return!1}parsePAC(e,n){let s,i=(e>=17&&e<=23||e>=25&&e<=31)&&n>=64&&n<=127,r=(e===16||e===24)&&n>=64&&n<=95;if(!(i||r))return!1;let a=e<=23?1:2;if(n>=64&&n<=95)s=a===1?k_[e]:T_[e];else s=a===1?x_[e]:E_[e];return this.getChannel(a).setPAC(this.interpretPAC(s,n)),this.currentChannel=a,!0}interpretPAC(e,n){let s,i={color:null,italics:!1,indent:null,underline:!1,row:e};if(n>95)s=n-96;else s=n-64;if(i.underline=(s&1)===1,s<=13)i.color=["white","green","blue","cyan","red","yellow","magenta","white"][Math.floor(s/2)];else if(s<=15)i.italics=!0,i.color="white";else i.indent=Math.floor((s-16)/2)*4;return i}parseChars(e,n){let s,i=null,r=null;if(e>=25)s=2,r=e-8;else s=1,r=e;if(r>=17&&r<=19){let a;if(r===17)a=n+80;else if(r===18)a=n+112;else a=n+144;this.logger.log(2,()=>"Special char '"+Sv(a)+"' in channel "+s),i=[a]}else if(e>=32&&e<=127)i=n===0?[e]:[e,n];if(i)this.logger.log(3,()=>"Char codes = "+Xl(i).join(","));return i}parseBackgroundAttributes(e,n){let s=(e===16||e===24)&&n>=32&&n<=47,i=(e===23||e===31)&&n>=45&&n<=47;if(!(s||i))return!1;let r,a={};if(e===16||e===24){if(r=Math.floor((n-32)/2),a.background=C_[r],n%2===1)a.background=a.background+"_semi"}else if(n===45)a.background="transparent";else if(a.foreground="black",n===47)a.underline=!0;let l=e<=23?1:2;return this.getChannel(l).setBkgData(a),!0}reset(){for(let e=0;e<Object.keys(this.channels).length;e++){let n=this.channels[e];if(n)n.reset()}Hd(null,null,this.cmdHistory)}cueSplitAtTime(e){for(let n=0;n<this.channels.length;n++){let s=this.channels[n];if(s)s.cueSplitAtTime(e)}}}function Hd(e,n,s){s.a=e,s.b=n}function j_(e,n,s){return s.a===e&&s.b===n}function I_(){return{a:null,b:null}}class hh{constructor(e,n){this.timelineController=void 0,this.cueRanges=[],this.trackName=void 0,this.startTime=null,this.endTime=null,this.screen=null,this.timelineController=e,this.trackName=n}dispatchCue(){if(this.startTime===null)return;this.timelineController.addCues(this.trackName,this.startTime,this.endTime,this.screen,this.cueRanges),this.startTime=null}newCue(e,n,s){if(this.startTime===null||this.startTime>e)this.startTime=e;this.endTime=n,this.screen=s,this.timelineController.createCaptionsTrack(this.trackName)}reset(){this.cueRanges=[],this.startTime=null}}class Cv{constructor(e){this.hls=void 0,this.media=null,this.config=void 0,this.enabled=!0,this.Cues=void 0,this.tracks=[],this.initPTS=[],this.unparsedVttFrags=[],this.captionsTracks={},this.cueCache={},this.nonNativeCaptionsTracks={},this.cea608Parser1=void 0,this.cea608Parser2=void 0,this.lastCc=-1,this.lastSn=-1,this.lastPartIndex=-1,this.prevCC=-1,this.vttCCs=B3(),this.captionsProperties=void 0,this.hls=e,this.config=e.config,this.Cues=e.config.cueHandler,this.cueCache={},this.captionsProperties={textTrack1:{label:this.config.captionsTextTrack1Label,languageCode:this.config.captionsTextTrack1LanguageCode},textTrack2:{label:this.config.captionsTextTrack2Label,languageCode:this.config.captionsTextTrack2LanguageCode},textTrack3:{label:this.config.captionsTextTrack3Label,languageCode:this.config.captionsTextTrack3LanguageCode},textTrack4:{label:this.config.captionsTextTrack4Label,languageCode:this.config.captionsTextTrack4LanguageCode}},e.on(Z.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(Z.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Z.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(Z.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.on(Z.FRAG_LOADING,this.onFragLoading,this),e.on(Z.FRAG_LOADED,this.onFragLoaded,this),e.on(Z.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),e.on(Z.FRAG_DECRYPTED,this.onFragDecrypted,this),e.on(Z.INIT_PTS_FOUND,this.onInitPtsFound,this),e.on(Z.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),e.on(Z.BUFFER_APPENDED,this.onBufferAppended,this),e.on(Z.BUFFER_FLUSHING,this.onBufferFlushing,this)}destroy(){let{hls:e}=this;e.off(Z.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(Z.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Z.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(Z.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.off(Z.FRAG_LOADING,this.onFragLoading,this),e.off(Z.FRAG_LOADED,this.onFragLoaded,this),e.off(Z.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),e.off(Z.FRAG_DECRYPTED,this.onFragDecrypted,this),e.off(Z.INIT_PTS_FOUND,this.onInitPtsFound,this),e.off(Z.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),e.off(Z.BUFFER_APPENDED,this.onBufferAppended,this),e.off(Z.BUFFER_FLUSHING,this.onBufferFlushing,this),this.hls=this.config=this.media=null,this.cea608Parser1=this.cea608Parser2=void 0}initCea608Parsers(){let e=new hh(this,"textTrack1"),n=new hh(this,"textTrack2"),s=new hh(this,"textTrack3"),i=new hh(this,"textTrack4");this.cea608Parser1=new p1(1,e,n),this.cea608Parser2=new p1(3,s,i)}addCues(e,n,s,i,r){let a=!1;for(let c=r.length;c--;){let f=r[c],m=R_(f[0],f[1],n,s);if(m>=0){if(f[0]=Math.min(f[0],n),f[1]=Math.max(f[1],s),a=!0,m/(s-n)>0.5)return}}if(!a)r.push([n,s]);if(this.config.renderTextTracksNatively){let c=this.cueCache[e];if(c){let f=this.Cues.newCue(null,n,s,i);if(f.length)c.push.apply(c,f)}else{let f=this.captionsTracks[e].track;this.Cues.newCue(f,n,s,i)}}else{var l;let c=this.Cues.newCue(null,n,s,i),f=(l=this.captionsProperties[e])==null?void 0:l.media;this.hls.trigger(Z.CUES_PARSED,{type:"captions",cues:c,track:e,closedCaptions:f})}}onInitPtsFound(e,{id:n,timestampOffsets:s}){let{unparsedVttFrags:i}=this;if(n===Tt.MAIN)this.initPTS=s;if(i.length)this.unparsedVttFrags=[],i.forEach((r)=>{if(this.initPTS[r.frag.cc])this.onFragLoaded(Z.FRAG_LOADED,r);else this.hls.trigger(Z.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:r.frag,part:null,error:Error("Subtitle discontinuity domain does not match main")})})}createCaptionsTrack(e){if(this.config.renderTextTracksNatively)this.createNativeTrack(e);else this.createNonNativeTrack(e)}createNativeTrack(e){if(this.captionsTracks[e])return;let{captionsProperties:n,captionsTracks:s,cueCache:i,media:r}=this,{label:a,languageCode:l}=n[e];if(r)i[e]=[],s[e]=K1(r,"captions",a,l,"hidden")}createNonNativeTrack(e){if(this.nonNativeCaptionsTracks[e])return;let n=this.captionsProperties[e];if(!n)return;let s=n.label,i={_id:e,label:s,kind:"captions",default:n.media?!!n.media.default:!1,closedCaptions:n.media};this.nonNativeCaptionsTracks[e]=i,this.hls.trigger(Z.NON_NATIVE_TEXT_TRACKS_FOUND,{tracks:[i]})}onMediaAttaching(e,n){this.media=n.media}onMediaDetaching(e,n){let s=!!n.transferMedia;if(this.media=null,s)return;if(this.config.renderTextTracksNatively){let{captionsTracks:i,cueCache:r}=this;for(let a in i)i[a].remove(),delete r[a]}this.cueCache={},this.captionsTracks={},this.nonNativeCaptionsTracks={}}onManifestLoading(){if(this.lastCc=-1,this.lastSn=-1,this.lastPartIndex=-1,this.prevCC=-1,this.vttCCs=B3(),this.tracks=[],this.captionsTracks={},this.nonNativeCaptionsTracks={},this.unparsedVttFrags=[],this.initPTS=[],this.cea608Parser1&&this.cea608Parser2)this.cea608Parser1.reset(),this.cea608Parser2.reset()}onSubtitleTracksUpdated(e,n){let s=n.subtitleTracks||[];if(s.length&&!this.config.renderTextTracksNatively&&!v6(this.tracks,s)){let i=s.map((r)=>({label:r.name,kind:r.type.toLowerCase(),default:r.default,subtitleTrack:r}));this.hls.trigger(Z.NON_NATIVE_TEXT_TRACKS_FOUND,{tracks:i})}this.tracks=s}onManifestLoaded(e,n){if(this.config.enableCEA708Captions&&n.captions)n.captions.forEach((s)=>{let i=/(?:CC|SERVICE)([1-4])/.exec(s.instreamId);if(!i)return;let r=`textTrack${i[1]}`,a=this.captionsProperties[r];if(!a)return;if(a.label=s.name,s.lang)a.languageCode=s.lang;a.media=s})}closedCaptionsForLevel(e){let n=this.hls.levels[e.level];return n==null?void 0:n.attrs["CLOSED-CAPTIONS"]}onFragLoading(e,n){if(this.enabled&&n.frag.type===Tt.MAIN){var s,i;let{cea608Parser1:r,cea608Parser2:a,lastSn:l}=this,{cc:c,sn:f}=n.frag,m=(s=(i=n.part)==null?void 0:i.index)!=null?s:-1;if(r&&a){if(f!==l+1||f===l&&m!==this.lastPartIndex+1||c!==this.lastCc)r.reset(),a.reset()}this.lastCc=c,this.lastSn=f,this.lastPartIndex=m}}onFragLoaded(e,n){let{frag:s,payload:i}=n;if(s.level<this.tracks.length&&s.type===Tt.SUBTITLE){var r;if(i.byteLength||(r=s.initSegment)!=null&&(r=r.data)!=null&&r.byteLength){let a=s.decryptdata,l="stats"in n;if(a==null||!a.encrypted||l){let c=this.tracks[s.level],f=this.vttCCs;if(!f[s.cc])f[s.cc]={start:s.start,prevCC:this.prevCC,new:!0},this.prevCC=s.cc;if((c==null?void 0:c.textCodec)===f1)this._parseIMSC1(n);else this._parseVTTs(n)}}else{let a="part"in n?n.part:null;this.hls.trigger(Z.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:s,part:a,error:Error("Empty subtitle payload")})}}}_parseIMSC1(e){let{frag:n,payload:s}=e,i="part"in e?e.part:null,r=this.hls;I3(s,this.initPTS[n.cc],(a)=>{this._appendCues(a,n.level),r.trigger(Z.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:n,part:i})},(a)=>{r.logger.log(`Cannot parse IMSC1 (sn: ${n.sn} @${n.start}): ${a}`),r.trigger(Z.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:n,part:i,error:a})})}_parseVTTs(e){var n;let{frag:s,payload:i}=e,r="part"in e?e.part:null,{initPTS:a,unparsedVttFrags:l}=this,c=a.length-1;if(!a[s.cc]&&c===-1){l.push(e);return}let f=this.hls,m=(n=s.initSegment)==null?void 0:n.data,g=m?Ir(m,new Uint8Array(i)).buffer:i;Yj(g,this.initPTS[s.cc],this.vttCCs,s.cc,(r&&!m?r:s).start,(b)=>{this._appendCues(b,s.level),f.trigger(Z.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:s,part:r})},(b)=>{let v=b.message.startsWith("Missing initPTS");if(f.logger.log(`${v?"Deferred parsing of":"Cannot parse"} VTT cue (sn: ${s.sn} @${s.start}): ${b}`),v){l.push(e);return}else if(this.config.enableIMSC1)this._fallbackToIMSC1(e);f.trigger(Z.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:s,part:r,error:b})})}_fallbackToIMSC1(e){let{frag:n,payload:s}=e,i=this.tracks[n.level];if(!i.textCodec)I3(s,this.initPTS[n.cc],()=>{i.textCodec=f1,this._parseIMSC1(e)},()=>{i.textCodec="wvtt"})}_appendCues(e,n){let s=this.hls;if(this.config.renderTextTracksNatively){var i;let r=(i=this.tracks[n].trackNode)==null?void 0:i.track;if(!r||r.mode==="disabled")return;e.forEach((a)=>h1(r,a))}else{let r=this.tracks[n];if(!r)return;let a=r.default?"default":"subtitles"+n;s.trigger(Z.CUES_PARSED,{type:"subtitles",cues:e,track:a,subtitleTrack:r})}}onFragDecrypted(e,n){let{frag:s}=n;if(s.type===Tt.SUBTITLE)this.onFragLoaded(Z.FRAG_LOADED,n)}onSubtitleTracksCleared(){this.tracks=[],this.captionsTracks={}}onFragParsingUserdata(e,n){if(!this.enabled||!this.config.enableCEA708Captions)return;let{frag:s,samples:i}=n;if(s.type===Tt.MAIN&&this.closedCaptionsForLevel(s)==="NONE")return;for(let r=0;r<i.length;r++){let a=i[r].bytes;if(a){if(!this.cea608Parser1)this.initCea608Parsers();let l=this.extractCea608Data(a);this.cea608Parser1.addData(i[r].pts,l[0]),this.cea608Parser2.addData(i[r].pts,l[1])}}}onBufferAppended(e,n){if(this.config.renderTextTracksNatively){var s;let{type:i,timeRanges:r}=n;if(i==="video"&&(s=r[i])!=null&&s.length){let{captionsTracks:a,cueCache:l}=this;Object.keys(l).forEach((c)=>{var f;let m=(f=a[c])==null?void 0:f.track;if(m){let g=l[c];for(let b=0;b<g.length;b++)h1(m,g[b])}delete l[c]})}}}onBufferFlushing(e,n){let{startOffset:s,endOffset:i,endOffsetSubtitles:r,type:a}=n,{media:l}=this;if(!l||l.currentTime<i)return;if(!a||a==="video"){let{captionsTracks:c,cueCache:f}=this;Object.keys(c).forEach((m)=>u1(c[m].track,s,i)),Object.keys(f).forEach((m)=>{let g=f[m];for(let b=g.length;b--;){let v=g[b];if(v.startTime>=s&&v.endTime<=i)g.splice(b,1)}})}if(this.config.renderTextTracksNatively){if(s===0&&r!==void 0)this.tracks.forEach((c)=>{var f;let m=(f=c.trackNode)==null?void 0:f.track;if(m)u1(m,s,r)})}}extractCea608Data(e){let n=[[],[]],s=e[0]&31,i=2;for(let r=0;r<s;r++){let a=e[i++],l=127&e[i++],c=127&e[i++];if(l===0&&c===0)continue;if((4&a)!==0){let m=3&a;if(m===0||m===1)n[m].push(l),n[m].push(c)}}return n}}function R_(e,n,s,i){return Math.min(n,i)-Math.max(e,s)}function B3(){return{ccOffset:0,presentationOffset:0,0:{start:0,prevCC:-1,new:!0}}}var D_=/\s/,q_={newCue(e,n,s,i){let r=[],a,l,c,f,m,g=self.VTTCue||self.TextTrackCue;for(let v=0;v<i.rows.length;v++)if(a=i.rows[v],c=!0,f=0,m="",!a.isEmpty()){var b;for(let _=0;_<a.chars.length;_++)if(D_.test(a.chars[_].uchar)&&c)f++;else m+=a.chars[_].uchar,c=!1;if(a.cueStartTime=n,n===s)s+=0.0001;if(f>=16)f--;else f++;let k=ev(m.trim()),T=W1(n,s,k);if(!(e!=null&&(b=e.cues)!=null&&b.getCueById(T)))l=new g(n,s,k),l.id=T,l.line=v+1,l.align="left",l.position=10+Math.min(80,Math.floor(f*8/32)*10),r.push(l)}if(e&&r.length)r.sort((v,k)=>{if(v.line==="auto"||k.line==="auto")return 0;if(v.line>8&&k.line>8)return k.line-v.line;return v.line-k.line}),r.forEach((v)=>h1(e,v));return r}};class Z1{constructor(){this.requestTimeout=void 0,this.retryTimeout=void 0,this.retryDelay=0,this.config=null,this.callbacks=null,this.context=null,this.stats=new u0}destroy(){this.callbacks=this.context=this.config=null,this.abortInternal(),this.stats=null}load(e,n,s){let i=this.stats;if(i.loading.start)throw Error("Loader can only be used once.");i.loading.start=self.performance.now(),this.context=e,this.config=n,this.callbacks=s,this.loadInternal()}abort(){var e;if(this.abortInternal(),(e=this.callbacks)!=null&&e.onAbort)this.callbacks.onAbort(this.stats,this.context,this.getNetworkDetails())}loadtimeout(){if(!this.config)return;let e=this.config.loadPolicy.timeoutRetry,n=this.stats.retry;if(bh(e,n,!0))this.retry(e);else{var s;Cn.warn(`timeout while loading ${(s=this.context)==null?void 0:s.url}`);let i=this.callbacks;if(i)this.abortInternal(),i.onTimeout(this.stats,this.context,this.getNetworkDetails())}}retry(e){let{context:n,stats:s}=this;this.retryDelay=v1(e,s.retry),s.retry++,Cn.warn(`${status?"HTTP Status "+status:"Timeout"} while loading ${n==null?void 0:n.url}, retrying ${s.retry}/${e.maxNumRetry} in ${this.retryDelay}ms`),this.abortInternal(),this.resetInternalLoader(),self.clearTimeout(this.retryTimeout),this.retryTimeout=self.setTimeout(()=>this.loadInternal(),this.retryDelay)}}function M_(){if(self.fetch&&self.AbortController&&self.ReadableStream&&self.Request)try{return new self.ReadableStream({}),!0}catch(e){}return!1}var L_=/(\d+)-(\d+)\/(\d+)/;class g1 extends Z1{constructor(e){super();this.fetchSetup=void 0,this.request=null,this.response=null,this.controller=null,this.fetchSetup=e.fetchSetup||B_}destroy(){this.request=null,super.destroy(),this.response=null,this.controller=null,this.fetchSetup=null}abortInternal(){if(self.clearTimeout(this.retryTimeout),this.controller&&!this.stats.loading.end)this.stats.aborted=!0,this.controller.abort()}getNetworkDetails(){return this.response}resetInternalLoader(){this.response=null}loadInternal(){let{config:e,context:n,stats:s}=this;if(!e||!n)return;s.loading.first=0,s.loaded=0,s.aborted=!1,this.controller=new self.AbortController;let i=O_(n,this.controller.signal),r=n.responseType==="arraybuffer",a=r?"byteLength":"length",{maxTimeToFirstByteMs:l,maxLoadTimeMs:c}=e.loadPolicy;this.request=this.fetchSetup(n,i),self.clearTimeout(this.requestTimeout),e.timeout=l&&lt(l)?l:c,this.requestTimeout=self.setTimeout(()=>{this.loadtimeout()},e.timeout),(Th(this.request)?this.request.then(self.fetch):self.fetch(this.request)).then((m)=>{var g;this.response=m;let b=Math.max(self.performance.now(),s.loading.start);if(self.clearTimeout(this.requestTimeout),e.timeout=c,this.requestTimeout=self.setTimeout(()=>{this.loadtimeout()},c-(b-s.loading.start)),!m.ok){let{status:k,statusText:T}=m;throw new jv(T||"fetch, bad network response",k,m)}s.loading.first=b,s.total=N_(m.headers)||s.total;let v=(g=this.callbacks)==null?void 0:g.onProgress;if(v&&lt(e.highWaterMark))return this.loadProgressively(m,s,n,e.highWaterMark,v);if(r)return m.arrayBuffer();if(n.responseType==="json")return m.json();return m.text()}).then((m)=>{var g,b;let v=this.response;if(!v)throw Error("loader destroyed");self.clearTimeout(this.requestTimeout),s.loading.end=Math.max(self.performance.now(),s.loading.first);let k=m[a];if(k)s.loaded=s.total=k;let T={url:v.url,data:m,code:v.status},_=(g=this.callbacks)==null?void 0:g.onProgress;if(_&&!lt(e.highWaterMark))_(s,n,m,v);(b=this.callbacks)==null||b.onSuccess(T,s,n,v)}).catch((m)=>{if(self.clearTimeout(this.requestTimeout),s.aborted)return;let g=!m?0:m.code||0,b=!m?null:m.message,v=e.loadPolicy.errorRetry,k=s.retry,T={url:n.url,data:void 0,code:g};if(bh(v,k,!1,T))this.retry(v);else{var _;Cn.error(`${g} while loading ${n.url}`),(_=this.callbacks)==null||_.onError({code:g,text:b},n,m?m.details:null,s)}})}getCacheAge(){let e=null;if(this.response){let n=this.response.headers.get("age");e=n?parseFloat(n):null}return e}getResponseHeader(e){return this.response?this.response.headers.get(e):null}loadProgressively(e,n,s,i=0,r){let a=new D1,l=e.body.getReader(),c=()=>l.read().then((f)=>{if(f.done){if(a.dataLength)r(n,s,a.flush().buffer,e);return Promise.resolve(new ArrayBuffer(0))}let m=f.value,g=m.length;if(n.loaded+=g,g<i||a.dataLength){if(a.push(m),a.dataLength>=i)r(n,s,a.flush().buffer,e)}else r(n,s,m.buffer,e);return c()}).catch(()=>Promise.reject());return c()}}function O_(e,n){let s={method:"GET",mode:"cors",credentials:"same-origin",signal:n,headers:new self.Headers(Nn({},e.headers))};if(e.rangeEnd)s.headers.set("Range","bytes="+e.rangeStart+"-"+String(e.rangeEnd-1));return s}function P_(e){let n=L_.exec(e);if(n)return parseInt(n[2])-parseInt(n[1])+1}function N_(e){let n=e.get("Content-Range");if(n){let i=P_(n);if(lt(i))return i}let s=e.get("Content-Length");if(s)return parseInt(s)}function B_(e,n){return new self.Request(e.url,n)}class jv extends Error{constructor(e,n,s){super(e);this.code=void 0,this.details=void 0,this.code=n,this.details=s}}var H_=(e,n,s)=>Math.max(n,Math.min(e,s)),U_=/^age:\s*[\d.]+\s*$/im;class eb extends Z1{constructor(e){super();this.xhrSetup=void 0,this.loader=null,this.xhrSetup=e.xhrSetup||null}destroy(){super.destroy(),this.loader=null,this.xhrSetup=null}abortInternal(){let e=this.loader;if(self.clearTimeout(this.requestTimeout),self.clearTimeout(this.retryTimeout),e){if(e.onreadystatechange=null,e.onprogress=null,e.readyState!==4)this.stats.aborted=!0,e.abort()}}getNetworkDetails(){return this.loader}resetInternalLoader(){this.loader=null}loadInternal(){let{config:e,context:n}=this;if(!e||!n)return;let s=this.loader=new self.XMLHttpRequest,i=this.stats;i.loading.first=0,i.loaded=0,i.aborted=!1;let r=this.xhrSetup;if(r)Promise.resolve().then(()=>{if(this.loader!==s||this.stats.aborted)return;return r.call(this,s,n.url,n)}).catch((a)=>{if(this.loader!==s||this.stats.aborted)return;return s.open("GET",n.url,!0),r.call(this,s,n.url,n)}).then(()=>{if(this.loader!==s||this.stats.aborted)return;this.openAndSendXhr(s,n,e)}).catch((a)=>{var l;(l=this.callbacks)==null||l.onError({code:s.status,text:a.message},n,s,i);return});else this.openAndSendXhr(s,n,e)}openAndSendXhr(e,n,s){if(!e.readyState)e.open("GET",n.url,!0);let i=n.headers,{maxTimeToFirstByteMs:r,maxLoadTimeMs:a}=s.loadPolicy;if(i)for(let l in i)e.setRequestHeader(l,i[l]);if(n.rangeEnd)e.setRequestHeader("Range",`bytes=${n.rangeStart}-${n.rangeEnd-1}`);e.onreadystatechange=this.readystatechange.bind(this),e.onprogress=this.loadprogress.bind(this),e.responseType=n.responseType,self.clearTimeout(this.requestTimeout),s.timeout=r&&lt(r)?r:a,this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),s.timeout),e.send()}readystatechange(){let{context:e,loader:n,stats:s}=this;if(!e||!n)return;let i=n.readyState,r=this.config;if(s.aborted)return;if(i>=2){if(s.loading.first===0){if(s.loading.first=Math.max(self.performance.now(),s.loading.start),r.timeout!==r.loadPolicy.maxLoadTimeMs)self.clearTimeout(this.requestTimeout),r.timeout=r.loadPolicy.maxLoadTimeMs,this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),r.loadPolicy.maxLoadTimeMs-(s.loading.first-s.loading.start))}if(i===4){self.clearTimeout(this.requestTimeout),n.onreadystatechange=null,n.onprogress=null;let f=n.status,m=n.responseType==="text"?n.responseText:null;if(f>=200&&f<300){let k=m!=null?m:n.response;if(k!=null){var a,l;s.loading.end=Math.max(self.performance.now(),s.loading.first);let T=n.responseType==="arraybuffer"?k.byteLength:k.length;s.loaded=s.total=T,s.bwEstimate=s.total*8000/(s.loading.end-s.loading.first);let _=(a=this.callbacks)==null?void 0:a.onProgress;if(_)_(s,e,k,n);let P={url:n.responseURL,data:k,code:f};if(e.rangeEnd&&T!==e.rangeEnd-e.rangeStart)Cn.warn(`Payload length ${T} does not match requested Range: bytes=${e.rangeStart}-${e.rangeEnd-1}`);(l=this.callbacks)==null||l.onSuccess(P,s,e,n);return}}let g=r.loadPolicy.errorRetry,b=s.retry,v={url:e.url,data:void 0,code:f};if(bh(g,b,!1,v))this.retry(g);else{var c;Cn.error(`${f} while loading ${e.url}`),(c=this.callbacks)==null||c.onError({code:f,text:n.statusText},e,n,s)}}}}loadprogress(e){let n=this.stats;if(n.loaded=e.loaded,e.lengthComputable)n.total=e.total}getCacheAge(){let e=null;if(this.loader&&U_.test(this.loader.getAllResponseHeaders())){let n=this.loader.getResponseHeader("age");e=n?parseFloat(n):null}return e}getResponseHeader(e){if(this.loader&&new RegExp(`^${e}:\\s*[\\d.]+\\s*$`,"im").test(this.loader.getAllResponseHeaders()))return this.loader.getResponseHeader(e);return null}}var z_={maxTimeToFirstByteMs:8000,maxLoadTimeMs:20000,timeoutRetry:null,errorRetry:null},G_=Dt(Dt({autoStartLoad:!0,startPosition:-1,defaultAudioCodec:void 0,debug:!1,capLevelOnFPSDrop:!1,capLevelToPlayerSize:!1,ignoreDevicePixelRatio:!1,maxDevicePixelRatio:Number.POSITIVE_INFINITY,preferManagedMediaSource:!1,initialLiveManifestSize:1,maxBufferLength:30,backBufferLength:1/0,frontBufferFlushThreshold:1/0,loopBackBufferFlush:void 0,startOnSegmentBoundary:!1,nextAudioTrackBufferFlushForwardOffset:0.25,maxBufferSize:60000000,maxFragLookUpTolerance:0.25,maxBufferHole:0.1,detectStallWithCurrentTimeMs:1250,highBufferWatchdogPeriod:2,nudgeOffset:0.1,nudgeMaxRetry:3,nudgeOnVideoHole:!0,skipBufferHolePadding:0.1,liveSyncMode:"edge",liveSyncDurationCount:3,liveSyncOnStallIncrease:1,liveMaxLatencyDurationCount:1/0,liveMaxUnchangedPlaylistRefresh:1/0,liveSyncDuration:void 0,liveMaxLatencyDuration:void 0,maxLiveSyncPlaybackRate:1,liveDurationInfinity:!1,liveBackBufferLength:null,maxMaxBufferLength:600,enableWorker:!0,workerPath:null,enableSoftwareAES:!0,startLevel:void 0,startFragPrefetch:!1,fpsDroppedMonitoringPeriod:5000,fpsDroppedMonitoringThreshold:0.2,appendErrorMaxRetry:3,appendTimeout:1/0,ignorePlaylistParsingErrors:!1,loader:eb,fLoader:void 0,pLoader:void 0,xhrSetup:void 0,licenseXhrSetup:void 0,licenseResponseCallback:void 0,stretchShortVideoTrack:!1,maxAudioFramesDrift:1,forceKeyFrameOnDiscontinuity:!0,handleMpegTsVideoIntegrityErrors:"process",abrEwmaFastLive:3,abrEwmaSlowLive:9,abrEwmaFastVoD:3,abrEwmaSlowVoD:9,abrEwmaDefaultEstimate:500000,abrEwmaDefaultEstimateMax:5000000,abrBandWidthFactor:0.95,abrBandWidthUpFactor:0.7,abrMaxWithRealBitrate:!1,abrSwitchInterval:0,maxStarvationDelay:4,maxLoadingDelay:4,minAutoBitrate:0,emeEnabled:!1,widevineLicenseUrl:void 0,drmSystems:{},drmSystemOptions:{},requestMediaKeySystemAccessFunc:P9,requireKeySystemAccessOnStart:!1,testBandwidth:!0,progressive:!1,lowLatencyMode:!0,cmcd:void 0,enableDateRangeMetadataCues:!0,enableEmsgMetadataCues:!0,enableEmsgKLVMetadata:!1,enableID3MetadataCues:!0,emsgKLVSchemaUri:void 0,enableInterstitialPlayback:!0,interstitialAppendInPlace:!0,interstitialLiveLookAhead:10,iframeCacheLimit:2097152,useMediaCapabilities:!0,preserveManualLevelOnError:!1,errorPenaltyExpireMs:0,certLoadPolicy:{default:z_},keyLoadPolicy:{default:{maxTimeToFirstByteMs:8000,maxLoadTimeMs:20000,timeoutRetry:{maxNumRetry:1,retryDelayMs:1000,maxRetryDelayMs:20000,backoff:"linear"},errorRetry:{maxNumRetry:8,retryDelayMs:1000,maxRetryDelayMs:20000,backoff:"linear"}}},manifestLoadPolicy:{default:{maxTimeToFirstByteMs:1/0,maxLoadTimeMs:20000,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:1,retryDelayMs:1000,maxRetryDelayMs:8000}}},playlistLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:20000,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:2,retryDelayMs:1000,maxRetryDelayMs:8000}}},fragLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:120000,timeoutRetry:{maxNumRetry:4,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:6,retryDelayMs:1000,maxRetryDelayMs:8000}}},steeringManifestLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:20000,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:1,retryDelayMs:1000,maxRetryDelayMs:8000}}},interstitialAssetListLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:30000,timeoutRetry:{maxNumRetry:0,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:0,retryDelayMs:1000,maxRetryDelayMs:8000}}},manifestLoadingTimeOut:1e4,manifestLoadingMaxRetry:1,manifestLoadingRetryDelay:1000,manifestLoadingMaxRetryTimeout:64000,levelLoadingTimeOut:1e4,levelLoadingMaxRetry:4,levelLoadingRetryDelay:1000,levelLoadingMaxRetryTimeout:64000,fragLoadingTimeOut:20000,fragLoadingMaxRetry:6,fragLoadingRetryDelay:1000,fragLoadingMaxRetryTimeout:64000,streamController:Y1,abrController:x9,bufferController:T6,capLevelController:B1,errorController:C9,fpsController:K6,id3TrackController:ov,gapController:av,latencyController:wv},V_()),{},{subtitleStreamController:yv,subtitleTrackController:rv,timelineController:Cv,audioStreamController:y6,audioTrackController:S6,emeController:Yc,cmcdController:V6,contentSteeringController:$6,iframeController:hv,interstitialsController:bv});function V_(){return{cueHandler:q_,enableWebVTT:!0,enableIMSC1:!0,enableCEA708Captions:!0,captionsTextTrack1Label:"English",captionsTextTrack1LanguageCode:"en",captionsTextTrack2Label:"Spanish",captionsTextTrack2LanguageCode:"es",captionsTextTrack3Label:"Unknown CC",captionsTextTrack3LanguageCode:"",captionsTextTrack4Label:"Unknown CC",captionsTextTrack4LanguageCode:"",renderTextTracksNatively:!0}}function $_(e,n,s){if((n.liveSyncDurationCount||n.liveMaxLatencyDurationCount)&&(n.liveSyncDuration||n.liveMaxLatencyDuration))throw Error("Illegal hls.js config: don't mix up liveSyncDurationCount/liveMaxLatencyDurationCount and liveSyncDuration/liveMaxLatencyDuration");if(n.liveMaxLatencyDurationCount!==void 0&&(n.liveSyncDurationCount===void 0||n.liveMaxLatencyDurationCount<=n.liveSyncDurationCount))throw Error('Illegal hls.js config: "liveMaxLatencyDurationCount" must be greater than "liveSyncDurationCount"');if(n.liveMaxLatencyDuration!==void 0&&(n.liveSyncDuration===void 0||n.liveMaxLatencyDuration<=n.liveSyncDuration))throw Error('Illegal hls.js config: "liveMaxLatencyDuration" must be greater than "liveSyncDuration"');if(n.liveMaxUnchangedPlaylistRefresh!==void 0){let l=n.liveMaxUnchangedPlaylistRefresh,c=H_(l,2,1/0);if(c!==l)s.warn(`hls.js config: "liveMaxUnchangedPlaylistRefresh" clamped from ${l} to ${c}.`);n.liveMaxUnchangedPlaylistRefresh=c}let i=b1(e),r=["manifest","level","frag"],a=["TimeOut","MaxRetry","RetryDelay","MaxRetryTimeout"];return r.forEach((l)=>{let c=`${l==="level"?"playlist":l}LoadPolicy`,f=n[c]===void 0,m=[];if(a.forEach((g)=>{let b=`${l}Loading${g}`,v=n[b];if(v!==void 0&&f){m.push(b);let k=i[c].default;switch(n[c]={default:k},g){case"TimeOut":k.maxLoadTimeMs=v,k.maxTimeToFirstByteMs=v;break;case"MaxRetry":k.errorRetry.maxNumRetry=v,k.timeoutRetry.maxNumRetry=v;break;case"RetryDelay":k.errorRetry.retryDelayMs=v,k.timeoutRetry.retryDelayMs=v;break;case"MaxRetryTimeout":k.errorRetry.maxRetryDelayMs=v,k.timeoutRetry.maxRetryDelayMs=v;break}}}),m.length)s.warn(`hls.js config: "${m.join('", "')}" setting(s) are deprecated, use "${c}": ${ss(n[c])}`)}),Dt(Dt({},i),n)}function b1(e){if(e&&typeof e==="object"){if(Array.isArray(e))return e.map(b1);return Object.keys(e).reduce((n,s)=>(n[s]=b1(e[s]),n),{})}return e}function X_(e,n){let s=e.loader;if(s!==g1&&s!==eb)n.log("[config]: Custom loader detected, cannot enable progressive streaming"),e.progressive=!1;else if(M_())e.loader=g1,e.progressive=!0,e.enableSoftwareAES=!0,n.log("[config]: Progressive streaming enabled, using FetchLoader")}class _v extends v0{constructor(e,n){super(e,"level-controller");this._levels=[],this._firstLevel=-1,this._maxAutoLevel=-1,this._startLevel=void 0,this.currentLevel=null,this.currentLevelIndex=-1,this.manualLevelIndex=-1,this.steering=void 0,this.lastABRSwitchTime=-1,this._iframeVariants=[],this.onParsedComplete=void 0,this.steering=n,this._registerListeners()}_registerListeners(){let{hls:e}=this;e.on(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Z.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(Z.LEVEL_LOADED,this.onLevelLoaded,this),e.on(Z.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(Z.FRAG_BUFFERED,this.onFragBuffered,this),e.on(Z.ERROR,this.onError,this)}_unregisterListeners(){let{hls:e}=this;e.off(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Z.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(Z.LEVEL_LOADED,this.onLevelLoaded,this),e.off(Z.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(Z.FRAG_BUFFERED,this.onFragBuffered,this),e.off(Z.ERROR,this.onError,this)}destroy(){this._unregisterListeners(),this.steering=null,this.resetLevels(),super.destroy()}stopLoad(){this._levels.forEach((n)=>{n.loadError=0,n.fragmentError=0}),super.stopLoad()}resetLevels(){this._startLevel=void 0,this.manualLevelIndex=-1,this.currentLevelIndex=-1,this.currentLevel=null,this._levels=[],this._maxAutoLevel=-1,this._iframeVariants=[]}onManifestLoading(e,n){this.resetLevels()}onManifestLoaded(e,n){let s=this.hls.config.preferManagedMediaSource,i=[],r={},a={},l=!1,c=!1,f=!1,m=!1;n.levels.forEach((g)=>{let b=g.attrs,v=H3(g,s),{audioCodec:k,videoCodec:T,imageCodec:_,width:P,height:U}=g;if(!v){this.log(`Some or all CODECS not supported "${b.CODECS}"`);return}l||(l=!!(P&&U)),c||(c=!!T),f||(f=!!k),m||(m=!!_);let{CODECS:z,"FRAME-RATE":V,"HDCP-LEVEL":X,"PATHWAY-ID":J,RESOLUTION:ee,"VIDEO-RANGE":te}=b,ie=`${`${J||"."}-`}${g.bitrate}-${ee}-${V}-${z}-${te}-${X}`;if(!r[ie]){let se=this.createLevel(g);r[ie]=se,a[ie]=1,i.push(se)}else if(r[ie].uri!==g.url&&!g.attrs["PATHWAY-ID"]){let se=a[ie]+=1;g.attrs["PATHWAY-ID"]=Array(se+1).join(".");let oe=this.createLevel(g);r[ie]=oe,i.push(oe)}else if(!g.iframes)r[ie].addGroupId("audio",b.AUDIO),r[ie].addGroupId("text",b.SUBTITLES)}),this.filterAndSortMediaOptions(i,n,l,c,f,m)}createLevel(e){let n=new Jc(e),s=e.supplemental;if(s!=null&&s.videoCodec&&!Dv(s.videoCodec,this.hls.config.preferManagedMediaSource)){let i=Error(`SUPPLEMENTAL-CODECS not supported "${s.videoCodec}"`);this.log(i.message),n.supportedResult=b9(i,[])}return n}filterAndSortMediaOptions(e,n,s,i,r,a){var l;let c=[],f=[],m=e,g=((l=n.stats)==null?void 0:l.parsing)||{},b=this.hls.config.preferManagedMediaSource;if((s||i)&&r)m=m.filter(({videoCodec:X,videoRange:J,width:ee,height:te})=>(!!X||!!(ee&&te))&&rE(J));if(i&&a)m=m.filter((X)=>!X.imageCodec);if(m.length===0){Promise.resolve().then(()=>{if(this.hls){let X="no level with compatible codecs found in manifest",J=X;if(n.levels.length)J=`one or more CODECS in variant not supported: ${ss(n.levels.map((te)=>te.attrs.CODECS).filter((te,ne,ie)=>ie.indexOf(te)===ne))}`,this.warn(J),X+=` (${J})`;let ee=Error(X);this.hls.trigger(Z.ERROR,{type:Rt.MEDIA_ERROR,details:Le.MANIFEST_INCOMPATIBLE_CODECS_ERROR,fatal:!0,url:n.url,error:ee,reason:J})}}),g.end=performance.now();return}if(n.audioTracks)c=n.audioTracks.filter((X)=>!X.audioCodec||Iv(X.audioCodec,b)),U3(c);if(n.subtitles)f=n.subtitles,U3(f);let v=m.slice(0);m.sort((X,J)=>{if(X.attrs["HDCP-LEVEL"]!==J.attrs["HDCP-LEVEL"])return(X.attrs["HDCP-LEVEL"]||"")>(J.attrs["HDCP-LEVEL"]||"")?1:-1;if(s&&X.height!==J.height)return X.height-J.height;if(X.frameRate!==J.frameRate)return X.frameRate-J.frameRate;if(X.videoRange!==J.videoRange)return e0.indexOf(X.videoRange)-e0.indexOf(J.videoRange);if(X.videoCodec!==J.videoCodec){let ee=j5(X.videoCodec),te=j5(J.videoCodec);if(ee!==te)return te-ee}if(X.uri===J.uri&&X.codecSet!==J.codecSet){let ee=Qd(X.codecSet),te=Qd(J.codecSet);if(ee!==te)return te-ee}if(X.averageBitrate!==J.averageBitrate)return X.averageBitrate-J.averageBitrate;return 0});let k=v[0];if(this.steering){if(m=this.steering.filterParsedLevels(m),m.length!==v.length){for(let X=0;X<v.length;X++)if(v[X].pathwayId===m[0].pathwayId){k=v[X];break}}}this._levels=m;for(let X=0;X<m.length;X++)if(m[X]===k){var T;this._firstLevel=X;let J=k.bitrate,ee=this.hls.bandwidthEstimate;if(this.log(`manifest loaded, ${m.length} level(s) found, first bitrate: ${J}`),((T=this.hls.userConfig)==null?void 0:T.abrEwmaDefaultEstimate)===void 0){let te=Math.min(J,this.hls.config.abrEwmaDefaultEstimateMax);if(te>ee&&ee===this.hls.abrEwmaDefaultEstimate)this.hls.bandwidthEstimate=te}break}let _=n.iframeVariants.filter((X)=>H3(X,b));this._iframeVariants=_;let P=r&&!i,U=this.hls.config,z=!!(U.audioStreamController&&U.audioTrackController),V={levels:m,audioTracks:c,subtitleTracks:f,iframeVariants:_,sessionData:n.sessionData,sessionKeys:n.sessionKeys,firstLevel:this._firstLevel,stats:n.stats,audio:r,video:i,altAudio:z&&!P&&c.some((X)=>!!X.url)};g.end=performance.now(),this.hls.trigger(Z.MANIFEST_PARSED,V)}get iframeVariants(){if(this._iframeVariants.length===0)return null;return this._iframeVariants}get levels(){if(this._levels.length===0)return null;return this._levels}get loadLevelObj(){return this.currentLevel}get level(){return this.currentLevelIndex}set level(e){let n=this._levels;if(n.length===0)return;if(e<0||e>=n.length){let m=Error("invalid level idx"),g=e<0;if(this.hls.trigger(Z.ERROR,{type:Rt.OTHER_ERROR,details:Le.LEVEL_SWITCH_ERROR,level:e,fatal:g,error:m,reason:m.message}),g)return;e=Math.min(e,n.length-1)}let s=this.currentLevelIndex,i=this.currentLevel,r=i?i.attrs["PATHWAY-ID"]:void 0,a=n[e],l=a.attrs["PATHWAY-ID"];if(this.currentLevelIndex=e,this.currentLevel=a,s===e&&i&&r===l)return;this.log(`Switching to level ${e} (${a.height?a.height+"p ":""}${a.videoRange?a.videoRange+" ":""}${a.codecSet?a.codecSet+" ":""}@${a.bitrate})${l?" with Pathway "+l:""} from level ${s}${r?" with Pathway "+r:""}`);let c={level:e,attrs:a.attrs,details:a.details,bitrate:a.bitrate,averageBitrate:a.averageBitrate,maxBitrate:a.maxBitrate,realBitrate:a.realBitrate,width:a.width,height:a.height,codecSet:a.codecSet,audioCodec:a.audioCodec,videoCodec:a.videoCodec,audioGroups:a.audioGroups,subtitleGroups:a.subtitleGroups,loaded:a.loaded,loadError:a.loadError,fragmentError:a.fragmentError,name:a.name,id:a.id,uri:a.uri,url:a.url,urlId:0,audioGroupIds:a.audioGroupIds,textGroupIds:a.textGroupIds};this.hls.trigger(Z.LEVEL_SWITCHING,c);let f=a.details;if(!f||f.live){let m=this.switchParams(a.uri,i==null?void 0:i.details,f);this.loadPlaylist(m)}}get manualLevel(){return this.manualLevelIndex}set manualLevel(e){if(this.manualLevelIndex=e,this._startLevel===void 0)this._startLevel=e;if(e!==-1)this.level=e}get firstLevel(){return this._firstLevel}set firstLevel(e){this._firstLevel=e}get startLevel(){if(this._startLevel===void 0){let e=this.hls.config.startLevel;if(e!==void 0)return e;return this.hls.firstAutoLevel}return this._startLevel}set startLevel(e){this._startLevel=e}get pathways(){if(this.steering)return this.steering.pathways();return[]}get pathwayPriority(){if(this.steering)return this.steering.pathwayPriority;return null}set pathwayPriority(e){if(this.steering){let n=this.steering.pathways(),s=e.filter((i)=>n.indexOf(i)!==-1);if(e.length<1){this.warn(`pathwayPriority ${e} should contain at least one pathway from list: ${n}`);return}this.steering.pathwayPriority=s}}onError(e,n){if(n.fatal||!n.context)return;if(n.context.type===tn.LEVEL&&n.context.level===this.level)this.checkRetry(n)}onFragBuffered(e,{frag:n}){if(n.type===Tt.MAIN){let s=n.elementaryStreams;if(!Object.keys(s).some((r)=>!!s[r]))return;let i=this._levels[n.level];if(i!=null&&i.loadError)this.log(`Resetting level error count of ${i.loadError} on frag buffered`),i.loadError=0}}onLevelLoaded(e,n){var s;let{level:i,details:r}=n,a=n.levelInfo;if(!a){var l;if(this.warn(`Invalid level index ${i}`),(l=n.deliveryDirectives)!=null&&l.skip)r.deltaUpdateFailed=!0;return}if(a===this.currentLevel||n.withoutMultiVariant){if(a.fragmentError===0)a.loadError=0;let c=a.details;if(c===n.details&&c.advanced)c=void 0;this.playlistLoaded(i,n,c)}else if((s=n.deliveryDirectives)!=null&&s.skip)r.deltaUpdateFailed=!0}loadPlaylist(e){if(super.loadPlaylist(),this.shouldLoadPlaylist(this.currentLevel))this.scheduleLoading(this.currentLevel,e)}loadingPlaylist(e,n){super.loadingPlaylist(e,n);let s=this.getUrlWithDirectives(e.uri,n),i=this.currentLevelIndex,r=e.attrs["PATHWAY-ID"],a=e.details,l=a==null?void 0:a.age;this.log(`Loading level index ${i}${(n==null?void 0:n.msn)!==void 0?" at sn "+n.msn+" part "+n.part:""}${r?" Pathway "+r:""}${l&&a.live?" age "+l.toFixed(1)+(a.type?" "+a.type||"":""):""} ${s}`),this.hls.trigger(Z.LEVEL_LOADING,{url:s,level:i,levelInfo:e,pathwayId:e.attrs["PATHWAY-ID"],id:0,deliveryDirectives:n||null})}get nextLoadLevel(){if(this.manualLevelIndex!==-1)return this.manualLevelIndex;else return this.hls.nextAutoLevel}set nextLoadLevel(e){let n=this.currentLevelIndex;if(this.manualLevelIndex===-1&&e!==n&&e!==-1){let i=this.hls.config.abrSwitchInterval;if(i>0){let r=performance.now(),a=r-this.lastABRSwitchTime,l=i*1000;if(this.lastABRSwitchTime>-1&&a<l){this.warn(`Preventing ABR level switch: ${n} -> ${e} (${Math.round(a)}ms < ${l}ms / ${i}s)`);return}this.lastABRSwitchTime=r,this.log(`Allowing ABR level switch: ${n} -> ${e} (${Math.round(a)}ms >= ${l}ms / ${i}s)`)}}if(this.level=e,this.manualLevelIndex===-1)this.hls.nextAutoLevel=e}removeLevel(e){var n;if(this._levels.length===1)return;let s=this._levels.filter((r,a)=>{if(a!==e)return!0;if(this.steering)this.steering.removeLevel(r);if(r===this.currentLevel){if(this.currentLevel=null,this.currentLevelIndex=-1,r.details)r.details.fragments.forEach((l)=>l.level=-1)}return!1});if(V9(s),this._levels=s,this.currentLevelIndex>-1&&(n=this.currentLevel)!=null&&n.details)this.currentLevelIndex=this.currentLevel.details.fragments[0].level;if(this.manualLevelIndex>-1)this.manualLevelIndex=this.currentLevelIndex;let i=s.length-1;if(this._firstLevel=Math.min(this._firstLevel,i),this._startLevel)this._startLevel=Math.min(this._startLevel,i);this.hls.trigger(Z.LEVELS_UPDATED,{levels:s})}onLevelsUpdated(e,{levels:n}){this._levels=n}checkMaxAutoUpdated(){let{autoLevelCapping:e,maxAutoLevel:n,maxHdcpLevel:s}=this.hls;if(this._maxAutoLevel!==n)this._maxAutoLevel=n,this.hls.trigger(Z.MAX_AUTO_LEVEL_UPDATED,{autoLevelCapping:e,levels:this.levels,maxAutoLevel:n,minAutoLevel:this.hls.minAutoLevel,maxHdcpLevel:s})}}function Iv(e,n){return Sh(e,"audio",n)}function Dv(e,n){return Sh(e,"video",n)}function H3(e,n){let{audioCodec:s,videoCodec:i}=e;if(s)e.audioCodec=s=Zd(s,n)||void 0;if(i)i=e.videoCodec=KT(i);let{unknownCodecs:r}=e;if((r==null?void 0:r.length)||0||s&&!Iv(s,n)||i&&!Dv(i,n))return!1;return!0}function U3(e){let n={};e.forEach((s)=>{let i=s.groupId||"";s.id=n[i]=n[i]||0,n[i]++})}class qv extends $i{constructor(e,n){super("key-loader",n);this.config=void 0,this.keyLoaderInfo={},this.emeController=null,this.config=e}abort(e){for(let s in this.keyLoaderInfo){let i=this.keyLoaderInfo[s].loader;if(i){var n;if(e&&e!==((n=i.context)==null?void 0:n.frag.type))return;i.abort()}}}destroy(){for(let e in this.keyLoaderInfo){let n=this.keyLoaderInfo[e].loader;if(n)n.destroy()}this.emeController=null,this.keyLoaderInfo={}}loadClear(e,n,s){if(this.emeController)return this.emeController.loadClear(e,n,s);return null}load(e,n){if(!e.decryptdata&&e.encrypted&&this.emeController&&this.config.emeEnabled)return this.emeController.selectKeySystemFormat(e).then((s)=>this.loadInternal(e,n,s));return this.loadInternal(e,n)}loadInternal(e,n,s){if(s)e.setKeyFormat(s);let i=e.decryptdata;if(!i){let a=Error(s?`Expected frag.decryptdata to be defined after setting format ${s}`:`Missing decryption data on fragment in onKeyLoading (emeEnabled with controller: ${this.emeController&&this.config.emeEnabled})`);return Promise.reject(tl(e,Le.KEY_LOAD_ERROR,a))}let r=e;switch(i.method){case"SAMPLE-AES":case"SAMPLE-AES-CENC":case"SAMPLE-AES-CTR":if(i.keyFormat==="identity")return this.loadKeyHTTP(r);return n?n.then(()=>this.loadKeyEME(r)):this.loadKeyEME(r);case"AES-128":case"AES-256":case"AES-256-CTR":return this.loadKeyHTTP(r);default:return Promise.reject(tl(e,Le.KEY_LOAD_ERROR,Error(`Key supplied with unsupported METHOD: "${i.method}"`)))}}loadKeyEME(e){if(this.emeController&&this.config.emeEnabled){var n;if(!e.decryptdata.keyId&&(n=e.initSegment)!=null&&n.data){let s=jT(e.initSegment.data);if(s.length){let i=s[0],r=e.decryptdata.uri;if(i.some((a)=>a!==0))this.log(`Using keyId found in init segment ${Qs(i)} keyUri: ${r}`),mo.setKeyIdForUri(r,i);else{let a=mo.addKeyIdForUri(r);this.log(`Patching empty keyId with ${Qs(a)} keyUri: ${r}`),i=a}e.decryptdata.keyId=i}}return this.emeController.loadKey(e).then(()=>({frag:e,keyInfo:{decryptdata:e.decryptdata}}))}return Promise.reject(tl(e,Le.KEY_LOAD_ERROR,Error(`emeEnabled with controller: ${this.emeController&&this.config.emeEnabled})`)))}loadKeyHTTP(e){let n=e.decryptdata,s=n.uri;if(!s)return Promise.reject(tl(e,Le.KEY_LOAD_ERROR,Error(`Invalid key URI: "${s}"`)));let i=this.keyLoaderInfo[s];if(i){if(i.decryptdata.key)return n.key=i.decryptdata.key,i.keyLoadPromise=null,Promise.resolve({frag:e,keyInfo:i});if(i.keyLoadPromise)return i.keyLoadPromise.then((f)=>(n.key=i.decryptdata.key,Dt(Dt({},f),{},{frag:e})))}this.log(`Loading${n.keyId?" keyId: "+Qs(n.keyId):""} URI: ${n.uri} from ${e.type} ${e.level}`);let r=this.config,l=new r.loader(r);e.keyLoader=l;let c=this.keyLoaderInfo[s]={decryptdata:n,keyLoadPromise:null,loader:l};return c.keyLoadPromise=new Promise((f,m)=>{let g={type:tn.KEY,keyInfo:c,frag:e,responseType:"arraybuffer",url:s},b=r.keyLoadPolicy.default,v={loadPolicy:b,timeout:b.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0},k={onSuccess:(T,_,P,U)=>{let{frag:z,keyInfo:V,url:X}=P;if(!z.decryptdata||V!==this.keyLoaderInfo[X])return m(tl(z,Le.KEY_LOAD_ERROR,Error("after key load, decryptdata unset or changed"),U));V.decryptdata.key=z.decryptdata.key=new Uint8Array(T.data),z.keyLoader=V.loader=V.keyLoadPromise=null,f({frag:z,keyInfo:V})},onError:(T,_,P,U)=>{this.resetLoader(_),m(tl(e,Le.KEY_LOAD_ERROR,Error(`HTTP Error ${T.code} loading key ${T.text}`),P,Dt({url:s,data:void 0},T)))},onTimeout:(T,_,P)=>{this.resetLoader(_),m(tl(e,Le.KEY_LOAD_TIMEOUT,Error("key loading timed out"),P))},onAbort:(T,_,P)=>{this.resetLoader(_),m(tl(e,Le.INTERNAL_ABORTED,Error("key loading aborted"),P))}};l.load(g,v,k)})}resetLoader(e){let{frag:n,keyInfo:s,url:i}=e,r=s.loader;if(n.keyLoader===r)n.keyLoader=s.loader=s.keyLoadPromise=null;if(delete this.keyLoaderInfo[i],r)r.destroy()}}function tl(e,n=Le.KEY_LOAD_ERROR,s,i,r){return new ia({type:Rt.NETWORK_ERROR,details:n,fatal:!1,frag:e,response:r,error:s,networkDetails:i||null})}function z3(e){let{type:n}=e;switch(n){case tn.AUDIO_TRACK:return Tt.AUDIO;case tn.SUBTITLE_TRACK:return Tt.SUBTITLE;default:return Tt.MAIN}}function Ug(e,n){let s=e.url;if(s===void 0||s.indexOf("data:")===0)s=n.url;return s}class Mv{constructor(e){this.hls=void 0,this.loaders=Object.create(null),this.variableList=null,this.onManifestLoaded=this.checkAutostartLoad,this.hls=e,this.registerListeners()}startLoad(e){}stopLoad(){this.destroyInternalLoaders()}registerListeners(){let{hls:e}=this;e.on(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.on(Z.LEVEL_LOADING,this.onLevelLoading,this),e.on(Z.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),e.on(Z.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this),e.on(Z.LEVELS_UPDATED,this.onLevelsUpdated,this)}unregisterListeners(){let{hls:e}=this;e.off(Z.MANIFEST_LOADING,this.onManifestLoading,this),e.off(Z.LEVEL_LOADING,this.onLevelLoading,this),e.off(Z.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),e.off(Z.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this),e.off(Z.LEVELS_UPDATED,this.onLevelsUpdated,this)}createInternalLoader(e){let n=this.hls.config,{pLoader:s,loader:i}=n,a=new(s||i)(n);return this.loaders[e.type]=a,a}getInternalLoader(e){return this.loaders[e.type]}resetInternalLoader(e){if(this.loaders[e])delete this.loaders[e]}destroyInternalLoaders(){for(let e in this.loaders){let n=this.loaders[e];if(n)n.destroy();this.resetInternalLoader(e)}}destroy(){this.variableList=null,this.unregisterListeners(),this.destroyInternalLoaders()}onManifestLoading(e,n){let{url:s}=n;this.variableList=null,this.load({id:null,level:0,responseType:"text",type:tn.MANIFEST,url:s,deliveryDirectives:null,levelOrTrack:null})}onLevelLoading(e,n){let{id:s,level:i,pathwayId:r,url:a,deliveryDirectives:l,levelInfo:c}=n;this.load({id:s,level:i,pathwayId:r,responseType:"text",type:tn.LEVEL,url:a,deliveryDirectives:l,levelOrTrack:c})}onAudioTrackLoading(e,n){let{id:s,groupId:i,url:r,deliveryDirectives:a,track:l}=n;this.load({id:s,groupId:i,level:null,responseType:"text",type:tn.AUDIO_TRACK,url:r,deliveryDirectives:a,levelOrTrack:l})}onSubtitleTrackLoading(e,n){let{id:s,groupId:i,url:r,deliveryDirectives:a,track:l}=n;this.load({id:s,groupId:i,level:null,responseType:"text",type:tn.SUBTITLE_TRACK,url:r,deliveryDirectives:a,levelOrTrack:l})}onLevelsUpdated(e,n){let s=this.loaders[tn.LEVEL];if(s){let i=s.context;if(i&&!n.levels.some((r)=>r===i.levelOrTrack))s.abort(),delete this.loaders[tn.LEVEL]}}load(e){var n;let s=this.hls.config,i=this.getInternalLoader(e);if(i){let f=this.hls.logger,m=i.context;if((m==null?void 0:m.levelOrTrack)===e.levelOrTrack&&(m.url===e.url||m.deliveryDirectives&&!e.deliveryDirectives)){if(m.url===e.url)f.log(`[playlist-loader]: ignore ${e.url} ongoing request`);else f.log(`[playlist-loader]: ignore ${e.url} in favor of ${m.url}`);return}f.log(`[playlist-loader]: aborting previous loader for type: ${e.type}`),i.abort()}let r;if(e.type===tn.MANIFEST)r=s.manifestLoadPolicy.default;else r=Nn({},s.playlistLoadPolicy.default,{timeoutRetry:null,errorRetry:null});if(i=this.createInternalLoader(e),lt((n=e.deliveryDirectives)==null?void 0:n.part)){let f;if(e.type===tn.LEVEL&&e.level!==null)f=this.hls.levels[e.level].details;else if(e.type===tn.AUDIO_TRACK&&e.id!==null)f=this.hls.audioTracks[e.id].details;else if(e.type===tn.SUBTITLE_TRACK&&e.id!==null)f=this.hls.subtitleTracks[e.id].details;if(f){let m=f.partTarget,g=f.targetduration;if(m&&g){let b=Math.max(m*3,g*0.8)*1000;r=Nn({},r,{maxTimeToFirstByteMs:Math.min(b,r.maxTimeToFirstByteMs),maxLoadTimeMs:Math.min(b,r.maxTimeToFirstByteMs)})}}}let a=r.errorRetry||r.timeoutRetry||{},l={loadPolicy:r,timeout:r.maxLoadTimeMs,maxRetry:a.maxNumRetry||0,retryDelay:a.retryDelayMs||0,maxRetryDelay:a.maxRetryDelayMs||0},c={onSuccess:(f,m,g,b)=>{let v=this.getInternalLoader(g);this.resetInternalLoader(g.type);let k=f.data;if(m.parsing.start=performance.now(),Ea.isMediaPlaylist(k)||g.type!==tn.MANIFEST)this.handleTrackOrLevelPlaylist(f,m,g,b||null,v);else this.handleMasterPlaylist(f,m,g,b)},onError:(f,m,g,b)=>{this.handleNetworkError(m,g,!1,f,b)},onTimeout:(f,m,g)=>{this.handleNetworkError(m,g,!0,void 0,f)}};i.load(e,l,c)}checkAutostartLoad(){if(!this.hls)return;let{config:{autoStartLoad:e,startPosition:n},forceStartLoad:s}=this.hls;if(e||s)this.hls.logger.log(`${e?"auto":"force"} startLoad with configured startPosition ${n}`),this.hls.startLoad(n)}handleMasterPlaylist(e,n,s,i){let r=this.hls,a=e.data,l=Ug(e,s),c=Ea.parseMasterPlaylist(a,l);if(c.playlistParsingError){n.parsing.end=performance.now(),this.handleManifestParsingError(e,s,c.playlistParsingError,i,n);return}let{contentSteering:f,levels:m,iframeVariants:g,sessionData:b,sessionKeys:v,startTimeOffset:k,variableList:T}=c;this.variableList=T,m.forEach((z)=>{let{unknownCodecs:V}=z;if(V){let{preferManagedMediaSource:X}=this.hls.config,{audioCodec:J,videoCodec:ee}=z;for(let te=V.length;te--;){let ne=V[te];if(Sh(ne,"audio",X))z.audioCodec=J=J?`${J},${ne}`:ne,Qc.audio[J.substring(0,4)]=2,V.splice(te,1);else if(Sh(ne,"video",X))z.videoCodec=ee=ee?`${ee},${ne}`:ne,Qc.video[ee.substring(0,4)]=2,V.splice(te,1)}}});let{AUDIO:_=[],SUBTITLES:P,"CLOSED-CAPTIONS":U}=Ea.parseMasterPlaylistMedia(a,l,c);if(_.length){if(!_.some((V)=>!V.url)&&m[0].audioCodec&&!m[0].attrs.AUDIO)this.hls.logger.log("[playlist-loader]: audio codec signaled in quality level, but no embedded audio track signaled, create one"),_.unshift({type:"main",name:"main",groupId:"main",default:!1,autoselect:!1,forced:!1,id:-1,attrs:new ks({}),bitrate:0,url:""})}r.trigger(Z.MANIFEST_LOADED,{levels:m,audioTracks:_,subtitles:P,iframeVariants:g,captions:U,contentSteering:f,url:l,stats:n,networkDetails:i,sessionData:b,sessionKeys:v,startTimeOffset:k,variableList:T})}handleTrackOrLevelPlaylist(e,n,s,i,r){let a=this.hls,{id:l,level:c,type:f}=s,m=Ug(e,s),g=lt(c)?c:lt(l)?l:0,b=z3(s),v=Ea.parseLevelPlaylist(e.data,m,g,b,0,this.variableList);if(f===tn.MANIFEST){let k={attrs:new ks({}),bitrate:0,details:v,name:"",url:m};v.requestScheduled=n.loading.start+U9(v,0),a.trigger(Z.MANIFEST_LOADED,{levels:[k],audioTracks:[],iframeVariants:[],url:m,stats:n,networkDetails:i,sessionData:null,sessionKeys:null,contentSteering:null,startTimeOffset:null,variableList:null})}n.parsing.end=performance.now(),s.levelDetails=v,this.handlePlaylistLoaded(v,e,n,s,i,r)}handleManifestParsingError(e,n,s,i,r){this.hls.trigger(Z.ERROR,{type:Rt.NETWORK_ERROR,details:Le.MANIFEST_PARSING_ERROR,fatal:n.type===tn.MANIFEST,url:e.url,err:s,error:s,reason:s.message,response:e,context:n,networkDetails:i,stats:r})}handleNetworkError(e,n,s=!1,i,r){let a=`A network ${s?"timeout":"error"+(i?" (status "+i.code+")":"")} occurred while loading ${e.type}`;if(e.type===tn.LEVEL)a+=`: ${e.level} id: ${e.id}`;else if(e.type===tn.AUDIO_TRACK||e.type===tn.SUBTITLE_TRACK)a+=` id: ${e.id} group-id: "${e.groupId}"`;let l=Error(a);this.hls.logger.warn(`[playlist-loader]: ${a}`);let c=Le.UNKNOWN,f=!1,m=this.getInternalLoader(e);switch(e.type){case tn.MANIFEST:c=s?Le.MANIFEST_LOAD_TIMEOUT:Le.MANIFEST_LOAD_ERROR,f=!0;break;case tn.LEVEL:c=s?Le.LEVEL_LOAD_TIMEOUT:Le.LEVEL_LOAD_ERROR,f=!1;break;case tn.AUDIO_TRACK:c=s?Le.AUDIO_TRACK_LOAD_TIMEOUT:Le.AUDIO_TRACK_LOAD_ERROR,f=!1;break;case tn.SUBTITLE_TRACK:c=s?Le.SUBTITLE_TRACK_LOAD_TIMEOUT:Le.SUBTITLE_LOAD_ERROR,f=!1;break}if(m)this.resetInternalLoader(e.type);let g={type:Rt.NETWORK_ERROR,details:c,fatal:f,url:e.url,loader:m,context:e,error:l,networkDetails:n,stats:r};if(i){let b=e.url;if(n&&"url"in n)b=n.url;g.response=Dt({url:b,data:void 0},i)}this.hls.trigger(Z.ERROR,g)}handlePlaylistLoaded(e,n,s,i,r,a){let l=this.hls,{type:c,level:f,levelOrTrack:m,id:g,groupId:b,deliveryDirectives:v}=i,k=Ug(n,i),T=z3(i),_=typeof i.level==="number"&&T===Tt.MAIN?f:void 0;if(m&&"iframes"in m&&m.iframes&&!e.iframesOnly)e.playlistParsingError=Error("EXT-X-I-FRAME-STREAM-INF media playlist MUST contain an EXT-X-I-FRAMES-ONLY tag"),e.iframesOnly=!0;let P=e.playlistParsingError;if(P){if(this.hls.logger.warn(`${P} ${e.url}`),!l.config.ignorePlaylistParsingErrors){l.trigger(Z.ERROR,{type:Rt.NETWORK_ERROR,details:Le.LEVEL_PARSING_ERROR,fatal:!1,url:k,error:P,reason:P.message,response:n,context:i,level:_,parent:T,networkDetails:r,stats:s});return}e.playlistParsingError=null}if(!e.fragments.length){let U=e.playlistParsingError=Error("No Segments found in Playlist");l.trigger(Z.ERROR,{type:Rt.NETWORK_ERROR,details:Le.LEVEL_EMPTY_ERROR,fatal:!1,url:k,error:U,reason:U.message,response:n,context:i,level:_,parent:T,networkDetails:r,stats:s});return}if(e.live&&a){if(a.getCacheAge)e.ageHeader=a.getCacheAge()||0;if(!a.getCacheAge||isNaN(e.ageHeader))e.ageHeader=0}switch(c){case tn.MANIFEST:case tn.LEVEL:if(_){if(!m)_=0;else if(m!==l.levels[_]){let U=l.levels.indexOf(m);if(U>-1)_=U}}l.trigger(Z.LEVEL_LOADED,{details:e,levelInfo:m||l.levels[0],level:_||0,id:g||0,stats:s,networkDetails:r,deliveryDirectives:v,withoutMultiVariant:c===tn.MANIFEST,context:i});break;case tn.AUDIO_TRACK:l.trigger(Z.AUDIO_TRACK_LOADED,{details:e,track:m,id:g||0,groupId:b||"",stats:s,networkDetails:r,deliveryDirectives:v,context:i});break;case tn.SUBTITLE_TRACK:l.trigger(Z.SUBTITLE_TRACK_LOADED,{details:e,track:m,id:g||0,groupId:b||"",stats:s,networkDetails:r,deliveryDirectives:v,context:i});break}}}class Yn{static get version(){return Ah}static isMSESupported(){return cv()}static isSupported(){return o_()}static getMediaSource(){return al()}static get Events(){return Z}static get MetadataSchema(){return Fi}static get ErrorTypes(){return Rt}static get ErrorDetails(){return Le}static get DefaultConfig(){if(!Yn.defaultConfig)return G_;return Yn.defaultConfig}static set DefaultConfig(e){Yn.defaultConfig=e}constructor(e={}){this.config=void 0,this.userConfig=void 0,this.logger=void 0,this._url=null,this.streamController=void 0,this.coreComponents=void 0,this.networkControllers=void 0,this._emitter=new q1,this._autoLevelCapping=-1,this._maxHdcpLevel=null,this.abrController=void 0,this.bufferController=void 0,this.capLevelController=void 0,this.latencyController=void 0,this.levelController=void 0,this.audioStreamController=void 0,this.subtititleStreamController=void 0,this.audioTrackController=void 0,this.subtitleTrackController=void 0,this.interstitialsController=void 0,this.iframeController=void 0,this.gapController=void 0,this.emeController=void 0,this.cmcdController=void 0,this._media=null,this._sessionId=void 0,this.triggeringException=void 0,this.started=!1;let n=this.logger=tT(e.debug||!1,"Hls instance",e.loggerId||e.assetPlayerId),s=this.config=$_(Yn.DefaultConfig,e,n);if(this.userConfig=e,s.progressive)X_(s,n);let{streamController:i,abrController:r,bufferController:a,capLevelController:l,errorController:c,fpsController:f,id3TrackController:m,iframeController:g,gapController:b}=s,v=new c(this),k=this.abrController=new r(this),T=new _9(this),_=s.interstitialsController,P=_?this.interstitialsController=new _(this,Yn):null,U=a?this.bufferController=new a(this,T):null,z=l?this.capLevelController=new l(this):null,V=f?new f(this):null,X=s.cmcdController,J=X?this.cmcdController=new X(this):null,ee=new Mv(this),te=s.contentSteeringController,ne=te?new te(this):null,ie=this.levelController=new _v(this,ne),se=m?new m(this):void 0,oe=new qv(this.config,this.logger),ye=this.streamController=new i(this,T,oe),Se=this.gapController=b?new b(this,T):void 0;if(z)z.setStreamController(ye);let me=[ee,ie,ye];if(P)me.splice(1,0,P);if(ne)me.splice(1,0,ne);this.networkControllers=me;let de=[k];if(U)de.push(U);if(Se)de.push(Se);if(z)de.push(z);if(V)V.setStreamController(ye),de.push(V);if(se)de.push(se);de.push(T),this.audioTrackController=this.createController(s.audioTrackController,me);let ce=s.audioStreamController;if(ce)me.push(this.audioStreamController=new ce(this,T,oe));this.subtitleTrackController=this.createController(s.subtitleTrackController,me);let Ee=s.subtitleStreamController;if(Ee)me.push(this.subtititleStreamController=new Ee(this,T,oe));if(this.createController(s.timelineController,de),oe.emeController=this.emeController=this.createController(s.emeController,de),J)de.push(J);this.latencyController=this.createController(s.latencyController,de),this.coreComponents=de,this.iframeController=g?new g(this,Yn):void 0,me.push(v);let we=v.onErrorOut;if(typeof we==="function")this.on(Z.ERROR,we,v);this.on(Z.MANIFEST_LOADED,ee.onManifestLoaded,ee)}createController(e,n){if(e){let s=new e(this);if(n)n.push(s);return s}return null}on(e,n,s=this){this._emitter.on(e,n,s)}once(e,n,s=this){this._emitter.once(e,n,s)}removeAllListeners(e){this._emitter.removeAllListeners(e)}off(e,n,s=this,i){this._emitter.off(e,n,s,i)}listeners(e){return this._emitter.listeners(e)}emit(e,n,s){return this._emitter.emit(e,n,s)}trigger(e,n){if(this.config.debug)return this.emit(e,e,n);else try{return this.emit(e,e,n)}catch(s){if(this.logger.error("An internal error happened while handling event "+e+'. Error message: "'+s.message+'". Here is a stacktrace:',s),!this.triggeringException){this.triggeringException=!0;let i=e===Z.ERROR;this.trigger(Z.ERROR,{type:Rt.OTHER_ERROR,details:Le.INTERNAL_EXCEPTION,fatal:i,event:e,error:s}),this.triggeringException=!1}}return!1}listenerCount(e){return this._emitter.listenerCount(e)}destroy(){this.logger.log("destroy"),this.trigger(Z.DESTROYING,void 0),this.detachMedia(),this.removeAllListeners(),this._autoLevelCapping=-1,this._url=null,this.networkControllers.forEach((n)=>n.destroy()),this.networkControllers.length=0,this.coreComponents.forEach((n)=>n.destroy()),this.coreComponents.length=0,this.iframeController=void 0;let e=this.config;e.xhrSetup=e.fetchSetup=void 0,this.userConfig=null}attachMedia(e){if(!e||"media"in e&&!e.media){let r=Error(`attachMedia failed: invalid argument (${e})`);this.trigger(Z.ERROR,{type:Rt.OTHER_ERROR,details:Le.ATTACH_MEDIA_ERROR,fatal:!0,error:r});return}if(this.logger.log("attachMedia"),this._media)this.logger.warn("media must be detached before attaching"),this.detachMedia();let n="media"in e,s=n?e.media:e,i=n?e:{media:s};this._media=s,this.trigger(Z.MEDIA_ATTACHING,i)}detachMedia(){this.logger.log("detachMedia");let e={};this.trigger(Z.MEDIA_DETACHING,e),this._media=null,this.trigger(Z.MEDIA_DETACHED,e)}transferMedia(){var e;this._media=null;let n=((e=this.bufferController)==null?void 0:e.transferMedia())||null,s={transferMedia:n};return this.trigger(Z.MEDIA_DETACHING,s),this.trigger(Z.MEDIA_DETACHED,s),n}loadSource(e){var n;this.stopLoad();let s=this.media,i=this._url,r=this._url=w1.buildAbsoluteURL(self.location.href,e,{alwaysNormalize:!0});if(this._autoLevelCapping=-1,this._maxHdcpLevel=null,this.logger.log(`loadSource:${r}`),s&&i&&(i!==r||(n=this.bufferController)!=null&&n.hasSourceTypes()))this.detachMedia(),this.attachMedia(s);this.trigger(Z.MANIFEST_LOADING,{url:e})}get url(){return this._url}get hasEnoughToStart(){return this.streamController.hasEnoughToStart}get startPosition(){return this.streamController.startPositionValue}startLoad(e=-1,n){this.logger.log(`startLoad(${e+(n?", <skip seek to start>":"")})`),this.started=!0,this.resumeBuffering();for(let s=0;s<this.networkControllers.length;s++)if(this.networkControllers[s].startLoad(e,n),!this.started||!this.networkControllers)break}stopLoad(){this.logger.log("stopLoad"),this.started=!1;for(let e=0;e<this.networkControllers.length;e++)if(this.networkControllers[e].stopLoad(),this.started||!this.networkControllers)break}get loadingEnabled(){return this.started&&this.streamController.state!==Ve.STOPPED}get bufferingEnabled(){return this.streamController.bufferingEnabled}resumeBuffering(){if(!this.bufferingEnabled)this.logger.log("resume buffering"),this.networkControllers.forEach((e)=>{if(e.resumeBuffering)e.resumeBuffering()})}pauseBuffering(){if(this.bufferingEnabled)this.logger.log("pause buffering"),this.networkControllers.forEach((e)=>{if(e.pauseBuffering)e.pauseBuffering()})}get inFlightFragments(){let e={[Tt.MAIN]:this.streamController.inFlightFrag};if(this.audioStreamController)e[Tt.AUDIO]=this.audioStreamController.inFlightFrag;if(this.subtititleStreamController)e[Tt.SUBTITLE]=this.subtititleStreamController.inFlightFrag;return e}swapAudioCodec(){this.logger.log("swapAudioCodec"),this.streamController.swapAudioCodec()}recoverMediaError(){this.logger.log("recoverMediaError");let e=this._media,n=this.started,s=e==null?void 0:e.currentTime;if(this.detachMedia(),e){if(this.attachMedia(e),n){if(s)this.startLoad(s);else if(!this.config.autoStartLoad)this.startLoad()}}}removeLevel(e){this.levelController.removeLevel(e)}get sessionId(){let e=this._sessionId;if(!e)e=this._sessionId=J3();return e}get levels(){let e=this.levelController.levels;return e?e:[]}get latestLevelDetails(){return this.streamController.getLevelDetails()||null}get loadLevelObj(){return this.levelController.loadLevelObj}get currentLevel(){return this.streamController.currentLevel}set currentLevel(e){this.logger.log(`set currentLevel:${e}`),this.levelController.manualLevel=e,this.streamController.immediateLevelSwitch()}get nextLevel(){return this.streamController.nextLevel}set nextLevel(e){this.logger.log(`set nextLevel:${e}`),this.levelController.manualLevel=e,this.streamController.nextLevelSwitch()}get loadLevel(){return this.levelController.level}set loadLevel(e){this.logger.log(`set loadLevel:${e}`),this.levelController.manualLevel=e}get nextLoadLevel(){return this.levelController.nextLoadLevel}set nextLoadLevel(e){this.levelController.nextLoadLevel=e}get firstLevel(){return Math.max(this.levelController.firstLevel,this.minAutoLevel)}set firstLevel(e){this.logger.log(`set firstLevel:${e}`),this.levelController.firstLevel=e}get startLevel(){let e=this.levelController.startLevel;if(e===-1&&this.abrController.forcedAutoLevel>-1)return this.abrController.forcedAutoLevel;return e}set startLevel(e){if(this.logger.log(`set startLevel:${e}`),e!==-1)e=Math.max(e,this.minAutoLevel);this.levelController.startLevel=e}get capLevelToPlayerSize(){return this.config.capLevelToPlayerSize}set capLevelToPlayerSize(e){let n=this.capLevelController,s=!!e;if(n&&s!==this.config.capLevelToPlayerSize){if(s)n.startCapping();else n.stopCapping(),this.autoLevelCapping=-1,this.streamController.nextLevelSwitch();this.config.capLevelToPlayerSize=s}}get autoLevelCapping(){return this._autoLevelCapping}get bandwidthEstimate(){let{bwEstimator:e}=this.abrController;if(!e)return NaN;return e.getEstimate()}set bandwidthEstimate(e){this.abrController.resetEstimator(e)}get abrEwmaDefaultEstimate(){let{bwEstimator:e}=this.abrController;if(!e)return NaN;return e.defaultEstimate}get ttfbEstimate(){let{bwEstimator:e}=this.abrController;if(!e)return NaN;return e.getEstimateTTFB()}set autoLevelCapping(e){if(this._autoLevelCapping!==e)this.logger.log(`set autoLevelCapping:${e}`),this._autoLevelCapping=e,this.levelController.checkMaxAutoUpdated()}get maxHdcpLevel(){return this._maxHdcpLevel}set maxHdcpLevel(e){if(iE(e)&&this._maxHdcpLevel!==e)this._maxHdcpLevel=e,this.levelController.checkMaxAutoUpdated()}get autoLevelEnabled(){return this.levelController.manualLevel===-1}get manualLevel(){return this.levelController.manualLevel}get minAutoLevel(){let{levels:e,config:{minAutoBitrate:n}}=this;if(!e)return 0;let s=e.length;for(let i=0;i<s;i++)if(e[i].maxBitrate>=n)return i;return 0}get maxAutoLevel(){let{levels:e,autoLevelCapping:n,maxHdcpLevel:s}=this,i;if(n===-1&&e!=null&&e.length)i=e.length-1;else i=n;if(s)for(let r=i;r--;){let a=e[r].attrs["HDCP-LEVEL"];if(a&&a<=s)return r}return i}get firstAutoLevel(){return this.abrController.firstAutoLevel}get nextAutoLevel(){return this.abrController.nextAutoLevel}set nextAutoLevel(e){this.abrController.nextAutoLevel=e}get playingDate(){return this.streamController.currentProgramDateTime}get mainForwardBufferInfo(){return this.streamController.getMainFwdBufferInfo()}get audioForwardBufferInfo(){var e;return((e=this.audioStreamController)==null?void 0:e.getFwdBufferInfo())||null}get maxBufferLength(){return this.streamController.maxBufferLength}setAudioOption(e){var n;return((n=this.audioTrackController)==null?void 0:n.setAudioOption(e))||null}setSubtitleOption(e){var n;return((n=this.subtitleTrackController)==null?void 0:n.setSubtitleOption(e))||null}get allAudioTracks(){let e=this.audioTrackController;return e?e.allAudioTracks:[]}get audioTracks(){let e=this.audioTrackController;return e?e.audioTracks:[]}get audioTrack(){let e=this.audioTrackController;return e?e.audioTrack:-1}set audioTrack(e){let n=this.audioTrackController;if(n)n.audioTrack=e}get nextAudioTrack(){var e,n;return(e=(n=this.audioStreamController)==null?void 0:n.nextAudioTrack)!=null?e:-1}set nextAudioTrack(e){let{audioTrackController:n}=this;if(n)n.nextAudioTrack=e}get allSubtitleTracks(){let e=this.subtitleTrackController;return e?e.allSubtitleTracks:[]}get subtitleTracks(){let e=this.subtitleTrackController;return e?e.subtitleTracks:[]}get subtitleTrack(){let e=this.subtitleTrackController;return e?e.subtitleTrack:-1}get media(){return this._media}set subtitleTrack(e){let n=this.subtitleTrackController;if(n)n.subtitleTrack=e}get subtitleDisplay(){let e=this.subtitleTrackController;return e?e.subtitleDisplay:!1}set subtitleDisplay(e){let n=this.subtitleTrackController;if(n)n.subtitleDisplay=e}get lowLatencyMode(){return this.config.lowLatencyMode}set lowLatencyMode(e){this.config.lowLatencyMode=e}get liveSyncPosition(){var e,n;return(e=(n=this.latencyController)==null?void 0:n.liveSyncPosition)!=null?e:null}get latency(){var e;return((e=this.latencyController)==null?void 0:e.latency)||0}get maxLatency(){var e;return((e=this.latencyController)==null?void 0:e.maxLatency)||0}get targetLatency(){var e;return((e=this.latencyController)==null?void 0:e.targetLatency)||null}set targetLatency(e){if(!this.latencyController)return;this.latencyController.targetLatency=e}get drift(){var e;return((e=this.latencyController)==null?void 0:e.drift)||null}get forceStartLoad(){return this.streamController.forceStartLoad}get pathways(){return this.levelController.pathways}get pathwayPriority(){return this.levelController.pathwayPriority}set pathwayPriority(e){this.levelController.pathwayPriority=e}get bufferedToEnd(){var e;return!!((e=this.bufferController)!=null&&e.bufferedToEnd)}get interstitialsManager(){if(this.interstitialsController)return this.interstitialsController.interstitialsManager;return null}get iframeVariants(){let e=this.levelController.iframeVariants;return e?e:[]}createIFramePlayer(e){if(this._url&&this.iframeController)return this.iframeController.createIFramePlayer(e);return null}createImageIFramePlayer(e){if(this._url&&this.iframeController)return this.iframeController.createImageIFramePlayer(e);return null}getMediaDecodingInfo(e,n=this.allAudioTracks){let s=S9(n);return w9(e,s,navigator.mediaCapabilities)}}Yn.defaultConfig=void 0;S();var W_=1000;function k0(e,n,s,i){let[r,a]=u(0),l=y(!1),c=y(!1),f=y(null),m=y(r);m.current=r,h(()=>{a(0);let b=e.current;if(!b)return;let v=()=>{c.current=!0},k=()=>{c.current=!1};return b.addEventListener("play",v),b.addEventListener("pause",k),c.current=!b.paused,()=>{b.removeEventListener("play",v),b.removeEventListener("pause",k)}},[e.current]),h(()=>{let b=e.current;if(!b)return;let v=null,k=null,T=!0,_=Date.now(),P=!1,U=-1,z=()=>{_=Date.now(),P=!1,U=-1},V=()=>{if(!T)return;if(b.paused||b.ended)return;let te=b,ne=!!te.requestVideoFrameCallback,ie=_u(n),se=Date.now()-_,oe=P&&se>ie,ye=!P&&se>W_;if(i||!ne||oe||ye){let me=Math.floor(b.currentTime*n+0.45),de=Math.max(0,Math.min(me,s-1));a(de)}if(k=requestAnimationFrame(V),te.requestVideoFrameCallback&&v===null)v=te.requestVideoFrameCallback((me,de)=>{v=null,_=Date.now(),P=!0,U=de.mediaTime;let ce=Math.floor(de.mediaTime*n+0.45),Ee=Math.max(0,Math.min(ce,s-1));a(Ee)})},X=()=>{z(),V()},J=()=>{if(v!==null){let ye=b;if(ye.cancelVideoFrameCallback)try{ye.cancelVideoFrameCallback(v)}catch{}v=null}if(k!==null)cancelAnimationFrame(k),k=null;let te=_u(n),ie=P&&U>=0&&Date.now()-_<=te?U:b.currentTime,se=Math.floor(ie*n+0.45),oe=Math.max(0,Math.min(se,s-1));if(a(oe),!b.ended){let ye=Di(oe,n);b.currentTime=ye}},ee=()=>{a(s-1)};if(b.addEventListener("play",X),b.addEventListener("pause",J),b.addEventListener("ended",ee),!b.paused)z(),V();return()=>{if(T=!1,b.removeEventListener("play",X),b.removeEventListener("pause",J),b.removeEventListener("ended",ee),v!==null){let te=b;if(te.cancelVideoFrameCallback)try{te.cancelVideoFrameCallback(v)}catch{}}if(k!==null)cancelAnimationFrame(k)}},[e.current,n,s]);let g=D(async(b)=>{let v=e.current;if(!v)return;let k=Math.round(b),T=Math.max(0,Math.min(k,s-1));if(l.current){f.current=T,a(T);return}l.current=!0,a(T);let _=async(P)=>{let U=Di(P,n),z=!v.paused;if(v.currentTime=U,await new Promise((ee)=>{let te=null,ne=()=>{if(te)clearTimeout(te);v.removeEventListener("seeked",ne),ee()};v.addEventListener("seeked",ne),te=setTimeout(()=>{v.removeEventListener("seeked",ne),ee()},500)}),!z&&!c.current)v.pause();let V=Math.floor(v.currentTime*n+0.45),X=Math.max(0,Math.min(V,s-1));a(X);let J=v;if(J.requestVideoFrameCallback)J.requestVideoFrameCallback((ee,te)=>{let ne=Math.floor(te.mediaTime*n+0.45),ie=Math.max(0,Math.min(ne,s-1));a(ie)});if(f.current!==null){let ee=f.current;f.current=null,await _(ee)}else l.current=!1};await _(T)},[e,n,s]);return h(()=>{let b=(v)=>{let k=v.target;if(k instanceof HTMLInputElement||k instanceof HTMLTextAreaElement||k.isContentEditable)return;if(v.key==="ArrowRight"){v.preventDefault();let T=v.shiftKey?10:1;g(m.current+T)}else if(v.key==="ArrowLeft"){v.preventDefault();let T=v.shiftKey?10:1;g(m.current-T)}};return window.addEventListener("keydown",b),()=>{window.removeEventListener("keydown",b)}},[g]),h(()=>{let b=e.current;if(!b)return;let v=()=>{if(!l.current){let k=Math.floor(b.currentTime*n+0.45),T=Math.max(0,Math.min(k,s-1));a(T);let _=Di(T,n),P=1/n;if(Math.abs(b.currentTime-_)>P/4)b.currentTime=_}};return b.addEventListener("seeked",v),()=>{b.removeEventListener("seeked",v)}},[e.current,n,s]),{currentFrame:r,setCurrentFrame:a,seekToFrame:g,isSeeking:l}}S();var K_=(e)=>{if(isNaN(e))return"00:00";let n=new Date(e*1000),s=n.getUTCHours(),i=n.getUTCMinutes(),r=n.getUTCSeconds().toString().padStart(2,"0");if(s)return`${s}:${i.toString().padStart(2,"0")}:${r}`;return`${i}:${r}`},Y_=({totalFrames:e,currentFrame:n,fps:s,previewUrl:i,onSeek:r,buffered:a=0,metadata:l})=>{let c=y(null),f=y(null),[m,g]=u(null),[b,v]=u(!1),[k,T]=u(!1),_=y(r);h(()=>{_.current=r},[r]),h(()=>{if(f.current&&i)f.current.load()},[i]);let P=D((se)=>{if(!c.current)return 0;let oe=c.current.getBoundingClientRect();return Math.max(0,Math.min(se-oe.left,oe.width))/oe.width},[]),U=D((se)=>{if(k)return;if(!c.current)return;let oe=c.current.getBoundingClientRect(),Se=Math.max(0,Math.min(se.clientX-oe.left,oe.width))/oe.width;if(g(Se),v(!0),f.current&&e){let me=Se*e,de=1/s,ce=me*de+de/2,Ee=f.current;if(Number.isFinite(ce))Ee.currentTime=ce}},[e,s,k]),z=()=>{if(!k)v(!1),g(null)},V=(se)=>{if(se.button!==0)return;se.preventDefault(),T(!0);let oe=P(se.clientX);g(oe),v(!0),_.current(oe*e)},X=(se)=>{T(!0);let oe=P(se.touches[0].clientX);g(oe),v(!0),_.current(oe*e)};h(()=>{if(!k)return;let se=(me)=>{let de=P(me.clientX);if(g(de),v(!0),f.current&&e){let ce=de*e,Ee=1/s,we=ce*Ee+Ee/2,qe=f.current;if(Number.isFinite(we))qe.currentTime=we}_.current(de*e)},oe=(me)=>{T(!1);let de=!1;if(c.current){let Ee=c.current.getBoundingClientRect();de=me.clientX>=Ee.left&&me.clientX<=Ee.right&&me.clientY>=Ee.top&&me.clientY<=Ee.bottom}if(!de)v(!1),g(null);let ce=P(me.clientX);_.current(ce*e)},ye=(me)=>{if(me.touches.length===0)return;let de=P(me.touches[0].clientX);if(g(de),v(!0),f.current&&e){let ce=de*e,Ee=1/s,we=ce*Ee+Ee/2,qe=f.current;if(Number.isFinite(we))qe.currentTime=we}_.current(de*e)},Se=(me)=>{T(!1);let de=me.changedTouches.length>0?me.changedTouches[0].clientX:null,ce=me.changedTouches.length>0?me.changedTouches[0].clientY:null,Ee=!1;if(de!==null&&ce!==null&&c.current){let we=c.current.getBoundingClientRect();Ee=de>=we.left&&de<=we.right&&ce>=we.top&&ce<=we.bottom}if(!Ee)v(!1),g(null);if(de!==null){let we=P(de);_.current(we*e)}};return window.addEventListener("mousemove",se),window.addEventListener("mouseup",oe),window.addEventListener("touchmove",ye,{passive:!0}),window.addEventListener("touchend",Se),()=>{window.removeEventListener("mousemove",se),window.removeEventListener("mouseup",oe),window.removeEventListener("touchmove",ye),window.removeEventListener("touchend",Se)}},[k,e,s,P]);let J=k&&m!==null?m*100:e>0?n/e*100:0,ee=m!==null?m*100:0,te=()=>{if(m===null)return{};return{left:`${ee}%`,transform:`translateX(-${ee}%)`}},ne=180,ie={width:`${ne}px`,height:"auto"};if(l&&l.originalWidth&&l.originalHeight){let{originalWidth:se,originalHeight:oe}=l;if(se>=oe){let ye=ne*oe/se;ie={width:`${ne}px`,height:`${ye}px`}}else ie={width:`${ne*se/oe}px`,height:`${ne}px`}}return o("div",{ref:c,className:"group relative h-1.5 w-full cursor-pointer touch-none rounded-full bg-muted transition-colors duration-200",onMouseMove:U,onMouseLeave:z,onMouseDown:V,onTouchStart:X,"data-testid":"seekbar",children:[t("video",{ref:f,src:i,className:"hidden",preload:"auto",muted:!0,playsInline:!0}),b&&e>0&&t("div",{className:"pointer-events-none absolute bottom-full z-50 mb-3 flex w-max flex-col",style:te(),children:o("div",{className:"relative overflow-hidden rounded-lg border-2 border-border bg-popover shadow-2xl",children:[t("video",{src:i,className:"bg-black object-cover",style:ie,muted:!0,ref:(se)=>{if(se&&f.current)se.currentTime=f.current.currentTime}}),t("div",{className:"absolute bottom-0 w-full bg-popover/80 py-0.5 text-center text-xs font-medium text-popover-foreground",children:K_(m*e/s)})]})}),t("div",{className:"absolute top-0 left-0 h-full rounded-full bg-muted-foreground/30 transition-all duration-200",style:{width:`${a}%`}}),b&&t("div",{className:"absolute top-0 left-0 h-full rounded-full bg-primary/30",style:{width:`${ee}%`}}),t("div",{className:"relative absolute top-0 left-0 h-full rounded-full bg-primary",style:{width:`${J}%`},"data-testid":"seekbar-fill",children:t("div",{className:C("absolute top-1/2 right-0 h-3.5 w-3.5 -translate-y-1/2 translate-x-1/2 rounded-full border border-border bg-primary shadow-md transition-transform duration-100",b||k?"scale-100":"scale-0 group-hover:scale-100")})})]})},x0=Y_;var mu=({state:e,zoom:n,isControlsVisible:s,buffered:i,data:r,resolutions:a,togglePlay:l,toggleLoop:c,toggleMute:f,handleVolumeChange:m,changePlaybackRate:g,changeResolution:b,handleDownload:v,toggleFullScreen:k,onZoomChange:T,onZoomReset:_,frameRate:P,totalFrames:U,currentFrame:z,seekToFrame:V,floatOverlayInFullScreen:X=!0,onMouseEnter:J,onMouseLeave:ee,allowDownload:te=!0,isLoading:ne})=>{let ie=ne??e.isLoading??!1,{videoTimeDisplayMode:se,setVideoTimeDisplayMode:oe}=$t();if(!r.media?.metadata)return null;let ye=e.isFullScreen&&X,Se=r.proxyType==="audio",me=r.media?.metadata?.startTimecode,de=Math.max(0,U-1),ce=se==="frames"?`${z} / ${de} fr`:se==="standard"?`${bn(z,P,"standard")} / ${Ni(U/P)}`:`${bn(z,P,se,me)} / ${bn(de,P,se,me)}`;return t("div",{className:C("transition-all duration-300 ease-in-out z-20 text-foreground",ye?"absolute bottom-0 left-0 right-0 px-4 py-4 bg-card/90 backdrop-blur-md border-t border-border":"relative w-full bg-card border-t border-border px-4 py-3 z-10 transition-colors duration-200",s?"opacity-100 translate-y-0":"opacity-0 translate-y-4 pointer-events-none"),onMouseEnter:J,onMouseLeave:ee,children:o("div",{className:C("transition-opacity duration-200",ie&&"pointer-events-none opacity-60 select-none"),children:[t("div",{className:"mb-4 px-1",children:t(x0,{totalFrames:U,currentFrame:z,fps:P,buffered:i,previewUrl:r.media.videoPreview?.url,onSeek:V,metadata:{...r.media.metadata,frameRate:P}})}),o("div",{className:"flex items-center justify-between text-foreground",children:[o("div",{className:"flex items-center gap-4",children:[t("button",{onClick:l,className:"hover:text-primary transition-colors","data-testid":"play-toggle","data-playing":e.isPlaying,"aria-label":e.isPlaying?"Pause":"Play",children:e.isPlaying?t(vd,{className:"w-6 h-6 fill-current"}):t(el,{className:"w-6 h-6 fill-current"})}),t("button",{onClick:c,className:C("transition-colors",e.isLooping?"text-primary":"text-muted-foreground"),title:"Loop",children:t(Sd,{className:"w-5 h-5"})}),o("div",{className:"flex items-center gap-3 group/vol",children:[t("button",{onClick:f,className:"hover:text-primary",children:e.isMuted||e.volume===0?t(Ad,{className:"w-6 h-6"}):t(xd,{className:"w-6 h-6"})}),t("div",{className:"w-0 overflow-hidden group-hover/vol:w-24 transition-all duration-300 ease-in-out",children:t("div",{className:"w-24 px-1",children:t(Uo,{value:e.isMuted?[0]:[e.volume],onValueChange:(Ee)=>m(Ee[0]),max:1,step:0.05})})})]}),o("div",{className:"flex items-center gap-1 text-sm font-medium tabular-nums select-none min-w-[100px]",children:[t("span",{className:"text-muted-foreground font-mono","data-testid":"time-readout",children:ce}),o(he,{modal:!1,children:[t(ge,{asChild:!0,children:t("button",{className:"h-6 w-6 inline-flex items-center justify-center rounded-md hover:bg-muted text-muted-foreground hover:text-foreground transition-colors cursor-pointer focus:outline-none",children:t(ve,{className:"h-3.5 w-3.5"})})}),o(Ae,{align:"start",className:"w-40 z-30",children:[t(Qr,{className:"text-[10px] font-bold text-muted-foreground uppercase tracking-wider",children:"Format"}),o(K,{onClick:()=>oe("standard"),className:"flex items-center justify-between cursor-pointer text-xs",children:[t("span",{children:"Standard Time"}),se==="standard"&&t(Pe,{className:"h-3.5 w-3.5 text-primary"})]}),o(K,{onClick:()=>oe("frames"),className:"flex items-center justify-between cursor-pointer text-xs",children:[t("span",{children:"Frames"}),se==="frames"&&t(Pe,{className:"h-3.5 w-3.5 text-primary"})]}),o(K,{onClick:()=>oe("timecode"),className:"flex items-center justify-between cursor-pointer text-xs",children:[t("span",{children:"Timecode"}),se==="timecode"&&t(Pe,{className:"h-3.5 w-3.5 text-primary"})]})]})]})]})]}),o("div",{className:"relative flex items-center gap-3",children:[!Se&&o("div",{className:"flex items-center gap-1",children:[o("div",{className:"flex items-center gap-1 rounded-md bg-muted p-0.5",children:[t("button",{onClick:()=>T(n*0.8),className:"p-1 hover:text-primary rounded",title:Wp(),children:t(Vs,{size:14})}),o("span",{className:"text-xs w-8 text-center tabular-nums",children:[Math.round(n*100),"%"]}),t("button",{onClick:()=>T(n*1.2),className:"p-1 hover:text-primary rounded",title:Kp(),children:t(pe,{size:14})})]}),t("button",{onClick:_,className:"text-xs font-medium px-2 py-1 rounded bg-muted hover:text-primary transition-colors",children:Gf()})]}),o(he,{children:[t(ge,{asChild:!0,children:o("button",{className:"w-8 text-sm font-bold hover:text-primary",children:[e.playbackRate,"x"]})}),t(Ae,{children:[0.5,1,1.5,2].map((Ee)=>o(K,{onClick:()=>g(Ee),className:C("rounded py-1 px-2 text-left text-xs",e.playbackRate===Ee?"bg-primary text-primary-foreground focus:bg-primary focus:text-primary-foreground":"text-foreground"),children:[Ee,"x"]},Ee))})]}),!Se&&a.length>0&&o(he,{children:[t(ge,{asChild:!0,children:o("button",{className:"flex items-center gap-1.5 rounded border border-border px-2 py-0.5 text-sm font-semibold hover:bg-muted transition-colors",children:[t(ki,{className:"h-3.5 w-3.5"}),o("span",{className:"flex items-center gap-1",children:[t("span",{children:e.currentResolution==="Auto"?e.activeAutoResolution?`${Il()} (${e.activeAutoResolution})`:Il():e.currentResolution==="Original"?Oa():e.currentResolution}),e.isCurrentHdr&&t("span",{className:"px-1 py-0.2 rounded text-[10px] font-bold bg-amber-500/20 text-amber-500 border border-amber-500/30",children:qc()})]})]})}),o(Ae,{children:[t(Qr,{children:Fg()}),r.media?.isHls&&t(K,{onClick:()=>b({resolution:"Auto",width:r.media?.metadata?.originalWidth??0,height:r.media?.metadata?.originalHeight??0}),className:C("flex w-full items-center justify-between cursor-pointer",e.currentResolution==="Auto"?"text-primary font-medium":"text-foreground"),children:t("span",{children:Il()})}),a.map((Ee)=>{let we=`${Ee.resolution}-${Ee.hdr?"hdr":"sdr"}`,qe=e.currentResolution===Ee.resolution&&Boolean(e.isCurrentHdr)===Boolean(Ee.hdr),Re=Boolean(r.media?.isHls)&&e.isHlsManualSupported===!1;return o(K,{disabled:Re,onClick:()=>!Re&&b(Ee),className:C("flex w-full items-center justify-between",qe?"text-primary font-medium":"text-foreground",Re?"opacity-50 cursor-not-allowed":"cursor-pointer"),children:[o("div",{className:"flex items-center gap-1.5",children:[t("span",{children:Ee.resolution==="Original"?Oa():Ee.resolution}),Ee.hdr&&t("span",{className:"px-1 py-0.2 rounded text-[10px] font-bold bg-amber-500/20 text-amber-500 border border-amber-500/30",children:qc()})]}),o("span",{className:"pl-5 text-xs text-muted-foreground",children:[Ee.width,"x",Ee.height]})]},we)})]})]}),te&&(Se?t("button",{onClick:()=>v(r.media?.original?.key||""),className:"transition-colors hover:text-primary",title:hr(),disabled:!r.media?.original?.key,children:t(wt,{className:"h-5 w-5"})}):o(he,{children:[t(ge,{asChild:!0,children:t("button",{className:"transition-colors hover:text-primary",title:hr(),children:t(wt,{className:"h-5 w-5"})})}),o(Ae,{children:[t(Qr,{children:hr()}),(r.media?.videoTranscodes&&r.media.videoTranscodes.length>0?r.media.videoTranscodes:a).map((Ee)=>{let we=bs(Ee),qe=Ee.key||`${we}-${Ee.hdr?"hdr":"sdr"}`;return o(K,{onClick:()=>v(Ee.key??""),className:"flex w-full items-center justify-between px-3 py-2 text-left text-sm text-foreground cursor-pointer",children:[o("div",{className:"flex items-center gap-1.5",children:[t("span",{children:we}),Ee.hdr&&t("span",{className:"px-1 py-0.2 rounded text-[10px] font-bold bg-amber-500/20 text-amber-500 border border-amber-500/30",children:qc()})]}),t("span",{className:"text-xs text-muted-foreground",children:"MP4"})]},qe)}),r.media?.original?.key&&o(L,{children:[t(Vt,{}),o(K,{onClick:()=>v(r.media?.original?.key??""),className:"flex w-full items-center justify-between px-3 py-2 text-left text-sm text-foreground",children:[t("span",{children:Oa()}),t("span",{className:"text-xs text-muted-foreground",children:r.name?.split(".").pop()?.toUpperCase()||"RAW"})]})]})]})]})),t("button",{onClick:k,className:"transition-colors hover:text-primary",title:bd(),children:e.isFullScreen?t(Mi,{className:"h-6 w-6"}):t(Ti,{className:"h-6 w-6"})})]})]})]})})};var Fv=({state:e,isControlsVisible:n,buffered:s,data:i,resolutions:r,togglePlay:a,toggleLoop:l,toggleMute:c,changePlaybackRate:f,changeResolution:m,toggleFullScreen:g,frameRate:b,totalFrames:v,currentFrame:k,seekToFrame:T,floatOverlayInFullScreen:_=!0,onMouseEnter:P,onMouseLeave:U,isLoading:z})=>{let V=z??e.isLoading??!1,{videoTimeDisplayMode:X,setVideoTimeDisplayMode:J}=$t();if(!i.media?.metadata)return null;let ee=e.isFullScreen&&_,te=i.proxyType==="audio",ne=i.media?.metadata?.startTimecode,ie=Math.max(0,v-1),se=X==="frames"?`${k} / ${ie} fr`:X==="standard"?`${bn(k,b,"standard")} / ${Ni(v/b)}`:`${bn(k,b,X,ne)} / ${bn(ie,b,X,ne)}`;return t("div",{className:C("transition-all duration-300 ease-in-out z-20 text-foreground",ee?"absolute bottom-0 left-0 right-0 px-3 py-3 bg-card/90 backdrop-blur-md border-t border-border":"relative w-full bg-card border-t border-border px-3 py-2.5 z-10 transition-colors duration-200",n?"opacity-100 translate-y-0":"opacity-0 translate-y-4 pointer-events-none"),onMouseEnter:P,onMouseLeave:U,children:o("div",{className:C("transition-opacity duration-200",V&&"pointer-events-none opacity-60 select-none"),children:[t("div",{className:"mb-2 px-0.5",children:t(x0,{totalFrames:v,currentFrame:k,fps:b,buffered:s,previewUrl:i.media.videoPreview?.url,onSeek:T,metadata:{...i.media.metadata,frameRate:b}})}),o("div",{className:"flex items-center justify-between text-foreground gap-1 select-none",children:[o("div",{className:"flex items-center gap-2 min-w-0",children:[t("button",{onClick:a,className:"p-1 hover:text-primary transition-colors cursor-pointer shrink-0","data-testid":"play-toggle","data-playing":e.isPlaying,"aria-label":e.isPlaying?"Pause":"Play",children:e.isPlaying?t(vd,{className:"w-5 h-5 fill-current"}):t(el,{className:"w-5 h-5 fill-current"})}),t("button",{onClick:c,className:"p-1 hover:text-primary transition-colors cursor-pointer shrink-0","aria-label":e.isMuted?"Unmute":"Mute",children:e.isMuted||e.volume===0?t(Ad,{className:"w-5 h-5"}):t(xd,{className:"w-5 h-5"})}),o("div",{className:"flex items-center gap-0.5 text-xs font-medium tabular-nums min-w-0",children:[t("span",{className:"text-muted-foreground font-mono truncate text-[11px] sm:text-xs","data-testid":"time-readout",children:se}),o(he,{modal:!1,children:[t(ge,{asChild:!0,children:t("button",{className:"h-5 w-5 inline-flex items-center justify-center rounded hover:bg-muted text-muted-foreground hover:text-foreground transition-colors cursor-pointer focus:outline-none shrink-0","aria-label":F_(),children:t(ve,{className:"h-3 w-3"})})}),o(Ae,{align:"start",className:"w-40 z-30",children:[t(Qr,{className:"text-[10px] font-bold text-muted-foreground uppercase tracking-wider",children:kv()}),o(K,{onClick:()=>J("standard"),className:"flex items-center justify-between cursor-pointer text-xs",children:[t("span",{children:WI()}),X==="standard"&&t(Pe,{className:"h-3.5 w-3.5 text-primary"})]}),o(K,{onClick:()=>J("frames"),className:"flex items-center justify-between cursor-pointer text-xs",children:[t("span",{children:Rv()}),X==="frames"&&t(Pe,{className:"h-3.5 w-3.5 text-primary"})]}),o(K,{onClick:()=>J("timecode"),className:"flex items-center justify-between cursor-pointer text-xs",children:[t("span",{children:BT()}),X==="timecode"&&t(Pe,{className:"h-3.5 w-3.5 text-primary"})]})]})]})]})]}),o("div",{className:"flex items-center gap-1 shrink-0",children:[o(he,{modal:!1,children:[t(ge,{asChild:!0,children:o("button",{className:"flex items-center gap-1 rounded border border-border px-1.5 py-1 text-xs font-semibold hover:bg-muted transition-colors cursor-pointer",title:Np(),"aria-label":Np(),children:[t(ki,{className:"h-3.5 w-3.5"}),o("span",{className:"flex items-center gap-1 text-[11px]",children:[t("span",{children:!te&&e.currentResolution?e.currentResolution==="Auto"?e.activeAutoResolution?`${Il()} (${e.activeAutoResolution})`:Il():e.currentResolution==="Original"?Oa():e.currentResolution:`${e.playbackRate}x`}),!te&&e.isCurrentHdr&&t("span",{className:"px-1 py-0.2 rounded text-[9px] font-bold bg-amber-500/20 text-amber-500 border border-amber-500/30",children:qc()})]})]})}),o(Ae,{align:"end",className:"w-48 z-30",children:[!te&&r.length>0&&o(L,{children:[t(Qr,{className:"text-[10px] font-bold text-muted-foreground uppercase tracking-wider",children:Fg()}),i.media?.isHls&&t(K,{onClick:()=>m({resolution:"Auto",width:i.media?.metadata?.originalWidth??0,height:i.media?.metadata?.originalHeight??0}),className:C("flex w-full items-center justify-between text-xs cursor-pointer",e.currentResolution==="Auto"?"text-primary font-medium":"text-foreground"),children:t("span",{children:Il()})}),r.map((oe)=>{let ye=`${oe.resolution}-${oe.hdr?"hdr":"sdr"}`,Se=e.currentResolution===oe.resolution&&Boolean(e.isCurrentHdr)===Boolean(oe.hdr),me=Boolean(i.media?.isHls)&&e.isHlsManualSupported===!1;return o(K,{disabled:me,onClick:()=>!me&&m(oe),className:C("flex w-full items-center justify-between text-xs",Se?"text-primary font-medium":"text-foreground",me?"opacity-50 cursor-not-allowed":"cursor-pointer"),children:[o("div",{className:"flex items-center gap-1.5",children:[t("span",{children:oe.resolution==="Original"?Oa():oe.resolution}),oe.hdr&&t("span",{className:"px-1 py-0.2 rounded text-[9px] font-bold bg-amber-500/20 text-amber-500 border border-amber-500/30",children:qc()})]}),o("span",{className:"text-[10px] text-muted-foreground",children:[oe.width,"x",oe.height]})]},ye)}),t(Vt,{})]}),t(Qr,{className:"text-[10px] font-bold text-muted-foreground uppercase tracking-wider",children:sE()}),[0.5,1,1.5,2].map((oe)=>o(K,{onClick:()=>f(oe),className:C("flex items-center justify-between text-xs cursor-pointer",e.playbackRate===oe?"text-primary font-medium":"text-foreground"),children:[o("span",{children:[oe,"x"]}),e.playbackRate===oe&&t(Pe,{className:"h-3.5 w-3.5 text-primary"})]},oe)),t(Vt,{}),o(K,{onClick:l,className:"flex items-center justify-between text-xs cursor-pointer",children:[o("span",{className:"flex items-center gap-1.5",children:[t(Sd,{className:"h-3.5 w-3.5"}),t("span",{children:kw()})]}),e.isLooping&&t(Pe,{className:"h-3.5 w-3.5 text-primary"})]})]})]}),t("button",{onClick:g,className:"p-1 hover:text-primary transition-colors cursor-pointer shrink-0",title:bd(),"aria-label":bd(),children:e.isFullScreen?t(Mi,{className:"h-5 w-5"}):t(Ti,{className:"h-5 w-5"})})]})]})]})})};S();var Q_=Math.PI/180;function J_(){return typeof window<"u"&&({}.toString.call(window)==="[object Window]"||{}.toString.call(window)==="[object global]")}var ll=typeof global<"u"?global:typeof window<"u"?window:typeof WorkerGlobalScope<"u"?self:{},tt={_global:ll,version:"10.3.2",isBrowser:J_(),isUnminified:/param/.test(function(e){}.toString()),dblClickWindow:400,getAngle(e){return tt.angleDeg?e*Q_:e},enableTrace:!1,pointerEventsEnabled:!0,autoDrawEnabled:!0,hitOnDragEnabled:!1,capturePointerEventsEnabled:!1,_mouseListenClick:!1,_touchListenClick:!1,_pointerListenClick:!1,_mouseInDblClickWindow:!1,_touchInDblClickWindow:!1,_pointerInDblClickWindow:!1,_mouseDblClickPointerId:null,_touchDblClickPointerId:null,_pointerDblClickPointerId:null,_renderBackend:"web",legacyTextRendering:!1,pixelRatio:typeof window<"u"&&window.devicePixelRatio||1,dragDistance:3,angleDeg:!0,showWarnings:!0,dragButtons:[0,1],isDragging(){return tt.DD.isDragging},isTransforming(){var e,n;return(n=(e=tt.Transformer)===null||e===void 0?void 0:e.isTransforming())!==null&&n!==void 0?n:!1},isDragReady(){return!!tt.DD.node},releaseCanvasOnDestroy:!0,document:ll.document,_injectGlobal(e){if(typeof ll.Konva<"u")console.error("Several Konva instances detected. It is not recommended to use multiple Konva instances in the same environment.");ll.Konva=e}},Qt=(e)=>{tt[e.prototype.getClassName()]=e};tt._injectGlobal(tt);var Z_=`Konva.js unsupported environment.
54
+
55
+ Looks like you are trying to use Konva.js in Node.js environment. because "document" object is undefined.
56
+
57
+ To use Konva.js in Node.js environment, you need to use the "canvas-backend" or "skia-backend" module.
58
+
59
+ bash: npm install canvas
60
+ js: import "konva/canvas-backend";
61
+
62
+ or
63
+
64
+ bash: npm install skia-canvas
65
+ js: import "konva/skia-backend";
66
+ `,Lv=()=>{if(typeof document>"u")throw Error(Z_)};class yi{constructor(e=[1,0,0,1,0,0]){this.dirty=!1,this.m=e&&e.slice()||[1,0,0,1,0,0]}reset(){this.m[0]=1,this.m[1]=0,this.m[2]=0,this.m[3]=1,this.m[4]=0,this.m[5]=0}copy(){return new yi(this.m)}copyInto(e){e.m[0]=this.m[0],e.m[1]=this.m[1],e.m[2]=this.m[2],e.m[3]=this.m[3],e.m[4]=this.m[4],e.m[5]=this.m[5]}point(e){let n=this.m;return{x:n[0]*e.x+n[2]*e.y+n[4],y:n[1]*e.x+n[3]*e.y+n[5]}}translate(e,n){return this.m[4]+=this.m[0]*e+this.m[2]*n,this.m[5]+=this.m[1]*e+this.m[3]*n,this}scale(e,n){return this.m[0]*=e,this.m[1]*=e,this.m[2]*=n,this.m[3]*=n,this}rotate(e){let n=Math.cos(e),s=Math.sin(e),i=this.m[0]*n+this.m[2]*s,r=this.m[1]*n+this.m[3]*s,a=this.m[0]*-s+this.m[2]*n,l=this.m[1]*-s+this.m[3]*n;return this.m[0]=i,this.m[1]=r,this.m[2]=a,this.m[3]=l,this}getTranslation(){return{x:this.m[4],y:this.m[5]}}skew(e,n){let s=this.m[0]+this.m[2]*n,i=this.m[1]+this.m[3]*n,r=this.m[2]+this.m[0]*e,a=this.m[3]+this.m[1]*e;return this.m[0]=s,this.m[1]=i,this.m[2]=r,this.m[3]=a,this}multiply(e){let n=this.m[0]*e.m[0]+this.m[2]*e.m[1],s=this.m[1]*e.m[0]+this.m[3]*e.m[1],i=this.m[0]*e.m[2]+this.m[2]*e.m[3],r=this.m[1]*e.m[2]+this.m[3]*e.m[3],a=this.m[0]*e.m[4]+this.m[2]*e.m[5]+this.m[4],l=this.m[1]*e.m[4]+this.m[3]*e.m[5]+this.m[5];return this.m[0]=n,this.m[1]=s,this.m[2]=i,this.m[3]=r,this.m[4]=a,this.m[5]=l,this}invert(){let e=1/(this.m[0]*this.m[3]-this.m[1]*this.m[2]),n=this.m[3]*e,s=-this.m[1]*e,i=-this.m[2]*e,r=this.m[0]*e,a=e*(this.m[2]*this.m[5]-this.m[3]*this.m[4]),l=e*(this.m[1]*this.m[4]-this.m[0]*this.m[5]);return this.m[0]=n,this.m[1]=s,this.m[2]=i,this.m[3]=r,this.m[4]=a,this.m[5]=l,this}getMatrix(){return this.m}decompose(){let e=this.m[0],n=this.m[1],s=this.m[2],i=this.m[3],r=this.m[4],a=this.m[5],l=e*i-n*s,c={x:r,y:a,rotation:0,scaleX:0,scaleY:0,skewX:0,skewY:0};if(e!=0||n!=0){let f=Math.sqrt(e*e+n*n);c.rotation=n>0?Math.acos(e/f):-Math.acos(e/f),c.scaleX=f,c.scaleY=l/f,c.skewX=(e*s+n*i)/l,c.skewY=0}else if(s!=0||i!=0){let f=Math.sqrt(s*s+i*i);c.rotation=Math.PI/2-(i>0?Math.acos(-s/f):-Math.acos(s/f)),c.scaleX=l/f,c.scaleY=f,c.skewX=0,c.skewY=(e*s+n*i)/l}return c.rotation=_e._getRotation(c.rotation),c}}var eI="[object Array]",tI="[object Number]",nI="[object String]",sI="[object Boolean]",iI=Math.PI/180,Hv=180/Math.PI,A0="#",rI="",aI="0",oI="Konva warning: ",Ov="Konva error: ",lI={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],transparent:[255,255,255,0],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},_h=null,cI=typeof window<"u"?window:{},tb=new WeakMap,fI=(e,n)=>{if(typeof e.requestAnimationFrame==="function")e.requestAnimationFrame(n);else if(typeof requestAnimationFrame<"u")requestAnimationFrame(n);else setTimeout(n,16)},Pv=new Map,Nv=(e)=>{let n=e.trim();return n.indexOf(",")===-1?n.split(/\s*\/\s*|\s+/):n.split(/\s*,\s*/)},Uv="[+-]?(?:\\d+\\.?\\d*|\\.\\d+)(?:e[+-]?\\d+)?",hI=new RegExp(`^(${Uv})(%?)$`,"i"),Ql=(e,n)=>{let s=hI.exec(e);if(!s)return NaN;return s[2]?Number(s[1])/100*n:Number(s[1])},T0=/^#[0-9a-f]+$/i,Bv=(e)=>Math.min(Math.max(e,0),1),uI=new RegExp(`^(${Uv})(deg|grad|rad|turn)?$`,"i"),dI={deg:1,grad:0.9,rad:Hv,turn:360},_e={_isElement(e){return!!(e&&e.nodeType==1)},_isFunction(e){return!!(e&&e.constructor&&e.call&&e.apply)},_isPlainObject(e){return!!e&&e.constructor===Object},_isArray(e){return Object.prototype.toString.call(e)===eI},_isNumber(e){return Object.prototype.toString.call(e)===tI&&!isNaN(e)&&isFinite(e)},_isString(e){return Object.prototype.toString.call(e)===nI},_isBoolean(e){return Object.prototype.toString.call(e)===sI},isObject(e){return e instanceof Object},isValidSelector(e){if(typeof e!=="string")return!1;let n=e[0];return n==="#"||n==="."||n===n.toUpperCase()},_sign(e){if(e===0)return 1;if(e>0)return 1;else return-1},requestAnimFrame(e,n){let s=n&&!n.closed&&n||cI,i=tb.get(s);if(!i)i=[],tb.set(s,i),fI(s,function(){tb.delete(s),i.forEach(function(r){r()})});i.push(e)},createCanvasElement(){Lv();let e=document.createElement("canvas");try{e.style=e.style||{}}catch(n){}return e},createImageElement(){return Lv(),document.createElement("img")},_isInDocument(e){return!!e.isConnected},_urlToImage(e,n){let s=_e.createImageElement();s.onload=function(){n(s)},s.src=e},_rgbToHex(e,n,s){return(16777216+(e<<16)+(n<<8)+s).toString(16).slice(1)},_hexToRgb(e){e=e.replace(A0,rI);let n=parseInt(e,16);return{r:n>>16&255,g:n>>8&255,b:n&255}},getRandomColor(){let e=(Math.random()*16777215<<0).toString(16);while(e.length<6)e=aI+e;return A0+e},isCanvasFarblingActive(){if(_h!==null)return _h;if(typeof document>"u")return _h=!1,!1;let e=this.createCanvasElement();e.width=10,e.height=10;let n=e.getContext("2d",{willReadFrequently:!0});n.clearRect(0,0,10,10),n.fillStyle="#282828",n.fillRect(0,0,10,10);let s=n.getImageData(0,0,10,10).data,i=!1;for(let r=0;r<100;r++)if(s[r*4]!==40||s[r*4+1]!==40||s[r*4+2]!==40||s[r*4+3]!==255){i=!0;break}return _h=i,this.releaseCanvas(e),_h},getHitColor(){let e=this.getRandomColor();return this.isCanvasFarblingActive()?this.getSnappedHexColor(e):e},getHitColorKey(e,n,s){if(this.isCanvasFarblingActive())e=Math.round(e/5)*5,n=Math.round(n/5)*5,s=Math.round(s/5)*5;return A0+this._rgbToHex(e,n,s)},getSnappedHexColor(e){let n=this._hexToRgb(e);return A0+this._rgbToHex(Math.round(n.r/5)*5,Math.round(n.g/5)*5,Math.round(n.b/5)*5)},getRGB(e){var n;let{r:s=0,g:i=0,b:r=0}=(n=_e.colorToRGBA(e))!==null&&n!==void 0?n:{};return{r:s,g:i,b:r}},colorToRGBA(e){e=(e||"").trim()||"black";let n=_e._namedColorToRBA(e)||_e._hex3ColorToRGBA(e)||_e._hex4ColorToRGBA(e)||_e._hex6ColorToRGBA(e)||_e._hex8ColorToRGBA(e)||_e._rgbColorToRGBA(e)||_e._hslColorToRGBA(e);if(n&&[n.r,n.g,n.b,n.a].every(_e._isNumber))return n},_namedColorToRBA(e){let n=lI[e.toLowerCase()];if(!n)return null;return{r:n[0],g:n[1],b:n[2],a:n.length>3?n[3]:1}},_rgbColorToRGBA(e){let n=/^rgba?\(([^)]*)\)$/i.exec(e);if(!n)return;let s=Nv(n[1]);if(s.length<3||s.length>4)return;return{r:Ql(s[0],255),g:Ql(s[1],255),b:Ql(s[2],255),a:s.length>3?Ql(s[3],1):1}},_hex8ColorToRGBA(e){if(e.length===9&&T0.test(e))return{r:parseInt(e.slice(1,3),16),g:parseInt(e.slice(3,5),16),b:parseInt(e.slice(5,7),16),a:parseInt(e.slice(7,9),16)/255}},_hex6ColorToRGBA(e){if(e.length===7&&T0.test(e))return{r:parseInt(e.slice(1,3),16),g:parseInt(e.slice(3,5),16),b:parseInt(e.slice(5,7),16),a:1}},_hex4ColorToRGBA(e){if(e.length===5&&T0.test(e))return{r:parseInt(e[1]+e[1],16),g:parseInt(e[2]+e[2],16),b:parseInt(e[3]+e[3],16),a:parseInt(e[4]+e[4],16)/255}},_hex3ColorToRGBA(e){if(e.length===4&&T0.test(e))return{r:parseInt(e[1]+e[1],16),g:parseInt(e[2]+e[2],16),b:parseInt(e[3]+e[3],16),a:1}},_hslColorToRGBA(e){let n=/^hsla?\(([^)]*)\)$/i.exec(e);if(!n)return;let s=Nv(n[1]);if(s.length<3||s.length>4)return;let i=uI.exec(s[0]);if(!i)return;let r=i[2],a=Number(i[1])*(r?dI[r.toLowerCase()]:1);if(!isFinite(a))return;let l=(a%360+360)%360/360,c=Bv(Ql(s[1],100)/100),f=Bv(Ql(s[2],100)/100),m=s.length>3?Ql(s[3],1):1,g=f<0.5?f*(1+c):f+c-f*c,b=2*f-g,v=[0,0,0];for(let k=0;k<3;k++){let T=l+0.3333333333333333*-(k-1);if(T<0)T++;if(T>1)T--;let _;if(6*T<1)_=b+(g-b)*6*T;else if(2*T<1)_=g;else if(3*T<2)_=b+(g-b)*(0.6666666666666666-T)*6;else _=b;v[k]=_*255}return{r:Math.round(v[0]),g:Math.round(v[1]),b:Math.round(v[2]),a:m}},haveIntersection(e,n){return!(n.x>e.x+e.width||n.x+n.width<e.x||n.y>e.y+e.height||n.y+n.height<e.y)},cloneObject(e){let n={};for(let s in e)if(this._isPlainObject(e[s]))n[s]=this.cloneObject(e[s]);else if(this._isArray(e[s]))n[s]=this.cloneArray(e[s]);else n[s]=e[s];return n},cloneArray(e){return e.slice(0)},degToRad(e){return e*iI},radToDeg(e){return e*Hv},_degToRad(e){return _e.warn("Util._degToRad is removed. Please use public Util.degToRad instead."),_e.degToRad(e)},_radToDeg(e){return _e.warn("Util._radToDeg is removed. Please use public Util.radToDeg instead."),_e.radToDeg(e)},_getRotation(e){return tt.angleDeg?_e.radToDeg(e):e},_capitalize(e){let n=Pv.get(e);if(n!==void 0)return n;let s=e.charAt(0).toUpperCase()+e.slice(1);return Pv.set(e,s),s},throw(e){throw Error(Ov+e)},error(e){console.error(Ov+e)},warn(e){if(!tt.showWarnings)return;console.warn(oI+e)},each(e,n){for(let s in e)n(s,e[s])},_inRange(e,n,s){return n<=e&&e<s},_getProjectionToSegment(e,n,s,i,r,a){let l,c,f,m=(e-s)*(e-s)+(n-i)*(n-i);if(m==0)l=e,c=n,f=(r-s)*(r-s)+(a-i)*(a-i);else{let g=((r-e)*(s-e)+(a-n)*(i-n))/m;if(g<0)l=e,c=n,f=(e-r)*(e-r)+(n-a)*(n-a);else if(g>1)l=s,c=i,f=(s-r)*(s-r)+(i-a)*(i-a);else l=e+g*(s-e),c=n+g*(i-n),f=(l-r)*(l-r)+(c-a)*(c-a)}return[l,c,f]},_getProjectionToLine(e,n,s){let i=_e.cloneObject(e),r=Number.MAX_VALUE;return n.forEach(function(a,l){if(!s&&l===n.length-1)return;let c=n[(l+1)%n.length],f=_e._getProjectionToSegment(a.x,a.y,c.x,c.y,e.x,e.y),m=f[0],g=f[1],b=f[2];if(b<r)i.x=m,i.y=g,r=b}),i},_prepareArrayForTween(e,n,s){let i=[],r=[];if(e.length>n.length){let l=n;n=e,e=l}for(let l=0;l<e.length;l+=2)i.push({x:e[l],y:e[l+1]});for(let l=0;l<n.length;l+=2)r.push({x:n[l],y:n[l+1]});let a=[];return r.forEach(function(l){let c=_e._getProjectionToLine(l,i,s);a.push(c.x),a.push(c.y)}),a},_prepareToStringify(e){let n;e.visitedByCircularReferenceRemoval=!0;for(let s in e){if(!(e.hasOwnProperty(s)&&e[s]&&typeof e[s]=="object"))continue;if(n=Object.getOwnPropertyDescriptor(e,s),e[s].visitedByCircularReferenceRemoval||_e._isElement(e[s]))if(n.configurable)delete e[s];else return null;else if(_e._prepareToStringify(e[s])===null)if(n.configurable)delete e[s];else return null}return delete e.visitedByCircularReferenceRemoval,e},_assign(e,n){for(let s in n)e[s]=n[s];return e},_getFirstPointerId(e){if(!e.touches)return e.pointerId||999;else return e.changedTouches[0].identifier},releaseCanvas(...e){if(!tt.releaseCanvasOnDestroy)return;e.forEach((n)=>{n.width=0,n.height=0})},drawRoundedRectPath(e,n,s,i){let r=n<0?n:0,a=s<0?s:0;n=Math.abs(n),s=Math.abs(s);let l=0,c=0,f=0,m=0;if(typeof i==="number")l=c=f=m=Math.min(i,n/2,s/2);else l=Math.min(i[0]||0,n/2,s/2),c=Math.min(i[1]||0,n/2,s/2),m=Math.min(i[2]||0,n/2,s/2),f=Math.min(i[3]||0,n/2,s/2);e.moveTo(r+l,a),e.lineTo(r+n-c,a),e.arc(r+n-c,a+c,c,Math.PI*3/2,0,!1),e.lineTo(r+n,a+s-m),e.arc(r+n-m,a+s-m,m,0,Math.PI/2,!1),e.lineTo(r+f,a+s),e.arc(r+f,a+s-f,f,Math.PI/2,Math.PI,!1),e.lineTo(r,a+l),e.arc(r+l,a+l,l,Math.PI,Math.PI*3/2,!1)},drawRoundedPolygonPath(e,n,s,i,r){i=Math.abs(i);for(let a=0;a<s;a++){let l=n[(a-1+s)%s],c=n[a],f=n[(a+1)%s],m={x:c.x-l.x,y:c.y-l.y},g={x:f.x-c.x,y:f.y-c.y},b=Math.hypot(m.x,m.y),v=Math.hypot(g.x,g.y),k;if(typeof r==="number")k=r;else k=a<r.length?r[a]:0;k=i*Math.cos(Math.PI/s)*Math.min(1,k/i*2);let _={x:m.x/b,y:m.y/b},P={x:g.x/v,y:g.y/v},U={x:c.x-_.x*k,y:c.y-_.y*k},z={x:c.x+P.x*k,y:c.y+P.y*k};if(a===0)e.moveTo(U.x,U.y);else e.lineTo(U.x,U.y);e.arcTo(c.x,c.y,z.x,z.y,k)}}};function mI(e){let n=[],s=e.length,i=_e;for(let r=0;r<s;r++){let a=e[r];if(i._isNumber(a))a=Math.round(a*1000)/1000;else if(!i._isString(a))a=a+"";n.push(a)}return n}var zv=",",pI="(",gI=")",bI="([",wI="])",yI=";",vI="()",SI="=",Gv=["arc","arcTo","beginPath","bezierCurveTo","clearRect","clip","closePath","createLinearGradient","createPattern","createRadialGradient","drawImage","ellipse","fill","fillText","getImageData","createImageData","lineTo","moveTo","putImageData","quadraticCurveTo","rect","roundRect","restore","rotate","save","scale","setLineDash","setTransform","stroke","strokeText","transform","translate"],kI=["fillStyle","strokeStyle","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","letterSpacing","lineCap","lineDashOffset","lineJoin","lineWidth","miterLimit","direction","font","textAlign","textBaseline","globalAlpha","globalCompositeOperation","imageSmoothingEnabled","filter"],xI=100,E0=null;function nb(){if(E0!==null)return E0;try{let n=_e.createCanvasElement().getContext("2d");if(!n)return E0=!1,!1;return!!n&&"filter"in n}catch(e){return E0=!1,!1}}class nf{constructor(e){if(this.canvas=e,tt.enableTrace)this.traceArr=[],this._enableTrace()}fillShape(e){if(e.fillEnabled())this._fill(e)}_fill(e){}strokeShape(e){if(e.hasStroke())this._stroke(e)}_stroke(e){}fillStrokeShape(e){if(e.attrs.fillAfterStrokeEnabled)this.strokeShape(e),this.fillShape(e);else this.fillShape(e),this.strokeShape(e)}getTrace(e,n){let s=this.traceArr,i=s.length,r="",a,l,c,f;for(a=0;a<i;a++){if(l=s[a],c=l.method,c)if(f=l.args,r+=c,e)r+=vI;else if(_e._isArray(f[0]))r+=bI+f.join(zv)+wI;else{if(n)f=f.map((m)=>typeof m==="number"?Math.floor(m):m);r+=pI+f.join(zv)+gI}else if(r+=l.property,!e)r+=SI+l.val;r+=yI}return r}clearTrace(){this.traceArr=[]}_trace(e){let n=this.traceArr,s;if(n.push(e),s=n.length,s>=xI)n.shift()}reset(){let e=this.getCanvas().getPixelRatio();this.setTransform(1*e,0,0,1*e,0,0)}getCanvas(){return this.canvas}clear(e){let n=this.getCanvas();if(e)this.clearRect(e.x||0,e.y||0,e.width||0,e.height||0);else this.clearRect(0,0,n.getWidth()/n.pixelRatio,n.getHeight()/n.pixelRatio)}_applyLineCap(e){let n=e.attrs.lineCap;if(n)this.setAttr("lineCap",n)}_applyOpacity(e){let n=e.getAbsoluteOpacity();if(n!==1)this.setAttr("globalAlpha",n)}_applyLineJoin(e){let n=e.attrs.lineJoin;if(n)this.setAttr("lineJoin",n)}_applyMiterLimit(e){let n=e.attrs.miterLimit;if(n!=null)this.setAttr("miterLimit",n)}setAttr(e,n){this._context[e]=n}arc(e,n,s,i,r,a){this._context.arc(e,n,s,i,r,a)}arcTo(e,n,s,i,r){this._context.arcTo(e,n,s,i,r)}beginPath(){this._context.beginPath()}bezierCurveTo(e,n,s,i,r,a){this._context.bezierCurveTo(e,n,s,i,r,a)}clearRect(e,n,s,i){this._context.clearRect(e,n,s,i)}clip(...e){this._context.clip.apply(this._context,e)}closePath(){this._context.closePath()}createImageData(e,n){let s=arguments;if(s.length===2)return this._context.createImageData(e,n);else if(s.length===1)return this._context.createImageData(e)}createLinearGradient(e,n,s,i){return this._context.createLinearGradient(e,n,s,i)}createPattern(e,n){return this._context.createPattern(e,n)}createRadialGradient(e,n,s,i,r,a){return this._context.createRadialGradient(e,n,s,i,r,a)}drawImage(e,n,s,i,r,a,l,c,f){let m=arguments,g=this._context;if(m.length===3)g.drawImage(e,n,s);else if(m.length===5)g.drawImage(e,n,s,i,r);else if(m.length===9)g.drawImage(e,n,s,i,r,a,l,c,f)}ellipse(e,n,s,i,r,a,l,c){this._context.ellipse(e,n,s,i,r,a,l,c)}isPointInPath(e,n,s,i){if(s)return this._context.isPointInPath(s,e,n,i);return this._context.isPointInPath(e,n,i)}fill(...e){this._context.fill.apply(this._context,e)}fillRect(e,n,s,i){this._context.fillRect(e,n,s,i)}strokeRect(e,n,s,i){this._context.strokeRect(e,n,s,i)}fillText(e,n,s,i){if(i)this._context.fillText(e,n,s,i);else this._context.fillText(e,n,s)}measureText(e){return this._context.measureText(e)}getImageData(e,n,s,i){return this._context.getImageData(e,n,s,i)}lineTo(e,n){this._context.lineTo(e,n)}moveTo(e,n){this._context.moveTo(e,n)}rect(e,n,s,i){this._context.rect(e,n,s,i)}roundRect(e,n,s,i,r){this._context.roundRect(e,n,s,i,r)}putImageData(e,n,s){this._context.putImageData(e,n,s)}quadraticCurveTo(e,n,s,i){this._context.quadraticCurveTo(e,n,s,i)}restore(){this._context.restore()}rotate(e){this._context.rotate(e)}save(){this._context.save()}scale(e,n){this._context.scale(e,n)}setLineDash(e){if(this._context.setLineDash)this._context.setLineDash(e);else if("mozDash"in this._context)this._context.mozDash=e;else if("webkitLineDash"in this._context)this._context.webkitLineDash=e}getLineDash(){return this._context.getLineDash()}setTransform(e,n,s,i,r,a){this._context.setTransform(e,n,s,i,r,a)}stroke(e){if(e)this._context.stroke(e);else this._context.stroke()}strokeText(e,n,s,i){this._context.strokeText(e,n,s,i)}transform(e,n,s,i,r,a){this._context.transform(e,n,s,i,r,a)}translate(e,n){this._context.translate(e,n)}_enableTrace(){let e=this,n=Gv.length,s=this.setAttr,i,r,a=function(l){let c=e[l],f;e[l]=function(){return r=mI(Array.prototype.slice.call(arguments,0)),f=c.apply(e,arguments),e._trace({method:l,args:r}),f}};for(i=0;i<n;i++)a(Gv[i]);e.setAttr=function(){s.apply(e,arguments);let l=arguments[0],c=arguments[1];if(l==="shadowOffsetX"||l==="shadowOffsetY"||l==="shadowBlur")c=c/this.canvas.getPixelRatio();e._trace({property:l,val:c})}}_applyGlobalCompositeOperation(e){let n=e.attrs.globalCompositeOperation;if(!(!n||n==="source-over"))this.setAttr("globalCompositeOperation",n)}}kI.forEach(function(e){Object.defineProperty(nf.prototype,e,{get(){return this._context[e]},set(n){this._context[e]=n}})});class sb extends nf{constructor(e,{willReadFrequently:n=!1}={}){super(e);this._context=e._canvas.getContext("2d",{willReadFrequently:n})}_fillColor(e){let n=e.fill();this.setAttr("fillStyle",n),e._fillFunc(this)}_fillPattern(e){let n=this._context;if("patternQuality"in n)n.patternQuality=n.imageSmoothingEnabled?"good":"nearest";this.setAttr("fillStyle",e._getFillPattern()),e._fillFunc(this)}_fillLinearGradient(e){let n=e._getLinearGradient();if(n)this.setAttr("fillStyle",n),e._fillFunc(this)}_fillRadialGradient(e){let n=e._getRadialGradient();if(n)this.setAttr("fillStyle",n),e._fillFunc(this)}_fill(e){let n=e.fill(),s=e.getFillPriority();if(n&&s==="color"){this._fillColor(e);return}let i=e.getFillPatternImage();if(i&&s==="pattern"){this._fillPattern(e);return}let r=e.getFillLinearGradientColorStops();if(r&&s==="linear-gradient"){this._fillLinearGradient(e);return}let a=e.getFillRadialGradientColorStops();if(a&&s==="radial-gradient"){this._fillRadialGradient(e);return}if(n)this._fillColor(e);else if(i)this._fillPattern(e);else if(r)this._fillLinearGradient(e);else if(a)this._fillRadialGradient(e)}_strokeLinearGradient(e){let n=e.getStrokeLinearGradientStartPoint(),s=e.getStrokeLinearGradientEndPoint(),i=e.getStrokeLinearGradientColorStops(),r=this.createLinearGradient(n.x,n.y,s.x,s.y);if(i){for(let a=0;a<i.length;a+=2)r.addColorStop(i[a],i[a+1]);this.setAttr("strokeStyle",r)}}_stroke(e){let n=e.dash(),s=e.getStrokeScaleEnabled();if(e.hasStroke()){if(!s){this.save();let r=this.getCanvas().getPixelRatio();this.setTransform(r,0,0,r,0,0)}if(this._applyLineCap(e),n&&e.dashEnabled())this.setLineDash(n),this.setAttr("lineDashOffset",e.dashOffset());if(this.setAttr("lineWidth",e.strokeWidth()),!e.getShadowForStrokeEnabled())this.setAttr("shadowColor","rgba(0,0,0,0)");if(e.getStrokeLinearGradientColorStops())this._strokeLinearGradient(e);else this.setAttr("strokeStyle",e.stroke());if(e._strokeFunc(this),!s)this.restore()}}_applyShadow(e){var n,s,i;let r=(n=e.getShadowRGBA())!==null&&n!==void 0?n:"black",a=(s=e.getShadowBlur())!==null&&s!==void 0?s:5,l=(i=e.getShadowOffset())!==null&&i!==void 0?i:{x:0,y:0},c=e.getAbsoluteScale(),f=this.canvas.getPixelRatio(),m=c.x*f,g=c.y*f;this.setAttr("shadowColor",r),this.setAttr("shadowBlur",a*Math.min(Math.abs(m),Math.abs(g))),this.setAttr("shadowOffsetX",l.x*m),this.setAttr("shadowOffsetY",l.y*g)}}class ib extends nf{constructor(e){super(e);this._context=e._canvas.getContext("2d",{willReadFrequently:!0})}_fill(e){this.save(),this.setAttr("fillStyle",e.colorKey),e._fillFuncHit(this),this.restore()}strokeShape(e){if(e.hasHitStroke())this._stroke(e)}_stroke(e){if(e.hasHitStroke()){let n=e.getStrokeScaleEnabled();if(!n){this.save();let r=this.getCanvas().getPixelRatio();this.setTransform(r,0,0,r,0,0)}this._applyLineCap(e);let s=e.hitStrokeWidth(),i=s==="auto"?e.strokeWidth():s;if(this.setAttr("lineWidth",i),this.setAttr("strokeStyle",e.colorKey),e._strokeFuncHit(this),!n)this.restore()}}}var C0;function AI(){if(C0)return C0;let e=_e.createCanvasElement(),n=e.getContext("2d");return C0=function(){let s=tt._global.devicePixelRatio||1,i=n.webkitBackingStorePixelRatio||n.mozBackingStorePixelRatio||n.msBackingStorePixelRatio||n.oBackingStorePixelRatio||n.backingStorePixelRatio||1;return s/i}(),_e.releaseCanvas(e),C0}class Ih{constructor(e){this.pixelRatio=1,this.width=0,this.height=0,this.isCache=!1;let s=(e||{}).pixelRatio||tt.pixelRatio||AI();this.pixelRatio=s,this._canvas=_e.createCanvasElement(),this._canvas.style.padding="0",this._canvas.style.margin="0",this._canvas.style.border="0",this._canvas.style.background="transparent",this._canvas.style.position="absolute",this._canvas.style.top="0",this._canvas.style.left="0"}getContext(){return this.context}getPixelRatio(){return this.pixelRatio}setPixelRatio(e){let n=this.pixelRatio;this.pixelRatio=e,this.setSize(this.getWidth()/n,this.getHeight()/n)}setWidth(e){this.width=this._canvas.width=e*this.pixelRatio,this._canvas.style.width=e+"px";let n=this.pixelRatio;this.getContext()._context.scale(n,n)}setHeight(e){this.height=this._canvas.height=e*this.pixelRatio,this._canvas.style.height=e+"px";let n=this.pixelRatio;this.getContext()._context.scale(n,n)}getWidth(){return this.width}getHeight(){return this.height}setSize(e,n){this.setWidth(e||0),this.setHeight(n||0)}setSizeIfChanged(e,n){if(this.width!==e*this.pixelRatio||this.height!==n*this.pixelRatio)this.setSize(e,n)}toDataURL(e,n){try{return this._canvas.toDataURL(e,n)}catch(s){try{return this._canvas.toDataURL()}catch(i){return _e.error("Unable to get data URL. "+i.message+" For more info read https://konvajs.org/docs/posts/Tainted_Canvas.html."),""}}}}class qr extends Ih{constructor(e={width:0,height:0,willReadFrequently:!1}){super(e);this.context=new sb(this,{willReadFrequently:e.willReadFrequently}),this.setSize(e.width,e.height)}}class Jl extends Ih{constructor(e={width:0,height:0}){super(e);this.hitCanvas=!0,this.context=new ib(this),this.setSize(e.width,e.height)}}var En={get isDragging(){let e=!1;return En._dragElements.forEach((n)=>{if(n.dragStatus==="dragging")e=!0}),e},justDragged:!1,get node(){let e;return En._dragElements.forEach((n)=>{e=n.node}),e},_dragElements:new Map,_listenToWindow(e){let n=(i)=>En._endDragBefore(i,e),s=(i)=>En._drag(i,e);e.addEventListener("mouseup",n,!0),e.addEventListener("touchend",n,!0),e.addEventListener("touchcancel",n,!0),e.addEventListener("mousemove",s),e.addEventListener("touchmove",s),e.addEventListener("mouseup",En._endDragAfter,!1),e.addEventListener("touchend",En._endDragAfter,!1),e.addEventListener("touchcancel",En._endDragAfter,!1)},_drag(e,n){let s=[];En._dragElements.forEach((i,r)=>{let{node:a}=i,l=a.getStage();if(n&&l._getOwnerWindow()!==n)return;if(l.setPointersPositions(e),i.pointerId===void 0)i.pointerId=_e._getFirstPointerId(e);let c=l._changedPointerPositions.find((f)=>f.id===i.pointerId);if(!c)return;if(i.dragStatus!=="dragging"){let f=a.dragDistance();if(Math.max(Math.abs(c.x-i.startPointerPos.x),Math.abs(c.y-i.startPointerPos.y))<f)return;if(a.startDrag({evt:e}),!a.isDragging())return}a._setDragPosition(e,i),s.push(a)}),s.forEach((i)=>{if(!i.getStage())return;i.fire("dragmove",{type:"dragmove",target:i,evt:e},!0)})},_endDragBefore(e,n){let s=[];En._dragElements.forEach((i)=>{let{node:r}=i,a=r.getStage();if(e&&(!n||a._getOwnerWindow()===n))a.setPointersPositions(e);if(!a._changedPointerPositions.find((f)=>f.id===i.pointerId))return;if(i.dragStatus==="dragging"||i.dragStatus==="stopped")En.justDragged=!0,tt._mouseListenClick=!1,tt._touchListenClick=!1,tt._pointerListenClick=!1,i.dragStatus="stopped";let c=i.node.getLayer()||i.node instanceof tt.Stage&&i.node;if(c&&s.indexOf(c)===-1)s.push(c)}),s.forEach((i)=>{i.draw()})},_endDragAfter(e){En._dragElements.forEach((n,s)=>{if(n.dragStatus==="stopped")n.node.fire("dragend",{type:"dragend",target:n.node,evt:e},!0);if(n.dragStatus!=="dragging")En._dragElements.delete(s)})}};function cl(e){if(_e._isString(e))return'"'+e+'"';if(Object.prototype.toString.call(e)==="[object Number]")return e;if(_e._isBoolean(e))return e;return Object.prototype.toString.call(e)}function j0(e){if(e>255)return 255;else if(e<0)return 0;return Math.round(e)}function Ke(){if(tt.isUnminified)return function(e,n){if(!_e._isNumber(e))_e.warn(cl(e)+' is a not valid value for "'+n+'" attribute. The value should be a number.');return e}}function ul(e){if(tt.isUnminified)return function(n,s){let i=_e._isNumber(n),r=_e._isArray(n)&&n.length==e;if(!i&&!r)_e.warn(cl(n)+' is a not valid value for "'+s+'" attribute. The value should be a number or Array<number>('+e+")");return n}}function Rh(){if(tt.isUnminified)return function(e,n){if(!(_e._isNumber(e)||e==="auto"))_e.warn(cl(e)+' is a not valid value for "'+n+'" attribute. The value should be a number or "auto".');return e}}function _a(){if(tt.isUnminified)return function(e,n){if(!_e._isString(e))_e.warn(cl(e)+' is a not valid value for "'+n+'" attribute. The value should be a string.');return e}}function rb(){if(tt.isUnminified)return function(e,n){let s=_e._isString(e),i=Object.prototype.toString.call(e)==="[object CanvasGradient]"||e&&e.addColorStop;if(!(s||i))_e.warn(cl(e)+' is a not valid value for "'+n+'" attribute. The value should be a string or a native gradient.');return e}}function Vv(){if(tt.isUnminified)return function(e,n){let s=Int8Array?Object.getPrototypeOf(Int8Array):null;if(s&&e instanceof s)return e;if(!_e._isArray(e))_e.warn(cl(e)+' is a not valid value for "'+n+'" attribute. The value should be a array of numbers.');else e.forEach(function(i){if(!_e._isNumber(i))_e.warn('"'+n+'" attribute has non numeric element '+i+". Make sure that all elements are numbers.")});return e}}function vi(){if(tt.isUnminified)return function(e,n){if(!(e===!0||e===!1))_e.warn(cl(e)+' is a not valid value for "'+n+'" attribute. The value should be a boolean.');return e}}function $v(e){if(tt.isUnminified)return function(n,s){if(n===void 0||n===null)return n;if(!_e.isObject(n))_e.warn(cl(n)+' is a not valid value for "'+s+'" attribute. The value should be an object with properties '+e);return n}}var Dh="get",qh="set",be={addGetterSetter(e,n,s,i,r){be.addGetter(e,n,s),be.addSetter(e,n,i,r),be.addOverloadedGetterSetter(e,n)},addGetter(e,n,s){let i=Dh+_e._capitalize(n);e.prototype[i]=e.prototype[i]||function(){let r=this.attrs[n];return r===void 0?s:r}},addSetter(e,n,s,i){let r=qh+_e._capitalize(n);if(!e.prototype[r])be.overWriteSetter(e,n,s,i)},overWriteSetter(e,n,s,i){let r=qh+_e._capitalize(n);e.prototype[r]=function(a){if(s&&a!==void 0&&a!==null)a=s.call(this,a,n);if(this._setAttr(n,a),i)i.call(this);return this}},addComponentsGetterSetter(e,n,s,i,r){let a=s.length,l=_e._capitalize,c=Dh+l(n),f=qh+l(n);e.prototype[c]=function(){let g={};for(let b=0;b<a;b++){let v=s[b];g[v]=this.getAttr(n+l(v))}return g};let m=$v(s);e.prototype[f]=function(g){let b=this.attrs[n];if(i)g=i.call(this,g,n);if(m)m.call(this,g,n);for(let v in g){if(!g.hasOwnProperty(v))continue;this._setAttr(n+l(v),g[v])}if(!g)s.forEach((v)=>{this._setAttr(n+l(v),void 0)});if(this._fireChangeEvent(n,b,g),r)r.call(this);return this},be.addOverloadedGetterSetter(e,n)},addOverloadedGetterSetter(e,n){let s=_e._capitalize(n),i=qh+s,r=Dh+s;e.prototype[n]=function(){if(arguments.length)return this[i](arguments[0]),this;return this[r]()}},addDeprecatedGetterSetter(e,n,s,i){_e.error("Adding deprecated "+n);let r=Dh+_e._capitalize(n),a=n+" property is deprecated and will be removed soon. Look at Konva change log for more information.";e.prototype[r]=function(){_e.error(a);let l=this.attrs[n];return l===void 0?s:l},be.addSetter(e,n,i,function(){_e.error(a)}),be.addOverloadedGetterSetter(e,n)},backCompat(e,n){_e.each(n,function(s,i){let r=e.prototype[i],a=Dh+_e._capitalize(s),l=qh+_e._capitalize(s);function c(){r.apply(this,arguments),_e.error('"'+s+'" method is deprecated and will be removed soon. Use ""'+i+'" instead.')}e.prototype[s]=c,e.prototype[a]=c,e.prototype[l]=c})},afterSetFilter(){this._filterUpToDate=!1}};function TI(e){let n=/(\w+)\(([^)]+)\)/g,s;while((s=n.exec(e))!==null){let[,i,r]=s;switch(i){case"blur":{let a=parseFloat(r.replace("px",""));return function(l){this.blurRadius(a*0.5);let c=tt.Filters;if(c&&c.Blur)c.Blur.call(this,l)}}case"brightness":{let a=r.includes("%")?parseFloat(r)/100:parseFloat(r);return function(l){this.brightness(a);let c=tt.Filters;if(c&&c.Brightness)c.Brightness.call(this,l)}}case"contrast":{let a=parseFloat(r);return function(l){let c=100*(Math.sqrt(a)-1);this.contrast(c);let f=tt.Filters;if(f&&f.Contrast)f.Contrast.call(this,l)}}case"grayscale":return function(a){let l=tt.Filters;if(l&&l.Grayscale)l.Grayscale.call(this,a)};case"sepia":return function(a){let l=tt.Filters;if(l&&l.Sepia)l.Sepia.call(this,a)};case"invert":return function(a){let l=tt.Filters;if(l&&l.Invert)l.Invert.call(this,a)};default:_e.warn(`CSS filter "${i}" is not supported in fallback mode. Consider using function filters for better compatibility.`);break}}return()=>{}}var _0="absoluteOpacity",Xv="allEventListeners",go="absoluteTransform",Wv="absoluteScale",Zl="canvas",EI="Change",CI="children",jI="konva",ab="listening",_I="mouseenter",II="mouseleave",RI="pointerenter",DI="pointerleave",qI="touchenter",MI="touchleave";var Kv="set",Yv="Shape",I0=" ",Qv="stage",gl="transform",FI="Stage",ob="visible",LI=["xChange.konva","yChange.konva","scaleXChange.konva","scaleYChange.konva","skewXChange.konva","skewYChange.konva","rotationChange.konva","offsetXChange.konva","offsetYChange.konva","transformsEnabledChange.konva"].join(I0),OI=1;class Ye{constructor(e){this._id=OI++,this.eventListeners={},this.attrs={},this.index=0,this._allEventListeners=null,this.parent=null,this._cache=new Map,this._attachedDepsListeners=new Map,this._lastPos=null,this._batchingTransformChange=!1,this._needClearTransformCache=!1,this._filterUpToDate=!1,this._isUnderCache=!1,this._dragEventId=null,this._shouldFireChangeEvents=!1,this.setAttrs(e),this._shouldFireChangeEvents=!0}hasChildren(){return!1}_clearCache(e){if((e===gl||e===go)&&this._cache.get(e))this._cache.get(e).dirty=!0;else if(e)this._cache.delete(e);else this._cache.clear()}_getCache(e,n){let s=this._cache.get(e);if(s===void 0||(e===gl||e===go)&&s.dirty===!0)s=n.call(this),this._cache.set(e,s);return s}_calculate(e,n,s){if(!this._attachedDepsListeners.get(e)){let i=n.map((r)=>r+"Change.konva").join(I0);this.on(i,()=>{this._clearCache(e)}),this._attachedDepsListeners.set(e,!0)}return this._getCache(e,s)}_getCanvasCache(){return this._cache.get(Zl)}_clearSelfAndDescendantCache(e){if(this._clearCache(e),e===go)this.fire("absoluteTransformChange")}static _runAfterAbsTransformCascade(e){if(Ye._absTransformCascadeDepth>0)Ye._pendingAfterCascade.push(e);else e()}clearCache(){if(this._cache.has(Zl)){let{scene:e,filter:n,hit:s}=this._cache.get(Zl);_e.releaseCanvas(e._canvas,n._canvas,...s?[s._canvas]:[]),this._cache.delete(Zl)}return this._clearSelfAndDescendantCache(),this._requestDraw(),this}cache(e){let n=e||{},s={};if(n.x===void 0||n.y===void 0||n.width===void 0||n.height===void 0)s=this.getClientRect({skipTransform:!0,relativeTo:this.getParent()||void 0});let i=Math.ceil(n.width||s.width),r=Math.ceil(n.height||s.height),a=n.pixelRatio,l=n.x===void 0?Math.floor(s.x):n.x,c=n.y===void 0?Math.floor(s.y):n.y,f=n.offset||0,m=n.drawBorder||!1,g=n.hitCanvasPixelRatio||1;if(!i||!r){_e.error("Can not cache the node. Width or height of the node equals 0. Caching is skipped.");return}let b=Math.abs(Math.round(s.x)-l)>0.5?1:0,v=Math.abs(Math.round(s.y)-c)>0.5?1:0;i+=f*2+b,r+=f*2+v,l-=f,c-=f;let k=new qr({pixelRatio:a,width:i,height:r}),T=new qr({pixelRatio:a,width:0,height:0,willReadFrequently:!0}),_=k.getContext(),P=new qr({width:k.width/k.pixelRatio+Math.abs(l),height:k.height/k.pixelRatio+Math.abs(c),pixelRatio:k.pixelRatio}),U=P.getContext();if(k.isCache=!0,this._cache.delete(Zl),this._filterUpToDate=!1,n.imageSmoothingEnabled===!1)k.getContext()._context.imageSmoothingEnabled=!1,T.getContext()._context.imageSmoothingEnabled=!1;if(_.save(),U.save(),_.translate(-l,-c),U.translate(-l,-c),P.x=l,P.y=c,this._isUnderCache=!0,this._clearSelfAndDescendantCache(_0),this._clearSelfAndDescendantCache(Wv),this.drawScene(k,this,P),this._isUnderCache=!1,_.restore(),m)_.save(),_.beginPath(),_.rect(0,0,i,r),_.closePath(),_.setAttr("strokeStyle","red"),_.setAttr("lineWidth",5),_.stroke(),_.restore();return _e.releaseCanvas(P._canvas),this._cache.set(Zl,{scene:k,filter:T,hit:null,hitConfig:{pixelRatio:g,width:i,height:r},x:l,y:c}),this._requestDraw(),this}_getCachedHitCanvas(e){if(e===this)return null;let n=this._getCanvasCache();if(!n)return null;if(n.hit)return n.hit;let s=new Jl(n.hitConfig);s.isCache=!0;let i=s.getContext();return i.save(),i.translate(-n.x,-n.y),this.drawHit(s,this),i.restore(),n.hit=s,s}isCached(){return this._cache.has(Zl)}getClientRect(e){throw Error('abstract "getClientRect" method call')}_transformedRect(e,n){let s=[{x:e.x,y:e.y},{x:e.x+e.width,y:e.y},{x:e.x+e.width,y:e.y+e.height},{x:e.x,y:e.y+e.height}],i=1/0,r=1/0,a=-1/0,l=-1/0,c=this.getAbsoluteTransform(n);return s.forEach(function(f){let m=c.point(f);if(i===void 0)i=a=m.x,r=l=m.y;i=Math.min(i,m.x),r=Math.min(r,m.y),a=Math.max(a,m.x),l=Math.max(l,m.y)}),{x:i,y:r,width:a-i,height:l-r}}_drawCachedSceneCanvas(e){e.save(),e._applyOpacity(this),e._applyGlobalCompositeOperation(this);let n=this._getCanvasCache();e.translate(n.x,n.y);let s=this._getCachedSceneCanvas(),i=s.pixelRatio;e.drawImage(s._canvas,0,0,s.width/i,s.height/i),e.restore()}_drawCachedHitCanvas(e,n){let s=this._getCanvasCache();e.save(),e.translate(s.x,s.y),e.drawImage(n._canvas,0,0,n.width/n.pixelRatio,n.height/n.pixelRatio),e.restore()}_getCachedSceneCanvas(){let e=this.filters(),n=this._getCanvasCache(),{scene:s,filter:i}=n,r=i.getContext(),a,l,c,f;if(!e||e.length===0)return s;if(this._filterUpToDate)return i;let m=!0;for(let b=0;b<e.length;b++){let v=typeof e[b]==="string"&&!nb();if(typeof e[b]!=="string"||!nb()){m=!1;break}}let g=s.pixelRatio;if(i.setSize(s.width/s.pixelRatio,s.height/s.pixelRatio),m){let b=e.join(" ");return r.save(),r.setAttr("filter",b),r.drawImage(s._canvas,0,0,s.getWidth()/g,s.getHeight()/g),r.restore(),this._filterUpToDate=!0,i}try{a=e.length,r.clear(),r.drawImage(s._canvas,0,0,s.getWidth()/g,s.getHeight()/g),l=r.getImageData(0,0,i.getWidth(),i.getHeight());for(c=0;c<a;c++){if(f=e[c],typeof f==="string")f=TI(f);f.call(this,l),r.putImageData(l,0,0)}}catch(b){_e.error("Unable to apply filter. "+b.message+" This post my help you https://konvajs.org/docs/posts/Tainted_Canvas.html.")}return this._filterUpToDate=!0,i}on(...e){let n=e[0],s=e[1],i=e[2];if(this._cache)this._cache.delete(Xv);if(e.length===3)return this._delegate.apply(this,e);let r=n.split(I0);for(let a=0;a<r.length;a++){let c=r[a].split("."),f=c[0],m=c[1]||"";if(!this.eventListeners[f])this.eventListeners[f]=[];this.eventListeners[f].push({name:m,handler:s})}return this}off(e,n){let s=(e||"").split(I0),i=s.length,r,a,l,c,f,m;if(this._cache&&this._cache.delete(Xv),!e)for(a in this.eventListeners)this._off(a);for(r=0;r<i;r++)if(l=s[r],c=l.split("."),f=c[0],m=c[1],f){if(this.eventListeners[f])this._off(f,m,n)}else for(a in this.eventListeners)this._off(a,m,n);return this}dispatchEvent(e){let n={target:this,type:e.type,evt:e};return this.fire(e.type,n),this}addEventListener(e,n){return this.on(e,function(s){n.call(this,s.evt)}),this}removeEventListener(e){return this.off(e),this}_delegate(e,n,s){let i=this;return this.on(e,function(r){let a=r.target.findAncestors(n,!0,i);for(let l=0;l<a.length;l++)r=_e.cloneObject(r),r.currentTarget=a[l],s.call(a[l],r)}),this}remove(){if(this.isDragging())this.stopDrag();return En._dragElements.delete(this._id),En._dragElements.forEach((e,n)=>{if(this.isAncestorOf(e.node))En._dragElements.delete(n)}),this._remove(),this}_clearCaches(){this._clearSelfAndDescendantCache(go),this._clearSelfAndDescendantCache(_0),this._clearSelfAndDescendantCache(Wv),this._clearSelfAndDescendantCache(Qv),this._clearSelfAndDescendantCache(ob),this._clearSelfAndDescendantCache(ab)}_remove(){this._clearCaches();let e=this.getParent();if(e&&e.children)e.children.splice(this.index,1),e._setChildrenIndices(),this.parent=null}destroy(){return this.remove(),this.clearCache(),this}getAttr(e){let n="get"+_e._capitalize(e);if(_e._isFunction(this[n]))return this[n]();return this.attrs[e]}getAncestors(){let e=this.getParent(),n=[];while(e)n.push(e),e=e.getParent();return n}getAttrs(){return this.attrs||{}}setAttrs(e){return this._batchTransformChanges(()=>{let n,s;if(!e)return this;for(n in e){if(n===CI)continue;if(s=Kv+_e._capitalize(n),_e._isFunction(this[s]))this[s](e[n]);else this._setAttr(n,e[n])}}),this}isListening(){return this._getCache(ab,this._isListening)}_isListening(e){if(!this.listening())return!1;let s=this.getParent();if(s&&s!==e&&this!==e)return s._isListening(e);else return!0}isVisible(){return this._getCache(ob,this._isVisible)}_isVisible(e){if(!this.visible())return!1;let s=this.getParent();if(s&&s!==e&&this!==e)return s._isVisible(e);else return!0}shouldDrawHit(e,n=!1){if(e)return this._isVisible(e)&&this._isListening(e);let s=this.getLayer(),i=!1;En._dragElements.forEach((a)=>{if(a.dragStatus!=="dragging")return;else if(a.node.nodeType==="Stage")i=!0;else if(a.node.getLayer()===s)i=!0});let r=!n&&!tt.hitOnDragEnabled&&(i||tt.isTransforming());return this.isListening()&&this.isVisible()&&!r}show(){return this.visible(!0),this}hide(){return this.visible(!1),this}getZIndex(){return this.index||0}getAbsoluteZIndex(){let e=this.getDepth(),n=this,s=0,i,r,a,l;function c(m){i=[],r=m.length;for(a=0;a<r;a++){if(l=m[a],s++,l.nodeType!==Yv)i=i.concat(l.getChildren().slice());if(l._id===n._id)a=r}if(i.length>0&&i[0].getDepth()<=e)c(i)}let f=this.getStage();if(n.nodeType!==FI&&f)c(f.getChildren());return s}getDepth(){let e=0,n=this.parent;while(n)e++,n=n.parent;return e}_batchTransformChanges(e){if(this._batchingTransformChange=!0,e(),this._batchingTransformChange=!1,this._needClearTransformCache)this._clearCache(gl),this._clearSelfAndDescendantCache(go);this._needClearTransformCache=!1}setPosition(e){return this._batchTransformChanges(()=>{this.x(e.x),this.y(e.y)}),this}getPosition(){return{x:this.x(),y:this.y()}}getRelativePointerPosition(){let e=this.getStage();if(!e)return null;let n=e.getPointerPosition();if(!n)return null;let s=this.getAbsoluteTransform().copy();return s.invert(),s.point(n)}getAbsolutePosition(e){let n=!1,s=this.parent;while(s){if(s.isCached()){n=!0;break}s=s.parent}if(n&&!e)e=!0;let i=this.getAbsoluteTransform(e).getMatrix(),r=new yi,a=this.offset();return r.m=i.slice(),r.translate(a.x,a.y),r.getTranslation()}setAbsolutePosition(e){let{x:n,y:s,...i}=this._clearTransform();this.attrs.x=n,this.attrs.y=s,this._clearCache(gl);let r=this._getAbsoluteTransform().copy();return r.invert(),r.translate(e.x,e.y),e={x:this.attrs.x+r.getTranslation().x,y:this.attrs.y+r.getTranslation().y},this._setTransform(i),this.setPosition({x:e.x,y:e.y}),this._clearCache(gl),this._clearSelfAndDescendantCache(go),this}_setTransform(e){let n;for(n in e)this.attrs[n]=e[n]}_clearTransform(){let e={x:this.x(),y:this.y(),rotation:this.rotation(),scaleX:this.scaleX(),scaleY:this.scaleY(),offsetX:this.offsetX(),offsetY:this.offsetY(),skewX:this.skewX(),skewY:this.skewY()};return this.attrs.x=0,this.attrs.y=0,this.attrs.rotation=0,this.attrs.scaleX=1,this.attrs.scaleY=1,this.attrs.offsetX=0,this.attrs.offsetY=0,this.attrs.skewX=0,this.attrs.skewY=0,e}move(e){let{x:n,y:s}=e,i=this.x(),r=this.y();if(n!==void 0)i+=n;if(s!==void 0)r+=s;return this.setPosition({x:i,y:r}),this}_eachAncestorReverse(e,n){let s=[],i=this.getParent(),r,a;if(n&&n._id===this._id)return;s.unshift(this);while(i&&(!n||i._id!==n._id))s.unshift(i),i=i.parent;r=s.length;for(a=0;a<r;a++)e(s[a])}rotate(e){return this.rotation(this.rotation()+e),this}moveToTop(){if(!this.parent)return _e.warn("Node has no parent. moveToTop function is ignored."),!1;let e=this.index,n=this.parent.getChildren().length;if(e<n-1)return this.parent.children.splice(e,1),this.parent.children.push(this),this.parent._setChildrenIndices(),!0;return!1}moveUp(){if(!this.parent)return _e.warn("Node has no parent. moveUp function is ignored."),!1;let e=this.index,n=this.parent.getChildren().length;if(e<n-1)return this.parent.children.splice(e,1),this.parent.children.splice(e+1,0,this),this.parent._setChildrenIndices(),!0;return!1}moveDown(){if(!this.parent)return _e.warn("Node has no parent. moveDown function is ignored."),!1;let e=this.index;if(e>0)return this.parent.children.splice(e,1),this.parent.children.splice(e-1,0,this),this.parent._setChildrenIndices(),!0;return!1}moveToBottom(){if(!this.parent)return _e.warn("Node has no parent. moveToBottom function is ignored."),!1;let e=this.index;if(e>0)return this.parent.children.splice(e,1),this.parent.children.unshift(this),this.parent._setChildrenIndices(),!0;return!1}setZIndex(e){if(!this.parent)return _e.warn("Node has no parent. zIndex parameter is ignored."),this;if(e<0||e>=this.parent.children.length)_e.warn("Unexpected value "+e+" for zIndex property. zIndex is just index of a node in children of its parent. Expected value is from 0 to "+(this.parent.children.length-1)+".");let n=this.index;return this.parent.children.splice(n,1),this.parent.children.splice(e,0,this),this.parent._setChildrenIndices(),this}getAbsoluteOpacity(){return this._getCache(_0,this._getAbsoluteOpacity)}_getAbsoluteOpacity(){let e=this.opacity(),n=this.getParent();if(n&&!n._isUnderCache)e*=n.getAbsoluteOpacity();return e}moveTo(e){if(this.getParent()!==e)this._remove(),e.add(this);return this}toObject(){let e=this.getAttrs(),n,s,i,r,a,l={attrs:{},className:this.getClassName()};for(n in e){if(s=e[n],a=_e.isObject(s)&&!_e._isPlainObject(s)&&!_e._isArray(s),a)continue;if(i=typeof this[n]==="function"&&this[n],delete e[n],r=i?i.call(this):null,e[n]=s,r!==s)l.attrs[n]=s}return _e._prepareToStringify(l)}toJSON(){return JSON.stringify(this.toObject())}getParent(){return this.parent}findAncestors(e,n,s){let i=[];if(n&&this._isMatch(e))i.push(this);let r=this.parent;while(r){if(r===s)return i;if(r._isMatch(e))i.push(r);r=r.parent}return i}isAncestorOf(e){return!1}findAncestor(e,n,s){return this.findAncestors(e,n,s)[0]}_isMatch(e){if(!e)return!1;if(typeof e==="function")return e(this);let n=e.replace(/ /g,"").split(","),s=n.length,i,r;for(i=0;i<s;i++){if(r=n[i],!_e.isValidSelector(r))_e.warn('Selector "'+r+'" is invalid. Allowed selectors examples are "#foo", ".bar" or "Group".'),_e.warn('If you have a custom shape with such className, please change it to start with upper letter like "Triangle".'),_e.warn("Konva is awesome, right?");if(r.charAt(0)==="#"){if(this.id()===r.slice(1))return!0}else if(r.charAt(0)==="."){if(this.hasName(r.slice(1)))return!0}else if(this.className===r||this.nodeType===r)return!0}return!1}getLayer(){let e=this.getParent();return e?e.getLayer():null}getStage(){return this._getCache(Qv,this._getStage)}_getStage(){let e=this.getParent();if(e)return e.getStage();else return null}fire(e,n={},s){if(n.target=n.target||this,s)this._fireAndBubble(e,n);else this._fire(e,n);return this}getAbsoluteTransform(e){if(e)return this._getAbsoluteTransform(e);else return this._getCache(go,this._getAbsoluteTransform)}_getAbsoluteTransform(e){let n;if(e)return n=new yi,this._eachAncestorReverse(function(s){let i=s.transformsEnabled();if(i==="all")n.multiply(s.getTransform());else if(i==="position")n.translate(s.x()-s.offsetX(),s.y()-s.offsetY())},e),n;else{if(n=this._cache.get(go)||new yi,this.parent)this.parent.getAbsoluteTransform().copyInto(n);else n.reset();let s=this.transformsEnabled();if(s==="all")n.multiply(this.getTransform());else if(s==="position"){let i=this.attrs.x||0,r=this.attrs.y||0,a=this.attrs.offsetX||0,l=this.attrs.offsetY||0;n.translate(i-a,r-l)}return n.dirty=!1,n}}getAbsoluteScale(e){let n=this;while(n){if(n._isUnderCache)e=n;n=n.getParent()}let i=this.getAbsoluteTransform(e).decompose();return{x:i.scaleX,y:i.scaleY}}getAbsoluteRotation(){return this.getAbsoluteTransform().decompose().rotation}getTransform(){return this._getCache(gl,this._getTransform)}_getTransform(){var e,n;let s=this._cache.get(gl)||new yi;s.reset();let i=this.x(),r=this.y(),a=tt.getAngle(this.rotation()),l=(e=this.attrs.scaleX)!==null&&e!==void 0?e:1,c=(n=this.attrs.scaleY)!==null&&n!==void 0?n:1,f=this.attrs.skewX||0,m=this.attrs.skewY||0,g=this.attrs.offsetX||0,b=this.attrs.offsetY||0;if(i!==0||r!==0)s.translate(i,r);if(a!==0)s.rotate(a);if(f!==0||m!==0)s.skew(f,m);if(l!==1||c!==1)s.scale(l,c);if(g!==0||b!==0)s.translate(-1*g,-1*b);return s.dirty=!1,s}clone(e){let n=_e.cloneObject(this.attrs),s,i,r,a,l;for(s in e)n[s]=e[s];let c=new this.constructor(n);for(s in this.eventListeners){i=this.eventListeners[s],r=i.length;for(a=0;a<r;a++)if(l=i[a],l.name.indexOf(jI)<0){if(!c.eventListeners[s])c.eventListeners[s]=[];c.eventListeners[s].push(l)}}return c}_toKonvaCanvas(e){e=e||{};let n=this.getClientRect(),s=this.getStage(),i=e.x!==void 0?e.x:Math.floor(n.x),r=e.y!==void 0?e.y:Math.floor(n.y),a=e.pixelRatio||1,l=new qr({width:e.width||Math.ceil(n.width)||(s?s.width():0),height:e.height||Math.ceil(n.height)||(s?s.height():0),pixelRatio:a}),c=l.getContext(),f=new qr({width:l.width/l.pixelRatio+Math.abs(i),height:l.height/l.pixelRatio+Math.abs(r),pixelRatio:l.pixelRatio});if(e.imageSmoothingEnabled===!1)c._context.imageSmoothingEnabled=!1;if(c.save(),i||r)c.translate(-1*i,-1*r);return this.drawScene(l,void 0,f),c.restore(),l}toCanvas(e){return this._toKonvaCanvas(e)._canvas}toDataURL(e){e=e||{};let n=e.mimeType||null,s=e.quality||null,i=this._toKonvaCanvas(e).toDataURL(n,s);if(e.callback)e.callback(i);return i}toImage(e){return new Promise((n,s)=>{try{let i=e===null||e===void 0?void 0:e.callback;if(i)delete e.callback;_e._urlToImage(this.toDataURL(e),function(r){n(r),i===null||i===void 0||i(r)})}catch(i){s(i)}})}toBlob(e){return new Promise((n,s)=>{try{let i=e===null||e===void 0?void 0:e.callback;if(i)delete e.callback;this.toCanvas(e).toBlob((r)=>{n(r),i===null||i===void 0||i(r)},e===null||e===void 0?void 0:e.mimeType,e===null||e===void 0?void 0:e.quality)}catch(i){s(i)}})}setSize(e){return this.width(e.width),this.height(e.height),this}getSize(){return{width:this.width(),height:this.height()}}getClassName(){return this.className||this.nodeType}getType(){return this.nodeType}getDragDistance(){if(this.attrs.dragDistance!==void 0)return this.attrs.dragDistance;else if(this.parent)return this.parent.getDragDistance();else return tt.dragDistance}_off(e,n,s){let i=this.eventListeners[e],r,a,l;for(r=0;r<i.length;r++)if(a=i[r].name,l=i[r].handler,(a!=="konva"||n==="konva")&&(!n||a===n)&&(!s||s===l)){if(i.splice(r,1),i.length===0){delete this.eventListeners[e];break}r--}}_fireChangeEvent(e,n,s){this._fire(e+EI,{oldVal:n,newVal:s})}addName(e){if(!this.hasName(e)){let n=this.name(),s=n?n+" "+e:e;this.name(s)}return this}hasName(e){if(!e)return!1;let n=this.name();if(!n)return!1;return(n||"").split(/\s/g).indexOf(e)!==-1}removeName(e){let n=(this.name()||"").split(/\s/g),s=n.indexOf(e);if(s!==-1)n.splice(s,1),this.name(n.join(" "));return this}setAttr(e,n){let s=this[Kv+_e._capitalize(e)];if(_e._isFunction(s))s.call(this,n);else this._setAttr(e,n);return this}_requestDraw(){if(tt.autoDrawEnabled){let e=this.getLayer()||this.getStage();e===null||e===void 0||e.batchDraw()}}_setAttr(e,n){let s=this.attrs[e];if(s===n&&!_e.isObject(n))return;if(n===void 0||n===null)delete this.attrs[e];else this.attrs[e]=n;if(this._shouldFireChangeEvents)this._fireChangeEvent(e,s,n);this._requestDraw()}_setComponentAttr(e,n,s){let i;if(s!==void 0){if(i=this.attrs[e],!i)this.attrs[e]=this.getAttr(e);this.attrs[e][n]=s,this._fireChangeEvent(e,i,s)}}_fireAndBubble(e,n,s){if(n&&this.nodeType===Yv)n.target=this;let i=[_I,II,RI,DI,qI,MI];if(!(i.indexOf(e)!==-1&&(s&&(this===s||this.isAncestorOf&&this.isAncestorOf(s))||this.nodeType==="Stage"&&!s))){this._fire(e,n);let a=i.indexOf(e)!==-1&&s&&s.isAncestorOf&&s.isAncestorOf(this)&&!s.isAncestorOf(this.parent);if((n&&!n.cancelBubble||!n)&&this.parent&&this.parent.isListening()&&!a)if(s&&s.parent)this._fireAndBubble.call(this.parent,e,n,s);else this._fireAndBubble.call(this.parent,e,n)}}_getProtoListeners(e){var n,s;let{nodeType:i}=this,r=Ye.protoListenerMap.get(i)||{},a=r===null||r===void 0?void 0:r[e];if(a===void 0){a=[];let l=new Set,c=Object.getPrototypeOf(this);while(c){let f=(s=(n=c.eventListeners)===null||n===void 0?void 0:n[e])!==null&&s!==void 0?s:[];for(let m=0;m<f.length;m++){let g=f[m];if(!l.has(g))l.add(g),a.push(g)}c=Object.getPrototypeOf(c)}r[e]=a,Ye.protoListenerMap.set(i,r)}return a}_fire(e,n){n=n||{},n.currentTarget=this,n.type=e;let s=this._getProtoListeners(e);if(s)for(let r=0;r<s.length;r++)s[r].handler.call(this,n);let i=this.eventListeners[e];if(i){let r=i.slice(),a=r.length;for(let c=0;c<r.length;c++)r[c].handler.call(this,n);let l=this.eventListeners[e];if(l)for(let c=a;c<l.length;c++)l[c].handler.call(this,n)}}draw(){return this.drawScene(),this.drawHit(),this}_createDragElement(e){let n=e?e.pointerId:void 0,s=this.getStage(),i=this.getAbsolutePosition();if(!s)return;let r=s._getPointerById(n)||s._changedPointerPositions[0]||i;En._dragElements.set(this._id,{node:this,startPointerPos:r,offset:{x:r.x-i.x,y:r.y-i.y},dragStatus:"ready",pointerId:n,startEvent:e})}startDrag(e,n=!0){if(!En._dragElements.has(this._id))this._createDragElement(e);let s=En._dragElements.get(this._id);s.dragStatus="dragging",this.fire("dragstart",{type:"dragstart",target:this,evt:s.startEvent&&s.startEvent.evt||e&&e.evt},n)}_setDragPosition(e,n){let s=this.getStage()._getPointerById(n.pointerId);if(!s)return;let i={x:s.x-n.offset.x,y:s.y-n.offset.y},r=this.dragBoundFunc();if(r!==void 0){let a=r.call(this,i,e);if(!a)_e.warn("dragBoundFunc did not return any value. That is unexpected behavior. You must return new absolute position from dragBoundFunc.");else i=a}if(!this._lastPos||this._lastPos.x!==i.x||this._lastPos.y!==i.y)this.setAbsolutePosition(i),this._requestDraw();this._lastPos=i}stopDrag(e){let n=En._dragElements.get(this._id);if(n)n.dragStatus="stopped";En._endDragBefore(e),En._endDragAfter(e)}setDraggable(e){this._setAttr("draggable",e),this._dragChange()}isDragging(){let e=En._dragElements.get(this._id);return e?e.dragStatus==="dragging":!1}_listenDrag(){this._dragCleanup(),this.on("mousedown.konva touchstart.konva",function(e){if(!(e.evt.button===void 0||tt.dragButtons.indexOf(e.evt.button)>=0))return;if(this.isDragging())return;let i=!1;if(En._dragElements.forEach((r)=>{if(this.isAncestorOf(r.node))i=!0}),!i)this._createDragElement(e)})}_dragChange(){if(this.attrs.draggable)this._listenDrag();else{if(this._dragCleanup(),!this.getStage())return;let n=En._dragElements.get(this._id),s=n&&n.dragStatus==="dragging",i=n&&n.dragStatus==="ready";if(s)this.stopDrag();else if(i)En._dragElements.delete(this._id)}}_dragCleanup(){this.off("mousedown.konva"),this.off("touchstart.konva")}isClientRectOnScreen(e={x:0,y:0}){let n=this.getStage();if(!n)return!1;let s={x:-e.x,y:-e.y,width:n.width()+2*e.x,height:n.height()+2*e.y};return _e.haveIntersection(s,this.getClientRect())}static create(e,n){if(_e._isString(e))e=JSON.parse(e);return this._createNode(e,n)}static _createNode(e,n){let s=Ye.prototype.getClassName.call(e),i=e.children,r,a,l;if(n)e.attrs.container=n;if(!tt[s])_e.warn('Can not find a node with class name "'+s+'". Fallback to "Shape".'),s="Shape";if(r=new tt[s](e.attrs),i){a=i.length;for(l=0;l<a;l++)r.add(Ye._createNode(i[l]))}return r}}Ye._absTransformCascadeDepth=0;Ye._pendingAfterCascade=[];Ye.protoListenerMap=new Map;Ye.prototype.nodeType="Node";Ye.prototype._attrsAffectingSize=[];Ye.prototype.eventListeners={};Ye.prototype.on(LI,function(){if(this._batchingTransformChange){this._needClearTransformCache=!0;return}this._clearCache(gl),this._clearSelfAndDescendantCache(go)});Ye.prototype.on("visibleChange.konva",function(){this._clearSelfAndDescendantCache(ob)});Ye.prototype.on("listeningChange.konva",function(){this._clearSelfAndDescendantCache(ab)});Ye.prototype.on("opacityChange.konva",function(){this._clearSelfAndDescendantCache(_0)});var is=be.addGetterSetter;is(Ye,"zIndex");is(Ye,"absolutePosition");is(Ye,"position");is(Ye,"x",0,Ke());is(Ye,"y",0,Ke());is(Ye,"globalCompositeOperation","source-over",_a());is(Ye,"opacity",1,Ke());is(Ye,"name","",_a());is(Ye,"id","",_a());is(Ye,"rotation",0,Ke());be.addComponentsGetterSetter(Ye,"scale",["x","y"]);is(Ye,"scaleX",1,Ke());is(Ye,"scaleY",1,Ke());be.addComponentsGetterSetter(Ye,"skew",["x","y"]);is(Ye,"skewX",0,Ke());is(Ye,"skewY",0,Ke());be.addComponentsGetterSetter(Ye,"offset",["x","y"]);is(Ye,"offsetX",0,Ke());is(Ye,"offsetY",0,Ke());is(Ye,"dragDistance",void 0,Ke());is(Ye,"width",0,Ke());is(Ye,"height",0,Ke());is(Ye,"listening",!0,vi());is(Ye,"preventDefault",!0,vi());is(Ye,"filters",void 0,function(e){return this._filterUpToDate=!1,e});is(Ye,"visible",!0,vi());is(Ye,"transformsEnabled","all",_a());is(Ye,"size");is(Ye,"dragBoundFunc");is(Ye,"draggable",!1,vi());be.backCompat(Ye,{rotateDeg:"rotate",setRotationDeg:"setRotation",getRotationDeg:"getRotation"});class hi extends Ye{constructor(){super(...arguments);this.children=[]}getChildren(e){let n=this.children||[];if(e)return n.filter(e);return n}hasChildren(){return this.getChildren().length>0}removeChildren(){return this.getChildren().forEach((e)=>{e.parent=null,e.index=0,e.remove()}),this.children=[],this._requestDraw(),this}destroyChildren(){return this.getChildren().forEach((e)=>{e.parent=null,e.index=0,e.destroy()}),this.children=[],this._requestDraw(),this}add(...e){if(e.length===0)return this;if(e.length>1){for(let s=0;s<e.length;s++)this.add(e[s]);return this}let n=e[0];if(n.getParent())return n.moveTo(this),this;return this._validateAdd(n),n.index=this.getChildren().length,n.parent=this,n._clearCaches(),this.getChildren().push(n),this._fire("add",{child:n}),this._requestDraw(),this}destroy(){if(this.hasChildren())this.destroyChildren();return super.destroy(),this}find(e){return this._generalFind(e,!1)}findOne(e){let n=this._generalFind(e,!0);return n.length>0?n[0]:void 0}_generalFind(e,n){let s=[];return this._descendants((i)=>{let r=i._isMatch(e);if(r)s.push(i);if(r&&n)return!0;return!1}),s}_descendants(e){let n=!1,s=this.getChildren();for(let i of s){if(n=e(i),n)return!0;if(!i.hasChildren())continue;if(n=i._descendants(e),n)return!0}return!1}toObject(){let e=Ye.prototype.toObject.call(this);return e.children=[],this.getChildren().forEach((n)=>{e.children.push(n.toObject())}),e}isAncestorOf(e){let n=e.getParent();while(n){if(n._id===this._id)return!0;n=n.getParent()}return!1}clone(e){let n=Ye.prototype.clone.call(this,e);return this.getChildren().forEach(function(s){n.add(s.clone())}),n}getAllIntersections(e){let n=[];return this.find("Shape").forEach((s)=>{if(s.isVisible()&&s.intersects(e))n.push(s)}),n}_clearSelfAndDescendantCache(e){var n;let s=e==="absoluteTransform";if(s)Ye._absTransformCascadeDepth++;try{if(super._clearSelfAndDescendantCache(e),this.isCached())return;(n=this.children)===null||n===void 0||n.forEach(function(i){i._clearSelfAndDescendantCache(e)})}finally{if(s&&--Ye._absTransformCascadeDepth===0){let i=Ye._pendingAfterCascade;if(i.length){Ye._pendingAfterCascade=[];for(let r=0;r<i.length;r++)i[r]()}}}}_setChildrenIndices(){var e;(e=this.children)===null||e===void 0||e.forEach(function(n,s){n.index=s}),this._requestDraw()}drawScene(e,n,s){let i=this.getLayer(),r=e||i&&i.getCanvas(),a=r&&r.getContext(),l=this._getCanvasCache(),c=l&&l.scene,f=r&&r.isCache;if(!this.isVisible()&&!f)return this;if(c){a.save();let m=this.getAbsoluteTransform(n).getMatrix();a.transform(m[0],m[1],m[2],m[3],m[4],m[5]),this._drawCachedSceneCanvas(a),a.restore()}else this._drawChildren("drawScene",r,n,s);return this}drawHit(e,n){if(!this.shouldDrawHit(n))return this;let s=this.getLayer(),i=e||s&&s.hitCanvas,r=i&&i.getContext(),a=this._getCachedHitCanvas(n);if(a){r.save();let l=this.getAbsoluteTransform(n).getMatrix();r.transform(l[0],l[1],l[2],l[3],l[4],l[5]),this._drawCachedHitCanvas(r,a),r.restore()}else this._drawChildren("drawHit",i,n);return this}_drawChildren(e,n,s,i){var r;let a=n&&n.getContext(),l=this.clipWidth(),c=this.clipHeight(),f=this.clipFunc(),m=typeof l==="number"&&typeof c==="number"||f,g=s===this;if(m){a.save();let v=this.getAbsoluteTransform(s),k=v.getMatrix();a.transform(k[0],k[1],k[2],k[3],k[4],k[5]),a.beginPath();let T;if(f)T=f.call(this,a,this);else{let _=this.clipX(),P=this.clipY();a.rect(_||0,P||0,l,c)}a.clip.apply(a,T),k=v.copy().invert().getMatrix(),a.transform(k[0],k[1],k[2],k[3],k[4],k[5])}let b=!g&&this.globalCompositeOperation()!=="source-over"&&e==="drawScene";if(b)a.save(),a._applyGlobalCompositeOperation(this);if((r=this.children)===null||r===void 0||r.forEach(function(v){v[e](n,s,i)}),b)a.restore();if(m)a.restore()}getClientRect(e={}){var n;let{skipTransform:s,relativeTo:i}=e,r,a,l,c,f={x:1/0,y:1/0,width:0,height:0},m=this;(n=this.children)===null||n===void 0||n.forEach(function(v){if(!v.visible())return;let k=v.getClientRect({relativeTo:m,skipShadow:e.skipShadow,skipStroke:e.skipStroke});if(k.width===0&&k.height===0)return;if(r===void 0)r=k.x,a=k.y,l=k.x+k.width,c=k.y+k.height;else r=Math.min(r,k.x),a=Math.min(a,k.y),l=Math.max(l,k.x+k.width),c=Math.max(c,k.y+k.height)});let g=this.find("Shape"),b=!1;for(let v=0;v<g.length;v++)if(g[v]._isVisible(this)){b=!0;break}if(b&&r!==void 0)f={x:r,y:a,width:l-r,height:c-a};else f={x:0,y:0,width:0,height:0};if(!s)return this._transformedRect(f,i);return f}}be.addComponentsGetterSetter(hi,"clip",["x","y","width","height"]);be.addGetterSetter(hi,"clipX",void 0,Ke());be.addGetterSetter(hi,"clipY",void 0,Ke());be.addGetterSetter(hi,"clipWidth",void 0,Ke());be.addGetterSetter(hi,"clipHeight",void 0,Ke());be.addGetterSetter(hi,"clipFunc");var Mh=new Map,Jv=tt._global.PointerEvent!==void 0;function R0(e){return Mh.get(e)}function D0(e){return{evt:e,pointerId:e.pointerId}}function q0(e,n){return Mh.get(e)===n}function M0(e,n){var s;ec(e);let i=n.getStage();if(!i)return;if(Mh.set(e,n),Jv){try{(s=i.content)===null||s===void 0||s.setPointerCapture(e)}catch(r){}n._fire("gotpointercapture",D0(new PointerEvent("gotpointercapture")))}}function ec(e,n){var s;let i=Mh.get(e);if(!i)return;let r=i.getStage();if(Mh.delete(e),Jv){try{(s=r===null||r===void 0?void 0:r.content)===null||s===void 0||s.releasePointerCapture(e)}catch(a){}i._fire("lostpointercapture",D0(new PointerEvent("lostpointercapture")))}}var PI="Stage",NI="string",e4="px",BI="mouseout",i4="mouseleave",r4="mouseover",a4="mouseenter",o4="mousemove",l4="mousedown",c4="mouseup",Fh="pointermove",Lh="pointerdown",rf="pointerup",Oh="pointercancel",HI="lostpointercapture",F0="pointerout",Ph="pointerleave",L0="pointerover",O0="pointerenter",fb="contextmenu",f4="touchstart",h4="touchend",u4="touchmove",d4="touchcancel",hb="wheel",UI=5,zI=[[a4,"_pointerenter"],[l4,"_pointerdown"],[o4,"_pointermove"],[c4,"_pointerup"],[i4,"_pointerleave"],[f4,"_pointerdown"],[u4,"_pointermove"],[h4,"_pointerup"],[d4,"_pointercancel"],[r4,"_pointerover"],[hb,"_wheel"],[fb,"_contextmenu"],[Lh,"_pointerdown"],[Fh,"_pointermove"],[rf,"_pointerup"],[Oh,"_pointercancel"],[Ph,"_pointerleave"],[HI,"_lostpointercapture"]],lb={mouse:{[F0]:BI,[Ph]:i4,[L0]:r4,[O0]:a4,[Fh]:o4,[Lh]:l4,[rf]:c4,[Oh]:"mousecancel",pointerclick:"click",pointerdblclick:"dblclick"},touch:{[F0]:"touchout",[Ph]:"touchleave",[L0]:"touchover",[O0]:"touchenter",[Fh]:u4,[Lh]:f4,[rf]:h4,[Oh]:d4,pointerclick:"tap",pointerdblclick:"dbltap"},pointer:{[F0]:F0,[Ph]:Ph,[L0]:L0,[O0]:O0,[Fh]:Fh,[Lh]:Lh,[rf]:rf,[Oh]:Oh,pointerclick:"pointerclick",pointerdblclick:"pointerdblclick"}},Nh=(e)=>{if(e.indexOf("pointer")>=0)return"pointer";if(e.indexOf("touch")>=0)return"touch";return"mouse"},sf=(e)=>{let n=Nh(e);if(n==="pointer")return tt.pointerEventsEnabled&&lb.pointer;if(n==="touch")return lb.touch;if(n==="mouse")return lb.mouse};function t4(e={}){if(e.clipFunc||e.clipWidth||e.clipHeight)_e.warn("Stage does not support clipping. Please use clip for Layers or Groups.");return e}var GI="Pointer position is missing and not registered by the stage. Looks like it is outside of the stage container. You can set it manually from event: stage.setPointersPositions(event);",af=[],n4=new WeakSet,s4=(e)=>{if(!e||n4.has(e))return;n4.add(e),En._listenToWindow(e),e.document.addEventListener("visibilitychange",()=>{af.forEach((n)=>{n.batchDraw()})})};class of extends hi{constructor(e){super(t4(e));this._pointerPositions=[],this._changedPointerPositions=[],this._buildDOM(),this._bindContentEvents(),af.push(this),this.on("widthChange.konva heightChange.konva",this._resizeDOM),this.on("visibleChange.konva",this._checkVisibility),this.on("clipWidthChange.konva clipHeightChange.konva clipFuncChange.konva",()=>{t4(this.attrs)}),this._checkVisibility()}_validateAdd(e){let n=e.getType()==="Layer",s=e.getType()==="FastLayer";if(!(n||s))_e.throw("You may only add layers to the stage.")}_checkVisibility(){if(!this.content)return;let e=this.visible()?"":"none";this.content.style.display=e}_getOwnerWindow(){var e;let n=this.content||this.container();return((e=n===null||n===void 0?void 0:n.ownerDocument)===null||e===void 0?void 0:e.defaultView)||(tt.isBrowser?window:null)}setContainer(e){if(typeof e===NI){let n;if(e.charAt(0)==="."){let s=e.slice(1);e=document.getElementsByClassName(s)[0]}else{if(e.charAt(0)!=="#")n=e;else n=e.slice(1);e=document.getElementById(n)}if(!e)throw"Can not find container in document with id "+n}if(this._setAttr("container",e),this.content){if(this.content.parentElement)this.content.parentElement.removeChild(this.content);e.appendChild(this.content),s4(this._getOwnerWindow())}return this}shouldDrawHit(){return!0}clear(){let e=this.children,n=e.length;for(let s=0;s<n;s++)e[s].clear();return this}clone(e){if(!e)e={};return e.container=typeof document<"u"&&document.createElement("div"),hi.prototype.clone.call(this,e)}destroy(){super.destroy();let e=this.content;if(e&&_e._isInDocument(e))this.container().removeChild(e);let n=af.indexOf(this);if(n>-1)af.splice(n,1);return _e.releaseCanvas(this.bufferCanvas._canvas,this.bufferHitCanvas._canvas),this}getPointerPosition(){let e=this._pointerPositions[0]||this._changedPointerPositions[0];if(!e)return _e.warn(GI),null;return{x:e.x,y:e.y}}_getPointerById(e){return this._pointerPositions.find((n)=>n.id===e)}getPointersPositions(){return this._pointerPositions}getStage(){return this}getContent(){return this.content}_toKonvaCanvas(e){e={...e},e.x=e.x||0,e.y=e.y||0,e.width=e.width||this.width(),e.height=e.height||this.height();let n=new qr({width:e.width,height:e.height,pixelRatio:e.pixelRatio||1}),s=n.getContext()._context,i=this.children;if(e.x||e.y)s.translate(-1*e.x,-1*e.y);return i.forEach(function(r){if(!r.isVisible())return;let a=r._toKonvaCanvas(e);s.drawImage(a._canvas,e.x,e.y,a.getWidth()/a.getPixelRatio(),a.getHeight()/a.getPixelRatio())}),n}getIntersection(e){if(!e)return null;let n=this.children,s=n.length,i=s-1;for(let r=i;r>=0;r--){let a=n[r].getIntersection(e);if(a)return a}return null}_resizeDOM(){let e=this.width(),n=this.height();if(this.content)this.content.style.width=e+e4,this.content.style.height=n+e4;this.children.forEach((s)=>{s.setSize({width:e,height:n}),s.draw()})}_syncBufferSize(e){return e.setSizeIfChanged(this.width(),this.height()),e}add(e,...n){if(arguments.length>1){for(let i=0;i<arguments.length;i++)this.add(arguments[i]);return this}super.add(e);let s=this.children.length;if(s>UI)_e.warn("The stage has "+s+" layers. Recommended maximum number of layers is 3-5. Adding more layers into the stage may drop the performance. Rethink your tree structure, you can use Konva.Group.");if(e.setSize({width:this.width(),height:this.height()}),e.draw(),tt.isBrowser)this.content.appendChild(e.canvas._canvas);return this}getParent(){return null}getLayer(){return null}hasPointerCapture(e){return q0(e,this)}setPointerCapture(e){M0(e,this)}releaseCapture(e){ec(e,this)}getLayers(){return this.children}_bindContentEvents(){if(!tt.isBrowser)return;zI.forEach(([e,n])=>{this.content.addEventListener(e,(s)=>{this[n](s)},{passive:!1})})}_pointerenter(e){this.setPointersPositions(e);let n=sf(e.type);if(n)this._fire(n.pointerenter,{evt:e,target:this,currentTarget:this})}_pointerover(e){this.setPointersPositions(e);let n=sf(e.type);if(n)this._fire(n.pointerover,{evt:e,target:this,currentTarget:this})}_getTargetShape(e){let n=this[e+"targetShape"];if(n&&!n.getStage())n=null;return n}_pointerleave(e){let n=sf(e.type),s=Nh(e.type);if(!n)return;this.setPointersPositions(e);let i=this._getTargetShape(s),r=!(tt.isDragging()||tt.isTransforming())||tt.hitOnDragEnabled;if(i&&r)i._fireAndBubble(n.pointerout,{evt:e}),i._fireAndBubble(n.pointerleave,{evt:e}),this._fire(n.pointerleave,{evt:e,target:this,currentTarget:this}),this[s+"targetShape"]=null;else if(r)this._fire(n.pointerleave,{evt:e,target:this,currentTarget:this}),this._fire(n.pointerout,{evt:e,target:this,currentTarget:this});this.pointerPos=null,this._pointerPositions=[]}_pointerdown(e){let n=sf(e.type),s=Nh(e.type);if(!n)return;this.setPointersPositions(e);let i=!1;if(this._changedPointerPositions.forEach((r)=>{let a=this.getIntersection(r);if(En.justDragged=!1,tt["_"+s+"ListenClick"]=!0,!a||!a.isListening()){this[s+"ClickStartShape"]=void 0;return}if(tt.capturePointerEventsEnabled)a.setPointerCapture(r.id);this[s+"ClickStartShape"]=a,a._fireAndBubble(n.pointerdown,{evt:e,pointerId:r.id}),i=!0;let l=e.type.indexOf("touch")>=0;if(a.preventDefault()&&e.cancelable&&l)e.preventDefault()}),!i)this._fire(n.pointerdown,{evt:e,target:this,currentTarget:this,pointerId:this._pointerPositions[0].id})}_pointermove(e){let n=sf(e.type),s=Nh(e.type);if(!n)return;let i=e.type.indexOf("touch")>=0||e.pointerType==="touch";if(tt.isDragging()&&En.node.preventDefault()&&e.cancelable&&i)e.preventDefault();if(this.setPointersPositions(e),!(!(tt.isDragging()||tt.isTransforming())||tt.hitOnDragEnabled))return;let a={},l=!1,c=this._getTargetShape(s);if(this._changedPointerPositions.forEach((f)=>{let m=R0(f.id)||this.getIntersection(f),g=f.id,b={evt:e,pointerId:g},v=c!==m;if(v&&c)c._fireAndBubble(n.pointerout,{...b},m),c._fireAndBubble(n.pointerleave,{...b},m);if(m){if(a[m._id])return;a[m._id]=!0}if(m&&m.isListening()){if(l=!0,v)m._fireAndBubble(n.pointerover,{...b},c),m._fireAndBubble(n.pointerenter,{...b},c),this[s+"targetShape"]=m;m._fireAndBubble(n.pointermove,{...b})}else if(c)this._fire(n.pointerover,{evt:e,target:this,currentTarget:this,pointerId:g}),this[s+"targetShape"]=null}),!l)this._fire(n.pointermove,{evt:e,target:this,currentTarget:this,pointerId:this._changedPointerPositions[0].id})}_pointerup(e){let n=sf(e.type),s=Nh(e.type);if(!n)return;this.setPointersPositions(e);let i=En.justDragged||s==="pointer"&&tt.isDragging(),r=tt["_"+s+"ListenClick"]&&!i,a=this[s+"ClickStartShape"],l=this[s+"ClickEndShape"],c={},f=!1;if(this._changedPointerPositions.forEach((m)=>{let g=R0(m.id)||this.getIntersection(m);if(g){if(g.releaseCapture(m.id),c[g._id])return;c[g._id]=!0}let b=m.id,v={evt:e,pointerId:b},k=!1;if(tt["_"+s+"InDblClickWindow"])k=!0,clearTimeout(this[s+"DblTimeout"]);else if(!i)tt["_"+s+"InDblClickWindow"]=!0,clearTimeout(this[s+"DblTimeout"]);if(this[s+"DblTimeout"]=setTimeout(function(){tt["_"+s+"InDblClickWindow"]=!1},tt.dblClickWindow),g&&g.isListening()){if(f=!0,this[s+"ClickEndShape"]=g,g._fireAndBubble(n.pointerup,{...v}),r&&a===g){if(g._fireAndBubble(n.pointerclick,{...v}),k&&l&&l===g)g._fireAndBubble(n.pointerdblclick,{...v})}}else{if(this[s+"ClickEndShape"]=null,!f)this._fire(n.pointerup,{evt:e,target:this,currentTarget:this,pointerId:this._changedPointerPositions[0].id}),f=!0;if(r)this._fire(n.pointerclick,{evt:e,target:this,currentTarget:this,pointerId:b});if(k)this._fire(n.pointerdblclick,{evt:e,target:this,currentTarget:this,pointerId:b})}}),!f)this._fire(n.pointerup,{evt:e,target:this,currentTarget:this,pointerId:this._changedPointerPositions[0].id});if(tt["_"+s+"ListenClick"]=!1,e.cancelable&&s!=="touch"&&s!=="pointer")e.preventDefault()}_contextmenu(e){this.setPointersPositions(e);let n=this.getIntersection(this.getPointerPosition());if(n&&n.isListening())n._fireAndBubble(fb,{evt:e});else this._fire(fb,{evt:e,target:this,currentTarget:this})}_wheel(e){this.setPointersPositions(e);let n=this.getIntersection(this.getPointerPosition());if(n&&n.isListening())n._fireAndBubble(hb,{evt:e});else this._fire(hb,{evt:e,target:this,currentTarget:this})}_pointercancel(e){this.setPointersPositions(e);let n=R0(e.pointerId)||this.getIntersection(this.getPointerPosition());if(n)n._fireAndBubble(rf,D0(e));ec(e.pointerId)}_lostpointercapture(e){ec(e.pointerId)}setPointersPositions(e){let n=this._getContentPosition(),s=null,i=null;if(e=e?e:window.event,e.touches!==void 0)this._pointerPositions=[],this._changedPointerPositions=[],Array.prototype.forEach.call(e.touches,(r)=>{this._pointerPositions.push({id:r.identifier,x:(r.clientX-n.left)/n.scaleX,y:(r.clientY-n.top)/n.scaleY})}),Array.prototype.forEach.call(e.changedTouches||e.touches,(r)=>{this._changedPointerPositions.push({id:r.identifier,x:(r.clientX-n.left)/n.scaleX,y:(r.clientY-n.top)/n.scaleY})});else s=(e.clientX-n.left)/n.scaleX,i=(e.clientY-n.top)/n.scaleY,this.pointerPos={x:s,y:i},this._pointerPositions=[{x:s,y:i,id:_e._getFirstPointerId(e)}],this._changedPointerPositions=[{x:s,y:i,id:_e._getFirstPointerId(e)}]}_setPointerPosition(e){_e.warn('Method _setPointerPosition is deprecated. Use "stage.setPointersPositions(event)" instead.'),this.setPointersPositions(e)}_getContentPosition(){if(!this.content||!this.content.getBoundingClientRect)return{top:0,left:0,scaleX:1,scaleY:1};let e=this.content.getBoundingClientRect();return{top:e.top,left:e.left,scaleX:e.width/this.content.clientWidth||1,scaleY:e.height/this.content.clientHeight||1}}_buildDOM(){if(this.bufferCanvas=new qr({width:0,height:0}),this.bufferHitCanvas=new Jl({pixelRatio:1,width:0,height:0}),!tt.isBrowser)return;let e=this.container();if(!e)throw"Stage has no container. A container is required.";e.innerHTML="",this.content=e.ownerDocument.createElement("div"),this.content.style.position="relative",this.content.style.userSelect="none",this.content.className="konvajs-content",this.content.setAttribute("role","presentation"),e.appendChild(this.content),s4(this._getOwnerWindow()),this._resizeDOM()}cache(){return _e.warn("Cache function is not allowed for stage. You may use cache only for layers, groups and shapes."),this}clearCache(){return this}batchDraw(){return this.getChildren().forEach(function(e){e.batchDraw()}),this}}of.prototype.nodeType=PI;Qt(of);be.addGetterSetter(of,"container");var m4="hasShadow",p4="shadowRGBA",g4="patternImage",b4="linearGradient",w4="radialGradient",P0;function db(){if(P0)return P0;return P0=_e.createCanvasElement().getContext("2d"),P0}var tc={};function VI(e){let n=this.attrs.fillRule;if(n)e.fill(n);else e.fill()}function $I(e){e.stroke()}function XI(e){let n=this.attrs.fillRule;if(n)e.fill(n);else e.fill()}function KI(e){e.stroke()}function YI(){this._clearCache(m4)}function QI(){this._clearCache(p4)}function JI(){this._clearCache(g4)}function ZI(){this._clearCache(b4)}function eR(){this._clearCache(w4)}class Qe extends Ye{constructor(e){super(e);let n,s=0;while(!0){if(n=_e.getHitColor(),n&&!(n in tc))break;if(s++,s>=1e4){_e.warn("Failed to find a unique color key for a shape. Konva may work incorrectly. Most likely your browser is using canvas farbling. Consider disabling it."),n=_e.getRandomColor();break}}this.colorKey=n,tc[n]=this}getContext(){return _e.warn("shape.getContext() method is deprecated. Please do not use it."),this.getLayer().getContext()}getCanvas(){return _e.warn("shape.getCanvas() method is deprecated. Please do not use it."),this.getLayer().getCanvas()}getSceneFunc(){return this.attrs.sceneFunc||this._sceneFunc}getHitFunc(){return this.attrs.hitFunc||this._hitFunc}hasShadow(){return this._getCache(m4,this._hasShadow)}_hasShadow(){return this.shadowEnabled()&&this.shadowOpacity()!==0&&!!(this.shadowColor()||this.shadowBlur()||this.shadowOffsetX()||this.shadowOffsetY())}_getFillPattern(){return this._getCache(g4,this.__getFillPattern)}__getFillPattern(){if(this.fillPatternImage()){let n=db().createPattern(this.fillPatternImage(),this.fillPatternRepeat()||"repeat");if(n&&n.setTransform){let s=new yi;s.translate(this.fillPatternX(),this.fillPatternY()),s.rotate(tt.getAngle(this.fillPatternRotation())),s.scale(this.fillPatternScaleX(),this.fillPatternScaleY()),s.translate(-1*this.fillPatternOffsetX(),-1*this.fillPatternOffsetY());let i=s.getMatrix(),r=typeof DOMMatrix>"u"?{a:i[0],b:i[1],c:i[2],d:i[3],e:i[4],f:i[5]}:new DOMMatrix(i);n.setTransform(r)}return n}}_getLinearGradient(){return this._getCache(b4,this.__getLinearGradient)}__getLinearGradient(){let e=this.fillLinearGradientColorStops();if(e){let n=db(),s=this.fillLinearGradientStartPoint(),i=this.fillLinearGradientEndPoint(),r=n.createLinearGradient(s.x,s.y,i.x,i.y);for(let a=0;a<e.length;a+=2)r.addColorStop(e[a],e[a+1]);return r}}_getRadialGradient(){return this._getCache(w4,this.__getRadialGradient)}__getRadialGradient(){let e=this.fillRadialGradientColorStops();if(e){let n=db(),s=this.fillRadialGradientStartPoint(),i=this.fillRadialGradientEndPoint(),r=n.createRadialGradient(s.x,s.y,this.fillRadialGradientStartRadius(),i.x,i.y,this.fillRadialGradientEndRadius());for(let a=0;a<e.length;a+=2)r.addColorStop(e[a],e[a+1]);return r}}getShadowRGBA(){return this._getCache(p4,this._getShadowRGBA)}_getShadowRGBA(){if(!this.hasShadow())return;let e=_e.colorToRGBA(this.shadowColor());if(e)return"rgba("+e.r+","+e.g+","+e.b+","+e.a*(this.shadowOpacity()||1)+")"}hasFill(){return this._calculate("hasFill",["fillEnabled","fill","fillPatternImage","fillLinearGradientColorStops","fillRadialGradientColorStops"],()=>this.fillEnabled()&&!!(this.fill()||this.fillPatternImage()||this.fillLinearGradientColorStops()||this.fillRadialGradientColorStops()))}hasStroke(){return this._calculate("hasStroke",["strokeEnabled","strokeWidth","stroke","strokeLinearGradientColorStops"],()=>this.strokeEnabled()&&this.strokeWidth()&&!!(this.stroke()||this.strokeLinearGradientColorStops()))}hasHitStroke(){let e=this.hitStrokeWidth();if(e==="auto")return this.hasStroke();return this.strokeEnabled()&&!!e}intersects(e){let n=this.getStage();if(!n)return!1;let s=n._syncBufferSize(n.bufferHitCanvas);return s.getContext().clear(),this.drawHit(s,void 0,!0),s.context.getImageData(Math.round(e.x),Math.round(e.y),1,1).data[3]>0}destroy(){return Ye.prototype.destroy.call(this),delete tc[this.colorKey],delete this.colorKey,this}_useBufferCanvas(e){var n;if(!((n=this.attrs.perfectDrawEnabled)!==null&&n!==void 0?n:!0))return!1;let i=e||this.hasFill(),r=this.hasStroke(),a=this.getAbsoluteOpacity()!==1;if(i&&r&&a)return!0;let l=this.hasShadow(),c=this.shadowForStrokeEnabled();if(i&&r&&l&&c)return!0;return!1}setStrokeHitEnabled(e){if(_e.warn("strokeHitEnabled property is deprecated. Please use hitStrokeWidth instead."),e)this.hitStrokeWidth("auto");else this.hitStrokeWidth(0)}getStrokeHitEnabled(){if(this.hitStrokeWidth()===0)return!1;else return!0}getSelfRect(){let e=this.size();return{x:this._centroid?-e.width/2:0,y:this._centroid?-e.height/2:0,width:e.width,height:e.height}}getClientRect(e={}){let n=!1,s=this.getParent();while(s){if(s.isCached()){n=!0;break}s=s.getParent()}let i=e.skipTransform,r=e.relativeTo||n&&this.getStage()||void 0,a=this.getSelfRect(),c=!e.skipStroke&&this.hasStroke()&&this.strokeWidth()||0,f=a.width+c,m=a.height+c,g=!e.skipShadow&&this.hasShadow(),b=g?this.shadowOffsetX():0,v=g?this.shadowOffsetY():0,k=f+Math.abs(b),T=m+Math.abs(v),_=g&&this.shadowBlur()||0,P=k+_*2,U=T+_*2,z={width:P,height:U,x:-(c/2+_)+Math.min(b,0)+a.x,y:-(c/2+_)+Math.min(v,0)+a.y};if(!i)return this._transformedRect(z,r);return z}drawScene(e,n,s){let i=this.getLayer(),r=e||i.getCanvas(),a=r.getContext(),l=this._getCanvasCache(),c=this.getSceneFunc(),f=this.hasShadow(),m,g=!1,b=n===this;if(!this.isVisible()&&!b)return this;if(l){a.save();let v=this.getAbsoluteTransform(n).getMatrix();return a.transform(v[0],v[1],v[2],v[3],v[4],v[5]),this._drawCachedSceneCanvas(a),a.restore(),this}if(!c)return this;if(a.save(),this._useBufferCanvas()){m=this.getStage();let v=s||m._syncBufferSize(m.bufferCanvas),k=v.getContext();if(s)k.save(),k.setTransform(1,0,0,1,0,0),k.clearRect(0,0,v.width,v.height),k.restore();else k.clear();k.save(),k.imageSmoothingEnabled=a.imageSmoothingEnabled,k._applyLineJoin(this),k._applyMiterLimit(this);let T=this.getAbsoluteTransform(n).getMatrix();k.transform(T[0],T[1],T[2],T[3],T[4],T[5]),c.call(this,k,this),k.restore();let _=v.pixelRatio;if(f)a._applyShadow(this);if(!b)a._applyOpacity(this),a._applyGlobalCompositeOperation(this);a.drawImage(v._canvas,v.x||0,v.y||0,v.width/_,v.height/_)}else{if(a._applyLineJoin(this),a._applyMiterLimit(this),!b){let v=this.getAbsoluteTransform(n).getMatrix();a.transform(v[0],v[1],v[2],v[3],v[4],v[5]),a._applyOpacity(this),a._applyGlobalCompositeOperation(this)}if(f)a._applyShadow(this);c.call(this,a,this)}return a.restore(),this}drawHit(e,n,s=!1){if(!this.shouldDrawHit(n,s))return this;let i=this.getLayer(),r=e||i.hitCanvas,a=r&&r.getContext(),l=this.hitFunc()||this.sceneFunc(),c=this._getCachedHitCanvas(n);if(!this.colorKey)_e.warn("Looks like your canvas has a destroyed shape in it. Do not reuse shape after you destroyed it. If you want to reuse shape you should call remove() instead of destroy()");if(c){a.save();let m=this.getAbsoluteTransform(n).getMatrix();return a.transform(m[0],m[1],m[2],m[3],m[4],m[5]),this._drawCachedHitCanvas(a,c),a.restore(),this}if(!l)return this;if(a.save(),a._applyLineJoin(this),a._applyMiterLimit(this),this!==n){let m=this.getAbsoluteTransform(n).getMatrix();a.transform(m[0],m[1],m[2],m[3],m[4],m[5])}return l.call(this,a,this),a.restore(),this}drawHitFromCache(e=0){let n=this._getCachedSceneCanvas(),s=this._getCachedHitCanvas(),i=s.getContext(),r=s.getWidth(),a=s.getHeight();i.clear(),i.drawImage(n._canvas,0,0,r,a);try{let l=i.getImageData(0,0,r,a),c=l.data,f=c.length,m=_e._hexToRgb(this.colorKey);for(let g=0;g<f;g+=4)if(c[g+3]>e)c[g]=m.r,c[g+1]=m.g,c[g+2]=m.b,c[g+3]=255;else c[g+3]=0;i.putImageData(l,0,0)}catch(l){_e.error("Unable to draw hit graph from cached scene canvas. "+l.message)}return this}hasPointerCapture(e){return q0(e,this)}setPointerCapture(e){M0(e,this)}releaseCapture(e){ec(e,this)}}Qe.prototype._fillFunc=VI;Qe.prototype._strokeFunc=$I;Qe.prototype._fillFuncHit=XI;Qe.prototype._strokeFuncHit=KI;Qe.prototype._centroid=!1;Qe.prototype.nodeType="Shape";Qt(Qe);Qe.prototype.eventListeners={};Qe.prototype.on("shadowColorChange.konva shadowBlurChange.konva shadowOffsetChange.konva shadowOpacityChange.konva shadowEnabledChange.konva",YI);Qe.prototype.on("shadowColorChange.konva shadowOpacityChange.konva shadowEnabledChange.konva",QI);Qe.prototype.on("fillPriorityChange.konva fillPatternImageChange.konva fillPatternRepeatChange.konva fillPatternScaleXChange.konva fillPatternScaleYChange.konva fillPatternOffsetXChange.konva fillPatternOffsetYChange.konva fillPatternXChange.konva fillPatternYChange.konva fillPatternRotationChange.konva",JI);Qe.prototype.on("fillPriorityChange.konva fillLinearGradientColorStopsChange.konva fillLinearGradientStartPointXChange.konva fillLinearGradientStartPointYChange.konva fillLinearGradientEndPointXChange.konva fillLinearGradientEndPointYChange.konva",ZI);Qe.prototype.on("fillPriorityChange.konva fillRadialGradientColorStopsChange.konva fillRadialGradientStartPointXChange.konva fillRadialGradientStartPointYChange.konva fillRadialGradientEndPointXChange.konva fillRadialGradientEndPointYChange.konva fillRadialGradientStartRadiusChange.konva fillRadialGradientEndRadiusChange.konva",eR);be.addGetterSetter(Qe,"stroke",void 0,rb());be.addGetterSetter(Qe,"strokeWidth",2,Ke());be.addGetterSetter(Qe,"fillAfterStrokeEnabled",!1);be.addGetterSetter(Qe,"hitStrokeWidth","auto",Rh());be.addGetterSetter(Qe,"strokeHitEnabled",!0,vi());be.addGetterSetter(Qe,"perfectDrawEnabled",!0,vi());be.addGetterSetter(Qe,"shadowForStrokeEnabled",!0,vi());be.addGetterSetter(Qe,"lineJoin");be.addGetterSetter(Qe,"lineCap");be.addGetterSetter(Qe,"miterLimit");be.addGetterSetter(Qe,"sceneFunc");be.addGetterSetter(Qe,"hitFunc");be.addGetterSetter(Qe,"dash");be.addGetterSetter(Qe,"dashOffset",0,Ke());be.addGetterSetter(Qe,"shadowColor",void 0,_a());be.addGetterSetter(Qe,"shadowBlur",0,Ke());be.addGetterSetter(Qe,"shadowOpacity",1,Ke());be.addComponentsGetterSetter(Qe,"shadowOffset",["x","y"]);be.addGetterSetter(Qe,"shadowOffsetX",0,Ke());be.addGetterSetter(Qe,"shadowOffsetY",0,Ke());be.addGetterSetter(Qe,"fillPatternImage");be.addGetterSetter(Qe,"fill",void 0,rb());be.addGetterSetter(Qe,"fillPatternX",0,Ke());be.addGetterSetter(Qe,"fillPatternY",0,Ke());be.addGetterSetter(Qe,"fillLinearGradientColorStops");be.addGetterSetter(Qe,"strokeLinearGradientColorStops");be.addGetterSetter(Qe,"fillRadialGradientStartRadius",0);be.addGetterSetter(Qe,"fillRadialGradientEndRadius",0);be.addGetterSetter(Qe,"fillRadialGradientColorStops");be.addGetterSetter(Qe,"fillPatternRepeat","repeat");be.addGetterSetter(Qe,"fillEnabled",!0);be.addGetterSetter(Qe,"strokeEnabled",!0);be.addGetterSetter(Qe,"shadowEnabled",!0);be.addGetterSetter(Qe,"dashEnabled",!0);be.addGetterSetter(Qe,"strokeScaleEnabled",!0);be.addGetterSetter(Qe,"fillPriority","color");be.addComponentsGetterSetter(Qe,"fillPatternOffset",["x","y"]);be.addGetterSetter(Qe,"fillPatternOffsetX",0,Ke());be.addGetterSetter(Qe,"fillPatternOffsetY",0,Ke());be.addComponentsGetterSetter(Qe,"fillPatternScale",["x","y"]);be.addGetterSetter(Qe,"fillPatternScaleX",1,Ke());be.addGetterSetter(Qe,"fillPatternScaleY",1,Ke());be.addComponentsGetterSetter(Qe,"fillLinearGradientStartPoint",["x","y"]);be.addComponentsGetterSetter(Qe,"strokeLinearGradientStartPoint",["x","y"]);be.addGetterSetter(Qe,"fillLinearGradientStartPointX",0);be.addGetterSetter(Qe,"strokeLinearGradientStartPointX",0);be.addGetterSetter(Qe,"fillLinearGradientStartPointY",0);be.addGetterSetter(Qe,"strokeLinearGradientStartPointY",0);be.addComponentsGetterSetter(Qe,"fillLinearGradientEndPoint",["x","y"]);be.addComponentsGetterSetter(Qe,"strokeLinearGradientEndPoint",["x","y"]);be.addGetterSetter(Qe,"fillLinearGradientEndPointX",0);be.addGetterSetter(Qe,"strokeLinearGradientEndPointX",0);be.addGetterSetter(Qe,"fillLinearGradientEndPointY",0);be.addGetterSetter(Qe,"strokeLinearGradientEndPointY",0);be.addComponentsGetterSetter(Qe,"fillRadialGradientStartPoint",["x","y"]);be.addGetterSetter(Qe,"fillRadialGradientStartPointX",0);be.addGetterSetter(Qe,"fillRadialGradientStartPointY",0);be.addComponentsGetterSetter(Qe,"fillRadialGradientEndPoint",["x","y"]);be.addGetterSetter(Qe,"fillRadialGradientEndPointX",0);be.addGetterSetter(Qe,"fillRadialGradientEndPointY",0);be.addGetterSetter(Qe,"fillPatternRotation",0);be.addGetterSetter(Qe,"fillRule",void 0,_a());be.backCompat(Qe,{dashArray:"dash",getDashArray:"getDash",setDashArray:"getDash",drawFunc:"sceneFunc",getDrawFunc:"getSceneFunc",setDrawFunc:"setSceneFunc",drawHitFunc:"hitFunc",getDrawHitFunc:"getHitFunc",setDrawHitFunc:"setHitFunc"});var tR="beforeDraw",nR="draw",y4=[{x:0,y:0},{x:-1,y:-1},{x:1,y:-1},{x:1,y:1},{x:-1,y:1}],sR=y4.length;class Ia extends hi{constructor(e){super(e);this.canvas=new qr,this.hitCanvas=new Jl({pixelRatio:1}),this._waitingForDraw=!1,this.on("visibleChange.konva",this._checkVisibility),this._checkVisibility(),this.on("imageSmoothingEnabledChange.konva",this._setSmoothEnabled),this._setSmoothEnabled()}createPNGStream(){return this.canvas._canvas.createPNGStream()}getCanvas(){return this.canvas}getNativeCanvasElement(){return this.canvas._canvas}getHitCanvas(){return this.hitCanvas}getContext(){return this.getCanvas().getContext()}clear(e){return this.getContext().clear(e),this.getHitCanvas().getContext().clear(e),this}setZIndex(e){super.setZIndex(e);let n=this.getStage();if(n&&n.content)if(n.content.removeChild(this.getNativeCanvasElement()),e<n.children.length-1)n.content.insertBefore(this.getNativeCanvasElement(),n.children[e+1].getCanvas()._canvas);else n.content.appendChild(this.getNativeCanvasElement());return this}moveToTop(){Ye.prototype.moveToTop.call(this);let e=this.getStage();if(e&&e.content)e.content.removeChild(this.getNativeCanvasElement()),e.content.appendChild(this.getNativeCanvasElement());return!0}moveUp(){if(!Ye.prototype.moveUp.call(this))return!1;let n=this.getStage();if(!n||!n.content)return!1;if(n.content.removeChild(this.getNativeCanvasElement()),this.index<n.children.length-1)n.content.insertBefore(this.getNativeCanvasElement(),n.children[this.index+1].getCanvas()._canvas);else n.content.appendChild(this.getNativeCanvasElement());return!0}moveDown(){if(Ye.prototype.moveDown.call(this)){let e=this.getStage();if(e){let n=e.children;if(e.content)e.content.removeChild(this.getNativeCanvasElement()),e.content.insertBefore(this.getNativeCanvasElement(),n[this.index+1].getCanvas()._canvas)}return!0}return!1}moveToBottom(){if(Ye.prototype.moveToBottom.call(this)){let e=this.getStage();if(e){let n=e.children;if(e.content)e.content.removeChild(this.getNativeCanvasElement()),e.content.insertBefore(this.getNativeCanvasElement(),n[1].getCanvas()._canvas)}return!0}return!1}getLayer(){return this}remove(){let e=this.getNativeCanvasElement();if(Ye.prototype.remove.call(this),e&&e.parentNode&&_e._isInDocument(e))e.parentNode.removeChild(e);return this}getStage(){return this.parent}setSize({width:e,height:n}){return this.canvas.setSize(e,n),this._syncHitCanvasSize(),this._setSmoothEnabled(),this}_syncHitCanvasSize(){let e=this.isListening();this.hitCanvas.setSizeIfChanged((e?this.getWidth():0)||0,(e?this.getHeight():0)||0)}_validateAdd(e){let n=e.getType();if(n!=="Group"&&n!=="Shape")_e.throw("You may only add groups and shapes to a layer.")}_toKonvaCanvas(e){return e={...e},e.width=e.width||this.getWidth(),e.height=e.height||this.getHeight(),e.x=e.x!==void 0?e.x:this.x(),e.y=e.y!==void 0?e.y:this.y(),Ye.prototype._toKonvaCanvas.call(this,e)}_checkVisibility(){if(this.visible())this.canvas._canvas.style.display="block";else this.canvas._canvas.style.display="none"}_setSmoothEnabled(){this.getContext()._context.imageSmoothingEnabled=this.imageSmoothingEnabled()}getWidth(){if(this.parent)return this.parent.width()}setWidth(){_e.warn('Can not change width of layer. Use "stage.width(value)" function instead.')}getHeight(){if(this.parent)return this.parent.height()}setHeight(){_e.warn('Can not change height of layer. Use "stage.height(value)" function instead.')}batchDraw(){var e;if(!this._waitingForDraw)this._waitingForDraw=!0,_e.requestAnimFrame(()=>{this.draw(),this._waitingForDraw=!1},(e=this.getStage())===null||e===void 0?void 0:e._getOwnerWindow());return this}getIntersection(e){if(!this.isListening()||!this.isVisible())return null;let n=1,s=!1;while(!0){for(let i=0;i<sR;i++){let r=y4[i],a=this._getIntersection({x:e.x+r.x*n,y:e.y+r.y*n}),l=a.shape;if(l)return l;if(s=!!a.antialiased,!a.antialiased)break}if(s)n+=1;else return null}}_getIntersection(e){if(!this.hitCanvas.width||!this.hitCanvas.height)return{};let n=this.hitCanvas.pixelRatio,s=this.hitCanvas.context.getImageData(Math.round(e.x*n),Math.round(e.y*n),1,1).data,i=s[3];if(i===255){let r=_e.getHitColorKey(s[0],s[1],s[2]),a=tc[r];if(a)return{shape:a};return{antialiased:!0}}else if(i>0)return{antialiased:!0};return{}}drawScene(e,n,s){let i=this.getLayer(),r=e||i&&i.getCanvas();if(this._fire(tR,{node:this}),this.clearBeforeDraw())r.getContext().clear();return hi.prototype.drawScene.call(this,r,n,s),this._fire(nR,{node:this}),this}drawHit(e,n){let s=this.getLayer(),i=e||s&&s.hitCanvas;if(!e&&s){if(s._syncHitCanvasSize(),s.clearBeforeDraw())s.getHitCanvas().getContext().clear()}return hi.prototype.drawHit.call(this,i,n),this}enableHitGraph(){return this.hitGraphEnabled(!0),this}disableHitGraph(){return this.hitGraphEnabled(!1),this}setHitGraphEnabled(e){_e.warn("hitGraphEnabled method is deprecated. Please use layer.listening() instead."),this.listening(e)}getHitGraphEnabled(e){return _e.warn("hitGraphEnabled method is deprecated. Please use layer.listening() instead."),this.listening()}toggleHitCanvas(){if(!this.parent||!this.parent.content)return;let e=this.parent;if(!!this.hitCanvas._canvas.parentNode)e.content.removeChild(this.hitCanvas._canvas);else e.content.appendChild(this.hitCanvas._canvas)}destroy(){return _e.releaseCanvas(this.getNativeCanvasElement(),this.getHitCanvas()._canvas),super.destroy()}}Ia.prototype.nodeType="Layer";Qt(Ia);be.addGetterSetter(Ia,"imageSmoothingEnabled",!0);be.addGetterSetter(Ia,"clearBeforeDraw",!0);be.addGetterSetter(Ia,"hitGraphEnabled",!0,vi());class Bh extends Ia{constructor(e){super(e);this.listening(!1),_e.warn('Konva.Fast layer is deprecated. Please use "new Konva.Layer({ listening: false })" instead.')}}Bh.prototype.nodeType="FastLayer";Qt(Bh);class Ra extends hi{_validateAdd(e){let n=e.getType();if(n!=="Group"&&n!=="Shape")_e.throw("You may only add groups and shapes to groups.")}}Ra.prototype.nodeType="Group";Qt(Ra);var mb=function(){if(ll.performance&&ll.performance.now)return function(){return ll.performance.now()};return function(){return new Date().getTime()}}();class Li{constructor(e,n){this.id=Li.animIdCounter++,this.frame={time:0,timeDiff:0,lastTime:mb(),frameRate:0},this.func=e,this.setLayers(n)}setLayers(e){let n=[];if(e)n=Array.isArray(e)?e:[e];return this.layers=n,this}getLayers(){return this.layers}addLayer(e){let n=this.layers,s=n.length;for(let i=0;i<s;i++)if(n[i]._id===e._id)return!1;return this.layers.push(e),!0}isRunning(){let n=Li.animations,s=n.length;for(let i=0;i<s;i++)if(n[i].id===this.id)return!0;return!1}start(){return this.stop(),this.frame.timeDiff=0,this.frame.lastTime=mb(),Li._addAnimation(this),this}stop(){return Li._removeAnimation(this),this}_updateFrameObject(e){this.frame.timeDiff=e-this.frame.lastTime,this.frame.lastTime=e,this.frame.time+=this.frame.timeDiff,this.frame.frameRate=1000/this.frame.timeDiff}static _addAnimation(e){this.animations.push(e),this._handleAnimation()}static _removeAnimation(e){let n=e.id,s=this.animations,i=s.length;for(let r=0;r<i;r++)if(s[r].id===n){this.animations.splice(r,1);break}}static _runFrames(){let e={},n=this.animations;for(let s=0;s<n.length;s++){let i=n[s],{layers:r,func:a}=i;i._updateFrameObject(mb());let l=r.length,c;if(a)c=a.call(i,i.frame)!==!1;else c=!0;if(!c)continue;for(let f=0;f<l;f++){let m=r[f];if(m._id!==void 0)e[m._id]=m}}for(let s in e){if(!e.hasOwnProperty(s))continue;e[s].batchDraw()}}static _animationLoop(){let e=Li;if(e.animations.length)e._runFrames(),_e.requestAnimFrame(e._animationLoop);else e.animRunning=!1}static _handleAnimation(){if(!this.animRunning)this.animRunning=!0,_e.requestAnimFrame(this._animationLoop)}}Li.animations=[];Li.animIdCounter=0;Li.animRunning=!1;var iR={node:1,duration:1,easing:1,onFinish:1,yoyo:1},rR=1,v4=2,S4=3,k4=["fill","stroke","shadowColor"],aR=0;function N0(e){return _e.colorToRGBA(e)||_e.throw('can not tween the color "'+e+'", because it is not a valid color.')}class x4{constructor(e,n,s,i,r,a,l){this.prop=e,this.propFunc=n,this.begin=i,this._pos=i,this.duration=a,this._change=0,this.prevPos=0,this.yoyo=l,this._time=0,this._position=0,this._startTime=0,this._finish=0,this.func=s,this._change=r-this.begin,this.pause()}fire(e){let n=this[e];if(n)n()}setTime(e){if(e>this.duration)if(this.yoyo)this._time=this.duration,this.reverse();else this.finish();else if(e<0)if(this.yoyo)this._time=0,this.play();else this.reset();else this._time=e,this.update()}getTime(){return this._time}setPosition(e){this.prevPos=this._pos,this.propFunc(e),this._pos=e}getPosition(e){if(e===void 0)e=this._time;return this.func(e,this.begin,this._change,this.duration)}play(){this.state=v4,this._startTime=this.getTimer()-this._time,this.onEnterFrame(),this.fire("onPlay")}reverse(){this.state=S4,this._time=this.duration-this._time,this._startTime=this.getTimer()-this._time,this.onEnterFrame(),this.fire("onReverse")}seek(e){this.pause(),this._time=e,this.update(),this.fire("onSeek")}reset(){this.pause(),this._time=0,this.update(),this.fire("onReset")}finish(){this.pause(),this._time=this.duration,this.update(),this.fire("onFinish")}update(){this.setPosition(this.getPosition(this._time)),this.fire("onUpdate")}onEnterFrame(){let e=this.getTimer()-this._startTime;if(this.state===v4)this.setTime(e);else if(this.state===S4)this.setTime(this.duration-e)}pause(){this.state=rR,this.fire("onPause")}getTimer(){return new Date().getTime()}}class as{constructor(e){let n=this,s=e.node,i=s._id,r=e.easing||lf.Linear,a=!!e.yoyo,l,c;if(typeof e.duration>"u")l=0.3;else if(e.duration===0)l=0.001;else l=e.duration;this.node=s,this._id=aR++;let f=s.getLayer()||(s instanceof tt.Stage?s.getLayers():null);if(!f)_e.error("Tween constructor have `node` that is not in a layer. Please add node into layer first.");if(this.anim=new Li(function(){n.tween.onEnterFrame()},f),this.tween=new x4(c,function(m){n._tweenFunc(m)},r,0,1,l*1000,a),this._addListeners(),!as.attrs[i])as.attrs[i]={};if(!as.attrs[i][this._id])as.attrs[i][this._id]={};if(!as.tweens[i])as.tweens[i]={};for(c in e)if(iR[c]===void 0)this._addAttr(c,e[c]);this.reset(),this.onFinish=e.onFinish,this.onReset=e.onReset,this.onUpdate=e.onUpdate}_addAttr(e,n){let s=this.node,i=s._id,r,a,l,c,f,m=as.tweens[i][e];if(m)delete as.attrs[i][m][e];let g=s.getAttr(e);if(_e._isArray(n)){if(r=[],a=Math.max(n.length,g.length),e==="points"&&n.length!==g.length)if(n.length>g.length)c=g,g=_e._prepareArrayForTween(g,n,s.closed());else l=n,n=_e._prepareArrayForTween(n,g,s.closed());if(e.indexOf("fill")===0)for(let b=0;b<a;b++)if(b%2===0)r.push(n[b]-g[b]);else{let v=N0(g[b]);f=N0(n[b]),g[b]=v,r.push({r:f.r-v.r,g:f.g-v.g,b:f.b-v.b,a:f.a-v.a})}else for(let b=0;b<a;b++)r.push(n[b]-g[b])}else if(k4.indexOf(e)!==-1)g=N0(g),f=N0(n),r={r:f.r-g.r,g:f.g-g.g,b:f.b-g.b,a:f.a-g.a};else r=n-g;as.attrs[i][this._id][e]={start:g,diff:r,end:n,trueEnd:l,trueStart:c},as.tweens[i][e]=this._id}_tweenFunc(e){let n=this.node,s=as.attrs[n._id][this._id],i,r,a,l,c,f,m,g;for(i in s){if(r=s[i],a=r.start,l=r.diff,g=r.end,_e._isArray(a))if(c=[],m=Math.max(a.length,g.length),i.indexOf("fill")===0)for(f=0;f<m;f++)if(f%2===0)c.push((a[f]||0)+l[f]*e);else c.push("rgba("+Math.round(a[f].r+l[f].r*e)+","+Math.round(a[f].g+l[f].g*e)+","+Math.round(a[f].b+l[f].b*e)+","+(a[f].a+l[f].a*e)+")");else for(f=0;f<m;f++)c.push((a[f]||0)+l[f]*e);else if(k4.indexOf(i)!==-1)c="rgba("+Math.round(a.r+l.r*e)+","+Math.round(a.g+l.g*e)+","+Math.round(a.b+l.b*e)+","+(a.a+l.a*e)+")";else c=a+l*e;n.setAttr(i,c)}}_addListeners(){this.tween.onPlay=()=>{this.anim.start()},this.tween.onReverse=()=>{this.anim.start()},this.tween.onPause=()=>{this.anim.stop()},this.tween.onFinish=()=>{let e=this.node,n=as.attrs[e._id][this._id];if(n.points&&n.points.trueEnd)e.setAttr("points",n.points.trueEnd);if(this.onFinish)this.onFinish.call(this)},this.tween.onReset=()=>{let e=this.node,n=as.attrs[e._id][this._id];if(n.points&&n.points.trueStart)e.points(n.points.trueStart);if(this.onReset)this.onReset()},this.tween.onUpdate=()=>{if(this.onUpdate)this.onUpdate.call(this)}}play(){return this.tween.play(),this}reverse(){return this.tween.reverse(),this}reset(){return this.tween.reset(),this}seek(e){return this.tween.seek(e*1000),this}pause(){return this.tween.pause(),this}finish(){return this.tween.finish(),this}destroy(){let e=this.node._id,n=this._id,s=as.tweens[e];if(this.pause(),this.anim)this.anim.stop();for(let i in s)delete as.tweens[e][i];if(delete as.attrs[e][n],as.tweens[e]){if(Object.keys(as.tweens[e]).length===0)delete as.tweens[e];if(Object.keys(as.attrs[e]).length===0)delete as.attrs[e]}}}as.attrs={};as.tweens={};Ye.prototype.to=function(e){let n=e.onFinish;e.node=this,e.onFinish=function(){if(this.destroy(),n)n()},new as(e).play()};var lf={BackEaseIn(e,n,s,i){return s*(e/=i)*e*(2.70158*e-1.70158)+n},BackEaseOut(e,n,s,i){return s*((e=e/i-1)*e*(2.70158*e+1.70158)+1)+n},BackEaseInOut(e,n,s,i){let r=1.70158;if((e/=i/2)<1)return s/2*(e*e*(((r*=1.525)+1)*e-r))+n;return s/2*((e-=2)*e*(((r*=1.525)+1)*e+r)+2)+n},ElasticEaseIn(e,n,s,i,r,a){let l=0;if(e===0)return n;if((e/=i)===1)return n+s;if(!a)a=i*0.3;if(!r||r<Math.abs(s))r=s,l=a/4;else l=a/(2*Math.PI)*Math.asin(s/r);return-(r*Math.pow(2,10*(e-=1))*Math.sin((e*i-l)*(2*Math.PI)/a))+n},ElasticEaseOut(e,n,s,i,r,a){let l=0;if(e===0)return n;if((e/=i)===1)return n+s;if(!a)a=i*0.3;if(!r||r<Math.abs(s))r=s,l=a/4;else l=a/(2*Math.PI)*Math.asin(s/r);return r*Math.pow(2,-10*e)*Math.sin((e*i-l)*(2*Math.PI)/a)+s+n},ElasticEaseInOut(e,n,s,i,r,a){let l=0;if(e===0)return n;if((e/=i/2)===2)return n+s;if(!a)a=i*0.44999999999999996;if(!r||r<Math.abs(s))r=s,l=a/4;else l=a/(2*Math.PI)*Math.asin(s/r);if(e<1)return-0.5*(r*Math.pow(2,10*(e-=1))*Math.sin((e*i-l)*(2*Math.PI)/a))+n;return r*Math.pow(2,-10*(e-=1))*Math.sin((e*i-l)*(2*Math.PI)/a)*0.5+s+n},BounceEaseOut(e,n,s,i){if((e/=i)<0.36363636363636365)return s*(7.5625*e*e)+n;else if(e<0.7272727272727273)return s*(7.5625*(e-=0.5454545454545454)*e+0.75)+n;else if(e<0.9090909090909091)return s*(7.5625*(e-=0.8181818181818182)*e+0.9375)+n;else return s*(7.5625*(e-=0.9545454545454546)*e+0.984375)+n},BounceEaseIn(e,n,s,i){return s-lf.BounceEaseOut(i-e,0,s,i)+n},BounceEaseInOut(e,n,s,i){if(e<i/2)return lf.BounceEaseIn(e*2,0,s,i)*0.5+n;else return lf.BounceEaseOut(e*2-i,0,s,i)*0.5+s*0.5+n},EaseIn(e,n,s,i){return s*(e/=i)*e+n},EaseOut(e,n,s,i){return-s*(e/=i)*(e-2)+n},EaseInOut(e,n,s,i){if((e/=i/2)<1)return s/2*e*e+n;return-s/2*(--e*(e-2)-1)+n},StrongEaseIn(e,n,s,i){return s*(e/=i)*e*e*e*e+n},StrongEaseOut(e,n,s,i){return s*((e=e/i-1)*e*e*e*e+1)+n},StrongEaseInOut(e,n,s,i){if((e/=i/2)<1)return s/2*e*e*e*e*e+n;return s/2*((e-=2)*e*e*e*e+2)+n},Linear(e,n,s,i){return s*e/i+n}};var cf=_e._assign(tt,{Util:_e,Transform:yi,Node:Ye,Container:hi,Stage:of,stages:af,Layer:Ia,FastLayer:Bh,Group:Ra,DD:En,Shape:Qe,shapes:tc,Animation:Li,Tween:as,Easings:lf,Context:nf,Canvas:Ih});class aa extends Qe{_sceneFunc(e){let n=tt.getAngle(this.angle()),s=this.clockwise();e.beginPath(),e.arc(0,0,this.outerRadius(),0,n,s),e.arc(0,0,this.innerRadius(),n,0,!s),e.closePath(),e.fillStrokeShape(this)}getWidth(){return this.outerRadius()*2}getHeight(){return this.outerRadius()*2}setWidth(e){this.outerRadius(e/2)}setHeight(e){this.outerRadius(e/2)}getSelfRect(){let e=this.innerRadius(),n=this.outerRadius(),s=this.clockwise(),i=tt.getAngle(this.angle());if(i%(Math.PI*2)===0)return i!==0?{x:-n,y:-n,width:n*2,height:n*2}:{x:e,y:0,width:n-e,height:0};let r=tt.getAngle(s?360-this.angle():this.angle()),a=Math.cos(Math.min(r,Math.PI)),l=1,c=Math.sin(Math.min(Math.max(Math.PI,r),3*Math.PI/2)),f=Math.sin(Math.min(r,Math.PI/2)),m=a*(a>0?e:n),g=l*(l>0?n:e),b=c*(c>0?e:n),v=f*(f>0?n:e);return{x:m,y:s?-1*v:b,width:g-m,height:v-b}}}aa.prototype._centroid=!0;aa.prototype.className="Arc";aa.prototype._attrsAffectingSize=["innerRadius","outerRadius","angle","clockwise"];Qt(aa);be.addGetterSetter(aa,"innerRadius",0,Ke());be.addGetterSetter(aa,"outerRadius",0,Ke());be.addGetterSetter(aa,"angle",0,Ke());be.addGetterSetter(aa,"clockwise",!1,vi());var oR=[[],[],[-0.5773502691896257,0.5773502691896257],[0,-0.7745966692414834,0.7745966692414834],[-0.33998104358485626,0.33998104358485626,-0.8611363115940526,0.8611363115940526],[0,-0.5384693101056831,0.5384693101056831,-0.906179845938664,0.906179845938664],[0.6612093864662645,-0.6612093864662645,-0.2386191860831969,0.2386191860831969,-0.932469514203152,0.932469514203152],[0,0.4058451513773972,-0.4058451513773972,-0.7415311855993945,0.7415311855993945,-0.9491079123427585,0.9491079123427585],[-0.1834346424956498,0.1834346424956498,-0.525532409916329,0.525532409916329,-0.7966664774136267,0.7966664774136267,-0.9602898564975363,0.9602898564975363],[0,-0.8360311073266358,0.8360311073266358,-0.9681602395076261,0.9681602395076261,-0.3242534234038089,0.3242534234038089,-0.6133714327005904,0.6133714327005904],[-0.14887433898163122,0.14887433898163122,-0.4333953941292472,0.4333953941292472,-0.6794095682990244,0.6794095682990244,-0.8650633666889845,0.8650633666889845,-0.9739065285171717,0.9739065285171717],[0,-0.26954315595234496,0.26954315595234496,-0.5190961292068118,0.5190961292068118,-0.7301520055740494,0.7301520055740494,-0.8870625997680953,0.8870625997680953,-0.978228658146057,0.978228658146057],[-0.1252334085114689,0.1252334085114689,-0.3678314989981802,0.3678314989981802,-0.5873179542866175,0.5873179542866175,-0.7699026741943047,0.7699026741943047,-0.9041172563704749,0.9041172563704749,-0.9815606342467192,0.9815606342467192],[0,-0.2304583159551348,0.2304583159551348,-0.44849275103644687,0.44849275103644687,-0.6423493394403402,0.6423493394403402,-0.8015780907333099,0.8015780907333099,-0.9175983992229779,0.9175983992229779,-0.9841830547185881,0.9841830547185881],[-0.10805494870734367,0.10805494870734367,-0.31911236892788974,0.31911236892788974,-0.5152486363581541,0.5152486363581541,-0.6872929048116855,0.6872929048116855,-0.827201315069765,0.827201315069765,-0.9284348836635735,0.9284348836635735,-0.9862838086968123,0.9862838086968123],[0,-0.20119409399743451,0.20119409399743451,-0.3941513470775634,0.3941513470775634,-0.5709721726085388,0.5709721726085388,-0.7244177313601701,0.7244177313601701,-0.8482065834104272,0.8482065834104272,-0.937273392400706,0.937273392400706,-0.9879925180204854,0.9879925180204854],[-0.09501250983763744,0.09501250983763744,-0.2816035507792589,0.2816035507792589,-0.45801677765722737,0.45801677765722737,-0.6178762444026438,0.6178762444026438,-0.755404408355003,0.755404408355003,-0.8656312023878318,0.8656312023878318,-0.9445750230732326,0.9445750230732326,-0.9894009349916499,0.9894009349916499],[0,-0.17848418149584785,0.17848418149584785,-0.3512317634538763,0.3512317634538763,-0.5126905370864769,0.5126905370864769,-0.6576711592166907,0.6576711592166907,-0.7815140038968014,0.7815140038968014,-0.8802391537269859,0.8802391537269859,-0.9506755217687678,0.9506755217687678,-0.9905754753144174,0.9905754753144174],[-0.0847750130417353,0.0847750130417353,-0.2518862256915055,0.2518862256915055,-0.41175116146284263,0.41175116146284263,-0.5597708310739475,0.5597708310739475,-0.6916870430603532,0.6916870430603532,-0.8037049589725231,0.8037049589725231,-0.8926024664975557,0.8926024664975557,-0.9558239495713977,0.9558239495713977,-0.9915651684209309,0.9915651684209309],[0,-0.16035864564022537,0.16035864564022537,-0.31656409996362983,0.31656409996362983,-0.46457074137596094,0.46457074137596094,-0.600545304661681,0.600545304661681,-0.7209661773352294,0.7209661773352294,-0.8227146565371428,0.8227146565371428,-0.9031559036148179,0.9031559036148179,-0.96020815213483,0.96020815213483,-0.9924068438435844,0.9924068438435844],[-0.07652652113349734,0.07652652113349734,-0.22778585114164507,0.22778585114164507,-0.37370608871541955,0.37370608871541955,-0.5108670019508271,0.5108670019508271,-0.636053680726515,0.636053680726515,-0.7463319064601508,0.7463319064601508,-0.8391169718222188,0.8391169718222188,-0.912234428251326,0.912234428251326,-0.9639719272779138,0.9639719272779138,-0.9931285991850949,0.9931285991850949],[0,-0.1455618541608951,0.1455618541608951,-0.2880213168024011,0.2880213168024011,-0.4243421202074388,0.4243421202074388,-0.5516188358872198,0.5516188358872198,-0.6671388041974123,0.6671388041974123,-0.7684399634756779,0.7684399634756779,-0.8533633645833173,0.8533633645833173,-0.9200993341504008,0.9200993341504008,-0.9672268385663063,0.9672268385663063,-0.9937521706203895,0.9937521706203895],[-0.06973927331972223,0.06973927331972223,-0.20786042668822127,0.20786042668822127,-0.34193582089208424,0.34193582089208424,-0.469355837986757,0.469355837986757,-0.5876404035069116,0.5876404035069116,-0.6944872631866827,0.6944872631866827,-0.7878168059792081,0.7878168059792081,-0.8658125777203002,0.8658125777203002,-0.926956772187174,0.926956772187174,-0.9700604978354287,0.9700604978354287,-0.9942945854823992,0.9942945854823992],[0,-0.1332568242984661,0.1332568242984661,-0.26413568097034495,0.26413568097034495,-0.3903010380302908,0.3903010380302908,-0.5095014778460075,0.5095014778460075,-0.6196098757636461,0.6196098757636461,-0.7186613631319502,0.7186613631319502,-0.8048884016188399,0.8048884016188399,-0.8767523582704416,0.8767523582704416,-0.9329710868260161,0.9329710868260161,-0.9725424712181152,0.9725424712181152,-0.9947693349975522,0.9947693349975522],[-0.06405689286260563,0.06405689286260563,-0.1911188674736163,0.1911188674736163,-0.3150426796961634,0.3150426796961634,-0.4337935076260451,0.4337935076260451,-0.5454214713888396,0.5454214713888396,-0.6480936519369755,0.6480936519369755,-0.7401241915785544,0.7401241915785544,-0.820001985973903,0.820001985973903,-0.8864155270044011,0.8864155270044011,-0.9382745520027328,0.9382745520027328,-0.9747285559713095,0.9747285559713095,-0.9951872199970213,0.9951872199970213]],lR=[[],[],[1,1],[0.8888888888888888,0.5555555555555556,0.5555555555555556],[0.6521451548625461,0.6521451548625461,0.34785484513745385,0.34785484513745385],[0.5688888888888889,0.47862867049936647,0.47862867049936647,0.23692688505618908,0.23692688505618908],[0.3607615730481386,0.3607615730481386,0.46791393457269104,0.46791393457269104,0.17132449237917036,0.17132449237917036],[0.4179591836734694,0.3818300505051189,0.3818300505051189,0.27970539148927664,0.27970539148927664,0.1294849661688697,0.1294849661688697],[0.362683783378362,0.362683783378362,0.31370664587788727,0.31370664587788727,0.22238103445337448,0.22238103445337448,0.10122853629037626,0.10122853629037626],[0.3302393550012598,0.1806481606948574,0.1806481606948574,0.08127438836157441,0.08127438836157441,0.31234707704000286,0.31234707704000286,0.26061069640293544,0.26061069640293544],[0.29552422471475287,0.29552422471475287,0.26926671930999635,0.26926671930999635,0.21908636251598204,0.21908636251598204,0.1494513491505806,0.1494513491505806,0.06667134430868814,0.06667134430868814],[0.2729250867779006,0.26280454451024665,0.26280454451024665,0.23319376459199048,0.23319376459199048,0.18629021092773426,0.18629021092773426,0.1255803694649046,0.1255803694649046,0.05566856711617366,0.05566856711617366],[0.24914704581340277,0.24914704581340277,0.2334925365383548,0.2334925365383548,0.20316742672306592,0.20316742672306592,0.16007832854334622,0.16007832854334622,0.10693932599531843,0.10693932599531843,0.04717533638651183,0.04717533638651183],[0.2325515532308739,0.22628318026289723,0.22628318026289723,0.2078160475368885,0.2078160475368885,0.17814598076194574,0.17814598076194574,0.13887351021978725,0.13887351021978725,0.09212149983772845,0.09212149983772845,0.04048400476531588,0.04048400476531588],[0.2152638534631578,0.2152638534631578,0.2051984637212956,0.2051984637212956,0.18553839747793782,0.18553839747793782,0.15720316715819355,0.15720316715819355,0.12151857068790319,0.12151857068790319,0.08015808715976021,0.08015808715976021,0.03511946033175186,0.03511946033175186],[0.2025782419255613,0.19843148532711158,0.19843148532711158,0.1861610000155622,0.1861610000155622,0.16626920581699392,0.16626920581699392,0.13957067792615432,0.13957067792615432,0.10715922046717194,0.10715922046717194,0.07036604748810812,0.07036604748810812,0.03075324199611727,0.03075324199611727],[0.1894506104550685,0.1894506104550685,0.18260341504492358,0.18260341504492358,0.16915651939500254,0.16915651939500254,0.14959598881657674,0.14959598881657674,0.12462897125553388,0.12462897125553388,0.09515851168249279,0.09515851168249279,0.062253523938647894,0.062253523938647894,0.027152459411754096,0.027152459411754096],[0.17944647035620653,0.17656270536699264,0.17656270536699264,0.16800410215645004,0.16800410215645004,0.15404576107681028,0.15404576107681028,0.13513636846852548,0.13513636846852548,0.11188384719340397,0.11188384719340397,0.08503614831717918,0.08503614831717918,0.0554595293739872,0.0554595293739872,0.02414830286854793,0.02414830286854793],[0.1691423829631436,0.1691423829631436,0.16427648374583273,0.16427648374583273,0.15468467512626524,0.15468467512626524,0.14064291467065065,0.14064291467065065,0.12255520671147846,0.12255520671147846,0.10094204410628717,0.10094204410628717,0.07642573025488905,0.07642573025488905,0.0497145488949698,0.0497145488949698,0.02161601352648331,0.02161601352648331],[0.1610544498487837,0.15896884339395434,0.15896884339395434,0.15276604206585967,0.15276604206585967,0.1426067021736066,0.1426067021736066,0.12875396253933621,0.12875396253933621,0.11156664554733399,0.11156664554733399,0.09149002162245,0.09149002162245,0.06904454273764123,0.06904454273764123,0.0448142267656996,0.0448142267656996,0.019461788229726478,0.019461788229726478],[0.15275338713072584,0.15275338713072584,0.14917298647260374,0.14917298647260374,0.14209610931838204,0.14209610931838204,0.13168863844917664,0.13168863844917664,0.11819453196151841,0.11819453196151841,0.10193011981724044,0.10193011981724044,0.08327674157670475,0.08327674157670475,0.06267204833410907,0.06267204833410907,0.04060142980038694,0.04060142980038694,0.017614007139152118,0.017614007139152118],[0.14608113364969041,0.14452440398997005,0.14452440398997005,0.13988739479107315,0.13988739479107315,0.13226893863333747,0.13226893863333747,0.12183141605372853,0.12183141605372853,0.10879729916714838,0.10879729916714838,0.09344442345603386,0.09344442345603386,0.0761001136283793,0.0761001136283793,0.057134425426857205,0.057134425426857205,0.036953789770852494,0.036953789770852494,0.016017228257774335,0.016017228257774335],[0.13925187285563198,0.13925187285563198,0.13654149834601517,0.13654149834601517,0.13117350478706238,0.13117350478706238,0.12325237681051242,0.12325237681051242,0.11293229608053922,0.11293229608053922,0.10041414444288096,0.10041414444288096,0.08594160621706773,0.08594160621706773,0.06979646842452049,0.06979646842452049,0.052293335152683286,0.052293335152683286,0.03377490158481415,0.03377490158481415,0.0146279952982722,0.0146279952982722],[0.13365457218610619,0.1324620394046966,0.1324620394046966,0.12890572218808216,0.12890572218808216,0.12304908430672953,0.12304908430672953,0.11499664022241136,0.11499664022241136,0.10489209146454141,0.10489209146454141,0.09291576606003515,0.09291576606003515,0.07928141177671895,0.07928141177671895,0.06423242140852585,0.06423242140852585,0.04803767173108467,0.04803767173108467,0.030988005856979445,0.030988005856979445,0.013411859487141771,0.013411859487141771],[0.12793819534675216,0.12793819534675216,0.1258374563468283,0.1258374563468283,0.12167047292780339,0.12167047292780339,0.1155056680537256,0.1155056680537256,0.10744427011596563,0.10744427011596563,0.09761865210411388,0.09761865210411388,0.08619016153195327,0.08619016153195327,0.0733464814110803,0.0733464814110803,0.05929858491543678,0.05929858491543678,0.04427743881741981,0.04427743881741981,0.028531388628933663,0.028531388628933663,0.0123412297999872,0.0123412297999872]],cR=[[1],[1,1],[1,2,1],[1,3,3,1]],gb=(e,n,s)=>{let i,r,a=20,l=s/2;i=0;for(let c=0;c<20;c++)r=l*oR[20][c]+l,i+=lR[20][c]*fR(e,n,r);return l*i},bb=(e,n,s)=>{if(s===void 0)s=1;let i=e[0]-2*e[1]+e[2],r=n[0]-2*n[1]+n[2],a=2*e[1]-2*e[0],l=2*n[1]-2*n[0],c=4*(i*i+r*r),f=4*(i*a+r*l),m=a*a+l*l;if(c===0)return s*Math.sqrt(Math.pow(e[2]-e[0],2)+Math.pow(n[2]-n[0],2));let g=f/(2*c),b=m/c,v=s+g,k=b-g*g,T=v*v+k>0?Math.sqrt(v*v+k):0,_=g*g+k>0?Math.sqrt(g*g+k):0,P=g+Math.sqrt(g*g+k)!==0?k*Math.log(Math.abs((v+T)/(g+_))):0;return Math.sqrt(c)/2*(v*T-g*_+P)};function fR(e,n,s){let i=pb(1,s,e),r=pb(1,s,n),a=i*i+r*r;return Math.sqrt(a)}var pb=(e,n,s)=>{let i=s.length-1,r,a;if(i===0)return 0;if(e===0){a=0;for(let l=0;l<=i;l++)a+=cR[i][l]*Math.pow(1-n,i-l)*Math.pow(n,l)*s[l];return a}else{r=Array(i);for(let l=0;l<i;l++)r[l]=i*(s[l+1]-s[l]);return pb(e-1,n,r)}},wb=(e,n,s)=>{let i=1,r=e/n,a=(e-s(r))/n,l=0;while(i>0.001){let c=s(r+a),f=Math.abs(e-c)/n;if(f<i)i=f,r+=a;else{let m=s(r-a),g=Math.abs(e-m)/n;if(g<i)i=g,r-=a;else a/=2}if(l++,l>500)break}return r},A4=(e,n,s,i)=>{let r=1-i;return r*r*e+2*r*i*n+i*i*s},B0=(e,n,s,i,r,a)=>{let l=[];for(let c of[[e,s,r],[n,i,a]]){let f=(c[0]-c[1])/(c[0]-2*c[1]+c[2]);if(f>0&&f<1)l.push(A4(e,s,r,f),A4(n,i,a,f))}return l},T4=(e,n,s,i,r)=>{let a=1-r;return a*a*a*e+3*a*a*r*n+3*a*r*r*s+r*r*r*i},Hh=(e,n,s,i,r,a,l,c)=>{let f=[];for(let m of[[e,s,r,l],[n,i,a,c]]){let g=-3*m[0]+9*m[1]-9*m[2]+3*m[3],b=6*m[0]-12*m[1]+6*m[2],v=-3*m[0]+3*m[1],k=b*b-4*g*v;if(k<0)continue;let T=-(b+(b<0?-1:1)*Math.sqrt(k))/2;for(let _ of[T/g,v/T])if(_>0&&_<1)f.push(T4(e,s,r,l,_),T4(n,i,a,c,_))}return f};function yb(e,n,s,i,r,a,l){let c=Math.sqrt(Math.pow(s-e,2)+Math.pow(i-n,2)),f=Math.sqrt(Math.pow(r-s,2)+Math.pow(a-i,2)),m=c+f;if(m===0)return[s,i,s,i];let g=l*c/m,b=l*f/m,v=s-g*(r-e),k=i-g*(a-n),T=s+b*(r-e),_=i+b*(a-n);return[v,k,T,_]}function E4(e,n){let s=e.length,i=[];for(let r=2;r<s-2;r+=2){let a=yb(e[r-2],e[r-1],e[r],e[r+1],e[r+2],e[r+3],n);if(isNaN(a[0]))continue;i.push(a[0]),i.push(a[1]),i.push(e[r]),i.push(e[r+1]),i.push(a[2]),i.push(a[3])}return i}function hR(e){let n=[];for(let s=0;s+7<e.length;s+=6)n.push(e[s+6],e[s+7],...Hh(e[s],e[s+1],e[s+2],e[s+3],e[s+4],e[s+5],e[s+6],e[s+7]));return n}class Mr extends Qe{constructor(e){super(e);this.on("pointsChange.konva tensionChange.konva closedChange.konva bezierChange.konva",function(){this._clearCache("tensionPoints")})}_hasTension(){return this.tension()!==0&&this.points().length>4}_eachTensionSegment(e,n){let s=this.points(),i=s.length,r=this.closed(),a=this.getTensionPoints(),l=a.length,c=s[0],f=s[1],m=r?0:4;if(!r)e(c,f,a[0],a[1],a[2],a[3]),c=a[2],f=a[3];while(m<l-2){let g=a[m++],b=a[m++],v=a[m++],k=a[m++],T=a[m++],_=a[m++];n(c,f,g,b,v,k,T,_),c=T,f=_}if(!r)e(c,f,a[l-2],a[l-1],s[i-2],s[i-1])}_sceneFunc(e){let n=this.points(),s=n.length,i=this.closed(),r=this.bezier();if(!s)return;let a=0;if(e.beginPath(),e.moveTo(n[0],n[1]),this._hasTension())this._eachTensionSegment((l,c,f,m,g,b)=>e.quadraticCurveTo(f,m,g,b),(l,c,f,m,g,b,v,k)=>e.bezierCurveTo(f,m,g,b,v,k));else if(r){a=2;while(a<s)e.bezierCurveTo(n[a++],n[a++],n[a++],n[a++],n[a++],n[a++])}else for(a=2;a<s;a+=2)e.lineTo(n[a],n[a+1]);if(i)e.closePath(),e.fillStrokeShape(this);else e.strokeShape(this)}getTensionPoints(){return this._getCache("tensionPoints",this._getTensionPoints)}_getTensionPoints(){if(this.closed())return this._getTensionPointsClosed();else return E4(this.points(),this.tension())}_getTensionPointsClosed(){let e=this.points(),n=e.length,s=this.tension(),i=yb(e[n-2],e[n-1],e[0],e[1],e[2],e[3],s),r=yb(e[n-4],e[n-3],e[n-2],e[n-1],e[0],e[1],s),a=E4(e,s);return[i[2],i[3]].concat(a).concat([r[0],r[1],e[n-2],e[n-1],r[2],r[3],i[0],i[1],e[0],e[1]])}getWidth(){return this.getSelfRect().width}getHeight(){return this.getSelfRect().height}getSelfRect(){let e=this.points();if(e.length<4)return{x:e[0]||0,y:e[1]||0,width:0,height:0};if(this._hasTension()){let c=[e[0],e[1]];this._eachTensionSegment((f,m,g,b,v,k)=>c.push(v,k,...B0(f,m,g,b,v,k)),(f,m,g,b,v,k,T,_)=>c.push(T,_,...Hh(f,m,g,b,v,k,T,_))),e=c}else if(this.bezier())e=[e[0],e[1],...hR(e)];let n=e[0],s=e[0],i=e[1],r=e[1],a,l;for(let c=0;c<e.length/2;c++)a=e[c*2],l=e[c*2+1],n=Math.min(n,a),s=Math.max(s,a),i=Math.min(i,l),r=Math.max(r,l);return{x:n,y:i,width:s-n,height:r-i}}}Mr.prototype.className="Line";Mr.prototype._attrsAffectingSize=["points","bezier","tension"];Qt(Mr);be.addGetterSetter(Mr,"closed",!1);be.addGetterSetter(Mr,"bezier",!1);be.addGetterSetter(Mr,"tension",0,Ke());be.addGetterSetter(Mr,"points",[],Vv());class Qn extends Qe{constructor(e){super(e);this.dataArray=[],this.pathLength=0,this._readDataAttribute(),this.on("dataChange.konva",function(){this._readDataAttribute()})}_readDataAttribute(){this.dataArray=Qn.parsePathData(this.data()),this.pathLength=Qn.getPathLength(this.dataArray)}_sceneFunc(e){let n=this.dataArray;e.beginPath();let s=!1;for(let i=0;i<n.length;i++){let r=n[i].command,a=n[i].points;switch(r){case"L":e.lineTo(a[0],a[1]);break;case"M":e.moveTo(a[0],a[1]);break;case"C":e.bezierCurveTo(a[0],a[1],a[2],a[3],a[4],a[5]);break;case"Q":e.quadraticCurveTo(a[0],a[1],a[2],a[3]);break;case"A":let l=a[0],c=a[1],f=a[2],m=a[3],g=a[4],b=a[5],v=a[6],k=a[7],T=f>m?f:m,_=f>m?1:f/m,P=f>m?m/f:1;e.translate(l,c),e.rotate(v),e.scale(_,P),e.arc(0,0,T,g,g+b,1-k),e.scale(1/_,1/P),e.rotate(-v),e.translate(-l,-c);break;case"z":s=!0,e.closePath();break}}if(!s&&!this.hasFill())e.strokeShape(this);else e.fillStrokeShape(this)}getSelfRect(){let e=[];this.dataArray.forEach(function(c){if(c.command==="A"){let f=c.points[4],m=c.points[5],g=c.points[4]+m,b=Math.PI/180;if(Math.abs(f-g)<b)b=Math.abs(f-g);if(m<0)for(let v=f-b;v>g;v-=b){let k=Qn.getPointOnEllipticalArc(c.points[0],c.points[1],c.points[2],c.points[3],v,0);e.push(k.x,k.y)}else for(let v=f+b;v<g;v+=b){let k=Qn.getPointOnEllipticalArc(c.points[0],c.points[1],c.points[2],c.points[3],v,0);e.push(k.x,k.y)}}else if(c.command==="C")e.push(c.start.x,c.start.y,c.points[4],c.points[5],...Hh(c.start.x,c.start.y,c.points[0],c.points[1],c.points[2],c.points[3],c.points[4],c.points[5]));else if(c.command==="Q")e.push(c.start.x,c.start.y,c.points[2],c.points[3],...B0(c.start.x,c.start.y,c.points[0],c.points[1],c.points[2],c.points[3]));else e=e.concat(c.points)});let n=e[0],s=e[0],i=e[1],r=e[1],a,l;for(let c=0;c<e.length/2;c++){if(a=e[c*2],l=e[c*2+1],!isNaN(a))n=Math.min(n,a),s=Math.max(s,a);if(!isNaN(l))i=Math.min(i,l),r=Math.max(r,l)}return{x:n,y:i,width:s-n,height:r-i}}getLength(){return this.pathLength}getPointAtLength(e){return Qn.getPointAtLengthOfDataArray(e,this.dataArray)}static getLineLength(e,n,s,i){return Math.sqrt((s-e)*(s-e)+(i-n)*(i-n))}static getPathLength(e){let n=0;for(let s=0;s<e.length;++s)n+=e[s].pathLength;return n}static getPointAtLengthOfDataArray(e,n){let s,i=0,r=n.length;if(!r)return null;while(i<r&&e>n[i].pathLength)e-=n[i].pathLength,++i;if(i===r){let c=i-1;while(c>0&&n[c].points.length<2)c--;return s=n[c].points.slice(-2),{x:s[0],y:s[1]}}if(e<0.01)if(n[i].command==="M")return s=n[i].points.slice(0,2),{x:s[0],y:s[1]};else return{x:n[i].start.x,y:n[i].start.y};let a=n[i],l=a.points;switch(a.command){case"L":return Qn.getPointOnLine(e,a.start.x,a.start.y,l[0],l[1]);case"C":return Qn.getPointOnCubicBezier(wb(e,Qn.getPathLength(n),(T)=>gb([a.start.x,l[0],l[2],l[4]],[a.start.y,l[1],l[3],l[5]],T)),a.start.x,a.start.y,l[0],l[1],l[2],l[3],l[4],l[5]);case"Q":return Qn.getPointOnQuadraticBezier(wb(e,Qn.getPathLength(n),(T)=>bb([a.start.x,l[0],l[2]],[a.start.y,l[1],l[3]],T)),a.start.x,a.start.y,l[0],l[1],l[2],l[3]);case"A":let c=l[0],f=l[1],m=l[2],g=l[3],b=l[5],v=l[6],k=l[4];return k+=b*e/a.pathLength,Qn.getPointOnEllipticalArc(c,f,m,g,k,v)}return null}static getPointOnLine(e,n,s,i,r,a,l){a=a!==null&&a!==void 0?a:n,l=l!==null&&l!==void 0?l:s;let c=this.getLineLength(n,s,i,r);if(c<0.0000000001)return{x:n,y:s};if(i===n)return{x:a,y:l+(r>s?e:-e)};let f=(r-s)/(i-n),m=Math.sqrt(e*e/(1+f*f))*(i<n?-1:1),g=f*m;if(Math.abs(l-s-f*(a-n))<0.0000000001)return{x:a+m,y:l+g};let b=((a-n)*(i-n)+(l-s)*(r-s))/(c*c),v=n+b*(i-n),k=s+b*(r-s),T=this.getLineLength(a,l,v,k),_=Math.sqrt(e*e-T*T),P=Math.sqrt(_*_/(1+f*f))*(i<n?-1:1),U=f*P;return{x:v+P,y:k+U}}static getPointOnCubicBezier(e,n,s,i,r,a,l,c,f){function m(_){return _*_*_}function g(_){return 3*_*_*(1-_)}function b(_){return 3*_*(1-_)*(1-_)}function v(_){return(1-_)*(1-_)*(1-_)}let k=c*m(e)+a*g(e)+i*b(e)+n*v(e),T=f*m(e)+l*g(e)+r*b(e)+s*v(e);return{x:k,y:T}}static getPointOnQuadraticBezier(e,n,s,i,r,a,l){function c(v){return v*v}function f(v){return 2*v*(1-v)}function m(v){return(1-v)*(1-v)}let g=a*c(e)+i*f(e)+n*m(e),b=l*c(e)+r*f(e)+s*m(e);return{x:g,y:b}}static getPointOnEllipticalArc(e,n,s,i,r,a){let l=Math.cos(a),c=Math.sin(a),f={x:s*Math.cos(r),y:i*Math.sin(r)};return{x:e+(f.x*l-f.y*c),y:n+(f.x*c+f.y*l)}}static parsePathData(e){if(!e)return[];let n=e,s=["m","M","l","L","v","V","h","H","z","Z","c","C","q","Q","t","T","s","S","a","A"];n=n.replace(new RegExp(" ","g"),",");for(let g=0;g<s.length;g++)n=n.replace(new RegExp(s[g],"g"),"|"+s[g]);let i=n.split("|"),r=[],a=[],l=0,c=0,f=/([-+]?((\d+\.\d+)|((\d+)|(\.\d+)))(?:e[-+]?\d+)?)/gi,m;for(let g=1;g<i.length;g++){let b=i[g],v=b.charAt(0);b=b.slice(1),a.length=0;while(m=f.exec(b))a.push(m[0]);let k=[],T=v==="A"||v==="a"?0:-1;for(let _=0,P=a.length;_<P;_++){let U=a[_];if(U==="00"){if(k.push(0,0),T>=0){if(T+=2,T>=7)T-=7}continue}if(T>=0){if(T===3){if(/^[01]{2}\d+(?:\.\d+)?$/.test(U)){if(k.push(parseInt(U[0],10)),k.push(parseInt(U[1],10)),k.push(parseFloat(U.slice(2))),T+=3,T>=7)T-=7;continue}if(U==="11"||U==="10"||U==="01"){if(k.push(parseInt(U[0],10)),k.push(parseInt(U[1],10)),T+=2,T>=7)T-=7;continue}if(U==="0"||U==="1"){if(k.push(parseInt(U,10)),T+=1,T>=7)T-=7;continue}}else if(T===4){if(/^[01]\d+(?:\.\d+)?$/.test(U)){if(k.push(parseInt(U[0],10)),k.push(parseFloat(U.slice(1))),T+=2,T>=7)T-=7;continue}if(U==="0"||U==="1"){if(k.push(parseInt(U,10)),T+=1,T>=7)T-=7;continue}}let z=parseFloat(U);if(!isNaN(z))k.push(z);else k.push(0);if(T+=1,T>=7)T-=7}else{let z=parseFloat(U);if(!isNaN(z))k.push(z);else k.push(0)}}while(k.length>0){if(isNaN(k[0]))break;let _="",P=[],U=l,z=c,V,X,J,ee,te,ne,ie,se,oe,ye;switch(v){case"l":l+=k.shift(),c+=k.shift(),_="L",P.push(l,c);break;case"L":l=k.shift(),c=k.shift(),P.push(l,c);break;case"m":let Se=k.shift(),me=k.shift();if(l+=Se,c+=me,_="M",r.length>2&&r[r.length-1].command==="z"){for(let de=r.length-2;de>=0;de--)if(r[de].command==="M"){l=r[de].points[0]+Se,c=r[de].points[1]+me;break}}P.push(l,c),v="l";break;case"M":l=k.shift(),c=k.shift(),_="M",P.push(l,c),v="L";break;case"h":l+=k.shift(),_="L",P.push(l,c);break;case"H":l=k.shift(),_="L",P.push(l,c);break;case"v":c+=k.shift(),_="L",P.push(l,c);break;case"V":c=k.shift(),_="L",P.push(l,c);break;case"C":P.push(k.shift(),k.shift(),k.shift(),k.shift()),l=k.shift(),c=k.shift(),P.push(l,c);break;case"c":P.push(l+k.shift(),c+k.shift(),l+k.shift(),c+k.shift()),l+=k.shift(),c+=k.shift(),_="C",P.push(l,c);break;case"S":if(X=l,J=c,V=r[r.length-1],V.command==="C")X=l+(l-V.points[2]),J=c+(c-V.points[3]);P.push(X,J,k.shift(),k.shift()),l=k.shift(),c=k.shift(),_="C",P.push(l,c);break;case"s":if(X=l,J=c,V=r[r.length-1],V.command==="C")X=l+(l-V.points[2]),J=c+(c-V.points[3]);P.push(X,J,l+k.shift(),c+k.shift()),l+=k.shift(),c+=k.shift(),_="C",P.push(l,c);break;case"Q":P.push(k.shift(),k.shift()),l=k.shift(),c=k.shift(),P.push(l,c);break;case"q":P.push(l+k.shift(),c+k.shift()),l+=k.shift(),c+=k.shift(),_="Q",P.push(l,c);break;case"T":if(X=l,J=c,V=r[r.length-1],V.command==="Q")X=l+(l-V.points[0]),J=c+(c-V.points[1]);l=k.shift(),c=k.shift(),_="Q",P.push(X,J,l,c);break;case"t":if(X=l,J=c,V=r[r.length-1],V.command==="Q")X=l+(l-V.points[0]),J=c+(c-V.points[1]);l+=k.shift(),c+=k.shift(),_="Q",P.push(X,J,l,c);break;case"A":ee=k.shift(),te=k.shift(),ne=k.shift(),ie=k.shift(),se=k.shift(),oe=l,ye=c,l=k.shift(),c=k.shift(),_="A",P=this.convertEndpointToCenterParameterization(oe,ye,l,c,ie,se,ee,te,ne);break;case"a":ee=k.shift(),te=k.shift(),ne=k.shift(),ie=k.shift(),se=k.shift(),oe=l,ye=c,l+=k.shift(),c+=k.shift(),_="A",P=this.convertEndpointToCenterParameterization(oe,ye,l,c,ie,se,ee,te,ne);break}r.push({command:_||v,points:P,start:{x:U,y:z},pathLength:this.calcLength(U,z,_||v,P)})}if(v==="z"||v==="Z")r.push({command:"z",points:[],start:void 0,pathLength:0})}return r}static calcLength(e,n,s,i){let r,a,l,c,f=Qn;switch(s){case"L":return f.getLineLength(e,n,i[0],i[1]);case"C":return gb([e,i[0],i[2],i[4]],[n,i[1],i[3],i[5]],1);case"Q":return bb([e,i[0],i[2]],[n,i[1],i[3]],1);case"A":r=0;let m=i[4],g=i[5],b=i[4]+g,v=Math.PI/180;if(Math.abs(m-b)<v)v=Math.abs(m-b);if(a=f.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],m,0),g<0)for(c=m-v;c>b;c-=v)l=f.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],c,0),r+=f.getLineLength(a.x,a.y,l.x,l.y),a=l;else for(c=m+v;c<b;c+=v)l=f.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],c,0),r+=f.getLineLength(a.x,a.y,l.x,l.y),a=l;return l=f.getPointOnEllipticalArc(i[0],i[1],i[2],i[3],b,0),r+=f.getLineLength(a.x,a.y,l.x,l.y),r}return 0}static convertEndpointToCenterParameterization(e,n,s,i,r,a,l,c,f){let m=f*(Math.PI/180),g=Math.cos(m)*(e-s)/2+Math.sin(m)*(n-i)/2,b=-1*Math.sin(m)*(e-s)/2+Math.cos(m)*(n-i)/2,v=g*g/(l*l)+b*b/(c*c);if(v>1)l*=Math.sqrt(v),c*=Math.sqrt(v);let k=Math.sqrt((l*l*(c*c)-l*l*(b*b)-c*c*(g*g))/(l*l*(b*b)+c*c*(g*g)));if(r===a)k*=-1;if(isNaN(k))k=0;let T=k*l*b/c,_=k*-c*g/l,P=(e+s)/2+Math.cos(m)*T-Math.sin(m)*_,U=(n+i)/2+Math.sin(m)*T+Math.cos(m)*_,z=function(ie){return Math.sqrt(ie[0]*ie[0]+ie[1]*ie[1])},V=function(ie,se){return(ie[0]*se[0]+ie[1]*se[1])/(z(ie)*z(se))},X=function(ie,se){return(ie[0]*se[1]<ie[1]*se[0]?-1:1)*Math.acos(V(ie,se))},J=X([1,0],[(g-T)/l,(b-_)/c]),ee=[(g-T)/l,(b-_)/c],te=[(-1*g-T)/l,(-1*b-_)/c],ne=X(ee,te);if(V(ee,te)<=-1)ne=Math.PI;if(V(ee,te)>=1)ne=0;if(a===0&&ne>0)ne=ne-2*Math.PI;if(a===1&&ne<0)ne=ne+2*Math.PI;return[P,U,l,c,J,ne,m,a]}}Qn.prototype.className="Path";Qn.prototype._attrsAffectingSize=["data"];Qt(Qn);be.addGetterSetter(Qn,"data");class bo extends Mr{_sceneFunc(e){super._sceneFunc(e);let n=Math.PI*2,s=this.points(),i=s,r=this.tension()!==0&&s.length>4;if(r)i=this.getTensionPoints();let a=this.pointerLength(),l=s.length,c,f;if(r){let b=[i[i.length-4],i[i.length-3],i[i.length-2],i[i.length-1],s[l-2],s[l-1]],v=Qn.calcLength(i[i.length-4],i[i.length-3],"C",b),k=Qn.getPointOnQuadraticBezier(Math.min(1,1-a/v),b[0],b[1],b[2],b[3],b[4],b[5]);c=s[l-2]-k.x,f=s[l-1]-k.y}else c=s[l-2]-s[l-4],f=s[l-1]-s[l-3];let m=(Math.atan2(f,c)+n)%n,g=this.pointerWidth();if(this.pointerAtEnding())e.save(),e.beginPath(),e.translate(s[l-2],s[l-1]),e.rotate(m),e.moveTo(0,0),e.lineTo(-a,g/2),e.lineTo(-a,-g/2),e.closePath(),e.restore(),this.__fillStroke(e);if(this.pointerAtBeginning()){if(e.save(),e.beginPath(),e.translate(s[0],s[1]),r)c=(i[0]+i[2])/2-s[0],f=(i[1]+i[3])/2-s[1];else c=s[2]-s[0],f=s[3]-s[1];e.rotate((Math.atan2(-f,-c)+n)%n),e.moveTo(0,0),e.lineTo(-a,g/2),e.lineTo(-a,-g/2),e.closePath(),e.restore(),this.__fillStroke(e)}}__fillStroke(e){let n=this.dashEnabled();if(n)this.attrs.dashEnabled=!1,e.setLineDash([]);if(e.fillStrokeShape(this),n)this.attrs.dashEnabled=!0}getSelfRect(){let e=super.getSelfRect(),n=this.pointerWidth()/2;return{x:e.x,y:e.y-n,width:e.width,height:e.height+n*2}}}bo.prototype.className="Arrow";Qt(bo);be.addGetterSetter(bo,"pointerLength",10,Ke());be.addGetterSetter(bo,"pointerWidth",10,Ke());be.addGetterSetter(bo,"pointerAtBeginning",!1);be.addGetterSetter(bo,"pointerAtEnding",!0);class bl extends Qe{_sceneFunc(e){e.beginPath(),e.arc(0,0,this.attrs.radius||0,0,Math.PI*2,!1),e.closePath(),e.fillStrokeShape(this)}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(e){if(this.radius()!==e/2)this.radius(e/2)}setHeight(e){if(this.radius()!==e/2)this.radius(e/2)}}bl.prototype._centroid=!0;bl.prototype.className="Circle";bl.prototype._attrsAffectingSize=["radius"];Qt(bl);be.addGetterSetter(bl,"radius",0,Ke());class qa extends Qe{_sceneFunc(e){let n=this.radiusX(),s=this.radiusY();if(e.beginPath(),e.save(),n!==s)e.scale(1,s/n);e.arc(0,0,n,0,Math.PI*2,!1),e.restore(),e.closePath(),e.fillStrokeShape(this)}getWidth(){return this.radiusX()*2}getHeight(){return this.radiusY()*2}setWidth(e){this.radiusX(e/2)}setHeight(e){this.radiusY(e/2)}}qa.prototype.className="Ellipse";qa.prototype._centroid=!0;qa.prototype._attrsAffectingSize=["radiusX","radiusY"];Qt(qa);be.addComponentsGetterSetter(qa,"radius",["x","y"]);be.addGetterSetter(qa,"radiusX",0,Ke());be.addGetterSetter(qa,"radiusY",0,Ke());class Ki extends Qe{constructor(e){super(e);this._loadListener=()=>{this._requestDraw()},this.on("imageChange.konva",(n)=>{this._removeImageLoad(n.oldVal),this._setImageLoad()}),this._setImageLoad()}_setImageLoad(){let e=this.image();if(e&&e.complete)return;if(e&&e.readyState===4)return;if(e&&e.addEventListener)e.addEventListener("load",this._loadListener)}_removeImageLoad(e){if(e&&e.removeEventListener)e.removeEventListener("load",this._loadListener)}destroy(){return this._removeImageLoad(this.image()),super.destroy(),this}_useBufferCanvas(){let e=!!this.cornerRadius(),n=this.hasShadow();if(e&&n)return!0;return super._useBufferCanvas(!0)}_sceneFunc(e){let n=this.getWidth(),s=this.getHeight(),i=this.cornerRadius(),r=this.attrs.image,a;if(r){let l=this.attrs.cropWidth,c=this.attrs.cropHeight;if(l&&c)a=[r,this.cropX(),this.cropY(),l,c,0,0,n,s];else a=[r,0,0,n,s]}if(this.hasFill()||this.hasStroke()||i)e.beginPath(),i?_e.drawRoundedRectPath(e,n,s,i):e.rect(0,0,n,s),e.closePath(),e.fillStrokeShape(this);if(r){if(i)e.clip();e.drawImage.apply(e,a)}}_hitFunc(e){let n=this.width(),s=this.height(),i=this.cornerRadius();if(e.beginPath(),!i)e.rect(0,0,n,s);else _e.drawRoundedRectPath(e,n,s,i);e.closePath(),e.fillStrokeShape(this)}getWidth(){var e,n,s;return(s=(e=this.attrs.width)!==null&&e!==void 0?e:(n=this.image())===null||n===void 0?void 0:n.width)!==null&&s!==void 0?s:0}getHeight(){var e,n,s;return(s=(e=this.attrs.height)!==null&&e!==void 0?e:(n=this.image())===null||n===void 0?void 0:n.height)!==null&&s!==void 0?s:0}static fromURL(e,n,s=null){let i=_e.createImageElement();i.onload=function(){let r=new Ki({image:i});n(r)},i.onerror=s,i.crossOrigin="Anonymous",i.src=e}}Ki.prototype.className="Image";Ki.prototype._attrsAffectingSize=["image"];Qt(Ki);be.addGetterSetter(Ki,"cornerRadius",0,ul(4));be.addGetterSetter(Ki,"image");be.addComponentsGetterSetter(Ki,"crop",["x","y","width","height"]);be.addGetterSetter(Ki,"cropX",0,Ke());be.addGetterSetter(Ki,"cropY",0,Ke());be.addGetterSetter(Ki,"cropWidth",0,Ke());be.addGetterSetter(Ki,"cropHeight",0,Ke());var C4=["fontFamily","fontSize","fontStyle","padding","lineHeight","text","width","height","pointerDirection","pointerWidth","pointerHeight"],uR="Change.konva",dR="none",vb="up",Sb="right",kb="down",xb="left",mR=C4.length;class Uh extends Ra{constructor(e){super(e);this.on("add.konva",function(n){this._addListeners(n.child),this._sync()})}getText(){return this.find("Text")[0]}getTag(){return this.find("Tag")[0]}_addListeners(e){let n=this,s,i=function(){n._sync()};for(s=0;s<mR;s++)e.on(C4[s]+uR,i)}getWidth(){return this.getText().width()}getHeight(){return this.getText().height()}_sync(){let e=this.getText(),n=this.getTag(),s,i,r,a,l,c,f;if(e&&n){switch(s=e.width(),i=e.height(),r=n.pointerDirection(),a=n.pointerWidth(),f=n.pointerHeight(),l=0,c=0,r){case vb:l=s/2,c=-1*f;break;case Sb:l=s+a,c=i/2;break;case kb:l=s/2,c=i+f;break;case xb:l=-1*a,c=i/2;break}n.setAttrs({x:-1*l,y:-1*c,width:s,height:i}),e.setAttrs({x:-1*l,y:-1*c})}}}Uh.prototype.className="Label";Qt(Uh);class wo extends Qe{_sceneFunc(e){let n=this.width(),s=this.height(),i=this.pointerDirection(),r=this.pointerWidth(),a=this.pointerHeight(),l=this.cornerRadius(),c=0,f=0,m=0,g=0;if(typeof l==="number")c=f=m=g=Math.min(l,n/2,s/2);else c=Math.min(l[0]||0,n/2,s/2),f=Math.min(l[1]||0,n/2,s/2),g=Math.min(l[2]||0,n/2,s/2),m=Math.min(l[3]||0,n/2,s/2);if(e.beginPath(),e.moveTo(c,0),i===vb)e.lineTo((n-r)/2,0),e.lineTo(n/2,-1*a),e.lineTo((n+r)/2,0);if(e.lineTo(n-f,0),e.arc(n-f,f,f,Math.PI*3/2,0,!1),i===Sb)e.lineTo(n,(s-a)/2),e.lineTo(n+r,s/2),e.lineTo(n,(s+a)/2);if(e.lineTo(n,s-g),e.arc(n-g,s-g,g,0,Math.PI/2,!1),i===kb)e.lineTo((n+r)/2,s),e.lineTo(n/2,s+a),e.lineTo((n-r)/2,s);if(e.lineTo(m,s),e.arc(m,s-m,m,Math.PI/2,Math.PI,!1),i===xb)e.lineTo(0,(s+a)/2),e.lineTo(-1*r,s/2),e.lineTo(0,(s-a)/2);e.lineTo(0,c),e.arc(c,c,c,Math.PI,Math.PI*3/2,!1),e.closePath(),e.fillStrokeShape(this)}getSelfRect(){let e=0,n=0,s=this.pointerWidth(),i=this.pointerHeight(),r=this.pointerDirection(),a=this.width(),l=this.height();if(r===vb)n-=i,l+=i;else if(r===kb)l+=i;else if(r===xb)e-=s*1.5,a+=s;else if(r===Sb)a+=s*1.5;return{x:e,y:n,width:a,height:l}}}wo.prototype.className="Tag";Qt(wo);be.addGetterSetter(wo,"pointerDirection",dR);be.addGetterSetter(wo,"pointerWidth",0,Ke());be.addGetterSetter(wo,"pointerHeight",0,Ke());be.addGetterSetter(wo,"cornerRadius",0,ul(4));class wl extends Qe{_sceneFunc(e){let n=this.cornerRadius(),s=this.width(),i=this.height();if(e.beginPath(),!n)e.rect(0,0,s,i);else _e.drawRoundedRectPath(e,s,i,n);e.closePath(),e.fillStrokeShape(this)}}wl.prototype.className="Rect";Qt(wl);be.addGetterSetter(wl,"cornerRadius",0,ul(4));class Ma extends Qe{_sceneFunc(e){let n=this._getPoints(),s=this.radius(),i=this.sides(),r=this.cornerRadius();if(e.beginPath(),!r){e.moveTo(n[0].x,n[0].y);for(let a=1;a<n.length;a++)e.lineTo(n[a].x,n[a].y)}else _e.drawRoundedPolygonPath(e,n,i,s,r);e.closePath(),e.fillStrokeShape(this)}_getPoints(){let e=this.attrs.sides,n=this.attrs.radius||0,s=[];for(let i=0;i<e;i++)s.push({x:n*Math.sin(i*2*Math.PI/e),y:-1*n*Math.cos(i*2*Math.PI/e)});return s}getSelfRect(){let e=this._getPoints(),n=e[0].x,s=e[0].x,i=e[0].y,r=e[0].y;return e.forEach((a)=>{n=Math.min(n,a.x),s=Math.max(s,a.x),i=Math.min(i,a.y),r=Math.max(r,a.y)}),{x:n,y:i,width:s-n,height:r-i}}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(e){this.radius(e/2)}setHeight(e){this.radius(e/2)}}Ma.prototype.className="RegularPolygon";Ma.prototype._centroid=!0;Ma.prototype._attrsAffectingSize=["radius"];Qt(Ma);be.addGetterSetter(Ma,"radius",0,Ke());be.addGetterSetter(Ma,"sides",0,Ke());be.addGetterSetter(Ma,"cornerRadius",0,ul(4));var j4=Math.PI*2;class yo extends Qe{_sceneFunc(e){e.beginPath(),e.arc(0,0,this.innerRadius(),0,j4,!1),e.moveTo(this.outerRadius(),0),e.arc(0,0,this.outerRadius(),j4,0,!0),e.closePath(),e.fillStrokeShape(this)}getWidth(){return this.outerRadius()*2}getHeight(){return this.outerRadius()*2}setWidth(e){this.outerRadius(e/2)}setHeight(e){this.outerRadius(e/2)}}yo.prototype.className="Ring";yo.prototype._centroid=!0;yo.prototype._attrsAffectingSize=["innerRadius","outerRadius"];Qt(yo);be.addGetterSetter(yo,"innerRadius",0,Ke());be.addGetterSetter(yo,"outerRadius",0,Ke());class Lr extends Qe{constructor(e){super(e);this._updated=!0,this.anim=new Li(()=>{let n=this._updated;return this._updated=!1,n}),this.on("animationChange.konva",function(){this.frameIndex(0)}),this.on("frameIndexChange.konva",function(){this._updated=!0}),this.on("frameRateChange.konva",function(){if(!this.anim.isRunning())return;clearInterval(this.interval),this._setInterval()})}_sceneFunc(e){let n=this.animation(),s=this.frameIndex(),i=s*4,r=this.animations()[n],a=this.frameOffsets(),l=r[i+0],c=r[i+1],f=r[i+2],m=r[i+3],g=this.image();if(this.hasFill()||this.hasStroke())e.beginPath(),e.rect(0,0,f,m),e.closePath(),e.fillStrokeShape(this);if(g)if(a){let b=a[n],v=s*2;e.drawImage(g,l,c,f,m,b[v+0],b[v+1],f,m)}else e.drawImage(g,l,c,f,m,0,0,f,m)}_hitFunc(e){let n=this.animation(),s=this.frameIndex(),i=s*4,r=this.animations()[n],a=this.frameOffsets(),l=r[i+2],c=r[i+3];if(e.beginPath(),a){let f=a[n],m=s*2;e.rect(f[m+0],f[m+1],l,c)}else e.rect(0,0,l,c);e.closePath(),e.fillShape(this)}_useBufferCanvas(){return super._useBufferCanvas(!0)}_setInterval(){let e=this;this.interval=setInterval(function(){e._updateIndex()},1000/this.frameRate())}start(){if(this.isRunning())return;let e=this.getLayer();this.anim.setLayers(e),this._setInterval(),this.anim.start()}stop(){this.anim.stop(),clearInterval(this.interval)}isRunning(){return this.anim.isRunning()}_updateIndex(){let e=this.frameIndex(),n=this.animation(),s=this.animations(),i=s[n],r=i.length/4;if(e<r-1)this.frameIndex(e+1);else this.frameIndex(0)}}Lr.prototype.className="Sprite";Qt(Lr);be.addGetterSetter(Lr,"animation");be.addGetterSetter(Lr,"animations");be.addGetterSetter(Lr,"frameOffsets");be.addGetterSetter(Lr,"image");be.addGetterSetter(Lr,"frameIndex",0,Ke());be.addGetterSetter(Lr,"frameRate",17,Ke());be.backCompat(Lr,{index:"frameIndex",getIndex:"getFrameIndex",setIndex:"setFrameIndex"});class Fa extends Qe{_sceneFunc(e){let n=this.innerRadius(),s=this.outerRadius(),i=this.numPoints();e.beginPath(),e.moveTo(0,0-s);for(let r=1;r<i*2;r++){let a=r%2===0?s:n,l=a*Math.sin(r*Math.PI/i),c=-1*a*Math.cos(r*Math.PI/i);e.lineTo(l,c)}e.closePath(),e.fillStrokeShape(this)}getWidth(){return this.outerRadius()*2}getHeight(){return this.outerRadius()*2}setWidth(e){this.outerRadius(e/2)}setHeight(e){this.outerRadius(e/2)}}Fa.prototype.className="Star";Fa.prototype._centroid=!0;Fa.prototype._attrsAffectingSize=["innerRadius","outerRadius"];Qt(Fa);be.addGetterSetter(Fa,"numPoints",5,Ke());be.addGetterSetter(Fa,"innerRadius",0,Ke());be.addGetterSetter(Fa,"outerRadius",0,Ke());function hf(e){return[...e].reduce((n,s,i,r)=>{if(/\p{Emoji}/u.test(s)){let a=r[i+1];if(a&&/\p{Emoji_Modifier}|\u200D/u.test(a))n.push(s+a),r[i+1]="";else n.push(s)}else if(/\p{Regional_Indicator}{2}/u.test(s+(r[i+1]||"")))n.push(s+r[i+1]);else if(i>0&&/\p{Mn}|\p{Me}|\p{Mc}/u.test(s))n[n.length-1]+=s;else if(s)n.push(s);return n},[])}var ff="auto",pR="center",q4="inherit",zh="justify",gR="Change.konva",M4="2d",_4="-",F4="left",bR="text",wR="Text",yR="top",vR="bottom",I4="middle",L4="normal",SR="px ",H0=" ",kR="right",R4="rtl",xR="word",AR="char",D4="none",Ab="…",O4=["direction","fontFamily","fontSize","fontStyle","fontVariant","padding","align","verticalAlign","lineHeight","text","width","height","wrap","ellipsis","letterSpacing"],TR=O4.length,Gh=null;function ER(){if(Gh!==null)return Gh;Gh=!1;try{let e=document.createElement("canvas");e.width=10,e.height=10;let n=e.getContext(M4);if(n){n.globalAlpha=0,n.shadowColor="black",n.shadowBlur=5,n.shadowOffsetX=5,n.shadowOffsetY=5,n.fillStyle="black",n.font="10px Arial",n.fillText("X",0,10);let s=n.getImageData(0,0,10,10).data;for(let i=3;i<s.length;i+=4)if(s[i]>0){Gh=!0;break}}}catch(e){}return Gh}function CR(e){return e.split(",").map((n)=>{n=n.trim();let s=n.indexOf(" ")>=0,i=n.indexOf('"')>=0||n.indexOf("'")>=0;if(s&&!i)n=`"${n}"`;return n}).join(", ")}var U0;function Tb(){if(U0)return U0;return U0=_e.createCanvasElement().getContext(M4),U0}function jR(e){if(this._partialFillStyle)e.setAttr("fillStyle",this._partialFillStyle);e.fillText(this._partialText,this._partialTextX,this._partialTextY)}function _R(e){if(e.setAttr("miterLimit",2),this._partialStrokeStyle)e.setAttr("strokeStyle",this._partialStrokeStyle);e.strokeText(this._partialText,this._partialTextX,this._partialTextY)}function IR(e){if(e=e||{},!e.fillLinearGradientColorStops&&!e.fillRadialGradientColorStops&&!e.fillPatternImage)e.fill=e.fill||"black";return e}class Un extends Qe{constructor(e){super(IR(e));this._partialTextX=0,this._partialTextY=0;for(let n=0;n<TR;n++)this.on(O4[n]+gR,this._setTextData);this._setTextData()}_sceneFunc(e){var n,s;let i=this.textArr,r=i.length;if(!this.text())return;let a=this.padding(),l=this.fontSize(),c=this.lineHeight()*l,f=this.verticalAlign(),m=this.direction(),g=0,b=this.align(),v=this.getWidth(),k=this.letterSpacing(),T=this.charRenderFunc(),_=this.fill(),P=this.textDecoration(),U=this.underlineOffset(),z=P.indexOf("underline")!==-1,V=P.indexOf("line-through")!==-1,X;m=m===q4?e.direction:m;let J=c/2,ee=I4;if(!tt.legacyTextRendering){let ie=this.measureSize("M");ee="alphabetic";let se=(n=ie.fontBoundingBoxAscent)!==null&&n!==void 0?n:ie.actualBoundingBoxAscent,oe=(s=ie.fontBoundingBoxDescent)!==null&&s!==void 0?s:ie.actualBoundingBoxDescent;J=(se-oe)/2+c/2}if(m===R4)e.setAttr("direction",m);if(e.setAttr("font",this._getContextFont()),e.setAttr("textBaseline",ee),e.setAttr("textAlign",F4),f===I4)g=(this.getHeight()-r*c-a*2)/2;else if(f===vR)g=this.getHeight()-r*c-a*2;e.translate(a,g+a);let te=T?e.fillStyle:void 0,ne=T?e.strokeStyle:void 0;for(X=0;X<r;X++){let ie=0,se=0,oe=i[X],{text:ye,width:Se,lastInParagraph:me}=oe;if(e.save(),b===kR)ie+=v-Se-a*2;else if(b===pR)ie+=(v-Se-a*2)/2;if(z){e.save(),e.beginPath();let ce=U!==null&&U!==void 0?U:!tt.legacyTextRendering?Math.round(l/4):Math.round(l/2),Ee=ie,we=J+se+ce;e.moveTo(Ee,we);let qe=b===zh&&!me?v-a*2:Se;e.lineTo(Ee+Math.round(qe),we),e.lineWidth=l/15;let Re=this._getLinearGradient();e.strokeStyle=Re||_,e.stroke(),e.restore()}let de=ie;if(m!==R4&&(k!==0||b===zh||T)){let ce=ye.split(" ").length-1,Ee=hf(ye);for(let we=0;we<Ee.length;we++){let qe=Ee[we];if(qe===" "&&!me&&b===zh)ie+=(v-a*2-Se)/ce;if(this._partialTextX=ie,this._partialTextY=J+se,this._partialText=qe,T){e.save();let Fe=i.slice(0,X).reduce((Ze,St)=>Ze+hf(St.text).length,0),Be=we+Fe;T({char:qe,index:Be,x:ie,y:J+se,lineIndex:X,column:we,isLastInLine:me,width:this.measureSize(qe).width,context:e});let Xe=e.fillStyle;if(Xe!==te)this._partialFillStyle=Xe;let st=e.strokeStyle;if(st!==ne)this._partialStrokeStyle=st}if(e.fillStrokeShape(this),T)this._partialFillStyle=void 0,this._partialStrokeStyle=void 0,e.restore();ie+=this.measureSize(qe).width+k}}else{if(k!==0)e.setAttr("letterSpacing",`${k}px`);this._partialTextX=ie,this._partialTextY=J+se,this._partialText=ye,e.fillStrokeShape(this)}if(V){e.save(),e.beginPath();let ce=!tt.legacyTextRendering?-Math.round(l/4):0,Ee=de;e.moveTo(Ee,J+se+ce);let we=b===zh&&!me?v-a*2:Se;e.lineTo(Ee+Math.round(we),J+se+ce),e.lineWidth=l/15;let qe=this._getLinearGradient();e.strokeStyle=qe||_,e.stroke(),e.restore()}if(e.restore(),r>1)J+=c}}_hitFunc(e){let n=this.getWidth(),s=this.getHeight();e.beginPath(),e.rect(0,0,n,s),e.closePath(),e.fillStrokeShape(this)}setText(e){let n=_e._isString(e)?e:e===null||e===void 0?"":e+"";return this._setAttr(bR,n),this}getWidth(){return this.attrs.width===ff||this.attrs.width===void 0?this.getTextWidth()+this.padding()*2:this.attrs.width}getHeight(){return this.attrs.height===ff||this.attrs.height===void 0?this.fontSize()*this.textArr.length*this.lineHeight()+this.padding()*2:this.attrs.height}getTextWidth(){return this.textWidth}getTextHeight(){return _e.warn("text.getTextHeight() method is deprecated. Use text.height() - for full height and text.fontSize() - for one line height."),this.textHeight}measureSize(e){var n,s,i,r,a,l,c,f,m,g,b;let v=Tb(),k=this.fontSize(),T;v.save(),v.font=this._getContextFont(),T=v.measureText(e),v.restore();let _=k/100;return{actualBoundingBoxAscent:(n=T.actualBoundingBoxAscent)!==null&&n!==void 0?n:71.58203125*_,actualBoundingBoxDescent:(s=T.actualBoundingBoxDescent)!==null&&s!==void 0?s:0,actualBoundingBoxLeft:(i=T.actualBoundingBoxLeft)!==null&&i!==void 0?i:-7.421875*_,actualBoundingBoxRight:(r=T.actualBoundingBoxRight)!==null&&r!==void 0?r:75.732421875*_,alphabeticBaseline:(a=T.alphabeticBaseline)!==null&&a!==void 0?a:0,emHeightAscent:(l=T.emHeightAscent)!==null&&l!==void 0?l:100*_,emHeightDescent:(c=T.emHeightDescent)!==null&&c!==void 0?c:-20*_,fontBoundingBoxAscent:(f=T.fontBoundingBoxAscent)!==null&&f!==void 0?f:91*_,fontBoundingBoxDescent:(m=T.fontBoundingBoxDescent)!==null&&m!==void 0?m:21*_,hangingBaseline:(g=T.hangingBaseline)!==null&&g!==void 0?g:72.80000305175781*_,ideographicBaseline:(b=T.ideographicBaseline)!==null&&b!==void 0?b:-21*_,width:T.width,height:k}}_getContextFont(){return this.fontStyle()+H0+this.fontVariant()+H0+(this.fontSize()+SR)+CR(this.fontFamily())}_addTextLine(e){if(this.align()===zh)e=e.trim();let s=this._getTextWidth(e);return this.textArr.push({text:e,width:s,lastInParagraph:!1})}_getTextWidth(e){let n=this.letterSpacing(),s=e.length;return Tb().measureText(e).width+n*s}_setTextData(){let e=this.text().split(`
67
+ `),n=+this.fontSize(),s=0,i=this.lineHeight()*n,r=this.attrs.width,a=this.attrs.height,l=r!==ff&&r!==void 0,c=a!==ff&&a!==void 0,f=this.padding(),m=r-f*2,g=a-f*2,b=0,v=this.wrap(),k=v!==D4,T=v!==AR&&k,_=this.ellipsis();this.textArr=[],Tb().font=this._getContextFont();let P=_?this._getTextWidth(Ab):0;for(let U=0,z=e.length;U<z;++U){let V=e[U],X=this._getTextWidth(V);if(l&&X>m)while(V.length>0){let J=hf(V),ee=0,te=J.length,ne="",ie=0;while(ee<te){let se=ee+te>>>1,oe=J.slice(0,se+1).join(""),ye=this._getTextWidth(oe);if((_&&c&&b+i>g?ye+P:ye)<=m)ee=se+1,ne=oe,ie=ye;else te=se}if(ne){if(T){let oe=hf(ne),ye=J[oe.length],Se=ye===H0||ye===_4,me;if(Se&&ie<=m)me=oe.length;else{let de=oe.lastIndexOf(H0),ce=oe.lastIndexOf(_4);me=Math.max(de,ce)+1}if(me>0)ee=me,ne=J.slice(0,ee).join(""),ie=this._getTextWidth(ne)}if(ne=ne.trimRight(),this._addTextLine(ne),s=Math.max(s,ie),b+=i,this._shouldHandleEllipsis(b)){this._tryToAddEllipsisToLastLine();break}if(V=J.slice(ee).join("").trimLeft(),V.length>0){if(X=this._getTextWidth(V),X<=m){this._addTextLine(V),b+=i,s=Math.max(s,X);break}}}else break}else if(this._addTextLine(V),b+=i,s=Math.max(s,X),this._shouldHandleEllipsis(b)&&U<z-1)this._tryToAddEllipsisToLastLine();if(this.textArr[this.textArr.length-1])this.textArr[this.textArr.length-1].lastInParagraph=!0;if(c&&b+i>g)break}this.textHeight=n,this.textWidth=s}_shouldHandleEllipsis(e){let n=+this.fontSize(),s=this.lineHeight()*n,i=this.attrs.height,r=i!==ff&&i!==void 0,a=this.padding(),l=i-a*2;return this.wrap()===D4||r&&e+s>l}_tryToAddEllipsisToLastLine(){let e=this.attrs.width,n=e!==ff&&e!==void 0,s=this.padding(),i=e-s*2,r=this.ellipsis(),a=this.textArr[this.textArr.length-1];if(!a||!r)return;if(n){if(!(this._getTextWidth(a.text+Ab)<i))a.text=a.text.slice(0,a.text.length-3)}this.textArr.splice(this.textArr.length-1,1),this._addTextLine(a.text+Ab)}getStrokeScaleEnabled(){return!0}_useBufferCanvas(){let e=this.textDecoration().indexOf("underline")!==-1||this.textDecoration().indexOf("line-through")!==-1,n=this.hasShadow();if(e&&n)return!0;if(n&&this.getAbsoluteOpacity()!==1&&ER())return!0;return super._useBufferCanvas()}}Un.prototype._fillFunc=jR;Un.prototype._strokeFunc=_R;Un.prototype.className=wR;Un.prototype._attrsAffectingSize=["text","fontSize","padding","wrap","lineHeight","letterSpacing"];Qt(Un);be.overWriteSetter(Un,"width",Rh());be.overWriteSetter(Un,"height",Rh());be.addGetterSetter(Un,"direction",q4);be.addGetterSetter(Un,"fontFamily","Arial");be.addGetterSetter(Un,"fontSize",12,Ke());be.addGetterSetter(Un,"fontStyle",L4);be.addGetterSetter(Un,"fontVariant",L4);be.addGetterSetter(Un,"padding",0,Ke());be.addGetterSetter(Un,"align",F4);be.addGetterSetter(Un,"verticalAlign",yR);be.addGetterSetter(Un,"lineHeight",1,Ke());be.addGetterSetter(Un,"wrap",xR);be.addGetterSetter(Un,"ellipsis",!1,vi());be.addGetterSetter(Un,"letterSpacing",0,Ke());be.addGetterSetter(Un,"text","",_a());be.addGetterSetter(Un,"textDecoration","");be.addGetterSetter(Un,"underlineOffset",void 0,Ke());be.addGetterSetter(Un,"charRenderFunc",void 0);var RR="",P4="normal";function N4(e){e.fillText(this.partialText,0,0)}function B4(e){e.strokeText(this.partialText,0,0)}class Ls extends Qe{constructor(e){super(e);this.dummyCanvas=_e.createCanvasElement(),this.dataArray=[],this._readDataAttribute(),this.on("dataChange.konva",function(){this._readDataAttribute(),this._setTextData()}),this.on("textChange.konva alignChange.konva letterSpacingChange.konva kerningFuncChange.konva fontSizeChange.konva fontFamilyChange.konva directionChange.konva",this._setTextData),this._setTextData()}_getTextPathLength(){return Qn.getPathLength(this.dataArray)}_getPointAtLength(e){if(!this.attrs.data)return null;let n=this.pathLength;if(e>n)return null;return Qn.getPointAtLengthOfDataArray(e,this.dataArray)}_readDataAttribute(){this.dataArray=Qn.parsePathData(this.attrs.data),this.pathLength=this._getTextPathLength()}_sceneFunc(e){e.setAttr("font",this._getContextFont()),e.setAttr("textBaseline",this.textBaseline()),e.setAttr("textAlign","left"),e.save();let n=this.textDecoration(),s=this.fill(),i=this.fontSize(),r=this.glyphInfo,a=n.indexOf("underline")!==-1,l=n.indexOf("line-through")!==-1;if(a)e.beginPath();for(let c=0;c<r.length;c++){e.save();let f=r[c].p0;if(e.translate(f.x,f.y),e.rotate(r[c].rotation),this.partialText=r[c].text,e.fillStrokeShape(this),a){if(c===0)e.moveTo(0,i/2+1);e.lineTo(r[c].width,i/2+1)}e.restore()}if(a)e.strokeStyle=s,e.lineWidth=i/20,e.stroke();if(l){e.beginPath();for(let c=0;c<r.length;c++){e.save();let f=r[c].p0;if(e.translate(f.x,f.y),e.rotate(r[c].rotation),c===0)e.moveTo(0,0);e.lineTo(r[c].width,0),e.restore()}e.strokeStyle=s,e.lineWidth=i/20,e.stroke()}e.restore()}_hitFunc(e){e.beginPath();let n=this.glyphInfo;if(n.length>=1){let s=n[0].p0;e.moveTo(s.x,s.y)}for(let s=0;s<n.length;s++){let i=n[s].p1;e.lineTo(i.x,i.y)}e.setAttr("lineWidth",this.fontSize()),e.setAttr("strokeStyle",this.colorKey),e.stroke()}getTextWidth(){return this.textWidth}getTextHeight(){return _e.warn("text.getTextHeight() method is deprecated. Use text.height() - for full height and text.fontSize() - for one line height."),this.textHeight}setText(e){return Un.prototype.setText.call(this,e)}_getContextFont(){return Un.prototype._getContextFont.call(this)}_getTextSize(e){let s=this.dummyCanvas.getContext("2d");s.save(),s.font=this._getContextFont();let i=s.measureText(e);return s.restore(),{width:i.width,height:parseInt(`${this.fontSize()}`,10)}}_setTextData(){let e=hf(this.text());if(this.direction()==="rtl")e.reverse();let n=[],s=0;for(let v=0;v<e.length;v++)n.push({char:e[v],width:this._getTextSize(e[v]).width}),s+=n[v].width;let{width:i,height:r}=this._getTextSize(this.attrs.text);if(this.textWidth=s,this.textHeight=r,this.glyphInfo=[],!this.attrs.data)return null;let a=this.letterSpacing(),l=this.align(),c=this.kerningFunc(),f=Math.max(0,s-i),m=Math.max(this.textWidth+((this.attrs.text||"").length-1)*a,0),g=0;if(l==="center")g=Math.max(0,this.pathLength/2-m/2);if(l==="right")g=Math.max(0,this.pathLength-m);let b=g;for(let v=0;v<n.length;v++){let k=this._getPointAtLength(b);if(!k)return;let T=n[v].char,_=n[v].width+a;if(T===" "&&l==="justify"){let ee=this.text().split(" ").length-1;_+=(this.pathLength-m)/ee}let P=b+_,U=this._getPointAtLength(P>this.pathLength&&P-this.pathLength<=f?this.pathLength:P);if(!U)return;let z=Qn.getLineLength(k.x,k.y,U.x,U.y),V=0;if(c)try{V=c(n[v-1].char,T)*this.fontSize()}catch(ee){V=0}k.x+=V,U.x+=V,this.textWidth+=V;let X=Qn.getPointOnLine(V+z/2,k.x,k.y,U.x,U.y),J=Math.atan2(U.y-k.y,U.x-k.x);this.glyphInfo.push({transposeX:X.x,transposeY:X.y,text:e[v],rotation:J,p0:k,p1:U,width:z}),b+=_}}getSelfRect(){if(!this.glyphInfo.length)return{x:0,y:0,width:0,height:0};let e=[];this.glyphInfo.forEach(function(f){e.push(f.p0.x),e.push(f.p0.y),e.push(f.p1.x),e.push(f.p1.y)});let n=e[0]||0,s=e[0]||0,i=e[1]||0,r=e[1]||0,a,l;for(let f=0;f<e.length/2;f++)a=e[f*2],l=e[f*2+1],n=Math.min(n,a),s=Math.max(s,a),i=Math.min(i,l),r=Math.max(r,l);let c=this.fontSize();return{x:n-c/2,y:i-c/2,width:s-n+c,height:r-i+c}}destroy(){return _e.releaseCanvas(this.dummyCanvas),super.destroy()}}Ls.prototype._fillFunc=N4;Ls.prototype._strokeFunc=B4;Ls.prototype._fillFuncHit=N4;Ls.prototype._strokeFuncHit=B4;Ls.prototype.className="TextPath";Ls.prototype._attrsAffectingSize=["text","fontSize","data"];Qt(Ls);be.addGetterSetter(Ls,"data");be.addGetterSetter(Ls,"fontFamily","Arial");be.addGetterSetter(Ls,"fontSize",12,Ke());be.addGetterSetter(Ls,"fontStyle",P4);be.addGetterSetter(Ls,"align","left");be.addGetterSetter(Ls,"letterSpacing",0,Ke());be.addGetterSetter(Ls,"textBaseline","middle");be.addGetterSetter(Ls,"fontVariant",P4);be.addGetterSetter(Ls,"text",RR);be.addGetterSetter(Ls,"textDecoration","");be.addGetterSetter(Ls,"kerningFunc",void 0);be.addGetterSetter(Ls,"direction","inherit");var z4="tr-konva",DR=["resizeEnabledChange","rotateAnchorOffsetChange","rotateAnchorAngleChange","rotateEnabledChange","enabledAnchorsChange","anchorSizeChange","borderEnabledChange","borderStrokeChange","borderStrokeWidthChange","borderDashChange","anchorStrokeChange","anchorStrokeWidthChange","anchorFillChange","anchorCornerRadiusChange","ignoreStrokeChange","anchorStyleFuncChange"].map((e)=>e+`.${z4}`).join(" "),H4="nodesRect",qR=["widthChange","heightChange","scaleXChange","scaleYChange","skewXChange","skewYChange","rotationChange","offsetXChange","offsetYChange","transformsEnabledChange","strokeWidthChange","draggableChange"],MR={"top-left":-45,"top-center":0,"top-right":45,"middle-right":-90,"middle-left":90,"bottom-left":-135,"bottom-center":180,"bottom-right":135},FR="ontouchstart"in tt._global;function LR(e,n,s){if(e==="rotater")return s;n+=_e.degToRad(MR[e]||0);let i=(_e.radToDeg(n)%360+360)%360;if(_e._inRange(i,337.5,360)||_e._inRange(i,0,22.5))return"ns-resize";else if(_e._inRange(i,22.5,67.5))return"nesw-resize";else if(_e._inRange(i,67.5,112.5))return"ew-resize";else if(_e._inRange(i,112.5,157.5))return"nwse-resize";else if(_e._inRange(i,157.5,202.5))return"ns-resize";else if(_e._inRange(i,202.5,247.5))return"nesw-resize";else if(_e._inRange(i,247.5,292.5))return"ew-resize";else if(_e._inRange(i,292.5,337.5))return"nwse-resize";else return _e.error("Transformer has unknown angle for cursor detection: "+i),"pointer"}var z0=["top-left","top-center","top-right","middle-right","middle-left","bottom-left","bottom-center","bottom-right"],U4=1e8;function OR(e){return{x:e.x+e.width/2*Math.cos(e.rotation)+e.height/2*Math.sin(-e.rotation),y:e.y+e.height/2*Math.cos(e.rotation)+e.width/2*Math.sin(e.rotation)}}function G4(e,n,s){let i=s.x+(e.x-s.x)*Math.cos(n)-(e.y-s.y)*Math.sin(n),r=s.y+(e.x-s.x)*Math.sin(n)+(e.y-s.y)*Math.cos(n);return{...e,rotation:e.rotation+n,x:i,y:r}}function PR(e,n){let s=OR(e);return G4(e,n,s)}function NR(e,n,s){let i=n;for(let r=0;r<e.length;r++){let a=tt.getAngle(e[r]),l=Math.abs(a-n)%(Math.PI*2);if(Math.min(l,Math.PI*2-l)<s)i=a}return i}var Eb=0;class hn extends Ra{constructor(e){super(e);if(this._movingAnchorName=null,this._transforming=!1,this._transformWindow=null,this._elementsCreated=!1,this._updateScheduled=!1,this._createElements(),this._handleMouseMove=this._handleMouseMove.bind(this),this._handleMouseUp=this._handleMouseUp.bind(this),this.update=this.update.bind(this),this.on(DR,this.update),this.getNode())this.update()}attachTo(e){return this.setNode(e),this}setNode(e){return _e.warn("tr.setNode(shape), tr.node(shape) and tr.attachTo(shape) methods are deprecated. Please use tr.nodes(nodesArray) instead."),this.setNodes([e])}getNode(){return this._nodes&&this._nodes[0]}_getEventNamespace(){return z4+this._id}setNodes(e=[]){if(this._nodes&&this._nodes.length)this.detach();let n=e.filter((i)=>{if(i.isAncestorOf(this))return _e.error("Konva.Transformer cannot be an a child of the node you are trying to attach"),!1;return!0});if(this._nodes=e=n,e.length===1&&this.useSingleNodeRotation())this.rotation(e[0].getAbsoluteRotation());else this.rotation(0);if(this._nodes.forEach((i)=>{let r=()=>{if(this._transforming)return;if(this.nodes().length===1&&this.useSingleNodeRotation())this.rotation(this.nodes()[0].getAbsoluteRotation());if(this._resetTransformCache(),!this.isDragging())this._scheduleUpdate()};if(i._attrsAffectingSize.length){let a=i._attrsAffectingSize.map((l)=>l+"Change."+this._getEventNamespace()).join(" ");i.on(a,r)}i.on(qR.map((a)=>a+`.${this._getEventNamespace()}`).join(" "),r),i.on(`absoluteTransformChange.${this._getEventNamespace()}`,r),this._proxyDrag(i)}),this._resetTransformCache(),!!this.findOne(".top-left"))this.update();return this}_proxyDrag(e){let n;e.on(`dragstart.${this._getEventNamespace()}`,(s)=>{if(n=e.getAbsolutePosition(),!this.isDragging()&&e!==this.findOne(".back"))this.startDrag(s,!1)}),e.on(`dragmove.${this._getEventNamespace()}`,(s)=>{if(!n)return;let i=e.getAbsolutePosition(),r=i.x-n.x,a=i.y-n.y;this.nodes().forEach((l)=>{if(l===e)return;if(l.isDragging())return;let c=l.getAbsolutePosition();l.setAbsolutePosition({x:c.x+r,y:c.y+a}),l.startDrag(s)}),n=null})}getNodes(){return this._nodes||[]}getActiveAnchor(){return this._movingAnchorName}detach(){if(this._nodes)this._nodes.forEach((e)=>{e.off("."+this._getEventNamespace())});this._nodes=[],this._resetTransformCache()}_resetTransformCache(){this._clearCache(H4),this._clearCache("transform"),this._clearSelfAndDescendantCache("absoluteTransform")}_getNodeRect(){return this._getCache(H4,this.__getNodeRect)}__getNodeShape(e,n=this.rotation(),s){let i=e.getClientRect({skipTransform:!0,skipShadow:!0,skipStroke:this.ignoreStroke()}),r=e.getAbsoluteScale(s),a=e.getAbsolutePosition(s),l=i.x*r.x-e.offsetX()*r.x,c=i.y*r.y-e.offsetY()*r.y,f=(tt.getAngle(e.getAbsoluteRotation())+Math.PI*2)%(Math.PI*2),m={x:a.x+l*Math.cos(f)+c*Math.sin(-f),y:a.y+c*Math.cos(f)+l*Math.sin(f),width:i.width*r.x,height:i.height*r.y,rotation:f};return G4(m,-tt.getAngle(n),{x:0,y:0})}__getNodeRect(){if(!this.getNode())return{x:-U4,y:-U4,width:0,height:0,rotation:0};let n=[];this.nodes().map((f)=>{let m=f.getClientRect({skipTransform:!0,skipShadow:!0,skipStroke:this.ignoreStroke()}),g=[{x:m.x,y:m.y},{x:m.x+m.width,y:m.y},{x:m.x+m.width,y:m.y+m.height},{x:m.x,y:m.y+m.height}],b=f.getAbsoluteTransform();g.forEach(function(v){let k=b.point(v);n.push(k)})});let s=new yi;s.rotate(-tt.getAngle(this.rotation()));let i=1/0,r=1/0,a=-1/0,l=-1/0;n.forEach(function(f){let m=s.point(f);if(i===void 0)i=a=m.x,r=l=m.y;i=Math.min(i,m.x),r=Math.min(r,m.y),a=Math.max(a,m.x),l=Math.max(l,m.y)}),s.invert();let c=s.point({x:i,y:r});return{x:c.x,y:c.y,width:a-i,height:l-r,rotation:tt.getAngle(this.rotation())}}getX(){return this._getNodeRect().x}getY(){return this._getNodeRect().y}getWidth(){return this._getNodeRect().width}getHeight(){return this._getNodeRect().height}_createElements(){this._createBack(),z0.forEach((e)=>{this._createAnchor(e)}),this._createAnchor("rotater"),this._elementsCreated=!0}_createAnchor(e){let n=new wl({stroke:"rgb(0, 161, 255)",fill:"white",strokeWidth:1,name:e+" _anchor",dragDistance:0,draggable:!0,hitStrokeWidth:FR?10:"auto"}),s=this;n.on("mousedown touchstart",function(i){s._handleMouseDown(i)}),n.on("dragstart",(i)=>{n.stopDrag(),i.cancelBubble=!0}),n.on("dragend",(i)=>{i.cancelBubble=!0}),n.on("mouseenter",()=>{let i=tt.getAngle(this.rotation()),r=this.rotateAnchorCursor(),a=LR(e,i,r);n.getStage().content&&(n.getStage().content.style.cursor=a),this._cursorChange=!0}),n.on("mouseout",()=>{n.getStage().content&&(n.getStage().content.style.cursor=""),this._cursorChange=!1}),this.add(n)}_createBack(){let e=new Qe({name:"back",width:0,height:0,sceneFunc(n,s){let i=s.getParent(),r=i.padding(),a=s.width(),l=s.height();if(n.beginPath(),n.rect(-r,-r,a+r*2,l+r*2),i.rotateEnabled()&&i.rotateLineVisible()){let c=i.rotateAnchorAngle(),f=i.rotateAnchorOffset(),m=_e.degToRad(c),g=Math.sin(m),b=-Math.cos(m),v=a/2,k=l/2,T=1/0;if(b<0)T=Math.min(T,-k/b);else if(b>0)T=Math.min(T,(l-k)/b);if(g<0)T=Math.min(T,-v/g);else if(g>0)T=Math.min(T,(a-v)/g);let _=v+g*T,P=k+b*T,U=_e._sign(l),z=_+g*f*U,V=P+b*f*U;n.moveTo(_,P),n.lineTo(z,V)}n.fillStrokeShape(s)},hitFunc:(n,s)=>{if(!this.shouldOverdrawWholeArea())return;let i=this.padding();n.beginPath(),n.rect(-i,-i,s.width()+i*2,s.height()+i*2),n.fillStrokeShape(s)}});this.add(e),this._proxyDrag(e),e.on("dragstart",(n)=>{n.cancelBubble=!0}),e.on("dragmove",(n)=>{n.cancelBubble=!0}),e.on("dragend",(n)=>{n.cancelBubble=!0}),this.on("dragmove",(n)=>{this.update()})}_handleMouseDown(e){var n;if(this._transforming)return;this._movingAnchorName=e.target.name().split(" ")[0];let s=this._getNodeRect(),{width:i,height:r}=s,a=Math.sqrt(Math.pow(i,2)+Math.pow(r,2));this.sin=Math.abs(r/a),this.cos=Math.abs(i/a);let l=(n=this.getStage())===null||n===void 0?void 0:n._getOwnerWindow();if(this._transformWindow=l||null,l)l.addEventListener("mousemove",this._handleMouseMove),l.addEventListener("touchmove",this._handleMouseMove),l.addEventListener("mouseup",this._handleMouseUp,!0),l.addEventListener("touchend",this._handleMouseUp,!0);this._transforming=!0;let c=e.target.getAbsolutePosition(),f=e.target.getStage().getPointerPosition();this._anchorDragOffset={x:f.x-c.x,y:f.y-c.y},Eb++,this._fire("transformstart",{evt:e.evt,target:this.getNode()}),this._nodes.forEach((m)=>{m._fire("transformstart",{evt:e.evt,target:m})})}_handleMouseMove(e){let n,s,i,r=this.findOne("."+this._movingAnchorName),a=r.getStage();a.setPointersPositions(e);let l=a.getPointerPosition(),c={x:l.x-this._anchorDragOffset.x,y:l.y-this._anchorDragOffset.y},f=r.getAbsolutePosition();if(this.anchorDragBoundFunc())c=this.anchorDragBoundFunc()(f,c,e);r.setAbsolutePosition(c);let m=r.getAbsolutePosition();if(f.x===m.x&&f.y===m.y)return;if(this._movingAnchorName==="rotater"){let z=this._getNodeRect();n=r.x()-z.width/2,s=-r.y()+z.height/2;let V=tt.getAngle(this.rotateAnchorAngle()),X=Math.atan2(-s,n)+Math.PI/2-V;if(z.height<0)X-=Math.PI;let ee=tt.getAngle(this.rotation())+X,te=tt.getAngle(this.rotationSnapTolerance()),ie=NR(this.rotationSnaps(),ee,te)-z.rotation,se=PR(z,ie);this._fitNodesInto(se,e);return}let g=this.shiftBehavior(),b;if(g==="inverted")b=this.keepRatio()&&!e.shiftKey;else if(g==="none")b=this.keepRatio();else b=this.keepRatio()||e.shiftKey;let v=this.centeredScaling()||e.altKey,k=!1;if(this._movingAnchorName==="top-left"){if(b){k=!0;let z=v?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".bottom-right").x(),y:this.findOne(".bottom-right").y()};i=Math.sqrt(Math.pow(z.x-r.x(),2)+Math.pow(z.y-r.y(),2));let V=this.findOne(".top-left").x()>z.x?-1:1,X=this.findOne(".top-left").y()>z.y?-1:1;n=i*this.cos*V,s=i*this.sin*X,this.findOne(".top-left").x(z.x-n),this.findOne(".top-left").y(z.y-s)}}else if(this._movingAnchorName==="top-center")this.findOne(".top-left").y(r.y());else if(this._movingAnchorName==="top-right"){if(b){k=!0;let z=v?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".bottom-left").x(),y:this.findOne(".bottom-left").y()};i=Math.sqrt(Math.pow(r.x()-z.x,2)+Math.pow(z.y-r.y(),2));let V=this.findOne(".top-right").x()<z.x?-1:1,X=this.findOne(".top-right").y()>z.y?-1:1;n=i*this.cos*V,s=i*this.sin*X,this.findOne(".top-right").x(z.x+n),this.findOne(".top-right").y(z.y-s)}var T=r.position();this.findOne(".top-left").y(T.y),this.findOne(".bottom-right").x(T.x)}else if(this._movingAnchorName==="middle-left")this.findOne(".top-left").x(r.x());else if(this._movingAnchorName==="middle-right")this.findOne(".bottom-right").x(r.x());else if(this._movingAnchorName==="bottom-left"){if(b){k=!0;let z=v?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".top-right").x(),y:this.findOne(".top-right").y()};i=Math.sqrt(Math.pow(z.x-r.x(),2)+Math.pow(r.y()-z.y,2));let V=z.x<r.x()?-1:1,X=r.y()<z.y?-1:1;n=i*this.cos*V,s=i*this.sin*X,r.x(z.x-n),r.y(z.y+s)}T=r.position(),this.findOne(".top-left").x(T.x),this.findOne(".bottom-right").y(T.y)}else if(this._movingAnchorName==="bottom-center")this.findOne(".bottom-right").y(r.y());else if(this._movingAnchorName==="bottom-right"){if(b){k=!0;let z=v?{x:this.width()/2,y:this.height()/2}:{x:this.findOne(".top-left").x(),y:this.findOne(".top-left").y()};i=Math.sqrt(Math.pow(r.x()-z.x,2)+Math.pow(r.y()-z.y,2));let V=this.findOne(".bottom-right").x()<z.x?-1:1,X=this.findOne(".bottom-right").y()<z.y?-1:1;n=i*this.cos*V,s=i*this.sin*X,this.findOne(".bottom-right").x(z.x+n),this.findOne(".bottom-right").y(z.y+s)}}else console.error(Error("Wrong position argument of selection resizer: "+this._movingAnchorName));if(v=this.centeredScaling()||e.altKey,v){let z=this.findOne(".top-left"),V=this.findOne(".bottom-right"),X=z.x(),J=z.y(),ee=this.getWidth()-V.x(),te=this.getHeight()-V.y();V.move({x:-X,y:-J}),z.move({x:ee,y:te})}let _=this.findOne(".top-left").getAbsolutePosition();n=_.x,s=_.y;let P=this.findOne(".bottom-right").x()-this.findOne(".top-left").x(),U=this.findOne(".bottom-right").y()-this.findOne(".top-left").y();this._fitNodesInto({x:n,y:s,width:P,height:U,rotation:tt.getAngle(this.rotation())},e,k)}_handleMouseUp(e){this._removeEvents(e)}getAbsoluteTransform(){return this.getTransform()}_removeEvents(e){var n;if(this._transforming){this._transforming=!1;let s=this._transformWindow;if(this._transformWindow=null,s)s.removeEventListener("mousemove",this._handleMouseMove),s.removeEventListener("touchmove",this._handleMouseMove),s.removeEventListener("mouseup",this._handleMouseUp,!0),s.removeEventListener("touchend",this._handleMouseUp,!0);let i=this.getNode();if(Eb--,this._fire("transformend",{evt:e,target:i}),(n=this.getLayer())===null||n===void 0||n.batchDraw(),i)this._nodes.forEach((r)=>{var a;r._fire("transformend",{evt:e,target:r}),(a=r.getLayer())===null||a===void 0||a.batchDraw()});this._movingAnchorName=null}}_fitNodesInto(e,n,s=!1){let i=tt.autoDrawEnabled;tt.autoDrawEnabled=!1;try{return this._doFitNodesInto(e,n,s)}finally{tt.autoDrawEnabled=i}}_doFitNodesInto(e,n,s=!1){let i=this._getNodeRect(),r=1;if(_e._inRange(e.width,-this.padding()*2-1,1)){this.update();return}if(_e._inRange(e.height,-this.padding()*2-1,1)){this.update();return}let a=new yi;a.rotate(tt.getAngle(this.rotation()));let l=s?0:this.padding()*2,c=null,f=null;if(this._movingAnchorName&&e.width<0&&this._movingAnchorName.indexOf("left")>=0){let P=a.point({x:-l,y:0});e.x+=P.x,e.y+=P.y,e.width+=l,c={axis:"width",from:"left",to:"right",offset:P}}else if(this._movingAnchorName&&e.width<0&&this._movingAnchorName.indexOf("right")>=0){let P=a.point({x:l,y:0});e.width+=l,c={axis:"width",from:"right",to:"left",offset:P}}if(this._movingAnchorName&&e.height<0&&this._movingAnchorName.indexOf("top")>=0){let P=a.point({x:0,y:-l});e.x+=P.x,e.y+=P.y,e.height+=l,f={axis:"height",from:"top",to:"bottom",offset:P}}else if(this._movingAnchorName&&e.height<0&&this._movingAnchorName.indexOf("bottom")>=0){let P=a.point({x:0,y:l});e.height+=l,f={axis:"height",from:"bottom",to:"top",offset:P}}if(this.boundBoxFunc()){let P=this.boundBoxFunc()(i,e);if(P)e=P;else _e.warn("boundBoxFunc returned falsy. You should return new bound rect from it!")}for(let P of[c,f])if(P&&e[P.axis]<0&&this._movingAnchorName)this._movingAnchorName=this._movingAnchorName.replace(P.from,P.to),this._anchorDragOffset.x-=P.offset.x,this._anchorDragOffset.y-=P.offset.y;let m=1e7,g=new yi;g.translate(i.x,i.y),g.rotate(i.rotation),g.scale(i.width/m,i.height/m);let b=new yi,v=e.width/m,k=e.height/m;if(this.flipEnabled()===!1)b.translate(e.x,e.y),b.rotate(e.rotation),b.translate(e.width<0?e.width:0,e.height<0?e.height:0),b.scale(Math.abs(v),Math.abs(k));else b.translate(e.x,e.y),b.rotate(e.rotation),b.scale(v,k);let T=b.multiply(g.invert()),_=new Set;this._nodes.forEach((P)=>{if(!P.getStage())return;let U=P.getParent().getAbsoluteTransform(),z=P.getTransform().copy();z.translate(P.offsetX(),P.offsetY());let V=new yi;V.multiply(U.copy().invert()).multiply(T).multiply(U).multiply(z);let X=V.decompose();P.setAttrs(X);let J=P.getLayer();if(J)_.add(J)}),this.rotation(_e._getRotation(e.rotation)),this._nodes.forEach((P)=>{this._fire("transform",{evt:n,target:P}),P._fire("transform",{evt:n,target:P})}),this._resetTransformCache(),this.update(),_.add(this.getLayer()),_.forEach((P)=>P&&P.batchDraw())}_scheduleUpdate(){if(this._updateScheduled)return;this._updateScheduled=!0,Ye._runAfterAbsTransformCascade(()=>{var e;if(this._updateScheduled=!1,!((e=this._nodes)===null||e===void 0?void 0:e.length)||this._transforming||this.isDragging())return;this.update()})}forceUpdate(){this._resetTransformCache(),this.update()}_batchChangeChild(e,n){this.findOne(e).setAttrs(n)}update(){var e;let n=this._getNodeRect();this.rotation(_e._getRotation(n.rotation));let{width:s,height:i}=n,r=this.enabledAnchors(),a=this.resizeEnabled(),l=this.padding(),c=this.anchorSize(),f=this.find("._anchor");f.forEach((J)=>{J.setAttrs({width:c,height:c,offsetX:c/2,offsetY:c/2,stroke:this.anchorStroke(),strokeWidth:this.anchorStrokeWidth(),fill:this.anchorFill(),cornerRadius:this.anchorCornerRadius()})}),this._batchChangeChild(".top-left",{x:0,y:0,offsetX:c/2+l,offsetY:c/2+l,visible:a&&r.indexOf("top-left")>=0}),this._batchChangeChild(".top-center",{x:s/2,y:0,offsetY:c/2+l,visible:a&&r.indexOf("top-center")>=0}),this._batchChangeChild(".top-right",{x:s,y:0,offsetX:c/2-l,offsetY:c/2+l,visible:a&&r.indexOf("top-right")>=0}),this._batchChangeChild(".middle-left",{x:0,y:i/2,offsetX:c/2+l,visible:a&&r.indexOf("middle-left")>=0}),this._batchChangeChild(".middle-right",{x:s,y:i/2,offsetX:c/2-l,visible:a&&r.indexOf("middle-right")>=0}),this._batchChangeChild(".bottom-left",{x:0,y:i,offsetX:c/2+l,offsetY:c/2-l,visible:a&&r.indexOf("bottom-left")>=0}),this._batchChangeChild(".bottom-center",{x:s/2,y:i,offsetY:c/2-l,visible:a&&r.indexOf("bottom-center")>=0}),this._batchChangeChild(".bottom-right",{x:s,y:i,offsetX:c/2-l,offsetY:c/2-l,visible:a&&r.indexOf("bottom-right")>=0});let m=this.rotateAnchorAngle(),g=this.rotateAnchorOffset(),b=_e.degToRad(m),v=Math.sin(b),k=-Math.cos(b),T=s/2,_=i/2,P=1/0;if(k<0)P=Math.min(P,-_/k);else if(k>0)P=Math.min(P,(i-_)/k);if(v<0)P=Math.min(P,-T/v);else if(v>0)P=Math.min(P,(s-T)/v);let U=T+v*P,z=_+k*P,V=_e._sign(i);this._batchChangeChild(".rotater",{x:U+v*g*V,y:z+k*g*V-l*k,visible:this.rotateEnabled()}),this._batchChangeChild(".back",{width:s,height:i,visible:this.borderEnabled(),stroke:this.borderStroke(),strokeWidth:this.borderStrokeWidth(),dash:this.borderDash(),draggable:this.nodes().some((J)=>J.draggable()),x:0,y:0});let X=this.anchorStyleFunc();if(X)f.forEach((J)=>{X(J)});(e=this.getLayer())===null||e===void 0||e.batchDraw()}isTransforming(){return this._transforming}stopTransform(){if(this._transforming){this._removeEvents();let e=this.findOne("."+this._movingAnchorName);if(e)e.stopDrag()}}destroy(){if(this.getStage()&&this._cursorChange)this.getStage().content&&(this.getStage().content.style.cursor="");return Ra.prototype.destroy.call(this),this.detach(),this._removeEvents(),this}add(...e){if(this._elementsCreated)return _e.error("You cannot add external nodes to the Transformer. Use tr.nodes([node]) instead."),this;return super.add(...e)}toObject(){return Ye.prototype.toObject.call(this)}clone(e){return Ye.prototype.clone.call(this,e)}getClientRect(){if(this.nodes().length>0)return super.getClientRect();else return{x:0,y:0,width:0,height:0}}}hn.isTransforming=()=>Eb>0;function BR(e){if(!(e instanceof Array))_e.warn("enabledAnchors value should be an array");if(e instanceof Array)e.forEach(function(n){if(z0.indexOf(n)===-1)_e.warn("Unknown anchor name: "+n+". Available names are: "+z0.join(", "))});return e||[]}hn.prototype.className="Transformer";Qt(hn);be.addGetterSetter(hn,"enabledAnchors",z0,BR);be.addGetterSetter(hn,"flipEnabled",!0,vi());be.addGetterSetter(hn,"resizeEnabled",!0);be.addGetterSetter(hn,"anchorSize",10,Ke());be.addGetterSetter(hn,"rotateEnabled",!0);be.addGetterSetter(hn,"rotateLineVisible",!0);be.addGetterSetter(hn,"rotationSnaps",[]);be.addGetterSetter(hn,"rotateAnchorOffset",50,Ke());be.addGetterSetter(hn,"rotateAnchorAngle",0,Ke());be.addGetterSetter(hn,"rotateAnchorCursor","crosshair");be.addGetterSetter(hn,"rotationSnapTolerance",5,Ke());be.addGetterSetter(hn,"borderEnabled",!0);be.addGetterSetter(hn,"anchorStroke","rgb(0, 161, 255)");be.addGetterSetter(hn,"anchorStrokeWidth",1,Ke());be.addGetterSetter(hn,"anchorFill","white");be.addGetterSetter(hn,"anchorCornerRadius",0,Ke());be.addGetterSetter(hn,"borderStroke","rgb(0, 161, 255)");be.addGetterSetter(hn,"borderStrokeWidth",1,Ke());be.addGetterSetter(hn,"borderDash");be.addGetterSetter(hn,"keepRatio",!0);be.addGetterSetter(hn,"shiftBehavior","default");be.addGetterSetter(hn,"centeredScaling",!1);be.addGetterSetter(hn,"ignoreStroke",!1);be.addGetterSetter(hn,"padding",0,Ke());be.addGetterSetter(hn,"nodes");be.addGetterSetter(hn,"node");be.addGetterSetter(hn,"boundBoxFunc");be.addGetterSetter(hn,"anchorDragBoundFunc");be.addGetterSetter(hn,"anchorStyleFunc");be.addGetterSetter(hn,"shouldOverdrawWholeArea",!1);be.addGetterSetter(hn,"useSingleNodeRotation",!0);be.backCompat(hn,{lineEnabled:"borderEnabled",rotateHandlerOffset:"rotateAnchorOffset",enabledHandlers:"enabledAnchors"});class oa extends Qe{_sceneFunc(e){e.beginPath(),e.arc(0,0,this.radius(),0,tt.getAngle(this.angle()),this.clockwise()),e.lineTo(0,0),e.closePath(),e.fillStrokeShape(this)}getWidth(){return this.radius()*2}getHeight(){return this.radius()*2}setWidth(e){this.radius(e/2)}setHeight(e){this.radius(e/2)}}oa.prototype.className="Wedge";oa.prototype._centroid=!0;oa.prototype._attrsAffectingSize=["radius"];Qt(oa);be.addGetterSetter(oa,"radius",0,Ke());be.addGetterSetter(oa,"angle",0,Ke());be.addGetterSetter(oa,"clockwise",!1);be.backCompat(oa,{angleDeg:"angle",getAngleDeg:"getAngle",setAngleDeg:"setAngle"});function V4(){this.r=0,this.g=0,this.b=0,this.a=0,this.next=null}var HR=[512,512,456,512,328,456,335,512,405,328,271,456,388,335,292,512,454,405,364,328,298,271,496,456,420,388,360,335,312,292,273,512,482,454,428,405,383,364,345,328,312,298,284,271,259,496,475,456,437,420,404,388,374,360,347,335,323,312,302,292,282,273,265,512,497,482,468,454,441,428,417,405,394,383,373,364,354,345,337,328,320,312,305,298,291,284,278,271,265,259,507,496,485,475,465,456,446,437,428,420,412,404,396,388,381,374,367,360,354,347,341,335,329,323,318,312,307,302,297,292,287,282,278,273,269,265,261,512,505,497,489,482,475,468,461,454,447,441,435,428,422,417,411,405,399,394,389,383,378,373,368,364,359,354,350,345,341,337,332,328,324,320,316,312,309,305,301,298,294,291,287,284,281,278,274,271,268,265,262,259,257,507,501,496,491,485,480,475,470,465,460,456,451,446,442,437,433,428,424,420,416,412,408,404,400,396,392,388,385,381,377,374,370,367,363,360,357,354,350,347,344,341,338,335,332,329,326,323,320,318,315,312,310,307,304,302,299,297,294,292,289,287,285,282,280,278,275,273,271,269,267,265,263,261,259],UR=[9,11,12,13,13,14,14,15,15,15,15,16,16,16,16,17,17,17,17,17,17,17,18,18,18,18,18,18,18,18,18,19,19,19,19,19,19,19,19,19,19,19,19,19,19,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24];function zR(e,n){let{data:s,width:i,height:r}=e,a,l,c,f,m,g,b,v,k,T,_,P,U,z,V,X,J,ee,te,ne,ie=n+n+1,se=i-1,oe=r-1,ye=n+1,Se=ye*(ye+1)/2,me=new V4,de=HR[n],ce=UR[n],Ee=null,we=me,qe=null,Re=null;for(let Fe=1;Fe<ie;Fe++)if(we=we.next=new V4,Fe===ye)Ee=we;we.next=me,c=l=0;for(let Fe=0;Fe<r;Fe++){P=U=z=V=f=m=g=b=0,v=ye*(X=s[l]),k=ye*(J=s[l+1]),T=ye*(ee=s[l+2]),_=ye*(te=s[l+3]),f+=Se*X,m+=Se*J,g+=Se*ee,b+=Se*te,we=me;for(let Be=0;Be<ye;Be++)we.r=X,we.g=J,we.b=ee,we.a=te,we=we.next;for(let Be=1;Be<ye;Be++)a=l+((se<Be?se:Be)<<2),f+=(we.r=X=s[a])*(ne=ye-Be),m+=(we.g=J=s[a+1])*ne,g+=(we.b=ee=s[a+2])*ne,b+=(we.a=te=s[a+3])*ne,P+=X,U+=J,z+=ee,V+=te,we=we.next;qe=me,Re=Ee;for(let Be=0;Be<i;Be++){if(s[l+3]=te=b*de>>ce,te!==0)te=255/te,s[l]=(f*de>>ce)*te,s[l+1]=(m*de>>ce)*te,s[l+2]=(g*de>>ce)*te;else s[l]=s[l+1]=s[l+2]=0;f-=v,m-=k,g-=T,b-=_,v-=qe.r,k-=qe.g,T-=qe.b,_-=qe.a,a=c+((a=Be+n+1)<se?a:se)<<2,P+=qe.r=s[a],U+=qe.g=s[a+1],z+=qe.b=s[a+2],V+=qe.a=s[a+3],f+=P,m+=U,g+=z,b+=V,qe=qe.next,v+=X=Re.r,k+=J=Re.g,T+=ee=Re.b,_+=te=Re.a,P-=X,U-=J,z-=ee,V-=te,Re=Re.next,l+=4}c+=i}for(let Fe=0;Fe<i;Fe++){U=z=V=P=m=g=b=f=0,l=Fe<<2,v=ye*(X=s[l]),k=ye*(J=s[l+1]),T=ye*(ee=s[l+2]),_=ye*(te=s[l+3]),f+=Se*X,m+=Se*J,g+=Se*ee,b+=Se*te,we=me;for(let Xe=0;Xe<ye;Xe++)we.r=X,we.g=J,we.b=ee,we.a=te,we=we.next;let Be=i;for(let Xe=1;Xe<=n;Xe++)if(l=Be+Fe<<2,f+=(we.r=X=s[l])*(ne=ye-Xe),m+=(we.g=J=s[l+1])*ne,g+=(we.b=ee=s[l+2])*ne,b+=(we.a=te=s[l+3])*ne,P+=X,U+=J,z+=ee,V+=te,we=we.next,Xe<oe)Be+=i;l=Fe,qe=me,Re=Ee;for(let Xe=0;Xe<r;Xe++){if(a=l<<2,s[a+3]=te=b*de>>ce,te>0)te=255/te,s[a]=(f*de>>ce)*te,s[a+1]=(m*de>>ce)*te,s[a+2]=(g*de>>ce)*te;else s[a]=s[a+1]=s[a+2]=0;f-=v,m-=k,g-=T,b-=_,v-=qe.r,k-=qe.g,T-=qe.b,_-=qe.a,a=Fe+((a=Xe+ye)<oe?a:oe)*i<<2,f+=P+=qe.r=s[a],m+=U+=qe.g=s[a+1],g+=z+=qe.b=s[a+2],b+=V+=qe.a=s[a+3],qe=qe.next,v+=X=Re.r,k+=J=Re.g,T+=ee=Re.b,_+=te=Re.a,P-=X,U-=J,z-=ee,V-=te,Re=Re.next,l+=i}}}var $4=function(n){let s=Math.round(this.blurRadius());if(s>0)zR(n,s)};be.addGetterSetter(Ye,"blurRadius",0,Ke(),be.afterSetFilter);var X4=function(e){let n=this.brightness()*255,s=e.data,i=s.length;for(let r=0;r<i;r+=4)s[r]+=n,s[r+1]+=n,s[r+2]+=n};be.addGetterSetter(Ye,"brightness",0,Ke(),be.afterSetFilter);var W4=function(e){let n=this.brightness(),s=e.data,i=s.length;for(let r=0;r<i;r+=4)s[r]=Math.min(255,s[r]*n),s[r+1]=Math.min(255,s[r+1]*n),s[r+2]=Math.min(255,s[r+2]*n)};var K4=function(e){let n=Math.pow((this.contrast()+100)/100,2),s=e.data,i=s.length,r=150,a=150,l=150;for(let c=0;c<i;c+=4)r=s[c],a=s[c+1],l=s[c+2],r/=255,r-=0.5,r*=n,r+=0.5,r*=255,a/=255,a-=0.5,a*=n,a+=0.5,a*=255,l/=255,l-=0.5,l*=n,l+=0.5,l*=255,r=r<0?0:r>255?255:r,a=a<0?0:a>255?255:a,l=l<0?0:l>255?255:l,s[c]=r,s[c+1]=a,s[c+2]=l};be.addGetterSetter(Ye,"contrast",0,Ke(),be.afterSetFilter);var Y4=function(e){var n,s,i,r,a,l,c,f,m;let{data:g,width:b,height:v}=e,k=Math.min(1,Math.max(0,(s=(n=this.embossStrength)===null||n===void 0?void 0:n.call(this))!==null&&s!==void 0?s:0.5)),T=Math.min(1,Math.max(0,(r=(i=this.embossWhiteLevel)===null||i===void 0?void 0:i.call(this))!==null&&r!==void 0?r:0.5)),P=(c={"top-left":315,top:270,"top-right":225,right:180,"bottom-right":135,bottom:90,"bottom-left":45,left:0}[(l=(a=this.embossDirection)===null||a===void 0?void 0:a.call(this))!==null&&l!==void 0?l:"top-left"])!==null&&c!==void 0?c:315,U=!!((m=(f=this.embossBlend)===null||f===void 0?void 0:f.call(this))!==null&&m!==void 0?m:!1),z=k*10,V=T*255,X=P*Math.PI/180,J=Math.cos(X),ee=Math.sin(X),te=0.12549019607843137*z,ne=new Uint8ClampedArray(g),ie=new Float32Array(b*v);for(let me=0,de=0;de<g.length;de+=4,me++)ie[me]=0.2126*ne[de]+0.7152*ne[de+1]+0.0722*ne[de+2];let se=[-1,0,1,-2,0,2,-1,0,1],oe=[-1,-2,-1,0,0,0,1,2,1],ye=[-b-1,-b,-b+1,-1,0,1,b-1,b,b+1],Se=(me)=>me<0?0:me>255?255:me;for(let me=1;me<v-1;me++)for(let de=1;de<b-1;de++){let ce=me*b+de,Ee=0,we=0;Ee+=ie[ce+ye[0]]*se[0],we+=ie[ce+ye[0]]*oe[0],Ee+=ie[ce+ye[1]]*se[1],we+=ie[ce+ye[1]]*oe[1],Ee+=ie[ce+ye[2]]*se[2],we+=ie[ce+ye[2]]*oe[2],Ee+=ie[ce+ye[3]]*se[3],we+=ie[ce+ye[3]]*oe[3],Ee+=ie[ce+ye[5]]*se[5],we+=ie[ce+ye[5]]*oe[5],Ee+=ie[ce+ye[6]]*se[6],we+=ie[ce+ye[6]]*oe[6],Ee+=ie[ce+ye[7]]*se[7],we+=ie[ce+ye[7]]*oe[7],Ee+=ie[ce+ye[8]]*se[8],we+=ie[ce+ye[8]]*oe[8];let qe=J*Ee+ee*we,Re=Se(V+qe*te),Fe=ce*4;if(U){let Be=Re-V;g[Fe]=Se(ne[Fe]+Be),g[Fe+1]=Se(ne[Fe+1]+Be),g[Fe+2]=Se(ne[Fe+2]+Be),g[Fe+3]=ne[Fe+3]}else g[Fe]=g[Fe+1]=g[Fe+2]=Re,g[Fe+3]=ne[Fe+3]}for(let me=0;me<b;me++){let de=me*4,ce=((v-1)*b+me)*4;g[de]=ne[de],g[de+1]=ne[de+1],g[de+2]=ne[de+2],g[de+3]=ne[de+3],g[ce]=ne[ce],g[ce+1]=ne[ce+1],g[ce+2]=ne[ce+2],g[ce+3]=ne[ce+3]}for(let me=1;me<v-1;me++){let de=me*b*4,ce=(me*b+(b-1))*4;g[de]=ne[de],g[de+1]=ne[de+1],g[de+2]=ne[de+2],g[de+3]=ne[de+3],g[ce]=ne[ce],g[ce+1]=ne[ce+1],g[ce+2]=ne[ce+2],g[ce+3]=ne[ce+3]}return e};be.addGetterSetter(Ye,"embossStrength",0.5,Ke(),be.afterSetFilter);be.addGetterSetter(Ye,"embossWhiteLevel",0.5,Ke(),be.afterSetFilter);be.addGetterSetter(Ye,"embossDirection","top-left",void 0,be.afterSetFilter);be.addGetterSetter(Ye,"embossBlend",!1,void 0,be.afterSetFilter);function Cb(e,n,s,i,r){let a=s-n,l=r-i;if(a===0)return i+l/2;if(l===0)return i;let c=(e-n)/a;return c=l*c+i,c}var Q4=function(e){let n=e.data,s=n.length,i=n[0],r=i,a,l=n[1],c=l,f,m=n[2],g=m,b,v=this.enhance();if(v===0)return;for(let V=0;V<s;V+=4){if(a=n[V+0],a<i)i=a;else if(a>r)r=a;if(f=n[V+1],f<l)l=f;else if(f>c)c=f;if(b=n[V+2],b<m)m=b;else if(b>g)g=b}if(r===i)r=255,i=0;if(c===l)c=255,l=0;if(g===m)g=255,m=0;let k,T,_,P,U,z;if(v>0)k=r+v*(255-r),T=i-v*(i-0),_=c+v*(255-c),P=l-v*(l-0),U=g+v*(255-g),z=m-v*(m-0);else{let V=(r+i)*0.5;k=r+v*(r-V),T=i+v*(i-V);let X=(c+l)*0.5;_=c+v*(c-X),P=l+v*(l-X);let J=(g+m)*0.5;U=g+v*(g-J),z=m+v*(m-J)}for(let V=0;V<s;V+=4)n[V+0]=Cb(n[V+0],i,r,T,k),n[V+1]=Cb(n[V+1],l,c,P,_),n[V+2]=Cb(n[V+2],m,g,z,U)};be.addGetterSetter(Ye,"enhance",0,Ke(),be.afterSetFilter);var J4=function(e){let n=e.data,s=n.length;for(let i=0;i<s;i+=4){let r=0.34*n[i]+0.5*n[i+1]+0.16*n[i+2];n[i]=r,n[i+1]=r,n[i+2]=r}};be.addGetterSetter(Ye,"hue",0,Ke(),be.afterSetFilter);be.addGetterSetter(Ye,"saturation",0,Ke(),be.afterSetFilter);be.addGetterSetter(Ye,"luminance",0,Ke(),be.afterSetFilter);var Z4=function(e){let n=e.data,s=n.length,r=Math.pow(2,this.saturation()),a=Math.abs(this.hue()+360)%360,l=this.luminance()*127,c=1*r*Math.cos(a*Math.PI/180),f=1*r*Math.sin(a*Math.PI/180),m=0.299+0.701*c+0.167*f,g=0.587-0.587*c+0.33*f,b=0.114-0.114*c-0.497*f,v=0.299-0.299*c-0.328*f,k=0.587+0.413*c+0.035*f,T=0.114-0.114*c+0.293*f,_=0.299-0.3*c+1.25*f,P=0.587-0.586*c-1.05*f,U=0.114+0.886*c-0.2*f,z,V,X,J;for(let ee=0;ee<s;ee+=4)z=n[ee+0],V=n[ee+1],X=n[ee+2],J=n[ee+3],n[ee+0]=m*z+g*V+b*X+l,n[ee+1]=v*z+k*V+T*X+l,n[ee+2]=_*z+P*V+U*X+l,n[ee+3]=J};var e8=function(e){let n=e.data,s=n.length,i=Math.pow(2,this.value()),r=Math.pow(2,this.saturation()),a=Math.abs(this.hue()+360)%360,l=i*r*Math.cos(a*Math.PI/180),c=i*r*Math.sin(a*Math.PI/180),f=0.299*i+0.701*l+0.167*c,m=0.587*i-0.587*l+0.33*c,g=0.114*i-0.114*l-0.497*c,b=0.299*i-0.299*l-0.328*c,v=0.587*i+0.413*l+0.035*c,k=0.114*i-0.114*l+0.293*c,T=0.299*i-0.3*l+1.25*c,_=0.587*i-0.586*l-1.05*c,P=0.114*i+0.886*l-0.2*c;for(let U=0;U<s;U+=4){let z=n[U+0],V=n[U+1],X=n[U+2],J=n[U+3];n[U+0]=f*z+m*V+g*X,n[U+1]=b*z+v*V+k*X,n[U+2]=T*z+_*V+P*X,n[U+3]=J}};be.addGetterSetter(Ye,"hue",0,Ke(),be.afterSetFilter);be.addGetterSetter(Ye,"saturation",0,Ke(),be.afterSetFilter);be.addGetterSetter(Ye,"value",0,Ke(),be.afterSetFilter);var t8=function(e){let n=e.data,s=n.length;for(let i=0;i<s;i+=4)n[i]=255-n[i],n[i+1]=255-n[i+1],n[i+2]=255-n[i+2]};var GR=function(e,n,s){let i=e.data,r=n.data,{width:a,height:l}=e,c=s.polarCenterX||a/2,f=s.polarCenterY||l/2,m=Math.sqrt(c*c+f*f),g=a-c,b=l-f,v=Math.sqrt(g*g+b*b);m=v>m?v:m;let k=l,T=a,_=360/T*Math.PI/180;for(let P=0;P<T;P+=1){let U=Math.sin(P*_),z=Math.cos(P*_);for(let V=0;V<k;V+=1){g=Math.floor(c+m*V/k*z),b=Math.floor(f+m*V/k*U);let X=(b*a+g)*4,J=i[X+0],ee=i[X+1],te=i[X+2],ne=i[X+3];X=(P+V*a)*4,r[X+0]=J,r[X+1]=ee,r[X+2]=te,r[X+3]=ne}}},VR=function(e,n,s){let i=e.data,r=n.data,{width:a,height:l}=e,c=s.polarCenterX||a/2,f=s.polarCenterY||l/2,m=Math.sqrt(c*c+f*f),g=a-c,b=l-f,v=Math.sqrt(g*g+b*b);m=v>m?v:m;let k=l,T=a,_=s.polarRotation||0,P,U;for(g=0;g<a;g+=1)for(b=0;b<l;b+=1){let z=g-c,V=b-f,X=Math.sqrt(z*z+V*V)*k/m,J=(Math.atan2(V,z)*180/Math.PI+360+_)%360;J=J*T/360,P=Math.floor(J),U=Math.floor(X);let ee=(U*a+P)*4,te=i[ee+0],ne=i[ee+1],ie=i[ee+2],se=i[ee+3];ee=(b*a+g)*4,r[ee+0]=te,r[ee+1]=ne,r[ee+2]=ie,r[ee+3]=se}},n8=function(e){let{width:n,height:s}=e,i,r,a,l,c,f,m,g,b,v,k=Math.round(this.kaleidoscopePower()),T=Math.round(this.kaleidoscopeAngle()),_=Math.floor(n*(T%360)/360);if(k<1)return;let P=_e.createCanvasElement();P.width=n,P.height=s;let U=P.getContext("2d").getImageData(0,0,n,s);_e.releaseCanvas(P),GR(e,U,{polarCenterX:n/2,polarCenterY:s/2});let z=n/Math.pow(2,k);while(z<=8)z=z*2,k-=1;z=Math.ceil(z);let V=z,X=0,J=V,ee=1;if(_+z>n)X=V,J=0,ee=-1;for(r=0;r<s;r+=1)for(i=X;i!==J;i+=ee)a=Math.round(i+_)%n,b=(n*r+a)*4,c=U.data[b+0],f=U.data[b+1],m=U.data[b+2],g=U.data[b+3],v=(n*r+i)*4,U.data[v+0]=c,U.data[v+1]=f,U.data[v+2]=m,U.data[v+3]=g;for(r=0;r<s;r+=1){V=Math.floor(z);for(l=0;l<k;l+=1){for(i=0;i<V+1;i+=1)b=(n*r+i)*4,c=U.data[b+0],f=U.data[b+1],m=U.data[b+2],g=U.data[b+3],v=(n*r+V*2-i-1)*4,U.data[v+0]=c,U.data[v+1]=f,U.data[v+2]=m,U.data[v+3]=g;V*=2}}VR(U,e,{polarRotation:0})};be.addGetterSetter(Ye,"kaleidoscopePower",2,Ke(),be.afterSetFilter);be.addGetterSetter(Ye,"kaleidoscopeAngle",0,Ke(),be.afterSetFilter);function G0(e,n,s){let i=(s*e.width+n)*4,r=[];return r.push(e.data[i++],e.data[i++],e.data[i++],e.data[i++]),r}function Vh(e,n){return Math.sqrt(Math.pow(e[0]-n[0],2)+Math.pow(e[1]-n[1],2)+Math.pow(e[2]-n[2],2))}function $R(e){let n=[0,0,0];for(let s=0;s<e.length;s++)n[0]+=e[s][0],n[1]+=e[s][1],n[2]+=e[s][2];return n[0]/=e.length,n[1]/=e.length,n[2]/=e.length,n}function XR(e,n){let s=G0(e,0,0),i=G0(e,e.width-1,0),r=G0(e,0,e.height-1),a=G0(e,e.width-1,e.height-1),l=n||10;if(Vh(s,i)<l&&Vh(i,a)<l&&Vh(a,r)<l&&Vh(r,s)<l){let c=$R([i,s,a,r]),f=[];for(let m=0;m<e.width*e.height;m++){let g=Vh(c,[e.data[m*4],e.data[m*4+1],e.data[m*4+2]]);f[m]=g<l?0:255}return f}}function WR(e,n){for(let s=0;s<e.width*e.height;s++)e.data[4*s+3]=n[s]}function KR(e,n,s){let i=[1,1,1,1,0,1,1,1,1],r=Math.round(Math.sqrt(i.length)),a=Math.floor(r/2),l=[];for(let c=0;c<s;c++)for(let f=0;f<n;f++){let m=c*n+f,g=0;for(let b=0;b<r;b++)for(let v=0;v<r;v++){let k=c+b-a,T=f+v-a;if(k>=0&&k<s&&T>=0&&T<n){let _=k*n+T,P=i[b*r+v];g+=e[_]*P}}l[m]=g===2040?255:0}return l}function YR(e,n,s){let i=[1,1,1,1,1,1,1,1,1],r=Math.round(Math.sqrt(i.length)),a=Math.floor(r/2),l=[];for(let c=0;c<s;c++)for(let f=0;f<n;f++){let m=c*n+f,g=0;for(let b=0;b<r;b++)for(let v=0;v<r;v++){let k=c+b-a,T=f+v-a;if(k>=0&&k<s&&T>=0&&T<n){let _=k*n+T,P=i[b*r+v];g+=e[_]*P}}l[m]=g>=1020?255:0}return l}function QR(e,n,s){let i=[0.1111111111111111,0.1111111111111111,0.1111111111111111,0.1111111111111111,0.1111111111111111,0.1111111111111111,0.1111111111111111,0.1111111111111111,0.1111111111111111],r=Math.round(Math.sqrt(i.length)),a=Math.floor(r/2),l=[];for(let c=0;c<s;c++)for(let f=0;f<n;f++){let m=c*n+f,g=0;for(let b=0;b<r;b++)for(let v=0;v<r;v++){let k=c+b-a,T=f+v-a;if(k>=0&&k<s&&T>=0&&T<n){let _=k*n+T,P=i[b*r+v];g+=e[_]*P}}l[m]=g}return l}var s8=function(e){let n=this.threshold(),s=XR(e,n);if(s)s=KR(s,e.width,e.height),s=YR(s,e.width,e.height),s=QR(s,e.width,e.height),WR(e,s);return e};be.addGetterSetter(Ye,"threshold",0,Ke(),be.afterSetFilter);var i8=function(e){let n=this.noise()*255,s=e.data,i=s.length,r=n/2;for(let a=0;a<i;a+=4)s[a+0]+=r-2*r*Math.random(),s[a+1]+=r-2*r*Math.random(),s[a+2]+=r-2*r*Math.random()};be.addGetterSetter(Ye,"noise",0.2,Ke(),be.afterSetFilter);var r8=function(e){let n=Math.ceil(this.pixelSize()),{width:s,height:i}=e,r=Math.ceil(s/n),a=Math.ceil(i/n),l=e.data;if(n<=0){_e.error("pixelSize value can not be <= 0");return}for(let c=0;c<r;c+=1)for(let f=0;f<a;f+=1){let m=0,g=0,b=0,v=0,k=c*n,T=k+n,_=f*n,P=_+n,U=0;for(let z=k;z<T;z+=1){if(z>=s)continue;for(let V=_;V<P;V+=1){if(V>=i)continue;let X=(s*V+z)*4;m+=l[X+0],g+=l[X+1],b+=l[X+2],v+=l[X+3],U+=1}}m=m/U,g=g/U,b=b/U,v=v/U;for(let z=k;z<T;z+=1){if(z>=s)continue;for(let V=_;V<P;V+=1){if(V>=i)continue;let X=(s*V+z)*4;l[X+0]=m,l[X+1]=g,l[X+2]=b,l[X+3]=v}}}};be.addGetterSetter(Ye,"pixelSize",8,Ke(),be.afterSetFilter);var a8=function(e){let n=Math.round(this.levels()*254)+1,s=e.data,i=s.length,r=255/n;for(let a=0;a<i;a+=1)s[a]=Math.floor(s[a]/r)*r};be.addGetterSetter(Ye,"levels",0.5,Ke(),be.afterSetFilter);var o8=function(e){let n=e.data,s=n.length,i=this.red(),r=this.green(),a=this.blue();for(let l=0;l<s;l+=4){let c=(0.34*n[l]+0.5*n[l+1]+0.16*n[l+2])/255;n[l]=c*i,n[l+1]=c*r,n[l+2]=c*a,n[l+3]=n[l+3]}};be.addGetterSetter(Ye,"red",0,function(e){if(this._filterUpToDate=!1,e>255)return 255;else if(e<0)return 0;else return Math.round(e)});be.addGetterSetter(Ye,"green",0,function(e){if(this._filterUpToDate=!1,e>255)return 255;else if(e<0)return 0;else return Math.round(e)});be.addGetterSetter(Ye,"blue",0,j0,be.afterSetFilter);var l8=function(e){let n=e.data,s=n.length,i=this.red(),r=this.green(),a=this.blue(),l=this.alpha();for(let c=0;c<s;c+=4){let f=1-l;n[c]=i*l+n[c]*f,n[c+1]=r*l+n[c+1]*f,n[c+2]=a*l+n[c+2]*f}};be.addGetterSetter(Ye,"red",0,function(e){if(this._filterUpToDate=!1,e>255)return 255;else if(e<0)return 0;else return Math.round(e)});be.addGetterSetter(Ye,"green",0,function(e){if(this._filterUpToDate=!1,e>255)return 255;else if(e<0)return 0;else return Math.round(e)});be.addGetterSetter(Ye,"blue",0,j0,be.afterSetFilter);be.addGetterSetter(Ye,"alpha",1,function(e){if(this._filterUpToDate=!1,e>1)return 1;else if(e<0)return 0;else return e});var c8=function(e){let n=e.data,s=n.length;for(let i=0;i<s;i+=4){let r=n[i+0],a=n[i+1],l=n[i+2];n[i+0]=Math.min(255,r*0.393+a*0.769+l*0.189),n[i+1]=Math.min(255,r*0.349+a*0.686+l*0.168),n[i+2]=Math.min(255,r*0.272+a*0.534+l*0.131)}};var f8=function(e){let s=e.data;for(let i=0;i<s.length;i+=4){let r=s[i],a=s[i+1],l=s[i+2];if(0.2126*r+0.7152*a+0.0722*l>=128)s[i]=255-r,s[i+1]=255-a,s[i+2]=255-l}return e};var h8=function(e){let n=this.threshold()*255,s=e.data,i=s.length;for(let r=0;r<i;r+=1)s[r]=s[r]<n?0:255};be.addGetterSetter(Ye,"threshold",0.5,Ke(),be.afterSetFilter);var JR=cf.Util._assign(cf,{Arc:aa,Arrow:bo,Circle:bl,Ellipse:qa,Image:Ki,Label:Uh,Tag:wo,Line:Mr,Path:Qn,Rect:wl,RegularPolygon:Ma,Ring:yo,Sprite:Lr,Star:Fa,Text:Un,TextPath:Ls,Transformer:hn,Wedge:oa,Filters:{Blur:$4,Brightness:W4,Brighten:X4,Contrast:K4,Emboss:Y4,Enhance:Q4,Grayscale:J4,HSL:Z4,HSV:e8,Invert:t8,Kaleidoscope:n8,Mask:s8,Noise:i8,Pixelate:r8,Posterize:a8,RGB:o8,RGBA:l8,Sepia:c8,Solarize:f8,Threshold:h8}});S();var uf=cf;var A8=H(u8());var jb=1;var V0=32,_b=2;S();var Rb={};ke(Rb,{HostTransitionContext:()=>uq,NotPendingTransition:()=>hq,afterActiveInstanceBlur:()=>WD,appendChild:()=>DD,appendChildToContainer:()=>qD,appendInitialChild:()=>lD,beforeActiveInstanceBlur:()=>XD,cancelTimeout:()=>kD,clearContainer:()=>GD,commitMount:()=>PD,commitTextUpdate:()=>OD,commitUpdate:()=>ND,createInstance:()=>cD,createTextInstance:()=>fD,detachDeletedInstance:()=>VD,finalizeInitialChildren:()=>hD,getChildHostContext:()=>vD,getCurrentEventPriority:()=>KD,getCurrentUpdatePriority:()=>ZD,getInstanceFromNode:()=>$D,getInstanceFromScope:()=>QD,getPublicInstance:()=>uD,getRootHostContext:()=>yD,hideInstance:()=>BD,hideTextInstance:()=>HD,idlePriority:()=>Xi,insertBefore:()=>v8,insertInContainerBefore:()=>MD,isPrimaryRenderer:()=>CD,maySuspendCommit:()=>aq,noTimeout:()=>TD,now:()=>Jn,preloadInstance:()=>oq,prepareForCommit:()=>dD,preparePortalMount:()=>mD,prepareScopeUpdate:()=>YD,prepareUpdate:()=>pD,removeChild:()=>FD,removeChildFromContainer:()=>LD,requestPostPaintCallback:()=>rq,resetAfterCommit:()=>gD,resetFormInstance:()=>dq,resetTextContent:()=>bD,resolveEventTimeStamp:()=>iq,resolveEventType:()=>sq,resolveUpdatePriority:()=>eq,run:()=>Wu,scheduleMicrotask:()=>AD,scheduleTimeout:()=>SD,setCurrentUpdatePriority:()=>JD,shouldAttemptEagerTransition:()=>tq,shouldDeprioritizeSubtree:()=>wD,shouldSetTextContent:()=>ED,startSuspendingCommit:()=>lq,supportsHydration:()=>RD,supportsMicrotasks:()=>xD,supportsMutation:()=>_D,supportsPersistence:()=>ID,suspendInstance:()=>cq,trackSchedulerEvent:()=>nq,unhideInstance:()=>UD,unhideTextInstance:()=>zD,waitForCommitToBeReady:()=>fq,warnsIfNotActing:()=>jD});var d8={children:!0,ref:!0,key:!0,style:!0,forwardedRef:!0,unstable_applyCache:!0,unstable_applyDrawHitFromCache:!0},m8=!1,p8=!1,df=".react-konva-event",nD=!1;var sD=`ReactKonva: You have a Konva node with draggable = true and position defined but no onDragMove or onDragEnd events are handled.
68
+ Position of a node will be changed during drag&drop, so you should update state of the react app as well.
69
+ Consider to add onDragMove or onDragEnd events.
70
+ For more info see: https://github.com/konvajs/react-konva/issues/256
71
+ `,iD=`ReactKonva: You are using "zIndex" attribute for a Konva node.
72
+ react-konva may get confused with ordering. Just define correct order of elements in your render function of a component.
73
+ For more info see: https://github.com/konvajs/react-konva/issues/194
74
+ `,rD={},g8=()=>{};function b8(e){g8=e}var Ib=!1;function aD(e){return function(...n){let s=e.apply(this,n);if(!Ib){Ib=!0;try{g8()}finally{Ib=!1}}return s}}function mf(e,n,s=rD){if(!m8&&"zIndex"in n)console.warn(iD),m8=!0;if(!p8&&n.draggable){var i=n.x!==void 0||n.y!==void 0,r=n.onDragEnd||n.onDragMove;if(i&&!r)console.warn(sD),p8=!0}for(var a in s){if(d8[a])continue;var l=a.slice(0,2)==="on",c=s[a]!==n[a];if(l&&c){var f=a.substr(2).toLowerCase();if(f.substr(0,7)==="content")f="content"+f.substr(7,1).toUpperCase()+f.substr(8);e.off(f+df)}var m=!n.hasOwnProperty(a);if(m)e.setAttr(a,void 0)}var g=nD||n._useStrictMode,b={},v=!1;let k={};for(var a in n){if(d8[a])continue;var l=a.slice(0,2)==="on",T=s[a]!==n[a];if(l&&T){var f=a.substr(2).toLowerCase();if(f.substr(0,7)==="content")f="content"+f.substr(7,1).toUpperCase()+f.substr(8);if(n[a])k[f]=n[a]}if(!l&&(n[a]!==s[a]||g&&n[a]!==e.getAttr(a)))v=!0,b[a]=n[a]}if(v)e.setAttrs(b),So(e);for(var f in k)e.off(f+df),e.on(f+df,aD(k[f]))}function So(e){if(!tt.autoDrawEnabled){var n=e.getLayer()||e.getStage();n&&n.batchDraw()}}Yu();var w8={},oD={};uf.Node.prototype._applyProps=mf;var y8=V0;function lD(e,n){if(typeof n==="string"){console.error(`Do not use plain text as child of Konva.Node. You are using text: ${n}`);return}e.add(n),So(e)}function cD(e,n,s){let i=uf[e];if(!i)console.error(`Konva has no node with the type ${e}. Group will be used instead. If you use minimal version of react-konva, just import required nodes into Konva: "import "konva/lib/shapes/${e}" If you want to render DOM elements as part of canvas tree take a look into this demo: https://konvajs.github.io/docs/react/DOM_Portal.html`),i=uf.Group;let r={},a={};for(var l in n){if(l==="ref")continue;var c=l.slice(0,2)==="on";if(c)a[l]=n[l];else r[l]=n[l]}let f=new i(r);return mf(f,a),f}function fD(e,n,s){console.error(`Text components are not supported for now in ReactKonva. Your text is: "${e}"`)}function hD(e,n,s){return!1}function uD(e){return e}function dD(){return null}function mD(){return null}function pD(e,n,s,i){return oD}function gD(){}function bD(e){}function wD(e,n){return!1}function yD(){return w8}function vD(){return w8}var SD=setTimeout,kD=clearTimeout,xD=!0,AD=typeof queueMicrotask==="function"?queueMicrotask:(e)=>Promise.resolve(null).then(e),TD=-1;function ED(e,n){return!1}var CD=!1,jD=!1,_D=!0,ID=!1,RD=!1;function DD(e,n){if(n.parent===e)n.moveToTop();else e.add(n);So(e)}function qD(e,n){if(n.parent===e)n.moveToTop();else e.add(n);So(e)}function v8(e,n,s){n._remove(),e.add(n),n.setZIndex(s.getZIndex()),So(e)}function MD(e,n,s){v8(e,n,s)}function FD(e,n){n.destroy(),n.off(df),So(e)}function LD(e,n){n.destroy(),n.off(df),So(e)}function OD(e,n,s){console.error(`Text components are not yet supported in ReactKonva. You text is: "${s}"`)}function PD(e,n,s){}function ND(e,n,s,i){mf(e,i,s)}function BD(e){e.hide(),So(e)}function HD(e){}function UD(e,n){if(n.visible==null||n.visible)e.show()}function zD(e,n){}function GD(e){}function VD(){}function $D(){return null}function XD(){}function WD(){}function KD(){return V0}function YD(){}function QD(){return null}function JD(e){y8=e}function ZD(){return y8}function eq(){return _b}function tq(){return!1}function nq(){}function sq(){return null}function iq(){return-1.1}function rq(){}function aq(){return!1}function oq(){return!0}function lq(){}function cq(){}function fq(){return null}var hq=null,uq=it(null);function dq(){}S();function S8(e,n,s){if(!e)return;if(s(e)===!0)return e;let i=n?e.return:e.child;for(;i;){let r=S8(i,n,s);if(r)return r;i=n?null:i.sibling}}function k8(e){try{return Object.defineProperties(e,{_currentRenderer:{get(){return null},set(){}},_currentRenderer2:{get(){return null},set(){}}})}catch(n){return e}}var Db=k8(it(null));class $0 extends Ns{render(){return j(Db.Provider,{value:this._reactInternals},this.props.children)}}function mq(){let e=ft(Db);if(e===null)throw Error("its-fine: useFiber must be called within a <FiberProvider />!");let n=ju();return N(()=>{for(let s of[e,e==null?void 0:e.alternate]){if(!s)continue;let i=S8(s,!1,(r)=>{let a=r.memoizedState;for(;a;){if(a.memoizedState===n)return!0;a=a.next}});if(i)return i}},[e,n])}var pq=Symbol.for("react.context"),gq=(e)=>e!==null&&typeof e=="object"&&("$$typeof"in e)&&e.$$typeof===pq;function bq(){let e=mq(),[n]=u(()=>new Map);n.clear();let s=e;for(;s;){let i=s.type;gq(i)&&i!==Db&&!n.has(i)&&n.set(i,Ca(k8(i))),s=s.return}return n}function x8(){let e=bq();return N(()=>Array.from(e.keys()).reduce((n,s)=>(i)=>j(n,null,j(s.Provider,{...i,value:e.get(s)})),(n)=>j($0,{...n})),[e])}if(Ds.indexOf("19")===-1)throw Error("react-konva version 19 is only compatible with React 19. Make sure to have the last version of react-konva and react or downgrade react-konva to version 18.");function wq(e){let n=y({});return $e(()=>{n.current=e}),$e(()=>()=>{n.current={}},[]),n.current}var yq=()=>{let e=y(0);return N(()=>{e.current++},[]),e.current>1},vq=(e)=>{let n=y(null),s=y(null),i=y(null),r=wq(e),a=x8(),l=y(null),c=(g)=>{let{forwardedRef:b}=e;if(!b)return;if(typeof b==="function")b(g);else b.current=g},f=yq(),m=()=>{c(null),nc.flushSyncFromReconciler(()=>{nc.updateContainer(null,i.current,null)}),s.current?.destroy(),s.current=null};return $e(()=>{if(l.current)clearTimeout(l.current),l.current=null;if(s.current)c(s.current);else s.current=new uf.Stage({width:e.width,height:e.height,container:n.current}),c(s.current),i.current=nc.createContainer(s.current,jb,null,!1,null,"",console.error,console.error,console.error,null),nc.updateContainer(j(a,{},e.children),i.current,null,()=>{});return()=>{if(f)l.current=setTimeout(m,0);else m()}},[]),$e(()=>{c(s.current),mf(s.current,e,r),nc.updateContainer(j(a,{},e.children),i.current,null),nc.flushSyncWork()}),j("div",{ref:n,id:e.id,accessKey:e.accessKey,className:e.className,role:e.role,style:e.style,tabIndex:e.tabIndex,title:e.title})},T8="Layer";var qb="Group";var Mb="Rect";var Fb="Line";var E8="Image";var Lb="Arrow";var nc=A8.default(Rb);b8(()=>nc.flushSyncWork());var C8=F((e,n)=>j($0,{},j(vq,{...e,forwardedRef:n})));var I8=H(_8(),1);var Sq=({width:e,height:n,mediaDimensions:s,imageUrl:i,canvasElement:r,annotations:a,scale:l,offset:c,onPan:f,onClick:m,className:g,isDrawing:b=!1,currentTool:v="arrow",currentColor:k="#ef4444",onAddAnnotation:T})=>{let[_]=I8.default(i||"","anonymous"),P=y(null),U=y(!1),z=y({x:0,y:0}),V=y(null),X=y(null),J=y(null),ee=y(null);h(()=>{if(r&&P.current)P.current.getLayer()?.batchDraw()},[r]);let te=(ye,Se=!1,me)=>{let de=ye.getAbsoluteTransform().copy();de.invert();let ce=me||ye.getStage()?.getPointerPosition();if(ce){let Ee=de.point(ce);if(Se)return{x:Math.max(0,Math.min(s.width,Ee.x)),y:Math.max(0,Math.min(s.height,Ee.y))};return Ee}return null},ne=y({isDrawing:b,currentTool:v,currentColor:k,onPan:f,offset:c,scale:l,mediaDimensions:s,onAddAnnotation:T});ne.current={isDrawing:b,currentTool:v,currentColor:k,onPan:f,offset:c,scale:l,mediaDimensions:s,onAddAnnotation:T};let ie=()=>{if(!U.current)return;U.current=!1;let{isDrawing:ye,onAddAnnotation:Se,mediaDimensions:me,currentTool:de,currentColor:ce}=ne.current;if(ye&&Se){let{width:Ee,height:we}=me,qe=(Re,Fe)=>Re/Fe;if(de==="freehand"&&X.current){X.current.visible(!1);let Re=X.current.points(),Fe=[];for(let Be=0;Be<Re.length;Be+=2)Fe.push([qe(Re[Be],Ee),qe(Re[Be+1],we)]);if(Fe.length>1)Se({type:"freehand",color:ce,points:Fe})}else if(de==="line"&&X.current){X.current.visible(!1);let Re=X.current.points(),Fe={type:"line",color:ce,points:[[qe(Re[0],Ee),qe(Re[1],we)],[qe(Re[2],Ee),qe(Re[3],we)]]};Se(Fe)}else if(de==="box"&&J.current){J.current.visible(!1);let Re=J.current.x(),Fe=J.current.y(),Be=J.current.width(),Xe=J.current.height(),st=[qe(Re,Ee),qe(Fe,we)],Ze=[qe(Re+Be,Ee),qe(Fe+Xe,we)];Se({type:"box",color:ce,points:[st,Ze]})}else if(de==="arrow"&&ee.current){ee.current.visible(!1);let Re=ee.current.points(),Fe={type:"arrow",color:ce,points:[[qe(Re[0],Ee),qe(Re[1],we)],[qe(Re[2],Ee),qe(Re[3],we)]]};Se(Fe)}}};h(()=>{let ye=(me)=>{if(!U.current)return;let de=P.current?.getStage();if(!de)return;let Ee=de.container().getBoundingClientRect(),we,qe;if("clientX"in me)we=me.clientX,qe=me.clientY;else we=me.touches[0].clientX,qe=me.touches[0].clientY;let Re={x:we-Ee.left,y:qe-Ee.top};if("touches"in me&&me.touches.length>1){z.current=Re;return}let{isDrawing:Fe,currentTool:Be,onPan:Xe,offset:st}=ne.current;if(Fe){if(Be==="select")return;let Ze=te(P.current,!0,Re);if(!Ze||!V.current)return;let St=V.current,_t=P.current?.getLayer();if(Be==="freehand"&&X.current){let dt=X.current.points().concat([Ze.x,Ze.y]);X.current.points(dt)}else if(Be==="line"&&X.current)X.current.points([St.x,St.y,Ze.x,Ze.y]);else if(Be==="box"&&J.current)J.current.width(Ze.x-St.x),J.current.height(Ze.y-St.y);else if(Be==="arrow"&&ee.current)ee.current.points([St.x,St.y,Ze.x,Ze.y]);_t?.batchDraw()}else{if(!Xe)return;let Ze=Re.x-z.current.x,St=Re.y-z.current.y;z.current=Re,Xe({x:st.x+Ze,y:st.y+St})}},Se=(me)=>{if("touches"in me&&me.touches.length>0)return;ie()};return window.addEventListener("mousemove",ye),window.addEventListener("mouseup",Se),window.addEventListener("touchmove",ye),window.addEventListener("touchend",Se),()=>{window.removeEventListener("mousemove",ye),window.removeEventListener("mouseup",Se),window.removeEventListener("touchmove",ye),window.removeEventListener("touchend",Se)}},[]);let se=(ye)=>{if(b){if(v==="select")return;if(!ye.target.getStage())return;let me=te(P.current);if(!me)return;if(me.x<0||me.x>s.width||me.y<0||me.y>s.height)return;U.current=!0,V.current=me;let de=P.current?.getLayer();if(!de)return;if(v==="freehand"&&X.current)X.current.points([me.x,me.y]),X.current.stroke(k),X.current.visible(!0);else if(v==="line"&&X.current)X.current.points([me.x,me.y,me.x,me.y]),X.current.stroke(k),X.current.visible(!0);else if(v==="box"&&J.current)J.current.position(me),J.current.width(0),J.current.height(0),J.current.stroke(k),J.current.visible(!0);else if(v==="arrow"&&ee.current)ee.current.points([me.x,me.y,me.x,me.y]),ee.current.stroke(k),ee.current.fill(k),ee.current.visible(!0);de.batchDraw()}else{if(!f)return;U.current=!0;let Se=ye.target.getStage();if(Se){let me=Se.getPointerPosition();if(me)z.current=me}}},oe=(ye,Se)=>{let{width:me,height:de}=s;switch(ye.type){case"box":{let[ce,Ee]=ye.points,we=Math.min(ce[0],Ee[0])*me,qe=Math.min(ce[1],Ee[1])*de,Re=Math.abs(Ee[0]-ce[0])*me,Fe=Math.abs(Ee[1]-ce[1])*de;return t(Mb,{x:we,y:qe,width:Re,height:Fe,stroke:ye.color,strokeWidth:2.6/l,listening:!1},Se)}case"arrow":{let ce=ye.points.flat().map((Ee,we)=>we%2===0?Ee*me:Ee*de);return t(Lb,{points:ce,stroke:ye.color,strokeWidth:2.6/l,fill:ye.color,pointerLength:10/l,pointerWidth:10/l,listening:!1},Se)}case"line":case"freehand":{let ce=ye.points.flat().map((Ee,we)=>we%2===0?Ee*me:Ee*de);return t(Fb,{points:ce,stroke:ye.color,strokeWidth:2.6/l,tension:0.5,lineCap:"round",lineJoin:"round",listening:!1},Se)}default:return null}};return t("div",{className:g,style:{width:e,height:n,overflow:"hidden",pointerEvents:!b&&!f?"none":"auto",cursor:b&&v!=="select"?"crosshair":f?U.current?"grabbing":"grab":"default"},children:t(C8,{width:e,height:n,scaleX:l,scaleY:l,x:c.x,y:c.y,onMouseDown:se,onClick:!b?m:void 0,onTap:!b?m:void 0,onTouchStart:se,children:t(T8,{children:o(qb,{ref:P,width:s.width,height:s.height,children:[(r||_)&&t(E8,{image:r||_,width:s.width,height:s.height}),a.map(oe),o(qb,{listening:!1,children:[t(Fb,{ref:X,strokeWidth:2.6/l,lineCap:"round",lineJoin:"round",visible:!1}),t(Mb,{ref:J,strokeWidth:2.6/l,visible:!1}),t(Lb,{ref:ee,points:[],strokeWidth:2.6/l,pointerLength:10/l,pointerWidth:10/l,visible:!1})]})]})})})})},La=Sq;function Sl(e,n,s,i){if(e<=0||n<=0||s<=0||i<=0)return 1;return Math.min(e/s,n/i)}function ko(e,n,s,i,r){return{x:(e-s*r)/2,y:(n-i*r)/2}}function Wh(e,n,s=0.02){return e>n*(1+s)}function kq(e,n=0.01,s=50){return Math.min(s,Math.max(n,e))}function Ao(e,n,s,i,r,a=0.01,l=50){let c=kq(e*s,a,l),f=c/e;return{zoom:c,pan:{x:i-(i-n.x)*f,y:r-(r-n.y)*f}}}function R8(e,n){let s=n===1?e*16:n===2?e*100:e,i=Math.exp(-s*0.01);return Math.min(2,Math.max(0.5,i))}S();function pf({containerRef:e,zoom:n,pan:s,baseScale:i,onZoomChange:r,onPanChange:a}){let l=y({zoom:n,pan:s,baseScale:i,onZoomChange:r,onPanChange:a});l.current={zoom:n,pan:s,baseScale:i,onZoomChange:r,onPanChange:a},h(()=>{let c=e.current;if(!c)return;let f=new Map,m=null,g=(P)=>{let U=l.current;if(P.ctrlKey){P.preventDefault();let z=c.getBoundingClientRect(),V=P.clientX-z.left,X=P.clientY-z.top;U.onZoomChange(Ao(U.zoom,U.pan,R8(P.deltaY,P.deltaMode),V,X));return}if(Wh(U.zoom,U.baseScale))P.preventDefault(),U.onPanChange({x:U.pan.x-P.deltaX,y:U.pan.y-P.deltaY})},b=(P,U)=>Math.hypot(U.x-P.x,U.y-P.y),v=(P,U,z)=>({x:(P.x+U.x)/2-z.left,y:(P.y+U.y)/2-z.top}),k=(P)=>{for(let U of Array.from(P.touches))f.set(U.identifier,{x:U.clientX,y:U.clientY});if(f.size===2){P.preventDefault();let U=c.getBoundingClientRect(),[z,V]=Array.from(f.values());m={lastDist:b(z,V),lastMid:v(z,V,U)}}},T=(P)=>{for(let se of Array.from(P.touches))f.set(se.identifier,{x:se.clientX,y:se.clientY});if(!m||f.size<2)return;P.preventDefault();let U=c.getBoundingClientRect(),[z,V]=Array.from(f.values()),X=v(z,V,U),J=b(z,V),ee=l.current,te=m.lastDist>0?J/m.lastDist:1,ne=Ao(ee.zoom,ee.pan,te,X.x,X.y),ie=ne.pan;if(Wh(ne.zoom,ee.baseScale))ie={x:ie.x+(X.x-m.lastMid.x),y:ie.y+(X.y-m.lastMid.y)};ee.onZoomChange({zoom:ne.zoom,pan:ie}),m.lastDist=J,m.lastMid=X},_=(P)=>{for(let U of Array.from(P.changedTouches))f.delete(U.identifier);if(f.size<2)m=null};return c.addEventListener("wheel",g,{passive:!1}),c.addEventListener("touchstart",k,{passive:!1}),c.addEventListener("touchmove",T,{passive:!1}),c.addEventListener("touchend",_,{passive:!1}),c.addEventListener("touchcancel",_,{passive:!1}),()=>{c.removeEventListener("wheel",g),c.removeEventListener("touchstart",k),c.removeEventListener("touchmove",T),c.removeEventListener("touchend",_),c.removeEventListener("touchcancel",_)}},[e])}var xq=F(({file:e,onPlay:n,onPause:s,onTimeUpdate:i,annotations:r,startTime:a,shareId:l,children:c,allowDownload:f,autoPlay:m},g)=>{let b=y(null),v=y(null),[k,T]=u(void 0),[_,P]=u(!0),U=Boolean(e.media?.isHls&&e.media.hls?.url),V=(U?e.media?.hls?.resolutions??[]:e.media?.videoTranscodes??[]).map((Ue)=>({...Ue,resolution:bs(Ue)})),X=(U||V.length>0)&&!!e.media?.metadata,J=()=>{if(V.length===0)return null;if(typeof window>"u")return V[0];let Ue=typeof window.matchMedia==="function"&&window.matchMedia("(dynamic-range: high)").matches,ot=V.some((Fn)=>Fn.hdr),Et=V.some((Fn)=>!Fn.hdr),Yt=V;if(Ue&&ot)Yt=V.filter((Fn)=>Fn.hdr);else if(!Ue&&Et)Yt=V.filter((Fn)=>!Fn.hdr);let Tn=window.innerWidth*(window.devicePixelRatio||1),fn=[...Yt].sort((Fn,Bn)=>{let Xn=Fn.width??0,Ps=Bn.width??0;return Xn-Ps});return fn.find((Fn)=>(Fn.width??0)>=Tn)||fn[fn.length-1]},ee=U?null:J(),[te,ne]=u({isPlaying:!1,progress:0,currentTime:0,duration:e.media?.metadata?.duration||0,volume:1,isMuted:!1,isLooping:!1,playbackRate:1,isFullScreen:!1,showFrames:!1,currentResolution:U?"Auto":ee?.resolution??"",currentSrc:U?e.media.hls.url:ee?.url??"",isCurrentHdr:ee?.hdr??!1}),[ie,se]=u(!1),oe=y(null),ye=y(null),Se=y(null),me=y(null);gn(g,()=>({play:()=>{if(me.current)me.current(),me.current=null;v.current?.play().catch(()=>{})},pause:()=>{v.current?.pause()},seekTo:(Ue)=>{if(me.current)me.current(),me.current=null;if(se(!0),v.current)v.current.currentTime=Ue},getCurrentTime:()=>(v.current?v.current.currentTime:0)??0,getDuration:()=>(v.current?v.current.duration:0)??0}));let de=y(!1),[ce,Ee]=u(1),[we,qe]=u({x:0,y:0}),[Re,Fe]=u(!1),[Be,Xe]=u({width:0,height:0});h(()=>{let Ue=U?null:J();if(ne((ot)=>({...ot,isPlaying:!1,progress:0,currentTime:0,duration:e.media?.metadata?.duration||0,currentResolution:U?"Auto":Ue?.resolution??"",currentSrc:U?e.media?.hls?.url??"":Ue?.url??"",isCurrentHdr:Ue?.hdr??!1})),T(void 0),Fe(!1),Pn.current)clearTimeout(Pn.current),Pn.current=null;sn(!1),Kt(!0),nt(0),hs.current=null,se(!1)},[e.id,Boolean(U?e.media?.hls?.url:ee?.url)]);let st=e.media?.metadata?.originalWidth||1920,Ze=e.media?.metadata?.originalHeight||1080,St=Sl(Be.width,Be.height,st,Ze),_t=(Ue)=>{Fe(!0);let ot=Ao(ce,we,Ue/ce,Be.width/2,Be.height/2);Ee(ot.zoom),qe(ot.pan)},dt=()=>{if(Fe(!1),Be.width>0&&Be.height>0){let Ue=Sl(Be.width,Be.height,st,Ze);Ee(Ue),qe(ko(Be.width,Be.height,st,Ze,Ue))}},{isDrawing:Ot,currentTool:ln,currentColor:kn,addAnnotation:an,annotations:on}=Yr(),fs=[...r||[],...on];h(()=>{if(!oe.current)return;let Ue=new ResizeObserver((ot)=>{let Et=ot[0];if(Et)Xe({width:Et.contentRect.width,height:Et.contentRect.height})});return Ue.observe(oe.current),()=>Ue.disconnect()},[]),h(()=>{if(Be.width<=0||Be.height<=0)return;if(Re)return;let Ue=Sl(Be.width,Be.height,st,Ze);Ee(Ue),qe(ko(Be.width,Be.height,st,Ze,Ue))},[Be.width,Be.height,st,Ze,Re]),pf({containerRef:oe,zoom:ce,pan:we,baseScale:St,onZoomChange:(Ue)=>{Fe(!0),Ee(Ue.zoom),qe(Ue.pan)},onPanChange:qe}),h(()=>()=>{v.current=null},[]);let[We,nt]=u(0),[yt,pt]=u(!0),[zt,sn]=u(!1),[un,Kt]=u(!0),Pn=y(null),hs=y(null),Gn=e.media?.metadata,qt=Gn?.frameRate||30,ei=Gn?.totalFrames||0,An=Gn?.duration||0,os=e.proxyType==="audio",us=yu({dbTotalFrames:ei,containerDuration:An,frameRate:qt}),{currentFrame:Gs,seekToFrame:Sr}=k0(v,qt,us,os),Xa=D((Ue)=>{if(me.current)me.current(),me.current=null;return se(!0),Sr(Ue)},[Sr]),Ji=Gs/qt,Zi=us/qt,_o=Zi>0?Ji/Zi*100:0,El={...te,currentTime:Ji,duration:Zi,progress:_o,activeAutoResolution:k,isHlsManualSupported:_,isLoading:un};h(()=>{if(i)i(Gs/qt)},[Gs,qt,i]);let tr=U?e.media?.hls?.url??"":J()?.url??"";h(()=>{let Ue=v.current;if(!Ue)return;if(!tr)return;if(b.current)b.current.destroy(),b.current=null;if(Pn.current)clearTimeout(Pn.current),Pn.current=null;sn(!1),Kt(!0),T(void 0);let ot=()=>{let Bs=Ue.play();if(Bs!==void 0)Bs.catch(()=>{Ue.muted=!0,ne((_i)=>({..._i,isMuted:!0})),Ue.play()?.catch(()=>{})})},Et=null;if(U){if(Yn.isSupported())P(!0),Et=new Yn({autoStartLoad:!0,startLevel:-1,capLevelToPlayerSize:!1,enableWorker:!0}),b.current=Et,Et.attachMedia(Ue),Et.loadSource(tr),Et.on(Yn.Events.MANIFEST_PARSED,()=>{if(m)if(Ue.readyState>=2)ot();else Ue.addEventListener("canplay",ot,{once:!0})}),Et.on(Yn.Events.LEVEL_SWITCHED,(Bs,_i)=>{let Ss=Et?.levels[_i.level];if(Ss){let mc=V.find((qo)=>qo.width===Ss.width&&qo.height===Ss.height);if(mc?.resolution)T(mc.resolution);else{let qo=Ss.width&&Ss.height?Math.min(Ss.width,Ss.height):Ss.height||Ss.width;T(qo?`${qo}p`:void 0)}}}),Et.on(Yn.Events.ERROR,(Bs,_i)=>{if(_i.fatal)switch(_i.type){case Yn.ErrorTypes.NETWORK_ERROR:Et?.startLoad();break;case Yn.ErrorTypes.MEDIA_ERROR:Et?.recoverMediaError();break;default:Et?.destroy();break}});else if(Ue.canPlayType("application/vnd.apple.mpegurl")){if(P(!1),Ue.src=tr,m)if(Ue.readyState>=2)ot();else Ue.addEventListener("canplay",ot,{once:!0})}}else if(Ue.src=tr,m)if(Ue.readyState>=2)ot();else Ue.addEventListener("canplay",ot,{once:!0});let Yt=()=>{if(Pn.current)clearTimeout(Pn.current),Pn.current=null},Tn=()=>{if(Yt(),Kt(!1),sn(!0),me.current)me.current(),me.current=null;ne((Bs)=>({...Bs,isPlaying:!0})),se(!0),n?.()},fn=()=>{ne((Bs)=>({...Bs,isPlaying:!1})),s?.()},ys=()=>{Yt(),Kt(!1),ne((Bs)=>({...Bs,isPlaying:!1}))},Fn=()=>{Yt(),Kt(!1),sn(!0)},Bn=()=>{Yt(),Kt(!1),sn(!0)},Xn=()=>{Yt(),Kt(!1)},Ps=()=>{Yt(),Pn.current=setTimeout(()=>{Kt(!0)},200)},Zn=()=>{Yt(),Kt(!0),sn(!1)},ji=()=>{let Bs=Ue.duration||e.media?.metadata?.duration||0;if(Bs>0&&Ue.buffered.length>0){let _i=0;for(let Ss=0;Ss<Ue.buffered.length;Ss++)if(Ue.buffered.start(Ss)<=Ue.currentTime&&Ue.currentTime<=Ue.buffered.end(Ss)){_i=Ue.buffered.end(Ss);break}if(_i===0)_i=Ue.buffered.end(Ue.buffered.length-1);nt(_i/Bs*100)}},Vr=()=>{ne((Bs)=>({...Bs,volume:Ue.volume,isMuted:Ue.muted}))},Tf=()=>{ne((Bs)=>({...Bs,playbackRate:Ue.playbackRate}))},Ef=()=>{Yt(),Kt(!1),console.error("Video Error:",Ue.error)};if(Ue.readyState>=2)Kt(!1),sn(!0);return Ue.addEventListener("play",Tn),Ue.addEventListener("pause",fn),Ue.addEventListener("ended",ys),Ue.addEventListener("loadeddata",Fn),Ue.addEventListener("canplay",Bn),Ue.addEventListener("playing",Xn),Ue.addEventListener("waiting",Ps),Ue.addEventListener("loadstart",Zn),Ue.addEventListener("timeupdate",ji),Ue.addEventListener("progress",ji),Ue.addEventListener("volumechange",Vr),Ue.addEventListener("ratechange",Tf),Ue.addEventListener("error",Ef),Ue.volume=te.volume,()=>{if(Yt(),Ue.removeEventListener("play",Tn),Ue.removeEventListener("pause",fn),Ue.removeEventListener("ended",ys),Ue.removeEventListener("loadeddata",Fn),Ue.removeEventListener("canplay",Bn),Ue.removeEventListener("playing",Xn),Ue.removeEventListener("waiting",Ps),Ue.removeEventListener("loadstart",Zn),Ue.removeEventListener("timeupdate",ji),Ue.removeEventListener("progress",ji),Ue.removeEventListener("volumechange",Vr),Ue.removeEventListener("ratechange",Tf),Ue.removeEventListener("error",Ef),b.current)b.current.destroy(),b.current=null}},[e.id,tr,U,m]),h(()=>{if(!zt)return;if(a!==void 0&&a!==null&&a>0){if(a!==hs.current){hs.current=a;let Ue=Math.floor(a*qt+0.45);se(!0),Sr(Ue)}}},[a,qt,Sr,zt]);let Wa=D(()=>{if(Se.current)clearTimeout(Se.current);if(te.isFullScreen&&!de.current)Se.current=setTimeout(()=>{pt(!1)},1200)},[te.isFullScreen]),ua=D(()=>{pt(!0),Wa()},[Wa]),Ka=D(()=>{if(de.current=!0,Se.current)clearTimeout(Se.current);pt(!0)},[]),ma=D(()=>{de.current=!1,Wa()},[Wa]),Io=D(()=>{if(te.isFullScreen){if(Se.current)clearTimeout(Se.current);pt(!1)}},[te.isFullScreen]);h(()=>()=>{if(Se.current)clearTimeout(Se.current)},[]),h(()=>{if(!te.isFullScreen){if(pt(!0),Se.current)clearTimeout(Se.current)}else ua()},[te.isPlaying,te.isFullScreen,ua]);let pa=D(()=>{if(un)return;if(Yr.getState().isDrawing)return;if(me.current)me.current(),me.current=null;let Ue=v.current;if(!Ue)return;if(Ue.paused||Ue.ended){let ot=Ue.play();if(ot!==void 0)ot.catch((Et)=>{if(Et.name==="AbortError")return;console.error("Play failed:",Et)})}else Ue.pause()},[un]);h(()=>{let Ue=(ot)=>{let Et=document.activeElement;if(Et&&(Et.tagName==="INPUT"||Et.tagName==="TEXTAREA"||Et instanceof HTMLElement&&Et.isContentEditable))return;let Yt=ot.key===" ",Tn=Et&&(Et.tagName==="BUTTON"||Et.tagName==="A"||Et.tagName==="SELECT"||Et.tagName==="OPTION"||Et.getAttribute("role")==="button"||Et.getAttribute("role")==="link"||Et.getAttribute("role")==="checkbox"||Et.getAttribute("role")==="radio"||Et.getAttribute("role")==="menuitem");if(Yt&&Tn)return;if(ot.key===" "||ot.key.toLowerCase()==="k")ot.preventDefault(),pa()};return window.addEventListener("keydown",Ue),()=>{window.removeEventListener("keydown",Ue)}},[pa]);let Ro=()=>{let Ue=v.current;if(!Ue)return;let ot=!te.isLooping;Ue.loop=ot,ne((Et)=>({...Et,isLooping:ot}))},nr=(Ue)=>{ne((Et)=>({...Et,volume:Ue,isMuted:Ue===0}));let ot=v.current;if(!ot)return;if(ot.volume=Ue,Ue>0&&ot.muted)ot.muted=!1;else if(Ue===0&&!ot.muted)ot.muted=!0},Do=()=>{let Ue=v.current;if(!Ue)return;if(Ue.muted){if(Ue.muted=!1,Ue.volume===0)Ue.volume=0.5}else Ue.muted=!0},Je=(Ue)=>{let ot=v.current;if(!ot)return;ot.playbackRate=Ue,ne((Et)=>({...Et,playbackRate:Ue}))},cn=(Ue)=>{let ot=v.current;if(!ot)return;if(me.current)me.current(),me.current=null;if(U&&b.current){let fn=b.current,ys=ot.paused,Fn=Gs;if(Ue.resolution==="Auto"){if(te.currentResolution==="Auto"&&fn.currentLevel===-1)return;fn.currentLevel=-1,ne((Bn)=>({...Bn,currentResolution:"Auto"}))}else{let Bn=fn.levels.findIndex((Xn)=>Xn.height===Ue.height||Math.max(Xn.width,Xn.height)===Math.max(Ue.width,Ue.height));if(Bn!==-1){if(Bn===fn.currentLevel&&te.currentResolution===Ue.resolution)return;fn.currentLevel=Bn,ne((Xn)=>({...Xn,currentResolution:Ue.resolution,isCurrentHdr:Ue.hdr??!1}))}}if(ys){let Bn=null,Xn=()=>{if(Bn)clearTimeout(Bn),Bn=null;if(ot.removeEventListener("seeked",Ps),fn.off?.(Yn.Events.ERROR,Xn),me.current===Xn)me.current=null},Ps=()=>{Xn();let Zn=Di(Fn,qt),ji=1/qt;if(Math.abs(ot.currentTime-Zn)>ji/4)ot.currentTime=Zn};Bn=setTimeout(Xn,1500),me.current=Xn,ot.addEventListener("seeked",Ps),fn.once?.(Yn.Events.ERROR,Xn)}return}let Et=!ot.paused,Yt=ot.currentTime;ne((fn)=>({...fn,currentResolution:Ue.resolution,currentSrc:Ue.url,isCurrentHdr:Ue.hdr??!1})),ot.src=Ue.url||"";let Tn=()=>{if(ot.removeEventListener("loadedmetadata",Tn),ot.currentTime=Yt,Et){let fn=ot.play();if(fn!==void 0)fn.catch((ys)=>{if(ys.name!=="AbortError")console.error("Play after seek failed:",ys)})}ot.playbackRate=te.playbackRate};ot.addEventListener("loadedmetadata",Tn)},Xt=()=>{let Ue=ye.current,ot=v.current;if(Ue&&typeof Ue.requestFullscreen==="function"){if(!document.fullscreenElement)Ue.requestFullscreen().catch(()=>{}),ne((Yt)=>({...Yt,isFullScreen:!0}));else if(document.exitFullscreen)document.exitFullscreen().catch(()=>{}),ne((Yt)=>({...Yt,isFullScreen:!1}));return}let Et=ot;if(Et&&typeof Et.webkitEnterFullscreen==="function"){if(!Et.webkitDisplayingFullscreen)try{Et.webkitEnterFullscreen()}catch(Yt){console.error("Failed to enter iOS fullscreen:",Yt)}else if(typeof Et.webkitExitFullscreen==="function")try{Et.webkitExitFullscreen()}catch(Yt){console.error("Failed to exit iOS fullscreen:",Yt)}return}ne((Yt)=>({...Yt,isFullScreen:!Yt.isFullScreen}))},ls=async(Ue)=>{try{let ot=l?await A.api.shares[":shareId"].files[":fileId"]["download-url"].$post({param:{shareId:l,fileId:e.id},json:{key:Ue}}):await A.api.files["download-url"].$post({json:{key:Ue,assetId:e.id}});if(!ot.ok)return;let{url:Et}=await ot.json(),Yt=document.createElement("a");Yt.href=Et,Yt.download="",document.body.appendChild(Yt),Yt.click(),document.body.removeChild(Yt)}catch{}};h(()=>{let Ue=()=>{ne((Tn)=>({...Tn,isFullScreen:!!document.fullscreenElement}))};document.addEventListener("fullscreenchange",Ue);let ot=v.current,Et=()=>{ne((Tn)=>({...Tn,isFullScreen:!0}))},Yt=()=>{ne((Tn)=>({...Tn,isFullScreen:!1}))};if(ot)ot.addEventListener("webkitbeginfullscreen",Et),ot.addEventListener("webkitendfullscreen",Yt);return()=>{if(document.removeEventListener("fullscreenchange",Ue),ot)ot.removeEventListener("webkitbeginfullscreen",Et),ot.removeEventListener("webkitendfullscreen",Yt)}},[]);let ti=ce,Gr=Lo();if(!X){if(e.status==="failed"){let Ue=e.media?.error;return o("div",{"data-testid":"video-viewer-failed-state",className:"flex h-full w-full flex-col items-center justify-center gap-3 p-6 text-center",children:[t(fr,{className:"h-12 w-12 text-destructive/80"}),o("div",{className:"space-y-1 max-w-md",children:[t("h3",{className:"text-base font-semibold text-foreground",children:Jh()}),t("p",{className:"text-sm text-muted-foreground",children:Xh()}),Ue&&t("div",{title:Ue,className:"mt-3 rounded-lg border border-destructive/20 bg-destructive/10 p-3 text-xs text-destructive text-left line-clamp-3 break-words",children:Ue})]})]})}return t("div",{className:"flex h-full w-full items-center justify-center",children:t("p",{className:"text-muted-foreground",children:fx()})})}return o("div",{ref:ye,className:C("group shadow-2xl font-sans select-none flex flex-col mx-auto relative",te.isFullScreen?"h-full w-full rounded-none bg-black":"w-full h-full",!yt&&te.isFullScreen?"cursor-none":""),onMouseMove:ua,onMouseLeave:Io,children:[o("div",{className:"flex-1 flex flex-col-reverse md:flex-row min-h-0 relative",children:[!te.isFullScreen&&c,o("div",{ref:oe,className:C("flex-1 bg-black cursor-pointer relative flex items-center justify-center overflow-hidden min-h-0 touch-none"),onClick:pa,"data-testid":"video-area",children:[!os&&t("div",{className:"absolute pointer-events-none",style:{left:0,top:0,width:st,height:Ze,transform:`translate(${we.x}px, ${we.y}px) scale(${ti})`,transformOrigin:"0 0"},children:t("video",{ref:v,className:"w-full h-full block object-contain pointer-events-none",playsInline:!0,preload:"auto",poster:e.preview?.thumbnailUrl||void 0})}),os&&t("video",{ref:v,className:"absolute inset-0 pointer-events-none opacity-0",playsInline:!0,preload:"auto"}),os?t("div",{className:"flex flex-col items-center justify-center text-muted-foreground w-full h-full pointer-events-none select-none",children:t(es,{className:C("w-16 h-16 text-foreground/75 transition-transform duration-500",te.isPlaying?"animate-pulse scale-110 text-primary":"")})}):Be.width>0&&t(La,{width:Be.width,height:Be.height,mediaDimensions:{width:st,height:Ze},annotations:fs,scale:ti,offset:we,className:"absolute inset-0",isDrawing:Ot,currentTool:ln,currentColor:kn,onAddAnnotation:an}),un&&t("div",{className:"absolute inset-0 flex items-center justify-center bg-black/20 pointer-events-none z-10 transition-opacity duration-200","data-testid":"video-loading-spinner",children:t("div",{className:"w-16 h-16 bg-white/10 backdrop-blur-sm rounded-full flex items-center justify-center border-2 border-white/30",children:t(O,{className:"w-8 h-8 text-white animate-spin"})})}),!un&&!ie&&!Ot&&t("div",{className:"absolute inset-0 flex items-center justify-center bg-black/20 pointer-events-none z-10 transition-opacity duration-200","data-testid":"video-play-overlay",children:t("div",{className:"w-20 h-20 bg-white/10 backdrop-blur-sm rounded-full flex items-center justify-center border-2 border-white/30",children:t(el,{className:"w-10 h-10 text-white ml-1 fill-white"})})})]})]}),Gr?t(Fv,{state:El,zoom:ce,isControlsVisible:yt,buffered:We,data:e,resolutions:V,togglePlay:pa,toggleLoop:Ro,toggleMute:Do,handleVolumeChange:nr,changePlaybackRate:Je,changeResolution:cn,handleDownload:ls,toggleFullScreen:Xt,onZoomChange:_t,onZoomReset:dt,frameRate:qt,totalFrames:us,currentFrame:Gs,seekToFrame:Xa,onMouseEnter:Ka,onMouseLeave:ma,allowDownload:f,isLoading:un}):t(mu,{state:El,zoom:ce,isControlsVisible:yt,buffered:We,data:e,resolutions:V,togglePlay:pa,toggleLoop:Ro,toggleMute:Do,handleVolumeChange:nr,changePlaybackRate:Je,changeResolution:cn,handleDownload:ls,toggleFullScreen:Xt,onZoomChange:_t,onZoomReset:dt,frameRate:qt,totalFrames:us,currentFrame:Gs,seekToFrame:Xa,onMouseEnter:Ka,onMouseLeave:ma,allowDownload:f,isLoading:un})]})}),D8=xq;S();function Aq(e){return(Boolean(e.media?.isHls&&e.media.hls?.url)?e.media?.hls?.resolutions??[]:e.media?.videoTranscodes??[]).map((i)=>({...i,resolution:bs(i)}))}function q8(e){if(e.length===0)return null;if(typeof window>"u")return e[0];let n=typeof window.matchMedia==="function"&&window.matchMedia("(dynamic-range: high)").matches,s=e.some((f)=>f.hdr),i=e.some((f)=>!f.hdr),r=e;if(n&&s)r=e.filter((f)=>f.hdr);else if(!n&&i)r=e.filter((f)=>!f.hdr);let a=window.innerWidth*(window.devicePixelRatio||1),l=[...r].sort((f,m)=>(f.width??0)-(m.width??0));return l.find((f)=>(f.width??0)>=a)||l[l.length-1]}var M8=F(function({file:n,shareId:s,isActive:i,muted:r=!0,volume:a=1,annotations:l,onStateChange:c,onActivate:f,onRequestTogglePlay:m,onTimeUpdate:g,onPlay:b},v){let k=y(null),T=y(null),_=y(null),{isDrawing:P,currentTool:U,currentColor:z,addAnnotation:V,annotations:X}=Yr(),[J,ee]=u({width:0,height:0}),[te,ne]=u(1),[ie,se]=u(!1),[oe,ye]=u(null),[Se,me]=u(!1),[de,ce]=u(!1),[Ee,we]=u(!1),[qe,Re]=u(1),[Fe,Be]=u(0),[Xe,st]=u(a),[Ze,St]=u(r),[_t,dt]=u(!1),[Ot,ln]=u(!0),kn=y(null),an=n.media?.metadata,on=an?.frameRate||30,fs=an?.totalFrames||0,We=an?.duration||0,nt=yu({dbTotalFrames:fs,containerDuration:We,frameRate:on}),yt=Boolean(n.media?.isHls&&n.media.hls?.url),pt=Aq(n),zt=yt?null:q8(pt),[sn,un]=u(yt?"Auto":zt?.resolution??""),[Kt,Pn]=u(zt?.hdr),[hs,Gn]=u(void 0),qt=y(null),ei=!yt||Boolean(Yn.isSupported()),An=y(yt?n.media.hls.url:zt?.url),os=n.proxyType==="audio",{currentFrame:us,seekToFrame:Gs}=k0(_,on,nt,os),Sr=y(te);Sr.current=te;let Xa=y(us);Xa.current=us,h(()=>{if(!T.current)return;let Je=new ResizeObserver((cn)=>{let Xt=cn[0];if(Xt)ee({width:Xt.contentRect.width,height:Xt.contentRect.height})});return Je.observe(T.current),()=>Je.disconnect()},[]);let Ji=an?.originalWidth||1920,Zi=an?.originalHeight||1080;h(()=>{if(J.width>0&&J.height>0&&!ie){let Je=Math.min(J.width/Ji,J.height/Zi);ne(Je)}},[J.width,J.height,Ji,Zi,ie]),h(()=>{let Je=yt?null:q8(pt);if(un(yt?"Auto":Je?.resolution??""),Pn(Je?.hdr),Gn(void 0),An.current=yt?n.media.hls.url:Je?.url,kn.current)clearTimeout(kn.current),kn.current=null;ln(!0),dt(!1),ce(!1)},[n.id,Boolean(yt?n.media?.hls?.url:zt?.url)]),h(()=>{let Je=_.current;if(!Je)return;let cn=yt?n.media.hls.url:An.current??"";if(!cn)return;if(k.current)k.current.destroy(),k.current=null;if(kn.current)clearTimeout(kn.current),kn.current=null;dt(!1),ln(!0);let Xt=null;if(yt){if(Yn.isSupported())Xt=new Yn({autoStartLoad:!0,startLevel:-1,capLevelToPlayerSize:!1,enableWorker:!0}),k.current=Xt,Xt.attachMedia(Je),Xt.loadSource(cn),Xt.on(Yn.Events.LEVEL_SWITCHED,(Xn,Ps)=>{let Zn=Xt?.levels[Ps.level];if(Zn){let ji=pt.find((Vr)=>Vr.width===Zn.width&&Vr.height===Zn.height);if(ji?.resolution)Gn(ji.resolution);else{let Vr=Zn.width&&Zn.height?Math.min(Zn.width,Zn.height):Zn.height||Zn.width;Gn(Vr?`${Vr}p`:void 0)}}}),Xt.on(Yn.Events.ERROR,(Xn,Ps)=>{if(Ps.fatal)switch(Ps.type){case Yn.ErrorTypes.NETWORK_ERROR:Xt?.startLoad();break;case Yn.ErrorTypes.MEDIA_ERROR:Xt?.recoverMediaError();break;default:Xt?.destroy();break}});else if(Je.canPlayType("application/vnd.apple.mpegurl"))Je.src=cn}else Je.src=cn;let ls=()=>{if(kn.current)clearTimeout(kn.current),kn.current=null},ti=()=>{if(ls(),ln(!1),dt(!0),qt.current)qt.current(),qt.current=null;me(!0),ce(!0),b?.()},Gr=()=>me(!1),Ue=()=>{ls(),ln(!1),me(!1)},ot=()=>{ls(),ln(!1),dt(!0)},Et=()=>{ls(),ln(!1),dt(!0)},Yt=()=>{ls(),ln(!1)},Tn=()=>{ls(),kn.current=setTimeout(()=>{ln(!0)},200)},fn=()=>{ls(),ln(!0),dt(!1)},ys=()=>{let Xn=Je.duration||We||0;if(Xn>0&&Je.buffered.length>0){let Ps=0;for(let Zn=0;Zn<Je.buffered.length;Zn++)if(Je.buffered.start(Zn)<=Je.currentTime&&Je.currentTime<=Je.buffered.end(Zn)){Ps=Je.buffered.end(Zn);break}if(Ps===0)Ps=Je.buffered.end(Je.buffered.length-1);Be(Ps/Xn*100)}},Fn=()=>{st(Je.volume||0),St(Je.muted||!1)},Bn=()=>Re(Je.playbackRate||1);if(Je.readyState>=2)ln(!1),dt(!0);return Je.addEventListener("play",ti),Je.addEventListener("pause",Gr),Je.addEventListener("ended",Ue),Je.addEventListener("loadeddata",ot),Je.addEventListener("canplay",Et),Je.addEventListener("playing",Yt),Je.addEventListener("waiting",Tn),Je.addEventListener("loadstart",fn),Je.addEventListener("timeupdate",ys),Je.addEventListener("progress",ys),Je.addEventListener("volumechange",Fn),Je.addEventListener("ratechange",Bn),()=>{if(ls(),Je.removeEventListener("play",ti),Je.removeEventListener("pause",Gr),Je.removeEventListener("ended",Ue),Je.removeEventListener("loadeddata",ot),Je.removeEventListener("canplay",Et),Je.removeEventListener("playing",Yt),Je.removeEventListener("waiting",Tn),Je.removeEventListener("loadstart",fn),Je.removeEventListener("timeupdate",ys),Je.removeEventListener("progress",ys),Je.removeEventListener("volumechange",Fn),Je.removeEventListener("ratechange",Bn),qt.current)qt.current(),qt.current=null;if(k.current)k.current.destroy(),k.current=null}},[n.id]),h(()=>{let Je=_.current;if(!Je||!_t)return;Je.muted=r,Je.volume=a},[r,a,_t]),h(()=>{c({kind:"video",zoom:te,video:{frameRate:on,totalFrames:nt,currentFrame:us,isPlaying:Se,volume:Xe,isMuted:Ze,playbackRate:qe,isLooping:Ee,currentResolution:sn,isCurrentHdr:Kt,resolutions:pt,buffered:Fe,activeAutoResolution:hs,isHlsManualSupported:ei,isLoading:Ot}})},[te,on,nt,us,Se,Xe,Ze,qe,Ee,sn,Kt,Fe,hs,ei,Ot]),h(()=>{if(i)g?.(us/on)},[us,on,i,g]);let _o=D((Je)=>{let Xt=Sr.current*Je;if(Xt<0.01||Xt>50)return;ne(Xt),se(!0)},[]),El=D(()=>{se(!1),ye(null)},[]),tr=D((Je)=>d5(Je,nt),[nt]),Wa=D(async(Je)=>{let cn=Je??n.media?.original?.key;if(!cn||!n.id)return;try{let Xt=s?await A.api.shares[":shareId"].files[":fileId"]["download-url"].$post({param:{shareId:s,fileId:n.id},json:{key:cn}}):await A.api.files["download-url"].$post({json:{key:cn,assetId:n.id}});if(!Xt.ok)return;let{url:ls}=await Xt.json(),ti=document.createElement("a");ti.href=ls,ti.download="",document.body.appendChild(ti),ti.click(),document.body.removeChild(ti)}catch{}},[n.id,n.media?.original?.key,s]),ua=D((Je,cn)=>{let Xt=_.current;if(!Xt)return;if(qt.current)qt.current(),qt.current=null;if(yt){if(!k.current)return;let ot=k.current,Et=Xt.paused,Yt=Xa.current;if(Je==="Auto"){if(sn==="Auto"&&ot.currentLevel===-1)return;ot.currentLevel=-1,un("Auto")}else{let Tn=pt.find((fn)=>fn.resolution===Je);if(Tn){let fn=ot.levels.findIndex((ys)=>ys.height===Tn.height||Math.max(ys.width,ys.height)===Math.max(Tn.width,Tn.height));if(fn!==-1){if(fn===ot.currentLevel&&sn===Je)return;ot.currentLevel=fn,un(Je),Pn(Tn.hdr)}}}if(Et){let Tn=null,fn=()=>{if(Tn)clearTimeout(Tn),Tn=null;if(Xt.removeEventListener("seeked",ys),ot.off?.(Yn.Events.ERROR,fn),qt.current===fn)qt.current=null},ys=()=>{fn();let Fn=Di(Yt,on),Bn=1/on;if(Math.abs(Xt.currentTime-Fn)>Bn/4)Xt.currentTime=Fn};Tn=setTimeout(fn,1500),qt.current=fn,Xt.addEventListener("seeked",ys),ot.once?.(Yn.Events.ERROR,fn)}return}let ls=cn!==void 0?pt.find((ot)=>ot.resolution===Je&&Boolean(ot.hdr)===Boolean(cn)):pt.find((ot)=>ot.resolution===Je);if(!ls)return;let ti=!Xt.paused,Gr=Xt.currentTime;un(Je),Pn(ls.hdr),An.current=ls.url,Xt.src=ls.url||"";let Ue=()=>{if(Xt.removeEventListener("loadedmetadata",Ue),Xt.currentTime=Gr,ti){let ot=Xt.play();if(ot!==void 0)ot.catch(()=>{})}Xt.playbackRate=qe};Xt.addEventListener("loadedmetadata",Ue)},[pt,yt,on,qe,sn]);gn(v,()=>({getKind:()=>"video",play:()=>{if(qt.current)qt.current(),qt.current=null;let Je=_.current?.play();if(Je!==void 0)Je.catch(()=>{})},pause:()=>_.current?.pause(),togglePlay:()=>{let Je=_.current;if(!Je)return;if(qt.current)qt.current(),qt.current=null;if(Je.paused||Je.ended){let cn=Je.play();if(cn!==void 0)cn.catch(()=>{})}else Je.pause()},seekToFrame:(Je)=>{if(qt.current)qt.current(),qt.current=null;return ce(!0),Gs(tr(Je))},seekToSecond:(Je)=>{if(qt.current)qt.current(),qt.current=null;ce(!0);let cn=Math.floor(Je*on+0.45);Gs(tr(cn))},stepFrame:(Je)=>{if(qt.current)qt.current(),qt.current=null;return ce(!0),Gs(tr(Xa.current+Je))},setMuted:(Je)=>{if(_.current)_.current.muted=Je},setVolume:(Je)=>{let cn=_.current;if(!cn)return;if(cn.volume=Je,Je>0&&cn.muted)cn.muted=!1;else if(Je===0&&!cn.muted)cn.muted=!0},setPlaybackRate:(Je)=>{if(_.current)_.current.playbackRate=Je},toggleLoop:()=>{let Je=_.current;if(!Je)return;let cn=!Je.loop;Je.loop=cn,we(cn)},changeResolution:ua,zoomBy:_o,fit:El,panBy:(Je,cn)=>ye((Xt)=>{let ls=Sr.current,ti=Xt??{x:(J.width-Ji*ls)/2,y:(J.height-Zi*ls)/2};return{x:ti.x+Je,y:ti.y+cn}}),download:(Je)=>Wa(Je)}),[Gs,tr,on,_o,El,ua,Wa,J.width,J.height,Ji,Zi]);let Ka=[...l??[],...i?X:[]],ma=te,Io=(J.width-Ji*ma)/2,pa=(J.height-Zi*ma)/2,Ro=oe?.x??Io,nr=oe?.y??pa,Do=D(()=>{if(Yr.getState().isDrawing)return;if(!i){f?.();return}if(Ot)return;m?.()},[i,Ot,f,m]);if(!n.media?.metadata||pt.length===0)return t("div",{className:"flex h-full w-full items-center justify-center bg-black",children:t("p",{className:"text-muted-foreground",children:"Media is not available."})});return o("div",{ref:T,className:C("relative flex flex-1 cursor-pointer items-center justify-center overflow-hidden bg-black"),onClick:Do,"data-testid":"compare-video-area",children:[!os&&t("div",{className:"absolute pointer-events-none",style:{left:0,top:0,width:Ji,height:Zi,transform:`translate(${Ro}px, ${nr}px) scale(${ma})`,transformOrigin:"0 0"},children:t("video",{ref:_,className:"w-full h-full block object-contain pointer-events-none",playsInline:!0,preload:"auto",poster:n.preview?.thumbnailUrl||void 0})}),os&&t("video",{ref:_,className:"absolute inset-0 pointer-events-none opacity-0",playsInline:!0,preload:"auto"}),os?t("div",{className:"flex flex-col items-center justify-center text-muted-foreground w-full h-full pointer-events-none select-none",children:t(es,{className:C("w-16 h-16 text-foreground/75 transition-transform duration-500",Se?"animate-pulse scale-110 text-primary":"")})}):J.width>0&&t(La,{width:J.width,height:J.height,mediaDimensions:{width:Ji,height:Zi},annotations:Ka,scale:ma,offset:{x:Ro,y:nr},className:"absolute inset-0",onClick:Do,isDrawing:i&&P,currentTool:U,currentColor:z,onAddAnnotation:i?V:void 0}),Ot&&t("div",{className:"pointer-events-none absolute inset-0 z-10 flex items-center justify-center bg-black/20 transition-opacity duration-200","data-testid":"compare-video-loading-spinner",children:t("div",{className:"flex h-14 w-14 items-center justify-center rounded-full border-2 border-white/30 bg-white/10 backdrop-blur-sm",children:t(O,{className:"h-7 w-7 text-white animate-spin"})})}),!Ot&&!de&&!P&&t("div",{className:"pointer-events-none absolute inset-0 z-10 flex items-center justify-center bg-black/20 transition-opacity duration-200","data-testid":"compare-video-play-overlay",children:t("div",{className:"flex h-16 w-16 items-center justify-center rounded-full border-2 border-white/30 bg-white/10 backdrop-blur-sm",children:t(el,{className:"ml-1 h-8 w-8 fill-white text-white"})})})]})});var F8={id:"video",name:"Video",match:(e)=>e.proxyType==="video"||e.proxyType==="audio",viewer:D8,comparePane:M8,commentsConfig:{hasTimestamp:!0,hasAnnotations:!0}};S();function X0(){let[e,n]=u({width:window.innerWidth,height:window.innerHeight});return $e(()=>{function s(){n({width:window.innerWidth,height:window.innerHeight})}return window.addEventListener("resize",s),()=>window.removeEventListener("resize",s)},[]),e}S();function hu({zoom:e,onZoomIn:n,onZoomOut:s,onFit:i,onDownload:r,canDownload:a,onCopy:l,copied:c=!1,canCopy:f=!0,allowDownload:m=!0,fullscreen:g}){return o("div",{className:"relative px-4 py-3 bg-card border-t border-gray-200 dark:border-gray-700 z-10 flex items-center justify-end gap-2 transition-colors duration-200",children:[o("div",{className:"flex items-center gap-1 bg-gray-200/50 dark:bg-white/10 rounded-md p-0.5 mr-auto",children:[t("button",{onClick:s,className:"p-1.5 rounded hover:bg-gray-300 dark:hover:bg-gray-600 text-gray-700 dark:text-gray-200 transition-colors",title:Wp(),children:t(Vs,{size:16})}),o("span",{className:"w-12 text-center text-xs font-mono font-medium text-gray-900 dark:text-gray-100 select-none",children:[Math.round(e*100),"%"]}),t("button",{onClick:n,className:"p-1.5 rounded hover:bg-gray-300 dark:hover:bg-gray-600 text-gray-700 dark:text-gray-200 transition-colors",title:Kp(),children:t(pe,{size:16})})]}),t("button",{onClick:i,className:"text-xs font-medium px-3 py-1.5 rounded bg-gray-200/50 dark:bg-white/10 hover:bg-gray-300 dark:hover:bg-gray-600 text-gray-700 dark:text-gray-200 transition-colors border border-transparent animate-in fade-in zoom-in-95 duration-200",children:Gf()}),l&&o("button",{onClick:l,disabled:!f,className:"flex items-center gap-1.5 text-xs font-medium px-3 py-1.5 rounded bg-gray-200/50 dark:bg-white/10 hover:bg-gray-300 dark:hover:bg-gray-600 text-gray-700 dark:text-gray-200 transition-colors border border-transparent disabled:opacity-50 animate-in fade-in zoom-in-95 duration-200",title:cy(),children:[c?t(Pe,{size:14,className:"text-green-500"}):t(Nr,{size:14}),c?oy():ly()]}),m&&o("button",{onClick:r,disabled:!a,className:"flex items-center gap-1.5 text-xs font-medium px-3 py-1.5 rounded bg-gray-200/50 dark:bg-white/10 hover:bg-gray-300 dark:hover:bg-gray-600 text-gray-700 dark:text-gray-200 transition-colors border border-transparent disabled:opacity-50 animate-in fade-in zoom-in-95 duration-200",title:ub(),children:[t(wt,{size:14}),hr()]}),g&&t("button",{onClick:g.onToggle,className:"p-1.5 rounded hover:bg-gray-300 dark:hover:bg-gray-600 text-gray-700 dark:text-gray-200 transition-colors",title:bd(),children:g.isFullScreen?t(Mi,{size:16}):t(Ti,{size:16})})]})}var Tq=F(({file:e,annotations:n,shareId:s,children:i,allowDownload:r},a)=>{gn(a,()=>({play:()=>{},pause:()=>{},seekTo:()=>{}}));let{width:l}=X0(),{isDrawing:c,currentTool:f,currentColor:m,addAnnotation:g,annotations:b}=Yr(),[v,k]=u({width:0,height:0}),[T,_]=u(1),[P,U]=u({x:0,y:0}),[z,V]=u(!1),[X,J]=u(!1),ee=y(null);h(()=>{V(!1),J(!1)},[e.id]),h(()=>{let we=ee.current;if(!we)return;let qe=new ResizeObserver((Re)=>{let Fe=Re[0];if(Fe)k({width:Fe.contentRect.width,height:Fe.contentRect.height})});return qe.observe(we),()=>qe.disconnect()},[]);let te=e.media?.metadata?.originalWidth??1920,ne=e.media?.metadata?.originalHeight??1080,{width:ie,height:se}=v,oe=Sl(ie,se,te,ne);h(()=>{if(ie<=0||se<=0)return;if(z)return;_(oe),U(ko(ie,se,te,ne,oe))},[ie,se,oe,te,ne,z]);let ye=(we)=>{V(!0);let qe=Ao(T,P,we,ie/2,se/2);_(qe.zoom),U(qe.pan)},Se=()=>{V(!1),_(oe),U(ko(ie,se,te,ne,oe))};pf({containerRef:ee,zoom:T,pan:P,baseScale:oe,onZoomChange:(we)=>{V(!0),_(we.zoom),U(we.pan)},onPanChange:U});let me=Jd(e.media?.imageTranscodes,l)?.url??"",de=async()=>{let we=e.media?.original?.key;if(!we||!e.id)return;try{let qe=s?await A.api.shares[":shareId"].files[":fileId"]["download-url"].$post({param:{shareId:s,fileId:e.id},json:{key:we}}):await A.api.files["download-url"].$post({json:{key:we,assetId:e.id}});if(!qe.ok)return;let{url:Re}=await qe.json(),Fe=document.createElement("a");Fe.href=Re,Fe.download="",document.body.appendChild(Fe),Fe.click(),document.body.removeChild(Fe)}catch{}},ce=async()=>{let we=me;if(!we)return;try{let qe=(async()=>{let Fe=await(await fetch(we)).blob(),Be=new Image;Be.crossOrigin="anonymous";let Xe=URL.createObjectURL(Fe);Be.src=Xe;try{await new Promise((_t,dt)=>{Be.onload=_t,Be.onerror=(Ot)=>dt(Error("Failed to load image: "+String(Ot)))});let st=document.createElement("canvas");st.width=Be.width,st.height=Be.height;let Ze=st.getContext("2d");if(!Ze)throw Error("Could not get canvas context");Ze.drawImage(Be,0,0);let St=await new Promise((_t)=>{st.toBlob(_t,"image/png")});if(!St)throw Error("Failed to convert image to PNG");return St}finally{URL.revokeObjectURL(Xe)}})();await navigator.clipboard.write([new ClipboardItem({"image/png":qe})]),J(!0),setTimeout(()=>J(!1),2000)}catch(qe){console.error("Failed to copy image to clipboard:",qe)}},Ee=[...n||[],...b];return o("div",{className:"flex flex-col flex-1 h-full overflow-hidden bg-gray-100 dark:bg-gray-950 relative",children:[o("div",{className:"flex-1 flex flex-col-reverse md:flex-row min-h-0 relative",children:[i,t("div",{ref:ee,className:"flex-1 relative overflow-hidden touch-none",children:me?t(La,{width:ie,height:se,mediaDimensions:{width:te,height:ne},imageUrl:me,annotations:Ee,scale:T,offset:P,onPan:Wh(T,oe)?U:void 0,className:"absolute inset-0 z-0",isDrawing:c,currentTool:f,currentColor:m,onAddAnnotation:g}):t("div",{className:"flex h-full w-full items-center justify-center",children:t("p",{className:"text-muted-foreground",children:"Preview unavailable"})})})]}),t(hu,{zoom:T,onZoomIn:()=>ye(1.2),onZoomOut:()=>ye(0.8),onFit:Se,onDownload:de,canDownload:!!e.media?.original?.key,onCopy:ce,copied:X,canCopy:!!me,allowDownload:r})]})}),L8=Tq;S();var Eq=0.01,Cq=50,O8=F(function({file:n,shareId:s,isActive:i,annotations:r,onStateChange:a,onUserPan:l,onActivate:c},f){let{width:m}=X0(),{isDrawing:g,currentTool:b,currentColor:v,addAnnotation:k,annotations:T}=Yr(),[_,P]=u({width:0,height:0}),[U,z]=u(1),[V,X]=u({x:0,y:0}),J=y(null),ee=y(U);ee.current=U;let te=y(V);te.current=V;let ne=D((Re)=>{if(J.current)J.current.disconnect(),J.current=null;if(Re!==null){let Fe=new ResizeObserver((Be)=>{let Xe=Be[0];if(Xe)P({width:Xe.contentRect.width,height:Xe.contentRect.height})});Fe.observe(Re),J.current=Fe}},[]),ie=n.media?.metadata?.originalWidth??1920,se=n.media?.metadata?.originalHeight??1080,{width:oe,height:ye}=_,Se=1;if(oe>0&&ye>0)Se=Math.min(oe/ie,ye/se);h(()=>{if(oe>0&&ye>0)z(Se),X({x:(oe-ie*Se)/2,y:(ye-se*Se)/2})},[n.id,oe,ye,Se,ie,se]);let me=D((Re)=>{let Fe=oe/2,Be=ye/2,Xe=ee.current,st=Xe*Re;if(st<Eq||st>Cq)return;let Ze=te.current;X({x:Fe-(Fe-Ze.x)*(st/Xe),y:Be-(Be-Ze.y)*(st/Xe)}),z(st)},[oe,ye]),de=D(()=>{z(Se),X({x:(oe-ie*Se)/2,y:(ye-se*Se)/2})},[Se,oe,ye,ie,se]),ce=Jd(n.media?.imageTranscodes,m)?.url??"",Ee=D(async()=>{let Re=n.media?.original?.key;if(!Re||!n.id)return;try{let Fe=s?await A.api.shares[":shareId"].files[":fileId"]["download-url"].$post({param:{shareId:s,fileId:n.id},json:{key:Re}}):await A.api.files["download-url"].$post({json:{key:Re,assetId:n.id}});if(!Fe.ok)return;let{url:Be}=await Fe.json(),Xe=document.createElement("a");Xe.href=Be,Xe.download="",document.body.appendChild(Xe),Xe.click(),document.body.removeChild(Xe)}catch{}},[n.id,n.media?.original?.key,s]);gn(f,()=>({getKind:()=>"image",play:()=>{},pause:()=>{},togglePlay:()=>{},seekToFrame:()=>{},seekToSecond:()=>{},stepFrame:()=>{},setMuted:()=>{},setVolume:()=>{},setPlaybackRate:()=>{},toggleLoop:()=>{},changeResolution:()=>{},zoomBy:(Re)=>me(Re),fit:de,panBy:(Re,Fe)=>X((Be)=>({x:Be.x+Re,y:Be.y+Fe})),download:Ee}),[me,de,Ee]),h(()=>{a({kind:"image",zoom:U})},[U,a]);let we=[...r,...i?T:[]],qe=D((Re)=>{let Fe=te.current,Be=Re.x-Fe.x,Xe=Re.y-Fe.y;if(X(Re),Be!==0||Xe!==0)l?.(Be,Xe)},[l]);if(!ce)return t("div",{className:"flex flex-1 items-center justify-center bg-gray-100 dark:bg-gray-950",children:t("p",{className:"text-muted-foreground",children:"Preview unavailable"})});return t("div",{ref:ne,className:"relative flex-1 overflow-hidden bg-black",onMouseDown:c,children:t(La,{width:oe,height:ye,mediaDimensions:{width:ie,height:se},imageUrl:ce,annotations:we,scale:U,offset:V,onPan:qe,className:"absolute inset-0 z-0",isDrawing:i&&g,currentTool:b,currentColor:v,onAddAnnotation:i?k:void 0})})});var P8={id:"image",name:"Image",match:(e)=>e.proxyType==="image",viewer:L8,comparePane:O8,commentsConfig:{hasTimestamp:!1,hasAnnotations:!0}};var wr=typeof process==="object"&&process+""==="[object process]"&&!process.versions.nw&&!(process.versions.electron&&process.type&&process.type!=="browser"),Eo=[1/0,1/0,-1/0,-1/0],ac=new Float32Array(Eo),Ub=[0.001,0,0,0.001,0,0];var br={ANY:1,DISPLAY:2,PRINT:4,SAVE:8,ANNOTATIONS_FORMS:16,ANNOTATIONS_STORAGE:32,ANNOTATIONS_DISABLE:64,IS_EDITING:128,OPLIST:256},xl={DISABLE:0,ENABLE:1,ENABLE_FORMS:2,ENABLE_STORAGE:3};var Jt={DISABLE:-1,NONE:0,FREETEXT:3,HIGHLIGHT:9,STAMP:13,INK:15,POPUP:16,SIGNATURE:101,COMMENT:102},Sn={RESIZE:1,CREATE:2,FREETEXT_SIZE:11,FREETEXT_COLOR:12,FREETEXT_OPACITY:13,INK_COLOR:21,INK_THICKNESS:22,INK_OPACITY:23,INK_COLOR_AND_OPACITY:24,HIGHLIGHT_COLOR:31,HIGHLIGHT_THICKNESS:32,HIGHLIGHT_FREE:33,HIGHLIGHT_SHOW_ALL:34,DRAW_STEP:41},jq={PRINT:4,MODIFY_CONTENTS:8,COPY:16,MODIFY_ANNOTATIONS:32,FILL_INTERACTIVE_FORMS:256,COPY_FOR_ACCESSIBILITY:512,ASSEMBLE:1024,PRINT_HIGH_QUALITY:2048};var ii={FILL:0,STROKE:1,FILL_STROKE:2,INVISIBLE:3,FILL_ADD_TO_PATH:4,STROKE_ADD_TO_PATH:5,FILL_STROKE_ADD_TO_PATH:6,ADD_TO_PATH:7,FILL_STROKE_MASK:3,ADD_TO_PATH_FLAG:4},nm={GRAYSCALE_1BPP:1,RGB_24BPP:2,RGBA_32BPP:3},Is={TEXT:1,LINK:2,FREETEXT:3,LINE:4,SQUARE:5,CIRCLE:6,POLYGON:7,POLYLINE:8,HIGHLIGHT:9,UNDERLINE:10,SQUIGGLY:11,STRIKEOUT:12,STAMP:13,CARET:14,INK:15,POPUP:16,FILEATTACHMENT:17,SOUND:18,MOVIE:19,WIDGET:20,SCREEN:21,PRINTERMARK:22,TRAPNET:23,WATERMARK:24,THREED:25,REDACT:26,RICHMEDIA:27};var bf={SOLID:1,DASHED:2,BEVELED:3,INSET:4,UNDERLINE:5};var bm={ERRORS:0,WARNINGS:1,INFOS:5},Ua={dependency:1,setLineWidth:2,setLineCap:3,setLineJoin:4,setMiterLimit:5,setDash:6,setRenderingIntent:7,setFlatness:8,setGState:9,save:10,restore:11,transform:12,moveTo:13,lineTo:14,curveTo:15,curveTo2:16,curveTo3:17,closePath:18,rectangle:19,stroke:20,closeStroke:21,fill:22,eoFill:23,fillStroke:24,eoFillStroke:25,closeFillStroke:26,closeEOFillStroke:27,endPath:28,clip:29,eoClip:30,beginText:31,endText:32,setCharSpacing:33,setWordSpacing:34,setHScale:35,setLeading:36,setFont:37,setTextRenderingMode:38,setTextRise:39,moveText:40,setLeadingMoveText:41,setTextMatrix:42,nextLine:43,showText:44,showSpacedText:45,nextLineShowText:46,nextLineSetSpacingShowText:47,setCharWidth:48,setCharWidthAndBounds:49,setStrokeColorSpace:50,setFillColorSpace:51,setStrokeColor:52,setStrokeColorN:53,setFillColor:54,setFillColorN:55,setStrokeGray:56,setFillGray:57,setStrokeRGBColor:58,setFillRGBColor:59,setStrokeCMYKColor:60,setFillCMYKColor:61,shadingFill:62,beginInlineImage:63,beginImageData:64,endInlineImage:65,paintXObject:66,markPoint:67,markPointProps:68,beginMarkedContent:69,beginMarkedContentProps:70,endMarkedContent:71,beginCompat:72,endCompat:73,paintFormXObjectBegin:74,paintFormXObjectEnd:75,beginGroup:76,endGroup:77,beginAnnotation:80,endAnnotation:81,paintImageMaskXObject:83,paintImageMaskXObjectGroup:84,paintImageXObject:85,paintInlineImageXObject:86,paintInlineImageXObjectGroup:87,paintImageXObjectRepeat:88,paintImageMaskXObjectRepeat:89,paintSolidColorImageMask:90,constructPath:91,setStrokeTransparent:92,setFillTransparent:93,rawFillPath:94},Kh={moveTo:0,lineTo:1,curveTo:2,quadraticCurveTo:3,closePath:4},_q={NEED_PASSWORD:1,INCORRECT_PASSWORD:2},wm=bm.WARNINGS;function Iq(e){if(Number.isInteger(e))wm=e}function Rq(){return wm}function ym(e){if(wm>=bm.INFOS)console.info(`Info: ${e}`)}function Zt(e){if(wm>=bm.WARNINGS)console.warn(`Warning: ${e}`)}function In(e){throw Error(e)}function Rs(e,n){if(!e)In(n)}function Dq(e){switch(e?.protocol){case"http:":case"https:":case"ftp:":case"mailto:":case"tel:":return!0;default:return!1}}function u7(e,n=null,s=null){if(!e)return null;if(s&&typeof e==="string"){if(s.addDefaultProtocol&&e.startsWith("www.")){if(e.match(/\./g)?.length>=2)e=`http://${e}`}if(s.tryConvertEncoding)try{e=Mq(e)}catch{}}let i=n?URL.parse(e,n):URL.parse(e);return Dq(i)?i:null}function d7(e,n,s=!1){let i=URL.parse(e);if(i)return i.hash=n,i.href;if(s&&u7(e,"http://example.com"))return e.split("#",1)[0]+`${n?`#${n}`:""}`;return""}function zb(e){return e.substring(e.lastIndexOf("/")+1)}function Lt(e,n,s,i=!1){return Object.defineProperty(e,n,{value:s,enumerable:!i,configurable:!0,writable:!1}),s}var uc=function(){function n(s,i){this.message=s,this.name=i}return n.prototype=Error(),n.constructor=n,n}();class am extends uc{constructor(e,n){super(e,"PasswordException");this.code=n}}class sm extends uc{constructor(e,n){super(e,"UnknownErrorException");this.details=n}}class om extends uc{constructor(e){super(e,"InvalidPDFException")}}class ru extends uc{constructor(e,n,s){super(e,"ResponseException");this.status=n,this.missing=s}}class m7 extends uc{constructor(e){super(e,"FormatError")}}class jo extends uc{constructor(e){super(e,"AbortException")}}function qq(e){if(typeof e!=="object"||e?.length===void 0)In("Invalid argument for bytesToString");let n=e.length,s=8192;if(n<s)return String.fromCharCode.apply(null,e);let i=[];for(let r=0;r<n;r+=s){let a=Math.min(r+s,n),l=e.subarray(r,a);i.push(String.fromCharCode.apply(null,l))}return i.join("")}function vm(e){if(typeof e!=="string")In("Invalid argument for stringToBytes");let n=e.length,s=new Uint8Array(n);for(let i=0;i<n;++i)s[i]=e.charCodeAt(i)&255;return s}class zn{static get isLittleEndian(){let e=new Uint8Array(4);e[0]=1;let n=new Uint32Array(e.buffer,0,1);return Lt(this,"isLittleEndian",n[0]===1)}static get isOffscreenCanvasSupported(){return Lt(this,"isOffscreenCanvasSupported",typeof OffscreenCanvas<"u")}static get isImageDecoderSupported(){return Lt(this,"isImageDecoderSupported",typeof ImageDecoder<"u")}static get isFloat16ArraySupported(){return Lt(this,"isFloat16ArraySupported",typeof Float16Array<"u")}static get isSanitizerSupported(){return Lt(this,"isSanitizerSupported",typeof Sanitizer<"u")}static get platform(){let{platform:e,userAgent:n}=navigator;return Lt(this,"platform",{isAndroid:n.includes("Android"),isLinux:e.includes("Linux"),isMac:e.includes("Mac"),isWindows:e.includes("Win"),isFirefox:n.includes("Firefox")})}static get isCanvasFilterSupported(){let e;if(this.isOffscreenCanvasSupported)e=new OffscreenCanvas(1,1).getContext("2d");else if(typeof document<"u")e=document.createElement("canvas").getContext("2d");return Lt(this,"isCanvasFilterSupported",e?.filter!==void 0)}static get isAlphaColorInputSupported(){if(typeof document>"u")return Lt(this,"isAlphaColorInputSupported",!1);let e=document.createElement("input");return e.type="color",e.setAttribute("alpha",""),e.value="#ff000080",Lt(this,"isAlphaColorInputSupported",e.value!=="#ff0000")}static get isBackdropFilterSupported(){return Lt(this,"isBackdropFilterSupported",typeof CSS<"u"&&CSS.supports("backdrop-filter","blur(1px)"))}}class ut{static get hexNums(){return Lt(this,"hexNums",Array.from({length:256},(e,n)=>n.toString(16).padStart(2,"0")))}static makeHexColor(e,n,s){return`#${this.hexNums[e]}${this.hexNums[n]}${this.hexNums[s]}`}static transform(e,n){return[e[0]*n[0]+e[2]*n[1],e[1]*n[0]+e[3]*n[1],e[0]*n[2]+e[2]*n[3],e[1]*n[2]+e[3]*n[3],e[0]*n[4]+e[2]*n[5]+e[4],e[1]*n[4]+e[3]*n[5]+e[5]]}static multiplyByDOMMatrix(e,n){return[e[0]*n.a+e[2]*n.b,e[1]*n.a+e[3]*n.b,e[0]*n.c+e[2]*n.d,e[1]*n.c+e[3]*n.d,e[0]*n.e+e[2]*n.f+e[4],e[1]*n.e+e[3]*n.f+e[5]]}static applyTransform(e,n,s=0){let i=e[s],r=e[s+1];e[s]=i*n[0]+r*n[2]+n[4],e[s+1]=i*n[1]+r*n[3]+n[5]}static applyTransformToBezier(e,n,s=0){let i=n[0],r=n[1],a=n[2],l=n[3],c=n[4],f=n[5];for(let m=0;m<6;m+=2){let g=e[s+m],b=e[s+m+1];e[s+m]=g*i+b*a+c,e[s+m+1]=g*r+b*l+f}}static applyInverseTransform(e,n){let s=e[0],i=e[1],r=n[0]*n[3]-n[1]*n[2];e[0]=(s*n[3]-i*n[2]+n[2]*n[5]-n[4]*n[3])/r,e[1]=(-s*n[1]+i*n[0]+n[4]*n[1]-n[5]*n[0])/r}static axialAlignedBoundingBox(e,n,s){let i=n[0],r=n[1],a=n[2],l=n[3],c=n[4],f=n[5],m=e[0],g=e[1],b=e[2],v=e[3],k=i*m+c,T=k,_=i*b+c,P=_,U=l*g+f,z=U,V=l*v+f,X=V;if(r!==0||a!==0){let J=r*m,ee=r*b,te=a*g,ne=a*v;k+=te,P+=te,_+=ne,T+=ne,U+=J,X+=J,V+=ee,z+=ee}s[0]=Math.min(s[0],k,_,T,P),s[1]=Math.min(s[1],U,V,z,X),s[2]=Math.max(s[2],k,_,T,P),s[3]=Math.max(s[3],U,V,z,X)}static inverseTransform(e){let n=e[0]*e[3]-e[1]*e[2];return[e[3]/n,-e[1]/n,-e[2]/n,e[0]/n,(e[2]*e[5]-e[4]*e[3])/n,(e[4]*e[1]-e[5]*e[0])/n]}static singularValueDecompose2dScale(e,n){let s=e[0],i=e[1],r=e[2],a=e[3],l=s**2+i**2,c=s*r+i*a,f=r**2+a**2,m=(l+f)/2,g=Math.sqrt(m**2-(l*f-c**2));n[0]=Math.sqrt(m+g||1),n[1]=Math.sqrt(m-g||1)}static normalizeRect(e){let n=e.slice(0);if(e[0]>e[2])n[0]=e[2],n[2]=e[0];if(e[1]>e[3])n[1]=e[3],n[3]=e[1];return n}static intersect(e,n){let s=Math.max(Math.min(e[0],e[2]),Math.min(n[0],n[2])),i=Math.min(Math.max(e[0],e[2]),Math.max(n[0],n[2]));if(s>i)return null;let r=Math.max(Math.min(e[1],e[3]),Math.min(n[1],n[3])),a=Math.min(Math.max(e[1],e[3]),Math.max(n[1],n[3]));if(r>a)return null;return[s,r,i,a]}static pointBoundingBox(e,n,s){s[0]=Math.min(s[0],e),s[1]=Math.min(s[1],n),s[2]=Math.max(s[2],e),s[3]=Math.max(s[3],n)}static rectBoundingBox(e,n,s,i,r){r[0]=Math.min(r[0],e,s),r[1]=Math.min(r[1],n,i),r[2]=Math.max(r[2],e,s),r[3]=Math.max(r[3],n,i)}static#e(e,n,s,i,r,a,l,c,f,m){if(f<=0||f>=1)return;let g=1-f,b=f*f,v=b*f,k=g*(g*(g*e+3*f*n)+3*b*s)+v*i,T=g*(g*(g*r+3*f*a)+3*b*l)+v*c;m[0]=Math.min(m[0],k),m[1]=Math.min(m[1],T),m[2]=Math.max(m[2],k),m[3]=Math.max(m[3],T)}static#t(e,n,s,i,r,a,l,c,f,m,g,b){if(Math.abs(f)<0.000000000001){if(Math.abs(m)>=0.000000000001)this.#e(e,n,s,i,r,a,l,c,-g/m,b);return}let v=m**2-4*g*f;if(v<0)return;let k=Math.sqrt(v),T=2*f;this.#e(e,n,s,i,r,a,l,c,(-m+k)/T,b),this.#e(e,n,s,i,r,a,l,c,(-m-k)/T,b)}static bezierBoundingBox(e,n,s,i,r,a,l,c,f){f[0]=Math.min(f[0],e,l),f[1]=Math.min(f[1],n,c),f[2]=Math.max(f[2],e,l),f[3]=Math.max(f[3],n,c),this.#t(e,s,r,l,n,i,a,c,3*(-e+3*(s-r)+l),6*(e-2*s+r),3*(s-e),f),this.#t(e,s,r,l,n,i,a,c,3*(-n+3*(i-a)+c),6*(n-2*i+a),3*(i-n),f)}}function Mq(e){return decodeURIComponent(escape(e))}var Ob=null,N8=null;function Fq(e){if(!Ob)Ob=/([\u00a0\u00b5\u037e\u0eb3\u2000-\u200a\u202f\u2126\ufb00-\ufb04\ufb06\ufb20-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufba1\ufba4-\ufba9\ufbae-\ufbb1\ufbd3-\ufbdc\ufbde-\ufbe7\ufbea-\ufbf8\ufbfc\ufbfd\ufc00-\ufc5d\ufc64-\ufcf1\ufcf5-\ufd3d\ufd88\ufdf4\ufdfa\ufdfb\ufe71\ufe77\ufe79\ufe7b\ufe7d]+)|(\ufb05+)/gu,N8=new Map([["ſt","ſt"]]);return e.replaceAll(Ob,(n,s,i)=>s?s.normalize("NFKC"):N8.get(i))}function p7(){if(typeof crypto.randomUUID==="function")return crypto.randomUUID();let e=new Uint8Array(32);return crypto.getRandomValues(e),qq(e)}function Lq(e,n,s){if(!Array.isArray(s)||s.length<2)return!1;let[i,r,...a]=s;if(!e(i)&&!Number.isInteger(i))return!1;if(!n(r))return!1;let l=a.length,c=!0;switch(r.name){case"XYZ":if(l<2||l>3)return!1;break;case"Fit":case"FitB":return l===0;case"FitH":case"FitBH":case"FitV":case"FitBV":if(l>1)return!1;break;case"FitR":if(l!==4)return!1;c=!1;break;default:return!1}for(let f of a){if(typeof f==="number"||c&&f===null)continue;return!1}return!0}var Sf=()=>[],e2=()=>new Map,Gb=()=>Object.create(null),Oq=()=>new Set;if(typeof Iterator.prototype.join!=="function")Iterator.prototype.join=function(e){return[...this].join(e)};function ps(e,n,s){return Math.min(Math.max(e,n),s)}class du{constructor({viewBox:e,userUnit:n,scale:s,rotation:i,offsetX:r=0,offsetY:a=0,dontFlip:l=!1}){this.viewBox=e,this.userUnit=n,this.scale=s,this.rotation=i,this.offsetX=r,this.offsetY=a,s*=n;let c=(e[2]+e[0])/2,f=(e[3]+e[1])/2,m,g,b,v;if(i%=360,i<0)i+=360;switch(i){case 180:m=-1,g=0,b=0,v=1;break;case 90:m=0,g=1,b=1,v=0;break;case 270:m=0,g=-1,b=-1,v=0;break;case 0:m=1,g=0,b=0,v=-1;break;default:throw Error("PageViewport: Invalid rotation, must be a multiple of 90 degrees.")}if(l)b=-b,v=-v;let k,T,_,P;if(m===0)k=Math.abs(f-e[1])*s+r,T=Math.abs(c-e[0])*s+a,_=(e[3]-e[1])*s,P=(e[2]-e[0])*s;else k=Math.abs(c-e[0])*s+r,T=Math.abs(f-e[1])*s+a,_=(e[2]-e[0])*s,P=(e[3]-e[1])*s;this.transform=[m*s,g*s,b*s,v*s,k-m*s*c-b*s*f,T-g*s*c-v*s*f],this.width=_,this.height=P}get rawDims(){let e=this.viewBox;return Lt(this,"rawDims",{pageWidth:e[2]-e[0],pageHeight:e[3]-e[1],pageX:e[0],pageY:e[1]})}clone({scale:e=this.scale,rotation:n=this.rotation,offsetX:s=this.offsetX,offsetY:i=this.offsetY,dontFlip:r=!1}={}){return new du({viewBox:this.viewBox.slice(),userUnit:this.userUnit,scale:e,rotation:n,offsetX:s,offsetY:i,dontFlip:r})}convertToViewportPoint(e,n){let s=[e,n];return ut.applyTransform(s,this.transform),s}convertToPdfPoint(e,n){let s=[e,n];return ut.applyInverseTransform(s,this.transform),s}}class au{static textContent(e){let n=[],s={items:n,styles:Object.create(null)};function i(r){if(!r)return;let a=null,l=r.name;if(l==="#text")a=r.value;else if(!au.shouldBuildText(l))return;else if(r?.attributes?.textContent)a=r.attributes.textContent;else if(r.value)a=r.value;if(a!==null)n.push({str:a});if(!r.children)return;for(let c of r.children)i(c)}return i(e),s}static shouldBuildText(e){return!(e==="textarea"||e==="input"||e==="option"||e==="select")}}var Pq=/url\(|image-set\(/i,Nq=/^on/i;class t2{static get _allowedHtmlElements(){return Lt(this,"_allowedHtmlElements",new Set(["a","b","br","button","div","i","img","input","label","li","ol","option","p","select","span","sub","sup","textarea","ul"]))}static get _allowedSvgElements(){return Lt(this,"_allowedSvgElements",new Set(["ellipse","line","path","rect","svg"]))}static get _allowedRichTextElements(){return Lt(this,"_allowedRichTextElements",new Set(["a","b","br","div","i","li","ol","p","span","sub","sup","ul"]))}static get _allowedRichTextAttributes(){return Lt(this,"_allowedRichTextAttributes",new Set(["class","dir","style"]))}static get _allowedRichTextStyles(){return Lt(this,"_allowedRichTextStyles",new Set(["color","font","fontFamily","fontSize","fontStretch","fontStyle","fontWeight","kerningMode","letterSpacing","lineHeight","margin","marginBottom","marginLeft","marginRight","marginTop","orphans","paddingLeft","paddingRight","breakAfter","breakBefore","breakInside","tabInterval","tabStop","textAlign","textDecoration","textIndent","transform","verticalAlign","widows"]))}static setupStorage(e,n,s,i,r){let a=i.getValue(n,{value:null});switch(s.name){case"textarea":if(a.value!==null)e.textContent=a.value;if(r==="print")break;e.addEventListener("input",(l)=>{i.setValue(n,{value:l.target.value})});break;case"input":if(s.attributes.type==="radio"||s.attributes.type==="checkbox"){if(a.value===s.attributes.xfaOn)e.setAttribute("checked",!0);else if(a.value===s.attributes.xfaOff)e.removeAttribute("checked");if(r==="print")break;e.addEventListener("change",(l)=>{i.setValue(n,{value:l.target.checked?l.target.getAttribute("xfaOn"):l.target.getAttribute("xfaOff")})})}else{if(a.value!==null)e.setAttribute("value",a.value);if(r==="print")break;e.addEventListener("input",(l)=>{i.setValue(n,{value:l.target.value})})}break;case"select":if(a.value!==null){e.setAttribute("value",a.value);for(let l of s.children)if(l.attributes.value===a.value)l.attributes.selected=!0;else if(Object.hasOwn(l.attributes,"selected"))delete l.attributes.selected}e.addEventListener("input",(l)=>{let c=l.target.options,f=c.selectedIndex===-1?"":c[c.selectedIndex].value;i.setValue(n,{value:f})});break}}static setAttributes({html:e,element:n,storage:s=null,intent:i,linkService:r}){let{attributes:a}=n,l=e instanceof HTMLAnchorElement;if(a.type==="radio")a.name=`${a.name}-${i}`;for(let[c,f]of Object.entries(a)){if(f===null||f===void 0)continue;if(Nq.test(c))continue;if(i==="richText"&&!this._allowedRichTextAttributes.has(c))continue;switch(c){case"class":if(f.length)e.setAttribute(c,f.join(" "));break;case"dataId":break;case"id":e.setAttribute("data-element-id",f);break;case"style":if(i==="richText"){let m=this._allowedRichTextStyles;for(let[g,b]of Object.entries(f))if(m.has(g)&&!Pq.test(b))e.style[g]=b}else Object.assign(e.style,f);break;case"textContent":e.textContent=f;break;default:if(!l||c!=="href"&&c!=="newWindow")e.setAttribute(c,f)}}if(l)r?.addLinkAttributes(e,a.href,a.newWindow);if(s&&a.dataId)this.setupStorage(e,a.dataId,n,s)}static#e(e,n,s){if(s==="richText")return!n&&this._allowedRichTextElements.has(e)?document.createElement(e):null;if(n)return n==="http://www.w3.org/2000/svg"&&this._allowedSvgElements.has(e)?document.createElementNS("http://www.w3.org/2000/svg",e):null;return this._allowedHtmlElements.has(e)?document.createElement(e):null}static render(e){let{annotationStorage:n,linkService:s,xfaHtml:i}=e,r=e.intent||"display",a=this.#e(i.name,i.attributes?.xmlns,r)??document.createElement("div");if(i.attributes)this.setAttributes({html:a,element:i,intent:r,linkService:s});let l=r!=="richText",c=e.div;if(c.append(a),e.viewport){let g=`matrix(${e.viewport.transform.join(",")})`;c.style.transform=g}if(l)c.setAttribute("class","xfaLayer xfaFont");let f=[];if(i.children.length===0){if(i.value){let g=document.createTextNode(i.value);if(a.append(g),l&&au.shouldBuildText(i.name))f.push(g)}return{textDivs:f}}let m=[[i,-1,a]];while(m.length>0){let[g,b,v]=m.at(-1);if(b+1===g.children.length){m.pop();continue}let k=g.children[++m.at(-1)[1]];if(k===null)continue;let{name:T}=k;if(T==="#text"){let P=document.createTextNode(k.value);f.push(P),v.append(P);continue}let _=this.#e(T,k.attributes?.xmlns,r);if(!_)continue;if(v.append(_),k.attributes)this.setAttributes({html:_,element:k,storage:n,intent:r,linkService:s});if(k.children?.length>0)m.push([k,-1,_]);else if(k.value){let P=document.createTextNode(k.value);if(l&&au.shouldBuildText(T))f.push(P);_.append(P)}}for(let g of c.querySelectorAll(".xfaNonInteractive input, .xfaNonInteractive textarea"))g.setAttribute("readOnly",!0);return{textDivs:f}}static update(e){let n=`matrix(${e.viewport.transform.join(",")})`;e.div.style.transform=n,e.div.hidden=!1}static getPageViewport(e,{scale:n=1,rotation:s=0}){let{width:i,height:r}=e.attributes.style;return new du({viewBox:[0,0,parseInt(i,10),parseInt(r,10)],userUnit:1,scale:n,rotation:s})}}class cc{static CSS=96;static PDF=72;static PDF_TO_CSS_UNITS=this.CSS/this.PDF}async function n2(e,n="text"){if(nu(e,document.baseURI)){let s=await fetch(e);if(!s.ok)throw Error(s.statusText);switch(n){case"blob":return s.blob();case"bytes":return s.bytes();case"json":return s.json()}return s.text()}return new Promise((s,i)=>{let r=new XMLHttpRequest;r.open("GET",e,!0),r.responseType=n==="bytes"?"arraybuffer":n,r.onreadystatechange=()=>{if(r.readyState!==XMLHttpRequest.DONE)return;if(r.status===200||r.status===0){switch(n){case"bytes":s(new Uint8Array(r.response));return;case"blob":case"json":s(r.response);return}s(r.responseText);return}i(Error(r.statusText))},r.send(null)})}class Sm extends uc{constructor(e,n=0){super(e,"RenderingCancelledException");this.extraDelay=n}}function km(e){let n=e.length,s=0;while(s<n&&e[s].trim()==="")s++;return e.substring(s,s+5).toLowerCase()==="data:"}function s2(e){return typeof e==="string"&&/\.pdf$/i.test(e)}function Bq(e){return[e]=e.split(/[#?]/,1),zb(e)}function Hq(e,n="document.pdf"){if(typeof e!=="string")return n;if(km(e))return Zt('getPdfFilenameFromUrl: ignore "data:"-URL for performance reasons.'),n;let i=((c)=>{try{return new URL(c)}catch{}try{return new URL(decodeURIComponent(c))}catch{}try{return new URL(c,"https://foo.bar")}catch{}try{return new URL(decodeURIComponent(c),"https://foo.bar")}catch{}return null})(e);if(!i)return n;let r=(c)=>{try{let f=decodeURIComponent(c);if(f.includes("/")){if(f=zb(f),f.length===4&&a.test(f))return c}return f}catch{return c}},a=/\.pdf$/i,l=zb(i.pathname);if(a.test(l))return r(l);if(i.searchParams.size>0){let c=(m)=>[...m].findLast((g)=>a.test(g)),f=c(i.searchParams.values())??c(i.searchParams.keys());if(f)return r(f)}if(i.hash){let{hash:c}=i,f=-1;for(let{index:m}of c.matchAll(/\.pdf\b/gi))f=m;if(f>0){let m=f;while(m>0&&!"/?#=".includes(c[m-1]))m--;if(m<f)return r(c.slice(m,f+4))}}return n}class Vb{#e=new Map;times=[];time(e){if(this.#e.has(e))Zt(`Timer is already running for ${e}`);this.#e.set(e,Date.now())}timeEnd(e){if(!this.#e.has(e))Zt(`Timer has not been started for ${e}`);this.times.push({name:e,start:this.#e.get(e),end:Date.now()}),this.#e.delete(e)}toString(){let e=Math.max(...this.times.map((n)=>n.name.length));return this.times.map((n)=>`${n.name.padEnd(e)} ${n.end-n.start}ms
75
+ `).join("")}}function nu(e,n){let s=n?URL.parse(e,n):URL.parse(e);return/https?:/.test(s?.protocol??"")}function ca(e){e.preventDefault()}function ri(e){e.preventDefault(),e.stopPropagation()}class lm{static#e;static toDateObject(e){if(e instanceof Date)return e;if(!e||typeof e!=="string")return null;this.#e||=new RegExp("^D:(\\d{4})(\\d{2})?(\\d{2})?(\\d{2})?(\\d{2})?(\\d{2})?([Z|+\\-])?(\\d{2})?'?(\\d{2})?'?");let n=this.#e.exec(e);if(!n)return null;let s=parseInt(n[1],10),i=parseInt(n[2],10);i=i>=1&&i<=12?i-1:0;let r=parseInt(n[3],10);r=r>=1&&r<=31?r:1;let a=parseInt(n[4],10);a=a>=0&&a<=23?a:0;let l=parseInt(n[5],10);l=l>=0&&l<=59?l:0;let c=parseInt(n[6],10);c=c>=0&&c<=59?c:0;let f=n[7]||"Z",m=parseInt(n[8],10);m=m>=0&&m<=23?m:0;let g=parseInt(n[9],10)||0;if(g=g>=0&&g<=59?g:0,f==="-")a+=m,l+=g;else if(f==="+")a-=m,l-=g;return new Date(Date.UTC(s,i,r,a,l,c))}}function bu(e){if(e.startsWith("#")){let s=e.slice(1);return[parseInt(s.slice(0,2),16),parseInt(s.slice(2,4),16),parseInt(s.slice(4,6),16),s.length>=8?parseInt(s.slice(6,8),16)/255:1]}if(e.startsWith("rgb(")){let[s,i,r]=e.slice(4,-1).split(",").map((a)=>parseInt(a,10));return[s,i,r,1]}if(e.startsWith("rgba(")){let s=e.slice(5,-1).split(",");return[parseInt(s[0],10),parseInt(s[1],10),parseInt(s[2],10),parseFloat(s[3])]}let n=e.match(/^color\(srgb\s+([\d.]+)\s+([\d.]+)\s+([\d.]+)(?:\s*\/\s*([\d.]+|none))?\)$/);if(n)return[Math.round(parseFloat(n[1])*255),Math.round(parseFloat(n[2])*255),Math.round(parseFloat(n[3])*255),n[4]!==void 0&&n[4]!=="none"?parseFloat(n[4]):1];return null}function wu(e){let n=bu(e);if(!n)return Zt(`Not a valid color format: "${e}"`),[0,0,0];return n.slice(0,3)}function Uq(e){let n=document.createElement("span");n.style.visibility="hidden",n.style.colorScheme="only light",document.body.append(n);for(let s of e.keys()){n.style.color=s;let i=window.getComputedStyle(n).color;e.set(s,wu(i))}n.remove()}function cs(e){let{a:n,b:s,c:i,d:r,e:a,f:l}=e.getTransform();return[n,s,i,r,a,l]}function Pa(e){let{a:n,b:s,c:i,d:r,e:a,f:l}=e.getTransform().invertSelf();return[n,s,i,r,a,l]}function fc(e,n,s=!1,i=!0){if(n instanceof du){let{pageWidth:r,pageHeight:a}=n.rawDims,{style:l}=e,c=`round(down, var(--total-scale-factor) * ${r}px, var(--scale-round-x))`,f=`round(down, var(--total-scale-factor) * ${a}px, var(--scale-round-y))`;if(!s||n.rotation%180===0)l.width=c,l.height=f;else l.width=f,l.height=c}if(i)e.setAttribute("data-main-rotation",n.rotation)}class ha{constructor(){let{pixelRatio:e}=ha;this.sx=e,this.sy=e}get scaled(){return this.sx!==1||this.sy!==1}get symmetric(){return this.sx===this.sy}limitCanvas(e,n,s,i,r=-1){let a=1/0,l=1/0,c=1/0;if(s=ha.capPixels(s,r),s>0)a=Math.sqrt(s/(e*n));if(i!==-1)l=i/e,c=i/n;let f=Math.min(a,l,c);if(this.sx>f||this.sy>f)return this.sx=f,this.sy=f,!0;return!1}static get pixelRatio(){return globalThis.devicePixelRatio||1}static capPixels(e,n){if(n>=0){let s=Math.ceil(window.screen.availWidth*window.screen.availHeight*this.pixelRatio**2*(1+n/100));return e>0?Math.min(e,s):s}return e}}var $b=["image/apng","image/avif","image/bmp","image/gif","image/jpeg","image/png","image/svg+xml","image/webp","image/x-icon"];class g7{static get isDarkMode(){return Lt(this,"isDarkMode",!!window?.matchMedia?.("(prefers-color-scheme: dark)").matches)}}class b7{static get commentForegroundColor(){let e=document.createElement("span");e.classList.add("comment","sidebar");let{style:n}=e;n.width=n.height="0",n.display="none",n.color="var(--comment-fg-color)",document.body.append(e);let{color:s}=window.getComputedStyle(e);return e.remove(),Lt(this,"commentForegroundColor",wu(s))}}function zq(e,n){n=ps(n??1,0,1);let s=255*(1-n);return e.map((i)=>Math.round(i*n+s))}function B8(e,n){let s=e[0]/255,i=e[1]/255,r=e[2]/255,a=Math.max(s,i,r),l=Math.min(s,i,r),c=(a+l)/2;if(a===l)n[0]=n[1]=0;else{let f=a-l;switch(n[1]=c<0.5?f/(a+l):f/(2-a-l),a){case s:n[0]=((i-r)/f+(i<r?6:0))*60;break;case i:n[0]=((r-s)/f+2)*60;break;case r:n[0]=((s-i)/f+4)*60;break}}n[2]=c}function Xb(e,n){let s=e[0],i=e[1],r=e[2],a=(1-Math.abs(2*r-1))*i,l=a*(1-Math.abs(s/60%2-1)),c=r-a/2;switch(Math.floor(s/60)){case 0:n[0]=a+c,n[1]=l+c,n[2]=c;break;case 1:n[0]=l+c,n[1]=a+c,n[2]=c;break;case 2:n[0]=c,n[1]=a+c,n[2]=l+c;break;case 3:n[0]=c,n[1]=l+c,n[2]=a+c;break;case 4:n[0]=l+c,n[1]=c,n[2]=a+c;break;case 5:case 6:n[0]=a+c,n[1]=c,n[2]=l+c;break}}function Wb(e){return e<=0.03928?e/12.92:((e+0.055)/1.055)**2.4}function H8(e,n,s){Xb(e,s),s.map(Wb);let i=0.2126*s[0]+0.7152*s[1]+0.0722*s[2];Xb(n,s),s.map(Wb);let r=0.2126*s[0]+0.7152*s[1]+0.0722*s[2];return i>r?(i+0.05)/(r+0.05):(r+0.05)/(i+0.05)}var U8=new Map;function Gq(e,n){let s=e[0]+e[1]*256+e[2]*65536+n[0]*16777216+n[1]*4294967296+n[2]*1099511627776,i=U8.get(s);if(i)return i;let r=new Float32Array(9),a=r.subarray(0,3),l=r.subarray(3,6);B8(e,l);let c=r.subarray(6,9);B8(n,c);let f=c[2]<0.5,m=f?12:4.5;if(l[2]=f?Math.sqrt(l[2]):1-Math.sqrt(1-l[2]),H8(l,c,a)<m){let g,b;if(f)g=l[2],b=1;else g=0,b=l[2];let v=0.005;while(b-g>v){let k=l[2]=(g+b)/2;if(f===H8(l,c,a)<m)g=k;else b=k}l[2]=f?b:g}return Xb(l,a),i=ut.makeHexColor(Math.round(a[0]*255),Math.round(a[1]*255),Math.round(a[2]*255)),U8.set(s,i),i}function w7({html:e,dir:n,className:s},i){let r=document.createDocumentFragment();if(typeof e==="string"){let a=document.createElement("p");a.dir=n||"auto";let l=e.split(/\r\n?|\n/);for(let c=0,f=l.length;c<f;++c){let m=l[c];if(a.append(document.createTextNode(m)),c<f-1)a.append(document.createElement("br"))}r.append(a)}else t2.render({xfaHtml:e,div:r,intent:"richText"});r.firstElementChild.classList.add("richText",s),i.append(r)}function y7(e){let n=new Path2D;if(!e)return n;for(let s=0,i=e.length;s<i;)switch(e[s++]){case Kh.moveTo:n.moveTo(e[s++],e[s++]);break;case Kh.lineTo:n.lineTo(e[s++],e[s++]);break;case Kh.curveTo:n.bezierCurveTo(e[s++],e[s++],e[s++],e[s++],e[s++],e[s++]);break;case Kh.quadraticCurveTo:n.quadraticCurveTo(e[s++],e[s++],e[s++],e[s++]);break;case Kh.closePath:n.closePath();break;default:Zt(`Unrecognized drawing path operator: ${e[s-1]}`);break}return n}class su{#e=null;#t=null;#n;#s=null;#i=null;#a=null;#r=null;#o=null;static#l=null;constructor(e){this.#n=e,su.#l||=Object.freeze({freetext:"pdfjs-editor-remove-freetext-button",highlight:"pdfjs-editor-remove-highlight-button",ink:"pdfjs-editor-remove-ink-button",stamp:"pdfjs-editor-remove-stamp-button",signature:"pdfjs-editor-remove-signature-button"})}render(){let e=this.#e=document.createElement("div");e.classList.add("editToolbar","hidden"),e.setAttribute("role","toolbar");let n=this.#n._uiManager._signal;if(n instanceof AbortSignal&&!n.aborted)e.addEventListener("contextmenu",ca,{signal:n}),e.addEventListener("pointerdown",su.#c,{signal:n});let s=this.#s=document.createElement("div");s.className="buttons",e.append(s);let i=this.#n.toolbarPosition;if(i){let{style:r}=e,a=this.#n._uiManager.direction==="ltr"?1-i[0]:i[0];r.insetInlineEnd=`${100*a}%`,r.top=`calc(${100*i[1]}% + var(--editor-toolbar-vert-offset))`}return e}get div(){return this.#e}static#c(e){e.stopPropagation()}#u(e){this.#n._focusEventsAllowed=!1,ri(e)}#h(e){this.#n._focusEventsAllowed=!0,ri(e)}#d(e){let n=this.#n._uiManager._signal;if(!(n instanceof AbortSignal)||n.aborted)return!1;return e.addEventListener("focusin",this.#u.bind(this),{capture:!0,signal:n}),e.addEventListener("focusout",this.#h.bind(this),{capture:!0,signal:n}),e.addEventListener("contextmenu",ca,{signal:n}),!0}hide(){this.#e.classList.add("hidden"),this.#t?.hideDropdown()}show(){this.#e.classList.remove("hidden"),this.#i?.shown(),this.#a?.shown()}addDeleteButton(){let{editorType:e,_uiManager:n}=this.#n,s=document.createElement("button");if(s.classList.add("basic","deleteButton"),s.tabIndex=0,s.setAttribute("data-l10n-id",su.#l[e]),this.#d(s))s.addEventListener("click",(i)=>{n.delete()},{signal:n._signal});this.#s.append(s)}get#p(){let e=document.createElement("div");return e.className="divider",e}async addAltText(e){let n=await e.render();this.#d(n),this.#s.append(n,this.#p),this.#i=e}addComment(e,n=null){if(this.#a)return;let s=e.renderForToolbar();if(!s)return;this.#d(s);let i=this.#r=this.#p;if(!n)this.#s.append(s,i);else this.#s.insertBefore(s,n),this.#s.insertBefore(i,n);this.#a=e,e.toolbar=this}addColorPicker(e){if(this.#t)return;this.#t=e;let n=e.renderButton();this.#d(n),this.#s.append(n,this.#p)}async addEditSignatureButton(e){let n=this.#o=await e.renderEditButton(this.#n);this.#d(n),this.#s.append(n,this.#p)}removeButton(e){switch(e){case"comment":this.#a?.removeToolbarCommentButton(),this.#a=null,this.#r?.remove(),this.#r=null;break}}async addButton(e,n){switch(e){case"colorPicker":if(n)this.addColorPicker(n);break;case"altText":if(n)await this.addAltText(n);break;case"editSignature":if(n)await this.addEditSignatureButton(n);break;case"delete":this.addDeleteButton();break;case"comment":if(n)this.addComment(n);break}}async addButtonBefore(e,n,s){if(!n&&e==="comment")return;let i=this.#s.querySelector(s);if(!i)return;if(e==="comment")this.addComment(n,i)}updateEditSignatureButton(e){if(this.#o)this.#o.title=e}remove(){this.#e.remove(),this.#t?.destroy(),this.#t=null}}class v7{#e=null;#t=null;#n;constructor(e){this.#n=e}#s(){let e=this.#t=document.createElement("div");e.className="editToolbar",e.setAttribute("role","toolbar"),e.dir=this.#n.direction;let n=this.#n._signal;if(n instanceof AbortSignal&&!n.aborted)e.addEventListener("contextmenu",ca,{signal:n});let s=this.#e=document.createElement("div");if(s.className="buttons",e.append(s),this.#n.hasCommentManager())this.#a("commentButton","pdfjs-comment-floating-button","pdfjs-comment-floating-button-label",()=>{this.#n.commentSelection("floating_button")});return this.#a("highlightButton","pdfjs-highlight-floating-button1","pdfjs-highlight-floating-button-label",()=>{this.#n.highlightSelection("floating_button")}),e}#i(e,n){let s=0,i=0;for(let r of e){let a=r.y+r.height;if(a<s)continue;let l=r.x+(n?r.width:0);if(a>s){i=l,s=a;continue}if(n){if(l>i)i=l}else if(l<i)i=l}return[n?1-i:i,s]}show(e,n,s){let[i,r]=this.#i(n,s),{style:a}=this.#t||=this.#s();e.append(this.#t),a.insetInlineEnd=`${100*i}%`,a.top=`calc(${100*r}% + var(--editor-toolbar-vert-offset))`}hide(){this.#t.remove()}#a(e,n,s,i){let r=document.createElement("button");r.classList.add("basic",e),r.tabIndex=0,r.setAttribute("data-l10n-id",n);let a=document.createElement("span");r.append(a),a.className="visuallyHidden",a.setAttribute("data-l10n-id",s);let l=this.#n._signal;if(l instanceof AbortSignal&&!l.aborted)r.addEventListener("contextmenu",ca,{signal:l}),r.addEventListener("click",i,{signal:l});this.#e.append(r)}}var Vq="59968104-cc61-4cf9-b570-014b35b3709c",Pb=Object.freeze({internal:Vq});function S7(e,n,s){for(let i of s)n.addEventListener(i,e[i].bind(e))}class On{static#e=NaN;static#t=null;static#n=NaN;static#s=null;static initializeAndAddPointerId(e){(On.#t||=new Set).add(e)}static setPointer(e,n){On.#e||=n,On.#s??=e}static setTimeStamp(e){On.#n=e}static isSamePointerId(e){return On.#e===e}static isSamePointerIdOrRemove(e){if(On.#e===e)return!0;return On.#t?.delete(e),!1}static isSamePointerType(e){return On.#s===e}static isInitializedAndDifferentPointerType(e){return On.#s!==null&&!On.isSamePointerType(e)}static isSameTimeStamp(e){return On.#n===e}static isUsingMultiplePointers(){return On.#t?.size>=1}static clearPointerType(){On.#s=null}static clearPointerIds(){On.#e=NaN,On.#t=null}static clearTimeStamp(){On.#n=NaN}}class k7{#e=0;get id(){return`pdfjs_internal_editor_${this.#e++}`}}class i2{#e=p7();#t=0;#n=null;static get _isSVGFittingCanvas(){let s=new OffscreenCanvas(1,3).getContext("2d",{willReadFrequently:!0}),i=new Image;i.src='data:image/svg+xml;charset=UTF-8,<svg viewBox="0 0 1 1" width="1" height="1" xmlns="http://www.w3.org/2000/svg"><rect width="1" height="1" style="fill:red;"/></svg>';let r=i.decode().then(()=>(s.drawImage(i,0,0,1,1,0,0,1,3),new Uint32Array(s.getImageData(0,0,1,1).data.buffer)[0]===0));return Lt(this,"_isSVGFittingCanvas",r)}async#s(e,n){this.#n||=new Map;let s=this.#n.get(e);if(s===null)return null;if(s?.bitmap)return s.refCounter+=1,s;try{s||={bitmap:null,id:`image_${this.#e}_${this.#t++}`,refCounter:0,isSvg:!1};let i;if(typeof n==="string")s.url=n,i=await n2(n,"blob");else if(n instanceof File)i=s.file=n;else if(n instanceof Blob)i=n;if(i.type==="image/svg+xml"){let r=i2._isSVGFittingCanvas,a=new FileReader,l=new Image,c=new Promise((f,m)=>{l.onload=()=>{s.bitmap=l,s.isSvg=!0,f()},a.onload=async()=>{let g=s.svgUrl=a.result;l.src=await r?`${g}#svgView(preserveAspectRatio(none))`:g},l.onerror=a.onerror=m});a.readAsDataURL(i),await c}else s.bitmap=await createImageBitmap(i);s.refCounter=1}catch(i){Zt(i),s=null}if(this.#n.set(e,s),s)this.#n.set(s.id,s);return s}async getFromFile(e){let{lastModified:n,name:s,size:i,type:r}=e;return this.#s(`${n}_${s}_${i}_${r}`,e)}async getFromUrl(e){return this.#s(e,e)}async getFromBlob(e,n){let s=await n;return this.#s(e,s)}async getFromId(e){this.#n||=new Map;let n=this.#n.get(e);if(!n)return null;if(n.bitmap)return n.refCounter+=1,n;if(n.file)return this.getFromFile(n.file);if(n.blobPromise){let{blobPromise:s}=n;return delete n.blobPromise,this.getFromBlob(n.id,s)}return this.getFromUrl(n.url)}getFromCanvas(e,n){this.#n||=new Map;let s=this.#n.get(e);if(s?.bitmap)return s.refCounter+=1,s;let i=new OffscreenCanvas(n.width,n.height);return i.getContext("2d").drawImage(n,0,0),s={bitmap:i.transferToImageBitmap(),id:`image_${this.#e}_${this.#t++}`,refCounter:1,isSvg:!1},this.#n.set(e,s),this.#n.set(s.id,s),s}getSvgUrl(e){let n=this.#n.get(e);if(!n?.isSvg)return null;return n.svgUrl}deleteId(e){this.#n||=new Map;let n=this.#n.get(e);if(!n)return;if(n.refCounter-=1,n.refCounter!==0)return;let{bitmap:s}=n;if(!n.url&&!n.file){let i=new OffscreenCanvas(s.width,s.height);i.getContext("bitmaprenderer").transferFromImageBitmap(s),n.blobPromise=i.convertToBlob()}s.close?.(),n.bitmap=null}isValidId(e){return e.startsWith(`image_${this.#e}_`)}}class x7{#e=[];#t=!1;#n;#s=-1;constructor(e=128){this.#n=e}add({cmd:e,undo:n,post:s,mustExec:i,type:r=NaN,overwriteIfSameType:a=!1,keepUndo:l=!1}){if(i)e();if(this.#t)return;let c={cmd:e,undo:n,post:s,type:r};if(this.#s===-1){if(this.#e.length>0)this.#e.length=0;this.#s=0,this.#e.push(c);return}if(a&&this.#e[this.#s].type===r){if(l)c.undo=this.#e[this.#s].undo;this.#e[this.#s]=c;return}let f=this.#s+1;if(f===this.#n)this.#e.splice(0,1);else if(this.#s=f,f<this.#e.length)this.#e.splice(f);this.#e.push(c)}undo(){if(this.#s===-1)return;this.#t=!0;let{undo:e,post:n}=this.#e[this.#s];e(),n?.(),this.#t=!1,this.#s-=1}redo(){if(this.#s<this.#e.length-1){this.#s+=1,this.#t=!0;let{cmd:e,post:n}=this.#e[this.#s];e(),n?.(),this.#t=!1}}hasSomethingToUndo(){return this.#s!==-1}hasSomethingToRedo(){return this.#s<this.#e.length-1}cleanType(e){if(this.#s===-1)return;for(let n=this.#s;n>=0;n--)if(this.#e[n].type!==e){this.#e.splice(n+1,this.#s-n),this.#s=n;return}this.#e.length=0,this.#s=-1}destroy(){this.#e=null}}class yr{static ALT=1;static CTRL=2;static META=4;static SHIFT=8;constructor(e){this.callbacks=new Map;let{isMac:n}=zn.platform;for(let[s,i,r={}]of e){let a=s.some((l)=>l.startsWith("mac+"));for(let l of s){let c=l;if(a){let g=l.startsWith("mac+");if(n!==g)continue;if(g)c=l.slice(4)}let[f,m]=yr.#e(c);if(f===null)continue;this.callbacks.getOrInsertComputed(f,Sf).push({callback:i,options:r,modifiers:m})}}}static#e(e){let n=null,s=0;for(let i of e.split("+")){if(i=i.trim(),!i)continue;let r=i.toUpperCase(),a=yr[r];if(a){s|=a;continue}if(n!==null){Zt(`KeyboardManager: multiple keys in shortcut "${e}"`);break}n=r==="SPACE"?" ":i}if(n===null)Zt(`KeyboardManager: no key found in shortcut "${e}"`);return[n,s]}static#t(e){let n=/^(?:Key([A-Z])|(?:Digit|Numpad)(\d))$/.exec(e);if(!n)return null;return n[1]?.toLowerCase()??n[2]}exec(e,n){let s=this.callbacks.get(n.key);if(!s){if(/^[a-z]$/i.test(n.key))return;let m=yr.#t(n.code);if(m===null||m===n.key)return;if(s=this.callbacks.get(m),!s)return}let i=(n.altKey?yr.ALT:0)|(n.ctrlKey?yr.CTRL:0)|(n.metaKey?yr.META:0)|(n.shiftKey?yr.SHIFT:0),r=s.find((m)=>m.modifiers===i);if(!r)return;let{callback:a,options:{bubbles:l=!1,args:c=[],checker:f=null}}=r;if(f&&!f(e,n))return;if(a.bind(e,...c,n)(),!l)ri(n)}}class r2{static _colorsMapping=new Map([["CanvasText",[0,0,0]],["Canvas",[255,255,255]]]);get _colors(){let e=new Map([["CanvasText",null],["Canvas",null]]);return Uq(e),Lt(this,"_colors",e)}convert(e){let n=wu(e);if(!window.matchMedia("(forced-colors: active)").matches)return n;for(let[s,i]of this._colors)if(i.every((r,a)=>r===n[a]))return r2._colorsMapping.get(s);return n}getHexCode(e){let n=this._colors.get(e);if(!n)return e;return ut.makeHexColor(...n)}}class Al{#e=new AbortController;#t=null;#n=null;#s=new Map;#i=new Map;#a=null;#r=null;#o=null;#l=null;#c=null;#u=new x7;#h=null;#d=null;#p=null;#g=0;#f=new Set;#m=null;#b=null;#w=new Set;_editorUndoBar=null;#y=!1;#v=!1;#x=!1;#k=null;#A=null;#T=null;#I=null;#j=!1;#C=null;#D=new k7;#R=!1;#q=!1;#B=!1;#M=null;#L=null;#G=null;#O=null;#H=null;#E=Jt.NONE;#S=new Set;#P=null;#U=null;#V=null;#Y=null;#W=null;#K={isEditing:!1,isEmpty:!0,hasSomethingToUndo:!1,hasSomethingToRedo:!1,hasSelectedEditor:!1,hasSelectedText:!1};#F=[0,0];#$=null;#X=null;#ee=null;#te=null;#N=null;static TRANSLATE_SMALL=1;static TRANSLATE_BIG=10;static get _keyboardManager(){let e=Al.prototype,n=(a)=>a.#X.contains(document.activeElement)&&document.activeElement.tagName!=="BUTTON"&&a.hasSomethingToControl(),s=(a,{target:l})=>{if(l instanceof HTMLInputElement){let{type:c}=l;return c!=="text"&&c!=="number"}return!0},i=this.TRANSLATE_SMALL,r=this.TRANSLATE_BIG;return Lt(this,"_keyboardManager",new yr([[["ctrl+a","mac+meta+a"],e.selectAll,{checker:s}],[["ctrl+z","mac+meta+z"],e.undo,{checker:s}],[["ctrl+y","ctrl+shift+z","mac+meta+shift+z","ctrl+shift+Z","mac+meta+shift+Z"],e.redo,{checker:s}],[["Backspace","alt+Backspace","ctrl+Backspace","shift+Backspace","mac+Backspace","mac+alt+Backspace","mac+ctrl+Backspace","Delete","ctrl+Delete","shift+Delete","mac+Delete"],e.delete,{checker:s}],[["Enter"],e.addNewEditorFromKeyboard,{checker:(a,{target:l})=>!(l instanceof HTMLButtonElement)&&a.#X.contains(l)&&!a.isEnterHandled}],[["Space"],e.addNewEditorFromKeyboard,{checker:(a,{target:l})=>!(l instanceof HTMLButtonElement)&&a.#X.contains(document.activeElement)}],[["Escape"],e.unselectAll],[["ArrowLeft"],e.translateSelectedEditors,{args:[-i,0],checker:n}],[["ctrl+ArrowLeft","mac+shift+ArrowLeft"],e.translateSelectedEditors,{args:[-r,0],checker:n}],[["ArrowRight"],e.translateSelectedEditors,{args:[i,0],checker:n}],[["ctrl+ArrowRight","mac+shift+ArrowRight"],e.translateSelectedEditors,{args:[r,0],checker:n}],[["ArrowUp"],e.translateSelectedEditors,{args:[0,-i],checker:n}],[["ctrl+ArrowUp","mac+shift+ArrowUp"],e.translateSelectedEditors,{args:[0,-r],checker:n}],[["ArrowDown"],e.translateSelectedEditors,{args:[0,i],checker:n}],[["ctrl+ArrowDown","mac+shift+ArrowDown"],e.translateSelectedEditors,{args:[0,r],checker:n}]]))}constructor(e,n,s,i,r,a,l,c,f,m,g,b,v,k,T,_){let P=this._signal=this.#e.signal;this.#X=e,this.#ee=n,this.#te=s,this.#o=i,this.#h=r,this.#U=a,this.#W=c,this._eventBus=l;let U={signal:P,...Pb};l.on("editingaction",this.onEditingAction.bind(this),U),l.on("pagechanging",this.onPageChanging.bind(this),U),l.on("scalechanging",this.onScaleChanging.bind(this),U),l.on("rotationchanging",this.onRotationChanging.bind(this),U),l.on("setpreference",this.onSetPreference.bind(this),U),l.on("switchannotationeditorparams",(z)=>this.updateParams(z.type,z.value),U),window.addEventListener("pointerdown",()=>{this.#q=!0},{capture:!0,signal:P}),window.addEventListener("pointerup",()=>{this.#q=!1},{capture:!0,signal:P}),window.addEventListener("beforeunload",this.endCurrentEditing.bind(this),{capture:!0,signal:P}),this.#le(),this.#me(),this.#se(),this.#l=c.annotationStorage,this.#k=c.filterFactory,this.#V=f,this.#I=m||null,this.#y=g,this.#v=b,this.#x=v,this.#H=k||null,this.viewParameters={realScale:cc.PDF_TO_CSS_UNITS,rotation:0},this.isShiftKeyDown=!1,this._editorUndoBar=T||null,this._supportsPinchToZoom=_!==!1,r?.setSidebarUiManager(this)}destroy(){this.#N?.resolve(),this.#N=null,this.#e?.abort(),this.#e=null,this._signal=null;for(let e of this.#i.values())e.destroy();if(this.#i.clear(),this.#s.clear(),this.#w.clear(),this.#O?.clear(),this.#t=null,this.#S.clear(),this.#u.destroy(),this.#o?.destroy(),this.#h?.destroy(),this.#U?.destroy(),this.#C?.hide(),this.#C=null,this.#G?.destroy(),this.#G=null,this.#n=null,this.#A)clearTimeout(this.#A),this.#A=null;if(this.#$)clearTimeout(this.#$),this.#$=null;this._editorUndoBar?.destroy(),this.#W=null}combinedSignal(e){return AbortSignal.any([this._signal,e.signal])}get mlManager(){return this.#H}get useNewAltTextFlow(){return this.#v}get useNewAltTextWhenAddingImage(){return this.#x}get hcmFilter(){return Lt(this,"hcmFilter",this.#V?this.#k.addHCMFilter(this.#V.foreground,this.#V.background):"none")}get direction(){return Lt(this,"direction",getComputedStyle(this.#X).direction)}get _highlightColors(){return Lt(this,"_highlightColors",this.#I?new Map(this.#I.split(",").map((e)=>(e=e.split("=").map((n)=>n.trim()),e[1]=e[1].toUpperCase(),e))):null)}get highlightColors(){let{_highlightColors:e}=this;if(!e)return Lt(this,"highlightColors",null);let n=new Map,s=!!this.#V;for(let[i,r]of e){let a=i.endsWith("_HCM");if(s&&a){n.set(i.replace("_HCM",""),r);continue}if(!s&&!a)n.set(i,r)}return Lt(this,"highlightColors",n)}get highlightColorNames(){return Lt(this,"highlightColorNames",this.highlightColors?new Map(Array.from(this.highlightColors,(e)=>e.reverse())):null)}getNonHCMColor(e){if(!this._highlightColors)return e;let n=this.highlightColorNames.get(e);return this._highlightColors.get(n)||e}getNonHCMColorName(e){return this.highlightColorNames.get(e)||e}setCurrentDrawingSession(e){if(e)this.unselectAll(),this.disableUserSelect(!0);else this.disableUserSelect(!1);this.#p=e}setMainHighlightColorPicker(e){this.#G=e}editAltText(e,n=!1){this.#o?.editAltText(this,e,n)}hasCommentManager(){return!!this.#h}editComment(e,n,s,i){this.#h?.showDialog(this,e,n,s,i)}selectComment(e,n){this.#i.get(e)?.getEditorByUID(n)?.toggleComment(!0,!0)}updateComment(e){this.#h?.updateComment(e.getData())}updatePopupColor(e){this.#h?.updatePopupColor(e)}removeComment(e){this.#h?.removeComments([e.uid])}deleteComment(e,n){let s=()=>{e.comment=n},i=()=>{this._editorUndoBar?.show(s,"comment"),this.toggleComment(null),e.comment=null};this.addCommands({cmd:i,undo:s,mustExec:!0})}toggleComment(e,n,s=void 0){this.#h?.toggleCommentPopup(e,n,s)}makeCommentColor(e,n){return e&&this.#h?.makeCommentColor(e,n)||null}getCommentDialogElement(){return this.#h?.dialogElement||null}async waitForEditorsRendered(e){if(this.#i.has(e-1))return;let{resolve:n,promise:s}=Promise.withResolvers(),i=(r)=>{if(r.pageNumber===e)this._eventBus.off("editorsrendered",i),n()};this._eventBus.on("editorsrendered",i,Pb),await s}getSignature(e){this.#U?.getSignature({uiManager:this,editor:e})}get signatureManager(){return this.#U}switchToMode(e,n){this._eventBus.on("annotationeditormodechanged",n,{once:!0,signal:this._signal,...Pb}),this._eventBus.dispatch("showannotationeditorui",{source:this,mode:e})}setPreference(e,n){this._eventBus.dispatch("setpreference",{source:this,name:e,value:n})}onSetPreference({name:e,value:n}){switch(e){case"enableNewAltTextWhenAddingImage":this.#x=n;break}}onPageChanging({pageNumber:e}){this.#g=e-1}deletePage(e){for(let n of this.getEditors(e))n.remove();if(this.#i.delete(e),this.#g===e)this.#g=0}focusMainContainer(){this.#X.focus()}findParent(e,n){for(let s of this.#i.values()){let{x:i,y:r,width:a,height:l}=s.div.getBoundingClientRect();if(e>=i&&e<=i+a&&n>=r&&n<=r+l)return s}return null}disableUserSelect(e=!1){this.#ee.classList.toggle("noUserSelect",e)}addShouldRescale(e){this.#w.add(e)}removeShouldRescale(e){this.#w.delete(e)}onScaleChanging({scale:e}){this.commitOrRemove(),this.viewParameters.realScale=e*cc.PDF_TO_CSS_UNITS;for(let n of this.#w)n.onScaleChanging();this.#p?.onScaleChanging()}onRotationChanging({pagesRotation:e}){this.commitOrRemove(),this.viewParameters.rotation=e}#Z({anchorNode:e}){return e.nodeType===Node.TEXT_NODE?e.parentElement:e}#ne(e){let{currentLayer:n}=this;if(n.hasTextLayer(e))return n;for(let s of this.#i.values())if(s.hasTextLayer(e))return s;return null}highlightSelection(e="",n=!1){let s=document.getSelection();if(!s||s.isCollapsed)return;let{anchorNode:i,anchorOffset:r,focusNode:a,focusOffset:l}=s,c=s.toString(),m=this.#Z(s).closest(".textLayer"),g=this.getSelectionBoxes(m);if(!g)return;s.empty();let b=this.#ne(m),v=this.#E===Jt.NONE,k=()=>{let T=b?.createAndAddNewEditor({x:0,y:0},!1,{methodOfCreation:e,boxes:g,anchorNode:i,anchorOffset:r,focusNode:a,focusOffset:l,text:c});if(v)this.showAllEditors("highlight",!0,!0);if(n)T?.editComment()};if(v){this.switchToMode(Jt.HIGHLIGHT,k);return}k()}commentSelection(e=""){this.highlightSelection(e,!0)}endCurrentEditing(){this.commitOrRemove(),this.currentLayer?.endDrawingSession(!1)}#ae(){let e=document.getSelection();if(!e||e.isCollapsed)return;let s=this.#Z(e).closest(".textLayer"),i=this.getSelectionBoxes(s);if(!i)return;this.#C||=new v7(this),this.#C.show(s,i,this.direction==="ltr")}getAndRemoveDataFromAnnotationStorage(e){if(!this.#l)return null;let n=`pdfjs_internal_editor_${e}`,s=this.#l.getRawValue(n);if(s)this.#l.remove(n);return s}addToAnnotationStorage(e){if(!e.isEmpty()&&this.#l&&!this.#l.has(e.id))this.#l.setValue(e.id,e)}a11yAlert(e,n=null){let s=this.#te;if(!s)return;if(s.setAttribute("data-l10n-id",e),n)s.setAttribute("data-l10n-args",JSON.stringify(n));else s.removeAttribute("data-l10n-args")}#oe(){let e=document.getSelection();if(!e||e.isCollapsed){if(this.#P)this.#C?.hide(),this.#P=null,this.#_({hasSelectedText:!1});return}let{anchorNode:n}=e;if(n===this.#P)return;let i=this.#Z(e).closest(".textLayer");if(!i){if(this.#P)this.#C?.hide(),this.#P=null,this.#_({hasSelectedText:!1});return}if(this.#C?.hide(),this.#P=n,this.#_({hasSelectedText:!0}),this.#E!==Jt.HIGHLIGHT&&this.#E!==Jt.NONE)return;if(this.#E===Jt.HIGHLIGHT)this.showAllEditors("highlight",!0,!0);if(this.#j=this.isShiftKeyDown,!this.isShiftKeyDown){let r=this.#E===Jt.HIGHLIGHT?this.#ne(i):null;if(r?.toggleDrawing(),this.#q){let a=new AbortController,l=this.combinedSignal(a),c=(f)=>{if(f.type==="pointerup"&&f.button!==0)return;if(a.abort(),r?.toggleDrawing(!0),f.type==="pointerup")this.#Q("main_toolbar")};window.addEventListener("pointerup",c,{signal:l}),window.addEventListener("blur",c,{signal:l})}else r?.toggleDrawing(!0),this.#Q("main_toolbar")}}#Q(e=""){if(this.#E===Jt.HIGHLIGHT)this.highlightSelection(e);else if(this.#y)this.#ae()}#le(){document.addEventListener("selectionchange",this.#oe.bind(this),{signal:this._signal})}#ce(){if(this.#T)return;this.#T=new AbortController;let e=this.combinedSignal(this.#T);window.addEventListener("focus",this.focus.bind(this),{signal:e}),window.addEventListener("blur",this.blur.bind(this),{signal:e})}#fe(){this.#T?.abort(),this.#T=null}blur(){if(this.isShiftKeyDown=!1,this.#j)this.#j=!1,this.#Q("main_toolbar");if(!this.hasSelection)return;let{activeElement:e}=document;for(let n of this.#S)if(n.div.contains(e)){this.#L=[n,e],n._focusEventsAllowed=!1;break}}focus(){if(!this.#L)return;let[e,n]=this.#L;this.#L=null,n.addEventListener("focusin",()=>{e._focusEventsAllowed=!0},{once:!0,signal:this._signal}),n.focus()}#se(){if(this.#M)return;this.#M=new AbortController;let e=this.combinedSignal(this.#M);window.addEventListener("keydown",this.keydown.bind(this),{signal:e}),window.addEventListener("keyup",this.keyup.bind(this),{signal:e})}#he(){this.#M?.abort(),this.#M=null}#ue(){if(this.#d)return;this.#d=new AbortController;let e=this.combinedSignal(this.#d);document.addEventListener("copy",this.copy.bind(this),{signal:e}),document.addEventListener("cut",this.cut.bind(this),{signal:e}),document.addEventListener("paste",this.paste.bind(this),{signal:e})}#de(){this.#d?.abort(),this.#d=null}#me(){let e=this._signal;document.addEventListener("dragover",this.dragOver.bind(this),{signal:e}),document.addEventListener("drop",this.drop.bind(this),{signal:e})}addEditListeners(){this.#se(),this.setEditingState(!0)}removeEditListeners(){this.#he(),this.setEditingState(!1)}dragOver(e){for(let{type:n}of e.dataTransfer.items)for(let s of this.#b)if(s.isHandlingMimeForPasting(n)){e.dataTransfer.dropEffect="copy",e.preventDefault();return}}drop(e){for(let n of e.dataTransfer.items)for(let s of this.#b)if(s.isHandlingMimeForPasting(n.type)){s.paste(n,this.currentLayer),e.preventDefault();return}}copy(e){if(e.preventDefault(),this.#t?.commitOrRemove(),!this.hasSelection)return;let n=[];for(let s of this.#S){let i=s.serialize(!0);if(i)n.push(i)}if(n.length===0)return;e.clipboardData.setData("application/pdfjs",JSON.stringify(n))}cut(e){this.copy(e),this.delete()}async paste(e){e.preventDefault();let{clipboardData:n}=e;for(let r of n.items)for(let a of this.#b)if(a.isHandlingMimeForPasting(r.type)){a.paste(r,this.currentLayer);return}let s=n.getData("application/pdfjs");if(!s)return;try{s=JSON.parse(s)}catch(r){Zt(`paste: "${r.message}".`);return}if(!Array.isArray(s))return;this.unselectAll();let i=this.currentLayer;try{let r=[];for(let c of s){let f=await i.deserialize(c);if(!f)return;r.push(f)}let a=()=>{for(let c of r)this.#ie(c);this.#re(r)},l=()=>{for(let c of r)c.remove()};this.addCommands({cmd:a,undo:l,mustExec:!0})}catch(r){Zt(`paste: "${r.message}".`)}}keydown(e){if(!this.isShiftKeyDown&&e.key==="Shift")this.isShiftKeyDown=!0;if(this.#E!==Jt.NONE&&!this.isEditorHandlingKeyboard)Al._keyboardManager.exec(this,e)}keyup(e){if(this.isShiftKeyDown&&e.key==="Shift"){if(this.isShiftKeyDown=!1,this.#j)this.#j=!1,this.#Q("main_toolbar")}}onEditingAction({name:e}){switch(e){case"undo":case"redo":case"delete":case"selectAll":this[e]();break;case"highlightSelection":this.highlightSelection("context_menu");break;case"commentSelection":this.commentSelection("context_menu");break}}updatePageIndex(e,n){for(let i of this.#r.get(e)||[])i.pageIndex=n;let s=this.#a.get(e);if(s)if(s.pageIndex=n,this.#i.set(n,s),this.#R)s.enable();else s.disable()}startUpdatePages(){this.#a=new Map(this.#i),this.#i.clear();let e=this.#r=new Map,n=(s)=>{e.getOrInsertComputed(s.pageIndex,Sf).push(s)};for(let s of this.#s.values())n(s);for(let[s,i]of this.#l)if(s.startsWith("pdfjs_internal_editor_")&&!this.#s.has(s)&&Number.isInteger(i?.pageIndex))n(i)}endUpdatePages(){this.#a=null,this.#r=null}clonePage(e,n){for(let s of this.getEditors(e)){let i=s.serialize(s.mode!==Jt.HIGHLIGHT);if(!i)continue;i.pageIndex=n,i.id=this.getId(),i.isClone=!0,delete i.popupRef,this.#l.setValue(i.id,i)}}findClonesForPage(e){let n=[],{pageIndex:s}=e;for(let[i,r]of this.#l)if(r.pageIndex===s&&r.isClone)this.#l.remove(i),n.push(e.deserialize(r).then((a)=>{if(a)a.isClone=!0,e.addOrRebuild(a)}));return Promise.all(n)}#_(e){if(Object.entries(e).some(([s,i])=>this.#K[s]!==i)){if(this._eventBus.dispatch("editingstateschanged",{source:this,details:Object.assign(this.#K,e)}),this.#E===Jt.HIGHLIGHT&&e.hasSelectedEditor===!1)this.#z([[Sn.HIGHLIGHT_FREE,!0]])}}#z(e){this._eventBus.dispatch("annotationeditorparamschanged",{source:this,details:e})}setEditingState(e){if(e)this.#ce(),this.#ue(),this.#_({isEditing:this.#E!==Jt.NONE,isEmpty:this.#J(),hasSomethingToUndo:this.#u.hasSomethingToUndo(),hasSomethingToRedo:this.#u.hasSomethingToRedo(),hasSelectedEditor:!1});else this.#fe(),this.#de(),this.#_({isEditing:!1}),this.disableUserSelect(!1)}registerEditorTypes(e){if(this.#b)return;this.#b=e;for(let n of this.#b)this.#z(n.defaultPropertiesToUpdate)}getId(){return this.#D.id}get currentLayer(){return this.#i.get(this.#g)}getLayer(e){return this.#i.get(e)}get currentPageIndex(){return this.#g}addLayer(e){if(this.#i.set(e.pageIndex,e),this.#R)e.enable();else e.disable()}removeLayer(e){this.#i.delete(e.pageIndex)}async updateMode(e,n=null,s=!1,i=!1,r=!1,a=!1){if(this.#E===e)return;if(this.#N){if(await this.#N.promise,!this.#N)return}if(this.#N=Promise.withResolvers(),this.#p?.commitOrRemove(),this.#E===Jt.POPUP)this.#h?.hideSidebar();if(this.#h?.destroyPopup(),this.#E=e,e===Jt.NONE){this.setEditingState(!1),this.#ge();for(let l of this.#s.values())l.hideStandaloneCommentButton();this._editorUndoBar?.hide(),this.toggleComment(null),this.#N.resolve();return}for(let l of this.#s.values())l.addStandaloneCommentButton();if(e===Jt.SIGNATURE)await this.#U?.loadSignatures();if(s)On.clearPointerType();this.setEditingState(!0),await this.#pe(),this.unselectAll();for(let l of this.#i.values())l.updateMode(e);if(e===Jt.POPUP){this.#n||=await this.#W.getAnnotationsByType(new Set(this.#b.map((f)=>f._editorType)));let l=new Set,c=[];for(let f of this.#s.values()){let{annotationElementId:m,hasComment:g,deleted:b}=f;if(m)l.add(m);if(g&&!b)c.push(f.getData())}for(let f of this.#n){let{id:m,popupRef:g,contentsObj:b}=f;if(g&&b?.str&&!l.has(m)&&!this.#f.has(m))c.push(f)}this.#h?.showSidebar(c)}if(!n){if(i)this.addNewEditorFromKeyboard();this.#N.resolve();return}for(let l of this.#s.values())if(l.uid===n)if(this.setSelected(l),a)l.editComment();else if(r)l.enterInEditMode();else l.focus();else l.unselect();this.#N.resolve()}addNewEditorFromKeyboard(){if(this.currentLayer.canCreateNewEmptyEditor())this.currentLayer.addNewEditor()}updateToolbar(e){if(e.mode===this.#E)return;this._eventBus.dispatch("switchannotationeditormode",{source:this,...e})}updateParams(e,n){if(!this.#b)return;switch(e){case Sn.CREATE:this.currentLayer.addNewEditor(n);return;case Sn.HIGHLIGHT_SHOW_ALL:this._eventBus.dispatch("reporttelemetry",{source:this,details:{type:"editing",data:{type:"highlight",action:"toggle_visibility"}}}),(this.#Y||=new Map).set(e,n),this.showAllEditors("highlight",n);break}if(this.hasSelection)for(let s of this.#S)s.updateParams(e,n);else for(let s of this.#b)s.updateDefaultParams(e,n)}showAllEditors(e,n,s=!1){for(let r of this.#s.values())if(r.editorType===e)r.show(n);if((this.#Y?.get(Sn.HIGHLIGHT_SHOW_ALL)??!0)!==n)this.#z([[Sn.HIGHLIGHT_SHOW_ALL,n]])}enableWaiting(e=!1){if(this.#B===e)return;this.#B=e;for(let n of this.#i.values()){if(e)n.disableClick();else n.enableClick();n.div.classList.toggle("waiting",e)}}async#pe(){if(!this.#R){this.#R=!0;let e=[];for(let n of this.#i.values())e.push(n.enable());await Promise.all(e);for(let n of this.#s.values())n.enable()}}#ge(){if(this.unselectAll(),this.#R){this.#R=!1;for(let e of this.#i.values())e.disable();for(let e of this.#s.values())e.disable()}}*getEditors(e){for(let n of this.#s.values())if(n.pageIndex===e)yield n}getEditor(e){return this.#s.get(e)}addEditor(e){this.#s.set(e.id,e)}removeEditor(e){if(e.div.contains(document.activeElement)){if(this.#A)clearTimeout(this.#A);this.#A=setTimeout(()=>{this.focusMainContainer(),this.#A=null},0)}if(this.#s.delete(e.id),e.annotationElementId)this.#O?.delete(e.annotationElementId);if(this.unselect(e),!e.annotationElementId||!this.#f.has(e.annotationElementId))this.#l?.remove(e.id)}addDeletedAnnotationElement(e){this.#f.add(e.annotationElementId),this.addChangedExistingAnnotation(e),e.deleted=!0}isDeletedAnnotationElement(e){return this.#f.has(e)}removeDeletedAnnotationElement(e){this.#f.delete(e.annotationElementId),this.removeChangedExistingAnnotation(e),e.deleted=!1}#ie(e){let n=this.#i.get(e.pageIndex);if(n)n.addOrRebuild(e);else this.addEditor(e),this.addToAnnotationStorage(e)}setActiveEditor(e){if(this.#t===e)return;if(this.#t=e,e)this.#z(e.propertiesToUpdate)}get#be(){let e=null;for(e of this.#S);return e}updateUI(e){if(this.#be===e)this.#z(e.propertiesToUpdate)}updateUIForDefaultProperties(e){this.#z(e.defaultPropertiesToUpdate)}toggleSelected(e){if(this.#S.has(e)){this.#S.delete(e),e.unselect(),this.#_({hasSelectedEditor:this.hasSelection});return}this.#S.add(e),e.select(),this.#z(e.propertiesToUpdate),this.#_({hasSelectedEditor:!0})}setSelected(e){this.updateToolbar({mode:e.mode,editId:e.uid}),this.#p?.commitOrRemove();for(let n of this.#S)if(n!==e)n.unselect();this.#h?.destroyPopup(),this.#S.clear(),this.#S.add(e),e.select(),this.#z(e.propertiesToUpdate),this.#_({hasSelectedEditor:!0})}get firstSelectedEditor(){return this.#S.values().next().value}unselect(e){e.unselect(),this.#S.delete(e),this.#_({hasSelectedEditor:this.hasSelection})}get hasSelection(){return this.#S.size!==0}get isEnterHandled(){return this.#S.size===1&&this.firstSelectedEditor.isEnterHandled}undo(){this.#u.undo(),this.#_({hasSomethingToUndo:this.#u.hasSomethingToUndo(),hasSomethingToRedo:!0,isEmpty:this.#J()}),this._editorUndoBar?.hide()}redo(){this.#u.redo(),this.#_({hasSomethingToUndo:!0,hasSomethingToRedo:this.#u.hasSomethingToRedo(),isEmpty:this.#J()})}addCommands(e){this.#u.add(e),this.#_({hasSomethingToUndo:!0,hasSomethingToRedo:!1,isEmpty:this.#J()})}cleanUndoStack(e){this.#u.cleanType(e)}#J(){if(this.#s.size===0)return!0;if(this.#s.size===1)for(let e of this.#s.values())return e.isEmpty();return!1}delete(){this.commitOrRemove();let e=this.currentLayer?.endDrawingSession(!0);if(!this.hasSelection&&!e)return;let n=e?[e]:[...this.#S],s=()=>{this._editorUndoBar?.show(i,n.length===1?n[0].editorType:n.length);for(let r of n)r.remove()},i=()=>{for(let r of n)this.#ie(r)};this.addCommands({cmd:s,undo:i,mustExec:!0})}commitOrRemove(){this.#t?.commitOrRemove()}hasSomethingToControl(){return this.#t||this.hasSelection}#re(e){for(let n of this.#S)n.unselect();this.#S.clear();for(let n of e){if(n.isEmpty())continue;this.#S.add(n),n.select()}this.#_({hasSelectedEditor:this.hasSelection})}selectAll(){for(let e of this.#S)e.commit();this.#re(this.#s.values())}unselectAll(){if(this.#t){if(this.#t.commitOrRemove(),this.#E!==Jt.NONE)return}if(this.#p?.commitOrRemove())return;if(this.#h?.destroyPopup(),!this.hasSelection)return;for(let e of this.#S)e.unselect();this.#S.clear(),this.#_({hasSelectedEditor:!1})}translateSelectedEditors(e,n,s=!1){if(!s)this.commitOrRemove();if(!this.hasSelection)return;this.#F[0]+=e,this.#F[1]+=n;let[i,r]=this.#F,a=[...this.#S],l=1000;if(this.#$)clearTimeout(this.#$);this.#$=setTimeout(()=>{this.#$=null,this.#F[0]=this.#F[1]=0,this.addCommands({cmd:()=>{for(let c of a)if(this.#s.has(c.id))c.translateInPage(i,r),c.translationDone()},undo:()=>{for(let c of a)if(this.#s.has(c.id))c.translateInPage(-i,-r),c.translationDone()},mustExec:!1})},l);for(let c of a)c.translateInPage(e,n),c.translationDone()}setUpDragSession(){if(!this.hasSelection)return;this.disableUserSelect(!0),this.#m=new Map;for(let e of this.#S)this.#m.set(e,{savedX:e.x,savedY:e.y,savedPageIndex:e.pageIndex,newX:0,newY:0,newPageIndex:-1})}endDragSession(){if(!this.#m)return!1;this.disableUserSelect(!1);let e=this.#m;this.#m=null;let n=!1;for(let[{x:i,y:r,pageIndex:a},l]of e)l.newX=i,l.newY=r,l.newPageIndex=a,n||=i!==l.savedX||r!==l.savedY||a!==l.savedPageIndex;if(!n)return!1;let s=(i,r,a,l)=>{if(this.#s.has(i.id)){let c=this.#i.get(l);if(c)i._setParentAndPosition(c,r,a);else i.pageIndex=l,i.x=r,i.y=a}};return this.addCommands({cmd:()=>{for(let[i,{newX:r,newY:a,newPageIndex:l}]of e)s(i,r,a,l)},undo:()=>{for(let[i,{savedX:r,savedY:a,savedPageIndex:l}]of e)s(i,r,a,l)},mustExec:!0}),!0}dragSelectedEditors(e,n){if(!this.#m)return;for(let s of this.#m.keys())s.drag(e,n)}rebuild(e){if(e.parent===null){let n=this.getLayer(e.pageIndex);if(n)n.changeParent(e),n.addOrRebuild(e);else this.addEditor(e),this.addToAnnotationStorage(e),e.rebuild()}else e.parent.addOrRebuild(e)}get isEditorHandlingKeyboard(){return this.getActive()?.shouldGetKeyboardEvents()||this.#S.size===1&&this.firstSelectedEditor.shouldGetKeyboardEvents()}isActive(e){return this.#t===e}getActive(){return this.#t}getMode(){return this.#E}isEditingMode(){return this.#E!==Jt.NONE}get imageManager(){return Lt(this,"imageManager",new i2)}getSelectionBoxes(e){if(!e)return null;let n=document.getSelection();for(let f=0,m=n.rangeCount;f<m;f++)if(!e.contains(n.getRangeAt(f).commonAncestorContainer))return null;let{x:s,y:i,width:r,height:a}=e.getBoundingClientRect(),l;switch(e.getAttribute("data-main-rotation")){case"90":l=(f,m,g,b)=>({x:(m-i)/a,y:1-(f+g-s)/r,width:b/a,height:g/r});break;case"180":l=(f,m,g,b)=>({x:1-(f+g-s)/r,y:1-(m+b-i)/a,width:g/r,height:b/a});break;case"270":l=(f,m,g,b)=>({x:1-(m+b-i)/a,y:(f-s)/r,width:b/a,height:g/r});break;default:l=(f,m,g,b)=>({x:(f-s)/r,y:(m-i)/a,width:g/r,height:b/a});break}let c=[];for(let f=0,m=n.rangeCount;f<m;f++){let g=n.getRangeAt(f);if(g.collapsed)continue;for(let{x:b,y:v,width:k,height:T}of g.getClientRects()){if(k===0||T===0)continue;c.push(l(b,v,k,T))}}return c.length===0?null:c}addChangedExistingAnnotation({annotationElementId:e,id:n}){(this.#c||=new Map).set(e,n)}removeChangedExistingAnnotation({annotationElementId:e}){this.#c?.delete(e)}renderAnnotationElement(e){let n=this.#c?.get(e.data.id);if(!n)return;let s=this.#l.getRawValue(n);if(!s)return;if(this.#E===Jt.NONE&&!s.hasBeenModified)return;s.renderAnnotationElement(e)}setMissingCanvas(e,n,s){let i=this.#O?.get(e);if(!i)return;i.setCanvas(n,s),this.#O.delete(e)}addMissingCanvas(e,n){(this.#O||=new Map).set(e,n)}}class Va{#e=null;#t=!1;#n=null;#s=null;#i=null;#a=null;#r=!1;#o=null;#l=null;#c=null;#u=null;#h=!1;static#d=null;static _l10n=null;constructor(e){this.#l=e,this.#h=e._uiManager.useNewAltTextFlow,Va.#d||=Object.freeze({added:"pdfjs-editor-new-alt-text-added-button","added-label":"pdfjs-editor-new-alt-text-added-button-label",missing:"pdfjs-editor-new-alt-text-missing-button","missing-label":"pdfjs-editor-new-alt-text-missing-button-label",review:"pdfjs-editor-new-alt-text-to-review-button","review-label":"pdfjs-editor-new-alt-text-to-review-button-label"})}static initialize(e){Va._l10n??=e}async render(){let e=this.#n=document.createElement("button");e.className="altText",e.tabIndex="0";let n=this.#s=document.createElement("span");if(e.append(n),this.#h)e.classList.add("new"),e.setAttribute("data-l10n-id",Va.#d.missing),n.setAttribute("data-l10n-id",Va.#d["missing-label"]);else e.setAttribute("data-l10n-id","pdfjs-editor-alt-text-button"),n.setAttribute("data-l10n-id","pdfjs-editor-alt-text-button-label");let s=this.#l._uiManager._signal;e.addEventListener("contextmenu",ca,{signal:s}),e.addEventListener("pointerdown",(r)=>r.stopPropagation(),{signal:s});let i=(r)=>{if(r.preventDefault(),this.#l._uiManager.editAltText(this.#l),this.#h)this.#l._reportTelemetry({action:"pdfjs.image.alt_text.image_status_label_clicked",data:{label:this.#p}})};return e.addEventListener("click",i,{capture:!0,signal:s}),e.addEventListener("keydown",(r)=>{if(r.target===e&&r.key==="Enter")this.#r=!0,i(r)},{signal:s}),await this.#g(),e}get#p(){return this.#e&&"added"||this.#e===null&&this.guessedText&&"review"||"missing"}finish(){if(!this.#n)return;this.#n.focus({focusVisible:this.#r}),this.#r=!1}isEmpty(){return this.#h?this.#e===null:!this.#e&&!this.#t}hasData(){return this.#h?this.#e!==null||!!this.#c:this.isEmpty()}get guessedText(){return this.#c}async setGuessedText(e){if(this.#e!==null)return;this.#c=e,this.#u=await Va._l10n.get("pdfjs-editor-new-alt-text-generated-alt-text-with-disclaimer",{generatedAltText:e}),this.#g()}toggleAltTextBadge(e=!1){if(!this.#h||this.#e){this.#o?.remove(),this.#o=null;return}if(!this.#o){let n=this.#o=document.createElement("div");n.className="noAltTextBadge",this.#l.div.append(n)}this.#o.classList.toggle("hidden",!e)}serialize(e){let n=this.#e;if(!e&&this.#c===n)n=this.#u;return{altText:n,decorative:this.#t,guessedText:this.#c,textWithDisclaimer:this.#u}}get data(){return{altText:this.#e,decorative:this.#t}}set data({altText:e,decorative:n,guessedText:s,textWithDisclaimer:i,cancel:r=!1}){if(s)this.#c=s,this.#u=i;if(this.#e===e&&this.#t===n)return;if(!r)this.#e=e,this.#t=n;this.#g()}toggle(e=!1){if(!this.#n)return;if(!e&&this.#a)clearTimeout(this.#a),this.#a=null;this.#n.disabled=!e}shown(){this.#l._reportTelemetry({action:"pdfjs.image.alt_text.image_status_label_displayed",data:{label:this.#p}})}destroy(){this.#n?.remove(),this.#n=null,this.#s=null,this.#i=null,this.#o?.remove(),this.#o=null}async#g(){let e=this.#n;if(!e)return;if(this.#h){if(e.classList.toggle("done",!!this.#e),e.setAttribute("data-l10n-id",Va.#d[this.#p]),this.#s?.setAttribute("data-l10n-id",Va.#d[`${this.#p}-label`]),!this.#e){this.#i?.remove();return}}else{if(!this.#e&&!this.#t){e.classList.remove("done"),this.#i?.remove();return}e.classList.add("done"),e.setAttribute("data-l10n-id","pdfjs-editor-alt-text-edit-button")}let n=this.#i;if(!n){this.#i=n=document.createElement("span"),n.className="tooltip",n.setAttribute("role","tooltip"),n.id=`alt-text-tooltip-${this.#l.id}`;let i=100,r=this.#l._uiManager._signal;r.addEventListener("abort",()=>{clearTimeout(this.#a),this.#a=null},{once:!0}),e.addEventListener("mouseenter",()=>{this.#a=setTimeout(()=>{this.#a=null,this.#i.classList.add("show"),this.#l._reportTelemetry({action:"alt_text_tooltip"})},i)},{signal:r}),e.addEventListener("mouseleave",()=>{if(this.#a)clearTimeout(this.#a),this.#a=null;this.#i?.classList.remove("show")},{signal:r})}if(this.#t)n.setAttribute("data-l10n-id","pdfjs-editor-alt-text-decorative-tooltip");else n.removeAttribute("data-l10n-id"),n.textContent=this.#e;if(!n.parentNode)e.append(n);this.#l.getElementForAltText()?.setAttribute("aria-describedby",n.id)}}class Zh{#e=null;#t=null;#n=!1;#s=null;#i=null;#a=null;#r=null;#o=null;#l=!1;#c=null;constructor(e){this.#s=e}renderForToolbar(){let e=this.#t=document.createElement("button");return e.className="comment",this.#u(e,!1)}renderForStandalone(){let e=this.#e=document.createElement("button");e.className="annotationCommentButton";let n=this.#s.commentButtonPosition;if(n){let{style:s}=e;s.insetInlineEnd=`calc(${100*(this.#s._uiManager.direction==="ltr"?1-n[0]:n[0])}% - var(--comment-button-dim))`,s.top=`calc(${100*n[1]}% - var(--comment-button-dim))`;let i=this.#s.commentButtonColor;if(i)s.backgroundColor=i}return this.#u(e,!0)}focusButton(){setTimeout(()=>{(this.#e??this.#t)?.focus()},0)}onUpdatedColor(){if(!this.#e)return;let e=this.#s.commentButtonColor;if(e)this.#e.style.backgroundColor=e;this.#s._uiManager.updatePopupColor(this.#s)}get commentButtonWidth(){return(this.#e?.getBoundingClientRect().width??0)/this.#s.parent.boundingClientRect.width}get commentPopupPositionInLayer(){if(this.#c)return this.#c;if(!this.#e)return null;let{x:e,y:n,height:s}=this.#e.getBoundingClientRect(),{x:i,y:r,width:a,height:l}=this.#s.parent.boundingClientRect;return[(e-i)/a,(n+s-r)/l]}set commentPopupPositionInLayer(e){this.#c=e}hasDefaultPopupPosition(){return this.#c===null}removeStandaloneCommentButton(){this.#e?.remove(),this.#e=null}removeToolbarCommentButton(){this.#t?.remove(),this.#t=null}setCommentButtonStates({selected:e,hasPopup:n}){if(!this.#e)return;this.#e.classList.toggle("selected",e),this.#e.ariaExpanded=n}#u(e,n){if(!this.#s._uiManager.hasCommentManager())return null;if(e.tabIndex="0",e.ariaHasPopup="dialog",n)e.ariaControls="commentPopup",e.setAttribute("data-l10n-id","pdfjs-show-comment-button");else e.ariaControlsElements=[this.#s._uiManager.getCommentDialogElement()],e.setAttribute("data-l10n-id","pdfjs-editor-add-comment-button");let s=this.#s._uiManager._signal;if(!(s instanceof AbortSignal)||s.aborted)return e;if(e.addEventListener("contextmenu",ca,{signal:s}),n)e.addEventListener("focusin",(r)=>{this.#s._focusEventsAllowed=!1,ri(r)},{capture:!0,signal:s}),e.addEventListener("focusout",(r)=>{this.#s._focusEventsAllowed=!0,ri(r)},{capture:!0,signal:s});e.addEventListener("pointerdown",(r)=>r.stopPropagation(),{signal:s});let i=(r)=>{if(r.preventDefault(),e===this.#t)this.edit();else this.#s.toggleComment(!0)};return e.addEventListener("click",i,{capture:!0,signal:s}),e.addEventListener("keydown",(r)=>{if(r.target===e&&r.key==="Enter")this.#n=!0,i(r)},{signal:s}),e.addEventListener("pointerenter",()=>{this.#s.toggleComment(!1,!0)},{signal:s}),e.addEventListener("pointerleave",()=>{this.#s.toggleComment(!1,!1)},{signal:s}),e}edit(e){let n=this.commentPopupPositionInLayer,s,i;if(n)[s,i]=n;else{[s,i]=this.#s.commentButtonPosition;let{width:m,height:g,x:b,y:v}=this.#s;s=b+s*m,i=v+i*g}let r=this.#s.parent.boundingClientRect,{x:a,y:l,width:c,height:f}=r;this.#s._uiManager.editComment(this.#s,a+s*c,l+i*f,{...e,parentDimensions:r})}finish(){if(!this.#t)return;this.#t.focus({focusVisible:this.#n}),this.#n=!1}isDeleted(){return this.#l||this.#r===""}isEmpty(){return this.#r===null}hasBeenEdited(){return this.isDeleted()||this.#r!==this.#i}serialize(){return this.data}get data(){return{text:this.#r,richText:this.#a,date:this.#o,deleted:this.isDeleted()}}set data(e){if(e!==this.#r)this.#a=null;if(e===null){this.#r="",this.#l=!0;return}this.#r=e,this.#o=new Date,this.#l=!1}restoreData({text:e,richText:n,date:s}){this.#r=e,this.#a=n,this.#o=s,this.#l=!1}setInitialText(e,n=null){this.#i=e,this.data=e,this.#o=null,this.#a=n}shown(){}destroy(){this.#t?.remove(),this.#t=null,this.#e?.remove(),this.#e=null,this.#r="",this.#a=null,this.#o=null,this.#s=null,this.#n=!1,this.#l=!1}}function z8(e){e.preventDefault()}var G8=0.0001;function Nb(e){if(e.cancelable)return ri(e),!0;return e.stopPropagation(),!1}class a2{#e;#t=!1;#n=null;#s;#i;#a;#r;#o;#l=!1;#c=null;#u;#h=new Set;#d=null;#p;#g=null;#f=0;constructor({container:e,isPinchingDisabled:n=null,isPinchingStopped:s=null,onPinchStart:i=null,onPinching:r=null,onPinchEnd:a=null,onPanning:l=null,signal:c}){this.#e=e,this.#n=s,this.#s=n,this.#i=i,this.#a=r,this.#r=a,this.#o=l,this.#p=new AbortController,this.#u=AbortSignal.any([c,this.#p.signal]),e.addEventListener("touchstart",this.#m.bind(this),{passive:!1,signal:this.#u})}get MIN_TOUCH_DISTANCE_TO_PINCH(){return 35/ha.pixelRatio}get MIN_TOUCH_DISTANCE_TO_SCALE(){return 4/ha.pixelRatio}#m(e){if(this.#s?.())return;this.#w(e);let n=this.#h;for(let{identifier:s}of e.changedTouches)n.add(s);if(n.size===1){this.#b();return}if(!this.#g){this.#g=new AbortController;let s=AbortSignal.any([this.#u,this.#g.signal]),i=this.#e,r={signal:s,capture:!1,passive:!1};i.addEventListener("touchmove",this.#x.bind(this),r);let a=this.#k.bind(this);i.addEventListener("touchend",a,r),i.addEventListener("touchcancel",a,r),r.capture=!0,i.addEventListener("pointerdown",ri,r),i.addEventListener("pointermove",ri,r),i.addEventListener("pointercancel",z8,r),i.addEventListener("pointerup",z8,r),this.#i?.()}this.#l=Nb(e),this.#v(e)}#b(){if(this.#c)return;let e=this.#c=new AbortController,n=AbortSignal.any([this.#u,e.signal]),s=this.#e,i={capture:!0,signal:n,passive:!1},r=(a)=>{if(a.pointerType==="touch")this.#c?.abort(),this.#c=null};s.addEventListener("pointerdown",(a)=>{if(a.pointerType==="touch")ri(a),r(a)},i),s.addEventListener("pointerup",r,i),s.addEventListener("pointercancel",r,i)}#w(e){let n=this.#h;if(n.size===0)return;let s=this.#h=new Set;for(let{identifier:i}of e.touches)if(n.has(i))s.add(i)}#y(e){let n=this.#h,s=[];for(let i of e.touches)if(n.has(i.identifier))s.push(i);return s}#v(e){let n=this.#y(e);if(n.length!==2||this.#n?.()){this.#d=null;return}let[s,i]=n;this.#d={touch0X:s.screenX,touch0Y:s.screenY,touch1X:i.screenX,touch1Y:i.screenY,panX:(s.clientX+i.clientX)/2,panY:(s.clientY+i.clientY)/2,screenPanX:(s.screenX+i.screenX)/2,screenPanY:(s.screenY+i.screenY)/2}}#x(e){if(!this.#d)return;let n=this.#y(e);if(n.length!==2)return;let s=this.#l;if(this.#l=Nb(e),!this.#l)return;if(!s){this.#v(e);return}let[i,r]=n,{screenX:a,screenY:l}=i,{screenX:c,screenY:f}=r,m=this.#d,{touch0X:g,touch0Y:b,touch1X:v,touch1Y:k,panX:T,panY:_}=m,P=v-g,U=k-b,z=c-a,V=f-l,X=(i.clientX+r.clientX)/2,J=(i.clientY+r.clientY)/2;m.panX=X,m.panY=J;let ee=X-T,te=J-_,ne=(a+c)/2,ie=(l+f)/2,se=Math.hypot(ne-m.screenPanX,ie-m.screenPanY);m.screenPanX=ne,m.screenPanY=ie;let oe=Math.hypot(z,V),ye=Math.hypot(P,U),Se=this.#t?this.MIN_TOUCH_DISTANCE_TO_SCALE:this.MIN_TOUCH_DISTANCE_TO_PINCH+2*se;if(oe<G8||ye<G8||Math.abs(ye-oe)<=Se){if(ee||te)this.#o?.(ee,te);return}m.touch0X=a,m.touch0Y=l,m.touch1X=c,m.touch1Y=f;let me=Math.sign(oe-ye);if(!this.#t){if(this.#t=!0,this.#f=me,ee||te)this.#o?.(ee,te);return}if(this.#f){let de=this.#f;if(this.#f=0,me!==de&&Math.abs(oe-ye)<=2*se){if(this.#t=!1,ee||te)this.#o?.(ee,te);return}}this.#a?.([T,_],ye,oe,ee,te)}#k(e){if(this.#w(e),this.#h.size>=2){this.#v(e);return}let n=!!this.#d;if(this.#A(),this.#h.size===1)this.#b();if(n)Nb(e)}#A(){if(this.#d=null,this.#t=!1,this.#f=0,this.#l=!1,this.#g)this.#g.abort(),this.#g=null,this.#r?.()}destroy(){this.#A(),this.#h.clear(),this.#p?.abort(),this.#p=null,this.#c?.abort(),this.#c=null}}class Mt{#e=null;#t=null;#n=null;#s=null;#i=null;#a=!1;#r=null;#o="";#l=null;#c=null;#u=null;#h=null;#d=null;#p="";#g=!1;#f=null;#m=!1;#b=!1;#w=!1;#y=null;#v=0;#x=0;#k=null;#A=null;isSelected=!1;_isCopy=!1;_editToolbar=null;_initialOptions=Object.create(null);_initialData=null;_isVisible=!0;_uiManager=null;_focusEventsAllowed=!0;static _l10n=null;static _l10nAlert=null;static _l10nResizer=null;#T=!1;#I=Mt._zIndex++;static _borderLineWidth=-1;static _colorManager=new r2;static _zIndex=1;static _telemetryTimeout=1000;static get _resizerKeyboardManager(){let e=Mt.prototype._resizeWithKeyboard,{TRANSLATE_SMALL:n,TRANSLATE_BIG:s}=Al;return Lt(this,"_resizerKeyboardManager",new yr([[["ArrowLeft"],e,{args:[-n,0]}],[["ctrl+ArrowLeft","mac+shift+ArrowLeft"],e,{args:[-s,0]}],[["ArrowRight"],e,{args:[n,0]}],[["ctrl+ArrowRight","mac+shift+ArrowRight"],e,{args:[s,0]}],[["ArrowUp"],e,{args:[0,-n]}],[["ctrl+ArrowUp","mac+shift+ArrowUp"],e,{args:[0,-s]}],[["ArrowDown"],e,{args:[0,n]}],[["ctrl+ArrowDown","mac+shift+ArrowDown"],e,{args:[0,s]}],[["Escape"],Mt.prototype._stopResizingWithKeyboard]]))}constructor(e){this.parent=e.parent,this.id=e.id,this.width=this.height=null,this.pageIndex=e.parent.pageIndex,this.name=e.name,this.div=null,this._uiManager=e.uiManager,this.annotationElementId=null,this._willKeepAspectRatio=!1,this._initialOptions.isCentered=e.isCentered,this._structTreeParentId=null,this.annotationElementId=e.annotationElementId||null,this.creationDate=e.creationDate||new Date,this.modificationDate=e.modificationDate||null,this.canAddComment=!0;let{rotation:n,rawDims:{pageWidth:s,pageHeight:i,pageX:r,pageY:a}}=this.parent.viewport;this.rotation=n,this.pageRotation=(360+n-this._uiManager.viewParameters.rotation)%360,this.pageDimensions=[s,i],this.pageTranslation=[r,a];let[l,c]=this.parentDimensions;this.x=e.x/l,this.y=e.y/c,this.isAttachedToDOM=!1,this.deleted=!1}updatePageIndex(e){this.pageIndex=e}get editorType(){return Object.getPrototypeOf(this).constructor._type}get mode(){return Object.getPrototypeOf(this).constructor._editorType}static get isDrawer(){return!1}static get _defaultLineColor(){return Lt(this,"_defaultLineColor",this._colorManager.getHexCode("CanvasText"))}static deleteAnnotationElement(e){let n=new A7({id:e._uiManager.getId(),parent:e.parent,uiManager:e._uiManager});n.annotationElementId=e.annotationElementId,n.deleted=!0,n._uiManager.addToAnnotationStorage(n)}static initialize(e,n){if(Mt._l10n??=e,Mt._l10nAlert??=Object.freeze({highlight:"pdfjs-editor-highlight-added-alert",freetext:"pdfjs-editor-freetext-added-alert",ink:"pdfjs-editor-ink-added-alert",stamp:"pdfjs-editor-stamp-added-alert",signature:"pdfjs-editor-signature-added-alert"}),Mt._l10nResizer??=Object.freeze({topLeft:"pdfjs-editor-resizer-top-left",topMiddle:"pdfjs-editor-resizer-top-middle",topRight:"pdfjs-editor-resizer-top-right",middleRight:"pdfjs-editor-resizer-middle-right",bottomRight:"pdfjs-editor-resizer-bottom-right",bottomMiddle:"pdfjs-editor-resizer-bottom-middle",bottomLeft:"pdfjs-editor-resizer-bottom-left",middleLeft:"pdfjs-editor-resizer-middle-left"}),Mt._borderLineWidth!==-1)return;let s=getComputedStyle(document.documentElement);Mt._borderLineWidth=parseFloat(s.getPropertyValue("--outline-width"))||0}static updateDefaultParams(e,n){}static get defaultPropertiesToUpdate(){return[]}static isHandlingMimeForPasting(e){return!1}static paste(e,n){In("Not implemented")}get propertiesToUpdate(){return[]}get _isDraggable(){return this.#T}set _isDraggable(e){this.#T=e,this.div?.classList.toggle("draggable",e)}get uid(){return this.annotationElementId||this.id}get isEnterHandled(){return!0}center(){let[e,n]=this.pageDimensions;switch(this.parentRotation){case 90:this.x-=this.height*n/(e*2),this.y+=this.width*e/(n*2);break;case 180:this.x+=this.width/2,this.y+=this.height/2;break;case 270:this.x+=this.height*n/(e*2),this.y-=this.width*e/(n*2);break;default:this.x-=this.width/2,this.y-=this.height/2;break}this.fixAndSetPosition()}addCommands(e){this._uiManager.addCommands(e)}get currentLayer(){return this._uiManager.currentLayer}setInBackground(){this.div.style.zIndex=0}setInForeground(){this.div.style.zIndex=this.#I}setParent(e){if(e!==null)this.pageIndex=e.pageIndex,this.pageDimensions=e.pageDimensions;else this.#F(),this.#h?.remove(),this.#h=null;this.parent=e}focusin(e){if(!this._focusEventsAllowed)return;if(!this.#g)this.parent.setSelected(this);else this.#g=!1}focusout(e){if(!this._focusEventsAllowed)return;if(!this.isAttachedToDOM)return;if(e.relatedTarget?.closest(`#${this.id}`))return;if(e.preventDefault(),!this.parent?.isMultipleSelection)this.commitOrRemove()}commitOrRemove(){if(this.isEmpty())this.remove();else this.commit()}commit(){if(!this.isInEditMode())return;this.addToAnnotationStorage()}addToAnnotationStorage(){this._uiManager.addToAnnotationStorage(this)}setAt(e,n,s,i){let[r,a]=this.parentDimensions;[s,i]=this.screenToPageTranslation(s,i),this.x=(e+s)/r,this.y=(n+i)/a,this.fixAndSetPosition()}_moveAfterPaste(e,n){if(this.isClone){delete this.isClone;return}let[s,i]=this.parentDimensions;this.setAt(e*s,n*i,this.width*s,this.height*i),this._onTranslated()}#j([e,n],s,i){[s,i]=this.screenToPageTranslation(s,i),this.x+=s/e,this.y+=i/n,this._onTranslating(this.x,this.y),this.fixAndSetPosition()}translate(e,n){this.#j(this.parentDimensions,e,n)}translateInPage(e,n){this.#f||=[this.x,this.y,this.width,this.height],this.#j(this.pageDimensions,e,n),this.div.scrollIntoView({block:"nearest"})}translationDone(){this._onTranslated(this.x,this.y)}drag(e,n){this.#f||=[this.x,this.y,this.width,this.height];let{div:s,parentDimensions:[i,r]}=this;if(this.x+=e/i,this.y+=n/r,this.parent&&(this.x<0||this.x>1||this.y<0||this.y>1)){let{x:g,y:b}=this.div.getBoundingClientRect();if(this.parent.findNewParent(this,g,b))this.x-=Math.floor(this.x),this.y-=Math.floor(this.y)}let{x:a,y:l}=this,[c,f]=this.getBaseTranslation();a+=c,l+=f;let{style:m}=s;m.left=`${(100*a).toFixed(2)}%`,m.top=`${(100*l).toFixed(2)}%`,this._onTranslating(a,l)}_onTranslating(e,n){}_onTranslated(e,n){}get _hasBeenMoved(){return!!this.#f&&(this.#f[0]!==this.x||this.#f[1]!==this.y)}get _hasBeenResized(){return!!this.#f&&(this.#f[2]!==this.width||this.#f[3]!==this.height)}getBaseTranslation(){let[e,n]=this.parentDimensions,{_borderLineWidth:s}=Mt,i=s/e,r=s/n;switch(this.rotation){case 90:return[-i,r];case 180:return[i,r];case 270:return[i,-r];default:return[-i,-r]}}get _mustFixPosition(){return!0}fixAndSetPosition(e=this.rotation){let{div:{style:n},pageDimensions:[s,i]}=this,{x:r,y:a,width:l,height:c}=this;if(l*=s,c*=i,r*=s,a*=i,this._mustFixPosition)switch(e){case 0:r=ps(r,0,s-l),a=ps(a,0,i-c);break;case 90:r=ps(r,0,s-c),a=ps(a,l,i);break;case 180:r=ps(r,l,s),a=ps(a,c,i);break;case 270:r=ps(r,c,s),a=ps(a,0,i-l);break}this.x=r/=s,this.y=a/=i;let[f,m]=this.getBaseTranslation();r+=f,a+=m,n.left=`${(100*r).toFixed(2)}%`,n.top=`${(100*a).toFixed(2)}%`,this.moveInDOM()}static#C(e,n,s){switch(s){case 90:return[n,-e];case 180:return[-e,-n];case 270:return[-n,e];default:return[e,n]}}screenToPageTranslation(e,n){return Mt.#C(e,n,this.parentRotation)}pageTranslationToScreen(e,n){return Mt.#C(e,n,360-this.parentRotation)}#D(e){switch(e){case 90:{let[n,s]=this.pageDimensions;return[0,-n/s,s/n,0]}case 180:return[-1,0,0,-1];case 270:{let[n,s]=this.pageDimensions;return[0,n/s,-s/n,0]}default:return[1,0,0,1]}}get parentScale(){return this._uiManager.viewParameters.realScale}get parentRotation(){return(this._uiManager.viewParameters.rotation+this.pageRotation)%360}get parentDimensions(){let{parentScale:e,pageDimensions:[n,s]}=this;return[n*e,s*e]}setDims(){let{div:{style:e},width:n,height:s}=this;e.width=`${(100*n).toFixed(2)}%`,e.height=`${(100*s).toFixed(2)}%`}getInitialTranslation(){return[0,0]}#R(){if(this.#l)return;this.#l=document.createElement("div"),this.#l.classList.add("resizers");let e=this._willKeepAspectRatio?["topLeft","topRight","bottomRight","bottomLeft"]:["topLeft","topMiddle","topRight","middleRight","bottomRight","bottomMiddle","bottomLeft","middleLeft"],n=this._uiManager._signal;for(let s of e){let i=document.createElement("div");this.#l.append(i),i.classList.add("resizer",s),i.setAttribute("data-resizer-name",s),i.addEventListener("pointerdown",this.#q.bind(this,s),{signal:n}),i.addEventListener("contextmenu",ca,{signal:n}),i.tabIndex=-1}this.div.prepend(this.#l)}#q(e,n){n.preventDefault();let{isMac:s}=zn.platform;if(n.button!==0||n.ctrlKey&&s)return;this.#n?.toggle(!1);let i=this._isDraggable;this._isDraggable=!1,this.#c=[n.screenX,n.screenY];let r=new AbortController,a=this._uiManager.combinedSignal(r);this.parent.togglePointerEvents(!1),window.addEventListener("pointermove",this.#L.bind(this,e),{passive:!0,capture:!0,signal:a}),window.addEventListener("touchmove",ri,{passive:!1,signal:a}),window.addEventListener("contextmenu",ca,{signal:a}),this.#u={savedX:this.x,savedY:this.y,savedWidth:this.width,savedHeight:this.height};let l=this.parent.div.style.cursor,c=this.div.style.cursor;this.div.style.cursor=this.parent.div.style.cursor=window.getComputedStyle(n.target).cursor;let f=()=>{r.abort(),this.parent.togglePointerEvents(!0),this.#n?.toggle(!0),this._isDraggable=i,this.parent.div.style.cursor=l,this.div.style.cursor=c,this.#M()};window.addEventListener("pointerup",f,{signal:a}),window.addEventListener("blur",f,{signal:a})}#B(e,n,s,i){this.width=s,this.height=i,this.x=e,this.y=n,this.setDims(),this.fixAndSetPosition(),this._onResized()}_onResized(){}#M(){if(!this.#u)return;let{savedX:e,savedY:n,savedWidth:s,savedHeight:i}=this.#u;this.#u=null;let r=this.x,a=this.y,l=this.width,c=this.height;if(r===e&&a===n&&l===s&&c===i)return;this.addCommands({cmd:this.#B.bind(this,r,a,l,c),undo:this.#B.bind(this,e,n,s,i),mustExec:!0})}static _round(e){return Math.round(e*1e4)/1e4}#L(e,n){let[s,i]=this.parentDimensions,r=this.x,a=this.y,l=this.width,c=this.height,f=Mt.MIN_SIZE/s,m=Mt.MIN_SIZE/i,g=this.#D(this.rotation),b=(de,ce)=>[g[0]*de+g[2]*ce,g[1]*de+g[3]*ce],v=this.#D(360-this.rotation),k=(de,ce)=>[v[0]*de+v[2]*ce,v[1]*de+v[3]*ce],T,_,P=!1,U=!1;switch(e){case"topLeft":P=!0,T=(de,ce)=>[0,0],_=(de,ce)=>[de,ce];break;case"topMiddle":T=(de,ce)=>[de/2,0],_=(de,ce)=>[de/2,ce];break;case"topRight":P=!0,T=(de,ce)=>[de,0],_=(de,ce)=>[0,ce];break;case"middleRight":U=!0,T=(de,ce)=>[de,ce/2],_=(de,ce)=>[0,ce/2];break;case"bottomRight":P=!0,T=(de,ce)=>[de,ce],_=(de,ce)=>[0,0];break;case"bottomMiddle":T=(de,ce)=>[de/2,ce],_=(de,ce)=>[de/2,0];break;case"bottomLeft":P=!0,T=(de,ce)=>[0,ce],_=(de,ce)=>[de,0];break;case"middleLeft":U=!0,T=(de,ce)=>[0,ce/2],_=(de,ce)=>[de,ce/2];break}let z=T(l,c),V=_(l,c),X=b(...V),J=Mt._round(r+X[0]),ee=Mt._round(a+X[1]),te=1,ne=1,ie,se;if(!n.fromKeyboard){let{screenX:de,screenY:ce}=n,[Ee,we]=this.#c;[ie,se]=this.screenToPageTranslation(de-Ee,ce-we),this.#c[0]=de,this.#c[1]=ce}else({deltaX:ie,deltaY:se}=n);if([ie,se]=k(ie/s,se/i),P){let de=Math.hypot(l,c);te=ne=Math.max(Math.min(Math.hypot(V[0]-z[0]-ie,V[1]-z[1]-se)/de,1/l,1/c),f/l,m/c)}else if(U)te=ps(Math.abs(V[0]-z[0]-ie),f,1)/l;else ne=ps(Math.abs(V[1]-z[1]-se),m,1)/c;let oe=Mt._round(l*te),ye=Mt._round(c*ne);X=b(..._(oe,ye));let Se=J-X[0],me=ee-X[1];this.#f||=[this.x,this.y,this.width,this.height],this.width=oe,this.height=ye,this.x=Se,this.y=me,this.setDims(),this.fixAndSetPosition(),this._onResizing()}_onResizing(){}altTextFinish(){this.#n?.finish()}get toolbarButtons(){return null}async addEditToolbar(){if(this._editToolbar||this.#b)return this._editToolbar;this._editToolbar=new su(this),this.div.append(this._editToolbar.render());let{toolbarButtons:e}=this;if(e)for(let[n,s]of e)await this._editToolbar.addButton(n,s);if(!this.hasComment)this._editToolbar.addButton("comment",this.addCommentButton());return this._editToolbar.addButton("delete"),this._editToolbar}addCommentButtonInToolbar(){this._editToolbar?.addButtonBefore("comment",this.addCommentButton(),".deleteButton")}removeCommentButtonFromToolbar(){this._editToolbar?.removeButton("comment")}removeEditToolbar(){this._editToolbar?.remove(),this._editToolbar=null,this.#n?.destroy()}addContainer(e){let n=this._editToolbar?.div;if(n)n.before(e);else this.div.append(e)}getClientDimensions(){return this.div.getBoundingClientRect()}createAltText(){if(!this.#n){if(Va.initialize(Mt._l10n),this.#n=new Va(this),this.#e)this.#n.data=this.#e,this.#e=null}return this.#n}get altTextData(){return this.#n?.data}set altTextData(e){if(!this.#n)return;this.#n.data=e}get guessedAltText(){return this.#n?.guessedText}async setGuessedAltText(e){await this.#n?.setGuessedText(e)}serializeAltText(e){return this.#n?.serialize(e)}hasAltText(){return!!this.#n&&!this.#n.isEmpty()}hasAltTextData(){return this.#n?.hasData()??!1}focusCommentButton(){this.#s?.focusButton()}addCommentButton(){return this.canAddComment?this.#s||=new Zh(this):null}addStandaloneCommentButton(){if(!this._uiManager.hasCommentManager())return;if(this.#i){if(this._uiManager.isEditingMode())this.#i.classList.remove("hidden");return}if(!this.hasComment)return;this.#i=this.#s.renderForStandalone(),this.div.append(this.#i)}removeStandaloneCommentButton(){this.#s.removeStandaloneCommentButton(),this.#i=null}hideStandaloneCommentButton(){this.#i?.classList.add("hidden")}get comment(){if(!this.#s)return null;let{data:{richText:e,text:n,date:s,deleted:i}}=this.#s;return{text:n,richText:e,date:s,deleted:i,color:this.getNonHCMColor(),opacity:this.opacity??1}}set comment(e){if(this.#s||=new Zh(this),typeof e==="object"&&e!==null)this.#s.restoreData(e);else this.#s.data=e;if(this.hasComment)this.removeCommentButtonFromToolbar(),this.addStandaloneCommentButton(),this._uiManager.updateComment(this);else this.addCommentButtonInToolbar(),this.removeStandaloneCommentButton(),this._uiManager.removeComment(this)}setCommentData({comment:e,popupRef:n,richText:s}){if(!n)return;if(this.#s||=new Zh(this),this.#s.setInitialText(e,s),!this.annotationElementId)return;let i=this._uiManager.getAndRemoveDataFromAnnotationStorage(this.annotationElementId);if(i)this.updateFromAnnotationLayer(i)}get hasEditedComment(){return this.#s?.hasBeenEdited()}get hasDeletedComment(){return this.#s?.isDeleted()}get hasComment(){return!!this.#s&&!this.#s.isEmpty()&&!this.#s.isDeleted()}async editComment(e){this.#s||=new Zh(this),this.#s.edit(e)}toggleComment(e,n=void 0){if(this.hasComment)this._uiManager.toggleComment(this,e,n)}setSelectedCommentButton(e){this.#s.setSelectedButton(e)}addComment(e){if(this.hasEditedComment){let[,,,i]=e.rect,[r]=this.pageDimensions,[a]=this.pageTranslation,l=a+r+1,c=i-100,f=l+180;e.popup={contents:this.comment.text,deleted:this.comment.deleted,rect:[l,c,f,i]}}}updateFromAnnotationLayer({popup:{contents:e,deleted:n}}){this.#s.data=n?null:e}get parentBoundingClientRect(){return this.parent.boundingClientRect}render(){let e=this.div=document.createElement("div");if(e.setAttribute("data-editor-rotation",(360-this.rotation)%360),e.className=this.name,e.setAttribute("id",this.id),e.tabIndex=this.#a?-1:0,e.setAttribute("role","application"),this.defaultL10nId)e.setAttribute("data-l10n-id",this.defaultL10nId);if(!this._isVisible)e.classList.add("hidden");this.setInForeground(),this.#P();let[n,s]=this.parentDimensions;if(this.parentRotation%180!==0)e.style.maxWidth=`${(100*s/n).toFixed(2)}%`,e.style.maxHeight=`${(100*n/s).toFixed(2)}%`;let[i,r]=this.getInitialTranslation();return this.translate(i,r),S7(this,e,["keydown","pointerdown","dblclick"]),this.#U(),this.addStandaloneCommentButton(),this._uiManager._editorUndoBar?.hide(),e}#G(){this.#u={savedX:this.x,savedY:this.y,savedWidth:this.width,savedHeight:this.height},this.#n?.toggle(!1),this.parent.togglePointerEvents(!1)}#O(e,n,s){let r=0.7*(s/n)+1-0.7;if(r===1)return;let a=this.#D(this.rotation),l=(J,ee)=>[a[0]*J+a[2]*ee,a[1]*J+a[3]*ee],[c,f]=this.parentDimensions,m=this.x,g=this.y,b=this.width,v=this.height,k=Mt.MIN_SIZE/c,T=Mt.MIN_SIZE/f;r=Math.max(Math.min(r,1/b,1/v),k/b,T/v);let _=Mt._round(b*r),P=Mt._round(v*r);if(_===b&&P===v)return;this.#f||=[m,g,b,v];let U=l(b/2,v/2),z=Mt._round(m+U[0]),V=Mt._round(g+U[1]),X=l(_/2,P/2);this.x=z-X[0],this.y=V-X[1],this.width=_,this.height=P,this.setDims(),this.fixAndSetPosition(),this._onResizing()}#H(){this.#n?.toggle(!0),this.parent.togglePointerEvents(!0),this.#M()}pointerdown(e){let{isMac:n}=zn.platform;if(e.button!==0||e.ctrlKey&&n){e.preventDefault();return}if(this.#g=!0,this._isDraggable){this.#S(e);return}this.#E(e)}#E(e){let{isMac:n}=zn.platform;if(e.ctrlKey&&!n||e.shiftKey||e.metaKey&&n)this.parent.toggleSelected(this);else this.parent.setSelected(this)}#S(e){let{isSelected:n}=this;this._uiManager.setUpDragSession();let s=!1,i=new AbortController,r=this._uiManager.combinedSignal(i),a={capture:!0,passive:!1,signal:r},l=(f)=>{if(i.abort(),this.#r=null,this.#g=!1,!this._uiManager.endDragSession())this.#E(f);if(s)this._onStopDragging()};if(n)this.#v=e.clientX,this.#x=e.clientY,this.#r=e.pointerId,this.#o=e.pointerType,window.addEventListener("pointermove",(f)=>{if(!s)s=!0,this._uiManager.toggleComment(this,!0,!1),this._onStartDragging();let{clientX:m,clientY:g,pointerId:b}=f;if(b!==this.#r){ri(f);return}let[v,k]=this.screenToPageTranslation(m-this.#v,g-this.#x);this.#v=m,this.#x=g,this._uiManager.dragSelectedEditors(v,k),this.div.scrollIntoView({block:"nearest"})},a),window.addEventListener("touchmove",ri,a),window.addEventListener("pointerdown",(f)=>{if(f.pointerType===this.#o){if(this.#A||f.isPrimary)l(f)}ri(f)},a);let c=(f)=>{if(!this.#r||this.#r===f.pointerId){l(f);return}ri(f)};window.addEventListener("pointerup",c,{signal:r}),window.addEventListener("blur",c,{signal:r})}_onStartDragging(){}_onStopDragging(){}moveInDOM(){if(this.#y)clearTimeout(this.#y);this.#y=setTimeout(()=>{this.#y=null,this.parent?.moveEditorInDOM(this)},0)}_setParentAndPosition(e,n,s){e.changeParent(this),this.x=n,this.y=s,this.fixAndSetPosition(),this._onTranslated()}getRect(e,n,s=this.rotation){let i=this.parentScale,[r,a]=this.pageDimensions,[l,c]=this.pageTranslation,f=e/i,m=n/i,g=this.x*r,b=this.y*a,v=this.width*r,k=this.height*a;switch(s){case 0:return[g+f+l,a-b-m-k+c,g+f+v+l,a-b-m+c];case 90:return[g+m+l,a-b+f+c,g+m+k+l,a-b+f+v+c];case 180:return[g-f-v+l,a-b+m+c,g-f+l,a-b+m+k+c];case 270:return[g-m-k+l,a-b-f-v+c,g-m+l,a-b-f+c];default:throw Error("Invalid rotation")}}getRectInCurrentCoords(e,n){let[s,i,r,a]=e,l=r-s,c=a-i;switch(this.rotation){case 0:return[s,n-a,l,c];case 90:return[s,n-i,c,l];case 180:return[r,n-i,l,c];case 270:return[r,n-a,c,l];default:throw Error("Invalid rotation")}}getPDFRect(){return this.getRect(0,0)}getNonHCMColor(){return this.color&&Mt._colorManager.convert(this._uiManager.getNonHCMColor(this.color))}onUpdatedColor(){this.#s?.onUpdatedColor()}getData(){let{comment:{text:e,color:n,date:s,opacity:i,deleted:r,richText:a},uid:l,pageIndex:c,creationDate:f,modificationDate:m}=this;return{id:l,pageIndex:c,rect:this.getPDFRect(),richText:a,contentsObj:{str:e},creationDate:f,modificationDate:s||m,popupRef:!r,color:n,opacity:i}}onceAdded(e){}isEmpty(){return!1}enableEditMode(){if(this.isInEditMode())return!1;return this.parent.setEditingState(!1),this.#b=!0,!0}disableEditMode(){if(!this.isInEditMode())return!1;return this.parent.setEditingState(!0),this.#b=!1,!0}isInEditMode(){return this.#b}shouldGetKeyboardEvents(){return this.#w}needsToBeRebuilt(){return this.div&&!this.isAttachedToDOM}get isOnScreen(){let{top:e,left:n,bottom:s,right:i}=this.getClientDimensions(),{innerHeight:r,innerWidth:a}=window;return n<a&&i>0&&e<r&&s>0}#P(){if(this.#d||!this.div)return;this.#d=new AbortController;let e=this._uiManager.combinedSignal(this.#d);this.div.addEventListener("focusin",this.focusin.bind(this),{signal:e}),this.div.addEventListener("focusout",this.focusout.bind(this),{signal:e})}#U(){if(this.#A||!this.div||!this.isResizable||!this._uiManager._supportsPinchToZoom)return;this.#A=new a2({container:this.div,isPinchingDisabled:()=>!this.isSelected,onPinchStart:this.#G.bind(this),onPinching:this.#O.bind(this),onPinchEnd:this.#H.bind(this),signal:this._uiManager._signal})}rebuild(){this.#P(),this.#U()}rotate(e){}resize(){}serializeDeleted(){return{id:this.annotationElementId,deleted:!0,pageIndex:this.pageIndex,popupRef:this._initialData?.popupRef||""}}serialize(e=!1,n=null){return{annotationType:this.mode,pageIndex:this.pageIndex,rect:this.getPDFRect(),rotation:this.rotation,structTreeParentId:this._structTreeParentId,popupRef:this._initialData?.popupRef||""}}static async deserialize(e,n,s){let i=new this.prototype.constructor({parent:n,id:s.getId(),uiManager:s,annotationElementId:e.annotationElementId,creationDate:e.creationDate,modificationDate:e.modificationDate});i.rotation=e.rotation,i.#e=e.accessibilityData,i._isCopy=e.isCopy||!1;let[r,a]=i.pageDimensions,[l,c,f,m]=i.getRectInCurrentCoords(e.rect,a);return i.x=l/r,i.y=c/a,i.width=f/r,i.height=m/a,i}get hasBeenModified(){return!!this.annotationElementId&&(this.deleted||this.serialize()!==null)}remove(){if(this.#d?.abort(),this.#d=null,!this.isEmpty())this.commit();if(this.#A?.destroy(),this.#A=null,this.parent)this.parent.remove(this);else this._uiManager.removeEditor(this);if(this.hideCommentPopup(),this.#y)clearTimeout(this.#y),this.#y=null;if(this.#F(),this.removeEditToolbar(),this.#k){for(let e of this.#k.values())clearTimeout(e);this.#k=null}this.parent=null,this.#h?.remove(),this.#h=null}get isResizable(){return!1}makeResizable(){if(this.isResizable)this.#R(),this.#l.classList.remove("hidden")}get toolbarPosition(){return null}get commentButtonPosition(){return this._uiManager.direction==="ltr"?[1,0]:[0,0]}get commentButtonPositionInPage(){let{commentButtonPosition:[e,n]}=this,[s,i,r,a]=this.getPDFRect();return[Mt._round(s+(r-s)*e),Mt._round(i+(a-i)*(1-n))]}get commentButtonColor(){return this._uiManager.makeCommentColor(this.getNonHCMColor(),this.opacity)}get commentPopupPosition(){return this.#s.commentPopupPositionInLayer}set commentPopupPosition(e){this.#s.commentPopupPositionInLayer=e}hasDefaultPopupPosition(){return this.#s.hasDefaultPopupPosition()}get commentButtonWidth(){return this.#s.commentButtonWidth}get elementBeforePopup(){return this.div}setCommentButtonStates(e){this.#s?.setCommentButtonStates(e)}keydown(e){if(!this.isResizable||e.target!==this.div||e.key!=="Enter")return;this._uiManager.setSelected(this),this.#u={savedX:this.x,savedY:this.y,savedWidth:this.width,savedHeight:this.height};let n=this.#l.children;if(!this.#t){this.#t=Array.from(n);let a=this.#V.bind(this),l=this.#Y.bind(this),c=this._uiManager._signal;for(let f of this.#t){let m=f.getAttribute("data-resizer-name");f.setAttribute("role","spinbutton"),f.addEventListener("keydown",a,{signal:c}),f.addEventListener("blur",l,{signal:c}),f.addEventListener("focus",this.#W.bind(this,m),{signal:c}),f.setAttribute("data-l10n-id",Mt._l10nResizer[m])}}let s=this.#t[0],i=0;for(let a of n){if(a===s)break;i++}let r=(360-this.rotation+this.parentRotation)%360/90*(this.#t.length/4);if(r!==i){if(r<i)for(let l=0;l<i-r;l++)this.#l.append(this.#l.firstElementChild);else if(r>i)for(let l=0;l<r-i;l++)this.#l.firstElementChild.before(this.#l.lastElementChild);let a=0;for(let l of n){let f=this.#t[a++].getAttribute("data-resizer-name");l.setAttribute("data-l10n-id",Mt._l10nResizer[f])}}this.#K(0),this.#w=!0,this.#l.firstElementChild.focus({focusVisible:!0}),e.preventDefault(),e.stopImmediatePropagation()}#V(e){Mt._resizerKeyboardManager.exec(this,e)}#Y(e){if(this.#w&&e.relatedTarget?.parentNode!==this.#l)this.#F()}#W(e){this.#p=this.#w?e:""}#K(e){if(!this.#t)return;for(let n of this.#t)n.tabIndex=e}_resizeWithKeyboard(e,n){if(!this.#w)return;this.#L(this.#p,{deltaX:e,deltaY:n,fromKeyboard:!0})}#F(){this.#w=!1,this.#K(-1),this.#M()}_stopResizingWithKeyboard(){this.#F(),this.div.focus()}select(){if(this.isSelected&&this._editToolbar){this._editToolbar.show();return}if(this.isSelected=!0,this.makeResizable(),this.div?.classList.add("selectedEditor"),!this._editToolbar){this.addEditToolbar().then(()=>{if(this.div?.classList.contains("selectedEditor"))this._editToolbar?.show()});return}this._editToolbar?.show(),this.#n?.toggleAltTextBadge(!1)}focus(){if(this.div&&!this.div.contains(document.activeElement))setTimeout(()=>this.div?.focus({preventScroll:!0}),0)}unselect(){if(!this.isSelected)return;if(this.isSelected=!1,this.#l?.classList.add("hidden"),this.div?.classList.remove("selectedEditor"),this.div?.contains(document.activeElement))this._uiManager.currentLayer.div.focus({preventScroll:!0});this._editToolbar?.hide(),this.#n?.toggleAltTextBadge(!0),this.hideCommentPopup()}hideCommentPopup(){if(this.hasComment)this._uiManager.toggleComment(null)}updateParams(e,n){}disableEditing(){}enableEditing(){}get canChangeContent(){return!1}enterInEditMode(){if(!this.canChangeContent)return;this.enableEditMode(),this.div.focus()}dblclick(e){if(e.target.nodeName==="BUTTON")return;this.enterInEditMode(),this.parent.updateToolbar({mode:this.constructor._editorType,editId:this.uid})}getElementForAltText(){return this.div}get contentDiv(){return this.div}get isEditing(){return this.#m}set isEditing(e){if(this.#m=e,!this.parent)return;if(e)this.parent.setSelected(this),this.parent.setActiveEditor(this);else this.parent.setActiveEditor(null)}static get MIN_SIZE(){return 16}static canCreateNewEmptyEditor(){return!0}get telemetryInitialData(){return{action:"added"}}get telemetryFinalData(){return null}_reportTelemetry(e,n=!1){if(n){this.#k||=new Map;let{action:s}=e,i=this.#k.get(s);if(i)clearTimeout(i);i=setTimeout(()=>{if(this._reportTelemetry(e),this.#k.delete(s),this.#k.size===0)this.#k=null},Mt._telemetryTimeout),this.#k.set(s,i);return}e.type||=this.editorType,this._uiManager._eventBus.dispatch("reporttelemetry",{source:this,details:{type:"editing",data:e}})}show(e=this._isVisible){this.div.classList.toggle("hidden",!e),this._isVisible=e}enable(){if(this.div)this.div.tabIndex=0;this.#a=!1}disable(){if(this.div)this.div.tabIndex=-1;this.#a=!0}updateFakeAnnotationElement(e){if(!this.#h&&!this.deleted){this.#h=e.addFakeAnnotation(this);return}if(this.deleted){this.#h.remove(),this.#h=null;return}if(this.hasEditedComment||this._hasBeenMoved||this._hasBeenResized)this.#h.updateEdited({rect:this.getPDFRect(),popup:this.comment})}renderAnnotationElement(e){if(this.deleted)return e.hide(),null;let n=e.container.querySelector(".annotationContent");if(!n)n=document.createElement("div"),n.classList.add("annotationContent",this.editorType),e.container.prepend(n);else if(n.nodeName==="CANVAS"){let s=n;n=document.createElement("div"),n.classList.add("annotationContent",this.editorType),s.before(n)}return n}resetAnnotationElement(e){let{firstElementChild:n}=e.container;if(n?.nodeName==="DIV"&&n.classList.contains("annotationContent"))n.remove()}}class A7 extends Mt{constructor(e){super(e);this.annotationElementId=e.annotationElementId,this.deleted=!0}serialize(){return this.serializeDeleted()}}var V8=3285377520,Or=4294901760,Na=65535;class fm{constructor(e){this.h1=e?e&4294967295:V8,this.h2=e?e&4294967295:V8}update(e){let n,s;if(typeof e==="string"){n=new Uint8Array(e.length*2),s=0;for(let T=0,_=e.length;T<_;T++){let P=e.charCodeAt(T);if(P<=255)n[s++]=P;else n[s++]=P>>>8,n[s++]=P&255}}else if(ArrayBuffer.isView(e))n=e.slice(),s=n.byteLength;else throw Error("Invalid data format, must be a string or TypedArray.");let i=s>>2,r=s-i*4,a=new Uint32Array(n.buffer,0,i),l=0,c=0,f=this.h1,m=this.h2,g=3432918353,b=461845907,v=g&Na,k=b&Na;for(let T=0;T<i;T++)if(T&1)l=a[T],l=l*g&Or|l*v&Na,l=l<<15|l>>>17,l=l*b&Or|l*k&Na,f^=l,f=f<<13|f>>>19,f=f*5+3864292196;else c=a[T],c=c*g&Or|c*v&Na,c=c<<15|c>>>17,c=c*b&Or|c*k&Na,m^=c,m=m<<13|m>>>19,m=m*5+3864292196;switch(l=0,r){case 3:l^=n[i*4+2]<<16;case 2:l^=n[i*4+1]<<8;case 1:if(l^=n[i*4],l=l*g&Or|l*v&Na,l=l<<15|l>>>17,l=l*b&Or|l*k&Na,i&1)f^=l;else m^=l}this.h1=f,this.h2=m}hexdigest(){let e=this.h1,n=this.h2;return e^=n>>>1,e=e*3981806797&Or|e*36045&Na,n=n*4283543511&Or|((n<<16|e>>>16)*2950163797&Or)>>>16,e^=n>>>1,e=e*444984403&Or|e*60499&Na,n=n*3301882366&Or|((n<<16|e>>>16)*3120437893&Or)>>>16,e^=n>>>1,(e>>>0).toString(16).padStart(8,"0")+(n>>>0).toString(16).padStart(8,"0")}}var ou=Object.freeze({map:null,hash:"",transfer:void 0});class xm{#e=!1;#t=null;#n=null;#s=new Map;onSetModified=null;onResetModified=null;onAnnotationEditor=null;getValue(e,n){let s=this.#s.get(e);if(s===void 0)return n;return Object.assign(n,s)}getRawValue(e){return this.#s.get(e)}remove(e){let n=this.#s.get(e);if(n===void 0)return;if(n instanceof Mt)this.#n.delete(n.annotationElementId);if(this.#s.delete(e),this.#s.size===0)this.resetModified();if(this.#s.values().some((s)=>s instanceof Mt))return;this.onAnnotationEditor?.(null)}setValue(e,n){let s=this.#s.get(e),i=!1;if(s!==void 0){for(let[r,a]of Object.entries(n))if(s[r]!==a)i=!0,s[r]=a}else i=!0,this.#s.set(e,n);if(i)this.#i();if(n instanceof Mt)(this.#n||=new Map).set(n.annotationElementId,n),this.onAnnotationEditor?.(n.constructor._type)}has(e){return this.#s.has(e)}get size(){return this.#s.size}#i(){if(!this.#e)this.#e=!0,this.onSetModified?.()}resetModified(){if(this.#e)this.#e=!1,this.onResetModified?.()}get print(){return new o2(this)}get serializable(){if(this.#s.size===0)return ou;let e=new Map,n=new fm,s=[],i=Object.create(null),r=!1;for(let[a,l]of this.#s){let c=l instanceof Mt?l.serialize(!1,i):l;if(l.page)l.pageIndex=l.page._pageIndex,delete l.page;if(c)e.set(a,c),n.update(`${a}:${JSON.stringify(c)}`),r||=!!c.bitmap}if(r){for(let a of e.values())if(a.bitmap)s.push(a.bitmap)}return e.size>0?{map:e,hash:n.hexdigest(),transfer:s}:ou}get editorStats(){let e=null,n=new Map,s=0,i=0;for(let r of this.#s.values()){if(!(r instanceof Mt)){if(r.popup)if(r.popup.deleted)i+=1;else s+=1;continue}if(r.isCommentDeleted)i+=1;else if(r.hasEditedComment)s+=1;let a=r.telemetryFinalData;if(!a)continue;let{type:l}=a;n.getOrInsertComputed(l,()=>Object.getPrototypeOf(r).constructor),e||=Object.create(null);let c=e[l]||=new Map;for(let[f,m]of Object.entries(a)){if(f==="type")continue;let g=c.getOrInsertComputed(f,e2);g.set(m,(g.get(m)??0)+1)}}if(i>0||s>0)e||=Object.create(null),e.comments={deleted:i,edited:s};if(!e)return null;for(let[r,a]of n)e[r]=a.computeTelemetryFinalData(e[r]);return e}resetModifiedIds(){this.#t=null}updateEditor(e,n){let s=this.#n?.get(e);if(s)return s.updateFromAnnotationLayer(n),!0;return!1}getEditor(e){return this.#n?.get(e)||null}get modifiedIds(){if(this.#t)return this.#t;let e=[];if(this.#n)for(let s of this.#n.values()){if(!s.serialize())continue;e.push(s.annotationElementId)}let n="";if(e.length){let s=new fm;s.update(e.join(",")),n=s.hexdigest()}return this.#t={ids:new Set(e),hash:n}}[Symbol.iterator](){return this.#s.entries()}}class o2 extends xm{#e=ou;constructor(e){super();let{serializable:n}=e;if(n===ou)return;let{map:s,hash:i,transfer:r}=n,a=structuredClone(s,r?{transfer:r}:null);this.#e={map:a,hash:i,transfer:[]}}get print(){In("Should not call PrintAnnotationStorage.print")}get serializable(){return this.#e}get modifiedIds(){return Lt(this,"modifiedIds",{ids:new Set,hash:""})}}var gf="__forcedDependency",{floor:$8,ceil:X8}=Math;function W8(e,n,s,i,r,a){e[n*4+0]=Math.min(e[n*4+0],s),e[n*4+1]=Math.min(e[n*4+1],i),e[n*4+2]=Math.max(e[n*4+2],r),e[n*4+3]=Math.max(e[n*4+3],a)}function $q(e,n,s,i,r){let a;if(e){if(e<0)a=r[0],r[0]=r[2],r[2]=a;if(r[0]*=e,r[2]*=e,n<0)a=r[1],r[1]=r[3],r[3]=a;r[1]*=n,r[3]*=n}else r.fill(0);r[0]+=s,r[1]+=i,r[2]+=s,r[3]+=i}var Kb=new Uint32Array(new Uint8Array([255,255,0,0]).buffer)[0];class T7{#e;#t;constructor(e,n){this.#e=e,this.#t=n}get length(){return this.#e.length}isEmpty(e){return this.#e[e]===Kb}minX(e){return this.#t[e*4+0]/256}minY(e){return this.#t[e*4+1]/256}maxX(e){return(this.#t[e*4+2]+1)/256}maxY(e){return(this.#t[e*4+3]+1)/256}}var K8=(e,n)=>e?.getOrInsertComputed(n,()=>({dependencies:new Set,isRenderingOperation:!1}));class E7{#e=[[1,0,0,1,0,0]];#t=[-1/0,-1/0,1/0,1/0];#n=new Float64Array(Eo);_pendingBBoxIdx=-1;#s;#i;#a;#r;_savesStack=[];_markedContentStack=[];constructor(e,n){this.#s=e.width,this.#i=e.height,this.#o(n)}growOperationsCount(e){if(e>=this.#r.length)this.#o(e,this.#r)}#o(e,n){let s=new ArrayBuffer(e*4);if(this.#a=new Uint8ClampedArray(s),this.#r=new Uint32Array(s),n&&n.length>0)this.#r.set(n),this.#r.fill(Kb,n.length);else this.#r.fill(Kb)}get clipBox(){return this.#t}save(e){return this.#t={__proto__:this.#t},this._savesStack.push(e),this}restore(e,n){let s=Object.getPrototypeOf(this.#t);if(s===null)return this;this.#t=s;let i=this._savesStack.pop();if(i!==void 0)n?.(i,e),this.#r[e]=this.#r[i];return this}recordOpenMarker(e){return this._savesStack.push(e),this}getOpenMarker(){return this._savesStack.length===0?null:this._savesStack.at(-1)}recordCloseMarker(e,n){let s=this._savesStack.pop();if(s!==void 0)n?.(s,e),this.#r[e]=this.#r[s];return this}beginMarkedContent(e){return this._markedContentStack.push(e),this}endMarkedContent(e,n){let s=this._markedContentStack.pop();if(s!==void 0)n?.(s,e),this.#r[e]=this.#r[s];return this}pushBaseTransform(e){return this.#e.push(ut.multiplyByDOMMatrix(this.#e.at(-1),e.getTransform())),this}popBaseTransform(){if(this.#e.length>1)this.#e.pop();return this}resetBBox(e){if(this._pendingBBoxIdx!==e)this._pendingBBoxIdx=e,this.#n.set(Eo,0);return this}recordClipBox(e,n,s,i,r,a){let l=ut.multiplyByDOMMatrix(this.#e.at(-1),n.getTransform()),c=Eo.slice();ut.axialAlignedBoundingBox([s,r,i,a],l,c);let f=ut.intersect(this.#t,c);if(f)this.#t[0]=f[0],this.#t[1]=f[1],this.#t[2]=f[2],this.#t[3]=f[3];else this.#t[0]=this.#t[1]=1/0,this.#t[2]=this.#t[3]=-1/0;return this}recordBBox(e,n,s,i,r,a){let l=this.#t;if(l[0]===1/0)return this;let c=ut.multiplyByDOMMatrix(this.#e.at(-1),n.getTransform());if(l[0]===-1/0)return ut.axialAlignedBoundingBox([s,r,i,a],c,this.#n),this;let f=Eo.slice();return ut.axialAlignedBoundingBox([s,r,i,a],c,f),this.#n[0]=ps(f[0],l[0],this.#n[0]),this.#n[1]=ps(f[1],l[1],this.#n[1]),this.#n[2]=ps(f[2],this.#n[2],l[2]),this.#n[3]=ps(f[3],this.#n[3],l[3]),this}recordFullPageBBox(e){return this.#n[0]=Math.max(0,this.#t[0]),this.#n[1]=Math.max(0,this.#t[1]),this.#n[2]=Math.min(this.#s,this.#t[2]),this.#n[3]=Math.min(this.#i,this.#t[3]),this}recordOperation(e,n=!1,s){if(this._pendingBBoxIdx!==e)return this;let i=$8(this.#n[0]*256/this.#s),r=$8(this.#n[1]*256/this.#i),a=X8(this.#n[2]*256/this.#s),l=X8(this.#n[3]*256/this.#i);if(W8(this.#a,e,i,r,a,l),s){for(let c of s)for(let f of c)if(f!==e)W8(this.#a,f,i,r,a,l)}if(!n)this._pendingBBoxIdx=-1;return this}bboxToClipBoxDropOperation(e){if(this._pendingBBoxIdx===e)this._pendingBBoxIdx=-1,this.#t[0]=Math.max(this.#t[0],this.#n[0]),this.#t[1]=Math.max(this.#t[1],this.#n[1]),this.#t[2]=Math.min(this.#t[2],this.#n[2]),this.#t[3]=Math.min(this.#t[3],this.#n[3]);return this}take(){return new T7(this.#r,this.#a)}takeDebugMetadata(){throw Error("Unreachable")}recordSimpleData(e,n){return this}recordIncrementalData(e,n){return this}resetIncrementalData(e,n){return this}recordNamedData(e,n){return this}recordSimpleDataFromNamed(e,n,s){return this}recordFutureForcedDependency(e,n){return this}inheritSimpleDataAsFutureForcedDependencies(e){return this}inheritPendingDependenciesAsFutureForcedDependencies(){return this}recordCharacterBBox(e,n,s,i=1,r=0,a=0,l){return this}getSimpleIndex(e){return}recordDependencies(e,n){return this}recordNamedDependency(e,n){return this}recordShowTextOperation(e,n=!1){return this}}class C7{#e={__proto__:null};#t={__proto__:null,transform:[],moveText:[],sameLineText:[],[gf]:[]};#n=new Map;#s=new Set;#i=new Map;#a;#r;#o;constructor(e,n=!1){if(this.#o=e,n)this.#a=new Map,this.#r=(s,i)=>{K8(this.#a,i).dependencies.add(s)}}get clipBox(){return this.#o.clipBox}growOperationsCount(e){this.#o.growOperationsCount(e)}save(e){return this.#e={__proto__:this.#e},this.#t={__proto__:this.#t,transform:{__proto__:this.#t.transform},moveText:{__proto__:this.#t.moveText},sameLineText:{__proto__:this.#t.sameLineText},[gf]:{__proto__:this.#t[gf]}},this.#o.save(e),this}restore(e){this.#o.restore(e,this.#r);let n=Object.getPrototypeOf(this.#e);if(n===null)return this;return this.#e=n,this.#t=Object.getPrototypeOf(this.#t),this}recordOpenMarker(e){return this.#o.recordOpenMarker(e,this.#r),this}getOpenMarker(){return this.#o.getOpenMarker()}recordCloseMarker(e){return this.#o.recordCloseMarker(e,this.#r),this}beginMarkedContent(e){return this.#o.beginMarkedContent(e),this}endMarkedContent(e){return this.#o.endMarkedContent(e,this.#r),this}pushBaseTransform(e){return this.#o.pushBaseTransform(e),this}popBaseTransform(){return this.#o.popBaseTransform(),this}recordSimpleData(e,n){return this.#e[e]=n,this}recordIncrementalData(e,n){return this.#t[e].push(n),this}resetIncrementalData(e,n){return this.#t[e].length=0,this}recordNamedData(e,n){return this.#n.set(e,n),this}recordSimpleDataFromNamed(e,n,s){this.#e[e]=this.#n.get(n)??s}recordFutureForcedDependency(e,n){return this.recordIncrementalData(gf,n),this}inheritSimpleDataAsFutureForcedDependencies(e){for(let n of e)if(n in this.#e)this.recordFutureForcedDependency(n,this.#e[n]);return this}inheritPendingDependenciesAsFutureForcedDependencies(){for(let e of this.#s)this.recordFutureForcedDependency(gf,e);return this}resetBBox(e){return this.#o.resetBBox(e),this}recordClipBox(e,n,s,i,r,a){return this.#o.recordClipBox(e,n,s,i,r,a),this}recordBBox(e,n,s,i,r,a){return this.#o.recordBBox(e,n,s,i,r,a),this}recordCharacterBBox(e,n,s,i=1,r=0,a=0,l){let c=s.bbox,f,m;if(c){if(f=c[2]!==c[0]&&c[3]!==c[1]&&this.#i.get(s),f!==!1){if(m=[0,0,0,0],ut.axialAlignedBoundingBox(c,s.fontMatrix,m),i!==1||r!==0||a!==0)$q(i,-i,r,a,m);if(f)return this.recordBBox(e,n,m[0],m[2],m[1],m[3])}}if(!l)return this.recordFullPageBBox(e);let g=l();if(c&&m&&f===void 0){if(f=m[0]<=r-g.actualBoundingBoxLeft&&m[2]>=r+g.actualBoundingBoxRight&&m[1]<=a-g.actualBoundingBoxAscent&&m[3]>=a+g.actualBoundingBoxDescent,this.#i.set(s,f),f)return this.recordBBox(e,n,m[0],m[2],m[1],m[3])}return this.recordBBox(e,n,r-g.actualBoundingBoxLeft,r+g.actualBoundingBoxRight,a-g.actualBoundingBoxAscent,a+g.actualBoundingBoxDescent)}recordFullPageBBox(e){return this.#o.recordFullPageBBox(e),this}getSimpleIndex(e){return this.#e[e]}recordDependencies(e,n){let s=this.#s,i=this.#e,r=this.#t;for(let a of n)if(a in this.#e)s.add(i[a]);else if(a in r)r[a].forEach(s.add,s);return this}recordNamedDependency(e,n){if(this.#n.has(n))this.#s.add(this.#n.get(n));return this}recordOperation(e,n=!1){if(this.recordDependencies(e,[gf]),this.#a){let i=K8(this.#a,e),{dependencies:r}=i;this.#s.forEach(r.add,r),this.#o._savesStack.forEach(r.add,r),this.#o._markedContentStack.forEach(r.add,r),r.delete(e),i.isRenderingOperation=!0}let s=!n&&e===this.#o._pendingBBoxIdx;if(this.#o.recordOperation(e,n,[this.#s,this.#o._savesStack,this.#o._markedContentStack]),s)this.#s.clear();return this}recordShowTextOperation(e,n=!1){let s=Array.from(this.#s);this.recordOperation(e,n),this.recordIncrementalData("sameLineText",e);for(let i of s)this.recordIncrementalData("sameLineText",i);return this}bboxToClipBoxDropOperation(e,n=!1){let s=!n&&e===this.#o._pendingBBoxIdx;if(this.#o.bboxToClipBoxDropOperation(e),s)this.#s.clear();return this}take(){return this.#i.clear(),this.#o.take()}takeDebugMetadata(){return this.#a}}class lu{#e;#t;#n;#s=0;#i=0;constructor(e,n,s){if(e instanceof lu&&e.#n===!!s)return e;this.#e=e,this.#t=n,this.#n=!!s}get clipBox(){return this.#e.clipBox}growOperationsCount(){throw Error("Unreachable")}save(e){return this.#i++,this.#e.save(this.#t),this}restore(e){if(this.#i>0)this.#e.restore(this.#t),this.#i--;return this}recordOpenMarker(e){return this.#s++,this}getOpenMarker(){return this.#s>0?this.#t:this.#e.getOpenMarker()}recordCloseMarker(e){return this.#s--,this}beginMarkedContent(e){return this}endMarkedContent(e){return this}pushBaseTransform(e){return this.#e.pushBaseTransform(e),this}popBaseTransform(){return this.#e.popBaseTransform(),this}recordSimpleData(e,n){return this.#e.recordSimpleData(e,this.#t),this}recordIncrementalData(e,n){return this.#e.recordIncrementalData(e,this.#t),this}resetIncrementalData(e,n){return this.#e.resetIncrementalData(e,this.#t),this}recordNamedData(e,n){return this}recordSimpleDataFromNamed(e,n,s){return this.#e.recordSimpleDataFromNamed(e,n,this.#t),this}recordFutureForcedDependency(e,n){return this.#e.recordFutureForcedDependency(e,this.#t),this}inheritSimpleDataAsFutureForcedDependencies(e){return this.#e.inheritSimpleDataAsFutureForcedDependencies(e),this}inheritPendingDependenciesAsFutureForcedDependencies(){return this.#e.inheritPendingDependenciesAsFutureForcedDependencies(),this}resetBBox(e){if(!this.#n)this.#e.resetBBox(this.#t);return this}recordClipBox(e,n,s,i,r,a){if(!this.#n)this.#e.recordClipBox(this.#t,n,s,i,r,a);return this}recordBBox(e,n,s,i,r,a){if(!this.#n)this.#e.recordBBox(this.#t,n,s,i,r,a);return this}recordCharacterBBox(e,n,s,i,r,a,l){if(!this.#n)this.#e.recordCharacterBBox(this.#t,n,s,i,r,a,l);return this}recordFullPageBBox(e){if(!this.#n)this.#e.recordFullPageBBox(this.#t);return this}getSimpleIndex(e){return this.#e.getSimpleIndex(e)}recordDependencies(e,n){return this.#e.recordDependencies(this.#t,n),this}recordNamedDependency(e,n){return this.#e.recordNamedDependency(this.#t,n),this}recordOperation(e){return this.#e.recordOperation(this.#t,!0),this}recordShowTextOperation(e){return this.#e.recordShowTextOperation(this.#t,!0),this}bboxToClipBoxDropOperation(e){if(!this.#n)this.#e.bboxToClipBoxDropOperation(this.#t,!0);return this}take(){throw Error("Unreachable")}takeDebugMetadata(){throw Error("Unreachable")}}var Br={stroke:["path","transform","filter","strokeColor","strokeAlpha","lineWidth","lineCap","lineJoin","miterLimit","dash"],fill:["path","transform","filter","fillColor","fillAlpha","globalCompositeOperation","SMask"],imageXObject:["transform","SMask","filter","fillAlpha","strokeAlpha","globalCompositeOperation"],rawFillPath:["filter","fillColor","fillAlpha"],showText:["transform","leading","charSpacing","wordSpacing","hScale","textRise","moveText","textMatrix","font","fontObj","filter","fillColor","textRenderingMode","SMask","fillAlpha","strokeAlpha","globalCompositeOperation","sameLineText"],transform:["transform"],transformAndFill:["transform","fillColor"]};class hm{#e;#t;#n=4;#s=0;#i=new hm.#a(this.#n*6);static#a=zn.isFloat16ArraySupported?Float16Array:Float32Array;constructor(e){this.#e=e.width,this.#t=e.height}record(e,n,s,i){if(this.#s===this.#n){this.#n*=2;let l=new hm.#a(this.#n*6);l.set(this.#i),this.#i=l}let r=cs(e),a;if(i[0]!==1/0){let l=Eo.slice();ut.axialAlignedBoundingBox([0,-s,n,0],r,l);let c=ut.intersect(i,l);if(!c)return;let[f,m,g,b]=c;if(f!==l[0]||m!==l[1]||g!==l[2]||b!==l[3]){let v=Math.atan2(r[1],r[0]),k=Math.abs(Math.sin(v)),T=Math.abs(Math.cos(v));if(k<0.000001||T<0.000001||Math.abs(k-T)<0.000001)a=[f,m,f,b,g,m];else{let _=g-f,P=b-m,U=k*k,z=T*T,V=T*k,X=z-U,J=(P*z-_*V)/X,ee=(P*V-_*U)/X;a=[f+ee,m,f,m+J,g,b-J]}}}if(!a)a=[0,-s,0,0,n,-s],ut.applyTransform(a,r,0),ut.applyTransform(a,r,2),ut.applyTransform(a,r,4);a[0]/=this.#e,a[1]/=this.#t,a[2]/=this.#e,a[3]/=this.#t,a[4]/=this.#e,a[5]/=this.#t,this.#i.set(a,this.#s*6),this.#s++}take(){return this.#i.subarray(0,this.#s*6)}}var Y8=/\p{Cc}/u;function Xq(e){let n=e[0];if(e.length<2||n!=='"'&&n!=="'"||e.at(-1)!==n)return!1;let s=e.length-1;for(let i=1;i<s;i++){let r=e[i];if(r===n||Y8.test(r))return!1;if(r==="\\"){if(++i>=s||Y8.test(e[i]))return!1}}return!0}function Q8(e){if(Xq(e))return e;return`"${e.replaceAll(/["\\\p{Cc}]/gu,(s)=>s==='"'||s==="\\"?`\\${s}`:`\\${s.codePointAt(0).toString(16)} `)}"`}class j7{#e=new Set;#t=null;constructor({ownerDocument:e=globalThis.document,styleElement:n=null}){this._document=e,this.nativeFontFaces=new Set,this.styleElement=null,this.loadingRequests=[],this.loadTestFontId=0}addNativeFontFace(e){this.nativeFontFaces.add(e),this._document.fonts.add(e)}removeNativeFontFace(e){this.nativeFontFaces.delete(e),this._document.fonts.delete(e)}insertRule(e){let n=this.#n();n.insertRule(e,n.cssRules.length)}#n(){if(this.#t)return this.#t;let e=this._document.defaultView?.CSSStyleSheet||globalThis.CSSStyleSheet;if(!this.styleElement&&e){let{adoptedStyleSheets:n}=this._document;if(n){let s=new e;return n.push(s),this.#t=s}}if(!this.styleElement)this.styleElement=this._document.createElement("style"),this._document.documentElement.getElementsByTagName("head")[0].append(this.styleElement);return this.#t=this.styleElement.sheet}clear(){for(let e of this.nativeFontFaces)this._document.fonts.delete(e);if(this.nativeFontFaces.clear(),this.#e.clear(),this.#t){let{adoptedStyleSheets:e}=this._document;if(e?.includes(this.#t))this._document.adoptedStyleSheets=e.filter((n)=>n!==this.#t);this.#t=null}if(this.styleElement)this.styleElement.remove(),this.styleElement=null}async loadSystemFont({systemFontInfo:e,disableFontFace:n,_inspectFont:s}){if(!e||this.#e.has(e.loadedName))return;if(Rs(!n,"loadSystemFont shouldn't be called when `disableFontFace` is set."),this.isFontLoadingAPISupported){let{loadedName:i,src:r,style:a}=e,l=new FontFace(i,r,a);this.addNativeFontFace(l);try{await l.load(),this.#e.add(i),s?.(e)}catch{Zt(`Cannot load system font: ${e.baseFontName}, installing it could help to improve PDF rendering.`),this.removeNativeFontFace(l)}return}In("Not implemented: loadSystemFont without the Font Loading API.")}async bind(e){if(e.attached||e.missingFile&&!e.systemFontInfo)return;if(e.attached=!0,e.systemFontInfo){await this.loadSystemFont(e);return}if(this.isFontLoadingAPISupported){let s=e.createNativeFontFace();if(s){this.addNativeFontFace(s);try{await s.loaded}catch(i){throw Zt(`Failed to load font '${s.family}': '${i}'.`),e.disableFontFace=!0,i}}return}let n=e.createFontFaceRule();if(n){if(this.insertRule(n),this.isSyncFontLoadingSupported)return;await new Promise((s)=>{let i=this._queueLoadingCallback(s);this._prepareFontLoadEvent(e,i)})}}get isFontLoadingAPISupported(){let e=!!this._document?.fonts;return Lt(this,"isFontLoadingAPISupported",e)}get isSyncFontLoadingSupported(){return Lt(this,"isSyncFontLoadingSupported",wr||zn.platform.isFirefox)}_queueLoadingCallback(e){function n(){Rs(!i.done,"completeRequest() cannot be called twice."),i.done=!0;while(s.length>0&&s[0].done){let r=s.shift();setTimeout(r.callback,0)}}let{loadingRequests:s}=this,i={done:!1,complete:n,callback:e};return s.push(i),i}get _loadTestFont(){let e=atob("T1RUTwALAIAAAwAwQ0ZGIDHtZg4AAAOYAAAAgUZGVE1lkzZwAAAEHAAAABxHREVGABQAFQAABDgAAAAeT1MvMlYNYwkAAAEgAAAAYGNtYXABDQLUAAACNAAAAUJoZWFk/xVFDQAAALwAAAA2aGhlYQdkA+oAAAD0AAAAJGhtdHgD6AAAAAAEWAAAAAZtYXhwAAJQAAAAARgAAAAGbmFtZVjmdH4AAAGAAAAAsXBvc3T/hgAzAAADeAAAACAAAQAAAAEAALZRFsRfDzz1AAsD6AAAAADOBOTLAAAAAM4KHDwAAAAAA+gDIQAAAAgAAgAAAAAAAAABAAADIQAAAFoD6AAAAAAD6AABAAAAAAAAAAAAAAAAAAAAAQAAUAAAAgAAAAQD6AH0AAUAAAKKArwAAACMAooCvAAAAeAAMQECAAACAAYJAAAAAAAAAAAAAQAAAAAAAAAAAAAAAFBmRWQAwAAuAC4DIP84AFoDIQAAAAAAAQAAAAAAAAAAACAAIAABAAAADgCuAAEAAAAAAAAAAQAAAAEAAAAAAAEAAQAAAAEAAAAAAAIAAQAAAAEAAAAAAAMAAQAAAAEAAAAAAAQAAQAAAAEAAAAAAAUAAQAAAAEAAAAAAAYAAQAAAAMAAQQJAAAAAgABAAMAAQQJAAEAAgABAAMAAQQJAAIAAgABAAMAAQQJAAMAAgABAAMAAQQJAAQAAgABAAMAAQQJAAUAAgABAAMAAQQJAAYAAgABWABYAAAAAAAAAwAAAAMAAAAcAAEAAAAAADwAAwABAAAAHAAEACAAAAAEAAQAAQAAAC7//wAAAC7////TAAEAAAAAAAABBgAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAD/gwAyAAAAAQAAAAAAAAAAAAAAAAAAAAABAAQEAAEBAQJYAAEBASH4DwD4GwHEAvgcA/gXBIwMAYuL+nz5tQXkD5j3CBLnEQACAQEBIVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYAAABAQAADwACAQEEE/t3Dov6fAH6fAT+fPp8+nwHDosMCvm1Cvm1DAz6fBQAAAAAAAABAAAAAMmJbzEAAAAAzgTjFQAAAADOBOQpAAEAAAAAAAAADAAUAAQAAAABAAAAAgABAAAAAAAAAAAD6AAAAAAAAA==");return Lt(this,"_loadTestFont",e)}_prepareFontLoadEvent(e,n){function s(X,J){return X.charCodeAt(J)<<24|X.charCodeAt(J+1)<<16|X.charCodeAt(J+2)<<8|X.charCodeAt(J+3)&255}function i(X){return String.fromCharCode(X>>24&255,X>>16&255,X>>8&255,X&255)}function r(X,J,ee,te){let ne=X.substring(0,J),ie=X.substring(J+ee);return ne+te+ie}let a,l,c=this._document.createElement("canvas");c.width=1,c.height=1;let f=c.getContext("2d"),m=0;function g(X,J){if(++m>30){Zt("Load test font never loaded."),J();return}if(f.font="30px "+X,f.fillText(".",0,20),f.getImageData(0,0,1,1).data[3]>0){J();return}setTimeout(g.bind(null,X,J))}let b=`lt${Date.now()}${this.loadTestFontId++}`,v=this._loadTestFont;v=r(v,976,b.length,b);let T=16,_=1482184792,P=s(v,T);for(a=0,l=b.length-3;a<l;a+=4)P=P-_+s(b,a)|0;if(a<b.length)P=P-_+s(b+"XXX",a)|0;v=r(v,T,4,i(P));let U=`url(data:font/opentype;base64,${btoa(v)});`,z=`@font-face {font-family:"${b}";src:${U}}`;this.insertRule(z);let V=this._document.createElement("div");V.style.visibility="hidden",V.style.width=V.style.height="10px",V.style.position="absolute",V.style.top=V.style.left="0px";for(let X of[e.loadedName,b]){let J=this._document.createElement("span");J.textContent="Hi",J.style.fontFamily=X,V.append(J)}this._document.body.append(V),g(b,()=>{V.remove(),n.complete()})}}class _7{compiledGlyphs=Object.create(null);#e;constructor(e,n=null,s,i){if(this.#e=e,this._inspectFont=n,s)this.charProcOperatorList=s;if(i)Object.assign(this,i)}createNativeFontFace(){if(!this.data||this.disableFontFace)return null;let e;if(!this.cssFontInfo)e=new FontFace(this.loadedName,this.data,{});else{let n={weight:this.cssFontInfo.fontWeight};if(this.cssFontInfo.italicAngle)n.style=`oblique ${this.cssFontInfo.italicAngle}deg`;e=new FontFace(Q8(this.cssFontInfo.fontFamily),this.data,n)}return this._inspectFont?.(this),e}createFontFaceRule(){if(!this.data||this.disableFontFace)return null;let e=`url(data:${this.mimetype};base64,${this.data.toBase64()});`,n;if(!this.cssFontInfo)n=`@font-face {font-family:"${this.loadedName}";src:${e}}`;else{let s=`font-weight: ${this.cssFontInfo.fontWeight};`;if(this.cssFontInfo.italicAngle)s+=`font-style: oblique ${this.cssFontInfo.italicAngle}deg;`;n=`@font-face {font-family:${Q8(this.cssFontInfo.fontFamily)};${s}src:${e}}`}return this._inspectFont?.(this,e),n}getPathGenerator(e,n){if(this.compiledGlyphs[n]!==void 0)return this.compiledGlyphs[n];let s=this.loadedName+"_path_"+n,i;try{i=e.get(s)}catch(a){Zt(`getPathGenerator - ignoring character: "${a}".`)}let r=y7(i?.path);if(!this.fontExtraProperties)e.delete(s);return this.compiledGlyphs[n]=r}get black(){return this.#e.black}get bold(){return this.#e.bold}get disableFontFace(){return this.#e.disableFontFace}set disableFontFace(e){Lt(this,"disableFontFace",!!e)}get fontExtraProperties(){return this.#e.fontExtraProperties}get isInvalidPDFjsFont(){return this.#e.isInvalidPDFjsFont}get isType3Font(){return this.#e.isType3Font}get italic(){return this.#e.italic}get missingFile(){return this.#e.missingFile}get remeasure(){return this.#e.remeasure}get vertical(){return this.#e.vertical}get ascent(){return this.#e.ascent}get defaultWidth(){return this.#e.defaultWidth}get descent(){return this.#e.descent}get bbox(){return this.#e.bbox}get fontMatrix(){return this.#e.fontMatrix}get fallbackName(){return this.#e.fallbackName}get loadedName(){return this.#e.loadedName}get mimetype(){return this.#e.mimetype}get name(){return this.#e.name}get data(){return this.#e.data}clearData(){this.#e.clearData()}get cssFontInfo(){return this.#e.cssFontInfo}get systemFontInfo(){return this.#e.systemFontInfo}get defaultVMetrics(){return this.#e.defaultVMetrics}}class I7{static strings=["fontFamily","fontWeight","italicAngle"]}class R7{static strings=["css","loadedName","baseFontName","src"]}class Hr{static bools=["black","bold","disableFontFace","fontExtraProperties","isInvalidPDFjsFont","isType3Font","italic","missingFile","remeasure","vertical"];static numbers=["ascent","defaultWidth","descent"];static strings=["fallbackName","loadedName","mimetype","name"];static OFFSET_NUMBERS=Math.ceil(this.bools.length*2/8);static OFFSET_BBOX=this.OFFSET_NUMBERS+this.numbers.length*8;static OFFSET_FONT_MATRIX=this.OFFSET_BBOX+1+8;static OFFSET_DEFAULT_VMETRICS=this.OFFSET_FONT_MATRIX+1+48;static OFFSET_STRINGS=this.OFFSET_DEFAULT_VMETRICS+1+6}class kl{static KIND=0;static HAS_BBOX=1;static HAS_BACKGROUND=2;static SHADING_TYPE=3;static N_COORD=4;static N_COLOR=8;static N_STOP=12;static N_FIGURES=16}class cu{static get decoder(){return Lt(this,"decoder",new TextDecoder)}static get encoder(){return Lt(this,"encoder",new TextEncoder)}}class D7{#e;#t;constructor(e){this.#e=e,this.#t=new DataView(e)}#n(e){Rs(e<I7.strings.length,"Invalid string index");let{decoder:n}=cu,s=0;for(let r=0;r<e;r++)s+=this.#t.getUint32(s)+4;let i=this.#t.getUint32(s);return n.decode(new Uint8Array(this.#e,s+4,i))}get fontFamily(){return this.#n(0)}get fontWeight(){return this.#n(1)}get italicAngle(){return this.#n(2)}}class q7{#e;#t;constructor(e){this.#e=e,this.#t=new DataView(e)}get guessFallback(){return this.#t.getUint8(0)!==0}#n(e){Rs(e<R7.strings.length,"Invalid string index");let{decoder:n}=cu,s=5;for(let r=0;r<e;r++)s+=this.#t.getUint32(s)+4;let i=this.#t.getUint32(s);return n.decode(new Uint8Array(this.#e,s+4,i))}get css(){return this.#n(0)}get loadedName(){return this.#n(1)}get baseFontName(){return this.#n(2)}get src(){return this.#n(3)}get style(){let{decoder:e}=cu,n=1;n+=4+this.#t.getUint32(n);let s=this.#t.getUint32(n),i=e.decode(new Uint8Array(this.#e,n+4,s));n+=4+s;let r=this.#t.getUint32(n),a=e.decode(new Uint8Array(this.#e,n+4,r));return{style:i,weight:a}}}class M7{#e;#t;constructor({buffer:e,extra:n}){if(this.#e=e,this.#t=new DataView(e),n)Object.assign(this,n)}#n(e){Rs(e<Hr.bools.length,"Invalid boolean index");let n=Math.floor(e/4),s=e*2%8,i=this.#t.getUint8(n)>>s&3;return i===0?void 0:i===2}get black(){return this.#n(0)}get bold(){return this.#n(1)}get disableFontFace(){return this.#n(2)}get fontExtraProperties(){return this.#n(3)}get isInvalidPDFjsFont(){return this.#n(4)}get isType3Font(){return this.#n(5)}get italic(){return this.#n(6)}get missingFile(){return this.#n(7)}get remeasure(){return this.#n(8)}get vertical(){return this.#n(9)}#s(e){return Rs(e<Hr.numbers.length,"Invalid number index"),this.#t.getFloat64(Hr.OFFSET_NUMBERS+e*8)}get ascent(){return this.#s(0)}get defaultWidth(){return this.#s(1)}get descent(){return this.#s(2)}#i(e,n,s,i){let r=this.#t.getUint8(e);if(r===0)return;Rs(r===n,"Invalid array length."),e+=1;let a=Array(r);for(let l=0;l<r;l++)a[l]=this.#t[s](e,!0),e+=i;return a}get bbox(){return this.#i(Hr.OFFSET_BBOX,4,"getInt16",2)}get fontMatrix(){return this.#i(Hr.OFFSET_FONT_MATRIX,6,"getFloat64",8)}get defaultVMetrics(){return this.#i(Hr.OFFSET_DEFAULT_VMETRICS,3,"getInt16",2)}#a(e){Rs(e<Hr.strings.length,"Invalid string index");let{decoder:n}=cu,s=Hr.OFFSET_STRINGS+4;for(let r=0;r<e;r++)s+=this.#t.getUint32(s)+4;let i=this.#t.getUint32(s);return n.decode(new Uint8Array(this.#e,s+4,i))}get fallbackName(){return this.#a(0)}get loadedName(){return this.#a(1)}get mimetype(){return this.#a(2)}get name(){return this.#a(3)}#r(){let e=Hr.OFFSET_STRINGS,n=this.#t.getUint32(e);e+=4+n;let s=this.#t.getUint32(e);e+=4+s;let i=this.#t.getUint32(e);e+=4+i;let r=this.#t.getUint32(e);return{offset:e,length:r}}get data(){let{offset:e,length:n}=this.#r();return n===0?void 0:new Uint8Array(this.#e,e+4,n)}clearData(){let{offset:e,length:n}=this.#r();if(n===0)return;this.#t.setUint32(e,0),this.#e=new Uint8Array(this.#e,0,e+4).slice().buffer,this.#t=new DataView(this.#e)}get cssFontInfo(){let e=Hr.OFFSET_STRINGS,n=this.#t.getUint32(e);e+=4+n;let s=this.#t.getUint32(e);e+=4+s;let i=this.#t.getUint32(e);if(i===0)return null;let r=new Uint8Array(i);return r.set(new Uint8Array(this.#e,e+4,i)),new D7(r.buffer)}get systemFontInfo(){let e=Hr.OFFSET_STRINGS,n=this.#t.getUint32(e);e+=4+n;let s=this.#t.getUint32(e);if(s===0)return null;let i=new Uint8Array(s);return i.set(new Uint8Array(this.#e,e+4,s)),new q7(i.buffer)}}class F7{constructor(e){this.buffer=e,this.view=new DataView(e),this.data=new Uint8Array(e)}getIR(){let e=this.view,n=this.data[kl.KIND],s=!!this.data[kl.HAS_BBOX],i=!!this.data[kl.HAS_BACKGROUND],r=e.getUint32(kl.N_COORD,!0),a=e.getUint32(kl.N_COLOR,!0),l=e.getUint32(kl.N_STOP,!0),c=20,f=new Float32Array(this.buffer,c,r*2);c+=r*8;let m=new Uint8Array(this.buffer,c,a*4);c+=a*4;let g=[];for(let k=0;k<l;++k){let T=e.getFloat32(c,!0);c+=4;let _=e.getUint32(c,!0);c+=4,g.push([T,`#${_.toString(16).padStart(6,"0")}`])}let b=null;if(s){b=[];for(let k=0;k<4;++k)b.push(e.getFloat32(c,!0)),c+=4}let v=null;if(i)v=new Uint8Array(this.buffer,c,3),c+=3;if(n===1)return["RadialAxial","axial",b,g,Array.from(f.slice(0,2)),Array.from(f.slice(2,4)),null,null];if(n===2)return["RadialAxial","radial",b,g,[f[0],f[1]],[f[3],f[4]],f[2],f[5]];if(n===3){let k=this.data[kl.SHADING_TYPE],T=null;if(f.length>0){T=Eo.slice();for(let _=0,P=f.length;_<P;_+=2)ut.pointBoundingBox(f[_],f[_+1],T)}return["Mesh",k,f,m,r,T,b,v]}throw Error(`Unsupported pattern kind: ${n}`)}}class L7{#e;constructor(e){this.#e=e}get path(){if(zn.isFloat16ArraySupported)return new Float16Array(this.#e);return new Float32Array(this.#e)}}function Wq(e){if(e instanceof URL)return e;if(typeof e==="string"){if(wr){if(/^[a-z][a-z0-9\-+.]+:/i.test(e))return new URL(e);let s=process.getBuiltinModule("url");return new URL(s.pathToFileURL(e))}let n=URL.parse(e,window.location);if(n)return n}throw Error("Invalid PDF url data: either string or URL-object is expected in the url property.")}function Kq(e){if(wr&&typeof Buffer<"u"&&e instanceof Buffer)throw Error("Please provide binary data as `Uint8Array`, rather than `Buffer`.");if(e instanceof Uint8Array&&e.byteLength===e.buffer.byteLength)return e;if(typeof e==="string")return vm(e);if(e instanceof ArrayBuffer||ArrayBuffer.isView(e)||typeof e==="object"&&!isNaN(e?.length))return new Uint8Array(e);throw Error("Invalid PDF binary data: either TypedArray, string, or array-like object is expected in the data property.")}function W0(e){if(typeof e!=="string")return null;if(e.endsWith("/"))return e;throw Error(`Invalid factory url: "${e}" must include trailing slash.`)}var Yb=(e)=>typeof e==="object"&&Number.isInteger(e?.num)&&e.num>=0&&Number.isInteger(e?.gen)&&e.gen>=0,Yq=(e)=>typeof e==="object"&&typeof e?.name==="string",Qq=Lq.bind(null,Yb,Yq);class O7{#e=new Map;#t=Promise.resolve();postMessage(e,n){let s={data:structuredClone(e,n?{transfer:n}:null)};this.#t.then(()=>{for(let[i]of this.#e)i.call(this,s)})}addEventListener(e,n,s=null){let i=null;if(s?.signal instanceof AbortSignal){let{signal:r}=s;if(r.aborted){Zt("LoopbackPort - cannot use an `aborted` signal.");return}let a=()=>this.removeEventListener(e,n);i=()=>r.removeEventListener("abort",a),r.addEventListener("abort",a)}this.#e.set(n,i)}removeEventListener(e,n){this.#e.get(n)?.(),this.#e.delete(n)}terminate(){for(let[,e]of this.#e)e?.();this.#e.clear()}}var K0={DATA:1,ERROR:2},Js={CANCEL:1,CANCEL_COMPLETE:2,CLOSE:3,ENQUEUE:4,ERROR:5,PULL:6,PULL_COMPLETE:7,START_COMPLETE:8};function J8(){}function Yi(e){if(e instanceof jo||e instanceof om||e instanceof am||e instanceof ru||e instanceof sm)return e;if(!(e instanceof Error||typeof e==="object"&&e!==null))In('wrapReason: Expected "reason" to be a (possibly cloned) Error.');switch(e.name){case"AbortException":return new jo(e.message);case"InvalidPDFException":return new om(e.message);case"PasswordException":return new am(e.message,e.code);case"ResponseException":return new ru(e.message,e.status,e.missing);case"UnknownErrorException":return new sm(e.message,e.details)}return new sm(e.message,e.toString())}class yf{#e=new AbortController;constructor(e,n,s){this.sourceName=e,this.targetName=n,this.comObj=s,this.callbackId=1,this.streamId=1,this.streamSinks=Object.create(null),this.streamControllers=Object.create(null),this.callbackCapabilities=Object.create(null),this.actionHandler=Object.create(null),s.addEventListener("message",this.#t.bind(this),{signal:this.#e.signal})}#t({data:e}){if(e.targetName!==this.sourceName)return;if(e.stream){this.#s(e);return}if(e.callback){let s=e.callbackId,i=this.callbackCapabilities[s];if(!i)throw Error(`Cannot resolve callback ${s}`);if(delete this.callbackCapabilities[s],e.callback===K0.DATA)i.resolve(e.data);else if(e.callback===K0.ERROR)i.reject(Yi(e.reason));else throw Error("Unexpected callback case");return}let n=this.actionHandler[e.action];if(!n)throw Error(`Unknown action from worker: ${e.action}`);if(e.callbackId){let s=this.sourceName,i=e.sourceName,r=this.comObj;Promise.try(n,e.data).then(function(a){r.postMessage({sourceName:s,targetName:i,callback:K0.DATA,callbackId:e.callbackId,data:a})},function(a){r.postMessage({sourceName:s,targetName:i,callback:K0.ERROR,callbackId:e.callbackId,reason:Yi(a)})});return}if(e.streamId){this.#n(e);return}n(e.data)}on(e,n){let s=this.actionHandler;if(s[e])throw Error(`There is already an actionName called "${e}"`);s[e]=n}send(e,n,s){this.comObj.postMessage({sourceName:this.sourceName,targetName:this.targetName,action:e,data:n},s)}sendWithPromise(e,n,s){let i=this.callbackId++,r=Promise.withResolvers();this.callbackCapabilities[i]=r;try{this.comObj.postMessage({sourceName:this.sourceName,targetName:this.targetName,action:e,callbackId:i,data:n},s)}catch(a){r.reject(a)}return r.promise}sendWithStream(e,n,s,i){let r=this.streamId++,a=this.sourceName,l=this.targetName,c=this.comObj;return new ReadableStream({start:(f)=>{let m=Promise.withResolvers();return this.streamControllers[r]={controller:f,startCall:m,pullCall:null,cancelCall:null,isClosed:!1},c.postMessage({sourceName:a,targetName:l,action:e,streamId:r,data:n,desiredSize:f.desiredSize},i),m.promise},pull:(f)=>{let m=Promise.withResolvers();return this.streamControllers[r].pullCall=m,c.postMessage({sourceName:a,targetName:l,stream:Js.PULL,streamId:r,desiredSize:f.desiredSize}),m.promise},cancel:(f)=>{Rs(f instanceof Error,"cancel must have a valid reason");let m=Promise.withResolvers();return this.streamControllers[r].cancelCall=m,this.streamControllers[r].isClosed=!0,c.postMessage({sourceName:a,targetName:l,stream:Js.CANCEL,streamId:r,reason:Yi(f)}),m.promise}},s)}#n(e){let n=e.streamId,s=this.sourceName,i=e.sourceName,r=this.comObj,a=this,l=this.actionHandler[e.action],c={enqueue(f,m=1,g){if(this.isCancelled)return;let b=this.desiredSize;if(this.desiredSize-=m,b>0&&this.desiredSize<=0)this.sinkCapability=Promise.withResolvers(),this.ready=this.sinkCapability.promise;r.postMessage({sourceName:s,targetName:i,stream:Js.ENQUEUE,streamId:n,chunk:f},g)},close(){if(this.isCancelled)return;this.isCancelled=!0,r.postMessage({sourceName:s,targetName:i,stream:Js.CLOSE,streamId:n}),delete a.streamSinks[n]},error(f){if(Rs(f instanceof Error,"error must have a valid reason"),this.isCancelled)return;this.isCancelled=!0,r.postMessage({sourceName:s,targetName:i,stream:Js.ERROR,streamId:n,reason:Yi(f)})},sinkCapability:Promise.withResolvers(),onPull:null,onCancel:null,isCancelled:!1,desiredSize:e.desiredSize,ready:null};c.sinkCapability.resolve(),c.ready=c.sinkCapability.promise,this.streamSinks[n]=c,Promise.try(l,e.data,c).then(function(){r.postMessage({sourceName:s,targetName:i,stream:Js.START_COMPLETE,streamId:n,success:!0})},function(f){r.postMessage({sourceName:s,targetName:i,stream:Js.START_COMPLETE,streamId:n,reason:Yi(f)})})}#s(e){let n=e.streamId,s=this.sourceName,i=e.sourceName,r=this.comObj,a=this.streamControllers[n],l=this.streamSinks[n];switch(e.stream){case Js.START_COMPLETE:if(e.success)a.startCall.resolve();else a.startCall.reject(Yi(e.reason));break;case Js.PULL_COMPLETE:if(e.success)a.pullCall.resolve();else a.pullCall.reject(Yi(e.reason));break;case Js.PULL:if(!l){r.postMessage({sourceName:s,targetName:i,stream:Js.PULL_COMPLETE,streamId:n,success:!0});break}if(l.desiredSize<=0&&e.desiredSize>0)l.sinkCapability.resolve();l.desiredSize=e.desiredSize,Promise.try(l.onPull||J8).then(function(){r.postMessage({sourceName:s,targetName:i,stream:Js.PULL_COMPLETE,streamId:n,success:!0})},function(f){r.postMessage({sourceName:s,targetName:i,stream:Js.PULL_COMPLETE,streamId:n,reason:Yi(f)})});break;case Js.ENQUEUE:if(Rs(a,"enqueue should have stream controller"),a.isClosed)break;a.controller.enqueue(e.chunk);break;case Js.CLOSE:if(Rs(a,"close should have stream controller"),a.isClosed)break;a.isClosed=!0,a.controller.close(),this.#i(a,n);break;case Js.ERROR:Rs(a,"error should have stream controller"),a.controller.error(Yi(e.reason)),this.#i(a,n);break;case Js.CANCEL_COMPLETE:if(e.success)a.cancelCall.resolve();else a.cancelCall.reject(Yi(e.reason));this.#i(a,n);break;case Js.CANCEL:if(!l)break;let c=Yi(e.reason);Promise.try(l.onCancel||J8,c).then(function(){r.postMessage({sourceName:s,targetName:i,stream:Js.CANCEL_COMPLETE,streamId:n,success:!0})},function(f){r.postMessage({sourceName:s,targetName:i,stream:Js.CANCEL_COMPLETE,streamId:n,reason:Yi(f)})}),l.sinkCapability.reject(c),l.isCancelled=!0,delete this.streamSinks[n];break;default:throw Error("Unexpected stream case")}}async#i(e,n){await Promise.allSettled([e.startCall?.promise,e.pullCall?.promise,e.cancelCall?.promise]),delete this.streamControllers[n]}destroy(){this.#e?.abort(),this.#e=null}}class l2{#e=Object.freeze({cMapUrl:"CMap",standardFontDataUrl:"font",wasmUrl:"wasm"});constructor({cMapUrl:e=null,standardFontDataUrl:n=null,wasmUrl:s=null}){this.cMapUrl=e,this.standardFontDataUrl=n,this.wasmUrl=s}async fetch({kind:e,filename:n}){switch(e){case"cMapUrl":case"standardFontDataUrl":case"wasmUrl":break;default:In(`Not implemented: ${e}`)}let s=this[e];if(!s)throw Error(`Ensure that the \`${e}\` API parameter is provided.`);let i=`${s}${n}`;return this._fetch(i,e).catch((r)=>{throw Error(`Unable to load ${this.#e[e]} data at: ${i}`)})}async _fetch(e,n){In("Abstract method `_fetch` called.")}}class Qb extends l2{async _fetch(e,n){let s=n==="cMapUrl"&&!e.endsWith(".bcmap")?"text":"bytes",i=await n2(e,s);return i instanceof Uint8Array?i:vm(i)}}class c2{#e=!1;constructor({enableHWA:e=!1}){this.#e=e}create(e,n){if(e<=0||n<=0)throw Error("Invalid canvas size");let s=this._createCanvas(e,n);return{canvas:s,context:s.getContext("2d",{willReadFrequently:!this.#e})}}reset({canvas:e},n,s){if(!e)throw Error("Canvas is not specified");if(n<=0||s<=0)throw Error("Invalid canvas size");e.width=n,e.height=s}destroy(e){let{canvas:n}=e;if(!n)throw Error("Canvas is not specified");n.width=n.height=0,e.canvas=null,e.context=null}_createCanvas(e,n){In("Abstract method `_createCanvas` called.")}}class P7 extends c2{constructor({ownerDocument:e=globalThis.document,enableHWA:n=!1}){super({enableHWA:n});this._document=e}_createCanvas(e,n){let s=this._document.createElement("canvas");return s.width=e,s.height=n,s}}class f2{addFilter(e){return"none"}addHCMFilter(e,n){return"none"}addAlphaFilter(e){return"none"}addLuminosityFilter(e){return"none"}addKnockoutFilter(e=0){return"none"}addHighlightHCMFilter(e,n,s,i,r){return"none"}addSelectionHCMFilter(e,n){return"none"}addSelectionFilter(){return"none"}createSelectionStyle(e=null){return null}destroy(e=!1){}}class N7 extends f2{#e;#t;#n;#s;#i;#a;#r=0;constructor({docId:e,ownerDocument:n=globalThis.document}){super();this.#s=e,this.#i=n}get#o(){return this.#t||=new Map}get#l(){return this.#a||=new Map}get#c(){if(!this.#n){let e=this.#i.createElement("div"),{style:n}=e;n.colorScheme="only light",n.visibility="hidden",n.contain="strict",n.width=n.height=0,n.position="absolute",n.top=n.left=0,n.zIndex=-1;let s=this.#i.createElementNS("http://www.w3.org/2000/svg","svg");s.setAttribute("width",0),s.setAttribute("height",0),this.#n=this.#i.createElementNS("http://www.w3.org/2000/svg","defs"),e.append(s),s.append(this.#n),this.#i.body.append(e)}return this.#n}#u(e){if(e.length===1){let c=e[0],f=Array(256);for(let g=0;g<256;g++)f[g]=c[g]/255;let m=f.join(",");return[m,m,m]}let[n,s,i]=e,r=Array(256),a=Array(256),l=Array(256);for(let c=0;c<256;c++)r[c]=n[c]/255,a[c]=s[c]/255,l[c]=i[c]/255;return[r.join(","),a.join(","),l.join(",")]}#h(e){if(this.#e===void 0){this.#e="";let n=this.#i.URL;if(n!==this.#i.baseURI)if(km(n))Zt('#createUrl: ignore "data:"-URL for performance reasons.');else this.#e=d7(n,"")}return`url(${this.#e}#${e})`}addFilter(e){if(!e)return"none";let n=this.#o.get(e);if(n)return n;let[s,i,r]=this.#u(e),a=e.length===1?s:`${s}${i}${r}`;if(n=this.#o.get(a),n)return this.#o.set(e,n),n;let l=`g_${this.#s}_transfer_map_${this.#r++}`,c=this.#h(l);this.#o.set(e,c),this.#o.set(a,c);let f=this.#g(l);return this.#m(s,i,r,f),c}addHCMFilter(e,n){let s=`${e}-${n}`,i="base",r=this.#l.get("base");if(r?.key===s)return r.url;if(r)r.filter?.remove(),r.key=s,r.url="none",r.filter=null;else r={key:s,url:"none",filter:null},this.#l.set("base",r);if(!e||!n)return r.url;let a=this.#w(e);e=ut.makeHexColor(...a);let l=this.#w(n);if(n=ut.makeHexColor(...l),this.#v(),e==="#000000"&&n==="#ffffff"||e===n)return r.url;let f=Array.from({length:256},(v,k)=>Wb(k/255)).join(","),m=`g_${this.#s}_hcm_filter`,g=r.filter=this.#g(m);this.#m(f,f,f,g),this.#p(g);let b=(v,k)=>{let T=a[v]/255,_=l[v]/255,P=Array(k+1);for(let U=0;U<=k;U++)P[U]=T+U/k*(_-T);return P.join(",")};return this.#m(b(0,5),b(1,5),b(2,5),g),r.url=this.#h(m),r.url}addSelectionHCMFilter(e,n){return this.addHighlightHCMFilter("selection",e,n,"HighlightText","Highlight")}addSelectionFilter(){return this.addHighlightHCMFilter("selection_default","black","white","HighlightText","Highlight")}createSelectionStyle(e=null){let n=e?this.addSelectionHCMFilter(e.foreground,e.background):this.addSelectionFilter();if(n==="none"||!zn.platform.isFirefox)return null;return{"backdrop-filter":n,"background-color":"transparent"}}addAlphaFilter(e){let n=this.#o.get(e);if(n)return n;let[s]=this.#u([e]),i=`alpha_${s}`;if(n=this.#o.get(i),n)return this.#o.set(e,n),n;let r=`g_${this.#s}_alpha_map_${this.#r++}`,a=this.#h(r);this.#o.set(e,a),this.#o.set(i,a);let l=this.#g(r);return this.#b(s,l),a}addLuminosityFilter(e){let n=this.#o.get(e||"luminosity");if(n)return n;let s,i;if(e)[s]=this.#u([e]),i=`luminosity_${s}`;else i="luminosity";if(n=this.#o.get(i),n)return this.#o.set(e,n),n;let r=`g_${this.#s}_luminosity_map_${this.#r++}`,a=this.#h(r);this.#o.set(e,a),this.#o.set(i,a);let l=this.#g(r);if(this.#d(l),e)this.#b(s,l);return a}addKnockoutFilter(e=0){let n=e>0?Math.min(1/e,1e6):1e6,s=`knockout_${n}`,i=this.#o.get(s);if(i)return i;let r=`g_${this.#s}_knockout_filter_${this.#r++}`,a=this.#h(r);this.#o.set(s,a);let l=this.#g(r),c=this.#i.createElementNS("http://www.w3.org/2000/svg","feComponentTransfer");l.append(c);let f=this.#i.createElementNS("http://www.w3.org/2000/svg","feFuncA");return f.setAttribute("type","linear"),f.setAttribute("slope",`${n}`),f.setAttribute("intercept","0"),c.append(f),a}addHighlightHCMFilter(e,n,s,i,r){let a=`${n}-${s}-${i}-${r}`,l=this.#l.get(e);if(l?.key===a)return l.url;if(l)l.filter?.remove(),l.key=a,l.url="none",l.filter=null;else l={key:a,url:"none",filter:null},this.#l.set(e,l);if(!n||!s)return l.url;let[c,f]=[n,s].map(this.#w.bind(this)),m=Math.round(0.2126*c[0]+0.7152*c[1]+0.0722*c[2]),g=Math.round(0.2126*f[0]+0.7152*f[1]+0.0722*f[2]),[b,v]=[i,r].map(this.#x.bind(this));if(g<m)[m,g,b,v]=[g,m,v,b];this.#v();let k=(P,U,z)=>{let V=Array(256),X=(g-m)/z,J=P/255,ee=(U-P)/(255*z),te=0;for(let ne=0;ne<=z;ne++){let ie=Math.round(m+ne*X),se=J+ne*ee;for(let oe=te;oe<=ie;oe++)V[oe]=se;te=ie+1}for(let ne=te;ne<256;ne++)V[ne]=V[te-1];return V.join(",")},T=`g_${this.#s}_hcm_${e}_filter`,_=l.filter=this.#g(T);return this.#p(_),this.#m(k(b[0],v[0],5),k(b[1],v[1],5),k(b[2],v[2],5),_),l.url=this.#h(T),l.url}destroy(e=!1){if(e&&this.#a?.size)return;this.#n?.parentNode.parentNode.remove(),this.#n=null,this.#t?.clear(),this.#t=null,this.#a?.clear(),this.#a=null,this.#r=0}#d(e){let n=this.#i.createElementNS("http://www.w3.org/2000/svg","feColorMatrix");n.setAttribute("type","matrix"),n.setAttribute("values","0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.3 0.59 0.11 0 0"),e.append(n)}#p(e){let n=this.#i.createElementNS("http://www.w3.org/2000/svg","feColorMatrix");n.setAttribute("type","matrix"),n.setAttribute("values","0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0 0 0 1 0"),e.append(n)}#g(e){let n=this.#i.createElementNS("http://www.w3.org/2000/svg","filter");return n.setAttribute("color-interpolation-filters","sRGB"),n.setAttribute("id",e),this.#c.append(n),n}#f(e,n,s){let i=this.#i.createElementNS("http://www.w3.org/2000/svg",n);i.setAttribute("type","discrete"),i.setAttribute("tableValues",s),e.append(i)}#m(e,n,s,i){let r=this.#i.createElementNS("http://www.w3.org/2000/svg","feComponentTransfer");i.append(r),this.#f(r,"feFuncR",e),this.#f(r,"feFuncG",n),this.#f(r,"feFuncB",s)}#b(e,n){let s=this.#i.createElementNS("http://www.w3.org/2000/svg","feComponentTransfer");n.append(s),this.#f(s,"feFuncA",e)}#w(e){return this.#c.style.color="CanvasText",this.#c.style.backgroundColor=e,wu(getComputedStyle(this.#c).getPropertyValue("background-color"))}#y(e){return this.#c.style.color="CanvasText",this.#c.style.backgroundColor=e,bu(getComputedStyle(this.#c).getPropertyValue("background-color"))}#v(){this.#c.style.color="",this.#c.style.backgroundColor=""}#x(e){let[n,s,i,r]=this.#y(e);if(r===1)return[n,s,i];let[a,l,c]=this.#w("Canvas");return[Bb(n,a,r),Bb(s,l,r),Bb(i,c,r)]}}function Bb(e,n,s){return Math.round(s*e+(1-s)*n)}if(wr)Zt("Please use the `legacy` build in Node.js environments.");async function Jq(e){let s=await process.getBuiltinModule("fs/promises").readFile(e);return new Uint8Array(s)}class B7 extends f2{}class H7 extends c2{_createCanvas(e,n){return process.getBuiltinModule("module").createRequire(import.meta.url)("@napi-rs/canvas").createCanvas(e,n)}}class U7 extends l2{async _fetch(e,n){return Jq(e)}}function z7({src:e,srcPos:n=0,dest:s,width:i,height:r,nonBlackColor:a=4294967295,inverseDecode:l=!1}){let c=zn.isLittleEndian?4278190080:255,[f,m]=l?[a,c]:[c,a],g=i>>3,b=i&7,v=f^m,k=e.length;s=new Uint32Array(s.buffer);let T=0;for(let _=0;_<r;++_){for(let U=n+g;n<U;++n,T+=8){let z=e[n];s[T]=f^-(z>>7&1)&v,s[T+1]=f^-(z>>6&1)&v,s[T+2]=f^-(z>>5&1)&v,s[T+3]=f^-(z>>4&1)&v,s[T+4]=f^-(z>>3&1)&v,s[T+5]=f^-(z>>2&1)&v,s[T+6]=f^-(z>>1&1)&v,s[T+7]=f^-(z&1)&v}if(b===0)continue;let P=n<k?e[n++]:255;for(let U=0;U<b;++U,++T)s[T]=f^-(P>>7-U&1)&v}return{srcPos:n,destPos:T}}function Zq({src:e,srcPos:n=0,dest:s,destPos:i=0,width:r,height:a}){let l=0,c=r*a*3,f=c>>2,m=new Uint32Array(e.buffer,n,f),g=zn.isLittleEndian?4278190080:255;if(zn.isLittleEndian){for(;l<f-2;l+=3,i+=4){let b=m[l],v=m[l+1],k=m[l+2];s[i]=b|g,s[i+1]=b>>>24|v<<8|g,s[i+2]=v>>>16|k<<16|g,s[i+3]=k>>>8|g}for(let b=l*4,v=n+c;b<v;b+=3)s[i++]=e[b]|e[b+1]<<8|e[b+2]<<16|g}else{for(;l<f-2;l+=3,i+=4){let b=m[l],v=m[l+1],k=m[l+2];s[i]=b|g,s[i+1]=b<<24|v>>>8|g,s[i+2]=v<<16|k>>>16|g,s[i+3]=k<<8|g}for(let b=l*4,v=n+c;b<v;b+=3)s[i++]=e[b]<<24|e[b+1]<<16|e[b+2]<<8|g}return{srcPos:n+c,destPos:i}}var eM=`
76
+ struct Uniforms {
77
+ offsetX : f32,
78
+ offsetY : f32,
79
+ scaleX : f32,
80
+ scaleY : f32,
81
+ paddedWidth : f32,
82
+ paddedHeight : f32,
83
+ borderSize : f32,
84
+ _pad : f32,
85
+ };
86
+
87
+ @group(0) @binding(0) var<uniform> u : Uniforms;
88
+
89
+ struct VertexInput {
90
+ @location(0) position : vec2<f32>,
91
+ @location(1) color : vec4<f32>,
92
+ };
93
+
94
+ struct VertexOutput {
95
+ @builtin(position) position : vec4<f32>,
96
+ @location(0) color : vec3<f32>,
97
+ };
98
+
99
+ @vertex
100
+ fn vs_main(in : VertexInput) -> VertexOutput {
101
+ var out : VertexOutput;
102
+ let cx = (in.position.x + u.offsetX) * u.scaleX;
103
+ let cy = (in.position.y + u.offsetY) * u.scaleY;
104
+ out.position = vec4<f32>(
105
+ ((cx + u.borderSize) / u.paddedWidth) * 2.0 - 1.0,
106
+ 1.0 - ((cy + u.borderSize) / u.paddedHeight) * 2.0,
107
+ 0.0,
108
+ 1.0
109
+ );
110
+ out.color = in.color.rgb;
111
+ return out;
112
+ }
113
+
114
+ @fragment
115
+ fn fs_main(in : VertexOutput) -> @location(0) vec4<f32> {
116
+ return vec4<f32>(in.color, 1.0);
117
+ }
118
+ `;class G7{#e=null;#t=null;#n=null;#s=null;async#i(){if(!globalThis.navigator?.gpu)return!1;try{let e=await navigator.gpu.requestAdapter();if(!e)return!1;return this.#s=navigator.gpu.getPreferredCanvasFormat(),this.#t=await e.requestDevice(),!0}catch{return!1}}init(){return this.#e||=this.#i()}get isReady(){return this.#t!==null}loadMeshShader(){if(!this.#t||this.#n)return;let e=this.#t.createShaderModule({code:eM});this.#n=this.#t.createRenderPipeline({layout:"auto",vertex:{module:e,entryPoint:"vs_main",buffers:[{arrayStride:8,attributes:[{shaderLocation:0,offset:0,format:"float32x2"}]},{arrayStride:4,attributes:[{shaderLocation:1,offset:0,format:"unorm8x4"}]}]},fragment:{module:e,entryPoint:"fs_main",targets:[{format:this.#s}]},primitive:{topology:"triangle-list"}})}draw(e,n,s,i,r,a,l,c){this.loadMeshShader();let f=this.#t,{offsetX:m,offsetY:g,scaleX:b,scaleY:v}=i,k=f.createBuffer({size:Math.max(e.byteLength,4),usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});if(e.byteLength>0)f.queue.writeBuffer(k,0,e);let T=f.createBuffer({size:Math.max(n.byteLength,4),usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});if(n.byteLength>0)f.queue.writeBuffer(T,0,n);let _=f.createBuffer({size:32,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST});f.queue.writeBuffer(_,0,new Float32Array([m,g,b,v,a,l,c,0]));let P=f.createBindGroup({layout:this.#n.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:_}}]}),U=new OffscreenCanvas(a,l),z=U.getContext("webgpu");z.configure({device:f,format:this.#s,alphaMode:r?"opaque":"premultiplied"});let V=r?{r:r[0]/255,g:r[1]/255,b:r[2]/255,a:1}:{r:0,g:0,b:0,a:0},X=f.createCommandEncoder(),J=X.beginRenderPass({colorAttachments:[{view:z.getCurrentTexture().createView(),clearValue:V,loadOp:"clear",storeOp:"store"}]});if(s>0)J.setPipeline(this.#n),J.setBindGroup(0,P),J.setVertexBuffer(0,k),J.setVertexBuffer(1,T),J.draw(s);return J.end(),f.queue.submit([X.finish()]),k.destroy(),T.destroy(),_.destroy(),U.transferToImageBitmap()}}var Am=new G7;function tM(){return Am.init()}function nM(){return Am.isReady}function sM(){Am.loadMeshShader()}function iM(e,n,s,i,r,a,l,c){return Am.draw(e,n,s,i,r,a,l,c)}var xi={FILL:"Fill",STROKE:"Stroke",SHADING:"Shading"};function im(e,n){if(!n)return;let s=n[2]-n[0],i=n[3]-n[1],r=new Path2D;r.rect(n[0],n[1],s,i),e.clip(r)}class Em{matrix=null;isModifyingCurrentTransform(){return!1}getPattern(){In("Abstract method `getPattern` called.")}}class V7 extends Em{constructor(e){super();this._type=e[1],this._bbox=e[2],this._colorStops=e[3],this._p0=e[4],this._p1=e[5],this._r0=e[6],this._r1=e[7]}isOriginBased(){return this._p0[0]===0&&this._p0[1]===0&&(!this.isRadial()||this._p1[0]===0&&this._p1[1]===0)}isRadial(){return this._type==="radial"}areConic(){if(!this.isRadial())return!1;let e=Math.hypot(this._p0[0]-this._p1[0],this._p0[1]-this._p1[1]);return e+this._r1>this._r0&&e+this._r0>this._r1}_createGradient(e,n=null){let s,i=this._p0,r=this._p1;if(n)i=i.slice(),r=r.slice(),ut.applyTransform(i,n),ut.applyTransform(r,n);if(this._type==="axial")s=e.createLinearGradient(i[0],i[1],r[0],r[1]);else if(this._type==="radial"){let a=this._r0,l=this._r1;if(n){let c=new Float32Array(2);ut.singularValueDecompose2dScale(n,c),a*=c[0],l*=c[0]}s=e.createRadialGradient(i[0],i[1],a,r[0],r[1],l)}for(let a of this._colorStops)s.addColorStop(a[0],a[1]);return s}_createReversedGradient(e,n=null){let s=this._p1,i=this._p0;if(n)s=s.slice(),i=i.slice(),ut.applyTransform(s,n),ut.applyTransform(i,n);let r=this._r1,a=this._r0;if(n){let f=new Float32Array(2);ut.singularValueDecompose2dScale(n,f),r*=f[0],a*=f[0]}let l=e.createRadialGradient(s[0],s[1],r,i[0],i[1],a),c=this._colorStops.map(([f,m])=>[1-f,m]).reverse();for(let[f,m]of c)l.addColorStop(f,m);return l}getPattern(e,n,s,i){let r;if(i===xi.STROKE||i===xi.FILL){if(this.isOriginBased()){let b=ut.transform(s,n.baseTransform);if(this.matrix)b=ut.transform(b,this.matrix);let v=0.001,k=Math.hypot(b[0],b[1]),T=Math.hypot(b[2],b[3]),_=(b[0]*b[2]+b[1]*b[3])/(k*T);if(Math.abs(_)<v)if(this.isRadial()){if(Math.abs(k-T)<v)return this._createGradient(e,b)}else return this._createGradient(e,b)}let a=n.current.getClippedPathBoundingBox(i,cs(e))||[0,0,0,0],l=Math.ceil(a[2]-a[0])||1,c=Math.ceil(a[3]-a[1])||1,f=n.canvasFactory.create(l,c),m=f.context;if(m.clearRect(0,0,m.canvas.width,m.canvas.height),m.beginPath(),m.rect(0,0,m.canvas.width,m.canvas.height),m.translate(-a[0],-a[1]),s=ut.transform(s,[1,0,0,1,a[0],a[1]]),m.transform(...n.baseTransform),this.matrix)m.transform(...this.matrix);if(im(m,this._bbox),this.areConic())m.fillStyle=this._createReversedGradient(m),m.fill();m.fillStyle=this._createGradient(m),m.fill(),r=e.createPattern(f.canvas,"no-repeat"),n.canvasFactory.destroy(f);let g=new DOMMatrix(s);r.setTransform(g)}else{if(this.areConic())e.save(),im(e,this._bbox),e.fillStyle=this._createReversedGradient(e),e.fillRect(-10000000000,-10000000000,20000000000,20000000000),e.restore();im(e,this._bbox),r=this._createGradient(e)}return r}}function rM(e,n,s,i,r,a,l,c){let{coords:f,colors:m}=n,g=e.data,b=e.width*4,v;if(f[s*2+1]>f[i*2+1])v=s,s=i,i=v,v=a,a=l,l=v;if(f[i*2+1]>f[r*2+1])v=i,i=r,r=v,v=l,l=c,c=v;if(f[s*2+1]>f[i*2+1])v=s,s=i,i=v,v=a,a=l,l=v;let k=(f[s*2]+n.offsetX)*n.scaleX,T=(f[s*2+1]+n.offsetY)*n.scaleY,_=(f[i*2]+n.offsetX)*n.scaleX,P=(f[i*2+1]+n.offsetY)*n.scaleY,U=(f[r*2]+n.offsetX)*n.scaleX,z=(f[r*2+1]+n.offsetY)*n.scaleY;if(T>=z)return;let V=m[a*4],X=m[a*4+1],J=m[a*4+2],ee=m[l*4],te=m[l*4+1],ne=m[l*4+2],ie=m[c*4],se=m[c*4+1],oe=m[c*4+2],ye=Math.round(T),Se=Math.round(z),me,de,ce,Ee,we,qe,Re,Fe;for(let Be=ye;Be<=Se;Be++){if(Be<P){let _t=Be<T?0:(T-Be)/(T-P);me=k-(k-_)*_t,de=V-(V-ee)*_t,ce=X-(X-te)*_t,Ee=J-(J-ne)*_t}else{let _t;if(Be>z)_t=1;else if(P===z)_t=0;else _t=(P-Be)/(P-z);me=_-(_-U)*_t,de=ee-(ee-ie)*_t,ce=te-(te-se)*_t,Ee=ne-(ne-oe)*_t}let Xe;if(Be<T)Xe=0;else if(Be>z)Xe=1;else Xe=(T-Be)/(T-z);we=k-(k-U)*Xe,qe=V-(V-ie)*Xe,Re=X-(X-se)*Xe,Fe=J-(J-oe)*Xe;let st=Math.round(Math.min(me,we)),Ze=Math.round(Math.max(me,we)),St=b*Be+st*4;for(let _t=st;_t<=Ze;_t++){if(Xe=(me-_t)/(me-we),Xe<0)Xe=0;else if(Xe>1)Xe=1;g[St++]=de-(de-qe)*Xe|0,g[St++]=ce-(ce-Re)*Xe|0,g[St++]=Ee-(Ee-Fe)*Xe|0,g[St++]=255}}}class $7 extends Em{constructor(e){super();this._posData=e[2],this._colData=e[3],this._vertexCount=e[4],this._bounds=e[5],this._bbox=e[6],this._background=e[7],sM()}_createMeshCanvas(e,n,s){let l=Math.floor(this._bounds[0]),c=Math.floor(this._bounds[1]),f=Math.ceil(this._bounds[2])-l,m=Math.ceil(this._bounds[3])-c,g=Math.min(Math.ceil(Math.abs(f*e[0]*1.1)),3000)||1,b=Math.min(Math.ceil(Math.abs(m*e[1]*1.1)),3000)||1,v=f?f/g:1,k=m?m/b:1,T={coords:this._posData,colors:this._colData,offsetX:-l,offsetY:-c,scaleX:1/v,scaleY:1/k},_=g+4,P=b+4,U=s.create(_,P);if(nM()&&this._vertexCount>48)U.context.drawImage(iM(this._posData,this._colData,this._vertexCount,T,n,_,P,2),0,0);else{let z=U.context.createImageData(g,b);if(n){let V=z.data;for(let X=0,J=V.length;X<J;X+=4)V[X]=n[0],V[X+1]=n[1],V[X+2]=n[2],V[X+3]=255}for(let V=0,X=this._vertexCount;V<X;V+=3)rM(z,T,V,V+1,V+2,V,V+1,V+2);U.context.putImageData(z,2,2)}return{canvas:U.canvas,offsetX:l-2*v,offsetY:c-2*k,scaleX:v,scaleY:k}}isModifyingCurrentTransform(){return!0}getPattern(e,n,s,i){im(e,this._bbox);let r=new Float32Array(2);if(i===xi.SHADING)ut.singularValueDecompose2dScale(cs(e),r);else if(this.matrix){ut.singularValueDecompose2dScale(this.matrix,r);let[c,f]=r;ut.singularValueDecompose2dScale(n.baseTransform,r),r[0]*=c,r[1]*=f}else ut.singularValueDecompose2dScale(n.baseTransform,r);let a=this._createMeshCanvas(r,i===xi.SHADING?null:this._background,n.canvasFactory);if(i!==xi.SHADING){if(e.setTransform(...n.baseTransform),this.matrix)e.transform(...this.matrix)}e.translate(a.offsetX,a.offsetY),e.scale(a.scaleX,a.scaleY);let l=e.createPattern(a.canvas,"no-repeat");return n.canvasFactory.destroy(a),l}}class X7 extends Em{getPattern(){return"hotpink"}}function aM(e){switch(e[0]){case"RadialAxial":return new V7(e);case"Mesh":return new $7(e);case"Dummy":return new X7}throw Error(`Unknown IR type: ${e[0]}`)}var Z8={COLORED:1,UNCOLORED:2};class iu{static MAX_PATTERN_SIZE=3000;constructor(e,n,s,i){this.color=e[1],this.operatorList=e[2],this.matrix=e[3],this.bbox=e[4],this.xstep=e[5],this.ystep=e[6],this.paintType=e[7],this.tilingType=e[8],this.needsIsolation=e[9]??!0,this.ctx=n,this.canvasGraphicsFactory=s,this.baseTransform=i,this.patternBaseMatrix=this.matrix?ut.transform(i,this.matrix):i}canSkipPatternCanvas([e,n,s,i]){let[r,a,l,c]=this.bbox,f=Math.abs(this.xstep),m=Math.abs(this.ystep);if(e>f+0.000001||n>m+0.000001)return null;let g=Math.floor((s-l)/f)+1,b=Math.ceil((s+e-r)/f)-1,v=Math.floor((i-c)/m)+1,k=Math.ceil((i+n-a)/m)-1;return b<=g&&k<=v?[g,v]:null}updatePatternDims(e,n){let s=ut.inverseTransform(this.patternBaseMatrix),i=[e[0],e[1]],r=[e[2],e[3]];ut.applyTransform(i,s),ut.applyTransform(r,s),n[0]=Math.abs(r[0]-i[0]),n[1]=Math.abs(r[1]-i[1]),n[2]=Math.min(i[0],r[0]),n[3]=Math.min(i[1],r[1])}_renderTileCanvas(e,n,s,i){let[r,a,l,c]=this.bbox,f=e.canvasFactory.create(s.size,i.size),m=f.context,g=this.canvasGraphicsFactory.createCanvasGraphics(m,n);return g.groupLevel=e.groupLevel,this.setFillAndStrokeStyleToContext(g,this.paintType,this.color),m.translate(-s.scale*r,-i.scale*a),g.transform(0,s.scale,0,0,i.scale,0,0),m.save(),g.dependencyTracker?.save(),this.clipBbox(g,r,a,l,c),g.baseTransform=cs(g.ctx),g.executeOperatorList(this.operatorList),g.endDrawing(),g.dependencyTracker?.restore(),m.restore(),f}_getCombinedScales(){let e=new Float32Array(2);ut.singularValueDecompose2dScale(this.matrix,e);let[n,s]=e;return ut.singularValueDecompose2dScale(this.baseTransform,e),[n*e[0],s*e[1]]}drawPattern(e,n,s=!1,[i,r],a){let[l,c,f,m]=this.bbox,g=e.dependencyTracker;if(g)e.dependencyTracker=new lu(g,a);if(e.save(),s)e.ctx.clip(n,"evenodd");else e.ctx.clip(n);if(e.ctx.setTransform(...this.patternBaseMatrix),e.ctx.translate(i*this.xstep,r*this.ystep),this.needsIsolation||e.ctx.globalAlpha!==1||e.ctx.globalCompositeOperation!=="source-over"||e.inSMaskMode){let b=f-l,v=m-c,[k,T]=this._getCombinedScales(),_=this.getSizeAndScale(b,this.ctx.canvas.width,k),P=this.getSizeAndScale(v,this.ctx.canvas.height,T),U=this._renderTileCanvas(e,a,_,P);e.ctx.drawImage(U.canvas,l,c,b,v),e.canvasFactory.destroy(U)}else this.setFillAndStrokeStyleToContext(e,this.paintType,this.color),this.clipBbox(e,l,c,f,m),e.baseTransformStack.push(e.baseTransform),e.baseTransform=cs(e.ctx),e.executeOperatorList(this.operatorList),e.baseTransform=e.baseTransformStack.pop();if(e.restore(),g)e.dependencyTracker=g}createPatternCanvas(e,n){let[s,i,r,a]=this.bbox,l=r-s,c=a-i,{xstep:f,ystep:m}=this;f=Math.abs(f),m=Math.abs(m),ym("TilingType: "+this.tilingType);let[g,b]=this._getCombinedScales(),v=l,k=c,T=!1,_=!1;if(Math.ceil(f*g)>=Math.ceil(l*g))v=f;else T=!0;if(Math.ceil(m*b)>=Math.ceil(c*b))k=m;else _=!0;let P=this.getSizeAndScale(v,this.ctx.canvas.width,g),U=this.getSizeAndScale(k,this.ctx.canvas.height,b),z=this._renderTileCanvas(e,n,P,U);if(T||_){let V=z.canvas;if(T)v=f;if(_)k=m;let X=this.getSizeAndScale(v,this.ctx.canvas.width,g),J=this.getSizeAndScale(k,this.ctx.canvas.height,b),ee=X.size,te=J.size,ne=e.canvasFactory.create(ee,te),ie=ne.context,se=T?Math.floor(l/f):0,oe=_?Math.floor(c/m):0;for(let ye=0;ye<=se;ye++)for(let Se=0;Se<=oe;Se++)ie.drawImage(V,ee*ye,te*Se,ee,te,0,0,ee,te);return e.canvasFactory.destroy(z),{canvas:ne.canvas,canvasEntry:ne,scaleX:X.scale,scaleY:J.scale,offsetX:s,offsetY:i}}return{canvas:z.canvas,canvasEntry:z,scaleX:P.scale,scaleY:U.scale,offsetX:s,offsetY:i}}getSizeAndScale(e,n,s){let i=Math.max(iu.MAX_PATTERN_SIZE,n),r=Math.ceil(e*s);if(r>=i)r=i;else s=r/e;return{scale:s,size:r}}clipBbox(e,n,s,i,r){let a=i-n,l=r-s,c=new Path2D;c.rect(n,s,a,l),ut.axialAlignedBoundingBox([n,s,i,r],cs(e.ctx),e.current.minMax),e.ctx.clip(c),e.current.updateClipFromPath()}setFillAndStrokeStyleToContext(e,n,s){let{ctx:i,current:r}=e;switch(r.patternFill=r.patternStroke=!1,n){case Z8.COLORED:let{fillStyle:a,strokeStyle:l}=this.ctx;i.fillStyle=r.fillColor=a,i.strokeStyle=r.strokeColor=l;break;case Z8.UNCOLORED:i.fillStyle=i.strokeStyle=s,r.fillColor=r.strokeColor=s;break;default:throw new m7(`Unsupported paint type: ${n}`)}}isModifyingCurrentTransform(){return!1}getPattern(e,n,s,i,r){let a=i!==xi.SHADING?ut.transform(s,this.patternBaseMatrix):s,l=this.createPatternCanvas(n,r),c=new DOMMatrix(a);c=c.translate(l.offsetX,l.offsetY),c=c.scale(1/l.scaleX,1/l.scaleY);let f=e.createPattern(l.canvas,"repeat");return n.canvasFactory.destroy(l.canvasEntry),f.setTransform(c),f}}var oM=16,lM=100,cM=15,e7=10,Qi=16,vr=new Float32Array(2);function t7(e,n){if(e._removeMirroring)throw Error("Context is already forwarding operations.");let s=new Map;for(let i of["save","restore","rotate","scale","translate","transform","setTransform","resetTransform","clip","moveTo","lineTo","bezierCurveTo","quadraticCurveTo","arc","arcTo","ellipse","rect","roundRect","closePath","beginPath"]){let r=e[i];if(typeof r!=="function"||typeof n[i]!=="function")continue;s.set(i,r),e[i]=function(...a){return n[i](...a),r.apply(this,a)}}e._removeMirroring=()=>{for(let[i,r]of s)e[i]=r;delete e._removeMirroring}}function Y0(e,n,s,i,r,a,l,c,f,m){let[g,b,v,k,T,_]=cs(e);if(b===0&&v===0){let z=l*g+T,V=Math.round(z),X=c*k+_,J=Math.round(X),ee=(l+f)*g+T,te=Math.abs(Math.round(ee)-V)||1,ne=(c+m)*k+_,ie=Math.abs(Math.round(ne)-J)||1;return e.setTransform(Math.sign(g),0,0,Math.sign(k),V,J),e.drawImage(n,s,i,r,a,0,0,te,ie),e.setTransform(g,b,v,k,T,_),[te,ie]}if(g===0&&k===0){let z=c*v+T,V=Math.round(z),X=l*b+_,J=Math.round(X),ee=(c+m)*v+T,te=Math.abs(Math.round(ee)-V)||1,ne=(l+f)*b+_,ie=Math.abs(Math.round(ne)-J)||1;return e.setTransform(0,Math.sign(b),Math.sign(v),0,V,J),e.drawImage(n,s,i,r,a,0,0,ie,te),e.setTransform(g,b,v,k,T,_),[ie,te]}e.drawImage(n,s,i,r,a,l,c,f,m);let P=Math.hypot(g,b),U=Math.hypot(v,k);return[P*f,U*m]}class Jb{alphaIsShape=!1;fontSize=0;fontSizeScale=1;textMatrix=null;textMatrixScale=1;fontMatrix=Ub;leading=0;x=0;y=0;lineX=0;lineY=0;charSpacing=0;wordSpacing=0;textHScale=1;textRenderingMode=ii.FILL;textRise=0;fillColor="#000000";strokeColor="#000000";tilingPatternDims=null;patternFill=!1;patternStroke=!1;fillAlpha=1;strokeAlpha=1;lineWidth=1;activeSMask=null;transferMaps="none";minMax=ac.slice();constructor(e,n){this.clipBox=new Float32Array([0,0,e,n])}clone(){let e=Object.create(this);return e.clipBox=this.clipBox.slice(),e.minMax=this.minMax.slice(),e.tilingPatternDims=this.tilingPatternDims?.slice(),e}getPathBoundingBox(e=xi.FILL,n=null){let s=this.minMax.slice();if(e===xi.STROKE){if(!n)In("Stroke bounding box must include transform.");ut.singularValueDecompose2dScale(n,vr);let i=vr[0]*this.lineWidth/2,r=vr[1]*this.lineWidth/2;s[0]-=i,s[1]-=r,s[2]+=i,s[3]+=r}return s}updateClipFromPath(){let e=ut.intersect(this.clipBox,this.getPathBoundingBox());this.startNewPathAndClipBox(e||[0,0,0,0])}isEmptyClip(){return this.minMax[0]===1/0}startNewPathAndClipBox(e){this.clipBox.set(e,0),this.minMax.set(ac,0)}getClippedPathBoundingBox(e=xi.FILL,n=null){return ut.intersect(this.clipBox,this.getPathBoundingBox(e,n))}}function n7(e,n){let{width:s,height:i,kind:r}=n,a=i%Qi,l=(i-a)/Qi,c=a===0?l:l+1,f=e.createImageData(s,Qi),m=0,g=n.data,b=f.data,v;if(r===nm.GRAYSCALE_1BPP)for(v=0;v<c;v++)({srcPos:m}=z7({src:g,srcPos:m,dest:b,width:s,height:v<l?Qi:a})),e.putImageData(f,0,v*Qi);else if(r===nm.RGBA_32BPP){let k=0,T=s*Qi*4;for(v=0;v<l;v++)b.set(g.subarray(m,m+T)),m+=T,e.putImageData(f,0,k),k+=Qi;if(v<c)T=s*a*4,b.set(g.subarray(m,m+T)),e.putImageData(f,0,k)}else if(r===nm.RGB_24BPP)for(v=0;v<c;v++)({srcPos:m}=Zq({src:g,srcPos:m,dest:new Uint32Array(b.buffer),width:s,height:v<l?Qi:a})),e.putImageData(f,0,v*Qi);else throw Error(`bad image kind: ${r}`)}function s7(e,n){if(n.bitmap){e.drawImage(n.bitmap,0,0);return}let{width:s,height:i}=n,r=i%Qi,a=(i-r)/Qi,l=r===0?a:a+1,c=e.createImageData(s,Qi),f=0,m=n.data,g=c.data;for(let b=0;b<l;b++)({srcPos:f}=z7({src:m,srcPos:f,dest:g,width:s,height:b<a?Qi:r,nonBlackColor:0})),e.putImageData(c,0,b*Qi)}function sc(e,n){let s=["strokeStyle","fillStyle","fillRule","globalAlpha","lineWidth","lineCap","lineJoin","miterLimit","globalCompositeOperation","font","filter"];for(let i of s)if(e[i]!==void 0)n[i]=e[i];if(e.setLineDash!==void 0)n.setLineDash(e.getLineDash()),n.lineDashOffset=e.lineDashOffset}function Q0(e){if(e.strokeStyle=e.fillStyle="#000000",e.fillRule="nonzero",e.globalAlpha=1,e.lineWidth=1,e.lineCap="butt",e.lineJoin="miter",e.miterLimit=10,e.globalCompositeOperation="source-over",e.font="10px sans-serif",e.setLineDash!==void 0)e.setLineDash([]),e.lineDashOffset=0;let{filter:n}=e;if(n!=="none"&&n!=="")e.filter="none"}function i7(e,n){if(n)return!0;ut.singularValueDecompose2dScale(e,vr);let s=Math.fround(ha.pixelRatio*cc.PDF_TO_CSS_UNITS);return vr[0]<=s&&vr[1]<=s}var fM=["butt","round","square"],hM=["miter","round","bevel"],uM={},r7={};class lc{static#e=null;#t=0;#n=0;#s=null;#i=null;#a=null;#r=null;#o=1;#l;#c=null;#u=[];constructor(e,n,s,i,r,{optionalContentConfig:a,markedContentStack:l=null},c,f,m,g){this.ctx=e,this.current=new Jb(this.ctx.canvas.width,this.ctx.canvas.height),this.stateStack=[],this.pendingClip=null,this.pendingEOFill=!1,this.commonObjs=n,this.objs=s,this.canvasFactory=i,this.filterFactory=r,this.groupStack=[],this.baseTransform=null,this.baseTransformStack=[],this.groupLevel=0,this.smaskStack=[],this.tempSMask=null,this.smaskGroupCanvases=[],this.smaskPreparedEntry=null,this.smaskPreparedFor=null,this.smaskPreparedOffsetX=0,this.smaskPreparedOffsetY=0,this.smaskPreparedOOBAlpha=null,this.suspendedCtx=null,this.contentVisible=!0,this.markedContentStack=l||[],this.optionalContentConfig=a,this.cachedPatterns=new Map,this.annotationCanvasMap=c,this.viewportScale=1,this.outputScaleX=1,this.outputScaleY=1,this.pageColors=f,this._cachedScaleForStroking=[-1,0],this._cachedGetSinglePixelWidth=null,this._cachedBitmapsMap=new Map,this.dependencyTracker=m??null,this.imagesTracker=g??null}getObject(e,n,s=null){if(typeof n==="string")return this.dependencyTracker?.recordNamedDependency(e,n),n.startsWith("g_")?this.commonObjs.get(n):this.objs.get(n);return s}beginDrawing({transform:e,viewport:n,transparency:s=!1,background:i=null}){let r=this.ctx.canvas.width,a=this.ctx.canvas.height,l=this.ctx.fillStyle;if(this.ctx.fillStyle=i||"#ffffff",this.ctx.fillRect(0,0,r,a),this.ctx.fillStyle=l,s){let c=this.transparentCanvasEntry=this.canvasFactory.create(r,a);this.compositeCtx=this.ctx,{canvas:this.transparentCanvas,context:this.ctx}=c,this.ctx.save(),this.ctx.transform(...cs(this.compositeCtx))}if(this.ctx.save(),Q0(this.ctx),e)this.ctx.transform(...e),this.outputScaleX=e[0],this.outputScaleY=e[3];this.ctx.transform(...n.transform),this.viewportScale=n.scale,this.baseTransform=cs(this.ctx)}executeOperatorList(e,n,s,i,r){let{argsArray:a,fnArray:l}=e,c=n||0,f=a.length;if(f===c)return c;let m=f-c>e7&&typeof s==="function",g=m?Date.now()+cM:0,b=0,v=this.commonObjs,k=this.objs,T,_;while(!0){if(i!==void 0){if(c===i.nextBreakPoint)return i.breakIt(c,s),c;if(i.shouldSkip(c)){if(++c===f)return c;continue}}if(!r||r(c))if(T=l[c],_=a[c]??null,T!==Ua.dependency)if(_===null)this[T](c);else this[T](c,..._);else for(let P of _){this.dependencyTracker?.recordNamedData(P,c);let U=P.startsWith("g_")?v:k;if(!U.has(P))return U.get(P,s),c}if(c++,c===f)return c;if(m&&++b>e7){if(Date.now()>g)return s(),c;b=0}}}#h(){while(this.stateStack.length||this.inSMaskMode)this.restore();if(this.current.activeSMask=null,this.ctx.restore(),this.transparentCanvas)this.ctx=this.compositeCtx,this.ctx.save(),this.ctx.setTransform(1,0,0,1,0,0),this.ctx.drawImage(this.transparentCanvas,0,0),this.ctx.restore(),this.canvasFactory.destroy(this.transparentCanvasEntry),this.transparentCanvas=null,this.transparentCanvasEntry=null}endDrawing(){this.#h();for(let e of this.smaskGroupCanvases)this.canvasFactory.destroy(e);this.smaskGroupCanvases.length=0,this._clearPreparedSMask(),this.tempSMask=null,this.smaskStack.length=0;for(let e of this.#u)this.#v(e);this.#u.length=0,this.#s=null,this.#i=null,this.#a=null,this.#r=null,this.#o=1,this.#c=null,this.#n=0,this.#t=0,this.cachedPatterns.clear();for(let e of this._cachedBitmapsMap.values()){for(let n of e.values())if(typeof HTMLCanvasElement<"u"&&n instanceof HTMLCanvasElement)n.width=n.height=0;e.clear()}this._cachedBitmapsMap.clear(),this.#d()}#d(){if(this.pageColors){let e=this.filterFactory.addHCMFilter(this.pageColors.foreground,this.pageColors.background);if(e!=="none"){let n=this.ctx.filter;this.ctx.filter=e,this.ctx.drawImage(this.ctx.canvas,0,0),this.ctx.filter=n}}}_scaleImage(e,n){let s=e.width??e.displayWidth,i=e.height??e.displayHeight,r=Math.max(Math.hypot(n[0],n[1]),1),a=Math.max(Math.hypot(n[2],n[3]),1),l=[],c=r,f=a,m=s,g=i;while(c>2&&m>1||f>2&&g>1){let P=m,U=g;if(c>2&&m>1)P=Math.ceil(m/2),c/=m/P;if(f>2&&g>1)U=Math.ceil(g/2),f/=g/U;l.push({newWidth:P,newHeight:U}),m=P,g=U}if(l.length===0)return{img:e,paintWidth:s,paintHeight:i,tmpCanvas:null};if(l.length===1){let{newWidth:P,newHeight:U}=l[0],z=this.canvasFactory.create(P,U);return z.context.drawImage(e,0,0,s,i,0,0,P,U),{img:z.canvas,paintWidth:P,paintHeight:U,tmpCanvas:z}}let b=this.canvasFactory.create(1,1),v=this.canvasFactory.create(1,1),k=s,T=i,_=e;for(let{newWidth:P,newHeight:U}of l)this.canvasFactory.reset(v,P,U),v.context.drawImage(_,0,0,k,T,0,0,P,U),[b,v]=[v,b],_=b.canvas,k=P,T=U;return this.canvasFactory.destroy(v),{img:b.canvas,paintWidth:k,paintHeight:T,tmpCanvas:b}}_createMaskCanvas(e,n){let s=this.ctx,{width:i,height:r}=n,a=this.current.fillColor,l=this.current.patternFill,c=cs(s),f,m,g,b;if((n.bitmap||n.data)&&n.count>1){let se=n.bitmap||n.data.buffer;m=JSON.stringify(l?c:[c.slice(0,4),a]),f=this._cachedBitmapsMap.getOrInsertComputed(se,e2);let oe=f.get(m);if(oe&&!l){let ye=Math.round(Math.min(c[0],c[2])+c[4]),Se=Math.round(Math.min(c[1],c[3])+c[5]);return this.dependencyTracker?.recordDependencies(e,Br.transformAndFill),{canvas:oe,offsetX:ye,offsetY:Se}}g=oe}if(!g)b=this.canvasFactory.create(i,r),s7(b.context,n);let v=ut.transform(c,[1/i,0,0,-1/r,0,0]);v=ut.transform(v,[1,0,0,1,0,-r]);let k=ac.slice();ut.axialAlignedBoundingBox([0,0,i,r],v,k);let[T,_,P,U]=k,z=Math.round(P-T)||1,V=Math.round(U-_)||1,X=this.canvasFactory.create(z,V),J=X.context,ee=T,te=_;J.translate(-ee,-te),J.transform(...v);let ne=null;if(!g){let se=this._scaleImage(b.canvas,Pa(J));if(g=se.img,ne=se.tmpCanvas,g!==b.canvas)this.canvasFactory.destroy(b),b=null;if(f&&l)f.set(m,g),ne=null,b=null}if(J.imageSmoothingEnabled=i7(cs(J),n.interpolate),Y0(J,g,0,0,g.width,g.height,0,0,i,r),ne)this.canvasFactory.destroy(ne);if(b)this.canvasFactory.destroy(b);J.globalCompositeOperation="source-in";let ie=ut.transform(Pa(J),[1,0,0,1,-ee,-te]);if(J.fillStyle=l?a.getPattern(s,this,ie,xi.FILL,e):a,J.fillRect(0,0,i,r),f&&!l)f.set(m,X.canvas);return this.dependencyTracker?.recordDependencies(e,Br.transformAndFill),{canvas:X.canvas,canvasEntry:f&&!l?null:X,offsetX:Math.round(ee),offsetY:Math.round(te)}}setLineWidth(e,n){if(this.dependencyTracker?.recordSimpleData("lineWidth",e),n!==this.current.lineWidth)this._cachedScaleForStroking[0]=-1;this.current.lineWidth=n,this.ctx.lineWidth=n}setLineCap(e,n){this.dependencyTracker?.recordSimpleData("lineCap",e),this.ctx.lineCap=fM[n]}setLineJoin(e,n){this.dependencyTracker?.recordSimpleData("lineJoin",e),this.ctx.lineJoin=hM[n]}setMiterLimit(e,n){this.dependencyTracker?.recordSimpleData("miterLimit",e),this.ctx.miterLimit=n}setDash(e,n,s){this.dependencyTracker?.recordSimpleData("dash",e);let i=this.ctx;if(i.setLineDash!==void 0)i.setLineDash(n),i.lineDashOffset=s}setRenderingIntent(e,n){}setFlatness(e,n){}setGState(e,n){for(let[s,i]of n)switch(s){case"LW":this.setLineWidth(e,i);break;case"LC":this.setLineCap(e,i);break;case"LJ":this.setLineJoin(e,i);break;case"ML":this.setMiterLimit(e,i);break;case"D":this.setDash(e,i[0],i[1]);break;case"RI":this.setRenderingIntent(e,i);break;case"FL":this.setFlatness(e,i);break;case"Font":this.setFont(e,i[0],i[1]);break;case"CA":this.dependencyTracker?.recordSimpleData("strokeAlpha",e),this.current.strokeAlpha=i;break;case"ca":this.dependencyTracker?.recordSimpleData("fillAlpha",e),this.ctx.globalAlpha=this.current.fillAlpha=i;break;case"BM":this.dependencyTracker?.recordSimpleData("globalCompositeOperation",e),this.ctx.globalCompositeOperation=i;break;case"SMask":if(this.dependencyTracker?.recordSimpleData("SMask",e),this.current.activeSMask=i?this.tempSMask:null,this.current.activeSMask)this.current.activeSMask.blendMode=this.ctx.globalCompositeOperation;this.tempSMask=null,this.checkSMaskState(e);break;case"TR":this.dependencyTracker?.recordSimpleData("filter",e),this.ctx.filter=this.current.transferMaps=this.filterFactory.addFilter(i);break}}get inSMaskMode(){return!!this.suspendedCtx}_clearPreparedSMask(){if(this.smaskPreparedEntry)this.canvasFactory.destroy(this.smaskPreparedEntry),this.smaskPreparedEntry=null;this.smaskPreparedFor=null,this.smaskPreparedOffsetX=0,this.smaskPreparedOffsetY=0,this.smaskPreparedOOBAlpha=null}_ensurePreparedSMask(e){if(e===this.smaskPreparedFor)return;this._clearPreparedSMask(),this._prepareSMaskCanvas(e)}checkSMaskState(e){let n=this.inSMaskMode;if(this.current.activeSMask&&!n)this.beginSMaskMode(e);else if(!this.current.activeSMask&&n)this.endSMaskMode();else if(this.current.activeSMask&&n)this._ensurePreparedSMask(this.current.activeSMask)}_prepareSMaskCanvas(e){let{canvas:n,subtype:s,backdrop:i,transferMap:r}=e,a=s==="Luminosity"||s==="Alpha"&&r;if(!a&&!(s==="Luminosity"&&i)){this.smaskPreparedFor=e;return}let l;if(s==="Luminosity"&&i){let[U,z,V]=bu(i),X=Math.round(0.3*U+0.59*z+0.11*V);l=r?.[X]??X}else l=r?.[0]??0;let c=4,{width:f,height:m}=this.ctx.canvas,g=n.width*n.height,b=f*m<c*g,v=a?{url:s==="Alpha"?this.filterFactory.addAlphaFilter(r):this.filterFactory.addLuminosityFilter(r),subtype:s,transferMap:r}:null,k=s==="Luminosity"?i:null,T,_,P;if(b)T=this._bakeSMaskCanvas(n,e.offsetX,e.offsetY,f,m,k,v),_=0,P=0;else T=this._bakeSMaskCanvas(n,0,0,n.width,n.height,k,v),_=e.offsetX,P=e.offsetY;this.smaskPreparedEntry=T,this.smaskPreparedFor=e,this.smaskPreparedOffsetX=_,this.smaskPreparedOffsetY=P,this.smaskPreparedOOBAlpha=!b&&l!==0?l:null}_bakeSMaskCanvas(e,n,s,i,r,a,l){if(!a&&!l)In("_bakeSMaskCanvas with neither backdrop nor filter");let c=this.canvasFactory.create(i,r),f=c.context;if(f.drawImage(e,n,s),a)f.globalCompositeOperation="destination-atop",f.fillStyle=a,f.fillRect(0,0,i,r);if(!l)return c;let m=this.canvasFactory.create(i,r),g=m.context;g.filter=l.url;let b=zn.isCanvasFilterSupported&&g.filter!=="none"&&g.filter!=="";if(g.drawImage(c.canvas,0,0),zn.isCanvasFilterSupported)g.filter="none";if(!b){let v=g.getImageData(0,0,i,r),{data:k}=v,{transferMap:T}=l;if(l.subtype==="Luminosity")for(let _=0,P=k.length;_<P;_+=4){let U=0.3*k[_]+0.59*k[_+1]+0.11*k[_+2]+0.5|0;k[_]=k[_+1]=k[_+2]=0,k[_+3]=T?.[U]??U}else for(let _=3,P=k.length;_<P;_+=4)k[_]=T[k[_]];g.putImageData(v,0,0)}return this.canvasFactory.destroy(c),m}beginSMaskMode(e){if(this.inSMaskMode)throw Error("beginSMaskMode called while already in smask mode");let{width:n,height:s}=this.ctx.canvas,i=this.canvasFactory.create(n,s);this.smaskScratchCanvas=i,this.suspendedCtx=this.ctx;let r=this.ctx=i.context;r.setTransform(this.suspendedCtx.getTransform()),sc(this.suspendedCtx,r),t7(r,this.suspendedCtx),this._ensurePreparedSMask(this.current.activeSMask),this.setGState(e,[["BM","source-over"]])}endSMaskMode(){if(!this.inSMaskMode)throw Error("endSMaskMode called while not in smask mode");this.ctx._removeMirroring(),sc(this.ctx,this.suspendedCtx),this.ctx=this.suspendedCtx,this.suspendedCtx=null,this.canvasFactory.destroy(this.smaskScratchCanvas),this.smaskScratchCanvas=null,this._clearPreparedSMask()}#p(e,n=null,s=1){let{width:i,height:r}=e,a=n??this.canvasFactory.create(i,r),l=a.context;s=Math.round(s*255)/255;let c=s<1;if(c&&this.#l===void 0)this.#l=zn.isCanvasFilterSupported?new Map:"none";let f="none";if(c&&this.#l instanceof Map)f=this.#l.getOrInsertComputed(s,()=>this.filterFactory.addKnockoutFilter(s));if(!c||f!=="none"){if(n)l.save(),l.setTransform(1,0,0,1,0,0),l.clearRect(0,0,i,r),l.restore();return l.filter=f,l.drawImage(e,0,0),l.filter="none",a}let m=e.getContext("2d",{willReadFrequently:!0}).getImageData(0,0,i,r),g=l.createImageData(i,r),b=m.data,v=g.data,k=s>0?1/s:1e6;for(let T=3,_=b.length;T<_;T+=4)v[T]=Math.min(Math.round(b[T]*k),255);return l.putImageData(g,0,0),a}#g(e,n,s,i){let r=e?.[n]??null;if(r&&(r.canvas.width!==s||r.canvas.height!==i))this.canvasFactory.destroy(r),r=null;if(!r){if(r=this.canvasFactory.create(s,i),e)e[n]=r;return r}let a=r.context;return a.save(),a.setTransform(1,0,0,1,0,0),a.clearRect(0,0,s,i),a.restore(),r}#f(e,n,s={}){let{backdropCanvas:i=null,destTransform:r=[1,0,0,1,0,0],backdropOffset:a=[0,0],reuseMaskEntry:l=null,poolMeta:c=null,sourceAlpha:f=1,sourceFilter:m="none",knockoutAlpha:g=1}=s,{width:b,height:v}=n,k=this.#p(n,l,g),T=e.globalCompositeOperation;if(e.save(),e.setTransform(...r),e.globalAlpha=1,zn.isCanvasFilterSupported)e.filter="none";if(e.globalCompositeOperation="destination-out",e.drawImage(k.canvas,0,0),i){let[_,P]=a,U=this.#g(c,"knockoutBackdropEntry",b,v),z=U.context;if(z.drawImage(i,_,P,b,v,0,0,b,v),z.globalCompositeOperation="destination-in",z.drawImage(k.canvas,0,0),z.globalCompositeOperation="source-over",e.globalCompositeOperation="destination-over",e.drawImage(U.canvas,0,0),!c)this.canvasFactory.destroy(U)}if(e.globalCompositeOperation=T,e.globalAlpha=f,zn.isCanvasFilterSupported)e.filter=m??"none";if(e.drawImage(n,0,0),e.restore(),!l)this.canvasFactory.destroy(k)}#m(e=1){if(this.#t===0||this.#n>0||!this.contentVisible)return!1;this.#n++,this.#o=e;let n=this.#u.at(-1),{canvas:s}=this.ctx,i=this.#g(n,"knockoutTempEntry",s.width,s.height);this.#s=i;let r=i.context;if(r.save(),r.setTransform(this.ctx.getTransform()),sc(this.ctx,r),this.#r=r.globalCompositeOperation,r.globalCompositeOperation="source-over",t7(r,this.ctx),this.#c=n,this.#i=this.ctx,this.#a=this.suspendedCtx,this.ctx=r,this.inSMaskMode)this.suspendedCtx=r;return!0}#b(e){if(!e)return;let n=this.#s,s=this.#i,i=this.#a,r=n.context;if(this.#s=null,this.#i=null,this.#a=null,this.inSMaskMode&&this.suspendedCtx===r&&this.ctx!==r)this.endSMaskMode();if(this.inSMaskMode)this.suspendedCtx=i;this.ctx._removeMirroring(),this.ctx.globalCompositeOperation=this.#r,this.#r=null,sc(this.ctx,s),this.ctx=s;let a=this.#c;this.#c=null;let l=this.#o;this.#o=1;try{this.#f(i??s,n.canvas,{backdropCanvas:a?.backdropCtx?.canvas??null,backdropOffset:a?.backdropCtx?[a.offsetX,a.offsetY]:[0,0],reuseMaskEntry:a?.knockoutMaskEntry??null,poolMeta:a,knockoutAlpha:l})}finally{if(r.restore(),this.#n--,!a)this.canvasFactory.destroy(n)}}compose(e){if(!this.current.activeSMask)return;e=e?[Math.floor(e[0]),Math.floor(e[1]),Math.ceil(e[2]),Math.ceil(e[3])]:[0,0,this.ctx.canvas.width,this.ctx.canvas.height];let n=this.current.activeSMask,s=this.suspendedCtx,i=this.#n>0&&s===this.ctx;if(this.composeSMask(i?null:s,n,this.ctx,e),i)return;this.ctx.save(),this.ctx.setTransform(1,0,0,1,0,0),this.ctx.clearRect(0,0,this.ctx.canvas.width,this.ctx.canvas.height),this.ctx.restore()}composeSMask(e,n,s,i){let r=i[0],a=i[1],l=i[2]-r,c=i[3]-a;if(l===0||c===0)return;let f=this.smaskPreparedEntry;if(f){let m=r,g=a,b=l,v=c,k=this.smaskPreparedOOBAlpha,T=k!==null;if(T){m=Math.max(r,n.offsetX),g=Math.max(a,n.offsetY);let _=Math.min(r+l,n.offsetX+n.canvas.width),P=Math.min(a+c,n.offsetY+n.canvas.height);b=_-m,v=P-g}if(b>0&&v>0){let _=m-this.smaskPreparedOffsetX,P=g-this.smaskPreparedOffsetY;s.save(),s.globalAlpha=1,s.setTransform(1,0,0,1,0,0);let U=new Path2D;U.rect(m,g,b,v),s.clip(U),s.globalCompositeOperation="destination-in",s.drawImage(f.canvas,_,P,b,v,m,g,b,v),s.restore()}if(T&&k<255)this._applySMaskOOBAlpha(s,r,a,l,c,m,g,m+b,g+v,k)}else this.genericComposeSMask(n,s,l,c,r,a);if(!e)return;e.save(),e.globalAlpha=1,e.globalCompositeOperation=n.blendMode||"source-over",e.setTransform(1,0,0,1,0,0),e.drawImage(s.canvas,r,a,l,c,r,a,l,c),e.restore()}_applySMaskOOBAlpha(e,n,s,i,r,a,l,c,f,m){let g=a<c&&l<f;if(g&&a===n&&l===s&&c===n+i&&f===s+r)return;let b=new Path2D;if(b.rect(n,s,i,r),g)b.rect(a,l,c-a,f-l);e.save(),e.globalAlpha=m/255,e.setTransform(1,0,0,1,0,0),e.clip(b,"evenodd"),e.globalCompositeOperation="destination-in",e.fillStyle="#000000",e.fillRect(n,s,i,r),e.restore()}genericComposeSMask(e,n,s,i,r,a){let{context:l,offsetX:c,offsetY:f}=e;n.save(),n.globalAlpha=1,n.setTransform(1,0,0,1,0,0);let m=new Path2D;m.rect(r,a,s,i),n.clip(m),n.globalCompositeOperation="destination-in",n.drawImage(l.canvas,r-c,a-f,s,i,r,a,s,i),n.restore()}save(e){if(this.inSMaskMode)sc(this.ctx,this.suspendedCtx);this.ctx.save();let n=this.current;this.stateStack.push(n),this.current=n.clone(),this.dependencyTracker?.save(e)}restore(e){if(this.dependencyTracker?.restore(e),this.stateStack.length===0){if(this.inSMaskMode)this.endSMaskMode();return}if(this.current=this.stateStack.pop(),this.ctx.restore(),this.inSMaskMode)sc(this.suspendedCtx,this.ctx),this.ctx.setTransform(this.suspendedCtx.getTransform());this.checkSMaskState(e),this.pendingClip=null,this._cachedScaleForStroking[0]=-1,this._cachedGetSinglePixelWidth=null}transform(e,n,s,i,r,a,l){this.dependencyTracker?.recordIncrementalData("transform",e),this.ctx.transform(n,s,i,r,a,l),this._cachedScaleForStroking[0]=-1,this._cachedGetSinglePixelWidth=null}constructPath(e,n,s,i){let[r]=s;if(!i){if(r||=s[0]=new Path2D,n!==Ua.stroke&&n!==Ua.closeStroke)this.current.tilingPatternDims=null;this[n](e,r);return}if(this.dependencyTracker!==null){let l=n===Ua.stroke?this.current.lineWidth/2:0;this.dependencyTracker.resetBBox(e).recordBBox(e,this.ctx,i[0]-l,i[2]+l,i[1]-l,i[3]+l).recordDependencies(e,["transform"])}if(!(r instanceof Path2D))r=s[0]=y7(r);ut.axialAlignedBoundingBox(i,cs(this.ctx),this.current.minMax);let a=this.current.tilingPatternDims;if(a&&n!==Ua.stroke&&n!==Ua.closeStroke&&this.current.fillColor instanceof iu){let l=ut.intersect(this.current.clipBox,this.current.minMax);if(!l)this.current.tilingPatternDims=null;else this.current.fillColor.updatePatternDims(l,a)}this[n](e,r),this._pathStartIdx=e}closePath(e){this.ctx.closePath()}stroke(e,n,s=!0){let i=s&&this.#m(this.current.strokeAlpha),r=this.ctx,a=this.current.strokeColor;if(r.globalAlpha=this.current.strokeAlpha,this.contentVisible)if(typeof a==="object"&&a?.getPattern){let l=a.isModifyingCurrentTransform()?r.getTransform():null;if(r.save(),r.strokeStyle=a.getPattern(r,this,Pa(r),xi.STROKE,e),l){let c=new Path2D;c.addPath(n,r.getTransform().invertSelf().multiplySelf(l)),n=c}this.rescaleAndStroke(n,!1),r.restore()}else this.rescaleAndStroke(n,!0);if(this.dependencyTracker?.recordDependencies(e,Br.stroke),s)this.consumePath(e,n,this.current.getClippedPathBoundingBox(xi.STROKE,cs(this.ctx)));r.globalAlpha=this.current.fillAlpha,this.#b(i)}closeStroke(e,n){this.stroke(e,n)}fill(e,n,s=!0){let i=s&&this.#m(this.current.fillAlpha),r=this.ctx,a=this.current.fillColor,l=this.current.patternFill,c=!1,f=this.current.getClippedPathBoundingBox();if(this.dependencyTracker?.recordDependencies(e,Br.fill),l){let m=this.current.tilingPatternDims,g=m&&a.canSkipPatternCanvas(m);if(g){if(a.drawPattern(this,n,this.pendingEOFill,g,e),this.pendingEOFill=!1,s)this.consumePath(e,n,f);this.current.tilingPatternDims=null,this.#b(i);return}let b=a.isModifyingCurrentTransform()?r.getTransform():null;if(this.dependencyTracker?.save(e),r.save(),r.fillStyle=a.getPattern(r,this,Pa(r),xi.FILL,e),b){let v=new Path2D;v.addPath(n,r.getTransform().invertSelf().multiplySelf(b)),n=v}c=!0}if(this.contentVisible&&f!==null)if(this.pendingEOFill)r.fill(n,"evenodd"),this.pendingEOFill=!1;else r.fill(n);if(c)r.restore(),this.dependencyTracker?.restore(e);if(s)this.consumePath(e,n,f);this.#b(i)}eoFill(e,n){this.pendingEOFill=!0,this.fill(e,n)}fillStroke(e,n){let s=this.#m(Math.min(this.current.fillAlpha,this.current.strokeAlpha));this.fill(e,n,!1),this.stroke(e,n,!1),this.consumePath(e,n),this.#b(s)}eoFillStroke(e,n){this.pendingEOFill=!0,this.fillStroke(e,n)}closeFillStroke(e,n){this.fillStroke(e,n)}closeEOFillStroke(e,n){this.pendingEOFill=!0,this.fillStroke(e,n)}endPath(e,n){this.consumePath(e,n)}rawFillPath(e,n){let s=this.#m(this.current.fillAlpha);this.ctx.fill(n),this.dependencyTracker?.recordDependencies(e,Br.rawFillPath).recordOperation(e),this.#b(s)}clip(e){this.dependencyTracker?.recordFutureForcedDependency("clipMode",e),this.pendingClip=uM}eoClip(e){this.dependencyTracker?.recordFutureForcedDependency("clipMode",e),this.pendingClip=r7}beginText(e){this.current.textMatrix=null,this.current.textMatrixScale=1,this.current.x=this.current.lineX=0,this.current.y=this.current.lineY=0,this.dependencyTracker?.recordOpenMarker(e).resetIncrementalData("sameLineText").resetIncrementalData("moveText",e)}endText(e){let n=this.pendingTextPaths,s=this.ctx;if(this.dependencyTracker){let{dependencyTracker:i}=this;if(n!==void 0)i.recordFutureForcedDependency("textClip",i.getOpenMarker()).recordFutureForcedDependency("textClip",e);i.recordCloseMarker(e)}if(n!==void 0){let i=new Path2D,r=s.getTransform().invertSelf();for(let{transform:a,x:l,y:c,fontSize:f,path:m}of n){if(!m)continue;i.addPath(m,new DOMMatrix(a).preMultiplySelf(r).translate(l,c).scale(f,-f))}s.clip(i)}delete this.pendingTextPaths}setCharSpacing(e,n){this.dependencyTracker?.recordSimpleData("charSpacing",e),this.current.charSpacing=n}setWordSpacing(e,n){this.dependencyTracker?.recordSimpleData("wordSpacing",e),this.current.wordSpacing=n}setHScale(e,n){this.dependencyTracker?.recordSimpleData("hScale",e),this.current.textHScale=n/100}setLeading(e,n){this.dependencyTracker?.recordSimpleData("leading",e),this.current.leading=-n}setFont(e,n,s){this.dependencyTracker?.recordSimpleData("font",e).recordSimpleDataFromNamed("fontObj",n,e);let i=this.commonObjs.get(n),r=this.current;if(!i)throw Error(`Can't find font for ${n}`);if(r.fontMatrix=i.fontMatrix||Ub,r.fontMatrix[0]===0||r.fontMatrix[3]===0)Zt("Invalid font matrix for font "+n);if(s<0)s=-s,r.fontDirection=-1;else r.fontDirection=1;if(this.current.font=i,this.current.fontSize=s,i.isType3Font)return;let a=i.loadedName||"sans-serif",l=i.systemFontInfo?.css||`"${a}", ${i.fallbackName}`,c="normal";if(i.black)c="900";else if(i.bold)c="bold";let f=i.italic?"italic":"normal",m=ps(s,oM,lM);this.current.fontSizeScale=s/m,this.ctx.font=`${f} ${c} ${m}px ${l}`}setTextRenderingMode(e,n){this.dependencyTracker?.recordSimpleData("textRenderingMode",e),this.current.textRenderingMode=n}setTextRise(e,n){this.dependencyTracker?.recordSimpleData("textRise",e),this.current.textRise=n}moveText(e,n,s){this.dependencyTracker?.resetIncrementalData("sameLineText").recordIncrementalData("moveText",e),this.current.x=this.current.lineX+=n,this.current.y=this.current.lineY+=s}setLeadingMoveText(e,n,s){this.setLeading(e,-s),this.moveText(e,n,s)}setTextMatrix(e,n){this.dependencyTracker?.resetIncrementalData("sameLineText").recordSimpleData("textMatrix",e);let{current:s}=this;s.textMatrix=n,s.textMatrixScale=Math.hypot(n[0],n[1]),s.x=s.lineX=0,s.y=s.lineY=0}nextLine(e){this.moveText(e,0,this.current.leading),this.dependencyTracker?.recordIncrementalData("moveText",this.dependencyTracker.getSimpleIndex("leading")??e)}#w(e,n,s){let i=new Path2D;return i.addPath(e,new DOMMatrix(s).invertSelf().multiplySelf(n)),i}paintChar(e,n,s,i,r,a){let l=this.ctx,c=this.current,{font:f,textRenderingMode:m}=c,g=c.fontSize/c.fontSizeScale,b=m&ii.FILL_STROKE_MASK,v=!!(m&ii.ADD_TO_PATH_FLAG),k=c.patternFill&&!f.missingFile,T=c.patternStroke&&!f.missingFile,_;if((f.disableFontFace||v||k||T)&&!f.missingFile)_=f.getPathGenerator(this.commonObjs,n);if(_&&(f.disableFontFace||k||T)){l.save(),l.translate(s,i),l.scale(g,-g),this.dependencyTracker?.recordCharacterBBox(e,l,f);let P;if(b===ii.FILL||b===ii.FILL_STROKE)if(r){P=l.getTransform(),l.setTransform(...r);let U=this.#w(_,P,r);l.fill(U)}else l.fill(_);if(b===ii.STROKE||b===ii.FILL_STROKE)if(a){P||=l.getTransform(),l.setTransform(...a);let{a:U,b:z,c:V,d:X}=P,J=ut.inverseTransform(a),ee=ut.transform([U,z,V,X,0,0],J);ut.singularValueDecompose2dScale(ee,vr),l.lineWidth*=Math.max(vr[0],vr[1])/g,l.stroke(this.#w(_,P,a))}else l.lineWidth/=g,l.stroke(_);l.restore()}else{if(b===ii.FILL||b===ii.FILL_STROKE)l.fillText(n,s,i),this.dependencyTracker?.recordCharacterBBox(e,l,f,g,s,i,()=>l.measureText(n));if(b===ii.STROKE||b===ii.FILL_STROKE){if(this.dependencyTracker)this.dependencyTracker?.recordCharacterBBox(e,l,f,g,s,i,()=>l.measureText(n)).recordDependencies(e,Br.stroke);l.strokeText(n,s,i)}}if(v)(this.pendingTextPaths||=[]).push({transform:cs(l),x:s,y:i,fontSize:g,path:_}),this.dependencyTracker?.recordCharacterBBox(e,l,f,g,s,i)}get isFontSubpixelAAEnabled(){let e=this.canvasFactory.create(10,10),n=e.context;n.scale(1.5,1),n.fillText("I",0,10);let s=n.getImageData(0,0,10,10).data;this.canvasFactory.destroy(e);let i=!1;for(let r=3;r<s.length;r+=4)if(s[r]>0&&s[r]<255){i=!0;break}return Lt(this,"isFontSubpixelAAEnabled",i)}showText(e,n){if(this.dependencyTracker){if(this.dependencyTracker.recordDependencies(e,Br.showText).resetBBox(e),this.current.textRenderingMode&ii.ADD_TO_PATH_FLAG)this.dependencyTracker.recordFutureForcedDependency("textClip",e).inheritPendingDependenciesAsFutureForcedDependencies()}let s=this.current,i=s.font;if(i.isType3Font){let oe=this.#m(s.fillAlpha);this.showType3Text(e,n),this.dependencyTracker?.recordShowTextOperation(e),this.#b(oe);return}let r=s.fontSize;if(r===0){this.dependencyTracker?.recordOperation(e);return}let a=this.#m(s.fillAlpha),l=this.ctx,{fontSizeScale:c,charSpacing:f,wordSpacing:m,fontDirection:g}=s,b=s.textHScale*g,v=n.length,k=i.vertical,T=k?1:-1,_=i.defaultVMetrics,P=r*s.fontMatrix[0],U=s.textRenderingMode===ii.FILL&&!i.disableFontFace&&!s.patternFill;if(l.save(),s.textMatrix)l.transform(...s.textMatrix);if(l.translate(s.x,s.y+s.textRise),g>0)l.scale(b,-1);else l.scale(b,1);let z,V,X=s.textRenderingMode&ii.FILL_STROKE_MASK,J=X===ii.FILL||X===ii.FILL_STROKE,ee=X===ii.STROKE||X===ii.FILL_STROKE,{lineWidth:te,textMatrixScale:ne}=s;if(ne===0||te===0){if(ee)te=this.getSinglePixelWidth()}else te/=ne;if(c!==1)l.scale(c,c),te/=c;if(l.lineWidth=te,J&&s.patternFill){l.save();let oe=s.fillColor.getPattern(l,this,Pa(l),xi.FILL,e);z=cs(l),l.restore(),l.fillStyle=oe}if(ee&&s.patternStroke){l.save();let oe=s.strokeColor.getPattern(l,this,Pa(l),xi.STROKE,e);V=cs(l),l.restore(),l.strokeStyle=oe}if(i.isInvalidPDFjsFont){let oe=[],ye=0;for(let me of n)oe.push(me.unicode),ye+=me.width;let Se=oe.join("");if(l.fillText(Se,0,0),this.dependencyTracker!==null){let me=l.measureText(Se);this.dependencyTracker.recordBBox(e,this.ctx,-me.actualBoundingBoxLeft,me.actualBoundingBoxRight,-me.actualBoundingBoxAscent,me.actualBoundingBoxDescent).recordShowTextOperation(e)}s.x+=ye*P*b,l.restore(),this.compose(),this.#b(a);return}let ie=0,se;for(se=0;se<v;++se){let oe=n[se];if(typeof oe==="number"){ie+=T*oe*r/1000;continue}let ye=!1,Se=(oe.isSpace?m:0)+f,{fontChar:me,accent:de}=oe,ce,Ee,we=oe.width;if(k){let Fe=oe.vmetric||_,Be=-(oe.vmetric?Fe[1]:we*0.5)*P,Xe=Fe[2]*P;we=Fe?-Fe[0]:we,ce=Be/c,Ee=(ie+Xe)/c}else ce=ie/c,Ee=0;let qe;if(i.remeasure&&we>0){qe=l.measureText(me);let Fe=qe.width*1000/r*c;if(we<Fe&&this.isFontSubpixelAAEnabled){let Be=we/Fe;ye=!0,l.save(),l.scale(Be,1),ce/=Be}else if(we!==Fe)ce+=(we-Fe)/2000*r/c}if(this.contentVisible&&(oe.isInFont||i.missingFile)){if(U&&!de)l.fillText(me,ce,Ee),this.dependencyTracker?.recordCharacterBBox(e,l,qe?{bbox:null}:i,r/c,ce,Ee,()=>qe??l.measureText(me));else if(this.paintChar(e,me,ce,Ee,z,V),de){let Fe=ce+r*de.offset.x/c,Be=Ee-r*de.offset.y/c;this.paintChar(e,de.fontChar,Fe,Be,z,V)}}let Re=k?we*P-Se*g:we*P+Se*g;if(ie+=Re,ye)l.restore()}if(k)s.y-=ie;else s.x+=ie*b;l.restore(),this.compose(),this.dependencyTracker?.recordShowTextOperation(e),this.#b(a)}showType3Text(e,n){let s=this.ctx,i=this.current,{font:r,fontSize:a,fontDirection:l}=i,c=r.vertical?1:-1,{charSpacing:f,wordSpacing:m}=i,g=i.textHScale*l,b=i.fontMatrix||Ub,v=n.length,k=i.textRenderingMode===ii.INVISIBLE,T,_,P,U;if(k||a===0)return;if(this._cachedScaleForStroking[0]=-1,this._cachedGetSinglePixelWidth=null,s.save(),i.textMatrix)s.transform(...i.textMatrix);s.translate(i.x,i.y+i.textRise),s.scale(g,l);let z=this.dependencyTracker;this.dependencyTracker=z?new lu(z,e):null;for(T=0;T<v;++T){if(_=n[T],typeof _==="number"){U=c*_*a/1000,this.ctx.translate(U,0),i.x+=U*g;continue}let V=(_.isSpace?m:0)+f,X=r.charProcOperatorList.get(_.operatorListId);if(!X)Zt(`Type3 character "${_.operatorListId}" is not available.`);else if(this.contentVisible){if(this.save(),X.fnArray[0]===Ua.setCharWidth)i.fillAlpha=i.strokeAlpha=1,s.globalAlpha=1;s.scale(a,a),s.transform(...b),this.executeOperatorList(X),this.restore()}let J=[_.width,0];ut.applyTransform(J,b),P=J[0]*a+V,s.translate(P,0),i.x+=P*g}if(s.restore(),z)this.dependencyTracker=z}setCharWidth(e,n,s){}setCharWidthAndBounds(e,n,s,i,r,a,l){let c=new Path2D;c.rect(i,r,a-i,l-r),this.ctx.clip(c),this.dependencyTracker?.recordBBox(e,this.ctx,i,a,r,l).recordClipBox(e,this.ctx,i,a,r,l),this.endPath(e)}getColorN_Pattern(e,n){let s;if(n[0]==="TilingPattern"){let i=this.baseTransform||cs(this.ctx),r={createCanvasGraphics:(a,l)=>new lc(a,this.commonObjs,this.objs,this.canvasFactory,this.filterFactory,{optionalContentConfig:this.optionalContentConfig,markedContentStack:this.markedContentStack},void 0,void 0,this.dependencyTracker?new lu(this.dependencyTracker,l,!0):null)};s=new iu(n,this.ctx,r,i)}else s=this._getPattern(e,n[1],n[2]);return s}setStrokeColorN(e,...n){this.dependencyTracker?.recordSimpleData("strokeColor",e),this.current.strokeColor=this.getColorN_Pattern(e,n),this.current.patternStroke=!0}setFillColorN(e,...n){this.dependencyTracker?.recordSimpleData("fillColor",e);let s=this.current.fillColor=this.getColorN_Pattern(e,n);this.current.patternFill=!0,this.current.tilingPatternDims=s instanceof iu?[0,0,0,0]:null}setStrokeRGBColor(e,n){this.dependencyTracker?.recordSimpleData("strokeColor",e),this.ctx.strokeStyle=this.current.strokeColor=n,this.current.patternStroke=!1}setStrokeTransparent(e){this.dependencyTracker?.recordSimpleData("strokeColor",e),this.ctx.strokeStyle=this.current.strokeColor="transparent",this.current.patternStroke=!1}setFillRGBColor(e,n){this.dependencyTracker?.recordSimpleData("fillColor",e),this.ctx.fillStyle=this.current.fillColor=n,this.current.patternFill=!1,this.current.tilingPatternDims=null}setFillTransparent(e){this.dependencyTracker?.recordSimpleData("fillColor",e),this.ctx.fillStyle=this.current.fillColor="transparent",this.current.patternFill=!1,this.current.tilingPatternDims=null}_getPattern(e,n,s=null){let i=this.cachedPatterns.getOrInsertComputed(n,()=>aM(this.getObject(e,n)));if(s)i.matrix=s;return i}shadingFill(e,n){if(!this.contentVisible)return;let s=this.#m(this.current.fillAlpha),i=this.ctx;this.save(e);let r=this._getPattern(e,n);i.fillStyle=r.getPattern(i,this,Pa(i),xi.SHADING,e);let a=Pa(i);if(a){let{width:l,height:c}=i.canvas,f=ac.slice();ut.axialAlignedBoundingBox([0,0,l,c],a,f);let[m,g,b,v]=f;this.ctx.fillRect(m,g,b-m,v-g)}else this.ctx.fillRect(-10000000000,-10000000000,20000000000,20000000000);this.dependencyTracker?.resetBBox(e).recordFullPageBBox(e).recordDependencies(e,Br.transform).recordDependencies(e,Br.fill).recordOperation(e),this.compose(this.current.getClippedPathBoundingBox()),this.restore(e),this.#b(s)}beginInlineImage(){In("Should not call beginInlineImage")}beginImageData(){In("Should not call beginImageData")}paintFormXObjectBegin(e,n,s){if(!this.contentVisible)return;if(this.save(e),this.baseTransformStack.push(this.baseTransform),n)this.transform(e,...n);if(this.baseTransform=cs(this.ctx),s){ut.axialAlignedBoundingBox(s,this.baseTransform,this.current.minMax);let[i,r,a,l]=s,c=new Path2D;c.rect(i,r,a-i,l-r),this.ctx.clip(c),this.dependencyTracker?.recordClipBox(e,this.ctx,i,a,r,l),this.endPath(e)}}paintFormXObjectEnd(e){if(!this.contentVisible)return;this.restore(e),this.baseTransform=this.baseTransformStack.pop()}beginGroup(e,n){if(!this.contentVisible)return;this.save(e);let{inSMaskMode:s}=this;if(s)this.endSMaskMode(),this.current.activeSMask=null;let i=this.ctx;if((!n.needsIsolation||!n.isolated&&!n.hasSoftMask)&&!n.knockout&&!n.isGray&&this.#t===0&&i.globalAlpha===1&&i.globalCompositeOperation==="source-over"&&!s){if(n.bbox){let V=new Path2D,[X,J,ee,te]=n.bbox;if(V.rect(X,J,ee-X,te-J),n.matrix){let ne=new Path2D;ne.addPath(V,new DOMMatrix(n.matrix)),V=ne}i.clip(V)}this.groupStack.push(null),this.#u.push(null),this.groupLevel++;return}if(!n.isolated&&!n.knockout&&this.#t===0)ym("TODO: Fully support non-isolated non-knockout groups.");let r=cs(i);if(n.matrix)i.transform(...n.matrix);let a=[0,0,i.canvas.width,i.canvas.height],l;if(n.bbox)l=ac.slice(),ut.axialAlignedBoundingBox(n.bbox,cs(i),l),l=ut.intersect(l,a)||[0,0,0,0];else l=a;let c=Math.floor(l[0]),f=Math.floor(l[1]),m=Math.max(Math.ceil(l[2])-c,1),g=Math.max(Math.ceil(l[3])-f,1);this.current.startNewPathAndClipBox([0,0,m,g]);let b=this.canvasFactory.create(m,g);if(n.smask)this.smaskGroupCanvases.push(b);let v=b.context,k=n.knockout&&!n.isolated?i:null,T=!n.isolated&&!n.knockout&&!n.smask&&n.needsIsolation&&this.#t>0,_=n.knockout?this.canvasFactory.create(m,g):null,P=this.#t;if(n.knockout)this.#t++;else this.#t=0;v.translate(-c,-f),v.transform(...r);let U=!n.isolated&&!n.smask&&n.needsIsolation,z=U&&!s&&P===0&&!n.knockout&&!n.isGray&&n.hasSoftMask&&i.globalAlpha===1&&i.globalCompositeOperation==="source-over"&&this.current.transferMaps==="none";if(U&&(s||z))v.save(),v.setTransform(1,0,0,1,0,0),v.drawImage(i.canvas,-c,-f),v.restore();if(n.bbox){let V=new Path2D,[X,J,ee,te]=n.bbox;if(V.rect(X,J,ee-X,te-J),n.matrix){let ne=new Path2D;ne.addPath(V,new DOMMatrix(n.matrix)),V=ne}v.clip(V)}if(n.smask)this.smaskStack.push({canvas:b.canvas,context:v,offsetX:c,offsetY:f,subtype:n.smask.subtype,backdrop:n.smask.backdrop,transferMap:n.smask.transferMap||null});if(!n.smask||this.dependencyTracker)i.setTransform(1,0,0,1,0,0),i.translate(c,f),i.save();sc(i,v),this.ctx=v,this.dependencyTracker?.inheritSimpleDataAsFutureForcedDependencies(["fillAlpha","strokeAlpha","globalCompositeOperation"]).pushBaseTransform(i),this.setGState(e,[["BM","source-over"],["ca",1],["CA",1],["TR",null]]),this.groupStack.push(i),this.#u.push({backdropCtx:k,savedKnockoutLevel:P,offsetX:c,offsetY:f,hasInnerBackdrop:T,replaceBackdrop:z,knockoutMaskEntry:_,knockoutTempEntry:null,knockoutBackdropEntry:null}),this.groupLevel++}endGroup(e,n){if(!this.contentVisible)return;this.groupLevel--;let s=this.ctx,i=this.groupStack.pop(),r=this.#u.pop();if(r)this.#t=r.savedKnockoutLevel;if(i===null){this.restore(e);return}if(n.isGray)this.#y(s);if(this.ctx=i,this.ctx.imageSmoothingEnabled=!1,this.dependencyTracker?.popBaseTransform(),n.smask){if(this.tempSMask=this.smaskStack.pop(),this.restore(e),this.dependencyTracker){if(this.ctx.restore(),this.inSMaskMode)this.ctx.setTransform(this.suspendedCtx.getTransform())}this.#v(r)}else{this.ctx.restore();let a=cs(this.ctx);this.restore(e),this.ctx.save(),this.ctx.setTransform(...a);let l=ac.slice();ut.axialAlignedBoundingBox([0,0,s.canvas.width,s.canvas.height],a,l);let c=this.#u.at(-1);if(this.#t>0)if(r.hasInnerBackdrop){let{width:f,height:m}=s.canvas,g=this.canvasFactory.create(f,m),b=g.context;b.drawImage(i.canvas,r.offsetX,r.offsetY,f,m,0,0,f,m),b.globalCompositeOperation="source-over",b.drawImage(s.canvas,0,0);let v=this.#p(s.canvas);b.globalCompositeOperation="destination-in",b.drawImage(v.canvas,0,0);let k=this.ctx.globalCompositeOperation,T=this.ctx.globalAlpha,_=this.ctx.filter;if(this.ctx.save(),this.ctx.setTransform(...a),this.ctx.globalAlpha=1,zn.isCanvasFilterSupported)this.ctx.filter="none";if(this.ctx.globalCompositeOperation="destination-out",this.ctx.drawImage(v.canvas,0,0),this.ctx.globalCompositeOperation=k,this.ctx.globalAlpha=T,zn.isCanvasFilterSupported)this.ctx.filter=_??"none";this.ctx.drawImage(g.canvas,0,0),this.ctx.restore(),this.canvasFactory.destroy(v),this.canvasFactory.destroy(g)}else{let f=c?.backdropCtx??null;this.#f(this.ctx,s.canvas,{backdropCanvas:f?.canvas??null,destTransform:a,backdropOffset:f?[c.offsetX+r.offsetX,c.offsetY+r.offsetY]:[0,0],sourceAlpha:this.ctx.globalAlpha,sourceFilter:this.ctx.filter})}else{if(r.replaceBackdrop){let f=new Path2D;f.rect(0,0,s.canvas.width,s.canvas.height),this.ctx.clip(f),this.ctx.globalCompositeOperation="copy"}this.ctx.drawImage(s.canvas,0,0)}this.ctx.restore(),this.canvasFactory.destroy({canvas:s.canvas,context:s}),this.#v(r),this.compose(l)}}#y(e){let{canvas:n}=e,{width:s,height:i}=n;if(zn.isCanvasFilterSupported){e.save(),e.setTransform(1,0,0,1,0,0),e.filter="grayscale(1)",e.globalAlpha=1,e.globalCompositeOperation="copy",e.drawImage(n,0,0),e.restore();return}let r=e.getImageData(0,0,s,i),{data:a}=r;for(let l=0,c=a.length;l<c;l+=4){let f=a[l]*0.2126+a[l+1]*0.7152+a[l+2]*0.0722+0.5|0;a[l]=a[l+1]=a[l+2]=f}e.putImageData(r,0,0)}#v(e){if(!e)return;if(e.knockoutMaskEntry)this.canvasFactory.destroy(e.knockoutMaskEntry),e.knockoutMaskEntry=null;if(e.knockoutTempEntry)this.canvasFactory.destroy(e.knockoutTempEntry),e.knockoutTempEntry=null;if(e.knockoutBackdropEntry)this.canvasFactory.destroy(e.knockoutBackdropEntry),e.knockoutBackdropEntry=null}beginAnnotation(e,n,s,i,r,a,l){if(this.#h(),Q0(this.ctx),this.ctx.save(),this.save(e),this.baseTransform)this.ctx.setTransform(...this.baseTransform);if(s){let c=s[2]-s[0],f=s[3]-s[1];if(a&&this.annotationCanvasMap){i=i.slice(),i[4]-=s[0],i[5]-=s[1],ut.singularValueDecompose2dScale(cs(this.ctx),vr);let{viewportScale:m}=this,g=Math.ceil(c*this.outputScaleX*m),b=Math.ceil(f*this.outputScaleY*m);this.annotationCanvas=this.canvasFactory.create(g,b);let{canvas:v,context:k}=this.annotationCanvas;if(l){let T=this.annotationCanvasMap.getOrInsertComputed(n,Sf);v.setAttribute("data-canvas-name",l);let _=T.findIndex((P)=>P.getAttribute("data-canvas-name")===l);if(_===-1)T.push(v);else T[_]=v}else this.annotationCanvasMap.set(n,v);this.annotationCanvas.savedCtx=this.ctx,this.ctx=k,this.ctx.save(),this.ctx.setTransform(vr[0],0,0,-vr[1],0,f*vr[1]),Q0(this.ctx)}else{Q0(this.ctx),this.endPath(e);let m=new Path2D;m.rect(s[0],s[1],c,f),this.ctx.clip(m)}}this.current=new Jb(this.ctx.canvas.width,this.ctx.canvas.height),this.baseTransformStack.push(this.baseTransform),this.transform(e,...i),this.transform(e,...r),this.baseTransform=cs(this.ctx)}endAnnotation(e){if(this.annotationCanvas)this.ctx.restore(),this.#d(),this.ctx=this.annotationCanvas.savedCtx,delete this.annotationCanvas.savedCtx,delete this.annotationCanvas;this.baseTransform=this.baseTransformStack.pop()}paintImageMaskXObject(e,n){if(!this.contentVisible)return;let s=n.count;n=this.getObject(e,n.data,n),n.count=s;let i=this.#m(this.current.fillAlpha),r=this.ctx,a=this._createMaskCanvas(e,n),l=a.canvas;if(r.save(),r.setTransform(1,0,0,1,0,0),r.drawImage(l,a.offsetX,a.offsetY),this.dependencyTracker?.resetBBox(e).recordBBox(e,this.ctx,a.offsetX,a.offsetX+l.width,a.offsetY,a.offsetY+l.height).recordOperation(e),r.restore(),a.canvasEntry)this.canvasFactory.destroy(a.canvasEntry);this.compose(),this.#b(i)}paintImageMaskXObjectRepeat(e,n,s,i=0,r=0,a,l){if(!this.contentVisible)return;n=this.getObject(e,n.data,n);let c=this.#m(this.current.fillAlpha),f=this.ctx;f.save();let m=cs(f);f.transform(s,i,r,a,0,0);let g=this._createMaskCanvas(e,n);f.setTransform(1,0,0,1,g.offsetX-m[4],g.offsetY-m[5]),this.dependencyTracker?.resetBBox(e);for(let b=0,v=l.length;b<v;b+=2){let k=ut.transform(m,[s,i,r,a,l[b],l[b+1]]);f.drawImage(g.canvas,k[4],k[5]),this.dependencyTracker?.recordBBox(e,this.ctx,k[4],k[4]+g.canvas.width,k[5],k[5]+g.canvas.height)}if(f.restore(),g.canvasEntry)this.canvasFactory.destroy(g.canvasEntry);this.compose(),this.dependencyTracker?.recordOperation(e),this.#b(c)}paintImageMaskXObjectGroup(e,n){if(!this.contentVisible)return;let s=this.#m(this.current.fillAlpha),i=this.ctx,r=this.current.fillColor,a=this.current.patternFill;this.dependencyTracker?.resetBBox(e).recordDependencies(e,Br.transformAndFill);for(let l of n){let{data:c,width:f,height:m,transform:g}=l,b=this.canvasFactory.create(f,m),v=b.context;v.save();let k=this.getObject(e,c,l);s7(v,k),v.globalCompositeOperation="source-in",v.fillStyle=a?r.getPattern(v,this,Pa(i),xi.FILL,e):r,v.fillRect(0,0,f,m),v.restore(),i.save(),i.transform(...g),i.scale(1,-1),Y0(i,b.canvas,0,0,f,m,0,-1,1,1),this.canvasFactory.destroy(b),this.dependencyTracker?.recordBBox(e,i,0,f,0,m),i.restore()}this.compose(),this.dependencyTracker?.recordOperation(e),this.#b(s)}paintImageXObject(e,n){if(!this.contentVisible)return;let s=this.getObject(e,n);if(!s){Zt("Dependent image isn't ready yet");return}this.paintInlineImageXObject(e,s)}paintImageXObjectRepeat(e,n,s,i,r){if(!this.contentVisible)return;let a=this.getObject(e,n);if(!a){Zt("Dependent image isn't ready yet");return}let{width:l,height:c}=a,f=[];for(let m=0,g=r.length;m<g;m+=2)f.push({transform:[s,0,0,i,r[m],r[m+1]],x:0,y:0,w:l,h:c});this.paintInlineImageXObjectGroup(e,a,f)}applyTransferMapsToCanvas(e){if(this.current.transferMaps!=="none")e.filter=this.current.transferMaps,e.drawImage(e.canvas,0,0),e.filter="none";return e.canvas}applyTransferMapsToBitmap(e){if(this.current.transferMaps==="none")return{img:e.bitmap,canvasEntry:null};let{bitmap:n,width:s,height:i}=e,r=this.canvasFactory.create(s,i),a=r.context;return a.filter=this.current.transferMaps,a.drawImage(n,0,0),a.filter="none",{img:r.canvas,canvasEntry:r}}paintInlineImageXObject(e,n){if(!this.contentVisible)return;let{width:s,height:i}=n,r=this.#m(this.current.fillAlpha),a=this.ctx;this.save(e);let{filter:l}=a;if(l!=="none"&&l!=="")a.filter="none";a.scale(1/s,-1/i);let c,f=null;if(n.bitmap){let g=this.applyTransferMapsToBitmap(n);c=g.img,f=g.canvasEntry}else{let g=this.canvasFactory.create(s,i);n7(g.context,n),c=this.applyTransferMapsToCanvas(g.context),f=g}let m=this._scaleImage(c,Pa(a));if(a.imageSmoothingEnabled=i7(cs(a),n.interpolate),this.dependencyTracker)this.dependencyTracker.resetBBox(e).recordBBox(e,a,0,s,-i,0).recordDependencies(e,Br.imageXObject).recordOperation(e),this.imagesTracker?.record(a,s,i,this.dependencyTracker.clipBox);if(Y0(a,m.img,0,0,m.paintWidth,m.paintHeight,0,-i,s,i),m.tmpCanvas)this.canvasFactory.destroy(m.tmpCanvas);if(f)this.canvasFactory.destroy(f);this.compose(),this.restore(e),this.#b(r)}paintInlineImageXObjectGroup(e,n,s){if(!this.contentVisible)return;let i=this.#m(this.current.fillAlpha),r=this.ctx,a,l=null;if(n.bitmap)a=n.bitmap;else{let{width:c,height:f}=n,m=this.canvasFactory.create(c,f);n7(m.context,n),a=this.applyTransferMapsToCanvas(m.context),l=m}this.dependencyTracker?.resetBBox(e);for(let c of s)r.save(),r.transform(...c.transform),r.scale(1,-1),Y0(r,a,c.x,c.y,c.w,c.h,0,-1,1,1),this.dependencyTracker?.recordBBox(e,r,0,1,-1,0),r.restore();if(l)this.canvasFactory.destroy(l);this.dependencyTracker?.recordOperation(e),this.compose(),this.#b(i)}paintSolidColorImageMask(e){if(!this.contentVisible)return;let n=this.#m(this.current.fillAlpha);this.dependencyTracker?.resetBBox(e).recordBBox(e,this.ctx,0,1,0,1).recordDependencies(e,Br.fill).recordOperation(e),this.ctx.fillRect(0,0,1,1),this.compose(),this.#b(n)}markPoint(e,n){}markPointProps(e,n,s){}beginMarkedContent(e,n){this.dependencyTracker?.beginMarkedContent(e),this.markedContentStack.push({visible:!0})}beginMarkedContentProps(e,n,s){if(this.dependencyTracker?.beginMarkedContent(e),n==="OC")this.markedContentStack.push({visible:this.optionalContentConfig.isVisible(s)});else this.markedContentStack.push({visible:!0});this.contentVisible=this.isContentVisible()}endMarkedContent(e){this.dependencyTracker?.endMarkedContent(e),this.markedContentStack.pop(),this.contentVisible=this.isContentVisible()}beginCompat(e){}endCompat(e){}consumePath(e,n,s){let i=this.current.isEmptyClip();if(this.pendingClip)this.current.updateClipFromPath();if(!this.pendingClip)this.compose(s);let r=this.ctx;if(this.pendingClip){if(!i)if(this.pendingClip===r7)r.clip(n,"evenodd");else r.clip(n);this.pendingClip=null,this.dependencyTracker?.bboxToClipBoxDropOperation(e).recordFutureForcedDependency("clipPath",e)}else this.dependencyTracker?.recordOperation(e);this.current.startNewPathAndClipBox(this.current.clipBox)}getSinglePixelWidth(){if(!this._cachedGetSinglePixelWidth){let e=cs(this.ctx);if(e[1]===0&&e[2]===0)this._cachedGetSinglePixelWidth=1/Math.min(Math.abs(e[0]),Math.abs(e[3]));else{let n=Math.abs(e[0]*e[3]-e[2]*e[1]),s=Math.hypot(e[0],e[2]),i=Math.hypot(e[1],e[3]);this._cachedGetSinglePixelWidth=Math.max(s,i)/n}}return this._cachedGetSinglePixelWidth}getScaleForStroking(){if(this._cachedScaleForStroking[0]===-1){let{lineWidth:e}=this.current,{a:n,b:s,c:i,d:r}=this.ctx.getTransform(),a,l;if(s===0&&i===0){let c=Math.abs(n),f=Math.abs(r);if(c===f)if(e===0)a=l=1/c;else{let m=c*e;a=l=m<1?1/m:1}else if(e===0)a=1/c,l=1/f;else{let m=c*e,g=f*e;a=m<1?1/m:1,l=g<1?1/g:1}}else{let c=Math.abs(n*r-s*i),f=Math.hypot(n,s),m=Math.hypot(i,r);if(e===0)a=m/c,l=f/c;else{let g=e*c;a=m>g?m/g:1,l=f>g?f/g:1}}this._cachedScaleForStroking[0]=a,this._cachedScaleForStroking[1]=l}return this._cachedScaleForStroking}rescaleAndStroke(e,n){let{ctx:s,current:{lineWidth:i}}=this,[r,a]=this.getScaleForStroking();if(r===a){s.lineWidth=(i||1)*r,s.stroke(e);return}let l=lc.#e??=new DOMMatrix,c=s.getLineDash();if(n)s.save();s.scale(r,a),l.a=1/r,l.d=1/a;let f=new Path2D;if(f.addPath(e,l),c.length>0){let m=Math.max(r,a);s.setLineDash(c.map((g)=>g/m)),s.lineDashOffset/=m}if(s.lineWidth=i||1,s.stroke(f),n)s.restore()}isContentVisible(){for(let e=this.markedContentStack.length-1;e>=0;e--)if(!this.markedContentStack[e].visible)return!1;return!0}}for(let e in Ua)if(lc.prototype[e]!==void 0)lc.prototype[Ua[e]]=lc.prototype[e];class vu{#e=null;#t=null;_fullReader=null;_rangeReaders=new Set;_source=null;constructor(e,n,s){this._source=e,this.#e=n,this.#t=s}get _progressiveDataLength(){return this._fullReader?._loaded??0}getFullReader(){return Rs(!this._fullReader,"BasePDFStream.getFullReader can only be called once."),this._fullReader=new this.#e(this)}getRangeReader(e,n){if(n<=this._progressiveDataLength)return null;let s=new this.#t(this,e,n);return this._rangeReaders.add(s),s}cancelAllRequests(e){this._fullReader?.cancel(e);for(let n of new Set(this._rangeReaders))n.cancel(e)}}class Su{onProgress=null;_contentLength=0;_filename=null;_headersCapability=Promise.withResolvers();_isRangeSupported=!1;_isStreamingSupported=!1;_loaded=0;_stream=null;constructor(e){this._stream=e}_callOnProgress(){this.onProgress?.({loaded:this._loaded,total:this._contentLength})}get headersReady(){return this._headersCapability.promise}get filename(){return this._filename}get contentLength(){return this._contentLength}get isRangeSupported(){return this._isRangeSupported}get isStreamingSupported(){return this._isStreamingSupported}async read(){In("Abstract method `read` called")}cancel(e){In("Abstract method `cancel` called")}}class ku{_stream=null;constructor(e,n,s){this._stream=e}async read(){In("Abstract method `read` called")}cancel(e){In("Abstract method `cancel` called")}}function dM(e){let n=!0,s=i("filename\\*","i").exec(e);if(s){s=s[1];let g=c(s);return g=unescape(g),g=f(g),g=m(g),a(g)}if(s=l(e),s){let g=m(s);return a(g)}if(s=i("filename","i").exec(e),s){s=s[1];let g=c(s);return g=m(g),a(g)}function i(g,b){return new RegExp("(?:^|;)\\s*"+g+'\\s*=\\s*([^";\\s][^;\\s]*|"(?:[^"\\\\]|\\\\"?)+"?)',b)}function r(g,b){if(g){if(!/^[\x00-\xFF]+$/.test(b))return b;try{let v=new TextDecoder(g,{fatal:!0}),k=vm(b);b=v.decode(k),n=!1}catch{}}return b}function a(g){if(n&&/[\x80-\xff]/.test(g)){if(g=r("utf-8",g),n)g=r("iso-8859-1",g)}return g}function l(g){let b=[],v,k=i("filename\\*((?!0\\d)\\d+)(\\*?)","ig");while((v=k.exec(g))!==null){let[,_,P,U]=v;if(_=parseInt(_,10),_ in b){if(_===0)break;continue}b[_]=[P,U]}let T=[];for(let _=0;_<b.length;++_){if(!(_ in b))break;let[P,U]=b[_];if(U=c(U),P){if(U=unescape(U),_===0)U=f(U)}T.push(U)}return T.join("")}function c(g){if(g.startsWith('"')){let b=g.slice(1).split("\\\"");for(let v=0;v<b.length;++v){let k=b[v].indexOf('"');if(k!==-1)b[v]=b[v].slice(0,k),b.length=v+1;b[v]=b[v].replaceAll(/\\(.)/g,"$1")}g=b.join('"')}return g}function f(g){let b=g.indexOf("'");if(b===-1)return g;let v=g.slice(0,b),T=g.slice(b+1).replace(/^[^']*'/,"");return r(v,T)}function m(g){if(!g.startsWith("=?")||/[\x00-\x19\x80-\xff]/.test(g))return g;return g.replaceAll(/=\?([\w-]*)\?([QB])\?((?:[^?]|\?(?!=))*)\?=/gi,function(b,v,k,T){if(k==="q"||k==="Q")return T=T.replaceAll("_"," "),T=T.replaceAll(/=([0-9a-f]{2})/gi,function(_,P){return String.fromCharCode(parseInt(P,16))}),r(v,T);try{T=atob(T)}catch{}return r(v,T)})}return""}function W7(e,n){let s=new Headers;if(!e||!n||typeof n!=="object")return s;for(let i in n){let r=n[i];if(r!==void 0)s.append(i,r)}return s}function mM(e){let n=e.length;while(n>0&&e[n-1]!==" "&&/\s/.test(e[n-1]))n--;return e.slice(0,n)}function Cm(e){return URL.parse(e)?.origin??null}function K7({responseHeaders:e,isHttp:n,rangeChunkSize:s,disableRange:i}){let r={contentLength:0,isRangeSupported:!1},a=parseInt(e.get("Content-Length"),10);if(!Number.isInteger(a))return r;if(r.contentLength=a,a<=2*s)return r;if(i||!n)return r;if(e.get("Accept-Ranges")!=="bytes")return r;if((e.get("Content-Encoding")||"identity")==="identity")r.isRangeSupported=!0;return r}function Y7(e){let n=e.get("Content-Disposition");if(n){let s=dM(n);if(s.includes("%"))try{s=decodeURIComponent(s)}catch{}if(s2(s))return s}return null}function jm(e,n){return new ru(`Unexpected server response (${e}) while retrieving PDF "${n.href}".`,e,e===404||e===0&&n.protocol==="file:")}function Q7(e,n){if(e!==n)throw Error(`Expected range response-origin "${e}" to match "${n}".`)}function J7(e,n,s,i){return fetch(e,{method:"GET",headers:n,signal:i.signal,mode:"cors",credentials:s?"include":"same-origin",redirect:"follow"})}function Z7(e,n){if(e!==200&&e!==206)throw jm(e,n)}function _m(e){if(e instanceof Uint8Array)return e.buffer;if(e instanceof ArrayBuffer)return e;throw Error(`getArrayBuffer - unexpected data: ${e}`)}class eS extends vu{_responseOrigin=null;constructor(e){super(e,tS,nS);let{httpHeaders:n,url:s}=e;Rs(/https?:/.test(s.protocol),"PDFFetchStream only supports http(s):// URLs."),this.headers=W7(!0,n)}}class tS extends Su{_abortController=new AbortController;_reader=null;constructor(e){super(e);let{disableRange:n,disableStream:s,rangeChunkSize:i,url:r,withCredentials:a}=e._source;this._isStreamingSupported=!s;let l=new Headers(e.headers);J7(r,l,a,this._abortController).then((c)=>{e._responseOrigin=Cm(c.url),Z7(c.status,r),this._reader=c.body.getReader();let f=c.headers,{contentLength:m,isRangeSupported:g}=K7({responseHeaders:f,isHttp:!0,rangeChunkSize:i,disableRange:n});if(this._contentLength=m,this._isRangeSupported=g,this._filename=Y7(f),!this._isStreamingSupported&&this._isRangeSupported)this.cancel(new jo("Streaming is disabled."));this._headersCapability.resolve()}).catch(this._headersCapability.reject)}async read(){await this._headersCapability.promise;let{value:e,done:n}=await this._reader.read();if(n)return{value:e,done:n};return this._loaded+=e.byteLength,this._callOnProgress(),{value:_m(e),done:!1}}cancel(e){this._reader?.cancel(e),this._abortController.abort()}}class nS extends ku{_abortController=new AbortController;_readCapability=Promise.withResolvers();_reader=null;constructor(e,n,s){super(e,n,s);let{url:i,withCredentials:r}=e._source,a=new Headers(e.headers);a.append("Range",`bytes=${n}-${s-1}`),J7(i,a,r,this._abortController).then((l)=>{let c=Cm(l.url);Q7(c,e._responseOrigin),Z7(l.status,i),this._reader=l.body.getReader(),this._readCapability.resolve()}).catch(this._readCapability.reject)}async read(){await this._readCapability.promise;let{value:e,done:n}=await this._reader.read();if(n)return{value:e,done:n};return{value:_m(e),done:!1}}cancel(e){this._reader?.cancel(e),this._abortController.abort()}}function a7(e){return e instanceof Uint8Array&&e.byteLength===e.buffer.byteLength?e.buffer:new Uint8Array(e).buffer}function Im(){for(let e of this._requests)e.resolve({value:void 0,done:!0});this._requests.length=0}class sS extends vu{_progressiveDone=!1;_queuedChunks=[];constructor(e){super(e,iS,rS);let{pdfDataRangeTransport:n}=e,{initialData:s,progressiveDone:i}=n;if(s?.length>0){let a=a7(s);this._queuedChunks.push(a)}this._progressiveDone=i;let r=(a)=>{switch(a.type){case"range":case"progressiveRead":this.#e(a.begin,a.chunk);break;case"progressiveDone":this._fullReader?.progressiveDone(),this._progressiveDone=!0;break}};n.transportReady(r)}#e(e,n){let s=a7(n);if(e===void 0)if(this._fullReader)this._fullReader._enqueue(s);else this._queuedChunks.push(s);else{let i=this._rangeReaders.keys().find((r)=>r._begin===e);Rs(i,"#onReceiveData - no `PDFDataTransportStreamRangeReader` instance found."),i._enqueue(s)}}getFullReader(){let e=super.getFullReader();return this._queuedChunks=null,e}getRangeReader(e,n){let s=super.getRangeReader(e,n);if(s)s.onDone=()=>this._rangeReaders.delete(s),this._source.pdfDataRangeTransport.requestDataRange(e,n);return s}cancelAllRequests(e){super.cancelAllRequests(e),this._source.pdfDataRangeTransport.abort()}}class iS extends Su{#e=Im.bind(this);_done=!1;_queuedChunks=null;_requests=[];constructor(e){super(e);let{pdfDataRangeTransport:n,disableRange:s,disableStream:i}=e._source,{length:r,contentDispositionFilename:a}=n;this._queuedChunks=e._queuedChunks||[];for(let c of this._queuedChunks)this._loaded+=c.byteLength;if(this._done=e._progressiveDone,this._contentLength=r,this._isStreamingSupported=!i,this._isRangeSupported=!s,s2(a))this._filename=a;this._headersCapability.resolve();let l=this._loaded;Promise.resolve().then(()=>{if(l>0&&this._loaded===l)this._callOnProgress()})}_enqueue(e){if(this._done)return;if(this._requests.length>0)this._requests.shift().resolve({value:e,done:!1});else this._queuedChunks.push(e);this._loaded+=e.byteLength,this._callOnProgress()}async read(){if(this._queuedChunks.length>0)return{value:this._queuedChunks.shift(),done:!1};if(this._done)return{value:void 0,done:!0};let e=Promise.withResolvers();return this._requests.push(e),e.promise}cancel(e){this._done=!0,this.#e()}progressiveDone(){if(this._done||=!0,this._queuedChunks.length===0)this.#e()}}class rS extends ku{#e=Im.bind(this);onDone=null;_begin=-1;_done=!1;_queuedChunk=null;_requests=[];constructor(e,n,s){super(e,n,s);this._begin=n}_enqueue(e){if(this._done)return;if(this._requests.length===0)this._queuedChunk=e;else this._requests.shift().resolve({value:e,done:!1}),this.#e();this._done=!0,this.onDone?.()}async read(){if(this._queuedChunk){let n=this._queuedChunk;return this._queuedChunk=null,{value:n,done:!1}}if(this._done)return{value:void 0,done:!0};let e=Promise.withResolvers();return this._requests.push(e),e.promise}cancel(e){this._done=!0,this.#e(),this.onDone?.()}}var Hb=200,o7=206;function pM(e){return typeof e!=="string"?e:vm(e).buffer}class aS extends vu{#e=new WeakMap;_responseOrigin=null;constructor(e){super(e,oS,lS);let{httpHeaders:n,url:s}=e;this.url=s,this.isHttp=/https?:/.test(s.protocol),this.headers=W7(this.isHttp,n)}_request(e){let n=new XMLHttpRequest,s={validateStatus:null,onHeadersReceived:e.onHeadersReceived,onDone:e.onDone,onError:e.onError,onProgress:e.onProgress};this.#e.set(n,s),n.open("GET",this.url),n.withCredentials=this._source.withCredentials;for(let[i,r]of this.headers)n.setRequestHeader(i,r);if(this.isHttp&&"begin"in e&&"end"in e)n.setRequestHeader("Range",`bytes=${e.begin}-${e.end-1}`),s.validateStatus=(i)=>i===o7||i===Hb;else s.validateStatus=(i)=>i===Hb;return n.responseType="arraybuffer",Rs(e.onError,"Expected `onError` callback to be provided."),n.onerror=()=>e.onError(n.status),n.onreadystatechange=this.#n.bind(this,n),n.onprogress=this.#t.bind(this,n),n.send(null),n}#t(e,n){this.#e.get(e)?.onProgress?.(n)}#n(e,n){let s=this.#e.get(e);if(!s)return;if(e.readyState>=2&&s.onHeadersReceived)s.onHeadersReceived(),delete s.onHeadersReceived;if(e.readyState!==4)return;if(!this.#e.has(e))return;if(this.#e.delete(e),e.status===0&&this.isHttp){s.onError(e.status);return}let i=e.status||Hb;if(!s.validateStatus(i)){s.onError(e.status);return}let r=pM(e.response);if(i===o7){let a=e.getResponseHeader("Content-Range");if(/bytes \d+-\d+\/\d+/.test(a))s.onDone(r);else Zt('Missing or invalid "Content-Range" header.'),s.onError(0)}else if(r)s.onDone(r);else s.onError(e.status)}_abortRequest(e){if(this.#e.has(e))this.#e.delete(e),e.abort()}getRangeReader(e,n){let s=super.getRangeReader(e,n);if(s)s.onClosed=()=>this._rangeReaders.delete(s);return s}}class oS extends Su{#e=Im.bind(this);_cachedChunks=[];_done=!1;_requests=[];_storedError=null;constructor(e){super(e);this._fullRequestXhr=e._request({onHeadersReceived:this.#t.bind(this),onDone:this.#n.bind(this),onError:this.#s.bind(this),onProgress:this.#i.bind(this)})}#t(){let e=this._stream,{disableRange:n,rangeChunkSize:s}=e._source,i=this._fullRequestXhr;e._responseOrigin=Cm(i.responseURL);let r=i.getAllResponseHeaders(),a=new Headers(r?mM(r.trimStart()).split(/[\r\n]+/).map((f)=>{let[m,...g]=f.split(": ");return[m,g.join(": ")]}):[]),{contentLength:l,isRangeSupported:c}=K7({responseHeaders:a,isHttp:e.isHttp,rangeChunkSize:s,disableRange:n});if(this._contentLength=l,this._isRangeSupported=c,this._filename=Y7(a),this._isRangeSupported)e._abortRequest(i);this._headersCapability.resolve()}#n(e){if(this._requests.length>0)this._requests.shift().resolve({value:e,done:!1});else this._cachedChunks.push(e);if(this._done=!0,this._cachedChunks.length===0)this.#e()}#s(e){this._storedError=jm(e,this._stream.url),this._headersCapability.reject(this._storedError);for(let n of this._requests)n.reject(this._storedError);this._requests.length=0,this._cachedChunks.length=0}#i(e){this.onProgress?.({loaded:e.loaded,total:e.lengthComputable?e.total:this._contentLength})}async read(){if(await this._headersCapability.promise,this._storedError)throw this._storedError;if(this._cachedChunks.length>0)return{value:this._cachedChunks.shift(),done:!1};if(this._done)return{value:void 0,done:!0};let e=Promise.withResolvers();return this._requests.push(e),e.promise}cancel(e){this._done=!0,this._headersCapability.reject(e),this.#e(),this._stream._abortRequest(this._fullRequestXhr),this._fullRequestXhr=null}}class lS extends ku{#e=Im.bind(this);onClosed=null;_done=!1;_queuedChunk=null;_requests=[];_storedError=null;constructor(e,n,s){super(e,n,s);this._requestXhr=e._request({begin:n,end:s,onHeadersReceived:this.#t.bind(this),onDone:this.#n.bind(this),onError:this.#s.bind(this),onProgress:null})}#t(){let e=Cm(this._requestXhr?.responseURL);try{Q7(e,this._stream._responseOrigin)}catch(n){this._storedError=n,this.#s(0)}}#n(e){if(this._requests.length>0)this._requests.shift().resolve({value:e,done:!1});else this._queuedChunk=e;this._done=!0,this.#e(),this.onClosed?.()}#s(e){this._storedError??=jm(e,this._stream.url);for(let n of this._requests)n.reject(this._storedError);this._requests.length=0,this._queuedChunk=null}async read(){if(this._storedError)throw this._storedError;if(this._queuedChunk!==null){let n=this._queuedChunk;return this._queuedChunk=null,{value:n,done:!1}}if(this._done)return{value:void 0,done:!0};let e=Promise.withResolvers();return this._requests.push(e),e.promise}cancel(e){this._done=!0,this.#e(),this._stream._abortRequest(this._requestXhr),this.onClosed?.()}}function cS(e,n=null){let s=process.getBuiltinModule("fs"),{Readable:i}=process.getBuiltinModule("stream"),r=s.createReadStream(e,n);return i.toWeb(r)}class fS extends vu{constructor(e){super(e,hS,uS);let{url:n}=e;Rs(n.protocol==="file:","PDFNodeStream only supports file:// URLs.")}}class hS extends Su{_reader=null;constructor(e){super(e);let{disableRange:n,disableStream:s,rangeChunkSize:i,url:r}=e._source;this._isStreamingSupported=!s,process.getBuiltinModule("fs/promises").lstat(r).then((l)=>{let c=cS(r);this._reader=c.getReader();let{size:f}=l;if(this._contentLength=f,this._isRangeSupported=!n&&f>2*i,!this._isStreamingSupported&&this._isRangeSupported)this.cancel(new jo("Streaming is disabled."));this._headersCapability.resolve()}).catch((l)=>{if(l.code==="ENOENT")l=jm(0,r);this._headersCapability.reject(l)})}async read(){await this._headersCapability.promise;let{value:e,done:n}=await this._reader.read();if(n)return{value:e,done:n};return this._loaded+=e.byteLength,this._callOnProgress(),{value:_m(e),done:!1}}cancel(e){this._reader?.cancel(e)}}class uS extends ku{_readCapability=Promise.withResolvers();_reader=null;constructor(e,n,s){super(e,n,s);let{url:i}=e._source;try{let r=cS(i,{start:n,end:s-1});this._reader=r.getReader(),this._readCapability.resolve()}catch(r){this._readCapability.reject(r)}}async read(){await this._readCapability.promise;let{value:e,done:n}=await this._reader.read();if(n)return{value:e,done:n};return{value:_m(e),done:!1}}cancel(e){this._reader?.cancel(e)}}function gM(e){return nu(e)?eS:wr?fS:aS}class Co{static#e=null;static#t="";static get workerPort(){return this.#e}static set workerPort(e){if(!(typeof Worker<"u"&&e instanceof Worker)&&e!==null)throw Error("Invalid `workerPort` type.");this.#e=e}static get workerSrc(){return this.#t}static set workerSrc(e){if(typeof e!=="string")throw Error("Invalid `workerSrc` type.");this.#t=e}}class dS{#e;#t;constructor({parsedData:e,rawData:n}){this.#e=e,this.#t=n}getRaw(){return this.#t}get(e){return this.#e.get(e)??null}[Symbol.iterator](){return this.#e.entries()}}var ic=Symbol("INTERNAL");class mS{#e=!1;#t=!1;#n=!1;#s=!0;constructor(e,{name:n,intent:s,usage:i,rbGroups:r}){this.#e=!!(e&br.DISPLAY),this.#t=!!(e&br.PRINT),this.name=n,this.intent=s,this.usage=i,this.rbGroups=r}get visible(){if(this.#n)return this.#s;if(!this.#s)return!1;let{print:e,view:n}=this.usage;if(this.#e)return n?.viewState!=="OFF";else if(this.#t)return e?.printState!=="OFF";return!0}_setVisible(e,n,s=!1){if(e!==ic)In("Internal method `_setVisible` called.");this.#n=s,this.#s=n}get serializable(){return{userSet:this.#n,visible:this.#s}}}class h2{#e=null;#t=new Map;#n=null;#s=null;#i;creator=null;name=null;constructor(e,n=br.DISPLAY,s=null){if(this.#i=e,this.renderingIntent=n,e===null)return;this.name=e.name,this.creator=e.creator,this.#s=e.order;for(let i of e.groups)this.#t.set(i.id,new mS(n,i));if(s){if(s.size!==this.#t.size)In("Incorrect serialized groupState.");for(let[i,r]of s)this.#t.get(i)._setVisible(ic,r.visible,r.userSet)}else{if(e.baseState==="OFF")for(let i of this.#t.values())i._setVisible(ic,!1);for(let i of e.on)this.#t.get(i)._setVisible(ic,!0);for(let i of e.off)this.#t.get(i)._setVisible(ic,!1)}this.#n=this.getHash()}#a(e){let n=e.length;if(n<2)return!0;let s=e[0];for(let i=1;i<n;i++){let r=e[i],a;if(Array.isArray(r))a=this.#a(r);else if(this.#t.has(r))a=this.#t.get(r).visible;else return Zt(`Optional content group not found: ${r}`),!0;switch(s){case"And":if(!a)return!1;break;case"Or":if(a)return!0;break;case"Not":return!a;default:return!0}}return s==="And"}isVisible(e){if(this.#t.size===0)return!0;if(!e)return ym("Optional content group not defined."),!0;if(e.type==="OCG"){if(!this.#t.has(e.id))return Zt(`Optional content group not found: ${e.id}`),!0;return this.#t.get(e.id).visible}else if(e.type==="OCMD"){if(e.expression)return this.#a(e.expression);if(!e.policy||e.policy==="AnyOn"){for(let n of e.ids){if(!this.#t.has(n))return Zt(`Optional content group not found: ${n}`),!0;if(this.#t.get(n).visible)return!0}return!1}else if(e.policy==="AllOn"){for(let n of e.ids){if(!this.#t.has(n))return Zt(`Optional content group not found: ${n}`),!0;if(!this.#t.get(n).visible)return!1}return!0}else if(e.policy==="AnyOff"){for(let n of e.ids){if(!this.#t.has(n))return Zt(`Optional content group not found: ${n}`),!0;if(!this.#t.get(n).visible)return!0}return!1}else if(e.policy==="AllOff"){for(let n of e.ids){if(!this.#t.has(n))return Zt(`Optional content group not found: ${n}`),!0;if(this.#t.get(n).visible)return!1}return!0}return Zt(`Unknown optional content policy ${e.policy}.`),!0}return Zt(`Unknown group type ${e.type}.`),!0}setVisibility(e,n=!0,s=!0){let i=this.#t.get(e);if(!i){Zt(`Optional content group not found: ${e}`);return}if(s&&n&&i.rbGroups.length){for(let r of i.rbGroups)for(let a of r)if(a!==e)this.#t.get(a)?._setVisible(ic,!1,!0)}i._setVisible(ic,!!n,!0),this.#e=null}setOCGState({state:e,preserveRB:n}){let s;for(let i of e){switch(i){case"ON":case"OFF":case"Toggle":s=i;continue}let r=this.#t.get(i);if(!r)continue;switch(s){case"ON":this.setVisibility(i,!0,n);break;case"OFF":this.setVisibility(i,!1,n);break;case"Toggle":this.setVisibility(i,!r.visible,n);break}}this.#e=null}get hasInitialVisibility(){return this.#n===null||this.getHash()===this.#n}getOrder(){if(!this.#t.size)return null;if(this.#s)return this.#s.slice();return[...this.#t.keys()]}getGroup(e){return this.#t.get(e)||null}getHash(){if(this.#e!==null)return this.#e;let e=new fm;for(let[n,s]of this.#t)e.update(`${n}:${s.visible}`);return this.#e=e.hexdigest()}[Symbol.iterator](){return this.#t.entries()}get serializable(){let e=new Map;for(let[n,s]of this.#t)e.set(n,s.serializable);return{data:this.#i,renderingIntent:this.renderingIntent,groupState:e}}static fromSerializable({data:e,renderingIntent:n,groupState:s}){return new h2(e,n,s)}}class pS{#e=null;#t=null;#n=0;#s=null;#i=null;get pagesNumber(){return this.#n}set pagesNumber(e){if(this.#n===e)return;this.#n=e,this.#e=null,this.#t=null}#a(){if(this.#e)return;let e=this.#n,n=this.#e=new Uint32Array(e);for(let s=0;s<e;s++)n[s]=s+1;this.#t=new Int32Array(n)}#r(){let e=new Map,n=this.#e;for(let s=0,i=this.#n;s<i;s++){let r=n[s],a=e.get(r);if(a)a.push(s+1);else e.set(r,[s+1])}return e}movePages(e,n,s){this.#a();let i=this.#e,r=n.length,a=new Uint32Array(r),l=0;for(let b=0;b<r;b++){let v=n[b]-1;if(a[b]=i[v],v<s)l++}let c=this.#n,f=c-r,m=new Int32Array(c),g=ps(s-l,0,f);for(let b=0,v=0;b<c;b++)if(!e.has(b+1))i[v]=i[b],m[v++]=b+1;if(i.copyWithin(g+r,g,f),i.set(a,g),m.copyWithin(g+r,g,f),m.set(n,g),this.#t=m,i.every((b,v)=>b===v+1))this.#e=null}deletePages(e){this.#a();let n=this.#e,s=this.#r();this.#i={pageNumberToId:n.slice(),pagesNumber:this.#n,prevPageNumbers:this.#t.slice()};let i=this.#n-e.length;this.#n=i;let r=this.#e=new Uint32Array(i);this.#t=new Int32Array(i);let a=0,l=0;for(let c of e){let f=c-1;if(f!==a)r.set(n.subarray(a,f),l),l+=f-a;a=f+1}if(a<n.length)r.set(n.subarray(a),l);this.#o(s,new Set(e))}cancelDelete(){if(this.#i)this.#e=this.#i.pageNumberToId,this.#n=this.#i.pagesNumber,this.#t=this.#i.prevPageNumbers,this.#i=null}cleanSavedData(){this.#i=null}copyPages(e){this.#a(),this.#s={pageNumbers:e,pageIds:e.map((n)=>this.#e[n-1])}}cancelCopy(){this.#s=null}pastePages(e){this.#a();let n=this.#e,s=this.#r(),{pageNumbers:i,pageIds:r}=this.#s,a=this.#n+i.length;this.#n=a;let l=this.#e=new Uint32Array(a);this.#t=new Int32Array(a),l.set(n.subarray(0,e),0),l.set(r,e),l.set(n.subarray(e),e+i.length),this.#o(s,null,e,i),this.#s=null}#o(e,n=null,s=-1,i=null){let r=this.#t,a=this.#e,l=s+(i?.length??0),c=new Map;for(let f=0,m=this.#n;f<m;f++){if(f>=s&&f<l){r[f]=-i[f-s];continue}let g=a[f],b=e.get(g),v=c.get(g)||0;if(n&&b)while(v<b.length&&n.has(b[v]))v++;r[f]=b?.[v],c.set(g,v+1)}}hasBeenAltered(){return this.#e!==null}#l(e=null){if(!this.#e)return null;let n=new Int32Array(this.#n).fill(-1),s=new Map;if(e)for(let i of e){let r=this.getPageId(i),a=s.get(r)??0;s.set(r,a+1),n[i-1]=a}else for(let i=0,r=this.#n;i<r;i++){let a=this.#e[i],l=s.get(a)??0;s.set(a,l+1),n[i]=l}return n}getPageMappingForSaving(e=null,n=this.#l()){e??=this.#r();let s=0;for(let r of e.values())s=Math.max(s,r.length);let i=Array(s);for(let r=0;r<s;r++)i[r]={document:null,pageIndices:[],includePages:[]};for(let[r,a]of e)for(let l=0,c=a.length;l<c;l++)i[l].includePages.push([r-1,a[l]-1]);for(let{includePages:r,pageIndices:a}of i){r.sort((l,c)=>l[0]-c[0]);for(let l=0,c=r.length;l<c;l++)a.push(r[l][1]),r[l]=r[l][0]}return{pageInfos:i,copyLevels:n}}extractPages(e){e=Array.from(e).sort((s,i)=>s-i);let n=new Map;for(let s=0,i=e.length;s<i;s++){let r=this.getPageId(e[s]);n.getOrInsertComputed(r,Sf).push(s+1)}return this.getPageMappingForSaving(n,this.#l(e))}getPrevPageNumber(e){return this.#t?.[e-1]??0}getPageNumber(e){if(!this.#e)return e;let n=this.#e;for(let s=0,i=this.#n;s<i;s++)if(n[s]===e)return s+1;return 0}getPageId(e){return this.#e?.[e-1]??e}getMapping(){return this.#e?.subarray(0,this.pagesNumber)}}var wf=Symbol("INITIAL_DATA"),l7=()=>({...Promise.withResolvers(),data:wf});class u2{#e=new Map;get(e,n=null){if(n){let i=this.#e.getOrInsertComputed(e,l7);return i.promise.then(()=>n(i.data)),null}let s=this.#e.get(e);if(!s||s.data===wf)throw Error(`Requesting object that isn't resolved yet ${e}.`);return s.data}has(e){let n=this.#e.get(e);return!!n&&n.data!==wf}delete(e){let n=this.#e.get(e);if(!n||n.data===wf)return!1;return this.#e.delete(e),!0}resolve(e,n=null){let s=this.#e.getOrInsertComputed(e,l7);if(s.data!==wf)throw Error(`Object already resolved ${e}.`);s.data=n,s.resolve()}clear(){for(let{data:e}of this.#e.values())e?.bitmap?.close();this.#e.clear()}*[Symbol.iterator](){for(let[e,{data:n}]of this.#e)if(n!==wf)yield[e,n]}}var bM=1e5,c7=30;class Oi{#e=Promise.withResolvers();#t=null;#n=!1;#s=!!globalThis.FontInspector?.enabled;#i=null;#a=null;#r=null;#o=0;#l=0;#c=null;#u=null;#h=0;#d=0;#p=Object.create(null);#g=[];#f=null;#m=[];#b=new WeakMap;#w=null;static#y=new Map;static#v=new Map;static#x=new WeakMap;static#k=null;static#A=new Set;constructor({textContentSource:e,images:n,container:s,viewport:i}){if(e instanceof ReadableStream)this.#f=e;else if(typeof e==="object")this.#f=new ReadableStream({start(f){f.enqueue(e),f.close()}});else throw Error('No "textContentSource" parameter specified.');this.#t=this.#u=s,this.#i=n,this.#d=i.scale*ha.pixelRatio,this.#h=i.rotation,this.#r={div:null,properties:null,ctx:null};let{pageWidth:r,pageHeight:a,pageX:l,pageY:c}=i.rawDims;this.#w=[1,0,0,-1,-l,c+a],this.#l=r,this.#o=a,Oi.#R(),s.style.setProperty("--min-font-size",Oi.#k),fc(s,i),this.#e.promise.finally(()=>{Oi.#A.delete(this),this.#r=null,this.#p=null}).catch(()=>{})}static get fontFamilyMap(){let{isWindows:e,isFirefox:n}=zn.platform;return Lt(this,"fontFamilyMap",new Map([["sans-serif",`${e&&n?"Calibri, ":""}sans-serif`],["monospace",`${e&&n?"Lucida Console, ":""}monospace`]]))}render(){if(this.#i)this.#t.append(this.#i.render());let e=()=>{this.#c.read().then(({value:n,done:s})=>{if(s){this.#e.resolve();return}this.#a??=n.lang,Object.assign(this.#p,n.styles),this.#T(n.items),e()},this.#e.reject)};return this.#c=this.#f.getReader(),Oi.#A.add(this),e(),this.#e.promise}update({viewport:e,onBefore:n=null}){let s=e.scale*ha.pixelRatio,i=e.rotation;if(i!==this.#h)n?.(),this.#h=i,fc(this.#u,{rotation:i});if(s!==this.#d){n?.(),this.#d=s;let r={div:null,properties:null,ctx:Oi.#C(this.#a)};for(let a of this.#m)r.properties=this.#b.get(a),r.div=a,this.#j(r)}}cancel(){let e=new jo("TextLayer task cancelled.");this.#c?.cancel(e).catch(()=>{}),this.#c=null,this.#e.reject(e)}get textDivs(){return this.#m}get textContentItemsStr(){return this.#g}#T(e){if(this.#n)return;this.#r.ctx??=Oi.#C(this.#a);let n=this.#m,s=this.#g;for(let i of e){if(n.length>bM){Zt("Ignoring additional textDivs for performance reasons."),this.#n=!0;return}if(i.str===void 0){if(i.type==="beginMarkedContentProps"||i.type==="beginMarkedContent"){let r=this.#t;if(this.#t=document.createElement("span"),this.#t.classList.add("markedContent"),i.id)this.#t.setAttribute("id",i.id);if(i.tag==="Artifact")this.#t.ariaHidden=!0;r.append(this.#t)}else if(i.type==="endMarkedContent")this.#t=this.#t.parentNode;continue}s.push(i.str),this.#I(i)}}#I(e){let n=document.createElement("span"),s={angle:0,canvasWidth:0,hasText:e.str!=="",hasEOL:e.hasEOL,fontSize:0};this.#m.push(n);let i=ut.transform(this.#w,e.transform),r=Math.atan2(i[1],i[0]),a=this.#p[e.fontName];if(a.vertical)r+=Math.PI/2;let l=this.#s&&a.fontSubstitution||a.fontFamily;l=Oi.fontFamilyMap.get(l)||l;let c=Math.hypot(i[2],i[3]),f=c*Oi.#q(l,a,this.#a),m,g;if(r===0)m=i[4],g=i[5]-f;else m=i[4]+f*Math.sin(r),g=i[5]-f*Math.cos(r);let b=n.style;if(b.left=`${(100*m/this.#l).toFixed(2)}%`,b.top=`${(100*g/this.#o).toFixed(2)}%`,b.setProperty("--font-height",`${c.toFixed(2)}px`),b.fontFamily=l,s.fontSize=c,n.setAttribute("role","presentation"),n.textContent=e.str,n.dir=e.dir,this.#s)n.dataset.fontName=a.fontSubstitutionLoadedName||e.fontName;if(r!==0)s.angle=r*(180/Math.PI);let v=!1;if(e.str.length>1)v=!0;else if(e.str!==" "&&e.transform[0]!==e.transform[3]){let k=Math.abs(e.transform[0]),T=Math.abs(e.transform[3]);if(k!==T&&Math.max(k,T)/Math.min(k,T)>1.5)v=!0}if(v)s.canvasWidth=a.vertical?e.height:e.width;if(this.#b.set(n,s),this.#r.div=n,this.#r.properties=s,this.#j(this.#r),s.hasText)this.#t.append(n);if(s.hasEOL){let k=document.createElement("br");k.setAttribute("role","presentation"),this.#t.append(k)}}#j(e){let{div:n,properties:s,ctx:i}=e,{style:r}=n;if(s.canvasWidth!==0&&s.hasText){let{fontFamily:a}=r,{canvasWidth:l,fontSize:c}=s;Oi.#D(i,c*this.#d,a);let{width:f}=i.measureText(n.textContent);if(f>0)r.setProperty("--scale-x",l*this.#d/f)}if(s.angle!==0)r.setProperty("--rotate",`${s.angle}deg`)}static cleanup(){if(this.#A.size>0)return;this.#y.clear();for(let{canvas:e}of this.#v.values())e.remove();this.#v.clear()}static#C(e=null){let n=this.#v.get(e||="");if(!n){let s=document.createElement("canvas");s.style.cssText="position:absolute;top:0;left:0;width:0;height:0;display:none;letter-spacing:normal;word-spacing:normal",s.lang=e,document.body.append(s),n=s.getContext("2d",{alpha:!1,willReadFrequently:!0}),this.#v.set(e,n),this.#x.set(n,{size:0,family:""})}return n}static#D(e,n,s){let i=this.#x.get(e);if(n===i.size&&s===i.family)return;e.font=`${n}px ${s}`,i.size=n,i.family=s}static#R(){if(this.#k!==null)return;let e=document.createElement("div");e.style.opacity=0,e.style.lineHeight=1,e.style.fontSize="1px",e.style.position="absolute",e.textContent="X",document.body.append(e),this.#k=e.getBoundingClientRect().height,e.remove()}static#q(e,n,s){let i=this.#y.get(e);if(i)return i;let r=this.#C(s);r.canvas.width=r.canvas.height=c7,this.#D(r,c7,e);let a=r.measureText(""),l=a.fontBoundingBoxAscent,c=Math.abs(a.fontBoundingBoxDescent);r.canvas.width=r.canvas.height=0;let f=0.8;if(l)f=l/(l+c);else{if(zn.platform.isFirefox)Zt("Enable the `dom.textMetrics.fontBoundingBox.enabled` preference in `about:config` to improve TextLayer rendering.");if(n.ascent)f=n.ascent;else if(n.descent)f=1+n.descent}return this.#y.set(e,f),f}}var wM=100;function d2(e={}){let n=new m2,{docId:s}=n,i=e.url?Wq(e.url):null,r=e.data?Kq(e.data):null,a=e.httpHeaders||null,l=e.withCredentials===!0,c=e.password??null,f=e.range instanceof p2?e.range:null,m=Number.isInteger(e.rangeChunkSize)&&e.rangeChunkSize>0?e.rangeChunkSize:65536,g=e.worker instanceof Si?e.worker:null,b=e.verbosity,v=typeof e.docBaseUrl==="string"&&!km(e.docBaseUrl)?e.docBaseUrl:null,k=W0(e.cMapUrl),T=e.cMapPacked!==!1,_=W0(e.iccUrl),P=W0(e.standardFontDataUrl),U=W0(e.wasmUrl),z=e.stopAtErrors!==!0,V=Number.isInteger(e.maxImageSize)&&e.maxImageSize>-1?e.maxImageSize:-1,X=typeof e.isOffscreenCanvasSupported==="boolean"?e.isOffscreenCanvasSupported:!wr,J=typeof e.isImageDecoderSupported==="boolean"?e.isImageDecoderSupported:!wr,ee=Number.isInteger(e.canvasMaxAreaInBytes)?e.canvasMaxAreaInBytes:-1,te=typeof e.disableFontFace==="boolean"?e.disableFontFace:wr,ne=e.fontExtraProperties===!0,ie=e.enableXfa===!0,se=e.ownerDocument||globalThis.document,oe=e.disableRange===!0,ye=e.disableStream===!0,Se=e.disableAutoFetch===!0,me=e.pdfBug===!0,de=e.CanvasFactory||(wr?H7:P7),ce=e.FilterFactory||(wr?B7:N7),Ee=e.BinaryDataFactory||(wr?U7:Qb),we=e.enableHWA===!0,Re=e.enableWebGPU===!0?tM():Promise.resolve(!1),Fe=e.useWasm!==!1,Be=e.pagesMapper||new pS,Xe=typeof e.useSystemFonts==="boolean"?e.useSystemFonts:!wr&&!te,st=typeof e.useWorkerFetch==="boolean"?e.useWorkerFetch:!!(Ee===Qb&&k&&T&&P&&U&&nu(k,document.baseURI)&&nu(P,document.baseURI)&&nu(U,document.baseURI)),Ze=null;Iq(b);let St={canvasFactory:new de({ownerDocument:se,enableHWA:we}),filterFactory:new ce({docId:s,ownerDocument:se}),binaryDataFactory:st?null:new Ee({cMapUrl:k,standardFontDataUrl:P,wasmUrl:U})};if(!g)g=Si.create({verbosity:b,port:Co.workerPort}),n._worker=g;let _t={docId:s,apiVersion:"6.3.289",data:r,password:c,disableAutoFetch:Se,rangeChunkSize:m,docBaseUrl:v,enableXfa:ie,evaluatorOptions:{maxImageSize:V,disableFontFace:te,ignoreErrors:z,isOffscreenCanvasSupported:X,isImageDecoderSupported:J,canvasMaxAreaInBytes:ee,fontExtraProperties:ne,useSystemFonts:Xe,useWasm:Fe,useWorkerFetch:st,cMapUrl:k,cMapPacked:T,iccUrl:_,standardFontDataUrl:P,wasmUrl:U,hasGPU:!1}},dt={ownerDocument:se,pdfBug:me,styleElement:Ze,enableHWA:we,loadingParams:{disableAutoFetch:Se,enableXfa:ie}};return Promise.all([g.promise,Re]).then(function([,Ot]){if(g.destroyed)throw Error("Worker was destroyed");_t.evaluatorOptions.hasGPU=Ot;let ln=g.messageHandler.sendWithPromise("GetDocRequest",_t,r?[r.buffer]:null),kn;if(r);else if(f)kn=new sS({pdfDataRangeTransport:f,disableRange:oe,disableStream:ye});else if(i)kn=new(gM(i))({url:i,httpHeaders:a,withCredentials:l,rangeChunkSize:m,disableRange:oe,disableStream:ye});else throw Error("getDocument - expected either `data`, `range`, or `url` parameter.");return ln.then((an)=>{if(g.destroyed)throw Error("Worker was destroyed");let on=new yf(s,an,g.port),fs=new bS(on,n,kn,dt,St,Be);if(n._transport=fs,n.destroyed)throw Error("Loading aborted");on.send("Ready",null)})}).catch(n._capability.reject).finally(n._setupCapability.resolve),n}class m2{static#e=0;_capability=Promise.withResolvers();_setupCapability=Promise.withResolvers();_transport=null;_worker=null;docId=`d${m2.#e++}`;destroyed=!1;onPassword=null;onProgress=null;get promise(){return this._capability.promise}async destroy(){this.destroyed=!0,this._capability.promise.catch(()=>{});try{if(this._worker?.port)this._worker._pendingDestroy=!0;await this._setupCapability.promise,await this._transport?.destroy()}catch(e){if(this._worker?.port)delete this._worker._pendingDestroy;throw e}this._transport=null,this._worker?.destroy(),this._worker=null}async getData(){return this._transport.getData()}}class p2{#e=Promise.withResolvers();#t=null;constructor(e,n,s=!1,i=null){this.length=e,this.initialData=n,this.progressiveDone=s,this.contentDispositionFilename=i}onDataRange(e,n){this.#t({type:"range",begin:e,chunk:n})}onDataProgressiveRead(e){this.#e.promise.then(()=>{this.#t({type:"progressiveRead",chunk:e})})}onDataProgressiveDone(){this.#e.promise.then(()=>{this.#t({type:"progressiveDone"})})}transportReady(e){this.#t=e,this.#e.resolve()}requestDataRange(e,n){In("Abstract method PDFDataRangeTransport.requestDataRange")}abort(){}}class gS{constructor(e,n){this._pdfInfo=e,this._transport=n}get pagesMapper(){return this._transport.pagesMapper}get annotationStorage(){return this._transport.annotationStorage}get canvasFactory(){return this._transport.canvasFactory}get filterFactory(){return this._transport.filterFactory}get numPages(){return this._pdfInfo.numPages}get fingerprints(){return this._pdfInfo.fingerprints}get isPureXfa(){return Lt(this,"isPureXfa",!!this._transport._htmlForXfa)}get allXfaHtml(){return this._transport._htmlForXfa}getPage(e){return this._transport.getPage(e)}getPageIndex(e){return this._transport.getPageIndex(e)}getDestinations(){return this._transport.getDestinations()}getDestination(e){return this._transport.getDestination(e)}getPageLabels(){return this._transport.getPageLabels()}getPageLayout(){return this._transport.getPageLayout()}getPageMode(){return this._transport.getPageMode()}getViewerPreferences(){return this._transport.getViewerPreferences()}getOpenAction(){return this._transport.getOpenAction()}getAttachments(){return this._transport.getAttachments()}getAttachmentContent(e){return this._transport.getAttachmentContent(e)}getAnnotationsByType(e,n){return this._transport.getAnnotationsByType(e,n)}getJSActions(){return this._transport.getDocJSActions()}getOutline(){return this._transport.getOutline()}getOptionalContentConfig({intent:e="display"}={}){let{renderingIntent:n}=this._transport.getRenderingIntent(e);return this._transport.getOptionalContentConfig(n)}getPermissions(){return this._transport.getPermissions()}getMetadata(){return this._transport.getMetadata()}getMarkInfo(){return this._transport.getMarkInfo()}getData(){return this._transport.getData()}saveDocument(){return this._transport.saveDocument()}extractPages(e,n=null){return this._transport.extractPages(e,n)}getDownloadInfo(){return this._transport.downloadInfoCapability.promise}cleanup(e=!1){return this._transport.startCleanup(e||this.isPureXfa)}cachedPageNumber(e){return this._transport.cachedPageNumber(e)}get loadingParams(){return this._transport.loadingParams}get loadingTask(){return this._transport.loadingTask}getFieldObjects(){return this._transport.getFieldObjects()}getSignatures(){return this._transport.getSignatures()}getSignatureData(e){return this._transport.getSignatureData(e)}hasJSActions(){return this._transport.hasJSActions()}getCalculationOrderIds(){return this._transport.getCalculationOrderIds()}}class g2{#e=!1;#t=null;constructor(e,n,s,i,r=!1){this._pageIndex=e,this._pageInfo=n,this._transport=s,this._stats=r?new Vb:null,this._pdfBug=r,this.commonObjs=s.commonObjs,this.objs=new u2,this._intentStates=new Map,this.destroyed=!1,this.recordedBBoxes=null,this.#t=i,this.imageCoordinates=null}clone(e){let n=new g2(e,this._pageInfo,this._transport,this.#t,this._pdfBug);return n.clonedFromIndex=this.clonedFromIndex??this._pageIndex,this._transport.updatePage(n),n}get pageNumber(){return this._pageIndex+1}set pageNumber(e){this._pageIndex=e-1,this._transport.updatePage(this)}get rotate(){return this._pageInfo.rotate}get ref(){return this._pageInfo.ref}get userUnit(){return this._pageInfo.userUnit}get view(){return this._pageInfo.view}getViewport({scale:e,rotation:n=this.rotate,offsetX:s=0,offsetY:i=0,dontFlip:r=!1}={}){return new du({viewBox:this.view,userUnit:this.userUnit,scale:e,rotation:n,offsetX:s,offsetY:i,dontFlip:r})}getAnnotations({intent:e="display"}={}){let{renderingIntent:n}=this._transport.getRenderingIntent(e);return this._transport.getAnnotations(this._pageIndex,n)}getJSActions(){return this._transport.getPageJSActions(this._pageIndex)}get filterFactory(){return this._transport.filterFactory}get isPureXfa(){return Lt(this,"isPureXfa",!!this._transport._htmlForXfa)}async getXfa(){return this._transport._htmlForXfa?.children[this._pageIndex]||null}render({canvasContext:e,canvas:n=e.canvas,viewport:s,intent:i="display",annotationMode:r=xl.ENABLE,transform:a=null,background:l=null,optionalContentConfigPromise:c=null,annotationCanvasMap:f=null,pageColors:m=null,printAnnotationStorage:g=null,isEditing:b=!1,recordImages:v=!1,recordOperations:k=!1,operationsFilter:T=null}){this._stats?.time("Overall");let _=this._transport.getRenderingIntent(i,r,g,b),{renderingIntent:P,cacheKey:U}=_;this.#e=!1,c||=this._transport.getOptionalContentConfig(P);let z=this._intentStates.getOrInsertComputed(U,Gb);if(z.streamReaderCancelTimeout)clearTimeout(z.streamReaderCancelTimeout),z.streamReaderCancelTimeout=null;let V=!!(P&br.PRINT);if(!z.displayReadyCapability)z.displayReadyCapability=Promise.withResolvers(),z.operatorList={fnArray:[],argsArray:[],lastChunk:!1,separateAnnots:null},this._stats?.time("Page Request"),this._pumpOperatorList(_);let X=!!(this._pdfBug&&globalThis.StepperManager?.enabled),J=!!n&&!this.recordedBBoxes&&(k||X),ee=!!n&&!this.imageCoordinates&&v,te=(ye)=>{if(z.renderTasks.delete(se),J){let Se=se.gfx?.dependencyTracker.take();if(Se){if(se.stepper?.setOperatorBBoxes(Se,se.gfx.dependencyTracker.takeDebugMetadata()),k)this.recordedBBoxes=Se}}if(ee&&!ye)this.imageCoordinates=se.gfx?.imagesTracker.take();if(V)this.#e=!0;if(this.#n(),ye)se.capability.reject(ye),this._abortOperatorList({intentState:z,reason:ye instanceof Error?ye:Error(ye)});else se.capability.resolve();if(this._stats){if(this._stats.timeEnd("Rendering"),this._stats.timeEnd("Overall"),globalThis.Stats?.enabled)globalThis.Stats.add(this.pageNumber,this._stats)}},ne=null,ie=null;if(J||ee)ie=new E7(n,z.operatorList.length);if(J)ne=new C7(ie,X);let se=new vf({callback:te,params:{canvas:n,canvasContext:e,dependencyTracker:ne??ie,imagesTracker:ee?new hm(n):null,viewport:s,transform:a,background:l},objs:this.objs,commonObjs:this.commonObjs,annotationCanvasMap:f,operatorList:z.operatorList,pageIndex:this._pageIndex,canvasFactory:this._transport.canvasFactory,filterFactory:this._transport.filterFactory,useRequestAnimationFrame:!V,pdfBug:this._pdfBug,pageColors:m,enableHWA:this._transport.enableHWA,operationsFilter:T});(z.renderTasks||=new Set).add(se);let oe=se.task;return Promise.all([z.displayReadyCapability.promise,c]).then(([ye,Se])=>{if(this.destroyed){te();return}if(this._stats?.time("Rendering"),!(Se.renderingIntent&P))throw Error("Must use the same `intent`-argument when calling the `PDFPageProxy.render` and `PDFDocumentProxy.getOptionalContentConfig` methods.");se.initializeGraphics({transparency:ye,optionalContentConfig:Se}),se.operatorListChanged()}).catch(te),oe}getOperatorList({intent:e="display",annotationMode:n=xl.ENABLE,printAnnotationStorage:s=null,isEditing:i=!1}={}){function r(){if(l.operatorList.lastChunk)l.opListReadCapability.resolve(l.operatorList),l.renderTasks.delete(c)}let a=this._transport.getRenderingIntent(e,n,s,i,!0),l=this._intentStates.getOrInsertComputed(a.cacheKey,Gb),c;if(!l.opListReadCapability)c=Object.create(null),c.operatorListChanged=r,l.opListReadCapability=Promise.withResolvers(),(l.renderTasks||=new Set).add(c),l.operatorList={fnArray:[],argsArray:[],lastChunk:!1,separateAnnots:null},this._stats?.time("Page Request"),this._pumpOperatorList(a);return l.opListReadCapability.promise}streamTextContent({includeMarkedContent:e=!1,disableNormalization:n=!1}={}){return this._transport.messageHandler.sendWithStream("GetTextContent",{pageId:this.#t.getPageId(this._pageIndex+1)-1,pageIndex:this._pageIndex,includeMarkedContent:e===!0,disableNormalization:n===!0},{highWaterMark:100,size(i){return i.items.length}})}async getTextContent(e={}){if(this._transport._htmlForXfa)return this.getXfa().then((i)=>au.textContent(i));let n=this.streamTextContent(e),s={items:[],styles:Object.create(null),lang:null};for await(let i of n)s.lang??=i.lang,Object.assign(s.styles,i.styles),s.items.push(...i.items);return s}getStructTree(){return this._transport.getStructTree(this._pageIndex)}_destroy(){this.destroyed=!0;let e=[];for(let n of this._intentStates.values()){if(this._abortOperatorList({intentState:n,reason:Error("Page was destroyed."),force:!0}),n.opListReadCapability)continue;for(let s of n.renderTasks)e.push(s.completed),s.cancel()}return this.objs.clear(),this.#e=!1,Promise.all(e)}cleanup(e=!1){this.#e=!0;let n=this.#n();if(e&&n)this._stats&&=new Vb;return n}#n(){if(!this.#e||this.destroyed)return!1;for(let{renderTasks:e,operatorList:n}of this._intentStates.values())if(e.size>0||!n.lastChunk)return!1;return this._intentStates.clear(),this.objs.clear(),this.#e=!1,!0}_startRenderPage(e,n){let s=this._intentStates.get(n);if(!s)return;this._stats?.timeEnd("Page Request"),s.displayReadyCapability?.resolve(e)}_renderPageChunk(e,n){for(let s=0,i=e.length;s<i;s++)n.operatorList.fnArray.push(e.fnArray[s]),n.operatorList.argsArray.push(e.argsArray[s]);n.operatorList.lastChunk=e.lastChunk,n.operatorList.separateAnnots=e.separateAnnots;for(let s of n.renderTasks)s.operatorListChanged();if(e.lastChunk)this.#n()}_pumpOperatorList({renderingIntent:e,cacheKey:n,annotationStorageSerializable:s,modifiedIds:i}){let{map:r,transfer:a}=s,c=this._transport.messageHandler.sendWithStream("GetOperatorList",{pageId:this.#t.getPageId(this._pageIndex+1)-1,pageIndex:this._pageIndex,intent:e,cacheKey:n,annotationStorage:r,modifiedIds:i},void 0,a).getReader(),f=this._intentStates.get(n);f.streamReader=c;let m=()=>{c.read().then(({value:g,done:b})=>{if(b){f.streamReader=null;return}if(this._transport.destroyed)return;this._renderPageChunk(g,f),m()},(g)=>{if(f.streamReader=null,this._transport.destroyed)return;if(f.operatorList){f.operatorList.lastChunk=!0;for(let b of f.renderTasks)b.operatorListChanged();this.#n()}if(f.displayReadyCapability)f.displayReadyCapability.reject(g);else if(f.opListReadCapability)f.opListReadCapability.reject(g);else throw g})};m()}_abortOperatorList({intentState:e,reason:n,force:s=!1}){if(!e.streamReader)return;if(e.streamReaderCancelTimeout)clearTimeout(e.streamReaderCancelTimeout),e.streamReaderCancelTimeout=null;if(!s){if(e.renderTasks.size>0)return;if(n instanceof Sm){let i=wM;if(n.extraDelay>0&&n.extraDelay<1000)i+=n.extraDelay;e.streamReaderCancelTimeout=setTimeout(()=>{e.streamReaderCancelTimeout=null,this._abortOperatorList({intentState:e,reason:n,force:!0})},i);return}}if(e.streamReader.cancel(new jo(n.message)).catch(()=>{}),e.streamReader=null,this._transport.destroyed)return;for(let[i,r]of this._intentStates)if(r===e){this._intentStates.delete(i);break}this.cleanup()}get stats(){return this._stats}}class Si{#e=Promise.withResolvers();#t=null;#n=null;#s=null;static#i=0;static#a=!1;static#r=new WeakMap;static{if(wr)this.#a=!0,Co.workerSrc||="./pdf.worker.mjs";this._isSameOrigin=(e,n)=>{let s=URL.parse(e);if(!s?.origin||s.origin==="null")return!1;let i=new URL(n,s);return s.origin===i.origin},this._createCDNWrapper=(e)=>{let n=`await import("${e}");`;return URL.createObjectURL(new Blob([n],{type:"text/javascript"}))}}constructor({name:e=null,port:n=null,verbosity:s=Rq()}={}){if(this.name=e,this.destroyed=!1,this.verbosity=s,n){if(Si.#r.has(n))throw Error("Cannot use more than one PDFWorker per port.");Si.#r.set(n,this),this.#l(n)}else this.#c()}get promise(){return this.#e.promise}#o(){this.#e.resolve(),this.#t.send("configure",{verbosity:this.verbosity})}get port(){return this.#n}get messageHandler(){return this.#t}#l(e){this.#n=e,this.#t=new yf("main","worker",e),this.#t.on("ready",()=>{}),this.#o()}#c(){if(Si.#a||Si.#h){this.#u();return}let{workerSrc:e}=Si;try{if(!Si._isSameOrigin(window.location,e))e=Si._createCDNWrapper(new URL(e,window.location).href);let n=new Worker(e,{type:"module"}),s=new yf("main","worker",n),i=()=>{if(r.abort(),s.destroy(),n.terminate(),this.destroyed)this.#e.reject(Error("Worker was destroyed"));else this.#u()},r=new AbortController;n.addEventListener("error",()=>{if(!this.#s)i()},{signal:r.signal}),s.on("test",(l)=>{if(r.abort(),this.destroyed||!l){i();return}this.#t=s,this.#n=n,this.#s=n,this.#o()}),s.on("ready",(l)=>{if(r.abort(),this.destroyed){i();return}try{a()}catch{this.#u()}});let a=()=>{let l=new Uint8Array;s.send("test",l,[l.buffer])};a();return}catch{ym("The worker has been disabled.")}this.#u()}#u(){if(!Si.#a)Zt("Setting up fake worker."),Si.#a=!0;Si._setupFakeWorkerGlobal.then((e)=>{if(this.destroyed){this.#e.reject(Error("Worker was destroyed"));return}let n=new O7;this.#n=n;let s=`fake${Si.#i++}`,i=new yf(s+"_worker",s,n);e.setup(i,n),this.#t=new yf(s,s+"_worker",n),this.#o()}).catch((e)=>{this.#e.reject(Error(`Setting up fake worker failed: "${e.message}".`))})}destroy(){this.destroyed=!0,this.#s?.terminate(),this.#s=null,Si.#r.delete(this.#n),this.#n=null,this.#t?.destroy(),this.#t=null}static create(e){let n=this.#r.get(e?.port);if(n){if(n._pendingDestroy)throw Error("PDFWorker.create - the worker is being destroyed.\nPlease remember to await `PDFDocumentLoadingTask.destroy()`-calls.");return n}return new Si(e)}static get workerSrc(){if(Co.workerSrc)return Co.workerSrc;throw Error('No "GlobalWorkerOptions.workerSrc" specified.')}static get#h(){try{return globalThis.pdfjsWorker?.WorkerMessageHandler||null}catch{return null}}static get _setupFakeWorkerGlobal(){return Lt(this,"_setupFakeWorkerGlobal",(async()=>{if(this.#h)return this.#h;return(await import(this.workerSrc)).WorkerMessageHandler})())}}class bS{downloadInfoCapability=Promise.withResolvers();#e=null;#t=new Map;#n=null;#s=new Map;#i=new Map;#a=new Map;#r=null;constructor(e,n,s,i,r,a){this.messageHandler=e,this.loadingTask=n,this.#n=s,this.commonObjs=new u2,this.fontLoader=new j7({ownerDocument:i.ownerDocument,styleElement:i.styleElement}),this.enableHWA=i.enableHWA,this.loadingParams=i.loadingParams,this._params=i,this.canvasFactory=r.canvasFactory,this.filterFactory=r.filterFactory,this.binaryDataFactory=r.binaryDataFactory,this.pagesMapper=a,this.destroyed=!1,this.destroyCapability=null,this.setupMessageHandler()}updatePage(e){let{_pageIndex:n}=e;this.#s.set(n,e),this.#i.set(n,Promise.resolve(e))}#o(e,n=null){return this.#t.getOrInsertComputed(e,()=>this.messageHandler.sendWithPromise(e,n))}#l({loaded:e,total:n}){this.loadingTask.onProgress?.({loaded:e,total:n,percent:n?ps(Math.round(e/n*100),0,100):NaN})}get annotationStorage(){return Lt(this,"annotationStorage",new xm)}getRenderingIntent(e,n=xl.ENABLE,s=null,i=!1,r=!1){let a=br.DISPLAY,l=ou;switch(e){case"any":a=br.ANY;break;case"display":break;case"print":a=br.PRINT;break;default:Zt(`getRenderingIntent - invalid intent: ${e}`)}let c=a&br.PRINT&&s instanceof o2?s:this.annotationStorage;switch(n){case xl.DISABLE:a+=br.ANNOTATIONS_DISABLE;break;case xl.ENABLE:break;case xl.ENABLE_FORMS:a+=br.ANNOTATIONS_FORMS;break;case xl.ENABLE_STORAGE:a+=br.ANNOTATIONS_STORAGE,l=c.serializable;break;default:Zt(`getRenderingIntent - invalid annotationMode: ${n}`)}if(i)a+=br.IS_EDITING;if(r)a+=br.OPLIST;let{ids:f,hash:m}=c.modifiedIds,g=[a,l.hash,m];return{renderingIntent:a,cacheKey:g.join("_"),annotationStorageSerializable:l,modifiedIds:f}}destroy(){if(this.destroyCapability)return this.destroyCapability.promise;this.destroyed=!0,this.destroyCapability=Promise.withResolvers(),this.#r?.reject(Error("Worker was destroyed during onPassword callback"));let e=[];for(let s of this.#s.values())e.push(s._destroy());if(this.#s.clear(),this.#i.clear(),this.#a.clear(),Object.hasOwn(this,"annotationStorage"))this.annotationStorage.resetModified();let n=this.messageHandler.sendWithPromise("Terminate",null);return e.push(n),Promise.all(e).then(()=>{this.commonObjs.clear(),this.fontLoader.clear(),this.#t.clear(),this.filterFactory.destroy(),Oi.cleanup(),this.#n?.cancelAllRequests(new jo("Worker was terminated.")),this.messageHandler?.destroy(),this.messageHandler=null,this.destroyCapability.resolve()},this.destroyCapability.reject),this.destroyCapability.promise}setupMessageHandler(){let{messageHandler:e,loadingTask:n}=this;e.on("GetReader",(s,i)=>{Rs(this.#n,"GetReader - no `BasePDFStream` instance available."),this.#e=this.#n.getFullReader(),this.#e.onProgress=(r)=>this.#l(r),i.onPull=()=>{this.#e.read().then(function({value:r,done:a}){if(a){i.close();return}Rs(r instanceof ArrayBuffer,"GetReader - expected an ArrayBuffer."),i.enqueue(new Uint8Array(r),1,[r])}).catch((r)=>{i.error(r)})},i.onCancel=(r)=>{this.#e.cancel(r),i.ready.catch((a)=>{if(this.destroyed)return;throw a})}}),e.on("ReaderHeadersReady",async(s)=>{await this.#e.headersReady;let{isStreamingSupported:i,isRangeSupported:r,contentLength:a}=this.#e;if(i&&r)this.#e.onProgress=null;return{isStreamingSupported:i,isRangeSupported:r,contentLength:a}}),e.on("GetRangeReader",(s,i)=>{Rs(this.#n,"GetRangeReader - no `BasePDFStream` instance available.");let r=this.#n.getRangeReader(s.begin,s.end);if(!r){i.close();return}i.onPull=()=>{r.read().then(function({value:a,done:l}){if(l){i.close();return}Rs(a instanceof ArrayBuffer,"GetRangeReader - expected an ArrayBuffer."),i.enqueue(new Uint8Array(a),1,[a])}).catch((a)=>{i.error(a)})},i.onCancel=(a)=>{r.cancel(a),i.ready.catch((l)=>{if(this.destroyed)return;throw l})}}),e.on("GetDoc",({pdfInfo:s})=>{this.pagesMapper.pagesNumber=s.numPages,this._numPages=s.numPages,this._htmlForXfa=s.htmlForXfa,delete s.htmlForXfa,n._capability.resolve(new gS(s,this))}),e.on("DocException",(s)=>{n._capability.reject(Yi(s))}),e.on("PasswordRequest",(s)=>{this.#r=Promise.withResolvers();try{if(!n.onPassword)throw Yi(s);let i=(r)=>{if(r instanceof Error)this.#r.reject(r);else this.#r.resolve({password:r})};n.onPassword(i,s.code)}catch(i){this.#r.reject(i)}return this.#r.promise}),e.on("DataLoaded",(s)=>{this.#l({loaded:s.length,total:s.length}),this.downloadInfoCapability.resolve(s)}),e.on("StartRenderPage",(s)=>{if(this.destroyed)return;this.#s.get(s.pageIndex)._startRenderPage(s.transparency,s.cacheKey)}),e.on("commonobj",([s,i,r])=>{if(this.destroyed)return null;if(this.commonObjs.has(s))return null;switch(i){case"Font":if("error"in r){let g=r.error;Zt(`Error during font loading: ${g}`),this.commonObjs.resolve(s,g);break}let a=new M7(r),l=this._params.pdfBug&&globalThis.FontInspector?.enabled?(g,b)=>globalThis.FontInspector.fontAdded(g,b):null,c=new _7(a,l,r.charProcOperatorList,r.extra);this.fontLoader.bind(c).catch(()=>e.sendWithPromise("FontFallback",{id:s})).finally(()=>{if(!c.fontExtraProperties)c.clearData();this.commonObjs.resolve(s,c)});break;case"CopyLocalImage":let{imageRef:f}=r;Rs(f,"The imageRef must be defined.");for(let g of this.#s.values())for(let[,b]of g.objs){if(b?.ref!==f)continue;if(!b.dataLen)return null;let v=structuredClone(b);return this.commonObjs.resolve(s,v),b.dataLen}break;case"FontPath":this.commonObjs.resolve(s,new L7(r));break;case"Image":this.commonObjs.resolve(s,r);break;case"Pattern":let m=new F7(r);this.commonObjs.resolve(s,m.getIR());break;default:throw Error(`Got unknown common object type ${i}`)}return null}),e.on("obj",([s,i,r,a])=>{if(this.destroyed)return;let l=this.#s.get(i);if(l.objs.has(s))return;if(l._intentStates.size===0){a?.bitmap?.close();return}switch(r){case"Image":case"Pattern":l.objs.resolve(s,a);break;default:throw Error(`Got unknown object type ${r}`)}}),e.on("DocProgress",(s)=>{if(this.destroyed)return;this.#l(s)}),e.on("FetchBinaryData",async(s)=>{if(this.destroyed)throw Error("Worker was destroyed.");if(!this.binaryDataFactory)throw Error("`BinaryDataFactory` not initialized, see the `useWorkerFetch` parameter.");return this.binaryDataFactory.fetch(s)})}getData(){return this.messageHandler.sendWithPromise("GetData",null)}saveDocument(){if(this.annotationStorage.size<=0)Zt("saveDocument called while `annotationStorage` is empty, please use the getData-method instead.");let{map:e,transfer:n}=this.annotationStorage.serializable;return this.messageHandler.sendWithPromise("SaveDocument",{isPureXfa:!!this._htmlForXfa,numPages:this._numPages,annotationStorage:e,filename:this.#e?.filename??null},n).finally(()=>{this.annotationStorage.resetModified()})}extractPages(e,n=null){let s={pageInfos:e},i,r=globalThis.ImageBitmap;if(typeof r==="function"){let a=Array.isArray(e)?e:[e];for(let l of a)if(l?.image instanceof r)(i||=[]).push(l.image)}if(this.annotationStorage.size>0){let a=this.annotationStorage.serializable,{map:l}=a;if(a.transfer?.length)if(i)i.push(...a.transfer);else i=a.transfer;let c=this.pagesMapper.getMapping();if(c){let f=new Map;for(let[m,g]of l){if(g?.pageIndex!==void 0&&g.pageIndex>=0&&g.pageIndex<c.length){let b=n?.[g.pageIndex]??0,v=c[g.pageIndex]-1;if(v!==g.pageIndex||b!==0){f.set(m,{...g,pageIndex:v,copyLevel:b});continue}}f.set(m,g)}l=f}s.annotationStorage=l}return this.messageHandler.sendWithPromise("ExtractPages",s,i).finally(()=>{this.annotationStorage.resetModified()})}getPage(e){if(!Number.isInteger(e)||e<=0||e>this.pagesMapper.pagesNumber)return Promise.reject(Error("Invalid page request."));let n=e-1,s=this.pagesMapper.getPageId(e)-1,i=this.#i.get(n);if(i)return i;let r=this.messageHandler.sendWithPromise("GetPage",{pageIndex:s}).then((a)=>{if(this.destroyed)throw Error("Transport destroyed");if(a.refStr)this.#a.set(a.refStr,s);let l=new g2(n,a,this,this.pagesMapper,this._params.pdfBug);return this.#s.set(n,l),l});return this.#i.set(n,r),r}async getPageIndex(e){if(!Yb(e))throw Error("Invalid pageIndex request.");let n=await this.messageHandler.sendWithPromise("GetPageIndex",{num:e.num,gen:e.gen}),s=this.pagesMapper.getPageNumber(n+1);if(s===0)throw Error("GetPageIndex: page has been removed.");return s-1}getAnnotations(e,n){return this.messageHandler.sendWithPromise("GetAnnotations",{pageIndex:this.pagesMapper.getPageId(e+1)-1,intent:n})}getFieldObjects(){return this.#o("GetFieldObjects")}getSignatures(){return this.#o("GetSignatures")}getSignatureData(e){return this.messageHandler.sendWithPromise("GetSignatureData",e)}hasJSActions(){return this.#o("HasJSActions")}getCalculationOrderIds(){return this.messageHandler.sendWithPromise("GetCalculationOrderIds",null)}getDestinations(){return this.messageHandler.sendWithPromise("GetDestinations",null)}getDestination(e){if(typeof e!=="string")return Promise.reject(Error("Invalid destination request."));return this.messageHandler.sendWithPromise("GetDestination",{id:e})}getPageLabels(){return this.messageHandler.sendWithPromise("GetPageLabels",null)}getPageLayout(){return this.messageHandler.sendWithPromise("GetPageLayout",null)}getPageMode(){return this.messageHandler.sendWithPromise("GetPageMode",null)}getViewerPreferences(){return this.messageHandler.sendWithPromise("GetViewerPreferences",null)}getOpenAction(){return this.messageHandler.sendWithPromise("GetOpenAction",null)}getAttachments(){return this.messageHandler.sendWithPromise("GetAttachments",null)}getAttachmentContent(e){return this.messageHandler.sendWithPromise("GetAttachmentContent",e)}getAnnotationsByType(e,n){return this.messageHandler.sendWithPromise("GetAnnotationsByType",{types:e,pageIndexesToSkip:n})}getDocJSActions(){return this.#o("GetDocJSActions")}getPageJSActions(e){return this.messageHandler.sendWithPromise("GetPageJSActions",{pageIndex:this.pagesMapper.getPageId(e+1)-1})}getStructTree(e){return this.messageHandler.sendWithPromise("GetStructTree",{pageIndex:this.pagesMapper.getPageId(e+1)-1})}getOutline(){return this.messageHandler.sendWithPromise("GetOutline",null)}getOptionalContentConfig(e){return this.#o("GetOptionalContentConfig").then((n)=>new h2(n,e))}getPermissions(){return this.messageHandler.sendWithPromise("GetPermissions",null)}getMetadata(){return this.#t.getOrInsertComputed("GetMetadata",()=>this.messageHandler.sendWithPromise("GetMetadata",null).then((n)=>({info:n[0],metadata:n[1]?new dS(n[1]):null,contentDispositionFilename:this.#e?.filename??null,contentLength:this.#e?.contentLength??null,hasStructTree:n[2]})))}getMarkInfo(){return this.messageHandler.sendWithPromise("GetMarkInfo",null)}async startCleanup(e=!1){if(this.destroyed)return;await this.messageHandler.sendWithPromise("Cleanup",null);for(let n of this.#s.values())if(!n.cleanup())throw Error(`startCleanup: Page ${n.pageNumber} is currently rendering.`);if(this.commonObjs.clear(),!e)this.fontLoader.clear();this.#t.clear(),this.filterFactory.destroy(!0),Oi.cleanup()}cachedPageNumber(e){if(!Yb(e))return null;let n=e.gen===0?`${e.num}R`:`${e.num}R${e.gen}`,s=this.#a.get(n);if(s>=0){let i=this.pagesMapper.getPageNumber(s+1);if(i!==0)return i}return null}}class wS{_internalRenderTask=null;onContinue=null;onError=null;constructor(e){this._internalRenderTask=e}get promise(){return this._internalRenderTask.capability.promise}cancel(e=0){this._internalRenderTask.cancel(null,e)}get separateAnnots(){let{separateAnnots:e}=this._internalRenderTask.operatorList;if(!e)return!1;let{annotationCanvasMap:n}=this._internalRenderTask;return e.form||e.canvas&&n?.size>0}get imageCoordinates(){return this._internalRenderTask.imageCoordinates||null}}class vf{#e=null;static#t=new WeakSet;constructor({callback:e,params:n,objs:s,commonObjs:i,annotationCanvasMap:r,operatorList:a,pageIndex:l,canvasFactory:c,filterFactory:f,useRequestAnimationFrame:m=!1,pdfBug:g=!1,pageColors:b=null,enableHWA:v=!1,operationsFilter:k=null}){this.callback=e,this.params=n,this.objs=s,this.commonObjs=i,this.annotationCanvasMap=r,this.operatorListIdx=null,this.operatorList=a,this._pageIndex=l,this.canvasFactory=c,this.filterFactory=f,this._pdfBug=g,this.pageColors=b,this.running=!1,this.graphicsReadyCallback=null,this.graphicsReady=!1,this._useRequestAnimationFrame=m===!0&&typeof window<"u",this.cancelled=!1,this.capability=Promise.withResolvers(),this.task=new wS(this),this._cancelBound=this.cancel.bind(this),this._continueBound=this._continue.bind(this),this._scheduleNextBound=this._scheduleNext.bind(this),this._nextBound=this._next.bind(this),this._canvas=n.canvas,this._canvasContext=n.canvas?null:n.canvasContext,this._enableHWA=v,this._dependencyTracker=n.dependencyTracker,this._imagesTracker=n.imagesTracker,this._operationsFilter=k}get completed(){return this.capability.promise.catch(function(){})}initializeGraphics({transparency:e=!1,optionalContentConfig:n}){if(this.cancelled)return;if(this._canvas){if(vf.#t.has(this._canvas))throw Error("Cannot use the same canvas during multiple render() operations. Use different canvas or ensure previous operations were cancelled or completed.");vf.#t.add(this._canvas)}if(this._pdfBug&&globalThis.StepperManager?.enabled)this.stepper=globalThis.StepperManager.create(this._pageIndex),this.stepper.init(this.operatorList),this.stepper.nextBreakPoint=this.stepper.getNextBreakPoint();let{viewport:s,transform:i,background:r,dependencyTracker:a,imagesTracker:l}=this.params,c=this._canvasContext||this._canvas.getContext("2d",{alpha:!1,willReadFrequently:!this._enableHWA});this.gfx=new lc(c,this.commonObjs,this.objs,this.canvasFactory,this.filterFactory,{optionalContentConfig:n},this.annotationCanvasMap,this.pageColors,a,l),this.gfx.beginDrawing({transform:i,viewport:s,transparency:e,background:r}),this.operatorListIdx=0,this.graphicsReady=!0,this.graphicsReadyCallback?.()}cancel(e=null,n=0){if(this.running=!1,this.cancelled=!0,this.gfx?.endDrawing(),this.#e)window.cancelAnimationFrame(this.#e),this.#e=null;vf.#t.delete(this._canvas),e||=new Sm(`Rendering cancelled, page ${this._pageIndex+1}`,n),this.callback(e),this.task.onError?.(e)}operatorListChanged(){if(!this.graphicsReady){this.graphicsReadyCallback||=this._continueBound;return}if(this.gfx.dependencyTracker?.growOperationsCount(this.operatorList.fnArray.length),this.stepper?.updateOperatorList(this.operatorList),this.running)return;this._continue()}_continue(){if(this.running=!0,this.cancelled)return;if(this.task.onContinue)this.task.onContinue(this._scheduleNextBound);else this._scheduleNext()}_scheduleNext(){if(this._useRequestAnimationFrame)this.#e=window.requestAnimationFrame(()=>{this.#e=null,this._nextBound().catch(this._cancelBound)});else Promise.resolve().then(this._nextBound).catch(this._cancelBound)}async _next(){if(this.cancelled)return;if(this.operatorListIdx=this.gfx.executeOperatorList(this.operatorList,this.operatorListIdx,this._continueBound,this.stepper,this._operationsFilter),this.operatorListIdx===this.operatorList.argsArray.length){if(this.running=!1,this.operatorList.lastChunk)this.gfx.endDrawing(),vf.#t.delete(this._canvas),this.callback()}}}var yM="6.3.289",vM="1c8020a7d";class Ur{#e=null;#t=null;#n;#s=null;#i=!1;#a=!1;#r=null;#o;#l=null;#c=null;static#u=null;static get _keyboardManager(){return Lt(this,"_keyboardManager",new yr([[["Escape"],Ur.prototype._hideDropdownFromKeyboard],[["Space"],Ur.prototype._colorSelectFromKeyboard],[["ArrowDown","ArrowRight"],Ur.prototype._moveToNext],[["ArrowUp","ArrowLeft"],Ur.prototype._moveToPrevious],[["Home"],Ur.prototype._moveToBeginning],[["End"],Ur.prototype._moveToEnd]]))}constructor({editor:e=null,uiManager:n=null}){if(e)this.#a=!1,this.#r=e;else this.#a=!0;this.#c=e?._uiManager||n,this.#o=this.#c._eventBus,this.#n=e?.color?.toUpperCase()||this.#c?.highlightColors.values().next().value||"#FFFF98",Ur.#u||=Object.freeze({blue:"pdfjs-editor-colorpicker-blue",green:"pdfjs-editor-colorpicker-green",pink:"pdfjs-editor-colorpicker-pink",red:"pdfjs-editor-colorpicker-red",yellow:"pdfjs-editor-colorpicker-yellow"})}renderButton(){let e=this.#e=document.createElement("button");if(e.className="colorPicker",e.tabIndex="0",e.setAttribute("data-l10n-id","pdfjs-editor-colorpicker-button"),e.ariaHasPopup="true",this.#r)e.ariaControls=`${this.#r.id}_colorpicker_dropdown`;let n=this.#c._signal;e.addEventListener("click",this.#g.bind(this),{signal:n}),e.addEventListener("keydown",this.#p.bind(this),{signal:n});let s=this.#t=document.createElement("span");return s.className="swatch",s.ariaHidden="true",s.style.backgroundColor=this.#n,e.append(s),e}renderMainDropdown(){let e=this.#s=this.#h();return e.ariaOrientation="horizontal",e.ariaLabelledBy="highlightColorPickerLabel",e}#h(){let e=document.createElement("div"),n=this.#c._signal;if(e.addEventListener("contextmenu",ca,{signal:n}),e.className="dropdown",e.role="listbox",e.ariaMultiSelectable="false",e.ariaOrientation="vertical",e.setAttribute("data-l10n-id","pdfjs-editor-colorpicker-dropdown"),this.#r)e.id=`${this.#r.id}_colorpicker_dropdown`;for(let[s,i]of this.#c.highlightColors){let r=document.createElement("button");r.tabIndex="0",r.role="option",r.setAttribute("data-color",i),r.title=s,r.setAttribute("data-l10n-id",Ur.#u[s]);let a=document.createElement("span");r.append(a),a.className="swatch",a.style.backgroundColor=i,r.ariaSelected=i===this.#n,r.addEventListener("click",this.#d.bind(this,i),{signal:n}),e.append(r)}return e.addEventListener("keydown",this.#p.bind(this),{signal:n}),e}#d(e,n){n.stopPropagation(),this.#o.dispatch("switchannotationeditorparams",{source:this,type:Sn.HIGHLIGHT_COLOR,value:e}),this.update(e)}_colorSelectFromKeyboard(e){if(e.target===this.#e){this.#g(e);return}let n=e.target.getAttribute("data-color");if(!n)return;this.#d(n,e)}_moveToNext(e){if(!this.#m){this.#g(e);return}if(e.target===this.#e){this.#s.firstElementChild?.focus();return}e.target.nextSibling?.focus()}_moveToPrevious(e){if(e.target===this.#s?.firstElementChild||e.target===this.#e){if(this.#m)this._hideDropdownFromKeyboard();return}if(!this.#m)this.#g(e);e.target.previousSibling?.focus()}_moveToBeginning(e){if(!this.#m){this.#g(e);return}this.#s.firstElementChild?.focus()}_moveToEnd(e){if(!this.#m){this.#g(e);return}this.#s.lastElementChild?.focus()}#p(e){Ur._keyboardManager.exec(this,e)}#g(e){if(this.#m){this.hideDropdown();return}if(this.#i=e.detail===0,!this.#l)this.#l=new AbortController,window.addEventListener("pointerdown",this.#f.bind(this),{signal:this.#c.combinedSignal(this.#l)});if(this.#e.ariaExpanded="true",this.#s){this.#s.classList.remove("hidden");return}let n=this.#s=this.#h();this.#e.append(n)}#f(e){if(this.#s?.contains(e.target))return;this.hideDropdown()}hideDropdown(){this.#s?.classList.add("hidden"),this.#e.ariaExpanded="false",this.#l?.abort(),this.#l=null}get#m(){return this.#s&&!this.#s.classList.contains("hidden")}_hideDropdownFromKeyboard(){if(this.#a)return;if(!this.#m){this.#r?.unselect();return}this.hideDropdown(),this.#e.focus({preventScroll:!0,focusVisible:this.#i})}update(e){if(this.#t)this.#t.style.backgroundColor=e;if(!this.#s)return;let n=this.#c.highlightColors.values();for(let s of this.#s.children)s.ariaSelected=n.next().value===e.toUpperCase()}destroy(){this.#e?.remove(),this.#e=null,this.#t=null,this.#s?.remove(),this.#s=null}}class fu{#e=null;#t=!1;#n=null;#s=null;static#i=null;constructor(e){this.#n=e,this.#s=e._uiManager,fu.#i||=Object.freeze({freetext:"pdfjs-editor-color-picker-free-text-input",ink:"pdfjs-editor-color-picker-ink-input"})}renderButton(){if(this.#e)return this.#e;let{editorType:e,colorType:n,colorAndOpacityType:s,opacityType:i,color:r,opacity:a}=this.#n,l=this.#t=zn.isAlphaColorInputSupported&&i!==void 0,c=this.#e=document.createElement("input");if(c.type="color",l){c.setAttribute("alpha","");let f=ut.hexNums[Math.round((a??1)*255)];c.value=(r||"#000000")+f}else c.value=r||"#000000";return c.className="basicColorPicker",c.tabIndex=0,c.setAttribute("data-l10n-id",fu.#i[e]),c.addEventListener("input",()=>{if(l){let f=bu(c.value);if(!f)return;let[m,g,b,v]=f,k=ut.makeHexColor(m,g,b);if(s!==void 0)this.#s.updateParams(s,{color:k,opacity:v});else this.#s.updateParams(n,k),this.#s.updateParams(i,v)}else this.#s.updateParams(n,c.value)},{signal:this.#s._signal}),c}update(e){if(!this.#e)return;if(this.#t){let n=ut.hexNums[Math.round(this.#n.opacity*255)];this.#e.value=e+n}else this.#e.value=e}updateOpacity(e){if(!this.#e||!this.#t)return;let n=ut.hexNums[Math.round(e*255)];this.#e.value=this.#n.color+n}destroy(){this.#e?.remove(),this.#e=null}hideDropdown(){}}function f7(e){return Math.floor(ps(e,0,1)*255).toString(16).padStart(2,"0")}function Yh(e){return ps(e,0,1)*255}class Zb{static CMYK_G([e,n,s,i]){return["G",1-Math.min(1,0.3*e+0.59*s+0.11*n+i)]}static G_CMYK([e]){return["CMYK",0,0,0,1-e]}static G_RGB([e]){return["RGB",e,e,e]}static G_rgb([e]){return e=Yh(e),[e,e,e]}static G_HTML([e]){let n=f7(e);return`#${n}${n}${n}`}static RGB_G([e,n,s]){return["G",0.3*e+0.59*n+0.11*s]}static RGB_rgb(e){return e.map(Yh)}static RGB_HTML(e){return`#${e.map(f7).join("")}`}static T_HTML(){return"#00000000"}static T_rgb(){return[null]}static CMYK_RGB([e,n,s,i]){return["RGB",1-Math.min(1,e+i),1-Math.min(1,s+i),1-Math.min(1,n+i)]}static CMYK_rgb([e,n,s,i]){return[Yh(1-Math.min(1,e+i)),Yh(1-Math.min(1,s+i)),Yh(1-Math.min(1,n+i))]}static CMYK_HTML(e){let n=this.CMYK_RGB(e).slice(1);return this.RGB_HTML(n)}static RGB_CMYK([e,n,s]){let i=1-e,r=1-n,a=1-s,l=Math.min(i,r,a);return["CMYK",i,r,a,l]}}class yS{create(e,n,s=!1){if(e<=0||n<=0)throw Error("Invalid SVG dimensions");let i=this._createSVG("svg:svg");if(i.setAttribute("version","1.1"),!s)i.setAttribute("width",`${e}px`),i.setAttribute("height",`${n}px`);return i.setAttribute("preserveAspectRatio","none"),i.setAttribute("viewBox",`0 0 ${e} ${n}`),i}createElement(e){if(typeof e!=="string")throw Error("Invalid SVG element type");return this._createSVG(e)}_createSVG(e){In("Abstract method `_createSVG` called.")}}class uu extends yS{_createSVG(e){return document.createElementNS("http://www.w3.org/2000/svg",e)}}var SM=9,hc=new WeakSet,kM=new Date().getTimezoneOffset()*60*1000;class rm{static create(e){switch(e.data.annotationType){case Is.LINK:return new Rm(e);case Is.TEXT:return new SS(e);case Is.WIDGET:switch(e.data.fieldType){case"Tx":return new kS(e);case"Btn":if(e.data.radioButton)return new TS(e);else if(e.data.checkBox)return new AS(e);return new ES(e);case"Ch":return new CS(e);case"Sig":return new xS(e)}return new Tl(e);case Is.POPUP:return new um(e);case Is.FREETEXT:return new b2(e);case Is.LINE:return new _S(e);case Is.SQUARE:return new IS(e);case Is.CIRCLE:return new RS(e);case Is.POLYLINE:return new w2(e);case Is.CARET:return new qS(e);case Is.INK:return new Dm(e);case Is.POLYGON:return new DS(e);case Is.HIGHLIGHT:return new y2(e);case Is.UNDERLINE:return new MS(e);case Is.SQUIGGLY:return new FS(e);case Is.STRIKEOUT:return new LS(e);case Is.STAMP:return new v2(e);case Is.FILEATTACHMENT:return new OS(e);case Is.RICHMEDIA:case Is.SCREEN:case Is.SOUND:return new S2(e);default:return new Ts(e)}}}class Ts{#e=null;#t=!1;#n=null;constructor(e,{isRenderable:n=!1,ignoreBorder:s=!1,createQuadrilaterals:i=!1}={}){if(this.isRenderable=n,this.data=e.data,this.layer=e.layer,this.linkService=e.linkService,this.downloadManager=e.downloadManager,this.imageResourcesPath=e.imageResourcesPath,this.renderForms=e.renderForms,this.svgFactory=e.svgFactory,this.annotationStorage=e.annotationStorage,this.enableComment=e.enableComment,this.enableScripting=e.enableScripting,this.hasJSActions=e.hasJSActions,this._fieldObjects=e.fieldObjects,this.parent=e.parent,this.hasOwnCommentButton=!1,n)this.contentElement=this.container=this._createContainer(s);if(i)this._createQuadrilaterals()}static _hasPopupData({contentsObj:e,richText:n}){return!!(e?.str||n?.str)}get _isEditable(){return this.data.isEditable}get hasPopupData(){return Ts._hasPopupData(this.data)||this.enableComment&&!!this.commentText}get commentData(){let{data:e}=this,n=this.annotationStorage?.getEditor(e.id);if(n)return n.getData();return e}get hasCommentButton(){return this.enableComment&&this.hasPopupElement}get commentButtonPosition(){let e=this.annotationStorage?.getEditor(this.data.id);if(e)return e.commentButtonPositionInPage;let{quadPoints:n,inkLists:s,rect:i}=this.data,r=-1/0,a=-1/0;if(n?.length>=8){for(let l=0;l<n.length;l+=8)if(n[l+1]>a)a=n[l+1],r=n[l+2];else if(n[l+1]===a)r=Math.max(r,n[l+2]);return[r,a]}if(s?.length>=1){for(let l of s)for(let c=0,f=l.length;c<f;c+=2)if(l[c+1]>a)a=l[c+1],r=l[c];else if(l[c+1]===a)r=Math.max(r,l[c]);if(r!==1/0)return[r,a]}if(i)return[i[2],i[3]];return null}_normalizePoint(e){let{page:{view:n},viewport:{rawDims:{pageWidth:s,pageHeight:i,pageX:r,pageY:a}}}=this.parent;return e[1]=n[3]-e[1]+n[1],e[0]=100*(e[0]-r)/s,e[1]=100*(e[1]-a)/i,e}get commentText(){let{data:e}=this;return this.annotationStorage.getRawValue(`pdfjs_internal_editor_${e.id}`)?.popup?.contents||e.contentsObj?.str||""}set commentText(e){let{data:n}=this,s={deleted:!e,contents:e||""};if(!this.annotationStorage.updateEditor(n.id,{popup:s}))this.annotationStorage.setValue(`pdfjs_internal_editor_${n.id}`,{id:n.id,annotationType:n.annotationType,page:this.parent.page,popup:s,popupRef:n.popupRef,modificationDate:new Date});if(!e)this.removePopup()}removePopup(){(this.#n?.popup||this.popup)?.remove(),this.#n=this.popup=null}updateEdited(e){if(!this.container)return;if(e.rect)this.#e||={rect:this.data.rect.slice(0)};let{rect:n,popup:s}=e;if(n)this.#s(n);let i=this.#n?.popup||this.popup;if(!i&&s?.text)this._createPopup(s),i=this.#n.popup;if(!i)return;if(i.updateEdited(e),s?.deleted)i.remove(),this.#n=null,this.popup=null}resetEdited(){if(!this.#e)return;this.#s(this.#e.rect),this.#n?.popup.resetEdited(),this.#e=null}#s(e){let{container:{style:n},data:{rect:s,rotation:i},parent:{viewport:{rawDims:{pageWidth:r,pageHeight:a,pageX:l,pageY:c}}}}=this;if(s?.splice(0,4,...e),n.left=`${100*(e[0]-l)/r}%`,n.top=`${100*(a-e[3]+c)/a}%`,i===0)n.width=`${100*(e[2]-e[0])/r}%`,n.height=`${100*(e[3]-e[1])/a}%`;else this.setRotation(i)}_createContainer(e){let{data:n,parent:{page:s,viewport:i}}=this,r=document.createElement("section");if(r.setAttribute("data-annotation-id",n.id),!(this instanceof Tl)&&!(this instanceof Rm)&&!(this instanceof S2))r.tabIndex=0;let{style:a}=r;if(a.zIndex=this.parent.zIndex,this.parent.zIndex+=2,n.alternativeText)r.title=n.alternativeText;if(n.noRotate)r.classList.add("norotate");if(!n.rect||this instanceof um){let{rotation:T}=n;if(!n.hasOwnCanvas&&T!==0)this.setRotation(T,r);return r}let{width:l,height:c}=this;if(!e&&n.borderStyle.width>0){a.borderWidth=`${n.borderStyle.width}px`;let T=n.borderStyle.horizontalCornerRadius,_=n.borderStyle.verticalCornerRadius;if(T>0||_>0){let U=`calc(${T}px * var(--total-scale-factor)) / calc(${_}px * var(--total-scale-factor))`;a.borderRadius=U}switch(n.borderStyle.style){case bf.SOLID:a.borderStyle="solid";break;case bf.DASHED:a.borderStyle="dashed";break;case bf.BEVELED:Zt("Unimplemented border style: beveled");break;case bf.INSET:Zt("Unimplemented border style: inset");break;case bf.UNDERLINE:a.borderBottomStyle="solid";break;default:break}let P=n.borderColor||null;if(P)this.#t=!0,a.borderColor=ut.makeHexColor(...P);else a.borderWidth=0}let f=ut.normalizeRect([n.rect[0],s.view[3]-n.rect[1]+s.view[1],n.rect[2],s.view[3]-n.rect[3]+s.view[1]]),{pageWidth:m,pageHeight:g,pageX:b,pageY:v}=i.rawDims;a.left=`${100*(f[0]-b)/m}%`,a.top=`${100*(f[1]-v)/g}%`;let{rotation:k}=n;if(n.hasOwnCanvas||k===0)a.width=`${100*l/m}%`,a.height=`${100*c/g}%`;else this.setRotation(k,r);return r}setRotation(e,n=this.container){if(!this.data.rect)return;let{pageWidth:s,pageHeight:i}=this.parent.viewport.rawDims,{width:r,height:a}=this;if(e%180!==0)[r,a]=[a,r];n.style.width=`${100*r/s}%`,n.style.height=`${100*a/i}%`,n.setAttribute("data-main-rotation",(360-e)%360)}get _commonActions(){let e=(n,s,i)=>{let r=i.detail[n],a=r[0],l=r.slice(1);i.target.style[s]=Zb[`${a}_HTML`](l),this.annotationStorage.setValue(this.data.id,{[s]:Zb[`${a}_rgb`](l)})};return Lt(this,"_commonActions",{display:(n)=>{let{display:s}=n.detail,i=s%2===1;this.container.style.visibility=i?"hidden":"visible",this.annotationStorage.setValue(this.data.id,{noView:i,noPrint:s===1||s===2})},print:(n)=>{this.annotationStorage.setValue(this.data.id,{noPrint:!n.detail.print})},hidden:(n)=>{let{hidden:s}=n.detail;this.container.style.visibility=s?"hidden":"visible",this.annotationStorage.setValue(this.data.id,{noPrint:s,noView:s})},focus:(n)=>{setTimeout(()=>n.target.focus({preventScroll:!1}),0)},userName:(n)=>{n.target.title=n.detail.userName},readonly:(n)=>{n.target.disabled=n.detail.readonly},required:(n)=>{this._setRequired(n.target,n.detail.required)},bgColor:(n)=>{e("bgColor","backgroundColor",n)},fillColor:(n)=>{e("fillColor","backgroundColor",n)},fgColor:(n)=>{e("fgColor","color",n)},textColor:(n)=>{e("textColor","color",n)},borderColor:(n)=>{e("borderColor","borderColor",n)},strokeColor:(n)=>{e("strokeColor","borderColor",n)},rotation:(n)=>{let s=n.detail.rotation;this.setRotation(s),this.annotationStorage.setValue(this.data.id,{rotation:s})}})}_dispatchEventFromSandbox(e,n){let s=this._commonActions;for(let i of Object.keys(n.detail))(e[i]||s[i])?.(n)}_setDefaultPropertiesFromJS(e){if(!this.enableScripting)return;let n=this.annotationStorage.getRawValue(this.data.id);if(!n)return;let s=this._commonActions;for(let[i,r]of Object.entries(n)){let a=s[i];if(a){let l={detail:{[i]:r},target:e};a(l),delete n[i]}}}_createQuadrilaterals(){if(!this.container)return;let{quadPoints:e}=this.data;if(!e)return;let[n,s,i,r]=this.data.rect.map(Math.fround);if(e.length===8){let[T,_,P,U]=e.subarray(2,6);if(i===T&&r===_&&n===P&&s===U)return}let{style:a}=this.container,l;if(this.#t){let{borderColor:T,borderWidth:_}=a;a.borderWidth=0,l=["url('data:image/svg+xml;utf8,",'<svg xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="none" viewBox="0 0 1 1">',`<g fill="transparent" stroke="${T}" stroke-width="${_}">`],this.container.classList.add("hasBorder")}let c=i-n,f=r-s,{svgFactory:m}=this,g=m.createElement("svg");g.classList.add("quadrilateralsContainer"),g.setAttribute("width",0),g.setAttribute("height",0),g.role="none";let b=m.createElement("defs");g.append(b);let v=m.createElement("clipPath"),k=`clippath_${this.data.id}`;v.setAttribute("id",k),v.setAttribute("clipPathUnits","objectBoundingBox"),b.append(v);for(let T=2,_=e.length;T<_;T+=8){let P=e[T],U=e[T+1],z=e[T+2],V=e[T+3],X=m.createElement("rect"),J=(z-n)/c,ee=(r-U)/f,te=(P-z)/c,ne=(U-V)/f;X.setAttribute("x",J),X.setAttribute("y",ee),X.setAttribute("width",te),X.setAttribute("height",ne),v.append(X),l?.push(`<rect vector-effect="non-scaling-stroke" x="${J}" y="${ee}" width="${te}" height="${ne}"/>`)}if(this.#t)l.push("</g></svg>')"),a.backgroundImage=l.join("");this.container.append(g),this.container.style.clipPath=`url(#${k})`}_createPopup(e=null){let{data:n}=this,s,i;if(e)s={str:e.text},i=e.date;else s=n.contentsObj,i=n.modificationDate;this.#n=new um({data:{color:n.color,titleObj:n.titleObj,modificationDate:i,contentsObj:s,richText:n.richText,parentRect:n.rect,borderStyle:0,id:`popup_${n.id}`,rotation:n.rotation,noRotate:!0},linkService:this.linkService,parent:this.parent,elements:[this]})}get hasPopupElement(){return!!(this.#n||this.popup||this.data.popupRef)}get extraPopupElement(){return this.#n}render(){In("Abstract method `AnnotationElement.render` called")}_getElementsByName(e,n=null){let s=[];if(this._fieldObjects){let i=this._fieldObjects.get(e)||[];for(let{page:r,id:a,exportValues:l}of i){if(r===-1)continue;if(a===n)continue;let c=typeof l==="string"?l:null,f=document.querySelector(`[data-element-id="${a}"]`);if(f&&!hc.has(f)){Zt(`_getElementsByName - element not allowed: ${a}`);continue}s.push({id:a,exportValue:c,domElement:f})}return s}for(let i of document.getElementsByName(e)){let{exportValue:r}=i,a=i.getAttribute("data-element-id");if(a===n)continue;if(!hc.has(i))continue;s.push({id:a,exportValue:r,domElement:i})}return s}show(){if(this.container)this.container.hidden=!1;this.popup?.maybeShow()}hide(){if(this.container)this.container.hidden=!0;this.popup?.forceHide()}getElementsToTriggerPopup(){return this.container}addHighlightArea(){let e=this.getElementsToTriggerPopup();if(Array.isArray(e))for(let n of e)n.classList.add("highlightArea");else e.classList.add("highlightArea")}_editOnDoubleClick(){if(!this._isEditable)return;let{annotationEditorType:e,data:{id:n}}=this;this.container.addEventListener("dblclick",()=>{this.linkService.eventBus?.dispatch("switchannotationeditormode",{source:this,mode:e,editId:n,mustEnterInEditMode:!0})})}updateOC(e){if(!this.data.oc||!e)return;if(e.isVisible(this.data.oc))this.show();else this.hide()}get width(){return this.data.rect[2]-this.data.rect[0]}get height(){return this.data.rect[3]-this.data.rect[1]}_setBackgroundColor(e){let n=this.data.backgroundColor||null;e.style.backgroundColor=n===null?"transparent":ut.makeHexColor(...n)}}class vS extends Ts{constructor(e){super(e,{isRenderable:!0,ignoreBorder:!0});this.editor=e.editor}render(){return this.container.className="editorAnnotation",this.container}createOrUpdatePopup(){let{editor:e}=this;if(!e.hasComment)return;this._createPopup(e.comment)}get hasCommentButton(){return this.enableComment&&this.editor.hasComment}get commentButtonPosition(){return this.editor.commentButtonPositionInPage}get commentText(){return this.editor.comment.text}set commentText(e){if(this.editor.comment=e,!e)this.removePopup()}get commentData(){return this.editor.getData()}remove(){this.parent.removeAnnotation(this.data.id),this.container.remove(),this.container=null,this.removePopup()}}class Rm extends Ts{constructor(e,n=null){super(e,{isRenderable:!0,ignoreBorder:!!n?.ignoreBorder,createQuadrilaterals:!0});this.isTooltipOnly=e.data.isTooltipOnly}render(){let{data:e,linkService:n}=this,s=document.createElement("a");s.setAttribute("data-element-id",e.id);let i=!1;if(e.url)n.addLinkAttributes(s,e.url,e.newWindow),i=!0;else if(e.action)this._bindNamedAction(s,e.action,e.overlaidText),i=!0;else if(e.attachment)this.#t(s,e.attachmentId,e.attachment,e.overlaidText,e.attachmentDest),i=!0;else if(e.setOCGState)this.#n(s,e.setOCGState,e.overlaidText),i=!0;else if(e.dest)this._bindLink(s,e.dest,e.overlaidText),i=!0;else{if(e.actions&&(e.actions.has("Action")||e.actions.has("Mouse Up")||e.actions.has("Mouse Down"))&&this.enableScripting&&this.hasJSActions)this._bindJSAction(s,e),i=!0;if(e.resetForm)this._bindResetFormAction(s,e.resetForm),i=!0;else if(this.isTooltipOnly&&!i)this._bindLink(s,""),i=!0}if(this.container.classList.add("linkAnnotation"),i)this.contentElement=s,this.container.append(s);return this.container}#e(){this.container.setAttribute("data-internal-link","")}_bindLink(e,n,s=""){if(e.href=this.linkService.getDestinationHash(n),e.onclick=()=>{if(n)this.linkService.goToDestination(n);return!1},n||n==="")this.#e();if(s)e.title=s}_bindNamedAction(e,n,s=""){if(e.href=this.linkService.getAnchorUrl(""),e.onclick=()=>(this.linkService.executeNamedAction(n),!1),s)e.title=s;this.#e()}#t(e,n,s,i="",r=null){if(e.href=this.linkService.getAnchorUrl(""),s.description)e.title=s.description;else if(i)e.title=i;let a=async()=>{let l=await this.linkService.getAttachmentContent(n);if(l)this.downloadManager?.openOrDownloadData(l,s.filename,r)};e.onclick=()=>(a(),!1),this.#e()}#n(e,n,s=""){if(e.href=this.linkService.getAnchorUrl(""),e.onclick=()=>(this.linkService.executeSetOCGState(n),!1),s)e.title=s;this.#e()}_bindJSAction(e,{actions:n,id:s,overlaidText:i}){e.href=this.linkService.getAnchorUrl("");let r=new Map([["Action","onclick"],["Mouse Up","onmouseup"],["Mouse Down","onmousedown"]]);for(let a of n.keys()){let l=r.get(a);if(!l)continue;e[l]=()=>(this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:s,name:a}}),!1)}if(i)e.title=i;e.onclick||=()=>!1,this.#e()}_bindResetFormAction(e,n){let s=e.onclick;if(!s)e.href=this.linkService.getAnchorUrl("");if(this.#e(),!this._fieldObjects){if(Zt('_bindResetFormAction - "resetForm" action not supported, ensure that the `fieldObjects` parameter is provided.'),!s)e.onclick=()=>!1;return}e.onclick=()=>{s?.();let{fields:i,refs:r,include:a}=n,l=[];if(i.length!==0||r.length!==0){let m=new Set(r);for(let g of i){let b=this._fieldObjects.get(g)||[];for(let{id:v}of b)m.add(v)}for(let g of this._fieldObjects.values())for(let b of g)if(m.has(b.id)===a)l.push(b)}else for(let m of this._fieldObjects.values())l.push(...m);let c=this.annotationStorage,f=[];for(let m of l){let{id:g}=m;switch(f.push(g),m.type){case"text":{let v=m.defaultValue||"";c.setValue(g,{value:v});break}case"checkbox":case"radiobutton":{let v=m.defaultValue===m.exportValues;c.setValue(g,{value:v});break}case"combobox":case"listbox":{let v=m.defaultValue||"";c.setValue(g,{value:v});break}default:continue}let b=document.querySelector(`[data-element-id="${g}"]`);if(!b)continue;else if(!hc.has(b)){Zt(`_bindResetFormAction - element not allowed: ${g}`);continue}b.dispatchEvent(new Event("resetform"))}if(this.enableScripting)this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:"app",ids:f,name:"ResetForm"}});return!1}}}class SS extends Ts{constructor(e){super(e,{isRenderable:!0})}render(){this.container.classList.add("textAnnotation");let e=document.createElement("img");if(e.src=this.imageResourcesPath+"annotation-"+this.data.name.toLowerCase()+".svg",e.setAttribute("data-l10n-id","pdfjs-text-annotation-type"),e.setAttribute("data-l10n-args",JSON.stringify({type:this.data.name})),!this.data.popupRef&&this.hasPopupData)this.hasOwnCommentButton=!0,this._createPopup();return this.container.append(e),this.container}}class Tl extends Ts{render(){return this.container}_getKeyModifier(e){return zn.platform.isMac?e.metaKey:e.ctrlKey}_setEventListener(e,n,s,i,r){if(s.includes("mouse"))e.addEventListener(s,(a)=>{this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:this.data.id,name:i,value:r(a),shift:a.shiftKey,modifier:this._getKeyModifier(a)}})});else e.addEventListener(s,(a)=>{if(s==="blur"){if(!n.focused||!a.relatedTarget)return;n.focused=!1}else if(s==="focus"){if(n.focused)return;n.focused=!0}if(!r)return;this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:this.data.id,name:i,value:r(a)}})})}_setEventListeners(e,n,s,i){let{actions:r}=this.data;for(let[a,l]of s)if(l==="Action"||r?.has(l)){if(l==="Focus"||l==="Blur")n||={focused:!1};if(this._setEventListener(e,n,a,l,i),l==="Focus"&&!r?.has("Blur"))this._setEventListener(e,n,"blur","Blur",null);else if(l==="Blur"&&!r?.has("Focus"))this._setEventListener(e,n,"focus","Focus",null)}}_setTextStyle(e){let n=["left","center","right"],{fontColor:s}=this.data.defaultAppearanceData,i=this.data.defaultAppearanceData.fontSize||SM,r=e.style,a,l=2,c=(f)=>Math.round(10*f)/10;if(this.data.multiLine){let f=Math.abs(this.data.rect[3]-this.data.rect[1]-2),m=Math.round(f/(1.35*i))||1,g=f/m;a=Math.min(i,c(g/1.35))}else{let f=Math.abs(this.data.rect[3]-this.data.rect[1]-2);a=Math.min(i,c(f/1.35))}if(r.fontSize=`calc(${a}px * var(--total-scale-factor))`,r.color=ut.makeHexColor(...s),this.data.textAlignment!==null&&!this.data.comb)r.textAlign=n[this.data.textAlignment]}_setRequired(e,n){if(n)e.setAttribute("required",!0);else e.removeAttribute("required");e.setAttribute("aria-required",n)}}class kS extends Tl{constructor(e){let n=e.renderForms||e.data.hasOwnCanvas||!e.data.hasAppearance&&!!e.data.fieldValue;super(e,{isRenderable:n})}setPropertyOnSiblings(e,n,s,i){let r=this.annotationStorage;for(let a of this._getElementsByName(e.name,e.id)){if(a.domElement)a.domElement[n]=s;r.setValue(a.id,{[i]:s})}}render(){let e=this.annotationStorage,n=this.data.id;this.container.classList.add("textWidgetAnnotation");let s=null;if(this.renderForms){let i=e.getValue(n,{value:this.data.fieldValue}),r=i.value||"",a=e.getValue(n,{charLimit:this.data.maxLen}).charLimit;if(a&&r.length>a)r=r.slice(0,a);let l=i.formattedValue||this.data.textContent?.join(`
119
+ `)||null;if(l&&this.data.comb)l=l.replaceAll(/\s+/g,"");let c={userValue:r,formattedValue:l,lastCommittedValue:null,commitKey:1,focused:!1};if(this.data.multiLine){if(s=document.createElement("textarea"),s.textContent=l??r,this.data.doNotScroll)s.style.overflowY="hidden"}else if(s=document.createElement("input"),s.type=this.data.password?"password":"text",s.setAttribute("value",l??r),this.data.doNotScroll)s.style.overflowX="hidden";if(this.data.hasOwnCanvas){if(this.container.classList.add("hasOwnCanvas"),e.has(n))this.container.classList.add("sandboxModified")}hc.add(s),this.contentElement=s,s.setAttribute("data-element-id",n),s.disabled=this.data.readOnly,s.name=this.data.fieldName,s.tabIndex=0;let{datetimeFormat:f,datetimeType:m,timeStep:g}=this.data,b=!!m&&this.enableScripting;if(f)s.title=f;if(this._setRequired(s,this.data.required),a)s.maxLength=a;s.addEventListener("input",(k)=>{e.setValue(n,{value:k.target.value}),this.setPropertyOnSiblings(s,"value",k.target.value,"value"),c.formattedValue=null}),s.addEventListener("resetform",(k)=>{let T=this.data.defaultFieldValue??"";s.value=c.userValue=T,c.formattedValue=null});let v=(k)=>{let{formattedValue:T}=c;if(T!==null&&T!==void 0)k.target.value=T;k.target.scrollLeft=0};if(this.enableScripting&&this.hasJSActions){s.addEventListener("focus",(T)=>{if(c.focused)return;let{target:_}=T;if(b){if(_.type=m,g)_.step=g}if(c.userValue){let P=c.userValue;if(b)if(m==="time"){let U=new Date(P),z=[U.getHours(),U.getMinutes(),U.getSeconds()];_.value=z.map((V)=>V.toString().padStart(2,"0")).join(":")}else _.value=new Date(P-kM).toISOString().split(m==="date"?"T":".",1)[0];else _.value=P}if(c.lastCommittedValue=_.value,c.commitKey=1,!this.data.actions?.has("Focus"))c.focused=!0}),s.addEventListener("updatefromsandbox",(T)=>{this.container.classList.add("sandboxModified");let _={value(P){if(c.userValue=P.detail.value??"",!b)e.setValue(n,{value:c.userValue.toString()});P.target.value=c.userValue},formattedValue(P){let{formattedValue:U}=P.detail;if(c.formattedValue=U,U!==null&&U!==void 0&&P.target!==document.activeElement)P.target.value=U;let z={formattedValue:U};if(b)z.value=U;e.setValue(n,z)},selRange(P){P.target.setSelectionRange(...P.detail.selRange)},charLimit:(P)=>{let{charLimit:U}=P.detail,{target:z}=P;if(U===0){z.removeAttribute("maxLength");return}z.setAttribute("maxLength",U);let V=c.userValue;if(!V||V.length<=U)return;V=V.slice(0,U),z.value=c.userValue=V,e.setValue(n,{value:V}),this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:n,name:"Keystroke",value:V,willCommit:!0,commitKey:1,selStart:z.selectionStart,selEnd:z.selectionEnd}})}};this._dispatchEventFromSandbox(_,T)}),s.addEventListener("keydown",(T)=>{c.commitKey=1;let _=-1;if(T.key==="Escape")_=0;else if(T.key==="Enter"&&!this.data.multiLine)_=2;else if(T.key==="Tab")c.commitKey=3;if(_===-1)return;let{value:P}=T.target;if(c.lastCommittedValue===P)return;c.lastCommittedValue=P,c.userValue=P,this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:n,name:"Keystroke",value:P,willCommit:!0,commitKey:_,selStart:T.target.selectionStart,selEnd:T.target.selectionEnd}})});let k=v;if(v=null,s.addEventListener("blur",(T)=>{if(!c.focused||!T.relatedTarget)return;if(!this.data.actions?.has("Blur"))c.focused=!1;let{target:_}=T,{value:P}=_;if(b){if(P&&m==="time"){let U=P.split(":").map((z)=>parseInt(z,10));P=new Date(2000,0,1,U[0],U[1],U[2]||0).valueOf(),_.step=""}else{if(!P.includes("T"))P=`${P}T00:00`;P=new Date(P).valueOf()}_.type="text"}if(c.userValue=P,c.lastCommittedValue!==P)this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:n,name:"Keystroke",value:P,willCommit:!0,commitKey:c.commitKey,selStart:T.target.selectionStart,selEnd:T.target.selectionEnd}});k(T)}),this.data.actions?.has("Keystroke"))s.addEventListener("beforeinput",(T)=>{c.lastCommittedValue=null;let{data:_,target:P}=T,{value:U,selectionStart:z,selectionEnd:V}=P,X=z,J=V;switch(T.inputType){case"deleteWordBackward":{let ee=/\w/;while(X>0&&!ee.test(U[X-1]))X--;while(X>0&&ee.test(U[X-1]))X--;break}case"deleteWordForward":{let ee=U.substring(z).match(/^\W*\w*/);if(ee)J+=ee[0].length;break}case"deleteContentBackward":if(z===V)X-=1;break;case"deleteContentForward":if(z===V)J+=1;break}T.preventDefault(),this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:n,name:"Keystroke",value:U,change:_||"",willCommit:!1,selStart:X,selEnd:J}})});this._setEventListeners(s,c,[["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],(T)=>T.target.value)}if(v)s.addEventListener("blur",v);if(this.data.comb){let T=(this.data.rect[2]-this.data.rect[0])/a;s.classList.add("comb"),s.style.setProperty("--comb-width",`calc(${T}px * var(--total-scale-factor))`);let _=this.data.textAlignment;if(_===1||_===2){let P=()=>{let U=a-s.value.length;s.style.setProperty("--comb-offset",`${_===1?U>>1:U}`)};P();for(let U of["input","blur","resetform","updatefromsandbox"])s.addEventListener(U,P)}}}else if(s=document.createElement("div"),s.textContent=this.data.fieldValue,s.style.verticalAlign="middle",s.style.display="table-cell",this.data.hasOwnCanvas)s.hidden=!0;return this._setTextStyle(s),this._setBackgroundColor(s),this._setDefaultPropertiesFromJS(s),this.container.append(s),this.container}}class xS extends Tl{constructor(e){super(e,{isRenderable:!!e.data.hasOwnCanvas})}}class AS extends Tl{constructor(e){super(e,{isRenderable:e.renderForms})}render(){let e=this.annotationStorage,n=this.data,s=n.id,i=e.getValue(s,{value:n.exportValue===n.fieldValue}).value;if(typeof i==="string")i=i!=="Off",e.setValue(s,{value:i});this.container.classList.add("buttonWidgetAnnotation","checkBox");let r=document.createElement("input");if(hc.add(r),r.setAttribute("data-element-id",s),r.disabled=n.readOnly,this._setRequired(r,this.data.required),r.type="checkbox",r.name=n.fieldName,i)r.setAttribute("checked",!0);if(r.setAttribute("exportValue",n.exportValue),r.tabIndex=0,r.addEventListener("change",(a)=>{let{name:l,checked:c}=a.target;for(let f of this._getElementsByName(l,s)){let m=c&&f.exportValue===n.exportValue;if(f.domElement)f.domElement.checked=m;e.setValue(f.id,{value:m})}e.setValue(s,{value:c})}),r.addEventListener("resetform",(a)=>{let l=n.defaultFieldValue||"Off";a.target.checked=l===n.exportValue}),this.enableScripting&&this.hasJSActions)r.addEventListener("updatefromsandbox",(a)=>{let l={value(c){c.target.checked=c.detail.value!=="Off",e.setValue(s,{value:c.target.checked})}};this._dispatchEventFromSandbox(l,a)}),this._setEventListeners(r,null,[["change","Validate"],["change","Action"],["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],(a)=>a.target.checked);return this._setDefaultPropertiesFromJS(r),this.container.append(r),this.container}}class TS extends Tl{constructor(e){super(e,{isRenderable:e.renderForms})}render(){this.container.classList.add("buttonWidgetAnnotation","radioButton");let e=this.annotationStorage,n=this.data,s=n.id,i=e.getValue(s,{value:n.buttonValue!==null&&n.fieldValue===n.buttonValue}).value;if(typeof i==="string")i=i!==n.buttonValue,e.setValue(s,{value:i});if(i)for(let a of this._getElementsByName(n.fieldName,s))e.setValue(a.id,{value:!1});let r=document.createElement("input");if(hc.add(r),r.setAttribute("data-element-id",s),r.disabled=n.readOnly,this._setRequired(r,this.data.required),r.type="radio",r.name=n.fieldName,i)r.setAttribute("checked",!0);if(r.tabIndex=0,r.addEventListener("change",(a)=>{let{name:l,checked:c}=a.target;for(let f of this._getElementsByName(l,s))e.setValue(f.id,{value:!1});e.setValue(s,{value:c})}),r.addEventListener("resetform",(a)=>{let l=n.defaultFieldValue;a.target.checked=l!==null&&l!==void 0&&l===n.buttonValue}),this.enableScripting&&this.hasJSActions){let a=n.buttonValue;r.addEventListener("updatefromsandbox",(l)=>{let c={value:(f)=>{let m=a===f.detail.value;for(let g of this._getElementsByName(f.target.name)){let b=m&&g.id===s;if(g.domElement)g.domElement.checked=b;e.setValue(g.id,{value:b})}}};this._dispatchEventFromSandbox(c,l)}),this._setEventListeners(r,null,[["change","Validate"],["change","Action"],["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],(l)=>l.target.checked)}return this._setDefaultPropertiesFromJS(r),this.container.append(r),this.container}}class ES extends Rm{constructor(e){super(e,{ignoreBorder:e.data.hasAppearance})}render(){let e=super.render();e.classList.add("buttonWidgetAnnotation","pushButton");let n=e.lastChild;if(this.enableScripting&&this.hasJSActions&&n)this._setDefaultPropertiesFromJS(n),n.addEventListener("updatefromsandbox",(s)=>{this._dispatchEventFromSandbox({},s)});return e}}class CS extends Tl{constructor(e){super(e,{isRenderable:e.renderForms})}render(){this.container.classList.add("choiceWidgetAnnotation");let e=this.annotationStorage,n=this.data.id,s=e.getValue(n,{value:this.data.fieldValue}),i=document.createElement("select");hc.add(i),i.setAttribute("data-element-id",n),i.disabled=this.data.readOnly,this._setRequired(i,this.data.required),i.name=this.data.fieldName,i.tabIndex=0;let r=this.data.combo&&this.data.options.length>0;if(!this.data.combo){if(i.size=this.data.options.length,this.data.multiSelect)i.multiple=!0}i.addEventListener("resetform",(g)=>{let b=this.data.defaultFieldValue;for(let v of i.options)v.selected=v.value===b});let a=(g,b)=>{let v=b.replaceAll(" "," ");if(g.textContent=v,v!==b)g.setAttribute("display-value",b)};for(let g of this.data.options){let b=document.createElement("option");if(a(b,g.displayValue),b.value=g.exportValue,s.value.includes(g.exportValue))b.setAttribute("selected",!0),r=!1;i.append(b)}let l=null;if(r){let g=document.createElement("option");g.value=" ",g.setAttribute("hidden",!0),g.setAttribute("selected",!0),i.prepend(g),l=()=>{g.remove(),i.removeEventListener("input",l),l=null},i.addEventListener("input",l)}let c=(g)=>{let b=g?"value":"textContent",{options:v,multiple:k}=i;if(!k)return v.selectedIndex===-1?null:v[v.selectedIndex][b];return Array.prototype.filter.call(v,(T)=>T.selected).map((T)=>T[b])},f=c(!1),m=(g)=>{let b=g.target.options;return Array.prototype.map.call(b,(v)=>({displayValue:v.getAttribute("display-value")||v.textContent,exportValue:v.value}))};if(this.enableScripting&&this.hasJSActions)i.addEventListener("updatefromsandbox",(g)=>{let b={value(v){l?.();let k=v.detail.value,T=new Set(Array.isArray(k)?k:[k]);for(let _ of i.options)_.selected=T.has(_.value);e.setValue(n,{value:c(!0)}),f=c(!1)},multipleSelection(v){i.multiple=!0},remove(v){let k=i.options,T=v.detail.remove;if(k[T].selected=!1,i.remove(T),k.length>0){if(Array.prototype.findIndex.call(k,(P)=>P.selected)===-1)k[0].selected=!0}e.setValue(n,{value:c(!0),items:m(v)}),f=c(!1)},clear(v){while(i.length!==0)i.remove(0);e.setValue(n,{value:null,items:[]}),f=c(!1)},insert(v){let{index:k,displayValue:T,exportValue:_}=v.detail.insert,P=i.children[k],U=document.createElement("option");if(a(U,T),U.value=_,P)P.before(U);else i.append(U);e.setValue(n,{value:c(!0),items:m(v)}),f=c(!1)},items(v){let{items:k}=v.detail;while(i.length!==0)i.remove(0);for(let T of k){let{displayValue:_,exportValue:P}=T,U=document.createElement("option");a(U,_),U.value=P,i.append(U)}if(i.options.length>0)i.options[0].selected=!0;e.setValue(n,{value:c(!0),items:m(v)}),f=c(!1)},indices(v){let k=new Set(v.detail.indices);for(let T of v.target.options)T.selected=k.has(T.index);e.setValue(n,{value:c(!0)}),f=c(!1)},editable(v){v.target.disabled=!v.detail.editable}};this._dispatchEventFromSandbox(b,g)}),i.addEventListener("input",(g)=>{let b=c(!0),v=c(!1);e.setValue(n,{value:b}),g.preventDefault(),this.linkService.eventBus?.dispatch("dispatcheventinsandbox",{source:this,detail:{id:n,name:"Keystroke",value:f,change:v,changeEx:b,willCommit:!1,commitKey:1,keyDown:!1}})}),this._setEventListeners(i,null,[["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"],["input","Action"],["input","Validate"]],(g)=>g.target.value);else i.addEventListener("input",function(g){e.setValue(n,{value:c(!0)})});if(this.data.combo)this._setTextStyle(i);return this._setBackgroundColor(i),this._setDefaultPropertiesFromJS(i),this.container.append(i),this.container}}class um extends Ts{constructor(e){let{data:n,elements:s,parent:i}=e,r=!!i._commentManager;super(e,{isRenderable:!r&&Ts._hasPopupData(n)});if(this.elements=s,r&&Ts._hasPopupData(n)){let a=this.popup=this.#e();for(let l of s)l.popup=a}else this.popup=null}#e(){return new jS({container:this.container,color:this.data.color,titleObj:this.data.titleObj,modificationDate:this.data.modificationDate||this.data.creationDate,contentsObj:this.data.contentsObj,richText:this.data.richText,rect:this.data.rect,parentRect:this.data.parentRect||null,parent:this.parent,elements:this.elements,open:this.data.open,commentManager:this.parent._commentManager})}render(){let{container:e}=this;e.classList.add("popupAnnotation"),e.role="comment";let n=this.popup=this.#e(),s=[];for(let i of this.elements)i.popup=n,i.container.ariaHasPopup="dialog",s.push(i.data.id),i.addHighlightArea();return this.container.setAttribute("aria-controls",s.map((i)=>`pdfjs_internal_id_${i}`).join(",")),this.container}}class jS{#e=null;#t=this.#G.bind(this);#n=this.#S.bind(this);#s=this.#E.bind(this);#i=this.#H.bind(this);#a=null;#r=null;#o=null;#l=null;#c=null;#u=null;#h=null;#d=!1;#p=null;#g=null;#f=null;#m=null;#b=null;#w=null;#y=null;#v=null;#x=null;#k=null;#A=!1;#T=null;#I=null;constructor({container:e,color:n,elements:s,titleObj:i,modificationDate:r,contentsObj:a,richText:l,parent:c,rect:f,parentRect:m,open:g,commentManager:b=null}){if(this.#r=e,this.#x=i,this.#o=a,this.#v=l,this.#u=c,this.#a=n,this.#y=f,this.#h=m,this.#c=s,this.#e=b,this.#T=s[0],this.#l=lm.toDateObject(r),this.trigger=s.flatMap((v)=>v.getElementsToTriggerPopup()),!b){if(this.#j(),this.#r.hidden=!0,g)this.#H()}}#j(){if(this.#g)return;this.#g=new AbortController;let{signal:e}=this.#g;for(let n of this.trigger)n.addEventListener("click",this.#i,{signal:e}),n.addEventListener("pointerenter",this.#s,{signal:e}),n.addEventListener("pointerleave",this.#n,{signal:e}),n.classList.add("popupTriggerArea");for(let n of this.#c)n.container?.addEventListener("keydown",this.#t,{signal:e})}#C(){let e=this.#c.find((n)=>n.hasCommentButton);if(!e)return;this.#b=e._normalizePoint(e.commentButtonPosition)}renderCommentButton(){if(this.#m){if(!this.#m.parentNode)this.#T.container.after(this.#m);return}if(!this.#b)this.#C();if(!this.#b)return;let{signal:e}=this.#g=new AbortController,n=this.#T.hasOwnCommentButton,s=()=>{this.#e.toggleCommentPopup(this,!0,void 0,!n)},i=()=>{this.#e.toggleCommentPopup(this,!1,!0,!n)},r=()=>{this.#e.toggleCommentPopup(this,!1,!1)};if(!n){let a=this.#m=document.createElement("button");a.className="annotationCommentButton";let l=this.#T.container;a.style.zIndex=parseInt(l.style.zIndex,10)+1,a.tabIndex=0,a.ariaHasPopup="dialog",a.ariaControls="commentPopup",a.setAttribute("data-l10n-id","pdfjs-show-comment-button"),this.#R(),this.#D(),a.addEventListener("keydown",this.#t,{signal:e}),a.addEventListener("click",s,{signal:e}),a.addEventListener("pointerenter",i,{signal:e}),a.addEventListener("pointerleave",r,{signal:e}),l.after(a)}else{this.#m=this.#T.container;for(let a of this.trigger)a.ariaHasPopup="dialog",a.ariaControls="commentPopup",a.addEventListener("keydown",this.#t,{signal:e}),a.addEventListener("click",s,{signal:e}),a.addEventListener("pointerenter",i,{signal:e}),a.addEventListener("pointerleave",r,{signal:e}),a.classList.add("popupTriggerArea")}}#D(){if(this.#T.extraPopupElement&&!this.#T.editor)return;if(!this.#m)this.renderCommentButton();let[e,n]=this.#b,{style:s}=this.#m;s.left=`calc(${e}%)`,s.top=`calc(${n}% - var(--comment-button-dim))`}#R(){if(this.#T.extraPopupElement)return;if(!this.#m)this.renderCommentButton();this.#m.style.backgroundColor=this.commentButtonColor||""}get commentButtonColor(){let{color:e,opacity:n}=this.#T.commentData;if(!e)return null;return this.#u._commentManager.makeCommentColor(e,n)}focusCommentButton(){setTimeout(()=>{this.#m?.focus()},0)}getData(){let{richText:e,color:n,opacity:s,creationDate:i,modificationDate:r}=this.#T.commentData;return{contentsObj:{str:this.comment},richText:e,color:n,opacity:s,creationDate:i,modificationDate:r}}get elementBeforePopup(){return this.#m}get comment(){return this.#I||=this.#T.commentText,this.#I}set comment(e){if(e===this.comment)return;this.#T.commentText=this.#I=e}focus(){this.#T.container?.focus()}get parentBoundingClientRect(){return this.#T.layer.getBoundingClientRect()}setCommentButtonStates({selected:e,hasPopup:n}){if(!this.#m)return;this.#m.classList.toggle("selected",e),this.#m.ariaExpanded=n}setSelectedCommentButton(e){this.#m.classList.toggle("selected",e)}get commentPopupPosition(){if(this.#w)return this.#w;let{x:e,y:n,height:s}=this.#m.getBoundingClientRect(),{x:i,y:r,width:a,height:l}=this.#T.layer.getBoundingClientRect();return[(e-i)/a,(n+s-r)/l]}set commentPopupPosition(e){this.#w=e}hasDefaultPopupPosition(){return this.#w===null}get commentButtonPosition(){return this.#b}get commentButtonWidth(){return this.#m.getBoundingClientRect().width/this.parentBoundingClientRect.width}editComment(e){let[n,s]=this.#w||this.commentButtonPosition.map((f)=>f/100),i=this.parentBoundingClientRect,{x:r,y:a,width:l,height:c}=i;this.#e.showDialog(null,this,r+n*l,a+s*c,{...e,parentDimensions:i})}render(){if(this.#p)return;let e=this.#p=document.createElement("div");if(e.className="popup",this.#a){let s=e.style.outlineColor=ut.makeHexColor(...this.#a);e.style.backgroundColor=`color-mix(in srgb, ${s} 30%, white)`}let n=document.createElement("span");if(n.className="header",this.#x?.str){let s=document.createElement("span");s.className="title",n.append(s),{dir:s.dir,str:s.textContent}=this.#x}if(e.append(n),this.#l){let s=document.createElement("time");s.className="popupDate",s.setAttribute("data-l10n-id","pdfjs-annotation-date-time-string"),s.setAttribute("data-l10n-args",JSON.stringify({dateObj:this.#l.valueOf()})),s.dateTime=this.#l.toISOString(),n.append(s)}w7({html:this.#q||this.#o.str,dir:this.#o?.dir,className:"popupContent"},e),this.#r.append(e)}get#q(){let e=this.#v,n=this.#o;if(e?.str&&(!n?.str||n.str===e.str))return this.#v.html||null;return null}get#B(){return this.#q?.attributes?.style?.fontSize||0}get#M(){return this.#q?.attributes?.style?.color||null}#L(e){let n=[],s={str:e,html:{name:"div",attributes:{dir:"auto"},children:[{name:"p",children:n}]}},i={style:{color:this.#M,fontSize:this.#B?`calc(${this.#B}px * var(--total-scale-factor))`:""}};for(let r of e.split(`
120
+ `))n.push({name:"span",value:r,attributes:i});return s}#G(e){if(e.altKey||e.shiftKey||e.ctrlKey||e.metaKey)return;if(e.key==="Enter"||e.key==="Escape"&&this.#d)this.#H()}updateEdited({rect:e,popup:n,deleted:s}){if(this.#e){if(s)this.remove(),this.#I=null;else if(n)if(n.deleted)this.remove();else this.#R(),this.#I=n.text;if(e)this.#b=null,this.#C(),this.#D();return}if(s||n?.deleted){this.remove();return}if(this.#j(),this.#k||={contentsObj:this.#o,richText:this.#v},e)this.#f=null;if(n&&n.text)this.#v=this.#L(n.text),this.#l=lm.toDateObject(n.date),this.#o=null;this.#p?.remove(),this.#p=null}resetEdited(){if(!this.#k)return;({contentsObj:this.#o,richText:this.#v}=this.#k),this.#k=null,this.#p?.remove(),this.#p=null,this.#f=null}remove(){if(this.#g?.abort(),this.#g=null,this.#p?.remove(),this.#p=null,this.#A=!1,this.#d=!1,this.#m?.remove(),this.#m=null,this.trigger)for(let e of this.trigger)e.classList.remove("popupTriggerArea")}#O(){if(this.#f!==null)return;let{page:{view:e},viewport:{rawDims:{pageWidth:n,pageHeight:s,pageX:i,pageY:r}}}=this.#u,a=!!this.#h,l=a?this.#h:this.#y;for(let k of this.#c)if(!l||ut.intersect(k.data.rect,l)!==null){l=k.data.rect,a=!0;break}let c=ut.normalizeRect([l[0],e[3]-l[1]+e[1],l[2],e[3]-l[3]+e[1]]),f=5,m=a?l[2]-l[0]+f:0,g=c[0]+m,b=c[1];this.#f=[100*(g-i)/n,100*(b-r)/s];let{style:v}=this.#r;v.left=`${this.#f[0]}%`,v.top=`${this.#f[1]}%`}#H(){if(this.#e){this.#e.toggleCommentPopup(this,!1);return}if(this.#d=!this.#d,this.#d)this.#E(),this.#r.addEventListener("click",this.#i),this.#r.addEventListener("keydown",this.#t);else this.#S(),this.#r.removeEventListener("click",this.#i),this.#r.removeEventListener("keydown",this.#t)}#E(){if(!this.#p)this.render();if(!this.isVisible)this.#O(),this.#r.hidden=!1,this.#r.style.zIndex=parseInt(this.#r.style.zIndex,10)+1000;else if(this.#d)this.#r.classList.add("focused")}#S(){if(this.#r.classList.remove("focused"),this.#d||!this.isVisible)return;this.#r.hidden=!0,this.#r.style.zIndex=parseInt(this.#r.style.zIndex,10)-1000}forceHide(){if(this.#A=this.isVisible,!this.#A)return;this.#r.hidden=!0}maybeShow(){if(this.#e)return;if(this.#j(),!this.#A)return;if(!this.#p)this.#E();this.#A=!1,this.#r.hidden=!1}get isVisible(){return!this.#e&&this.#r.hidden===!1}}class b2 extends Ts{constructor(e){super(e,{isRenderable:!0,ignoreBorder:!0});this.textContent=e.data.textContent,this.textPosition=e.data.textPosition,this.annotationEditorType=Jt.FREETEXT}render(){if(this.container.classList.add("freeTextAnnotation"),this.textContent){let e=this.contentElement=document.createElement("div");e.classList.add("annotationTextContent"),e.setAttribute("role","comment");for(let n of this.textContent){let s=document.createElement("span");s.textContent=n,e.append(s)}this.container.append(e)}if(!this.data.popupRef&&this.hasPopupData)this.hasOwnCommentButton=!0,this._createPopup();return this._editOnDoubleClick(),this.container}}class _S extends Ts{#e=null;constructor(e){super(e,{isRenderable:!0,ignoreBorder:!0})}render(){this.container.classList.add("lineAnnotation");let{data:e,width:n,height:s}=this,i=this.svgFactory.create(n,s,!0),r=this.#e=this.svgFactory.createElement("svg:line");if(r.setAttribute("x1",e.rect[2]-e.lineCoordinates[0]),r.setAttribute("y1",e.rect[3]-e.lineCoordinates[1]),r.setAttribute("x2",e.rect[2]-e.lineCoordinates[2]),r.setAttribute("y2",e.rect[3]-e.lineCoordinates[3]),r.setAttribute("stroke-width",e.borderStyle.width||1),r.setAttribute("stroke","transparent"),r.setAttribute("fill","transparent"),i.append(r),this.container.append(i),!e.popupRef&&this.hasPopupData)this.hasOwnCommentButton=!0,this._createPopup();return this.container}getElementsToTriggerPopup(){return this.#e}addHighlightArea(){this.container.classList.add("highlightArea")}}class IS extends Ts{#e=null;constructor(e){super(e,{isRenderable:!0,ignoreBorder:!0})}render(){this.container.classList.add("squareAnnotation");let{data:e,width:n,height:s}=this,i=this.svgFactory.create(n,s,!0),r=e.borderStyle.width,a=this.#e=this.svgFactory.createElement("svg:rect");if(a.setAttribute("x",r/2),a.setAttribute("y",r/2),a.setAttribute("width",n-r),a.setAttribute("height",s-r),a.setAttribute("stroke-width",r||1),a.setAttribute("stroke","transparent"),a.setAttribute("fill","transparent"),i.append(a),this.container.append(i),!e.popupRef&&this.hasPopupData)this.hasOwnCommentButton=!0,this._createPopup();return this.container}getElementsToTriggerPopup(){return this.#e}addHighlightArea(){this.container.classList.add("highlightArea")}}class RS extends Ts{#e=null;constructor(e){super(e,{isRenderable:!0,ignoreBorder:!0})}render(){this.container.classList.add("circleAnnotation");let{data:e,width:n,height:s}=this,i=this.svgFactory.create(n,s,!0),r=e.borderStyle.width,a=this.#e=this.svgFactory.createElement("svg:ellipse");if(a.setAttribute("cx",n/2),a.setAttribute("cy",s/2),a.setAttribute("rx",n/2-r/2),a.setAttribute("ry",s/2-r/2),a.setAttribute("stroke-width",r||1),a.setAttribute("stroke","transparent"),a.setAttribute("fill","transparent"),i.append(a),this.container.append(i),!e.popupRef&&this.hasPopupData)this.hasOwnCommentButton=!0,this._createPopup();return this.container}getElementsToTriggerPopup(){return this.#e}addHighlightArea(){this.container.classList.add("highlightArea")}}class w2 extends Ts{#e=null;constructor(e){super(e,{isRenderable:!0,ignoreBorder:!0});this.containerClassName="polylineAnnotation",this.svgElementName="svg:polyline"}render(){this.container.classList.add(this.containerClassName);let{data:{rect:e,vertices:n,borderStyle:s,popupRef:i},width:r,height:a}=this;if(!n)return this.container;let l=this.svgFactory.create(r,a,!0),c=[];for(let m=0,g=n.length;m<g;m+=2){let b=n[m]-e[0],v=e[3]-n[m+1];c.push(`${b},${v}`)}c=c.join(" ");let f=this.#e=this.svgFactory.createElement(this.svgElementName);if(f.setAttribute("points",c),f.setAttribute("stroke-width",s.width||1),f.setAttribute("stroke","transparent"),f.setAttribute("fill","transparent"),l.append(f),this.container.append(l),!i&&this.hasPopupData)this.hasOwnCommentButton=!0,this._createPopup();return this.container}getElementsToTriggerPopup(){return this.#e}addHighlightArea(){this.container.classList.add("highlightArea")}}class DS extends w2{constructor(e){super(e);this.containerClassName="polygonAnnotation",this.svgElementName="svg:polygon"}}class qS extends Ts{constructor(e){super(e,{isRenderable:!0,ignoreBorder:!0})}render(){if(this.container.classList.add("caretAnnotation"),!this.data.popupRef&&this.hasPopupData)this.hasOwnCommentButton=!0,this._createPopup();return this.container}}class Dm extends Ts{#e=null;#t=[];constructor(e){super(e,{isRenderable:!0,ignoreBorder:!0});this.containerClassName="inkAnnotation",this.svgElementName="svg:polyline",this.annotationEditorType=this.data.it==="InkHighlight"?Jt.HIGHLIGHT:Jt.INK}#n(e,n){switch(e){case 90:return{transform:`rotate(90) translate(${-n[0]},${n[1]}) scale(1,-1)`,width:n[3]-n[1],height:n[2]-n[0]};case 180:return{transform:`rotate(180) translate(${-n[2]},${n[1]}) scale(1,-1)`,width:n[2]-n[0],height:n[3]-n[1]};case 270:return{transform:`rotate(270) translate(${-n[2]},${n[3]}) scale(1,-1)`,width:n[3]-n[1],height:n[2]-n[0]};default:return{transform:`translate(${-n[0]},${n[3]}) scale(1,-1)`,width:n[2]-n[0],height:n[3]-n[1]}}}render(){this.container.classList.add(this.containerClassName);let{data:{rect:e,rotation:n,inkLists:s,borderStyle:i,popupRef:r}}=this,{transform:a,width:l,height:c}=this.#n(n,e),f=this.svgFactory.create(l,c,!0),m=this.#e=this.svgFactory.createElement("svg:g");f.append(m),m.setAttribute("stroke-width",i.width||1),m.setAttribute("stroke-linecap","round"),m.setAttribute("stroke-linejoin","round"),m.setAttribute("stroke-miterlimit",10),m.setAttribute("stroke","transparent"),m.setAttribute("fill","transparent"),m.setAttribute("transform",a);for(let g of s){let b=this.svgFactory.createElement(this.svgElementName);this.#t.push(b),b.setAttribute("points",g.join(",")),m.append(b)}if(!r&&this.hasPopupData)this.hasOwnCommentButton=!0,this._createPopup();return this.container.append(f),this._editOnDoubleClick(),this.container}updateEdited(e){super.updateEdited(e);let{thickness:n,points:s,rect:i}=e,r=this.#e;if(n>=0)r.setAttribute("stroke-width",n||1);if(s)for(let a=0,l=this.#t.length;a<l;a++)this.#t[a].setAttribute("points",s[a].join(","));if(i){let{transform:a,width:l,height:c}=this.#n(this.data.rotation,i);r.parentElement.setAttribute("viewBox",`0 0 ${l} ${c}`),r.setAttribute("transform",a)}}getElementsToTriggerPopup(){return this.#t}addHighlightArea(){this.container.classList.add("highlightArea")}}class y2 extends Ts{constructor(e){super(e,{isRenderable:!0,ignoreBorder:!0,createQuadrilaterals:!0});this.annotationEditorType=Jt.HIGHLIGHT}render(){let{data:{overlaidText:e,popupRef:n}}=this;if(!n&&this.hasPopupData)this.hasOwnCommentButton=!0,this._createPopup();if(this.container.classList.add("highlightAnnotation"),this._editOnDoubleClick(),e){let s=document.createElement("mark");s.classList.add("overlaidText"),s.textContent=e,this.container.append(s)}return this.container}}class MS extends Ts{constructor(e){super(e,{isRenderable:!0,ignoreBorder:!0,createQuadrilaterals:!0})}render(){let{data:{overlaidText:e,popupRef:n}}=this;if(!n&&this.hasPopupData)this.hasOwnCommentButton=!0,this._createPopup();if(this.container.classList.add("underlineAnnotation"),e){let s=document.createElement("u");s.classList.add("overlaidText"),s.textContent=e,this.container.append(s)}return this.container}}class FS extends Ts{constructor(e){super(e,{isRenderable:!0,ignoreBorder:!0,createQuadrilaterals:!0})}render(){let{data:{overlaidText:e,popupRef:n}}=this;if(!n&&this.hasPopupData)this.hasOwnCommentButton=!0,this._createPopup();if(this.container.classList.add("squigglyAnnotation"),e){let s=document.createElement("u");s.classList.add("overlaidText"),s.textContent=e,this.container.append(s)}return this.container}}class LS extends Ts{constructor(e){super(e,{isRenderable:!0,ignoreBorder:!0,createQuadrilaterals:!0})}render(){let{data:{overlaidText:e,popupRef:n}}=this;if(!n&&this.hasPopupData)this.hasOwnCommentButton=!0,this._createPopup();if(this.container.classList.add("strikeoutAnnotation"),e){let s=document.createElement("s");s.classList.add("overlaidText"),s.textContent=e,this.container.append(s)}return this.container}}class v2 extends Ts{constructor(e){super(e,{isRenderable:!0,ignoreBorder:!0});this.annotationEditorType=Jt.STAMP}render(){if(this.container.classList.add("stampAnnotation"),this.container.setAttribute("role","img"),!this.data.popupRef&&this.hasPopupData)this.hasOwnCommentButton=!0,this._createPopup();return this._editOnDoubleClick(),this.container}}class OS extends Ts{#e=null;constructor(e){super(e,{isRenderable:!0});let{fileId:n,file:s}=this.data;this.filename=s.filename,this.content=s.content,this.fileId=n,this.linkService.eventBus?.dispatch("fileattachmentannotation",{source:this,attachmentId:this.fileId,...s})}render(){this.container.classList.add("fileAttachmentAnnotation");let{container:e,data:n}=this,s;if(n.hasAppearance||n.fillAlpha===0)s=document.createElement("div");else if(s=document.createElement("img"),s.src=`${this.imageResourcesPath}annotation-${/paperclip/i.test(n.name)?"paperclip":"pushpin"}.svg`,n.fillAlpha&&n.fillAlpha<1)s.style=`filter: opacity(${Math.round(n.fillAlpha*100)}%);`;s.addEventListener("dblclick",this.#t.bind(this)),this.#e=s;let{isMac:i}=zn.platform;if(e.addEventListener("keydown",(r)=>{if(r.key==="Enter"&&(i?r.metaKey:r.ctrlKey))this.#t()}),!n.popupRef&&this.hasPopupData)this.hasOwnCommentButton=!0,this._createPopup();else s.classList.add("popupTriggerArea");return e.append(s),e}getElementsToTriggerPopup(){return this.#e}addHighlightArea(){this.container.classList.add("highlightArea")}async#t(){let{fileId:e,filename:n,content:s}=this,i=await this.linkService.getAttachmentContent(e)||s;if(i)this.downloadManager?.openOrDownloadData(i,n)}}class S2 extends Ts{#e=new AbortController;#t=null;#n=null;constructor(e){super(e,{isRenderable:!!e.data.richMedia})}render(){this.container.classList.add("mediaAnnotation");let{filename:e}=this.data.richMedia,n=document.createElement("button");return n.className="mediaPlayButton",n.type="button",n.title=n.ariaLabel=e,n.addEventListener("click",()=>this.#s(n),{signal:this.#e.signal}),this.container.append(n),this.container}async#s(e){let{fileId:n,filename:s,contentType:i}=this.data.richMedia;e.disabled=!0;let r;try{r=await this.linkService.getAttachmentContent(n)}catch{return}finally{e.disabled=!1}if(!r||!e.isConnected)return;let{signal:a}=this.#e,l=URL.createObjectURL(new Blob([r],{type:i}));this.#t=l;let c=i.startsWith("audio/"),f=document.createElement(c?"audio":"video");if(this.#n=f,f.className="mediaContent",this._setBackgroundColor(f),f.src=l,f.title=s,f.controls=!0,f.autoplay=!0,f.tabIndex=0,c){let m=!1,g=!1,b=()=>{f.controls=m||g};this.container.addEventListener("pointerenter",()=>{m=!0,b()},{signal:a}),this.container.addEventListener("pointerleave",()=>{m=!1,b()},{signal:a}),this.container.addEventListener("focusin",()=>{g=!0,b()},{signal:a}),this.container.addEventListener("focusout",()=>{g=!1,b()},{signal:a})}f.addEventListener("emptied",()=>this.#i(l),{once:!0,signal:a}),e.replaceWith(f),f.play().catch(()=>{})}#i(e=this.#t){if(e&&e===this.#t)URL.revokeObjectURL(e),this.#t=null}destroy(){if(this.#e.abort(),this.#n)this.#n.pause(),this.#n.removeAttribute("src"),this.#n.load(),this.#n=null;this.#i()}}class k2{#e=null;#t=null;#n=null;#s=new Map;#i=null;#a=null;#r=[];#o=!1;zIndex=0;constructor({div:e,accessibilityManager:n,annotationCanvasMap:s,annotationEditorUIManager:i,page:r,viewport:a,structTreeLayer:l,commentManager:c,linkService:f,annotationStorage:m}){this.div=e,this.#e=n,this.#t=s,this.#i=l||null,this.#a=f||null,this.#n=m||new xm,this.page=r,this.viewport=a,this._annotationEditorUIManager=i,this._commentManager=c||null}hasEditableAnnotations(){return this.#s.size>0}async render(e){let{annotations:n,optionalContentConfig:s}=e,i=this.div;fc(i,this.viewport);let r=new Map,a=[],l={data:null,layer:i,linkService:this.#a,downloadManager:e.downloadManager,imageResourcesPath:e.imageResourcesPath||"",renderForms:e.renderForms!==!1,svgFactory:new uu,annotationStorage:this.#n,enableComment:e.enableComment===!0,enableScripting:e.enableScripting===!0,hasJSActions:e.hasJSActions,fieldObjects:e.fieldObjects,parent:this,elements:null};for(let c of n){if(c.noHTML)continue;let f=c.annotationType===Is.POPUP;if(!f){if(c.rect[2]===c.rect[0]||c.rect[3]===c.rect[1])continue}else{let b=r.get(c.id);if(!b)continue;if(!this._commentManager){a.push(c);continue}l.elements=b}l.data=c;let m=rm.create(l);if(!m.isRenderable)continue;if(!f){if(this.#r.push(m),c.popupRef)r.getOrInsertComputed(c.popupRef,Sf).push(m)}let g=m.render();if(c.hidden)g.style.visibility="hidden";if(m.updateOC(s),m._isEditable)this.#s.set(m.data.id,m),this._annotationEditorUIManager?.renderAnnotationElement(m)}await this.#l();for(let c of a){let f=l.elements=r.get(c.id);l.data=c;let m=rm.create(l);if(!m.isRenderable)continue;let g=m.render();if(m.contentElement.id=`pdfjs_internal_id_${c.id}`,c.hidden)g.style.visibility="hidden";f.at(-1).container.after(g)}this.#c()}async#l(){if(this.#r.length===0)return;this.div.replaceChildren();let e=[];if(!this.#o){this.#o=!0;for(let{contentElement:s,data:{hidden:i,id:r,oc:a}}of this.#r){let l=s.id=`pdfjs_internal_id_${r}`,c=s.localName==="a"&&!i&&!a;e.push(this.#i?.getAriaAttributes(l,{enableLinkOwnership:c}).then((f)=>{if(f)for(let[m,g]of f)s.setAttribute(m,g)}))}}this.#r.sort(({data:{rect:[s,i,r,a]}},{data:{rect:[l,c,f,m]}})=>{if(s===r&&i===a)return 1;if(l===f&&c===m)return-1;let g=a,b=i,v=(i+a)/2,k=m,T=c,_=(c+m)/2;if(v>=k&&_<=b)return-1;if(_>=g&&v<=T)return 1;let P=(s+r)/2,U=(l+f)/2;return P-U});let n=document.createDocumentFragment();for(let s of this.#r)if(n.append(s.container),this._commentManager)(s.extraPopupElement?.popup||s.popup)?.renderCommentButton();else if(s.extraPopupElement)n.append(s.extraPopupElement.render());if(this.div.append(n),await Promise.all(e),this.#e){let s=await this.#i?.getAnnotationIds();for(let{contentElement:i}of this.#r){if(s?.has(i.id))continue;this.#e.addPointerInTextLayer(i,!1)}}}async addLinkAnnotations(e){let n={data:null,layer:this.div,linkService:this.#a,svgFactory:new uu,parent:this};for(let s of e){s.borderStyle||=k2._defaultBorderStyle,n.data=s;let i=rm.create(n);if(!i.isRenderable)continue;i.render(),i.contentElement.id=`pdfjs_internal_id_${s.id}`,this.#r.push(i)}await this.#l()}update({viewport:e,optionalContentConfig:n}){let s=this.div;this.viewport=e,fc(s,{rotation:e.rotation});for(let i of this.#r)i.updateOC(n);this.#c(),s.hidden=!1}destroy(){for(let e of this.#r)e.destroy?.(),this.#e?.removePointerInTextLayer(e.contentElement);this.#r.length=0,this.#s.clear(),this.div.replaceChildren()}#c(){if(!this.#t)return;let e=this.div;for(let[n,s]of this.#t){let i=e.querySelector(`[data-annotation-id="${n}"]`);if(!i)continue;if(Array.isArray(s))for(let f of s)f.className="annotationContent",f.ariaHidden=!0;else s.className="annotationContent",s.ariaHidden=!0;let r=[];for(let f of i.children)if(f.nodeName==="CANVAS")r.push(f);for(let f of r)f.remove();let a=Array.isArray(s)?s[0]:s,{firstChild:l}=i;if(!l)i.append(a);else if(!l.classList.contains("annotationContent"))l.before(a);else l.after(a);if(Array.isArray(s)){let f=a;for(let m=1,g=s.length;m<g;m++)f.after(s[m]),f=s[m]}this.#t.delete(n);let c=this.#s.get(n);if(!c)continue;if(c._hasNoCanvas)this._annotationEditorUIManager?.setMissingCanvas(n,i.id,s),c._hasNoCanvas=!1;else c.canvas=s}}refreshCanvases(){this.#c()}getEditableAnnotations(){return this.#s.values()}getEditableAnnotation(e){return this.#s.get(e)}addFakeAnnotation(e){let{div:n}=this,{id:s,rotation:i}=e,r=new vS({data:{id:s,rect:e.getPDFRect(),rotation:i},editor:e,layer:n,parent:this,enableComment:!!this._commentManager,linkService:this.#a,annotationStorage:this.#n});return r.render(),r.contentElement.id=`pdfjs_internal_id_${s}`,r.createOrUpdatePopup(),this.#r.push(r),r}removeAnnotation(e){let n=this.#r.findIndex((i)=>i.data.id===e);if(n<0)return;let[s]=this.#r.splice(n,1);this.#e?.removePointerInTextLayer(s.contentElement)}updateFakeAnnotations(e){if(e.length===0)return;for(let n of e)n.updateFakeAnnotationElement(this);this.#l()}togglePointerEvents(e=!1){this.div.classList.toggle("disabled",!e)}static get _defaultBorderStyle(){return Lt(this,"_defaultBorderStyle",Object.freeze({width:1,rawWidth:1,style:bf.SOLID,dashArray:[3],horizontalCornerRadius:0,verticalCornerRadius:0}))}}var J0=/\r\n?|\n/g;class ui extends Mt{#e="";#t=`${this.id}-editor`;#n=null;#s;_colorPicker=null;static _freeTextDefaultContent="";static _internalPadding=0;static _defaultColor=null;static _defaultFontSize=10;static get _keyboardManager(){let e=ui.prototype,n=(r)=>r.isEmpty(),{TRANSLATE_SMALL:s,TRANSLATE_BIG:i}=Al;return Lt(this,"_keyboardManager",new yr([[["ctrl+s","mac+meta+s","ctrl+p","mac+meta+p"],e.commitOrRemove,{bubbles:!0}],[["ctrl+Enter","mac+meta+Enter"],e.commitOrRemove],[["Escape"],e.commitOrRemove],[["ArrowLeft"],e._translateEmpty,{args:[-s,0],checker:n}],[["ctrl+ArrowLeft","mac+shift+ArrowLeft"],e._translateEmpty,{args:[-i,0],checker:n}],[["ArrowRight"],e._translateEmpty,{args:[s,0],checker:n}],[["ctrl+ArrowRight","mac+shift+ArrowRight"],e._translateEmpty,{args:[i,0],checker:n}],[["ArrowUp"],e._translateEmpty,{args:[0,-s],checker:n}],[["ctrl+ArrowUp","mac+shift+ArrowUp"],e._translateEmpty,{args:[0,-i],checker:n}],[["ArrowDown"],e._translateEmpty,{args:[0,s],checker:n}],[["ctrl+ArrowDown","mac+shift+ArrowDown"],e._translateEmpty,{args:[0,i],checker:n}]]))}static _type="freetext";static _editorType=Jt.FREETEXT;constructor(e){super({...e,name:"freeTextEditor"});if(this.color=e.color||ui._defaultColor||Mt._defaultLineColor,this.#s=e.fontSize||ui._defaultFontSize,!this.annotationElementId)this._uiManager.a11yAlert(Mt._l10nAlert.freetext);this.canAddComment=!1}static initialize(e,n){Mt.initialize(e,n);let s=getComputedStyle(document.documentElement);this._internalPadding=parseFloat(s.getPropertyValue("--freetext-padding"))}static updateDefaultParams(e,n){switch(e){case Sn.FREETEXT_SIZE:ui._defaultFontSize=n;break;case Sn.FREETEXT_COLOR:ui._defaultColor=n;break}}updateParams(e,n){switch(e){case Sn.FREETEXT_SIZE:this.#i(n);break;case Sn.FREETEXT_COLOR:this.#a(n);break}}static get defaultPropertiesToUpdate(){return[[Sn.FREETEXT_SIZE,ui._defaultFontSize],[Sn.FREETEXT_COLOR,ui._defaultColor||Mt._defaultLineColor]]}get propertiesToUpdate(){return[[Sn.FREETEXT_SIZE,this.#s],[Sn.FREETEXT_COLOR,this.color]]}get toolbarButtons(){return this._colorPicker||=new fu(this),[["colorPicker",this._colorPicker]]}get colorType(){return Sn.FREETEXT_COLOR}#i(e){let n=(i)=>{this.editorDiv.style.fontSize=`calc(${i}px * var(--total-scale-factor))`,this.translate(0,-(i-this.#s)*this.parentScale),this.#s=i,this.#o()},s=this.#s;this.addCommands({cmd:n.bind(this,e),undo:n.bind(this,s),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:Sn.FREETEXT_SIZE,overwriteIfSameType:!0,keepUndo:!0})}onUpdatedColor(){this.editorDiv.style.color=this.color,this._colorPicker?.update(this.color),super.onUpdatedColor()}#a(e){let n=(i)=>{this.color=i,this.onUpdatedColor()},s=this.color;this.addCommands({cmd:n.bind(this,e),undo:n.bind(this,s),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:Sn.FREETEXT_COLOR,overwriteIfSameType:!0,keepUndo:!0})}_translateEmpty(e,n){this._uiManager.translateSelectedEditors(e,n,!0)}getInitialTranslation(){let e=this.parentScale;return[-ui._internalPadding*e,-(ui._internalPadding+this.#s)*e]}rebuild(){if(!this.parent)return;if(super.rebuild(),this.div===null)return;if(!this.isAttachedToDOM)this.parent.add(this)}enableEditMode(){if(!super.enableEditMode())return!1;this.overlayDiv.classList.remove("enabled"),this.editorDiv.contentEditable=!0,this._isDraggable=!1,this.div.removeAttribute("aria-activedescendant"),this.#n=new AbortController;let e=this._uiManager.combinedSignal(this.#n);return this.editorDiv.addEventListener("keydown",this.editorDivKeydown.bind(this),{signal:e}),this.editorDiv.addEventListener("focus",this.editorDivFocus.bind(this),{signal:e}),this.editorDiv.addEventListener("blur",this.editorDivBlur.bind(this),{signal:e}),this.editorDiv.addEventListener("input",this.editorDivInput.bind(this),{signal:e}),this.editorDiv.addEventListener("paste",this.editorDivPaste.bind(this),{signal:e}),!0}disableEditMode(){if(!super.disableEditMode())return!1;return this.overlayDiv.classList.add("enabled"),this.editorDiv.contentEditable=!1,this.div.setAttribute("aria-activedescendant",this.#t),this._isDraggable=!0,this.#n?.abort(),this.#n=null,this.div.focus({preventScroll:!0}),this.isEditing=!1,this.parent.div.classList.add("freetextEditing"),!0}focusin(e){if(!this._focusEventsAllowed)return;if(super.focusin(e),e.target!==this.editorDiv)this.editorDiv.focus()}onceAdded(e){if(this.width)return;if(this.enableEditMode(),e)this.editorDiv.focus();if(this._initialOptions?.isCentered)this.center();this._initialOptions=null}isEmpty(){return!this.editorDiv||this.editorDiv.innerText.trim()===""}remove(){if(this.isEditing=!1,this.parent)this.parent.setEditingState(!0),this.parent.div.classList.add("freetextEditing");super.remove()}#r(){let e=[];this.editorDiv.normalize();let n=null;for(let s of this.editorDiv.childNodes){if(n?.nodeType===Node.TEXT_NODE&&s.nodeName==="BR")continue;e.push(ui.#l(s)),n=s}return e.join(`
121
+ `)}#o(){let[e,n]=this.parentDimensions,s;if(this.isAttachedToDOM)s=this.div.getBoundingClientRect();else{let{currentLayer:i,div:r}=this,a=r.style.display,l=r.classList.contains("hidden");r.classList.remove("hidden"),r.style.display="hidden",i.div.append(this.div),s=r.getBoundingClientRect(),r.remove(),r.style.display=a,r.classList.toggle("hidden",l)}if(this.rotation%180===this.parentRotation%180)this.width=s.width/e,this.height=s.height/n;else this.width=s.height/e,this.height=s.width/n;this.fixAndSetPosition()}commit(){if(!this.isInEditMode())return;super.commit(),this.disableEditMode();let e=this.#e,n=this.#e=this.#r().trimEnd();if(e===n)return;let s=(i)=>{if(this.#e=i,!i){this.remove();return}this.#c(),this._uiManager.rebuild(this),this.#o()};this.addCommands({cmd:()=>{s(n)},undo:()=>{s(e)},mustExec:!1}),this.#o()}shouldGetKeyboardEvents(){return this.isInEditMode()}enterInEditMode(){this.enableEditMode(),this.editorDiv.focus()}keydown(e){if(e.target===this.div&&e.key==="Enter")this.enterInEditMode(),e.preventDefault()}editorDivKeydown(e){ui._keyboardManager.exec(this,e)}editorDivFocus(e){this.isEditing=!0}editorDivBlur(e){this.isEditing=!1}editorDivInput(e){this.parent.div.classList.toggle("freetextEditing",this.isEmpty())}disableEditing(){this.editorDiv.setAttribute("role","comment"),this.editorDiv.removeAttribute("aria-multiline")}enableEditing(){this.editorDiv.setAttribute("role","textbox"),this.editorDiv.setAttribute("aria-multiline",!0)}get canChangeContent(){return!0}render(){if(this.div)return this.div;let e,n;if(this._isCopy||this.annotationElementId)e=this.x,n=this.y;super.render(),this.editorDiv=document.createElement("div"),this.editorDiv.className="internal",this.editorDiv.setAttribute("id",this.#t),this.editorDiv.setAttribute("data-l10n-id","pdfjs-free-text2"),this.editorDiv.setAttribute("data-l10n-attrs","default-content"),this.enableEditing(),this.editorDiv.contentEditable=!0;let{style:s}=this.editorDiv;if(s.fontSize=`calc(${this.#s}px * var(--total-scale-factor))`,s.color=this.color,this.div.append(this.editorDiv),this.overlayDiv=document.createElement("div"),this.overlayDiv.classList.add("overlay","enabled"),this.div.append(this.overlayDiv),this._isCopy||this.annotationElementId){let[i,r]=this.parentDimensions;if(this.annotationElementId){let{position:a}=this._initialData,[l,c]=this.getInitialTranslation();[l,c]=this.pageTranslationToScreen(l,c);let[f,m]=this.pageDimensions,[g,b]=this.pageTranslation,v,k;switch(this.rotation){case 0:v=e+(a[0]-g)/f,k=n+this.height-(a[1]-b)/m;break;case 90:v=e+(a[0]-g)/f,k=n-(a[1]-b)/m,[l,c]=[c,-l];break;case 180:v=e-this.width+(a[0]-g)/f,k=n-(a[1]-b)/m,[l,c]=[-l,-c];break;case 270:v=e+(a[0]-g-this.height*m)/f,k=n+(a[1]-b-this.width*f)/m,[l,c]=[-c,l];break}this.setAt(v*i,k*r,l,c)}else this._moveAfterPaste(e,n);this.#c(),this._isDraggable=!0,this.editorDiv.contentEditable=!1}else this._isDraggable=!1,this.editorDiv.contentEditable=!0;return this.div}static#l(e){return(e.nodeType===Node.TEXT_NODE?e.nodeValue:e.innerText).replaceAll(J0,"")}editorDivPaste(e){let n=e.clipboardData||window.clipboardData,{types:s}=n;if(s.length===1&&s[0]==="text/plain")return;e.preventDefault();let i=ui.#h(n.getData("text")||"").replaceAll(J0,`
122
+ `);if(!i)return;let r=window.getSelection();if(!r.rangeCount)return;this.editorDiv.normalize(),r.deleteFromDocument();let a=r.getRangeAt(0);if(!i.includes(`
123
+ `)){a.insertNode(document.createTextNode(i)),this.editorDiv.normalize(),r.collapseToStart();return}let{startContainer:l,startOffset:c}=a,f=[],m=[];if(l.nodeType===Node.TEXT_NODE){let v=l.parentElement;if(m.push(l.nodeValue.slice(c).replaceAll(J0,"")),v!==this.editorDiv){let k=f;for(let T of this.editorDiv.childNodes){if(T===v){k=m;continue}k.push(ui.#l(T))}}f.push(l.nodeValue.slice(0,c).replaceAll(J0,""))}else if(l===this.editorDiv){let v=f,k=0;for(let T of this.editorDiv.childNodes){if(k++===c)v=m;v.push(ui.#l(T))}}this.#e=`${f.join(`
124
+ `)}${i}${m.join(`
125
+ `)}`,this.#c();let g=new Range,b=Math.sumPrecise(f.map((v)=>v.length));for(let{firstChild:v}of this.editorDiv.childNodes)if(v.nodeType===Node.TEXT_NODE){let k=v.nodeValue.length;if(b<=k){g.setStart(v,b),g.setEnd(v,b);break}b-=k}r.removeAllRanges(),r.addRange(g)}#c(){if(this.editorDiv.replaceChildren(),!this.#e)return;for(let e of this.#e.split(`
126
+ `)){let n=document.createElement("div");n.append(e?document.createTextNode(e):document.createElement("br")),this.editorDiv.append(n)}}#u(){return this.#e.replaceAll(" "," ")}static#h(e){return e.replaceAll(" "," ")}get contentDiv(){return this.editorDiv}getPDFRect(){let e=ui._internalPadding*this.parentScale;return this.getRect(e,e)}static async deserialize(e,n,s){let i=null;if(e instanceof b2){let{data:{defaultAppearanceData:{fontSize:a,fontColor:l},rect:c,rotation:f,id:m,popupRef:g,richText:b,contentsObj:v,creationDate:k,modificationDate:T},textContent:_,textPosition:P,parent:{page:{pageNumber:U}}}=e;if(!_?.length)return null;i=e={annotationType:Jt.FREETEXT,color:Array.from(l),fontSize:a,value:_.join(`
127
+ `),position:P,pageIndex:U-1,rect:c.slice(0),rotation:f,annotationElementId:m,id:m,deleted:!1,popupRef:g,comment:v?.str||null,richText:b,creationDate:k,modificationDate:T}}let r=await super.deserialize(e,n,s);if(r.#s=e.fontSize,r.color=ut.makeHexColor(...e.color),r.#e=ui.#h(e.value),r._initialData=i,e.comment)r.setCommentData(e);return r}serialize(e=!1){if(this.isEmpty())return null;if(this.deleted)return this.serializeDeleted();let n=Mt._colorManager.convert(this.isAttachedToDOM?getComputedStyle(this.editorDiv).color:this.color),s=Object.assign(super.serialize(e),{color:n,fontSize:this.#s,value:this.#u()});if(this.addComment(s),e)return s.isCopy=!0,s;if(this.annotationElementId&&!this.#d(s))return null;return s.id=this.annotationElementId,s}#d(e){let{value:n,fontSize:s,color:i,pageIndex:r}=this._initialData;return this.hasEditedComment||this._hasBeenMoved||e.value!==n||e.fontSize!==s||e.color.some((a,l)=>a!==i[l])||e.pageIndex!==r}renderAnnotationElement(e){let n=super.renderAnnotationElement(e);if(!n)return null;let{style:s}=n;s.fontSize=`calc(${this.#s}px * var(--total-scale-factor))`,s.color=this.color,n.replaceChildren();for(let i of this.#e.split(`
128
+ `)){let r=document.createElement("div");r.append(i?document.createTextNode(i):document.createElement("br")),n.append(r)}return e.updateEdited({rect:this.getPDFRect(),popup:this._uiManager.hasCommentManager()||this.hasEditedComment?this.comment:{text:this.#e}}),n}resetAnnotationElement(e){super.resetAnnotationElement(e),e.resetEdited()}}class qm{#e=Object.create(null);updateProperty(e,n){this[e]=n,this.updateSVGProperty(e,n)}updateProperties(e){if(!e)return;for(let[n,s]of Object.entries(e))if(!n.startsWith("_"))this.updateProperty(n,s)}updateSVGProperty(e,n){this.#e[e]=n}toSVGProperties(){let e=this.#e;return this.#e=Object.create(null),{root:e}}reset(){this.#e=Object.create(null)}updateAll(e=this){this.updateProperties(e)}clone(){In("Not implemented")}}class yn extends Mt{#e=null;#t;_clipPathId=null;_colorPicker=null;_drawId=null;_drawOutlines=null;_focusDrawId=null;static _currentDrawId=-1;static _currentParent=null;static#n=null;static#s=null;static#i=null;static#a=null;static _INNER_MARGIN=3;constructor(e){super(e);this.#t=e.mustBeCommitted||!1,this._addOutlines(e)}onUpdatedColor(){this._colorPicker?.update(this.color),super.onUpdatedColor()}onUpdatedOpacity(){this._colorPicker?.updateOpacity?.(this.opacity)}_addOutlines(e){if(e.drawOutlines)this.#r(e),this.#g()}#r({drawOutlines:e,drawId:n,drawingOptions:s,clipPathId:i}){if(this._drawOutlines=e,this._drawingOptions||=s,!this.annotationElementId)this._uiManager.a11yAlert(Mt._l10nAlert[this.editorType]);if(n>=0)this._drawId=n,this._clipPathId=i??null,this.parent.drawLayer.finalizeDraw(n,e.defaultProperties),this.#l(this.parent);else this._drawId=this.#o(e,this.parent);this.#b(e.box)}#o(e,n){let{id:s,clipPathId:i}=n.drawLayer.draw(yn._mergeSVGProperties(this._drawingOptions.toSVGProperties(),e.defaultSVGProperties),!1,this.constructor._hasClipPath);if(this.constructor._hasClipPath)this._clipPathId=i;return this.#l(n),s}#l(e){let n=this._drawOutlines.getFocusSVGProperties(this.#d);if(n)this._focusDrawId=e.drawLayer.drawOutline(n,this._drawOutlines.focusMustRemoveSelfIntersections)}#c(e=this.#d){if(this._focusDrawId===null)return;this.parent?.drawLayer.updateProperties(this._focusDrawId,this._drawOutlines.getFocusSVGProperties(e))}#u(e){if(this._focusDrawId!==null)this.parent?.drawLayer.updateProperties(this._focusDrawId,{rootClass:e})}#h(){let{parent:e,_drawId:n,_focusDrawId:s,_isVisible:i}=this;if(!e||n===null)return;let r={hidden:!i};if(e.drawLayer.updateProperties(n,{rootClass:r}),s!==null)e.drawLayer.updateProperties(s,{rootClass:r})}static _mergeSVGProperties(e,n){let s=new Set(Object.keys(e));for(let[i,r]of Object.entries(n))if(s.has(i))Object.assign(e[i],r);else e[i]=r;return e}static getDefaultDrawingOptions(e){In("Not implemented")}static get typesMap(){In("Not implemented")}static get isDrawer(){return!0}static get _hasClipPath(){return!1}static get _hasDrawClass(){return!0}static get supportMultipleDrawings(){return!1}get _drawRotation(){return this.rotation}get _opacityName(){return this.constructor.typesMap.get(this.opacityType)}get#d(){return(this.parentRotation-this._drawRotation+360)%360}static updateDefaultParams(e,n){let s=this.typesMap.get(e);if(s)this._defaultDrawingOptions.updateProperty(s,n);if(this._currentParent)yn.#n.updateProperty(s,n),this._currentParent.drawLayer.updateProperties(this._currentDrawId,this._defaultDrawingOptions.toSVGProperties())}updateParams(e,n){let s=this.constructor.typesMap.get(e);if(s)this._updateProperty(e,s,n)}static get defaultPropertiesToUpdate(){let e=[],n=this._defaultDrawingOptions;for(let[s,i]of this.typesMap)e.push([s,n[i]]);return e}get propertiesToUpdate(){let e=[],{_drawingOptions:n}=this;for(let[s,i]of this.constructor.typesMap)e.push([s,n[i]]);return e}_updateProperty(e,n,s){let i=this._drawingOptions,r=i[n],a=(l)=>{i.updateProperty(n,l);let c=this._drawOutlines.updateProperty(n,l);if(c)this.#b(c);if(this.parent?.drawLayer.updateProperties(this._drawId,i.toSVGProperties()),e===this.colorType)this.onUpdatedColor();else if(e===this.opacityType)this.onUpdatedOpacity()};this.addCommands({cmd:a.bind(this,s),undo:a.bind(this,r),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:e,overwriteIfSameType:!0,keepUndo:!0})}_updateColorAndOpacity(e,n,s=this.colorAndOpacityType){let i=this.constructor.typesMap.get(this.colorType),r=this._opacityName,a=this._drawingOptions,l=a[i],c=a[r],f=(m,g)=>{a.updateProperty(i,m),a.updateProperty(r,g),this._drawOutlines.updateProperty(i,m),this._drawOutlines.updateProperty(r,g),this.parent?.drawLayer.updateProperties(this._drawId,a.toSVGProperties()),this.onUpdatedColor(),this.onUpdatedOpacity()};this.addCommands({cmd:f.bind(this,e,n),undo:f.bind(this,l,c),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:s,overwriteIfSameType:!0,keepUndo:!0})}_onResizing(){this.parent?.drawLayer.updateProperties(this._drawId,yn._mergeSVGProperties(this._drawOutlines.getPathResizingSVGProperties(this.#m()),{bbox:this.#w()}))}_onResized(){this.parent?.drawLayer.updateProperties(this._drawId,yn._mergeSVGProperties(this._drawOutlines.getPathResizedSVGProperties(this.#m()),{bbox:this.#w()})),this.#c()}_onTranslating(e,n){this.parent?.drawLayer.updateProperties(this._drawId,{bbox:this.#w()})}_onTranslated(){this.parent?.drawLayer.updateProperties(this._drawId,yn._mergeSVGProperties(this._drawOutlines.getPathTranslatedSVGProperties(this.#m(),this.parentDimensions),{bbox:this.#w()}))}_onStartDragging(){this.parent?.drawLayer.updateProperties(this._drawId,{rootClass:{moving:!0}})}_onStopDragging(){this.parent?.drawLayer.updateProperties(this._drawId,{rootClass:{moving:!1}})}get _mustBeDisabledOnCommit(){return!0}commit(){if(super.commit(),this._mustBeDisabledOnCommit)this.disableEditMode(),this.disableEditing()}disableEditing(){super.disableEditing(),this.div.classList.toggle("disabled",!0)}enableEditing(){super.enableEditing(),this.div.classList.toggle("disabled",!1)}getBaseTranslation(){return[0,0]}get isResizable(){return!0}onceAdded(e){if(!this.annotationElementId)this.parent.addUndoableEditor(this);if(this._isDraggable=!0,this.#t){if(this.#t=!1,this.commit(),this.parent.setSelected(this),e&&this.isOnScreen)this.div.focus()}}remove(){this._uiManager.removeShouldRescale(this),this.#p(),super.remove()}rebuild(){if(!this.parent)return;if(super.rebuild(),this.div===null)return;if(this.#g(),this.#b(this._drawOutlines.box),!this.isAttachedToDOM)this.parent.add(this)}setParent(e){let n=!1;if(this.parent&&!e)this._uiManager.removeShouldRescale(this),this.#p();else if(e)this._uiManager.addShouldRescale(this),this.#g(e),n=!this.parent&&this.div?.classList.contains("selectedEditor");if(super.setParent(e),this.#h(),n)this.select()}#p(){if(this._drawId===null||!this.parent)return;let{drawLayer:e}=this.parent;if(e.remove(this._drawId),this._drawId=null,this._focusDrawId!==null)e.remove(this._focusDrawId),this._focusDrawId=null;this._drawingOptions.reset()}#g(e=this.parent){if(this._drawId!==null&&this.parent===e)return;if(this._drawId!==null){let{drawLayer:n}=this.parent;if(n.updateParent(this._drawId,e.drawLayer),this._focusDrawId!==null)n.updateParent(this._focusDrawId,e.drawLayer);return}if(this._drawingOptions.updateAll(),this._drawId=this.#o(this._drawOutlines,e),this._clipPathId&&this.#e)this.#e.style.clipPath=this._clipPathId}#f([e,n,s,i]){let{parentDimensions:[r,a],_drawRotation:l}=this;switch(l){case 90:return[n,1-e,s*(a/r),i*(r/a)];case 180:return[1-e,1-n,s,i];case 270:return[1-n,e,s*(a/r),i*(r/a)];default:return[e,n,s,i]}}#m(){let{x:e,y:n,width:s,height:i,parentDimensions:[r,a],_drawRotation:l}=this;switch(l){case 90:return[1-n,e,s*(r/a),i*(a/r)];case 180:return[1-e,1-n,s,i];case 270:return[n,1-e,s*(r/a),i*(a/r)];default:return[e,n,s,i]}}#b(e){if([this.x,this.y,this.width,this.height]=this.#f(e),this.div)this.fixAndSetPosition(),this.setDims();this._onResized()}#w(e=this.parentRotation){let{x:n,y:s,width:i,height:r,_drawRotation:a,parentDimensions:[l,c]}=this;switch((a*4+e)/90){case 1:return[1-s-r,n,r,i];case 2:return[1-n-i,1-s-r,i,r];case 3:return[s,1-n-i,r,i];case 4:return[n,s-i*(l/c),r*(c/l),i*(l/c)];case 5:return[1-s,n,i*(l/c),r*(c/l)];case 6:return[1-n-r*(c/l),1-s,r*(c/l),i*(l/c)];case 7:return[s-i*(l/c),1-n-r*(c/l),i*(l/c),r*(c/l)];case 8:return[n-i,s-r,i,r];case 9:return[1-s,n-i,r,i];case 10:return[1-n,1-s,i,r];case 11:return[s-r,1-n,r,i];case 12:return[n-r*(c/l),s,r*(c/l),i*(l/c)];case 13:return[1-s-i*(l/c),n-r*(c/l),i*(l/c),r*(c/l)];case 14:return[1-n,1-s-i*(l/c),r*(c/l),i*(l/c)];case 15:return[s,1-n,i*(l/c),r*(c/l)];default:return[n,s,i,r]}}rotate(e=this.parentRotation){if(!this.parent||this._drawId===null)return;let n=(e-this._drawRotation+360)%360;this.parent.drawLayer.updateProperties(this._drawId,yn._mergeSVGProperties({bbox:this.#w(e)},this._drawOutlines.updateRotation(n))),this.#c(n)}show(e=this._isVisible){super.show(e),this.#h()}select(){super.select(),this.#u({hovered:!1,selected:!0})}unselect(){super.unselect(),this.#u({selected:!1})}pointerover(){if(!this.isSelected)this.#u({hovered:!0})}pointerleave(){if(!this.isSelected)this.#u({hovered:!1})}onScaleChanging(){if(!this.parent)return;let e=this._drawOutlines.updateParentDimensions(this.parentDimensions,this.parent.scale);if(e)this.#b(e)}static onScaleChangingWhenDrawing(){}render(){if(this.div)return this.div;let e,n;if(this._isCopy)e=this.x,n=this.y;let s=super.render();if(this.constructor._hasDrawClass)s.classList.add("draw");let i=this.#e=document.createElement("div");if(s.append(i),i.setAttribute("aria-hidden","true"),i.className="internal",this._clipPathId)i.style.clipPath=this._clipPathId;if(S7(this,i,["pointerover","pointerleave"]),this.setDims(),this._uiManager.addShouldRescale(this),this.disableEditing(),this._isCopy)this._moveAfterPaste(e,n);return s}static createDrawerInstance(e){In("Not implemented")}static _getDrawingTarget(e,{target:n}){return n}static _getPointerCoords({offsetX:e,offsetY:n,clientX:s,clientY:i},r=null){if(!r)return[e,n];let a=s-r.clientX,l=i-r.clientY;switch(this._currentParent.viewport.rotation){case 90:[a,l]=[l,-a];break;case 180:[a,l]=[-a,-l];break;case 270:[a,l]=[-l,a];break}return[r.offsetX+a,r.offsetY+l]}static _addDrawingListeners(e,n){}static _endDrawingSession(e=!1){return this._currentParent.endDrawingSession(e)}static startDrawing(e,n,s,i){let{pointerId:r,pointerType:a}=i;if(On.isInitializedAndDifferentPointerType(a))return;let l=this._getDrawingTarget(e,i),[c,f]=this._getPointerCoords(i),{viewport:{rotation:m}}=e,{x:g,y:b,width:v,height:k}=l.getBoundingClientRect(),T=yn.#s=new AbortController,_=e.combinedSignal(T);if(On.setPointer(a,r),window.addEventListener("pointerup",(z)=>{if(On.isSamePointerIdOrRemove(z.pointerId))this._endDraw(z)},{signal:_}),window.addEventListener("pointercancel",(z)=>{if(On.isSamePointerIdOrRemove(z.pointerId))this._endDrawingSession()},{signal:_}),window.addEventListener("pointerdown",(z)=>{if(!On.isSamePointerType(z.pointerType))return;if(On.initializeAndAddPointerId(z.pointerId),yn.#n.isCancellable())if(yn.#n.removeLastElement(),yn.#n.isEmpty())this._endDrawingSession(!0);else this._endDraw(null)},{capture:!0,passive:!1,signal:_}),window.addEventListener("contextmenu",ca,{signal:_}),l.addEventListener("pointermove",this._drawMove.bind(this),{signal:_}),l.addEventListener("touchmove",(z)=>{if(On.isSameTimeStamp(z.timeStamp))ri(z)},{signal:_}),this._addDrawingListeners(l,_),e.toggleDrawing(),n._editorUndoBar?.hide(),yn.#n){e.drawLayer.updateProperties(this._currentDrawId,yn.#n.startNew(c,f,v,k,m));return}n.updateUIForDefaultProperties(this),yn.#n=this.createDrawerInstance({x:c,y:f,box:[g,b,v,k],rotation:m,parent:e,isLTR:s}),yn.#i=this.getDefaultDrawingOptions(),this._currentParent=e;let{id:P,clipPathId:U}=e.drawLayer.draw(this._mergeSVGProperties(yn.#i.toSVGProperties(),yn.#n.defaultSVGProperties),!0,this._hasClipPath);this._currentDrawId=P,yn.#a=this._hasClipPath?U:null}static _drawMove(e){if(On.isSameTimeStamp(e.timeStamp),!yn.#n)return;if(!On.isSamePointerId(e.pointerId))return;if(On.isUsingMultiplePointers()){this._endDraw(e);return}let n,s=e.getCoalescedEvents?.();if(s?.length){let i=[];for(let r of s)i.push(...this._getPointerCoords(r,e));n=yn.#n.addPoints(i)}else n=yn.#n.add(...this._getPointerCoords(e));this._currentParent.drawLayer.updateProperties(this._currentDrawId,n),On.setTimeStamp(e.timeStamp),ri(e)}static _cleanup(e){if(e)this._currentDrawId=-1,this._currentParent=null,yn.#n=null,yn.#i=null,yn.#a=null,On.clearTimeStamp();if(yn.#s)yn.#s.abort(),yn.#s=null,On.clearPointerIds()}static _endDraw(e){let n=this._currentParent;if(!n)return;if(n.toggleDrawing(!0),this._cleanup(!1),n.drawLayer.updateProperties(this._currentDrawId,e?.target===n.div?yn.#n.end(...this._getPointerCoords(e)):yn.#n.end()),this.supportMultipleDrawings){let s=yn.#n,i=this._currentDrawId,r=s.getLastElement();n.addCommands({cmd:()=>{n.drawLayer.updateProperties(i,s.setLastElement(r))},undo:()=>{n.drawLayer.updateProperties(i,s.removeLastElement())},mustExec:!1,type:Sn.DRAW_STEP});return}this.endDrawing(!1)}static endDrawing(e){let n=this._currentParent;if(!n)return null;if(n.toggleDrawing(!0),n.cleanUndoStack(Sn.DRAW_STEP),!yn.#n.isEmpty()){let{pageDimensions:[s,i],scale:r}=n,a=n.createAndAddNewEditor({offsetX:0,offsetY:0},!1,{drawId:this._currentDrawId,clipPathId:yn.#a,drawOutlines:yn.#n.getOutlines(s*r,i*r,r,this._INNER_MARGIN),drawingOptions:yn.#i,mustBeCommitted:!e});return this._cleanup(!0),a}return n.drawLayer.remove(this._currentDrawId),this._cleanup(!0),null}createDrawingOptions(e){}static deserializeDraw(e,n,s,i,r,a,l){In("Not implemented")}static async deserialize(e,n,s){let{rawDims:{pageWidth:i,pageHeight:r,pageX:a,pageY:l}}=n.viewport,c=this.deserializeDraw(a,l,i,r,this._INNER_MARGIN,e,s),f=await super.deserialize(e,n,s);return f.createDrawingOptions(e),f.#r({drawOutlines:c}),f.#g(),f.onScaleChanging(),f.rotate(),f}serializeDraw(e){let[n,s]=this.pageTranslation,[i,r]=this.pageDimensions;return this._drawOutlines.serialize([n,s,i,r],e)}renderAnnotationElement(e){return e.updateEdited({rect:this.getPDFRect()}),null}static canCreateNewEmptyEditor(){return!1}}class xt{static PRECISION=0.0001;focusOutline=null;toSVGPath(){In("Abstract method `toSVGPath` must be implemented.")}get box(){In("Abstract getter `box` must be implemented.")}serialize(e,n){In("Abstract method `serialize` must be implemented.")}get defaultSVGProperties(){In("Abstract getter `defaultSVGProperties` must be implemented.")}get defaultProperties(){return this.defaultSVGProperties}getFocusSVGProperties(e){return null}get focusMustRemoveSelfIntersections(){return!1}updateProperty(e,n){return null}updateParentDimensions(e,n){return null}serializeQuadPoints(e,n){return null}updateRotation(e){return{}}getPathResizingSVGProperties(e){return{}}getPathResizedSVGProperties(e){return{}}getPathTranslatedSVGProperties(e,n){return{}}static _rotateBox([e,n,s,i],r){switch(r){case 90:return[1-n-i,e,i,s];case 180:return[1-e-s,1-n-i,s,i];case 270:return[n,1-e-s,i,s]}return[e,n,s,i]}static _rescale(e,n,s,i,r,a){a||=new Float32Array(e.length);for(let l=0,c=e.length;l<c;l+=2)a[l]=n+e[l]*i,a[l+1]=s+e[l+1]*r;return a}static _rescaleAndSwap(e,n,s,i,r,a){a||=new Float32Array(e.length);for(let l=0,c=e.length;l<c;l+=2)a[l]=n+e[l+1]*i,a[l+1]=s+e[l]*r;return a}static _translate(e,n,s,i){i||=new Float32Array(e.length);for(let r=0,a=e.length;r<a;r+=2)i[r]=n+e[r],i[r+1]=s+e[r+1];return i}static svgRound(e){return Math.round(e*1e4)}static _normalizePoint(e,n,s,i,r){switch(r){case 90:return[1-n/s,e/i];case 180:return[1-e/s,1-n/i];case 270:return[n/s,1-e/i];default:return[e/s,n/i]}}static createBezierPoints(e,n,s,i,r,a){return[(e+5*s)/6,(n+5*i)/6,(5*s+r)/6,(5*i+a)/6,(s+r)/2,(i+a)/2]}}class oc{#e;#t=[];#n;#s;#i=[];#a=new Float32Array(18);#r;#o;#l;#c;#u;#h;#d=[];static#p=8;static#g=2;static#f=oc.#p+oc.#g;constructor(e,n,s,i,r,a,l=0){this.#e=s,this.#h=r*i,this.#s=a,this.#a.set([NaN,NaN,NaN,NaN,e,n],6),this.#n=l,this.#c=oc.#p*i,this.#l=oc.#f*i,this.#u=i,this.#d.push(e,n)}isEmpty(){return isNaN(this.#a[8])}isCancellable(){return this.#d.length<=10}removeLastElement(){return this.#a.fill(NaN),this.#i.length=this.#t.length=this.#d.length=0,{path:{d:""}}}#m(){let e=this.#a.subarray(4,6),n=this.#a.subarray(16,18),[s,i,r,a]=this.#e;return[(this.#r+(e[0]-n[0])/2-s)/r,(this.#o+(e[1]-n[1])/2-i)/a,(this.#r+(n[0]-e[0])/2-s)/r,(this.#o+(n[1]-e[1])/2-i)/a]}add(e,n){this.#r=e,this.#o=n;let[s,i,r,a]=this.#e,[l,c,f,m]=this.#a.subarray(8,12),g=e-f,b=n-m,v=Math.hypot(g,b);if(v<this.#l)return!1;let k=v-this.#c,T=k/v,_=T*g,P=T*b,U=l,z=c;l=f,c=m,f+=_,m+=P,this.#d?.push(e,n);let V=-P/k,X=_/k,J=V*this.#h,ee=X*this.#h;if(this.#a.set(this.#a.subarray(2,8),0),this.#a.set([f+J,m+ee],4),this.#a.set(this.#a.subarray(14,18),12),this.#a.set([f-J,m-ee],16),isNaN(this.#a[6])){if(this.#i.length===0)this.#a.set([l+J,c+ee],2),this.#i.push(NaN,NaN,NaN,NaN,(l+J-s)/r,(c+ee-i)/a),this.#a.set([l-J,c-ee],14),this.#t.push(NaN,NaN,NaN,NaN,(l-J-s)/r,(c-ee-i)/a);return this.#a.set([U,z,l,c,f,m],6),!this.isEmpty()}if(this.#a.set([U,z,l,c,f,m],6),Math.abs(Math.atan2(z-c,U-l)-Math.atan2(P,_))<Math.PI/2)return[l,c,f,m]=this.#a.subarray(2,6),this.#i.push(NaN,NaN,NaN,NaN,((l+f)/2-s)/r,((c+m)/2-i)/a),[l,c,U,z]=this.#a.subarray(14,18),this.#t.push(NaN,NaN,NaN,NaN,((U+l)/2-s)/r,((z+c)/2-i)/a),!0;return[U,z,l,c,f,m]=this.#a.subarray(0,6),this.#i.push(((U+5*l)/6-s)/r,((z+5*c)/6-i)/a,((5*l+f)/6-s)/r,((5*c+m)/6-i)/a,((l+f)/2-s)/r,((c+m)/2-i)/a),[f,m,l,c,U,z]=this.#a.subarray(12,18),this.#t.push(((U+5*l)/6-s)/r,((z+5*c)/6-i)/a,((5*l+f)/6-s)/r,((5*c+m)/6-i)/a,((l+f)/2-s)/r,((c+m)/2-i)/a),!0}toSVGPath(){if(this.isEmpty())return"";let e=this.#i,n=this.#t;if(isNaN(this.#a[6])&&!this.isEmpty())return this.#b();let s=[];s.push(`M${e[4]} ${e[5]}`);for(let i=6;i<e.length;i+=6)if(isNaN(e[i]))s.push(`L${e[i+4]} ${e[i+5]}`);else s.push(`C${e[i]} ${e[i+1]} ${e[i+2]} ${e[i+3]} ${e[i+4]} ${e[i+5]}`);this.#y(s);for(let i=n.length-6;i>=6;i-=6)if(isNaN(n[i]))s.push(`L${n[i+4]} ${n[i+5]}`);else s.push(`C${n[i]} ${n[i+1]} ${n[i+2]} ${n[i+3]} ${n[i+4]} ${n[i+5]}`);return this.#w(s),s.join(" ")}#b(){let[e,n,s,i]=this.#e,[r,a,l,c]=this.#m();return`M${(this.#a[2]-e)/s} ${(this.#a[3]-n)/i} L${(this.#a[4]-e)/s} ${(this.#a[5]-n)/i} L${r} ${a} L${l} ${c} L${(this.#a[16]-e)/s} ${(this.#a[17]-n)/i} L${(this.#a[14]-e)/s} ${(this.#a[15]-n)/i} Z`}#w(e){let n=this.#t;e.push(`L${n[4]} ${n[5]} Z`)}#y(e){let[n,s,i,r]=this.#e,a=this.#a.subarray(4,6),l=this.#a.subarray(16,18),[c,f,m,g]=this.#m();e.push(`L${(a[0]-n)/i} ${(a[1]-s)/r} L${c} ${f} L${m} ${g} L${(l[0]-n)/i} ${(l[1]-s)/r}`)}newFreeDrawOutline(e,n,s,i,r,a){return new x2(e,n,s,i,r,a)}getOutlines(){let e=this.#i,n=this.#t,s=this.#a,[i,r,a,l]=this.#e,c=new Float32Array((this.#d?.length??0)+2);for(let g=0,b=c.length-2;g<b;g+=2)c[g]=(this.#d[g]-i)/a,c[g+1]=(this.#d[g+1]-r)/l;if(c[c.length-2]=(this.#r-i)/a,c[c.length-1]=(this.#o-r)/l,isNaN(s[6])&&!this.isEmpty())return this.#v(c);let f=new Float32Array(this.#i.length+24+this.#t.length),m=e.length;for(let g=0;g<m;g+=2){if(isNaN(e[g])){f[g]=f[g+1]=NaN;continue}f[g]=e[g],f[g+1]=e[g+1]}m=this.#k(f,m);for(let g=n.length-6;g>=6;g-=6)for(let b=0;b<6;b+=2){if(isNaN(n[g+b])){f[m]=f[m+1]=NaN,m+=2;continue}f[m]=n[g+b],f[m+1]=n[g+b+1],m+=2}return this.#x(f,m),this.newFreeDrawOutline(f,c,this.#e,this.#u,this.#n,this.#s)}#v(e){let n=this.#a,[s,i,r,a]=this.#e,[l,c,f,m]=this.#m(),g=new Float32Array(36);return g.set([NaN,NaN,NaN,NaN,(n[2]-s)/r,(n[3]-i)/a,NaN,NaN,NaN,NaN,(n[4]-s)/r,(n[5]-i)/a,NaN,NaN,NaN,NaN,l,c,NaN,NaN,NaN,NaN,f,m,NaN,NaN,NaN,NaN,(n[16]-s)/r,(n[17]-i)/a,NaN,NaN,NaN,NaN,(n[14]-s)/r,(n[15]-i)/a],0),this.newFreeDrawOutline(g,e,this.#e,this.#u,this.#n,this.#s)}#x(e,n){let s=this.#t;return e.set([NaN,NaN,NaN,NaN,s[4],s[5]],n),n+=6}#k(e,n){let s=this.#a.subarray(4,6),i=this.#a.subarray(16,18),[r,a,l,c]=this.#e,[f,m,g,b]=this.#m();return e.set([NaN,NaN,NaN,NaN,(s[0]-r)/l,(s[1]-a)/c,NaN,NaN,NaN,NaN,f,m,NaN,NaN,NaN,NaN,g,b,NaN,NaN,NaN,NaN,(i[0]-r)/l,(i[1]-a)/c],n),n+=24}}class x2 extends xt{#e;#t=new Float32Array(4);#n;#s;#i;#a;#r;constructor(e,n,s,i,r,a){super();this.#r=e,this.#i=n,this.#e=s,this.#a=i,this.#n=r,this.#s=a,this.firstPoint=[NaN,NaN],this.lastPoint=[NaN,NaN],this.#o(a);let[l,c,f,m]=this.#t;for(let g=0,b=e.length;g<b;g+=2)e[g]=(e[g]-l)/f,e[g+1]=(e[g+1]-c)/m;for(let g=0,b=n.length;g<b;g+=2)n[g]=(n[g]-l)/f,n[g+1]=(n[g+1]-c)/m}toSVGPath(){let e=[`M${this.#r[4]} ${this.#r[5]}`];for(let n=6,s=this.#r.length;n<s;n+=6){if(isNaN(this.#r[n])){e.push(`L${this.#r[n+4]} ${this.#r[n+5]}`);continue}e.push(`C${this.#r[n]} ${this.#r[n+1]} ${this.#r[n+2]} ${this.#r[n+3]} ${this.#r[n+4]} ${this.#r[n+5]}`)}return e.push("Z"),e.join(" ")}serialize([e,n,s,i],r){let a=s-e,l=i-n,c,f;switch(r){case 0:c=xt._rescale(this.#r,e,i,a,-l),f=xt._rescale(this.#i,e,i,a,-l);break;case 90:c=xt._rescaleAndSwap(this.#r,e,n,a,l),f=xt._rescaleAndSwap(this.#i,e,n,a,l);break;case 180:c=xt._rescale(this.#r,s,n,-a,l),f=xt._rescale(this.#i,s,n,-a,l);break;case 270:c=xt._rescaleAndSwap(this.#r,s,i,-a,-l),f=xt._rescaleAndSwap(this.#i,s,i,-a,-l);break}return{outline:Array.from(c),points:[Array.from(f)]}}#o(e){let n=this.#r,s=n[4],i=n[5],r=[s,i,s,i],a=s,l=i,c=s,f=i,m=e?Math.max:Math.min,g=new Float32Array(4);for(let v=6,k=n.length;v<k;v+=6){let T=n[v+4],_=n[v+5];if(isNaN(n[v])){if(ut.pointBoundingBox(T,_,r),l>_)a=T,l=_;else if(l===_)a=m(a,T);if(f<_)c=T,f=_;else if(f===_)c=m(c,T)}else{if(g.set(Eo,0),ut.bezierBoundingBox(s,i,...n.slice(v,v+6),g),ut.rectBoundingBox(...g,r),l>g[1])a=g[0],l=g[1];else if(l===g[1])a=m(a,g[0]);if(f<g[3])c=g[2],f=g[3];else if(f===g[3])c=m(c,g[2])}s=T,i=_}let b=this.#t;b[0]=r[0]-this.#n,b[1]=r[1]-this.#n,b[2]=r[2]-r[0]+2*this.#n,b[3]=r[3]-r[1]+2*this.#n,this.firstPoint=[a,l],this.lastPoint=[c,f]}get box(){return this.#t}newOutliner(e,n,s,i,r,a,l=0){return new oc(e,n,s,i,r,a,l)}updateThickness(e){let n=this.getNewOutline(e);return this.#r=n.#r,this.#i=n.#i,this.#t.set(n.#t),this.firstPoint=n.firstPoint,this.lastPoint=n.lastPoint,this.#t}getNewOutline(e,n){let[s,i,r,a]=this.#t,[l,c,f,m]=this.#e,g=r*f,b=a*m,v=s*f+l,k=i*m+c,T=this.#i,_=this.newOutliner(T[0]*g+v,T[1]*b+k,this.#e,this.#a,e,this.#s,n??this.#n);for(let P=2,U=T.length;P<U;P+=2)_.add(T[P]*g+v,T[P+1]*b+k);return _.getOutlines()}}function PS(e){return{bbox:e.box,root:{viewBox:"0 0 1 1"},rootClass:{highlight:!0,free:e.isFree},path:{d:e.toSVGPath()}}}function NS(e,n){let{focusOutline:s}=e;return{bbox:xt._rotateBox(s.box,n),root:{"data-main-rotation":n},rootClass:{highlightOutline:!0,free:e.isFree},path:{d:s.toSVGPath()}}}class dm{#e;#t;#n;#s=[];#i=[];constructor(e,n=0,s=0,i=!0){let r=Eo.slice(),a=4,l=0.0001;for(let{x:_,y:P,width:U,height:z}of e){let V=Math.floor((_-n)/0.0001)*0.0001,X=Math.ceil((_+U+n)/0.0001)*0.0001,J=Math.floor((P-n)/0.0001)*0.0001,ee=Math.ceil((P+z+n)/0.0001)*0.0001,te=[V,J,ee,!0],ne=[X,J,ee,!1];this.#s.push(te,ne),ut.rectBoundingBox(V,J,X,ee,r)}let c=r[2]-r[0]+2*s,f=r[3]-r[1]+2*s,m=r[0]-s,g=r[1]-s,b=i?-1/0:1/0,v=1/0,k=this.#s.at(i?-1:-2),T=[k[0],k[2]];for(let _ of this.#s){let[P,U,z,V]=_;if(!V&&i){if(U<v)v=U,b=P;else if(U===v)b=Math.max(b,P)}else if(V&&!i){if(U<v)v=U,b=P;else if(U===v)b=Math.min(b,P)}_[0]=(P-m)/c,_[1]=(U-g)/f,_[2]=(z-g)/f}this.#e=new Float32Array([m,g,c,f]),this.#t=[b,v],this.#n=T}getOutlines(){this.#s.sort((n,s)=>n[0]-s[0]||n[1]-s[1]||n[2]-s[2]);let e=[];for(let n of this.#s)if(n[3])e.push(...this.#c(n)),this.#o(n);else this.#l(n),e.push(...this.#c(n));return this.#a(e)}#a(e){let n=[],s=new Set;for(let a of e){let[l,c,f]=a;n.push([l,c,a],[l,f,a])}n.sort((a,l)=>a[1]-l[1]||a[0]-l[0]);for(let a=0,l=n.length;a<l;a+=2){let c=n[a][2],f=n[a+1][2];c.push(f),f.push(c),s.add(c),s.add(f)}let i=[],r;while(s.size>0){let a=s.values().next().value,[l,c,f,m,g]=a;s.delete(a);let b=l,v=c;r=[l,f],i.push(r);while(!0){let k;if(s.has(m))k=m;else if(s.has(g))k=g;else break;if(s.delete(k),[l,c,f,m,g]=k,b!==l)r.push(b,v,l,v===c?c:f),b=l;v=v===c?f:c}r.push(b,v)}return new mm(i,this.#e,this.#t,this.#n)}#r(e){let n=this.#i,s=0,i=n.length-1;while(s<=i){let r=s+i>>1,a=n[r][0];if(a===e)return r;if(a<e)s=r+1;else i=r-1}return i+1}#o([,e,n]){let s=this.#r(e);this.#i.splice(s,0,[e,n])}#l([,e,n]){let s=this.#r(e);for(let i=s;i<this.#i.length;i++){let[r,a]=this.#i[i];if(r!==e)break;if(r===e&&a===n){this.#i.splice(i,1);return}}for(let i=s-1;i>=0;i--){let[r,a]=this.#i[i];if(r!==e)break;if(r===e&&a===n){this.#i.splice(i,1);return}}}#c(e){let[n,s,i]=e,r=[[n,s,i]],a=this.#r(i);for(let l=0;l<a;l++){let[c,f]=this.#i[l];for(let m=0,g=r.length;m<g;m++){let[,b,v]=r[m];if(f<=b||v<=c)continue;if(b>=c){if(v>f)r[m][1]=f;else{if(g===1)return[];r.splice(m,1),m--,g--}continue}if(r[m][2]=c,v>f)r.push([n,f,v])}}return r}}class mm extends xt{#e;#t=null;#n;constructor(e,n,s,i){super();this.#n=e,this.#e=n,this.firstPoint=s,this.lastPoint=i}static build(e,n){let s=new dm(e,0.001).getOutlines();return s.#t=e,s.focusOutline=new dm(e,0.0025,0.001,n).getOutlines(),s}get isFree(){return!1}get defaultSVGProperties(){return PS(this)}getFocusSVGProperties(e){return NS(this,e)}updateRotation(e){return{root:{"data-main-rotation":e}}}serializeQuadPoints([e,n],[s,i]){let r=this.#t,a=new Float32Array(r.length*8),l=0;for(let{x:c,y:f,width:m,height:g}of r){let b=c*s+e,v=(1-f)*i+n;a[l]=a[l+4]=b,a[l+1]=a[l+3]=v,a[l+2]=a[l+6]=b+m*s,a[l+5]=a[l+7]=v-g*i,l+=8}return a}toSVGPath(){let e=[];for(let n of this.#n){let[s,i]=n;e.push(`M${s} ${i}`);for(let r=2;r<n.length;r+=2){let a=n[r],l=n[r+1];if(a===s)e.push(`V${l}`),i=l;else if(l===i)e.push(`H${a}`),s=a}e.push("Z")}return e.join(" ")}serialize([e,n,s,i],r){let a=[],l=s-e,c=i-n;for(let f of this.#n){let m=Array(f.length);for(let g=0;g<f.length;g+=2)m[g]=e+f[g]*l,m[g+1]=i-f[g+1]*c;a.push(m)}return a}get box(){return this.#e}}class Mm extends oc{newFreeDrawOutline(e,n,s,i,r,a){return new A2(e,n,s,i,r,a)}}class BS{#e;#t;constructor(e,n,s,i,r,a,l){this.#e=new Mm(e,n,s,i,r,a,l),this.#t=r}add(e,n){return this.#e.add(e,n)?{path:{d:this.#e.toSVGPath()}}:null}addPoints(e){let n=!1;for(let s=0,i=e.length;s<i;s+=2)n=this.#e.add(e[s],e[s+1])||n;return n?{path:{d:this.#e.toSVGPath()}}:null}end(e,n){return e===void 0?null:this.add(e,n)}isEmpty(){return this.#e.isEmpty()}isCancellable(){return this.#e.isCancellable()}removeLastElement(){return this.#e.removeLastElement()}updateProperty(e,n){return null}getOutlines(){let e=this.#e.getOutlines();return e.buildFocusOutline(2*this.#t),e}get defaultSVGProperties(){return{bbox:[0,0,1,1],root:{viewBox:"0 0 1 1"},rootClass:{highlight:!0,free:!0},path:{d:this.#e.toSVGPath()}}}}class A2 extends x2{static#e=1.5;newOutliner(e,n,s,i,r,a,l=0){return new Mm(e,n,s,i,r,a,l)}get isFree(){return!0}buildFocusOutline(e){this.focusOutline=this.getNewOutline(e/2+A2.#e,0.0025)}get defaultSVGProperties(){return PS(this)}getFocusSVGProperties(e){return NS(this,e)}get focusMustRemoveSelfIntersections(){return!0}updateRotation(e){return{root:{"data-main-rotation":e}}}updateProperty(e,n){if(e!=="thickness")return null;let s=this.updateThickness(n/2);return this.buildFocusOutline(n),s}getPathResizedSVGProperties(){return{path:{d:this.toSVGPath()}}}}class T2 extends qm{constructor(e=null){super();super.updateProperties(e)}updateSVGProperty(e,n){if(e!=="thickness")super.updateSVGProperty(e,n)}clone(){let e=new T2;return e.updateAll(this),e}}class la extends yn{#e=null;#t=0;#n=null;#s=0;#i="";#a="";static _DEFAULT_OPACITY=1;static _DEFAULT_THICKNESS=12;static _defaultDrawingOptions=null;static _type="highlight";static _editorType=Jt.HIGHLIGHT;static get _keyboardManager(){let e=la.prototype;return Lt(this,"_keyboardManager",new yr([[["ArrowLeft"],e._moveCaret,{args:[0]}],[["ArrowRight"],e._moveCaret,{args:[1]}],[["ArrowUp"],e._moveCaret,{args:[2]}],[["ArrowDown"],e._moveCaret,{args:[3]}]]))}constructor(e){super({...e,name:"highlightEditor"});this.#e=e.anchorNode||null,this.#t=e.anchorOffset||0,this.#n=e.focusNode||null,this.#s=e.focusOffset||0,this.#i=e.methodOfCreation||(this._drawOutlines?.isFree?"main_toolbar":""),this.#a=e.text||"",this._isDraggable=!1,this.defaultL10nId="pdfjs-editor-highlight-editor",this.rotate()}static initialize(e,n){Mt.initialize(e,n),this._defaultDrawingOptions||=new T2({fill:n.highlightColors?.values().next().value||"#fff066","fill-opacity":la._DEFAULT_OPACITY,thickness:la._DEFAULT_THICKNESS})}static getDefaultDrawingOptions(e){let n=this._defaultDrawingOptions.clone();return n.updateProperties(e),n}static get typesMap(){return Lt(this,"typesMap",new Map([[Sn.HIGHLIGHT_COLOR,"fill"],[Sn.HIGHLIGHT_THICKNESS,"thickness"]]))}static get isDrawer(){return!1}static get _hasClipPath(){return!0}static get _hasDrawClass(){return!1}_addOutlines(e){let{boxes:n,drawOutlines:s}=e;if(!n&&!s)return;if(this._drawingOptions||=e.drawingOptions||la.getDefaultDrawingOptions(),n)e={...e,drawOutlines:mm.build(n,this._uiManager.direction==="ltr")};super._addOutlines(e)}get colorType(){return Sn.HIGHLIGHT_COLOR}get color(){return this._drawingOptions.fill}get opacity(){return this._drawingOptions["fill-opacity"]}get _opacityName(){return"fill-opacity"}get _drawRotation(){return this._drawOutlines?.isFree?this.rotation:0}get isResizable(){return!1}get _mustBeDisabledOnCommit(){return!1}get _mustFixPosition(){return!this._drawOutlines?.isFree}get telemetryInitialData(){return{action:"added",type:this._drawOutlines.isFree?"free_highlight":"highlight",color:this._uiManager.getNonHCMColorName(this.color),thickness:this._drawingOptions.thickness,methodOfCreation:this.#i}}get telemetryFinalData(){return{type:"highlight",color:this._uiManager.getNonHCMColorName(this.color)}}static computeTelemetryFinalData(e){return{numberOfColors:e.get("color").size}}translateInPage(e,n){}get toolbarPosition(){return this.#r(this._drawOutlines.focusOutline.lastPoint)}get commentButtonPosition(){return this.#r(this._drawOutlines.firstPoint)}#r([e,n]){let[s,i,r,a]=this._drawOutlines.box;return[(e-s)/r,(n-i)/a]}updateParams(e,n){switch(e){case Sn.HIGHLIGHT_COLOR:this._updateColorAndOpacity(n,la._DEFAULT_OPACITY,e),this._reportTelemetry({action:"color_changed",color:this._uiManager.getNonHCMColorName(n)},!0);break;case Sn.HIGHLIGHT_THICKNESS:super.updateParams(e,n),this._reportTelemetry({action:"thickness_changed",thickness:n},!0);break}}get propertiesToUpdate(){let e=super.propertiesToUpdate;return e.push([Sn.HIGHLIGHT_FREE,this._drawOutlines.isFree]),e}get toolbarButtons(){if(this._uiManager.highlightColors)return this._colorPicker=new Ur({editor:this}),[["colorPicker",this._colorPicker]];return super.toolbarButtons}fixAndSetPosition(){return super.fixAndSetPosition(this._drawRotation)}getRect(e,n){return super.getRect(e,n,this._drawRotation)}onceAdded(e){if(!this.annotationElementId)this.parent.addUndoableEditor(this);if(e)this.div.focus()}remove(){this._reportTelemetry({action:"deleted"}),super.remove()}render(){if(this.div)return this.div;let e=super.render();if(this.#a)e.setAttribute("aria-label",this.#a),e.setAttribute("role","mark");if(this._drawOutlines.isFree)e.classList.add("free");else e.addEventListener("keydown",this.#o.bind(this),{signal:this._uiManager._signal});return this.enableEditing(),e}#o(e){la._keyboardManager.exec(this,e)}_moveCaret(e){switch(this.parent.unselect(this),e){case 0:case 2:this.#l(!0);break;case 1:case 3:this.#l(!1);break}}#l(e){if(!this.#e)return;let n=window.getSelection();if(e)n.setPosition(this.#e,this.#t);else n.setPosition(this.#n,this.#s)}unselect(){if(super.unselect(),!this._drawOutlines.isFree)this.#l(!1)}static createDrawerInstance({x:e,y:n,box:s,parent:i,isLTR:r}){return new BS(e,n,s,i.scale,this._defaultDrawingOptions.thickness/2,r,0.001)}static _getDrawingTarget(e,{target:n}){return n.closest(".textLayer")}static _getPointerCoords({x:e,y:n}){return[e,n]}static _addDrawingListeners(e,n){e.classList.add("free"),n.addEventListener("abort",()=>e.classList.remove("free"),{once:!0}),window.addEventListener("blur",()=>this._endDraw(null),{signal:n}),window.addEventListener("pointerdown",ri,{capture:!0,passive:!1,signal:n})}static _endDrawingSession(e=!1){return this.endDrawing(e)}createDrawingOptions({color:e,opacity:n,thickness:s}){let{_defaultDrawingOptions:i,_DEFAULT_OPACITY:r}=la;this._drawingOptions=la.getDefaultDrawingOptions({fill:ut.makeHexColor(...e),"fill-opacity":n||r,thickness:s||i.thickness})}static deserializeDraw(e,n,s,i,r,a,l){let{quadPoints:c}=a;if(c){let v=[];for(let k=0,T=c.length;k<T;k+=8)v.push({x:(c[k]-e)/s,y:1-(c[k+1]-n)/i,width:(c[k+2]-c[k])/s,height:(c[k+1]-c[k+5])/i});return mm.build(v,l.direction==="ltr")}let f=a.thickness||this._defaultDrawingOptions.thickness,m=(a.inkLists||a.outlines.points)[0],g=new Mm(m[0]-e,i-(m[1]-n),[0,0,s,i],1,f/2,!0,0.001);for(let v=0,k=m.length;v<k;v+=2)g.add(m[v]-e,i-(m[v+1]-n));let b=g.getOutlines();return b.buildFocusOutline(f),b}static async deserialize(e,n,s){let i=null;if(e instanceof y2){let{data:{quadPoints:a,rect:l,rotation:c,id:f,color:m,opacity:g,popupRef:b,richText:v,contentsObj:k,creationDate:T,modificationDate:_},parent:{page:{pageNumber:P}}}=e;i=e={annotationType:Jt.HIGHLIGHT,color:Array.from(m),opacity:g,quadPoints:a,pageIndex:P-1,rect:l.slice(0),rotation:c,annotationElementId:f,id:f,deleted:!1,popupRef:b,richText:v,comment:k?.str||null,creationDate:T,modificationDate:_}}else if(e instanceof Dm){let{data:{inkLists:a,rect:l,rotation:c,id:f,color:m,borderStyle:{rawWidth:g},popupRef:b,richText:v,contentsObj:k,creationDate:T,modificationDate:_},parent:{page:{pageNumber:P}}}=e;i=e={annotationType:Jt.HIGHLIGHT,color:Array.from(m),thickness:g,inkLists:a,pageIndex:P-1,rect:l.slice(0),rotation:c,annotationElementId:f,id:f,deleted:!1,popupRef:b,richText:v,comment:k?.str||null,creationDate:T,modificationDate:_}}let r=await super.deserialize(e,n,s);if(r._initialData=i,e.comment)r.setCommentData(e);return r}serialize(e=!1){if(this.isEmpty()||e)return null;if(this.deleted)return this.serializeDeleted();let n=super.serialize(e);if(Object.assign(n,{color:Mt._colorManager.convert(this._uiManager.getNonHCMColor(this.color)),opacity:this.opacity,thickness:this._drawingOptions.thickness,quadPoints:this._drawOutlines.serializeQuadPoints(this.pageTranslation,this.pageDimensions),outlines:this._drawOutlines.serialize(n.rect,this._drawRotation)}),this.addComment(n),this.annotationElementId&&!this.#c(n))return null;return n.id=this.annotationElementId,n}#c(e){let{color:n}=this._initialData;return this.hasEditedComment||e.color.some((s,i)=>s!==n[i])}renderAnnotationElement(e){if(this.deleted)return e.hide(),null;return e.updateEdited({rect:this.getPDFRect(),popup:this.comment}),null}}class HS{#e=new Float64Array(6);#t=new Float64Array(2);#n;#s;#i;#a;#r;#o="";#l=0;#c=new kf;#u;#h;constructor(e,n,s,i,r,a){this.#u=s,this.#h=i,this.#i=r,this.#a=a,[e,n]=this.#d(e,n);let l=this.#n=[NaN,NaN,NaN,NaN,e,n];this.#r=[e,n],this.#s=[{line:l,points:this.#r}],this.#e.set(l,0),this.#t.set([e,n],0)}updateProperty(e,n){if(e==="stroke-width")this.#a=n}#d(e,n){return xt._normalizePoint(e,n,this.#u,this.#h,this.#i)}isEmpty(){return!this.#s?.length}isCancellable(){return this.#r.length<=10}add(e,n){if(this.#p(e,n))this.toSVGPath();return{path:{d:this.#g()}}}addPoints(e){let n=!1;for(let s=0,i=e.length;s<i;s+=2){if(!this.#p(e[s],e[s+1]))continue;if(n=!0,this.#r.length<=6)this.toSVGPath(),n=!1}if(n)this.toSVGPath();return{path:{d:this.#g()}}}#p(e,n){[e,n]=this.#d(e,n),this.#t.set([e,n],0);let[s,i,r,a]=this.#e.subarray(2,6),l=e-r,c=n-a;if(Math.hypot(this.#u*l,this.#h*c)<=2)return!1;if(this.#r.push(e,n),isNaN(s))return this.#e.set([r,a,e,n],2),this.#n.push(NaN,NaN,NaN,NaN,e,n),!0;if(isNaN(this.#e[0]))this.#n.splice(6,6);return this.#e.set([s,i,r,a,e,n],0),this.#n.push(...xt.createBezierPoints(s,i,r,a,e,n)),!0}end(e,n){if(e!==void 0&&this.#p(e,n))return{path:{d:this.toSVGPath()}};if(this.#r.length===2)return{path:{d:this.toSVGPath()}};return{path:{d:this.#o}}}startNew(e,n,s,i,r){this.#u=s,this.#h=i,this.#i=r,[e,n]=this.#d(e,n);let a=this.#n=[NaN,NaN,NaN,NaN,e,n];this.#r=[e,n],this.#t.set([e,n],0);let l=this.#s.at(-1);if(l)l.line=new Float32Array(l.line),l.points=new Float32Array(l.points);return this.#s.push({line:a,points:this.#r}),this.#e.set(a,0),this.#l=0,this.toSVGPath(),null}getLastElement(){return this.#s.at(-1)}setLastElement(e){if(!this.#s)return this.#c.setLastElement(e);return this.#s.push(e),this.#n=e.line,this.#r=e.points,this.#l=0,{path:{d:this.toSVGPath()}}}removeLastElement(){if(!this.#s)return this.#c.removeLastElement();this.#s.pop(),this.#o="";for(let e=0,n=this.#s.length;e<n;e++){let{line:s,points:i}=this.#s[e];this.#n=s,this.#r=i,this.#l=0,this.toSVGPath()}return{path:{d:this.#o}}}#g(){let e=xt.svgRound(this.#t[0]),n=xt.svgRound(this.#t[1]);if(this.#r.length===2){let s=xt.svgRound(this.#n[4]),i=xt.svgRound(this.#n[5]);return`${this.#o} M ${s} ${i} L ${e} ${n}`}return`${this.#o} L ${e} ${n}`}toSVGPath(){let e=xt.svgRound(this.#n[4]),n=xt.svgRound(this.#n[5]);if(this.#r.length===2)return this.#o=`${this.#o} M ${e} ${n} Z`,this.#o;if(this.#r.length<=6){let i=this.#o.lastIndexOf("M");this.#o=`${this.#o.slice(0,i)} M ${e} ${n}`,this.#l=6}if(this.#r.length===4){let i=xt.svgRound(this.#n[10]),r=xt.svgRound(this.#n[11]);return this.#o=`${this.#o} L ${i} ${r}`,this.#l=12,this.#o}let s=[];if(this.#l===0)s.push(`M ${e} ${n}`),this.#l=6;for(let i=this.#l,r=this.#n.length;i<r;i+=6){let[a,l,c,f,m,g]=this.#n.slice(i,i+6).map(xt.svgRound);s.push(`C${a} ${l} ${c} ${f} ${m} ${g}`)}return this.#o+=s.join(" "),this.#l=this.#n.length,this.#o}getOutlines(e,n,s,i){let r=this.#s.at(-1);return r.line=new Float32Array(r.line),r.points=new Float32Array(r.points),this.#c.build(this.#s,e,n,s,this.#i,this.#a,i),this.#e=null,this.#n=null,this.#s=null,this.#o=null,this.#c}get defaultSVGProperties(){return{root:{viewBox:"0 0 10000 10000"},rootClass:{draw:!0},bbox:[0,0,1,1]}}}class kf extends xt{#e;#t=0;#n;#s;#i;#a;#r;#o;#l;build(e,n,s,i,r,a,l){this.#i=n,this.#a=s,this.#r=i,this.#o=r,this.#l=a,this.#n=l??0,this.#s=e,this.#h()}get thickness(){return this.#l}setLastElement(e){return this.#s.push(e),{path:{d:this.toSVGPath()}}}removeLastElement(){return this.#s.pop(),{path:{d:this.toSVGPath()}}}toSVGPath(){let e=[];for(let{line:n}of this.#s){if(e.push(`M${xt.svgRound(n[4])} ${xt.svgRound(n[5])}`),n.length===6){e.push("Z");continue}if(n.length===12&&isNaN(n[6])){e.push(`L${xt.svgRound(n[10])} ${xt.svgRound(n[11])}`);continue}for(let s=6,i=n.length;s<i;s+=6){let[r,a,l,c,f,m]=n.subarray(s,s+6).map(xt.svgRound);e.push(`C${r} ${a} ${l} ${c} ${f} ${m}`)}}return e.join("")}serialize([e,n,s,i],r){let a=[],l=[],[c,f,m,g]=this.#u(),b,v,k,T,_,P,U,z,V;switch(this.#o){case 0:V=xt._rescale,b=e,v=n+i,k=s,T=-i,_=e+c*s,P=n+(1-f-g)*i,U=e+(c+m)*s,z=n+(1-f)*i;break;case 90:V=xt._rescaleAndSwap,b=e,v=n,k=s,T=i,_=e+f*s,P=n+c*i,U=e+(f+g)*s,z=n+(c+m)*i;break;case 180:V=xt._rescale,b=e+s,v=n,k=-s,T=i,_=e+(1-c-m)*s,P=n+f*i,U=e+(1-c)*s,z=n+(f+g)*i;break;case 270:V=xt._rescaleAndSwap,b=e+s,v=n+i,k=-s,T=-i,_=e+(1-f-g)*s,P=n+(1-c-m)*i,U=e+(1-f)*s,z=n+(1-c)*i;break}for(let{line:X,points:J}of this.#s)a.push(V(X,b,v,k,T,r?Array(X.length):null)),l.push(V(J,b,v,k,T,r?Array(J.length):null));return{lines:a,points:l,rect:[_,P,U,z]}}static deserialize(e,n,s,i,r,{paths:{lines:a,points:l},rotation:c,thickness:f}){let m=[],g,b,v,k,T;switch(c){case 0:T=xt._rescale,g=-e/s,b=n/i+1,v=1/s,k=-1/i;break;case 90:T=xt._rescaleAndSwap,g=-n/i,b=-e/s,v=1/i,k=1/s;break;case 180:T=xt._rescale,g=e/s+1,b=-n/i,v=-1/s,k=1/i;break;case 270:T=xt._rescaleAndSwap,g=n/i+1,b=e/s+1,v=-1/i,k=-1/s;break}if(!a){a=[];for(let P of l){let U=P.length;if(U===2){a.push(new Float32Array([NaN,NaN,NaN,NaN,P[0],P[1]]));continue}if(U===4){a.push(new Float32Array([NaN,NaN,NaN,NaN,P[0],P[1],NaN,NaN,NaN,NaN,P[2],P[3]]));continue}let z=new Float32Array(3*(U-2));a.push(z);let[V,X,J,ee]=P.subarray(0,4);z.set([NaN,NaN,NaN,NaN,V,X],0);for(let te=4;te<U;te+=2){let ne=P[te],ie=P[te+1];z.set(xt.createBezierPoints(V,X,J,ee,ne,ie),(te-2)*3),[V,X,J,ee]=[J,ee,ne,ie]}}}for(let P=0,U=a.length;P<U;P++)m.push({line:T(a[P].map((z)=>z??NaN),g,b,v,k),points:T(l[P].map((z)=>z??NaN),g,b,v,k)});let _=new this.prototype.constructor;return _.build(m,s,i,1,c,f,r),_}#c(e=this.#l){let n=this.#n+e/2*this.#r;return this.#o%180===0?[n/this.#i,n/this.#a]:[n/this.#a,n/this.#i]}#u(){let[e,n,s,i]=this.#e,[r,a]=this.#c(0);return[e+r,n+a,s-2*r,i-2*a]}#h(){let e=this.#e=ac.slice();for(let{line:i}of this.#s){if(i.length<=12){for(let l=4,c=i.length;l<c;l+=6)ut.pointBoundingBox(i[l],i[l+1],e);continue}let r=i[4],a=i[5];for(let l=6,c=i.length;l<c;l+=6){let[f,m,g,b,v,k]=i.subarray(l,l+6);ut.bezierBoundingBox(r,a,f,m,g,b,v,k,e),r=v,a=k}}let[n,s]=this.#c();e[0]=ps(e[0]-n,0,1),e[1]=ps(e[1]-s,0,1),e[2]=ps(e[2]+n,0,1),e[3]=ps(e[3]+s,0,1),e[2]-=e[0],e[3]-=e[1]}get box(){return this.#e}updateProperty(e,n){return e==="stroke-width"?this.#d(n):null}#d(e){let[n,s]=this.#c();this.#l=e;let[i,r]=this.#c(),[a,l]=[i-n,r-s],c=this.#e;return c[0]-=a,c[1]-=l,c[2]+=2*a,c[3]+=2*l,c}updateParentDimensions([e,n],s){let[i,r]=this.#c();this.#i=e,this.#a=n,this.#r=s;let[a,l]=this.#c(),c=a-i,f=l-r,m=this.#e;return m[0]-=c,m[1]-=f,m[2]+=2*c,m[3]+=2*f,m}updateRotation(e){return this.#t=e,{path:{transform:this.rotationTransform}}}get viewBox(){return this.#e.map(xt.svgRound).join(" ")}get defaultProperties(){let[e,n]=this.#e;return{root:{viewBox:this.viewBox},path:{"transform-origin":`${xt.svgRound(e)} ${xt.svgRound(n)}`}}}get rotationTransform(){let[,,e,n]=this.#e,s=0,i=0,r=0,a=0,l=0,c=0;switch(this.#t){case 90:i=n/e,r=-e/n,l=e;break;case 180:s=-1,a=-1,l=e,c=n;break;case 270:i=-n/e,r=e/n,c=n;break;default:return""}return`matrix(${s} ${i} ${r} ${a} ${xt.svgRound(l)} ${xt.svgRound(c)})`}getPathResizingSVGProperties([e,n,s,i]){let[r,a]=this.#c(),[l,c,f,m]=this.#e;if(Math.abs(f-r)<=xt.PRECISION||Math.abs(m-a)<=xt.PRECISION){let T=e+s/2-(l+f/2),_=n+i/2-(c+m/2);return{path:{"transform-origin":`${xt.svgRound(e)} ${xt.svgRound(n)}`,transform:`${this.rotationTransform} translate(${T} ${_})`}}}let g=(s-2*r)/(f-2*r),b=(i-2*a)/(m-2*a),v=f/s,k=m/i;return{path:{"transform-origin":`${xt.svgRound(l)} ${xt.svgRound(c)}`,transform:`${this.rotationTransform} scale(${v} ${k}) translate(${xt.svgRound(r)} ${xt.svgRound(a)}) scale(${g} ${b}) translate(${xt.svgRound(-r)} ${xt.svgRound(-a)})`}}}getPathResizedSVGProperties([e,n,s,i]){let[r,a]=this.#c(),l=this.#e,[c,f,m,g]=l;if(l[0]=e,l[1]=n,l[2]=s,l[3]=i,Math.abs(m-r)<=xt.PRECISION||Math.abs(g-a)<=xt.PRECISION){let _=e+s/2-(c+m/2),P=n+i/2-(f+g/2);for(let{line:U,points:z}of this.#s)xt._translate(U,_,P,U),xt._translate(z,_,P,z);return{root:{viewBox:this.viewBox},path:{"transform-origin":`${xt.svgRound(e)} ${xt.svgRound(n)}`,transform:this.rotationTransform||null,d:this.toSVGPath()}}}let b=(s-2*r)/(m-2*r),v=(i-2*a)/(g-2*a),k=-b*(c+r)+e+r,T=-v*(f+a)+n+a;if(b!==1||v!==1||k!==0||T!==0)for(let{line:_,points:P}of this.#s)xt._rescale(_,k,T,b,v,_),xt._rescale(P,k,T,b,v,P);return{root:{viewBox:this.viewBox},path:{"transform-origin":`${xt.svgRound(e)} ${xt.svgRound(n)}`,transform:this.rotationTransform||null,d:this.toSVGPath()}}}getPathTranslatedSVGProperties([e,n],s){let[i,r]=s,a=this.#e,l=e-a[0],c=n-a[1];if(this.#i===i&&this.#a===r)for(let{line:f,points:m}of this.#s)xt._translate(f,l,c,f),xt._translate(m,l,c,m);else{let f=this.#i/i,m=this.#a/r;this.#i=i,this.#a=r;for(let{line:g,points:b}of this.#s)xt._rescale(g,l,c,f,m,g),xt._rescale(b,l,c,f,m,b);a[2]*=f,a[3]*=m}return a[0]=e,a[1]=n,{root:{viewBox:this.viewBox},path:{d:this.toSVGPath(),"transform-origin":`${xt.svgRound(e)} ${xt.svgRound(n)}`}}}get defaultSVGProperties(){let e=this.#e;return{root:{viewBox:this.viewBox},rootClass:{draw:!0},path:{d:this.toSVGPath(),"transform-origin":`${xt.svgRound(e[0])} ${xt.svgRound(e[1])}`,transform:this.rotationTransform||null},bbox:e}}}class Fm extends qm{constructor(e){super();this._viewParameters=e,super.updateProperties({fill:"none",stroke:Mt._defaultLineColor,"stroke-opacity":1,"stroke-width":1,"stroke-linecap":"round","stroke-linejoin":"round","stroke-miterlimit":10})}updateSVGProperty(e,n){if(e==="stroke-width")n??=this["stroke-width"],n*=this._viewParameters.realScale;super.updateSVGProperty(e,n)}clone(){let e=new Fm(this._viewParameters);return e.updateAll(this),e}}class E2 extends yn{static _type="ink";static _editorType=Jt.INK;static _defaultDrawingOptions=null;constructor(e){super({...e,name:"inkEditor"});this._willKeepAspectRatio=!0,this.defaultL10nId="pdfjs-editor-ink-editor"}static initialize(e,n){Mt.initialize(e,n),this._defaultDrawingOptions=new Fm(n.viewParameters)}static getDefaultDrawingOptions(e){let n=this._defaultDrawingOptions.clone();return n.updateProperties(e),n}static get supportMultipleDrawings(){return!0}static get typesMap(){return Lt(this,"typesMap",new Map([[Sn.INK_THICKNESS,"stroke-width"],[Sn.INK_COLOR,"stroke"],[Sn.INK_OPACITY,"stroke-opacity"]]))}static createDrawerInstance({x:e,y:n,box:[,,s,i],rotation:r}){return new HS(e,n,s,i,r,this._defaultDrawingOptions["stroke-width"])}static deserializeDraw(e,n,s,i,r,a){return kf.deserialize(e,n,s,i,r,a)}static async deserialize(e,n,s){let i=null;if(e instanceof Dm){let{data:{inkLists:a,rect:l,rotation:c,id:f,color:m,opacity:g,borderStyle:{rawWidth:b},popupRef:v,richText:k,contentsObj:T,creationDate:_,modificationDate:P},parent:{page:{pageNumber:U}}}=e;i=e={annotationType:Jt.INK,color:Array.from(m),thickness:b,opacity:g,paths:{points:a},boxes:null,pageIndex:U-1,rect:l.slice(0),rotation:c,annotationElementId:f,id:f,deleted:!1,popupRef:v,richText:k,comment:T?.str||null,creationDate:_,modificationDate:P}}let r=await super.deserialize(e,n,s);if(r._initialData=i,e.comment)r.setCommentData(e);return r}get toolbarButtons(){return this._colorPicker||=new fu(this),[["colorPicker",this._colorPicker]]}get colorType(){return Sn.INK_COLOR}get colorAndOpacityType(){return Sn.INK_COLOR_AND_OPACITY}get opacityType(){return Sn.INK_OPACITY}updateParams(e,n){if(e===Sn.INK_COLOR_AND_OPACITY){this._updateColorAndOpacity(n.color,n.opacity);return}super.updateParams(e,n)}static updateDefaultParams(e,n){if(e===Sn.INK_COLOR_AND_OPACITY){super.updateDefaultParams(Sn.INK_COLOR,n.color),super.updateDefaultParams(Sn.INK_OPACITY,n.opacity);return}super.updateDefaultParams(e,n)}get color(){return this._drawingOptions.stroke}get opacity(){return this._drawingOptions["stroke-opacity"]}onScaleChanging(){if(!this.parent)return;super.onScaleChanging();let{_drawId:e,_drawingOptions:n,parent:s}=this;n.updateSVGProperty("stroke-width"),s.drawLayer.updateProperties(e,n.toSVGProperties())}static onScaleChangingWhenDrawing(){let e=this._currentParent;if(!e)return;super.onScaleChangingWhenDrawing(),this._defaultDrawingOptions.updateSVGProperty("stroke-width"),e.drawLayer.updateProperties(this._currentDrawId,this._defaultDrawingOptions.toSVGProperties())}createDrawingOptions({color:e,thickness:n,opacity:s}){this._drawingOptions=E2.getDefaultDrawingOptions({stroke:ut.makeHexColor(...e),"stroke-width":n,"stroke-opacity":s})}serialize(e=!1){if(this.isEmpty())return null;if(this.deleted)return this.serializeDeleted();let{lines:n,points:s}=this.serializeDraw(e),{_drawingOptions:{stroke:i,"stroke-opacity":r,"stroke-width":a}}=this,l=Object.assign(super.serialize(e),{color:Mt._colorManager.convert(i),opacity:r,thickness:a,paths:{lines:n,points:s}});if(this.addComment(l),e)return l.isCopy=!0,l;if(this.annotationElementId&&!this.#e(l))return null;return l.id=this.annotationElementId,l}#e(e){let{color:n,thickness:s,opacity:i,pageIndex:r}=this._initialData;return this.hasEditedComment||this._hasBeenMoved||this._hasBeenResized||e.color.some((a,l)=>a!==n[l])||e.thickness!==s||e.opacity!==i||e.pageIndex!==r}renderAnnotationElement(e){if(this.deleted)return e.hide(),null;let{points:n,rect:s}=this.serializeDraw(!1);return e.updateEdited({rect:s,thickness:this._drawingOptions["stroke-width"],points:n,popup:this.comment}),null}}class pm extends kf{toSVGPath(){let e=super.toSVGPath();if(!e.endsWith("Z"))e+="Z";return e}}var Z0=8,Qh=3;class rc{static#e={maxDim:512,sigmaSFactor:0.02,sigmaR:25,kernelSize:16};static#t(e,n,s,i){if(s-=e,i-=n,s===0)return i>0?0:4;if(s===1)return i+6;return 2-i}static#n=new Int32Array([0,1,-1,1,-1,0,-1,-1,0,-1,1,-1,1,0,1,1]);static#s(e,n,s,i,r,a,l){let c=this.#t(s,i,r,a);for(let f=0;f<8;f++){let m=(-f+c-l+16)%8,g=this.#n[2*m],b=this.#n[2*m+1];if(e[(s+g)*n+(i+b)]!==0)return m}return-1}static#i(e,n,s,i,r,a,l){let c=this.#t(s,i,r,a);for(let f=0;f<8;f++){let m=(f+c+l+16)%8,g=this.#n[2*m],b=this.#n[2*m+1];if(e[(s+g)*n+(i+b)]!==0)return m}return-1}static#a(e,n,s,i){let r=e.length,a=new Int32Array(r);for(let m=0;m<r;m++)a[m]=e[m]<=i?1:0;for(let m=1;m<s-1;m++)a[m*n]=a[m*n+n-1]=0;for(let m=0;m<n;m++)a[m]=a[n*s-1-m]=0;let l=1,c,f=[];for(let m=1;m<s-1;m++){c=1;for(let g=1;g<n-1;g++){let b=m*n+g,v=a[b];if(v===0)continue;let k=m,T=g;if(v===1&&a[b-1]===0)l+=1,T-=1;else if(v>=1&&a[b+1]===0){if(l+=1,T+=1,v>1)c=v}else{if(v!==1)c=Math.abs(v);continue}let _=[g,m],P=T===g+1,U={isHole:P,points:_,id:l,parent:0};f.push(U);let z;for(let se of f)if(se.id===c){z=se;break}if(!z)U.parent=P?c:0;else if(z.isHole)U.parent=P?z.parent:c;else U.parent=P?c:z.parent;let V=this.#s(a,n,m,g,k,T,0);if(V===-1){if(a[b]=-l,a[b]!==1)c=Math.abs(a[b]);continue}let X=this.#n[2*V],J=this.#n[2*V+1],ee=m+X,te=g+J;k=ee,T=te;let ne=m,ie=g;while(!0){let se=this.#i(a,n,ne,ie,k,T,1);X=this.#n[2*se],J=this.#n[2*se+1];let oe=ne+X,ye=ie+J;_.push(ye,oe);let Se=ne*n+ie;if(a[Se+1]===0)a[Se]=-l;else if(a[Se]===1)a[Se]=l;if(oe===m&&ye===g&&ne===ee&&ie===te){if(a[b]!==1)c=Math.abs(a[b]);break}else k=ne,T=ie,ne=oe,ie=ye}}}return f}static#r(e,n,s,i){if(s-n<=4){for(let ee=n;ee<s-2;ee+=2)i.push(e[ee],e[ee+1]);return}let r=e[n],a=e[n+1],l=e[s-4]-r,c=e[s-3]-a,f=Math.hypot(l,c),m=l/f,g=c/f,b=m*a-g*r,v=c/l,k=1/f,T=Math.atan(v),_=Math.cos(T),P=Math.sin(T),U=k*(Math.abs(_)+Math.abs(P)),z=k*(1-U+U**2),V=Math.max(Math.atan(Math.abs(P+_)*z),Math.atan(Math.abs(P-_)*z)),X=0,J=n;for(let ee=n+2;ee<s-2;ee+=2){let te=Math.abs(b-m*e[ee+1]+g*e[ee]);if(te>X)J=ee,X=te}if(X>(f*V)**2)this.#r(e,n,J+2,i),this.#r(e,J,s,i);else i.push(r,a)}static#o(e){let n=[],s=e.length;return this.#r(e,0,s,n),n.push(e[s-2],e[s-1]),n.length<=4?null:n}static#l(e,n,s,i,r,a){let l=new Float32Array(a**2),c=-2*i**2,f=a>>1;for(let T=0;T<a;T++){let _=(T-f)**2;for(let P=0;P<a;P++)l[T*a+P]=Math.exp((_+(P-f)**2)/c)}let m=new Float32Array(256),g=-2*r**2;for(let T=0;T<256;T++)m[T]=Math.exp(T**2/g);let b=e.length,v=new Uint8Array(b),k=new Uint32Array(256);for(let T=0;T<s;T++)for(let _=0;_<n;_++){let P=T*n+_,U=e[P],z=0,V=0;for(let J=0;J<a;J++){let ee=T+J-f;if(ee<0||ee>=s)continue;for(let te=0;te<a;te++){let ne=_+te-f;if(ne<0||ne>=n)continue;let ie=e[ee*n+ne],se=l[J*a+te]*m[Math.abs(ie-U)];z+=ie*se,V+=se}}let X=v[P]=Math.round(z/V);k[X]++}return[v,k]}static#c(e){let n=new Uint32Array(256);for(let s of e)n[s]++;return n}static#u(e){let n=e.length,s=new Uint8ClampedArray(n>>2),i=-1/0,r=1/0;for(let l=0,c=s.length;l<c;l++){let f=s[l]=e[l<<2];i=Math.max(i,f),r=Math.min(r,f)}let a=255/(i-r);for(let l=0,c=s.length;l<c;l++)s[l]=(s[l]-r)*a;return s}static#h(e){let n,s=-1/0,i=-1/0,r=e.findIndex((c)=>c!==0),a=r,l=r;for(n=r;n<256;n++){let c=e[n];if(c>s){if(n-a>i)i=n-a,l=n-1;s=c,a=n}}for(n=l-1;n>=0;n--)if(e[n]>e[n+1])break;return n}static#d(e){let n=e,{width:s,height:i}=e,{maxDim:r}=this.#e,a=s,l=i;if(s>r||i>r){let b=s,v=i,k=Math.log2(Math.max(s,i)/r),T=Math.floor(k);k=k===T?T-1:T;for(let P=0;P<k;P++){a=Math.ceil(b/2),l=Math.ceil(v/2);let U=new OffscreenCanvas(a,l);if(U.getContext("2d").drawImage(e,0,0,b,v,0,0,a,l),b=a,v=l,e!==n)e.close();e=U.transferToImageBitmap()}let _=Math.min(r/a,r/l);a=Math.round(a*_),l=Math.round(l*_)}let f=new OffscreenCanvas(a,l).getContext("2d",{willReadFrequently:!0});f.fillStyle="white",f.fillRect(0,0,a,l),f.filter="grayscale(1)",f.drawImage(e,0,0,e.width,e.height,0,0,a,l);let m=f.getImageData(0,0,a,l).data;return[this.#u(m),a,l]}static extractContoursFromText(e,{fontFamily:n,fontStyle:s,fontWeight:i},r,a,l,c){let f=new OffscreenCanvas(1,1),m=f.getContext("2d",{alpha:!1}),g=200,b=m.font=`${s} ${i} ${g}px ${n}`,{actualBoundingBoxLeft:v,actualBoundingBoxRight:k,actualBoundingBoxAscent:T,actualBoundingBoxDescent:_,fontBoundingBoxAscent:P,fontBoundingBoxDescent:U,width:z}=m.measureText(e),V=1.5,X=Math.ceil(Math.max(Math.abs(v)+Math.abs(k)||0,z)*V),J=Math.ceil(Math.max(Math.abs(T)+Math.abs(_)||g,Math.abs(P)+Math.abs(U)||g)*V);f=new OffscreenCanvas(X,J),m=f.getContext("2d",{alpha:!0,willReadFrequently:!0}),m.font=b,m.filter="grayscale(1)",m.fillStyle="white",m.fillRect(0,0,X,J),m.fillStyle="black",m.fillText(e,X*(V-1)/2,J*(3-V)/2);let ee=this.#u(m.getImageData(0,0,X,J).data),te=this.#c(ee),ne=this.#h(te),ie=this.#a(ee,X,J,ne);return this.processDrawnLines({lines:{curves:ie,width:X,height:J},pageWidth:r,pageHeight:a,rotation:l,innerMargin:c,mustSmooth:!0,areContours:!0})}static process(e,n,s,i,r){let[a,l,c]=this.#d(e),[f,m]=this.#l(a,l,c,Math.hypot(l,c)*this.#e.sigmaSFactor,this.#e.sigmaR,this.#e.kernelSize),g=this.#h(m),b=this.#a(f,l,c,g);return this.processDrawnLines({lines:{curves:b,width:l,height:c},pageWidth:n,pageHeight:s,rotation:i,innerMargin:r,mustSmooth:!0,areContours:!0})}static processDrawnLines({lines:e,pageWidth:n,pageHeight:s,rotation:i,innerMargin:r,mustSmooth:a,areContours:l}){if(i%180!==0)[n,s]=[s,n];let{curves:c,width:f,height:m}=e,g=e.thickness??0,b=[],v=Math.min(n/f,s/m),k=v/n,T=v/s,_=[];for(let{points:U}of c){let z=a?this.#o(U):U;if(!z)continue;_.push(z);let V=z.length,X=new Float32Array(V),J=new Float32Array(3*(V===2?2:V-2));if(b.push({line:J,points:X}),V===2){X[0]=z[0]*k,X[1]=z[1]*T,J.set([NaN,NaN,NaN,NaN,X[0],X[1]],0);continue}let[ee,te,ne,ie]=z;ee*=k,te*=T,ne*=k,ie*=T,X.set([ee,te,ne,ie],0),J.set([NaN,NaN,NaN,NaN,ee,te],0);for(let se=4;se<V;se+=2){let oe=X[se]=z[se]*k,ye=X[se+1]=z[se+1]*T;J.set(xt.createBezierPoints(ee,te,ne,ie,oe,ye),(se-2)*3),[ee,te,ne,ie]=[ne,ie,oe,ye]}}if(b.length===0)return null;let P=l?new pm:new kf;return P.build(b,n,s,1,i,l?0:g,r),{outline:P,newCurves:_,areContours:l,thickness:g,width:f,height:m}}static async compressSignature({outlines:e,areContours:n,thickness:s,width:i,height:r}){let a=1/0,l=-1/0,c=0;for(let U of e){c+=U.length;for(let z=2,V=U.length;z<V;z++){let X=U[z]-U[z-2];a=Math.min(a,X),l=Math.max(l,X)}}let f;if(a>=-128&&l<=127)f=Int8Array;else if(a>=-32768&&l<=32767)f=Int16Array;else f=Int32Array;let m=e.length,g=Z0+Qh*m,b=new Uint32Array(g),v=0;b[v++]=g*Uint32Array.BYTES_PER_ELEMENT+(c-2*m)*f.BYTES_PER_ELEMENT,b[v++]=0,b[v++]=i,b[v++]=r,b[v++]=n?0:1,b[v++]=Math.max(0,Math.floor(s??0)),b[v++]=m,b[v++]=f.BYTES_PER_ELEMENT;for(let U of e)b[v++]=U.length-2,b[v++]=U[0],b[v++]=U[1];let k=new CompressionStream("deflate-raw"),T=k.writable.getWriter();await T.ready,T.write(b);let _=f.prototype.constructor;for(let U of e){let z=new _(U.length-2);for(let V=2,X=U.length;V<X;V++)z[V-2]=U[V]-U[V-2];T.write(z)}return T.close(),(await new Response(k.readable).bytes()).toBase64()}static async decompressSignature(e){try{let n=Uint8Array.fromBase64(e),{readable:s,writable:i}=new DecompressionStream("deflate-raw"),r=i.getWriter();await r.ready,r.write(n).then(async()=>{await r.ready,await r.close()}).catch(()=>{});let a=null,l=0;for await(let z of s)a||=new Uint8Array(new Uint32Array(z.buffer,0,4)[0]),a.set(z,l),l+=z.length;let c=new Uint32Array(a.buffer,0,a.length>>2),f=c[1];if(f!==0)throw Error(`Invalid version: ${f}`);let m=c[2],g=c[3],b=c[4]===0,v=c[5],k=c[6],T=c[7],_=[],P=(Z0+Qh*k)*Uint32Array.BYTES_PER_ELEMENT,U;switch(T){case Int8Array.BYTES_PER_ELEMENT:U=new Int8Array(a.buffer,P);break;case Int16Array.BYTES_PER_ELEMENT:U=new Int16Array(a.buffer,P);break;case Int32Array.BYTES_PER_ELEMENT:U=new Int32Array(a.buffer,P);break}l=0;for(let z=0;z<k;z++){let V=c[Qh*z+Z0],X=new Float32Array(V+2);_.push(X);for(let J=0;J<Qh-1;J++)X[J]=c[Qh*z+Z0+J+1];for(let J=0;J<V;J++)X[J+2]=X[J]+U[l++]}return{areContours:b,thickness:v,outlines:_,width:m,height:g}}catch(n){return Zt(`decompressSignature: ${n}`),null}}}class C2 extends qm{constructor(){super();super.updateProperties({fill:Mt._defaultLineColor,"stroke-width":0})}clone(){let e=new C2;return e.updateAll(this),e}}class j2 extends Fm{constructor(e){super(e);super.updateProperties({stroke:Mt._defaultLineColor,"stroke-width":1})}clone(){let e=new j2(this._viewParameters);return e.updateAll(this),e}}class Ha extends yn{#e=!1;#t=null;#n=null;#s=null;static _type="signature";static _editorType=Jt.SIGNATURE;static _defaultDrawingOptions=null;constructor(e){super({...e,mustBeCommitted:!0,name:"signatureEditor"});this._willKeepAspectRatio=!0,this.#n=e.signatureData||null,this.#t=null,this.defaultL10nId="pdfjs-editor-signature-editor1"}static initialize(e,n){Mt.initialize(e,n),this._defaultDrawingOptions=new C2,this._defaultDrawnSignatureOptions=new j2(n.viewParameters)}static getDefaultDrawingOptions(e){let n=this._defaultDrawingOptions.clone();return n.updateProperties(e),n}static get supportMultipleDrawings(){return!1}static get typesMap(){return Lt(this,"typesMap",new Map)}static get isDrawer(){return!1}get telemetryFinalData(){return{type:"signature",hasDescription:!!this.#t}}static computeTelemetryFinalData(e){let n=e.get("hasDescription");return{hasAltText:n.get(!0)??0,hasNoAltText:n.get(!1)??0}}get isResizable(){return!0}onScaleChanging(){if(this._drawId===null)return;super.onScaleChanging()}render(){if(this.div)return this.div;let e,n,{_isCopy:s}=this;if(s)this._isCopy=!1,e=this.x,n=this.y;if(super.render(),this._drawId===null)if(this.#n){let{lines:i,mustSmooth:r,areContours:a,description:l,uuid:c,heightInPage:f}=this.#n,{rawDims:{pageWidth:m,pageHeight:g},rotation:b}=this.parent.viewport,v=rc.processDrawnLines({lines:i,pageWidth:m,pageHeight:g,rotation:b,innerMargin:Ha._INNER_MARGIN,mustSmooth:r,areContours:a});this.addSignature(v,f,l,c)}else this.div.setAttribute("data-l10n-args",JSON.stringify({description:""})),this.div.hidden=!0,this._uiManager.getSignature(this);else this.div.setAttribute("data-l10n-args",JSON.stringify({description:this.#t||""}));if(s)this._isCopy=!0,this._moveAfterPaste(e,n);return this.div}setUuid(e){this.#s=e,this.addEditToolbar()}getUuid(){return this.#s}get description(){return this.#t}set description(e){if(this.#t=e,!this.div)return;this.div.setAttribute("data-l10n-args",JSON.stringify({description:e})),super.addEditToolbar().then((n)=>{n?.updateEditSignatureButton(e)})}getSignaturePreview(){let{newCurves:e,areContours:n,thickness:s,width:i,height:r}=this.#n,a=Math.max(i,r),l=rc.processDrawnLines({lines:{curves:e.map((c)=>({points:c})),thickness:s,width:i,height:r},pageWidth:a,pageHeight:a,rotation:0,innerMargin:0,mustSmooth:!1,areContours:n});return{areContours:n,outline:l.outline}}get toolbarButtons(){return this._uiManager.signatureManager?[["editSignature",this._uiManager.signatureManager]]:super.toolbarButtons}addSignature(e,n,s,i){let{x:r,y:a}=this,{outline:l}=this.#n=e;this.#e=l instanceof pm,this.description=s;let c;if(this.#e)c=Ha.getDefaultDrawingOptions();else c=Ha._defaultDrawnSignatureOptions.clone(),c.updateProperties({"stroke-width":l.thickness});this._addOutlines({drawOutlines:l,drawingOptions:c});let[,f]=this.pageDimensions,m=n/f;if(m=m>=1?0.5:m,this.width*=m/this.height,this.width>=1)m*=0.9/this.width,this.width=0.9;this.height=m,this.setDims(),this.x=r,this.y=a,this.center(),this._onResized(),this.onScaleChanging(),this.rotate(),this._uiManager.addToAnnotationStorage(this),this.setUuid(i),this._reportTelemetry({action:"pdfjs.signature.inserted",data:{hasBeenSaved:!!i,hasDescription:!!s}}),this.div.hidden=!1}getFromImage(e){let{rawDims:{pageWidth:n,pageHeight:s},rotation:i}=this.parent.viewport;return rc.process(e,n,s,i,Ha._INNER_MARGIN)}getFromText(e,n){let{rawDims:{pageWidth:s,pageHeight:i},rotation:r}=this.parent.viewport;return rc.extractContoursFromText(e,n,s,i,r,Ha._INNER_MARGIN)}getDrawnSignature(e){let{rawDims:{pageWidth:n,pageHeight:s},rotation:i}=this.parent.viewport;return rc.processDrawnLines({lines:e,pageWidth:n,pageHeight:s,rotation:i,innerMargin:Ha._INNER_MARGIN,mustSmooth:!1,areContours:!1})}createDrawingOptions({areContours:e,thickness:n}){if(e)this._drawingOptions=Ha.getDefaultDrawingOptions();else this._drawingOptions=Ha._defaultDrawnSignatureOptions.clone(),this._drawingOptions.updateProperties({"stroke-width":n})}serialize(e=!1){if(this.isEmpty())return null;let{lines:n,points:s}=this.serializeDraw(e),{_drawingOptions:{"stroke-width":i}}=this,r=Object.assign(super.serialize(e),{isSignature:!0,areContours:this.#e,color:[0,0,0],thickness:this.#e?0:i});if(this.addComment(r),e)r.paths={lines:n,points:s},r.uuid=this.#s,r.isCopy=!0;else r.lines=n;if(this.#t)r.accessibilityData={type:"Figure",alt:this.#t};return r}static deserializeDraw(e,n,s,i,r,a){if(a.areContours)return pm.deserialize(e,n,s,i,r,a);return kf.deserialize(e,n,s,i,r,a)}static async deserialize(e,n,s){let i=await super.deserialize(e,n,s);return i.#e=e.areContours,i.description=e.accessibilityData?.alt||"",i.#s=e.uuid,i}}class US extends Mt{#e=null;#t=null;#n=null;#s=null;#i=null;#a="";#r=null;#o=!1;#l=null;#c=!1;#u=!1;static _type="stamp";static _editorType=Jt.STAMP;constructor(e){super({...e,name:"stampEditor"});this.#s=e.bitmapUrl,this.#i=e.bitmapFile,this.defaultL10nId="pdfjs-editor-stamp-editor"}static initialize(e,n){Mt.initialize(e,n)}static isHandlingMimeForPasting(e){return $b.includes(e)}static paste(e,n){n.pasteEditor({mode:Jt.STAMP},{bitmapFile:e.getAsFile()})}altTextFinish(){if(this._uiManager.useNewAltTextFlow)this.div.hidden=!1;super.altTextFinish()}get telemetryFinalData(){return{type:"stamp",hasAltText:!!this.altTextData?.altText}}static computeTelemetryFinalData(e){let n=e.get("hasAltText");return{hasAltText:n.get(!0)??0,hasNoAltText:n.get(!1)??0}}#h(e,n=!1){if(!e){this.remove();return}if(this.#e=e.bitmap,!n)this.#t=e.id,this.#c=e.isSvg;if(e.file)this.#a=e.file.name;this.#g()}#d(){if(this.#n=null,this._uiManager.enableWaiting(!1),!this.#r)return;if(this._uiManager.useNewAltTextWhenAddingImage&&this._uiManager.useNewAltTextFlow&&this.#e){this.addEditToolbar().then(()=>{this._editToolbar.hide(),this._uiManager.editAltText(this,!0)});return}if(!this._uiManager.useNewAltTextWhenAddingImage&&this._uiManager.useNewAltTextFlow&&this.#e){this._reportTelemetry({action:"pdfjs.image.image_added",data:{alt_text_modal:!1,alt_text_type:"empty"}});try{this.mlGuessAltText()}catch{}}this.div.focus()}async mlGuessAltText(e=null,n=!0){if(this.hasAltTextData())return null;let{mlManager:s}=this._uiManager;if(!s)throw Error("No ML.");if(!await s.isEnabledFor("altText"))throw Error("ML isn't enabled for alt text.");let{data:i,width:r,height:a}=e||this.copyCanvas(null,null,!0).imageData,l=await s.guess({name:"altText",request:{data:i,width:r,height:a,channels:i.length/(r*a)}});if(!l)throw Error("No response from the AI service.");if(l.error)throw Error("Error from the AI service.");if(l.cancel)return null;if(!l.output)throw Error("No valid response from the AI service.");let c=l.output;if(await this.setGuessedAltText(c),n&&!this.hasAltTextData())this.altTextData={alt:c,decorative:!1};return c}#p(){if(this.#t){this._uiManager.enableWaiting(!0),this._uiManager.imageManager.getFromId(this.#t).then((s)=>this.#h(s,!0)).finally(()=>this.#d());return}if(this.#s){let s=this.#s;this.#s=null,this._uiManager.enableWaiting(!0),this.#n=this._uiManager.imageManager.getFromUrl(s).then((i)=>this.#h(i)).finally(()=>this.#d());return}if(this.#i){let s=this.#i;this.#i=null,this._uiManager.enableWaiting(!0),this.#n=this._uiManager.imageManager.getFromFile(s).then((i)=>this.#h(i)).finally(()=>this.#d());return}let e=document.createElement("input");e.type="file",e.accept=$b.join(",");let n=this._uiManager._signal;this.#n=new Promise((s)=>{e.addEventListener("change",async()=>{if(!e.files||e.files.length===0)this.remove();else{this._uiManager.enableWaiting(!0);let i=await this._uiManager.imageManager.getFromFile(e.files[0]);this._reportTelemetry({action:"pdfjs.image.image_selected",data:{alt_text_modal:this._uiManager.useNewAltTextFlow}}),this.#h(i)}s()},{signal:n}),e.addEventListener("cancel",()=>{this.remove(),s()},{signal:n})}).finally(()=>this.#d()),e.click()}remove(){if(this.#t){if(this.#e=null,this._uiManager.imageManager.deleteId(this.#t),this.#r?.remove(),this.#r=null,this.#l)clearTimeout(this.#l),this.#l=null}super.remove()}rebuild(){if(!this.parent){if(this.#t)this.#p();return}if(super.rebuild(),this.div===null)return;if(this.#t&&this.#r===null)this.#p();if(!this.isAttachedToDOM)this.parent.add(this)}onceAdded(e){if(this._isDraggable=!0,e)this.div.focus()}isEmpty(){return!(this.#n||this.#e||this.#s||this.#i||this.#t||this.#o)}get toolbarButtons(){return[["altText",this.createAltText()]]}get isResizable(){return!0}render(){if(this.div)return this.div;let e,n;if(this._isCopy)e=this.x,n=this.y;if(super.render(),this.div.hidden=!0,this.createAltText(),!this.#o)if(this.#e)this.#g();else this.#p();if(this._isCopy)this._moveAfterPaste(e,n);return this._uiManager.addShouldRescale(this),this.div}setCanvas(e,n){let{id:s,bitmap:i}=this._uiManager.imageManager.getFromCanvas(e,n);if(n.remove(),s&&this._uiManager.imageManager.isValidId(s)){if(this.#t=s,i)this.#e=i;this.#o=!1,this.#g()}}_onResized(){this.onScaleChanging()}onScaleChanging(){if(!this.parent)return;if(this.#l!==null)clearTimeout(this.#l);let e=200;this.#l=setTimeout(()=>{this.#l=null,this.#m()},e)}#g(){let{div:e}=this,{width:n,height:s}=this.#e,[i,r]=this.pageDimensions,a=0.75;if(this.width)n=this.width*i,s=this.height*r;else if(n>0.75*i||s>0.75*r){let c=Math.min(0.75*i/n,0.75*r/s);n*=c,s*=c}this._uiManager.enableWaiting(!1);let l=this.#r=document.createElement("canvas");if(l.setAttribute("role","img"),this.addContainer(l),this.width=n/i,this.height=s/r,this.setDims(),this._initialOptions?.isCentered)this.center();else this.fixAndSetPosition();if(this._initialOptions=null,!this._uiManager.useNewAltTextWhenAddingImage||!this._uiManager.useNewAltTextFlow||this.annotationElementId)e.hidden=!1;if(this.#m(),!this.#u)this.parent.addUndoableEditor(this),this.#u=!0;if(this._reportTelemetry({action:"inserted_image"}),this.#a)this.div.setAttribute("aria-description",this.#a);if(!this.annotationElementId)this._uiManager.a11yAlert(Mt._l10nAlert.stamp)}copyCanvas(e,n,s=!1){e||=224;let{width:i,height:r}=this.#e,a=new ha,l=this.#e,c=i,f=r,m=null;if(n){if(i>n||r>n){let J=Math.min(n/i,n/r);c=Math.floor(i*J),f=Math.floor(r*J)}m=document.createElement("canvas");let b=m.width=Math.ceil(c*a.sx),v=m.height=Math.ceil(f*a.sy);if(!this.#c)l=this.#f(b,v);let k=m.getContext("2d");k.filter=this._uiManager.hcmFilter;let T="white",_="#cfcfd8";if(this._uiManager.hcmFilter!=="none")_="black";else if(g7.isDarkMode)T="#8f8f9d",_="#42414d";let P=15,U=P*a.sx,z=P*a.sy,V=new OffscreenCanvas(U*2,z*2),X=V.getContext("2d");X.fillStyle=T,X.fillRect(0,0,U*2,z*2),X.fillStyle=_,X.fillRect(0,0,U,z),X.fillRect(U,z,U,z),k.fillStyle=k.createPattern(V,"repeat"),k.fillRect(0,0,b,v),k.drawImage(l,0,0,l.width,l.height,0,0,b,v)}let g=null;if(s){let b,v;if(a.symmetric&&l.width<e&&l.height<e)b=l.width,v=l.height;else if(l=this.#e,i>e||r>e){let _=Math.min(e/i,e/r);if(b=Math.floor(i*_),v=Math.floor(r*_),!this.#c)l=this.#f(b,v)}let T=new OffscreenCanvas(b,v).getContext("2d",{willReadFrequently:!0});T.drawImage(l,0,0,l.width,l.height,0,0,b,v),g={width:b,height:v,data:T.getImageData(0,0,b,v).data}}return{canvas:m,width:c,height:f,imageData:g}}#f(e,n){let{width:s,height:i}=this.#e,r=s,a=i,l=this.#e;while(r>2*e||a>2*n){let c=r,f=a;if(r>2*e)r=Math.ceil(r/2);if(a>2*n)a=Math.ceil(a/2);let m=new OffscreenCanvas(r,a);m.getContext("2d").drawImage(l,0,0,c,f,0,0,r,a),l=m.transferToImageBitmap()}return l}#m(){let[e,n]=this.parentDimensions,{width:s,height:i}=this,r=new ha,a=Math.ceil(s*e*r.sx),l=Math.ceil(i*n*r.sy),c=this.#r;if(!c||c.width===a&&c.height===l)return;c.width=a,c.height=l;let f=this.#c?this.#e:this.#f(a,l),m=c.getContext("2d");m.filter=this._uiManager.hcmFilter,m.drawImage(f,0,0,f.width,f.height,0,0,a,l)}#b(e){if(e){if(this.#c){let i=this._uiManager.imageManager.getSvgUrl(this.#t);if(i)return i}let n=document.createElement("canvas");return{width:n.width,height:n.height}=this.#e,n.getContext("2d").drawImage(this.#e,0,0),n.toDataURL()}if(this.#c){let[n,s]=this.pageDimensions,i=Math.round(this.width*n*cc.PDF_TO_CSS_UNITS),r=Math.round(this.height*s*cc.PDF_TO_CSS_UNITS),a=new OffscreenCanvas(i,r);return a.getContext("2d").drawImage(this.#e,0,0,this.#e.width,this.#e.height,0,0,i,r),a.transferToImageBitmap()}return structuredClone(this.#e)}static async deserialize(e,n,s){let i=null,r=!1;if(e instanceof v2){let{data:{rect:T,rotation:_,id:P,structParent:U,popupRef:z,richText:V,contentsObj:X,creationDate:J,modificationDate:ee},container:te,parent:{page:{pageNumber:ne}},canvas:ie}=e,se,oe;if(ie)delete e.canvas,{id:se,bitmap:oe}=s.imageManager.getFromCanvas(te.id,ie),ie.remove();else r=!0,e._hasNoCanvas=!0;let ye=(await n._structTree.getAriaAttributes(`pdfjs_internal_id_${P}`))?.get("aria-label")||"";i=e={annotationType:Jt.STAMP,bitmapId:se,bitmap:oe,pageIndex:ne-1,rect:T.slice(0),rotation:_,annotationElementId:P,id:P,deleted:!1,accessibilityData:{decorative:!1,altText:ye},isSvg:!1,structParent:U,popupRef:z,richText:V,comment:X?.str||null,creationDate:J,modificationDate:ee}}let a=await super.deserialize(e,n,s),{rect:l,bitmap:c,bitmapUrl:f,bitmapId:m,isSvg:g,accessibilityData:b}=e;if(r)s.addMissingCanvas(e.id,a),a.#o=!0;else if(m&&s.imageManager.isValidId(m)){if(a.#t=m,c)a.#e=c}else a.#s=f;a.#c=g;let[v,k]=a.pageDimensions;if(a.width=(l[2]-l[0])/v,a.height=(l[3]-l[1])/k,b)a.altTextData=b;if(a._initialData=i,e.comment)a.setCommentData(e);return a.#u=!!i,a}serialize(e=!1,n=null){if(this.isEmpty())return null;if(this.deleted)return this.serializeDeleted();let s=Object.assign(super.serialize(e),{bitmapId:this.#t,isSvg:this.#c});if(this.addComment(s),e)return s.bitmapUrl=this.#b(!0),s.accessibilityData=this.serializeAltText(!0),s.isCopy=!0,s;let{decorative:i,altText:r}=this.serializeAltText(!1);if(!i&&r)s.accessibilityData={type:"Figure",alt:r};if(this.annotationElementId){let l=this.#w(s);if(l.isSame)return null;if(l.isSameAltText)delete s.accessibilityData;else s.accessibilityData.structParent=this._initialData.structParent??-1;return s.id=this.annotationElementId,delete s.bitmapId,s}if(n===null)return s;n.stamps||=new Map;let a=this.#c?(s.rect[2]-s.rect[0])*(s.rect[3]-s.rect[1]):null;if(!n.stamps.has(this.#t))n.stamps.set(this.#t,{area:a,serialized:s}),s.bitmap=this.#b(!1);else if(this.#c){let l=n.stamps.get(this.#t);if(a>l.area)l.area=a,l.serialized.bitmap.close(),l.serialized.bitmap=this.#b(!1)}return s}#w(e){let{pageIndex:n,accessibilityData:{altText:s}}=this._initialData,i=e.pageIndex===n,r=(e.accessibilityData?.alt||"")===s;return{isSame:!this.hasEditedComment&&!this._hasBeenMoved&&!this._hasBeenResized&&i&&r,isSameAltText:r}}renderAnnotationElement(e){if(this.deleted)return e.hide(),null;return e.updateEdited({rect:this.getPDFRect(),popup:this.comment}),null}}class To{#e;#t=!1;#n=null;#s=null;#i=null;#a=new Map;#r=!1;#o=!1;#l=!1;#c=null;#u=null;#h=null;#d=null;#p=null;#g=-1;#f;static _initialized=!1;static#m=new Map([ui,E2,US,la,Ha].map((e)=>[e._editorType,e]));constructor({uiManager:e,pageIndex:n,div:s,structTreeLayer:i,accessibilityManager:r,annotationLayer:a,drawLayer:l,textLayer:c,viewport:f,l10n:m}){let g=[...To.#m.values()];if(!To._initialized){To._initialized=!0;for(let b of g)b.initialize(m,e)}e.registerEditorTypes(g),this.#f=e,this.pageIndex=n,this.div=s,this.#e=r,this.#n=a,this.viewport=f,this.#h=c,this.drawLayer=l,this._structTree=i,this.#f.addLayer(this)}get isEmpty(){return this.#a.size===0}get isInvisible(){return this.isEmpty&&this.#f.getMode()===Jt.NONE}updateToolbar(e){this.#f.updateToolbar(e)}updateMode(e=this.#f.getMode()){switch(this.#k(),e){case Jt.NONE:this.div.classList.toggle("nonEditing",!0),this.disableTextSelection(),this.togglePointerEvents(!1),this.toggleAnnotationLayerPointerEvents(!0),this.disableClick();return;case Jt.INK:this.disableTextSelection(),this.togglePointerEvents(!0),this.enableClick();break;case Jt.HIGHLIGHT:this.enableTextSelection(),this.togglePointerEvents(!1),this.disableClick();break;default:this.disableTextSelection(),this.togglePointerEvents(!0),this.enableClick()}this.toggleAnnotationLayerPointerEvents(!1);let{classList:n}=this.div;if(n.toggle("nonEditing",!1),e===Jt.POPUP)n.toggle("commentEditing",!0);else{n.toggle("commentEditing",!1);for(let s of To.#m.values())n.toggle(`${s._type}Editing`,e===s._editorType)}this.div.hidden=!1}hasTextLayer(e){return e===this.#h?.div}setEditingState(e){this.#f.setEditingState(e)}addCommands(e){this.#f.addCommands(e)}cleanUndoStack(e){this.#f.cleanUndoStack(e)}toggleDrawing(e=!1){this.div.classList.toggle("drawing",!e)}togglePointerEvents(e=!1){this.div.classList.toggle("disabled",!e)}toggleAnnotationLayerPointerEvents(e=!1){this.#n?.togglePointerEvents(e)}get#b(){return this.#a.size!==0?this.#a.values():this.#f.getEditors(this.pageIndex)}async enable(){this.#l=!0,this.div.tabIndex=0,this.togglePointerEvents(!0),this.div.classList.toggle("nonEditing",!1),this.#p?.abort(),this.#p=null;let e=new Set;for(let s of this.#b)if(s.enableEditing(),s.show(!0),s.annotationElementId)this.#f.removeChangedExistingAnnotation(s),e.add(s.annotationElementId);let n=this.#n;if(n)for(let s of n.getEditableAnnotations()){if(s.hide(),this.#f.isDeletedAnnotationElement(s.data.id))continue;if(e.has(s.data.id))continue;let i=await this.deserialize(s);if(!i)continue;this.addOrRebuild(i),i.enableEditing()}this.#l=!1,this.#f._eventBus.dispatch("editorsrendered",{source:this,pageNumber:this.pageIndex+1})}disable(){if(this.#o=!0,this.div.tabIndex=-1,this.togglePointerEvents(!1),this.div.classList.toggle("nonEditing",!0),this.#h&&!this.#p){this.#p=new AbortController;let i=this.#f.combinedSignal(this.#p);this.#h.div.addEventListener("pointerdown",(r)=>{let{clientX:l,clientY:c,timeStamp:f}=r,m=this.#g;if(f-m>500){this.#g=f;return}this.#g=-1;let{classList:g}=this.div;g.toggle("getElements",!0);let b=document.elementsFromPoint(l,c);if(g.toggle("getElements",!1),!this.div.contains(b[0]))return;let v,k=new RegExp("^pdfjs_internal_editor_[0-9]+$");for(let _ of b)if(k.test(_.id)){v=_.id;break}if(!v)return;let T=this.#a.get(v);if(T?.annotationElementId===null)ri(r),T.dblclick(r)},{signal:i,capture:!0})}let e=this.#n,n=[];if(e){let i=new Map,r=new Map;for(let a of this.#b){if(a.disableEditing(),!a.annotationElementId){n.push(a);continue}if(a.serialize()!==null){i.set(a.annotationElementId,a);continue}else r.set(a.annotationElementId,a);this.getEditableAnnotation(a.annotationElementId)?.show(),a.remove()}for(let a of e.getEditableAnnotations()){let{id:l}=a.data;if(this.#f.isDeletedAnnotationElement(l)){a.updateEdited({deleted:!0});continue}let c=r.get(l);if(c){c.resetAnnotationElement(a),c.show(!1),a.show();continue}if(c=i.get(l),c){if(this.#f.addChangedExistingAnnotation(c),c.renderAnnotationElement(a))c.show(!1)}a.show()}}if(this.#k(),this.isEmpty)this.div.hidden=!0;let{classList:s}=this.div;for(let i of To.#m.values())s.remove(`${i._type}Editing`);this.disableTextSelection(),this.toggleAnnotationLayerPointerEvents(!0),e?.updateFakeAnnotations(n),this.#o=!1}getEditableAnnotation(e){return this.#n?.getEditableAnnotation(e)||null}setActiveEditor(e){if(this.#f.getActive()===e)return;this.#f.setActiveEditor(e)}enableTextSelection(){if(this.div.tabIndex=-1,this.#h?.div&&!this.#d){this.#d=new AbortController;let e=this.#f.combinedSignal(this.#d);this.#h.div.addEventListener("pointerdown",this.#w.bind(this),{signal:e}),this.#h.div.classList.add("highlighting")}}disableTextSelection(){if(this.div.tabIndex=0,this.#h?.div&&this.#d)this.#d.abort(),this.#d=null,this.#h.div.classList.remove("highlighting")}#w(e){this.#f.unselectAll();let{target:n}=e;if(n===this.#h.div||(n.getAttribute("role")==="img"||n.classList.contains("endOfContent")||n.classList.contains("textLayerImages")||n.classList.contains("textLayerImagePlaceholder"))&&this.#h.div.contains(n)){let{isMac:s}=zn.platform;if(e.button!==0||e.ctrlKey&&s)return;this.#f.showAllEditors("highlight",!0,!0),la.startDrawing(this,this.#f,this.#f.direction==="ltr",e),e.preventDefault()}}enableClick(){if(this.#s)return;this.#s=new AbortController;let e=this.#f.combinedSignal(this.#s);this.div.addEventListener("pointerdown",this.pointerdown.bind(this),{signal:e});let n=this.pointerup.bind(this);this.div.addEventListener("pointerup",n,{signal:e}),this.div.addEventListener("pointercancel",n,{signal:e})}disableClick(){this.#s?.abort(),this.#s=null}attach(e){this.#a.set(e.id,e);let{annotationElementId:n}=e;if(n&&this.#f.isDeletedAnnotationElement(n))this.#f.removeDeletedAnnotationElement(e)}detach(e){if(this.#a.delete(e.id),this.#e?.removePointerInTextLayer(e.contentDiv),!this.#o&&e.annotationElementId)this.#f.addDeletedAnnotationElement(e)}remove(e){this.detach(e),this.#f.removeEditor(e),e.div.remove(),e.isAttachedToDOM=!1}changeParent(e){if(e.parent===this)return;if(e.parent&&e.annotationElementId)this.#f.addDeletedAnnotationElement(e),Mt.deleteAnnotationElement(e),e.annotationElementId=null;if(this.attach(e),e.parent?.detach(e),e.setParent(this),e.div&&e.isAttachedToDOM)e.div.remove(),this.div.append(e.div)}add(e){if(e.parent===this&&e.isAttachedToDOM)return;if(this.changeParent(e),this.#f.addEditor(e),this.attach(e),!e.isAttachedToDOM){let n=e.render();this.div.append(n),e.isAttachedToDOM=!0}e.fixAndSetPosition(),e.onceAdded(!this.#l),this.#f.addToAnnotationStorage(e),e._reportTelemetry(e.telemetryInitialData)}moveEditorInDOM(e){if(!e.isAttachedToDOM)return;let{activeElement:n}=document;if(e.div.contains(n)&&!this.#i)e._focusEventsAllowed=!1,this.#i=setTimeout(()=>{if(this.#i=null,!e.div.contains(document.activeElement))e.div.addEventListener("focusin",()=>{e._focusEventsAllowed=!0},{once:!0,signal:this.#f._signal}),n.focus();else e._focusEventsAllowed=!0},0);e._structTreeParentId=this.#e?.moveElementInDOM(this.div,e.div,e.contentDiv,!0)}addOrRebuild(e){if(e.needsToBeRebuilt())e.parent||=this,e.rebuild(),e.show();else this.add(e)}addUndoableEditor(e){let n=()=>e._uiManager.rebuild(e),s=()=>{e.remove()};this.addCommands({cmd:n,undo:s,mustExec:!1})}getEditorByUID(e){for(let n of this.#a.values())if(n.uid===e)return n;return null}get#y(){return To.#m.get(this.#f.getMode())}combinedSignal(e){return this.#f.combinedSignal(e)}#v(e){let n=this.#y;return n?new n.prototype.constructor(e):null}canCreateNewEmptyEditor(){return this.#y?.canCreateNewEmptyEditor()}async pasteEditor(e,n){this.updateToolbar(e),await this.#f.updateMode(e.mode);let{offsetX:s,offsetY:i}=this.#x(),r=this.#f.getId(),a=this.#v({parent:this,id:r,x:s,y:i,uiManager:this.#f,isCentered:!0,...n});if(a)this.add(a)}async deserialize(e){return await To.#m.get(e.annotationType??e.annotationEditorType)?.deserialize(e,this,this.#f)||null}createAndAddNewEditor(e,n,s={}){let i=this.#f.getId(),r=this.#v({parent:this,id:i,x:e.offsetX,y:e.offsetY,uiManager:this.#f,isCentered:n,...s});if(r)this.add(r);return r}get boundingClientRect(){return this.div.getBoundingClientRect()}#x(){let{x:e,y:n,width:s,height:i}=this.boundingClientRect,r=Math.max(0,e),a=Math.max(0,n),l=Math.min(window.innerWidth,e+s),c=Math.min(window.innerHeight,n+i),f=(r+l)/2-e,m=(a+c)/2-n,[g,b]=this.viewport.rotation%180===0?[f,m]:[m,f];return{offsetX:g,offsetY:b}}addNewEditor(e={}){this.createAndAddNewEditor(this.#x(),!0,e)}setSelected(e){this.#f.setSelected(e)}toggleSelected(e){this.#f.toggleSelected(e)}unselect(e){this.#f.unselect(e)}pointerup(e){let{isMac:n}=zn.platform;if(e.button!==0||e.ctrlKey&&n)return;if(e.target!==this.div)return;if(!this.#r)return;if(this.#r=!1,this.#y?.isDrawer&&this.#y.supportMultipleDrawings)return;if(!this.#t){this.#t=!0;return}let s=this.#f.getMode();if(s===Jt.STAMP||s===Jt.POPUP||s===Jt.SIGNATURE){this.#f.unselectAll();return}this.createAndAddNewEditor(e,!1)}pointerdown(e){if(this.#f.getMode()===Jt.HIGHLIGHT)this.enableTextSelection();if(this.#r){this.#r=!1;return}let{isMac:n}=zn.platform;if(e.button!==0||e.ctrlKey&&n)return;if(e.target!==this.div)return;if(this.#r=!0,this.#y?.isDrawer){this.startDrawingSession(e);return}let s=this.#f.getActive();this.#t=!s||s.isEmpty()}startDrawingSession(e){if(this.div.focus({preventScroll:!0}),this.#c){this.#y.startDrawing(this,this.#f,!1,e);return}this.#f.setCurrentDrawingSession(this),this.#c=new AbortController;let n=this.#f.combinedSignal(this.#c);this.div.addEventListener("blur",({relatedTarget:s})=>{if(s&&!this.div.contains(s))this.#u=null,this.commitOrRemove()},{signal:n}),this.#y.startDrawing(this,this.#f,!1,e)}pause(e){if(e){let{activeElement:n}=document;if(this.div.contains(n))this.#u=n;return}if(this.#u)setTimeout(()=>{this.#u?.focus(),this.#u=null},0)}endDrawingSession(e=!1){if(!this.#c)return null;return this.#f.setCurrentDrawingSession(null),this.#c.abort(),this.#c=null,this.#u=null,this.#y.endDrawing(e)}findNewParent(e,n,s){let i=this.#f.findParent(n,s);if(i===null||i===this)return!1;return i.changeParent(e),!0}commitOrRemove(){if(this.#c)return this.endDrawingSession(),!0;return!1}onScaleChanging(){if(!this.#c)return;this.#y.onScaleChangingWhenDrawing(this)}destroy(){if(this.commitOrRemove(),this.#f.getActive()?.parent===this)this.#f.commitOrRemove(),this.#f.setActiveEditor(null);if(this.#i)clearTimeout(this.#i),this.#i=null;for(let e of this.#a.values())this.#e?.removePointerInTextLayer(e.contentDiv),e.setParent(null),e.isAttachedToDOM=!1,e.div.remove();this.div=null,this.#a.clear(),this.#f.removeLayer(this)}#k(){for(let e of this.#a.values())if(e.isEmpty())e.remove()}async render({viewport:e}){this.viewport=e,fc(this.div,e);for(let n of this.#f.getEditors(this.pageIndex))this.add(n),n.rebuild();await this.#f.findClonesForPage(this),this.div.hidden=this.isEmpty,this.updateMode()}update({viewport:e}){this.#f.commitOrRemove(),this.#k();let n=this.viewport.rotation,s=e.rotation;if(this.viewport=e,fc(this.div,{rotation:s}),n!==s)for(let i of this.#a.values())i.rotate(s)}get pageDimensions(){let{pageWidth:e,pageHeight:n}=this.viewport.rawDims;return[e,n]}get scale(){return this.#f.viewParameters.realScale}}function xM(e,n){if(e===n)return 0;return e.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_FOLLOWING?-1:1}function em(e){if(!e)return null;if(e.nodeType===Node.ELEMENT_NODE)return e.closest(".textLayer");return e.parentElement?.closest(".textLayer")||null}function AM(e,n,s,i){if(e===s)return n<=i;let r=e.compareDocumentPosition(s);if(r&Node.DOCUMENT_POSITION_FOLLOWING)return!0;if(r&Node.DOCUMENT_POSITION_PRECEDING)return!1;return null}function h7(e,n,s){if(e.nodeType!==Node.ELEMENT_NODE||!e.classList.contains("textLayer")||n!==e.childNodes.length)return{container:e,offset:n};let i=e.lastChild;if(i?.nodeType===Node.ELEMENT_NODE&&i.classList.contains("endOfContent"))i=i.previousSibling;if(!i||!s.contains(i))return null;if(i.nodeType===Node.TEXT_NODE)return{container:i,offset:i.textContent.length};return{container:i,offset:i.childNodes.length}}class Wt{#e=null;#t=new Map;#n=null;#s=null;#i=null;#a=null;#r=new Map;static#o=0;static#l=0;static#c=null;static#u=new Set;static#h=!1;static#d=new Set;static#p=new WeakMap;constructor({filterFactory:e=null,pageColors:n=null,pageIndex:s,textLayer:i=null}){if(this.pageIndex=s,this.#s=e,this.#i=n,i){let r=Wt.#p.get(i);if(r?.selectionDiv)r.selectionDiv.remove(),Wt.#u.delete(r.selectionDiv);if(Wt.#p.set(i,{drawLayer:this}),Wt.#d.add(i),this.#n=i,this.#a=new MutationObserver((a)=>{if(!this.#e||!this.#n?.isConnected||!Wt.#f())return;for(let{addedNodes:l}of a)for(let c of l)if(c.nodeType===Node.ELEMENT_NODE&&c.classList.contains("endOfContent")){Wt.#b();return}}),this.#a.observe(i,{childList:!0}),Wt.#c===null){Wt.#c=new AbortController;let{signal:a}=Wt.#c;document.addEventListener("selectionchange",Wt.#b.bind(Wt),{signal:a}),document.addEventListener("pointerdown",()=>{Wt.#h=!0},{signal:a}),document.addEventListener("pointerup",()=>{Wt.#h=!1},{signal:a}),window.addEventListener("blur",()=>{Wt.#h=!1},{signal:a})}}}setParent(e){if(!this.#e){if(this.#e=e,this.#n?.isConnected&&Wt.#f())Wt.#b();return}if(this.#e!==e){if(this.#t.size>0)for(let n of this.#t.values())n.remove(),e.append(n);this.#e=e}}static#g(e){let n=this.#p.get(e);if(!n?.selectionDiv)return;n.selectionDiv.remove(),this.#u.delete(n.selectionDiv),n.selectionDiv=null,n.path=null}static#f(){let e=document.getSelection();return!!e&&!e.isCollapsed}static#m(){return this.#d.keys().filter((e)=>e.isConnected).toArray().sort(xM)}static#b(){let e=document.getSelection();if(!e||e.isCollapsed){for(let a of this.#u)a.remove();this.#u.clear();return}let n=new WeakMap,s=this.#m(),i=[];for(let a=0,l=e.rangeCount;a<l;a++){let c=e.getRangeAt(a);if(c.collapsed)continue;let{startContainer:f,startOffset:m,endContainer:g,endOffset:b}=c,v=em(f),k=em(g),T=v===null,_=k===null;if(this.#h&&T!==_)return;if(e.rangeCount===1){let{anchorNode:z,anchorOffset:V,focusNode:X,focusOffset:J}=e,ee=em(z),te=em(X),ne=AM(z,V,X,J);if(ee&&te&&ne!==null)if(ne)f=z,m=V,v=ee,g=X,b=J,k=te;else f=X,m=J,v=te,g=z,b=V,k=ee}let P=s.filter((z)=>c.intersectsNode(z));if(P.length===0)continue;let U=!1;if(!v)v=P[0],f=v,m=0,U=!0;if(!k)k=P.at(-1),g=k,b=k.childNodes.length,U=!0;if(g.nodeType===Node.ELEMENT_NODE){if(g.classList.contains("endOfContent")){let z=g.previousSibling;if(!z)continue;g=z,b=z.nodeType===Node.TEXT_NODE?z.textContent.length:z.childNodes.length}else if(g.classList.contains("textLayer")&&g.childNodes.length===b){let z=h7(g,b,k);if(!z)continue;g=z.container,b=z.offset}}if(f.nodeType===Node.ELEMENT_NODE){let z=h7(f,m,v);if(!z)continue;f=z.container,m=z.offset}if(v===k&&!U&&P.includes(v)){i.push([c,v]);continue}for(let z of P){let V=z.firstChild;if(!V)continue;let X=document.createRange();if(z===v)X.setStart(f,m);else X.setStartBefore(V);if(z===k)X.setEnd(g,b);else{let J=z.lastChild;if(!J)continue;if(J.nodeType===Node.ELEMENT_NODE&&J.classList.contains("endOfContent")){let ee=J.previousSibling;if(!ee)continue;X.setEndAfter(ee)}else X.setEndAfter(J)}if(!X.collapsed)i.push([X,z])}}let r=new Set(i.map((a)=>a[1]));for(let a of this.#d)if(!r.has(a))this.#g(a);for(let[a,l]of i){let c=Wt.#p.get(l);if(!c)continue;let f=n.get(l);if(!f){let k=l.getBoundingClientRect();f=(T,_,P,U)=>({x:(T-k.x)/k.width,y:(_-k.y)/k.height,width:P/k.width,height:U/k.height}),n.set(l,f)}let m=[];for(let{x:k,y:T,width:_,height:P}of a.getClientRects()){if(_===0||P===0)continue;if({x:k,y:T,width:_,height:P}=f(k,T,_,P),_===1&&P===1)continue;m.push(`M${k} ${T} h${_} v${P} h-${_} Z`)}if(m.length===0)continue;let{drawLayer:g,selectionDiv:b,path:v}=c;if(!b){let k=`clip_selection_${Wt.#l++}`;b=document.createElement("div"),b.className="selection",b.style.clipPath=`url(#${k})`;let T=g.#s?.createSelectionStyle(g.#i);if(T)for(let[U,z]of Object.entries(T))b.style.setProperty(U,z);let _=Wt._svgFactory.create(1,1,!0);_.setAttribute("aria-hidden","true"),_.setAttribute("width","100%"),_.setAttribute("height","100%");let P=Wt._svgFactory.createElement("clipPath");P.setAttribute("id",k),P.setAttribute("clipPathUnits","objectBoundingBox"),v=Wt._svgFactory.createElement("path"),P.append(v),_.append(P),b.append(_),c.path=v,c.selectionDiv=b}if(g.#e&&b.parentNode!==g.#e)g.#e.append(b),this.#u.add(b);v.setAttribute("d",m.join(" "))}}static get _svgFactory(){return Lt(this,"_svgFactory",new uu)}static#w(e,[n,s,i,r]){let{style:a}=e;a.top=`${100*s}%`,a.left=`${100*n}%`,a.width=`${100*i}%`,a.height=`${100*r}%`}#y(){let e=Wt._svgFactory.create(1,1,!0);return this.#e.append(e),e.setAttribute("aria-hidden","true"),e}#v(e,n){let s=Wt._svgFactory.createElement("clipPath");e.append(s);let i=`clip_${n}`;s.setAttribute("id",i),s.setAttribute("clipPathUnits","objectBoundingBox");let r=Wt._svgFactory.createElement("use");return s.append(r),r.setAttribute("href",`#${n}`),r.classList.add("clip"),i}#x(e,n){for(let[s,i]of Object.entries(n))if(i===null)e.removeAttribute(s);else e.setAttribute(s,i)}draw(e,n=!1,s=!1){let i=Wt.#o++,r=this.#y(),a=Wt._svgFactory.createElement("defs");r.append(a);let l=Wt._svgFactory.createElement("path");a.append(l);let c=`path_${i}`;if(l.setAttribute("id",c),l.setAttribute("vector-effect","non-scaling-stroke"),n)this.#r.set(i,l);let f=s?this.#v(a,c):null,m=Wt._svgFactory.createElement("use");return r.append(m),m.setAttribute("href",`#${c}`),this.updateProperties(r,e),this.#t.set(i,r),{id:i,clipPathId:`url(#${f})`}}drawOutline(e,n){let s=Wt.#o++,i=this.#y(),r=Wt._svgFactory.createElement("defs");i.append(r);let a=Wt._svgFactory.createElement("path");r.append(a);let l=`path_${s}`;a.setAttribute("id",l),a.setAttribute("vector-effect","non-scaling-stroke");let c;if(n){let g=Wt._svgFactory.createElement("mask");r.append(g),c=`mask_${s}`,g.setAttribute("id",c),g.setAttribute("maskUnits","objectBoundingBox");let b=Wt._svgFactory.createElement("rect");g.append(b),b.setAttribute("width","1"),b.setAttribute("height","1"),b.setAttribute("fill","white");let v=Wt._svgFactory.createElement("use");g.append(v),v.setAttribute("href",`#${l}`),v.setAttribute("stroke","none"),v.setAttribute("fill","black"),v.setAttribute("fill-rule","nonzero"),v.classList.add("mask")}let f=Wt._svgFactory.createElement("use");if(i.append(f),f.setAttribute("href",`#${l}`),c)f.setAttribute("mask",`url(#${c})`);let m=f.cloneNode();return i.append(m),f.classList.add("mainOutline"),m.classList.add("secondaryOutline"),this.updateProperties(i,e),this.#t.set(s,i),s}finalizeDraw(e,n){this.#r.delete(e),this.updateProperties(e,n)}updateProperties(e,n){if(!n)return;let{root:s,bbox:i,rootClass:r,path:a}=n,l=typeof e==="number"?this.#t.get(e):e;if(!l)return;if(s)this.#x(l,s);if(i)Wt.#w(l,i);if(r){let{classList:c}=l;for(let[f,m]of Object.entries(r))c.toggle(f,m)}if(a){let f=l.firstElementChild.firstElementChild;this.#x(f,a)}}updateParent(e,n){if(n===this)return;let s=this.#t.get(e);if(!s)return;n.#e.append(s),this.#t.delete(e),n.#t.set(e,s)}remove(e){if(this.#r.delete(e),this.#e===null)return;this.#t.get(e).remove(),this.#t.delete(e)}destroy(){this.#e=null;for(let e of this.#t.values())e.remove();if(this.#t.clear(),this.#r.clear(),this.#a?.disconnect(),this.#a=null,this.#n){if(Wt.#p.get(this.#n)?.drawLayer===this){if(Wt.#g(this.#n),Wt.#p.delete(this.#n),Wt.#d.delete(this.#n),Wt.#d.size===0)Wt.#c?.abort(),Wt.#c=null,Wt.#h=!1}this.#n=null}}}function tm(e){return`${(e*100).toFixed(2)}%`}class gm{#e=[];#t=new Map;#n=null;#s=0;#i=0;#a=0;static#r=null;constructor(e,n,s,i){this.#s=e,this.#e=n,this.#i=s.rawDims.pageWidth,this.#a=s.rawDims.pageHeight,this.#n=i}render(){let e=document.createElement("div");e.className="textLayerImages";for(let n=0;n<this.#e.length;n+=6){let s=this.#o(this.#e.subarray(n,n+6));if(s)e.append(s)}return e.addEventListener("contextmenu",(n)=>{if(!(n.target instanceof HTMLCanvasElement))return;let s=n.target,i=this.#t.get(s);if(!i)return;let r=gm.#r?.deref();if(r===s)return;if(r)r.width=0,r.height=0;gm.#r=new WeakRef(s);let{inverseTransform:a,x1:l,y1:c,width:f,height:m}=i,g=this.#n(),b=Math.ceil(l*g.width),v=Math.ceil(c*g.height),k=Math.floor((l+f/this.#i)*g.width),T=Math.floor((c+m/this.#a)*g.height);s.width=k-b,s.height=T-v;let _=s.getContext("2d");_.setTransform(...a),_.translate(-b,-v),_.drawImage(g,0,0)}),e}#o([e,n,s,i,r,a]){let l=Math.hypot((r-e)*this.#i,(a-n)*this.#a),c=Math.hypot((s-e)*this.#i,(i-n)*this.#a);if(l<this.#s||c<this.#s)return null;let f=[(r-e)*this.#i/l,(a-n)*this.#a/l,(s-e)*this.#i/c,(i-n)*this.#a/c,0,0],m=ut.inverseTransform(f),g=document.createElement("canvas");return g.className="textLayerImagePlaceholder",g.width=0,g.height=0,Object.assign(g.style,{opacity:0,position:"absolute",left:tm(e),top:tm(n),width:tm(l/this.#i),height:tm(c/this.#a),transformOrigin:"0% 0%",transform:`matrix(${f.join(",")})`}),this.#t.set(g,{inverseTransform:m,width:l,height:c,x1:e,y1:n}),g}}globalThis._pdfjsTestingUtils={HighlightOutliner:dm};globalThis.pdfjsLib={AbortException:jo,AnnotationEditorLayer:To,AnnotationEditorParamsType:Sn,AnnotationEditorType:Jt,AnnotationEditorUIManager:Al,AnnotationLayer:k2,AnnotationMode:xl,AnnotationType:Is,applyOpacity:zq,build:vM,ColorPicker:Ur,createValidAbsoluteUrl:u7,CSSConstants:b7,DOMSVGFactory:uu,DrawLayer:Wt,FeatureTest:zn,fetchData:n2,findContrastColor:Gq,getDocument:d2,getFilenameFromUrl:Bq,getPdfFilenameFromUrl:Hq,getRGB:wu,getRGBA:bu,getUuid:p7,GlobalWorkerOptions:Co,ImageKind:nm,InvalidPDFException:om,isDataScheme:km,isPdfFile:s2,isValidExplicitDest:Qq,makeArr:Sf,makeMap:e2,makeObj:Gb,makeSet:Oq,MathClamp:ps,noContextMenu:ca,normalizeUnicode:Fq,OPS:Ua,OutputScale:ha,PasswordException:am,PasswordResponses:_q,PDFDataRangeTransport:p2,PDFDateString:lm,PDFWorker:Si,PermissionFlag:jq,PixelsPerInch:cc,RenderingCancelledException:Sm,renderRichText:w7,ResponseException:ru,setLayerDimensions:fc,shadow:Lt,SignatureExtractor:rc,stopEvent:ri,SupportedImageMimeTypes:$b,TextLayer:Oi,TextLayerImages:gm,TouchManager:a2,updateUrlHash:d7,Util:ut,VerbosityLevel:bm,version:yM,XfaLayer:t2};S();function zS({currentPage:e,totalPages:n,onPageChange:s,zoom:i,onZoomIn:r,onZoomOut:a,onFit:l,onDownload:c,canDownload:f,allowDownload:m=!0}){return o("div",{className:"relative px-2 py-2 sm:px-4 sm:py-3 bg-card border-t border-gray-200 dark:border-gray-700 z-10 flex items-center justify-between gap-1.5 sm:gap-2 transition-colors duration-200 shrink-0",children:[o("div",{className:"flex items-center gap-1 sm:gap-1.5 bg-gray-200/50 dark:bg-white/10 rounded-md p-0.5 shrink-0",children:[t("button",{onClick:()=>s(Math.max(1,e-1)),disabled:e<=1,className:"p-1 sm:p-1.5 rounded hover:bg-gray-300 dark:hover:bg-gray-600 text-gray-700 dark:text-gray-200 transition-colors disabled:opacity-40",title:gp(),children:t(nn,{size:16})}),o("span",{className:"px-1 sm:px-2 text-xs font-mono font-medium text-gray-900 dark:text-gray-100 select-none whitespace-nowrap",children:[t("span",{className:"hidden sm:inline",children:QS({current:e,total:n||1})}),o("span",{className:"inline sm:hidden",children:[e,"/",n||1]})]}),t("button",{onClick:()=>s(Math.min(n,e+1)),disabled:e>=n,className:"p-1 sm:p-1.5 rounded hover:bg-gray-300 dark:hover:bg-gray-600 text-gray-700 dark:text-gray-200 transition-colors disabled:opacity-40",title:Qx(),children:t(vt,{size:16})})]}),o("div",{className:"flex items-center gap-1 sm:gap-2 shrink-0",children:[o("div",{className:"flex items-center gap-0.5 sm:gap-1 bg-gray-200/50 dark:bg-white/10 rounded-md p-0.5",children:[t("button",{onClick:a,className:"p-1 sm:p-1.5 rounded hover:bg-gray-300 dark:hover:bg-gray-600 text-gray-700 dark:text-gray-200 transition-colors",title:Wp(),children:t(Vs,{size:16})}),o("span",{className:"w-10 sm:w-12 text-center text-xs font-mono font-medium text-gray-900 dark:text-gray-100 select-none",children:[Math.round(i*100),"%"]}),t("button",{onClick:r,className:"p-1 sm:p-1.5 rounded hover:bg-gray-300 dark:hover:bg-gray-600 text-gray-700 dark:text-gray-200 transition-colors",title:Kp(),children:t(pe,{size:16})})]}),t("button",{onClick:l,className:"text-xs font-medium px-2 py-1 sm:px-3 sm:py-1.5 rounded bg-gray-200/50 dark:bg-white/10 hover:bg-gray-300 dark:hover:bg-gray-600 text-gray-700 dark:text-gray-200 transition-colors border border-transparent",children:Gf()}),m&&o("button",{onClick:c,disabled:!f,className:"flex items-center gap-1 text-xs font-medium px-2 py-1 sm:px-3 sm:py-1.5 rounded bg-gray-200/50 dark:bg-white/10 hover:bg-gray-300 dark:hover:bg-gray-600 text-gray-700 dark:text-gray-200 transition-colors border border-transparent disabled:opacity-50",title:cb(),children:[t(wt,{size:14}),t("span",{className:"hidden sm:inline",children:hr()})]})]})]})}var xf="./pdf.worker.min-vf48er29.mjs";var CM=32000000,GS=16;if(typeof window<"u"&&Co)try{let e=typeof xf==="string"?xf.startsWith("/")?xf:"/"+xf.replace(/^\.\//,""):xf;if(typeof e==="string")Co.workerSrc=e}catch{}var jM=F(({file:e,annotations:n,shareId:s,children:i,onPlay:r,onPause:a,onTimeUpdate:l,startTime:c,allowDownload:f},m)=>{let{isDrawing:g,currentTool:b,currentColor:v,addAnnotation:k,annotations:T}=Yr(),[_,P]=u(null),[U,z]=u(()=>c&&!isNaN(c)?Math.max(1,Math.round(c)):1),[V,X]=u(1),[J,ee]=u(null),[te,ne]=u({width:800,height:1000}),[ie,se]=u(2),oe=y(null),[ye,Se]=u(!0),[me,de]=u(null);gn(m,()=>({play:()=>{r?.()},pause:()=>{a?.()},seekTo:(We)=>{if(We&&!isNaN(We)){let nt=Math.max(1,Math.min(V,Math.round(We)));z(nt)}}}),[V,r,a]),h(()=>{l?.(U)},[U,l]),h(()=>{let We=(nt)=>{let yt=document.activeElement;if(yt&&(yt.tagName==="INPUT"||yt.tagName==="TEXTAREA"||yt instanceof HTMLElement&&yt.isContentEditable))return;if(nt.key==="ArrowRight"||nt.key==="ArrowDown"||nt.key==="PageDown")nt.preventDefault(),z((pt)=>{let zt=Math.min(V,pt+1);if(zt!==pt)r?.();return zt});else if(nt.key==="ArrowLeft"||nt.key==="ArrowUp"||nt.key==="PageUp")nt.preventDefault(),z((pt)=>{let zt=Math.max(1,pt-1);if(zt!==pt)r?.();return zt});else if(nt.key==="Home")nt.preventDefault(),z(1),r?.();else if(nt.key==="End")nt.preventDefault(),z(V),r?.()};return window.addEventListener("keydown",We),()=>{window.removeEventListener("keydown",We)}},[V,r]);let[ce,Ee]=u({width:0,height:0}),[we,qe]=u(1),[Re,Fe]=u({x:0,y:0}),[Be,Xe]=u(!1);h(()=>{Xe(!1)},[e.id]);let st=y(null);h(()=>{let We=st.current;if(!We)return;let nt=new ResizeObserver((yt)=>{let pt=yt[0];if(pt)Ee({width:pt.contentRect.width,height:pt.contentRect.height})});return nt.observe(We),()=>nt.disconnect()},[]);let Ze=e.media?.pdfTranscode?.url;h(()=>{if(!Ze){de("No PDF URL available"),Se(!1);return}let We=!0;Se(!0),de(null);let nt=d2({url:Ze});return nt.promise.then((yt)=>{if(!We)return;P(yt),X(yt.numPages),z((pt)=>c&&!isNaN(c)?Math.max(1,Math.min(yt.numPages,Math.round(c))):pt),Se(!1)}).catch((yt)=>{if(!We)return;console.error("Failed to load PDF:",yt),de("Failed to load PDF document"),Se(!1)}),()=>{We=!1,nt.destroy().catch(()=>{})}},[Ze,c]),h(()=>{if(!_)return;let We=!0,nt=null;return _.getPage(U).then((yt)=>{if(!We)return;let pt=yt.getViewport({scale:1}),zt=yt.getViewport({scale:ie}),sn=document.createElement("canvas");sn.width=zt.width,sn.height=zt.height;let un=sn.getContext("2d");if(!un)return;if(nt=yt.render({canvasContext:un,viewport:zt,canvas:sn}),!We){nt.cancel();return}nt.promise.then(()=>{if(!We)return;ee(sn),ne({width:pt.width,height:pt.height})}).catch((Kt)=>{if(!We||Kt&&typeof Kt==="object"&&"name"in Kt&&Kt.name==="RenderingCancelledException")return;console.error("Failed to render page:",Kt)})}).catch((yt)=>{if(!We)return;console.error("Failed to get page:",yt)}),()=>{if(We=!1,nt)nt.cancel()}},[_,U,ie]),h(()=>{let We=window.setTimeout(()=>{let nt=typeof window<"u"?window.devicePixelRatio||1:1,yt=te.width*te.height,pt=yt>0?Math.sqrt(CM/yt):GS,zt=Math.min(Math.max(0.5,we*nt),pt,GS);se(zt)},150);return()=>window.clearTimeout(We)},[we,te]),h(()=>{let We=oe.current;if(!_||!We)return;let nt=!0,yt=null;return We.innerHTML="",_.getPage(U).then((pt)=>{if(!nt)return;yt=new Oi({textContentSource:pt.streamTextContent(),container:We,viewport:pt.getViewport({scale:1})}),yt.render().catch(()=>{})}).catch((pt)=>{if(!nt)return;console.error("Failed to build text layer:",pt)}),()=>{nt=!1,yt?.cancel()}},[_,U]),h(()=>{let We=oe.current;if(!We)return;We.style.transform=`translate(${Re.x}px, ${Re.y}px) scale(${we})`},[Re,we]);let{width:St,height:_t}=ce,{width:dt,height:Ot}=te,ln=Sl(St,_t,dt,Ot);h(()=>{if(St<=0||_t<=0||dt<=0||Ot<=0)return;if(Be)return;qe(ln),Fe(ko(St,_t,dt,Ot,ln))},[St,_t,ln,dt,Ot,Be]);let kn=(We)=>{Xe(!0);let nt=Ao(we,Re,We,St/2,_t/2);qe(nt.zoom),Fe(nt.pan)},an=()=>{Xe(!1),qe(ln),Fe(ko(St,_t,dt,Ot,ln))};pf({containerRef:st,zoom:we,pan:Re,baseScale:ln,onZoomChange:(We)=>{Xe(!0),qe(We.zoom),Fe(We.pan)},onPanChange:Fe});let on=async()=>{let We=e.media?.original?.key;if(!We||!e.id)return;try{let nt=s?await A.api.shares[":shareId"].files[":fileId"]["download-url"].$post({param:{shareId:s,fileId:e.id},json:{key:We}}):await A.api.files["download-url"].$post({json:{key:We,assetId:e.id}});if(!nt.ok)return;let{url:yt}=await nt.json(),pt=document.createElement("a");pt.href=yt,pt.download=e.name||"document.pdf",document.body.appendChild(pt),pt.click(),document.body.removeChild(pt)}catch{}},fs=[...n||[],...T];return o("div",{className:"flex flex-col flex-1 h-full overflow-hidden bg-gray-100 dark:bg-gray-950 relative",children:[o("div",{className:"flex-1 flex flex-col-reverse md:flex-row min-h-0 relative",children:[i,o("div",{ref:st,className:"flex-1 relative overflow-hidden touch-none",children:[ye?t("div",{className:"absolute inset-0 flex items-center justify-center bg-black/40 z-20",children:t("div",{className:"w-8 h-8 border-4 border-white/30 border-t-white rounded-full animate-spin"})}):me?t("div",{className:"absolute inset-0 flex items-center justify-center text-gray-500 text-sm",children:me}):t(La,{width:St,height:_t,mediaDimensions:te,canvasElement:J,annotations:fs,scale:we,offset:Re,className:"absolute inset-0 z-0",isDrawing:g,currentTool:b,currentColor:v,onAddAnnotation:k}),t("div",{ref:oe,className:"pdf-text-layer",onMouseDown:(We)=>{if(We.target instanceof HTMLElement&&We.target.tagName!=="SPAN")window.getSelection()?.removeAllRanges()},style:{transform:`translate(${Re.x}px, ${Re.y}px) scale(${we})`,transformOrigin:"0 0",pointerEvents:g?"none":"auto"}})]})]}),t(zS,{currentPage:U,totalPages:V,onPageChange:(We)=>{z(We),r?.()},zoom:we,onZoomIn:()=>kn(1.2),onZoomOut:()=>kn(0.8),onFit:an,onDownload:on,canDownload:!!e.media?.original?.key,allowDownload:f})]})}),VS=jM;var $S={id:"pdf",name:"PDF",match:(e)=>e.proxyType==="pdf",viewer:VS,commentsConfig:{hasTimestamp:!0,hasAnnotations:!0,formatTimestamp:(e)=>`P${Math.round(e)}`}};S();var _M=F(({file:e,shareId:n,children:s,allowDownload:i=!0},r)=>{gn(r,()=>({play:()=>{},pause:()=>{},seekTo:()=>{}}));let a=async()=>{let f=e.media?.original?.key;if(!f||!e.id)return;try{let m=n?await A.api.shares[":shareId"].files[":fileId"]["download-url"].$post({param:{shareId:n,fileId:e.id},json:{key:f}}):await A.api.files["download-url"].$post({json:{key:f,assetId:e.id}});if(!m.ok)return;let{url:g}=await m.json(),b=document.createElement("a");b.href=g,b.download="",document.body.appendChild(b),b.click(),document.body.removeChild(b)}catch{}},l=e.status==="failed",c=e.media?.error;return o("div",{className:"flex flex-col flex-1 h-full overflow-hidden bg-gray-100 dark:bg-gray-950 relative",children:[o("div",{className:"flex-1 flex flex-col-reverse md:flex-row min-h-0 relative",children:[s,t("div",{className:"flex-1 flex items-center justify-center p-6 text-center",children:l?o("div",{"data-testid":"default-viewer-failed-state",className:"flex flex-col items-center justify-center gap-3 max-w-md",children:[t(fr,{className:"h-12 w-12 text-destructive/80"}),o("div",{className:"space-y-1",children:[t("h3",{className:"text-base font-semibold text-foreground",children:Jh()}),t("p",{className:"text-sm text-muted-foreground",children:Xh()}),c&&t("div",{title:c,className:"mt-3 rounded-lg border border-destructive/20 bg-destructive/10 p-3 text-xs text-destructive text-left line-clamp-3 break-words",children:c})]})]}):t("p",{className:"text-muted-foreground",children:"Preview unavailable"})})]}),t("div",{className:"relative px-4 py-3 bg-card border-t border-gray-200 dark:border-gray-700 z-10 flex items-center justify-end gap-2 transition-colors duration-200",children:i&&o("button",{onClick:a,disabled:!e.media?.original?.key,className:"flex items-center gap-1.5 text-xs font-medium px-3 py-1.5 rounded bg-gray-200/50 dark:bg-white/10 hover:bg-gray-300 dark:hover:bg-gray-600 text-gray-700 dark:text-gray-200 transition-colors border border-transparent disabled:opacity-50 animate-in fade-in zoom-in-95 duration-200",title:"Download original file",children:[t(wt,{size:14}),"Download"]})})]})}),XS=_M;var _2={id:"default",name:"Default",match:()=>!0,viewer:XS,commentsConfig:{hasTimestamp:!1,hasAnnotations:!1}};var IM=[$S,F8,P8];function ts(e){if(!e)return _2;return IM.find((s)=>s.match(e))||_2}function rs({file:e,mediaControllerRef:n,onPlay:s,onPause:i,onTimeUpdate:r,annotations:a,startTime:l,shareId:c,allowDownload:f,autoPlay:m,children:g}){let b=ts(e),v=b.viewer;return t(v,{ref:n,file:e,onPlay:s,onPause:i,onTimeUpdate:r,annotations:a,startTime:l,shareId:c,allowDownload:f,autoPlay:m,children:g},b.id)}function RM(e){let n=e.lastIndexOf(".");if(n>0)return[0,n];return[0,e.length]}function vs(e){e.focus();let[n,s]=RM(e.value);if(typeof e.setSelectionRange==="function")e.setSelectionRange(n,s);else e.select()}var Fr=Rr((e)=>({fields:[],loadedProjectId:null,setFields:(n,s)=>e({fields:n,loadedProjectId:s}),updateFields:(n)=>e({fields:n})}));function WS(e,n){let{start:s,end:i}=Nl(n?.in,e),r=+s>+i,a=r?+s:+i,l=r?i:s;l.setHours(0,0,0,0);let c=n?.step??1;if(!c)return[];if(c<0)c=-c,r=!r;let f=[];while(+l<=a)f.push(ct(s,l)),l.setDate(l.getDate()+c),l.setHours(0,0,0,0);return r?f.reverse():f}function Lm(e,n){return xe(e,n?.in).getDate()}function KS(e,n){return xe(e,n?.in).getDay()}function I2(e,n){return xe(e,n?.in).getHours()}function R2(e,n){return xe(e,n?.in).getMinutes()}S();var DM=({value:e,config:n,onSave:s,readOnly:i})=>{let r=n?.date,[a,l]=u(!1),c=y(null),f=e?new Date(e):new Date,m=sa(f)?f:new Date,[g,b]=u(m);h(()=>{if(a&&e){let ee=new Date(e);if(sa(ee))b(ee)}},[a,e]),h(()=>{let ee=(te)=>{if(c.current&&!c.current.contains(te.target)){if(a)l(!1)}};return document.addEventListener("mousedown",ee),()=>document.removeEventListener("mousedown",ee)},[a]);let v=()=>{if(!i)l(!0)},k=(ee)=>{if(!ee)return"";let te=new Date(ee);if(!sa(te))return"Invalid Date";let ne="PPP";if(r?.displayFormat==="usa")ne="MM/dd/yyyy";else if(r?.displayFormat==="euro")ne="dd/MM/yyyy";else if(r?.displayFormat==="iso")ne="yyyy-MM-dd";if(r?.includeTime)if(r?.timeFormat==="twenty_four_hour")ne+=" HH:mm";else ne+=" p";let ie=gr(te,ne);if(r?.displayTimezone)ie+=` (${Intl.DateTimeFormat().resolvedOptions().timeZone})`;return ie},T=new Date(g.getFullYear(),g.getMonth(),1),_=$d(g),P=WS({start:T,end:_}),U=KS(T),z=(ee)=>{let te=new Date(ee);if(r?.includeTime)te.setHours(I2(m)),te.setMinutes(R2(m));let ne=te.toISOString();if(s(ne),!r?.includeTime)l(!1)},V=(ee,te)=>{let ne=e?new Date(e):new Date;if(!sa(ne))ne.setTime(new Date().getTime());if(ee==="hour")ne.setHours(te);if(ee==="minute")ne.setMinutes(te);let ie=ne.toISOString();s(ie)},X=Array.from({length:24},(ee,te)=>te),J=Array.from({length:12},(ee,te)=>te*5);if(a)return o("div",{className:"relative w-full",ref:c,children:[t("div",{className:"w-full px-2 py-1 border border-ring rounded bg-background text-sm shadow-sm min-h-[28px] flex items-center",children:e?k(e):t("span",{className:"text-muted-foreground",children:"Select date..."})}),o("div",{className:"absolute z-50 top-full left-0 mt-1 bg-popover border border-border rounded-lg shadow-xl flex flex-col md:flex-row overflow-hidden min-w-[280px]",children:[o("div",{className:"p-4 w-64",children:[o("div",{className:"flex justify-between items-center mb-4",children:[t("button",{onClick:()=>b(Ba(g,-1)),className:"p-1 hover:bg-accent rounded",children:t(nn,{className:"w-4 h-4"})}),t("span",{className:"font-semibold text-sm",children:gr(g,"MMMM yyyy")}),t("button",{onClick:()=>b(Ba(g,1)),className:"p-1 hover:bg-accent rounded",children:t(vt,{className:"w-4 h-4"})})]}),t("div",{className:"grid grid-cols-7 gap-1 text-center text-xs mb-2 text-muted-foreground",children:["Su","Mo","Tu","We","Th","Fr","Sa"].map((ee)=>t("div",{children:ee},ee))}),o("div",{className:"grid grid-cols-7 gap-1 text-center text-sm",children:[Array.from({length:U}).map((ee,te)=>t("div",{},`empty-${te}`)),P.map((ee)=>{let te=e?new Date(e):null,ne=te&&sa(te)&&Lm(te)===Lm(ee)&&eu(te)===eu(ee)&&tu(te)===tu(ee);return t("button",{onClick:()=>z(ee),className:`w-8 h-8 rounded-full flex items-center justify-center hover:bg-accent transition-colors ${ne?"bg-primary text-primary-foreground hover:bg-primary/90":"text-foreground"}`,children:Lm(ee)},ee.toString())})]})]}),r?.includeTime&&o("div",{className:"border-l border-border bg-muted w-32 flex flex-col",children:[o("div",{className:"p-2 border-b border-border text-xs font-semibold text-muted-foreground flex items-center justify-center gap-1",children:[t(er,{className:"w-3 h-3"})," Time"]}),o("div",{className:"flex flex-1 h-64",children:[t("div",{className:"flex-1 overflow-y-auto scrollbar-hide border-r border-border",children:X.map((ee)=>t("div",{onClick:()=>V("hour",ee),className:`px-2 py-1 text-center text-sm cursor-pointer hover:bg-accent ${I2(m)===ee?"bg-primary/10 font-medium text-primary":""}`,children:ee.toString().padStart(2,"0")},ee))}),t("div",{className:"flex-1 overflow-y-auto scrollbar-hide",children:J.map((ee)=>t("div",{onClick:()=>V("minute",ee),className:`px-2 py-1 text-center text-sm cursor-pointer hover:bg-accent ${R2(m)===ee?"bg-primary/10 font-medium text-primary":""}`,children:ee.toString().padStart(2,"0")},ee))})]})]})]})]});return t("div",{onClick:v,className:`w-full min-h-[28px] px-2 py-1 text-sm text-foreground rounded border border-transparent transition-colors ${!i?"cursor-pointer hover:bg-accent hover:border-border":""}`,children:e?k(e):t("span",{className:"text-muted-foreground italic",children:"Empty"})})},YS=DM;S();var qM=({value:e,onSave:n,readOnly:s})=>{let[i,r]=u(!1),[a,l]=u(e||""),c=y(null),f=y(null),[m,g]=u(!1);h(()=>{l(e||"")},[e]),h(()=>{if(i&&c.current)c.current.focus(),g(!1)},[i]),h(()=>{let T=(_)=>{if(m&&f.current&&!f.current.contains(_.target))g(!1)};if(m)document.addEventListener("mousedown",T);return()=>{document.removeEventListener("mousedown",T)}},[m]);let b=()=>{r(!1),n(a)},v=(T)=>{T.stopPropagation(),g(!0)},k=(T)=>{if(T.stopPropagation(),!s)r(!0)};if(i)return t("textarea",{ref:c,value:a,onChange:(T)=>l(T.target.value),onBlur:b,className:"w-full min-h-[80px] p-2 border border-ring rounded bg-background text-sm outline-none shadow-sm resize-none"});return o("div",{ref:f,className:"relative w-full text-sm",children:[t("div",{onClick:v,className:`w-full text-foreground rounded border border-transparent transition-all px-2 py-1 h-[48px] line-clamp-2 whitespace-pre-wrap overflow-hidden ${!s?"cursor-pointer hover:bg-accent hover:border-border":"cursor-pointer"}`,title:"Click to expand",children:e?e:t("span",{className:"text-muted-foreground italic",children:"Empty"})}),m&&t("div",{onClick:k,className:`absolute top-0 left-0 w-full min-h-full h-auto z-50 bg-background border border-ring rounded shadow-lg px-2 py-1 whitespace-pre-wrap ${!s?"cursor-text":""}`,children:e?e:t("span",{className:"text-muted-foreground italic",children:"Empty"})})]})},JS=qM;S();var MM=({value:e,config:n,onSave:s,readOnly:i})=>{let r=n?.number,[a,l]=u(!1),[c,f]=u(""),m=y(null);h(()=>{f(e!==void 0&&e!==null?e.toString():"")},[e]),h(()=>{if(a&&m.current)m.current.focus()},[a]);let g=()=>{if(!i)l(!0)},b=()=>{if(l(!1),c==="")s(void 0);else{let T=parseFloat(c);s(isNaN(T)?void 0:T)}},v=(T)=>{if(T.key==="Enter")T.stopPropagation(),m.current?.blur()},k=(T)=>{if(T===void 0||T===null||isNaN(T))return"";return T.toFixed(r?.scale)};if(a)return t("input",{ref:m,type:"number",step:1/Math.pow(10,r?.scale||0),value:c,onChange:(T)=>f(T.target.value),onBlur:b,onKeyDown:v,onDoubleClick:(T)=>T.stopPropagation(),className:"w-full px-2 py-1 border border-ring rounded bg-background text-sm outline-none shadow-sm text-left font-mono"});return t("div",{onClick:g,onDoubleClick:(T)=>T.stopPropagation(),className:`w-full min-h-[28px] px-2 py-1 text-sm text-foreground rounded border border-transparent transition-colors text-left font-mono ${!i?"cursor-pointer hover:bg-accent hover:border-border":""}`,children:e!==void 0&&e!==null?k(e):t("span",{className:"text-muted-foreground italic font-sans text-left block",children:"Empty"})})},ZS=MM;S();var FM=({value:e,config:n,onSave:s,readOnly:i})=>{let r=n?.rating,a=Math.max(2,Math.min(6,r?.maxValue||5)),[l,c]=u(null),f=(g,b)=>{if(g.stopPropagation(),i)return;let v;if(e===b)v=0;else v=b;s(v)},m=Array.from({length:a},(g,b)=>b+1);return t("div",{className:"flex items-center gap-1 h-[28px]",onMouseLeave:()=>!i&&c(null),onDoubleClick:(g)=>g.stopPropagation(),children:m.map((g)=>{let b=l!==null?g<=l:g<=(e||0);return t("button",{onClick:(v)=>f(v,g),onMouseEnter:()=>!i&&c(g),className:`focus:outline-none transition-transform ${!i?"cursor-pointer hover:scale-110":"cursor-default"}`,type:"button",disabled:i,children:t(kd,{className:`w-5 h-5 transition-colors ${b?"fill-yellow-400 text-yellow-400":"fill-muted text-muted-foreground/30"}`})},g)})})},gu=FM;S();var dc;(function(e){e.Base32IncorrectEncoding="B32_ENC_INVALID",e.DecodeTimeInvalidCharacter="DEC_TIME_CHAR",e.DecodeTimeValueMalformed="DEC_TIME_MALFORMED",e.EncodeTimeNegative="ENC_TIME_NEG",e.EncodeTimeSizeExceeded="ENC_TIME_SIZE_EXCEED",e.EncodeTimeValueMalformed="ENC_TIME_MALFORMED",e.PRNGDetectFailure="PRNG_DETECT",e.ULIDInvalid="ULID_INVALID",e.Unexpected="UNEXPECTED",e.UUIDInvalid="UUID_INVALID"})(dc||(dc={}));class Af extends Error{constructor(e,n){super(`${n} (${e})`);this.name="ULIDError",this.code=e}}function LM(e){let n=Math.floor(e()*32)%32;return"0123456789ABCDEFGHJKMNPQRSTVWXYZ".charAt(n)}function OM(e){let n=PM(),s=n&&(n.crypto||n.msCrypto)||null;if(typeof s?.getRandomValues==="function")return()=>{let i=new Uint8Array(1);return s.getRandomValues(i),i[0]/256};else if(typeof s?.randomBytes==="function")return()=>s.randomBytes(1).readUInt8()/256;throw new Af(dc.PRNGDetectFailure,"Failed to find a reliable PRNG")}function PM(){if(HM())return self;if(typeof window<"u")return window;if(typeof global<"u")return global;if(typeof globalThis<"u")return globalThis;return null}function NM(e,n){let s="";for(;e>0;e--)s=LM(n)+s;return s}function BM(e,n=10){if(isNaN(e))throw new Af(dc.EncodeTimeValueMalformed,`Time must be a number: ${e}`);else if(e>281474976710655)throw new Af(dc.EncodeTimeSizeExceeded,`Cannot encode a time larger than 281474976710655: ${e}`);else if(e<0)throw new Af(dc.EncodeTimeNegative,`Time must be positive: ${e}`);else if(Number.isInteger(e)===!1)throw new Af(dc.EncodeTimeValueMalformed,`Time must be an integer: ${e}`);let s,i="";for(let r=n;r>0;r--)s=e%32,i="0123456789ABCDEFGHJKMNPQRSTVWXYZ".charAt(s)+i,e=(e-s)/32;return i}function HM(){return typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope}function Zo(e,n){let s=n||OM(),i=!e||isNaN(e)?Date.now():e;return BM(i,10)+NM(16,s)}function UM(e,n,s){let i=e.slice();return i.splice(s,0,i.splice(n,1)[0]),i}function pu(e,n,s,i){if(s===i)return e;let r=UM(n,s,i),a=new Set(n.map((c)=>c.id)),l=0;return e.map((c)=>a.has(c.id)?r[l++]:c)}async function Ga(e){let n=[],s=[],i=e.items;if(i)for(let l=0;l<i.length;l++){let c=i[l];if(c.kind==="file"){let f=c.webkitGetAsEntry?.();if(f)s.push({entry:f,path:""})}}else return Array.from(e.files);let r=(l)=>new Promise((c)=>{l.readEntries((f)=>c(f),()=>c([]))}),a=(l)=>new Promise((c,f)=>{l.file((m)=>c(m),(m)=>f(m))});while(s.length>0){let l=s.shift();if(!l)continue;let{entry:c,path:f}=l;if(c.isFile)try{let m=await a(c),g=f?`${f}/${m.name}`:m.name;Object.defineProperty(m,"webkitRelativePath",{value:g,writable:!1,configurable:!0}),n.push(m)}catch(m){console.error("Error reading file entry:",m)}else if(c.isDirectory){let m=c.createReader(),g=[],b=await r(m);while(b.length>0)g=g.concat(b),b=await r(m);let v=f?`${f}/${c.name}`:c.name;for(let k of g)s.push({entry:k,path:v})}}return n}S();S();function $l(){let[e,n]=u(!1);return o(ue,{open:e,onOpenChange:n,children:[t(EA,{asChild:!0,children:o(E,{type:"button",variant:"ghost",size:"icon",className:"h-4 w-4 p-0 hover:bg-transparent text-muted-foreground hover:text-foreground inline-flex items-center justify-center shrink-0 ml-1",title:Mf(),children:[t(dg,{className:"h-3.5 w-3.5"}),t("span",{className:"sr-only",children:Mf()})]})}),o(ae,{className:"sm:max-w-[500px]",children:[o(fe,{children:[o(le,{className:"flex items-center gap-2",children:[t(dg,{className:"h-5 w-5 text-muted-foreground"}),Mf()]}),t(It,{children:b_()})]}),o("div",{className:"space-y-4 py-2",children:[o("div",{className:"rounded-lg border p-3.5 space-y-1.5 bg-muted/30",children:[o("div",{className:"flex items-center gap-2 font-medium text-sm",children:[t(p5,{className:"h-4 w-4 text-muted-foreground shrink-0"}),t("span",{children:Fc()})]}),t("p",{className:"text-xs text-muted-foreground leading-relaxed",children:v_()}),t("p",{className:"text-xs italic text-muted-foreground/80",children:w_()})]}),o("div",{className:"rounded-lg border p-3.5 space-y-1.5 bg-muted/30",children:[o("div",{className:"flex items-center gap-2 font-medium text-sm",children:[t(dn,{className:"h-4 w-4 text-amber-500 shrink-0"}),t("span",{children:Dc()})]}),t("p",{className:"text-xs text-muted-foreground leading-relaxed",children:g_()}),t("p",{className:"text-xs italic text-muted-foreground/80",children:A_()})]}),o("div",{className:"rounded-lg border p-3.5 space-y-1.5 bg-muted/30",children:[o("div",{className:"flex items-center gap-2 font-medium text-sm",children:[t(Ct,{className:"h-4 w-4 text-blue-500 shrink-0"}),t("span",{children:Oc()})]}),t("p",{className:"text-xs text-muted-foreground leading-relaxed",children:__()}),t("p",{className:"text-xs italic text-muted-foreground/80",children:y_()})]})]})]})]})}var da=["red","orange","yellow","green","blue","purple","gray"],Ri={red:{bg:"rgba(239, 68, 68, 0.15)",text:"#ef4444",hex:"#ef4444"},orange:{bg:"rgba(249, 115, 22, 0.15)",text:"#f97316",hex:"#f97316"},yellow:{bg:"rgba(234, 179, 8, 0.15)",text:"#ca8a04",hex:"#eab308"},green:{bg:"rgba(34, 197, 94, 0.15)",text:"#16a34a",hex:"#22c55e"},blue:{bg:"rgba(59, 130, 246, 0.15)",text:"#2563eb",hex:"#3b82f6"},purple:{bg:"rgba(168, 85, 247, 0.15)",text:"#9333ea",hex:"#a855f7"},gray:{bg:"rgba(128, 128, 128, 0.15)",text:"#4b5563",hex:"#808080"},system:{bg:"rgba(128, 128, 128, 0.1)",text:"#6b7280",hex:"#808080"}};function ws(e){if(!e)return{backgroundColor:"rgba(128, 128, 128, 0.1)",color:"#6b7280"};let n=e.toLowerCase(),s=Ri[n];if(s)return{backgroundColor:s.bg,color:s.text};if(e.startsWith("#"))return{backgroundColor:`${e}33`,color:e};return{backgroundColor:"rgba(128, 128, 128, 0.1)",color:e}}function Pi(e=[]){let n=new Set(e.map((i)=>i.color?.toLowerCase()).filter(Boolean)),s=da.filter((i)=>!n.has(i.toLowerCase()));if(s.length>0)return s[Math.floor(Math.random()*s.length)];return da[Math.floor(Math.random()*da.length)]}var fa={[Pr.text]:$a,[Pr.longText]:m5,[Pr.select]:Oo,[Pr.selectMulti]:b5,[Pr.rating]:kd,[Pr.number]:g5,[Pr.toggle]:w5,[Pr.date]:jn,[Pr.user]:Vn,[Pr.userMulti]:ao};function zM({field:e,index:n,onVisibilityChange:s}){let{ref:i,handleRef:r}=za({id:e.id,index:n}),a=e.config?.type?fa[e.config.type]:null;return o("div",{ref:i,className:"flex items-center justify-between p-2 rounded-md hover:bg-muted",children:[o("div",{className:"flex items-center gap-2",children:[t("div",{ref:r,className:"cursor-grab",children:t(Zs,{className:"h-4 w-4 text-muted-foreground"})}),a&&t(a,{className:"h-4 w-4 text-muted-foreground shrink-0"}),e.config?.autofillSource===Cr.CONTENT&&t(dn,{className:"h-4 w-4 text-muted-foreground shrink-0"}),e.config?.autofillSource===Cr.CREATION_CONTEXT&&t(Ct,{className:"h-4 w-4 text-muted-foreground shrink-0"}),t("span",{className:"text-sm truncate",children:e.config?.name})]}),t(Me,{checked:e.visible,onCheckedChange:(l)=>s(e.id,l)})]})}function cm({projectId:e,onManageFields:n,onSave:s}){let{fields:i,updateFields:r}=Fr(),[a,l]=u(""),[c,f]=u("list"),[m,g]=u(""),[b,v]=u(""),[k,T]=u(Cr.NONE),[_,P]=u(""),[U,z]=u([]),V=Q();h(()=>{V.invalidateQueries({queryKey:["fields",e]})},[e,V]);let X=A.api.projects[":projectId"].fields.order.$patch,{mutate:J}=B({mutationFn:async(Se)=>{if(!(await X(Se)).ok)throw Error(jf());return null}}),ee=A.api.projects[":projectId"].fields.$post,{mutate:te}=B({mutationFn:async(Se)=>{let me=await ee(Se);if(!me.ok)throw Error(Uf());return await me.json()},onSuccess:(Se)=>{let me={...Se,visible:!0},de=[...i,me];r(de),g(""),z([]),J({param:{projectId:e},json:de.map((ce)=>({fieldId:ce.id,visible:ce.visible||!1}))}),s?.()}}),ne=N(()=>i.filter((Se)=>Se.config?.name?.toLowerCase().includes(a.toLowerCase())),[i,a]),ie=(Se)=>{if(Se.canceled)return;let{source:me}=Se.operation;if(!no(me))return;let{initialIndex:de,index:ce}=me;if(de===ce)return;let Ee=pu(i,ne,de,ce);r(Ee),J({param:{projectId:e},json:Ee.map((we)=>({fieldId:we.id,visible:we.visible||!1}))})},se=(Se,me)=>{let de=i.map((ce)=>ce.id===Se?{...ce,visible:me}:ce);r(de),J({param:{projectId:e},json:de.map((ce)=>({fieldId:ce.id,visible:ce.visible||!1}))})},oe=()=>{if(!m||!b)return;let Se=b===Pr.select?{select:{options:U}}:b===Pr.selectMulti?{selectMulti:{options:U}}:{};te({param:{projectId:e},json:{config:{name:m,type:b,autofillSource:k,...Se},label:m,description:_}})},ye=i.filter((Se)=>Se.visible).length;if(c==="create")return t("div",{className:"w-80 p-4",children:o("div",{className:"space-y-4",children:[o("div",{className:"space-y-2",children:[t(W,{htmlFor:"field-name",children:Hf()}),t(q,{id:"field-name",placeholder:Hx(),value:m,onChange:(Se)=>g(Se.target.value),autoFocus:!0})]}),o("div",{className:"space-y-2",children:[t(W,{children:$f()}),o(he,{children:[t(ge,{asChild:!0,children:o(E,{variant:"outline",className:"w-full justify-between font-normal",children:[b?t("span",{className:"capitalize",children:b.replace(/_/g," ")}):t("span",{className:"text-muted-foreground border-dashed",children:WC()}),t(ve,{className:"ml-2 h-4 w-4 opacity-50"})]})}),t(Ae,{className:"w-[--radix-dropdown-menu-trigger-width]",children:Object.values(Pr).map((Se)=>t(K,{onClick:()=>{v(Se),z([])},className:"capitalize",children:Se.replace(/_/g," ")},Se))})]})]}),o("div",{className:"space-y-2",children:[t(W,{htmlFor:"field-desc",children:yl()}),t(q,{id:"field-desc",placeholder:md(),value:_,onChange:(Se)=>P(Se.target.value)})]}),o("div",{className:"space-y-2",children:[o("div",{className:"flex items-center gap-1",children:[t(W,{children:fd()}),t($l,{})]}),o(Mo,{type:"single",value:k,onValueChange:(Se)=>{if(Se)T(Se)},className:"w-full grid grid-cols-3 border rounded-md p-1 gap-1",children:[t(_r,{value:Cr.NONE,className:"text-[11px] leading-tight py-1 px-1 h-auto min-h-[32px] w-full text-center justify-center whitespace-normal font-medium",children:Fc()}),t(_r,{value:Cr.CONTENT,className:"text-[11px] leading-tight py-1 px-1 h-auto min-h-[32px] w-full text-center justify-center whitespace-normal font-medium",children:Dc()}),t(_r,{value:Cr.CREATION_CONTEXT,className:"text-[11px] leading-tight py-1 px-1 h-auto min-h-[32px] w-full text-center justify-center whitespace-normal font-medium",children:Oc()})]})]}),(b===Pr.select||b===Pr.selectMulti)&&o("div",{className:"space-y-2",children:[o("div",{className:"flex items-center justify-between",children:[t(W,{className:"text-sm font-medium",children:Td()}),o(E,{variant:"ghost",size:"sm",className:"h-8 px-2",onClick:()=>{let Se={id:Zo(),displayName:Ed(),color:Pi(U)};z([...U,Se])},children:[t(pe,{className:"h-4 w-4 mr-1"})," ",ld()]})]}),t("div",{className:"space-y-2 max-h-40 overflow-y-auto pr-1",children:U.map((Se,me)=>o("div",{className:"flex items-center gap-2",children:[t(q,{value:Se.displayName,onChange:(de)=>{let ce=[...U];ce[me]={...Se,displayName:de.target.value},z(ce)},placeholder:fp(),className:"h-8 flex-1"}),o(ht,{children:[t(gt,{asChild:!0,children:t("button",{type:"button",className:"w-6 h-6 rounded-full border shrink-0 cursor-pointer focus:outline-none hover:scale-105 transition-transform",style:{backgroundColor:Ri[Se.color||""]?.hex||Se.color||"#808080"}})}),t(At,{className:"p-2 w-auto",align:"end",children:t("div",{className:"flex gap-1",children:da.map((de)=>t("button",{type:"button",className:"w-5 h-5 rounded-full border cursor-pointer hover:scale-110 transition-transform",style:{backgroundColor:Ri[de]?.hex||de},onClick:()=>{let ce=[...U];ce[me]={...Se,color:de},z(ce)}},de))})})]}),t(E,{variant:"ghost",size:"icon",className:"h-8 w-8 shrink-0 text-destructive hover:text-destructive hover:bg-destructive/10",onClick:()=>{z(U.filter((de,ce)=>ce!==me))},children:t(Ne,{className:"h-4 w-4"})})]},Se.id))})]}),o("div",{className:"flex gap-2 pt-2",children:[t(E,{variant:"secondary",className:"flex-1",onClick:()=>{f("list"),g(""),v(""),T(Cr.NONE),P(""),z([])},children:De()}),t(E,{className:"flex-1",onClick:oe,disabled:!m||!b,children:xo()})]})]})});return o("div",{className:"w-80 p-4",children:[t("div",{className:"flex items-center justify-between mb-4",children:o("h3",{className:"font-semibold",children:[Da()," ",t("span",{className:"text-muted-foreground text-sm font-normal",children:A1({count:ye})})]})}),o("div",{className:"relative mb-4",children:[t(Ut,{className:"absolute left-2 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"}),t(q,{placeholder:zC(),value:a,onChange:(Se)=>l(Se.target.value),className:"pl-8"})]}),t("div",{className:"max-h-60 overflow-y-auto pr-2",children:t($n,{sensors:[_n.configure({activationConstraints:[new Dr.Distance({value:8})]}),Xo],onDragEnd:ie,children:ne.map((Se,me)=>t(zM,{field:Se,index:me,onVisibilityChange:se},Se.id))})}),n&&o("div",{className:"mt-4 space-y-2",children:[o(E,{variant:"secondary",className:"w-full",onClick:n,children:[t(ki,{className:"h-4 w-4 mr-2"}),Yf()]}),o(E,{className:"w-full",onClick:()=>f("create"),children:[t(pe,{className:"h-4 w-4 mr-2"}),qx()]})]})]})}var GM=({value:e,config:n,onSave:s,readOnly:i,fieldId:r})=>{let a=n?.select,l=a?.options||[],[c,f]=u(!1),[m,g]=u(""),b=l.find((X)=>X.id===e),v=m.trim(),k=l.filter((X)=>X.displayName.toLowerCase().includes(v.toLowerCase())),T=l.some((X)=>X.displayName.trim().toLowerCase()===v.toLowerCase()||X.id.toLowerCase()===v.toLowerCase()),_=()=>{if(!i)f(!0)},P=(X)=>{s(X),f(!1),g("")},U=(X)=>{if(i)return;if(f(X),!X)g("")},z=async()=>{if(!v)return;let X={id:v.toLowerCase().replace(/\s+/g,"-"),displayName:v,color:Pi(l)},J=[...l,X],ee={...n,select:{...a,options:J}};if(r)try{let te=await A.api.fields[":fieldId"].$put({param:{fieldId:r},json:{config:ee}});if(!te.ok){M.error(vl());return}let ne=await te.json(),se=Fr.getState().fields.map((oe)=>oe.id===ne.id?{...oe,...ne,visible:oe.visible}:oe);Fr.getState().updateFields(se)}catch{M.error(vl());return}s(X.id),g(""),f(!1)};return t("div",{className:"relative w-full",onClick:(X)=>X.stopPropagation(),children:o(ht,{open:!i&&c,onOpenChange:U,children:[t(gt,{asChild:!0,children:o("div",{onClick:_,className:`flex items-center justify-between w-full h-[28px] px-2 rounded border border-transparent transition-colors ${!i?"cursor-pointer hover:bg-accent hover:border-border group":""}`,children:[((X)=>{if(!X)return t("span",{className:"text-muted-foreground italic text-sm",children:"Select an option"});return t("span",{className:"inline-flex items-center px-2 py-0.5 rounded-full text-xs font-medium h-[22px]",style:ws(X.color),children:X.displayName})})(b),!i&&t(ve,{className:"w-4 h-4 text-muted-foreground opacity-0 group-hover:opacity-100"})]})}),o(At,{side:"bottom",align:"start",sideOffset:4,className:"p-1.5 w-64 max-h-72 flex flex-col bg-popover border border-border rounded-lg shadow-lg",children:[o("div",{className:"relative pb-1.5 border-b border-border mb-1",onClick:(X)=>X.stopPropagation(),children:[t(Ut,{className:"w-3.5 h-3.5 absolute left-2 top-2 text-muted-foreground"}),t("input",{type:"text",className:"w-full pl-7 pr-2 py-1 text-xs bg-muted/50 border border-input rounded-md focus:outline-none focus:ring-1 focus:ring-ring text-foreground",placeholder:Jg(),value:m,onChange:(X)=>g(X.target.value),autoFocus:!0})]}),o("div",{className:"overflow-y-auto max-h-48 min-h-[120px] space-y-0.5",children:[m===""&&o("div",{onClick:()=>P(""),className:"px-2.5 py-1.5 text-xs text-muted-foreground hover:bg-accent hover:text-accent-foreground rounded cursor-pointer flex items-center gap-2",children:[t(Ne,{className:"w-3.5 h-3.5"})," Clear"]}),k.map((X)=>t("div",{onClick:()=>P(X.id),className:`px-2.5 py-1.5 text-xs hover:bg-accent rounded cursor-pointer flex items-center justify-between ${e===X.id?"bg-accent/50 font-medium":""}`,children:t("span",{className:"inline-flex items-center px-2 py-0.5 rounded-full text-xs font-medium",style:ws(X.color),children:X.displayName})},X.id)),k.length===0&&!v&&t("div",{className:"px-2.5 py-2 text-xs text-muted-foreground italic text-center",children:mg()}),v!==""&&!T&&o("div",{onClick:z,className:"px-2.5 py-1.5 text-xs text-primary hover:bg-accent rounded cursor-pointer flex items-center gap-1.5 font-medium border-t border-border mt-1 pt-1.5",children:[t(pe,{className:"w-3.5 h-3.5 shrink-0"}),t("span",{className:"truncate",children:Tm({name:v})})]})]})]})]})})},ek=GM;S();var VM=({value:e=[],config:n,onSave:s,readOnly:i,fieldId:r})=>{let a=n?.selectMulti,l=a?.options||[],c=y(null),[f,m]=u(!1),[g,b]=u(e.length),[v,k]=u(""),T=l.filter((te)=>(e||[]).includes(te.id))||[],_=v.trim(),P=l.filter((te)=>te.displayName.toLowerCase().includes(_.toLowerCase())),U=l.some((te)=>te.displayName.trim().toLowerCase()===_.toLowerCase()||te.id.toLowerCase()===_.toLowerCase());$e(()=>{if(f){b(T.length);return}if(c.current){let te=c.current.clientWidth-8,ie=document.createElement("canvas").getContext("2d");if(ie&&te>0){ie.font="500 12px ui-sans-serif, system-ui, sans-serif";let se=4,oe=T.map((Ee)=>Math.ceil(ie.measureText(Ee.displayName).width)+18);if(oe.reduce((Ee,we)=>Ee+we,0)+Math.max(0,oe.length-1)*se<=te){b(T.length);return}let me=te-32-se,de=0,ce=0;for(let Ee=0;Ee<oe.length;Ee++){let we=ce>0?de+se+oe[Ee]:oe[Ee];if(we>me)break;de=we,ce++}b(ce)}}},[T,f,e]);let z=(te)=>{let ne=e||[],ie;if(ne.includes(te))ie=ne.filter((se)=>se!==te);else ie=[...ne,te];s(ie)},V=async()=>{if(!_)return;let te={id:_.toLowerCase().replace(/\s+/g,"-"),displayName:_,color:Pi(l)},ne=[...l,te],ie={...n,selectMulti:{...a,options:ne}};if(r)try{let se=await A.api.fields[":fieldId"].$put({param:{fieldId:r},json:{config:ie}});if(!se.ok){M.error(vl());return}let oe=await se.json(),Se=Fr.getState().fields.map((me)=>me.id===oe.id?{...me,...oe,visible:me.visible}:me);Fr.getState().updateFields(Se)}catch{M.error(vl());return}s([...e||[],te.id]),k("")},X=(te)=>{if(te.stopPropagation(),!i)m(!0)},J=T.length-g;return t("div",{className:"relative w-full",onClick:(te)=>te.stopPropagation(),children:o(ht,{open:!i&&f,onOpenChange:(te)=>{if(i)return;if(m(te),!te)k("")},children:[t(gt,{asChild:!0,children:o("div",{ref:c,onClick:X,className:`w-full px-1 py-1 flex flex-wrap gap-1 rounded border border-transparent transition-all box-border h-[32px] overflow-hidden ${!i||J>0?"cursor-pointer hover:bg-accent hover:border-border":""}`,children:[T.length===0&&t("span",{className:"text-muted-foreground text-sm italic px-1 pt-0.5",children:"Empty"}),T.slice(0,g).map((te)=>t("span",{className:"inline-flex items-center px-2 py-0.5 rounded-full text-xs font-medium border border-transparent whitespace-nowrap h-[22px]",style:ws(te.color),children:te.displayName},te.id)),J>0&&o("span",{className:"inline-flex items-center px-1.5 py-0.5 rounded-full text-xs font-medium bg-muted text-muted-foreground h-[22px]",children:["+",J]})]})}),o(At,{side:"bottom",align:"start",sideOffset:4,className:"p-1.5 w-64 max-h-72 flex flex-col bg-popover border border-border rounded-lg shadow-lg",children:[o("div",{className:"relative pb-1.5 border-b border-border mb-1",onClick:(te)=>te.stopPropagation(),children:[t(Ut,{className:"w-3.5 h-3.5 absolute left-2 top-2 text-muted-foreground"}),t("input",{type:"text",className:"w-full pl-7 pr-2 py-1 text-xs bg-muted/50 border border-input rounded-md focus:outline-none focus:ring-1 focus:ring-ring text-foreground",placeholder:Jg(),value:v,onChange:(te)=>k(te.target.value),autoFocus:!0})]}),o("div",{className:"overflow-y-auto max-h-48 min-h-[120px] space-y-0.5",children:[P.map((te)=>{let ne=(e||[]).includes(te.id);return o("div",{onClick:()=>z(te.id),className:`px-2.5 py-1.5 hover:bg-accent rounded cursor-pointer flex items-center justify-between text-xs ${ne?"bg-accent/30 font-medium":""}`,children:[t("span",{className:"inline-flex items-center px-2 py-0.5 rounded-full text-xs font-medium",style:ws(te.color),children:te.displayName}),ne&&t(Pe,{className:"w-3.5 h-3.5 text-primary"})]},te.id)}),P.length===0&&!_&&t("div",{className:"px-2.5 py-2 text-xs text-muted-foreground italic text-center",children:mg()}),_!==""&&!U&&o("div",{onClick:V,className:"px-2.5 py-1.5 text-xs text-primary hover:bg-accent rounded cursor-pointer flex items-center gap-1.5 font-medium border-t border-border mt-1 pt-1.5",children:[t(pe,{className:"w-3.5 h-3.5 shrink-0"}),t("span",{className:"truncate",children:Tm({name:_})})]})]})]})]})})},tk=VM;S();var $M=({value:e,onSave:n,readOnly:s})=>{let[i,r]=u(!1),[a,l]=u(e||""),c=y(null);h(()=>{l(e||"")},[e]),h(()=>{if(i&&c.current)c.current.focus()},[i]);let f=()=>{if(!s)r(!0)},m=()=>{r(!1),n(a)},g=(b)=>{if(b.key==="Enter")c.current?.blur()};if(i)return t("input",{ref:c,type:"text",value:a,onChange:(b)=>l(b.target.value),onBlur:m,onKeyDown:g,className:"w-full px-2 py-1 border border-ring rounded bg-background text-sm outline-none shadow-sm"});return t("div",{onClick:f,className:`w-full min-h-[28px] px-2 py-1 text-sm text-foreground rounded truncate border border-transparent transition-colors ${!s?"cursor-pointer hover:bg-accent hover:border-border":""}`,children:e||t("span",{className:"text-muted-foreground italic",children:"Empty"})})},nk=$M;var XM=({value:e,onSave:n,readOnly:s})=>t("div",{className:"flex items-center h-[28px] w-full",onClick:(r)=>r.stopPropagation(),children:t(Me,{checked:e,onCheckedChange:(r)=>{if(!s)n(r)},disabled:s,className:"cursor-pointer"})}),sk=XM;S();var WM=({value:e,onSave:n,readOnly:s})=>{let i=gs(),{members:r,fetchMembers:a}=zr(),[l,c]=u(!1);h(()=>{if(i)a(i)},[i,a]);let f=r.find((T)=>T.id===e),m=()=>{if(!s)c(!0)},g=(T)=>{n(T),c(!1)},b=(T)=>{if(s)return;c(T)},v=(T)=>T.split(" ").map((_)=>_[0]).slice(0,2).join("").toUpperCase();return t("div",{className:"relative w-full",onClick:(T)=>T.stopPropagation(),children:o(ht,{open:!s&&l,onOpenChange:b,children:[t(gt,{asChild:!0,children:o("div",{onClick:m,className:`flex items-center justify-between w-full h-[28px] px-2 rounded border border-transparent transition-colors ${!s?"cursor-pointer hover:bg-accent hover:border-border group":""}`,children:[((T)=>{if(!T)return t("span",{className:"text-muted-foreground italic text-sm",children:"Select user"});return o("span",{className:"inline-flex items-center gap-1.5 px-2 py-0.5 rounded-full text-xs font-medium bg-muted text-foreground border h-[22px]",children:[o(Ce,{className:"w-4 h-4",children:[t(Ie,{src:T.image,alt:T.name,className:"object-cover"}),t(Te,{className:"text-[8px] bg-rose-400 text-black font-semibold",children:v(T.name)})]}),t("span",{className:"truncate max-w-[120px]",children:T.name})]})})(f),!s&&t(ve,{className:"w-4 h-4 text-muted-foreground opacity-0 group-hover:opacity-100"})]})}),o(At,{className:"p-1 w-[--radix-popover-trigger-width] min-w-[200px] max-h-60 overflow-auto bg-popover border border-border rounded-lg shadow-lg",align:"start",children:[o("div",{onClick:()=>g(""),className:"px-3 py-2 text-sm text-muted-foreground hover:bg-accent cursor-pointer flex items-center gap-2 rounded-sm",children:[t(Ne,{className:"w-3 h-3"})," Clear"]}),r.map((T)=>o("div",{onClick:()=>g(T.id),className:"px-3 py-2 hover:bg-accent cursor-pointer flex items-center gap-2 rounded-sm",children:[o(Ce,{className:"w-5 h-5",children:[t(Ie,{src:T.image,alt:T.name,className:"object-cover"}),t(Te,{className:"text-[10px] bg-rose-400 text-black font-semibold",children:v(T.name)})]}),t("span",{className:"text-sm font-medium text-foreground",children:T.name})]},T.id))]})]})})},ik=WM;S();var KM=({value:e=[],onSave:n,readOnly:s})=>{let i=gs(),{members:r,fetchMembers:a}=zr(),l=y(null),[c,f]=u(!1),[m,g]=u(e.length);h(()=>{if(i)a(i)},[i,a]);let b=r.filter((z)=>(e||[]).includes(z.id)),v=(z)=>z.split(" ").map((V)=>V[0]).slice(0,2).join("").toUpperCase();$e(()=>{if(c){g(b.length);return}if(l.current){let z=l.current.clientWidth-8,X=document.createElement("canvas").getContext("2d");if(X&&z>0){X.font="500 12px ui-sans-serif, system-ui, sans-serif";let J=4,ee=b.map((ye)=>Math.min(100,Math.ceil(X.measureText(ye.name).width))+40);if(ee.reduce((ye,Se)=>ye+Se,0)+Math.max(0,ee.length-1)*J<=z){g(b.length);return}let ie=z-32-J,se=0,oe=0;for(let ye=0;ye<ee.length;ye++){let Se=oe>0?se+J+ee[ye]:ee[ye];if(Se>ie)break;se=Se,oe++}g(oe)}}},[b,c,e]);let k=(z)=>{let V=e||[],X;if(V.includes(z))X=V.filter((J)=>J!==z);else X=[...V,z];n(X)},T=(z)=>{if(z.stopPropagation(),!s)f(!0)},_=b.length-m,P=(z)=>{if(s)return;f(z)},U=(z)=>o("span",{className:"inline-flex items-center gap-1.5 px-2 py-0.5 rounded-full text-xs font-medium bg-muted text-foreground border whitespace-nowrap h-[22px]",children:[o(Ce,{className:"w-4 h-4",children:[t(Ie,{src:z.image,alt:z.name,className:"object-cover"}),t(Te,{className:"text-[8px] bg-rose-400 text-black font-semibold",children:v(z.name)})]}),t("span",{className:"truncate max-w-[100px]",children:z.name})]},z.id);return t("div",{className:"relative w-full",onClick:(z)=>z.stopPropagation(),children:o(ht,{open:!s&&c,onOpenChange:P,children:[t(gt,{asChild:!0,children:o("div",{ref:l,onClick:T,className:`w-full px-1 py-1 flex flex-wrap gap-1 rounded border border-transparent transition-all box-border h-[32px] overflow-hidden ${!s||_>0?"cursor-pointer hover:bg-accent hover:border-border":""}`,children:[b.length===0&&t("span",{className:"text-muted-foreground text-sm italic px-1 pt-0.5",children:"Empty"}),b.slice(0,m).map(U),_>0&&o("span",{className:"inline-flex items-center px-1.5 py-0.5 rounded-full text-xs font-medium bg-muted text-muted-foreground h-[22px]",children:["+",_]})]})}),t(At,{className:"p-1 w-[--radix-popover-trigger-width] min-w-[200px] max-h-60 overflow-auto bg-popover border border-border rounded-lg shadow-lg",align:"start",children:r.map((z)=>{let V=(e||[]).includes(z.id);return o("div",{onClick:()=>k(z.id),className:"px-3 py-2 hover:bg-accent cursor-pointer flex items-center justify-between rounded-sm",children:[o("div",{className:"flex items-center gap-2",children:[o(Ce,{className:"w-5 h-5",children:[t(Ie,{src:z.image,alt:z.name,className:"object-cover"}),t(Te,{className:"text-[10px] bg-rose-400 text-black font-semibold",children:v(z.name)})]}),t("span",{className:"text-sm font-medium text-foreground",children:z.name})]}),V&&t(Pe,{className:"w-4 h-4 text-primary"})]},z.id)})})]})})},rk=KM;var YM=(e)=>{if(!e.config)return t("div",{children:"Unknown Field Type"});switch(e.config.type){case"text":return t(nk,{...e,value:e.value,onSave:e.onSave});case"longText":return t(JS,{...e,value:e.value,onSave:e.onSave});case"select":return t(ek,{...e,value:e.value,onSave:e.onSave});case"selectMulti":return t(tk,{...e,value:e.value,onSave:e.onSave});case"rating":return t(gu,{...e,value:e.value,onSave:e.onSave});case"number":return t(ZS,{...e,value:e.value,onSave:e.onSave});case"toggle":return t(sk,{...e,value:e.value,onSave:e.onSave});case"date":return t(YS,{...e,value:e.value,onSave:e.onSave});case"user":return t(ik,{...e,value:e.value,onSave:e.onSave});case"userMulti":return t(rk,{...e,value:e.value,onSave:e.onSave});default:return t("div",{children:"Unknown Field Type"})}},xs=YM;
129
+ export{es,Ti,Mi,ki,$a,pu,Ga,Fr,Zo,mu,Hl,hu,ts,rs,vs,gu,$l,da,Ri,ws,Pi,fa,cm,xs};