You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
NewEduCoderBuild/p__knowledgegraph__Detail__...

4179 lines
1.8 MiB

!(function(){var Qo=Math.pow;(self.webpackChunk=self.webpackChunk||[]).push([[2524],{65030:function($t,Qe,ae){"use strict";ae.d(Qe,{Z:function(){return De}});var ee=ae(98506),te=ae(16886),X=ae(33346),S=ae(43403),K=ae(92310),y=ae.n(K),L=ae(29301),A=ae(76846),s=ae(96452),x=ae(6089),c=ae(80402),l=ae(34280),f=ae(49658),n=ae(59301),o=ae(67711),d=ae(77900),m=ae(8654);function _(ge){var Re=ge.prefixCls,ve=ge.align,we=ge.arrow,Ue=ge.arrowPos,de=we||{},oe=de.className,ne=de.content,ce=Ue.x,ye=ce===void 0?0:ce,he=Ue.y,xe=he===void 0?0:he,Ne=n.useRef();if(!ve||!ve.points)return null;var Be={position:"absolute"};if(ve.autoArrow!==!1){var je=ve.points[0],et=ve.points[1],ft=je[0],tt=je[1],At=et[0],It=et[1];ft===At||!["t","b"].includes(ft)?Be.top=xe:ft==="t"?Be.top=0:Be.bottom=0,tt===It||!["l","r"].includes(tt)?Be.left=ye:tt==="l"?Be.left=0:Be.right=0}return n.createElement("div",{ref:Ne,className:y()("".concat(Re,"-arrow"),oe),style:Be},ne)}function h(ge){var Re=ge.prefixCls,ve=ge.open,we=ge.zIndex,Ue=ge.mask,de=ge.motion;return Ue?n.createElement(d.default,(0,o.Z)({},de,{motionAppear:!0,visible:ve,removeOnLeave:!0}),function(oe){var ne=oe.className;return n.createElement("div",{style:{zIndex:we},className:y()("".concat(Re,"-mask"),ne)})}):null}var g=n.memo(function(ge){var Re=ge.children;return Re},function(ge,Re){return Re.cache}),r=g,a=n.forwardRef(function(ge,Re){var ve=ge.popup,we=ge.className,Ue=ge.prefixCls,de=ge.style,oe=ge.target,ne=ge.onVisibleChanged,ce=ge.open,ye=ge.keepDom,he=ge.fresh,xe=ge.onClick,Ne=ge.mask,Be=ge.arrow,je=ge.arrowPos,et=ge.align,ft=ge.motion,tt=ge.maskMotion,At=ge.forceRender,It=ge.getPopupContainer,Nt=ge.autoDestroy,lt=ge.portal,Bt=ge.zIndex,cr=ge.onMouseEnter,bt=ge.onMouseLeave,ut=ge.onPointerEnter,Wt=ge.onPointerDownCapture,Ar=ge.ready,Vt=ge.offsetX,Ht=ge.offsetY,ar=ge.offsetR,or=ge.offsetB,Tt=ge.onAlign,at=ge.onPrepare,vt=ge.stretch,Yt=ge.targetWidth,qt=ge.targetHeight,Cr=typeof ve=="function"?ve():ve,nt=ce||ye,yt=(It==null?void 0:It.length)>0,Lt=n.useState(!It||!yt),Ut=(0,te.Z)(Lt,2),rr=Ut[0],dt=Ut[1];if((0,l.Z)(function(){!rr&&yt&&oe&&dt(!0)},[rr,yt,oe]),!rr)return null;var V="auto",Y={left:"-1000vw",top:"-1000vh",right:V,bottom:V};if(Ar||!ce){var Q,le=et.points,fe=et.dynamicInset||((Q=et._experimental)===null||Q===void 0?void 0:Q.dynamicInset),Oe=fe&&le[0][1]==="r",Pe=fe&&le[0][0]==="b";Oe?(Y.right=ar,Y.left=V):(Y.left=Vt,Y.right=V),Pe?(Y.bottom=or,Y.top=V):(Y.top=Ht,Y.bottom=V)}var Ye={};return vt&&(vt.includes("height")&&qt?Ye.height=qt:vt.includes("minHeight")&&qt&&(Ye.minHeight=qt),vt.includes("width")&&Yt?Ye.width=Yt:vt.includes("minWidth")&&Yt&&(Ye.minWidth=Yt)),ce||(Ye.pointerEvents="none"),n.createElement(lt,{open:At||nt,getContainer:It&&function(){return It(oe)},autoDestroy:Nt},n.createElement(h,{prefixCls:Ue,open:ce,zIndex:Bt,mask:Ne,motion:tt}),n.createElement(L.Z,{onResize:Tt,disabled:!ce},function($e){return n.createElement(d.default,(0,o.Z)({motionAppear:!0,motionEnter:!0,motionLeave:!0,removeOnLeave:!1,forceRender:At,leavedClassName:"".concat(Ue,"-hidden")},ft,{onAppearPrepare:at,onEnterPrepare:at,visible:ce,onVisibleChanged:function(zt){var Ie;ft==null||(Ie=ft.onVisibleChanged)===null||Ie===void 0||Ie.call(ft,zt),ne(zt)}}),function(Dt,zt){var Ie=Dt.className,be=Dt.style,ct=y()(Ue,Ie,we);return n.createElement("div",{ref:(0,m.sQ)($e,Re,zt),className:ct,style:(0,ee.Z)((0,ee.Z)((0,ee.Z)((0,ee.Z)({"--arrow-x":"".concat(je.x||0,"px"),"--arrow-y":"".concat(je.y||0,"px")},Y),Ye),be),{},{boxSizing:"border-box",zIndex:Bt},de),onMouseEnter:cr,onMouseLeave:bt,onPointerEnter:ut,onClick:xe,onPointerDownCapture:Wt},Be&&n.createElement(_,{prefixCls:Ue,arrow:Be,arrowPos:je,align:et}),n.createElement(r,{cache:!ce&&!he},Cr))})}))}),p=a,E=n.forwardRef(function(ge,Re){var ve=ge.children,we=ge.getTriggerDOMNode,Ue=(0,m.Yr)(ve),de=n.useCallback(function(ne){(0,m.mH)(Re,we?we(ne):ne)},[we]),oe=(0,m.x1)(de,(0,m.C4)(ve));return Ue?n.cloneElement(ve,{ref:oe}):ve}),b=E,w=n.createContext(null),R=w;function O(ge){return ge?Array.isArray(ge)?ge:[ge]:[]}function z(ge,Re,ve,we){return n.useMemo(function(){var Ue=O(ve!=null?ve:Re),de=O(we!=null?we:Re),oe=new Set(Ue),ne=new Set(de);return ge&&(oe.has("hover")&&(oe.delete("hover"),oe.add("click")),ne.has("hover")&&(ne.delete("hover"),ne.add("click"))),[oe,ne]},[ge,Re,ve,we])}var B=ae(29194);function P(){var ge=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],Re=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],ve=arguments.length>2?arguments[2]:void 0;return ve?ge[0]===Re[0]:ge[0]===Re[0]&&ge[1]===Re[1]}function F(ge,Re,ve,we){for(var Ue=ve.points,de=Object.keys(ge),oe=0;oe<de.length;oe+=1){var ne,ce=de[oe];if(P((ne=ge[ce])===null||ne===void 0?void 0:ne.points,Ue,we))return"".concat(Re,"-placement-").concat(ce)}return""}function k(ge,Re,ve,we){return Re||(ve?{motionName:"".concat(ge,"-").concat(ve)}:we?{motionName:we}:null)}function U(ge){return ge.ownerDocument.defaultView}function G(ge){for(var Re=[],ve=ge==null?void 0:ge.parentElement,we=["hidden","scroll","clip","auto"];ve;){var Ue=U(ve).getComputedStyle(ve),de=Ue.overflowX,oe=Ue.overflowY,ne=Ue.overflow;[de,oe,ne].some(function(ce){return we.includes(ce)})&&Re.push(ve),ve=ve.parentElement}return Re}function C(ge){var Re=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1;return Number.isNaN(ge)?Re:ge}function I(ge){return C(parseFloat(ge),0)}function H(ge,Re){var ve=(0,ee.Z)({},ge);return(Re||[]).forEach(function(we){if(!(we instanceof HTMLBodyElement||we instanceof HTMLHtmlElement)){var Ue=U(we).getComputedStyle(we),de=Ue.overflow,oe=Ue.overflowClipMargin,ne=Ue.borderTopWidth,ce=Ue.borderBottomWidth,ye=Ue.borderLeftWidth,he=Ue.borderRightWidth,xe=we.getBoundingClientRect(),Ne=we.offsetHeight,Be=we.clientHeight,je=we.offsetWidth,et=we.clientWidth,ft=I(ne),tt=I(ce),At=I(ye),It=I(he),Nt=C(Math.round(xe.width/je*1e3)/1e3),lt=C(Math.round(xe.height/Ne*1e3)/1e3),Bt=(je-et-At-It)*Nt,cr=(Ne-Be-ft-tt)*lt,bt=ft*lt,ut=tt*lt,Wt=At*Nt,Ar=It*Nt,Vt=0,Ht=0;if(de==="clip"){var ar=I(oe);Vt=ar*Nt,Ht=ar*lt}var or=xe.x+Wt-Vt,Tt=xe.y+bt-Ht,at=or+xe.width+2*Vt-Wt-Ar-Bt,vt=Tt+xe.height+2*Ht-bt-ut-cr;ve.left=Math.max(ve.left,or),ve.top=Math.max(ve.top,Tt),ve.right=Math.min(ve.right,at),ve.bottom=Math.min(ve.bottom,vt)}}),ve}function $(ge){var Re=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,ve="".concat(Re),we=ve.match(/^(.*)\%$/);return we?ge*(parseFloat(we[1])/100):parseFloat(ve)}function q(ge,Re){var ve=Re||[],we=(0,te.Z)(ve,2),Ue=we[0],de=we[1];return[$(ge.width,Ue),$(ge.height,de)]}function se(){var ge=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";return[ge[0],ge[1]]}function ue(ge,Re){var ve=Re[0],we=Re[1],Ue,de;return ve==="t"?de=ge.y:ve==="b"?de=ge.y+ge.height:de=ge.y+ge.height/2,we==="l"?Ue=ge.x:we==="r"?Ue=ge.x+ge.width:Ue=ge.x+ge.width/2,{x:Ue,y:de}}function me(ge,Re){var ve={t:"b",b:"t",l:"r",r:"l"};return ge.map(function(we,Ue){return Ue===Re?ve[we]||"c":we}).join("")}function Ee(ge,Re,ve,we,Ue,de,oe){var ne=n.useState({ready:!1,offsetX:0,offsetY:0,offsetR:0,offsetB:0,arrowX:0,arrowY:0,scaleX:1,scaleY:1,align:Ue[we]||{}}),ce=(0,te.Z)(ne,2),ye=ce[0],he=ce[1],xe=n.useRef(0),Ne=n.useMemo(function(){return Re?G(Re):[]},[Re]),Be=n.useRef({}),je=function(){Be.current={}};ge||je();var et=(0,x.Z)(function(){if(Re&&ve&&ge){let Jr=function(Xr,sr){var Nr=arguments.length>2&&arguments[2]!==void 0?arguments[2]:st,Ir=nt.x+Xr,Mr=nt.y+sr,ti=Ir+Pe,ci=Mr+Oe,Zi=Math.max(Ir,Nr.left),dr=Math.max(Mr,Nr.top),wr=Math.min(ti,Nr.right),Wr=Math.min(ci,Nr.bottom);return Math.max(0,(wr-Zi)*(Wr-dr))},fi=function(){ei=nt.y+ir,si=ei+Oe,Vr=nt.x+lr,Er=Vr+Pe};var At,It,Nt,lt,Bt=Re,cr=Bt.ownerDocument,bt=U(Bt),ut=bt.getComputedStyle(Bt),Wt=ut.position,Ar=Bt.style.left,Vt=Bt.style.top,Ht=Bt.style.right,ar=Bt.style.bottom,or=Bt.style.overflow,Tt=(0,ee.Z)((0,ee.Z)({},Ue[we]),de),at=cr.createElement("div");(At=Bt.parentElement)===null||At===void 0||At.appendChild(at),at.style.left="".concat(Bt.offsetLeft,"px"),at.style.top="".concat(Bt.offsetTop,"px"),at.style.position=Wt,at.style.height="".concat(Bt.offsetHeight,"px"),at.style.width="".concat(Bt.offsetWidth,"px"),Bt.style.left="0",Bt.style.top="0",Bt.style.right="auto",Bt.style.bottom="auto",Bt.style.overflow="hidden";var vt;if(Array.isArray(ve))vt={x:ve[0],y:ve[1],width:0,height:0};else{var Yt,qt,Cr=ve.getBoundingClientRect();Cr.x=(Yt=Cr.x)!==null&&Yt!==void 0?Yt:Cr.left,Cr.y=(qt=Cr.y)!==null&&qt!==void 0?qt:Cr.top,vt={x:Cr.x,y:Cr.y,width:Cr.width,height:Cr.height}}var nt=Bt.getBoundingClientRect(),yt=bt.getComputedStyle(Bt),Lt=yt.height,Ut=yt.width;nt.x=(It=nt.x)!==null&&It!==void 0?It:nt.left,nt.y=(Nt=nt.y)!==null&&Nt!==void 0?Nt:nt.top;var rr=cr.documentElement,dt=rr.clientWidth,V=rr.clientHeight,Y=rr.scrollWidth,Q=rr.scrollHeight,le=rr.scrollTop,fe=rr.scrollLeft,Oe=nt.height,Pe=nt.width,Ye=vt.height,$e=vt.width,Dt={left:0,top:0,right:dt,bottom:V},zt={left:-fe,top:-le,right:Y-fe,bottom:Q-le},Ie=Tt.htmlRegion,be="visible",ct="visibleFirst";Ie!=="scroll"&&Ie!==ct&&(Ie=be);var ze=Ie===ct,He=H(zt,Ne),Xe=H(Dt,Ne),st=Ie===be?Xe:He,mt=ze?Xe:st;Bt.style.left="auto",Bt.style.top="auto",Bt.style.right="0",Bt.style.bottom="0";var Kt=Bt.getBoundingClientRect();Bt.style.left=Ar,Bt.style.top=Vt,Bt.style.right=Ht,Bt.style.bottom=ar,Bt.style.overflow=or,(lt=Bt.parentElement)===null||lt===void 0||lt.removeChild(at);var gt=C(Math.round(Pe/parseFloat(Ut)*1e3)/1e3),Ot=C(Math.round(Oe/parseFloat(Lt)*1e3)/1e3);if(gt===0||Ot===0||(0,A.Sh)(ve)&&!(0,B.Z)(ve))return;var pt=Tt.offset,Ct=Tt.targetOffset,xt=q(nt,pt),Ae=(0,te.Z)(xt,2),Ve=Ae[0],Je=Ae[1],rt=q(vt,Ct),St=(0,te.Z)(rt,2),Rt=St[0],Mt=St[1];vt.x-=Rt,vt.y-=Mt;var Xt=Tt.points||[],Ge=(0,te.Z)(Xt,2),Gt=Ge[0],hr=Ge[1],Qt=se(hr),Zt=se(Gt),mr=ue(vt,Qt),Dr=ue(nt,Zt),Rr=(0,ee.Z)({},Tt),lr=mr.x-Dr.x+Ve,ir=mr.y-Dr.y+Je,Or=Jr(lr,ir),br=Jr(lr,ir,Xe),yr=ue(vt,["t","l"]),Pr=ue(nt,["t","l"]),gr=ue(vt,["b","r"]),er=ue(nt,["b","r"]),Br=Tt.overflow||{},zr=Br.adjustX,Qr=Br.adjustY,xr=Br.shiftX,ni=Br.shiftY,$r=function(sr){return typeof sr=="boolean"?sr:sr>=0},ei,si,Vr,Er;fi();var kt=$r(Qr),Ft=Zt[0]===Qt[0];if(kt&&Zt[0]==="t"&&(si>mt.bottom||Be.current.bt)){var tr=ir;Ft?tr-=Oe-Ye:tr=yr.y-er.y-Je;var Jt=Jr(lr,tr),Tr=Jr(lr,tr,Xe);Jt>Or||Jt===Or&&(!ze||Tr>=br)?(Be.current.bt=!0,ir=tr,Je=-Je,Rr.points=[me(Zt,0),me(Qt,0)]):Be.current.bt=!1}if(kt&&Zt[0]==="b"&&(ei<mt.top||Be.current.tb)){var kr=ir;Ft?kr+=Oe-Ye:kr=gr.y-Pr.y-Je;var jr=Jr(lr,kr),Fr=Jr(lr,kr,Xe);jr>Or||jr===Or&&(!ze||Fr>=br)?(Be.current.tb=!0,ir=kr,Je=-Je,Rr.points=[me(Zt,0),me(Qt,0)]):Be.current.tb=!1}var ri=$r(zr),Ei=Zt[1]===Qt[1];if(ri&&Zt[1]==="l"&&(Er>mt.right||Be.current.rl)){var pi=lr;Ei?pi-=Pe-$e:pi=yr.x-er.x-Ve;var ui=Jr(pi,ir),Zr=Jr(pi,ir,Xe);ui>Or||ui===Or&&(!ze||Zr>=br)?(Be.current.rl=!0,lr=pi,Ve=-Ve,Rr.points=[me(Zt,1),me(Qt,1)]):Be.current.rl=!1}if(ri&&Zt[1]==="r"&&(Vr<mt.left||Be.current.lr)){var Ai=lr;Ei?Ai+=Pe-$e:Ai=gr.x-Pr.x-Ve;var bi=Jr(Ai,ir),Di=Jr(Ai,ir,Xe);bi>Or||bi===Or&&(!ze||Di>=br)?(Be.current.lr=!0,lr=Ai,Ve=-Ve,Rr.points=[me(Zt,1),me(Qt,1)]):Be.current.lr=!1}fi();var fr=xr===!0?0:xr;typeof fr=="number"&&(Vr<Xe.left&&(lr-=Vr-Xe.left-Ve,vt.x+$e<Xe.left+fr&&(lr+=vt.x-Xe.left+$e-fr)),Er>Xe.right&&(lr-=Er-Xe.right-Ve,vt.x>Xe.right-fr&&(lr+=vt.x-Xe.right+fr)));var _i=ni===!0?0:ni;typeof _i=="number"&&(ei<Xe.top&&(ir-=ei-Xe.top-Je,vt.y+Ye<Xe.top+_i&&(ir+=vt.y-Xe.top+Ye-_i)),si>Xe.bottom&&(ir-=si-Xe.bottom-Je,vt.y>Xe.bottom-_i&&(ir+=vt.y-Xe.bottom+_i)));var hi=nt.x+lr,Ri=hi+Pe,Ni=nt.y+ir,Bi=Ni+Oe,Pi=vt.x,Li=Pi+$e,ai=vt.y,Oi=ai+Ye,Xi=Math.max(hi,Pi),xi=Math.min(Ri,Li),tn=(Xi+xi)/2,rn=tn-hi,Yi=Math.max(Ni,ai),Fi=Math.min(Bi,Oi),Ki=(Yi+Fi)/2,Gi=Ki-Ni;oe==null||oe(Re,Rr);var Ti=Kt.right-nt.x-(lr+nt.width),Mi=Kt.bottom-nt.y-(ir+nt.height);gt===1&&(lr=Math.round(lr),Ti=Math.round(Ti)),Ot===1&&(ir=Math.round(ir),Mi=Math.round(Mi));var ji={ready:!0,offsetX:lr/gt,offsetY:ir/Ot,offsetR:Ti/gt,offsetB:Mi/Ot,arrowX:rn/gt,arrowY:Gi/Ot,scaleX:gt,scaleY:Ot,align:Rr};he(ji)}}),ft=function(){xe.current+=1;var It=xe.current;Promise.resolve().then(function(){xe.current===It&&et()})},tt=function(){he(function(It){return(0,ee.Z)((0,ee.Z)({},It),{},{ready:!1})})};return(0,l.Z)(tt,[we]),(0,l.Z)(function(){ge||tt()},[ge]),[ye.ready,ye.offsetX,ye.offsetY,ye.offsetR,ye.offsetB,ye.arrowX,ye.arrowY,ye.scaleX,ye.scaleY,ye.align,ft]}var Le=ae(15142);function Fe(ge,Re,ve,we,Ue){(0,l.Z)(function(){if(ge&&Re&&ve){let xe=function(){we(),Ue()};var de=Re,oe=ve,ne=G(de),ce=G(oe),ye=U(oe),he=new Set([ye].concat((0,Le.Z)(ne),(0,Le.Z)(ce)));return he.forEach(function(Ne){Ne.addEventListener("scroll",xe,{passive:!0})}),ye.addEventListener("resize",xe,{passive:!0}),we(),function(){he.forEach(function(Ne){Ne.removeEventListener("scroll",xe),ye.removeEventListener("resize",xe)})}}},[ge,Re,ve])}var Ke=ae(48736);function Te(ge,Re,ve,we,Ue,de,oe,ne){var ce=n.useRef(ge);ce.current=ge;var ye=n.useRef(!1);n.useEffect(function(){if(Re&&we&&(!Ue||de)){var xe=function(){ye.current=!1},Ne=function(Nt){var lt;ce.current&&!oe(((lt=Nt.composedPath)===null||lt===void 0||(lt=lt.call(Nt))===null||lt===void 0?void 0:lt[0])||Nt.target)&&!ye.current&&ne(!1)},Be=U(we);Be.addEventListener("pointerdown",xe,!0),Be.addEventListener("mousedown",Ne,!0),Be.addEventListener("contextmenu",Ne,!0);var je=(0,s.A)(ve);if(je&&(je.addEventListener("mousedown",Ne,!0),je.addEventListener("contextmenu",Ne,!0)),0)var et,ft,tt,At;return function(){Be.removeEventListener("pointerdown",xe,!0),Be.removeEventListener("mousedown",Ne,!0),Be.removeEventListener("contextmenu",Ne,!0),je&&(je.removeEventListener("mousedown",Ne,!0),je.removeEventListener("contextmenu",Ne,!0))}}},[Re,ve,we,Ue,de]);function he(){ye.current=!0}return he}var We=["prefixCls","children","action","showAction","hideAction","popupVisible","defaultPopupVisible","onPopupVisibleChange","afterPopupVisibleChange","mouseEnterDelay","mouseLeaveDelay","focusDelay","blurDelay","mask","maskClosable","getPopupContainer","forceRender","autoDestroy","destroyPopupOnHide","popup","popupClassName","popupStyle","popupPlacement","builtinPlacements","popupAlign","zIndex","stretch","getPopupClassNameFromAlign","fresh","alignPoint","onPopupClick","onPopupAlign","arrow","popupMotion","maskMotion","popupTransitionName","popupAnimation","maskTransitionName","maskAnimation","className","getTriggerDOMNode"];function Ce(){var ge=arguments.length>0&&arguments[0]!==void 0?arguments[0]:S.Z,Re=n.forwardRef(function(ve,we){var Ue=ve.prefixCls,de=Ue===void 0?"rc-trigger-popup":Ue,oe=ve.children,ne=ve.action,ce=ne===void 0?"hover":ne,ye=ve.showAction,he=ve.hideAction,xe=ve.popupVisible,Ne=ve.defaultPopupVisible,Be=ve.onPopupVisibleChange,je=ve.afterPopupVisibleChange,et=ve.mouseEnterDelay,ft=ve.mouseLeaveDelay,tt=ft===void 0?.1:ft,At=ve.focusDelay,It=ve.blurDelay,Nt=ve.mask,lt=ve.maskClosable,Bt=lt===void 0?!0:lt,cr=ve.getPopupContainer,bt=ve.forceRender,ut=ve.autoDestroy,Wt=ve.destroyPopupOnHide,Ar=ve.popup,Vt=ve.popupClassName,Ht=ve.popupStyle,ar=ve.popupPlacement,or=ve.builtinPlacements,Tt=or===void 0?{}:or,at=ve.popupAlign,vt=ve.zIndex,Yt=ve.stretch,qt=ve.getPopupClassNameFromAlign,Cr=ve.fresh,nt=ve.alignPoint,yt=ve.onPopupClick,Lt=ve.onPopupAlign,Ut=ve.arrow,rr=ve.popupMotion,dt=ve.maskMotion,V=ve.popupTransitionName,Y=ve.popupAnimation,Q=ve.maskTransitionName,le=ve.maskAnimation,fe=ve.className,Oe=ve.getTriggerDOMNode,Pe=(0,X.Z)(ve,We),Ye=ut||Wt||!1,$e=n.useState(!1),Dt=(0,te.Z)($e,2),zt=Dt[0],Ie=Dt[1];(0,l.Z)(function(){Ie((0,f.Z)())},[]);var be=n.useRef({}),ct=n.useContext(R),ze=n.useMemo(function(){return{registerSubPopup:function(wr,Wr){be.current[wr]=Wr,ct==null||ct.registerSubPopup(wr,Wr)}}},[ct]),He=(0,c.Z)(),Xe=n.useState(null),st=(0,te.Z)(Xe,2),mt=st[0],Kt=st[1],gt=n.useRef(null),Ot=(0,x.Z)(function(dr){gt.current=dr,(0,A.Sh)(dr)&&mt!==dr&&Kt(dr),ct==null||ct.registerSubPopup(He,dr)}),pt=n.useState(null),Ct=(0,te.Z)(pt,2),xt=Ct[0],Ae=Ct[1],Ve=n.useRef(null),Je=(0,x.Z)(function(dr){(0,A.Sh)(dr)&&xt!==dr&&(Ae(dr),Ve.current=dr)}),rt=n.Children.only(oe),St=(rt==null?void 0:rt.props)||{},Rt={},Mt=(0,x.Z)(function(dr){var wr,Wr,oi=xt;return(oi==null?void 0:oi.contains(dr))||((wr=(0,s.A)(oi))===null||wr===void 0?void 0:wr.host)===dr||dr===oi||(mt==null?void 0:mt.contains(dr))||((Wr=(0,s.A)(mt))===null||Wr===void 0?void 0:Wr.host)===dr||dr===mt||Object.values(be.current).some(function(di){return(di==null?void 0:di.contains(dr))||dr===di})}),Xt=k(de,rr,Y,V),Ge=k(de,dt,le,Q),Gt=n.useState(Ne||!1),hr=(0,te.Z)(Gt,2),Qt=hr[0],Zt=hr[1],mr=xe!=null?xe:Qt,Dr=(0,x.Z)(function(dr){xe===void 0&&Zt(dr)});(0,l.Z)(function(){Zt(xe||!1)},[xe]);var Rr=n.useRef(mr);Rr.current=mr;var lr=n.useRef([]);lr.current=[];var ir=(0,x.Z)(function(dr){var wr;Dr(dr),((wr=lr.current[lr.current.length-1])!==null&&wr!==void 0?wr:mr)!==dr&&(lr.current.push(dr),Be==null||Be(dr))}),Or=n.useRef(),br=function(){clearTimeout(Or.current)},yr=function(wr){var Wr=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;br(),Wr===0?ir(wr):Or.current=setTimeout(function(){ir(wr)},Wr*1e3)};n.useEffect(function(){return br},[]);var Pr=n.useState(!1),gr=(0,te.Z)(Pr,2),er=gr[0],Br=gr[1];(0,l.Z)(function(dr){(!dr||mr)&&Br(!0)},[mr]);var zr=n.useState(null),Qr=(0,te.Z)(zr,2),xr=Qr[0],ni=Qr[1],$r=n.useState(null),ei=(0,te.Z)($r,2),si=ei[0],Vr=ei[1],Er=function(wr){Vr([wr.clientX,wr.clientY])},kt=Ee(mr,mt,nt&&si!==null?si:xt,ar,Tt,at,Lt),Ft=(0,te.Z)(kt,11),tr=Ft[0],Jt=Ft[1],Tr=Ft[2],kr=Ft[3],jr=Ft[4],Fr=Ft[5],ri=Ft[6],Ei=Ft[7],pi=Ft[8],ui=Ft[9],Zr=Ft[10],Ai=z(zt,ce,ye,he),bi=(0,te.Z)(Ai,2),Di=bi[0],fr=bi[1],_i=Di.has("click"),hi=fr.has("click")||fr.has("contextMenu"),Ri=(0,x.Z)(function(){er||Zr()}),Ni=function(){Rr.current&&nt&&hi&&yr(!1)};Fe(mr,xt,mt,Ri,Ni),(0,l.Z)(function(){Ri()},[si,ar]),(0,l.Z)(function(){mr&&!(Tt!=null&&Tt[ar])&&Ri()},[JSON.stringify(at)]);var Bi=n.useMemo(function(){var dr=F(Tt,de,ui,nt);return y()(dr,qt==null?void 0:qt(ui))},[ui,qt,Tt,de,nt]);n.useImperativeHandle(we,function(){return{nativeElement:Ve.current,popupElement:gt.current,forceAlign:Ri}});var Pi=n.useState(0),Li=(0,te.Z)(Pi,2),ai=Li[0],Oi=Li[1],Xi=n.useState(0),xi=(0,te.Z)(Xi,2),tn=xi[0],rn=xi[1],Yi=function(){if(Yt&&xt){var wr=xt.getBoundingClientRect();Oi(wr.width),rn(wr.height)}},Fi=function(){Yi(),Ri()},Ki=function(wr){Br(!1),Zr(),je==null||je(wr)},Gi=function(){return new Promise(function(wr){Yi(),ni(function(){return wr})})};(0,l.Z)(function(){xr&&(Zr(),xr(),ni(null))},[xr]);function Ti(dr,wr,Wr,oi){Rt[dr]=function(di){var nn;oi==null||oi(di),yr(wr,Wr);for(var Vi=arguments.length,hn=new Array(Vi>1?Vi-1:0),Ui=1;Ui<Vi;Ui++)hn[Ui-1]=arguments[Ui];(nn=St[dr])===null||nn===void 0||nn.call.apply(nn,[St,di].concat(hn))}}(_i||hi)&&(Rt.onClick=function(dr){var wr;Rr.current&&hi?yr(!1):!Rr.current&&_i&&(Er(dr),yr(!0));for(var Wr=arguments.length,oi=new Array(Wr>1?Wr-1:0),di=1;di<Wr;di++)oi[di-1]=arguments[di];(wr=St.onClick)===null||wr===void 0||wr.call.apply(wr,[St,dr].concat(oi))});var Mi=Te(mr,hi,xt,mt,Nt,Bt,Mt,yr),ji=Di.has("hover"),Jr=fr.has("hover"),fi,Xr;ji&&(Ti("onMouseEnter",!0,et,function(dr){Er(dr)}),Ti("onPointerEnter",!0,et,function(dr){Er(dr)}),fi=function(wr){(mr||er)&&mt!==null&&mt!==void 0&&mt.contains(wr.target)&&yr(!0,et)},nt&&(Rt.onMouseMove=function(dr){var wr;(wr=St.onMouseMove)===null||wr===void 0||wr.call(St,dr)})),Jr&&(Ti("onMouseLeave",!1,tt),Ti("onPointerLeave",!1,tt),Xr=function(){yr(!1,tt)}),Di.has("focus")&&Ti("onFocus",!0,At),fr.has("focus")&&Ti("onBlur",!1,It),Di.has("contextMenu")&&(Rt.onContextMenu=function(dr){var wr;Rr.current&&fr.has("contextMenu")?yr(!1):(Er(dr),yr(!0)),dr.preventDefault();for(var Wr=arguments.length,oi=new Array(Wr>1?Wr-1:0),di=1;di<Wr;di++)oi[di-1]=arguments[di];(wr=St.onContextMenu)===null||wr===void 0||wr.call.apply(wr,[St,dr].concat(oi))}),fe&&(Rt.className=y()(St.className,fe));var sr=n.useRef(!1);sr.current||(sr.current=bt||mr||er);var Nr=(0,ee.Z)((0,ee.Z)({},St),Rt),Ir={},Mr=["onContextMenu","onClick","onMouseDown","onTouchStart","onMouseEnter","onMouseLeave","onFocus","onBlur"];Mr.forEach(function(dr){Pe[dr]&&(Ir[dr]=function(){for(var wr,Wr=arguments.length,oi=new Array(Wr),di=0;di<Wr;di++)oi[di]=arguments[di];(wr=Nr[dr])===null||wr===void 0||wr.call.apply(wr,[Nr].concat(oi)),Pe[dr].apply(Pe,oi)})});var ti=n.cloneElement(rt,(0,ee.Z)((0,ee.Z)({},Nr),Ir)),ci={x:Fr,y:ri},Zi=Ut?(0,ee.Z)({},Ut!==!0?Ut:{}):null;return n.createElement(n.Fragment,null,n.createElement(L.Z,{disabled:!mr,ref:Je,onResize:Fi},n.createElement(b,{getTriggerDOMNode:Oe},ti)),sr.current&&n.createElement(R.Provider,{value:ze},n.createElement(p,{portal:ge,ref:Ot,prefixCls:de,popup:Ar,className:y()(Vt,Bi),style:Ht,target:xt,onMouseEnter:fi,onMouseLeave:Xr,onPointerEnter:fi,zIndex:vt,open:mr,keepDom:er,fresh:Cr,onClick:yt,onPointerDownCapture:Mi,mask:Nt,motion:Xt,maskMotion:Ge,onVisibleChanged:Ki,onPrepare:Gi,forceRender:bt,autoDestroy:Ye,getPopupContainer:cr,align:ui,arrow:Zi,arrowPos:ci,ready:tr,offsetX:Jt,offsetY:Tr,offsetR:kr,offsetB:jr,onAlign:Ri,stretch:Yt,targetWidth:ai/Ei,targetHeight:tn/pi})))});return Re}var De=Ce(S.Z)},28426:function($t,Qe,ae){"use strict";var ee=ae(59301),te=ae(93314),X=ae(99571),S=Object.defineProperty,K=Object.defineProperties,y=Object.getOwnPropertyDescriptors,L=Object.getOwnPropertySymbols,A=Object.prototype.hasOwnProperty,s=Object.prototype.propertyIsEnumerable,x=(n,o,d)=>o in n?S(n,o,{enumerable:!0,configurable:!0,writable:!0,value:d}):n[o]=d,c=(n,o)=>{for(var d in o||(o={}))A.call(o,d)&&x(n,d,o[d]);if(L)for(var d of L(o))s.call(o,d)&&x(n,d,o[d]);return n},l=(n,o)=>K(n,y(o));const f=({img:n,buttonProps:o={},styles:d={},customText:m,ButtonText:_,ButtonClick:h,Buttonclass:g,ButtonTwo:r,imgStyles:a,loading:p=!1,className:E=""})=>ee.createElement("section",{className:`tc animated fadeIn ${E}`,style:c({color:"#999",margin:"100px auto",visibility:p?"hidden":"visible"},d)},ee.createElement("img",{src:n||te,style:l(c({},a),{pointerEvents:"none",userSelect:"none"})}),ee.createElement("p",{className:"mt20 font14"},m||"\u6682\u65F6\u8FD8\u6CA1\u6709\u76F8\u5173\u6570\u636E\u54E6!"),_&&ee.createElement(X.ZP,c({className:g,onClick:h},o),_),r&&r);Qe.Z=f},45677:function($t,Qe,ae){"use strict";ae.d(Qe,{Z:function(){return g}});var ee=ae(59301),te={wrp:"wrp___dq7YK",bgBlack:"bgBlack___ARIUV",monaco:"monaco___VnZC3",darkBlue:"darkBlue___UprA9",close:"close___LKoWu",embed:"embed___hvpEJ"},X=ae(99571),S=ae(70557),K=ae(75975),y=ae(25399),L=ae(51257),A=ae(81722),s=ae(28426),x=ae(346),c=ae(44203),l=ae(59301),f=Object.defineProperty,n=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,d=Object.prototype.propertyIsEnumerable,m=(r,a,p)=>a in r?f(r,a,{enumerable:!0,configurable:!0,writable:!0,value:p}):r[a]=p,_=(r,a)=>{for(var p in a||(a={}))o.call(a,p)&&m(r,p,a[p]);if(n)for(var p of n(a))d.call(a,p)&&m(r,p,a[p]);return r},h=(r,a,p)=>new Promise((E,b)=>{var w=z=>{try{O(p.next(z))}catch(B){b(B)}},R=z=>{try{O(p.throw(z))}catch(B){b(B)}},O=z=>z.done?E(z.value):Promise.resolve(z.value).then(w,R);O((p=p.apply(r,a)).next())}),g=({editOffice:r="view",data:a,issaver:p,onSaver:E,theme:b,type:w,filename:R,monacoEditor:O,className:z,style:B,close:P,onClose:F,hasMask:k,disabledDownload:U,onImgDimensions:G,showNodata:C,recordInfo:I})=>{const[H,$]=(0,ee.useState)("https://view.officeapps.live.com/op/view.aspx?src=http://testgs.educoder.net//rails/active_storage/blobs/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBCZz09IiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--03541f6234b93d7ac3b2d84e7eb0e6594a952945/1.ppt"),[q,se]=(0,ee.useState)(""),[ue,me]=(0,ee.useState)(),Ee=window.ENV==="build"?"/react/build":"",Le=location.host.startsWith("localhost")?x.Z.PROXY_SERVER:x.Z.API_SERVER,Ke=10*(1024*1024),Te=(0,ee.useRef)();a!=null&&a.startsWith("/api")&&w!=="txt"&&(a=x.Z.API_SERVER+a);const We=ve=>ve.substring(ve.lastIndexOf("/")+1).split(".").pop();R&&O&&(O.filename=R),(0,ee.useEffect)(()=>{var ve,we;const Ue=(we=(ve=document.cookie)==null?void 0:ve.replace(/\s/g,""))==null?void 0:we.split(";");Ue==null||Ue.map(de=>{let oe=de.split("=");oe[0]==="_educoder_session"&&se(oe[1])})},[]),(0,ee.useEffect)(()=>{w==="office"&&(a.indexOf("bigfilescdn.")>-1||a.indexOf("bigfiles1")>-1?me({url:a,fileType:We(a),model:a.indexOf("model=edit")?"edit":"view"}):De())},[w,a]);function Ce(ve){return h(this,null,function*(){ve.data.type==="pdfdata"&&(E(ve.data.data),window.removeEventListener("message",Ce,!1)),console.log("mess---:",ve.data)})}const De=()=>h(void 0,null,function*(){console.log("data:",a);let ve=a;a.startsWith("http")||(ve=location.origin+ve);let we=new URL(ve).pathname.split("/").pop();const Ue=yield(0,A.gJ)({attachment_id:we});Ue.url=Le+Ue.url,me(Ue)}),ge=()=>{if(a.startsWith("http")||a.startsWith("blob:")){Re();return}(0,L.Sv)(R||"educoder",a,R)},Re=()=>{I&&(0,c.fc)({id:I==null?void 0:I.id,watch_type:1,course_id:I==null?void 0:I.course_id}),(0,L.Nd)(R||"educoder",decodeURIComponent(a))};return l.createElement("div",{style:_({},B||{}),className:`${k&&te.bgBlack} ${w?te.wrp:"hide"}`},P&&l.createElement("div",{className:te.close,ref:Te},!!G&&l.createElement(y.Z,{title:"\u70B9\u51FB\u5BF9\u56FE\u7247\u8FDB\u884C\u6279\u6CE8",getPopupContainer:()=>Te.current},l.createElement("span",{onClick:()=>{F(),G()}},l.createElement("i",{className:"icon-yulanpizhu"}))),!U&&l.createElement(y.Z,{title:"\u70B9\u51FB\u4E0B\u8F7D\u6B64\u6587\u4EF6",getPopupContainer:()=>Te.current},l.createElement("span",{onClick:Re},l.createElement("i",{className:"icon-quxiaozhiding"}))),p&&l.createElement(y.Z,{title:"\u4FDD\u5B58pdf\u5E76\u9000\u51FA",getPopupContainer:()=>Te.current},l.createElement("span",{className:"",onClick:()=>{const ve=document.getElementById("pdfiframe");window.addEventListener("message",Ce,!1),setTimeout(()=>{ve.contentWindow.postMessage("getData","*")},300)}},l.createElement("i",{className:"icon-baocun"}))),l.createElement(y.Z,{title:"\u5173\u95ED",getPopupContainer:()=>Te.current},l.createElement("span",{className:"",onClick:()=>{F()}},l.createElement("i",{className:"icon-guanbi1"})))),l.createElement("div",{className:`${te[z]} ${z} ${te.monaco} ${w==="txt"?"show":"hide"}`},w==="txt"&&l.createElement(l.Fragment,null,l.createElement(K.ZP,_({},O)))),w==="audio"&&l.createElement("audio",{src:`${(a==null?void 0:a.indexOf("http://"))>-1||(a==null?void 0:a.indexOf("https://"))>-1?"":"data:audio/mp3;base64,"}${a}`,autoPlay:!0}),w==="video"&&l.createElement(l.Fragment,null,(a==null?void 0:a.indexOf("http"))>-1?l.createElement("video",{controls:!0,src:`${a}`,autoPlay:!0}):l.createElement("video",{controls:!0,src:`data:video/mp4;base64,${a}`,autoPlay:!0})),w==="office"&&ue&&l.createElement("iframe",{src:`${Ee}/office.html?key=${ue.key}&url=${btoa(ue.url)}&callbackUrl=${Le+(ue.callbackUrl||"")}&fileType=${ue.fileType}&title=${ue.title||""}&model=${r}&officeServer=${x.Z.ONLYOFFICE}&disabledDownload=${!!U}`}),w==="html"&&l.createElement("iframe",{src:a+"&disposition=inline"}),w==="pdf"&&l.createElement("iframe",{id:"pdfiframe",src:`${Ee}/js/pdfview/index.html?filename=${R||"educoder.pdf"}&url=${encodeURIComponent(a)}&disabledDownload=${!!U}&model=${r}`}),w==="image"&&l.createElement("img",{src:`${(a==null?void 0:a.indexOf("http://"))>-1||(a==null?void 0:a.indexOf("https://"))>-1?"":"data:image/png;base64,"}${a}`}),(w==="other"||w==="download")&&l.createElement(l.Fragment,null,C?l.createElement(s.Z,{customText:"\u5F53\u524D\u6587\u4EF6\u4E0D\u652F\u6301\u9884\u89C8\uFF0C\u53EF\u70B9\u51FB\u4E0B\u8F7D\u67E5\u770B",ButtonTwo:l.createElement(X.ZP,{icon:l.createElement("i",{className:"iconfont icon-xiazai4 font14"}),type:"primary",size:"middle",onClick:ge,disabled:U},"\u4E0B\u8F7D")}):l.createElement(X.ZP,{type:"primary",size:"middle",onClick:ge,disabled:U},l.createElement(S.Z,null),"\u70B9\u51FB\u4E0B\u8F7D")))}},3736:function($t,Qe,ae){"use strict";ae.d(Qe,{Z:function(){return o}});var ee=ae(59301),te=ae(6767),X=ae(75727),S=ae(30647),K=ae(81168),y=ae(48790),L=ae(56102),A=ae(84989),s={watermark:"watermark___hNYlv",videovideo:"videovideo___ovOkV",animate__loop:"animate__loop___mvL6s",upDown:"upDown___SlgHv",container:"container___g1WYG","video-container":"video-container___XPkWR","video-controls":"video-controls___to0Zq",hide:"hide___NA3DV","video-progress":"video-progress___gqHsd",seek:"seek___iZHBm","seek-tooltip":"seek-tooltip___uWyXx","bottom-controls":"bottom-controls___uoIBm","left-controls":"left-controls___mBEx4","right-controls":"right-controls___e9L6r",rateOverlay:"rateOverlay___HHBWe",controlText:"controlText___M_BWR","volume-controls":"volume-controls___fa3mE","fullscreen-button":"fullscreen-button___ur0es","fullscreen-button1":"fullscreen-button1___rfaXm","pip-button":"pip-button___GFO8W","playback-animation":"playback-animation___ndURq",volume:"volume___OTmpP",hidden:"hidden___o7GkT"},x=(d,m,_)=>new Promise((h,g)=>{var r=E=>{try{p(_.next(E))}catch(b){g(b)}},a=E=>{try{p(_.throw(E))}catch(b){g(b)}},p=E=>E.done?h(E.value):Promise.resolve(E.value).then(r,a);p((_=_.apply(d,m)).next())});function c(d){if(isNaN(d))return{minutes:"00",seconds:"00"};const m=new Date(d*1e3).toISOString().substr(11,8);return{hour:m.substr(0,2),minutes:m.substr(3,2),seconds:m.substr(6,2)}}Object.defineProperty(HTMLMediaElement.prototype,"playing",{get:function(){return this.currentTime>0&&!this.paused&&!this.ended&&this.readyState>2}});function l(d,m){return d-m}function f(d){d.sort(l);let m=0;for(let _=0;_<d.length-1;_++){let h=Math.abs(d[_+1]-d[_]);h<21&&(m+=h)}return m}const n=/(android|webos|iphone|ipad|ipod|blackberry|iemobile|opera mini)/i;var o=(0,ee.forwardRef)(({allow_skip:d,src:m,toLog:_,videoId:h,logWatchHistory:g,courseId:r=null,startTime:a,handlePause:p=()=>{},handlePlay:E=()=>{},handlePlayEnded:b=()=>{},autoPlay:w=!1,onPlayEnded:R=()=>{},isShowWaterMark:O=!0},z)=>{var B;m=m==null?void 0:m.replace("http://","https://");const F=((B=m==null?void 0:m.split("."))==null?void 0:B.pop())==="flv",k=(0,ee.useRef)(),U=(0,ee.useRef)(),G=(0,ee.useRef)(),C=(0,ee.useRef)(),I=(0,ee.useRef)(),H=(0,ee.useRef)(),$=(0,ee.useRef)(),q=(0,ee.useRef)(),se=(0,ee.useRef)(),ue=(0,ee.useRef)(),me=(0,ee.useRef)(),Ee=(0,ee.useRef)(),Le=(0,ee.useRef)(),Fe=(0,ee.useRef)(),Ke=navigator.userAgent.toLowerCase().match(n),Te=Ke?Ke[0]:"pc",We=(0,ee.useRef)(!1),Ce=(0,y.eY)();let De=0,ge=0,Re=0,ve=null,we=!1,Ue=20,de=1,oe=!1,ne=!1,ce=[];(0,ee.useImperativeHandle)(z,()=>({getLastUpdatedTime:()=>k.current.currentTime,getDuration:()=>k.current.duration})),te.ZP.config({maxCount:1,getContainer:()=>G.current});const ye=(0,ee.useCallback)((ft,tt=!1)=>{let At={point:k.current.currentTime};ve?(At.log_id=ve,At.watch_duration=f(ce),At.total_duration=ge):(r?(At.video_id=parseInt(h,10),At.course_id=r):At.video_id=h,At.duration=De,At.device=Te),tt&&(At.ed="1");function It(){return x(this,null,function*(){oe=!0,ve=yield g==null?void 0:g(At),oe=!1,ft&&ft()})}It()},[h,r]);(0,ee.useEffect)(()=>{k.current&&(C.current.style.display="none",I.current.style.display="block"),te.ZP.destroy();let ft=null;return S.Z.isSupported&&F&&m&&(m==null?void 0:m.indexOf(".m3u8"))<0?(ft=S.Z.createPlayer({type:"flv",volume:.8,cors:!0,url:m,muted:!1}),k.current&&(ft.attachMediaElement(k.current),ft.load())):k.current.setAttribute("src",m),xe(),()=>{ft&&(ft.unload(),ft.pause(),ft.destroy(),ft=null)}},[k,F,m]);function he(){k.current.paused?(C.current.style.display="none",I.current.style.display="block"):(C.current.style.display="block",I.current.style.display="none")}function xe(){me.current.style.display="none",Le.current.style.display="none",Ee.current.style.display="none",k.current.muted||k.current.volume===0?me.current.style.display="block":k.current.volume>0&&k.current.volume<=.5?Le.current.style.display="block":Ee.current.style.display="block"}(0,ee.useEffect)(()=>{const ft=document.getElementById("play"),tt=document.querySelectorAll(".playback-icons use");function At(){E(),a&&!We.current&&(k.current.currentTime=a),We.current=!0,ce.push(k.current.currentTime),we||(we=!0,_&&ye())}function It(){return x(this,null,function*(){he(),ce.push(k.current.currentTime),_&&ye(()=>{ve=null,Re=0,we=!1,oe=!1,ne=!1,ce=[],ge=0,de=1},!0),R()})}function Nt(){H.current.value=Math.round(k.current.currentTime),$.current.value=Math.round(k.current.currentTime)}function lt(){const Tt=c(Math.round(k.current.currentTime));se.current.innerText=`${Tt.hour>0?Tt.hour+":":""}${Tt.minutes}:${Tt.seconds}`,se.current.setAttribute("datetime",`${Tt.hour>0?" "+Tt.hour+" ":""}${Tt.minutes}m ${Tt.seconds}s`)}function Bt(){var Tt,at,vt,Yt,qt,Cr,nt;const yt=Math.round((Tt=k.current)==null?void 0:Tt.duration);(vt=(at=H.current)==null?void 0:at.setAttribute)==null||vt.call(at,"max",yt),(qt=(Yt=$.current)==null?void 0:Yt.setAttribute)==null||qt.call(Yt,"max",yt);const Lt=c(yt);q.current&&(q.current.innerText=`${Lt.hour>0?Lt.hour+":":""}${Lt.minutes}:${Lt.seconds}`,(nt=(Cr=q.current).setAttribute)==null||nt.call(Cr,"datetime",`${Lt.hour>0?" "+Lt.hour+" ":""}${Lt.minutes}m ${Lt.seconds}s`))}function cr(){try{const Tt=Math.round(k.current.duration);H.current.setAttribute("max",Tt),$.current.setAttribute("max",Tt);const at=c(Tt);q.current.innerText=`${at.hour>0?at.hour+":":""}${at.minutes}:${at.seconds}`,q.current.setAttribute("datetime",`${at.hour>0?" "+at.hour+" ":""}${at.minutes}m ${at.seconds}s`),Nt(),lt();const{width:vt,height:Yt,x:qt,y:Cr}=U.current.getBoundingClientRect();if(qt<0||Cr<0,!ne){let nt=k.current.currentTime,yt=nt-Re;Math.abs(yt)<10?(ge+=Math.abs(yt),Re=nt,oe||ge-de*Ue>=0&&(de++,ce.push(Re),_&&ye())):(Re=nt,_&&ye())}}catch(Tt){console.log("videoplaying:",Tt)}}function bt(){ne=!0}function ut(){k.current.playing&&ce.push(k.current.currentTime,Re),Re=k.current.currentTime,ne=!1}function Wt(){De=k.current.duration,De<=20&&(Ue=De/3),k.current.addEventListener("play",At)}function Ar(Tt){Tt.preventDefault(),(0,A.vp)()?(k.current.style.width="100%",k.current.style.height="100%"):k.current.style.cssText=""}function Vt(){p()}function Ht(Tt){if(!d){te.ZP.warning("\u8BE5\u89C6\u9891\u7981\u6B62\u5FEB\u8FDB/\u540E\u9000\u64AD\u653E");return}const at=Tt.target.dataset.seek?Tt.target.dataset.seek:Tt.target.value;k.current.currentTime=at,$.current.value=at,H.current.value=at}function ar(Tt){const at=Math.round(Tt.offsetX/Tt.target.clientWidth*parseInt(Tt.target.getAttribute("max"),10));H.current.setAttribute("data-seek",at);const vt=c(at);ue.current.textContent=`${vt.hour>0?vt.hour+":":""}${vt.minutes}:${vt.seconds}`;const Yt=k.current.getBoundingClientRect();ue.current.style.left=`${Tt.pageX-Yt.left}px`}function or(Tt){switch(Tt.code){case"Space":Tt.preventDefault(),je();break;case"ArrowRight":if(Tt.preventDefault(),!d){te.ZP.warning("\u8BE5\u89C6\u9891\u7981\u6B62\u5FEB\u8FDB/\u540E\u9000\u64AD\u653E");break}if(k.current.currentTime>=k.current.duration)break;k.current.currentTime=parseInt(k.current.currentTime)+5,Nt();break;case"ArrowLeft":if(Tt.preventDefault(),!d){te.ZP.warning("\u8BE5\u89C6\u9891\u7981\u6B62\u5FEB\u8FDB/\u540E\u9000\u64AD\u653E");break}if(k.current.currentTime===0)break;k.current.currentTime=parseInt(k.current.currentTime)-5,Nt();break;case"ArrowUp":Tt.preventDefault(),k.current.volume<1&&(k.current.volume=(parseInt(k.current.volume*10)+1)/10);break;case"ArrowDown":Tt.preventDefault(),k.current.volume>0&&(k.current.volume=(parseInt(k.current.volume*10)-1)/10);break}}return G.current.addEventListener((0,A.gH)(),Ar),k.current.addEventListener("canplay",Wt),k.current.addEventListener("ended",It),k.current.addEventListener("seeking",bt),k.current.addEventListener("seeked",ut),k.current.addEventListener("loadedmetadata",Bt),H.current.addEventListener("mousemove",ar),H.current.addEventListener("input",Ht),k.current.addEventListener("timeupdate",cr),k.current.addEventListener("pause",Vt),k.current.addEventListener("volumechange",xe),document.addEventListener("keydown",or),()=>{var Tt,at,vt,Yt,qt,Cr,nt,yt,Lt,Ut,rr,dt;(Tt=k.current)==null||Tt.removeEventListener("canplay",Wt),(at=k.current)==null||at.removeEventListener("play",At),(vt=k.current)==null||vt.removeEventListener("ended",It),(Yt=k.current)==null||Yt.removeEventListener("seeking",bt),(qt=k.current)==null||qt.removeEventListener("seeked",ut),(Cr=H.current)==null||Cr.removeEventListener("mousemove",ar),(nt=H.current)==null||nt.removeEventListener("input",Ht),(yt=k.current)==null||yt.removeEventListener("timeupdate",cr),(Lt=k.current)==null||Lt.removeEventListener("pause",Vt),(Ut=k.current)==null||Ut.removeEventListener("loadedmetadata",Bt),(rr=k.current)==null||rr.removeEventListener("volumechange",xe),document.removeEventListener("keydown",or),(dt=k.current)!=null&&dt.playing&&(ce.push(Re,k.current.currentTime),_&&ye())}},[k,m]),(0,ee.useEffect)(()=>{if(k.current.onended=()=>{b(k)},k.current.oncontextmenu=()=>!1,(m==null?void 0:m.indexOf(".m3u8"))>-1){if(k.current.canPlayType("application/vnd.apple.mpegurl"))k.current.src=m;else if(K.ZP.isSupported()){var ft=new K.ZP;ft.loadSource(m),ft.attachMedia(k.current)}}},[m]);const[Ne,Be]=(0,ee.useState)(1),je=()=>{k.current.paused||k.current.ended?k.current.play():k.current.pause(),he()};function et(){k.current.muted=!k.current.muted,k.current.muted?(Fe.current.setAttribute("data-volume",volume.value),Fe.current.value=0):Fe.current.value=Fe.current.dataset.volume}return ee.createElement("div",{style:{position:"relative"},ref:G},ee.createElement("div",{ref:U,className:`${s.watermark} animated_alternate animate__animated_10s animate__infinite animate__stepstart ${s.animate__loop}`},O&&Ce?Ce.login:" "),ee.createElement("div",{className:s.container},ee.createElement("div",{className:s["video-container"],id:"video-container"},ee.createElement("div",{className:s["playback-animation"],id:"playback-animation"},ee.createElement("svg",{className:s["playback-icons"]},ee.createElement("use",{className:"hidden",href:"#play-icon"}),ee.createElement("use",{href:"#pause"}))),ee.createElement("video",{className:s.video,id:"video",preload:"auto",disablePictureInPicture:!0,ref:k,autoPlay:w}),ee.createElement("div",{className:`${s["video-controls"]} `,id:"video-controls"},ee.createElement("div",{className:s["bottom-controls"]},ee.createElement("div",{className:s["left-controls"]},ee.createElement("button",{"data-title":"\u64AD\u653E/\u6682\u505C",id:"play",onClick:je},ee.createElement("svg",{className:s["playback-icons"]},ee.createElement("use",{ref:I,href:"#play-icon"}),ee.createElement("use",{ref:C,style:{display:"none"},href:"#pause"}))),ee.createElement("div",{className:s.time},ee.createElement("time",{id:"time-elapsed",ref:se},"00:00"),ee.createElement("span",null," / "),ee.createElement("time",{id:"duration",ref:q},"00:00"))),ee.createElement("div",{className:s["right-controls"]},d&&ee.createElement(X.Z,{placement:"top",overlayClassName:s.rateOverlay,getPopupContainer:ft=>ft.parentNode,menu:{items:[{key:"1",label:ee.createElement("span",{onClick:()=>{Be(1),k.current.playbackRate=1}},"1.0x")},{key:"2",label:ee.createElement("span",{onClick:()=>{Be(1.5),k.current.playbackRate=1.5}},"1.5x")},{key:"3",label:ee.createElement("span",{onClick:()=>{Be(2),k.current.playbackRate=2}},"2.0x")}]}},ee.createElement("div",{className:`${s.controlText} mr5`},"\u500D\u901F")),ee.createElement(L.CopyToClipboard,{text:m,onCopy:()=>te.ZP.success("\u590D\u5236\u6210\u529F")},ee.createElement("button",{"data-title":"\u590D\u5236\u94FE\u63A5"},ee.createElement("i",{className:"icon-lianjie2 iconfont",style:{fontSize:"12px",color:"white"}}))),ee.createElement("div",{className:s["volume-controls"]},ee.createElement("button",{"data-title":"\u5F00\u542F/\u5173\u95ED\u58F0\u97F3",className:s["volume-button"],id:"volume-button",onClick:et},ee.createElement("i",{ref:me,className:"icon-a-bianzu8 iconfont",style:{fontSize:"14px",color:"white"}}),ee.createElement("i",{ref:Le,className:"icon-shengyinkaibeifen iconfont",style:{fontSize:"14px",color:"white"}}),ee.createElement("i",{ref:Ee,className:"icon-shengyinkai iconfont",style:{fontSize:"14px",color:"white"}})),ee.createElement("input",{className:s.volume,id:"volume",value:"1","data-mute":"0.5",type:"range",max:"1",min:"0",step:"0.01",ref:Fe,style:{display:"none"},onClick:xe})),ee.createElement("button",{"data-title":"\u5168\u5C4F/\u9000\u51FA\u5168\u5C4F",className:s["fullscreen-button"],onClick:()=>{(0,A.vp)()?(0,A.BU)():(0,A.Dj)(G.current)}},ee.createElement("i",{className:"icon-fangda1 iconfont",style:{fontSize:"12px",color:"white"}})))),ee.createElement("div",{className:s["video-progress"]},ee.createElement("progress",{ref:$,value:"0",min:"0"}),ee.createElement("input",{className:s.seek,ref:H,value:"0",min:"0",type:"range",step:"1"}),ee.createElement("div",{className:s["seek-tooltip"],ref:ue,id:"seek-tooltip"},"00:00"))))),ee.createElement("svg",{style:{display:"none"}},ee.createElement("defs",null,ee.createElement("symbol",{id:"pause",viewBox:"0 0 24 24"},ee.createElement("path",{d:"M14.016 5.016h3.984v13.969h-3.984v-13.969zM6 18.984v-13.969h3.984v13.969h-3.984z"})),ee.createElement("symbol",{id:"play-icon",viewBox:"0 0 24 24"},ee.createElement("path",{d:"M8.016 5.016l10.969 6.984-10.969 6.984v-13.969z"})),ee.createElement("symbol",{id:"volume-high",viewBox:"0 0 24 24"},ee.createElement("path",{d:"M14.016 3.234q3.047 0.656 5.016 3.117t1.969 5.648-1.969 5.648-5.016 3.117v-2.063q2.203-0.656 3.586-2.484t1.383-4.219-1.383-4.219-3.586-2.484v-2.063zM16.5 12q0 2.813-2.484 4.031v-8.063q1.031 0.516 1.758 1.688t0.727 2.344zM3 9h3.984l5.016-5.016v16.031l-5.016-5.016h-3.984v-6z"})),ee.createElement("symbol",{id:"volume-low",viewBox:"0 0 24 24"},ee.createElement("path",{d:"M5.016 9h3.984l5.016-5.016v16.031l-5.016-5.016h-3.984v-6zM18.516 12q0 2.766-2.531 4.031v-8.063q1.031 0.516 1.781 1.711t0.75 2.32z"})),ee.createElement("symbol",{id:"volume-mute",viewBox:"0 0 24 24"},ee.createElement("path",{d:"M12 3.984v4.219l-2.109-2.109zM4.266 3l16.734 16.734-1.266 1.266-2.063-2.063q-1.547 1.313-3.656 1.828v-2.063q1.172-0.328 2.25-1.172l-4.266-4.266v6.75l-5.016-5.016h-3.984v-6h4.734l-4.734-4.734zM18.984 12q0-2.391-1.383-4.219t-3.586-2.484v-2.063q3.047 0.656 5.016 3.117t1.969 5.648q0 2.203-1.031 4.172l-1.5-1.547q0.516-1.266 0.516-2.625zM16.5 12q0 0.422-0.047 0.609l-2.438-2.438v-2.203q1.031 0.516 1.758 1.688t0.727 2.344z"})),ee.createElement("symbol",{id:"fullscreen",viewBox:"0 0 24 24"},ee.createElement("path",{d:"M14.016 5.016h4.969v4.969h-1.969v-3h-3v-1.969zM17.016 17.016v-3h1.969v4.969h-4.969v-1.969h3zM5.016 9.984v-4.969h4.969v1.969h-3v3h-1.969zM6.984 14.016v3h3v1.969h-4.969v-4.969h1.969z"})),ee.createElement("symbol",{id:"fullscreen-exit",viewBox:"0 0 24 24"},ee.createElement("path",{d:"M15.984 8.016h3v1.969h-4.969v-4.969h1.969v3zM14.016 18.984v-4.969h4.969v1.969h-3v3h-1.969zM8.016 8.016v-3h1.969v4.969h-4.969v-1.969h3zM5.016 15.984v-1.969h4.969v4.969h-1.969v-3h-3z"})),ee.createElement("symbol",{id:"pip",viewBox:"0 0 24 24"},ee.createElement("path",{d:"M21 19.031v-14.063h-18v14.063h18zM23.016 18.984q0 0.797-0.609 1.406t-1.406 0.609h-18q-0.797 0-1.406-0.609t-0.609-1.406v-14.016q0-0.797 0.609-1.383t1.406-0.586h18q0.797 0 1.406 0.586t0.609 1.383v14.016zM18.984 11.016v6h-7.969v-6h7.969z"})))))})},75975:function($t,Qe,ae){"use strict";ae.d(Qe,{SV:function(){return Ke},ZP:function(){return Fe}});var ee=ae(59301),te=ae(76374);const X={keywords:["print","auto","break","case","char","const","continue","default","do","double","else","enum","extern","float","for","goto","if","int","long","register","return","short","signed","sizeof","static","struct","switch","typedef","union","unsigned","void","volatile","while"]},S={quickKey:[{label:"main",content:["public static void main(String[] args) {"," $0","}"].join(`
`)},{label:"System.out.println",content:["System.out.println($0)"].join(`
`)},{label:"System.out.print",content:["System.out.print($0)"].join(`
`)}],keywords:["abstract","continue","for","new","switch","assert","default","goto","package","synchronized","boolean","do","if","private","this","break","double","implements","protected","throw","byte","else","import","public","throws","case","enum","instanceof","return","transient","catch","extends","int","short","try","char","final","interface","static","void","class","finally","long","strictfp","volatile","const","float","native","super","while","true","false"]},K={keywords:["abstract","amp","array","auto","bool","break","case","catch","char","class","const","constexpr","const_cast","continue","cpu","decltype","default","delegate","delete","do","double","dynamic_cast","each","else","enum","event","explicit","export","extern","false","final","finally","float","friend","gcnew","generic","goto","in","initonly","inline","int","interface","interior_ptr","internal","literal","long","mutable","namespace","new","noexcept","nullptr","__nullptr","operator","override","partial","pascal","pin_ptr","private","property","protected","public","ref","register","reinterpret_cast","restrict","return","safe_cast","sealed","short","signed","sizeof","static","static_assert","static_cast","struct","switch","template","this","thread_local","throw","tile_static","true","try","typedef","typeid","typename","union","unsigned","using","virtual","void","volatile","wchar_t","where","while","_asm","_based","_cdecl","_declspec","_fastcall","_if_exists","_if_not_exists","_inline","_multiple_inheritance","_pascal","_single_inheritance","_stdcall","_virtual_inheritance","_w64","__abstract","__alignof","__asm","__assume","__based","__box","__builtin_alignof","__cdecl","__clrcall","__declspec","__delegate","__event","__except","__fastcall","__finally","__forceinline","__gc","__hook","__identifier","__if_exists","__if_not_exists","__inline","__int128","__int16","__int32","__int64","__int8","__interface","__leave","__m128","__m128d","__m128i","__m256","__m256d","__m256i","__m64","__multiple_inheritance","__newslot","__nogc","__noop","__nounwind","__novtordisp","__pascal","__pin","__pragma","__property","__ptr32","__ptr64","__raise","__restrict","__resume","__sealed","__single_inheritance","__stdcall","__super","__thiscall","__try","__try_cast","__typeof","__unaligned","__unhook","__uuidof","__value","__virtual_inheritance","__w64","__wchar_t"],operators:["=",">","<","!","~","?",":","==","<=",">=","!=","&&","||","++","--","+","-","*","/","&","|","^","%","<<",">>",">>>","+=","-=","*=","/=","&=","|=","^=","%=","<<=",">>=",">>>="],quickKey:[{label:"ifelse",content:["if (${1:condition}) {"," $0","} else {"," ","}"].join(`
`)},{label:"include",content:"include<$0>"},{label:"printf",content:"printf($0)"},{label:"system",content:'system("$0")'},{label:"main",content:["int main () {"," $0","}"].join(`
`)},{label:"if",content:["if () {"," $0","}"].join(`
`)},{label:"for",content:["for(int j=0 ; j<10; j++){"," $0","}"].join(`
`)},{label:"trycatch",content:["try{"," $0","}catch(ExceptionName e){","}"].join(`
`)},{label:"using namespace std;",content:["using namespace std;"].join(`
`)},{label:"include <iostream>",content:["#include <iostream>"].join(`
`)},{label:"include <vector>",content:["#include <vector>"].join(`
`)},{label:"include <cstdio>",content:["#include <cstdio>"].join(`
`)},{label:"include <cstring>",content:["#include <cstring>"].join(`
`)},{label:"include <sstream>",content:["#include <sstream>"].join(`
`)},{label:"include <fstream>",content:["#include <fstream>"].join(`
`)},{label:"include <map>",content:["#include <map>"].join(`
`)},{label:"include <string>",content:["#include <string>"].join(`
`)},{label:"include <cmath>",content:["#include <cmath>"].join(`
`)}]},y={keywords:["and","as","assert","break","class","continue","def","del","elif","else","except","exec","finally","for","from","global","if","import","in","is","lambda","None","not","or","pass","raise","return","self","try","while","with","yield","int","float","long","complex","hex","abs","all","any","apply","basestring","bin","bool","buffer","bytearray","callable","chr","classmethod","cmp","coerce","compile","complex","delattr","dict","dir","divmod","enumerate","eval","execfile","file","filter","format","frozenset","getattr","globals","hasattr","hash","help","id","input","intern","isinstance","issubclass","iter","len","locals","list","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","reversed","range","raw_input","reduce","reload","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","unichr","unicode","vars","xrange","zip","True","False","__dict__","__methods__","__members__","__class__","__bases__","__name__","__mro__","__subclasses__","__init__","__import__"],quickKey:[{label:"print",content:["print($0)"].join(`
`)}]},L={keywords:["asInstanceOf","catch","class","classOf","def","do","else","extends","finally","for","foreach","forSome","if","import","isInstanceOf","macro","match","new","object","package","return","throw","trait","try","type","until","val","var","while","with","yield","given","enum","then"],quickKey:[{label:"println",content:["println($0)"].join(`
`)}]};var A=ae(53184),s=ae.n(A),x=(Te,We,Ce)=>new Promise((De,ge)=>{var Re=Ue=>{try{we(Ce.next(Ue))}catch(de){ge(de)}},ve=Ue=>{try{we(Ce.throw(Ue))}catch(de){ge(de)}},we=Ue=>Ue.done?De(Ue.value):Promise.resolve(Ue.value).then(Re,ve);we((Ce=Ce.apply(Te,We)).next())});const c={languages:["c","abap","apex","azcli","bat","cameligo","clojure","coffee","cpp","csharp","csp","css","dockerfile","fsharp","go","graphql","handlebars","html","ini","java","javascript","json","kotlin","less","lua","markdown","mips","msdax","mysql","objective-c","pascal","pascaligo","perl","pgsql","php","postiats","powerquery","powershell","pug","python","r","razor","redis","redshift","restructuredtext","ruby","rust","sb","scheme","scss","shell","solidity","sophia","sql","st","swift","tcl","twig","vb","xml","yaml'"],tables:{users:["name","id","email","phone","password"],roles:["id","name","order","created_at","updated_at","deleted_at"]}},l=(Te,We,Ce,De)=>{const ge=We.getValueInRange({startLineNumber:1,startColumn:1,endLineNumber:Ce.lineNumber,endColumn:Ce.column});return Array.from(new Set(ge.match(/\b\w{2,}\b/g)||[])).map(ve=>({label:ve,kind:Te.languages.CompletionItemKind.Text,insertText:ve,range:De}))},f=(Te,We,Ce,De)=>{Te.languages.registerCompletionItemProvider(We,{provideCompletionItems(ge,Re){const ve=ge.getWordUntilPosition(Re),we={startLineNumber:Re.lineNumber,endLineNumber:Re.lineNumber,startColumn:ve.startColumn,endColumn:ve.endColumn},Ue=ge.getLineContent(Re.lineNumber).substring(ve.startColumn-2,ve.endColumn);return{suggestions:[...l(Te,ge,Re,we),...Ce.map(oe=>({label:oe,kind:Te.languages.CompletionItemKind.Keyword,documentation:oe,insertText:oe,insertTextRules:Te.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:we})),...De.map(oe=>({label:oe.label,kind:Te.languages.CompletionItemKind.Snippet,documentation:oe.content,insertText:Ue.startsWith("#")?oe.content.replace(/#/,""):oe.content,insertTextRules:Te.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:we}))]}}})};var n=Te=>{c.languages.forEach(We=>{Te.languages.registerDocumentFormattingEditProvider(We,{provideDocumentFormattingEdits(Ce){return x(this,null,function*(){const De=s()(Ce.getValue(),{indent_size:2,indent_char:" ",max_preserve_newlines:2,preserve_newlines:!0,keep_array_indentation:!0,break_chained_methods:!1,indent_scripts:"normal",brace_style:"collapse",space_before_conditional:!0,unescape_strings:!1,jslint_happy:!1,end_with_newline:!0,wrap_line_length:0,indent_inner_html:!1,comma_first:!1,e4x:!1,indent_empty_lines:!1});return[{range:Ce.getFullModelRange(),text:De}]})}})}),f(Te,"java",S.keywords,S.quickKey),f(Te,"cpp",K.keywords,K.quickKey),f(Te,"c",X.keywords,[]),f(Te,"python",y.keywords,y.quickKey),f(Te,"scala",L.keywords,L.quickKey)};const o="\u8BE5\u4EFB\u52A1\u5173\u5361\u8BBE\u7F6E\u4E86\u7981\u6B62\u590D\u5236\u7C98\u8D34\uFF0C\u8BF7\u624B\u52A8\u8F93\u5165\u4EE3\u7801\u3002";var d=Object.defineProperty,m=(Te,We,Ce)=>We in Te?d(Te,We,{enumerable:!0,configurable:!0,writable:!0,value:Ce}):Te[We]=Ce,_=(Te,We,Ce)=>m(Te,typeof We!="symbol"?We+"":We,Ce);const h=class Jo{constructor(We,Ce,De){this.placeholder=We,this.editor=Ce,this.monaco=De,Ce.onDidChangeModelContent(()=>this.onDidChangeModelContent()),this.onDidChangeModelContent()}onDidChangeModelContent(){this.editor.getValue()===""?this.editor.addContentWidget(this):this.editor.removeContentWidget(this)}getId(){return Jo.ID}getDomNode(){return this.domNode||(this.domNode=document.createElement("div"),this.domNode.style.width="max-content",this.domNode.textContent=this.placeholder,this.domNode.style.fontStyle="initial",this.domNode.style.color="#D7D7D7",this.domNode.style.pointerEvents="none",this.editor.applyFontInfo(this.domNode)),this.domNode}getPosition(){return{position:{lineNumber:1,column:1},preference:[this.monaco.editor.ContentWidgetPositionPreference.EXACT]}}dispose(){this.editor.removeContentWidget(this)}};_(h,"ID","editor.widget.placeholderHint");var r=h,a=ae(96236),p=ae(6767),E=ae(25399),b=ae(89392),w=ae(49535),R=ae(56102),O=Object.defineProperty,z=Object.defineProperties,B=Object.getOwnPropertyDescriptors,P=Object.getOwnPropertySymbols,F=Object.prototype.hasOwnProperty,k=Object.prototype.propertyIsEnumerable,U=(Te,We,Ce)=>We in Te?O(Te,We,{enumerable:!0,configurable:!0,writable:!0,value:Ce}):Te[We]=Ce,G=(Te,We)=>{for(var Ce in We||(We={}))F.call(We,Ce)&&U(Te,Ce,We[Ce]);if(P)for(var Ce of P(We))k.call(We,Ce)&&U(Te,Ce,We[Ce]);return Te},C=(Te,We)=>z(Te,B(We)),I=(Te,We)=>{var Ce={};for(var De in Te)F.call(Te,De)&&We.indexOf(De)<0&&(Ce[De]=Te[De]);if(Te!=null&&P)for(var De of P(Te))We.indexOf(De)<0&&k.call(Te,De)&&(Ce[De]=Te[De]);return Ce},H=(Te,We,Ce)=>new Promise((De,ge)=>{var Re=Ue=>{try{we(Ce.next(Ue))}catch(de){ge(de)}},ve=Ue=>{try{we(Ce.throw(Ue))}catch(de){ge(de)}},we=Ue=>Ue.done?De(Ue.value):Promise.resolve(Ue.value).then(Re,ve);we((Ce=Ce.apply(Te,We)).next())});function $(Te){return/^\d+$/.test(Te)?`${Te}px`:Te}function q(){}let se=!1;const ue={"Python3.6":"python","Python2.7":"python",Dynamips:"cpp",Java:"java",Web:"php",Html:"html",Hive:"sql",Hadoop:"java",SDL:"cpp",PHP:"php",Matlab:"python",Git:"python",Python:"python","C/C++":"cpp","C++":"cpp",C:"cpp",Ruby:"ruby",Shell:"shell",JavaScript:"javascript",Perl6:"perl",Kotlin:"kotlin",Elixir:"elixir",Android:"java",JavaWeb:"java",Go:"go",Spark:"sql",MachineLearning:"python",Verilog:"xml","Verilog/VNC":"xml",Docker:"dockerfile","C#":"csharp",SQLite3:"sql",Oracle:"sql",Vhdl:"vhdl",R:"r",Swift:"swift",SQLServer:"mysql",MySQL:"mysql",Mongo:"sql",PostgreSql:"pgsql",Hbase:"powershell",Sqoop:"sql",Nasm:"cpp",Kafka:"java",Flink:"java",Sml:"javascript",OpenGL:"cpp",Perl5:"perl",Orange:"python",Scala:"scale",solidity:"sol"};function me(Te=[]){let We=Te;if(Array.isArray(Te)){for(let Ce=0;Ce<Te.length;Ce++){let De=ue[Te[Ce]];if(De)return De}return We[0]}return ue[We]||We}let Ee=null;const Le=()=>H(void 0,null,function*(){try{yield navigator.clipboard.writeText(" "),console.log("\u5185\u5BB9\u5DF2\u81EA\u52A8\u590D\u5236\u5230\u526A\u8D34\u677F:")}catch(Te){console.error("\u81EA\u52A8\u590D\u5236\u5931\u8D25:",Te)}});var Fe=Te=>{var We=Te,{width:Ce="100%",height:De="100%",value:ge,language:Re="javascript",style:ve={},options:we={},overrideServices:Ue={},theme:de="vs-dark",onEditBlur:oe,isCopy:ne=!1,onSave:ce,autoHeight:ye=!1,forbidCopy:he=!1,onChange:xe=q,editorDidMount:Ne=q,onFocus:Be=q,onBreakPoint:je=q,breakPointValue:et=[],filename:ft="educoder.txt",errorLine:tt,errorContent:At="",highlightLine:It,openBreakPoint:Nt=!1,placeholder:lt="",showMiniMap:Bt=!0}=We,cr=I(We,["width","height","value","language","style","options","overrideServices","theme","onEditBlur","isCopy","onSave","autoHeight","forbidCopy","onChange","editorDidMount","onFocus","onBreakPoint","breakPointValue","filename","errorLine","errorContent","highlightLine","openBreakPoint","placeholder","showMiniMap"]);const bt=(0,ee.useRef)(),ut=(0,ee.useRef)({}),Wt=(0,ee.useRef)(),Ar=(0,ee.useRef)(),Vt=(0,ee.useRef)([]),Ht=(0,ee.useRef)(!1),ar=(0,ee.useRef)(),or=(0,ee.useRef)(),Tt=(0,ee.useRef)(!1),[at,vt]=(0,ee.useState)(!1);function Yt(){let Pe;return bt.current&&(Pe=new te.Z(Ye=>{for(let $e of Ye)($e.target.offsetHeight>0||$e.target.offsetWidth>0)&&ut.current.instance.layout()}),Pe.observe(bt.current)),Pe}function qt(){p.ZP.warning({content:decodeURIComponent(o),key:"monaco-editor-tip"})}const Cr=()=>{let Pe=ut.current.instance;if(ge!=null&&Pe&&at){const Ye=Pe.getModel();Ye&&ge!==Ye.getValue()&&(se=!0,Ye.setValue(ge),Pe.layout(),se=!1)}};(0,ee.useEffect)(()=>{const Pe=w.Z.subscribe("formatDocument",Ye=>{var $e;let Dt=ut.current.instance;($e=Dt==null?void 0:Dt.getAction)==null||$e.call(Dt,"editor.action.formatDocument").run()});return window.updateMonacoValue=Ye=>{xe(Ye)},Pe},[]),(0,ee.useEffect)(()=>{var Pe;let Ye=ut.current.instance;Ar.current&&clearTimeout(Ar.current),Ar.current=setTimeout(()=>{Cr()},500),ge&&(ge!=null&&ge.length)&&((Pe=Ye==null?void 0:Ye.updateOptions)==null||Pe.call(Ye,{lineNumbersMinChars:Math.max(Math.floor(Math.log10(ge.split(/\r\n|\r|\n/g).length))+3,5)}))},[ge,at,ut.current]),(0,ee.useEffect)(()=>{if(tt&&ut.current&&ut.current.instance){let Ye=ut.current.instance;Ye.changeViewZones(function($e){var Dt=document.createElement("div");Dt.style.padding="10px 20px",Dt.style.width="calc(100% - 20px)",Dt.className="my-error-line-wrp",Dt.innerHTML=At,$e.addZone({afterLineNumber:tt||11,heightInLines:3,domNode:Dt})});var Pe={domNode:null,getId:function(){return"my.overlay.widget"},getDomNode:function(){return this.domNode||(this.domNode=document.createElement("div"),this.domNode.innerHTML="",this.domNode.style.width="100%",this.domNode.style.padding="20px 100px",this.domNode.style.right="0px",this.domNode.style.top="50px",this.domNode.style.position="relative",this.domNode.style.color="#333"),this.domNode},getPosition:function(){return null}};Ye.addOverlayWidget(Pe),Ye.revealPositionInCenter({lineNumber:20,column:1})}},[tt,ut.current,at]);const nt=(Pe="",Ye)=>{if(!Pe||Pe.trim()==="")return!0;const Dt=ut.current.instance.getModel().getLineTokens(Ye);let zt=!1;for(let Ie=0;Ie<2;Ie++)Dt.getStandardTokenType(Ie)===1&&(zt=!0);return zt};(0,ee.useEffect)(()=>{var Pe;const Ye=(Pe=ut.current)==null?void 0:Pe.instance;if(Ye&&at&&he){const $e=Ye.onDidBlurEditorWidget(()=>{Tt.current=!1}),Dt=Ye.onDidFocusEditorText(()=>{Tt.current=!0});return()=>{$e.dispose(),Dt.dispose()}}},[ut.current,at,he]),(0,ee.useEffect)(()=>{var Pe;if((Pe=ut.current)!=null&&Pe.instance&&at&&Nt){let Ye=ut.current.instance,$e=Ye.getModel();if(!$e)return;(()=>{var gt;let Ot=[],pt=[];const Ct=$e.getAllDecorations();for(let Ae of Ct)Ae.options.className==="highlighted-line"&&(Ot.push((gt=Ae==null?void 0:Ae.range)==null?void 0:gt.startLineNumber),pt.push(Ae==null?void 0:Ae.id));if(It===Ot[0])return;$e.deltaDecorations(pt,[]);const xt=$e.getLineCount();It&&It<=xt&&(Ye.deltaDecorations([],[{range:new Ee.Range(It,1,It,$e.getLineMaxColumn(It)),options:{isWholeLine:!0,className:"highlighted-line"}}]),Ye.revealLineInCenter(It))})();const zt=(gt=!1)=>{var Ot;let pt=[],Ct=[];const xt=$e.getAllDecorations();for(let Ae of xt)Ae.options.linesDecorationsClassName==="breakpoints-select"&&(pt.push((Ot=Ae==null?void 0:Ae.range)==null?void 0:Ot.startLineNumber),Ct.push(Ae==null?void 0:Ae.id));if(gt)return{lines:pt,ids:Ct};je(pt)},Ie=gt=>H(void 0,null,function*(){let Ot={range:new Ee.Range(gt,1,gt,1),options:{isWholeLine:!1,linesDecorationsClassName:"breakpoints-select"}};yield $e.deltaDecorations([],[Ot]),zt()}),be=gt=>H(void 0,null,function*(){let Ot=[];const pt=Ye.getLineDecorations(gt);for(let Ct of pt)Ct.options.linesDecorationsClassName==="breakpoints-select"&&Ot.push(Ct.id);yield $e.deltaDecorations(Ot,[]),zt()}),ct=gt=>{let Ot=Ye.getLineDecorations(gt);for(let pt of Ot)if(pt.options.linesDecorationsClassName==="breakpoints-select")return!0;return!1};if(!(0,b.isEqual)(et,zt(!0).lines)){$e.deltaDecorations(zt(!0).ids,[]);const gt=et.map(Ot=>({range:new Ee.Range(Ot,1,Ot,1),options:{isWholeLine:!1,linesDecorationsClassName:"breakpoints-select"}}));$e.deltaDecorations([],gt)}const ze=Ye.onDidChangeModelContent(gt=>{let Ot=Ye.getPosition();if(Ot){let pt=Ot.lineNumber;clearTimeout(or.current),or.current=setTimeout(()=>{nt($e.getLineContent(pt),pt)?be(pt):ct(pt)?(be(pt),Ie(pt)):zt()},100)}}),He=Ye.onMouseDown(gt=>{var Ot,pt,Ct;if(gt.target.detail&&((Ct=(pt=(Ot=gt.target)==null?void 0:Ot.element)==null?void 0:pt.className)!=null&&Ct.includes("line-numbers"))){let xt=gt.target.position.lineNumber;if(nt($e.getLineContent(xt),xt))return;ct(xt)?be(xt):Ie(xt)}}),Xe=gt=>{let Ot={range:new Ee.Range(gt,1,gt,1),options:{isWholeLine:!1,linesDecorationsClassName:"breakpoints-fake"}};Vt.current=Ye.deltaDecorations(Vt.current,[Ot])},st=()=>{Vt.current=Ye.deltaDecorations(Vt.current,[])},mt=Ye.onMouseMove(gt=>{var Ot,pt,Ct;if(st(),gt.target.detail&&((Ct=(pt=(Ot=gt.target)==null?void 0:Ot.element)==null?void 0:pt.className)!=null&&Ct.includes("line-numbers"))){let xt=gt.target.position.lineNumber;if(nt($e.getLineContent(xt),xt))return;Xe(xt)}}),Kt=Ye.onMouseLeave(()=>{st()});return()=>{ze.dispose(),He.dispose(),mt.dispose(),Kt.dispose()}}},[ut.current,at,et,It,Nt,Re]),(0,ee.useEffect)(()=>{var Pe;(Pe=ut.current)!=null&&Pe.instance&&Nt&&ut.current.instance.setPosition({lineNumber:0,column:0})},[It]);function yt(){let Pe=ut.current.instance;if(Pe){const Ye=Pe.getSelection(),$e=ut.current.pastePos||{},Dt=new Ee.Range($e.startLineNumber||Ye.endLineNumber,$e.startColumn||Ye.endColumn,$e.endLineNumber||Ye.endLineNumber,$e.endColumn||Ye.endColumn);setTimeout(()=>{Pe.executeEdits("",[{range:Dt,text:""}])},300)}}function Lt(Pe){(window.navigator.platform.match("Mac")?Pe.metaKey:Pe.ctrlKey)&&Pe.keyCode==83&&(Pe.preventDefault(),ce())}const Ut=()=>{if(ye&&ut.current.instance){const Pe=ut.current.instance.getContentHeight();fe(Pe<De?De:Pe)}else fe(De)};function rr(Pe){var Ye=document.createEvent("MouseEvents");Ye.initMouseEvent("click",!0,!1,window,0,0,0,0,0,!1,!1,!1,!1,0,null),Pe.dispatchEvent(Ye)}const dt=Pe=>{if(!Tt.current)return;const{keyCode:Ye,ctrlKey:$e,metaKey:Dt,target:zt,type:Ie}=Pe;return(Ie==="paste"||(Ye===67||Ye===86)&&(Dt||$e))&&zt.nodeName==="TEXTAREA"&&(qt(),Pe.preventDefault()),!1};function V(Pe,Ye){var $e=window.URL||window.webkitURL||window,Dt=new Blob([Ye]),zt=document.createElementNS("http://www.w3.org/1999/xhtml","a");zt.href=$e.createObjectURL(Dt),zt.download=Pe,rr(zt)}(0,ee.useEffect)(()=>{Ut()},[Ut]),(0,ee.useEffect)(()=>{bt.current&&!at&&Promise.all([ae.e(8909),ae.e(6656)]).then(ae.bind(ae,71448)).then(Pe=>{try{Ee=Pe,ut.current.instance=Ee.editor.create(bt.current,{value:ge,language:me(Re),theme:de,requireConfig:{"vs/nls":{availableLanguages:{"*":"zh-cn"}}},wordWrap:!0,autoIndent:!0,contextmenu:!0,formatOnType:!0,minimap:{enabled:Bt||!1}},Ue);const Ye=ut.current.instance;let zt=[...a.BH._menuItems].find(ze=>ze[0]._debugName=="EditorContext")[1],Ie=["editor.action.clipboardCopyWithSyntaxHighlightingAction","editor.action.quickCommand","editor.action.clipboardCopyAction","editor.action.clipboardPasteAction","editor.action.clipboardCutAction"],be=(ze,He)=>{var Xe,st;let mt=ze._first;do He.includes((st=(Xe=mt.element)==null?void 0:Xe.command)==null?void 0:st.id)&&ze._remove(mt);while(mt=mt.next)};if(Ne(Ye,Ee),setTimeout(()=>{Ut(),ut.current.instance.addAction({id:"d123123",label:"Download File",contextMenuGroupId:"9_cutcopypaste",run:()=>{V(ft||"educoder.txt",Ye.getValue())}})},500),ut.current.subscription=Ye.onDidChangeModelContent(ze=>{Ht.current?clearTimeout(ar.current):(Ut(),xe(Ye.getValue(),ze)),ar.current=setTimeout(()=>{Ht.current=!1},500)}),window.Monaco||n(Ee,me(Re)),he&&(be(zt,Ie),bt.current.classList.add("noCopyPaste"),window.removeEventListener("keydown",dt),window.removeEventListener("paste",dt),window.addEventListener("keydown",dt),window.addEventListener("paste",dt)),window.Monaco=Ee,oe&&Ye.onDidBlurEditorWidget(()=>{oe(Ye.getValue())}),Be&&Ye.onDidFocusEditorText(()=>{he&&Le(),Be(Ye.getValue())}),he){Le();try{Ye.onDidPaste(ze=>{const He=Ye.getSelection(),Xe=ut.current.pastePos||{},st=new Ee.Range(Xe.startLineNumber||He.endLineNumber,Xe.startColumn||He.endColumn,Xe.endLineNumber||He.endLineNumber,Xe.endColumn||He.endColumn);Ye.executeEdits("",[{range:ze.range,text:""}])})}catch(ze){}}let ct=Yt();return lt&&typeof lt=="string"&&new r(lt,Ye,Ee),vt(!0),()=>{const ze=ut.current.instance;ze.dispose();const He=ze.getModel();He&&He.dispose(),ut.current.subscription&&ut.current.subscription.dispose(),ct.unobserve(bt.current)}}catch(Ye){}})},[]),(0,ee.useEffect)(()=>{if(ut.current.instance&&at)return document.addEventListener("keydown",Lt,!1),()=>{document.removeEventListener("keydown",Lt)}},[ce,at]),(0,ee.useEffect)(()=>{let Pe=ut.current.instance;if(Pe&&at){let Ye=me(Re);Ee.editor.setModelLanguage(Pe.getModel(),Ye)}},[Re,at]),(0,ee.useEffect)(()=>{ut.current.instance&&at&&Ee.editor.setTheme(de)},[de,at]),(0,ee.useEffect)(()=>{let Pe=ut.current.instance;Wt.current=we,Pe&&at&&(Pe.updateOptions(G({},we)),setTimeout(()=>{Pe.getModel().updateOptions(G({},we))},200))},[JSON.stringify(we),at]),(0,ee.useEffect)(()=>{let Pe=ut.current.instance;Pe&&at&&Pe.layout()},[Ce,De,at]);const[Y,Q]=(0,ee.useState)($(Ce)),[le,fe]=(0,ee.useState)($(De)),Oe=C(G({},ve),{width:Y,height:le,position:"relative"});return ee.createElement("div",{className:"my-monaco-editor",ref:bt,style:Oe},ne&&ee.createElement(R.CopyToClipboard,{text:ge,onCopy:()=>p.ZP.success("\u590D\u5236\u6210\u529F")},ee.createElement(E.Z,{title:"\u590D\u5236\u4EE3\u7801"},ee.createElement("div",{style:{position:"absolute",top:0,right:10,cursor:"pointer",zIndex:10,color:"#165DFF"}},ee.createElement("i",{className:"iconfont icon-fuzhi8",style:{fontSize:14}})," \u590D\u5236\u4EE3\u7801"))))};function Ke({width:Te="100%",height:We="100%",original:Ce,modified:De,language:ge,options:Re={}}){const ve=(0,ee.useRef)(),[we,Ue]=(0,ee.useState)(null);function de(ye){let he;return ve.current&&(he=new te.Z(xe=>{for(let Ne of xe)(Ne.target.offsetHeight>0||Ne.target.offsetWidth>0)&&ye.layout()}),he.observe(ve.current)),he}(0,ee.useEffect)(()=>(ve.current&&Promise.all([ae.e(8909),ae.e(9404)]).then(ae.bind(ae,2550)).then(ye=>{Ee=ye;const he=Ee.editor.createDiffEditor(ve.current,C(G({enableSplitViewResizing:!1,scrollBeyondLastLine:!1,roundedSelection:!1,renderIndicators:!1,useShadows:!1,horizontal:"hidden",lineNumbers:"off",wordWrap:"off",ignoreTrimWhitespace:!1,"semanticHighlighting.enabled":!0,followsCaret:!0,ignoreCharChanges:!0,minimap:{enabled:!1},readOnly:!0},Re),{wordWrap:!0}));Ue(he);let xe=de(he);return()=>{he.dispose();const Ne=he.getModel();Ne&&Ne.dispose(),xe.unobserve(ve.current)}}),()=>{window.removeEventListener("keydown",checkPaste),window.removeEventListener("paste",checkPaste)}),[]),(0,ee.useEffect)(()=>{we&&we.setModel({original:Ee.editor.createModel(Ce,ge),modified:Ee.editor.createModel(De,ge)})},[Ce,De,ge,we]);const oe=$(Te),ne=$(We),ce={width:oe,height:ne};return ee.createElement("div",{className:"my-diff-editor",ref:ve,style:ce})}},10661:function($t,Qe,ae){"use strict";ae.d(Qe,{Z:function(){return l}});var ee={flex_box_center:"flex_box_center___AQ53o",flex_space_between:"flex_space_between___i2aIa",flex_box_vertical_center:"flex_box_vertical_center___sPEKB",flex_box_center_end:"flex_box_center_end___GhSSH",flex_box_column:"flex_box_column___R9_Hb",list:"list___jb2Ay",wrap:"wrap___VsQDr",lockWrap:"lockWrap___g1k1T",li:"li___IxCLC",cover:"cover___Mu8wr",img:"img___IpFLA",movebq:"movebq___mF7wt",bq:"bq___Bil0T",sign:"sign___DXJ4d",name:"name___l7FoJ",e:"e___pXQUG",unit:"unit___wCIFR",tags:"tags___w_Mil",tag1:"tag1___dxm7r",tag2:"tag2___llZkf",wrapisCurrent:"wrapisCurrent___qIfQT"},te=ae(29787),X=ae(25399),S=ae(60242),K=ae(92310),y=ae.n(K),L=ae(51257),A=ae(28426),s=ae(48790),x=ae(59301),l=({className:f,dataSource:n=[],col:o=4,right:d,bottom:m=23,precision:_=0,wrapWidth:h=1200,trackEventItems:g,loading:r,onRemove:a=()=>{},isCurrent:p=!0,showProgress:E=!1,showAlias:b=!1})=>{const w=Math.floor((h-(o-1)*d)/o),R=[{name:"\u63A8\u8350\u81EA\u5B66",ptimg:"/images/tjzx.png",swimg:"/images/sw_tjzx.png"},{name:"101\u8BA1\u5212",ptimg:"/images/jh.png",swimg:"/images/sw_jh.png"},{name:"\u56FD\u5BB6\u4E00\u6D41",ptimg:"/images/gjyl.png",swimg:"/images/sw_gjyl.png"},{name:"\u7701\u7EA7\u4E00\u6D41",ptimg:"/images/sjyl.png",swimg:"/images/sw_sjyl.png"},{name:"\u7CBE\u54C1\u8BFE\u7A0B",ptimg:"/images/jpkc.png",swimg:"/images/sw_jpkc.png"},{name:"\u519B\u961F\u4E00\u6D41",ptimg:"/images/jdyl.png",swimg:"/images/sw_jdyl.png"},{name:"\u65B0\u578B\u6559\u6750",ptimg:"/images/xxjc.png",swimg:"/images/sw_xxjc.png"}];return x.createElement(te.Z,{spinning:r},x.createElement("div",{className:y()(ee.list,f)},!!(n!=null&&n.length)&&(n==null?void 0:n.map((O,z)=>{var B,P,F,k,U,G;const{name:C,id:I,identifier:H,featured:$,school_name:q,image_url:se,excellent:ue,is_plan:me}=O;return x.createElement("div",{key:I,className:p&&E?ee.wrapisCurrent:ee.wrap,style:{width:w,marginRight:(1+z)%o===0?0:d+_,marginBottom:m}},x.createElement("a",{className:ee.li,onClick:Ee=>{Ee.preventDefault(),Ee.stopPropagation(),g&&(0,L.L9)([g]),(0,L.xg)(`/paths/${H}`)}},x.createElement("div",{className:ee.img},x.createElement("img",{className:ee.cover,src:`${se}`}),p&&(0,s.bg)()&&(O==null?void 0:O.studying)&&x.createElement("div",{className:`${ee.movebq} user-path-items`,onClick:Ee=>{Ee.stopPropagation(),a(O)}},x.createElement("i",{className:"iconfont icon-yichu1 mr5 c-red"}),x.createElement("span",{className:"c-red"},"\u79FB\u9664")),(B=O==null?void 0:O.subject_tags)==null?void 0:B.map((Ee,Le)=>{var Fe,Ke;if(Le===0){const We=(Fe=R.find(Ce=>Ce.name==Ee))==null?void 0:Fe.swimg;return x.createElement("img",{className:ee.sign,src:We,style:{left:"-4px"}})}const Te=(Ke=R.find(We=>We.name==Ee))==null?void 0:Ke.ptimg;return x.createElement("img",{className:ee.sign,src:Te,style:{left:`${48+52*(Le-1)+2*Le}px`}})}),x.createElement("div",{style:{position:"absolute",top:"150px",left:"4px"}},(O==null?void 0:O.excellent)&&x.createElement("div",{className:ee.bq},"\u5F00\u653E\u8BFE\u7A0B"))),x.createElement("div",{className:ee.name},x.createElement(X.Z,{title:b&&(O!=null&&O.excellent_alias_name)?x.createElement("span",null,`\u8BFE\u7A0B\u539F\u540D\uFF1A${C}`,x.createElement("br",null),x.createElement("span",null,`\u8BFE\u7A0B\u522B\u540D\uFF1A${O==null?void 0:O.excellent_alias_name}`)):C},x.createElement("span",{className:ee.e},b&&(O==null?void 0:O.excellent_alias_name)||C))),p&&E&&((P=O==null?void 0:O.progress)==null?void 0:P.all_score)!=0&&x.createElement("div",{style:{padding:"0px 10px",color:"#333",marginTop:10}},x.createElement(S.Z,{strokeColor:"#44d7b6",gap:"small",percent:(((F=O==null?void 0:O.progress)==null?void 0:F.my_score)/((k=O==null?void 0:O.progress)==null?void 0:k.all_score)*100).toFixed(),showInfo:!1}),"\u5DF2\u5B8C\u6210 ",(U=O==null?void 0:O.progress)==null?void 0:U.my_score,"/",(G=O==null?void 0:O.progress)==null?void 0:G.all_score),(!p||!E)&&x.createElement(X.Z,{title:`\u53D1\u5E03\u5355\u4F4D\uFF1A${q}`},x.createElement("div",{className:ee.unit},x.createElement("i",{className:"iconfont icon-danwei1 font14 mr3"}),q)),(!p||!E)&&x.createElement("div",{className:ee.tags},x.createElement("div",null,x.createElement(X.Z,{placement:"bottom",title:"\u7AE0\u8282\u6570"},x.createElement("span",null,x.createElement("i",{className:"iconfont icon-zhangjie1 font14 mr3"}),x.createElement("span",null,O.stages_count))),x.createElement(X.Z,{placement:"bottom",title:"\u5B66\u4E60\u4EBA\u6570"},x.createElement("span",null,x.createElement("i",{className:"iconfont icon-chengyuan font14 mr3"}),x.createElement("span",null,O.members_count)))))))})),!n.length&&x.createElement(A.Z,null)))}},9148:function($t,Qe,ae){"use strict";ae.d(Qe,{jL:function(){return K},w9:function(){return $},QD:function(){return tt},cQ:function(){return U.Z},op:function(){return xe},O5:function(){return Cr},_b:function(){return cr},t7:function(){return _},Gi:function(){return Le},YG:function(){return me},qp:function(){return c},vr:function(){return Nt},qE:function(){return je},Je:function(){return r},wb:function(){return k},cq:function(){return De},tp:function(){return n}});var ee=ae(59301),te={flex_box_center:"flex_box_center___NeSU8",flex_space_between:"flex_space_between___ImTGl",flex_box_vertical_center:"flex_box_vertical_center___BtRd9",flex_box_center_end:"flex_box_center_end___qcLe3",flex_box_column:"flex_box_column___Ze_3q",banner:"banner___PoUBO",content:"content___XoDjy",btns:"btns___Pb35j"},X="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAE4AAAA0CAYAAAAkEw66AAAAAXNSR0IArs4c6QAAGNVJREFUeF7VmwmwHVWdxr9zuvvu9+3ZXsxCiNkIQZOwEzMgyADjggsWgzPqOAJaMiCjYiGKqDBQAo4iWGAxA+ooMm7gBhSyhBBRIIBSAQlrHuTt7913t97PmfpOd4cXlLAFGO6rW9237719+/z6+6/nPIHX+XHttddaex38nlW2lLO1svq1wJ4aeFMM9CqFnNKoaYVapDAOicfjGEMKqKk2nrx59Lbt5xx6aPR6DEG8Hj/K3xwY0YtjSx2vYnlspLEsX0BRKUBrINtyX+PZp0r3fR+IIgzFSo9EsahFUfSHWIj7Pa919zvf2vlo+rFXdWivObjHJvR8S6vTJORHckV0+4GBAF4InwQlBCAIkEMXgCLA9Mn9WCef4ft8HWkgVIDn6ckwUA/HQfCzoFX71TsP6n/41aL3moHTWotnJnGysPEFx8ZcAtMqGTjh2NmVTL+iDB6BZurjsRSe2SogjhNwMZIngbZbqgXom8N26/KjV3femB7ebRxfE3DbRnW/k8c3LQvv5yCjOFVVqhgCyNnJmAhoxyOFasz1OeCM2lLTJryI4BQQUn1RAhI24Lc1dBjc2K6Nnv2edfP+sLvIvergxqb0vpHA1fk8lre9xBZpZsYKU9sMYiDvAHKaqU4HuANcZrIpcILiezRdo7z0aUw3BoJYI4gELAeI/bjZmBq9+PGNd5x/+unHua8U4KsKbriujxUSV9gW+rwg9WPTfpHgpEgUQgAFJwU6LSDwjSxA8F2jslSBBJaZKwVGJRv1pSAJLyQ8qlwLOA4Q1us31Z58+OTj3rX/E68E3qsGbmhK/6Nt40oIFMJwZ5URFh/cZoGgHQKODeSsaUEiA5iSy6IqYRnfmPq66YojPILbYbqpGXuhRhRrFPMSUaP+6OTAtuPff8ze97xceK8KuJGG/oBl4XsaKMTTsiwDKVXZjm1qsgRBU84TXi5VXqo24/syP5ce2xEg0gBDeAZWFijo79JnpLQxXSo7iICiIyD8qUfdxuQRRx24x5MvB95uBzfW1G+XFn4GoMMojQNOYWUK45b+jG9mW+PvFNAKEkqVYgI583VZcOB7WRrCqGwiaQovU1lAlaXKM/BMQNIGbN0FLGh0lySCVv0OP3aPOnKf2a2XCm+3ghuc1AvzOdwmLSwIwkQlBoxMtgZYCkvwQLafBYo0l2v6gBcCxRxQyifwM9PckRCniXIGbjo8wiI4bgnRRFul0XAZMABbaggVoytvo12vff7Qt/Rc8LqBm5jQndrBr3MFHOwyemaJbGaaAKzMp00zV2O+6VVnSTCPcYCNdrItEGAOcKxpVUQKLjPZ6VHVgEuf3Kf/rLk0Y4ViTpiAEUYKJaEgVDg2OTq1+j3r5w68FHi7TXFDU/El1Yr8VLudDM4IjUpLVWW2Mg0GgubybATNfN/0C5+eqjQ9oO0ngAmR0ZF5X2bKjLRZBUFgNE03AKhcPqk62wJsm+qjvyM4Aa0idFN1zcmvHraq90uvObihqej4YsH6nzCEyHwRB0WFZeZJ05xupsZSp6sty+2mXX2a/5rP0fT8MAHRZpmWph48J38zi6xUF1Vqft9KAg2BES6PmyChGGFTBVJ1kb/dq7XeeuTBs0deLLxXrLhHn2nP6+4s3Gk7Yl6Q5mpZMMjAGWjT0o+dgkR6BVnUzJSW2PpzhpHVqIygdPiEET3rzwiHP2QCSlrjUm1epE0el+R1/E6SmjDa2nGEat5Bu9089bC9O7/1moDT0GJkMv5eR6f1oVY7MRfjp2SiNgOO5pkFBpnkadmD/qflRrAtiUrBhJFdPnauJhI6SU6noXSyb2BmUZUqzYKEqSSSZ6SUSU34WagYVUsg9N27R7DtkONWrmRcf8HHK1Lc4EjrqHJn6ZdxBIsXkXU2MqVZqU/ja5ZU/MyWR5/Bps1/wfD2p+G7TUy1QziWRHfZgVXsREd3H1YtnoW+vl709nSjv7f0V4MwPnRaRUGlxSm8rG7N0pAMlim/CE4Jk+tRbTxmAoYK4Qit/Mhb9/a9eze9ILW/YQwv5jvmM/fcs720YMnMDeWStabtJrmVUVaqtsy3sRqgAm+96yH85qbb4DZqWNjfi57uHlRKJViWjSCM0Wr5aDRaqDebqDeaqLkRLFugp7OIQudMrFn+JvT3z8Ee8+dgVldxp+tkpUB42ZZgqLrEnyUq89MkODkunjVVoREFMao5G367een6lZ2fejEQXrbiBgbbn+qZUbyETcWs2KZ/Ynsoi6aMgEPjLVz6Xz/B1OjT2P8tyzB7Zm/i6IMQYRghDGk2ielkLaKIPiiM4PshGk0XzWYDU40a6m6Ickmi3N2Lt+y1B5a+eQ+sXLIQM7rLxi1QiR47I2l3xPizFFyitsQnmqhq8juNks1go2BrDRG4WwMv3veItT1TLwTvZYH7w0NP9y7sn3NPqSgXMiCYRuNz1MbE9eEnRnDhpVdh1fxu7L1iCYIwghcECKMYUfaMY4Rh8jogxJgQNQjP+CECpUK4H8bwPR8tgmzW0Ao8lEsW+vrn4sA1S7Fs2VKsXDIP1UrO3BymMD7PEwvj6wJjnjTTJFAEsUJOJj4y8iMUWIfE8bp1Kzs2virgtg23PtHTV7os9JI0wASFNPWg4vI54LGBMZz/je/i71YvQv/sWXA9D2EYIooiAzCOYoRxDM/z4Xo+PC+Az2MR31NpkU4fpKGUQKRkoiSCjCSiSCAKVPLddgON9hQsK0TXjA7su3YVDjt0Hdbu82ZzbQYgVZb6OJOW0GQjZW54XtACInTkHXjt5kXr9+r4zG4Hd/bZZ8uTTz1rY7liHxiHiR9h+sFAQHNxJMulCGed/x2jtHlv6ofruogILaZpEl6MIAiML2u1XQRhaIDxeKZGqoEAObgoTkBGkUp7bvRRfC0QRpZRkYqk6SjHcYDQryNXVNj/oLX4yIc/iMULZyVVSFr0GxVmlQWDg0xSFG5j372rV1fXr1wpdhldX7Kpbn2mtbqrs7jRkqLIC6VDzgIBwZUKwGXfuwFjA49g331WoO26CSwDh/BieK6HyakaPM9LTZbv0WQJL0r2o9ioMkhN2gDka0JkDhYpExW1FtCQEMKGlg6gbWhTxjPFaKBvZgUfP/njOHz9WrRS5QXG9AkvzeXoHxXrVw0n9puxEm8+dGVlaFeqe8ngBifiT1Y65aUha7+0+M7Sj0IeeOixYXznO1fiHQfvY1REs4wiBoIAcRQZkBOTk/B9P1GSCRBBoraQn/dTmDxOiATGLV+nioxjA49wINjAY4YtIaQFwX1hQYtkn/AtW+Okfzsdf/+OA9H2Uj+XdoiZltBebaGh2a9DrONYvfdtK8q/2L3gaurXxaI4WqUJJH2ETTPltVsaX73wvzG7IjGrrwce4RhoieKCMMDY+LiBZ2AwGJjAQKg0Sx6jCrWBmQAlTJo3vx+ZvIvOXLBEEAJCMPFNQrkBBwnNfcuGMFAFlIqRyxdw+he/gv1WL0PDTftzSicd41jBYaURa/SUHLTrjc+vX9mxy47JS1LcpoGB4qKOuZvzebFMpyUPT0BoTD023P0wfvWL67DfPsvhut4O80z8Woip+hQma41UWVQRDMwEXIQ43Se4OApSYEAYeAijwADSmp1RghPGt3Kb5MMJxEx9VJ2QNu8mYNlQUYj+hUtx9nnnolIpw83KrrSSMOCURmfOQejWr37bis6P7DbFba/ptZal77SlyPFy6WC5ZedBKYWLLrkKs6oOCvl8AoR+zWwjeL6L4dFRuJ5CEGpTsEeBQBD4iFWMWEWIwjpU6Ca+kNswNll+zCgECSkcKM02CQtS/nK0oxPDFDzRIYFSfYRIcFRfzgDktRz7z5/E8Scci7ar0g4xc0aePen0VaSAiLxHutVTe6/cRfn1khQ3OBEdU6xYv4oZbzjJopJISrX96aFtuOaH12D5ogXw/QABVZQFhCDC5NQ4xienEIQCbijh+RKTvXPhVYrIPTGAXLOOOJ4AwhAxzTKomTTEdHy1l/guc5voWTmXSPWFSVAwf7FRH83YuD5jxgQooS3HqE9Bomf2fJx9wcXo7KjAp3swLSZApjPeJUvDioLBkttYvHZtf/v5VPeSwD09Fp9Z7pDnEhzvD1MEqo2d2ut+swEPbr4fM3p7jIqYbhjlBKHxdcMjQ0ZtXmjDbSsMLFqJx048AWDWv/kvWPjNy2DXB5hXAHEIpZqwZNVct1INSFkyoJRyE1g6hjaFnp2IDyrxezqFaMClHQdjsjljsrzuk8/4Cg46ZF9zPQYc05k0qpYswFH+uCW9VYcsm7F994CbiL5fKlkf4lyC1nSswnRlWcBfftVP0RgZRqGQR2jKKd/4JZrpxOQExicmEIQWvDCHhu9gyz99FN76VQCt0AZmnnUxSg/cAUuGEKoJaBdSZjVpBCk7EnDahxRlKHCfjbccNPMis29mWSGMH6TqNKQxWStJVayccQvrjv4ATj7lRLTcpL1k2kym0GUJJlASvuvo6JADV3RtfsngbtXa3gsoBA3k3Rakb8GtiuiaUtk+xveUqRjoU9gmKuYFLr/yGkwMjSBH5xrQ4dNPBaYiGBwehOu24QUCXuhgSnTjsTPOQDxvRjqjrNB31tdRfvwB5O0cEI9BaA9SVhCpGqA56+NAa/oIC5AER2XlmfdDhT60FLBoxlYAof0UnjLukAo1arPyxhev2vcAnHbWOSaJNmWe6elRCAm4TukrS0XvOGivrt+9aHDba8GaQt56r4A8XADztYIVKgimXH6M7iDUebackzJLIm8LlIsSP/jRz/HU1ieQcywDLnHwAWq1BsbGR5M6lYrzJEZmLsHw5z8LlOm0AWwfQ885X0Ol/oypHRFPwpZF2FYXwngEgoBEHpEaNwpTyJsqROsCgupMtFeshLt8Oap/ug8d998CKQgvgICfRFppm/QEBAdg1oIlOOMrF6BcLsAPlCnHIjPvClQcgW4nhFThPxy8ovPXLwjugaGh8uxyzwXlvPOxsoPC9PUaZpYoLZobHtAMtAEhoVDKSXSUHdy+YSN+d9MGFKm4NK0gwKHhUTSaNZPL+ZEFzwXGVrwNk6edlkDjHMLmrei78DzkLR8W18qoEUiRgxR5xKoJ2+ox4EJVh5B9UDqPel8vWgccAW/Naug5Myk84OkJzDn3FOTbIwacFASXJMSC/XOZhxISHTP6ceZ5F6GzuxNekEb5IKlIOvISvU7AhPiog5ZVbtgluE0DurigHPx4RnfunXQXbNJm8wEZQAYCphDs99c9YMqDKbALtjJNyNGRQVx++dWwtDA5GHMyz/ewfXAYntdE4AfwjFkINHsXY+JzXwPmdptGXunKH6D79uuRzxVhqwBKDSFnzTTRNIrHIQXz+RAxTVF1obFqPcY/ehLQVU2CLG+AApwNGzHjR99GTk0Bqg0pvCQ9sRxIY6o5aGmjWOnCmed/A70zZ8INmCpxbGwoAF0Fgd5cEBVkfNj+Szvu2CW4rUPumTN6C+faCijwxqTTeNmXssV+bM1w9oiqm2wToELgt1AtSHQULVxzzU/w5/u2mKUMcRCg3W7hmeFhBF4rKaPY6WDGJDrQnrcUrdX7wRkcQuXe22HHU7CFgDT+zE/AKR9au7CsPkSqAWWiaieG3nkCvPe9G+DSGQrqwUdRuHUjylvvQS4ahaObELoBAVqFSCsJzto4Jkg4OQdn/sd/ord/Plw/MtAIj5Y1oywxq+DXrThae8CKzq3PC+6ux4dndRZ67uut2nM68sn6jWxtx/QvZebKiWKCq7WAmtm2IZSPGR0FjI9uxxVXfB+tqTokYgNu++AQVOSZ1EErunSWRBXTyYASkLIAbdGnMBhI6Lhu5COlA61Ck39JUTHRVAtO73ej0TMbEyeeBj1vjlGauP8RVL7/A+SDQdiowVF1SN02UVaa2fAkl2NU5TNnC5z+5QswY/5iuG4EN1KmhtWxwNwuBws7w+G85S1ftaBr8nnB3f1Y8/hqtfzDzhzQU0qm0v4WOLam6ecIjl2GWhuYaFF5IcamJtFZtNDX4WDzvZvxv9dej9BzoaIIo+Oj0FEAzSxfhyYSa50W5iAU20RNafIuwmol/k0yGPAGJJ0OZSJqHkqWEcU22vPegua/nAR0dxvVWZv+iI6fXomcrsNRDWhNU9UmAWZoVVYOgsFBOCjlLXzqjC+ia+6eaHsRmp5GMScxu8NCf4eF7qKIRBQ8mnfkz4PQ/83SuX/d2BSbHmne3Fktv72vDHQUEsWxGnjuIwPH3hf93FQbGKnTXDUeGhiCFDFmVHPoKlu49dYN+O1vb4alYozXpqBjggvNBHDyYIHDhJVQ+IiSYolFuXHqBQhGT+VCWiUTGaOYQIuIhYWQ34tLcBeugH/ch4DuXmBkEJXvXoB8ewwWXGiT77GWSBoA9G9cKBcLB92dFZx02umI8r0m9Vszv4QVsx10FYUZu7GuNHeuN1XkB9FN7Xbwmb0XVh/KuIhNWwOvs2Tn+6rCZAecITezU9PWc5i0Ml0JZKbfwsTHDU0Bky6wYcs20w7qrThGeaW8xJ0bN+HW2+5Eo9k0lQT9jWkEMVHl2dnhoNp4VLBc4uI4JrKRAcgEO7HDXFLQE64oGNz0k0pUkvUhCxZDrz4A4tEHkXvwLtgihNSJa0gEQNfAXp0NZTnGVSxeuADHHHcCpJXD+9f0YcUc2zRgn6sXnr9O3yeBlqeGJyfDE1cvKlxvkuvfP6512QF6y8kCFwYHllHZsgSezAwh7ZhyPIRHH/fMJDDWAn72x8dQb7XRVbZNoKgWLBRyAvfe/wBuuf0u1CYnIWVaQ9K5pRMrdNw8v5khM2rjZ2iYVGJWfxJunJbwBGjm0kx6ohj/zQpryyS82lKQpopgI0AnLodmaop9C4rVAwTWH3wgluy9Fh/cbxbWLSqa6idbJfpcS3PNupNkQnuioVrDk976I1eV7xW3b2lvL5eKczoLQKWQrIqk6rIeWwYuWw1kymwFTLaAgQlgsK5xxa1bUGu66ChYqOSpXMss4Ms5EtsGnsatGzahMTaWhutsLWsaug2s7F5nix7S/CKZ/08L+7RlZMqpDJ4hk62JShWbLj805Ve2II9zlCbJQqW7C/sftA4HrZiPUw/vRweD7S7A0a/XXW1SsLYSeGpIbxiZeOpIccufG8dVOys/5r2o5JNVQaw9WUrxhDRbk46k62/5moobbySKu397gK/9ZgsKFlDNSZQJzhHI2xKOJVDISTRbbfzpwS0YePxxxL73rJzNwNJZ62yG2dzydNlOUqVnK4PTdpKRWLqfLe/JPpO9nuZnTFRNyFj5Apbtswr5rpn4wpELcPiyqhHKrhTHsTJ4TLnCWNdgA3Dr/lHiuo2j1XJf7x2VvNiHTbZyBs9OA8U02zcTMjKJrsNTwEgT+NE9ow9864Ytt/dVZVDNW6LsSBT5XUsgZ7P7L5BzbDPX+qeHH8HAlr+YZQeJjSWpwk4P2pdhk05mcHfHa3YyzXKa9GD6mez9hOiOhHjHwjzzOzZ65s3B/D2XolSt7nnh+5a9a0mfZcZLkTz3MrJronVxoQ+ziPEWsL3GXDZ60NjIr/6sjynk8EsHEPRxDBK8E1ztw+k+njhHFTqJCTMl4Qm21eDd/KR7+NePLt35fPnO/8fj592ljz5sPn49rwBUC4mF0bqmp2HZMguKhOC4kpPpF8fNgLEjkPzyz/qzjo3zcwKSyqOfy2avePKuNHgwUjEB3j4FbB1R973/3zfsh9ten/+nerk35RM36MPfswdu2qMDoqOY9BO59jhb6zJdbVneyhSMixPpnphR7BSBr3tAf9i2cH45j9k0Dy58Zreitwr0dSRK5J0YbwJDLfo39eWTDrTOebkDeL2+13e5nnPZfrh/UTdmVvOJb6fq6OsIzziK9H8lCI6RldtMcX46ZbDT9V//oJ6fAz4iBI7VMfYp5SBmEFw1uTNcezFcB56YQPv329qHfPXo8n2vF4BX8rsXbdS/WD0L72ZThfA4NrqiLIdlMGSfjtBYn1Nx9HH1wDQ7Nj9v6/zGB3S5HWCvUlFfvWiGWMYFQpQzzXSoAfxlWD1w0X1y33tPEkyy33CPk6/TBx8yF7f05pDjuIrOzuaaVUoExxKT43a5akFCtVys3+Wcwweu1dbHV+LxN3VhPsEx8jANGfOAh4eiL5x0iHPeG47YtAv+9I3xp9f0yIvLDAw6ySIY/ExSnpkqVcels/x/syLgtXHpx9bhlF2CO/tanVuzHHfPqmJVOf0nNdr5SFP7D02Eb/3iEfkdtdsbFeCXbtYfXlDGueU85iKZsjXZklnpyZdpGmgWFcS4pGsQnzvuOBG/4CzXFX/Qp+zZi28pPzkZHeNIS337X2+Qp+IckWajb1RsyXWffqOeN8tRH+rKyWOhsSBnYyYziiCAa0k8EQKb2kF01acPc3akXS8IbsW1Onf6AnVib16ewqWz21vq9qu2yNPeqL7thW7xZ65391jcV1jE/1qKFcaeCfDwOYeK9D83nv32/wHzrWgvjJ8Q7AAAAABJRU5ErkJggg==",K=({dataSource:nt=[],img:yt,imgWidth:Lt=346,title:Ut,sunTitle:rr,bannerExtraContent:dt})=>ee.createElement("div",{className:te.banner},ee.createElement("div",{className:te.content},ee.createElement("aside",null,ee.createElement("p",null,ee.createElement("b",null,Ut),ee.createElement("span",null,rr)),nt.length>0&&ee.createElement("div",{className:te.btns},nt.map((V,Y)=>ee.createElement("div",{key:Y,onClick:V.click},V.name,V.sign?ee.createElement("img",{src:X,width:39}):null))),dt),yt&&ee.createElement("img",{style:{marginTop:33,marginRight:38},src:yt,width:Lt}))),y={flex_box_center:"flex_box_center___hG6RI",flex_space_between:"flex_space_between___ss3Fh",flex_box_vertical_center:"flex_box_vertical_center___K80p9",flex_box_center_end:"flex_box_center_end___qmXX3",flex_box_column:"flex_box_column___GFV8F",row:"row___aXJjm",title:"title___HUKL0",tagsWrap:"tagsWrap___XB2W3",action:"action___VdHb1",bar:"bar___t1kKC",tag:"tag___V7Eft",name:"name___Hk1Ip",num:"num___xQpcH",active:"active___XryTX",tagsBorderWrap:"tagsBorderWrap___OMxjs"},L=ae(92310),A=ae.n(L),s=ae(89392),c=({dataSource:nt=[],value:yt,onChange:Lt,onTitleChange:Ut,className:rr,title:dt,titleWidth:V=41,style:Y={},fontColor:Q="#6A7283",showCount:le})=>{const[fe,Oe]=(0,ee.useState)(0),[Pe,Ye]=(0,ee.useState)(!1),$e=(0,ee.useRef)(null),Dt=(0,ee.useRef)(null);return(0,ee.useEffect)(()=>{var zt;nt.length!==0&&(((zt=$e==null?void 0:$e.current)==null?void 0:zt.clientHeight)>97?Oe(1):Oe(0)),nt.length===0&&Oe(0),Ye(!1)},[nt]),ee.createElement("div",{className:A()(y.row,rr),style:Y},ee.createElement("div",{onClick:(0,s.throttle)(()=>Ut==null?void 0:Ut(),2e3),style:{width:V,marginTop:Pe?12:4},className:`${y.title} ${Ut?"current":""}`},dt),ee.createElement("div",{className:Pe?`${y.tagsWrap} ${y.tagsBorderWrap}`:y.tagsWrap},ee.createElement("div",{className:y.bar,ref:Dt,style:fe>0?{height:fe===1?97:"auto",overflow:fe===1?"hidden":"auto",paddingRight:55}:{paddingRight:0}},ee.createElement("div",{className:y.tag,ref:$e},nt==null?void 0:nt.map(zt=>ee.createElement("span",{onClick:()=>Lt(zt.id),key:zt.id,style:{color:Q},className:yt===zt.id?y.active:""},ee.createElement("span",{title:zt.name,className:y.name},zt.name),!!le&&ee.createElement("span",{className:y.num},zt.count))))),!!fe&&ee.createElement(ee.Fragment,null,fe===1?ee.createElement("div",{onClick:()=>{var zt;Oe(2),((zt=$e==null?void 0:$e.current)==null?void 0:zt.clientHeight)>245?Ye(!0):Ye(!1)},className:y.action},"\u5C55\u5F00",ee.createElement("i",{style:{transform:"translateY(1px) scale(0.6)"},className:"iconfont icon-zhankai4"})):ee.createElement("div",{onClick:()=>{Dt.current.scrollTop=0,Oe(1),Ye(!1)},className:y.action},"\u6536\u8D77",ee.createElement("i",{style:{transform:"translateY(0px) scale(0.6)"},className:"iconfont icon-shouqi3"})))))},l={flex_box_center:"flex_box_center___aK2n3",flex_space_between:"flex_space_between___HX0Oh",flex_box_vertical_center:"flex_box_vertical_center___LJOJr",flex_box_center_end:"flex_box_center_end___SCakF",flex_box_column:"flex_box_column___AYv4m",tabs:"tabs___GTqPV",active:"active___F26E8"},n=({dataSource:nt=[],value:yt,onChange:Lt,className:Ut,style:rr={}})=>ee.createElement("div",{style:rr,className:A()(l.tabs,Ut)},nt.map(dt=>ee.createElement("span",{onClick:()=>Lt(dt.id),className:yt===dt.id?l.active:"",key:dt.id},dt.name))),o={flex_box_center:"flex_box_center___yX6Oa",flex_space_between:"flex_space_between___t7oqF",flex_box_vertical_center:"flex_box_vertical_center___dEIHy",flex_box_center_end:"flex_box_center_end___taQDF",flex_box_column:"flex_box_column___xY_Lr",input:"input___PW2zI",dropdown:"dropdown___vSy8B",menu:"menu___NiyBu",text:"text___Grueu",b1:"b1___ZKryM",b2:"b2___aKyGa"},d=ae(37568),_=({dataSource:nt=[],value:yt="",onChange:Lt,onInputChange:Ut=()=>{},className:rr,style:dt={},placeholder:V,allowClear:Y=!1})=>{var Q;const[le,fe]=(0,ee.useState)(""),[Oe,Pe]=(0,ee.useState)("");(0,ee.useEffect)(()=>{var Dt;let zt=yt;(Dt=JSON.stringify(yt))!=null&&Dt.includes("{")&&(fe(yt.id),zt=yt.value||"");try{Pe(decodeURIComponent(zt||""))}catch(Ie){Pe(decodeURIComponent(zt||""))}},[yt]);const Ye=()=>{Lt(encodeURIComponent(Oe),le||null)},$e=Dt=>{Dt!==le&&(fe(Dt),Lt(encodeURIComponent(Oe),Dt))};return ee.createElement("div",{className:A()(o.input,rr),style:dt},!!nt.length&&ee.createElement("div",{className:o.dropdown},ee.createElement("div",{className:o.text},(Q=nt.find(Dt=>Dt.id===le))==null?void 0:Q.name,ee.createElement("i",{className:"iconfont icon-zhankai4"}),ee.createElement("b",{className:o.b1}),ee.createElement("b",{className:o.b2})),ee.createElement("div",{className:o.menu},nt.map((Dt,zt)=>ee.createElement("div",{key:zt,onClick:()=>$e(Dt.id)},Dt.name)))),ee.createElement(d.default,{onPressEnter:Ye,value:Oe,onChange:Dt=>{Pe(Dt.target.value),Ut(encodeURIComponent(Dt.target.value),le||null)},bordered:!1,placeholder:V}),ee.createElement("i",{onClick:Ye,className:"iconfont icon-sousuo9 font14 pl10 current"}))},h={flex_box_center:"flex_box_center___tol8o",flex_space_between:"flex_space_between___Z235C",flex_box_vertical_center:"flex_box_vertical_center___Wq1sZ",flex_box_center_end:"flex_box_center_end___LLxom",flex_box_column:"flex_box_column___DbMSN",quickPager:"quickPager___GM30J",disabled:"disabled___Ozc8I"},r=({value:nt,onChange:yt,className:Lt,total:Ut,pageSize:rr,style:dt={}})=>{const V=nt<2,Y=nt>=Math.ceil(Ut/rr);return Ut<=rr?ee.createElement(ee.Fragment,null):ee.createElement("div",{className:A()(h.quickPager,Lt),style:dt},ee.createElement("div",{onClick:()=>{V||yt(nt-1,"prev")},className:V?h.disabled:""},"\u4E0A\u4E00\u9875"),ee.createElement("div",{onClick:()=>{Y||yt(nt+1,"next")},className:Y?h.disabled:""},"\u4E0B\u4E00\u9875"))},a={flex_box_center:"flex_box_center___FO7TP",flex_space_between:"flex_space_between___LotYx",flex_box_vertical_center:"flex_box_vertical_center___bWdaw",flex_box_center_end:"flex_box_center_end___mVJ1o",flex_box_column:"flex_box_column___M83Mm",list:"list___oOsiS",wrap:"wrap___G6T7F",lockWrap:"lockWrap___Rl79E",li:"li___oZZ7l",cover:"cover___b2bYW",img:"img___IQX7w",sign:"sign___HkT6C",name:"name___SsJx8",e:"e___TMqq0",tags:"tags___bcjyo",rate:"rate___YACg7"},p=ae(29787),E=ae(25399),b=ae(58018),w=ae(346),R=ae(51257),O=ae(96908),z=ae(57177),B=ae(81378),P=ae(28426),k=({className:nt,dataSource:yt=[],col:Lt=4,right:Ut,bottom:rr=23,precision:dt=0,wrapWidth:V=1200,trackEventItems:Y,loading:Q})=>{const le=Math.floor((V-(Lt-1)*Ut)/Lt);return ee.createElement(p.Z,{spinning:Q},ee.createElement("div",{className:A()(a.list,nt)},!!yt.length&&yt.map((fe,Oe)=>{const{name:Pe,id:Ye,identifier:$e,power:Dt,cover_image_id:zt,pic:Ie}=fe;return ee.createElement("div",{className:a.wrap,key:Ye,style:{width:le,marginRight:(1+Oe)%Lt===0?0:Ut+dt,marginBottom:rr}},ee.createElement("a",{target:"_blank",href:`/shixuns/${$e}/challenges`,className:a.li,onClick:be=>{be.preventDefault(),Y&&(0,R.L9)([Y]),Dt&&(0,R.xg)(`/shixuns/${$e}/challenges`)}},ee.createElement("div",{className:a.img},ee.createElement("img",{className:a.cover,src:`${Ie}`}),fe.is_jupyter&&ee.createElement("img",{className:a.sign,src:O}),fe.is_jupyter_lab&&ee.createElement("img",{className:a.sign,src:z}),fe.is_unity_3d&&ee.createElement("img",{className:a.sign,src:B})),ee.createElement("div",{className:a.name},ee.createElement(E.Z,{title:Pe||"\u5B9E\u8DF5\u9879\u76EE\u540D\u79F0-\u672A\u586B\u5199"},ee.createElement("span",{className:a.e},Pe||"\u5B9E\u8DF5\u9879\u76EE\u540D\u79F0-\u672A\u586B\u5199"))),ee.createElement("div",{className:a.tags},ee.createElement(E.Z,{placement:"bottom",title:"\u5173\u5361\u6570"},ee.createElement("span",null,ee.createElement("i",{className:"iconfont icon-shixunguanqia font14 mr2"}),ee.createElement("span",null,fe.challenges_count))),!!fe.myshixuns_count&&ee.createElement(E.Z,{placement:"bottom",title:"\u5B66\u4E60\u4EBA\u6570"},ee.createElement("span",null,ee.createElement("i",{className:"iconfont icon-chengyuan font14 mr2"}),ee.createElement("span",null,fe.myshixuns_count))),ee.createElement(E.Z,{placement:"bottom",title:"\u96BE\u5EA6\u7B49\u7EA7"},ee.createElement("span",null,ee.createElement("span",null,fe.level))),ee.createElement("div",{className:a.rate},ee.createElement(b.Z,{allowHalf:!0,disabled:!0,defaultValue:fe.score_info}),ee.createElement("span",null,"\xA0",fe.score_info?`${fe.score_info}\u5206`:"5\u5206")))),!Dt&&ee.createElement("div",{className:a.lockWrap},ee.createElement("img",{src:`${w.Z.IMG_SERVER}/images/educoder/icon/lockclose.svg`}),ee.createElement("span",{className:"mt15 font16 c-white"},"\u5B9A\u5411\u5F00\u653E\u5185\u5BB9\uFF0C\u9700\u8981\u6388\u6743")))}),!yt.length&&ee.createElement(P.Z,null)))},U=ae(10661),G={flex_box_center:"flex_box_center___eMcr7",flex_space_between:"flex_space_between___HcNca",flex_box_vertical_center:"flex_box_vertical_center___ZnvVN",flex_box_center_end:"flex_box_center_end___fdgDf",flex_box_column:"flex_box_column___SEKvd",list:"list___L1hmU",wrap:"wrap___pKgcW",lockWrap:"lockWrap___SMhkK",top:"top___udHSB",sign:"sign___uwRpq",name:"name___Fpf90",img:"img___AMLhL",text:"text___KiTb7",btns:"btns___i6IuZ",bottom:"bottom____k2sh"},C="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAYAAAA5ZDbSAAAAAXNSR0IArs4c6QAAIABJREFUeF7tXWmQXFd1/s59r3t6nX00o93GluV9AQNxiAkIB0OMISFsFQqSAhOohFR+JKmEQPILClJZfpEfIUAChFQSHIJxnGDiDYwsb8KRLUuWZcmSxqN9pJF6nV7eSZ373u1509Mzvd2eGVt6VV2z9Ht3+9459+yX8Bq4mDmWK2GLqla3MvFWZt4KpjVMSBNzGoQ0M6WJkJbpMiNDxBkwMkyUIUYGxCeJaB8x7fMcZ18yiv1EVHy1Lw+9GicwO8tXlSrlbSB6O4HfANAmZlY250JEHsBHGLQTzA9H3chDfX2012Yfy9HWqwJgZh7NF6vvY/a2gWkbgyeWY3Hq+yDQcRA/RKQeSsSce4jo9EqMo50+Vy3AzNxXKFTv9MAfB/AuZo60M7Fe30tEZQA/UqBvx+POvUQ02+s+O2l/1QGcy5Xe6Cn1SXj8YYAHO5nU8j9DM1D0b8rzvpFMRp9a/v4X73HVAJwplN9GHj7P4NtW0wK1OxYCPcAKX0rHI4+0+2wv7l9xgHPFyrs9j78A5l/sxQRXrE2ix5SiLyZj7v+s2BgArBjA+XzpzR7oq8x880ouQK/7JqKnFfiziUT0iV731aj9ZQeYmYez+fJXiOguZl72/ldkkYmYmb+eSkT+lIjOLOcYlm2BBcx8sfoJz+O/BHhkOSe5evqiaaXoTxIx55tExMsxrmUBOJ/njVVUvgvmW5djUqu+D6JHHbgfTSRostdj7TnAuWLlDq/K37pwqXYxCGlaOfRbyZh7Xy9B7hnAzOzmCpUvA/jDC2WvbReogE3/TTLufo6IKu0+38r9PQE4n+f1VVS+B+ZbWhnEBX8P0Q4H7gcTCZqyvRbWARZHQLlavp8ZG20P9rXcHhEmI07kdtsODasA5/OlX6gy/dfF/bbTV5GmHeL3JBLRxzttof45awCLRYo9vpuZE7YGdyG2Q0R5UvQBWxYwKwBn8pWPEPg7IlhdiKDYnrMIXAz6WDrh/mu3bXcNcEC5P7wIbrdQzH9eQCZF7+2WkrsCWPZcD/TgRbZsF1zTmrBrBX5HN3tyxwD7YTOVRy8KVL0Bd65Vmo667q2dStcdASx6rofyjouqUK/B9dsXFUohcksnenLbAMtemy1UfnrRiLE84NZ6IdqRirtvbdfi1TbA2Xz5r5j5j5Z5ehe705RMf51KRP64ncVoC2BxHLDH9/batlz2gJPnFc7PArNVgvjViABH6Zhm/ZErQoxkH7AmxYhHlsX71s7aWr9XbNek6M52HBQtA6xdflx5pldCVaEMHDuvcK5A8AjI5oB8EShXgEoZKFeBSgVQCohEgKjr/4z3AUP9gCIg7jLWpBn9fa9lsMXa5d7UqquxJYCFYrOFyk964c8V4F44oVCsEs5lgfNZIJcHPMFIk27wU0sbof/V0UcyBgz2AyMDQDQCbBzwXrtAEz2airu/3ErQQEsA5wqVT3qe93WbPKfqAS+eUsiWCWdmgJPTQLVaB2gjw6oB3U9B0azbsGz5XV6KsWFg01pAzGqXjniIua89ilZK3ZWMu99ohklTgP0YqsqLNlnz+SJh7ymF8xkf2JKEkFu+BOx1Y8CGNcBAH2P9gGe5h5VujqZTCfeKZjFeTQHO5EpfA/ApW9N5ZYYweU5h6jhwPlfHcpux5Ha/BxCLAldfBqSijMtHX2sg4x/SyejvLIXNkgAHoa07bEnNe48rnCkQDr8CFBokehh2q1ntIizYsOVG3y/g6AH7dl3gykuAvj4gAkahSihUCCVP9nryJfNgj1dguIrQ5wKJCCMZZaSjjOGEh6jV9LbuSUb2YAW+ZamQ3CUBzubLT9mKW95zTOFkhnDoqC8NL8clL0oqSYgnCSoCVIM92580axAjji+BuyqQ4RgQOq8wUKrK/0jv83Ilo8BQzMO6VBUDseWYQfM+JO46lYi8cbE7FwVYZxxUvf9u3kXzOyZnCIfPKuw/FAhSgcxTz3GbyFQLpOh6Ics877qE9AAQiZEGSyJUI6JGOT5VxlxocEWvdgTcAGQBUtQwWRTDTQTkYhXIlQnZElD2fMBjDmMizdjYX0VkhSlbOepXF/M6LQpwJl/ebiOd5FyR8PxxhQNHgGKP8+9EL04PKU2tAr5LjIQLJB0DJmswDbACpuP41KuBFYDlEwBsKFdz72ClZqvA2SJpI4yALc+PJ6rYPCDSevOXvSd3EG1PJyK/1KjthgBLIhg8frjbwYgq9MRhB5PHgXOZha01k5nq9d4FalEgowk4/UMKTp/fR59iJBX0nqkBo8ASpsGVPdYHVD7yuwY8uLcGcrAyNZCljbopZErAqQKhWPGB3pD2cEl/RUyK3S5d+88renujhLeGI8nmyv9rI8vv+aMKh6cJk8eC8Tbjye1Oi4BEkpDo91lxVDFSjghS/lVjuQZgMXc6DDdgxRrYEAWbl0GDHwC6FMBmuLkycKJAKFUJMQe4YriCwdjy6t6S1ZhKRn6l0TY37386Pxd4st21rr9fWNnTkw72HeyNnit7Z/+YAsn+CUbaBWJ68wzADbFZQ8GaJSuex6INy9ZCVmDvNkBLW2Y/DrPpxdbmTBGYLhCYCBvSVWzury4rNSvgTfX5yQsoOJMr/T2AJXWrVsDfeUThldOEoydbubu9e9wIYWBUFtJnxwPOHPuct28KyHWs1yHWVCsgCgULwAZkDXBA3ealaAdgmYWoXlNZ0vtzfx9wzUhZ97NM19fSyeinw33NA1jKJmTzlePdZtaL40Cod8+BQGq2OLtIFBgcVVrlSTiMtDPXeHgy+ndDgYFkrPfZEBUb9cgA7H8X7M/B3m0o17QXNLvkjGRsx/OkJW+R2q8erWjW3fuLZlIJdyJcTmIewPl85QNV9r7X7UD2nVTYd4wweXTplpoZNuqf7osB6WEFD4xBw5IbdFG/b8rfMlENoKZQn01rISvYg42qNPcSzLFneRH0FWL/razR6QLh7KxvNLl2tLwsUrZD6oOJhHu3Gd88gLP5skRH3tnK4Je6Z/tBBwenGkvOnbYtHqL+Nb5DeFgMFK2wPSNBB9gYdu2zaNZg14QsvZfPl6r1ixH+NFCfms3nfBk4lSdEXcK1Y2X0tTLuZo0u8T0R3ZtKRN67AGApVZQrVI52W81GDANPHnGw64XA5RcaTODsWbSswGJCthguhsYJHjNGWwXXEJ0BSChYfjdsGKzB05Qb/M/swWGVSb8MwbMycNNGeG9uhse5EnC6qLShRUAWga5Xl1T/ScbddabEU42CbbkEX55W2DtFONAg87WZltToBZAFHV4rbBkYiDASLSzOPLYUAtgA6APFvkFD2HQAvBikjSQt1C036BdAKDt4EbSEbQwjIQNIM8BEXz5fJu3Zunqkt7basCuxthbZfOm7zPjNZgNt9v3OSYWXpgjHpxf655sB3Kjt0XEhLyDpMvrrBZVGqmadXlDbPo3QFLJUacOJYuhce+NXDu4z0nRY0hbDiTgu6oWxZmsi30sXIniJk0NUKDGK9Ooiwr+kEtGPhsQGCZEpH7NRQc7sv9PnlgzA0HNrZslKpgnxftKq0FCHZkAjYEl/AkxNWBKngo4aYWxdR7h8Qr5f3AJVKDF2H/FNnZHASSHgmz26FbCkv6kcoQrCVaMVpHsUiCAV+VLJyNoawEHtxz2tDLLZPT894OClI37oTTeXcoHRCaUdBbLvLrH2S3YzT481+CrA84CKJ2oc49feRHA1T176+vlBT8eGxSJ+PJgxc7ZjmRQ9+WiOEHMJ142WemYIibqRqyVYXs8qkyv9HoCvNptgK98/+rKD3S8CxVIrdy9+z8ioguoDBiOMePO1X9hQ6JkwFcuNQkns+UaJSpnx4V8iOC28QY+/6KFSBeIxaJVHuxoDo0k7sz1bIpwrETalq5hI9oxVfzadjP6dD3C+/B9gfn87g1zs3u2HHDz9/CIGjmY8OWhUjBlD4wpR8lWijq6wcyD4XW/ZQTBfqeJHbM5WGB9/W2sA/2yvp6k+0Qckoj6rNlaxdsYoe/8reV/6u3GsBKcdFtBqR0T/kU5EPqABzuZLLzPjklafXeq+n73s4JkXgFIXFDw2IdIMMBbh1vTdRgOqM0roNQwiN8TLpcEtC6dhfPK25gCLivbALtZUm4wDcQFYjCQdbh/ioDg1q3TwwIaUfSomwqFUInqpVOiK5QqVnK16yz854OCFg/LSLBSi6nFopBaJnXlkgtBHjCEb9WVDDgPDmiVao6zBBUR4+sztPsAvHmU89KwvOMn+KuDJfhuLsLZ7y/8kPFc+ArDEZndCwWYdROAShnLjmjKUZSqWetfJuJuk7Cxfx5XyszaoV9rQQtYkMD3TWYsjYwQ3ThgV6u1k7w11G1aRTJy1sEfJnBAOU5DPLOOzd/gA//wA49+3+/ZoAU8C9hIxRqoPSCeAlAG3zwc+2uEebIaYKQPTswqbByoYj9t3L5IbuZ5s2Z/NoB9/WWH/FOHY6QZ6cIM45nAQnbQxsVHpSIzRaGcvSPgpAViANTZvEazEEWDYswB8+QTjnTdKGA7hbJbx7YeBM1mgT8CNCqjsAxuHTpOR/Ve+kxfA2LE7JT6zF8vLcs2wfeOH2KUpVyh/3vP4i90vp9/CnuMKe15pbMlqxqJF700PkdYPJSKjkyvs9dEB8SEjhuy9IgUbAeuWrcC1m+aziVKF8cOngJdPCKA8n3KjQFxYdjRwMYZiuToZqzxzukjIVwnXj5T1S2PzUoq+QNl86dvM+JithjNFwtOTCk8+17zFeqF6fK2CijLWRHyvTzeX5gwBBUs7QrkSzSl6rLDW224A1gws3snOA4xnXvapt541a0NHKOynm3FKQN+JosLGlIeJpKR22LuI8B3K5sr3M/id9pr19+Fn9/sJZK3mFkn/Gy5ROjpj1IJwpfdcAVhin4U1e6ISARMDwLbrhAqbv0FHzzCeeInR5wCpuL/v9sneKy9gyG/czdrJMEVlSrmErcN2UzwI9GPK5MuP2U7mfmZS4YVX/Bjo8LWUGizS85p1hGSdE7+txTP6bqAOCRVrlajqS83XbwbecJnOs2252fwsQ6hZ2pFMRtl/ayG3gamy5cYWufFkUYLwCTeNWbZsEe2gbK70LAPXdTvI8PPTeYKA/OTu4L9GQFzCXzgwAKSGFIYc7spnKtgZdUgAFvelsOZrNwE3X946sOH5VD3Gjn2sbdkxAdmCgBVuX9yJ58oKVw1XkLSY50zAc7IHWzNyhAf96AEH+yehpelWrjVjhGiSMBZlcR51fIUBFoFKqFcMGrddD1w63hnAMpgn93uQUCRRmbQU3aWKFJ5gvgKcLilc2l/FSMye0UOMHZTJlU/bzBw0Az+dIzx3TGHHLn8PbHZt2KSgHMZ4N+qRsVYFrFnSUWXfFYPGO28ELptYCHClyrjnCeCJF32Hxi1XAnfcLFLy/Hu37w0ADqxYhoprHqpmE1zie9HLjxUUxpNVLWzZu2iasvnyLDN3s6yLjuexgw4OHAUOmbjoJUa++RKlY5bFc9TxFQZY2HPZ/+RngXe/Hrh87UKAv79DTJDzA99Fwn7PG+ff+8huD/kS0C/6cNwXtsRUaSNiUnawyRxhKAZcNmBPHyaiUk8Bzs4SnplSePw5P5uwfgsOC12XvE7BdRgjXfDnmr3ZWKvEHBkAfMfrgS3rFgL8Z//M+gUQsIxrUSTmP//Q/Hsf2OXp+/qTvtokurCoSyaeuuOXMnjwlRwhFSVcMWRPktYA94pFmwnvO6EgyWdPPOdLtDUvf92KXHKZ7z3qxLEvL4oSyVli8uTEQckOrPgClrxYuSLjzpsJV6xfCPBf/AvrPVrAMi+gWKw+5/thatf9z3g4XwAGk0DaOBsCn7D2NNZnQrSJ+NG8H30pgpa9S7Po3ghZ4UE+dUjh+DnCzr3zSy6E77lsi9KpJ+0ArM2QoRIe2lsURGr4rkDfW5QtAu97E+HKBgDf97RIyHMAS5ti4br9pvkA3/e0h5k8MBAALGZM0Yd1THUQ01XLoOhAljteJN3ONRbjtbSQ1Qs1qf4NFIqS/fjISWDfoSDZuq6myqVbFGLi/zXSQJ3tPaxpSfvakCFxVAFXEEuV1nsFYDFJGndghZErAO+/hXDVhsZC1oPPAruP+C/LdZuBt1+3UMj6wROM0xnGQMKn4Hk26SDHycRxmQS2dijxaIEQUaQzIWxdWk2ylSbabFCirkim4akZ4NmXfBDCe/DlW5SOvdJOBpNxv0ijJiPfUKuxVA0lgY0jvgAkL4BsCcb+fOm4sNcOSCsYw6GTrL1P2gccfKTfmTxr27b8XwcAhCxcbdhTMCUsOgJcPWSRRRM9JqbKHzH49mYA2fheFuSpIw7OFYCn9wRhPQHKW7YqXdhsIsicr0VfBB2HKdgYMgyI8vKsHwLeek17Viobc2Jm7J1iZIq+AaRmp24zlMcXsoArLAJMoPutOxtaWbTnjymcLRB27YcOr5Vr6xWkY5Q3JedaMKCaMknyjfEQyXeyzwqFFivAnW/ojkJbGfdi92SLjJ0HWbsXta06FAjQChXLnCbzhOE+xusG7TkctLPBtruw1YU6lSHsP62QLQC7DwJrxhWqirFloI5FByjXtuTQPlsTpMrAb79t+anXzFWo+Me7WEd6yN4sTgmTEtMKwBL8d7ygsDZZxXqLhg7tLrTt8G8VYHPfoWmF4znC0TMKmSrwun5PmwH9sjfBj9CebGpVihnSWKlyReBTv9KhA7ndAS9y/z1PeugPoj5MOE+rEZe5ih/ZIUaOIYuJ49rhbztkp5P1kr10+wEXB2cIG/s9DPbNVa+rUYnZi4N4ZpGShTVLPctMAfjM7Z0BfOgE4+cHgfN5YP0ocOtVrbkS6+f5b9s9DKUCCTtg1SbdpdmazJT8tJZrR+xmIOqQHdtBd80ms9j3UtTkP3dHMBpnbOpnQ8C1MoXmOSMxi+QqUq2w+Ewe+My72gf4wV2Me570JV/tpPB8gH7/DmDNYHsS93d/4gNcs3QFOnIrtmrRgUWWuGmNPQm6FnQnC7ccxo5WgL/72QgqHuPGCV4ArBG05Kdmz2UgN+sDfDYL/O672wN4aprxt/fMpaEIECacdt0w8Ad3tgfwPz3kYbQfWk/WwQFBWG0zgEWNFwl6oA/YMmgT4CBsVhY+ky/fDebfaAWEXt7zyAEHR2YUbpjwEHfnDCI1cg4iNLQLMGDPYj48m2kfYKHeR3b7QpGoNgZg8TzJnv4XH5bvWgf5Hx/0MNLvmzLDADdzRuSrUqlH6XoeaxIWPUnhwHebqSvdvABTM8CDByLYMMDYPNA4jNQYLjQQs5J240dBtsuif/A4Y9+UgMFatRGAhTMUSqT39N/eBmwYaR3gbz7oYTQNDKR8Z4REf7TibZJojlmPcMOo9bzhudQVm8ln3QAsz37vWVez5zdvDAEc+tUALM53EbBmAoA//c72WPR9TzFePsma2kR/FR1cABbqPZ8nfPhWYP1wewCPpIHBNgAWs6qwZynWstWigUPWcV7ymd6HLaWPdgvwzikHe04oXD/uYbjBIXnzKLgInAsAvqtNNen+ZxiTp1mrNkJtYkcWwU24grT5628mrG0DYM2iDcChPXgpFi2hOjNlhcstq0cL0kcDQctKAni3AIv/9vu7I7rK683rF7LpBQAXgDMZ4BPvaI+CJc/o2FnW3iHRW8UTJHu7ULAIbe+5mTAx1DoFf+thD8MCcEjIMtV7Gq2JCXqX6gLXj5XbCgRstsYNE8BtlXBo1nkr3+84pPDSGQc3rfMwUkfFJq9XVCRh0YaCP/QWQryFUFjTv0RonJzxU1I0BSs/+kMoeCbruwvHW1SVJL/p7sdYAyxStE5Oa6ImCfWeLYlwVcF4wm7aSsMSDraKsLQCYLN7ciXgnr0RXQfrzZt4XtEWDXCdFC37sGQoXLe5dYr72R4PJ87DZ9GBkGUo+FweeMd1tGRgfHgOzx1mPH+E9f4rAGtX4hIAy94r3iOXCNePlawmni1ahMVn03bKKDUDsJXv/++4g+eOKlw55mHT4NwT2oMU6MEiaIkeLFQsku8Nl0jUhqScNAf68X0eTmXmwm8MixbOIJXof/kawmj/0u3kZhn7p4Bdh31hTbPn4IURgBfLPJR0lUyZsGWwiuG4RdXIP1upcRklWcKVtkuHgfc8xg/3RFGsspaoE0G2gzZ0BA59baoUVSnvmxoF5GyBtIVL9nJxRsglViqxb+uEMskUjPvClXwkPEe8P1pNEs9UYB0TKpb2MtKelA4O0l5M6SVxKMjeLWqWBOJJW8LujbNBUk8bxWsVKuJYIKTlqAGL0Rtm7ZYshGarlGErFNrKPScyhAdecrXA9cYNfhlgk60gYMii66C6or93SuSGRD4KSKUKaVYuFK9LFjoCJOv9Viq362zBIM9Xx2OJqTJg/aYt+SltSx+Vqm9OlMu0pdNLg7YkXlpKOwi7X6x+R1lYc9Yv43PDSFn7j+1eTUoZSme2ipHaGviuowq7TzgYTTJuWucLI8Yebfbi2QBUne8rlBscpCXgGoAFZDE8SByVpj5x64XSQOV7aVf2YT8x3P+ISVTUJ+nLpLqatvTBXAElS1smrSVc+9Ksg6mwU2afNY9YZs26H6X+Ph13PxNe+wWbjK1ywrYAFl/rAy9FcSoHbB5kbBllDZpJKtPpoKGUUJGEBSShNh35EQiopui3T30+0Pr0tKDAmc4hDgQ4kw1hgJW/dX9BrrGpVGteGOEAus0glMcUSgvXddHFSSukzZGXWXTqh9e5pXLCWtiyVBDcFsiywD960UVmlnDNuIe16YCKg2o5RjfWe7MAEQBsYrfmFSM1Vd5DZYRN8W8twAVCnGlT/5T4MX34g++gNtXwxN+rSz0EFfG0V6pW8HRu9lKUVFyCUuXuqhH75Rq0nNFqQXDNpi2V9LcFsLQjqtOPX3Qhhca3jjHWpX1nhA7eC1ixYd36b3koFCigIx39lai5B8Phrvr2IGHcsHbNBYLgwHDYkC6FGDows1Yhvu5QD2nTgCv7vtTFsl2Lo7bG7ZT01yBbOpTDJsiZWeDhgxEtSIlDQth1GBQTqFeLugx1HsSm+1uVsOPQWQ4B7r7TKngpwjU9arFhcxWF5yrBm1LFQQeGLcvzx/KEfIV0wtq1wz0sDE70WDoReUujtV5U0bN5rI5NkCUT75EDEQjYw3HGNeNz0nWAT8jP2KDnYMZm4o1ipswLop9eysgUqsUVbsdUs9NV36OMa0Z7w5bN7Do6VkfvxRYPxrIJsuzJ2w9HcCLrn4N07bicUGazh87bkvpXx3JySAhhPCkCVaV3bNk3bHR2MJZM0fbRdp0vW+Mnxeu055QDqTa1cRDYNMAd17TsdmyyX5+UksEl2eMJW4aqGLPpwG/EjLo92k7vxZYPp+x2Ieufl1NOdr7i4lxRLEuMSwcYo6mFZxzZ7te0J3vtzKwvTMk5iAMxxpXDlR4YMRrOoLvDKX3J0v7xsrYXW3Rl8T7tOen4xUIjrIWwsYSd/N1G4xXVSYA9UyRUPKkeC1w+WMVo74qL1g3D0vGy0upqciUu9XJIwN6+0w4OTit9rI2rWLsb1yQZ6b7OSxKbPkVHlvMLZ2ZJq23i55LDpzcNVrE26fV0r62ft7UDogMq7tkR77apWdqrMuPwjMLhGQdydqI2TijW8dZyVKzYjyWoT2zBi1URFtYrOrcOrq+I98ePwxbmLwYNOdlsfdrDaHx5D7/S62X7iHdf4OKNVa4804t6Hr0A2bQpOvPRjIOTOYWzRd/VOFel3a9ma8yYNcNJrQSir0zJ/RHJXY5D25BFOhYz5cpcNO2Qe1MiQQ1OxVg4ouaO09AzuWLlDvb4XlsHRi/3AklJ4POzCjkpyD0rjgmlvUQV5uBsYXHC+6BHHKF01npsqo+RtFCcrdv5yoHQpOjOZMy9r9W22gJYGs3my3/FzH/UagcX77O3AkT016lE5I/babFtgJnZzRYqP7VdHa+dQV+Q9xLtSMXdtxJRW+kPbQMc7MfrPZR3MGPjBbnYyzxpIkwqRG5JJGiq3a47Alg68YPlK4++2oSudhdo5e+n6ajr3ionqHQylo4B9im59Ase6EFmbhCi3slwLj4TXgEiyivwOxKJ6OOdrkxXAEun4nVij+VQS+sRRp1O6rXwnOy1pOi9yZj7P93Mp2uApfNMvvIRAn/nIsjdQDH3rIDLoI+lE+6/dtuiFYBDlHz3RXbdHSTClknRB7qlXDMKawCbPbnK9F8XBa9OQRYrFb+nmz23vmerABvpulwt339RhWoPZFGFIk7k9k6l5cV6sw6w0ZOrqHzvojGkRZCJdjhwP9iJntush54ALJ2KwJUrVL4M4A9frbbrZovX7fdiWwbwN8m4+7l2LVSt9t0zgM0AxEHhVflbF/flBbvjtHLot9pxHLQK6jxdupOH2n1GuxpR+S6Yb2332dfk/USPOnA/2qrLr5s16DkFm8EJm84Xq5/wPP7LC5eaaVop+pNEzPlmwJ67wa6lZ5cN4BDQw9l8+StEdNeFsjcLmMz89VQi8qdEdKYlZCzdtOwAm3EHIblfZeabLc1lVTYjccsK/NlEIvrESgxwxQAOCWHv9jz+Aph/cSUWoGd9Ej2mFH3RlkWq03GuOMBm4JLwRh4+z+DbOp3ManhOsvxY4UvpeOSR1TGe1TCK0BiC/OS7APoQwKHqHKtsoPOGQzMA/7sCvp5MRp9aTSNdNRRcvyhSTqJQqN7pgT8O4F3MvArC3uZGKdVsAPxIgb4djzv3EtHsagLWjGXVAhxeLCnxlC9W38fsbQPTNgZPrMRiSgU5ED9EpB5KxJx7iKjFkxlXYrR+n68KgOuXJ6ituQ1E2wj8eoA2McuxWPYuqbcM8BEG7QTzw1E38pBtR4C90S7e0qsS4AbsPJYrYYuqVrcy8VZm3gqmcSakiTkFQpqZ0kRIy7PMyBBxBowME2WJkQHxCSLaR0z7PMfZl4xiPxFdXaKvAAAADElEQVQVlwOEXvbx/3Bccpan8cseAAAAAElFTkSuQmCC",I=ae(59301),$=({className:nt,dataSource:yt=[],col:Lt=4,right:Ut,bottom:rr=23,precision:dt=0,wrapWidth:V=1200,trackEventItems:Y,loading:Q,handleVery:le=()=>!0})=>{const fe=Math.floor((V-(Lt-1)*Ut)/Lt);return I.createElement(p.Z,{spinning:Q},I.createElement("div",{className:A()(G.list,nt)},!!yt.length&&yt.map((Oe,Pe)=>{const{subject_identifier:Ye,id:$e,identifier:Dt,power:zt}=Oe,Ie=Oe.is_public!=0&&Oe.is_public;return I.createElement("div",{className:G.wrap,key:$e,style:{width:fe,marginRight:(1+Pe)%Lt===0?0:Ut+dt,marginBottom:rr}},I.createElement("a",{className:G.li,onClick:be=>{be.preventDefault(),le(Oe==null?void 0:Oe.first_category_url)&&(Y&&(0,R.L9)([Y]),(0,R.xg)(Oe.first_category_url))}},I.createElement("div",{className:G.top},I.createElement(E.Z,{title:Oe.name},I.createElement("div",{className:G.name},Oe.name)),I.createElement("img",{className:G.img,src:w.Z.IMG_SERVER+"/images/"+Oe.avatar_url}),I.createElement("div",{className:G.text,title:Oe.creator},Oe.creator),Ye&&I.createElement("div",{className:G.btns},I.createElement("div",null,"\u5F00\u653E\u8BFE\u7A0B"),I.createElement("aside",null,"\u5F00\u653E\u8BFE\u5802")),Ie&&I.createElement("div",{className:G.sign},"\u516C\u5F00")),I.createElement("div",{className:G.bottom},Oe.visits>0&&I.createElement(E.Z,{title:"\u8BBF\u95EE\u91CF",placement:"bottom"},I.createElement("span",null,I.createElement("i",{className:"iconfont icon-liulanyan"}),I.createElement("span",null,Oe.visits))),Oe.course_members_count>0&&I.createElement(E.Z,{title:"\u6210\u5458",placement:"bottom"},I.createElement("span",null,I.createElement("i",{className:"iconfont icon-chengyuan"}),Oe.course_members_count)),Oe.tasks_count>0&&I.createElement(E.Z,{title:"\u4F5C\u4E1A",placement:"bottom"},I.createElement("span",null,I.createElement("i",{className:"iconfont icon-zuoye"}),Oe.tasks_count)),Oe.is_end?I.createElement("div",{style:{color:"#6B758B"}},"\u5DF2\u7ED3\u675F"):I.createElement("div",{style:{color:"#00B187"}},"\u8FDB\u884C\u4E2D"))),!Oe.is_accessible&&I.createElement("div",{className:G.lockWrap},I.createElement("img",{src:`${w.Z.IMG_SERVER}/images/educoder/icon/lockclose.svg`}),I.createElement("span",{className:"mt15 font16 c-white"},"\u975E\u8BFE\u5802\u6210\u5458\u4E0D\u53EF\u8FDB\u5165")))}),!yt.length&&I.createElement(P.Z,null)))},q={flex_box_center:"flex_box_center___d27mZ",flex_space_between:"flex_space_between___qfRU9",flex_box_vertical_center:"flex_box_vertical_center___fCRld",flex_box_center_end:"flex_box_center_end___ORMV8",flex_box_column:"flex_box_column___PNKtZ",tabs:"tabs___alpa7",tabsWrap:"tabsWrap___aCQjw",tab:"tab___MKLr4",active:"active___nl_4v"},se=ae(25690),me=({dataSource:nt=[],value:yt,onChange:Lt,className:Ut,style:rr={},tabBarExtraContent:dt})=>ee.createElement("div",{className:A()(q.tabs,Ut),style:rr},ee.createElement("div",{className:q.tabsWrap},nt.map((V,Y)=>!(V!=null&&V.hide)&&ee.createElement("aside",{className:q.tab,onClick:()=>{Lt(V.id),V.link&&se.history.push(V.link)},key:Y},ee.createElement("div",{className:yt===V.id?q.active:""},V.name),(V==null?void 0:V.resetCount)==null&&(V==null?void 0:V.total)!==void 0&&ee.createElement("span",null,"\uFF08",V==null?void 0:V.total,"\uFF09"),(V==null?void 0:V.resetCount)!==void 0&&(V==null?void 0:V.total)!==void 0&&ee.createElement(E.Z,{title:(V==null?void 0:V.tip)!=null?V==null?void 0:V.tip:""},ee.createElement("span",{style:{color:"#9096A3"}},"\uFF08",ee.createElement("span",{style:{color:"#000"}},V==null?void 0:V.resetCount),"/",ee.createElement("span",null,V==null?void 0:V.total),"\uFF09"))))),ee.createElement("div",{className:q.tabBar},dt)),Le=({className:nt,style:yt={},children:Lt})=>ee.createElement("div",{className:A()(nt),style:yt},Lt),Fe={flex_box_center:"flex_box_center___e6HxQ",flex_space_between:"flex_space_between___RnXYe",flex_box_vertical_center:"flex_box_vertical_center___lVxPk",flex_box_center_end:"flex_box_center_end___bu8yv",flex_box_column:"flex_box_column___JczGj",orderWrap:"orderWrap___ZfyGX",orderIconWrap:"orderIconWrap___XTB_O",orderAsc:"orderAsc___KWHmA",orderDesc:"orderDesc___rHdbB",active:"active___a7eSP",cursorPointer:"cursorPointer___gs9kL",orderTextWrap:"orderTextWrap___teAKn"},Ke=ae(75727),Te=ae(93041);const We=[{id:"updated_at",name:"\u6700\u65B0\u52A8\u6001"},{id:"created_at",name:"\u6700\u65B0\u521B\u5EFA"},{id:"name",name:"\u540D\u79F0\u6392\u5E8F"}];var De=({sortValue:nt,dropValue:yt,className:Lt,onSort:Ut,onDrop:rr,dataSource:dt=We})=>{var V;return ee.createElement("div",{className:A()(Fe.orderWrap,Lt)},ee.createElement(Ke.Z,{dropdownRender:()=>ee.createElement(Te.default,null,dt.map((Y,Q)=>ee.createElement(Te.default.Item,{key:Q,onClick:()=>rr(Y.id)},Y.name)))},ee.createElement("span",{className:Fe.orderTextWrap},(V=dt.find(Y=>yt===Y.id))==null?void 0:V.name)),ee.createElement("span",{className:Fe.orderIconWrap},ee.createElement("span",{className:Fe.orderAsc},ee.createElement("i",{className:nt==="asc"?`iconfont icon-sanjiaoxing-up font12 ${Fe.cursorPointer} ${Fe.active}`:`iconfont icon-sanjiaoxing-up font12 ${Fe.cursorPointer}`,onClick:()=>Ut(nt==="asc"?"desc":"asc")})),ee.createElement("span",{className:Fe.orderDesc},ee.createElement("i",{className:nt==="desc"?`iconfont icon-sanjiaoxing-down font12 ${Fe.cursorPointer} ${Fe.active}`:`iconfont icon-sanjiaoxing-down font12 ${Fe.cursorPointer}`,onClick:()=>Ut(nt==="asc"?"desc":"asc")}))))},ge={flex_box_center:"flex_box_center___LCi0B",flex_space_between:"flex_space_between___hzONe",flex_box_vertical_center:"flex_box_vertical_center___ZyQRE",flex_box_center_end:"flex_box_center_end___XKM74",flex_box_column:"flex_box_column___p8LCU",btn:"btn___In02G","mediacy-round":"mediacy-round___uveEv","mediacy-default":"mediacy-default___dDxsd",default:"default___K791v"},Re=ae(99571),ve=Object.defineProperty,we=Object.getOwnPropertySymbols,Ue=Object.prototype.hasOwnProperty,de=Object.prototype.propertyIsEnumerable,oe=(nt,yt,Lt)=>yt in nt?ve(nt,yt,{enumerable:!0,configurable:!0,writable:!0,value:Lt}):nt[yt]=Lt,ne=(nt,yt)=>{for(var Lt in yt||(yt={}))Ue.call(yt,Lt)&&oe(nt,Lt,yt[Lt]);if(we)for(var Lt of we(yt))de.call(yt,Lt)&&oe(nt,Lt,yt[Lt]);return nt},ce=(nt,yt)=>{var Lt={};for(var Ut in nt)Ue.call(nt,Ut)&&yt.indexOf(Ut)<0&&(Lt[Ut]=nt[Ut]);if(nt!=null&&we)for(var Ut of we(nt))yt.indexOf(Ut)<0&&de.call(nt,Ut)&&(Lt[Ut]=nt[Ut]);return Lt},ye=(nt,yt,Lt)=>new Promise((Ut,rr)=>{var dt=Q=>{try{Y(Lt.next(Q))}catch(le){rr(le)}},V=Q=>{try{Y(Lt.throw(Q))}catch(le){rr(le)}},Y=Q=>Q.done?Ut(Q.value):Promise.resolve(Q.value).then(dt,V);Y((Lt=Lt.apply(nt,yt)).next())}),xe=nt=>{var yt=nt,{className:Lt,style:Ut,children:rr,loading:dt=!1,openLoading:V,onClick:Y=()=>{},size:Q="middle",shape:le="round"}=yt,fe=ce(yt,["className","style","children","loading","openLoading","onClick","size","shape"]);const[Oe,Pe]=(0,ee.useState)(!1);return ee.createElement(Re.ZP,ne({onClick:(0,s.throttle)(Ye=>ye(void 0,null,function*(){V&&Pe(!0);try{yield Y(Ye)}catch($e){console.log("error",$e)}V&&Pe(!1)}),2e3,{leading:!0,trailing:!1}),className:A()(ge.btn,ge[`${Q}-${le}`],Lt),style:Ut,size:Q,shape:le,loading:Oe||dt},fe),rr)},Ne={flex_box_center:"flex_box_center___TB7bQ",flex_space_between:"flex_space_between___oBlTb",flex_box_vertical_center:"flex_box_vertical_center___b5XbB",flex_box_center_end:"flex_box_center_end___CNhe7",flex_box_column:"flex_box_column___yHXKW",head:"head___ghH72",node:"node___mjPEy"},je=({className:nt,style:yt,children:Lt=null,onClick:Ut,title:rr})=>ee.createElement("div",{className:A()(Ne.head,nt),style:yt},ee.createElement("span",{className:"primary-hover",onClick:Ut},ee.createElement("i",{className:"iconfont icon-fanhui2 font12"}),"\u8FD4\u56DE"),ee.createElement("b",{title:rr},rr),ee.createElement("div",{className:Ne.node},Lt)),et={flex_box_center:"flex_box_center___AlHuF",flex_space_between:"flex_space_between___vN2LW",flex_box_vertical_center:"flex_box_vertical_center___Ac7D2",flex_box_center_end:"flex_box_center_end___y38I7",flex_box_column:"flex_box_column___iQE6P",btns:"btns___sNgTb",confirm:"confirm___Ozirl",cancel:"cancel___aiq1I"},tt=({confirmShow:nt=!0,confirmTitle:yt,confirmClick:Lt,cancelShow:Ut=!0,cancelTitle:rr,cancelClick:dt,className:V,style:Y,confirmLoading:Q=!1})=>ee.createElement("div",{className:A()(et.btns,V),style:Y},nt&&ee.createElement(Re.ZP,{loading:Q,onClick:Lt,type:"primary",className:et.confirm},yt),Ut&&ee.createElement(Re.ZP,{onClick:dt,className:et.cancel},rr)),At={flex_box_center:"flex_box_center___jkpdr",flex_space_between:"flex_space_between___OtsL8",flex_box_vertical_center:"flex_box_vertical_center___rbcb_",flex_box_center_end:"flex_box_center_end___zBR21",flex_box_column:"flex_box_column___nS_eP",fixedBottom:"fixedBottom___oJl7m",wrap:"wrap___A3Oq1",center:"center____VL1y"},Nt=({className:nt,style:yt={},LeftContent:Lt,children:Ut,RightContent:rr})=>ee.createElement("div",{className:A()(At.fixedBottom,nt),style:yt},ee.createElement("div",{className:At.wrap},ee.createElement("div",{className:At.left},Lt),ee.createElement("div",{className:At.center},Ut),ee.createElement("div",{className:At.right},rr))),lt={flex_box_center:"flex_box_center___tY8Yn",flex_space_between:"flex_space_between___vHdYA",flex_box_vertical_center:"flex_box_vertical_center___pa61F",flex_box_center_end:"flex_box_center_end___HyDXt",flex_box_column:"flex_box_column___UjZek",crumbs:"crumbs___V41Oe",hover:"hover___bEIVd"},cr=({className:nt,style:yt={},dataSource:Lt=[]})=>ee.createElement("div",{className:A()(lt.crumbs,nt),style:yt},Lt.map((Ut,rr)=>rr<Lt.length-1?ee.createElement(ee.Fragment,{key:rr},Ut.path||Ut.onClick?ee.createElement("span",{className:lt.hover,onClick:Ut!=null&&Ut.onClick?Ut.onClick:()=>se.history.push(Ut.path)},Ut.name):ee.createElement("span",null,Ut.name),ee.createElement("span",null,"\xA0",">","\xA0")):ee.createElement("span",{key:rr,style:{color:"#5F6368"}},Ut.name))),bt=ae(11938),ut=Object.defineProperty,Wt=Object.defineProperties,Ar=Object.getOwnPropertyDescriptors,Vt=Object.getOwnPropertySymbols,Ht=Object.prototype.hasOwnProperty,ar=Object.prototype.propertyIsEnumerable,or=(nt,yt,Lt)=>yt in nt?ut(nt,yt,{enumerable:!0,configurable:!0,writable:!0,value:Lt}):nt[yt]=Lt,Tt=(nt,yt)=>{for(var Lt in yt||(yt={}))Ht.call(yt,Lt)&&or(nt,Lt,yt[Lt]);if(Vt)for(var Lt of Vt(yt))ar.call(yt,Lt)&&or(nt,Lt,yt[Lt]);return nt},at=(nt,yt)=>Wt(nt,Ar(yt)),vt=(nt,yt)=>{var Lt={};for(var Ut in nt)Ht.call(nt,Ut)&&yt.indexOf(Ut)<0&&(Lt[Ut]=nt[Ut]);if(nt!=null&&Vt)for(var Ut of Vt(nt))yt.indexOf(Ut)<0&&ar.call(nt,Ut)&&(Lt[Ut]=nt[Ut]);return Lt};const{Countdown:Yt}=bt.default;var Cr=nt=>{var yt=nt,{onChange:Lt}=yt,Ut=vt(yt,["onChange"]);const[rr,dt]=(0,ee.useState)(null);(0,ee.useEffect)(()=>{typeof rr=="number"&&rr>=0&&Lt(rr)},[rr]);const V=Y=>{const Q=Math.floor(Y/1e3);dt(Q)};return ee.createElement(Yt,at(Tt({},Ut),{onChange:V}))}},80109:function($t,Qe,ae){"use strict";ae.r(Qe),ae.d(Qe,{default:function(){return cr}});var ee=ae(51257),te=ae(25399),X=ae(96599),S=ae(60242),K=ae(37285),y=ae(29787),L=ae(91882),A=ae(82326),s=ae(45685),x=ae(62957),c=ae(59301),l=ae(25690),f=ae(90356),n=ae(45937),o=ae(36714),d=ae(26803),m=Object.defineProperty,_=Object.defineProperties,h=Object.getOwnPropertyDescriptors,g=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable,p=(bt,ut,Wt)=>ut in bt?m(bt,ut,{enumerable:!0,configurable:!0,writable:!0,value:Wt}):bt[ut]=Wt,E=(bt,ut)=>{for(var Wt in ut||(ut={}))r.call(ut,Wt)&&p(bt,Wt,ut[Wt]);if(g)for(var Wt of g(ut))a.call(ut,Wt)&&p(bt,Wt,ut[Wt]);return bt},b=(bt,ut)=>_(bt,h(ut)),w=(bt,ut,Wt)=>new Promise((Ar,Vt)=>{var Ht=Tt=>{try{or(Wt.next(Tt))}catch(at){Vt(at)}},ar=Tt=>{try{or(Wt.throw(Tt))}catch(at){Vt(at)}},or=Tt=>Tt.done?Ar(Tt.value):Promise.resolve(Tt.value).then(Ht,ar);or((Wt=Wt.apply(bt,ut)).next())});const R=[{name:"\u6839\u8282\u70B9",src:"/images/one.svg",color:"#CC7CF5"},{name:"\u8BFE\u7A0B",src:"/images/kc.svg",color:"#3241F7"},{name:"\u7AE0\u8282",src:"/images/zj.svg",color:"#5e54e7"},{name:"\u77E5\u8BC6\u70B9",src:"/images/zsd.svg",color:"#FFDF55"},{name:"\u5B9E\u8BAD",src:"/images/sx.svg",color:"#4E9DFF"},{name:"\u4F5C\u4E1A",src:"/images/zy.svg",color:"#445DF3"},{name:"\u89C6\u9891",src:"/images/sp.svg",color:"#6BC4DE"},{name:"\u8BFE\u4EF6",src:"/images/fj.svg",color:"#6BDE73"},{name:"\u8BD5\u5377",src:"/images/sj.svg",color:"#2D9534"},{name:"\u5176\u4ED6",src:"/images/qt.svg",color:"#2D947C"}],O=(bt,ut)=>{const Wt={};let Ar=null;return bt.forEach(Vt=>{Wt[Vt.properties.uuid]=b(E({},Vt),{id:Vt.properties.uuid,children:[]})}),ut.forEach(Vt=>{const Ht=Wt[Vt.startNodeUuid],ar=Wt[Vt.endNodeUuid];Ht&&(Ht.id=Ht.properties.uuid),Ht&&ar&&Ht.children.push(ar)}),bt.forEach(Vt=>{!ut.some(ar=>ar.endNodeUuid===Vt.properties.uuid)&&(Ar=Wt[Vt.properties.uuid])}),Ar},z=(bt,ut)=>{const Wt=bt.getParentData(ut.id,"tree");return Wt?ut.style.x>Wt.style.x?"right":"left":"center"};var P=({loading:bt,nodes:ut=[],relationships:Wt=[]})=>{const Ar=(0,c.useRef)(null),Vt=(0,c.useRef)(),Ht=(0,c.useRef)(0);(0,c.useEffect)(()=>{(ut==null?void 0:ut.length)>0&&ar()},[]);const ar=()=>w(void 0,null,function*(){var Tt,at,vt;const Yt=O(ut==null?void 0:ut.map((yt,Lt)=>{var Ut,rr,dt,V,Y;return b(E({},yt),{key:Lt,title:(Ut=yt==null?void 0:yt.properties)==null?void 0:Ut.name,newcolor:parseInt((rr=yt==null?void 0:yt.properties)==null?void 0:rr.color)===1?"#CC7CF5":((dt=R==null?void 0:R.find(Q=>{var le;return(Q==null?void 0:Q.name)===((le=yt==null?void 0:yt.properties)==null?void 0:le.nodeType)}))==null?void 0:dt.color)||"#2D947C",colornodeType:parseInt((V=yt==null?void 0:yt.properties)==null?void 0:V.color)===1?"\u6839\u8282\u70B9":((Y=R==null?void 0:R.find(Q=>{var le;return(Q==null?void 0:Q.name)===((le=yt==null?void 0:yt.properties)==null?void 0:le.nodeType)}))==null?void 0:Y.name)||"\u5176\u4ED6"})}),Wt==null?void 0:Wt.filter(yt=>yt.type==="\u5305\u542B"));Vt!=null&&Vt.current&&((Tt=Vt==null?void 0:Vt.current)==null||Tt.destroy());const qt=(0,d.RN)(Yt),Cr=(at=qt.nodes)==null?void 0:at.filter((yt,Lt,Ut)=>Lt===Ut.findIndex(rr=>rr.id===yt.id)),nt=(vt=qt.edges)==null?void 0:vt.filter((yt,Lt,Ut)=>Lt===Ut.findIndex(rr=>rr.source===yt.source&&rr.target===yt.target));or({nodes:Cr,edges:nt})}),or=Tt=>{var at,vt;Vt.current=null,Vt.current=new d.kJ({container:Ar.current,autoResize:!0,autoFit:{type:((at=Tt==null?void 0:Tt.nodes)==null?void 0:at.length)>20?"view":"center",options:{direction:"both",when:"always"}},animation:!(((vt=Tt==null?void 0:Tt.nodes)==null?void 0:vt.length)>300),data:Tt,node:{style:{labelText:Yt=>Yt.title,labelFill:"#333333",fill:Yt=>Yt.newcolor,labelBackground:!1,labelPlacement:function(Yt){const qt=z(this,Yt);return qt==="center"?"right":qt},ports:[{placement:"right"},{placement:"left"}]},animation:{enter:!1}},edge:{type:"cubic-horizontal",animation:{enter:!1}},layout:{type:"mindmap",direction:"H",getHeight:()=>32,getWidth:()=>32,getVGap:()=>4,getHGap:()=>80,getSide:Yt=>(Ht.current++,Ht.current%2==0?"left":"right")},behaviors:["zoom-canvas","collapse-expand","drag-canvas"]}),Vt.current.render()};return c.createElement("div",{style:{height:"100%"}},c.createElement(y.Z,{spinning:bt,className:"mt60 w100",tip:"\u52A0\u8F7D\u4E2D..."}),c.createElement("div",{style:{height:"100%"},ref:Ar}))},F=ae(9148),k=ae(38986),U=ae(346),G=ae(45677),C={NextAbility:"NextAbility___wLOPq",AnchorDomStyle:"AnchorDomStyle___CG1xj",AnchorDom:"AnchorDom___jjRxi"},I="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAA1lJREFUWEfFl09oXFUUxn/nvTEpbXXRos4bgwgGRYtZCIILhQSFtgEjgnShCNJV05pMqQstpV1UjW6seY1pFERB6EYEJVJbRMmALgqCixTFlgoupjOjUhdNo0068z65w0ycmcxMJmbk3e39zne+d/69c40Oz45P1PPnbwxZxEgkHjQjJUg5c4OcRM4zfpLH7LY7mftxjy13Qm1rge6ZVnK5yLEInkfctha+fG9c8+B0T4Ljvx6wQjublgL6T6r3L3EkEoeALR05Xg1a9IwTm403Lo/bUjOOpgLcV98o8hni0f/ouN7MOL8pwTPNorFKQN+kBkrGGYm+rjivkJiR9T2Gs2N2oZa3ToD78qUi33fbedWhE9Gb4JHaSKwIcDm/LjJdC3ur8BnntxqD1ZpYEZAKdTwSR7sZ9lZcnvFaLm3HKi0M5aK7yeUNVPt6dS9uuoV+l4pyBFKhTkVidL0sG8F7xkwubfvNTbiref7oeMhsxGt9+V/bHnC7BVPaqRLnusW7Hh7z2WWpUNOR2N/W0Jj3jBcRd0fi8zqsMW/iKYzDEvs8n6cxslGJjxAD7Xg945QlJzUHDLbuGj72U+zL7rG/g0k9Jvi2FpvwGcqOWSYI9abEqwaP5w/ad6n3tVk3eE/ihTYiMhaEuihx3yqQIYwDhXGbcXfJk3qWiA+BW1ewxheFtI3cO6M7FpfKXeTuFvDYWxi3Tyt2o4jpMlvDMeOSJUMtILY2EfBNIW1PDs4pcfECbyni5QZM0fN5KDdmPwehZlz462rMOHH/AK9khqyYDPU14okmPq63FGDGuXzadt/1rrZHRU4LdtYSVNsomNYDusk8kGgQ8JXn89yVl+xqEOqsxK4mqVhonQIo4jNSGLOzkiwIOWQwIehxYd7SS/8vo/Z7MtQsrggrx2BZxpH8OG+bmZJT2k2J2UaB5SlYTkG7IjRk8M62gMNuw0mGGkacMXg9f9CO9k1psFjCFfG/x2fYiS5vUAUm5PaJJvmvGGRcG645BQ1+8Dz2lowUJb40mJTHBMLltr7VfIY9UVDEB4KH12zD2AdR7KPYhaiTNKxnxHaCXfkZOXDsv+NKFOJbSJyA2FeyaipiW0qrhRPrWl4VEevDpCoi1qdZbR/H9jhtHCb/1/P8H/hZr0qiHgOCAAAAAElFTkSuQmCC",H="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAA/1JREFUWEe1l19oW2UYxp/nNMmWdO1cZmcSW3TYKWwKoh3MmdBVUOmEDSeINvNGGEwRLwRR0Y12FHF44c2qTvEuCaNCRS+KiJiQP512eOFFB3XzX7FNXVnLlrRL8+e8ck6XmS45OUc9O5fnfO/7/L7n/b7vvB9h8dk1OuVaLF3po1QOqMBOEgGBBLRwgnMimFOA88KWr7zOzfGpZ3cVraSm2aC7Ryd9xVLxuCoSBqTdbPzad14lJeba6DnxxzM92WYxhgDd4xc2rCxl31YFrwFotSZcN2qZ5AetW3zDF/fvWG2UoyGANutCcfULQPb8R+GbwvjDBrf76UZu1AF0RiYeqKA8LkCnPeLXiwLOKg48Nftc6KfavOsAtJmvFgvn7BavChKcdbndu2uduAGg1Ty/OJ+wz3YD/4jJjYGu3t/7thfWdtD1JxBNnlAFx+y03SgXyeFsOKRr6QBri65w0Wi1EyiAvGaUUASbAVGswhNccbnd3VopdIBANP2hKupLBtuk0N6mbJs+GMwZCfijqXEAPSLS8S8gTmcPh45SO+EuFxcXjA4ZkkvZcMjbLLE/kvrY4VBOlSvqd9YhmNvq8t5Of3TiSZHy103qZQ4QTUYgzAO4SyiPQ9BixQkq7GcgkhpRIS//H4DaWF8kqR29PisACpWP6Iuk4oDsu0UAywQ+BRkUkZ56DSboj6amReReKwAyiV4Qz9eNJcbYg2+09zccIPIk+7MDoXTgzNmH1HLpx5vjSP5MXzSZg2CTFQArtuoAxKaquA4VTb0HkTcagOe1ElwFpM0OgEER5XQ0dQkKD2cHQvrC9kfSbwnUdxvnZ862Egw9LN9+EsucEshZCPo7OtqPLCzkXjUW1xuZaVsWoTZzXZwS02reOTrRXSlVPheRB5uWjYzbsg190fSxFiA9Gw7GzW2vQSJHbDmIfJHUZ0fDwSODpNq85uv9UBTlCVuOYl8sdZICHwTXBHgREKfpjiGu3Hmfp8P8Z0SsOkH/TDi0ZJRUWwOJBJRf59JtJcGfAvGYA3BkPhx6xdLvGESZgrJZUiEcEDjMxoHIu+nq/m1gz1//NCSR9JAK9bhpsB0DyMH5cGhIS7W+JVvKxiF4xA6NJgdbxuv0Pla9uKxrSrfHvr+jIMVzIui6FRAEZzweZfcvhx69VM1f15Z3ncncX65Uxu2G0MSdCvfPDASnaifX8GKiO6EWxwTYa4cTJDMet3KoduaGDlQ/6K1a+fKbELze7G/ZHJA5kO9vdW45aXRZNb2c3jOW2ba8Iu8Q6gsC3GbFEa2PFGGk1cPhRrM2LUEjkX1xcVyYT/WqKg8A2CmAn4B+PRdgjoDWip1XqHy5w783meij6bmhxf4NftTdgSGLQUwAAAAASUVORK5CYII=",$="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAsVJREFUWEfFl0tIVGEUx39nZsxoKpGISlqmC42gxwxCEApBUhC0iR7bMLRyhrZRC6Ntecc0CtoVRRshkbKN0iJ0RmtRBj0WLUKLoEAz0po5cWe4zdWZO/czJuauzz3n9/3P6/sE02/qwSp+fm5FM4dRbUSlDqEu+7syjeg0Iq+RwENWbxqh6eiiiWvxNZrq28z870vASdD1vvZZA5kF7hIOddN05lOpf7wB3iWq+aYXED2PEjYLvMxKmEflKrVyhfquhWI+igPkTj0A2vxPgQt+kjHCoSPF1CgEmOzZQVqGQLeWJ7jjRT4SCBxkz7mXbr9LAXInT5U/uAsiHIq4lcgD5HI+Wj7ZvfSTMWqlxamJPEDS6ga9WF7ZPSEuE43ZnUUOwJb+x6/3ntUujBOqPsbOjg+egBNWK6qDRh1jd8eaqm12KnIASasftMPTuXCKSPy2rzrPr+8jnR5Cda2vLXKDaKxTsCfc/MyXkkNGAieIdN3zdwqkevei6UfAutL2Mkt4y0ZhsvcA6fTjksYrAbAdTSaaSeuw7+QMBtuECauPjHaWFcB2lkrE0cy1kn4D0i+kekZQWsoOMJHoIJPpL+2XUSFpvQFtMAZIWneA7Xl7HSQaL2xfEwDkrZCy5nyr1l0DKasdJT+mg7xgd2yg4AAmACLfVw4wcbMGqCqqWM3CIvVd9ioGEwCYM0yBHCcSu591nLLGUY16pGyYaLzNHCCbApMidAMkdqIUv5gE5OvfbWeigNhFaNSGSwD2o7KhqAIhmWHX2afGCmTb0GgQuQCSPc+ASFEAkSdEYoeMAbKDyGgUuwCM5rFJETqj2GgZyWkisVumsXPF6jcJnWVkG/uuY3lFMNhOpsp7HbvpMgsNoPaGbSyequXrOKdCBS8kNkDFr2ROKip2KXWSVdFruQNR0YeJA1HRp5m7dyr2OF3ewP/pef4HW7pxo3nDj9QAAAAASUVORK5CYII=",q="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAA75JREFUWEe1l19sU2UYxn9v2dwGzmSoEZJtRhY1StAQtN2YkEUiYOL/C6LhQtPWLQwXwXAlRKsXcjMUJQzFrUaCesGFjptBREJ0iXQmXOGCIQKJZDH4Z2Jm6UZ7HnNqCx30z2ktJ2lz8p3ned7ne8/7ft/5DI9Xb5dunonzJLDSgWVAi0GTjGlgIvM76RPDzXP5NnLMkl6krRSoe7naUileF7yAaCiFd5+bMYn4pL6Rd3Z/Y38U4xQ0EInId/4QbzhiG2KOl8DXYgwu4mP7mhb61x2wVD6NvAb6Vuj2+AyfSTxWSeDrOMaRulrW7Rm1yTwmZw+FOrQUh4MSzVUJnhUxTtfVsnbPqJ3J1Z2Vge4u3ZaMc8ItsKoGv2riVE0j7XuP2MWrQ5k7953/MsKIxOobEjwjanBozZ08ka2JKxkItyviOLx5I4NntX3GK4Mx253uGPfPbbVkip8qrfayTRsX6htoGzhmU2kDoYCGJIJehAx+NzgsuF+w1AunACYSHbO3zF3hEpe44GWRMWPKxAODY3Y2bdyvZ4B+QVu5Rsw4OxSzRRYK6HmJLzwKHI6O2dpcbN/jqotPsgmxVaLRo04a5jMedA18KNHjkfhldMyey4ft7dKC6Utsl3gxW1ulNH0+tlnQrzHg4VLgzPOCBrL8YKce4jLvA8tLaZqx383ArxJ3lAJ7NXDFSLtew2FHUV3jqIX8Sgjqqm0g013jEvcV1DZOWTCguJcOKDcDLj7o18/AokIGDH50MzAhWFjNDLid8c+f7EBsLKZrxtduDYxKdFbLwMsdejaVor/YzLOxDD61sF8fOND3fw10d2hJ0mEn4lGPWu46sMXCAT3tiK88kYyj0ZitysVuXKVbE1O8Legpdy+pNe6xzPtyl+JbSpowEjVG597jdiLSpZrzCXolIhJNJbnXAozxaMwWpzejYEDvITZ5EjESBj9I3A0s8MTJA/IZmwdjtvO/7XiFFiZnOIOor1SwLJ5xrrWVeyMHbCb3g2SD4zBQllCFYJvD+qHv7XOXPuubMOzXfgfWV6jrjWbsi8bM3bDS1ywDW1Zr3uRfxASLvamVhzLj+Nz5dO0aMfc0db0BdyTs112OMYxYUp58cXQ6+E08tes7+y0XmfdgsrlDDX87DEi8VBUTxr558+nOnXnBDOQGDPsVcox3Pa0R+Zwa58zH1mzB5YeUmOKGR9R0OcmrEiHPpyVj3AcfN7cy4LZasRAlT8dZsiTraaczKVaasUyixYwmxDTGBGIC42QNDH8Us9NeX92/T9xk1NzUiXsAAAAASUVORK5CYII=",se="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAYCAYAAADpnJ2CAAAAAXNSR0IArs4c6QAAAu5JREFUSEvlll1IU2EYx//PcW6JSuRFBRVB1I2Qtk3dh1JSXiVRF1bQXaFUBJ5tFFGCLLywTbTtUAwREoIKvIgI+iAqL3Jf0jYUpKsIiogkAsv8aOs8dWyT09zcZnrVe/m+/+f/4/2/7/ucQyhg1I+4ymeLdK0AtQHYQkT3E0LCPVbnmMjXhvIR1o72bvuZ0LSDuA2g9Wk1TIwHMsuuWL09mMtvWeAev6dWEMgBoAWAJpcZGC8Bdkct4kMQcSb9UiA7BUOo4gjAdgANOSEZBMQ0IUN2C9qSu5Ga03G1ZBFYNdZTWjSjPUUMGwg7VgJaWkPvwehLlM4PjFdf+K6sU+OwU/NVV2EH8SUAG1YHtMTlM5jcpNV5yBjwnmDC7TUCpds6qXL4RlmJLjHItHAx1nDw47m54mOLZ2gMS80sczeA3atIjYPxFIRmInRGzGLX37eUmYxBbwsTdQCo/gfwPAM3hQRflYuFMmKeyAxUEWpC3oMyQ7lIhTyNWQYPyCy7x6yOD4qdPiRV5gVMsfcEvFaBcB7AYQBCll3PMMinJbknbLZ9UmvyBur917fHrOfepTqGIdC3E6QRAT4JoDRpOkuALy5rXeP1ZyfBTPqwdJyYy6MW24CiMYQkM5iDOSM1Br0+APuZIJUk5m75Gy5+UwwahwfXTWmn6gTCJi3k50Gr48tCdEGpiQAXwAYmdMfM4uUqv2+jRvgxAmAXAW/lOJmy9lIFyMCZ5E6mwbhDJPdHLPaoOjJj8JqBIbgANKXmU0BjyNPATC8AFP9ulVMyUW2+QDXjNUAjAE8riQHYl36uKaAybwx6WxnoFwiHXpnFRysB5nwtauAfqMcUsdjCC700W3VapDkhakE6UL32PwMDUicTXykoy6SYQGLE0i5lqs0a6dGhoaI3Wz/2giAWAGUm7oqZRGf+vxhp7vqA9wAJ6ARj73JgBkYB6ohZ2p8tp8vrr00xSPZU5ZtpAmMzEbQMmgQQAfO9qFV8kk8SvwBkMTigdig/4QAAAABJRU5ErkJggg==",ue="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAAAXNSR0IArs4c6QAABBRJREFUSEu1ln1MVXUYx7/fc87FQbRaL7PwZZZRDQTOhRxj1mLZqFz9Q8tVWyb34tVirbmsVpvOWfOPXNqGJl7kMvSfbNnLHyWbWfSuw+s95zIYTd0QFGvZ1gvG4J7ze+pc4h0uBLff38/z/Tx7fs8bMctnbuzI1RJOuRCLoSQHhAOyi1Rd4vraYo35HWOlSkLnr3PdvvUUVAJSBGAQwheZilcS6s1S7pUXIGqdCPJS2RJoJbV6QcanwOAmgWyGSPZYH4I90wLNoP0sRXaKIGeWSZjKrEWjvp8Gom7CPQfy50nAkpD4XCe+DyIb5gECyFO3XpN1/7Ha3IHiQNtaJe4RAC3jgB5MOfHPROTBecH+dSb4xS3ZWWsuX716AoJV0FgzDmgGrAMQhNIBG9EgvkvCyD8zaSwbAfqD1jOicCitsDFipPZGLFK4LQks29yT2f/br2cBLPp/gBTd51sUDeddTgKLA/bLSuStNMMugTQgsjCpq3G91VDUlAT6q+y4QArSBSTh6DTKHbhlULLL0yV4MtZYVMaVgfjtCVHn0wVLihNbYhHz7ZJQ+1I3kbgwrG2Qd9MftAKi0JA2IPGRFTErt28X7eNu+xgEFcPaGvVK+gPWVhHsSAuQ/FE3skuj4eW/+6vsnQJ5bdxoI16iP2DvF5FN8waSF3XDWBUN53cXV1uVysXRiZoE9tIMWHshqJkPkMQVzdDui4YLO0tCdrHroAUi104CknU0g/aW4UqaE5Tsg64/YNWvaL0nYN/lQr4Rwc1TaZHY5qX0cRH5YK4wQ9MeO32woMWrSJVwvhXIkum0qCFILypHpPO/Ar00AvojsUjB6dLqtoUDSn0NkTtT6fioLU82vhmwT0KkdLZQb5FqPlYM/Vn7Utdxjs8EI9gWaywqHAIG7WooqZ8NkGCnkalVtL5b0JP8M8HxVGkc7UG+ciZStCsJLK22Fw+40jMTkOCHGdlZVadqc//wqlE50jxdgUzQupR5/Y25P+xZ0j80SwPxHSJq67Sf7R1MwKuxiLnbs0n2mWLTxJslRbGsizWYh5NjryzYfkO/OF1e35A8ISKrJ0YHQ19r1Rd8742rTy7E35w4QVJmhghbEXPjsI3Xh89DyT6SX93xcOHqc83xwyLy1IgB8QuA3QsyFrw3MDBYJ5CHZkr9qC8/14zCNdEwE6PAKuvLf46bck3Hk2cOmkeeeF/0s81xb1LcO1vhKe3Iet0orBkLS6bUDNg/eUuS8OWTaoUS9zkvgLnCSPQK+bq3bKecNv4qu3tSWZN9BPcAGXWUwUcFEhJISaogSHSA2iFNv6k2Gs75a9oCMoPxpynqHQAZAG0Ijmq+7CZvxYx1WrmhPd91Vb5QboPIMggMaOyl4KLyGS3WgTzvJprx/Q3wmMIl7X6GaAAAAABJRU5ErkJggg==",me="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAAAXNSR0IArs4c6QAAAstJREFUSEu9lk1oE1EQx2de06xNxaNSxS+wYltMNi0iBXsSBE/tQawnIZugXtpKUS9VCGgvFgKxF9EkRfHQFA/tSRC9qKAFm2SDKdoKSgVrPUqamK8deSFbt+km2bTb7imZN/v/vbdvvhA0j9MlTzKGk3NB+7TWrv3dfe3Lgb/Z9EsiIMRd56KhEz8r+erZUTU63fJZUugVIH5raba1vRhvzei9IEqxMBBc5GsIGI5OOC7VDSzBAgBwpCiE+JxZGgfnHrUva8U6PXKPUqA3WlsDQs9cSHxnFIr8MxJQ/4YXEJOMkScSEMN8zeslNr0U/whETq0vAkZ6D9tPeb2oGIFilzveVyDyAdHRMqEZQbBe//Cw7Tu3i27ZAwo91r0XRE805AgaAnKn8wOLwq/V1DMiusD/M2zoj4ROTqkCpwcW92SSqUUA2qsrirgiNNuOz463/qkFXQuarivzLYV8bgEJXkcnHH3r7s4ljylAN6qKIY7FQo5bhoHcsdMT67dahFn1MxZt7sQxRcknAMhaXQyzjFk6IsGOr9X81k6o58RhRPmnRNRda+el6H6PaLlcDaoLLN7Zauo2EAzVPln5VjALCH6h2XZP707XAXnozyzFXQQwCkT7jJyqog/iCgKM9B6yT2hT5n/QSLEzCqGfgDq3BCp7mecpQxpSiwM6pc/7gTI+3eQ3kczLIKAwjKIr9gkAOkzUriaVQKcUSxBB+44BebtJZ9M+tQNsGxhhqsnaNLwWNMVOoIC/vDhveQOIUcZgKBJwvC3mqlaw2BF+xCVQYLRi3TS8A/wNDEb6DtpDummh1eGJn0um7igAg5tJfAbwoHG37W7NxC/fvHh1vhVzuSfbXtrWdYqdLN4qWJTk+0B00/T2VEmwVMwXKtbXzTTgWsHnlGQ3EfFBa8OD9Y4YtWB83bQhyghM9TFlTKwHyH1NGYTrgW511P8HVz1GsEaaZFwAAAAASUVORK5CYII=",Ee="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAcCAYAAAB2+A+pAAAAAXNSR0IArs4c6QAAB/FJREFUSEuVV1uInVcV/vblv51z5nIyk2ScZJI0GfCCYttJAjYv+iS+2BfxoVoFNUwKxQsK5tLWiTH44A2hD+1QUExRtNUmTdpYseiLIqKGChVJ0lwmaZO5ZObMnPv5915L1v7PxKTSgjMc/nP+/e/17bXWt9a3fnWcT21+P0+8ulNtfJ9iNg4ERvGn+lcNBVLwS9xYvsQLs4+Yjz0mS9/hV7fsckPPblcjeytIMmJSJAvBQLHbQCOCRoPz9mu9+eP7B6aOh9Vf0l/PbUH13lW00EIPPXgQh+23wQ0MYlhkiFFCjPM0/7t52z5wnxs/V0Iy1OYcHXbImUBc4CqWj4aFRqIiVFSCTEXuT7ww+Y3s/qvqZXqtt4RGtMB1rKGNDnL42z4X57ZskCJGmRNUkKKMBG24xZjsxhb30OQcbXLoEYW9AigmFBtEMCghQlWVMGYGMOfWDj86vPu76mf0Z3+ZF/WbWMEKt9AOwHd4zECECAnFKAs4MpQ4hmELSUuLcjQpR4c8euTBrMIHpKHFYzYY1ClGVRkTZggO/OxXqnseVt+nV/ILfMPO8QqWVRMdlmAzlEIwoEnBcoSYIyQcoYQECUXQbOCZ0SVC2zv0mOAZIJKNKoAq0ojYoqJSjOkKtpsqMp385ODI3i+ob9HJ7nm+GV/lW1hBC12Vg9fJQWLAQJEKHlqyIdeWIhjWIFZwxAHQExeesgb7IszCSIsoRGqTqmCnrWJYp888sWnffnWQn2+d9zeza2oFdW4HcgmL108sIRMPJG9Mushf/0CFZwIg94vwyvr6M7IOMsgQYVSXsd0MY9SUZo9u3jetvkm/alykxfIN1NBUnR96Vv+ySJQmUsJmeNlrOc+ZmfiDuaevCnPFMy2hRPS6UfGPYxI4IZNV8BrkNXvy8lyUIP76ECe7tkVDqOps9tjYvml1kJ5fu8yLA4uoo63zzwPmnEWqbK5V3C8px5ZzeO7m/sNdl58Q9or3FhYpR3+MsvhrpV7Jyx4LHQrYwbJjYupQFCv9ZEWlH9liKhg0SQF8mH5du0bLQ5JfyW2GBBVOEbOFYRPy1mMfmLtGXaxRD02fh/xKiVU4QRUlDKg01HkEG8Iuue+SR8t75MSBG5t1BWUdzR4bf2BaPUYvLL/Fy9U17krPejJC/I+EYhPDak1KkdbscuYuO9fk3t6mcwfkAEwqsHxIZRcqSL+X6ZgyJLJHGzLwmqjjmbqOIsX6SMxm64jJUDbJ7MzY3gC8dJNqI03kqJnO5Fn15Tdut623ffnk6onJju9cqFMeWCylNaDSX5ze+NmH3mmP3H947rcnU9gHN+gUqY5nj44LsH9hYYHqG5vckzCtZpwuDnJqSipRmpUigjCdVn3Pr1J3dMm1hiXcEkrpYFVd5hGULw+rjCs6MoFc0tiJucnkGy7XXe/vEYZXdSZtc3Zm655p9bg/eWOR6mMNzhGTxSBKGJbuhCTkWBgsfbhGXSz5JhZ8G2uuG2o34xgjqozNegAjOsOAFm6YUH45Mxo+x5qTzialIcCFxzNbp6bVE+7Um/NUH69TFw54yiI+N4DUxlBakZFezz1P1IF3Te93N113/+pt4ATDunRxQCU/kIOWlTWGrAa0dDXqefIt8gakDlk2W4pQJ7MzE/dNq8fdi3MLvj4h4aup3uTZdPodc/yJ2k93+R4uiieOpAIiDKjSz8+Mf/oz75bjz136/cmY7YOjNkOq7ezMRPD49JUFV9++Sl0YmJUE8UJFJTqhSIuySC57RNTyOa1yb9OK61TrXsilAvCQLvEGnV0c4oRTFekYUVHHDO56oqZ3uut5lyGtRmyKzMR9j3un31jwjZ0r1IFmMZYE0qQsFWkDe4s6dlhxHaz4bqhNuZ8gwrDKsEGXMKRSlJTUsQl1LLXb8YSGE7kErNIYtQlKJio8PtJ98cK8b0wuUTN4J1tTTpBIA4GBsDoXBRJwIYvPgyJ5AiKyoXEM6v5hgyQIsA7r3T54OKQxGIukju3s0Yk90+pI5/S/3/Rr7533jSDmskmkTP5FgaQ1ivxJm+x6jzYRemKVjTwRIiMdK4VIpxy1EA3pgjkhOKOVEuJhPC5jKEpmj4rHhztnXp9ztQ+85dYgjcERIZgMclgokbRNKavch9yBPIcDBVGQKYPF02KPCIcoW7En1HPwdtjE2BqXscGmT89smzqgDrbP/POaq33oqqthlXrBM/YqnFzaohgXfRUgqc9g0Mt9EXoD0z/AumavS6LoMXHhbaq0AGJbUsFIlD39bQE+1Hrp3Jyr3XvVrWLZt9Hujy/ibWGkr7HB+7vv/VeXi2lDfhd6LE1Ehi7Ra6BsIoxECXbEAlwqgI80z/5tztWmrrgabvWBRWtFU4MRAYP8FqPFVHHbuIw5d4l/EWYZEZllfJJngYoA2wT3pINyferott2PqEP1l59bpNanJNS3XAdt7wOTJdgSvnUgIVOYevuHCTnuR0SukpLg9fp4K0NbmKuBsrYYjTLsSCoo22T62MTUrHq0eWqcHE4u+Ob9t/K2kWnRSy4F/A7DMsRJzkOO7xjohExCxkAqqOBlmOn7HhuoEOpRm3aqUfybH+14IHS59ZcFfJT/YAfQCEPH0vX2+svE/3TCUq52K9InQHq7hv6LUupLa2nnUvHgVgDX+1f5fR2jZmfAmHrPVGdGFS8adwG/W699+9pDV175YsLmmYb3u5+b/Pjf/5+968/+B+0PhllE845BAAAAAElFTkSuQmCC",Le="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAcCAYAAAAAwr0iAAAAAXNSR0IArs4c6QAABflJREFUSEu1V2tsFUUUPmdmdu+j997SQp9AEULCDxNDCCAEQoqC0R/8IRSIVqIYH7GAT2JMNKlEo4bSFowEEyXBBJUS/5AYRB4lijxU4iMSE5CWh214lL7uo3t356Ezu/e2hVsSkrrJ7s7snJ35zjnfOXMG4bbr8rkvdsVLZ9UzKxZVSiKABFA5IQS8/YcRfX8skFBBCxEQiRJuOj108/zOitlr3hg5xaj5Lvz6SV35lEX7vGwSBXdASQ6g/NVHLp1vB8CGJxkhZf7TfQQkDKgVBmpH5eClU/OrFzx7dlilEXAu/b5nbzgx+XHu9Iv0rb+35lcHAAL0TuWV/k7MDP4TjMGI7iilpG6bQbsmWjr9CRYuhmxf53uV8556qyCAjt8+PcCs+AqeHfBmzHnOvou172mo83BjbShxXzsLJ0AMDXxcteDpDQUBXDy782tCQiuFl/Zmzt80fgAONtbaicp2YheBctPbqxe98HJBABfObN9PWHiVEp43c/6GcQNw6dt3llqximOEhUC5mZbqJQ2vjgGgtY3SSB0CeNPnPj9uAC4feX+ZFS07jEhAeemW6iUbxwBwurWNWbE6goRPm7PeuidH30W463jTchop+05HlHQGm6trN71WmAOnW9uoFa8j1OI1s9eNG4Duo82P0Hj5IZAChJNqqa4dwwUXtQXsRB0hNp86u35cAbB4xSElBSgn2VI5FoCO0zvaqB373wCAlNoFdwFwckcbDWkOMD51zvi6gMXKD4GSIJzB5qraDYU50Hlq+z7CoqsRCa+Z+8y4uaDryIfLraJKQ0LlZporal8sDKDjZGsbEluHoUJkV6xwMbVCMYYsTAgyk4oRUYHSLy1lvvg7glJKCyiQgDoNC66Ul+XCSXGZHaRKyhpEBsCdbRVLG14vnIpPNO8DIKulyAKlIWChBLBQHCiLACHM31yQmFsp4QB3U3oiyiLFCtHSPjZaamSCg/SGQA4lQThJAOEBsghQ4E1lSzduHgPAtq+U4Gu4M2g2VSQhoFYEKLUBkQaLUwPGS/VsDcPQriFFQ4zFtrDwhFVm99QgDBAJimdBuo5ZXINnkWJtr6aK5S8VBtD5Y/OX0nXXeplekJ6TX5Bq7ZEC0SCIBmADYXbeKkpwUNwzC2kQqLdiA0SA4twoQ6wwsKJJQAlrKnu4YQwLtH9Qz73MYukMZBV3OAihzN4qEAljABKRUIqUWoQQi4CiqLdbCUKhEFIKLlFyBUIpCQAMpDEKYRQpK2IYTYSRhA9UPfrKNwVdMF6p917mGVVkXDzeNM9C9iZ3Bz3luVwKVxFjT2IKDZ/72gUEASlhWn9lAsA8wdc+iAi/REEFSJmNYEUYsaMWKviobFlD+x0WUOca7evigauKO+U80wfCy/h+1TGncqVWEAWgI8Fvm8ovYD9qw8vRJRzqmoky0LUAjZZoLvQk7MxkvH+1awDmkHT/vOdzFpnwpJu6ATzTD0qHkPD8ksqPd3MHevm1XmABnQm0EXwJkxN8Sf0OiEvtKNBIMbB4ua6K9pYsXFufB/DPiZ0LQqXTfnCT15mbvA5iqB+ENwQohFncLy19ILkElP+mx3IVcCBr/si3dTjrojQCNJIAligHK17BMXltYdHidb+Yea/9sf+C8tyZTv9V4MmbILJJP361BkYbP+vlQRj9RpbfowHm5InJjbpIpYA05AOITQKrZLIGdD42d8Us7P7psy0sMvFtp+8KuANdwFO9INy0yWSGfwGAPAvMpMMaBr1cQvbfhraBQ3TbALCAWlGgsVKwJlQBK50CMtO3BXv+Oph2kzeiTm/Hn7L32mbwklnPlQqopvPoSydjHd25y7T4WDJ6YISsoAjERitcRDFR9i4rn/Egi08cxK4zu4+C4A95g90pN9XzPXpZT0rpaxCQL8fU3BkAdUgGLvDjIEfNHGFzFgik8ucDCykNUVpUspiVVBcjYcf+s3IjuXo0slspuVJm0yEwxFM65SHRjFN625OIavhgYowb+HcUP3InqBEENGcUqYFoPmlCMH1C6iOUHUg8dmv9v8OxoyB3PgAEAAAAAElFTkSuQmCC",Fe="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAAAXNSR0IArs4c6QAAHCFJREFUeF7tnQuUXVV5x//fvnfiK6wiUFnSaoNgYiHknjuDCgUUQXloaAUMVnyAAl1VYQGhEsOcmY5zz81LeSnEqsEHal0SAV0EQQooBQVfzLkYYjNCibLEUhFTSX3M3Hv+7bm5CZkwk9nnfe65+6zFmknyfd/e33/vH+e1z7cF5khEgSU3sPToZsz30FoAkfkA9gXUXMLbSyBzAexFYO7237kXgPbfdTrzDIBtgDxDcJu0f0fnd/UM4Pl//g3IcYXS5oMWYHz9GdJKJJEeDyo9nn/k9Bc6fFmfYD48zKf/E1wA+D9xUOTgwQI8CmAckM1CjENhfJIY32jL48HCGOtdFTCABJwP1RU8xPO845SoN5A8DsDeAUOkbb5VRO726H1bKXX32GWyKe0OdHN7BpBZRq9/JQ/2PBwLzzsGIscAOLCbBxzAYyDvhVL3KoXvPLhcHunyfBLtvgFkGnkrNZ4g4p0MqKMBHp7oCGQeXH4EePeR6rbGkNyReXdy1gEDSGdArNHJo6jUYoEsBrAwZ+OUVnc2EtwgnrfBHe77blqN5rmdngakOsoKS1gsxGKCR+R5oNLum0AeoGCDtLBhbFgaabefl/Z6DpDqah7AJpaQPEWA4/MyEHnuB4G7ROQWKWP92DJ5Is99jbtvPQOItZLz0PTOhci5APaPW8geifckyHUoq3XuctnSCzkXHpDKCs6XVhuMcwDs0wuDmkKOT4O8jiW1rnGZjKfQXmZNFBaQRXUuVN5OMPy31OaIX4FtPiieUuseGpSN8YfPPmLhAFlUZ78izgHoX0rNyV7inujBBCDrPMF1Dw3Kg0XKuDCAHDrCfeb04VKSy4o0QN2Wi4isnpjEmodH5Olu6/t0/S0EIJbDsyC4FOQhRRiUrs9BZBOINa4tX+j2XLoaEGslX80WlwlwercPRBH7T+BGKclqd7n8sFvz60pADhnh3Oc9ezll7jPyPfsm/MuuP01izaYR8Zfpd9XRdYBUHb6jfZ8hqHSV0r3eWaLhgzJmy1e6SYquAWTeCJ+/d9m7HJAPdJPApq+7K8C1W5vqki0j8sdu0KYrAOkfnRjwpHw5BK/vBlFNH2dRgLhHsXnJg8Nzfpx3rXIPSLXefA+pLgewX97FNP0LpMBTIt4lY4Pl6wN5pWyca0Asp7UakEtT1sQ0l6oCXOPapdy+u8olIO31Ux6vAPCWVMfKNJaVArdSydI8ruvKHSAVh6cK2nDMy2q0TLuZKLCFkKUNW27OpPUZGs0VIFadZ4P8XJ4EMn1JWQGR97qD8vmUW52xudwAUnF4voCfyIswph/ZKUDIBQ1brsmuB8+2nAtAqg4/THBlHgQxfciHAgJZPmbLqqx7kzkgVq11BUQuzloI034OFSCvdIdKS7PsWaaAWA5vAehXETGHUWCm2+QNri2nZCVPZoBYjre5U6Izq9xNu92jwLhrK7+ka+pHJoBYjsfUMzUNdr0Crq1Sn6+pN2g5fALgS7t+tEwCGSggv3JtOSDNhlMFxHI8/3vlapoJmrYKp8CYa6v+tLJKDRDL4a0A35xWYqadIisg33RtSWUZUiqAVJzWdQJ5X5GHzOSWrgIEP9uwS36ts0SPxAGxanQgHEw0CxO8NxWg1N0hsZNMPlFAKk7rfIGY5SNJjmCPxyZ4QcMuJbYsJTFAOqtyb+rx8TPpp6AAIacltQo4EUA633N8yyxZT2F2mCZ8BbZQyYlJfE+SCCCW420wHzuZmZuyAre6top92VLsgJjPZFOeFqa5XRSI//PdWAHpFFjo+nKTZs51rwIi3llxFoKIDZB2aR5Vvt1UH+neyVWQnj+lvOZJcZUUigWQdlG3Em83dasKMsW6PQ3inq0tOSmO4nSxAGI5rWtNxcNun1VF6z/Xunbpg1GzigxIu1Yu+K9RO2L8jQJxKyCQM6PWAo4EiF9lfU6J95lC0nEPrYkXiwJEY6IlR0epKh8JkGqdoySHYknGBDEKJKCAiNTGBmU4bOjQgPib16DF+8w+gGGlN34pKTCBkhwddhOf0IBUHO9rZmenlIbYNBNJAX+nq4at3hYmSChA2nsCgrmpfhcmcePTawrI2WH2TAwMiL+bbF8f7jUbZvbaBOvyfEU2TU7imKC77wYGpFrnKrPVcpdPlh7tfnsLuEH5cJD0AwGyqM5+ReZ+V6AgAhjb3lLAExl4aFD84iFaRyBALIfXAkx3j0DyI1qZZGBEYIGI+AXN/P9emEEXgjb5CICfkXxEgKeDOmvZK0V43rPzyv+zf/h/t+PfdrXZ/e9E/G32jtVqK5SRrHVt0X7Drg3IojoXds4eqW67nEWxsKC6V1c88+de64WnichpAE4I6p+oPTEGJTcqDzc9OCQ/TbStGIJbjvftZAHBROcsslGnu9qAWLXWVRC5UCdonDbdAMiu+bbfD3m4DORb49QhRCwX9D7iDpW/HsI3M5cUAAHIq92h0kU6SWoB0vmE1r/3mKsTNE6bbgNkR+6W07oIkH8GsHeceujFkqvQxEfcEdmqZ58fq1QAAbZRyYDOJ7pagFi11hqIfCgLGbsVEF8rq04LxJcAHpqednKGa8v69NqLt6WUAPHPIh91h0qzbhA7KyDWSs5Dq/3kap94pdCL1s2A+Bm+ZgX3nfBwTxqQUMkpjcvErwfQtUdqgPgPKUoy4C6XLXsSa3ZAai0HIpkVfut2QHZectW870FwZFIztyRywI8H5VdJxU8rboqA+GeRujtU2mPhuT0CUl3NAzhJ/5nx/mkJtHs7RQGkfcmV1BOaF8mL3Yu7735jujmVmEbTT+AnpU/6x5bJEzPN7z0CYtV5IcirsoLDb7dIgBw7wvLWMv8tzseYLEl/Y7mMZTlGcbadMiCAyEXuoFwdCpCK490pwPFxChA0VpEAaZ9FanwlpA3JXwXVYnd7Kjm9cZkUqnpl2oAQuKthqzcGBqQ6ygoV3aiDGNW/aIB0IDkPwk9H0ybYG+FobaXnnTYgfmbiiTU2LI3pspzxEsuqcxCkk54007dUREDakNS5HmSobxQAPCp98ro9XTtnPW5h288CEIjY7qDUAwFSdXg/wSPCJhqXX1EBqTo8nOAPw+gk4PvH7NK/hPHNu08WgAjkgTFbpn3COO0ZxBqdPAqq5H9Om/lRVEA6Z5EvgzwzoMjjL3ihWPcvlT8E9OsK8ywAaQvjtY52h/u+u7tI0wJScVorBcHWzSelfpEBqdR5opB+NUr9Q2i7g6VpLwf0g+TXMitACK5q2KXlWoBYjvcTAAvzIGORAfH1rTjeLwR4ma7W9KS/MVycx7q7550VIAA2urY6bFZAKjWeIEJ/b49cHEUHxHJ4B8A3aYr9e9dWL9K07UqzDAEBKSc2huSOXYV7ziWWVWtdAZGL86Ju0QGp1PkxIS/R0ZuCHzcG1eE6tt1qkyUgIK90h0pLZwHEewCC1+ZF4KIDUnU4TGh/Nfkd11ZvyMvYJNGPbAHB990hNeXJ7ZQziDXCeSjzsSQSDxuz8IDUOURyVFMfA4imUKHNmnKgO/LsCt+pgIw2z4RSXw4dPAHHogNScVq2QGqa0hlANIUKbeZ573SHyzuLsU8FpM5rQGp/0B66EwEciw6I5fAygLqPbQ0gAeZOKFORa91BOX+H71RAHG8zgPmhAifkVHhAaq3lEFmhKZ8BRFOoCGbjrq38KjXtYycglRHOlzJ9QHJ1FB2QSp3LhFylKboBRFOoKGZsyoLGiIxPAcSq81yQn4kSOAnfogNiOa1LAVmtqZ0BRFOoSGYi57mDsm4qILXWVyFyRqTACTgXHxD+E8CPakpnANEUKpIZeYM7VHr7VEAcz6+09+JIgRNwLjog1TovIfkxTekMIJpCRTT7rWurdpGS9j3IQocvK4O/iBg0EfeiA1JxWksFcrmmeAYQTaGimjUhL99oy+NtQKp1Hk/yzqhBk/AvOiCWw4sAXqmpnQFEU6ioZiLyxrFBuWs7IDW+n8K1UYMm4V94QGqtCyGiWxjDAJLEJJsmplA+MDYkn2wDYjn+/8H8/5Pl7yg6INU6LyD5cU3lDSCaQkU3k6tcWy7uAOJ9E8DJ0YPGH6HogFSc1vkC+YSmcgYQTaFiMLvNtdWbdwDi7xtxUAxBYw9RdEAsx99vxd93ReswgGjJFIvRo66tDpYlN7D0s3E2YwmZQJCiAxLw/s8AksAcmynkK+dLWfpr/GtPuCnFdgM1VXRAKk7rHwXySU1RDCCaQsVhpiiHiFVrvhWibo4jYBIxCg9Inf8g5Kc0tTOAaAoVixm9UyXgWqBY2g0SpOiAWLXmeRClW2XRABJk8kS25TIfkNWAzLqRSOS2QgYoOiDVGs+hsL0wTuMwgGiIFJ8J10gmO9cGyKDogFTqzfcJ1XWakhhANIWKx0zWSsVpXS+Qd8cTMP4oRQfEqvNskJ/TVO7brq2O07TtSrNMizbsphjBL4rleH75/FPzqmbhAXF4FsDP6+kvd7q26NbQ0guZM6s8AfL/df1u9gHx96qYcX+ErPUrOiBVh+8meL2OzgL51pgtJ+nYdqtNzgC5UyqOd78AmVdxn2lAiw5Ipc53CflFzQndXv6gaduVZnkChMAD/k36TwDmog7vdCNadEAsp/lOQH1JazYTG9whdYqWbZca5QkQQDb6l1j+NriRtwNLajyKDkjV4TsI7qzDNIuO33Bt9daktM5D3HwBgp/7gDwFYN88iNOLZ5DqaPPvqdRXdPQX4qaxIXW6jm232uQMkN/4gPwJwJy8Clr0M0ilzjOE/Kqm/utdW+WusIZm37XMcgbIhAFEa9iSM7IcLgF4g2YLBhBNoWIyawNiLrFiUjNMmKrD0wl+TdPXAKIpVExm7Ussc5Mek5phwlRqPE2EN2r6GkA0hYrJzL9JN495YxIzVJiK0zxVoPzVDDqHAURHpdhsZKN5URibmOECWQ7/DuDXNb0NIJpCxWHWeVFolprEIWbYGNVa828p6hua/gYQTaFiMrvTLFaMScmwYSo1LhbhLZr+BhBNoWIyu9ksd49JybBhrDrfAnKDpr8BRFOoOMw6y939kjN+6Zl8HkV/UVit82SSfl0yncMAoqNSbDay1nxyG5uY4QL113iSJ7xN09sAoilUPGbtT24DbeAST7sBohT9DFKpT54oLN2uKYkBRFOoeMz8og2m7E88WoaMYtX5JpB3aLobQDSFisXML/tjCsfFImXoINXa5BspJf+rTp3DAKKjUkw27cJxpvRoTGqGDLOoxuOU8C5NdwOIplBxmLVLj/qBLMczxavjUDREjEqdbxDybk1XA4imUDGYbS9e3QHEbH8Qg6JhQlRX8PX0+B1NXwOIplAxmO26/YHZQCcGQUOFqDp8HcF7NJ0NIJpCRTfbZQOdgCX4o7cdIELRH/MuGp08RqnSv2tKYgDRFCqq2ZQt2MwmnlHlDO9vreBR8HifZgQDiKZQUc2mbOJptoGOKmd4f8uZ/Bug9F3NCAYQTaGimk3ZBrpzo/40gBdHDRy3f9EvsfodHuGB92vqZgDRFCqi2W9dW+3jx2g/xWoDUmt9FSK5q5hRdEAWjfK1SvEBzQE1gGgKFcmMvMEdKr19KiB1ngvyM5ECJ+BcdECslXw1WvyBpnQGEE2hIpmJnOcOSnvPlp1nkMoI50uZmyMFTsC56IBUHR5O8Iea0hlANIWKYsamLGiMyPgUQDr3IT4g86MEj9u36ID0j04MeKr8I03dDCCaQkUwG3dttWCH/84zSBuQOq8B+cEIwWN3LToglVFWRfFBTeEMIJpChTYTudYdlPOnB2S0eSaU+nLo4Ak4Fh0Qqz5hgeUxTekMIJpChTbzvHe6w+WdxcSnnkFGOA9lPhY6eAKORQekv85FHtnQlM4AoilUaLOmHOiOiF9MsX1MAaR9mVXzHoDgtaEbiNmx6IAcNsrDSooPacpmANEUKpQZ8X13SE3ZTGoaQFpXQOTiUA0k4FR0QCqjPFQUN2pKZwDRFCqUGXmlO1RauqvvcwCp1HiCCL8VqoEEnIoOSHUFD6HHhzWlM4BoChXGjJQTG0My5fPn5wDSvsxyvJ8AyMW2bEUHZGAFX9Xy+FPNATWAaAoVwmyja6vDdvebFpCK01opkA+HaCR2l6IDsqjGBUr4H5rCGUA0hQpqRnBVwy4t1wLEGp08CqqkuwQ7aF8C2RcdkMrIH+dLeY7uCgYDSKDZE8DYax3tDvc9Z1X1tGcQP2zV4f0EM98euuiA9K/kwV6LP9McSgOIplBBzATywJgtR07nMyMgVp2DIJ0gDSVhW3RABmo8qCX0i2boHAYQHZWC2ojY7qDUAwFSHWWFim7QtuK2Lzogi2o8UAn/U1M3A4imUEHMxBNrbFimfVk74xnEb6DieHcKcHyQxuK2LTog1krOQ0t79YIBJOYJRuCuhq3eOFPYPQJi1XkhyKti7lOgcEUHZGAVX95q8ueaohhANIXSNhO5yB2Uq0MBUl3NAzjZXmm6v3aDMRsWHZCA9QAMIPHOryelT/rHlskToQDxnaxay4HIYLz90o9WdEAWjfz+L1X5+Y9rKmIA0RRKy4ysu0Mle0+2e7zEagOy/Rr5xwDaH7GnfRQdkM5Z+peauhpANIXSMHsaJRlwlz+7cnc6n1kB6ZxF1kDkQxqNxm5SdEAG6nxpi5zxFL+boAaQuGYY+VF3qHTpbOG0AKms4Hzx2meRubMFjPvfiw7Iwjr3L5P/pambAURTqFnMtlHJQOOy7d+dR7rE2uFs1VpXQeTC2QLG/e9FB2TRCF+iynxSUzcDiKZQezQjr3aHShfphNI6g/iBFtW5ULF9FpmjEzgum6IDMvAx7tf6I3+tqZcBRFOoPZhNeCIDDw2K1jc42oC070Wc9HfELTogr1nBfSc8PqU57gYQTaFmNpO1ri3ahUkCAbKozv7OWSRyN3UDFB2QQ0f+Z5++8l6/0dTDAKIp1ExmnbOHbhWZ536TPlv71TpXkVw2m11s/05+JLZYcQQSbAW5Baq0BZPY4o7I1ihhrRHujTJ/qxkjMiBLlrD0aD8O9DwcSM97hQAv1Ww7HTOR1wM4NonGRGT12GCw75wCnUH8Th86wn36+nAvyEOSSKILY/qAbAH4sIj6fqs1+YOHhud8XzePgVX8s1aTupAFAsR/+qg8DHiCASEHQLwCgpfr9q1QdiKbJidxzMMj4hdp1z4CA9K5FzkL4Oe1W+k5Q/E/gLpFgFvGbNnj5jgLVnOvF0zyd5oSzQpIe+kKcRoEpwF8nWbcHjCTs11bvhA00VCA+I1UHO9rApwetMEetP8BRK52B2VnMbJdNThkhHPnlPmMpi4zAuIXf/A87wKBvCuL91Wa/c/EjMCNDVu9LUzjoQHpVCX3P8tN9bFvmCTz4CPETZTW5a7d971d+zMwwhe2yvxfzT4+B5CKw78AcL6AfrnM1F/kavY7S7MJlORod7noFgif0tfQgPhRqnWOkhzKMvtua5v03tcYKn9uR7+PvIIv+MPv+XvNPKYAUl3BI0F8luSrNP17zkxEamODMhw28UiAtC8PSrwPgkrYDvSi364VNA7+OJ8393f8o6YOOwHpX8HTPI83avr1phnRmGjJ0ZtGZFtYASIB0j6LOHwHwWmvr8N2qkf8bnVttXjgU+xr/ZoTmjm3AbFqzfMg6tOaPj1rJpAzx2z5ShQBIgPiN245rWsB+UCUjvSkr8hIaT+sCAKIeFKnol+e5kU9qZl20lzr2iXtN+YzhY0FkHkjfP7eJd4Ogf+SxxwBFNi7KX1by5zUdFkP8JeAaC2004xZPDPinq0tOWnLiOheus6oQSyA+NE7OyXdDmC/4imeXEZuU0pWmS3NFtaDOBiCqqZ9L5o9pbzmSQ8Oz/EX1kY+YgOkfT9Sb76HVIFfxkTOoosD+GvNLMejZgrrASzRtO1JMxHvrLHB8vVxJR8rIJ37kdWAzPqlVlwJ9FgcA8geB5xrXLsU6zrB2AHZDom3AcBbemzyppGuAWRmldtPBeMehEQA6Xyi6+8xMi/uDvd0POK/IXhJT2swffJbqOREnU9og2qXCCB+JyoOTxXwpqAdMvZGgaAKEHJaw5abg/rp2CcGyHZIWucL5BM6HTE2RoEwChC8oGGXrgnjq+OTKCDt+5EaHQgzKzynI4Kx6VIFKHV3SPZY+C1qZokD0jmTXCeQ90XtrPE3CuxQgOBnG3bpnKQVSQWQ9pnE4a0A35x0QiZ+Lygg33RtSeUpaWqAbIfE8z+WN2+Be2EOJ5fjmGur/uTCT42cKiCdM8kTAPNVKCAttU07ERWQX7m2HBAxSCD31AHpnEl0l1YESsYYF1uBLEpAZQJIBxK/sMH8Yg+pyS4mBcZdWy2IKVagMJkB0rncugVg7MsDAilgjHOugGxwbTklq05mCkgbklrrCohcnJUApt0cK0Be6Q6VlmbZw8wB8ZOvOvwwwZVZCmHazpcCAlk+ZsuqrHuVC0B8ESoO/dI1ZllK1jMiB+0TckHDlsSWjwRJMTeAtC+36jwb5M6SOEESMbYFUUDkve6g5KZqZ64A6ZxJ/FXAV5il8gWZ8PppbCFkaVKrcvW7MdUyd4C0Idm+5ZsPSSrLCcKKZ/xiU+BWKlmaxPccUXuYS0B2JGU5LfP5btQRzr1//J/JxplyrgFpP+HaXgjiclMtJc5hz0Wsp0S8S+IssJBEVrkHxE+6XVJIypebultJTIEMYhL3KDYvias0T5IZdAUgvgDt4nRl73JTwTHJ6ZBGbK7d2lSXxFHULY3edg0gO8Ro1wL2t4AzBbPTmB/xtUE02lugRayVG1+H9CJ1HSB+Wn5V+ef14dLOXolmfxK9sc7KasIH40+TWBOlynpWne9KQHY+5VrJV7PFZWanq6ymz57b9Xd2kpKsDrt5TR6y6mpAnn0czLMguNRsLJqHKQVAZBOINWH2BMxJBju7UQhA/Gz83XfnPHvZlTede6Y//uXUxCTWBN1NNq8CFQaQHQIvqrNfEecAPNfsn5jatJsAZJ0nuO6hQfHrDhTmKBwgu4CyUHneuRDxS8OYzS2TmbLbQF7nKbXuoUHZmEwT2UYtLCA7ZG2v62rtBGWfbOUuTOtP+2CwpNblcf1UnCoXHpBdnnjNQ7MNin/ptX+cIvZQrCdBrkNZrXOXy5ZeyLtnANkxmNXVPIBNLCF5igDH98IgR82RwF0icouUsX5smTwRNV43+fccILsOTnWUFZawWIjFBI/opoFLuq8CeYCCDdLChrFhaSTdXl7j9zQguw6KNTp5FJVaLBC/ysrCvA5Ywv3aSHCDeN4Gd7jP30m35w8DyDRToFLjCSLeyYA6GuDhxZ4l8iPAu49UtzWG5I5i5xo8OwPILJr1r+TBnodj4XnHQOQYAAcGlzlXHo+BvBdK3asUvvPgcnkkV73LWWcMIAEHpLqCh3ied5wS9QaSxwHYO2CItM23isjdHr1vK6XuHrtMNqXdgW5uzwAScfQWOnxZn2A+PMyn/xP0S2T6JVUPihg6qPujAMYB2SzEOBTGJ4nxjbY8HjSQsX9WAQNIQrNhyQ0sPboZ8z20FkDEB2ZfQM0lvL0E4r/Z34vA3O2/c6/O237/p388A2AbIM8Q3Cbt39H5XT0DeP6ffwNyXKG0+aAFGF9/hrQSSqWnw/4f5GnaW9nfPLQAAAAASUVORK5CYII=",Ke=Object.defineProperty,Te=Object.defineProperties,We=Object.getOwnPropertyDescriptors,Ce=Object.getOwnPropertySymbols,De=Object.prototype.hasOwnProperty,ge=Object.prototype.propertyIsEnumerable,Re=(bt,ut,Wt)=>ut in bt?Ke(bt,ut,{enumerable:!0,configurable:!0,writable:!0,value:Wt}):bt[ut]=Wt,ve=(bt,ut)=>{for(var Wt in ut||(ut={}))De.call(ut,Wt)&&Re(bt,Wt,ut[Wt]);if(Ce)for(var Wt of Ce(ut))ge.call(ut,Wt)&&Re(bt,Wt,ut[Wt]);return bt},we=(bt,ut)=>Te(bt,We(ut));const Ue={\u5B9E\u8BAD:I,\u8BD5\u5377:H,\u8BFE\u4EF6:$,\u89C6\u9891:q,\u4E3B\u80FD\u529B:ue,\u5B50\u80FD\u529B:me,\u77E5\u8BC6\u70B9:Ee,\u8D44\u6E90:Le,\u603B\u6570:se,\u6559\u6750:Fe};var oe=({type:bt,ImgProps:ut})=>c.createElement("img",we(ve({src:(Ue==null?void 0:Ue[bt])||(Ue==null?void 0:Ue.\u8BFE\u4EF6)},ut),{width:"16rem",style:ve({width:"16rem"},(ut==null?void 0:ut.style)||{})})),ne=ae(70453),ce=ae(3736),ye=ae(81722),he=Object.defineProperty,xe=Object.defineProperties,Ne=Object.getOwnPropertyDescriptors,Be=Object.getOwnPropertySymbols,je=Object.prototype.hasOwnProperty,et=Object.prototype.propertyIsEnumerable,ft=(bt,ut,Wt)=>ut in bt?he(bt,ut,{enumerable:!0,configurable:!0,writable:!0,value:Wt}):bt[ut]=Wt,tt=(bt,ut)=>{for(var Wt in ut||(ut={}))je.call(ut,Wt)&&ft(bt,Wt,ut[Wt]);if(Be)for(var Wt of Be(ut))et.call(ut,Wt)&&ft(bt,Wt,ut[Wt]);return bt},At=(bt,ut)=>xe(bt,Ne(ut)),It=(bt,ut,Wt)=>new Promise((Ar,Vt)=>{var Ht=Tt=>{try{or(Wt.next(Tt))}catch(at){Vt(at)}},ar=Tt=>{try{or(Wt.throw(Tt))}catch(at){Vt(at)}},or=Tt=>Tt.done?Ar(Tt.value):Promise.resolve(Tt.value).then(Ht,ar);or((Wt=Wt.apply(bt,ut)).next())});const Nt=({children:bt,cout:ut=1})=>{const Wt=(0,c.useRef)(null),[Ar,Vt]=(0,c.useState)(0),[Ht,ar]=(0,c.useState)(!1);return(0,c.useEffect)(()=>{Wt.current&&setTimeout(()=>{const or=(0,ee.ZR)(Wt.current,"rem",1);Vt(or)},500)},[Wt.current]),c.createElement("div",{className:"relative flex item-end "},c.createElement("div",{style:{height:Ht?"auto":`${ut*23.25}rem`,overflow:"hidden"}},c.createElement("div",{ref:Wt,style:{fontSize:"14rem"}},bt)),Ar>=ut*23.25&&c.createElement("div",{className:"current c-blue",style:{whiteSpace:"nowrap"},onClick:()=>{ar(!Ht)}},Ht?"\u6536\u8D77":"\u5C55\u793A"))},lt=({DataProps:bt,pathsDetail:ut,getUrl:Wt})=>{var Ar,Vt,Ht,ar;const{detail:or}=ut,[Tt,at]=(0,c.useState)(!1);return c.createElement("div",{id:`${bt==null?void 0:bt.id}`,className:"bg-white",style:{borderRadius:"4rem",padding:"15rem 30rem 30rem"}},c.createElement("div",{style:{color:"#3061D0"}},c.createElement(oe,{type:"\u5B50\u80FD\u529B",ImgProps:{style:{marginRight:"5rem"}}}),"\u5B50\u80FD\u529B"),c.createElement("div",{className:"c-grey-333 flex item-center",style:{fontSize:"14rem",margin:"20rem 0 10rem 0",gap:"10rem"}},c.createElement(te.Z,{title:bt==null?void 0:bt.name},c.createElement("div",{className:"multi_ellipsis1 minW-0"},bt==null?void 0:bt.name)),c.createElement("div",{className:"flex item-center",style:{gap:"5rem"}},(Ar=bt==null?void 0:bt.ability_tags)==null?void 0:Ar.map(vt=>c.createElement(X.default,{color:"orange",style:{fontSize:"12rem"}},vt)))),(bt==null?void 0:bt.description)&&c.createElement("div",{style:{padding:"12rem",background:"#F6F7F9"}},c.createElement(Nt,null,bt==null?void 0:bt.description)),c.createElement("div",{className:"flex item-center justify-center w-full",style:{margin:"20rem 0",padding:"12rem",background:"linear-gradient( 180deg, #ECF3FF 0%, rgba(255,255,255,0) 100%)"}},"\u8986\u76D6 ",c.createElement(oe,{type:"\u77E5\u8BC6\u70B9",ImgProps:{style:{margin:"0 5rem"}}})," ",bt==null?void 0:bt.knowledge_count,"\u4E2A\u77E5\u8BC6\u70B9",c.createElement("span",{style:{marginLeft:"40rem"}},c.createElement(oe,{type:"\u8D44\u6E90",ImgProps:{style:{marginRight:"5rem"}}}),bt==null?void 0:bt.resource_count,"\u4E2A\u8D44\u6E90\u6570")),c.createElement("div",{style:{marginBottom:"10rem"}},c.createElement(oe,{type:"\u77E5\u8BC6\u70B9",ImgProps:{style:{marginRight:"5rem"}}}),"\u8986\u76D6\u77E5\u8BC6\u70B9",bt==null?void 0:bt.knowledge_count,"\u4E2A"),c.createElement("div",{style:{height:"320rem",background:"#F6F7F9"}},c.createElement(P,{loading:!1,nodes:bt==null?void 0:bt.nodes,relationships:bt==null?void 0:bt.relationships})),c.createElement("div",{style:{margin:"30rem 0 10rem"}},c.createElement(oe,{type:"\u8D44\u6E90",ImgProps:{style:{marginRight:"5rem"}}}),"\u8986\u76D6\u8D44\u6E90\u6570",bt==null?void 0:bt.resource_count,"\u4E2A"),c.createElement("div",{className:"flex-wrap",style:{gap:"10rem",display:"grid",gridTemplateColumns:"1fr 1fr"}},(ar=((Vt=bt==null?void 0:bt.resource_knowledge_graphs)==null?void 0:Vt.length)>4&&!Tt?(Ht=bt==null?void 0:bt.resource_knowledge_graphs)==null?void 0:Ht.slice(0,4):bt==null?void 0:bt.resource_knowledge_graphs)==null?void 0:ar.map(vt=>c.createElement("div",{key:vt==null?void 0:vt.id,className:"flex relative current",style:{gap:"10rem",padding:"25rem",background:"#f6f6f6",borderRadius:"10rem"},onClick:()=>It(void 0,null,function*(){yield Wt==null?void 0:Wt(vt)})},!(or!=null&&or.can_managed)&&c.createElement("div",{className:"absolute c-white",style:{top:0,right:0,padding:"2rem 10rem",borderRadius:"0 10rem 0 10rem",color:(vt==null?void 0:vt.complete_rate)!=100&&"#7C3100",background:(vt==null?void 0:vt.complete_rate)!=100?"#FFC86B":"#37AD83"}},(vt==null?void 0:vt.complete_rate)==100?"\u5DF2\u5B8C\u6210":"\u672A\u5B8C\u6210"),c.createElement(S.Z,{type:"circle",percent:vt==null?void 0:vt.complete_rate,size:60,status:"success",format:Yt=>`${Yt}%`,strokeWidth:10}),c.createElement(oe,{type:vt==null?void 0:vt.node_type,ImgProps:{style:{width:"16rem",height:"16rem",marginTop:"3rem"}}}),c.createElement("div",{className:"flex-1 minW-0"},c.createElement(te.Z,{title:vt==null?void 0:vt.name,placement:"topLeft"},c.createElement("div",{className:"multi_ellipsis1 c-grey-333 blod",style:{fontSize:"16rem"}},vt==null?void 0:vt.name)),c.createElement("div",{className:"c-grey-333",style:{marginTop:"10rem",fontSize:"14rem"}},"\u77E5\u8BC6\u70B9\uFF1A",(vt==null?void 0:vt.knowledge_text)||"--"),(or==null?void 0:or.can_managed)&&c.createElement("div",{className:"flex flex-wrap item-center v-grey-666",style:{marginTop:"20rem",fontSize:"12rem",gap:"10rem"}},c.createElement("div",null,"\u5B66\u4E60\u4EBA\u6570\uFF1A",vt==null?void 0:vt.study_count,"\u4EBA"),c.createElement("div",null,"\u638C\u63E1\u4EBA\u6570\uFF1A",vt==null?void 0:vt.complete_count,"\u4EBA"),c.createElement("div",null,"\u638C\u63E1\u7387\uFF1A",vt==null?void 0:vt.complete_rate,"%")))))),(bt==null?void 0:bt.resource_knowledge_graphs.length)>4&&c.createElement("div",{className:"flex item-center justify-center",style:{padding:"0 220rem"},onClick:()=>{at(!Tt)}},c.createElement(K.Z,{style:{borderColor:"#3061D0",marginBottom:"0rem",cursor:"pointer"},dashed:!0},c.createElement("span",{style:{color:"#3061D0"}},Tt?"\u70B9\u51FB\u6536\u8D77":"\u70B9\u51FB\u5C55\u5F00\u66F4\u591A"))))},Bt=({pathsDetail:bt,dispatch:ut,user:Wt})=>{var Ar,Vt,Ht,ar,or,Tt,at,vt,Yt,qt,Cr,nt,yt,Lt,Ut,rr,dt,V,Y,Q,le,fe,Oe,Pe,Ye,$e,Dt,zt,Ie,be,ct,ze,He;const{detail:Xe}=bt,st=(0,l.useParams)(),[mt]=(0,l.useSearchParams)(),[Kt,gt]=(0,c.useState)({}),[Ot,pt]=(0,c.useState)({id:null,open:!1,resourceUrl:""}),[,Ct,xt,Ae]=(0,n.U)(o.Ju,{subject_id:st.pathId,id:st==null?void 0:st.abilityId}),[Ve,Je]=(0,c.useState)([{name:"\u638C\u63E1\u738759%\u4EE5\u4E0B",value:0,itemStyle:{color:"rgb(6,110,247)"}},{name:"\u638C\u63E1\u738760%\uFF5E79%",value:0,itemStyle:{color:"rgb(6,234,230)"}},{name:"\u638C\u63E1\u738780%\uFF5E100%",value:0,itemStyle:{color:"rgb(223,209,38)"}}]),rt=new URLSearchParams(window.location.search),St=()=>It(void 0,null,function*(){const Ge=yield xt({subject_id:st==null?void 0:st.pathId,id:st==null?void 0:st.abilityId})}),Rt=Ge=>ut({type:"userDetail/logWatchHistory",payload:tt({},Ge)});function Mt(Ge){return It(this,null,function*(){var Gt,hr,Qt;let Zt=yield(0,k.ZP)("/api/knowledge/v2/get_container_type.json",{method:"get",params:{url:Ge==null?void 0:Ge.resourceUrl}});if(localStorage.setItem("container_type_tupu",Zt==null?void 0:Zt.container_type),(Zt==null?void 0:Zt.status)===0){if((Ge==null?void 0:Ge.node_type)=="\u8BD5\u5377"){const mr=yield(0,ye.Mb)({categoryId:Zt==null?void 0:Zt.examination_bank_id});mr!=null&&mr.exercise_id&&(0,ee.xg)(`/classrooms/coursesId/exercise/${mr.exercise_id}/${(Gt=Wt.userInfo)==null?void 0:Gt.login}/initate_answer`);return}(Zt==null?void 0:Zt.container_type)==="video"?pt({id:Zt==null?void 0:Zt.id,open:!0,resourceUrl:Ge==null?void 0:Ge.resourceUrl}):(Zt==null?void 0:Zt.container_type)==="att"?gt({url:U.Z.API_SERVER+((hr=Zt==null?void 0:Zt.attachment)==null?void 0:hr.url),file_type:(Qt=Zt==null?void 0:Zt.attachment)==null?void 0:Qt.file_type}):window.open(Ge==null?void 0:Ge.resourceUrl)}})}const Xt=Ge=>It(void 0,null,function*(){(Ge==null?void 0:Ge.resourceOrigin)===3?(0,ee.xg)(Ge==null?void 0:Ge.resourceUrl):Mt(Ge),!(Xe!=null&&Xe.can_managed)&&(yield(0,k.ZP)("/api/subject_knowledge/create_study.json",{method:"post",body:{subject_id:st==null?void 0:st.pathId,uuid:(Ge==null?void 0:Ge.last_knowledge_uuid)||(Ge==null?void 0:Ge.knowledge_uuid)}}))});return(0,c.useEffect)(()=>{var Ge,Gt;if((Ae==null?void 0:Ae.status)==0&&(Xe!=null&&Xe.can_managed)){const hr=(Gt=Object==null?void 0:Object.entries(((Ge=Ae==null?void 0:Ae.data)==null?void 0:Ge.study_grasp_hash)||{}))==null?void 0:Gt.map(([Qt,Zt],mr)=>({name:Qt,value:Zt,itemStyle:Ve[mr].itemStyle}));Je(hr)}},[Xe==null?void 0:Xe.can_managed,Ae]),(0,c.useEffect)(()=>{St()},[st==null?void 0:st.abilityId]),(0,c.useEffect)(()=>{ut({type:"pathsDetail/getKnowledgeGraphs",payload:{graphable_type:mt.get("type")=="classrooms"?"course":"subject",graphable_id:st==null?void 0:st.pathId}}),rt.set("tabs","5")},[]),(0,c.useEffect)(()=>(ut({type:"globalSetting/footerToggle",payload:!1}),()=>{ut({type:"globalSetting/footerToggle",payload:!0})}),[]),c.createElement(y.Z,{spinning:Ct},c.createElement("div",{className:"ml-auto mr-auto",style:{width:"1200rem",paddingTop:"15rem"}},c.createElement(L.Z,{style:{fontSize:"14rem",marginBottom:"20rem"},items:[{title:c.createElement("a",{className:"flex item-center",style:{fontSize:"14rem"},onClick:()=>{l.history.push(`/knowledgegraph/${st.pathId}?${rt}`)}},c.createElement(te.Z,{title:"\u8FD4\u56DE"},c.createElement("i",{className:"iconfont icon-fanhui1",style:{fontSize:"14rem",marginRight:"20rem"}})),"\u80FD\u529B\u56FE\u8C31")},{title:"\u80FD\u529B\u8BE6\u60C5"}]}),c.createElement("div",{className:"w-full flex"},c.createElement("div",{className:"sticky flex flex-col",style:{width:"240rem",borderRadius:"4rem 0 0 4rem",maxHeight:"100vh",overflowY:"auto",overflowX:"hidden",top:0,background:"#F6F7F9"}},c.createElement("div",{style:{padding:"20rem"}},c.createElement("div",{className:"c-grey-333",style:{fontSize:"16rem"}},"\u80FD\u529B\u76EE\u6807\u56FE\u8C31"),c.createElement("div",{className:"w-full",style:{height:"200rem",marginTop:"20rem"}},c.createElement(ne.Z,{isShow:!0,className:"c-grey-333",DataProps:((Ar=Ae==null?void 0:Ae.data)==null?void 0:Ar.ability_goals)||[],baifenbi:1/2,style:{backgroundSize:"auto 100%",height:"100%",width:"100%"}}))),c.createElement("div",{style:{padding:"10rem 20rem 20rem"}},c.createElement("div",{className:"c-grey-333",style:{fontSize:"16rem"}},"\u76EE\u5F55\u5BFC\u822A"),c.createElement(A.default,{className:"w-full",value:Number(st==null?void 0:st.abilityId),style:{marginTop:"10rem"},onChange:Ge=>{l.history.push(`/knowledgegraph/${st.pathId}/abilityMap/detail/${Ge}?${rt}`)},options:((Ht=(Vt=Ae==null?void 0:Ae.data)==null?void 0:Vt.ability_goals)==null?void 0:Ht.map(Ge=>({label:Ge==null?void 0:Ge.name,value:Ge==null?void 0:Ge.id})))||[],size:"large"})),c.createElement(s.default,{className:C.AnchorDomStyle,items:(or=(ar=Ae==null?void 0:Ae.data)==null?void 0:ar.children_ability_goals)==null?void 0:or.map(Ge=>{var Gt;return{key:Ge==null?void 0:Ge.id,href:`#${Ge==null?void 0:Ge.id}`,title:c.createElement("div",{className:`current relative ${C.AnchorDom}`},c.createElement("div",{className:"flex item-center",style:{gap:"10rem"}},c.createElement("div",{className:"flex-1 minW-0 multi_ellipsis1 c-grey-333",style:{fontSize:"14rem"}},Ge==null?void 0:Ge.name),c.createElement("span",{style:{color:"#464F66",fontSize:"12rem"}},Xe!=null&&Xe.can_managed?c.createElement(c.Fragment,null,c.createElement("span",{className:"iconfont icon-a-60-kejian",style:{marginRight:"5rem",fontSize:"12rem"}}),Ge==null?void 0:Ge.knowledge_count):c.createElement("span",{style:{color:"#00C088"}},c.createElement("span",{className:"iconfont icon-xuesheng2",style:{marginRight:"5rem",fontSize:"12rem"}}),(Ge==null?void 0:Ge.grasp_rate)||0,"%"))),c.createElement("div",{className:"flex flex-wrap",style:{gap:"5rem",marginTop:"10rem"}},(Gt=Ge==null?void 0:Ge.ability_tags)==null?void 0:Gt.map(hr=>c.createElement(X.default,{color:"orange",style:{fontSize:"12rem"},key:hr},hr))),c.createElement("div",{className:"multi_ellipsis2",style:{marginTop:"20rem",color:"#464F66",fontSize:"12rem"}},Ge==null?void 0:Ge.description))}})})),c.createElement("div",{className:"flex-1 minW-0 flex flex-col",style:{gap:"20rem"}},c.createElement("div",{className:"bg-white relative",style:{borderRadius:"4rem",padding:"15rem 30rem 30rem"}},((at=(Tt=Ae==null?void 0:Ae.data)==null?void 0:Tt.next_ability_goal)==null?void 0:at.id)&&c.createElement("div",{className:"absolute current",style:{right:0,top:0},onClick:()=>{var Ge,Gt;l.history.push(`/knowledgegraph/${st.pathId}/abilityMap/detail/${(Gt=(Ge=Ae==null?void 0:Ae.data)==null?void 0:Ge.next_ability_goal)==null?void 0:Gt.id}?${rt}`)}},c.createElement("div",{className:C.NextAbility},c.createElement("div",{className:"multi_ellipsis1"},(Yt=(vt=Ae==null?void 0:Ae.data)==null?void 0:vt.next_ability_goal)==null?void 0:Yt.name),c.createElement("div",null,c.createElement("span",{className:"iconfont icon-you2",style:{fontSize:"14rem"}})))),c.createElement("div",{style:{color:"#3061D0"}},c.createElement(oe,{type:"\u4E3B\u80FD\u529B",ImgProps:{style:{marginRight:"5rem"}}}),"\u4E3B\u80FD\u529B"),c.createElement("div",{className:"c-grey-333 blod",style:{fontSize:"14rem",margin:"20rem 0 10rem 0"}},(qt=Ae==null?void 0:Ae.data)==null?void 0:qt.name),((Cr=Ae==null?void 0:Ae.data)==null?void 0:Cr.description)&&c.createElement("div",{style:{padding:"12rem",background:"#F6F7F9"}},c.createElement(Nt,null,(nt=Ae==null?void 0:Ae.data)==null?void 0:nt.description)),(Xe==null?void 0:Xe.can_managed)&&c.createElement(c.Fragment,null,c.createElement("div",{className:"flex",style:{marginTop:"20rem",gap:"20rem"}},[{title:"\u5E73\u5747\u4E3B\u80FD\u529B\u638C\u63E1\u7387",value:(yt=Ae==null?void 0:Ae.data)==null?void 0:yt.children_ability_goal_grasp_rate,unit:"%",img:ae(46016),bg:"#E3F1FF"},{title:"\u8986\u76D6\u77E5\u8BC6\u70B9",value:(Lt=Ae==null?void 0:Ae.data)==null?void 0:Lt.total_knowledge_count,unit:"\u4E2A",img:ae(99755),bg:"#F1FDEF",ProgressTitle:"\u5360\u603B\u77E5\u8BC6\u70B9",percent:(Ut=Ae==null?void 0:Ae.data)==null?void 0:Ut.knowledge_rate,trailColor:"rgba(50, 199, 145, .1)",strokeColor:"#32C791"},{title:"\u8986\u76D6\u8D44\u6E90\u6570",value:(rr=Ae==null?void 0:Ae.data)==null?void 0:rr.total_resource_count,unit:"\u4E2A",img:ae(92691),bg:"#FFF9F4",ProgressTitle:"\u5360\u603B\u8D44\u6E90\u6570",percent:(dt=Ae==null?void 0:Ae.data)==null?void 0:dt.resource_rate,trailColor:"rgba(236, 159, 48, 0.10)",strokeColor:"#EC9F30"}].map((Ge,Gt)=>c.createElement("div",{key:Gt,className:"flex-1 minW-0 relative",style:{borderRadius:"6rem",background:Ge==null?void 0:Ge.bg,padding:"20rem 30rem"}},c.createElement("img",{src:Ge==null?void 0:Ge.img,width:"43rem",height:"43rem",className:"absolute",style:{right:"30rem",top:"20rem"}}),c.createElement("div",{className:"c-grey-666",style:{fontSize:"14rem"}},Ge==null?void 0:Ge.title),c.createElement("div",{className:"c-grey-333 blod",style:{marginTop:"10rem",fontSize:"26rem",lineHeight:"26rem"}},Ge==null?void 0:Ge.value,c.createElement("span",{style:{fontSize:"14rem"}},Ge==null?void 0:Ge.unit)),(Ge==null?void 0:Ge.ProgressTitle)&&c.createElement("div",{className:"c-grey-666",style:{fontSize:"12rem",marginTop:"20rem"}},c.createElement("div",null,Ge==null?void 0:Ge.ProgressTitle,Ge==null?void 0:Ge.percent,"%"),c.createElement(S.Z,{percent:Ge==null?void 0:Ge.percent,showInfo:!1,trailColor:Ge==null?void 0:Ge.trailColor,strokeColor:Ge==null?void 0:Ge.strokeColor,style:{marginBottom:"0",marginLeft:"0"}}))))),c.createElement("div",{className:"c-grey-333",style:{margin:"40rem 0 30rem 0",fontSize:"14rem"}},"\u5B66\u4E60\u7EDF\u8BA1"),c.createElement("div",{className:"flex"},c.createElement("div",{className:"minW-0 flex flex-col",style:{gap:"13rem",width:"200rem"}},[{title:"\u5B66\u4E60\u4EBA\u6570",value:(V=Ae==null?void 0:Ae.data)==null?void 0:V.study_count,unit:"",img:ae(37426),bg:"rgba(68, 95, 232, 0.1)"},{title:"\u5B66\u4E60\u5B8C\u6210\u7387",value:(Y=Ae==null?void 0:Ae.data)==null?void 0:Y.complete_rate,unit:"%",img:ae(19150),bg:"rgba(182, 129, 0, .1)"},{title:"\u5B66\u4E60\u638C\u63E1\u7387",value:(Q=Ae==null?void 0:Ae.data)==null?void 0:Q.grasp_rate,unit:"%",img:ae(55303),bg:"rgba(6, 145, 127, .1)"}].map((Ge,Gt)=>c.createElement("div",{key:Gt,className:"relative",style:{borderRadius:"6rem",padding:"20rem",background:Ge==null?void 0:Ge.bg}},c.createElement("div",{style:{fontSize:"14rem"}},Ge==null?void 0:Ge.title),c.createElement("div",{className:"blod",style:{fontSize:"26rem"}},Ge==null?void 0:Ge.value,c.createElement("span",{style:{fontSize:"14rem"}},Ge==null?void 0:Ge.unit)),c.createElement("img",{className:"absolute",style:{right:"6rem",bottom:"6rem"},height:"35rem",src:Ge==null?void 0:Ge.img})))),c.createElement("div",{className:"flex-1 minW-0"},c.createElement(f.Z,{dataSource:Ve,legend:{top:null,icon:"roundRect",bottom:10,itemWidth:14,itemGap:50,left:"center",formatter:Ge=>Ge}})))),!(Xe!=null&&Xe.can_managed)&&c.createElement(c.Fragment,null,c.createElement("div",{className:"flex item-center",style:{gap:"20rem",marginTop:"20rem"}},[{title:"\u8986\u76D6\u77E5\u8BC6\u70B9",value:(le=Ae==null?void 0:Ae.data)==null?void 0:le.total_knowledge_count,unit:"\u4E2A",percent:(fe=Ae==null?void 0:Ae.data)==null?void 0:fe.knowledge_rate,percenttitle:"\u5360\u603B\u77E5\u8BC6\u70B9",trailColor:"rgba(50, 199, 145, .1)",strokeColor:"#32C791"},{title:"\u8986\u76D6\u8D44\u6E90\u6570",value:(Oe=Ae==null?void 0:Ae.data)==null?void 0:Oe.total_resource_count,unit:"\u4E2A",percent:(Pe=Ae==null?void 0:Ae.data)==null?void 0:Pe.resource_rate,percenttitle:"\u5360\u603B\u8D44\u6E90\u6570",trailColor:"rgba(236, 159, 48, 0.10)",strokeColor:"#EC9F30"}].map((Ge,Gt)=>c.createElement("div",{key:Gt,className:"flex-1 minW-0 flex justify-between c-grey-333",style:{gap:"20rem",background:"#F6F7F9",borderRadius:"6rem",padding:"30rem 60rem"}},c.createElement("div",{className:"flex flex-col justify-between"},c.createElement("div",{style:{fontSize:"14rem",whiteSpace:"nowrap"}},Ge==null?void 0:Ge.title),c.createElement("div",{className:"blod",style:{fontSize:"26rem"}},Ge==null?void 0:Ge.value,c.createElement("span",{style:{fontSize:"14rem"}},Ge==null?void 0:Ge.unit))),c.createElement("div",{className:"relative",style:{width:"133rem",height:"75rem"}},c.createElement(S.Z,{type:"dashboard",percent:Ge==null?void 0:Ge.percent,gapDegree:178,strokeWidth:10,className:"absolute",style:{right:0,top:0},trailColor:Ge==null?void 0:Ge.trailColor,strokeColor:Ge==null?void 0:Ge.strokeColor,strokeLinecap:"round",format:hr=>c.createElement("div",{className:"c-grey-333",style:{fontSize:"12rem",textAlign:"center",marginTop:"-35rem"}},hr,"%",c.createElement("br",null),c.createElement("br",null),Ge==null?void 0:Ge.percenttitle)}))))),c.createElement("div",{className:"c-grey-333 blod",style:{margin:"40rem 0 30rem 0",fontSize:"14rem"}},"\u5B66\u4E60\u7EDF\u8BA1"),c.createElement("div",{className:"flex",style:{marginTop:"20rem",gap:"20rem"}},[{title:"\u4E3B\u80FD\u529B\u638C\u63E1\u7387",value:(Ye=Ae==null?void 0:Ae.data)==null?void 0:Ye.children_ability_goal_grasp_rate,unit:"%",img:ae(46016),bg:"#E3F1FF"},{title:"\u5DF2\u638C\u63E1\u77E5\u8BC6\u70B9",value:(($e=Ae==null?void 0:Ae.data)==null?void 0:$e.knowledge_grasp_count)||0,unit:"\u4E2A",img:ae(99755),bg:"#F1FDEF",ProgressTitle:"\u77E5\u8BC6\u70B9\u638C\u63E1\u7387",percent:((Dt=Ae==null?void 0:Ae.data)==null?void 0:Dt.knowledge_grasp_rate)||0,trailColor:"rgba(50, 199, 145, .1)",strokeColor:"#32C791"},{title:"\u5DF2\u5B8C\u6210\u8D44\u6E90\u6570",value:((zt=Ae==null?void 0:Ae.data)==null?void 0:zt.resource_complete_count)||0,unit:"\u4E2A",img:ae(92691),bg:"#FFF9F4",ProgressTitle:"\u5B8C\u6210\u8D44\u6E90\u7387",percent:((Ie=Ae==null?void 0:Ae.data)==null?void 0:Ie.resource_complete_rate)||0,trailColor:"rgba(236, 159, 48, 0.10)",strokeColor:"#EC9F30"}].map((Ge,Gt)=>c.createElement("div",{key:Gt,className:"flex-1 minW-0 relative",style:{borderRadius:"6rem",background:Ge==null?void 0:Ge.bg,padding:"20rem 30rem"}},c.createElement("img",{src:Ge==null?void 0:Ge.img,width:"43rem",height:"43rem",className:"absolute",style:{right:"30rem",top:"20rem"}}),c.createElement("div",{className:"c-grey-666",style:{fontSize:"14rem"}},Ge==null?void 0:Ge.title),c.createElement("div",{className:"c-grey-333 blod",style:{marginTop:"10rem",fontSize:"26rem",lineHeight:"26rem"}},Ge==null?void 0:Ge.value,c.createElement("span",{style:{fontSize:"14rem"}},Ge==null?void 0:Ge.unit)),(Ge==null?void 0:Ge.ProgressTitle)&&c.createElement("div",{className:"c-grey-666",style:{fontSize:"12rem",marginTop:"20rem"}},c.createElement("div",null,Ge==null?void 0:Ge.ProgressTitle,Ge==null?void 0:Ge.percent,"%"),c.createElement(S.Z,{percent:Ge==null?void 0:Ge.percent,showInfo:!1,trailColor:Ge==null?void 0:Ge.trailColor,strokeColor:Ge==null?void 0:Ge.strokeColor,style:{marginBottom:"0",marginLeft:"0"}}))))),c.createElement("div",{className:"c-grey-333 blod",style:{margin:"30rem 0 10rem 0",fontSize:"14rem"}},"\u5F00\u59CB\u5B66\u4E60"),c.createElement("div",{className:"flex flex-col",style:{gap:"10rem"}},(ct=(be=Ae==null?void 0:Ae.data)==null?void 0:be.children_ability_goals)==null?void 0:ct.map(Ge=>c.createElement("div",{key:Ge==null?void 0:Ge.id,className:"flex item-center",style:{gap:"20rem",padding:"20rem",background:"#F6F7F9",borderRadius:"6rem"}},c.createElement("div",{className:"flex-1 minW-0 flex flex-col"},c.createElement("div",{className:"flex",style:{gap:"10rem"}},c.createElement("div",{style:{color:"#3061D0"}},c.createElement(oe,{type:"\u5B50\u80FD\u529B",ImgProps:{style:{marginRight:"5rem"}}}),"\u5B50\u80FD\u529B"),c.createElement(te.Z,{title:Ge==null?void 0:Ge.name,placement:"topLeft"},c.createElement("div",{className:"multi_ellipsis1"},Ge==null?void 0:Ge.name))),c.createElement("div",{className:"flex item-center",style:{gap:"10rem",marginTop:"15rem",fontSize:"14rem"}},c.createElement(X.default,{color:"orange",style:{fontSize:"12rem",lineHeight:"1.5"}},"\u8282\u70B9"),c.createElement("span",{className:"c-grey-333"},Ge==null?void 0:Ge.last_knowledge_name),Ge!=null&&Ge.is_complete?c.createElement("span",{className:"c-green"},"\uFF08\u5DF2\u638C\u63E1\uFF09"):c.createElement("span",{className:"c-grey-666"},"\uFF08\u672A\u638C\u63E1\uFF09"))),c.createElement(F.op,{onClick:()=>It(void 0,null,function*(){yield Xt(Ge)})},(Ge==null?void 0:Ge.complete_rate)==0?"\u5F00\u59CB\u5B66\u4E60":"\u7EE7\u7EED\u5B66\u4E60")))))),(He=(ze=Ae==null?void 0:Ae.data)==null?void 0:ze.children_ability_goals)==null?void 0:He.map(Ge=>c.createElement(lt,{key:Ge==null?void 0:Ge.id,DataProps:Ge,pathsDetail:bt,getUrl:Xt}))))),c.createElement(x.default,{open:Ot==null?void 0:Ot.open,title:"\u89C6\u9891",width:800,centered:!0,onCancel:()=>{pt(At(tt({},Ot),{open:!1}))},onOk:()=>{pt(At(tt({},Ot),{open:!1}))}},c.createElement(ce.Z,{allow_skip:!0,videoId:Ot.id,toLog:!0,src:Ot==null?void 0:Ot.resourceUrl,logWatchHistory:Ge=>Rt(At(tt({},Ge),{container_type:localStorage.getItem("container_type_tupu")}))})),c.createElement(G.Z,{close:!0,style:{zIndex:1300,background:"rgba(1, 10, 35, 0.5)"},data:Kt==null?void 0:Kt.url,type:Kt==null?void 0:Kt.file_type,disabledDownload:!0,onClose:()=>gt({})}))};var cr=(0,l.connect)(({pathsDetail:bt,user:ut})=>({pathsDetail:bt,user:ut}))(Bt)},84989:function($t,Qe,ae){"use strict";ae.d(Qe,{BU:function(){return te},Dj:function(){return ee},gH:function(){return X},vp:function(){return S}});function ee(K){try{K.mozRequestFullScreen?K.mozRequestFullScreen():K.webkitRequestFullScreen&&K.webkitRequestFullScreen()}catch(y){console.log(y,":e")}}function te(){window.top.document.webkitExitFullscreen?window.top.document.webkitExitFullscreen():document.exitFullscreen?window.top.document.exitFullscreen():document.msExitFullscreen?window.top.document.msExitFullscreen():document.mozCancelFullScreen&&window.top.document.mozCancelFullScreen()}const X=()=>{if(document.webkitExitFullscreen)return"webkitfullscreenchange";if(document.exitFullscreen)return"fullscreenchange";if(document.msExitFullscreen)return"msfullscreenchange";if(document.mozCancelFullScreen)return"mozfullscreenchange"};function S(){var K=window.top.document.fullscreenElement||window.top.document.mozFullscreenElement||window.top.document.webkitFullscreenElement,y=document.fullscreenEnabled||document.mozFullscreenEnabled||document.webkitFullscreenEnabled;return console.log("fullscreenElement",K),window.isFullScreen?window.isFullScreen:K!=null}},45937:function($t,Qe,ae){"use strict";ae.d(Qe,{U:function(){return s}});var ee=ae(59301),te=Object.defineProperty,X=Object.getOwnPropertySymbols,S=Object.prototype.hasOwnProperty,K=Object.prototype.propertyIsEnumerable,y=(x,c,l)=>c in x?te(x,c,{enumerable:!0,configurable:!0,writable:!0,value:l}):x[c]=l,L=(x,c)=>{for(var l in c||(c={}))S.call(c,l)&&y(x,l,c[l]);if(X)for(var l of X(c))K.call(c,l)&&y(x,l,c[l]);return x},A=(x,c,l)=>new Promise((f,n)=>{var o=_=>{try{m(l.next(_))}catch(h){n(h)}},d=_=>{try{m(l.throw(_))}catch(h){n(h)}},m=_=>_.done?f(_.value):Promise.resolve(_.value).then(o,d);m((l=l.apply(x,c)).next())});function s(x,c){const[l,f]=(0,ee.useState)(c),[n,o]=(0,ee.useState)(!1),[d,m]=(0,ee.useState)();return[l,n,(h,g=!1)=>A(this,null,function*(){const r=g?c:L(L({},l),h);o(!0),f(r);const a=yield x(r);return o(!1),m(a),a}),d,m]}},30647:function($t,Qe,ae){"use strict";ae.d(Qe,{Z:function(){return rr}});class ee{static install(){Object.setPrototypeOf=Object.setPrototypeOf||function(V,Y){return V.__proto__=Y,V},Object.assign=Object.assign||function(V){if(V==null)throw new TypeError("Cannot convert undefined or null to object");let Y=Object(V);for(let Q=1;Q<arguments.length;Q++){let le=arguments[Q];if(le!=null)for(let fe in le)le.hasOwnProperty(fe)&&(Y[fe]=le[fe])}return Y},typeof self.Promise!="function"&&ae(3867).polyfill()}}ee.install();var te=ee,X=ae(86204),S=ae.n(X);class K{static e(V,Y){(!V||K.FORCE_GLOBAL_TAG)&&(V=K.GLOBAL_TAG);let Q=`[${V}] > ${Y}`;K.ENABLE_CALLBACK&&K.emitter.emit("log","error",Q),K.ENABLE_ERROR&&(console.error?console.error(Q):console.warn?console.warn(Q):console.log(Q))}static i(V,Y){(!V||K.FORCE_GLOBAL_TAG)&&(V=K.GLOBAL_TAG);let Q=`[${V}] > ${Y}`;K.ENABLE_CALLBACK&&K.emitter.emit("log","info",Q),K.ENABLE_INFO&&(console.info?console.info(Q):console.log(Q))}static w(V,Y){(!V||K.FORCE_GLOBAL_TAG)&&(V=K.GLOBAL_TAG);let Q=`[${V}] > ${Y}`;K.ENABLE_CALLBACK&&K.emitter.emit("log","warn",Q),K.ENABLE_WARN&&(console.warn?console.warn(Q):console.log(Q))}static d(V,Y){(!V||K.FORCE_GLOBAL_TAG)&&(V=K.GLOBAL_TAG);let Q=`[${V}] > ${Y}`;K.ENABLE_CALLBACK&&K.emitter.emit("log","debug",Q),K.ENABLE_DEBUG&&(console.debug?console.debug(Q):console.log(Q))}static v(V,Y){(!V||K.FORCE_GLOBAL_TAG)&&(V=K.GLOBAL_TAG);let Q=`[${V}] > ${Y}`;K.ENABLE_CALLBACK&&K.emitter.emit("log","verbose",Q),K.ENABLE_VERBOSE&&console.log(Q)}}K.GLOBAL_TAG="flv.js",K.FORCE_GLOBAL_TAG=!1,K.ENABLE_ERROR=!0,K.ENABLE_INFO=!0,K.ENABLE_WARN=!0,K.ENABLE_DEBUG=!0,K.ENABLE_VERBOSE=!0,K.ENABLE_CALLBACK=!1,K.emitter=new(S());var y=K;class L{constructor(){this._firstCheckpoint=0,this._lastCheckpoint=0,this._intervalBytes=0,this._totalBytes=0,this._lastSecondBytes=0,self.performance&&self.performance.now?this._now=self.performance.now.bind(self.performance):this._now=Date.now}reset(){this._firstCheckpoint=this._lastCheckpoint=0,this._totalBytes=this._intervalBytes=0,this._lastSecondBytes=0}addBytes(V){this._firstCheckpoint===0?(this._firstCheckpoint=this._now(),this._lastCheckpoint=this._firstCheckpoint,this._intervalBytes+=V,this._totalBytes+=V):this._now()-this._lastCheckpoint<1e3?(this._intervalBytes+=V,this._totalBytes+=V):(this._lastSecondBytes=this._intervalBytes,this._intervalBytes=V,this._totalBytes+=V,this._lastCheckpoint=this._now())}get currentKBps(){this.addBytes(0);let V=(this._now()-this._lastCheckpoint)/1e3;return V==0&&(V=1),this._intervalBytes/V/1024}get lastSecondKBps(){return this.addBytes(0),this._lastSecondBytes!==0?this._lastSecondBytes/1024:this._now()-this._lastCheckpoint>=500?this.currentKBps:0}get averageKBps(){let V=(this._now()-this._firstCheckpoint)/1e3;return this._totalBytes/V/1024}}var A=L;class s{constructor(V){this._message=V}get name(){return"RuntimeException"}get message(){return this._message}toString(){return this.name+": "+this.message}}class x extends s{constructor(V){super(V)}get name(){return"IllegalStateException"}}class c extends s{constructor(V){super(V)}get name(){return"InvalidArgumentException"}}class l extends s{constructor(V){super(V)}get name(){return"NotImplementedException"}}const f={kIdle:0,kConnecting:1,kBuffering:2,kError:3,kComplete:4},n={OK:"OK",EXCEPTION:"Exception",HTTP_STATUS_CODE_INVALID:"HttpStatusCodeInvalid",CONNECTING_TIMEOUT:"ConnectingTimeout",EARLY_EOF:"EarlyEof",UNRECOVERABLE_EARLY_EOF:"UnrecoverableEarlyEof"};class o{constructor(V){this._type=V||"undefined",this._status=f.kIdle,this._needStash=!1,this._onContentLengthKnown=null,this._onURLRedirect=null,this._onDataArrival=null,this._onError=null,this._onComplete=null}destroy(){this._status=f.kIdle,this._onContentLengthKnown=null,this._onURLRedirect=null,this._onDataArrival=null,this._onError=null,this._onComplete=null}isWorking(){return this._status===f.kConnecting||this._status===f.kBuffering}get type(){return this._type}get status(){return this._status}get needStashBuffer(){return this._needStash}get onContentLengthKnown(){return this._onContentLengthKnown}set onContentLengthKnown(V){this._onContentLengthKnown=V}get onURLRedirect(){return this._onURLRedirect}set onURLRedirect(V){this._onURLRedirect=V}get onDataArrival(){return this._onDataArrival}set onDataArrival(V){this._onDataArrival=V}get onError(){return this._onError}set onError(V){this._onError=V}get onComplete(){return this._onComplete}set onComplete(V){this._onComplete=V}open(V,Y){throw new l("Unimplemented abstract function!")}abort(){throw new l("Unimplemented abstract function!")}}let d={};function m(){let dt=self.navigator.userAgent.toLowerCase(),V=/(edge)\/([\w.]+)/.exec(dt)||/(opr)[\/]([\w.]+)/.exec(dt)||/(chrome)[ \/]([\w.]+)/.exec(dt)||/(iemobile)[\/]([\w.]+)/.exec(dt)||/(version)(applewebkit)[ \/]([\w.]+).*(safari)[ \/]([\w.]+)/.exec(dt)||/(webkit)[ \/]([\w.]+).*(version)[ \/]([\w.]+).*(safari)[ \/]([\w.]+)/.exec(dt)||/(webkit)[ \/]([\w.]+)/.exec(dt)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(dt)||/(msie) ([\w.]+)/.exec(dt)||dt.indexOf("trident")>=0&&/(rv)(?::| )([\w.]+)/.exec(dt)||dt.indexOf("compatible")<0&&/(firefox)[ \/]([\w.]+)/.exec(dt)||[],Y=/(ipad)/.exec(dt)||/(ipod)/.exec(dt)||/(windows phone)/.exec(dt)||/(iphone)/.exec(dt)||/(kindle)/.exec(dt)||/(android)/.exec(dt)||/(windows)/.exec(dt)||/(mac)/.exec(dt)||/(linux)/.exec(dt)||/(cros)/.exec(dt)||[],Q={browser:V[5]||V[3]||V[1]||"",version:V[2]||V[4]||"0",majorVersion:V[4]||V[2]||"0",platform:Y[0]||""},le={};if(Q.browser){le[Q.browser]=!0;let fe=Q.majorVersion.split(".");le.version={major:parseInt(Q.majorVersion,10),string:Q.version},fe.length>1&&(le.version.minor=parseInt(fe[1],10)),fe.length>2&&(le.version.build=parseInt(fe[2],10))}if(Q.platform&&(le[Q.platform]=!0),(le.chrome||le.opr||le.safari)&&(le.webkit=!0),le.rv||le.iemobile){le.rv&&delete le.rv;let fe="msie";Q.browser=fe,le[fe]=!0}if(le.edge){delete le.edge;let fe="msedge";Q.browser=fe,le[fe]=!0}if(le.opr){let fe="opera";Q.browser=fe,le[fe]=!0}if(le.safari&&le.android){let fe="android";Q.browser=fe,le[fe]=!0}le.name=Q.browser,le.platform=Q.platform;for(let fe in d)d.hasOwnProperty(fe)&&delete d[fe];Object.assign(d,le)}m();var _=d;class h extends o{static isSupported(){try{let V=_.msedge&&_.version.minor>=15048,Y=_.msedge?V:!0;return self.fetch&&self.ReadableStream&&Y}catch(V){return!1}}constructor(V,Y){super("fetch-stream-loader"),this.TAG="FetchStreamLoader",this._seekHandler=V,this._config=Y,this._needStash=!0,this._requestAbort=!1,this._contentLength=null,this._receivedLength=0}destroy(){this.isWorking()&&this.abort(),super.destroy()}open(V,Y){this._dataSource=V,this._range=Y;let Q=V.url;this._config.reuseRedirectedURL&&V.redirectedURL!=null&&(Q=V.redirectedURL);let le=this._seekHandler.getConfig(Q,Y),fe=new self.Headers;if(typeof le.headers=="object"){let Pe=le.headers;for(let Ye in Pe)Pe.hasOwnProperty(Ye)&&fe.append(Ye,Pe[Ye])}let Oe={method:"GET",headers:fe,mode:"cors",cache:"default",referrerPolicy:"no-referrer-when-downgrade"};if(typeof this._config.headers=="object")for(let Pe in this._config.headers)fe.append(Pe,this._config.headers[Pe]);V.cors===!1&&(Oe.mode="same-origin"),V.withCredentials&&(Oe.credentials="include"),V.referrerPolicy&&(Oe.referrerPolicy=V.referrerPolicy),this._status=f.kConnecting,self.fetch(le.url,Oe).then(Pe=>{if(this._requestAbort){this._requestAbort=!1,this._status=f.kIdle;return}if(Pe.ok&&Pe.status>=200&&Pe.status<=299){if(Pe.url!==le.url&&this._onURLRedirect){let $e=this._seekHandler.removeURLParameters(Pe.url);this._onURLRedirect($e)}let Ye=Pe.headers.get("Content-Length");return Ye!=null&&(this._contentLength=parseInt(Ye),this._contentLength!==0&&this._onContentLengthKnown&&this._onContentLengthKnown(this._contentLength)),this._pump.call(this,Pe.body.getReader())}else if(this._status=f.kError,this._onError)this._onError(n.HTTP_STATUS_CODE_INVALID,{code:Pe.status,msg:Pe.statusText});else throw new s("FetchStreamLoader: Http code invalid, "+Pe.status+" "+Pe.statusText)}).catch(Pe=>{if(this._status=f.kError,this._onError)this._onError(n.EXCEPTION,{code:-1,msg:Pe.message});else throw Pe})}abort(){this._requestAbort=!0}_pump(V){return V.read().then(Y=>{if(Y.done)if(this._contentLength!==null&&this._receivedLength<this._contentLength){this._status=f.kError;let Q=n.EARLY_EOF,le={code:-1,msg:"Fetch stream meet Early-EOF"};if(this._onError)this._onError(Q,le);else throw new s(le.msg)}else this._status=f.kComplete,this._onComplete&&this._onComplete(this._range.from,this._range.from+this._receivedLength-1);else{if(this._requestAbort===!0)return this._requestAbort=!1,this._status=f.kComplete,V.cancel();this._status=f.kBuffering;let Q=Y.value.buffer,le=this._range.from+this._receivedLength;this._receivedLength+=Q.byteLength,this._onDataArrival&&this._onDataArrival(Q,le,this._receivedLength),this._pump(V)}}).catch(Y=>{if(Y.code===11&&_.msedge)return;this._status=f.kError;let Q=0,le=null;if((Y.code===19||Y.message==="network error")&&(this._contentLength===null||this._contentLength!==null&&this._receivedLength<this._contentLength)?(Q=n.EARLY_EOF,le={code:Y.code,msg:"Fetch stream meet Early-EOF"}):(Q=n.EXCEPTION,le={code:Y.code,msg:Y.message}),this._onError)this._onError(Q,le);else throw new s(le.msg)})}}var g=h;class r extends o{static isSupported(){try{let V=new XMLHttpRequest;return V.open("GET","https://example.com",!0),V.responseType="moz-chunked-arraybuffer",V.responseType==="moz-chunked-arraybuffer"}catch(V){return y.w("MozChunkedLoader",V.message),!1}}constructor(V,Y){super("xhr-moz-chunked-loader"),this.TAG="MozChunkedLoader",this._seekHandler=V,this._config=Y,this._needStash=!0,this._xhr=null,this._requestAbort=!1,this._contentLength=null,this._receivedLength=0}destroy(){this.isWorking()&&this.abort(),this._xhr&&(this._xhr.onreadystatechange=null,this._xhr.onprogress=null,this._xhr.onloadend=null,this._xhr.onerror=null,this._xhr=null),super.destroy()}open(V,Y){this._dataSource=V,this._range=Y;let Q=V.url;this._config.reuseRedirectedURL&&V.redirectedURL!=null&&(Q=V.redirectedURL);let le=this._seekHandler.getConfig(Q,Y);this._requestURL=le.url;let fe=this._xhr=new XMLHttpRequest;if(fe.open("GET",le.url,!0),fe.responseType="moz-chunked-arraybuffer",fe.onreadystatechange=this._onReadyStateChange.bind(this),fe.onprogress=this._onProgress.bind(this),fe.onloadend=this._onLoadEnd.bind(this),fe.onerror=this._onXhrError.bind(this),V.withCredentials&&(fe.withCredentials=!0),typeof le.headers=="object"){let Oe=le.headers;for(let Pe in Oe)Oe.hasOwnProperty(Pe)&&fe.setRequestHeader(Pe,Oe[Pe])}if(typeof this._config.headers=="object"){let Oe=this._config.headers;for(let Pe in Oe)Oe.hasOwnProperty(Pe)&&fe.setRequestHeader(Pe,Oe[Pe])}this._status=f.kConnecting,fe.send()}abort(){this._requestAbort=!0,this._xhr&&this._xhr.abort(),this._status=f.kComplete}_onReadyStateChange(V){let Y=V.target;if(Y.readyState===2){if(Y.responseURL!=null&&Y.responseURL!==this._requestURL&&this._onURLRedirect){let Q=this._seekHandler.removeURLParameters(Y.responseURL);this._onURLRedirect(Q)}if(Y.status!==0&&(Y.status<200||Y.status>299))if(this._status=f.kError,this._onError)this._onError(n.HTTP_STATUS_CODE_INVALID,{code:Y.status,msg:Y.statusText});else throw new s("MozChunkedLoader: Http code invalid, "+Y.status+" "+Y.statusText);else this._status=f.kBuffering}}_onProgress(V){if(this._status===f.kError)return;this._contentLength===null&&V.total!==null&&V.total!==0&&(this._contentLength=V.total,this._onContentLengthKnown&&this._onContentLengthKnown(this._contentLength));let Y=V.target.response,Q=this._range.from+this._receivedLength;this._receivedLength+=Y.byteLength,this._onDataArrival&&this._onDataArrival(Y,Q,this._receivedLength)}_onLoadEnd(V){if(this._requestAbort===!0){this._requestAbort=!1;return}else if(this._status===f.kError)return;this._status=f.kComplete,this._onComplete&&this._onComplete(this._range.from,this._range.from+this._receivedLength-1)}_onXhrError(V){this._status=f.kError;let Y=0,Q=null;if(this._contentLength&&V.loaded<this._contentLength?(Y=n.EARLY_EOF,Q={code:-1,msg:"Moz-Chunked stream meet Early-Eof"}):(Y=n.EXCEPTION,Q={code:-1,msg:V.constructor.name+" "+V.type}),this._onError)this._onError(Y,Q);else throw new s(Q.msg)}}var a=r;class p extends null{static isSupported(){try{if(typeof self.MSStream=="undefined"||typeof self.MSStreamReader=="undefined")return!1;let V=new XMLHttpRequest;return V.open("GET","https://example.com",!0),V.responseType="ms-stream",V.responseType==="ms-stream"}catch(V){return Log.w("MSStreamLoader",V.message),!1}}constructor(V,Y){super("xhr-msstream-loader"),this.TAG="MSStreamLoader",this._seekHandler=V,this._config=Y,this._needStash=!0,this._xhr=null,this._reader=null,this._totalRange=null,this._currentRange=null,this._currentRequestURL=null,this._currentRedirectedURL=null,this._contentLength=null,this._receivedLength=0,this._bufferLimit=16*1024*1024,this._lastTimeBufferSize=0,this._isReconnecting=!1}destroy(){this.isWorking()&&this.abort(),this._reader&&(this._reader.onprogress=null,this._reader.onload=null,this._reader.onerror=null,this._reader=null),this._xhr&&(this._xhr.onreadystatechange=null,this._xhr=null),super.destroy()}open(V,Y){this._internalOpen(V,Y,!1)}_internalOpen(V,Y,Q){this._dataSource=V,Q?this._currentRange=Y:this._totalRange=Y;let le=V.url;this._config.reuseRedirectedURL&&(this._currentRedirectedURL!=null?le=this._currentRedirectedURL:V.redirectedURL!=null&&(le=V.redirectedURL));let fe=this._seekHandler.getConfig(le,Y);this._currentRequestURL=fe.url;let Oe=this._reader=new self.MSStreamReader;Oe.onprogress=this._msrOnProgress.bind(this),Oe.onload=this._msrOnLoad.bind(this),Oe.onerror=this._msrOnError.bind(this);let Pe=this._xhr=new XMLHttpRequest;if(Pe.open("GET",fe.url,!0),Pe.responseType="ms-stream",Pe.onreadystatechange=this._xhrOnReadyStateChange.bind(this),Pe.onerror=this._xhrOnError.bind(this),V.withCredentials&&(Pe.withCredentials=!0),typeof fe.headers=="object"){let Ye=fe.headers;for(let $e in Ye)Ye.hasOwnProperty($e)&&Pe.setRequestHeader($e,Ye[$e])}if(typeof this._config.headers=="object"){let Ye=this._config.headers;for(let $e in Ye)Ye.hasOwnProperty($e)&&Pe.setRequestHeader($e,Ye[$e])}this._isReconnecting?this._isReconnecting=!1:this._status=LoaderStatus.kConnecting,Pe.send()}abort(){this._internalAbort(),this._status=LoaderStatus.kComplete}_internalAbort(){this._reader&&(this._reader.readyState===1&&this._reader.abort(),this._reader.onprogress=null,this._reader.onload=null,this._reader.onerror=null,this._reader=null),this._xhr&&(this._xhr.abort(),this._xhr.onreadystatechange=null,this._xhr=null)}_xhrOnReadyStateChange(V){let Y=V.target;if(Y.readyState===2)if(Y.status>=200&&Y.status<=299){if(this._status=LoaderStatus.kBuffering,Y.responseURL!=null){let le=this._seekHandler.removeURLParameters(Y.responseURL);Y.responseURL!==this._currentRequestURL&&le!==this._currentRedirectedURL&&(this._currentRedirectedURL=le,this._onURLRedirect&&this._onURLRedirect(le))}let Q=Y.getResponseHeader("Content-Length");if(Q!=null&&this._contentLength==null){let le=parseInt(Q);le>0&&(this._contentLength=le,this._onContentLengthKnown&&this._onContentLengthKnown(this._contentLength))}}else if(this._status=LoaderStatus.kError,this._onError)this._onError(LoaderErrors.HTTP_STATUS_CODE_INVALID,{code:Y.status,msg:Y.statusText});else throw new RuntimeException("MSStreamLoader: Http code invalid, "+Y.status+" "+Y.statusText);else if(Y.readyState===3&&Y.status>=200&&Y.status<=299){this._status=LoaderStatus.kBuffering;let Q=Y.response;this._reader.readAsArrayBuffer(Q)}}_xhrOnError(V){this._status=LoaderStatus.kError;let Y=LoaderErrors.EXCEPTION,Q={code:-1,msg:V.constructor.name+" "+V.type};if(this._onError)this._onError(Y,Q);else throw new RuntimeException(Q.msg)}_msrOnProgress(V){let Q=V.target.result;if(Q==null){this._doReconnectIfNeeded();return}let le=Q.slice(this._lastTimeBufferSize);this._lastTimeBufferSize=Q.byteLength;let fe=this._totalRange.from+this._receivedLength;this._receivedLength+=le.byteLength,this._onDataArrival&&this._onDataArrival(le,fe,this._receivedLength),Q.byteLength>=this._bufferLimit&&(Log.v(this.TAG,`MSStream buffer exceeded max size near ${fe+le.byteLength}, reconnecting...`),this._doReconnectIfNeeded())}_doReconnectIfNeeded(){if(this._contentLength==null||this._receivedLength<this._contentLength){this._isReconnecting=!0,this._lastTimeBufferSize=0,this._internalAbort();let V={from:this._totalRange.from+this._receivedLength,to:-1};this._internalOpen(this._dataSource,V,!0)}}_msrOnLoad(V){this._status=LoaderStatus.kComplete,this._onComplete&&this._onComplete(this._totalRange.from,this._totalRange.from+this._receivedLength-1)}_msrOnError(V){this._status=LoaderStatus.kError;let Y=0,Q=null;if(this._contentLength&&this._receivedLength<this._contentLength?(Y=LoaderErrors.EARLY_EOF,Q={code:-1,msg:"MSStream meet Early-Eof"}):(Y=LoaderErrors.EARLY_EOF,Q={code:-1,msg:V.constructor.name+" "+V.type}),this._onError)this._onError(Y,Q);else throw new RuntimeException(Q.msg)}}var E=null;class b extends o{static isSupported(){try{let V=new XMLHttpRequest;return V.open("GET","https://example.com",!0),V.responseType="arraybuffer",V.responseType==="arraybuffer"}catch(V){return y.w("RangeLoader",V.message),!1}}constructor(V,Y){super("xhr-range-loader"),this.TAG="RangeLoader",this._seekHandler=V,this._config=Y,this._needStash=!1,this._chunkSizeKBList=[128,256,384,512,768,1024,1536,2048,3072,4096,5120,6144,7168,8192],this._currentChunkSizeKB=384,this._currentSpeedNormalized=0,this._zeroSpeedChunkCount=0,this._xhr=null,this._speedSampler=new A,this._requestAbort=!1,this._waitForTotalLength=!1,this._totalLengthReceived=!1,this._currentRequestURL=null,this._currentRedirectedURL=null,this._currentRequestRange=null,this._totalLength=null,this._contentLength=null,this._receivedLength=0,this._lastTimeLoaded=0}destroy(){this.isWorking()&&this.abort(),this._xhr&&(this._xhr.onreadystatechange=null,this._xhr.onprogress=null,this._xhr.onload=null,this._xhr.onerror=null,this._xhr=null),super.destroy()}get currentSpeed(){return this._speedSampler.lastSecondKBps}open(V,Y){this._dataSource=V,this._range=Y,this._status=f.kConnecting;let Q=!1;this._dataSource.filesize!=null&&this._dataSource.filesize!==0&&(Q=!0,this._totalLength=this._dataSource.filesize),!this._totalLengthReceived&&!Q?(this._waitForTotalLength=!0,this._internalOpen(this._dataSource,{from:0,to:-1})):this._openSubRange()}_openSubRange(){let V=this._currentChunkSizeKB*1024,Y=this._range.from+this._receivedLength,Q=Y+V;this._contentLength!=null&&Q-this._range.from>=this._contentLength&&(Q=this._range.from+this._contentLength-1),this._currentRequestRange={from:Y,to:Q},this._internalOpen(this._dataSource,this._currentRequestRange)}_internalOpen(V,Y){this._lastTimeLoaded=0;let Q=V.url;this._config.reuseRedirectedURL&&(this._currentRedirectedURL!=null?Q=this._currentRedirectedURL:V.redirectedURL!=null&&(Q=V.redirectedURL));let le=this._seekHandler.getConfig(Q,Y);this._currentRequestURL=le.url;let fe=this._xhr=new XMLHttpRequest;if(fe.open("GET",le.url,!0),fe.responseType="arraybuffer",fe.onreadystatechange=this._onReadyStateChange.bind(this),fe.onprogress=this._onProgress.bind(this),fe.onload=this._onLoad.bind(this),fe.onerror=this._onXhrError.bind(this),V.withCredentials&&(fe.withCredentials=!0),typeof le.headers=="object"){let Oe=le.headers;for(let Pe in Oe)Oe.hasOwnProperty(Pe)&&fe.setRequestHeader(Pe,Oe[Pe])}if(typeof this._config.headers=="object"){let Oe=this._config.headers;for(let Pe in Oe)Oe.hasOwnProperty(Pe)&&fe.setRequestHeader(Pe,Oe[Pe])}fe.send()}abort(){this._requestAbort=!0,this._internalAbort(),this._status=f.kComplete}_internalAbort(){this._xhr&&(this._xhr.onreadystatechange=null,this._xhr.onprogress=null,this._xhr.onload=null,this._xhr.onerror=null,this._xhr.abort(),this._xhr=null)}_onReadyStateChange(V){let Y=V.target;if(Y.readyState===2){if(Y.responseURL!=null){let Q=this._seekHandler.removeURLParameters(Y.responseURL);Y.responseURL!==this._currentRequestURL&&Q!==this._currentRedirectedURL&&(this._currentRedirectedURL=Q,this._onURLRedirect&&this._onURLRedirect(Q))}if(Y.status>=200&&Y.status<=299){if(this._waitForTotalLength)return;this._status=f.kBuffering}else if(this._status=f.kError,this._onError)this._onError(n.HTTP_STATUS_CODE_INVALID,{code:Y.status,msg:Y.statusText});else throw new s("RangeLoader: Http code invalid, "+Y.status+" "+Y.statusText)}}_onProgress(V){if(this._status===f.kError)return;if(this._contentLength===null){let Q=!1;if(this._waitForTotalLength){this._waitForTotalLength=!1,this._totalLengthReceived=!0,Q=!0;let le=V.total;this._internalAbort(),le!=null&le!==0&&(this._totalLength=le)}if(this._range.to===-1?this._contentLength=this._totalLength-this._range.from:this._contentLength=this._range.to-this._range.from+1,Q){this._openSubRange();return}this._onContentLengthKnown&&this._onContentLengthKnown(this._contentLength)}let Y=V.loaded-this._lastTimeLoaded;this._lastTimeLoaded=V.loaded,this._speedSampler.addBytes(Y)}_normalizeSpeed(V){let Y=this._chunkSizeKBList,Q=Y.length-1,le=0,fe=0,Oe=Q;if(V<Y[0])return Y[0];for(;fe<=Oe;){if(le=fe+Math.floor((Oe-fe)/2),le===Q||V>=Y[le]&&V<Y[le+1])return Y[le];Y[le]<V?fe=le+1:Oe=le-1}}_onLoad(V){if(this._status===f.kError)return;if(this._waitForTotalLength){this._waitForTotalLength=!1;return}this._lastTimeLoaded=0;let Y=this._speedSampler.lastSecondKBps;if(Y===0&&(this._zeroSpeedChunkCount++,this._zeroSpeedChunkCount>=3&&(Y=this._speedSampler.currentKBps)),Y!==0){let Oe=this._normalizeSpeed(Y);this._currentSpeedNormalized!==Oe&&(this._currentSpeedNormalized=Oe,this._currentChunkSizeKB=Oe)}let Q=V.target.response,le=this._range.from+this._receivedLength;this._receivedLength+=Q.byteLength;let fe=!1;this._contentLength!=null&&this._receivedLength<this._contentLength?this._openSubRange():fe=!0,this._onDataArrival&&this._onDataArrival(Q,le,this._receivedLength),fe&&(this._status=f.kComplete,this._onComplete&&this._onComplete(this._range.from,this._range.from+this._receivedLength-1))}_onXhrError(V){this._status=f.kError;let Y=0,Q=null;if(this._contentLength&&this._receivedLength>0&&this._receivedLength<this._contentLength?(Y=n.EARLY_EOF,Q={code:-1,msg:"RangeLoader meet Early-Eof"}):(Y=n.EXCEPTION,Q={code:-1,msg:V.constructor.name+" "+V.type}),this._onError)this._onError(Y,Q);else throw new s(Q.msg)}}var w=b;class R extends o{static isSupported(){try{return typeof self.WebSocket!="undefined"}catch(V){return!1}}constructor(){super("websocket-loader"),this.TAG="WebSocketLoader",this._needStash=!0,this._ws=null,this._requestAbort=!1,this._receivedLength=0}destroy(){this._ws&&this.abort(),super.destroy()}open(V){try{let Y=this._ws=new self.WebSocket(V.url);Y.binaryType="arraybuffer",Y.onopen=this._onWebSocketOpen.bind(this),Y.onclose=this._onWebSocketClose.bind(this),Y.onmessage=this._onWebSocketMessage.bind(this),Y.onerror=this._onWebSocketError.bind(this),this._status=f.kConnecting}catch(Y){this._status=f.kError;let Q={code:Y.code,msg:Y.message};if(this._onError)this._onError(n.EXCEPTION,Q);else throw new s(Q.msg)}}abort(){let V=this._ws;V&&(V.readyState===0||V.readyState===1)&&(this._requestAbort=!0,V.close()),this._ws=null,this._status=f.kComplete}_onWebSocketOpen(V){this._status=f.kBuffering}_onWebSocketClose(V){if(this._requestAbort===!0){this._requestAbort=!1;return}this._status=f.kComplete,this._onComplete&&this._onComplete(0,this._receivedLength-1)}_onWebSocketMessage(V){if(V.data instanceof ArrayBuffer)this._dispatchArrayBuffer(V.data);else if(V.data instanceof Blob){let Y=new FileReader;Y.onload=()=>{this._dispatchArrayBuffer(Y.result)},Y.readAsArrayBuffer(V.data)}else{this._status=f.kError;let Y={code:-1,msg:"Unsupported WebSocket message type: "+V.data.constructor.name};if(this._onError)this._onError(n.EXCEPTION,Y);else throw new s(Y.msg)}}_dispatchArrayBuffer(V){let Y=V,Q=this._receivedLength;this._receivedLength+=Y.byteLength,this._onDataArrival&&this._onDataArrival(Y,Q,this._receivedLength)}_onWebSocketError(V){this._status=f.kError;let Y={code:V.code,msg:V.message};if(this._onError)this._onError(n.EXCEPTION,Y);else throw new s(Y.msg)}}var O=R;class z{constructor(V){this._zeroStart=V||!1}getConfig(V,Y){let Q={};if(Y.from!==0||Y.to!==-1){let le;Y.to!==-1?le=`bytes=${Y.from.toString()}-${Y.to.toString()}`:le=`bytes=${Y.from.toString()}-`,Q.Range=le}else this._zeroStart&&(Q.Range="bytes=0-");return{url:V,headers:Q}}removeURLParameters(V){return V}}var B=z;class P{constructor(V,Y){this._startName=V,this._endName=Y}getConfig(V,Y){let Q=V;if(Y.from!==0||Y.to!==-1){let le=!0;Q.indexOf("?")===-1&&(Q+="?",le=!1),le&&(Q+="&"),Q+=`${this._startName}=${Y.from.toString()}`,Y.to!==-1&&(Q+=`&${this._endName}=${Y.to.toString()}`)}return{url:Q,headers:{}}}removeURLParameters(V){let Y=V.split("?")[0],Q,le=V.indexOf("?");le!==-1&&(Q=V.substring(le+1));let fe="";if(Q!=null&&Q.length>0){let Oe=Q.split("&");for(let Pe=0;Pe<Oe.length;Pe++){let Ye=Oe[Pe].split("="),$e=Pe>0;Ye[0]!==this._startName&&Ye[0]!==this._endName&&($e&&(fe+="&"),fe+=Oe[Pe])}}return fe.length===0?Y:Y+"?"+fe}}var F=P;class k{constructor(V,Y,Q){this.TAG="IOController",this._config=Y,this._extraData=Q,this._stashInitialSize=1024*384,Y.stashInitialSize!=null&&Y.stashInitialSize>0&&(this._stashInitialSize=Y.stashInitialSize),this._stashUsed=0,this._stashSize=this._stashInitialSize,this._bufferSize=1024*1024*3,this._stashBuffer=new ArrayBuffer(this._bufferSize),this._stashByteStart=0,this._enableStash=!0,Y.enableStashBuffer===!1&&(this._enableStash=!1),this._loader=null,this._loaderClass=null,this._seekHandler=null,this._dataSource=V,this._isWebSocketURL=/wss?:\/\/(.+?)/.test(V.url),this._refTotalLength=V.filesize?V.filesize:null,this._totalLength=this._refTotalLength,this._fullRequestFlag=!1,this._currentRange=null,this._redirectedURL=null,this._speedNormalized=0,this._speedSampler=new A,this._speedNormalizeList=[64,128,256,384,512,768,1024,1536,2048,3072,4096],this._isEarlyEofReconnecting=!1,this._paused=!1,this._resumeFrom=0,this._onDataArrival=null,this._onSeeked=null,this._onError=null,this._onComplete=null,this._onRedirect=null,this._onRecoveredEarlyEof=null,this._selectSeekHandler(),this._selectLoader(),this._createLoader()}destroy(){this._loader.isWorking()&&this._loader.abort(),this._loader.destroy(),this._loader=null,this._loaderClass=null,this._dataSource=null,this._stashBuffer=null,this._stashUsed=this._stashSize=this._bufferSize=this._stashByteStart=0,this._currentRange=null,this._speedSampler=null,this._isEarlyEofReconnecting=!1,this._onDataArrival=null,this._onSeeked=null,this._onError=null,this._onComplete=null,this._onRedirect=null,this._onRecoveredEarlyEof=null,this._extraData=null}isWorking(){return this._loader&&this._loader.isWorking()&&!this._paused}isPaused(){return this._paused}get status(){return this._loader.status}get extraData(){return this._extraData}set extraData(V){this._extraData=V}get onDataArrival(){return this._onDataArrival}set onDataArrival(V){this._onDataArrival=V}get onSeeked(){return this._onSeeked}set onSeeked(V){this._onSeeked=V}get onError(){return this._onError}set onError(V){this._onError=V}get onComplete(){return this._onComplete}set onComplete(V){this._onComplete=V}get onRedirect(){return this._onRedirect}set onRedirect(V){this._onRedirect=V}get onRecoveredEarlyEof(){return this._onRecoveredEarlyEof}set onRecoveredEarlyEof(V){this._onRecoveredEarlyEof=V}get currentURL(){return this._dataSource.url}get hasRedirect(){return this._redirectedURL!=null||this._dataSource.redirectedURL!=null}get currentRedirectedURL(){return this._redirectedURL||this._dataSource.redirectedURL}get currentSpeed(){return this._loaderClass===w?this._loader.currentSpeed:this._speedSampler.lastSecondKBps}get loaderType(){return this._loader.type}_selectSeekHandler(){let V=this._config;if(V.seekType==="range")this._seekHandler=new B(this._config.rangeLoadZeroStart);else if(V.seekType==="param"){let Y=V.seekParamStart||"bstart",Q=V.seekParamEnd||"bend";this._seekHandler=new F(Y,Q)}else if(V.seekType==="custom"){if(typeof V.customSeekHandler!="function")throw new c("Custom seekType specified in config but invalid customSeekHandler!");this._seekHandler=new V.customSeekHandler}else throw new c(`Invalid seekType in config: ${V.seekType}`)}_selectLoader(){if(this._config.customLoader!=null)this._loaderClass=this._config.customLoader;else if(this._isWebSocketURL)this._loaderClass=O;else if(g.isSupported())this._loaderClass=g;else if(a.isSupported())this._loaderClass=a;else if(w.isSupported())this._loaderClass=w;else throw new s("Your browser doesn't support xhr with arraybuffer responseType!")}_createLoader(){this._loader=new this._loaderClass(this._seekHandler,this._config),this._loader.needStashBuffer===!1&&(this._enableStash=!1),this._loader.onContentLengthKnown=this._onContentLengthKnown.bind(this),this._loader.onURLRedirect=this._onURLRedirect.bind(this),this._loader.onDataArrival=this._onLoaderChunkArrival.bind(this),this._loader.onComplete=this._onLoaderComplete.bind(this),this._loader.onError=this._onLoaderError.bind(this)}open(V){this._currentRange={from:0,to:-1},V&&(this._currentRange.from=V),this._speedSampler.reset(),V||(this._fullRequestFlag=!0),this._loader.open(this._dataSource,Object.assign({},this._currentRange))}abort(){this._loader.abort(),this._paused&&(this._paused=!1,this._resumeFrom=0)}pause(){this.isWorking()&&(this._loader.abort(),this._stashUsed!==0?(this._resumeFrom=this._stashByteStart,this._currentRange.to=this._stashByteStart-1):this._resumeFrom=this._currentRange.to+1,this._stashUsed=0,this._stashByteStart=0,this._paused=!0)}resume(){if(this._paused){this._paused=!1;let V=this._resumeFrom;this._resumeFrom=0,this._internalSeek(V,!0)}}seek(V){this._paused=!1,this._stashUsed=0,this._stashByteStart=0,this._internalSeek(V,!0)}_internalSeek(V,Y){this._loader.isWorking()&&this._loader.abort(),this._flushStashBuffer(Y),this._loader.destroy(),this._loader=null;let Q={from:V,to:-1};this._currentRange={from:Q.from,to:-1},this._speedSampler.reset(),this._stashSize=this._stashInitialSize,this._createLoader(),this._loader.open(this._dataSource,Q),this._onSeeked&&this._onSeeked()}updateUrl(V){if(!V||typeof V!="string"||V.length===0)throw new c("Url must be a non-empty string!");this._dataSource.url=V}_expandBuffer(V){let Y=this._stashSize;for(;Y+1024*1024*1<V;)Y*=2;if(Y+=1024*1024*1,Y===this._bufferSize)return;let Q=new ArrayBuffer(Y);if(this._stashUsed>0){let le=new Uint8Array(this._stashBuffer,0,this._stashUsed);new Uint8Array(Q,0,Y).set(le,0)}this._stashBuffer=Q,this._bufferSize=Y}_normalizeSpeed(V){let Y=this._speedNormalizeList,Q=Y.length-1,le=0,fe=0,Oe=Q;if(V<Y[0])return Y[0];for(;fe<=Oe;){if(le=fe+Math.floor((Oe-fe)/2),le===Q||V>=Y[le]&&V<Y[le+1])return Y[le];Y[le]<V?fe=le+1:Oe=le-1}}_adjustStashSize(V){let Y=0;this._config.isLive||V<512?Y=V:V>=512&&V<=1024?Y=Math.floor(V*1.5):Y=V*2,Y>8192&&(Y=8192);let Q=Y*1024+1024*1024*1;this._bufferSize<Q&&this._expandBuffer(Q),this._stashSize=Y*1024}_dispatchChunks(V,Y){return this._currentRange.to=Y+V.byteLength-1,this._onDataArrival(V,Y)}_onURLRedirect(V){this._redirectedURL=V,this._onRedirect&&this._onRedirect(V)}_onContentLengthKnown(V){V&&this._fullRequestFlag&&(this._totalLength=V,this._fullRequestFlag=!1)}_onLoaderChunkArrival(V,Y,Q){if(!this._onDataArrival)throw new x("IOController: No existing consumer (onDataArrival) callback!");if(this._paused)return;this._isEarlyEofReconnecting&&(this._isEarlyEofReconnecting=!1,this._onRecoveredEarlyEof&&this._onRecoveredEarlyEof()),this._speedSampler.addBytes(V.byteLength);let le=this._speedSampler.lastSecondKBps;if(le!==0){let fe=this._normalizeSpeed(le);this._speedNormalized!==fe&&(this._speedNormalized=fe,this._adjustStashSize(fe))}if(this._enableStash)if(this._stashUsed===0&&this._stashByteStart===0&&(this._stashByteStart=Y),this._stashUsed+V.byteLength<=this._stashSize)new Uint8Array(this._stashBuffer,0,this._stashSize).set(new Uint8Array(V),this._stashUsed),this._stashUsed+=V.byteLength;else{let fe=new Uint8Array(this._stashBuffer,0,this._bufferSize);if(this._stashUsed>0){let Oe=this._stashBuffer.slice(0,this._stashUsed),Pe=this._dispatchChunks(Oe,this._stashByteStart);if(Pe<Oe.byteLength){if(Pe>0){let Ye=new Uint8Array(Oe,Pe);fe.set(Ye,0),this._stashUsed=Ye.byteLength,this._stashByteStart+=Pe}}else this._stashUsed=0,this._stashByteStart+=Pe;this._stashUsed+V.byteLength>this._bufferSize&&(this._expandBuffer(this._stashUsed+V.byteLength),fe=new Uint8Array(this._stashBuffer,0,this._bufferSize)),fe.set(new Uint8Array(V),this._stashUsed),this._stashUsed+=V.byteLength}else{let Oe=this._dispatchChunks(V,Y);if(Oe<V.byteLength){let Pe=V.byteLength-Oe;Pe>this._bufferSize&&(this._expandBuffer(Pe),fe=new Uint8Array(this._stashBuffer,0,this._bufferSize)),fe.set(new Uint8Array(V,Oe),0),this._stashUsed+=Pe,this._stashByteStart=Y+Oe}}}else if(this._stashUsed===0){let fe=this._dispatchChunks(V,Y);if(fe<V.byteLength){let Oe=V.byteLength-fe;Oe>this._bufferSize&&this._expandBuffer(Oe),new Uint8Array(this._stashBuffer,0,this._bufferSize).set(new Uint8Array(V,fe),0),this._stashUsed+=Oe,this._stashByteStart=Y+fe}}else{this._stashUsed+V.byteLength>this._bufferSize&&this._expandBuffer(this._stashUsed+V.byteLength);let fe=new Uint8Array(this._stashBuffer,0,this._bufferSize);fe.set(new Uint8Array(V),this._stashUsed),this._stashUsed+=V.byteLength;let Oe=this._dispatchChunks(this._stashBuffer.slice(0,this._stashUsed),this._stashByteStart);if(Oe<this._stashUsed&&Oe>0){let Pe=new Uint8Array(this._stashBuffer,Oe);fe.set(Pe,0)}this._stashUsed-=Oe,this._stashByteStart+=Oe}}_flushStashBuffer(V){if(this._stashUsed>0){let Y=this._stashBuffer.slice(0,this._stashUsed),Q=this._dispatchChunks(Y,this._stashByteStart),le=Y.byteLength-Q;if(Q<Y.byteLength)if(V)y.w(this.TAG,`${le} bytes unconsumed data remain when flush buffer, dropped`);else{if(Q>0){let fe=new Uint8Array(this._stashBuffer,0,this._bufferSize),Oe=new Uint8Array(Y,Q);fe.set(Oe,0),this._stashUsed=Oe.byteLength,this._stashByteStart+=Q}return 0}return this._stashUsed=0,this._stashByteStart=0,le}return 0}_onLoaderComplete(V,Y){this._flushStashBuffer(!0),this._onComplete&&this._onComplete(this._extraData)}_onLoaderError(V,Y){switch(y.e(this.TAG,`Loader error, code = ${Y.code}, msg = ${Y.msg}`),this._flushStashBuffer(!1),this._isEarlyEofReconnecting&&(this._isEarlyEofReconnecting=!1,V=n.UNRECOVERABLE_EARLY_EOF),V){case n.EARLY_EOF:{if(!this._config.isLive&&this._totalLength){let Q=this._currentRange.to+1;Q<this._totalLength&&(y.w(this.TAG,"Connection lost, trying reconnect..."),this._isEarlyEofReconnecting=!0,this._internalSeek(Q,!1));return}V=n.UNRECOVERABLE_EARLY_EOF;break}case n.UNRECOVERABLE_EARLY_EOF:case n.CONNECTING_TIMEOUT:case n.HTTP_STATUS_CODE_INVALID:case n.EXCEPTION:break}if(this._onError)this._onError(V,Y);else throw new s("IOException: "+Y.msg)}}var U=k;const G={enableWorker:!1,enableStashBuffer:!0,stashInitialSize:void 0,isLive:!1,lazyLoad:!0,lazyLoadMaxDuration:3*60,lazyLoadRecoverDuration:30,deferLoadAfterSourceOpen:!0,autoCleanupMaxBackwardDuration:3*60,autoCleanupMinBackwardDuration:2*60,statisticsInfoReportInterval:600,fixAudioTimestampGap:!0,accurateSeek:!1,seekType:"range",seekParamStart:"bstart",seekParamEnd:"bend",rangeLoadZeroStart:!1,customSeekHandler:void 0,reuseRedirectedURL:!1,headers:void 0,customLoader:void 0};function C(){return Object.assign({},G)}class I{static supportMSEH264Playback(){return window.MediaSource&&window.MediaSource.isTypeSupported('video/mp4; codecs="avc1.42E01E,mp4a.40.2"')}static supportNetworkStreamIO(){let V=new U({},C()),Y=V.loaderType;return V.destroy(),Y=="fetch-stream-loader"||Y=="xhr-moz-chunked-loader"}static getNetworkLoaderTypeName(){let V=new U({},C()),Y=V.loaderType;return V.destroy(),Y}static supportNativeMediaPlayback(V){I.videoElement==null&&(I.videoElement=window.document.createElement("video"));let Y=I.videoElement.canPlayType(V);return Y==="probably"||Y=="maybe"}static getFeatureList(){let V={mseFlvPlayback:!1,mseLiveFlvPlayback:!1,networkStreamIO:!1,networkLoaderName:"",nativeMP4H264Playback:!1,nativeWebmVP8Playback:!1,nativeWebmVP9Playback:!1};return V.mseFlvPlayback=I.supportMSEH264Playback(),V.networkStreamIO=I.supportNetworkStreamIO(),V.networkLoaderName=I.getNetworkLoaderTypeName(),V.mseLiveFlvPlayback=V.mseFlvPlayback&&V.networkStreamIO,V.nativeMP4H264Playback=I.supportNativeMediaPlayback('video/mp4; codecs="avc1.42001E, mp4a.40.2"'),V.nativeWebmVP8Playback=I.supportNativeMediaPlayback('video/webm; codecs="vp8.0, vorbis"'),V.nativeWebmVP9Playback=I.supportNativeMediaPlayback('video/webm; codecs="vp9"'),V}}var H=I,q={ERROR:"error",LOADING_COMPLETE:"loading_complete",RECOVERED_EARLY_EOF:"recovered_early_eof",MEDIA_INFO:"media_info",METADATA_ARRIVED:"metadata_arrived",SCRIPTDATA_ARRIVED:"scriptdata_arrived",STATISTICS_INFO:"statistics_info"};class se{static get forceGlobalTag(){return y.FORCE_GLOBAL_TAG}static set forceGlobalTag(V){y.FORCE_GLOBAL_TAG=V,se._notifyChange()}static get globalTag(){return y.GLOBAL_TAG}static set globalTag(V){y.GLOBAL_TAG=V,se._notifyChange()}static get enableAll(){return y.ENABLE_VERBOSE&&y.ENABLE_DEBUG&&y.ENABLE_INFO&&y.ENABLE_WARN&&y.ENABLE_ERROR}static set enableAll(V){y.ENABLE_VERBOSE=V,y.ENABLE_DEBUG=V,y.ENABLE_INFO=V,y.ENABLE_WARN=V,y.ENABLE_ERROR=V,se._notifyChange()}static get enableDebug(){return y.ENABLE_DEBUG}static set enableDebug(V){y.ENABLE_DEBUG=V,se._notifyChange()}static get enableVerbose(){return y.ENABLE_VERBOSE}static set enableVerbose(V){y.ENABLE_VERBOSE=V,se._notifyChange()}static get enableInfo(){return y.ENABLE_INFO}static set enableInfo(V){y.ENABLE_INFO=V,se._notifyChange()}static get enableWarn(){return y.ENABLE_WARN}static set enableWarn(V){y.ENABLE_WARN=V,se._notifyChange()}static get enableError(){return y.ENABLE_ERROR}static set enableError(V){y.ENABLE_ERROR=V,se._notifyChange()}static getConfig(){return{globalTag:y.GLOBAL_TAG,forceGlobalTag:y.FORCE_GLOBAL_TAG,enableVerbose:y.ENABLE_VERBOSE,enableDebug:y.ENABLE_DEBUG,enableInfo:y.ENABLE_INFO,enableWarn:y.ENABLE_WARN,enableError:y.ENABLE_ERROR,enableCallback:y.ENABLE_CALLBACK}}static applyConfig(V){y.GLOBAL_TAG=V.globalTag,y.FORCE_GLOBAL_TAG=V.forceGlobalTag,y.ENABLE_VERBOSE=V.enableVerbose,y.ENABLE_DEBUG=V.enableDebug,y.ENABLE_INFO=V.enableInfo,y.ENABLE_WARN=V.enableWarn,y.ENABLE_ERROR=V.enableError,y.ENABLE_CALLBACK=V.enableCallback}static _notifyChange(){let V=se.emitter;if(V.listenerCount("change")>0){let Y=se.getConfig();V.emit("change",Y)}}static registerListener(V){se.emitter.addListener("change",V)}static removeListener(V){se.emitter.removeListener("change",V)}static addLogListener(V){y.emitter.addListener("log",V),y.emitter.listenerCount("log")>0&&(y.ENABLE_CALLBACK=!0,se._notifyChange())}static removeLogListener(V){y.emitter.removeListener("log",V),y.emitter.listenerCount("log")===0&&(y.ENABLE_CALLBACK=!1,se._notifyChange())}}se.emitter=new(S());var ue=se;class me{constructor(){this.mimeType=null,this.duration=null,this.hasAudio=null,this.hasVideo=null,this.audioCodec=null,this.videoCodec=null,this.audioDataRate=null,this.videoDataRate=null,this.audioSampleRate=null,this.audioChannelCount=null,this.width=null,this.height=null,this.fps=null,this.profile=null,this.level=null,this.refFrames=null,this.chromaFormat=null,this.sarNum=null,this.sarDen=null,this.metadata=null,this.segments=null,this.segmentCount=null,this.hasKeyframesIndex=null,this.keyframesIndex=null}isComplete(){let V=this.hasAudio===!1||this.hasAudio===!0&&this.audioCodec!=null&&this.audioSampleRate!=null&&this.audioChannelCount!=null,Y=this.hasVideo===!1||this.hasVideo===!0&&this.videoCodec!=null&&this.width!=null&&this.height!=null&&this.fps!=null&&this.profile!=null&&this.level!=null&&this.refFrames!=null&&this.chromaFormat!=null&&this.sarNum!=null&&this.sarDen!=null;return this.mimeType!=null&&this.duration!=null&&this.metadata!=null&&this.hasKeyframesIndex!=null&&V&&Y}isSeekable(){return this.hasKeyframesIndex===!0}getNearestKeyframe(V){if(this.keyframesIndex==null)return null;let Y=this.keyframesIndex,Q=this._search(Y.times,V);return{index:Q,milliseconds:Y.times[Q],fileposition:Y.filepositions[Q]}}_search(V,Y){let Q=0,le=V.length-1,fe=0,Oe=0,Pe=le;for(Y<V[0]&&(Q=0,Oe=Pe+1);Oe<=Pe;)if(fe=Oe+Math.floor((Pe-Oe)/2),fe===le||Y>=V[fe]&&Y<V[fe+1]){Q=fe;break}else V[fe]<Y?Oe=fe+1:Pe=fe-1;return Q}}var Ee=me;function Le(dt,V,Y){let Q=dt;if(V+Y<Q.length){for(;Y--;)if((Q[++V]&192)!==128)return!1;return!0}else return!1}function Fe(dt){let V=[],Y=dt,Q=0,le=dt.length;for(;Q<le;){if(Y[Q]<128){V.push(String.fromCharCode(Y[Q])),++Q;continue}else if(!(Y[Q]<192)){if(Y[Q]<224){if(Le(Y,Q,1)){let fe=(Y[Q]&31)<<6|Y[Q+1]&63;if(fe>=128){V.push(String.fromCharCode(fe&65535)),Q+=2;continue}}}else if(Y[Q]<240){if(Le(Y,Q,2)){let fe=(Y[Q]&15)<<12|(Y[Q+1]&63)<<6|Y[Q+2]&63;if(fe>=2048&&(fe&63488)!==55296){V.push(String.fromCharCode(fe&65535)),Q+=3;continue}}}else if(Y[Q]<248&&Le(Y,Q,3)){let fe=(Y[Q]&7)<<18|(Y[Q+1]&63)<<12|(Y[Q+2]&63)<<6|Y[Q+3]&63;if(fe>65536&&fe<1114112){fe-=65536,V.push(String.fromCharCode(fe>>>10|55296)),V.push(String.fromCharCode(fe&1023|56320)),Q+=4;continue}}}V.push("\uFFFD"),++Q}return V.join("")}var Ke=Fe;let Te=function(){let dt=new ArrayBuffer(2);return new DataView(dt).setInt16(0,256,!0),new Int16Array(dt)[0]===256}();class We{static parseScriptData(V,Y,Q){let le={};try{let fe=We.parseValue(V,Y,Q),Oe=We.parseValue(V,Y+fe.size,Q-fe.size);le[fe.data]=Oe.data}catch(fe){y.e("AMF",fe.toString())}return le}static parseObject(V,Y,Q){if(Q<3)throw new x("Data not enough when parse ScriptDataObject");let le=We.parseString(V,Y,Q),fe=We.parseValue(V,Y+le.size,Q-le.size),Oe=fe.objectEnd;return{data:{name:le.data,value:fe.data},size:le.size+fe.size,objectEnd:Oe}}static parseVariable(V,Y,Q){return We.parseObject(V,Y,Q)}static parseString(V,Y,Q){if(Q<2)throw new x("Data not enough when parse String");let fe=new DataView(V,Y,Q).getUint16(0,!Te),Oe;return fe>0?Oe=Ke(new Uint8Array(V,Y+2,fe)):Oe="",{data:Oe,size:2+fe}}static parseLongString(V,Y,Q){if(Q<4)throw new x("Data not enough when parse LongString");let fe=new DataView(V,Y,Q).getUint32(0,!Te),Oe;return fe>0?Oe=Ke(new Uint8Array(V,Y+4,fe)):Oe="",{data:Oe,size:4+fe}}static parseDate(V,Y,Q){if(Q<10)throw new x("Data size invalid when parse Date");let le=new DataView(V,Y,Q),fe=le.getFloat64(0,!Te),Oe=le.getInt16(8,!Te);return fe+=Oe*60*1e3,{data:new Date(fe),size:10}}static parseValue(V,Y,Q){if(Q<1)throw new x("Data not enough when parse Value");let le=new DataView(V,Y,Q),fe=1,Oe=le.getUint8(0),Pe,Ye=!1;try{switch(Oe){case 0:Pe=le.getFloat64(1,!Te),fe+=8;break;case 1:{Pe=!!le.getUint8(1),fe+=1;break}case 2:{let $e=We.parseString(V,Y+1,Q-1);Pe=$e.data,fe+=$e.size;break}case 3:{Pe={};let $e=0;for((le.getUint32(Q-4,!Te)&16777215)===9&&($e=3);fe<Q-4;){let Dt=We.parseObject(V,Y+fe,Q-fe-$e);if(Dt.objectEnd)break;Pe[Dt.data.name]=Dt.data.value,fe+=Dt.size}fe<=Q-3&&(le.getUint32(fe-1,!Te)&16777215)===9&&(fe+=3);break}case 8:{Pe={},fe+=4;let $e=0;for((le.getUint32(Q-4,!Te)&16777215)===9&&($e=3);fe<Q-8;){let Dt=We.parseVariable(V,Y+fe,Q-fe-$e);if(Dt.objectEnd)break;Pe[Dt.data.name]=Dt.data.value,fe+=Dt.size}fe<=Q-3&&(le.getUint32(fe-1,!Te)&16777215)===9&&(fe+=3);break}case 9:Pe=void 0,fe=1,Ye=!0;break;case 10:{Pe=[];let $e=le.getUint32(1,!Te);fe+=4;for(let Dt=0;Dt<$e;Dt++){let zt=We.parseValue(V,Y+fe,Q-fe);Pe.push(zt.data),fe+=zt.size}break}case 11:{let $e=We.parseDate(V,Y+1,Q-1);Pe=$e.data,fe+=$e.size;break}case 12:{let $e=We.parseString(V,Y+1,Q-1);Pe=$e.data,fe+=$e.size;break}default:fe=Q,y.w("AMF","Unsupported AMF value type "+Oe)}}catch($e){y.e("AMF",$e.toString())}return{data:Pe,size:fe,objectEnd:Ye}}}var Ce=We;class De{constructor(V){this.TAG="ExpGolomb",this._buffer=V,this._buffer_index=0,this._total_bytes=V.byteLength,this._total_bits=V.byteLength*8,this._current_word=0,this._current_word_bits_left=0}destroy(){this._buffer=null}_fillCurrentWord(){let V=this._total_bytes-this._buffer_index;if(V<=0)throw new x("ExpGolomb: _fillCurrentWord() but no bytes available");let Y=Math.min(4,V),Q=new Uint8Array(4);Q.set(this._buffer.subarray(this._buffer_index,this._buffer_index+Y)),this._current_word=new DataView(Q.buffer).getUint32(0,!1),this._buffer_index+=Y,this._current_word_bits_left=Y*8}readBits(V){if(V>32)throw new c("ExpGolomb: readBits() bits exceeded max 32bits!");if(V<=this._current_word_bits_left){let Oe=this._current_word>>>32-V;return this._current_word<<=V,this._current_word_bits_left-=V,Oe}let Y=this._current_word_bits_left?this._current_word:0;Y=Y>>>32-this._current_word_bits_left;let Q=V-this._current_word_bits_left;this._fillCurrentWord();let le=Math.min(Q,this._current_word_bits_left),fe=this._current_word>>>32-le;return this._current_word<<=le,this._current_word_bits_left-=le,Y=Y<<le|fe,Y}readBool(){return this.readBits(1)===1}readByte(){return this.readBits(8)}_skipLeadingZero(){let V;for(V=0;V<this._current_word_bits_left;V++)if(this._current_word&2147483648>>>V)return this._current_word<<=V,this._current_word_bits_left-=V,V;return this._fillCurrentWord(),V+this._skipLeadingZero()}readUEG(){let V=this._skipLeadingZero();return this.readBits(V+1)-1}readSEG(){let V=this.readUEG();return V&1?V+1>>>1:-1*(V>>>1)}}var ge=De;class Re{static _ebsp2rbsp(V){let Y=V,Q=Y.byteLength,le=new Uint8Array(Q),fe=0;for(let Oe=0;Oe<Q;Oe++)Oe>=2&&Y[Oe]===3&&Y[Oe-1]===0&&Y[Oe-2]===0||(le[fe]=Y[Oe],fe++);return new Uint8Array(le.buffer,0,fe)}static parseSPS(V){let Y=Re._ebsp2rbsp(V),Q=new ge(Y);Q.readByte();let le=Q.readByte();Q.readByte();let fe=Q.readByte();Q.readUEG();let Oe=Re.getProfileString(le),Pe=Re.getLevelString(fe),Ye=1,$e=420,Dt=[0,420,422,444],zt=8;if((le===100||le===110||le===122||le===244||le===44||le===83||le===86||le===118||le===128||le===138||le===144)&&(Ye=Q.readUEG(),Ye===3&&Q.readBits(1),Ye<=3&&($e=Dt[Ye]),zt=Q.readUEG()+8,Q.readUEG(),Q.readBits(1),Q.readBool())){let Gt=Ye!==3?8:12;for(let hr=0;hr<Gt;hr++)Q.readBool()&&(hr<6?Re._skipScalingList(Q,16):Re._skipScalingList(Q,64))}Q.readUEG();let Ie=Q.readUEG();if(Ie===0)Q.readUEG();else if(Ie===1){Q.readBits(1),Q.readSEG(),Q.readSEG();let Gt=Q.readUEG();for(let hr=0;hr<Gt;hr++)Q.readSEG()}let be=Q.readUEG();Q.readBits(1);let ct=Q.readUEG(),ze=Q.readUEG(),He=Q.readBits(1);He===0&&Q.readBits(1),Q.readBits(1);let Xe=0,st=0,mt=0,Kt=0;Q.readBool()&&(Xe=Q.readUEG(),st=Q.readUEG(),mt=Q.readUEG(),Kt=Q.readUEG());let Ot=1,pt=1,Ct=0,xt=!0,Ae=0,Ve=0;if(Q.readBool()){if(Q.readBool()){let Gt=Q.readByte(),hr=[1,12,10,16,40,24,20,32,80,18,15,64,160,4,3,2],Qt=[1,11,11,11,33,11,11,11,33,11,11,33,99,3,2,1];Gt>0&&Gt<16?(Ot=hr[Gt-1],pt=Qt[Gt-1]):Gt===255&&(Ot=Q.readByte()<<8|Q.readByte(),pt=Q.readByte()<<8|Q.readByte())}if(Q.readBool()&&Q.readBool(),Q.readBool()&&(Q.readBits(4),Q.readBool()&&Q.readBits(24)),Q.readBool()&&(Q.readUEG(),Q.readUEG()),Q.readBool()){let Gt=Q.readBits(32),hr=Q.readBits(32);xt=Q.readBool(),Ae=hr,Ve=Gt*2,Ct=Ae/Ve}}let rt=1;(Ot!==1||pt!==1)&&(rt=Ot/pt);let St=0,Rt=0;if(Ye===0)St=1,Rt=2-He;else{let Gt=Ye===3?1:2,hr=Ye===1?2:1;St=Gt,Rt=hr*(2-He)}let Mt=(ct+1)*16,Xt=(2-He)*((ze+1)*16);Mt-=(Xe+st)*St,Xt-=(mt+Kt)*Rt;let Ge=Math.ceil(Mt*rt);return Q.destroy(),Q=null,{profile_string:Oe,level_string:Pe,bit_depth:zt,ref_frames:be,chroma_format:$e,chroma_format_string:Re.getChromaFormatString($e),frame_rate:{fixed:xt,fps:Ct,fps_den:Ve,fps_num:Ae},sar_ratio:{width:Ot,height:pt},codec_size:{width:Mt,height:Xt},present_size:{width:Ge,height:Xt}}}static _skipScalingList(V,Y){let Q=8,le=8,fe=0;for(let Oe=0;Oe<Y;Oe++)le!==0&&(fe=V.readSEG(),le=(Q+fe+256)%256),Q=le===0?Q:le}static getProfileString(V){switch(V){case 66:return"Baseline";case 77:return"Main";case 88:return"Extended";case 100:return"High";case 110:return"High10";case 122:return"High422";case 244:return"High444";default:return"Unknown"}}static getLevelString(V){return(V/10).toFixed(1)}static getChromaFormatString(V){switch(V){case 420:return"4:2:0";case 422:return"4:2:2";case 444:return"4:4:4";default:return"Unknown"}}}var ve=Re,Ue={OK:"OK",FORMAT_ERROR:"FormatError",FORMAT_UNSUPPORTED:"FormatUnsupported",CODEC_UNSUPPORTED:"CodecUnsupported"};function de(dt){return dt>>>8&255|(dt&255)<<8}function oe(dt){return(dt&4278190080)>>>24|(dt&16711680)>>>8|(dt&65280)<<8|(dt&255)<<24}function ne(dt,V){return dt[V]<<24|dt[V+1]<<16|dt[V+2]<<8|dt[V+3]}class ce{constructor(V,Y){this.TAG="FLVDemuxer",this._config=Y,this._onError=null,this._onMediaInfo=null,this._onMetaDataArrived=null,this._onScriptDataArrived=null,this._onTrackMetadata=null,this._onDataAvailable=null,this._dataOffset=V.dataOffset,this._firstParse=!0,this._dispatch=!1,this._hasAudio=V.hasAudioTrack,this._hasVideo=V.hasVideoTrack,this._hasAudioFlagOverrided=!1,this._hasVideoFlagOverrided=!1,this._audioInitialMetadataDispatched=!1,this._videoInitialMetadataDispatched=!1,this._mediaInfo=new Ee,this._mediaInfo.hasAudio=this._hasAudio,this._mediaInfo.hasVideo=this._hasVideo,this._metadata=null,this._audioMetadata=null,this._videoMetadata=null,this._naluLengthSize=4,this._timestampBase=0,this._timescale=1e3,this._duration=0,this._durationOverrided=!1,this._referenceFrameRate={fixed:!0,fps:23.976,fps_num:23976,fps_den:1e3},this._flvSoundRateTable=[5500,11025,22050,44100,48e3],this._mpegSamplingRates=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350],this._mpegAudioV10SampleRateTable=[44100,48e3,32e3,0],this._mpegAudioV20SampleRateTable=[22050,24e3,16e3,0],this._mpegAudioV25SampleRateTable=[11025,12e3,8e3,0],this._mpegAudioL1BitRateTable=[0,32,64,96,128,160,192,224,256,288,320,352,384,416,448,-1],this._mpegAudioL2BitRateTable=[0,32,48,56,64,80,96,112,128,160,192,224,256,320,384,-1],this._mpegAudioL3BitRateTable=[0,32,40,48,56,64,80,96,112,128,160,192,224,256,320,-1],this._videoTrack={type:"video",id:1,sequenceNumber:0,samples:[],length:0},this._audioTrack={type:"audio",id:2,sequenceNumber:0,samples:[],length:0},this._littleEndian=function(){let Q=new ArrayBuffer(2);return new DataView(Q).setInt16(0,256,!0),new Int16Array(Q)[0]===256}()}destroy(){this._mediaInfo=null,this._metadata=null,this._audioMetadata=null,this._videoMetadata=null,this._videoTrack=null,this._audioTrack=null,this._onError=null,this._onMediaInfo=null,this._onMetaDataArrived=null,this._onScriptDataArrived=null,this._onTrackMetadata=null,this._onDataAvailable=null}static probe(V){let Y=new Uint8Array(V),Q={match:!1};if(Y[0]!==70||Y[1]!==76||Y[2]!==86||Y[3]!==1)return Q;let le=(Y[4]&4)>>>2!==0,fe=(Y[4]&1)!==0,Oe=ne(Y,5);return Oe<9?Q:{match:!0,consumed:Oe,dataOffset:Oe,hasAudioTrack:le,hasVideoTrack:fe}}bindDataSource(V){return V.onDataArrival=this.parseChunks.bind(this),this}get onTrackMetadata(){return this._onTrackMetadata}set onTrackMetadata(V){this._onTrackMetadata=V}get onMediaInfo(){return this._onMediaInfo}set onMediaInfo(V){this._onMediaInfo=V}get onMetaDataArrived(){return this._onMetaDataArrived}set onMetaDataArrived(V){this._onMetaDataArrived=V}get onScriptDataArrived(){return this._onScriptDataArrived}set onScriptDataArrived(V){this._onScriptDataArrived=V}get onError(){return this._onError}set onError(V){this._onError=V}get onDataAvailable(){return this._onDataAvailable}set onDataAvailable(V){this._onDataAvailable=V}get timestampBase(){return this._timestampBase}set timestampBase(V){this._timestampBase=V}get overridedDuration(){return this._duration}set overridedDuration(V){this._durationOverrided=!0,this._duration=V,this._mediaInfo.duration=V}set overridedHasAudio(V){this._hasAudioFlagOverrided=!0,this._hasAudio=V,this._mediaInfo.hasAudio=V}set overridedHasVideo(V){this._hasVideoFlagOverrided=!0,this._hasVideo=V,this._mediaInfo.hasVideo=V}resetMediaInfo(){this._mediaInfo=new Ee}_isInitialMetadataDispatched(){return this._hasAudio&&this._hasVideo?this._audioInitialMetadataDispatched&&this._videoInitialMetadataDispatched:this._hasAudio&&!this._hasVideo?this._audioInitialMetadataDispatched:!this._hasAudio&&this._hasVideo?this._videoInitialMetadataDispatched:!1}parseChunks(V,Y){if(!this._onError||!this._onMediaInfo||!this._onTrackMetadata||!this._onDataAvailable)throw new x("Flv: onError & onMediaInfo & onTrackMetadata & onDataAvailable callback must be specified");let Q=0,le=this._littleEndian;if(Y===0)if(V.byteLength>13)Q=ce.probe(V).dataOffset;else return 0;for(this._firstParse&&(this._firstParse=!1,Y+Q!==this._dataOffset&&y.w(this.TAG,"First time parsing but chunk byteStart invalid!"),new DataView(V,Q).getUint32(0,!le)!==0&&y.w(this.TAG,"PrevTagSize0 !== 0 !!!"),Q+=4);Q<V.byteLength;){this._dispatch=!0;let fe=new DataView(V,Q);if(Q+11+4>V.byteLength)break;let Oe=fe.getUint8(0),Pe=fe.getUint32(0,!le)&16777215;if(Q+11+Pe+4>V.byteLength)break;if(Oe!==8&&Oe!==9&&Oe!==18){y.w(this.TAG,`Unsupported tag type ${Oe}, skipped`),Q+=11+Pe+4;continue}let Ye=fe.getUint8(4),$e=fe.getUint8(5),Dt=fe.getUint8(6),zt=fe.getUint8(7),Ie=Dt|$e<<8|Ye<<16|zt<<24;(fe.getUint32(7,!le)&16777215)!==0&&y.w(this.TAG,"Meet tag which has StreamID != 0!");let ct=Q+11;switch(Oe){case 8:this._parseAudioData(V,ct,Pe,Ie);break;case 9:this._parseVideoData(V,ct,Pe,Ie,Y+Q);break;case 18:this._parseScriptData(V,ct,Pe);break}let ze=fe.getUint32(11+Pe,!le);ze!==11+Pe&&y.w(this.TAG,`Invalid PrevTagSize ${ze}`),Q+=11+Pe+4}return this._isInitialMetadataDispatched()&&this._dispatch&&(this._audioTrack.length||this._videoTrack.length)&&this._onDataAvailable(this._audioTrack,this._videoTrack),Q}_parseScriptData(V,Y,Q){let le=Ce.parseScriptData(V,Y,Q);if(le.hasOwnProperty("onMetaData")){if(le.onMetaData==null||typeof le.onMetaData!="object"){y.w(this.TAG,"Invalid onMetaData structure!");return}this._metadata&&y.w(this.TAG,"Found another onMetaData tag!"),this._metadata=le;let fe=this._metadata.onMetaData;if(this._onMetaDataArrived&&this._onMetaDataArrived(Object.assign({},fe)),typeof fe.hasAudio=="boolean"&&this._hasAudioFlagOverrided===!1&&(this._hasAudio=fe.hasAudio,this._mediaInfo.hasAudio=this._hasAudio),typeof fe.hasVideo=="boolean"&&this._hasVideoFlagOverrided===!1&&(this._hasVideo=fe.hasVideo,this._mediaInfo.hasVideo=this._hasVideo),typeof fe.audiodatarate=="number"&&(this._mediaInfo.audioDataRate=fe.audiodatarate),typeof fe.videodatarate=="number"&&(this._mediaInfo.videoDataRate=fe.videodatarate),typeof fe.width=="number"&&(this._mediaInfo.width=fe.width),typeof fe.height=="number"&&(this._mediaInfo.height=fe.height),typeof fe.duration=="number"){if(!this._durationOverrided){let Oe=Math.floor(fe.duration*this._timescale);this._duration=Oe,this._mediaInfo.duration=Oe}}else this._mediaInfo.duration=0;if(typeof fe.framerate=="number"){let Oe=Math.floor(fe.framerate*1e3);if(Oe>0){let Pe=Oe/1e3;this._referenceFrameRate.fixed=!0,this._referenceFrameRate.fps=Pe,this._referenceFrameRate.fps_num=Oe,this._referenceFrameRate.fps_den=1e3,this._mediaInfo.fps=Pe}}if(typeof fe.keyframes=="object"){this._mediaInfo.hasKeyframesIndex=!0;let Oe=fe.keyframes;this._mediaInfo.keyframesIndex=this._parseKeyframesIndex(Oe),fe.keyframes=null}else this._mediaInfo.hasKeyframesIndex=!1;this._dispatch=!1,this._mediaInfo.metadata=fe,y.v(this.TAG,"Parsed onMetaData"),this._mediaInfo.isComplete()&&this._onMediaInfo(this._mediaInfo)}Object.keys(le).length>0&&this._onScriptDataArrived&&this._onScriptDataArrived(Object.assign({},le))}_parseKeyframesIndex(V){let Y=[],Q=[];for(let le=1;le<V.times.length;le++){let fe=this._timestampBase+Math.floor(V.times[le]*1e3);Y.push(fe),Q.push(V.filepositions[le])}return{times:Y,filepositions:Q}}_parseAudioData(V,Y,Q,le){if(Q<=1){y.w(this.TAG,"Flv: Invalid audio packet, missing SoundData payload!");return}if(this._hasAudioFlagOverrided===!0&&this._hasAudio===!1)return;let fe=this._littleEndian,Pe=new DataView(V,Y,Q).getUint8(0),Ye=Pe>>>4;if(Ye!==2&&Ye!==10){this._onError(Ue.CODEC_UNSUPPORTED,"Flv: Unsupported audio codec idx: "+Ye);return}let $e=0,Dt=(Pe&12)>>>2;if(Dt>=0&&Dt<=4)$e=this._flvSoundRateTable[Dt];else{this._onError(Ue.FORMAT_ERROR,"Flv: Invalid audio sample rate idx: "+Dt);return}let zt=(Pe&2)>>>1,Ie=Pe&1,be=this._audioMetadata,ct=this._audioTrack;if(be||(this._hasAudio===!1&&this._hasAudioFlagOverrided===!1&&(this._hasAudio=!0,this._mediaInfo.hasAudio=!0),be=this._audioMetadata={},be.type="audio",be.id=ct.id,be.timescale=this._timescale,be.duration=this._duration,be.audioSampleRate=$e,be.channelCount=Ie===0?1:2),Ye===10){let ze=this._parseAACAudioData(V,Y+1,Q-1);if(ze==null)return;if(ze.packetType===0){be.config&&y.w(this.TAG,"Found another AudioSpecificConfig!");let He=ze.data;be.audioSampleRate=He.samplingRate,be.channelCount=He.channelCount,be.codec=He.codec,be.originalCodec=He.originalCodec,be.config=He.config,be.refSampleDuration=1024/be.audioSampleRate*be.timescale,y.v(this.TAG,"Parsed AudioSpecificConfig"),this._isInitialMetadataDispatched()?this._dispatch&&(this._audioTrack.length||this._videoTrack.length)&&this._onDataAvailable(this._audioTrack,this._videoTrack):this._audioInitialMetadataDispatched=!0,this._dispatch=!1,this._onTrackMetadata("audio",be);let Xe=this._mediaInfo;Xe.audioCodec=be.originalCodec,Xe.audioSampleRate=be.audioSampleRate,Xe.audioChannelCount=be.channelCount,Xe.hasVideo?Xe.videoCodec!=null&&(Xe.mimeType='video/x-flv; codecs="'+Xe.videoCodec+","+Xe.audioCodec+'"'):Xe.mimeType='video/x-flv; codecs="'+Xe.audioCodec+'"',Xe.isComplete()&&this._onMediaInfo(Xe)}else if(ze.packetType===1){let He=this._timestampBase+le,Xe={unit:ze.data,length:ze.data.byteLength,dts:He,pts:He};ct.samples.push(Xe),ct.length+=ze.data.length}else y.e(this.TAG,`Flv: Unsupported AAC data type ${ze.packetType}`)}else if(Ye===2){if(!be.codec){let st=this._parseMP3AudioData(V,Y+1,Q-1,!0);if(st==null)return;be.audioSampleRate=st.samplingRate,be.channelCount=st.channelCount,be.codec=st.codec,be.originalCodec=st.originalCodec,be.refSampleDuration=1152/be.audioSampleRate*be.timescale,y.v(this.TAG,"Parsed MPEG Audio Frame Header"),this._audioInitialMetadataDispatched=!0,this._onTrackMetadata("audio",be);let mt=this._mediaInfo;mt.audioCodec=be.codec,mt.audioSampleRate=be.audioSampleRate,mt.audioChannelCount=be.channelCount,mt.audioDataRate=st.bitRate,mt.hasVideo?mt.videoCodec!=null&&(mt.mimeType='video/x-flv; codecs="'+mt.videoCodec+","+mt.audioCodec+'"'):mt.mimeType='video/x-flv; codecs="'+mt.audioCodec+'"',mt.isComplete()&&this._onMediaInfo(mt)}let ze=this._parseMP3AudioData(V,Y+1,Q-1,!1);if(ze==null)return;let He=this._timestampBase+le,Xe={unit:ze,length:ze.byteLength,dts:He,pts:He};ct.samples.push(Xe),ct.length+=ze.length}}_parseAACAudioData(V,Y,Q){if(Q<=1){y.w(this.TAG,"Flv: Invalid AAC packet, missing AACPacketType or/and Data!");return}let le={},fe=new Uint8Array(V,Y,Q);return le.packetType=fe[0],fe[0]===0?le.data=this._parseAACAudioSpecificConfig(V,Y+1,Q-1):le.data=fe.subarray(1),le}_parseAACAudioSpecificConfig(V,Y,Q){let le=new Uint8Array(V,Y,Q),fe=null,Oe=0,Pe=0,Ye=null,$e=0,Dt=null;if(Oe=Pe=le[0]>>>3,$e=(le[0]&7)<<1|le[1]>>>7,$e<0||$e>=this._mpegSamplingRates.length){this._onError(Ue.FORMAT_ERROR,"Flv: AAC invalid sampling frequency index!");return}let zt=this._mpegSamplingRates[$e],Ie=(le[1]&120)>>>3;if(Ie<0||Ie>=8){this._onError(Ue.FORMAT_ERROR,"Flv: AAC invalid channel configuration");return}Oe===5&&(Dt=(le[1]&7)<<1|le[2]>>>7,Ye=(le[2]&124)>>>2);let be=self.navigator.userAgent.toLowerCase();return be.indexOf("firefox")!==-1?$e>=6?(Oe=5,fe=new Array(4),Dt=$e-3):(Oe=2,fe=new Array(2),Dt=$e):be.indexOf("android")!==-1?(Oe=2,fe=new Array(2),Dt=$e):(Oe=5,Dt=$e,fe=new Array(4),$e>=6?Dt=$e-3:Ie===1&&(Oe=2,fe=new Array(2),Dt=$e)),fe[0]=Oe<<3,fe[0]|=($e&15)>>>1,fe[1]=($e&15)<<7,fe[1]|=(Ie&15)<<3,Oe===5&&(fe[1]|=(Dt&15)>>>1,fe[2]=(Dt&1)<<7,fe[2]|=8,fe[3]=0),{config:fe,samplingRate:zt,channelCount:Ie,codec:"mp4a.40."+Oe,originalCodec:"mp4a.40."+Pe}}_parseMP3AudioData(V,Y,Q,le){if(Q<4){y.w(this.TAG,"Flv: Invalid MP3 packet, header missing!");return}let fe=this._littleEndian,Oe=new Uint8Array(V,Y,Q),Pe=null;if(le){if(Oe[0]!==255)return;let Ye=Oe[1]>>>3&3,$e=(Oe[1]&6)>>1,Dt=(Oe[2]&240)>>>4,zt=(Oe[2]&12)>>>2,be=(Oe[3]>>>6&3)!==3?2:1,ct=0,ze=0,He=34,Xe="mp3";switch(Ye){case 0:ct=this._mpegAudioV25SampleRateTable[zt];break;case 2:ct=this._mpegAudioV20SampleRateTable[zt];break;case 3:ct=this._mpegAudioV10SampleRateTable[zt];break}switch($e){case 1:He=34,Dt<this._mpegAudioL3BitRateTable.length&&(ze=this._mpegAudioL3BitRateTable[Dt]);break;case 2:He=33,Dt<this._mpegAudioL2BitRateTable.length&&(ze=this._mpegAudioL2BitRateTable[Dt]);break;case 3:He=32,Dt<this._mpegAudioL1BitRateTable.length&&(ze=this._mpegAudioL1BitRateTable[Dt]);break}Pe={bitRate:ze,samplingRate:ct,channelCount:be,codec:Xe,originalCodec:Xe}}else Pe=Oe;return Pe}_parseVideoData(V,Y,Q,le,fe){if(Q<=1){y.w(this.TAG,"Flv: Invalid video packet, missing VideoData payload!");return}if(this._hasVideoFlagOverrided===!0&&this._hasVideo===!1)return;let Oe=new Uint8Array(V,Y,Q)[0],Pe=(Oe&240)>>>4,Ye=Oe&15;if(Ye!==7){this._onError(Ue.CODEC_UNSUPPORTED,`Flv: Unsupported codec in video frame: ${Ye}`);return}this._parseAVCVideoPacket(V,Y+1,Q-1,le,fe,Pe)}_parseAVCVideoPacket(V,Y,Q,le,fe,Oe){if(Q<4){y.w(this.TAG,"Flv: Invalid AVC packet, missing AVCPacketType or/and CompositionTime");return}let Pe=this._littleEndian,Ye=new DataView(V,Y,Q),$e=Ye.getUint8(0),zt=(Ye.getUint32(0,!Pe)&16777215)<<8>>8;if($e===0)this._parseAVCDecoderConfigurationRecord(V,Y+4,Q-4);else if($e===1)this._parseAVCVideoData(V,Y+4,Q-4,le,fe,Oe,zt);else if($e!==2){this._onError(Ue.FORMAT_ERROR,`Flv: Invalid video packet type ${$e}`);return}}_parseAVCDecoderConfigurationRecord(V,Y,Q){if(Q<7){y.w(this.TAG,"Flv: Invalid AVCDecoderConfigurationRecord, lack of data!");return}let le=this._videoMetadata,fe=this._videoTrack,Oe=this._littleEndian,Pe=new DataView(V,Y,Q);le?typeof le.avcc!="undefined"&&y.w(this.TAG,"Found another AVCDecoderConfigurationRecord!"):(this._hasVideo===!1&&this._hasVideoFlagOverrided===!1&&(this._hasVideo=!0,this._mediaInfo.hasVideo=!0),le=this._videoMetadata={},le.type="video",le.id=fe.id,le.timescale=this._timescale,le.duration=this._duration);let Ye=Pe.getUint8(0),$e=Pe.getUint8(1),Dt=Pe.getUint8(2),zt=Pe.getUint8(3);if(Ye!==1||$e===0){this._onError(Ue.FORMAT_ERROR,"Flv: Invalid AVCDecoderConfigurationRecord");return}if(this._naluLengthSize=(Pe.getUint8(4)&3)+1,this._naluLengthSize!==3&&this._naluLengthSize!==4){this._onError(Ue.FORMAT_ERROR,`Flv: Strange NaluLengthSizeMinusOne: ${this._naluLengthSize-1}`);return}let Ie=Pe.getUint8(5)&31;if(Ie===0){this._onError(Ue.FORMAT_ERROR,"Flv: Invalid AVCDecoderConfigurationRecord: No SPS");return}else Ie>1&&y.w(this.TAG,`Flv: Strange AVCDecoderConfigurationRecord: SPS Count = ${Ie}`);let be=6;for(let ze=0;ze<Ie;ze++){let He=Pe.getUint16(be,!Oe);if(be+=2,He===0)continue;let Xe=new Uint8Array(V,Y+be,He);be+=He;let st=ve.parseSPS(Xe);if(ze!==0)continue;le.codecWidth=st.codec_size.width,le.codecHeight=st.codec_size.height,le.presentWidth=st.present_size.width,le.presentHeight=st.present_size.height,le.profile=st.profile_string,le.level=st.level_string,le.bitDepth=st.bit_depth,le.chromaFormat=st.chroma_format,le.sarRatio=st.sar_ratio,le.frameRate=st.frame_rate,(st.frame_rate.fixed===!1||st.frame_rate.fps_num===0||st.frame_rate.fps_den===0)&&(le.frameRate=this._referenceFrameRate);let mt=le.frameRate.fps_den,Kt=le.frameRate.fps_num;le.refSampleDuration=le.timescale*(mt/Kt);let gt=Xe.subarray(1,4),Ot="avc1.";for(let Ct=0;Ct<3;Ct++){let xt=gt[Ct].toString(16);xt.length<2&&(xt="0"+xt),Ot+=xt}le.codec=Ot;let pt=this._mediaInfo;pt.width=le.codecWidth,pt.height=le.codecHeight,pt.fps=le.frameRate.fps,pt.profile=le.profile,pt.level=le.level,pt.refFrames=st.ref_frames,pt.chromaFormat=st.chroma_format_string,pt.sarNum=le.sarRatio.width,pt.sarDen=le.sarRatio.height,pt.videoCodec=Ot,pt.hasAudio?pt.audioCodec!=null&&(pt.mimeType='video/x-flv; codecs="'+pt.videoCodec+","+pt.audioCodec+'"'):pt.mimeType='video/x-flv; codecs="'+pt.videoCodec+'"',pt.isComplete()&&this._onMediaInfo(pt)}let ct=Pe.getUint8(be);if(ct===0){this._onError(Ue.FORMAT_ERROR,"Flv: Invalid AVCDecoderConfigurationRecord: No PPS");return}else ct>1&&y.w(this.TAG,`Flv: Strange AVCDecoderConfigurationRecord: PPS Count = ${ct}`);be++;for(let ze=0;ze<ct;ze++){let He=Pe.getUint16(be,!Oe);be+=2,He!==0&&(be+=He)}le.avcc=new Uint8Array(Q),le.avcc.set(new Uint8Array(V,Y,Q),0),y.v(this.TAG,"Parsed AVCDecoderConfigurationRecord"),this._isInitialMetadataDispatched()?this._dispatch&&(this._audioTrack.length||this._videoTrack.length)&&this._onDataAvailable(this._audioTrack,this._videoTrack):this._videoInitialMetadataDispatched=!0,this._dispatch=!1,this._onTrackMetadata("video",le)}_parseAVCVideoData(V,Y,Q,le,fe,Oe,Pe){let Ye=this._littleEndian,$e=new DataView(V,Y,Q),Dt=[],zt=0,Ie=0;const be=this._naluLengthSize;let ct=this._timestampBase+le,ze=Oe===1;for(;Ie<Q;){if(Ie+4>=Q){y.w(this.TAG,`Malformed Nalu near timestamp ${ct}, offset = ${Ie}, dataSize = ${Q}`);break}let He=$e.getUint32(Ie,!Ye);if(be===3&&(He>>>=8),He>Q-be){y.w(this.TAG,`Malformed Nalus near timestamp ${ct}, NaluSize > DataSize!`);return}let Xe=$e.getUint8(Ie+be)&31;Xe===5&&(ze=!0);let st=new Uint8Array(V,Y+Ie,be+He),mt={type:Xe,data:st};Dt.push(mt),zt+=st.byteLength,Ie+=be+He}if(Dt.length){let He=this._videoTrack,Xe={units:Dt,length:zt,isKeyframe:ze,dts:ct,cts:Pe,pts:ct+Pe};ze&&(Xe.fileposition=fe),He.samples.push(Xe),He.length+=zt}}}var ye=ce;class he{static init(){he.types={avc1:[],avcC:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],mvex:[],mvhd:[],sdtp:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[],smhd:[],".mp3":[]};for(let Y in he.types)he.types.hasOwnProperty(Y)&&(he.types[Y]=[Y.charCodeAt(0),Y.charCodeAt(1),Y.charCodeAt(2),Y.charCodeAt(3)]);let V=he.constants={};V.FTYP=new Uint8Array([105,115,111,109,0,0,0,1,105,115,111,109,97,118,99,49]),V.STSD_PREFIX=new Uint8Array([0,0,0,0,0,0,0,1]),V.STTS=new Uint8Array([0,0,0,0,0,0,0,0]),V.STSC=V.STCO=V.STTS,V.STSZ=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),V.HDLR_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]),V.HDLR_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]),V.DREF=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),V.SMHD=new Uint8Array([0,0,0,0,0,0,0,0]),V.VMHD=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0])}static box(V){let Y=8,Q=null,le=Array.prototype.slice.call(arguments,1),fe=le.length;for(let Pe=0;Pe<fe;Pe++)Y+=le[Pe].byteLength;Q=new Uint8Array(Y),Q[0]=Y>>>24&255,Q[1]=Y>>>16&255,Q[2]=Y>>>8&255,Q[3]=Y&255,Q.set(V,4);let Oe=8;for(let Pe=0;Pe<fe;Pe++)Q.set(le[Pe],Oe),Oe+=le[Pe].byteLength;return Q}static generateInitSegment(V){let Y=he.box(he.types.ftyp,he.constants.FTYP),Q=he.moov(V),le=new Uint8Array(Y.byteLength+Q.byteLength);return le.set(Y,0),le.set(Q,Y.byteLength),le}static moov(V){let Y=he.mvhd(V.timescale,V.duration),Q=he.trak(V),le=he.mvex(V);return he.box(he.types.moov,Y,Q,le)}static mvhd(V,Y){return he.box(he.types.mvhd,new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,V>>>24&255,V>>>16&255,V>>>8&255,V&255,Y>>>24&255,Y>>>16&255,Y>>>8&255,Y&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]))}static trak(V){return he.box(he.types.trak,he.tkhd(V),he.mdia(V))}static tkhd(V){let Y=V.id,Q=V.duration,le=V.presentWidth,fe=V.presentHeight;return he.box(he.types.tkhd,new Uint8Array([0,0,0,7,0,0,0,0,0,0,0,0,Y>>>24&255,Y>>>16&255,Y>>>8&255,Y&255,0,0,0,0,Q>>>24&255,Q>>>16&255,Q>>>8&255,Q&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,le>>>8&255,le&255,0,0,fe>>>8&255,fe&255,0,0]))}static mdia(V){return he.box(he.types.mdia,he.mdhd(V),he.hdlr(V),he.minf(V))}static mdhd(V){let Y=V.timescale,Q=V.duration;return he.box(he.types.mdhd,new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,Y>>>24&255,Y>>>16&255,Y>>>8&255,Y&255,Q>>>24&255,Q>>>16&255,Q>>>8&255,Q&255,85,196,0,0]))}static hdlr(V){let Y=null;return V.type==="audio"?Y=he.constants.HDLR_AUDIO:Y=he.constants.HDLR_VIDEO,he.box(he.types.hdlr,Y)}static minf(V){let Y=null;return V.type==="audio"?Y=he.box(he.types.smhd,he.constants.SMHD):Y=he.box(he.types.vmhd,he.constants.VMHD),he.box(he.types.minf,Y,he.dinf(),he.stbl(V))}static dinf(){return he.box(he.types.dinf,he.box(he.types.dref,he.constants.DREF))}static stbl(V){return he.box(he.types.stbl,he.stsd(V),he.box(he.types.stts,he.constants.STTS),he.box(he.types.stsc,he.constants.STSC),he.box(he.types.stsz,he.constants.STSZ),he.box(he.types.stco,he.constants.STCO))}static stsd(V){return V.type==="audio"?V.codec==="mp3"?he.box(he.types.stsd,he.constants.STSD_PREFIX,he.mp3(V)):he.box(he.types.stsd,he.constants.STSD_PREFIX,he.mp4a(V)):he.box(he.types.stsd,he.constants.STSD_PREFIX,he.avc1(V))}static mp3(V){let Y=V.channelCount,Q=V.audioSampleRate,le=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,Y,0,16,0,0,0,0,Q>>>8&255,Q&255,0,0]);return he.box(he.types[".mp3"],le)}static mp4a(V){let Y=V.channelCount,Q=V.audioSampleRate,le=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,Y,0,16,0,0,0,0,Q>>>8&255,Q&255,0,0]);return he.box(he.types.mp4a,le,he.esds(V))}static esds(V){let Y=V.config||[],Q=Y.length,le=new Uint8Array([0,0,0,0,3,23+Q,0,1,0,4,15+Q,64,21,0,0,0,0,0,0,0,0,0,0,0,5].concat([Q]).concat(Y).concat([6,1,2]));return he.box(he.types.esds,le)}static avc1(V){let Y=V.avcc,Q=V.codecWidth,le=V.codecHeight,fe=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,Q>>>8&255,Q&255,le>>>8&255,le&255,0,72,0,0,0,72,0,0,0,0,0,0,0,1,10,120,113,113,47,102,108,118,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,255,255]);return he.box(he.types.avc1,fe,he.box(he.types.avcC,Y))}static mvex(V){return he.box(he.types.mvex,he.trex(V))}static trex(V){let Y=V.id,Q=new Uint8Array([0,0,0,0,Y>>>24&255,Y>>>16&255,Y>>>8&255,Y&255,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]);return he.box(he.types.trex,Q)}static moof(V,Y){return he.box(he.types.moof,he.mfhd(V.sequenceNumber),he.traf(V,Y))}static mfhd(V){let Y=new Uint8Array([0,0,0,0,V>>>24&255,V>>>16&255,V>>>8&255,V&255]);return he.box(he.types.mfhd,Y)}static traf(V,Y){let Q=V.id,le=he.box(he.types.tfhd,new Uint8Array([0,0,0,0,Q>>>24&255,Q>>>16&255,Q>>>8&255,Q&255])),fe=he.box(he.types.tfdt,new Uint8Array([0,0,0,0,Y>>>24&255,Y>>>16&255,Y>>>8&255,Y&255])),Oe=he.sdtp(V),Pe=he.trun(V,Oe.byteLength+16+16+8+16+8+8);return he.box(he.types.traf,le,fe,Pe,Oe)}static sdtp(V){let Y=V.samples||[],Q=Y.length,le=new Uint8Array(4+Q);for(let fe=0;fe<Q;fe++){let Oe=Y[fe].flags;le[fe+4]=Oe.isLeading<<6|Oe.dependsOn<<4|Oe.isDependedOn<<2|Oe.hasRedundancy}return he.box(he.types.sdtp,le)}static trun(V,Y){let Q=V.samples||[],le=Q.length,fe=12+16*le,Oe=new Uint8Array(fe);Y+=8+fe,Oe.set([0,0,15,1,le>>>24&255,le>>>16&255,le>>>8&255,le&255,Y>>>24&255,Y>>>16&255,Y>>>8&255,Y&255],0);for(let Pe=0;Pe<le;Pe++){let Ye=Q[Pe].duration,$e=Q[Pe].size,Dt=Q[Pe].flags,zt=Q[Pe].cts;Oe.set([Ye>>>24&255,Ye>>>16&255,Ye>>>8&255,Ye&255,$e>>>24&255,$e>>>16&255,$e>>>8&255,$e&255,Dt.isLeading<<2|Dt.dependsOn,Dt.isDependedOn<<6|Dt.hasRedundancy<<4|Dt.isNonSync,0,0,zt>>>24&255,zt>>>16&255,zt>>>8&255,zt&255],12+16*Pe)}return he.box(he.types.trun,Oe)}static mdat(V){return he.box(he.types.mdat,V)}}he.init();var xe=he;class Ne{static getSilentFrame(V,Y){if(V==="mp4a.40.2"){if(Y===1)return new Uint8Array([0,200,0,128,35,128]);if(Y===2)return new Uint8Array([33,0,73,144,2,25,0,35,128]);if(Y===3)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,142]);if(Y===4)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,128,44,128,8,2,56]);if(Y===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]);if(Y===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])}else{if(Y===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]);if(Y===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]);if(Y===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])}return null}}var Be=Ne;class je{constructor(V,Y,Q,le,fe){this.dts=V,this.pts=Y,this.duration=Q,this.originalDts=le,this.isSyncPoint=fe,this.fileposition=null}}class et{constructor(){this.beginDts=0,this.endDts=0,this.beginPts=0,this.endPts=0,this.originalBeginDts=0,this.originalEndDts=0,this.syncPoints=[],this.firstSample=null,this.lastSample=null}appendSyncPoint(V){V.isSyncPoint=!0,this.syncPoints.push(V)}}class ft{constructor(){this._list=[]}clear(){this._list=[]}appendArray(V){let Y=this._list;V.length!==0&&(Y.length>0&&V[0].originalDts<Y[Y.length-1].originalDts&&this.clear(),Array.prototype.push.apply(Y,V))}getLastSyncPointBeforeDts(V){if(this._list.length==0)return null;let Y=this._list,Q=0,le=Y.length-1,fe=0,Oe=0,Pe=le;for(V<Y[0].dts&&(Q=0,Oe=Pe+1);Oe<=Pe;)if(fe=Oe+Math.floor((Pe-Oe)/2),fe===le||V>=Y[fe].dts&&V<Y[fe+1].dts){Q=fe;break}else Y[fe].dts<V?Oe=fe+1:Pe=fe-1;return this._list[Q]}}class tt{constructor(V){this._type=V,this._list=[],this._lastAppendLocation=-1}get type(){return this._type}get length(){return this._list.length}isEmpty(){return this._list.length===0}clear(){this._list=[],this._lastAppendLocation=-1}_searchNearestSegmentBefore(V){let Y=this._list;if(Y.length===0)return-2;let Q=Y.length-1,le=0,fe=0,Oe=Q,Pe=0;if(V<Y[0].originalBeginDts)return Pe=-1,Pe;for(;fe<=Oe;)if(le=fe+Math.floor((Oe-fe)/2),le===Q||V>Y[le].lastSample.originalDts&&V<Y[le+1].originalBeginDts){Pe=le;break}else Y[le].originalBeginDts<V?fe=le+1:Oe=le-1;return Pe}_searchNearestSegmentAfter(V){return this._searchNearestSegmentBefore(V)+1}append(V){let Y=this._list,Q=V,le=this._lastAppendLocation,fe=0;le!==-1&&le<Y.length&&Q.originalBeginDts>=Y[le].lastSample.originalDts&&(le===Y.length-1||le<Y.length-1&&Q.originalBeginDts<Y[le+1].originalBeginDts)?fe=le+1:Y.length>0&&(fe=this._searchNearestSegmentBefore(Q.originalBeginDts)+1),this._lastAppendLocation=fe,this._list.splice(fe,0,Q)}getLastSegmentBefore(V){let Y=this._searchNearestSegmentBefore(V);return Y>=0?this._list[Y]:null}getLastSampleBefore(V){let Y=this.getLastSegmentBefore(V);return Y!=null?Y.lastSample:null}getLastSyncPointBefore(V){let Y=this._searchNearestSegmentBefore(V),Q=this._list[Y].syncPoints;for(;Q.length===0&&Y>0;)Y--,Q=this._list[Y].syncPoints;return Q.length>0?Q[Q.length-1]:null}}class At{constructor(V){this.TAG="MP4Remuxer",this._config=V,this._isLive=V.isLive===!0,this._dtsBase=-1,this._dtsBaseInited=!1,this._audioDtsBase=1/0,this._videoDtsBase=1/0,this._audioNextDts=void 0,this._videoNextDts=void 0,this._audioStashedLastSample=null,this._videoStashedLastSample=null,this._audioMeta=null,this._videoMeta=null,this._audioSegmentInfoList=new tt("audio"),this._videoSegmentInfoList=new tt("video"),this._onInitSegment=null,this._onMediaSegment=null,this._forceFirstIDR=!!(_.chrome&&(_.version.major<50||_.version.major===50&&_.version.build<2661)),this._fillSilentAfterSeek=_.msedge||_.msie,this._mp3UseMpegAudio=!_.firefox,this._fillAudioTimestampGap=this._config.fixAudioTimestampGap}destroy(){this._dtsBase=-1,this._dtsBaseInited=!1,this._audioMeta=null,this._videoMeta=null,this._audioSegmentInfoList.clear(),this._audioSegmentInfoList=null,this._videoSegmentInfoList.clear(),this._videoSegmentInfoList=null,this._onInitSegment=null,this._onMediaSegment=null}bindDataSource(V){return V.onDataAvailable=this.remux.bind(this),V.onTrackMetadata=this._onTrackMetadataReceived.bind(this),this}get onInitSegment(){return this._onInitSegment}set onInitSegment(V){this._onInitSegment=V}get onMediaSegment(){return this._onMediaSegment}set onMediaSegment(V){this._onMediaSegment=V}insertDiscontinuity(){this._audioNextDts=this._videoNextDts=void 0}seek(V){this._audioStashedLastSample=null,this._videoStashedLastSample=null,this._videoSegmentInfoList.clear(),this._audioSegmentInfoList.clear()}remux(V,Y){if(!this._onMediaSegment)throw new x("MP4Remuxer: onMediaSegment callback must be specificed!");this._dtsBaseInited||this._calculateDtsBase(V,Y),this._remuxVideo(Y),this._remuxAudio(V)}_onTrackMetadataReceived(V,Y){let Q=null,le="mp4",fe=Y.codec;if(V==="audio")this._audioMeta=Y,Y.codec==="mp3"&&this._mp3UseMpegAudio?(le="mpeg",fe="",Q=new Uint8Array):Q=xe.generateInitSegment(Y);else if(V==="video")this._videoMeta=Y,Q=xe.generateInitSegment(Y);else return;if(!this._onInitSegment)throw new x("MP4Remuxer: onInitSegment callback must be specified!");this._onInitSegment(V,{type:V,data:Q.buffer,codec:fe,container:`${V}/${le}`,mediaDuration:Y.duration})}_calculateDtsBase(V,Y){this._dtsBaseInited||(V.samples&&V.samples.length&&(this._audioDtsBase=V.samples[0].dts),Y.samples&&Y.samples.length&&(this._videoDtsBase=Y.samples[0].dts),this._dtsBase=Math.min(this._audioDtsBase,this._videoDtsBase),this._dtsBaseInited=!0)}flushStashedSamples(){let V=this._videoStashedLastSample,Y=this._audioStashedLastSample,Q={type:"video",id:1,sequenceNumber:0,samples:[],length:0};V!=null&&(Q.samples.push(V),Q.length=V.length);let le={type:"audio",id:2,sequenceNumber:0,samples:[],length:0};Y!=null&&(le.samples.push(Y),le.length=Y.length),this._videoStashedLastSample=null,this._audioStashedLastSample=null,this._remuxVideo(Q,!0),this._remuxAudio(le,!0)}_remuxAudio(V,Y){if(this._audioMeta==null)return;let Q=V,le=Q.samples,fe,Oe=-1,Pe=-1,Ye=-1,$e=this._audioMeta.refSampleDuration,Dt=this._audioMeta.codec==="mp3"&&this._mp3UseMpegAudio,zt=this._dtsBaseInited&&this._audioNextDts===void 0,Ie=!1;if(!le||le.length===0||le.length===1&&!Y)return;let be=0,ct=null,ze=0;Dt?(be=0,ze=Q.length):(be=8,ze=8+Q.length);let He=null;if(le.length>1&&(He=le.pop(),ze-=He.length),this._audioStashedLastSample!=null){let pt=this._audioStashedLastSample;this._audioStashedLastSample=null,le.unshift(pt),ze+=pt.length}He!=null&&(this._audioStashedLastSample=He);let Xe=le[0].dts-this._dtsBase;if(this._audioNextDts)fe=Xe-this._audioNextDts;else if(this._audioSegmentInfoList.isEmpty())fe=0,this._fillSilentAfterSeek&&!this._videoSegmentInfoList.isEmpty()&&this._audioMeta.originalCodec!=="mp3"&&(Ie=!0);else{let pt=this._audioSegmentInfoList.getLastSampleBefore(Xe);if(pt!=null){let Ct=Xe-(pt.originalDts+pt.duration);Ct<=3&&(Ct=0);let xt=pt.dts+pt.duration+Ct;fe=Xe-xt}else fe=0}if(Ie){let pt=Xe-fe,Ct=this._videoSegmentInfoList.getLastSegmentBefore(Xe);if(Ct!=null&&Ct.beginDts<pt){let xt=Be.getSilentFrame(this._audioMeta.originalCodec,this._audioMeta.channelCount);if(xt){let Ae=Ct.beginDts,Ve=pt-Ct.beginDts;y.v(this.TAG,`InsertPrefixSilentAudio: dts: ${Ae}, duration: ${Ve}`),le.unshift({unit:xt,dts:Ae,pts:Ae}),ze+=xt.byteLength}}else Ie=!1}let st=[];for(let pt=0;pt<le.length;pt++){let Ct=le[pt],xt=Ct.unit,Ae=Ct.dts-this._dtsBase,Ve=Ae-fe;Oe===-1&&(Oe=Ve);let Je=0;pt!==le.length-1?Je=le[pt+1].dts-this._dtsBase-fe-Ve:He!=null?Je=He.dts-this._dtsBase-fe-Ve:st.length>=1?Je=st[st.length-1].duration:Je=Math.floor($e);let rt=!1,St=null;if(Je>$e*1.5&&this._audioMeta.codec!=="mp3"&&this._fillAudioTimestampGap&&!_.safari){rt=!0;let Rt=Math.abs(Je-$e),Mt=Math.ceil(Rt/$e),Xt=Ve+$e;y.w(this.TAG,`Large audio timestamp gap detected, may cause AV sync to drift. Silent frames will be generated to avoid unsync.
dts: ${Ve+Je} ms, expected: ${Ve+Math.round($e)} ms, delta: ${Math.round(Rt)} ms, generate: ${Mt} frames`);let Ge=Be.getSilentFrame(this._audioMeta.originalCodec,this._audioMeta.channelCount);Ge==null&&(y.w(this.TAG,`Unable to generate silent frame for ${this._audioMeta.originalCodec} with ${this._audioMeta.channelCount} channels, repeat last frame`),Ge=xt),St=[];for(let hr=0;hr<Mt;hr++){let Qt=Math.round(Xt);if(St.length>0){let mr=St[St.length-1];mr.duration=Qt-mr.dts}let Zt={dts:Qt,pts:Qt,cts:0,unit:Ge,size:Ge.byteLength,duration:0,originalDts:Ae,flags:{isLeading:0,dependsOn:1,isDependedOn:0,hasRedundancy:0}};St.push(Zt),ze+=Zt.size,Xt+=$e}let Gt=St[St.length-1];Gt.duration=Ve+Je-Gt.dts,Je=Math.round($e)}st.push({dts:Ve,pts:Ve,cts:0,unit:Ct.unit,size:Ct.unit.byteLength,duration:Je,originalDts:Ae,flags:{isLeading:0,dependsOn:1,isDependedOn:0,hasRedundancy:0}}),rt&&st.push.apply(st,St)}Dt?ct=new Uint8Array(ze):(ct=new Uint8Array(ze),ct[0]=ze>>>24&255,ct[1]=ze>>>16&255,ct[2]=ze>>>8&255,ct[3]=ze&255,ct.set(xe.types.mdat,4));for(let pt=0;pt<st.length;pt++){let Ct=st[pt].unit;ct.set(Ct,be),be+=Ct.byteLength}let mt=st[st.length-1];Pe=mt.dts+mt.duration,this._audioNextDts=Pe;let Kt=new et;Kt.beginDts=Oe,Kt.endDts=Pe,Kt.beginPts=Oe,Kt.endPts=Pe,Kt.originalBeginDts=st[0].originalDts,Kt.originalEndDts=mt.originalDts+mt.duration,Kt.firstSample=new je(st[0].dts,st[0].pts,st[0].duration,st[0].originalDts,!1),Kt.lastSample=new je(mt.dts,mt.pts,mt.duration,mt.originalDts,!1),this._isLive||this._audioSegmentInfoList.append(Kt),Q.samples=st,Q.sequenceNumber++;let gt=null;Dt?gt=new Uint8Array:gt=xe.moof(Q,Oe),Q.samples=[],Q.length=0;let Ot={type:"audio",data:this._mergeBoxes(gt,ct).buffer,sampleCount:st.length,info:Kt};Dt&&zt&&(Ot.timestampOffset=Oe),this._onMediaSegment("audio",Ot)}_remuxVideo(V,Y){if(this._videoMeta==null)return;let Q=V,le=Q.samples,fe,Oe=-1,Pe=-1,Ye=-1,$e=-1;if(!le||le.length===0||le.length===1&&!Y)return;let Dt=8,zt=null,Ie=8+V.length,be=null;if(le.length>1&&(be=le.pop(),Ie-=be.length),this._videoStashedLastSample!=null){let mt=this._videoStashedLastSample;this._videoStashedLastSample=null,le.unshift(mt),Ie+=mt.length}be!=null&&(this._videoStashedLastSample=be);let ct=le[0].dts-this._dtsBase;if(this._videoNextDts)fe=ct-this._videoNextDts;else if(this._videoSegmentInfoList.isEmpty())fe=0;else{let mt=this._videoSegmentInfoList.getLastSampleBefore(ct);if(mt!=null){let Kt=ct-(mt.originalDts+mt.duration);Kt<=3&&(Kt=0);let gt=mt.dts+mt.duration+Kt;fe=ct-gt}else fe=0}let ze=new et,He=[];for(let mt=0;mt<le.length;mt++){let Kt=le[mt],gt=Kt.dts-this._dtsBase,Ot=Kt.isKeyframe,pt=gt-fe,Ct=Kt.cts,xt=pt+Ct;Oe===-1&&(Oe=pt,Ye=xt);let Ae=0;if(mt!==le.length-1?Ae=le[mt+1].dts-this._dtsBase-fe-pt:be!=null?Ae=be.dts-this._dtsBase-fe-pt:He.length>=1?Ae=He[He.length-1].duration:Ae=Math.floor(this._videoMeta.refSampleDuration),Ot){let Ve=new je(pt,xt,Ae,Kt.dts,!0);Ve.fileposition=Kt.fileposition,ze.appendSyncPoint(Ve)}He.push({dts:pt,pts:xt,cts:Ct,units:Kt.units,size:Kt.length,isKeyframe:Ot,duration:Ae,originalDts:gt,flags:{isLeading:0,dependsOn:Ot?2:1,isDependedOn:Ot?1:0,hasRedundancy:0,isNonSync:Ot?0:1}})}zt=new Uint8Array(Ie),zt[0]=Ie>>>24&255,zt[1]=Ie>>>16&255,zt[2]=Ie>>>8&255,zt[3]=Ie&255,zt.set(xe.types.mdat,4);for(let mt=0;mt<He.length;mt++){let Kt=He[mt].units;for(;Kt.length;){let Ot=Kt.shift().data;zt.set(Ot,Dt),Dt+=Ot.byteLength}}let Xe=He[He.length-1];if(Pe=Xe.dts+Xe.duration,$e=Xe.pts+Xe.duration,this._videoNextDts=Pe,ze.beginDts=Oe,ze.endDts=Pe,ze.beginPts=Ye,ze.endPts=$e,ze.originalBeginDts=He[0].originalDts,ze.originalEndDts=Xe.originalDts+Xe.duration,ze.firstSample=new je(He[0].dts,He[0].pts,He[0].duration,He[0].originalDts,He[0].isKeyframe),ze.lastSample=new je(Xe.dts,Xe.pts,Xe.duration,Xe.originalDts,Xe.isKeyframe),this._isLive||this._videoSegmentInfoList.append(ze),Q.samples=He,Q.sequenceNumber++,this._forceFirstIDR){let mt=He[0].flags;mt.dependsOn=2,mt.isNonSync=0}let st=xe.moof(Q,Oe);Q.samples=[],Q.length=0,this._onMediaSegment("video",{type:"video",data:this._mergeBoxes(st,zt).buffer,sampleCount:He.length,info:ze})}_mergeBoxes(V,Y){let Q=new Uint8Array(V.byteLength+Y.byteLength);return Q.set(V,0),Q.set(Y,V.byteLength),Q}}var It=At,lt={IO_ERROR:"io_error",DEMUX_ERROR:"demux_error",INIT_SEGMENT:"init_segment",MEDIA_SEGMENT:"media_segment",LOADING_COMPLETE:"loading_complete",RECOVERED_EARLY_EOF:"recovered_early_eof",MEDIA_INFO:"media_info",METADATA_ARRIVED:"metadata_arrived",SCRIPTDATA_ARRIVED:"scriptdata_arrived",STATISTICS_INFO:"statistics_info",RECOMMEND_SEEKPOINT:"recommend_seekpoint"};class Bt{constructor(V,Y){this.TAG="TransmuxingController",this._emitter=new(S()),this._config=Y,V.segments||(V.segments=[{duration:V.duration,filesize:V.filesize,url:V.url}]),typeof V.cors!="boolean"&&(V.cors=!0),typeof V.withCredentials!="boolean"&&(V.withCredentials=!1),this._mediaDataSource=V,this._currentSegmentIndex=0;let Q=0;this._mediaDataSource.segments.forEach(le=>{le.timestampBase=Q,Q+=le.duration,le.cors=V.cors,le.withCredentials=V.withCredentials,Y.referrerPolicy&&(le.referrerPolicy=Y.referrerPolicy)}),!isNaN(Q)&&this._mediaDataSource.duration!==Q&&(this._mediaDataSource.duration=Q),this._mediaInfo=null,this._demuxer=null,this._remuxer=null,this._ioctl=null,this._pendingSeekTime=null,this._pendingResolveSeekPoint=null,this._statisticsReporter=null}destroy(){this._mediaInfo=null,this._mediaDataSource=null,this._statisticsReporter&&this._disableStatisticsReporter(),this._ioctl&&(this._ioctl.destroy(),this._ioctl=null),this._demuxer&&(this._demuxer.destroy(),this._demuxer=null),this._remuxer&&(this._remuxer.destroy(),this._remuxer=null),this._emitter.removeAllListeners(),this._emitter=null}on(V,Y){this._emitter.addListener(V,Y)}off(V,Y){this._emitter.removeListener(V,Y)}start(){this._loadSegment(0),this._enableStatisticsReporter()}_loadSegment(V,Y){this._currentSegmentIndex=V;let Q=this._mediaDataSource.segments[V],le=this._ioctl=new U(Q,this._config,V);le.onError=this._onIOException.bind(this),le.onSeeked=this._onIOSeeked.bind(this),le.onComplete=this._onIOComplete.bind(this),le.onRedirect=this._onIORedirect.bind(this),le.onRecoveredEarlyEof=this._onIORecoveredEarlyEof.bind(this),Y?this._demuxer.bindDataSource(this._ioctl):le.onDataArrival=this._onInitChunkArrival.bind(this),le.open(Y)}stop(){this._internalAbort(),this._disableStatisticsReporter()}_internalAbort(){this._ioctl&&(this._ioctl.destroy(),this._ioctl=null)}pause(){this._ioctl&&this._ioctl.isWorking()&&(this._ioctl.pause(),this._disableStatisticsReporter())}resume(){this._ioctl&&this._ioctl.isPaused()&&(this._ioctl.resume(),this._enableStatisticsReporter())}seek(V){if(this._mediaInfo==null||!this._mediaInfo.isSeekable())return;let Y=this._searchSegmentIndexContains(V);if(Y===this._currentSegmentIndex){let Q=this._mediaInfo.segments[Y];if(Q==null)this._pendingSeekTime=V;else{let le=Q.getNearestKeyframe(V);this._remuxer.seek(le.milliseconds),this._ioctl.seek(le.fileposition),this._pendingResolveSeekPoint=le.milliseconds}}else{let Q=this._mediaInfo.segments[Y];if(Q==null)this._pendingSeekTime=V,this._internalAbort(),this._remuxer.seek(),this._remuxer.insertDiscontinuity(),this._loadSegment(Y);else{let le=Q.getNearestKeyframe(V);this._internalAbort(),this._remuxer.seek(V),this._remuxer.insertDiscontinuity(),this._demuxer.resetMediaInfo(),this._demuxer.timestampBase=this._mediaDataSource.segments[Y].timestampBase,this._loadSegment(Y,le.fileposition),this._pendingResolveSeekPoint=le.milliseconds,this._reportSegmentMediaInfo(Y)}}this._enableStatisticsReporter()}_searchSegmentIndexContains(V){let Y=this._mediaDataSource.segments,Q=Y.length-1;for(let le=0;le<Y.length;le++)if(V<Y[le].timestampBase){Q=le-1;break}return Q}_onInitChunkArrival(V,Y){let Q=null,le=0;if(Y>0)this._demuxer.bindDataSource(this._ioctl),this._demuxer.timestampBase=this._mediaDataSource.segments[this._currentSegmentIndex].timestampBase,le=this._demuxer.parseChunks(V,Y);else if((Q=ye.probe(V)).match){this._demuxer=new ye(Q,this._config),this._remuxer||(this._remuxer=new It(this._config));let fe=this._mediaDataSource;fe.duration!=null&&!isNaN(fe.duration)&&(this._demuxer.overridedDuration=fe.duration),typeof fe.hasAudio=="boolean"&&(this._demuxer.overridedHasAudio=fe.hasAudio),typeof fe.hasVideo=="boolean"&&(this._demuxer.overridedHasVideo=fe.hasVideo),this._demuxer.timestampBase=fe.segments[this._currentSegmentIndex].timestampBase,this._demuxer.onError=this._onDemuxException.bind(this),this._demuxer.onMediaInfo=this._onMediaInfo.bind(this),this._demuxer.onMetaDataArrived=this._onMetaDataArrived.bind(this),this._demuxer.onScriptDataArrived=this._onScriptDataArrived.bind(this),this._remuxer.bindDataSource(this._demuxer.bindDataSource(this._ioctl)),this._remuxer.onInitSegment=this._onRemuxerInitSegmentArrival.bind(this),this._remuxer.onMediaSegment=this._onRemuxerMediaSegmentArrival.bind(this),le=this._demuxer.parseChunks(V,Y)}else Q=null,y.e(this.TAG,"Non-FLV, Unsupported media type!"),Promise.resolve().then(()=>{this._internalAbort()}),this._emitter.emit(lt.DEMUX_ERROR,Ue.FORMAT_UNSUPPORTED,"Non-FLV, Unsupported media type"),le=0;return le}_onMediaInfo(V){this._mediaInfo==null&&(this._mediaInfo=Object.assign({},V),this._mediaInfo.keyframesIndex=null,this._mediaInfo.segments=[],this._mediaInfo.segmentCount=this._mediaDataSource.segments.length,Object.setPrototypeOf(this._mediaInfo,Ee.prototype));let Y=Object.assign({},V);Object.setPrototypeOf(Y,Ee.prototype),this._mediaInfo.segments[this._currentSegmentIndex]=Y,this._reportSegmentMediaInfo(this._currentSegmentIndex),this._pendingSeekTime!=null&&Promise.resolve().then(()=>{let Q=this._pendingSeekTime;this._pendingSeekTime=null,this.seek(Q)})}_onMetaDataArrived(V){this._emitter.emit(lt.METADATA_ARRIVED,V)}_onScriptDataArrived(V){this._emitter.emit(lt.SCRIPTDATA_ARRIVED,V)}_onIOSeeked(){this._remuxer.insertDiscontinuity()}_onIOComplete(V){let Q=V+1;Q<this._mediaDataSource.segments.length?(this._internalAbort(),this._remuxer.flushStashedSamples(),this._loadSegment(Q)):(this._remuxer.flushStashedSamples(),this._emitter.emit(lt.LOADING_COMPLETE),this._disableStatisticsReporter())}_onIORedirect(V){let Y=this._ioctl.extraData;this._mediaDataSource.segments[Y].redirectedURL=V}_onIORecoveredEarlyEof(){this._emitter.emit(lt.RECOVERED_EARLY_EOF)}_onIOException(V,Y){y.e(this.TAG,`IOException: type = ${V}, code = ${Y.code}, msg = ${Y.msg}`),this._emitter.emit(lt.IO_ERROR,V,Y),this._disableStatisticsReporter()}_onDemuxException(V,Y){y.e(this.TAG,`DemuxException: type = ${V}, info = ${Y}`),this._emitter.emit(lt.DEMUX_ERROR,V,Y)}_onRemuxerInitSegmentArrival(V,Y){this._emitter.emit(lt.INIT_SEGMENT,V,Y)}_onRemuxerMediaSegmentArrival(V,Y){if(this._pendingSeekTime==null&&(this._emitter.emit(lt.MEDIA_SEGMENT,V,Y),this._pendingResolveSeekPoint!=null&&V==="video")){let Q=Y.info.syncPoints,le=this._pendingResolveSeekPoint;this._pendingResolveSeekPoint=null,_.safari&&Q.length>0&&Q[0].originalDts===le&&(le=Q[0].pts),this._emitter.emit(lt.RECOMMEND_SEEKPOINT,le)}}_enableStatisticsReporter(){this._statisticsReporter==null&&(this._statisticsReporter=self.setInterval(this._reportStatisticsInfo.bind(this),this._config.statisticsInfoReportInterval))}_disableStatisticsReporter(){this._statisticsReporter&&(self.clearInterval(this._statisticsReporter),this._statisticsReporter=null)}_reportSegmentMediaInfo(V){let Y=this._mediaInfo.segments[V],Q=Object.assign({},Y);Q.duration=this._mediaInfo.duration,Q.segmentCount=this._mediaInfo.segmentCount,delete Q.segments,delete Q.keyframesIndex,this._emitter.emit(lt.MEDIA_INFO,Q)}_reportStatisticsInfo(){let V={};V.url=this._ioctl.currentURL,V.hasRedirect=this._ioctl.hasRedirect,V.hasRedirect&&(V.redirectedURL=this._ioctl.currentRedirectedURL),V.speed=this._ioctl.currentSpeed,V.loaderType=this._ioctl.loaderType,V.currentSegmentIndex=this._currentSegmentIndex,V.totalSegmentCount=this._mediaDataSource.segments.length,this._emitter.emit(lt.STATISTICS_INFO,V)}}var cr=Bt,ut=function(dt){let V="TransmuxingWorker",Y=null,Q=ze.bind(this);te.install(),dt.addEventListener("message",function(He){switch(He.data.cmd){case"init":Y=new cr(He.data.param[0],He.data.param[1]),Y.on(lt.IO_ERROR,Ie.bind(this)),Y.on(lt.DEMUX_ERROR,be.bind(this)),Y.on(lt.INIT_SEGMENT,le.bind(this)),Y.on(lt.MEDIA_SEGMENT,fe.bind(this)),Y.on(lt.LOADING_COMPLETE,Oe.bind(this)),Y.on(lt.RECOVERED_EARLY_EOF,Pe.bind(this)),Y.on(lt.MEDIA_INFO,Ye.bind(this)),Y.on(lt.METADATA_ARRIVED,$e.bind(this)),Y.on(lt.SCRIPTDATA_ARRIVED,Dt.bind(this)),Y.on(lt.STATISTICS_INFO,zt.bind(this)),Y.on(lt.RECOMMEND_SEEKPOINT,ct.bind(this));break;case"destroy":Y&&(Y.destroy(),Y=null),dt.postMessage({msg:"destroyed"});break;case"start":Y.start();break;case"stop":Y.stop();break;case"seek":Y.seek(He.data.param);break;case"pause":Y.pause();break;case"resume":Y.resume();break;case"logging_config":{let Xe=He.data.param;ue.applyConfig(Xe),Xe.enableCallback===!0?ue.addLogListener(Q):ue.removeLogListener(Q);break}}});function le(He,Xe){let st={msg:lt.INIT_SEGMENT,data:{type:He,data:Xe}};dt.postMessage(st,[Xe.data])}function fe(He,Xe){let st={msg:lt.MEDIA_SEGMENT,data:{type:He,data:Xe}};dt.postMessage(st,[Xe.data])}function Oe(){let He={msg:lt.LOADING_COMPLETE};dt.postMessage(He)}function Pe(){let He={msg:lt.RECOVERED_EARLY_EOF};dt.postMessage(He)}function Ye(He){let Xe={msg:lt.MEDIA_INFO,data:He};dt.postMessage(Xe)}function $e(He){let Xe={msg:lt.METADATA_ARRIVED,data:He};dt.postMessage(Xe)}function Dt(He){let Xe={msg:lt.SCRIPTDATA_ARRIVED,data:He};dt.postMessage(Xe)}function zt(He){let Xe={msg:lt.STATISTICS_INFO,data:He};dt.postMessage(Xe)}function Ie(He,Xe){dt.postMessage({msg:lt.IO_ERROR,data:{type:He,info:Xe}})}function be(He,Xe){dt.postMessage({msg:lt.DEMUX_ERROR,data:{type:He,info:Xe}})}function ct(He){dt.postMessage({msg:lt.RECOMMEND_SEEKPOINT,data:He})}function ze(He,Xe){dt.postMessage({msg:"logcat_callback",data:{type:He,logcat:Xe}})}};class Wt{constructor(V,Y){if(this.TAG="Transmuxer",this._emitter=new(S()),Y.enableWorker&&typeof Worker!="undefined")try{let Q=ae(82059);this._worker=Q(ut),this._workerDestroying=!1,this._worker.addEventListener("message",this._onWorkerMessage.bind(this)),this._worker.postMessage({cmd:"init",param:[V,Y]}),this.e={onLoggingConfigChanged:this._onLoggingConfigChanged.bind(this)},ue.registerListener(this.e.onLoggingConfigChanged),this._worker.postMessage({cmd:"logging_config",param:ue.getConfig()})}catch(Q){y.e(this.TAG,"Error while initialize transmuxing worker, fallback to inline transmuxing"),this._worker=null,this._controller=new cr(V,Y)}else this._controller=new cr(V,Y);if(this._controller){let Q=this._controller;Q.on(lt.IO_ERROR,this._onIOError.bind(this)),Q.on(lt.DEMUX_ERROR,this._onDemuxError.bind(this)),Q.on(lt.INIT_SEGMENT,this._onInitSegment.bind(this)),Q.on(lt.MEDIA_SEGMENT,this._onMediaSegment.bind(this)),Q.on(lt.LOADING_COMPLETE,this._onLoadingComplete.bind(this)),Q.on(lt.RECOVERED_EARLY_EOF,this._onRecoveredEarlyEof.bind(this)),Q.on(lt.MEDIA_INFO,this._onMediaInfo.bind(this)),Q.on(lt.METADATA_ARRIVED,this._onMetaDataArrived.bind(this)),Q.on(lt.SCRIPTDATA_ARRIVED,this._onScriptDataArrived.bind(this)),Q.on(lt.STATISTICS_INFO,this._onStatisticsInfo.bind(this)),Q.on(lt.RECOMMEND_SEEKPOINT,this._onRecommendSeekpoint.bind(this))}}destroy(){this._worker?this._workerDestroying||(this._workerDestroying=!0,this._worker.postMessage({cmd:"destroy"}),ue.removeListener(this.e.onLoggingConfigChanged),this.e=null):(this._controller.destroy(),this._controller=null),this._emitter.removeAllListeners(),this._emitter=null}on(V,Y){this._emitter.addListener(V,Y)}off(V,Y){this._emitter.removeListener(V,Y)}hasWorker(){return this._worker!=null}open(){this._worker?this._worker.postMessage({cmd:"start"}):this._controller.start()}close(){this._worker?this._worker.postMessage({cmd:"stop"}):this._controller.stop()}seek(V){this._worker?this._worker.postMessage({cmd:"seek",param:V}):this._controller.seek(V)}pause(){this._worker?this._worker.postMessage({cmd:"pause"}):this._controller.pause()}resume(){this._worker?this._worker.postMessage({cmd:"resume"}):this._controller.resume()}_onInitSegment(V,Y){Promise.resolve().then(()=>{this._emitter.emit(lt.INIT_SEGMENT,V,Y)})}_onMediaSegment(V,Y){Promise.resolve().then(()=>{this._emitter.emit(lt.MEDIA_SEGMENT,V,Y)})}_onLoadingComplete(){Promise.resolve().then(()=>{this._emitter.emit(lt.LOADING_COMPLETE)})}_onRecoveredEarlyEof(){Promise.resolve().then(()=>{this._emitter.emit(lt.RECOVERED_EARLY_EOF)})}_onMediaInfo(V){Promise.resolve().then(()=>{this._emitter.emit(lt.MEDIA_INFO,V)})}_onMetaDataArrived(V){Promise.resolve().then(()=>{this._emitter.emit(lt.METADATA_ARRIVED,V)})}_onScriptDataArrived(V){Promise.resolve().then(()=>{this._emitter.emit(lt.SCRIPTDATA_ARRIVED,V)})}_onStatisticsInfo(V){Promise.resolve().then(()=>{this._emitter.emit(lt.STATISTICS_INFO,V)})}_onIOError(V,Y){Promise.resolve().then(()=>{this._emitter.emit(lt.IO_ERROR,V,Y)})}_onDemuxError(V,Y){Promise.resolve().then(()=>{this._emitter.emit(lt.DEMUX_ERROR,V,Y)})}_onRecommendSeekpoint(V){Promise.resolve().then(()=>{this._emitter.emit(lt.RECOMMEND_SEEKPOINT,V)})}_onLoggingConfigChanged(V){this._worker&&this._worker.postMessage({cmd:"logging_config",param:V})}_onWorkerMessage(V){let Y=V.data,Q=Y.data;if(Y.msg==="destroyed"||this._workerDestroying){this._workerDestroying=!1,this._worker.terminate(),this._worker=null;return}switch(Y.msg){case lt.INIT_SEGMENT:case lt.MEDIA_SEGMENT:this._emitter.emit(Y.msg,Q.type,Q.data);break;case lt.LOADING_COMPLETE:case lt.RECOVERED_EARLY_EOF:this._emitter.emit(Y.msg);break;case lt.MEDIA_INFO:Object.setPrototypeOf(Q,Ee.prototype),this._emitter.emit(Y.msg,Q);break;case lt.METADATA_ARRIVED:case lt.SCRIPTDATA_ARRIVED:case lt.STATISTICS_INFO:this._emitter.emit(Y.msg,Q);break;case lt.IO_ERROR:case lt.DEMUX_ERROR:this._emitter.emit(Y.msg,Q.type,Q.info);break;case lt.RECOMMEND_SEEKPOINT:this._emitter.emit(Y.msg,Q);break;case"logcat_callback":y.emitter.emit("log",Q.type,Q.logcat);break;default:break}}}var Ar=Wt,Ht={ERROR:"error",SOURCE_OPEN:"source_open",UPDATE_END:"update_end",BUFFER_FULL:"buffer_full"};class ar{constructor(V){this.TAG="MSEController",this._config=V,this._emitter=new(S()),this._config.isLive&&this._config.autoCleanupSourceBuffer==null&&(this._config.autoCleanupSourceBuffer=!0),this.e={onSourceOpen:this._onSourceOpen.bind(this),onSourceEnded:this._onSourceEnded.bind(this),onSourceClose:this._onSourceClose.bind(this),onSourceBufferError:this._onSourceBufferError.bind(this),onSourceBufferUpdateEnd:this._onSourceBufferUpdateEnd.bind(this)},this._mediaSource=null,this._mediaSourceObjectURL=null,this._mediaElement=null,this._isBufferFull=!1,this._hasPendingEos=!1,this._requireSetMediaDuration=!1,this._pendingMediaDuration=0,this._pendingSourceBufferInit=[],this._mimeTypes={video:null,audio:null},this._sourceBuffers={video:null,audio:null},this._lastInitSegments={video:null,audio:null},this._pendingSegments={video:[],audio:[]},this._pendingRemoveRanges={video:[],audio:[]},this._idrList=new ft}destroy(){(this._mediaElement||this._mediaSource)&&this.detachMediaElement(),this.e=null,this._emitter.removeAllListeners(),this._emitter=null}on(V,Y){this._emitter.addListener(V,Y)}off(V,Y){this._emitter.removeListener(V,Y)}attachMediaElement(V){if(this._mediaSource)throw new x("MediaSource has been attached to an HTMLMediaElement!");let Y=this._mediaSource=new window.MediaSource;Y.addEventListener("sourceopen",this.e.onSourceOpen),Y.addEventListener("sourceended",this.e.onSourceEnded),Y.addEventListener("sourceclose",this.e.onSourceClose),this._mediaElement=V,this._mediaSourceObjectURL=window.URL.createObjectURL(this._mediaSource),V.src=this._mediaSourceObjectURL}detachMediaElement(){if(this._mediaSource){let V=this._mediaSource;for(let Y in this._sourceBuffers){let Q=this._pendingSegments[Y];Q.splice(0,Q.length),this._pendingSegments[Y]=null,this._pendingRemoveRanges[Y]=null,this._lastInitSegments[Y]=null;let le=this._sourceBuffers[Y];if(le){if(V.readyState!=="closed"){try{V.removeSourceBuffer(le)}catch(fe){y.e(this.TAG,fe.message)}le.removeEventListener("error",this.e.onSourceBufferError),le.removeEventListener("updateend",this.e.onSourceBufferUpdateEnd)}this._mimeTypes[Y]=null,this._sourceBuffers[Y]=null}}if(V.readyState==="open")try{V.endOfStream()}catch(Y){y.e(this.TAG,Y.message)}V.removeEventListener("sourceopen",this.e.onSourceOpen),V.removeEventListener("sourceended",this.e.onSourceEnded),V.removeEventListener("sourceclose",this.e.onSourceClose),this._pendingSourceBufferInit=[],this._isBufferFull=!1,this._idrList.clear(),this._mediaSource=null}this._mediaElement&&(this._mediaElement.src="",this._mediaElement.removeAttribute("src"),this._mediaElement=null),this._mediaSourceObjectURL&&(window.URL.revokeObjectURL(this._mediaSourceObjectURL),this._mediaSourceObjectURL=null)}appendInitSegment(V,Y){if(!this._mediaSource||this._mediaSource.readyState!=="open"){this._pendingSourceBufferInit.push(V),this._pendingSegments[V.type].push(V);return}let Q=V,le=`${Q.container}`;Q.codec&&Q.codec.length>0&&(le+=`;codecs=${Q.codec}`);let fe=!1;if(y.v(this.TAG,"Received Initialization Segment, mimeType: "+le),this._lastInitSegments[Q.type]=Q,le!==this._mimeTypes[Q.type]){if(this._mimeTypes[Q.type])y.v(this.TAG,`Notice: ${Q.type} mimeType changed, origin: ${this._mimeTypes[Q.type]}, target: ${le}`);else{fe=!0;try{let Oe=this._sourceBuffers[Q.type]=this._mediaSource.addSourceBuffer(le);Oe.addEventListener("error",this.e.onSourceBufferError),Oe.addEventListener("updateend",this.e.onSourceBufferUpdateEnd)}catch(Oe){y.e(this.TAG,Oe.message),this._emitter.emit(Ht.ERROR,{code:Oe.code,msg:Oe.message});return}}this._mimeTypes[Q.type]=le}Y||this._pendingSegments[Q.type].push(Q),fe||this._sourceBuffers[Q.type]&&!this._sourceBuffers[Q.type].updating&&this._doAppendSegments(),_.safari&&Q.container==="audio/mpeg"&&Q.mediaDuration>0&&(this._requireSetMediaDuration=!0,this._pendingMediaDuration=Q.mediaDuration/1e3,this._updateMediaSourceDuration())}appendMediaSegment(V){let Y=V;this._pendingSegments[Y.type].push(Y),this._config.autoCleanupSourceBuffer&&this._needCleanupSourceBuffer()&&this._doCleanupSourceBuffer();let Q=this._sourceBuffers[Y.type];Q&&!Q.updating&&!this._hasPendingRemoveRanges()&&this._doAppendSegments()}seek(V){for(let Y in this._sourceBuffers){if(!this._sourceBuffers[Y])continue;let Q=this._sourceBuffers[Y];if(this._mediaSource.readyState==="open")try{Q.abort()}catch(fe){y.e(this.TAG,fe.message)}this._idrList.clear();let le=this._pendingSegments[Y];if(le.splice(0,le.length),this._mediaSource.readyState!=="closed"){for(let fe=0;fe<Q.buffered.length;fe++){let Oe=Q.buffered.start(fe),Pe=Q.buffered.end(fe);this._pendingRemoveRanges[Y].push({start:Oe,end:Pe})}if(Q.updating||this._doRemoveRanges(),_.safari){let fe=this._lastInitSegments[Y];fe&&(this._pendingSegments[Y].push(fe),Q.updating||this._doAppendSegments())}}}}endOfStream(){let V=this._mediaSource,Y=this._sourceBuffers;if(!V||V.readyState!=="open"){V&&V.readyState==="closed"&&this._hasPendingSegments()&&(this._hasPendingEos=!0);return}Y.video&&Y.video.updating||Y.audio&&Y.audio.updating?this._hasPendingEos=!0:(this._hasPendingEos=!1,V.endOfStream())}getNearestKeyframe(V){return this._idrList.getLastSyncPointBeforeDts(V)}_needCleanupSourceBuffer(){if(!this._config.autoCleanupSourceBuffer)return!1;let V=this._mediaElement.currentTime;for(let Y in this._sourceBuffers){let Q=this._sourceBuffers[Y];if(Q){let le=Q.buffered;if(le.length>=1&&V-le.start(0)>=this._config.autoCleanupMaxBackwardDuration)return!0}}return!1}_doCleanupSourceBuffer(){let V=this._mediaElement.currentTime;for(let Y in this._sourceBuffers){let Q=this._sourceBuffers[Y];if(Q){let le=Q.buffered,fe=!1;for(let Oe=0;Oe<le.length;Oe++){let Pe=le.start(Oe),Ye=le.end(Oe);if(Pe<=V&&V<Ye+3){if(V-Pe>=this._config.autoCleanupMaxBackwardDuration){fe=!0;let $e=V-this._config.autoCleanupMinBackwardDuration;this._pendingRemoveRanges[Y].push({start:Pe,end:$e})}}else Ye<V&&(fe=!0,this._pendingRemoveRanges[Y].push({start:Pe,end:Ye}))}fe&&!Q.updating&&this._doRemoveRanges()}}}_updateMediaSourceDuration(){let V=this._sourceBuffers;if(this._mediaElement.readyState===0||this._mediaSource.readyState!=="open"||V.video&&V.video.updating||V.audio&&V.audio.updating)return;let Y=this._mediaSource.duration,Q=this._pendingMediaDuration;Q>0&&(isNaN(Y)||Q>Y)&&(y.v(this.TAG,`Update MediaSource duration from ${Y} to ${Q}`),this._mediaSource.duration=Q),this._requireSetMediaDuration=!1,this._pendingMediaDuration=0}_doRemoveRanges(){for(let V in this._pendingRemoveRanges){if(!this._sourceBuffers[V]||this._sourceBuffers[V].updating)continue;let Y=this._sourceBuffers[V],Q=this._pendingRemoveRanges[V];for(;Q.length&&!Y.updating;){let le=Q.shift();Y.remove(le.start,le.end)}}}_doAppendSegments(){let V=this._pendingSegments;for(let Y in V)if(!(!this._sourceBuffers[Y]||this._sourceBuffers[Y].updating)&&V[Y].length>0){let Q=V[Y].shift();if(Q.timestampOffset){let le=this._sourceBuffers[Y].timestampOffset,fe=Q.timestampOffset/1e3;Math.abs(le-fe)>.1&&(y.v(this.TAG,`Update MPEG audio timestampOffset from ${le} to ${fe}`),this._sourceBuffers[Y].timestampOffset=fe),delete Q.timestampOffset}if(!Q.data||Q.data.byteLength===0)continue;try{this._sourceBuffers[Y].appendBuffer(Q.data),this._isBufferFull=!1,Y==="video"&&Q.hasOwnProperty("info")&&this._idrList.appendArray(Q.info.syncPoints)}catch(le){this._pendingSegments[Y].unshift(Q),le.code===22?(this._isBufferFull||this._emitter.emit(Ht.BUFFER_FULL),this._isBufferFull=!0):(y.e(this.TAG,le.message),this._emitter.emit(Ht.ERROR,{code:le.code,msg:le.message}))}}}_onSourceOpen(){if(y.v(this.TAG,"MediaSource onSourceOpen"),this._mediaSource.removeEventListener("sourceopen",this.e.onSourceOpen),this._pendingSourceBufferInit.length>0){let V=this._pendingSourceBufferInit;for(;V.length;){let Y=V.shift();this.appendInitSegment(Y,!0)}}this._hasPendingSegments()&&this._doAppendSegments(),this._emitter.emit(Ht.SOURCE_OPEN)}_onSourceEnded(){y.v(this.TAG,"MediaSource onSourceEnded")}_onSourceClose(){y.v(this.TAG,"MediaSource onSourceClose"),this._mediaSource&&this.e!=null&&(this._mediaSource.removeEventListener("sourceopen",this.e.onSourceOpen),this._mediaSource.removeEventListener("sourceended",this.e.onSourceEnded),this._mediaSource.removeEventListener("sourceclose",this.e.onSourceClose))}_hasPendingSegments(){let V=this._pendingSegments;return V.video.length>0||V.audio.length>0}_hasPendingRemoveRanges(){let V=this._pendingRemoveRanges;return V.video.length>0||V.audio.length>0}_onSourceBufferUpdateEnd(){this._requireSetMediaDuration?this._updateMediaSourceDuration():this._hasPendingRemoveRanges()?this._doRemoveRanges():this._hasPendingSegments()?this._doAppendSegments():this._hasPendingEos&&this.endOfStream(),this._emitter.emit(Ht.UPDATE_END)}_onSourceBufferError(V){y.e(this.TAG,`SourceBuffer Error: ${V}`)}}var or=ar;const Tt={NETWORK_ERROR:"NetworkError",MEDIA_ERROR:"MediaError",OTHER_ERROR:"OtherError"},at={NETWORK_EXCEPTION:n.EXCEPTION,NETWORK_STATUS_CODE_INVALID:n.HTTP_STATUS_CODE_INVALID,NETWORK_TIMEOUT:n.CONNECTING_TIMEOUT,NETWORK_UNRECOVERABLE_EARLY_EOF:n.UNRECOVERABLE_EARLY_EOF,MEDIA_MSE_ERROR:"MediaMSEError",MEDIA_FORMAT_ERROR:Ue.FORMAT_ERROR,MEDIA_FORMAT_UNSUPPORTED:Ue.FORMAT_UNSUPPORTED,MEDIA_CODEC_UNSUPPORTED:Ue.CODEC_UNSUPPORTED};class vt{constructor(V,Y){if(this.TAG="FlvPlayer",this._type="FlvPlayer",this._emitter=new(S()),this._config=C(),typeof Y=="object"&&Object.assign(this._config,Y),V.type.toLowerCase()!=="flv")throw new c("FlvPlayer requires an flv MediaDataSource input!");V.isLive===!0&&(this._config.isLive=!0),this.e={onvLoadedMetadata:this._onvLoadedMetadata.bind(this),onvSeeking:this._onvSeeking.bind(this),onvCanPlay:this._onvCanPlay.bind(this),onvStalled:this._onvStalled.bind(this),onvProgress:this._onvProgress.bind(this)},self.performance&&self.performance.now?this._now=self.performance.now.bind(self.performance):this._now=Date.now,this._pendingSeekTime=null,this._requestSetTime=!1,this._seekpointRecord=null,this._progressChecker=null,this._mediaDataSource=V,this._mediaElement=null,this._msectl=null,this._transmuxer=null,this._mseSourceOpened=!1,this._hasPendingLoad=!1,this._receivedCanPlay=!1,this._mediaInfo=null,this._statisticsInfo=null;let Q=_.chrome&&(_.version.major<50||_.version.major===50&&_.version.build<2661);this._alwaysSeekKeyframe=!!(Q||_.msedge||_.msie),this._alwaysSeekKeyframe&&(this._config.accurateSeek=!1)}destroy(){this._progressChecker!=null&&(window.clearInterval(this._progressChecker),this._progressChecker=null),this._transmuxer&&this.unload(),this._mediaElement&&this.detachMediaElement(),this.e=null,this._mediaDataSource=null,this._emitter.removeAllListeners(),this._emitter=null}on(V,Y){V===q.MEDIA_INFO?this._mediaInfo!=null&&Promise.resolve().then(()=>{this._emitter.emit(q.MEDIA_INFO,this.mediaInfo)}):V===q.STATISTICS_INFO&&this._statisticsInfo!=null&&Promise.resolve().then(()=>{this._emitter.emit(q.STATISTICS_INFO,this.statisticsInfo)}),this._emitter.addListener(V,Y)}off(V,Y){this._emitter.removeListener(V,Y)}attachMediaElement(V){if(this._mediaElement=V,V.addEventListener("loadedmetadata",this.e.onvLoadedMetadata),V.addEventListener("seeking",this.e.onvSeeking),V.addEventListener("canplay",this.e.onvCanPlay),V.addEventListener("stalled",this.e.onvStalled),V.addEventListener("progress",this.e.onvProgress),this._msectl=new or(this._config),this._msectl.on(Ht.UPDATE_END,this._onmseUpdateEnd.bind(this)),this._msectl.on(Ht.BUFFER_FULL,this._onmseBufferFull.bind(this)),this._msectl.on(Ht.SOURCE_OPEN,()=>{this._mseSourceOpened=!0,this._hasPendingLoad&&(this._hasPendingLoad=!1,this.load())}),this._msectl.on(Ht.ERROR,Y=>{this._emitter.emit(q.ERROR,Tt.MEDIA_ERROR,at.MEDIA_MSE_ERROR,Y)}),this._msectl.attachMediaElement(V),this._pendingSeekTime!=null)try{V.currentTime=this._pendingSeekTime,this._pendingSeekTime=null}catch(Y){}}detachMediaElement(){this._mediaElement&&(this._msectl.detachMediaElement(),this._mediaElement.removeEventListener("loadedmetadata",this.e.onvLoadedMetadata),this._mediaElement.removeEventListener("seeking",this.e.onvSeeking),this._mediaElement.removeEventListener("canplay",this.e.onvCanPlay),this._mediaElement.removeEventListener("stalled",this.e.onvStalled),this._mediaElement.removeEventListener("progress",this.e.onvProgress),this._mediaElement=null),this._msectl&&(this._msectl.destroy(),this._msectl=null)}load(){if(!this._mediaElement)throw new x("HTMLMediaElement must be attached before load()!");if(this._transmuxer)throw new x("FlvPlayer.load() has been called, please call unload() first!");if(!this._hasPendingLoad){if(this._config.deferLoadAfterSourceOpen&&this._mseSourceOpened===!1){this._hasPendingLoad=!0;return}this._mediaElement.readyState>0&&(this._requestSetTime=!0,this._mediaElement.currentTime=0),this._transmuxer=new Ar(this._mediaDataSource,this._config),this._transmuxer.on(lt.INIT_SEGMENT,(V,Y)=>{this._msectl.appendInitSegment(Y)}),this._transmuxer.on(lt.MEDIA_SEGMENT,(V,Y)=>{if(this._msectl.appendMediaSegment(Y),this._config.lazyLoad&&!this._config.isLive){let Q=this._mediaElement.currentTime;Y.info.endDts>=(Q+this._config.lazyLoadMaxDuration)*1e3&&this._progressChecker==null&&(y.v(this.TAG,"Maximum buffering duration exceeded, suspend transmuxing task"),this._suspendTransmuxer())}}),this._transmuxer.on(lt.LOADING_COMPLETE,()=>{this._msectl.endOfStream(),this._emitter.emit(q.LOADING_COMPLETE)}),this._transmuxer.on(lt.RECOVERED_EARLY_EOF,()=>{this._emitter.emit(q.RECOVERED_EARLY_EOF)}),this._transmuxer.on(lt.IO_ERROR,(V,Y)=>{this._emitter.emit(q.ERROR,Tt.NETWORK_ERROR,V,Y)}),this._transmuxer.on(lt.DEMUX_ERROR,(V,Y)=>{this._emitter.emit(q.ERROR,Tt.MEDIA_ERROR,V,{code:-1,msg:Y})}),this._transmuxer.on(lt.MEDIA_INFO,V=>{this._mediaInfo=V,this._emitter.emit(q.MEDIA_INFO,Object.assign({},V))}),this._transmuxer.on(lt.METADATA_ARRIVED,V=>{this._emitter.emit(q.METADATA_ARRIVED,V)}),this._transmuxer.on(lt.SCRIPTDATA_ARRIVED,V=>{this._emitter.emit(q.SCRIPTDATA_ARRIVED,V)}),this._transmuxer.on(lt.STATISTICS_INFO,V=>{this._statisticsInfo=this._fillStatisticsInfo(V),this._emitter.emit(q.STATISTICS_INFO,Object.assign({},this._statisticsInfo))}),this._transmuxer.on(lt.RECOMMEND_SEEKPOINT,V=>{this._mediaElement&&!this._config.accurateSeek&&(this._requestSetTime=!0,this._mediaElement.currentTime=V/1e3)}),this._transmuxer.open()}}unload(){this._mediaElement&&this._mediaElement.pause(),this._msectl&&this._msectl.seek(0),this._transmuxer&&(this._transmuxer.close(),this._transmuxer.destroy(),this._transmuxer=null)}play(){return this._mediaElement.play()}pause(){this._mediaElement.pause()}get type(){return this._type}get buffered(){return this._mediaElement.buffered}get duration(){return this._mediaElement.duration}get volume(){return this._mediaElement.volume}set volume(V){this._mediaElement.volume=V}get muted(){return this._mediaElement.muted}set muted(V){this._mediaElement.muted=V}get currentTime(){return this._mediaElement?this._mediaElement.currentTime:0}set currentTime(V){this._mediaElement?this._internalSeek(V):this._pendingSeekTime=V}get mediaInfo(){return Object.assign({},this._mediaInfo)}get statisticsInfo(){return this._statisticsInfo==null&&(this._statisticsInfo={}),this._statisticsInfo=this._fillStatisticsInfo(this._statisticsInfo),Object.assign({},this._statisticsInfo)}_fillStatisticsInfo(V){if(V.playerType=this._type,!(this._mediaElement instanceof HTMLVideoElement))return V;let Y=!0,Q=0,le=0;if(this._mediaElement.getVideoPlaybackQuality){let fe=this._mediaElement.getVideoPlaybackQuality();Q=fe.totalVideoFrames,le=fe.droppedVideoFrames}else this._mediaElement.webkitDecodedFrameCount!=null?(Q=this._mediaElement.webkitDecodedFrameCount,le=this._mediaElement.webkitDroppedFrameCount):Y=!1;return Y&&(V.decodedFrames=Q,V.droppedFrames=le),V}_onmseUpdateEnd(){if(!this._config.lazyLoad||this._config.isLive)return;let V=this._mediaElement.buffered,Y=this._mediaElement.currentTime,Q=0,le=0;for(let fe=0;fe<V.length;fe++){let Oe=V.start(fe),Pe=V.end(fe);if(Oe<=Y&&Y<Pe){Q=Oe,le=Pe;break}}le>=Y+this._config.lazyLoadMaxDuration&&this._progressChecker==null&&(y.v(this.TAG,"Maximum buffering duration exceeded, suspend transmuxing task"),this._suspendTransmuxer())}_onmseBufferFull(){y.v(this.TAG,"MSE SourceBuffer is full, suspend transmuxing task"),this._progressChecker==null&&this._suspendTransmuxer()}_suspendTransmuxer(){this._transmuxer&&(this._transmuxer.pause(),this._progressChecker==null&&(this._progressChecker=window.setInterval(this._checkProgressAndResume.bind(this),1e3)))}_checkProgressAndResume(){let V=this._mediaElement.currentTime,Y=this._mediaElement.buffered,Q=!1;for(let le=0;le<Y.length;le++){let fe=Y.start(le),Oe=Y.end(le);if(V>=fe&&V<Oe){V>=Oe-this._config.lazyLoadRecoverDuration&&(Q=!0);break}}Q&&(window.clearInterval(this._progressChecker),this._progressChecker=null,Q&&(y.v(this.TAG,"Continue loading from paused position"),this._transmuxer.resume()))}_isTimepointBuffered(V){let Y=this._mediaElement.buffered;for(let Q=0;Q<Y.length;Q++){let le=Y.start(Q),fe=Y.end(Q);if(V>=le&&V<fe)return!0}return!1}_internalSeek(V){let Y=this._isTimepointBuffered(V),Q=!1,le=0;if(V<1&&this._mediaElement.buffered.length>0){let fe=this._mediaElement.buffered.start(0);(fe<1&&V<fe||_.safari)&&(Q=!0,le=_.safari?.1:fe)}if(Q)this._requestSetTime=!0,this._mediaElement.currentTime=le;else if(Y){if(!this._alwaysSeekKeyframe)this._requestSetTime=!0,this._mediaElement.currentTime=V;else{let fe=this._msectl.getNearestKeyframe(Math.floor(V*1e3));this._requestSetTime=!0,fe!=null?this._mediaElement.currentTime=fe.dts/1e3:this._mediaElement.currentTime=V}this._progressChecker!=null&&this._checkProgressAndResume()}else this._progressChecker!=null&&(window.clearInterval(this._progressChecker),this._progressChecker=null),this._msectl.seek(V),this._transmuxer.seek(Math.floor(V*1e3)),this._config.accurateSeek&&(this._requestSetTime=!0,this._mediaElement.currentTime=V)}_checkAndApplyUnbufferedSeekpoint(){if(this._seekpointRecord)if(this._seekpointRecord.recordTime<=this._now()-100){let V=this._mediaElement.currentTime;this._seekpointRecord=null,this._isTimepointBuffered(V)||(this._progressChecker!=null&&(window.clearTimeout(this._progressChecker),this._progressChecker=null),this._msectl.seek(V),this._transmuxer.seek(Math.floor(V*1e3)),this._config.accurateSeek&&(this._requestSetTime=!0,this._mediaElement.currentTime=V))}else window.setTimeout(this._checkAndApplyUnbufferedSeekpoint.bind(this),50)}_checkAndResumeStuckPlayback(V){let Y=this._mediaElement;if(V||!this._receivedCanPlay||Y.readyState<2){let Q=Y.buffered;Q.length>0&&Y.currentTime<Q.start(0)&&(y.w(this.TAG,`Playback seems stuck at ${Y.currentTime}, seek to ${Q.start(0)}`),this._requestSetTime=!0,this._mediaElement.currentTime=Q.start(0),this._mediaElement.removeEventListener("progress",this.e.onvProgress))}else this._mediaElement.removeEventListener("progress",this.e.onvProgress)}_onvLoadedMetadata(V){this._pendingSeekTime!=null&&(this._mediaElement.currentTime=this._pendingSeekTime,this._pendingSeekTime=null)}_onvSeeking(V){let Y=this._mediaElement.currentTime,Q=this._mediaElement.buffered;if(this._requestSetTime){this._requestSetTime=!1;return}if(Y<1&&Q.length>0){let le=Q.start(0);if(le<1&&Y<le||_.safari){this._requestSetTime=!0,this._mediaElement.currentTime=_.safari?.1:le;return}}if(this._isTimepointBuffered(Y)){if(this._alwaysSeekKeyframe){let le=this._msectl.getNearestKeyframe(Math.floor(Y*1e3));le!=null&&(this._requestSetTime=!0,this._mediaElement.currentTime=le.dts/1e3)}this._progressChecker!=null&&this._checkProgressAndResume();return}this._seekpointRecord={seekPoint:Y,recordTime:this._now()},window.setTimeout(this._checkAndApplyUnbufferedSeekpoint.bind(this),50)}_onvCanPlay(V){this._receivedCanPlay=!0,this._mediaElement.removeEventListener("canplay",this.e.onvCanPlay)}_onvStalled(V){this._checkAndResumeStuckPlayback(!0)}_onvProgress(V){this._checkAndResumeStuckPlayback()}}var Yt=vt;class qt{constructor(V,Y){if(this.TAG="NativePlayer",this._type="NativePlayer",this._emitter=new(S()),this._config=C(),typeof Y=="object"&&Object.assign(this._config,Y),V.type.toLowerCase()==="flv")throw new c("NativePlayer does't support flv MediaDataSource input!");if(V.hasOwnProperty("segments"))throw new c(`NativePlayer(${V.type}) doesn't support multipart playback!`);this.e={onvLoadedMetadata:this._onvLoadedMetadata.bind(this)},this._pendingSeekTime=null,this._statisticsReporter=null,this._mediaDataSource=V,this._mediaElement=null}destroy(){this._mediaElement&&(this.unload(),this.detachMediaElement()),this.e=null,this._mediaDataSource=null,this._emitter.removeAllListeners(),this._emitter=null}on(V,Y){V===q.MEDIA_INFO?this._mediaElement!=null&&this._mediaElement.readyState!==0&&Promise.resolve().then(()=>{this._emitter.emit(q.MEDIA_INFO,this.mediaInfo)}):V===q.STATISTICS_INFO&&this._mediaElement!=null&&this._mediaElement.readyState!==0&&Promise.resolve().then(()=>{this._emitter.emit(q.STATISTICS_INFO,this.statisticsInfo)}),this._emitter.addListener(V,Y)}off(V,Y){this._emitter.removeListener(V,Y)}attachMediaElement(V){if(this._mediaElement=V,V.addEventListener("loadedmetadata",this.e.onvLoadedMetadata),this._pendingSeekTime!=null)try{V.currentTime=this._pendingSeekTime,this._pendingSeekTime=null}catch(Y){}}detachMediaElement(){this._mediaElement&&(this._mediaElement.src="",this._mediaElement.removeAttribute("src"),this._mediaElement.removeEventListener("loadedmetadata",this.e.onvLoadedMetadata),this._mediaElement=null),this._statisticsReporter!=null&&(window.clearInterval(this._statisticsReporter),this._statisticsReporter=null)}load(){if(!this._mediaElement)throw new x("HTMLMediaElement must be attached before load()!");this._mediaElement.src=this._mediaDataSource.url,this._mediaElement.readyState>0&&(this._mediaElement.currentTime=0),this._mediaElement.preload="auto",this._mediaElement.load(),this._statisticsReporter=window.setInterval(this._reportStatisticsInfo.bind(this),this._config.statisticsInfoReportInterval)}unload(){this._mediaElement&&(this._mediaElement.src="",this._mediaElement.removeAttribute("src")),this._statisticsReporter!=null&&(window.clearInterval(this._statisticsReporter),this._statisticsReporter=null)}play(){return this._mediaElement.play()}pause(){this._mediaElement.pause()}get type(){return this._type}get buffered(){return this._mediaElement.buffered}get duration(){return this._mediaElement.duration}get volume(){return this._mediaElement.volume}set volume(V){this._mediaElement.volume=V}get muted(){return this._mediaElement.muted}set muted(V){this._mediaElement.muted=V}get currentTime(){return this._mediaElement?this._mediaElement.currentTime:0}set currentTime(V){this._mediaElement?this._mediaElement.currentTime=V:this._pendingSeekTime=V}get mediaInfo(){let Y={mimeType:(this._mediaElement instanceof HTMLAudioElement?"audio/":"video/")+this._mediaDataSource.type};return this._mediaElement&&(Y.duration=Math.floor(this._mediaElement.duration*1e3),this._mediaElement instanceof HTMLVideoElement&&(Y.width=this._mediaElement.videoWidth,Y.height=this._mediaElement.videoHeight)),Y}get statisticsInfo(){let V={playerType:this._type,url:this._mediaDataSource.url};if(!(this._mediaElement instanceof HTMLVideoElement))return V;let Y=!0,Q=0,le=0;if(this._mediaElement.getVideoPlaybackQuality){let fe=this._mediaElement.getVideoPlaybackQuality();Q=fe.totalVideoFrames,le=fe.droppedVideoFrames}else this._mediaElement.webkitDecodedFrameCount!=null?(Q=this._mediaElement.webkitDecodedFrameCount,le=this._mediaElement.webkitDroppedFrameCount):Y=!1;return Y&&(V.decodedFrames=Q,V.droppedFrames=le),V}_onvLoadedMetadata(V){this._pendingSeekTime!=null&&(this._mediaElement.currentTime=this._pendingSeekTime,this._pendingSeekTime=null),this._emitter.emit(q.MEDIA_INFO,this.mediaInfo)}_reportStatisticsInfo(){this._emitter.emit(q.STATISTICS_INFO,this.statisticsInfo)}}var Cr=qt;te.install();function nt(dt,V){let Y=dt;if(Y==null||typeof Y!="object")throw new c("MediaDataSource must be an javascript object!");if(!Y.hasOwnProperty("type"))throw new c("MediaDataSource must has type field to indicate video file type!");switch(Y.type){case"flv":return new Yt(Y,V);default:return new Cr(Y,V)}}function yt(){return H.supportMSEH264Playback()}function Lt(){return H.getFeatureList()}let Ut={};Ut.createPlayer=nt,Ut.isSupported=yt,Ut.getFeatureList=Lt,Ut.BaseLoader=o,Ut.LoaderStatus=f,Ut.LoaderErrors=n,Ut.Events=q,Ut.ErrorTypes=Tt,Ut.ErrorDetails=at,Ut.FlvPlayer=Yt,Ut.NativePlayer=Cr,Ut.LoggingControl=ue,Object.defineProperty(Ut,"version",{enumerable:!0,get:function(){return"__VERSION__"}});var rr=Ut},45685:function($t,Qe,ae){"use strict";ae.d(Qe,{default:function(){return B}});var ee=ae(15142),te=ae(59301),X=ae(92310),S=ae.n(X),K=ae(6089),y=ae(16722),L=ae(97224),A=ae(83010),s=ae(48608),x=ae(48755),c=ae(83397),f=te.createContext(void 0),o=P=>{const{href:F,title:k,prefixCls:U,children:G,className:C,target:I,replace:H}=P,$=te.useContext(f),{registerLink:q,unregisterLink:se,scrollTo:ue,onClick:me,activeLink:Ee,direction:Le}=$||{};te.useEffect(()=>(q==null||q(F),()=>{se==null||se(F)}),[F]);const Fe=ge=>{me==null||me(ge,{title:k,href:F}),ue==null||ue(F),H&&(ge.preventDefault(),window.location.replace(F))},{getPrefixCls:Ke}=te.useContext(x.E_),Te=Ke("anchor",U),We=Ee===F,Ce=S()(`${Te}-link`,C,{[`${Te}-link-active`]:We}),De=S()(`${Te}-link-title`,{[`${Te}-link-title-active`]:We});return te.createElement("div",{className:Ce},te.createElement("a",{className:De,href:F,title:typeof k=="string"?k:"",target:I,onClick:Fe},k),Le!=="horizontal"?G:null)},d=ae(36237),m=ae(63356),_=ae(16931),h=ae(51636);const g=P=>{const{componentCls:F,holderOffsetBlock:k,motionDurationSlow:U,lineWidthBold:G,colorPrimary:C,lineType:I,colorSplit:H,calc:$}=P;return{[`${F}-wrapper`]:{marginBlockStart:$(k).mul(-1).equal(),paddingBlockStart:k,[F]:Object.assign(Object.assign({},(0,m.Wf)(P)),{position:"relative",paddingInlineStart:G,[`${F}-link`]:{paddingBlock:P.linkPaddingBlock,paddingInline:`${(0,d.unit)(P.linkPaddingInlineStart)} 0`,"&-title":Object.assign(Object.assign({},m.vS),{position:"relative",display:"block",marginBlockEnd:P.anchorTitleBlock,color:P.colorText,transition:`all ${P.motionDurationSlow}`,"&:only-child":{marginBlockEnd:0}}),[`&-active > ${F}-link-title`]:{color:P.colorPrimary},[`${F}-link`]:{paddingBlock:P.anchorPaddingBlockSecondary}}}),[`&:not(${F}-wrapper-horizontal)`]:{[F]:{"&::before":{position:"absolute",insetInlineStart:0,top:0,height:"100%",borderInlineStart:`${(0,d.unit)(G)} ${I} ${H}`,content:'" "'},[`${F}-ink`]:{position:"absolute",insetInlineStart:0,display:"none",transform:"translateY(-50%)",transition:`top ${U} ease-in-out`,width:G,backgroundColor:C,[`&${F}-ink-visible`]:{display:"inline-block"}}}},[`${F}-fixed ${F}-ink ${F}-ink`]:{display:"none"}}}},r=P=>{const{componentCls:F,motionDurationSlow:k,lineWidthBold:U,colorPrimary:G}=P;return{[`${F}-wrapper-horizontal`]:{position:"relative","&::before":{position:"absolute",left:{_skip_check_:!0,value:0},right:{_skip_check_:!0,value:0},bottom:0,borderBottom:`${(0,d.unit)(P.lineWidth)} ${P.lineType} ${P.colorSplit}`,content:'" "'},[F]:{overflowX:"scroll",position:"relative",display:"flex",scrollbarWidth:"none","&::-webkit-scrollbar":{display:"none"},[`${F}-link:first-of-type`]:{paddingInline:0},[`${F}-ink`]:{position:"absolute",bottom:0,transition:`left ${k} ease-in-out, width ${k} ease-in-out`,height:U,backgroundColor:G}}}}},a=P=>({linkPaddingBlock:P.paddingXXS,linkPaddingInlineStart:P.padding});var p=(0,_.I$)("Anchor",P=>{const{fontSize:F,fontSizeLG:k,paddingXXS:U,calc:G}=P,C=(0,h.mergeToken)(P,{holderOffsetBlock:U,anchorPaddingBlockSecondary:G(U).div(2).equal(),anchorTitleBlock:G(F).div(14).mul(3).equal(),anchorBallSize:G(k).div(2).equal()});return[g(C),r(C)]},a);function E(){return window}function b(P,F){if(!P.getClientRects().length)return 0;const k=P.getBoundingClientRect();return k.width||k.height?F===window?k.top-P.ownerDocument.documentElement.clientTop:k.top-F.getBoundingClientRect().top:k.top}const w=/#([\S ]+)$/;var O=P=>{var F;const{rootClassName:k,prefixCls:U,className:G,style:C,offsetTop:I,affix:H=!0,showInkInFixed:$=!1,children:q,items:se,direction:ue="vertical",bounds:me,targetOffset:Ee,onClick:Le,onChange:Fe,getContainer:Ke,getCurrentAnchor:Te,replace:We}=P,[Ce,De]=te.useState([]),[ge,Re]=te.useState(null),ve=te.useRef(ge),we=te.useRef(null),Ue=te.useRef(null),de=te.useRef(!1),{direction:oe,getPrefixCls:ne,className:ce,style:ye}=(0,x.dj)("anchor"),{getTargetContainer:he}=te.useContext(x.E_),xe=ne("anchor",U),Ne=(0,c.Z)(xe),[Be,je,et]=p(xe,Ne),ft=(F=Ke!=null?Ke:he)!==null&&F!==void 0?F:E,tt=JSON.stringify(Ce),At=(0,K.Z)(at=>{Ce.includes(at)||De(vt=>[].concat((0,ee.Z)(vt),[at]))}),It=(0,K.Z)(at=>{Ce.includes(at)&&De(vt=>vt.filter(Yt=>Yt!==at))}),Nt=()=>{var at;const vt=(at=we.current)===null||at===void 0?void 0:at.querySelector(`.${xe}-link-title-active`);if(vt&&Ue.current){const{style:Yt}=Ue.current,qt=ue==="horizontal";Yt.top=qt?"":`${vt.offsetTop+vt.clientHeight/2}px`,Yt.height=qt?"":`${vt.clientHeight}px`,Yt.left=qt?`${vt.offsetLeft}px`:"",Yt.width=qt?`${vt.clientWidth}px`:"",qt&&(0,y.Z)(vt,{scrollMode:"if-needed",block:"nearest"})}},lt=function(at){let vt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,Yt=arguments.length>2&&arguments[2]!==void 0?arguments[2]:5;const qt=[],Cr=ft();return at.forEach(nt=>{const yt=w.exec(nt==null?void 0:nt.toString());if(!yt)return;const Lt=document.getElementById(yt[1]);if(Lt){const Ut=b(Lt,Cr);Ut<=vt+Yt&&qt.push({link:nt,top:Ut})}}),qt.length?qt.reduce((yt,Lt)=>Lt.top>yt.top?Lt:yt).link:""},Bt=(0,K.Z)(at=>{if(ve.current===at)return;const vt=typeof Te=="function"?Te(at):at;Re(vt),ve.current=vt,Fe==null||Fe(at)}),cr=te.useCallback(()=>{if(de.current)return;const at=lt(Ce,Ee!==void 0?Ee:I||0,me);Bt(at)},[tt,Ee,I]),bt=te.useCallback(at=>{Bt(at);const vt=w.exec(at);if(!vt)return;const Yt=document.getElementById(vt[1]);if(!Yt)return;const qt=ft(),Cr=(0,L.Z)(qt),nt=b(Yt,qt);let yt=Cr+nt;yt-=Ee!==void 0?Ee:I||0,de.current=!0,(0,A.Z)(yt,{getContainer:ft,callback(){de.current=!1}})},[Ee,I]),ut=S()(je,et,Ne,k,`${xe}-wrapper`,{[`${xe}-wrapper-horizontal`]:ue==="horizontal",[`${xe}-rtl`]:oe==="rtl"},G,ce),Wt=S()(xe,{[`${xe}-fixed`]:!H&&!$}),Ar=S()(`${xe}-ink`,{[`${xe}-ink-visible`]:ge}),Vt=Object.assign(Object.assign({maxHeight:I?`calc(100vh - ${I}px)`:"100vh"},ye),C),Ht=at=>Array.isArray(at)?at.map(vt=>te.createElement(o,Object.assign({replace:We},vt,{key:vt.key}),ue==="vertical"&&Ht(vt.children))):null,ar=te.createElement("div",{ref:we,className:ut,style:Vt},te.createElement("div",{className:Wt},te.createElement("span",{className:Ar,ref:Ue}),"items"in P?Ht(se):q));te.useEffect(()=>{const at=ft();return cr(),at==null||at.addEventListener("scroll",cr),()=>{at==null||at.removeEventListener("scroll",cr)}},[tt]),te.useEffect(()=>{typeof Te=="function"&&Bt(Te(ve.current||""))},[Te]),te.useEffect(()=>{Nt()},[ue,Te,tt,ge]);const or=te.useMemo(()=>({registerLink:At,unregisterLink:It,scrollTo:bt,activeLink:ge,onClick:Le,direction:ue}),[ge,Le,bt,ue]),Tt=H&&typeof H=="object"?H:void 0;return Be(te.createElement(f.Provider,{value:or},H?te.createElement(s.Z,Object.assign({offsetTop:I,target:ft},Tt),ar):ar))};const z=O;z.Link=o;var B=z},25769:function($t,Qe,ae){"use strict";var ee=ae(98040),te={"text/plain":"Text","text/html":"Url",default:"Text"},X="Copy to clipboard: #{key}, Enter";function S(y){var L=(/mac os x/i.test(navigator.userAgent)?"\u2318":"Ctrl")+"+C";return y.replace(/#{\s*key\s*}/g,L)}function K(y,L){var A,s,x,c,l,f,n=!1;L||(L={}),A=L.debug||!1;try{x=ee(),c=document.createRange(),l=document.getSelection(),f=document.createElement("span"),f.textContent=y,f.ariaHidden="true",f.style.all="unset",f.style.position="fixed",f.style.top=0,f.style.clip="rect(0, 0, 0, 0)",f.style.whiteSpace="pre",f.style.webkitUserSelect="text",f.style.MozUserSelect="text",f.style.msUserSelect="text",f.style.userSelect="text",f.addEventListener("copy",function(d){if(d.stopPropagation(),L.format)if(d.preventDefault(),typeof d.clipboardData=="undefined"){A&&console.warn("unable to use e.clipboardData"),A&&console.warn("trying IE specific stuff"),window.clipboardData.clearData();var m=te[L.format]||te.default;window.clipboardData.setData(m,y)}else d.clipboardData.clearData(),d.clipboardData.setData(L.format,y);L.onCopy&&(d.preventDefault(),L.onCopy(d.clipboardData))}),document.body.appendChild(f),c.selectNodeContents(f),l.addRange(c);var o=document.execCommand("copy");if(!o)throw new Error("copy command was unsuccessful");n=!0}catch(d){A&&console.error("unable to copy using execCommand: ",d),A&&console.warn("trying IE specific stuff");try{window.clipboardData.setData(L.format||"text",y),L.onCopy&&L.onCopy(window.clipboardData),n=!0}catch(m){A&&console.error("unable to copy using clipboardData: ",m),A&&console.error("falling back to prompt"),s=S("message"in L?L.message:X),window.prompt(s,y)}}finally{l&&(typeof l.removeRange=="function"?l.removeRange(c):l.removeAllRanges()),f&&document.body.removeChild(f),x()}return n}$t.exports=K},97774:function($t,Qe,ae){"use strict";Object.defineProperty(Qe,"__esModule",{value:!0}),Qe.default=void 0;var ee=Object.assign||function(d){for(var m=1;m<arguments.length;m++){var _=arguments[m];for(var h in _)Object.prototype.hasOwnProperty.call(_,h)&&(d[h]=_[h])}return d},te=function(){function d(m,_){for(var h=0;h<_.length;h++){var g=_[h];g.enumerable=g.enumerable||!1,g.configurable=!0,"value"in g&&(g.writable=!0),Object.defineProperty(m,g.key,g)}}return function(m,_,h){return _&&d(m.prototype,_),h&&d(m,h),m}}(),X=ae(59301),S=c(X),K=ae(12708),y=c(K),L=ae(53291),A=c(L),s=ae(47242),x=ae(65429);function c(d){return d&&d.__esModule?d:{default:d}}function l(d,m){if(!(d instanceof m))throw new TypeError("Cannot call a class as a function")}function f(d,m){if(!d)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return m&&(typeof m=="object"||typeof m=="function")?m:d}function n(d,m){if(typeof m!="function"&&m!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof m);d.prototype=Object.create(m&&m.prototype,{constructor:{value:d,enumerable:!1,writable:!0,configurable:!0}}),m&&(Object.setPrototypeOf?Object.setPrototypeOf(d,m):d.__proto__=m)}var o=function(d){n(m,d);function m(_){l(this,m);var h=f(this,(m.__proto__||Object.getPrototypeOf(m)).call(this,_));return h.getEchartsInstance=function(){return h.echartsLib.getInstanceByDom(h.echartsElement)||h.echartsLib.init(h.echartsElement,h.props.theme,h.props.opts)},h.dispose=function(){if(h.echartsElement){try{(0,s.clear)(h.echartsElement)}catch(g){console.warn(g)}h.echartsLib.dispose(h.echartsElement)}},h.rerender=function(){var g=h.props,r=g.onEvents,a=g.onChartReady,p=h.renderEchartDom();h.bindEvents(p,r||{}),typeof a=="function"&&h.props.onChartReady(p),h.echartsElement&&(0,s.bind)(h.echartsElement,function(){try{p.resize()}catch(E){console.warn(E)}})},h.bindEvents=function(g,r){var a=function(b,w){typeof b=="string"&&typeof w=="function"&&g.on(b,function(R){w(R,g)})};for(var p in r)Object.prototype.hasOwnProperty.call(r,p)&&a(p,r[p])},h.renderEchartDom=function(){var g=h.getEchartsInstance();return g.setOption(h.props.option,h.props.notMerge||!1,h.props.lazyUpdate||!1),h.props.showLoading?g.showLoading(h.props.loadingOption||null):g.hideLoading(),g},h.echartsLib=_.echarts,h.echartsElement=null,h}return te(m,[{key:"componentDidMount",value:function(){this.rerender()}},{key:"componentDidUpdate",value:function(h){if(!(typeof this.props.shouldSetOption=="function"&&!this.props.shouldSetOption(h,this.props))){if(!(0,A.default)(h.theme,this.props.theme)||!(0,A.default)(h.opts,this.props.opts)||!(0,A.default)(h.onEvents,this.props.onEvents)){this.dispose(),this.rerender();return}var g=["option","notMerge","lazyUpdate","showLoading","loadingOption"];if(!(0,A.default)((0,x.pick)(this.props,g),(0,x.pick)(h,g))){var r=this.renderEchartDom();if(!(0,A.default)(h.style,this.props.style)||!(0,A.default)(h.className,this.props.className))try{r.resize()}catch(a){console.warn(a)}}}}},{key:"componentWillUnmount",value:function(){this.dispose()}},{key:"render",value:function(){var h=this,g=this.props,r=g.style,a=g.className,p=ee({height:300},r);return S.default.createElement("div",{ref:function(b){h.echartsElement=b},style:p,className:"echarts-for-react "+a})}}]),m}(X.Component);Qe.default=o,o.propTypes={option:y.default.object.isRequired,echarts:y.default.object,notMerge:y.default.bool,lazyUpdate:y.default.bool,style:y.default.object,className:y.default.string,theme:y.default.oneOfType([y.default.string,y.default.object]),onChartReady:y.default.func,showLoading:y.default.bool,loadingOption:y.default.object,onEvents:y.default.object,opts:y.default.shape({devicePixelRatio:y.default.number,renderer:y.default.oneOf(["canvas","svg"]),width:y.default.oneOfType([y.default.number,y.default.oneOf([null,void 0,"auto"])]),height:y.default.oneOfType([y.default.number,y.default.oneOf([null,void 0,"auto"])])}),shouldSetOption:y.default.func},o.defaultProps={echarts:{},notMerge:!1,lazyUpdate:!1,style:{},className:"",theme:null,onChartReady:function(){},showLoading:!1,loadingOption:null,onEvents:{},opts:{},shouldSetOption:function(){return!0}}},42441:function($t,Qe,ae){"use strict";var ee;ee={value:!0},Qe.Z=void 0;var te=ae(76411),X=y(te),S=ae(97774),K=y(S);function y(c){return c&&c.__esModule?c:{default:c}}function L(c,l){if(!(c instanceof l))throw new TypeError("Cannot call a class as a function")}function A(c,l){if(!c)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return l&&(typeof l=="object"||typeof l=="function")?l:c}function s(c,l){if(typeof l!="function"&&l!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof l);c.prototype=Object.create(l&&l.prototype,{constructor:{value:c,enumerable:!1,writable:!0,configurable:!0}}),l&&(Object.setPrototypeOf?Object.setPrototypeOf(c,l):c.__proto__=l)}var x=function(c){s(l,c);function l(f){L(this,l);var n=A(this,(l.__proto__||Object.getPrototypeOf(l)).call(this,f));return n.echartsLib=X.default,n}return l}(K.default);Qe.Z=x},65429:function($t,Qe){"use strict";Object.defineProperty(Qe,"__esModule",{value:!0});var ae=Qe.pick=function(te,X){var S={};return X.forEach(function(K){S[K]=te[K]}),S}},48961:function($t,Qe,ae){(function(te,X){$t.exports=X(ae(76411))})(this,function(ee){return function(te){var X={};function S(K){if(X[K])return X[K].exports;var y=X[K]={i:K,l:!1,exports:{}};return te[K].call(y.exports,y,y.exports,S),y.l=!0,y.exports}return S.m=te,S.c=X,S.d=function(K,y,L){S.o(K,y)||Object.defineProperty(K,y,{configurable:!1,enumerable:!0,get:L})},S.n=function(K){var y=K&&K.__esModule?function(){return K.default}:function(){return K};return S.d(y,"a",y),y},S.o=function(K,y){return Object.prototype.hasOwnProperty.call(K,y)},S.p="",S(S.s=87)}([function(te,X){te.exports=ee},function(te,X,S){(function(K){"use strict";var y={};y.exports=X,function(L){if(!A)var A=1e-6;if(!s)var s=typeof Float32Array!="undefined"?Float32Array:Array;if(!x)var x=Math.random;var c={};c.setMatrixArrayType=function(r){s=r},typeof L!="undefined"&&(L.glMatrix=c);var l=Math.PI/180;c.toRadian=function(r){return r*l};var f={};f.create=function(){var r=new s(2);return r[0]=0,r[1]=0,r},f.clone=function(r){var a=new s(2);return a[0]=r[0],a[1]=r[1],a},f.fromValues=function(r,a){var p=new s(2);return p[0]=r,p[1]=a,p},f.copy=function(r,a){return r[0]=a[0],r[1]=a[1],r},f.set=function(r,a,p){return r[0]=a,r[1]=p,r},f.add=function(r,a,p){return r[0]=a[0]+p[0],r[1]=a[1]+p[1],r},f.subtract=function(r,a,p){return r[0]=a[0]-p[0],r[1]=a[1]-p[1],r},f.sub=f.subtract,f.multiply=function(r,a,p){return r[0]=a[0]*p[0],r[1]=a[1]*p[1],r},f.mul=f.multiply,f.divide=function(r,a,p){return r[0]=a[0]/p[0],r[1]=a[1]/p[1],r},f.div=f.divide,f.min=function(r,a,p){return r[0]=Math.min(a[0],p[0]),r[1]=Math.min(a[1],p[1]),r},f.max=function(r,a,p){return r[0]=Math.max(a[0],p[0]),r[1]=Math.max(a[1],p[1]),r},f.scale=function(r,a,p){return r[0]=a[0]*p,r[1]=a[1]*p,r},f.scaleAndAdd=function(r,a,p,E){return r[0]=a[0]+p[0]*E,r[1]=a[1]+p[1]*E,r},f.distance=function(r,a){var p=a[0]-r[0],E=a[1]-r[1];return Math.sqrt(p*p+E*E)},f.dist=f.distance,f.squaredDistance=function(r,a){var p=a[0]-r[0],E=a[1]-r[1];return p*p+E*E},f.sqrDist=f.squaredDistance,f.length=function(r){var a=r[0],p=r[1];return Math.sqrt(a*a+p*p)},f.len=f.length,f.squaredLength=function(r){var a=r[0],p=r[1];return a*a+p*p},f.sqrLen=f.squaredLength,f.negate=function(r,a){return r[0]=-a[0],r[1]=-a[1],r},f.inverse=function(r,a){return r[0]=1/a[0],r[1]=1/a[1],r},f.normalize=function(r,a){var p=a[0],E=a[1],b=p*p+E*E;return b>0&&(b=1/Math.sqrt(b),r[0]=a[0]*b,r[1]=a[1]*b),r},f.dot=function(r,a){return r[0]*a[0]+r[1]*a[1]},f.cross=function(r,a,p){var E=a[0]*p[1]-a[1]*p[0];return r[0]=r[1]=0,r[2]=E,r},f.lerp=function(r,a,p,E){var b=a[0],w=a[1];return r[0]=b+E*(p[0]-b),r[1]=w+E*(p[1]-w),r},f.random=function(r,a){a=a||1;var p=x()*2*Math.PI;return r[0]=Math.cos(p)*a,r[1]=Math.sin(p)*a,r},f.transformMat2=function(r,a,p){var E=a[0],b=a[1];return r[0]=p[0]*E+p[2]*b,r[1]=p[1]*E+p[3]*b,r},f.transformMat2d=function(r,a,p){var E=a[0],b=a[1];return r[0]=p[0]*E+p[2]*b+p[4],r[1]=p[1]*E+p[3]*b+p[5],r},f.transformMat3=function(r,a,p){var E=a[0],b=a[1];return r[0]=p[0]*E+p[3]*b+p[6],r[1]=p[1]*E+p[4]*b+p[7],r},f.transformMat4=function(r,a,p){var E=a[0],b=a[1];return r[0]=p[0]*E+p[4]*b+p[12],r[1]=p[1]*E+p[5]*b+p[13],r},f.forEach=function(){var r=f.create();return function(a,p,E,b,w,R){var O,z;for(p||(p=2),E||(E=0),b?z=Math.min(b*p+E,a.length):z=a.length,O=E;O<z;O+=p)r[0]=a[O],r[1]=a[O+1],w(r,r,R),a[O]=r[0],a[O+1]=r[1];return a}}(),f.str=function(r){return"vec2("+r[0]+", "+r[1]+")"},typeof L!="undefined"&&(L.vec2=f);var n={};n.create=function(){var r=new s(3);return r[0]=0,r[1]=0,r[2]=0,r},n.clone=function(r){var a=new s(3);return a[0]=r[0],a[1]=r[1],a[2]=r[2],a},n.fromValues=function(r,a,p){var E=new s(3);return E[0]=r,E[1]=a,E[2]=p,E},n.copy=function(r,a){return r[0]=a[0],r[1]=a[1],r[2]=a[2],r},n.set=function(r,a,p,E){return r[0]=a,r[1]=p,r[2]=E,r},n.add=function(r,a,p){return r[0]=a[0]+p[0],r[1]=a[1]+p[1],r[2]=a[2]+p[2],r},n.subtract=function(r,a,p){return r[0]=a[0]-p[0],r[1]=a[1]-p[1],r[2]=a[2]-p[2],r},n.sub=n.subtract,n.multiply=function(r,a,p){return r[0]=a[0]*p[0],r[1]=a[1]*p[1],r[2]=a[2]*p[2],r},n.mul=n.multiply,n.divide=function(r,a,p){return r[0]=a[0]/p[0],r[1]=a[1]/p[1],r[2]=a[2]/p[2],r},n.div=n.divide,n.min=function(r,a,p){return r[0]=Math.min(a[0],p[0]),r[1]=Math.min(a[1],p[1]),r[2]=Math.min(a[2],p[2]),r},n.max=function(r,a,p){return r[0]=Math.max(a[0],p[0]),r[1]=Math.max(a[1],p[1]),r[2]=Math.max(a[2],p[2]),r},n.scale=function(r,a,p){return r[0]=a[0]*p,r[1]=a[1]*p,r[2]=a[2]*p,r},n.scaleAndAdd=function(r,a,p,E){return r[0]=a[0]+p[0]*E,r[1]=a[1]+p[1]*E,r[2]=a[2]+p[2]*E,r},n.distance=function(r,a){var p=a[0]-r[0],E=a[1]-r[1],b=a[2]-r[2];return Math.sqrt(p*p+E*E+b*b)},n.dist=n.distance,n.squaredDistance=function(r,a){var p=a[0]-r[0],E=a[1]-r[1],b=a[2]-r[2];return p*p+E*E+b*b},n.sqrDist=n.squaredDistance,n.length=function(r){var a=r[0],p=r[1],E=r[2];return Math.sqrt(a*a+p*p+E*E)},n.len=n.length,n.squaredLength=function(r){var a=r[0],p=r[1],E=r[2];return a*a+p*p+E*E},n.sqrLen=n.squaredLength,n.negate=function(r,a){return r[0]=-a[0],r[1]=-a[1],r[2]=-a[2],r},n.inverse=function(r,a){return r[0]=1/a[0],r[1]=1/a[1],r[2]=1/a[2],r},n.normalize=function(r,a){var p=a[0],E=a[1],b=a[2],w=p*p+E*E+b*b;return w>0&&(w=1/Math.sqrt(w),r[0]=a[0]*w,r[1]=a[1]*w,r[2]=a[2]*w),r},n.dot=function(r,a){return r[0]*a[0]+r[1]*a[1]+r[2]*a[2]},n.cross=function(r,a,p){var E=a[0],b=a[1],w=a[2],R=p[0],O=p[1],z=p[2];return r[0]=b*z-w*O,r[1]=w*R-E*z,r[2]=E*O-b*R,r},n.lerp=function(r,a,p,E){var b=a[0],w=a[1],R=a[2];return r[0]=b+E*(p[0]-b),r[1]=w+E*(p[1]-w),r[2]=R+E*(p[2]-R),r},n.random=function(r,a){a=a||1;var p=x()*2*Math.PI,E=x()*2-1,b=Math.sqrt(1-E*E)*a;return r[0]=Math.cos(p)*b,r[1]=Math.sin(p)*b,r[2]=E*a,r},n.transformMat4=function(r,a,p){var E=a[0],b=a[1],w=a[2],R=p[3]*E+p[7]*b+p[11]*w+p[15];return R=R||1,r[0]=(p[0]*E+p[4]*b+p[8]*w+p[12])/R,r[1]=(p[1]*E+p[5]*b+p[9]*w+p[13])/R,r[2]=(p[2]*E+p[6]*b+p[10]*w+p[14])/R,r},n.transformMat3=function(r,a,p){var E=a[0],b=a[1],w=a[2];return r[0]=E*p[0]+b*p[3]+w*p[6],r[1]=E*p[1]+b*p[4]+w*p[7],r[2]=E*p[2]+b*p[5]+w*p[8],r},n.transformQuat=function(r,a,p){var E=a[0],b=a[1],w=a[2],R=p[0],O=p[1],z=p[2],B=p[3],P=B*E+O*w-z*b,F=B*b+z*E-R*w,k=B*w+R*b-O*E,U=-R*E-O*b-z*w;return r[0]=P*B+U*-R+F*-z-k*-O,r[1]=F*B+U*-O+k*-R-P*-z,r[2]=k*B+U*-z+P*-O-F*-R,r},n.rotateX=function(r,a,p,E){var b=[],w=[];return b[0]=a[0]-p[0],b[1]=a[1]-p[1],b[2]=a[2]-p[2],w[0]=b[0],w[1]=b[1]*Math.cos(E)-b[2]*Math.sin(E),w[2]=b[1]*Math.sin(E)+b[2]*Math.cos(E),r[0]=w[0]+p[0],r[1]=w[1]+p[1],r[2]=w[2]+p[2],r},n.rotateY=function(r,a,p,E){var b=[],w=[];return b[0]=a[0]-p[0],b[1]=a[1]-p[1],b[2]=a[2]-p[2],w[0]=b[2]*Math.sin(E)+b[0]*Math.cos(E),w[1]=b[1],w[2]=b[2]*Math.cos(E)-b[0]*Math.sin(E),r[0]=w[0]+p[0],r[1]=w[1]+p[1],r[2]=w[2]+p[2],r},n.rotateZ=function(r,a,p,E){var b=[],w=[];return b[0]=a[0]-p[0],b[1]=a[1]-p[1],b[2]=a[2]-p[2],w[0]=b[0]*Math.cos(E)-b[1]*Math.sin(E),w[1]=b[0]*Math.sin(E)+b[1]*Math.cos(E),w[2]=b[2],r[0]=w[0]+p[0],r[1]=w[1]+p[1],r[2]=w[2]+p[2],r},n.forEach=function(){var r=n.create();return function(a,p,E,b,w,R){var O,z;for(p||(p=3),E||(E=0),b?z=Math.min(b*p+E,a.length):z=a.length,O=E;O<z;O+=p)r[0]=a[O],r[1]=a[O+1],r[2]=a[O+2],w(r,r,R),a[O]=r[0],a[O+1]=r[1],a[O+2]=r[2];return a}}(),n.angle=function(r,a){var p=n.fromValues(r[0],r[1],r[2]),E=n.fromValues(a[0],a[1],a[2]);n.normalize(p,p),n.normalize(E,E);var b=n.dot(p,E);return b>1?0:Math.acos(b)},n.str=function(r){return"vec3("+r[0]+", "+r[1]+", "+r[2]+")"},typeof L!="undefined"&&(L.vec3=n);var o={};o.create=function(){var r=new s(4);return r[0]=0,r[1]=0,r[2]=0,r[3]=0,r},o.clone=function(r){var a=new s(4);return a[0]=r[0],a[1]=r[1],a[2]=r[2],a[3]=r[3],a},o.fromValues=function(r,a,p,E){var b=new s(4);return b[0]=r,b[1]=a,b[2]=p,b[3]=E,b},o.copy=function(r,a){return r[0]=a[0],r[1]=a[1],r[2]=a[2],r[3]=a[3],r},o.set=function(r,a,p,E,b){return r[0]=a,r[1]=p,r[2]=E,r[3]=b,r},o.add=function(r,a,p){return r[0]=a[0]+p[0],r[1]=a[1]+p[1],r[2]=a[2]+p[2],r[3]=a[3]+p[3],r},o.subtract=function(r,a,p){return r[0]=a[0]-p[0],r[1]=a[1]-p[1],r[2]=a[2]-p[2],r[3]=a[3]-p[3],r},o.sub=o.subtract,o.multiply=function(r,a,p){return r[0]=a[0]*p[0],r[1]=a[1]*p[1],r[2]=a[2]*p[2],r[3]=a[3]*p[3],r},o.mul=o.multiply,o.divide=function(r,a,p){return r[0]=a[0]/p[0],r[1]=a[1]/p[1],r[2]=a[2]/p[2],r[3]=a[3]/p[3],r},o.div=o.divide,o.min=function(r,a,p){return r[0]=Math.min(a[0],p[0]),r[1]=Math.min(a[1],p[1]),r[2]=Math.min(a[2],p[2]),r[3]=Math.min(a[3],p[3]),r},o.max=function(r,a,p){return r[0]=Math.max(a[0],p[0]),r[1]=Math.max(a[1],p[1]),r[2]=Math.max(a[2],p[2]),r[3]=Math.max(a[3],p[3]),r},o.scale=function(r,a,p){return r[0]=a[0]*p,r[1]=a[1]*p,r[2]=a[2]*p,r[3]=a[3]*p,r},o.scaleAndAdd=function(r,a,p,E){return r[0]=a[0]+p[0]*E,r[1]=a[1]+p[1]*E,r[2]=a[2]+p[2]*E,r[3]=a[3]+p[3]*E,r},o.distance=function(r,a){var p=a[0]-r[0],E=a[1]-r[1],b=a[2]-r[2],w=a[3]-r[3];return Math.sqrt(p*p+E*E+b*b+w*w)},o.dist=o.distance,o.squaredDistance=function(r,a){var p=a[0]-r[0],E=a[1]-r[1],b=a[2]-r[2],w=a[3]-r[3];return p*p+E*E+b*b+w*w},o.sqrDist=o.squaredDistance,o.length=function(r){var a=r[0],p=r[1],E=r[2],b=r[3];return Math.sqrt(a*a+p*p+E*E+b*b)},o.len=o.length,o.squaredLength=function(r){var a=r[0],p=r[1],E=r[2],b=r[3];return a*a+p*p+E*E+b*b},o.sqrLen=o.squaredLength,o.negate=function(r,a){return r[0]=-a[0],r[1]=-a[1],r[2]=-a[2],r[3]=-a[3],r},o.inverse=function(r,a){return r[0]=1/a[0],r[1]=1/a[1],r[2]=1/a[2],r[3]=1/a[3],r},o.normalize=function(r,a){var p=a[0],E=a[1],b=a[2],w=a[3],R=p*p+E*E+b*b+w*w;return R>0&&(R=1/Math.sqrt(R),r[0]=a[0]*R,r[1]=a[1]*R,r[2]=a[2]*R,r[3]=a[3]*R),r},o.dot=function(r,a){return r[0]*a[0]+r[1]*a[1]+r[2]*a[2]+r[3]*a[3]},o.lerp=function(r,a,p,E){var b=a[0],w=a[1],R=a[2],O=a[3];return r[0]=b+E*(p[0]-b),r[1]=w+E*(p[1]-w),r[2]=R+E*(p[2]-R),r[3]=O+E*(p[3]-O),r},o.random=function(r,a){return a=a||1,r[0]=x(),r[1]=x(),r[2]=x(),r[3]=x(),o.normalize(r,r),o.scale(r,r,a),r},o.transformMat4=function(r,a,p){var E=a[0],b=a[1],w=a[2],R=a[3];return r[0]=p[0]*E+p[4]*b+p[8]*w+p[12]*R,r[1]=p[1]*E+p[5]*b+p[9]*w+p[13]*R,r[2]=p[2]*E+p[6]*b+p[10]*w+p[14]*R,r[3]=p[3]*E+p[7]*b+p[11]*w+p[15]*R,r},o.transformQuat=function(r,a,p){var E=a[0],b=a[1],w=a[2],R=p[0],O=p[1],z=p[2],B=p[3],P=B*E+O*w-z*b,F=B*b+z*E-R*w,k=B*w+R*b-O*E,U=-R*E-O*b-z*w;return r[0]=P*B+U*-R+F*-z-k*-O,r[1]=F*B+U*-O+k*-R-P*-z,r[2]=k*B+U*-z+P*-O-F*-R,r},o.forEach=function(){var r=o.create();return function(a,p,E,b,w,R){var O,z;for(p||(p=4),E||(E=0),b?z=Math.min(b*p+E,a.length):z=a.length,O=E;O<z;O+=p)r[0]=a[O],r[1]=a[O+1],r[2]=a[O+2],r[3]=a[O+3],w(r,r,R),a[O]=r[0],a[O+1]=r[1],a[O+2]=r[2],a[O+3]=r[3];return a}}(),o.str=function(r){return"vec4("+r[0]+", "+r[1]+", "+r[2]+", "+r[3]+")"},typeof L!="undefined"&&(L.vec4=o);var d={};d.create=function(){var r=new s(4);return r[0]=1,r[1]=0,r[2]=0,r[3]=1,r},d.clone=function(r){var a=new s(4);return a[0]=r[0],a[1]=r[1],a[2]=r[2],a[3]=r[3],a},d.copy=function(r,a){return r[0]=a[0],r[1]=a[1],r[2]=a[2],r[3]=a[3],r},d.identity=function(r){return r[0]=1,r[1]=0,r[2]=0,r[3]=1,r},d.transpose=function(r,a){if(r===a){var p=a[1];r[1]=a[2],r[2]=p}else r[0]=a[0],r[1]=a[2],r[2]=a[1],r[3]=a[3];return r},d.invert=function(r,a){var p=a[0],E=a[1],b=a[2],w=a[3],R=p*w-b*E;return R?(R=1/R,r[0]=w*R,r[1]=-E*R,r[2]=-b*R,r[3]=p*R,r):null},d.adjoint=function(r,a){var p=a[0];return r[0]=a[3],r[1]=-a[1],r[2]=-a[2],r[3]=p,r},d.determinant=function(r){return r[0]*r[3]-r[2]*r[1]},d.multiply=function(r,a,p){var E=a[0],b=a[1],w=a[2],R=a[3],O=p[0],z=p[1],B=p[2],P=p[3];return r[0]=E*O+w*z,r[1]=b*O+R*z,r[2]=E*B+w*P,r[3]=b*B+R*P,r},d.mul=d.multiply,d.rotate=function(r,a,p){var E=a[0],b=a[1],w=a[2],R=a[3],O=Math.sin(p),z=Math.cos(p);return r[0]=E*z+w*O,r[1]=b*z+R*O,r[2]=E*-O+w*z,r[3]=b*-O+R*z,r},d.scale=function(r,a,p){var E=a[0],b=a[1],w=a[2],R=a[3],O=p[0],z=p[1];return r[0]=E*O,r[1]=b*O,r[2]=w*z,r[3]=R*z,r},d.str=function(r){return"mat2("+r[0]+", "+r[1]+", "+r[2]+", "+r[3]+")"},d.frob=function(r){return Math.sqrt(Math.pow(r[0],2)+Math.pow(r[1],2)+Math.pow(r[2],2)+Math.pow(r[3],2))},d.LDU=function(r,a,p,E){return r[2]=E[2]/E[0],p[0]=E[0],p[1]=E[1],p[3]=E[3]-r[2]*p[1],[r,a,p]},typeof L!="undefined"&&(L.mat2=d);var m={};m.create=function(){var r=new s(6);return r[0]=1,r[1]=0,r[2]=0,r[3]=1,r[4]=0,r[5]=0,r},m.clone=function(r){var a=new s(6);return a[0]=r[0],a[1]=r[1],a[2]=r[2],a[3]=r[3],a[4]=r[4],a[5]=r[5],a},m.copy=function(r,a){return r[0]=a[0],r[1]=a[1],r[2]=a[2],r[3]=a[3],r[4]=a[4],r[5]=a[5],r},m.identity=function(r){return r[0]=1,r[1]=0,r[2]=0,r[3]=1,r[4]=0,r[5]=0,r},m.invert=function(r,a){var p=a[0],E=a[1],b=a[2],w=a[3],R=a[4],O=a[5],z=p*w-E*b;return z?(z=1/z,r[0]=w*z,r[1]=-E*z,r[2]=-b*z,r[3]=p*z,r[4]=(b*O-w*R)*z,r[5]=(E*R-p*O)*z,r):null},m.determinant=function(r){return r[0]*r[3]-r[1]*r[2]},m.multiply=function(r,a,p){var E=a[0],b=a[1],w=a[2],R=a[3],O=a[4],z=a[5],B=p[0],P=p[1],F=p[2],k=p[3],U=p[4],G=p[5];return r[0]=E*B+w*P,r[1]=b*B+R*P,r[2]=E*F+w*k,r[3]=b*F+R*k,r[4]=E*U+w*G+O,r[5]=b*U+R*G+z,r},m.mul=m.multiply,m.rotate=function(r,a,p){var E=a[0],b=a[1],w=a[2],R=a[3],O=a[4],z=a[5],B=Math.sin(p),P=Math.cos(p);return r[0]=E*P+w*B,r[1]=b*P+R*B,r[2]=E*-B+w*P,r[3]=b*-B+R*P,r[4]=O,r[5]=z,r},m.scale=function(r,a,p){var E=a[0],b=a[1],w=a[2],R=a[3],O=a[4],z=a[5],B=p[0],P=p[1];return r[0]=E*B,r[1]=b*B,r[2]=w*P,r[3]=R*P,r[4]=O,r[5]=z,r},m.translate=function(r,a,p){var E=a[0],b=a[1],w=a[2],R=a[3],O=a[4],z=a[5],B=p[0],P=p[1];return r[0]=E,r[1]=b,r[2]=w,r[3]=R,r[4]=E*B+w*P+O,r[5]=b*B+R*P+z,r},m.str=function(r){return"mat2d("+r[0]+", "+r[1]+", "+r[2]+", "+r[3]+", "+r[4]+", "+r[5]+")"},m.frob=function(r){return Math.sqrt(Math.pow(r[0],2)+Math.pow(r[1],2)+Math.pow(r[2],2)+Math.pow(r[3],2)+Math.pow(r[4],2)+Math.pow(r[5],2)+1)},typeof L!="undefined"&&(L.mat2d=m);var _={};_.create=function(){var r=new s(9);return r[0]=1,r[1]=0,r[2]=0,r[3]=0,r[4]=1,r[5]=0,r[6]=0,r[7]=0,r[8]=1,r},_.fromMat4=function(r,a){return r[0]=a[0],r[1]=a[1],r[2]=a[2],r[3]=a[4],r[4]=a[5],r[5]=a[6],r[6]=a[8],r[7]=a[9],r[8]=a[10],r},_.clone=function(r){var a=new s(9);return a[0]=r[0],a[1]=r[1],a[2]=r[2],a[3]=r[3],a[4]=r[4],a[5]=r[5],a[6]=r[6],a[7]=r[7],a[8]=r[8],a},_.copy=function(r,a){return r[0]=a[0],r[1]=a[1],r[2]=a[2],r[3]=a[3],r[4]=a[4],r[5]=a[5],r[6]=a[6],r[7]=a[7],r[8]=a[8],r},_.identity=function(r){return r[0]=1,r[1]=0,r[2]=0,r[3]=0,r[4]=1,r[5]=0,r[6]=0,r[7]=0,r[8]=1,r},_.transpose=function(r,a){if(r===a){var p=a[1],E=a[2],b=a[5];r[1]=a[3],r[2]=a[6],r[3]=p,r[5]=a[7],r[6]=E,r[7]=b}else r[0]=a[0],r[1]=a[3],r[2]=a[6],r[3]=a[1],r[4]=a[4],r[5]=a[7],r[6]=a[2],r[7]=a[5],r[8]=a[8];return r},_.invert=function(r,a){var p=a[0],E=a[1],b=a[2],w=a[3],R=a[4],O=a[5],z=a[6],B=a[7],P=a[8],F=P*R-O*B,k=-P*w+O*z,U=B*w-R*z,G=p*F+E*k+b*U;return G?(G=1/G,r[0]=F*G,r[1]=(-P*E+b*B)*G,r[2]=(O*E-b*R)*G,r[3]=k*G,r[4]=(P*p-b*z)*G,r[5]=(-O*p+b*w)*G,r[6]=U*G,r[7]=(-B*p+E*z)*G,r[8]=(R*p-E*w)*G,r):null},_.adjoint=function(r,a){var p=a[0],E=a[1],b=a[2],w=a[3],R=a[4],O=a[5],z=a[6],B=a[7],P=a[8];return r[0]=R*P-O*B,r[1]=b*B-E*P,r[2]=E*O-b*R,r[3]=O*z-w*P,r[4]=p*P-b*z,r[5]=b*w-p*O,r[6]=w*B-R*z,r[7]=E*z-p*B,r[8]=p*R-E*w,r},_.determinant=function(r){var a=r[0],p=r[1],E=r[2],b=r[3],w=r[4],R=r[5],O=r[6],z=r[7],B=r[8];return a*(B*w-R*z)+p*(-B*b+R*O)+E*(z*b-w*O)},_.multiply=function(r,a,p){var E=a[0],b=a[1],w=a[2],R=a[3],O=a[4],z=a[5],B=a[6],P=a[7],F=a[8],k=p[0],U=p[1],G=p[2],C=p[3],I=p[4],H=p[5],$=p[6],q=p[7],se=p[8];return r[0]=k*E+U*R+G*B,r[1]=k*b+U*O+G*P,r[2]=k*w+U*z+G*F,r[3]=C*E+I*R+H*B,r[4]=C*b+I*O+H*P,r[5]=C*w+I*z+H*F,r[6]=$*E+q*R+se*B,r[7]=$*b+q*O+se*P,r[8]=$*w+q*z+se*F,r},_.mul=_.multiply,_.translate=function(r,a,p){var E=a[0],b=a[1],w=a[2],R=a[3],O=a[4],z=a[5],B=a[6],P=a[7],F=a[8],k=p[0],U=p[1];return r[0]=E,r[1]=b,r[2]=w,r[3]=R,r[4]=O,r[5]=z,r[6]=k*E+U*R+B,r[7]=k*b+U*O+P,r[8]=k*w+U*z+F,r},_.rotate=function(r,a,p){var E=a[0],b=a[1],w=a[2],R=a[3],O=a[4],z=a[5],B=a[6],P=a[7],F=a[8],k=Math.sin(p),U=Math.cos(p);return r[0]=U*E+k*R,r[1]=U*b+k*O,r[2]=U*w+k*z,r[3]=U*R-k*E,r[4]=U*O-k*b,r[5]=U*z-k*w,r[6]=B,r[7]=P,r[8]=F,r},_.scale=function(r,a,p){var E=p[0],b=p[1];return r[0]=E*a[0],r[1]=E*a[1],r[2]=E*a[2],r[3]=b*a[3],r[4]=b*a[4],r[5]=b*a[5],r[6]=a[6],r[7]=a[7],r[8]=a[8],r},_.fromMat2d=function(r,a){return r[0]=a[0],r[1]=a[1],r[2]=0,r[3]=a[2],r[4]=a[3],r[5]=0,r[6]=a[4],r[7]=a[5],r[8]=1,r},_.fromQuat=function(r,a){var p=a[0],E=a[1],b=a[2],w=a[3],R=p+p,O=E+E,z=b+b,B=p*R,P=E*R,F=E*O,k=b*R,U=b*O,G=b*z,C=w*R,I=w*O,H=w*z;return r[0]=1-F-G,r[3]=P-H,r[6]=k+I,r[1]=P+H,r[4]=1-B-G,r[7]=U-C,r[2]=k-I,r[5]=U+C,r[8]=1-B-F,r},_.normalFromMat4=function(r,a){var p=a[0],E=a[1],b=a[2],w=a[3],R=a[4],O=a[5],z=a[6],B=a[7],P=a[8],F=a[9],k=a[10],U=a[11],G=a[12],C=a[13],I=a[14],H=a[15],$=p*O-E*R,q=p*z-b*R,se=p*B-w*R,ue=E*z-b*O,me=E*B-w*O,Ee=b*B-w*z,Le=P*C-F*G,Fe=P*I-k*G,Ke=P*H-U*G,Te=F*I-k*C,We=F*H-U*C,Ce=k*H-U*I,De=$*Ce-q*We+se*Te+ue*Ke-me*Fe+Ee*Le;return De?(De=1/De,r[0]=(O*Ce-z*We+B*Te)*De,r[1]=(z*Ke-R*Ce-B*Fe)*De,r[2]=(R*We-O*Ke+B*Le)*De,r[3]=(b*We-E*Ce-w*Te)*De,r[4]=(p*Ce-b*Ke+w*Fe)*De,r[5]=(E*Ke-p*We-w*Le)*De,r[6]=(C*Ee-I*me+H*ue)*De,r[7]=(I*se-G*Ee-H*q)*De,r[8]=(G*me-C*se+H*$)*De,r):null},_.str=function(r){return"mat3("+r[0]+", "+r[1]+", "+r[2]+", "+r[3]+", "+r[4]+", "+r[5]+", "+r[6]+", "+r[7]+", "+r[8]+")"},_.frob=function(r){return Math.sqrt(Math.pow(r[0],2)+Math.pow(r[1],2)+Math.pow(r[2],2)+Math.pow(r[3],2)+Math.pow(r[4],2)+Math.pow(r[5],2)+Math.pow(r[6],2)+Math.pow(r[7],2)+Math.pow(r[8],2))},typeof L!="undefined"&&(L.mat3=_);var h={};h.create=function(){var r=new s(16);return r[0]=1,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=1,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=1,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r},h.clone=function(r){var a=new s(16);return a[0]=r[0],a[1]=r[1],a[2]=r[2],a[3]=r[3],a[4]=r[4],a[5]=r[5],a[6]=r[6],a[7]=r[7],a[8]=r[8],a[9]=r[9],a[10]=r[10],a[11]=r[11],a[12]=r[12],a[13]=r[13],a[14]=r[14],a[15]=r[15],a},h.copy=function(r,a){return r[0]=a[0],r[1]=a[1],r[2]=a[2],r[3]=a[3],r[4]=a[4],r[5]=a[5],r[6]=a[6],r[7]=a[7],r[8]=a[8],r[9]=a[9],r[10]=a[10],r[11]=a[11],r[12]=a[12],r[13]=a[13],r[14]=a[14],r[15]=a[15],r},h.identity=function(r){return r[0]=1,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=1,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=1,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r},h.transpose=function(r,a){if(r===a){var p=a[1],E=a[2],b=a[3],w=a[6],R=a[7],O=a[11];r[1]=a[4],r[2]=a[8],r[3]=a[12],r[4]=p,r[6]=a[9],r[7]=a[13],r[8]=E,r[9]=w,r[11]=a[14],r[12]=b,r[13]=R,r[14]=O}else r[0]=a[0],r[1]=a[4],r[2]=a[8],r[3]=a[12],r[4]=a[1],r[5]=a[5],r[6]=a[9],r[7]=a[13],r[8]=a[2],r[9]=a[6],r[10]=a[10],r[11]=a[14],r[12]=a[3],r[13]=a[7],r[14]=a[11],r[15]=a[15];return r},h.invert=function(r,a){var p=a[0],E=a[1],b=a[2],w=a[3],R=a[4],O=a[5],z=a[6],B=a[7],P=a[8],F=a[9],k=a[10],U=a[11],G=a[12],C=a[13],I=a[14],H=a[15],$=p*O-E*R,q=p*z-b*R,se=p*B-w*R,ue=E*z-b*O,me=E*B-w*O,Ee=b*B-w*z,Le=P*C-F*G,Fe=P*I-k*G,Ke=P*H-U*G,Te=F*I-k*C,We=F*H-U*C,Ce=k*H-U*I,De=$*Ce-q*We+se*Te+ue*Ke-me*Fe+Ee*Le;return De?(De=1/De,r[0]=(O*Ce-z*We+B*Te)*De,r[1]=(b*We-E*Ce-w*Te)*De,r[2]=(C*Ee-I*me+H*ue)*De,r[3]=(k*me-F*Ee-U*ue)*De,r[4]=(z*Ke-R*Ce-B*Fe)*De,r[5]=(p*Ce-b*Ke+w*Fe)*De,r[6]=(I*se-G*Ee-H*q)*De,r[7]=(P*Ee-k*se+U*q)*De,r[8]=(R*We-O*Ke+B*Le)*De,r[9]=(E*Ke-p*We-w*Le)*De,r[10]=(G*me-C*se+H*$)*De,r[11]=(F*se-P*me-U*$)*De,r[12]=(O*Fe-R*Te-z*Le)*De,r[13]=(p*Te-E*Fe+b*Le)*De,r[14]=(C*q-G*ue-I*$)*De,r[15]=(P*ue-F*q+k*$)*De,r):null},h.adjoint=function(r,a){var p=a[0],E=a[1],b=a[2],w=a[3],R=a[4],O=a[5],z=a[6],B=a[7],P=a[8],F=a[9],k=a[10],U=a[11],G=a[12],C=a[13],I=a[14],H=a[15];return r[0]=O*(k*H-U*I)-F*(z*H-B*I)+C*(z*U-B*k),r[1]=-(E*(k*H-U*I)-F*(b*H-w*I)+C*(b*U-w*k)),r[2]=E*(z*H-B*I)-O*(b*H-w*I)+C*(b*B-w*z),r[3]=-(E*(z*U-B*k)-O*(b*U-w*k)+F*(b*B-w*z)),r[4]=-(R*(k*H-U*I)-P*(z*H-B*I)+G*(z*U-B*k)),r[5]=p*(k*H-U*I)-P*(b*H-w*I)+G*(b*U-w*k),r[6]=-(p*(z*H-B*I)-R*(b*H-w*I)+G*(b*B-w*z)),r[7]=p*(z*U-B*k)-R*(b*U-w*k)+P*(b*B-w*z),r[8]=R*(F*H-U*C)-P*(O*H-B*C)+G*(O*U-B*F),r[9]=-(p*(F*H-U*C)-P*(E*H-w*C)+G*(E*U-w*F)),r[10]=p*(O*H-B*C)-R*(E*H-w*C)+G*(E*B-w*O),r[11]=-(p*(O*U-B*F)-R*(E*U-w*F)+P*(E*B-w*O)),r[12]=-(R*(F*I-k*C)-P*(O*I-z*C)+G*(O*k-z*F)),r[13]=p*(F*I-k*C)-P*(E*I-b*C)+G*(E*k-b*F),r[14]=-(p*(O*I-z*C)-R*(E*I-b*C)+G*(E*z-b*O)),r[15]=p*(O*k-z*F)-R*(E*k-b*F)+P*(E*z-b*O),r},h.determinant=function(r){var a=r[0],p=r[1],E=r[2],b=r[3],w=r[4],R=r[5],O=r[6],z=r[7],B=r[8],P=r[9],F=r[10],k=r[11],U=r[12],G=r[13],C=r[14],I=r[15],H=a*R-p*w,$=a*O-E*w,q=a*z-b*w,se=p*O-E*R,ue=p*z-b*R,me=E*z-b*O,Ee=B*G-P*U,Le=B*C-F*U,Fe=B*I-k*U,Ke=P*C-F*G,Te=P*I-k*G,We=F*I-k*C;return H*We-$*Te+q*Ke+se*Fe-ue*Le+me*Ee},h.multiply=function(r,a,p){var E=a[0],b=a[1],w=a[2],R=a[3],O=a[4],z=a[5],B=a[6],P=a[7],F=a[8],k=a[9],U=a[10],G=a[11],C=a[12],I=a[13],H=a[14],$=a[15],q=p[0],se=p[1],ue=p[2],me=p[3];return r[0]=q*E+se*O+ue*F+me*C,r[1]=q*b+se*z+ue*k+me*I,r[2]=q*w+se*B+ue*U+me*H,r[3]=q*R+se*P+ue*G+me*$,q=p[4],se=p[5],ue=p[6],me=p[7],r[4]=q*E+se*O+ue*F+me*C,r[5]=q*b+se*z+ue*k+me*I,r[6]=q*w+se*B+ue*U+me*H,r[7]=q*R+se*P+ue*G+me*$,q=p[8],se=p[9],ue=p[10],me=p[11],r[8]=q*E+se*O+ue*F+me*C,r[9]=q*b+se*z+ue*k+me*I,r[10]=q*w+se*B+ue*U+me*H,r[11]=q*R+se*P+ue*G+me*$,q=p[12],se=p[13],ue=p[14],me=p[15],r[12]=q*E+se*O+ue*F+me*C,r[13]=q*b+se*z+ue*k+me*I,r[14]=q*w+se*B+ue*U+me*H,r[15]=q*R+se*P+ue*G+me*$,r},h.multiplyAffine=function(r,a,p){var E=a[0],b=a[1],w=a[2],R=a[4],O=a[5],z=a[6],B=a[8],P=a[9],F=a[10],k=a[12],U=a[13],G=a[14],C=p[0],I=p[1],H=p[2];return r[0]=C*E+I*R+H*B,r[1]=C*b+I*O+H*P,r[2]=C*w+I*z+H*F,C=p[4],I=p[5],H=p[6],r[4]=C*E+I*R+H*B,r[5]=C*b+I*O+H*P,r[6]=C*w+I*z+H*F,C=p[8],I=p[9],H=p[10],r[8]=C*E+I*R+H*B,r[9]=C*b+I*O+H*P,r[10]=C*w+I*z+H*F,C=p[12],I=p[13],H=p[14],r[12]=C*E+I*R+H*B+k,r[13]=C*b+I*O+H*P+U,r[14]=C*w+I*z+H*F+G,r},h.mul=h.multiply,h.mulAffine=h.multiplyAffine,h.translate=function(r,a,p){var E=p[0],b=p[1],w=p[2],R,O,z,B,P,F,k,U,G,C,I,H;return a===r?(r[12]=a[0]*E+a[4]*b+a[8]*w+a[12],r[13]=a[1]*E+a[5]*b+a[9]*w+a[13],r[14]=a[2]*E+a[6]*b+a[10]*w+a[14],r[15]=a[3]*E+a[7]*b+a[11]*w+a[15]):(R=a[0],O=a[1],z=a[2],B=a[3],P=a[4],F=a[5],k=a[6],U=a[7],G=a[8],C=a[9],I=a[10],H=a[11],r[0]=R,r[1]=O,r[2]=z,r[3]=B,r[4]=P,r[5]=F,r[6]=k,r[7]=U,r[8]=G,r[9]=C,r[10]=I,r[11]=H,r[12]=R*E+P*b+G*w+a[12],r[13]=O*E+F*b+C*w+a[13],r[14]=z*E+k*b+I*w+a[14],r[15]=B*E+U*b+H*w+a[15]),r},h.scale=function(r,a,p){var E=p[0],b=p[1],w=p[2];return r[0]=a[0]*E,r[1]=a[1]*E,r[2]=a[2]*E,r[3]=a[3]*E,r[4]=a[4]*b,r[5]=a[5]*b,r[6]=a[6]*b,r[7]=a[7]*b,r[8]=a[8]*w,r[9]=a[9]*w,r[10]=a[10]*w,r[11]=a[11]*w,r[12]=a[12],r[13]=a[13],r[14]=a[14],r[15]=a[15],r},h.rotate=function(r,a,p,E){var b=E[0],w=E[1],R=E[2],O=Math.sqrt(b*b+w*w+R*R),z,B,P,F,k,U,G,C,I,H,$,q,se,ue,me,Ee,Le,Fe,Ke,Te,We,Ce,De,ge;return Math.abs(O)<A?null:(O=1/O,b*=O,w*=O,R*=O,z=Math.sin(p),B=Math.cos(p),P=1-B,F=a[0],k=a[1],U=a[2],G=a[3],C=a[4],I=a[5],H=a[6],$=a[7],q=a[8],se=a[9],ue=a[10],me=a[11],Ee=b*b*P+B,Le=w*b*P+R*z,Fe=R*b*P-w*z,Ke=b*w*P-R*z,Te=w*w*P+B,We=R*w*P+b*z,Ce=b*R*P+w*z,De=w*R*P-b*z,ge=R*R*P+B,r[0]=F*Ee+C*Le+q*Fe,r[1]=k*Ee+I*Le+se*Fe,r[2]=U*Ee+H*Le+ue*Fe,r[3]=G*Ee+$*Le+me*Fe,r[4]=F*Ke+C*Te+q*We,r[5]=k*Ke+I*Te+se*We,r[6]=U*Ke+H*Te+ue*We,r[7]=G*Ke+$*Te+me*We,r[8]=F*Ce+C*De+q*ge,r[9]=k*Ce+I*De+se*ge,r[10]=U*Ce+H*De+ue*ge,r[11]=G*Ce+$*De+me*ge,a!==r&&(r[12]=a[12],r[13]=a[13],r[14]=a[14],r[15]=a[15]),r)},h.rotateX=function(r,a,p){var E=Math.sin(p),b=Math.cos(p),w=a[4],R=a[5],O=a[6],z=a[7],B=a[8],P=a[9],F=a[10],k=a[11];return a!==r&&(r[0]=a[0],r[1]=a[1],r[2]=a[2],r[3]=a[3],r[12]=a[12],r[13]=a[13],r[14]=a[14],r[15]=a[15]),r[4]=w*b+B*E,r[5]=R*b+P*E,r[6]=O*b+F*E,r[7]=z*b+k*E,r[8]=B*b-w*E,r[9]=P*b-R*E,r[10]=F*b-O*E,r[11]=k*b-z*E,r},h.rotateY=function(r,a,p){var E=Math.sin(p),b=Math.cos(p),w=a[0],R=a[1],O=a[2],z=a[3],B=a[8],P=a[9],F=a[10],k=a[11];return a!==r&&(r[4]=a[4],r[5]=a[5],r[6]=a[6],r[7]=a[7],r[12]=a[12],r[13]=a[13],r[14]=a[14],r[15]=a[15]),r[0]=w*b-B*E,r[1]=R*b-P*E,r[2]=O*b-F*E,r[3]=z*b-k*E,r[8]=w*E+B*b,r[9]=R*E+P*b,r[10]=O*E+F*b,r[11]=z*E+k*b,r},h.rotateZ=function(r,a,p){var E=Math.sin(p),b=Math.cos(p),w=a[0],R=a[1],O=a[2],z=a[3],B=a[4],P=a[5],F=a[6],k=a[7];return a!==r&&(r[8]=a[8],r[9]=a[9],r[10]=a[10],r[11]=a[11],r[12]=a[12],r[13]=a[13],r[14]=a[14],r[15]=a[15]),r[0]=w*b+B*E,r[1]=R*b+P*E,r[2]=O*b+F*E,r[3]=z*b+k*E,r[4]=B*b-w*E,r[5]=P*b-R*E,r[6]=F*b-O*E,r[7]=k*b-z*E,r},h.fromRotationTranslation=function(r,a,p){var E=a[0],b=a[1],w=a[2],R=a[3],O=E+E,z=b+b,B=w+w,P=E*O,F=E*z,k=E*B,U=b*z,G=b*B,C=w*B,I=R*O,H=R*z,$=R*B;return r[0]=1-(U+C),r[1]=F+$,r[2]=k-H,r[3]=0,r[4]=F-$,r[5]=1-(P+C),r[6]=G+I,r[7]=0,r[8]=k+H,r[9]=G-I,r[10]=1-(P+U),r[11]=0,r[12]=p[0],r[13]=p[1],r[14]=p[2],r[15]=1,r},h.fromQuat=function(r,a){var p=a[0],E=a[1],b=a[2],w=a[3],R=p+p,O=E+E,z=b+b,B=p*R,P=E*R,F=E*O,k=b*R,U=b*O,G=b*z,C=w*R,I=w*O,H=w*z;return r[0]=1-F-G,r[1]=P+H,r[2]=k-I,r[3]=0,r[4]=P-H,r[5]=1-B-G,r[6]=U+C,r[7]=0,r[8]=k+I,r[9]=U-C,r[10]=1-B-F,r[11]=0,r[12]=0,r[13]=0,r[14]=0,r[15]=1,r},h.frustum=function(r,a,p,E,b,w,R){var O=1/(p-a),z=1/(b-E),B=1/(w-R);return r[0]=w*2*O,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=w*2*z,r[6]=0,r[7]=0,r[8]=(p+a)*O,r[9]=(b+E)*z,r[10]=(R+w)*B,r[11]=-1,r[12]=0,r[13]=0,r[14]=R*w*2*B,r[15]=0,r},h.perspective=function(r,a,p,E,b){var w=1/Math.tan(a/2),R=1/(E-b);return r[0]=w/p,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=w,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=(b+E)*R,r[11]=-1,r[12]=0,r[13]=0,r[14]=2*b*E*R,r[15]=0,r},h.ortho=function(r,a,p,E,b,w,R){var O=1/(a-p),z=1/(E-b),B=1/(w-R);return r[0]=-2*O,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=-2*z,r[6]=0,r[7]=0,r[8]=0,r[9]=0,r[10]=2*B,r[11]=0,r[12]=(a+p)*O,r[13]=(b+E)*z,r[14]=(R+w)*B,r[15]=1,r},h.lookAt=function(r,a,p,E){var b,w,R,O,z,B,P,F,k,U,G=a[0],C=a[1],I=a[2],H=E[0],$=E[1],q=E[2],se=p[0],ue=p[1],me=p[2];return Math.abs(G-se)<A&&Math.abs(C-ue)<A&&Math.abs(I-me)<A?h.identity(r):(P=G-se,F=C-ue,k=I-me,U=1/Math.sqrt(P*P+F*F+k*k),P*=U,F*=U,k*=U,b=$*k-q*F,w=q*P-H*k,R=H*F-$*P,U=Math.sqrt(b*b+w*w+R*R),U?(U=1/U,b*=U,w*=U,R*=U):(b=0,w=0,R=0),O=F*R-k*w,z=k*b-P*R,B=P*w-F*b,U=Math.sqrt(O*O+z*z+B*B),U?(U=1/U,O*=U,z*=U,B*=U):(O=0,z=0,B=0),r[0]=b,r[1]=O,r[2]=P,r[3]=0,r[4]=w,r[5]=z,r[6]=F,r[7]=0,r[8]=R,r[9]=B,r[10]=k,r[11]=0,r[12]=-(b*G+w*C+R*I),r[13]=-(O*G+z*C+B*I),r[14]=-(P*G+F*C+k*I),r[15]=1,r)},h.str=function(r){return"mat4("+r[0]+", "+r[1]+", "+r[2]+", "+r[3]+", "+r[4]+", "+r[5]+", "+r[6]+", "+r[7]+", "+r[8]+", "+r[9]+", "+r[10]+", "+r[11]+", "+r[12]+", "+r[13]+", "+r[14]+", "+r[15]+")"},h.frob=function(r){return Math.sqrt(Math.pow(r[0],2)+Math.pow(r[1],2)+Math.pow(r[2],2)+Math.pow(r[3],2)+Math.pow(r[4],2)+Math.pow(r[5],2)+Math.pow(r[6],2)+Math.pow(r[7],2)+Math.pow(r[8],2)+Math.pow(r[9],2)+Math.pow(r[10],2)+Math.pow(r[11],2)+Math.pow(r[12],2)+Math.pow(r[13],2)+Math.pow(r[14],2)+Math.pow(r[15],2))},typeof L!="undefined"&&(L.mat4=h);var g={};g.create=function(){var r=new s(4);return r[0]=0,r[1]=0,r[2]=0,r[3]=1,r},g.rotationTo=function(){var r=n.create(),a=n.fromValues(1,0,0),p=n.fromValues(0,1,0);return function(E,b,w){var R=n.dot(b,w);return R<-.999999?(n.cross(r,a,b),n.length(r)<1e-6&&n.cross(r,p,b),n.normalize(r,r),g.setAxisAngle(E,r,Math.PI),E):R>.999999?(E[0]=0,E[1]=0,E[2]=0,E[3]=1,E):(n.cross(r,b,w),E[0]=r[0],E[1]=r[1],E[2]=r[2],E[3]=1+R,g.normalize(E,E))}}(),g.setAxes=function(){var r=_.create();return function(a,p,E,b){return r[0]=E[0],r[3]=E[1],r[6]=E[2],r[1]=b[0],r[4]=b[1],r[7]=b[2],r[2]=-p[0],r[5]=-p[1],r[8]=-p[2],g.normalize(a,g.fromMat3(a,r))}}(),g.clone=o.clone,g.fromValues=o.fromValues,g.copy=o.copy,g.set=o.set,g.identity=function(r){return r[0]=0,r[1]=0,r[2]=0,r[3]=1,r},g.setAxisAngle=function(r,a,p){p=p*.5;var E=Math.sin(p);return r[0]=E*a[0],r[1]=E*a[1],r[2]=E*a[2],r[3]=Math.cos(p),r},g.add=o.add,g.multiply=function(r,a,p){var E=a[0],b=a[1],w=a[2],R=a[3],O=p[0],z=p[1],B=p[2],P=p[3];return r[0]=E*P+R*O+b*B-w*z,r[1]=b*P+R*z+w*O-E*B,r[2]=w*P+R*B+E*z-b*O,r[3]=R*P-E*O-b*z-w*B,r},g.mul=g.multiply,g.scale=o.scale,g.rotateX=function(r,a,p){p*=.5;var E=a[0],b=a[1],w=a[2],R=a[3],O=Math.sin(p),z=Math.cos(p);return r[0]=E*z+R*O,r[1]=b*z+w*O,r[2]=w*z-b*O,r[3]=R*z-E*O,r},g.rotateY=function(r,a,p){p*=.5;var E=a[0],b=a[1],w=a[2],R=a[3],O=Math.sin(p),z=Math.cos(p);return r[0]=E*z-w*O,r[1]=b*z+R*O,r[2]=w*z+E*O,r[3]=R*z-b*O,r},g.rotateZ=function(r,a,p){p*=.5;var E=a[0],b=a[1],w=a[2],R=a[3],O=Math.sin(p),z=Math.cos(p);return r[0]=E*z+b*O,r[1]=b*z-E*O,r[2]=w*z+R*O,r[3]=R*z-w*O,r},g.calculateW=function(r,a){var p=a[0],E=a[1],b=a[2];return r[0]=p,r[1]=E,r[2]=b,r[3]=Math.sqrt(Math.abs(1-p*p-E*E-b*b)),r},g.dot=o.dot,g.lerp=o.lerp,g.slerp=function(r,a,p,E){var b=a[0],w=a[1],R=a[2],O=a[3],z=p[0],B=p[1],P=p[2],F=p[3],k,U,G,C,I;return U=b*z+w*B+R*P+O*F,U<0&&(U=-U,z=-z,B=-B,P=-P,F=-F),1-U>1e-6?(k=Math.acos(U),G=Math.sin(k),C=Math.sin((1-E)*k)/G,I=Math.sin(E*k)/G):(C=1-E,I=E),r[0]=C*b+I*z,r[1]=C*w+I*B,r[2]=C*R+I*P,r[3]=C*O+I*F,r},g.invert=function(r,a){var p=a[0],E=a[1],b=a[2],w=a[3],R=p*p+E*E+b*b+w*w,O=R?1/R:0;return r[0]=-p*O,r[1]=-E*O,r[2]=-b*O,r[3]=w*O,r},g.conjugate=function(r,a){return r[0]=-a[0],r[1]=-a[1],r[2]=-a[2],r[3]=a[3],r},g.length=o.length,g.len=g.length,g.squaredLength=o.squaredLength,g.sqrLen=g.squaredLength,g.normalize=o.normalize,g.fromMat3=function(r,a){var p=a[0]+a[4]+a[8],E;if(p>0)E=Math.sqrt(p+1),r[3]=.5*E,E=.5/E,r[0]=(a[5]-a[7])*E,r[1]=(a[6]-a[2])*E,r[2]=(a[1]-a[3])*E;else{var b=0;a[4]>a[0]&&(b=1),a[8]>a[b*3+b]&&(b=2);var w=(b+1)%3,R=(b+2)%3;E=Math.sqrt(a[b*3+b]-a[w*3+w]-a[R*3+R]+1),r[b]=.5*E,E=.5/E,r[3]=(a[w*3+R]-a[R*3+w])*E,r[w]=(a[w*3+b]+a[b*3+w])*E,r[R]=(a[R*3+b]+a[b*3+R])*E}return r},g.str=function(r){return"quat("+r[0]+", "+r[1]+", "+r[2]+", "+r[3]+")"},typeof L!="undefined"&&(L.quat=g)}(y.exports)})(this)},function(te,X,S){"use strict";var K=S(24),y=S(46),L=S(5),A=S(6),s=S(7),x=S(17),c=S(28),l=S(13),f=S(0),n=S.n(f),o=S(29),d=S(53),m=S.n(d),_=S(54),h=S(106),g=S(107),r=S(113),a=S(114),p=S(3),E=S(68),b=S(37),w=S(69),R=S(116),O=S(70),z=S(71),B=S(72),P=S(36),F=S(30),k=S(23),U=S(4),G=S(117),C=S(50),I=S(118),H=S(119),$=S(120),q=S(9),se=S(67),ue=S(49),me=S(15),Ee=S(52),Le=S(121),Fe=S(126),Ke=S(63),Te=S(127),We=S(128),Ce=S(129),De=S(130),ge=S(131),Re=S(132);n.a.util.extend(c.a.prototype,Le.a),s.a.import(Fe.a),s.a.import(Ke.a),s.a.import(Te.a),s.a.import(We.a),s.a.import(Ce.a),s.a.import(De.a),s.a.import(ge.a),s.a.import(Re.a);function ve(xe){return!xe||xe==="none"}function we(xe){return xe instanceof HTMLCanvasElement||xe instanceof HTMLImageElement||xe instanceof Image}function Ue(xe){return xe.getZr&&xe.setOption}var de=o.a.prototype.addToScene,oe=o.a.prototype.removeFromScene;o.a.prototype.addToScene=function(xe){if(de.call(this,xe),this.__zr){var Ne=this.__zr;xe.traverse(function(Be){Be.__zr=Ne,Be.addAnimatorsToZr&&Be.addAnimatorsToZr(Ne)})}},o.a.prototype.removeFromScene=function(xe){oe.call(this,xe),xe.traverse(function(Ne){var Be=Ne.__zr;Ne.__zr=null,Be&&Ne.removeAnimatorsFromZr&&Ne.removeAnimatorsFromZr(Be)})},x.a.prototype.setTextureImage=function(xe,Ne,Be,je){if(this.shader){var et=Be.getZr(),ft=this,tt;return ft.autoUpdateTextureStatus=!1,ft.disableTexture(xe),ve(Ne)||(tt=ne.loadTexture(Ne,Be,je,function(At){ft.enableTexture(xe),et&&et.refresh()}),ft.set(xe,tt)),tt}};var ne={};ne.Renderer=y.a,ne.Node=c.a,ne.Mesh=K.a,ne.Shader=s.a,ne.Material=x.a,ne.Texture=A.a,ne.Texture2D=L.a,ne.Geometry=l.a,ne.SphereGeometry=E.a,ne.PlaneGeometry=b.a,ne.CubeGeometry=w.a,ne.AmbientLight=R.a,ne.DirectionalLight=O.a,ne.PointLight=z.a,ne.SpotLight=B.a,ne.PerspectiveCamera=P.a,ne.OrthographicCamera=F.a,ne.Vector2=k.a,ne.Vector3=U.a,ne.Vector4=G.a,ne.Quaternion=C.a,ne.Matrix2=I.a,ne.Matrix2d=H.a,ne.Matrix3=$.a,ne.Matrix4=q.a,ne.Plane=se.a,ne.Ray=ue.a,ne.BoundingBox=me.a,ne.Frustum=Ee.a;var ce=_.a.createBlank("rgba(255,255,255,0)").image;function ye(xe){return Math.pow(2,Math.round(Math.log(xe)/Math.LN2))}function he(xe){if((xe.wrapS===A.a.REPEAT||xe.wrapT===A.a.REPEAT)&&xe.image){var Ne=ye(xe.width),Be=ye(xe.height);if(Ne!==xe.width||Be!==xe.height){var je=document.createElement("canvas");je.width=Ne,je.height=Be;var et=je.getContext("2d");et.drawImage(xe.image,0,0,Ne,Be),xe.image=je}}}ne.loadTexture=function(xe,Ne,Be,je){typeof Be=="function"&&(je=Be,Be={}),Be=Be||{};for(var et=Object.keys(Be).sort(),ft="",tt=0;tt<et.length;tt++)ft+=et[tt]+"_"+Be[et[tt]]+"_";var At=Ne.__textureCache=Ne.__textureCache||new m.a(20);if(Ue(xe)){var It=xe.__textureid__,Nt=At.get(ft+It);if(Nt)Nt.texture.surface.setECharts(xe),je&&je(Nt.texture);else{var lt=new h.a(xe);lt.onupdate=function(){Ne.getZr().refresh()},Nt={texture:lt.getTexture()};for(var tt=0;tt<et.length;tt++)Nt.texture[et[tt]]=Be[et[tt]];It=xe.__textureid__||"__ecgl_ec__"+Nt.texture.__uid__,xe.__textureid__=It,At.put(ft+It,Nt),je&&je(Nt.texture)}return Nt.texture}else if(we(xe)){var It=xe.__textureid__,Nt=At.get(ft+It);if(!Nt){Nt={texture:new ne.Texture2D({image:xe})};for(var tt=0;tt<et.length;tt++)Nt.texture[et[tt]]=Be[et[tt]];It=xe.__textureid__||"__ecgl_image__"+Nt.texture.__uid__,xe.__textureid__=It,At.put(ft+It,Nt),he(Nt.texture),je&&je(Nt.texture)}return Nt.texture}else{var Nt=At.get(ft+xe);if(Nt)Nt.callbacks?Nt.callbacks.push(je):je&&je(Nt.texture);else if(xe.match(/.hdr$|^data:application\/octet-stream/)){Nt={callbacks:[je]};var Bt=_.a.loadTexture(xe,{exposure:Be.exposure,fileType:"hdr"},function(){Bt.dirty(),Nt.callbacks.forEach(function(ut){ut&&ut(Bt)}),Nt.callbacks=null});Nt.texture=Bt,At.put(ft+xe,Nt)}else{for(var Bt=new ne.Texture2D({image:new Image}),tt=0;tt<et.length;tt++)Bt[et[tt]]=Be[et[tt]];Nt={texture:Bt,callbacks:[je]};var cr=Bt.image;cr.onload=function(){Bt.image=cr,he(Bt),Bt.dirty(),Nt.callbacks.forEach(function(Wt){Wt&&Wt(Bt)}),Nt.callbacks=null},cr.src=xe,Bt.image=ce,At.put(ft+xe,Nt)}return Nt.texture}},ne.createAmbientCubemap=function(xe,Ne,Be,je){xe=xe||{};var et=xe.texture,ft=p.a.firstNotNull(xe.exposure,1),tt=new g.a({intensity:p.a.firstNotNull(xe.specularIntensity,1)}),At=new r.a({intensity:p.a.firstNotNull(xe.diffuseIntensity,1),coefficients:[.844,.712,.691,-.037,.083,.167,.343,.288,.299,-.041,-.021,-.009,-.003,-.041,-.064,-.011,-.007,-.004,-.031,.034,.081,-.06,-.049,-.06,.046,.056,.05]});return tt.cubemap=ne.loadTexture(et,Be,{exposure:ft},function(){tt.cubemap.flipY=!1,tt.prefilter(Ne,32),At.coefficients=a.a.projectEnvironmentMap(Ne,tt.cubemap,{lod:1}),je&&je()}),{specular:tt,diffuse:At}},ne.createBlankTexture=_.a.createBlank,ne.isImage=we,ne.additiveBlend=function(xe){xe.blendEquation(xe.FUNC_ADD),xe.blendFunc(xe.SRC_ALPHA,xe.ONE)},ne.parseColor=function(xe,Ne){return xe instanceof Array?(Ne||(Ne=[]),Ne[0]=xe[0],Ne[1]=xe[1],Ne[2]=xe[2],xe.length>3?Ne[3]=xe[3]:Ne[3]=1,Ne):(Ne=n.a.color.parse(xe||"#000",Ne)||[0,0,0,0],Ne[0]/=255,Ne[1]/=255,Ne[2]/=255,Ne)},ne.directionFromAlphaBeta=function(xe,Ne){var Be=xe/180*Math.PI+Math.PI/2,je=-Ne/180*Math.PI+Math.PI/2,et=[],ft=Math.sin(Be);return et[0]=ft*Math.cos(je),et[1]=-Math.cos(Be),et[2]=ft*Math.sin(je),et},ne.getShadowResolution=function(xe){var Ne=1024;switch(xe){case"low":Ne=512;break;case"medium":break;case"high":Ne=2048;break;case"ultra":Ne=4096;break}return Ne},ne.COMMON_SHADERS=["lambert","color","realistic","hatching"],ne.createShader=function(xe){var Ne=s.a.source(xe+".vertex"),Be=s.a.source(xe+".fragment");Ne||console.error("Vertex shader of '%s' not exits",xe),Be||console.error("Fragment shader of '%s' not exits",xe);var je=new s.a(Ne,Be);return je.name=xe,je},ne.createMaterial=function(xe,Ne){Ne instanceof Array||(Ne=[Ne]);var Be=ne.createShader(xe),je=new x.a({shader:Be});return Ne.forEach(function(et){typeof et=="string"&&je.define(et)}),je},ne.setMaterialFromModel=function(xe,Ne,Be,je){Ne.autoUpdateTextureStatus=!1;var et=Be.getModel(xe+"Material"),ft=et.get("detailTexture"),tt=p.a.firstNotNull(et.get("textureTiling"),1),At=p.a.firstNotNull(et.get("textureOffset"),0);typeof tt=="number"&&(tt=[tt,tt]),typeof At=="number"&&(At=[At,At]);var It=tt[0]>1||tt[1]>1?ne.Texture.REPEAT:ne.Texture.CLAMP_TO_EDGE,Nt={anisotropic:8,wrapS:It,wrapT:It};if(xe==="realistic"){var lt=et.get("roughness"),Bt=et.get("metalness");Bt!=null?isNaN(Bt)&&(Ne.setTextureImage("metalnessMap",Bt,je,Nt),Bt=p.a.firstNotNull(et.get("metalnessAdjust"),.5)):Bt=0,lt!=null?isNaN(lt)&&(Ne.setTextureImage("roughnessMap",lt,je,Nt),lt=p.a.firstNotNull(et.get("roughnessAdjust"),.5)):lt=.5;var cr=et.get("normalTexture");Ne.setTextureImage("detailMap",ft,je,Nt),Ne.setTextureImage("normalMap",cr,je,Nt),Ne.set({roughness:lt,metalness:Bt,detailUvRepeat:tt,detailUvOffset:At})}else if(xe==="lambert")Ne.setTextureImage("detailMap",ft,je,Nt),Ne.set({detailUvRepeat:tt,detailUvOffset:At});else if(xe==="color")Ne.setTextureImage("detailMap",ft,je,Nt),Ne.set({detailUvRepeat:tt,detailUvOffset:At});else if(xe==="hatching"){var bt=et.get("hatchingTextures")||[];bt.length<6&&console.error("Invalid hatchingTextures.");for(var ut=0;ut<6;ut++)Ne.setTextureImage("hatch"+(ut+1),bt[ut],je,{anisotropic:8,wrapS:ne.Texture.REPEAT,wrapT:ne.Texture.REPEAT});Ne.set({detailUvRepeat:tt,detailUvOffset:At})}},ne.updateVertexAnimation=function(xe,Ne,Be,je){var et=je.get("animation"),ft=je.get("animationDurationUpdate"),tt=je.get("animationEasingUpdate"),At=Be.shadowDepthMaterial;if(et&&Ne&&ft>0&&Ne.geometry.vertexCount===Be.geometry.vertexCount){Be.material.define("vertex","VERTEX_ANIMATION"),Be.ignorePreZ=!0,At&&At.define("vertex","VERTEX_ANIMATION");for(var It=0;It<xe.length;It++)Be.geometry.attributes[xe[It][0]].value=Ne.geometry.attributes[xe[It][1]].value;Be.geometry.dirty(),Be.__percent=0,Be.material.set("percent",0),Be.stopAnimation(),Be.animate().when(ft,{__percent:1}).during(function(){Be.material.set("percent",Be.__percent),At&&At.set("percent",Be.__percent)}).done(function(){Be.ignorePreZ=!1,Be.material.undefine("vertex","VERTEX_ANIMATION"),At&&At.undefine("vertex","VERTEX_ANIMATION")}).start(tt)}else Be.material.undefine("vertex","VERTEX_ANIMATION"),At&&At.undefine("vertex","VERTEX_ANIMATION")},X.a=ne},function(te,X,S){"use strict";var K=S(0),y=S.n(K),L={firstNotNull:function(){for(var A=0,s=arguments.length;A<s;A++)if(arguments[A]!=null)return arguments[A]},queryDataIndex:function(A,s){if(s.dataIndexInside!=null)return s.dataIndexInside;if(s.dataIndex!=null)return y.a.util.isArray(s.dataIndex)?y.a.util.map(s.dataIndex,function(x){return A.indexOfRawIndex(x)}):A.indexOfRawIndex(s.dataIndex);if(s.name!=null)return y.a.util.isArray(s.name)?y.a.util.map(s.name,function(x){return A.indexOfName(x)}):A.indexOfName(s.name)}};X.a=L},function(te,X,S){"use strict";var K=S(1),y=S.n(K),L=y.a.vec3,A=function(o,d,m){o=o||0,d=d||0,m=m||0,this.array=L.fromValues(o,d,m),this._dirty=!0};A.prototype={constructor:A,add:function(o){return L.add(this.array,this.array,o.array),this._dirty=!0,this},set:function(o,d,m){return this.array[0]=o,this.array[1]=d,this.array[2]=m,this._dirty=!0,this},setArray:function(o){return this.array[0]=o[0],this.array[1]=o[1],this.array[2]=o[2],this._dirty=!0,this},clone:function(){return new A(this.x,this.y,this.z)},copy:function(o){return L.copy(this.array,o.array),this._dirty=!0,this},cross:function(o,d){return L.cross(this.array,o.array,d.array),this._dirty=!0,this},dist:function(o){return L.dist(this.array,o.array)},distance:function(o){return L.distance(this.array,o.array)},div:function(o){return L.div(this.array,this.array,o.array),this._dirty=!0,this},divide:function(o){return L.divide(this.array,this.array,o.array),this._dirty=!0,this},dot:function(o){return L.dot(this.array,o.array)},len:function(){return L.len(this.array)},length:function(){return L.length(this.array)},lerp:function(o,d,m){return L.lerp(this.array,o.array,d.array,m),this._dirty=!0,this},min:function(o){return L.min(this.array,this.array,o.array),this._dirty=!0,this},max:function(o){return L.max(this.array,this.array,o.array),this._dirty=!0,this},mul:function(o){return L.mul(this.array,this.array,o.array),this._dirty=!0,this},multiply:function(o){return L.multiply(this.array,this.array,o.array),this._dirty=!0,this},negate:function(){return L.negate(this.array,this.array),this._dirty=!0,this},normalize:function(){return L.normalize(this.array,this.array),this._dirty=!0,this},random:function(o){return L.random(this.array,o),this._dirty=!0,this},scale:function(o){return L.scale(this.array,this.array,o),this._dirty=!0,this},scaleAndAdd:function(o,d){return L.scaleAndAdd(this.array,this.array,o.array,d),this._dirty=!0,this},sqrDist:function(o){return L.sqrDist(this.array,o.array)},squaredDistance:function(o){return L.squaredDistance(this.array,o.array)},sqrLen:function(){return L.sqrLen(this.array)},squaredLength:function(){return L.squaredLength(this.array)},sub:function(o){return L.sub(this.array,this.array,o.array),this._dirty=!0,this},subtract:function(o){return L.subtract(this.array,this.array,o.array),this._dirty=!0,this},transformMat3:function(o){return L.transformMat3(this.array,this.array,o.array),this._dirty=!0,this},transformMat4:function(o){return L.transformMat4(this.array,this.array,o.array),this._dirty=!0,this},transformQuat:function(o){return L.transformQuat(this.array,this.array,o.array),this._dirty=!0,this},applyProjection:function(o){var d=this.array;if(o=o.array,o[15]===0){var m=-1/d[2];d[0]=o[0]*d[0]*m,d[1]=o[5]*d[1]*m,d[2]=(o[10]*d[2]+o[14])*m}else d[0]=o[0]*d[0]+o[12],d[1]=o[5]*d[1]+o[13],d[2]=o[10]*d[2]+o[14];return this._dirty=!0,this},eulerFromQuat:function(o,d){A.eulerFromQuat(this,o,d)},eulerFromMat3:function(o,d){A.eulerFromMat3(this,o,d)},toString:function(){return"["+Array.prototype.join.call(this.array,",")+"]"},toArray:function(){return Array.prototype.slice.call(this.array)}};var s=Object.defineProperty;if(s){var x=A.prototype;s(x,"x",{get:function(){return this.array[0]},set:function(o){this.array[0]=o,this._dirty=!0}}),s(x,"y",{get:function(){return this.array[1]},set:function(o){this.array[1]=o,this._dirty=!0}}),s(x,"z",{get:function(){return this.array[2]},set:function(o){this.array[2]=o,this._dirty=!0}})}A.add=function(o,d,m){return L.add(o.array,d.array,m.array),o._dirty=!0,o},A.set=function(o,d,m,_){L.set(o.array,d,m,_),o._dirty=!0},A.copy=function(o,d){return L.copy(o.array,d.array),o._dirty=!0,o},A.cross=function(o,d,m){return L.cross(o.array,d.array,m.array),o._dirty=!0,o},A.dist=function(o,d){return L.distance(o.array,d.array)},A.distance=A.dist,A.div=function(o,d,m){return L.divide(o.array,d.array,m.array),o._dirty=!0,o},A.divide=A.div,A.dot=function(o,d){return L.dot(o.array,d.array)},A.len=function(o){return L.length(o.array)},A.lerp=function(o,d,m,_){return L.lerp(o.array,d.array,m.array,_),o._dirty=!0,o},A.min=function(o,d,m){return L.min(o.array,d.array,m.array),o._dirty=!0,o},A.max=function(o,d,m){return L.max(o.array,d.array,m.array),o._dirty=!0,o},A.mul=function(o,d,m){return L.multiply(o.array,d.array,m.array),o._dirty=!0,o},A.multiply=A.mul,A.negate=function(o,d){return L.negate(o.array,d.array),o._dirty=!0,o},A.normalize=function(o,d){return L.normalize(o.array,d.array),o._dirty=!0,o},A.random=function(o,d){return L.random(o.array,d),o._dirty=!0,o},A.scale=function(o,d,m){return L.scale(o.array,d.array,m),o._dirty=!0,o},A.scaleAndAdd=function(o,d,m,_){return L.scaleAndAdd(o.array,d.array,m.array,_),o._dirty=!0,o},A.sqrDist=function(o,d){return L.sqrDist(o.array,d.array)},A.squaredDistance=A.sqrDist,A.sqrLen=function(o){return L.sqrLen(o.array)},A.squaredLength=A.sqrLen,A.sub=function(o,d,m){return L.subtract(o.array,d.array,m.array),o._dirty=!0,o},A.subtract=A.sub,A.transformMat3=function(o,d,m){return L.transformMat3(o.array,d.array,m.array),o._dirty=!0,o},A.transformMat4=function(o,d,m){return L.transformMat4(o.array,d.array,m.array),o._dirty=!0,o},A.transformQuat=function(o,d,m){return L.transformQuat(o.array,d.array,m.array),o._dirty=!0,o};function c(o,d,m){return o<d?d:o>m?m:o}var l=Math.atan2,f=Math.asin,n=Math.abs;A.eulerFromQuat=function(o,d,R){o._dirty=!0,d=d.array;var _=o.array,h=d[0],g=d[1],r=d[2],a=d[3],p=h*h,E=g*g,b=r*r,w=a*a,R=(R||"XYZ").toUpperCase();switch(R){case"XYZ":_[0]=l(2*(h*a-g*r),w-p-E+b),_[1]=f(c(2*(h*r+g*a),-1,1)),_[2]=l(2*(r*a-h*g),w+p-E-b);break;case"YXZ":_[0]=f(c(2*(h*a-g*r),-1,1)),_[1]=l(2*(h*r+g*a),w-p-E+b),_[2]=l(2*(h*g+r*a),w-p+E-b);break;case"ZXY":_[0]=f(c(2*(h*a+g*r),-1,1)),_[1]=l(2*(g*a-r*h),w-p-E+b),_[2]=l(2*(r*a-h*g),w-p+E-b);break;case"ZYX":_[0]=l(2*(h*a+r*g),w-p-E+b),_[1]=f(c(2*(g*a-h*r),-1,1)),_[2]=l(2*(h*g+r*a),w+p-E-b);break;case"YZX":_[0]=l(2*(h*a-r*g),w-p+E-b),_[1]=l(2*(g*a-h*r),w+p-E-b),_[2]=f(c(2*(h*g+r*a),-1,1));break;case"XZY":_[0]=l(2*(h*a+g*r),w-p+E-b),_[1]=l(2*(h*r+g*a),w+p-E-b),_[2]=f(c(2*(r*a-h*g),-1,1));break;default:console.warn("Unkown order: "+R)}return o},A.eulerFromMat3=function(o,d,z){var _=d.array,h=_[0],g=_[3],r=_[6],a=_[1],p=_[4],E=_[7],b=_[2],w=_[5],R=_[8],O=o.array,z=(z||"XYZ").toUpperCase();switch(z){case"XYZ":O[1]=f(c(r,-1,1)),n(r)<.99999?(O[0]=l(-E,R),O[2]=l(-g,h)):(O[0]=l(w,p),O[2]=0);break;case"YXZ":O[0]=f(-c(E,-1,1)),n(E)<.99999?(O[1]=l(r,R),O[2]=l(a,p)):(O[1]=l(-b,h),O[2]=0);break;case"ZXY":O[0]=f(c(w,-1,1)),n(w)<.99999?(O[1]=l(-b,R),O[2]=l(-g,p)):(O[1]=0,O[2]=l(a,h));break;case"ZYX":O[1]=f(-c(b,-1,1)),n(b)<.99999?(O[0]=l(w,R),O[2]=l(a,h)):(O[0]=0,O[2]=l(-g,p));break;case"YZX":O[2]=f(c(a,-1,1)),n(a)<.99999?(O[0]=l(-E,p),O[1]=l(-b,h)):(O[0]=0,O[1]=l(r,R));break;case"XZY":O[2]=f(-c(g,-1,1)),n(g)<.99999?(O[0]=l(w,p),O[1]=l(r,h)):(O[0]=l(-E,R),O[1]=0);break;default:console.warn("Unkown order: "+z)}return o._dirty=!0,o},A.POSITIVE_X=new A(1,0,0),A.NEGATIVE_X=new A(-1,0,0),A.POSITIVE_Y=new A(0,1,0),A.NEGATIVE_Y=new A(0,-1,0),A.POSITIVE_Z=new A(0,0,1),A.NEGATIVE_Z=new A(0,0,-1),A.UP=new A(0,1,0),A.ZERO=new A(0,0,0),X.a=A},function(te,X,S){"use strict";var K=S(6),y=S(11),L=S(66),A=L.a.isPowerOfTwo,s=K.a.extend(function(){return{image:null,pixels:null,mipmaps:[]}},{update:function(x){var c=x.gl;c.bindTexture(c.TEXTURE_2D,this._cache.get("webgl_texture")),this.updateCommon(x);var l=this.format,f=this.type;c.texParameteri(c.TEXTURE_2D,c.TEXTURE_WRAP_S,this.getAvailableWrapS()),c.texParameteri(c.TEXTURE_2D,c.TEXTURE_WRAP_T,this.getAvailableWrapT()),c.texParameteri(c.TEXTURE_2D,c.TEXTURE_MAG_FILTER,this.getAvailableMagFilter()),c.texParameteri(c.TEXTURE_2D,c.TEXTURE_MIN_FILTER,this.getAvailableMinFilter());var n=x.getGLExtension("EXT_texture_filter_anisotropic");if(n&&this.anisotropic>1&&c.texParameterf(c.TEXTURE_2D,n.TEXTURE_MAX_ANISOTROPY_EXT,this.anisotropic),f===36193){var o=x.getGLExtension("OES_texture_half_float");o||(f=y.a.FLOAT)}if(this.mipmaps.length)for(var d=this.width,m=this.height,_=0;_<this.mipmaps.length;_++){var h=this.mipmaps[_];this._updateTextureData(c,h,_,d,m,l,f),d/=2,m/=2}else this._updateTextureData(c,this,0,this.width,this.height,l,f),this.useMipmap&&!this.NPOT&&c.generateMipmap(c.TEXTURE_2D);c.bindTexture(c.TEXTURE_2D,null)},_updateTextureData:function(x,c,l,f,n,o,d){c.image?x.texImage2D(x.TEXTURE_2D,l,o,o,d,c.image):o<=K.a.COMPRESSED_RGBA_S3TC_DXT5_EXT&&o>=K.a.COMPRESSED_RGB_S3TC_DXT1_EXT?x.compressedTexImage2D(x.TEXTURE_2D,l,o,f,n,0,c.pixels):x.texImage2D(x.TEXTURE_2D,l,o,f,n,0,o,d,c.pixels)},generateMipmap:function(x){var c=x.gl;this.useMipmap&&!this.NPOT&&(c.bindTexture(c.TEXTURE_2D,this._cache.get("webgl_texture")),c.generateMipmap(c.TEXTURE_2D))},isPowerOfTwo:function(){var x,c;return this.image?(x=this.image.width,c=this.image.height):(x=this.width,c=this.height),A(x)&&A(c)},isRenderable:function(){return this.image?this.image.nodeName==="CANVAS"||this.image.nodeName==="VIDEO"||this.image.complete:!!(this.width&&this.height)},bind:function(x){x.gl.bindTexture(x.gl.TEXTURE_2D,this.getWebGLTexture(x))},unbind:function(x){x.gl.bindTexture(x.gl.TEXTURE_2D,null)},load:function(x,c){var l=new Image;c&&(l.crossOrigin=c);var f=this;return l.onload=function(){f.dirty(),f.trigger("success",f),l.onload=null},l.onerror=function(){f.trigger("error",f),l.onerror=null},l.src=x,this.image=l,this}});Object.defineProperty(s.prototype,"width",{get:function(){return this.image?this.image.width:this._width},set:function(x){this.image?console.warn("Texture from image can't set width"):(this._width!==x&&this.dirty(),this._width=x)}}),Object.defineProperty(s.prototype,"height",{get:function(){return this.image?this.image.height:this._height},set:function(x){this.image?console.warn("Texture from image can't set height"):(this._height!==x&&this.dirty(),this._height=x)}}),X.a=s},function(te,X,S){"use strict";var K=S(8),y=S(11),L=S(48),A=K.a.extend({width:512,height:512,type:y.a.UNSIGNED_BYTE,format:y.a.RGBA,wrapS:y.a.REPEAT,wrapT:y.a.REPEAT,minFilter:y.a.LINEAR_MIPMAP_LINEAR,magFilter:y.a.LINEAR,useMipmap:!0,anisotropic:1,flipY:!0,sRGB:!0,unpackAlignment:4,premultiplyAlpha:!1,dynamic:!1,NPOT:!1},function(){this._cache=new L.a},{getWebGLTexture:function(s){var x=s.gl,c=this._cache;return c.use(s.__uid__),c.miss("webgl_texture")&&c.put("webgl_texture",x.createTexture()),this.dynamic?this.update(s):c.isDirty()&&(this.update(s),c.fresh()),c.get("webgl_texture")},bind:function(){},unbind:function(){},dirty:function(){this._cache&&this._cache.dirtyAll()},update:function(s){},updateCommon:function(s){var x=s.gl;x.pixelStorei(x.UNPACK_FLIP_Y_WEBGL,this.flipY),x.pixelStorei(x.UNPACK_PREMULTIPLY_ALPHA_WEBGL,this.premultiplyAlpha),x.pixelStorei(x.UNPACK_ALIGNMENT,this.unpackAlignment),this.format===y.a.DEPTH_COMPONENT&&(this.useMipmap=!1);var c=s.getGLExtension("EXT_sRGB");this.format===A.SRGB&&!c&&(this.format=A.RGB),this.format===A.SRGB_ALPHA&&!c&&(this.format=A.RGBA),this.NPOT=!this.isPowerOfTwo()},getAvailableWrapS:function(){return this.NPOT?y.a.CLAMP_TO_EDGE:this.wrapS},getAvailableWrapT:function(){return this.NPOT?y.a.CLAMP_TO_EDGE:this.wrapT},getAvailableMinFilter:function(){var s=this.minFilter;return this.NPOT||!this.useMipmap?s==y.a.NEAREST_MIPMAP_NEAREST||s==y.a.NEAREST_MIPMAP_LINEAR?y.a.NEAREST:s==y.a.LINEAR_MIPMAP_LINEAR||s==y.a.LINEAR_MIPMAP_NEAREST?y.a.LINEAR:s:s},getAvailableMagFilter:function(){return this.magFilter},nextHighestPowerOfTwo:function(s){--s;for(var x=1;x<32;x<<=1)s=s|s>>x;return s+1},dispose:function(s){var x=this._cache;x.use(s.__uid__);var c=x.get("webgl_texture");c&&s.gl.deleteTexture(c),x.deleteContext(s.__uid__)},isRenderable:function(){},isPowerOfTwo:function(){}});Object.defineProperty(A.prototype,"width",{get:function(){return this._width},set:function(s){this._width=s}}),Object.defineProperty(A.prototype,"height",{get:function(){return this._height},set:function(s){this._height=s}}),A.BYTE=y.a.BYTE,A.UNSIGNED_BYTE=y.a.UNSIGNED_BYTE,A.SHORT=y.a.SHORT,A.UNSIGNED_SHORT=y.a.UNSIGNED_SHORT,A.INT=y.a.INT,A.UNSIGNED_INT=y.a.UNSIGNED_INT,A.FLOAT=y.a.FLOAT,A.HALF_FLOAT=36193,A.UNSIGNED_INT_24_8_WEBGL=34042,A.DEPTH_COMPONENT=y.a.DEPTH_COMPONENT,A.DEPTH_STENCIL=y.a.DEPTH_STENCIL,A.ALPHA=y.a.ALPHA,A.RGB=y.a.RGB,A.RGBA=y.a.RGBA,A.LUMINANCE=y.a.LUMINANCE,A.LUMINANCE_ALPHA=y.a.LUMINANCE_ALPHA,A.SRGB=35904,A.SRGB_ALPHA=35906,A.COMPRESSED_RGB_S3TC_DXT1_EXT=33776,A.COMPRESSED_RGBA_S3TC_DXT1_EXT=33777,A.COMPRESSED_RGBA_S3TC_DXT3_EXT=33778,A.COMPRESSED_RGBA_S3TC_DXT5_EXT=33779,A.NEAREST=y.a.NEAREST,A.LINEAR=y.a.LINEAR,A.NEAREST_MIPMAP_NEAREST=y.a.NEAREST_MIPMAP_NEAREST,A.LINEAR_MIPMAP_NEAREST=y.a.LINEAR_MIPMAP_NEAREST,A.NEAREST_MIPMAP_LINEAR=y.a.NEAREST_MIPMAP_LINEAR,A.LINEAR_MIPMAP_LINEAR=y.a.LINEAR_MIPMAP_LINEAR,A.REPEAT=y.a.REPEAT,A.CLAMP_TO_EDGE=y.a.CLAMP_TO_EDGE,A.MIRRORED_REPEAT=y.a.MIRRORED_REPEAT,X.a=A},function(te,X,S){"use strict";var K=S(21),y=S(18),L=S(1),A=S.n(L),s=A.a.mat2,x=A.a.mat3,c=A.a.mat4,l=/uniform\s+(bool|float|int|vec2|vec3|vec4|ivec2|ivec3|ivec4|mat2|mat3|mat4|sampler2D|samplerCube)\s+([\w\,]+)?(\[.*?\])?\s*(:\s*([\S\s]+?))?;/g,f=/attribute\s+(float|int|vec2|vec3|vec4)\s+(\w*)\s*(:\s*(\w+))?;/g,n=/#define\s+(\w+)?(\s+[\w-.]+)?\s*;?\s*\n/g,o={bool:"1i",int:"1i",sampler2D:"t",samplerCube:"t",float:"1f",vec2:"2f",vec3:"3f",vec4:"4f",ivec2:"2i",ivec3:"3i",ivec4:"4i",mat2:"m2",mat3:"m3",mat4:"m4"},d={bool:function(){return!0},int:function(){return 0},float:function(){return 0},sampler2D:function(){return null},samplerCube:function(){return null},vec2:function(){return[0,0]},vec3:function(){return[0,0,0]},vec4:function(){return[0,0,0,0]},ivec2:function(){return[0,0]},ivec3:function(){return[0,0,0]},ivec4:function(){return[0,0,0,0]},mat2:function(){return s.create()},mat3:function(){return x.create()},mat4:function(){return c.create()},array:function(){return[]}},m=["POSITION","NORMAL","BINORMAL","TANGENT","TEXCOORD","TEXCOORD_0","TEXCOORD_1","COLOR","JOINT","WEIGHT"],_=["SKIN_MATRIX","VIEWPORT_SIZE","VIEWPORT","DEVICEPIXELRATIO","WINDOW_SIZE","NEAR","FAR","TIME"],h=["WORLD","VIEW","PROJECTION","WORLDVIEW","VIEWPROJECTION","WORLDVIEWPROJECTION","WORLDINVERSE","VIEWINVERSE","PROJECTIONINVERSE","WORLDVIEWINVERSE","VIEWPROJECTIONINVERSE","WORLDVIEWPROJECTIONINVERSE","WORLDTRANSPOSE","VIEWTRANSPOSE","PROJECTIONTRANSPOSE","WORLDVIEWTRANSPOSE","VIEWPROJECTIONTRANSPOSE","WORLDVIEWPROJECTIONTRANSPOSE","WORLDINVERSETRANSPOSE","VIEWINVERSETRANSPOSE","PROJECTIONINVERSETRANSPOSE","WORLDVIEWINVERSETRANSPOSE","VIEWPROJECTIONINVERSETRANSPOSE","WORLDVIEWPROJECTIONINVERSETRANSPOSE"],g={},r={};function a(w,R){var O="vertex:"+w+"fragment:"+R;if(g[O])return g[O];var z=K.a.genGUID();return g[O]=z,r[z]={vertex:w,fragment:R},z}function p(w,R){typeof w=="object"&&(R=w.fragment,w=w.vertex),this._shaderID=a(w,R),this._vertexCode=p.parseImport(w),this._fragmentCode=p.parseImport(R),this.attributeSemantics={},this.matrixSemantics={},this.uniformSemantics={},this.matrixSemanticKeys=[],this.uniformTemplates={},this.attributes={},this.textures={},this.vertexDefines={},this.fragmentDefines={},this._parseAttributes(),this._parseUniforms(),this._parseDefines()}p.prototype={constructor:p,createUniforms:function(){var w={};for(var R in this.uniformTemplates){var O=this.uniformTemplates[R];w[R]={type:O.type,value:O.value()}}return w},_parseImport:function(){this._vertexCode=p.parseImport(this.vertex),this._fragmentCode=p.parseImport(this.fragment)},_parseUniforms:function(){var w={},R=this,O="vertex";this._uniformList=[],this._vertexCode=this._vertexCode.replace(l,z),O="fragment",this._fragmentCode=this._fragmentCode.replace(l,z),R.matrixSemanticKeys=Object.keys(this.matrixSemantics);function z(B,P,F,k,U,G){if(P&&F){var C=o[P],I=!0,H;if(C){if(R._uniformList.push(F),(P==="sampler2D"||P==="samplerCube")&&(R.textures[F]={shaderType:O,type:P}),k&&(C+="v"),G)if(m.indexOf(G)>=0)R.attributeSemantics[G]={symbol:F,type:C},I=!1;else if(h.indexOf(G)>=0){var $=!1,q=G;G.match(/TRANSPOSE$/)&&($=!0,q=G.slice(0,-9)),R.matrixSemantics[G]={symbol:F,type:C,isTranspose:$,semanticNoTranspose:q},I=!1}else if(_.indexOf(G)>=0)R.uniformSemantics[G]={symbol:F,type:C},I=!1;else if(G==="unconfigurable")I=!1;else if(H=R._parseDefaultValue(P,G),H)G="";else throw new Error('Unkown semantic "'+G+'"');I&&(w[F]={type:C,value:k?d.array:H||d[P],semantic:G||null})}return["uniform",P,F,k].join(" ")+`;
`}}this.uniformTemplates=w},_parseDefaultValue:function(w,R){var O=/\[\s*(.*)\s*\]/;if(w==="vec2"||w==="vec3"||w==="vec4"){var z=O.exec(R)[1];if(z){var B=z.split(/\s*,\s*/);return function(){return new y.a.Float32Array(B)}}else return}else{if(w==="bool")return function(){return R.toLowerCase()==="true"};if(w==="float")return function(){return parseFloat(R)};if(w==="int")return function(){return parseInt(R)}}},_parseAttributes:function(){var w={},R=this;this._vertexCode=this._vertexCode.replace(f,O);function O(z,B,P,F,k){if(B&&P){var U=1;switch(B){case"vec4":U=4;break;case"vec3":U=3;break;case"vec2":U=2;break;case"float":U=1;break}if(w[P]={type:"float",size:U,semantic:k||null},k){if(m.indexOf(k)<0)throw new Error('Unkown semantic "'+k+'"');R.attributeSemantics[k]={symbol:P,type:B}}}return["attribute",B,P].join(" ")+`;
`}this.attributes=w},_parseDefines:function(){var w=this,R="vertex";this._vertexCode=this._vertexCode.replace(n,O),R="fragment",this._fragmentCode=this._fragmentCode.replace(n,O);function O(z,B,P){var F=R==="vertex"?w.vertexDefines:w.fragmentDefines;return F[B]||(P=="false"?F[B]=!1:P=="true"?F[B]=!0:F[B]=P?isNaN(parseFloat(P))?P.trim():parseFloat(P):null),""}},clone:function(){var w=r[this._shaderID],R=new p(w.vertex,w.fragment);return R}},Object.defineProperty&&(Object.defineProperty(p.prototype,"shaderID",{get:function(){return this._shaderID}}),Object.defineProperty(p.prototype,"vertex",{get:function(){return this._vertexCode}}),Object.defineProperty(p.prototype,"fragment",{get:function(){return this._fragmentCode}}),Object.defineProperty(p.prototype,"uniforms",{get:function(){return this._uniformList}}));var E=/(@import)\s*([0-9a-zA-Z_\-\.]*)/g;p.parseImport=function(w){return w=w.replace(E,function(B,O,z){var B=p.source(z);return B?p.parseImport(B):(console.error('Shader chunk "'+z+'" not existed in library'),"")}),w};var b=/(@export)\s*([0-9a-zA-Z_\-\.]*)\s*\n([\s\S]*?)@end/g;p.import=function(w){w.replace(b,function(R,O,z,P){var P=P.replace(/(^[\s\t\xa0\u3000]+)|([\u3000\xa0\s\t]+\x24)/g,"");if(P){for(var F=z.split("."),k=p.codes,U=0,G;U<F.length-1;)G=F[U++],k[G]||(k[G]={}),k=k[G];G=F[U],k[G]=P}return P})},p.codes={},p.source=function(w){for(var R=w.split("."),O=p.codes,z=0;O&&z<R.length;){var B=R[z++];O=O[B]}return typeof O!="string"?(console.error('Shader "'+w+'" not existed in library'),""):O},X.a=p},function(te,X,S){"use strict";var K=S(91),y=S(47),L=S(21),A=function(){this.__uid__=L.a.genGUID()};A.__initializers__=[function(s){L.a.extend(this,s)}],L.a.extend(A,K.a),L.a.extend(A.prototype,y.a),X.a=A},function(te,X,S){"use strict";var K=S(1),y=S.n(K),L=S(4),A=y.a.mat4,s=y.a.vec3,x=y.a.mat3,c=y.a.quat,l=function(){this._axisX=new L.a,this._axisY=new L.a,this._axisZ=new L.a,this.array=A.create(),this._dirty=!0};l.prototype={constructor:l,setArray:function(o){for(var d=0;d<this.array.length;d++)this.array[d]=o[d];return this._dirty=!0,this},adjoint:function(){return A.adjoint(this.array,this.array),this._dirty=!0,this},clone:function(){return new l().copy(this)},copy:function(o){return A.copy(this.array,o.array),this._dirty=!0,this},determinant:function(){return A.determinant(this.array)},fromQuat:function(o){return A.fromQuat(this.array,o.array),this._dirty=!0,this},fromRotationTranslation:function(o,d){return A.fromRotationTranslation(this.array,o.array,d.array),this._dirty=!0,this},fromMat2d:function(o){return l.fromMat2d(this,o),this},frustum:function(o,d,m,_,h,g){return A.frustum(this.array,o,d,m,_,h,g),this._dirty=!0,this},identity:function(){return A.identity(this.array),this._dirty=!0,this},invert:function(){return A.invert(this.array,this.array),this._dirty=!0,this},lookAt:function(o,d,m){return A.lookAt(this.array,o.array,d.array,m.array),this._dirty=!0,this},mul:function(o){return A.mul(this.array,this.array,o.array),this._dirty=!0,this},mulLeft:function(o){return A.mul(this.array,o.array,this.array),this._dirty=!0,this},multiply:function(o){return A.multiply(this.array,this.array,o.array),this._dirty=!0,this},multiplyLeft:function(o){return A.multiply(this.array,o.array,this.array),this._dirty=!0,this},ortho:function(o,d,m,_,h,g){return A.ortho(this.array,o,d,m,_,h,g),this._dirty=!0,this},perspective:function(o,d,m,_){return A.perspective(this.array,o,d,m,_),this._dirty=!0,this},rotate:function(o,d){return A.rotate(this.array,this.array,o,d.array),this._dirty=!0,this},rotateX:function(o){return A.rotateX(this.array,this.array,o),this._dirty=!0,this},rotateY:function(o){return A.rotateY(this.array,this.array,o),this._dirty=!0,this},rotateZ:function(o){return A.rotateZ(this.array,this.array,o),this._dirty=!0,this},scale:function(o){return A.scale(this.array,this.array,o.array),this._dirty=!0,this},translate:function(o){return A.translate(this.array,this.array,o.array),this._dirty=!0,this},transpose:function(){return A.transpose(this.array,this.array),this._dirty=!0,this},decomposeMatrix:function(){var o=s.create(),d=s.create(),m=s.create(),_=x.create();return function(h,g,r){var a=this.array;s.set(o,a[0],a[1],a[2]),s.set(d,a[4],a[5],a[6]),s.set(m,a[8],a[9],a[10]);var p=s.length(o),E=s.length(d),b=s.length(m),w=this.determinant();w<0&&(p=-p),h&&h.set(p,E,b),r.set(a[12],a[13],a[14]),x.fromMat4(_,a),_[0]/=p,_[1]/=p,_[2]/=p,_[3]/=E,_[4]/=E,_[5]/=E,_[6]/=b,_[7]/=b,_[8]/=b,c.fromMat3(g.array,_),c.normalize(g.array,g.array),g._dirty=!0,r._dirty=!0}}(),toString:function(){return"["+Array.prototype.join.call(this.array,",")+"]"},toArray:function(){return Array.prototype.slice.call(this.array)}};var f=Object.defineProperty;if(f){var n=l.prototype;f(n,"z",{get:function(){var o=this.array;return this._axisZ.set(o[8],o[9],o[10]),this._axisZ},set:function(o){var d=this.array;o=o.array,d[8]=o[0],d[9]=o[1],d[10]=o[2],this._dirty=!0}}),f(n,"y",{get:function(){var o=this.array;return this._axisY.set(o[4],o[5],o[6]),this._axisY},set:function(o){var d=this.array;o=o.array,d[4]=o[0],d[5]=o[1],d[6]=o[2],this._dirty=!0}}),f(n,"x",{get:function(){var o=this.array;return this._axisX.set(o[0],o[1],o[2]),this._axisX},set:function(o){var d=this.array;o=o.array,d[0]=o[0],d[1]=o[1],d[2]=o[2],this._dirty=!0}})}l.adjoint=function(o,d){return A.adjoint(o.array,d.array),o._dirty=!0,o},l.copy=function(o,d){return A.copy(o.array,d.array),o._dirty=!0,o},l.determinant=function(o){return A.determinant(o.array)},l.identity=function(o){return A.identity(o.array),o._dirty=!0,o},l.ortho=function(o,d,m,_,h,g,r){return A.ortho(o.array,d,m,_,h,g,r),o._dirty=!0,o},l.perspective=function(o,d,m,_,h){return A.perspective(o.array,d,m,_,h),o._dirty=!0,o},l.lookAt=function(o,d,m,_){return A.lookAt(o.array,d.array,m.array,_.array),o._dirty=!0,o},l.invert=function(o,d){return A.invert(o.array,d.array),o._dirty=!0,o},l.mul=function(o,d,m){return A.mul(o.array,d.array,m.array),o._dirty=!0,o},l.multiply=l.mul,l.fromQuat=function(o,d){return A.fromQuat(o.array,d.array),o._dirty=!0,o},l.fromRotationTranslation=function(o,d,m){return A.fromRotationTranslation(o.array,d.array,m.array),o._dirty=!0,o},l.fromMat2d=function(_,m){_._dirty=!0;var m=m.array,_=_.array;return _[0]=m[0],_[4]=m[2],_[12]=m[4],_[1]=m[1],_[5]=m[3],_[13]=m[5],_},l.rotate=function(o,d,m,_){return A.rotate(o.array,d.array,m,_.array),o._dirty=!0,o},l.rotateX=function(o,d,m){return A.rotateX(o.array,d.array,m),o._dirty=!0,o},l.rotateY=function(o,d,m){return A.rotateY(o.array,d.array,m),o._dirty=!0,o},l.rotateZ=function(o,d,m){return A.rotateZ(o.array,d.array,m),o._dirty=!0,o},l.scale=function(o,d,m){return A.scale(o.array,d.array,m.array),o._dirty=!0,o},l.transpose=function(o,d){return A.transpose(o.array,d.array),o._dirty=!0,o},l.translate=function(o,d,m){return A.translate(o.array,d.array,m.array),o._dirty=!0,o},X.a=l},function(te,X,S){"use strict";var K=S(8),y=S(6),L=S(25),A=S(11),s=S(48),x="framebuffer",c="renderbuffer",l=c+"_width",f=c+"_height",n=c+"_attached",o="depthtexture_attached",d=A.a.FRAMEBUFFER,m=A.a.RENDERBUFFER,_=A.a.DEPTH_ATTACHMENT,h=A.a.COLOR_ATTACHMENT0,g=K.a.extend({depthBuffer:!0,viewport:null,_width:0,_height:0,_textures:null,_boundRenderer:null},function(){this._cache=new s.a,this._textures={}},{getTextureWidth:function(){return this._width},getTextureHeight:function(){return this._height},bind:function(r){if(r.__currentFrameBuffer){if(r.__currentFrameBuffer===this)return;console.warn("Renderer already bound with another framebuffer. Unbind it first")}r.__currentFrameBuffer=this;var a=r.gl;a.bindFramebuffer(d,this._getFrameBufferGL(r)),this._boundRenderer=r;var p=this._cache;p.put("viewport",r.viewport);var E=!1,b,w;for(var R in this._textures){E=!0;var O=this._textures[R];O&&(b=O.texture.width,w=O.texture.height,this._doAttach(r,O.texture,R,O.target))}this._width=b,this._height=w,!E&&this.depthBuffer&&console.error("Must attach texture before bind, or renderbuffer may have incorrect width and height."),this.viewport?r.setViewport(this.viewport):r.setViewport(0,0,b,w,1);var z=p.get("attached_textures");if(z){for(var R in z)if(!this._textures[R]){var B=z[R];this._doDetach(a,R,B)}}if(!p.get(o)&&this.depthBuffer){p.miss(c)&&p.put(c,a.createRenderbuffer());var P=p.get(c);(b!==p.get(l)||w!==p.get(f))&&(a.bindRenderbuffer(m,P),a.renderbufferStorage(m,a.DEPTH_COMPONENT16,b,w),p.put(l,b),p.put(f,w),a.bindRenderbuffer(m,null)),p.get(n)||(a.framebufferRenderbuffer(d,_,m,P),p.put(n,!0))}},unbind:function(r){r.__currentFrameBuffer=null;var a=r.gl;a.bindFramebuffer(d,null),this._boundRenderer=null,this._cache.use(r.__uid__);var p=this._cache.get("viewport");p&&r.setViewport(p),this.updateMipmap(r)},updateMipmap:function(r){var a=r.gl;for(var p in this._textures){var E=this._textures[p];if(E){var b=E.texture;if(!b.NPOT&&b.useMipmap&&b.minFilter===y.a.LINEAR_MIPMAP_LINEAR){var w=b instanceof L.a?A.a.TEXTURE_CUBE_MAP:A.a.TEXTURE_2D;a.bindTexture(w,b.getWebGLTexture(r)),a.generateMipmap(w),a.bindTexture(w,null)}}}},checkStatus:function(r){return r.checkFramebufferStatus(d)},_getFrameBufferGL:function(r){var a=this._cache;return a.use(r.__uid__),a.miss(x)&&a.put(x,r.gl.createFramebuffer()),a.get(x)},attach:function(r,a,p){if(!r.width)throw new Error("The texture attached to color buffer is not a valid.");a=a||h,p=p||A.a.TEXTURE_2D;var E=this._boundRenderer,b=E&&E.gl,w;if(b){var R=this._cache;R.use(E.__uid__),w=R.get("attached_textures")}var O=this._textures[a];if(!(O&&O.target===p&&O.texture===r&&w&&w[a]!=null)){var z=!0;E&&(z=this._doAttach(E,r,a,p),this.viewport||E.setViewport(0,0,r.width,r.height,1)),z&&(this._textures[a]=this._textures[a]||{},this._textures[a].texture=r,this._textures[a].target=p)}},_doAttach:function(r,a,p,E){var b=r.gl,w=a.getWebGLTexture(r),R=this._cache.get("attached_textures");if(R&&R[p]){var O=R[p];if(O.texture===a&&O.target===E)return}p=+p;var z=!0;if(p===_||p===A.a.DEPTH_STENCIL_ATTACHMENT){var B=r.getGLExtension("WEBGL_depth_texture");if(B||(console.error("Depth texture is not supported by the browser"),z=!1),a.format!==A.a.DEPTH_COMPONENT&&a.format!==A.a.DEPTH_STENCIL&&(console.error("The texture attached to depth buffer is not a valid."),z=!1),z){var P=this._cache.get(c);P&&(b.framebufferRenderbuffer(d,_,m,null),b.deleteRenderbuffer(P),this._cache.put(c,!1)),this._cache.put(n,!1),this._cache.put(o,!0)}}return b.framebufferTexture2D(d,p,E,w,0),R||(R={},this._cache.put("attached_textures",R)),R[p]=R[p]||{},R[p].texture=a,R[p].target=E,z},_doDetach:function(r,a,p){r.framebufferTexture2D(d,a,p,null,0);var E=this._cache.get("attached_textures");E&&E[a]&&(E[a]=null),(a===_||a===A.a.DEPTH_STENCIL_ATTACHMENT)&&this._cache.put(o,!1)},detach:function(r,a){if(this._textures[r]=null,this._boundRenderer){var p=this._cache;p.use(this._boundRenderer.__uid__),this._doDetach(this._boundRenderer.gl,r,a)}},dispose:function(r){var a=r.gl,p=this._cache;p.use(r.__uid__);var E=p.get(c);E&&a.deleteRenderbuffer(E);var b=p.get(x);b&&a.deleteFramebuffer(b),p.deleteContext(r.__uid__),this._textures={}}});g.DEPTH_ATTACHMENT=_,g.COLOR_ATTACHMENT0=h,g.STENCIL_ATTACHMENT=A.a.STENCIL_ATTACHMENT,g.DEPTH_STENCIL_ATTACHMENT=A.a.DEPTH_STENCIL_ATTACHMENT,X.a=g},function(te,X,S){"use strict";X.a={DEPTH_BUFFER_BIT:256,STENCIL_BUFFER_BIT:1024,COLOR_BUFFER_BIT:16384,POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6,ZERO:0,ONE:1,SRC_COLOR:768,ONE_MINUS_SRC_COLOR:769,SRC_ALPHA:770,ONE_MINUS_SRC_ALPHA:771,DST_ALPHA:772,ONE_MINUS_DST_ALPHA:773,DST_COLOR:774,ONE_MINUS_DST_COLOR:775,SRC_ALPHA_SATURATE:776,FUNC_ADD:32774,BLEND_EQUATION:32777,BLEND_EQUATION_RGB:32777,BLEND_EQUATION_ALPHA:34877,FUNC_SUBTRACT:32778,FUNC_REVERSE_SUBTRACT:32779,BLEND_DST_RGB:32968,BLEND_SRC_RGB:32969,BLEND_DST_ALPHA:32970,BLEND_SRC_ALPHA:32971,CONSTANT_COLOR:32769,ONE_MINUS_CONSTANT_COLOR:32770,CONSTANT_ALPHA:32771,ONE_MINUS_CONSTANT_ALPHA:32772,BLEND_COLOR:32773,ARRAY_BUFFER:34962,ELEMENT_ARRAY_BUFFER:34963,ARRAY_BUFFER_BINDING:34964,ELEMENT_ARRAY_BUFFER_BINDING:34965,STREAM_DRAW:35040,STATIC_DRAW:35044,DYNAMIC_DRAW:35048,BUFFER_SIZE:34660,BUFFER_USAGE:34661,CURRENT_VERTEX_ATTRIB:34342,FRONT:1028,BACK:1029,FRONT_AND_BACK:1032,CULL_FACE:2884,BLEND:3042,DITHER:3024,STENCIL_TEST:2960,DEPTH_TEST:2929,SCISSOR_TEST:3089,POLYGON_OFFSET_FILL:32823,SAMPLE_ALPHA_TO_COVERAGE:32926,SAMPLE_COVERAGE:32928,NO_ERROR:0,INVALID_ENUM:1280,INVALID_VALUE:1281,INVALID_OPERATION:1282,OUT_OF_MEMORY:1285,CW:2304,CCW:2305,LINE_WIDTH:2849,ALIASED_POINT_SIZE_RANGE:33901,ALIASED_LINE_WIDTH_RANGE:33902,CULL_FACE_MODE:2885,FRONT_FACE:2886,DEPTH_RANGE:2928,DEPTH_WRITEMASK:2930,DEPTH_CLEAR_VALUE:2931,DEPTH_FUNC:2932,STENCIL_CLEAR_VALUE:2961,STENCIL_FUNC:2962,STENCIL_FAIL:2964,STENCIL_PASS_DEPTH_FAIL:2965,STENCIL_PASS_DEPTH_PASS:2966,STENCIL_REF:2967,STENCIL_VALUE_MASK:2963,STENCIL_WRITEMASK:2968,STENCIL_BACK_FUNC:34816,STENCIL_BACK_FAIL:34817,STENCIL_BACK_PASS_DEPTH_FAIL:34818,STENCIL_BACK_PASS_DEPTH_PASS:34819,STENCIL_BACK_REF:36003,STENCIL_BACK_VALUE_MASK:36004,STENCIL_BACK_WRITEMASK:36005,VIEWPORT:2978,SCISSOR_BOX:3088,COLOR_CLEAR_VALUE:3106,COLOR_WRITEMASK:3107,UNPACK_ALIGNMENT:3317,PACK_ALIGNMENT:3333,MAX_TEXTURE_SIZE:3379,MAX_VIEWPORT_DIMS:3386,SUBPIXEL_BITS:3408,RED_BITS:3410,GREEN_BITS:3411,BLUE_BITS:3412,ALPHA_BITS:3413,DEPTH_BITS:3414,STENCIL_BITS:3415,POLYGON_OFFSET_UNITS:10752,POLYGON_OFFSET_FACTOR:32824,TEXTURE_BINDING_2D:32873,SAMPLE_BUFFERS:32936,SAMPLES:32937,SAMPLE_COVERAGE_VALUE:32938,SAMPLE_COVERAGE_INVERT:32939,COMPRESSED_TEXTURE_FORMATS:34467,DONT_CARE:4352,FASTEST:4353,NICEST:4354,GENERATE_MIPMAP_HINT:33170,BYTE:5120,UNSIGNED_BYTE:5121,SHORT:5122,UNSIGNED_SHORT:5123,INT:5124,UNSIGNED_INT:5125,FLOAT:5126,DEPTH_COMPONENT:6402,ALPHA:6406,RGB:6407,RGBA:6408,LUMINANCE:6409,LUMINANCE_ALPHA:6410,UNSIGNED_SHORT_4_4_4_4:32819,UNSIGNED_SHORT_5_5_5_1:32820,UNSIGNED_SHORT_5_6_5:33635,FRAGMENT_SHADER:35632,VERTEX_SHADER:35633,MAX_VERTEX_ATTRIBS:34921,MAX_VERTEX_UNIFORM_VECTORS:36347,MAX_VARYING_VECTORS:36348,MAX_COMBINED_TEXTURE_IMAGE_UNITS:35661,MAX_VERTEX_TEXTURE_IMAGE_UNITS:35660,MAX_TEXTURE_IMAGE_UNITS:34930,MAX_FRAGMENT_UNIFORM_VECTORS:36349,SHADER_TYPE:35663,DELETE_STATUS:35712,LINK_STATUS:35714,VALIDATE_STATUS:35715,ATTACHED_SHADERS:35717,ACTIVE_UNIFORMS:35718,ACTIVE_ATTRIBUTES:35721,SHADING_LANGUAGE_VERSION:35724,CURRENT_PROGRAM:35725,NEVER:512,LESS:513,EQUAL:514,LEQUAL:515,GREATER:516,NOTEQUAL:517,GEQUAL:518,ALWAYS:519,KEEP:7680,REPLACE:7681,INCR:7682,DECR:7683,INVERT:5386,INCR_WRAP:34055,DECR_WRAP:34056,VENDOR:7936,RENDERER:7937,VERSION:7938,NEAREST:9728,LINEAR:9729,NEAREST_MIPMAP_NEAREST:9984,LINEAR_MIPMAP_NEAREST:9985,NEAREST_MIPMAP_LINEAR:9986,LINEAR_MIPMAP_LINEAR:9987,TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,TEXTURE_2D:3553,TEXTURE:5890,TEXTURE_CUBE_MAP:34067,TEXTURE_BINDING_CUBE_MAP:34068,TEXTURE_CUBE_MAP_POSITIVE_X:34069,TEXTURE_CUBE_MAP_NEGATIVE_X:34070,TEXTURE_CUBE_MAP_POSITIVE_Y:34071,TEXTURE_CUBE_MAP_NEGATIVE_Y:34072,TEXTURE_CUBE_MAP_POSITIVE_Z:34073,TEXTURE_CUBE_MAP_NEGATIVE_Z:34074,MAX_CUBE_MAP_TEXTURE_SIZE:34076,TEXTURE0:33984,TEXTURE1:33985,TEXTURE2:33986,TEXTURE3:33987,TEXTURE4:33988,TEXTURE5:33989,TEXTURE6:33990,TEXTURE7:33991,TEXTURE8:33992,TEXTURE9:33993,TEXTURE10:33994,TEXTURE11:33995,TEXTURE12:33996,TEXTURE13:33997,TEXTURE14:33998,TEXTURE15:33999,TEXTURE16:34e3,TEXTURE17:34001,TEXTURE18:34002,TEXTURE19:34003,TEXTURE20:34004,TEXTURE21:34005,TEXTURE22:34006,TEXTURE23:34007,TEXTURE24:34008,TEXTURE25:34009,TEXTURE26:34010,TEXTURE27:34011,TEXTURE28:34012,TEXTURE29:34013,TEXTURE30:34014,TEXTURE31:34015,ACTIVE_TEXTURE:34016,REPEAT:10497,CLAMP_TO_EDGE:33071,MIRRORED_REPEAT:33648,FLOAT_VEC2:35664,FLOAT_VEC3:35665,FLOAT_VEC4:35666,INT_VEC2:35667,INT_VEC3:35668,INT_VEC4:35669,BOOL:35670,BOOL_VEC2:35671,BOOL_VEC3:35672,BOOL_VEC4:35673,FLOAT_MAT2:35674,FLOAT_MAT3:35675,FLOAT_MAT4:35676,SAMPLER_2D:35678,SAMPLER_CUBE:35680,VERTEX_ATTRIB_ARRAY_ENABLED:34338,VERTEX_ATTRIB_ARRAY_SIZE:34339,VERTEX_ATTRIB_ARRAY_STRIDE:34340,VERTEX_ATTRIB_ARRAY_TYPE:34341,VERTEX_ATTRIB_ARRAY_NORMALIZED:34922,VERTEX_ATTRIB_ARRAY_POINTER:34373,VERTEX_ATTRIB_ARRAY_BUFFER_BINDING:34975,COMPILE_STATUS:35713,LOW_FLOAT:36336,MEDIUM_FLOAT:36337,HIGH_FLOAT:36338,LOW_INT:36339,MEDIUM_INT:36340,HIGH_INT:36341,FRAMEBUFFER:36160,RENDERBUFFER:36161,RGBA4:32854,RGB5_A1:32855,RGB565:36194,DEPTH_COMPONENT16:33189,STENCIL_INDEX:6401,STENCIL_INDEX8:36168,DEPTH_STENCIL:34041,RENDERBUFFER_WIDTH:36162,RENDERBUFFER_HEIGHT:36163,RENDERBUFFER_INTERNAL_FORMAT:36164,RENDERBUFFER_RED_SIZE:36176,RENDERBUFFER_GREEN_SIZE:36177,RENDERBUFFER_BLUE_SIZE:36178,RENDERBUFFER_ALPHA_SIZE:36179,RENDERBUFFER_DEPTH_SIZE:36180,RENDERBUFFER_STENCIL_SIZE:36181,FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE:36048,FRAMEBUFFER_ATTACHMENT_OBJECT_NAME:36049,FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL:36050,FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE:36051,COLOR_ATTACHMENT0:36064,DEPTH_ATTACHMENT:36096,STENCIL_ATTACHMENT:36128,DEPTH_STENCIL_ATTACHMENT:33306,NONE:0,FRAMEBUFFER_COMPLETE:36053,FRAMEBUFFER_INCOMPLETE_ATTACHMENT:36054,FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:36055,FRAMEBUFFER_INCOMPLETE_DIMENSIONS:36057,FRAMEBUFFER_UNSUPPORTED:36061,FRAMEBUFFER_BINDING:36006,RENDERBUFFER_BINDING:36007,MAX_RENDERBUFFER_SIZE:34024,INVALID_FRAMEBUFFER_OPERATION:1286,UNPACK_FLIP_Y_WEBGL:37440,UNPACK_PREMULTIPLY_ALPHA_WEBGL:37441,CONTEXT_LOST_WEBGL:37442,UNPACK_COLORSPACE_CONVERSION_WEBGL:37443,BROWSER_DEFAULT_WEBGL:37444}},function(te,X){var S={"[object Function]":1,"[object RegExp]":1,"[object Date]":1,"[object Error]":1,"[object CanvasGradient]":1,"[object CanvasPattern]":1,"[object Image]":1,"[object Canvas]":1},K={"[object Int8Array]":1,"[object Uint8Array]":1,"[object Uint8ClampedArray]":1,"[object Int16Array]":1,"[object Uint16Array]":1,"[object Int32Array]":1,"[object Uint32Array]":1,"[object Float32Array]":1,"[object Float64Array]":1},y=Object.prototype.toString,L=Array.prototype,A=L.forEach,s=L.filter,x=L.slice,c=L.map,l=L.reduce,f={};function n(de,oe){f[de]=oe}function o(de){if(de==null||typeof de!="object")return de;var oe=de,ne=y.call(de);if(ne==="[object Array]"){if(!Ce(de)){oe=[];for(var ce=0,ye=de.length;ce<ye;ce++)oe[ce]=o(de[ce])}}else if(K[ne]){if(!Ce(de)){var he=de.constructor;if(de.constructor.from)oe=he.from(de);else{oe=new he(de.length);for(var ce=0,ye=de.length;ce<ye;ce++)oe[ce]=o(de[ce])}}}else if(!S[ne]&&!Ce(de)&&!q(de)){oe={};for(var xe in de)de.hasOwnProperty(xe)&&(oe[xe]=o(de[xe]))}return oe}function d(de,oe,ne){if(!I(oe)||!I(de))return ne?o(oe):de;for(var ce in oe)if(oe.hasOwnProperty(ce)){var ye=de[ce],he=oe[ce];I(he)&&I(ye)&&!U(he)&&!U(ye)&&!q(he)&&!q(ye)&&!H(he)&&!H(ye)&&!Ce(he)&&!Ce(ye)?d(ye,he,ne):(ne||!(ce in de))&&(de[ce]=o(oe[ce],!0))}return de}function m(de,oe){for(var ne=de[0],ce=1,ye=de.length;ce<ye;ce++)ne=d(ne,de[ce],oe);return ne}function _(de,oe){for(var ne in oe)oe.hasOwnProperty(ne)&&(de[ne]=oe[ne]);return de}function h(de,oe,ne){for(var ce in oe)oe.hasOwnProperty(ce)&&(ne?oe[ce]!=null:de[ce]==null)&&(de[ce]=oe[ce]);return de}var g=function(){return f.createCanvas()};f.createCanvas=function(){return document.createElement("canvas")};var r;function a(){return r||(r=g().getContext("2d")),r}function p(de,oe){if(de){if(de.indexOf)return de.indexOf(oe);for(var ne=0,ce=de.length;ne<ce;ne++)if(de[ne]===oe)return ne}return-1}function E(de,oe){var ne=de.prototype;function ce(){}ce.prototype=oe.prototype,de.prototype=new ce;for(var ye in ne)de.prototype[ye]=ne[ye];de.prototype.constructor=de,de.superClass=oe}function b(de,oe,ne){de="prototype"in de?de.prototype:de,oe="prototype"in oe?oe.prototype:oe,h(de,oe,ne)}function w(de){if(de)return typeof de=="string"?!1:typeof de.length=="number"}function R(de,oe,ne){if(de&&oe)if(de.forEach&&de.forEach===A)de.forEach(oe,ne);else if(de.length===+de.length)for(var ce=0,ye=de.length;ce<ye;ce++)oe.call(ne,de[ce],ce,de);else for(var he in de)de.hasOwnProperty(he)&&oe.call(ne,de[he],he,de)}function O(de,oe,ne){if(de&&oe){if(de.map&&de.map===c)return de.map(oe,ne);for(var ce=[],ye=0,he=de.length;ye<he;ye++)ce.push(oe.call(ne,de[ye],ye,de));return ce}}function z(de,oe,ne,ce){if(de&&oe){if(de.reduce&&de.reduce===l)return de.reduce(oe,ne,ce);for(var ye=0,he=de.length;ye<he;ye++)ne=oe.call(ce,ne,de[ye],ye,de);return ne}}function B(de,oe,ne){if(de&&oe){if(de.filter&&de.filter===s)return de.filter(oe,ne);for(var ce=[],ye=0,he=de.length;ye<he;ye++)oe.call(ne,de[ye],ye,de)&&ce.push(de[ye]);return ce}}function P(de,oe,ne){if(de&&oe){for(var ce=0,ye=de.length;ce<ye;ce++)if(oe.call(ne,de[ce],ce,de))return de[ce]}}function F(de,oe){var ne=x.call(arguments,2);return function(){return de.apply(oe,ne.concat(x.call(arguments)))}}function k(de){var oe=x.call(arguments,1);return function(){return de.apply(this,oe.concat(x.call(arguments)))}}function U(de){return y.call(de)==="[object Array]"}function G(de){return typeof de=="function"}function C(de){return y.call(de)==="[object String]"}function I(de){var oe=typeof de;return oe==="function"||!!de&&oe=="object"}function H(de){return!!S[y.call(de)]}function $(de){return!!K[y.call(de)]}function q(de){return typeof de=="object"&&typeof de.nodeType=="number"&&typeof de.ownerDocument=="object"}function se(de){return de!==de}function ue(de){for(var oe=0,ne=arguments.length;oe<ne;oe++)if(arguments[oe]!=null)return arguments[oe]}function me(de,oe){return de!=null?de:oe}function Ee(de,oe,ne){return de!=null?de:oe!=null?oe:ne}function Le(){return Function.call.apply(x,arguments)}function Fe(de){if(typeof de=="number")return[de,de,de,de];var oe=de.length;return oe===2?[de[0],de[1],de[0],de[1]]:oe===3?[de[0],de[1],de[2],de[1]]:de}function Ke(de,oe){if(!de)throw new Error(oe)}var Te="__ec_primitive__";function We(de){de[Te]=!0}function Ce(de){return de[Te]}function De(de){var oe=U(de);de&&R(de,function(ne,ce){oe?this.set(ne,1):this.set(ce,ne)},this)}var ge="_ec_",Re=4;De.prototype={constructor:De,get:function(de){return this[ge+de]},set:function(de,oe){return this[ge+de]=oe,oe},each:function(de,oe){oe!==void 0&&(de=F(de,oe));for(var ne in this)this.hasOwnProperty(ne)&&de(this[ne],ne.slice(Re))},removeKey:function(de){delete this[ge+de]}};function ve(de){return new De(de)}function we(de,oe){for(var ne=new de.constructor(de.length+oe.length),ce=0;ce<de.length;ce++)ne[ce]=de[ce];var ye=de.length;for(ce=0;ce<oe.length;ce++)ne[ce+ye]=oe[ce];return ne}function Ue(){}X.$override=n,X.clone=o,X.merge=d,X.mergeAll=m,X.extend=_,X.defaults=h,X.createCanvas=g,X.getContext=a,X.indexOf=p,X.inherits=E,X.mixin=b,X.isArrayLike=w,X.each=R,X.map=O,X.reduce=z,X.filter=B,X.find=P,X.bind=F,X.curry=k,X.isArray=U,X.isFunction=G,X.isString=C,X.isObject=I,X.isBuiltInObject=H,X.isTypedArray=$,X.isDom=q,X.eqNaN=se,X.retrieve=ue,X.retrieve2=me,X.retrieve3=Ee,X.slice=Le,X.normalizeCssArray=Fe,X.assert=Ke,X.setAsPrimitive=We,X.isPrimitive=Ce,X.createHashMap=ve,X.concatArray=we,X.noop=Ue},function(te,X,S){"use strict";var K=S(8),y=S(11),L=S(48),A=S(18),s=S(1),x=S.n(s),c=S(15),l=x.a.vec3,f=x.a.mat4,n=l.create,o=l.add,d=l.set;function m(p){return{byte:A.a.Int8Array,ubyte:A.a.Uint8Array,short:A.a.Int16Array,ushort:A.a.Uint16Array}[p]||A.a.Float32Array}function _(p){return"attr_"+p}function h(p,E,b,w){switch(this.name=p,this.type=E,this.size=b,this.semantic=w||"",this.value=null,b){case 1:this.get=function(R){return this.value[R]},this.set=function(R,O){this.value[R]=O},this.copy=function(R,O){this.value[R]=this.value[R]};break;case 2:this.get=function(R,O){var z=this.value;return O[0]=z[R*2],O[1]=z[R*2+1],O},this.set=function(R,O){var z=this.value;z[R*2]=O[0],z[R*2+1]=O[1]},this.copy=function(R,O){var z=this.value;O*=2,R*=2,z[R]=z[O],z[R+1]=z[O+1]};break;case 3:this.get=function(R,O){var z=R*3,B=this.value;return O[0]=B[z],O[1]=B[z+1],O[2]=B[z+2],O},this.set=function(R,O){var z=R*3,B=this.value;B[z]=O[0],B[z+1]=O[1],B[z+2]=O[2]},this.copy=function(R,O){var z=this.value;O*=3,R*=3,z[R]=z[O],z[R+1]=z[O+1],z[R+2]=z[O+2]};break;case 4:this.get=function(R,O){var z=this.value,B=R*4;return O[0]=z[B],O[1]=z[B+1],O[2]=z[B+2],O[3]=z[B+3],O},this.set=function(R,O){var z=this.value,B=R*4;z[B]=O[0],z[B+1]=O[1],z[B+2]=O[2],z[B+3]=O[3]},this.copy=function(R,O){var z=this.value;O*=4,R*=4,z[R]=z[O],z[R+1]=z[O+1],z[R+2]=z[O+2],z[R+3]=z[O+3]}}}h.prototype.init=function(p){if(!this.value||this.value.length!=p*this.size){var E=m(this.type);this.value=new E(p*this.size)}},h.prototype.fromArray=function(p){var E=m(this.type),b;if(p[0]&&p[0].length){var w=0,R=this.size;b=new E(p.length*R);for(var O=0;O<p.length;O++)for(var z=0;z<R;z++)b[w++]=p[O][z]}else b=new E(p);this.value=b},h.prototype.clone=function(p){var E=new h(this.name,this.type,this.size,this.semantic);return p&&console.warn("todo"),E};function g(p,E,b,w,R){this.name=p,this.type=E,this.buffer=b,this.size=w,this.semantic=R,this.symbol="",this.needsRemove=!1}function r(p){this.buffer=p,this.count=0}var a=K.a.extend(function(){return{attributes:{position:new h("position","float",3,"POSITION"),texcoord0:new h("texcoord0","float",2,"TEXCOORD_0"),texcoord1:new h("texcoord1","float",2,"TEXCOORD_1"),normal:new h("normal","float",3,"NORMAL"),tangent:new h("tangent","float",4,"TANGENT"),color:new h("color","float",4,"COLOR"),weight:new h("weight","float",3,"WEIGHT"),joint:new h("joint","float",4,"JOINT"),barycentric:new h("barycentric","float",3,null)},boundingBox:null,indices:null,dynamic:!0,_enabledAttributes:null}},function(){this._cache=new L.a,this._attributeList=Object.keys(this.attributes)},{mainAttribute:"position",pick:null,pickByRay:null,updateBoundingBox:function(){var p=this.boundingBox;p||(p=this.boundingBox=new c.a);var E=this.attributes.position.value;if(E&&E.length){var b=p.min,w=p.max,R=b.array,O=w.array;l.set(R,E[0],E[1],E[2]),l.set(O,E[0],E[1],E[2]);for(var z=3;z<E.length;){var B=E[z++],P=E[z++],F=E[z++];B<R[0]&&(R[0]=B),P<R[1]&&(R[1]=P),F<R[2]&&(R[2]=F),B>O[0]&&(O[0]=B),P>O[1]&&(O[1]=P),F>O[2]&&(O[2]=F)}b._dirty=!0,w._dirty=!0}},dirty:function(){for(var p=this.getEnabledAttributes(),E=0;E<p.length;E++)this.dirtyAttribute(p[E]);this.dirtyIndices(),this._enabledAttributes=null,this._cache.dirty("any")},dirtyIndices:function(){this._cache.dirtyAll("indices")},dirtyAttribute:function(p){this._cache.dirtyAll(_(p)),this._cache.dirtyAll("attributes")},getTriangleIndices:function(p,E){if(p<this.triangleCount&&p>=0){E||(E=n());var b=this.indices;return E[0]=b[p*3],E[1]=b[p*3+1],E[2]=b[p*3+2],E}},setTriangleIndices:function(p,E){var b=this.indices;b[p*3]=E[0],b[p*3+1]=E[1],b[p*3+2]=E[2]},isUseIndices:function(){return!!this.indices},initIndicesFromArray:function(p){var E,b=this.vertexCount>65535?A.a.Uint32Array:A.a.Uint16Array;if(p[0]&&p[0].length){var w=0,R=3;E=new b(p.length*R);for(var O=0;O<p.length;O++)for(var z=0;z<R;z++)E[w++]=p[O][z]}else E=new b(p);this.indices=E},createAttribute:function(p,E,b,w){var R=new h(p,E,b,w);return this.attributes[p]&&this.removeAttribute(p),this.attributes[p]=R,this._attributeList.push(p),R},removeAttribute:function(p){var E=this._attributeList,b=E.indexOf(p);return b>=0?(E.splice(b,1),delete this.attributes[p],!0):!1},getAttribute:function(p){return this.attributes[p]},getEnabledAttributes:function(){var p=this._enabledAttributes,E=this._attributeList;if(p)return p;for(var b=[],w=this.vertexCount,R=0;R<E.length;R++){var O=E[R],z=this.attributes[O];z.value&&z.value.length===w*z.size&&b.push(O)}return this._enabledAttributes=b,b},getBufferChunks:function(p){var E=this._cache;E.use(p.__uid__);var b=E.isDirty("attributes"),w=E.isDirty("indices");if(b||w){this._updateBuffer(p.gl,b,w);for(var R=this.getEnabledAttributes(),O=0;O<R.length;O++)E.fresh(_(R[O]));E.fresh("attributes"),E.fresh("indices")}return E.fresh("any"),E.get("chunks")},_updateBuffer:function(p,E,b){var w=this._cache,R=w.get("chunks"),O=!1;R||(R=[],R[0]={attributeBuffers:[],indicesBuffer:null},w.put("chunks",R),O=!0);var z=R[0],B=z.attributeBuffers,P=z.indicesBuffer;if(E||O){var F=this.getEnabledAttributes(),k={};if(!O)for(var U=0;U<B.length;U++)k[B[U].name]=B[U];for(var G=0;G<F.length;G++){var C=F[G],I=this.attributes[C],H;O||(H=k[C]);var $;H?$=H.buffer:$=p.createBuffer(),w.isDirty(_(C))&&(p.bindBuffer(p.ARRAY_BUFFER,$),p.bufferData(p.ARRAY_BUFFER,I.value,this.dynamic?y.a.DYNAMIC_DRAW:y.a.STATIC_DRAW)),B[G]=new g(C,I.type,$,I.size,I.semantic)}for(var U=G;U<B.length;U++)p.deleteBuffer(B[U].buffer);B.length=G}this.isUseIndices()&&(b||O)&&(P||(P=new r(p.createBuffer()),z.indicesBuffer=P),P.count=this.indices.length,p.bindBuffer(p.ELEMENT_ARRAY_BUFFER,P.buffer),p.bufferData(p.ELEMENT_ARRAY_BUFFER,this.indices,this.dynamic?y.a.DYNAMIC_DRAW:y.a.STATIC_DRAW))},generateVertexNormals:function(){if(this.vertexCount){var p=this.indices,E=this.attributes,b=E.position.value,w=E.normal.value;if(!w||w.length!==b.length)w=E.normal.value=new A.a.Float32Array(b.length);else for(var R=0;R<w.length;R++)w[R]=0;for(var O=n(),z=n(),B=n(),P=n(),F=n(),k=n(),U=p?p.length:this.vertexCount,G,C,I,H=0;H<U;){p?(G=p[H++],C=p[H++],I=p[H++]):(G=H++,C=H++,I=H++),d(O,b[G*3],b[G*3+1],b[G*3+2]),d(z,b[C*3],b[C*3+1],b[C*3+2]),d(B,b[I*3],b[I*3+1],b[I*3+2]),l.sub(P,O,z),l.sub(F,z,B),l.cross(k,P,F);for(var R=0;R<3;R++)w[G*3+R]=w[G*3+R]+k[R],w[C*3+R]=w[C*3+R]+k[R],w[I*3+R]=w[I*3+R]+k[R]}for(var R=0;R<w.length;)d(k,w[R],w[R+1],w[R+2]),l.normalize(k,k),w[R++]=k[0],w[R++]=k[1],w[R++]=k[2];this.dirty()}},generateFaceNormals:function(){if(this.vertexCount){this.isUniqueVertex()||this.generateUniqueVertex();var p=this.indices,E=this.attributes,b=E.position.value,w=E.normal.value,R=n(),O=n(),z=n(),B=n(),P=n(),F=n();w||(w=E.normal.value=new Float32Array(b.length));for(var k=p?p.length:this.vertexCount,U,G,C,I=0;I<k;){p?(U=p[I++],G=p[I++],C=p[I++]):(U=I++,G=I++,C=I++),d(R,b[U*3],b[U*3+1],b[U*3+2]),d(O,b[G*3],b[G*3+1],b[G*3+2]),d(z,b[C*3],b[C*3+1],b[C*3+2]),l.sub(B,R,O),l.sub(P,O,z),l.cross(F,B,P),l.normalize(F,F);for(var H=0;H<3;H++)w[U*3+H]=F[H],w[G*3+H]=F[H],w[C*3+H]=F[H]}this.dirty()}},generateTangents:function(){if(this.vertexCount){var p=this.vertexCount,E=this.attributes;E.tangent.value||(E.tangent.value=new Float32Array(p*4));var b=E.texcoord0.value,w=E.position.value,R=E.tangent.value,O=E.normal.value;if(!b){console.warn("Geometry without texcoords can't generate tangents.");return}for(var z=[],B=[],P=0;P<p;P++)z[P]=[0,0,0],B[P]=[0,0,0];for(var F=[0,0,0],k=[0,0,0],U=this.indices,G=U?U.length:this.vertexCount,C,I,H,P=0;P<G;){U?(C=U[P++],I=U[P++],H=U[P++]):(C=P++,I=P++,H=P++);var $=b[C*2],q=b[I*2],se=b[H*2],ue=b[C*2+1],me=b[I*2+1],Ee=b[H*2+1],Le=w[C*3],Fe=w[I*3],Ke=w[H*3],Te=w[C*3+1],We=w[I*3+1],Ce=w[H*3+1],De=w[C*3+2],ge=w[I*3+2],Re=w[H*3+2],ve=Fe-Le,we=Ke-Le,Ue=We-Te,de=Ce-Te,oe=ge-De,ne=Re-De,ce=q-$,ye=se-$,he=me-ue,xe=Ee-ue,Ne=1/(ce*xe-he*ye);F[0]=(xe*ve-he*we)*Ne,F[1]=(xe*Ue-he*de)*Ne,F[2]=(xe*oe-he*ne)*Ne,k[0]=(ce*we-ye*ve)*Ne,k[1]=(ce*de-ye*Ue)*Ne,k[2]=(ce*ne-ye*oe)*Ne,o(z[C],z[C],F),o(z[I],z[I],F),o(z[H],z[H],F),o(B[C],B[C],k),o(B[I],B[I],k),o(B[H],B[H],k)}for(var Be=n(),je=n(),et=n(),P=0;P<p;P++){et[0]=O[P*3],et[1]=O[P*3+1],et[2]=O[P*3+2];var ft=z[P];l.scale(Be,et,l.dot(et,ft)),l.sub(Be,ft,Be),l.normalize(Be,Be),l.cross(je,et,ft),R[P*4]=Be[0],R[P*4+1]=Be[1],R[P*4+2]=Be[2],R[P*4+3]=l.dot(je,B[P])<0?-1:1}this.dirty()}},isUniqueVertex:function(){return this.isUseIndices()?this.vertexCount===this.indices.length:!0},generateUniqueVertex:function(){if(!(!this.vertexCount||!this.indices)){this.indices.length>65535&&(this.indices=new A.a.Uint32Array(this.indices));for(var p=this.attributes,E=this.indices,b=this.getEnabledAttributes(),w={},R=0;R<b.length;R++){var O=b[R];w[O]=p[O].value,p[O].init(this.indices.length)}for(var z=0,B=0;B<E.length;B++){for(var P=E[B],R=0;R<b.length;R++)for(var O=b[R],F=p[O].value,k=p[O].size,U=0;U<k;U++)F[z*k+U]=w[O][P*k+U];E[B]=z,z++}this.dirty()}},generateBarycentric:function(){if(this.vertexCount){this.isUniqueVertex()||this.generateUniqueVertex();var p=this.attributes,E=p.barycentric.value,b=this.indices;if(!(E&&E.length===b.length*3)){E=p.barycentric.value=new Float32Array(b.length*3);for(var w=0;w<(b?b.length:this.vertexCount/3);)for(var R=0;R<3;R++){var O=b?b[w++]:w*3+R;E[O*3+R]=1}this.dirty()}}},applyTransform:function(p){var E=this.attributes,b=E.position.value,w=E.normal.value,R=E.tangent.value;p=p.array;var O=f.create();f.invert(O,p),f.transpose(O,O);var z=l.transformMat4,B=l.forEach;B(b,3,0,null,z,p),w&&B(w,3,0,null,z,O),R&&B(R,4,0,null,z,O),this.boundingBox&&this.updateBoundingBox()},dispose:function(p){var E=this._cache;E.use(p.__uid__);var b=E.get("chunks");if(b)for(var w=0;w<b.length;w++){for(var R=b[w],O=0;O<R.attributeBuffers.length;O++){var z=R.attributeBuffers[O];p.gl.deleteBuffer(z.buffer)}R.indicesBuffer&&p.gl.deleteBuffer(R.indicesBuffer.buffer)}E.deleteContext(p.__uid__)}});Object.defineProperty&&(Object.defineProperty(a.prototype,"vertexCount",{enumerable:!1,get:function(){var p=this.attributes[this.mainAttribute];return!p||!p.value?0:p.value.length/p.size}}),Object.defineProperty(a.prototype,"triangleCount",{enumerable:!1,get:function(){var p=this.indices;return p?p.length/3:0}})),a.STATIC_DRAW=y.a.STATIC_DRAW,a.DYNAMIC_DRAW=y.a.DYNAMIC_DRAW,a.STREAM_DRAW=y.a.STREAM_DRAW,a.AttributeBuffer=g,a.IndicesBuffer=r,a.Attribute=h,X.a=a},function(te,X,S){"use strict";var K=S(8),y=S(30),L=S(37),A=S(7),s=S(17),x=S(24),c=S(11),l=S(109);A.a.import(l.a);var f=new L.a,n=new x.a({geometry:f,frustumCulling:!1}),o=new y.a,d=K.a.extend(function(){return{fragment:"",outputs:null,material:null,blendWithPrevious:!1,clearColor:!1,clearDepth:!0}},function(){var m=new A.a(A.a.source("clay.compositor.vertex"),this.fragment),_=new s.a({shader:m});_.enableTexturesAll(),this.material=_},{setUniform:function(m,_){this.material.setUniform(m,_)},getUniform:function(m){var _=this.material.uniforms[m];if(_)return _.value},attachOutput:function(m,_){this.outputs||(this.outputs={}),_=_||c.a.COLOR_ATTACHMENT0,this.outputs[_]=m},detachOutput:function(m){for(var _ in this.outputs)this.outputs[_]===m&&(this.outputs[_]=null)},bind:function(m,_){if(this.outputs)for(var h in this.outputs){var g=this.outputs[h];g&&_.attach(g,h)}_&&_.bind(m)},unbind:function(m,_){_.unbind(m)},render:function(m,_){var h=m.gl;if(_){this.bind(m,_);var g=m.getGLExtension("EXT_draw_buffers");if(g&&this.outputs){var r=[];for(var a in this.outputs)a=+a,a>=h.COLOR_ATTACHMENT0&&a<=h.COLOR_ATTACHMENT0+8&&r.push(a);g.drawBuffersEXT(r)}}this.trigger("beforerender",this,m);var p=this.clearDepth?h.DEPTH_BUFFER_BIT:0;if(h.depthMask(!0),this.clearColor){p=p|h.COLOR_BUFFER_BIT,h.colorMask(!0,!0,!0,!0);var E=this.clearColor;Array.isArray(E)&&h.clearColor(E[0],E[1],E[2],E[3])}h.clear(p),this.blendWithPrevious?(h.enable(h.BLEND),this.material.transparent=!0):(h.disable(h.BLEND),this.material.transparent=!1),this.renderQuad(m),this.trigger("afterrender",this,m),_&&this.unbind(m,_)},renderQuad:function(m){n.material=this.material,m.renderPass([n],o)},dispose:function(m){}});X.a=d},function(te,X,S){"use strict";var K=S(4),y=S(1),L=S.n(y),A=L.a.vec3,s=A.copy,x=A.set,c=function(l,f){this.min=l||new K.a(1/0,1/0,1/0),this.max=f||new K.a(-1/0,-1/0,-1/0)};c.prototype={constructor:c,updateFromVertices:function(l){if(l.length>0){var f=this.min,n=this.max,o=f.array,d=n.array;s(o,l[0]),s(d,l[0]);for(var m=1;m<l.length;m++){var _=l[m];_[0]<o[0]&&(o[0]=_[0]),_[1]<o[1]&&(o[1]=_[1]),_[2]<o[2]&&(o[2]=_[2]),_[0]>d[0]&&(d[0]=_[0]),_[1]>d[1]&&(d[1]=_[1]),_[2]>d[2]&&(d[2]=_[2])}f._dirty=!0,n._dirty=!0}},union:function(l){var f=this.min,n=this.max;return A.min(f.array,f.array,l.min.array),A.max(n.array,n.array,l.max.array),f._dirty=!0,n._dirty=!0,this},intersection:function(l){var f=this.min,n=this.max;return A.max(f.array,f.array,l.min.array),A.min(n.array,n.array,l.max.array),f._dirty=!0,n._dirty=!0,this},intersectBoundingBox:function(l){var f=this.min.array,n=this.max.array,o=l.min.array,d=l.max.array;return!(f[0]>d[0]||f[1]>d[1]||f[2]>d[2]||n[0]<o[0]||n[1]<o[1]||n[2]<o[2])},containBoundingBox:function(l){var f=this.min.array,n=this.max.array,o=l.min.array,d=l.max.array;return f[0]<=o[0]&&f[1]<=o[1]&&f[2]<=o[2]&&n[0]>=d[0]&&n[1]>=d[1]&&n[2]>=d[2]},containPoint:function(l){var f=this.min.array,n=this.max.array,o=l.array;return f[0]<=o[0]&&f[1]<=o[1]&&f[2]<=o[2]&&n[0]>=o[0]&&n[1]>=o[1]&&n[2]>=o[2]},isFinite:function(){var l=this.min.array,f=this.max.array;return isFinite(l[0])&&isFinite(l[1])&&isFinite(l[2])&&isFinite(f[0])&&isFinite(f[1])&&isFinite(f[2])},applyTransform:function(){var l=A.create(),f=A.create(),n=A.create(),o=A.create(),d=A.create(),m=A.create();return function(_){var h=this.min.array,g=this.max.array,r=_.array;return l[0]=r[0]*h[0],l[1]=r[1]*h[0],l[2]=r[2]*h[0],f[0]=r[0]*g[0],f[1]=r[1]*g[0],f[2]=r[2]*g[0],n[0]=r[4]*h[1],n[1]=r[5]*h[1],n[2]=r[6]*h[1],o[0]=r[4]*g[1],o[1]=r[5]*g[1],o[2]=r[6]*g[1],d[0]=r[8]*h[2],d[1]=r[9]*h[2],d[2]=r[10]*h[2],m[0]=r[8]*g[2],m[1]=r[9]*g[2],m[2]=r[10]*g[2],h[0]=Math.min(l[0],f[0])+Math.min(n[0],o[0])+Math.min(d[0],m[0])+r[12],h[1]=Math.min(l[1],f[1])+Math.min(n[1],o[1])+Math.min(d[1],m[1])+r[13],h[2]=Math.min(l[2],f[2])+Math.min(n[2],o[2])+Math.min(d[2],m[2])+r[14],g[0]=Math.max(l[0],f[0])+Math.max(n[0],o[0])+Math.max(d[0],m[0])+r[12],g[1]=Math.max(l[1],f[1])+Math.max(n[1],o[1])+Math.max(d[1],m[1])+r[13],g[2]=Math.max(l[2],f[2])+Math.max(n[2],o[2])+Math.max(d[2],m[2])+r[14],this.min._dirty=!0,this.max._dirty=!0,this}}(),applyProjection:function(l){var f=this.min.array,n=this.max.array,o=l.array,d=f[0],m=f[1],_=f[2],h=n[0],g=n[1],r=f[2],a=n[0],p=n[1],E=n[2];if(o[15]===1)f[0]=o[0]*d+o[12],f[1]=o[5]*m+o[13],n[2]=o[10]*_+o[14],n[0]=o[0]*a+o[12],n[1]=o[5]*p+o[13],f[2]=o[10]*E+o[14];else{var b=-1/_;f[0]=o[0]*d*b,f[1]=o[5]*m*b,n[2]=(o[10]*_+o[14])*b,b=-1/r,n[0]=o[0]*h*b,n[1]=o[5]*g*b,b=-1/E,f[2]=(o[10]*E+o[14])*b}return this.min._dirty=!0,this.max._dirty=!0,this},updateVertices:function(){var l=this.vertices;if(!l){for(var l=[],f=0;f<8;f++)l[f]=A.fromValues(0,0,0);this.vertices=l}var n=this.min.array,o=this.max.array;return x(l[0],n[0],n[1],n[2]),x(l[1],n[0],o[1],n[2]),x(l[2],o[0],n[1],n[2]),x(l[3],o[0],o[1],n[2]),x(l[4],n[0],n[1],o[2]),x(l[5],n[0],o[1],o[2]),x(l[6],o[0],n[1],o[2]),x(l[7],o[0],o[1],o[2]),this},copy:function(l){var f=this.min,n=this.max;return s(f.array,l.min.array),s(n.array,l.max.array),f._dirty=!0,n._dirty=!0,this},clone:function(){var l=new c;return l.copy(this),l}},X.a=c},function(te,X,S){"use strict";X.a=function(K,y,L){return{seriesType:K,reset:function(A,s){var x=A.getData(),c=A.visualColorAccessPath.split(".");c[c.length-1]="opacity";var l=A.get(c);x.setVisual("opacity",l==null?1:l);function f(n){var o=x.getItemModel(n),d=o.get(c);d!=null&&x.setItemVisual(n,"opacity",d)}return{dataEach:x.hasItemOption?f:null}}}}},function(te,X,S){"use strict";var K=S(8),y=S(6),L=S(21),A=S(93),s=A.a.parseToFloat,x={};function c(n,o,d){var m=Object.keys(n);m.sort();for(var _=[],h=0;h<m.length;h++){var g=m[h],r=n[g];r===null?_.push(g):_.push(g+" "+r.toString())}return _.join(`
`)}function l(n,o,d){d.sort();for(var m=[],_=0;_<d.length;_++){var h=d[_];m.push(h)}var g=c(n)+`
`+c(o)+`
`+m.join(`
`);if(x[g])return x[g];var r=L.a.genGUID();return x[g]=r,r}var f=K.a.extend(function(){return{name:"",depthTest:!0,depthMask:!0,transparent:!1,blend:null,autoUpdateTextureStatus:!0,uniforms:{},vertexDefines:{},fragmentDefines:{},_textureStatus:{},_enabledUniforms:null}},function(){this.name||(this.name="MATERIAL_"+this.__uid__),this.shader&&this.attachShader(this.shader,!0)},{precision:"highp",bind:function(n,o,d,m){for(var _=n.gl,h=o.currentTextureSlot(),g=0;g<this._enabledUniforms.length;g++){var r=this._enabledUniforms[g],a=this.uniforms[r].value;if(a instanceof y.a)a.__slot=-1;else if(Array.isArray(a))for(var p=0;p<a.length;p++)a[p]instanceof y.a&&(a[p].__slot=-1)}for(var g=0;g<this._enabledUniforms.length;g++){var r=this._enabledUniforms[g],E=this.uniforms[r],a=E.value;if(a===null){if(E.type==="t"){var b=o.currentTextureSlot(),w=o.setUniform(_,"1i",r,b);w&&o.takeCurrentTextureSlot(n,null)}continue}else if(a instanceof y.a)if(a.__slot<0){var b=o.currentTextureSlot(),w=o.setUniform(_,"1i",r,b);if(!w)continue;o.takeCurrentTextureSlot(n,a),a.__slot=b}else o.setUniform(_,"1i",r,a.__slot);else if(Array.isArray(a)){if(a.length===0)continue;var R=a[0];if(R instanceof y.a){if(!o.hasUniform(r))continue;for(var O=[],p=0;p<a.length;p++){var z=a[p];if(z.__slot<0){var b=o.currentTextureSlot();O.push(b),o.takeCurrentTextureSlot(n,z),z.__slot=b}else O.push(z.__slot)}o.setUniform(_,"1iv",r,O)}else o.setUniform(_,E.type,r,a)}else o.setUniform(_,E.type,r,a)}o.resetTextureSlot(h)},setUniform:function(n,o){o===void 0&&console.warn('Uniform value "'+n+'" is undefined');var d=this.uniforms[n];d&&(typeof o=="string"&&(o=s(o)||o),d.value=o,this.autoUpdateTextureStatus&&d.type==="t"&&(o?this.enableTexture(n):this.disableTexture(n)))},setUniforms:function(n){for(var o in n){var d=n[o];this.setUniform(o,d)}},isUniformEnabled:function(n){return this._enabledUniforms.indexOf(n)>=0},getEnabledUniforms:function(){return this._enabledUniforms},getTextureUniforms:function(){return this._textureUniforms},set:function(n,o){if(typeof n=="object")for(var d in n){var m=n[d];this.setUniform(d,m)}else this.setUniform(n,o)},get:function(n){var o=this.uniforms[n];if(o)return o.value},attachShader:function(n,o){var d=this.uniforms;this.uniforms=n.createUniforms(),this.shader=n;var m=this.uniforms;this._enabledUniforms=Object.keys(m),this._enabledUniforms.sort(),this._textureUniforms=this._enabledUniforms.filter(function(p){var E=this.uniforms[p].type;return E==="t"||E==="tv"},this);var _=this.vertexDefines,h=this.fragmentDefines;if(this.vertexDefines=L.a.clone(n.vertexDefines),this.fragmentDefines=L.a.clone(n.fragmentDefines),o){for(var g in d)m[g]&&(m[g].value=d[g].value);L.a.defaults(this.vertexDefines,_),L.a.defaults(this.fragmentDefines,h)}var r={};for(var a in n.textures)r[a]={shaderType:n.textures[a].shaderType,type:n.textures[a].type,enabled:o&&this._textureStatus[a]?this._textureStatus[a].enabled:!1};this._textureStatus=r,this._programKey=""},clone:function(){var n=new this.constructor({name:this.name,shader:this.shader});for(var o in this.uniforms)n.uniforms[o].value=this.uniforms[o].value;return n.depthTest=this.depthTest,n.depthMask=this.depthMask,n.transparent=this.transparent,n.blend=this.blend,n.vertexDefines=L.a.clone(this.vertexDefines),n.fragmentDefines=L.a.clone(this.fragmentDefines),n.enableTexture(this.getEnabledTextures()),n.precision=this.precision,n},define:function(n,o,d){var m=this.vertexDefines,_=this.fragmentDefines;n!=="vertex"&&n!=="fragment"&&n!=="both"&&arguments.length<3&&(d=o,o=n,n="both"),d=d!=null?d:null,(n==="vertex"||n==="both")&&m[o]!==d&&(m[o]=d,this._programKey=""),(n==="fragment"||n==="both")&&_[o]!==d&&(_[o]=d,n!=="both"&&(this._programKey=""))},undefine:function(n,o){n!=="vertex"&&n!=="fragment"&&n!=="both"&&arguments.length<2&&(o=n,n="both"),(n==="vertex"||n==="both")&&this.isDefined("vertex",o)&&(delete this.vertexDefines[o],this._programKey=""),(n==="fragment"||n==="both")&&this.isDefined("fragment",o)&&(delete this.fragmentDefines[o],n!=="both"&&(this._programKey=""))},isDefined:function(n,o){switch(n){case"vertex":return this.vertexDefines[o]!==void 0;case"fragment":return this.fragmentDefines[o]!==void 0}},getDefine:function(n,o){switch(n){case"vertex":return this.vertexDefines[o];case"fragment":return this.fragmentDefines[o]}},enableTexture:function(n){if(Array.isArray(n)){for(var o=0;o<n.length;o++)this.enableTexture(n[o]);return}var d=this._textureStatus[n];if(d){var m=d.enabled;m||(d.enabled=!0,this._programKey="")}},enableTexturesAll:function(){var n=this._textureStatus;for(var o in n)n[o].enabled=!0;this._programKey=""},disableTexture:function(n){if(Array.isArray(n)){for(var o=0;o<n.length;o++)this.disableTexture(n[o]);return}var d=this._textureStatus[n];if(d){var m=!d.enabled;m||(d.enabled=!1,this._programKey="")}},disableTexturesAll:function(){var n=this._textureStatus;for(var o in n)n[o].enabled=!1;this._programKey=""},isTextureEnabled:function(n){var o=this._textureStatus;return!!o[n]&&o[n].enabled},getEnabledTextures:function(){var n=[],o=this._textureStatus;for(var d in o)o[d].enabled&&n.push(d);return n},dirtyDefines:function(){this._programKey=""}});Object.defineProperty&&(Object.defineProperty(f.prototype,"shader",{get:function(){return this._shader||null},set:function(n){this._shader=n}}),Object.defineProperty(f.prototype,"programKey",{get:function(){return this._programKey||(this._programKey=l(this.vertexDefines,this.fragmentDefines,this.getEnabledTextures())),this._programKey}})),X.a=f},function(te,X,S){"use strict";var K=!0;try{var y=document.createElement("canvas"),L=y.getContext("webgl")||y.getContext("experimental-webgl");if(!L)throw new Error}catch(s){K=!1}var A={};A.supportWebGL=function(){return K},A.Int8Array=typeof Int8Array=="undefined"?Array:Int8Array,A.Uint8Array=typeof Uint8Array=="undefined"?Array:Uint8Array,A.Uint16Array=typeof Uint16Array=="undefined"?Array:Uint16Array,A.Uint32Array=typeof Uint32Array=="undefined"?Array:Uint32Array,A.Int16Array=typeof Int16Array=="undefined"?Array:Int16Array,A.Float32Array=typeof Float32Array=="undefined"?Array:Float32Array,A.Float64Array=typeof Float64Array=="undefined"?Array:Float64Array,X.a=A},function(te,X,S){"use strict";var K=S(28),y=K.a.extend(function(){return{color:[1,1,1],intensity:1,castShadow:!0,shadowResolution:512,group:0}},{type:"",clone:function(){var L=K.a.prototype.clone.call(this);return L.color=Array.prototype.slice.call(this.color),L.intensity=this.intensity,L.castShadow=this.castShadow,L.shadowResolution=this.shadowResolution,L}});X.a=y},function(te,X,S){"use strict";var K=S(0),y=S.n(K),L=S(29),A=S(152),s=S(36),x=S(30),c=S(9),l=S(4),f=S(23),n=S(47),o=S(155),d=S(182),m=S(43);function _(g){g=g||"perspective",this.layer=null,this.scene=new L.a,this.rootNode=this.scene,this.viewport={x:0,y:0,width:0,height:0},this.setProjection(g),this._compositor=new o.a,this._temporalSS=new d.a,this._shadowMapPass=new A.a;for(var r=[],a=0,p=0;p<30;p++){for(var E=[],b=0;b<6;b++)E.push(Object(m.a)(a,2)*4-2),E.push(Object(m.a)(a,3)*4-2),a++;r.push(E)}this._pcfKernels=r,this.scene.on("beforerender",function(w,R,O){this.needsTemporalSS()&&this._temporalSS.jitterProjection(w,O)},this)}_.prototype.setProjection=function(g){var r=this.camera;r&&r.update(),g==="perspective"?this.camera instanceof s.a||(this.camera=new s.a,r&&this.camera.setLocalTransform(r.localTransform)):this.camera instanceof x.a||(this.camera=new x.a,r&&this.camera.setLocalTransform(r.localTransform)),this.camera.near=.1,this.camera.far=2e3},_.prototype.setViewport=function(g,r,a,p,E){this.camera instanceof s.a&&(this.camera.aspect=a/p),E=E||1,this.viewport.x=g,this.viewport.y=r,this.viewport.width=a,this.viewport.height=p,this.viewport.devicePixelRatio=E,this._compositor.resize(a*E,p*E),this._temporalSS.resize(a*E,p*E)},_.prototype.containPoint=function(g,r){var a=this.viewport,p=this.layer.renderer.getHeight();return r=p-r,g>=a.x&&r>=a.y&&g<=a.x+a.width&&r<=a.y+a.height};var h=new f.a;_.prototype.castRay=function(g,r,a){var p=this.layer.renderer,E=p.viewport;return p.viewport=this.viewport,p.screenToNDC(g,r,h),this.camera.castRay(h,a),p.viewport=E,a},_.prototype.prepareRender=function(){this.scene.update(),this.camera.update(),this._needsSortProgressively=!1;for(var g=0;g<this.scene.transparentList.length;g++){var r=this.scene.transparentList[g],a=r.geometry;a.needsSortVerticesProgressively&&a.needsSortVerticesProgressively()&&(this._needsSortProgressively=!0),a.needsSortTrianglesProgressively&&a.needsSortTrianglesProgressively()&&(this._needsSortProgressively=!0)}this._frame=0,this._temporalSS.resetFrame()},_.prototype.render=function(g,r){this._doRender(g,r,this._frame),this._frame++},_.prototype.needsAccumulate=function(){return this.needsTemporalSS()||this._needsSortProgressively},_.prototype.needsTemporalSS=function(){var g=this._enableTemporalSS;return g=="auto"&&(g=this._enablePostEffect),g},_.prototype.hasDOF=function(){return this._enableDOF},_.prototype.isAccumulateFinished=function(){return this.needsTemporalSS()?this._temporalSS.isFinished():this._frame>30},_.prototype._doRender=function(g,r,a){var p=this.scene,E=this.camera;if(a=a||0,this._updateTransparent(g,p,E,a),r||(this._shadowMapPass.kernelPCF=this._pcfKernels[0],this._shadowMapPass.render(g,p,E,!0)),this._updateShadowPCFKernel(a),g.gl.clearColor(0,0,0,0),this._enablePostEffect&&(this.needsTemporalSS()&&this._temporalSS.jitterProjection(g,E),this._compositor.updateNormal(g,p,E,this._temporalSS.getFrame())),this._updateSSAO(g,p,E,this._temporalSS.getFrame()),this._enablePostEffect){var b=this._compositor.getSourceFrameBuffer();b.bind(g),g.gl.clear(g.gl.DEPTH_BUFFER_BIT|g.gl.COLOR_BUFFER_BIT),g.render(p,E,!0,!0),b.unbind(g),this.needsTemporalSS()&&r?(this._compositor.composite(g,E,this._temporalSS.getSourceFrameBuffer(),this._temporalSS.getFrame()),g.setViewport(this.viewport),this._temporalSS.render(g)):(g.setViewport(this.viewport),this._compositor.composite(g,E,null,0))}else if(this.needsTemporalSS()&&r){var b=this._temporalSS.getSourceFrameBuffer();b.bind(g),g.saveClear(),g.clearBit=g.gl.DEPTH_BUFFER_BIT|g.gl.COLOR_BUFFER_BIT,g.render(p,E,!0,!0),g.restoreClear(),b.unbind(g),g.setViewport(this.viewport),this._temporalSS.render(g)}else g.setViewport(this.viewport),g.render(p,E,!0,!0)},_.prototype._updateTransparent=function(g,r,a,p){for(var E=new l.a,b=new c.a,w=a.getWorldPosition(),R=0;R<r.transparentList.length;R++){var O=r.transparentList[R],z=O.geometry;c.a.invert(b,O.worldTransform),l.a.transformMat4(E,w,b),z.needsSortTriangles&&z.needsSortTriangles()&&z.doSortTriangles(E,p),z.needsSortVertices&&z.needsSortVertices()&&z.doSortVertices(E,p)}},_.prototype._updateSSAO=function(g,r,a,p){var E=this._enableSSAO&&this._enablePostEffect;E&&this._compositor.updateSSAO(g,r,a,this._temporalSS.getFrame());for(var b=0;b<r.opaqueList.length;b++){var w=r.opaqueList[b];w.renderNormal&&w.material[E?"enableTexture":"disableTexture"]("ssaoMap"),E&&w.material.set("ssaoMap",this._compositor.getSSAOTexture())}},_.prototype._updateShadowPCFKernel=function(g){for(var r=this._pcfKernels[g%this._pcfKernels.length],a=this.scene.opaqueList,p=0;p<a.length;p++)a[p].receiveShadow&&(a[p].material.set("pcfKernel",r),a[p].material.define("fragment","PCF_KERNEL_SIZE",r.length/2))},_.prototype.dispose=function(g){this._compositor.dispose(g.gl),this._temporalSS.dispose(g.gl),this._shadowMapPass.dispose(g)},_.prototype.setPostEffect=function(g,r){var a=this._compositor;this._enablePostEffect=g.get("enable");var p=g.getModel("bloom"),E=g.getModel("edge"),b=g.getModel("DOF",g.getModel("depthOfField")),w=g.getModel("SSAO",g.getModel("screenSpaceAmbientOcclusion")),R=g.getModel("SSR",g.getModel("screenSpaceReflection")),O=g.getModel("FXAA"),z=g.getModel("colorCorrection");p.get("enable")?a.enableBloom():a.disableBloom(),b.get("enable")?a.enableDOF():a.disableDOF(),R.get("enable")?a.enableSSR():a.disableSSR(),z.get("enable")?a.enableColorCorrection():a.disableColorCorrection(),E.get("enable")?a.enableEdge():a.disableEdge(),O.get("enable")?a.enableFXAA():a.disableFXAA(),this._enableDOF=b.get("enable"),this._enableSSAO=w.get("enable"),this._enableSSAO?a.enableSSAO():a.disableSSAO(),a.setBloomIntensity(p.get("intensity")),a.setEdgeColor(E.get("color")),a.setColorLookupTexture(z.get("lookupTexture"),r),a.setExposure(z.get("exposure")),["radius","quality","intensity"].forEach(function(B){a.setSSAOParameter(B,w.get(B))}),["quality","maxRoughness"].forEach(function(B){a.setSSRParameter(B,R.get(B))}),["quality","focalDistance","focalRange","blurRadius","fstop"].forEach(function(B){a.setDOFParameter(B,b.get(B))}),["brightness","contrast","saturation"].forEach(function(B){a.setColorCorrection(B,z.get(B))})},_.prototype.setDOFFocusOnPoint=function(g){if(this._enablePostEffect)return g>this.camera.far||g<this.camera.near?void 0:(this._compositor.setDOFParameter("focalDistance",g),!0)},_.prototype.setTemporalSuperSampling=function(g){this._enableTemporalSS=g.get("enable")},_.prototype.isLinearSpace=function(){return this._enablePostEffect},_.prototype.setRootNode=function(g){if(this.rootNode!==g){for(var r=this.rootNode.children(),a=0;a<r.length;a++)g.add(r[a]);g!==this.scene&&this.scene.add(g),this.rootNode=g}},_.prototype.add=function(g){this.rootNode.add(g)},_.prototype.remove=function(g){this.rootNode.remove(g)},_.prototype.removeAll=function(g){this.rootNode.removeAll(g)},y.a.util.extend(_.prototype,n.a),X.a=_},function(te,X,S){"use strict";var K=0,y=Array.prototype,L=y.forEach,A={genGUID:function(){return++K},relative2absolute:function(s,x){if(!x||s.match(/^\//))return s;for(var c=s.split("/"),l=x.split("/"),f=c[0];f==="."||f==="..";)f===".."&&l.pop(),c.shift(),f=c[0];return l.join("/")+"/"+c.join("/")},extend:function(s,x){if(x)for(var c in x)x.hasOwnProperty(c)&&(s[c]=x[c]);return s},defaults:function(s,x){if(x)for(var c in x)s[c]===void 0&&(s[c]=x[c]);return s},extendWithPropList:function(s,x,c){if(x)for(var l=0;l<c.length;l++){var f=c[l];s[f]=x[f]}return s},defaultsWithPropList:function(s,x,c){if(x)for(var l=0;l<c.length;l++){var f=c[l];s[f]==null&&(s[f]=x[f])}return s},each:function(s,x,c){if(s&&x)if(s.forEach&&s.forEach===L)s.forEach(x,c);else if(s.length===+s.length)for(var l=0,f=s.length;l<f;l++)x.call(c,s[l],l,s);else for(var n in s)s.hasOwnProperty(n)&&x.call(c,s[n],n,s)},isObject:function(s){return s===Object(s)},isArray:function(s){return Array.isArray(s)},isArrayLike:function(s){return s?s.length===+s.length:!1},clone:function(s){if(A.isObject(s)){if(A.isArray(s))return s.slice();if(A.isArrayLike(s)){for(var x=new s.constructor(s.length),c=0;c<s.length;c++)x[c]=s[c];return x}else return A.extend({},s)}else return s}};X.a=A},function(te,X,S){"use strict";var K=S(13),y=S(0),L=S.n(y),A=S(33),s=S(1),x=S.n(s),c=x.a.vec3,l=[[0,0],[1,1]],f=K.a.extend(function(){return{segmentScale:1,dynamic:!0,useNativeLine:!0,attributes:{position:new K.a.Attribute("position","float",3,"POSITION"),positionPrev:new K.a.Attribute("positionPrev","float",3),positionNext:new K.a.Attribute("positionNext","float",3),prevPositionPrev:new K.a.Attribute("prevPositionPrev","float",3),prevPosition:new K.a.Attribute("prevPosition","float",3),prevPositionNext:new K.a.Attribute("prevPositionNext","float",3),offset:new K.a.Attribute("offset","float",1),color:new K.a.Attribute("color","float",4,"COLOR")}}},{resetOffset:function(){this._vertexOffset=0,this._triangleOffset=0,this._itemVertexOffsets=[]},setVertexCount:function(n){var o=this.attributes;this.vertexCount!==n&&(o.position.init(n),o.color.init(n),this.useNativeLine||(o.positionPrev.init(n),o.positionNext.init(n),o.offset.init(n)),n>65535?this.indices instanceof Uint16Array&&(this.indices=new Uint32Array(this.indices)):this.indices instanceof Uint32Array&&(this.indices=new Uint16Array(this.indices)))},setTriangleCount:function(n){this.triangleCount!==n&&(n===0?this.indices=null:this.indices=this.vertexCount>65535?new Uint32Array(n*3):new Uint16Array(n*3))},_getCubicCurveApproxStep:function(n,o,d,m){var _=c.dist(n,o)+c.dist(d,o)+c.dist(m,d),h=1/(_+1)*this.segmentScale;return h},getCubicCurveVertexCount:function(n,o,d,m){var _=this._getCubicCurveApproxStep(n,o,d,m),h=Math.ceil(1/_);return this.useNativeLine?h*2:h*2+2},getCubicCurveTriangleCount:function(n,o,d,m){var _=this._getCubicCurveApproxStep(n,o,d,m),h=Math.ceil(1/_);return this.useNativeLine?0:h*2},getLineVertexCount:function(){return this.getPolylineVertexCount(l)},getLineTriangleCount:function(){return this.getPolylineTriangleCount(l)},getPolylineVertexCount:function(n){var o;if(typeof n=="number")o=n;else{var d=typeof n[0]!="number";o=d?n.length:n.length/3}return this.useNativeLine?(o-1)*2:(o-1)*2+2},getPolylineTriangleCount:function(n){var o;if(typeof n=="number")o=n;else{var d=typeof n[0]!="number";o=d?n.length:n.length/3}return this.useNativeLine?0:Math.max(o-1,0)*2},addCubicCurve:function(n,o,d,m,_,h){h==null&&(h=1);for(var g=n[0],r=n[1],a=n[2],p=o[0],E=o[1],b=o[2],w=d[0],R=d[1],O=d[2],z=m[0],B=m[1],P=m[2],F=this._getCubicCurveApproxStep(n,o,d,m),k=F*F,U=k*F,G=3*F,C=3*k,I=6*k,H=6*U,$=g-p*2+w,q=r-E*2+R,se=a-b*2+O,ue=(p-w)*3-g+z,me=(E-R)*3-r+B,Ee=(b-O)*3-a+P,Le=g,Fe=r,Ke=a,Te=(p-g)*G+$*C+ue*U,We=(E-r)*G+q*C+me*U,Ce=(b-a)*G+se*C+Ee*U,De=$*I+ue*H,ge=q*I+me*H,Re=se*I+Ee*H,ve=ue*H,we=me*H,Ue=Ee*H,de=0,oe=0,ne=Math.ceil(1/F),ce=new Float32Array((ne+1)*3),ce=[],ye=0,oe=0;oe<ne+1;oe++)ce[ye++]=Le,ce[ye++]=Fe,ce[ye++]=Ke,Le+=Te,Fe+=We,Ke+=Ce,Te+=De,We+=ge,Ce+=Re,De+=ve,ge+=we,Re+=Ue,de+=F,de>1&&(Le=Te>0?Math.min(Le,z):Math.max(Le,z),Fe=We>0?Math.min(Fe,B):Math.max(Fe,B),Ke=Ce>0?Math.min(Ke,P):Math.max(Ke,P));return this.addPolyline(ce,_,h)},addLine:function(n,o,d,m){return this.addPolyline([n,o],d,m)},addPolyline:function(n,o,d,m,_){if(n.length){var h=typeof n[0]!="number";if(_==null&&(_=h?n.length:n.length/3),!(_<2)){m==null&&(m=0),d==null&&(d=1),this._itemVertexOffsets.push(this._vertexOffset);var h=typeof n[0]!="number",g=h?typeof o[0]!="number":o.length/4===_,r=this.attributes.position,a=this.attributes.positionPrev,p=this.attributes.positionNext,E=this.attributes.color,b=this.attributes.offset,w=this.indices,R=this._vertexOffset,O,z;d=Math.max(d,.01);for(var B=m;B<_;B++){if(h)O=n[B],g?z=o[B]:z=o;else{var P=B*3;if(O=O||[],O[0]=n[P],O[1]=n[P+1],O[2]=n[P+2],g){var F=B*4;z=z||[],z[0]=o[F],z[1]=o[F+1],z[2]=o[F+2],z[3]=o[F+3]}else z=o}if(this.useNativeLine?B>1&&(r.copy(R,R-1),E.copy(R,R-1),R++):(B<_-1&&(a.set(R+2,O),a.set(R+3,O)),B>0&&(p.set(R-2,O),p.set(R-1,O)),r.set(R,O),r.set(R+1,O),E.set(R,z),E.set(R+1,z),b.set(R,d/2),b.set(R+1,-d/2),R+=2),this.useNativeLine)E.set(R,z),r.set(R,O),R++;else if(B>0){var k=this._triangleOffset*3,w=this.indices;w[k]=R-4,w[k+1]=R-3,w[k+2]=R-2,w[k+3]=R-3,w[k+4]=R-1,w[k+5]=R-2,this._triangleOffset+=2}}if(!this.useNativeLine){var U=this._vertexOffset,G=this._vertexOffset+_*2;a.copy(U,U+2),a.copy(U+1,U+3),p.copy(G-1,G-3),p.copy(G-2,G-4)}return this._vertexOffset=R,this._vertexOffset}}},setItemColor:function(n,o){for(var d=this._itemVertexOffsets[n],m=n<this._itemVertexOffsets.length-1?this._itemVertexOffsets[n+1]:this._vertexOffset,_=d;_<m;_++)this.attributes.color.set(_,o);this.dirty("color")},currentTriangleOffset:function(){return this._triangleOffset},currentVertexOffset:function(){return this._vertexOffset}});L.a.util.defaults(f.prototype,A.a),X.a=f},function(te,X,S){"use strict";var K=S(1),y=S.n(K),L=y.a.vec2,A=function(x,c){x=x||0,c=c||0,this.array=L.fromValues(x,c),this._dirty=!0};if(A.prototype={constructor:A,add:function(x){return L.add(this.array,this.array,x.array),this._dirty=!0,this},set:function(x,c){return this.array[0]=x,this.array[1]=c,this._dirty=!0,this},setArray:function(x){return this.array[0]=x[0],this.array[1]=x[1],this._dirty=!0,this},clone:function(){return new A(this.x,this.y)},copy:function(x){return L.copy(this.array,x.array),this._dirty=!0,this},cross:function(x,c){return L.cross(x.array,this.array,c.array),x._dirty=!0,this},dist:function(x){return L.dist(this.array,x.array)},distance:function(x){return L.distance(this.array,x.array)},div:function(x){return L.div(this.array,this.array,x.array),this._dirty=!0,this},divide:function(x){return L.divide(this.array,this.array,x.array),this._dirty=!0,this},dot:function(x){return L.dot(this.array,x.array)},len:function(){return L.len(this.array)},length:function(){return L.length(this.array)},lerp:function(x,c,l){return L.lerp(this.array,x.array,c.array,l),this._dirty=!0,this},min:function(x){return L.min(this.array,this.array,x.array),this._dirty=!0,this},max:function(x){return L.max(this.array,this.array,x.array),this._dirty=!0,this},mul:function(x){return L.mul(this.array,this.array,x.array),this._dirty=!0,this},multiply:function(x){return L.multiply(this.array,this.array,x.array),this._dirty=!0,this},negate:function(){return L.negate(this.array,this.array),this._dirty=!0,this},normalize:function(){return L.normalize(this.array,this.array),this._dirty=!0,this},random:function(x){return L.random(this.array,x),this._dirty=!0,this},scale:function(x){return L.scale(this.array,this.array,x),this._dirty=!0,this},scaleAndAdd:function(x,c){return L.scaleAndAdd(this.array,this.array,x.array,c),this._dirty=!0,this},sqrDist:function(x){return L.sqrDist(this.array,x.array)},squaredDistance:function(x){return L.squaredDistance(this.array,x.array)},sqrLen:function(){return L.sqrLen(this.array)},squaredLength:function(){return L.squaredLength(this.array)},sub:function(x){return L.sub(this.array,this.array,x.array),this._dirty=!0,this},subtract:function(x){return L.subtract(this.array,this.array,x.array),this._dirty=!0,this},transformMat2:function(x){return L.transformMat2(this.array,this.array,x.array),this._dirty=!0,this},transformMat2d:function(x){return L.transformMat2d(this.array,this.array,x.array),this._dirty=!0,this},transformMat3:function(x){return L.transformMat3(this.array,this.array,x.array),this._dirty=!0,this},transformMat4:function(x){return L.transformMat4(this.array,this.array,x.array),this._dirty=!0,this},toString:function(){return"["+Array.prototype.join.call(this.array,",")+"]"},toArray:function(){return Array.prototype.slice.call(this.array)}},Object.defineProperty){var s=A.prototype;Object.defineProperty(s,"x",{get:function(){return this.array[0]},set:function(x){this.array[0]=x,this._dirty=!0}}),Object.defineProperty(s,"y",{get:function(){return this.array[1]},set:function(x){this.array[1]=x,this._dirty=!0}})}A.add=function(x,c,l){return L.add(x.array,c.array,l.array),x._dirty=!0,x},A.set=function(x,c,l){return L.set(x.array,c,l),x._dirty=!0,x},A.copy=function(x,c){return L.copy(x.array,c.array),x._dirty=!0,x},A.cross=function(x,c,l){return L.cross(x.array,c.array,l.array),x._dirty=!0,x},A.dist=function(x,c){return L.distance(x.array,c.array)},A.distance=A.dist,A.div=function(x,c,l){return L.divide(x.array,c.array,l.array),x._dirty=!0,x},A.divide=A.div,A.dot=function(x,c){return L.dot(x.array,c.array)},A.len=function(x){return L.length(x.array)},A.lerp=function(x,c,l,f){return L.lerp(x.array,c.array,l.array,f),x._dirty=!0,x},A.min=function(x,c,l){return L.min(x.array,c.array,l.array),x._dirty=!0,x},A.max=function(x,c,l){return L.max(x.array,c.array,l.array),x._dirty=!0,x},A.mul=function(x,c,l){return L.multiply(x.array,c.array,l.array),x._dirty=!0,x},A.multiply=A.mul,A.negate=function(x,c){return L.negate(x.array,c.array),x._dirty=!0,x},A.normalize=function(x,c){return L.normalize(x.array,c.array),x._dirty=!0,x},A.random=function(x,c){return L.random(x.array,c),x._dirty=!0,x},A.scale=function(x,c,l){return L.scale(x.array,c.array,l),x._dirty=!0,x},A.scaleAndAdd=function(x,c,l,f){return L.scaleAndAdd(x.array,c.array,l.array,f),x._dirty=!0,x},A.sqrDist=function(x,c){return L.sqrDist(x.array,c.array)},A.squaredDistance=A.sqrDist,A.sqrLen=function(x){return L.sqrLen(x.array)},A.squaredLength=A.sqrLen,A.sub=function(x,c,l){return L.subtract(x.array,c.array,l.array),x._dirty=!0,x},A.subtract=A.sub,A.transformMat2=function(x,c,l){return L.transformMat2(x.array,c.array,l.array),x._dirty=!0,x},A.transformMat2d=function(x,c,l){return L.transformMat2d(x.array,c.array,l.array),x._dirty=!0,x},A.transformMat3=function(x,c,l){return L.transformMat3(x.array,c.array,l.array),x._dirty=!0,x},A.transformMat4=function(x,c,l){return L.transformMat4(x.array,c.array,l.array),x._dirty=!0,x},X.a=A},function(te,X,S){"use strict";var K=S(64),y=S(11),L=S(5),A=K.a.extend({skeleton:null,joints:null,useSkinMatricesTexture:!1},function(){this.joints||(this.joints=[])},{isSkinnedMesh:function(){return!!(this.skeleton&&this.joints&&this.joints.length>0)},render:function(s,x,c){var l=s.gl;if(this.skeleton){this.skeleton.update();var f=this.skeleton.getSubSkinMatrices(this.__uid__,this.joints);c.setUniformOfSemantic(l,"SKIN_MATRIX",f)}return K.a.prototype.render.call(this,s,x,c)},getSkinMatricesTexture:function(){return this._skinMatricesTexture=this._skinMatricesTexture||new L.a({type:y.a.FLOAT,minFilter:y.a.NEAREST,magFilter:y.a.NEAREST,useMipmap:!1,flipY:!1}),this._skinMatricesTexture}});A.POINTS=y.a.POINTS,A.LINES=y.a.LINES,A.LINE_LOOP=y.a.LINE_LOOP,A.LINE_STRIP=y.a.LINE_STRIP,A.TRIANGLES=y.a.TRIANGLES,A.TRIANGLE_STRIP=y.a.TRIANGLE_STRIP,A.TRIANGLE_FAN=y.a.TRIANGLE_FAN,A.BACK=y.a.BACK,A.FRONT=y.a.FRONT,A.FRONT_AND_BACK=y.a.FRONT_AND_BACK,A.CW=y.a.CW,A.CCW=y.a.CCW,X.a=A},function(te,X,S){"use strict";var K=S(6),y=S(11),L=S(21),A=S(66),s=A.a.isPowerOfTwo,x=["px","nx","py","ny","pz","nz"],c=K.a.extend(function(){return{image:{px:null,nx:null,py:null,ny:null,pz:null,nz:null},pixels:{px:null,nx:null,py:null,ny:null,pz:null,nz:null},mipmaps:[]}},{update:function(f){var n=f.gl;n.bindTexture(n.TEXTURE_CUBE_MAP,this._cache.get("webgl_texture")),this.updateCommon(f);var o=this.format,d=this.type;n.texParameteri(n.TEXTURE_CUBE_MAP,n.TEXTURE_WRAP_S,this.getAvailableWrapS()),n.texParameteri(n.TEXTURE_CUBE_MAP,n.TEXTURE_WRAP_T,this.getAvailableWrapT()),n.texParameteri(n.TEXTURE_CUBE_MAP,n.TEXTURE_MAG_FILTER,this.getAvailableMagFilter()),n.texParameteri(n.TEXTURE_CUBE_MAP,n.TEXTURE_MIN_FILTER,this.getAvailableMinFilter());var m=f.getGLExtension("EXT_texture_filter_anisotropic");if(m&&this.anisotropic>1&&n.texParameterf(n.TEXTURE_CUBE_MAP,m.TEXTURE_MAX_ANISOTROPY_EXT,this.anisotropic),d===36193){var _=f.getGLExtension("OES_texture_half_float");_||(d=y.a.FLOAT)}if(this.mipmaps.length)for(var h=this.width,g=this.height,r=0;r<this.mipmaps.length;r++){var a=this.mipmaps[r];this._updateTextureData(n,a,r,h,g,o,d),h/=2,g/=2}else this._updateTextureData(n,this,0,this.width,this.height,o,d),!this.NPOT&&this.useMipmap&&n.generateMipmap(n.TEXTURE_CUBE_MAP);n.bindTexture(n.TEXTURE_CUBE_MAP,null)},_updateTextureData:function(f,n,o,d,m,_,h){for(var g=0;g<6;g++){var r=x[g],a=n.image&&n.image[r];a?f.texImage2D(f.TEXTURE_CUBE_MAP_POSITIVE_X+g,o,_,_,h,a):f.texImage2D(f.TEXTURE_CUBE_MAP_POSITIVE_X+g,o,_,d,m,0,_,h,n.pixels&&n.pixels[r])}},generateMipmap:function(f){var n=f.gl;this.useMipmap&&!this.NPOT&&(n.bindTexture(n.TEXTURE_CUBE_MAP,this._cache.get("webgl_texture")),n.generateMipmap(n.TEXTURE_CUBE_MAP))},bind:function(f){f.gl.bindTexture(f.gl.TEXTURE_CUBE_MAP,this.getWebGLTexture(f))},unbind:function(f){f.gl.bindTexture(f.gl.TEXTURE_CUBE_MAP,null)},isPowerOfTwo:function(){return this.image.px?s(this.image.px.width)&&s(this.image.px.height):s(this.width)&&s(this.height)},isRenderable:function(){return this.image.px?l(this.image.px)&&l(this.image.nx)&&l(this.image.py)&&l(this.image.ny)&&l(this.image.pz)&&l(this.image.nz):!!(this.width&&this.height)},load:function(f,n){var o=0,d=this;return L.a.each(f,function(m,_){var h=new Image;n&&(h.crossOrigin=n),h.onload=function(){o--,o===0&&(d.dirty(),d.trigger("success",d)),h.onload=null},h.onerror=function(){o--,h.onerror=null},o++,h.src=m,d.image[_]=h}),this}});Object.defineProperty(c.prototype,"width",{get:function(){return this.image&&this.image.px?this.image.px.width:this._width},set:function(f){this.image&&this.image.px?console.warn("Texture from image can't set width"):(this._width!==f&&this.dirty(),this._width=f)}}),Object.defineProperty(c.prototype,"height",{get:function(){return this.image&&this.image.px?this.image.px.height:this._height},set:function(f){this.image&&this.image.px?console.warn("Texture from image can't set height"):(this._height!==f&&this.dirty(),this._height=f)}});function l(f){return f.nodeName==="CANVAS"||f.nodeName==="VIDEO"||f.complete}X.a=c},function(te,X,S){"use strict";X.a={defaultOption:{shading:null,realisticMaterial:{textureTiling:1,textureOffset:0,detailTexture:null},lambertMaterial:{textureTiling:1,textureOffset:0,detailTexture:null},colorMaterial:{textureTiling:1,textureOffset:0,detailTexture:null},hatchingMaterial:{textureTiling:1,textureOffset:0,paperColor:"#fff"}}}},function(te,X,S){"use strict";var K=S(0),y=S.n(K),L={};L.getFormattedLabel=function(A,s,x,c,l){x=x||"normal";var f=A.getData(c),n=f.getItemModel(s),o=A.getDataParams(s,c);l!=null&&o.value instanceof Array&&(o.value=o.value[l]);var d=n.get(x==="normal"?["label","formatter"]:["emphasis","label","formatter"]);d==null&&(d=n.get(["label","formatter"]));var m;return typeof d=="function"?(o.status=x,m=d(o)):typeof d=="string"&&(m=y.a.format.formatTpl(d,o)),m},L.normalizeToArray=function(A){return A instanceof Array?A:A==null?[]:[A]},X.a=L},function(te,X,S){"use strict";var K=S(8),y=S(4),L=S(50),A=S(9),s=S(1),x=S.n(s),c=S(15),l=x.a.mat4,f=0,n=K.a.extend({name:"",position:null,rotation:null,scale:null,worldTransform:null,localTransform:null,autoUpdateLocalTransform:!0,_parent:null,_scene:null,_needsUpdateWorldTransform:!0,_inIterating:!1,__depth:0},function(){this.name||(this.name=(this.type||"NODE")+"_"+f++),this.position||(this.position=new y.a),this.rotation||(this.rotation=new L.a),this.scale||(this.scale=new y.a(1,1,1)),this.worldTransform=new A.a,this.localTransform=new A.a,this._children=[]},{target:null,invisible:!1,isSkinnedMesh:function(){return!1},isRenderable:function(){return!1},setName:function(o){var d=this._scene;if(d){var m=d._nodeRepository;delete m[this.name],m[o]=this}this.name=o},add:function(o){this._inIterating&&console.warn("Add operation can cause unpredictable error when in iterating");var d=o._parent;if(d!==this){d&&d.remove(o),o._parent=this,this._children.push(o);var m=this._scene;m&&m!==o.scene&&o.traverse(this._addSelfToScene,this),o._needsUpdateWorldTransform=!0}},remove:function(o){this._inIterating&&console.warn("Remove operation can cause unpredictable error when in iterating");var d=this._children,m=d.indexOf(o);m<0||(d.splice(m,1),o._parent=null,this._scene&&o.traverse(this._removeSelfFromScene,this))},removeAll:function(){for(var o=this._children,d=0;d<o.length;d++)o[d]._parent=null,this._scene&&o[d].traverse(this._removeSelfFromScene,this);this._children=[]},getScene:function(){return this._scene},getParent:function(){return this._parent},_removeSelfFromScene:function(o){o._scene.removeFromScene(o),o._scene=null},_addSelfToScene:function(o){this._scene.addToScene(o),o._scene=this._scene},isAncestor:function(o){for(var d=o._parent;d;){if(d===this)return!0;d=d._parent}return!1},children:function(){return this._children.slice()},childAt:function(o){return this._children[o]},getChildByName:function(o){for(var d=this._children,m=0;m<d.length;m++)if(d[m].name===o)return d[m]},getDescendantByName:function(o){for(var d=this._children,m=0;m<d.length;m++){var _=d[m];if(_.name===o)return _;var h=_.getDescendantByName(o);if(h)return h}},queryNode:function(o){if(o){for(var d=o.split("/"),m=this,_=0;_<d.length;_++){var h=d[_];if(h){for(var g=!1,r=m._children,a=0;a<r.length;a++){var p=r[a];if(p.name===h){m=p,g=!0;break}}if(!g)return}}return m}},getPath:function(o){if(!this._parent)return"/";for(var d=this._parent,m=this.name;d._parent&&(m=d.name+"/"+m,d._parent!=o);)d=d._parent;return!d._parent&&o?null:m},traverse:function(o,d,m){this._inIterating=!0,(!m||m.call(d,this))&&o.call(d,this);for(var _=this._children,h=0,g=_.length;h<g;h++)_[h].traverse(o,d,m);this._inIterating=!1},eachChild:function(o,d,m){this._inIterating=!0;for(var _=this._children,h=m==null,g=0,r=_.length;g<r;g++){var a=_[g];(h||a.constructor===m)&&o.call(d,a,g)}this._inIterating=!1},setLocalTransform:function(o){l.copy(this.localTransform.array,o.array),this.decomposeLocalTransform()},decomposeLocalTransform:function(o){var d=o?null:this.scale;this.localTransform.decomposeMatrix(d,this.rotation,this.position)},setWorldTransform:function(o){l.copy(this.worldTransform.array,o.array),this.decomposeWorldTransform()},decomposeWorldTransform:function(){var o=l.create();return function(d){var m=this.localTransform,_=this.worldTransform;this._parent?(l.invert(o,this._parent.worldTransform.array),l.multiply(m.array,o,_.array)):l.copy(m.array,_.array);var h=d?null:this.scale;m.decomposeMatrix(h,this.rotation,this.position)}}(),transformNeedsUpdate:function(){return this.position._dirty||this.rotation._dirty||this.scale._dirty},updateLocalTransform:function(){var o=this.position,d=this.rotation,m=this.scale;if(this.transformNeedsUpdate()){var _=this.localTransform.array;l.fromRotationTranslation(_,d.array,o.array),l.scale(_,_,m.array),d._dirty=!1,m._dirty=!1,o._dirty=!1,this._needsUpdateWorldTransform=!0}},_updateWorldTransformTopDown:function(){var o=this.localTransform.array,d=this.worldTransform.array;this._parent?l.multiplyAffine(d,this._parent.worldTransform.array,o):l.copy(d,o)},updateWorldTransform:function(){for(var o=this;o&&o.getParent()&&o.getParent().transformNeedsUpdate();)o=o.getParent();o.update()},update:function(o){this.autoUpdateLocalTransform?this.updateLocalTransform():o=!0,(o||this._needsUpdateWorldTransform)&&(this._updateWorldTransformTopDown(),o=!0,this._needsUpdateWorldTransform=!1);for(var d=this._children,m=0,_=d.length;m<_;m++)d[m].update(o)},getBoundingBox:function(){function o(h){return!h.invisible&&h.geometry}var d=new c.a,m=new A.a,_=new A.a;return function(h,g){return g=g||new c.a,h=h||o,this._parent?A.a.invert(_,this._parent.worldTransform):A.a.identity(_),this.traverse(function(r){r.geometry&&r.geometry.boundingBox&&(d.copy(r.geometry.boundingBox),A.a.multiply(m,_,r.worldTransform),d.applyTransform(m),g.union(d))},this,o),g}}(),getWorldPosition:function(o){this.transformNeedsUpdate()&&this.updateWorldTransform();var d=this.worldTransform.array;if(o){var m=o.array;return m[0]=d[12],m[1]=d[13],m[2]=d[14],o}else return new y.a(d[12],d[13],d[14])},clone:function(){var o=new this.constructor,d=this._children;o.setName(this.name),o.position.copy(this.position),o.rotation.copy(this.rotation),o.scale.copy(this.scale);for(var m=0;m<d.length;m++)o.add(d[m].clone());return o},rotateAround:function(){var o=new y.a,d=new A.a;return function(m,_,h){o.copy(this.position).subtract(m);var g=this.localTransform;g.identity(),g.translate(m),g.rotate(h,_),d.fromRotationTranslation(this.rotation,o),g.multiply(d),g.scale(this.scale),this.decomposeLocalTransform(),this._needsUpdateWorldTransform=!0}}(),lookAt:function(){var o=new A.a;return function(d,m){o.lookAt(this.position,d,m||this.localTransform.y).invert(),this.setLocalTransform(o),this.target=d}}()});X.a=n},function(te,X,S){"use strict";var K=S(28),y=S(19),L=S(51),A=S(15),s=S(21),x={};function c(n){var o=[],d=Object.keys(n);d.sort();for(var m=0;m<d.length;m++){var _=n[m];o.push(_+" "+n[_])}var h=o.join(`
`);if(x[h])return x[h];var g=s.a.genGUID();return x[h]=g,g}var l=K.a.extend(function(){return{material:null,autoUpdate:!0,opaqueList:[],transparentList:[],lights:[],viewBoundingBoxLastFrame:new A.a,shadowUniforms:{},_cameraList:[],_lightUniforms:{},_previousLightNumber:{},_lightNumber:{},_lightProgramKeys:{},_opaqueObjectCount:0,_transparentObjectCount:0,_nodeRepository:{}}},function(){this._scene=this},{addToScene:function(n){n instanceof L.a&&(this._cameraList.length>0&&console.warn("Found multiple camera in one scene. Use the fist one."),this._cameraList.push(n)),n.name&&(this._nodeRepository[n.name]=n)},removeFromScene:function(n){if(n instanceof L.a){var o=this._cameraList.indexOf(n);o>=0&&this._cameraList.splice(o,1)}n.name&&delete this._nodeRepository[n.name]},getNode:function(n){return this._nodeRepository[n]},cloneNode:function(n){var o=n.clone(),d={},m=function(h,g){h.skeleton&&(g.skeleton=h.skeleton.clone(n,o),g.joints=h.joints.slice()),h.material&&(d[h.material.__uid__]={oldMat:h.material});for(var r=0;r<h._children.length;r++)m(h._children[r],g._children[r])};m(n,o);for(var _ in d)d[_].newMat=d[_].oldMat.clone();return o.traverse(function(h){h.material&&(h.material=d[h.material.__uid__].newMat)}),o},update:function(n,o){if(this.autoUpdate||n){K.a.prototype.update.call(this,n);var d=this.lights,m=this.material&&this.material.transparent;if(this._opaqueObjectCount=0,this._transparentObjectCount=0,d.length=0,this._updateRenderList(this,m),this.opaqueList.length=this._opaqueObjectCount,this.transparentList.length=this._transparentObjectCount,!o){this._previousLightNumber=this._lightNumber;for(var _={},h=0;h<d.length;h++){var g=d[h],r=g.group;_[r]||(_[r]={}),_[r][g.type]=_[r][g.type]||0,_[r][g.type]++}this._lightNumber=_;for(var a in _)this._lightProgramKeys[a]=c(_[a]);this._updateLightUniforms()}}},getMainCamera:function(){return this._cameraList[0]},_updateRenderList:function(n,o){if(!n.invisible)for(var d=0;d<n._children.length;d++){var m=n._children[d];m instanceof y.a?this.lights.push(m):m.isRenderable()&&(m.material.transparent||o?this.transparentList[this._transparentObjectCount++]=m:this.opaqueList[this._opaqueObjectCount++]=m),m._children.length>0&&this._updateRenderList(m)}},_updateLightUniforms:function(){var n=this.lights;n.sort(f);var o=this._lightUniforms;for(var d in o)for(var m in o[d])o[d][m].value.length=0;for(var _=0;_<n.length;_++){var h=n[_],d=h.group;for(var m in h.uniformTemplates){var g=h.uniformTemplates[m],r=g.value(h);if(r!=null){o[d]||(o[d]={}),o[d][m]||(o[d][m]={type:"",value:[]});var a=o[d][m];switch(a.type=g.type+"v",g.type){case"1i":case"1f":case"t":a.value.push(r);break;case"2f":case"3f":case"4f":for(var p=0;p<r.length;p++)a.value.push(r[p]);break;default:console.error("Unkown light uniform type "+g.type)}}}}},getLightGroups:function(){var n=[];for(var o in this._lightNumber)n.push(o);return n},getNumberChangedLightGroups:function(){var n=[];for(var o in this._lightNumber)this.isLightNumberChanged(o)&&n.push(o);return n},isLightNumberChanged:function(n){var o=this._previousLightNumber,d=this._lightNumber;for(var m in d[n])if(!o[n]||d[n][m]!==o[n][m])return!0;for(var m in o[n])if(!d[n]||d[n][m]!==o[n][m])return!0;return!1},getLightsNumbers:function(n){return this._lightNumber[n]},getProgramKey:function(n){return this._lightProgramKeys[n]},setLightUniforms:function(){function n(o,d,m){for(var _ in o){var h=o[_];if(h.type==="tv"){if(!d.hasUniform(_))continue;for(var g=[],r=0;r<h.value.length;r++){var a=h.value[r],p=d.takeCurrentTextureSlot(m,a);g.push(p)}d.setUniform(m.gl,"1iv",_,g)}else d.setUniform(m.gl,h.type,_,h.value)}}return function(o,d,m){n(this._lightUniforms[d],o,m),n(this.shadowUniforms,o,m)}}(),dispose:function(){this.material=null,this.opaqueList=[],this.transparentList=[],this.lights=[],this._lightUniforms={},this._lightNumber={},this._nodeRepository={}}});function f(n,o){if(o.castShadow&&!n.castShadow)return!0}X.a=l},function(te,X,S){"use strict";var K=S(51),y=K.a.extend({left:-1,right:1,near:-1,far:1,top:1,bottom:-1},{updateProjectionMatrix:function(){this.projectionMatrix.ortho(this.left,this.right,this.bottom,this.top,this.near,this.far)},decomposeProjectionMatrix:function(){var L=this.projectionMatrix.array;this.left=(-1-L[12])/L[0],this.right=(1-L[12])/L[0],this.top=(1-L[13])/L[5],this.bottom=(-1-L[13])/L[5],this.near=-(-1-L[14])/L[10],this.far=-(1-L[14])/L[10]},clone:function(){var L=K.a.prototype.clone.call(this);return L.left=this.left,L.right=this.right,L.near=this.near,L.far=this.far,L.top=this.top,L.bottom=this.bottom,L}});X.a=y},function(te,X,S){"use strict";X.a={defaultOption:{postEffect:{enable:!1,bloom:{enable:!0,intensity:.1},depthOfField:{enable:!1,focalRange:20,focalDistance:50,blurRadius:10,fstop:2.8,quality:"medium"},screenSpaceAmbientOcclusion:{enable:!1,radius:2,quality:"medium",intensity:1},screenSpaceReflection:{enable:!1,quality:"medium",maxRoughness:.8},colorCorrection:{enable:!0,exposure:0,brightness:0,contrast:1,saturation:1,lookupTexture:""},edge:{enable:!1},FXAA:{enable:!1}},temporalSuperSampling:{enable:"auto"}}}},function(te,X,S){"use strict";X.a={defaultOption:{light:{main:{shadow:!1,shadowQuality:"high",color:"#fff",intensity:1,alpha:0,beta:0},ambient:{color:"#fff",intensity:.2},ambientCubemap:{texture:null,exposure:1,diffuseIntensity:.5,specularIntensity:.5}}}}},function(te,X,S){"use strict";X.a={convertToDynamicArray:function(K){K&&this.resetOffset();var y=this.attributes;for(var L in y)K||!y[L].value?y[L].value=[]:y[L].value=Array.prototype.slice.call(y[L].value);K||!this.indices?this.indices=[]:this.indices=Array.prototype.slice.call(this.indices)},convertToTypedArray:function(){var K=this.attributes;for(var y in K)K[y].value&&K[y].value.length>0?K[y].value=new Float32Array(K[y].value):K[y].value=null;this.indices&&this.indices.length>0&&(this.indices=this.vertexCount>65535?new Uint32Array(this.indices):new Uint16Array(this.indices)),this.dirty()}}},function(te,X,S){"use strict";var K=S(2),y=S(57),L=S(56),A=S(0),s=S.n(A);function x(){}x.prototype={constructor:x,setScene:function(c){this._scene=c,this._skybox&&this._skybox.attachScene(this._scene)},initLight:function(c){this._lightRoot=c,this.mainLight=new K.a.DirectionalLight({shadowBias:.005}),this.ambientLight=new K.a.AmbientLight,c.add(this.mainLight),c.add(this.ambientLight)},dispose:function(){this._lightRoot&&(this._lightRoot.remove(this.mainLight),this._lightRoot.remove(this.ambientLight))},updateLight:function(c){var l=this.mainLight,f=this.ambientLight,n=c.getModel("light"),o=n.getModel("main"),d=n.getModel("ambient");l.intensity=o.get("intensity"),f.intensity=d.get("intensity"),l.color=K.a.parseColor(o.get("color")).slice(0,3),f.color=K.a.parseColor(d.get("color")).slice(0,3);var m=o.get("alpha")||0,_=o.get("beta")||0;l.position.setArray(K.a.directionFromAlphaBeta(m,_)),l.lookAt(K.a.Vector3.ZERO),l.castShadow=o.get("shadow"),l.shadowResolution=K.a.getShadowResolution(o.get("shadowQuality"))},updateAmbientCubemap:function(c,l,f){var n=l.getModel("light.ambientCubemap"),o=n.get("texture");if(o){this._cubemapLightsCache=this._cubemapLightsCache||{};var d=this._cubemapLightsCache[o];if(!d){var m=this;d=this._cubemapLightsCache[o]=K.a.createAmbientCubemap(n.option,c,f,function(){m._skybox instanceof y.a&&m._skybox.setEnvironmentMap(d.specular.cubemap),f.getZr().refresh()})}this._lightRoot.add(d.diffuse),this._lightRoot.add(d.specular),this._currentCubemapLights=d}else this._currentCubemapLights&&(this._lightRoot.remove(this._currentCubemapLights.diffuse),this._lightRoot.remove(this._currentCubemapLights.specular),this._currentCubemapLights=null)},updateSkybox:function(c,l,f){var n=l.get("environment"),o=this;function d(){return o._skybox instanceof y.a||(o._skybox&&o._skybox.dispose(c),o._skybox=new y.a),o._skybox}function m(){return o._skybox instanceof L.a||(o._skybox&&o._skybox.dispose(c),o._skybox=new L.a),o._skybox}if(n&&n!=="none")if(n==="auto")if(this._currentCubemapLights){var _=d(),h=this._currentCubemapLights.specular.cubemap;_.setEnvironmentMap(h),this._scene&&_.attachScene(this._scene),_.material.set("lod",2)}else this._skybox&&this._skybox.detachScene();else if(typeof n=="object"&&n.colorStops||typeof n=="string"&&s.a.color.parse(n)){var g=m(),r=new K.a.Texture2D({anisotropic:8,flipY:!1});g.setEnvironmentMap(r);var a=r.image=document.createElement("canvas");a.width=a.height=16;var p=a.getContext("2d"),E=new s.a.graphic.Rect({shape:{x:0,y:0,width:16,height:16},style:{fill:n}});E.brush(p),g.attachScene(this._scene)}else{var g=m(),r=K.a.loadTexture(n,f,{anisotropic:8,flipY:!1});g.setEnvironmentMap(r),g.attachScene(this._scene)}else this._skybox&&this._skybox.detachScene(this._scene),this._skybox=null;var b=l.coordinateSystem;if(this._skybox)if(b&&b.viewGL&&n!=="auto"&&!(n.match&&n.match(/.hdr$/))){var w=b.viewGL.isLinearSpace()?"define":"undefine";this._skybox.material[w]("fragment","SRGB_DECODE")}else this._skybox.material.undefine("fragment","SRGB_DECODE")}},X.a=x},function(te,X,S){"use strict";var K=S(0),y=S.n(K);function L(A,s){var x=[];return y.a.util.each(A.dimensions,function(c){var l=A.getDimensionInfo(c),f=l.otherDims,n=f[s];n!=null&&n!==!1&&(x[n]=l.name)}),x}X.a=function(A,s,x){function c(h){var g=!0,r=[],a=L(l,"tooltip");a.length?y.a.util.each(a,function(E){p(l.get(E,s),E)}):y.a.util.each(h,p);function p(E,b){var w=l.getDimensionInfo(b);if(!(!w||w.otherDims.tooltip===!1)){var R=w.type,O=(g?"- "+(w.tooltipName||w.name)+": ":"")+(R==="ordinal"?E+"":R==="time"?x?"":y.a.format.formatTime("yyyy/MM/dd hh:mm:ss",E):y.a.format.addCommas(E));O&&r.push(y.a.format.encodeHTML(O))}}return(g?"<br/>":"")+r.join(g?"<br/>":", ")}var l=A.getData(),f=A.getRawValue(s),n=y.a.util.isArray(f)?c(f):y.a.format.encodeHTML(y.a.format.addCommas(f)),o=l.getName(s),d=l.getItemVisual(s,"color");y.a.util.isObject(d)&&d.colorStops&&(d=(d.colorStops[0]||{}).color),d=d||"transparent";var m=y.a.format.getTooltipMarker(d),_=A.name;return _==="\0-"&&(_=""),_=_?y.a.format.encodeHTML(_)+(x?": ":"<br/>"):"",x?m+_+n:_+m+(o?y.a.format.encodeHTML(o)+": "+n:n)}},function(te,X,S){"use strict";var K=S(51),y=K.a.extend({fov:50,aspect:1,near:.1,far:2e3},{updateProjectionMatrix:function(){var L=this.fov/180*Math.PI;this.projectionMatrix.perspective(L,this.aspect,this.near,this.far)},decomposeProjectionMatrix:function(){var L=this.projectionMatrix.array,A=Math.atan(1/L[5])*2;this.fov=A/Math.PI*180,this.aspect=L[5]/L[0],this.near=L[14]/(L[10]-1),this.far=L[14]/(L[10]+1)},clone:function(){var L=K.a.prototype.clone.call(this);return L.fov=this.fov,L.aspect=this.aspect,L.near=this.near,L.far=this.far,L}});X.a=y},function(te,X,S){"use strict";var K=S(13),y=S(15),L=K.a.extend({dynamic:!1,widthSegments:1,heightSegments:1},function(){this.build()},{build:function(){for(var A=this.heightSegments,s=this.widthSegments,x=this.attributes,c=[],l=[],f=[],n=[],o=0;o<=A;o++)for(var d=o/A,m=0;m<=s;m++){var _=m/s;if(c.push([2*_-1,2*d-1,0]),l&&l.push([_,d]),f&&f.push([0,0,1]),m<s&&o<A){var h=m+o*(s+1);n.push([h,h+1,h+s+1]),n.push([h+s+1,h+1,h+s+2])}}x.position.fromArray(c),x.texcoord0.fromArray(l),x.normal.fromArray(f),this.initIndicesFromArray(n),this.boundingBox=new y.a,this.boundingBox.min.set(-1,-1,0),this.boundingBox.max.set(1,1,0)}});X.a=L},function(te,X,S){"use strict";X.a={defaultOption:{viewControl:{projection:"perspective",autoRotate:!1,autoRotateDirection:"cw",autoRotateSpeed:10,autoRotateAfterStill:3,damping:.8,rotateSensitivity:1,zoomSensitivity:1,panSensitivity:1,panMouseButton:"middle",rotateMouseButton:"left",distance:150,minDistance:40,maxDistance:400,orthographicSize:150,maxOrthographicSize:400,minOrthographicSize:20,center:[0,0,0],alpha:0,beta:0,minAlpha:-90,maxAlpha:90}},setView:function(K){K=K||{},this.option.viewControl=this.option.viewControl||{},K.alpha!=null&&(this.option.viewControl.alpha=K.alpha),K.beta!=null&&(this.option.viewControl.beta=K.beta),K.distance!=null&&(this.option.viewControl.distance=K.distance),K.center!=null&&(this.option.viewControl.center=K.center)}}},function(te,X,S){"use strict";var K=S(8),y=S(23),L=S(4),A=S(50),s=S(3),x=s.a.firstNotNull,c={left:0,middle:1,right:2};function l(n){return n instanceof Array||(n=[n,n]),n}var f=K.a.extend(function(){return{zr:null,viewGL:null,_center:new L.a,minDistance:.5,maxDistance:1.5,maxOrthographicSize:300,minOrthographicSize:30,minAlpha:-90,maxAlpha:90,minBeta:-1/0,maxBeta:1/0,autoRotateAfterStill:0,autoRotateDirection:"cw",autoRotateSpeed:60,damping:.8,rotateSensitivity:1,zoomSensitivity:1,panSensitivity:1,panMouseButton:"middle",rotateMouseButton:"left",_mode:"rotate",_camera:null,_needsUpdate:!1,_rotating:!1,_phi:0,_theta:0,_mouseX:0,_mouseY:0,_rotateVelocity:new y.a,_panVelocity:new y.a,_distance:500,_zoomSpeed:0,_stillTimeout:0,_animators:[]}},function(){["_mouseDownHandler","_mouseWheelHandler","_mouseMoveHandler","_mouseUpHandler","_pinchHandler","_contextMenuHandler","_update"].forEach(function(n){this[n]=this[n].bind(this)},this)},{init:function(){var n=this.zr;n&&(n.on("mousedown",this._mouseDownHandler),n.on("globalout",this._mouseUpHandler),n.on("mousewheel",this._mouseWheelHandler),n.on("pinch",this._pinchHandler),n.animation.on("frame",this._update),n.dom.addEventListener("contextmenu",this._contextMenuHandler))},dispose:function(){var n=this.zr;n&&(n.off("mousedown",this._mouseDownHandler),n.off("mousemove",this._mouseMoveHandler),n.off("mouseup",this._mouseUpHandler),n.off("mousewheel",this._mouseWheelHandler),n.off("pinch",this._pinchHandler),n.off("globalout",this._mouseUpHandler),n.dom.removeEventListener("contextmenu",this._contextMenuHandler),n.animation.off("frame",this._update)),this.stopAllAnimation()},getDistance:function(){return this._distance},setDistance:function(n){this._distance=n,this._needsUpdate=!0},getOrthographicSize:function(){return this._orthoSize},setOrthographicSize:function(n){this._orthoSize=n,this._needsUpdate=!0},getAlpha:function(){return this._theta/Math.PI*180},getBeta:function(){return-this._phi/Math.PI*180},getCenter:function(){return this._center.toArray()},setAlpha:function(n){n=Math.max(Math.min(this.maxAlpha,n),this.minAlpha),this._theta=n/180*Math.PI,this._needsUpdate=!0},setBeta:function(n){n=Math.max(Math.min(this.maxBeta,n),this.minBeta),this._phi=-n/180*Math.PI,this._needsUpdate=!0},setCenter:function(n){this._center.setArray(n)},setViewGL:function(n){this.viewGL=n},getCamera:function(){return this.viewGL.camera},setFromViewControlModel:function(n,o){o=o||{};var d=o.baseDistance||0,m=o.baseOrthoSize||1,_=n.get("projection");_!=="perspective"&&_!=="orthographic"&&_!=="isometric"&&(console.error("Unkown projection type %s, use perspective projection instead.",_),_="perspective"),this._projection=_,this.viewGL.setProjection(_);var h=n.get("distance")+d,g=n.get("orthographicSize")+m;[["damping",.8],["autoRotate",!1],["autoRotateAfterStill",3],["autoRotateDirection","cw"],["autoRotateSpeed",10],["minDistance",30],["maxDistance",400],["minOrthographicSize",30],["maxOrthographicSize",300],["minAlpha",-90],["maxAlpha",90],["minBeta",-1/0],["maxBeta",1/0],["rotateSensitivity",1],["zoomSensitivity",1],["panSensitivity",1],["panMouseButton","left"],["rotateMouseButton","middle"]].forEach(function(w){this[w[0]]=x(n.get(w[0]),w[1])},this),this.minDistance+=d,this.maxDistance+=d,this.minOrthographicSize+=m,this.maxOrthographicSize+=m;var r=n.ecModel,a={};["animation","animationDurationUpdate","animationEasingUpdate"].forEach(function(w){a[w]=x(n.get(w),r&&r.get(w))});var p=x(o.alpha,n.get("alpha"))||0,E=x(o.beta,n.get("beta"))||0,b=x(o.center,n.get("center"))||[0,0,0];a.animation&&a.animationDurationUpdate>0&&this._notFirst?this.animateTo({alpha:p,beta:E,center:b,distance:h,targetOrthographicSize:g,easing:a.animationEasingUpdate,duration:a.animationDurationUpdate}):(this.setDistance(h),this.setAlpha(p),this.setBeta(E),this.setCenter(b),this.setOrthographicSize(g)),this._notFirst=!0,this._validateProperties()},_validateProperties:function(){c[this.panMouseButton]==null&&console.error("Unkown panMouseButton %s. It should be left|middle|right",this.panMouseButton),c[this.rotateMouseButton]==null&&console.error("Unkown rotateMouseButton %s. It should be left|middle|right",this.rotateMouseButton),this.autoRotateDirection!=="cw"&&this.autoRotateDirection!=="ccw"&&console.error("Unkown autoRotateDirection %s. It should be cw|ccw",this.autoRotateDirection)},animateTo:function(n){var o=this.zr,d=this,m={},_={};return n.distance!=null&&(m.distance=this.getDistance(),_.distance=n.distance),n.orthographicSize!=null&&(m.orthographicSize=this.getOrthographicSize(),_.orthographicSize=n.orthographicSize),n.alpha!=null&&(m.alpha=this.getAlpha(),_.alpha=n.alpha),n.beta!=null&&(m.beta=this.getBeta(),_.beta=n.beta),n.center!=null&&(m.center=this.getCenter(),_.center=n.center),this._addAnimator(o.animation.animate(m).when(n.duration||1e3,_).during(function(){m.alpha!=null&&d.setAlpha(m.alpha),m.beta!=null&&d.setBeta(m.beta),m.distance!=null&&d.setDistance(m.distance),m.center!=null&&d.setCenter(m.center),m.orthographicSize!=null&&d.setOrthographicSize(m.orthographicSize),d._needsUpdate=!0})).start(n.easing||"linear")},stopAllAnimation:function(){for(var n=0;n<this._animators.length;n++)this._animators[n].stop();this._animators.length=0},_isAnimating:function(){return this._animators.length>0},_update:function(n){if(this._rotating){var o=(this.autoRotateDirection==="cw"?1:-1)*this.autoRotateSpeed/180*Math.PI;this._phi-=o*n/1e3,this._needsUpdate=!0}else this._rotateVelocity.len()>0&&(this._needsUpdate=!0);(Math.abs(this._zoomSpeed)>.1||this._panVelocity.len()>0)&&(this._needsUpdate=!0),this._needsUpdate&&(n=Math.min(n,50),this._updateDistanceOrSize(n),this._updatePan(n),this._updateRotate(n),this._updateTransform(),this.getCamera().update(),this.zr&&this.zr.refresh(),this.trigger("update"),this._needsUpdate=!1)},_updateRotate:function(n){var o=this._rotateVelocity;this._phi=o.y*n/20+this._phi,this._theta=o.x*n/20+this._theta,this.setAlpha(this.getAlpha()),this.setBeta(this.getBeta()),this._vectorDamping(o,Math.pow(this.damping,n/16))},_updateDistanceOrSize:function(n){this._projection==="perspective"?this._setDistance(this._distance+this._zoomSpeed*n/20):this._setOrthoSize(this._orthoSize+this._zoomSpeed*n/20),this._zoomSpeed*=Math.pow(this.damping,n/16)},_setDistance:function(n){this._distance=Math.max(Math.min(n,this.maxDistance),this.minDistance)},_setOrthoSize:function(n){this._orthoSize=Math.max(Math.min(n,this.maxOrthographicSize),this.minOrthographicSize);var o=this.getCamera(),d=this._orthoSize,m=d/this.viewGL.viewport.height*this.viewGL.viewport.width;o.left=-m/2,o.right=m/2,o.top=d/2,o.bottom=-d/2},_updatePan:function(n){var o=this._panVelocity,d=this._distance,m=this.getCamera(),_=m.worldTransform.y,h=m.worldTransform.x;this._center.scaleAndAdd(h,-o.x*d/200).scaleAndAdd(_,-o.y*d/200),this._vectorDamping(o,0)},_updateTransform:function(){var n=this.getCamera(),o=new L.a,d=this._theta+Math.PI/2,m=this._phi+Math.PI/2,_=Math.sin(d);o.x=_*Math.cos(m),o.y=-Math.cos(d),o.z=_*Math.sin(m),n.position.copy(this._center).scaleAndAdd(o,this._distance),n.rotation.identity().rotateY(-this._phi).rotateX(-this._theta)},_startCountingStill:function(){clearTimeout(this._stillTimeout);var n=this.autoRotateAfterStill,o=this;!isNaN(n)&&n>0&&(this._stillTimeout=setTimeout(function(){o._rotating=!0},n*1e3))},_vectorDamping:function(n,o){var d=n.len();d=d*o,d<1e-4&&(d=0),n.normalize().scale(d)},_decomposeTransform:function(){if(this.getCamera()){this.getCamera().updateWorldTransform();var n=this.getCamera().worldTransform.z,o=Math.asin(n.y),d=Math.atan2(n.x,n.z);this._theta=o,this._phi=-d,this.setBeta(this.getBeta()),this.setAlpha(this.getAlpha()),this.getCamera().aspect?this._setDistance(this.getCamera().position.dist(this._center)):this._setOrthoSize(this.getCamera().top-this.getCamera().bottom)}},_mouseDownHandler:function(n){if(!n.target&&!this._isAnimating()){var o=n.offsetX,d=n.offsetY;this.viewGL&&!this.viewGL.containPoint(o,d)||(this.zr.on("mousemove",this._mouseMoveHandler),this.zr.on("mouseup",this._mouseUpHandler),n.event.targetTouches?n.event.targetTouches.length===1&&(this._mode="rotate"):n.event.button===c[this.rotateMouseButton]?this._mode="rotate":n.event.button===c[this.panMouseButton]?this._mode="pan":this._mode="",this._rotateVelocity.set(0,0),this._rotating=!1,this.autoRotate&&this._startCountingStill(),this._mouseX=n.offsetX,this._mouseY=n.offsetY)}},_mouseMoveHandler:function(n){if(!(n.target&&n.target.__isGLToZRProxy)&&!this._isAnimating()){var o=l(this.panSensitivity),d=l(this.rotateSensitivity);this._mode==="rotate"?(this._rotateVelocity.y=(n.offsetX-this._mouseX)/this.zr.getHeight()*2*d[0],this._rotateVelocity.x=(n.offsetY-this._mouseY)/this.zr.getWidth()*2*d[1]):this._mode==="pan"&&(this._panVelocity.x=(n.offsetX-this._mouseX)/this.zr.getWidth()*o[0]*400,this._panVelocity.y=(-n.offsetY+this._mouseY)/this.zr.getHeight()*o[1]*400),this._mouseX=n.offsetX,this._mouseY=n.offsetY,n.event.preventDefault()}},_mouseWheelHandler:function(n){if(!this._isAnimating()){var o=n.event.wheelDelta||-n.event.detail;this._zoomHandler(n,o)}},_pinchHandler:function(n){this._isAnimating()||(this._zoomHandler(n,n.pinchScale>1?1:-1),this._mode="")},_zoomHandler:function(n,o){if(o!==0){var d=n.offsetX,m=n.offsetY;if(!(this.viewGL&&!this.viewGL.containPoint(d,m))){var _;this._projection==="perspective"?_=Math.max(Math.max(Math.min(this._distance-this.minDistance,this.maxDistance-this._distance))/20,.5):_=Math.max(Math.max(Math.min(this._orthoSize-this.minOrthographicSize,this.maxOrthographicSize-this._orthoSize))/20,.5),this._zoomSpeed=(o>0?-1:1)*_*this.zoomSensitivity,this._rotating=!1,this.autoRotate&&this._mode==="rotate"&&this._startCountingStill(),n.event.preventDefault()}}},_mouseUpHandler:function(){this.zr.off("mousemove",this._mouseMoveHandler),this.zr.off("mouseup",this._mouseUpHandler)},_isRightMouseButtonUsed:function(){return this.rotateMouseButton==="right"||this.panMouseButton==="right"},_contextMenuHandler:function(n){this._isRightMouseButtonUsed()&&n.preventDefault()},_addAnimator:function(n){var o=this._animators;return o.push(n),n.done(function(){var d=o.indexOf(n);d>=0&&o.splice(d,1)}),n}});Object.defineProperty(f.prototype,"autoRotate",{get:function(n){return this._autoRotate},set:function(n){this._autoRotate=n,this._rotating=n}}),X.a=f},function(te,X,S){"use strict";X.a=`@export ecgl.lines3D.vertex
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
attribute vec3 position: POSITION;
attribute vec4 a_Color : COLOR;
varying vec4 v_Color;
void main()
{
gl_Position = worldViewProjection * vec4(position, 1.0);
v_Color = a_Color;
}
@end
@export ecgl.lines3D.fragment
uniform vec4 color : [1.0, 1.0, 1.0, 1.0];
varying vec4 v_Color;
@import clay.util.srgb
void main()
{
#ifdef SRGB_DECODE
gl_FragColor = sRGBToLinear(color * v_Color);
#else
gl_FragColor = color * v_Color;
#endif
}
@end
@export ecgl.lines3D.clipNear
vec4 clipNear(vec4 p1, vec4 p2) {
float n = (p1.w - near) / (p1.w - p2.w);
return vec4(mix(p1.xy, p2.xy, n), -near, near);
}
@end
@export ecgl.lines3D.expandLine
#ifdef VERTEX_ANIMATION
vec4 prevProj = worldViewProjection * vec4(mix(prevPositionPrev, positionPrev, percent), 1.0);
vec4 currProj = worldViewProjection * vec4(mix(prevPosition, position, percent), 1.0);
vec4 nextProj = worldViewProjection * vec4(mix(prevPositionNext, positionNext, percent), 1.0);
#else
vec4 prevProj = worldViewProjection * vec4(positionPrev, 1.0);
vec4 currProj = worldViewProjection * vec4(position, 1.0);
vec4 nextProj = worldViewProjection * vec4(positionNext, 1.0);
#endif
if (currProj.w < 0.0) {
if (nextProj.w > 0.0) {
currProj = clipNear(currProj, nextProj);
}
else if (prevProj.w > 0.0) {
currProj = clipNear(currProj, prevProj);
}
}
vec2 prevScreen = (prevProj.xy / abs(prevProj.w) + 1.0) * 0.5 * viewport.zw;
vec2 currScreen = (currProj.xy / abs(currProj.w) + 1.0) * 0.5 * viewport.zw;
vec2 nextScreen = (nextProj.xy / abs(nextProj.w) + 1.0) * 0.5 * viewport.zw;
vec2 dir;
float len = offset;
if (position == positionPrev) {
dir = normalize(nextScreen - currScreen);
}
else if (position == positionNext) {
dir = normalize(currScreen - prevScreen);
}
else {
vec2 dirA = normalize(currScreen - prevScreen);
vec2 dirB = normalize(nextScreen - currScreen);
vec2 tanget = normalize(dirA + dirB);
float miter = 1.0 / max(dot(tanget, dirA), 0.5);
len *= miter;
dir = tanget;
}
dir = vec2(-dir.y, dir.x) * len;
currScreen += dir;
currProj.xy = (currScreen / viewport.zw - 0.5) * 2.0 * abs(currProj.w);
@end
@export ecgl.meshLines3D.vertex
attribute vec3 position: POSITION;
attribute vec3 positionPrev;
attribute vec3 positionNext;
attribute float offset;
attribute vec4 a_Color : COLOR;
#ifdef VERTEX_ANIMATION
attribute vec3 prevPosition;
attribute vec3 prevPositionPrev;
attribute vec3 prevPositionNext;
uniform float percent : 1.0;
#endif
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
uniform vec4 viewport : VIEWPORT;
uniform float near : NEAR;
varying vec4 v_Color;
@import ecgl.common.wireframe.vertexHeader
@import ecgl.lines3D.clipNear
void main()
{
@import ecgl.lines3D.expandLine
gl_Position = currProj;
v_Color = a_Color;
@import ecgl.common.wireframe.vertexMain
}
@end
@export ecgl.meshLines3D.fragment
uniform vec4 color : [1.0, 1.0, 1.0, 1.0];
varying vec4 v_Color;
@import ecgl.common.wireframe.fragmentHeader
@import clay.util.srgb
void main()
{
#ifdef SRGB_DECODE
gl_FragColor = sRGBToLinear(color * v_Color);
#else
gl_FragColor = color * v_Color;
#endif
@import ecgl.common.wireframe.fragmentMain
}
@end`},function(te,X,S){var K=S(12),y=S(75),L=S(78),A=L.parsePercent,s=S(149),x=K.each,c=["left","right","top","bottom","width","height"],l=[["width","left","right"],["height","top","bottom"]];function f(E,b,w,R,O){var z=0,B=0;R==null&&(R=1/0),O==null&&(O=1/0);var P=0;b.eachChild(function(F,k){var U=F.position,G=F.getBoundingRect(),C=b.childAt(k+1),I=C&&C.getBoundingRect(),H,$;if(E==="horizontal"){var q=G.width+(I?-I.x+G.x:0);H=z+q,H>R||F.newline?(z=0,H=q,B+=P+w,P=G.height):P=Math.max(P,G.height)}else{var se=G.height+(I?-I.y+G.y:0);$=B+se,$>O||F.newline?(z+=P+w,B=0,$=se,P=G.width):P=Math.max(P,G.width)}F.newline||(U[0]=z,U[1]=B,E==="horizontal"?z=H+w:B=$+w)})}var n=f,o=K.curry(f,"vertical"),d=K.curry(f,"horizontal");function m(E,b,w){var R=b.width,O=b.height,z=A(E.x,R),B=A(E.y,O),P=A(E.x2,R),F=A(E.y2,O);return(isNaN(z)||isNaN(parseFloat(E.x)))&&(z=0),(isNaN(P)||isNaN(parseFloat(E.x2)))&&(P=R),(isNaN(B)||isNaN(parseFloat(E.y)))&&(B=0),(isNaN(F)||isNaN(parseFloat(E.y2)))&&(F=O),w=s.normalizeCssArray(w||0),{width:Math.max(P-z-w[1]-w[3],0),height:Math.max(F-B-w[0]-w[2],0)}}function _(E,b,w){w=s.normalizeCssArray(w||0);var R=b.width,O=b.height,z=A(E.left,R),B=A(E.top,O),P=A(E.right,R),F=A(E.bottom,O),k=A(E.width,R),U=A(E.height,O),G=w[2]+w[0],C=w[1]+w[3],I=E.aspect;switch(isNaN(k)&&(k=R-P-C-z),isNaN(U)&&(U=O-F-G-B),I!=null&&(isNaN(k)&&isNaN(U)&&(I>R/O?k=R*.8:U=O*.8),isNaN(k)&&(k=I*U),isNaN(U)&&(U=k/I)),isNaN(z)&&(z=R-P-k-C),isNaN(B)&&(B=O-F-U-G),E.left||E.right){case"center":z=R/2-k/2-w[3];break;case"right":z=R-k-C;break}switch(E.top||E.bottom){case"middle":case"center":B=O/2-U/2-w[0];break;case"bottom":B=O-U-G;break}z=z||0,B=B||0,isNaN(k)&&(k=R-C-z-(P||0)),isNaN(U)&&(U=O-G-B-(F||0));var H=new y(z+w[3],B+w[0],k,U);return H.margin=w,H}function h(E,b,w,R,O){var z=!O||!O.hv||O.hv[0],B=!O||!O.hv||O.hv[1],P=O&&O.boundingMode||"all";if(!(!z&&!B)){var F;if(P==="raw")F=E.type==="group"?new y(0,0,+b.width||0,+b.height||0):E.getBoundingRect();else if(F=E.getBoundingRect(),E.needLocalTransform()){var k=E.getLocalTransform();F=F.clone(),F.applyTransform(k)}b=_(K.defaults({width:F.width,height:F.height},b),w,R);var U=E.position,G=z?b.x-F.x:0,C=B?b.y-F.y:0;E.attr("position",P==="raw"?[G,C]:[U[0]+G,U[1]+C])}}function g(E,b){return E[l[b][0]]!=null||E[l[b][1]]!=null&&E[l[b][2]]!=null}function r(E,b,w){!K.isObject(w)&&(w={});var R=w.ignoreSize;!K.isArray(R)&&(R=[R,R]);var O=B(l[0],0),z=B(l[1],1);k(l[0],E,O),k(l[1],E,z);function B(U,G){var C={},I=0,H={},$=0,q=2;if(x(U,function(me){H[me]=E[me]}),x(U,function(me){P(b,me)&&(C[me]=H[me]=b[me]),F(C,me)&&I++,F(H,me)&&$++}),R[G])return F(b,U[1])?H[U[2]]=null:F(b,U[2])&&(H[U[1]]=null),H;if($===q||!I)return H;if(I>=q)return C;for(var se=0;se<U.length;se++){var ue=U[se];if(!P(C,ue)&&P(E,ue)){C[ue]=E[ue];break}}return C}function P(U,G){return U.hasOwnProperty(G)}function F(U,G){return U[G]!=null&&U[G]!=="auto"}function k(U,G,C){x(U,function(I){G[I]=C[I]})}}function a(E){return p({},E)}function p(E,b){return b&&E&&x(c,function(w){b.hasOwnProperty(w)&&(E[w]=b[w])}),E}X.LOCATION_PARAMS=c,X.HV_NAMES=l,X.box=n,X.vbox=o,X.hbox=d,X.getAvailableSize=m,X.getLayoutRect=_,X.positionElement=h,X.sizeCalculable=g,X.mergeLayoutParam=r,X.getLayoutParams=a,X.copyLayoutParams=p},function(te,X,S){"use strict";var K=S(8),y=K.a.extend(function(){return{name:"",inputLinks:{},outputLinks:{},_prevOutputTextures:{},_outputTextures:{},_outputReferences:{},_rendering:!1,_rendered:!1,_compositor:null}},{updateParameter:function(L,A){var s=this.outputs[L],x=s.parameters,c=s._parametersCopy;if(c||(c=s._parametersCopy={}),x)for(var l in x)l!=="width"&&l!=="height"&&(c[l]=x[l]);var f,n;return x.width instanceof Function?f=x.width.call(this,A):f=x.width,x.height instanceof Function?n=x.height.call(this,A):n=x.height,(c.width!==f||c.height!==n)&&this._outputTextures[L]&&this._outputTextures[L].dispose(A.gl),c.width=f,c.height=n,c},setParameter:function(L,A){},getParameter:function(L){},setParameters:function(L){for(var A in L)this.setParameter(A,L[A])},render:function(){},getOutput:function(L,A){if(A==null)return A=L,this._outputTextures[A];var s=this.outputs[A];if(s)return this._rendered?s.outputLastFrame?this._prevOutputTextures[A]:this._outputTextures[A]:this._rendering?(this._prevOutputTextures[A]||(this._prevOutputTextures[A]=this._compositor.allocateTexture(s.parameters||{})),this._prevOutputTextures[A]):(this.render(L),this._outputTextures[A])},removeReference:function(L){if(this._outputReferences[L]--,this._outputReferences[L]===0){var A=this.outputs[L];A.keepLastFrame?(this._prevOutputTextures[L]&&this._compositor.releaseTexture(this._prevOutputTextures[L]),this._prevOutputTextures[L]=this._outputTextures[L]):this._compositor.releaseTexture(this._outputTextures[L])}},link:function(L,A,s){this.inputLinks[L]={node:A,pin:s},A.outputLinks[s]||(A.outputLinks[s]=[]),A.outputLinks[s].push({node:this,pin:L}),this.pass.material.enableTexture(L)},clear:function(){this.inputLinks={},this.outputLinks={}},updateReference:function(L){if(!this._rendering){this._rendering=!0;for(var A in this.inputLinks){var s=this.inputLinks[A];s.node.updateReference(s.pin)}this._rendering=!1}L&&this._outputReferences[L]++},beforeFrame:function(){this._rendered=!1;for(var L in this.outputLinks)this._outputReferences[L]=0},afterFrame:function(){for(var L in this.outputLinks)if(this._outputReferences[L]>0){var A=this.outputs[L];A.keepLastFrame?(this._prevOutputTextures[L]&&this._compositor.releaseTexture(this._prevOutputTextures[L]),this._prevOutputTextures[L]=this._outputTextures[L]):this._compositor.releaseTexture(this._outputTextures[L])}}});X.a=y},function(te,X,S){"use strict";function K(y,L){for(var A=0,s=1/L,x=y;x>0;)A=A+s*(x%L),x=Math.floor(x/L),s=s/L;return A}X.a=K},function(te,X,S){"use strict";var K=S(0),y=S.n(K);X.a=function(L,A,s){s=s||L.getSource();var x=A||y.a.getCoordinateSystemDimensions(L.get("coordinateSystem"))||["x","y","z"],c=y.a.helper.createDimensions(s,{dimensionsDefine:s.dimensionsDefine||L.get("dimensions"),encodeDefine:s.encodeDefine||L.get("encode"),coordDimensions:x.map(function(f){var n=L.getReferringComponents(f+"Axis3D")[0];return{type:n&&n.get("type")==="category"?"ordinal":"float",name:f,stackable:f==="z"}})});L.get("coordinateSystem")==="cartesian3D"&&c.forEach(function(f){if(x.indexOf(f.coordDim)>=0){var n=L.getReferringComponents(f.coordDim+"Axis3D")[0];n&&n.get("type")==="category"&&(f.ordinalMeta=n.getOrdinalMeta())}});var l=new y.a.List(c,L);return l.initData(s),l}},function(te,X){function S(K,y,L){return{seriesType:K,performRawSeries:!0,reset:function(A,s,x){var c=A.getData(),l=A.get("symbol")||y,f=A.get("symbolSize");if(c.setVisual({legendSymbol:L||l,symbol:l,symbolSize:f}),s.isSeriesFiltered(A))return;var n=typeof f=="function";function o(d,m){if(typeof f=="function"){var _=A.getRawValue(m),h=A.getDataParams(m);d.setItemVisual(m,"symbolSize",f(_,h))}if(d.hasItemOption){var g=d.getItemModel(m),r=g.getShallow("symbol",!0),a=g.getShallow("symbolSize",!0);r!=null&&d.setItemVisual(m,"symbol",r),a!=null&&d.setItemVisual(m,"symbolSize",a)}}return{dataEach:c.hasItemOption||n?o:null}}}}te.exports=S},function(te,X,S){"use strict";var K=S(8),y=S(92),L=S(11),A=S(18),s=S(15),x=S(9),c=S(17),l=S(23),f=S(96),n=S(7),o=S(98),d=S(63),m=S(1),_=S.n(m);n.a.import(o.a),n.a.import(d.a);var h=_.a.mat4,g=_.a.vec3,r=h.create,a={};function p(R){return R.material}function E(){}var b=K.a.extend(function(){return{canvas:null,_width:100,_height:100,devicePixelRatio:window.devicePixelRatio||1,clearColor:[0,0,0,0],clearBit:17664,alpha:!0,depth:!0,stencil:!1,antialias:!0,premultipliedAlpha:!0,preserveDrawingBuffer:!1,throwError:!0,gl:null,viewport:{},__currentFrameBuffer:null,_viewportStack:[],_clearStack:[],_sceneRendering:null}},function(){this.canvas||(this.canvas=document.createElement("canvas"));var R=this.canvas;try{var O={alpha:this.alpha,depth:this.depth,stencil:this.stencil,antialias:this.antialias,premultipliedAlpha:this.premultipliedAlpha,preserveDrawingBuffer:this.preserveDrawingBuffer};if(this.gl=R.getContext("webgl",O)||R.getContext("experimental-webgl",O),!this.gl)throw new Error;this._glinfo=new y.a(this.gl),this.gl.targetRenderer&&console.error("Already created a renderer"),this.gl.targetRenderer=this,this.resize()}catch(z){throw"Error creating WebGL Context "+z}this._programMgr=new f.a(this)},{resize:function(R,O){var z=this.canvas,B=this.devicePixelRatio;R!=null?(z.style.width=R+"px",z.style.height=O+"px",z.width=R*B,z.height=O*B,this._width=R,this._height=O):(this._width=z.width/B,this._height=z.height/B),this.setViewport(0,0,this._width,this._height)},getWidth:function(){return this._width},getHeight:function(){return this._height},getViewportAspect:function(){var R=this.viewport;return R.width/R.height},setDevicePixelRatio:function(R){this.devicePixelRatio=R,this.resize(this._width,this._height)},getDevicePixelRatio:function(){return this.devicePixelRatio},getGLExtension:function(R){return this._glinfo.getExtension(R)},getGLParameter:function(R){return this._glinfo.getParameter(R)},setViewport:function(R,O,z,B,P){if(typeof R=="object"){var F=R;R=F.x,O=F.y,z=F.width,B=F.height,P=F.devicePixelRatio}P=P||this.devicePixelRatio,this.gl.viewport(R*P,O*P,z*P,B*P),this.viewport={x:R,y:O,width:z,height:B,devicePixelRatio:P}},saveViewport:function(){this._viewportStack.push(this.viewport)},restoreViewport:function(){this._viewportStack.length>0&&this.setViewport(this._viewportStack.pop())},saveClear:function(){this._clearStack.push({clearBit:this.clearBit,clearColor:this.clearColor})},restoreClear:function(){if(this._clearStack.length>0){var R=this._clearStack.pop();this.clearColor=R.clearColor,this.clearBit=R.clearBit}},bindSceneRendering:function(R){this._sceneRendering=R},render:function(R,O,z,B){var P=this.gl,F=this.clearColor;if(this.clearBit){P.colorMask(!0,!0,!0,!0),P.depthMask(!0);var k=this.viewport,U=!1,G=k.devicePixelRatio;(k.width!==this._width||k.height!==this._height||G&&G!==this.devicePixelRatio||k.x||k.y)&&(U=!0,P.enable(P.SCISSOR_TEST),P.scissor(k.x*G,k.y*G,k.width*G,k.height*G)),P.clearColor(F[0],F[1],F[2],F[3]),P.clear(this.clearBit),U&&P.disable(P.SCISSOR_TEST)}if(z||R.update(!1),O=O||R.getMainCamera(),!O){console.error("Can't find camera in the scene.");return}O.getScene()||O.update(!0),this._sceneRendering=R,R.viewBoundingBoxLastFrame.min.set(1/0,1/0,1/0),R.viewBoundingBoxLastFrame.max.set(-1/0,-1/0,-1/0);var C=this.cullRenderList(R.opaqueList,R,O),I=this.cullRenderList(R.transparentList,R,O),H=R.material;R.trigger("beforerender",this,R,O),B?(this.renderPreZ(C,R,O),P.depthFunc(P.LEQUAL)):P.depthFunc(P.LESS);for(var $=r(),q=g.create(),se=0;se<I.length;se++){var ue=I[se];h.multiplyAffine($,O.viewMatrix.array,ue.worldTransform.array),g.transformMat4(q,ue.position.array,$),ue.__depth=q[2]}var me=this.renderPass(C,O,{getMaterial:function(Ke){return H||Ke.material},sortCompare:this.opaqueSortCompare}),Ee=this.renderPass(I,O,{getMaterial:function(Ke){return H||Ke.material},sortCompare:this.transparentSortCompare}),Le={};for(var Fe in me)Le[Fe]=me[Fe]+Ee[Fe];return R.trigger("afterrender",this,R,O,Le),this._sceneRendering=null,Le},getProgram:function(R,O,z){return O=O||R.material,this._programMgr.getProgram(R,O,z)},validateProgram:function(R){if(R.__error){var O=R.__error;if(a[R.__uid__])return;if(a[R.__uid__]=!0,this.throwError)throw new Error(O);this.trigger("error",O)}},updatePrograms:function(R,O,z){var B=z&&z.getMaterial||p;O=O||null;for(var P=0;P<R.length;P++){var F=R[P],k=B.call(this,F);if(P>0){var U=R[P-1],G=U.joints?U.joints.length:0,C=F.joints.length?F.joints.length:0;if(C===G&&F.material===U.material&&F.lightGroup===U.lightGroup){F.__program=U.__program;continue}}var I=this._programMgr.getProgram(F,k,O);this.validateProgram(I),F.__program=I}},cullRenderList:function(R,O,z){for(var B=[],P=0;P<R.length;P++){var F=R[P],k=F.isSkinnedMesh()?w.IDENTITY:F.worldTransform.array,U=F.geometry;h.multiplyAffine(w.WORLDVIEW,z.viewMatrix.array,k),!(U.boundingBox&&this.isFrustumCulled(F,O,z,w.WORLDVIEW,z.projectionMatrix.array))&&B.push(F)}return B},renderPass:function(R,O,z){this.trigger("beforerenderpass",this,R,O,z);var B={triangleCount:0,vertexCount:0,drawCallCount:0,meshCount:R.length,renderedMeshCount:0};z=z||{},z.getMaterial=z.getMaterial||p,z.beforeRender=z.beforeRender||E,z.afterRender=z.afterRender||E,this.updatePrograms(R,this._sceneRendering,z),z.sortCompare&&R.sort(z.sortCompare);var P=this.viewport,F=P.devicePixelRatio,k=[P.x*F,P.y*F,P.width*F,P.height*F],U=this.devicePixelRatio,G=this.__currentFrameBuffer?[this.__currentFrameBuffer.getTextureWidth(),this.__currentFrameBuffer.getTextureHeight()]:[this._width*U,this._height*U],C=[k[2],k[3]],I=Date.now();h.copy(w.VIEW,O.viewMatrix.array),h.copy(w.PROJECTION,O.projectionMatrix.array),h.multiply(w.VIEWPROJECTION,O.projectionMatrix.array,w.VIEW),h.copy(w.VIEWINVERSE,O.worldTransform.array),h.invert(w.PROJECTIONINVERSE,w.PROJECTION),h.invert(w.VIEWPROJECTIONINVERSE,w.VIEWPROJECTION);for(var H=this.gl,$=this._sceneRendering,q,se,ue,me,Ee,Le,Fe,Ke,Te=0;Te<R.length;Te++){var We=R[Te];if(!(z.ifRender&&!z.ifRender(We))){var Ce=We.isSkinnedMesh()?w.IDENTITY:We.worldTransform.array,De=z.getMaterial.call(this,We),ge=We.__program,Re=De.shader;h.copy(w.WORLD,Ce),h.multiply(w.WORLDVIEWPROJECTION,w.VIEWPROJECTION,Ce),(Re.matrixSemantics.WORLDINVERSE||Re.matrixSemantics.WORLDINVERSETRANSPOSE)&&h.invert(w.WORLDINVERSE,Ce),(Re.matrixSemantics.WORLDVIEWINVERSE||Re.matrixSemantics.WORLDVIEWINVERSETRANSPOSE)&&h.invert(w.WORLDVIEWINVERSE,w.WORLDVIEW),(Re.matrixSemantics.WORLDVIEWPROJECTIONINVERSE||Re.matrixSemantics.WORLDVIEWPROJECTIONINVERSETRANSPOSE)&&h.invert(w.WORLDVIEWPROJECTIONINVERSE,w.WORLDVIEWPROJECTION),We.beforeRender(this),z.beforeRender.call(this,We,De,q);var ve=ge!==se;ve?(ge.bind(this),ge.setUniformOfSemantic(H,"VIEWPORT",k),ge.setUniformOfSemantic(H,"WINDOW_SIZE",G),ge.setUniformOfSemantic(H,"NEAR",O.near),ge.setUniformOfSemantic(H,"FAR",O.far),ge.setUniformOfSemantic(H,"DEVICEPIXELRATIO",F),ge.setUniformOfSemantic(H,"TIME",I),ge.setUniformOfSemantic(H,"VIEWPORT_SIZE",C),$&&$.setLightUniforms(ge,We.lightGroup,this)):ge=se,(q!==De||ve)&&(De.depthTest!==ue&&(De.depthTest?H.enable(H.DEPTH_TEST):H.disable(H.DEPTH_TEST),ue=De.depthTest),De.depthMask!==me&&(H.depthMask(De.depthMask),me=De.depthMask),De.transparent!==Ke&&(De.transparent?H.enable(H.BLEND):H.disable(H.BLEND),Ke=De.transparent),De.transparent&&(De.blend?De.blend(H):(H.blendEquationSeparate(H.FUNC_ADD,H.FUNC_ADD),H.blendFuncSeparate(H.SRC_ALPHA,H.ONE_MINUS_SRC_ALPHA,H.ONE,H.ONE_MINUS_SRC_ALPHA))),De.bind(this,ge,q,se),q=De);for(var we=Re.matrixSemanticKeys,Ue=0;Ue<we.length;Ue++){var de=we[Ue],oe=Re.matrixSemantics[de],ne=w[de];if(oe.isTranspose){var ce=w[oe.semanticNoTranspose];h.transpose(ne,ce)}ge.setUniform(H,oe.type,oe.symbol,ne)}We.cullFace!==Le&&(Le=We.cullFace,H.cullFace(Le)),We.frontFace!==Fe&&(Fe=We.frontFace,H.frontFace(Fe)),We.culling!==Ee&&(Ee=We.culling,Ee?H.enable(H.CULL_FACE):H.disable(H.CULL_FACE));var ye=We.render(this,De,ge);ye&&(B.triangleCount+=ye.triangleCount,B.vertexCount+=ye.vertexCount,B.drawCallCount+=ye.drawCallCount,B.renderedMeshCount++),z.afterRender.call(this,We,ye),We.afterRender(this,ye),se=ge}}for(var Te=0;Te<R.length;Te++)R[Te].__program=null;return this.trigger("afterrenderpass",this,R,O,z),B},renderPreZ:function(R,O,z){var B=this.gl,P=this._prezMaterial||new c.a({shader:new n.a(n.a.source("clay.prez.vertex"),n.a.source("clay.prez.fragment"))});this._prezMaterial=P,B.colorMask(!1,!1,!1,!1),B.depthMask(!0),this.renderPass(R,z,{ifRender:function(F){return!F.ignorePreZ},getMaterial:function(){return P},sort:this.opaqueSortCompare}),B.colorMask(!0,!0,!0,!0),B.depthMask(!0)},isFrustumCulled:function(){var R=new s.a,O=new x.a;return function(z,B,P,F,k){var U=z.boundingBox||z.geometry.boundingBox;if(O.array=F,R.copy(U),R.applyTransform(O),B&&z.isRenderable()&&z.castShadow&&B.viewBoundingBoxLastFrame.union(R),z.frustumCulling&&!z.isSkinnedMesh()){if(!R.intersectBoundingBox(P.frustum.boundingBox))return!0;O.array=k,R.max.array[2]>0&&R.min.array[2]<0&&(R.max.array[2]=-1e-20),R.applyProjection(O);var G=R.min.array,C=R.max.array;if(C[0]<-1||G[0]>1||C[1]<-1||G[1]>1||C[2]<-1||G[2]>1)return!0}return!1}}(),disposeScene:function(R){this.disposeNode(R,!0,!0),R.dispose()},disposeNode:function(R,O,z){R.getParent()&&R.getParent().remove(R),R.traverse(function(B){B.geometry&&O&&B.geometry.dispose(this),B.dispose&&B.dispose(this)},this)},disposeGeometry:function(R){R.dispose(this)},disposeTexture:function(R){R.dispose(this)},disposeFrameBuffer:function(R){R.dispose(this)},dispose:function(){},screenToNDC:function(R,O,z){z||(z=new l.a),O=this._height-O;var B=this.viewport,P=z.array;return P[0]=(R-B.x)/B.width,P[0]=P[0]*2-1,P[1]=(O-B.y)/B.height,P[1]=P[1]*2-1,z}});b.opaqueSortCompare=b.prototype.opaqueSortCompare=function(R,O){return R.renderOrder===O.renderOrder?R.__program===O.__program?R.material===O.material?R.geometry.__uid__-O.geometry.__uid__:R.material.__uid__-O.material.__uid__:R.__program&&O.__program?R.__program.__uid__-O.__program.__uid__:0:R.renderOrder-O.renderOrder},b.transparentSortCompare=b.prototype.transparentSortCompare=function(R,O){return R.renderOrder===O.renderOrder?R.__depth===O.__depth?R.__program===O.__program?R.material===O.material?R.geometry.__uid__-O.geometry.__uid__:R.material.__uid__-O.material.__uid__:R.__program&&O.__program?R.__program.__uid__-O.__program.__uid__:0:R.__depth-O.__depth:R.renderOrder-O.renderOrder};var w={IDENTITY:r(),WORLD:r(),VIEW:r(),PROJECTION:r(),WORLDVIEW:r(),VIEWPROJECTION:r(),WORLDVIEWPROJECTION:r(),WORLDINVERSE:r(),VIEWINVERSE:r(),PROJECTIONINVERSE:r(),WORLDVIEWINVERSE:r(),VIEWPROJECTIONINVERSE:r(),WORLDVIEWPROJECTIONINVERSE:r(),WORLDTRANSPOSE:r(),VIEWTRANSPOSE:r(),PROJECTIONTRANSPOSE:r(),WORLDVIEWTRANSPOSE:r(),VIEWPROJECTIONTRANSPOSE:r(),WORLDVIEWPROJECTIONTRANSPOSE:r(),WORLDINVERSETRANSPOSE:r(),VIEWINVERSETRANSPOSE:r(),PROJECTIONINVERSETRANSPOSE:r(),WORLDVIEWINVERSETRANSPOSE:r(),VIEWPROJECTIONINVERSETRANSPOSE:r(),WORLDVIEWPROJECTIONINVERSETRANSPOSE:r()};b.COLOR_BUFFER_BIT=L.a.COLOR_BUFFER_BIT,b.DEPTH_BUFFER_BIT=L.a.DEPTH_BUFFER_BIT,b.STENCIL_BUFFER_BIT=L.a.STENCIL_BUFFER_BIT,X.a=b},function(te,X,S){"use strict";function K(L,A){this.action=L,this.context=A}var y={trigger:function(L){if(this.hasOwnProperty("__handlers__")&&this.__handlers__.hasOwnProperty(L)){var A=this.__handlers__[L],s=A.length,x=-1,c=arguments;switch(c.length){case 1:for(;++x<s;)A[x].action.call(A[x].context);return;case 2:for(;++x<s;)A[x].action.call(A[x].context,c[1]);return;case 3:for(;++x<s;)A[x].action.call(A[x].context,c[1],c[2]);return;case 4:for(;++x<s;)A[x].action.call(A[x].context,c[1],c[2],c[3]);return;case 5:for(;++x<s;)A[x].action.call(A[x].context,c[1],c[2],c[3],c[4]);return;default:for(;++x<s;)A[x].action.apply(A[x].context,Array.prototype.slice.call(c,1));return}}},on:function(L,A,s){if(!(!L||!A)){var x=this.__handlers__||(this.__handlers__={});if(!x[L])x[L]=[];else if(this.has(L,A))return;var c=new K(A,s||this);return x[L].push(c),this}},once:function(L,A,s){if(!L||!A)return;var x=this;function c(){x.off(L,c),A.apply(this,arguments)}return this.on(L,c,s)},before:function(L,A,s){if(!(!L||!A))return L="before"+L,this.on(L,A,s)},after:function(L,A,s){if(!(!L||!A))return L="after"+L,this.on(L,A,s)},success:function(L,A){return this.once("success",L,A)},error:function(L,A){return this.once("error",L,A)},off:function(L,A){var s=this.__handlers__||(this.__handlers__={});if(!A){s[L]=[];return}if(s[L]){for(var x=s[L],c=[],l=0;l<x.length;l++)A&&x[l].action!==A&&c.push(x[l]);s[L]=c}return this},has:function(L,A){var s=this.__handlers__;if(!s||!s[L])return!1;for(var x=s[L],c=0;c<x.length;c++)if(x[c].action===A)return!0}};X.a=y},function(te,X,S){"use strict";var K="__dt__",y=function(){this._contextId=0,this._caches=[],this._context={}};y.prototype={use:function(L,A){var s=this._caches;s[L]||(s[L]={},A&&(s[L]=A())),this._contextId=L,this._context=s[L]},put:function(L,A){this._context[L]=A},get:function(L){return this._context[L]},dirty:function(L){L=L||"";var A=K+L;this.put(A,!0)},dirtyAll:function(L){L=L||"";for(var A=K+L,s=this._caches,x=0;x<s.length;x++)s[x]&&(s[x][A]=!0)},fresh:function(L){L=L||"";var A=K+L;this.put(A,!1)},freshAll:function(L){L=L||"";for(var A=K+L,s=this._caches,x=0;x<s.length;x++)s[x]&&(s[x][A]=!1)},isDirty:function(L){L=L||"";var A=K+L,s=this._context;return!s.hasOwnProperty(A)||s[A]===!0},deleteContext:function(L){delete this._caches[L],this._context={}},delete:function(L){delete this._context[L]},clearAll:function(){this._caches={}},getContext:function(){return this._context},eachContext:function(L,A){var s=Object.keys(this._caches);s.forEach(function(x){L&&L.call(A,x)})},miss:function(L){return!this._context.hasOwnProperty(L)}},y.prototype.constructor=y,X.a=y},function(te,X,S){"use strict";var K=S(4),y=S(1),L=S.n(y),A=L.a.vec3,s=1e-5,x=function(c,l){this.origin=c||new K.a,this.direction=l||new K.a};x.prototype={constructor:x,intersectPlane:function(c,l){var f=c.normal.array,n=c.distance,o=this.origin.array,d=this.direction.array,m=A.dot(f,d);if(m===0)return null;l||(l=new K.a);var _=(A.dot(f,o)-n)/m;return A.scaleAndAdd(l.array,o,d,-_),l._dirty=!0,l},mirrorAgainstPlane:function(c){var l=A.dot(c.normal.array,this.direction.array);A.scaleAndAdd(this.direction.array,this.direction.array,c.normal.array,-l*2),this.direction._dirty=!0},distanceToPoint:function(){var c=A.create();return function(l){A.sub(c,l,this.origin.array);var f=A.dot(c,this.direction.array);if(f<0)return A.distance(this.origin.array,l);var n=A.lenSquared(c);return Math.sqrt(n-f*f)}}(),intersectSphere:function(){var c=A.create();return function(l,f,n){var o=this.origin.array,d=this.direction.array;l=l.array,A.sub(c,l,o);var m=A.dot(c,d),_=A.squaredLength(c),h=_-m*m,g=f*f;if(!(h>g)){var r=Math.sqrt(g-h),a=m-r,p=m+r;return n||(n=new K.a),a<0?p<0?null:(A.scaleAndAdd(n.array,o,d,p),n):(A.scaleAndAdd(n.array,o,d,a),n)}}}(),intersectBoundingBox:function(c,l){var f=this.direction.array,n=this.origin.array,o=c.min.array,d=c.max.array,m=1/f[0],_=1/f[1],h=1/f[2],g,r,a,p,E,b;if(m>=0?(g=(o[0]-n[0])*m,r=(d[0]-n[0])*m):(r=(o[0]-n[0])*m,g=(d[0]-n[0])*m),_>=0?(a=(o[1]-n[1])*_,p=(d[1]-n[1])*_):(p=(o[1]-n[1])*_,a=(d[1]-n[1])*_),g>p||a>r||((a>g||g!==g)&&(g=a),(p<r||r!==r)&&(r=p),h>=0?(E=(o[2]-n[2])*h,b=(d[2]-n[2])*h):(b=(o[2]-n[2])*h,E=(d[2]-n[2])*h),g>b||E>r)||((E>g||g!==g)&&(g=E),(b<r||r!==r)&&(r=b),r<0))return null;var w=g>=0?g:r;return l||(l=new K.a),A.scaleAndAdd(l.array,n,f,w),l},intersectTriangle:function(){var c=A.create(),l=A.create(),f=A.create(),n=A.create();return function(o,d,m,_,h,g){var r=this.direction.array,a=this.origin.array;o=o.array,d=d.array,m=m.array,A.sub(c,d,o),A.sub(l,m,o),A.cross(n,l,r);var p=A.dot(c,n);if(_){if(p>-s)return null}else if(p>-s&&p<s)return null;A.sub(f,a,o);var E=A.dot(n,f)/p;if(E<0||E>1)return null;A.cross(n,c,f);var b=A.dot(r,n)/p;if(b<0||b>1||E+b>1)return null;A.cross(n,c,l);var w=-A.dot(f,n)/p;return w<0?null:(h||(h=new K.a),g&&K.a.set(g,1-E-b,E,b),A.scaleAndAdd(h.array,a,r,w),h)}}(),applyTransform:function(c){K.a.add(this.direction,this.direction,this.origin),K.a.transformMat4(this.origin,this.origin,c),K.a.transformMat4(this.direction,this.direction,c),K.a.sub(this.direction,this.direction,this.origin),K.a.normalize(this.direction,this.direction)},copy:function(c){K.a.copy(this.origin,c.origin),K.a.copy(this.direction,c.direction)},clone:function(){var c=new x;return c.copy(this),c}},X.a=x},function(te,X,S){"use strict";var K=S(1),y=S.n(K),L=y.a.quat,A=function(c,l,f,n){c=c||0,l=l||0,f=f||0,n=n===void 0?1:n,this.array=L.fromValues(c,l,f,n),this._dirty=!0};A.prototype={constructor:A,add:function(c){return L.add(this.array,this.array,c.array),this._dirty=!0,this},calculateW:function(){return L.calculateW(this.array,this.array),this._dirty=!0,this},set:function(c,l,f,n){return this.array[0]=c,this.array[1]=l,this.array[2]=f,this.array[3]=n,this._dirty=!0,this},setArray:function(c){return this.array[0]=c[0],this.array[1]=c[1],this.array[2]=c[2],this.array[3]=c[3],this._dirty=!0,this},clone:function(){return new A(this.x,this.y,this.z,this.w)},conjugate:function(){return L.conjugate(this.array,this.array),this._dirty=!0,this},copy:function(c){return L.copy(this.array,c.array),this._dirty=!0,this},dot:function(c){return L.dot(this.array,c.array)},fromMat3:function(c){return L.fromMat3(this.array,c.array),this._dirty=!0,this},fromMat4:function(){var c=y.a.mat3,l=c.create();return function(f){return c.fromMat4(l,f.array),c.transpose(l,l),L.fromMat3(this.array,l),this._dirty=!0,this}}(),identity:function(){return L.identity(this.array),this._dirty=!0,this},invert:function(){return L.invert(this.array,this.array),this._dirty=!0,this},len:function(){return L.len(this.array)},length:function(){return L.length(this.array)},lerp:function(c,l,f){return L.lerp(this.array,c.array,l.array,f),this._dirty=!0,this},mul:function(c){return L.mul(this.array,this.array,c.array),this._dirty=!0,this},mulLeft:function(c){return L.multiply(this.array,c.array,this.array),this._dirty=!0,this},multiply:function(c){return L.multiply(this.array,this.array,c.array),this._dirty=!0,this},multiplyLeft:function(c){return L.multiply(this.array,c.array,this.array),this._dirty=!0,this},normalize:function(){return L.normalize(this.array,this.array),this._dirty=!0,this},rotateX:function(c){return L.rotateX(this.array,this.array,c),this._dirty=!0,this},rotateY:function(c){return L.rotateY(this.array,this.array,c),this._dirty=!0,this},rotateZ:function(c){return L.rotateZ(this.array,this.array,c),this._dirty=!0,this},rotationTo:function(c,l){return L.rotationTo(this.array,c.array,l.array),this._dirty=!0,this},setAxes:function(c,l,f){return L.setAxes(this.array,c.array,l.array,f.array),this._dirty=!0,this},setAxisAngle:function(c,l){return L.setAxisAngle(this.array,c.array,l),this._dirty=!0,this},slerp:function(c,l,f){return L.slerp(this.array,c.array,l.array,f),this._dirty=!0,this},sqrLen:function(){return L.sqrLen(this.array)},squaredLength:function(){return L.squaredLength(this.array)},fromEuler:function(c,l){return A.fromEuler(this,c,l)},toString:function(){return"["+Array.prototype.join.call(this.array,",")+"]"},toArray:function(){return Array.prototype.slice.call(this.array)}};var s=Object.defineProperty;if(s){var x=A.prototype;s(x,"x",{get:function(){return this.array[0]},set:function(c){this.array[0]=c,this._dirty=!0}}),s(x,"y",{get:function(){return this.array[1]},set:function(c){this.array[1]=c,this._dirty=!0}}),s(x,"z",{get:function(){return this.array[2]},set:function(c){this.array[2]=c,this._dirty=!0}}),s(x,"w",{get:function(){return this.array[3]},set:function(c){this.array[3]=c,this._dirty=!0}})}A.add=function(c,l,f){return L.add(c.array,l.array,f.array),c._dirty=!0,c},A.set=function(c,l,f,n,o){L.set(c.array,l,f,n,o),c._dirty=!0},A.copy=function(c,l){return L.copy(c.array,l.array),c._dirty=!0,c},A.calculateW=function(c,l){return L.calculateW(c.array,l.array),c._dirty=!0,c},A.conjugate=function(c,l){return L.conjugate(c.array,l.array),c._dirty=!0,c},A.identity=function(c){return L.identity(c.array),c._dirty=!0,c},A.invert=function(c,l){return L.invert(c.array,l.array),c._dirty=!0,c},A.dot=function(c,l){return L.dot(c.array,l.array)},A.len=function(c){return L.length(c.array)},A.lerp=function(c,l,f,n){return L.lerp(c.array,l.array,f.array,n),c._dirty=!0,c},A.slerp=function(c,l,f,n){return L.slerp(c.array,l.array,f.array,n),c._dirty=!0,c},A.mul=function(c,l,f){return L.multiply(c.array,l.array,f.array),c._dirty=!0,c},A.multiply=A.mul,A.rotateX=function(c,l,f){return L.rotateX(c.array,l.array,f),c._dirty=!0,c},A.rotateY=function(c,l,f){return L.rotateY(c.array,l.array,f),c._dirty=!0,c},A.rotateZ=function(c,l,f){return L.rotateZ(c.array,l.array,f),c._dirty=!0,c},A.setAxisAngle=function(c,l,f){return L.setAxisAngle(c.array,l.array,f),c._dirty=!0,c},A.normalize=function(c,l){return L.normalize(c.array,l.array),c._dirty=!0,c},A.sqrLen=function(c){return L.sqrLen(c.array)},A.squaredLength=A.sqrLen,A.fromMat3=function(c,l){return L.fromMat3(c.array,l.array),c._dirty=!0,c},A.setAxes=function(c,l,f,n){return L.setAxes(c.array,l.array,f.array,n.array),c._dirty=!0,c},A.rotationTo=function(c,l,f){return L.rotationTo(c.array,l.array,f.array),c._dirty=!0,c},A.fromEuler=function(c,l,r){c._dirty=!0,l=l.array;var n=c.array,o=Math.cos(l[0]/2),d=Math.cos(l[1]/2),m=Math.cos(l[2]/2),_=Math.sin(l[0]/2),h=Math.sin(l[1]/2),g=Math.sin(l[2]/2),r=(r||"XYZ").toUpperCase();switch(r){case"XYZ":n[0]=_*d*m+o*h*g,n[1]=o*h*m-_*d*g,n[2]=o*d*g+_*h*m,n[3]=o*d*m-_*h*g;break;case"YXZ":n[0]=_*d*m+o*h*g,n[1]=o*h*m-_*d*g,n[2]=o*d*g-_*h*m,n[3]=o*d*m+_*h*g;break;case"ZXY":n[0]=_*d*m-o*h*g,n[1]=o*h*m+_*d*g,n[2]=o*d*g+_*h*m,n[3]=o*d*m-_*h*g;break;case"ZYX":n[0]=_*d*m-o*h*g,n[1]=o*h*m+_*d*g,n[2]=o*d*g-_*h*m,n[3]=o*d*m+_*h*g;break;case"YZX":n[0]=_*d*m+o*h*g,n[1]=o*h*m+_*d*g,n[2]=o*d*g-_*h*m,n[3]=o*d*m-_*h*g;break;case"XZY":n[0]=_*d*m-o*h*g,n[1]=o*h*m-_*d*g,n[2]=o*d*g+_*h*m,n[3]=o*d*m+_*h*g;break}},X.a=A},function(te,X,S){"use strict";var K=S(28),y=S(9),L=S(52),A=S(49),s=S(1),x=S.n(s),c=x.a.vec3,l=x.a.vec4,f=K.a.extend(function(){return{projectionMatrix:new y.a,invProjectionMatrix:new y.a,viewMatrix:new y.a,frustum:new L.a}},function(){this.update(!0)},{update:function(n){K.a.prototype.update.call(this,n),y.a.invert(this.viewMatrix,this.worldTransform),this.updateProjectionMatrix(),y.a.invert(this.invProjectionMatrix,this.projectionMatrix),this.frustum.setFromProjection(this.projectionMatrix)},setViewMatrix:function(n){y.a.copy(this.viewMatrix,n),y.a.invert(this.worldTransform,n),this.decomposeWorldTransform()},decomposeProjectionMatrix:function(){},setProjectionMatrix:function(n){y.a.copy(this.projectionMatrix,n),y.a.invert(this.invProjectionMatrix,n),this.decomposeProjectionMatrix()},updateProjectionMatrix:function(){},castRay:function(){var n=l.create();return function(o,d){var m=d!==void 0?d:new A.a,_=o.array[0],h=o.array[1];return l.set(n,_,h,-1,1),l.transformMat4(n,n,this.invProjectionMatrix.array),l.transformMat4(n,n,this.worldTransform.array),c.scale(m.origin.array,n,1/n[3]),l.set(n,_,h,1,1),l.transformMat4(n,n,this.invProjectionMatrix.array),l.transformMat4(n,n,this.worldTransform.array),c.scale(n,n,1/n[3]),c.sub(m.direction.array,n,m.origin.array),c.normalize(m.direction.array,m.direction.array),m.direction._dirty=!0,m.origin._dirty=!0,m}}()});X.a=f},function(te,X,S){"use strict";var K=S(4),y=S(15),L=S(67),A=S(1),s=S.n(A),x=s.a.vec3,c=x.set,l=x.copy,f=x.transformMat4,n=Math.min,o=Math.max,d=function(){this.planes=[];for(var m=0;m<6;m++)this.planes.push(new L.a);this.boundingBox=new y.a,this.vertices=[];for(var m=0;m<8;m++)this.vertices[m]=x.fromValues(0,0,0)};d.prototype={setFromProjection:function(m){var _=this.planes,h=m.array,g=h[0],r=h[1],a=h[2],p=h[3],E=h[4],b=h[5],w=h[6],R=h[7],O=h[8],z=h[9],B=h[10],P=h[11],F=h[12],k=h[13],U=h[14],G=h[15];c(_[0].normal.array,p-g,R-E,P-O),_[0].distance=-(G-F),_[0].normalize(),c(_[1].normal.array,p+g,R+E,P+O),_[1].distance=-(G+F),_[1].normalize(),c(_[2].normal.array,p+r,R+b,P+z),_[2].distance=-(G+k),_[2].normalize(),c(_[3].normal.array,p-r,R-b,P-z),_[3].distance=-(G-k),_[3].normalize(),c(_[4].normal.array,p-a,R-w,P-B),_[4].distance=-(G-U),_[4].normalize(),c(_[5].normal.array,p+a,R+w,P+B),_[5].distance=-(G+U),_[5].normalize();var C=this.boundingBox;if(G===0){var I=b/g,H=-U/(B-1),$=-U/(B+1),q=-$/b,se=-H/b;C.min.set(-q*I,-q,$),C.max.set(q*I,q,H);var ue=this.vertices;c(ue[0],-q*I,-q,$),c(ue[1],-q*I,q,$),c(ue[2],q*I,-q,$),c(ue[3],q*I,q,$),c(ue[4],-se*I,-se,H),c(ue[5],-se*I,se,H),c(ue[6],se*I,-se,H),c(ue[7],se*I,se,H)}else{var me=(-1-F)/g,Ee=(1-F)/g,Le=(1-k)/b,Fe=(-1-k)/b,Ke=(-1-U)/B,Te=(1-U)/B;C.min.set(Math.min(me,Ee),Math.min(Fe,Le),Math.min(Te,Ke)),C.max.set(Math.max(Ee,me),Math.max(Le,Fe),Math.max(Ke,Te));var We=C.min.array,Ce=C.max.array,ue=this.vertices;c(ue[0],We[0],We[1],We[2]),c(ue[1],We[0],Ce[1],We[2]),c(ue[2],Ce[0],We[1],We[2]),c(ue[3],Ce[0],Ce[1],We[2]),c(ue[4],We[0],We[1],Ce[2]),c(ue[5],We[0],Ce[1],Ce[2]),c(ue[6],Ce[0],We[1],Ce[2]),c(ue[7],Ce[0],Ce[1],Ce[2])}},getTransformedBoundingBox:function(){var m=x.create();return function(_,h){var g=this.vertices,r=h.array,a=_.min,p=_.max,E=a.array,b=p.array,w=g[0];f(m,w,r),l(E,m),l(b,m);for(var R=1;R<8;R++)w=g[R],f(m,w,r),E[0]=n(m[0],E[0]),E[1]=n(m[1],E[1]),E[2]=n(m[2],E[2]),b[0]=o(m[0],b[0]),b[1]=o(m[1],b[1]),b[2]=o(m[2],b[2]);return a._dirty=!0,p._dirty=!0,_}}()},X.a=d},function(te,X){var S=function(){this.head=null,this.tail=null,this._len=0},K=S.prototype;K.insert=function(x){var c=new y(x);return this.insertEntry(c),c},K.insertEntry=function(x){this.head?(this.tail.next=x,x.prev=this.tail,x.next=null,this.tail=x):this.head=this.tail=x,this._len++},K.remove=function(x){var c=x.prev,l=x.next;c?c.next=l:this.head=l,l?l.prev=c:this.tail=c,x.next=x.prev=null,this._len--},K.len=function(){return this._len},K.clear=function(){this.head=this.tail=null,this._len=0};var y=function(x){this.value=x,this.next,this.prev},L=function(x){this._list=new S,this._map={},this._maxSize=x||10,this._lastRemovedEntry=null},A=L.prototype;A.put=function(x,c){var l=this._list,f=this._map,n=null;if(f[x]==null){var o=l.len(),d=this._lastRemovedEntry;if(o>=this._maxSize&&o>0){var m=l.head;l.remove(m),delete f[m.key],n=m.value,this._lastRemovedEntry=m}d?d.value=c:d=new y(c),d.key=x,l.insertEntry(d),f[x]=d}return n},A.get=function(x){var c=this._map[x],l=this._list;if(c!=null)return c!==l.tail&&(l.remove(c),l.insertEntry(c)),c.value},A.clear=function(){this._list.clear(),this._map={}};var s=L;te.exports=s},function(te,X,S){"use strict";var K=S(5),y=S(25),L=S(102),A=S(55),s=S(56),x=S(29),c=S(104),l=S(105),f={loadTexture:function(n,o,d,m){var _;if(typeof o=="function"?(d=o,m=d,o={}):o=o||{},typeof n=="string"){if(n.match(/.hdr$/)||o.fileType==="hdr")return _=new K.a({width:0,height:0,sRGB:!1}),f._fetchTexture(n,function(h){l.a.parseRGBE(h,_,o.exposure),_.dirty(),d&&d(_)},m),_;n.match(/.dds$/)||o.fileType==="dds"?(_=new K.a({width:0,height:0}),f._fetchTexture(n,function(h){c.a.parse(h,_),_.dirty(),d&&d(_)},m)):(_=new K.a,_.load(n),_.success(d),_.error(m))}else if(typeof n=="object"&&typeof n.px!="undefined"){var _=new y.a;_.load(n),_.success(d),_.error(m)}return _},loadPanorama:function(n,o,d,m,_,h){var g=this;typeof m=="function"?(_=m,h=_,m={}):m=m||{},f.loadTexture(o,m,function(r){r.flipY=m.flipY||!1,g.panoramaToCubeMap(n,r,d,m),r.dispose(n),_&&_(d)},h)},panoramaToCubeMap:function(n,o,d,m){var _=new A.a,h=new s.a({scene:new x.a});return h.material.set("diffuseMap",o),m=m||{},m.encodeRGBM&&h.material.define("fragment","RGBM_ENCODE"),d.sRGB=o.sRGB,_.texture=d,_.render(n,h.scene),_.texture=null,_.dispose(n),d},heightToNormal:function(n,o){var d=document.createElement("canvas"),m=d.width=n.width,_=d.height=n.height,h=d.getContext("2d");h.drawImage(n,0,0,m,_),o=o||!1;for(var g=h.getImageData(0,0,m,_),r=h.createImageData(m,_),a=0;a<g.data.length;a+=4){if(o){var p=g.data[a],E=g.data[a+1],b=g.data[a+2],w=Math.abs(p-E)+Math.abs(E-b);if(w>20)return console.warn("Given image is not a height map"),n}var R,O,z,B;a%(m*4)===0?(R=g.data[a],z=g.data[a+4]):a%(m*4)===(m-1)*4?(R=g.data[a-4],z=g.data[a]):(R=g.data[a-4],z=g.data[a+4]),a<m*4?(O=g.data[a],B=g.data[a+m*4]):a>m*(_-1)*4?(O=g.data[a-m*4],B=g.data[a]):(O=g.data[a-m*4],B=g.data[a+m*4]),r.data[a]=R-z+127,r.data[a+1]=O-B+127,r.data[a+2]=255,r.data[a+3]=255}return h.putImageData(r,0,0),d},isHeightImage:function(n,o,d){if(!n||!n.width||!n.height)return!1;var m=document.createElement("canvas"),_=m.getContext("2d"),h=o||32;d=d||20,m.width=m.height=h,_.drawImage(n,0,0,h,h);for(var g=_.getImageData(0,0,h,h),r=0;r<g.data.length;r+=4){var a=g.data[r],p=g.data[r+1],E=g.data[r+2],b=Math.abs(a-p)+Math.abs(p-E);if(b>d)return!1}return!0},_fetchTexture:function(n,o,d){L.a.get({url:n,responseType:"arraybuffer",onload:o,onerror:d})},createChessboard:function(n,o,d,m){n=n||512,o=o||64,d=d||"black",m=m||"white";var _=Math.ceil(n/o),h=document.createElement("canvas");h.width=n,h.height=n;var g=h.getContext("2d");g.fillStyle=m,g.fillRect(0,0,n,n),g.fillStyle=d;for(var r=0;r<_;r++)for(var a=0;a<_;a++){var p=a%2?r%2:r%2-1;p&&g.fillRect(r*o,a*o,o,o)}var E=new K.a({image:h,anisotropic:8});return E},createBlank:function(n){var o=document.createElement("canvas");o.width=1,o.height=1;var d=o.getContext("2d");d.fillStyle=n,d.fillRect(0,0,1,1);var m=new K.a({image:o});return m}};X.a=f},function(te,X,S){"use strict";var K=S(8),y=S(4),L=S(36),A=S(10),s=["px","nx","py","ny","pz","nz"],x=K.a.extend(function(){var c={position:new y.a,far:1e3,near:.1,texture:null,shadowMapPass:null},l=c._cameras={px:new L.a({fov:90}),nx:new L.a({fov:90}),py:new L.a({fov:90}),ny:new L.a({fov:90}),pz:new L.a({fov:90}),nz:new L.a({fov:90})};return l.px.lookAt(y.a.POSITIVE_X,y.a.NEGATIVE_Y),l.nx.lookAt(y.a.NEGATIVE_X,y.a.NEGATIVE_Y),l.py.lookAt(y.a.POSITIVE_Y,y.a.POSITIVE_Z),l.ny.lookAt(y.a.NEGATIVE_Y,y.a.NEGATIVE_Z),l.pz.lookAt(y.a.POSITIVE_Z,y.a.NEGATIVE_Y),l.nz.lookAt(y.a.NEGATIVE_Z,y.a.NEGATIVE_Y),c._frameBuffer=new A.a,c},{getCamera:function(c){return this._cameras[c]},render:function(c,l,f){var n=c.gl;f||l.update();for(var o=this.texture.width,d=2*Math.atan(o/(o-.5))/Math.PI*180,m=0;m<6;m++){var _=s[m],h=this._cameras[_];if(y.a.copy(h.position,this.position),h.far=this.far,h.near=this.near,h.fov=d,this.shadowMapPass){h.update();var g=l.getBoundingBox();g.applyTransform(h.viewMatrix),l.viewBoundingBoxLastFrame.copy(g),this.shadowMapPass.render(c,l,h,!0)}this._frameBuffer.attach(this.texture,n.COLOR_ATTACHMENT0,n.TEXTURE_CUBE_MAP_POSITIVE_X+m),this._frameBuffer.bind(c),c.render(l,h,!0),this._frameBuffer.unbind(c)}},dispose:function(c){this._frameBuffer.dispose(c)}});X.a=x},function(te,X,S){"use strict";var K=S(24),y=S(68),L=S(7),A=S(17),s=S(103);L.a.import(s.a);var x=K.a.extend(function(){var c=new L.a(L.a.source("clay.basic.vertex"),L.a.source("clay.basic.fragment")),l=new A.a({shader:c,depthMask:!1});return l.enableTexture("diffuseMap"),{scene:null,geometry:new y.a({widthSegments:30,heightSegments:30}),material:l,environmentMap:null,culling:!1}},function(){var c=this.scene;c&&this.attachScene(c),this.environmentMap&&this.setEnvironmentMap(this.environmentMap)},{attachScene:function(c){this.scene&&this.detachScene(),c.skydome=this,this.scene=c,c.on("beforerender",this._beforeRenderScene,this)},detachScene:function(){this.scene&&(this.scene.off("beforerender",this._beforeRenderScene),this.scene.skydome=null),this.scene=null},_beforeRenderScene:function(c,l,f){this.position.copy(f.getWorldPosition()),this.update(),c.renderPass([this],f)},setEnvironmentMap:function(c){this.material.set("diffuseMap",c)},getEnvironmentMap:function(){return this.material.get("diffuseMap")},dispose:function(c){this.detachScene(),this.geometry.dispose(c)}});X.a=x},function(te,X,S){"use strict";var K=S(24),y=S(69),L=S(7),A=S(17),s=S(110);L.a.import(s.a);var x=K.a.extend(function(){var c=new L.a({vertex:L.a.source("clay.skybox.vertex"),fragment:L.a.source("clay.skybox.fragment")}),l=new A.a({shader:c,depthMask:!1});return{scene:null,geometry:new y.a,material:l,environmentMap:null,culling:!1}},function(){var c=this.scene;c&&this.attachScene(c),this.environmentMap&&this.setEnvironmentMap(this.environmentMap)},{attachScene:function(c){this.scene&&this.detachScene(),c.skybox=this,this.scene=c,c.on("beforerender",this._beforeRenderScene,this)},detachScene:function(){this.scene&&(this.scene.off("beforerender",this._beforeRenderScene),this.scene.skybox=null),this.scene=null},dispose:function(c){this.detachScene(),this.geometry.dispose(c)},setEnvironmentMap:function(c){this.material.set("environmentMap",c)},getEnvironmentMap:function(){return this.material.get("environmentMap")},_beforeRenderScene:function(c,l,f){this.renderSkybox(c,f)},renderSkybox:function(c,l){this.position.copy(l.getWorldPosition()),this.update(),c.gl.disable(c.gl.BLEND),this.material.get("lod")>0?this.material.define("fragment","LOD"):this.material.undefine("fragment","LOD"),c.renderPass([this],l)}});X.a=x},function(te,X,S){"use strict";var K=S(2),y=S(143),L=S(144);K.a.Shader.import(L.a),X.a=K.a.Mesh.extend(function(){var A=new y.a({dynamic:!0}),s=new K.a.Material({shader:K.a.createShader("ecgl.labels"),transparent:!0,depthMask:!1});return{geometry:A,material:s,culling:!1,castShadow:!1,ignorePicking:!0}})},function(te,X,S){"use strict";var K=S(0),y=S.n(K),L=S(2),A=S(186),s=S(22),x=S(3),c=S(1),l=S.n(c),f=S(60),n=S(61),o=S(40),d=l.a.vec3;L.a.Shader.import(o.a);function m(_){this.rootNode=new L.a.Node,this._triangulationResults={},this._shadersMap=L.a.COMMON_SHADERS.reduce(function(g,r){return g[r]=L.a.createShader("ecgl."+r),g},{}),this._linesShader=L.a.createShader("ecgl.meshLines3D");var h={};L.a.COMMON_SHADERS.forEach(function(g){h[g]=new L.a.Material({shader:L.a.createShader("ecgl."+g)})}),this._groundMaterials=h,this._groundMesh=new L.a.Mesh({geometry:new L.a.PlaneGeometry({dynamic:!0}),castShadow:!1,renderNormal:!0,$ignorePicking:!0}),this._groundMesh.rotation.rotateX(-Math.PI/2),this._labelsBuilder=new n.a(512,512,_),this._labelsBuilder.getMesh().renderOrder=100,this._labelsBuilder.getMesh().material.depthTest=!1,this.rootNode.add(this._labelsBuilder.getMesh()),this._initMeshes(),this._api=_}m.prototype={constructor:m,extrudeY:!0,update:function(_,h,g,r,a){var p=_.getData();r==null&&(r=0),a==null&&(a=p.count()),this._startIndex=r,this._endIndex=a-1,this._triangulation(_,r,a);var E=this._getShader(_.get("shading"));this._prepareMesh(_,E,g,r,a),this.rootNode.updateWorldTransform(),this._updateRegionMesh(_,g,r,a);var b=_.coordinateSystem;b.type==="geo3D"&&this._updateGroundPlane(_,b,g);var w=this;this._labelsBuilder.updateData(p,r,a),this._labelsBuilder.getLabelPosition=function(R,O,z){var B=p.getName(R),P,F=z;if(b.type==="geo3D"){var k=b.getRegion(B);return P=k.center,b.dataToPoint([P[0],P[1],F])}else var U=w._triangulationResults[R-w._startIndex],P=w.extrudeY?[(U.max[0]+U.min[0])/2,U.max[1]+F,(U.max[2]+U.min[2])/2]:[(U.max[0]+U.min[0])/2,(U.max[1]+U.min[1])/2,U.max[2]+F]},this._data=p,this._labelsBuilder.updateLabels(),this._updateDebugWireframe(_),this._lastHoverDataIndex=0},_initMeshes:function(){this.rootNode.removeAll();var _=this;function h(){var a=new L.a.Mesh({name:"Polygon",material:new L.a.Material({shader:_._shadersMap.lambert}),culling:!1,geometry:new L.a.Geometry({sortTriangles:!0,dynamic:!0}),ignorePicking:!0,renderNormal:!0});return y.a.util.extend(a.geometry,f.a),a}var g=h(),r=new L.a.Mesh({material:new L.a.Material({shader:this._linesShader}),castShadow:!1,ignorePicking:!0,$ignorePicking:!0,geometry:new s.a({useNativeLine:!1})});this.rootNode.add(g),this.rootNode.add(r),g.material.define("both","VERTEX_COLOR"),g.material.define("fragment","DOUBLE_SIDED"),this._polygonMesh=g,this._linesMesh=r,this.rootNode.add(this._groundMesh)},_getShader:function(_){var h=this._shadersMap[_];return h||(console.warn("Unkown shading "+_),h=this._shadersMap.lambert),h.__shading=_,h},_prepareMesh:function(_,h,g,r,a){for(var p=0,E=0,b=0,w=0,R=r;R<a;R++){var O=this._getRegionPolygonInfo(R),z=this._getRegionLinesInfo(R,_,this._linesMesh.geometry);p+=O.vertexCount,E+=O.triangleCount,b+=z.vertexCount,w+=z.triangleCount}var B=this._polygonMesh,P=B.geometry;["position","normal","texcoord0","color"].forEach(function(F){P.attributes[F].init(p)}),P.indices=p>65535?new Uint32Array(E*3):new Uint16Array(E*3),B.material.shader!==h&&B.material.attachShader(h,!0),L.a.setMaterialFromModel(h.__shading,B.material,_,g),b>0&&(this._linesMesh.geometry.resetOffset(),this._linesMesh.geometry.setVertexCount(b),this._linesMesh.geometry.setTriangleCount(w)),this._dataIndexOfVertex=new Uint32Array(p),this._vertexRangeOfDataIndex=new Uint32Array((a-r)*2)},_updateRegionMesh:function(_,h,g,r){for(var a=_.getData(),p=0,E=0,b=!1,q=this._polygonMesh,w=this._linesMesh,R=g;R<r;R++){var O=_.getRegionModel(R),z=O.getModel("itemStyle"),B=z.get("color"),P=x.a.firstNotNull(z.get("opacity"),1),F=a.getItemVisual(R,"color",!0);F!=null&&a.hasValue(R)&&(B=F),a.setItemVisual(R,"color",B),a.setItemVisual(R,"opacity",P),B=L.a.parseColor(B);var k=L.a.parseColor(z.get("borderColor"));B[3]*=P,k[3]*=P;var U=B[3]<.99;q.material.set("color",[1,1,1,1]),b=b||U;for(var G=x.a.firstNotNull(O.get("height",!0),_.get("regionHeight")),C=this._updatePolygonGeometry(_,q.geometry,R,G,p,E,B),I=p;I<C.vertexOffset;I++)this._dataIndexOfVertex[I]=R;this._vertexRangeOfDataIndex[(R-g)*2]=p,this._vertexRangeOfDataIndex[(R-g)*2+1]=C.vertexOffset,p=C.vertexOffset,E=C.triangleOffset;var H=z.get("borderWidth"),$=H>0;$&&(H*=h.getDevicePixelRatio(),this._updateLinesGeometry(w.geometry,_,R,G,H,_.coordinateSystem.transform)),w.invisible=!$,w.material.set({color:k})}var q=this._polygonMesh;q.material.transparent=b,q.material.depthMask=!b,q.geometry.updateBoundingBox(),q.material.get("normalMap")&&q.geometry.generateTangents(),q.seriesIndex=_.seriesIndex,q.on("mousemove",this._onmousemove,this),q.on("mouseout",this._onmouseout,this)},_updateDebugWireframe:function(_){var h=_.getModel("debug.wireframe");if(h.get("show")){var g=L.a.parseColor(h.get("lineStyle.color")||"rgba(0,0,0,0.5)"),r=x.a.firstNotNull(h.get("lineStyle.width"),1),a=this._polygonMesh;a.geometry.generateBarycentric(),a.material.define("both","WIREFRAME_TRIANGLE"),a.material.set("wireframeLineColor",g),a.material.set("wireframeLineWidth",r)}},_onmousemove:function(_){var h=this._dataIndexOfVertex[_.triangle[0]];h==null&&(h=-1),h!==this._lastHoverDataIndex&&(this.downplay(this._lastHoverDataIndex),this.highlight(h)),this._lastHoverDataIndex=h,this._polygonMesh.dataIndex=h},_onmouseover:function(_){if(_.target){var h=_.target.eventData?this._data.indexOfName(_.target.eventData.name):_.target.dataIndex;h!=null&&(this.highlight(h),this._labelsBuilder.updateLabels([h]))}},_onmouseout:function(_){_.target&&(this.downplay(this._lastHoverDataIndex),this._lastHoverDataIndex=-1,this._polygonMesh.dataIndex=-1)},_updateGroundPlane:function(_,h,g){var r=_.getModel("groundPlane",_);if(this._groundMesh.invisible=!r.get("show",!0),!this._groundMesh.invisible){var a=_.get("shading"),p=this._groundMaterials[a];p||(console.warn("Unkown shading "+a),p=this._groundMaterials.lambert),L.a.setMaterialFromModel(a,p,r,g),p.get("normalMap")&&this._groundMesh.geometry.generateTangents(),this._groundMesh.material=p,this._groundMesh.material.set("color",L.a.parseColor(r.get("color"))),this._groundMesh.scale.set(h.size[0],h.size[2],1)}},_triangulation:function(_,h,g){this._triangulationResults=[];for(var r=[1/0,1/0,1/0],a=[-1/0,-1/0,-1/0],p=_.coordinateSystem,E=h;E<g;E++){for(var b=[],w=_.getRegionPolygonCoords(E),R=0;R<w.length;R++){var O=w[R].exterior,z=w[R].interiors,B=[],P=[];if(!(O.length<3)){for(var F=0,k=0;k<O.length;k++){var U=O[k];B[F++]=U[0],B[F++]=U[1]}for(var k=0;k<z.length;k++)if(!(z[k].length<3)){for(var G=B.length/2,C=0;C<z[k].length;C++){var U=z[k][C];B.push(U[0]),B.push(U[1])}P.push(G)}for(var I=Object(A.a)(B,P),H=new Float64Array(B.length/2*3),$=[],q=[1/0,1/0,1/0],se=[-1/0,-1/0,-1/0],ue=0,k=0;k<B.length;)d.set($,B[k++],0,B[k++]),p&&p.transform&&d.transformMat4($,$,p.transform),d.min(q,q,$),d.max(se,se,$),H[ue++]=$[0],H[ue++]=$[1],H[ue++]=$[2];d.min(r,r,q),d.max(a,a,se),b.push({points:H,indices:I,min:q,max:se})}}this._triangulationResults.push(b)}this._geoBoundingBox=[r,a]},_getRegionPolygonInfo:function(_){for(var h=this._triangulationResults[_-this._startIndex],g=0,r=0,a=0;a<h.length;a++)g+=h[a].points.length/3,r+=h[a].indices.length/3;var p=g*2+g*4,E=r*2+g*2;return{vertexCount:p,triangleCount:E}},_updatePolygonGeometry:function(_,h,g,r,a,p,E){var b=_.get("projectUVOnGround"),w=h.attributes.position,R=h.attributes.normal,O=h.attributes.texcoord0,z=h.attributes.color,B=this._triangulationResults[g-this._startIndex],P=z.value&&E,F=h.indices,k=this.extrudeY?1:2,U=this.extrudeY?2:1,G=[this.rootNode.worldTransform.x.len(),this.rootNode.worldTransform.y.len(),this.rootNode.worldTransform.z.len()],C=d.mul([],this._geoBoundingBox[0],G),I=d.mul([],this._geoBoundingBox[1],G),H=Math.max(I[0]-C[0],I[2]-C[2]);function $(he,xe,Ne){for(var Be=he.points,je=Be.length,et=[],ft=[],tt=0;tt<je;tt+=3)et[0]=Be[tt],et[k]=xe,et[U]=Be[tt+2],ft[0]=(Be[tt]*G[0]-C[0])/H,ft[1]=(Be[tt+2]*G[U]-C[2])/H,w.set(a,et),P&&z.set(a,E),O.set(a++,ft)}function q(he,xe,Ne){var Be=a;$(he,xe,Ne);for(var je=0;je<he.indices.length;je++)F[p*3+je]=he.indices[je]+Be;p+=he.indices.length/3}for(var se=this.extrudeY?[0,1,0]:[0,0,1],ue=d.negate([],se),me=0;me<B.length;me++){var Ee=a,Le=B[me];q(Le,0,0),q(Le,r,0);for(var Fe=Le.points.length/3,Ke=0;Ke<Fe;Ke++)R.set(Ee+Ke,ue),R.set(Ee+Ke+Fe,se);for(var Te=[0,3,1,1,3,2],We=[[],[],[],[]],Ce=[],De=[],ge=[],Re=[],ve=0,Ke=0;Ke<Fe;Ke++){for(var we=(Ke+1)%Fe,Ue=(Le.points[we*3]-Le.points[Ke*3])*G[0],de=(Le.points[we*3+2]-Le.points[Ke*3+2])*G[U],oe=Math.sqrt(Ue*Ue+de*de),ne=0;ne<4;ne++){var ce=ne===0||ne===3,ye=(ce?Ke:we)*3;We[ne][0]=Le.points[ye],We[ne][k]=ne>1?r:0,We[ne][U]=Le.points[ye+2],w.set(a+ne,We[ne]),b?(Re[0]=(Le.points[ye]*G[0]-C[0])/H,Re[1]=(Le.points[ye+2]*G[U]-C[U])/H):(Re[0]=(ce?ve:ve+oe)/H,Re[1]=(We[ne][k]*G[k]-C[k])/H),O.set(a+ne,Re)}d.sub(Ce,We[1],We[0]),d.sub(De,We[3],We[0]),d.cross(ge,Ce,De),d.normalize(ge,ge);for(var ne=0;ne<4;ne++)R.set(a+ne,ge),P&&z.set(a+ne,E);for(var ne=0;ne<6;ne++)F[p*3+ne]=Te[ne]+a;a+=4,p+=2,ve+=oe}}return h.dirty(),{vertexOffset:a,triangleOffset:p}},_getRegionLinesInfo:function(_,h,g){var r=0,a=0,p=h.getRegionModel(_),E=p.getModel("itemStyle"),b=E.get("borderWidth");if(b>0){var w=h.getRegionPolygonCoords(_);w.forEach(function(R){var O=R.exterior,z=R.interiors;r+=g.getPolylineVertexCount(O),a+=g.getPolylineTriangleCount(O);for(var B=0;B<z.length;B++)r+=g.getPolylineVertexCount(z[B]),a+=g.getPolylineTriangleCount(z[B])},this)}return{vertexCount:r,triangleCount:a}},_updateLinesGeometry:function(_,h,g,r,a,p){function E(R){for(var O=new Float64Array(R.length*3),z=0,B=[],P=0;P<R.length;P++)B[0]=R[P][0],B[1]=r+.1,B[2]=R[P][1],p&&d.transformMat4(B,B,p),O[z++]=B[0],O[z++]=B[1],O[z++]=B[2];return O}var b=[1,1,1,1],w=h.getRegionPolygonCoords(g);w.forEach(function(R){var O=R.exterior,z=R.interiors;_.addPolyline(E(O),b,a);for(var B=0;B<z.length;B++)_.addPolyline(E(z[B]),b,a)})},highlight:function(_){var h=this._data;if(h){var g=h.getItemModel(_),r=g.getModel("emphasis.itemStyle"),a=r.get("color"),p=x.a.firstNotNull(r.get("opacity"),h.getItemVisual(_,"opacity"),1);if(a==null){var E=h.getItemVisual(_,"color");a=y.a.color.lift(E,-.4)}p==null&&(p=h.getItemVisual(_,"opacity"));var b=L.a.parseColor(a);b[3]*=p,this._setColorOfDataIndex(h,_,b)}},downplay:function(_){var h=this._data;if(h){var g=h.getItemVisual(_,"color"),r=x.a.firstNotNull(h.getItemVisual(_,"opacity"),1),a=L.a.parseColor(g);a[3]*=r,this._setColorOfDataIndex(h,_,a)}},_setColorOfDataIndex:function(_,h,g){if(!(h<this._startIndex&&h>this._endIndex)){h-=this._startIndex;for(var r=this._vertexRangeOfDataIndex[h*2];r<this._vertexRangeOfDataIndex[h*2+1];r++)this._polygonMesh.geometry.attributes.color.set(r,g);this._polygonMesh.geometry.dirty(),this._api.getZr().refresh()}}},X.a=m},function(te,X,S){"use strict";var K=S(81),y=S(1),L=S.n(y),A=L.a.vec3,s=A.create(),x=A.create(),c=A.create();X.a={needsSortTriangles:function(){return this.indices&&this.sortTriangles},needsSortTrianglesProgressively:function(){return this.needsSortTriangles()&&this.triangleCount>=2e4},doSortTriangles:function(l,f){var n=this.indices;if(f===0){var o=this.attributes.position,l=l.array;(!this._triangleZList||this._triangleZList.length!==this.triangleCount)&&(this._triangleZList=new Float32Array(this.triangleCount),this._sortedTriangleIndices=new Uint32Array(this.triangleCount),this._indicesTmp=new n.constructor(n.length),this._triangleZListTmp=new Float32Array(this.triangleCount));for(var d=0,m,_=0;_<n.length;){o.get(n[_++],s),o.get(n[_++],x),o.get(n[_++],c);var h=A.sqrDist(s,l),g=A.sqrDist(x,l),r=A.sqrDist(c,l),a=Math.min(h,g);a=Math.min(a,r),_===3?(m=a,a=0):a=a-m,this._triangleZList[d++]=a}}for(var p=this._sortedTriangleIndices,_=0;_<p.length;_++)p[_]=_;if(this.triangleCount<2e4)f===0&&this._simpleSort(!0);else for(var _=0;_<3;_++)this._progressiveQuickSort(f*3+_);for(var E=this._indicesTmp,b=this._triangleZListTmp,w=this._triangleZList,_=0;_<this.triangleCount;_++){var R=p[_]*3,O=_*3;E[O++]=n[R++],E[O++]=n[R++],E[O]=n[R],b[_]=w[p[_]]}var z=this._indicesTmp;this._indicesTmp=this.indices,this.indices=z;var z=this._triangleZListTmp;this._triangleZListTmp=this._triangleZList,this._triangleZList=z,this.dirtyIndices()},_simpleSort:function(l){var f=this._triangleZList,n=this._sortedTriangleIndices;function o(d,m){return f[m]-f[d]}l?Array.prototype.sort.call(n,o):K.a.sort(n,o,0,n.length-1)},_progressiveQuickSort:function(l){var f=this._triangleZList,n=this._sortedTriangleIndices;this._quickSort=this._quickSort||new K.a,this._quickSort.step(n,function(o,d){return f[d]-f[o]},l)}}},function(te,X,S){"use strict";var K=S(0),y=S.n(K),L=S(73),A=S(58),s=S(3),x=1,c=2;function l(f,n,o){this._labelsMesh=new A.a,this._labelTextureSurface=new L.a({width:512,height:512,devicePixelRatio:o.getDevicePixelRatio(),onupdate:function(){o.getZr().refresh()}}),this._api=o,this._labelsMesh.material.set("textureAtlas",this._labelTextureSurface.getTexture())}l.prototype.getLabelPosition=function(f,n,o){return[0,0,0]},l.prototype.getLabelDistance=function(f,n,o){return 0},l.prototype.getMesh=function(){return this._labelsMesh},l.prototype.updateData=function(f,n,o){n==null&&(n=0),o==null&&(o=f.count()),(!this._labelsVisibilitiesBits||this._labelsVisibilitiesBits.length!==o-n)&&(this._labelsVisibilitiesBits=new Uint8Array(o-n));for(var d=["label","show"],m=["emphasis","label","show"],_=n;_<o;_++){var h=f.getItemModel(_),g=h.get(d),r=h.get(m);r==null&&(r=g);var a=(g?x:0)|(r?c:0);this._labelsVisibilitiesBits[_-n]=a}this._start=n,this._end=o,this._data=f},l.prototype.updateLabels=function(f){if(this._data){f=f||[];for(var n=f.length>0,o={},d=0;d<f.length;d++)o[f[d]]=!0;this._labelsMesh.geometry.convertToDynamicArray(!0),this._labelTextureSurface.clear();for(var m=["label"],_=["emphasis","label"],h=this._data.hostModel,g=this._data,r=h.getModel(m),a=h.getModel(_,r),p={left:"right",right:"left",top:"center",bottom:"center"},E={left:"middle",right:"middle",top:"bottom",bottom:"top"},b=this._start;b<this._end;b++){var w=!1;n&&o[b]&&(w=!0);var R=this._labelsVisibilitiesBits[b-this._start]&(w?c:x);if(R){var O=g.getItemModel(b),z=O.getModel(w?_:m,w?a:r),B=z.get("distance")||0,P=z.get("position"),F=z.getModel("textStyle"),k=this._api.getDevicePixelRatio(),U=h.getFormattedLabel(b,w?"emphasis":"normal");if(U==null||U==="")return;var G=new y.a.graphic.Text;y.a.graphic.setTextStyle(G.style,F,{text:U,textFill:F.get("color")||g.getItemVisual(b,"color")||"#000",textAlign:"left",textVerticalAlign:"top",opacity:s.a.firstNotNull(F.get("opacity"),g.getItemVisual(b,"opacity"),1)});var C=G.getBoundingRect(),I=1.2;C.height*=I;var H=this._labelTextureSurface.add(G),$=p[P]||"center",q=E[P]||"bottom";this._labelsMesh.geometry.addSprite(this.getLabelPosition(b,P,B),[C.width*k,C.height*k],H,$,q,this.getLabelDistance(b,P,B)*k)}}this._labelsMesh.material.set("uvScale",this._labelTextureSurface.getCoordsScale()),this._labelTextureSurface.getZr().refreshImmediately(),this._labelsMesh.geometry.convertToTypedArray(),this._labelsMesh.geometry.dirty()}},X.a=l},function(te,X,S){"use strict";var K=S(0),y=S.n(K),L=S(2),A=S(216),s=S(217),x=S(61),c=S(9),l=S(3),f=20,n=-10;function o(m,_){return m&&_&&m[0]===_[0]&&m[1]===_[1]}function d(m,_){this.rootNode=new L.a.Node,this.is2D=m,this._labelsBuilder=new x.a(256,256,_),this._labelsBuilder.getMesh().renderOrder=100,this.rootNode.add(this._labelsBuilder.getMesh()),this._api=_,this._spriteImageCanvas=document.createElement("canvas"),this._startDataIndex=0,this._endDataIndex=0,this._sizeScale=1}d.prototype={constructor:d,highlightOnMouseover:!0,update:function(m,_,h,g,r){var a=this._prevMesh;this._prevMesh=this._mesh,this._mesh=a;var p=m.getData();if(g==null&&(g=0),r==null&&(r=p.count()),this._startDataIndex=g,this._endDataIndex=r-1,!this._mesh){var E=this._prevMesh&&this._prevMesh.material;this._mesh=new s.a({renderOrder:10,frustumCulling:!1}),E&&(this._mesh.material=E)}var E=this._mesh.material,b=this._mesh.geometry,w=b.attributes;this.rootNode.remove(this._prevMesh),this.rootNode.add(this._mesh),this._setPositionTextureToMesh(this._mesh,this._positionTexture);var R=this._getSymbolInfo(m,g,r),O=h.getDevicePixelRatio(),z=m.getModel("itemStyle").getItemStyle(),B=m.get("large"),P=1;R.maxSize>2?(P=this._updateSymbolSprite(m,z,R,O),E.enableTexture("sprite")):E.disableTexture("sprite"),w.position.init(r-g);var F=[];if(B){E.undefine("VERTEX_SIZE"),E.undefine("VERTEX_COLOR");var k=p.getVisual("color"),U=p.getVisual("opacity");L.a.parseColor(k,F),F[3]*=U,E.set({color:F,u_Size:R.maxSize*this._sizeScale})}else E.set({color:[1,1,1,1]}),E.define("VERTEX_SIZE"),E.define("VERTEX_COLOR"),w.size.init(r-g),w.color.init(r-g),this._originalOpacity=new Float32Array(r-g);for(var G=p.getLayout("points"),C=w.position.value,I=!1,H=0;H<r-g;H++){var $=H*3,q=H*2;if(this.is2D?(C[$]=G[q],C[$+1]=G[q+1],C[$+2]=n):(C[$]=G[$],C[$+1]=G[$+1],C[$+2]=G[$+2]),!B){var k=p.getItemVisual(H,"color"),U=p.getItemVisual(H,"opacity");L.a.parseColor(k,F),F[3]*=U,w.color.set(H,F),F[3]<.99&&(I=!0);var se=p.getItemVisual(H,"symbolSize");se=se instanceof Array?Math.max(se[0],se[1]):se,isNaN(se)&&(se=0),w.size.value[H]=se*P*this._sizeScale,this._originalOpacity[H]=F[3]}}this._mesh.sizeScale=P,b.updateBoundingBox(),b.dirty(),this._updateMaterial(m,z);var ue=m.coordinateSystem;if(ue&&ue.viewGL){var me=ue.viewGL.isLinearSpace()?"define":"undefine";E[me]("fragment","SRGB_DECODE")}B||this._updateLabelBuilder(m,g,r),this._updateHandler(m,_,h),this._updateAnimation(m),this._api=h},getPointsMesh:function(){return this._mesh},updateLabels:function(m){this._labelsBuilder.updateLabels(m)},hideLabels:function(){this.rootNode.remove(this._labelsBuilder.getMesh())},showLabels:function(){this.rootNode.add(this._labelsBuilder.getMesh())},_updateSymbolSprite:function(m,_,h,g){h.maxSize=Math.min(h.maxSize*2,200);var r=[];return h.aspect>1?(r[0]=h.maxSize,r[1]=h.maxSize/h.aspect):(r[1]=h.maxSize,r[0]=h.maxSize*h.aspect),r[0]=r[0]||1,r[1]=r[1]||1,(this._symbolType!==h.type||!o(this._symbolSize,r)||this._lineWidth!==_.lineWidth)&&(A.a.createSymbolSprite(h.type,r,{fill:"#fff",lineWidth:_.lineWidth,stroke:"transparent",shadowColor:"transparent",minMargin:Math.min(r[0]/2,10)},this._spriteImageCanvas),A.a.createSDFFromCanvas(this._spriteImageCanvas,Math.min(this._spriteImageCanvas.width,32),f,this._mesh.material.get("sprite").image),this._symbolType=h.type,this._symbolSize=r,this._lineWidth=_.lineWidth),this._spriteImageCanvas.width/h.maxSize*g},_updateMaterial:function(m,_){var h=m.get("blendMode")==="lighter"?L.a.additiveBlend:null,g=this._mesh.material;g.blend=h,g.set("lineWidth",_.lineWidth/f);var r=L.a.parseColor(_.stroke);g.set("strokeColor",r),g.transparent=!0,g.depthMask=!1,g.depthTest=!this.is2D,g.sortVertices=!this.is2D},_updateLabelBuilder:function(m,p,h){var g=m.getData(),r=this._mesh.geometry,a=r.attributes.position.value,p=this._startDataIndex,E=this._mesh.sizeScale;this._labelsBuilder.updateData(g,p,h),this._labelsBuilder.getLabelPosition=function(b,w,R){var O=(b-p)*3;return[a[O],a[O+1],a[O+2]]},this._labelsBuilder.getLabelDistance=function(b,w,R){var O=r.attributes.size.get(b-p)/E;return O/2+R},this._labelsBuilder.updateLabels()},_updateAnimation:function(m){L.a.updateVertexAnimation([["prevPosition","position"],["prevSize","size"]],this._prevMesh,this._mesh,m)},_updateHandler:function(m,_,h){var g=m.getData(),r=this._mesh,a=this,p=-1,E=m.coordinateSystem&&m.coordinateSystem.type==="cartesian3D",b;E&&(b=m.coordinateSystem.model),r.seriesIndex=m.seriesIndex,r.off("mousemove"),r.off("mouseout"),r.on("mousemove",function(w){var R=w.vertexIndex+a._startDataIndex;R!==p&&(this.highlightOnMouseover&&(this.downplay(g,p),this.highlight(g,R),this._labelsBuilder.updateLabels([R])),E&&h.dispatchAction({type:"grid3DShowAxisPointer",value:[g.get(m.coordDimToDataDim("x")[0],R),g.get(m.coordDimToDataDim("y")[0],R),g.get(m.coordDimToDataDim("z")[0],R)],grid3DIndex:b.componentIndex})),r.dataIndex=R,p=R},this),r.on("mouseout",function(w){var R=w.vertexIndex+a._startDataIndex;this.highlightOnMouseover&&(this.downplay(g,R),this._labelsBuilder.updateLabels()),p=-1,r.dataIndex=-1,E&&h.dispatchAction({type:"grid3DHideAxisPointer",grid3DIndex:b.componentIndex})},this)},updateLayout:function(m,_,h){var g=m.getData();if(this._mesh){var r=this._mesh.geometry.attributes.position.value,a=g.getLayout("points");if(this.is2D)for(var p=0;p<a.length/2;p++){var E=p*3,b=p*2;r[E]=a[b],r[E+1]=a[b+1],r[E+2]=n}else for(var p=0;p<a.length;p++)r[p]=a[p];this._mesh.geometry.dirty(),h.getZr().refresh()}},updateView:function(m){if(this._mesh){var _=new c.a;c.a.mul(_,m.viewMatrix,this._mesh.worldTransform),c.a.mul(_,m.projectionMatrix,_),this._mesh.updateNDCPosition(_,this.is2D,this._api)}},highlight:function(m,_){if(!(_>this._endDataIndex||_<this._startDataIndex)){var h=m.getItemModel(_),g=h.getModel("emphasis.itemStyle"),r=g.get("color"),a=g.get("opacity");if(r==null){var p=m.getItemVisual(_,"color");r=y.a.color.lift(p,-.4)}a==null&&(a=m.getItemVisual(_,"opacity"));var E=L.a.parseColor(r);E[3]*=a,this._mesh.geometry.attributes.color.set(_-this._startDataIndex,E),this._mesh.geometry.dirtyAttribute("color"),this._api.getZr().refresh()}},downplay:function(m,_){if(!(_>this._endDataIndex||_<this._startDataIndex)){var h=m.getItemVisual(_,"color"),g=m.getItemVisual(_,"opacity"),r=L.a.parseColor(h);r[3]*=g,this._mesh.geometry.attributes.color.set(_-this._startDataIndex,r),this._mesh.geometry.dirtyAttribute("color"),this._api.getZr().refresh()}},fadeOutAll:function(m){if(this._originalOpacity){for(var _=this._mesh.geometry,h=0;h<_.vertexCount;h++){var g=this._originalOpacity[h]*m;_.attributes.color.value[h*4+3]=g}_.dirtyAttribute("color"),this._api.getZr().refresh()}},fadeInAll:function(){this.fadeOutAll(1)},setPositionTexture:function(m){this._mesh&&this._setPositionTextureToMesh(this._mesh,m),this._positionTexture=m},removePositionTexture:function(){this._positionTexture=null,this._mesh&&this._setPositionTextureToMesh(this._mesh,null)},setSizeScale:function(m){if(m!==this._sizeScale){if(this._mesh){var _=this._mesh.material.get("u_Size");this._mesh.material.set("u_Size",_/this._sizeScale*m);var h=this._mesh.geometry.attributes;if(h.size.value)for(var g=0;g<h.size.value.length;g++)h.size.value[g]=h.size.value[g]/this._sizeScale*m}this._sizeScale=m}},_setPositionTextureToMesh:function(m,_){_&&m.material.set("positionTexture",_),m.material[_?"enableTexture":"disableTexture"]("positionTexture")},_getSymbolInfo:function(m,_,h){if(m.get("large")){var g=l.a.firstNotNull(m.get("symbolSize"),1),w,a;return g instanceof Array?(w=Math.max(g[0],g[1]),a=g[0]/g[1]):(w=g,a=1),{maxSize:g,type:m.get("symbol"),aspect:a}}for(var r=m.getData(),a,p=!1,E=r.getItemVisual(0,"symbol")||"circle",b=!1,w=0,R=_;R<h;R++){var g=r.getItemVisual(R,"symbolSize"),O=r.getItemVisual(R,"symbol"),z;if(g instanceof Array)z=g[0]/g[1],w=Math.max(Math.max(g[0],g[1]),w);else{if(isNaN(g))return;z=1,w=Math.max(g,w)}a!=null&&Math.abs(z-a)>.05&&(p=!0),O!==E&&(b=!0),E=O,a=z}return p&&console.warn("Different symbol width / height ratio will be ignored."),b&&console.warn("Different symbol type will be ignored."),{maxSize:w,type:E,aspect:a}}},X.a=d},function(te,X,S){"use strict";X.a=`@export clay.prez.vertex
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
attribute vec3 position : POSITION;
@import clay.chunk.skinning_header
void main()
{
vec3 skinnedPosition = position;
#ifdef SKINNING
@import clay.chunk.skin_matrix
skinnedPosition = (skinMatrixWS * vec4(position, 1.0)).xyz;
#endif
gl_Position = worldViewProjection * vec4(skinnedPosition, 1.0);
}
@end
@export clay.prez.fragment
void main()
{
gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0);
}
@end`},function(te,X,S){"use strict";var K=S(28),y=S(11),L=0,A=null,s=!0,x,c=function(){this.triangleCount=0,this.vertexCount=0,this.drawCallCount=0};function l(n,o,d){this.availableAttributes=n,this.availableAttributeSymbols=o,this.indicesBuffer=d,this.vao=null}var f=K.a.extend({material:null,geometry:null,mode:y.a.TRIANGLES,_drawCache:null,_renderInfo:null},function(){this._drawCache={},this._renderInfo=new c},{__program:null,lightGroup:0,renderOrder:0,lineWidth:1,culling:!0,cullFace:y.a.BACK,frontFace:y.a.CCW,frustumCulling:!0,receiveShadow:!0,castShadow:!0,ignorePicking:!1,ignorePreZ:!1,ignoreGBuffer:!1,isRenderable:function(){return this.geometry&&this.material&&this.material.shader&&!this.invisible&&this.geometry.vertexCount>0},beforeRender:function(n){},afterRender:function(n,o){},getBoundingBox:function(n,o){return o=K.a.prototype.getBoundingBox.call(this,n,o),this.geometry&&this.geometry.boundingBox&&o.union(this.geometry.boundingBox),o},render:function(n,o,d){var m=n.gl;o=o||this.material;var _=o.shader,h=this.geometry,g=this.mode,r=h.vertexCount,a=h.isUseIndices(),p=n.getGLExtension("OES_element_index_uint"),E=p&&r>65535,b=E?m.UNSIGNED_INT:m.UNSIGNED_SHORT,w=n.getGLExtension("OES_vertex_array_object"),R=!h.dynamic,O=this._renderInfo;O.vertexCount=r,O.triangleCount=0,O.drawCallCount=0;var z=!1;if(x=n.__uid__+"-"+h.__uid__+"-"+d.__uid__,(x!==L||w&&R||h._cache.isDirty("any"))&&(z=!0),L=x,!z)s?(m.drawElements(g,A.count,b,0),O.triangleCount=A.count/3):m.drawArrays(g,0,r),O.drawCallCount=1;else{var B=this._drawCache[x];if(!B){var P=h.getBufferChunks(n);if(!P)return;B=[];for(var F=0;F<P.length;F++){for(var k=P[F],U=k.attributeBuffers,G=k.indicesBuffer,C=[],I=[],H=0;H<U.length;H++){var $=U[H],q=$.name,se=$.semantic,ue;if(se){var me=_.attributeSemantics[se];ue=me&&me.symbol}else ue=q;ue&&d.attributes[ue]&&(C.push($),I.push(ue))}var Ee=new l(C,I,G);B.push(Ee)}R&&(this._drawCache[x]=B)}for(var Le=0;Le<B.length;Le++){var Ee=B[Le],Fe=!0;w&&R&&(Ee.vao==null?Ee.vao=w.createVertexArrayOES():Fe=!1,w.bindVertexArrayOES(Ee.vao));var C=Ee.availableAttributes,G=Ee.indicesBuffer;if(Fe)for(var Ke=d.enableAttributes(n,Ee.availableAttributeSymbols,w&&R&&Ee.vao),H=0;H<C.length;H++){var Te=Ke[H];if(Te!==-1){var $=C[H],We=$.buffer,Ce=$.size,De;switch($.type){case"float":De=m.FLOAT;break;case"byte":De=m.BYTE;break;case"ubyte":De=m.UNSIGNED_BYTE;break;case"short":De=m.SHORT;break;case"ushort":De=m.UNSIGNED_SHORT;break;default:De=m.FLOAT;break}m.bindBuffer(m.ARRAY_BUFFER,We),m.vertexAttribPointer(Te,Ce,De,!1,0,0)}}(g==y.a.LINES||g==y.a.LINE_STRIP||g==y.a.LINE_LOOP)&&m.lineWidth(this.lineWidth),A=G,s=h.isUseIndices(),s?(Fe&&m.bindBuffer(m.ELEMENT_ARRAY_BUFFER,G.buffer),m.drawElements(g,G.count,b,0),O.triangleCount+=G.count/3):m.drawArrays(g,0,r),w&&R&&w.bindVertexArrayOES(null),O.drawCallCount++}}return O},clone:function(){var n=["castShadow","receiveShadow","mode","culling","cullFace","frontFace","frustumCulling","renderOrder","lineWidth","ignorePicking","ignorePreZ","ignoreGBuffer"];return function(){var o=K.a.prototype.clone.call(this);o.geometry=this.geometry,o.material=this.material;for(var d=0;d<n.length;d++){var m=n[d];o[m]!==this[m]&&(o[m]=this[m])}return o}}()});f.POINTS=y.a.POINTS,f.LINES=y.a.LINES,f.LINE_LOOP=y.a.LINE_LOOP,f.LINE_STRIP=y.a.LINE_STRIP,f.TRIANGLES=y.a.TRIANGLES,f.TRIANGLE_STRIP=y.a.TRIANGLE_STRIP,f.TRIANGLE_FAN=y.a.TRIANGLE_FAN,f.BACK=y.a.BACK,f.FRONT=y.a.FRONT,f.FRONT_AND_BACK=y.a.FRONT_AND_BACK,f.CW=y.a.CW,f.CCW=y.a.CCW,f.RenderInfo=c,X.a=f},function(te,X){var S=typeof window!="undefined"&&(window.requestAnimationFrame&&window.requestAnimationFrame.bind(window)||window.msRequestAnimationFrame&&window.msRequestAnimationFrame.bind(window)||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame)||function(K){setTimeout(K,16)};te.exports=S},function(te,X,S){"use strict";var K={};K.isPowerOfTwo=function(y){return(y&y-1)===0},K.nextPowerOfTwo=function(y){return y--,y|=y>>1,y|=y>>2,y|=y>>4,y|=y>>8,y|=y>>16,y++,y},K.nearestPowerOfTwo=function(y){return Math.pow(2,Math.round(Math.log(y)/Math.LN2))},X.a=K},function(te,X,S){"use strict";var K=S(4),y=S(1),L=S.n(y),A=L.a.vec3,s=L.a.mat4,x=L.a.vec4,c=function(l,f){this.normal=l||new K.a(0,1,0),this.distance=f||0};c.prototype={constructor:c,distanceToPoint:function(l){return A.dot(l.array,this.normal.array)-this.distance},projectPoint:function(l,f){f||(f=new K.a);var n=this.distanceToPoint(l);return A.scaleAndAdd(f.array,l.array,this.normal.array,-n),f._dirty=!0,f},normalize:function(){var l=1/A.len(this.normal.array);A.scale(this.normal.array,l),this.distance*=l},intersectFrustum:function(l){for(var f=l.vertices,n=this.normal.array,o=A.dot(f[0].array,n)>this.distance,d=1;d<8;d++)if(A.dot(f[d].array,n)>this.distance!=o)return!0},intersectLine:function(){var l=A.create();return function(f,n,o){var d=this.distanceToPoint(f),m=this.distanceToPoint(n);if(d>0&&m>0||d<0&&m<0)return null;var _=this.normal.array,h=this.distance,g=f.array;A.sub(l,n.array,f.array),A.normalize(l,l);var r=A.dot(_,l);if(r===0)return null;o||(o=new K.a);var a=(A.dot(_,g)-h)/r;return A.scaleAndAdd(o.array,g,l,-a),o._dirty=!0,o}}(),applyTransform:function(){var l=s.create(),f=x.create(),n=x.create();return n[3]=1,function(o){o=o.array,A.scale(n,this.normal.array,this.distance),x.transformMat4(n,n,o),this.distance=A.dot(n,this.normal.array),s.invert(l,o),s.transpose(l,l),f[3]=0,A.copy(f,this.normal.array),x.transformMat4(f,f,l),A.copy(this.normal.array,f)}}(),copy:function(l){A.copy(this.normal.array,l.normal.array),this.normal._dirty=!0,this.distance=l.distance},clone:function(){var l=new c;return l.copy(this),l}},X.a=c},function(te,X,S){"use strict";var K=S(13),y=S(15),L=K.a.extend({dynamic:!1,widthSegments:40,heightSegments:20,phiStart:0,phiLength:Math.PI*2,thetaStart:0,thetaLength:Math.PI,radius:1},function(){this.build()},{build:function(){var A=this.heightSegments,s=this.widthSegments,x=this.attributes.position,c=this.attributes.texcoord0,l=this.attributes.normal,f=(s+1)*(A+1);x.init(f),c.init(f),l.init(f);var n=f>65535?Uint32Array:Uint16Array,o=this.indices=new n(s*A*6),d,m,_,h,g,r,a,R=this.radius,p=this.phiStart,E=this.phiLength,b=this.thetaStart,w=this.thetaLength,R=this.radius,O=[],z=[],B=0,P=1/R;for(a=0;a<=A;a++)for(r=0;r<=s;r++)h=r/s,g=a/A,d=-R*Math.cos(p+h*E)*Math.sin(b+g*w),m=R*Math.cos(b+g*w),_=R*Math.sin(p+h*E)*Math.sin(b+g*w),O[0]=d,O[1]=m,O[2]=_,z[0]=h,z[1]=g,x.set(B,O),c.set(B,z),O[0]*=P,O[1]*=P,O[2]*=P,l.set(B,O),B++;var F,k,U,G,C=s+1,I=0;for(a=0;a<A;a++)for(r=0;r<s;r++)k=a*C+r,F=a*C+r+1,G=(a+1)*C+r+1,U=(a+1)*C+r,o[I++]=F,o[I++]=k,o[I++]=G,o[I++]=k,o[I++]=U,o[I++]=G;this.boundingBox=new y.a,this.boundingBox.max.set(R,R,R),this.boundingBox.min.set(-R,-R,-R)}});X.a=L},function(te,X,S){"use strict";var K=S(13),y=S(37),L=S(9),A=S(4),s=S(15),x=S(18),c=new L.a,l=K.a.extend({dynamic:!1,widthSegments:1,heightSegments:1,depthSegments:1,inside:!1},function(){this.build()},{build:function(){var n={px:f("px",this.depthSegments,this.heightSegments),nx:f("nx",this.depthSegments,this.heightSegments),py:f("py",this.widthSegments,this.depthSegments),ny:f("ny",this.widthSegments,this.depthSegments),pz:f("pz",this.widthSegments,this.heightSegments),nz:f("nz",this.widthSegments,this.heightSegments)},o=["position","texcoord0","normal"],d=0,m=0;for(var _ in n)d+=n[_].vertexCount,m+=n[_].indices.length;for(var h=0;h<o.length;h++)this.attributes[o[h]].init(d);this.indices=new x.a.Uint16Array(m);var g=0,r=0;for(var _ in n){for(var a=n[_],h=0;h<o.length;h++)for(var p=o[h],E=a.attributes[p].value,b=a.attributes[p].size,w=p==="normal",R=0;R<E.length;R++){var O=E[R];this.inside&&w&&(O=-O),this.attributes[p].value[R+b*r]=O}for(var z=a.indices.length,R=0;R<a.indices.length;R++)this.indices[R+g]=r+a.indices[this.inside?z-R-1:R];g+=a.indices.length,r+=a.vertexCount}this.boundingBox=new s.a,this.boundingBox.max.set(1,1,1),this.boundingBox.min.set(-1,-1,-1)}});function f(n,o,d){c.identity();var m=new y.a({widthSegments:o,heightSegments:d});switch(n){case"px":L.a.translate(c,c,A.a.POSITIVE_X),L.a.rotateY(c,c,Math.PI/2);break;case"nx":L.a.translate(c,c,A.a.NEGATIVE_X),L.a.rotateY(c,c,-Math.PI/2);break;case"py":L.a.translate(c,c,A.a.POSITIVE_Y),L.a.rotateX(c,c,-Math.PI/2);break;case"ny":L.a.translate(c,c,A.a.NEGATIVE_Y),L.a.rotateX(c,c,Math.PI/2);break;case"pz":L.a.translate(c,c,A.a.POSITIVE_Z);break;case"nz":L.a.translate(c,c,A.a.NEGATIVE_Z),L.a.rotateY(c,c,Math.PI);break}return m.applyTransform(c),m}X.a=l},function(te,X,S){"use strict";var K=S(19),y=S(4),L=K.a.extend({shadowBias:.001,shadowSlopeScale:2,shadowCascade:1,cascadeSplitLogFactor:.2},{type:"DIRECTIONAL_LIGHT",uniformTemplates:{directionalLightDirection:{type:"3f",value:function(A){return A.__dir=A.__dir||new y.a,A.__dir.copy(A.worldTransform.z).normalize().negate().array}},directionalLightColor:{type:"3f",value:function(A){var s=A.color,x=A.intensity;return[s[0]*x,s[1]*x,s[2]*x]}}},clone:function(){var A=K.a.prototype.clone.call(this);return A.shadowBias=this.shadowBias,A.shadowSlopeScale=this.shadowSlopeScale,A}});X.a=L},function(te,X,S){"use strict";var K=S(19),y=K.a.extend({range:100,castShadow:!1},{type:"POINT_LIGHT",uniformTemplates:{pointLightPosition:{type:"3f",value:function(L){return L.getWorldPosition().array}},pointLightRange:{type:"1f",value:function(L){return L.range}},pointLightColor:{type:"3f",value:function(L){var A=L.color,s=L.intensity;return[A[0]*s,A[1]*s,A[2]*s]}}},clone:function(){var L=K.a.prototype.clone.call(this);return L.range=this.range,L}});X.a=y},function(te,X,S){"use strict";var K=S(19),y=S(4),L=K.a.extend({range:20,umbraAngle:30,penumbraAngle:45,falloffFactor:2,shadowBias:2e-4,shadowSlopeScale:2},{type:"SPOT_LIGHT",uniformTemplates:{spotLightPosition:{type:"3f",value:function(A){return A.getWorldPosition().array}},spotLightRange:{type:"1f",value:function(A){return A.range}},spotLightUmbraAngleCosine:{type:"1f",value:function(A){return Math.cos(A.umbraAngle*Math.PI/180)}},spotLightPenumbraAngleCosine:{type:"1f",value:function(A){return Math.cos(A.penumbraAngle*Math.PI/180)}},spotLightFalloffFactor:{type:"1f",value:function(A){return A.falloffFactor}},spotLightDirection:{type:"3f",value:function(A){return A.__dir=A.__dir||new y.a,A.__dir.copy(A.worldTransform.z).negate().array}},spotLightColor:{type:"3f",value:function(A){var s=A.color,x=A.intensity;return[s[0]*x,s[1]*x,s[2]*x]}}},clone:function(){var A=K.a.prototype.clone.call(this);return A.range=this.range,A.umbraAngle=this.umbraAngle,A.penumbraAngle=this.penumbraAngle,A.falloffFactor=this.falloffFactor,A.shadowBias=this.shadowBias,A.shadowSlopeScale=this.shadowSlopeScale,A}});X.a=L},function(te,X,S){"use strict";var K=S(0),y=S.n(K),L=S(5);function A(x,c,l,f,n,o,d){this._zr=x,this._x=0,this._y=0,this._rowHeight=0,this.width=f,this.height=n,this.offsetX=c,this.offsetY=l,this.dpr=d,this.gap=o}A.prototype={constructor:A,clear:function(){this._x=0,this._y=0,this._rowHeight=0},add:function(x,c,l){var f=x.getBoundingRect();c==null&&(c=f.width),l==null&&(l=f.height),c*=this.dpr,l*=this.dpr,this._fitElement(x,c,l);var n=this._x,o=this._y,d=this.width*this.dpr,m=this.height*this.dpr,_=this.gap;if(n+c+_>d&&(n=this._x=0,o+=this._rowHeight+_,this._y=o,this._rowHeight=0),this._x+=c+_,this._rowHeight=Math.max(this._rowHeight,l),o+l+_>m)return null;x.position[0]+=this.offsetX*this.dpr+n,x.position[1]+=this.offsetY*this.dpr+o,this._zr.add(x);var h=[this.offsetX/this.width,this.offsetY/this.height],g=[[n/d+h[0],o/m+h[1]],[(n+c)/d+h[0],(o+l)/m+h[1]]];return g},_fitElement:function(x,c,l){var f=x.getBoundingRect(),n=c/f.width,o=l/f.height;x.position=[-f.x*n,-f.y*o],x.scale=[n,o],x.update()}};function s(x){x=x||{},x.width=x.width||512,x.height=x.height||512,x.devicePixelRatio=x.devicePixelRatio||1,x.gap=x.gap==null?2:x.gap;var c=document.createElement("canvas");c.width=x.width*x.devicePixelRatio,c.height=x.height*x.devicePixelRatio,this._canvas=c,this._texture=new L.a({image:c,flipY:!1});var l=this;this._zr=y.a.zrender.init(c);var f=this._zr.refreshImmediately;this._zr.refreshImmediately=function(){f.call(this),l._texture.dirty(),l.onupdate&&l.onupdate()},this._dpr=x.devicePixelRatio,this._coords={},this.onupdate=x.onupdate,this._gap=x.gap,this._textureAtlasNodes=[new A(this._zr,0,0,x.width,x.height,this._gap,this._dpr)],this._nodeWidth=x.width,this._nodeHeight=x.height,this._currentNodeIdx=0}s.prototype={clear:function(){for(var x=0;x<this._textureAtlasNodes.length;x++)this._textureAtlasNodes[x].clear();this._currentNodeIdx=0,this._zr.clear(),this._coords={}},getWidth:function(){return this._width},getHeight:function(){return this._height},getTexture:function(){return this._texture},getDevicePixelRatio:function(){return this._dpr},getZr:function(){return this._zr},_getCurrentNode:function(){return this._textureAtlasNodes[this._currentNodeIdx]},_expand:function(){if(this._currentNodeIdx++,this._textureAtlasNodes[this._currentNodeIdx])return this._textureAtlasNodes[this._currentNodeIdx];var x=4096/this._dpr,c=this._textureAtlasNodes,l=c.length,f=l*this._nodeWidth%x,n=Math.floor(l*this._nodeWidth/x)*this._nodeHeight;if(n>=x){console.error("Too much labels. Some will be ignored.");return}var o=(f+this._nodeWidth)*this._dpr,d=(n+this._nodeHeight)*this._dpr;try{this._zr.resize({width:o,height:d})}catch(_){this._canvas.width=o,this._canvas.height=d}var m=new A(this._zr,f,n,this._nodeWidth,this._nodeHeight,this._gap,this._dpr);return this._textureAtlasNodes.push(m),m},add:function(x,c,l){if(this._coords[x.id])return console.warn("Element already been add"),this._coords[x.id];var f=this._getCurrentNode().add(x,c,l);if(!f){var n=this._expand();if(!n)return;f=n.add(x,c,l)}return this._coords[x.id]=f,f},getCoordsScale:function(){var x=this._dpr;return[this._nodeWidth/this._canvas.width*x,this._nodeHeight/this._canvas.height*x]},getCoords:function(x){return this._coords[x]}},X.a=s},function(te,X,S){"use strict";X.a=K;function K(y,L,A){var s,x=y.scale;return x.type==="ordinal"&&(typeof A=="function"?(s=x.getTicks()[L],!A(s,x.getLabel(s))):L%(A+1))}},function(te,X,S){var K=S(76),y=S(77),L=K.applyTransform,A=Math.min,s=Math.max;function x(l,f,n,o){n<0&&(l=l+n,n=-n),o<0&&(f=f+o,o=-o),this.x=l,this.y=f,this.width=n,this.height=o}x.prototype={constructor:x,union:function(l){var f=A(l.x,this.x),n=A(l.y,this.y);this.width=s(l.x+l.width,this.x+this.width)-f,this.height=s(l.y+l.height,this.y+this.height)-n,this.x=f,this.y=n},applyTransform:function(){var l=[],f=[],n=[],o=[];return function(d){if(d){l[0]=n[0]=this.x,l[1]=o[1]=this.y,f[0]=o[0]=this.x+this.width,f[1]=n[1]=this.y+this.height,L(l,l,d),L(f,f,d),L(n,n,d),L(o,o,d),this.x=A(l[0],f[0],n[0],o[0]),this.y=A(l[1],f[1],n[1],o[1]);var m=s(l[0],f[0],n[0],o[0]),_=s(l[1],f[1],n[1],o[1]);this.width=m-this.x,this.height=_-this.y}}}(),calculateTransform:function(l){var f=this,n=l.width/f.width,o=l.height/f.height,d=y.create();return y.translate(d,d,[-f.x,-f.y]),y.scale(d,d,[n,o]),y.translate(d,d,[l.x,l.y]),d},intersect:function(l){if(!l)return!1;l instanceof x||(l=x.create(l));var f=this,n=f.x,o=f.x+f.width,d=f.y,m=f.y+f.height,_=l.x,h=l.x+l.width,g=l.y,r=l.y+l.height;return!(o<_||h<n||m<g||r<d)},contain:function(l,f){var n=this;return l>=n.x&&l<=n.x+n.width&&f>=n.y&&f<=n.y+n.height},clone:function(){return new x(this.x,this.y,this.width,this.height)},copy:function(l){this.x=l.x,this.y=l.y,this.width=l.width,this.height=l.height},plain:function(){return{x:this.x,y:this.y,width:this.width,height:this.height}}},x.create=function(l){return new x(l.x,l.y,l.width,l.height)};var c=x;te.exports=c},function(te,X){var S=typeof Float32Array=="undefined"?Array:Float32Array;function K(B,P){var F=new S(2);return B==null&&(B=0),P==null&&(P=0),F[0]=B,F[1]=P,F}function y(B,P){return B[0]=P[0],B[1]=P[1],B}function L(B){var P=new S(2);return P[0]=B[0],P[1]=B[1],P}function A(B,P,F){return B[0]=P,B[1]=F,B}function s(B,P,F){return B[0]=P[0]+F[0],B[1]=P[1]+F[1],B}function x(B,P,F,k){return B[0]=P[0]+F[0]*k,B[1]=P[1]+F[1]*k,B}function c(B,P,F){return B[0]=P[0]-F[0],B[1]=P[1]-F[1],B}function l(B){return Math.sqrt(n(B))}var f=l;function n(B){return B[0]*B[0]+B[1]*B[1]}var o=n;function d(B,P,F){return B[0]=P[0]*F[0],B[1]=P[1]*F[1],B}function m(B,P,F){return B[0]=P[0]/F[0],B[1]=P[1]/F[1],B}function _(B,P){return B[0]*P[0]+B[1]*P[1]}function h(B,P,F){return B[0]=P[0]*F,B[1]=P[1]*F,B}function g(B,P){var F=l(P);return F===0?(B[0]=0,B[1]=0):(B[0]=P[0]/F,B[1]=P[1]/F),B}function r(B,P){return Math.sqrt((B[0]-P[0])*(B[0]-P[0])+(B[1]-P[1])*(B[1]-P[1]))}var a=r;function p(B,P){return(B[0]-P[0])*(B[0]-P[0])+(B[1]-P[1])*(B[1]-P[1])}var E=p;function b(B,P){return B[0]=-P[0],B[1]=-P[1],B}function w(B,P,F,k){return B[0]=P[0]+k*(F[0]-P[0]),B[1]=P[1]+k*(F[1]-P[1]),B}function R(B,P,F){var k=P[0],U=P[1];return B[0]=F[0]*k+F[2]*U+F[4],B[1]=F[1]*k+F[3]*U+F[5],B}function O(B,P,F){return B[0]=Math.min(P[0],F[0]),B[1]=Math.min(P[1],F[1]),B}function z(B,P,F){return B[0]=Math.max(P[0],F[0]),B[1]=Math.max(P[1],F[1]),B}X.create=K,X.copy=y,X.clone=L,X.set=A,X.add=s,X.scaleAndAdd=x,X.sub=c,X.len=l,X.length=f,X.lenSquare=n,X.lengthSquare=o,X.mul=d,X.div=m,X.dot=_,X.scale=h,X.normalize=g,X.distance=r,X.dist=a,X.distanceSquare=p,X.distSquare=E,X.negate=b,X.lerp=w,X.applyTransform=R,X.min=O,X.max=z},function(te,X){var S=typeof Float32Array=="undefined"?Array:Float32Array;function K(){var n=new S(6);return y(n),n}function y(n){return n[0]=1,n[1]=0,n[2]=0,n[3]=1,n[4]=0,n[5]=0,n}function L(n,o){return n[0]=o[0],n[1]=o[1],n[2]=o[2],n[3]=o[3],n[4]=o[4],n[5]=o[5],n}function A(n,o,d){var m=o[0]*d[0]+o[2]*d[1],_=o[1]*d[0]+o[3]*d[1],h=o[0]*d[2]+o[2]*d[3],g=o[1]*d[2]+o[3]*d[3],r=o[0]*d[4]+o[2]*d[5]+o[4],a=o[1]*d[4]+o[3]*d[5]+o[5];return n[0]=m,n[1]=_,n[2]=h,n[3]=g,n[4]=r,n[5]=a,n}function s(n,o,d){return n[0]=o[0],n[1]=o[1],n[2]=o[2],n[3]=o[3],n[4]=o[4]+d[0],n[5]=o[5]+d[1],n}function x(n,o,d){var m=o[0],_=o[2],h=o[4],g=o[1],r=o[3],a=o[5],p=Math.sin(d),E=Math.cos(d);return n[0]=m*E+g*p,n[1]=-m*p+g*E,n[2]=_*E+r*p,n[3]=-_*p+E*r,n[4]=E*h+p*a,n[5]=E*a-p*h,n}function c(n,o,d){var m=d[0],_=d[1];return n[0]=o[0]*m,n[1]=o[1]*_,n[2]=o[2]*m,n[3]=o[3]*_,n[4]=o[4]*m,n[5]=o[5]*_,n}function l(n,o){var d=o[0],m=o[2],_=o[4],h=o[1],g=o[3],r=o[5],a=d*g-h*m;return a?(a=1/a,n[0]=g*a,n[1]=-h*a,n[2]=-m*a,n[3]=d*a,n[4]=(m*r-g*_)*a,n[5]=(h*_-d*r)*a,n):null}function f(n){var o=K();return L(o,n),o}X.create=K,X.identity=y,X.copy=L,X.mul=A,X.translate=s,X.rotate=x,X.scale=c,X.invert=l,X.clone=f},function(te,X,S){var K=S(12),y=1e-4;function L(w){return w.replace(/^\s+/,"").replace(/\s+$/,"")}function A(w,R,O,z){var B=R[1]-R[0],P=O[1]-O[0];if(B===0)return P===0?O[0]:(O[0]+O[1])/2;if(z)if(B>0){if(w<=R[0])return O[0];if(w>=R[1])return O[1]}else{if(w>=R[0])return O[0];if(w<=R[1])return O[1]}else{if(w===R[0])return O[0];if(w===R[1])return O[1]}return(w-R[0])/B*P+O[0]}function s(w,R){switch(w){case"center":case"middle":w="50%";break;case"left":case"top":w="0%";break;case"right":case"bottom":w="100%";break}return typeof w=="string"?L(w).match(/%$/)?parseFloat(w)/100*R:parseFloat(w):w==null?NaN:+w}function x(w,R,O){return R==null&&(R=10),R=Math.min(Math.max(0,R),20),w=(+w).toFixed(R),O?w:+w}function c(w){return w.sort(function(R,O){return R-O}),w}function l(w){if(w=+w,isNaN(w))return 0;for(var R=1,O=0;Math.round(w*R)/R!==w;)R*=10,O++;return O}function f(w){var R=w.toString(),O=R.indexOf("e");if(O>0){var z=+R.slice(O+1);return z<0?-z:0}else{var B=R.indexOf(".");return B<0?0:R.length-1-B}}function n(w,R){var O=Math.log,z=Math.LN10,B=Math.floor(O(w[1]-w[0])/z),P=Math.round(O(Math.abs(R[1]-R[0]))/z),F=Math.min(Math.max(-B+P,0),20);return isFinite(F)?F:20}function o(w,R,O){if(!w[R])return 0;var z=K.reduce(w,function(q,se){return q+(isNaN(se)?0:se)},0);if(z===0)return 0;for(var B=Math.pow(10,O),P=K.map(w,function(q){return(isNaN(q)?0:q)/z*B*100}),F=B*100,k=K.map(P,function(q){return Math.floor(q)}),U=K.reduce(k,function(q,se){return q+se},0),G=K.map(P,function(q,se){return q-k[se]});U<F;){for(var C=Number.NEGATIVE_INFINITY,I=null,H=0,$=G.length;H<$;++H)G[H]>C&&(C=G[H],I=H);++k[I],G[I]=0,++U}return k[R]/B}var d=9007199254740991;function m(w){var R=Math.PI*2;return(w%R+R)%R}function _(w){return w>-y&&w<y}var h=/^(?:(\d{4})(?:[-\/](\d{1,2})(?:[-\/](\d{1,2})(?:[T ](\d{1,2})(?::(\d\d)(?::(\d\d)(?:[.,](\d+))?)?)?(Z|[\+\-]\d\d:?\d\d)?)?)?)?)?$/;function g(w){if(w instanceof Date)return w;if(typeof w=="string"){var R=h.exec(w);if(!R)return new Date(NaN);if(R[8]){var O=+R[4]||0;return R[8].toUpperCase()!=="Z"&&(O-=R[8].slice(0,3)),new Date(Date.UTC(+R[1],+(R[2]||1)-1,+R[3]||1,O,+(R[5]||0),+R[6]||0,+R[7]||0))}else return new Date(+R[1],+(R[2]||1)-1,+R[3]||1,+R[4]||0,+(R[5]||0),+R[6]||0,+R[7]||0)}else if(w==null)return new Date(NaN);return new Date(Math.round(w))}function r(w){return Math.pow(10,a(w))}function a(w){return Math.floor(Math.log(w)/Math.LN10)}function p(w,R){var O=a(w),z=Math.pow(10,O),B=w/z,P;return R?B<1.5?P=1:B<2.5?P=2:B<4?P=3:B<7?P=5:P=10:B<1?P=1:B<2?P=2:B<3?P=3:B<5?P=5:P=10,w=P*z,O>=-20?+w.toFixed(O<0?-O:0):w}function E(w){w.sort(function(U,G){return k(U,G,0)?-1:1});for(var R=-1/0,O=1,z=0;z<w.length;){for(var B=w[z].interval,P=w[z].close,F=0;F<2;F++)B[F]<=R&&(B[F]=R,P[F]=F?1:1-O),R=B[F],O=P[F];B[0]===B[1]&&P[0]*P[1]!==1?w.splice(z,1):z++}return w;function k(U,G,C){return U.interval[C]<G.interval[C]||U.interval[C]===G.interval[C]&&(U.close[C]-G.close[C]===(C?-1:1)||!C&&k(U,G,1))}}function b(w){return w-parseFloat(w)>=0}X.linearMap=A,X.parsePercent=s,X.round=x,X.asc=c,X.getPrecision=l,X.getPrecisionSafe=f,X.getPixelPrecision=n,X.getPercentWithPrecision=o,X.MAX_SAFE_INTEGER=d,X.remRadian=m,X.isRadianAroundZero=_,X.parseDate=g,X.quantity=r,X.nice=p,X.reformIntervals=E,X.isNumeric=b},function(te,X,S){"use strict";var K=S(5),y=S(11),L=S(21),A=function(){this._pool={},this._allocatedTextures=[]};A.prototype={constructor:A,get:function(n){var o=c(n);this._pool.hasOwnProperty(o)||(this._pool[o]=[]);var d=this._pool[o];if(!d.length){var m=new K.a(n);return this._allocatedTextures.push(m),m}return d.pop()},put:function(n){var o=c(n);this._pool.hasOwnProperty(o)||(this._pool[o]=[]);var d=this._pool[o];d.push(n)},clear:function(n){for(var o=0;o<this._allocatedTextures.length;o++)this._allocatedTextures[o].dispose(n);this._pool={},this._allocatedTextures=[]}};var s={width:512,height:512,type:y.a.UNSIGNED_BYTE,format:y.a.RGBA,wrapS:y.a.CLAMP_TO_EDGE,wrapT:y.a.CLAMP_TO_EDGE,minFilter:y.a.LINEAR_MIPMAP_LINEAR,magFilter:y.a.LINEAR,useMipmap:!0,anisotropic:1,flipY:!0,unpackAlignment:4,premultiplyAlpha:!1},x=Object.keys(s);function c(n){L.a.defaultsWithPropList(n,s,x),l(n);for(var o="",d=0;d<x.length;d++){var m=x[d],_=n[m].toString();o+=_}return o}function l(n){var o=f(n.width,n.height);n.format===y.a.DEPTH_COMPONENT&&(n.useMipmap=!1),(!o||!n.useMipmap)&&(n.minFilter==y.a.NEAREST_MIPMAP_NEAREST||n.minFilter==y.a.NEAREST_MIPMAP_LINEAR?n.minFilter=y.a.NEAREST:(n.minFilter==y.a.LINEAR_MIPMAP_LINEAR||n.minFilter==y.a.LINEAR_MIPMAP_NEAREST)&&(n.minFilter=y.a.LINEAR)),o||(n.wrapS=y.a.CLAMP_TO_EDGE,n.wrapT=y.a.CLAMP_TO_EDGE)}function f(n,o){return(n&n-1)===0&&(o&o-1)===0}X.a=A},function(te,X,S){"use strict";var K=S(0),y=S.n(K);X.a={getFilledRegions:function(L,A){var s=(L||[]).slice(),x;if(typeof A=="string"?(A=y.a.getMap(A),x=A&&A.geoJson):A&&A.features&&(x=A),!x)return console.error("Map "+A+" not exists. You can download map file on http://echarts.baidu.com/download-map.html"),x.features||console.error("Invalid GeoJSON for map3D"),[];for(var c={},l=x.features,f=0;f<s.length;f++)c[s[f].name]=s[f];for(var f=0;f<l.length;f++){var n=l[f].properties.name;c[n]||s.push({name:n})}return s},defaultOption:{show:!0,zlevel:-10,map:"",left:0,top:0,width:"100%",height:"100%",boxWidth:100,boxHeight:10,boxDepth:"auto",regionHeight:3,environment:"auto",groundPlane:{show:!1,color:"#aaa"},shading:"lambert",light:{main:{alpha:40,beta:30}},viewControl:{alpha:40,beta:0,distance:100,orthographicSize:60,minAlpha:5,minBeta:-80,maxBeta:80},label:{show:!1,distance:2,textStyle:{fontSize:20,color:"#000",backgroundColor:"rgba(255,255,255,0.7)",padding:3,borderRadius:4}},itemStyle:{color:"#fff",borderWidth:0,borderColor:"#333"},emphasis:{itemStyle:{color:"#639fc0"},label:{show:!0}}}}},function(te,X,S){"use strict";function K(s,x,c){var l=s[x];s[x]=s[c],s[c]=l}function y(s,x,c,l,f){var n=c,o=s[x];K(s,x,l);for(var d=c;d<l;d++)f(s[d],o)<0&&(K(s,d,n),n++);return K(s,l,n),n}function L(s,x,c,l){if(c<l){var f=Math.floor((c+l)/2),n=y(s,f,c,l,x);L(s,x,c,n-1),L(s,x,n+1,l)}}function A(){this._parts=[]}A.prototype.step=function(s,x,c){var l=s.length;if(c===0){this._parts=[],this._sorted=!1;var f=Math.floor(l/2);this._parts.push({pivot:f,left:0,right:l-1}),this._currentSortPartIdx=0}if(!this._sorted){var n=this._parts;if(n.length===0)return this._sorted=!0,!0;if(n.length<512){for(var o=0;o<n.length;o++)n[o].pivot=y(s,n[o].pivot,n[o].left,n[o].right,x);for(var d=[],o=0;o<n.length;o++){var m=n[o].left,_=n[o].pivot-1;_>m&&d.push({pivot:Math.floor((_+m)/2),left:m,right:_});var m=n[o].pivot+1,_=n[o].right;_>m&&d.push({pivot:Math.floor((_+m)/2),left:m,right:_})}n=this._parts=d}else for(var o=0;o<Math.floor(n.length/10);o++){var h=n.length-1-this._currentSortPartIdx;if(L(s,x,n[h].left,n[h].right),this._currentSortPartIdx++,this._currentSortPartIdx===n.length)return this._sorted=!0,!0}return!1}},A.sort=L,X.a=A},function(te,X,S){"use strict";var K=S(83),y=S(0),L=S.n(y),A=S(41),s=S.n(A),x=S(20),c=S(3);function l(m,_){var h=m.getBoxLayoutParams(),g=s.a.getLayoutRect(h,{width:_.getWidth(),height:_.getHeight()});g.y=_.getHeight()-g.y-g.height,this.viewGL.setViewport(g.x,g.y,g.width,g.height,_.getDevicePixelRatio());var r=this.getGeoBoundingRect(),a=r.width/r.height*(m.get("aspectScale")||.75),p=m.get("boxWidth"),E=m.get("boxDepth"),b=m.get("boxHeight");b==null&&(b=5),isNaN(p)&&isNaN(E)&&(p=100),isNaN(E)?E=p/a:isNaN(p)&&(p=E/a),this.setSize(p,b,E),this.regionHeight=m.get("regionHeight"),this.altitudeAxis&&this.altitudeAxis.setExtent(0,Math.max(b-this.regionHeight,0))}function f(m,_){var h=[1/0,-1/0];if(m.eachSeries(function(r){if(r.coordinateSystem===this&&r.type!=="series.map3D"){var a=r.getData(),p=r.coordDimToDataDim("alt")[0];if(p){var E=a.getDataExtent(p,!0);h[0]=Math.min(h[0],E[0]),h[1]=Math.max(h[1],E[1])}}},this),h&&isFinite(h[1]-h[0])){var g=L.a.helper.createScale(h,{type:"value",min:"dataMin",max:"dataMax"});this.altitudeAxis=new L.a.Axis("altitude",g),this.resize(this.model,_)}}var n=function(m){console.error("Map "+m+" not exists. You can download map file on http://echarts.baidu.com/download-map.html")},o=0,d={dimensions:K.a.prototype.dimensions,create:function(m,_){var h=[];if(!L.a.getMap)throw new Error("geo3D component depends on geo component");function g(r,a){var p=d.createGeo3D(r);r.__viewGL=r.__viewGL||new x.a,p.viewGL=r.__viewGL,r.coordinateSystem=p,p.model=r,h.push(p),p.resize=l,p.resize(r,_),p.update=f}return m.eachComponent("geo3D",function(r,a){g(r,a)}),m.eachSeriesByType("map3D",function(r,a){var p=r.get("coordinateSystem");p==null&&(p="geo3D"),p==="geo3D"&&g(r,a)}),m.eachSeries(function(r){if(r.get("coordinateSystem")==="geo3D"){if(r.type==="series.map3D")return;var a=r.getReferringComponents("geo3D")[0];if(a||(a=m.getComponent("geo3D")),!a)throw new Error('geo "'+c.a.firstNotNull(r.get("geo3DIndex"),r.get("geo3DId"),0)+'" not found');r.coordinateSystem=a.coordinateSystem}}),h},createGeo3D:function(m){var _=m.get("map"),h;if(typeof _=="string"?(h=_,_=L.a.getMap(_)):_&&_.features&&(_={geoJson:_}),_||n(_),!_.geoJson.features)throw new Error("Invalid GeoJSON for map3D");return h==null&&(h="GEO_ANONYMOUS_"+o++),new K.a(h+o++,h,_&&_.geoJson,_&&_.specialAreas,m.get("nameMap"))}};L.a.registerCoordinateSystem("geo3D",d),X.a=d},function(te,X,S){"use strict";var K=S(0),y=S.n(K),L=S(1),A=S.n(L),s=S(187),x=S.n(s),c=S(188),l=S.n(c),f=A.a.vec3,n=A.a.mat4,o=[x.a,l.a];function d(m,_,h,g,r){this.name=m,this.map=_,this.regionHeight=0,this.regions=[],this._nameCoordMap={},this.loadGeoJson(h,g,r),this.transform=n.identity(new Float64Array(16)),this.invTransform=n.identity(new Float64Array(16)),this.extrudeY=!0,this.altitudeAxis}d.prototype={constructor:d,type:"geo3D",dimensions:["lng","lat","alt"],containPoint:function(){},loadGeoJson:function(m,_,h){var g=y.a.parseGeoJSON||y.a.parseGeoJson;try{this.regions=m?g(m):[]}catch(w){throw`Invalid geoJson format
`+w}_=_||{},h=h||{};for(var r=this.regions,a={},p=0;p<r.length;p++){var E=r[p].name;E=h[E]||E,r[p].name=E,a[E]=r[p],this.addGeoCoord(E,r[p].center);var b=_[E];b&&r[p].transformTo(b.left,b.top,b.width,b.height)}this._regionsMap=a,this._geoRect=null,o.forEach(function(w){w(this)},this)},getGeoBoundingRect:function(){if(this._geoRect)return this._geoRect;for(var m,_=this.regions,h=0;h<_.length;h++){var g=_[h].getBoundingRect();m=m||g.clone(),m.union(g)}return this._geoRect=m||new y.a.graphic.BoundingRect(0,0,0,0)},addGeoCoord:function(m,_){this._nameCoordMap[m]=_},getRegion:function(m){return this._regionsMap[m]},getRegionByCoord:function(m){for(var _=this.regions,h=0;h<_.length;h++)if(_[h].contain(m))return _[h]},setSize:function(m,_,h){this.size=[m,_,h];var g=this.getGeoBoundingRect(),r=m/g.width,a=-h/g.height,p=-m/2-g.x*r,E=h/2-g.y*a,b=this.extrudeY?[p,0,E]:[p,E,0],w=this.extrudeY?[r,1,a]:[r,a,1],R=this.transform;n.identity(R),n.translate(R,R,b),n.scale(R,R,w),n.invert(this.invTransform,R)},dataToPoint:function(m,_){_=_||[];var h=this.extrudeY?1:2,g=this.extrudeY?2:1,r=m[2];return isNaN(r)&&(r=0),_[0]=m[0],_[g]=m[1],this.altitudeAxis?_[h]=this.altitudeAxis.dataToCoord(r):_[h]=0,_[h]+=this.regionHeight,f.transformMat4(_,_,this.transform),_},pointToData:function(m,_){}},X.a=d},function(te,X,S){"use strict";var K=S(77),y=S.n(K),L=S(76),A=S.n(L);function s(x){this.viewGL=x}s.prototype.reset=function(x,c){this._updateCamera(c.getWidth(),c.getHeight(),c.getDevicePixelRatio()),this._viewTransform=y.a.create(),this.updateTransform(x,c)},s.prototype.updateTransform=function(x,c){var l=x.coordinateSystem;l.getRoamTransform&&(y.a.invert(this._viewTransform,l.getRoamTransform()),this._setCameraTransform(this._viewTransform),c.getZr().refresh())},s.prototype.dataToPoint=function(x,c,l){l=x.dataToPoint(c,null,l);var f=this._viewTransform;f&&A.a.applyTransform(l,l,f)},s.prototype.removeTransformInPoint=function(x){return this._viewTransform&&A.a.applyTransform(x,x,this._viewTransform),x},s.prototype.getZoom=function(){if(this._viewTransform){var x=this._viewTransform;return 1/Math.max(Math.sqrt(x[0]*x[0]+x[1]*x[1]),Math.sqrt(x[2]*x[2]+x[3]*x[3]))}return 1},s.prototype._setCameraTransform=function(x){var c=this.viewGL.camera;c.position.set(x[4],x[5],0),c.scale.set(Math.sqrt(x[0]*x[0]+x[1]*x[1]),Math.sqrt(x[2]*x[2]+x[3]*x[3]),1)},s.prototype._updateCamera=function(x,c,l){this.viewGL.setViewport(0,0,x,c,l);var f=this.viewGL.camera;f.left=f.top=0,f.bottom=c,f.right=x,f.near=0,f.far=100},X.a=s},function(te,X,S){(function(K){var y;typeof window!="undefined"?y=window.__DEV__:typeof K!="undefined"&&(y=K.__DEV__),typeof y=="undefined"&&(y=!0);var L=y;X.__DEV__=L}).call(X,S(243))},function(te,X,S){"use strict";var K=S(13),y=S(0),L=S.n(y),A=S(33),s=S(1),x=S.n(s),c=x.a.vec2,l=[[0,0],[1,1]],f=K.a.extend(function(){return{segmentScale:4,dynamic:!0,useNativeLine:!0,attributes:{position:new K.a.Attribute("position","float",2,"POSITION"),normal:new K.a.Attribute("normal","float",2),offset:new K.a.Attribute("offset","float",1),color:new K.a.Attribute("color","float",4,"COLOR")}}},{resetOffset:function(){this._vertexOffset=0,this._faceOffset=0,this._itemVertexOffsets=[]},setVertexCount:function(n){var o=this.attributes;this.vertexCount!==n&&(o.position.init(n),o.color.init(n),this.useNativeLine||(o.offset.init(n),o.normal.init(n)),n>65535?this.indices instanceof Uint16Array&&(this.indices=new Uint32Array(this.indices)):this.indices instanceof Uint32Array&&(this.indices=new Uint16Array(this.indices)))},setTriangleCount:function(n){this.triangleCount!==n&&(n===0?this.indices=null:this.indices=this.vertexCount>65535?new Uint32Array(n*3):new Uint16Array(n*3))},_getCubicCurveApproxStep:function(n,o,d,m){var _=c.dist(n,o)+c.dist(d,o)+c.dist(m,d),h=1/(_+1)*this.segmentScale;return h},getCubicCurveVertexCount:function(n,o,d,m){var _=this._getCubicCurveApproxStep(n,o,d,m),h=Math.ceil(1/_);return this.useNativeLine?h*2:h*2+2},getCubicCurveTriangleCount:function(n,o,d,m){var _=this._getCubicCurveApproxStep(n,o,d,m),h=Math.ceil(1/_);return this.useNativeLine?0:h*2},getLineVertexCount:function(){return this.getPolylineVertexCount(l)},getLineTriangleCount:function(){return this.getPolylineTriangleCount(l)},getPolylineVertexCount:function(n){var o;if(typeof n=="number")o=n;else{var d=typeof n[0]!="number";o=d?n.length:n.length/2}return this.useNativeLine?(o-1)*2:(o-1)*2+2},getPolylineTriangleCount:function(n){var o;if(typeof n=="number")o=n;else{var d=typeof n[0]!="number";o=d?n.length:n.length/2}return this.useNativeLine?0:(o-1)*2},addCubicCurve:function(n,o,d,m,_,h){h==null&&(h=1);for(var g=n[0],r=n[1],a=o[0],p=o[1],E=d[0],b=d[1],w=m[0],R=m[1],O=this._getCubicCurveApproxStep(n,o,d,m),z=O*O,B=z*O,P=3*O,F=3*z,k=6*z,U=6*B,G=g-a*2+E,C=r-p*2+b,I=(a-E)*3-g+w,H=(p-b)*3-r+R,$=g,q=r,se=(a-g)*P+G*F+I*B,ue=(p-r)*P+C*F+H*B,me=G*k+I*U,Ee=C*k+H*U,Le=I*U,Fe=H*U,Ke=0,Te=0,We=Math.ceil(1/O),Ce=new Float32Array((We+1)*3),Ce=[],De=0,Te=0;Te<We+1;Te++)Ce[De++]=$,Ce[De++]=q,$+=se,q+=ue,se+=me,ue+=Ee,me+=Le,Ee+=Fe,Ke+=O,Ke>1&&($=se>0?Math.min($,w):Math.max($,w),q=ue>0?Math.min(q,R):Math.max(q,R));this.addPolyline(Ce,_,h)},addLine:function(n,o,d,m){this.addPolyline([n,o],d,m)},addPolyline:function(){var n=c.create(),o=c.create(),d=c.create(),m=c.create(),_=[],h=[],g=[];return function(r,a,p,E,b){if(r.length){var w=typeof r[0]!="number";if(b==null&&(b=w?r.length:r.length/2),!(b<2)){E==null&&(E=0),p==null&&(p=1),this._itemVertexOffsets.push(this._vertexOffset);for(var R=w?typeof a[0]!="number":a.length/4===b,O=this.attributes.position,z=this.attributes.color,B=this.attributes.offset,P=this.attributes.normal,F=this.indices,k=this._vertexOffset,U,G=0;G<b;G++){if(w)_=r[G+E],R?U=a[G+E]:U=a;else{var C=G*2+E;if(_=_||[],_[0]=r[C],_[1]=r[C+1],R){var I=G*4+E;U=U||[],U[0]=a[I],U[1]=a[I+1],U[2]=a[I+2],U[3]=a[I+3]}else U=a}if(this.useNativeLine)G>1&&(O.copy(k,k-1),z.copy(k,k-1),k++);else{var H;if(G<b-1){if(w)c.copy(h,r[G+1]);else{var C=(G+1)*2+E;h=h||[],h[0]=r[C],h[1]=r[C+1]}if(G>0){c.sub(n,_,g),c.sub(o,h,_),c.normalize(n,n),c.normalize(o,o),c.add(m,n,o),c.normalize(m,m);var $=p/2*Math.min(1/c.dot(n,m),2);d[0]=-m[1],d[1]=m[0],H=$}else c.sub(n,h,_),c.normalize(n,n),d[0]=-n[1],d[1]=n[0],H=p/2}else c.sub(n,_,g),c.normalize(n,n),d[0]=-n[1],d[1]=n[0],H=p/2;P.set(k,d),P.set(k+1,d),B.set(k,H),B.set(k+1,-H),c.copy(g,_),O.set(k,_),O.set(k+1,_),z.set(k,U),z.set(k+1,U),k+=2}if(this.useNativeLine)z.set(k,U),O.set(k,_),k++;else if(G>0){var q=this._faceOffset*3,F=this.indices;F[q]=k-4,F[q+1]=k-3,F[q+2]=k-2,F[q+3]=k-3,F[q+4]=k-1,F[q+5]=k-2,this._faceOffset+=2}}this._vertexOffset=k}}}}(),setItemColor:function(n,o){for(var d=this._itemVertexOffsets[n],m=n<this._itemVertexOffsets.length-1?this._itemVertexOffsets[n+1]:this._vertexOffset,_=d;_<m;_++)this.attributes.color.set(_,o);this.dirty("color")}});L.a.util.defaults(f.prototype,A.a),X.a=f},function(te,X,S){"use strict";Object.defineProperty(X,"__esModule",{value:!0});var K=S(88),y=S(133),L=S(183),A=S(189),s=S(195),x=S(202),c=S(209),l=S(213),f=S(220),n=S(226),o=S(229),d=S(233),m=S(236),_=S(239),h=S(253),g=S(259)},function(te,X,S){"use strict";var K=S(0),y=S.n(K),L=S(89),A=S(90),s=S(101),x=S(2),c={version:"1.0.0",dependencies:{echarts:"4.0.0",claygl:"1.0.0"}},l=c.dependencies;function f(_){throw new Error(_+" version is too old, needs "+l[_]+" or higher")}function n(_,h){_.replace(".","")-0<l[h].replace(".","")-0&&f(h),console.log("Loaded "+h+", version "+_)}n(L.a,"claygl"),n(y.a.version,"echarts");function o(_){this._layers={},this._zr=_}o.prototype.update=function(_,h){var g=this,r=h.getZr();if(!r.getWidth()||!r.getHeight()){console.warn("Dom has no width or height");return}function a(b){var w;b.coordinateSystem&&b.coordinateSystem.model,w=b.get("zlevel");var R=g._layers,O=R[w];if(!O){if(O=R[w]=new A.a("gl-"+w,r),r.painter.isSingleCanvas()){O.virtual=!0;var z=new y.a.graphic.Image({z:1e4,style:{image:O.renderer.canvas},silent:!0});O.__hostImage=z,r.add(z)}r.painter.insertLayer(w,O)}return O.__hostImage&&O.__hostImage.setStyle({width:O.renderer.getWidth(),height:O.renderer.getHeight()}),O}function p(b,w){b&&b.traverse(function(R){R.isRenderable&&R.isRenderable()&&(R.ignorePicking=R.$ignorePicking!=null?R.$ignorePicking:w)})}for(var E in this._layers)this._layers[E].removeViewsAll();_.eachComponent(function(b,w){if(b!=="series"){var R=h.getViewOfComponentModel(w),O=w.coordinateSystem;if(R.__ecgl__){var z;if(O){if(!O.viewGL){console.error("Can't find viewGL in coordinateSystem of component "+w.id);return}z=O.viewGL}else{if(!w.viewGL){console.error("Can't find viewGL of component "+w.id);return}z=O.viewGL}var z=O.viewGL,B=a(w);B.addView(z),R.afterRender&&R.afterRender(w,_,h,B),p(R.groupGL,w.get("silent"))}}}),_.eachSeries(function(b){var w=h.getViewOfSeriesModel(b),R=b.coordinateSystem;if(w.__ecgl__){if(R&&!R.viewGL&&!w.viewGL){console.error("Can't find viewGL of series "+w.id);return}var O=R&&R.viewGL||w.viewGL,z=a(b);z.addView(O),w.afterRender&&w.afterRender(b,_,h,z),p(w.groupGL,b.get("silent"))}})};var d=y.a.init;y.a.init=function(){var _=d.apply(this,arguments);return _.getZr().painter.getRenderedCanvas=function(h){if(h=h||{},this._singleCanvas)return this._layers[0].dom;var g=document.createElement("canvas"),r=h.pixelRatio||this.dpr;g.width=this.getWidth()*r,g.height=this.getHeight()*r;var a=g.getContext("2d");a.dpr=r,a.clearRect(0,0,g.width,g.height),h.backgroundColor&&(a.fillStyle=h.backgroundColor,a.fillRect(0,0,g.width,g.height));var p=this.storage.getDisplayList(!0),E={},b,w=this;function R(P,F){var k=w._zlevelList;P==null&&(P=-1/0);for(var U,G=0;G<k.length;G++){var C=k[G],I=w._layers[C];if(!I.__builtin__&&C>P&&C<F){U=I;break}}U&&U.renderToCanvas&&(a.save(),U.renderToCanvas(a),a.restore())}for(var O={ctx:a},z=0;z<p.length;z++){var B=p[z];B.zlevel!==b&&(R(b,B.zlevel),b=B.zlevel),this._doPaintEl(B,O,!0,E)}return R(b,1/0),g},_},y.a.registerPostUpdate(function(_,h){var g=h.getZr(),r=g.__egl=g.__egl||new o(g);r.update(_,h)}),y.a.registerPreprocessor(s.a),y.a.graphicGL=x.a;var m=o},function(te,X,S){"use strict";X.a="1.0.0"},function(te,X,S){"use strict";var K=S(0),y=S.n(K),L=S(46),A=S(100),s=S(6),x=S(47),c=S(65),l=S.n(c),f=function(g,r){this.id=g,this.zr=r;try{this.renderer=new L.a({clearBit:0,devicePixelRatio:r.painter.dpr,preserveDrawingBuffer:!0,premultipliedAlpha:!0}),this.renderer.resize(r.painter.getWidth(),r.painter.getHeight())}catch(p){this.renderer=null,this.dom=document.createElement("div"),this.dom.style.cssText="position:absolute; left: 0; top: 0; right: 0; bottom: 0;",this.dom.className="ecgl-nowebgl",this.dom.innerHTML="Sorry, your browser does support WebGL",console.error(p);return}this.onglobalout=this.onglobalout.bind(this),r.on("globalout",this.onglobalout),this.dom=this.renderer.canvas;var a=this.dom.style;a.position="absolute",a.left="0",a.top="0",this.views=[],this._picking=new A.a({renderer:this.renderer}),this._viewsToDispose=[],this._accumulatingId=0,this._zrEventProxy=new y.a.graphic.Rect({shape:{x:-1,y:-1,width:2,height:2},__isGLToZRProxy:!0})};f.prototype.addView=function(g){if(g.layer!==this){var r=this._viewsToDispose.indexOf(g);r>=0&&this._viewsToDispose.splice(r,1),this.views.push(g),g.layer=this;var a=this.zr;g.scene.traverse(function(p){p.__zr=a,p.addAnimatorsToZr&&p.addAnimatorsToZr(a)})}};function n(g){var r=g.__zr;g.__zr=null,r&&g.removeAnimatorsFromZr&&g.removeAnimatorsFromZr(r)}f.prototype.removeView=function(g){if(g.layer===this){var r=this.views.indexOf(g);r>=0&&(this.views.splice(r,1),g.scene.traverse(n,this),g.layer=null,this._viewsToDispose.push(g))}},f.prototype.removeViewsAll=function(){this.views.forEach(function(g){g.scene.traverse(n,this),g.layer=null,this._viewsToDispose.push(g)},this),this.views.length=0},f.prototype.resize=function(g,r){var a=this.renderer;a.resize(g,r)},f.prototype.clear=function(){var g=this.renderer.gl;g.clearColor(0,0,0,0),g.depthMask(!0),g.colorMask(!0,!0,!0,!0),g.clear(g.DEPTH_BUFFER_BIT|g.COLOR_BUFFER_BIT)},f.prototype.clearDepth=function(){var g=this.renderer.gl;g.clear(g.DEPTH_BUFFER_BIT)},f.prototype.clearColor=function(){var g=this.renderer.gl;g.clearColor(0,0,0,0),g.clear(g.COLOR_BUFFER_BIT)},f.prototype.needsRefresh=function(){this.zr.refresh()},f.prototype.refresh=function(){for(var g=0;g<this.views.length;g++)this.views[g].prepareRender();this._doRender(!1),this._trackAndClean();for(var g=0;g<this._viewsToDispose.length;g++)this._viewsToDispose[g].dispose(this.renderer);this._viewsToDispose.length=0,this._startAccumulating()},f.prototype.renderToCanvas=function(g){this._startAccumulating(!0),g.drawImage(this.dom,0,0,g.canvas.width,g.canvas.height)},f.prototype._doRender=function(g){this.clear(),this.renderer.saveViewport();for(var r=0;r<this.views.length;r++)this.views[r].render(this.renderer,g);this.renderer.restoreViewport()},f.prototype._stopAccumulating=function(){this._accumulatingId=0,clearTimeout(this._accumulatingTimeout)};var o=1;f.prototype._startAccumulating=function(g){var r=this;this._stopAccumulating();for(var a=!1,p=0;p<this.views.length;p++)a=this.views[p].needsAccumulate()||a;if(!a)return;function E(b){if(!(!r._accumulatingId||b!==r._accumulatingId)){for(var w=!0,R=0;R<r.views.length;R++)w=r.views[R].isAccumulateFinished()&&a;w||(r._doRender(!0),g?E(b):l()(function(){E(b)}))}}this._accumulatingId=o++,g?E(r._accumulatingId):this._accumulatingTimeout=setTimeout(function(){E(r._accumulatingId)},50)},f.prototype._trackAndClean=function(){var g=[],r=[];this._textureList&&(d(this._textureList),d(this._geometriesList));for(var a=0;a<this.views.length;a++)h(this.views[a].scene,g,r);this._textureList&&(m(this.renderer,this._textureList),m(this.renderer,this._geometriesList)),this._textureList=g,this._geometriesList=r};function d(g){for(var r=0;r<g.length;r++)g[r].__used__=0}function m(g,r){for(var a=0;a<r.length;a++)r[a].__used__||r[a].dispose(g)}function _(g,r){g.__used__=g.__used__||0,g.__used__++,g.__used__===1&&r.push(g)}function h(g,r,a){function p(b){for(var w,R,O=0;O<b.length;O++){var z=b[O],B=z.geometry,P=z.material;if(P!==w)for(var F=P.getTextureUniforms(),k=0;k<F.length;k++){var U=F[k],G=P.uniforms[U].value;if(G){if(G instanceof s.a)_(G,r);else if(G instanceof Array)for(var C=0;C<G.length;C++)G[C]instanceof s.a&&_(G[C],r)}}B!==R&&_(B,a),w=P,R=B}}p(g.opaqueList),p(g.transparentList);for(var E=0;E<g.lights.length;E++)g.lights[E].cubemap&&_(g.lights[E].cubemap,r)}f.prototype.dispose=function(){this._stopAccumulating(),this.renderer.disposeScene(this.scene),this.zr.off("globalout",this.onglobalout)},f.prototype.onmousedown=function(g){if(!(g.target&&g.target.__isGLToZRProxy)){g=g.event;var r=this.pickObject(g.offsetX,g.offsetY);r&&(this._dispatchEvent("mousedown",g,r),this._dispatchDataEvent("mousedown",g,r)),this._downX=g.offsetX,this._downY=g.offsetY}},f.prototype.onmousemove=function(g){if(!(g.target&&g.target.__isGLToZRProxy)){g=g.event;var r=this.pickObject(g.offsetX,g.offsetY),a=r&&r.target,p=this._hovered;this._hovered=r,p&&a!==p.target&&(p.relatedTarget=a,this._dispatchEvent("mouseout",g,p),this.zr.setCursorStyle("default")),this._dispatchEvent("mousemove",g,r),r&&(this.zr.setCursorStyle("pointer"),(!p||a!==p.target)&&this._dispatchEvent("mouseover",g,r)),this._dispatchDataEvent("mousemove",g,r)}},f.prototype.onmouseup=function(g){if(!(g.target&&g.target.__isGLToZRProxy)){g=g.event;var r=this.pickObject(g.offsetX,g.offsetY);r&&(this._dispatchEvent("mouseup",g,r),this._dispatchDataEvent("mouseup",g,r)),this._upX=g.offsetX,this._upY=g.offsetY}},f.prototype.onclick=f.prototype.dblclick=function(g){if(!(g.target&&g.target.__isGLToZRProxy)){var r=this._upX-this._downX,a=this._upY-this._downY;if(!(Math.sqrt(r*r+a*a)>20)){g=g.event;var p=this.pickObject(g.offsetX,g.offsetY);p&&(this._dispatchEvent(g.type,g,p),this._dispatchDataEvent(g.type,g,p));var E=this._clickToSetFocusPoint(g);if(E){var b=E.view.setDOFFocusOnPoint(E.distance);b&&this.zr.refresh()}}}},f.prototype._clickToSetFocusPoint=function(g){for(var r=this.renderer,a=r.viewport,p=this.views.length-1;p>=0;p--){var E=this.views[p];if(E.hasDOF()&&E.containPoint(g.offsetX,g.offsetY)){this._picking.scene=E.scene,this._picking.camera=E.camera,r.viewport=E.viewport;var b=this._picking.pick(g.offsetX,g.offsetY,!0);if(b)return b.view=E,b}}r.viewport=a},f.prototype.onglobalout=function(g){var r=this._hovered;r&&this._dispatchEvent("mouseout",g,{target:r.target})},f.prototype.pickObject=function(g,r){for(var a=[],p=this.renderer,E=p.viewport,b=0;b<this.views.length;b++){var w=this.views[b];w.containPoint(g,r)&&(this._picking.scene=w.scene,this._picking.camera=w.camera,p.viewport=w.viewport,this._picking.pickAll(g,r,a))}return p.viewport=E,a.sort(function(R,O){return R.distance-O.distance}),a[0]},f.prototype._dispatchEvent=function(g,r,a){a||(a={});var p=a.target;for(a.cancelBubble=!1,a.event=r,a.type=g,a.offsetX=r.offsetX,a.offsetY=r.offsetY;p&&(p.trigger(g,a),p=p.getParent(),!a.cancelBubble););this._dispatchToView(g,a)},f.prototype._dispatchDataEvent=function(g,r,a){var p=a&&a.target,E=p&&p.dataIndex,b=p&&p.seriesIndex,w=p&&p.eventData,R=!1,O=this._zrEventProxy;O.position=[r.offsetX,r.offsetY],O.update();var z={target:O};g==="mousemove"&&(E!=null?E!==this._lastDataIndex&&(parseInt(this._lastDataIndex,10)>=0&&(O.dataIndex=this._lastDataIndex,O.seriesIndex=this._lastSeriesIndex,this.zr.handler.dispatchToElement(z,"mouseout",r)),R=!0):w!=null&&w!==this._lastEventData&&(this._lastEventData!=null&&(O.eventData=this._lastEventData,this.zr.handler.dispatchToElement(z,"mouseout",r)),R=!0),this._lastEventData=w,this._lastDataIndex=E,this._lastSeriesIndex=b),O.eventData=w,O.dataIndex=E,O.seriesIndex=b,(w!=null||parseInt(E,10)>=0)&&(this.zr.handler.dispatchToElement(z,g,r),R&&this.zr.handler.dispatchToElement(z,"mouseover",r))},f.prototype._dispatchToView=function(g,r){for(var a=0;a<this.views.length;a++)this.views[a].containPoint(r.offsetX,r.offsetY)&&this.views[a].trigger(g,r)},y.a.util.extend(f.prototype,x.a),X.a=f},function(te,X,S){"use strict";function K(A,s,x){typeof s=="object"&&(x=s,s=null);var c=this,l;if(!(A instanceof Function)){l=[];for(var f in A)A.hasOwnProperty(f)&&l.push(f)}var n=function(d){if(c.apply(this,arguments),A instanceof Function?y(this,A.call(this,d)):L(this,A,l),this.constructor===n)for(var m=n.__initializers__,_=0;_<m.length;_++)m[_].apply(this,arguments)};n.__super__=c,c.__initializers__?n.__initializers__=c.__initializers__.slice():n.__initializers__=[],s&&n.__initializers__.push(s);var o=function(){};return o.prototype=c.prototype,n.prototype=new o,n.prototype.constructor=n,y(n.prototype,x),n.extend=c.extend,n.derive=c.extend,n}function y(A,s){if(s)for(var x in s)s.hasOwnProperty(x)&&(A[x]=s[x])}function L(A,s,x){for(var c=0;c<x.length;c++){var l=x[c];A[l]=s[l]}}X.a={extend:K,derive:K}},function(te,X,S){"use strict";var K=["OES_texture_float","OES_texture_half_float","OES_texture_float_linear","OES_texture_half_float_linear","OES_standard_derivatives","OES_vertex_array_object","OES_element_index_uint","WEBGL_compressed_texture_s3tc","WEBGL_depth_texture","EXT_texture_filter_anisotropic","EXT_shader_texture_lod","WEBGL_draw_buffers","EXT_frag_depth","EXT_sRGB"],y=["MAX_TEXTURE_SIZE","MAX_CUBE_MAP_TEXTURE_SIZE"];function L(A){for(var s={},x={},c=0;c<K.length;c++){var l=K[c];n(l)}for(var c=0;c<y.length;c++){var f=y[c];x[f]=A.getParameter(A[f])}this.getExtension=function(o){return o in s||n(o),s[o]},this.getParameter=function(o){return x[o]};function n(o){var d=A.getExtension(o);d||(d=A.getExtension("MOZ_"+o)),d||(d=A.getExtension("WEBKIT_"+o)),s[o]=d}}X.a=L},function(te,X,S){"use strict";var K=S(94),y={},L={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};function A(a){return a=Math.round(a),a<0?0:a>255?255:a}function s(a){return a=Math.round(a),a<0?0:a>360?360:a}function x(a){return a<0?0:a>1?1:a}function c(a){return a.length&&a.charAt(a.length-1)==="%"?A(parseFloat(a)/100*255):A(parseInt(a,10))}function l(a){return a.length&&a.charAt(a.length-1)==="%"?x(parseFloat(a)/100):x(parseFloat(a))}function f(a,p,E){return E<0?E+=1:E>1&&(E-=1),E*6<1?a+(p-a)*E*6:E*2<1?p:E*3<2?a+(p-a)*(2/3-E)*6:a}function n(a,p,E){return a+(p-a)*E}function o(a,p,E,b,w){return a[0]=p,a[1]=E,a[2]=b,a[3]=w,a}function d(a,p){return a[0]=p[0],a[1]=p[1],a[2]=p[2],a[3]=p[3],a}var m=new K.a(20),_=null;function h(a,p){_&&d(_,p),_=m.put(a,_||p.slice())}y.parse=function(a,p){if(a){p=p||[];var E=m.get(a);if(E)return d(p,E);a=a+"";var b=a.replace(/ /g,"").toLowerCase();if(b in L)return d(p,L[b]),h(a,p),p;if(b.charAt(0)==="#"){if(b.length===4){var w=parseInt(b.substr(1),16);if(!(w>=0&&w<=4095)){o(p,0,0,0,1);return}return o(p,(w&3840)>>4|(w&3840)>>8,w&240|(w&240)>>4,w&15|(w&15)<<4,1),h(a,p),p}else if(b.length===7){var w=parseInt(b.substr(1),16);if(!(w>=0&&w<=16777215)){o(p,0,0,0,1);return}return o(p,(w&16711680)>>16,(w&65280)>>8,w&255,1),h(a,p),p}return}var R=b.indexOf("("),O=b.indexOf(")");if(R!==-1&&O+1===b.length){var z=b.substr(0,R),B=b.substr(R+1,O-(R+1)).split(","),P=1;switch(z){case"rgba":if(B.length!==4){o(p,0,0,0,1);return}P=l(B.pop());case"rgb":if(B.length!==3){o(p,0,0,0,1);return}return o(p,c(B[0]),c(B[1]),c(B[2]),P),h(a,p),p;case"hsla":if(B.length!==4){o(p,0,0,0,1);return}return B[3]=l(B[3]),g(B,p),h(a,p),p;case"hsl":if(B.length!==3){o(p,0,0,0,1);return}return g(B,p),h(a,p),p;default:return}}o(p,0,0,0,1)}},y.parseToFloat=function(a,p){if(p=y.parse(a,p),!!p)return p[0]/=255,p[1]/=255,p[2]/=255,p};function g(a,p){var E=(parseFloat(a[0])%360+360)%360/360,b=l(a[1]),w=l(a[2]),R=w<=.5?w*(b+1):w+b-w*b,O=w*2-R;return p=p||[],o(p,A(f(O,R,E+1/3)*255),A(f(O,R,E)*255),A(f(O,R,E-1/3)*255),1),a.length===4&&(p[3]=a[3]),p}function r(a){if(a){var p=a[0]/255,E=a[1]/255,b=a[2]/255,w=Math.min(p,E,b),R=Math.max(p,E,b),O=R-w,z=(R+w)/2,B,P;if(O===0)B=0,P=0;else{z<.5?P=O/(R+w):P=O/(2-R-w);var F=((R-p)/6+O/2)/O,k=((R-E)/6+O/2)/O,U=((R-b)/6+O/2)/O;p===R?B=U-k:E===R?B=1/3+F-U:b===R&&(B=2/3+k-F),B<0&&(B+=1),B>1&&(B-=1)}var G=[B*360,P,z];return a[3]!=null&&G.push(a[3]),G}}y.lift=function(a,p){var E=y.parse(a);if(E){for(var b=0;b<3;b++)p<0?E[b]=E[b]*(1-p)|0:E[b]=(255-E[b])*p+E[b]|0;return y.stringify(E,E.length===4?"rgba":"rgb")}},y.toHex=function(a){var p=y.parse(a);if(p)return((1<<24)+(p[0]<<16)+(p[1]<<8)+ +p[2]).toString(16).slice(1)},y.fastLerp=function(a,p,E){if(!(!(p&&p.length)||!(a>=0&&a<=1))){E=E||[];var b=a*(p.length-1),w=Math.floor(b),R=Math.ceil(b),O=p[w],z=p[R],B=b-w;return E[0]=A(n(O[0],z[0],B)),E[1]=A(n(O[1],z[1],B)),E[2]=A(n(O[2],z[2],B)),E[3]=x(n(O[3],z[3],B)),E}},y.fastMapToColor=y.fastLerp,y.lerp=function(a,p,E){if(!(!(p&&p.length)||!(a>=0&&a<=1))){var b=a*(p.length-1),w=Math.floor(b),R=Math.ceil(b),O=y.parse(p[w]),z=y.parse(p[R]),B=b-w,P=y.stringify([A(n(O[0],z[0],B)),A(n(O[1],z[1],B)),A(n(O[2],z[2],B)),x(n(O[3],z[3],B))],"rgba");return E?{color:P,leftIndex:w,rightIndex:R,value:b}:P}},y.mapToColor=y.lerp,y.modifyHSL=function(a,p,E,b){if(a=y.parse(a),a)return a=r(a),p!=null&&(a[0]=s(p)),E!=null&&(a[1]=l(E)),b!=null&&(a[2]=l(b)),y.stringify(g(a),"rgba")},y.modifyAlpha=function(a,p){if(a=y.parse(a),a&&p!=null)return a[3]=x(p),y.stringify(a,"rgba")},y.stringify=function(a,p){if(!(!a||!a.length)){var E=a[0]+","+a[1]+","+a[2];return(p==="rgba"||p==="hsva"||p==="hsla")&&(E+=","+a[3]),p+"("+E+")"}},X.a=y},function(te,X,S){"use strict";var K=S(95),y=function(L){this._list=new K.a,this._map={},this._maxSize=L||10};y.prototype.setMaxSize=function(L){this._maxSize=L},y.prototype.put=function(L,A){if(typeof this._map[L]=="undefined"){var s=this._list.length();if(s>=this._maxSize&&s>0){var x=this._list.head;this._list.remove(x),delete this._map[x.key]}var c=this._list.insert(A);c.key=L,this._map[L]=c}},y.prototype.get=function(L){var A=this._map[L];if(typeof A!="undefined")return A!==this._list.tail&&(this._list.remove(A),this._list.insertEntry(A)),A.value},y.prototype.remove=function(L){var A=this._map[L];typeof A!="undefined"&&(delete this._map[L],this._list.remove(A))},y.prototype.clear=function(){this._list.clear(),this._map={}},X.a=y},function(te,X,S){"use strict";var K=function(){this.head=null,this.tail=null,this._length=0};K.prototype.insert=function(y){var L=new K.Entry(y);return this.insertEntry(L),L},K.prototype.insertAt=function(y,L){if(!(y<0)){for(var A=this.head,s=0;A&&s!=y;)A=A.next,s++;if(A){var x=new K.Entry(L),c=A.prev;c?(c.next=x,x.prev=c):this.head=x,x.next=A,A.prev=x}else this.insert(L)}},K.prototype.insertBeforeEntry=function(y,L){var A=new K.Entry(y),s=L.prev;s?(s.next=A,A.prev=s):this.head=A,A.next=L,L.prev=A,this._length++},K.prototype.insertEntry=function(y){this.head?(this.tail.next=y,y.prev=this.tail,this.tail=y):this.head=this.tail=y,this._length++},K.prototype.remove=function(y){var L=y.prev,A=y.next;L?L.next=A:this.head=A,A?A.prev=L:this.tail=L,y.next=y.prev=null,this._length--},K.prototype.removeAt=function(y){if(!(y<0)){for(var L=this.head,A=0;L&&A!=y;)L=L.next,A++;if(L)return this.remove(L),L.value}},K.prototype.getHead=function(){if(this.head)return this.head.value},K.prototype.getTail=function(){if(this.tail)return this.tail.value},K.prototype.getAt=function(y){if(!(y<0)){for(var L=this.head,A=0;L&&A!=y;)L=L.next,A++;return L.value}},K.prototype.indexOf=function(y){for(var L=this.head,A=0;L;){if(L.value===y)return A;L=L.next,A++}},K.prototype.length=function(){return this._length},K.prototype.isEmpty=function(){return this._length===0},K.prototype.forEach=function(y,L){for(var A=this.head,s=0,x=typeof L!="undefined";A;)x?y.call(L,A.value,s):y(A.value,s),A=A.next,s++},K.prototype.clear=function(){this.tail=this.head=null,this._length=0},K.Entry=function(y){this.value=y,this.next=null,this.prev=null},X.a=K},function(te,X,S){"use strict";var K=S(97),y=/for\s*?\(int\s*?_idx_\s*\=\s*([\w-]+)\;\s*_idx_\s*<\s*([\w-]+);\s*_idx_\s*\+\+\s*\)\s*\{\{([\s\S]+?)(?=\}\})\}\}/g;function L(l,f,n){function o(_,h,g,r){var a="";isNaN(h)&&(h in f?h=f[h]:h=d[h]),isNaN(g)&&(g in f?g=f[g]:g=d[g]);for(var p=parseInt(h);p<parseInt(g);p++)a+="{"+r.replace(/float\s*\(\s*_idx_\s*\)/g,p.toFixed(1)).replace(/_idx_/g,p)+"}";return a}var d={};for(var m in n)d[m+"_COUNT"]=n[m];return l.replace(y,o)}function A(l,f,n){var o=[];if(f)for(var d in f){var m=f[d];m>0&&o.push("#define "+d.toUpperCase()+"_COUNT "+m)}if(n)for(var _=0;_<n.length;_++){var h=n[_];o.push("#define "+h.toUpperCase()+"_ENABLED")}for(var h in l){var g=l[h];g===null?o.push("#define "+h):o.push("#define "+h+" "+g.toString())}return o.join(`
`)}function s(l){for(var f=[],n=0;n<l.length;n++)f.push("#extension GL_"+l[n]+" : enable");return f.join(`
`)}function x(l){return["precision",l,"float"].join(" ")+`;
`+["precision",l,"int"].join(" ")+`;
`+["precision",l,"sampler2D"].join(" ")+`;
`}function c(l){this._renderer=l,this._cache={}}c.prototype.getProgram=function(l,f,n){var o=this._cache,d="s"+f.shader.shaderID+"m"+f.programKey;n&&(d+="se"+n.getProgramKey(l.lightGroup)),l.isSkinnedMesh()&&(d+=","+l.joints.length);var O=o[d];if(O)return O;var m=n?n.getLightsNumbers(l.lightGroup):{},_=this._renderer,h=_.gl,g=f.getEnabledTextures(),r="";l.isSkinnedMesh()&&(r=`
`+A({SKINNING:null,JOINT_COUNT:l.joints.length})+`
`);var a=r+A(f.vertexDefines,m,g),p=r+A(f.fragmentDefines,m,g),E=a+`
`+f.shader.vertex,b=s(["OES_standard_derivatives","EXT_shader_texture_lod"])+`
`+x(f.precision)+`
`+p+`
`+f.shader.fragment,w=L(E,f.vertexDefines,m),R=L(b,f.fragmentDefines,m),O=new K.a;O.uniformSemantics=f.shader.uniformSemantics,O.attributes=f.shader.attributes;var z=O.buildProgram(h,f.shader,w,R);return O.__error=z,o[d]=O,O},X.a=c},function(te,X,S){"use strict";var K=S(18),y=S(8),L=1,A=2,s=3,x={};function c(n){for(var o=n.split(`
`),d=0,m=o.length;d<m;d++)o[d]=d+1+": "+o[d];return o.join(`
`)}function l(n,o,d){if(!n.getShaderParameter(o,n.COMPILE_STATUS))return[n.getShaderInfoLog(o),c(d)].join(`
`)}var f=y.a.extend({uniformSemantics:{},attributes:{}},function(){this._locations={},this._textureSlot=0,this._program=null},{bind:function(n){this._textureSlot=0,n.gl.useProgram(this._program)},hasUniform:function(n){var o=this._locations[n];return o!=null},useTextureSlot:function(n,o,d){o&&(n.gl.activeTexture(n.gl.TEXTURE0+d),o.isRenderable()?o.bind(n):o.unbind(n))},currentTextureSlot:function(){return this._textureSlot},resetTextureSlot:function(n){this._textureSlot=n||0},takeCurrentTextureSlot:function(n,o){var d=this._textureSlot;return this.useTextureSlot(n,o,d),this._textureSlot++,d},setUniform:function(n,o,d,m){var _=this._locations,h=_[d];if(h==null)return!1;switch(o){case"m4":n.uniformMatrix4fv(h,!1,m);break;case"2i":n.uniform2i(h,m[0],m[1]);break;case"2f":n.uniform2f(h,m[0],m[1]);break;case"3i":n.uniform3i(h,m[0],m[1],m[2]);break;case"3f":n.uniform3f(h,m[0],m[1],m[2]);break;case"4i":n.uniform4i(h,m[0],m[1],m[2],m[3]);break;case"4f":n.uniform4f(h,m[0],m[1],m[2],m[3]);break;case"1i":n.uniform1i(h,m);break;case"1f":n.uniform1f(h,m);break;case"1fv":n.uniform1fv(h,m);break;case"1iv":n.uniform1iv(h,m);break;case"2iv":n.uniform2iv(h,m);break;case"2fv":n.uniform2fv(h,m);break;case"3iv":n.uniform3iv(h,m);break;case"3fv":n.uniform3fv(h,m);break;case"4iv":n.uniform4iv(h,m);break;case"4fv":n.uniform4fv(h,m);break;case"m2":case"m2v":n.uniformMatrix2fv(h,!1,m);break;case"m3":case"m3v":n.uniformMatrix3fv(h,!1,m);break;case"m4v":if(Array.isArray(m)){for(var g=new K.a.Float32Array(m.length*16),r=0,a=0;a<m.length;a++)for(var p=m[a],E=0;E<16;E++)g[r++]=p[E];n.uniformMatrix4fv(h,!1,g)}else m instanceof K.a.Float32Array&&n.uniformMatrix4fv(h,!1,m);break}return!0},setUniformOfSemantic:function(n,o,d){var m=this.uniformSemantics[o];return m?this.setUniform(n,m.type,m.symbol,d):!1},enableAttributes:function(n,o,d){var m=n.gl,_=this._program,h=this._locations,g;d?g=d.__enabledAttributeList:g=x[n.__uid__],g||(d?g=d.__enabledAttributeList=[]:g=x[n.__uid__]=[]);for(var r=[],a=0;a<o.length;a++){var p=o[a];if(!this.attributes[p]){r[a]=-1;continue}var E=h[p];if(E==null){if(E=m.getAttribLocation(_,p),E===-1){r[a]=-1;continue}h[p]=E}r[a]=E,g[E]?g[E]=A:g[E]=L}for(var a=0;a<g.length;a++)switch(g[a]){case L:m.enableVertexAttribArray(a),g[a]=s;break;case A:g[a]=s;break;case s:m.disableVertexAttribArray(a),g[a]=0;break}return r},buildProgram:function(n,o,d,m){var _=n.createShader(n.VERTEX_SHADER),h=n.createProgram();n.shaderSource(_,d),n.compileShader(_);var g=n.createShader(n.FRAGMENT_SHADER);n.shaderSource(g,m),n.compileShader(g);var r=l(n,_,d);if(r||(r=l(n,g,m),r))return r;if(n.attachShader(h,_),n.attachShader(h,g),o.attributeSemantics.POSITION)n.bindAttribLocation(h,0,o.attributeSemantics.POSITION.symbol);else{var a=Object.keys(this.attributes);n.bindAttribLocation(h,0,a[0])}if(n.linkProgram(h),!n.getProgramParameter(h,n.LINK_STATUS))return`Could not link program
VALIDATE_STATUS: `+n.getProgramParameter(h,n.VALIDATE_STATUS)+", gl error ["+n.getError()+"]";for(var p=0;p<o.uniforms.length;p++){var E=o.uniforms[p];this._locations[E]=n.getUniformLocation(h,E)}n.deleteShader(_),n.deleteShader(g),this._program=h,this.vertexCode=d,this.fragmentCode=m}});X.a=f},function(te,X,S){"use strict";var K=S(99),y="uniform vec3 ",L="uniform float ",A="@export clay.header.",s="@end",x=":unconfigurable;";X.a=[A+"directional_light",y+"directionalLightDirection[DIRECTIONAL_LIGHT_COUNT]"+x,y+"directionalLightColor[DIRECTIONAL_LIGHT_COUNT]"+x,s,A+"ambient_light",y+"ambientLightColor[AMBIENT_LIGHT_COUNT]"+x,s,A+"ambient_sh_light",y+"ambientSHLightColor[AMBIENT_SH_LIGHT_COUNT]"+x,y+"ambientSHLightCoefficients[AMBIENT_SH_LIGHT_COUNT * 9]"+x,K.a,s,A+"ambient_cubemap_light",y+"ambientCubemapLightColor[AMBIENT_CUBEMAP_LIGHT_COUNT]"+x,"uniform samplerCube ambientCubemapLightCubemap[AMBIENT_CUBEMAP_LIGHT_COUNT]"+x,"uniform sampler2D ambientCubemapLightBRDFLookup[AMBIENT_CUBEMAP_LIGHT_COUNT]"+x,s,A+"point_light",y+"pointLightPosition[POINT_LIGHT_COUNT]"+x,L+"pointLightRange[POINT_LIGHT_COUNT]"+x,y+"pointLightColor[POINT_LIGHT_COUNT]"+x,s,A+"spot_light",y+"spotLightPosition[SPOT_LIGHT_COUNT]"+x,y+"spotLightDirection[SPOT_LIGHT_COUNT]"+x,L+"spotLightRange[SPOT_LIGHT_COUNT]"+x,L+"spotLightUmbraAngleCosine[SPOT_LIGHT_COUNT]"+x,L+"spotLightPenumbraAngleCosine[SPOT_LIGHT_COUNT]"+x,L+"spotLightFalloffFactor[SPOT_LIGHT_COUNT]"+x,y+"spotLightColor[SPOT_LIGHT_COUNT]"+x,s].join(`
`)},function(te,X,S){"use strict";X.a=`vec3 calcAmbientSHLight(int idx, vec3 N) {
int offset = 9 * idx;
return ambientSHLightCoefficients[0]
+ ambientSHLightCoefficients[1] * N.x
+ ambientSHLightCoefficients[2] * N.y
+ ambientSHLightCoefficients[3] * N.z
+ ambientSHLightCoefficients[4] * N.x * N.z
+ ambientSHLightCoefficients[5] * N.z * N.y
+ ambientSHLightCoefficients[6] * N.y * N.x
+ ambientSHLightCoefficients[7] * (3.0 * N.z * N.z - 1.0)
+ ambientSHLightCoefficients[8] * (N.x * N.x - N.y * N.y);
}`},function(te,X,S){"use strict";var K=S(8),y=S(49),L=S(23),A=S(4),s=S(9),x=S(64),c=S(11),l=S(1),f=S.n(l),n=f.a.vec3,o=K.a.extend({scene:null,camera:null,renderer:null},function(){this._ray=new y.a,this._ndc=new L.a},{pick:function(d,m,_){var h=this.pickAll(d,m,[],_);return h[0]||null},pickAll:function(d,m,_,h){return this.renderer.screenToNDC(d,m,this._ndc),this.camera.castRay(this._ndc,this._ray),_=_||[],this._intersectNode(this.scene,_,h||!1),_.sort(this._intersectionCompareFunc),_},_intersectNode:function(d,m,_){d instanceof x.a&&d.isRenderable()&&(!d.ignorePicking||_)&&(d.mode===c.a.TRIANGLES&&d.geometry.isUseIndices()||d.geometry.pickByRay||d.geometry.pick)&&this._intersectRenderable(d,m);for(var h=0;h<d._children.length;h++)this._intersectNode(d._children[h],m,_)},_intersectRenderable:function(){var d=new A.a,m=new A.a,_=new A.a,h=new y.a,g=new s.a;return function(r,a){var p=r.isSkinnedMesh();h.copy(this._ray),s.a.invert(g,r.worldTransform),p||h.applyTransform(g);var E=r.geometry;if(!(!p&&E.boundingBox&&!h.intersectBoundingBox(E.boundingBox))){if(E.pick){E.pick(this._ndc.x,this._ndc.y,this.renderer,this.camera,r,a);return}else if(E.pickByRay){E.pickByRay(h,r,a);return}var b=r.cullFace===c.a.BACK&&r.frontFace===c.a.CCW||r.cullFace===c.a.FRONT&&r.frontFace===c.a.CW,w,R=E.indices,O=E.attributes.position,z=E.attributes.weight,B=E.attributes.joint,P,F=[];if(!(!O||!O.value||!R)){if(p){P=r.skeleton.getSubSkinMatrices(r.__uid__,r.joints);for(var k=0;k<r.joints.length;k++){F[k]=F[k]||[];for(var U=0;U<16;U++)F[k][U]=P[k*16+U]}var G=[],C=[],I=[],H=[],$=[],q=E.attributes.skinnedPosition;(!q||!q.value)&&(E.createAttribute("skinnedPosition","f",3),q=E.attributes.skinnedPosition,q.init(E.vertexCount));for(var k=0;k<E.vertexCount;k++){O.get(k,G),z.get(k,C),B.get(k,I),C[3]=1-C[0]-C[1]-C[2],n.set(H,0,0,0);for(var U=0;U<4;U++)I[U]>=0&&C[U]>1e-4&&(n.transformMat4($,G,F[I[U]]),n.scaleAndAdd(H,H,$,C[U]));q.set(k,H)}}for(var k=0;k<R.length;k+=3){var se=R[k],ue=R[k+1],me=R[k+2],Ee=p?E.attributes.skinnedPosition:O;if(Ee.get(se,d.array),Ee.get(ue,m.array),Ee.get(me,_.array),b?w=h.intersectTriangle(d,m,_,r.culling):w=h.intersectTriangle(d,_,m,r.culling),w){var Le=new A.a;p?A.a.copy(Le,w):A.a.transformMat4(Le,w,r.worldTransform),a.push(new o.Intersection(w,Le,r,[se,ue,me],k/3,A.a.dist(Le,this._ray.origin)))}}}}}}(),_intersectionCompareFunc:function(d,m){return d.distance-m.distance}});o.Intersection=function(d,m,_,h,g,r){this.point=d,this.pointWorld=m,this.target=_,this.triangle=h,this.triangleIndex=g,this.distance=r},X.a=o},function(te,X,S){"use strict";var K=S(0),y=S.n(K),L=["bar3D","line3D","map3D","scatter3D","surface","lines3D","scatterGL","scatter3D"];function A(c,l){if(c&&c[l]&&(c[l].normal||c[l].emphasis)){var f=c[l].normal,n=c[l].emphasis;f&&(c[l]=f),n&&(c.emphasis=c.emphasis||{},c.emphasis[l]=n)}}function s(c){A(c,"itemStyle"),A(c,"lineStyle"),A(c,"areaStyle"),A(c,"label")}function x(c){c&&(c instanceof Array||(c=[c]),y.a.util.each(c,function(l){if(l.axisLabel){var f=l.axisLabel;y.a.util.extend(f,f.textStyle),f.textStyle=null}}))}X.a=function(c){y.a.util.each(c.series,function(l){y.a.util.indexOf(L,l.type)>=0&&(s(l),l.coordinateSystem==="mapbox"&&(l.coordinateSystem="mapbox3D",c.mapbox3D=c.mapbox))}),x(c.xAxis3D),x(c.yAxis3D),x(c.zAxis3D),x(c.grid3D),A(c.geo3D)}},function(te,X,S){"use strict";function K(y){var L=new XMLHttpRequest;L.open("get",y.url),L.responseType=y.responseType||"text",y.onprogress&&(L.onprogress=function(A){if(A.lengthComputable){var s=A.loaded/A.total;y.onprogress(s,A.loaded,A.total)}else y.onprogress(null)}),L.onload=function(A){L.status>=400?y.onerror&&y.onerror():y.onload&&y.onload(L.response)},y.onerror&&(L.onerror=y.onerror),L.send(null)}X.a={get:K}},function(te,X,S){"use strict";X.a=`@export clay.basic.vertex
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
uniform vec2 uvRepeat : [1.0, 1.0];
uniform vec2 uvOffset : [0.0, 0.0];
attribute vec2 texcoord : TEXCOORD_0;
attribute vec3 position : POSITION;
attribute vec3 barycentric;
@import clay.chunk.skinning_header
varying vec2 v_Texcoord;
varying vec3 v_Barycentric;
#ifdef VERTEX_COLOR
attribute vec4 a_Color : COLOR;
varying vec4 v_Color;
#endif
void main()
{
vec3 skinnedPosition = position;
#ifdef SKINNING
@import clay.chunk.skin_matrix
skinnedPosition = (skinMatrixWS * vec4(position, 1.0)).xyz;
#endif
v_Texcoord = texcoord * uvRepeat + uvOffset;
v_Barycentric = barycentric;
gl_Position = worldViewProjection * vec4(skinnedPosition, 1.0);
#ifdef VERTEX_COLOR
v_Color = a_Color;
#endif
}
@end
@export clay.basic.fragment
varying vec2 v_Texcoord;
uniform sampler2D diffuseMap;
uniform vec3 color : [1.0, 1.0, 1.0];
uniform vec3 emission : [0.0, 0.0, 0.0];
uniform float alpha : 1.0;
#ifdef ALPHA_TEST
uniform float alphaCutoff: 0.9;
#endif
#ifdef VERTEX_COLOR
varying vec4 v_Color;
#endif
uniform float lineWidth : 0.0;
uniform vec4 lineColor : [0.0, 0.0, 0.0, 0.6];
varying vec3 v_Barycentric;
@import clay.util.edge_factor
@import clay.util.rgbm
@import clay.util.srgb
@import clay.util.ACES
void main()
{
#ifdef RENDER_TEXCOORD
gl_FragColor = vec4(v_Texcoord, 1.0, 1.0);
return;
#endif
gl_FragColor = vec4(color, alpha);
#ifdef VERTEX_COLOR
gl_FragColor *= v_Color;
#endif
#ifdef DIFFUSEMAP_ENABLED
vec4 tex = decodeHDR(texture2D(diffuseMap, v_Texcoord));
#ifdef SRGB_DECODE
tex = sRGBToLinear(tex);
#endif
#if defined(DIFFUSEMAP_ALPHA_ALPHA)
gl_FragColor.a = tex.a;
#endif
gl_FragColor.rgb *= tex.rgb;
#endif
gl_FragColor.rgb += emission;
if( lineWidth > 0.)
{
gl_FragColor.rgb = mix(gl_FragColor.rgb, lineColor.rgb, (1.0 - edgeFactor(lineWidth)) * lineColor.a);
}
#ifdef ALPHA_TEST
if (gl_FragColor.a < alphaCutoff) {
discard;
}
#endif
#ifdef TONEMAPPING
gl_FragColor.rgb = ACESToneMapping(gl_FragColor.rgb);
#endif
#ifdef SRGB_ENCODE
gl_FragColor = linearTosRGB(gl_FragColor);
#endif
gl_FragColor = encodeHDR(gl_FragColor);
}
@end`},function(te,X,S){"use strict";var K=S(6),y=S(5),L=S(25),A=542327876,s=1,x=2,c=4,l=8,f=4096,n=131072,o=524288,d=8388608,m=8,_=4194304,h=4096,g=512,r=1024,a=2048,p=4096,E=8192,b=16384,w=32768,R=2097152,O=1,z=2,B=4,P=64,F=512,k=131072;function U(Re){return Re.charCodeAt(0)+(Re.charCodeAt(1)<<8)+(Re.charCodeAt(2)<<16)+(Re.charCodeAt(3)<<24)}function G(Re){return String.fromCharCode(Re&255,Re>>8&255,Re>>16&255,Re>>24&255)}var C=31,I=U("DXT1"),H=U("DXT3"),$=U("DXT5"),q=0,se=1,ue=2,me=3,Ee=4,Le=7,Fe=20,Ke=21,Te=27,We=28,Ce=29,De=30,ge={parse:function(Re,ve){var we=new Int32Array(Re,0,C);if(we[q]!==A||!we(Fe)&B)return null;var Ue=we(Ke),de=we[Ee],oe=we[me],ne=we[We]&g,ce=we[ue]&n,ye,he;switch(Ue){case I:ye=8,he=K.a.COMPRESSED_RGB_S3TC_DXT1_EXT;break;case H:ye=16,he=K.a.COMPRESSED_RGBA_S3TC_DXT3_EXT;break;case $:ye=16,he=K.a.COMPRESSED_RGBA_S3TC_DXT5_EXT;break;default:return null}var xe=we[se]+4,Ne=ne?6:1,Be=1;ce&&(Be=Math.max(1,we[Le]));for(var je=[],et=0;et<Ne;et++){var ft=de,tt=oe;je[et]=new y.a({width:ft,height:tt,format:he});for(var At=[],It=0;It<Be;It++){var Nt=Math.max(4,ft)/4*Math.max(4,tt)/4*ye,lt=new Uint8Array(Re,xe,Nt);xe+=Nt,ft*=.5,tt*=.5,At[It]=lt}je[et].pixels=At[0],ce&&(je[et].mipmaps=At)}if(ve)ve.width=je[0].width,ve.height=je[0].height,ve.format=je[0].format,ve.pixels=je[0].pixels,ve.mipmaps=je[0].mipmaps;else return je[0]}};X.a=ge},function(te,X,S){"use strict";var K=S(6),y=S(5),L=String.fromCharCode,A=8,s=32767;function x(d,m,_,h){if(d[3]>0){var g=Math.pow(2,d[3]-128-8+h);m[_+0]=d[0]*g,m[_+1]=d[1]*g,m[_+2]=d[2]*g}else m[_+0]=0,m[_+1]=0,m[_+2]=0;return m[_+3]=1,m}function c(d,m,_){for(var h="",g=m;g<_;g++)h+=L(d[g]);return h}function l(d,m){m[0]=d[0],m[1]=d[1],m[2]=d[2],m[3]=d[3]}function f(d,m,_,h){for(var g=0,r=0,a=h;a>0;)if(d[r][0]=m[_++],d[r][1]=m[_++],d[r][2]=m[_++],d[r][3]=m[_++],d[r][0]===1&&d[r][1]===1&&d[r][2]===1){for(var p=d[r][3]<<g>>>0;p>0;p--)l(d[r-1],d[r]),r++,a--;g+=8}else r++,a--,g=0;return _}function n(d,m,_,h){if(h<A|h>s)return f(d,m,_,h);var g=m[_++];if(g!=2)return f(d,m,_-1,h);if(d[0][1]=m[_++],d[0][2]=m[_++],g=m[_++],(d[0][2]<<8>>>0|g)>>>0!==h)return null;for(var g=0;g<4;g++)for(var r=0;r<h;){var a=m[_++];if(a>128){a=(a&127)>>>0;for(var p=m[_++];a--;)d[r++][g]=p}else for(;a--;)d[r++][g]=m[_++]}return _}var o={parseRGBE:function(d,m,_){_==null&&(_=0);var h=new Uint8Array(d),g=h.length;if(c(h,0,2)==="#?"){for(var r=2;r<g&&!(L(h[r])===`
`&&L(h[r+1])===`
`);r++);if(!(r>=g)){r+=2;for(var a="";r<g;r++){var p=L(h[r]);if(p===`
`)break;a+=p}var E=a.split(" "),b=parseInt(E[1]),w=parseInt(E[3]);if(!(!w||!b)){for(var R=r+1,O=[],z=0;z<w;z++){O[z]=[];for(var B=0;B<4;B++)O[z][B]=0}for(var P=new Float32Array(w*b*4),F=0,k=0;k<b;k++){var R=n(O,h,R,w);if(!R)return null;for(var z=0;z<w;z++)x(O[z],P,F,_),F+=4}return m||(m=new y.a),m.width=w,m.height=b,m.pixels=P,m.type=K.a.FLOAT,m}}}},parseRGBEFromPNG:function(d){}};X.a=o},function(te,X,S){"use strict";var K=S(5),y=S(4),L=S(23),A=["mousedown","mouseup","mousemove","mouseover","mouseout","click","dblclick","contextmenu"];function s(c){return"_on"+c}var x=function(c){var l=this;this._texture=new K.a({anisotropic:32,flipY:!1,surface:this,dispose:function(f){l.dispose(),K.a.prototype.dispose.call(this,f)}}),A.forEach(function(f){this[s(f)]=function(n){n.triangle&&this._meshes.forEach(function(o){this.dispatchEvent(f,o,n.triangle,n.point)},this)}},this),this._meshes=[],c&&this.setECharts(c),this.onupdate=null};x.prototype={constructor:x,getTexture:function(){return this._texture},setECharts:function(c){this._chart=c;var l=c.getDom();if(!(l instanceof HTMLCanvasElement))console.error("ECharts must init on canvas if it is used as texture."),l=document.createElement("canvas");else{var f=this,n=c.getZr(),o=n.__oldRefreshImmediately||n.refreshImmediately;n.refreshImmediately=function(){o.call(this),f._texture.dirty(),f.onupdate&&f.onupdate()},n.__oldRefreshImmediately=o}this._texture.image=l,this._texture.dirty(),this.onupdate&&this.onupdate()},dispatchEvent:function(){var c=new y.a,l=new y.a,f=new y.a,n=new L.a,o=new L.a,d=new L.a,m=new L.a,_=new y.a;return function(h,g,r,a){var p=g.geometry,E=p.attributes.position,b=p.attributes.texcoord0,w=y.a.dot,R=y.a.cross;E.get(r[0],c.array),E.get(r[1],l.array),E.get(r[2],f.array),b.get(r[0],n.array),b.get(r[1],o.array),b.get(r[2],d.array),R(_,l,f);var O=w(c,_),z=w(a,_)/O;R(_,f,c);var B=w(a,_)/O;R(_,c,l);var P=w(a,_)/O;L.a.scale(m,n,z),L.a.scaleAndAdd(m,m,o,B),L.a.scaleAndAdd(m,m,d,P);var F=m.x*this._chart.getWidth(),k=m.y*this._chart.getHeight();this._chart.getZr().handler.dispatch(h,{zrX:F,zrY:k})}}(),attachToMesh:function(c){this._meshes.indexOf(c)>=0||(A.forEach(function(l){c.on(l,this[s(l)],this)},this),this._meshes.push(c))},detachFromMesh:function(c){var l=this._meshes.indexOf(c);l>=0&&this._meshes.splice(l,1),A.forEach(function(f){c.off(f,this[s(f)])},this)},dispose:function(){this._meshes.forEach(function(c){this.detachFromMesh(c)},this)}},X.a=x},function(te,X,S){"use strict";var K=S(19),y=S(108),L=K.a.extend({cubemap:null,castShadow:!1,_normalDistribution:null,_brdfLookup:null},{type:"AMBIENT_CUBEMAP_LIGHT",prefilter:function(A,s){this._brdfLookup||(this._normalDistribution=y.a.generateNormalDistribution(),this._brdfLookup=y.a.integrateBRDF(A,this._normalDistribution));var x=this.cubemap;if(!x.__prefiltered){var c=y.a.prefilterEnvironmentMap(A,x,{encodeRGBM:!0,width:s,height:s},this._normalDistribution,this._brdfLookup);this.cubemap=c.environmentMap,this.cubemap.__prefiltered=!0,x.dispose(A)}},uniformTemplates:{ambientCubemapLightColor:{type:"3f",value:function(A){var s=A.color,x=A.intensity;return[s[0]*x,s[1]*x,s[2]*x]}},ambientCubemapLightCubemap:{type:"t",value:function(A){return A.cubemap}},ambientCubemapLightBRDFLookup:{type:"t",value:function(A){return A._brdfLookup}}}});X.a=L},function(te,X,S){"use strict";var K=S(5),y=S(25),L=S(6),A=S(10),s=S(14),x=S(17),c=S(7),l=S(57),f=S(29),n=S(55),o=S(18),d=S(54),m=S(111),_=S(112),h={},g=["px","nx","py","ny","pz","nz"];h.prefilterEnvironmentMap=function(r,a,p,E,b){(!b||!E)&&(E=h.generateNormalDistribution(),b=h.integrateBRDF(r,E)),p=p||{};var w=p.width||64,R=p.height||64,O=p.type||a.type,z=new y.a({width:w,height:R,type:O,flipY:!1,mipmaps:[]});z.isPowerOfTwo()||console.warn("Width and height must be power of two to enable mipmap.");var B=Math.min(w,R),P=Math.log(B)/Math.log(2)+1,F=new x.a({shader:new c.a({vertex:c.a.source("clay.skybox.vertex"),fragment:_.a})});F.set("normalDistribution",E),p.encodeRGBM&&F.define("fragment","RGBM_ENCODE"),p.decodeRGBM&&F.define("fragment","RGBM_DECODE");var k=new f.a,U;if(a instanceof K.a){var G=new y.a({width:w,height:R,type:O===L.a.FLOAT?L.a.HALF_FLOAT:O});d.a.panoramaToCubeMap(r,a,G,{encodeRGBM:p.decodeRGBM}),a=G}U=new l.a({scene:k,material:F}),U.material.set("environmentMap",a);var C=new n.a({texture:z});p.encodeRGBM&&(O=z.type=L.a.UNSIGNED_BYTE);for(var I=new K.a({width:w,height:R,type:O}),H=new A.a({depthBuffer:!1}),$=o.a[O===L.a.UNSIGNED_BYTE?"Uint8Array":"Float32Array"],q=0;q<P;q++){z.mipmaps[q]={pixels:{}},U.material.set("roughness",q/(g.length-1));for(var se=I.width,ue=2*Math.atan(se/(se-.5))/Math.PI*180,me=0;me<g.length;me++){var Ee=new $(I.width*I.height*4);H.attach(I),H.bind(r);var Le=C.getCamera(g[me]);Le.fov=ue,r.render(k,Le),r.gl.readPixels(0,0,I.width,I.height,L.a.RGBA,O,Ee),H.unbind(r),z.mipmaps[q].pixels[g[me]]=Ee}I.width/=2,I.height/=2,I.dirty()}return H.dispose(r),I.dispose(r),U.dispose(r),E.dispose(r),{environmentMap:z,brdfLookup:b,normalDistribution:E,maxMipmapLevel:P}},h.integrateBRDF=function(r,a){a=a||h.generateNormalDistribution();var p=new A.a({depthBuffer:!1}),E=new s.a({fragment:m.a}),b=new K.a({width:512,height:256,type:L.a.HALF_FLOAT,minFilter:L.a.NEAREST,magFilter:L.a.NEAREST,useMipmap:!1});return E.setUniform("normalDistribution",a),E.setUniform("viewportSize",[512,256]),E.attachOutput(b),E.render(r,p),p.dispose(r),b},h.generateNormalDistribution=function(p,E){for(var p=p||256,E=E||1024,b=new K.a({width:p,height:E,type:L.a.FLOAT,minFilter:L.a.NEAREST,magFilter:L.a.NEAREST,useMipmap:!1}),w=new Float32Array(E*p*4),R=0;R<E;R++){var O=R/E,z=(R<<16|R>>>16)>>>0;z=((z&1431655765)<<1|(z&2863311530)>>>1)>>>0,z=((z&858993459)<<2|(z&3435973836)>>>2)>>>0,z=((z&252645135)<<4|(z&4042322160)>>>4)>>>0,z=(((z&16711935)<<8|(z&4278255360)>>>8)>>>0)/4294967296;for(var B=0;B<p;B++){var P=B/p,F=P*P,k=2*Math.PI*O,U=Math.sqrt((1-z)/(1+(F*F-1)*z)),G=Math.sqrt(1-U*U),C=(R*p+B)*4;w[C]=G*Math.cos(k),w[C+1]=G*Math.sin(k),w[C+2]=U,w[C+3]=1}}return b.pixels=w,b},X.a=h},function(te,X,S){"use strict";X.a=`
@export clay.compositor.vertex
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
attribute vec3 position : POSITION;
attribute vec2 texcoord : TEXCOORD_0;
varying vec2 v_Texcoord;
void main()
{
v_Texcoord = texcoord;
gl_Position = worldViewProjection * vec4(position, 1.0);
}
@end`},function(te,X,S){"use strict";X.a=`@export clay.skybox.vertex
uniform mat4 world : WORLD;
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
attribute vec3 position : POSITION;
varying vec3 v_WorldPosition;
void main()
{
v_WorldPosition = (world * vec4(position, 1.0)).xyz;
gl_Position = worldViewProjection * vec4(position, 1.0);
}
@end
@export clay.skybox.fragment
uniform mat4 viewInverse : VIEWINVERSE;
uniform samplerCube environmentMap;
uniform float lod: 0.0;
varying vec3 v_WorldPosition;
@import clay.util.rgbm
@import clay.util.srgb
@import clay.util.ACES
void main()
{
vec3 eyePos = viewInverse[3].xyz;
vec3 viewDirection = normalize(v_WorldPosition - eyePos);
#ifdef LOD
vec4 texel = decodeHDR(textureCubeLodEXT(environmentMap, viewDirection, lod));
#else
vec4 texel = decodeHDR(textureCube(environmentMap, viewDirection));
#endif
#ifdef SRGB_DECODE
texel = sRGBToLinear(texel);
#endif
#ifdef TONEMAPPING
texel.rgb = ACESToneMapping(texel.rgb);
#endif
#ifdef SRGB_ENCODE
texel = linearTosRGB(texel);
#endif
gl_FragColor = encodeHDR(vec4(texel.rgb, 1.0));
}
@end`},function(te,X,S){"use strict";X.a=`#define SAMPLE_NUMBER 1024
#define PI 3.14159265358979
uniform sampler2D normalDistribution;
uniform vec2 viewportSize : [512, 256];
const vec3 N = vec3(0.0, 0.0, 1.0);
const float fSampleNumber = float(SAMPLE_NUMBER);
vec3 importanceSampleNormal(float i, float roughness, vec3 N) {
vec3 H = texture2D(normalDistribution, vec2(roughness, i)).rgb;
vec3 upVector = abs(N.z) < 0.999 ? vec3(0.0, 0.0, 1.0) : vec3(1.0, 0.0, 0.0);
vec3 tangentX = normalize(cross(upVector, N));
vec3 tangentY = cross(N, tangentX);
return tangentX * H.x + tangentY * H.y + N * H.z;
}
float G_Smith(float roughness, float NoV, float NoL) {
float k = roughness * roughness / 2.0;
float G1V = NoV / (NoV * (1.0 - k) + k);
float G1L = NoL / (NoL * (1.0 - k) + k);
return G1L * G1V;
}
void main() {
vec2 uv = gl_FragCoord.xy / viewportSize;
float NoV = uv.x;
float roughness = uv.y;
vec3 V;
V.x = sqrt(1.0 - NoV * NoV);
V.y = 0.0;
V.z = NoV;
float A = 0.0;
float B = 0.0;
for (int i = 0; i < SAMPLE_NUMBER; i++) {
vec3 H = importanceSampleNormal(float(i) / fSampleNumber, roughness, N);
vec3 L = reflect(-V, H);
float NoL = clamp(L.z, 0.0, 1.0);
float NoH = clamp(H.z, 0.0, 1.0);
float VoH = clamp(dot(V, H), 0.0, 1.0);
if (NoL > 0.0) {
float G = G_Smith(roughness, NoV, NoL);
float G_Vis = G * VoH / (NoH * NoV);
float Fc = pow(1.0 - VoH, 5.0);
A += (1.0 - Fc) * G_Vis;
B += Fc * G_Vis;
}
}
gl_FragColor = vec4(vec2(A, B) / fSampleNumber, 0.0, 1.0);
}
`},function(te,X,S){"use strict";X.a=`#define SAMPLE_NUMBER 1024
#define PI 3.14159265358979
uniform mat4 viewInverse : VIEWINVERSE;
uniform samplerCube environmentMap;
uniform sampler2D normalDistribution;
uniform float roughness : 0.5;
varying vec2 v_Texcoord;
varying vec3 v_WorldPosition;
const float fSampleNumber = float(SAMPLE_NUMBER);
@import clay.util.rgbm
vec3 importanceSampleNormal(float i, float roughness, vec3 N) {
vec3 H = texture2D(normalDistribution, vec2(roughness, i)).rgb;
vec3 upVector = abs(N.z) < 0.999 ? vec3(0.0, 0.0, 1.0) : vec3(1.0, 0.0, 0.0);
vec3 tangentX = normalize(cross(upVector, N));
vec3 tangentY = cross(N, tangentX);
return tangentX * H.x + tangentY * H.y + N * H.z;
}
void main() {
vec3 eyePos = viewInverse[3].xyz;
vec3 V = normalize(v_WorldPosition - eyePos);
vec3 N = V;
vec3 R = V;
vec3 prefilteredColor = vec3(0.0);
float totalWeight = 0.0;
for (int i = 0; i < SAMPLE_NUMBER; i++) {
vec3 H = importanceSampleNormal(float(i) / fSampleNumber, roughness, N);
vec3 L = reflect(-V, H);
float NoL = clamp(dot(N, L), 0.0, 1.0);
if (NoL > 0.0) {
prefilteredColor += decodeHDR(textureCube(environmentMap, L)).rgb * NoL;
totalWeight += NoL;
}
}
gl_FragColor = encodeHDR(vec4(prefilteredColor / totalWeight, 1.0));
}
`},function(te,X,S){"use strict";var K=S(19),y=S(18),L=K.a.extend({castShadow:!1,coefficients:[]},function(){this._coefficientsTmpArr=new y.a.Float32Array(9*3)},{type:"AMBIENT_SH_LIGHT",uniformTemplates:{ambientSHLightColor:{type:"3f",value:function(A){var s=A.color,x=A.intensity;return[s[0]*x,s[1]*x,s[2]*x]}},ambientSHLightCoefficients:{type:"3f",value:function(A){for(var s=A._coefficientsTmpArr,x=0;x<A.coefficients.length;x++)s[x]=A.coefficients[x];return s}}}});X.a=L},function(te,X,S){"use strict";var K=S(6),y=S(10),L=S(5),A=S(14),s=S(18),x=S(57),c=S(56),l=S(55),f=S(29),n=S(1),o=S.n(n),d=S(115),m=o.a.vec3,_={},h=["px","nx","py","ny","pz","nz"];function g(E,b){var w=new L.a({width:9,height:1,type:K.a.FLOAT}),R=new A.a({fragment:d.a});R.material.define("fragment","TEXTURE_SIZE",b.width),R.setUniform("environmentMap",b);var O=new y.a;O.attach(w),R.render(E,O),O.bind(E);var z=new s.a.Float32Array(9*4);E.gl.readPixels(0,0,9,1,K.a.RGBA,K.a.FLOAT,z);for(var B=new s.a.Float32Array(9*3),P=0;P<9;P++)B[P*3]=z[P*4],B[P*3+1]=z[P*4+1],B[P*3+2]=z[P*4+2];return O.unbind(E),O.dispose(E),R.dispose(E),B}function r(E,b){var w=E[0],R=E[1],O=E[2];return b===0?1:b===1?w:b===2?R:b===3?O:b===4?w*O:b===5?R*O:b===6?w*R:b===7?3*O*O-1:w*w-R*R}var a={px:[2,1,0,-1,-1,1],nx:[2,1,0,1,-1,-1],py:[0,2,1,1,-1,-1],ny:[0,2,1,1,1,1],pz:[0,1,2,-1,-1,-1],nz:[0,1,2,1,-1,1]};function p(E,b,w,R){for(var O=new s.a.Float32Array(27),z=m.create(),B=m.create(),P=m.create(),F=0;F<9;F++){for(var k=m.create(),U=0;U<h.length;U++){for(var G=b[h[U]],C=m.create(),I=0,H=0,$=a[h[U]],q=0;q<R;q++)for(var se=0;se<w;se++){z[0]=se/(w-1)*2-1,z[1]=q/(R-1)*2-1,z[2]=-1,m.normalize(z,z),P[0]=z[$[0]]*$[3],P[1]=z[$[1]]*$[4],P[2]=z[$[2]]*$[5],B[0]=G[H++]/255,B[1]=G[H++]/255,B[2]=G[H++]/255;var ue=G[H++]/255*51.5;B[0]*=ue,B[1]*=ue,B[2]*=ue,m.scaleAndAdd(C,C,B,r(P,F)*-z[2]),I+=-z[2]}m.scaleAndAdd(k,k,C,1/I)}O[F*3]=k[0]/6,O[F*3+1]=k[1]/6,O[F*3+2]=k[2]/6}return O}_.projectEnvironmentMap=function(E,b,w){w=w||{},w.lod=w.lod||0;var R,O=new f.a,z=64;b instanceof L.a?R=new c.a({scene:O,environmentMap:b}):(z=b.image&&b.image.px?b.image.px.width:b.width,R=new x.a({scene:O,environmentMap:b}));var B=Math.ceil(z/Math.pow(2,w.lod)),P=Math.ceil(z/Math.pow(2,w.lod)),F=new L.a({width:B,height:P}),k=new y.a;R.material.define("fragment","RGBM_ENCODE"),w.decodeRGBM&&R.material.define("fragment","RGBM_DECODE"),R.material.set("lod",w.lod);for(var U=new l.a({texture:F}),G={},C=0;C<h.length;C++){G[h[C]]=new Uint8Array(B*P*4);var I=U.getCamera(h[C]);I.fov=90,k.attach(F),k.bind(E),E.render(O,I),E.gl.readPixels(0,0,B,P,K.a.RGBA,K.a.UNSIGNED_BYTE,G[h[C]]),k.unbind(E)}return R.dispose(E),k.dispose(E),F.dispose(E),p(E,G,B,P)},X.a=_},function(te,X,S){"use strict";X.a=`uniform samplerCube environmentMap;
varying vec2 v_Texcoord;
#define TEXTURE_SIZE 16
mat3 front = mat3(
1.0, 0.0, 0.0,
0.0, 1.0, 0.0,
0.0, 0.0, 1.0
);
mat3 back = mat3(
-1.0, 0.0, 0.0,
0.0, 1.0, 0.0,
0.0, 0.0, -1.0
);
mat3 left = mat3(
0.0, 0.0, -1.0,
0.0, 1.0, 0.0,
1.0, 0.0, 0.0
);
mat3 right = mat3(
0.0, 0.0, 1.0,
0.0, 1.0, 0.0,
-1.0, 0.0, 0.0
);
mat3 up = mat3(
1.0, 0.0, 0.0,
0.0, 0.0, 1.0,
0.0, -1.0, 0.0
);
mat3 down = mat3(
1.0, 0.0, 0.0,
0.0, 0.0, -1.0,
0.0, 1.0, 0.0
);
float harmonics(vec3 normal){
int index = int(gl_FragCoord.x);
float x = normal.x;
float y = normal.y;
float z = normal.z;
if(index==0){
return 1.0;
}
else if(index==1){
return x;
}
else if(index==2){
return y;
}
else if(index==3){
return z;
}
else if(index==4){
return x*z;
}
else if(index==5){
return y*z;
}
else if(index==6){
return x*y;
}
else if(index==7){
return 3.0*z*z - 1.0;
}
else{
return x*x - y*y;
}
}
vec3 sampleSide(mat3 rot)
{
vec3 result = vec3(0.0);
float divider = 0.0;
for (int i = 0; i < TEXTURE_SIZE * TEXTURE_SIZE; i++) {
float x = mod(float(i), float(TEXTURE_SIZE));
float y = float(i / TEXTURE_SIZE);
vec2 sidecoord = ((vec2(x, y) + vec2(0.5, 0.5)) / vec2(TEXTURE_SIZE)) * 2.0 - 1.0;
vec3 normal = normalize(vec3(sidecoord, -1.0));
vec3 fetchNormal = rot * normal;
vec3 texel = textureCube(environmentMap, fetchNormal).rgb;
result += harmonics(fetchNormal) * texel * -normal.z;
divider += -normal.z;
}
return result / divider;
}
void main()
{
vec3 result = (
sampleSide(front) +
sampleSide(back) +
sampleSide(left) +
sampleSide(right) +
sampleSide(up) +
sampleSide(down)
) / 6.0;
gl_FragColor = vec4(result, 1.0);
}`},function(te,X,S){"use strict";var K=S(19),y=K.a.extend({castShadow:!1},{type:"AMBIENT_LIGHT",uniformTemplates:{ambientLightColor:{type:"3f",value:function(L){var A=L.color,s=L.intensity;return[A[0]*s,A[1]*s,A[2]*s]}}}});X.a=y},function(te,X,S){"use strict";var K=S(1),y=S.n(K),L=y.a.vec4,A=function(c,l,f,n){c=c||0,l=l||0,f=f||0,n=n||0,this.array=L.fromValues(c,l,f,n),this._dirty=!0};A.prototype={constructor:A,add:function(c){return L.add(this.array,this.array,c.array),this._dirty=!0,this},set:function(c,l,f,n){return this.array[0]=c,this.array[1]=l,this.array[2]=f,this.array[3]=n,this._dirty=!0,this},setArray:function(c){return this.array[0]=c[0],this.array[1]=c[1],this.array[2]=c[2],this.array[3]=c[3],this._dirty=!0,this},clone:function(){return new A(this.x,this.y,this.z,this.w)},copy:function(c){return L.copy(this.array,c.array),this._dirty=!0,this},dist:function(c){return L.dist(this.array,c.array)},distance:function(c){return L.distance(this.array,c.array)},div:function(c){return L.div(this.array,this.array,c.array),this._dirty=!0,this},divide:function(c){return L.divide(this.array,this.array,c.array),this._dirty=!0,this},dot:function(c){return L.dot(this.array,c.array)},len:function(){return L.len(this.array)},length:function(){return L.length(this.array)},lerp:function(c,l,f){return L.lerp(this.array,c.array,l.array,f),this._dirty=!0,this},min:function(c){return L.min(this.array,this.array,c.array),this._dirty=!0,this},max:function(c){return L.max(this.array,this.array,c.array),this._dirty=!0,this},mul:function(c){return L.mul(this.array,this.array,c.array),this._dirty=!0,this},multiply:function(c){return L.multiply(this.array,this.array,c.array),this._dirty=!0,this},negate:function(){return L.negate(this.array,this.array),this._dirty=!0,this},normalize:function(){return L.normalize(this.array,this.array),this._dirty=!0,this},random:function(c){return L.random(this.array,c),this._dirty=!0,this},scale:function(c){return L.scale(this.array,this.array,c),this._dirty=!0,this},scaleAndAdd:function(c,l){return L.scaleAndAdd(this.array,this.array,c.array,l),this._dirty=!0,this},sqrDist:function(c){return L.sqrDist(this.array,c.array)},squaredDistance:function(c){return L.squaredDistance(this.array,c.array)},sqrLen:function(){return L.sqrLen(this.array)},squaredLength:function(){return L.squaredLength(this.array)},sub:function(c){return L.sub(this.array,this.array,c.array),this._dirty=!0,this},subtract:function(c){return L.subtract(this.array,this.array,c.array),this._dirty=!0,this},transformMat4:function(c){return L.transformMat4(this.array,this.array,c.array),this._dirty=!0,this},transformQuat:function(c){return L.transformQuat(this.array,this.array,c.array),this._dirty=!0,this},toString:function(){return"["+Array.prototype.join.call(this.array,",")+"]"},toArray:function(){return Array.prototype.slice.call(this.array)}};var s=Object.defineProperty;if(s){var x=A.prototype;s(x,"x",{get:function(){return this.array[0]},set:function(c){this.array[0]=c,this._dirty=!0}}),s(x,"y",{get:function(){return this.array[1]},set:function(c){this.array[1]=c,this._dirty=!0}}),s(x,"z",{get:function(){return this.array[2]},set:function(c){this.array[2]=c,this._dirty=!0}}),s(x,"w",{get:function(){return this.array[3]},set:function(c){this.array[3]=c,this._dirty=!0}})}A.add=function(c,l,f){return L.add(c.array,l.array,f.array),c._dirty=!0,c},A.set=function(c,l,f,n,o){L.set(c.array,l,f,n,o),c._dirty=!0},A.copy=function(c,l){return L.copy(c.array,l.array),c._dirty=!0,c},A.dist=function(c,l){return L.distance(c.array,l.array)},A.distance=A.dist,A.div=function(c,l,f){return L.divide(c.array,l.array,f.array),c._dirty=!0,c},A.divide=A.div,A.dot=function(c,l){return L.dot(c.array,l.array)},A.len=function(c){return L.length(c.array)},A.lerp=function(c,l,f,n){return L.lerp(c.array,l.array,f.array,n),c._dirty=!0,c},A.min=function(c,l,f){return L.min(c.array,l.array,f.array),c._dirty=!0,c},A.max=function(c,l,f){return L.max(c.array,l.array,f.array),c._dirty=!0,c},A.mul=function(c,l,f){return L.multiply(c.array,l.array,f.array),c._dirty=!0,c},A.multiply=A.mul,A.negate=function(c,l){return L.negate(c.array,l.array),c._dirty=!0,c},A.normalize=function(c,l){return L.normalize(c.array,l.array),c._dirty=!0,c},A.random=function(c,l){return L.random(c.array,l),c._dirty=!0,c},A.scale=function(c,l,f){return L.scale(c.array,l.array,f),c._dirty=!0,c},A.scaleAndAdd=function(c,l,f,n){return L.scaleAndAdd(c.array,l.array,f.array,n),c._dirty=!0,c},A.sqrDist=function(c,l){return L.sqrDist(c.array,l.array)},A.squaredDistance=A.sqrDist,A.sqrLen=function(c){return L.sqrLen(c.array)},A.squaredLength=A.sqrLen,A.sub=function(c,l,f){return L.subtract(c.array,l.array,f.array),c._dirty=!0,c},A.subtract=A.sub,A.transformMat4=function(c,l,f){return L.transformMat4(c.array,l.array,f.array),c._dirty=!0,c},A.transformQuat=function(c,l,f){return L.transformQuat(c.array,l.array,f.array),c._dirty=!0,c},X.a=A},function(te,X,S){"use strict";var K=S(1),y=S.n(K),L=y.a.mat2,A=function(){this.array=L.create(),this._dirty=!0};A.prototype={constructor:A,setArray:function(s){for(var x=0;x<this.array.length;x++)this.array[x]=s[x];return this._dirty=!0,this},clone:function(){return new A().copy(this)},copy:function(s){return L.copy(this.array,s.array),this._dirty=!0,this},adjoint:function(){return L.adjoint(this.array,this.array),this._dirty=!0,this},determinant:function(){return L.determinant(this.array)},identity:function(){return L.identity(this.array),this._dirty=!0,this},invert:function(){return L.invert(this.array,this.array),this._dirty=!0,this},mul:function(s){return L.mul(this.array,this.array,s.array),this._dirty=!0,this},mulLeft:function(s){return L.mul(this.array,s.array,this.array),this._dirty=!0,this},multiply:function(s){return L.multiply(this.array,this.array,s.array),this._dirty=!0,this},multiplyLeft:function(s){return L.multiply(this.array,s.array,this.array),this._dirty=!0,this},rotate:function(s){return L.rotate(this.array,this.array,s),this._dirty=!0,this},scale:function(s){return L.scale(this.array,this.array,s.array),this._dirty=!0,this},transpose:function(){return L.transpose(this.array,this.array),this._dirty=!0,this},toString:function(){return"["+Array.prototype.join.call(this.array,",")+"]"},toArray:function(){return Array.prototype.slice.call(this.array)}},A.adjoint=function(s,x){return L.adjoint(s.array,x.array),s._dirty=!0,s},A.copy=function(s,x){return L.copy(s.array,x.array),s._dirty=!0,s},A.determinant=function(s){return L.determinant(s.array)},A.identity=function(s){return L.identity(s.array),s._dirty=!0,s},A.invert=function(s,x){return L.invert(s.array,x.array),s._dirty=!0,s},A.mul=function(s,x,c){return L.mul(s.array,x.array,c.array),s._dirty=!0,s},A.multiply=A.mul,A.rotate=function(s,x,c){return L.rotate(s.array,x.array,c),s._dirty=!0,s},A.scale=function(s,x,c){return L.scale(s.array,x.array,c.array),s._dirty=!0,s},A.transpose=function(s,x){return L.transpose(s.array,x.array),s._dirty=!0,s},X.a=A},function(te,X,S){"use strict";var K=S(1),y=S.n(K),L=y.a.mat2d,A=function(){this.array=L.create(),this._dirty=!0};A.prototype={constructor:A,setArray:function(s){for(var x=0;x<this.array.length;x++)this.array[x]=s[x];return this._dirty=!0,this},clone:function(){return new A().copy(this)},copy:function(s){return L.copy(this.array,s.array),this._dirty=!0,this},determinant:function(){return L.determinant(this.array)},identity:function(){return L.identity(this.array),this._dirty=!0,this},invert:function(){return L.invert(this.array,this.array),this._dirty=!0,this},mul:function(s){return L.mul(this.array,this.array,s.array),this._dirty=!0,this},mulLeft:function(s){return L.mul(this.array,s.array,this.array),this._dirty=!0,this},multiply:function(s){return L.multiply(this.array,this.array,s.array),this._dirty=!0,this},multiplyLeft:function(s){return L.multiply(this.array,s.array,this.array),this._dirty=!0,this},rotate:function(s){return L.rotate(this.array,this.array,s),this._dirty=!0,this},scale:function(s){return L.scale(this.array,this.array,s.array),this._dirty=!0,this},translate:function(s){return L.translate(this.array,this.array,s.array),this._dirty=!0,this},toString:function(){return"["+Array.prototype.join.call(this.array,",")+"]"},toArray:function(){return Array.prototype.slice.call(this.array)}},A.copy=function(s,x){return L.copy(s.array,x.array),s._dirty=!0,s},A.determinant=function(s){return L.determinant(s.array)},A.identity=function(s){return L.identity(s.array),s._dirty=!0,s},A.invert=function(s,x){return L.invert(s.array,x.array),s._dirty=!0,s},A.mul=function(s,x,c){return L.mul(s.array,x.array,c.array),s._dirty=!0,s},A.multiply=A.mul,A.rotate=function(s,x,c){return L.rotate(s.array,x.array,c),s._dirty=!0,s},A.scale=function(s,x,c){return L.scale(s.array,x.array,c.array),s._dirty=!0,s},A.translate=function(s,x,c){return L.translate(s.array,x.array,c.array),s._dirty=!0,s},X.a=A},function(te,X,S){"use strict";var K=S(1),y=S.n(K),L=y.a.mat3,A=function(){this.array=L.create(),this._dirty=!0};A.prototype={constructor:A,setArray:function(s){for(var x=0;x<this.array.length;x++)this.array[x]=s[x];return this._dirty=!0,this},adjoint:function(){return L.adjoint(this.array,this.array),this._dirty=!0,this},clone:function(){return new A().copy(this)},copy:function(s){return L.copy(this.array,s.array),this._dirty=!0,this},determinant:function(){return L.determinant(this.array)},fromMat2d:function(s){return L.fromMat2d(this.array,s.array),this._dirty=!0,this},fromMat4:function(s){return L.fromMat4(this.array,s.array),this._dirty=!0,this},fromQuat:function(s){return L.fromQuat(this.array,s.array),this._dirty=!0,this},identity:function(){return L.identity(this.array),this._dirty=!0,this},invert:function(){return L.invert(this.array,this.array),this._dirty=!0,this},mul:function(s){return L.mul(this.array,this.array,s.array),this._dirty=!0,this},mulLeft:function(s){return L.mul(this.array,s.array,this.array),this._dirty=!0,this},multiply:function(s){return L.multiply(this.array,this.array,s.array),this._dirty=!0,this},multiplyLeft:function(s){return L.multiply(this.array,s.array,this.array),this._dirty=!0,this},rotate:function(s){return L.rotate(this.array,this.array,s),this._dirty=!0,this},scale:function(s){return L.scale(this.array,this.array,s.array),this._dirty=!0,this},translate:function(s){return L.translate(this.array,this.array,s.array),this._dirty=!0,this},normalFromMat4:function(s){return L.normalFromMat4(this.array,s.array),this._dirty=!0,this},transpose:function(){return L.transpose(this.array,this.array),this._dirty=!0,this},toString:function(){return"["+Array.prototype.join.call(this.array,",")+"]"},toArray:function(){return Array.prototype.slice.call(this.array)}},A.adjoint=function(s,x){return L.adjoint(s.array,x.array),s._dirty=!0,s},A.copy=function(s,x){return L.copy(s.array,x.array),s._dirty=!0,s},A.determinant=function(s){return L.determinant(s.array)},A.identity=function(s){return L.identity(s.array),s._dirty=!0,s},A.invert=function(s,x){return L.invert(s.array,x.array),s},A.mul=function(s,x,c){return L.mul(s.array,x.array,c.array),s._dirty=!0,s},A.multiply=A.mul,A.fromMat2d=function(s,x){return L.fromMat2d(s.array,x.array),s._dirty=!0,s},A.fromMat4=function(s,x){return L.fromMat4(s.array,x.array),s._dirty=!0,s},A.fromQuat=function(s,x){return L.fromQuat(s.array,x.array),s._dirty=!0,s},A.normalFromMat4=function(s,x){return L.normalFromMat4(s.array,x.array),s._dirty=!0,s},A.rotate=function(s,x,c){return L.rotate(s.array,x.array,c),s._dirty=!0,s},A.scale=function(s,x,c){return L.scale(s.array,x.array,c.array),s._dirty=!0,s},A.transpose=function(s,x){return L.transpose(s.array,x.array),s._dirty=!0,s},A.translate=function(s,x,c){return L.translate(s.array,x.array,c.array),s._dirty=!0,s},X.a=A},function(te,X,S){"use strict";var K=S(122),y=S.n(K),L={_animators:null,getAnimators:function(){return this._animators=this._animators||[],this._animators},animate:function(A,s){this._animators=this._animators||[];var x=this,c;if(A){for(var l=A.split("."),f=x,n=0,o=l.length;n<o;n++)f&&(f=f[l[n]]);f&&(c=f)}else c=x;if(c==null)throw new Error("Target "+A+" not exists");var d=this._animators,m=new y.a(c,s),_=this;return m.during(function(){_.__zr&&_.__zr.refresh()}).done(function(){var h=d.indexOf(m);h>=0&&d.splice(h,1)}),d.push(m),this.__zr&&this.__zr.animation.addAnimator(m),m},stopAnimation:function(A){this._animators=this._animators||[];for(var s=this._animators,x=s.length,c=0;c<x;c++)s[c].stop(A);return s.length=0,this},addAnimatorsToZr:function(A){if(this._animators)for(var s=0;s<this._animators.length;s++)A.animation.addAnimator(this._animators[s])},removeAnimatorsFromZr:function(A){if(this._animators)for(var s=0;s<this._animators.length;s++)A.animation.removeAnimator(this._animators[s])}};X.a=L},function(te,X,S){var K=S(123),y=S(125),L=S(12),A=L.isArrayLike,s=Array.prototype.slice;function x(b,w){return b[w]}function c(b,w,R){b[w]=R}function l(b,w,R){return(w-b)*R+b}function f(b,w,R){return R>.5?w:b}function n(b,w,R,O,z){var B=b.length;if(z==1)for(var P=0;P<B;P++)O[P]=l(b[P],w[P],R);else for(var F=B&&b[0].length,P=0;P<B;P++)for(var k=0;k<F;k++)O[P][k]=l(b[P][k],w[P][k],R)}function o(b,w,R){var O=b.length,z=w.length;if(O!==z){var B=O>z;if(B)b.length=z;else for(var P=O;P<z;P++)b.push(R===1?w[P]:s.call(w[P]))}for(var F=b[0]&&b[0].length,P=0;P<b.length;P++)if(R===1)isNaN(b[P])&&(b[P]=w[P]);else for(var k=0;k<F;k++)isNaN(b[P][k])&&(b[P][k]=w[P][k])}function d(b,w,R){if(b===w)return!0;var O=b.length;if(O!==w.length)return!1;if(R===1){for(var z=0;z<O;z++)if(b[z]!==w[z])return!1}else for(var B=b[0].length,z=0;z<O;z++)for(var P=0;P<B;P++)if(b[z][P]!==w[z][P])return!1;return!0}function m(b,w,R,O,z,B,P,F,k){var U=b.length;if(k==1)for(var G=0;G<U;G++)F[G]=_(b[G],w[G],R[G],O[G],z,B,P);else for(var C=b[0].length,G=0;G<U;G++)for(var I=0;I<C;I++)F[G][I]=_(b[G][I],w[G][I],R[G][I],O[G][I],z,B,P)}function _(b,w,R,O,z,B,P){var F=(R-b)*.5,k=(O-w)*.5;return(2*(w-R)+F+k)*P+(-3*(w-R)-2*F-k)*B+F*z+w}function h(b){if(A(b)){var w=b.length;if(A(b[0])){for(var R=[],O=0;O<w;O++)R.push(s.call(b[O]));return R}return s.call(b)}return b}function g(b){return b[0]=Math.floor(b[0]),b[1]=Math.floor(b[1]),b[2]=Math.floor(b[2]),"rgba("+b.join(",")+")"}function r(b){var w=b[b.length-1].value;return A(w&&w[0])?2:1}function a(b,w,R,O,z,B){var P=b._getter,F=b._setter,k=w==="spline",U=O.length;if(U){var G=O[0].value,C=A(G),I=!1,H=!1,$=C?r(O):0,q;O.sort(function(ce,ye){return ce.time-ye.time}),q=O[U-1].time;for(var se=[],ue=[],me=O[0].value,Ee=!0,Le=0;Le<U;Le++){se.push(O[Le].time/q);var Fe=O[Le].value;if(C&&d(Fe,me,$)||!C&&Fe===me||(Ee=!1),me=Fe,typeof Fe=="string"){var Ke=y.parse(Fe);Ke?(Fe=Ke,I=!0):H=!0}ue.push(Fe)}if(!(!B&&Ee)){for(var Te=ue[U-1],Le=0;Le<U-1;Le++)C?o(ue[Le],Te,$):isNaN(ue[Le])&&!isNaN(Te)&&!H&&!I&&(ue[Le]=Te);C&&o(P(b._target,z),Te,$);var We=0,Ce=0,De,ge,Re,ve,we,Ue;if(I)var de=[0,0,0,0];var oe=function(ce,ye){var he;if(ye<0)he=0;else if(ye<Ce){for(De=Math.min(We+1,U-1),he=De;he>=0&&!(se[he]<=ye);he--);he=Math.min(he,U-2)}else{for(he=We;he<U&&!(se[he]>ye);he++);he=Math.min(he-1,U-2)}We=he,Ce=ye;var xe=se[he+1]-se[he];if(xe!==0)if(ge=(ye-se[he])/xe,k)if(ve=ue[he],Re=ue[he===0?he:he-1],we=ue[he>U-2?U-1:he+1],Ue=ue[he>U-3?U-1:he+2],C)m(Re,ve,we,Ue,ge,ge*ge,ge*ge*ge,P(ce,z),$);else{var Ne;if(I)Ne=m(Re,ve,we,Ue,ge,ge*ge,ge*ge*ge,de,1),Ne=g(de);else{if(H)return f(ve,we,ge);Ne=_(Re,ve,we,Ue,ge,ge*ge,ge*ge*ge)}F(ce,z,Ne)}else if(C)n(ue[he],ue[he+1],ge,P(ce,z),$);else{var Ne;if(I)n(ue[he],ue[he+1],ge,de,1),Ne=g(de);else{if(H)return f(ue[he],ue[he+1],ge);Ne=l(ue[he],ue[he+1],ge)}F(ce,z,Ne)}},ne=new K({target:b._target,life:q,loop:b._loop,delay:b._delay,onframe:oe,ondestroy:R});return w&&w!=="spline"&&(ne.easing=w),ne}}}var p=function(b,w,R,O){this._tracks={},this._target=b,this._loop=w||!1,this._getter=R||x,this._setter=O||c,this._clipCount=0,this._delay=0,this._doneList=[],this._onframeList=[],this._clipList=[]};p.prototype={when:function(b,w){var R=this._tracks;for(var O in w)if(w.hasOwnProperty(O)){if(!R[O]){R[O]=[];var z=this._getter(this._target,O);if(z==null)continue;b!==0&&R[O].push({time:0,value:h(z)})}R[O].push({time:b,value:w[O]})}return this},during:function(b){return this._onframeList.push(b),this},pause:function(){for(var b=0;b<this._clipList.length;b++)this._clipList[b].pause();this._paused=!0},resume:function(){for(var b=0;b<this._clipList.length;b++)this._clipList[b].resume();this._paused=!1},isPaused:function(){return!!this._paused},_doneCallback:function(){this._tracks={},this._clipList.length=0;for(var b=this._doneList,w=b.length,R=0;R<w;R++)b[R].call(this)},start:function(b,w){var R=this,O=0,z=function(){O--,O||R._doneCallback()},B;for(var P in this._tracks)if(this._tracks.hasOwnProperty(P)){var F=a(this,b,z,this._tracks[P],P,w);F&&(this._clipList.push(F),O++,this.animation&&this.animation.addClip(F),B=F)}if(B){var k=B.onframe;B.onframe=function(U,G){k(U,G);for(var C=0;C<R._onframeList.length;C++)R._onframeList[C](U,G)}}return O||this._doneCallback(),this},stop:function(b){for(var w=this._clipList,R=this.animation,O=0;O<w.length;O++){var z=w[O];b&&z.onframe(this._target,1),R&&R.removeClip(z)}w.length=0},delay:function(b){return this._delay=b,this},done:function(b){return b&&this._doneList.push(b),this},getClips:function(){return this._clipList}};var E=p;te.exports=E},function(te,X,S){var K=S(124);function y(A){this._target=A.target,this._life=A.life||1e3,this._delay=A.delay||0,this._initialized=!1,this.loop=A.loop==null?!1:A.loop,this.gap=A.gap||0,this.easing=A.easing||"Linear",this.onframe=A.onframe,this.ondestroy=A.ondestroy,this.onrestart=A.onrestart,this._pausedTime=0,this._paused=!1}y.prototype={constructor:y,step:function(A,s){if(this._initialized||(this._startTime=A+this._delay,this._initialized=!0),this._paused){this._pausedTime+=s;return}var x=(A-this._startTime-this._pausedTime)/this._life;if(!(x<0)){x=Math.min(x,1);var c=this.easing,l=typeof c=="string"?K[c]:c,f=typeof l=="function"?l(x):x;return this.fire("frame",f),x==1?this.loop?(this.restart(A),"restart"):(this._needsRemove=!0,"destroy"):null}},restart:function(A){var s=(A-this._startTime-this._pausedTime)%this._life;this._startTime=A-s+this.gap,this._pausedTime=0,this._needsRemove=!1},fire:function(A,s){A="on"+A,this[A]&&this[A](this._target,s)},pause:function(){this._paused=!0},resume:function(){this._paused=!1}};var L=y;te.exports=L},function(te,X){var S={linear:function(y){return y},quadraticIn:function(y){return y*y},quadraticOut:function(y){return y*(2-y)},quadraticInOut:function(y){return(y*=2)<1?.5*y*y:-.5*(--y*(y-2)-1)},cubicIn:function(y){return y*y*y},cubicOut:function(y){return--y*y*y+1},cubicInOut:function(y){return(y*=2)<1?.5*y*y*y:.5*((y-=2)*y*y+2)},quarticIn:function(y){return y*y*y*y},quarticOut:function(y){return 1- --y*y*y*y},quarticInOut:function(y){return(y*=2)<1?.5*y*y*y*y:-.5*((y-=2)*y*y*y-2)},quinticIn:function(y){return y*y*y*y*y},quinticOut:function(y){return--y*y*y*y*y+1},quinticInOut:function(y){return(y*=2)<1?.5*y*y*y*y*y:.5*((y-=2)*y*y*y*y+2)},sinusoidalIn:function(y){return 1-Math.cos(y*Math.PI/2)},sinusoidalOut:function(y){return Math.sin(y*Math.PI/2)},sinusoidalInOut:function(y){return .5*(1-Math.cos(Math.PI*y))},exponentialIn:function(y){return y===0?0:Math.pow(1024,y-1)},exponentialOut:function(y){return y===1?1:1-Math.pow(2,-10*y)},exponentialInOut:function(y){return y===0?0:y===1?1:(y*=2)<1?.5*Math.pow(1024,y-1):.5*(-Math.pow(2,-10*(y-1))+2)},circularIn:function(y){return 1-Math.sqrt(1-y*y)},circularOut:function(y){return Math.sqrt(1- --y*y)},circularInOut:function(y){return(y*=2)<1?-.5*(Math.sqrt(1-y*y)-1):.5*(Math.sqrt(1-(y-=2)*y)+1)},elasticIn:function(y){var L,A=.1,s=.4;return y===0?0:y===1?1:(!A||A<1?(A=1,L=s/4):L=s*Math.asin(1/A)/(2*Math.PI),-(A*Math.pow(2,10*(y-=1))*Math.sin((y-L)*(2*Math.PI)/s)))},elasticOut:function(y){var L,A=.1,s=.4;return y===0?0:y===1?1:(!A||A<1?(A=1,L=s/4):L=s*Math.asin(1/A)/(2*Math.PI),A*Math.pow(2,-10*y)*Math.sin((y-L)*(2*Math.PI)/s)+1)},elasticInOut:function(y){var L,A=.1,s=.4;return y===0?0:y===1?1:(!A||A<1?(A=1,L=s/4):L=s*Math.asin(1/A)/(2*Math.PI),(y*=2)<1?-.5*(A*Math.pow(2,10*(y-=1))*Math.sin((y-L)*(2*Math.PI)/s)):A*Math.pow(2,-10*(y-=1))*Math.sin((y-L)*(2*Math.PI)/s)*.5+1)},backIn:function(y){var L=1.70158;return y*y*((L+1)*y-L)},backOut:function(y){var L=1.70158;return--y*y*((L+1)*y+L)+1},backInOut:function(y){var L=2.5949095;return(y*=2)<1?.5*(y*y*((L+1)*y-L)):.5*((y-=2)*y*((L+1)*y+L)+2)},bounceIn:function(y){return 1-S.bounceOut(1-y)},bounceOut:function(y){return y<.36363636363636365?7.5625*y*y:y<.7272727272727273?7.5625*(y-=.5454545454545454)*y+.75:y<.9090909090909091?7.5625*(y-=.8181818181818182)*y+.9375:7.5625*(y-=.9545454545454546)*y+.984375},bounceInOut:function(y){return y<.5?S.bounceIn(y*2)*.5:S.bounceOut(y*2-1)*.5+.5}},K=S;te.exports=K},function(te,X,S){var K=S(53),y={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};function L(P){return P=Math.round(P),P<0?0:P>255?255:P}function A(P){return P=Math.round(P),P<0?0:P>360?360:P}function s(P){return P<0?0:P>1?1:P}function x(P){return P.length&&P.charAt(P.length-1)==="%"?L(parseFloat(P)/100*255):L(parseInt(P,10))}function c(P){return P.length&&P.charAt(P.length-1)==="%"?s(parseFloat(P)/100):s(parseFloat(P))}function l(P,F,k){return k<0?k+=1:k>1&&(k-=1),k*6<1?P+(F-P)*k*6:k*2<1?F:k*3<2?P+(F-P)*(2/3-k)*6:P}function f(P,F,k){return P+(F-P)*k}function n(P,F,k,U,G){return P[0]=F,P[1]=k,P[2]=U,P[3]=G,P}function o(P,F){return P[0]=F[0],P[1]=F[1],P[2]=F[2],P[3]=F[3],P}var d=new K(20),m=null;function _(P,F){m&&o(m,F),m=d.put(P,m||F.slice())}function h(P,F){if(P){F=F||[];var k=d.get(P);if(k)return o(F,k);P=P+"";var U=P.replace(/ /g,"").toLowerCase();if(U in y)return o(F,y[U]),_(P,F),F;if(U.charAt(0)==="#"){if(U.length===4){var G=parseInt(U.substr(1),16);if(!(G>=0&&G<=4095)){n(F,0,0,0,1);return}return n(F,(G&3840)>>4|(G&3840)>>8,G&240|(G&240)>>4,G&15|(G&15)<<4,1),_(P,F),F}else if(U.length===7){var G=parseInt(U.substr(1),16);if(!(G>=0&&G<=16777215)){n(F,0,0,0,1);return}return n(F,(G&16711680)>>16,(G&65280)>>8,G&255,1),_(P,F),F}return}var C=U.indexOf("("),I=U.indexOf(")");if(C!==-1&&I+1===U.length){var H=U.substr(0,C),$=U.substr(C+1,I-(C+1)).split(","),q=1;switch(H){case"rgba":if($.length!==4){n(F,0,0,0,1);return}q=c($.pop());case"rgb":if($.length!==3){n(F,0,0,0,1);return}return n(F,x($[0]),x($[1]),x($[2]),q),_(P,F),F;case"hsla":if($.length!==4){n(F,0,0,0,1);return}return $[3]=c($[3]),g($,F),_(P,F),F;case"hsl":if($.length!==3){n(F,0,0,0,1);return}return g($,F),_(P,F),F;default:return}}n(F,0,0,0,1)}}function g(P,F){var k=(parseFloat(P[0])%360+360)%360/360,U=c(P[1]),G=c(P[2]),C=G<=.5?G*(U+1):G+U-G*U,I=G*2-C;return F=F||[],n(F,L(l(I,C,k+1/3)*255),L(l(I,C,k)*255),L(l(I,C,k-1/3)*255),1),P.length===4&&(F[3]=P[3]),F}function r(P){if(P){var F=P[0]/255,k=P[1]/255,U=P[2]/255,G=Math.min(F,k,U),C=Math.max(F,k,U),I=C-G,H=(C+G)/2,$,q;if(I===0)$=0,q=0;else{H<.5?q=I/(C+G):q=I/(2-C-G);var se=((C-F)/6+I/2)/I,ue=((C-k)/6+I/2)/I,me=((C-U)/6+I/2)/I;F===C?$=me-ue:k===C?$=1/3+se-me:U===C&&($=2/3+ue-se),$<0&&($+=1),$>1&&($-=1)}var Ee=[$*360,q,H];return P[3]!=null&&Ee.push(P[3]),Ee}}function a(P,F){var k=h(P);if(k){for(var U=0;U<3;U++)F<0?k[U]=k[U]*(1-F)|0:k[U]=(255-k[U])*F+k[U]|0;return B(k,k.length===4?"rgba":"rgb")}}function p(P){var F=h(P);if(F)return((1<<24)+(F[0]<<16)+(F[1]<<8)+ +F[2]).toString(16).slice(1)}function E(P,F,k){if(!(!(F&&F.length)||!(P>=0&&P<=1))){k=k||[];var U=P*(F.length-1),G=Math.floor(U),C=Math.ceil(U),I=F[G],H=F[C],$=U-G;return k[0]=L(f(I[0],H[0],$)),k[1]=L(f(I[1],H[1],$)),k[2]=L(f(I[2],H[2],$)),k[3]=s(f(I[3],H[3],$)),k}}var b=E;function w(P,F,k){if(!(!(F&&F.length)||!(P>=0&&P<=1))){var U=P*(F.length-1),G=Math.floor(U),C=Math.ceil(U),I=h(F[G]),H=h(F[C]),$=U-G,q=B([L(f(I[0],H[0],$)),L(f(I[1],H[1],$)),L(f(I[2],H[2],$)),s(f(I[3],H[3],$))],"rgba");return k?{color:q,leftIndex:G,rightIndex:C,value:U}:q}}var R=w;function O(P,F,k,U){if(P=h(P),P)return P=r(P),F!=null&&(P[0]=A(F)),k!=null&&(P[1]=c(k)),U!=null&&(P[2]=c(U)),B(g(P),"rgba")}function z(P,F){if(P=h(P),P&&F!=null)return P[3]=s(F),B(P,"rgba")}function B(P,F){if(!(!P||!P.length)){var k=P[0]+","+P[1]+","+P[2];return(F==="rgba"||F==="hsva"||F==="hsla")&&(k+=","+P[3]),F+"("+k+")"}}X.parse=h,X.lift=a,X.toHex=p,X.fastLerp=E,X.fastMapToColor=b,X.lerp=w,X.mapToColor=R,X.modifyHSL=O,X.modifyAlpha=z,X.stringify=B},function(te,X,S){"use strict";X.a=`
@export clay.util.rand
highp float rand(vec2 uv) {
const highp float a = 12.9898, b = 78.233, c = 43758.5453;
highp float dt = dot(uv.xy, vec2(a,b)), sn = mod(dt, 3.141592653589793);
return fract(sin(sn) * c);
}
@end
@export clay.util.calculate_attenuation
uniform float attenuationFactor : 5.0;
float lightAttenuation(float dist, float range)
{
float attenuation = 1.0;
attenuation = dist*dist/(range*range+1.0);
float att_s = attenuationFactor;
attenuation = 1.0/(attenuation*att_s+1.0);
att_s = 1.0/(att_s+1.0);
attenuation = attenuation - att_s;
attenuation /= 1.0 - att_s;
return clamp(attenuation, 0.0, 1.0);
}
@end
@export clay.util.edge_factor
float edgeFactor(float width)
{
vec3 d = fwidth(v_Barycentric);
vec3 a3 = smoothstep(vec3(0.0), d * width, v_Barycentric);
return min(min(a3.x, a3.y), a3.z);
}
@end
@export clay.util.encode_float
vec4 encodeFloat(const in float depth)
{
const vec4 bitShifts = vec4(256.0*256.0*256.0, 256.0*256.0, 256.0, 1.0);
const vec4 bit_mask = vec4(0.0, 1.0/256.0, 1.0/256.0, 1.0/256.0);
vec4 res = fract(depth * bitShifts);
res -= res.xxyz * bit_mask;
return res;
}
@end
@export clay.util.decode_float
float decodeFloat(const in vec4 color)
{
const vec4 bitShifts = vec4(1.0/(256.0*256.0*256.0), 1.0/(256.0*256.0), 1.0/256.0, 1.0);
return dot(color, bitShifts);
}
@end
@export clay.util.float
@import clay.util.encode_float
@import clay.util.decode_float
@end
@export clay.util.rgbm_decode
vec3 RGBMDecode(vec4 rgbm, float range) {
return range * rgbm.rgb * rgbm.a;
}
@end
@export clay.util.rgbm_encode
vec4 RGBMEncode(vec3 color, float range) {
if (dot(color, color) == 0.0) {
return vec4(0.0);
}
vec4 rgbm;
color /= range;
rgbm.a = clamp(max(max(color.r, color.g), max(color.b, 1e-6)), 0.0, 1.0);
rgbm.a = ceil(rgbm.a * 255.0) / 255.0;
rgbm.rgb = color / rgbm.a;
return rgbm;
}
@end
@export clay.util.rgbm
@import clay.util.rgbm_decode
@import clay.util.rgbm_encode
vec4 decodeHDR(vec4 color)
{
#if defined(RGBM_DECODE) || defined(RGBM)
return vec4(RGBMDecode(color, 51.5), 1.0);
#else
return color;
#endif
}
vec4 encodeHDR(vec4 color)
{
#if defined(RGBM_ENCODE) || defined(RGBM)
return RGBMEncode(color.xyz, 51.5);
#else
return color;
#endif
}
@end
@export clay.util.srgb
vec4 sRGBToLinear(in vec4 value) {
return vec4(mix(pow(value.rgb * 0.9478672986 + vec3(0.0521327014), vec3(2.4)), value.rgb * 0.0773993808, vec3(lessThanEqual(value.rgb, vec3(0.04045)))), value.w);
}
vec4 linearTosRGB(in vec4 value) {
return vec4(mix(pow(value.rgb, vec3(0.41666)) * 1.055 - vec3(0.055), value.rgb * 12.92, vec3(lessThanEqual(value.rgb, vec3(0.0031308)))), value.w);
}
@end
@export clay.chunk.skinning_header
#ifdef SKINNING
attribute vec3 weight : WEIGHT;
attribute vec4 joint : JOINT;
uniform mat4 skinMatrix[JOINT_COUNT] : SKIN_MATRIX;
mat4 getSkinMatrix(float idx) {
return skinMatrix[int(idx)];
}
#endif
@end
@export clay.chunk.skin_matrix
mat4 skinMatrixWS = getSkinMatrix(joint.x) * weight.x;
if (weight.y > 1e-4)
{
skinMatrixWS += getSkinMatrix(joint.y) * weight.y;
}
if (weight.z > 1e-4)
{
skinMatrixWS += getSkinMatrix(joint.z) * weight.z;
}
float weightW = 1.0-weight.x-weight.y-weight.z;
if (weightW > 1e-4)
{
skinMatrixWS += getSkinMatrix(joint.w) * weightW;
}
@end
@export clay.util.parallax_correct
vec3 parallaxCorrect(in vec3 dir, in vec3 pos, in vec3 boxMin, in vec3 boxMax) {
vec3 first = (boxMax - pos) / dir;
vec3 second = (boxMin - pos) / dir;
vec3 further = max(first, second);
float dist = min(further.x, min(further.y, further.z));
vec3 fixedPos = pos + dir * dist;
vec3 boxCenter = (boxMax + boxMin) * 0.5;
return normalize(fixedPos - boxCenter);
}
@end
@export clay.util.clamp_sample
vec4 clampSample(const in sampler2D texture, const in vec2 coord)
{
#ifdef STEREO
float eye = step(0.5, coord.x) * 0.5;
vec2 coordClamped = clamp(coord, vec2(eye, 0.0), vec2(0.5 + eye, 1.0));
#else
vec2 coordClamped = clamp(coord, vec2(0.0), vec2(1.0));
#endif
return texture2D(texture, coordClamped);
}
@end
@export clay.util.ACES
vec3 ACESToneMapping(vec3 color)
{
const float A = 2.51;
const float B = 0.03;
const float C = 2.43;
const float D = 0.59;
const float E = 0.14;
return (color * (A * color + B)) / (color * (C * color + D) + E);
}
@end`},function(te,X,S){"use strict";X.a=`
@export ecgl.common.transformUniforms
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
uniform mat4 worldInverseTranspose : WORLDINVERSETRANSPOSE;
uniform mat4 world : WORLD;
@end
@export ecgl.common.attributes
attribute vec3 position : POSITION;
attribute vec2 texcoord : TEXCOORD_0;
attribute vec3 normal : NORMAL;
@end
@export ecgl.common.uv.header
uniform vec2 uvRepeat : [1.0, 1.0];
uniform vec2 uvOffset : [0.0, 0.0];
uniform vec2 detailUvRepeat : [1.0, 1.0];
uniform vec2 detailUvOffset : [0.0, 0.0];
varying vec2 v_Texcoord;
varying vec2 v_DetailTexcoord;
@end
@export ecgl.common.uv.main
v_Texcoord = texcoord * uvRepeat + uvOffset;
v_DetailTexcoord = texcoord * detailUvRepeat + detailUvOffset;
@end
@export ecgl.common.uv.fragmentHeader
varying vec2 v_Texcoord;
varying vec2 v_DetailTexcoord;
@end
@export ecgl.common.albedo.main
vec4 albedoTexel = vec4(1.0);
#ifdef DIFFUSEMAP_ENABLED
albedoTexel = texture2D(diffuseMap, v_Texcoord);
#ifdef SRGB_DECODE
albedoTexel = sRGBToLinear(albedoTexel);
#endif
#endif
#ifdef DETAILMAP_ENABLED
vec4 detailTexel = texture2D(detailMap, v_DetailTexcoord);
#ifdef SRGB_DECODE
detailTexel = sRGBToLinear(detailTexel);
#endif
albedoTexel.rgb = mix(albedoTexel.rgb, detailTexel.rgb, detailTexel.a);
albedoTexel.a = detailTexel.a + (1.0 - detailTexel.a) * albedoTexel.a;
#endif
@end
@export ecgl.common.wireframe.vertexHeader
#ifdef WIREFRAME_QUAD
attribute vec4 barycentric;
varying vec4 v_Barycentric;
#elif defined(WIREFRAME_TRIANGLE)
attribute vec3 barycentric;
varying vec3 v_Barycentric;
#endif
@end
@export ecgl.common.wireframe.vertexMain
#if defined(WIREFRAME_QUAD) || defined(WIREFRAME_TRIANGLE)
v_Barycentric = barycentric;
#endif
@end
@export ecgl.common.wireframe.fragmentHeader
uniform float wireframeLineWidth : 1;
uniform vec4 wireframeLineColor: [0, 0, 0, 0.5];
#ifdef WIREFRAME_QUAD
varying vec4 v_Barycentric;
float edgeFactor () {
vec4 d = fwidth(v_Barycentric);
vec4 a4 = smoothstep(vec4(0.0), d * wireframeLineWidth, v_Barycentric);
return min(min(min(a4.x, a4.y), a4.z), a4.w);
}
#elif defined(WIREFRAME_TRIANGLE)
varying vec3 v_Barycentric;
float edgeFactor () {
vec3 d = fwidth(v_Barycentric);
vec3 a3 = smoothstep(vec3(0.0), d * wireframeLineWidth, v_Barycentric);
return min(min(a3.x, a3.y), a3.z);
}
#endif
@end
@export ecgl.common.wireframe.fragmentMain
#if defined(WIREFRAME_QUAD) || defined(WIREFRAME_TRIANGLE)
if (wireframeLineWidth > 0.) {
vec4 lineColor = wireframeLineColor;
#ifdef SRGB_DECODE
lineColor = sRGBToLinear(lineColor);
#endif
gl_FragColor.rgb = mix(gl_FragColor.rgb, lineColor.rgb, (1.0 - edgeFactor()) * lineColor.a);
}
#endif
@end
@export ecgl.common.bumpMap.header
#ifdef BUMPMAP_ENABLED
uniform sampler2D bumpMap;
uniform float bumpScale : 1.0;
vec3 bumpNormal(vec3 surfPos, vec3 surfNormal, vec3 baseNormal)
{
vec2 dSTdx = dFdx(v_Texcoord);
vec2 dSTdy = dFdy(v_Texcoord);
float Hll = bumpScale * texture2D(bumpMap, v_Texcoord).x;
float dHx = bumpScale * texture2D(bumpMap, v_Texcoord + dSTdx).x - Hll;
float dHy = bumpScale * texture2D(bumpMap, v_Texcoord + dSTdy).x - Hll;
vec3 vSigmaX = dFdx(surfPos);
vec3 vSigmaY = dFdy(surfPos);
vec3 vN = surfNormal;
vec3 R1 = cross(vSigmaY, vN);
vec3 R2 = cross(vN, vSigmaX);
float fDet = dot(vSigmaX, R1);
vec3 vGrad = sign(fDet) * (dHx * R1 + dHy * R2);
return normalize(abs(fDet) * baseNormal - vGrad);
}
#endif
@end
@export ecgl.common.normalMap.vertexHeader
#ifdef NORMALMAP_ENABLED
attribute vec4 tangent : TANGENT;
varying vec3 v_Tangent;
varying vec3 v_Bitangent;
#endif
@end
@export ecgl.common.normalMap.vertexMain
#ifdef NORMALMAP_ENABLED
if (dot(tangent, tangent) > 0.0) {
v_Tangent = normalize((worldInverseTranspose * vec4(tangent.xyz, 0.0)).xyz);
v_Bitangent = normalize(cross(v_Normal, v_Tangent) * tangent.w);
}
#endif
@end
@export ecgl.common.normalMap.fragmentHeader
#ifdef NORMALMAP_ENABLED
uniform sampler2D normalMap;
varying vec3 v_Tangent;
varying vec3 v_Bitangent;
#endif
@end
@export ecgl.common.normalMap.fragmentMain
#ifdef NORMALMAP_ENABLED
if (dot(v_Tangent, v_Tangent) > 0.0) {
vec3 normalTexel = texture2D(normalMap, v_DetailTexcoord).xyz;
if (dot(normalTexel, normalTexel) > 0.0) { N = normalTexel * 2.0 - 1.0;
mat3 tbn = mat3(v_Tangent, v_Bitangent, v_Normal);
N = normalize(tbn * N);
}
}
#endif
@end
@export ecgl.common.vertexAnimation.header
#ifdef VERTEX_ANIMATION
attribute vec3 prevPosition;
attribute vec3 prevNormal;
uniform float percent;
#endif
@end
@export ecgl.common.vertexAnimation.main
#ifdef VERTEX_ANIMATION
vec3 pos = mix(prevPosition, position, percent);
vec3 norm = mix(prevNormal, normal, percent);
#else
vec3 pos = position;
vec3 norm = normal;
#endif
@end
@export ecgl.common.ssaoMap.header
#ifdef SSAOMAP_ENABLED
uniform sampler2D ssaoMap;
uniform vec4 viewport : VIEWPORT;
#endif
@end
@export ecgl.common.ssaoMap.main
float ao = 1.0;
#ifdef SSAOMAP_ENABLED
ao = texture2D(ssaoMap, (gl_FragCoord.xy - viewport.xy) / viewport.zw).r;
#endif
@end
@export ecgl.common.diffuseLayer.header
#if (LAYER_DIFFUSEMAP_COUNT > 0)
uniform float layerDiffuseIntensity[LAYER_DIFFUSEMAP_COUNT];
uniform sampler2D layerDiffuseMap[LAYER_DIFFUSEMAP_COUNT];
#endif
@end
@export ecgl.common.emissiveLayer.header
#if (LAYER_EMISSIVEMAP_COUNT > 0)
uniform float layerEmissionIntensity[LAYER_EMISSIVEMAP_COUNT];
uniform sampler2D layerEmissiveMap[LAYER_EMISSIVEMAP_COUNT];
#endif
@end
@export ecgl.common.layers.header
@import ecgl.common.diffuseLayer.header
@import ecgl.common.emissiveLayer.header
@end
@export ecgl.common.diffuseLayer.main
#if (LAYER_DIFFUSEMAP_COUNT > 0)
for (int _idx_ = 0; _idx_ < LAYER_DIFFUSEMAP_COUNT; _idx_++) {{
float intensity = layerDiffuseIntensity[_idx_];
vec4 texel2 = texture2D(layerDiffuseMap[_idx_], v_Texcoord);
#ifdef SRGB_DECODE
texel2 = sRGBToLinear(texel2);
#endif
albedoTexel.rgb = mix(albedoTexel.rgb, texel2.rgb * intensity, texel2.a);
albedoTexel.a = texel2.a + (1.0 - texel2.a) * albedoTexel.a;
}}
#endif
@end
@export ecgl.common.emissiveLayer.main
#if (LAYER_EMISSIVEMAP_COUNT > 0)
for (int _idx_ = 0; _idx_ < LAYER_EMISSIVEMAP_COUNT; _idx_++)
{{
vec4 texel2 = texture2D(layerEmissiveMap[_idx_], v_Texcoord) * layerEmissionIntensity[_idx_];
#ifdef SRGB_DECODE
texel2 = sRGBToLinear(texel2);
#endif
float intensity = layerEmissionIntensity[_idx_];
gl_FragColor.rgb += texel2.rgb * texel2.a * intensity;
}}
#endif
@end
`},function(te,X,S){"use strict";X.a=`@export ecgl.color.vertex
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
@import ecgl.common.uv.header
attribute vec2 texcoord : TEXCOORD_0;
attribute vec3 position: POSITION;
@import ecgl.common.wireframe.vertexHeader
#ifdef VERTEX_COLOR
attribute vec4 a_Color : COLOR;
varying vec4 v_Color;
#endif
#ifdef VERTEX_ANIMATION
attribute vec3 prevPosition;
uniform float percent : 1.0;
#endif
void main()
{
#ifdef VERTEX_ANIMATION
vec3 pos = mix(prevPosition, position, percent);
#else
vec3 pos = position;
#endif
gl_Position = worldViewProjection * vec4(pos, 1.0);
@import ecgl.common.uv.main
#ifdef VERTEX_COLOR
v_Color = a_Color;
#endif
@import ecgl.common.wireframe.vertexMain
}
@end
@export ecgl.color.fragment
#define LAYER_DIFFUSEMAP_COUNT 0
#define LAYER_EMISSIVEMAP_COUNT 0
uniform sampler2D diffuseMap;
uniform sampler2D detailMap;
uniform vec4 color : [1.0, 1.0, 1.0, 1.0];
#ifdef VERTEX_COLOR
varying vec4 v_Color;
#endif
@import ecgl.common.layers.header
@import ecgl.common.uv.fragmentHeader
@import ecgl.common.wireframe.fragmentHeader
@import clay.util.srgb
void main()
{
#ifdef SRGB_DECODE
gl_FragColor = sRGBToLinear(color);
#else
gl_FragColor = color;
#endif
#ifdef VERTEX_COLOR
gl_FragColor *= v_Color;
#endif
@import ecgl.common.albedo.main
@import ecgl.common.diffuseLayer.main
gl_FragColor *= albedoTexel;
@import ecgl.common.emissiveLayer.main
@import ecgl.common.wireframe.fragmentMain
}
@end`},function(te,X,S){"use strict";X.a=`/**
* http: */
@export ecgl.lambert.vertex
@import ecgl.common.transformUniforms
@import ecgl.common.uv.header
@import ecgl.common.attributes
@import ecgl.common.wireframe.vertexHeader
#ifdef VERTEX_COLOR
attribute vec4 a_Color : COLOR;
varying vec4 v_Color;
#endif
@import ecgl.common.vertexAnimation.header
varying vec3 v_Normal;
varying vec3 v_WorldPosition;
void main()
{
@import ecgl.common.uv.main
@import ecgl.common.vertexAnimation.main
gl_Position = worldViewProjection * vec4(pos, 1.0);
v_Normal = normalize((worldInverseTranspose * vec4(norm, 0.0)).xyz);
v_WorldPosition = (world * vec4(pos, 1.0)).xyz;
#ifdef VERTEX_COLOR
v_Color = a_Color;
#endif
@import ecgl.common.wireframe.vertexMain
}
@end
@export ecgl.lambert.fragment
#define LAYER_DIFFUSEMAP_COUNT 0
#define LAYER_EMISSIVEMAP_COUNT 0
#define NORMAL_UP_AXIS 1
#define NORMAL_FRONT_AXIS 2
@import ecgl.common.uv.fragmentHeader
varying vec3 v_Normal;
varying vec3 v_WorldPosition;
uniform sampler2D diffuseMap;
uniform sampler2D detailMap;
@import ecgl.common.layers.header
uniform float emissionIntensity: 1.0;
uniform vec4 color : [1.0, 1.0, 1.0, 1.0];
uniform mat4 viewInverse : VIEWINVERSE;
#ifdef AMBIENT_LIGHT_COUNT
@import clay.header.ambient_light
#endif
#ifdef AMBIENT_SH_LIGHT_COUNT
@import clay.header.ambient_sh_light
#endif
#ifdef DIRECTIONAL_LIGHT_COUNT
@import clay.header.directional_light
#endif
#ifdef VERTEX_COLOR
varying vec4 v_Color;
#endif
@import ecgl.common.ssaoMap.header
@import ecgl.common.bumpMap.header
@import clay.util.srgb
@import ecgl.common.wireframe.fragmentHeader
@import clay.plugin.compute_shadow_map
void main()
{
#ifdef SRGB_DECODE
gl_FragColor = sRGBToLinear(color);
#else
gl_FragColor = color;
#endif
#ifdef VERTEX_COLOR
#ifdef SRGB_DECODE
gl_FragColor *= sRGBToLinear(v_Color);
#else
gl_FragColor *= v_Color;
#endif
#endif
@import ecgl.common.albedo.main
@import ecgl.common.diffuseLayer.main
gl_FragColor *= albedoTexel;
vec3 N = v_Normal;
#ifdef DOUBLE_SIDED
vec3 eyePos = viewInverse[3].xyz;
vec3 V = normalize(eyePos - v_WorldPosition);
if (dot(N, V) < 0.0) {
N = -N;
}
#endif
float ambientFactor = 1.0;
#ifdef BUMPMAP_ENABLED
N = bumpNormal(v_WorldPosition, v_Normal, N);
ambientFactor = dot(v_Normal, N);
#endif
vec3 N2 = vec3(N.x, N[NORMAL_UP_AXIS], N[NORMAL_FRONT_AXIS]);
vec3 diffuseColor = vec3(0.0, 0.0, 0.0);
@import ecgl.common.ssaoMap.main
#ifdef AMBIENT_LIGHT_COUNT
for(int i = 0; i < AMBIENT_LIGHT_COUNT; i++)
{
diffuseColor += ambientLightColor[i] * ambientFactor * ao;
}
#endif
#ifdef AMBIENT_SH_LIGHT_COUNT
for(int _idx_ = 0; _idx_ < AMBIENT_SH_LIGHT_COUNT; _idx_++)
{{
diffuseColor += calcAmbientSHLight(_idx_, N2) * ambientSHLightColor[_idx_] * ao;
}}
#endif
#ifdef DIRECTIONAL_LIGHT_COUNT
#if defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT)
float shadowContribsDir[DIRECTIONAL_LIGHT_COUNT];
if(shadowEnabled)
{
computeShadowOfDirectionalLights(v_WorldPosition, shadowContribsDir);
}
#endif
for(int i = 0; i < DIRECTIONAL_LIGHT_COUNT; i++)
{
vec3 lightDirection = -directionalLightDirection[i];
vec3 lightColor = directionalLightColor[i];
float shadowContrib = 1.0;
#if defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT)
if (shadowEnabled)
{
shadowContrib = shadowContribsDir[i];
}
#endif
float ndl = dot(N, normalize(lightDirection)) * shadowContrib;
diffuseColor += lightColor * clamp(ndl, 0.0, 1.0);
}
#endif
gl_FragColor.rgb *= diffuseColor;
@import ecgl.common.emissiveLayer.main
@import ecgl.common.wireframe.fragmentMain
}
@end`},function(te,X,S){"use strict";X.a=`@export ecgl.realistic.vertex
@import ecgl.common.transformUniforms
@import ecgl.common.uv.header
@import ecgl.common.attributes
@import ecgl.common.wireframe.vertexHeader
#ifdef VERTEX_COLOR
attribute vec4 a_Color : COLOR;
varying vec4 v_Color;
#endif
#ifdef NORMALMAP_ENABLED
attribute vec4 tangent : TANGENT;
varying vec3 v_Tangent;
varying vec3 v_Bitangent;
#endif
@import ecgl.common.vertexAnimation.header
varying vec3 v_Normal;
varying vec3 v_WorldPosition;
void main()
{
@import ecgl.common.uv.main
@import ecgl.common.vertexAnimation.main
gl_Position = worldViewProjection * vec4(pos, 1.0);
v_Normal = normalize((worldInverseTranspose * vec4(norm, 0.0)).xyz);
v_WorldPosition = (world * vec4(pos, 1.0)).xyz;
#ifdef VERTEX_COLOR
v_Color = a_Color;
#endif
#ifdef NORMALMAP_ENABLED
v_Tangent = normalize((worldInverseTranspose * vec4(tangent.xyz, 0.0)).xyz);
v_Bitangent = normalize(cross(v_Normal, v_Tangent) * tangent.w);
#endif
@import ecgl.common.wireframe.vertexMain
}
@end
@export ecgl.realistic.fragment
#define LAYER_DIFFUSEMAP_COUNT 0
#define LAYER_EMISSIVEMAP_COUNT 0
#define PI 3.14159265358979
#define ROUGHNESS_CHANEL 0
#define METALNESS_CHANEL 1
#define NORMAL_UP_AXIS 1
#define NORMAL_FRONT_AXIS 2
#ifdef VERTEX_COLOR
varying vec4 v_Color;
#endif
@import ecgl.common.uv.fragmentHeader
varying vec3 v_Normal;
varying vec3 v_WorldPosition;
uniform sampler2D diffuseMap;
uniform sampler2D detailMap;
uniform sampler2D metalnessMap;
uniform sampler2D roughnessMap;
@import ecgl.common.layers.header
uniform float emissionIntensity: 1.0;
uniform vec4 color : [1.0, 1.0, 1.0, 1.0];
uniform float metalness : 0.0;
uniform float roughness : 0.5;
uniform mat4 viewInverse : VIEWINVERSE;
#ifdef AMBIENT_LIGHT_COUNT
@import clay.header.ambient_light
#endif
#ifdef AMBIENT_SH_LIGHT_COUNT
@import clay.header.ambient_sh_light
#endif
#ifdef AMBIENT_CUBEMAP_LIGHT_COUNT
@import clay.header.ambient_cubemap_light
#endif
#ifdef DIRECTIONAL_LIGHT_COUNT
@import clay.header.directional_light
#endif
@import ecgl.common.normalMap.fragmentHeader
@import ecgl.common.ssaoMap.header
@import ecgl.common.bumpMap.header
@import clay.util.srgb
@import clay.util.rgbm
@import ecgl.common.wireframe.fragmentHeader
@import clay.plugin.compute_shadow_map
vec3 F_Schlick(float ndv, vec3 spec) {
return spec + (1.0 - spec) * pow(1.0 - ndv, 5.0);
}
float D_Phong(float g, float ndh) {
float a = pow(8192.0, g);
return (a + 2.0) / 8.0 * pow(ndh, a);
}
void main()
{
vec4 albedoColor = color;
vec3 eyePos = viewInverse[3].xyz;
vec3 V = normalize(eyePos - v_WorldPosition);
#ifdef VERTEX_COLOR
#ifdef SRGB_DECODE
albedoColor *= sRGBToLinear(v_Color);
#else
albedoColor *= v_Color;
#endif
#endif
@import ecgl.common.albedo.main
@import ecgl.common.diffuseLayer.main
albedoColor *= albedoTexel;
float m = metalness;
#ifdef METALNESSMAP_ENABLED
float m2 = texture2D(metalnessMap, v_DetailTexcoord)[METALNESS_CHANEL];
m = clamp(m2 + (m - 0.5) * 2.0, 0.0, 1.0);
#endif
vec3 baseColor = albedoColor.rgb;
albedoColor.rgb = baseColor * (1.0 - m);
vec3 specFactor = mix(vec3(0.04), baseColor, m);
float g = 1.0 - roughness;
#ifdef ROUGHNESSMAP_ENABLED
float g2 = 1.0 - texture2D(roughnessMap, v_DetailTexcoord)[ROUGHNESS_CHANEL];
g = clamp(g2 + (g - 0.5) * 2.0, 0.0, 1.0);
#endif
vec3 N = v_Normal;
#ifdef DOUBLE_SIDED
if (dot(N, V) < 0.0) {
N = -N;
}
#endif
float ambientFactor = 1.0;
#ifdef BUMPMAP_ENABLED
N = bumpNormal(v_WorldPosition, v_Normal, N);
ambientFactor = dot(v_Normal, N);
#endif
@import ecgl.common.normalMap.fragmentMain
vec3 N2 = vec3(N.x, N[NORMAL_UP_AXIS], N[NORMAL_FRONT_AXIS]);
vec3 diffuseTerm = vec3(0.0);
vec3 specularTerm = vec3(0.0);
float ndv = clamp(dot(N, V), 0.0, 1.0);
vec3 fresnelTerm = F_Schlick(ndv, specFactor);
@import ecgl.common.ssaoMap.main
#ifdef AMBIENT_LIGHT_COUNT
for(int _idx_ = 0; _idx_ < AMBIENT_LIGHT_COUNT; _idx_++)
{{
diffuseTerm += ambientLightColor[_idx_] * ambientFactor * ao;
}}
#endif
#ifdef AMBIENT_SH_LIGHT_COUNT
for(int _idx_ = 0; _idx_ < AMBIENT_SH_LIGHT_COUNT; _idx_++)
{{
diffuseTerm += calcAmbientSHLight(_idx_, N2) * ambientSHLightColor[_idx_] * ao;
}}
#endif
#ifdef DIRECTIONAL_LIGHT_COUNT
#if defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT)
float shadowContribsDir[DIRECTIONAL_LIGHT_COUNT];
if(shadowEnabled)
{
computeShadowOfDirectionalLights(v_WorldPosition, shadowContribsDir);
}
#endif
for(int _idx_ = 0; _idx_ < DIRECTIONAL_LIGHT_COUNT; _idx_++)
{{
vec3 L = -directionalLightDirection[_idx_];
vec3 lc = directionalLightColor[_idx_];
vec3 H = normalize(L + V);
float ndl = clamp(dot(N, normalize(L)), 0.0, 1.0);
float ndh = clamp(dot(N, H), 0.0, 1.0);
float shadowContrib = 1.0;
#if defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT)
if (shadowEnabled)
{
shadowContrib = shadowContribsDir[_idx_];
}
#endif
vec3 li = lc * ndl * shadowContrib;
diffuseTerm += li;
specularTerm += li * fresnelTerm * D_Phong(g, ndh);
}}
#endif
#ifdef AMBIENT_CUBEMAP_LIGHT_COUNT
vec3 L = reflect(-V, N);
L = vec3(L.x, L[NORMAL_UP_AXIS], L[NORMAL_FRONT_AXIS]);
float rough2 = clamp(1.0 - g, 0.0, 1.0);
float bias2 = rough2 * 5.0;
vec2 brdfParam2 = texture2D(ambientCubemapLightBRDFLookup[0], vec2(rough2, ndv)).xy;
vec3 envWeight2 = specFactor * brdfParam2.x + brdfParam2.y;
vec3 envTexel2;
for(int _idx_ = 0; _idx_ < AMBIENT_CUBEMAP_LIGHT_COUNT; _idx_++)
{{
envTexel2 = RGBMDecode(textureCubeLodEXT(ambientCubemapLightCubemap[_idx_], L, bias2), 51.5);
specularTerm += ambientCubemapLightColor[_idx_] * envTexel2 * envWeight2 * ao;
}}
#endif
gl_FragColor.rgb = albedoColor.rgb * diffuseTerm + specularTerm;
gl_FragColor.a = albedoColor.a;
#ifdef SRGB_ENCODE
gl_FragColor = linearTosRGB(gl_FragColor);
#endif
@import ecgl.common.emissiveLayer.main
@import ecgl.common.wireframe.fragmentMain
}
@end`},function(te,X,S){"use strict";X.a=`@export ecgl.hatching.vertex
@import ecgl.realistic.vertex
@end
@export ecgl.hatching.fragment
#define NORMAL_UP_AXIS 1
#define NORMAL_FRONT_AXIS 2
@import ecgl.common.uv.fragmentHeader
varying vec3 v_Normal;
varying vec3 v_WorldPosition;
uniform vec4 color : [0.0, 0.0, 0.0, 1.0];
uniform vec4 paperColor : [1.0, 1.0, 1.0, 1.0];
uniform mat4 viewInverse : VIEWINVERSE;
#ifdef AMBIENT_LIGHT_COUNT
@import clay.header.ambient_light
#endif
#ifdef AMBIENT_SH_LIGHT_COUNT
@import clay.header.ambient_sh_light
#endif
#ifdef DIRECTIONAL_LIGHT_COUNT
@import clay.header.directional_light
#endif
#ifdef VERTEX_COLOR
varying vec4 v_Color;
#endif
@import ecgl.common.ssaoMap.header
@import ecgl.common.bumpMap.header
@import clay.util.srgb
@import ecgl.common.wireframe.fragmentHeader
@import clay.plugin.compute_shadow_map
uniform sampler2D hatch1;
uniform sampler2D hatch2;
uniform sampler2D hatch3;
uniform sampler2D hatch4;
uniform sampler2D hatch5;
uniform sampler2D hatch6;
float shade(in float tone) {
vec4 c = vec4(1. ,1., 1., 1.);
float step = 1. / 6.;
vec2 uv = v_DetailTexcoord;
if (tone <= step / 2.0) {
c = mix(vec4(0.), texture2D(hatch6, uv), 12. * tone);
}
else if (tone <= step) {
c = mix(texture2D(hatch6, uv), texture2D(hatch5, uv), 6. * tone);
}
if(tone > step && tone <= 2. * step){
c = mix(texture2D(hatch5, uv), texture2D(hatch4, uv) , 6. * (tone - step));
}
if(tone > 2. * step && tone <= 3. * step){
c = mix(texture2D(hatch4, uv), texture2D(hatch3, uv), 6. * (tone - 2. * step));
}
if(tone > 3. * step && tone <= 4. * step){
c = mix(texture2D(hatch3, uv), texture2D(hatch2, uv), 6. * (tone - 3. * step));
}
if(tone > 4. * step && tone <= 5. * step){
c = mix(texture2D(hatch2, uv), texture2D(hatch1, uv), 6. * (tone - 4. * step));
}
if(tone > 5. * step){
c = mix(texture2D(hatch1, uv), vec4(1.), 6. * (tone - 5. * step));
}
return c.r;
}
const vec3 w = vec3(0.2125, 0.7154, 0.0721);
void main()
{
#ifdef SRGB_DECODE
vec4 inkColor = sRGBToLinear(color);
#else
vec4 inkColor = color;
#endif
#ifdef VERTEX_COLOR
#ifdef SRGB_DECODE
inkColor *= sRGBToLinear(v_Color);
#else
inkColor *= v_Color;
#endif
#endif
vec3 N = v_Normal;
#ifdef DOUBLE_SIDED
vec3 eyePos = viewInverse[3].xyz;
vec3 V = normalize(eyePos - v_WorldPosition);
if (dot(N, V) < 0.0) {
N = -N;
}
#endif
float tone = 0.0;
float ambientFactor = 1.0;
#ifdef BUMPMAP_ENABLED
N = bumpNormal(v_WorldPosition, v_Normal, N);
ambientFactor = dot(v_Normal, N);
#endif
vec3 N2 = vec3(N.x, N[NORMAL_UP_AXIS], N[NORMAL_FRONT_AXIS]);
@import ecgl.common.ssaoMap.main
#ifdef AMBIENT_LIGHT_COUNT
for(int i = 0; i < AMBIENT_LIGHT_COUNT; i++)
{
tone += dot(ambientLightColor[i], w) * ambientFactor * ao;
}
#endif
#ifdef AMBIENT_SH_LIGHT_COUNT
for(int _idx_ = 0; _idx_ < AMBIENT_SH_LIGHT_COUNT; _idx_++)
{{
tone += dot(calcAmbientSHLight(_idx_, N2) * ambientSHLightColor[_idx_], w) * ao;
}}
#endif
#ifdef DIRECTIONAL_LIGHT_COUNT
#if defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT)
float shadowContribsDir[DIRECTIONAL_LIGHT_COUNT];
if(shadowEnabled)
{
computeShadowOfDirectionalLights(v_WorldPosition, shadowContribsDir);
}
#endif
for(int i = 0; i < DIRECTIONAL_LIGHT_COUNT; i++)
{
vec3 lightDirection = -directionalLightDirection[i];
float lightTone = dot(directionalLightColor[i], w);
float shadowContrib = 1.0;
#if defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT)
if (shadowEnabled)
{
shadowContrib = shadowContribsDir[i];
}
#endif
float ndl = dot(N, normalize(lightDirection)) * shadowContrib;
tone += lightTone * clamp(ndl, 0.0, 1.0);
}
#endif
gl_FragColor = mix(inkColor, paperColor, shade(clamp(tone, 0.0, 1.0)));
}
@end
`},function(te,X,S){"use strict";X.a=`@export ecgl.sm.depth.vertex
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
attribute vec3 position : POSITION;
#ifdef VERTEX_ANIMATION
attribute vec3 prevPosition;
uniform float percent : 1.0;
#endif
varying vec4 v_ViewPosition;
void main(){
#ifdef VERTEX_ANIMATION
vec3 pos = mix(prevPosition, position, percent);
#else
vec3 pos = position;
#endif
v_ViewPosition = worldViewProjection * vec4(pos, 1.0);
gl_Position = v_ViewPosition;
}
@end
@export ecgl.sm.depth.fragment
@import clay.sm.depth.fragment
@end`},function(te,X,S){"use strict";var K=S(134),y=S(138),L=S(139),A=S(145),s=S(0),x=S.n(s);x.a.registerAction({type:"grid3DChangeCamera",event:"grid3dcamerachanged",update:"series:updateCamera"},function(c,l){l.eachComponent({mainType:"grid3D",query:c},function(f){f.setView(c)})}),x.a.registerAction({type:"grid3DShowAxisPointer",event:"grid3dshowaxispointer",update:"grid3D:showAxisPointer"},function(c,l){}),x.a.registerAction({type:"grid3DHideAxisPointer",event:"grid3dhideaxispointer",update:"grid3D:hideAxisPointer"},function(c,l){})},function(te,X,S){"use strict";var K=S(0),y=S.n(K),L=S(135),A=y.a.extendComponentModel({type:"cartesian3DAxis",axis:null,getCoordSysModel:function(){return this.ecModel.queryComponents({mainType:"grid3D",index:this.option.gridIndex,id:this.option.gridId})[0]}});y.a.helper.mixinAxisModelCommonMethods(A);function s(x,c){return c.type||(c.data?"category":"value")}Object(L.a)("x",A,s,{name:"X"}),Object(L.a)("y",A,s,{name:"Y"}),Object(L.a)("z",A,s,{name:"Z"})},function(te,X,S){"use strict";var K=S(0),y=S.n(K),L=S(136),A=S(137),s=S.n(A),x=["value","category","time","log"];X.a=function(c,l,f,n){y.a.util.each(x,function(o){l.extend({type:c+"Axis3D."+o,__ordinalMeta:null,mergeDefaultAndTheme:function(d,m){var _=m.getTheme();y.a.util.merge(d,_.get(o+"Axis3D")),y.a.util.merge(d,this.getDefaultOption()),d.type=f(c,d)},optionUpdated:function(){var d=this.option;d.type==="category"&&(this.__ordinalMeta=s.a.createByAxisModel(this))},getCategories:function(){if(this.option.type==="category")return this.__ordinalMeta.categories},getOrdinalMeta:function(){return this.__ordinalMeta},defaultOption:y.a.util.merge(y.a.util.clone(L.a[o+"Axis3D"]),n||{},!0)})}),l.superClass.registerSubTypeDefaulter(c+"Axis3D",y.a.util.curry(f,c))}},function(te,X,S){"use strict";var K=S(0),y=S.n(K),L={show:!0,grid3DIndex:0,inverse:!1,name:"",nameLocation:"middle",nameTextStyle:{fontSize:16},nameGap:20,axisPointer:{},axisLine:{},axisTick:{},axisLabel:{},splitArea:{}},A=y.a.util.merge({boundaryGap:!0,axisTick:{alignWithLabel:!1,interval:"auto"},axisLabel:{interval:"auto"},axisPointer:{label:{show:!1}}},L),s=y.a.util.merge({boundaryGap:[0,0],splitNumber:5,axisPointer:{label:{}}},L),x=y.a.util.defaults({scale:!0,min:"dataMin",max:"dataMax"},s),c=y.a.util.defaults({logBase:10},s);c.scale=!0,X.a={categoryAxis3D:A,valueAxis3D:s,timeAxis3D:x,logAxis3D:c}},function(te,X,S){var K=S(12),y=K.createHashMap,L=K.isObject,A=K.map;function s(n){this.categories=n.categories||[],this._needCollect=n.needCollect,this._deduplication=n.deduplication,this._map}s.createByAxisModel=function(n){var o=n.option,d=o.data,m=d&&A(d,l);return new s({categories:m,needCollect:!m,deduplication:o.dedplication!==!1})};var x=s.prototype;x.getOrdinal=function(n){return c(this).get(n)},x.parseAndCollect=function(n){var o,d=this._needCollect;if(typeof n!="string"&&!d)return n;if(d&&!this._deduplication)return o=this.categories.length,this.categories[o]=n,o;var m=c(this);return o=m.get(n),o==null&&(d?(o=this.categories.length,this.categories[o]=n,m.set(n,o)):o=NaN),o};function c(n){return n._map||(n._map=y(n.categories))}function l(n){return L(n)&&n.value!=null?n.value:n+""}var f=s;te.exports=f},function(te,X,S){"use strict";var K=S(0),y=S.n(K),L=S(38),A=S(31),s=S(32),x=y.a.extendComponentModel({type:"grid3D",dependencies:["xAxis3D","yAxis3D","zAxis3D"],defaultOption:{show:!0,zlevel:-10,left:0,top:0,width:"100%",height:"100%",environment:"auto",boxWidth:100,boxHeight:100,boxDepth:100,axisPointer:{show:!0,lineStyle:{color:"rgba(0, 0, 0, 0.8)",width:1},label:{show:!0,formatter:null,margin:8,textStyle:{fontSize:14,color:"#fff",backgroundColor:"rgba(0,0,0,0.5)",padding:3,borderRadius:3}}},axisLine:{show:!0,lineStyle:{color:"#333",width:2,type:"solid"}},axisTick:{show:!0,inside:!1,length:3,lineStyle:{width:1}},axisLabel:{show:!0,inside:!1,rotate:0,margin:8,textStyle:{fontSize:12}},splitLine:{show:!0,lineStyle:{color:["#ccc"],width:1,type:"solid"}},splitArea:{show:!1,areaStyle:{color:["rgba(250,250,250,0.3)","rgba(200,200,200,0.3)"]}},light:{main:{alpha:30,beta:40},ambient:{intensity:.4}},viewControl:{alpha:20,beta:40,autoRotate:!1,distance:200,minDistance:40,maxDistance:400}}});y.a.util.merge(x.prototype,L.a),y.a.util.merge(x.prototype,A.a),y.a.util.merge(x.prototype,s.a);var c=x},function(te,X,S){"use strict";var K=S(0),y=S.n(K),L=S(2),A=S(39),s=S(22),x=S(3),c=S(73),l=S(34),f=S(140),n=S(142),o=S(58),d=S(40),m=x.a.firstNotNull;L.a.Shader.import(d.a),["x","y","z"].forEach(function(g){y.a.extendComponentView({type:g+"Axis3D"})});var _={x:0,y:2,z:1},h=y.a.extendComponentView({type:"grid3D",__ecgl__:!0,init:function(g,r){var a=[["y","z","x",-1,"left"],["y","z","x",1,"right"],["x","y","z",-1,"bottom"],["x","y","z",1,"top"],["x","z","y",-1,"far"],["x","z","y",1,"near"]],p=["x","y","z"],E=new L.a.Material({shader:L.a.createShader("ecgl.color"),depthMask:!1,transparent:!0}),b=new L.a.Material({shader:L.a.createShader("ecgl.meshLines3D"),depthMask:!1,transparent:!0});E.define("fragment","DOUBLE_SIDED"),E.define("both","VERTEX_COLOR"),this.groupGL=new L.a.Node,this._control=new A.a({zr:r.getZr()}),this._control.init(),this._faces=a.map(function(R){var O=new f.a(R,b,E);return this.groupGL.add(O.rootNode),O},this),this._axes=p.map(function(R){var O=new n.a(R,b);return this.groupGL.add(O.rootNode),O},this);var w=r.getDevicePixelRatio();this._axisLabelSurface=new c.a({width:256,height:256,devicePixelRatio:w}),this._axisLabelSurface.onupdate=function(){r.getZr().refresh()},this._axisPointerLineMesh=new L.a.Mesh({geometry:new s.a({useNativeLine:!1}),material:b,castShadow:!1,ignorePicking:!0,renderOrder:3}),this.groupGL.add(this._axisPointerLineMesh),this._axisPointerLabelsSurface=new c.a({width:128,height:128,devicePixelRatio:w}),this._axisPointerLabelsMesh=new o.a({ignorePicking:!0,renderOrder:4,castShadow:!1}),this._axisPointerLabelsMesh.material.set("textureAtlas",this._axisPointerLabelsSurface.getTexture()),this.groupGL.add(this._axisPointerLabelsMesh),this._lightRoot=new L.a.Node,this._sceneHelper=new l.a,this._sceneHelper.initLight(this._lightRoot)},render:function(g,r,a){this._model=g,this._api=a;var p=g.coordinateSystem;p.viewGL.add(this._lightRoot),g.get("show")?p.viewGL.add(this.groupGL):p.viewGL.remove(this.groupGL);var E=this._control;E.setViewGL(p.viewGL);var b=g.getModel("viewControl");E.setFromViewControlModel(b,0),this._axisLabelSurface.clear();var w=["x","y","z"].reduce(function(R,O){var z=p.getAxis(O),B=z.model;return R[O]=m(B.get("axisLabel.interval"),g.get("axisLabel.interval")),z.scale.type==="ordinal"&&(R[O]==null||R[O]=="auto")&&(R[O]=Math.floor(z.scale.getTicks().length/8)),R},{});E.off("update"),g.get("show")&&(this._faces.forEach(function(R){R.update(w,g,r,a)},this),this._axes.forEach(function(R){R.update(g,w,this._axisLabelSurface,a)},this)),E.on("update",this._onCameraChange.bind(this,g,a),this),this._sceneHelper.setScene(p.viewGL.scene),this._sceneHelper.updateLight(g),p.viewGL.setPostEffect(g.getModel("postEffect"),a),p.viewGL.setTemporalSuperSampling(g.getModel("temporalSuperSampling")),this._initMouseHandler(g)},afterRender:function(g,r,a,p){var E=p.renderer;this._sceneHelper.updateAmbientCubemap(E,g,a),this._sceneHelper.updateSkybox(E,g,a)},showAxisPointer:function(g,r,a,p){this._doShowAxisPointer(),this._updateAxisPointer(p.value)},hideAxisPointer:function(g,r,a,p){this._doHideAxisPointer()},_initMouseHandler:function(g){var r=g.coordinateSystem,a=r.viewGL;g.get("show")&&g.get("axisPointer.show")?a.on("mousemove",this._updateAxisPointerOnMousePosition,this):a.off("mousemove",this._updateAxisPointerOnMousePosition)},_updateAxisPointerOnMousePosition:function(g){if(!g.target){for(var r=this._model,a=r.coordinateSystem,p=a.viewGL,E=p.castRay(g.offsetX,g.offsetY,new L.a.Ray),b,w=0;w<this._faces.length;w++){var R=this._faces[w];if(!R.rootNode.invisible){R.plane.normal.dot(p.camera.worldTransform.z)<0&&R.plane.normal.negate();var O=E.intersectPlane(R.plane);if(O){var z=a.getAxis(R.faceInfo[0]),B=a.getAxis(R.faceInfo[1]),P=_[R.faceInfo[0]],F=_[R.faceInfo[1]];z.contain(O.array[P])&&B.contain(O.array[F])&&(b=O)}}}if(b){var k=a.pointToData(b.array,[],!0);this._updateAxisPointer(k),this._doShowAxisPointer()}else this._doHideAxisPointer()}},_onCameraChange:function(g,r){g.get("show")&&(this._updateFaceVisibility(),this._updateAxisLinePosition());var a=this._control;r.dispatchAction({type:"grid3DChangeCamera",alpha:a.getAlpha(),beta:a.getBeta(),distance:a.getDistance(),center:a.getCenter(),from:this.uid,grid3DId:g.id})},_updateFaceVisibility:function(){var g=this._control.getCamera(),r=new L.a.Vector3;g.update();for(var a=0;a<this._faces.length/2;a++){for(var p=[],E=0;E<2;E++){var b=this._faces[a*2+E];b.rootNode.getWorldPosition(r),r.transformMat4(g.viewMatrix),p[E]=r.z}var w=p[0]>p[1]?0:1,R=this._faces[a*2+w],O=this._faces[a*2+1-w];R.rootNode.invisible=!0,O.rootNode.invisible=!1}},_updateAxisLinePosition:function(){var g=this._model.coordinateSystem,r=g.getAxis("x"),a=g.getAxis("y"),p=g.getAxis("z"),E=p.getExtentMax(),b=p.getExtentMin(),w=r.getExtentMin(),R=r.getExtentMax(),O=a.getExtentMax(),z=a.getExtentMin(),B=this._axes[0].rootNode,P=this._axes[1].rootNode,F=this._axes[2].rootNode,k=this._faces,U=k[4].rootNode.invisible?z:O,G=k[2].rootNode.invisible?E:b,C=k[0].rootNode.invisible?w:R,I=k[2].rootNode.invisible?E:b,H=k[0].rootNode.invisible?R:w,$=k[4].rootNode.invisible?z:O;B.rotation.identity(),P.rotation.identity(),F.rotation.identity(),k[4].rootNode.invisible&&(this._axes[0].flipped=!0,B.rotation.rotateX(Math.PI)),k[0].rootNode.invisible&&(this._axes[1].flipped=!0,P.rotation.rotateZ(Math.PI)),k[4].rootNode.invisible&&(this._axes[2].flipped=!0,F.rotation.rotateY(Math.PI)),B.position.set(0,G,U),P.position.set(C,I,0),F.position.set(H,0,$),B.update(),P.update(),F.update(),this._updateAxisLabelAlign()},_updateAxisLabelAlign:function(){var g=this._control.getCamera(),r=[new L.a.Vector4,new L.a.Vector4],a=new L.a.Vector4;this.groupGL.getWorldPosition(a),a.w=1,a.transformMat4(g.viewMatrix).transformMat4(g.projectionMatrix),a.x/=a.w,a.y/=a.w,this._axes.forEach(function(p){for(var E=p.axisLineCoords,b=p.labelsMesh.geometry,w=0;w<r.length;w++)r[w].setArray(E[w]),r[w].w=1,r[w].transformMat4(p.rootNode.worldTransform).transformMat4(g.viewMatrix).transformMat4(g.projectionMatrix),r[w].x/=r[w].w,r[w].y/=r[w].w;var R=r[1].x-r[0].x,O=r[1].y-r[0].y,z=(r[1].x+r[0].x)/2,B=(r[1].y+r[0].y)/2,P,F;Math.abs(O/R)<.5?(P="center",F=B>a.y?"bottom":"top"):(F="middle",P=z>a.x?"left":"right"),p.setSpriteAlign(P,F,this._api)},this)},_doShowAxisPointer:function(){this._axisPointerLineMesh.invisible&&(this._axisPointerLineMesh.invisible=!1,this._axisPointerLabelsMesh.invisible=!1,this._api.getZr().refresh())},_doHideAxisPointer:function(){this._axisPointerLineMesh.invisible||(this._axisPointerLineMesh.invisible=!0,this._axisPointerLabelsMesh.invisible=!0,this._api.getZr().refresh())},_updateAxisPointer:function(g){var r=this._model.coordinateSystem,a=r.dataToPoint(g),p=this._axisPointerLineMesh,E=p.geometry,b=this._model.getModel("axisPointer"),w=this._api.getDevicePixelRatio();E.convertToDynamicArray(!0);function R(Ee){return x.a.firstNotNull(Ee.model.get("axisPointer.show"),b.get("show"))}function O(Ee){var Le=Ee.model.getModel("axisPointer",b),Fe=Le.getModel("lineStyle"),Ke=L.a.parseColor(Fe.get("color")),Te=m(Fe.get("width"),1),We=m(Fe.get("opacity"),1);return Ke[3]*=We,{color:Ke,lineWidth:Te}}for(var z=0;z<this._faces.length;z++){var B=this._faces[z];if(!B.rootNode.invisible){for(var P=B.faceInfo,F=P[3]<0?r.getAxis(P[2]).getExtentMin():r.getAxis(P[2]).getExtentMax(),k=_[P[2]],U=0;U<2;U++){var G=P[U],C=P[1-U],I=r.getAxis(G),H=r.getAxis(C);if(R(I)){var $=[0,0,0],q=[0,0,0],se=_[G],ue=_[C];$[se]=q[se]=a[se],$[k]=q[k]=F,$[ue]=H.getExtentMin(),q[ue]=H.getExtentMax();var me=O(I);E.addLine($,q,me.color,me.lineWidth*w)}}if(R(r.getAxis(P[2]))){var $=a.slice(),q=a.slice();q[k]=F;var me=O(r.getAxis(P[2]));E.addLine($,q,me.color,me.lineWidth*w)}}}E.convertToTypedArray(),this._updateAxisPointerLabelsMesh(g),this._api.getZr().refresh()},_updateAxisPointerLabelsMesh:function(g){var r=this._model,a=this._axisPointerLabelsMesh,p=this._axisPointerLabelsSurface,E=r.coordinateSystem,b=r.getModel("axisPointer");a.geometry.convertToDynamicArray(!0),p.clear();var w={x:"y",y:"x",z:"y"};this._axes.forEach(function(R,O){var z=E.getAxis(R.dim),B=z.model,P=B.getModel("axisPointer",b),F=P.getModel("label"),k=P.get("lineStyle.color");if(!(!F.get("show")||!P.get("show"))){var U=g[O],G=F.get("formatter"),C=z.scale.getLabel(U);if(G!=null)C=G(C,g);else if(z.scale.type==="interval"||z.scale.type==="log"){var I=y.a.number.getPrecisionSafe(z.scale.getTicks()[0]);C=U.toFixed(I+2)}var H=F.getModel("textStyle"),$=H.get("color"),q=new y.a.graphic.Text;y.a.graphic.setTextStyle(q.style,H,{text:C,textFill:$||k,textAlign:"left",textVerticalAlign:"top"});var se=p.add(q),ue=q.getBoundingRect(),me=this._api.getDevicePixelRatio(),Ee=R.rootNode.position.toArray(),Le=_[w[R.dim]];Ee[Le]+=(R.flipped?-1:1)*F.get("margin"),Ee[_[R.dim]]=z.dataToCoord(g[O]),a.geometry.addSprite(Ee,[ue.width*me,ue.height*me],se,R.textAlign,R.textVerticalAlign)}},this),p.getZr().refreshImmediately(),a.material.set("uvScale",p.getCoordsScale()),a.geometry.convertToTypedArray()},dispose:function(){this.groupGL.removeAll(),this._control.dispose()}})},function(te,X,S){"use strict";var K=S(0),y=S.n(K),L=S(2),A=S(3),s=S(22),x=S(141),c=S(74),l=A.a.firstNotNull,f={x:0,y:2,z:1};function n(d,m,_,h){var g=[0,0,0],r=h<0?_.getExtentMin():_.getExtentMax();g[f[_.dim]]=r,d.position.setArray(g),d.rotation.identity(),m.distance=-Math.abs(r),m.normal.set(0,0,0),_.dim==="x"?(d.rotation.rotateY(h*Math.PI/2),m.normal.x=-h):_.dim==="z"?(d.rotation.rotateX(-h*Math.PI/2),m.normal.y=-h):(h>0&&d.rotation.rotateY(Math.PI),m.normal.z=-h)}function o(d,m,_){this.rootNode=new L.a.Node;var h=new L.a.Mesh({geometry:new s.a({useNativeLine:!1}),material:m,castShadow:!1,ignorePicking:!0,renderOrder:1}),g=new L.a.Mesh({geometry:new x.a,material:_,castShadow:!1,culling:!1,ignorePicking:!0,renderOrder:0});this.rootNode.add(g),this.rootNode.add(h),this.faceInfo=d,this.plane=new L.a.Plane,this.linesMesh=h,this.quadsMesh=g}o.prototype.update=function(d,m,_,h){var g=m.coordinateSystem,r=[g.getAxis(this.faceInfo[0]),g.getAxis(this.faceInfo[1])],a=this.linesMesh.geometry,p=this.quadsMesh.geometry;a.convertToDynamicArray(!0),p.convertToDynamicArray(!0),this._updateSplitLines(a,r,m,d,h),this._udpateSplitAreas(p,r,m,d,h),a.convertToTypedArray(),p.convertToTypedArray();var E=g.getAxis(this.faceInfo[2]);n(this.rootNode,this.plane,E,this.faceInfo[3])},o.prototype._updateSplitLines=function(d,m,_,h,g){var r=g.getDevicePixelRatio();m.forEach(function(a,p){var E=a.model,b=m[1-p].getExtent();if(!a.scale.isBlank()){var w=E.getModel("splitLine",_.getModel("splitLine"));if(w.get("show")){var R=w.getModel("lineStyle"),O=R.get("color"),z=l(R.get("opacity"),1),B=l(R.get("width"),1),P=w.get("interval");(P==null||P==="auto")&&(P=h[a.dim]),O=y.a.util.isArray(O)?O:[O];for(var F=a.getTicksCoords(),k=0,U=0;U<F.length;U++)if(!Object(c.a)(a,U,P)){var G=F[U],C=L.a.parseColor(O[k%O.length]);C[3]*=z;var I=[0,0,0],H=[0,0,0];I[p]=H[p]=G,I[1-p]=b[0],H[1-p]=b[1],d.addLine(I,H,C,B*r),k++}}}})},o.prototype._udpateSplitAreas=function(d,m,_,h,g){m.forEach(function(r,a){var p=r.model,E=m[1-a].getExtent();if(!r.scale.isBlank()){var b=p.getModel("splitArea",_.getModel("splitArea"));if(b.get("show")){var w=b.getModel("areaStyle"),R=w.get("color"),O=l(w.get("opacity"),1),z=b.get("interval");(z==null||z==="auto")&&(z=h[r.dim]),R=y.a.util.isArray(R)?R:[R];for(var B=r.getTicksCoords(),P=0,F=[0,0,0],k=[0,0,0],U=0;U<B.length;U++){var G=B[U],C=[0,0,0],I=[0,0,0];if(C[a]=I[a]=G,C[1-a]=E[0],I[1-a]=E[1],U===0){F=C,k=I;continue}if(!Object(c.a)(r,U,z)){var H=L.a.parseColor(R[P%R.length]);H[3]*=O,d.addQuad([F,C,I,k],H),F=C,k=I,P++}}}}})},X.a=o},function(te,X,S){"use strict";var K=S(13),y=S(0),L=S.n(y),A=S(33),s=S(1),x=S.n(s),c=x.a.vec3,l=K.a.extend(function(){return{segmentScale:1,useNativeLine:!0,attributes:{position:new K.a.Attribute("position","float",3,"POSITION"),normal:new K.a.Attribute("normal","float",3,"NORMAL"),color:new K.a.Attribute("color","float",4,"COLOR")}}},{resetOffset:function(){this._vertexOffset=0,this._faceOffset=0},setQuadCount:function(f){var n=this.attributes,o=this.getQuadVertexCount()*f,d=this.getQuadTriangleCount()*f;this.vertexCount!==o&&(n.position.init(o),n.normal.init(o),n.color.init(o)),this.triangleCount!==d&&(this.indices=o>65535?new Uint32Array(d*3):new Uint16Array(d*3))},getQuadVertexCount:function(){return 4},getQuadTriangleCount:function(){return 2},addQuad:function(){var f=c.create(),n=c.create(),o=c.create(),d=[0,3,1,3,2,1];return function(m,_){var h=this.attributes.position,g=this.attributes.normal,r=this.attributes.color;c.sub(f,m[1],m[0]),c.sub(n,m[2],m[1]),c.cross(o,f,n),c.normalize(o,o);for(var a=0;a<4;a++)h.set(this._vertexOffset+a,m[a]),r.set(this._vertexOffset+a,_),g.set(this._vertexOffset+a,o);for(var p=this._faceOffset*3,a=0;a<6;a++)this.indices[p+a]=d[a]+this._vertexOffset;this._vertexOffset+=4,this._faceOffset+=2}}()});L.a.util.defaults(l.prototype,A.a),X.a=l},function(te,X,S){"use strict";var K=S(0),y=S.n(K),L=S(2),A=S(22),s=S(3),x=S(58),c=S(74),l=s.a.firstNotNull,f={x:0,y:2,z:1};function n(d,m){var _=new L.a.Mesh({geometry:new A.a({useNativeLine:!1}),material:m,castShadow:!1,ignorePicking:!0,renderOrder:2}),h=new x.a;h.material.depthMask=!1;var g=new L.a.Node;g.add(_),g.add(h),this.rootNode=g,this.dim=d,this.linesMesh=_,this.labelsMesh=h,this.axisLineCoords=null,this.labelElements=[]}var o={x:"y",y:"x",z:"y"};n.prototype.update=function(d,m,_,h){var g=d.coordinateSystem,r=g.getAxis(this.dim),a=m[this.dim],p=this.linesMesh.geometry,E=this.labelsMesh.geometry;p.convertToDynamicArray(!0),E.convertToDynamicArray(!0);var b=r.model,w=r.getExtent(),Fe=h.getDevicePixelRatio(),R=b.getModel("axisLine",d.getModel("axisLine")),O=b.getModel("axisTick",d.getModel("axisTick")),z=b.getModel("axisLabel",d.getModel("axisLabel")),B=R.get("lineStyle.color");if(R.get("show")){var P=R.getModel("lineStyle"),F=[0,0,0],k=[0,0,0],U=f[r.dim];F[U]=w[0],k[U]=w[1],this.axisLineCoords=[F,k];var G=L.a.parseColor(B),C=l(P.get("width"),1),I=l(P.get("opacity"),1);G[3]*=I,p.addLine(F,k,G,C*Fe)}if(O.get("show")){var H=O.getModel("lineStyle"),$=L.a.parseColor(l(H.get("color"),B)),C=l(H.get("width"),1);$[3]*=l(H.get("opacity"),1);var q=r.getTicksCoords(),se=O.get("interval");(se==null||se==="auto")&&(se=a);for(var ue=O.get("length"),me=0;me<q.length;me++)if(!Object(c.a)(r,me,se)){var Ee=q[me],F=[0,0,0],k=[0,0,0],U=f[r.dim],Le=f[o[r.dim]];F[U]=k[U]=Ee,k[Le]=ue,p.addLine(F,k,$,C*Fe)}}this.labelElements=[];var Fe=h.getDevicePixelRatio();if(z.get("show")){for(var Ke=r.getLabelsCoords(),Te=b.get("data"),se=a,We=z.get("margin"),Ce=b.getFormattedLabels(),De=r.scale.getTicks(),me=0;me<Ke.length;me++)if(!Object(c.a)(r,me,se)){var Ee=Ke[me],ge=[0,0,0],U=f[r.dim],Le=f[o[r.dim]];ge[U]=ge[U]=Ee,ge[Le]=We;var Re=z;Te&&Te[De[me]]&&Te[De[me]].textStyle&&(Re=new y.a.Model(Te[De[me]].textStyle,z,b.ecModel));var ve=l(Re.get("color"),B),we=new y.a.graphic.Text;y.a.graphic.setTextStyle(we.style,Re,{text:Ce[me],textFill:typeof ve=="function"?ve(r.type==="category"?Ce[me]:r.type==="value"?De[me]+"":De[me],me):ve,textVerticalAlign:"top",textAlign:"left"});var Ue=_.add(we),de=we.getBoundingRect();E.addSprite(ge,[de.width*Fe,de.height*Fe],Ue),this.labelElements.push(we)}}if(b.get("name")){var oe=b.getModel("nameTextStyle"),ge=[0,0,0],U=f[r.dim],Le=f[o[r.dim]],ne=l(oe.get("color"),B),ce=oe.get("borderColor"),C=oe.get("borderWidth");ge[U]=ge[U]=(w[0]+w[1])/2,ge[Le]=b.get("nameGap");var we=new y.a.graphic.Text;y.a.graphic.setTextStyle(we.style,oe,{text:b.get("name"),textFill:ne,textStroke:ce,lineWidth:C});var Ue=_.add(we),de=we.getBoundingRect();E.addSprite(ge,[de.width*Fe,de.height*Fe],Ue),we.__idx=this.labelElements.length,this.nameLabelElement=we}this.labelsMesh.material.set("textureAtlas",_.getTexture()),this.labelsMesh.material.set("uvScale",_.getCoordsScale()),p.convertToTypedArray(),E.convertToTypedArray()},n.prototype.setSpriteAlign=function(d,m,_){for(var h=_.getDevicePixelRatio(),g=this.labelsMesh.geometry,r=0;r<this.labelElements.length;r++){var a=this.labelElements[r],p=a.getBoundingRect();g.setSpriteAlign(r,[p.width*h,p.height*h],d,m)}var E=this.nameLabelElement;if(E){var p=E.getBoundingRect();g.setSpriteAlign(E.__idx,[p.width*h,p.height*h],d,m),g.dirty()}this.textAlign=d,this.textVerticalAlign=m},X.a=n},function(te,X,S){"use strict";var K=S(0),y=S.n(K),L=S(13),A=S(33),s=[0,1,2,0,2,3],x=L.a.extend(function(){return{attributes:{position:new L.a.Attribute("position","float",3,"POSITION"),texcoord:new L.a.Attribute("texcoord","float",2,"TEXCOORD_0"),offset:new L.a.Attribute("offset","float",2),color:new L.a.Attribute("color","float",4,"COLOR")}}},{resetOffset:function(){this._vertexOffset=0,this._faceOffset=0},setSpriteCount:function(c){this._spriteCount=c;var l=c*4,f=c*2;this.vertexCount!==l&&(this.attributes.position.init(l),this.attributes.offset.init(l),this.attributes.color.init(l)),this.triangleCount!==f&&(this.indices=l>65535?new Uint32Array(f*3):new Uint16Array(f*3))},setSpriteAlign:function(c,l,f,n,o){f==null&&(f="left"),n==null&&(n="top");var d,m,_,h;switch(o=o||0,f){case"left":d=o,_=l[0]+o;break;case"center":case"middle":d=-l[0]/2,_=l[0]/2;break;case"right":d=-l[0]-o,_=-o;break}switch(n){case"bottom":m=o,h=l[1]+o;break;case"middle":m=-l[1]/2,h=l[1]/2;break;case"top":m=-l[1]-o,h=-o;break}var g=c*4,r=this.attributes.offset;r.set(g,[d,h]),r.set(g+1,[_,h]),r.set(g+2,[_,m]),r.set(g+3,[d,m])},addSprite:function(c,l,f,n,o,d){var m=this._vertexOffset;this.setSprite(this._vertexOffset/4,c,l,f,n,o,d);for(var _=0;_<s.length;_++)this.indices[this._faceOffset*3+_]=s[_]+m;return this._faceOffset+=2,this._vertexOffset+=4,m/4},setSprite:function(c,l,f,n,o,d,m){for(var _=c*4,h=this.attributes,g=0;g<4;g++)h.position.set(_+g,l);var r=h.texcoord;r.set(_,[n[0][0],n[0][1]]),r.set(_+1,[n[1][0],n[0][1]]),r.set(_+2,[n[1][0],n[1][1]]),r.set(_+3,[n[0][0],n[1][1]]),this.setSpriteAlign(c,f,o,d,m)}});y.a.util.defaults(x.prototype,A.a),X.a=x},function(te,X,S){"use strict";X.a=`@export ecgl.labels.vertex
attribute vec3 position: POSITION;
attribute vec2 texcoord: TEXCOORD_0;
attribute vec2 offset;
#ifdef VERTEX_COLOR
attribute vec4 a_Color : COLOR;
varying vec4 v_Color;
#endif
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
uniform vec4 viewport : VIEWPORT;
varying vec2 v_Texcoord;
void main()
{
vec4 proj = worldViewProjection * vec4(position, 1.0);
vec2 screen = (proj.xy / abs(proj.w) + 1.0) * 0.5 * viewport.zw;
screen += offset;
proj.xy = (screen / viewport.zw - 0.5) * 2.0 * abs(proj.w);
gl_Position = proj;
#ifdef VERTEX_COLOR
v_Color = a_Color;
#endif
v_Texcoord = texcoord;
}
@end
@export ecgl.labels.fragment
uniform vec3 color : [1.0, 1.0, 1.0];
uniform float alpha : 1.0;
uniform sampler2D textureAtlas;
uniform vec2 uvScale: [1.0, 1.0];
#ifdef VERTEX_COLOR
varying vec4 v_Color;
#endif
varying float v_Miter;
varying vec2 v_Texcoord;
void main()
{
gl_FragColor = vec4(color, alpha) * texture2D(textureAtlas, v_Texcoord * uvScale);
#ifdef VERTEX_COLOR
gl_FragColor *= v_Color;
#endif
}
@end`},function(te,X,S){"use strict";var K=S(146),y=S(148),L=S(0),A=S.n(L),s=S(41),x=S.n(s),c=S(20),l=S(3);function f(m,_){var h=m.getBoxLayoutParams(),g=x.a.getLayoutRect(h,{width:_.getWidth(),height:_.getHeight()});g.y=_.getHeight()-g.y-g.height,this.viewGL.setViewport(g.x,g.y,g.width,g.height,_.getDevicePixelRatio());var r=m.get("boxWidth"),a=m.get("boxHeight"),p=m.get("boxDepth");["x","y","z"].forEach(function(E){if(!this.getAxis(E))throw new Error("Grid"+m.id+" don't have "+E+"Axis")},this),this.getAxis("x").setExtent(-r/2,r/2),this.getAxis("y").setExtent(p/2,-p/2),this.getAxis("z").setExtent(-a/2,a/2),this.size=[r,a,p]}function n(m,_){var h={};function g(r,a){h[r]=h[r]||[1/0,-1/0],h[r][0]=Math.min(a[0],h[r][0]),h[r][1]=Math.max(a[1],h[r][1])}m.eachSeries(function(r){if(r.coordinateSystem===this){var a=r.getData();["x","y","z"].forEach(function(p){g(p,a.getDataExtent(r.coordDimToDataDim(p)[0],!0))})}},this),["xAxis3D","yAxis3D","zAxis3D"].forEach(function(r){m.eachComponent(r,function(a){var p=r.charAt(0),E=a.getReferringComponents("grid3D")[0],b=E.coordinateSystem;if(b===this){var w=b.getAxis(p);if(w){console.warn("Can't have two %s in one grid3D",r);return}var R=A.a.helper.createScale(h[p]||[1/0,-1/0],a);w=new y.a(p,R),w.type=a.get("type");var O=w.type==="category";w.onBand=O&&a.get("boundaryGap"),w.inverse=a.get("inverse"),a.axis=w,w.model=a,b.addAxis(w)}},this)},this),this.resize(this.model,_)}var o={dimensions:K.a.prototype.dimensions,create:function(m,_){var h=[];m.eachComponent("grid3D",function(a){a.__viewGL=a.__viewGL||new c.a;var p=new K.a;p.model=a,p.viewGL=a.__viewGL,a.coordinateSystem=p,h.push(p),p.resize=f,p.update=n});var g=["xAxis3D","yAxis3D","zAxis3D"];function r(a,p){return g.map(function(E){var b=a.getReferringComponents(E)[0];if(b==null&&(b=p.getComponent(E)),!b)throw new Error(E+' "'+l.a.firstNotNull(a.get(E+"Index"),a.get(E+"Id"),0)+'" not found');return b})}return m.eachSeries(function(a){if(a.get("coordinateSystem")==="cartesian3D"){var p=a.getReferringComponents("grid3D")[0];if(p==null){var E=r(a,m),p=E[0].getCoordSysModel();E.forEach(function(R){var O=R.getCoordSysModel();if(!O)throw new Error('grid3D "'+l.a.firstNotNull(R.get("gridIndex"),R.get("gridId"),0)+'" not found');if(O!==p)throw new Error("xAxis3D, yAxis3D, zAxis3D must use the same grid")})}var b=p.coordinateSystem;a.coordinateSystem=b}}),h}};A.a.registerCoordinateSystem("grid3D",o);var d=o},function(te,X,S){"use strict";var K=S(0),y=S.n(K),L=S(147),A=S.n(L);function s(x){A.a.call(this,x),this.size=[0,0,0]}s.prototype={constructor:s,type:"cartesian3D",dimensions:["x","y","z"],model:null,containPoint:function(x){return this.getAxis("x").contain(x[0])&&this.getAxis("y").contain(x[2])&&this.getAxis("z").contain(x[1])},containData:function(x){return this.getAxis("x").containData(x[0])&&this.getAxis("y").containData(x[1])&&this.getAxis("z").containData(x[2])},dataToPoint:function(x,c,l){return c=c||[],c[0]=this.getAxis("x").dataToCoord(x[0],l),c[2]=this.getAxis("y").dataToCoord(x[1],l),c[1]=this.getAxis("z").dataToCoord(x[2],l),c},pointToData:function(x,c,l){return c=c||[],c[0]=this.getAxis("x").coordToData(x[0],l),c[1]=this.getAxis("y").coordToData(x[2],l),c[2]=this.getAxis("z").coordToData(x[1],l),c}},y.a.util.inherits(s,A.a),X.a=s},function(te,X,S){var K=S(12);function y(s){return this._axes[s]}var L=function(s){this._axes={},this._dimList=[],this.name=s||""};L.prototype={constructor:L,type:"cartesian",getAxis:function(s){return this._axes[s]},getAxes:function(){return K.map(this._dimList,y,this)},getAxesByScale:function(s){return s=s.toLowerCase(),K.filter(this.getAxes(),function(x){return x.scale.type===s})},addAxis:function(s){var x=s.dim;this._axes[x]=s,this._dimList.push(x)},dataToCoord:function(s){return this._dataCoordConvert(s,"dataToCoord")},coordToData:function(s){return this._dataCoordConvert(s,"coordToData")},_dataCoordConvert:function(s,x){for(var c=this._dimList,l=s instanceof Array?[]:{},f=0;f<c.length;f++){var n=c[f],o=this._axes[n];l[n]=o[x](s[n])}return l}};var A=L;te.exports=A},function(te,X,S){"use strict";var K=S(0),y=S.n(K);function L(A,s,x){y.a.Axis.call(this,A,s,x)}L.prototype={constructor:L,getExtentMin:function(){var A=this._extent;return Math.min(A[0],A[1])},getExtentMax:function(){var A=this._extent;return Math.max(A[0],A[1])}},y.a.util.inherits(L,y.a.Axis),X.a=L},function(te,X,S){var K=S(12),y=S(150),L=S(78);function A(a){return isNaN(a)?"-":(a=(a+"").split("."),a[0].replace(/(\d{1,3})(?=(?:\d{3})+(?!\d))/g,"$1,")+(a.length>1?"."+a[1]:""))}function s(a,p){return a=(a||"").toLowerCase().replace(/-(.)/g,function(E,b){return b.toUpperCase()}),p&&a&&(a=a.charAt(0).toUpperCase()+a.slice(1)),a}var x=K.normalizeCssArray;function c(a){return String(a).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}var l=["a","b","c","d","e","f","g"],f=function(a,p){return"{"+a+(p==null?"":p)+"}"};function n(a,p,E){K.isArray(p)||(p=[p]);var b=p.length;if(!b)return"";for(var w=p[0].$vars||[],R=0;R<w.length;R++){var O=l[R];a=a.replace(f(O),f(O,0))}for(var z=0;z<b;z++)for(var B=0;B<w.length;B++){var P=p[z][w[B]];a=a.replace(f(l[B],z),E?c(P):P)}return a}function o(a,p,E){return K.each(p,function(b,w){a=a.replace("{"+w+"}",E?c(b):b)}),a}function d(a,w){a=K.isString(a)?{color:a,extraCssText:w}:a||{};var E=a.color,b=a.type,w=a.extraCssText;return E?b==="subItem"?'<span style="display:inline-block;vertical-align:middle;margin-right:8px;margin-left:3px;border-radius:4px;width:4px;height:4px;background-color:'+c(E)+";"+(w||"")+'"></span>':'<span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:'+c(E)+";"+(w||"")+'"></span>':""}var m=function(a){return a<10?"0"+a:a};function _(a,p,E){(a==="week"||a==="month"||a==="quarter"||a==="half-year"||a==="year")&&(a=`MM-dd
yyyy`);var b=L.parseDate(p),w=E?"UTC":"",R=b["get"+w+"FullYear"](),O=b["get"+w+"Month"]()+1,z=b["get"+w+"Date"](),B=b["get"+w+"Hours"](),P=b["get"+w+"Minutes"](),F=b["get"+w+"Seconds"]();return a=a.replace("MM",m(O)).replace("M",O).replace("yyyy",R).replace("yy",R%100).replace("dd",m(z)).replace("d",z).replace("hh",m(B)).replace("h",B).replace("mm",m(P)).replace("m",P).replace("ss",m(F)).replace("s",F),a}function h(a){return a&&a.charAt(0).toUpperCase()+a.substr(1)}var g=y.truncateText,r=y.getBoundingRect;X.addCommas=A,X.toCamelCase=s,X.normalizeCssArray=x,X.encodeHTML=c,X.formatTpl=n,X.formatTplSimple=o,X.getTooltipMarker=d,X.formatTime=_,X.capitalFirst=h,X.truncateText=g,X.getTextRect=r},function(te,X,S){var K=S(75),y=S(151),L=S(12),A=L.getContext,s=L.extend,x=L.retrieve2,c=L.retrieve3,l={},f=0,n=5e3,o=/\{([a-zA-Z0-9_]+)\|([^}]*)\}/g,d="12px sans-serif",m={};function _(C,I){m[C]=I}function h(C,I){I=I||d;var H=C+":"+I;if(l[H])return l[H];for(var $=(C+"").split(`
`),q=0,se=0,ue=$.length;se<ue;se++)q=Math.max(P($[se],I).width,q);return f>n&&(f=0,l={}),f++,l[H]=q,q}function g(C,I,H,$,q,se,ue){return se?a(C,I,H,$,q,se,ue):r(C,I,H,$,q,ue)}function r(C,I,H,$,q,se){var ue=F(C,I,q,se),me=h(C,I);q&&(me+=q[1]+q[3]);var Ee=ue.outerHeight,Le=p(0,me,H),Fe=E(0,Ee,$),Ke=new K(Le,Fe,me,Ee);return Ke.lineHeight=ue.lineHeight,Ke}function a(C,I,H,$,q,se,ue){var me=k(C,{rich:se,truncate:ue,font:I,textAlign:H,textPadding:q}),Ee=me.outerWidth,Le=me.outerHeight,Fe=p(0,Ee,H),Ke=E(0,Le,$);return new K(Fe,Ke,Ee,Le)}function p(C,I,H){return H==="right"?C-=I:H==="center"&&(C-=I/2),C}function E(C,I,H){return H==="middle"?C-=I/2:H==="bottom"&&(C-=I),C}function b(C,I,H){var $=I.x,q=I.y,se=I.height,ue=I.width,me=se/2,Ee="left",Le="top";switch(C){case"left":$-=H,q+=me,Ee="right",Le="middle";break;case"right":$+=H+ue,q+=me,Le="middle";break;case"top":$+=ue/2,q-=H,Ee="center",Le="bottom";break;case"bottom":$+=ue/2,q+=se+H,Ee="center";break;case"inside":$+=ue/2,q+=me,Ee="center",Le="middle";break;case"insideLeft":$+=H,q+=me,Le="middle";break;case"insideRight":$+=ue-H,q+=me,Ee="right",Le="middle";break;case"insideTop":$+=ue/2,q+=H,Ee="center";break;case"insideBottom":$+=ue/2,q+=se-H,Ee="center",Le="bottom";break;case"insideTopLeft":$+=H,q+=H;break;case"insideTopRight":$+=ue-H,q+=H,Ee="right";break;case"insideBottomLeft":$+=H,q+=se-H,Le="bottom";break;case"insideBottomRight":$+=ue-H,q+=se-H,Ee="right",Le="bottom";break}return{x:$,y:q,textAlign:Ee,textVerticalAlign:Le}}function w(C,I,H,$,q){if(!I)return"";var se=(C+"").split(`
`);q=R(I,H,$,q);for(var ue=0,me=se.length;ue<me;ue++)se[ue]=O(se[ue],q);return se.join(`
`)}function R(C,I,q,$){$=s({},$),$.font=I;var q=x(q,"...");$.maxIterations=x($.maxIterations,2);var se=$.minChar=x($.minChar,0);$.cnCharWidth=h("\u56FD",I);var ue=$.ascCharWidth=h("a",I);$.placeholder=x($.placeholder,"");for(var me=C=Math.max(0,C-1),Ee=0;Ee<se&&me>=ue;Ee++)me-=ue;var Le=h(q);return Le>me&&(q="",Le=0),me=C-Le,$.ellipsis=q,$.ellipsisWidth=Le,$.contentWidth=me,$.containerWidth=C,$}function O(C,I){var H=I.containerWidth,$=I.font,q=I.contentWidth;if(!H)return"";var se=h(C,$);if(se<=H)return C;for(var ue=0;;ue++){if(se<=q||ue>=I.maxIterations){C+=I.ellipsis;break}var me=ue===0?z(C,q,I.ascCharWidth,I.cnCharWidth):se>0?Math.floor(C.length*q/se):0;C=C.substr(0,me),se=h(C,$)}return C===""&&(C=I.placeholder),C}function z(C,I,H,$){for(var q=0,se=0,ue=C.length;se<ue&&q<I;se++){var me=C.charCodeAt(se);q+=0<=me&&me<=127?H:$}return se}function B(C){return h("\u56FD",C)}function P(C,I){return m.measureText(C,I)}m.measureText=function(C,I){var H=A();return H.font=I||d,H.measureText(C)};function F(C,I,H,$){C!=null&&(C+="");var q=B(I),se=C?C.split(`
`):[],ue=se.length*q,me=ue;if(H&&(me+=H[0]+H[2]),C&&$){var Ee=$.outerHeight,Le=$.outerWidth;if(Ee!=null&&me>Ee)C="",se=[];else if(Le!=null)for(var Fe=R(Le-(H?H[1]+H[3]:0),I,$.ellipsis,{minChar:$.minChar,placeholder:$.placeholder}),Ke=0,Te=se.length;Ke<Te;Ke++)se[Ke]=O(se[Ke],Fe)}return{lines:se,height:ue,outerHeight:me,lineHeight:q}}function k(C,I){var H={lines:[],width:0,height:0};if(C!=null&&(C+=""),!C)return H;for(var $=o.lastIndex=0,q;(q=o.exec(C))!=null;){var se=q.index;se>$&&U(H,C.substring($,se)),U(H,q[2],q[1]),$=o.lastIndex}$<C.length&&U(H,C.substring($,C.length));var ue=H.lines,me=0,Ee=0,Le=[],Fe=I.textPadding,Ke=I.truncate,Te=Ke&&Ke.outerWidth,We=Ke&&Ke.outerHeight;Fe&&(Te!=null&&(Te-=Fe[1]+Fe[3]),We!=null&&(We-=Fe[0]+Fe[2]));for(var Ce=0;Ce<ue.length;Ce++){for(var De=ue[Ce],ge=0,Re=0,ve=0;ve<De.tokens.length;ve++){var we=De.tokens[ve],Ue=we.styleName&&I.rich[we.styleName]||{},de=we.textPadding=Ue.textPadding,oe=we.font=Ue.font||I.font,ne=we.textHeight=x(Ue.textHeight,B(oe));if(de&&(ne+=de[0]+de[2]),we.height=ne,we.lineHeight=c(Ue.textLineHeight,I.textLineHeight,ne),we.textAlign=Ue&&Ue.textAlign||I.textAlign,we.textVerticalAlign=Ue&&Ue.textVerticalAlign||"middle",We!=null&&me+we.lineHeight>We)return{lines:[],width:0,height:0};we.textWidth=h(we.text,oe);var ce=Ue.textWidth,ye=ce==null||ce==="auto";if(typeof ce=="string"&&ce.charAt(ce.length-1)==="%")we.percentWidth=ce,Le.push(we),ce=0;else{if(ye){ce=we.textWidth;var he=Ue.textBackgroundColor,xe=he&&he.image;xe&&(xe=y.findExistImage(xe),y.isImageReady(xe)&&(ce=Math.max(ce,xe.width*ne/xe.height)))}var Ne=de?de[1]+de[3]:0;ce+=Ne;var Be=Te!=null?Te-Re:null;Be!=null&&Be<ce&&(!ye||Be<Ne?(we.text="",we.textWidth=ce=0):(we.text=w(we.text,Be-Ne,oe,Ke.ellipsis,{minChar:Ke.minChar}),we.textWidth=h(we.text,oe),ce=we.textWidth+Ne))}Re+=we.width=ce,Ue&&(ge=Math.max(ge,we.lineHeight))}De.width=Re,De.lineHeight=ge,me+=ge,Ee=Math.max(Ee,Re)}H.outerWidth=H.width=x(I.textWidth,Ee),H.outerHeight=H.height=x(I.textHeight,me),Fe&&(H.outerWidth+=Fe[1]+Fe[3],H.outerHeight+=Fe[0]+Fe[2]);for(var Ce=0;Ce<Le.length;Ce++){var we=Le[Ce],je=we.percentWidth;we.width=parseInt(je,10)/100*Ee}return H}function U(C,I,H){for(var $=I==="",q=I.split(`
`),se=C.lines,ue=0;ue<q.length;ue++){var me=q[ue],Ee={styleName:H,text:me,isLineHolder:!me&&!$};if(ue)se.push({tokens:[Ee]});else{var Le=(se[se.length-1]||(se[0]={tokens:[]})).tokens,Fe=Le.length;Fe===1&&Le[0].isLineHolder?Le[0]=Ee:(me||!Fe||$)&&Le.push(Ee)}}}function G(C){return(C.fontSize||C.fontFamily)&&[C.fontStyle,C.fontWeight,(C.fontSize||12)+"px",C.fontFamily||"sans-serif"].join(" ")||C.textFont||C.font}X.DEFAULT_FONT=d,X.$override=_,X.getWidth=h,X.getBoundingRect=g,X.adjustTextX=p,X.adjustTextY=E,X.adjustTextPositionOnRect=b,X.truncateText=w,X.getLineHeight=B,X.measureText=P,X.parsePlainText=F,X.parseRichText=k,X.makeFont=G},function(te,X,S){var K=S(53),y=new K(50);function L(c){if(typeof c=="string"){var l=y.get(c);return l&&l.image}else return c}function A(c,l,f,n,o){if(c)if(typeof c=="string"){if(l&&l.__zrImageSrc===c||!f)return l;var d=y.get(c),m={hostEl:f,cb:n,cbPayload:o};return d?(l=d.image,!x(l)&&d.pending.push(m)):(!l&&(l=new Image),l.onload=s,y.put(c,l.__cachedImgObj={image:l,pending:[m]}),l.src=l.__zrImageSrc=c),l}else return c;else return l}function s(){var c=this.__cachedImgObj;this.onload=this.__cachedImgObj=null;for(var l=0;l<c.pending.length;l++){var f=c.pending[l],n=f.cb;n&&n(this,f.cbPayload),f.hostEl.dirty()}c.pending.length=0}function x(c){return c&&c.width&&c.height}X.findExistImage=L,X.createOrUpdateImage=A,X.isImageReady=x},function(te,X,S){"use strict";var K=S(8),y=S(11),L=S(4),A=S(15),s=S(52),x=S(9),c=S(46),l=S(7),f=S(19),n=S(24),o=S(72),d=S(70),m=S(71),_=S(153),h=S(17),g=S(10),r=S(6),a=S(5),p=S(25),E=S(36),b=S(30),w=S(14),R=S(79),O=S(1),z=S.n(O),B=S(154),P=z.a.mat4,F=z.a.vec3,k=["px","nx","py","ny","pz","nz"];l.a.import(B.a);var U=K.a.extend(function(){return{softShadow:U.PCF,shadowBlur:1,lightFrustumBias:"auto",kernelPCF:new Float32Array([1,0,1,1,-1,1,0,1,-1,0,-1,-1,1,-1,0,-1]),precision:"mediump",_lastRenderNotCastShadow:!1,_frameBuffer:new g.a,_textures:{},_shadowMapNumber:{POINT_LIGHT:0,DIRECTIONAL_LIGHT:0,SPOT_LIGHT:0},_depthMaterials:{},_distanceMaterials:{},_opaqueCasters:[],_receivers:[],_lightsCastShadow:[],_lightCameras:{},_lightMaterials:{},_texturePool:new R.a}},function(){this._gaussianPassH=new w.a({fragment:l.a.source("clay.compositor.gaussian_blur")}),this._gaussianPassV=new w.a({fragment:l.a.source("clay.compositor.gaussian_blur")}),this._gaussianPassH.setUniform("blurSize",this.shadowBlur),this._gaussianPassH.setUniform("blurDir",0),this._gaussianPassV.setUniform("blurSize",this.shadowBlur),this._gaussianPassV.setUniform("blurDir",1),this._outputDepthPass=new w.a({fragment:l.a.source("clay.sm.debug_depth")})},{render:function(G,C,I,H){I||(I=C.getMainCamera()),this.trigger("beforerender",this,G,C,I),this._renderShadowPass(G,C,I,H),this.trigger("afterrender",this,G,C,I)},renderDebug:function(G,C){G.saveClear();var I=G.viewport,H=0,$=0,q=C||I.width/4,se=q;this.softShadow===U.VSM?this._outputDepthPass.material.define("fragment","USE_VSM"):this._outputDepthPass.material.undefine("fragment","USE_VSM");for(var ue in this._textures){var me=this._textures[ue];G.setViewport(H,$,q*me.width/me.height,se),this._outputDepthPass.setUniform("depthMap",me),this._outputDepthPass.render(G),H+=q*me.width/me.height}G.setViewport(I),G.restoreClear()},_updateCasterAndReceiver:function(G,C){if(C.castShadow&&this._opaqueCasters.push(C),C.receiveShadow?(this._receivers.push(C),C.material.set("shadowEnabled",1),C.material.set("pcfKernel",this.kernelPCF)):C.material.set("shadowEnabled",0),!C.material.shader&&C.material.updateShader&&C.material.updateShader(G),this.softShadow===U.VSM)C.material.define("fragment","USE_VSM"),C.material.undefine("fragment","PCF_KERNEL_SIZE");else{C.material.undefine("fragment","USE_VSM");var I=this.kernelPCF;I&&I.length?C.material.define("fragment","PCF_KERNEL_SIZE",I.length/2):C.material.undefine("fragment","PCF_KERNEL_SIZE")}},_update:function(G,C){for(var I=0;I<C.opaqueList.length;I++)this._updateCasterAndReceiver(G,C.opaqueList[I]);for(var I=0;I<C.transparentList.length;I++)this._updateCasterAndReceiver(G,C.transparentList[I]);for(var I=0;I<C.lights.length;I++){var H=C.lights[I];H.castShadow&&this._lightsCastShadow.push(H)}},_renderShadowPass:function(G,C,I,H){for(var $ in this._shadowMapNumber)this._shadowMapNumber[$]=0;this._lightsCastShadow.length=0,this._opaqueCasters.length=0,this._receivers.length=0;var q=G.gl;if(H||C.update(),I&&I.update(),this._update(G,C),!this._lightsCastShadow.length&&this._lastRenderNotCastShadow)return;this._lastRenderNotCastShadow=this._lightsCastShadow===0,q.enable(q.DEPTH_TEST),q.depthMask(!0),q.disable(q.BLEND),q.clearColor(1,1,1,1);for(var se=[],ue=[],me=[],Ee=[],Le=[],Fe=[],Ke,Te=0;Te<this._lightsCastShadow.length;Te++){var We=this._lightsCastShadow[Te];if(We instanceof d.a){if(Ke){console.warn("Only one direectional light supported with shadow cascade");continue}if(We.shadowCascade>4){console.warn("Support at most 4 cascade");continue}We.shadowCascade>1&&(Ke=We.shadowCascade),this.renderDirectionalLightShadow(G,C,I,We,this._opaqueCasters,Le,Ee,me)}else We instanceof o.a?this.renderSpotLightShadow(G,C,We,this._opaqueCasters,ue,se):We instanceof m.a&&this.renderPointLightShadow(G,C,We,this._opaqueCasters,Fe);this._shadowMapNumber[We.type]++}for(var Ce in this._shadowMapNumber)for(var De=this._shadowMapNumber[Ce],ge=Ce+"_SHADOWMAP_COUNT",Te=0;Te<this._receivers.length;Te++){var Re=this._receivers[Te],ve=Re.material;ve.fragmentDefines[ge]!==De&&(De>0?ve.define("fragment",ge,De):ve.isDefined("fragment",ge)&&ve.undefine("fragment",ge))}for(var Te=0;Te<this._receivers.length;Te++){var Re=this._receivers[Te],ve=Re.material;Ke?ve.define("fragment","SHADOW_CASCADE",Ke.shadowCascade):ve.undefine("fragment","SHADOW_CASCADE")}var we=C.shadowUniforms;function Ue(ye){return ye.height}if(me.length>0){var de=me.map(Ue);if(we.directionalLightShadowMaps={value:me,type:"tv"},we.directionalLightMatrices={value:Ee,type:"m4v"},we.directionalLightShadowMapSizes={value:de,type:"1fv"},Ke){var oe=Le.slice(),ne=Le.slice();oe.pop(),ne.shift(),oe.reverse(),ne.reverse(),Ee.reverse(),we.shadowCascadeClipsNear={value:oe,type:"1fv"},we.shadowCascadeClipsFar={value:ne,type:"1fv"}}}if(se.length>0){var ce=se.map(Ue),we=C.shadowUniforms;we.spotLightShadowMaps={value:se,type:"tv"},we.spotLightMatrices={value:ue,type:"m4v"},we.spotLightShadowMapSizes={value:ce,type:"1fv"}}Fe.length>0&&(we.pointLightShadowMaps={value:Fe,type:"tv"})},renderDirectionalLightShadow:function(){var G=new s.a,C=new x.a,I=new A.a,H=new x.a,$=new x.a,q=new x.a,se=new x.a;return function(ue,me,Ee,Le,Fe,Ke,Te,We){var Ce=this._getDepthMaterial(Le),De={getMaterial:function(Bt){return Bt.shadowDepthMaterial||Ce},sortCompare:c.a.opaqueSortCompare};if(!me.viewBoundingBoxLastFrame.isFinite()){var ge=me.getBoundingBox();me.viewBoundingBoxLastFrame.copy(ge).applyTransform(Ee.viewMatrix)}var Re=Math.min(-me.viewBoundingBoxLastFrame.min.z,Ee.far),ve=Math.max(-me.viewBoundingBoxLastFrame.max.z,Ee.near),we=this._getDirectionalLightCamera(Le,me,Ee),Ue=q.array;se.copy(we.projectionMatrix),P.invert($.array,we.worldTransform.array),P.multiply($.array,$.array,Ee.worldTransform.array),P.multiply(Ue,se.array,$.array);for(var de=[],oe=Ee instanceof E.a,ne=(Ee.near+Ee.far)/(Ee.near-Ee.far),ce=2*Ee.near*Ee.far/(Ee.near-Ee.far),ye=0;ye<=Le.shadowCascade;ye++){var he=ve*Math.pow(Re/ve,ye/Le.shadowCascade),xe=ve+(Re-ve)*ye/Le.shadowCascade,Ne=he*Le.cascadeSplitLogFactor+xe*(1-Le.cascadeSplitLogFactor);de.push(Ne),Ke.push(-(-Ne*ne+ce)/-Ne)}var Be=this._getTexture(Le,Le.shadowCascade);We.push(Be);var je=ue.viewport,et=ue.gl;this._frameBuffer.attach(Be),this._frameBuffer.bind(ue),et.clear(et.COLOR_BUFFER_BIT|et.DEPTH_BUFFER_BIT);for(var ye=0;ye<Le.shadowCascade;ye++){var ft=de[ye],tt=de[ye+1];oe?P.perspective(C.array,Ee.fov/180*Math.PI,Ee.aspect,ft,tt):P.ortho(C.array,Ee.left,Ee.right,Ee.bottom,Ee.top,ft,tt),G.setFromProjection(C),G.getTransformedBoundingBox(I,$),I.applyProjection(se);var At=I.min.array,It=I.max.array;At[0]=Math.max(At[0],-1),At[1]=Math.max(At[1],-1),It[0]=Math.min(It[0],1),It[1]=Math.min(It[1],1),H.ortho(At[0],It[0],At[1],It[1],1,-1),we.projectionMatrix.multiplyLeft(H);var Nt=Le.shadowResolution||512;ue.setViewport((Le.shadowCascade-ye-1)*Nt,0,Nt,Nt,1),ue.renderPass(Fe,we,De),this.softShadow===U.VSM&&this._gaussianFilter(ue,Be,Be.width);var lt=new x.a;lt.copy(we.viewMatrix).multiplyLeft(we.projectionMatrix),Te.push(lt.array),we.projectionMatrix.copy(se)}this._frameBuffer.unbind(ue),ue.setViewport(je)}}(),renderSpotLightShadow:function(G,C,I,H,$,q){var se=this._getTexture(I),ue=this._getSpotLightCamera(I),me=G.gl;this._frameBuffer.attach(se),this._frameBuffer.bind(G),me.clear(me.COLOR_BUFFER_BIT|me.DEPTH_BUFFER_BIT);var Ee=this._getDepthMaterial(I),Le={getMaterial:function(Ke){return Ke.shadowDepthMaterial||Ee},sortCompare:c.a.opaqueSortCompare};G.renderPass(G.cullRenderList(H,null,ue),ue,Le),this._frameBuffer.unbind(G),this.softShadow===U.VSM&&this._gaussianFilter(G,se,se.width);var Fe=new x.a;Fe.copy(ue.worldTransform).invert().multiplyLeft(ue.projectionMatrix),q.push(se),$.push(Fe.array)},renderPointLightShadow:function(G,C,I,H,$){var q=this._getTexture(I),se=G.gl;$.push(q);for(var ue=this._getDepthMaterial(I),me={getMaterial:function(Ke){return Ke.shadowDepthMaterial||ue},sortCompare:c.a.opaqueSortCompare},Ee=0;Ee<6;Ee++){var Le=k[Ee],Fe=this._getPointLightCamera(I,Le);this._frameBuffer.attach(q,se.COLOR_ATTACHMENT0,se.TEXTURE_CUBE_MAP_POSITIVE_X+Ee),this._frameBuffer.bind(G),se.clear(se.COLOR_BUFFER_BIT|se.DEPTH_BUFFER_BIT),G.renderPass(G.cullRenderList(H,null,Fe),Fe,me)}this._frameBuffer.unbind(G)},_getDepthMaterial:function(G){var C=this._lightMaterials[G.__uid__],I=G instanceof m.a;if(!C){var H=I?"clay.sm.distance.":"clay.sm.depth.";C=new h.a({precision:this.precision,shader:new l.a(l.a.source(H+"vertex"),l.a.source(H+"fragment"))}),this._lightMaterials[G.__uid__]=C}return G.shadowSlopeScale!=null&&C.setUniform("slopeScale",G.shadowSlopeScale),G.shadowBias!=null&&C.setUniform("shadowBias",G.shadowBias),this.softShadow===U.VSM?C.define("fragment","USE_VSM"):C.undefine("fragment","USE_VSM"),I&&(C.set("lightPosition",G.getWorldPosition().array),C.set("range",G.range)),C},_gaussianFilter:function(G,C,I){var H={width:I,height:I,type:r.a.FLOAT},$=this._texturePool.get(H);this._frameBuffer.attach($),this._frameBuffer.bind(G),this._gaussianPassH.setUniform("texture",C),this._gaussianPassH.setUniform("textureWidth",I),this._gaussianPassH.render(G),this._frameBuffer.attach(C),this._gaussianPassV.setUniform("texture",$),this._gaussianPassV.setUniform("textureHeight",I),this._gaussianPassV.render(G),this._frameBuffer.unbind(G),this._texturePool.put($)},_getTexture:function(G,C){var I=G.__uid__,H=this._textures[I],$=G.shadowResolution||512;return C=C||1,H||(G instanceof m.a?H=new p.a:H=new a.a,H.width=$*C,H.height=$,this.softShadow===U.VSM?(H.type=r.a.FLOAT,H.anisotropic=4):(H.minFilter=y.a.NEAREST,H.magFilter=y.a.NEAREST,H.useMipmap=!1),this._textures[I]=H),H},_getPointLightCamera:function(G,C){this._lightCameras.point||(this._lightCameras.point={px:new E.a,nx:new E.a,py:new E.a,ny:new E.a,pz:new E.a,nz:new E.a});var I=this._lightCameras.point[C];switch(I.far=G.range,I.fov=90,I.position.set(0,0,0),C){case"px":I.lookAt(L.a.POSITIVE_X,L.a.NEGATIVE_Y);break;case"nx":I.lookAt(L.a.NEGATIVE_X,L.a.NEGATIVE_Y);break;case"py":I.lookAt(L.a.POSITIVE_Y,L.a.POSITIVE_Z);break;case"ny":I.lookAt(L.a.NEGATIVE_Y,L.a.NEGATIVE_Z);break;case"pz":I.lookAt(L.a.POSITIVE_Z,L.a.NEGATIVE_Y);break;case"nz":I.lookAt(L.a.NEGATIVE_Z,L.a.NEGATIVE_Y);break}return G.getWorldPosition(I.position),I.update(),I},_getDirectionalLightCamera:function(){var G=new x.a,C=new A.a,I=new A.a;return function(H,$,q){this._lightCameras.directional||(this._lightCameras.directional=new b.a);var se=this._lightCameras.directional;C.copy($.viewBoundingBoxLastFrame),C.intersection(q.frustum.boundingBox),se.position.copy(C.min).add(C.max).scale(.5).transformMat4(q.worldTransform),se.rotation.copy(H.rotation),se.scale.copy(H.scale),se.updateWorldTransform(),x.a.invert(G,se.worldTransform),x.a.multiply(G,G,q.worldTransform),I.copy(C).applyTransform(G);var ue=I.min.array,me=I.max.array;return se.position.set((ue[0]+me[0])/2,(ue[1]+me[1])/2,me[2]).transformMat4(se.worldTransform),se.near=0,se.far=-ue[2]+me[2],isNaN(this.lightFrustumBias)?se.far*=4:se.far+=this.lightFrustumBias,se.left=ue[0],se.right=me[0],se.top=me[1],se.bottom=ue[1],se.update(!0),se}}(),_getSpotLightCamera:function(G){this._lightCameras.spot||(this._lightCameras.spot=new E.a);var C=this._lightCameras.spot;return C.fov=G.penumbraAngle*2,C.far=G.range,C.worldTransform.copy(G.worldTransform),C.updateProjectionMatrix(),P.invert(C.viewMatrix.array,C.worldTransform.array),C},dispose:function(G){var C=G.gl||G;this._frameBuffer&&this._frameBuffer.dispose(C);for(var I in this._textures)this._textures[I].dispose(C);this._texturePool.clear(G.gl),this._depthMaterials={},this._distanceMaterials={},this._textures={},this._lightCameras={},this._shadowMapNumber={POINT_LIGHT:0,DIRECTIONAL_LIGHT:0,SPOT_LIGHT:0},this._meshMaterials={};for(var H=0;H<this._receivers.length;H++){var $=this._receivers[H];if($.material&&$.material.shader){var q=$.material,se=q.shader;se.undefine("fragment","POINT_LIGHT_SHADOW_COUNT"),se.undefine("fragment","DIRECTIONAL_LIGHT_SHADOW_COUNT"),se.undefine("fragment","AMBIENT_LIGHT_SHADOW_COUNT"),q.set("shadowEnabled",0)}}this._opaqueCasters=[],this._receivers=[],this._lightsCastShadow=[]}});U.VSM=1,U.PCF=2,X.a=U},function(te,X,S){"use strict";var K=S(7),y={};function L(){this._pool={}}L.prototype.get=function(c){var l=c;if(this._pool[l])return this._pool[l];var f=y[c];if(!f){console.error('Shader "'+c+'" is not in the library');return}var n=new K.a(f.vertex,f.fragment);return this._pool[l]=n,n},L.prototype.clear=function(){this._pool={}};function A(c,l,f){y[c]={vertex:l,fragment:f}}var s=new L,x={createLibrary:function(){return new L},get:function(){return s.get.apply(s,arguments)},template:A,clear:function(){return s.clear()}}},function(te,X,S){"use strict";X.a=`@export clay.sm.depth.vertex
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
attribute vec3 position : POSITION;
#ifdef SHADOW_TRANSPARENT
attribute vec2 texcoord : TEXCOORD_0;
#endif
@import clay.chunk.skinning_header
varying vec4 v_ViewPosition;
#ifdef SHADOW_TRANSPARENT
varying vec2 v_Texcoord;
#endif
void main(){
vec3 skinnedPosition = position;
#ifdef SKINNING
@import clay.chunk.skin_matrix
skinnedPosition = (skinMatrixWS * vec4(position, 1.0)).xyz;
#endif
v_ViewPosition = worldViewProjection * vec4(skinnedPosition, 1.0);
gl_Position = v_ViewPosition;
#ifdef SHADOW_TRANSPARENT
v_Texcoord = texcoord;
#endif
}
@end
@export clay.sm.depth.fragment
varying vec4 v_ViewPosition;
#ifdef SHADOW_TRANSPARENT
varying vec2 v_Texcoord;
#endif
uniform float bias : 0.001;
uniform float slopeScale : 1.0;
#ifdef SHADOW_TRANSPARENT
uniform sampler2D transparentMap;
#endif
@import clay.util.encode_float
void main(){
float depth = v_ViewPosition.z / v_ViewPosition.w;
#ifdef USE_VSM
depth = depth * 0.5 + 0.5;
float moment1 = depth;
float moment2 = depth * depth;
float dx = dFdx(depth);
float dy = dFdy(depth);
moment2 += 0.25*(dx*dx+dy*dy);
gl_FragColor = vec4(moment1, moment2, 0.0, 1.0);
#else
float dx = dFdx(depth);
float dy = dFdy(depth);
depth += sqrt(dx*dx + dy*dy) * slopeScale + bias;
#ifdef SHADOW_TRANSPARENT
if (texture2D(transparentMap, v_Texcoord).a <= 0.1) {
gl_FragColor = encodeFloat(0.9999);
return;
}
#endif
gl_FragColor = encodeFloat(depth * 0.5 + 0.5);
#endif
}
@end
@export clay.sm.debug_depth
uniform sampler2D depthMap;
varying vec2 v_Texcoord;
@import clay.util.decode_float
void main() {
vec4 tex = texture2D(depthMap, v_Texcoord);
#ifdef USE_VSM
gl_FragColor = vec4(tex.rgb, 1.0);
#else
float depth = decodeFloat(tex);
gl_FragColor = vec4(depth, depth, depth, 1.0);
#endif
}
@end
@export clay.sm.distance.vertex
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
uniform mat4 world : WORLD;
attribute vec3 position : POSITION;
@import clay.chunk.skinning_header
varying vec3 v_WorldPosition;
void main (){
vec3 skinnedPosition = position;
#ifdef SKINNING
@import clay.chunk.skin_matrix
skinnedPosition = (skinMatrixWS * vec4(position, 1.0)).xyz;
#endif
gl_Position = worldViewProjection * vec4(skinnedPosition , 1.0);
v_WorldPosition = (world * vec4(skinnedPosition, 1.0)).xyz;
}
@end
@export clay.sm.distance.fragment
uniform vec3 lightPosition;
uniform float range : 100;
varying vec3 v_WorldPosition;
@import clay.util.encode_float
void main(){
float dist = distance(lightPosition, v_WorldPosition);
#ifdef USE_VSM
gl_FragColor = vec4(dist, dist * dist, 0.0, 0.0);
#else
dist = dist / range;
gl_FragColor = encodeFloat(dist);
#endif
}
@end
@export clay.plugin.shadow_map_common
@import clay.util.decode_float
float tapShadowMap(sampler2D map, vec2 uv, float z){
vec4 tex = texture2D(map, uv);
return step(z, decodeFloat(tex) * 2.0 - 1.0);
}
float pcf(sampler2D map, vec2 uv, float z, float textureSize, vec2 scale) {
float shadowContrib = tapShadowMap(map, uv, z);
vec2 offset = vec2(1.0 / textureSize) * scale;
#ifdef PCF_KERNEL_SIZE
for (int _idx_ = 0; _idx_ < PCF_KERNEL_SIZE; _idx_++) {{
shadowContrib += tapShadowMap(map, uv + offset * pcfKernel[_idx_], z);
}}
return shadowContrib / float(PCF_KERNEL_SIZE + 1);
#else
shadowContrib += tapShadowMap(map, uv+vec2(offset.x, 0.0), z);
shadowContrib += tapShadowMap(map, uv+vec2(offset.x, offset.y), z);
shadowContrib += tapShadowMap(map, uv+vec2(-offset.x, offset.y), z);
shadowContrib += tapShadowMap(map, uv+vec2(0.0, offset.y), z);
shadowContrib += tapShadowMap(map, uv+vec2(-offset.x, 0.0), z);
shadowContrib += tapShadowMap(map, uv+vec2(-offset.x, -offset.y), z);
shadowContrib += tapShadowMap(map, uv+vec2(offset.x, -offset.y), z);
shadowContrib += tapShadowMap(map, uv+vec2(0.0, -offset.y), z);
return shadowContrib / 9.0;
#endif
}
float pcf(sampler2D map, vec2 uv, float z, float textureSize) {
return pcf(map, uv, z, textureSize, vec2(1.0));
}
float chebyshevUpperBound(vec2 moments, float z){
float p = 0.0;
z = z * 0.5 + 0.5;
if (z <= moments.x) {
p = 1.0;
}
float variance = moments.y - moments.x * moments.x;
variance = max(variance, 0.0000001);
float mD = moments.x - z;
float pMax = variance / (variance + mD * mD);
pMax = clamp((pMax-0.4)/(1.0-0.4), 0.0, 1.0);
return max(p, pMax);
}
float computeShadowContrib(
sampler2D map, mat4 lightVPM, vec3 position, float textureSize, vec2 scale, vec2 offset
) {
vec4 posInLightSpace = lightVPM * vec4(position, 1.0);
posInLightSpace.xyz /= posInLightSpace.w;
float z = posInLightSpace.z;
if(all(greaterThan(posInLightSpace.xyz, vec3(-0.99, -0.99, -1.0))) &&
all(lessThan(posInLightSpace.xyz, vec3(0.99, 0.99, 1.0)))){
vec2 uv = (posInLightSpace.xy+1.0) / 2.0;
#ifdef USE_VSM
vec2 moments = texture2D(map, uv * scale + offset).xy;
return chebyshevUpperBound(moments, z);
#else
return pcf(map, uv * scale + offset, z, textureSize, scale);
#endif
}
return 1.0;
}
float computeShadowContrib(sampler2D map, mat4 lightVPM, vec3 position, float textureSize) {
return computeShadowContrib(map, lightVPM, position, textureSize, vec2(1.0), vec2(0.0));
}
float computeShadowContribOmni(samplerCube map, vec3 direction, float range)
{
float dist = length(direction);
vec4 shadowTex = textureCube(map, direction);
#ifdef USE_VSM
vec2 moments = shadowTex.xy;
float variance = moments.y - moments.x * moments.x;
float mD = moments.x - dist;
float p = variance / (variance + mD * mD);
if(moments.x + 0.001 < dist){
return clamp(p, 0.0, 1.0);
}else{
return 1.0;
}
#else
return step(dist, (decodeFloat(shadowTex) + 0.0002) * range);
#endif
}
@end
@export clay.plugin.compute_shadow_map
#if defined(SPOT_LIGHT_SHADOWMAP_COUNT) || defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT) || defined(POINT_LIGHT_SHADOWMAP_COUNT)
#ifdef SPOT_LIGHT_SHADOWMAP_COUNT
uniform sampler2D spotLightShadowMaps[SPOT_LIGHT_SHADOWMAP_COUNT]:unconfigurable;
uniform mat4 spotLightMatrices[SPOT_LIGHT_SHADOWMAP_COUNT]:unconfigurable;
uniform float spotLightShadowMapSizes[SPOT_LIGHT_SHADOWMAP_COUNT]:unconfigurable;
#endif
#ifdef DIRECTIONAL_LIGHT_SHADOWMAP_COUNT
#if defined(SHADOW_CASCADE)
uniform sampler2D directionalLightShadowMaps[1]:unconfigurable;
uniform mat4 directionalLightMatrices[SHADOW_CASCADE]:unconfigurable;
uniform float directionalLightShadowMapSizes[1]:unconfigurable;
uniform float shadowCascadeClipsNear[SHADOW_CASCADE]:unconfigurable;
uniform float shadowCascadeClipsFar[SHADOW_CASCADE]:unconfigurable;
#else
uniform sampler2D directionalLightShadowMaps[DIRECTIONAL_LIGHT_SHADOWMAP_COUNT]:unconfigurable;
uniform mat4 directionalLightMatrices[DIRECTIONAL_LIGHT_SHADOWMAP_COUNT]:unconfigurable;
uniform float directionalLightShadowMapSizes[DIRECTIONAL_LIGHT_SHADOWMAP_COUNT]:unconfigurable;
#endif
#endif
#ifdef POINT_LIGHT_SHADOWMAP_COUNT
uniform samplerCube pointLightShadowMaps[POINT_LIGHT_SHADOWMAP_COUNT]:unconfigurable;
#endif
uniform bool shadowEnabled : true;
#ifdef PCF_KERNEL_SIZE
uniform vec2 pcfKernel[PCF_KERNEL_SIZE];
#endif
@import clay.plugin.shadow_map_common
#if defined(SPOT_LIGHT_SHADOWMAP_COUNT)
void computeShadowOfSpotLights(vec3 position, inout float shadowContribs[SPOT_LIGHT_COUNT] ) {
float shadowContrib;
for(int _idx_ = 0; _idx_ < SPOT_LIGHT_SHADOWMAP_COUNT; _idx_++) {{
shadowContrib = computeShadowContrib(
spotLightShadowMaps[_idx_], spotLightMatrices[_idx_], position,
spotLightShadowMapSizes[_idx_]
);
shadowContribs[_idx_] = shadowContrib;
}}
for(int _idx_ = SPOT_LIGHT_SHADOWMAP_COUNT; _idx_ < SPOT_LIGHT_COUNT; _idx_++){{
shadowContribs[_idx_] = 1.0;
}}
}
#endif
#if defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT)
#ifdef SHADOW_CASCADE
void computeShadowOfDirectionalLights(vec3 position, inout float shadowContribs[DIRECTIONAL_LIGHT_COUNT]){
float depth = (2.0 * gl_FragCoord.z - gl_DepthRange.near - gl_DepthRange.far)
/ (gl_DepthRange.far - gl_DepthRange.near);
float shadowContrib;
shadowContribs[0] = 1.0;
for (int _idx_ = 0; _idx_ < SHADOW_CASCADE; _idx_++) {{
if (
depth >= shadowCascadeClipsNear[_idx_] &&
depth <= shadowCascadeClipsFar[_idx_]
) {
shadowContrib = computeShadowContrib(
directionalLightShadowMaps[0], directionalLightMatrices[_idx_], position,
directionalLightShadowMapSizes[0],
vec2(1.0 / float(SHADOW_CASCADE), 1.0),
vec2(float(_idx_) / float(SHADOW_CASCADE), 0.0)
);
shadowContribs[0] = shadowContrib;
}
}}
for(int _idx_ = DIRECTIONAL_LIGHT_SHADOWMAP_COUNT; _idx_ < DIRECTIONAL_LIGHT_COUNT; _idx_++) {{
shadowContribs[_idx_] = 1.0;
}}
}
#else
void computeShadowOfDirectionalLights(vec3 position, inout float shadowContribs[DIRECTIONAL_LIGHT_COUNT]){
float shadowContrib;
for(int _idx_ = 0; _idx_ < DIRECTIONAL_LIGHT_SHADOWMAP_COUNT; _idx_++) {{
shadowContrib = computeShadowContrib(
directionalLightShadowMaps[_idx_], directionalLightMatrices[_idx_], position,
directionalLightShadowMapSizes[_idx_]
);
shadowContribs[_idx_] = shadowContrib;
}}
for(int _idx_ = DIRECTIONAL_LIGHT_SHADOWMAP_COUNT; _idx_ < DIRECTIONAL_LIGHT_COUNT; _idx_++) {{
shadowContribs[_idx_] = 1.0;
}}
}
#endif
#endif
#if defined(POINT_LIGHT_SHADOWMAP_COUNT)
void computeShadowOfPointLights(vec3 position, inout float shadowContribs[POINT_LIGHT_COUNT] ){
vec3 lightPosition;
vec3 direction;
for(int _idx_ = 0; _idx_ < POINT_LIGHT_SHADOWMAP_COUNT; _idx_++) {{
lightPosition = pointLightPosition[_idx_];
direction = position - lightPosition;
shadowContribs[_idx_] = computeShadowContribOmni(pointLightShadowMaps[_idx_], direction, pointLightRange[_idx_]);
}}
for(int _idx_ = POINT_LIGHT_SHADOWMAP_COUNT; _idx_ < POINT_LIGHT_COUNT; _idx_++) {{
shadowContribs[_idx_] = 1.0;
}}
}
#endif
#endif
@end`},function(te,X,S){"use strict";var K=S(7),y=S(5),L=S(6),A=S(10),s=S(156),x=S(162),c=S(164),l=S(166),f=S(2),n=S(167),o=S(169),d=S(9),m=S(170),_=S(171),h=S(172),g=S(173),r=S(174),a=S(175),p=S(176),E=S(177),b=S(178),w=S(179),R=S(180),O=S(181);K.a.import(_.a),K.a.import(h.a),K.a.import(g.a),K.a.import(r.a),K.a.import(a.a),K.a.import(p.a),K.a.import(E.a),K.a.import(b.a),K.a.import(w.a),K.a.import(R.a),K.a.import(O.a);var z={color:{parameters:{width:function(F){return F.getWidth()},height:function(F){return F.getHeight()}}}},B=["composite","FXAA"];function P(){this._sourceTexture=new y.a({type:L.a.HALF_FLOAT}),this._depthTexture=new y.a({format:L.a.DEPTH_COMPONENT,type:L.a.UNSIGNED_INT}),this._framebuffer=new A.a,this._framebuffer.attach(this._sourceTexture),this._framebuffer.attach(this._depthTexture,A.a.DEPTH_ATTACHMENT),this._normalPass=new n.a,this._compositor=Object(s.a)(m.a);var F=this._compositor.getNodeByName("source");F.texture=this._sourceTexture;var k=this._compositor.getNodeByName("coc");this._sourceNode=F,this._cocNode=k,this._compositeNode=this._compositor.getNodeByName("composite"),this._fxaaNode=this._compositor.getNodeByName("FXAA"),this._dofBlurNodes=["dof_far_blur","dof_near_blur","dof_coc_blur"].map(function(G){return this._compositor.getNodeByName(G)},this),this._dofBlurKernel=0,this._dofBlurKernelSize=new Float32Array(0),this._finalNodesChain=B.map(function(G){return this._compositor.getNodeByName(G)},this);var U={normalTexture:this._normalPass.getNormalTexture(),depthTexture:this._normalPass.getDepthTexture()};this._ssaoPass=new x.a(U),this._ssrPass=new c.a(U),this._edgePass=new o.a(U)}P.prototype.resize=function(G,C,U){U=U||1;var G=G*U,C=C*U,I=this._sourceTexture,H=this._depthTexture;I.width=G,I.height=C,H.width=G,H.height=C},P.prototype._ifRenderNormalPass=function(){return this._enableSSAO||this._enableEdge||this._enableSSR},P.prototype._getPrevNode=function(F){for(var k=B.indexOf(F.name)-1,U=this._finalNodesChain[k];U&&!this._compositor.getNodeByName(U.name);)k-=1,U=this._finalNodesChain[k];return U},P.prototype._getNextNode=function(F){for(var k=B.indexOf(F.name)+1,U=this._finalNodesChain[k];U&&!this._compositor.getNodeByName(U.name);)k+=1,U=this._finalNodesChain[k];return U},P.prototype._addChainNode=function(F){var k=this._getPrevNode(F),U=this._getNextNode(F);k&&(k.outputs=z,F.inputs.texture=k.name,U?(F.outputs=z,U.inputs.texture=F.name):F.outputs=null,this._compositor.addNode(F))},P.prototype._removeChainNode=function(F){var k=this._getPrevNode(F),U=this._getNextNode(F);k&&(U?(k.outputs=z,U.inputs.texture=k.name):k.outputs=null,this._compositor.removeNode(F))},P.prototype.updateNormal=function(F,k,U,G){this._ifRenderNormalPass()&&this._normalPass.update(F,k,U)},P.prototype.updateSSAO=function(F,k,U,G){this._ssaoPass.update(F,U,G)},P.prototype.enableSSAO=function(){this._enableSSAO=!0},P.prototype.disableSSAO=function(){this._enableSSAO=!1},P.prototype.enableSSR=function(){this._enableSSR=!0},P.prototype.disableSSR=function(){this._enableSSR=!1},P.prototype.getSSAOTexture=function(F,k,U,G){return this._ssaoPass.getTargetTexture()},P.prototype.getSourceFrameBuffer=function(){return this._framebuffer},P.prototype.getSourceTexture=function(){return this._sourceTexture},P.prototype.disableFXAA=function(){this._removeChainNode(this._fxaaNode)},P.prototype.enableFXAA=function(){this._addChainNode(this._fxaaNode)},P.prototype.enableBloom=function(){this._compositeNode.inputs.bloom="bloom_composite",this._compositor.dirty()},P.prototype.disableBloom=function(){this._compositeNode.inputs.bloom=null,this._compositor.dirty()},P.prototype.enableDOF=function(){this._compositeNode.inputs.texture="dof_composite",this._compositor.dirty()},P.prototype.disableDOF=function(){this._compositeNode.inputs.texture="source",this._compositor.dirty()},P.prototype.enableColorCorrection=function(){this._compositeNode.define("COLOR_CORRECTION"),this._enableColorCorrection=!0},P.prototype.disableColorCorrection=function(){this._compositeNode.undefine("COLOR_CORRECTION"),this._enableColorCorrection=!1},P.prototype.enableEdge=function(){this._enableEdge=!0},P.prototype.disableEdge=function(){this._enableEdge=!1},P.prototype.setBloomIntensity=function(F){this._compositeNode.setParameter("bloomIntensity",F)},P.prototype.setSSAOParameter=function(F,k){switch(F){case"quality":var U={low:6,medium:12,high:32,ultra:62}[k]||12;this._ssaoPass.setParameter("kernelSize",U);break;case"radius":this._ssaoPass.setParameter(F,k),this._ssaoPass.setParameter("bias",k/200);break;case"intensity":this._ssaoPass.setParameter(F,k);break;default:console.warn("Unkown SSAO parameter "+F)}},P.prototype.setDOFParameter=function(F,k){switch(F){case"focalDistance":case"focalRange":case"fstop":this._cocNode.setParameter(F,k);break;case"blurRadius":for(var U=0;U<this._dofBlurNodes.length;U++)this._dofBlurNodes[U].setParameter("blurRadius",k);break;case"quality":var G={low:4,medium:8,high:16,ultra:32}[k]||8;this._dofBlurKernelSize=G;for(var U=0;U<this._dofBlurNodes.length;U++)this._dofBlurNodes[U].pass.material.define("POISSON_KERNEL_SIZE",G);this._dofBlurKernel=new Float32Array(G*2);break;default:console.warn("Unkown DOF parameter "+F)}},P.prototype.setSSRParameter=function(F,k){switch(F){case"quality":var U={low:10,medium:20,high:40,ultra:80}[k]||20,G={low:32,medium:16,high:8,ultra:4}[k]||16;this._ssrPass.setParameter("maxIteration",U),this._ssrPass.setParameter("pixelStride",G);break;case"maxRoughness":this._ssrPass.setParameter("minGlossiness",Math.max(Math.min(1-k,1),0));break;default:console.warn("Unkown SSR parameter "+F)}},P.prototype.setEdgeColor=function(F){var k=f.a.parseColor(F);this._edgePass.setParameter("edgeColor",k)},P.prototype.setExposure=function(F){this._compositeNode.setParameter("exposure",Math.pow(2,F))},P.prototype.setColorLookupTexture=function(F,k){this._compositeNode.pass.material.setTextureImage("lut",this._enableColorCorrection?F:"none",k,{minFilter:f.a.Texture.NEAREST,magFilter:f.a.Texture.NEAREST,flipY:!1})},P.prototype.setColorCorrection=function(F,k){this._compositeNode.setParameter(F,k)},P.prototype.composite=function(F,k,U,G){var C=this._sourceTexture,I=C;this._enableEdge&&(this._edgePass.update(F,k,C,G),C=I=this._edgePass.getTargetTexture()),this._enableSSR&&(this._ssrPass.update(F,k,C,G),I=this._ssrPass.getTargetTexture(),this._ssrPass.setSSAOTexture(this._enableSSAO?this._ssaoPass.getTargetTexture():null)),this._sourceNode.texture=I,this._cocNode.setParameter("depth",this._depthTexture);for(var H=this._dofBlurKernel,$=this._dofBlurKernelSize,q=Math.floor(l.a.length/2/$),se=G%q,ue=0;ue<$*2;ue++)H[ue]=l.a[ue+se*$*2];for(var ue=0;ue<this._dofBlurNodes.length;ue++)this._dofBlurNodes[ue].setParameter("percent",G/30),this._dofBlurNodes[ue].setParameter("poissonKernel",H);this._cocNode.setParameter("zNear",k.near),this._cocNode.setParameter("zFar",k.far),this._compositor.render(F,U)},P.prototype.dispose=function(F){this._sourceTexture.dispose(F),this._depthTexture.dispose(F),this._framebuffer.dispose(F),this._compositor.dispose(F),this._normalPass.dispose(F),this._ssaoPass.dispose(F)},X.a=P},function(te,X,S){"use strict";var K=S(21),y=S(157),L=S(159),A=S(160),s=S(161),x=S(7),c=S(6),l=S(5),f=S(25),n=/^#source\((.*?)\)/;function o(a,p){var E=new y.a;p=p||{};var b={textures:{},parameters:{}},w=function(z,B){for(var P=0;P<a.nodes.length;P++){var F=a.nodes[P],k=d(F,b,p);k&&E.addNode(k)}};for(var R in a.parameters){var O=a.parameters[R];b.parameters[R]=m(O)}return _(a,b,p,function(z){b.textures=z,w()}),E}function d(a,p,E){var b=a.type||"filter",w,R,O;if(b==="filter"){var z=a.shader.trim(),B=n.exec(z);if(B?w=x.a.source(B[1].trim()):z.charAt(0)==="#"&&(w=p.shaders[z.substr(1)]),w||(w=z),!w)return}if(a.inputs){R={};for(var P in a.inputs)typeof a.inputs[P]=="string"?R[P]=a.inputs[P]:R[P]={node:a.inputs[P].node,pin:a.inputs[P].pin}}if(a.outputs){O={};for(var P in a.outputs){var F=a.outputs[P];O[P]={},F.attachment!=null&&(O[P].attachment=F.attachment),F.keepLastFrame!=null&&(O[P].keepLastFrame=F.keepLastFrame),F.outputLastFrame!=null&&(O[P].outputLastFrame=F.outputLastFrame),F.parameters&&(O[P].parameters=m(F.parameters))}}var k;if(b==="scene"?k=new L.a({name:a.name,scene:E.scene,camera:E.camera,outputs:O}):b==="texture"?k=new A.a({name:a.name,outputs:O}):k=new s.a({name:a.name,shader:w,inputs:R,outputs:O}),k){if(a.parameters)for(var P in a.parameters){var U=a.parameters[P];typeof U=="string"&&(U=U.trim(),U.charAt(0)==="#"?U=p.textures[U.substr(1)]:k.on("beforerender",h(P,r(U)))),k.setParameter(P,U)}if(a.defines&&k.pass)for(var P in a.defines){var U=a.defines[P];k.pass.material.define("fragment",P,U)}}return k}function m(a){var p={};return a&&(["type","minFilter","magFilter","wrapS","wrapT","flipY","useMipmap"].forEach(function(E){var b=a[E];b!=null&&(typeof b=="string"&&(b=c.a[b]),p[E]=b)}),["width","height"].forEach(function(E){if(a[E]!=null){var b=a[E];typeof b=="string"?(b=b.trim(),p[E]=g(E,r(b))):p[E]=b}}),a.useMipmap!=null&&(p.useMipmap=a.useMipmap)),p}function _(a,p,E,b){if(!a.textures){b({});return}var w={},R=0,O=!1,z=E.textureRootPath;K.a.each(a.textures,function(B,P){var F,k=B.path,U=m(B.parameters);if(Array.isArray(k)&&k.length===6)z&&(k=k.map(function(G){return K.a.relative2absolute(G,z)})),F=new f.a(U);else if(typeof k=="string")z&&(k=K.a.relative2absolute(k,z)),F=new l.a(U);else return;F.load(k),R++,F.once("success",function(){w[P]=F,R--,R===0&&(b(w),O=!0)})}),R===0&&!O&&b(w)}function h(a,p){return function(E){var b=E.getDevicePixelRatio(),w=E.getWidth(),R=E.getHeight(),O=p(w,R,b);this.setParameter(a,O)}}function g(a,p){return function(E){var b=E.getDevicePixelRatio(),w=E.getWidth(),R=E.getHeight();return p(w,R,b)}}function r(a){var p=/^expr\((.*)\)$/.exec(a);if(p)try{var E=new Function("width","height","dpr","return "+p[1]);return E(1,1),E}catch(b){throw new Error("Invalid expression.")}}X.a=o},function(te,X,S){"use strict";var K=S(158),y=S(79),L=S(10),A=K.a.extend(function(){return{_outputs:[],_texturePool:new y.a,_frameBuffer:new L.a({depthBuffer:!1})}},{addNode:function(s){K.a.prototype.addNode.call(this,s),s._compositor=this},render:function(s,x){if(this._dirty){this.update(),this._dirty=!1,this._outputs.length=0;for(var c=0;c<this.nodes.length;c++)this.nodes[c].outputs||this._outputs.push(this.nodes[c])}for(var c=0;c<this.nodes.length;c++)this.nodes[c].beforeFrame();for(var c=0;c<this._outputs.length;c++)this._outputs[c].updateReference();for(var c=0;c<this._outputs.length;c++)this._outputs[c].render(s,x);for(var c=0;c<this.nodes.length;c++)this.nodes[c].afterFrame()},allocateTexture:function(s){return this._texturePool.get(s)},releaseTexture:function(s){this._texturePool.put(s)},getFrameBuffer:function(){return this._frameBuffer},dispose:function(s){this._texturePool.clear(s)}});X.a=A},function(te,X,S){"use strict";var K=S(8),y=S(42),L=K.a.extend(function(){return{nodes:[]}},{dirty:function(){this._dirty=!0},addNode:function(A){this.nodes.indexOf(A)>=0||(this.nodes.push(A),this._dirty=!0)},removeNode:function(A){typeof A=="string"&&(A=this.getNodeByName(A));var s=this.nodes.indexOf(A);s>=0&&(this.nodes.splice(s,1),this._dirty=!0)},getNodeByName:function(A){for(var s=0;s<this.nodes.length;s++)if(this.nodes[s].name===A)return this.nodes[s]},update:function(){for(var A=0;A<this.nodes.length;A++)this.nodes[A].clear();for(var A=0;A<this.nodes.length;A++){var s=this.nodes[A];if(s.inputs){for(var x in s.inputs)if(s.inputs[x]){if(s.pass&&!s.pass.material.isUniformEnabled(x)){console.warn("Pin "+s.name+"."+x+" not used.");continue}var c=s.inputs[x],l=this.findPin(c);l?s.link(x,l.node,l.pin):console.warn(typeof c=="string"?"Node "+c+" not exist":"Pin of "+c.node+"."+c.pin+" not exist")}}}},findPin:function(A){var s;if((typeof A=="string"||A instanceof y.a)&&(A={node:A}),typeof A.node=="string")for(var x=0;x<this.nodes.length;x++){var c=this.nodes[x];c.name===A.node&&(s=c)}else s=A.node;if(s){var l=A.pin;if(l||s.outputs&&(l=Object.keys(s.outputs)[0]),s.outputs[l])return{node:s,pin:l}}}});X.a=L},function(te,X,S){"use strict";var K=S(42),y=S(11),L=S(10),A=K.a.extend({name:"scene",scene:null,camera:null,autoUpdateScene:!0,preZ:!1},function(){this.frameBuffer=new L.a},{render:function(s){this._rendering=!0;var x=s.gl;this.trigger("beforerender");var c;if(!this.outputs)c=s.render(this.scene,this.camera,!this.autoUpdateScene,this.preZ);else{var l=this.frameBuffer;for(var f in this.outputs){var n=this.updateParameter(f,s),o=this.outputs[f],d=this._compositor.allocateTexture(n);this._outputTextures[f]=d;var m=o.attachment||x.COLOR_ATTACHMENT0;typeof m=="string"&&(m=x[m]),l.attach(d,m)}l.bind(s);var _=s.getGLExtension("EXT_draw_buffers");if(_){var h=[];for(var m in this.outputs)m=parseInt(m),m>=x.COLOR_ATTACHMENT0&&m<=x.COLOR_ATTACHMENT0+8&&h.push(m);_.drawBuffersEXT(h)}s.saveClear(),s.clearBit=y.a.DEPTH_BUFFER_BIT|y.a.COLOR_BUFFER_BIT,c=s.render(this.scene,this.camera,!this.autoUpdateScene,this.preZ),s.restoreClear(),l.unbind(s)}this.trigger("afterrender",c),this._rendering=!1,this._rendered=!0}});X.a=A},function(te,X,S){"use strict";var K=S(42),y=K.a.extend(function(){return{texture:null,outputs:{color:{}}}},function(){},{getOutput:function(L,A){return this.texture},beforeFrame:function(){},afterFrame:function(){}});X.a=y},function(te,X,S){"use strict";var K=S(14),y=S(42),L=y.a.extend(function(){return{name:"",inputs:{},outputs:null,shader:"",inputLinks:{},outputLinks:{},pass:null,_prevOutputTextures:{},_outputTextures:{},_outputReferences:{},_rendering:!1,_rendered:!1,_compositor:null}},function(){var A=new K.a({fragment:this.shader});this.pass=A},{render:function(A,s){this.trigger("beforerender",A),this._rendering=!0;var x=A.gl;for(var c in this.inputLinks){var l=this.inputLinks[c],f=l.node.getOutput(A,l.pin);this.pass.setUniform(c,f)}if(!this.outputs)this.pass.outputs=null,this._compositor.getFrameBuffer().unbind(A),this.pass.render(A,s);else{this.pass.outputs={};var n={};for(var o in this.outputs){var d=this.updateParameter(o,A);isNaN(d.width)&&this.updateParameter(o,A);var m=this.outputs[o],_=this._compositor.allocateTexture(d);this._outputTextures[o]=_;var h=m.attachment||x.COLOR_ATTACHMENT0;typeof h=="string"&&(h=x[h]),n[h]=_}this._compositor.getFrameBuffer().bind(A);for(var h in n)this._compositor.getFrameBuffer().attach(n[h],h);this.pass.render(A),this._compositor.getFrameBuffer().updateMipmap(A.gl)}for(var c in this.inputLinks){var l=this.inputLinks[c];l.node.removeReference(l.pin)}this._rendering=!1,this._rendered=!0,this.trigger("afterrender",A)},updateParameter:function(A,s){var x=this.outputs[A],c=x.parameters,l=x._parametersCopy;if(l||(l=x._parametersCopy={}),c)for(var f in c)f!=="width"&&f!=="height"&&(l[f]=c[f]);var n,o;return c.width instanceof Function?n=c.width.call(this,s):n=c.width,c.height instanceof Function?o=c.height.call(this,s):o=c.height,(l.width!==n||l.height!==o)&&this._outputTextures[A]&&this._outputTextures[A].dispose(s),l.width=n,l.height=o,l},setParameter:function(A,s){this.pass.setUniform(A,s)},getParameter:function(A){return this.pass.getUniform(A)},setParameters:function(A){for(var s in A)this.setParameter(s,A[s])},define:function(A,s){this.pass.material.define("fragment",A,s)},undefine:function(A){this.pass.material.undefine("fragment",A)},removeReference:function(A){if(this._outputReferences[A]--,this._outputReferences[A]===0){var s=this.outputs[A];s.keepLastFrame?(this._prevOutputTextures[A]&&this._compositor.releaseTexture(this._prevOutputTextures[A]),this._prevOutputTextures[A]=this._outputTextures[A]):this._compositor.releaseTexture(this._outputTextures[A])}},clear:function(){y.a.prototype.clear.call(this),this.pass.material.disableTexturesAll()}});X.a=L},function(te,X,S){"use strict";var K=S(9),y=S(4),L=S(5),A=S(6),s=S(14),x=S(7),c=S(10),l=S(43),f=S(163);x.a.import(f.a);function n(_){for(var h=new Uint8Array(_*_*4),g=0,r=new y.a,a=0;a<_;a++)for(var p=0;p<_;p++)r.set(Math.random()*2-1,Math.random()*2-1,0).normalize(),h[g++]=(r.x*.5+.5)*255,h[g++]=(r.y*.5+.5)*255,h[g++]=0,h[g++]=255;return h}function o(_){return new L.a({pixels:n(_),wrapS:A.a.REPEAT,wrapT:A.a.REPEAT,width:_,height:_})}function d(_,h,g){var r=new Float32Array(_*3);h=h||0;for(var a=0;a<_;a++){var p=Object(l.a)(a+h,2)*(g?1:2)*Math.PI,E=Object(l.a)(a+h,3)*Math.PI,b=Math.random(),w=Math.cos(p)*Math.sin(E)*b,R=Math.cos(E)*b,O=Math.sin(p)*Math.sin(E)*b;r[a*3]=w,r[a*3+1]=R,r[a*3+2]=O}return r}function m(_){_=_||{},this._ssaoPass=new s.a({fragment:x.a.source("ecgl.ssao.estimate")}),this._blurPass=new s.a({fragment:x.a.source("ecgl.ssao.blur")}),this._framebuffer=new c.a({depthBuffer:!1}),this._ssaoTexture=new L.a,this._blurTexture=new L.a,this._blurTexture2=new L.a,this._depthTex=_.depthTexture,this._normalTex=_.normalTexture,this.setNoiseSize(4),this.setKernelSize(_.kernelSize||12),_.radius!=null&&this.setParameter("radius",_.radius),_.power!=null&&this.setParameter("power",_.power),this._normalTex||(this._ssaoPass.material.disableTexture("normalTex"),this._blurPass.material.disableTexture("normalTex")),this._depthTex||this._blurPass.material.disableTexture("depthTex"),this._blurPass.material.setUniform("normalTex",this._normalTex),this._blurPass.material.setUniform("depthTex",this._depthTex)}m.prototype.setDepthTexture=function(_){this._depthTex=_},m.prototype.setNormalTexture=function(_){this._normalTex=_,this._ssaoPass.material[_?"enableTexture":"disableTexture"]("normalTex"),this.setKernelSize(this._kernelSize)},m.prototype.update=function(_,h,g){var r=_.getWidth(),a=_.getHeight(),p=this._ssaoPass,E=this._blurPass;p.setUniform("kernel",this._kernels[g%this._kernels.length]),p.setUniform("depthTex",this._depthTex),this._normalTex!=null&&p.setUniform("normalTex",this._normalTex),p.setUniform("depthTexSize",[this._depthTex.width,this._depthTex.height]);var b=new K.a;K.a.transpose(b,h.worldTransform),p.setUniform("projection",h.projectionMatrix.array),p.setUniform("projectionInv",h.invProjectionMatrix.array),p.setUniform("viewInverseTranspose",b.array);var w=this._ssaoTexture,R=this._blurTexture,O=this._blurTexture2;w.width=r/2,w.height=a/2,R.width=r,R.height=a,O.width=r,O.height=a,this._framebuffer.attach(w),this._framebuffer.bind(_),_.gl.clearColor(1,1,1,1),_.gl.clear(_.gl.COLOR_BUFFER_BIT),p.render(_),E.setUniform("textureSize",[r/2,a/2]),E.setUniform("projection",h.projectionMatrix.array),this._framebuffer.attach(R),E.setUniform("direction",0),E.setUniform("ssaoTexture",w),E.render(_),this._framebuffer.attach(O),E.setUniform("textureSize",[r,a]),E.setUniform("direction",1),E.setUniform("ssaoTexture",R),E.render(_),this._framebuffer.unbind(_);var z=_.clearColor;_.gl.clearColor(z[0],z[1],z[2],z[3])},m.prototype.getTargetTexture=function(){return this._blurTexture2},m.prototype.setParameter=function(_,h){_==="noiseTexSize"?this.setNoiseSize(h):_==="kernelSize"?this.setKernelSize(h):_==="intensity"?this._ssaoPass.material.set("intensity",h):this._ssaoPass.setUniform(_,h)},m.prototype.setKernelSize=function(_){this._kernelSize=_,this._ssaoPass.material.define("fragment","KERNEL_SIZE",_),this._kernels=this._kernels||[];for(var h=0;h<30;h++)this._kernels[h]=d(_,h*_,!!this._normalTex)},m.prototype.setNoiseSize=function(_){var h=this._ssaoPass.getUniform("noiseTex");h?(h.data=n(_),h.width=h.height=_,h.dirty()):(h=o(_),this._ssaoPass.setUniform("noiseTex",o(_))),this._ssaoPass.setUniform("noiseTexSize",[_,_])},m.prototype.dispose=function(_){this._blurTexture.dispose(_),this._ssaoTexture.dispose(_),this._blurTexture2.dispose(_)},X.a=m},function(te,X,S){"use strict";X.a=`@export ecgl.ssao.estimate
uniform sampler2D depthTex;
uniform sampler2D normalTex;
uniform sampler2D noiseTex;
uniform vec2 depthTexSize;
uniform vec2 noiseTexSize;
uniform mat4 projection;
uniform mat4 projectionInv;
uniform mat4 viewInverseTranspose;
uniform vec3 kernel[KERNEL_SIZE];
uniform float radius : 1;
uniform float power : 1;
uniform float bias: 1e-2;
uniform float intensity: 1.0;
varying vec2 v_Texcoord;
float ssaoEstimator(in vec3 originPos, in mat3 kernelBasis) {
float occlusion = 0.0;
for (int i = 0; i < KERNEL_SIZE; i++) {
vec3 samplePos = kernel[i];
#ifdef NORMALTEX_ENABLED
samplePos = kernelBasis * samplePos;
#endif
samplePos = samplePos * radius + originPos;
vec4 texCoord = projection * vec4(samplePos, 1.0);
texCoord.xy /= texCoord.w;
vec4 depthTexel = texture2D(depthTex, texCoord.xy * 0.5 + 0.5);
float sampleDepth = depthTexel.r * 2.0 - 1.0;
if (projection[3][3] == 0.0) {
sampleDepth = projection[3][2] / (sampleDepth * projection[2][3] - projection[2][2]);
}
else {
sampleDepth = (sampleDepth - projection[3][2]) / projection[2][2];
}
float rangeCheck = smoothstep(0.0, 1.0, radius / abs(originPos.z - sampleDepth));
occlusion += rangeCheck * step(samplePos.z, sampleDepth - bias);
}
#ifdef NORMALTEX_ENABLED
occlusion = 1.0 - occlusion / float(KERNEL_SIZE);
#else
occlusion = 1.0 - clamp((occlusion / float(KERNEL_SIZE) - 0.6) * 2.5, 0.0, 1.0);
#endif
return pow(occlusion, power);
}
void main()
{
vec4 depthTexel = texture2D(depthTex, v_Texcoord);
#ifdef NORMALTEX_ENABLED
vec4 tex = texture2D(normalTex, v_Texcoord);
if (dot(tex.rgb, tex.rgb) == 0.0) {
gl_FragColor = vec4(1.0);
return;
}
vec3 N = tex.rgb * 2.0 - 1.0;
N = (viewInverseTranspose * vec4(N, 0.0)).xyz;
vec2 noiseTexCoord = depthTexSize / vec2(noiseTexSize) * v_Texcoord;
vec3 rvec = texture2D(noiseTex, noiseTexCoord).rgb * 2.0 - 1.0;
vec3 T = normalize(rvec - N * dot(rvec, N));
vec3 BT = normalize(cross(N, T));
mat3 kernelBasis = mat3(T, BT, N);
#else
if (depthTexel.r > 0.99999) {
gl_FragColor = vec4(1.0);
return;
}
mat3 kernelBasis;
#endif
float z = depthTexel.r * 2.0 - 1.0;
vec4 projectedPos = vec4(v_Texcoord * 2.0 - 1.0, z, 1.0);
vec4 p4 = projectionInv * projectedPos;
vec3 position = p4.xyz / p4.w;
float ao = ssaoEstimator(position, kernelBasis);
ao = clamp(1.0 - (1.0 - ao) * intensity, 0.0, 1.0);
gl_FragColor = vec4(vec3(ao), 1.0);
}
@end
@export ecgl.ssao.blur
#define SHADER_NAME SSAO_BLUR
uniform sampler2D ssaoTexture;
#ifdef NORMALTEX_ENABLED
uniform sampler2D normalTex;
#endif
varying vec2 v_Texcoord;
uniform vec2 textureSize;
uniform float blurSize : 1.0;
uniform int direction: 0.0;
#ifdef DEPTHTEX_ENABLED
uniform sampler2D depthTex;
uniform mat4 projection;
uniform float depthRange : 0.5;
float getLinearDepth(vec2 coord)
{
float depth = texture2D(depthTex, coord).r * 2.0 - 1.0;
return projection[3][2] / (depth * projection[2][3] - projection[2][2]);
}
#endif
void main()
{
float kernel[5];
kernel[0] = 0.122581;
kernel[1] = 0.233062;
kernel[2] = 0.288713;
kernel[3] = 0.233062;
kernel[4] = 0.122581;
vec2 off = vec2(0.0);
if (direction == 0) {
off[0] = blurSize / textureSize.x;
}
else {
off[1] = blurSize / textureSize.y;
}
vec2 coord = v_Texcoord;
float sum = 0.0;
float weightAll = 0.0;
#ifdef NORMALTEX_ENABLED
vec3 centerNormal = texture2D(normalTex, v_Texcoord).rgb * 2.0 - 1.0;
#endif
#if defined(DEPTHTEX_ENABLED)
float centerDepth = getLinearDepth(v_Texcoord);
#endif
for (int i = 0; i < 5; i++) {
vec2 coord = clamp(v_Texcoord + vec2(float(i) - 2.0) * off, vec2(0.0), vec2(1.0));
float w = kernel[i];
#ifdef NORMALTEX_ENABLED
vec3 normal = texture2D(normalTex, coord).rgb * 2.0 - 1.0;
w *= clamp(dot(normal, centerNormal), 0.0, 1.0);
#endif
#ifdef DEPTHTEX_ENABLED
float d = getLinearDepth(coord);
w *= (1.0 - smoothstep(abs(centerDepth - d) / depthRange, 0.0, 1.0));
#endif
weightAll += w;
sum += texture2D(ssaoTexture, coord).r * w;
}
gl_FragColor = vec4(vec3(sum / weightAll), 1.0);
}
@end
`},function(te,X,S){"use strict";var K=S(9),y=S(4),L=S(5),A=S(6),s=S(14),x=S(7),c=S(10),l=S(43),f=S(165);x.a.import(f.a);function n(o){o=o||{},this._ssrPass=new s.a({fragment:x.a.source("ecgl.ssr.main"),clearColor:[0,0,0,0]}),this._blurPass1=new s.a({fragment:x.a.source("ecgl.ssr.blur"),clearColor:[0,0,0,0]}),this._blurPass2=new s.a({fragment:x.a.source("ecgl.ssr.blur"),clearColor:[0,0,0,0]}),this._ssrPass.setUniform("gBufferTexture1",o.normalTexture),this._ssrPass.setUniform("gBufferTexture2",o.depthTexture),this._blurPass1.setUniform("gBufferTexture1",o.normalTexture),this._blurPass1.setUniform("gBufferTexture2",o.depthTexture),this._blurPass2.setUniform("gBufferTexture1",o.normalTexture),this._blurPass2.setUniform("gBufferTexture2",o.depthTexture),this._blurPass2.material.define("fragment","VERTICAL"),this._blurPass2.material.define("fragment","BLEND"),this._texture1=new L.a({type:A.a.HALF_FLOAT}),this._texture2=new L.a({type:A.a.HALF_FLOAT}),this._texture3=new L.a({type:A.a.HALF_FLOAT}),this._frameBuffer=new c.a({depthBuffer:!1})}n.prototype.update=function(o,d,m,_){var h=o.getWidth(),g=o.getHeight(),r=o.getDevicePixelRatio(),a=this._texture1,p=this._texture2,E=this._texture3;p.width=h/2,p.height=g/2,a.width=h,a.height=g,E.width=h*r,E.height=g*r;var b=this._frameBuffer,w=this._ssrPass,R=this._blurPass1,O=this._blurPass2,z=new K.a;K.a.transpose(z,d.worldTransform),w.setUniform("sourceTexture",m),w.setUniform("projection",d.projectionMatrix.array),w.setUniform("projectionInv",d.invProjectionMatrix.array),w.setUniform("viewInverseTranspose",z.array),w.setUniform("nearZ",d.near),w.setUniform("jitterOffset",_/30),R.setUniform("textureSize",[h/2,g/2]),O.setUniform("textureSize",[h,g]),O.setUniform("sourceTexture",m),R.setUniform("projection",d.projectionMatrix.array),O.setUniform("projection",d.projectionMatrix.array),b.attach(a),b.bind(o),w.render(o),b.attach(p),R.setUniform("texture",a),R.render(o),b.attach(E),O.setUniform("texture",p),O.render(o),b.unbind(o)},n.prototype.getTargetTexture=function(){return this._texture3},n.prototype.setParameter=function(o,d){o==="maxIteration"?this._ssrPass.material.define("fragment","MAX_ITERATION",d):this._ssrPass.setUniform(o,d)},n.prototype.setSSAOTexture=function(o){var d=this._blurPass2;o?(d.material.enableTexture("ssaoTex"),d.material.set("ssaoTex",o)):d.material.disableTexture("ssaoTex")},n.prototype.dispose=function(o){this._texture1.dispose(o),this._texture2.dispose(o),this._texture3.dispose(o),this._frameBuffer.dispose(o)},X.a=n},function(te,X,S){"use strict";X.a=`@export ecgl.ssr.main
#define MAX_ITERATION 20;
uniform sampler2D sourceTexture;
uniform sampler2D gBufferTexture1;
uniform sampler2D gBufferTexture2;
uniform mat4 projection;
uniform mat4 projectionInv;
uniform mat4 viewInverseTranspose;
uniform float maxRayDistance: 50;
uniform float pixelStride: 16;
uniform float pixelStrideZCutoff: 50;
uniform float screenEdgeFadeStart: 0.9;
uniform float eyeFadeStart : 0.2; uniform float eyeFadeEnd: 0.8;
uniform float minGlossiness: 0.2; uniform float zThicknessThreshold: 10;
uniform float nearZ;
uniform vec2 viewportSize : VIEWPORT_SIZE;
uniform float jitterOffset: 0;
varying vec2 v_Texcoord;
#ifdef DEPTH_DECODE
@import clay.util.decode_float
#endif
float fetchDepth(sampler2D depthTexture, vec2 uv)
{
vec4 depthTexel = texture2D(depthTexture, uv);
return depthTexel.r * 2.0 - 1.0;
}
float linearDepth(float depth)
{
if (projection[3][3] == 0.0) {
return projection[3][2] / (depth * projection[2][3] - projection[2][2]);
}
else {
return (depth - projection[3][2]) / projection[2][2];
}
}
bool rayIntersectDepth(float rayZNear, float rayZFar, vec2 hitPixel)
{
if (rayZFar > rayZNear)
{
float t = rayZFar; rayZFar = rayZNear; rayZNear = t;
}
float cameraZ = linearDepth(fetchDepth(gBufferTexture2, hitPixel));
return rayZFar <= cameraZ && rayZNear >= cameraZ - zThicknessThreshold;
}
bool traceScreenSpaceRay(
vec3 rayOrigin, vec3 rayDir, float jitter,
out vec2 hitPixel, out vec3 hitPoint, out float iterationCount
)
{
float rayLength = ((rayOrigin.z + rayDir.z * maxRayDistance) > -nearZ)
? (-nearZ - rayOrigin.z) / rayDir.z : maxRayDistance;
vec3 rayEnd = rayOrigin + rayDir * rayLength;
vec4 H0 = projection * vec4(rayOrigin, 1.0);
vec4 H1 = projection * vec4(rayEnd, 1.0);
float k0 = 1.0 / H0.w, k1 = 1.0 / H1.w;
vec3 Q0 = rayOrigin * k0, Q1 = rayEnd * k1;
vec2 P0 = (H0.xy * k0 * 0.5 + 0.5) * viewportSize;
vec2 P1 = (H1.xy * k1 * 0.5 + 0.5) * viewportSize;
P1 += dot(P1 - P0, P1 - P0) < 0.0001 ? 0.01 : 0.0;
vec2 delta = P1 - P0;
bool permute = false;
if (abs(delta.x) < abs(delta.y)) {
permute = true;
delta = delta.yx;
P0 = P0.yx;
P1 = P1.yx;
}
float stepDir = sign(delta.x);
float invdx = stepDir / delta.x;
vec3 dQ = (Q1 - Q0) * invdx;
float dk = (k1 - k0) * invdx;
vec2 dP = vec2(stepDir, delta.y * invdx);
float strideScaler = 1.0 - min(1.0, -rayOrigin.z / pixelStrideZCutoff);
float pixStride = 1.0 + strideScaler * pixelStride;
dP *= pixStride; dQ *= pixStride; dk *= pixStride;
vec4 pqk = vec4(P0, Q0.z, k0);
vec4 dPQK = vec4(dP, dQ.z, dk);
pqk += dPQK * jitter;
float rayZFar = (dPQK.z * 0.5 + pqk.z) / (dPQK.w * 0.5 + pqk.w);
float rayZNear;
bool intersect = false;
vec2 texelSize = 1.0 / viewportSize;
iterationCount = 0.0;
for (int i = 0; i < MAX_ITERATION; i++)
{
pqk += dPQK;
rayZNear = rayZFar;
rayZFar = (dPQK.z * 0.5 + pqk.z) / (dPQK.w * 0.5 + pqk.w);
hitPixel = permute ? pqk.yx : pqk.xy;
hitPixel *= texelSize;
intersect = rayIntersectDepth(rayZNear, rayZFar, hitPixel);
iterationCount += 1.0;
if (intersect) {
break;
}
}
Q0.xy += dQ.xy * iterationCount;
Q0.z = pqk.z;
hitPoint = Q0 / pqk.w;
return intersect;
}
float calculateAlpha(
float iterationCount, float reflectivity,
vec2 hitPixel, vec3 hitPoint, float dist, vec3 rayDir
)
{
float alpha = clamp(reflectivity, 0.0, 1.0);
alpha *= 1.0 - (iterationCount / float(MAX_ITERATION));
vec2 hitPixelNDC = hitPixel * 2.0 - 1.0;
float maxDimension = min(1.0, max(abs(hitPixelNDC.x), abs(hitPixelNDC.y)));
alpha *= 1.0 - max(0.0, maxDimension - screenEdgeFadeStart) / (1.0 - screenEdgeFadeStart);
float _eyeFadeStart = eyeFadeStart;
float _eyeFadeEnd = eyeFadeEnd;
if (_eyeFadeStart > _eyeFadeEnd) {
float tmp = _eyeFadeEnd;
_eyeFadeEnd = _eyeFadeStart;
_eyeFadeStart = tmp;
}
float eyeDir = clamp(rayDir.z, _eyeFadeStart, _eyeFadeEnd);
alpha *= 1.0 - (eyeDir - _eyeFadeStart) / (_eyeFadeEnd - _eyeFadeStart);
alpha *= 1.0 - clamp(dist / maxRayDistance, 0.0, 1.0);
return alpha;
}
@import clay.util.rand
@import clay.util.rgbm
void main()
{
vec4 normalAndGloss = texture2D(gBufferTexture1, v_Texcoord);
if (dot(normalAndGloss.rgb, vec3(1.0)) == 0.0) {
discard;
}
float g = normalAndGloss.a;
if (g <= minGlossiness) {
discard;
}
float reflectivity = (g - minGlossiness) / (1.0 - minGlossiness);
vec3 N = normalAndGloss.rgb * 2.0 - 1.0;
N = normalize((viewInverseTranspose * vec4(N, 0.0)).xyz);
vec4 projectedPos = vec4(v_Texcoord * 2.0 - 1.0, fetchDepth(gBufferTexture2, v_Texcoord), 1.0);
vec4 pos = projectionInv * projectedPos;
vec3 rayOrigin = pos.xyz / pos.w;
vec3 rayDir = normalize(reflect(normalize(rayOrigin), N));
vec2 hitPixel;
vec3 hitPoint;
float iterationCount;
vec2 uv2 = v_Texcoord * viewportSize;
float jitter = rand(fract(v_Texcoord + jitterOffset));
bool intersect = traceScreenSpaceRay(rayOrigin, rayDir, jitter, hitPixel, hitPoint, iterationCount);
float dist = distance(rayOrigin, hitPoint);
float alpha = calculateAlpha(iterationCount, reflectivity, hitPixel, hitPoint, dist, rayDir) * float(intersect);
vec3 hitNormal = texture2D(gBufferTexture1, hitPixel).rgb * 2.0 - 1.0;
hitNormal = normalize((viewInverseTranspose * vec4(hitNormal, 0.0)).xyz);
if (dot(hitNormal, rayDir) >= 0.0) {
discard;
}
if (!intersect) {
discard;
}
vec4 color = decodeHDR(texture2D(sourceTexture, hitPixel));
gl_FragColor = encodeHDR(vec4(color.rgb * alpha, color.a));
}
@end
@export ecgl.ssr.blur
uniform sampler2D texture;
uniform sampler2D gBufferTexture1;
uniform sampler2D gBufferTexture2;
uniform mat4 projection;
uniform float depthRange : 0.05;
varying vec2 v_Texcoord;
uniform vec2 textureSize;
uniform float blurSize : 4.0;
#ifdef BLEND
#ifdef SSAOTEX_ENABLED
uniform sampler2D ssaoTex;
#endif
uniform sampler2D sourceTexture;
#endif
float getLinearDepth(vec2 coord)
{
float depth = texture2D(gBufferTexture2, coord).r * 2.0 - 1.0;
return projection[3][2] / (depth * projection[2][3] - projection[2][2]);
}
@import clay.util.rgbm
void main()
{
@import clay.compositor.kernel.gaussian_9
vec4 centerNTexel = texture2D(gBufferTexture1, v_Texcoord);
float g = centerNTexel.a;
float maxBlurSize = clamp(1.0 - g + 0.1, 0.0, 1.0) * blurSize;
#ifdef VERTICAL
vec2 off = vec2(0.0, maxBlurSize / textureSize.y);
#else
vec2 off = vec2(maxBlurSize / textureSize.x, 0.0);
#endif
vec2 coord = v_Texcoord;
vec4 sum = vec4(0.0);
float weightAll = 0.0;
vec3 cN = centerNTexel.rgb * 2.0 - 1.0;
float cD = getLinearDepth(v_Texcoord);
for (int i = 0; i < 9; i++) {
vec2 coord = clamp((float(i) - 4.0) * off + v_Texcoord, vec2(0.0), vec2(1.0));
float w = gaussianKernel[i]
* clamp(dot(cN, texture2D(gBufferTexture1, coord).rgb * 2.0 - 1.0), 0.0, 1.0);
float d = getLinearDepth(coord);
w *= (1.0 - smoothstep(abs(cD - d) / depthRange, 0.0, 1.0));
weightAll += w;
sum += decodeHDR(texture2D(texture, coord)) * w;
}
#ifdef BLEND
float aoFactor = 1.0;
#ifdef SSAOTEX_ENABLED
aoFactor = texture2D(ssaoTex, v_Texcoord).r;
#endif
gl_FragColor = encodeHDR(
sum / weightAll * aoFactor + decodeHDR(texture2D(sourceTexture, v_Texcoord))
);
#else
gl_FragColor = encodeHDR(sum / weightAll);
#endif
}
@end`},function(te,X,S){"use strict";X.a=[0,0,-.321585265978,-.154972575841,.458126042375,.188473391593,.842080129861,.527766490688,.147304551086,-.659453822776,-.331943915203,-.940619700594,.0479226680259,.54812163202,.701581552186,-.709825561388,-.295436780218,.940589268233,-.901489676764,.237713156085,.973570876096,-.109899459384,-.866792314779,-.451805525005,.330975007087,.800048655954,-.344275183665,.381779221166,-.386139432542,-.437418421534,-.576478634965,-.0148463392551,.385798197415,-.262426961053,-.666302061145,.682427250835,-.628010632582,-.732836215494,.10163141741,-.987658134403,.711995289051,-.320024291314,.0296005138058,.950296523438,.0130612307608,-.351024443122,-.879596633704,-.10478487883,.435712737232,.504254490347,.779203817497,.206477676721,.388264289969,-.896736162545,-.153106280781,-.629203242522,-.245517550697,.657969239148,.126830499058,.26862328493,-.634888119007,-.302301223431,.617074219636,.779817204925]},function(te,X,S){"use strict";var K=S(5),y=S(6),L=S(7),A=S(10),s=S(17),x=S(14),c=S(54),l=S(168);L.a.import(l.a);function f(d,m,_,h,g){var r=d.gl;m.setUniform(r,"1i",_,g),r.activeTexture(r.TEXTURE0+g),h.isRenderable()?h.bind(d):h.unbind(d)}function n(d,m,_,h,g){var r,a,p,E,b=d.gl;return function(w,R,O){if(!(E&&E.material===w.material)){var z=w.material,B=w.__program,P=z.get("roughness");P==null&&(P=1);var F=z.get("normalMap")||m,k=z.get("roughnessMap"),U=z.get("bumpMap"),G=z.get("uvRepeat"),C=z.get("uvOffset"),I=z.get("detailUvRepeat"),H=z.get("detailUvOffset"),$=!!U&&z.isTextureEnabled("bumpMap"),q=!!k&&z.isTextureEnabled("roughnessMap"),se=z.isDefined("fragment","DOUBLE_SIDED");U=U||_,k=k||h,O!==R?(R.set("normalMap",F),R.set("bumpMap",U),R.set("roughnessMap",k),R.set("useBumpMap",$),R.set("useRoughnessMap",q),R.set("doubleSide",se),G!=null&&R.set("uvRepeat",G),C!=null&&R.set("uvOffset",C),I!=null&&R.set("detailUvRepeat",I),H!=null&&R.set("detailUvOffset",H),R.set("roughness",P)):(B.setUniform(b,"1f","roughness",P),r!==F&&f(d,B,"normalMap",F,0),a!==U&&U&&f(d,B,"bumpMap",U,1),p!==k&&k&&f(d,B,"roughnessMap",k,2),G!=null&&B.setUniform(b,"2f","uvRepeat",G),C!=null&&B.setUniform(b,"2f","uvOffset",C),I!=null&&B.setUniform(b,"2f","detailUvRepeat",I),H!=null&&B.setUniform(b,"2f","detailUvOffset",H),B.setUniform(b,"1i","useBumpMap",+$),B.setUniform(b,"1i","useRoughnessMap",+q),B.setUniform(b,"1i","doubleSide",+se)),r=F,a=U,p=k,E=w}}}function o(d){d=d||{},this._depthTex=new K.a({format:y.a.DEPTH_COMPONENT,type:y.a.UNSIGNED_INT}),this._normalTex=new K.a({type:y.a.HALF_FLOAT}),this._framebuffer=new A.a,this._framebuffer.attach(this._normalTex),this._framebuffer.attach(this._depthTex,A.a.DEPTH_ATTACHMENT),this._normalMaterial=new s.a({shader:new L.a(L.a.source("ecgl.normal.vertex"),L.a.source("ecgl.normal.fragment"))}),this._normalMaterial.enableTexture(["normalMap","bumpMap","roughnessMap"]),this._defaultNormalMap=c.a.createBlank("#000"),this._defaultBumpMap=c.a.createBlank("#000"),this._defaultRoughessMap=c.a.createBlank("#000"),this._debugPass=new x.a({fragment:L.a.source("clay.compositor.output")}),this._debugPass.setUniform("texture",this._normalTex),this._debugPass.material.undefine("fragment","OUTPUT_ALPHA")}o.prototype.getDepthTexture=function(){return this._depthTex},o.prototype.getNormalTexture=function(){return this._normalTex},o.prototype.update=function(d,m,_){var h=d.getWidth(),g=d.getHeight(),r=this._depthTex,a=this._normalTex,p=this._normalMaterial;r.width=h,r.height=g,a.width=h,a.height=g;var E=m.opaqueList;this._framebuffer.bind(d),d.gl.clearColor(0,0,0,0),d.gl.clear(d.gl.COLOR_BUFFER_BIT|d.gl.DEPTH_BUFFER_BIT),d.gl.disable(d.gl.BLEND),d.renderPass(E,_,{getMaterial:function(){return p},ifRender:function(b){return b.renderNormal},beforeRender:n(d,this._defaultNormalMap,this._defaultBumpMap,this._defaultRoughessMap,this._normalMaterial),sort:d.opaqueSortCompare}),this._framebuffer.unbind(d)},o.prototype.renderDebug=function(d){this._debugPass.render(d)},o.prototype.dispose=function(d){this._depthTex.dispose(d),this._normalTex.dispose(d)},X.a=o},function(te,X,S){"use strict";X.a=`@export ecgl.normal.vertex
@import ecgl.common.transformUniforms
@import ecgl.common.uv.header
@import ecgl.common.attributes
varying vec3 v_Normal;
varying vec3 v_WorldPosition;
@import ecgl.common.normalMap.vertexHeader
@import ecgl.common.vertexAnimation.header
void main()
{
@import ecgl.common.vertexAnimation.main
@import ecgl.common.uv.main
v_Normal = normalize((worldInverseTranspose * vec4(normal, 0.0)).xyz);
v_WorldPosition = (world * vec4(pos, 1.0)).xyz;
@import ecgl.common.normalMap.vertexMain
gl_Position = worldViewProjection * vec4(pos, 1.0);
}
@end
@export ecgl.normal.fragment
#define ROUGHNESS_CHANEL 0
uniform bool useBumpMap;
uniform bool useRoughnessMap;
uniform bool doubleSide;
uniform float roughness;
@import ecgl.common.uv.fragmentHeader
varying vec3 v_Normal;
varying vec3 v_WorldPosition;
uniform mat4 viewInverse : VIEWINVERSE;
@import ecgl.common.normalMap.fragmentHeader
@import ecgl.common.bumpMap.header
uniform sampler2D roughnessMap;
void main()
{
vec3 N = v_Normal;
bool flipNormal = false;
if (doubleSide) {
vec3 eyePos = viewInverse[3].xyz;
vec3 V = normalize(eyePos - v_WorldPosition);
if (dot(N, V) < 0.0) {
flipNormal = true;
}
}
@import ecgl.common.normalMap.fragmentMain
if (useBumpMap) {
N = bumpNormal(v_WorldPosition, v_Normal, N);
}
float g = 1.0 - roughness;
if (useRoughnessMap) {
float g2 = 1.0 - texture2D(roughnessMap, v_DetailTexcoord)[ROUGHNESS_CHANEL];
g = clamp(g2 + (g - 0.5) * 2.0, 0.0, 1.0);
}
if (flipNormal) {
N = -N;
}
gl_FragColor.rgb = (N.xyz + 1.0) * 0.5;
gl_FragColor.a = g;
}
@end`},function(te,X,S){"use strict";var K=S(9),y=S(4),L=S(5),A=S(6),s=S(14),x=S(7),c=S(10);function l(f){f=f||{},this._edgePass=new s.a({fragment:x.a.source("ecgl.edge")}),this._edgePass.setUniform("normalTexture",f.normalTexture),this._edgePass.setUniform("depthTexture",f.depthTexture),this._targetTexture=new L.a({type:A.a.HALF_FLOAT}),this._frameBuffer=new c.a,this._frameBuffer.attach(this._targetTexture)}l.prototype.update=function(f,n,o,d){var m=f.getWidth(),_=f.getHeight(),h=this._targetTexture;h.width=m,h.height=_;var g=this._frameBuffer;g.bind(f),this._edgePass.setUniform("projectionInv",n.invProjectionMatrix.array),this._edgePass.setUniform("textureSize",[m,_]),this._edgePass.setUniform("texture",o),this._edgePass.render(f),g.unbind(f)},l.prototype.getTargetTexture=function(){return this._targetTexture},l.prototype.setParameter=function(f,n){this._edgePass.setUniform(f,n)},l.prototype.dispose=function(f){this._targetTexture.dispose(f),this._frameBuffer.dispose(f)},X.a=l},function(te,X,S){"use strict";X.a={type:"compositor",nodes:[{name:"source",type:"texture",outputs:{color:{}}},{name:"source_half",shader:"#source(clay.compositor.downsample)",inputs:{texture:"source"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 2)",height:"expr(height * 1.0 / 2)",type:"HALF_FLOAT"}}},parameters:{textureSize:"expr( [width * 1.0, height * 1.0] )"}},{name:"bright",shader:"#source(clay.compositor.bright)",inputs:{texture:"source_half"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 2)",height:"expr(height * 1.0 / 2)",type:"HALF_FLOAT"}}},parameters:{threshold:2,scale:4,textureSize:"expr([width * 1.0 / 2, height / 2])"}},{name:"bright_downsample_4",shader:"#source(clay.compositor.downsample)",inputs:{texture:"bright"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 4)",height:"expr(height * 1.0 / 4)",type:"HALF_FLOAT"}}},parameters:{textureSize:"expr( [width * 1.0 / 2, height / 2] )"}},{name:"bright_downsample_8",shader:"#source(clay.compositor.downsample)",inputs:{texture:"bright_downsample_4"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 8)",height:"expr(height * 1.0 / 8)",type:"HALF_FLOAT"}}},parameters:{textureSize:"expr( [width * 1.0 / 4, height / 4] )"}},{name:"bright_downsample_16",shader:"#source(clay.compositor.downsample)",inputs:{texture:"bright_downsample_8"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 16)",height:"expr(height * 1.0 / 16)",type:"HALF_FLOAT"}}},parameters:{textureSize:"expr( [width * 1.0 / 8, height / 8] )"}},{name:"bright_downsample_32",shader:"#source(clay.compositor.downsample)",inputs:{texture:"bright_downsample_16"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 32)",height:"expr(height * 1.0 / 32)",type:"HALF_FLOAT"}}},parameters:{textureSize:"expr( [width * 1.0 / 16, height / 16] )"}},{name:"bright_upsample_16_blur_h",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_downsample_32"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 16)",height:"expr(height * 1.0 / 16)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:0,textureSize:"expr( [width * 1.0 / 32, height / 32] )"}},{name:"bright_upsample_16_blur_v",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_upsample_16_blur_h"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 16)",height:"expr(height * 1.0 / 16)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:1,textureSize:"expr( [width * 1.0 / 16, height * 1.0 / 16] )"}},{name:"bright_upsample_8_blur_h",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_downsample_16"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 8)",height:"expr(height * 1.0 / 8)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:0,textureSize:"expr( [width * 1.0 / 16, height * 1.0 / 16] )"}},{name:"bright_upsample_8_blur_v",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_upsample_8_blur_h"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 8)",height:"expr(height * 1.0 / 8)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:1,textureSize:"expr( [width * 1.0 / 8, height * 1.0 / 8] )"}},{name:"bright_upsample_8_blend",shader:"#source(clay.compositor.blend)",inputs:{texture1:"bright_upsample_8_blur_v",texture2:"bright_upsample_16_blur_v"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 8)",height:"expr(height * 1.0 / 8)",type:"HALF_FLOAT"}}},parameters:{weight1:.3,weight2:.7}},{name:"bright_upsample_4_blur_h",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_downsample_8"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 4)",height:"expr(height * 1.0 / 4)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:0,textureSize:"expr( [width * 1.0 / 8, height * 1.0 / 8] )"}},{name:"bright_upsample_4_blur_v",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_upsample_4_blur_h"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 4)",height:"expr(height * 1.0 / 4)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:1,textureSize:"expr( [width * 1.0 / 4, height * 1.0 / 4] )"}},{name:"bright_upsample_4_blend",shader:"#source(clay.compositor.blend)",inputs:{texture1:"bright_upsample_4_blur_v",texture2:"bright_upsample_8_blend"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 4)",height:"expr(height * 1.0 / 4)",type:"HALF_FLOAT"}}},parameters:{weight1:.3,weight2:.7}},{name:"bright_upsample_2_blur_h",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_downsample_4"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 2)",height:"expr(height * 1.0 / 2)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:0,textureSize:"expr( [width * 1.0 / 4, height * 1.0 / 4] )"}},{name:"bright_upsample_2_blur_v",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_upsample_2_blur_h"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 2)",height:"expr(height * 1.0 / 2)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:1,textureSize:"expr( [width * 1.0 / 2, height * 1.0 / 2] )"}},{name:"bright_upsample_2_blend",shader:"#source(clay.compositor.blend)",inputs:{texture1:"bright_upsample_2_blur_v",texture2:"bright_upsample_4_blend"},outputs:{color:{parameters:{width:"expr(width * 1.0 / 2)",height:"expr(height * 1.0 / 2)",type:"HALF_FLOAT"}}},parameters:{weight1:.3,weight2:.7}},{name:"bright_upsample_full_blur_h",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright"},outputs:{color:{parameters:{width:"expr(width * 1.0)",height:"expr(height * 1.0)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:0,textureSize:"expr( [width * 1.0 / 2, height * 1.0 / 2] )"}},{name:"bright_upsample_full_blur_v",shader:"#source(clay.compositor.gaussian_blur)",inputs:{texture:"bright_upsample_full_blur_h"},outputs:{color:{parameters:{width:"expr(width * 1.0)",height:"expr(height * 1.0)",type:"HALF_FLOAT"}}},parameters:{blurSize:1,blurDir:1,textureSize:"expr( [width * 1.0, height * 1.0] )"}},{name:"bloom_composite",shader:"#source(clay.compositor.blend)",inputs:{texture1:"bright_upsample_full_blur_v",texture2:"bright_upsample_2_blend"},outputs:{color:{parameters:{width:"expr(width * 1.0)",height:"expr(height * 1.0)",type:"HALF_FLOAT"}}},parameters:{weight1:.3,weight2:.7}},{name:"coc",shader:"#source(ecgl.dof.coc)",outputs:{color:{parameters:{minFilter:"NEAREST",magFilter:"NEAREST",width:"expr(width * 1.0)",height:"expr(height * 1.0)"}}},parameters:{focalDist:50,focalRange:30}},{name:"dof_far_blur",shader:"#source(ecgl.dof.diskBlur)",inputs:{texture:"source",coc:"coc"},outputs:{color:{parameters:{width:"expr(width * 1.0)",height:"expr(height * 1.0)",type:"HALF_FLOAT"}}},parameters:{textureSize:"expr( [width * 1.0, height * 1.0] )"}},{name:"dof_near_blur",shader:"#source(ecgl.dof.diskBlur)",inputs:{texture:"source",coc:"coc"},outputs:{color:{parameters:{width:"expr(width * 1.0)",height:"expr(height * 1.0)",type:"HALF_FLOAT"}}},parameters:{textureSize:"expr( [width * 1.0, height * 1.0] )"},defines:{BLUR_NEARFIELD:null}},{name:"dof_coc_blur",shader:"#source(ecgl.dof.diskBlur)",inputs:{texture:"coc"},outputs:{color:{parameters:{minFilter:"NEAREST",magFilter:"NEAREST",width:"expr(width * 1.0)",height:"expr(height * 1.0)"}}},parameters:{textureSize:"expr( [width * 1.0, height * 1.0] )"},defines:{BLUR_COC:null}},{name:"dof_composite",shader:"#source(ecgl.dof.composite)",inputs:{original:"source",blurred:"dof_far_blur",nearfield:"dof_near_blur",coc:"coc",nearcoc:"dof_coc_blur"},outputs:{color:{parameters:{width:"expr(width * 1.0)",height:"expr(height * 1.0)",type:"HALF_FLOAT"}}}},{name:"composite",shader:"#source(clay.compositor.hdr.composite)",inputs:{texture:"source",bloom:"bloom_composite"},defines:{}},{name:"FXAA",shader:"#source(clay.compositor.fxaa)",inputs:{texture:"composite"}}]}},function(te,X,S){"use strict";X.a=`@export clay.compositor.kernel.gaussian_9
float gaussianKernel[9];
gaussianKernel[0] = 0.07;
gaussianKernel[1] = 0.09;
gaussianKernel[2] = 0.12;
gaussianKernel[3] = 0.14;
gaussianKernel[4] = 0.16;
gaussianKernel[5] = 0.14;
gaussianKernel[6] = 0.12;
gaussianKernel[7] = 0.09;
gaussianKernel[8] = 0.07;
@end
@export clay.compositor.kernel.gaussian_13
float gaussianKernel[13];
gaussianKernel[0] = 0.02;
gaussianKernel[1] = 0.03;
gaussianKernel[2] = 0.06;
gaussianKernel[3] = 0.08;
gaussianKernel[4] = 0.11;
gaussianKernel[5] = 0.13;
gaussianKernel[6] = 0.14;
gaussianKernel[7] = 0.13;
gaussianKernel[8] = 0.11;
gaussianKernel[9] = 0.08;
gaussianKernel[10] = 0.06;
gaussianKernel[11] = 0.03;
gaussianKernel[12] = 0.02;
@end
@export clay.compositor.gaussian_blur
#define SHADER_NAME gaussian_blur
uniform sampler2D texture;varying vec2 v_Texcoord;
uniform float blurSize : 2.0;
uniform vec2 textureSize : [512.0, 512.0];
uniform float blurDir : 0.0;
@import clay.util.rgbm
@import clay.util.clamp_sample
void main (void)
{
@import clay.compositor.kernel.gaussian_9
vec2 off = blurSize / textureSize;
off *= vec2(1.0 - blurDir, blurDir);
vec4 sum = vec4(0.0);
float weightAll = 0.0;
for (int i = 0; i < 9; i++) {
float w = gaussianKernel[i];
vec4 texel = decodeHDR(clampSample(texture, v_Texcoord + float(i - 4) * off));
sum += texel * w;
weightAll += w;
}
gl_FragColor = encodeHDR(sum / max(weightAll, 0.01));
}
@end
`},function(te,X,S){"use strict";X.a=`
@export clay.compositor.lut
varying vec2 v_Texcoord;
uniform sampler2D texture;
uniform sampler2D lookup;
void main()
{
vec4 tex = texture2D(texture, v_Texcoord);
float blueColor = tex.b * 63.0;
vec2 quad1;
quad1.y = floor(floor(blueColor) / 8.0);
quad1.x = floor(blueColor) - (quad1.y * 8.0);
vec2 quad2;
quad2.y = floor(ceil(blueColor) / 8.0);
quad2.x = ceil(blueColor) - (quad2.y * 8.0);
vec2 texPos1;
texPos1.x = (quad1.x * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * tex.r);
texPos1.y = (quad1.y * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * tex.g);
vec2 texPos2;
texPos2.x = (quad2.x * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * tex.r);
texPos2.y = (quad2.y * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * tex.g);
vec4 newColor1 = texture2D(lookup, texPos1);
vec4 newColor2 = texture2D(lookup, texPos2);
vec4 newColor = mix(newColor1, newColor2, fract(blueColor));
gl_FragColor = vec4(newColor.rgb, tex.w);
}
@end`},function(te,X,S){"use strict";X.a=`@export clay.compositor.output
#define OUTPUT_ALPHA
varying vec2 v_Texcoord;
uniform sampler2D texture;
@import clay.util.rgbm
void main()
{
vec4 tex = decodeHDR(texture2D(texture, v_Texcoord));
gl_FragColor.rgb = tex.rgb;
#ifdef OUTPUT_ALPHA
gl_FragColor.a = tex.a;
#else
gl_FragColor.a = 1.0;
#endif
gl_FragColor = encodeHDR(gl_FragColor);
#ifdef PREMULTIPLY_ALPHA
gl_FragColor.rgb *= gl_FragColor.a;
#endif
}
@end`},function(te,X,S){"use strict";X.a=`@export clay.compositor.bright
uniform sampler2D texture;
uniform float threshold : 1;
uniform float scale : 1.0;
uniform vec2 textureSize: [512, 512];
varying vec2 v_Texcoord;
const vec3 lumWeight = vec3(0.2125, 0.7154, 0.0721);
@import clay.util.rgbm
vec4 median(vec4 a, vec4 b, vec4 c)
{
return a + b + c - min(min(a, b), c) - max(max(a, b), c);
}
void main()
{
vec4 texel = decodeHDR(texture2D(texture, v_Texcoord));
#ifdef ANTI_FLICKER
vec3 d = 1.0 / textureSize.xyx * vec3(1.0, 1.0, 0.0);
vec4 s1 = decodeHDR(texture2D(texture, v_Texcoord - d.xz));
vec4 s2 = decodeHDR(texture2D(texture, v_Texcoord + d.xz));
vec4 s3 = decodeHDR(texture2D(texture, v_Texcoord - d.zy));
vec4 s4 = decodeHDR(texture2D(texture, v_Texcoord + d.zy));
texel = median(median(texel, s1, s2), s3, s4);
#endif
float lum = dot(texel.rgb , lumWeight);
vec4 color;
if (lum > threshold && texel.a > 0.0)
{
color = vec4(texel.rgb * scale, texel.a * scale);
}
else
{
color = vec4(0.0);
}
gl_FragColor = encodeHDR(color);
}
@end
`},function(te,X,S){"use strict";X.a=`@export clay.compositor.downsample
uniform sampler2D texture;
uniform vec2 textureSize : [512, 512];
varying vec2 v_Texcoord;
@import clay.util.rgbm
float brightness(vec3 c)
{
return max(max(c.r, c.g), c.b);
}
@import clay.util.clamp_sample
void main()
{
vec4 d = vec4(-1.0, -1.0, 1.0, 1.0) / textureSize.xyxy;
#ifdef ANTI_FLICKER
vec3 s1 = decodeHDR(clampSample(texture, v_Texcoord + d.xy)).rgb;
vec3 s2 = decodeHDR(clampSample(texture, v_Texcoord + d.zy)).rgb;
vec3 s3 = decodeHDR(clampSample(texture, v_Texcoord + d.xw)).rgb;
vec3 s4 = decodeHDR(clampSample(texture, v_Texcoord + d.zw)).rgb;
float s1w = 1.0 / (brightness(s1) + 1.0);
float s2w = 1.0 / (brightness(s2) + 1.0);
float s3w = 1.0 / (brightness(s3) + 1.0);
float s4w = 1.0 / (brightness(s4) + 1.0);
float oneDivideSum = 1.0 / (s1w + s2w + s3w + s4w);
vec4 color = vec4(
(s1 * s1w + s2 * s2w + s3 * s3w + s4 * s4w) * oneDivideSum,
1.0
);
#else
vec4 color = decodeHDR(clampSample(texture, v_Texcoord + d.xy));
color += decodeHDR(clampSample(texture, v_Texcoord + d.zy));
color += decodeHDR(clampSample(texture, v_Texcoord + d.xw));
color += decodeHDR(clampSample(texture, v_Texcoord + d.zw));
color *= 0.25;
#endif
gl_FragColor = encodeHDR(color);
}
@end`},function(te,X,S){"use strict";X.a=`
@export clay.compositor.upsample
#define HIGH_QUALITY
uniform sampler2D texture;
uniform vec2 textureSize : [512, 512];
uniform float sampleScale: 0.5;
varying vec2 v_Texcoord;
@import clay.util.rgbm
@import clay.util.clamp_sample
void main()
{
#ifdef HIGH_QUALITY
vec4 d = vec4(1.0, 1.0, -1.0, 0.0) / textureSize.xyxy * sampleScale;
vec4 s;
s = decodeHDR(clampSample(texture, v_Texcoord - d.xy));
s += decodeHDR(clampSample(texture, v_Texcoord - d.wy)) * 2.0;
s += decodeHDR(clampSample(texture, v_Texcoord - d.zy));
s += decodeHDR(clampSample(texture, v_Texcoord + d.zw)) * 2.0;
s += decodeHDR(clampSample(texture, v_Texcoord )) * 4.0;
s += decodeHDR(clampSample(texture, v_Texcoord + d.xw)) * 2.0;
s += decodeHDR(clampSample(texture, v_Texcoord + d.zy));
s += decodeHDR(clampSample(texture, v_Texcoord + d.wy)) * 2.0;
s += decodeHDR(clampSample(texture, v_Texcoord + d.xy));
gl_FragColor = encodeHDR(s / 16.0);
#else
vec4 d = vec4(-1.0, -1.0, +1.0, +1.0) / textureSize.xyxy;
vec4 s;
s = decodeHDR(clampSample(texture, v_Texcoord + d.xy));
s += decodeHDR(clampSample(texture, v_Texcoord + d.zy));
s += decodeHDR(clampSample(texture, v_Texcoord + d.xw));
s += decodeHDR(clampSample(texture, v_Texcoord + d.zw));
gl_FragColor = encodeHDR(s / 4.0);
#endif
}
@end`},function(te,X,S){"use strict";X.a=`@export clay.compositor.hdr.composite
uniform sampler2D texture;
#ifdef BLOOM_ENABLED
uniform sampler2D bloom;
#endif
#ifdef LENSFLARE_ENABLED
uniform sampler2D lensflare;
uniform sampler2D lensdirt;
#endif
#ifdef LUM_ENABLED
uniform sampler2D lum;
#endif
#ifdef LUT_ENABLED
uniform sampler2D lut;
#endif
#ifdef COLOR_CORRECTION
uniform float brightness : 0.0;
uniform float contrast : 1.0;
uniform float saturation : 1.0;
#endif
#ifdef VIGNETTE
uniform float vignetteDarkness: 1.0;
uniform float vignetteOffset: 1.0;
#endif
uniform float exposure : 1.0;
uniform float bloomIntensity : 0.25;
uniform float lensflareIntensity : 1;
varying vec2 v_Texcoord;
@import clay.util.srgb
vec3 ACESToneMapping(vec3 color)
{
const float A = 2.51;
const float B = 0.03;
const float C = 2.43;
const float D = 0.59;
const float E = 0.14;
return (color * (A * color + B)) / (color * (C * color + D) + E);
}
float eyeAdaption(float fLum)
{
return mix(0.2, fLum, 0.5);
}
#ifdef LUT_ENABLED
vec3 lutTransform(vec3 color) {
float blueColor = color.b * 63.0;
vec2 quad1;
quad1.y = floor(floor(blueColor) / 8.0);
quad1.x = floor(blueColor) - (quad1.y * 8.0);
vec2 quad2;
quad2.y = floor(ceil(blueColor) / 8.0);
quad2.x = ceil(blueColor) - (quad2.y * 8.0);
vec2 texPos1;
texPos1.x = (quad1.x * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * color.r);
texPos1.y = (quad1.y * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * color.g);
vec2 texPos2;
texPos2.x = (quad2.x * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * color.r);
texPos2.y = (quad2.y * 0.125) + 0.5/512.0 + ((0.125 - 1.0/512.0) * color.g);
vec4 newColor1 = texture2D(lut, texPos1);
vec4 newColor2 = texture2D(lut, texPos2);
vec4 newColor = mix(newColor1, newColor2, fract(blueColor));
return newColor.rgb;
}
#endif
@import clay.util.rgbm
void main()
{
vec4 texel = vec4(0.0);
vec4 originalTexel = vec4(0.0);
#ifdef TEXTURE_ENABLED
texel = decodeHDR(texture2D(texture, v_Texcoord));
originalTexel = texel;
#endif
#ifdef BLOOM_ENABLED
vec4 bloomTexel = decodeHDR(texture2D(bloom, v_Texcoord));
texel.rgb += bloomTexel.rgb * bloomIntensity;
texel.a += bloomTexel.a * bloomIntensity;
#endif
#ifdef LENSFLARE_ENABLED
texel += decodeHDR(texture2D(lensflare, v_Texcoord)) * texture2D(lensdirt, v_Texcoord) * lensflareIntensity;
#endif
texel.a = min(texel.a, 1.0);
#ifdef LUM_ENABLED
float fLum = texture2D(lum, vec2(0.5, 0.5)).r;
float adaptedLumDest = 3.0 / (max(0.1, 1.0 + 10.0*eyeAdaption(fLum)));
float exposureBias = adaptedLumDest * exposure;
#else
float exposureBias = exposure;
#endif
texel.rgb *= exposureBias;
texel.rgb = ACESToneMapping(texel.rgb);
texel = linearTosRGB(texel);
#ifdef LUT_ENABLED
texel.rgb = lutTransform(clamp(texel.rgb,vec3(0.0),vec3(1.0)));
#endif
#ifdef COLOR_CORRECTION
texel.rgb = clamp(texel.rgb + vec3(brightness), 0.0, 1.0);
texel.rgb = clamp((texel.rgb - vec3(0.5))*contrast+vec3(0.5), 0.0, 1.0);
float lum = dot(texel.rgb, vec3(0.2125, 0.7154, 0.0721));
texel.rgb = mix(vec3(lum), texel.rgb, saturation);
#endif
#ifdef VIGNETTE
vec2 uv = (v_Texcoord - vec2(0.5)) * vec2(vignetteOffset);
texel.rgb = mix(texel.rgb, vec3(1.0 - vignetteDarkness), dot(uv, uv));
#endif
gl_FragColor = encodeHDR(texel);
#ifdef DEBUG
#if DEBUG == 1
gl_FragColor = encodeHDR(decodeHDR(texture2D(texture, v_Texcoord)));
#elif DEBUG == 2
gl_FragColor = encodeHDR(decodeHDR(texture2D(bloom, v_Texcoord)) * bloomIntensity);
#elif DEBUG == 3
gl_FragColor = encodeHDR(decodeHDR(texture2D(lensflare, v_Texcoord) * lensflareIntensity));
#endif
#endif
if (originalTexel.a <= 0.01 && gl_FragColor.a > 1e-5) {
gl_FragColor.a = dot(gl_FragColor.rgb, vec3(0.2125, 0.7154, 0.0721));
}
#ifdef PREMULTIPLY_ALPHA
gl_FragColor.rgb *= gl_FragColor.a;
#endif
}
@end`},function(te,X,S){"use strict";X.a=`@export clay.compositor.blend
#define SHADER_NAME blend
#ifdef TEXTURE1_ENABLED
uniform sampler2D texture1;
uniform float weight1 : 1.0;
#endif
#ifdef TEXTURE2_ENABLED
uniform sampler2D texture2;
uniform float weight2 : 1.0;
#endif
#ifdef TEXTURE3_ENABLED
uniform sampler2D texture3;
uniform float weight3 : 1.0;
#endif
#ifdef TEXTURE4_ENABLED
uniform sampler2D texture4;
uniform float weight4 : 1.0;
#endif
#ifdef TEXTURE5_ENABLED
uniform sampler2D texture5;
uniform float weight5 : 1.0;
#endif
#ifdef TEXTURE6_ENABLED
uniform sampler2D texture6;
uniform float weight6 : 1.0;
#endif
varying vec2 v_Texcoord;
@import clay.util.rgbm
void main()
{
vec4 tex = vec4(0.0);
#ifdef TEXTURE1_ENABLED
tex += decodeHDR(texture2D(texture1, v_Texcoord)) * weight1;
#endif
#ifdef TEXTURE2_ENABLED
tex += decodeHDR(texture2D(texture2, v_Texcoord)) * weight2;
#endif
#ifdef TEXTURE3_ENABLED
tex += decodeHDR(texture2D(texture3, v_Texcoord)) * weight3;
#endif
#ifdef TEXTURE4_ENABLED
tex += decodeHDR(texture2D(texture4, v_Texcoord)) * weight4;
#endif
#ifdef TEXTURE5_ENABLED
tex += decodeHDR(texture2D(texture5, v_Texcoord)) * weight5;
#endif
#ifdef TEXTURE6_ENABLED
tex += decodeHDR(texture2D(texture6, v_Texcoord)) * weight6;
#endif
gl_FragColor = encodeHDR(tex);
}
@end`},function(te,X,S){"use strict";X.a=`@export clay.compositor.fxaa
uniform sampler2D texture;
uniform vec4 viewport : VIEWPORT;
varying vec2 v_Texcoord;
#define FXAA_REDUCE_MIN (1.0/128.0)
#define FXAA_REDUCE_MUL (1.0/8.0)
#define FXAA_SPAN_MAX 8.0
@import clay.util.rgbm
void main()
{
vec2 resolution = 1.0 / viewport.zw;
vec3 rgbNW = decodeHDR( texture2D( texture, ( gl_FragCoord.xy + vec2( -1.0, -1.0 ) ) * resolution ) ).xyz;
vec3 rgbNE = decodeHDR( texture2D( texture, ( gl_FragCoord.xy + vec2( 1.0, -1.0 ) ) * resolution ) ).xyz;
vec3 rgbSW = decodeHDR( texture2D( texture, ( gl_FragCoord.xy + vec2( -1.0, 1.0 ) ) * resolution ) ).xyz;
vec3 rgbSE = decodeHDR( texture2D( texture, ( gl_FragCoord.xy + vec2( 1.0, 1.0 ) ) * resolution ) ).xyz;
vec4 rgbaM = decodeHDR( texture2D( texture, gl_FragCoord.xy * resolution ) );
vec3 rgbM = rgbaM.xyz;
float opacity = rgbaM.w;
vec3 luma = vec3( 0.299, 0.587, 0.114 );
float lumaNW = dot( rgbNW, luma );
float lumaNE = dot( rgbNE, luma );
float lumaSW = dot( rgbSW, luma );
float lumaSE = dot( rgbSE, luma );
float lumaM = dot( rgbM, luma );
float lumaMin = min( lumaM, min( min( lumaNW, lumaNE ), min( lumaSW, lumaSE ) ) );
float lumaMax = max( lumaM, max( max( lumaNW, lumaNE) , max( lumaSW, lumaSE ) ) );
vec2 dir;
dir.x = -((lumaNW + lumaNE) - (lumaSW + lumaSE));
dir.y = ((lumaNW + lumaSW) - (lumaNE + lumaSE));
float dirReduce = max( ( lumaNW + lumaNE + lumaSW + lumaSE ) * ( 0.25 * FXAA_REDUCE_MUL ), FXAA_REDUCE_MIN );
float rcpDirMin = 1.0 / ( min( abs( dir.x ), abs( dir.y ) ) + dirReduce );
dir = min( vec2( FXAA_SPAN_MAX, FXAA_SPAN_MAX),
max( vec2(-FXAA_SPAN_MAX, -FXAA_SPAN_MAX),
dir * rcpDirMin)) * resolution;
vec3 rgbA = decodeHDR( texture2D( texture, gl_FragCoord.xy * resolution + dir * ( 1.0 / 3.0 - 0.5 ) ) ).xyz;
rgbA += decodeHDR( texture2D( texture, gl_FragCoord.xy * resolution + dir * ( 2.0 / 3.0 - 0.5 ) ) ).xyz;
rgbA *= 0.5;
vec3 rgbB = decodeHDR( texture2D( texture, gl_FragCoord.xy * resolution + dir * -0.5 ) ).xyz;
rgbB += decodeHDR( texture2D( texture, gl_FragCoord.xy * resolution + dir * 0.5 ) ).xyz;
rgbB *= 0.25;
rgbB += rgbA * 0.5;
float lumaB = dot( rgbB, luma );
if ( ( lumaB < lumaMin ) || ( lumaB > lumaMax ) )
{
gl_FragColor = vec4( rgbA, opacity );
}
else {
gl_FragColor = vec4( rgbB, opacity );
}
}
@end`},function(te,X,S){"use strict";X.a=`@export ecgl.dof.coc
uniform sampler2D depth;
uniform float zNear: 0.1;
uniform float zFar: 2000;
uniform float focalDistance: 3;
uniform float focalRange: 1;
uniform float focalLength: 30;
uniform float fstop: 2.8;
varying vec2 v_Texcoord;
@import clay.util.encode_float
void main()
{
float z = texture2D(depth, v_Texcoord).r * 2.0 - 1.0;
float dist = 2.0 * zNear * zFar / (zFar + zNear - z * (zFar - zNear));
float aperture = focalLength / fstop;
float coc;
float uppper = focalDistance + focalRange;
float lower = focalDistance - focalRange;
if (dist <= uppper && dist >= lower) {
coc = 0.5;
}
else {
float focalAdjusted = dist > uppper ? uppper : lower;
coc = abs(aperture * (focalLength * (dist - focalAdjusted)) / (dist * (focalAdjusted - focalLength)));
coc = clamp(coc, 0.0, 2.0) / 2.00001;
if (dist < lower) {
coc = -coc;
}
coc = coc * 0.5 + 0.5;
}
gl_FragColor = encodeFloat(coc);
}
@end
@export ecgl.dof.composite
#define DEBUG 0
uniform sampler2D original;
uniform sampler2D blurred;
uniform sampler2D nearfield;
uniform sampler2D coc;
uniform sampler2D nearcoc;
varying vec2 v_Texcoord;
@import clay.util.rgbm
@import clay.util.float
void main()
{
vec4 blurredColor = decodeHDR(texture2D(blurred, v_Texcoord));
vec4 originalColor = decodeHDR(texture2D(original, v_Texcoord));
float fCoc = decodeFloat(texture2D(coc, v_Texcoord));
fCoc = abs(fCoc * 2.0 - 1.0);
float weight = smoothstep(0.0, 1.0, fCoc);
#ifdef NEARFIELD_ENABLED
vec4 nearfieldColor = decodeHDR(texture2D(nearfield, v_Texcoord));
float fNearCoc = decodeFloat(texture2D(nearcoc, v_Texcoord));
fNearCoc = abs(fNearCoc * 2.0 - 1.0);
gl_FragColor = encodeHDR(
mix(
nearfieldColor, mix(originalColor, blurredColor, weight),
pow(1.0 - fNearCoc, 4.0)
)
);
#else
gl_FragColor = encodeHDR(mix(originalColor, blurredColor, weight));
#endif
}
@end
@export ecgl.dof.diskBlur
#define POISSON_KERNEL_SIZE 16;
uniform sampler2D texture;
uniform sampler2D coc;
varying vec2 v_Texcoord;
uniform float blurRadius : 10.0;
uniform vec2 textureSize : [512.0, 512.0];
uniform vec2 poissonKernel[POISSON_KERNEL_SIZE];
uniform float percent;
float nrand(const in vec2 n) {
return fract(sin(dot(n.xy ,vec2(12.9898,78.233))) * 43758.5453);
}
@import clay.util.rgbm
@import clay.util.float
void main()
{
vec2 offset = blurRadius / textureSize;
float rnd = 6.28318 * nrand(v_Texcoord + 0.07 * percent );
float cosa = cos(rnd);
float sina = sin(rnd);
vec4 basis = vec4(cosa, -sina, sina, cosa);
#if !defined(BLUR_NEARFIELD) && !defined(BLUR_COC)
offset *= abs(decodeFloat(texture2D(coc, v_Texcoord)) * 2.0 - 1.0);
#endif
#ifdef BLUR_COC
float cocSum = 0.0;
#else
vec4 color = vec4(0.0);
#endif
float weightSum = 0.0;
for (int i = 0; i < POISSON_KERNEL_SIZE; i++) {
vec2 ofs = poissonKernel[i];
ofs = vec2(dot(ofs, basis.xy), dot(ofs, basis.zw));
vec2 uv = v_Texcoord + ofs * offset;
vec4 texel = texture2D(texture, uv);
float w = 1.0;
#ifdef BLUR_COC
float fCoc = decodeFloat(texel) * 2.0 - 1.0;
cocSum += clamp(fCoc, -1.0, 0.0) * w;
#else
texel = decodeHDR(texel);
#if !defined(BLUR_NEARFIELD)
float fCoc = decodeFloat(texture2D(coc, uv)) * 2.0 - 1.0;
w *= abs(fCoc);
#endif
color += texel * w;
#endif
weightSum += w;
}
#ifdef BLUR_COC
gl_FragColor = encodeFloat(clamp(cocSum / weightSum, -1.0, 0.0) * 0.5 + 0.5);
#else
color /= weightSum;
gl_FragColor = encodeHDR(color);
#endif
}
@end`},function(te,X,S){"use strict";X.a=`@export ecgl.edge
uniform sampler2D texture;
uniform sampler2D normalTexture;
uniform sampler2D depthTexture;
uniform mat4 projectionInv;
uniform vec2 textureSize;
uniform vec4 edgeColor: [0,0,0,0.8];
varying vec2 v_Texcoord;
vec3 packColor(vec2 coord) {
float z = texture2D(depthTexture, coord).r * 2.0 - 1.0;
vec4 p = vec4(v_Texcoord * 2.0 - 1.0, z, 1.0);
vec4 p4 = projectionInv * p;
return vec3(
texture2D(normalTexture, coord).rg,
-p4.z / p4.w / 5.0
);
}
void main() {
vec2 cc = v_Texcoord;
vec3 center = packColor(cc);
float size = clamp(1.0 - (center.z - 10.0) / 100.0, 0.0, 1.0) * 0.5;
float dx = size / textureSize.x;
float dy = size / textureSize.y;
vec2 coord;
vec3 topLeft = packColor(cc+vec2(-dx, -dy));
vec3 top = packColor(cc+vec2(0.0, -dy));
vec3 topRight = packColor(cc+vec2(dx, -dy));
vec3 left = packColor(cc+vec2(-dx, 0.0));
vec3 right = packColor(cc+vec2(dx, 0.0));
vec3 bottomLeft = packColor(cc+vec2(-dx, dy));
vec3 bottom = packColor(cc+vec2(0.0, dy));
vec3 bottomRight = packColor(cc+vec2(dx, dy));
vec3 v = -topLeft-2.0*top-topRight+bottomLeft+2.0*bottom+bottomRight;
vec3 h = -bottomLeft-2.0*left-topLeft+bottomRight+2.0*right+topRight;
float edge = sqrt(dot(h, h) + dot(v, v));
edge = smoothstep(0.8, 1.0, edge);
gl_FragColor = mix(texture2D(texture, v_Texcoord), vec4(edgeColor.rgb, 1.0), edgeColor.a * edge);
}
@end`},function(te,X,S){"use strict";var K=S(43),y=S(14),L=S(10),A=S(5),s=S(7),x=S(9);function c(l){for(var f=[],n=0;n<30;n++)f.push([Object(K.a)(n,2),Object(K.a)(n,3)]);this._haltonSequence=f,this._frame=0,this._sourceTex=new A.a,this._sourceFb=new L.a,this._sourceFb.attach(this._sourceTex),this._prevFrameTex=new A.a,this._outputTex=new A.a;var o=this._blendPass=new y.a({fragment:s.a.source("clay.compositor.blend")});o.material.disableTexturesAll(),o.material.enableTexture(["texture1","texture2"]),this._blendFb=new L.a({depthBuffer:!1}),this._outputPass=new y.a({fragment:s.a.source("clay.compositor.output"),blendWithPrevious:!0}),this._outputPass.material.define("fragment","OUTPUT_ALPHA"),this._outputPass.material.blend=function(d){d.blendEquationSeparate(d.FUNC_ADD,d.FUNC_ADD),d.blendFuncSeparate(d.ONE,d.ONE_MINUS_SRC_ALPHA,d.ONE,d.ONE_MINUS_SRC_ALPHA)}}c.prototype={constructor:c,jitterProjection:function(l,f){var n=l.viewport,o=n.devicePixelRatio||l.getDevicePixelRatio(),d=n.width*o,m=n.height*o,_=this._haltonSequence[this._frame%this._haltonSequence.length],h=new x.a;h.array[12]=(_[0]*2-1)/d,h.array[13]=(_[1]*2-1)/m,x.a.mul(f.projectionMatrix,h,f.projectionMatrix),x.a.invert(f.invProjectionMatrix,f.projectionMatrix)},resetFrame:function(){this._frame=0},getFrame:function(){return this._frame},getSourceFrameBuffer:function(){return this._sourceFb},getOutputTexture:function(){return this._outputTex},resize:function(l,f){this._prevFrameTex.width=l,this._prevFrameTex.height=f,this._outputTex.width=l,this._outputTex.height=f,this._sourceTex.width=l,this._sourceTex.height=f,this._prevFrameTex.dirty(),this._outputTex.dirty(),this._sourceTex.dirty()},isFinished:function(){return this._frame>=this._haltonSequence.length},render:function(l,f,n){var o=this._blendPass;this._frame===0?(o.setUniform("weight1",0),o.setUniform("weight2",1)):(o.setUniform("weight1",.9),o.setUniform("weight2",.1)),o.setUniform("texture1",this._prevFrameTex),o.setUniform("texture2",f||this._sourceTex),this._blendFb.attach(this._outputTex),this._blendFb.bind(l),o.render(l),this._blendFb.unbind(l),n||(this._outputPass.setUniform("texture",this._outputTex),this._outputPass.render(l));var d=this._prevFrameTex;this._prevFrameTex=this._outputTex,this._outputTex=d,this._frame++},dispose:function(l){this._sourceFb.dispose(l),this._blendFb.dispose(l),this._prevFrameTex.dispose(l),this._outputTex.dispose(l),this._sourceTex.dispose(l),this._outputPass.dispose(l),this._blendPass.dispose(l)}},X.a=c},function(te,X,S){"use strict";var K=S(0),y=S.n(K),L=S(184),A=S(185),s=S(82);y.a.registerAction({type:"geo3DChangeCamera",event:"geo3dcamerachanged",update:"series:updateCamera"},function(x,c){c.eachComponent({mainType:"geo3D",query:x},function(l){l.setView(x)})})},function(te,X,S){"use strict";var K=S(0),y=S.n(K),L=S(38),A=S(31),s=S(32),x=S(26),c=S(80),l=y.a.extendComponentModel({type:"geo3D",layoutMode:"box",coordinateSystem:null,optionUpdated:function(){var n=this.option;n.regions=this.getFilledRegions(n.regions,n.map);var o=y.a.helper.completeDimensions(["value"],n.data,{encodeDef:this.get("encode"),dimsDef:this.get("dimensions")}),d=new y.a.List(o,this);d.initData(n.regions);var m={};d.each(function(_){var h=d.getName(_),g=d.getItemModel(_);m[h]=g}),this._regionModelMap=m,this._data=d},getData:function(){return this._data},getRegionModel:function(n){var o=this.getData().getName(n);return this._regionModelMap[o]||new y.a.Model(null,this)},getRegionPolygonCoords:function(n){var o=this.getData().getName(n),d=this.coordinateSystem.getRegion(o);return d?d.geometries:[]},getFormattedLabel:function(n,o){var d=this._data.getName(n),m=this.getRegionModel(d),_=m.get(o==="normal"?["label","formatter"]:["emphasis","label","formatter"]);_==null&&(_=m.get(["label","formatter"]));var h={name:d};if(typeof _=="function")return h.status=o,_(h);if(typeof _=="string"){var g=h.seriesName;return _.replace("{a}",g!=null?g:"")}else return d},defaultOption:{regions:[]}});y.a.util.merge(l.prototype,c.a),y.a.util.merge(l.prototype,L.a),y.a.util.merge(l.prototype,A.a),y.a.util.merge(l.prototype,s.a),y.a.util.merge(l.prototype,x.a);var f=l},function(te,X,S){"use strict";var K=S(59),y=S(0),L=S.n(y),A=S(2),s=S(39),x=S(34),c=L.a.extendComponentView({type:"geo3D",__ecgl__:!0,init:function(l,f){this._geo3DBuilder=new K.a(f),this.groupGL=new A.a.Node,this._lightRoot=new A.a.Node,this._sceneHelper=new x.a(this._lightRoot),this._sceneHelper.initLight(this._lightRoot),this._control=new s.a({zr:f.getZr()}),this._control.init()},render:function(l,f,n){this.groupGL.add(this._geo3DBuilder.rootNode);var o=l.coordinateSystem;if(!(!o||!o.viewGL)){o.viewGL.add(this._lightRoot),l.get("show")?o.viewGL.add(this.groupGL):o.viewGL.remove(this.groupGL);var d=this._control;d.setViewGL(o.viewGL);var m=l.getModel("viewControl");d.setFromViewControlModel(m,0),this._sceneHelper.setScene(o.viewGL.scene),this._sceneHelper.updateLight(l),o.viewGL.setPostEffect(l.getModel("postEffect"),n),o.viewGL.setTemporalSuperSampling(l.getModel("temporalSuperSampling")),this._geo3DBuilder.update(l,f,n,0,l.getData().count());var _=o.viewGL.isLinearSpace()?"define":"undefine";this._geo3DBuilder.rootNode.traverse(function(h){h.material&&h.material[_]("fragment","SRGB_DECODE")}),d.off("update"),d.on("update",function(){n.dispatchAction({type:"geo3DChangeCamera",alpha:d.getAlpha(),beta:d.getBeta(),distance:d.getDistance(),center:d.getCenter(),from:this.uid,geo3DId:l.id})})}},afterRender:function(l,f,n,o){var d=o.renderer;this._sceneHelper.updateAmbientCubemap(d,l,n),this._sceneHelper.updateSkybox(d,l,n)},dispose:function(){this._control.dispose()}})},function(te,X,S){"use strict";X.a=K;function K(U,G,C){C=C||2;var I=G&&G.length,H=I?G[0]*C:U.length,$=y(U,0,H,C,!0),q=[];if(!$)return q;var se,ue,me,Ee,Le,Fe,Ke;if(I&&($=f(U,G,$,C)),U.length>80*C){se=me=U[0],ue=Ee=U[1];for(var Te=C;Te<H;Te+=C)Le=U[Te],Fe=U[Te+1],Le<se&&(se=Le),Fe<ue&&(ue=Fe),Le>me&&(me=Le),Fe>Ee&&(Ee=Fe);Ke=Math.max(me-se,Ee-ue)}return A($,q,C,se,ue,Ke),q}function y(U,G,C,I,H){var $,q;if(H===k(U,G,C,I)>0)for($=G;$<C;$+=I)q=B($,U[$],U[$+1],q);else for($=C-I;$>=G;$-=I)q=B($,U[$],U[$+1],q);return q&&E(q,q.next)&&(P(q),q=q.next),q}function L(U,G){if(!U)return U;G||(G=U);var C=U,I;do if(I=!1,!C.steiner&&(E(C,C.next)||p(C.prev,C,C.next)===0)){if(P(C),C=G=C.prev,C===C.next)return null;I=!0}else C=C.next;while(I||C!==G);return G}function A(U,G,C,I,H,$,q){if(U){!q&&$&&m(U,I,H,$);for(var se=U,ue,me;U.prev!==U.next;){if(ue=U.prev,me=U.next,$?x(U,I,H,$):s(U)){G.push(ue.i/C),G.push(U.i/C),G.push(me.i/C),P(U),U=me.next,se=me.next;continue}if(U=me,U===se){q?q===1?(U=c(U,G,C),A(U,G,C,I,H,$,2)):q===2&&l(U,G,C,I,H,$):A(L(U),G,C,I,H,$,1);break}}}}function s(U){var G=U.prev,C=U,I=U.next;if(p(G,C,I)>=0)return!1;for(var H=U.next.next;H!==U.prev;){if(r(G.x,G.y,C.x,C.y,I.x,I.y,H.x,H.y)&&p(H.prev,H,H.next)>=0)return!1;H=H.next}return!0}function x(U,G,C,I){var H=U.prev,$=U,q=U.next;if(p(H,$,q)>=0)return!1;for(var se=H.x<$.x?H.x<q.x?H.x:q.x:$.x<q.x?$.x:q.x,ue=H.y<$.y?H.y<q.y?H.y:q.y:$.y<q.y?$.y:q.y,me=H.x>$.x?H.x>q.x?H.x:q.x:$.x>q.x?$.x:q.x,Ee=H.y>$.y?H.y>q.y?H.y:q.y:$.y>q.y?$.y:q.y,Le=h(se,ue,G,C,I),Fe=h(me,Ee,G,C,I),Ke=U.nextZ;Ke&&Ke.z<=Fe;){if(Ke!==U.prev&&Ke!==U.next&&r(H.x,H.y,$.x,$.y,q.x,q.y,Ke.x,Ke.y)&&p(Ke.prev,Ke,Ke.next)>=0)return!1;Ke=Ke.nextZ}for(Ke=U.prevZ;Ke&&Ke.z>=Le;){if(Ke!==U.prev&&Ke!==U.next&&r(H.x,H.y,$.x,$.y,q.x,q.y,Ke.x,Ke.y)&&p(Ke.prev,Ke,Ke.next)>=0)return!1;Ke=Ke.prevZ}return!0}function c(U,G,C){var I=U;do{var H=I.prev,$=I.next.next;!E(H,$)&&b(H,I,I.next,$)&&R(H,$)&&R($,H)&&(G.push(H.i/C),G.push(I.i/C),G.push($.i/C),P(I),P(I.next),I=U=$),I=I.next}while(I!==U);return I}function l(U,G,C,I,H,$){var q=U;do{for(var se=q.next.next;se!==q.prev;){if(q.i!==se.i&&a(q,se)){var ue=z(q,se);q=L(q,q.next),ue=L(ue,ue.next),A(q,G,C,I,H,$),A(ue,G,C,I,H,$);return}se=se.next}q=q.next}while(q!==U)}function f(U,G,C,I){var H=[],$,q,se,ue,me;for($=0,q=G.length;$<q;$++)se=G[$]*I,ue=$<q-1?G[$+1]*I:U.length,me=y(U,se,ue,I,!1),me===me.next&&(me.steiner=!0),H.push(g(me));for(H.sort(n),$=0;$<H.length;$++)o(H[$],C),C=L(C,C.next);return C}function n(U,G){return U.x-G.x}function o(U,G){if(G=d(U,G),G){var C=z(G,U);L(C,C.next)}}function d(U,G){var C=G,I=U.x,H=U.y,$=-1/0,q;do{if(H<=C.y&&H>=C.next.y&&C.next.y!==C.y){var se=C.x+(H-C.y)*(C.next.x-C.x)/(C.next.y-C.y);if(se<=I&&se>$){if($=se,se===I){if(H===C.y)return C;if(H===C.next.y)return C.next}q=C.x<C.next.x?C:C.next}}C=C.next}while(C!==G);if(!q)return null;if(I===$)return q.prev;var ue=q,me=q.x,Ee=q.y,Le=1/0,Fe;for(C=q.next;C!==ue;)I>=C.x&&C.x>=me&&I!==C.x&&r(H<Ee?I:$,H,me,Ee,H<Ee?$:I,H,C.x,C.y)&&(Fe=Math.abs(H-C.y)/(I-C.x),(Fe<Le||Fe===Le&&C.x>q.x)&&R(C,U)&&(q=C,Le=Fe)),C=C.next;return q}function m(U,G,C,I){var H=U;do H.z===null&&(H.z=h(H.x,H.y,G,C,I)),H.prevZ=H.prev,H.nextZ=H.next,H=H.next;while(H!==U);H.prevZ.nextZ=null,H.prevZ=null,_(H)}function _(U){var G,C,I,H,$,q,se,ue,me=1;do{for(C=U,U=null,$=null,q=0;C;){for(q++,I=C,se=0,G=0;G<me&&(se++,I=I.nextZ,!!I);G++);for(ue=me;se>0||ue>0&&I;)se!==0&&(ue===0||!I||C.z<=I.z)?(H=C,C=C.nextZ,se--):(H=I,I=I.nextZ,ue--),$?$.nextZ=H:U=H,H.prevZ=$,$=H;C=I}$.nextZ=null,me*=2}while(q>1);return U}function h(U,G,C,I,H){return U=32767*(U-C)/H,G=32767*(G-I)/H,U=(U|U<<8)&16711935,U=(U|U<<4)&252645135,U=(U|U<<2)&858993459,U=(U|U<<1)&1431655765,G=(G|G<<8)&16711935,G=(G|G<<4)&252645135,G=(G|G<<2)&858993459,G=(G|G<<1)&1431655765,U|G<<1}function g(U){var G=U,C=U;do G.x<C.x&&(C=G),G=G.next;while(G!==U);return C}function r(U,G,C,I,H,$,q,se){return(H-q)*(G-se)-(U-q)*($-se)>=0&&(U-q)*(I-se)-(C-q)*(G-se)>=0&&(C-q)*($-se)-(H-q)*(I-se)>=0}function a(U,G){return U.next.i!==G.i&&U.prev.i!==G.i&&!w(U,G)&&R(U,G)&&R(G,U)&&O(U,G)}function p(U,G,C){return(G.y-U.y)*(C.x-G.x)-(G.x-U.x)*(C.y-G.y)}function E(U,G){return U.x===G.x&&U.y===G.y}function b(U,G,C,I){return E(U,G)&&E(C,I)||E(U,I)&&E(C,G)?!0:p(U,G,C)>0!=p(U,G,I)>0&&p(C,I,U)>0!=p(C,I,G)>0}function w(U,G){var C=U;do{if(C.i!==U.i&&C.next.i!==U.i&&C.i!==G.i&&C.next.i!==G.i&&b(C,C.next,U,G))return!0;C=C.next}while(C!==U);return!1}function R(U,G){return p(U.prev,U,U.next)<0?p(U,G,U.next)>=0&&p(U,U.prev,G)>=0:p(U,G,U.prev)<0||p(U,U.next,G)<0}function O(U,G){var C=U,I=!1,H=(U.x+G.x)/2,$=(U.y+G.y)/2;do C.y>$!=C.next.y>$&&C.next.y!==C.y&&H<(C.next.x-C.x)*($-C.y)/(C.next.y-C.y)+C.x&&(I=!I),C=C.next;while(C!==U);return I}function z(U,G){var C=new F(U.i,U.x,U.y),I=new F(G.i,G.x,G.y),H=U.next,$=G.prev;return U.next=G,G.prev=U,C.next=H,H.prev=C,I.next=C,C.prev=I,$.next=I,I.prev=$,I}function B(U,G,C,I){var H=new F(U,G,C);return I?(H.next=I.next,H.prev=I,I.next.prev=H,I.next=H):(H.prev=H,H.next=H),H}function P(U){U.next.prev=U.prev,U.prev.next=U.next,U.prevZ&&(U.prevZ.nextZ=U.nextZ),U.nextZ&&(U.nextZ.prevZ=U.prevZ)}function F(U,G,C){this.i=U,this.x=G,this.y=C,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}K.deviation=function(U,G,C,I){var H=G&&G.length,$=H?G[0]*C:U.length,q=Math.abs(k(U,0,$,C));if(H)for(var se=0,ue=G.length;se<ue;se++){var me=G[se]*C,Ee=se<ue-1?G[se+1]*C:U.length;q-=Math.abs(k(U,me,Ee,C))}var Le=0;for(se=0;se<I.length;se+=3){var Fe=I[se]*C,Ke=I[se+1]*C,Te=I[se+2]*C;Le+=Math.abs((U[Fe]-U[Te])*(U[Ke+1]-U[Fe+1])-(U[Fe]-U[Ke])*(U[Te+1]-U[Fe+1]))}return q===0&&Le===0?0:Math.abs((Le-q)/q)};function k(U,G,C,I){for(var H=0,$=G,q=C-I;$<C;$+=I)H+=(U[q]-U[$])*(U[$+1]+U[q+1]),q=$;return H}},function(te,X,S){var K=S(12),y={\u5357\u6D77\u8BF8\u5C9B:[32,80],\u5E7F\u4E1C:[0,-10],\u9999\u6E2F:[10,5],\u6FB3\u95E8:[-10,10],\u5929\u6D25:[5,5]};function L(A){K.each(A.regions,function(s){var x=y[s.name];if(x){var c=s.center;c[0]+=x[0]/10.5,c[1]+=-x[1]/(10.5/.75)}})}te.exports=L},function(te,X,S){var K=S(12),y={Russia:[100,60],"United States":[-99,38],"United States of America":[-99,38]};function L(A){K.each(A.regions,function(s){var x=y[s.name];if(x){var c=s.center;c[0]=x[0],c[1]=x[1]}})}te.exports=L},function(te,X,S){"use strict";var K=S(0),y=S.n(K),L=S(190),A=S(191),s=S(193);y.a.registerAction({type:"globeChangeCamera",event:"globecamerachanged",update:"series:updateCamera"},function(x,c){c.eachComponent({mainType:"globe",query:x},function(l){l.setView(x)})}),y.a.registerAction({type:"globeUpdateDisplacment",event:"globedisplacementupdated",update:"update"},function(x,c){})},function(te,X,S){"use strict";var K=S(0),y=S.n(K),L=S(38),A=S(31),s=S(32),x=S(26);function c(n,o){n.id=n.id||n.name||o+""}var l=y.a.extendComponentModel({type:"globe",layoutMode:"box",coordinateSystem:null,init:function(){l.superApply(this,"init",arguments),y.a.util.each(this.option.layers,function(n,o){y.a.util.merge(n,this.defaultLayerOption),c(n,o)},this)},mergeOption:function(n){var o=this.option.layers;this.option.layers=null,l.superApply(this,"mergeOption",arguments);function d(g){return y.a.util.reduce(g,function(r,a,p){return c(a,p),r[a.id]=a,r},{})}if(o&&o.length){var m=d(n.layers),_=d(o);for(var h in m)_[h]?y.a.util.merge(_[h],m[h],!0):o.push(n.layers[h]);this.option.layers=o}y.a.util.each(this.option.layers,function(g){y.a.util.merge(g,this.defaultLayerOption)},this)},optionUpdated:function(){this.updateDisplacementHash()},defaultLayerOption:{show:!0,type:"overlay"},defaultOption:{show:!0,zlevel:-10,left:0,top:0,width:"100%",height:"100%",environment:"auto",baseColor:"#fff",baseTexture:"",heightTexture:"",displacementTexture:"",displacementScale:0,displacementQuality:"medium",globeRadius:100,globeOuterRadius:150,shading:"lambert",light:{main:{time:""}},viewControl:{autoRotate:!0,panSensitivity:0,targetCoord:null},layers:[]},setDisplacementData:function(n,o,d){this.displacementData=n,this.displacementWidth=o,this.displacementHeight=d},getDisplacementTexture:function(){return this.get("displacementTexture")||this.get("heightTexture")},getDisplacemenScale:function(){var n=this.getDisplacementTexture(),o=this.get("displacementScale");return(!n||n==="none")&&(o=0),o},hasDisplacement:function(){return this.getDisplacemenScale()>0},_displacementChanged:!0,_displacementScale:0,updateDisplacementHash:function(){var n=this.getDisplacementTexture(),o=this.getDisplacemenScale();this._displacementChanged=this._displacementTexture!==n||this._displacementScale!==o,this._displacementTexture=n,this._displacementScale=o},isDisplacementChanged:function(){return this._displacementChanged}});y.a.util.merge(l.prototype,L.a),y.a.util.merge(l.prototype,A.a),y.a.util.merge(l.prototype,s.a),y.a.util.merge(l.prototype,x.a);var f=l},function(te,X,S){"use strict";var K=S(0),y=S.n(K),L=S(2),A=S(39),s=S(34),x=S(192),c=S(3),l=y.a.extendComponentView({type:"globe",__ecgl__:!0,_displacementScale:0,init:function(f,n){this.groupGL=new L.a.Node,this._sphereGeometry=new L.a.SphereGeometry({widthSegments:200,heightSegments:100,dynamic:!0}),this._overlayGeometry=new L.a.SphereGeometry({widthSegments:80,heightSegments:40}),this._planeGeometry=new L.a.PlaneGeometry,this._earthMesh=new L.a.Mesh({renderNormal:!0}),this._lightRoot=new L.a.Node,this._sceneHelper=new s.a,this._sceneHelper.initLight(this._lightRoot),this.groupGL.add(this._earthMesh),this._control=new A.a({zr:n.getZr()}),this._control.init(),this._layerMeshes={}},render:function(f,n,o){var d=f.coordinateSystem,m=f.get("shading");d.viewGL.add(this._lightRoot),f.get("show")?d.viewGL.add(this.groupGL):d.viewGL.remove(this.groupGL),this._sceneHelper.setScene(d.viewGL.scene),d.viewGL.setPostEffect(f.getModel("postEffect"),o),d.viewGL.setTemporalSuperSampling(f.getModel("temporalSuperSampling"));var _=this._earthMesh;_.geometry=this._sphereGeometry;var h="ecgl."+m;(!_.material||_.material.shader.name!==h)&&(_.material=L.a.createMaterial(h)),L.a.setMaterialFromModel(m,_.material,f,o),["roughnessMap","metalnessMap","detailMap","normalMap"].forEach(function(p){var E=_.material.get(p);E&&(E.flipY=!1)}),_.material.set("color",L.a.parseColor(f.get("baseColor")));var g=d.radius*.99;_.scale.set(g,g,g);var r=_.material.setTextureImage("diffuseMap",f.get("baseTexture"),o,{flipY:!1,anisotropic:8});r&&r.surface&&r.surface.attachToMesh(_);var a=_.material.setTextureImage("bumpMap",f.get("heightTexture"),o,{flipY:!1,anisotropic:8});a&&a.surface&&a.surface.attachToMesh(_),_.material[f.get("postEffect.enable")?"define":"undefine"]("fragment","SRGB_DECODE"),this._updateLight(f,o),this._displaceVertices(f,o),this._updateViewControl(f,o),this._updateLayers(f,o)},afterRender:function(f,n,o,d){var m=d.renderer;this._sceneHelper.updateAmbientCubemap(m,f,o),this._sceneHelper.updateSkybox(m,f,o)},_updateLayers:function(f,n){var o=f.coordinateSystem,d=f.get("layers"),m=o.radius,_=[],h=[],g=[],r=[];y.a.util.each(d,function(w){var R=new y.a.Model(w),O=R.get("type"),z=L.a.loadTexture(R.get("texture"),n,{flipY:!1,anisotropic:8});if(z.surface&&z.surface.attachToMesh(this._earthMesh),O==="blend"){var B=R.get("blendTo"),P=c.a.firstNotNull(R.get("intensity"),1);B==="emission"?(g.push(z),r.push(P)):(_.push(z),h.push(P))}else{var F=R.get("id"),k=this._layerMeshes[F];k||(k=this._layerMeshes[F]=new L.a.Mesh({geometry:this._overlayGeometry,castShadow:!1,ignorePicking:!0}));var U=R.get("shading");U==="lambert"?(k.material=k.__lambertMaterial||new L.a.Material({autoUpdateTextureStatus:!1,shader:L.a.createShader("ecgl.lambert"),transparent:!0,depthMask:!1}),k.__lambertMaterial=k.material):(k.material=k.__colorMaterial||new L.a.Material({autoUpdateTextureStatus:!1,shader:L.a.createShader("ecgl.color"),transparent:!0,depthMask:!1}),k.__colorMaterial=k.material),k.material.enableTexture("diffuseMap");var G=R.get("distance"),C=m+(G==null?o.radius/100:G);k.scale.set(C,C,C),m=C;var I=this._blankTexture||(this._blankTexture=L.a.createBlankTexture("rgba(255, 255, 255, 0)"));k.material.set("diffuseMap",I),L.a.loadTexture(R.get("texture"),n,{flipY:!1,anisotropic:8},function(H){H.surface&&H.surface.attachToMesh(k),k.material.set("diffuseMap",H),n.getZr().refresh()}),R.get("show")?this.groupGL.add(k):this.groupGL.remove(k)}},this);var a=this._earthMesh.material;a.define("fragment","LAYER_DIFFUSEMAP_COUNT",_.length),a.define("fragment","LAYER_EMISSIVEMAP_COUNT",g.length),a.set("layerDiffuseMap",_),a.set("layerDiffuseIntensity",h),a.set("layerEmissiveMap",g),a.set("layerEmissionIntensity",r);var p=f.getModel("debug.wireframe");if(p.get("show")){a.define("both","WIREFRAME_TRIANGLE");var E=L.a.parseColor(p.get("lineStyle.color")||"rgba(0,0,0,0.5)"),b=c.a.firstNotNull(p.get("lineStyle.width"),1);a.set("wireframeLineWidth",b),a.set("wireframeLineColor",E)}else a.undefine("both","WIREFRAME_TRIANGLE")},_updateViewControl:function(f,n){var o=f.coordinateSystem,d=f.getModel("viewControl"),m=o.viewGL.camera,_=this;function h(){return{type:"globeChangeCamera",alpha:g.getAlpha(),beta:g.getBeta(),distance:g.getDistance()-o.radius,center:g.getCenter(),from:_.uid,globeId:f.id}}var g=this._control;g.setViewGL(o.viewGL);var r=d.get("targetCoord"),a,p;r!=null&&(p=r[0]+90,a=r[1]),g.setFromViewControlModel(d,{baseDistance:o.radius,alpha:a,beta:p}),g.off("update"),g.on("update",function(){n.dispatchAction(h())})},_displaceVertices:function(f,n){var o=f.get("displacementQuality"),d=f.get("debug.wireframe.show"),m=f.coordinateSystem;if(!(!f.isDisplacementChanged()&&o===this._displacementQuality&&d===this._showDebugWireframe)){this._displacementQuality=o,this._showDebugWireframe=d;var _=this._sphereGeometry,h={low:100,medium:200,high:400,ultra:800}[o]||200,g=h/2;(_.widthSegments!==h||d)&&(_.widthSegments=h,_.heightSegments=g,_.build()),this._doDisplaceVertices(_,m),d&&_.generateBarycentric()}},_doDisplaceVertices:function(f,n){var o=f.attributes.position.value,d=f.attributes.texcoord0.value,m=f.__originalPosition;(!m||m.length!==o.length)&&(m=new Float32Array(o.length),m.set(o),f.__originalPosition=m);for(var _=n.displacementWidth,h=n.displacementHeight,g=n.displacementData,r=0;r<f.vertexCount;r++){var a=r*3,p=r*2,E=m[a+1],b=m[a+2],w=m[a+3],R=d[p++],O=d[p++],z=Math.round(R*(_-1)),B=Math.round(O*(h-1)),P=B*_+z,F=g?g[P]:0;o[a+1]=E+E*F,o[a+2]=b+b*F,o[a+3]=w+w*F}f.generateVertexNormals(),f.dirty(),f.updateBoundingBox()},_updateLight:function(f,n){var o=this._earthMesh;this._sceneHelper.updateLight(f);var d=this._sceneHelper.mainLight,m=f.get("light.main.time")||new Date,_=x.a.getPosition(y.a.number.parseDate(m),0,0),h=Math.cos(_.altitude);d.position.y=-h*Math.cos(_.azimuth),d.position.x=Math.sin(_.altitude),d.position.z=h*Math.sin(_.azimuth),d.lookAt(o.getWorldPosition())},dispose:function(f,n){this.groupGL.removeAll(),this._control.dispose()}})},function(te,X,S){"use strict";var K=Math.PI,y=Math.sin,L=Math.cos,A=Math.tan,s=Math.asin,x=Math.atan2,c=K/180,l=1e3*60*60*24,f=2440588,n=2451545;function o(R){return R.valueOf()/l-.5+f}function d(R){return o(R)-n}var m=c*23.4397;function _(R,O){return x(y(R)*L(m)-A(O)*y(m),L(R))}function h(R,O){return s(y(O)*L(m)+L(O)*y(m)*y(R))}function g(R,O,z){return x(y(R),L(R)*y(O)-A(z)*L(O))}function r(R,O,z){return s(y(O)*y(z)+L(O)*L(z)*L(R))}function a(R,O){return c*(280.16+360.9856235*R)-O}function p(R){return c*(357.5291+.98560028*R)}function E(R){var O=c*(1.9148*y(R)+.02*y(2*R)+3e-4*y(3*R)),z=c*102.9372;return R+O+z+K}function b(R){var O=p(R),z=E(O);return{dec:h(z,0),ra:_(z,0)}}var w={};w.getPosition=function(R,O,z){var B=c*-z,P=c*O,F=d(R),k=b(F),U=a(F,B)-k.ra;return{azimuth:g(U,P,k.dec),altitude:r(U,P,k.dec)}},X.a=w},function(te,X,S){"use strict";var K=S(194),y=S(0),L=S.n(y),A=S(41),s=S.n(A),x=S(20),c=S(3),l=S(2);function f(_,h){var g=document.createElement("canvas"),r=g.getContext("2d"),a=_.width,p=_.height;g.width=a,g.height=p,r.drawImage(_,0,0,a,p);for(var E=r.getImageData(0,0,a,p).data,b=new Float32Array(E.length/4),w=0;w<E.length/4;w++){var R=E[w*4];b[w]=R/255*h}return{data:b,width:a,height:p}}function n(_,h){var g=_.getBoxLayoutParams(),r=s.a.getLayoutRect(g,{width:h.getWidth(),height:h.getHeight()});r.y=h.getHeight()-r.y-r.height,this.viewGL.setViewport(r.x,r.y,r.width,r.height,h.getDevicePixelRatio()),this.radius=_.get("globeRadius");var a=_.get("globeOuterRadius");this.altitudeAxis&&this.altitudeAxis.setExtent(0,a-this.radius)}function o(_,h){var g=[1/0,-1/0];if(_.eachSeries(function(a){if(a.coordinateSystem===this){var p=a.getData(),E=a.coordDimToDataDim("alt")[0];if(E){var b=p.getDataExtent(E,!0);g[0]=Math.min(g[0],b[0]),g[1]=Math.max(g[1],b[1])}}},this),g&&isFinite(g[1]-g[0])){var r=L.a.helper.createScale(g,{type:"value",min:"dataMin",max:"dataMax"});this.altitudeAxis=new L.a.Axis("altitude",r),this.resize(this.model,h)}}var d={dimensions:K.a.prototype.dimensions,create:function(_,h){var g=[];return _.eachComponent("globe",function(r){r.__viewGL=r.__viewGL||new x.a;var a=new K.a;a.viewGL=r.__viewGL,r.coordinateSystem=a,a.model=r,g.push(a),a.resize=n,a.resize(r,h),a.update=o}),_.eachSeries(function(r){if(r.get("coordinateSystem")==="globe"){var a=r.getReferringComponents("globe")[0];if(a||(a=_.getComponent("globe")),!a)throw new Error('globe "'+c.a.firstNotNull(r.get("globe3DIndex"),r.get("globe3DId"),0)+'" not found');var p=a.coordinateSystem;r.coordinateSystem=p}}),_.eachComponent("globe",function(r,a){var p=r.coordinateSystem,E=r.getDisplacementTexture(),b=r.getDisplacemenScale();if(r.isDisplacementChanged()){if(r.hasDisplacement()){var w=!0;l.a.loadTexture(E,h,function(R){var O=R.image,z=f(O,b);r.setDisplacementData(z.data,z.width,z.height),w||h.dispatchAction({type:"globeUpdateDisplacment"})}),w=!1}else p.setDisplacementData(null,0,0);p.setDisplacementData(r.displacementData,r.displacementWidth,r.displacementHeight)}}),g}};L.a.registerCoordinateSystem("globe",d);var m=d},function(te,X,S){"use strict";var K=S(1),y=S.n(K),L=y.a.vec3;function A(s){this.radius=s,this.viewGL=null,this.altitudeAxis,this.displacementData=null,this.displacementWidth,this.displacementHeight}A.prototype={constructor:A,dimensions:["lng","lat","alt"],type:"globe",containPoint:function(){},setDisplacementData:function(s,x,c){this.displacementData=s,this.displacementWidth=x,this.displacementHeight=c},_getDisplacementScale:function(s,x){var c=(s+180)/360*(this.displacementWidth-1),l=(90-x)/180*(this.displacementHeight-1),f=Math.round(c)+Math.round(l)*this.displacementWidth;return this.displacementData[f]},dataToPoint:function(s,x){var c=s[0],l=s[1],f=s[2]||0,n=this.radius;this.displacementData&&(n*=1+this._getDisplacementScale(c,l)),this.altitudeAxis&&(n+=this.altitudeAxis.dataToCoord(f)),c=c*Math.PI/180,l=l*Math.PI/180;var o=Math.cos(l)*n;return x=x||[],x[0]=-o*Math.cos(c+Math.PI),x[1]=Math.sin(l)*n,x[2]=o*Math.sin(c+Math.PI),x},pointToData:function(s,x){var c=s[0],l=s[1],f=s[2],n=L.len(s);c/=n,l/=n,f/=n;var o=Math.asin(l),d=Math.atan2(f,-c);d<0&&(d=Math.PI*2+d);var m=o*180/Math.PI,_=d*180/Math.PI-180;return x=x||[],x[0]=_,x[1]=m,x[2]=n-this.radius,this.altitudeAxis&&(x[2]=this.altitudeAxis.coordToData(x[2])),x}},X.a=A},function(te,X,S){"use strict";var K=S(0),y=S.n(K),L=S(196),A=S(198),s=S(199);y.a.registerAction({type:"mapbox3DChangeCamera",event:"mapbox3dcamerachanged",update:"mapbox3D:updateCamera"},function(x,c){c.eachComponent({mainType:"mapbox3D",query:x},function(l){l.setMapboxCameraOption(x)})})},function(te,X,S){"use strict";var K=S(197),y=S(0),L=S.n(y),A=S(3),s=S(2),x=S(20);function c(o,d){var m=d.getWidth(),_=d.getHeight(),h=d.getDevicePixelRatio();this.viewGL.setViewport(0,0,m,_,h),this.width=m,this.height=_,this.altitudeScale=o.get("altitudeScale"),this.boxHeight=o.get("boxHeight")}function l(o,d){if(this.model.get("boxHeight")!=="auto"){var m=[1/0,-1/0];o.eachSeries(function(_){if(_.coordinateSystem===this){var h=_.getData(),g=_.coordDimToDataDim("alt")[0];if(g){var r=h.getDataExtent(g,!0);m[0]=Math.min(m[0],r[0]),m[1]=Math.max(m[1],r[1])}}},this),m&&isFinite(m[1]-m[0])&&(this.altitudeExtent=m)}}var f={dimensions:K.a.prototype.dimensions,create:function(o,d){var m=[];return o.eachComponent("mapbox3D",function(_){var h=_.__viewGL;h||(h=_.__viewGL=new x.a,h.setRootNode(new s.a.Node));var g=new K.a;g.viewGL=_.__viewGL,g.resize=c,g.resize(_,d),m.push(g),_.coordinateSystem=g,g.model=_,g.setCameraOption(_.getMapboxCameraOption()),g.update=l}),o.eachSeries(function(_){if(_.get("coordinateSystem")==="mapbox3D"){var h=_.getReferringComponents("mapbox3D")[0];if(h||(h=o.getComponent("mapbox3D")),!h)throw new Error('mapbox3D "'+A.a.firstNotNull(_.get("mapbox3DIndex"),_.get("mapbox3DId"),0)+'" not found');_.coordinateSystem=h.coordinateSystem}}),m}};L.a.registerCoordinateSystem("mapbox3D",f);var n=f},function(te,X,S){"use strict";var K=S(1),y=S.n(K),L=y.a.mat4,A=512,s=.6435011087932844,x=Math.PI,c=1/10;function l(){this.width=0,this.height=0,this.altitudeScale=1,this.boxHeight="auto",this.altitudeExtent,this.bearing=0,this.pitch=0,this.center=[0,0],this._origin,this.zoom=0,this._initialZoom}l.prototype={constructor:l,type:"mapbox3D",dimensions:["lng","lat","alt"],containPoint:function(){},setCameraOption:function(f){this.bearing=f.bearing,this.pitch=f.pitch,this.center=f.center,this.zoom=f.zoom,this._origin||(this._origin=this.projectOnTileWithScale(this.center,A)),this._initialZoom==null&&(this._initialZoom=this.zoom),this.updateTransform()},updateTransform:function(){if(this.height){var f=.5/Math.tan(s/2)*this.height*c,n=Math.max(Math.min(this.pitch,60),0)/180*Math.PI,o=s/2,d=Math.PI/2+n,m=Math.sin(o)*f/Math.sin(Math.PI-d-o),_=Math.cos(Math.PI/2-n)*m+f,h=_*1.1,g=new Float64Array(16);L.perspective(g,s,this.width/this.height,1,h),this.viewGL.camera.projectionMatrix.setArray(g),this.viewGL.camera.decomposeProjectionMatrix();var g=L.identity(new Float64Array(16)),r=this.dataToPoint(this.center);L.scale(g,g,[1,-1,1]),L.translate(g,g,[0,0,-f]),L.rotateX(g,g,n),L.rotateZ(g,g,-this.bearing/180*Math.PI),L.translate(g,g,[-r[0]*this.getScale()*c,-r[1]*this.getScale()*c,0]),this.viewGL.camera.viewMatrix.array=g;var a=new Float64Array(16);L.invert(a,g),this.viewGL.camera.worldTransform.array=a,this.viewGL.camera.decomposeWorldTransform();var p=A*this.getScale(),E;if(this.altitudeExtent&&!isNaN(this.boxHeight)){var b=this.altitudeExtent[1]-this.altitudeExtent[0];E=this.boxHeight/b*this.getScale()/Math.pow(2,this._initialZoom)}else E=p/(2*Math.PI*6378e3*Math.abs(Math.cos(this.center[1]*(Math.PI/180))))*this.altitudeScale*c;this.viewGL.rootNode.scale.set(this.getScale()*c,this.getScale()*c,E)}},getScale:function(){return Math.pow(2,this.zoom)},projectOnTile:function(f,n){return this.projectOnTileWithScale(f,this.getScale()*A,n)},projectOnTileWithScale:function(f,n,o){var d=f[0],m=f[1],_=d*x/180,h=m*x/180,g=n*(_+x)/(2*x),r=n*(x-Math.log(Math.tan(x/4+h*.5)))/(2*x);return o=o||[],o[0]=g,o[1]=r,o},unprojectFromTile:function(f,n){return this.unprojectOnTileWithScale(f,this.getScale()*A,n)},unprojectOnTileWithScale:function(f,n,o){var d=f[0],m=f[1],_=d/n*(2*x)-x,h=2*(Math.atan(Math.exp(x-m/n*(2*x)))-x/4);return o=o||[],o[0]=_*180/x,o[1]=h*180/x,o},dataToPoint:function(f,n){return n=this.projectOnTileWithScale(f,A,n),n[0]-=this._origin[0],n[1]-=this._origin[1],n[2]=isNaN(f[2])?0:f[2],isNaN(f[2])||(n[2]=f[2],this.altitudeExtent&&(n[2]-=this.altitudeExtent[0])),n}},X.a=l},function(te,X,S){"use strict";var K=S(0),y=S.n(K),L=S(31),A=S(32),s=["zoom","center","pitch","bearing"],x=y.a.extendComponentModel({type:"mapbox3D",layoutMode:"box",coordinateSystem:null,defaultOption:{zlevel:-10,style:"mapbox://styles/mapbox/light-v9",center:[0,0],zoom:0,pitch:0,bearing:0,light:{main:{alpha:20,beta:30}},altitudeScale:1,boxHeight:"auto"},getMapboxCameraOption:function(){var l=this;return s.reduce(function(f,n){return f[n]=l.get(n),f},{})},setMapboxCameraOption:function(l){l!=null&&s.forEach(function(f){l[f]!=null&&(this.option[f]=l[f])},this)},getMapbox:function(){return this._mapbox},setMapbox:function(l){this._mapbox=l}});y.a.util.merge(x.prototype,L.a),y.a.util.merge(x.prototype,A.a);var c=x},function(te,X,S){"use strict";var K=S(0),y=S.n(K),L=S(200),A=S(34),s=S(2),x=S(201);s.a.Shader.import(x.a);var c=512,l=y.a.extendComponentView({type:"mapbox3D",__ecgl__:!0,init:function(f,n){var o=n.getZr();this._zrLayer=new L.a("mapbox3D",o),o.painter.insertLayer(-1e3,this._zrLayer),this._lightRoot=new s.a.Node,this._sceneHelper=new A.a(this._lightRoot),this._sceneHelper.initLight(this._lightRoot);var d=this._zrLayer.getMapbox(),m=this._dispatchInteractAction.bind(this,n,d);["zoom","rotate","drag","pitch","rotate","move"].forEach(function(_){d.on(_,m)}),this._groundMesh=new s.a.Mesh({geometry:new s.a.PlaneGeometry,material:new s.a.Material({shader:new s.a.Shader({vertex:s.a.Shader.source("ecgl.displayShadow.vertex"),fragment:s.a.Shader.source("ecgl.displayShadow.fragment")}),depthMask:!1}),renderOrder:-100,culling:!1,castShadow:!1,$ignorePicking:!0,renderNormal:!0})},render:function(f,n,o){var d=this._zrLayer.getMapbox(),m=f.get("style"),_=JSON.stringify(m);_!==this._oldStyleStr&&m&&d.setStyle(m),this._oldStyleStr=_,d.setCenter(f.get("center")),d.setZoom(f.get("zoom")),d.setPitch(f.get("pitch")),d.setBearing(f.get("bearing")),f.setMapbox(d);var h=f.coordinateSystem;h.viewGL.scene.add(this._lightRoot),h.viewGL.add(this._groundMesh),this._updateGroundMesh(),this._sceneHelper.setScene(h.viewGL.scene),this._sceneHelper.updateLight(f),h.viewGL.setPostEffect(f.getModel("postEffect"),o),h.viewGL.setTemporalSuperSampling(f.getModel("temporalSuperSampling")),this._mapbox3DModel=f},afterRender:function(f,n,o,d){var m=d.renderer;this._sceneHelper.updateAmbientCubemap(m,f,o),this._sceneHelper.updateSkybox(m,f,o),f.coordinateSystem.viewGL.scene.traverse(function(_){_.material&&(_.material.define("fragment","NORMAL_UP_AXIS",2),_.material.define("fragment","NORMAL_FRONT_AXIS",1))})},updateCamera:function(f,n,o,d){f.coordinateSystem.setCameraOption(d),this._updateGroundMesh(),o.getZr().refresh()},_dispatchInteractAction:function(f,n,o){f.dispatchAction({type:"mapbox3DChangeCamera",pitch:n.getPitch(),zoom:n.getZoom(),center:n.getCenter().toArray(),bearing:n.getBearing(),mapbox3DId:this._mapbox3DModel&&this._mapbox3DModel.id})},_updateGroundMesh:function(){if(this._mapbox3DModel){var f=this._mapbox3DModel.coordinateSystem,n=f.dataToPoint(f.center);this._groundMesh.position.set(n[0],n[1],-.001);var o=new s.a.Plane(new s.a.Vector3(0,0,1),0),d=f.viewGL.camera.castRay(new s.a.Vector2(-1,-1)),m=f.viewGL.camera.castRay(new s.a.Vector2(1,1)),_=d.intersectPlane(o),h=m.intersectPlane(o),g=_.dist(h)/f.viewGL.rootNode.scale.x;this._groundMesh.scale.set(g,g,1)}},dispose:function(f,n){n.getZr().delLayer(-1e3)}})},function(te,X,S){"use strict";function K(L,A){if(this.id=L,this.zr=A,this.dom=document.createElement("div"),this.dom.style.cssText="position:absolute;left:0;right:0;top:0;bottom:0;",!mapboxgl)throw new Error("Mapbox GL library must be included. See https://www.mapbox.com/mapbox-gl-js/api/");this._mapbox=new mapboxgl.Map({container:this.dom}),this._initEvents()}K.prototype.resize=function(){this._mapbox.resize()},K.prototype.getMapbox=function(){return this._mapbox},K.prototype.clear=function(){},K.prototype.refresh=function(){this._mapbox.resize()};var y=["mousedown","mouseup","click","dblclick","mousemove","mousewheel","wheel","touchstart","touchend","touchmove","touchcancel"];K.prototype._initEvents=function(){var L=this._mapbox.getCanvasContainer();this._handlers=this._handlers||{contextmenu:function(A){return A.preventDefault(),!1}},y.forEach(function(A){this._handlers[A]=function(s){var x={};for(var c in s)x[c]=s[c];x.bubbles=!1;var l=new s.constructor(s.type,x);L.dispatchEvent(l)},this.zr.dom.addEventListener(A,this._handlers[A])},this),this.zr.dom.addEventListener("contextmenu",this._handlers.contextmenu)},K.prototype.dispose=function(){y.forEach(function(L){this.zr.dom.removeEventListener(L,this._handlers[L])},this)},X.a=K},function(te,X,S){"use strict";X.a=`
@export ecgl.displayShadow.vertex
@import ecgl.common.transformUniforms
@import ecgl.common.uv.header
@import ecgl.common.attributes
varying vec3 v_WorldPosition;
varying vec3 v_Normal;
void main()
{
@import ecgl.common.uv.main
v_Normal = normalize((worldInverseTranspose * vec4(normal, 0.0)).xyz);
v_WorldPosition = (world * vec4(position, 1.0)).xyz;
gl_Position = worldViewProjection * vec4(position, 1.0);
}
@end
@export ecgl.displayShadow.fragment
@import ecgl.common.uv.fragmentHeader
varying vec3 v_Normal;
varying vec3 v_WorldPosition;
uniform float roughness: 0.2;
#ifdef DIRECTIONAL_LIGHT_COUNT
@import clay.header.directional_light
#endif
@import ecgl.common.ssaoMap.header
@import clay.plugin.compute_shadow_map
void main()
{
float shadow = 1.0;
@import ecgl.common.ssaoMap.main
#if defined(DIRECTIONAL_LIGHT_COUNT) && defined(DIRECTIONAL_LIGHT_SHADOWMAP_COUNT)
float shadowContribsDir[DIRECTIONAL_LIGHT_COUNT];
if(shadowEnabled)
{
computeShadowOfDirectionalLights(v_WorldPosition, shadowContribsDir);
}
for (int i = 0; i < DIRECTIONAL_LIGHT_COUNT; i++) {
shadow = min(shadow, shadowContribsDir[i] * 0.5 + 0.5);
}
#endif
shadow *= 0.5 + ao * 0.5;
shadow = clamp(shadow, 0.0, 1.0);
gl_FragColor = vec4(vec3(0.0), 1.0 - shadow);
}
@end`},function(te,X,S){"use strict";var K=S(0),y=S.n(K),L=S(203),A=S(206),s=S(208),x=S(16);y.a.registerVisual(Object(x.a)("bar3D")),y.a.registerProcessor(function(c,l){c.eachSeriesByType("bar3d",function(f){var n=f.getData();n.filterSelf(function(o){return n.hasValue(o)})})})},function(te,X,S){"use strict";var K=S(0),y=S.n(K),L=S(4),A=S(1),s=S.n(A),x=S(204),c=S(205),l=s.a.vec3;function f(d,m){var _=d.getData(),h=d.get("minHeight")||0,g=d.get("barSize"),r=["lng","lat","alt"].map(function(E){return d.coordDimToDataDim(E)[0]});if(g==null){var a=m.radius*Math.PI,p=Object(c.a)(_,r[0],r[1]);g=[a/Math.sqrt(_.count()/p),a/Math.sqrt(_.count()/p)]}else y.a.util.isArray(g)||(g=[g,g]);_.each(r,function(E,b,w,R){var O=_.get(r[2],R,!0),z=_.stackedOn?O-w:m.altitudeAxis.scale.getExtent()[0],B=Math.max(m.altitudeAxis.dataToCoord(w),h),P=m.dataToPoint([E,b,z]),F=m.dataToPoint([E,b,O]),k=l.sub([],F,P);l.normalize(k,k);var U=[g[0],B,g[1]];_.setItemLayout(R,[P,k,U])}),_.setLayout("orient",L.a.UP.array)}function n(d,m){var _=d.getData(),h=d.get("barSize"),g=d.get("minHeight")||0,r=["lng","lat","alt"].map(function(b){return d.coordDimToDataDim(b)[0]});if(h==null){var a=Math.min(m.size[0],m.size[2]),p=Object(c.a)(_,r[0],r[1]);h=[a/Math.sqrt(_.count()/p),a/Math.sqrt(_.count()/p)]}else y.a.util.isArray(h)||(h=[h,h]);var E=[0,1,0];_.each(r,function(b,w,R,O){var z=_.get(r[2],O,!0),B=_.stackedOn?z-R:m.altitudeAxis.scale.getExtent()[0],P=Math.max(m.altitudeAxis.dataToCoord(R),g),F=m.dataToPoint([b,w,B]),k=[h[0],P,h[1]];_.setItemLayout(O,[F,E,k])}),_.setLayout("orient",[1,0,0])}function o(d,m){var _=d.getData(),h=d.coordDimToDataDim("lng")[0],g=d.coordDimToDataDim("lat")[0],r=d.coordDimToDataDim("alt")[0],a=d.get("barSize"),p=d.get("minHeight")||0;if(a==null){var E=_.getDataExtent(h),b=_.getDataExtent(g),w=m.dataToPoint([E[0],b[0]]),R=m.dataToPoint([E[1],b[1]]),O=Math.min(Math.abs(w[0]-R[0]),Math.abs(w[1]-R[1]))||1,z=Object(c.a)(_,h,g);a=[O/Math.sqrt(_.count()/z),O/Math.sqrt(_.count()/z)]}else y.a.util.isArray(a)||(a=[a,a]),a[0]/=m.getScale()/16,a[1]/=m.getScale()/16;var B=[0,0,1];_.each([h,g,r],function(P,F,k,U){var G=_.get(r,U,!0),C=_.stackedOn?G-k:0,I=m.dataToPoint([P,F,C]),H=m.dataToPoint([P,F,G]),$=Math.max(H[2]-I[2],p),q=[a[0],$,a[1]];_.setItemLayout(U,[I,B,q])}),_.setLayout("orient",[1,0,0])}y.a.registerLayout(function(d,m){d.eachSeriesByType("bar3D",function(_){var h=_.coordinateSystem,g=h&&h.type;if(g==="globe")f(_,h);else if(g==="cartesian3D")Object(x.a)(_,h);else if(g==="geo3D")n(_,h);else if(g==="mapbox3D")o(_,h);else throw h?new Error("bar3D doesn't support coordinate system "+h.type):new Error("bar3D doesn't have coordinate system.")})})},function(te,X,S){"use strict";var K=S(0),y=S.n(K),L=S(1),A=S.n(L),s=A.a.vec3;function x(l){var f=l[0],n=l[1];return!(f>0&&n>0||f<0&&n<0)}function c(l,f){var n=l.getData(),o=l.get("barSize");if(o==null){var d=f.size,m,_,h=f.getAxis("x"),g=f.getAxis("y");h.type==="category"?m=h.getBandWidth()*.7:m=Math.round(d[0]/Math.sqrt(n.count()))*.6,g.type==="category"?_=g.getBandWidth()*.7:_=Math.round(d[1]/Math.sqrt(n.count()))*.6,o=[m,_]}else y.a.util.isArray(o)||(o=[o,o]);var r=f.getAxis("z").scale.getExtent(),a=x(r),p=["x","y","z"].map(function(E){return l.coordDimToDataDim(E)[0]});n.each(p,function(E,b,w,R){var O=n.get(p[2],R,!0),z=n.stackedOn?O-w:a?0:r[0],B=f.dataToPoint([E,b,z]),P=f.dataToPoint([E,b,O]),F=s.dist(B,P),k=[0,P[1]<B[1]?-1:1,0];Math.abs(F)===0&&(F=.1);var U=[o[0],F,o[1]];n.setItemLayout(R,[B,k,U])}),n.setLayout("orient",[1,0,0])}X.a=c},function(te,X,S){"use strict";X.a=function(K,y,L){for(var A=K.getDataExtent(y),s=K.getDataExtent(L),x=A[1]-A[0]||A[0],c=s[1]-s[0]||s[0],l=50,f=new Uint8Array(l*l),n=0;n<K.count();n++){var o=K.get(y,n),d=K.get(L,n),m=Math.floor((o-A[0])/x*(l-1)),_=Math.floor((d-s[0])/c*(l-1)),h=_*l+m;f[h]=f[h]||1}for(var g=0,n=0;n<f.length;n++)f[n]&&g++;return g/f.length}},function(te,X,S){"use strict";var K=S(0),y=S.n(K),L=S(2),A=S(3),s=S(27),x=S(207),c=S(61),l=S(1),f=S.n(l),n=f.a.vec3,o=y.a.extendChartView({type:"bar3D",__ecgl__:!0,init:function(d,m){this.groupGL=new L.a.Node,this._api=m,this._labelsBuilder=new c.a(256,256,m);var _=this;this._labelsBuilder.getLabelPosition=function(h,g,r){if(_._data){var a=_._data.getItemLayout(h),p=a[0],E=a[1],b=a[2][1];return n.scaleAndAdd([],p,E,r+b)}else return[0,0]},this._labelsBuilder.getMesh().renderOrder=100},render:function(d,m,_){var h=this._prevBarMesh;this._prevBarMesh=this._barMesh,this._barMesh=h,this._barMesh||(this._barMesh=new L.a.Mesh({geometry:new x.a,shadowDepthMaterial:new L.a.Material({shader:new L.a.Shader(L.a.Shader.source("ecgl.sm.depth.vertex"),L.a.Shader.source("ecgl.sm.depth.fragment"))}),culling:d.coordinateSystem.type==="cartesian3D",renderOrder:10,renderNormal:!0})),this.groupGL.remove(this._prevBarMesh),this.groupGL.add(this._barMesh),this.groupGL.add(this._labelsBuilder.getMesh());var g=d.coordinateSystem;if(this._doRender(d,_),g&&g.viewGL){g.viewGL.add(this.groupGL);var r=g.viewGL.isLinearSpace()?"define":"undefine";this._barMesh.material[r]("fragment","SRGB_DECODE")}this._data=d.getData(),this._labelsBuilder.updateData(this._data),this._labelsBuilder.updateLabels(),this._updateAnimation(d)},_updateAnimation:function(d){L.a.updateVertexAnimation([["prevPosition","position"],["prevNormal","normal"]],this._prevBarMesh,this._barMesh,d)},_doRender:function(d,m){var _=d.getData(),h=d.get("shading"),g=h!=="color",r=this,a=this._barMesh,p="ecgl."+h;(!a.material||a.material.shader.name!==p)&&(a.material=L.a.createMaterial(p,["VERTEX_COLOR"])),L.a.setMaterialFromModel(h,a.material,d,m),a.geometry.enableNormal=g,a.geometry.resetOffset();var E=d.get("bevelSize"),b=d.get("bevelSmoothness");a.geometry.bevelSegments=b,a.geometry.bevelSize=E;var w=[],R=new Float32Array(_.count()*4),O=0,F=0,z=!1;_.each(function(U){if(_.hasValue(U)){var G=_.getItemVisual(U,"color"),C=_.getItemVisual(U,"opacity");C==null&&(C=1),L.a.parseColor(G,w),w[3]*=C,R[O++]=w[0],R[O++]=w[1],R[O++]=w[2],R[O++]=w[3],w[3]>0&&(F++,w[3]<.99&&(z=!0))}}),a.geometry.setBarCount(F);var B=_.getLayout("orient"),P=this._barIndexOfData=new Int32Array(_.count()),F=0;_.each(function(U){if(!_.hasValue(U)){P[U]=-1;return}var G=_.getItemLayout(U),C=G[0],I=G[1],H=G[2],$=U*4;w[0]=R[$++],w[1]=R[$++],w[2]=R[$++],w[3]=R[$++],w[3]>0&&(r._barMesh.geometry.addBar(C,I,B,H,w,U),P[U]=F++)}),a.geometry.dirty(),a.geometry.updateBoundingBox();var k=a.material;k.transparent=z,k.depthMask=!z,a.geometry.sortTriangles=z,this._initHandler(d,m)},_initHandler:function(d,m){var _=d.getData(),h=this._barMesh,g=d.coordinateSystem.type==="cartesian3D";h.seriesIndex=d.seriesIndex;var r=-1;h.off("mousemove"),h.off("mouseout"),h.on("mousemove",function(a){var p=h.geometry.getDataIndexOfVertex(a.triangle[0]);p!==r&&(this._downplay(r),this._highlight(p),this._labelsBuilder.updateLabels([p]),g&&m.dispatchAction({type:"grid3DShowAxisPointer",value:[_.get("x",p),_.get("y",p),_.get("z",p,!0)]})),r=p,h.dataIndex=p},this),h.on("mouseout",function(a){this._downplay(r),this._labelsBuilder.updateLabels(),r=-1,h.dataIndex=-1,g&&m.dispatchAction({type:"grid3DHideAxisPointer"})},this)},_highlight:function(d){var m=this._data;if(m){var _=this._barIndexOfData[d];if(!(_<0)){var h=m.getItemModel(d),g=h.getModel("emphasis.itemStyle"),r=g.get("color"),a=g.get("opacity");if(r==null){var p=m.getItemVisual(d,"color");r=y.a.color.lift(p,-.4)}a==null&&(a=m.getItemVisual(d,"opacity"));var E=L.a.parseColor(r);E[3]*=a,this._barMesh.geometry.setColor(_,E),this._api.getZr().refresh()}}},_downplay:function(d){var m=this._data;if(m){var _=this._barIndexOfData[d];if(!(_<0)){var h=m.getItemVisual(d,"color"),g=m.getItemVisual(d,"opacity"),r=L.a.parseColor(h);r[3]*=g,this._barMesh.geometry.setColor(_,r),this._api.getZr().refresh()}}},highlight:function(d,m,_,h){this._toggleStatus("highlight",d,m,_,h)},downplay:function(d,m,_,h){this._toggleStatus("downplay",d,m,_,h)},_toggleStatus:function(d,m,_,h,g){var r=m.getData(),a=A.a.queryDataIndex(r,g),p=this;a!=null?y.a.util.each(s.a.normalizeToArray(a),function(E){d==="highlight"?this._highlight(E):this._downplay(E)},this):r.each(function(E){d==="highlight"?p._highlight(E):p._downplay(E)})},remove:function(){this.groupGL.removeAll()},dispose:function(){this.groupGL.removeAll()}})},function(te,X,S){"use strict";var K=S(0),y=S.n(K),L=S(33),A=S(60),s=S(13),x=S(1),c=S.n(x),l=c.a.vec3,f=c.a.mat3,n=s.a.extend(function(){return{attributes:{position:new s.a.Attribute("position","float",3,"POSITION"),normal:new s.a.Attribute("normal","float",3,"NORMAL"),color:new s.a.Attribute("color","float",4,"COLOR"),prevPosition:new s.a.Attribute("prevPosition","float",3),prevNormal:new s.a.Attribute("prevNormal","float",3)},dynamic:!0,enableNormal:!1,bevelSize:1,bevelSegments:0,_dataIndices:null,_vertexOffset:0,_triangleOffset:0}},{resetOffset:function(){this._vertexOffset=0,this._triangleOffset=0},setBarCount:function(o){var d=this.enableNormal,m=this.getBarVertexCount()*o,_=this.getBarTriangleCount()*o;this.vertexCount!==m&&(this.attributes.position.init(m),d?this.attributes.normal.init(m):this.attributes.normal.value=null,this.attributes.color.init(m)),this.triangleCount!==_&&(this.indices=m>65535?new Uint32Array(_*3):new Uint16Array(_*3),this._dataIndices=new Uint32Array(m))},getBarVertexCount:function(){var o=this.bevelSize>0?this.bevelSegments:0;return o>0?this._getBevelBarVertexCount(o):this.enableNormal?24:8},getBarTriangleCount:function(){var o=this.bevelSize>0?this.bevelSegments:0;return o>0?this._getBevelBarTriangleCount(o):12},_getBevelBarVertexCount:function(o){return(o+1)*4*(o+1)*2},_getBevelBarTriangleCount:function(o){var d=o*4+3,m=o*2+1;return(d+1)*m*2+4},setColor:function(o,d){for(var m=this.getBarVertexCount(),_=m*o,h=m*(o+1),g=_;g<h;g++)this.attributes.color.set(g,d);this.dirtyAttribute("color")},getDataIndexOfVertex:function(o){return this._dataIndices?this._dataIndices[o]:null},addBar:function(){for(var o=l.create,d=l.scaleAndAdd,m=o(),_=o(),h=o(),g=o(),r=o(),a=o(),p=o(),E=[],b=[],w=0;w<8;w++)E[w]=o();for(var R=[[0,1,5,4],[2,3,7,6],[4,5,6,7],[3,2,1,0],[0,4,7,3],[1,2,6,5]],O=[0,1,2,0,2,3],z=[],w=0;w<R.length;w++)for(var B=R[w],P=0;P<2;P++){for(var F=[],k=0;k<3;k++)F.push(B[O[P*3+k]]);z.push(F)}return function(U,G,C,I,H,$){var q=this._vertexOffset;if(this.bevelSize>0&&this.bevelSegments>0)this._addBevelBar(U,G,C,I,this.bevelSize,this.bevelSegments,H);else{l.copy(h,G),l.normalize(h,h),l.cross(g,C,h),l.normalize(g,g),l.cross(_,h,g),l.normalize(g,g),l.negate(r,_),l.negate(a,h),l.negate(p,g),d(E[0],U,_,I[0]/2),d(E[0],E[0],g,I[2]/2),d(E[1],U,_,I[0]/2),d(E[1],E[1],p,I[2]/2),d(E[2],U,r,I[0]/2),d(E[2],E[2],p,I[2]/2),d(E[3],U,r,I[0]/2),d(E[3],E[3],g,I[2]/2),d(m,U,h,I[1]),d(E[4],m,_,I[0]/2),d(E[4],E[4],g,I[2]/2),d(E[5],m,_,I[0]/2),d(E[5],E[5],p,I[2]/2),d(E[6],m,r,I[0]/2),d(E[6],E[6],p,I[2]/2),d(E[7],m,r,I[0]/2),d(E[7],E[7],g,I[2]/2);var se=this.attributes;if(this.enableNormal){b[0]=_,b[1]=r,b[2]=h,b[3]=a,b[4]=g,b[5]=p;for(var ue=this._vertexOffset,me=0;me<R.length;me++){for(var Ee=this._triangleOffset*3,Le=0;Le<6;Le++)this.indices[Ee++]=ue+O[Le];ue+=4,this._triangleOffset+=2}for(var me=0;me<R.length;me++)for(var Fe=b[me],Le=0;Le<4;Le++){var Ke=R[me][Le];se.position.set(this._vertexOffset,E[Ke]),se.normal.set(this._vertexOffset,Fe),se.color.set(this._vertexOffset++,H)}}else{for(var me=0;me<z.length;me++){for(var Ee=this._triangleOffset*3,Le=0;Le<3;Le++)this.indices[Ee+Le]=z[me][Le]+this._vertexOffset;this._triangleOffset++}for(var me=0;me<E.length;me++)se.position.set(this._vertexOffset,E[me]),se.color.set(this._vertexOffset++,H)}}for(var Te=this._vertexOffset,me=q;me<Te;me++)this._dataIndices[me]=$}}(),_addBevelBar:function(){var o=l.create(),d=l.create(),m=l.create(),_=f.create(),h=[],g=[1,-1,-1,1],r=[1,1,-1,-1],a=[2,0];return function(p,E,b,w,R,O,z){l.copy(d,E),l.normalize(d,d),l.cross(m,b,d),l.normalize(m,m),l.cross(o,d,m),l.normalize(m,m),_[0]=o[0],_[1]=o[1],_[2]=o[2],_[3]=d[0],_[4]=d[1],_[5]=d[2],_[6]=m[0],_[7]=m[1],_[8]=m[2],R=Math.min(w[0],w[2])/2*R;for(var B=0;B<3;B++)h[B]=Math.max(w[B]-R*2,0);for(var P=(w[0]-h[0])/2,F=(w[1]-h[1])/2,k=(w[2]-h[2])/2,U=[],G=[],C=this._vertexOffset,I=[],B=0;B<2;B++){I[B]=I[B]=[];for(var H=0;H<=O;H++)for(var $=0;$<4;$++){(H===0&&B===0||B===1&&H===O)&&I[B].push(C);for(var q=0;q<=O;q++){var se=q/O*Math.PI/2+Math.PI/2*$,ue=H/O*Math.PI/2+Math.PI/2*B;G[0]=P*Math.cos(se)*Math.sin(ue),G[1]=F*Math.cos(ue),G[2]=k*Math.sin(se)*Math.sin(ue),U[0]=G[0]+g[$]*h[0]/2,U[1]=G[1]+F+a[B]*h[1]/2,U[2]=G[2]+r[$]*h[2]/2,Math.abs(P-F)<1e-6&&Math.abs(F-k)<1e-6||(G[0]/=P*P,G[1]/=F*F,G[2]/=k*k),l.normalize(G,G),l.transformMat3(U,U,_),l.transformMat3(G,G,_),l.add(U,U,p),this.attributes.position.set(C,U),this.enableNormal&&this.attributes.normal.set(C,G),this.attributes.color.set(C,z),C++}}}for(var me=O*4+3,Ee=O*2+1,Le=me+1,$=0;$<Ee;$++)for(var B=0;B<=me;B++){var Fe=$*Le+B+this._vertexOffset,Ke=$*Le+(B+1)%Le+this._vertexOffset,Te=($+1)*Le+(B+1)%Le+this._vertexOffset,We=($+1)*Le+B+this._vertexOffset;this.setTriangleIndices(this._triangleOffset++,[Te,Fe,Ke]),this.setTriangleIndices(this._triangleOffset++,[Te,We,Fe])}this.setTriangleIndices(this._triangleOffset++,[I[0][0],I[0][2],I[0][1]]),this.setTriangleIndices(this._triangleOffset++,[I[0][0],I[0][3],I[0][2]]),this.setTriangleIndices(this._triangleOffset++,[I[1][0],I[1][1],I[1][2]]),this.setTriangleIndices(this._triangleOffset++,[I[1][0],I[1][2],I[1][3]]),this._vertexOffset=C}}()});y.a.util.defaults(n.prototype,L.a),y.a.util.defaults(n.prototype,A.a),X.a=n},function(te,X,S){"use strict";var K=S(0),y=S.n(K),L=S(26),A=S(27),s=S(35),x=S(44),c=y.a.extendSeriesModel({type:"series.bar3D",dependencies:["globe"],visualColorAccessPath:"itemStyle.color",getInitialData:function(f,n){return Object(x.a)(this)},getFormattedLabel:function(f,n,o,d){var m=A.a.getFormattedLabel(this,f,n,o,d);return m==null&&(m=this.getData().get("z",f)),m},formatTooltip:function(f){return Object(s.a)(this,f)},defaultOption:{coordinateSystem:"cartesian3D",globeIndex:0,grid3DIndex:0,zlevel:-10,bevelSize:0,bevelSmoothness:2,onGridPlane:"xy",shading:"color",minHeight:0,itemStyle:{opacity:1},label:{show:!1,distance:2,textStyle:{fontSize:14,color:"#000",backgroundColor:"rgba(255,255,255,0.7)",padding:3,borderRadius:3}},emphasis:{label:{show:!0}},animationDurationUpdate:500}});y.a.util.merge(c.prototype,L.a);var l=c},function(te,X,S){"use strict";var K=S(0),y=S.n(K),L=S(210),A=S(211),s=S(45),x=S.n(s),c=S(16);y.a.registerVisual(x()("line3D","circle",null)),y.a.registerVisual(Object(c.a)("line3D")),y.a.registerLayout(function(l,f){l.eachSeriesByType("line3D",function(n){var o=n.getData(),d=n.coordinateSystem;if(d){if(d.type!=="cartesian3D"){console.error("line3D needs cartesian3D coordinateSystem");return}var m=new Float32Array(o.count()*3),_=[],h=[],g=d.dimensions,r=g.map(function(a){return n.coordDimToDataDim(a)[0]});d&&o.each(r,function(a,p,E,b){_[0]=a,_[1]=p,_[2]=E,d.dataToPoint(_,h),m[b*3]=h[0],m[b*3+1]=h[1],m[b*3+2]=h[2]}),o.setLayout("points",m)}})})},function(te,X,S){"use strict";var K=S(0),y=S.n(K),L=S(35),A=S(44),s=y.a.extendSeriesModel({type:"series.line3D",dependencies:["grid3D"],visualColorAccessPath:"lineStyle.color",getInitialData:function(c,l){return Object(A.a)(this)},formatTooltip:function(c){return Object(L.a)(this,c)},defaultOption:{coordinateSystem:"cartesian3D",zlevel:-10,grid3DIndex:0,lineStyle:{width:2},animationDurationUpdate:500}}),x=s},function(te,X,S){"use strict";var K=S(0),y=S.n(K),L=S(2),A=S(3),s=S(22),x=S(9),c=S(4),l=S(212),f=S.n(l),n=S(1),o=S.n(n),d=S(40),m=o.a.vec3;L.a.Shader.import(d.a);var _=y.a.extendChartView({type:"line3D",__ecgl__:!0,init:function(h,g){this.groupGL=new L.a.Node,this._api=g},render:function(h,g,r){var a=this._prevLine3DMesh;this._prevLine3DMesh=this._line3DMesh,this._line3DMesh=a,this._line3DMesh||(this._line3DMesh=new L.a.Mesh({geometry:new s.a({useNativeLine:!1,sortTriangles:!0}),material:new L.a.Material({shader:L.a.createShader("ecgl.meshLines3D")}),renderOrder:10}),this._line3DMesh.geometry.pick=this._pick.bind(this)),this.groupGL.remove(this._prevLine3DMesh),this.groupGL.add(this._line3DMesh);var p=h.coordinateSystem;if(p&&p.viewGL){p.viewGL.add(this.groupGL);var E=p.viewGL.isLinearSpace()?"define":"undefine";this._line3DMesh.material[E]("fragment","SRGB_DECODE")}this._doRender(h,r),this._data=h.getData(),this._camera=p.viewGL.camera,this.updateCamera(),this._updateAnimation(h)},updateCamera:function(){this._updateNDCPosition()},_doRender:function(h,g){var r=h.getData(),a=this._line3DMesh;a.geometry.resetOffset();var p=r.getLayout("points"),E=[],b=new Float32Array(p.length/3*4),w=0,R=!1;r.each(function(B){var P=r.getItemVisual(B,"color"),F=r.getItemVisual(B,"opacity");F==null&&(F=1),L.a.parseColor(P,E),E[3]*=F,b[w++]=E[0],b[w++]=E[1],b[w++]=E[2],b[w++]=E[3],E[3]<.99&&(R=!0)}),a.geometry.setVertexCount(a.geometry.getPolylineVertexCount(p)),a.geometry.setTriangleCount(a.geometry.getPolylineTriangleCount(p)),a.geometry.addPolyline(p,b,A.a.firstNotNull(h.get("lineStyle.width"),1)),a.geometry.dirty(),a.geometry.updateBoundingBox();var O=a.material;O.transparent=R,O.depthMask=!R;var z=h.getModel("debug.wireframe");z.get("show")?(a.geometry.createAttribute("barycentric","float",3),a.geometry.generateBarycentric(),a.material.set("both","WIREFRAME_TRIANGLE"),a.material.set("wireframeLineColor",L.a.parseColor(z.get("lineStyle.color")||"rgba(0,0,0,0.5)")),a.material.set("wireframeLineWidth",A.a.firstNotNull(z.get("lineStyle.width"),1))):a.material.set("both","WIREFRAME_TRIANGLE"),this._points=p,this._initHandler(h,g)},_updateAnimation:function(h){L.a.updateVertexAnimation([["prevPosition","position"],["prevPositionPrev","positionPrev"],["prevPositionNext","positionNext"]],this._prevLine3DMesh,this._line3DMesh,h)},_initHandler:function(h,g){var r=h.getData(),a=h.coordinateSystem,p=this._line3DMesh,E=-1;p.seriesIndex=h.seriesIndex,p.off("mousemove"),p.off("mouseout"),p.on("mousemove",function(b){var w=a.pointToData(b.point.array),R=r.indicesOfNearest("x",w[0])[0];R!==E&&(g.dispatchAction({type:"grid3DShowAxisPointer",value:[r.get("x",R),r.get("y",R),r.get("z",R)]}),p.dataIndex=R),E=R},this),p.on("mouseout",function(b){E=-1,p.dataIndex=-1,g.dispatchAction({type:"grid3DHideAxisPointer"})},this)},_updateNDCPosition:function(){var h=new x.a,g=this._camera;x.a.multiply(h,g.projectionMatrix,g.viewMatrix);var r=this._positionNDC,a=this._points,p=a.length/3;(!r||r.length/2!==p)&&(r=this._positionNDC=new Float32Array(p*2));for(var E=[],b=0;b<p;b++){var w=b*3,R=b*2;E[0]=a[w],E[1]=a[w+1],E[2]=a[w+2],E[3]=1,m.transformMat4(E,E,h.array),r[R]=E[0]/E[3],r[R+1]=E[1]/E[3]}},_pick:function(h,g,r,a,p,E){var b=this._positionNDC,w=this._data.hostModel,R=w.get("lineStyle.width"),O=-1,z=r.viewport.width,B=r.viewport.height,P=z*.5,F=B*.5;h=(h+1)*P,g=(g+1)*F;for(var k=1;k<b.length/2;k++){var U=(b[(k-1)*2]+1)*P,G=(b[(k-1)*2+1]+1)*F,C=(b[k*2]+1)*P,I=(b[k*2+1]+1)*F;if(f.a.containStroke(U,G,C,I,R,h,g)){var H=(U-h)*(U-h)+(G-g)*(G-g),$=(C-h)*(C-h)+(I-g)*(I-g);O=H<$?k-1:k}}if(O>=0){var q=O*3,se=new c.a(this._points[q],this._points[q+1],this._points[q+2]);E.push({dataIndex:O,point:se,pointWorld:se.clone(),target:this._line3DMesh,distance:this._camera.getWorldPosition().dist(se)})}},remove:function(){this.groupGL.removeAll()},dispose:function(){this.groupGL.removeAll()}})},function(te,X){function S(K,y,L,A,s,x,c){if(s===0)return!1;var l=s,f=0,n=K;if(c>y+l&&c>A+l||c<y-l&&c<A-l||x>K+l&&x>L+l||x<K-l&&x<L-l)return!1;if(K!==L)f=(y-A)/(K-L),n=(K*A-L*y)/(K-L);else return Math.abs(x-K)<=l/2;var o=f*x-c+n,d=o*o/(f*f+1);return d<=l/2*l/2}X.containStroke=S},function(te,X,S){"use strict";var K=S(0),y=S.n(K),L=S(214),A=S(215),s=S(45),x=S.n(s),c=S(16);y.a.registerVisual(x()("scatter3D","circle",null)),y.a.registerVisual(Object(c.a)("scatter3D")),y.a.registerLayout({seriesType:"scatter3D",reset:function(l){var f=l.coordinateSystem;if(f){var n=f.dimensions;if(n.length<3){console.error("scatter3D needs 3D coordinateSystem");return}var o=n.map(function(_){return l.coordDimToDataDim(_)[0]}),d=[],m=[];return{progress:function(_,h){for(var g=new Float32Array((_.end-_.start)*3),r=_.start;r<_.end;r++){var a=(r-_.start)*3;d[0]=h.get(o[0],r),d[1]=h.get(o[1],r),d[2]=h.get(o[2],r),f.dataToPoint(d,m),g[a]=m[0],g[a+1]=m[1],g[a+2]=m[2]}h.setLayout("points",g)}}}}})},function(te,X,S){"use strict";var K=S(0),y=S.n(K),L=S(27),A=S(35),s=S(44);y.a.extendSeriesModel({type:"series.scatter3D",dependencies:["globe","grid3D","geo3D"],visualColorAccessPath:"itemStyle.color",getInitialData:function(x,c){return Object(s.a)(this)},getFormattedLabel:function(x,c,l,f){var n=L.a.getFormattedLabel(this,x,c,l,f);if(n==null){var o=this.getData(),d=o.dimensions[o.dimensions.length-1];n=o.get(d,x)}return n},formatTooltip:function(x){return Object(A.a)(this,x)},defaultOption:{coordinateSystem:"cartesian3D",zlevel:-10,progressive:1e5,progressiveThreshold:1e5,grid3DIndex:0,globeIndex:0,symbol:"circle",symbolSize:10,blendMode:"source-over",label:{show:!1,position:"right",distance:5,textStyle:{fontSize:14,color:"#000",backgroundColor:"rgba(255,255,255,0.7)",padding:3,borderRadius:3}},itemStyle:{opacity:.8},emphasis:{label:{show:!0}},animationDurationUpdate:500}})},function(te,X,S){"use strict";var K=S(0),y=S.n(K),L=S(2),A=S(3),s=S(27),x=S(62);y.a.extendChartView({type:"scatter3D",__ecgl__:!0,init:function(c,l){this.groupGL=new L.a.Node,this._pointsBuilderList=[],this._currentStep=0},render:function(c,l,f){if(this.groupGL.removeAll(),!!c.getData().count()){var n=c.coordinateSystem;if(n&&n.viewGL){n.viewGL.add(this.groupGL),this._camera=n.viewGL.camera;var o=this._pointsBuilderList[0];o||(o=this._pointsBuilderList[0]=new x.a(!1,f)),this._pointsBuilderList.length=1,this.groupGL.add(o.rootNode),o.update(c,l,f),o.updateView(n.viewGL.camera)}else throw new Error("Invalid coordinate system")}},incrementalPrepareRender:function(c,l,f){var n=c.coordinateSystem;if(n&&n.viewGL)n.viewGL.add(this.groupGL),this._camera=n.viewGL.camera;else throw new Error("Invalid coordinate system");this.groupGL.removeAll(),this._currentStep=0},incrementalRender:function(c,l,f,n){if(!(c.end<=c.start)){var o=this._pointsBuilderList[this._currentStep];o||(o=new x.a(!1,n),this._pointsBuilderList[this._currentStep]=o),this.groupGL.add(o.rootNode),o.update(l,f,n,c.start,c.end),o.updateView(l.coordinateSystem.viewGL.camera),this._currentStep++}},updateCamera:function(){this._pointsBuilderList.forEach(function(c){c.updateView(this._camera)},this)},highlight:function(c,l,f,n){this._toggleStatus("highlight",c,l,f,n)},downplay:function(c,l,f,n){this._toggleStatus("downplay",c,l,f,n)},_toggleStatus:function(c,l,f,n,o){var d=l.getData(),m=A.a.queryDataIndex(d,o),_=c==="highlight";m!=null?y.a.util.each(s.a.normalizeToArray(m),function(h){for(var g=0;g<this._pointsBuilderList.length;g++){var r=this._pointsBuilderList[g];_?r.highlight(d,h):r.downplay(d,h)}},this):d.each(function(h){for(var g=0;g<this._pointsBuilderList.length;g++){var r=this._pointsBuilderList[g];_?r.highlight(d,h):r.downplay(d,h)}})},dispose:function(){this.groupGL.removeAll()},remove:function(){this.groupGL.removeAll()}})},function(te,X,S){"use strict";var K=S(0),y=S.n(K);function L(c,n,f){var n=n||document.createElement("canvas");n.width=c,n.height=c;var o=n.getContext("2d");return f&&f(o),n}function A(c,l,f,n){y.a.util.isArray(l)||(l=[l,l]);var o=x.getMarginByStyle(f,n),d=l[0]+o.left+o.right,m=l[1]+o.top+o.bottom,_=y.a.helper.createSymbol(c,0,0,l[0],l[1]),h=Math.max(d,m);_.position=[o.left,o.top],d>m?_.position[1]+=(h-m)/2:_.position[0]+=(h-d)/2;var g=_.getBoundingRect();return _.position[0]-=g.x,_.position[1]-=g.y,_.setStyle(f),_.update(),_.__size=h,_}function s(c,l,f){var n=l.width,o=l.height,d=c.canvas.width,m=c.canvas.height,_=n/d,h=o/m;function g(O){return O<128?1:-1}function r(O,z){var B=1/0;O=Math.floor(O*_),z=Math.floor(z*h);for(var P=z*n+O,F=l.data[P*4],k=g(F),U=Math.max(z-f,0);U<Math.min(z+f,o);U++)for(var G=Math.max(O-f,0);G<Math.min(O+f,n);G++){var P=U*n+G,C=l.data[P*4],I=g(C),H=G-O,$=U-z;if(k!==I){var q=H*H+$*$;q<B&&(B=q)}}return k*Math.sqrt(B)}for(var a=c.createImageData(d,m),p=0;p<m;p++)for(var E=0;E<d;E++){var b=r(E,p),w=b/f*.5+.5,R=(p*d+E)*4;a.data[R++]=(1-w)*255,a.data[R++]=(1-w)*255,a.data[R++]=(1-w)*255,a.data[R++]=255}return a}var x={getMarginByStyle:function(c){var l=c.minMargin||0,f=0;c.stroke&&c.stroke!=="none"&&(f=c.lineWidth==null?1:c.lineWidth);var n=c.shadowBlur||0,o=c.shadowOffsetX||0,d=c.shadowOffsetY||0,m={};return m.left=Math.max(f/2,-o+n,l),m.right=Math.max(f/2,o+n,l),m.top=Math.max(f/2,-d+n,l),m.bottom=Math.max(f/2,d+n,l),m},createSymbolSprite:function(c,l,f,n){var o=A(c,l,f),d=x.getMarginByStyle(f);return{image:L(o.__size,n,function(m){o.brush(m)}),margin:d}},createSDFFromCanvas:function(c,l,f,n){return L(l,n,function(o){var d=c.getContext("2d"),m=d.getImageData(0,0,c.width,c.height);o.putImageData(s(o,m,f),0,0)})},createSimpleSprite:function(c,l){return L(c,l,function(f){var n=c/2;f.beginPath(),f.arc(n,n,60,0,Math.PI*2,!1),f.closePath();var o=f.createRadialGradient(n,n,0,n,n,n);o.addColorStop(0,"rgba(255, 255, 255, 1)"),o.addColorStop(.5,"rgba(255, 255, 255, 0.5)"),o.addColorStop(1,"rgba(255, 255, 255, 0)"),f.fillStyle=o,f.fill()})}};X.a=x},function(te,X,S){"use strict";var K=S(2),y=S(218),L=S(0),A=S.n(L),s=S(1),x=S.n(s),c=S(219),l=x.a.vec4;K.a.Shader.import(c.a);var f=K.a.Mesh.extend(function(){var n=new K.a.Geometry({dynamic:!0,attributes:{color:new K.a.Geometry.Attribute("color","float",4,"COLOR"),position:new K.a.Geometry.Attribute("position","float",3,"POSITION"),size:new K.a.Geometry.Attribute("size","float",1),prevPosition:new K.a.Geometry.Attribute("prevPosition","float",3),prevSize:new K.a.Geometry.Attribute("prevSize","float",1)}});A.a.util.extend(n,y.a);var o=new K.a.Material({shader:K.a.createShader("ecgl.sdfSprite"),transparent:!0,depthMask:!1});o.enableTexture("sprite"),o.define("both","VERTEX_COLOR"),o.define("both","VERTEX_SIZE");var d=new K.a.Texture2D({image:document.createElement("canvas"),flipY:!1});return o.set("sprite",d),n.pick=this._pick.bind(this),{geometry:n,material:o,mode:K.a.Mesh.POINTS,sizeScale:1}},{_pick:function(n,o,d,m,_,h){var g=this._positionNDC;if(g)for(var r=d.viewport,a=2/r.width,p=2/r.height,E=this.geometry.vertexCount-1;E>=0;E--){var b;this.geometry.indices?b=this.geometry.indices[E]:b=E;var w=g[b*2],R=g[b*2+1],O=this.geometry.attributes.size.get(b)/this.sizeScale,z=O/2;if(n>w-z*a&&n<w+z*a&&o>R-z*p&&o<R+z*p){var B=new K.a.Vector3,P=new K.a.Vector3;this.geometry.attributes.position.get(b,B.array),K.a.Vector3.transformMat4(P,B,this.worldTransform),h.push({vertexIndex:b,point:B,pointWorld:P,target:this,distance:P.distance(m.getWorldPosition())})}}},updateNDCPosition:function(n,o,d){var m=this._positionNDC,_=this.geometry;(!m||m.length/2!==_.vertexCount)&&(m=this._positionNDC=new Float32Array(_.vertexCount*2));for(var h=l.create(),g=0;g<_.vertexCount;g++)_.attributes.position.get(g,h),h[3]=1,l.transformMat4(h,h,n.array),l.scale(h,h,1/h[3]),m[g*2]=h[0],m[g*2+1]=h[1]}});X.a=f},function(te,X,S){"use strict";var K=S(81),y=S(1),L=S.n(y),A=L.a.vec3;X.a={needsSortVertices:function(){return this.sortVertices},needsSortVerticesProgressively:function(){return this.needsSortVertices()&&this.vertexCount>=2e4},doSortVertices:function(s,x){var c=this.indices,l=A.create();if(!c){c=this.indices=this.vertexCount>65535?new Uint32Array(this.vertexCount):new Uint16Array(this.vertexCount);for(var f=0;f<c.length;f++)c[f]=f}if(x===0){var n=this.attributes.position,s=s.array,o=0;(!this._zList||this._zList.length!==this.vertexCount)&&(this._zList=new Float32Array(this.vertexCount));for(var d,f=0;f<this.vertexCount;f++){n.get(f,l);var m=A.sqrDist(l,s);isNaN(m)&&(m=1e7,o++),f===0?(d=m,m=0):m=m-d,this._zList[f]=m}this._noneCount=o}if(this.vertexCount<2e4)x===0&&this._simpleSort(this._noneCount/this.vertexCount>.05);else for(var f=0;f<3;f++)this._progressiveQuickSort(x*3+f);this.dirtyIndices()},_simpleSort:function(s){var x=this._zList,c=this.indices;function l(f,n){return x[n]-x[f]}s?Array.prototype.sort.call(c,l):K.a.sort(c,l,0,c.length-1)},_progressiveQuickSort:function(s){var x=this._zList,c=this.indices;this._quickSort=this._quickSort||new K.a,this._quickSort.step(c,function(l,f){return x[f]-x[l]},s)}}},function(te,X,S){"use strict";X.a=`@export ecgl.sdfSprite.vertex
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
uniform float elapsedTime : 0;
attribute vec3 position : POSITION;
#ifdef VERTEX_SIZE
attribute float size;
#else
uniform float u_Size;
#endif
#ifdef VERTEX_COLOR
attribute vec4 a_FillColor: COLOR;
varying vec4 v_Color;
#endif
#ifdef VERTEX_ANIMATION
attribute vec3 prevPosition;
attribute float prevSize;
uniform float percent : 1.0;
#endif
#ifdef POSITIONTEXTURE_ENABLED
uniform sampler2D positionTexture;
#endif
varying float v_Size;
void main()
{
#ifdef POSITIONTEXTURE_ENABLED
gl_Position = worldViewProjection * vec4(texture2D(positionTexture, position.xy).xy, -10.0, 1.0);
#else
#ifdef VERTEX_ANIMATION
vec3 pos = mix(prevPosition, position, percent);
#else
vec3 pos = position;
#endif
gl_Position = worldViewProjection * vec4(pos, 1.0);
#endif
#ifdef VERTEX_SIZE
#ifdef VERTEX_ANIMATION
v_Size = mix(prevSize, size, percent);
#else
v_Size = size;
#endif
#else
v_Size = u_Size;
#endif
#ifdef VERTEX_COLOR
v_Color = a_FillColor;
#endif
gl_PointSize = v_Size;
}
@end
@export ecgl.sdfSprite.fragment
uniform vec4 color: [1, 1, 1, 1];
uniform vec4 strokeColor: [1, 1, 1, 1];
uniform float smoothing: 0.07;
uniform float lineWidth: 0.0;
#ifdef VERTEX_COLOR
varying vec4 v_Color;
#endif
varying float v_Size;
uniform sampler2D sprite;
@import clay.util.srgb
void main()
{
gl_FragColor = color;
vec4 _strokeColor = strokeColor;
#ifdef VERTEX_COLOR
gl_FragColor *= v_Color;
#endif
#ifdef SPRITE_ENABLED
float d = texture2D(sprite, gl_PointCoord).r;
gl_FragColor.a *= smoothstep(0.5 - smoothing, 0.5 + smoothing, d);
if (lineWidth > 0.0) {
float sLineWidth = lineWidth / 2.0;
float outlineMaxValue0 = 0.5 + sLineWidth;
float outlineMaxValue1 = 0.5 + sLineWidth + smoothing;
float outlineMinValue0 = 0.5 - sLineWidth - smoothing;
float outlineMinValue1 = 0.5 - sLineWidth;
if (d <= outlineMaxValue1 && d >= outlineMinValue0) {
float a = _strokeColor.a;
if (d <= outlineMinValue1) {
a = a * smoothstep(outlineMinValue0, outlineMinValue1, d);
}
else {
a = a * smoothstep(outlineMaxValue1, outlineMaxValue0, d);
}
gl_FragColor.rgb = mix(gl_FragColor.rgb * gl_FragColor.a, _strokeColor.rgb, a);
gl_FragColor.a = gl_FragColor.a * (1.0 - a) + a;
}
}
#endif
#ifdef SRGB_DECODE
gl_FragColor = sRGBToLinear(gl_FragColor);
#endif
}
@end`},function(te,X,S){"use strict";var K=S(0),y=S.n(K),L=S(221),A=S(222),s=S(225),x=S(16);y.a.registerVisual(Object(x.a)("lines3D")),y.a.registerAction({type:"lines3DPauseEffect",event:"lines3deffectpaused",update:"series.lines3D:pauseEffect"},function(){}),y.a.registerAction({type:"lines3DResumeEffect",event:"lines3deffectresumed",update:"series.lines3D:resumeEffect"},function(){}),y.a.registerAction({type:"lines3DToggleEffect",event:"lines3deffectchanged",update:"series.lines3D:toggleEffect"},function(){})},function(te,X,S){"use strict";var K=S(0),y=S.n(K),L=S(1),A=S.n(L),s=A.a.vec3,x=A.a.vec2,c=s.normalize,l=s.cross,f=s.sub,n=s.add,o=s.create,d=o(),m=o(),_=o(),h=o(),g=[],r=[];function a(O,z){x.copy(g,O[0]),x.copy(r,O[1]);var B=[],P=B[0]=o(),F=B[1]=o(),k=B[2]=o(),U=B[3]=o();z.dataToPoint(g,P),z.dataToPoint(r,U),c(d,P),f(m,U,P),c(m,m),l(_,m,d),c(_,_),l(m,d,_),n(F,d,m),c(F,F),c(d,U),f(m,P,U),c(m,m),l(_,m,d),c(_,_),l(m,d,_),n(k,d,m),c(k,k),n(h,P,U),c(h,h);var G=s.dot(P,h),C=s.dot(h,F),I=(Math.max(s.len(P),s.len(U))-G)/C*2;return s.scaleAndAdd(F,P,F,I),s.scaleAndAdd(k,U,k,I),B}function p(O,z,B){var P=[],F=P[0]=s.create(),k=P[1]=s.create(),U=P[2]=s.create(),G=P[3]=s.create();z.dataToPoint(O[0],F),z.dataToPoint(O[1],G);var C=s.dist(F,G);return s.lerp(k,F,G,.3),s.lerp(U,F,G,.3),s.scaleAndAdd(k,k,B,Math.min(C*.1,10)),s.scaleAndAdd(U,U,B,Math.min(C*.1,10)),P}function E(O,z){for(var B=new Float32Array(O.length*3),P=0,F=[],k=0;k<O.length;k++)z.dataToPoint(O[k],F),B[P++]=F[0],B[P++]=F[1],B[P++]=F[2];return B}function b(O){var z=[];return O.each(function(B){var P=O.getItemModel(B),F=P.option instanceof Array?P.option:P.getShallow("coords",!0);if(!(F instanceof Array&&F.length>0&&F[0]instanceof Array))throw new Error("Invalid coords "+JSON.stringify(F)+". Lines must have 2d coords array in data item.");z.push(F)}),{coordsList:z}}function w(O,z){var B=O.getData(),P=O.get("polyline");B.setLayout("lineType",P?"polyline":"cubicBezier");var F=b(B);B.each(function(k){var U=F.coordsList[k],G=P?E:a;B.setItemLayout(k,G(U,z))})}function R(O,z,B){var P=O.getData(),F=O.get("polyline"),k=b(P);P.setLayout("lineType",F?"polyline":"cubicBezier"),P.each(function(U){var G=k.coordsList[U],C=F?E(G,z):p(G,z,B);P.setItemLayout(U,C)})}y.a.registerLayout(function(O,z){O.eachSeriesByType("lines3D",function(B){var P=B.coordinateSystem;P.type==="globe"?w(B,P):P.type==="geo3D"?R(B,P,[0,1,0]):P.type==="mapbox3D"&&R(B,P,[0,0,1])})})},function(te,X,S){"use strict";var K=S(0),y=S.n(K),L=S(2),A=S(22),s=S(223),x=S(40);L.a.Shader.import(x.a);function c(f){return f.radius!=null?f.radius:f.size!=null?Math.max(f.size[0],f.size[1],f.size[2]):100}var l=y.a.extendChartView({type:"lines3D",__ecgl__:!0,init:function(f,n){this.groupGL=new L.a.Node,this._meshLinesMaterial=new L.a.Material({shader:L.a.createShader("ecgl.meshLines3D"),transparent:!0,depthMask:!1}),this._linesMesh=new L.a.Mesh({geometry:new A.a,material:this._meshLinesMaterial,$ignorePicking:!0}),this._trailMesh=new s.a},render:function(f,n,o){this.groupGL.add(this._linesMesh);var d=f.coordinateSystem,m=f.getData();if(d&&d.viewGL){var _=d.viewGL;_.add(this.groupGL),this._updateLines(f,n,o);var h=d.viewGL.isLinearSpace()?"define":"undefine";this._linesMesh.material[h]("fragment","SRGB_DECODE"),this._trailMesh.material[h]("fragment","SRGB_DECODE")}var g=this._trailMesh;if(g.stopAnimation(),f.get("effect.show")){this.groupGL.add(g),g.updateData(m,o,this._linesMesh.geometry),g.__time=g.__time||0;var r=3600*1e3;this._curveEffectsAnimator=g.animate("",{loop:!0}).when(r,{__time:r}).during(function(){g.setAnimationTime(g.__time)}).start()}else this.groupGL.remove(g),this._curveEffectsAnimator=null;this._linesMesh.material.blend=this._trailMesh.material.blend=f.get("blendMode")==="lighter"?L.a.additiveBlend:null},pauseEffect:function(){this._curveEffectsAnimator&&this._curveEffectsAnimator.pause()},resumeEffect:function(){this._curveEffectsAnimator&&this._curveEffectsAnimator.resume()},toggleEffect:function(){var f=this._curveEffectsAnimator;f&&(f.isPaused()?f.resume():f.pause())},_updateLines:function(f,n,o){var d=f.getData(),m=f.coordinateSystem,_=this._linesMesh.geometry,h=f.get("polyline");_.expandLine=!0;var g=c(m);_.segmentScale=g/20;var r="lineStyle.width".split("."),a=o.getDevicePixelRatio(),p=0;d.each(function(R){var O=d.getItemModel(R),z=O.get(r);z==null&&(z=1),d.setItemVisual(R,"lineWidth",z),p=Math.max(z,p)}),_.useNativeLine=!1;var E=0,b=0;d.each(function(R){var O=d.getItemLayout(R);h?(E+=_.getPolylineVertexCount(O),b+=_.getPolylineTriangleCount(O)):(E+=_.getCubicCurveVertexCount(O[0],O[1],O[2],O[3]),b+=_.getCubicCurveTriangleCount(O[0],O[1],O[2],O[3]))}),_.setVertexCount(E),_.setTriangleCount(b),_.resetOffset();var w=[];d.each(function(R){var O=d.getItemLayout(R),z=d.getItemVisual(R,"color"),B=d.getItemVisual(R,"opacity"),P=d.getItemVisual(R,"lineWidth")*a;B==null&&(B=1),w=L.a.parseColor(z,w),w[3]*=B,h?_.addPolyline(O,w,P):_.addCubicCurve(O[0],O[1],O[2],O[3],w,P)}),_.dirty()},remove:function(){this.groupGL.removeAll()},dispose:function(){this.groupGL.removeAll()}})},function(te,X,S){"use strict";var K=S(0),y=S.n(K),L=S(2),A=S(1),s=S.n(A),x=S(22),c=S(224),l=s.a.vec3;function f(n){return n>0?1:-1}L.a.Shader.import(c.a),X.a=L.a.Mesh.extend(function(){var n=new L.a.Material({shader:new L.a.Shader(L.a.Shader.source("ecgl.trail2.vertex"),L.a.Shader.source("ecgl.trail2.fragment")),transparent:!0,depthMask:!1}),o=new x.a({dynamic:!0});return o.createAttribute("dist","float",1),o.createAttribute("distAll","float",1),o.createAttribute("start","float",1),{geometry:o,material:n,culling:!1,$ignorePicking:!0}},{updateData:function(n,o,d){var m=n.hostModel,_=this.geometry,h=m.getModel("effect"),g=h.get("trailWidth")*o.getDevicePixelRatio(),r=h.get("trailLength"),a=m.get("effect.constantSpeed"),p=m.get("effect.period")*1e3,E=a!=null;this.getScene()||console.error("TrailMesh must been add to scene before updateData"),E?this.material.set("speed",a/1e3):this.material.set("period",p),this.material[E?"define":"undefine"]("vertex","CONSTANT_SPEED");var b=m.get("polyline");_.trailLength=r,this.material.set("trailLength",r),_.resetOffset(),["position","positionPrev","positionNext"].forEach(function(I){_.attributes[I].value=d.attributes[I].value});var w=["dist","distAll","start","offset","color"];w.forEach(function(I){_.attributes[I].init(_.vertexCount)}),_.indices=d.indices;var R=[],O=h.get("trailColor"),z=h.get("trailOpacity"),B=O!=null,P=z!=null;this.updateWorldTransform();var F=this.worldTransform.x.len(),k=this.worldTransform.y.len(),U=this.worldTransform.z.len(),G=0,C=0;n.each(function(I){var H=n.getItemLayout(I),$=P?z:n.getItemVisual(I,"opacity"),q=n.getItemVisual(I,"color");$==null&&($=1),R=L.a.parseColor(B?O:q,R),R[3]*=$;for(var se=b?d.getPolylineVertexCount(H):d.getCubicCurveVertexCount(H[0],H[1],H[2],H[3]),ue=0,me=[],Ee=[],Le=G;Le<G+se;Le++)_.attributes.position.get(Le,me),me[0]*=F,me[1]*=k,me[2]*=U,Le>G&&(ue+=l.dist(me,Ee)),_.attributes.dist.set(Le,ue),l.copy(Ee,me);C=Math.max(C,ue);for(var Fe=Math.random()*(E?ue:p),Le=G;Le<G+se;Le++)_.attributes.distAll.set(Le,ue),_.attributes.start.set(Le,Fe),_.attributes.offset.set(Le,f(d.attributes.offset.get(Le))*g/2),_.attributes.color.set(Le,R);G+=se}),this.material.set("spotSize",C*.1*r),this.material.set("spotIntensity",h.get("spotIntensity")),_.dirty()},setAnimationTime:function(n){this.material.set("time",n)}})},function(te,X,S){"use strict";X.a=`@export ecgl.trail2.vertex
attribute vec3 position: POSITION;
attribute vec3 positionPrev;
attribute vec3 positionNext;
attribute float offset;
attribute float dist;
attribute float distAll;
attribute float start;
attribute vec4 a_Color : COLOR;
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
uniform vec4 viewport : VIEWPORT;
uniform float near : NEAR;
uniform float speed : 0;
uniform float trailLength: 0.3;
uniform float time;
uniform float period: 1000;
uniform float spotSize: 1;
varying vec4 v_Color;
varying float v_Percent;
varying float v_SpotPercent;
@import ecgl.common.wireframe.vertexHeader
@import ecgl.lines3D.clipNear
void main()
{
@import ecgl.lines3D.expandLine
gl_Position = currProj;
v_Color = a_Color;
@import ecgl.common.wireframe.vertexMain
#ifdef CONSTANT_SPEED
float t = mod((speed * time + start) / distAll, 1. + trailLength) - trailLength;
#else
float t = mod((time + start) / period, 1. + trailLength) - trailLength;
#endif
float trailLen = distAll * trailLength;
v_Percent = (dist - t * distAll) / trailLen;
v_SpotPercent = spotSize / distAll;
}
@end
@export ecgl.trail2.fragment
uniform vec4 color : [1.0, 1.0, 1.0, 1.0];
uniform float spotIntensity: 5;
varying vec4 v_Color;
varying float v_Percent;
varying float v_SpotPercent;
@import ecgl.common.wireframe.fragmentHeader
@import clay.util.srgb
void main()
{
if (v_Percent > 1.0 || v_Percent < 0.0) {
discard;
}
float fade = v_Percent;
#ifdef SRGB_DECODE
gl_FragColor = sRGBToLinear(color * v_Color);
#else
gl_FragColor = color * v_Color;
#endif
@import ecgl.common.wireframe.fragmentMain
if (v_Percent > (1.0 - v_SpotPercent)) {
gl_FragColor.rgb *= spotIntensity;
}
gl_FragColor.a *= fade;
}
@end`},function(te,X,S){"use strict";var K=S(0),y=S.n(K);y.a.extendSeriesModel({type:"series.lines3D",dependencies:["globe"],visualColorAccessPath:"lineStyle.color",getInitialData:function(L,A){var s=new y.a.List(["value"],this);return s.hasItemOption=!1,s.initData(L.data,[],function(x,c,l,f){if(x instanceof Array)return NaN;s.hasItemOption=!0;var n=x.value;if(n!=null)return n instanceof Array?n[f]:n}),s},defaultOption:{coordinateSystem:"globe",globeIndex:0,geo3DIndex:0,zlevel:-10,polyline:!1,effect:{show:!1,period:4,trailWidth:4,trailLength:.2,spotIntensity:6},silent:!0,blendMode:"source-over",lineStyle:{width:1,opacity:.5}}})},function(te,X,S){"use strict";var K=S(0),y=S.n(K),L=S(227),A=S(228),s=S(16);y.a.registerVisual(Object(s.a)("polygons3D"))},function(te,X,S){"use strict";var K=S(0),y=S.n(K),L=S(26);function A(c,l){for(var f=[],n=0;n<l.length;n++)f.push(c.dataToPoint(l[n]));return f}var s=y.a.extendSeriesModel({type:"series.polygons3D",getRegionModel:function(c){return this.getData().getItemModel(c)},getRegionPolygonCoords:function(c){var l=this.coordinateSystem,f=this.getData().getItemModel(c),n=f.option instanceof Array?f.option:f.getShallow("coords");f.get("multiPolygon")||(n=[n]);for(var o=[],d=0;d<n.length;d++){for(var m=[],_=1;_<n[d].length;_++)m.push(A(l,n[d][_]));o.push({exterior:A(l,n[d][0]),interiors:m})}return o},getInitialData:function(c){var l=new y.a.List(["value"],this);return l.hasItemOption=!1,l.initData(c.data,[],function(f,n,o,d){if(f instanceof Array)return NaN;l.hasItemOption=!0;var m=f.value;if(m!=null)return m instanceof Array?m[d]:m}),l},defaultOption:{show:!0,data:null,multiPolygon:!1,progressiveThreshold:1e3,progressive:1e3,zlevel:-10,label:{show:!1,distance:2,textStyle:{fontSize:20,color:"#000",backgroundColor:"rgba(255,255,255,0.7)",padding:3,borderRadius:4}},itemStyle:{color:"#fff",borderWidth:0,borderColor:"#333"},emphasis:{itemStyle:{color:"#639fc0"},label:{show:!0}}}});y.a.util.merge(s.prototype,L.a);var x=s},function(te,X,S){"use strict";var K=S(0),y=S.n(K),L=S(59),A=S(2);y.a.extendChartView({type:"polygons3D",__ecgl__:!0,init:function(s,x){this.groupGL=new A.a.Node,this._geo3DBuilderList=[],this._currentStep=0},render:function(s,x,c){this.groupGL.removeAll();var l=s.coordinateSystem;l&&l.viewGL&&l.viewGL.add(this.groupGL);var f=this._geo3DBuilderList[0];f||(f=new L.a(c),f.extrudeY=l.type!=="mapbox3D",this._geo3DBuilderList[0]=f),this._updateShaderDefines(l,f),f.update(s,x,c),this._geo3DBuilderList.length=1,this.groupGL.add(f.rootNode)},incrementalPrepareRender:function(s,x,c){this.groupGL.removeAll();var l=s.coordinateSystem;l&&l.viewGL&&l.viewGL.add(this.groupGL),this._currentStep=0},incrementalRender:function(s,x,c,l){var f=this._geo3DBuilderList[this._currentStep],n=x.coordinateSystem;f||(f=new L.a(l),f.extrudeY=n.type!=="mapbox3D",this._geo3DBuilderList[this._currentStep]=f),f.update(x,c,l,s.start,s.end),this.groupGL.add(f.rootNode),this._updateShaderDefines(n,f),this._currentStep++},_updateShaderDefines:function(s,x){var c=s.viewGL.isLinearSpace()?"define":"undefine";x.rootNode.traverse(function(l){l.material&&(l.material[c]("fragment","SRGB_DECODE"),s.type==="mapbox3D"&&(l.material.define("fragment","NORMAL_UP_AXIS",2),l.material.define("fragment","NORMAL_FRONT_AXIS",1)))})},remove:function(){this.groupGL.removeAll()},dispose:function(){this.groupGL.removeAll()}})},function(te,X,S){"use strict";var K=S(0),y=S.n(K),L=S(230),A=S(231),s=S(232),x=S(16);y.a.registerVisual(Object(x.a)("surface"))},function(te,X,S){"use strict";var K=S(0),y=S.n(K),L=S(26),A=S(35),s=S(44),x=y.a.extendSeriesModel({type:"series.surface",dependencies:["globe","grid3D","geo3D"],visualColorAccessPath:"itemStyle.color",formatTooltip:function(l){return Object(A.a)(this,l)},getInitialData:function(l,f){var n=l.data;function o(H){return!(isNaN(H.min)||isNaN(H.max)||isNaN(H.step))}function d(H){var $=y.a.number.getPrecisionSafe;return Math.max($(H.min),$(H.max),$(H.step))+1}if(!n)if(n=[],l.parametric){var R=l.parametricEquation||{},O=R.u||{},z=R.v||{};["u","v"].forEach(function(H){if(!o(R[H])){console.error("Invalid parametricEquation.%s",H);return}}),["x","y","z"].forEach(function(H){if(typeof R[H]!="function"){console.error("parametricEquation.%s needs to be function",H);return}});for(var B=d(O),P=d(z),F=z.min;F<z.max+z.step*.999;F+=z.step)for(var k=O.min;k<O.max+O.step*.999;k+=O.step){var U=y.a.number.round(Math.min(k,O.max),B),G=y.a.number.round(Math.min(F,z.max),P),p=R.x(U,G),a=R.y(U,G),w=R.z(U,G);n.push([p,a,w,U,G])}}else{var m=l.equation||{},_=m.x||{},h=m.y||{};if(["x","y"].forEach(function(H){if(!o(m[H])){console.error("Invalid equation.%s",H);return}}),typeof m.z!="function"){console.error("equation.z needs to be function");return}for(var g=d(_),r=d(h),a=h.min;a<h.max+h.step*.999;a+=h.step)for(var p=_.min;p<_.max+_.step*.999;p+=_.step){var E=y.a.number.round(Math.min(p,_.max),g),b=y.a.number.round(Math.min(a,h.max),r),w=m.z(E,b);n.push([E,b,w])}}var C=["x","y","z"];l.parametric&&C.push("u","v");var I=Object(s.a)(this,C,l.data||n);return I},defaultOption:{coordinateSystem:"cartesian3D",zlevel:-10,grid3DIndex:0,shading:"lambert",parametric:!1,wireframe:{show:!0,lineStyle:{color:"rgba(0,0,0,0.5)",width:1}},equation:{x:{min:-1,max:1,step:.1},y:{min:-1,max:1,step:.1},z:null},parametricEquation:{u:{min:-1,max:1,step:.1},v:{min:-1,max:1,step:.1},x:null,y:null,z:null},itemStyle:{},animationDurationUpdate:500}});y.a.util.merge(x.prototype,L.a);var c=x},function(te,X,S){"use strict";var K=S(0),y=S.n(K),L=S(2),A=S(3),s=S(1),x=S.n(s),c=S(60),l=x.a.vec3;function f(n){return isNaN(n[0])||isNaN(n[1])||isNaN(n[2])}y.a.extendChartView({type:"surface",__ecgl__:!0,init:function(n,o){this.groupGL=new L.a.Node},render:function(n,o,d){var m=this._prevSurfaceMesh;this._prevSurfaceMesh=this._surfaceMesh,this._surfaceMesh=m,this._surfaceMesh||(this._surfaceMesh=this._createSurfaceMesh()),this.groupGL.remove(this._prevSurfaceMesh),this.groupGL.add(this._surfaceMesh);var _=n.coordinateSystem,h=n.get("shading"),g=n.getData(),r="ecgl."+h;if((!this._surfaceMesh.material||this._surfaceMesh.material.shader.name!==r)&&(this._surfaceMesh.material=L.a.createMaterial(r,["VERTEX_COLOR","DOUBLE_SIDED"])),L.a.setMaterialFromModel(h,this._surfaceMesh.material,n,d),_&&_.viewGL){_.viewGL.add(this.groupGL);var a=_.viewGL.isLinearSpace()?"define":"undefine";this._surfaceMesh.material[a]("fragment","SRGB_DECODE")}var p=n.get("parametric"),E=this._getDataShape(g,p),b=n.getModel("wireframe"),w=b.get("lineStyle.width"),R=b.get("show")&&w>0;this._updateSurfaceMesh(this._surfaceMesh,n,E,R);var O=this._surfaceMesh.material;R?(O.define("WIREFRAME_QUAD"),O.set("wireframeLineWidth",w),O.set("wireframeLineColor",L.a.parseColor(b.get("lineStyle.color")))):O.undefine("WIREFRAME_QUAD"),this._initHandler(n,d),this._updateAnimation(n)},_updateAnimation:function(n){L.a.updateVertexAnimation([["prevPosition","position"],["prevNormal","normal"]],this._prevSurfaceMesh,this._surfaceMesh,n)},_createSurfaceMesh:function(){var n=new L.a.Mesh({geometry:new L.a.Geometry({dynamic:!0,sortTriangles:!0}),shadowDepthMaterial:new L.a.Material({shader:new L.a.Shader(L.a.Shader.source("ecgl.sm.depth.vertex"),L.a.Shader.source("ecgl.sm.depth.fragment"))}),culling:!1,renderOrder:10,renderNormal:!0});return n.geometry.createAttribute("barycentric","float",4),n.geometry.createAttribute("prevPosition","float",3),n.geometry.createAttribute("prevNormal","float",3),y.a.util.extend(n.geometry,c.a),n},_initHandler:function(n,o){var d=n.getData(),m=this._surfaceMesh,_=n.coordinateSystem;function h(r,a){for(var p=1/0,E=-1,b=[],w=0;w<r.length;w++){m.geometry.attributes.position.get(r[w],b);var R=l.dist(a.array,b);R<p&&(p=R,E=r[w])}return E}m.seriesIndex=n.seriesIndex;var g=-1;m.off("mousemove"),m.off("mouseout"),m.on("mousemove",function(r){var a=h(r.triangle,r.point);if(a>=0){var p=[];m.geometry.attributes.position.get(a,p);for(var E=_.pointToData(p),b=1/0,w=-1,R=[],O=0;O<d.count();O++){R[0]=d.get("x",O),R[1]=d.get("y",O),R[2]=d.get("z",O);var z=l.squaredDistance(R,E);z<b&&(w=O,b=z)}w!==g&&o.dispatchAction({type:"grid3DShowAxisPointer",value:E}),g=w,m.dataIndex=w}else m.dataIndex=-1},this),m.on("mouseout",function(r){g=-1,m.dataIndex=-1,o.dispatchAction({type:"grid3DHideAxisPointer"})},this)},_updateSurfaceMesh:function(n,o,d,m){var _=n.geometry,h=o.getData(),g=h.getLayout("points"),r=0;h.each(function(xe){h.hasValue(xe)||r++});var a=r||m,p=_.attributes.position,E=_.attributes.normal,b=_.attributes.texcoord0,w=_.attributes.barycentric,R=_.attributes.color,O=d.row,z=d.column,B=o.get("shading"),P=B!=="color";if(a){var F=(O-1)*(z-1)*4;p.init(F),m&&w.init(F)}else p.value=new Float32Array(g);R.init(_.vertexCount),b.init(_.vertexCount);var k=[0,3,1,1,3,2],U=[[1,1,0,0],[0,1,0,1],[1,0,0,1],[1,0,1,0]],G=_.indices=new(_.vertexCount>65535?Uint32Array:Uint16Array)((O-1)*(z-1)*6),C=function(xe,Ne,Be){Be[1]=xe*z+Ne,Be[0]=xe*z+Ne+1,Be[3]=(xe+1)*z+Ne+1,Be[2]=(xe+1)*z+Ne},I=!1;if(a){var H=[],$=[],q=0;P?E.init(_.vertexCount):E.value=null;for(var se=[[],[],[]],ue=[],me=[],Ee=l.create(),Le=function(xe,Ne,Be){var je=Ne*3;return Be[0]=xe[je],Be[1]=xe[je+1],Be[2]=xe[je+2],Be},Fe=new Float32Array(g.length),Ke=new Float32Array(g.length/3*4),Te=0;Te<h.count();Te++)if(h.hasValue(Te)){var ce=L.a.parseColor(h.getItemVisual(Te,"color")),We=h.getItemVisual(Te,"opacity");ce[3]*=We,ce[3]<.99&&(I=!0);for(var Ce=0;Ce<4;Ce++)Ke[Te*4+Ce]=ce[Ce]}for(var De=[1e7,1e7,1e7],Te=0;Te<O-1;Te++)for(var ge=0;ge<z-1;ge++){var Re=Te*(z-1)+ge,ve=Re*4;C(Te,ge,H);for(var we=!1,Ce=0;Ce<4;Ce++)Le(g,H[Ce],$),f($)&&(we=!0);for(var Ce=0;Ce<4;Ce++)we?p.set(ve+Ce,De):(Le(g,H[Ce],$),p.set(ve+Ce,$)),m&&w.set(ve+Ce,U[Ce]);for(var Ce=0;Ce<6;Ce++)G[q++]=k[Ce]+ve;if(P&&!we)for(var Ce=0;Ce<2;Ce++){for(var Ue=Ce*3,de=0;de<3;de++){var oe=H[k[Ue]+de];Le(g,oe,se[de])}l.sub(ue,se[0],se[1]),l.sub(me,se[1],se[2]),l.cross(Ee,ue,me);for(var de=0;de<3;de++){var ne=H[k[Ue]+de]*3;Fe[ne]=Fe[ne]+Ee[0],Fe[ne+1]=Fe[ne+1]+Ee[1],Fe[ne+2]=Fe[ne+2]+Ee[2]}}}if(P)for(var Te=0;Te<Fe.length/3;Te++)Le(Fe,Te,Ee),l.normalize(Ee,Ee),Fe[Te*3]=Ee[0],Fe[Te*3+1]=Ee[1],Fe[Te*3+2]=Ee[2];for(var ce=[],ye=[],Te=0;Te<O-1;Te++)for(var ge=0;ge<z-1;ge++){var Re=Te*(z-1)+ge,ve=Re*4;C(Te,ge,H);for(var Ce=0;Ce<4;Ce++){for(var de=0;de<4;de++)ce[de]=Ke[H[Ce]*4+de];R.set(ve+Ce,ce),P&&(Le(Fe,H[Ce],Ee),E.set(ve+Ce,Ee));var oe=H[Ce];ye[0]=oe%z/(z-1),ye[1]=Math.floor(oe/z)/(O-1),b.set(ve+Ce,ye)}Re++}}else{for(var ye=[],Te=0;Te<h.count();Te++){ye[0]=Te%z/(z-1),ye[1]=Math.floor(Te/z)/(O-1);var ce=L.a.parseColor(h.getItemVisual(Te,"color")),We=h.getItemVisual(Te,"opacity");ce[3]*=We,ce[3]<.99&&(I=!0),R.set(Te,ce),b.set(Te,ye)}for(var H=[],he=0,Te=0;Te<O-1;Te++)for(var ge=0;ge<z-1;ge++){C(Te,ge,H);for(var Ce=0;Ce<6;Ce++)G[he++]=H[k[Ce]]}P?_.generateVertexNormals():E.value=null}n.material.get("normalMap")&&_.generateTangents(),_.updateBoundingBox(),_.dirty(),n.material.transparent=I,n.material.depthMask=!I},_getDataShape:function(n,o){for(var d=-1/0,m=0,_=0,h=0,g=o?"u":"x",r=0;r<n.count();r++){var a=n.get(g,r);if(a<d){if(h&&h!==_)throw new Error("Invalid data. data should be a row major 2d array.");h=_,_=0,m++}d=a,_++}return{row:m+1,column:_}},dispose:function(){this.groupGL.removeAll()},remove:function(){this.groupGL.removeAll()}})},function(te,X,S){"use strict";var K=S(0),y=S.n(K);y.a.registerLayout(function(L,A){L.eachSeriesByType("surface",function(s){var x=s.coordinateSystem;(!x||x.type!=="cartesian3D")&&console.error("Surface chart only support cartesian3D coordinateSystem");var c=s.getData(),l=new Float32Array(3*c.count()),f=[NaN,NaN,NaN];if(x&&x.type==="cartesian3D"){var n=x.dimensions,o=n.map(function(d){return s.coordDimToDataDim(d)[0]});c.each(o,function(d,m,_,h){var g;c.hasValue(h)?g=x.dataToPoint([d,m,_]):g=f,l[h*3]=g[0],l[h*3+1]=g[1],l[h*3+2]=g[2]})}c.setLayout("points",l)})})},function(te,X,S){"use strict";var K=S(0),y=S.n(K),L=S(83),A=S(234),s=S(235),x=S(16);y.a.registerVisual(Object(x.a)("map3D")),y.a.registerAction({type:"map3DChangeCamera",event:"map3dcamerachanged",update:"series:updateCamera"},function(c,l){l.eachComponent({mainType:"series",subType:"map3D",query:c},function(f){f.setView(c)})})},function(te,X,S){"use strict";var K=S(0),y=S.n(K),L=S(38),A=S(31),s=S(32),x=S(26),c=S(80),l=S(27),f=S(35),n=S(82);function o(_,h){for(var g=[],r=0;r<h.length;r++)g.push(_.dataToPoint(h[r]));return g}var d=y.a.extendSeriesModel({type:"series.map3D",layoutMode:"box",coordinateSystem:null,visualColorAccessPath:"itemStyle.color",optionUpdated:function(_){_=_||{};var h=this.get("coordinateSystem");if(!(h==null||h==="geo3D")){var g=["left","top","width","height","boxWidth","boxDepth","boxHeight","light","viewControl","postEffect","temporalSuperSampling","environment","groundPlane"],r=[];g.forEach(function(a){_[a]!=null&&r.push(a)}),r.length&&console.warn("Property %s in map3D series will be ignored if coordinate system is %s",r.join(", "),h),this.get("groundPlane.show")&&(this.option.groundPlane.show=!1),this._geo=null}},getInitialData:function(_){_.data=this.getFilledRegions(_.data,_.map);var h=y.a.helper.completeDimensions(["value"],_.data),g=new y.a.List(h,this);g.initData(_.data);var r={};return g.each(function(a){var p=g.getName(a),E=g.getItemModel(a);r[p]=E}),this._regionModelMap=r,g},formatTooltip:function(_){return Object(f.a)(this,_)},getRegionModel:function(_){var h=this.getData().getName(_);return this._regionModelMap[h]||new y.a.Model(null,this)},getRegionPolygonCoords:function(_){var h=this.coordinateSystem,g=this.getData().getName(_);if(h.transform){var r=h.getRegion(g);return r?r.geometries:[]}else{this._geo||(this._geo=n.a.createGeo3D(this));for(var r=this._geo.getRegion(g),a=[],p=0;p<r.geometries.length;p++){var E=r.geometries[p],b=[],w=o(h,E.exterior);if(b&&b.length)for(var R=0;R<E.interiors.length;R++)b.push(o(h,b[R]));a.push({interiors:b,exterior:w})}return a}},getFormattedLabel:function(_,h){var g=l.a.getFormattedLabel(this,_,h);return g==null&&(g=this.getData().getName(_)),g},defaultOption:{coordinateSystem:"geo3D",data:null}});y.a.util.merge(d.prototype,c.a),y.a.util.merge(d.prototype,L.a),y.a.util.merge(d.prototype,A.a),y.a.util.merge(d.prototype,s.a),y.a.util.merge(d.prototype,x.a);var m=d},function(te,X,S){"use strict";var K=S(0),y=S.n(K),L=S(2),A=S(39),s=S(34),x=S(59),c=y.a.extendChartView({type:"map3D",__ecgl__:!0,init:function(l,f){this._geo3DBuilder=new x.a(f),this.groupGL=new L.a.Node},render:function(l,f,n){var o=l.coordinateSystem;if(!(!o||!o.viewGL)){this.groupGL.add(this._geo3DBuilder.rootNode),o.viewGL.add(this.groupGL);var d;if(o.type==="geo3D"){d=o,this._sceneHelper||(this._sceneHelper=new s.a,this._sceneHelper.initLight(this.groupGL)),this._sceneHelper.setScene(o.viewGL.scene),this._sceneHelper.updateLight(l),o.viewGL.setPostEffect(l.getModel("postEffect"),n),o.viewGL.setTemporalSuperSampling(l.getModel("temporalSuperSampling"));var m=this._control;m||(m=this._control=new A.a({zr:n.getZr()}),this._control.init());var _=l.getModel("viewControl");m.setViewGL(o.viewGL),m.setFromViewControlModel(_,0),m.off("update"),m.on("update",function(){n.dispatchAction({type:"map3DChangeCamera",alpha:m.getAlpha(),beta:m.getBeta(),distance:m.getDistance(),from:this.uid,map3DId:l.id})}),this._geo3DBuilder.extrudeY=!0}else this._control&&(this._control.dispose(),this._control=null),this._sceneHelper&&(this._sceneHelper.dispose(),this._sceneHelper=null),d=l.getData().getLayout("geo3D"),this._geo3DBuilder.extrudeY=!1;this._geo3DBuilder.update(l,f,n,0,l.getData().count());var h=o.viewGL.isLinearSpace()?"define":"undefine";this._geo3DBuilder.rootNode.traverse(function(g){g.material&&g.material[h]("fragment","SRGB_DECODE")})}},afterRender:function(l,f,n,o){var d=o.renderer,m=l.coordinateSystem;m&&m.type==="geo3D"&&(this._sceneHelper.updateAmbientCubemap(d,l,n),this._sceneHelper.updateSkybox(d,l,n))},dispose:function(){this.groupGL.removeAll(),this._control.dispose()}})},function(te,X,S){"use strict";var K=S(0),y=S.n(K),L=S(237),A=S(238),s=S(45),x=S.n(s),c=S(16);y.a.registerVisual(x()("scatterGL","circle",null)),y.a.registerVisual(Object(c.a)("scatterGL")),y.a.registerLayout({seriesType:"scatterGL",reset:function(l){var f=l.coordinateSystem,n;if(f){var o=f.dimensions,d=[];o.length===1?n=function(m,_){for(var h=new Float32Array((m.end-m.start)*2),g=m.start;g<m.end;g++){var r=(g-m.start)*2,a=_.get(o[0],g),p=f.dataToPoint(a);h[r]=p[0],h[r+1]=p[1]}_.setLayout("points",h)}:o.length===2&&(n=function(m,_){for(var h=new Float32Array((m.end-m.start)*2),g=m.start;g<m.end;g++){var r=(g-m.start)*2,a=_.get(o[0],g),p=_.get(o[1],g);d[0]=a,d[1]=p,d=f.dataToPoint(d),h[r]=d[0],h[r+1]=d[1]}_.setLayout("points",h)})}return{progress:n}}})},function(te,X,S){"use strict";var K=S(0),y=S.n(K);y.a.extendSeriesModel({type:"series.scatterGL",dependencies:["grid","polar","geo","singleAxis"],visualColorAccessPath:"itemStyle.color",getInitialData:function(){return y.a.helper.createList(this)},defaultOption:{coordinateSystem:"cartesian2d",zlevel:10,progressive:1e5,progressiveThreshold:1e5,large:!1,symbol:"circle",symbolSize:10,zoomScale:0,blendMode:"source-over",itemStyle:{opacity:.8},postEffect:{enable:!1,colorCorrection:{exposure:0,brightness:0,contrast:1,saturation:1,enable:!0}}}})},function(te,X,S){"use strict";var K=S(0),y=S.n(K),L=S(2),A=S(20),s=S(62),x=S(84),c=S(3);y.a.extendChartView({type:"scatterGL",__ecgl__:!0,init:function(l,f){this.groupGL=new L.a.Node,this.viewGL=new A.a("orthographic"),this.viewGL.add(this.groupGL),this._pointsBuilderList=[],this._currentStep=0,this._sizeScale=1,this._glViewHelper=new x.a(this.viewGL)},render:function(l,f,n){if(this.groupGL.removeAll(),this._glViewHelper.reset(l,n),!!l.getData().count()){var o=this._pointsBuilderList[0];o||(o=this._pointsBuilderList[0]=new s.a(!0,n)),this._pointsBuilderList.length=1,this.groupGL.add(o.rootNode),this._removeTransformInPoints(l.getData().getLayout("points")),o.update(l,f,n),this.viewGL.setPostEffect(l.getModel("postEffect"),n)}},incrementalPrepareRender:function(l,f,n){this.groupGL.removeAll(),this._glViewHelper.reset(l,n),this._currentStep=0,this.viewGL.setPostEffect(l.getModel("postEffect"),n)},incrementalRender:function(l,f,n,o){if(!(l.end<=l.start)){var d=this._pointsBuilderList[this._currentStep];d||(d=new s.a(!0,o),this._pointsBuilderList[this._currentStep]=d),this.groupGL.add(d.rootNode),this._removeTransformInPoints(f.getData().getLayout("points")),d.setSizeScale(this._sizeScale),d.update(f,n,o,l.start,l.end),o.getZr().refresh(),this._currentStep++}},updateTransform:function(l,f,n){if(l.coordinateSystem.getRoamTransform){this._glViewHelper.updateTransform(l,n);var o=this._glViewHelper.getZoom(),d=Math.max((l.get("zoomScale")||0)*(o-1)+1,0);this._sizeScale=d,this._pointsBuilderList.forEach(function(m){m.setSizeScale(d)})}},_removeTransformInPoints:function(l){if(l)for(var f=[],n=0;n<l.length;n+=2)f[0]=l[n],f[1]=l[n+1],this._glViewHelper.removeTransformInPoint(f),l[n]=f[0],l[n+1]=f[1]},dispose:function(){this.groupGL.removeAll()},remove:function(){this.groupGL.removeAll()}})},function(te,X,S){"use strict";var K=S(0),y=S.n(K),L=S(240),A=S(246),s=S(45),x=S.n(s),c=S(16);y.a.registerVisual(x()("graphGL","circle",null)),y.a.registerVisual(Object(c.a)("graphGL")),y.a.registerVisual(function(f){var n={};f.eachSeriesByType("graphGL",function(o){var d=o.getCategoriesData(),m=o.getData(),_={};d.each(function(h){var g=d.getName(h);_[g]=h;var r=d.getItemModel(h),a=r.get("itemStyle.color")||o.getColorFromPalette(g,n);d.setItemVisual(h,"color",a)}),d.count()&&m.each(function(h){var g=m.getItemModel(h),r=g.getShallow("category");r!=null&&(typeof r=="string"&&(r=_[r]),m.getItemVisual(h,"color",!0)||m.setItemVisual(h,"color",d.getItemVisual(r,"color")))})})}),y.a.registerVisual(function(f){f.eachSeriesByType("graphGL",function(n){var o=n.getGraph(),d=n.getEdgeData(),m="lineStyle.color".split("."),_="lineStyle.opacity".split(".");d.setVisual("color",n.get(m)),d.setVisual("opacity",n.get(_)),d.each(function(h){var g=d.getItemModel(h),r=o.getEdgeByIndex(h),a=g.get(m),p=g.get(_);switch(a){case"source":a=r.node1.getVisual("color");break;case"target":a=r.node2.getVisual("color");break}r.setVisual("color",a),r.setVisual("opacity",p)})})}),y.a.registerAction({type:"graphGLRoam",event:"graphglroam",update:"series.graphGL:roam"},function(f,n){n.eachComponent({mainType:"series",query:f},function(o){o.setView(f)})});function l(){}y.a.registerAction({type:"graphGLStartLayout",event:"graphgllayoutstarted",update:"series.graphGL:startLayout"},l),y.a.registerAction({type:"graphGLStopLayout",event:"graphgllayoutstopped",update:"series.graphGL:stopLayout"},l),y.a.registerAction({type:"graphGLFocusNodeAdjacency",event:"graphGLFocusNodeAdjacency",update:"series.graphGL:focusNodeAdjacency"},l),y.a.registerAction({type:"graphGLUnfocusNodeAdjacency",event:"graphGLUnfocusNodeAdjacency",update:"series.graphGL:unfocusNodeAdjacency"},l)},function(te,X,S){"use strict";var K=S(0),y=S.n(K),L=S(241),A=S(27),s=y.a.extendSeriesModel({type:"series.graphGL",visualColorAccessPath:"itemStyle.color",init:function(c){s.superApply(this,"init",arguments),this.legendDataProvider=function(){return this._categoriesData},this._updateCategoriesData()},mergeOption:function(c){s.superApply(this,"mergeOption",arguments),this._updateCategoriesData()},getFormattedLabel:function(c,l,f,n){var o=A.a.getFormattedLabel(this,c,l,f,n);if(o==null){var d=this.getData(),m=d.dimensions[d.dimensions.length-1];o=d.get(m,c)}return o},getInitialData:function(c,l){var f=c.edges||c.links||[],n=c.data||c.nodes||[],o=this;if(n&&f)return Object(L.a)(n,f,this,!0,d).data;function d(m,_){m.wrapMethod("getItemModel",function(a){var p=o._categoriesModels,E=a.getShallow("category"),b=p[E];return b&&(b.parentModel=a.parentModel,a.parentModel=b),a});var h=o.getModel("edgeLabel"),g=new y.a.Model({label:h.option},h.parentModel,l);_.wrapMethod("getItemModel",function(a){return a.customizeGetParent(r),a});function r(a){return a=this.parsePath(a),a&&a[0]==="label"?g:this.parentModel}}},getGraph:function(){return this.getData().graph},getEdgeData:function(){return this.getGraph().edgeData},getCategoriesData:function(){return this._categoriesData},formatTooltip:function(c,l,f){if(f==="edge"){var n=this.getData(),o=this.getDataParams(c,f),d=n.graph.getEdgeByIndex(c),m=n.getName(d.node1.dataIndex),_=n.getName(d.node2.dataIndex),h=[];return m!=null&&h.push(m),_!=null&&h.push(_),h=y.a.format.encodeHTML(h.join(" > ")),o.value&&(h+=" : "+y.a.format.encodeHTML(o.value)),h}else return s.superApply(this,"formatTooltip",arguments)},_updateCategoriesData:function(){var c=(this.option.categories||[]).map(function(f){return f.value!=null?f:y.a.util.extend({value:0},f)}),l=new y.a.List(["value"],this);l.initData(c),this._categoriesData=l,this._categoriesModels=l.mapArray(function(f){return l.getItemModel(f,!0)})},setView:function(c){c.zoom!=null&&(this.option.zoom=c.zoom),c.offset!=null&&(this.option.offset=c.offset)},setNodePosition:function(c){for(var l=0;l<c.length/2;l++){var f=c[l*2],n=c[l*2+1],o=this.getData().getRawDataItem(l);o.x=f,o.y=n}},isAnimationEnabled:function(){return s.superCall(this,"isAnimationEnabled")&&!(this.get("layout")==="force"&&this.get("force.layoutAnimation"))},defaultOption:{zlevel:10,z:2,legendHoverLink:!0,layout:"forceAtlas2",forceAtlas2:{initLayout:null,GPU:!0,steps:1,maxSteps:1e3,repulsionByDegree:!0,linLogMode:!1,strongGravityMode:!1,gravity:1,edgeWeightInfluence:1,edgeWeight:[1,4],nodeWeight:[1,4],preventOverlap:!1,gravityCenter:null},focusNodeAdjacency:!0,focusNodeAdjacencyOn:"mouseover",left:"center",top:"center",symbol:"circle",symbolSize:5,roam:!1,center:null,zoom:1,label:{show:!1,formatter:"{b}",position:"right",distance:5,textStyle:{fontSize:14}},itemStyle:{},lineStyle:{color:"#aaa",width:1,opacity:.5},emphasis:{label:{show:!0}},animation:!1}}),x=s},function(te,X,S){"use strict";var K=S(0),y=S.n(K),L=S(242),A=S.n(L),s=S(245),x=S.n(s),c=S(3);X.a=function(l,f,n,o,d){for(var m=new A.a(o),_=0;_<l.length;_++)m.addNode(c.a.firstNotNull(l[_].id,l[_].name,_),_);for(var h=[],g=[],r=0,_=0;_<f.length;_++){var a=f[_],p=a.source,E=a.target;m.addEdge(p,E,r)&&(g.push(a),h.push(c.a.firstNotNull(a.id,p+" > "+E)),r++)}var b,w=y.a.helper.completeDimensions(["value"],l);b=new y.a.List(w,n),b.initData(l);var R=new y.a.List(["value"],n);return R.initData(g,h),d&&d(b,R),x()({mainData:b,struct:m,structAttr:"graph",datas:{node:b,edge:R},datasAttr:{node:"data",edge:"edgeData"}}),m.update(),m}},function(te,X,S){var K=S(85),y=K.__DEV__,L=S(12),A=S(244),s=A.enableClassCheck;function x(m){return"_EC_"+m}var c=function(m){this._directed=m||!1,this.nodes=[],this.edges=[],this._nodesMap={},this._edgesMap={},this.data,this.edgeData},l=c.prototype;l.type="graph",l.isDirected=function(){return this._directed},l.addNode=function(m,_){m=m||""+_;var h=this._nodesMap;if(!h[x(m)]){var g=new f(m,_);return g.hostGraph=this,this.nodes.push(g),h[x(m)]=g,g}},l.getNodeByIndex=function(m){var _=this.data.getRawIndex(m);return this.nodes[_]},l.getNodeById=function(m){return this._nodesMap[x(m)]},l.addEdge=function(m,_,h){var g=this._nodesMap,r=this._edgesMap;if(typeof m=="number"&&(m=this.nodes[m]),typeof _=="number"&&(_=this.nodes[_]),f.isInstance(m)||(m=g[x(m)]),f.isInstance(_)||(_=g[x(_)]),!(!m||!_)){var a=m.id+"-"+_.id;if(!r[a]){var p=new n(m,_,h);return p.hostGraph=this,this._directed&&(m.outEdges.push(p),_.inEdges.push(p)),m.edges.push(p),m!==_&&_.edges.push(p),this.edges.push(p),r[a]=p,p}}},l.getEdgeByIndex=function(m){var _=this.edgeData.getRawIndex(m);return this.edges[_]},l.getEdge=function(m,_){f.isInstance(m)&&(m=m.id),f.isInstance(_)&&(_=_.id);var h=this._edgesMap;return this._directed?h[m+"-"+_]:h[m+"-"+_]||h[_+"-"+m]},l.eachNode=function(m,_){for(var h=this.nodes,g=h.length,r=0;r<g;r++)h[r].dataIndex>=0&&m.call(_,h[r],r)},l.eachEdge=function(m,_){for(var h=this.edges,g=h.length,r=0;r<g;r++)h[r].dataIndex>=0&&h[r].node1.dataIndex>=0&&h[r].node2.dataIndex>=0&&m.call(_,h[r],r)},l.breadthFirstTraverse=function(m,_,h,g){if(f.isInstance(_)||(_=this._nodesMap[x(_)]),!!_){for(var r=h==="out"?"outEdges":h==="in"?"inEdges":"edges",a=0;a<this.nodes.length;a++)this.nodes[a].__visited=!1;if(!m.call(g,_,null))for(var p=[_];p.length;)for(var E=p.shift(),b=E[r],a=0;a<b.length;a++){var w=b[a],R=w.node1===E?w.node2:w.node1;if(!R.__visited){if(m.call(g,R,E))return;p.push(R),R.__visited=!0}}}},l.update=function(){for(var m=this.data,_=this.edgeData,h=this.nodes,g=this.edges,r=0,a=h.length;r<a;r++)h[r].dataIndex=-1;for(var r=0,a=m.count();r<a;r++)h[m.getRawIndex(r)].dataIndex=r;_.filterSelf(function(p){var E=g[_.getRawIndex(p)];return E.node1.dataIndex>=0&&E.node2.dataIndex>=0});for(var r=0,a=g.length;r<a;r++)g[r].dataIndex=-1;for(var r=0,a=_.count();r<a;r++)g[_.getRawIndex(r)].dataIndex=r},l.clone=function(){for(var m=new c(this._directed),_=this.nodes,h=this.edges,g=0;g<_.length;g++)m.addNode(_[g].id,_[g].dataIndex);for(var g=0;g<h.length;g++){var r=h[g];m.addEdge(r.node1.id,r.node2.id,r.dataIndex)}return m};function f(m,_){this.id=m==null?"":m,this.inEdges=[],this.outEdges=[],this.edges=[],this.hostGraph,this.dataIndex=_==null?-1:_}f.prototype={constructor:f,degree:function(){return this.edges.length},inDegree:function(){return this.inEdges.length},outDegree:function(){return this.outEdges.length},getModel:function(m){if(!(this.dataIndex<0)){var _=this.hostGraph,h=_.data.getItemModel(this.dataIndex);return h.getModel(m)}}};function n(m,_,h){this.node1=m,this.node2=_,this.dataIndex=h==null?-1:h}n.prototype.getModel=function(m){if(!(this.dataIndex<0)){var _=this.hostGraph,h=_.edgeData.getItemModel(this.dataIndex);return h.getModel(m)}};var o=function(m,_){return{getValue:function(h){var g=this[m][_];return g.get(g.getDimension(h||"value"),this.dataIndex)},setVisual:function(h,g){this.dataIndex>=0&&this[m][_].setItemVisual(this.dataIndex,h,g)},getVisual:function(h,g){return this[m][_].getItemVisual(this.dataIndex,h,g)},setLayout:function(h,g){this.dataIndex>=0&&this[m][_].setItemLayout(this.dataIndex,h,g)},getLayout:function(){return this[m][_].getItemLayout(this.dataIndex)},getGraphicEl:function(){return this[m][_].getItemGraphicEl(this.dataIndex)},getRawIndex:function(){return this[m][_].getRawIndex(this.dataIndex)}}};L.mixin(f,o("hostGraph","data")),L.mixin(n,o("hostGraph","edgeData")),c.Node=f,c.Edge=n,s(f),s(n);var d=c;te.exports=d},function(te,X){var S;S=function(){return this}();try{S=S||Function("return this")()||(0,eval)("this")}catch(K){typeof window=="object"&&(S=window)}te.exports=S},function(te,X,S){var K=S(85),y=K.__DEV__,L=S(12),A=".",s="___EC__COMPONENT__CONTAINER___";function x(h){var g={main:"",sub:""};return h&&(h=h.split(A),g.main=h[0]||"",g.sub=h[1]||""),g}function c(h){L.assert(/^[a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)?$/.test(h),'componentType "'+h+'" illegal')}function l(h,g){h.$constructor=h,h.extend=function(r){var a=this,p=function(){r.$constructor?r.$constructor.apply(this,arguments):a.apply(this,arguments)};return L.extend(p.prototype,r),p.extend=this.extend,p.superCall=o,p.superApply=d,L.inherits(p,this),p.superClass=a,p}}var f=0;function n(h){var g=["__\0is_clz",f++,Math.random().toFixed(3)].join("_");h.prototype[g]=!0,h.isInstance=function(r){return!!(r&&r[g])}}function o(h,g){var r=L.slice(arguments,2);return this.superClass.prototype[g].apply(h,r)}function d(h,g,r){return this.superClass.prototype[g].apply(h,r)}function m(h,g){g=g||{};var r={};h.registerClass=function(E,b){if(b){if(c(b),b=x(b),!b.sub)r[b.main]=E;else if(b.sub!==s){var w=a(b);w[b.sub]=E}}return E},h.getClass=function(E,b,w){var R=r[E];if(R&&R[s]&&(R=b?R[b]:null),w&&!R)throw new Error(b?"Component "+E+"."+(b||"")+" not exists. Load it first.":E+".type should be specified.");return R},h.getClassesByMainType=function(E){E=x(E);var b=[],w=r[E.main];return w&&w[s]?L.each(w,function(R,O){O!==s&&b.push(R)}):b.push(w),b},h.hasClass=function(E){return E=x(E),!!r[E.main]},h.getAllClassMainTypes=function(){var E=[];return L.each(r,function(b,w){E.push(w)}),E},h.hasSubTypes=function(E){E=x(E);var b=r[E.main];return b&&b[s]},h.parseClassType=x;function a(E){var b=r[E.main];return(!b||!b[s])&&(b=r[E.main]={},b[s]=!0),b}if(g.registerWhenExtend){var p=h.extend;p&&(h.extend=function(E){var b=p.call(this,E);return h.registerClass(b,E.type)})}return h}function _(h,g){}X.parseClassType=x,X.enableClassExtend=l,X.enableClassCheck=n,X.enableClassManagement=m,X.setReadOnly=_},function(te,X,S){var K=S(12),y=K.each,L="\0__link_datas",A="\0__link_mainData";function s(_){var h=_.mainData,g=_.datas;g||(g={main:h},_.datasAttr={main:"data"}),_.datas=_.mainData=null,o(h,g,_),y(g,function(r){y(h.TRANSFERABLE_METHODS,function(a){r.wrapMethod(a,K.curry(x,_))})}),h.wrapMethod("cloneShallow",K.curry(l,_)),y(h.CHANGABLE_METHODS,function(r){h.wrapMethod(r,K.curry(c,_))}),K.assert(g[h.dataType]===h)}function x(_,h){if(n(this)){var g=K.extend({},this[L]);g[this.dataType]=h,o(h,g,_)}else d(h,this.dataType,this[A],_);return h}function c(_,h){return _.struct&&_.struct.update(this),h}function l(_,h){return y(h[L],function(g,r){g!==h&&d(g.cloneShallow(),r,h,_)}),h}function f(_){var h=this[A];return _==null||h==null?h:h[L][_]}function n(_){return _[A]===_}function o(_,h,g){_[L]={},y(h,function(r,a){d(r,a,_,g)})}function d(_,h,g,r){g[L][h]=_,_[A]=g,_.dataType=h,r.struct&&(_[r.structAttr]=r.struct,r.struct[r.datasAttr[h]]=_),_.getLinkedData=f}var m=s;te.exports=m},function(te,X,S){"use strict";var K=S(0),y=S.n(K),L=S(41),A=S.n(L),s=S(2),x=S(20),c=S(86),l=S(3),f=S(247),n=S(249),o=S(65),d=S.n(o),m=S(1),_=S.n(m),h=S(251),g=S(62),r=S(252),a=_.a.vec2;s.a.Shader.import(r.a);var p=1;y.a.extendChartView({type:"graphGL",__ecgl__:!0,init:function(E,b){this.groupGL=new s.a.Node,this.viewGL=new x.a("orthographic"),this.viewGL.camera.left=this.viewGL.camera.right=0,this.viewGL.add(this.groupGL),this._pointsBuilder=new g.a(!0,b),this._forceEdgesMesh=new s.a.Mesh({material:new s.a.Material({shader:s.a.createShader("ecgl.forceAtlas2.edges"),transparent:!0,depthMask:!1,depthTest:!1}),$ignorePicking:!0,geometry:new s.a.Geometry({attributes:{node:new s.a.Geometry.Attribute("node","float",2),color:new s.a.Geometry.Attribute("color","float",4,"COLOR")},dynamic:!0,mainAttribute:"node"}),renderOrder:-1,mode:s.a.Mesh.LINES}),this._edgesMesh=new s.a.Mesh({material:new s.a.Material({shader:s.a.createShader("ecgl.meshLines2D"),transparent:!0,depthMask:!1,depthTest:!1}),$ignorePicking:!0,geometry:new c.a({useNativeLine:!1,dynamic:!0}),renderOrder:-1,culling:!1}),this._layoutId=0,this._control=new h.a({zr:b.getZr(),viewGL:this.viewGL}),this._control.setTarget(this.groupGL),this._control.init(),this._clickHandler=this._clickHandler.bind(this)},render:function(E,b,w){this.groupGL.add(this._pointsBuilder.rootNode),this._model=E,this._api=w,this._initLayout(E,b,w),this._pointsBuilder.update(E,b,w),this._forceLayoutInstance instanceof f.a||this.groupGL.remove(this._forceEdgesMesh),this._updateCamera(E,w),this._control.off("update"),this._control.on("update",function(){w.dispatchAction({type:"graphGLRoam",seriesId:E.id,zoom:this._control.getZoom(),offset:this._control.getOffset()}),this._pointsBuilder.updateView(this.viewGL.camera)},this),this._control.setZoom(l.a.firstNotNull(E.get("zoom"),1)),this._control.setOffset(E.get("offset")||[0,0]);var R=this._pointsBuilder.getPointsMesh();if(R.off("mousemove",this._mousemoveHandler),R.off("mouseout",this._mouseOutHandler,this),w.getZr().off("click",this._clickHandler),this._pointsBuilder.highlightOnMouseover=!0,E.get("focusNodeAdjacency")){var O=E.get("focusNodeAdjacencyOn");O==="click"?w.getZr().on("click",this._clickHandler):O==="mouseover"?(R.on("mousemove",this._mousemoveHandler,this),R.on("mouseout",this._mouseOutHandler,this),this._pointsBuilder.highlightOnMouseover=!1):console.warn("Unkown focusNodeAdjacencyOn value s"+O)}this._lastMouseOverDataIndex=-1},_clickHandler:function(E){if(!this._layouting){var b=this._pointsBuilder.getPointsMesh().dataIndex;b>=0?this._api.dispatchAction({type:"graphGLFocusNodeAdjacency",seriesId:this._model.id,dataIndex:b}):this._api.dispatchAction({type:"graphGLUnfocusNodeAdjacency",seriesId:this._model.id})}},_mousemoveHandler:function(E){if(!this._layouting){var b=this._pointsBuilder.getPointsMesh().dataIndex;b>=0?b!==this._lastMouseOverDataIndex&&this._api.dispatchAction({type:"graphGLFocusNodeAdjacency",seriesId:this._model.id,dataIndex:b}):this._mouseOutHandler(E),this._lastMouseOverDataIndex=b}},_mouseOutHandler:function(E){this._layouting||(this._api.dispatchAction({type:"graphGLUnfocusNodeAdjacency",seriesId:this._model.id}),this._lastMouseOverDataIndex=-1)},_updateForceEdgesGeometry:function(E,b){var w=this._forceEdgesMesh.geometry,R=b.getEdgeData(),O=0,z=this._forceLayoutInstance,B=R.count()*2;w.attributes.node.init(B),w.attributes.color.init(B),R.each(function(P){var F=E[P];w.attributes.node.set(O,z.getNodeUV(F.node1)),w.attributes.node.set(O+1,z.getNodeUV(F.node2));var k=R.getItemVisual(F.dataIndex,"color"),U=s.a.parseColor(k);U[3]*=l.a.firstNotNull(R.getItemVisual(F.dataIndex,"opacity"),1),w.attributes.color.set(O,U),w.attributes.color.set(O+1,U),O+=2}),w.dirty()},_updateMeshLinesGeometry:function(){var b=this._model.getEdgeData(),E=this._edgesMesh.geometry,b=this._model.getEdgeData(),w=this._model.getData().getLayout("points");E.resetOffset(),E.setVertexCount(b.count()*E.getLineVertexCount()),E.setTriangleCount(b.count()*E.getLineTriangleCount());var R=[],O=[],z=["lineStyle","width"];this._originalEdgeColors=new Float32Array(b.count()*4),this._edgeIndicesMap=new Float32Array(b.count()),b.each(function(B){var P=b.graph.getEdgeByIndex(B),F=P.node1.dataIndex*2,k=P.node2.dataIndex*2;R[0]=w[F],R[1]=w[F+1],O[0]=w[k],O[1]=w[k+1];var U=b.getItemVisual(P.dataIndex,"color"),G=s.a.parseColor(U);G[3]*=l.a.firstNotNull(b.getItemVisual(P.dataIndex,"opacity"),1);var C=b.getItemModel(P.dataIndex),I=l.a.firstNotNull(C.get(z),1)*this._api.getDevicePixelRatio();E.addLine(R,O,G,I);for(var H=0;H<4;H++)this._originalEdgeColors[P.dataIndex*4+H]=G[H];this._edgeIndicesMap[P.dataIndex]=B},!1,this),E.dirty()},_updateForceNodesGeometry:function(E){for(var b=this._pointsBuilder.getPointsMesh(),w=[],R=0;R<E.count();R++)this._forceLayoutInstance.getNodeUV(R,w),b.geometry.attributes.position.set(R,w);b.geometry.dirty("position")},_initLayout:function(E,b,w){var R=E.get("layout"),O=E.getGraph(),z=E.getBoxLayoutParams(),B=A.a.getLayoutRect(z,{width:w.getWidth(),height:w.getHeight()});R==="force"&&(console.warn("Currently only forceAtlas2 layout supported."),R="forceAtlas2"),this.stopLayout(E,b,w,{beforeLayout:!0});var P=E.getData(),F=E.getData();if(R==="forceAtlas2"){var k=E.getModel("forceAtlas2"),U=this._forceLayoutInstance,G=[],C=[],I=P.getDataExtent("value"),H=F.getDataExtent("value"),$=l.a.firstNotNull(k.get("edgeWeight"),1),q=l.a.firstNotNull(k.get("nodeWeight"),1);typeof $=="number"&&($=[$,$]),typeof q=="number"&&(q=[q,q]);var se=0,ue={},me=new Float32Array(P.count()*2);if(O.eachNode(function(Le){var Fe=Le.dataIndex,Ke=P.get("value",Fe),Te,We;if(P.hasItemOption){var Ce=P.getItemModel(Fe);Te=Ce.get("x"),We=Ce.get("y")}Te==null&&(Te=B.x+Math.random()*B.width,We=B.y+Math.random()*B.height),me[se*2]=Te,me[se*2+1]=We,ue[Le.id]=se++;var De=y.a.number.linearMap(Ke,I,q);isNaN(De)&&(isNaN(q[0])?De=1:De=q[0]),G.push({x:Te,y:We,mass:De,size:P.getItemVisual(Fe,"symbolSize")})}),P.setLayout("points",me),O.eachEdge(function(Le){var Fe=Le.dataIndex,Ke=P.get("value",Fe),Te=y.a.number.linearMap(Ke,H,$);isNaN(Te)&&(isNaN($[0])?Te=1:Te=$[0]),C.push({node1:ue[Le.node1.id],node2:ue[Le.node2.id],weight:Te,dataIndex:Fe})}),!U){var Ee=k.get("GPU");this._forceLayoutInstance&&(Ee&&!(this._forceLayoutInstance instanceof f.a)||!Ee&&!(this._forceLayoutInstance instanceof n.a))&&(this._forceLayoutInstanceToDispose=this._forceLayoutInstance),U=this._forceLayoutInstance=Ee?new f.a:new n.a}U.initData(G,C),U.updateOption(k.option),this._updateForceEdgesGeometry(U.getEdges(),E),this._updatePositionTexture(),w.dispatchAction({type:"graphGLStartLayout",from:this.uid})}else{var me=new Float32Array(P.count()*2),se=0;O.eachNode(function(Ke){var Te=Ke.dataIndex,We,Ce;if(P.hasItemOption){var De=P.getItemModel(Te);We=De.get("x"),Ce=De.get("y")}me[se++]=We,me[se++]=Ce}),P.setLayout("points",me),this._updateAfterLayout(E,b,w)}},_updatePositionTexture:function(){var E=this._forceLayoutInstance.getNodePositionTexture();this._pointsBuilder.setPositionTexture(E),this._forceEdgesMesh.material.set("positionTex",E)},startLayout:function(E,b,z,R){if(!(R&&R.from!=null&&R.from!==this.uid)){var O=this.viewGL,z=this._api,B=this._forceLayoutInstance,P=this._model.getData(),F=this._model.getModel("forceAtlas2");if(!B){console.error("None layout don't have startLayout action");return}if(this.groupGL.remove(this._edgesMesh),this.groupGL.add(this._forceEdgesMesh),!!this._forceLayoutInstance){this._updateForceNodesGeometry(E.getData()),this._pointsBuilder.hideLabels();var k=this,U=this._layoutId=p++,G=F.getShallow("maxSteps"),C=F.getShallow("steps"),I=0,H=Math.max(C*2,20),$=function(q){if(q===k._layoutId){if(B.isFinished(G)){z.dispatchAction({type:"graphGLStopLayout",from:k.uid}),z.dispatchAction({type:"graphGLFinishLayout",points:P.getLayout("points"),from:k.uid});return}B.update(O.layer.renderer,C,function(){k._updatePositionTexture(),I+=C,I>=H&&(k._syncNodePosition(E),I=0),z.getZr().refresh(),d()(function(){$(q)})})}};d()(function(){k._forceLayoutInstanceToDispose&&(k._forceLayoutInstanceToDispose.dispose(O.layer.renderer),k._forceLayoutInstanceToDispose=null),$(U)}),this._layouting=!0}}},stopLayout:function(E,b,w,R){R&&R.from!=null&&R.from!==this.uid||(this._layoutId=0,this.groupGL.remove(this._forceEdgesMesh),this.groupGL.add(this._edgesMesh),this._forceLayoutInstance&&this.viewGL.layer&&(R&&R.beforeLayout||(this._syncNodePosition(E),this._updateAfterLayout(E,b,w)),this._api.getZr().refresh(),this._layouting=!1))},_syncNodePosition:function(E){var b=this._forceLayoutInstance.getNodePosition(this.viewGL.layer.renderer);E.getData().setLayout("points",b),E.setNodePosition(b)},_updateAfterLayout:function(E,b,w){this._updateMeshLinesGeometry(),this._pointsBuilder.removePositionTexture(),this._pointsBuilder.updateLayout(E,b,w),this._pointsBuilder.updateView(this.viewGL.camera),this._pointsBuilder.updateLabels(),this._pointsBuilder.showLabels()},focusNodeAdjacency:function(E,b,w,R){var O=this._model.getData();this._downplayAll();var z=R.dataIndex,B=O.graph,P=[],F=B.getNodeByIndex(z);P.push(F),F.edges.forEach(function(U){U.dataIndex<0||(U.node1!==F&&P.push(U.node1),U.node2!==F&&P.push(U.node2))},this),this._pointsBuilder.fadeOutAll(.05),this._fadeOutEdgesAll(.05),P.forEach(function(U){this._pointsBuilder.highlight(O,U.dataIndex)},this),this._pointsBuilder.updateLabels(P.map(function(U){return U.dataIndex}));var k=[];F.edges.forEach(function(U){U.dataIndex>=0&&(this._highlightEdge(U.dataIndex),k.push(U))},this),this._focusNodes=P,this._focusEdges=k},unfocusNodeAdjacency:function(E,b,w,R){this._downplayAll(),this._pointsBuilder.fadeInAll(),this._fadeInEdgesAll(),this._pointsBuilder.updateLabels()},_highlightEdge:function(E){var b=this._model.getEdgeData().getItemModel(E),w=s.a.parseColor(b.get("emphasis.lineStyle.color")||b.get("lineStyle.color")),R=l.a.firstNotNull(b.get("emphasis.lineStyle.opacity"),b.get("lineStyle.opacity"),1);w[3]*=R,this._edgesMesh.geometry.setItemColor(this._edgeIndicesMap[E],w)},_downplayAll:function(){this._focusNodes&&this._focusNodes.forEach(function(E){this._pointsBuilder.downplay(this._model.getData(),E.dataIndex)},this),this._focusEdges&&this._focusEdges.forEach(function(E){this._downplayEdge(E.dataIndex)},this)},_downplayEdge:function(E){var b=this._getColor(E,[]);this._edgesMesh.geometry.setItemColor(this._edgeIndicesMap[E],b)},_setEdgeFade:function(){var E=[];return function(b,w){this._getColor(b,E),E[3]*=w,this._edgesMesh.geometry.setItemColor(this._edgeIndicesMap[b],E)}}(),_getColor:function(E,b){for(var w=0;w<4;w++)b[w]=this._originalEdgeColors[E*4+w];return b},_fadeOutEdgesAll:function(E){var b=this._model.getData().graph;b.eachEdge(function(w){this._setEdgeFade(w.dataIndex,E)},this)},_fadeInEdgesAll:function(){this._fadeOutEdgesAll(1)},_updateCamera:function(E,b){this.viewGL.setViewport(0,0,b.getWidth(),b.getHeight(),b.getDevicePixelRatio());for(var w=this.viewGL.camera,R=E.getData(),O=R.getLayout("points"),z=a.create(1/0,1/0),B=a.create(-1/0,-1/0),P=[],F=0;F<O.length;)P[0]=O[F++],P[1]=O[F++],a.min(z,z,P),a.max(B,B,P);var k=(B[1]+z[1])/2,U=(B[0]+z[0])/2;if(!(U>w.left&&U<w.right&&k<w.bottom&&k>w.top)){var G=Math.max(B[0]-z[0],10),C=G/b.getWidth()*b.getHeight();G*=1.4,C*=1.4,z[0]-=G*.2,w.left=z[0],w.top=k-C/2,w.bottom=k+C/2,w.right=G+z[0],w.near=0,w.far=100}},dispose:function(){var E=this.viewGL.layer.renderer;this._forceLayoutInstance&&this._forceLayoutInstance.dispose(E),this.groupGL.removeAll(),this._layoutId=-1},remove:function(){this.groupGL.removeAll(),this._control.dispose()}})},function(te,X,S){"use strict";var K=S(0),y=S.n(K),L=S(2),A=S(14),s=S(10),x=S(248);L.a.Shader.import(x.a);var c={repulsionByDegree:!0,linLogMode:!1,strongGravityMode:!1,gravity:1,scaling:1,edgeWeightInfluence:1,jitterTolerence:.1,preventOverlap:!1,dissuadeHubs:!1,gravityCenter:null};function l(f){var n={type:L.a.Texture.FLOAT,minFilter:L.a.Texture.NEAREST,magFilter:L.a.Texture.NEAREST};this._positionSourceTex=new L.a.Texture2D(n),this._positionSourceTex.flipY=!1,this._positionTex=new L.a.Texture2D(n),this._positionPrevTex=new L.a.Texture2D(n),this._forceTex=new L.a.Texture2D(n),this._forcePrevTex=new L.a.Texture2D(n),this._weightedSumTex=new L.a.Texture2D(n),this._weightedSumTex.width=this._weightedSumTex.height=1,this._globalSpeedTex=new L.a.Texture2D(n),this._globalSpeedPrevTex=new L.a.Texture2D(n),this._globalSpeedTex.width=this._globalSpeedTex.height=1,this._globalSpeedPrevTex.width=this._globalSpeedPrevTex.height=1,this._nodeRepulsionPass=new A.a({fragment:L.a.Shader.source("ecgl.forceAtlas2.updateNodeRepulsion")}),this._positionPass=new A.a({fragment:L.a.Shader.source("ecgl.forceAtlas2.updatePosition")}),this._globalSpeedPass=new A.a({fragment:L.a.Shader.source("ecgl.forceAtlas2.calcGlobalSpeed")}),this._copyPass=new A.a({fragment:L.a.Shader.source("clay.compositor.output")});var o=function(d){d.blendEquation(d.FUNC_ADD),d.blendFunc(d.ONE,d.ONE)};this._edgeForceMesh=new L.a.Mesh({geometry:new L.a.Geometry({attributes:{node1:new L.a.Geometry.Attribute("node1","float",2),node2:new L.a.Geometry.Attribute("node2","float",2),weight:new L.a.Geometry.Attribute("weight","float",1)},dynamic:!0,mainAttribute:"node1"}),material:new L.a.Material({transparent:!0,shader:L.a.createShader("ecgl.forceAtlas2.updateEdgeAttraction"),blend:o,depthMask:!1,depthText:!1}),mode:L.a.Mesh.POINTS}),this._weightedSumMesh=new L.a.Mesh({geometry:new L.a.Geometry({attributes:{node:new L.a.Geometry.Attribute("node","float",2)},dynamic:!0,mainAttribute:"node"}),material:new L.a.Material({transparent:!0,shader:L.a.createShader("ecgl.forceAtlas2.calcWeightedSum"),blend:o,depthMask:!1,depthText:!1}),mode:L.a.Mesh.POINTS}),this._framebuffer=new s.a({depthBuffer:!1}),this._dummyCamera=new L.a.OrthographicCamera({left:-1,right:1,top:1,bottom:-1,near:0,far:100}),this._globalSpeed=0}l.prototype.updateOption=function(f){for(var n in c)this[n]=c[n];var o=this._nodes.length;if(o>5e4?this.jitterTolerence=10:o>5e3?this.jitterTolerence=1:this.jitterTolerence=.1,o>100?this.scaling=2:this.scaling=10,f)for(var n in c)f[n]!=null&&(this[n]=f[n]);if(this.repulsionByDegree)for(var d=this._positionSourceTex.pixels,m=0;m<this._nodes.length;m++)d[m*4+2]=(this._nodes[m].degree||0)+1},l.prototype._updateGravityCenter=function(f){var n=this._nodes,o=this._edges;if(this.gravityCenter)this._gravityCenter=this.gravityCenter;else{for(var d=[1/0,1/0],m=[-1/0,-1/0],_=0;_<n.length;_++)d[0]=Math.min(n[_].x,d[0]),d[1]=Math.min(n[_].y,d[1]),m[0]=Math.max(n[_].x,m[0]),m[1]=Math.max(n[_].y,m[1]);this._gravityCenter=[(d[0]+m[0])*.5,(d[1]+m[1])*.5]}for(var _=0;_<o.length;_++){var h=o[_].node1,g=o[_].node2;n[h].degree=(n[h].degree||0)+1,n[g].degree=(n[g].degree||0)+1}},l.prototype.initData=function(f,n){this._nodes=f,this._edges=n,this._updateGravityCenter();var o=Math.ceil(Math.sqrt(f.length)),d=o,m=new Float32Array(o*d*4);this._resize(o,d);for(var _=0,h=0;h<f.length;h++){var g=f[h];m[_++]=g.x||0,m[_++]=g.y||0,m[_++]=g.mass||1,m[_++]=g.size||1}this._positionSourceTex.pixels=m;var r=this._edgeForceMesh.geometry,a=n.length;r.attributes.node1.init(a*2),r.attributes.node2.init(a*2),r.attributes.weight.init(a*2);for(var p=[],h=0;h<n.length;h++){var E=r.attributes,b=n[h].weight;b==null&&(b=1),E.node1.set(h,this.getNodeUV(n[h].node1,p)),E.node2.set(h,this.getNodeUV(n[h].node2,p)),E.weight.set(h,b),E.node1.set(h+a,this.getNodeUV(n[h].node2,p)),E.node2.set(h+a,this.getNodeUV(n[h].node1,p)),E.weight.set(h+a,b)}var w=this._weightedSumMesh.geometry;w.attributes.node.init(f.length);for(var h=0;h<f.length;h++)w.attributes.node.set(h,this.getNodeUV(h,p));r.dirty(),w.dirty(),this._nodeRepulsionPass.material.define("fragment","NODE_COUNT",f.length),this._nodeRepulsionPass.material.setUniform("textureSize",[o,d]),this._inited=!1,this._frame=0},l.prototype.getNodes=function(){return this._nodes},l.prototype.getEdges=function(){return this._edges},l.prototype.step=function(f){this._inited||(this._initFromSource(f),this._inited=!0),this._frame++,this._framebuffer.attach(this._forceTex),this._framebuffer.bind(f);var n=this._nodeRepulsionPass;n.setUniform("strongGravityMode",this.strongGravityMode),n.setUniform("gravity",this.gravity),n.setUniform("gravityCenter",this._gravityCenter),n.setUniform("scaling",this.scaling),n.setUniform("preventOverlap",this.preventOverlap),n.setUniform("positionTex",this._positionPrevTex),n.render(f);var o=this._edgeForceMesh;o.material.set("linLogMode",this.linLogMode),o.material.set("edgeWeightInfluence",this.edgeWeightInfluence),o.material.set("preventOverlap",this.preventOverlap),o.material.set("positionTex",this._positionPrevTex),f.gl.enable(f.gl.BLEND),f.renderPass([o],this._dummyCamera),this._framebuffer.attach(this._weightedSumTex),f.gl.clearColor(0,0,0,0),f.gl.clear(f.gl.COLOR_BUFFER_BIT),f.gl.enable(f.gl.BLEND);var d=this._weightedSumMesh;d.material.set("positionTex",this._positionPrevTex),d.material.set("forceTex",this._forceTex),d.material.set("forcePrevTex",this._forcePrevTex),f.renderPass([d],this._dummyCamera),this._framebuffer.attach(this._globalSpeedTex);var m=this._globalSpeedPass;m.setUniform("globalSpeedPrevTex",this._globalSpeedPrevTex),m.setUniform("weightedSumTex",this._weightedSumTex),m.setUniform("jitterTolerence",this.jitterTolerence),f.gl.disable(f.gl.BLEND),m.render(f);var _=this._positionPass;this._framebuffer.attach(this._positionTex),_.setUniform("globalSpeedTex",this._globalSpeedTex),_.setUniform("positionTex",this._positionPrevTex),_.setUniform("forceTex",this._forceTex),_.setUniform("forcePrevTex",this._forcePrevTex),_.render(f),this._framebuffer.unbind(f),this._swapTexture()},l.prototype.update=function(f,n,o){n==null&&(n=1),n=Math.max(n,1);for(var d=0;d<n;d++)this.step(f);o&&o()},l.prototype.getNodePositionTexture=function(){return this._inited?this._positionPrevTex:this._positionSourceTex},l.prototype.getNodeUV=function(f,n){n=n||[];var o=this._positionTex.width,d=this._positionTex.height;return n[0]=f%o/(o-1),n[1]=Math.floor(f/o)/(d-1)||0,n},l.prototype.getNodePosition=function(f,n){var o=this._positionArr,d=this._positionTex.width,m=this._positionTex.height,_=d*m;(!o||o.length!==_*4)&&(o=this._positionArr=new Float32Array(_*4)),this._framebuffer.bind(f),this._framebuffer.attach(this._positionPrevTex),f.gl.readPixels(0,0,d,m,f.gl.RGBA,f.gl.FLOAT,o),this._framebuffer.unbind(f),n||(n=new Float32Array(this._nodes.length*2));for(var h=0;h<this._nodes.length;h++)n[h*2]=o[h*4],n[h*2+1]=o[h*4+1];return n},l.prototype.getTextureData=function(f,n){var o=this["_"+n+"Tex"],d=o.width,m=o.height;this._framebuffer.bind(f),this._framebuffer.attach(o);var _=new Float32Array(d*m*4);return f.gl.readPixels(0,0,d,m,f.gl.RGBA,f.gl.FLOAT,_),this._framebuffer.unbind(f),_},l.prototype.getTextureSize=function(){return{width:this._positionTex.width,height:this._positionTex.height}},l.prototype.isFinished=function(f){return this._frame>f},l.prototype._swapTexture=function(){var f=this._positionPrevTex;this._positionPrevTex=this._positionTex,this._positionTex=f;var f=this._forcePrevTex;this._forcePrevTex=this._forceTex,this._forceTex=f;var f=this._globalSpeedPrevTex;this._globalSpeedPrevTex=this._globalSpeedTex,this._globalSpeedTex=f},l.prototype._initFromSource=function(f){this._framebuffer.attach(this._positionPrevTex),this._framebuffer.bind(f),this._copyPass.setUniform("texture",this._positionSourceTex),this._copyPass.render(f),f.gl.clearColor(0,0,0,0),this._framebuffer.attach(this._forcePrevTex),f.gl.clear(f.gl.COLOR_BUFFER_BIT),this._framebuffer.attach(this._globalSpeedPrevTex),f.gl.clear(f.gl.COLOR_BUFFER_BIT),this._framebuffer.unbind(f)},l.prototype._resize=function(f,n){["_positionSourceTex","_positionTex","_positionPrevTex","_forceTex","_forcePrevTex"].forEach(function(o){this[o].width=f,this[o].height=n,this[o].dirty()},this)},l.prototype.dispose=function(f){this._framebuffer.dispose(f),this._copyPass.dispose(f),this._nodeRepulsionPass.dispose(f),this._positionPass.dispose(f),this._globalSpeedPass.dispose(f),this._edgeForceMesh.geometry.dispose(f),this._weightedSumMesh.geometry.dispose(f),this._positionSourceTex.dispose(f),this._positionTex.dispose(f),this._positionPrevTex.dispose(f),this._forceTex.dispose(f),this._forcePrevTex.dispose(f),this._weightedSumTex.dispose(f),this._globalSpeedTex.dispose(f),this._globalSpeedPrevTex.dispose(f)},y.a.ForceAtlas2GPU=l,X.a=l},function(te,X,S){"use strict";X.a=`@export ecgl.forceAtlas2.updateNodeRepulsion
#define NODE_COUNT 0
uniform sampler2D positionTex;
uniform vec2 textureSize;
uniform float gravity;
uniform float scaling;
uniform vec2 gravityCenter;
uniform bool strongGravityMode;
uniform bool preventOverlap;
varying vec2 v_Texcoord;
void main() {
vec4 n0 = texture2D(positionTex, v_Texcoord);
vec2 force = vec2(0.0);
for (int i = 0; i < NODE_COUNT; i++) {
vec2 uv = vec2(
mod(float(i), textureSize.x) / (textureSize.x - 1.0),
floor(float(i) / textureSize.x) / (textureSize.y - 1.0)
);
vec4 n1 = texture2D(positionTex, uv);
vec2 dir = n0.xy - n1.xy;
float d2 = dot(dir, dir);
if (d2 > 0.0) {
float factor = 0.0;
if (preventOverlap) {
float d = sqrt(d2);
d = d - n0.w - n1.w;
if (d > 0.0) {
factor = scaling * n0.z * n1.z / (d * d);
}
else if (d < 0.0) {
factor = scaling * 100.0 * n0.z * n1.z;
}
}
else {
factor = scaling * n0.z * n1.z / d2;
}
force += dir * factor;
}
}
vec2 dir = gravityCenter - n0.xy;
float d = 1.0;
if (!strongGravityMode) {
d = length(dir);
}
force += dir * n0.z * gravity / (d + 1.0);
gl_FragColor = vec4(force, 0.0, 1.0);
}
@end
@export ecgl.forceAtlas2.updateEdgeAttraction.vertex
attribute vec2 node1;
attribute vec2 node2;
attribute float weight;
uniform sampler2D positionTex;
uniform float edgeWeightInfluence;
uniform bool preventOverlap;
uniform bool linLogMode;
uniform vec2 windowSize: WINDOW_SIZE;
varying vec2 v_Force;
void main() {
vec4 n0 = texture2D(positionTex, node1);
vec4 n1 = texture2D(positionTex, node2);
vec2 dir = n1.xy - n0.xy;
float d = length(dir);
float w;
if (edgeWeightInfluence == 0.0) {
w = 1.0;
}
else if (edgeWeightInfluence == 1.0) {
w = weight;
}
else {
w = pow(weight, edgeWeightInfluence);
}
vec2 offset = vec2(1.0 / windowSize.x, 1.0 / windowSize.y);
vec2 scale = vec2((windowSize.x - 1.0) / windowSize.x, (windowSize.y - 1.0) / windowSize.y);
vec2 pos = node1 * scale * 2.0 - 1.0;
gl_Position = vec4(pos + offset, 0.0, 1.0);
gl_PointSize = 1.0;
float factor;
if (preventOverlap) {
d = d - n1.w - n0.w;
}
if (d <= 0.0) {
v_Force = vec2(0.0);
return;
}
if (linLogMode) {
factor = w * log(d) / d;
}
else {
factor = w;
}
v_Force = dir * factor;
}
@end
@export ecgl.forceAtlas2.updateEdgeAttraction.fragment
varying vec2 v_Force;
void main() {
gl_FragColor = vec4(v_Force, 0.0, 0.0);
}
@end
@export ecgl.forceAtlas2.calcWeightedSum.vertex
attribute vec2 node;
varying vec2 v_NodeUv;
void main() {
v_NodeUv = node;
gl_Position = vec4(0.0, 0.0, 0.0, 1.0);
gl_PointSize = 1.0;
}
@end
@export ecgl.forceAtlas2.calcWeightedSum.fragment
varying vec2 v_NodeUv;
uniform sampler2D positionTex;
uniform sampler2D forceTex;
uniform sampler2D forcePrevTex;
void main() {
vec2 force = texture2D(forceTex, v_NodeUv).rg;
vec2 forcePrev = texture2D(forcePrevTex, v_NodeUv).rg;
float mass = texture2D(positionTex, v_NodeUv).z;
float swing = length(force - forcePrev) * mass;
float traction = length(force + forcePrev) * 0.5 * mass;
gl_FragColor = vec4(swing, traction, 0.0, 0.0);
}
@end
@export ecgl.forceAtlas2.calcGlobalSpeed
uniform sampler2D globalSpeedPrevTex;
uniform sampler2D weightedSumTex;
uniform float jitterTolerence;
void main() {
vec2 weightedSum = texture2D(weightedSumTex, vec2(0.5)).xy;
float prevGlobalSpeed = texture2D(globalSpeedPrevTex, vec2(0.5)).x;
float globalSpeed = jitterTolerence * jitterTolerence
* weightedSum.y / weightedSum.x;
if (prevGlobalSpeed > 0.0) {
globalSpeed = min(globalSpeed / prevGlobalSpeed, 1.5) * prevGlobalSpeed;
}
gl_FragColor = vec4(globalSpeed, 0.0, 0.0, 1.0);
}
@end
@export ecgl.forceAtlas2.updatePosition
uniform sampler2D forceTex;
uniform sampler2D forcePrevTex;
uniform sampler2D positionTex;
uniform sampler2D globalSpeedTex;
varying vec2 v_Texcoord;
void main() {
vec2 force = texture2D(forceTex, v_Texcoord).xy;
vec2 forcePrev = texture2D(forcePrevTex, v_Texcoord).xy;
vec4 node = texture2D(positionTex, v_Texcoord);
float globalSpeed = texture2D(globalSpeedTex, vec2(0.5)).r;
float swing = length(force - forcePrev);
float speed = 0.1 * globalSpeed / (0.1 + globalSpeed * sqrt(swing));
float df = length(force);
if (df > 0.0) {
speed = min(df * speed, 10.0) / df;
gl_FragColor = vec4(node.xy + speed * force, node.zw);
}
else {
gl_FragColor = node;
}
}
@end
@export ecgl.forceAtlas2.edges.vertex
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
attribute vec2 node;
attribute vec4 a_Color : COLOR;
varying vec4 v_Color;
uniform sampler2D positionTex;
void main()
{
gl_Position = worldViewProjection * vec4(
texture2D(positionTex, node).xy, -10.0, 1.0
);
v_Color = a_Color;
}
@end
@export ecgl.forceAtlas2.edges.fragment
uniform vec4 color : [1.0, 1.0, 1.0, 1.0];
varying vec4 v_Color;
void main() {
gl_FragColor = color * v_Color;
}
@end`},function(te,X,S){"use strict";var K=S(5),y=S(6),L=S(250),A=L.a.toString();A=A.slice(A.indexOf("{")+1,A.lastIndexOf("}"));var s={barnesHutOptimize:!0,barnesHutTheta:1.5,repulsionByDegree:!0,linLogMode:!1,strongGravityMode:!1,gravity:1,scaling:1,edgeWeightInfluence:1,jitterTolerence:.1,preventOverlap:!1,dissuadeHubs:!1,gravityCenter:null},x=function(c){for(var l in s)this[l]=s[l];if(c)for(var l in c)this[l]=c[l];this._nodes=[],this._edges=[],this._disposed=!1,this._positionTex=new K.a({type:y.a.FLOAT,flipY:!1,minFilter:y.a.NEAREST,magFilter:y.a.NEAREST})};x.prototype.initData=function(c,l){var f=new Blob([A]),n=window.URL.createObjectURL(f);this._worker=new Worker(n),this._worker.onmessage=this._$onupdate.bind(this),this._nodes=c,this._edges=l,this._frame=0;for(var o=c.length,d=l.length,m=new Float32Array(o*2),_=new Float32Array(o),h=new Float32Array(o),g=new Float32Array(d*2),r=new Float32Array(d),a=0;a<c.length;a++){var p=c[a];m[a*2]=p.x,m[a*2+1]=p.y,_[a]=p.mass==null?1:p.mass,h[a]=p.size==null?1:p.size}for(var a=0;a<l.length;a++){var E=l[a],b=E.node1,w=E.node2;g[a*2]=b,g[a*2+1]=w,r[a]=E.weight==null?1:E.weight}var R=Math.ceil(Math.sqrt(c.length)),O=R,z=new Float32Array(R*O*4),B=this._positionTex;B.width=R,B.height=O,B.pixels=z,this._worker.postMessage({cmd:"init",nodesPosition:m,nodesMass:_,nodesSize:h,edges:g,edgesWeight:r}),this._globalSpeed=1/0},x.prototype.updateOption=function(c){var l={};for(var f in s)l[f]=s[f];var n=this._nodes,o=this._edges,d=n.length;if(d>5e4?l.jitterTolerence=10:d>5e3?l.jitterTolerence=1:l.jitterTolerence=.1,d>100?l.scaling=2:l.scaling=10,d>1e3?l.barnesHutOptimize=!0:l.barnesHutOptimize=!1,c)for(var f in s)c[f]!=null&&(l[f]=c[f]);if(!l.gravityCenter){for(var m=[1/0,1/0],_=[-1/0,-1/0],h=0;h<n.length;h++)m[0]=Math.min(n[h].x,m[0]),m[1]=Math.min(n[h].y,m[1]),_[0]=Math.max(n[h].x,_[0]),_[1]=Math.max(n[h].y,_[1]);l.gravityCenter=[(m[0]+_[0])*.5,(m[1]+_[1])*.5]}for(var h=0;h<o.length;h++){var g=o[h].node1,r=o[h].node2;n[g].degree=(n[g].degree||0)+1,n[r].degree=(n[r].degree||0)+1}this._worker&&this._worker.postMessage({cmd:"updateConfig",config:l})},x.prototype.update=function(c,l,f){l==null&&(l=1),l=Math.max(l,1),this._frame+=l,this._onupdate=f,this._worker&&this._worker.postMessage({cmd:"update",steps:Math.round(l)})},x.prototype._$onupdate=function(c){if(!this._disposed){var l=new Float32Array(c.data.buffer);this._globalSpeed=c.data.globalSpeed,this._positionArr=l,this._updateTexture(l),this._onupdate&&this._onupdate()}},x.prototype.getNodePositionTexture=function(){return this._positionTex},x.prototype.getNodeUV=function(c,l){l=l||[];var f=this._positionTex.width,n=this._positionTex.height;return l[0]=c%f/(f-1),l[1]=Math.floor(c/f)/(n-1),l},x.prototype.getNodes=function(){return this._nodes},x.prototype.getEdges=function(){return this._edges},x.prototype.isFinished=function(c){return this._frame>c},x.prototype.getNodePosition=function(c,l){if(l||(l=new Float32Array(this._nodes.length*2)),this._positionArr)for(var f=0;f<this._positionArr.length;f++)l[f]=this._positionArr[f];return l},x.prototype._updateTexture=function(c){for(var l=this._positionTex.pixels,f=0,n=0;n<c.length;)l[f++]=c[n++],l[f++]=c[n++],l[f++]=1,l[f++]=1;this._positionTex.dirty()},x.prototype.dispose=function(c){this._disposed=!0,this._worker=null},X.a=x},function(te,X,S){"use strict";function K(){var y={create:function(){return new Float32Array(2)},dist:function(n,o){var d=o[0]-n[0],m=o[1]-n[1];return Math.sqrt(d*d+m*m)},len:function(n){var o=n[0],d=n[1];return Math.sqrt(o*o+d*d)},scaleAndAdd:function(n,o,d,m){return n[0]=o[0]+d[0]*m,n[1]=o[1]+d[1]*m,n},scale:function(n,o,d){return n[0]=o[0]*d,n[1]=o[1]*d,n},add:function(n,o,d){return n[0]=o[0]+d[0],n[1]=o[1]+d[1],n},sub:function(n,o,d){return n[0]=o[0]-d[0],n[1]=o[1]-d[1],n},normalize:function(n,o){var d=o[0],m=o[1],_=d*d+m*m;return _>0&&(_=1/Math.sqrt(_),n[0]=o[0]*_,n[1]=o[1]*_),n},negate:function(n,o){return n[0]=-o[0],n[1]=-o[1],n},copy:function(n,o){return n[0]=o[0],n[1]=o[1],n},set:function(n,o,d){return n[0]=o,n[1]=d,n}};function L(){this.subRegions=[],this.nSubRegions=0,this.node=null,this.mass=0,this.centerOfMass=null,this.bbox=new Float32Array(4),this.size=0}var A=L.prototype;A.beforeUpdate=function(){for(var n=0;n<this.nSubRegions;n++)this.subRegions[n].beforeUpdate();this.mass=0,this.centerOfMass&&(this.centerOfMass[0]=0,this.centerOfMass[1]=0),this.nSubRegions=0,this.node=null},A.afterUpdate=function(){this.subRegions.length=this.nSubRegions;for(var n=0;n<this.nSubRegions;n++)this.subRegions[n].afterUpdate()},A.addNode=function(n){if(this.nSubRegions===0)if(this.node==null){this.node=n;return}else this._addNodeToSubRegion(this.node),this.node=null;this._addNodeToSubRegion(n),this._updateCenterOfMass(n)},A.findSubRegion=function(n,o){for(var d=0;d<this.nSubRegions;d++){var m=this.subRegions[d];if(m.contain(n,o))return m}},A.contain=function(n,o){return this.bbox[0]<=n&&this.bbox[2]>=n&&this.bbox[1]<=o&&this.bbox[3]>=o},A.setBBox=function(n,o,d,m){this.bbox[0]=n,this.bbox[1]=o,this.bbox[2]=d,this.bbox[3]=m,this.size=(d-n+m-o)/2},A._newSubRegion=function(){var n=this.subRegions[this.nSubRegions];return n||(n=new L,this.subRegions[this.nSubRegions]=n),this.nSubRegions++,n},A._addNodeToSubRegion=function(n){var o=this.findSubRegion(n.position[0],n.position[1]),d=this.bbox;if(!o){var m=(d[0]+d[2])/2,_=(d[1]+d[3])/2,h=(d[2]-d[0])/2,g=(d[3]-d[1])/2,r=n.position[0]>=m?1:0,a=n.position[1]>=_?1:0,o=this._newSubRegion();o.setBBox(r*h+d[0],a*g+d[1],(r+1)*h+d[0],(a+1)*g+d[1])}o.addNode(n)},A._updateCenterOfMass=function(n){this.centerOfMass==null&&(this.centerOfMass=new Float32Array(2));var o=this.centerOfMass[0]*this.mass,d=this.centerOfMass[1]*this.mass;o+=n.position[0]*n.mass,d+=n.position[1]*n.mass,this.mass+=n.mass,this.centerOfMass[0]=o/this.mass,this.centerOfMass[1]=d/this.mass};function s(){this.position=new Float32Array(2),this.force=y.create(),this.forcePrev=y.create(),this.mass=1,this.inDegree=0,this.outDegree=0}function x(n,o){this.source=n,this.target=o,this.weight=1}function c(){this.autoSettings=!0,this.barnesHutOptimize=!0,this.barnesHutTheta=1.5,this.repulsionByDegree=!0,this.linLogMode=!1,this.strongGravityMode=!1,this.gravity=1,this.scaling=1,this.edgeWeightInfluence=1,this.jitterTolerence=.1,this.preventOverlap=!1,this.dissuadeHubs=!1,this.rootRegion=new L,this.rootRegion.centerOfMass=y.create(),this.nodes=[],this.edges=[],this.bbox=new Float32Array(4),this.gravityCenter=null,this._massArr=null,this._swingingArr=null,this._sizeArr=null,this._globalSpeed=0}var l=c.prototype;l.initNodes=function(n,o,d){var m=o.length;this.nodes.length=0;for(var _=typeof d!="undefined",h=0;h<m;h++){var g=new s;g.position[0]=n[h*2],g.position[1]=n[h*2+1],g.mass=o[h],_&&(g.size=d[h]),this.nodes.push(g)}this._massArr=o,this._swingingArr=new Float32Array(m),_&&(this._sizeArr=d)},l.initEdges=function(n,o){var d=n.length/2;this.edges.length=0;for(var m=0;m<d;m++){var _=n[m*2],h=n[m*2+1],g=this.nodes[_],r=this.nodes[h];if(!g||!r){console.error("Node not exists, try initNodes before initEdges");return}g.outDegree++,r.inDegree++;var a=new x(g,r);o&&(a.weight=o[m]),this.edges.push(a)}},l.updateSettings=function(){if(this.repulsionByDegree)for(var n=0;n<this.nodes.length;n++){var o=this.nodes[n];o.mass=o.inDegree+o.outDegree+1}else for(var n=0;n<this.nodes.length;n++){var o=this.nodes[n];o.mass=this._massArr[n]}},l.update=function(){var n=this.nodes.length;if(this.updateSettings(),this.updateBBox(),this.barnesHutOptimize){this.rootRegion.setBBox(this.bbox[0],this.bbox[1],this.bbox[2],this.bbox[3]),this.rootRegion.beforeUpdate();for(var o=0;o<n;o++)this.rootRegion.addNode(this.nodes[o]);this.rootRegion.afterUpdate()}for(var o=0;o<n;o++){var d=this.nodes[o];y.copy(d.forcePrev,d.force),y.set(d.force,0,0)}for(var o=0;o<n;o++){var m=this.nodes[o];if(this.barnesHutOptimize)this.applyRegionToNodeRepulsion(this.rootRegion,m);else for(var _=o+1;_<n;_++){var h=this.nodes[_];this.applyNodeToNodeRepulsion(m,h,!1)}this.gravity>0&&(this.strongGravityMode?this.applyNodeStrongGravity(m):this.applyNodeGravity(m))}for(var o=0;o<this.edges.length;o++)this.applyEdgeAttraction(this.edges[o]);for(var g=0,r=0,a=y.create(),o=0;o<n;o++){var d=this.nodes[o],p=y.dist(d.force,d.forcePrev);g+=p*d.mass,y.add(a,d.force,d.forcePrev);var E=y.len(a)*.5;r+=E*d.mass,this._swingingArr[o]=p}var b=this.jitterTolerence*this.jitterTolerence*r/g;this._globalSpeed>0&&(b=Math.min(b/this._globalSpeed,1.5)*this._globalSpeed),this._globalSpeed=b;for(var o=0;o<n;o++){var d=this.nodes[o],p=this._swingingArr[o],w=.1*b/(1+b*Math.sqrt(p)),R=y.len(d.force);R>0&&(w=Math.min(R*w,10)/R,y.scaleAndAdd(d.position,d.position,d.force,w))}},l.applyRegionToNodeRepulsion=function(){var n=y.create();return function(d,m){if(d.node)this.applyNodeToNodeRepulsion(d.node,m,!0);else{y.sub(n,m.position,d.centerOfMass);var _=n[0]*n[0]+n[1]*n[1];if(_>this.barnesHutTheta*d.size*d.size){var h=this.scaling*m.mass*d.mass/_;y.scaleAndAdd(m.force,m.force,n,h)}else for(var g=0;g<d.nSubRegions;g++)this.applyRegionToNodeRepulsion(d.subRegions[g],m)}}}(),l.applyNodeToNodeRepulsion=function(){var n=y.create();return function(d,m,_){if(d!=m){y.sub(n,d.position,m.position);var h=n[0]*n[0]+n[1]*n[1];if(h!==0){var g;if(this.preventOverlap){var r=Math.sqrt(h);if(r=r-d.size-m.size,r>0)g=this.scaling*d.mass*m.mass/(r*r);else if(r<0)g=this.scaling*100*d.mass*m.mass;else return}else g=this.scaling*d.mass*m.mass/h;y.scaleAndAdd(d.force,d.force,n,g),y.scaleAndAdd(m.force,m.force,n,-g)}}}}(),l.applyEdgeAttraction=function(){var n=y.create();return function(d){var m=d.source,_=d.target;y.sub(n,m.position,_.position);var h=y.len(n),g;this.edgeWeightInfluence===0?g=1:this.edgeWeightInfluence===1?g=d.weight:g=Math.pow(d.weight,this.edgeWeightInfluence);var r;this.preventOverlap&&(h=h-m.size-_.size,h<=0)||(this.linLogMode?r=-g*Math.log(h+1)/(h+1):r=-g,y.scaleAndAdd(m.force,m.force,n,r),y.scaleAndAdd(_.force,_.force,n,-r))}}(),l.applyNodeGravity=function(){var n=y.create();return function(o){y.sub(n,this.gravityCenter,o.position);var d=y.len(n);y.scaleAndAdd(o.force,o.force,n,this.gravity*o.mass/(d+1))}}(),l.applyNodeStrongGravity=function(){var n=y.create();return function(o){y.sub(n,this.gravityCenter,o.position),y.scaleAndAdd(o.force,o.force,n,this.gravity*o.mass)}}(),l.updateBBox=function(){for(var n=1/0,o=1/0,d=-1/0,m=-1/0,_=0;_<this.nodes.length;_++){var h=this.nodes[_].position;n=Math.min(n,h[0]),o=Math.min(o,h[1]),d=Math.max(d,h[0]),m=Math.max(m,h[1])}this.bbox[0]=n,this.bbox[1]=o,this.bbox[2]=d,this.bbox[3]=m},l.getGlobalSpeed=function(){return this._globalSpeed};var f=null;self.onmessage=function(n){switch(n.data.cmd){case"init":f=new c,f.initNodes(n.data.nodesPosition,n.data.nodesMass,n.data.nodesSize),f.initEdges(n.data.edges,n.data.edgesWeight);break;case"updateConfig":if(f)for(var o in n.data.config)f[o]=n.data.config[o];break;case"update":var d=n.data.steps;if(f){for(var m=0;m<d;m++)f.update();for(var _=f.nodes.length,h=new Float32Array(_*2),m=0;m<_;m++){var g=f.nodes[m];h[m*2]=g.position[0],h[m*2+1]=g.position[1]}self.postMessage({buffer:h.buffer,globalSpeed:f.getGlobalSpeed()},[h.buffer])}else{var r=new Float32Array;self.postMessage({buffer:r.buffer,globalSpeed:f.getGlobalSpeed()},[r.buffer])}break}}}X.a=K},function(te,X,S){"use strict";var K=S(8),y=S(3),L=K.a.extend(function(){return{zr:null,viewGL:null,minZoom:.2,maxZoom:5,_needsUpdate:!1,_dx:0,_dy:0,_zoom:1}},function(){this._mouseDownHandler=this._mouseDownHandler.bind(this),this._mouseWheelHandler=this._mouseWheelHandler.bind(this),this._mouseMoveHandler=this._mouseMoveHandler.bind(this),this._mouseUpHandler=this._mouseUpHandler.bind(this),this._update=this._update.bind(this)},{init:function(){var A=this.zr;A.on("mousedown",this._mouseDownHandler),A.on("mousewheel",this._mouseWheelHandler),A.on("globalout",this._mouseUpHandler),A.animation.on("frame",this._update)},setTarget:function(A){this._target=A},setZoom:function(A){this._zoom=Math.max(Math.min(A,this.maxZoom),this.minZoom),this._needsUpdate=!0},setOffset:function(A){this._dx=A[0],this._dy=A[1],this._needsUpdate=!0},getZoom:function(){return this._zoom},getOffset:function(){return[this._dx,this._dy]},_update:function(){if(this._target&&this._needsUpdate){var A=this._target,s=this._zoom;A.position.x=this._dx,A.position.y=this._dy,A.scale.set(s,s,s),this.zr.refresh(),this._needsUpdate=!1,this.trigger("update")}},_mouseDownHandler:function(A){if(!A.target){var s=A.offsetX,x=A.offsetY;if(!(this.viewGL&&!this.viewGL.containPoint(s,x))){this.zr.on("mousemove",this._mouseMoveHandler),this.zr.on("mouseup",this._mouseUpHandler);var c=this._convertPos(s,x);this._x=c.x,this._y=c.y}}},_convertPos:function(A,s){var x=this.viewGL.camera,c=this.viewGL.viewport;return{x:(A-c.x)/c.width*(x.right-x.left)+x.left,y:(s-c.y)/c.height*(x.bottom-x.top)+x.top}},_mouseMoveHandler:function(A){var s=this._convertPos(A.offsetX,A.offsetY);this._dx+=s.x-this._x,this._dy+=s.y-this._y,this._x=s.x,this._y=s.y,this._needsUpdate=!0},_mouseUpHandler:function(A){this.zr.off("mousemove",this._mouseMoveHandler),this.zr.off("mouseup",this._mouseUpHandler)},_mouseWheelHandler:function(A){A=A.event;var s=A.wheelDelta||-A.detail;if(s!==0){var x=A.offsetX,c=A.offsetY;if(!(this.viewGL&&!this.viewGL.containPoint(x,c))){var l=s>0?1.1:.9,f=Math.max(Math.min(this._zoom*l,this.maxZoom),this.minZoom);l=f/this._zoom;var n=this._convertPos(x,c),o=(n.x-this._dx)*(l-1),d=(n.y-this._dy)*(l-1);this._dx-=o,this._dy-=d,this._zoom=f,this._needsUpdate=!0}}},dispose:function(){var A=this.zr;A.off("mousedown",this._mouseDownHandler),A.off("mousemove",this._mouseMoveHandler),A.off("mouseup",this._mouseUpHandler),A.off("mousewheel",this._mouseWheelHandler),A.off("globalout",this._mouseUpHandler),A.animation.off("frame",this._update)}});X.a=L},function(te,X,S){"use strict";X.a=`@export ecgl.lines2D.vertex
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
attribute vec2 position: POSITION;
attribute vec4 a_Color : COLOR;
varying vec4 v_Color;
#ifdef POSITIONTEXTURE_ENABLED
uniform sampler2D positionTexture;
#endif
void main()
{
gl_Position = worldViewProjection * vec4(position, -10.0, 1.0);
v_Color = a_Color;
}
@end
@export ecgl.lines2D.fragment
uniform vec4 color : [1.0, 1.0, 1.0, 1.0];
varying vec4 v_Color;
void main()
{
gl_FragColor = color * v_Color;
}
@end
@export ecgl.meshLines2D.vertex
attribute vec2 position: POSITION;
attribute vec2 normal;
attribute float offset;
attribute vec4 a_Color : COLOR;
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
uniform vec4 viewport : VIEWPORT;
varying vec4 v_Color;
varying float v_Miter;
void main()
{
vec4 p2 = worldViewProjection * vec4(position + normal, -10.0, 1.0);
gl_Position = worldViewProjection * vec4(position, -10.0, 1.0);
p2.xy /= p2.w;
gl_Position.xy /= gl_Position.w;
vec2 N = normalize(p2.xy - gl_Position.xy);
gl_Position.xy += N * offset / viewport.zw * 2.0;
gl_Position.xy *= gl_Position.w;
v_Color = a_Color;
}
@end
@export ecgl.meshLines2D.fragment
uniform vec4 color : [1.0, 1.0, 1.0, 1.0];
varying vec4 v_Color;
varying float v_Miter;
void main()
{
gl_FragColor = color * v_Color;
}
@end`},function(te,X,S){"use strict";var K=S(0),y=S.n(K),L=S(254),A=S(258)},function(te,X,S){"use strict";var K=S(0),y=S.n(K),L=S(2),A=S(3),s=S(20),x=S(255);y.a.extendChartView({type:"flowGL",__ecgl__:!0,init:function(c,l){this.viewGL=new s.a("orthographic"),this.groupGL=new L.a.Node,this.viewGL.add(this.groupGL),this._particleSurface=new x.a;var f=new L.a.Mesh({geometry:new L.a.PlaneGeometry,material:new L.a.Material({shader:new L.a.Shader({vertex:L.a.Shader.source("ecgl.color.vertex"),fragment:L.a.Shader.source("ecgl.color.fragment")}),transparent:!0})});f.material.enableTexture("diffuseMap"),this.groupGL.add(f),this._planeMesh=f},render:function(c,l,f){var n=this._particleSurface;n.setParticleType(c.get("particleType")),n.setSupersampling(c.get("supersampling")),this._updateData(c,f),this._updateCamera(f.getWidth(),f.getHeight(),f.getDevicePixelRatio());var o=A.a.firstNotNull(c.get("particleDensity"),128);n.setParticleDensity(o,o);var d=this._planeMesh,m=+new Date,_=this,h=!0;d.__percent=0,d.stopAnimation(),d.animate("",{loop:!0}).when(1e5,{__percent:1}).during(function(){var a=+new Date,p=Math.min(a-m,20);m=m+p,_._renderer&&(n.update(_._renderer,f,p/1e3,h),d.material.set("diffuseMap",n.getSurfaceTexture())),h=!1}).start();var g=c.getModel("itemStyle"),r=L.a.parseColor(g.get("color"));r[3]*=A.a.firstNotNull(g.get("opacity"),1),d.material.set("color",r),n.setColorTextureImage(c.get("colorTexture"),f),n.setParticleSize(c.get("particleSize")),n.particleSpeedScaling=c.get("particleSpeed"),n.motionBlurFactor=1-Math.pow(.1,c.get("particleTrail"))},updateTransform:function(c,l,f){this._updateData(c,f)},afterRender:function(c,l,f,n){var o=n.renderer;this._renderer=o},_updateData:function(c,l){var f=c.coordinateSystem,n=f.dimensions.map(function(z){return c.coordDimToDataDim(z)[0]}),o=c.getData(),d=o.getDataExtent(n[0]),m=o.getDataExtent(n[1]),_=c.get("gridWidth"),h=c.get("gridHeight");if(_==null||_==="auto"){var g=(d[1]-d[0])/(m[1]-m[0]);_=Math.round(Math.sqrt(g*o.count()))}(h==null||h==="auto")&&(h=Math.ceil(o.count()/_));var r=this._particleSurface.vectorFieldTexture,a=r.pixels;if(!a||a.length!==h*_*4)a=r.pixels=new Float32Array(_*h*4);else for(var p=0;p<a.length;p++)a[p]=0;var E=0,b=1/0,w=new Float32Array(o.count()*2),R=0,O=[[1/0,1/0],[-1/0,-1/0]];o.each([n[0],n[1],"vx","vy"],function(z,B,P,F){var k=f.dataToPoint([z,B]);w[R++]=k[0],w[R++]=k[1],O[0][0]=Math.min(k[0],O[0][0]),O[0][1]=Math.min(k[1],O[0][1]),O[1][0]=Math.max(k[0],O[1][0]),O[1][1]=Math.max(k[1],O[1][1]);var U=Math.sqrt(P*P+F*F);E=Math.max(E,U),b=Math.min(b,U)}),o.each(["vx","vy"],function(z,B,P){var F=Math.round((w[P*2]-O[0][0])/(O[1][0]-O[0][0])*(_-1)),k=h-1-Math.round((w[P*2+1]-O[0][1])/(O[1][1]-O[0][1])*(h-1)),U=(k*_+F)*4;a[U]=z/E*.5+.5,a[U+1]=B/E*.5+.5,a[U+3]=1}),r.width=_,r.height=h,c.get("coordinateSystem")==="bmap"&&this._fillEmptyPixels(r),r.dirty(),this._updatePlanePosition(O[0],O[1],c,l),this._updateGradientTexture(o.getVisual("visualMeta"),[b,E])},_fillEmptyPixels:function(c){var l=c.pixels,f=c.width,n=c.height;function o(w,R,O){w=Math.max(Math.min(w,f-1),0),R=Math.max(Math.min(R,n-1),0);var z=(R*(f-1)+w)*4;return l[z+3]===0?!1:(O[0]=l[z],O[1]=l[z+1],!0)}function d(w,R,O){O[0]=w[0]+R[0],O[1]=w[1]+R[1]}for(var m=[],_=[],h=[],g=[],r=[],a=0,p=0;p<n;p++)for(var E=0;E<f;E++){var b=(p*(f-1)+E)*4;l[b+3]===0&&(a=m[0]=m[1]=0,o(E-1,p,_)&&(a++,d(_,m,m)),o(E+1,p,h)&&(a++,d(h,m,m)),o(E,p-1,g)&&(a++,d(g,m,m)),o(E,p+1,r)&&(a++,d(r,m,m)),m[0]/=a,m[1]/=a,l[b]=m[0],l[b+1]=m[1]),l[b+3]=1}},_updateGradientTexture:function(c,l){if(!c||!c.length){this._particleSurface.setGradientTexture(null);return}this._gradientTexture=this._gradientTexture||new L.a.Texture2D({image:document.createElement("canvas")});var f=this._gradientTexture,n=f.image;n.width=200,n.height=1;var o=n.getContext("2d"),d=o.createLinearGradient(0,.5,n.width,.5);c[0].stops.forEach(function(m){var _;l[1]===l[0]?_=0:(_=m.value/l[1],_=Math.min(Math.max(_,0),1)),d.addColorStop(_,m.color)}),o.fillStyle=d,o.fillRect(0,0,n.width,n.height),f.dirty(),this._particleSurface.setGradientTexture(this._gradientTexture)},_updatePlanePosition:function(c,l,f,n){var o=this._limitInViewportAndFullFill(c,l,f,n);c=o.leftTop,l=o.rightBottom,this._particleSurface.setRegion(o.region),this._planeMesh.position.set((c[0]+l[0])/2,n.getHeight()-(c[1]+l[1])/2,0);var d=l[0]-c[0],m=l[1]-c[1];this._planeMesh.scale.set(d/2,m/2,1),this._particleSurface.resize(Math.max(Math.min(d,2048),1),Math.max(Math.min(m,2048),1)),this._renderer&&this._particleSurface.clearFrame(this._renderer)},_limitInViewportAndFullFill:function(c,l,f,n){var o=[Math.max(c[0],0),Math.max(c[1],0)],d=[Math.min(l[0],n.getWidth()),Math.min(l[1],n.getHeight())];if(f.get("coordinateSystem")==="bmap"){var m=f.getData().getDataExtent(f.coordDimToDataDim("lng")[0]),_=Math.floor(m[1]-m[0])>=359;_&&(o[0]>0&&(o[0]=0),d[0]<n.getWidth()&&(d[0]=n.getWidth()))}var h=l[0]-c[0],g=l[1]-c[1],r=d[0]-o[0],a=d[1]-o[1],p=[(o[0]-c[0])/h,1-a/g-(o[1]-c[1])/g,r/h,a/g];return{leftTop:o,rightBottom:d,region:p}},_updateCamera:function(c,l,f){this.viewGL.setViewport(0,0,c,l,f);var n=this.viewGL.camera;n.left=n.bottom=0,n.top=l,n.right=c,n.near=0,n.far=100,n.position.z=10},remove:function(){this._planeMesh.stopAnimation(),this.groupGL.removeAll()},dispose:function(){this._renderer&&this._particleSurface.dispose(this._renderer),this.groupGL.removeAll()}})},function(te,X,S){"use strict";var K=S(14),y=S(13),L=S(24),A=S(17),s=S(7),x=S(5),c=S(6),l=S(30),f=S(37),n=S(10),o=S(256),d=S(257);s.a.import(d.a);function m(h){var g=document.createElement("canvas");g.width=g.height=h;var r=g.getContext("2d");return r.fillStyle="#fff",r.arc(h/2,h/2,h/2,0,Math.PI*2),r.fill(),g}var _=function(){this.motionBlurFactor=.99,this.vectorFieldTexture=new x.a({type:c.a.FLOAT,flipY:!1}),this.particleLife=[5,20],this._particleType="point",this._particleSize=1,this.particleColor=[1,1,1,1],this.particleSpeedScaling=1,this._thisFrameTexture=null,this._particlePass=null,this._spawnTexture=null,this._particleTexture0=null,this._particleTexture1=null,this._particlePointsMesh=null,this._surfaceFrameBuffer=null,this._elapsedTime=0,this._scene=null,this._camera=null,this._lastFrameTexture=null,this._supersampling=1,this._downsampleTextures=[],this._width=512,this._height=512,this.init()};_.prototype={constructor:_,init:function(){var h={type:c.a.FLOAT,minFilter:c.a.NEAREST,magFilter:c.a.NEAREST,useMipmap:!1};this._spawnTexture=new x.a(h),this._particleTexture0=new x.a(h),this._particleTexture1=new x.a(h),this._frameBuffer=new n.a({depthBuffer:!1}),this._particlePass=new K.a({fragment:s.a.source("ecgl.vfParticle.particle.fragment")}),this._particlePass.setUniform("velocityTexture",this.vectorFieldTexture),this._particlePass.setUniform("spawnTexture",this._spawnTexture),this._downsamplePass=new K.a({fragment:s.a.source("clay.compositor.downsample")});var g=new L.a({renderOrder:10,material:new A.a({shader:new s.a(s.a.source("ecgl.vfParticle.renderPoints.vertex"),s.a.source("ecgl.vfParticle.renderPoints.fragment"))}),mode:L.a.POINTS,geometry:new y.a({dynamic:!0,mainAttribute:"texcoord0"})}),r=new L.a({renderOrder:10,material:new A.a({shader:new s.a(s.a.source("ecgl.vfParticle.renderLines.vertex"),s.a.source("ecgl.vfParticle.renderLines.fragment"))}),geometry:new o.a,culling:!1}),a=new L.a({material:new A.a({shader:new s.a(s.a.source("ecgl.color.vertex"),s.a.source("ecgl.color.fragment"))}),geometry:new f.a});a.material.enableTexture("diffuseMap"),this._particlePointsMesh=g,this._particleLinesMesh=r,this._lastFrameFullQuadMesh=a,this._camera=new l.a,this._thisFrameTexture=new x.a,this._lastFrameTexture=new x.a},setParticleDensity:function(h,g){for(var r=h*g,a=new Float32Array(r*4),p=0,E=this.particleLife,b=0;b<h;b++)for(var w=0;w<g;w++,p++){a[p*4]=Math.random(),a[p*4+1]=Math.random(),a[p*4+2]=Math.random();var R=(E[1]-E[0])*Math.random()+E[0];a[p*4+3]=R}this._particleType==="line"?this._setLineGeometry(h,g):this._setPointsGeometry(h,g),this._spawnTexture.width=h,this._spawnTexture.height=g,this._spawnTexture.pixels=a,this._particleTexture0.width=this._particleTexture1.width=h,this._particleTexture0.height=this._particleTexture1.height=g,this._particlePass.setUniform("textureSize",[h,g])},_setPointsGeometry:function(h,g){var r=h*g,a=this._particlePointsMesh.geometry,p=a.attributes;p.texcoord0.init(r);for(var E=0,b=0;b<h;b++)for(var w=0;w<g;w++,E++)p.texcoord0.value[E*2]=b/h,p.texcoord0.value[E*2+1]=w/g;a.dirty()},_setLineGeometry:function(h,g){var r=h*g,a=this._getParticleMesh().geometry;a.setLineCount(r),a.resetOffset();for(var p=0;p<h;p++)for(var E=0;E<g;E++)a.addLine([p/h,E/g]);a.dirty()},_getParticleMesh:function(){return this._particleType==="line"?this._particleLinesMesh:this._particlePointsMesh},update:function(h,g,r,a){var p=this._getParticleMesh(),E=this._frameBuffer,b=this._particlePass;a&&this._updateDownsampleTextures(h,g),p.material.set("size",this._particleSize*this._supersampling),p.material.set("color",this.particleColor),b.setUniform("speedScaling",this.particleSpeedScaling),E.attach(this._particleTexture1),b.setUniform("firstFrameTime",a?(this.particleLife[1]+this.particleLife[0])/2:0),b.setUniform("particleTexture",this._particleTexture0),b.setUniform("deltaTime",r),b.setUniform("elapsedTime",this._elapsedTime),b.render(h,E),p.material.set("particleTexture",this._particleTexture1),p.material.set("prevParticleTexture",this._particleTexture0),E.attach(this._thisFrameTexture),E.bind(h),h.gl.clear(h.gl.DEPTH_BUFFER_BIT|h.gl.COLOR_BUFFER_BIT);var w=this._lastFrameFullQuadMesh;w.material.set("diffuseMap",this._lastFrameTexture),w.material.set("color",[1,1,1,this.motionBlurFactor]),this._camera.update(!0),h.renderPass([w,p],this._camera),E.unbind(h),this._downsample(h),this._swapTexture(),this._elapsedTime+=r},_downsample:function(h){var g=this._downsampleTextures;if(g.length!==0)for(var r=0,a=this._thisFrameTexture,p=g[r];p;)this._frameBuffer.attach(p),this._downsamplePass.setUniform("texture",a),this._downsamplePass.setUniform("textureSize",[a.width,a.height]),this._downsamplePass.render(h,this._frameBuffer),a=p,p=g[++r]},getSurfaceTexture:function(){var h=this._downsampleTextures;return h.length>0?h[h.length-1]:this._lastFrameTexture},setRegion:function(h){this._particlePass.setUniform("region",h)},resize:function(h,g){this._lastFrameTexture.width=h*this._supersampling,this._lastFrameTexture.height=g*this._supersampling,this._thisFrameTexture.width=h*this._supersampling,this._thisFrameTexture.height=g*this._supersampling,this._width=h,this._height=g},setParticleSize:function(h){var g=this._getParticleMesh();if(h<=2){g.material.disableTexture("spriteTexture"),g.material.transparent=!1;return}this._spriteTexture||(this._spriteTexture=new x.a),(!this._spriteTexture.image||this._spriteTexture.image.width!==h)&&(this._spriteTexture.image=m(h),this._spriteTexture.dirty()),g.material.transparent=!0,g.material.enableTexture("spriteTexture"),g.material.set("spriteTexture",this._spriteTexture),this._particleSize=h},setGradientTexture:function(h){var g=this._getParticleMesh().material;g[h?"enableTexture":"disableTexture"]("gradientTexture"),g.setUniform("gradientTexture",h)},setColorTextureImage:function(h,g){var r=this._getParticleMesh().material;r.setTextureImage("colorTexture",h,g,{flipY:!0})},setParticleType:function(h){this._particleType=h},clearFrame:function(h){var g=this._frameBuffer;g.attach(this._lastFrameTexture),g.bind(h),h.gl.clear(h.gl.DEPTH_BUFFER_BIT|h.gl.COLOR_BUFFER_BIT),g.unbind(h)},setSupersampling:function(h){this._supersampling=h,this.resize(this._width,this._height)},_updateDownsampleTextures:function(h,g){for(var r=this._downsampleTextures,a=Math.max(Math.floor(Math.log(this._supersampling/g.getDevicePixelRatio())/Math.log(2)),0),p=2,E=this._width*this._supersampling,b=this._height*this._supersampling,w=0;w<a;w++)r[w]=r[w]||new x.a,r[w].width=E/p,r[w].height=b/p,p*=2;for(;w<r.length;w++)r[w].dispose(h);r.length=a},_swapTexture:function(){var h=this._particleTexture0;this._particleTexture0=this._particleTexture1,this._particleTexture1=h;var h=this._thisFrameTexture;this._thisFrameTexture=this._lastFrameTexture,this._lastFrameTexture=h},dispose:function(h){h.disposeFrameBuffer(this._frameBuffer),h.disposeTexture(this.vectorFieldTexture),h.disposeTexture(this._spawnTexture),h.disposeTexture(this._particleTexture0),h.disposeTexture(this._particleTexture1),h.disposeTexture(this._thisFrameTexture),h.disposeTexture(this._lastFrameTexture),h.disposeGeometry(this._particleLinesMesh.geometry),h.disposeGeometry(this._particlePointsMesh.geometry),h.disposeGeometry(this._lastFrameFullQuadMesh.geometry),this._spriteTexture&&h.disposeTexture(this._spriteTexture),this._particlePass.dispose(h),this._downsamplePass.dispose(h),this._downsampleTextures.forEach(function(g){g.dispose(h)})}},X.a=_},function(te,X,S){"use strict";var K=S(13),y=S(0),L=S.n(y),A=K.a.extend(function(){return{dynamic:!0,attributes:{position:new K.a.Attribute("position","float",3,"POSITION")}}},{resetOffset:function(){this._vertexOffset=0,this._faceOffset=0},setLineCount:function(s){var x=this.attributes,c=4*s,l=2*s;this.vertexCount!==c&&x.position.init(c),this.triangleCount!==l&&(l===0?this.indices=null:this.indices=this.vertexCount>65535?new Uint32Array(l*3):new Uint16Array(l*3))},addLine:function(s){var x=this._vertexOffset;this.attributes.position.set(x,[s[0],s[1],1]),this.attributes.position.set(x+1,[s[0],s[1],-1]),this.attributes.position.set(x+2,[s[0],s[1],2]),this.attributes.position.set(x+3,[s[0],s[1],-2]),this.setTriangleIndices(this._faceOffset++,[x,x+1,x+2]),this.setTriangleIndices(this._faceOffset++,[x+1,x+2,x+3]),this._vertexOffset+=4}});X.a=A},function(te,X,S){"use strict";X.a=`@export ecgl.vfParticle.particle.fragment
uniform sampler2D particleTexture;
uniform sampler2D spawnTexture;
uniform sampler2D velocityTexture;
uniform float deltaTime;
uniform float elapsedTime;
uniform float speedScaling : 1.0;
uniform vec2 textureSize;
uniform vec4 region : [0, 0, 1, 1];
uniform float firstFrameTime;
varying vec2 v_Texcoord;
void main()
{
vec4 p = texture2D(particleTexture, v_Texcoord);
bool spawn = false;
if (p.w <= 0.0) {
p = texture2D(spawnTexture, fract(v_Texcoord + elapsedTime / 10.0));
p.w -= firstFrameTime;
spawn = true;
}
vec2 v = texture2D(velocityTexture, fract(p.xy * region.zw + region.xy)).xy;
v = (v - 0.5) * 2.0;
p.z = length(v);
p.xy += v * deltaTime / 10.0 * speedScaling;
p.w -= deltaTime;
if (spawn || p.xy != fract(p.xy)) {
p.z = 0.0;
}
p.xy = fract(p.xy);
gl_FragColor = p;
}
@end
@export ecgl.vfParticle.renderPoints.vertex
#define PI 3.1415926
attribute vec2 texcoord : TEXCOORD_0;
uniform sampler2D particleTexture;
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
uniform float size : 1.0;
varying float v_Mag;
varying vec2 v_Uv;
void main()
{
vec4 p = texture2D(particleTexture, texcoord);
if (p.w > 0.0 && p.z > 1e-5) {
gl_Position = worldViewProjection * vec4(p.xy * 2.0 - 1.0, 0.0, 1.0);
}
else {
gl_Position = vec4(100000.0, 100000.0, 100000.0, 1.0);
}
v_Mag = p.z;
v_Uv = p.xy;
gl_PointSize = size;
}
@end
@export ecgl.vfParticle.renderPoints.fragment
uniform vec4 color : [1.0, 1.0, 1.0, 1.0];
uniform sampler2D gradientTexture;
uniform sampler2D colorTexture;
uniform sampler2D spriteTexture;
varying float v_Mag;
varying vec2 v_Uv;
void main()
{
gl_FragColor = color;
#ifdef SPRITETEXTURE_ENABLED
gl_FragColor *= texture2D(spriteTexture, gl_PointCoord);
if (color.a == 0.0) {
discard;
}
#endif
#ifdef GRADIENTTEXTURE_ENABLED
gl_FragColor *= texture2D(gradientTexture, vec2(v_Mag, 0.5));
#endif
#ifdef COLORTEXTURE_ENABLED
gl_FragColor *= texture2D(colorTexture, v_Uv);
#endif
}
@end
@export ecgl.vfParticle.renderLines.vertex
#define PI 3.1415926
attribute vec3 position : POSITION;
uniform sampler2D particleTexture;
uniform sampler2D prevParticleTexture;
uniform float size : 1.0;
uniform vec4 vp: VIEWPORT;
uniform mat4 worldViewProjection : WORLDVIEWPROJECTION;
varying float v_Mag;
varying vec2 v_Uv;
@import clay.util.rand
void main()
{
vec4 p = texture2D(particleTexture, position.xy);
vec4 p2 = texture2D(prevParticleTexture, position.xy);
p.xy = p.xy * 2.0 - 1.0;
p2.xy = p2.xy * 2.0 - 1.0;
if (p.w > 0.0 && p.z > 1e-5) {
vec2 dir = normalize(p.xy - p2.xy);
vec2 norm = vec2(dir.y / vp.z, -dir.x / vp.w) * sign(position.z) * size;
if (abs(position.z) == 2.0) {
gl_Position = vec4(p.xy + norm, 0.0, 1.0);
v_Uv = p.xy;
v_Mag = p.z;
}
else {
gl_Position = vec4(p2.xy + norm, 0.0, 1.0);
v_Mag = p2.z;
v_Uv = p2.xy;
}
gl_Position = worldViewProjection * gl_Position;
}
else {
gl_Position = vec4(100000.0, 100000.0, 100000.0, 1.0);
}
}
@end
@export ecgl.vfParticle.renderLines.fragment
uniform vec4 color : [1.0, 1.0, 1.0, 1.0];
uniform sampler2D gradientTexture;
uniform sampler2D colorTexture;
varying float v_Mag;
varying vec2 v_Uv;
void main()
{
gl_FragColor = color;
#ifdef GRADIENTTEXTURE_ENABLED
gl_FragColor *= texture2D(gradientTexture, vec2(v_Mag, 0.5));
#endif
#ifdef COLORTEXTURE_ENABLED
gl_FragColor *= texture2D(colorTexture, v_Uv);
#endif
}
@end
`},function(te,X,S){"use strict";var K=S(0),y=S.n(K);y.a.extendSeriesModel({type:"series.flowGL",dependencies:["geo","grid","bmap"],visualColorAccessPath:"itemStyle.color",getInitialData:function(L,A){var s=y.a.getCoordinateSystemDimensions(this.get("coordinateSystem"))||["x","y"];if(s.length>2)throw new Error("flowGL can only be used on 2d coordinate systems.");s.push("vx","vy");var x=y.a.helper.completeDimensions(s,this.getSource(),{encodeDef:this.get("encode"),dimsDef:this.get("dimensions")}),c=new y.a.List(x,this);return c.initData(this.getSource()),c},defaultOption:{coordinateSystem:"cartesian2d",zlevel:10,supersampling:1,particleType:"point",particleDensity:128,particleSize:1,particleSpeed:1,particleTrail:2,colorTexture:null,gridWidth:"auto",gridHeight:"auto",itemStyle:{color:"#fff",opacity:.8}}})},function(te,X,S){"use strict";var K=S(0),y=S.n(K),L=S(260),A=S(261),s=S(16);y.a.registerVisual(Object(s.a)("linesGL"))},function(te,X,S){"use strict";var K=S(0),y=S.n(K),L=S(12),A=S.n(L),s=y.a.extendSeriesModel({type:"series.linesGL",dependencies:["grid","geo"],visualColorAccessPath:"lineStyle.color",streamEnabled:!0,init:function(x){var c=this._processFlatCoordsArray(x.data);this._flatCoords=c.flatCoords,this._flatCoordsOffset=c.flatCoordsOffset,c.flatCoords&&(x.data=new Float32Array(c.count)),s.superApply(this,"init",arguments)},mergeOption:function(x){var c=this._processFlatCoordsArray(x.data);this._flatCoords=c.flatCoords,this._flatCoordsOffset=c.flatCoordsOffset,c.flatCoords&&(x.data=new Float32Array(c.count)),s.superApply(this,"mergeOption",arguments)},appendData:function(x){var c=this._processFlatCoordsArray(x.data);c.flatCoords&&(this._flatCoords?(this._flatCoords=Object(L.concatArray)(this._flatCoords,c.flatCoords),this._flatCoordsOffset=Object(L.concatArray)(this._flatCoordsOffset,c.flatCoordsOffset)):(this._flatCoords=c.flatCoords,this._flatCoordsOffset=c.flatCoordsOffset),x.data=new Float32Array(c.count)),this.getRawData().appendData(x.data)},_getCoordsFromItemModel:function(x){var c=this.getData().getItemModel(x),l=c.option instanceof Array?c.option:c.getShallow("coords");if(!(l instanceof Array&&l.length>0&&l[0]instanceof Array))throw new Error("Invalid coords "+JSON.stringify(l)+". Lines must have 2d coords array in data item.");return l},getLineCoordsCount:function(x){return this._flatCoordsOffset?this._flatCoordsOffset[x*2+1]:this._getCoordsFromItemModel(x).length},getLineCoords:function(x,c){if(this._flatCoordsOffset){for(var l=this._flatCoordsOffset[x*2],f=this._flatCoordsOffset[x*2+1],n=0;n<f;n++)c[n]=c[n]||[],c[n][0]=this._flatCoords[l+n*2],c[n][1]=this._flatCoords[l+n*2+1];return f}else{for(var o=this._getCoordsFromItemModel(x),n=0;n<o.length;n++)c[n]=c[n]||[],c[n][0]=o[n][0],c[n][1]=o[n][1];return o.length}},_processFlatCoordsArray:function(x){var c=0;if(this._flatCoords&&(c=this._flatCoords.length),typeof x[0]=="number"){for(var l=x.length,f=new Uint32Array(l),n=new Float64Array(l),o=0,d=0,m=0,_=0;_<l;){m++;var h=x[_++];f[d++]=o+c,f[d++]=h;for(var g=0;g<h;g++){var r=x[_++],a=x[_++];if(n[o++]=r,n[o++]=a,_>l)throw new Error("Invalid data format.")}}return{flatCoordsOffset:new Uint32Array(f.buffer,0,d),flatCoords:n,count:m}}return{flatCoordsOffset:null,flatCoords:null,count:x.length}},getInitialData:function(x,c){var l=new y.a.List(["value"],this);return l.hasItemOption=!1,l.initData(x.data,[],function(f,n,o,d){if(f instanceof Array)return NaN;l.hasItemOption=!0;var m=f.value;if(m!=null)return m instanceof Array?m[d]:m}),l},defaultOption:{coordinateSystem:"geo",zlevel:10,progressive:1e4,progressiveThreshold:5e4,blendMode:"source-over",lineStyle:{opacity:.8},postEffect:{enable:!1,colorCorrection:{exposure:0,brightness:0,contrast:1,saturation:1,enable:!0}}}})},function(te,X,S){"use strict";var K=S(0),y=S.n(K),L=S(2),A=S(20),s=S(86),x=S(84),c=S(3);y.a.extendChartView({type:"linesGL",__ecgl__:!0,init:function(l,f){this.groupGL=new L.a.Node,this.viewGL=new A.a("orthographic"),this.viewGL.add(this.groupGL),this._glViewHelper=new x.a(this.viewGL),this._nativeLinesShader=L.a.createShader("ecgl.lines3D"),this._meshLinesShader=L.a.createShader("ecgl.meshLines3D"),this._linesMeshes=[],this._currentStep=0},render:function(l,f,n){this.groupGL.removeAll(),this._glViewHelper.reset(l,n);var o=this._linesMeshes[0];o||(o=this._linesMeshes[0]=this._createLinesMesh(l)),this._linesMeshes.length=1,this.groupGL.add(o),this._updateLinesMesh(l,o,0,l.getData().count()),this.viewGL.setPostEffect(l.getModel("postEffect"),n)},incrementalPrepareRender:function(l,f,n){this.groupGL.removeAll(),this._glViewHelper.reset(l,n),this._currentStep=0,this.viewGL.setPostEffect(l.getModel("postEffect"),n)},incrementalRender:function(l,f,n,o){var d=this._linesMeshes[this._currentStep];d||(d=this._createLinesMesh(f),this._linesMeshes[this._currentStep]=d),this._updateLinesMesh(f,d,l.start,l.end),this.groupGL.add(d),o.getZr().refresh(),this._currentStep++},updateTransform:function(l,f,n){l.coordinateSystem.getRoamTransform&&this._glViewHelper.updateTransform(l,n)},_createLinesMesh:function(l){var f=new L.a.Mesh({$ignorePicking:!0,material:new L.a.Material({shader:L.a.createShader("ecgl.lines3D"),transparent:!0,depthMask:!1,depthTest:!1}),geometry:new s.a({segmentScale:10,useNativeLine:!0,dynamic:!1}),mode:L.a.Mesh.LINES,culling:!1});return f},_updateLinesMesh:function(l,f,n,o){var d=l.getData();f.material.blend=l.get("blendMode")==="lighter"?L.a.additiveBlend:null;var m=l.get("lineStyle.curveness")||0,_=l.get("polyline"),h=f.geometry,g=l.coordinateSystem,r=c.a.firstNotNull(l.get("lineStyle.width"),1);r>1?(f.material.shader!==this._meshLinesShader&&f.material.attachShader(this._meshLinesShader),f.mode=L.a.Mesh.TRIANGLES):(f.material.shader!==this._nativeLinesShader&&f.material.attachShader(this._nativeLinesShader),f.mode=L.a.Mesh.LINES),n=n||0,o=o||d.count(),h.resetOffset();var a=0,p=0,E=[],b=[],w=[],R=[],O=[],z=.3,B=.7;function P(){b[0]=E[0]*B+R[0]*z-(E[1]-R[1])*m,b[1]=E[1]*B+R[1]*z-(R[0]-E[0])*m,w[0]=E[0]*z+R[0]*B-(E[1]-R[1])*m,w[1]=E[1]*z+R[1]*B-(R[0]-E[0])*m}if(_||m!==0)for(var F=n;F<o;F++)if(_){var k=l.getLineCoordsCount(F);a+=h.getPolylineVertexCount(k),p+=h.getPolylineTriangleCount(k)}else l.getLineCoords(F,O),this._glViewHelper.dataToPoint(g,O[0],E),this._glViewHelper.dataToPoint(g,O[1],R),P(),a+=h.getCubicCurveVertexCount(E,b,w,R),p+=h.getCubicCurveTriangleCount(E,b,w,R);else{var U=o-n;a+=U*h.getLineVertexCount(),p+=U*h.getLineVertexCount()}h.setVertexCount(a),h.setTriangleCount(p);for(var G=n,C=[],F=n;F<o;F++){L.a.parseColor(d.getItemVisual(G,"color"),C);var I=c.a.firstNotNull(d.getItemVisual(G,"opacity"),1);C[3]*=I;for(var k=l.getLineCoords(F,O),H=0;H<k;H++)this._glViewHelper.dataToPoint(g,O[H],O[H]);_?h.addPolyline(O,C,r,0,k):m!==0?(E=O[0],R=O[1],P(),h.addCubicCurve(E,b,w,R,C,r)):h.addPolyline(O,C,r,0,2),G++}},dispose:function(){this.groupGL.removeAll()},remove:function(){this.groupGL.removeAll()}})}])})},3867:function($t,Qe,ae){var ee=ae(97671);(function(te,X){$t.exports=X()})(this,function(){"use strict";function te(ne){var ce=typeof ne;return ne!==null&&(ce==="object"||ce==="function")}function X(ne){return typeof ne=="function"}var S=void 0;Array.isArray?S=Array.isArray:S=function(ne){return Object.prototype.toString.call(ne)==="[object Array]"};var K=S,y=0,L=void 0,A=void 0,s=function(ce,ye){a[y]=ce,a[y+1]=ye,y+=2,y===2&&(A?A(p):b())};function x(ne){A=ne}function c(ne){s=ne}var l=typeof window!="undefined"?window:void 0,f=l||{},n=f.MutationObserver||f.WebKitMutationObserver,o=typeof self=="undefined"&&typeof ee!="undefined"&&{}.toString.call(ee)==="[object process]",d=typeof Uint8ClampedArray!="undefined"&&typeof importScripts!="undefined"&&typeof MessageChannel!="undefined";function m(){return function(){return ee.nextTick(p)}}function _(){return typeof L!="undefined"?function(){L(p)}:r()}function h(){var ne=0,ce=new n(p),ye=document.createTextNode("");return ce.observe(ye,{characterData:!0}),function(){ye.data=ne=++ne%2}}function g(){var ne=new MessageChannel;return ne.port1.onmessage=p,function(){return ne.port2.postMessage(0)}}function r(){var ne=setTimeout;return function(){return ne(p,1)}}var a=new Array(1e3);function p(){for(var ne=0;ne<y;ne+=2){var ce=a[ne],ye=a[ne+1];ce(ye),a[ne]=void 0,a[ne+1]=void 0}y=0}function E(){try{var ne=Function("return this")().require("vertx");return L=ne.runOnLoop||ne.runOnContext,_()}catch(ce){return r()}}var b=void 0;o?b=m():n?b=h():d?b=g():l===void 0?b=E():b=r();function w(ne,ce){var ye=this,he=new this.constructor(z);he[O]===void 0&&We(he);var xe=ye._state;if(xe){var Ne=arguments[xe-1];s(function(){return Le(xe,he,Ne,ye._result)})}else me(ye,he,ne,ce);return he}function R(ne){var ce=this;if(ne&&typeof ne=="object"&&ne.constructor===ce)return ne;var ye=new ce(z);return $(ye,ne),ye}var O=Math.random().toString(36).substring(2);function z(){}var B=void 0,P=1,F=2;function k(){return new TypeError("You cannot resolve a promise with itself")}function U(){return new TypeError("A promises callback cannot return that same promise.")}function G(ne,ce,ye,he){try{ne.call(ce,ye,he)}catch(xe){return xe}}function C(ne,ce,ye){s(function(he){var xe=!1,Ne=G(ye,ce,function(Be){xe||(xe=!0,ce!==Be?$(he,Be):se(he,Be))},function(Be){xe||(xe=!0,ue(he,Be))},"Settle: "+(he._label||" unknown promise"));!xe&&Ne&&(xe=!0,ue(he,Ne))},ne)}function I(ne,ce){ce._state===P?se(ne,ce._result):ce._state===F?ue(ne,ce._result):me(ce,void 0,function(ye){return $(ne,ye)},function(ye){return ue(ne,ye)})}function H(ne,ce,ye){ce.constructor===ne.constructor&&ye===w&&ce.constructor.resolve===R?I(ne,ce):ye===void 0?se(ne,ce):X(ye)?C(ne,ce,ye):se(ne,ce)}function $(ne,ce){if(ne===ce)ue(ne,k());else if(te(ce)){var ye=void 0;try{ye=ce.then}catch(he){ue(ne,he);return}H(ne,ce,ye)}else se(ne,ce)}function q(ne){ne._onerror&&ne._onerror(ne._result),Ee(ne)}function se(ne,ce){ne._state===B&&(ne._result=ce,ne._state=P,ne._subscribers.length!==0&&s(Ee,ne))}function ue(ne,ce){ne._state===B&&(ne._state=F,ne._result=ce,s(q,ne))}function me(ne,ce,ye,he){var xe=ne._subscribers,Ne=xe.length;ne._onerror=null,xe[Ne]=ce,xe[Ne+P]=ye,xe[Ne+F]=he,Ne===0&&ne._state&&s(Ee,ne)}function Ee(ne){var ce=ne._subscribers,ye=ne._state;if(ce.length!==0){for(var he=void 0,xe=void 0,Ne=ne._result,Be=0;Be<ce.length;Be+=3)he=ce[Be],xe=ce[Be+ye],he?Le(ye,he,xe,Ne):xe(Ne);ne._subscribers.length=0}}function Le(ne,ce,ye,he){var xe=X(ye),Ne=void 0,Be=void 0,je=!0;if(xe){try{Ne=ye(he)}catch(et){je=!1,Be=et}if(ce===Ne){ue(ce,U());return}}else Ne=he;ce._state!==B||(xe&&je?$(ce,Ne):je===!1?ue(ce,Be):ne===P?se(ce,Ne):ne===F&&ue(ce,Ne))}function Fe(ne,ce){try{ce(function(he){$(ne,he)},function(he){ue(ne,he)})}catch(ye){ue(ne,ye)}}var Ke=0;function Te(){return Ke++}function We(ne){ne[O]=Ke++,ne._state=void 0,ne._result=void 0,ne._subscribers=[]}function Ce(){return new Error("Array Methods must be provided an Array")}var De=function(){function ne(ce,ye){this._instanceConstructor=ce,this.promise=new ce(z),this.promise[O]||We(this.promise),K(ye)?(this.length=ye.length,this._remaining=ye.length,this._result=new Array(this.length),this.length===0?se(this.promise,this._result):(this.length=this.length||0,this._enumerate(ye),this._remaining===0&&se(this.promise,this._result))):ue(this.promise,Ce())}return ne.prototype._enumerate=function(ye){for(var he=0;this._state===B&&he<ye.length;he++)this._eachEntry(ye[he],he)},ne.prototype._eachEntry=function(ye,he){var xe=this._instanceConstructor,Ne=xe.resolve;if(Ne===R){var Be=void 0,je=void 0,et=!1;try{Be=ye.then}catch(tt){et=!0,je=tt}if(Be===w&&ye._state!==B)this._settledAt(ye._state,he,ye._result);else if(typeof Be!="function")this._remaining--,this._result[he]=ye;else if(xe===de){var ft=new xe(z);et?ue(ft,je):H(ft,ye,Be),this._willSettleAt(ft,he)}else this._willSettleAt(new xe(function(tt){return tt(ye)}),he)}else this._willSettleAt(Ne(ye),he)},ne.prototype._settledAt=function(ye,he,xe){var Ne=this.promise;Ne._state===B&&(this._remaining--,ye===F?ue(Ne,xe):this._result[he]=xe),this._remaining===0&&se(Ne,this._result)},ne.prototype._willSettleAt=function(ye,he){var xe=this;me(ye,void 0,function(Ne){return xe._settledAt(P,he,Ne)},function(Ne){return xe._settledAt(F,he,Ne)})},ne}();function ge(ne){return new De(this,ne).promise}function Re(ne){var ce=this;return K(ne)?new ce(function(ye,he){for(var xe=ne.length,Ne=0;Ne<xe;Ne++)ce.resolve(ne[Ne]).then(ye,he)}):new ce(function(ye,he){return he(new TypeError("You must pass an array to race."))})}function ve(ne){var ce=this,ye=new ce(z);return ue(ye,ne),ye}function we(){throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")}function Ue(){throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")}var de=function(){function ne(ce){this[O]=Te(),this._result=this._state=void 0,this._subscribers=[],z!==ce&&(typeof ce!="function"&&we(),this instanceof ne?Fe(this,ce):Ue())}return ne.prototype.catch=function(ye){return this.then(null,ye)},ne.prototype.finally=function(ye){var he=this,xe=he.constructor;return X(ye)?he.then(function(Ne){return xe.resolve(ye()).then(function(){return Ne})},function(Ne){return xe.resolve(ye()).then(function(){throw Ne})}):he.then(ye,ye)},ne}();de.prototype.then=w,de.all=ge,de.race=Re,de.resolve=R,de.reject=ve,de._setScheduler=x,de._setAsap=c,de._asap=s;function oe(){var ne=void 0;if(typeof ae.g!="undefined")ne=ae.g;else if(typeof self!="undefined")ne=self;else try{ne=Function("return this")()}catch(he){throw new Error("polyfill failed because global object is unavailable in this environment")}var ce=ne.Promise;if(ce){var ye=null;try{ye=Object.prototype.toString.call(ce.resolve())}catch(he){}if(ye==="[object Promise]"&&!ce.cast)return}ne.Promise=de}return de.polyfill=oe,de.Promise=de,de})},86204:function($t){"use strict";var Qe=typeof Reflect=="object"?Reflect:null,ae=Qe&&typeof Qe.apply=="function"?Qe.apply:function(g,r,a){return Function.prototype.apply.call(g,r,a)},ee;Qe&&typeof Qe.ownKeys=="function"?ee=Qe.ownKeys:Object.getOwnPropertySymbols?ee=function(g){return Object.getOwnPropertyNames(g).concat(Object.getOwnPropertySymbols(g))}:ee=function(g){return Object.getOwnPropertyNames(g)};function te(h){console&&console.warn&&console.warn(h)}var X=Number.isNaN||function(g){return g!==g};function S(){S.init.call(this)}$t.exports=S,$t.exports.once=d,S.EventEmitter=S,S.prototype._events=void 0,S.prototype._eventsCount=0,S.prototype._maxListeners=void 0;var K=10;function y(h){if(typeof h!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof h)}Object.defineProperty(S,"defaultMaxListeners",{enumerable:!0,get:function(){return K},set:function(h){if(typeof h!="number"||h<0||X(h))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+h+".");K=h}}),S.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},S.prototype.setMaxListeners=function(g){if(typeof g!="number"||g<0||X(g))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+g+".");return this._maxListeners=g,this};function L(h){return h._maxListeners===void 0?S.defaultMaxListeners:h._maxListeners}S.prototype.getMaxListeners=function(){return L(this)},S.prototype.emit=function(g){for(var r=[],a=1;a<arguments.length;a++)r.push(arguments[a]);var p=g==="error",E=this._events;if(E!==void 0)p=p&&E.error===void 0;else if(!p)return!1;if(p){var b;if(r.length>0&&(b=r[0]),b instanceof Error)throw b;var w=new Error("Unhandled error."+(b?" ("+b.message+")":""));throw w.context=b,w}var R=E[g];if(R===void 0)return!1;if(typeof R=="function")ae(R,this,r);else for(var O=R.length,z=f(R,O),a=0;a<O;++a)ae(z[a],this,r);return!0};function A(h,g,r,a){var p,E,b;if(y(r),E=h._events,E===void 0?(E=h._events=Object.create(null),h._eventsCount=0):(E.newListener!==void 0&&(h.emit("newListener",g,r.listener?r.listener:r),E=h._events),b=E[g]),b===void 0)b=E[g]=r,++h._eventsCount;else if(typeof b=="function"?b=E[g]=a?[r,b]:[b,r]:a?b.unshift(r):b.push(r),p=L(h),p>0&&b.length>p&&!b.warned){b.warned=!0;var w=new Error("Possible EventEmitter memory leak detected. "+b.length+" "+String(g)+" listeners added. Use emitter.setMaxListeners() to increase limit");w.name="MaxListenersExceededWarning",w.emitter=h,w.type=g,w.count=b.length,te(w)}return h}S.prototype.addListener=function(g,r){return A(this,g,r,!1)},S.prototype.on=S.prototype.addListener,S.prototype.prependListener=function(g,r){return A(this,g,r,!0)};function s(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function x(h,g,r){var a={fired:!1,wrapFn:void 0,target:h,type:g,listener:r},p=s.bind(a);return p.listener=r,a.wrapFn=p,p}S.prototype.once=function(g,r){return y(r),this.on(g,x(this,g,r)),this},S.prototype.prependOnceListener=function(g,r){return y(r),this.prependListener(g,x(this,g,r)),this},S.prototype.removeListener=function(g,r){var a,p,E,b,w;if(y(r),p=this._events,p===void 0)return this;if(a=p[g],a===void 0)return this;if(a===r||a.listener===r)--this._eventsCount===0?this._events=Object.create(null):(delete p[g],p.removeListener&&this.emit("removeListener",g,a.listener||r));else if(typeof a!="function"){for(E=-1,b=a.length-1;b>=0;b--)if(a[b]===r||a[b].listener===r){w=a[b].listener,E=b;break}if(E<0)return this;E===0?a.shift():n(a,E),a.length===1&&(p[g]=a[0]),p.removeListener!==void 0&&this.emit("removeListener",g,w||r)}return this},S.prototype.off=S.prototype.removeListener,S.prototype.removeAllListeners=function(g){var r,a,p;if(a=this._events,a===void 0)return this;if(a.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):a[g]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete a[g]),this;if(arguments.length===0){var E=Object.keys(a),b;for(p=0;p<E.length;++p)b=E[p],b!=="removeListener"&&this.removeAllListeners(b);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(r=a[g],typeof r=="function")this.removeListener(g,r);else if(r!==void 0)for(p=r.length-1;p>=0;p--)this.removeListener(g,r[p]);return this};function c(h,g,r){var a=h._events;if(a===void 0)return[];var p=a[g];return p===void 0?[]:typeof p=="function"?r?[p.listener||p]:[p]:r?o(p):f(p,p.length)}S.prototype.listeners=function(g){return c(this,g,!0)},S.prototype.rawListeners=function(g){return c(this,g,!1)},S.listenerCount=function(h,g){return typeof h.listenerCount=="function"?h.listenerCount(g):l.call(h,g)},S.prototype.listenerCount=l;function l(h){var g=this._events;if(g!==void 0){var r=g[h];if(typeof r=="function")return 1;if(r!==void 0)return r.length}return 0}S.prototype.eventNames=function(){return this._eventsCount>0?ee(this._events):[]};function f(h,g){for(var r=new Array(g),a=0;a<g;++a)r[a]=h[a];return r}function n(h,g){for(;g+1<h.length;g++)h[g]=h[g+1];h.pop()}function o(h){for(var g=new Array(h.length),r=0;r<g.length;++r)g[r]=h[r].listener||h[r];return g}function d(h,g){return new Promise(function(r,a){function p(b){h.removeListener(g,E),a(b)}function E(){typeof h.removeListener=="function"&&h.removeListener("error",p),r([].slice.call(arguments))}_(h,g,E,{once:!0}),g!=="error"&&m(h,p,{once:!0})})}function m(h,g,r){typeof h.on=="function"&&_(h,"error",g,r)}function _(h,g,r,a){if(typeof h.on=="function")a.once?h.once(g,r):h.on(g,r);else if(typeof h.addEventListener=="function")h.addEventListener(g,function p(E){a.once&&h.removeEventListener(g,p),r(E)});else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof h)}},53291:function($t){"use strict";var Qe=Array.isArray,ae=Object.keys,ee=Object.prototype.hasOwnProperty;$t.exports=function te(X,S){if(X===S)return!0;if(X&&S&&typeof X=="object"&&typeof S=="object"){var K=Qe(X),y=Qe(S),L,A,s;if(K&&y){if(A=X.length,A!=S.length)return!1;for(L=A;L--!==0;)if(!te(X[L],S[L]))return!1;return!0}if(K!=y)return!1;var x=X instanceof Date,c=S instanceof Date;if(x!=c)return!1;if(x&&c)return X.getTime()==S.getTime();var l=X instanceof RegExp,f=S instanceof RegExp;if(l!=f)return!1;if(l&&f)return X.toString()==S.toString();var n=ae(X);if(A=n.length,A!==ae(S).length)return!1;for(L=A;L--!==0;)if(!ee.call(S,n[L]))return!1;for(L=A;L--!==0;)if(s=n[L],!te(X[s],S[s]))return!1;return!0}return X!==X&&S!==S}},53184:function($t,Qe,ae){"use strict";var ee,te;function X(S,K,y){var L=function(A,s){return S.js_beautify(A,s)};return L.js=S.js_beautify,L.css=K.css_beautify,L.html=y.html_beautify,L.js_beautify=S.js_beautify,L.css_beautify=K.css_beautify,L.html_beautify=y.html_beautify,L}ee=[ae(58553),ae(87804),ae(40998)],te=function(S,K,y){return X(S,K,y)}.apply(Qe,ee),te!==void 0&&($t.exports=te)},87804:function($t,Qe){var ae,ee;(function(){var te;(function(){"use strict";var S=[,,function(A){function s(l){this.__parent=l,this.__character_count=0,this.__indent_count=-1,this.__alignment_count=0,this.__wrap_point_index=0,this.__wrap_point_character_count=0,this.__wrap_point_indent_count=-1,this.__wrap_point_alignment_count=0,this.__items=[]}s.prototype.clone_empty=function(){var l=new s(this.__parent);return l.set_indent(this.__indent_count,this.__alignment_count),l},s.prototype.item=function(l){return l<0?this.__items[this.__items.length+l]:this.__items[l]},s.prototype.has_match=function(l){for(var f=this.__items.length-1;f>=0;f--)if(this.__items[f].match(l))return!0;return!1},s.prototype.set_indent=function(l,f){this.is_empty()&&(this.__indent_count=l||0,this.__alignment_count=f||0,this.__character_count=this.__parent.get_indent_size(this.__indent_count,this.__alignment_count))},s.prototype._set_wrap_point=function(){this.__parent.wrap_line_length&&(this.__wrap_point_index=this.__items.length,this.__wrap_point_character_count=this.__character_count,this.__wrap_point_indent_count=this.__parent.next_line.__indent_count,this.__wrap_point_alignment_count=this.__parent.next_line.__alignment_count)},s.prototype._should_wrap=function(){return this.__wrap_point_index&&this.__character_count>this.__parent.wrap_line_length&&this.__wrap_point_character_count>this.__parent.next_line.__character_count},s.prototype._allow_wrap=function(){if(this._should_wrap()){this.__parent.add_new_line();var l=this.__parent.current_line;return l.set_indent(this.__wrap_point_indent_count,this.__wrap_point_alignment_count),l.__items=this.__items.slice(this.__wrap_point_index),this.__items=this.__items.slice(0,this.__wrap_point_index),l.__character_count+=this.__character_count-this.__wrap_point_character_count,this.__character_count=this.__wrap_point_character_count,l.__items[0]===" "&&(l.__items.splice(0,1),l.__character_count-=1),!0}return!1},s.prototype.is_empty=function(){return this.__items.length===0},s.prototype.last=function(){return this.is_empty()?null:this.__items[this.__items.length-1]},s.prototype.push=function(l){this.__items.push(l);var f=l.lastIndexOf(`
`);f!==-1?this.__character_count=l.length-f:this.__character_count+=l.length},s.prototype.pop=function(){var l=null;return this.is_empty()||(l=this.__items.pop(),this.__character_count-=l.length),l},s.prototype._remove_indent=function(){this.__indent_count>0&&(this.__indent_count-=1,this.__character_count-=this.__parent.indent_size)},s.prototype._remove_wrap_indent=function(){this.__wrap_point_indent_count>0&&(this.__wrap_point_indent_count-=1)},s.prototype.trim=function(){for(;this.last()===" ";)this.__items.pop(),this.__character_count-=1},s.prototype.toString=function(){var l="";return this.is_empty()?this.__parent.indent_empty_lines&&(l=this.__parent.get_indent_string(this.__indent_count)):(l=this.__parent.get_indent_string(this.__indent_count,this.__alignment_count),l+=this.__items.join("")),l};function x(l,f){this.__cache=[""],this.__indent_size=l.indent_size,this.__indent_string=l.indent_char,l.indent_with_tabs||(this.__indent_string=new Array(l.indent_size+1).join(l.indent_char)),f=f||"",l.indent_level>0&&(f=new Array(l.indent_level+1).join(this.__indent_string)),this.__base_string=f,this.__base_string_length=f.length}x.prototype.get_indent_size=function(l,f){var n=this.__base_string_length;return f=f||0,l<0&&(n=0),n+=l*this.__indent_size,n+=f,n},x.prototype.get_indent_string=function(l,f){var n=this.__base_string;return f=f||0,l<0&&(l=0,n=""),f+=l*this.__indent_size,this.__ensure_cache(f),n+=this.__cache[f],n},x.prototype.__ensure_cache=function(l){for(;l>=this.__cache.length;)this.__add_column()},x.prototype.__add_column=function(){var l=this.__cache.length,f=0,n="";this.__indent_size&&l>=this.__indent_size&&(f=Math.floor(l/this.__indent_size),l-=f*this.__indent_size,n=new Array(f+1).join(this.__indent_string)),l&&(n+=new Array(l+1).join(" ")),this.__cache.push(n)};function c(l,f){this.__indent_cache=new x(l,f),this.raw=!1,this._end_with_newline=l.end_with_newline,this.indent_size=l.indent_size,this.wrap_line_length=l.wrap_line_length,this.indent_empty_lines=l.indent_empty_lines,this.__lines=[],this.previous_line=null,this.current_line=null,this.next_line=new s(this),this.space_before_token=!1,this.non_breaking_space=!1,this.previous_token_wrapped=!1,this.__add_outputline()}c.prototype.__add_outputline=function(){this.previous_line=this.current_line,this.current_line=this.next_line.clone_empty(),this.__lines.push(this.current_line)},c.prototype.get_line_number=function(){return this.__lines.length},c.prototype.get_indent_string=function(l,f){return this.__indent_cache.get_indent_string(l,f)},c.prototype.get_indent_size=function(l,f){return this.__indent_cache.get_indent_size(l,f)},c.prototype.is_empty=function(){return!this.previous_line&&this.current_line.is_empty()},c.prototype.add_new_line=function(l){return this.is_empty()||!l&&this.just_added_newline()?!1:(this.raw||this.__add_outputline(),!0)},c.prototype.get_code=function(l){this.trim(!0);var f=this.current_line.pop();f&&(f[f.length-1]===`
`&&(f=f.replace(/\n+$/g,"")),this.current_line.push(f)),this._end_with_newline&&this.__add_outputline();var n=this.__lines.join(`
`);return l!==`
`&&(n=n.replace(/[\n]/g,l)),n},c.prototype.set_wrap_point=function(){this.current_line._set_wrap_point()},c.prototype.set_indent=function(l,f){return l=l||0,f=f||0,this.next_line.set_indent(l,f),this.__lines.length>1?(this.current_line.set_indent(l,f),!0):(this.current_line.set_indent(),!1)},c.prototype.add_raw_token=function(l){for(var f=0;f<l.newlines;f++)this.__add_outputline();this.current_line.set_indent(-1),this.current_line.push(l.whitespace_before),this.current_line.push(l.text),this.space_before_token=!1,this.non_breaking_space=!1,this.previous_token_wrapped=!1},c.prototype.add_token=function(l){this.__add_space_before_token(),this.current_line.push(l),this.space_before_token=!1,this.non_breaking_space=!1,this.previous_token_wrapped=this.current_line._allow_wrap()},c.prototype.__add_space_before_token=function(){this.space_before_token&&!this.just_added_newline()&&(this.non_breaking_space||this.set_wrap_point(),this.current_line.push(" "))},c.prototype.remove_indent=function(l){for(var f=this.__lines.length;l<f;)this.__lines[l]._remove_indent(),l++;this.current_line._remove_wrap_indent()},c.prototype.trim=function(l){for(l=l===void 0?!1:l,this.current_line.trim();l&&this.__lines.length>1&&this.current_line.is_empty();)this.__lines.pop(),this.current_line=this.__lines[this.__lines.length-1],this.current_line.trim();this.previous_line=this.__lines.length>1?this.__lines[this.__lines.length-2]:null},c.prototype.just_added_newline=function(){return this.current_line.is_empty()},c.prototype.just_added_blankline=function(){return this.is_empty()||this.current_line.is_empty()&&this.previous_line.is_empty()},c.prototype.ensure_empty_line_above=function(l,f){for(var n=this.__lines.length-2;n>=0;){var o=this.__lines[n];if(o.is_empty())break;if(o.item(0).indexOf(l)!==0&&o.item(-1)!==f){this.__lines.splice(n+1,0,new s(this)),this.previous_line=this.__lines[this.__lines.length-2];break}n--}},A.exports.Output=c},,,,function(A){function s(l,f){this.raw_options=x(l,f),this.disabled=this._get_boolean("disabled"),this.eol=this._get_characters("eol","auto"),this.end_with_newline=this._get_boolean("end_with_newline"),this.indent_size=this._get_number("indent_size",4),this.indent_char=this._get_characters("indent_char"," "),this.indent_level=this._get_number("indent_level"),this.preserve_newlines=this._get_boolean("preserve_newlines",!0),this.max_preserve_newlines=this._get_number("max_preserve_newlines",32786),this.preserve_newlines||(this.max_preserve_newlines=0),this.indent_with_tabs=this._get_boolean("indent_with_tabs",this.indent_char===" "),this.indent_with_tabs&&(this.indent_char=" ",this.indent_size===1&&(this.indent_size=4)),this.wrap_line_length=this._get_number("wrap_line_length",this._get_number("max_char")),this.indent_empty_lines=this._get_boolean("indent_empty_lines"),this.templating=this._get_selection_list("templating",["auto","none","angular","django","erb","handlebars","php","smarty"],["auto"])}s.prototype._get_array=function(l,f){var n=this.raw_options[l],o=f||[];return typeof n=="object"?n!==null&&typeof n.concat=="function"&&(o=n.concat()):typeof n=="string"&&(o=n.split(/[^a-zA-Z0-9_\/\-]+/)),o},s.prototype._get_boolean=function(l,f){var n=this.raw_options[l],o=n===void 0?!!f:!!n;return o},s.prototype._get_characters=function(l,f){var n=this.raw_options[l],o=f||"";return typeof n=="string"&&(o=n.replace(/\\r/,"\r").replace(/\\n/,`
`).replace(/\\t/," ")),o},s.prototype._get_number=function(l,f){var n=this.raw_options[l];f=parseInt(f,10),isNaN(f)&&(f=0);var o=parseInt(n,10);return isNaN(o)&&(o=f),o},s.prototype._get_selection=function(l,f,n){var o=this._get_selection_list(l,f,n);if(o.length!==1)throw new Error("Invalid Option Value: The option '"+l+`' can only be one of the following values:
`+f+`
You passed in: '`+this.raw_options[l]+"'");return o[0]},s.prototype._get_selection_list=function(l,f,n){if(!f||f.length===0)throw new Error("Selection list cannot be empty.");if(n=n||[f[0]],!this._is_valid_selection(n,f))throw new Error("Invalid Default Value!");var o=this._get_array(l,n);if(!this._is_valid_selection(o,f))throw new Error("Invalid Option Value: The option '"+l+`' can contain only the following values:
`+f+`
You passed in: '`+this.raw_options[l]+"'");return o},s.prototype._is_valid_selection=function(l,f){return l.length&&f.length&&!l.some(function(n){return f.indexOf(n)===-1})};function x(l,f){var n={};l=c(l);var o;for(o in l)o!==f&&(n[o]=l[o]);if(f&&l[f])for(o in l[f])n[o]=l[f][o];return n}function c(l){var f={},n;for(n in l){var o=n.replace(/-/g,"_");f[o]=l[n]}return f}A.exports.Options=s,A.exports.normalizeOpts=c,A.exports.mergeOpts=x},,function(A){var s=RegExp.prototype.hasOwnProperty("sticky");function x(c){this.__input=c||"",this.__input_length=this.__input.length,this.__position=0}x.prototype.restart=function(){this.__position=0},x.prototype.back=function(){this.__position>0&&(this.__position-=1)},x.prototype.hasNext=function(){return this.__position<this.__input_length},x.prototype.next=function(){var c=null;return this.hasNext()&&(c=this.__input.charAt(this.__position),this.__position+=1),c},x.prototype.peek=function(c){var l=null;return c=c||0,c+=this.__position,c>=0&&c<this.__input_length&&(l=this.__input.charAt(c)),l},x.prototype.__match=function(c,l){c.lastIndex=l;var f=c.exec(this.__input);return f&&!(s&&c.sticky)&&f.index!==l&&(f=null),f},x.prototype.test=function(c,l){return l=l||0,l+=this.__position,l>=0&&l<this.__input_length?!!this.__match(c,l):!1},x.prototype.testChar=function(c,l){var f=this.peek(l);return c.lastIndex=0,f!==null&&c.test(f)},x.prototype.match=function(c){var l=this.__match(c,this.__position);return l?this.__position+=l[0].length:l=null,l},x.prototype.read=function(c,l,f){var n="",o;return c&&(o=this.match(c),o&&(n+=o[0])),l&&(o||!c)&&(n+=this.readUntil(l,f)),n},x.prototype.readUntil=function(c,l){var f="",n=this.__position;c.lastIndex=this.__position;var o=c.exec(this.__input);return o?(n=o.index,l&&(n+=o[0].length)):n=this.__input_length,f=this.__input.substring(this.__position,n),this.__position=n,f},x.prototype.readUntilAfter=function(c){return this.readUntil(c,!0)},x.prototype.get_regexp=function(c,l){var f=null,n="g";return l&&s&&(n="y"),typeof c=="string"&&c!==""?f=new RegExp(c,n):c&&(f=new RegExp(c.source,n)),f},x.prototype.get_literal_regexp=function(c){return RegExp(c.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&"))},x.prototype.peekUntilAfter=function(c){var l=this.__position,f=this.readUntilAfter(c);return this.__position=l,f},x.prototype.lookBack=function(c){var l=this.__position-1;return l>=c.length&&this.__input.substring(l-c.length,l).toLowerCase()===c},A.exports.InputScanner=x},,,,,function(A){function s(x,c){x=typeof x=="string"?x:x.source,c=typeof c=="string"?c:c.source,this.__directives_block_pattern=new RegExp(x+/ beautify( \w+[:]\w+)+ /.source+c,"g"),this.__directive_pattern=/ (\w+)[:](\w+)/g,this.__directives_end_ignore_pattern=new RegExp(x+/\sbeautify\signore:end\s/.source+c,"g")}s.prototype.get_directives=function(x){if(!x.match(this.__directives_block_pattern))return null;var c={};this.__directive_pattern.lastIndex=0;for(var l=this.__directive_pattern.exec(x);l;)c[l[1]]=l[2],l=this.__directive_pattern.exec(x);return c},s.prototype.readIgnored=function(x){return x.readUntilAfter(this.__directives_end_ignore_pattern)},A.exports.Directives=s},,function(A,s,x){var c=x(16).Beautifier,l=x(17).Options;function f(n,o){var d=new c(n,o);return d.beautify()}A.exports=f,A.exports.defaultOptions=function(){return new l}},function(A,s,x){var c=x(17).Options,l=x(2).Output,f=x(8).InputScanner,n=x(13).Directives,o=new n(/\/\*/,/\*\//),d=/\r\n|[\r\n]/,m=/\r\n|[\r\n]/g,_=/\s/,h=/(?:\s|\n)+/g,g=/\/\*(?:[\s\S]*?)((?:\*\/)|$)/g,r=/\/\/(?:[^\n\r\u2028\u2029]*)/g;function a(p,E){this._source_text=p||"",this._options=new c(E),this._ch=null,this._input=null,this.NESTED_AT_RULE={page:!0,"font-face":!0,keyframes:!0,media:!0,supports:!0,document:!0},this.CONDITIONAL_GROUP_RULE={media:!0,supports:!0,document:!0},this.NON_SEMICOLON_NEWLINE_PROPERTY=["grid-template-areas","grid-template"]}a.prototype.eatString=function(p){var E="";for(this._ch=this._input.next();this._ch;){if(E+=this._ch,this._ch==="\\")E+=this._input.next();else if(p.indexOf(this._ch)!==-1||this._ch===`
`)break;this._ch=this._input.next()}return E},a.prototype.eatWhitespace=function(p){for(var E=_.test(this._input.peek()),b=0;_.test(this._input.peek());)this._ch=this._input.next(),p&&this._ch===`
`&&(b===0||b<this._options.max_preserve_newlines)&&(b++,this._output.add_new_line(!0));return E},a.prototype.foundNestedPseudoClass=function(){for(var p=0,E=1,b=this._input.peek(E);b;){if(b==="{")return!0;if(b==="(")p+=1;else if(b===")"){if(p===0)return!1;p-=1}else if(b===";"||b==="}")return!1;E++,b=this._input.peek(E)}return!1},a.prototype.print_string=function(p){this._output.set_indent(this._indentLevel),this._output.non_breaking_space=!0,this._output.add_token(p)},a.prototype.preserveSingleSpace=function(p){p&&(this._output.space_before_token=!0)},a.prototype.indent=function(){this._indentLevel++},a.prototype.outdent=function(){this._indentLevel>0&&this._indentLevel--},a.prototype.beautify=function(){if(this._options.disabled)return this._source_text;var p=this._source_text,E=this._options.eol;E==="auto"&&(E=`
`,p&&d.test(p||"")&&(E=p.match(d)[0])),p=p.replace(m,`
`);var b=p.match(/^[\t ]*/)[0];this._output=new l(this._options,b),this._input=new f(p),this._indentLevel=0,this._nestedLevel=0,this._ch=null;for(var w=0,R=!1,O=!1,z=!1,B=!1,P=!1,F=this._ch,k=!1,U,G,C;U=this._input.read(h),G=U!=="",C=F,this._ch=this._input.next(),this._ch==="\\"&&this._input.hasNext()&&(this._ch+=this._input.next()),F=this._ch,this._ch;)if(this._ch==="/"&&this._input.peek()==="*"){this._output.add_new_line(),this._input.back();var I=this._input.read(g),H=o.get_directives(I);H&&H.ignore==="start"&&(I+=o.readIgnored(this._input)),this.print_string(I),this.eatWhitespace(!0),this._output.add_new_line()}else if(this._ch==="/"&&this._input.peek()==="/")this._output.space_before_token=!0,this._input.back(),this.print_string(this._input.read(r)),this.eatWhitespace(!0);else if(this._ch==="$"){this.preserveSingleSpace(G),this.print_string(this._ch);var $=this._input.peekUntilAfter(/[: ,;{}()[\]\/='"]/g);$.match(/[ :]$/)&&($=this.eatString(": ").replace(/\s+$/,""),this.print_string($),this._output.space_before_token=!0),w===0&&$.indexOf(":")!==-1&&(O=!0,this.indent())}else if(this._ch==="@")if(this.preserveSingleSpace(G),this._input.peek()==="{")this.print_string(this._ch+this.eatString("}"));else{this.print_string(this._ch);var q=this._input.peekUntilAfter(/[: ,;{}()[\]\/='"]/g);q.match(/[ :]$/)&&(q=this.eatString(": ").replace(/\s+$/,""),this.print_string(q),this._output.space_before_token=!0),w===0&&q.indexOf(":")!==-1?(O=!0,this.indent()):q in this.NESTED_AT_RULE?(this._nestedLevel+=1,q in this.CONDITIONAL_GROUP_RULE&&(z=!0)):w===0&&!O&&(B=!0)}else if(this._ch==="#"&&this._input.peek()==="{")this.preserveSingleSpace(G),this.print_string(this._ch+this.eatString("}"));else if(this._ch==="{")O&&(O=!1,this.outdent()),B=!1,z?(z=!1,R=this._indentLevel>=this._nestedLevel):R=this._indentLevel>=this._nestedLevel-1,this._options.newline_between_rules&&R&&this._output.previous_line&&this._output.previous_line.item(-1)!=="{"&&this._output.ensure_empty_line_above("/",","),this._output.space_before_token=!0,this._options.brace_style==="expand"?(this._output.add_new_line(),this.print_string(this._ch),this.indent(),this._output.set_indent(this._indentLevel)):(C==="("?this._output.space_before_token=!1:C!==","&&this.indent(),this.print_string(this._ch)),this.eatWhitespace(!0),this._output.add_new_line();else if(this._ch==="}")this.outdent(),this._output.add_new_line(),C==="{"&&this._output.trim(!0),O&&(this.outdent(),O=!1),this.print_string(this._ch),R=!1,this._nestedLevel&&this._nestedLevel--,this.eatWhitespace(!0),this._output.add_new_line(),this._options.newline_between_rules&&!this._output.just_added_blankline()&&this._input.peek()!=="}"&&this._output.add_new_line(!0),this._input.peek()===")"&&(this._output.trim(!0),this._options.brace_style==="expand"&&this._output.add_new_line(!0));else if(this._ch===":"){for(var se=0;se<this.NON_SEMICOLON_NEWLINE_PROPERTY.length;se++)if(this._input.lookBack(this.NON_SEMICOLON_NEWLINE_PROPERTY[se])){k=!0;break}(R||z)&&!(this._input.lookBack("&")||this.foundNestedPseudoClass())&&!this._input.lookBack("(")&&!B&&w===0?(this.print_string(":"),O||(O=!0,this._output.space_before_token=!0,this.eatWhitespace(!0),this.indent())):(this._input.lookBack(" ")&&(this._output.space_before_token=!0),this._input.peek()===":"?(this._ch=this._input.next(),this.print_string("::")):this.print_string(":"))}else if(this._ch==='"'||this._ch==="'"){var ue=C==='"'||C==="'";this.preserveSingleSpace(ue||G),this.print_string(this._ch+this.eatString(this._ch)),this.eatWhitespace(!0)}else if(this._ch===";")k=!1,w===0?(O&&(this.outdent(),O=!1),B=!1,this.print_string(this._ch),this.eatWhitespace(!0),this._input.peek()!=="/"&&this._output.add_new_line()):(this.print_string(this._ch),this.eatWhitespace(!0),this._output.space_before_token=!0);else if(this._ch==="(")if(this._input.lookBack("url"))this.print_string(this._ch),this.eatWhitespace(),w++,this.indent(),this._ch=this._input.next(),this._ch===")"||this._ch==='"'||this._ch==="'"?this._input.back():this._ch&&(this.print_string(this._ch+this.eatString(")")),w&&(w--,this.outdent()));else{var me=!1;this._input.lookBack("with")&&(me=!0),this.preserveSingleSpace(G||me),this.print_string(this._ch),O&&C==="$"&&this._options.selector_separator_newline?(this._output.add_new_line(),P=!0):(this.eatWhitespace(),w++,this.indent())}else if(this._ch===")")w&&(w--,this.outdent()),P&&this._input.peek()===";"&&this._options.selector_separator_newline&&(P=!1,this.outdent(),this._output.add_new_line()),this.print_string(this._ch);else if(this._ch===",")this.print_string(this._ch),this.eatWhitespace(!0),this._options.selector_separator_newline&&(!O||P)&&w===0&&!B?this._output.add_new_line():this._output.space_before_token=!0;else if((this._ch===">"||this._ch==="+"||this._ch==="~")&&!O&&w===0)this._options.space_around_combinator?(this._output.space_before_token=!0,this.print_string(this._ch),this._output.space_before_token=!0):(this.print_string(this._ch),this.eatWhitespace(),this._ch&&_.test(this._ch)&&(this._ch=""));else if(this._ch==="]")this.print_string(this._ch);else if(this._ch==="[")this.preserveSingleSpace(G),this.print_string(this._ch);else if(this._ch==="=")this.eatWhitespace(),this.print_string("="),_.test(this._ch)&&(this._ch="");else if(this._ch==="!"&&!this._input.lookBack("\\"))this._output.space_before_token=!0,this.print_string(this._ch);else{var Ee=C==='"'||C==="'";this.preserveSingleSpace(Ee||G),this.print_string(this._ch),!this._output.just_added_newline()&&this._input.peek()===`
`&&k&&this._output.add_new_line()}var Le=this._output.get_code(E);return Le},A.exports.Beautifier=a},function(A,s,x){var c=x(6).Options;function l(f){c.call(this,f,"css"),this.selector_separator_newline=this._get_boolean("selector_separator_newline",!0),this.newline_between_rules=this._get_boolean("newline_between_rules",!0);var n=this._get_boolean("space_around_selector_separator");this.space_around_combinator=this._get_boolean("space_around_combinator")||n;var o=this._get_selection_list("brace_style",["collapse","expand","end-expand","none","preserve-inline"]);this.brace_style="collapse";for(var d=0;d<o.length;d++)o[d]!=="expand"?this.brace_style="collapse":this.brace_style=o[d]}l.prototype=new c,A.exports.Options=l}],K={};function y(A){var s=K[A];if(s!==void 0)return s.exports;var x=K[A]={exports:{}};return S[A](x,x.exports,y),x.exports}var L=y(15);te=L})();var X=te;ae=[],ee=function(){return{css_beautify:X}}.apply(Qe,ae),ee!==void 0&&($t.exports=ee)})()},40998:function($t,Qe,ae){var ee,te;(function(){var X;(function(){"use strict";var L=[,,function(c){function l(o){this.__parent=o,this.__character_count=0,this.__indent_count=-1,this.__alignment_count=0,this.__wrap_point_index=0,this.__wrap_point_character_count=0,this.__wrap_point_indent_count=-1,this.__wrap_point_alignment_count=0,this.__items=[]}l.prototype.clone_empty=function(){var o=new l(this.__parent);return o.set_indent(this.__indent_count,this.__alignment_count),o},l.prototype.item=function(o){return o<0?this.__items[this.__items.length+o]:this.__items[o]},l.prototype.has_match=function(o){for(var d=this.__items.length-1;d>=0;d--)if(this.__items[d].match(o))return!0;return!1},l.prototype.set_indent=function(o,d){this.is_empty()&&(this.__indent_count=o||0,this.__alignment_count=d||0,this.__character_count=this.__parent.get_indent_size(this.__indent_count,this.__alignment_count))},l.prototype._set_wrap_point=function(){this.__parent.wrap_line_length&&(this.__wrap_point_index=this.__items.length,this.__wrap_point_character_count=this.__character_count,this.__wrap_point_indent_count=this.__parent.next_line.__indent_count,this.__wrap_point_alignment_count=this.__parent.next_line.__alignment_count)},l.prototype._should_wrap=function(){return this.__wrap_point_index&&this.__character_count>this.__parent.wrap_line_length&&this.__wrap_point_character_count>this.__parent.next_line.__character_count},l.prototype._allow_wrap=function(){if(this._should_wrap()){this.__parent.add_new_line();var o=this.__parent.current_line;return o.set_indent(this.__wrap_point_indent_count,this.__wrap_point_alignment_count),o.__items=this.__items.slice(this.__wrap_point_index),this.__items=this.__items.slice(0,this.__wrap_point_index),o.__character_count+=this.__character_count-this.__wrap_point_character_count,this.__character_count=this.__wrap_point_character_count,o.__items[0]===" "&&(o.__items.splice(0,1),o.__character_count-=1),!0}return!1},l.prototype.is_empty=function(){return this.__items.length===0},l.prototype.last=function(){return this.is_empty()?null:this.__items[this.__items.length-1]},l.prototype.push=function(o){this.__items.push(o);var d=o.lastIndexOf(`
`);d!==-1?this.__character_count=o.length-d:this.__character_count+=o.length},l.prototype.pop=function(){var o=null;return this.is_empty()||(o=this.__items.pop(),this.__character_count-=o.length),o},l.prototype._remove_indent=function(){this.__indent_count>0&&(this.__indent_count-=1,this.__character_count-=this.__parent.indent_size)},l.prototype._remove_wrap_indent=function(){this.__wrap_point_indent_count>0&&(this.__wrap_point_indent_count-=1)},l.prototype.trim=function(){for(;this.last()===" ";)this.__items.pop(),this.__character_count-=1},l.prototype.toString=function(){var o="";return this.is_empty()?this.__parent.indent_empty_lines&&(o=this.__parent.get_indent_string(this.__indent_count)):(o=this.__parent.get_indent_string(this.__indent_count,this.__alignment_count),o+=this.__items.join("")),o};function f(o,d){this.__cache=[""],this.__indent_size=o.indent_size,this.__indent_string=o.indent_char,o.indent_with_tabs||(this.__indent_string=new Array(o.indent_size+1).join(o.indent_char)),d=d||"",o.indent_level>0&&(d=new Array(o.indent_level+1).join(this.__indent_string)),this.__base_string=d,this.__base_string_length=d.length}f.prototype.get_indent_size=function(o,d){var m=this.__base_string_length;return d=d||0,o<0&&(m=0),m+=o*this.__indent_size,m+=d,m},f.prototype.get_indent_string=function(o,d){var m=this.__base_string;return d=d||0,o<0&&(o=0,m=""),d+=o*this.__indent_size,this.__ensure_cache(d),m+=this.__cache[d],m},f.prototype.__ensure_cache=function(o){for(;o>=this.__cache.length;)this.__add_column()},f.prototype.__add_column=function(){var o=this.__cache.length,d=0,m="";this.__indent_size&&o>=this.__indent_size&&(d=Math.floor(o/this.__indent_size),o-=d*this.__indent_size,m=new Array(d+1).join(this.__indent_string)),o&&(m+=new Array(o+1).join(" ")),this.__cache.push(m)};function n(o,d){this.__indent_cache=new f(o,d),this.raw=!1,this._end_with_newline=o.end_with_newline,this.indent_size=o.indent_size,this.wrap_line_length=o.wrap_line_length,this.indent_empty_lines=o.indent_empty_lines,this.__lines=[],this.previous_line=null,this.current_line=null,this.next_line=new l(this),this.space_before_token=!1,this.non_breaking_space=!1,this.previous_token_wrapped=!1,this.__add_outputline()}n.prototype.__add_outputline=function(){this.previous_line=this.current_line,this.current_line=this.next_line.clone_empty(),this.__lines.push(this.current_line)},n.prototype.get_line_number=function(){return this.__lines.length},n.prototype.get_indent_string=function(o,d){return this.__indent_cache.get_indent_string(o,d)},n.prototype.get_indent_size=function(o,d){return this.__indent_cache.get_indent_size(o,d)},n.prototype.is_empty=function(){return!this.previous_line&&this.current_line.is_empty()},n.prototype.add_new_line=function(o){return this.is_empty()||!o&&this.just_added_newline()?!1:(this.raw||this.__add_outputline(),!0)},n.prototype.get_code=function(o){this.trim(!0);var d=this.current_line.pop();d&&(d[d.length-1]===`
`&&(d=d.replace(/\n+$/g,"")),this.current_line.push(d)),this._end_with_newline&&this.__add_outputline();var m=this.__lines.join(`
`);return o!==`
`&&(m=m.replace(/[\n]/g,o)),m},n.prototype.set_wrap_point=function(){this.current_line._set_wrap_point()},n.prototype.set_indent=function(o,d){return o=o||0,d=d||0,this.next_line.set_indent(o,d),this.__lines.length>1?(this.current_line.set_indent(o,d),!0):(this.current_line.set_indent(),!1)},n.prototype.add_raw_token=function(o){for(var d=0;d<o.newlines;d++)this.__add_outputline();this.current_line.set_indent(-1),this.current_line.push(o.whitespace_before),this.current_line.push(o.text),this.space_before_token=!1,this.non_breaking_space=!1,this.previous_token_wrapped=!1},n.prototype.add_token=function(o){this.__add_space_before_token(),this.current_line.push(o),this.space_before_token=!1,this.non_breaking_space=!1,this.previous_token_wrapped=this.current_line._allow_wrap()},n.prototype.__add_space_before_token=function(){this.space_before_token&&!this.just_added_newline()&&(this.non_breaking_space||this.set_wrap_point(),this.current_line.push(" "))},n.prototype.remove_indent=function(o){for(var d=this.__lines.length;o<d;)this.__lines[o]._remove_indent(),o++;this.current_line._remove_wrap_indent()},n.prototype.trim=function(o){for(o=o===void 0?!1:o,this.current_line.trim();o&&this.__lines.length>1&&this.current_line.is_empty();)this.__lines.pop(),this.current_line=this.__lines[this.__lines.length-1],this.current_line.trim();this.previous_line=this.__lines.length>1?this.__lines[this.__lines.length-2]:null},n.prototype.just_added_newline=function(){return this.current_line.is_empty()},n.prototype.just_added_blankline=function(){return this.is_empty()||this.current_line.is_empty()&&this.previous_line.is_empty()},n.prototype.ensure_empty_line_above=function(o,d){for(var m=this.__lines.length-2;m>=0;){var _=this.__lines[m];if(_.is_empty())break;if(_.item(0).indexOf(o)!==0&&_.item(-1)!==d){this.__lines.splice(m+1,0,new l(this)),this.previous_line=this.__lines[this.__lines.length-2];break}m--}},c.exports.Output=n},function(c){function l(f,n,o,d){this.type=f,this.text=n,this.comments_before=null,this.newlines=o||0,this.whitespace_before=d||"",this.parent=null,this.next=null,this.previous=null,this.opened=null,this.closed=null,this.directives=null}c.exports.Token=l},,,function(c){function l(o,d){this.raw_options=f(o,d),this.disabled=this._get_boolean("disabled"),this.eol=this._get_characters("eol","auto"),this.end_with_newline=this._get_boolean("end_with_newline"),this.indent_size=this._get_number("indent_size",4),this.indent_char=this._get_characters("indent_char"," "),this.indent_level=this._get_number("indent_level"),this.preserve_newlines=this._get_boolean("preserve_newlines",!0),this.max_preserve_newlines=this._get_number("max_preserve_newlines",32786),this.preserve_newlines||(this.max_preserve_newlines=0),this.indent_with_tabs=this._get_boolean("indent_with_tabs",this.indent_char===" "),this.indent_with_tabs&&(this.indent_char=" ",this.indent_size===1&&(this.indent_size=4)),this.wrap_line_length=this._get_number("wrap_line_length",this._get_number("max_char")),this.indent_empty_lines=this._get_boolean("indent_empty_lines"),this.templating=this._get_selection_list("templating",["auto","none","angular","django","erb","handlebars","php","smarty"],["auto"])}l.prototype._get_array=function(o,d){var m=this.raw_options[o],_=d||[];return typeof m=="object"?m!==null&&typeof m.concat=="function"&&(_=m.concat()):typeof m=="string"&&(_=m.split(/[^a-zA-Z0-9_\/\-]+/)),_},l.prototype._get_boolean=function(o,d){var m=this.raw_options[o],_=m===void 0?!!d:!!m;return _},l.prototype._get_characters=function(o,d){var m=this.raw_options[o],_=d||"";return typeof m=="string"&&(_=m.replace(/\\r/,"\r").replace(/\\n/,`
`).replace(/\\t/," ")),_},l.prototype._get_number=function(o,d){var m=this.raw_options[o];d=parseInt(d,10),isNaN(d)&&(d=0);var _=parseInt(m,10);return isNaN(_)&&(_=d),_},l.prototype._get_selection=function(o,d,m){var _=this._get_selection_list(o,d,m);if(_.length!==1)throw new Error("Invalid Option Value: The option '"+o+`' can only be one of the following values:
`+d+`
You passed in: '`+this.raw_options[o]+"'");return _[0]},l.prototype._get_selection_list=function(o,d,m){if(!d||d.length===0)throw new Error("Selection list cannot be empty.");if(m=m||[d[0]],!this._is_valid_selection(m,d))throw new Error("Invalid Default Value!");var _=this._get_array(o,m);if(!this._is_valid_selection(_,d))throw new Error("Invalid Option Value: The option '"+o+`' can contain only the following values:
`+d+`
You passed in: '`+this.raw_options[o]+"'");return _},l.prototype._is_valid_selection=function(o,d){return o.length&&d.length&&!o.some(function(m){return d.indexOf(m)===-1})};function f(o,d){var m={};o=n(o);var _;for(_ in o)_!==d&&(m[_]=o[_]);if(d&&o[d])for(_ in o[d])m[_]=o[d][_];return m}function n(o){var d={},m;for(m in o){var _=m.replace(/-/g,"_");d[_]=o[m]}return d}c.exports.Options=l,c.exports.normalizeOpts=n,c.exports.mergeOpts=f},,function(c){var l=RegExp.prototype.hasOwnProperty("sticky");function f(n){this.__input=n||"",this.__input_length=this.__input.length,this.__position=0}f.prototype.restart=function(){this.__position=0},f.prototype.back=function(){this.__position>0&&(this.__position-=1)},f.prototype.hasNext=function(){return this.__position<this.__input_length},f.prototype.next=function(){var n=null;return this.hasNext()&&(n=this.__input.charAt(this.__position),this.__position+=1),n},f.prototype.peek=function(n){var o=null;return n=n||0,n+=this.__position,n>=0&&n<this.__input_length&&(o=this.__input.charAt(n)),o},f.prototype.__match=function(n,o){n.lastIndex=o;var d=n.exec(this.__input);return d&&!(l&&n.sticky)&&d.index!==o&&(d=null),d},f.prototype.test=function(n,o){return o=o||0,o+=this.__position,o>=0&&o<this.__input_length?!!this.__match(n,o):!1},f.prototype.testChar=function(n,o){var d=this.peek(o);return n.lastIndex=0,d!==null&&n.test(d)},f.prototype.match=function(n){var o=this.__match(n,this.__position);return o?this.__position+=o[0].length:o=null,o},f.prototype.read=function(n,o,d){var m="",_;return n&&(_=this.match(n),_&&(m+=_[0])),o&&(_||!n)&&(m+=this.readUntil(o,d)),m},f.prototype.readUntil=function(n,o){var d="",m=this.__position;n.lastIndex=this.__position;var _=n.exec(this.__input);return _?(m=_.index,o&&(m+=_[0].length)):m=this.__input_length,d=this.__input.substring(this.__position,m),this.__position=m,d},f.prototype.readUntilAfter=function(n){return this.readUntil(n,!0)},f.prototype.get_regexp=function(n,o){var d=null,m="g";return o&&l&&(m="y"),typeof n=="string"&&n!==""?d=new RegExp(n,m):n&&(d=new RegExp(n.source,m)),d},f.prototype.get_literal_regexp=function(n){return RegExp(n.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&"))},f.prototype.peekUntilAfter=function(n){var o=this.__position,d=this.readUntilAfter(n);return this.__position=o,d},f.prototype.lookBack=function(n){var o=this.__position-1;return o>=n.length&&this.__input.substring(o-n.length,o).toLowerCase()===n},c.exports.InputScanner=f},function(c,l,f){var n=f(8).InputScanner,o=f(3).Token,d=f(10).TokenStream,m=f(11).WhitespacePattern,_={START:"TK_START",RAW:"TK_RAW",EOF:"TK_EOF"},h=function(g,r){this._input=new n(g),this._options=r||{},this.__tokens=null,this._patterns={},this._patterns.whitespace=new m(this._input)};h.prototype.tokenize=function(){this._input.restart(),this.__tokens=new d,this._reset();for(var g,r=new o(_.START,""),a=null,p=[],E=new d;r.type!==_.EOF;){for(g=this._get_next_token(r,a);this._is_comment(g);)E.add(g),g=this._get_next_token(r,a);E.isEmpty()||(g.comments_before=E,E=new d),g.parent=a,this._is_opening(g)?(p.push(a),a=g):a&&this._is_closing(g,a)&&(g.opened=a,a.closed=g,a=p.pop(),g.parent=a),g.previous=r,r.next=g,this.__tokens.add(g),r=g}return this.__tokens},h.prototype._is_first_token=function(){return this.__tokens.isEmpty()},h.prototype._reset=function(){},h.prototype._get_next_token=function(g,r){this._readWhitespace();var a=this._input.read(/.+/g);return a?this._create_token(_.RAW,a):this._create_token(_.EOF,"")},h.prototype._is_comment=function(g){return!1},h.prototype._is_opening=function(g){return!1},h.prototype._is_closing=function(g,r){return!1},h.prototype._create_token=function(g,r){var a=new o(g,r,this._patterns.whitespace.newline_count,this._patterns.whitespace.whitespace_before_token);return a},h.prototype._readWhitespace=function(){return this._patterns.whitespace.read()},c.exports.Tokenizer=h,c.exports.TOKEN=_},function(c){function l(f){this.__tokens=[],this.__tokens_length=this.__tokens.length,this.__position=0,this.__parent_token=f}l.prototype.restart=function(){this.__position=0},l.prototype.isEmpty=function(){return this.__tokens_length===0},l.prototype.hasNext=function(){return this.__position<this.__tokens_length},l.prototype.next=function(){var f=null;return this.hasNext()&&(f=this.__tokens[this.__position],this.__position+=1),f},l.prototype.peek=function(f){var n=null;return f=f||0,f+=this.__position,f>=0&&f<this.__tokens_length&&(n=this.__tokens[f]),n},l.prototype.add=function(f){this.__parent_token&&(f.parent=this.__parent_token),this.__tokens.push(f),this.__tokens_length+=1},c.exports.TokenStream=l},function(c,l,f){var n=f(12).Pattern;function o(d,m){n.call(this,d,m),m?this._line_regexp=this._input.get_regexp(m._line_regexp):this.__set_whitespace_patterns("",""),this.newline_count=0,this.whitespace_before_token=""}o.prototype=new n,o.prototype.__set_whitespace_patterns=function(d,m){d+="\\t ",m+="\\n\\r",this._match_pattern=this._input.get_regexp("["+d+m+"]+",!0),this._newline_regexp=this._input.get_regexp("\\r\\n|["+m+"]")},o.prototype.read=function(){this.newline_count=0,this.whitespace_before_token="";var d=this._input.read(this._match_pattern);if(d===" ")this.whitespace_before_token=" ";else if(d){var m=this.__split(this._newline_regexp,d);this.newline_count=m.length-1,this.whitespace_before_token=m[this.newline_count]}return d},o.prototype.matching=function(d,m){var _=this._create();return _.__set_whitespace_patterns(d,m),_._update(),_},o.prototype._create=function(){return new o(this._input,this)},o.prototype.__split=function(d,m){d.lastIndex=0;for(var _=0,h=[],g=d.exec(m);g;)h.push(m.substring(_,g.index)),_=g.index+g[0].length,g=d.exec(m);return _<m.length?h.push(m.substring(_,m.length)):h.push(""),h},c.exports.WhitespacePattern=o},function(c){function l(f,n){this._input=f,this._starting_pattern=null,this._match_pattern=null,this._until_pattern=null,this._until_after=!1,n&&(this._starting_pattern=this._input.get_regexp(n._starting_pattern,!0),this._match_pattern=this._input.get_regexp(n._match_pattern,!0),this._until_pattern=this._input.get_regexp(n._until_pattern),this._until_after=n._until_after)}l.prototype.read=function(){var f=this._input.read(this._starting_pattern);return(!this._starting_pattern||f)&&(f+=this._input.read(this._match_pattern,this._until_pattern,this._until_after)),f},l.prototype.read_match=function(){return this._input.match(this._match_pattern)},l.prototype.until_after=function(f){var n=this._create();return n._until_after=!0,n._until_pattern=this._input.get_regexp(f),n._update(),n},l.prototype.until=function(f){var n=this._create();return n._until_after=!1,n._until_pattern=this._input.get_regexp(f),n._update(),n},l.prototype.starting_with=function(f){var n=this._create();return n._starting_pattern=this._input.get_regexp(f,!0),n._update(),n},l.prototype.matching=function(f){var n=this._create();return n._match_pattern=this._input.get_regexp(f,!0),n._update(),n},l.prototype._create=function(){return new l(this._input,this)},l.prototype._update=function(){},c.exports.Pattern=l},function(c){function l(f,n){f=typeof f=="string"?f:f.source,n=typeof n=="string"?n:n.source,this.__directives_block_pattern=new RegExp(f+/ beautify( \w+[:]\w+)+ /.source+n,"g"),this.__directive_pattern=/ (\w+)[:](\w+)/g,this.__directives_end_ignore_pattern=new RegExp(f+/\sbeautify\signore:end\s/.source+n,"g")}l.prototype.get_directives=function(f){if(!f.match(this.__directives_block_pattern))return null;var n={};this.__directive_pattern.lastIndex=0;for(var o=this.__directive_pattern.exec(f);o;)n[o[1]]=o[2],o=this.__directive_pattern.exec(f);return n},l.prototype.readIgnored=function(f){return f.readUntilAfter(this.__directives_end_ignore_pattern)},c.exports.Directives=l},function(c,l,f){var n=f(12).Pattern,o={django:!1,erb:!1,handlebars:!1,php:!1,smarty:!1,angular:!1};function d(m,_){n.call(this,m,_),this.__template_pattern=null,this._disabled=Object.assign({},o),this._excluded=Object.assign({},o),_&&(this.__template_pattern=this._input.get_regexp(_.__template_pattern),this._excluded=Object.assign(this._excluded,_._excluded),this._disabled=Object.assign(this._disabled,_._disabled));var h=new n(m);this.__patterns={handlebars_comment:h.starting_with(/{{!--/).until_after(/--}}/),handlebars_unescaped:h.starting_with(/{{{/).until_after(/}}}/),handlebars:h.starting_with(/{{/).until_after(/}}/),php:h.starting_with(/<\?(?:[= ]|php)/).until_after(/\?>/),erb:h.starting_with(/<%[^%]/).until_after(/[^%]%>/),django:h.starting_with(/{%/).until_after(/%}/),django_value:h.starting_with(/{{/).until_after(/}}/),django_comment:h.starting_with(/{#/).until_after(/#}/),smarty:h.starting_with(/{(?=[^}{\s\n])/).until_after(/[^\s\n]}/),smarty_comment:h.starting_with(/{\*/).until_after(/\*}/),smarty_literal:h.starting_with(/{literal}/).until_after(/{\/literal}/)}}d.prototype=new n,d.prototype._create=function(){return new d(this._input,this)},d.prototype._update=function(){this.__set_templated_pattern()},d.prototype.disable=function(m){var _=this._create();return _._disabled[m]=!0,_._update(),_},d.prototype.read_options=function(m){var _=this._create();for(var h in o)_._disabled[h]=m.templating.indexOf(h)===-1;return _._update(),_},d.prototype.exclude=function(m){var _=this._create();return _._excluded[m]=!0,_._update(),_},d.prototype.read=function(){var m="";this._match_pattern?m=this._input.read(this._starting_pattern):m=this._input.read(this._starting_pattern,this.__template_pattern);for(var _=this._read_template();_;)this._match_pattern?_+=this._input.read(this._match_pattern):_+=this._input.readUntil(this.__template_pattern),m+=_,_=this._read_template();return this._until_after&&(m+=this._input.readUntilAfter(this._until_pattern)),m},d.prototype.__set_templated_pattern=function(){var m=[];this._disabled.php||m.push(this.__patterns.php._starting_pattern.source),this._disabled.handlebars||m.push(this.__patterns.handlebars._starting_pattern.source),this._disabled.angular||m.push(this.__patterns.handlebars._starting_pattern.source),this._disabled.erb||m.push(this.__patterns.erb._starting_pattern.source),this._disabled.django||(m.push(this.__patterns.django._starting_pattern.source),m.push(this.__patterns.django_value._starting_pattern.source),m.push(this.__patterns.django_comment._starting_pattern.source)),this._disabled.smarty||m.push(this.__patterns.smarty._starting_pattern.source),this._until_pattern&&m.push(this._until_pattern.source),this.__template_pattern=this._input.get_regexp("(?:"+m.join("|")+")")},d.prototype._read_template=function(){var m="",_=this._input.peek();if(_==="<"){var h=this._input.peek(1);!this._disabled.php&&!this._excluded.php&&h==="?"&&(m=m||this.__patterns.php.read()),!this._disabled.erb&&!this._excluded.erb&&h==="%"&&(m=m||this.__patterns.erb.read())}else _==="{"&&(!this._disabled.handlebars&&!this._excluded.handlebars&&(m=m||this.__patterns.handlebars_comment.read(),m=m||this.__patterns.handlebars_unescaped.read(),m=m||this.__patterns.handlebars.read()),this._disabled.django||(!this._excluded.django&&!this._excluded.handlebars&&(m=m||this.__patterns.django_value.read()),this._excluded.django||(m=m||this.__patterns.django_comment.read(),m=m||this.__patterns.django.read())),this._disabled.smarty||this._disabled.django&&this._disabled.handlebars&&(m=m||this.__patterns.smarty_comment.read(),m=m||this.__patterns.smarty_literal.read(),m=m||this.__patterns.smarty.read()));return m},c.exports.TemplatablePattern=d},,,,function(c,l,f){var n=f(19).Beautifier,o=f(20).Options;function d(m,_,h,g){var r=new n(m,_,h,g);return r.beautify()}c.exports=d,c.exports.defaultOptions=function(){return new o}},function(c,l,f){var n=f(20).Options,o=f(2).Output,d=f(21).Tokenizer,m=f(21).TOKEN,_=/\r\n|[\r\n]/,h=/\r\n|[\r\n]/g,g=function(B,P){this.indent_level=0,this.alignment_size=0,this.max_preserve_newlines=B.max_preserve_newlines,this.preserve_newlines=B.preserve_newlines,this._output=new o(B,P)};g.prototype.current_line_has_match=function(B){return this._output.current_line.has_match(B)},g.prototype.set_space_before_token=function(B,P){this._output.space_before_token=B,this._output.non_breaking_space=P},g.prototype.set_wrap_point=function(){this._output.set_indent(this.indent_level,this.alignment_size),this._output.set_wrap_point()},g.prototype.add_raw_token=function(B){this._output.add_raw_token(B)},g.prototype.print_preserved_newlines=function(B){var P=0;B.type!==m.TEXT&&B.previous.type!==m.TEXT&&(P=B.newlines?1:0),this.preserve_newlines&&(P=B.newlines<this.max_preserve_newlines+1?B.newlines:this.max_preserve_newlines+1);for(var F=0;F<P;F++)this.print_newline(F>0);return P!==0},g.prototype.traverse_whitespace=function(B){return B.whitespace_before||B.newlines?(this.print_preserved_newlines(B)||(this._output.space_before_token=!0),!0):!1},g.prototype.previous_token_wrapped=function(){return this._output.previous_token_wrapped},g.prototype.print_newline=function(B){this._output.add_new_line(B)},g.prototype.print_token=function(B){B.text&&(this._output.set_indent(this.indent_level,this.alignment_size),this._output.add_token(B.text))},g.prototype.indent=function(){this.indent_level++},g.prototype.deindent=function(){this.indent_level>0&&(this.indent_level--,this._output.set_indent(this.indent_level,this.alignment_size))},g.prototype.get_full_indent=function(B){return B=this.indent_level+(B||0),B<1?"":this._output.get_indent_string(B)};var r=function(B){for(var P=null,F=B.next;F.type!==m.EOF&&B.closed!==F;){if(F.type===m.ATTRIBUTE&&F.text==="type"){F.next&&F.next.type===m.EQUALS&&F.next.next&&F.next.next.type===m.VALUE&&(P=F.next.next.text);break}F=F.next}return P},a=function(B,P){var F=null,k=null;return P.closed?(B==="script"?F="text/javascript":B==="style"&&(F="text/css"),F=r(P)||F,F.search("text/css")>-1?k="css":F.search(/module|((text|application|dojo)\/(x-)?(javascript|ecmascript|jscript|livescript|(ld\+)?json|method|aspect))/)>-1?k="javascript":F.search(/(text|application|dojo)\/(x-)?(html)/)>-1?k="html":F.search(/test\/null/)>-1&&(k="null"),k):null};function p(B,P){return P.indexOf(B)!==-1}function E(B,P,F){this.parent=B||null,this.tag=P?P.tag_name:"",this.indent_level=F||0,this.parser_token=P||null}function b(B){this._printer=B,this._current_frame=null}b.prototype.get_parser_token=function(){return this._current_frame?this._current_frame.parser_token:null},b.prototype.record_tag=function(B){var P=new E(this._current_frame,B,this._printer.indent_level);this._current_frame=P},b.prototype._try_pop_frame=function(B){var P=null;return B&&(P=B.parser_token,this._printer.indent_level=B.indent_level,this._current_frame=B.parent),P},b.prototype._get_frame=function(B,P){for(var F=this._current_frame;F&&B.indexOf(F.tag)===-1;){if(P&&P.indexOf(F.tag)!==-1){F=null;break}F=F.parent}return F},b.prototype.try_pop=function(B,P){var F=this._get_frame([B],P);return this._try_pop_frame(F)},b.prototype.indent_to_tag=function(B){var P=this._get_frame(B);P&&(this._printer.indent_level=P.indent_level)};function w(B,P,F,k){this._source_text=B||"",P=P||{},this._js_beautify=F,this._css_beautify=k,this._tag_stack=null;var U=new n(P,"html");this._options=U,this._is_wrap_attributes_force=this._options.wrap_attributes.substr(0,5)==="force",this._is_wrap_attributes_force_expand_multiline=this._options.wrap_attributes==="force-expand-multiline",this._is_wrap_attributes_force_aligned=this._options.wrap_attributes==="force-aligned",this._is_wrap_attributes_aligned_multiple=this._options.wrap_attributes==="aligned-multiple",this._is_wrap_attributes_preserve=this._options.wrap_attributes.substr(0,8)==="preserve",this._is_wrap_attributes_preserve_aligned=this._options.wrap_attributes==="preserve-aligned"}w.prototype.beautify=function(){if(this._options.disabled)return this._source_text;var B=this._source_text,P=this._options.eol;this._options.eol==="auto"&&(P=`
`,B&&_.test(B)&&(P=B.match(_)[0])),B=B.replace(h,`
`);var F=B.match(/^[\t ]*/)[0],k={text:"",type:""},U=new R(this._options),G=new g(this._options,F),C=new d(B,this._options).tokenize();this._tag_stack=new b(G);for(var I=null,H=C.next();H.type!==m.EOF;)H.type===m.TAG_OPEN||H.type===m.COMMENT?(I=this._handle_tag_open(G,H,U,k,C),U=I):H.type===m.ATTRIBUTE||H.type===m.EQUALS||H.type===m.VALUE||H.type===m.TEXT&&!U.tag_complete?I=this._handle_inside_tag(G,H,U,k):H.type===m.TAG_CLOSE?I=this._handle_tag_close(G,H,U):H.type===m.TEXT?I=this._handle_text(G,H,U):H.type===m.CONTROL_FLOW_OPEN?I=this._handle_control_flow_open(G,H):H.type===m.CONTROL_FLOW_CLOSE?I=this._handle_control_flow_close(G,H):G.add_raw_token(H),k=I,H=C.next();var $=G._output.get_code(P);return $},w.prototype._handle_control_flow_open=function(B,P){var F={text:P.text,type:P.type};return B.set_space_before_token(P.newlines||P.whitespace_before!=="",!0),P.newlines?B.print_preserved_newlines(P):B.set_space_before_token(P.newlines||P.whitespace_before!=="",!0),B.print_token(P),B.indent(),F},w.prototype._handle_control_flow_close=function(B,P){var F={text:P.text,type:P.type};return B.deindent(),P.newlines?B.print_preserved_newlines(P):B.set_space_before_token(P.newlines||P.whitespace_before!=="",!0),B.print_token(P),F},w.prototype._handle_tag_close=function(B,P,F){var k={text:P.text,type:P.type};return B.alignment_size=0,F.tag_complete=!0,B.set_space_before_token(P.newlines||P.whitespace_before!=="",!0),F.is_unformatted?B.add_raw_token(P):(F.tag_start_char==="<"&&(B.set_space_before_token(P.text[0]==="/",!0),this._is_wrap_attributes_force_expand_multiline&&F.has_wrapped_attrs&&B.print_newline(!1)),B.print_token(P)),F.indent_content&&!(F.is_unformatted||F.is_content_unformatted)&&(B.indent(),F.indent_content=!1),!F.is_inline_element&&!(F.is_unformatted||F.is_content_unformatted)&&B.set_wrap_point(),k},w.prototype._handle_inside_tag=function(B,P,F,k){var U=F.has_wrapped_attrs,G={text:P.text,type:P.type};return B.set_space_before_token(P.newlines||P.whitespace_before!=="",!0),F.is_unformatted?B.add_raw_token(P):F.tag_start_char==="{"&&P.type===m.TEXT?B.print_preserved_newlines(P)?(P.newlines=0,B.add_raw_token(P)):B.print_token(P):(P.type===m.ATTRIBUTE?B.set_space_before_token(!0):(P.type===m.EQUALS||P.type===m.VALUE&&P.previous.type===m.EQUALS)&&B.set_space_before_token(!1),P.type===m.ATTRIBUTE&&F.tag_start_char==="<"&&((this._is_wrap_attributes_preserve||this._is_wrap_attributes_preserve_aligned)&&(B.traverse_whitespace(P),U=U||P.newlines!==0),this._is_wrap_attributes_force&&F.attr_count>=this._options.wrap_attributes_min_attrs&&(k.type!==m.TAG_OPEN||this._is_wrap_attributes_force_expand_multiline)&&(B.print_newline(!1),U=!0)),B.print_token(P),U=U||B.previous_token_wrapped(),F.has_wrapped_attrs=U),G},w.prototype._handle_text=function(B,P,F){var k={text:P.text,type:"TK_CONTENT"};return F.custom_beautifier_name?this._print_custom_beatifier_text(B,P,F):F.is_unformatted||F.is_content_unformatted?B.add_raw_token(P):(B.traverse_whitespace(P),B.print_token(P)),k},w.prototype._print_custom_beatifier_text=function(B,P,F){var k=this;if(P.text!==""){var U=P.text,G,C=1,I="",H="";F.custom_beautifier_name==="javascript"&&typeof this._js_beautify=="function"?G=this._js_beautify:F.custom_beautifier_name==="css"&&typeof this._css_beautify=="function"?G=this._css_beautify:F.custom_beautifier_name==="html"&&(G=function(Ee,Le){var Fe=new w(Ee,Le,k._js_beautify,k._css_beautify);return Fe.beautify()}),this._options.indent_scripts==="keep"?C=0:this._options.indent_scripts==="separate"&&(C=-B.indent_level);var $=B.get_full_indent(C);if(U=U.replace(/\n[ \t]*$/,""),F.custom_beautifier_name!=="html"&&U[0]==="<"&&U.match(/^(<!--|<!\[CDATA\[)/)){var q=/^(<!--[^\n]*|<!\[CDATA\[)(\n?)([ \t\n]*)([\s\S]*)(-->|]]>)$/.exec(U);if(!q){B.add_raw_token(P);return}I=$+q[1]+`
`,U=q[4],q[5]&&(H=$+q[5]),U=U.replace(/\n[ \t]*$/,""),(q[2]||q[3].indexOf(`
`)!==-1)&&(q=q[3].match(/[ \t]+$/),q&&(P.whitespace_before=q[0]))}if(U)if(G){var se=function(){this.eol=`
`};se.prototype=this._options.raw_options;var ue=new se;U=G($+U,ue)}else{var me=P.whitespace_before;me&&(U=U.replace(new RegExp(`
(`+me+")?","g"),`
`)),U=$+U.replace(/\n/g,`
`+$)}I&&(U?U=I+U+`
`+H:U=I+H),B.print_newline(!1),U&&(P.text=U,P.whitespace_before="",P.newlines=0,B.add_raw_token(P),B.print_newline(!0))}},w.prototype._handle_tag_open=function(B,P,F,k,U){var G=this._get_tag_open_token(P);if((F.is_unformatted||F.is_content_unformatted)&&!F.is_empty_element&&P.type===m.TAG_OPEN&&!G.is_start_tag?(B.add_raw_token(P),G.start_tag_token=this._tag_stack.try_pop(G.tag_name)):(B.traverse_whitespace(P),this._set_tag_position(B,P,G,F,k),G.is_inline_element||B.set_wrap_point(),B.print_token(P)),G.is_start_tag&&this._is_wrap_attributes_force){var C=0,I;do I=U.peek(C),I.type===m.ATTRIBUTE&&(G.attr_count+=1),C+=1;while(I.type!==m.EOF&&I.type!==m.TAG_CLOSE)}return(this._is_wrap_attributes_force_aligned||this._is_wrap_attributes_aligned_multiple||this._is_wrap_attributes_preserve_aligned)&&(G.alignment_size=P.text.length+1),!G.tag_complete&&!G.is_unformatted&&(B.alignment_size=G.alignment_size),G};var R=function(B,P,F){if(this.parent=P||null,this.text="",this.type="TK_TAG_OPEN",this.tag_name="",this.is_inline_element=!1,this.is_unformatted=!1,this.is_content_unformatted=!1,this.is_empty_element=!1,this.is_start_tag=!1,this.is_end_tag=!1,this.indent_content=!1,this.multiline_content=!1,this.custom_beautifier_name=null,this.start_tag_token=null,this.attr_count=0,this.has_wrapped_attrs=!1,this.alignment_size=0,this.tag_complete=!1,this.tag_start_char="",this.tag_check="",!F)this.tag_complete=!0;else{var k;this.tag_start_char=F.text[0],this.text=F.text,this.tag_start_char==="<"?(k=F.text.match(/^<([^\s>]*)/),this.tag_check=k?k[1]:""):(k=F.text.match(/^{{~?(?:[\^]|#\*?)?([^\s}]+)/),this.tag_check=k?k[1]:"",(F.text.startsWith("{{#>")||F.text.startsWith("{{~#>"))&&this.tag_check[0]===">"&&(this.tag_check===">"&&F.next!==null?this.tag_check=F.next.text.split(" ")[0]:this.tag_check=F.text.split(">")[1])),this.tag_check=this.tag_check.toLowerCase(),F.type===m.COMMENT&&(this.tag_complete=!0),this.is_start_tag=this.tag_check.charAt(0)!=="/",this.tag_name=this.is_start_tag?this.tag_check:this.tag_check.substr(1),this.is_end_tag=!this.is_start_tag||F.closed&&F.closed.text==="/>";var U=2;this.tag_start_char==="{"&&this.text.length>=3&&this.text.charAt(2)==="~"&&(U=3),this.is_end_tag=this.is_end_tag||this.tag_start_char==="{"&&(!B.indent_handlebars||this.text.length<3||/[^#\^]/.test(this.text.charAt(U)))}};w.prototype._get_tag_open_token=function(B){var P=new R(this._options,this._tag_stack.get_parser_token(),B);return P.alignment_size=this._options.wrap_attributes_indent_size,P.is_end_tag=P.is_end_tag||p(P.tag_check,this._options.void_elements),P.is_empty_element=P.tag_complete||P.is_start_tag&&P.is_end_tag,P.is_unformatted=!P.tag_complete&&p(P.tag_check,this._options.unformatted),P.is_content_unformatted=!P.is_empty_element&&p(P.tag_check,this._options.content_unformatted),P.is_inline_element=p(P.tag_name,this._options.inline)||this._options.inline_custom_elements&&P.tag_name.includes("-")||P.tag_start_char==="{",P},w.prototype._set_tag_position=function(B,P,F,k,U){if(F.is_empty_element||(F.is_end_tag?F.start_tag_token=this._tag_stack.try_pop(F.tag_name):(this._do_optional_end_element(F)&&(F.is_inline_element||B.print_newline(!1)),this._tag_stack.record_tag(F),(F.tag_name==="script"||F.tag_name==="style")&&!(F.is_unformatted||F.is_content_unformatted)&&(F.custom_beautifier_name=a(F.tag_check,P)))),p(F.tag_check,this._options.extra_liners)&&(B.print_newline(!1),B._output.just_added_blankline()||B.print_newline(!0)),F.is_empty_element){if(F.tag_start_char==="{"&&F.tag_check==="else"){this._tag_stack.indent_to_tag(["if","unless","each"]),F.indent_content=!0;var G=B.current_line_has_match(/{{#if/);G||B.print_newline(!1)}F.tag_name==="!--"&&U.type===m.TAG_CLOSE&&k.is_end_tag&&F.text.indexOf(`
`)===-1||(F.is_inline_element||F.is_unformatted||B.print_newline(!1),this._calcluate_parent_multiline(B,F))}else if(F.is_end_tag){var C=!1;C=F.start_tag_token&&F.start_tag_token.multiline_content,C=C||!F.is_inline_element&&!(k.is_inline_element||k.is_unformatted)&&!(U.type===m.TAG_CLOSE&&F.start_tag_token===k)&&U.type!=="TK_CONTENT",(F.is_content_unformatted||F.is_unformatted)&&(C=!1),C&&B.print_newline(!1)}else F.indent_content=!F.custom_beautifier_name,F.tag_start_char==="<"&&(F.tag_name==="html"?F.indent_content=this._options.indent_inner_html:F.tag_name==="head"?F.indent_content=this._options.indent_head_inner_html:F.tag_name==="body"&&(F.indent_content=this._options.indent_body_inner_html)),!(F.is_inline_element||F.is_unformatted)&&(U.type!=="TK_CONTENT"||F.is_content_unformatted)&&B.print_newline(!1),this._calcluate_parent_multiline(B,F)},w.prototype._calcluate_parent_multiline=function(B,P){P.parent&&B._output.just_added_newline()&&!((P.is_inline_element||P.is_unformatted)&&P.parent.is_inline_element)&&(P.parent.multiline_content=!0)};var O=["address","article","aside","blockquote","details","div","dl","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hr","main","menu","nav","ol","p","pre","section","table","ul"],z=["a","audio","del","ins","map","noscript","video"];w.prototype._do_optional_end_element=function(B){var P=null;if(!(B.is_empty_element||!B.is_start_tag||!B.parent)){if(B.tag_name==="body")P=P||this._tag_stack.try_pop("head");else if(B.tag_name==="li")P=P||this._tag_stack.try_pop("li",["ol","ul","menu"]);else if(B.tag_name==="dd"||B.tag_name==="dt")P=P||this._tag_stack.try_pop("dt",["dl"]),P=P||this._tag_stack.try_pop("dd",["dl"]);else if(B.parent.tag_name==="p"&&O.indexOf(B.tag_name)!==-1){var F=B.parent.parent;(!F||z.indexOf(F.tag_name)===-1)&&(P=P||this._tag_stack.try_pop("p"))}else B.tag_name==="rp"||B.tag_name==="rt"?(P=P||this._tag_stack.try_pop("rt",["ruby","rtc"]),P=P||this._tag_stack.try_pop("rp",["ruby","rtc"])):B.tag_name==="optgroup"?P=P||this._tag_stack.try_pop("optgroup",["select"]):B.tag_name==="option"?P=P||this._tag_stack.try_pop("option",["select","datalist","optgroup"]):B.tag_name==="colgroup"?P=P||this._tag_stack.try_pop("caption",["table"]):B.tag_name==="thead"?(P=P||this._tag_stack.try_pop("caption",["table"]),P=P||this._tag_stack.try_pop("colgroup",["table"])):B.tag_name==="tbody"||B.tag_name==="tfoot"?(P=P||this._tag_stack.try_pop("caption",["table"]),P=P||this._tag_stack.try_pop("colgroup",["table"]),P=P||this._tag_stack.try_pop("thead",["table"]),P=P||this._tag_stack.try_pop("tbody",["table"])):B.tag_name==="tr"?(P=P||this._tag_stack.try_pop("caption",["table"]),P=P||this._tag_stack.try_pop("colgroup",["table"]),P=P||this._tag_stack.try_pop("tr",["table","thead","tbody","tfoot"])):(B.tag_name==="th"||B.tag_name==="td")&&(P=P||this._tag_stack.try_pop("td",["table","thead","tbody","tfoot","tr"]),P=P||this._tag_stack.try_pop("th",["table","thead","tbody","tfoot","tr"]));return B.parent=this._tag_stack.get_parser_token(),P}},c.exports.Beautifier=w},function(c,l,f){var n=f(6).Options;function o(d){n.call(this,d,"html"),this.templating.length===1&&this.templating[0]==="auto"&&(this.templating=["django","erb","handlebars","php"]),this.indent_inner_html=this._get_boolean("indent_inner_html"),this.indent_body_inner_html=this._get_boolean("indent_body_inner_html",!0),this.indent_head_inner_html=this._get_boolean("indent_head_inner_html",!0),this.indent_handlebars=this._get_boolean("indent_handlebars",!0),this.wrap_attributes=this._get_selection("wrap_attributes",["auto","force","force-aligned","force-expand-multiline","aligned-multiple","preserve","preserve-aligned"]),this.wrap_attributes_min_attrs=this._get_number("wrap_attributes_min_attrs",2),this.wrap_attributes_indent_size=this._get_number("wrap_attributes_indent_size",this.indent_size),this.extra_liners=this._get_array("extra_liners",["head","body","/html"]),this.inline=this._get_array("inline",["a","abbr","area","audio","b","bdi","bdo","br","button","canvas","cite","code","data","datalist","del","dfn","em","embed","i","iframe","img","input","ins","kbd","keygen","label","map","mark","math","meter","noscript","object","output","progress","q","ruby","s","samp","select","small","span","strong","sub","sup","svg","template","textarea","time","u","var","video","wbr","text","acronym","big","strike","tt"]),this.inline_custom_elements=this._get_boolean("inline_custom_elements",!0),this.void_elements=this._get_array("void_elements",["area","base","br","col","embed","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr","!doctype","?xml","basefont","isindex"]),this.unformatted=this._get_array("unformatted",[]),this.content_unformatted=this._get_array("content_unformatted",["pre","textarea"]),this.unformatted_content_delimiter=this._get_characters("unformatted_content_delimiter"),this.indent_scripts=this._get_selection("indent_scripts",["normal","keep","separate"])}o.prototype=new n,c.exports.Options=o},function(c,l,f){var n=f(9).Tokenizer,o=f(9).TOKEN,d=f(13).Directives,m=f(14).TemplatablePattern,_=f(12).Pattern,h={TAG_OPEN:"TK_TAG_OPEN",TAG_CLOSE:"TK_TAG_CLOSE",CONTROL_FLOW_OPEN:"TK_CONTROL_FLOW_OPEN",CONTROL_FLOW_CLOSE:"TK_CONTROL_FLOW_CLOSE",ATTRIBUTE:"TK_ATTRIBUTE",EQUALS:"TK_EQUALS",VALUE:"TK_VALUE",COMMENT:"TK_COMMENT",TEXT:"TK_TEXT",UNKNOWN:"TK_UNKNOWN",START:o.START,RAW:o.RAW,EOF:o.EOF},g=new d(/<\!--/,/-->/),r=function(a,p){n.call(this,a,p),this._current_tag_name="";var E=new m(this._input).read_options(this._options),b=new _(this._input);if(this.__patterns={word:E.until(/[\n\r\t <]/),word_control_flow_close_excluded:E.until(/[\n\r\t <}]/),single_quote:E.until_after(/'/),double_quote:E.until_after(/"/),attribute:E.until(/[\n\r\t =>]|\/>/),element_name:E.until(/[\n\r\t >\/]/),angular_control_flow_start:b.matching(/\@[a-zA-Z]+[^({]*[({]/),handlebars_comment:b.starting_with(/{{!--/).until_after(/--}}/),handlebars:b.starting_with(/{{/).until_after(/}}/),handlebars_open:b.until(/[\n\r\t }]/),handlebars_raw_close:b.until(/}}/),comment:b.starting_with(/<!--/).until_after(/-->/),cdata:b.starting_with(/<!\[CDATA\[/).until_after(/]]>/),conditional_comment:b.starting_with(/<!\[/).until_after(/]>/),processing:b.starting_with(/<\?/).until_after(/\?>/)},this._options.indent_handlebars&&(this.__patterns.word=this.__patterns.word.exclude("handlebars"),this.__patterns.word_control_flow_close_excluded=this.__patterns.word_control_flow_close_excluded.exclude("handlebars")),this._unformatted_content_delimiter=null,this._options.unformatted_content_delimiter){var w=this._input.get_literal_regexp(this._options.unformatted_content_delimiter);this.__patterns.unformatted_content_delimiter=b.matching(w).until_after(w)}};r.prototype=new n,r.prototype._is_comment=function(a){return!1},r.prototype._is_opening=function(a){return a.type===h.TAG_OPEN||a.type===h.CONTROL_FLOW_OPEN},r.prototype._is_closing=function(a,p){return a.type===h.TAG_CLOSE&&p&&((a.text===">"||a.text==="/>")&&p.text[0]==="<"||a.text==="}}"&&p.text[0]==="{"&&p.text[1]==="{")||a.type===h.CONTROL_FLOW_CLOSE&&a.text==="}"&&p.text.endsWith("{")},r.prototype._reset=function(){this._current_tag_name=""},r.prototype._get_next_token=function(a,p){var E=null;this._readWhitespace();var b=this._input.peek();return b===null?this._create_token(h.EOF,""):(E=E||this._read_open_handlebars(b,p),E=E||this._read_attribute(b,a,p),E=E||this._read_close(b,p),E=E||this._read_script_and_style(b,a),E=E||this._read_control_flows(b,p),E=E||this._read_raw_content(b,a,p),E=E||this._read_content_word(b,p),E=E||this._read_comment_or_cdata(b),E=E||this._read_processing(b),E=E||this._read_open(b,p),E=E||this._create_token(h.UNKNOWN,this._input.next()),E)},r.prototype._read_comment_or_cdata=function(a){var p=null,E=null,b=null;if(a==="<"){var w=this._input.peek(1);w==="!"&&(E=this.__patterns.comment.read(),E?(b=g.get_directives(E),b&&b.ignore==="start"&&(E+=g.readIgnored(this._input))):E=this.__patterns.cdata.read()),E&&(p=this._create_token(h.COMMENT,E),p.directives=b)}return p},r.prototype._read_processing=function(a){var p=null,E=null,b=null;if(a==="<"){var w=this._input.peek(1);(w==="!"||w==="?")&&(E=this.__patterns.conditional_comment.read(),E=E||this.__patterns.processing.read()),E&&(p=this._create_token(h.COMMENT,E),p.directives=b)}return p},r.prototype._read_open=function(a,p){var E=null,b=null;return(!p||p.type===h.CONTROL_FLOW_OPEN)&&a==="<"&&(E=this._input.next(),this._input.peek()==="/"&&(E+=this._input.next()),E+=this.__patterns.element_name.read(),b=this._create_token(h.TAG_OPEN,E)),b},r.prototype._read_open_handlebars=function(a,p){var E=null,b=null;return(!p||p.type===h.CONTROL_FLOW_OPEN)&&(this._options.templating.includes("angular")||this._options.indent_handlebars)&&a==="{"&&this._input.peek(1)==="{"&&(this._options.indent_handlebars&&this._input.peek(2)==="!"?(E=this.__patterns.handlebars_comment.read(),E=E||this.__patterns.handlebars.read(),b=this._create_token(h.COMMENT,E)):(E=this.__patterns.handlebars_open.read(),b=this._create_token(h.TAG_OPEN,E))),b},r.prototype._read_control_flows=function(a,p){var E="",b=null;if(!this._options.templating.includes("angular"))return b;if(a==="@"){if(E=this.__patterns.angular_control_flow_start.read(),E==="")return b;for(var w=E.endsWith("(")?1:0,R=0;!(E.endsWith("{")&&w===R);){var O=this._input.next();if(O===null)break;O==="("?w++:O===")"&&R++,E+=O}b=this._create_token(h.CONTROL_FLOW_OPEN,E)}else a==="}"&&p&&p.type===h.CONTROL_FLOW_OPEN&&(E=this._input.next(),b=this._create_token(h.CONTROL_FLOW_CLOSE,E));return b},r.prototype._read_close=function(a,p){var E=null,b=null;return p&&p.type===h.TAG_OPEN&&(p.text[0]==="<"&&(a===">"||a==="/"&&this._input.peek(1)===">")?(E=this._input.next(),a==="/"&&(E+=this._input.next()),b=this._create_token(h.TAG_CLOSE,E)):p.text[0]==="{"&&a==="}"&&this._input.peek(1)==="}"&&(this._input.next(),this._input.next(),b=this._create_token(h.TAG_CLOSE,"}}"))),b},r.prototype._read_attribute=function(a,p,E){var b=null,w="";if(E&&E.text[0]==="<")if(a==="=")b=this._create_token(h.EQUALS,this._input.next());else if(a==='"'||a==="'"){var R=this._input.next();a==='"'?R+=this.__patterns.double_quote.read():R+=this.__patterns.single_quote.read(),b=this._create_token(h.VALUE,R)}else w=this.__patterns.attribute.read(),w&&(p.type===h.EQUALS?b=this._create_token(h.VALUE,w):b=this._create_token(h.ATTRIBUTE,w));return b},r.prototype._is_content_unformatted=function(a){return this._options.void_elements.indexOf(a)===-1&&(this._options.content_unformatted.indexOf(a)!==-1||this._options.unformatted.indexOf(a)!==-1)},r.prototype._read_raw_content=function(a,p,E){var b="";if(E&&E.text[0]==="{")b=this.__patterns.handlebars_raw_close.read();else if(p.type===h.TAG_CLOSE&&p.opened.text[0]==="<"&&p.text[0]!=="/"){var w=p.opened.text.substr(1).toLowerCase();this._is_content_unformatted(w)&&(b=this._input.readUntil(new RegExp("</"+w+"[\\n\\r\\t ]*?>","ig")))}return b?this._create_token(h.TEXT,b):null},r.prototype._read_script_and_style=function(a,p){if(p.type===h.TAG_CLOSE&&p.opened.text[0]==="<"&&p.text[0]!=="/"){var E=p.opened.text.substr(1).toLowerCase();if(E==="script"||E==="style"){var b=this._read_comment_or_cdata(a);if(b)return b.type=h.TEXT,b;var w=this._input.readUntil(new RegExp("</"+E+"[\\n\\r\\t ]*?>","ig"));if(w)return this._create_token(h.TEXT,w)}}return null},r.prototype._read_content_word=function(a,p){var E="";return this._options.unformatted_content_delimiter&&a===this._options.unformatted_content_delimiter[0]&&(E=this.__patterns.unformatted_content_delimiter.read()),E||(E=p&&p.type===h.CONTROL_FLOW_OPEN?this.__patterns.word_control_flow_close_excluded.read():this.__patterns.word.read()),E?this._create_token(h.TEXT,E):null},c.exports.Tokenizer=r,c.exports.TOKEN=h}],A={};function s(c){var l=A[c];if(l!==void 0)return l.exports;var f=A[c]={exports:{}};return L[c](f,f.exports,s),f.exports}var x=s(18);X=x})();var S=X;if(1)ee=[ae,ae(58553),ae(87804)],te=function(L){var A=ae(58553),s=ae(87804);return{html_beautify:function(x,c){return S(x,c,A.js_beautify,s.css_beautify)}}}.apply(Qe,ee),te!==void 0&&($t.exports=te);else var K,y})()},58553:function($t,Qe){var ae,ee;(function(){var te;(function(){"use strict";var S=[function(A,s,x){var c=x(1).Beautifier,l=x(5).Options;function f(n,o){var d=new c(n,o);return d.beautify()}A.exports=f,A.exports.defaultOptions=function(){return new l}},function(A,s,x){var c=x(2).Output,l=x(3).Token,f=x(4),n=x(5).Options,o=x(7).Tokenizer,d=x(7).line_starters,m=x(7).positionable_operators,_=x(7).TOKEN;function h(I,H){return H.indexOf(I)!==-1}function g(I){return I.replace(/^\s+/g,"")}function r(I){for(var H={},$=0;$<I.length;$++)H[I[$].replace(/-/g,"_")]=I[$];return H}function a(I,H){return I&&I.type===_.RESERVED&&I.text===H}function p(I,H){return I&&I.type===_.RESERVED&&h(I.text,H)}var E=["case","return","do","if","throw","else","await","break","continue","async"],b=["before-newline","after-newline","preserve-newline"],w=r(b),R=[w.before_newline,w.preserve_newline],O={BlockStatement:"BlockStatement",Statement:"Statement",ObjectLiteral:"ObjectLiteral",ArrayLiteral:"ArrayLiteral",ForInitializer:"ForInitializer",Conditional:"Conditional",Expression:"Expression"};function z(I,H){H.multiline_frame||H.mode===O.ForInitializer||H.mode===O.Conditional||I.remove_indent(H.start_line_index)}function B(I){I=I.replace(f.allLineBreaks,`
`);for(var H=[],$=I.indexOf(`
`);$!==-1;)H.push(I.substring(0,$)),I=I.substring($+1),$=I.indexOf(`
`);return I.length&&H.push(I),H}function P(I){return I===O.ArrayLiteral}function F(I){return h(I,[O.Expression,O.ForInitializer,O.Conditional])}function k(I,H){for(var $=0;$<I.length;$++){var q=I[$].trim();if(q.charAt(0)!==H)return!1}return!0}function U(I,H){for(var $=0,q=I.length,se;$<q;$++)if(se=I[$],se&&se.indexOf(H)!==0)return!1;return!0}function G(I,H){H=H||{},this._source_text=I||"",this._output=null,this._tokens=null,this._last_last_text=null,this._flags=null,this._previous_flags=null,this._flag_store=null,this._options=new n(H)}G.prototype.create_flags=function(I,H){var $=0;I&&($=I.indentation_level,!this._output.just_added_newline()&&I.line_indent_level>$&&($=I.line_indent_level));var q={mode:H,parent:I,last_token:I?I.last_token:new l(_.START_BLOCK,""),last_word:I?I.last_word:"",declaration_statement:!1,declaration_assignment:!1,multiline_frame:!1,inline_frame:!1,if_block:!1,else_block:!1,class_start_block:!1,do_block:!1,do_while:!1,import_block:!1,in_case_statement:!1,in_case:!1,case_body:!1,case_block:!1,indentation_level:$,alignment:0,line_indent_level:I?I.line_indent_level:$,start_line_index:this._output.get_line_number(),ternary_depth:0};return q},G.prototype._reset=function(I){var H=I.match(/^[\t ]*/)[0];this._last_last_text="",this._output=new c(this._options,H),this._output.raw=this._options.test_output_raw,this._flag_store=[],this.set_mode(O.BlockStatement);var $=new o(I,this._options);return this._tokens=$.tokenize(),I},G.prototype.beautify=function(){if(this._options.disabled)return this._source_text;var I,H=this._reset(this._source_text),$=this._options.eol;this._options.eol==="auto"&&($=`
`,H&&f.lineBreak.test(H||"")&&($=H.match(f.lineBreak)[0]));for(var q=this._tokens.next();q;)this.handle_token(q),this._last_last_text=this._flags.last_token.text,this._flags.last_token=q,q=this._tokens.next();return I=this._output.get_code($),I},G.prototype.handle_token=function(I,H){I.type===_.START_EXPR?this.handle_start_expr(I):I.type===_.END_EXPR?this.handle_end_expr(I):I.type===_.START_BLOCK?this.handle_start_block(I):I.type===_.END_BLOCK?this.handle_end_block(I):I.type===_.WORD?this.handle_word(I):I.type===_.RESERVED?this.handle_word(I):I.type===_.SEMICOLON?this.handle_semicolon(I):I.type===_.STRING?this.handle_string(I):I.type===_.EQUALS?this.handle_equals(I):I.type===_.OPERATOR?this.handle_operator(I):I.type===_.COMMA?this.handle_comma(I):I.type===_.BLOCK_COMMENT?this.handle_block_comment(I,H):I.type===_.COMMENT?this.handle_comment(I,H):I.type===_.DOT?this.handle_dot(I):I.type===_.EOF?this.handle_eof(I):I.type===_.UNKNOWN?this.handle_unknown(I,H):this.handle_unknown(I,H)},G.prototype.handle_whitespace_and_comments=function(I,H){var $=I.newlines,q=this._options.keep_array_indentation&&P(this._flags.mode);if(I.comments_before)for(var se=I.comments_before.next();se;)this.handle_whitespace_and_comments(se,H),this.handle_token(se,H),se=I.comments_before.next();if(q)for(var ue=0;ue<$;ue+=1)this.print_newline(ue>0,H);else if(this._options.max_preserve_newlines&&$>this._options.max_preserve_newlines&&($=this._options.max_preserve_newlines),this._options.preserve_newlines&&$>1){this.print_newline(!1,H);for(var me=1;me<$;me+=1)this.print_newline(!0,H)}};var C=["async","break","continue","return","throw","yield"];G.prototype.allow_wrap_or_preserved_newline=function(I,H){if(H=H===void 0?!1:H,!this._output.just_added_newline()){var $=this._options.preserve_newlines&&I.newlines||H,q=h(this._flags.last_token.text,m)||h(I.text,m);if(q){var se=h(this._flags.last_token.text,m)&&h(this._options.operator_position,R)||h(I.text,m);$=$&&se}if($)this.print_newline(!1,!0);else if(this._options.wrap_line_length){if(p(this._flags.last_token,C))return;this._output.set_wrap_point()}}},G.prototype.print_newline=function(I,H){if(!H&&this._flags.last_token.text!==";"&&this._flags.last_token.text!==","&&this._flags.last_token.text!=="="&&(this._flags.last_token.type!==_.OPERATOR||this._flags.last_token.text==="--"||this._flags.last_token.text==="++"))for(var $=this._tokens.peek();this._flags.mode===O.Statement&&!(this._flags.if_block&&a($,"else"))&&!this._flags.do_block;)this.restore_mode();this._output.add_new_line(I)&&(this._flags.multiline_frame=!0)},G.prototype.print_token_line_indentation=function(I){this._output.just_added_newline()&&(this._options.keep_array_indentation&&I.newlines&&(I.text==="["||P(this._flags.mode))?(this._output.current_line.set_indent(-1),this._output.current_line.push(I.whitespace_before),this._output.space_before_token=!1):this._output.set_indent(this._flags.indentation_level,this._flags.alignment)&&(this._flags.line_indent_level=this._flags.indentation_level))},G.prototype.print_token=function(I){if(this._output.raw){this._output.add_raw_token(I);return}if(this._options.comma_first&&I.previous&&I.previous.type===_.COMMA&&this._output.just_added_newline()&&this._output.previous_line.last()===","){var H=this._output.previous_line.pop();this._output.previous_line.is_empty()&&(this._output.previous_line.push(H),this._output.trim(!0),this._output.current_line.pop(),this._output.trim()),this.print_token_line_indentation(I),this._output.add_token(","),this._output.space_before_token=!0}this.print_token_line_indentation(I),this._output.non_breaking_space=!0,this._output.add_token(I.text),this._output.previous_token_wrapped&&(this._flags.multiline_frame=!0)},G.prototype.indent=function(){this._flags.indentation_level+=1,this._output.set_indent(this._flags.indentation_level,this._flags.alignment)},G.prototype.deindent=function(){this._flags.indentation_level>0&&(!this._flags.parent||this._flags.indentation_level>this._flags.parent.indentation_level)&&(this._flags.indentation_level-=1,this._output.set_indent(this._flags.indentation_level,this._flags.alignment))},G.prototype.set_mode=function(I){this._flags?(this._flag_store.push(this._flags),this._previous_flags=this._flags):this._previous_flags=this.create_flags(null,I),this._flags=this.create_flags(this._previous_flags,I),this._output.set_indent(this._flags.indentation_level,this._flags.alignment)},G.prototype.restore_mode=function(){this._flag_store.length>0&&(this._previous_flags=this._flags,this._flags=this._flag_store.pop(),this._previous_flags.mode===O.Statement&&z(this._output,this._previous_flags),this._output.set_indent(this._flags.indentation_level,this._flags.alignment))},G.prototype.start_of_object_property=function(){return this._flags.parent.mode===O.ObjectLiteral&&this._flags.mode===O.Statement&&(this._flags.last_token.text===":"&&this._flags.ternary_depth===0||p(this._flags.last_token,["get","set"]))},G.prototype.start_of_statement=function(I){var H=!1;return H=H||p(this._flags.last_token,["var","let","const"])&&I.type===_.WORD,H=H||a(this._flags.last_token,"do"),H=H||!(this._flags.parent.mode===O.ObjectLiteral&&this._flags.mode===O.Statement)&&p(this._flags.last_token,C)&&!I.newlines,H=H||a(this._flags.last_token,"else")&&!(a(I,"if")&&!I.comments_before),H=H||this._flags.last_token.type===_.END_EXPR&&(this._previous_flags.mode===O.ForInitializer||this._previous_flags.mode===O.Conditional),H=H||this._flags.last_token.type===_.WORD&&this._flags.mode===O.BlockStatement&&!this._flags.in_case&&!(I.text==="--"||I.text==="++")&&this._last_last_text!=="function"&&I.type!==_.WORD&&I.type!==_.RESERVED,H=H||this._flags.mode===O.ObjectLiteral&&(this._flags.last_token.text===":"&&this._flags.ternary_depth===0||p(this._flags.last_token,["get","set"])),H?(this.set_mode(O.Statement),this.indent(),this.handle_whitespace_and_comments(I,!0),this.start_of_object_property()||this.allow_wrap_or_preserved_newline(I,p(I,["do","for","if","while"])),!0):!1},G.prototype.handle_start_expr=function(I){this.start_of_statement(I)||this.handle_whitespace_and_comments(I);var H=O.Expression;if(I.text==="["){if(this._flags.last_token.type===_.WORD||this._flags.last_token.text===")"){p(this._flags.last_token,d)&&(this._output.space_before_token=!0),this.print_token(I),this.set_mode(H),this.indent(),this._options.space_in_paren&&(this._output.space_before_token=!0);return}H=O.ArrayLiteral,P(this._flags.mode)&&(this._flags.last_token.text==="["||this._flags.last_token.text===","&&(this._last_last_text==="]"||this._last_last_text==="}"))&&(this._options.keep_array_indentation||this.print_newline()),h(this._flags.last_token.type,[_.START_EXPR,_.END_EXPR,_.WORD,_.OPERATOR,_.DOT])||(this._output.space_before_token=!0)}else{if(this._flags.last_token.type===_.RESERVED)this._flags.last_token.text==="for"?(this._output.space_before_token=this._options.space_before_conditional,H=O.ForInitializer):h(this._flags.last_token.text,["if","while","switch"])?(this._output.space_before_token=this._options.space_before_conditional,H=O.Conditional):h(this._flags.last_word,["await","async"])?this._output.space_before_token=!0:this._flags.last_token.text==="import"&&I.whitespace_before===""?this._output.space_before_token=!1:(h(this._flags.last_token.text,d)||this._flags.last_token.text==="catch")&&(this._output.space_before_token=!0);else if(this._flags.last_token.type===_.EQUALS||this._flags.last_token.type===_.OPERATOR)this.start_of_object_property()||this.allow_wrap_or_preserved_newline(I);else if(this._flags.last_token.type===_.WORD){this._output.space_before_token=!1;var $=this._tokens.peek(-3);if(this._options.space_after_named_function&&$){var q=this._tokens.peek(-4);p($,["async","function"])||$.text==="*"&&p(q,["async","function"])?this._output.space_before_token=!0:this._flags.mode===O.ObjectLiteral?($.text==="{"||$.text===","||$.text==="*"&&(q.text==="{"||q.text===","))&&(this._output.space_before_token=!0):this._flags.parent&&this._flags.parent.class_start_block&&(this._output.space_before_token=!0)}}else this.allow_wrap_or_preserved_newline(I);(this._flags.last_token.type===_.RESERVED&&(this._flags.last_word==="function"||this._flags.last_word==="typeof")||this._flags.last_token.text==="*"&&(h(this._last_last_text,["function","yield"])||this._flags.mode===O.ObjectLiteral&&h(this._last_last_text,["{",","])))&&(this._output.space_before_token=this._options.space_after_anon_function)}this._flags.last_token.text===";"||this._flags.last_token.type===_.START_BLOCK?this.print_newline():(this._flags.last_token.type===_.END_EXPR||this._flags.last_token.type===_.START_EXPR||this._flags.last_token.type===_.END_BLOCK||this._flags.last_token.text==="."||this._flags.last_token.type===_.COMMA)&&this.allow_wrap_or_preserved_newline(I,I.newlines),this.print_token(I),this.set_mode(H),this._options.space_in_paren&&(this._output.space_before_token=!0),this.indent()},G.prototype.handle_end_expr=function(I){for(;this._flags.mode===O.Statement;)this.restore_mode();this.handle_whitespace_and_comments(I),this._flags.multiline_frame&&this.allow_wrap_or_preserved_newline(I,I.text==="]"&&P(this._flags.mode)&&!this._options.keep_array_indentation),this._options.space_in_paren&&(this._flags.last_token.type===_.START_EXPR&&!this._options.space_in_empty_paren?(this._output.trim(),this._output.space_before_token=!1):this._output.space_before_token=!0),this.deindent(),this.print_token(I),this.restore_mode(),z(this._output,this._previous_flags),this._flags.do_while&&this._previous_flags.mode===O.Conditional&&(this._previous_flags.mode=O.Expression,this._flags.do_block=!1,this._flags.do_while=!1)},G.prototype.handle_start_block=function(I){this.handle_whitespace_and_comments(I);var H=this._tokens.peek(),$=this._tokens.peek(1);this._flags.last_word==="switch"&&this._flags.last_token.type===_.END_EXPR?(this.set_mode(O.BlockStatement),this._flags.in_case_statement=!0):this._flags.case_body?this.set_mode(O.BlockStatement):$&&(h($.text,[":",","])&&h(H.type,[_.STRING,_.WORD,_.RESERVED])||h(H.text,["get","set","..."])&&h($.type,[_.WORD,_.RESERVED]))?h(this._last_last_text,["class","interface"])&&!h($.text,[":",","])?this.set_mode(O.BlockStatement):this.set_mode(O.ObjectLiteral):this._flags.last_token.type===_.OPERATOR&&this._flags.last_token.text==="=>"?this.set_mode(O.BlockStatement):h(this._flags.last_token.type,[_.EQUALS,_.START_EXPR,_.COMMA,_.OPERATOR])||p(this._flags.last_token,["return","throw","import","default"])?this.set_mode(O.ObjectLiteral):this.set_mode(O.BlockStatement),this._flags.last_token&&p(this._flags.last_token.previous,["class","extends"])&&(this._flags.class_start_block=!0);var q=!H.comments_before&&H.text==="}",se=q&&this._flags.last_word==="function"&&this._flags.last_token.type===_.END_EXPR;if(this._options.brace_preserve_inline){var ue=0,me=null;this._flags.inline_frame=!0;do if(ue+=1,me=this._tokens.peek(ue-1),me.newlines){this._flags.inline_frame=!1;break}while(me.type!==_.EOF&&!(me.type===_.END_BLOCK&&me.opened===I))}(this._options.brace_style==="expand"||this._options.brace_style==="none"&&I.newlines)&&!this._flags.inline_frame?this._flags.last_token.type!==_.OPERATOR&&(se||this._flags.last_token.type===_.EQUALS||p(this._flags.last_token,E)&&this._flags.last_token.text!=="else")?this._output.space_before_token=!0:this.print_newline(!1,!0):(P(this._previous_flags.mode)&&(this._flags.last_token.type===_.START_EXPR||this._flags.last_token.type===_.COMMA)&&((this._flags.last_token.type===_.COMMA||this._options.space_in_paren)&&(this._output.space_before_token=!0),(this._flags.last_token.type===_.COMMA||this._flags.last_token.type===_.START_EXPR&&this._flags.inline_frame)&&(this.allow_wrap_or_preserved_newline(I),this._previous_flags.multiline_frame=this._previous_flags.multiline_frame||this._flags.multiline_frame,this._flags.multiline_frame=!1)),this._flags.last_token.type!==_.OPERATOR&&this._flags.last_token.type!==_.START_EXPR&&(h(this._flags.last_token.type,[_.START_BLOCK,_.SEMICOLON])&&!this._flags.inline_frame?this.print_newline():this._output.space_before_token=!0)),this.print_token(I),this.indent(),!q&&!(this._options.brace_preserve_inline&&this._flags.inline_frame)&&this.print_newline()},G.prototype.handle_end_block=function(I){for(this.handle_whitespace_and_comments(I);this._flags.mode===O.Statement;)this.restore_mode();var H=this._flags.last_token.type===_.START_BLOCK;this._flags.inline_frame&&!H?this._output.space_before_token=!0:this._options.brace_style==="expand"?H||this.print_newline():H||(P(this._flags.mode)&&this._options.keep_array_indentation?(this._options.keep_array_indentation=!1,this.print_newline(),this._options.keep_array_indentation=!0):this.print_newline()),this.restore_mode(),this.print_token(I)},G.prototype.handle_word=function(I){if(I.type===_.RESERVED){if(h(I.text,["set","get"])&&this._flags.mode!==O.ObjectLiteral)I.type=_.WORD;else if(I.text==="import"&&h(this._tokens.peek().text,["(","."]))I.type=_.WORD;else if(h(I.text,["as","from"])&&!this._flags.import_block)I.type=_.WORD;else if(this._flags.mode===O.ObjectLiteral){var H=this._tokens.peek();H.text===":"&&(I.type=_.WORD)}}if(this.start_of_statement(I)?p(this._flags.last_token,["var","let","const"])&&I.type===_.WORD&&(this._flags.declaration_statement=!0):I.newlines&&!F(this._flags.mode)&&(this._flags.last_token.type!==_.OPERATOR||this._flags.last_token.text==="--"||this._flags.last_token.text==="++")&&this._flags.last_token.type!==_.EQUALS&&(this._options.preserve_newlines||!p(this._flags.last_token,["var","let","const","set","get"]))?(this.handle_whitespace_and_comments(I),this.print_newline()):this.handle_whitespace_and_comments(I),this._flags.do_block&&!this._flags.do_while)if(a(I,"while")){this._output.space_before_token=!0,this.print_token(I),this._output.space_before_token=!0,this._flags.do_while=!0;return}else this.print_newline(),this._flags.do_block=!1;if(this._flags.if_block)if(!this._flags.else_block&&a(I,"else"))this._flags.else_block=!0;else{for(;this._flags.mode===O.Statement;)this.restore_mode();this._flags.if_block=!1,this._flags.else_block=!1}if(this._flags.in_case_statement&&p(I,["case","default"])){this.print_newline(),!this._flags.case_block&&(this._flags.case_body||this._options.jslint_happy)&&this.deindent(),this._flags.case_body=!1,this.print_token(I),this._flags.in_case=!0;return}if((this._flags.last_token.type===_.COMMA||this._flags.last_token.type===_.START_EXPR||this._flags.last_token.type===_.EQUALS||this._flags.last_token.type===_.OPERATOR)&&!this.start_of_object_property()&&!(h(this._flags.last_token.text,["+","-"])&&this._last_last_text===":"&&this._flags.parent.mode===O.ObjectLiteral)&&this.allow_wrap_or_preserved_newline(I),a(I,"function")){(h(this._flags.last_token.text,["}",";"])||this._output.just_added_newline()&&!(h(this._flags.last_token.text,["(","[","{",":","=",","])||this._flags.last_token.type===_.OPERATOR))&&!this._output.just_added_blankline()&&!I.comments_before&&(this.print_newline(),this.print_newline(!0)),this._flags.last_token.type===_.RESERVED||this._flags.last_token.type===_.WORD?p(this._flags.last_token,["get","set","new","export"])||p(this._flags.last_token,C)?this._output.space_before_token=!0:a(this._flags.last_token,"default")&&this._last_last_text==="export"?this._output.space_before_token=!0:this._flags.last_token.text==="declare"?this._output.space_before_token=!0:this.print_newline():this._flags.last_token.type===_.OPERATOR||this._flags.last_token.text==="="?this._output.space_before_token=!0:!this._flags.multiline_frame&&(F(this._flags.mode)||P(this._flags.mode))||this.print_newline(),this.print_token(I),this._flags.last_word=I.text;return}var $="NONE";if(this._flags.last_token.type===_.END_BLOCK?this._previous_flags.inline_frame?$="SPACE":p(I,["else","catch","finally","from"])?this._options.brace_style==="expand"||this._options.brace_style==="end-expand"||this._options.brace_style==="none"&&I.newlines?$="NEWLINE":($="SPACE",this._output.space_before_token=!0):$="NEWLINE":this._flags.last_token.type===_.SEMICOLON&&this._flags.mode===O.BlockStatement?$="NEWLINE":this._flags.last_token.type===_.SEMICOLON&&F(this._flags.mode)?$="SPACE":this._flags.last_token.type===_.STRING?$="NEWLINE":this._flags.last_token.type===_.RESERVED||this._flags.last_token.type===_.WORD||this._flags.last_token.text==="*"&&(h(this._last_last_text,["function","yield"])||this._flags.mode===O.ObjectLiteral&&h(this._last_last_text,["{",","]))?$="SPACE":this._flags.last_token.type===_.START_BLOCK?this._flags.inline_frame?$="SPACE":$="NEWLINE":this._flags.last_token.type===_.END_EXPR&&(this._output.space_before_token=!0,$="NEWLINE"),p(I,d)&&this._flags.last_token.text!==")"&&(this._flags.inline_frame||this._flags.last_token.text==="else"||this._flags.last_token.text==="export"?$="SPACE":$="NEWLINE"),p(I,["else","catch","finally"]))if((!(this._flags.last_token.type===_.END_BLOCK&&this._previous_flags.mode===O.BlockStatement)||this._options.brace_style==="expand"||this._options.brace_style==="end-expand"||this._options.brace_style==="none"&&I.newlines)&&!this._flags.inline_frame)this.print_newline();else{this._output.trim(!0);var q=this._output.current_line;q.last()!=="}"&&this.print_newline(),this._output.space_before_token=!0}else $==="NEWLINE"?p(this._flags.last_token,E)?this._output.space_before_token=!0:this._flags.last_token.text==="declare"&&p(I,["var","let","const"])?this._output.space_before_token=!0:this._flags.last_token.type!==_.END_EXPR?(this._flags.last_token.type!==_.START_EXPR||!p(I,["var","let","const"]))&&this._flags.last_token.text!==":"&&(a(I,"if")&&a(I.previous,"else")?this._output.space_before_token=!0:this.print_newline()):p(I,d)&&this._flags.last_token.text!==")"&&this.print_newline():this._flags.multiline_frame&&P(this._flags.mode)&&this._flags.last_token.text===","&&this._last_last_text==="}"?this.print_newline():$==="SPACE"&&(this._output.space_before_token=!0);I.previous&&(I.previous.type===_.WORD||I.previous.type===_.RESERVED)&&(this._output.space_before_token=!0),this.print_token(I),this._flags.last_word=I.text,I.type===_.RESERVED&&(I.text==="do"?this._flags.do_block=!0:I.text==="if"?this._flags.if_block=!0:I.text==="import"?this._flags.import_block=!0:this._flags.import_block&&a(I,"from")&&(this._flags.import_block=!1))},G.prototype.handle_semicolon=function(I){this.start_of_statement(I)?this._output.space_before_token=!1:this.handle_whitespace_and_comments(I);for(var H=this._tokens.peek();this._flags.mode===O.Statement&&!(this._flags.if_block&&a(H,"else"))&&!this._flags.do_block;)this.restore_mode();this._flags.import_block&&(this._flags.import_block=!1),this.print_token(I)},G.prototype.handle_string=function(I){I.text.startsWith("`")&&I.newlines===0&&I.whitespace_before===""&&(I.previous.text===")"||this._flags.last_token.type===_.WORD)||(this.start_of_statement(I)?this._output.space_before_token=!0:(this.handle_whitespace_and_comments(I),this._flags.last_token.type===_.RESERVED||this._flags.last_token.type===_.WORD||this._flags.inline_frame?this._output.space_before_token=!0:this._flags.last_token.type===_.COMMA||this._flags.last_token.type===_.START_EXPR||this._flags.last_token.type===_.EQUALS||this._flags.last_token.type===_.OPERATOR?this.start_of_object_property()||this.allow_wrap_or_preserved_newline(I):I.text.startsWith("`")&&this._flags.last_token.type===_.END_EXPR&&(I.previous.text==="]"||I.previous.text===")")&&I.newlines===0?this._output.space_before_token=!0:this.print_newline())),this.print_token(I)},G.prototype.handle_equals=function(I){this.start_of_statement(I)||this.handle_whitespace_and_comments(I),this._flags.declaration_statement&&(this._flags.declaration_assignment=!0),this._output.space_before_token=!0,this.print_token(I),this._output.space_before_token=!0},G.prototype.handle_comma=function(I){this.handle_whitespace_and_comments(I,!0),this.print_token(I),this._output.space_before_token=!0,this._flags.declaration_statement?(F(this._flags.parent.mode)&&(this._flags.declaration_assignment=!1),this._flags.declaration_assignment?(this._flags.declaration_assignment=!1,this.print_newline(!1,!0)):this._options.comma_first&&this.allow_wrap_or_preserved_newline(I)):this._flags.mode===O.ObjectLiteral||this._flags.mode===O.Statement&&this._flags.parent.mode===O.ObjectLiteral?(this._flags.mode===O.Statement&&this.restore_mode(),this._flags.inline_frame||this.print_newline()):this._options.comma_first&&this.allow_wrap_or_preserved_newline(I)},G.prototype.handle_operator=function(I){var H=I.text==="*"&&(p(this._flags.last_token,["function","yield"])||h(this._flags.last_token.type,[_.START_BLOCK,_.COMMA,_.END_BLOCK,_.SEMICOLON])),$=h(I.text,["-","+"])&&(h(this._flags.last_token.type,[_.START_BLOCK,_.START_EXPR,_.EQUALS,_.OPERATOR])||h(this._flags.last_token.text,d)||this._flags.last_token.text===",");if(!this.start_of_statement(I)){var q=!H;this.handle_whitespace_and_comments(I,q)}if(I.text==="*"&&this._flags.last_token.type===_.DOT){this.print_token(I);return}if(I.text==="::"){this.print_token(I);return}if(h(I.text,["-","+"])&&this.start_of_object_property()){this.print_token(I);return}if(this._flags.last_token.type===_.OPERATOR&&h(this._options.operator_position,R)&&this.allow_wrap_or_preserved_newline(I),I.text===":"&&this._flags.in_case){this.print_token(I),this._flags.in_case=!1,this._flags.case_body=!0,this._tokens.peek().type!==_.START_BLOCK?(this.indent(),this.print_newline(),this._flags.case_block=!1):(this._flags.case_block=!0,this._output.space_before_token=!0);return}var se=!0,ue=!0,me=!1;if(I.text===":"?this._flags.ternary_depth===0?se=!1:(this._flags.ternary_depth-=1,me=!0):I.text==="?"&&(this._flags.ternary_depth+=1),!$&&!H&&this._options.preserve_newlines&&h(I.text,m)){var Ee=I.text===":",Le=Ee&&me,Fe=Ee&&!me;switch(this._options.operator_position){case w.before_newline:this._output.space_before_token=!Fe,this.print_token(I),(!Ee||Le)&&this.allow_wrap_or_preserved_newline(I),this._output.space_before_token=!0;return;case w.after_newline:this._output.space_before_token=!0,!Ee||Le?this._tokens.peek().newlines?this.print_newline(!1,!0):this.allow_wrap_or_preserved_newline(I):this._output.space_before_token=!1,this.print_token(I),this._output.space_before_token=!0;return;case w.preserve_newline:Fe||this.allow_wrap_or_preserved_newline(I),se=!(this._output.just_added_newline()||Fe),this._output.space_before_token=se,this.print_token(I),this._output.space_before_token=!0;return}}if(H){this.allow_wrap_or_preserved_newline(I),se=!1;var Ke=this._tokens.peek();ue=Ke&&h(Ke.type,[_.WORD,_.RESERVED])}else if(I.text==="...")this.allow_wrap_or_preserved_newline(I),se=this._flags.last_token.type===_.START_BLOCK,ue=!1;else if(h(I.text,["--","++","!","~"])||$){if((this._flags.last_token.type===_.COMMA||this._flags.last_token.type===_.START_EXPR)&&this.allow_wrap_or_preserved_newline(I),se=!1,ue=!1,I.newlines&&(I.text==="--"||I.text==="++"||I.text==="~")){var Te=p(this._flags.last_token,E)&&I.newlines;Te&&(this._previous_flags.if_block||this._previous_flags.else_block)&&this.restore_mode(),this.print_newline(Te,!0)}this._flags.last_token.text===";"&&F(this._flags.mode)&&(se=!0),this._flags.last_token.type===_.RESERVED?se=!0:this._flags.last_token.type===_.END_EXPR?se=!(this._flags.last_token.text==="]"&&(I.text==="--"||I.text==="++")):this._flags.last_token.type===_.OPERATOR&&(se=h(I.text,["--","-","++","+"])&&h(this._flags.last_token.text,["--","-","++","+"]),h(I.text,["+","-"])&&h(this._flags.last_token.text,["--","++"])&&(ue=!0)),(this._flags.mode===O.BlockStatement&&!this._flags.inline_frame||this._flags.mode===O.Statement)&&(this._flags.last_token.text==="{"||this._flags.last_token.text===";")&&this.print_newline()}this._output.space_before_token=this._output.space_before_token||se,this.print_token(I),this._output.space_before_token=ue},G.prototype.handle_block_comment=function(I,H){if(this._output.raw){this._output.add_raw_token(I),I.directives&&I.directives.preserve==="end"&&(this._output.raw=this._options.test_output_raw);return}if(I.directives){this.print_newline(!1,H),this.print_token(I),I.directives.preserve==="start"&&(this._output.raw=!0),this.print_newline(!1,!0);return}if(!f.newline.test(I.text)&&!I.newlines){this._output.space_before_token=!0,this.print_token(I),this._output.space_before_token=!0;return}else this.print_block_commment(I,H)},G.prototype.print_block_commment=function(I,H){var $=B(I.text),q,se=!1,ue=!1,me=I.whitespace_before,Ee=me.length;if(this.print_newline(!1,H),this.print_token_line_indentation(I),this._output.add_token($[0]),this.print_newline(!1,H),$.length>1){for($=$.slice(1),se=k($,"*"),ue=U($,me),se&&(this._flags.alignment=1),q=0;q<$.length;q++)se?(this.print_token_line_indentation(I),this._output.add_token(g($[q]))):ue&&$[q]?(this.print_token_line_indentation(I),this._output.add_token($[q].substring(Ee))):(this._output.current_line.set_indent(-1),this._output.add_token($[q])),this.print_newline(!1,H);this._flags.alignment=0}},G.prototype.handle_comment=function(I,H){I.newlines?this.print_newline(!1,H):this._output.trim(!0),this._output.space_before_token=!0,this.print_token(I),this.print_newline(!1,H)},G.prototype.handle_dot=function(I){this.start_of_statement(I)||this.handle_whitespace_and_comments(I,!0),this._flags.last_token.text.match("^[0-9]+$")&&(this._output.space_before_token=!0),p(this._flags.last_token,E)?this._output.space_before_token=!1:this.allow_wrap_or_preserved_newline(I,this._flags.last_token.text===")"&&this._options.break_chained_methods),this._options.unindent_chained_methods&&this._output.just_added_newline()&&this.deindent(),this.print_token(I)},G.prototype.handle_unknown=function(I,H){this.print_token(I),I.text[I.text.length-1]===`
`&&this.print_newline(!1,H)},G.prototype.handle_eof=function(I){for(;this._flags.mode===O.Statement;)this.restore_mode();this.handle_whitespace_and_comments(I)},A.exports.Beautifier=G},function(A){function s(l){this.__parent=l,this.__character_count=0,this.__indent_count=-1,this.__alignment_count=0,this.__wrap_point_index=0,this.__wrap_point_character_count=0,this.__wrap_point_indent_count=-1,this.__wrap_point_alignment_count=0,this.__items=[]}s.prototype.clone_empty=function(){var l=new s(this.__parent);return l.set_indent(this.__indent_count,this.__alignment_count),l},s.prototype.item=function(l){return l<0?this.__items[this.__items.length+l]:this.__items[l]},s.prototype.has_match=function(l){for(var f=this.__items.length-1;f>=0;f--)if(this.__items[f].match(l))return!0;return!1},s.prototype.set_indent=function(l,f){this.is_empty()&&(this.__indent_count=l||0,this.__alignment_count=f||0,this.__character_count=this.__parent.get_indent_size(this.__indent_count,this.__alignment_count))},s.prototype._set_wrap_point=function(){this.__parent.wrap_line_length&&(this.__wrap_point_index=this.__items.length,this.__wrap_point_character_count=this.__character_count,this.__wrap_point_indent_count=this.__parent.next_line.__indent_count,this.__wrap_point_alignment_count=this.__parent.next_line.__alignment_count)},s.prototype._should_wrap=function(){return this.__wrap_point_index&&this.__character_count>this.__parent.wrap_line_length&&this.__wrap_point_character_count>this.__parent.next_line.__character_count},s.prototype._allow_wrap=function(){if(this._should_wrap()){this.__parent.add_new_line();var l=this.__parent.current_line;return l.set_indent(this.__wrap_point_indent_count,this.__wrap_point_alignment_count),l.__items=this.__items.slice(this.__wrap_point_index),this.__items=this.__items.slice(0,this.__wrap_point_index),l.__character_count+=this.__character_count-this.__wrap_point_character_count,this.__character_count=this.__wrap_point_character_count,l.__items[0]===" "&&(l.__items.splice(0,1),l.__character_count-=1),!0}return!1},s.prototype.is_empty=function(){return this.__items.length===0},s.prototype.last=function(){return this.is_empty()?null:this.__items[this.__items.length-1]},s.prototype.push=function(l){this.__items.push(l);var f=l.lastIndexOf(`
`);f!==-1?this.__character_count=l.length-f:this.__character_count+=l.length},s.prototype.pop=function(){var l=null;return this.is_empty()||(l=this.__items.pop(),this.__character_count-=l.length),l},s.prototype._remove_indent=function(){this.__indent_count>0&&(this.__indent_count-=1,this.__character_count-=this.__parent.indent_size)},s.prototype._remove_wrap_indent=function(){this.__wrap_point_indent_count>0&&(this.__wrap_point_indent_count-=1)},s.prototype.trim=function(){for(;this.last()===" ";)this.__items.pop(),this.__character_count-=1},s.prototype.toString=function(){var l="";return this.is_empty()?this.__parent.indent_empty_lines&&(l=this.__parent.get_indent_string(this.__indent_count)):(l=this.__parent.get_indent_string(this.__indent_count,this.__alignment_count),l+=this.__items.join("")),l};function x(l,f){this.__cache=[""],this.__indent_size=l.indent_size,this.__indent_string=l.indent_char,l.indent_with_tabs||(this.__indent_string=new Array(l.indent_size+1).join(l.indent_char)),f=f||"",l.indent_level>0&&(f=new Array(l.indent_level+1).join(this.__indent_string)),this.__base_string=f,this.__base_string_length=f.length}x.prototype.get_indent_size=function(l,f){var n=this.__base_string_length;return f=f||0,l<0&&(n=0),n+=l*this.__indent_size,n+=f,n},x.prototype.get_indent_string=function(l,f){var n=this.__base_string;return f=f||0,l<0&&(l=0,n=""),f+=l*this.__indent_size,this.__ensure_cache(f),n+=this.__cache[f],n},x.prototype.__ensure_cache=function(l){for(;l>=this.__cache.length;)this.__add_column()},x.prototype.__add_column=function(){var l=this.__cache.length,f=0,n="";this.__indent_size&&l>=this.__indent_size&&(f=Math.floor(l/this.__indent_size),l-=f*this.__indent_size,n=new Array(f+1).join(this.__indent_string)),l&&(n+=new Array(l+1).join(" ")),this.__cache.push(n)};function c(l,f){this.__indent_cache=new x(l,f),this.raw=!1,this._end_with_newline=l.end_with_newline,this.indent_size=l.indent_size,this.wrap_line_length=l.wrap_line_length,this.indent_empty_lines=l.indent_empty_lines,this.__lines=[],this.previous_line=null,this.current_line=null,this.next_line=new s(this),this.space_before_token=!1,this.non_breaking_space=!1,this.previous_token_wrapped=!1,this.__add_outputline()}c.prototype.__add_outputline=function(){this.previous_line=this.current_line,this.current_line=this.next_line.clone_empty(),this.__lines.push(this.current_line)},c.prototype.get_line_number=function(){return this.__lines.length},c.prototype.get_indent_string=function(l,f){return this.__indent_cache.get_indent_string(l,f)},c.prototype.get_indent_size=function(l,f){return this.__indent_cache.get_indent_size(l,f)},c.prototype.is_empty=function(){return!this.previous_line&&this.current_line.is_empty()},c.prototype.add_new_line=function(l){return this.is_empty()||!l&&this.just_added_newline()?!1:(this.raw||this.__add_outputline(),!0)},c.prototype.get_code=function(l){this.trim(!0);var f=this.current_line.pop();f&&(f[f.length-1]===`
`&&(f=f.replace(/\n+$/g,"")),this.current_line.push(f)),this._end_with_newline&&this.__add_outputline();var n=this.__lines.join(`
`);return l!==`
`&&(n=n.replace(/[\n]/g,l)),n},c.prototype.set_wrap_point=function(){this.current_line._set_wrap_point()},c.prototype.set_indent=function(l,f){return l=l||0,f=f||0,this.next_line.set_indent(l,f),this.__lines.length>1?(this.current_line.set_indent(l,f),!0):(this.current_line.set_indent(),!1)},c.prototype.add_raw_token=function(l){for(var f=0;f<l.newlines;f++)this.__add_outputline();this.current_line.set_indent(-1),this.current_line.push(l.whitespace_before),this.current_line.push(l.text),this.space_before_token=!1,this.non_breaking_space=!1,this.previous_token_wrapped=!1},c.prototype.add_token=function(l){this.__add_space_before_token(),this.current_line.push(l),this.space_before_token=!1,this.non_breaking_space=!1,this.previous_token_wrapped=this.current_line._allow_wrap()},c.prototype.__add_space_before_token=function(){this.space_before_token&&!this.just_added_newline()&&(this.non_breaking_space||this.set_wrap_point(),this.current_line.push(" "))},c.prototype.remove_indent=function(l){for(var f=this.__lines.length;l<f;)this.__lines[l]._remove_indent(),l++;this.current_line._remove_wrap_indent()},c.prototype.trim=function(l){for(l=l===void 0?!1:l,this.current_line.trim();l&&this.__lines.length>1&&this.current_line.is_empty();)this.__lines.pop(),this.current_line=this.__lines[this.__lines.length-1],this.current_line.trim();this.previous_line=this.__lines.length>1?this.__lines[this.__lines.length-2]:null},c.prototype.just_added_newline=function(){return this.current_line.is_empty()},c.prototype.just_added_blankline=function(){return this.is_empty()||this.current_line.is_empty()&&this.previous_line.is_empty()},c.prototype.ensure_empty_line_above=function(l,f){for(var n=this.__lines.length-2;n>=0;){var o=this.__lines[n];if(o.is_empty())break;if(o.item(0).indexOf(l)!==0&&o.item(-1)!==f){this.__lines.splice(n+1,0,new s(this)),this.previous_line=this.__lines[this.__lines.length-2];break}n--}},A.exports.Output=c},function(A){function s(x,c,l,f){this.type=x,this.text=c,this.comments_before=null,this.newlines=l||0,this.whitespace_before=f||"",this.parent=null,this.next=null,this.previous=null,this.opened=null,this.closed=null,this.directives=null}A.exports.Token=s},function(A,s){var x="\\x23\\x24\\x40\\x41-\\x5a\\x5f\\x61-\\x7a",c="\\x24\\x30-\\x39\\x41-\\x5a\\x5f\\x61-\\x7a",l="\\xaa\\xb5\\xba\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\u02c1\\u02c6-\\u02d1\\u02e0-\\u02e4\\u02ec\\u02ee\\u0370-\\u0374\\u0376\\u0377\\u037a-\\u037d\\u0386\\u0388-\\u038a\\u038c\\u038e-\\u03a1\\u03a3-\\u03f5\\u03f7-\\u0481\\u048a-\\u0527\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05d0-\\u05ea\\u05f0-\\u05f2\\u0620-\\u064a\\u066e\\u066f\\u0671-\\u06d3\\u06d5\\u06e5\\u06e6\\u06ee\\u06ef\\u06fa-\\u06fc\\u06ff\\u0710\\u0712-\\u072f\\u074d-\\u07a5\\u07b1\\u07ca-\\u07ea\\u07f4\\u07f5\\u07fa\\u0800-\\u0815\\u081a\\u0824\\u0828\\u0840-\\u0858\\u08a0\\u08a2-\\u08ac\\u0904-\\u0939\\u093d\\u0950\\u0958-\\u0961\\u0971-\\u0977\\u0979-\\u097f\\u0985-\\u098c\\u098f\\u0990\\u0993-\\u09a8\\u09aa-\\u09b0\\u09b2\\u09b6-\\u09b9\\u09bd\\u09ce\\u09dc\\u09dd\\u09df-\\u09e1\\u09f0\\u09f1\\u0a05-\\u0a0a\\u0a0f\\u0a10\\u0a13-\\u0a28\\u0a2a-\\u0a30\\u0a32\\u0a33\\u0a35\\u0a36\\u0a38\\u0a39\\u0a59-\\u0a5c\\u0a5e\\u0a72-\\u0a74\\u0a85-\\u0a8d\\u0a8f-\\u0a91\\u0a93-\\u0aa8\\u0aaa-\\u0ab0\\u0ab2\\u0ab3\\u0ab5-\\u0ab9\\u0abd\\u0ad0\\u0ae0\\u0ae1\\u0b05-\\u0b0c\\u0b0f\\u0b10\\u0b13-\\u0b28\\u0b2a-\\u0b30\\u0b32\\u0b33\\u0b35-\\u0b39\\u0b3d\\u0b5c\\u0b5d\\u0b5f-\\u0b61\\u0b71\\u0b83\\u0b85-\\u0b8a\\u0b8e-\\u0b90\\u0b92-\\u0b95\\u0b99\\u0b9a\\u0b9c\\u0b9e\\u0b9f\\u0ba3\\u0ba4\\u0ba8-\\u0baa\\u0bae-\\u0bb9\\u0bd0\\u0c05-\\u0c0c\\u0c0e-\\u0c10\\u0c12-\\u0c28\\u0c2a-\\u0c33\\u0c35-\\u0c39\\u0c3d\\u0c58\\u0c59\\u0c60\\u0c61\\u0c85-\\u0c8c\\u0c8e-\\u0c90\\u0c92-\\u0ca8\\u0caa-\\u0cb3\\u0cb5-\\u0cb9\\u0cbd\\u0cde\\u0ce0\\u0ce1\\u0cf1\\u0cf2\\u0d05-\\u0d0c\\u0d0e-\\u0d10\\u0d12-\\u0d3a\\u0d3d\\u0d4e\\u0d60\\u0d61\\u0d7a-\\u0d7f\\u0d85-\\u0d96\\u0d9a-\\u0db1\\u0db3-\\u0dbb\\u0dbd\\u0dc0-\\u0dc6\\u0e01-\\u0e30\\u0e32\\u0e33\\u0e40-\\u0e46\\u0e81\\u0e82\\u0e84\\u0e87\\u0e88\\u0e8a\\u0e8d\\u0e94-\\u0e97\\u0e99-\\u0e9f\\u0ea1-\\u0ea3\\u0ea5\\u0ea7\\u0eaa\\u0eab\\u0ead-\\u0eb0\\u0eb2\\u0eb3\\u0ebd\\u0ec0-\\u0ec4\\u0ec6\\u0edc-\\u0edf\\u0f00\\u0f40-\\u0f47\\u0f49-\\u0f6c\\u0f88-\\u0f8c\\u1000-\\u102a\\u103f\\u1050-\\u1055\\u105a-\\u105d\\u1061\\u1065\\u1066\\u106e-\\u1070\\u1075-\\u1081\\u108e\\u10a0-\\u10c5\\u10c7\\u10cd\\u10d0-\\u10fa\\u10fc-\\u1248\\u124a-\\u124d\\u1250-\\u1256\\u1258\\u125a-\\u125d\\u1260-\\u1288\\u128a-\\u128d\\u1290-\\u12b0\\u12b2-\\u12b5\\u12b8-\\u12be\\u12c0\\u12c2-\\u12c5\\u12c8-\\u12d6\\u12d8-\\u1310\\u1312-\\u1315\\u1318-\\u135a\\u1380-\\u138f\\u13a0-\\u13f4\\u1401-\\u166c\\u166f-\\u167f\\u1681-\\u169a\\u16a0-\\u16ea\\u16ee-\\u16f0\\u1700-\\u170c\\u170e-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176c\\u176e-\\u1770\\u1780-\\u17b3\\u17d7\\u17dc\\u1820-\\u1877\\u1880-\\u18a8\\u18aa\\u18b0-\\u18f5\\u1900-\\u191c\\u1950-\\u196d\\u1970-\\u1974\\u1980-\\u19ab\\u19c1-\\u19c7\\u1a00-\\u1a16\\u1a20-\\u1a54\\u1aa7\\u1b05-\\u1b33\\u1b45-\\u1b4b\\u1b83-\\u1ba0\\u1bae\\u1baf\\u1bba-\\u1be5\\u1c00-\\u1c23\\u1c4d-\\u1c4f\\u1c5a-\\u1c7d\\u1ce9-\\u1cec\\u1cee-\\u1cf1\\u1cf5\\u1cf6\\u1d00-\\u1dbf\\u1e00-\\u1f15\\u1f18-\\u1f1d\\u1f20-\\u1f45\\u1f48-\\u1f4d\\u1f50-\\u1f57\\u1f59\\u1f5b\\u1f5d\\u1f5f-\\u1f7d\\u1f80-\\u1fb4\\u1fb6-\\u1fbc\\u1fbe\\u1fc2-\\u1fc4\\u1fc6-\\u1fcc\\u1fd0-\\u1fd3\\u1fd6-\\u1fdb\\u1fe0-\\u1fec\\u1ff2-\\u1ff4\\u1ff6-\\u1ffc\\u2071\\u207f\\u2090-\\u209c\\u2102\\u2107\\u210a-\\u2113\\u2115\\u2119-\\u211d\\u2124\\u2126\\u2128\\u212a-\\u212d\\u212f-\\u2139\\u213c-\\u213f\\u2145-\\u2149\\u214e\\u2160-\\u2188\\u2c00-\\u2c2e\\u2c30-\\u2c5e\\u2c60-\\u2ce4\\u2ceb-\\u2cee\\u2cf2\\u2cf3\\u2d00-\\u2d25\\u2d27\\u2d2d\\u2d30-\\u2d67\\u2d6f\\u2d80-\\u2d96\\u2da0-\\u2da6\\u2da8-\\u2dae\\u2db0-\\u2db6\\u2db8-\\u2dbe\\u2dc0-\\u2dc6\\u2dc8-\\u2dce\\u2dd0-\\u2dd6\\u2dd8-\\u2dde\\u2e2f\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303c\\u3041-\\u3096\\u309d-\\u309f\\u30a1-\\u30fa\\u30fc-\\u30ff\\u3105-\\u312d\\u3131-\\u318e\\u31a0-\\u31ba\\u31f0-\\u31ff\\u3400-\\u4db5\\u4e00-\\u9fcc\\ua000-\\ua48c\\ua4d0-\\ua4fd\\ua500-\\ua60c\\ua610-\\ua61f\\ua62a\\ua62b\\ua640-\\ua66e\\ua67f-\\ua697\\ua6a0-\\ua6ef\\ua717-\\ua71f\\ua722-\\ua788\\ua78b-\\ua78e\\ua790-\\ua793\\ua7a0-\\ua7aa\\ua7f8-\\ua801\\ua803-\\ua805\\ua807-\\ua80a\\ua80c-\\ua822\\ua840-\\ua873\\ua882-\\ua8b3\\ua8f2-\\ua8f7\\ua8fb\\ua90a-\\ua925\\ua930-\\ua946\\ua960-\\ua97c\\ua984-\\ua9b2\\ua9cf\\uaa00-\\uaa28\\uaa40-\\uaa42\\uaa44-\\uaa4b\\uaa60-\\uaa76\\uaa7a\\uaa80-\\uaaaf\\uaab1\\uaab5\\uaab6\\uaab9-\\uaabd\\uaac0\\uaac2\\uaadb-\\uaadd\\uaae0-\\uaaea\\uaaf2-\\uaaf4\\uab01-\\uab06\\uab09-\\uab0e\\uab11-\\uab16\\uab20-\\uab26\\uab28-\\uab2e\\uabc0-\\uabe2\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\uf900-\\ufa6d\\ufa70-\\ufad9\\ufb00-\\ufb06\\ufb13-\\ufb17\\ufb1d\\ufb1f-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40\\ufb41\\ufb43\\ufb44\\ufb46-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uffbe\\uffc2-\\uffc7\\uffca-\\uffcf\\uffd2-\\uffd7\\uffda-\\uffdc",f="\\u0300-\\u036f\\u0483-\\u0487\\u0591-\\u05bd\\u05bf\\u05c1\\u05c2\\u05c4\\u05c5\\u05c7\\u0610-\\u061a\\u0620-\\u0649\\u0672-\\u06d3\\u06e7-\\u06e8\\u06fb-\\u06fc\\u0730-\\u074a\\u0800-\\u0814\\u081b-\\u0823\\u0825-\\u0827\\u0829-\\u082d\\u0840-\\u0857\\u08e4-\\u08fe\\u0900-\\u0903\\u093a-\\u093c\\u093e-\\u094f\\u0951-\\u0957\\u0962-\\u0963\\u0966-\\u096f\\u0981-\\u0983\\u09bc\\u09be-\\u09c4\\u09c7\\u09c8\\u09d7\\u09df-\\u09e0\\u0a01-\\u0a03\\u0a3c\\u0a3e-\\u0a42\\u0a47\\u0a48\\u0a4b-\\u0a4d\\u0a51\\u0a66-\\u0a71\\u0a75\\u0a81-\\u0a83\\u0abc\\u0abe-\\u0ac5\\u0ac7-\\u0ac9\\u0acb-\\u0acd\\u0ae2-\\u0ae3\\u0ae6-\\u0aef\\u0b01-\\u0b03\\u0b3c\\u0b3e-\\u0b44\\u0b47\\u0b48\\u0b4b-\\u0b4d\\u0b56\\u0b57\\u0b5f-\\u0b60\\u0b66-\\u0b6f\\u0b82\\u0bbe-\\u0bc2\\u0bc6-\\u0bc8\\u0bca-\\u0bcd\\u0bd7\\u0be6-\\u0bef\\u0c01-\\u0c03\\u0c46-\\u0c48\\u0c4a-\\u0c4d\\u0c55\\u0c56\\u0c62-\\u0c63\\u0c66-\\u0c6f\\u0c82\\u0c83\\u0cbc\\u0cbe-\\u0cc4\\u0cc6-\\u0cc8\\u0cca-\\u0ccd\\u0cd5\\u0cd6\\u0ce2-\\u0ce3\\u0ce6-\\u0cef\\u0d02\\u0d03\\u0d46-\\u0d48\\u0d57\\u0d62-\\u0d63\\u0d66-\\u0d6f\\u0d82\\u0d83\\u0dca\\u0dcf-\\u0dd4\\u0dd6\\u0dd8-\\u0ddf\\u0df2\\u0df3\\u0e34-\\u0e3a\\u0e40-\\u0e45\\u0e50-\\u0e59\\u0eb4-\\u0eb9\\u0ec8-\\u0ecd\\u0ed0-\\u0ed9\\u0f18\\u0f19\\u0f20-\\u0f29\\u0f35\\u0f37\\u0f39\\u0f41-\\u0f47\\u0f71-\\u0f84\\u0f86-\\u0f87\\u0f8d-\\u0f97\\u0f99-\\u0fbc\\u0fc6\\u1000-\\u1029\\u1040-\\u1049\\u1067-\\u106d\\u1071-\\u1074\\u1082-\\u108d\\u108f-\\u109d\\u135d-\\u135f\\u170e-\\u1710\\u1720-\\u1730\\u1740-\\u1750\\u1772\\u1773\\u1780-\\u17b2\\u17dd\\u17e0-\\u17e9\\u180b-\\u180d\\u1810-\\u1819\\u1920-\\u192b\\u1930-\\u193b\\u1951-\\u196d\\u19b0-\\u19c0\\u19c8-\\u19c9\\u19d0-\\u19d9\\u1a00-\\u1a15\\u1a20-\\u1a53\\u1a60-\\u1a7c\\u1a7f-\\u1a89\\u1a90-\\u1a99\\u1b46-\\u1b4b\\u1b50-\\u1b59\\u1b6b-\\u1b73\\u1bb0-\\u1bb9\\u1be6-\\u1bf3\\u1c00-\\u1c22\\u1c40-\\u1c49\\u1c5b-\\u1c7d\\u1cd0-\\u1cd2\\u1d00-\\u1dbe\\u1e01-\\u1f15\\u200c\\u200d\\u203f\\u2040\\u2054\\u20d0-\\u20dc\\u20e1\\u20e5-\\u20f0\\u2d81-\\u2d96\\u2de0-\\u2dff\\u3021-\\u3028\\u3099\\u309a\\ua640-\\ua66d\\ua674-\\ua67d\\ua69f\\ua6f0-\\ua6f1\\ua7f8-\\ua800\\ua806\\ua80b\\ua823-\\ua827\\ua880-\\ua881\\ua8b4-\\ua8c4\\ua8d0-\\ua8d9\\ua8f3-\\ua8f7\\ua900-\\ua909\\ua926-\\ua92d\\ua930-\\ua945\\ua980-\\ua983\\ua9b3-\\ua9c0\\uaa00-\\uaa27\\uaa40-\\uaa41\\uaa4c-\\uaa4d\\uaa50-\\uaa59\\uaa7b\\uaae0-\\uaae9\\uaaf2-\\uaaf3\\uabc0-\\uabe1\\uabec\\uabed\\uabf0-\\uabf9\\ufb20-\\ufb28\\ufe00-\\ufe0f\\ufe20-\\ufe26\\ufe33\\ufe34\\ufe4d-\\ufe4f\\uff10-\\uff19\\uff3f",n="\\\\u[0-9a-fA-F]{4}|\\\\u\\{[0-9a-fA-F]+\\}",o="(?:"+n+"|["+x+l+"])",d="(?:"+n+"|["+c+l+f+"])*";s.identifier=new RegExp(o+d,"g"),s.identifierStart=new RegExp(o),s.identifierMatch=new RegExp("(?:"+n+"|["+c+l+f+"])+");var m=/[\u1680\u180e\u2000-\u200a\u202f\u205f\u3000\ufeff]/;s.newline=/[\n\r\u2028\u2029]/,s.lineBreak=new RegExp(`\r
|`+s.newline.source),s.allLineBreaks=new RegExp(s.lineBreak.source,"g")},function(A,s,x){var c=x(6).Options,l=["before-newline","after-newline","preserve-newline"];function f(n){c.call(this,n,"js");var o=this.raw_options.brace_style||null;o==="expand-strict"?this.raw_options.brace_style="expand":o==="collapse-preserve-inline"?this.raw_options.brace_style="collapse,preserve-inline":this.raw_options.braces_on_own_line!==void 0&&(this.raw_options.brace_style=this.raw_options.braces_on_own_line?"expand":"collapse");var d=this._get_selection_list("brace_style",["collapse","expand","end-expand","none","preserve-inline"]);this.brace_preserve_inline=!1,this.brace_style="collapse";for(var m=0;m<d.length;m++)d[m]==="preserve-inline"?this.brace_preserve_inline=!0:this.brace_style=d[m];this.unindent_chained_methods=this._get_boolean("unindent_chained_methods"),this.break_chained_methods=this._get_boolean("break_chained_methods"),this.space_in_paren=this._get_boolean("space_in_paren"),this.space_in_empty_paren=this._get_boolean("space_in_empty_paren"),this.jslint_happy=this._get_boolean("jslint_happy"),this.space_after_anon_function=this._get_boolean("space_after_anon_function"),this.space_after_named_function=this._get_boolean("space_after_named_function"),this.keep_array_indentation=this._get_boolean("keep_array_indentation"),this.space_before_conditional=this._get_boolean("space_before_conditional",!0),this.unescape_strings=this._get_boolean("unescape_strings"),this.e4x=this._get_boolean("e4x"),this.comma_first=this._get_boolean("comma_first"),this.operator_position=this._get_selection("operator_position",l),this.test_output_raw=this._get_boolean("test_output_raw"),this.jslint_happy&&(this.space_after_anon_function=!0)}f.prototype=new c,A.exports.Options=f},function(A){function s(l,f){this.raw_options=x(l,f),this.disabled=this._get_boolean("disabled"),this.eol=this._get_characters("eol","auto"),this.end_with_newline=this._get_boolean("end_with_newline"),this.indent_size=this._get_number("indent_size",4),this.indent_char=this._get_characters("indent_char"," "),this.indent_level=this._get_number("indent_level"),this.preserve_newlines=this._get_boolean("preserve_newlines",!0),this.max_preserve_newlines=this._get_number("max_preserve_newlines",32786),this.preserve_newlines||(this.max_preserve_newlines=0),this.indent_with_tabs=this._get_boolean("indent_with_tabs",this.indent_char===" "),this.indent_with_tabs&&(this.indent_char=" ",this.indent_size===1&&(this.indent_size=4)),this.wrap_line_length=this._get_number("wrap_line_length",this._get_number("max_char")),this.indent_empty_lines=this._get_boolean("indent_empty_lines"),this.templating=this._get_selection_list("templating",["auto","none","angular","django","erb","handlebars","php","smarty"],["auto"])}s.prototype._get_array=function(l,f){var n=this.raw_options[l],o=f||[];return typeof n=="object"?n!==null&&typeof n.concat=="function"&&(o=n.concat()):typeof n=="string"&&(o=n.split(/[^a-zA-Z0-9_\/\-]+/)),o},s.prototype._get_boolean=function(l,f){var n=this.raw_options[l],o=n===void 0?!!f:!!n;return o},s.prototype._get_characters=function(l,f){var n=this.raw_options[l],o=f||"";return typeof n=="string"&&(o=n.replace(/\\r/,"\r").replace(/\\n/,`
`).replace(/\\t/," ")),o},s.prototype._get_number=function(l,f){var n=this.raw_options[l];f=parseInt(f,10),isNaN(f)&&(f=0);var o=parseInt(n,10);return isNaN(o)&&(o=f),o},s.prototype._get_selection=function(l,f,n){var o=this._get_selection_list(l,f,n);if(o.length!==1)throw new Error("Invalid Option Value: The option '"+l+`' can only be one of the following values:
`+f+`
You passed in: '`+this.raw_options[l]+"'");return o[0]},s.prototype._get_selection_list=function(l,f,n){if(!f||f.length===0)throw new Error("Selection list cannot be empty.");if(n=n||[f[0]],!this._is_valid_selection(n,f))throw new Error("Invalid Default Value!");var o=this._get_array(l,n);if(!this._is_valid_selection(o,f))throw new Error("Invalid Option Value: The option '"+l+`' can contain only the following values:
`+f+`
You passed in: '`+this.raw_options[l]+"'");return o},s.prototype._is_valid_selection=function(l,f){return l.length&&f.length&&!l.some(function(n){return f.indexOf(n)===-1})};function x(l,f){var n={};l=c(l);var o;for(o in l)o!==f&&(n[o]=l[o]);if(f&&l[f])for(o in l[f])n[o]=l[f][o];return n}function c(l){var f={},n;for(n in l){var o=n.replace(/-/g,"_");f[o]=l[n]}return f}A.exports.Options=s,A.exports.normalizeOpts=c,A.exports.mergeOpts=x},function(A,s,x){var c=x(8).InputScanner,l=x(9).Tokenizer,f=x(9).TOKEN,n=x(13).Directives,o=x(4),d=x(12).Pattern,m=x(14).TemplatablePattern;function _(k,U){return U.indexOf(k)!==-1}var h={START_EXPR:"TK_START_EXPR",END_EXPR:"TK_END_EXPR",START_BLOCK:"TK_START_BLOCK",END_BLOCK:"TK_END_BLOCK",WORD:"TK_WORD",RESERVED:"TK_RESERVED",SEMICOLON:"TK_SEMICOLON",STRING:"TK_STRING",EQUALS:"TK_EQUALS",OPERATOR:"TK_OPERATOR",COMMA:"TK_COMMA",BLOCK_COMMENT:"TK_BLOCK_COMMENT",COMMENT:"TK_COMMENT",DOT:"TK_DOT",UNKNOWN:"TK_UNKNOWN",START:f.START,RAW:f.RAW,EOF:f.EOF},g=new n(/\/\*/,/\*\//),r=/0[xX][0123456789abcdefABCDEF_]*n?|0[oO][01234567_]*n?|0[bB][01_]*n?|\d[\d_]*n|(?:\.\d[\d_]*|\d[\d_]*\.?[\d_]*)(?:[eE][+-]?[\d_]+)?/,a=/[0-9]/,p=/[^\d\.]/,E=">>> === !== &&= ??= ||= << && >= ** != == <= >> || ?? |> < / - + > : & % ? ^ | *".split(" "),b=">>>= ... >>= <<= === >>> !== **= &&= ??= ||= => ^= :: /= << <= == && -= >= >> != -- += ** || ?? ++ %= &= *= |= |> = ! ? > < : / ^ - + * & % ~ |";b=b.replace(/[-[\]{}()*+?.,\\^$|#]/g,"\\$&"),b="\\?\\.(?!\\d) "+b,b=b.replace(/ /g,"|");var w=new RegExp(b),R="continue,try,throw,return,var,let,const,if,switch,case,default,for,while,break,function,import,export".split(","),O=R.concat(["do","in","of","else","get","set","new","catch","finally","typeof","yield","async","await","from","as","class","extends"]),z=new RegExp("^(?:"+O.join("|")+")$"),B,P=function(k,U){l.call(this,k,U),this._patterns.whitespace=this._patterns.whitespace.matching(/\u00A0\u1680\u180e\u2000-\u200a\u202f\u205f\u3000\ufeff/.source,/\u2028\u2029/.source);var G=new d(this._input),C=new m(this._input).read_options(this._options);this.__patterns={template:C,identifier:C.starting_with(o.identifier).matching(o.identifierMatch),number:G.matching(r),punct:G.matching(w),comment:G.starting_with(/\/\//).until(/[\n\r\u2028\u2029]/),block_comment:G.starting_with(/\/\*/).until_after(/\*\//),html_comment_start:G.matching(/<!--/),html_comment_end:G.matching(/-->/),include:G.starting_with(/#include/).until_after(o.lineBreak),shebang:G.starting_with(/#!/).until_after(o.lineBreak),xml:G.matching(/[\s\S]*?<(\/?)([-a-zA-Z:0-9_.]+|{[^}]+?}|!\[CDATA\[[^\]]*?\]\]|)(\s*{[^}]+?}|\s+[-a-zA-Z:0-9_.]+|\s+[-a-zA-Z:0-9_.]+\s*=\s*('[^']*'|"[^"]*"|{([^{}]|{[^}]+?})+?}))*\s*(\/?)\s*>/),single_quote:C.until(/['\\\n\r\u2028\u2029]/),double_quote:C.until(/["\\\n\r\u2028\u2029]/),template_text:C.until(/[`\\$]/),template_expression:C.until(/[`}\\]/)}};P.prototype=new l,P.prototype._is_comment=function(k){return k.type===h.COMMENT||k.type===h.BLOCK_COMMENT||k.type===h.UNKNOWN},P.prototype._is_opening=function(k){return k.type===h.START_BLOCK||k.type===h.START_EXPR},P.prototype._is_closing=function(k,U){return(k.type===h.END_BLOCK||k.type===h.END_EXPR)&&U&&(k.text==="]"&&U.text==="["||k.text===")"&&U.text==="("||k.text==="}"&&U.text==="{")},P.prototype._reset=function(){B=!1},P.prototype._get_next_token=function(k,U){var G=null;this._readWhitespace();var C=this._input.peek();return C===null?this._create_token(h.EOF,""):(G=G||this._read_non_javascript(C),G=G||this._read_string(C),G=G||this._read_pair(C,this._input.peek(1)),G=G||this._read_word(k),G=G||this._read_singles(C),G=G||this._read_comment(C),G=G||this._read_regexp(C,k),G=G||this._read_xml(C,k),G=G||this._read_punctuation(),G=G||this._create_token(h.UNKNOWN,this._input.next()),G)},P.prototype._read_word=function(k){var U;if(U=this.__patterns.identifier.read(),U!=="")return U=U.replace(o.allLineBreaks,`
`),!(k.type===h.DOT||k.type===h.RESERVED&&(k.text==="set"||k.text==="get"))&&z.test(U)?(U==="in"||U==="of")&&(k.type===h.WORD||k.type===h.STRING)?this._create_token(h.OPERATOR,U):this._create_token(h.RESERVED,U):this._create_token(h.WORD,U);if(U=this.__patterns.number.read(),U!=="")return this._create_token(h.WORD,U)},P.prototype._read_singles=function(k){var U=null;return k==="("||k==="["?U=this._create_token(h.START_EXPR,k):k===")"||k==="]"?U=this._create_token(h.END_EXPR,k):k==="{"?U=this._create_token(h.START_BLOCK,k):k==="}"?U=this._create_token(h.END_BLOCK,k):k===";"?U=this._create_token(h.SEMICOLON,k):k==="."&&p.test(this._input.peek(1))?U=this._create_token(h.DOT,k):k===","&&(U=this._create_token(h.COMMA,k)),U&&this._input.next(),U},P.prototype._read_pair=function(k,U){var G=null;return k==="#"&&U==="{"&&(G=this._create_token(h.START_BLOCK,k+U)),G&&(this._input.next(),this._input.next()),G},P.prototype._read_punctuation=function(){var k=this.__patterns.punct.read();if(k!=="")return k==="="?this._create_token(h.EQUALS,k):k==="?."?this._create_token(h.DOT,k):this._create_token(h.OPERATOR,k)},P.prototype._read_non_javascript=function(k){var U="";if(k==="#"){if(this._is_first_token()&&(U=this.__patterns.shebang.read(),U))return this._create_token(h.UNKNOWN,U.trim()+`
`);if(U=this.__patterns.include.read(),U)return this._create_token(h.UNKNOWN,U.trim()+`
`);k=this._input.next();var G="#";if(this._input.hasNext()&&this._input.testChar(a)){do k=this._input.next(),G+=k;while(this._input.hasNext()&&k!=="#"&&k!=="=");return k==="#"||(this._input.peek()==="["&&this._input.peek(1)==="]"?(G+="[]",this._input.next(),this._input.next()):this._input.peek()==="{"&&this._input.peek(1)==="}"&&(G+="{}",this._input.next(),this._input.next())),this._create_token(h.WORD,G)}this._input.back()}else if(k==="<"&&this._is_first_token()){if(U=this.__patterns.html_comment_start.read(),U){for(;this._input.hasNext()&&!this._input.testChar(o.newline);)U+=this._input.next();return B=!0,this._create_token(h.COMMENT,U)}}else if(B&&k==="-"&&(U=this.__patterns.html_comment_end.read(),U))return B=!1,this._create_token(h.COMMENT,U);return null},P.prototype._read_comment=function(k){var U=null;if(k==="/"){var G="";if(this._input.peek(1)==="*"){G=this.__patterns.block_comment.read();var C=g.get_directives(G);C&&C.ignore==="start"&&(G+=g.readIgnored(this._input)),G=G.replace(o.allLineBreaks,`
`),U=this._create_token(h.BLOCK_COMMENT,G),U.directives=C}else this._input.peek(1)==="/"&&(G=this.__patterns.comment.read(),U=this._create_token(h.COMMENT,G))}return U},P.prototype._read_string=function(k){if(k==="`"||k==="'"||k==='"'){var U=this._input.next();return this.has_char_escapes=!1,k==="`"?U+=this._read_string_recursive("`",!0,"${"):U+=this._read_string_recursive(k),this.has_char_escapes&&this._options.unescape_strings&&(U=F(U)),this._input.peek()===k&&(U+=this._input.next()),U=U.replace(o.allLineBreaks,`
`),this._create_token(h.STRING,U)}return null},P.prototype._allow_regexp_or_xml=function(k){return k.type===h.RESERVED&&_(k.text,["return","case","throw","else","do","typeof","yield"])||k.type===h.END_EXPR&&k.text===")"&&k.opened.previous.type===h.RESERVED&&_(k.opened.previous.text,["if","while","for"])||_(k.type,[h.COMMENT,h.START_EXPR,h.START_BLOCK,h.START,h.END_BLOCK,h.OPERATOR,h.EQUALS,h.EOF,h.SEMICOLON,h.COMMA])},P.prototype._read_regexp=function(k,U){if(k==="/"&&this._allow_regexp_or_xml(U)){for(var G=this._input.next(),C=!1,I=!1;this._input.hasNext()&&(C||I||this._input.peek()!==k)&&!this._input.testChar(o.newline);)G+=this._input.peek(),C?C=!1:(C=this._input.peek()==="\\",this._input.peek()==="["?I=!0:this._input.peek()==="]"&&(I=!1)),this._input.next();return this._input.peek()===k&&(G+=this._input.next(),G+=this._input.read(o.identifier)),this._create_token(h.STRING,G)}return null},P.prototype._read_xml=function(k,U){if(this._options.e4x&&k==="<"&&this._allow_regexp_or_xml(U)){var G="",C=this.__patterns.xml.read_match();if(C){for(var I=C[2].replace(/^{\s+/,"{").replace(/\s+}$/,"}"),H=I.indexOf("{")===0,$=0;C;){var q=!!C[1],se=C[2],ue=!!C[C.length-1]||se.slice(0,8)==="![CDATA[";if(!ue&&(se===I||H&&se.replace(/^{\s+/,"{").replace(/\s+}$/,"}"))&&(q?--$:++$),G+=C[0],$<=0)break;C=this.__patterns.xml.read_match()}return C||(G+=this._input.match(/[\s\S]*/g)[0]),G=G.replace(o.allLineBreaks,`
`),this._create_token(h.STRING,G)}}return null};function F(k){for(var U="",G=0,C=new c(k),I=null;C.hasNext();)if(I=C.match(/([\s]|[^\\]|\\\\)+/g),I&&(U+=I[0]),C.peek()==="\\"){if(C.next(),C.peek()==="x")I=C.match(/x([0-9A-Fa-f]{2})/g);else if(C.peek()==="u")I=C.match(/u([0-9A-Fa-f]{4})/g),I||(I=C.match(/u\{([0-9A-Fa-f]+)\}/g));else{U+="\\",C.hasNext()&&(U+=C.next());continue}if(!I||(G=parseInt(I[1],16),G>126&&G<=255&&I[0].indexOf("x")===0))return k;G>=0&&G<32||G>1114111?U+="\\"+I[0]:G===34||G===39||G===92?U+="\\"+String.fromCharCode(G):U+=String.fromCharCode(G)}return U}P.prototype._read_string_recursive=function(k,U,G){var C,I;k==="'"?I=this.__patterns.single_quote:k==='"'?I=this.__patterns.double_quote:k==="`"?I=this.__patterns.template_text:k==="}"&&(I=this.__patterns.template_expression);for(var H=I.read(),$="";this._input.hasNext();){if($=this._input.next(),$===k||!U&&o.newline.test($)){this._input.back();break}else $==="\\"&&this._input.hasNext()?(C=this._input.peek(),C==="x"||C==="u"?this.has_char_escapes=!0:C==="\r"&&this._input.peek(1)===`
`&&this._input.next(),$+=this._input.next()):G&&(G==="${"&&$==="$"&&this._input.peek()==="{"&&($+=this._input.next()),G===$&&(k==="`"?$+=this._read_string_recursive("}",U,"`"):$+=this._read_string_recursive("`",U,"${"),this._input.hasNext()&&($+=this._input.next())));$+=I.read(),H+=$}return H},A.exports.Tokenizer=P,A.exports.TOKEN=h,A.exports.positionable_operators=E.slice(),A.exports.line_starters=R.slice()},function(A){var s=RegExp.prototype.hasOwnProperty("sticky");function x(c){this.__input=c||"",this.__input_length=this.__input.length,this.__position=0}x.prototype.restart=function(){this.__position=0},x.prototype.back=function(){this.__position>0&&(this.__position-=1)},x.prototype.hasNext=function(){return this.__position<this.__input_length},x.prototype.next=function(){var c=null;return this.hasNext()&&(c=this.__input.charAt(this.__position),this.__position+=1),c},x.prototype.peek=function(c){var l=null;return c=c||0,c+=this.__position,c>=0&&c<this.__input_length&&(l=this.__input.charAt(c)),l},x.prototype.__match=function(c,l){c.lastIndex=l;var f=c.exec(this.__input);return f&&!(s&&c.sticky)&&f.index!==l&&(f=null),f},x.prototype.test=function(c,l){return l=l||0,l+=this.__position,l>=0&&l<this.__input_length?!!this.__match(c,l):!1},x.prototype.testChar=function(c,l){var f=this.peek(l);return c.lastIndex=0,f!==null&&c.test(f)},x.prototype.match=function(c){var l=this.__match(c,this.__position);return l?this.__position+=l[0].length:l=null,l},x.prototype.read=function(c,l,f){var n="",o;return c&&(o=this.match(c),o&&(n+=o[0])),l&&(o||!c)&&(n+=this.readUntil(l,f)),n},x.prototype.readUntil=function(c,l){var f="",n=this.__position;c.lastIndex=this.__position;var o=c.exec(this.__input);return o?(n=o.index,l&&(n+=o[0].length)):n=this.__input_length,f=this.__input.substring(this.__position,n),this.__position=n,f},x.prototype.readUntilAfter=function(c){return this.readUntil(c,!0)},x.prototype.get_regexp=function(c,l){var f=null,n="g";return l&&s&&(n="y"),typeof c=="string"&&c!==""?f=new RegExp(c,n):c&&(f=new RegExp(c.source,n)),f},x.prototype.get_literal_regexp=function(c){return RegExp(c.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&"))},x.prototype.peekUntilAfter=function(c){var l=this.__position,f=this.readUntilAfter(c);return this.__position=l,f},x.prototype.lookBack=function(c){var l=this.__position-1;return l>=c.length&&this.__input.substring(l-c.length,l).toLowerCase()===c},A.exports.InputScanner=x},function(A,s,x){var c=x(8).InputScanner,l=x(3).Token,f=x(10).TokenStream,n=x(11).WhitespacePattern,o={START:"TK_START",RAW:"TK_RAW",EOF:"TK_EOF"},d=function(m,_){this._input=new c(m),this._options=_||{},this.__tokens=null,this._patterns={},this._patterns.whitespace=new n(this._input)};d.prototype.tokenize=function(){this._input.restart(),this.__tokens=new f,this._reset();for(var m,_=new l(o.START,""),h=null,g=[],r=new f;_.type!==o.EOF;){for(m=this._get_next_token(_,h);this._is_comment(m);)r.add(m),m=this._get_next_token(_,h);r.isEmpty()||(m.comments_before=r,r=new f),m.parent=h,this._is_opening(m)?(g.push(h),h=m):h&&this._is_closing(m,h)&&(m.opened=h,h.closed=m,h=g.pop(),m.parent=h),m.previous=_,_.next=m,this.__tokens.add(m),_=m}return this.__tokens},d.prototype._is_first_token=function(){return this.__tokens.isEmpty()},d.prototype._reset=function(){},d.prototype._get_next_token=function(m,_){this._readWhitespace();var h=this._input.read(/.+/g);return h?this._create_token(o.RAW,h):this._create_token(o.EOF,"")},d.prototype._is_comment=function(m){return!1},d.prototype._is_opening=function(m){return!1},d.prototype._is_closing=function(m,_){return!1},d.prototype._create_token=function(m,_){var h=new l(m,_,this._patterns.whitespace.newline_count,this._patterns.whitespace.whitespace_before_token);return h},d.prototype._readWhitespace=function(){return this._patterns.whitespace.read()},A.exports.Tokenizer=d,A.exports.TOKEN=o},function(A){function s(x){this.__tokens=[],this.__tokens_length=this.__tokens.length,this.__position=0,this.__parent_token=x}s.prototype.restart=function(){this.__position=0},s.prototype.isEmpty=function(){return this.__tokens_length===0},s.prototype.hasNext=function(){return this.__position<this.__tokens_length},s.prototype.next=function(){var x=null;return this.hasNext()&&(x=this.__tokens[this.__position],this.__position+=1),x},s.prototype.peek=function(x){var c=null;return x=x||0,x+=this.__position,x>=0&&x<this.__tokens_length&&(c=this.__tokens[x]),c},s.prototype.add=function(x){this.__parent_token&&(x.parent=this.__parent_token),this.__tokens.push(x),this.__tokens_length+=1},A.exports.TokenStream=s},function(A,s,x){var c=x(12).Pattern;function l(f,n){c.call(this,f,n),n?this._line_regexp=this._input.get_regexp(n._line_regexp):this.__set_whitespace_patterns("",""),this.newline_count=0,this.whitespace_before_token=""}l.prototype=new c,l.prototype.__set_whitespace_patterns=function(f,n){f+="\\t ",n+="\\n\\r",this._match_pattern=this._input.get_regexp("["+f+n+"]+",!0),this._newline_regexp=this._input.get_regexp("\\r\\n|["+n+"]")},l.prototype.read=function(){this.newline_count=0,this.whitespace_before_token="";var f=this._input.read(this._match_pattern);if(f===" ")this.whitespace_before_token=" ";else if(f){var n=this.__split(this._newline_regexp,f);this.newline_count=n.length-1,this.whitespace_before_token=n[this.newline_count]}return f},l.prototype.matching=function(f,n){var o=this._create();return o.__set_whitespace_patterns(f,n),o._update(),o},l.prototype._create=function(){return new l(this._input,this)},l.prototype.__split=function(f,n){f.lastIndex=0;for(var o=0,d=[],m=f.exec(n);m;)d.push(n.substring(o,m.index)),o=m.index+m[0].length,m=f.exec(n);return o<n.length?d.push(n.substring(o,n.length)):d.push(""),d},A.exports.WhitespacePattern=l},function(A){function s(x,c){this._input=x,this._starting_pattern=null,this._match_pattern=null,this._until_pattern=null,this._until_after=!1,c&&(this._starting_pattern=this._input.get_regexp(c._starting_pattern,!0),this._match_pattern=this._input.get_regexp(c._match_pattern,!0),this._until_pattern=this._input.get_regexp(c._until_pattern),this._until_after=c._until_after)}s.prototype.read=function(){var x=this._input.read(this._starting_pattern);return(!this._starting_pattern||x)&&(x+=this._input.read(this._match_pattern,this._until_pattern,this._until_after)),x},s.prototype.read_match=function(){return this._input.match(this._match_pattern)},s.prototype.until_after=function(x){var c=this._create();return c._until_after=!0,c._until_pattern=this._input.get_regexp(x),c._update(),c},s.prototype.until=function(x){var c=this._create();return c._until_after=!1,c._until_pattern=this._input.get_regexp(x),c._update(),c},s.prototype.starting_with=function(x){var c=this._create();return c._starting_pattern=this._input.get_regexp(x,!0),c._update(),c},s.prototype.matching=function(x){var c=this._create();return c._match_pattern=this._input.get_regexp(x,!0),c._update(),c},s.prototype._create=function(){return new s(this._input,this)},s.prototype._update=function(){},A.exports.Pattern=s},function(A){function s(x,c){x=typeof x=="string"?x:x.source,c=typeof c=="string"?c:c.source,this.__directives_block_pattern=new RegExp(x+/ beautify( \w+[:]\w+)+ /.source+c,"g"),this.__directive_pattern=/ (\w+)[:](\w+)/g,this.__directives_end_ignore_pattern=new RegExp(x+/\sbeautify\signore:end\s/.source+c,"g")}s.prototype.get_directives=function(x){if(!x.match(this.__directives_block_pattern))return null;var c={};this.__directive_pattern.lastIndex=0;for(var l=this.__directive_pattern.exec(x);l;)c[l[1]]=l[2],l=this.__directive_pattern.exec(x);return c},s.prototype.readIgnored=function(x){return x.readUntilAfter(this.__directives_end_ignore_pattern)},A.exports.Directives=s},function(A,s,x){var c=x(12).Pattern,l={django:!1,erb:!1,handlebars:!1,php:!1,smarty:!1,angular:!1};function f(n,o){c.call(this,n,o),this.__template_pattern=null,this._disabled=Object.assign({},l),this._excluded=Object.assign({},l),o&&(this.__template_pattern=this._input.get_regexp(o.__template_pattern),this._excluded=Object.assign(this._excluded,o._excluded),this._disabled=Object.assign(this._disabled,o._disabled));var d=new c(n);this.__patterns={handlebars_comment:d.starting_with(/{{!--/).until_after(/--}}/),handlebars_unescaped:d.starting_with(/{{{/).until_after(/}}}/),handlebars:d.starting_with(/{{/).until_after(/}}/),php:d.starting_with(/<\?(?:[= ]|php)/).until_after(/\?>/),erb:d.starting_with(/<%[^%]/).until_after(/[^%]%>/),django:d.starting_with(/{%/).until_after(/%}/),django_value:d.starting_with(/{{/).until_after(/}}/),django_comment:d.starting_with(/{#/).until_after(/#}/),smarty:d.starting_with(/{(?=[^}{\s\n])/).until_after(/[^\s\n]}/),smarty_comment:d.starting_with(/{\*/).until_after(/\*}/),smarty_literal:d.starting_with(/{literal}/).until_after(/{\/literal}/)}}f.prototype=new c,f.prototype._create=function(){return new f(this._input,this)},f.prototype._update=function(){this.__set_templated_pattern()},f.prototype.disable=function(n){var o=this._create();return o._disabled[n]=!0,o._update(),o},f.prototype.read_options=function(n){var o=this._create();for(var d in l)o._disabled[d]=n.templating.indexOf(d)===-1;return o._update(),o},f.prototype.exclude=function(n){var o=this._create();return o._excluded[n]=!0,o._update(),o},f.prototype.read=function(){var n="";this._match_pattern?n=this._input.read(this._starting_pattern):n=this._input.read(this._starting_pattern,this.__template_pattern);for(var o=this._read_template();o;)this._match_pattern?o+=this._input.read(this._match_pattern):o+=this._input.readUntil(this.__template_pattern),n+=o,o=this._read_template();return this._until_after&&(n+=this._input.readUntilAfter(this._until_pattern)),n},f.prototype.__set_templated_pattern=function(){var n=[];this._disabled.php||n.push(this.__patterns.php._starting_pattern.source),this._disabled.handlebars||n.push(this.__patterns.handlebars._starting_pattern.source),this._disabled.angular||n.push(this.__patterns.handlebars._starting_pattern.source),this._disabled.erb||n.push(this.__patterns.erb._starting_pattern.source),this._disabled.django||(n.push(this.__patterns.django._starting_pattern.source),n.push(this.__patterns.django_value._starting_pattern.source),n.push(this.__patterns.django_comment._starting_pattern.source)),this._disabled.smarty||n.push(this.__patterns.smarty._starting_pattern.source),this._until_pattern&&n.push(this._until_pattern.source),this.__template_pattern=this._input.get_regexp("(?:"+n.join("|")+")")},f.prototype._read_template=function(){var n="",o=this._input.peek();if(o==="<"){var d=this._input.peek(1);!this._disabled.php&&!this._excluded.php&&d==="?"&&(n=n||this.__patterns.php.read()),!this._disabled.erb&&!this._excluded.erb&&d==="%"&&(n=n||this.__patterns.erb.read())}else o==="{"&&(!this._disabled.handlebars&&!this._excluded.handlebars&&(n=n||this.__patterns.handlebars_comment.read(),n=n||this.__patterns.handlebars_unescaped.read(),n=n||this.__patterns.handlebars.read()),this._disabled.django||(!this._excluded.django&&!this._excluded.handlebars&&(n=n||this.__patterns.django_value.read()),this._excluded.django||(n=n||this.__patterns.django_comment.read(),n=n||this.__patterns.django.read())),this._disabled.smarty||this._disabled.django&&this._disabled.handlebars&&(n=n||this.__patterns.smarty_comment.read(),n=n||this.__patterns.smarty_literal.read(),n=n||this.__patterns.smarty.read()));return n},A.exports.TemplatablePattern=f}],K={};function y(A){var s=K[A];if(s!==void 0)return s.exports;var x=K[A]={exports:{}};return S[A](x,x.exports,y),x.exports}var L=y(0);te=L})();var X=te;ae=[],ee=function(){return{js_beautify:X}}.apply(Qe,ae),ee!==void 0&&($t.exports=ee)})()},75918:function($t,Qe,ae){"use strict";ae.d(Qe,{Wi:function(){return y},Z0:function(){return L},aU:function(){return K},eZ:function(){return s},wY:function(){return A}});var ee=ae(4348),te=ae(69323),X=ae(13268),S=function(x,c,l,f){function n(o){return o instanceof l?o:new l(function(d){d(o)})}return new(l||(l=Promise))(function(o,d){function m(g){try{h(f.next(g))}catch(r){d(r)}}function _(g){try{h(f.throw(g))}catch(r){d(r)}}function h(g){g.done?o(g.value):n(g.value).then(m,_)}h((f=f.apply(x,c||[])).next())})};class K extends te.JT{constructor(c,l="",f="",n=!0,o){super(),this._onDidChange=this._register(new ee.Q5),this.onDidChange=this._onDidChange.event,this._enabled=!0,this._id=c,this._label=l,this._cssClass=f,this._enabled=n,this._actionCallback=o}get id(){return this._id}get label(){return this._label}set label(c){this._setLabel(c)}_setLabel(c){this._label!==c&&(this._label=c,this._onDidChange.fire({label:c}))}get tooltip(){return this._tooltip||""}set tooltip(c){this._setTooltip(c)}_setTooltip(c){this._tooltip!==c&&(this._tooltip=c,this._onDidChange.fire({tooltip:c}))}get class(){return this._cssClass}set class(c){this._setClass(c)}_setClass(c){this._cssClass!==c&&(this._cssClass=c,this._onDidChange.fire({class:c}))}get enabled(){return this._enabled}set enabled(c){this._setEnabled(c)}_setEnabled(c){this._enabled!==c&&(this._enabled=c,this._onDidChange.fire({enabled:c}))}get checked(){return this._checked}set checked(c){this._setChecked(c)}_setChecked(c){this._checked!==c&&(this._checked=c,this._onDidChange.fire({checked:c}))}run(c,l){return S(this,void 0,void 0,function*(){this._actionCallback&&(yield this._actionCallback(c))})}}class y extends te.JT{constructor(){super(...arguments),this._onBeforeRun=this._register(new ee.Q5),this.onBeforeRun=this._onBeforeRun.event,this._onDidRun=this._register(new ee.Q5),this.onDidRun=this._onDidRun.event}run(c,l){return S(this,void 0,void 0,function*(){if(!c.enabled)return;this._onBeforeRun.fire({action:c});let f;try{yield this.runAction(c,l)}catch(n){f=n}this._onDidRun.fire({action:c,error:f})})}runAction(c,l){return S(this,void 0,void 0,function*(){yield c.run(l)})}}class L extends K{constructor(c){super(L.ID,c,c?"separator text":"separator"),this.checked=!1,this.enabled=!1}}L.ID="vs.actions.separator";class A{constructor(c,l,f,n){this.tooltip="",this.enabled=!0,this.checked=!1,this.id=c,this.label=l,this.class=n,this._actions=f}get actions(){return this._actions}dispose(){}run(){return S(this,void 0,void 0,function*(){})}}class s extends K{constructor(){super(s.ID,X.N("submenu.empty","(empty)"),void 0,!1)}}s.ID="vs.actions.empty"},76068:function($t,Qe,ae){"use strict";ae.d(Qe,{ok:function(){return ee}});function ee(te,X){if(!te)throw new Error(X?`Assertion failed (${X})`:"Assertion Failed")}},52615:function($t,Qe,ae){"use strict";ae.d(Qe,{CM:function(){return K},JL:function(){return y},dT:function(){return A},fK:function(){return S},lA:function(){return L}});var ee=ae(4348);class te{constructor(){this._icons=new Map,this._onDidRegister=new ee.Q5}add(x){const c=this._icons.get(x.id);c?x.description?c.description=x.description:console.error(`Duplicate registration of codicon ${x.id}`):(this._icons.set(x.id,x),this._onDidRegister.fire(x))}get(x){return this._icons.get(x)}get all(){return this._icons.values()}get onDidRegister(){return this._onDidRegister.event}}const X=new te,S=X;function K(s,x){return new L(s,x)}function y(s){return s?s.replace(/\$\((.*?)\)/g,(x,c)=>` ${c} `).trim():""}class L{constructor(x,c,l){this.id=x,this.definition=c,this.description=l,X.add(this)}get classNames(){return"codicon codicon-"+this.id}get classNamesArray(){return["codicon","codicon-"+this.id]}get cssSelector(){return".codicon.codicon-"+this.id}}var A;(function(s){s.iconNameSegment="[A-Za-z0-9]+",s.iconNameExpression="[A-Za-z0-9\\-]+",s.iconModifierExpression="~[A-Za-z]+";const x=new RegExp(`^(${s.iconNameExpression})(${s.iconModifierExpression})?$`);function c(n){if(n instanceof L)return["codicon","codicon-"+n.id];const o=x.exec(n.id);if(!o)return c(L.error);let[,d,m]=o;const _=["codicon","codicon-"+d];return m&&_.push("codicon-modifier-"+m.substr(1)),_}s.asClassNameArray=c;function l(n){return c(n).join(" ")}s.asClassName=l;function f(n){return"."+c(n).join(".")}s.asCSSSelector=f})(A||(A={})),function(s){s.add=new s("add",{fontCharacter:"\\ea60"}),s.plus=new s("plus",s.add.definition),s.gistNew=new s("gist-new",s.add.definition),s.repoCreate=new s("repo-create",s.add.definition),s.lightbulb=new s("lightbulb",{fontCharacter:"\\ea61"}),s.lightBulb=new s("light-bulb",{fontCharacter:"\\ea61"}),s.repo=new s("repo",{fontCharacter:"\\ea62"}),s.repoDelete=new s("repo-delete",{fontCharacter:"\\ea62"}),s.gistFork=new s("gist-fork",{fontCharacter:"\\ea63"}),s.repoForked=new s("repo-forked",{fontCharacter:"\\ea63"}),s.gitPullRequest=new s("git-pull-request",{fontCharacter:"\\ea64"}),s.gitPullRequestAbandoned=new s("git-pull-request-abandoned",{fontCharacter:"\\ea64"}),s.recordKeys=new s("record-keys",{fontCharacter:"\\ea65"}),s.keyboard=new s("keyboard",{fontCharacter:"\\ea65"}),s.tag=new s("tag",{fontCharacter:"\\ea66"}),s.tagAdd=new s("tag-add",{fontCharacter:"\\ea66"}),s.tagRemove=new s("tag-remove",{fontCharacter:"\\ea66"}),s.person=new s("person",{fontCharacter:"\\ea67"}),s.personFollow=new s("person-follow",{fontCharacter:"\\ea67"}),s.personOutline=new s("person-outline",{fontCharacter:"\\ea67"}),s.personFilled=new s("person-filled",{fontCharacter:"\\ea67"}),s.gitBranch=new s("git-branch",{fontCharacter:"\\ea68"}),s.gitBranchCreate=new s("git-branch-create",{fontCharacter:"\\ea68"}),s.gitBranchDelete=new s("git-branch-delete",{fontCharacter:"\\ea68"}),s.sourceControl=new s("source-control",{fontCharacter:"\\ea68"}),s.mirror=new s("mirror",{fontCharacter:"\\ea69"}),s.mirrorPublic=new s("mirror-public",{fontCharacter:"\\ea69"}),s.star=new s("star",{fontCharacter:"\\ea6a"}),s.starAdd=new s("star-add",{fontCharacter:"\\ea6a"}),s.starDelete=new s("star-delete",{fontCharacter:"\\ea6a"}),s.starEmpty=new s("star-empty",{fontCharacter:"\\ea6a"}),s.comment=new s("comment",{fontCharacter:"\\ea6b"}),s.commentAdd=new s("comment-add",{fontCharacter:"\\ea6b"}),s.alert=new s("alert",{fontCharacter:"\\ea6c"}),s.warning=new s("warning",{fontCharacter:"\\ea6c"}),s.search=new s("search",{fontCharacter:"\\ea6d"}),s.searchSave=new s("search-save",{fontCharacter:"\\ea6d"}),s.logOut=new s("log-out",{fontCharacter:"\\ea6e"}),s.signOut=new s("sign-out",{fontCharacter:"\\ea6e"}),s.logIn=new s("log-in",{fontCharacter:"\\ea6f"}),s.signIn=new s("sign-in",{fontCharacter:"\\ea6f"}),s.eye=new s("eye",{fontCharacter:"\\ea70"}),s.eyeUnwatch=new s("eye-unwatch",{fontCharacter:"\\ea70"}),s.eyeWatch=new s("eye-watch",{fontCharacter:"\\ea70"}),s.circleFilled=new s("circle-filled",{fontCharacter:"\\ea71"}),s.primitiveDot=new s("primitive-dot",{fontCharacter:"\\ea71"}),s.closeDirty=new s("close-dirty",{fontCharacter:"\\ea71"}),s.debugBreakpoint=new s("debug-breakpoint",{fontCharacter:"\\ea71"}),s.debugBreakpointDisabled=new s("debug-breakpoint-disabled",{fontCharacter:"\\ea71"}),s.debugHint=new s("debug-hint",{fontCharacter:"\\ea71"}),s.primitiveSquare=new s("primitive-square",{fontCharacter:"\\ea72"}),s.edit=new s("edit",{fontCharacter:"\\ea73"}),s.pencil=new s("pencil",{fontCharacter:"\\ea73"}),s.info=new s("info",{fontCharacter:"\\ea74"}),s.issueOpened=new s("issue-opened",{fontCharacter:"\\ea74"}),s.gistPrivate=new s("gist-private",{fontCharacter:"\\ea75"}),s.gitForkPrivate=new s("git-fork-private",{fontCharacter:"\\ea75"}),s.lock=new s("lock",{fontCharacter:"\\ea75"}),s.mirrorPrivate=new s("mirror-private",{fontCharacter:"\\ea75"}),s.close=new s("close",{fontCharacter:"\\ea76"}),s.removeClose=new s("remove-close",{fontCharacter:"\\ea76"}),s.x=new s("x",{fontCharacter:"\\ea76"}),s.repoSync=new s("repo-sync",{fontCharacter:"\\ea77"}),s.sync=new s("sync",{fontCharacter:"\\ea77"}),s.clone=new s("clone",{fontCharacter:"\\ea78"}),s.desktopDownload=new s("desktop-download",{fontCharacter:"\\ea78"}),s.beaker=new s("beaker",{fontCharacter:"\\ea79"}),s.microscope=new s("microscope",{fontCharacter:"\\ea79"}),s.vm=new s("vm",{fontCharacter:"\\ea7a"}),s.deviceDesktop=new s("device-desktop",{fontCharacter:"\\ea7a"}),s.file=new s("file",{fontCharacter:"\\ea7b"}),s.fileText=new s("file-text",{fontCharacter:"\\ea7b"}),s.more=new s("more",{fontCharacter:"\\ea7c"}),s.ellipsis=new s("ellipsis",{fontCharacter:"\\ea7c"}),s.kebabHorizontal=new s("kebab-horizontal",{fontCharacter:"\\ea7c"}),s.mailReply=new s("mail-reply",{fontCharacter:"\\ea7d"}),s.reply=new s("reply",{fontCharacter:"\\ea7d"}),s.organization=new s("organization",{fontCharacter:"\\ea7e"}),s.organizationFilled=new s("organization-filled",{fontCharacter:"\\ea7e"}),s.organizationOutline=new s("organization-outline",{fontCharacter:"\\ea7e"}),s.newFile=new s("new-file",{fontCharacter:"\\ea7f"}),s.fileAdd=new s("file-add",{fontCharacter:"\\ea7f"}),s.newFolder=new s("new-folder",{fontCharacter:"\\ea80"}),s.fileDirectoryCreate=new s("file-directory-create",{fontCharacter:"\\ea80"}),s.trash=new s("trash",{fontCharacter:"\\ea81"}),s.trashcan=new s("trashcan",{fontCharacter:"\\ea81"}),s.history=new s("history",{fontCharacter:"\\ea82"}),s.clock=new s("clock",{fontCharacter:"\\ea82"}),s.folder=new s("folder",{fontCharacter:"\\ea83"}),s.fileDirectory=new s("file-directory",{fontCharacter:"\\ea83"}),s.symbolFolder=new s("symbol-folder",{fontCharacter:"\\ea83"}),s.logoGithub=new s("logo-github",{fontCharacter:"\\ea84"}),s.markGithub=new s("mark-github",{fontCharacter:"\\ea84"}),s.github=new s("github",{fontCharacter:"\\ea84"}),s.terminal=new s("terminal",{fontCharacter:"\\ea85"}),s.console=new s("console",{fontCharacter:"\\ea85"}),s.repl=new s("repl",{fontCharacter:"\\ea85"}),s.zap=new s("zap",{fontCharacter:"\\ea86"}),s.symbolEvent=new s("symbol-event",{fontCharacter:"\\ea86"}),s.error=new s("error",{fontCharacter:"\\ea87"}),s.stop=new s("stop",{fontCharacter:"\\ea87"}),s.variable=new s("variable",{fontCharacter:"\\ea88"}),s.symbolVariable=new s("symbol-variable",{fontCharacter:"\\ea88"}),s.array=new s("array",{fontCharacter:"\\ea8a"}),s.symbolArray=new s("symbol-array",{fontCharacter:"\\ea8a"}),s.symbolModule=new s("symbol-module",{fontCharacter:"\\ea8b"}),s.symbolPackage=new s("symbol-package",{fontCharacter:"\\ea8b"}),s.symbolNamespace=new s("symbol-namespace",{fontCharacter:"\\ea8b"}),s.symbolObject=new s("symbol-object",{fontCharacter:"\\ea8b"}),s.symbolMethod=new s("symbol-method",{fontCharacter:"\\ea8c"}),s.symbolFunction=new s("symbol-function",{fontCharacter:"\\ea8c"}),s.symbolConstructor=new s("symbol-constructor",{fontCharacter:"\\ea8c"}),s.symbolBoolean=new s("symbol-boolean",{fontCharacter:"\\ea8f"}),s.symbolNull=new s("symbol-null",{fontCharacter:"\\ea8f"}),s.symbolNumeric=new s("symbol-numeric",{fontCharacter:"\\ea90"}),s.symbolNumber=new s("symbol-number",{fontCharacter:"\\ea90"}),s.symbolStructure=new s("symbol-structure",{fontCharacter:"\\ea91"}),s.symbolStruct=new s("symbol-struct",{fontCharacter:"\\ea91"}),s.symbolParameter=new s("symbol-parameter",{fontCharacter:"\\ea92"}),s.symbolTypeParameter=new s("symbol-type-parameter",{fontCharacter:"\\ea92"}),s.symbolKey=new s("symbol-key",{fontCharacter:"\\ea93"}),s.symbolText=new s("symbol-text",{fontCharacter:"\\ea93"}),s.symbolReference=new s("symbol-reference",{fontCharacter:"\\ea94"}),s.goToFile=new s("go-to-file",{fontCharacter:"\\ea94"}),s.symbolEnum=new s("symbol-enum",{fontCharacter:"\\ea95"}),s.symbolValue=new s("symbol-value",{fontCharacter:"\\ea95"}),s.symbolRuler=new s("symbol-ruler",{fontCharacter:"\\ea96"}),s.symbolUnit=new s("symbol-unit",{fontCharacter:"\\ea96"}),s.activateBreakpoints=new s("activate-breakpoints",{fontCharacter:"\\ea97"}),s.archive=new s("archive",{fontCharacter:"\\ea98"}),s.arrowBoth=new s("arrow-both",{fontCharacter:"\\ea99"}),s.arrowDown=new s("arrow-down",{fontCharacter:"\\ea9a"}),s.arrowLeft=new s("arrow-left",{fontCharacter:"\\ea9b"}),s.arrowRight=new s("arrow-right",{fontCharacter:"\\ea9c"}),s.arrowSmallDown=new s("arrow-small-down",{fontCharacter:"\\ea9d"}),s.arrowSmallLeft=new s("arrow-small-left",{fontCharacter:"\\ea9e"}),s.arrowSmallRight=new s("arrow-small-right",{fontCharacter:"\\ea9f"}),s.arrowSmallUp=new s("arrow-small-up",{fontCharacter:"\\eaa0"}),s.arrowUp=new s("arrow-up",{fontCharacter:"\\eaa1"}),s.bell=new s("bell",{fontCharacter:"\\eaa2"}),s.bold=new s("bold",{fontCharacter:"\\eaa3"}),s.book=new s("book",{fontCharacter:"\\eaa4"}),s.bookmark=new s("bookmark",{fontCharacter:"\\eaa5"}),s.debugBreakpointConditionalUnverified=new s("debug-breakpoint-conditional-unverified",{fontCharacter:"\\eaa6"}),s.debugBreakpointConditional=new s("debug-breakpoint-conditional",{fontCharacter:"\\eaa7"}),s.debugBreakpointConditionalDisabled=new s("debug-breakpoint-conditional-disabled",{fontCharacter:"\\eaa7"}),s.debugBreakpointDataUnverified=new s("debug-breakpoint-data-unverified",{fontCharacter:"\\eaa8"}),s.debugBreakpointData=new s("debug-breakpoint-data",{fontCharacter:"\\eaa9"}),s.debugBreakpointDataDisabled=new s("debug-breakpoint-data-disabled",{fontCharacter:"\\eaa9"}),s.debugBreakpointLogUnverified=new s("debug-breakpoint-log-unverified",{fontCharacter:"\\eaaa"}),s.debugBreakpointLog=new s("debug-breakpoint-log",{fontCharacter:"\\eaab"}),s.debugBreakpointLogDisabled=new s("debug-breakpoint-log-disabled",{fontCharacter:"\\eaab"}),s.briefcase=new s("briefcase",{fontCharacter:"\\eaac"}),s.broadcast=new s("broadcast",{fontCharacter:"\\eaad"}),s.browser=new s("browser",{fontCharacter:"\\eaae"}),s.bug=new s("bug",{fontCharacter:"\\eaaf"}),s.calendar=new s("calendar",{fontCharacter:"\\eab0"}),s.caseSensitive=new s("case-sensitive",{fontCharacter:"\\eab1"}),s.check=new s("check",{fontCharacter:"\\eab2"}),s.checklist=new s("checklist",{fontCharacter:"\\eab3"}),s.chevronDown=new s("chevron-down",{fontCharacter:"\\eab4"}),s.dropDownButton=new s("drop-down-button",s.chevronDown.definition),s.chevronLeft=new s("chevron-left",{fontCharacter:"\\eab5"}),s.chevronRight=new s("chevron-right",{fontCharacter:"\\eab6"}),s.chevronUp=new s("chevron-up",{fontCharacter:"\\eab7"}),s.chromeClose=new s("chrome-close",{fontCharacter:"\\eab8"}),s.chromeMaximize=new s("chrome-maximize",{fontCharacter:"\\eab9"}),s.chromeMinimize=new s("chrome-minimize",{fontCharacter:"\\eaba"}),s.chromeRestore=new s("chrome-restore",{fontCharacter:"\\eabb"}),s.circleOutline=new s("circle-outline",{fontCharacter:"\\eabc"}),s.debugBreakpointUnverified=new s("debug-breakpoint-unverified",{fontCharacter:"\\eabc"}),s.circleSlash=new s("circle-slash",{fontCharacter:"\\eabd"}),s.circuitBoard=new s("circuit-board",{fontCharacter:"\\eabe"}),s.clearAll=new s("clear-all",{fontCharacter:"\\eabf"}),s.clippy=new s("clippy",{fontCharacter:"\\eac0"}),s.closeAll=new s("close-all",{fontCharacter:"\\eac1"}),s.cloudDownload=new s("cloud-download",{fontCharacter:"\\eac2"}),s.cloudUpload=new s("cloud-upload",{fontCharacter:"\\eac3"}),s.code=new s("code",{fontCharacter:"\\eac4"}),s.collapseAll=new s("collapse-all",{fontCharacter:"\\eac5"}),s.colorMode=new s("color-mode",{fontCharacter:"\\eac6"}),s.commentDiscussion=new s("comment-discussion",{fontCharacter:"\\eac7"}),s.compareChanges=new s("compare-changes",{fontCharacter:"\\eafd"}),s.creditCard=new s("credit-card",{fontCharacter:"\\eac9"}),s.dash=new s("dash",{fontCharacter:"\\eacc"}),s.dashboard=new s("dashboard",{fontCharacter:"\\eacd"}),s.database=new s("database",{fontCharacter:"\\eace"}),s.debugContinue=new s("debug-continue",{fontCharacter:"\\eacf"}),s.debugDisconnect=new s("debug-disconnect",{fontCharacter:"\\ead0"}),s.debugPause=new s("debug-pause",{fontCharacter:"\\ead1"}),s.debugRestart=new s("debug-restart",{fontCharacter:"\\ead2"}),s.debugStart=new s("debug-start",{fontCharacter:"\\ead3"}),s.debugStepInto=new s("debug-step-into",{fontCharacter:"\\ead4"}),s.debugStepOut=new s("debug-step-out",{fontCharacter:"\\ead5"}),s.debugStepOver=new s("debug-step-over",{fontCharacter:"\\ead6"}),s.debugStop=new s("debug-stop",{fontCharacter:"\\ead7"}),s.debug=new s("debug",{fontCharacter:"\\ead8"}),s.deviceCameraVideo=new s("device-camera-video",{fontCharacter:"\\ead9"}),s.deviceCamera=new s("device-camera",{fontCharacter:"\\eada"}),s.deviceMobile=new s("device-mobile",{fontCharacter:"\\eadb"}),s.diffAdded=new s("diff-added",{fontCharacter:"\\eadc"}),s.diffIgnored=new s("diff-ignored",{fontCharacter:"\\eadd"}),s.diffModified=new s("diff-modified",{fontCharacter:"\\eade"}),s.diffRemoved=new s("diff-removed",{fontCharacter:"\\eadf"}),s.diffRenamed=new s("diff-renamed",{fontCharacter:"\\eae0"}),s.diff=new s("diff",{fontCharacter:"\\eae1"}),s.discard=new s("discard",{fontCharacter:"\\eae2"}),s.editorLayout=new s("editor-layout",{fontCharacter:"\\eae3"}),s.emptyWindow=new s("empty-window",{fontCharacter:"\\eae4"}),s.exclude=new s("exclude",{fontCharacter:"\\eae5"}),s.extensions=new s("extensions",{fontCharacter:"\\eae6"}),s.eyeClosed=new s("eye-closed",{fontCharacter:"\\eae7"}),s.fileBinary=new s("file-binary",{fontCharacter:"\\eae8"}),s.fileCode=new s("file-code",{fontCharacter:"\\eae9"}),s.fileMedia=new s("file-media",{fontCharacter:"\\eaea"}),s.filePdf=new s("file-pdf",{fontCharacter:"\\eaeb"}),s.fileSubmodule=new s("file-submodule",{fontCharacter:"\\eaec"}),s.fileSymlinkDirectory=new s("file-symlink-directory",{fontCharacter:"\\eaed"}),s.fileSymlinkFile=new s("file-symlink-file",{fontCharacter:"\\eaee"}),s.fileZip=new s("file-zip",{fontCharacter:"\\eaef"}),s.files=new s("files",{fontCharacter:"\\eaf0"}),s.filter=new s("filter",{fontCharacter:"\\eaf1"}),s.flame=new s("flame",{fontCharacter:"\\eaf2"}),s.foldDown=new s("fold-down",{fontCharacter:"\\eaf3"}),s.foldUp=new s("fold-up",{fontCharacter:"\\eaf4"}),s.fold=new s("fold",{fontCharacter:"\\eaf5"}),s.folderActive=new s("folder-active",{fontCharacter:"\\eaf6"}),s.folderOpened=new s("folder-opened",{fontCharacter:"\\eaf7"}),s.gear=new s("gear",{fontCharacter:"\\eaf8"}),s.gift=new s("gift",{fontCharacter:"\\eaf9"}),s.gistSecret=new s("gist-secret",{fontCharacter:"\\eafa"}),s.gist=new s("gist",{fontCharacter:"\\eafb"}),s.gitCommit=new s("git-commit",{fontCharacter:"\\eafc"}),s.gitCompare=new s("git-compare",{fontCharacter:"\\eafd"}),s.gitMerge=new s("git-merge",{fontCharacter:"\\eafe"}),s.githubAction=new s("github-action",{fontCharacter:"\\eaff"}),s.githubAlt=new s("github-alt",{fontCharacter:"\\eb00"}),s.globe=new s("globe",{fontCharacter:"\\eb01"}),s.grabber=new s("grabber",{fontCharacter:"\\eb02"}),s.graph=new s("graph",{fontCharacter:"\\eb03"}),s.gripper=new s("gripper",{fontCharacter:"\\eb04"}),s.heart=new s("heart",{fontCharacter:"\\eb05"}),s.home=new s("home",{fontCharacter:"\\eb06"}),s.horizontalRule=new s("horizontal-rule",{fontCharacter:"\\eb07"}),s.hubot=new s("hubot",{fontCharacter:"\\eb08"}),s.inbox=new s("inbox",{fontCharacter:"\\eb09"}),s.issueClosed=new s("issue-closed",{fontCharacter:"\\eba4"}),s.issueReopened=new s("issue-reopened",{fontCharacter:"\\eb0b"}),s.issues=new s("issues",{fontCharacter:"\\eb0c"}),s.italic=new s("italic",{fontCharacter:"\\eb0d"}),s.jersey=new s("jersey",{fontCharacter:"\\eb0e"}),s.json=new s("json",{fontCharacter:"\\eb0f"}),s.kebabVertical=new s("kebab-vertical",{fontCharacter:"\\eb10"}),s.key=new s("key",{fontCharacter:"\\eb11"}),s.law=new s("law",{fontCharacter:"\\eb12"}),s.lightbulbAutofix=new s("lightbulb-autofix",{fontCharacter:"\\eb13"}),s.linkExternal=new s("link-external",{fontCharacter:"\\eb14"}),s.link=new s("link",{fontCharacter:"\\eb15"}),s.listOrdered=new s("list-ordered",{fontCharacter:"\\eb16"}),s.listUnordered=new s("list-unordered",{fontCharacter:"\\eb17"}),s.liveShare=new s("live-share",{fontCharacter:"\\eb18"}),s.loading=new s("loading",{fontCharacter:"\\eb19"}),s.location=new s("location",{fontCharacter:"\\eb1a"}),s.mailRead=new s("mail-read",{fontCharacter:"\\eb1b"}),s.mail=new s("mail",{fontCharacter:"\\eb1c"}),s.markdown=new s("markdown",{fontCharacter:"\\eb1d"}),s.megaphone=new s("megaphone",{fontCharacter:"\\eb1e"}),s.mention=new s("mention",{fontCharacter:"\\eb1f"}),s.milestone=new s("milestone",{fontCharacter:"\\eb20"}),s.mortarBoard=new s("mortar-board",{fontCharacter:"\\eb21"}),s.move=new s("move",{fontCharacter:"\\eb22"}),s.multipleWindows=new s("multiple-windows",{fontCharacter:"\\eb23"}),s.mute=new s("mute",{fontCharacter:"\\eb24"}),s.noNewline=new s("no-newline",{fontCharacter:"\\eb25"}),s.note=new s("note",{fontCharacter:"\\eb26"}),s.octoface=new s("octoface",{fontCharacter:"\\eb27"}),s.openPreview=new s("open-preview",{fontCharacter:"\\eb28"}),s.package_=new s("package",{fontCharacter:"\\eb29"}),s.paintcan=new s("paintcan",{fontCharacter:"\\eb2a"}),s.pin=new s("pin",{fontCharacter:"\\eb2b"}),s.play=new s("play",{fontCharacter:"\\eb2c"}),s.run=new s("run",{fontCharacter:"\\eb2c"}),s.plug=new s("plug",{fontCharacter:"\\eb2d"}),s.preserveCase=new s("preserve-case",{fontCharacter:"\\eb2e"}),s.preview=new s("preview",{fontCharacter:"\\eb2f"}),s.project=new s("project",{fontCharacter:"\\eb30"}),s.pulse=new s("pulse",{fontCharacter:"\\eb31"}),s.question=new s("question",{fontCharacter:"\\eb32"}),s.quote=new s("quote",{fontCharacter:"\\eb33"}),s.radioTower=new s("radio-tower",{fontCharacter:"\\eb34"}),s.reactions=new s("reactions",{fontCharacter:"\\eb35"}),s.references=new s("references",{fontCharacter:"\\eb36"}),s.refresh=new s("refresh",{fontCharacter:"\\eb37"}),s.regex=new s("regex",{fontCharacter:"\\eb38"}),s.remoteExplorer=new s("remote-explorer",{fontCharacter:"\\eb39"}),s.remote=new s("remote",{fontCharacter:"\\eb3a"}),s.remove=new s("remove",{fontCharacter:"\\eb3b"}),s.replaceAll=new s("replace-all",{fontCharacter:"\\eb3c"}),s.replace=new s("replace",{fontCharacter:"\\eb3d"}),s.repoClone=new s("repo-clone",{fontCharacter:"\\eb3e"}),s.repoForcePush=new s("repo-force-push",{fontCharacter:"\\eb3f"}),s.repoPull=new s("repo-pull",{fontCharacter:"\\eb40"}),s.repoPush=new s("repo-push",{fontCharacter:"\\eb41"}),s.report=new s("report",{fontCharacter:"\\eb42"}),s.requestChanges=new s("request-changes",{fontCharacter:"\\eb43"}),s.rocket=new s("rocket",{fontCharacter:"\\eb44"}),s.rootFolderOpened=new s("root-folder-opened",{fontCharacter:"\\eb45"}),s.rootFolder=new s("root-folder",{fontCharacter:"\\eb46"}),s.rss=new s("rss",{fontCharacter:"\\eb47"}),s.ruby=new s("ruby",{fontCharacter:"\\eb48"}),s.saveAll=new s("save-all",{fontCharacter:"\\eb49"}),s.saveAs=new s("save-as",{fontCharacter:"\\eb4a"}),s.save=new s("save",{fontCharacter:"\\eb4b"}),s.screenFull=new s("screen-full",{fontCharacter:"\\eb4c"}),s.screenNormal=new s("screen-normal",{fontCharacter:"\\eb4d"}),s.searchStop=new s("search-stop",{fontCharacter:"\\eb4e"}),s.server=new s("server",{fontCharacter:"\\eb50"}),s.settingsGear=new s("settings-gear",{fontCharacter:"\\eb51"}),s.settings=new s("settings",{fontCharacter:"\\eb52"}),s.shield=new s("shield",{fontCharacter:"\\eb53"}),s.smiley=new s("smiley",{fontCharacter:"\\eb54"}),s.sortPrecedence=new s("sort-precedence",{fontCharacter:"\\eb55"}),s.splitHorizontal=new s("split-horizontal",{fontCharacter:"\\eb56"}),s.splitVertical=new s("split-vertical",{fontCharacter:"\\eb57"}),s.squirrel=new s("squirrel",{fontCharacter:"\\eb58"}),s.starFull=new s("star-full",{fontCharacter:"\\eb59"}),s.starHalf=new s("star-half",{fontCharacter:"\\eb5a"}),s.symbolClass=new s("symbol-class",{fontCharacter:"\\eb5b"}),s.symbolColor=new s("symbol-color",{fontCharacter:"\\eb5c"}),s.symbolConstant=new s("symbol-constant",{fontCharacter:"\\eb5d"}),s.symbolEnumMember=new s("symbol-enum-member",{fontCharacter:"\\eb5e"}),s.symbolField=new s("symbol-field",{fontCharacter:"\\eb5f"}),s.symbolFile=new s("symbol-file",{fontCharacter:"\\eb60"}),s.symbolInterface=new s("symbol-interface",{fontCharacter:"\\eb61"}),s.symbolKeyword=new s("symbol-keyword",{fontCharacter:"\\eb62"}),s.symbolMisc=new s("symbol-misc",{fontCharacter:"\\eb63"}),s.symbolOperator=new s("symbol-operator",{fontCharacter:"\\eb64"}),s.symbolProperty=new s("symbol-property",{fontCharacter:"\\eb65"}),s.wrench=new s("wrench",{fontCharacter:"\\eb65"}),s.wrenchSubaction=new s("wrench-subaction",{fontCharacter:"\\eb65"}),s.symbolSnippet=new s("symbol-snippet",{fontCharacter:"\\eb66"}),s.tasklist=new s("tasklist",{fontCharacter:"\\eb67"}),s.telescope=new s("telescope",{fontCharacter:"\\eb68"}),s.textSize=new s("text-size",{fontCharacter:"\\eb69"}),s.threeBars=new s("three-bars",{fontCharacter:"\\eb6a"}),s.thumbsdown=new s("thumbsdown",{fontCharacter:"\\eb6b"}),s.thumbsup=new s("thumbsup",{fontCharacter:"\\eb6c"}),s.tools=new s("tools",{fontCharacter:"\\eb6d"}),s.triangleDown=new s("triangle-down",{fontCharacter:"\\eb6e"}),s.triangleLeft=new s("triangle-left",{fontCharacter:"\\eb6f"}),s.triangleRight=new s("triangle-right",{fontCharacter:"\\eb70"}),s.triangleUp=new s("triangle-up",{fontCharacter:"\\eb71"}),s.twitter=new s("twitter",{fontCharacter:"\\eb72"}),s.unfold=new s("unfold",{fontCharacter:"\\eb73"}),s.unlock=new s("unlock",{fontCharacter:"\\eb74"}),s.unmute=new s("unmute",{fontCharacter:"\\eb75"}),s.unverified=new s("unverified",{fontCharacter:"\\eb76"}),s.verified=new s("verified",{fontCharacter:"\\eb77"}),s.versions=new s("versions",{fontCharacter:"\\eb78"}),s.vmActive=new s("vm-active",{fontCharacter:"\\eb79"}),s.vmOutline=new s("vm-outline",{fontCharacter:"\\eb7a"}),s.vmRunning=new s("vm-running",{fontCharacter:"\\eb7b"}),s.watch=new s("watch",{fontCharacter:"\\eb7c"}),s.whitespace=new s("whitespace",{fontCharacter:"\\eb7d"}),s.wholeWord=new s("whole-word",{fontCharacter:"\\eb7e"}),s.window=new s("window",{fontCharacter:"\\eb7f"}),s.wordWrap=new s("word-wrap",{fontCharacter:"\\eb80"}),s.zoomIn=new s("zoom-in",{fontCharacter:"\\eb81"}),s.zoomOut=new s("zoom-out",{fontCharacter:"\\eb82"}),s.listFilter=new s("list-filter",{fontCharacter:"\\eb83"}),s.listFlat=new s("list-flat",{fontCharacter:"\\eb84"}),s.listSelection=new s("list-selection",{fontCharacter:"\\eb85"}),s.selection=new s("selection",{fontCharacter:"\\eb85"}),s.listTree=new s("list-tree",{fontCharacter:"\\eb86"}),s.debugBreakpointFunctionUnverified=new s("debug-breakpoint-function-unverified",{fontCharacter:"\\eb87"}),s.debugBreakpointFunction=new s("debug-breakpoint-function",{fontCharacter:"\\eb88"}),s.debugBreakpointFunctionDisabled=new s("debug-breakpoint-function-disabled",{fontCharacter:"\\eb88"}),s.debugStackframeActive=new s("debug-stackframe-active",{fontCharacter:"\\eb89"}),s.debugStackframeDot=new s("debug-stackframe-dot",{fontCharacter:"\\eb8a"}),s.debugStackframe=new s("debug-stackframe",{fontCharacter:"\\eb8b"}),s.debugStackframeFocused=new s("debug-stackframe-focused",{fontCharacter:"\\eb8b"}),s.debugBreakpointUnsupported=new s("debug-breakpoint-unsupported",{fontCharacter:"\\eb8c"}),s.symbolString=new s("symbol-string",{fontCharacter:"\\eb8d"}),s.debugReverseContinue=new s("debug-reverse-continue",{fontCharacter:"\\eb8e"}),s.debugStepBack=new s("debug-step-back",{fontCharacter:"\\eb8f"}),s.debugRestartFrame=new s("debug-restart-frame",{fontCharacter:"\\eb90"}),s.callIncoming=new s("call-incoming",{fontCharacter:"\\eb92"}),s.callOutgoing=new s("call-outgoing",{fontCharacter:"\\eb93"}),s.menu=new s("menu",{fontCharacter:"\\eb94"}),s.expandAll=new s("expand-all",{fontCharacter:"\\eb95"}),s.feedback=new s("feedback",{fontCharacter:"\\eb96"}),s.groupByRefType=new s("group-by-ref-type",{fontCharacter:"\\eb97"}),s.ungroupByRefType=new s("ungroup-by-ref-type",{fontCharacter:"\\eb98"}),s.account=new s("account",{fontCharacter:"\\eb99"}),s.bellDot=new s("bell-dot",{fontCharacter:"\\eb9a"}),s.debugConsole=new s("debug-console",{fontCharacter:"\\eb9b"}),s.library=new s("library",{fontCharacter:"\\eb9c"}),s.output=new s("output",{fontCharacter:"\\eb9d"}),s.runAll=new s("run-all",{fontCharacter:"\\eb9e"}),s.syncIgnored=new s("sync-ignored",{fontCharacter:"\\eb9f"}),s.pinned=new s("pinned",{fontCharacter:"\\eba0"}),s.githubInverted=new s("github-inverted",{fontCharacter:"\\eba1"}),s.debugAlt=new s("debug-alt",{fontCharacter:"\\eb91"}),s.serverProcess=new s("server-process",{fontCharacter:"\\eba2"}),s.serverEnvironment=new s("server-environment",{fontCharacter:"\\eba3"}),s.pass=new s("pass",{fontCharacter:"\\eba4"}),s.stopCircle=new s("stop-circle",{fontCharacter:"\\eba5"}),s.playCircle=new s("play-circle",{fontCharacter:"\\eba6"}),s.record=new s("record",{fontCharacter:"\\eba7"}),s.debugAltSmall=new s("debug-alt-small",{fontCharacter:"\\eba8"}),s.vmConnect=new s("vm-connect",{fontCharacter:"\\eba9"}),s.cloud=new s("cloud",{fontCharacter:"\\ebaa"}),s.merge=new s("merge",{fontCharacter:"\\ebab"}),s.exportIcon=new s("export",{fontCharacter:"\\ebac"}),s.graphLeft=new s("graph-left",{fontCharacter:"\\ebad"}),s.magnet=new s("magnet",{fontCharacter:"\\ebae"}),s.notebook=new s("notebook",{fontCharacter:"\\ebaf"}),s.redo=new s("redo",{fontCharacter:"\\ebb0"}),s.checkAll=new s("check-all",{fontCharacter:"\\ebb1"}),s.pinnedDirty=new s("pinned-dirty",{fontCharacter:"\\ebb2"}),s.passFilled=new s("pass-filled",{fontCharacter:"\\ebb3"}),s.circleLargeFilled=new s("circle-large-filled",{fontCharacter:"\\ebb4"}),s.circleLargeOutline=new s("circle-large-outline",{fontCharacter:"\\ebb5"}),s.combine=new s("combine",{fontCharacter:"\\ebb6"}),s.gather=new s("gather",{fontCharacter:"\\ebb6"}),s.table=new s("table",{fontCharacter:"\\ebb7"}),s.variableGroup=new s("variable-group",{fontCharacter:"\\ebb8"}),s.typeHierarchy=new s("type-hierarchy",{fontCharacter:"\\ebb9"}),s.typeHierarchySub=new s("type-hierarchy-sub",{fontCharacter:"\\ebba"}),s.typeHierarchySuper=new s("type-hierarchy-super",{fontCharacter:"\\ebbb"}),s.gitPullRequestCreate=new s("git-pull-request-create",{fontCharacter:"\\ebbc"}),s.runAbove=new s("run-above",{fontCharacter:"\\ebbd"}),s.runBelow=new s("run-below",{fontCharacter:"\\ebbe"}),s.notebookTemplate=new s("notebook-template",{fontCharacter:"\\ebbf"}),s.debugRerun=new s("debug-rerun",{fontCharacter:"\\ebc0"}),s.workspaceTrusted=new s("workspace-trusted",{fontCharacter:"\\ebc1"}),s.workspaceUntrusted=new s("workspace-untrusted",{fontCharacter:"\\ebc2"}),s.workspaceUnspecified=new s("workspace-unspecified",{fontCharacter:"\\ebc3"}),s.terminalCmd=new s("terminal-cmd",{fontCharacter:"\\ebc4"}),s.terminalDebian=new s("terminal-debian",{fontCharacter:"\\ebc5"}),s.terminalLinux=new s("terminal-linux",{fontCharacter:"\\ebc6"}),s.terminalPowershell=new s("terminal-powershell",{fontCharacter:"\\ebc7"}),s.terminalTmux=new s("terminal-tmux",{fontCharacter:"\\ebc8"}),s.terminalUbuntu=new s("terminal-ubuntu",{fontCharacter:"\\ebc9"}),s.terminalBash=new s("terminal-bash",{fontCharacter:"\\ebca"}),s.arrowSwap=new s("arrow-swap",{fontCharacter:"\\ebcb"}),s.copy=new s("copy",{fontCharacter:"\\ebcc"}),s.personAdd=new s("person-add",{fontCharacter:"\\ebcd"}),s.filterFilled=new s("filter-filled",{fontCharacter:"\\ebce"}),s.wand=new s("wand",{fontCharacter:"\\ebcf"}),s.debugLineByLine=new s("debug-line-by-line",{fontCharacter:"\\ebd0"}),s.inspect=new s("inspect",{fontCharacter:"\\ebd1"}),s.layers=new s("layers",{fontCharacter:"\\ebd2"}),s.layersDot=new s("layers-dot",{fontCharacter:"\\ebd3"}),s.layersActive=new s("layers-active",{fontCharacter:"\\ebd4"}),s.compass=new s("compass",{fontCharacter:"\\ebd5"}),s.compassDot=new s("compass-dot",{fontCharacter:"\\ebd6"}),s.compassActive=new s("compass-active",{fontCharacter:"\\ebd7"}),s.azure=new s("azure",{fontCharacter:"\\ebd8"}),s.issueDraft=new s("issue-draft",{fontCharacter:"\\ebd9"}),s.gitPullRequestClosed=new s("git-pull-request-closed",{fontCharacter:"\\ebda"}),s.gitPullRequestDraft=new s("git-pull-request-draft",{fontCharacter:"\\ebdb"}),s.debugAll=new s("debug-all",{fontCharacter:"\\ebdc"}),s.debugCoverage=new s("debug-coverage",{fontCharacter:"\\ebdd"}),s.runErrors=new s("run-errors",{fontCharacter:"\\ebde"}),s.folderLibrary=new s("folder-library",{fontCharacter:"\\ebdf"}),s.debugContinueSmall=new s("debug-continue-small",{fontCharacter:"\\ebe0"}),s.beakerStop=new s("beaker-stop",{fontCharacter:"\\ebe1"}),s.graphLine=new s("graph-line",{fontCharacter:"\\ebe2"}),s.graphScatter=new s("graph-scatter",{fontCharacter:"\\ebe3"}),s.pieChart=new s("pie-chart",{fontCharacter:"\\ebe4"}),s.bracket=new s("bracket",s.json.definition),s.bracketDot=new s("bracket-dot",{fontCharacter:"\\ebe5"}),s.bracketError=new s("bracket-error",{fontCharacter:"\\ebe6"}),s.lockSmall=new s("lock-small",{fontCharacter:"\\ebe7"}),s.azureDevops=new s("azure-devops",{fontCharacter:"\\ebe8"}),s.verifiedFilled=new s("verified-filled",{fontCharacter:"\\ebe9"})}(L||(L={}))},79881:function($t,Qe,ae){"use strict";ae.d(Qe,{B8:function(){return c},Cp:function(){return S},F0:function(){return A},L6:function(){return x},VV:function(){return L},b1:function(){return s},dL:function(){return X},ri:function(){return K}});class ee{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(f){setTimeout(()=>{throw f.stack?new Error(f.message+`
`+f.stack):f},0)}}emit(f){this.listeners.forEach(n=>{n(f)})}onUnexpectedError(f){this.unexpectedErrorHandler(f),this.emit(f)}onUnexpectedExternalError(f){this.unexpectedErrorHandler(f)}}const te=new ee;function X(l){L(l)||te.onUnexpectedError(l)}function S(l){L(l)||te.onUnexpectedExternalError(l)}function K(l){if(l instanceof Error){let{name:f,message:n}=l;const o=l.stacktrace||l.stack;return{$isError:!0,name:f,message:n,stack:o}}return l}const y="Canceled";function L(l){return l instanceof Error&&l.name===y&&l.message===y}function A(){const l=new Error(y);return l.name=l.message,l}function s(l){return l?new Error(`Illegal argument: ${l}`):new Error("Illegal argument")}function x(l){return l?new Error(`Illegal state: ${l}`):new Error("Illegal state")}class c extends Error{constructor(f){super("NotSupported"),f&&(this.message=f)}}},4348:function($t,Qe,ae){"use strict";ae.d(Qe,{D0:function(){return c},E7:function(){return l},K3:function(){return x},Q5:function(){return s},ZD:function(){return f},ju:function(){return K}});var ee=ae(79881),te=ae(69323),X=ae(34502),S=ae(95830),K;(function(n){n.None=()=>te.JT.None;function o(F){return(k,U=null,G)=>{let C=!1,I;return I=F(H=>{if(!C)return I?I.dispose():C=!0,k.call(U,H)},null,G),C&&I.dispose(),I}}n.once=o;function d(F,k){return a((U,G=null,C)=>F(I=>U.call(G,k(I)),null,C))}n.map=d;function m(F,k){return a((U,G=null,C)=>F(I=>{k(I),U.call(G,I)},null,C))}n.forEach=m;function _(F,k){return a((U,G=null,C)=>F(I=>k(I)&&U.call(G,I),null,C))}n.filter=_;function h(F){return F}n.signal=h;function g(...F){return(k,U=null,G)=>(0,te.F8)(...F.map(C=>C(I=>k.call(U,I),null,G)))}n.any=g;function r(F,k,U){let G=U;return d(F,C=>(G=k(G,C),G))}n.reduce=r;function a(F){let k;const U=new s({onFirstListenerAdd(){k=F(U.fire,U)},onLastListenerRemove(){k.dispose()}});return U.event}function p(F,k,U=100,G=!1,C){let I,H,$,q=0;const se=new s({leakWarningThreshold:C,onFirstListenerAdd(){I=F(ue=>{q++,H=k(H,ue),G&&!$&&(se.fire(H),H=void 0),clearTimeout($),$=setTimeout(()=>{const me=H;H=void 0,$=void 0,(!G||q>1)&&se.fire(me),q=0},U)})},onLastListenerRemove(){I.dispose()}});return se.event}n.debounce=p;function E(F,k=(U,G)=>U===G){let U=!0,G;return _(F,C=>{const I=U||!k(C,G);return U=!1,G=C,I})}n.latch=E;function b(F,k){return[n.filter(F,k),n.filter(F,U=>!k(U))]}n.split=b;function w(F,k=!1,U=[]){let G=U.slice(),C=F($=>{G?G.push($):H.fire($)});const I=()=>{G&&G.forEach($=>H.fire($)),G=null},H=new s({onFirstListenerAdd(){C||(C=F($=>H.fire($)))},onFirstListenerDidAdd(){G&&(k?setTimeout(I):I())},onLastListenerRemove(){C&&C.dispose(),C=null}});return H.event}n.buffer=w;class R{constructor(k){this.event=k}map(k){return new R(d(this.event,k))}forEach(k){return new R(m(this.event,k))}filter(k){return new R(_(this.event,k))}reduce(k,U){return new R(r(this.event,k,U))}latch(){return new R(E(this.event))}debounce(k,U=100,G=!1,C){return new R(p(this.event,k,U,G,C))}on(k,U,G){return this.event(k,U,G)}once(k,U,G){return o(this.event)(k,U,G)}}function O(F){return new R(F)}n.chain=O;function z(F,k,U=G=>G){const G=(...$)=>H.fire(U(...$)),C=()=>F.on(k,G),I=()=>F.removeListener(k,G),H=new s({onFirstListenerAdd:C,onLastListenerRemove:I});return H.event}n.fromNodeEventEmitter=z;function B(F,k,U=G=>G){const G=(...$)=>H.fire(U(...$)),C=()=>F.addEventListener(k,G),I=()=>F.removeEventListener(k,G),H=new s({onFirstListenerAdd:C,onLastListenerRemove:I});return H.event}n.fromDOMEventEmitter=B;function P(F){return new Promise(k=>o(F)(k))}n.toPromise=P})(K||(K={}));class y{constructor(o){this._listenerCount=0,this._invocationCount=0,this._elapsedOverall=0,this._name=`${o}_${y._idPool++}`}start(o){this._stopWatch=new S.G(!0),this._listenerCount=o}stop(){if(this._stopWatch){const o=this._stopWatch.elapsed();this._elapsedOverall+=o,this._invocationCount+=1,console.info(`did FIRE ${this._name}: elapsed_ms: ${o.toFixed(5)}, listener: ${this._listenerCount} (elapsed_overall: ${this._elapsedOverall.toFixed(2)}, invocations: ${this._invocationCount})`),this._stopWatch=void 0}}}y._idPool=0;let L=-1;class A{constructor(o,d=Math.random().toString(18).slice(2,5)){this.customThreshold=o,this.name=d,this._warnCountdown=0}dispose(){this._stacks&&this._stacks.clear()}check(o){let d=L;if(typeof this.customThreshold=="number"&&(d=this.customThreshold),d<=0||o<d)return;this._stacks||(this._stacks=new Map);const m=new Error().stack.split(`
`).slice(3).join(`
`),_=this._stacks.get(m)||0;if(this._stacks.set(m,_+1),this._warnCountdown-=1,this._warnCountdown<=0){this._warnCountdown=d*.5;let h,g=0;for(const[r,a]of this._stacks)(!h||g<a)&&(h=r,g=a);console.warn(`[${this.name}] potential listener LEAK detected, having ${o} listeners already. MOST frequent listener (${g}):`),console.warn(h)}return()=>{const h=this._stacks.get(m)||0;this._stacks.set(m,h-1)}}}class s{constructor(o){var d;this._disposed=!1,this._options=o,this._leakageMon=L>0?new A(this._options&&this._options.leakWarningThreshold):void 0,this._perfMon=!((d=this._options)===null||d===void 0)&&d._profName?new y(this._options._profName):void 0}get event(){return this._event||(this._event=(o,d,m)=>{var _;this._listeners||(this._listeners=new X.S);const h=this._listeners.isEmpty();h&&this._options&&this._options.onFirstListenerAdd&&this._options.onFirstListenerAdd(this);const g=this._listeners.push(d?[o,d]:o);h&&this._options&&this._options.onFirstListenerDidAdd&&this._options.onFirstListenerDidAdd(this),this._options&&this._options.onListenerDidAdd&&this._options.onListenerDidAdd(this,o,d);const r=(_=this._leakageMon)===null||_===void 0?void 0:_.check(this._listeners.size),a=(0,te.OF)(()=>{r&&r(),this._disposed||(g(),this._options&&this._options.onLastListenerRemove&&(this._listeners&&!this._listeners.isEmpty()||this._options.onLastListenerRemove(this)))});return m instanceof te.SL?m.add(a):Array.isArray(m)&&m.push(a),a}),this._event}fire(o){var d,m;if(this._listeners){this._deliveryQueue||(this._deliveryQueue=new X.S);for(let _ of this._listeners)this._deliveryQueue.push([_,o]);for((d=this._perfMon)===null||d===void 0||d.start(this._deliveryQueue.size);this._deliveryQueue.size>0;){const[_,h]=this._deliveryQueue.shift();try{typeof _=="function"?_.call(void 0,h):_[0].call(_[1],h)}catch(g){(0,ee.dL)(g)}}(m=this._perfMon)===null||m===void 0||m.stop()}}dispose(){var o,d,m,_,h;this._disposed||(this._disposed=!0,(o=this._listeners)===null||o===void 0||o.clear(),(d=this._deliveryQueue)===null||d===void 0||d.clear(),(_=(m=this._options)===null||m===void 0?void 0:m.onLastListenerRemove)===null||_===void 0||_.call(m),(h=this._leakageMon)===null||h===void 0||h.dispose())}}class x extends s{constructor(o){super(o),this._isPaused=0,this._eventQueue=new X.S,this._mergeFn=o==null?void 0:o.merge}pause(){this._isPaused++}resume(){if(this._isPaused!==0&&--this._isPaused===0)if(this._mergeFn){const o=Array.from(this._eventQueue);this._eventQueue.clear(),super.fire(this._mergeFn(o))}else for(;!this._isPaused&&this._eventQueue.size!==0;)super.fire(this._eventQueue.shift())}fire(o){this._listeners&&(this._isPaused!==0?this._eventQueue.push(o):super.fire(o))}}class c extends x{constructor(o){var d;super(o),this._delay=(d=o.delay)!==null&&d!==void 0?d:100}fire(o){this._handle||(this.pause(),this._handle=setTimeout(()=>{this._handle=void 0,this.resume()},this._delay)),super.fire(o)}}class l{constructor(){this.buffers=[]}wrapEvent(o){return(d,m,_)=>o(h=>{const g=this.buffers[this.buffers.length-1];g?g.push(()=>d.call(m,h)):d.call(m,h)},void 0,_)}bufferEvents(o){const d=[];this.buffers.push(d);const m=o();return this.buffers.pop(),d.forEach(_=>_()),m}}class f{constructor(){this.listening=!1,this.inputEvent=K.None,this.inputEventListener=te.JT.None,this.emitter=new s({onFirstListenerDidAdd:()=>{this.listening=!0,this.inputEventListener=this.inputEvent(this.emitter.fire,this.emitter)},onLastListenerRemove:()=>{this.listening=!1,this.inputEventListener.dispose()}}),this.event=this.emitter.event}set input(o){this.inputEvent=o,this.listening&&(this.inputEventListener.dispose(),this.inputEventListener=o(this.emitter.fire,this.emitter))}dispose(){this.inputEventListener.dispose(),this.emitter.dispose()}}},17845:function($t,Qe,ae){"use strict";ae.d(Qe,{I:function(){return ee}});function ee(te){const X=this;let S=!1,K;return function(){return S||(S=!0,K=te.apply(X,arguments)),K}}},88226:function($t,Qe,ae){"use strict";ae.d(Qe,{$:function(){return ee}});var ee;(function(te){function X(g){return g&&typeof g=="object"&&typeof g[Symbol.iterator]=="function"}te.is=X;const S=Object.freeze([]);function K(){return S}te.empty=K;function*y(g){yield g}te.single=y;function L(g){return g||S}te.from=L;function A(g){return!g||g[Symbol.iterator]().next().done===!0}te.isEmpty=A;function s(g){return g[Symbol.iterator]().next().value}te.first=s;function x(g,r){for(const a of g)if(r(a))return!0;return!1}te.some=x;function c(g,r){for(const a of g)if(r(a))return a}te.find=c;function*l(g,r){for(const a of g)r(a)&&(yield a)}te.filter=l;function*f(g,r){let a=0;for(const p of g)yield r(p,a++)}te.map=f;function*n(...g){for(const r of g)for(const a of r)yield a}te.concat=n;function*o(g){for(const r of g)for(const a of r)yield a}te.concatNested=o;function d(g,r,a){let p=a;for(const E of g)p=r(p,E);return p}te.reduce=d;function*m(g,r,a=g.length){for(r<0&&(r+=g.length),a<0?a+=g.length:a>g.length&&(a=g.length);r<a;r++)yield g[r]}te.slice=m;function _(g,r=Number.POSITIVE_INFINITY){const a=[];if(r===0)return[a,g];const p=g[Symbol.iterator]();for(let E=0;E<r;E++){const b=p.next();if(b.done)return[a,te.empty()];a.push(b.value)}return[a,{[Symbol.iterator](){return p}}]}te.consume=_;function h(g,r,a=(p,E)=>p===E){const p=g[Symbol.iterator](),E=r[Symbol.iterator]();for(;;){const b=p.next(),w=E.next();if(b.done!==w.done)return!1;if(b.done)return!0;if(!a(b.value,w.value))return!1}}te.equals=h})(ee||(ee={}))},69323:function($t,Qe,ae){"use strict";ae.d(Qe,{B9:function(){return f},F8:function(){return n},JT:function(){return m},Jz:function(){return h},OF:function(){return o},SL:function(){return d},Wf:function(){return l},XK:function(){return _},dk:function(){return x}});var ee=ae(17845),te=ae(88226);const X=!1;let S=null;function K(g){S=g}if(X){const g="__is_disposable_tracked__";K(new class{trackDisposable(r){const a=new Error("Potentially leaked disposable").stack;setTimeout(()=>{r[g]||console.log(a)},3e3)}setParent(r,a){if(r&&r!==m.None)try{r[g]=!0}catch(p){}}markAsDisposed(r){if(r&&r!==m.None)try{r[g]=!0}catch(a){}}markAsSingleton(r){}})}function y(g){return S==null||S.trackDisposable(g),g}function L(g){S==null||S.markAsDisposed(g)}function A(g,r){S==null||S.setParent(g,r)}function s(g,r){if(S)for(const a of g)S.setParent(a,r)}function x(g){return S==null||S.markAsSingleton(g),g}class c extends Error{constructor(r){super(`Encountered errors while disposing of store. Errors: [${r.join(", ")}]`),this.errors=r}}function l(g){return typeof g.dispose=="function"&&g.dispose.length===0}function f(g){if(te.$.is(g)){let r=[];for(const a of g)if(a)try{a.dispose()}catch(p){r.push(p)}if(r.length===1)throw r[0];if(r.length>1)throw new c(r);return Array.isArray(g)?[]:g}else if(g)return g.dispose(),g}function n(...g){const r=o(()=>f(g));return s(g,r),r}function o(g){const r=y({dispose:(0,ee.I)(()=>{L(r),g()})});return r}class d{constructor(){this._toDispose=new Set,this._isDisposed=!1,y(this)}dispose(){this._isDisposed||(L(this),this._isDisposed=!0,this.clear())}clear(){try{f(this._toDispose.values())}finally{this._toDispose.clear()}}add(r){if(!r)return r;if(r===this)throw new Error("Cannot register a disposable on itself!");return A(r,this),this._isDisposed?d.DISABLE_DISPOSED_WARNING||console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(r),r}}d.DISABLE_DISPOSED_WARNING=!1;class m{constructor(){this._store=new d,y(this),A(this._store,this)}dispose(){L(this),this._store.dispose()}_register(r){if(r===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(r)}}m.None=Object.freeze({dispose(){}});class _{constructor(){this._isDisposed=!1,y(this)}get value(){return this._isDisposed?void 0:this._value}set value(r){var a;this._isDisposed||r===this._value||((a=this._value)===null||a===void 0||a.dispose(),r&&A(r,this),this._value=r)}clear(){this.value=void 0}dispose(){var r;this._isDisposed=!0,L(this),(r=this._value)===null||r===void 0||r.dispose(),this._value=void 0}clearAndLeak(){const r=this._value;return this._value=void 0,r&&A(r,null),r}}class h{constructor(r){this.object=r}dispose(){}}},34502:function($t,Qe,ae){"use strict";ae.d(Qe,{S:function(){return te}});class ee{constructor(S){this.element=S,this.next=ee.Undefined,this.prev=ee.Undefined}}ee.Undefined=new ee(void 0);class te{constructor(){this._first=ee.Undefined,this._last=ee.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===ee.Undefined}clear(){let S=this._first;for(;S!==ee.Undefined;){const K=S.next;S.prev=ee.Undefined,S.next=ee.Undefined,S=K}this._first=ee.Undefined,this._last=ee.Undefined,this._size=0}unshift(S){return this._insert(S,!1)}push(S){return this._insert(S,!0)}_insert(S,K){const y=new ee(S);if(this._first===ee.Undefined)this._first=y,this._last=y;else if(K){const A=this._last;this._last=y,y.prev=A,A.next=y}else{const A=this._first;this._first=y,y.next=A,A.prev=y}this._size+=1;let L=!1;return()=>{L||(L=!0,this._remove(y))}}shift(){if(this._first!==ee.Undefined){const S=this._first.element;return this._remove(this._first),S}}pop(){if(this._last!==ee.Undefined){const S=this._last.element;return this._remove(this._last),S}}_remove(S){if(S.prev!==ee.Undefined&&S.next!==ee.Undefined){const K=S.prev;K.next=S.next,S.next.prev=K}else S.prev===ee.Undefined&&S.next===ee.Undefined?(this._first=ee.Undefined,this._last=ee.Undefined):S.next===ee.Undefined?(this._last=this._last.prev,this._last.next=ee.Undefined):S.prev===ee.Undefined&&(this._first=this._first.next,this._first.prev=ee.Undefined);this._size-=1}*[Symbol.iterator](){let S=this._first;for(;S!==ee.Undefined;)yield S.element,S=S.next}}},23345:function($t,Qe,ae){"use strict";ae.d(Qe,{$L:function(){return p},ED:function(){return h},IJ:function(){return r},OS:function(){return R},WE:function(){return b},dz:function(){return g},gn:function(){return E},li:function(){return o},r:function(){return B},tY:function(){return a},xS:function(){return w}});var ee=ae(97671),te;const X="en";let S=!1,K=!1,y=!1,L=!1,A=!1,s=!1,x=!1,c,l=null,f=null,n;const o=typeof self=="object"?self:typeof ae.g=="object"?ae.g:{};let d;typeof o.vscode!="undefined"&&typeof o.vscode.process!="undefined"?d=o.vscode.process:typeof ee!="undefined"&&(d=ee);const m=typeof((te=d==null?void 0:d.versions)===null||te===void 0?void 0:te.electron)=="string"&&d.type==="renderer";if(typeof navigator=="object"&&!m)n=navigator.userAgent,S=n.indexOf("Windows")>=0,K=n.indexOf("Macintosh")>=0,x=(n.indexOf("Macintosh")>=0||n.indexOf("iPad")>=0||n.indexOf("iPhone")>=0)&&!!navigator.maxTouchPoints&&navigator.maxTouchPoints>0,y=n.indexOf("Linux")>=0,s=!0,c=navigator.language,l=c;else if(typeof d=="object"){S=d.platform==="win32",K=d.platform==="darwin",y=d.platform==="linux",L=y&&!!d.env.SNAP&&!!d.env.SNAP_REVISION,c=X,l=X;const P=d.env.VSCODE_NLS_CONFIG;if(P)try{const F=JSON.parse(P),k=F.availableLanguages["*"];c=F.locale,l=k||X,f=F._translationsConfigFile}catch(F){}A=!0}else console.error("Unable to resolve platform.");let _=0;K?_=1:S?_=3:y&&(_=2);const h=S,g=K,r=y,a=A,p=s,E=x,b=n,w=function(){if(o.setImmediate)return o.setImmediate.bind(o);if(typeof o.postMessage=="function"&&!o.importScripts){let k=[];o.addEventListener("message",G=>{if(G.data&&G.data.vscodeSetImmediateId)for(let C=0,I=k.length;C<I;C++){const H=k[C];if(H.id===G.data.vscodeSetImmediateId){k.splice(C,1),H.callback();return}}});let U=0;return G=>{const C=++U;k.push({id:C,callback:G}),o.postMessage({vscodeSetImmediateId:C},"*")}}if(typeof(d==null?void 0:d.nextTick)=="function")return d.nextTick.bind(d);const F=Promise.resolve();return k=>F.then(k)}(),R=K||x?2:S?1:3;let O=!0,z=!1;function B(){if(!z){z=!0;const P=new Uint8Array(2);P[0]=1,P[1]=2,O=new Uint16Array(P.buffer)[0]===513}return O}},95830:function($t,Qe,ae){"use strict";ae.d(Qe,{G:function(){return X}});var ee=ae(23345);const te=ee.li.performance&&typeof ee.li.performance.now=="function";class X{constructor(K){this._highResolution=te&&K,this._startTime=this._now(),this._stopTime=-1}static create(K=!0){return new X(K)}stop(){this._stopTime=this._now()}elapsed(){return this._stopTime!==-1?this._stopTime-this._startTime:this._now()-this._startTime}_now(){return this._highResolution?ee.li.performance.now():Date.now()}}},82983:function($t,Qe,ae){"use strict";ae.d(Qe,{$i:function(){return q},C8:function(){return Le},GF:function(){return c},HO:function(){return U},IO:function(){return l},K7:function(){return Ee},Kw:function(){return Te},LC:function(){return o},Mh:function(){return w},P1:function(){return R},PJ:function(){return We},Qe:function(){return se},R1:function(){return x},RP:function(){return H},S6:function(){return Ce},TT:function(){return h},Ut:function(){return C},V8:function(){return d},WU:function(){return X},YK:function(){return z},YU:function(){return S},ZG:function(){return O},ZH:function(){return P},ab:function(){return ue},c1:function(){return Fe},df:function(){return p},ec:function(){return K},fi:function(){return De},fy:function(){return y},j3:function(){return L},j_:function(){return r},m5:function(){return ee},mK:function(){return a},mr:function(){return f},oH:function(){return ve},oL:function(){return A},ok:function(){return b},ow:function(){return m},qq:function(){return E},qu:function(){return _},rL:function(){return B},uS:function(){return Ke},un:function(){return s},uq:function(){return n},vH:function(){return k},xe:function(){return me},zY:function(){return g}});function ee(oe){return!oe||typeof oe!="string"?!0:oe.trim().length===0}const te=/{(\d+)}/g;function X(oe,...ne){return ne.length===0?oe:oe.replace(te,function(ce,ye){const he=parseInt(ye,10);return isNaN(he)||he<0||he>=ne.length?ce:ne[he]})}function S(oe){return oe.replace(/[<>&]/g,function(ne){switch(ne){case"<":return"&lt;";case">":return"&gt;";case"&":return"&amp;";default:return ne}})}function K(oe){return oe.replace(/[\\\{\}\*\+\?\|\^\$\.\[\]\(\)]/g,"\\$&")}function y(oe,ne=" "){const ce=L(oe,ne);return A(ce,ne)}function L(oe,ne){if(!oe||!ne)return oe;const ce=ne.length;if(ce===0||oe.length===0)return oe;let ye=0;for(;oe.indexOf(ne,ye)===ye;)ye=ye+ce;return oe.substring(ye)}function A(oe,ne){if(!oe||!ne)return oe;const ce=ne.length,ye=oe.length;if(ce===0||ye===0)return oe;let he=ye,xe=-1;for(;xe=oe.lastIndexOf(ne,he-1),!(xe===-1||xe+ce!==he);){if(xe===0)return"";he=xe}return oe.substring(0,he)}function s(oe){return oe.replace(/[\-\\\{\}\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&").replace(/[\*]/g,".*")}function x(oe){return oe.replace(/\*/g,"")}function c(oe,ne,ce={}){if(!oe)throw new Error("Cannot create regex from empty string");ne||(oe=K(oe)),ce.wholeWord&&(/\B/.test(oe.charAt(0))||(oe="\\b"+oe),/\B/.test(oe.charAt(oe.length-1))||(oe=oe+"\\b"));let ye="";return ce.global&&(ye+="g"),ce.matchCase||(ye+="i"),ce.multiline&&(ye+="m"),ce.unicode&&(ye+="u"),new RegExp(oe,ye)}function l(oe){return oe.source==="^"||oe.source==="^$"||oe.source==="$"||oe.source==="^\\s*$"?!1:!!(oe.exec("")&&oe.lastIndex===0)}function f(oe){return(oe.global?"g":"")+(oe.ignoreCase?"i":"")+(oe.multiline?"m":"")+(oe.unicode?"u":"")}function n(oe){return oe.split(/\r\n|\r|\n/)}function o(oe){for(let ne=0,ce=oe.length;ne<ce;ne++){const ye=oe.charCodeAt(ne);if(ye!==32&&ye!==9)return ne}return-1}function d(oe,ne=0,ce=oe.length){for(let ye=ne;ye<ce;ye++){const he=oe.charCodeAt(ye);if(he!==32&&he!==9)return oe.substring(ne,ye)}return oe.substring(ne,ce)}function m(oe,ne=oe.length-1){for(let ce=ne;ce>=0;ce--){const ye=oe.charCodeAt(ce);if(ye!==32&&ye!==9)return ce}return-1}function _(oe,ne){return oe<ne?-1:oe>ne?1:0}function h(oe,ne,ce=0,ye=oe.length,he=0,xe=ne.length){for(;ce<ye&&he<xe;ce++,he++){let je=oe.charCodeAt(ce),et=ne.charCodeAt(he);if(je<et)return-1;if(je>et)return 1}const Ne=ye-ce,Be=xe-he;return Ne<Be?-1:Ne>Be?1:0}function g(oe,ne){return r(oe,ne,0,oe.length,0,ne.length)}function r(oe,ne,ce=0,ye=oe.length,he=0,xe=ne.length){for(;ce<ye&&he<xe;ce++,he++){let je=oe.charCodeAt(ce),et=ne.charCodeAt(he);if(je===et)continue;if(je>=128||et>=128)return h(oe.toLowerCase(),ne.toLowerCase(),ce,ye,he,xe);a(je)&&(je-=32),a(et)&&(et-=32);const ft=je-et;if(ft!==0)return ft}const Ne=ye-ce,Be=xe-he;return Ne<Be?-1:Ne>Be?1:0}function a(oe){return oe>=97&&oe<=122}function p(oe){return oe>=65&&oe<=90}function E(oe,ne){return oe.length===ne.length&&r(oe,ne)===0}function b(oe,ne){const ce=ne.length;return ne.length>oe.length?!1:r(oe,ne,0,ce)===0}function w(oe,ne){let ce,ye=Math.min(oe.length,ne.length);for(ce=0;ce<ye;ce++)if(oe.charCodeAt(ce)!==ne.charCodeAt(ce))return ce;return ye}function R(oe,ne){let ce,ye=Math.min(oe.length,ne.length);const he=oe.length-1,xe=ne.length-1;for(ce=0;ce<ye;ce++)if(oe.charCodeAt(he-ce)!==ne.charCodeAt(xe-ce))return ce;return ye}function O(oe){return 55296<=oe&&oe<=56319}function z(oe){return 56320<=oe&&oe<=57343}function B(oe,ne){return(oe-55296<<10)+(ne-56320)+65536}function P(oe,ne,ce){const ye=oe.charCodeAt(ce);if(O(ye)&&ce+1<ne){const he=oe.charCodeAt(ce+1);if(z(he))return B(ye,he)}return ye}function F(oe,ne){const ce=oe.charCodeAt(ne-1);if(z(ce)&&ne>1){const ye=oe.charCodeAt(ne-2);if(O(ye))return B(ye,ce)}return ce}function k(oe,ne){const ce=ge.getInstance(),ye=ne,he=oe.length,xe=P(oe,he,ne);ne+=xe>=65536?2:1;let Ne=ce.getGraphemeBreakType(xe);for(;ne<he;){const Be=P(oe,he,ne),je=ce.getGraphemeBreakType(Be);if(De(Ne,je))break;ne+=Be>=65536?2:1,Ne=je}return ne-ye}function U(oe,ne){const ce=ge.getInstance(),ye=ne,he=F(oe,ne);ne-=he>=65536?2:1;let xe=ce.getGraphemeBreakType(he);for(;ne>0;){const Ne=F(oe,ne),Be=ce.getGraphemeBreakType(Ne);if(De(Be,xe))break;ne-=Ne>=65536?2:1,xe=Be}return ye-ne}const G=/(?:[\u05BE\u05C0\u05C3\u05C6\u05D0-\u05F4\u0608\u060B\u060D\u061B-\u064A\u066D-\u066F\u0671-\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u0710\u0712-\u072F\u074D-\u07A5\u07B1-\u07EA\u07F4\u07F5\u07FA-\u0815\u081A\u0824\u0828\u0830-\u0858\u085E-\u08BD\u200F\uFB1D\uFB1F-\uFB28\uFB2A-\uFD3D\uFD50-\uFDFC\uFE70-\uFEFC]|\uD802[\uDC00-\uDD1B\uDD20-\uDE00\uDE10-\uDE33\uDE40-\uDEE4\uDEEB-\uDF35\uDF40-\uDFFF]|\uD803[\uDC00-\uDCFF]|\uD83A[\uDC00-\uDCCF\uDD00-\uDD43\uDD50-\uDFFF]|\uD83B[\uDC00-\uDEBB])/;function C(oe){return G.test(oe)}const I=/(?:[\u231A\u231B\u23F0\u23F3\u2600-\u27BF\u2B50\u2B55]|\uD83C[\uDDE6-\uDDFF\uDF00-\uDFFF]|\uD83D[\uDC00-\uDE4F\uDE80-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD00-\uDDFF\uDE70-\uDED6])/;function H(oe){return I.test(oe)}const $=/^[\t\n\r\x20-\x7E]*$/;function q(oe){return $.test(oe)}const se=/[\u2028\u2029]/;function ue(oe){return se.test(oe)}function me(oe){for(let ne=0,ce=oe.length;ne<ce;ne++)if(Ee(oe.charCodeAt(ne)))return!0;return!1}function Ee(oe){return oe=+oe,oe>=11904&&oe<=55215||oe>=63744&&oe<=64255||oe>=65281&&oe<=65374}function Le(oe){return oe>=127462&&oe<=127487||oe===8986||oe===8987||oe===9200||oe===9203||oe>=9728&&oe<=10175||oe===11088||oe===11093||oe>=127744&&oe<=128591||oe>=128640&&oe<=128764||oe>=128992&&oe<=129003||oe>=129280&&oe<=129535||oe>=129648&&oe<=129750}const Fe="\uFEFF";function Ke(oe){return!!(oe&&oe.length>0&&oe.charCodeAt(0)===65279)}function Te(oe,ne=!1){return oe?(ne&&(oe=oe.replace(/\\./g,"")),oe.toLowerCase()!==oe):!1}function We(oe){return oe=oe%(2*26),oe<26?String.fromCharCode(97+oe):String.fromCharCode(65+oe-26)}function Ce(oe){return ge.getInstance().getGraphemeBreakType(oe)}function De(oe,ne){return oe===0?ne!==5&&ne!==7:oe===2&&ne===3?!1:oe===4||oe===2||oe===3||ne===4||ne===2||ne===3?!0:!(oe===8&&(ne===8||ne===9||ne===11||ne===12)||(oe===11||oe===9)&&(ne===9||ne===10)||(oe===12||oe===10)&&ne===10||ne===5||ne===13||ne===7||oe===1||oe===13&&ne===14||oe===6&&ne===6)}class ge{constructor(){this._data=Re()}static getInstance(){return ge._INSTANCE||(ge._INSTANCE=new ge),ge._INSTANCE}getGraphemeBreakType(ne){if(ne<32)return ne===10?3:ne===13?2:4;if(ne<127)return 0;const ce=this._data,ye=ce.length/3;let he=1;for(;he<=ye;)if(ne<ce[3*he])he=2*he;else if(ne>ce[3*he+1])he=2*he+1;else return ce[3*he+2];return 0}}ge._INSTANCE=null;function Re(){return JSON.parse("[0,0,0,51592,51592,11,44424,44424,11,72251,72254,5,7150,7150,7,48008,48008,11,55176,55176,11,128420,128420,14,3276,3277,5,9979,9980,14,46216,46216,11,49800,49800,11,53384,53384,11,70726,70726,5,122915,122916,5,129320,129327,14,2558,2558,5,5906,5908,5,9762,9763,14,43360,43388,8,45320,45320,11,47112,47112,11,48904,48904,11,50696,50696,11,52488,52488,11,54280,54280,11,70082,70083,1,71350,71350,7,73111,73111,5,127892,127893,14,128726,128727,14,129473,129474,14,2027,2035,5,2901,2902,5,3784,3789,5,6754,6754,5,8418,8420,5,9877,9877,14,11088,11088,14,44008,44008,5,44872,44872,11,45768,45768,11,46664,46664,11,47560,47560,11,48456,48456,11,49352,49352,11,50248,50248,11,51144,51144,11,52040,52040,11,52936,52936,11,53832,53832,11,54728,54728,11,69811,69814,5,70459,70460,5,71096,71099,7,71998,71998,5,72874,72880,5,119149,119149,7,127374,127374,14,128335,128335,14,128482,128482,14,128765,128767,14,129399,129400,14,129680,129685,14,1476,1477,5,2377,2380,7,2759,2760,5,3137,3140,7,3458,3459,7,4153,4154,5,6432,6434,5,6978,6978,5,7675,7679,5,9723,9726,14,9823,9823,14,9919,9923,14,10035,10036,14,42736,42737,5,43596,43596,5,44200,44200,11,44648,44648,11,45096,45096,11,45544,45544,11,45992,45992,11,46440,46440,11,46888,46888,11,47336,47336,11,47784,47784,11,48232,48232,11,48680,48680,11,49128,49128,11,49576,49576,11,50024,50024,11,50472,50472,11,50920,50920,11,51368,51368,11,51816,51816,11,52264,52264,11,52712,52712,11,53160,53160,11,53608,53608,11,54056,54056,11,54504,54504,11,54952,54952,11,68108,68111,5,69933,69940,5,70197,70197,7,70498,70499,7,70845,70845,5,71229,71229,5,71727,71735,5,72154,72155,5,72344,72345,5,73023,73029,5,94095,94098,5,121403,121452,5,126981,127182,14,127538,127546,14,127990,127990,14,128391,128391,14,128445,128449,14,128500,128505,14,128752,128752,14,129160,129167,14,129356,129356,14,129432,129442,14,129648,129651,14,129751,131069,14,173,173,4,1757,1757,1,2274,2274,1,2494,2494,5,2641,2641,5,2876,2876,5,3014,3016,7,3262,3262,7,3393,3396,5,3570,3571,7,3968,3972,5,4228,4228,7,6086,6086,5,6679,6680,5,6912,6915,5,7080,7081,5,7380,7392,5,8252,8252,14,9096,9096,14,9748,9749,14,9784,9786,14,9833,9850,14,9890,9894,14,9938,9938,14,9999,9999,14,10085,10087,14,12349,12349,14,43136,43137,7,43454,43456,7,43755,43755,7,44088,44088,11,44312,44312,11,44536,44536,11,44760,44760,11,44984,44984,11,45208,45208,11,45432,45432,11,45656,45656,11,45880,45880,11,46104,46104,11,46328,46328,11,46552,46552,11,46776,46776,11,47000,47000,11,47224,47224,11,47448,47448,11,47672,47672,11,47896,47896,11,48120,48120,11,48344,48344,11,48568,48568,11,48792,48792,11,49016,49016,11,49240,49240,11,49464,49464,11,49688,49688,11,49912,49912,11,50136,50136,11,50360,50360,11,50584,50584,11,50808,50808,11,51032,51032,11,51256,51256,11,51480,51480,11,51704,51704,11,51928,51928,11,52152,52152,11,52376,52376,11,52600,52600,11,52824,52824,11,53048,53048,11,53272,53272,11,53496,53496,11,53720,53720,11,53944,53944,11,54168,54168,11,54392,54392,11,54616,54616,11,54840,54840,11,55064,55064,11,65438,65439,5,69633,69633,5,69837,69837,1,70018,70018,7,70188,70190,7,70368,70370,7,70465,70468,7,70712,70719,5,70835,70840,5,70850,70851,5,71132,71133,5,71340,71340,7,71458,71461,5,71985,71989,7,72002,72002,7,72193,72202,5,72281,72283,5,72766,72766,7,72885,72886,5,73104,73105,5,92912,92916,5,113824,113827,4,119173,119179,5,121505,121519,5,125136,125142,5,127279,127279,14,127489,127490,14,127570,127743,14,127900,127901,14,128254,128254,14,128369,128370,14,128400,128400,14,128425,128432,14,128468,128475,14,128489,128494,14,128715,128720,14,128745,128745,14,128759,128760,14,129004,129023,14,129296,129304,14,129340,129342,14,129388,129392,14,129404,129407,14,129454,129455,14,129485,129487,14,129659,129663,14,129719,129727,14,917536,917631,5,13,13,2,1160,1161,5,1564,1564,4,1807,1807,1,2085,2087,5,2363,2363,7,2402,2403,5,2507,2508,7,2622,2624,7,2691,2691,7,2786,2787,5,2881,2884,5,3006,3006,5,3072,3072,5,3170,3171,5,3267,3268,7,3330,3331,7,3406,3406,1,3538,3540,5,3655,3662,5,3897,3897,5,4038,4038,5,4184,4185,5,4352,4447,8,6068,6069,5,6155,6157,5,6448,6449,7,6742,6742,5,6783,6783,5,6966,6970,5,7042,7042,7,7143,7143,7,7212,7219,5,7412,7412,5,8206,8207,4,8294,8303,4,8596,8601,14,9410,9410,14,9742,9742,14,9757,9757,14,9770,9770,14,9794,9794,14,9828,9828,14,9855,9855,14,9882,9882,14,9900,9903,14,9929,9933,14,9963,9967,14,9987,9988,14,10006,10006,14,10062,10062,14,10175,10175,14,11744,11775,5,42607,42607,5,43043,43044,7,43263,43263,5,43444,43445,7,43569,43570,5,43698,43700,5,43766,43766,5,44032,44032,11,44144,44144,11,44256,44256,11,44368,44368,11,44480,44480,11,44592,44592,11,44704,44704,11,44816,44816,11,44928,44928,11,45040,45040,11,45152,45152,11,45264,45264,11,45376,45376,11,45488,45488,11,45600,45600,11,45712,45712,11,45824,45824,11,45936,45936,11,46048,46048,11,46160,46160,11,46272,46272,11,46384,46384,11,46496,46496,11,46608,46608,11,46720,46720,11,46832,46832,11,46944,46944,11,47056,47056,11,47168,47168,11,47280,47280,11,47392,47392,11,47504,47504,11,47616,47616,11,47728,47728,11,47840,47840,11,47952,47952,11,48064,48064,11,48176,48176,11,48288,48288,11,48400,48400,11,48512,48512,11,48624,48624,11,48736,48736,11,48848,48848,11,48960,48960,11,49072,49072,11,49184,49184,11,49296,49296,11,49408,49408,11,49520,49520,11,49632,49632,11,49744,49744,11,49856,49856,11,49968,49968,11,50080,50080,11,50192,50192,11,50304,50304,11,50416,50416,11,50528,50528,11,50640,50640,11,50752,50752,11,50864,50864,11,50976,50976,11,51088,51088,11,51200,51200,11,51312,51312,11,51424,51424,11,51536,51536,11,51648,51648,11,51760,51760,11,51872,51872,11,51984,51984,11,52096,52096,11,52208,52208,11,52320,52320,11,52432,52432,11,52544,52544,11,52656,52656,11,52768,52768,11,52880,52880,11,52992,52992,11,53104,53104,11,53216,53216,11,53328,53328,11,53440,53440,11,53552,53552,11,53664,53664,11,53776,53776,11,53888,53888,11,54000,54000,11,54112,54112,11,54224,54224,11,54336,54336,11,54448,54448,11,54560,54560,11,54672,54672,11,54784,54784,11,54896,54896,11,55008,55008,11,55120,55120,11,64286,64286,5,66272,66272,5,68900,68903,5,69762,69762,7,69817,69818,5,69927,69931,5,70003,70003,5,70070,70078,5,70094,70094,7,70194,70195,7,70206,70206,5,70400,70401,5,70463,70463,7,70475,70477,7,70512,70516,5,70722,70724,5,70832,70832,5,70842,70842,5,70847,70848,5,71088,71089,7,71102,71102,7,71219,71226,5,71231,71232,5,71342,71343,7,71453,71455,5,71463,71467,5,71737,71738,5,71995,71996,5,72000,72000,7,72145,72147,7,72160,72160,5,72249,72249,7,72273,72278,5,72330,72342,5,72752,72758,5,72850,72871,5,72882,72883,5,73018,73018,5,73031,73031,5,73109,73109,5,73461,73462,7,94031,94031,5,94192,94193,7,119142,119142,7,119155,119162,4,119362,119364,5,121476,121476,5,122888,122904,5,123184,123190,5,126976,126979,14,127184,127231,14,127344,127345,14,127405,127461,14,127514,127514,14,127561,127567,14,127778,127779,14,127896,127896,14,127985,127986,14,127995,127999,5,128326,128328,14,128360,128366,14,128378,128378,14,128394,128397,14,128405,128406,14,128422,128423,14,128435,128443,14,128453,128464,14,128479,128480,14,128484,128487,14,128496,128498,14,128640,128709,14,128723,128724,14,128736,128741,14,128747,128748,14,128755,128755,14,128762,128762,14,128981,128991,14,129096,129103,14,129292,129292,14,129311,129311,14,129329,129330,14,129344,129349,14,129360,129374,14,129394,129394,14,129402,129402,14,129413,129425,14,129445,129450,14,129466,129471,14,129483,129483,14,129511,129535,14,129653,129655,14,129667,129670,14,129705,129711,14,129731,129743,14,917505,917505,4,917760,917999,5,10,10,3,127,159,4,768,879,5,1471,1471,5,1536,1541,1,1648,1648,5,1767,1768,5,1840,1866,5,2070,2073,5,2137,2139,5,2307,2307,7,2366,2368,7,2382,2383,7,2434,2435,7,2497,2500,5,2519,2519,5,2563,2563,7,2631,2632,5,2677,2677,5,2750,2752,7,2763,2764,7,2817,2817,5,2879,2879,5,2891,2892,7,2914,2915,5,3008,3008,5,3021,3021,5,3076,3076,5,3146,3149,5,3202,3203,7,3264,3265,7,3271,3272,7,3298,3299,5,3390,3390,5,3402,3404,7,3426,3427,5,3535,3535,5,3544,3550,7,3635,3635,7,3763,3763,7,3893,3893,5,3953,3966,5,3981,3991,5,4145,4145,7,4157,4158,5,4209,4212,5,4237,4237,5,4520,4607,10,5970,5971,5,6071,6077,5,6089,6099,5,6277,6278,5,6439,6440,5,6451,6456,7,6683,6683,5,6744,6750,5,6765,6770,7,6846,6846,5,6964,6964,5,6972,6972,5,7019,7027,5,7074,7077,5,7083,7085,5,7146,7148,7,7154,7155,7,7222,7223,5,7394,7400,5,7416,7417,5,8204,8204,5,8233,8233,4,8288,8292,4,8413,8416,5,8482,8482,14,8986,8987,14,9193,9203,14,9654,9654,14,9733,9733,14,9745,9745,14,9752,9752,14,9760,9760,14,9766,9766,14,9774,9775,14,9792,9792,14,9800,9811,14,9825,9826,14,9831,9831,14,9852,9853,14,9872,9873,14,9880,9880,14,9885,9887,14,9896,9897,14,9906,9916,14,9926,9927,14,9936,9936,14,9941,9960,14,9974,9974,14,9982,9985,14,9992,9997,14,10002,10002,14,10017,10017,14,10055,10055,14,10071,10071,14,10145,10145,14,11013,11015,14,11503,11505,5,12334,12335,5,12951,12951,14,42612,42621,5,43014,43014,5,43047,43047,7,43204,43205,5,43335,43345,5,43395,43395,7,43450,43451,7,43561,43566,5,43573,43574,5,43644,43644,5,43710,43711,5,43758,43759,7,44005,44005,5,44012,44012,7,44060,44060,11,44116,44116,11,44172,44172,11,44228,44228,11,44284,44284,11,44340,44340,11,44396,44396,11,44452,44452,11,44508,44508,11,44564,44564,11,44620,44620,11,44676,44676,11,44732,44732,11,44788,44788,11,44844,44844,11,44900,44900,11,44956,44956,11,45012,45012,11,45068,45068,11,45124,45124,11,45180,45180,11,45236,45236,11,45292,45292,11,45348,45348,11,45404,45404,11,45460,45460,11,45516,45516,11,45572,45572,11,45628,45628,11,45684,45684,11,45740,45740,11,45796,45796,11,45852,45852,11,45908,45908,11,45964,45964,11,46020,46020,11,46076,46076,11,46132,46132,11,46188,46188,11,46244,46244,11,46300,46300,11,46356,46356,11,46412,46412,11,46468,46468,11,46524,46524,11,46580,46580,11,46636,46636,11,46692,46692,11,46748,46748,11,46804,46804,11,46860,46860,11,46916,46916,11,46972,46972,11,47028,47028,11,47084,47084,11,47140,47140,11,47196,47196,11,47252,47252,11,47308,47308,11,47364,47364,11,47420,47420,11,47476,47476,11,47532,47532,11,47588,47588,11,47644,47644,11,47700,47700,11,47756,47756,11,47812,47812,11,47868,47868,11,47924,47924,11,47980,47980,11,48036,48036,11,48092,48092,11,48148,48148,11,48204,48204,11,48260,48260,11,48316,48316,11,48372,48372,11,48428,48428,11,48484,48484,11,48540,48540,11,48596,48596,11,48652,48652,11,48708,48708,11,48764,48764,11,48820,48820,11,48876,48876,11,48932,48932,11,48988,48988,11,49044,49044,11,49100,49100,11,49156,49156,11,49212,49212,11,49268,49268,11,49324,49324,11,49380,49380,11,49436,49436,11,49492,49492,11,49548,49548,11,49604,49604,11,49660,49660,11,49716,49716,11,49772,49772,11,49828,49828,11,49884,49884,11,49940,49940,11,49996,49996,11,50052,50052,11,50108,50108,11,50164,50164,11,50220,50220,11,50276,50276,11,50332,50332,11,50388,50388,11,50444,50444,11,50500,50500,11,50556,50556,11,50612,50612,11,50668,50668,11,50724,50724,11,50780,50780,11,50836,50836,11,50892,50892,11,50948,50948,11,51004,51004,11,51060,51060,11,51116,51116,11,51172,51172,11,51228,51228,11,51284,51284,11,51340,51340,11,51396,51396,11,51452,51452,11,51508,51508,11,51564,51564,11,51620,51620,11,51676,51676,11,51732,51732,11,51788,51788,11,51844,51844,11,51900,51900,11,51956,51956,11,52012,52012,11,52068,52068,11,52124,52124,11,52180,52180,11,52236,52236,11,52292,52292,11,52348,52348,11,52404,52404,11,52460,52460,11,52516,52516,11,52572,52572,11,52628,52628,11,52684,52684,11,52740,52740,11,52796,52796,11,52852,52852,11,52908,52908,11,52964,52964,11,53020,53020,11,53076,53076,11,53132,53132,11,53188,53188,11,53244,53244,11,53300,53300,11,53356,53356,11,53412,53412,11,53468,53468,11,53524,53524,11,53580,53580,11,53636,53636,11,53692,53692,11,53748,53748,11,53804,53804,11,53860,53860,11,53916,53916,11,53972,53972,11,54028,54028,11,54084,54084,11,54140,54140,11,54196,54196,11,54252,54252,11,54308,54308,11,54364,54364,11,54420,54420,11,54476,54476,11,54532,54532,11,54588,54588,11,54644,54644,11,54700,54700,11,54756,54756,11,54812,54812,11,54868,54868,11,54924,54924,11,54980,54980,11,55036,55036,11,55092,55092,11,55148,55148,11,55216,55238,9,65056,65071,5,65529,65531,4,68097,68099,5,68159,68159,5,69446,69456,5,69688,69702,5,69808,69810,7,69815,69816,7,69821,69821,1,69888,69890,5,69932,69932,7,69957,69958,7,70016,70017,5,70067,70069,7,70079,70080,7,70089,70092,5,70095,70095,5,70191,70193,5,70196,70196,5,70198,70199,5,70367,70367,5,70371,70378,5,70402,70403,7,70462,70462,5,70464,70464,5,70471,70472,7,70487,70487,5,70502,70508,5,70709,70711,7,70720,70721,7,70725,70725,7,70750,70750,5,70833,70834,7,70841,70841,7,70843,70844,7,70846,70846,7,70849,70849,7,71087,71087,5,71090,71093,5,71100,71101,5,71103,71104,5,71216,71218,7,71227,71228,7,71230,71230,7,71339,71339,5,71341,71341,5,71344,71349,5,71351,71351,5,71456,71457,7,71462,71462,7,71724,71726,7,71736,71736,7,71984,71984,5,71991,71992,7,71997,71997,7,71999,71999,1,72001,72001,1,72003,72003,5,72148,72151,5,72156,72159,7,72164,72164,7,72243,72248,5,72250,72250,1,72263,72263,5,72279,72280,7,72324,72329,1,72343,72343,7,72751,72751,7,72760,72765,5,72767,72767,5,72873,72873,7,72881,72881,7,72884,72884,7,73009,73014,5,73020,73021,5,73030,73030,1,73098,73102,7,73107,73108,7,73110,73110,7,73459,73460,5,78896,78904,4,92976,92982,5,94033,94087,7,94180,94180,5,113821,113822,5,119141,119141,5,119143,119145,5,119150,119154,5,119163,119170,5,119210,119213,5,121344,121398,5,121461,121461,5,121499,121503,5,122880,122886,5,122907,122913,5,122918,122922,5,123628,123631,5,125252,125258,5,126980,126980,14,127183,127183,14,127245,127247,14,127340,127343,14,127358,127359,14,127377,127386,14,127462,127487,6,127491,127503,14,127535,127535,14,127548,127551,14,127568,127569,14,127744,127777,14,127780,127891,14,127894,127895,14,127897,127899,14,127902,127984,14,127987,127989,14,127991,127994,14,128000,128253,14,128255,128317,14,128329,128334,14,128336,128359,14,128367,128368,14,128371,128377,14,128379,128390,14,128392,128393,14,128398,128399,14,128401,128404,14,128407,128419,14,128421,128421,14,128424,128424,14,128433,128434,14,128444,128444,14,128450,128452,14,128465,128467,14,128476,128478,14,128481,128481,14,128483,128483,14,128488,128488,14,128495,128495,14,128499,128499,14,128506,128591,14,128710,128714,14,128721,128722,14,128725,128725,14,128728,128735,14,128742,128744,14,128746,128746,14,128749,128751,14,128753,128754,14,128756,128758,14,128761,128761,14,128763,128764,14,128884,128895,14,128992,129003,14,129036,129039,14,129114,129119,14,129198,129279,14,129293,129295,14,129305,129310,14,129312,129319,14,129328,129328,14,129331,129338,14,129343,129343,14,129351,129355,14,129357,129359,14,129375,129387,14,129393,129393,14,129395,129398,14,129401,129401,14,129403,129403,14,129408,129412,14,129426,129431,14,129443,129444,14,129451,129453,14,129456,129465,14,129472,129472,14,129475,129482,14,129484,129484,14,129488,129510,14,129536,129647,14,129652,129652,14,129656,129658,14,129664,129666,14,129671,129679,14,129686,129704,14,129712,129718,14,129728,129730,14,129744,129750,14,917504,917504,4,917506,917535,4,917632,917759,4,918000,921599,4,0,9,4,11,12,4,14,31,4,169,169,14,174,174,14,1155,1159,5,1425,1469,5,1473,1474,5,1479,1479,5,1552,1562,5,1611,1631,5,1750,1756,5,1759,1764,5,1770,1773,5,1809,1809,5,1958,1968,5,2045,2045,5,2075,2083,5,2089,2093,5,2259,2273,5,2275,2306,5,2362,2362,5,2364,2364,5,2369,2376,5,2381,2381,5,2385,2391,5,2433,2433,5,2492,2492,5,2495,2496,7,2503,2504,7,2509,2509,5,2530,2531,5,2561,2562,5,2620,2620,5,2625,2626,5,2635,2637,5,2672,2673,5,2689,2690,5,2748,2748,5,2753,2757,5,2761,2761,7,2765,2765,5,2810,2815,5,2818,2819,7,2878,2878,5,2880,2880,7,2887,2888,7,2893,2893,5,2903,2903,5,2946,2946,5,3007,3007,7,3009,3010,7,3018,3020,7,3031,3031,5,3073,3075,7,3134,3136,5,3142,3144,5,3157,3158,5,3201,3201,5,3260,3260,5,3263,3263,5,3266,3266,5,3270,3270,5,3274,3275,7,3285,3286,5,3328,3329,5,3387,3388,5,3391,3392,7,3398,3400,7,3405,3405,5,3415,3415,5,3457,3457,5,3530,3530,5,3536,3537,7,3542,3542,5,3551,3551,5,3633,3633,5,3636,3642,5,3761,3761,5,3764,3772,5,3864,3865,5,3895,3895,5,3902,3903,7,3967,3967,7,3974,3975,5,3993,4028,5,4141,4144,5,4146,4151,5,4155,4156,7,4182,4183,7,4190,4192,5,4226,4226,5,4229,4230,5,4253,4253,5,4448,4519,9,4957,4959,5,5938,5940,5,6002,6003,5,6070,6070,7,6078,6085,7,6087,6088,7,6109,6109,5,6158,6158,4,6313,6313,5,6435,6438,7,6441,6443,7,6450,6450,5,6457,6459,5,6681,6682,7,6741,6741,7,6743,6743,7,6752,6752,5,6757,6764,5,6771,6780,5,6832,6845,5,6847,6848,5,6916,6916,7,6965,6965,5,6971,6971,7,6973,6977,7,6979,6980,7,7040,7041,5,7073,7073,7,7078,7079,7,7082,7082,7,7142,7142,5,7144,7145,5,7149,7149,5,7151,7153,5,7204,7211,7,7220,7221,7,7376,7378,5,7393,7393,7,7405,7405,5,7415,7415,7,7616,7673,5,8203,8203,4,8205,8205,13,8232,8232,4,8234,8238,4,8265,8265,14,8293,8293,4,8400,8412,5,8417,8417,5,8421,8432,5,8505,8505,14,8617,8618,14,9000,9000,14,9167,9167,14,9208,9210,14,9642,9643,14,9664,9664,14,9728,9732,14,9735,9741,14,9743,9744,14,9746,9746,14,9750,9751,14,9753,9756,14,9758,9759,14,9761,9761,14,9764,9765,14,9767,9769,14,9771,9773,14,9776,9783,14,9787,9791,14,9793,9793,14,9795,9799,14,9812,9822,14,9824,9824,14,9827,9827,14,9829,9830,14,9832,9832,14,9851,9851,14,9854,9854,14,9856,9861,14,9874,9876,14,9878,9879,14,9881,9881,14,9883,9884,14,9888,9889,14,9895,9895,14,9898,9899,14,9904,9905,14,9917,9918,14,9924,9925,14,9928,9928,14,9934,9935,14,9937,9937,14,9939,9940,14,9961,9962,14,9968,9973,14,9975,9978,14,9981,9981,14,9986,9986,14,9989,9989,14,9998,9998,14,10000,10001,14,10004,10004,14,10013,10013,14,10024,10024,14,10052,10052,14,10060,10060,14,10067,10069,14,10083,10084,14,10133,10135,14,10160,10160,14,10548,10549,14,11035,11036,14,11093,11093,14,11647,11647,5,12330,12333,5,12336,12336,14,12441,12442,5,12953,12953,14,42608,42610,5,42654,42655,5,43010,43010,5,43019,43019,5,43045,43046,5,43052,43052,5,43188,43203,7,43232,43249,5,43302,43309,5,43346,43347,7,43392,43394,5,43443,43443,5,43446,43449,5,43452,43453,5,43493,43493,5,43567,43568,7,43571,43572,7,43587,43587,5,43597,43597,7,43696,43696,5,43703,43704,5,43713,43713,5,43756,43757,5,43765,43765,7,44003,44004,7,44006,44007,7,44009,44010,7,44013,44013,5,44033,44059,12,44061,44087,12,44089,44115,12,44117,44143,12,44145,44171,12,44173,44199,12,44201,44227,12,44229,44255,12,44257,44283,12,44285,44311,12,44313,44339,12,44341,44367,12,44369,44395,12,44397,44423,12,44425,44451,12,44453,44479,12,44481,44507,12,44509,44535,12,44537,44563,12,44565,44591,12,44593,44619,12,44621,44647,12,44649,44675,12,44677,44703,12,44705,44731,12,44733,44759,12,44761,44787,12,44789,44815,12,44817,44843,12,44845,44871,12,44873,44899,12,44901,44927,12,44929,44955,12,44957,44983,12,44985,45011,12,45013,45039,12,45041,45067,12,45069,45095,12,45097,45123,12,45125,45151,12,45153,45179,12,45181,45207,12,45209,45235,12,45237,45263,12,45265,45291,12,45293,45319,12,45321,45347,12,45349,45375,12,45377,45403,12,45405,45431,12,45433,45459,12,45461,45487,12,45489,45515,12,45517,45543,12,45545,45571,12,45573,45599,12,45601,45627,12,45629,45655,12,45657,45683,12,45685,45711,12,45713,45739,12,45741,45767,12,45769,45795,12,45797,45823,12,45825,45851,12,45853,45879,12,45881,45907,12,45909,45935,12,45937,45963,12,45965,45991,12,45993,46019,12,46021,46047,12,46049,46075,12,46077,46103,12,46105,46131,12,46133,46159,12,46161,46187,12,46189,46215,12,46217,46243,12,46245,46271,12,46273,46299,12,46301,46327,12,46329,46355,12,46357,46383,12,46385,46411,12,46413,46439,12,46441,46467,12,46469,46495,12,46497,46523,12,46525,46551,12,46553,46579,12,46581,46607,12,46609,46635,12,46637,46663,12,46665,46691,12,46693,46719,12,46721,46747,12,46749,46775,12,46777,46803,12,46805,46831,12,46833,46859,12,46861,46887,12,46889,46915,12,46917,46943,12,46945,46971,12,46973,46999,12,47001,47027,12,47029,47055,12,47057,47083,12,47085,47111,12,47113,47139,12,47141,47167,12,47169,47195,12,47197,47223,12,47225,47251,12,47253,47279,12,47281,47307,12,47309,47335,12,47337,47363,12,47365,47391,12,47393,47419,12,47421,47447,12,47449,47475,12,47477,47503,12,47505,47531,12,47533,47559,12,47561,47587,12,47589,47615,12,47617,47643,12,47645,47671,12,47673,47699,12,47701,47727,12,47729,47755,12,47757,47783,12,47785,47811,12,47813,47839,12,47841,47867,12,47869,47895,12,47897,47923,12,47925,47951,12,47953,47979,12,47981,48007,12,48009,48035,12,48037,48063,12,48065,48091,12,48093,48119,12,48121,48147,12,48149,48175,12,48177,48203,12,48205,48231,12,48233,48259,12,48261,48287,12,48289,48315,12,48317,48343,12,48345,48371,12,48373,48399,12,48401,48427,12,48429,48455,12,48457,48483,12,48485,48511,12,48513,48539,12,48541,48567,12,48569,48595,12,48597,48623,12,48625,48651,12,48653,48679,12,48681,48707,12,48709,48735,12,48737,48763,12,48765,48791,12,48793,48819,12,48821,48847,12,48849,48875,12,48877,48903,12,48905,48931,12,48933,48959,12,48961,48987,12,48989,49015,12,49017,49043,12,49045,49071,12,49073,49099,12,49101,49127,12,49129,49155,12,49157,49183,12,49185,49211,12,49213,49239,12,49241,49267,12,49269,49295,12,49297,49323,12,49325,49351,12,49353,49379,12,49381,49407,12,49409,49435,12,49437,49463,12,49465,49491,12,49493,49519,12,49521,49547,12,49549,49575,12,49577,49603,12,49605,49631,12,49633,49659,12,49661,49687,12,49689,49715,12,49717,49743,12,49745,49771,12,49773,49799,12,49801,49827,12,49829,49855,12,49857,49883,12,49885,49911,12,49913,49939,12,49941,49967,12,49969,49995,12,49997,50023,12,50025,50051,12,50053,50079,12,50081,50107,12,50109,50135,12,50137,50163,12,50165,50191,12,50193,50219,12,50221,50247,12,50249,50275,12,50277,50303,12,50305,50331,12,50333,50359,12,50361,50387,12,50389,50415,12,50417,50443,12,50445,50471,12,50473,50499,12,50501,50527,12,50529,50555,12,50557,50583,12,50585,50611,12,50613,50639,12,50641,50667,12,50669,50695,12,50697,50723,12,50725,50751,12,50753,50779,12,50781,50807,12,50809,50835,12,50837,50863,12,50865,50891,12,50893,50919,12,50921,50947,12,50949,50975,12,50977,51003,12,51005,51031,12,51033,51059,12,51061,51087,12,51089,51115,12,51117,51143,12,51145,51171,12,51173,51199,12,51201,51227,12,51229,51255,12,51257,51283,12,51285,51311,12,51313,51339,12,51341,51367,12,51369,51395,12,51397,51423,12,51425,51451,12,51453,51479,12,51481,51507,12,51509,51535,12,51537,51563,12,51565,51591,12,51593,51619,12,51621,51647,12,51649,51675,12,51677,51703,12,51705,51731,12,51733,51759,12,51761,51787,12,51789,51815,12,51817,51843,12,51845,51871,12,51873,51899,12,51901,51927,12,51929,51955,12,51957,51983,12,51985,52011,12,52013,52039,12,52041,52067,12,52069,52095,12,52097,52123,12,52125,52151,12,52153,52179,12,52181,52207,12,52209,52235,12,52237,52263,12,52265,52291,12,52293,52319,12,52321,52347,12,52349,52375,12,52377,52403,12,52405,52431,12,52433,52459,12,52461,52487,12,52489,52515,12,52517,52543,12,52545,52571,12,52573,52599,12,52601,52627,12,52629,52655,12,52657,52683,12,52685,52711,12,52713,52739,12,52741,52767,12,52769,52795,12,52797,52823,12,52825,52851,12,52853,52879,12,52881,52907,12,52909,52935,12,52937,52963,12,52965,52991,12,52993,53019,12,53021,53047,12,53049,53075,12,53077,53103,12,53105,53131,12,53133,53159,12,53161,53187,12,53189,53215,12,53217,53243,12,53245,53271,12,53273,53299,12,53301,53327,12,53329,53355,12,53357,53383,12,53385,53411,12,53413,53439,12,53441,53467,12,53469,53495,12,53497,53523,12,53525,53551,12,53553,53579,12,53581,53607,12,53609,53635,12,53637,53663,12,53665,53691,12,53693,53719,12,53721,53747,12,53749,53775,12,53777,53803,12,53805,53831,12,53833,53859,12,53861,53887,12,53889,53915,12,53917,53943,12,53945,53971,12,53973,53999,12,54001,54027,12,54029,54055,12,54057,54083,12,54085,54111,12,54113,54139,12,54141,54167,12,54169,54195,12,54197,54223,12,54225,54251,12,54253,54279,12,54281,54307,12,54309,54335,12,54337,54363,12,54365,54391,12,54393,54419,12,54421,54447,12,54449,54475,12,54477,54503,12,54505,54531,12,54533,54559,12,54561,54587,12,54589,54615,12,54617,54643,12,54645,54671,12,54673,54699,12,54701,54727,12,54729,54755,12,54757,54783,12,54785,54811,12,54813,54839,12,54841,54867,12,54869,54895,12,54897,54923,12,54925,54951,12,54953,54979,12,54981,55007,12,55009,55035,12,55037,55063,12,55065,55091,12,55093,55119,12,55121,55147,12,55149,55175,12,55177,55203,12,55243,55291,10,65024,65039,5,65279,65279,4,65520,65528,4,66045,66045,5,66422,66426,5,68101,68102,5,68152,68154,5,68325,68326,5,69291,69292,5,69632,69632,7,69634,69634,7,69759,69761,5]")}function ve(oe,ne){if(oe===0)return 0;const ce=we(oe,ne);if(ce!==void 0)return ce;const ye=F(ne,oe);return oe-=Ue(ye),oe}function we(oe,ne){let ce=F(ne,oe);for(oe-=Ue(ce);de(ce)||ce===65039||ce===8419;){if(oe===0)return;ce=F(ne,oe),oe-=Ue(ce)}if(Le(ce)){if(oe>=0){const ye=F(ne,oe);ye===8205&&(oe-=Ue(ye))}return oe}}function Ue(oe){return oe>=65536?2:1}function de(oe){return 127995<=oe&&oe<=127999}},72999:function($t,Qe,ae){"use strict";ae.d(Qe,{$E:function(){return o},$K:function(){return L},D8:function(){return l},HD:function(){return te},IU:function(){return d},Jp:function(){return A},Kn:function(){return X},cW:function(){return x},f6:function(){return m},hj:function(){return S},jn:function(){return K},kJ:function(){return ee},mf:function(){return c},o8:function(){return y},p_:function(){return s},vE:function(){return _}});function ee(h){return Array.isArray(h)}function te(h){return typeof h=="string"}function X(h){return typeof h=="object"&&h!==null&&!Array.isArray(h)&&!(h instanceof RegExp)&&!(h instanceof Date)}function S(h){return typeof h=="number"&&!isNaN(h)}function K(h){return h===!0||h===!1}function y(h){return typeof h=="undefined"}function L(h){return!A(h)}function A(h){return y(h)||h===null}function s(h,g){if(!h)throw new Error(g?`Unexpected type, expected '${g}'`:"Unexpected type")}function x(h){if(A(h))throw new Error("Assertion Failed: argument is undefined or null");return h}function c(h){return typeof h=="function"}function l(h,g){const r=Math.min(h.length,g.length);for(let a=0;a<r;a++)f(h[a],g[a])}function f(h,g){if(te(g)){if(typeof h!==g)throw new Error(`argument does not match constraint: typeof ${g}`)}else if(c(g)){try{if(h instanceof g)return}catch(r){}if(!A(h)&&h.constructor===g||g.length===1&&g.call(void 0,h)===!0)return;throw new Error("argument does not match one of these constraints: arg instanceof constraint, arg.constructor === constraint, nor constraint(arg) === true")}}function n(h){let g=[],r=Object.getPrototypeOf(h);for(;Object.prototype!==r;)g=g.concat(Object.getOwnPropertyNames(r)),r=Object.getPrototypeOf(r);return g}function o(h){const g=[];for(const r of n(h))typeof h[r]=="function"&&g.push(r);return g}function d(h,g){const r=p=>function(){const E=Array.prototype.slice.call(arguments,0);return g(p,E)};let a={};for(const p of h)a[p]=r(p);return a}function m(h){return h===null?void 0:h}function _(h,g="Unreachable"){throw new Error(g)}},13268:function($t,Qe,ae){"use strict";ae.d(Qe,{N:function(){return te}});function ee(X,S){let K;return S.length===0?K=X:K=X.replace(/\{(\d+)\}/g,function(y,L){const A=L[0];return typeof S[A]!="undefined"?S[A]:y}),K}function te(X,S,...K){return ee(S,K)}},96236:function($t,Qe,ae){"use strict";ae.d(Qe,{BH:function(){return d},NZ:function(){return m},U8:function(){return _},co:function(){return o},eH:function(){return n},vr:function(){return f}});var ee=ae(75918),te=ae(52615),X=ae(4348),S=ae(88226),K=ae(69323),y=ae(34502),L=ae(35884),A=ae(90689),s=ae(16925),x=ae(49055),c=function(h,g,r,a){var p=arguments.length,E=p<3?g:a===null?a=Object.getOwnPropertyDescriptor(g,r):a,b;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")E=Reflect.decorate(h,g,r,a);else for(var w=h.length-1;w>=0;w--)(b=h[w])&&(E=(p<3?b(E):p>3?b(g,r,E):b(g,r))||E);return p>3&&E&&Object.defineProperty(g,r,E),E},l=function(h,g){return function(r,a){g(r,a,h)}};function f(h){return h.command!==void 0}class n{constructor(g){this.id=n._idPool++,this._debugName=g}}n._idPool=0,n.CommandPalette=new n("CommandPalette"),n.EditorContext=new n("EditorContext"),n.SimpleEditorContext=new n("SimpleEditorContext"),n.EditorContextCopy=new n("EditorContextCopy"),n.EditorContextPeek=new n("EditorContextPeek"),n.MenubarEditMenu=new n("MenubarEditMenu"),n.MenubarCopy=new n("MenubarCopy"),n.MenubarGoMenu=new n("MenubarGoMenu"),n.MenubarSelectionMenu=new n("MenubarSelectionMenu"),n.InlineCompletionsActions=new n("InlineCompletionsActions");const o=(0,s.yh)("menuService"),d=new class{constructor(){this._commands=new Map,this._menuItems=new Map,this._onDidChangeMenu=new X.Q5,this.onDidChangeMenu=this._onDidChangeMenu.event,this._commandPaletteChangeEvent={has:h=>h===n.CommandPalette}}addCommand(h){return this.addCommands(S.$.single(h))}addCommands(h){for(const g of h)this._commands.set(g.id,g);return this._onDidChangeMenu.fire(this._commandPaletteChangeEvent),(0,K.OF)(()=>{let g=!1;for(const r of h)g=this._commands.delete(r.id)||g;g&&this._onDidChangeMenu.fire(this._commandPaletteChangeEvent)})}getCommand(h){return this._commands.get(h)}getCommands(){const h=new Map;return this._commands.forEach((g,r)=>h.set(r,g)),h}appendMenuItem(h,g){return this.appendMenuItems(S.$.single({id:h,item:g}))}appendMenuItems(h){const g=new Set,r=new y.S;for(const{id:a,item:p}of h){let E=this._menuItems.get(a);E||(E=new y.S,this._menuItems.set(a,E)),r.push(E.push(p)),g.add(a)}return this._onDidChangeMenu.fire(g),(0,K.OF)(()=>{if(r.size>0){for(let a of r)a();this._onDidChangeMenu.fire(g),r.clear()}})}getMenuItems(h){let g;return this._menuItems.has(h)?g=[...this._menuItems.get(h)]:g=[],h===n.CommandPalette&&this._appendImplicitItems(g),g}_appendImplicitItems(h){const g=new Set;for(const r of h)f(r)&&(g.add(r.command.id),r.alt&&g.add(r.alt.id));this._commands.forEach((r,a)=>{g.has(a)||h.push({command:r})})}};class m extends ee.wY{constructor(g,r,a,p){super(`submenuitem.${g.submenu.id}`,typeof g.title=="string"?g.title:g.title.value,[],"submenu"),this.item=g,this._menuService=r,this._contextKeyService=a,this._options=p}get actions(){const g=[],r=this._menuService.createMenu(this.item.submenu,this._contextKeyService),a=r.getActions(this._options);r.dispose();for(const[,p]of a)p.length>0&&(g.push(...p),g.push(new ee.Z0));return g.length&&g.pop(),g}}let _=class qo{constructor(g,r,a,p,E){var b,w;if(this._commandService=E,this.id=g.id,this.label=a!=null&&a.renderShortTitle&&g.shortTitle?typeof g.shortTitle=="string"?g.shortTitle:g.shortTitle.value:typeof g.title=="string"?g.title:g.title.value,this.tooltip=(w=typeof g.tooltip=="string"?g.tooltip:(b=g.tooltip)===null||b===void 0?void 0:b.value)!==null&&w!==void 0?w:"",this.enabled=!g.precondition||p.contextMatchesRules(g.precondition),this.checked=void 0,g.toggled){const R=g.toggled.condition?g.toggled:{condition:g.toggled};this.checked=p.contextMatchesRules(R.condition),this.checked&&R.tooltip&&(this.tooltip=typeof R.tooltip=="string"?R.tooltip:R.tooltip.value),R.title&&(this.label=typeof R.title=="string"?R.title:R.title.value)}this.item=g,this.alt=r?new qo(r,void 0,a,p,E):void 0,this._options=a,x.kS.isThemeIcon(g.icon)&&(this.class=te.dT.asClassName(g.icon))}dispose(){}run(...g){var r,a;let p=[];return!((r=this._options)===null||r===void 0)&&r.arg&&(p=[...p,this._options.arg]),!((a=this._options)===null||a===void 0)&&a.shouldForwardArgs&&(p=[...p,...g]),this._commandService.executeCommand(this.id,...p)}};_=c([l(3,A.i6),l(4,L.H)],_)},35884:function($t,Qe,ae){"use strict";ae.d(Qe,{H:function(){return L},P:function(){return A}});var ee=ae(4348),te=ae(88226),X=ae(69323),S=ae(34502),K=ae(72999),y=ae(16925);const L=(0,y.yh)("commandService"),A=new class{constructor(){this._commands=new Map,this._onDidRegisterCommand=new ee.Q5,this.onDidRegisterCommand=this._onDidRegisterCommand.event}registerCommand(s,x){if(!s)throw new Error("invalid command");if(typeof s=="string"){if(!x)throw new Error("invalid command");return this.registerCommand({id:s,handler:x})}if(s.description){const o=[];for(let m of s.description.args)o.push(m.constraint);const d=s.handler;s.handler=function(m,..._){return(0,K.D8)(_,o),d(m,..._)}}const{id:c}=s;let l=this._commands.get(c);l||(l=new S.S,this._commands.set(c,l));let f=l.unshift(s),n=(0,X.OF)(()=>{f();const o=this._commands.get(c);o!=null&&o.isEmpty()&&this._commands.delete(c)});return this._onDidRegisterCommand.fire(c),n}registerCommandAlias(s,x){return A.registerCommand(s,(c,...l)=>c.get(L).executeCommand(x,...l))}getCommand(s){const x=this._commands.get(s);if(!(!x||x.isEmpty()))return te.$.first(x)}getCommands(){const s=new Map;for(const x of this._commands.keys()){const c=this.getCommand(x);c&&s.set(x,c)}return s}};A.registerCommand("noop",()=>{})},90689:function($t,Qe,ae){"use strict";ae.d(Qe,{Ao:function(){return L},Eq:function(){return B},Fb:function(){return A},K8:function(){return k},i6:function(){return z},uy:function(){return O}});var ee=ae(23345),te=ae(82983),X=ae(16925);let S=ee.WE||"";const K=new Map;K.set("false",!1),K.set("true",!0),K.set("isMac",ee.dz),K.set("isLinux",ee.IJ),K.set("isWindows",ee.ED),K.set("isWeb",ee.$L),K.set("isMacNative",ee.dz&&!ee.$L),K.set("isEdge",S.indexOf("Edg/")>=0),K.set("isFirefox",S.indexOf("Firefox")>=0),K.set("isChrome",S.indexOf("Chrome")>=0),K.set("isSafari",S.indexOf("Safari")>=0);const y=Object.prototype.hasOwnProperty;class L{static has(C){return l.create(C)}static equals(C,I){return f.create(C,I)}static regex(C,I){return p.create(C,I)}static not(C){return m.create(C)}static and(...C){return w.create(C,null)}static or(...C){return R.create(C,null,!0)}static deserialize(C,I=!1){if(C)return this._deserializeOrExpression(C,I)}static _deserializeOrExpression(C,I){let H=C.split("||");return R.create(H.map($=>this._deserializeAndExpression($,I)),null,!0)}static _deserializeAndExpression(C,I){let H=C.split("&&");return w.create(H.map($=>this._deserializeOne($,I)),null)}static _deserializeOne(C,I){if(C=C.trim(),C.indexOf("!=")>=0){let H=C.split("!=");return d.create(H[0].trim(),this._deserializeValue(H[1],I))}if(C.indexOf("==")>=0){let H=C.split("==");return f.create(H[0].trim(),this._deserializeValue(H[1],I))}if(C.indexOf("=~")>=0){let H=C.split("=~");return p.create(H[0].trim(),this._deserializeRegexValue(H[1],I))}if(C.indexOf(" in ")>=0){let H=C.split(" in ");return n.create(H[0].trim(),H[1].trim())}if(/^[^<=>]+>=[^<=>]+$/.test(C)){const H=C.split(">=");return g.create(H[0].trim(),H[1].trim())}if(/^[^<=>]+>[^<=>]+$/.test(C)){const H=C.split(">");return h.create(H[0].trim(),H[1].trim())}if(/^[^<=>]+<=[^<=>]+$/.test(C)){const H=C.split("<=");return a.create(H[0].trim(),H[1].trim())}if(/^[^<=>]+<[^<=>]+$/.test(C)){const H=C.split("<");return r.create(H[0].trim(),H[1].trim())}return/^\!\s*/.test(C)?m.create(C.substr(1).trim()):l.create(C)}static _deserializeValue(C,I){if(C=C.trim(),C==="true")return!0;if(C==="false")return!1;let H=/^'([^']*)'$/.exec(C);return H?H[1].trim():C}static _deserializeRegexValue(C,I){if((0,te.m5)(C)){if(I)throw new Error("missing regexp-value for =~-expression");return console.warn("missing regexp-value for =~-expression"),null}let H=C.indexOf("/"),$=C.lastIndexOf("/");if(H===$||H<0){if(I)throw new Error(`bad regexp-value '${C}', missing /-enclosure`);return console.warn(`bad regexp-value '${C}', missing /-enclosure`),null}let q=C.slice(H+1,$),se=C[$+1]==="i"?"i":"";try{return new RegExp(q,se)}catch(ue){if(I)throw new Error(`bad regexp-value '${C}', parse error: ${ue}`);return console.warn(`bad regexp-value '${C}', parse error: ${ue}`),null}}}function A(G,C){const I=G?G.substituteConstants():void 0,H=C?C.substituteConstants():void 0;return!I&&!H?!0:!I||!H?!1:I.equals(H)}function s(G,C){return G.cmp(C)}class x{constructor(){this.type=0}cmp(C){return this.type-C.type}equals(C){return C.type===this.type}substituteConstants(){return this}evaluate(C){return!1}serialize(){return"false"}keys(){return[]}negate(){return c.INSTANCE}}x.INSTANCE=new x;class c{constructor(){this.type=1}cmp(C){return this.type-C.type}equals(C){return C.type===this.type}substituteConstants(){return this}evaluate(C){return!0}serialize(){return"true"}keys(){return[]}negate(){return x.INSTANCE}}c.INSTANCE=new c;class l{constructor(C,I){this.key=C,this.negated=I,this.type=2}static create(C,I=null){const H=K.get(C);return typeof H=="boolean"?H?c.INSTANCE:x.INSTANCE:new l(C,I)}cmp(C){return C.type!==this.type?this.type-C.type:P(this.key,C.key)}equals(C){return C.type===this.type?this.key===C.key:!1}substituteConstants(){const C=K.get(this.key);return typeof C=="boolean"?C?c.INSTANCE:x.INSTANCE:this}evaluate(C){return!!C.getValue(this.key)}serialize(){return this.key}keys(){return[this.key]}negate(){return this.negated||(this.negated=m.create(this.key,this)),this.negated}}class f{constructor(C,I,H){this.key=C,this.value=I,this.negated=H,this.type=4}static create(C,I,H=null){if(typeof I=="boolean")return I?l.create(C,H):m.create(C,H);const $=K.get(C);return typeof $=="boolean"?I===($?"true":"false")?c.INSTANCE:x.INSTANCE:new f(C,I,H)}cmp(C){return C.type!==this.type?this.type-C.type:F(this.key,this.value,C.key,C.value)}equals(C){return C.type===this.type?this.key===C.key&&this.value===C.value:!1}substituteConstants(){const C=K.get(this.key);if(typeof C=="boolean"){const I=C?"true":"false";return this.value===I?c.INSTANCE:x.INSTANCE}return this}evaluate(C){return C.getValue(this.key)==this.value}serialize(){return`${this.key} == '${this.value}'`}keys(){return[this.key]}negate(){return this.negated||(this.negated=d.create(this.key,this.value,this)),this.negated}}class n{constructor(C,I){this.key=C,this.valueKey=I,this.type=10,this.negated=null}static create(C,I){return new n(C,I)}cmp(C){return C.type!==this.type?this.type-C.type:F(this.key,this.valueKey,C.key,C.valueKey)}equals(C){return C.type===this.type?this.key===C.key&&this.valueKey===C.valueKey:!1}substituteConstants(){return this}evaluate(C){const I=C.getValue(this.valueKey),H=C.getValue(this.key);return Array.isArray(I)?I.indexOf(H)>=0:typeof H=="string"&&typeof I=="object"&&I!==null?y.call(I,H):!1}serialize(){return`${this.key} in '${this.valueKey}'`}keys(){return[this.key,this.valueKey]}negate(){return this.negated||(this.negated=o.create(this)),this.negated}}class o{constructor(C){this._actual=C,this.type=11}static create(C){return new o(C)}cmp(C){return C.type!==this.type?this.type-C.type:this._actual.cmp(C._actual)}equals(C){return C.type===this.type?this._actual.equals(C._actual):!1}substituteConstants(){return this}evaluate(C){return!this._actual.evaluate(C)}serialize(){throw new Error("Method not implemented.")}keys(){return this._actual.keys()}negate(){return this._actual}}class d{constructor(C,I,H){this.key=C,this.value=I,this.negated=H,this.type=5}static create(C,I,H=null){if(typeof I=="boolean")return I?m.create(C,H):l.create(C,H);const $=K.get(C);return typeof $=="boolean"?I===($?"true":"false")?x.INSTANCE:c.INSTANCE:new d(C,I,H)}cmp(C){return C.type!==this.type?this.type-C.type:F(this.key,this.value,C.key,C.value)}equals(C){return C.type===this.type?this.key===C.key&&this.value===C.value:!1}substituteConstants(){const C=K.get(this.key);if(typeof C=="boolean"){const I=C?"true":"false";return this.value===I?x.INSTANCE:c.INSTANCE}return this}evaluate(C){return C.getValue(this.key)!=this.value}serialize(){return`${this.key} != '${this.value}'`}keys(){return[this.key]}negate(){return this.negated||(this.negated=f.create(this.key,this.value,this)),this.negated}}class m{constructor(C,I){this.key=C,this.negated=I,this.type=3}static create(C,I=null){const H=K.get(C);return typeof H=="boolean"?H?x.INSTANCE:c.INSTANCE:new m(C,I)}cmp(C){return C.type!==this.type?this.type-C.type:P(this.key,C.key)}equals(C){return C.type===this.type?this.key===C.key:!1}substituteConstants(){const C=K.get(this.key);return typeof C=="boolean"?C?x.INSTANCE:c.INSTANCE:this}evaluate(C){return!C.getValue(this.key)}serialize(){return`!${this.key}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=l.create(this.key,this)),this.negated}}function _(G,C){if(typeof G=="string"){const I=parseFloat(G);isNaN(I)||(G=I)}return typeof G=="string"||typeof G=="number"?C(G):x.INSTANCE}class h{constructor(C,I,H){this.key=C,this.value=I,this.negated=H,this.type=12}static create(C,I,H=null){return _(I,$=>new h(C,$,H))}cmp(C){return C.type!==this.type?this.type-C.type:F(this.key,this.value,C.key,C.value)}equals(C){return C.type===this.type?this.key===C.key&&this.value===C.value:!1}substituteConstants(){return this}evaluate(C){return typeof this.value=="string"?!1:parseFloat(C.getValue(this.key))>this.value}serialize(){return`${this.key} > ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=a.create(this.key,this.value,this)),this.negated}}class g{constructor(C,I,H){this.key=C,this.value=I,this.negated=H,this.type=13}static create(C,I,H=null){return _(I,$=>new g(C,$,H))}cmp(C){return C.type!==this.type?this.type-C.type:F(this.key,this.value,C.key,C.value)}equals(C){return C.type===this.type?this.key===C.key&&this.value===C.value:!1}substituteConstants(){return this}evaluate(C){return typeof this.value=="string"?!1:parseFloat(C.getValue(this.key))>=this.value}serialize(){return`${this.key} >= ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=r.create(this.key,this.value,this)),this.negated}}class r{constructor(C,I,H){this.key=C,this.value=I,this.negated=H,this.type=14}static create(C,I,H=null){return _(I,$=>new r(C,$,H))}cmp(C){return C.type!==this.type?this.type-C.type:F(this.key,this.value,C.key,C.value)}equals(C){return C.type===this.type?this.key===C.key&&this.value===C.value:!1}substituteConstants(){return this}evaluate(C){return typeof this.value=="string"?!1:parseFloat(C.getValue(this.key))<this.value}serialize(){return`${this.key} < ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=g.create(this.key,this.value,this)),this.negated}}class a{constructor(C,I,H){this.key=C,this.value=I,this.negated=H,this.type=15}static create(C,I,H=null){return _(I,$=>new a(C,$,H))}cmp(C){return C.type!==this.type?this.type-C.type:F(this.key,this.value,C.key,C.value)}equals(C){return C.type===this.type?this.key===C.key&&this.value===C.value:!1}substituteConstants(){return this}evaluate(C){return typeof this.value=="string"?!1:parseFloat(C.getValue(this.key))<=this.value}serialize(){return`${this.key} <= ${this.value}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=h.create(this.key,this.value,this)),this.negated}}class p{constructor(C,I){this.key=C,this.regexp=I,this.type=7,this.negated=null}static create(C,I){return new p(C,I)}cmp(C){if(C.type!==this.type)return this.type-C.type;if(this.key<C.key)return-1;if(this.key>C.key)return 1;const I=this.regexp?this.regexp.source:"",H=C.regexp?C.regexp.source:"";return I<H?-1:I>H?1:0}equals(C){if(C.type===this.type){const I=this.regexp?this.regexp.source:"",H=C.regexp?C.regexp.source:"";return this.key===C.key&&I===H}return!1}substituteConstants(){return this}evaluate(C){let I=C.getValue(this.key);return this.regexp?this.regexp.test(I):!1}serialize(){const C=this.regexp?`/${this.regexp.source}/${this.regexp.ignoreCase?"i":""}`:"/invalid/";return`${this.key} =~ ${C}`}keys(){return[this.key]}negate(){return this.negated||(this.negated=E.create(this)),this.negated}}class E{constructor(C){this._actual=C,this.type=8}static create(C){return new E(C)}cmp(C){return C.type!==this.type?this.type-C.type:this._actual.cmp(C._actual)}equals(C){return C.type===this.type?this._actual.equals(C._actual):!1}substituteConstants(){return this}evaluate(C){return!this._actual.evaluate(C)}serialize(){throw new Error("Method not implemented.")}keys(){return this._actual.keys()}negate(){return this._actual}}function b(G){let C=null;for(let I=0,H=G.length;I<H;I++){const $=G[I].substituteConstants();if(G[I]!==$&&C===null){C=[];for(let q=0;q<I;q++)C[q]=G[q]}C!==null&&(C[I]=$)}return C===null?G:C}class w{constructor(C,I){this.expr=C,this.negated=I,this.type=6}static create(C,I){return w._normalizeArr(C,I)}cmp(C){if(C.type!==this.type)return this.type-C.type;if(this.expr.length<C.expr.length)return-1;if(this.expr.length>C.expr.length)return 1;for(let I=0,H=this.expr.length;I<H;I++){const $=s(this.expr[I],C.expr[I]);if($!==0)return $}return 0}equals(C){if(C.type===this.type){if(this.expr.length!==C.expr.length)return!1;for(let I=0,H=this.expr.length;I<H;I++)if(!this.expr[I].equals(C.expr[I]))return!1;return!0}return!1}substituteConstants(){const C=b(this.expr);return C===this.expr?this:w.create(C,this.negated)}evaluate(C){for(let I=0,H=this.expr.length;I<H;I++)if(!this.expr[I].evaluate(C))return!1;return!0}static _normalizeArr(C,I){const H=[];let $=!1;for(const q of C)if(q){if(q.type===1){$=!0;continue}if(q.type===0)return x.INSTANCE;if(q.type===6){H.push(...q.expr);continue}H.push(q)}if(H.length===0&&$)return c.INSTANCE;if(H.length!==0){if(H.length===1)return H[0];H.sort(s);for(let q=1;q<H.length;q++)H[q-1].equals(H[q])&&(H.splice(q,1),q--);if(H.length===1)return H[0];for(;H.length>1;){const q=H[H.length-1];if(q.type!==9)break;H.pop();const se=H.pop(),ue=H.length===0,me=R.create(q.expr.map(Ee=>w.create([Ee,se],null)),null,ue);me&&(H.push(me),H.sort(s))}return H.length===1?H[0]:new w(H,I)}}serialize(){return this.expr.map(C=>C.serialize()).join(" && ")}keys(){const C=[];for(let I of this.expr)C.push(...I.keys());return C}negate(){if(!this.negated){const C=[];for(let I of this.expr)C.push(I.negate());this.negated=R.create(C,this,!0)}return this.negated}}class R{constructor(C,I){this.expr=C,this.negated=I,this.type=9}static create(C,I,H){return R._normalizeArr(C,I,H)}cmp(C){if(C.type!==this.type)return this.type-C.type;if(this.expr.length<C.expr.length)return-1;if(this.expr.length>C.expr.length)return 1;for(let I=0,H=this.expr.length;I<H;I++){const $=s(this.expr[I],C.expr[I]);if($!==0)return $}return 0}equals(C){if(C.type===this.type){if(this.expr.length!==C.expr.length)return!1;for(let I=0,H=this.expr.length;I<H;I++)if(!this.expr[I].equals(C.expr[I]))return!1;return!0}return!1}substituteConstants(){const C=b(this.expr);return C===this.expr?this:R.create(C,this.negated,!1)}evaluate(C){for(let I=0,H=this.expr.length;I<H;I++)if(this.expr[I].evaluate(C))return!0;return!1}static _normalizeArr(C,I,H){let $=[],q=!1;if(C){for(let se=0,ue=C.length;se<ue;se++){const me=C[se];if(me){if(me.type===0){q=!0;continue}if(me.type===1)return c.INSTANCE;if(me.type===9){$=$.concat(me.expr);continue}$.push(me)}}if($.length===0&&q)return x.INSTANCE;$.sort(s)}if($.length!==0){if($.length===1)return $[0];for(let se=1;se<$.length;se++)$[se-1].equals($[se])&&($.splice(se,1),se--);if($.length===1)return $[0];if(H){for(let se=0;se<$.length;se++)for(let ue=se+1;ue<$.length;ue++)k($[se],$[ue])&&($.splice(ue,1),ue--);if($.length===1)return $[0]}return new R($,I)}}serialize(){return this.expr.map(C=>C.serialize()).join(" || ")}keys(){const C=[];for(let I of this.expr)C.push(...I.keys());return C}negate(){if(!this.negated){let C=[];for(let I of this.expr)C.push(I.negate());for(;C.length>1;){const I=C.shift(),H=C.shift(),$=[];for(const se of U(I))for(const ue of U(H))$.push(w.create([se,ue],null));const q=C.length===0;C.unshift(R.create($,null,q))}this.negated=C[0]}return this.negated}}class O extends l{constructor(C,I,H){super(C,null),this._defaultValue=I,typeof H=="object"?O._info.push(Object.assign(Object.assign({},H),{key:C})):H!==!0&&O._info.push({key:C,description:H,type:I!=null?typeof I:void 0})}static all(){return O._info.values()}bindTo(C){return C.createKey(this.key,this._defaultValue)}getValue(C){return C.getContextKeyValue(this.key)}toNegated(){return this.negate()}isEqualTo(C){return f.create(this.key,C)}}O._info=[];const z=(0,X.yh)("contextKeyService"),B="setContext";function P(G,C){return G<C?-1:G>C?1:0}function F(G,C,I,H){return G<I?-1:G>I?1:C<H?-1:C>H?1:0}function k(G,C){if(C.type===6&&G.type!==9&&G.type!==6){for(const $ of C.expr)if(G.equals($))return!0}const I=G.negate(),H=U(I).concat(U(C));H.sort(s);for(let $=0;$<H.length;$++){const se=H[$].negate();for(let ue=$+1;ue<H.length;ue++){const me=H[ue];if(se.equals(me))return!0}}return!1}function U(G){return G.type===9?G.expr:[G]}},16925:function($t,Qe,ae){"use strict";ae.d(Qe,{I8:function(){return ee},TG:function(){return te},jt:function(){return K},yh:function(){return S}});var ee;(function(y){y.serviceIds=new Map,y.DI_TARGET="$di$target",y.DI_DEPENDENCIES="$di$dependencies";function L(A){return A[y.DI_DEPENDENCIES]||[]}y.getServiceDependencies=L})(ee||(ee={}));const te=S("instantiationService");function X(y,L,A,s){L[ee.DI_TARGET]===L?L[ee.DI_DEPENDENCIES].push({id:y,index:A,optional:s}):(L[ee.DI_DEPENDENCIES]=[{id:y,index:A,optional:s}],L[ee.DI_TARGET]=L)}function S(y){if(ee.serviceIds.has(y))return ee.serviceIds.get(y);const L=function(A,s,x){if(arguments.length!==3)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");X(L,A,x,!1)};return L.toString=()=>y,ee.serviceIds.set(y,L),L}function K(y){return function(L,A,s){if(arguments.length!==3)throw new Error("@optional-decorator can only be used to decorate a parameter");X(y,L,s,!0)}}},44650:function($t,Qe,ae){"use strict";ae.d(Qe,{B:function(){return S}});var ee=ae(76068),te=ae(72999);class X{constructor(){this.data=new Map}add(y,L){ee.ok(te.HD(y)),ee.ok(te.Kn(L)),ee.ok(!this.data.has(y),"There is already an extension with this id"),this.data.set(y,L)}as(y){return this.data.get(y)||null}}const S=new X},66213:function($t,Qe,ae){"use strict";ae.d(Qe,{e:function(){return ee}});var ee;(function(te){te.DARK="dark",te.LIGHT="light",te.HIGH_CONTRAST="hc"})(ee||(ee={}))},49055:function($t,Qe,ae){"use strict";ae.d(Qe,{EN:function(){return s},IP:function(){return l},Ic:function(){return o},XE:function(){return L},bB:function(){return d},kS:function(){return x},m6:function(){return c}});var ee=ae(52615),te=ae(4348),X=ae(69323),S=ae(16925),K=ae(44650),y=ae(66213);const L=(0,S.yh)("themeService");var A;(function(m){function _(h){return h&&typeof h=="object"&&typeof h.id=="string"}m.isThemeColor=_})(A||(A={}));function s(m){return{id:m}}var x;(function(m){function _(E){return E&&typeof E=="object"&&typeof E.id=="string"&&(typeof E.color=="undefined"||A.isThemeColor(E.color))}m.isThemeIcon=_;const h=new RegExp(`^\\$\\((${ee.dT.iconNameExpression}(?:${ee.dT.iconModifierExpression})?)\\)$`);function g(E){const b=h.exec(E);if(!b)return;let[,w]=b;return{id:w}}m.fromString=g;function r(E,b){let w=E.id;const R=w.lastIndexOf("~");return R!==-1&&(w=w.substring(0,R)),b&&(w=`${w}~${b}`),{id:w}}m.modify=r;function a(E,b){var w,R;return E.id===b.id&&((w=E.color)===null||w===void 0?void 0:w.id)===((R=b.color)===null||R===void 0?void 0:R.id)}m.isEqual=a;function p(E,b){return{id:E.id,color:b?s(b):void 0}}m.asThemeIcon=p,m.asClassNameArray=ee.dT.asClassNameArray,m.asClassName=ee.dT.asClassName,m.asCSSSelector=ee.dT.asCSSSelector})(x||(x={}));function c(m){switch(m){case y.e.DARK:return"vs-dark";case y.e.HIGH_CONTRAST:return"hc-black";default:return"vs"}}const l={ThemingContribution:"base.contributions.theming"};class f{constructor(){this.themingParticipants=[],this.themingParticipants=[],this.onThemingParticipantAddedEmitter=new te.Q5}onColorThemeChange(_){return this.themingParticipants.push(_),this.onThemingParticipantAddedEmitter.fire(_),(0,X.OF)(()=>{const h=this.themingParticipants.indexOf(_);this.themingParticipants.splice(h,1)})}getThemingParticipants(){return this.themingParticipants}}let n=new f;K.B.add(l.ThemingContribution,n);function o(m){return n.onColorThemeChange(m)}class d extends X.JT{constructor(_){super(),this.themeService=_,this.theme=_.getColorTheme(),this._register(this.themeService.onDidColorThemeChange(h=>this.onThemeChange(h)))}onThemeChange(_){this.theme=_,this.updateStyles()}updateStyles(){}}},96478:function($t,Qe,ae){"use strict";ae.d(Qe,{Z:function(){return E}});var ee=ae(67711),te=ae(52873),X=ae(16886),S=ae(33346),K=ae(65030),y=ae(92310),L=ae.n(y),A=ae(8654),s=ae(59301),x=ae(10228),c=ae(16089),l=x.Z.ESC,f=x.Z.TAB;function n(b){var w=b.visible,R=b.triggerRef,O=b.onVisibleChange,z=b.autoFocus,B=b.overlayRef,P=s.useRef(!1),F=function(){if(w){var C,I;(C=R.current)===null||C===void 0||(I=C.focus)===null||I===void 0||I.call(C),O==null||O(!1)}},k=function(){var C;return(C=B.current)!==null&&C!==void 0&&C.focus?(B.current.focus(),P.current=!0,!0):!1},U=function(C){switch(C.keyCode){case l:F();break;case f:{var I=!1;P.current||(I=k()),I?C.preventDefault():F();break}}};s.useEffect(function(){return w?(window.addEventListener("keydown",U),z&&(0,c.Z)(k,3),function(){window.removeEventListener("keydown",U),P.current=!1}):function(){P.current=!1}},[w])}var o=(0,s.forwardRef)(function(b,w){var R=b.overlay,O=b.arrow,z=b.prefixCls,B=(0,s.useMemo)(function(){var F;return typeof R=="function"?F=R():F=R,F},[R]),P=(0,A.sQ)(w,(0,A.C4)(B));return s.createElement(s.Fragment,null,O&&s.createElement("div",{className:"".concat(z,"-arrow")}),s.cloneElement(B,{ref:(0,A.Yr)(B)?P:void 0}))}),d=o,m={adjustX:1,adjustY:1},_=[0,0],h={topLeft:{points:["bl","tl"],overflow:m,offset:[0,-4],targetOffset:_},top:{points:["bc","tc"],overflow:m,offset:[0,-4],targetOffset:_},topRight:{points:["br","tr"],overflow:m,offset:[0,-4],targetOffset:_},bottomLeft:{points:["tl","bl"],overflow:m,offset:[0,4],targetOffset:_},bottom:{points:["tc","bc"],overflow:m,offset:[0,4],targetOffset:_},bottomRight:{points:["tr","br"],overflow:m,offset:[0,4],targetOffset:_}},g=h,r=["arrow","prefixCls","transitionName","animation","align","placement","placements","getPopupContainer","showAction","hideAction","overlayClassName","overlayStyle","visible","trigger","autoFocus","overlay","children","onVisibleChange"];function a(b,w){var R,O=b.arrow,z=O===void 0?!1:O,B=b.prefixCls,P=B===void 0?"rc-dropdown":B,F=b.transitionName,k=b.animation,U=b.align,G=b.placement,C=G===void 0?"bottomLeft":G,I=b.placements,H=I===void 0?g:I,$=b.getPopupContainer,q=b.showAction,se=b.hideAction,ue=b.overlayClassName,me=b.overlayStyle,Ee=b.visible,Le=b.trigger,Fe=Le===void 0?["hover"]:Le,Ke=b.autoFocus,Te=b.overlay,We=b.children,Ce=b.onVisibleChange,De=(0,S.Z)(b,r),ge=s.useState(),Re=(0,X.Z)(ge,2),ve=Re[0],we=Re[1],Ue="visible"in b?Ee:ve,de=s.useRef(null),oe=s.useRef(null),ne=s.useRef(null);s.useImperativeHandle(w,function(){return de.current});var ce=function(tt){we(tt),Ce==null||Ce(tt)};n({visible:Ue,triggerRef:ne,onVisibleChange:ce,autoFocus:Ke,overlayRef:oe});var ye=function(tt){var At=b.onOverlayClick;we(!1),At&&At(tt)},he=function(){return s.createElement(d,{ref:oe,overlay:Te,prefixCls:P,arrow:z})},xe=function(){return typeof Te=="function"?he:he()},Ne=function(){var tt=b.minOverlayWidthMatchTrigger,At=b.alignPoint;return"minOverlayWidthMatchTrigger"in b?tt:!At},Be=function(){var tt=b.openClassName;return tt!==void 0?tt:"".concat(P,"-open")},je=s.cloneElement(We,{className:L()((R=We.props)===null||R===void 0?void 0:R.className,Ue&&Be()),ref:(0,A.Yr)(We)?(0,A.sQ)(ne,(0,A.C4)(We)):void 0}),et=se;return!et&&Fe.indexOf("contextMenu")!==-1&&(et=["click"]),s.createElement(K.Z,(0,ee.Z)({builtinPlacements:H},De,{prefixCls:P,ref:de,popupClassName:L()(ue,(0,te.Z)({},"".concat(P,"-show-arrow"),z)),popupStyle:me,action:Fe,showAction:q,hideAction:et,popupPlacement:C,popupAlign:U,popupTransitionName:F,popupAnimation:k,popupVisible:Ue,stretch:Ne()?"minWidth":"",popup:xe(),onPopupVisibleChange:ce,onPopupClick:ye,getPopupContainer:$}),je)}var p=s.forwardRef(a),E=p},66003:function($t,Qe,ae){"use strict";ae.d(Qe,{Z:function(){return L}});var ee=ae(33346),te=ae(98506),X=ae(26420),S=ae(59301),K=["show"];function y(A,s){if(!s.max)return!0;var x=s.strategy(A);return x<=s.max}function L(A,s){return S.useMemo(function(){var x={};s&&(x.show=(0,X.Z)(s)==="object"&&s.formatter?s.formatter:!!s),x=(0,te.Z)((0,te.Z)({},x),A);var c=x,l=c.show,f=(0,ee.Z)(c,K);return(0,te.Z)((0,te.Z)({},f),{},{show:!!l,showFormatter:typeof l=="function"?l:void 0,strategy:f.strategy||function(n){return n.length}})},[A,s])}},36901:function($t,Qe,ae){"use strict";ae.r(Qe),ae.d(Qe,{BaseInput:function(){return x},default:function(){return g}});var ee=ae(98506),te=ae(67711),X=ae(52873),S=ae(26420),K=ae(92310),y=ae.n(K),L=ae(59301),A=ae(30292),s=L.forwardRef(function(r,a){var p,E,b,w=r.inputElement,R=r.children,O=r.prefixCls,z=r.prefix,B=r.suffix,P=r.addonBefore,F=r.addonAfter,k=r.className,U=r.style,G=r.disabled,C=r.readOnly,I=r.focused,H=r.triggerFocus,$=r.allowClear,q=r.value,se=r.handleReset,ue=r.hidden,me=r.classes,Ee=r.classNames,Le=r.dataAttrs,Fe=r.styles,Ke=r.components,Te=r.onClear,We=R!=null?R:w,Ce=(Ke==null?void 0:Ke.affixWrapper)||"span",De=(Ke==null?void 0:Ke.groupWrapper)||"span",ge=(Ke==null?void 0:Ke.wrapper)||"span",Re=(Ke==null?void 0:Ke.groupAddon)||"span",ve=(0,L.useRef)(null),we=function(Nt){var lt;(lt=ve.current)!==null&&lt!==void 0&&lt.contains(Nt.target)&&(H==null||H())},Ue=(0,A.X3)(r),de=(0,L.cloneElement)(We,{value:q,className:y()((p=We.props)===null||p===void 0?void 0:p.className,!Ue&&(Ee==null?void 0:Ee.variant))||null}),oe=(0,L.useRef)(null);if(L.useImperativeHandle(a,function(){return{nativeElement:oe.current||ve.current}}),Ue){var ne=null;if($){var ce=!G&&!C&&q,ye="".concat(O,"-clear-icon"),he=(0,S.Z)($)==="object"&&$!==null&&$!==void 0&&$.clearIcon?$.clearIcon:"\u2716";ne=L.createElement("button",{type:"button",tabIndex:-1,onClick:function(Nt){se==null||se(Nt),Te==null||Te()},onMouseDown:function(Nt){return Nt.preventDefault()},className:y()(ye,(0,X.Z)((0,X.Z)({},"".concat(ye,"-hidden"),!ce),"".concat(ye,"-has-suffix"),!!B))},he)}var xe="".concat(O,"-affix-wrapper"),Ne=y()(xe,(0,X.Z)((0,X.Z)((0,X.Z)((0,X.Z)((0,X.Z)({},"".concat(O,"-disabled"),G),"".concat(xe,"-disabled"),G),"".concat(xe,"-focused"),I),"".concat(xe,"-readonly"),C),"".concat(xe,"-input-with-clear-btn"),B&&$&&q),me==null?void 0:me.affixWrapper,Ee==null?void 0:Ee.affixWrapper,Ee==null?void 0:Ee.variant),Be=(B||$)&&L.createElement("span",{className:y()("".concat(O,"-suffix"),Ee==null?void 0:Ee.suffix),style:Fe==null?void 0:Fe.suffix},ne,B);de=L.createElement(Ce,(0,te.Z)({className:Ne,style:Fe==null?void 0:Fe.affixWrapper,onClick:we},Le==null?void 0:Le.affixWrapper,{ref:ve}),z&&L.createElement("span",{className:y()("".concat(O,"-prefix"),Ee==null?void 0:Ee.prefix),style:Fe==null?void 0:Fe.prefix},z),de,Be)}if((0,A.He)(r)){var je="".concat(O,"-group"),et="".concat(je,"-addon"),ft="".concat(je,"-wrapper"),tt=y()("".concat(O,"-wrapper"),je,me==null?void 0:me.wrapper,Ee==null?void 0:Ee.wrapper),At=y()(ft,(0,X.Z)({},"".concat(ft,"-disabled"),G),me==null?void 0:me.group,Ee==null?void 0:Ee.groupWrapper);de=L.createElement(De,{className:At,ref:oe},L.createElement(ge,{className:tt},P&&L.createElement(Re,{className:et},P),de,F&&L.createElement(Re,{className:et},F)))}return L.cloneElement(de,{className:y()((E=de.props)===null||E===void 0?void 0:E.className,k)||null,style:(0,ee.Z)((0,ee.Z)({},(b=de.props)===null||b===void 0?void 0:b.style),U),hidden:ue})}),x=s,c=ae(15142),l=ae(16886),f=ae(33346),n=ae(18929),o=ae(2738),d=ae(66003),m=["autoComplete","onChange","onFocus","onBlur","onPressEnter","onKeyDown","onKeyUp","prefixCls","disabled","htmlSize","className","maxLength","suffix","showCount","count","type","classes","classNames","styles","onCompositionStart","onCompositionEnd"],_=(0,L.forwardRef)(function(r,a){var p=r.autoComplete,E=r.onChange,b=r.onFocus,w=r.onBlur,R=r.onPressEnter,O=r.onKeyDown,z=r.onKeyUp,B=r.prefixCls,P=B===void 0?"rc-input":B,F=r.disabled,k=r.htmlSize,U=r.className,G=r.maxLength,C=r.suffix,I=r.showCount,H=r.count,$=r.type,q=$===void 0?"text":$,se=r.classes,ue=r.classNames,me=r.styles,Ee=r.onCompositionStart,Le=r.onCompositionEnd,Fe=(0,f.Z)(r,m),Ke=(0,L.useState)(!1),Te=(0,l.Z)(Ke,2),We=Te[0],Ce=Te[1],De=(0,L.useRef)(!1),ge=(0,L.useRef)(!1),Re=(0,L.useRef)(null),ve=(0,L.useRef)(null),we=function(Ht){Re.current&&(0,A.nH)(Re.current,Ht)},Ue=(0,n.Z)(r.defaultValue,{value:r.value}),de=(0,l.Z)(Ue,2),oe=de[0],ne=de[1],ce=oe==null?"":String(oe),ye=(0,L.useState)(null),he=(0,l.Z)(ye,2),xe=he[0],Ne=he[1],Be=(0,d.Z)(H,I),je=Be.max||G,et=Be.strategy(ce),ft=!!je&&et>je;(0,L.useImperativeHandle)(a,function(){var Vt;return{focus:we,blur:function(){var ar;(ar=Re.current)===null||ar===void 0||ar.blur()},setSelectionRange:function(ar,or,Tt){var at;(at=Re.current)===null||at===void 0||at.setSelectionRange(ar,or,Tt)},select:function(){var ar;(ar=Re.current)===null||ar===void 0||ar.select()},input:Re.current,nativeElement:((Vt=ve.current)===null||Vt===void 0?void 0:Vt.nativeElement)||Re.current}}),(0,L.useEffect)(function(){ge.current&&(ge.current=!1),Ce(function(Vt){return Vt&&F?!1:Vt})},[F]);var tt=function(Ht,ar,or){var Tt=ar;if(!De.current&&Be.exceedFormatter&&Be.max&&Be.strategy(ar)>Be.max){if(Tt=Be.exceedFormatter(ar,{max:Be.max}),ar!==Tt){var at,vt;Ne([((at=Re.current)===null||at===void 0?void 0:at.selectionStart)||0,((vt=Re.current)===null||vt===void 0?void 0:vt.selectionEnd)||0])}}else if(or.source==="compositionEnd")return;ne(Tt),Re.current&&(0,A.rJ)(Re.current,Ht,E,Tt)};(0,L.useEffect)(function(){if(xe){var Vt;(Vt=Re.current)===null||Vt===void 0||Vt.setSelectionRange.apply(Vt,(0,c.Z)(xe))}},[xe]);var At=function(Ht){tt(Ht,Ht.target.value,{source:"change"})},It=function(Ht){De.current=!1,tt(Ht,Ht.currentTarget.value,{source:"compositionEnd"}),Le==null||Le(Ht)},Nt=function(Ht){R&&Ht.key==="Enter"&&!ge.current&&(ge.current=!0,R(Ht)),O==null||O(Ht)},lt=function(Ht){Ht.key==="Enter"&&(ge.current=!1),z==null||z(Ht)},Bt=function(Ht){Ce(!0),b==null||b(Ht)},cr=function(Ht){ge.current&&(ge.current=!1),Ce(!1),w==null||w(Ht)},bt=function(Ht){ne(""),we(),Re.current&&(0,A.rJ)(Re.current,Ht,E)},ut=ft&&"".concat(P,"-out-of-range"),Wt=function(){var Ht=(0,o.Z)(r,["prefixCls","onPressEnter","addonBefore","addonAfter","prefix","suffix","allowClear","defaultValue","showCount","count","classes","htmlSize","styles","classNames","onClear"]);return L.createElement("input",(0,te.Z)({autoComplete:p},Ht,{onChange:At,onFocus:Bt,onBlur:cr,onKeyDown:Nt,onKeyUp:lt,className:y()(P,(0,X.Z)({},"".concat(P,"-disabled"),F),ue==null?void 0:ue.input),style:me==null?void 0:me.input,ref:Re,size:k,type:q,onCompositionStart:function(or){De.current=!0,Ee==null||Ee(or)},onCompositionEnd:It}))},Ar=function(){var Ht=Number(je)>0;if(C||Be.show){var ar=Be.showFormatter?Be.showFormatter({value:ce,count:et,maxLength:je}):"".concat(et).concat(Ht?" / ".concat(je):"");return L.createElement(L.Fragment,null,Be.show&&L.createElement("span",{className:y()("".concat(P,"-show-count-suffix"),(0,X.Z)({},"".concat(P,"-show-count-has-suffix"),!!C),ue==null?void 0:ue.count),style:(0,ee.Z)({},me==null?void 0:me.count)},ar),C)}return null};return L.createElement(x,(0,te.Z)({},Fe,{prefixCls:P,className:y()(U,ut),handleReset:bt,value:ce,focused:We,triggerFocus:we,suffix:Ar(),disabled:F,classes:se,classNames:ue,styles:me}),Wt())}),h=_,g=h},30292:function($t,Qe,ae){"use strict";ae.d(Qe,{He:function(){return ee},X3:function(){return te},nH:function(){return K},rJ:function(){return S}});function ee(y){return!!(y.addonBefore||y.addonAfter)}function te(y){return!!(y.prefix||y.suffix||y.allowClear)}function X(y,L,A){var s=L.cloneNode(!0),x=Object.create(y,{target:{value:s},currentTarget:{value:s}});return s.value=A,typeof L.selectionStart=="number"&&typeof L.selectionEnd=="number"&&(s.selectionStart=L.selectionStart,s.selectionEnd=L.selectionEnd),s.setSelectionRange=function(){L.setSelectionRange.apply(L,arguments)},x}function S(y,L,A,s){if(A){var x=L;if(L.type==="click"){x=X(L,y,""),A(x);return}if(y.type!=="file"&&s!==void 0){x=X(L,y,s),A(x);return}A(x)}}function K(y,L){if(y){y.focus(L);var A=L||{},s=A.cursor;if(s){var x=y.value.length;switch(s){case"start":y.setSelectionRange(0,0);break;case"end":y.setSelectionRange(x,x);break;default:y.setSelectionRange(0,x)}}}}},28321:function($t,Qe,ae){"use strict";ae.d(Qe,{iz:function(){return Ie},ck:function(){return Tt},BW:function(){return He},sN:function(){return Tt},Wd:function(){return Dt},ZP:function(){return xt},Xl:function(){return R}});var ee=ae(67711),te=ae(52873),X=ae(98506),S=ae(15142),K=ae(16886),y=ae(33346),L=ae(92310),A=ae.n(L),s=ae(11780),x=ae(18929),c=ae(13697),l=ae(48736),f=ae(59301),n=ae(4676),o=f.createContext(null);function d(Ae,Ve){return Ae===void 0?null:"".concat(Ae,"-").concat(Ve)}function m(Ae){var Ve=f.useContext(o);return d(Ve,Ae)}var _=ae(80547),h=["children","locked"],g=f.createContext(null);function r(Ae,Ve){var Je=(0,X.Z)({},Ae);return Object.keys(Ve).forEach(function(rt){var St=Ve[rt];St!==void 0&&(Je[rt]=St)}),Je}function a(Ae){var Ve=Ae.children,Je=Ae.locked,rt=(0,y.Z)(Ae,h),St=f.useContext(g),Rt=(0,_.Z)(function(){return r(St,rt)},[St,rt],function(Mt,Xt){return!Je&&(Mt[0]!==Xt[0]||!(0,c.Z)(Mt[1],Xt[1],!0))});return f.createElement(g.Provider,{value:Rt},Ve)}var p=[],E=f.createContext(null);function b(){return f.useContext(E)}var w=f.createContext(p);function R(Ae){var Ve=f.useContext(w);return f.useMemo(function(){return Ae!==void 0?[].concat((0,S.Z)(Ve),[Ae]):Ve},[Ve,Ae])}var O=f.createContext(null),z=f.createContext({}),B=z,P=ae(29194);function F(Ae){var Ve=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;if((0,P.Z)(Ae)){var Je=Ae.nodeName.toLowerCase(),rt=["input","select","textarea","button"].includes(Je)||Ae.isContentEditable||Je==="a"&&!!Ae.getAttribute("href"),St=Ae.getAttribute("tabindex"),Rt=Number(St),Mt=null;return St&&!Number.isNaN(Rt)?Mt=Rt:rt&&Mt===null&&(Mt=0),rt&&Ae.disabled&&(Mt=null),Mt!==null&&(Mt>=0||Ve&&Mt<0)}return!1}function k(Ae){var Ve=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,Je=(0,S.Z)(Ae.querySelectorAll("*")).filter(function(rt){return F(rt,Ve)});return F(Ae,Ve)&&Je.unshift(Ae),Je}var U=null;function G(){U=document.activeElement}function C(){U=null}function I(){if(U)try{U.focus()}catch(Ae){}}function H(Ae,Ve){if(Ve.keyCode===9){var Je=k(Ae),rt=Je[Ve.shiftKey?0:Je.length-1],St=rt===document.activeElement||Ae===document.activeElement;if(St){var Rt=Je[Ve.shiftKey?Je.length-1:0];Rt.focus(),Ve.preventDefault()}}}var $=ae(10228),q=ae(16089),se=$.Z.LEFT,ue=$.Z.RIGHT,me=$.Z.UP,Ee=$.Z.DOWN,Le=$.Z.ENTER,Fe=$.Z.ESC,Ke=$.Z.HOME,Te=$.Z.END,We=[me,Ee,se,ue];function Ce(Ae,Ve,Je,rt){var St,Rt="prev",Mt="next",Xt="children",Ge="parent";if(Ae==="inline"&&rt===Le)return{inlineTrigger:!0};var Gt=(0,te.Z)((0,te.Z)({},me,Rt),Ee,Mt),hr=(0,te.Z)((0,te.Z)((0,te.Z)((0,te.Z)({},se,Je?Mt:Rt),ue,Je?Rt:Mt),Ee,Xt),Le,Xt),Qt=(0,te.Z)((0,te.Z)((0,te.Z)((0,te.Z)((0,te.Z)((0,te.Z)({},me,Rt),Ee,Mt),Le,Xt),Fe,Ge),se,Je?Xt:Ge),ue,Je?Ge:Xt),Zt={inline:Gt,horizontal:hr,vertical:Qt,inlineSub:Gt,horizontalSub:Qt,verticalSub:Qt},mr=(St=Zt["".concat(Ae).concat(Ve?"":"Sub")])===null||St===void 0?void 0:St[rt];switch(mr){case Rt:return{offset:-1,sibling:!0};case Mt:return{offset:1,sibling:!0};case Ge:return{offset:-1,sibling:!1};case Xt:return{offset:1,sibling:!1};default:return null}}function De(Ae){for(var Ve=Ae;Ve;){if(Ve.getAttribute("data-menu-list"))return Ve;Ve=Ve.parentElement}return null}function ge(Ae,Ve){for(var Je=Ae||document.activeElement;Je;){if(Ve.has(Je))return Je;Je=Je.parentElement}return null}function Re(Ae,Ve){var Je=k(Ae,!0);return Je.filter(function(rt){return Ve.has(rt)})}function ve(Ae,Ve,Je){var rt=arguments.length>3&&arguments[3]!==void 0?arguments[3]:1;if(!Ae)return null;var St=Re(Ae,Ve),Rt=St.length,Mt=St.findIndex(function(Xt){return Je===Xt});return rt<0?Mt===-1?Mt=Rt-1:Mt-=1:rt>0&&(Mt+=1),Mt=(Mt+Rt)%Rt,St[Mt]}var we=function(Ve,Je){var rt=new Set,St=new Map,Rt=new Map;return Ve.forEach(function(Mt){var Xt=document.querySelector("[data-menu-id='".concat(d(Je,Mt),"']"));Xt&&(rt.add(Xt),Rt.set(Xt,Mt),St.set(Mt,Xt))}),{elements:rt,key2element:St,element2key:Rt}};function Ue(Ae,Ve,Je,rt,St,Rt,Mt,Xt,Ge,Gt){var hr=f.useRef(),Qt=f.useRef();Qt.current=Ve;var Zt=function(){q.Z.cancel(hr.current)};return f.useEffect(function(){return function(){Zt()}},[]),function(mr){var Dr=mr.which;if([].concat(We,[Le,Fe,Ke,Te]).includes(Dr)){var Rr=Rt(),lr=we(Rr,rt),ir=lr,Or=ir.elements,br=ir.key2element,yr=ir.element2key,Pr=br.get(Ve),gr=ge(Pr,Or),er=yr.get(gr),Br=Ce(Ae,Mt(er,!0).length===1,Je,Dr);if(!Br&&Dr!==Ke&&Dr!==Te)return;(We.includes(Dr)||[Ke,Te].includes(Dr))&&mr.preventDefault();var zr=function(Er){if(Er){var kt=Er,Ft=Er.querySelector("a");Ft!=null&&Ft.getAttribute("href")&&(kt=Ft);var tr=yr.get(Er);Xt(tr),Zt(),hr.current=(0,q.Z)(function(){Qt.current===tr&&kt.focus()})}};if([Ke,Te].includes(Dr)||Br.sibling||!gr){var Qr;!gr||Ae==="inline"?Qr=St.current:Qr=De(gr);var xr,ni=Re(Qr,Or);Dr===Ke?xr=ni[0]:Dr===Te?xr=ni[ni.length-1]:xr=ve(Qr,Or,gr,Br.offset),zr(xr)}else if(Br.inlineTrigger)Ge(er);else if(Br.offset>0)Ge(er,!0),Zt(),hr.current=(0,q.Z)(function(){lr=we(Rr,rt);var Vr=gr.getAttribute("aria-controls"),Er=document.getElementById(Vr),kt=ve(Er,lr.elements);zr(kt)},5);else if(Br.offset<0){var $r=Mt(er,!0),ei=$r[$r.length-2],si=br.get(ei);Ge(ei,!1),zr(si)}}Gt==null||Gt(mr)}}function de(Ae){Promise.resolve().then(Ae)}var oe="__RC_UTIL_PATH_SPLIT__",ne=function(Ve){return Ve.join(oe)},ce=function(Ve){return Ve.split(oe)},ye="rc-menu-more";function he(){var Ae=f.useState({}),Ve=(0,K.Z)(Ae,2),Je=Ve[1],rt=(0,f.useRef)(new Map),St=(0,f.useRef)(new Map),Rt=f.useState([]),Mt=(0,K.Z)(Rt,2),Xt=Mt[0],Ge=Mt[1],Gt=(0,f.useRef)(0),hr=(0,f.useRef)(!1),Qt=function(){hr.current||Je({})},Zt=(0,f.useCallback)(function(br,yr){var Pr=ne(yr);St.current.set(Pr,br),rt.current.set(br,Pr),Gt.current+=1;var gr=Gt.current;de(function(){gr===Gt.current&&Qt()})},[]),mr=(0,f.useCallback)(function(br,yr){var Pr=ne(yr);St.current.delete(Pr),rt.current.delete(br)},[]),Dr=(0,f.useCallback)(function(br){Ge(br)},[]),Rr=(0,f.useCallback)(function(br,yr){var Pr=rt.current.get(br)||"",gr=ce(Pr);return yr&&Xt.includes(gr[0])&&gr.unshift(ye),gr},[Xt]),lr=(0,f.useCallback)(function(br,yr){return br.filter(function(Pr){return Pr!==void 0}).some(function(Pr){var gr=Rr(Pr,!0);return gr.includes(yr)})},[Rr]),ir=function(){var yr=(0,S.Z)(rt.current.keys());return Xt.length&&yr.push(ye),yr},Or=(0,f.useCallback)(function(br){var yr="".concat(rt.current.get(br)).concat(oe),Pr=new Set;return(0,S.Z)(St.current.keys()).forEach(function(gr){gr.startsWith(yr)&&Pr.add(St.current.get(gr))}),Pr},[]);return f.useEffect(function(){return function(){hr.current=!0}},[]),{registerPath:Zt,unregisterPath:mr,refreshOverflowKeys:Dr,isSubPathKey:lr,getKeyPath:Rr,getKeys:ir,getSubPathKeys:Or}}function xe(Ae){var Ve=f.useRef(Ae);Ve.current=Ae;var Je=f.useCallback(function(){for(var rt,St=arguments.length,Rt=new Array(St),Mt=0;Mt<St;Mt++)Rt[Mt]=arguments[Mt];return(rt=Ve.current)===null||rt===void 0?void 0:rt.call.apply(rt,[Ve].concat(Rt))},[]);return Ae?Je:void 0}var Ne=Math.random().toFixed(5).toString().slice(2),Be=0;function je(Ae){var Ve=(0,x.Z)(Ae,{value:Ae}),Je=(0,K.Z)(Ve,2),rt=Je[0],St=Je[1];return f.useEffect(function(){Be+=1;var Rt="".concat(Ne,"-").concat(Be);St("rc-menu-uuid-".concat(Rt))},[]),rt}var et=ae(42573),ft=ae(58698),tt=ae(74700),At=ae(45080),It=ae(2738),Nt=ae(8654);function lt(Ae,Ve,Je,rt){var St=f.useContext(g),Rt=St.activeKey,Mt=St.onActive,Xt=St.onInactive,Ge={active:Rt===Ae};return Ve||(Ge.onMouseEnter=function(Gt){Je==null||Je({key:Ae,domEvent:Gt}),Mt(Ae)},Ge.onMouseLeave=function(Gt){rt==null||rt({key:Ae,domEvent:Gt}),Xt(Ae)}),Ge}function Bt(Ae){var Ve=f.useContext(g),Je=Ve.mode,rt=Ve.rtl,St=Ve.inlineIndent;if(Je!=="inline")return null;var Rt=Ae;return rt?{paddingRight:Rt*St}:{paddingLeft:Rt*St}}function cr(Ae){var Ve=Ae.icon,Je=Ae.props,rt=Ae.children,St;return Ve===null||Ve===!1?null:(typeof Ve=="function"?St=f.createElement(Ve,(0,X.Z)({},Je)):typeof Ve!="boolean"&&(St=Ve),St||rt||null)}var bt=["item"];function ut(Ae){var Ve=Ae.item,Je=(0,y.Z)(Ae,bt);return Object.defineProperty(Je,"item",{get:function(){return(0,l.ZP)(!1,"`info.item` is deprecated since we will move to function component that not provides React Node instance in future."),Ve}}),Je}var Wt=["title","attribute","elementRef"],Ar=["style","className","eventKey","warnKey","disabled","itemIcon","children","role","onMouseEnter","onMouseLeave","onClick","onKeyDown","onFocus"],Vt=["active"],Ht=function(Ae){(0,tt.Z)(Je,Ae);var Ve=(0,At.Z)(Je);function Je(){return(0,et.Z)(this,Je),Ve.apply(this,arguments)}return(0,ft.Z)(Je,[{key:"render",value:function(){var St=this.props,Rt=St.title,Mt=St.attribute,Xt=St.elementRef,Ge=(0,y.Z)(St,Wt),Gt=(0,It.Z)(Ge,["eventKey","popupClassName","popupOffset","onTitleClick"]);return(0,l.ZP)(!Mt,"`attribute` of Menu.Item is deprecated. Please pass attribute directly."),f.createElement(s.Z.Item,(0,ee.Z)({},Mt,{title:typeof Rt=="string"?Rt:void 0},Gt,{ref:Xt}))}}]),Je}(f.Component),ar=f.forwardRef(function(Ae,Ve){var Je=Ae.style,rt=Ae.className,St=Ae.eventKey,Rt=Ae.warnKey,Mt=Ae.disabled,Xt=Ae.itemIcon,Ge=Ae.children,Gt=Ae.role,hr=Ae.onMouseEnter,Qt=Ae.onMouseLeave,Zt=Ae.onClick,mr=Ae.onKeyDown,Dr=Ae.onFocus,Rr=(0,y.Z)(Ae,Ar),lr=m(St),ir=f.useContext(g),Or=ir.prefixCls,br=ir.onItemClick,yr=ir.disabled,Pr=ir.overflowDisabled,gr=ir.itemIcon,er=ir.selectedKeys,Br=ir.onActive,zr=f.useContext(B),Qr=zr._internalRenderMenuItem,xr="".concat(Or,"-item"),ni=f.useRef(),$r=f.useRef(),ei=yr||Mt,si=(0,Nt.x1)(Ve,$r),Vr=R(St),Er=function(Zr){return{key:St,keyPath:(0,S.Z)(Vr).reverse(),item:ni.current,domEvent:Zr}},kt=Xt||gr,Ft=lt(St,ei,hr,Qt),tr=Ft.active,Jt=(0,y.Z)(Ft,Vt),Tr=er.includes(St),kr=Bt(Vr.length),jr=function(Zr){if(!ei){var Ai=Er(Zr);Zt==null||Zt(ut(Ai)),br(Ai)}},Fr=function(Zr){if(mr==null||mr(Zr),Zr.which===$.Z.ENTER){var Ai=Er(Zr);Zt==null||Zt(ut(Ai)),br(Ai)}},ri=function(Zr){Br(St),Dr==null||Dr(Zr)},Ei={};Ae.role==="option"&&(Ei["aria-selected"]=Tr);var pi=f.createElement(Ht,(0,ee.Z)({ref:ni,elementRef:si,role:Gt===null?"none":Gt||"menuitem",tabIndex:Mt?null:-1,"data-menu-id":Pr&&lr?null:lr},(0,It.Z)(Rr,["extra"]),Jt,Ei,{component:"li","aria-disabled":Mt,style:(0,X.Z)((0,X.Z)({},kr),Je),className:A()(xr,(0,te.Z)((0,te.Z)((0,te.Z)({},"".concat(xr,"-active"),tr),"".concat(xr,"-selected"),Tr),"".concat(xr,"-disabled"),ei),rt),onClick:jr,onKeyDown:Fr,onFocus:ri}),Ge,f.createElement(cr,{props:(0,X.Z)((0,X.Z)({},Ae),{},{isSelected:Tr}),icon:kt}));return Qr&&(pi=Qr(pi,Ae,{selected:Tr})),pi});function or(Ae,Ve){var Je=Ae.eventKey,rt=b(),St=R(Je);return f.useEffect(function(){if(rt)return rt.registerPath(Je,St),function(){rt.unregisterPath(Je,St)}},[St]),rt?null:f.createElement(ar,(0,ee.Z)({},Ae,{ref:Ve}))}var Tt=f.forwardRef(or),at=["className","children"],vt=function(Ve,Je){var rt=Ve.className,St=Ve.children,Rt=(0,y.Z)(Ve,at),Mt=f.useContext(g),Xt=Mt.prefixCls,Ge=Mt.mode,Gt=Mt.rtl;return f.createElement("ul",(0,ee.Z)({className:A()(Xt,Gt&&"".concat(Xt,"-rtl"),"".concat(Xt,"-sub"),"".concat(Xt,"-").concat(Ge==="inline"?"inline":"vertical"),rt),role:"menu"},Rt,{"data-menu-list":!0,ref:Je}),St)},Yt=f.forwardRef(vt);Yt.displayName="SubMenuList";var qt=Yt,Cr=ae(11592);function nt(Ae,Ve){return(0,Cr.Z)(Ae).map(function(Je,rt){if(f.isValidElement(Je)){var St,Rt,Mt=Je.key,Xt=(St=(Rt=Je.props)===null||Rt===void 0?void 0:Rt.eventKey)!==null&&St!==void 0?St:Mt,Ge=Xt==null;Ge&&(Xt="tmp_key-".concat([].concat((0,S.Z)(Ve),[rt]).join("-")));var Gt={key:Xt,eventKey:Xt};return f.cloneElement(Je,Gt)}return Je})}var yt=ae(65030),Lt={adjustX:1,adjustY:1},Ut={topLeft:{points:["bl","tl"],overflow:Lt},topRight:{points:["br","tr"],overflow:Lt},bottomLeft:{points:["tl","bl"],overflow:Lt},bottomRight:{points:["tr","br"],overflow:Lt},leftTop:{points:["tr","tl"],overflow:Lt},leftBottom:{points:["br","bl"],overflow:Lt},rightTop:{points:["tl","tr"],overflow:Lt},rightBottom:{points:["bl","br"],overflow:Lt}},rr={topLeft:{points:["bl","tl"],overflow:Lt},topRight:{points:["br","tr"],overflow:Lt},bottomLeft:{points:["tl","bl"],overflow:Lt},bottomRight:{points:["tr","br"],overflow:Lt},rightTop:{points:["tr","tl"],overflow:Lt},rightBottom:{points:["br","bl"],overflow:Lt},leftTop:{points:["tl","tr"],overflow:Lt},leftBottom:{points:["bl","br"],overflow:Lt}},dt=null;function V(Ae,Ve,Je){if(Ve)return Ve;if(Je)return Je[Ae]||Je.other}var Y={horizontal:"bottomLeft",vertical:"rightTop","vertical-left":"rightTop","vertical-right":"leftTop"};function Q(Ae){var Ve=Ae.prefixCls,Je=Ae.visible,rt=Ae.children,St=Ae.popup,Rt=Ae.popupStyle,Mt=Ae.popupClassName,Xt=Ae.popupOffset,Ge=Ae.disabled,Gt=Ae.mode,hr=Ae.onVisibleChange,Qt=f.useContext(g),Zt=Qt.getPopupContainer,mr=Qt.rtl,Dr=Qt.subMenuOpenDelay,Rr=Qt.subMenuCloseDelay,lr=Qt.builtinPlacements,ir=Qt.triggerSubMenuAction,Or=Qt.forceSubMenuRender,br=Qt.rootClassName,yr=Qt.motion,Pr=Qt.defaultMotions,gr=f.useState(!1),er=(0,K.Z)(gr,2),Br=er[0],zr=er[1],Qr=mr?(0,X.Z)((0,X.Z)({},rr),lr):(0,X.Z)((0,X.Z)({},Ut),lr),xr=Y[Gt],ni=V(Gt,yr,Pr),$r=f.useRef(ni);Gt!=="inline"&&($r.current=ni);var ei=(0,X.Z)((0,X.Z)({},$r.current),{},{leavedClassName:"".concat(Ve,"-hidden"),removeOnLeave:!1,motionAppear:!0}),si=f.useRef();return f.useEffect(function(){return si.current=(0,q.Z)(function(){zr(Je)}),function(){q.Z.cancel(si.current)}},[Je]),f.createElement(yt.Z,{prefixCls:Ve,popupClassName:A()("".concat(Ve,"-popup"),(0,te.Z)({},"".concat(Ve,"-rtl"),mr),Mt,br),stretch:Gt==="horizontal"?"minWidth":null,getPopupContainer:Zt,builtinPlacements:Qr,popupPlacement:xr,popupVisible:Br,popup:St,popupStyle:Rt,popupAlign:Xt&&{offset:Xt},action:Ge?[]:[ir],mouseEnterDelay:Dr,mouseLeaveDelay:Rr,onPopupVisibleChange:hr,forceRender:Or,popupMotion:ei,fresh:!0},rt)}var le=ae(77900);function fe(Ae){var Ve=Ae.id,Je=Ae.open,rt=Ae.keyPath,St=Ae.children,Rt="inline",Mt=f.useContext(g),Xt=Mt.prefixCls,Ge=Mt.forceSubMenuRender,Gt=Mt.motion,hr=Mt.defaultMotions,Qt=Mt.mode,Zt=f.useRef(!1);Zt.current=Qt===Rt;var mr=f.useState(!Zt.current),Dr=(0,K.Z)(mr,2),Rr=Dr[0],lr=Dr[1],ir=Zt.current?Je:!1;f.useEffect(function(){Zt.current&&lr(!1)},[Qt]);var Or=(0,X.Z)({},V(Rt,Gt,hr));rt.length>1&&(Or.motionAppear=!1);var br=Or.onVisibleChanged;return Or.onVisibleChanged=function(yr){return!Zt.current&&!yr&&lr(!0),br==null?void 0:br(yr)},Rr?null:f.createElement(a,{mode:Rt,locked:!Zt.current},f.createElement(le.default,(0,ee.Z)({visible:ir},Or,{forceRender:Ge,removeOnLeave:!1,leavedClassName:"".concat(Xt,"-hidden")}),function(yr){var Pr=yr.className,gr=yr.style;return f.createElement(qt,{id:Ve,className:Pr,style:gr},St)}))}var Oe=["style","className","title","eventKey","warnKey","disabled","internalPopupClose","children","itemIcon","expandIcon","popupClassName","popupOffset","popupStyle","onClick","onMouseEnter","onMouseLeave","onTitleClick","onTitleMouseEnter","onTitleMouseLeave"],Pe=["active"],Ye=f.forwardRef(function(Ae,Ve){var Je=Ae.style,rt=Ae.className,St=Ae.title,Rt=Ae.eventKey,Mt=Ae.warnKey,Xt=Ae.disabled,Ge=Ae.internalPopupClose,Gt=Ae.children,hr=Ae.itemIcon,Qt=Ae.expandIcon,Zt=Ae.popupClassName,mr=Ae.popupOffset,Dr=Ae.popupStyle,Rr=Ae.onClick,lr=Ae.onMouseEnter,ir=Ae.onMouseLeave,Or=Ae.onTitleClick,br=Ae.onTitleMouseEnter,yr=Ae.onTitleMouseLeave,Pr=(0,y.Z)(Ae,Oe),gr=m(Rt),er=f.useContext(g),Br=er.prefixCls,zr=er.mode,Qr=er.openKeys,xr=er.disabled,ni=er.overflowDisabled,$r=er.activeKey,ei=er.selectedKeys,si=er.itemIcon,Vr=er.expandIcon,Er=er.onItemClick,kt=er.onOpenChange,Ft=er.onActive,tr=f.useContext(B),Jt=tr._internalRenderSubMenuItem,Tr=f.useContext(O),kr=Tr.isSubPathKey,jr=R(),Fr="".concat(Br,"-submenu"),ri=xr||Xt,Ei=f.useRef(),pi=f.useRef(),ui=hr!=null?hr:si,Zr=Qt!=null?Qt:Vr,Ai=Qr.includes(Rt),bi=!ni&&Ai,Di=kr(ei,Rt),fr=lt(Rt,ri,br,yr),_i=fr.active,hi=(0,y.Z)(fr,Pe),Ri=f.useState(!1),Ni=(0,K.Z)(Ri,2),Bi=Ni[0],Pi=Ni[1],Li=function(Xr){ri||Pi(Xr)},ai=function(Xr){Li(!0),lr==null||lr({key:Rt,domEvent:Xr})},Oi=function(Xr){Li(!1),ir==null||ir({key:Rt,domEvent:Xr})},Xi=f.useMemo(function(){return _i||(zr!=="inline"?Bi||kr([$r],Rt):!1)},[zr,_i,$r,Bi,Rt,kr]),xi=Bt(jr.length),tn=function(Xr){ri||(Or==null||Or({key:Rt,domEvent:Xr}),zr==="inline"&&kt(Rt,!Ai))},rn=xe(function(fi){Rr==null||Rr(ut(fi)),Er(fi)}),Yi=function(Xr){zr!=="inline"&&kt(Rt,Xr)},Fi=function(){Ft(Rt)},Ki=gr&&"".concat(gr,"-popup"),Gi=f.useMemo(function(){return f.createElement(cr,{icon:zr!=="horizontal"?Zr:void 0,props:(0,X.Z)((0,X.Z)({},Ae),{},{isOpen:bi,isSubMenu:!0})},f.createElement("i",{className:"".concat(Fr,"-arrow")}))},[zr,Zr,Ae,bi,Fr]),Ti=f.createElement("div",(0,ee.Z)({role:"menuitem",style:xi,className:"".concat(Fr,"-title"),tabIndex:ri?null:-1,ref:Ei,title:typeof St=="string"?St:null,"data-menu-id":ni&&gr?null:gr,"aria-expanded":bi,"aria-haspopup":!0,"aria-controls":Ki,"aria-disabled":ri,onClick:tn,onFocus:Fi},hi),St,Gi),Mi=f.useRef(zr);if(zr!=="inline"&&jr.length>1?Mi.current="vertical":Mi.current=zr,!ni){var ji=Mi.current;Ti=f.createElement(Q,{mode:ji,prefixCls:Fr,visible:!Ge&&bi&&zr!=="inline",popupClassName:Zt,popupOffset:mr,popupStyle:Dr,popup:f.createElement(a,{mode:ji==="horizontal"?"vertical":ji},f.createElement(qt,{id:Ki,ref:pi},Gt)),disabled:ri,onVisibleChange:Yi},Ti)}var Jr=f.createElement(s.Z.Item,(0,ee.Z)({ref:Ve,role:"none"},Pr,{component:"li",style:Je,className:A()(Fr,"".concat(Fr,"-").concat(zr),rt,(0,te.Z)((0,te.Z)((0,te.Z)((0,te.Z)({},"".concat(Fr,"-open"),bi),"".concat(Fr,"-active"),Xi),"".concat(Fr,"-selected"),Di),"".concat(Fr,"-disabled"),ri)),onMouseEnter:ai,onMouseLeave:Oi}),Ti,!ni&&f.createElement(fe,{id:Ki,open:bi,keyPath:jr},Gt));return Jt&&(Jr=Jt(Jr,Ae,{selected:Di,active:Xi,open:bi,disabled:ri})),f.createElement(a,{onItemClick:rn,mode:zr==="horizontal"?"vertical":zr,itemIcon:ui,expandIcon:Zr},Jr)}),$e=f.forwardRef(function(Ae,Ve){var Je=Ae.eventKey,rt=Ae.children,St=R(Je),Rt=nt(rt,St),Mt=b();f.useEffect(function(){if(Mt)return Mt.registerPath(Je,St),function(){Mt.unregisterPath(Je,St)}},[St]);var Xt;return Mt?Xt=Rt:Xt=f.createElement(Ye,(0,ee.Z)({ref:Ve},Ae),Rt),f.createElement(w.Provider,{value:St},Xt)}),Dt=$e,zt=ae(26420);function Ie(Ae){var Ve=Ae.className,Je=Ae.style,rt=f.useContext(g),St=rt.prefixCls,Rt=b();return Rt?null:f.createElement("li",{role:"separator",className:A()("".concat(St,"-item-divider"),Ve),style:Je})}var be=["className","title","eventKey","children"],ct=f.forwardRef(function(Ae,Ve){var Je=Ae.className,rt=Ae.title,St=Ae.eventKey,Rt=Ae.children,Mt=(0,y.Z)(Ae,be),Xt=f.useContext(g),Ge=Xt.prefixCls,Gt="".concat(Ge,"-item-group");return f.createElement("li",(0,ee.Z)({ref:Ve,role:"presentation"},Mt,{onClick:function(Qt){return Qt.stopPropagation()},className:A()(Gt,Je)}),f.createElement("div",{role:"presentation",className:"".concat(Gt,"-title"),title:typeof rt=="string"?rt:void 0},rt),f.createElement("ul",{role:"group",className:"".concat(Gt,"-list")},Rt))}),ze=f.forwardRef(function(Ae,Ve){var Je=Ae.eventKey,rt=Ae.children,St=R(Je),Rt=nt(rt,St),Mt=b();return Mt?Rt:f.createElement(ct,(0,ee.Z)({ref:Ve},(0,It.Z)(Ae,["warnKey"])),Rt)}),He=ze,Xe=["label","children","key","type","extra"];function st(Ae,Ve,Je){var rt=Ve.item,St=Ve.group,Rt=Ve.submenu,Mt=Ve.divider;return(Ae||[]).map(function(Xt,Ge){if(Xt&&(0,zt.Z)(Xt)==="object"){var Gt=Xt,hr=Gt.label,Qt=Gt.children,Zt=Gt.key,mr=Gt.type,Dr=Gt.extra,Rr=(0,y.Z)(Gt,Xe),lr=Zt!=null?Zt:"tmp-".concat(Ge);return Qt||mr==="group"?mr==="group"?f.createElement(St,(0,ee.Z)({key:lr},Rr,{title:hr}),st(Qt,Ve,Je)):f.createElement(Rt,(0,ee.Z)({key:lr},Rr,{title:hr}),st(Qt,Ve,Je)):mr==="divider"?f.createElement(Mt,(0,ee.Z)({key:lr},Rr)):f.createElement(rt,(0,ee.Z)({key:lr},Rr,{extra:Dr}),hr,(!!Dr||Dr===0)&&f.createElement("span",{className:"".concat(Je,"-item-extra")},Dr))}return null}).filter(function(Xt){return Xt})}function mt(Ae,Ve,Je,rt,St){var Rt=Ae,Mt=(0,X.Z)({divider:Ie,item:Tt,group:He,submenu:Dt},rt);return Ve&&(Rt=st(Ve,Mt,St)),nt(Rt,Je)}var Kt=["prefixCls","rootClassName","style","className","tabIndex","items","children","direction","id","mode","inlineCollapsed","disabled","disabledOverflow","subMenuOpenDelay","subMenuCloseDelay","forceSubMenuRender","defaultOpenKeys","openKeys","activeKey","defaultActiveFirst","selectable","multiple","defaultSelectedKeys","selectedKeys","onSelect","onDeselect","inlineIndent","motion","defaultMotions","triggerSubMenuAction","builtinPlacements","itemIcon","expandIcon","overflowedIndicator","overflowedIndicatorPopupClassName","getPopupContainer","onClick","onOpenChange","onKeyDown","openAnimation","openTransitionName","_internalRenderMenuItem","_internalRenderSubMenuItem","_internalComponents"],gt=[],Ot=f.forwardRef(function(Ae,Ve){var Je,rt=Ae,St=rt.prefixCls,Rt=St===void 0?"rc-menu":St,Mt=rt.rootClassName,Xt=rt.style,Ge=rt.className,Gt=rt.tabIndex,hr=Gt===void 0?0:Gt,Qt=rt.items,Zt=rt.children,mr=rt.direction,Dr=rt.id,Rr=rt.mode,lr=Rr===void 0?"vertical":Rr,ir=rt.inlineCollapsed,Or=rt.disabled,br=rt.disabledOverflow,yr=rt.subMenuOpenDelay,Pr=yr===void 0?.1:yr,gr=rt.subMenuCloseDelay,er=gr===void 0?.1:gr,Br=rt.forceSubMenuRender,zr=rt.defaultOpenKeys,Qr=rt.openKeys,xr=rt.activeKey,ni=rt.defaultActiveFirst,$r=rt.selectable,ei=$r===void 0?!0:$r,si=rt.multiple,Vr=si===void 0?!1:si,Er=rt.defaultSelectedKeys,kt=rt.selectedKeys,Ft=rt.onSelect,tr=rt.onDeselect,Jt=rt.inlineIndent,Tr=Jt===void 0?24:Jt,kr=rt.motion,jr=rt.defaultMotions,Fr=rt.triggerSubMenuAction,ri=Fr===void 0?"hover":Fr,Ei=rt.builtinPlacements,pi=rt.itemIcon,ui=rt.expandIcon,Zr=rt.overflowedIndicator,Ai=Zr===void 0?"...":Zr,bi=rt.overflowedIndicatorPopupClassName,Di=rt.getPopupContainer,fr=rt.onClick,_i=rt.onOpenChange,hi=rt.onKeyDown,Ri=rt.openAnimation,Ni=rt.openTransitionName,Bi=rt._internalRenderMenuItem,Pi=rt._internalRenderSubMenuItem,Li=rt._internalComponents,ai=(0,y.Z)(rt,Kt),Oi=f.useMemo(function(){return[mt(Zt,Qt,gt,Li,Rt),mt(Zt,Qt,gt,{},Rt)]},[Zt,Qt,Li]),Xi=(0,K.Z)(Oi,2),xi=Xi[0],tn=Xi[1],rn=f.useState(!1),Yi=(0,K.Z)(rn,2),Fi=Yi[0],Ki=Yi[1],Gi=f.useRef(),Ti=je(Dr),Mi=mr==="rtl",ji=(0,x.Z)(zr,{value:Qr,postState:function(gi){return gi||gt}}),Jr=(0,K.Z)(ji,2),fi=Jr[0],Xr=Jr[1],sr=function(gi){var Si=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;function $i(){Xr(gi),_i==null||_i(gi)}Si?(0,n.flushSync)($i):$i()},Nr=f.useState(fi),Ir=(0,K.Z)(Nr,2),Mr=Ir[0],ti=Ir[1],ci=f.useRef(!1),Zi=f.useMemo(function(){return(lr==="inline"||lr==="vertical")&&ir?["vertical",ir]:[lr,!1]},[lr,ir]),dr=(0,K.Z)(Zi,2),wr=dr[0],Wr=dr[1],oi=wr==="inline",di=f.useState(wr),nn=(0,K.Z)(di,2),Vi=nn[0],hn=nn[1],Ui=f.useState(Wr),Nn=(0,K.Z)(Ui,2),an=Nn[0],Qn=Nn[1];f.useEffect(function(){hn(wr),Qn(Wr),ci.current&&(oi?Xr(Mr):sr(gt))},[wr,Wr]);var Sn=f.useState(0),Vn=(0,K.Z)(Sn,2),wn=Vn[0],Jn=Vn[1],Bn=wn>=xi.length-1||Vi!=="horizontal"||br;f.useEffect(function(){oi&&ti(fi)},[fi]),f.useEffect(function(){return ci.current=!0,function(){ci.current=!1}},[]);var yn=he(),Cn=yn.registerPath,Hn=yn.unregisterPath,zn=yn.refreshOverflowKeys,qi=yn.isSubPathKey,qn=yn.getKeyPath,Pn=yn.getKeys,ea=yn.getSubPathKeys,fa=f.useMemo(function(){return{registerPath:Cn,unregisterPath:Hn}},[Cn,Hn]),da=f.useMemo(function(){return{isSubPathKey:qi}},[qi]);f.useEffect(function(){zn(Bn?gt:xi.slice(wn+1).map(function(wt){return wt.key}))},[wn,Bn]);var _a=(0,x.Z)(xr||ni&&((Je=xi[0])===null||Je===void 0?void 0:Je.key),{value:xr}),jn=(0,K.Z)(_a,2),fn=jn[0],qr=jn[1],Yr=xe(function(wt){qr(wt)}),ki=xe(function(){qr(void 0)});(0,f.useImperativeHandle)(Ve,function(){return{list:Gi.current,focus:function(gi){var Si,$i=Pn(),en=we($i,Ti),Fn=en.elements,ra=en.key2element,Va=en.element2key,ba=Re(Gi.current,Fn),ia=fn!=null?fn:ba[0]?Va.get(ba[0]):(Si=xi.find(function(Ha){return!Ha.props.disabled}))===null||Si===void 0?void 0:Si.key,xn=ra.get(ia);if(ia&&xn){var Dn;xn==null||(Dn=xn.focus)===null||Dn===void 0||Dn.call(xn,gi)}}}});var Wi=(0,x.Z)(Er||[],{value:kt,postState:function(gi){return Array.isArray(gi)?gi:gi==null?gt:[gi]}}),wi=(0,K.Z)(Wi,2),Ci=wi[0],sn=wi[1],Hi=function(gi){if(ei){var Si=gi.key,$i=Ci.includes(Si),en;Vr?$i?en=Ci.filter(function(ra){return ra!==Si}):en=[].concat((0,S.Z)(Ci),[Si]):en=[Si],sn(en);var Fn=(0,X.Z)((0,X.Z)({},gi),{},{selectedKeys:en});$i?tr==null||tr(Fn):Ft==null||Ft(Fn)}!Vr&&fi.length&&Vi!=="inline"&&sr(gt)},En=xe(function(wt){fr==null||fr(ut(wt)),Hi(wt)}),dn=xe(function(wt,gi){var Si=fi.filter(function(en){return en!==wt});if(gi)Si.push(wt);else if(Vi!=="inline"){var $i=ea(wt);Si=Si.filter(function(en){return!$i.has(en)})}(0,c.Z)(fi,Si,!0)||sr(Si,!0)}),_n=function(gi,Si){var $i=Si!=null?Si:!fi.includes(gi);dn(gi,$i)},Un=Ue(Vi,fn,Mi,Ti,Gi,Pn,qn,qr,_n,hi);f.useEffect(function(){Ki(!0)},[]);var In=f.useMemo(function(){return{_internalRenderMenuItem:Bi,_internalRenderSubMenuItem:Pi}},[Bi,Pi]),ta=Vi!=="horizontal"||br?xi:xi.map(function(wt,gi){return f.createElement(a,{key:wt.key,overflowDisabled:gi>wn},wt)}),Ga=f.createElement(s.Z,(0,ee.Z)({id:Dr,ref:Gi,prefixCls:"".concat(Rt,"-overflow"),component:"ul",itemComponent:Tt,className:A()(Rt,"".concat(Rt,"-root"),"".concat(Rt,"-").concat(Vi),Ge,(0,te.Z)((0,te.Z)({},"".concat(Rt,"-inline-collapsed"),an),"".concat(Rt,"-rtl"),Mi),Mt),dir:mr,style:Xt,role:"menu",tabIndex:hr,data:ta,renderRawItem:function(gi){return gi},renderRawRest:function(gi){var Si=gi.length,$i=Si?xi.slice(-Si):null;return f.createElement(Dt,{eventKey:ye,title:Ai,disabled:Bn,internalPopupClose:Si===0,popupClassName:bi},$i)},maxCount:Vi!=="horizontal"||br?s.Z.INVALIDATE:s.Z.RESPONSIVE,ssr:"full","data-menu-list":!0,onVisibleChange:function(gi){Jn(gi)},onKeyDown:Un},ai));return f.createElement(B.Provider,{value:In},f.createElement(o.Provider,{value:Ti},f.createElement(a,{prefixCls:Rt,rootClassName:Mt,mode:Vi,openKeys:fi,rtl:Mi,disabled:Or,motion:Fi?kr:null,defaultMotions:Fi?jr:null,activeKey:fn,onActive:Yr,onInactive:ki,selectedKeys:Ci,inlineIndent:Tr,subMenuOpenDelay:Pr,subMenuCloseDelay:er,forceSubMenuRender:Br,builtinPlacements:Ei,triggerSubMenuAction:ri,getPopupContainer:Di,itemIcon:pi,expandIcon:ui,onItemClick:En,onOpenChange:dn},f.createElement(O.Provider,{value:da},Ga),f.createElement("div",{style:{display:"none"},"aria-hidden":!0},f.createElement(E.Provider,{value:fa},tn)))))}),pt=Ot,Ct=pt;Ct.Item=Tt,Ct.SubMenu=Dt,Ct.ItemGroup=He,Ct.Divider=Ie;var xt=Ct},11780:function($t,Qe,ae){"use strict";ae.d(Qe,{Z:function(){return G}});var ee=ae(67711),te=ae(98506),X=ae(16886),S=ae(33346),K=ae(59301),y=ae(92310),L=ae.n(y),A=ae(29301),s=ae(34280),x=["prefixCls","invalidate","item","renderItem","responsive","responsiveDisabled","registerSize","itemKey","className","style","children","display","order","component"],c=void 0;function l(C,I){var H=C.prefixCls,$=C.invalidate,q=C.item,se=C.renderItem,ue=C.responsive,me=C.responsiveDisabled,Ee=C.registerSize,Le=C.itemKey,Fe=C.className,Ke=C.style,Te=C.children,We=C.display,Ce=C.order,De=C.component,ge=De===void 0?"div":De,Re=(0,S.Z)(C,x),ve=ue&&!We;function we(ce){Ee(Le,ce)}K.useEffect(function(){return function(){we(null)}},[]);var Ue=se&&q!==c?se(q,{index:Ce}):Te,de;$||(de={opacity:ve?0:1,height:ve?0:c,overflowY:ve?"hidden":c,order:ue?Ce:c,pointerEvents:ve?"none":c,position:ve?"absolute":c});var oe={};ve&&(oe["aria-hidden"]=!0);var ne=K.createElement(ge,(0,ee.Z)({className:L()(!$&&H,Fe),style:(0,te.Z)((0,te.Z)({},de),Ke)},oe,Re,{ref:I}),Ue);return ue&&(ne=K.createElement(A.Z,{onResize:function(ye){var he=ye.offsetWidth;we(he)},disabled:me},ne)),ne}var f=K.forwardRef(l);f.displayName="Item";var n=f,o=ae(6089),d=ae(4676),m=ae(16089);function _(C){if(typeof MessageChannel=="undefined")(0,m.Z)(C);else{var I=new MessageChannel;I.port1.onmessage=function(){return C()},I.port2.postMessage(void 0)}}function h(){var C=K.useRef(null),I=function($){C.current||(C.current=[],_(function(){(0,d.unstable_batchedUpdates)(function(){C.current.forEach(function(q){q()}),C.current=null})})),C.current.push($)};return I}function g(C,I){var H=K.useState(I),$=(0,X.Z)(H,2),q=$[0],se=$[1],ue=(0,o.Z)(function(me){C(function(){se(me)})});return[q,ue]}var r=K.createContext(null),a=["component"],p=["className"],E=["className"],b=function(I,H){var $=K.useContext(r);if(!$){var q=I.component,se=q===void 0?"div":q,ue=(0,S.Z)(I,a);return K.createElement(se,(0,ee.Z)({},ue,{ref:H}))}var me=$.className,Ee=(0,S.Z)($,p),Le=I.className,Fe=(0,S.Z)(I,E);return K.createElement(r.Provider,{value:null},K.createElement(n,(0,ee.Z)({ref:H,className:L()(me,Le)},Ee,Fe)))},w=K.forwardRef(b);w.displayName="RawItem";var R=w,O=["prefixCls","data","renderItem","renderRawItem","itemKey","itemWidth","ssr","style","className","maxCount","renderRest","renderRawRest","suffix","component","itemComponent","onVisibleChange"],z="responsive",B="invalidate";function P(C){return"+ ".concat(C.length," ...")}function F(C,I){var H=C.prefixCls,$=H===void 0?"rc-overflow":H,q=C.data,se=q===void 0?[]:q,ue=C.renderItem,me=C.renderRawItem,Ee=C.itemKey,Le=C.itemWidth,Fe=Le===void 0?10:Le,Ke=C.ssr,Te=C.style,We=C.className,Ce=C.maxCount,De=C.renderRest,ge=C.renderRawRest,Re=C.suffix,ve=C.component,we=ve===void 0?"div":ve,Ue=C.itemComponent,de=C.onVisibleChange,oe=(0,S.Z)(C,O),ne=Ke==="full",ce=h(),ye=g(ce,null),he=(0,X.Z)(ye,2),xe=he[0],Ne=he[1],Be=xe||0,je=g(ce,new Map),et=(0,X.Z)(je,2),ft=et[0],tt=et[1],At=g(ce,0),It=(0,X.Z)(At,2),Nt=It[0],lt=It[1],Bt=g(ce,0),cr=(0,X.Z)(Bt,2),bt=cr[0],ut=cr[1],Wt=g(ce,0),Ar=(0,X.Z)(Wt,2),Vt=Ar[0],Ht=Ar[1],ar=(0,K.useState)(null),or=(0,X.Z)(ar,2),Tt=or[0],at=or[1],vt=(0,K.useState)(null),Yt=(0,X.Z)(vt,2),qt=Yt[0],Cr=Yt[1],nt=K.useMemo(function(){return qt===null&&ne?Number.MAX_SAFE_INTEGER:qt||0},[qt,xe]),yt=(0,K.useState)(!1),Lt=(0,X.Z)(yt,2),Ut=Lt[0],rr=Lt[1],dt="".concat($,"-item"),V=Math.max(Nt,bt),Y=Ce===z,Q=se.length&&Y,le=Ce===B,fe=Q||typeof Ce=="number"&&se.length>Ce,Oe=(0,K.useMemo)(function(){var Ct=se;return Q?xe===null&&ne?Ct=se:Ct=se.slice(0,Math.min(se.length,Be/Fe)):typeof Ce=="number"&&(Ct=se.slice(0,Ce)),Ct},[se,Fe,xe,Ce,Q]),Pe=(0,K.useMemo)(function(){return Q?se.slice(nt+1):se.slice(Oe.length)},[se,Oe,Q,nt]),Ye=(0,K.useCallback)(function(Ct,xt){var Ae;return typeof Ee=="function"?Ee(Ct):(Ae=Ee&&(Ct==null?void 0:Ct[Ee]))!==null&&Ae!==void 0?Ae:xt},[Ee]),$e=(0,K.useCallback)(ue||function(Ct){return Ct},[ue]);function Dt(Ct,xt,Ae){qt===Ct&&(xt===void 0||xt===Tt)||(Cr(Ct),Ae||(rr(Ct<se.length-1),de==null||de(Ct)),xt!==void 0&&at(xt))}function zt(Ct,xt){Ne(xt.clientWidth)}function Ie(Ct,xt){tt(function(Ae){var Ve=new Map(Ae);return xt===null?Ve.delete(Ct):Ve.set(Ct,xt),Ve})}function be(Ct,xt){ut(xt),lt(bt)}function ct(Ct,xt){Ht(xt)}function ze(Ct){return ft.get(Ye(Oe[Ct],Ct))}(0,s.Z)(function(){if(Be&&typeof V=="number"&&Oe){var Ct=Vt,xt=Oe.length,Ae=xt-1;if(!xt){Dt(0,null);return}for(var Ve=0;Ve<xt;Ve+=1){var Je=ze(Ve);if(ne&&(Je=Je||0),Je===void 0){Dt(Ve-1,void 0,!0);break}if(Ct+=Je,Ae===0&&Ct<=Be||Ve===Ae-1&&Ct+ze(Ae)<=Be){Dt(Ae,null);break}else if(Ct+V>Be){Dt(Ve-1,Ct-Je-Vt+bt);break}}Re&&ze(0)+Vt>Be&&at(null)}},[Be,ft,bt,Vt,Ye,Oe]);var He=Ut&&!!Pe.length,Xe={};Tt!==null&&Q&&(Xe={position:"absolute",left:Tt,top:0});var st={prefixCls:dt,responsive:Q,component:Ue,invalidate:le},mt=me?function(Ct,xt){var Ae=Ye(Ct,xt);return K.createElement(r.Provider,{key:Ae,value:(0,te.Z)((0,te.Z)({},st),{},{order:xt,item:Ct,itemKey:Ae,registerSize:Ie,display:xt<=nt})},me(Ct,xt))}:function(Ct,xt){var Ae=Ye(Ct,xt);return K.createElement(n,(0,ee.Z)({},st,{order:xt,key:Ae,item:Ct,renderItem:$e,itemKey:Ae,registerSize:Ie,display:xt<=nt}))},Kt={order:He?nt:Number.MAX_SAFE_INTEGER,className:"".concat(dt,"-rest"),registerSize:be,display:He},gt=De||P,Ot=ge?K.createElement(r.Provider,{value:(0,te.Z)((0,te.Z)({},st),Kt)},ge(Pe)):K.createElement(n,(0,ee.Z)({},st,Kt),typeof gt=="function"?gt(Pe):gt),pt=K.createElement(we,(0,ee.Z)({className:L()(!le&&$,We),style:Te,ref:I},oe),Oe.map(mt),fe?Ot:null,Re&&K.createElement(n,(0,ee.Z)({},st,{responsive:Y,responsiveDisabled:!Q,order:nt,className:"".concat(dt,"-suffix"),registerSize:ct,display:!0,style:Xe}),Re));return Y?K.createElement(A.Z,{onResize:zt,disabled:!Q},pt):pt}var k=K.forwardRef(F);k.displayName="Overflow",k.Item=R,k.RESPONSIVE=z,k.INVALIDATE=B;var U=k,G=U},25930:function($t,Qe,ae){"use strict";ae.d(Qe,{Cd:function(){return O}});var ee=ae(67711),te=ae(98506),X=ae(33346),S=ae(59301),K=ae(92310),y=ae.n(K),L={percent:0,prefixCls:"rc-progress",strokeColor:"#2db7f5",strokeLinecap:"round",strokeWidth:1,trailColor:"#D9D9D9",trailWidth:1,gapPosition:"bottom"},A=function(){var P=(0,S.useRef)([]),F=(0,S.useRef)(null);return(0,S.useEffect)(function(){var k=Date.now(),U=!1;P.current.forEach(function(G){if(G){U=!0;var C=G.style;C.transitionDuration=".3s, .3s, .3s, .06s",F.current&&k-F.current<100&&(C.transitionDuration="0s, 0s")}}),U&&(F.current=Date.now())}),P.current},s=["className","percent","prefixCls","strokeColor","strokeLinecap","strokeWidth","style","trailColor","trailWidth","transition"],x=function(P){var F=(0,te.Z)((0,te.Z)({},L),P),k=F.className,U=F.percent,G=F.prefixCls,C=F.strokeColor,I=F.strokeLinecap,H=F.strokeWidth,$=F.style,q=F.trailColor,se=F.trailWidth,ue=F.transition,me=(0,X.Z)(F,s);delete me.gapPosition;var Ee=Array.isArray(U)?U:[U],Le=Array.isArray(C)?C:[C],Fe=A(),Ke=H/2,Te=100-H/2,We="M ".concat(I==="round"?Ke:0,",").concat(Ke,`
L `).concat(I==="round"?Te:100,",").concat(Ke),Ce="0 0 100 ".concat(H),De=0;return S.createElement("svg",(0,ee.Z)({className:y()("".concat(G,"-line"),k),viewBox:Ce,preserveAspectRatio:"none",style:$},me),S.createElement("path",{className:"".concat(G,"-line-trail"),d:We,strokeLinecap:I,stroke:q,strokeWidth:se||H,fillOpacity:"0"}),Ee.map(function(ge,Re){var ve=1;switch(I){case"round":ve=1-H/100;break;case"square":ve=1-H/2/100;break;default:ve=1;break}var we={strokeDasharray:"".concat(ge*ve,"px, 100px"),strokeDashoffset:"-".concat(De,"px"),transition:ue||"stroke-dashoffset 0.3s ease 0s, stroke-dasharray .3s ease 0s, stroke 0.3s linear"},Ue=Le[Re]||Le[Le.length-1];return De+=ge,S.createElement("path",{key:Re,className:"".concat(G,"-line-path"),d:We,strokeLinecap:I,stroke:Ue,strokeWidth:H,fillOpacity:"0",ref:function(oe){Fe[Re]=oe},style:we})}))},c=x,l=ae(26420),f=ae(16886),n=ae(47273),o=0,d=(0,n.Z)();function m(){var B;return d?(B=o,o+=1):B="TEST_OR_SSR",B}var _=function(B){var P=S.useState(),F=(0,f.Z)(P,2),k=F[0],U=F[1];return S.useEffect(function(){U("rc_progress_".concat(m()))},[]),B||k},h=function(P){var F=P.bg,k=P.children;return S.createElement("div",{style:{width:"100%",height:"100%",background:F}},k)};function g(B,P){return Object.keys(B).map(function(F){var k=parseFloat(F),U="".concat(Math.floor(k*P),"%");return"".concat(B[F]," ").concat(U)})}var r=S.forwardRef(function(B,P){var F=B.prefixCls,k=B.color,U=B.gradientId,G=B.radius,C=B.style,I=B.ptg,H=B.strokeLinecap,$=B.strokeWidth,q=B.size,se=B.gapDegree,ue=k&&(0,l.Z)(k)==="object",me=ue?"#FFF":void 0,Ee=q/2,Le=S.createElement("circle",{className:"".concat(F,"-circle-path"),r:G,cx:Ee,cy:Ee,stroke:me,strokeLinecap:H,strokeWidth:$,opacity:I===0?0:1,style:C,ref:P});if(!ue)return Le;var Fe="".concat(U,"-conic"),Ke=se?"".concat(180+se/2,"deg"):"0deg",Te=g(k,(360-se)/360),We=g(k,1),Ce="conic-gradient(from ".concat(Ke,", ").concat(Te.join(", "),")"),De="linear-gradient(to ".concat(se?"bottom":"top",", ").concat(We.join(", "),")");return S.createElement(S.Fragment,null,S.createElement("mask",{id:Fe},Le),S.createElement("foreignObject",{x:0,y:0,width:q,height:q,mask:"url(#".concat(Fe,")")},S.createElement(h,{bg:De},S.createElement(h,{bg:Ce}))))}),a=r,p=100,E=function(P,F,k,U,G,C,I,H,$,q){var se=arguments.length>10&&arguments[10]!==void 0?arguments[10]:0,ue=k/100*360*((360-C)/360),me=C===0?0:{bottom:0,top:180,left:90,right:-90}[I],Ee=(100-U)/100*F;$==="round"&&U!==100&&(Ee+=q/2,Ee>=F&&(Ee=F-.01));var Le=p/2;return{stroke:typeof H=="string"?H:void 0,strokeDasharray:"".concat(F,"px ").concat(P),strokeDashoffset:Ee+se,transform:"rotate(".concat(G+ue+me,"deg)"),transformOrigin:"".concat(Le,"px ").concat(Le,"px"),transition:"stroke-dashoffset .3s ease 0s, stroke-dasharray .3s ease 0s, stroke .3s, stroke-width .06s ease .3s, opacity .3s ease 0s",fillOpacity:0}},b=["id","prefixCls","steps","strokeWidth","trailWidth","gapDegree","gapPosition","trailColor","strokeLinecap","style","className","strokeColor","percent"];function w(B){var P=B!=null?B:[];return Array.isArray(P)?P:[P]}var R=function(P){var F=(0,te.Z)((0,te.Z)({},L),P),k=F.id,U=F.prefixCls,G=F.steps,C=F.strokeWidth,I=F.trailWidth,H=F.gapDegree,$=H===void 0?0:H,q=F.gapPosition,se=F.trailColor,ue=F.strokeLinecap,me=F.style,Ee=F.className,Le=F.strokeColor,Fe=F.percent,Ke=(0,X.Z)(F,b),Te=p/2,We=_(k),Ce="".concat(We,"-gradient"),De=Te-C/2,ge=Math.PI*2*De,Re=$>0?90+$/2:-90,ve=ge*((360-$)/360),we=(0,l.Z)(G)==="object"?G:{count:G,gap:2},Ue=we.count,de=we.gap,oe=w(Fe),ne=w(Le),ce=ne.find(function(et){return et&&(0,l.Z)(et)==="object"}),ye=ce&&(0,l.Z)(ce)==="object",he=ye?"butt":ue,xe=E(ge,ve,0,100,Re,$,q,se,he,C),Ne=A(),Be=function(){var ft=0;return oe.map(function(tt,At){var It=ne[At]||ne[ne.length-1],Nt=E(ge,ve,ft,tt,Re,$,q,It,he,C);return ft+=tt,S.createElement(a,{key:At,color:It,ptg:tt,radius:De,prefixCls:U,gradientId:Ce,style:Nt,strokeLinecap:he,strokeWidth:C,gapDegree:$,ref:function(Bt){Ne[At]=Bt},size:p})}).reverse()},je=function(){var ft=Math.round(Ue*(oe[0]/100)),tt=100/Ue,At=0;return new Array(Ue).fill(null).map(function(It,Nt){var lt=Nt<=ft-1?ne[0]:se,Bt=lt&&(0,l.Z)(lt)==="object"?"url(#".concat(Ce,")"):void 0,cr=E(ge,ve,At,tt,Re,$,q,lt,"butt",C,de);return At+=(ve-cr.strokeDashoffset+de)*100/ve,S.createElement("circle",{key:Nt,className:"".concat(U,"-circle-path"),r:De,cx:Te,cy:Te,stroke:Bt,strokeWidth:C,opacity:1,style:cr,ref:function(ut){Ne[Nt]=ut}})})};return S.createElement("svg",(0,ee.Z)({className:y()("".concat(U,"-circle"),Ee),viewBox:"0 0 ".concat(p," ").concat(p),style:me,id:k,role:"presentation"},Ke),!Ue&&S.createElement("circle",{className:"".concat(U,"-circle-trail"),r:De,cx:Te,cy:Te,stroke:se,strokeLinecap:he,strokeWidth:I||C,style:xe}),Ue?je():Be())},O=R,z={Line:c,Circle:O}},738:function($t,Qe,ae){"use strict";ae.d(Qe,{Z:function(){return g}});var ee=ae(67711),te=ae(52873),X=ae(16886),S=ae(33346),K=ae(92310),y=ae.n(K),L=ae(18929),A=ae(10228),s=ae(26112),x=ae(59301);function c(r,a){var p=r.disabled,E=r.prefixCls,b=r.character,w=r.characterRender,R=r.index,O=r.count,z=r.value,B=r.allowHalf,P=r.focused,F=r.onHover,k=r.onClick,U=function(ue){F(ue,R)},G=function(ue){k(ue,R)},C=function(ue){ue.keyCode===A.Z.ENTER&&k(ue,R)},I=R+1,H=new Set([E]);z===0&&R===0&&P?H.add("".concat(E,"-focused")):B&&z+.5>=I&&z<I?(H.add("".concat(E,"-half")),H.add("".concat(E,"-active")),P&&H.add("".concat(E,"-focused"))):(I<=z?H.add("".concat(E,"-full")):H.add("".concat(E,"-zero")),I===z&&P&&H.add("".concat(E,"-focused")));var $=typeof b=="function"?b(r):b,q=x.createElement("li",{className:y()(Array.from(H)),ref:a},x.createElement("div",{onClick:p?null:G,onKeyDown:p?null:C,onMouseMove:p?null:U,role:"radio","aria-checked":z>R?"true":"false","aria-posinset":R+1,"aria-setsize":O,tabIndex:p?-1:0},x.createElement("div",{className:"".concat(E,"-first")},$),x.createElement("div",{className:"".concat(E,"-second")},$)));return w&&(q=w(q,r)),q}var l=x.forwardRef(c);function f(){var r=x.useRef({});function a(E){return r.current[E]}function p(E){return function(b){r.current[E]=b}}return[a,p]}function n(r){var a=r.pageXOffset,p="scrollLeft";if(typeof a!="number"){var E=r.document;a=E.documentElement[p],typeof a!="number"&&(a=E.body[p])}return a}function o(r){var a,p,E=r.ownerDocument,b=E.body,w=E&&E.documentElement,R=r.getBoundingClientRect();return a=R.left,p=R.top,a-=w.clientLeft||b.clientLeft||0,p-=w.clientTop||b.clientTop||0,{left:a,top:p}}function d(r){var a=o(r),p=r.ownerDocument,E=p.defaultView||p.parentWindow;return a.left+=n(E),a.left}var m=["prefixCls","className","defaultValue","value","count","allowHalf","allowClear","keyboard","character","characterRender","disabled","direction","tabIndex","autoFocus","onHoverChange","onChange","onFocus","onBlur","onKeyDown","onMouseLeave"];function _(r,a){var p=r.prefixCls,E=p===void 0?"rc-rate":p,b=r.className,w=r.defaultValue,R=r.value,O=r.count,z=O===void 0?5:O,B=r.allowHalf,P=B===void 0?!1:B,F=r.allowClear,k=F===void 0?!0:F,U=r.keyboard,G=U===void 0?!0:U,C=r.character,I=C===void 0?"\u2605":C,H=r.characterRender,$=r.disabled,q=r.direction,se=q===void 0?"ltr":q,ue=r.tabIndex,me=ue===void 0?0:ue,Ee=r.autoFocus,Le=r.onHoverChange,Fe=r.onChange,Ke=r.onFocus,Te=r.onBlur,We=r.onKeyDown,Ce=r.onMouseLeave,De=(0,S.Z)(r,m),ge=f(),Re=(0,X.Z)(ge,2),ve=Re[0],we=Re[1],Ue=x.useRef(null),de=function(){if(!$){var at;(at=Ue.current)===null||at===void 0||at.focus()}};x.useImperativeHandle(a,function(){return{focus:de,blur:function(){if(!$){var at;(at=Ue.current)===null||at===void 0||at.blur()}}}});var oe=(0,L.Z)(w||0,{value:R}),ne=(0,X.Z)(oe,2),ce=ne[0],ye=ne[1],he=(0,L.Z)(null),xe=(0,X.Z)(he,2),Ne=xe[0],Be=xe[1],je=function(at,vt){var Yt=se==="rtl",qt=at+1;if(P){var Cr=ve(at),nt=d(Cr),yt=Cr.clientWidth;(Yt&&vt-nt>yt/2||!Yt&&vt-nt<yt/2)&&(qt-=.5)}return qt},et=function(at){ye(at),Fe==null||Fe(at)},ft=x.useState(!1),tt=(0,X.Z)(ft,2),At=tt[0],It=tt[1],Nt=function(){It(!0),Ke==null||Ke()},lt=function(){It(!1),Te==null||Te()},Bt=x.useState(null),cr=(0,X.Z)(Bt,2),bt=cr[0],ut=cr[1],Wt=function(at,vt){var Yt=je(vt,at.pageX);Yt!==Ne&&(ut(Yt),Be(null)),Le==null||Le(Yt)},Ar=function(at){$||(ut(null),Be(null),Le==null||Le(void 0)),at&&(Ce==null||Ce(at))},Vt=function(at,vt){var Yt=je(vt,at.pageX),qt=!1;k&&(qt=Yt===ce),Ar(),et(qt?0:Yt),Be(qt?Yt:null)},Ht=function(at){var vt=at.keyCode,Yt=se==="rtl",qt=P?.5:1;G&&(vt===A.Z.RIGHT&&ce<z&&!Yt?(et(ce+qt),at.preventDefault()):vt===A.Z.LEFT&&ce>0&&!Yt||vt===A.Z.RIGHT&&ce>0&&Yt?(et(ce-qt),at.preventDefault()):vt===A.Z.LEFT&&ce<z&&Yt&&(et(ce+qt),at.preventDefault())),We==null||We(at)};x.useEffect(function(){Ee&&!$&&de()},[]);var ar=new Array(z).fill(0).map(function(Tt,at){return x.createElement(l,{ref:we(at),index:at,count:z,disabled:$,prefixCls:"".concat(E,"-star"),allowHalf:P,value:bt===null?ce:bt,onClick:Vt,onHover:Wt,key:Tt||at,character:I,characterRender:H,focused:At})}),or=y()(E,b,(0,te.Z)((0,te.Z)({},"".concat(E,"-disabled"),$),"".concat(E,"-rtl"),se==="rtl"));return x.createElement("ul",(0,ee.Z)({className:or,onMouseLeave:Ar,tabIndex:$?-1:me,onFocus:$?null:Nt,onBlur:$?null:lt,onKeyDown:$?null:Ht,ref:Ue},(0,s.Z)(De,{aria:!0,data:!0,attr:!0})),ar)}var h=x.forwardRef(_),g=h},29301:function($t,Qe,ae){"use strict";ae.d(Qe,{Z:function(){return B}});var ee=ae(67711),te=ae(59301),X=ae(11592),S=ae(48736),K=ae(98506),y=ae(26420),L=ae(76846),A=ae(8654),s=te.createContext(null);function x(P){var F=P.children,k=P.onBatchResize,U=te.useRef(0),G=te.useRef([]),C=te.useContext(s),I=te.useCallback(function(H,$,q){U.current+=1;var se=U.current;G.current.push({size:H,element:$,data:q}),Promise.resolve().then(function(){se===U.current&&(k==null||k(G.current),G.current=[])}),C==null||C(H,$,q)},[k,C]);return te.createElement(s.Provider,{value:I},F)}var c=ae(76374),l=new Map;function f(P){P.forEach(function(F){var k,U=F.target;(k=l.get(U))===null||k===void 0||k.forEach(function(G){return G(U)})})}var n=new c.Z(f),o=null,d=null;function m(P,F){l.has(P)||(l.set(P,new Set),n.observe(P)),l.get(P).add(F)}function _(P,F){l.has(P)&&(l.get(P).delete(F),l.get(P).size||(n.unobserve(P),l.delete(P)))}var h=ae(42573),g=ae(58698),r=ae(74700),a=ae(45080),p=function(P){(0,r.Z)(k,P);var F=(0,a.Z)(k);function k(){return(0,h.Z)(this,k),F.apply(this,arguments)}return(0,g.Z)(k,[{key:"render",value:function(){return this.props.children}}]),k}(te.Component);function E(P,F){var k=P.children,U=P.disabled,G=te.useRef(null),C=te.useRef(null),I=te.useContext(s),H=typeof k=="function",$=H?k(G):k,q=te.useRef({width:-1,height:-1,offsetWidth:-1,offsetHeight:-1}),se=!H&&te.isValidElement($)&&(0,A.Yr)($),ue=se?(0,A.C4)($):null,me=(0,A.x1)(ue,G),Ee=function(){var Te;return(0,L.ZP)(G.current)||(G.current&&(0,y.Z)(G.current)==="object"?(0,L.ZP)((Te=G.current)===null||Te===void 0?void 0:Te.nativeElement):null)||(0,L.ZP)(C.current)};te.useImperativeHandle(F,function(){return Ee()});var Le=te.useRef(P);Le.current=P;var Fe=te.useCallback(function(Ke){var Te=Le.current,We=Te.onResize,Ce=Te.data,De=Ke.getBoundingClientRect(),ge=De.width,Re=De.height,ve=Ke.offsetWidth,we=Ke.offsetHeight,Ue=Math.floor(ge),de=Math.floor(Re);if(q.current.width!==Ue||q.current.height!==de||q.current.offsetWidth!==ve||q.current.offsetHeight!==we){var oe={width:Ue,height:de,offsetWidth:ve,offsetHeight:we};q.current=oe;var ne=ve===Math.round(ge)?ge:ve,ce=we===Math.round(Re)?Re:we,ye=(0,K.Z)((0,K.Z)({},oe),{},{offsetWidth:ne,offsetHeight:ce});I==null||I(ye,Ke,Ce),We&&Promise.resolve().then(function(){We(ye,Ke)})}},[]);return te.useEffect(function(){var Ke=Ee();return Ke&&!U&&m(Ke,Fe),function(){return _(Ke,Fe)}},[G.current,U]),te.createElement(p,{ref:C},se?te.cloneElement($,{ref:me}):$)}var b=te.forwardRef(E),w=b,R="rc-observer-key";function O(P,F){var k=P.children,U=typeof k=="function"?[k]:(0,X.Z)(k);return U.map(function(G,C){var I=(G==null?void 0:G.key)||"".concat(R,"-").concat(C);return te.createElement(w,(0,ee.Z)({},P,{key:I,ref:C===0?F:void 0}),G)})}var z=te.forwardRef(O);z.Collection=x;var B=z},6551:function($t,Qe,ae){"use strict";ae.d(Qe,{ZP:function(){return L}});var ee=ae(16886),te=ae(59301),X=ae(47273),S=0,K=(0,X.Z)();function y(){var A;return K?(A=S,S+=1):A="TEST_OR_SSR",A}function L(A){var s=te.useState(),x=(0,ee.Z)(s,2),c=x[0],l=x[1];return te.useEffect(function(){l("rc_select_".concat(y()))},[]),A||c}},37463:function($t,Qe,ae){"use strict";ae.d(Qe,{Ac:function(){return It},Xo:function(){return lt},Wx:function(){return cr},ZP:function(){return zt},lk:function(){return g}});var ee=ae(67711),te=ae(15142),X=ae(52873),S=ae(98506),K=ae(16886),y=ae(33346),L=ae(26420),A=ae(18929),s=ae(48736),x=ae(59301),c=ae(92310),l=ae.n(c),f=ae(34280),n=ae(49658),o=ae(8654),d=function(be){var ct=be.className,ze=be.customizeIcon,He=be.customizeIconProps,Xe=be.children,st=be.onMouseDown,mt=be.onClick,Kt=typeof ze=="function"?ze(He):ze;return x.createElement("span",{className:ct,onMouseDown:function(Ot){Ot.preventDefault(),st==null||st(Ot)},style:{userSelect:"none",WebkitUserSelect:"none"},unselectable:"on",onClick:mt,"aria-hidden":!0},Kt!==void 0?Kt:x.createElement("span",{className:l()(ct.split(/\s+/).map(function(gt){return"".concat(gt,"-icon")}))},Xe))},m=d,_=function(be,ct,ze,He,Xe){var st=arguments.length>5&&arguments[5]!==void 0?arguments[5]:!1,mt=arguments.length>6?arguments[6]:void 0,Kt=arguments.length>7?arguments[7]:void 0,gt=x.useMemo(function(){if((0,L.Z)(He)==="object")return He.clearIcon;if(Xe)return Xe},[He,Xe]),Ot=x.useMemo(function(){return!!(!st&&He&&(ze.length||mt)&&!(Kt==="combobox"&&mt===""))},[He,st,ze.length,mt,Kt]);return{allowClear:Ot,clearIcon:x.createElement(m,{className:"".concat(be,"-clear"),onMouseDown:ct,customizeIcon:gt},"\xD7")}},h=x.createContext(null);function g(){return x.useContext(h)}function r(){var Ie=arguments.length>0&&arguments[0]!==void 0?arguments[0]:10,be=x.useState(!1),ct=(0,K.Z)(be,2),ze=ct[0],He=ct[1],Xe=x.useRef(null),st=function(){window.clearTimeout(Xe.current)};x.useEffect(function(){return st},[]);var mt=function(gt,Ot){st(),Xe.current=window.setTimeout(function(){He(gt),Ot&&Ot()},Ie)};return[ze,mt,st]}function a(){var Ie=arguments.length>0&&arguments[0]!==void 0?arguments[0]:250,be=x.useRef(null),ct=x.useRef(null);x.useEffect(function(){return function(){window.clearTimeout(ct.current)}},[]);function ze(He){(He||be.current===null)&&(be.current=He),window.clearTimeout(ct.current),ct.current=window.setTimeout(function(){be.current=null},Ie)}return[function(){return be.current},ze]}function p(Ie,be,ct,ze){var He=x.useRef(null);He.current={open:be,triggerOpen:ct,customizedTrigger:ze},x.useEffect(function(){function Xe(st){var mt;if(!((mt=He.current)!==null&&mt!==void 0&&mt.customizedTrigger)){var Kt=st.target;Kt.shadowRoot&&st.composed&&(Kt=st.composedPath()[0]||Kt),He.current.open&&Ie().filter(function(gt){return gt}).every(function(gt){return!gt.contains(Kt)&&gt!==Kt})&&He.current.triggerOpen(!1)}}return window.addEventListener("mousedown",Xe),function(){return window.removeEventListener("mousedown",Xe)}},[])}var E=ae(10228);function b(Ie){return Ie&&![E.Z.ESC,E.Z.SHIFT,E.Z.BACKSPACE,E.Z.TAB,E.Z.WIN_KEY,E.Z.ALT,E.Z.META,E.Z.WIN_KEY_RIGHT,E.Z.CTRL,E.Z.SEMICOLON,E.Z.EQUALS,E.Z.CAPS_LOCK,E.Z.CONTEXT_MENU,E.Z.F1,E.Z.F2,E.Z.F3,E.Z.F4,E.Z.F5,E.Z.F6,E.Z.F7,E.Z.F8,E.Z.F9,E.Z.F10,E.Z.F11,E.Z.F12].includes(Ie)}var w=ae(26112),R=ae(11780);function O(Ie,be,ct){var ze=(0,S.Z)((0,S.Z)({},Ie),ct?be:{});return Object.keys(be).forEach(function(He){var Xe=be[He];typeof Xe=="function"&&(ze[He]=function(){for(var st,mt=arguments.length,Kt=new Array(mt),gt=0;gt<mt;gt++)Kt[gt]=arguments[gt];return Xe.apply(void 0,Kt),(st=Ie[He])===null||st===void 0?void 0:st.call.apply(st,[Ie].concat(Kt))})}),ze}var z=O,B=["prefixCls","id","inputElement","autoFocus","autoComplete","editable","activeDescendantId","value","open","attrs"],P=function(be,ct){var ze=be.prefixCls,He=be.id,Xe=be.inputElement,st=be.autoFocus,mt=be.autoComplete,Kt=be.editable,gt=be.activeDescendantId,Ot=be.value,pt=be.open,Ct=be.attrs,xt=(0,y.Z)(be,B),Ae=Xe||x.createElement("input",null),Ve=Ae,Je=Ve.ref,rt=Ve.props;return(0,s.Kp)(!("maxLength"in Ae.props),"Passing 'maxLength' to input element directly may not work because input in BaseSelect is controlled."),Ae=x.cloneElement(Ae,(0,S.Z)((0,S.Z)((0,S.Z)({type:"search"},z(xt,rt,!0)),{},{id:He,ref:(0,o.sQ)(ct,Je),autoComplete:mt||"off",autoFocus:st,className:l()("".concat(ze,"-selection-search-input"),rt==null?void 0:rt.className),role:"combobox","aria-expanded":pt||!1,"aria-haspopup":"listbox","aria-owns":"".concat(He,"_list"),"aria-autocomplete":"list","aria-controls":"".concat(He,"_list"),"aria-activedescendant":pt?gt:void 0},Ct),{},{value:Kt?Ot:"",readOnly:!Kt,unselectable:Kt?null:"on",style:(0,S.Z)((0,S.Z)({},rt.style),{},{opacity:Kt?null:0})})),Ae},F=x.forwardRef(P),k=F;function U(Ie){return Array.isArray(Ie)?Ie:Ie!==void 0?[Ie]:[]}var G=typeof window!="undefined"&&window.document&&window.document.documentElement,C=G;function I(Ie){return Ie!=null}function H(Ie){return!Ie&&Ie!==0}function $(Ie){return["string","number"].includes((0,L.Z)(Ie))}function q(Ie){var be=void 0;return Ie&&($(Ie.title)?be=Ie.title.toString():$(Ie.label)&&(be=Ie.label.toString())),be}function se(Ie,be){C?x.useLayoutEffect(Ie,be):x.useEffect(Ie,be)}function ue(Ie){var be;return(be=Ie.key)!==null&&be!==void 0?be:Ie.value}var me=function(be){be.preventDefault(),be.stopPropagation()},Ee=function(be){var ct=be.id,ze=be.prefixCls,He=be.values,Xe=be.open,st=be.searchValue,mt=be.autoClearSearchValue,Kt=be.inputRef,gt=be.placeholder,Ot=be.disabled,pt=be.mode,Ct=be.showSearch,xt=be.autoFocus,Ae=be.autoComplete,Ve=be.activeDescendantId,Je=be.tabIndex,rt=be.removeIcon,St=be.maxTagCount,Rt=be.maxTagTextLength,Mt=be.maxTagPlaceholder,Xt=Mt===void 0?function(tr){return"+ ".concat(tr.length," ...")}:Mt,Ge=be.tagRender,Gt=be.onToggleOpen,hr=be.onRemove,Qt=be.onInputChange,Zt=be.onInputPaste,mr=be.onInputKeyDown,Dr=be.onInputMouseDown,Rr=be.onInputCompositionStart,lr=be.onInputCompositionEnd,ir=be.onInputBlur,Or=x.useRef(null),br=(0,x.useState)(0),yr=(0,K.Z)(br,2),Pr=yr[0],gr=yr[1],er=(0,x.useState)(!1),Br=(0,K.Z)(er,2),zr=Br[0],Qr=Br[1],xr="".concat(ze,"-selection"),ni=Xe||pt==="multiple"&&mt===!1||pt==="tags"?st:"",$r=pt==="tags"||pt==="multiple"&&mt===!1||Ct&&(Xe||zr);se(function(){gr(Or.current.scrollWidth)},[ni]);var ei=function(Jt,Tr,kr,jr,Fr){return x.createElement("span",{title:q(Jt),className:l()("".concat(xr,"-item"),(0,X.Z)({},"".concat(xr,"-item-disabled"),kr))},x.createElement("span",{className:"".concat(xr,"-item-content")},Tr),jr&&x.createElement(m,{className:"".concat(xr,"-item-remove"),onMouseDown:me,onClick:Fr,customizeIcon:rt},"\xD7"))},si=function(Jt,Tr,kr,jr,Fr,ri){var Ei=function(ui){me(ui),Gt(!Xe)};return x.createElement("span",{onMouseDown:Ei},Ge({label:Tr,value:Jt,disabled:kr,closable:jr,onClose:Fr,isMaxTag:!!ri}))},Vr=function(Jt){var Tr=Jt.disabled,kr=Jt.label,jr=Jt.value,Fr=!Ot&&!Tr,ri=kr;if(typeof Rt=="number"&&(typeof kr=="string"||typeof kr=="number")){var Ei=String(ri);Ei.length>Rt&&(ri="".concat(Ei.slice(0,Rt),"..."))}var pi=function(Zr){Zr&&Zr.stopPropagation(),hr(Jt)};return typeof Ge=="function"?si(jr,ri,Tr,Fr,pi):ei(Jt,ri,Tr,Fr,pi)},Er=function(Jt){if(!He.length)return null;var Tr=typeof Xt=="function"?Xt(Jt):Xt;return typeof Ge=="function"?si(void 0,Tr,!1,!1,void 0,!0):ei({title:Tr},Tr,!1)},kt=x.createElement("div",{className:"".concat(xr,"-search"),style:{width:Pr},onFocus:function(){Qr(!0)},onBlur:function(){Qr(!1)}},x.createElement(k,{ref:Kt,open:Xe,prefixCls:ze,id:ct,inputElement:null,disabled:Ot,autoFocus:xt,autoComplete:Ae,editable:$r,activeDescendantId:Ve,value:ni,onKeyDown:mr,onMouseDown:Dr,onChange:Qt,onPaste:Zt,onCompositionStart:Rr,onCompositionEnd:lr,onBlur:ir,tabIndex:Je,attrs:(0,w.Z)(be,!0)}),x.createElement("span",{ref:Or,className:"".concat(xr,"-search-mirror"),"aria-hidden":!0},ni,"\xA0")),Ft=x.createElement(R.Z,{prefixCls:"".concat(xr,"-overflow"),data:He,renderItem:Vr,renderRest:Er,suffix:kt,itemKey:ue,maxCount:St});return x.createElement("span",{className:"".concat(xr,"-wrap")},Ft,!He.length&&!ni&&x.createElement("span",{className:"".concat(xr,"-placeholder")},gt))},Le=Ee,Fe=function(be){var ct=be.inputElement,ze=be.prefixCls,He=be.id,Xe=be.inputRef,st=be.disabled,mt=be.autoFocus,Kt=be.autoComplete,gt=be.activeDescendantId,Ot=be.mode,pt=be.open,Ct=be.values,xt=be.placeholder,Ae=be.tabIndex,Ve=be.showSearch,Je=be.searchValue,rt=be.activeValue,St=be.maxLength,Rt=be.onInputKeyDown,Mt=be.onInputMouseDown,Xt=be.onInputChange,Ge=be.onInputPaste,Gt=be.onInputCompositionStart,hr=be.onInputCompositionEnd,Qt=be.onInputBlur,Zt=be.title,mr=x.useState(!1),Dr=(0,K.Z)(mr,2),Rr=Dr[0],lr=Dr[1],ir=Ot==="combobox",Or=ir||Ve,br=Ct[0],yr=Je||"";ir&&rt&&!Rr&&(yr=rt),x.useEffect(function(){ir&&lr(!1)},[ir,rt]);var Pr=Ot!=="combobox"&&!pt&&!Ve?!1:!!yr,gr=Zt===void 0?q(br):Zt,er=x.useMemo(function(){return br?null:x.createElement("span",{className:"".concat(ze,"-selection-placeholder"),style:Pr?{visibility:"hidden"}:void 0},xt)},[br,Pr,xt,ze]);return x.createElement("span",{className:"".concat(ze,"-selection-wrap")},x.createElement("span",{className:"".concat(ze,"-selection-search")},x.createElement(k,{ref:Xe,prefixCls:ze,id:He,open:pt,inputElement:ct,disabled:st,autoFocus:mt,autoComplete:Kt,editable:Or,activeDescendantId:gt,value:yr,onKeyDown:Rt,onMouseDown:Mt,onChange:function(zr){lr(!0),Xt(zr)},onPaste:Ge,onCompositionStart:Gt,onCompositionEnd:hr,onBlur:Qt,tabIndex:Ae,attrs:(0,w.Z)(be,!0),maxLength:ir?St:void 0})),!ir&&br?x.createElement("span",{className:"".concat(ze,"-selection-item"),title:gr,style:Pr?{visibility:"hidden"}:void 0},br.label):null,er)},Ke=Fe,Te=function(be,ct){var ze=(0,x.useRef)(null),He=(0,x.useRef)(!1),Xe=be.prefixCls,st=be.open,mt=be.mode,Kt=be.showSearch,gt=be.tokenWithEnter,Ot=be.disabled,pt=be.prefix,Ct=be.autoClearSearchValue,xt=be.onSearch,Ae=be.onSearchSubmit,Ve=be.onToggleOpen,Je=be.onInputKeyDown,rt=be.onInputBlur,St=be.domRef;x.useImperativeHandle(ct,function(){return{focus:function(gr){ze.current.focus(gr)},blur:function(){ze.current.blur()}}});var Rt=a(0),Mt=(0,K.Z)(Rt,2),Xt=Mt[0],Ge=Mt[1],Gt=function(gr){var er=gr.which,Br=ze.current instanceof HTMLTextAreaElement;!Br&&st&&(er===E.Z.UP||er===E.Z.DOWN)&&gr.preventDefault(),Je&&Je(gr),er===E.Z.ENTER&&mt==="tags"&&!He.current&&!st&&(Ae==null||Ae(gr.target.value)),!(Br&&!st&&~[E.Z.UP,E.Z.DOWN,E.Z.LEFT,E.Z.RIGHT].indexOf(er))&&b(er)&&Ve(!0)},hr=function(){Ge(!0)},Qt=(0,x.useRef)(null),Zt=function(gr){xt(gr,!0,He.current)!==!1&&Ve(!0)},mr=function(){He.current=!0},Dr=function(gr){He.current=!1,mt!=="combobox"&&Zt(gr.target.value)},Rr=function(gr){var er=gr.target.value;if(gt&&Qt.current&&/[\r\n]/.test(Qt.current)){var Br=Qt.current.replace(/[\r\n]+$/,"").replace(/\r\n/g," ").replace(/[\r\n]/g," ");er=er.replace(Br,Qt.current)}Qt.current=null,Zt(er)},lr=function(gr){var er=gr.clipboardData,Br=er==null?void 0:er.getData("text");Qt.current=Br||""},ir=function(gr){var er=gr.target;if(er!==ze.current){var Br=document.body.style.msTouchAction!==void 0;Br?setTimeout(function(){ze.current.focus()}):ze.current.focus()}},Or=function(gr){var er=Xt();gr.target!==ze.current&&!er&&!(mt==="combobox"&&Ot)&&gr.preventDefault(),(mt!=="combobox"&&(!Kt||!er)||!st)&&(st&&Ct!==!1&&xt("",!0,!1),Ve())},br={inputRef:ze,onInputKeyDown:Gt,onInputMouseDown:hr,onInputChange:Rr,onInputPaste:lr,onInputCompositionStart:mr,onInputCompositionEnd:Dr,onInputBlur:rt},yr=mt==="multiple"||mt==="tags"?x.createElement(Le,(0,ee.Z)({},be,br)):x.createElement(Ke,(0,ee.Z)({},be,br));return x.createElement("div",{ref:St,className:"".concat(Xe,"-selector"),onClick:ir,onMouseDown:Or},pt&&x.createElement("div",{className:"".concat(Xe,"-prefix")},pt),yr)},We=x.forwardRef(Te),Ce=We,De=ae(65030),ge=["prefixCls","disabled","visible","children","popupElement","animation","transitionName","dropdownStyle","dropdownClassName","direction","placement","builtinPlacements","dropdownMatchSelectWidth","dropdownRender","dropdownAlign","getPopupContainer","empty","getTriggerDOMNode","onPopupVisibleChange","onPopupMouseEnter"],Re=function(be){var ct=be===!0?0:1;return{bottomLeft:{points:["tl","bl"],offset:[0,4],overflow:{adjustX:ct,adjustY:1},htmlRegion:"scroll"},bottomRight:{points:["tr","br"],offset:[0,4],overflow:{adjustX:ct,adjustY:1},htmlRegion:"scroll"},topLeft:{points:["bl","tl"],offset:[0,-4],overflow:{adjustX:ct,adjustY:1},htmlRegion:"scroll"},topRight:{points:["br","tr"],offset:[0,-4],overflow:{adjustX:ct,adjustY:1},htmlRegion:"scroll"}}},ve=function(be,ct){var ze=be.prefixCls,He=be.disabled,Xe=be.visible,st=be.children,mt=be.popupElement,Kt=be.animation,gt=be.transitionName,Ot=be.dropdownStyle,pt=be.dropdownClassName,Ct=be.direction,xt=Ct===void 0?"ltr":Ct,Ae=be.placement,Ve=be.builtinPlacements,Je=be.dropdownMatchSelectWidth,rt=be.dropdownRender,St=be.dropdownAlign,Rt=be.getPopupContainer,Mt=be.empty,Xt=be.getTriggerDOMNode,Ge=be.onPopupVisibleChange,Gt=be.onPopupMouseEnter,hr=(0,y.Z)(be,ge),Qt="".concat(ze,"-dropdown"),Zt=mt;rt&&(Zt=rt(mt));var mr=x.useMemo(function(){return Ve||Re(Je)},[Ve,Je]),Dr=Kt?"".concat(Qt,"-").concat(Kt):gt,Rr=typeof Je=="number",lr=x.useMemo(function(){return Rr?null:Je===!1?"minWidth":"width"},[Je,Rr]),ir=Ot;Rr&&(ir=(0,S.Z)((0,S.Z)({},ir),{},{width:Je}));var Or=x.useRef(null);return x.useImperativeHandle(ct,function(){return{getPopupElement:function(){var yr;return(yr=Or.current)===null||yr===void 0?void 0:yr.popupElement}}}),x.createElement(De.Z,(0,ee.Z)({},hr,{showAction:Ge?["click"]:[],hideAction:Ge?["click"]:[],popupPlacement:Ae||(xt==="rtl"?"bottomRight":"bottomLeft"),builtinPlacements:mr,prefixCls:Qt,popupTransitionName:Dr,popup:x.createElement("div",{onMouseEnter:Gt},Zt),ref:Or,stretch:lr,popupAlign:St,popupVisible:Xe,getPopupContainer:Rt,popupClassName:l()(pt,(0,X.Z)({},"".concat(Qt,"-empty"),Mt)),popupStyle:ir,getTriggerDOMNode:Xt,onPopupVisibleChange:Ge}),st)},we=x.forwardRef(ve),Ue=we,de=ae(57879);function oe(Ie,be){var ct=Ie.key,ze;return"value"in Ie&&(ze=Ie.value),ct!=null?ct:ze!==void 0?ze:"rc-index-key-".concat(be)}function ne(Ie){return typeof Ie!="undefined"&&!Number.isNaN(Ie)}function ce(Ie,be){var ct=Ie||{},ze=ct.label,He=ct.value,Xe=ct.options,st=ct.groupLabel,mt=ze||(be?"children":"label");return{label:mt,value:He||"value",options:Xe||"options",groupLabel:st||mt}}function ye(Ie){var be=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},ct=be.fieldNames,ze=be.childrenAsData,He=[],Xe=ce(ct,!1),st=Xe.label,mt=Xe.value,Kt=Xe.options,gt=Xe.groupLabel;function Ot(pt,Ct){Array.isArray(pt)&&pt.forEach(function(xt){if(Ct||!(Kt in xt)){var Ae=xt[mt];He.push({key:oe(xt,He.length),groupOption:Ct,data:xt,label:xt[st],value:Ae})}else{var Ve=xt[gt];Ve===void 0&&ze&&(Ve=xt.label),He.push({key:oe(xt,He.length),group:!0,data:xt,label:Ve}),Ot(xt[Kt],!0)}})}return Ot(Ie,!1),He}function he(Ie){var be=(0,S.Z)({},Ie);return"props"in be||Object.defineProperty(be,"props",{get:function(){return(0,s.ZP)(!1,"Return type is option instead of Option instance. Please read value directly instead of reading from `props`."),be}}),be}var xe=function(be,ct,ze){if(!ct||!ct.length)return null;var He=!1,Xe=function mt(Kt,gt){var Ot=(0,de.Z)(gt),pt=Ot[0],Ct=Ot.slice(1);if(!pt)return[Kt];var xt=Kt.split(pt);return He=He||xt.length>1,xt.reduce(function(Ae,Ve){return[].concat((0,te.Z)(Ae),(0,te.Z)(mt(Ve,Ct)))},[]).filter(Boolean)},st=Xe(be,ct);return He?typeof ze!="undefined"?st.slice(0,ze):st:null},Ne=x.createContext(null),Be=Ne;function je(Ie){var be=Ie.visible,ct=Ie.values;if(!be)return null;var ze=50;return x.createElement("span",{"aria-live":"polite",style:{width:0,height:0,position:"absolute",overflow:"hidden",opacity:0}},"".concat(ct.slice(0,ze).map(function(He){var Xe=He.label,st=He.value;return["number","string"].includes((0,L.Z)(Xe))?Xe:st}).join(", ")),ct.length>ze?", ...":null)}var et=["id","prefixCls","className","showSearch","tagRender","direction","omitDomProps","displayValues","onDisplayValuesChange","emptyOptions","notFoundContent","onClear","mode","disabled","loading","getInputElement","getRawInputElement","open","defaultOpen","onDropdownVisibleChange","activeValue","onActiveValueChange","activeDescendantId","searchValue","autoClearSearchValue","onSearch","onSearchSplit","tokenSeparators","allowClear","prefix","suffixIcon","clearIcon","OptionList","animation","transitionName","dropdownStyle","dropdownClassName","dropdownMatchSelectWidth","dropdownRender","dropdownAlign","placement","builtinPlacements","getPopupContainer","showAction","onFocus","onBlur","onKeyUp","onKeyDown","onMouseDown"],ft=["value","onChange","removeIcon","placeholder","autoFocus","maxTagCount","maxTagTextLength","maxTagPlaceholder","choiceTransitionName","onInputKeyDown","onPopupScroll","tabIndex"],tt=function(be){return be==="tags"||be==="multiple"},At=x.forwardRef(function(Ie,be){var ct,ze=Ie.id,He=Ie.prefixCls,Xe=Ie.className,st=Ie.showSearch,mt=Ie.tagRender,Kt=Ie.direction,gt=Ie.omitDomProps,Ot=Ie.displayValues,pt=Ie.onDisplayValuesChange,Ct=Ie.emptyOptions,xt=Ie.notFoundContent,Ae=xt===void 0?"Not Found":xt,Ve=Ie.onClear,Je=Ie.mode,rt=Ie.disabled,St=Ie.loading,Rt=Ie.getInputElement,Mt=Ie.getRawInputElement,Xt=Ie.open,Ge=Ie.defaultOpen,Gt=Ie.onDropdownVisibleChange,hr=Ie.activeValue,Qt=Ie.onActiveValueChange,Zt=Ie.activeDescendantId,mr=Ie.searchValue,Dr=Ie.autoClearSearchValue,Rr=Ie.onSearch,lr=Ie.onSearchSplit,ir=Ie.tokenSeparators,Or=Ie.allowClear,br=Ie.prefix,yr=Ie.suffixIcon,Pr=Ie.clearIcon,gr=Ie.OptionList,er=Ie.animation,Br=Ie.transitionName,zr=Ie.dropdownStyle,Qr=Ie.dropdownClassName,xr=Ie.dropdownMatchSelectWidth,ni=Ie.dropdownRender,$r=Ie.dropdownAlign,ei=Ie.placement,si=Ie.builtinPlacements,Vr=Ie.getPopupContainer,Er=Ie.showAction,kt=Er===void 0?[]:Er,Ft=Ie.onFocus,tr=Ie.onBlur,Jt=Ie.onKeyUp,Tr=Ie.onKeyDown,kr=Ie.onMouseDown,jr=(0,y.Z)(Ie,et),Fr=tt(Je),ri=(st!==void 0?st:Fr)||Je==="combobox",Ei=(0,S.Z)({},jr);ft.forEach(function(qr){delete Ei[qr]}),gt==null||gt.forEach(function(qr){delete Ei[qr]});var pi=x.useState(!1),ui=(0,K.Z)(pi,2),Zr=ui[0],Ai=ui[1];x.useEffect(function(){Ai((0,n.Z)())},[]);var bi=x.useRef(null),Di=x.useRef(null),fr=x.useRef(null),_i=x.useRef(null),hi=x.useRef(null),Ri=x.useRef(!1),Ni=r(),Bi=(0,K.Z)(Ni,3),Pi=Bi[0],Li=Bi[1],ai=Bi[2];x.useImperativeHandle(be,function(){var qr,Yr;return{focus:(qr=_i.current)===null||qr===void 0?void 0:qr.focus,blur:(Yr=_i.current)===null||Yr===void 0?void 0:Yr.blur,scrollTo:function(Wi){var wi;return(wi=hi.current)===null||wi===void 0?void 0:wi.scrollTo(Wi)},nativeElement:bi.current||Di.current}});var Oi=x.useMemo(function(){var qr;if(Je!=="combobox")return mr;var Yr=(qr=Ot[0])===null||qr===void 0?void 0:qr.value;return typeof Yr=="string"||typeof Yr=="number"?String(Yr):""},[mr,Je,Ot]),Xi=Je==="combobox"&&typeof Rt=="function"&&Rt()||null,xi=typeof Mt=="function"&&Mt(),tn=(0,o.x1)(Di,xi==null||(ct=xi.props)===null||ct===void 0?void 0:ct.ref),rn=x.useState(!1),Yi=(0,K.Z)(rn,2),Fi=Yi[0],Ki=Yi[1];(0,f.Z)(function(){Ki(!0)},[]);var Gi=(0,A.Z)(!1,{defaultValue:Ge,value:Xt}),Ti=(0,K.Z)(Gi,2),Mi=Ti[0],ji=Ti[1],Jr=Fi?Mi:!1,fi=!Ae&&Ct;(rt||fi&&Jr&&Je==="combobox")&&(Jr=!1);var Xr=fi?!1:Jr,sr=x.useCallback(function(qr){var Yr=qr!==void 0?qr:!Jr;rt||(ji(Yr),Jr!==Yr&&(Gt==null||Gt(Yr)))},[rt,Jr,ji,Gt]),Nr=x.useMemo(function(){return(ir||[]).some(function(qr){return[`
`,`\r
`].includes(qr)})},[ir]),Ir=x.useContext(Be)||{},Mr=Ir.maxCount,ti=Ir.rawValues,ci=function(Yr,ki,Wi){if(!(Fr&&ne(Mr)&&(ti==null?void 0:ti.size)>=Mr)){var wi=!0,Ci=Yr;Qt==null||Qt(null);var sn=xe(Yr,ir,ne(Mr)?Mr-ti.size:void 0),Hi=Wi?null:sn;return Je!=="combobox"&&Hi&&(Ci="",lr==null||lr(Hi),sr(!1),wi=!1),Rr&&Oi!==Ci&&Rr(Ci,{source:ki?"typing":"effect"}),wi}},Zi=function(Yr){!Yr||!Yr.trim()||Rr(Yr,{source:"submit"})};x.useEffect(function(){!Jr&&!Fr&&Je!=="combobox"&&ci("",!1,!1)},[Jr]),x.useEffect(function(){Mi&&rt&&ji(!1),rt&&!Ri.current&&Li(!1)},[rt]);var dr=a(),wr=(0,K.Z)(dr,2),Wr=wr[0],oi=wr[1],di=x.useRef(!1),nn=function(Yr){var ki=Wr(),Wi=Yr.key,wi=Wi==="Enter";if(wi&&(Je!=="combobox"&&Yr.preventDefault(),Jr||sr(!0)),oi(!!Oi),Wi==="Backspace"&&!ki&&Fr&&!Oi&&Ot.length){for(var Ci=(0,te.Z)(Ot),sn=null,Hi=Ci.length-1;Hi>=0;Hi-=1){var En=Ci[Hi];if(!En.disabled){Ci.splice(Hi,1),sn=En;break}}sn&&pt(Ci,{type:"remove",values:[sn]})}for(var dn=arguments.length,_n=new Array(dn>1?dn-1:0),Un=1;Un<dn;Un++)_n[Un-1]=arguments[Un];if(Jr&&(!wi||!di.current)){var In;wi&&(di.current=!0),(In=hi.current)===null||In===void 0||In.onKeyDown.apply(In,[Yr].concat(_n))}Tr==null||Tr.apply(void 0,[Yr].concat(_n))},Vi=function(Yr){for(var ki=arguments.length,Wi=new Array(ki>1?ki-1:0),wi=1;wi<ki;wi++)Wi[wi-1]=arguments[wi];if(Jr){var Ci;(Ci=hi.current)===null||Ci===void 0||Ci.onKeyUp.apply(Ci,[Yr].concat(Wi))}Yr.key==="Enter"&&(di.current=!1),Jt==null||Jt.apply(void 0,[Yr].concat(Wi))},hn=function(Yr){var ki=Ot.filter(function(Wi){return Wi!==Yr});pt(ki,{type:"remove",values:[Yr]})},Ui=function(){di.current=!1},Nn=x.useRef(!1),an=function(){Li(!0),rt||(Ft&&!Nn.current&&Ft.apply(void 0,arguments),kt.includes("focus")&&sr(!0)),Nn.current=!0},Qn=function(){Ri.current=!0,Li(!1,function(){Nn.current=!1,Ri.current=!1,sr(!1)}),!rt&&(Oi&&(Je==="tags"?Rr(Oi,{source:"submit"}):Je==="multiple"&&Rr("",{source:"blur"})),tr&&tr.apply(void 0,arguments))},Sn=[];x.useEffect(function(){return function(){Sn.forEach(function(qr){return clearTimeout(qr)}),Sn.splice(0,Sn.length)}},[]);var Vn=function(Yr){var ki,Wi=Yr.target,wi=(ki=fr.current)===null||ki===void 0?void 0:ki.getPopupElement();if(wi&&wi.contains(Wi)){var Ci=setTimeout(function(){var dn=Sn.indexOf(Ci);if(dn!==-1&&Sn.splice(dn,1),ai(),!Zr&&!wi.contains(document.activeElement)){var _n;(_n=_i.current)===null||_n===void 0||_n.focus()}});Sn.push(Ci)}for(var sn=arguments.length,Hi=new Array(sn>1?sn-1:0),En=1;En<sn;En++)Hi[En-1]=arguments[En];kr==null||kr.apply(void 0,[Yr].concat(Hi))},wn=x.useState({}),Jn=(0,K.Z)(wn,2),Bn=Jn[1];function yn(){Bn({})}var Cn;xi&&(Cn=function(Yr){sr(Yr)}),p(function(){var qr;return[bi.current,(qr=fr.current)===null||qr===void 0?void 0:qr.getPopupElement()]},Xr,sr,!!xi);var Hn=x.useMemo(function(){return(0,S.Z)((0,S.Z)({},Ie),{},{notFoundContent:Ae,open:Jr,triggerOpen:Xr,id:ze,showSearch:ri,multiple:Fr,toggleOpen:sr})},[Ie,Ae,Xr,Jr,ze,ri,Fr,sr]),zn=!!yr||St,qi;zn&&(qi=x.createElement(m,{className:l()("".concat(He,"-arrow"),(0,X.Z)({},"".concat(He,"-arrow-loading"),St)),customizeIcon:yr,customizeIconProps:{loading:St,searchValue:Oi,open:Jr,focused:Pi,showSearch:ri}}));var qn=function(){var Yr;Ve==null||Ve(),(Yr=_i.current)===null||Yr===void 0||Yr.focus(),pt([],{type:"clear",values:Ot}),ci("",!1,!1)},Pn=_(He,qn,Ot,Or,Pr,rt,Oi,Je),ea=Pn.allowClear,fa=Pn.clearIcon,da=x.createElement(gr,{ref:hi}),_a=l()(He,Xe,(0,X.Z)((0,X.Z)((0,X.Z)((0,X.Z)((0,X.Z)((0,X.Z)((0,X.Z)((0,X.Z)((0,X.Z)((0,X.Z)({},"".concat(He,"-focused"),Pi),"".concat(He,"-multiple"),Fr),"".concat(He,"-single"),!Fr),"".concat(He,"-allow-clear"),Or),"".concat(He,"-show-arrow"),zn),"".concat(He,"-disabled"),rt),"".concat(He,"-loading"),St),"".concat(He,"-open"),Jr),"".concat(He,"-customize-input"),Xi),"".concat(He,"-show-search"),ri)),jn=x.createElement(Ue,{ref:fr,disabled:rt,prefixCls:He,visible:Xr,popupElement:da,animation:er,transitionName:Br,dropdownStyle:zr,dropdownClassName:Qr,direction:Kt,dropdownMatchSelectWidth:xr,dropdownRender:ni,dropdownAlign:$r,placement:ei,builtinPlacements:si,getPopupContainer:Vr,empty:Ct,getTriggerDOMNode:function(Yr){return Di.current||Yr},onPopupVisibleChange:Cn,onPopupMouseEnter:yn},xi?x.cloneElement(xi,{ref:tn}):x.createElement(Ce,(0,ee.Z)({},Ie,{domRef:Di,prefixCls:He,inputElement:Xi,ref:_i,id:ze,prefix:br,showSearch:ri,autoClearSearchValue:Dr,mode:Je,activeDescendantId:Zt,tagRender:mt,values:Ot,open:Jr,onToggleOpen:sr,activeValue:hr,searchValue:Oi,onSearch:ci,onSearchSubmit:Zi,onRemove:hn,tokenWithEnter:Nr,onInputBlur:Ui}))),fn;return xi?fn=jn:fn=x.createElement("div",(0,ee.Z)({className:_a},Ei,{ref:bi,onMouseDown:Vn,onKeyDown:nn,onKeyUp:Vi,onFocus:an,onBlur:Qn}),x.createElement(je,{visible:Pi&&!Jr,values:Ot}),jn,qi,ea&&fa),x.createElement(h.Provider,{value:Hn},fn)}),It=At,Nt=function(){return null};Nt.isSelectOptGroup=!0;var lt=Nt,Bt=function(){return null};Bt.isSelectOption=!0;var cr=Bt,bt=ae(80547),ut=ae(2738),Wt=ae(6790);function Ar(){return/(mac\sos|macintosh)/i.test(navigator.appVersion)}var Vt=["disabled","title","children","style","className"];function Ht(Ie){return typeof Ie=="string"||typeof Ie=="number"}var ar=function(be,ct){var ze=g(),He=ze.prefixCls,Xe=ze.id,st=ze.open,mt=ze.multiple,Kt=ze.mode,gt=ze.searchValue,Ot=ze.toggleOpen,pt=ze.notFoundContent,Ct=ze.onPopupScroll,xt=x.useContext(Be),Ae=xt.maxCount,Ve=xt.flattenOptions,Je=xt.onActiveValue,rt=xt.defaultActiveFirstOption,St=xt.onSelect,Rt=xt.menuItemSelectedIcon,Mt=xt.rawValues,Xt=xt.fieldNames,Ge=xt.virtual,Gt=xt.direction,hr=xt.listHeight,Qt=xt.listItemHeight,Zt=xt.optionRender,mr="".concat(He,"-item"),Dr=(0,bt.Z)(function(){return Ve},[st,Ve],function(Er,kt){return kt[0]&&Er[1]!==kt[1]}),Rr=x.useRef(null),lr=x.useMemo(function(){return mt&&ne(Ae)&&(Mt==null?void 0:Mt.size)>=Ae},[mt,Ae,Mt==null?void 0:Mt.size]),ir=function(kt){kt.preventDefault()},Or=function(kt){var Ft;(Ft=Rr.current)===null||Ft===void 0||Ft.scrollTo(typeof kt=="number"?{index:kt}:kt)},br=x.useCallback(function(Er){return Kt==="combobox"?!1:Mt.has(Er)},[Kt,(0,te.Z)(Mt).toString(),Mt.size]),yr=function(kt){for(var Ft=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1,tr=Dr.length,Jt=0;Jt<tr;Jt+=1){var Tr=(kt+Jt*Ft+tr)%tr,kr=Dr[Tr]||{},jr=kr.group,Fr=kr.data;if(!jr&&!(Fr!=null&&Fr.disabled)&&(br(Fr.value)||!lr))return Tr}return-1},Pr=x.useState(function(){return yr(0)}),gr=(0,K.Z)(Pr,2),er=gr[0],Br=gr[1],zr=function(kt){var Ft=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;Br(kt);var tr={source:Ft?"keyboard":"mouse"},Jt=Dr[kt];if(!Jt){Je(null,-1,tr);return}Je(Jt.value,kt,tr)};(0,x.useEffect)(function(){zr(rt!==!1?yr(0):-1)},[Dr.length,gt]);var Qr=x.useCallback(function(Er){return Kt==="combobox"?String(Er).toLowerCase()===gt.toLowerCase():Mt.has(Er)},[Kt,gt,(0,te.Z)(Mt).toString(),Mt.size]);(0,x.useEffect)(function(){var Er=setTimeout(function(){if(!mt&&st&&Mt.size===1){var Ft=Array.from(Mt)[0],tr=Dr.findIndex(function(Jt){var Tr=Jt.data;return gt?String(Tr.value).startsWith(gt):Tr.value===Ft});tr!==-1&&(zr(tr),Or(tr))}});if(st){var kt;(kt=Rr.current)===null||kt===void 0||kt.scrollTo(void 0)}return function(){return clearTimeout(Er)}},[st,gt]);var xr=function(kt){kt!==void 0&&St(kt,{selected:!Mt.has(kt)}),mt||Ot(!1)};if(x.useImperativeHandle(ct,function(){return{onKeyDown:function(kt){var Ft=kt.which,tr=kt.ctrlKey;switch(Ft){case E.Z.N:case E.Z.P:case E.Z.UP:case E.Z.DOWN:{var Jt=0;if(Ft===E.Z.UP?Jt=-1:Ft===E.Z.DOWN?Jt=1:Ar()&&tr&&(Ft===E.Z.N?Jt=1:Ft===E.Z.P&&(Jt=-1)),Jt!==0){var Tr=yr(er+Jt,Jt);Or(Tr),zr(Tr,!0)}break}case E.Z.TAB:case E.Z.ENTER:{var kr,jr=Dr[er];jr&&!(jr!=null&&(kr=jr.data)!==null&&kr!==void 0&&kr.disabled)&&!lr?xr(jr.value):xr(void 0),st&&kt.preventDefault();break}case E.Z.ESC:Ot(!1),st&&kt.stopPropagation()}},onKeyUp:function(){},scrollTo:function(kt){Or(kt)}}}),Dr.length===0)return x.createElement("div",{role:"listbox",id:"".concat(Xe,"_list"),className:"".concat(mr,"-empty"),onMouseDown:ir},pt);var ni=Object.keys(Xt).map(function(Er){return Xt[Er]}),$r=function(kt){return kt.label};function ei(Er,kt){var Ft=Er.group;return{role:Ft?"presentation":"option",id:"".concat(Xe,"_list_").concat(kt)}}var si=function(kt){var Ft=Dr[kt];if(!Ft)return null;var tr=Ft.data||{},Jt=tr.value,Tr=Ft.group,kr=(0,w.Z)(tr,!0),jr=$r(Ft);return Ft?x.createElement("div",(0,ee.Z)({"aria-label":typeof jr=="string"&&!Tr?jr:null},kr,{key:kt},ei(Ft,kt),{"aria-selected":Qr(Jt)}),Jt):null},Vr={role:"listbox",id:"".concat(Xe,"_list")};return x.createElement(x.Fragment,null,Ge&&x.createElement("div",(0,ee.Z)({},Vr,{style:{height:0,width:0,overflow:"hidden"}}),si(er-1),si(er),si(er+1)),x.createElement(Wt.Z,{itemKey:"key",ref:Rr,data:Dr,height:hr,itemHeight:Qt,fullHeight:!1,onMouseDown:ir,onScroll:Ct,virtual:Ge,direction:Gt,innerProps:Ge?null:Vr},function(Er,kt){var Ft=Er.group,tr=Er.groupOption,Jt=Er.data,Tr=Er.label,kr=Er.value,jr=Jt.key;if(Ft){var Fr,ri=(Fr=Jt.title)!==null&&Fr!==void 0?Fr:Ht(Tr)?Tr.toString():void 0;return x.createElement("div",{className:l()(mr,"".concat(mr,"-group"),Jt.className),title:ri},Tr!==void 0?Tr:jr)}var Ei=Jt.disabled,pi=Jt.title,ui=Jt.children,Zr=Jt.style,Ai=Jt.className,bi=(0,y.Z)(Jt,Vt),Di=(0,ut.Z)(bi,ni),fr=br(kr),_i=Ei||!fr&&lr,hi="".concat(mr,"-option"),Ri=l()(mr,hi,Ai,(0,X.Z)((0,X.Z)((0,X.Z)((0,X.Z)({},"".concat(hi,"-grouped"),tr),"".concat(hi,"-active"),er===kt&&!_i),"".concat(hi,"-disabled"),_i),"".concat(hi,"-selected"),fr)),Ni=$r(Er),Bi=!Rt||typeof Rt=="function"||fr,Pi=typeof Ni=="number"?Ni:Ni||kr,Li=Ht(Pi)?Pi.toString():void 0;return pi!==void 0&&(Li=pi),x.createElement("div",(0,ee.Z)({},(0,w.Z)(Di),Ge?{}:ei(Er,kt),{"aria-selected":Qr(kr),className:Ri,title:Li,onMouseMove:function(){er===kt||_i||zr(kt)},onClick:function(){_i||xr(kr)},style:Zr}),x.createElement("div",{className:"".concat(hi,"-content")},typeof Zt=="function"?Zt(Er,{index:kt}):Pi),x.isValidElement(Rt)||fr,Bi&&x.createElement(m,{className:"".concat(mr,"-option-state"),customizeIcon:Rt,customizeIconProps:{value:kr,disabled:_i,isSelected:fr}},fr?"\u2713":null))}))},or=x.forwardRef(ar),Tt=or,at=function(Ie,be){var ct=x.useRef({values:new Map,options:new Map}),ze=x.useMemo(function(){var Xe=ct.current,st=Xe.values,mt=Xe.options,Kt=Ie.map(function(pt){if(pt.label===void 0){var Ct;return(0,S.Z)((0,S.Z)({},pt),{},{label:(Ct=st.get(pt.value))===null||Ct===void 0?void 0:Ct.label})}return pt}),gt=new Map,Ot=new Map;return Kt.forEach(function(pt){gt.set(pt.value,pt),Ot.set(pt.value,be.get(pt.value)||mt.get(pt.value))}),ct.current.values=gt,ct.current.options=Ot,Kt},[Ie,be]),He=x.useCallback(function(Xe){return be.get(Xe)||ct.current.options.get(Xe)},[be]);return[ze,He]};function vt(Ie,be){return U(Ie).join("").toUpperCase().includes(be)}var Yt=function(Ie,be,ct,ze,He){return x.useMemo(function(){if(!ct||ze===!1)return Ie;var Xe=be.options,st=be.label,mt=be.value,Kt=[],gt=typeof ze=="function",Ot=ct.toUpperCase(),pt=gt?ze:function(xt,Ae){return He?vt(Ae[He],Ot):Ae[Xe]?vt(Ae[st!=="children"?st:"label"],Ot):vt(Ae[mt],Ot)},Ct=gt?function(xt){return he(xt)}:function(xt){return xt};return Ie.forEach(function(xt){if(xt[Xe]){var Ae=pt(ct,Ct(xt));if(Ae)Kt.push(xt);else{var Ve=xt[Xe].filter(function(Je){return pt(ct,Ct(Je))});Ve.length&&Kt.push((0,S.Z)((0,S.Z)({},xt),{},(0,X.Z)({},Xe,Ve)))}return}pt(ct,Ct(xt))&&Kt.push(xt)}),Kt},[Ie,ze,He,ct,be])},qt=ae(6551),Cr=ae(11592),nt=["children","value"],yt=["children"];function Lt(Ie){var be=Ie,ct=be.key,ze=be.props,He=ze.children,Xe=ze.value,st=(0,y.Z)(ze,nt);return(0,S.Z)({key:ct,value:Xe!==void 0?Xe:ct,children:He},st)}function Ut(Ie){var be=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;return(0,Cr.Z)(Ie).map(function(ct,ze){if(!x.isValidElement(ct)||!ct.type)return null;var He=ct,Xe=He.type.isSelectOptGroup,st=He.key,mt=He.props,Kt=mt.children,gt=(0,y.Z)(mt,yt);return be||!Xe?Lt(ct):(0,S.Z)((0,S.Z)({key:"__RC_SELECT_GRP__".concat(st===null?ze:st,"__"),label:st},gt),{},{options:Ut(Kt)})}).filter(function(ct){return ct})}var rr=function(be,ct,ze,He,Xe){return x.useMemo(function(){var st=be,mt=!be;mt&&(st=Ut(ct));var Kt=new Map,gt=new Map,Ot=function(xt,Ae,Ve){Ve&&typeof Ve=="string"&&xt.set(Ae[Ve],Ae)},pt=function Ct(xt){for(var Ae=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,Ve=0;Ve<xt.length;Ve+=1){var Je=xt[Ve];!Je[ze.options]||Ae?(Kt.set(Je[ze.value],Je),Ot(gt,Je,ze.label),Ot(gt,Je,He),Ot(gt,Je,Xe)):Ct(Je[ze.options],!0)}};return pt(st),{options:st,valueOptions:Kt,labelOptions:gt}},[be,ct,ze,He,Xe])},dt=rr;function V(Ie){var be=x.useRef();be.current=Ie;var ct=x.useCallback(function(){return be.current.apply(be,arguments)},[]);return ct}function Y(Ie){var be=Ie.mode,ct=Ie.options,ze=Ie.children,He=Ie.backfill,Xe=Ie.allowClear,st=Ie.placeholder,mt=Ie.getInputElement,Kt=Ie.showSearch,gt=Ie.onSearch,Ot=Ie.defaultOpen,pt=Ie.autoFocus,Ct=Ie.labelInValue,xt=Ie.value,Ae=Ie.inputValue,Ve=Ie.optionLabelProp,Je=isMultiple(be),rt=Kt!==void 0?Kt:Je||be==="combobox",St=ct||convertChildrenToData(ze);if(warning(be!=="tags"||St.every(function(Ge){return!Ge.disabled}),"Please avoid setting option to disabled in tags mode since user can always type text as tag."),be==="tags"||be==="combobox"){var Rt=St.some(function(Ge){return Ge.options?Ge.options.some(function(Gt){return typeof("value"in Gt?Gt.value:Gt.key)=="number"}):typeof("value"in Ge?Ge.value:Ge.key)=="number"});warning(!Rt,"`value` of Option should not use number type when `mode` is `tags` or `combobox`.")}if(warning(be!=="combobox"||!Ve,"`combobox` mode not support `optionLabelProp`. Please set `value` on Option directly."),warning(be==="combobox"||!He,"`backfill` only works with `combobox` mode."),warning(be==="combobox"||!mt,"`getInputElement` only work with `combobox` mode."),noteOnce(be!=="combobox"||!mt||!Xe||!st,"Customize `getInputElement` should customize clear and placeholder logic instead of configuring `allowClear` and `placeholder`."),gt&&!rt&&be!=="combobox"&&be!=="tags"&&warning(!1,"`onSearch` should work with `showSearch` instead of use alone."),noteOnce(!Ot||pt,"`defaultOpen` makes Select open without focus which means it will not close by click outside. You can set `autoFocus` if needed."),xt!=null){var Mt=toArray(xt);warning(!Ct||Mt.every(function(Ge){return _typeof(Ge)==="object"&&("key"in Ge||"value"in Ge)}),"`value` should in shape of `{ value: string | number, label?: ReactNode }` when you set `labelInValue` to `true`"),warning(!Je||Array.isArray(xt),"`value` should be array when `mode` is `multiple` or `tags`")}if(ze){var Xt=null;toNodeArray(ze).some(function(Ge){if(!React.isValidElement(Ge)||!Ge.type)return!1;var Gt=Ge,hr=Gt.type;if(hr.isSelectOption)return!1;if(hr.isSelectOptGroup){var Qt=toNodeArray(Ge.props.children).every(function(Zt){return!React.isValidElement(Zt)||!Ge.type||Zt.type.isSelectOption?!0:(Xt=Zt.type,!1)});return!Qt}return Xt=hr,!0}),Xt&&warning(!1,"`children` should be `Select.Option` or `Select.OptGroup` instead of `".concat(Xt.displayName||Xt.name||Xt,"`.")),warning(Ae===void 0,"`inputValue` is deprecated, please use `searchValue` instead.")}}function Q(Ie,be){if(Ie){var ct=function ze(He){for(var Xe=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,st=0;st<He.length;st++){var mt=He[st];if(mt[be==null?void 0:be.value]===null)return warning(!1,"`value` in Select options should not be `null`."),!0;if(!Xe&&Array.isArray(mt[be==null?void 0:be.options])&&ze(mt[be==null?void 0:be.options],!0))break}};ct(Ie)}}var le=null,fe=["id","mode","prefixCls","backfill","fieldNames","inputValue","searchValue","onSearch","autoClearSearchValue","onSelect","onDeselect","dropdownMatchSelectWidth","filterOption","filterSort","optionFilterProp","optionLabelProp","options","optionRender","children","defaultActiveFirstOption","menuItemSelectedIcon","virtual","direction","listHeight","listItemHeight","labelRender","value","defaultValue","labelInValue","onChange","maxCount"],Oe=["inputValue"];function Pe(Ie){return!Ie||(0,L.Z)(Ie)!=="object"}var Ye=x.forwardRef(function(Ie,be){var ct=Ie.id,ze=Ie.mode,He=Ie.prefixCls,Xe=He===void 0?"rc-select":He,st=Ie.backfill,mt=Ie.fieldNames,Kt=Ie.inputValue,gt=Ie.searchValue,Ot=Ie.onSearch,pt=Ie.autoClearSearchValue,Ct=pt===void 0?!0:pt,xt=Ie.onSelect,Ae=Ie.onDeselect,Ve=Ie.dropdownMatchSelectWidth,Je=Ve===void 0?!0:Ve,rt=Ie.filterOption,St=Ie.filterSort,Rt=Ie.optionFilterProp,Mt=Ie.optionLabelProp,Xt=Ie.options,Ge=Ie.optionRender,Gt=Ie.children,hr=Ie.defaultActiveFirstOption,Qt=Ie.menuItemSelectedIcon,Zt=Ie.virtual,mr=Ie.direction,Dr=Ie.listHeight,Rr=Dr===void 0?200:Dr,lr=Ie.listItemHeight,ir=lr===void 0?20:lr,Or=Ie.labelRender,br=Ie.value,yr=Ie.defaultValue,Pr=Ie.labelInValue,gr=Ie.onChange,er=Ie.maxCount,Br=(0,y.Z)(Ie,fe),zr=(0,qt.ZP)(ct),Qr=tt(ze),xr=!!(!Xt&&Gt),ni=x.useMemo(function(){return rt===void 0&&ze==="combobox"?!1:rt},[rt,ze]),$r=x.useMemo(function(){return ce(mt,xr)},[JSON.stringify(mt),xr]),ei=(0,A.Z)("",{value:gt!==void 0?gt:Kt,postState:function(Nr){return Nr||""}}),si=(0,K.Z)(ei,2),Vr=si[0],Er=si[1],kt=dt(Xt,Gt,$r,Rt,Mt),Ft=kt.valueOptions,tr=kt.labelOptions,Jt=kt.options,Tr=x.useCallback(function(sr){var Nr=U(sr);return Nr.map(function(Ir){var Mr,ti,ci,Zi,dr;if(Pe(Ir))Mr=Ir;else{var wr;ci=Ir.key,ti=Ir.label,Mr=(wr=Ir.value)!==null&&wr!==void 0?wr:ci}var Wr=Ft.get(Mr);if(Wr){var oi;if(ti===void 0&&(ti=Wr==null?void 0:Wr[Mt||$r.label]),ci===void 0&&(ci=(oi=Wr==null?void 0:Wr.key)!==null&&oi!==void 0?oi:Mr),Zi=Wr==null?void 0:Wr.disabled,dr=Wr==null?void 0:Wr.title,0)var di}return{label:ti,value:Mr,key:ci,disabled:Zi,title:dr}})},[$r,Mt,Ft]),kr=(0,A.Z)(yr,{value:br}),jr=(0,K.Z)(kr,2),Fr=jr[0],ri=jr[1],Ei=x.useMemo(function(){var sr,Nr=Qr&&Fr===null?[]:Fr,Ir=Tr(Nr);return ze==="combobox"&&H((sr=Ir[0])===null||sr===void 0?void 0:sr.value)?[]:Ir},[Fr,Tr,ze,Qr]),pi=at(Ei,Ft),ui=(0,K.Z)(pi,2),Zr=ui[0],Ai=ui[1],bi=x.useMemo(function(){if(!ze&&Zr.length===1){var sr=Zr[0];if(sr.value===null&&(sr.label===null||sr.label===void 0))return[]}return Zr.map(function(Nr){var Ir;return(0,S.Z)((0,S.Z)({},Nr),{},{label:(Ir=typeof Or=="function"?Or(Nr):Nr.label)!==null&&Ir!==void 0?Ir:Nr.value})})},[ze,Zr,Or]),Di=x.useMemo(function(){return new Set(Zr.map(function(sr){return sr.value}))},[Zr]);x.useEffect(function(){if(ze==="combobox"){var sr,Nr=(sr=Zr[0])===null||sr===void 0?void 0:sr.value;Er(I(Nr)?String(Nr):"")}},[Zr]);var fr=V(function(sr,Nr){var Ir=Nr!=null?Nr:sr;return(0,X.Z)((0,X.Z)({},$r.value,sr),$r.label,Ir)}),_i=x.useMemo(function(){if(ze!=="tags")return Jt;var sr=(0,te.Z)(Jt),Nr=function(Mr){return Ft.has(Mr)};return(0,te.Z)(Zr).sort(function(Ir,Mr){return Ir.value<Mr.value?-1:1}).forEach(function(Ir){var Mr=Ir.value;Nr(Mr)||sr.push(fr(Mr,Ir.label))}),sr},[fr,Jt,Ft,Zr,ze]),hi=Yt(_i,$r,Vr,ni,Rt),Ri=x.useMemo(function(){return ze!=="tags"||!Vr||hi.some(function(sr){return sr[Rt||"value"]===Vr})||hi.some(function(sr){return sr[$r.value]===Vr})?hi:[fr(Vr)].concat((0,te.Z)(hi))},[fr,Rt,ze,hi,Vr,$r]),Ni=function sr(Nr){var Ir=(0,te.Z)(Nr).sort(function(Mr,ti){return St(Mr,ti,{searchValue:Vr})});return Ir.map(function(Mr){return Array.isArray(Mr.options)?(0,S.Z)((0,S.Z)({},Mr),{},{options:Mr.options.length>0?sr(Mr.options):Mr.options}):Mr})},Bi=x.useMemo(function(){return St?Ni(Ri):Ri},[Ri,St,Vr]),Pi=x.useMemo(function(){return ye(Bi,{fieldNames:$r,childrenAsData:xr})},[Bi,$r,xr]),Li=function(Nr){var Ir=Tr(Nr);if(ri(Ir),gr&&(Ir.length!==Zr.length||Ir.some(function(ci,Zi){var dr;return((dr=Zr[Zi])===null||dr===void 0?void 0:dr.value)!==(ci==null?void 0:ci.value)}))){var Mr=Pr?Ir:Ir.map(function(ci){return ci.value}),ti=Ir.map(function(ci){return he(Ai(ci.value))});gr(Qr?Mr:Mr[0],Qr?ti:ti[0])}},ai=x.useState(null),Oi=(0,K.Z)(ai,2),Xi=Oi[0],xi=Oi[1],tn=x.useState(0),rn=(0,K.Z)(tn,2),Yi=rn[0],Fi=rn[1],Ki=hr!==void 0?hr:ze!=="combobox",Gi=x.useCallback(function(sr,Nr){var Ir=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},Mr=Ir.source,ti=Mr===void 0?"keyboard":Mr;Fi(Nr),st&&ze==="combobox"&&sr!==null&&ti==="keyboard"&&xi(String(sr))},[st,ze]),Ti=function(Nr,Ir,Mr){var ti=function(){var hn,Ui=Ai(Nr);return[Pr?{label:Ui==null?void 0:Ui[$r.label],value:Nr,key:(hn=Ui==null?void 0:Ui.key)!==null&&hn!==void 0?hn:Nr}:Nr,he(Ui)]};if(Ir&&xt){var ci=ti(),Zi=(0,K.Z)(ci,2),dr=Zi[0],wr=Zi[1];xt(dr,wr)}else if(!Ir&&Ae&&Mr!=="clear"){var Wr=ti(),oi=(0,K.Z)(Wr,2),di=oi[0],nn=oi[1];Ae(di,nn)}},Mi=V(function(sr,Nr){var Ir,Mr=Qr?Nr.selected:!0;Mr?Ir=Qr?[].concat((0,te.Z)(Zr),[sr]):[sr]:Ir=Zr.filter(function(ti){return ti.value!==sr}),Li(Ir),Ti(sr,Mr),ze==="combobox"?xi(""):(!tt||Ct)&&(Er(""),xi(""))}),ji=function(Nr,Ir){Li(Nr);var Mr=Ir.type,ti=Ir.values;(Mr==="remove"||Mr==="clear")&&ti.forEach(function(ci){Ti(ci.value,!1,Mr)})},Jr=function(Nr,Ir){if(Er(Nr),xi(null),Ir.source==="submit"){var Mr=(Nr||"").trim();if(Mr){var ti=Array.from(new Set([].concat((0,te.Z)(Di),[Mr])));Li(ti),Ti(Mr,!0),Er("")}return}Ir.source!=="blur"&&(ze==="combobox"&&Li(Nr),Ot==null||Ot(Nr))},fi=function(Nr){var Ir=Nr;ze!=="tags"&&(Ir=Nr.map(function(ti){var ci=tr.get(ti);return ci==null?void 0:ci.value}).filter(function(ti){return ti!==void 0}));var Mr=Array.from(new Set([].concat((0,te.Z)(Di),(0,te.Z)(Ir))));Li(Mr),Mr.forEach(function(ti){Ti(ti,!0)})},Xr=x.useMemo(function(){var sr=Zt!==!1&&Je!==!1;return(0,S.Z)((0,S.Z)({},kt),{},{flattenOptions:Pi,onActiveValue:Gi,defaultActiveFirstOption:Ki,onSelect:Mi,menuItemSelectedIcon:Qt,rawValues:Di,fieldNames:$r,virtual:sr,direction:mr,listHeight:Rr,listItemHeight:ir,childrenAsData:xr,maxCount:er,optionRender:Ge})},[er,kt,Pi,Gi,Ki,Mi,Qt,Di,$r,Zt,Je,mr,Rr,ir,xr,Ge]);return x.createElement(Be.Provider,{value:Xr},x.createElement(It,(0,ee.Z)({},Br,{id:zr,prefixCls:Xe,ref:be,omitDomProps:Oe,mode:ze,displayValues:bi,onDisplayValuesChange:ji,direction:mr,searchValue:Vr,onSearch:Jr,autoClearSearchValue:Ct,onSearchSplit:fi,dropdownMatchSelectWidth:Je,OptionList:Tt,emptyOptions:!Pi.length,activeValue:Xi,activeDescendantId:"".concat(zr,"_list_").concat(Yi)})))}),$e=Ye;$e.Option=cr,$e.OptGroup=lt;var Dt=$e,zt=Dt},22711:function($t,Qe,ae){"use strict";ae.r(Qe),ae.d(Qe,{ResizableTextArea:function(){return z},default:function(){return k}});var ee=ae(67711),te=ae(52873),X=ae(98506),S=ae(15142),K=ae(16886),y=ae(33346),L=ae(92310),A=ae.n(L),s=ae(36901),x=ae(66003),c=ae(30292),l=ae(18929),f=ae(59301),n=ae(26420),o=ae(29301),d=ae(34280),m=ae(16089),_=`
min-height:0 !important;
max-height:none !important;
height:0 !important;
visibility:hidden !important;
overflow:hidden !important;
position:absolute !important;
z-index:-1000 !important;
top:0 !important;
right:0 !important;
pointer-events: none !important;
`,h=["letter-spacing","line-height","padding-top","padding-bottom","font-family","font-weight","font-size","font-variant","text-rendering","text-transform","width","text-indent","padding-left","padding-right","border-width","box-sizing","word-break","white-space"],g={},r;function a(U){var G=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,C=U.getAttribute("id")||U.getAttribute("data-reactid")||U.getAttribute("name");if(G&&g[C])return g[C];var I=window.getComputedStyle(U),H=I.getPropertyValue("box-sizing")||I.getPropertyValue("-moz-box-sizing")||I.getPropertyValue("-webkit-box-sizing"),$=parseFloat(I.getPropertyValue("padding-bottom"))+parseFloat(I.getPropertyValue("padding-top")),q=parseFloat(I.getPropertyValue("border-bottom-width"))+parseFloat(I.getPropertyValue("border-top-width")),se=h.map(function(me){return"".concat(me,":").concat(I.getPropertyValue(me))}).join(";"),ue={sizingStyle:se,paddingSize:$,borderSize:q,boxSizing:H};return G&&C&&(g[C]=ue),ue}function p(U){var G=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,C=arguments.length>2&&arguments[2]!==void 0?arguments[2]:null,I=arguments.length>3&&arguments[3]!==void 0?arguments[3]:null;r||(r=document.createElement("textarea"),r.setAttribute("tab-index","-1"),r.setAttribute("aria-hidden","true"),r.setAttribute("name","hiddenTextarea"),document.body.appendChild(r)),U.getAttribute("wrap")?r.setAttribute("wrap",U.getAttribute("wrap")):r.removeAttribute("wrap");var H=a(U,G),$=H.paddingSize,q=H.borderSize,se=H.boxSizing,ue=H.sizingStyle;r.setAttribute("style","".concat(ue,";").concat(_)),r.value=U.value||U.placeholder||"";var me=void 0,Ee=void 0,Le,Fe=r.scrollHeight;if(se==="border-box"?Fe+=q:se==="content-box"&&(Fe-=$),C!==null||I!==null){r.value=" ";var Ke=r.scrollHeight-$;C!==null&&(me=Ke*C,se==="border-box"&&(me=me+$+q),Fe=Math.max(me,Fe)),I!==null&&(Ee=Ke*I,se==="border-box"&&(Ee=Ee+$+q),Le=Fe>Ee?"":"hidden",Fe=Math.min(Ee,Fe))}var Te={height:Fe,overflowY:Le,resize:"none"};return me&&(Te.minHeight=me),Ee&&(Te.maxHeight=Ee),Te}var E=["prefixCls","defaultValue","value","autoSize","onResize","className","style","disabled","onChange","onInternalAutoSize"],b=0,w=1,R=2,O=f.forwardRef(function(U,G){var C=U,I=C.prefixCls,H=C.defaultValue,$=C.value,q=C.autoSize,se=C.onResize,ue=C.className,me=C.style,Ee=C.disabled,Le=C.onChange,Fe=C.onInternalAutoSize,Ke=(0,y.Z)(C,E),Te=(0,l.Z)(H,{value:$,postState:function(cr){return cr!=null?cr:""}}),We=(0,K.Z)(Te,2),Ce=We[0],De=We[1],ge=function(cr){De(cr.target.value),Le==null||Le(cr)},Re=f.useRef();f.useImperativeHandle(G,function(){return{textArea:Re.current}});var ve=f.useMemo(function(){return q&&(0,n.Z)(q)==="object"?[q.minRows,q.maxRows]:[]},[q]),we=(0,K.Z)(ve,2),Ue=we[0],de=we[1],oe=!!q,ne=function(){try{if(document.activeElement===Re.current){var cr=Re.current,bt=cr.selectionStart,ut=cr.selectionEnd,Wt=cr.scrollTop;Re.current.setSelectionRange(bt,ut),Re.current.scrollTop=Wt}}catch(Ar){}},ce=f.useState(R),ye=(0,K.Z)(ce,2),he=ye[0],xe=ye[1],Ne=f.useState(),Be=(0,K.Z)(Ne,2),je=Be[0],et=Be[1],ft=function(){xe(b)};(0,d.Z)(function(){oe&&ft()},[$,Ue,de,oe]),(0,d.Z)(function(){if(he===b)xe(w);else if(he===w){var Bt=p(Re.current,!1,Ue,de);xe(R),et(Bt)}else ne()},[he]);var tt=f.useRef(),At=function(){m.Z.cancel(tt.current)},It=function(cr){he===R&&(se==null||se(cr),q&&(At(),tt.current=(0,m.Z)(function(){ft()})))};f.useEffect(function(){return At},[]);var Nt=oe?je:null,lt=(0,X.Z)((0,X.Z)({},me),Nt);return(he===b||he===w)&&(lt.overflowY="hidden",lt.overflowX="hidden"),f.createElement(o.Z,{onResize:It,disabled:!(q||se)},f.createElement("textarea",(0,ee.Z)({},Ke,{ref:Re,style:lt,className:A()(I,ue,(0,te.Z)({},"".concat(I,"-disabled"),Ee)),disabled:Ee,value:Ce,onChange:ge})))}),z=O,B=["defaultValue","value","onFocus","onBlur","onChange","allowClear","maxLength","onCompositionStart","onCompositionEnd","suffix","prefixCls","showCount","count","className","style","disabled","hidden","classNames","styles","onResize","onClear","onPressEnter","readOnly","autoSize","onKeyDown"],P=f.forwardRef(function(U,G){var C,I=U.defaultValue,H=U.value,$=U.onFocus,q=U.onBlur,se=U.onChange,ue=U.allowClear,me=U.maxLength,Ee=U.onCompositionStart,Le=U.onCompositionEnd,Fe=U.suffix,Ke=U.prefixCls,Te=Ke===void 0?"rc-textarea":Ke,We=U.showCount,Ce=U.count,De=U.className,ge=U.style,Re=U.disabled,ve=U.hidden,we=U.classNames,Ue=U.styles,de=U.onResize,oe=U.onClear,ne=U.onPressEnter,ce=U.readOnly,ye=U.autoSize,he=U.onKeyDown,xe=(0,y.Z)(U,B),Ne=(0,l.Z)(I,{value:H,defaultValue:I}),Be=(0,K.Z)(Ne,2),je=Be[0],et=Be[1],ft=je==null?"":String(je),tt=f.useState(!1),At=(0,K.Z)(tt,2),It=At[0],Nt=At[1],lt=f.useRef(!1),Bt=f.useState(null),cr=(0,K.Z)(Bt,2),bt=cr[0],ut=cr[1],Wt=(0,f.useRef)(null),Ar=(0,f.useRef)(null),Vt=function(){var $e;return($e=Ar.current)===null||$e===void 0?void 0:$e.textArea},Ht=function(){Vt().focus()};(0,f.useImperativeHandle)(G,function(){var Ye;return{resizableTextArea:Ar.current,focus:Ht,blur:function(){Vt().blur()},nativeElement:((Ye=Wt.current)===null||Ye===void 0?void 0:Ye.nativeElement)||Vt()}}),(0,f.useEffect)(function(){Nt(function(Ye){return!Re&&Ye})},[Re]);var ar=f.useState(null),or=(0,K.Z)(ar,2),Tt=or[0],at=or[1];f.useEffect(function(){if(Tt){var Ye;(Ye=Vt()).setSelectionRange.apply(Ye,(0,S.Z)(Tt))}},[Tt]);var vt=(0,x.Z)(Ce,We),Yt=(C=vt.max)!==null&&C!==void 0?C:me,qt=Number(Yt)>0,Cr=vt.strategy(ft),nt=!!Yt&&Cr>Yt,yt=function($e,Dt){var zt=Dt;!lt.current&&vt.exceedFormatter&&vt.max&&vt.strategy(Dt)>vt.max&&(zt=vt.exceedFormatter(Dt,{max:vt.max}),Dt!==zt&&at([Vt().selectionStart||0,Vt().selectionEnd||0])),et(zt),(0,c.rJ)($e.currentTarget,$e,se,zt)},Lt=function($e){lt.current=!0,Ee==null||Ee($e)},Ut=function($e){lt.current=!1,yt($e,$e.currentTarget.value),Le==null||Le($e)},rr=function($e){yt($e,$e.target.value)},dt=function($e){$e.key==="Enter"&&ne&&ne($e),he==null||he($e)},V=function($e){Nt(!0),$==null||$($e)},Y=function($e){Nt(!1),q==null||q($e)},Q=function($e){et(""),Ht(),(0,c.rJ)(Vt(),$e,se)},le=Fe,fe;vt.show&&(vt.showFormatter?fe=vt.showFormatter({value:ft,count:Cr,maxLength:Yt}):fe="".concat(Cr).concat(qt?" / ".concat(Yt):""),le=f.createElement(f.Fragment,null,le,f.createElement("span",{className:A()("".concat(Te,"-data-count"),we==null?void 0:we.count),style:Ue==null?void 0:Ue.count},fe)));var Oe=function($e){var Dt;de==null||de($e),(Dt=Vt())!==null&&Dt!==void 0&&Dt.style.height&&ut(!0)},Pe=!ye&&!We&&!ue;return f.createElement(s.BaseInput,{ref:Wt,value:ft,allowClear:ue,handleReset:Q,suffix:le,prefixCls:Te,classNames:(0,X.Z)((0,X.Z)({},we),{},{affixWrapper:A()(we==null?void 0:we.affixWrapper,(0,te.Z)((0,te.Z)({},"".concat(Te,"-show-count"),We),"".concat(Te,"-textarea-allow-clear"),ue))}),disabled:Re,focused:It,className:A()(De,nt&&"".concat(Te,"-out-of-range")),style:(0,X.Z)((0,X.Z)({},ge),bt&&!Pe?{height:"auto"}:{}),dataAttrs:{affixWrapper:{"data-count":typeof fe=="string"?fe:void 0}},hidden:ve,readOnly:ce,onClear:oe},f.createElement(z,(0,ee.Z)({},xe,{autoSize:ye,maxLength:me,onKeyDown:dt,onChange:rr,onFocus:V,onBlur:Y,onCompositionStart:Lt,onCompositionEnd:Ut,className:A()(we==null?void 0:we.textarea),style:(0,X.Z)((0,X.Z)({},Ue==null?void 0:Ue.textarea),{},{resize:ge==null?void 0:ge.resize}),disabled:Re,prefixCls:Te,onResize:Oe,ref:Ar,readOnly:ce})))}),F=P,k=F},29125:function($t,Qe,ae){"use strict";ae.d(Qe,{G:function(){return S},Z:function(){return _}});var ee=ae(92310),te=ae.n(ee),X=ae(59301);function S(h){var g=h.children,r=h.prefixCls,a=h.id,p=h.overlayInnerStyle,E=h.bodyClassName,b=h.className,w=h.style;return X.createElement("div",{className:te()("".concat(r,"-content"),b),style:w},X.createElement("div",{className:te()("".concat(r,"-inner"),E),id:a,role:"tooltip",style:p},typeof g=="function"?g():g))}var K=ae(67711),y=ae(98506),L=ae(33346),A=ae(65030),s={shiftX:64,adjustY:1},x={adjustX:1,shiftY:!0},c=[0,0],l={left:{points:["cr","cl"],overflow:x,offset:[-4,0],targetOffset:c},right:{points:["cl","cr"],overflow:x,offset:[4,0],targetOffset:c},top:{points:["bc","tc"],overflow:s,offset:[0,-4],targetOffset:c},bottom:{points:["tc","bc"],overflow:s,offset:[0,4],targetOffset:c},topLeft:{points:["bl","tl"],overflow:s,offset:[0,-4],targetOffset:c},leftTop:{points:["tr","tl"],overflow:x,offset:[-4,0],targetOffset:c},topRight:{points:["br","tr"],overflow:s,offset:[0,-4],targetOffset:c},rightTop:{points:["tl","tr"],overflow:x,offset:[4,0],targetOffset:c},bottomRight:{points:["tr","br"],overflow:s,offset:[0,4],targetOffset:c},rightBottom:{points:["bl","br"],overflow:x,offset:[4,0],targetOffset:c},bottomLeft:{points:["tl","bl"],overflow:s,offset:[0,4],targetOffset:c},leftBottom:{points:["br","bl"],overflow:x,offset:[-4,0],targetOffset:c}},f=null,n=ae(80402),o=["overlayClassName","trigger","mouseEnterDelay","mouseLeaveDelay","overlayStyle","prefixCls","children","onVisibleChange","afterVisibleChange","transitionName","animation","motion","placement","align","destroyTooltipOnHide","defaultVisible","getTooltipContainer","overlayInnerStyle","arrowContent","overlay","id","showArrow","classNames","styles"],d=function(g,r){var a=g.overlayClassName,p=g.trigger,E=p===void 0?["hover"]:p,b=g.mouseEnterDelay,w=b===void 0?0:b,R=g.mouseLeaveDelay,O=R===void 0?.1:R,z=g.overlayStyle,B=g.prefixCls,P=B===void 0?"rc-tooltip":B,F=g.children,k=g.onVisibleChange,U=g.afterVisibleChange,G=g.transitionName,C=g.animation,I=g.motion,H=g.placement,$=H===void 0?"right":H,q=g.align,se=q===void 0?{}:q,ue=g.destroyTooltipOnHide,me=ue===void 0?!1:ue,Ee=g.defaultVisible,Le=g.getTooltipContainer,Fe=g.overlayInnerStyle,Ke=g.arrowContent,Te=g.overlay,We=g.id,Ce=g.showArrow,De=Ce===void 0?!0:Ce,ge=g.classNames,Re=g.styles,ve=(0,L.Z)(g,o),we=(0,n.Z)(We),Ue=(0,X.useRef)(null);(0,X.useImperativeHandle)(r,function(){return Ue.current});var de=(0,y.Z)({},ve);"visible"in g&&(de.popupVisible=g.visible);var oe=function(){return X.createElement(S,{key:"content",prefixCls:P,id:we,bodyClassName:ge==null?void 0:ge.body,overlayInnerStyle:(0,y.Z)((0,y.Z)({},Fe),Re==null?void 0:Re.body)},Te)},ne=function(){var ye=X.Children.only(F),he=(ye==null?void 0:ye.props)||{},xe=(0,y.Z)((0,y.Z)({},he),{},{"aria-describedby":Te?we:null});return X.cloneElement(F,xe)};return X.createElement(A.Z,(0,K.Z)({popupClassName:te()(a,ge==null?void 0:ge.root),prefixCls:P,popup:oe,action:E,builtinPlacements:l,popupPlacement:$,ref:Ue,popupAlign:se,getPopupContainer:Le,onPopupVisibleChange:k,afterPopupVisibleChange:U,popupTransitionName:G,popupAnimation:C,popupMotion:I,defaultPopupVisible:Ee,autoDestroy:me,mouseLeaveDelay:O,popupStyle:(0,y.Z)((0,y.Z)({},z),Re==null?void 0:Re.root),mouseEnterDelay:w,arrow:De},de),ne())},m=(0,X.forwardRef)(d),_=m},49658:function($t,Qe){"use strict";Qe.Z=function(){if(typeof navigator=="undefined"||typeof window=="undefined")return!1;var ae=navigator.userAgent||navigator.vendor||window.opera;return/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(ae)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55\/|capi|ccwa|cdm-|cell|chtm|cldc|cmd-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc-s|devi|dica|dmob|do(c|p)o|ds(12|-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(-|_)|g1 u|g560|gene|gf-5|g-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd-(m|p|t)|hei-|hi(pt|ta)|hp( i|ip)|hs-c|ht(c(-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i-(20|go|ma)|i230|iac( |-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|-[a-w])|libw|lynx|m1-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|-([1-8]|c))|phil|pire|pl(ay|uc)|pn-2|po(ck|rt|se)|prox|psio|pt-g|qa-a|qc(07|12|21|32|60|-[2-7]|i-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h-|oo|p-)|sdk\/|se(c(-|0|1)|47|mc|nd|ri)|sgh-|shar|sie(-|m)|sk-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h-|v-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl-|tdg-|tel(i|m)|tim-|t-mo|to(pl|sh)|ts(70|m-|m3|m5)|tx-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas-|your|zeto|zte-/i.test(ae==null?void 0:ae.substr(0,4))}},6790:function($t,Qe,ae){"use strict";ae.d(Qe,{Z:function(){return Ce}});var ee=ae(67711),te=ae(26420),X=ae(98506),S=ae(52873),K=ae(16886),y=ae(33346),L=ae(92310),A=ae.n(L),s=ae(29301),x=ae(70425),c=ae(34280),l=ae(59301),f=ae(4676),n=l.forwardRef(function(De,ge){var Re=De.height,ve=De.offsetY,we=De.offsetX,Ue=De.children,de=De.prefixCls,oe=De.onInnerResize,ne=De.innerProps,ce=De.rtl,ye=De.extra,he={},xe={display:"flex",flexDirection:"column"};return ve!==void 0&&(he={height:Re,position:"relative",overflow:"hidden"},xe=(0,X.Z)((0,X.Z)({},xe),{},(0,S.Z)((0,S.Z)((0,S.Z)((0,S.Z)((0,S.Z)({transform:"translateY(".concat(ve,"px)")},ce?"marginRight":"marginLeft",-we),"position","absolute"),"left",0),"right",0),"top",0))),l.createElement("div",{style:he},l.createElement(s.Z,{onResize:function(Be){var je=Be.offsetHeight;je&&oe&&oe()}},l.createElement("div",(0,ee.Z)({style:xe,className:A()((0,S.Z)({},"".concat(de,"-holder-inner"),de)),ref:ge},ne),Ue,ye)))});n.displayName="Filler";var o=n;function d(De){var ge=De.children,Re=De.setRef,ve=l.useCallback(function(we){Re(we)},[]);return l.cloneElement(ge,{ref:ve})}function m(De,ge,Re,ve,we,Ue,de,oe){var ne=oe.getKey;return De.slice(ge,Re+1).map(function(ce,ye){var he=ge+ye,xe=de(ce,he,{style:{width:ve},offsetX:we}),Ne=ne(ce);return l.createElement(d,{key:Ne,setRef:function(je){return Ue(ce,je)}},xe)})}function _(De,ge,Re,ve){var we=Re-De,Ue=ge-Re,de=Math.min(we,Ue)*2;if(ve<=de){var oe=Math.floor(ve/2);return ve%2?Re+oe+1:Re-oe}return we>Ue?Re-(ve-Ue):Re+(ve-we)}function h(De,ge,Re){var ve=De.length,we=ge.length,Ue,de;if(ve===0&&we===0)return null;ve<we?(Ue=De,de=ge):(Ue=ge,de=De);var oe={__EMPTY_ITEM__:!0};function ne(Be){return Be!==void 0?Re(Be):oe}for(var ce=null,ye=Math.abs(ve-we)!==1,he=0;he<de.length;he+=1){var xe=ne(Ue[he]),Ne=ne(de[he]);if(xe!==Ne){ce=he,ye=ye||xe!==ne(de[he+1]);break}}return ce===null?null:{index:ce,multiple:ye}}function g(De,ge,Re){var ve=l.useState(De),we=(0,K.Z)(ve,2),Ue=we[0],de=we[1],oe=l.useState(null),ne=(0,K.Z)(oe,2),ce=ne[0],ye=ne[1];return l.useEffect(function(){var he=h(Ue||[],De||[],ge);(he==null?void 0:he.index)!==void 0&&(Re==null||Re(he.index),ye(De[he.index])),de(De)},[De]),[ce]}var r=ae(16089),a=(typeof navigator=="undefined"?"undefined":(0,te.Z)(navigator))==="object"&&/Firefox/i.test(navigator.userAgent),p=a,E=function(De,ge,Re,ve){var we=(0,l.useRef)(!1),Ue=(0,l.useRef)(null);function de(){clearTimeout(Ue.current),we.current=!0,Ue.current=setTimeout(function(){we.current=!1},50)}var oe=(0,l.useRef)({top:De,bottom:ge,left:Re,right:ve});return oe.current.top=De,oe.current.bottom=ge,oe.current.left=Re,oe.current.right=ve,function(ne,ce){var ye=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,he=ne?ce<0&&oe.current.left||ce>0&&oe.current.right:ce<0&&oe.current.top||ce>0&&oe.current.bottom;return ye&&he?(clearTimeout(Ue.current),we.current=!1):(!he||we.current)&&de(),!we.current&&he}};function b(De,ge,Re,ve,we,Ue,de){var oe=(0,l.useRef)(0),ne=(0,l.useRef)(null),ce=(0,l.useRef)(null),ye=(0,l.useRef)(!1),he=E(ge,Re,ve,we);function xe(tt,At){if(r.Z.cancel(ne.current),!he(!1,At)){var It=tt;if(!It._virtualHandled)It._virtualHandled=!0;else return;oe.current+=At,ce.current=At,p||It.preventDefault(),ne.current=(0,r.Z)(function(){var Nt=ye.current?10:1;de(oe.current*Nt,!1),oe.current=0})}}function Ne(tt,At){de(At,!0),p||tt.preventDefault()}var Be=(0,l.useRef)(null),je=(0,l.useRef)(null);function et(tt){if(De){r.Z.cancel(je.current),je.current=(0,r.Z)(function(){Be.current=null},2);var At=tt.deltaX,It=tt.deltaY,Nt=tt.shiftKey,lt=At,Bt=It;(Be.current==="sx"||!Be.current&&Nt&&It&&!At)&&(lt=It,Bt=0,Be.current="sx");var cr=Math.abs(lt),bt=Math.abs(Bt);Be.current===null&&(Be.current=Ue&&cr>bt?"x":"y"),Be.current==="y"?xe(tt,Bt):Ne(tt,lt)}}function ft(tt){De&&(ye.current=tt.detail===ce.current)}return[et,ft]}function w(De,ge,Re,ve){var we=l.useMemo(function(){return[new Map,[]]},[De,Re.id,ve]),Ue=(0,K.Z)(we,2),de=Ue[0],oe=Ue[1],ne=function(ye){var he=arguments.length>1&&arguments[1]!==void 0?arguments[1]:ye,xe=de.get(ye),Ne=de.get(he);if(xe===void 0||Ne===void 0)for(var Be=De.length,je=oe.length;je<Be;je+=1){var et,ft=De[je],tt=ge(ft);de.set(tt,je);var At=(et=Re.get(tt))!==null&&et!==void 0?et:ve;if(oe[je]=(oe[je-1]||0)+At,tt===ye&&(xe=je),tt===he&&(Ne=je),xe!==void 0&&Ne!==void 0)break}return{top:oe[xe-1]||0,bottom:oe[Ne]}};return ne}var R=ae(42573),O=ae(58698),z=function(){function De(){(0,R.Z)(this,De),(0,S.Z)(this,"maps",void 0),(0,S.Z)(this,"id",0),(0,S.Z)(this,"diffRecords",new Map),this.maps=Object.create(null)}return(0,O.Z)(De,[{key:"set",value:function(Re,ve){this.diffRecords.set(Re,this.maps[Re]),this.maps[Re]=ve,this.id+=1}},{key:"get",value:function(Re){return this.maps[Re]}},{key:"resetRecord",value:function(){this.diffRecords.clear()}},{key:"getRecord",value:function(){return this.diffRecords}}]),De}(),B=z;function P(De){var ge=parseFloat(De);return isNaN(ge)?0:ge}function F(De,ge,Re){var ve=l.useState(0),we=(0,K.Z)(ve,2),Ue=we[0],de=we[1],oe=(0,l.useRef)(new Map),ne=(0,l.useRef)(new B),ce=(0,l.useRef)(0);function ye(){ce.current+=1}function he(){var Ne=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;ye();var Be=function(){var ft=!1;oe.current.forEach(function(tt,At){if(tt&&tt.offsetParent){var It=tt.offsetHeight,Nt=getComputedStyle(tt),lt=Nt.marginTop,Bt=Nt.marginBottom,cr=P(lt),bt=P(Bt),ut=It+cr+bt;ne.current.get(At)!==ut&&(ne.current.set(At,ut),ft=!0)}}),ft&&de(function(tt){return tt+1})};if(Ne)Be();else{ce.current+=1;var je=ce.current;Promise.resolve().then(function(){je===ce.current&&Be()})}}function xe(Ne,Be){var je=De(Ne),et=oe.current.get(je);Be?(oe.current.set(je,Be),he()):oe.current.delete(je),!et!=!Be&&(Be?ge==null||ge(Ne):Re==null||Re(Ne))}return(0,l.useEffect)(function(){return ye},[]),[xe,he,ne.current,Ue]}var k=14/15;function U(De,ge,Re){var ve=(0,l.useRef)(!1),we=(0,l.useRef)(0),Ue=(0,l.useRef)(0),de=(0,l.useRef)(null),oe=(0,l.useRef)(null),ne,ce=function(Ne){if(ve.current){var Be=Math.ceil(Ne.touches[0].pageX),je=Math.ceil(Ne.touches[0].pageY),et=we.current-Be,ft=Ue.current-je,tt=Math.abs(et)>Math.abs(ft);tt?we.current=Be:Ue.current=je;var At=Re(tt,tt?et:ft,!1,Ne);At&&Ne.preventDefault(),clearInterval(oe.current),At&&(oe.current=setInterval(function(){tt?et*=k:ft*=k;var It=Math.floor(tt?et:ft);(!Re(tt,It,!0)||Math.abs(It)<=.1)&&clearInterval(oe.current)},16))}},ye=function(){ve.current=!1,ne()},he=function(Ne){ne(),Ne.touches.length===1&&!ve.current&&(ve.current=!0,we.current=Math.ceil(Ne.touches[0].pageX),Ue.current=Math.ceil(Ne.touches[0].pageY),de.current=Ne.target,de.current.addEventListener("touchmove",ce,{passive:!1}),de.current.addEventListener("touchend",ye,{passive:!0}))};ne=function(){de.current&&(de.current.removeEventListener("touchmove",ce),de.current.removeEventListener("touchend",ye))},(0,c.Z)(function(){return De&&ge.current.addEventListener("touchstart",he,{passive:!0}),function(){var xe;(xe=ge.current)===null||xe===void 0||xe.removeEventListener("touchstart",he),ne(),clearInterval(oe.current)}},[De])}function G(De){return Math.floor(Math.pow(De,.5))}function C(De,ge){var Re="touches"in De?De.touches[0]:De;return Re[ge?"pageX":"pageY"]-window[ge?"scrollX":"scrollY"]}function I(De,ge,Re){l.useEffect(function(){var ve=ge.current;if(De&&ve){var we=!1,Ue,de,oe=function(){r.Z.cancel(Ue)},ne=function xe(){oe(),Ue=(0,r.Z)(function(){Re(de),xe()})},ce=function(Ne){if(!(Ne.target.draggable||Ne.button!==0)){var Be=Ne;Be._virtualHandled||(Be._virtualHandled=!0,we=!0)}},ye=function(){we=!1,oe()},he=function(Ne){if(we){var Be=C(Ne,!1),je=ve.getBoundingClientRect(),et=je.top,ft=je.bottom;if(Be<=et){var tt=et-Be;de=-G(tt),ne()}else if(Be>=ft){var At=Be-ft;de=G(At),ne()}else oe()}};return ve.addEventListener("mousedown",ce),ve.ownerDocument.addEventListener("mouseup",ye),ve.ownerDocument.addEventListener("mousemove",he),function(){ve.removeEventListener("mousedown",ce),ve.ownerDocument.removeEventListener("mouseup",ye),ve.ownerDocument.removeEventListener("mousemove",he),oe()}}},[De])}var H=10;function $(De,ge,Re,ve,we,Ue,de,oe){var ne=l.useRef(),ce=l.useState(null),ye=(0,K.Z)(ce,2),he=ye[0],xe=ye[1];return(0,c.Z)(function(){if(he&&he.times<H){if(!De.current){xe(function(vt){return(0,X.Z)({},vt)});return}Ue();var Ne=he.targetAlign,Be=he.originAlign,je=he.index,et=he.offset,ft=De.current.clientHeight,tt=!1,At=Ne,It=null;if(ft){for(var Nt=Ne||Be,lt=0,Bt=0,cr=0,bt=Math.min(ge.length-1,je),ut=0;ut<=bt;ut+=1){var Wt=we(ge[ut]);Bt=lt;var Ar=Re.get(Wt);cr=Bt+(Ar===void 0?ve:Ar),lt=cr}for(var Vt=Nt==="top"?et:ft-et,Ht=bt;Ht>=0;Ht-=1){var ar=we(ge[Ht]),or=Re.get(ar);if(or===void 0){tt=!0;break}if(Vt-=or,Vt<=0)break}switch(Nt){case"top":It=Bt-et;break;case"bottom":It=cr-ft+et;break;default:{var Tt=De.current.scrollTop,at=Tt+ft;Bt<Tt?At="top":cr>at&&(At="bottom")}}It!==null&&de(It),It!==he.lastTop&&(tt=!0)}tt&&xe((0,X.Z)((0,X.Z)({},he),{},{times:he.times+1,targetAlign:At,lastTop:It}))}},[he,De.current]),function(Ne){if(Ne==null){oe();return}if(r.Z.cancel(ne.current),typeof Ne=="number")de(Ne);else if(Ne&&(0,te.Z)(Ne)==="object"){var Be,je=Ne.align;"index"in Ne?Be=Ne.index:Be=ge.findIndex(function(tt){return we(tt)===Ne.key});var et=Ne.offset,ft=et===void 0?0:et;xe({times:0,index:Be,offset:ft,originAlign:je})}}}var q=l.forwardRef(function(De,ge){var Re=De.prefixCls,ve=De.rtl,we=De.scrollOffset,Ue=De.scrollRange,de=De.onStartMove,oe=De.onStopMove,ne=De.onScroll,ce=De.horizontal,ye=De.spinSize,he=De.containerSize,xe=De.style,Ne=De.thumbStyle,Be=De.showScrollBar,je=l.useState(!1),et=(0,K.Z)(je,2),ft=et[0],tt=et[1],At=l.useState(null),It=(0,K.Z)(At,2),Nt=It[0],lt=It[1],Bt=l.useState(null),cr=(0,K.Z)(Bt,2),bt=cr[0],ut=cr[1],Wt=!ve,Ar=l.useRef(),Vt=l.useRef(),Ht=l.useState(Be),ar=(0,K.Z)(Ht,2),or=ar[0],Tt=ar[1],at=l.useRef(),vt=function(){Be===!0||Be===!1||(clearTimeout(at.current),Tt(!0),at.current=setTimeout(function(){Tt(!1)},3e3))},Yt=Ue-he||0,qt=he-ye||0,Cr=l.useMemo(function(){if(we===0||Yt===0)return 0;var Q=we/Yt;return Q*qt},[we,Yt,qt]),nt=function(le){le.stopPropagation(),le.preventDefault()},yt=l.useRef({top:Cr,dragging:ft,pageY:Nt,startTop:bt});yt.current={top:Cr,dragging:ft,pageY:Nt,startTop:bt};var Lt=function(le){tt(!0),lt(C(le,ce)),ut(yt.current.top),de(),le.stopPropagation(),le.preventDefault()};l.useEffect(function(){var Q=function(Pe){Pe.preventDefault()},le=Ar.current,fe=Vt.current;return le.addEventListener("touchstart",Q,{passive:!1}),fe.addEventListener("touchstart",Lt,{passive:!1}),function(){le.removeEventListener("touchstart",Q),fe.removeEventListener("touchstart",Lt)}},[]);var Ut=l.useRef();Ut.current=Yt;var rr=l.useRef();rr.current=qt,l.useEffect(function(){if(ft){var Q,le=function(Pe){var Ye=yt.current,$e=Ye.dragging,Dt=Ye.pageY,zt=Ye.startTop;r.Z.cancel(Q);var Ie=Ar.current.getBoundingClientRect(),be=he/(ce?Ie.width:Ie.height);if($e){var ct=(C(Pe,ce)-Dt)*be,ze=zt;!Wt&&ce?ze-=ct:ze+=ct;var He=Ut.current,Xe=rr.current,st=Xe?ze/Xe:0,mt=Math.ceil(st*He);mt=Math.max(mt,0),mt=Math.min(mt,He),Q=(0,r.Z)(function(){ne(mt,ce)})}},fe=function(){tt(!1),oe()};return window.addEventListener("mousemove",le,{passive:!0}),window.addEventListener("touchmove",le,{passive:!0}),window.addEventListener("mouseup",fe,{passive:!0}),window.addEventListener("touchend",fe,{passive:!0}),function(){window.removeEventListener("mousemove",le),window.removeEventListener("touchmove",le),window.removeEventListener("mouseup",fe),window.removeEventListener("touchend",fe),r.Z.cancel(Q)}}},[ft]),l.useEffect(function(){return vt(),function(){clearTimeout(at.current)}},[we]),l.useImperativeHandle(ge,function(){return{delayHidden:vt}});var dt="".concat(Re,"-scrollbar"),V={position:"absolute",visibility:or?null:"hidden"},Y={position:"absolute",borderRadius:99,background:"var(--rc-virtual-list-scrollbar-bg, rgba(0, 0, 0, 0.5))",cursor:"pointer",userSelect:"none"};return ce?(Object.assign(V,{height:8,left:0,right:0,bottom:0}),Object.assign(Y,(0,S.Z)({height:"100%",width:ye},Wt?"left":"right",Cr))):(Object.assign(V,(0,S.Z)({width:8,top:0,bottom:0},Wt?"right":"left",0)),Object.assign(Y,{width:"100%",height:ye,top:Cr})),l.createElement("div",{ref:Ar,className:A()(dt,(0,S.Z)((0,S.Z)((0,S.Z)({},"".concat(dt,"-horizontal"),ce),"".concat(dt,"-vertical"),!ce),"".concat(dt,"-visible"),or)),style:(0,X.Z)((0,X.Z)({},V),xe),onMouseDown:nt,onMouseMove:vt},l.createElement("div",{ref:Vt,className:A()("".concat(dt,"-thumb"),(0,S.Z)({},"".concat(dt,"-thumb-moving"),ft)),style:(0,X.Z)((0,X.Z)({},Y),Ne),onMouseDown:Lt}))}),se=q,ue=20;function me(){var De=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,ge=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,Re=De/ge*De;return isNaN(Re)&&(Re=0),Re=Math.max(Re,ue),Math.floor(Re)}var Ee=["prefixCls","className","height","itemHeight","fullHeight","style","data","children","itemKey","virtual","direction","scrollWidth","component","onScroll","onVirtualScroll","onVisibleChange","innerProps","extraRender","styles","showScrollBar"],Le=[],Fe={overflowY:"auto",overflowAnchor:"none"};function Ke(De,ge){var Re=De.prefixCls,ve=Re===void 0?"rc-virtual-list":Re,we=De.className,Ue=De.height,de=De.itemHeight,oe=De.fullHeight,ne=oe===void 0?!0:oe,ce=De.style,ye=De.data,he=De.children,xe=De.itemKey,Ne=De.virtual,Be=De.direction,je=De.scrollWidth,et=De.component,ft=et===void 0?"div":et,tt=De.onScroll,At=De.onVirtualScroll,It=De.onVisibleChange,Nt=De.innerProps,lt=De.extraRender,Bt=De.styles,cr=De.showScrollBar,bt=cr===void 0?"optional":cr,ut=(0,y.Z)(De,Ee),Wt=l.useCallback(function(kt){return typeof xe=="function"?xe(kt):kt==null?void 0:kt[xe]},[xe]),Ar=F(Wt,null,null),Vt=(0,K.Z)(Ar,4),Ht=Vt[0],ar=Vt[1],or=Vt[2],Tt=Vt[3],at=!!(Ne!==!1&&Ue&&de),vt=l.useMemo(function(){return Object.values(or.maps).reduce(function(kt,Ft){return kt+Ft},0)},[or.id,or.maps]),Yt=at&&ye&&(Math.max(de*ye.length,vt)>Ue||!!je),qt=Be==="rtl",Cr=A()(ve,(0,S.Z)({},"".concat(ve,"-rtl"),qt),we),nt=ye||Le,yt=(0,l.useRef)(),Lt=(0,l.useRef)(),Ut=(0,l.useRef)(),rr=(0,l.useState)(0),dt=(0,K.Z)(rr,2),V=dt[0],Y=dt[1],Q=(0,l.useState)(0),le=(0,K.Z)(Q,2),fe=le[0],Oe=le[1],Pe=(0,l.useState)(!1),Ye=(0,K.Z)(Pe,2),$e=Ye[0],Dt=Ye[1],zt=function(){Dt(!0)},Ie=function(){Dt(!1)},be={getKey:Wt};function ct(kt){Y(function(Ft){var tr;typeof kt=="function"?tr=kt(Ft):tr=kt;var Jt=hr(tr);return yt.current.scrollTop=Jt,Jt})}var ze=(0,l.useRef)({start:0,end:nt.length}),He=(0,l.useRef)(),Xe=g(nt,Wt),st=(0,K.Z)(Xe,1),mt=st[0];He.current=mt;var Kt=l.useMemo(function(){if(!at)return{scrollHeight:void 0,start:0,end:nt.length-1,offset:void 0};if(!Yt){var kt;return{scrollHeight:((kt=Lt.current)===null||kt===void 0?void 0:kt.offsetHeight)||0,start:0,end:nt.length-1,offset:void 0}}for(var Ft=0,tr,Jt,Tr,kr=nt.length,jr=0;jr<kr;jr+=1){var Fr=nt[jr],ri=Wt(Fr),Ei=or.get(ri),pi=Ft+(Ei===void 0?de:Ei);pi>=V&&tr===void 0&&(tr=jr,Jt=Ft),pi>V+Ue&&Tr===void 0&&(Tr=jr),Ft=pi}return tr===void 0&&(tr=0,Jt=0,Tr=Math.ceil(Ue/de)),Tr===void 0&&(Tr=nt.length-1),Tr=Math.min(Tr+1,nt.length-1),{scrollHeight:Ft,start:tr,end:Tr,offset:Jt}},[Yt,at,V,nt,Tt,Ue]),gt=Kt.scrollHeight,Ot=Kt.start,pt=Kt.end,Ct=Kt.offset;ze.current.start=Ot,ze.current.end=pt,l.useLayoutEffect(function(){var kt=or.getRecord();if(kt.size===1){var Ft=Array.from(kt.keys())[0],tr=kt.get(Ft),Jt=nt[Ot];if(Jt&&tr===void 0){var Tr=Wt(Jt);if(Tr===Ft){var kr=or.get(Ft),jr=kr-de;ct(function(Fr){return Fr+jr})}}}or.resetRecord()},[gt]);var xt=l.useState({width:0,height:Ue}),Ae=(0,K.Z)(xt,2),Ve=Ae[0],Je=Ae[1],rt=function(Ft){Je({width:Ft.offsetWidth,height:Ft.offsetHeight})},St=(0,l.useRef)(),Rt=(0,l.useRef)(),Mt=l.useMemo(function(){return me(Ve.width,je)},[Ve.width,je]),Xt=l.useMemo(function(){return me(Ve.height,gt)},[Ve.height,gt]),Ge=gt-Ue,Gt=(0,l.useRef)(Ge);Gt.current=Ge;function hr(kt){var Ft=kt;return Number.isNaN(Gt.current)||(Ft=Math.min(Ft,Gt.current)),Ft=Math.max(Ft,0),Ft}var Qt=V<=0,Zt=V>=Ge,mr=fe<=0,Dr=fe>=je,Rr=E(Qt,Zt,mr,Dr),lr=function(){return{x:qt?-fe:fe,y:V}},ir=(0,l.useRef)(lr()),Or=(0,x.zX)(function(kt){if(At){var Ft=(0,X.Z)((0,X.Z)({},lr()),kt);(ir.current.x!==Ft.x||ir.current.y!==Ft.y)&&(At(Ft),ir.current=Ft)}});function br(kt,Ft){var tr=kt;Ft?((0,f.flushSync)(function(){Oe(tr)}),Or()):ct(tr)}function yr(kt){var Ft=kt.currentTarget.scrollTop;Ft!==V&&ct(Ft),tt==null||tt(kt),Or()}var Pr=function(Ft){var tr=Ft,Jt=je?je-Ve.width:0;return tr=Math.max(tr,0),tr=Math.min(tr,Jt),tr},gr=(0,x.zX)(function(kt,Ft){Ft?((0,f.flushSync)(function(){Oe(function(tr){var Jt=tr+(qt?-kt:kt);return Pr(Jt)})}),Or()):ct(function(tr){var Jt=tr+kt;return Jt})}),er=b(at,Qt,Zt,mr,Dr,!!je,gr),Br=(0,K.Z)(er,2),zr=Br[0],Qr=Br[1];U(at,yt,function(kt,Ft,tr,Jt){var Tr=Jt;return Rr(kt,Ft,tr)?!1:!Tr||!Tr._virtualHandled?(Tr&&(Tr._virtualHandled=!0),zr({preventDefault:function(){},deltaX:kt?Ft:0,deltaY:kt?0:Ft}),!0):!1}),I(Yt,yt,function(kt){ct(function(Ft){return Ft+kt})}),(0,c.Z)(function(){function kt(tr){var Jt=Qt&&tr.detail<0,Tr=Zt&&tr.detail>0;at&&!Jt&&!Tr&&tr.preventDefault()}var Ft=yt.current;return Ft.addEventListener("wheel",zr,{passive:!1}),Ft.addEventListener("DOMMouseScroll",Qr,{passive:!0}),Ft.addEventListener("MozMousePixelScroll",kt,{passive:!1}),function(){Ft.removeEventListener("wheel",zr),Ft.removeEventListener("DOMMouseScroll",Qr),Ft.removeEventListener("MozMousePixelScroll",kt)}},[at,Qt,Zt]),(0,c.Z)(function(){if(je){var kt=Pr(fe);Oe(kt),Or({x:kt})}},[Ve.width,je]);var xr=function(){var Ft,tr;(Ft=St.current)===null||Ft===void 0||Ft.delayHidden(),(tr=Rt.current)===null||tr===void 0||tr.delayHidden()},ni=$(yt,nt,or,de,Wt,function(){return ar(!0)},ct,xr);l.useImperativeHandle(ge,function(){return{nativeElement:Ut.current,getScrollInfo:lr,scrollTo:function(Ft){function tr(Jt){return Jt&&(0,te.Z)(Jt)==="object"&&("left"in Jt||"top"in Jt)}tr(Ft)?(Ft.left!==void 0&&Oe(Pr(Ft.left)),ni(Ft.top)):ni(Ft)}}}),(0,c.Z)(function(){if(It){var kt=nt.slice(Ot,pt+1);It(kt,nt)}},[Ot,pt,nt]);var $r=w(nt,Wt,or,de),ei=lt==null?void 0:lt({start:Ot,end:pt,virtual:Yt,offsetX:fe,offsetY:Ct,rtl:qt,getSize:$r}),si=m(nt,Ot,pt,je,fe,Ht,he,be),Vr=null;Ue&&(Vr=(0,X.Z)((0,S.Z)({},ne?"height":"maxHeight",Ue),Fe),at&&(Vr.overflowY="hidden",je&&(Vr.overflowX="hidden"),$e&&(Vr.pointerEvents="none")));var Er={};return qt&&(Er.dir="rtl"),l.createElement("div",(0,ee.Z)({ref:Ut,style:(0,X.Z)((0,X.Z)({},ce),{},{position:"relative"}),className:Cr},Er,ut),l.createElement(s.Z,{onResize:rt},l.createElement(ft,{className:"".concat(ve,"-holder"),style:Vr,ref:yt,onScroll:yr,onMouseEnter:xr},l.createElement(o,{prefixCls:ve,height:gt,offsetX:fe,offsetY:Ct,scrollWidth:je,onInnerResize:ar,ref:Lt,innerProps:Nt,rtl:qt,extra:ei},si))),Yt&&gt>Ue&&l.createElement(se,{ref:St,prefixCls:ve,scrollOffset:V,scrollRange:gt,rtl:qt,onScroll:br,onStartMove:zt,onStopMove:Ie,spinSize:Xt,containerSize:Ve.height,style:Bt==null?void 0:Bt.verticalScrollBar,thumbStyle:Bt==null?void 0:Bt.verticalScrollBarThumb,showScrollBar:bt}),Yt&&je>Ve.width&&l.createElement(se,{ref:Rt,prefixCls:ve,scrollOffset:fe,scrollRange:je,rtl:qt,onScroll:br,onStartMove:zt,onStopMove:Ie,spinSize:Mt,containerSize:Ve.width,horizontal:!0,style:Bt==null?void 0:Bt.horizontalScrollBar,thumbStyle:Bt==null?void 0:Bt.horizontalScrollBarThumb,showScrollBar:bt}))}var Te=l.forwardRef(Ke);Te.displayName="List";var We=Te,Ce=We},83145:function($t,Qe,ae){"use strict";Object.defineProperty(Qe,"__esModule",{value:!0}),Qe.CopyToClipboard=void 0;var ee=X(ae(59301)),te=X(ae(25769));function X(h){return h&&h.__esModule?h:{default:h}}function S(h){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?S=function(r){return typeof r}:S=function(r){return r&&typeof Symbol=="function"&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},S(h)}function K(h,g){var r=Object.keys(h);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(h);g&&(a=a.filter(function(p){return Object.getOwnPropertyDescriptor(h,p).enumerable})),r.push.apply(r,a)}return r}function y(h){for(var g=1;g<arguments.length;g++){var r=arguments[g]!=null?arguments[g]:{};g%2?K(r,!0).forEach(function(a){m(h,a,r[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(h,Object.getOwnPropertyDescriptors(r)):K(r).forEach(function(a){Object.defineProperty(h,a,Object.getOwnPropertyDescriptor(r,a))})}return h}function L(h,g){if(h==null)return{};var r=A(h,g),a,p;if(Object.getOwnPropertySymbols){var E=Object.getOwnPropertySymbols(h);for(p=0;p<E.length;p++)a=E[p],!(g.indexOf(a)>=0)&&Object.prototype.propertyIsEnumerable.call(h,a)&&(r[a]=h[a])}return r}function A(h,g){if(h==null)return{};var r={},a=Object.keys(h),p,E;for(E=0;E<a.length;E++)p=a[E],!(g.indexOf(p)>=0)&&(r[p]=h[p]);return r}function s(h,g){if(!(h instanceof g))throw new TypeError("Cannot call a class as a function")}function x(h,g){for(var r=0;r<g.length;r++){var a=g[r];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(h,a.key,a)}}function c(h,g,r){return g&&x(h.prototype,g),r&&x(h,r),h}function l(h,g){return g&&(S(g)==="object"||typeof g=="function")?g:n(h)}function f(h){return f=Object.setPrototypeOf?Object.getPrototypeOf:function(r){return r.__proto__||Object.getPrototypeOf(r)},f(h)}function n(h){if(h===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return h}function o(h,g){if(typeof g!="function"&&g!==null)throw new TypeError("Super expression must either be null or a function");h.prototype=Object.create(g&&g.prototype,{constructor:{value:h,writable:!0,configurable:!0}}),g&&d(h,g)}function d(h,g){return d=Object.setPrototypeOf||function(a,p){return a.__proto__=p,a},d(h,g)}function m(h,g,r){return g in h?Object.defineProperty(h,g,{value:r,enumerable:!0,configurable:!0,writable:!0}):h[g]=r,h}var _=function(h){o(g,h);function g(){var r,a;s(this,g);for(var p=arguments.length,E=new Array(p),b=0;b<p;b++)E[b]=arguments[b];return a=l(this,(r=f(g)).call.apply(r,[this].concat(E))),m(n(a),"onClick",function(w){var R=a.props,O=R.text,z=R.onCopy,B=R.children,P=R.options,F=ee.default.Children.only(B),k=(0,te.default)(O,P);z&&z(O,k),F&&F.props&&typeof F.props.onClick=="function"&&F.props.onClick(w)}),a}return c(g,[{key:"render",value:function(){var a=this.props,p=a.text,E=a.onCopy,b=a.options,w=a.children,R=L(a,["text","onCopy","options","children"]),O=ee.default.Children.only(w);return ee.default.cloneElement(O,y({},R,{onClick:this.onClick}))}}]),g}(ee.default.PureComponent);Qe.CopyToClipboard=_,m(_,"defaultProps",{onCopy:void 0,options:void 0})},56102:function($t,Qe,ae){"use strict";var ee=ae(83145),te=ee.CopyToClipboard;te.CopyToClipboard=te,$t.exports=te},76374:function($t,Qe,ae){"use strict";var ee=function(){if(typeof Map!="undefined")return Map;function B(P,F){var k=-1;return P.some(function(U,G){return U[0]===F?(k=G,!0):!1}),k}return function(){function P(){this.__entries__=[]}return Object.defineProperty(P.prototype,"size",{get:function(){return this.__entries__.length},enumerable:!0,configurable:!0}),P.prototype.get=function(F){var k=B(this.__entries__,F),U=this.__entries__[k];return U&&U[1]},P.prototype.set=function(F,k){var U=B(this.__entries__,F);~U?this.__entries__[U][1]=k:this.__entries__.push([F,k])},P.prototype.delete=function(F){var k=this.__entries__,U=B(k,F);~U&&k.splice(U,1)},P.prototype.has=function(F){return!!~B(this.__entries__,F)},P.prototype.clear=function(){this.__entries__.splice(0)},P.prototype.forEach=function(F,k){k===void 0&&(k=null);for(var U=0,G=this.__entries__;U<G.length;U++){var C=G[U];F.call(k,C[1],C[0])}},P}()}(),te=typeof window!="undefined"&&typeof document!="undefined"&&window.document===document,X=function(){return typeof ae.g!="undefined"&&ae.g.Math===Math?ae.g:typeof self!="undefined"&&self.Math===Math?self:typeof window!="undefined"&&window.Math===Math?window:Function("return this")()}(),S=function(){return typeof requestAnimationFrame=="function"?requestAnimationFrame.bind(X):function(B){return setTimeout(function(){return B(Date.now())},1e3/60)}}(),K=2;function y(B,P){var F=!1,k=!1,U=0;function G(){F&&(F=!1,B()),k&&I()}function C(){S(G)}function I(){var H=Date.now();if(F){if(H-U<K)return;k=!0}else F=!0,k=!1,setTimeout(C,P);U=H}return I}var L=20,A=["top","right","bottom","left","width","height","size","weight"],s=typeof MutationObserver!="undefined",x=function(){function B(){this.connected_=!1,this.mutationEventsAdded_=!1,this.mutationsObserver_=null,this.observers_=[],this.onTransitionEnd_=this.onTransitionEnd_.bind(this),this.refresh=y(this.refresh.bind(this),L)}return B.prototype.addObserver=function(P){~this.observers_.indexOf(P)||this.observers_.push(P),this.connected_||this.connect_()},B.prototype.removeObserver=function(P){var F=this.observers_,k=F.indexOf(P);~k&&F.splice(k,1),!F.length&&this.connected_&&this.disconnect_()},B.prototype.refresh=function(){var P=this.updateObservers_();P&&this.refresh()},B.prototype.updateObservers_=function(){var P=this.observers_.filter(function(F){return F.gatherActive(),F.hasActive()});return P.forEach(function(F){return F.broadcastActive()}),P.length>0},B.prototype.connect_=function(){!te||this.connected_||(document.addEventListener("transitionend",this.onTransitionEnd_),window.addEventListener("resize",this.refresh),s?(this.mutationsObserver_=new MutationObserver(this.refresh),this.mutationsObserver_.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})):(document.addEventListener("DOMSubtreeModified",this.refresh),this.mutationEventsAdded_=!0),this.connected_=!0)},B.prototype.disconnect_=function(){!te||!this.connected_||(document.removeEventListener("transitionend",this.onTransitionEnd_),window.removeEventListener("resize",this.refresh),this.mutationsObserver_&&this.mutationsObserver_.disconnect(),this.mutationEventsAdded_&&document.removeEventListener("DOMSubtreeModified",this.refresh),this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1)},B.prototype.onTransitionEnd_=function(P){var F=P.propertyName,k=F===void 0?"":F,U=A.some(function(G){return!!~k.indexOf(G)});U&&this.refresh()},B.getInstance=function(){return this.instance_||(this.instance_=new B),this.instance_},B.instance_=null,B}(),c=function(B,P){for(var F=0,k=Object.keys(P);F<k.length;F++){var U=k[F];Object.defineProperty(B,U,{value:P[U],enumerable:!1,writable:!1,configurable:!0})}return B},l=function(B){var P=B&&B.ownerDocument&&B.ownerDocument.defaultView;return P||X},f=p(0,0,0,0);function n(B){return parseFloat(B)||0}function o(B){for(var P=[],F=1;F<arguments.length;F++)P[F-1]=arguments[F];return P.reduce(function(k,U){var G=B["border-"+U+"-width"];return k+n(G)},0)}function d(B){for(var P=["top","right","bottom","left"],F={},k=0,U=P;k<U.length;k++){var G=U[k],C=B["padding-"+G];F[G]=n(C)}return F}function m(B){var P=B.getBBox();return p(0,0,P.width,P.height)}function _(B){var P=B.clientWidth,F=B.clientHeight;if(!P&&!F)return f;var k=l(B).getComputedStyle(B),U=d(k),G=U.left+U.right,C=U.top+U.bottom,I=n(k.width),H=n(k.height);if(k.boxSizing==="border-box"&&(Math.round(I+G)!==P&&(I-=o(k,"left","right")+G),Math.round(H+C)!==F&&(H-=o(k,"top","bottom")+C)),!g(B)){var $=Math.round(I+G)-P,q=Math.round(H+C)-F;Math.abs($)!==1&&(I-=$),Math.abs(q)!==1&&(H-=q)}return p(U.left,U.top,I,H)}var h=function(){return typeof SVGGraphicsElement!="undefined"?function(B){return B instanceof l(B).SVGGraphicsElement}:function(B){return B instanceof l(B).SVGElement&&typeof B.getBBox=="function"}}();function g(B){return B===l(B).document.documentElement}function r(B){return te?h(B)?m(B):_(B):f}function a(B){var P=B.x,F=B.y,k=B.width,U=B.height,G=typeof DOMRectReadOnly!="undefined"?DOMRectReadOnly:Object,C=Object.create(G.prototype);return c(C,{x:P,y:F,width:k,height:U,top:F,right:P+k,bottom:U+F,left:P}),C}function p(B,P,F,k){return{x:B,y:P,width:F,height:k}}var E=function(){function B(P){this.broadcastWidth=0,this.broadcastHeight=0,this.contentRect_=p(0,0,0,0),this.target=P}return B.prototype.isActive=function(){var P=r(this.target);return this.contentRect_=P,P.width!==this.broadcastWidth||P.height!==this.broadcastHeight},B.prototype.broadcastRect=function(){var P=this.contentRect_;return this.broadcastWidth=P.width,this.broadcastHeight=P.height,P},B}(),b=function(){function B(P,F){var k=a(F);c(this,{target:P,contentRect:k})}return B}(),w=function(){function B(P,F,k){if(this.activeObservations_=[],this.observations_=new ee,typeof P!="function")throw new TypeError("The callback provided as parameter 1 is not a function.");this.callback_=P,this.controller_=F,this.callbackCtx_=k}return B.prototype.observe=function(P){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if(!(typeof Element=="undefined"||!(Element instanceof Object))){if(!(P instanceof l(P).Element))throw new TypeError('parameter 1 is not of type "Element".');var F=this.observations_;F.has(P)||(F.set(P,new E(P)),this.controller_.addObserver(this),this.controller_.refresh())}},B.prototype.unobserve=function(P){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if(!(typeof Element=="undefined"||!(Element instanceof Object))){if(!(P instanceof l(P).Element))throw new TypeError('parameter 1 is not of type "Element".');var F=this.observations_;F.has(P)&&(F.delete(P),F.size||this.controller_.removeObserver(this))}},B.prototype.disconnect=function(){this.clearActive(),this.observations_.clear(),this.controller_.removeObserver(this)},B.prototype.gatherActive=function(){var P=this;this.clearActive(),this.observations_.forEach(function(F){F.isActive()&&P.activeObservations_.push(F)})},B.prototype.broadcastActive=function(){if(this.hasActive()){var P=this.callbackCtx_,F=this.activeObservations_.map(function(k){return new b(k.target,k.broadcastRect())});this.callback_.call(P,F,P),this.clearActive()}},B.prototype.clearActive=function(){this.activeObservations_.splice(0)},B.prototype.hasActive=function(){return this.activeObservations_.length>0},B}(),R=typeof WeakMap!="undefined"?new WeakMap:new ee,O=function(){function B(P){if(!(this instanceof B))throw new TypeError("Cannot call a class as a function.");if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");var F=x.getInstance(),k=new w(P,F,this);R.set(this,k)}return B}();["observe","unobserve","disconnect"].forEach(function(B){O.prototype[B]=function(){var P;return(P=R.get(this))[B].apply(P,arguments)}});var z=function(){return typeof X.ResizeObserver!="undefined"?X.ResizeObserver:O}();Qe.Z=z},27774:function($t,Qe){"use strict";Object.defineProperty(Qe,"__esModule",{value:!0}),Qe.SizeSensorId=Qe.SensorTabIndex=Qe.SensorClassName=void 0;var ae="size-sensor-id";Qe.SizeSensorId=ae;var ee="size-sensor-object";Qe.SensorClassName=ee;var te="-1";Qe.SensorTabIndex=te},79301:function($t,Qe){"use strict";Object.defineProperty(Qe,"__esModule",{value:!0}),Qe.default=void 0;var ae=function(te){var X=arguments.length>1&&arguments[1]!==void 0?arguments[1]:60,S=null;return function(){for(var K=this,y=arguments.length,L=new Array(y),A=0;A<y;A++)L[A]=arguments[A];clearTimeout(S),S=setTimeout(function(){te.apply(K,L)},X)}};Qe.default=ae},79789:function($t,Qe){"use strict";Object.defineProperty(Qe,"__esModule",{value:!0}),Qe.default=void 0;var ae=1,ee=function(){return"".concat(ae++)};Qe.default=ee},47242:function($t,Qe,ae){"use strict";Object.defineProperty(Qe,"__esModule",{value:!0}),Qe.ver=Qe.clear=Qe.bind=void 0;var ee=ae(95270),te=function(y,L){var A=(0,ee.getSensor)(y);return A.bind(L),function(){A.unbind(L)}};Qe.bind=te;var X=function(y){var L=(0,ee.getSensor)(y);(0,ee.removeSensor)(L)};Qe.clear=X;var S="1.0.2";Qe.ver=S},95270:function($t,Qe,ae){"use strict";Object.defineProperty(Qe,"__esModule",{value:!0}),Qe.removeSensor=Qe.getSensor=Qe.Sensors=void 0;var ee=S(ae(79789)),te=ae(57829),X=ae(27774);function S(s){return s&&s.__esModule?s:{default:s}}var K={};Qe.Sensors=K;function y(s){s&&K[s]&&delete K[s]}var L=function(x){var c=x.getAttribute(X.SizeSensorId);if(c&&K[c])return K[c];var l=(0,ee.default)();x.setAttribute(X.SizeSensorId,l);var f=(0,te.createSensor)(x,function(){return y(l)});return K[l]=f,f};Qe.getSensor=L;var A=function(x){var c=x.element.getAttribute(X.SizeSensorId);x.destroy(),y(c)};Qe.removeSensor=A},57829:function($t,Qe,ae){"use strict";Object.defineProperty(Qe,"__esModule",{value:!0}),Qe.createSensor=void 0;var ee=ae(20953),te=ae(55202),X=typeof ResizeObserver!="undefined"?te.createSensor:ee.createSensor;Qe.createSensor=X},20953:function($t,Qe,ae){"use strict";Object.defineProperty(Qe,"__esModule",{value:!0}),Qe.createSensor=void 0;var ee=X(ae(79301)),te=ae(27774);function X(K){return K&&K.__esModule?K:{default:K}}var S=function(y,L){var A=void 0,s=[],x=function(){getComputedStyle(y).position==="static"&&(y.style.position="relative");var d=document.createElement("object");return d.onload=function(){d.contentDocument.defaultView.addEventListener("resize",c),c()},d.style.display="block",d.style.position="absolute",d.style.top="0",d.style.left="0",d.style.height="100%",d.style.width="100%",d.style.overflow="hidden",d.style.pointerEvents="none",d.style.zIndex="-1",d.style.opacity="0",d.setAttribute("class",te.SensorClassName),d.setAttribute("tabindex",te.SensorTabIndex),d.type="text/html",y.appendChild(d),d.data="about:blank",d},c=(0,ee.default)(function(){s.forEach(function(o){o(y)})}),l=function(d){A||(A=x()),s.indexOf(d)===-1&&s.push(d)},f=function(){A&&A.parentNode&&(A.contentDocument&&A.contentDocument.defaultView.removeEventListener("resize",c),A.parentNode.removeChild(A),y.removeAttribute(te.SizeSensorId),A=void 0,s=[],L&&L())},n=function(d){var m=s.indexOf(d);m!==-1&&s.splice(m,1),s.length===0&&A&&f()};return{element:y,bind:l,destroy:f,unbind:n}};Qe.createSensor=S},55202:function($t,Qe,ae){"use strict";Object.defineProperty(Qe,"__esModule",{value:!0}),Qe.createSensor=void 0;var ee=ae(27774),te=X(ae(79301));function X(K){return K&&K.__esModule?K:{default:K}}var S=function(y,L){var A=void 0,s=[],x=(0,te.default)(function(){s.forEach(function(o){o(y)})}),c=function(){var d=new ResizeObserver(x);return d.observe(y),x(),d},l=function(d){A||(A=c()),s.indexOf(d)===-1&&s.push(d)},f=function(){A.disconnect(),s=[],A=void 0,y.removeAttribute(ee.SizeSensorId),L&&L()},n=function(d){var m=s.indexOf(d);m!==-1&&s.splice(m,1),s.length===0&&A&&f()};return{element:y,bind:l,destroy:f,unbind:n}};Qe.createSensor=S},98040:function($t){$t.exports=function(){var Qe=document.getSelection();if(!Qe.rangeCount)return function(){};for(var ae=document.activeElement,ee=[],te=0;te<Qe.rangeCount;te++)ee.push(Qe.getRangeAt(te));switch(ae.tagName.toUpperCase()){case"INPUT":case"TEXTAREA":ae.blur();break;default:ae=null;break}return Qe.removeAllRanges(),function(){Qe.type==="Caret"&&Qe.removeAllRanges(),Qe.rangeCount||ee.forEach(function(X){Qe.addRange(X)}),ae&&ae.focus()}}},82059:function($t){var Qe=arguments[3],ae=arguments[4],ee=arguments[5],te=JSON.stringify;$t.exports=function(X,S){for(var K,y=Object.keys(ee),L=0,A=y.length;L<A;L++){var s=y[L],x=ee[s].exports;if(x===X||x&&x.default===X){K=s;break}}if(!K){K=Math.floor(Math.pow(16,8)*Math.random()).toString(16);for(var c={},L=0,A=y.length;L<A;L++){var s=y[L];c[s]=s}ae[K]=["function(require,module,exports){"+X+"(self); }",c]}var l=Math.floor(Math.pow(16,8)*Math.random()).toString(16),f={};f[K]=K,ae[l]=["function(require,module,exports){var f = require("+te(K)+");(f.default ? f.default : f)(self);}",f];var n={};o(l);function o(r){n[r]=!0;for(var a in ae[r][1]){var p=ae[r][1][a];n[p]||o(p)}}var d="("+Qe+")({"+Object.keys(n).map(function(r){return te(r)+":["+ae[r][0]+","+te(ae[r][1])+"]"}).join(",")+"},{},["+te(l)+"])",m=window.URL||window.webkitURL||window.mozURL||window.msURL,_=new Blob([d],{type:"text/javascript"});if(S&&S.bare)return _;var h=m.createObjectURL(_),g=new Worker(h);return g.objectURL=h,g}},93314:function($t){"use strict";$t.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMwAAACaCAYAAADl9acYAAAAAXNSR0IArs4c6QAAIABJREFUeF7tXQd4U1Ubfs/NaJtO9kzLahFQEJkiUBBFUFFkCCjiAAVFERT5FREQQQXBBcpysWRP2RtkKRsEOphNodCZdDfjnv85CU2TZt2bhABNDw9PmtzvrO+c957xLQIP0pkz1yrQIEmwwcDzHhTj91klEo7jpcG5zetWUJdmRjmPvTM9GI9JgSGvadOoLE9KJJ5kPp2YXLtZdO1kT8ooz2vigCNelvPYezPEG7z0CDAn4pJqPvJA5A3vdcl/S3LEy3Iee29OeIOX5YDx3nh4VFI5YDxin6DM5YARxKb7g6gcMHd+nMoBc+d57LKGhCQ1ZURBCoVL2nKCO8sBZWW50x1TOWDuLP8FlV4OGEFs8glROWB8wmbPKikHjGf882bucsB4k5t3qKxywNwhxrpRbJkGTOx0ehlA3d9e5VEtzA3ulGe55zmg1QOfrCVo34BgQGvr5rLDRl4RRZG+5NjBESBc4FHw1LlrCAuPsCo0JjKi7J5hYqfTXADBq4byCJLf82Nf3kA3OfD9LgKdgeCzZ4CUTJ1VKQFyKQgpmeMSjiKvQC+oplspN/wOMDcBVFv0Bo+KwYJ4VE50H3Jg7j6CWzkEX74A3MrSgTfeKZpSaBCHcAVn/JunBHlFPDR5BkG9LMjPt7mZLOtbskQADea9wqOW9coqiGHlRPcHBxYcJriQQvB9P+v2cqCwWFxgoOJk6JeTNX4HmJMAHv6xP4/6VXw/+OxNx/bM/pIohdUE9VW/VxwjOHiJYO5A6xolpGSpYW3jIW4w/A8wM+h+UHSY2pvHgzV9NXymeor0wPc7Cf7XzWJ/4Nsm+Ly2LzZx+OwZ3yuVbzhNsPEMwcI3rM8wMikHiURi5gNbbQoKrc84zpjkj2eYzQC6f96DomUd305ctrp8tp5gSk/f1utzlFhUOHYthy9f8D1gdpwnWHiEYOVQ6zNM6QM/AY+CImHnF9YtfwTMCgB9P+5G0SHa9xP3bk2gT9cBU3r6Hjp95nBYNcz3gDlwkRhX843vlfS59PmFHfjFzgC/2pJ1nEEnEIpIAG+834Wia2Ox7PJ8wt0twLz7J8Gsl3zf316zCVYPsz5oe85F1yUcu0YwcQPBjlElZyjL8wsrQeyBn+XxK8DETqefgyACFCPe6kjxfDPfT6C7BpilBLMG+L6/A34h+P1VikCZ60nuTYpzN4AxqznjCqPOMZ1RSp9f2OVLYZH1lbOrNvjVlswIGEAKYOyrj1K82NL3E+huAWbEMnbFSn1+Qzd4AcE3fajPZV6X04D3lnHGM4xOawKFJwLLYiD5H2AoCkHwJQMLA42v090CzJjVBBN7UCh8rN3AgDrqCYq6lX3L6RQ1MGQRhwWvA7UrALbnFzCJjOhG+d2WjFCkUYKZPZpSDIv1PWDGrycY34NCahI0+yxN/Ivg3c4UlUN8VqWxok/XEfRrSdG0tm/rzcoHBv7KYc5AILqqLWDcOb/45RmGEFyhFL8/0Yga33y+Tl9uJhjxOEVIoG9rnrqVKSJSRFb0fb3tG1A81sC39TLRSu85HL57Eaii0Bm3oqEKqZXSJaUURUxTU0Tyuy0ZAc5SYCUbxE+6+x4w3+0kGNiWooqP3/Qz9xB0bUTRsLqI2eEFUlbvA9WBJxv5ltdMit9jFocpLwB1InQIkBEQTmLUHStOBoMBOr24K2+/AwwPHOKArS2iKCY9VzKIg34jyMgTv6f1wpwqL8JLHKgUTLHwjZIxZTKg0V2Bzg2tLzvYBYA75xe/25J1mkEnGAzYyXE40KQmMK23uLeLN8b1j0ME7epTxFTzRmnCy/jzXyCqIny+NVryDzFeKfd+xLcrDOMMO8MMfgx45iFrOZA7AstiTvvVoZ91usM3tClHcLpeZWDmAN8DZtlRgkY1KJr5+BC87hQQLAeebCwcZN6gXH6MgG2P+rfyDmD+WLoV8xZugkIRiNh2TTHghcfRoF4tFBZpkXgpGQ81rmdu9puLOLzwMPBYPR1Cgzw/v7CC/WpLxjrc/jtaT2LApRrhwC+DfA+Y9aeI0dKzbT3vTCChk3r7eaBABzzfTGgO79CtPUmM9b7U2jv9bf3kOyjSlihLcoSg93MdkZ2Th227j2Hoq8/inTeeNzZ+xFIOsTHAsw/pAeL5+cUvAdPuG1pVRnArQgEsGex7wGw7RxAgBTo19M4EEjqtD1wEkrPYm15oDu/QbfkPSM0hHsu8du0/gSnfLkFGVrbThjFLynULJ6FOZHUw2RNbyd/qUJLFHZV+ywr9aksWO4Ou0BK8KueRz/bVq++CUuD+RGbhB3R/0LeAOZEEnFIRvPGYb+vdGw+cvU7w3uOe1dv+mfeRk5svCMUfvz8AA3o9jgkbCJQVgPe7lGTz5MDvj4f+VXs/JH1ip1PmAkHy17u8z42bjl4lxjf9C809m0CCZo4FUVwKsDPOJLz0ZTp6Fdh6jtnWe1bvuCm/4q/tRwQ1/b03e2LIwGfw1RaCkADg425AOvPkYCHZd0cG43dbsk4zaDFgWHiHcG85wjBQoEhnMhAzf5r/Jihkf9/+fjXDtDXqGA108+Eqcy0DYAfwMU95NnEFzVgLovibwK8HCab19qze61s24Pf5K7A5KwB5vHM1CblMij9m/Q87rtc1jsek54CMPIBayGD0BgP0ImUw/gwYFiqjllhHGAcvAkuPcijU8cgv0KGgSGv8LNJqweu1MOh14A3ss+S78W+Dzuo3RsPoTy0YgIjQALFz0C36tBzg570EE3p4NnHFVn5TA0zaSPDzy57Vu2bIS6jF67BDHYBHgnVI0kow+6ZjLyZNm9RD+35jkZINfNO7ZIVhEn+e16NQ6157/OqWjJ1h9n1IXoydTi8AeGD+KzxqinCEsfkswfBJC2HQacXOG7v0B+e9CGXVUK+U5aoQdm5iE3eqh296R/XoDEBu0e3/hcz3FzF+Z292trI91Zgav7N2tKrDrrfFTdgTI4dAl61BipZDDXYINRCMvBrusNvBikAMHT8LTM3/pwElK4xMAuQV6uBuKK4yA5hEVfY8SvmmHCETGyjDtzqbQLHf0KMgaCnWEcaW/whGT1mAHHZP6oW09bueaFy3khdKcl0EO+y+v4xgphs2MWxbs+K46bLCDIoi6+9iVLKY4PbTp8UB5t8h/UB53qimz1aJA9lyLExz7H1vyMCnUa15L/x9EfhtkIk/nh74y9ShPz5JnUGA26qFZIdcTofWqR5xxd5Uip1O9wDoJNYRxs4LBB9PXYxUdaHrGSqAYuWUp9GmSQ0BlN4h8cTq8qVfOGgKStpBeAoJb4DEYPrPsU89b/5e/LvEYPubLCIQX06NEtWpfwa/yA4h0FEgqVCK71OCUeTARdLLfbpg9PAXsfGsBBtOA0uHmKpyV0PZsqFl5lo5QaXWgRqNw4pTHiEYGa2M+KX0yMROpxsA9BDrCGNvAsG4GcuQdMt45eJx+nXsk3iyNbOY9k161wOry8/GqZCr1t4GBA/O3T0Nm7gSDl/89IBRHiU0nRk3CgU3knEmT4pZN51rrjI5TN2oGmCOMP44BKx7B8jINemP8ZRCK2Y5LNXAMrMlS0hSpwKw9TRGME+XHf5ekybEfPCInU7/BDBArCOMw5cIPvt+JRJUGqHj7JRu2rsd0P+JGBuanELTTVpwwO3/cnjFxNcTwMz95hquxud5pd+skIEfR6NJA+F2y6o1S3Fj4xpj/X9lBmK7OsDuChMUKMf+v36AXC4Fc4QxYwew/X0gM8/k5VKvN0BvcF9gfc8CJuGWuh4twgoQnJSBzK+nDP+3eLTsBahJSNL8DdD29kaUAFsDSU4vpVJp3FTETqdzAbwl1hHGySSCCTPX41RimlcmzthBrTCsV1Obss5cJ2hWXQupTIoiHUW+1nRYZkcn5kRbTzlIOQq5hBmimfRu2RwoeU4gl5rAFiI3Odpmb/NRK0zXu+zgKzZtWZWK/VvTxWZzSP/EK5HoEivcxsFQWIBzk8caVxmWmMT+g6thNlfMg/p1xYfv9DXSMEcYEzYAu247wnBXQ9myE/fslixRpf6FUgw2N5bgDChmk6Lw33MMqkqlg8JeVKmn8hRjHI0QIdgbiJynGWhiZ9AZoPhgaEeK50Q4wmDCvwmzt+HwGe8EcH67V1N8MshWV4UBpnlNLQID3Lcn5nkKrZ6iUEex4azEqC08di0BW1XDgsTP+2NHsrH6F+/0m9Xetns1PN9b3IWHPi8XyetXIOPoEeg1WbhYKMGK9CCoiiSoWq0SnuvWzqhLVuyoz+wI411mmi3epZI9Lt2zgElIUht9INtpdDJPMUsSGf59NCFFxc8TknI6AoZ9LqbCmj+V4X33zMAEAOMHtaXoJ0KLVpUJjJuzD3v+vSh+xtnJ0ffxaMwY0dHuCtO8pg6BAcK3LI4axCTai/4hRsBM3kww5DGK6o5vYx32S52pw9QxbEi8k6o2DMeoj2q5VVhqNnB29JsI0TP5M6Dj5Gg7dwmkpVZOsyOMtyg4joDyBhRq3d+Osbru3S2ZSp0LCmf+9ZM5CUY3qBWx3LREUy5RpbkKQOl0FAimvrksPAME08Q6wmD74DGz/8H2A/+5NdClM8U2r4VFE7rZBcwjtXQIkHsOGLbSLP7XBJhvdxD0fJiinhs+pVk5n41IBM/UFryQSHggvpxRooovpsgdFwjoD8MQri3ZIso/XYzm9a2FwDfUAFPxX/AaRYSCeCR/KW7fvQuYJE0RQF3vSQh2UQn3bsOaYXEJSZrPADrJBfP5BceCVx+4LO0r1hGG3gC8//Np/LXrmJjxdUhbv1YE9vzU22eAmbOPBRmieNCNFzvP8/jhaxVSL3vn4M9zBJN/bgSZgJsyplZ0KQ24oSZgq8vmE4V4+9hrkNIS8O5uPhbNOz+CprWpWRhd7Ahj9svMYM871rT38pbM/q2XvelHoeU4bpxBgt+Jjr8MAqfi80NXZEW/H1UEuOMIY/zCRPyxZr9XABMSJMP5pbelahYlsjNMi1p6402Pp8lyhWEhIBpVp2hdV1yp6nwgPAhYvzQF/+zOEpfZCfXgz6LRIMrxKsq0B5YcKsL6UxRFvBygelBdLjhZGMCx/RfTKWMCUGZzbAClvJEmtiGH97oEGLdhzBHGjL4UDyvLOmBUmn9AaamAay7GimAXgdErzG1RlX36k9el+PlgsPFtK9YRxtwtNzBl7havTZoLywYhuJRbSCNgauvBlAg9TQYDjyVHOeOWbOVxoEoo0Mn2JttpNZvOcmhfn0KTXoTr8TlITSnCrRSt8TMvV7gj79KVPDskCo+1tb/rZkLScavzcTlTARBrZUu+MB1coHNHZ8rQXEzvH4T+8yWY9DzQrj6QptFDzzRlPUj37JbM5pZMeCfZK5CNgsPt3PlbEny3LwSlHWEIqWLzcTWGfbFaCKkgml0zeyNaaa3QdqcAs+msSa2k+4OCmmYm2nyWQ98W9idabo4eqSla3EopMn6m3mRgKkJ6KlM6dV5Plz418ES3CjZE7Ar9w2X5UGXbv3bmC1NBAiqBEOf34zFhKlzLq40PuxK0i8qFutBzRdd7FjDx1zSDCKELxA2tmZoyyztqqc9tUdDlDAm+2hUCdxxhHIwrwOAJy5EvIkSCsz78Nq4rnmhpfU/BANOytgEydwQmpSpjQro/b68we+JNArzej4jjKouz0q+luDwGAzWCxnI1Kr0qPfpEZTzXv6pVwUzf6+MVBTiX6vi+hxoKQfUF4AJswWZZGF+UCUN2IsYMaINnbcVd4jp0m/qePcNcvJlTldcaUm5vVN3qnKNM1zUcJm4LhTuOMP65qMWYGWtxJcU76jGT3nwUrz1j7ZnCCBilAbLS96RucIFJtv88ZpLD/HMZSEgFXmkrrqANp2yjEYsroYRar6f44I3zxh9qNwnH8FHWNxBLj2ix6F85SKltmGV9lBrAF6RConCuh8fotCn7MSC2Fob3ELkPddDBexYwrL2JSZqtFPQpdwfHUT7mf+zjTWFwxxHG8St6zPhtCw6cZXcSnqdhLzTF2FethZcMMK2UBki9DBgmbz18mYAJbMUk5shiYBsxORzT5ucZ8PHbcUaC4OpBGDe55AbiShqP9/40gHLOt058UZbxXMPJnQuUKK+DLi8DEs0R/PJBLIIVwjULHPXgnt2SsQbHq7JeIJSYFIi8mNgeeeT6cFRQAItFOsL4L5li0do9WLrLriK06FZ2e7QO5v3PwugcgDcBo9MbsPT2CnMxFcYwdiNFuMhlKjcs/J23AMMEoONHJhj5JA2T44tvS2TTo5cX4kKqY5X9YuYacq9CEhzlMngmr8uGQasFLUpDPcUV/DCiKwrcNBwrrvueBsyKFVTSvG32aQraRPRMdJKBWaa+vSrcqNAo1hEGsyD8Y/1R/LzmjFea1EBZAbtn9rIqywiYSB5Siecey3U6A5YeN23JmCCPORIcK8IWhV0ps1Wpj8hzjyPmsDPN5P+ZNCWInMOXPz9g/PtgohZfbpEZ3SE5TxSGXBUkIa61vPnCDLCzFEuGrOMY1q02Xunq2VS6p7dkrKOJ17N7UAPP1PG9moatCoOBJ9go0hEGe+P+vC4e3yw84JX2VAoLxMmFL9sApnUkD4kXAKPV6bHsuNQIGDb5p28nmCwixmZSJnA5jeCZh1x3NzfpKi7M/xlFGRmo0qoNqnfohPAG1mcH1dUCfDP+sqkwjuCreY2Mf478swiJGa6V3Az518EFVgHhXMu0DYUZ4G8Dhuqy0Sg0EfM+8myHf88DhjEzIUmzAaA9XA+ZcIqR60KRp+XgjiOM3Sdu4s0vtyAkSIrgQCmCg6QIYZ+BMuPf7Dfzs9vP2bPi34ICZTh2szJ6NM41HuyrV7f2G8tWmNZRPCSc5yuMJWCYGcjHawm+7Sv8DPPfdSBfS9C5oWveHhg+GFqNyfRBEhgIeWgY2kz7AZysRDh5KT4fP0y5vZ0lwBdzGoO9FwbOK4S6KMDpCkP1eaD6fCNghCSDNhe8zmTsVznrMD59XIGa7Wx194SUVUxzT2/JihuZmJJThWoNZ0HgNY/EH28MRUY+B7GOMFibcrJzkJuXB3Z1zXHc7U9ivNlh0mX2aXpm/7ekLA57E6R44zHm5slWAs0A0ybKpDDoaWLhHJafMK0wLIm1ujx0iYD56WgrQO3ryuplSN6xzajkqM83+RCr1aUrol95A5zUJIT971QO5n2bZPybXYRNntsYvx4guLJrL1qkbsD2moOQHP6wlUskRkt5PfiCm5AEC/exa9DmgNcVoVL2KQy59RsqhAQg6tPvwAU5U1F0zvH7AjCsC4mqnE6UGpitvsfSJ0IIHb8lmNzIlkCsIwxPJzDLf10NrDtJMNyBjzDvAkaH5SdkbgOGOf5oVAN4sKawnl+YOwspf+81EzPIh9VvgCbvfoDAKlVx9JAai+ZcNz4PVBBE9W+M07uPo9/laeBgknSeC22ObbVeQ06QCRzselivuQhZBNveCX+JGAoyEZEThyE3fkIYNa00yh69UPdF6y2wsJ6ZqO6LLZl5pUlW9wHFMkrh6mTokgdf7QzG5UwpxDrCcFmwAAImPPztIMHorva3RkbA1GEhGoRPDkfVMj/EVoARaabM2vliCxj9QQtJ1GDAtU3rcGPXDmjVWWDfWWJbtHp9BiCwRScU6KQICJRg4VEp4g8ex4tXvrFSpGT0JxXNsKraIEgVFaHLuQ5ZSE1wAeLsEioRFZ5PnAVlTok5hiQwCG1+mAupwr1V5r4CDGNkgkrzEij93Znqi5CB/XafAhduySDWEYaQsl3RFGiB6Tsce4NkgGlbx+WtqatqjM9ZlOAVJ0tWmPeWEvzYX3gYcOY9cuKzsLE1EVK5oagQJ7/4DDlXS67gZTVqI6dlXxwNaIXrJ06j75UZkFhoHbNyK7Zqh2E3usHAlCupDgFhtSAJEmdsxsqJqZSHevmJaHPoC6vm1nvpNdTu7t6R+L4DjAk06t7M+tKuDb+QkQTw00EFTl2XQawjDIHFOyVj6h+frSeY4uC2it1MRVXgIeUIpBLTWcjdxMJArDgpN2/JPlpF8PlzwoPDjl9v0vZ1N2k1apz+ehJyVaZzS3HimUMKIoWUWrusqtDqUTR46308/bUKekghU1QBkbq+PbPXPkNuEog8DAOS5+ABzVEzSWj9GDSf+JVbXbovAcNs+oODFYSjsp8oqCm2gcj06z9BOHJNbjTZ7RDt/oQQWa2ZXEw0ZWY1yYzYGdCYuj5L7AJNwgBlvHRgj3mjnfvtx0YlS/Zcp9dj6wU5nmpiysccdLMYm5UECr3HruHwQ3/P+KPLzcWZ6VOQfdG5xWbVzl0R9fJgEI7DjO0Eu85rQSTuH1lbV45HbmYSzl1OR+2im4g0ZEJpyETdAC26zpnv1tDdt4AptulPNJ1rplMKUY6uFh8PxL5LARDrCMMtLtvJJAYw3qqTlcOCw7JYLUoBwWHZWWvBIYJxz3jeAiZxv7R0AZJ3bIetdT1B7T4voebTPc0VMbe2G08Wur26sII+6JyD5x4JQU6+FkfOp+DA2es4fO4GsvO1qFk5BE3qVEaTupWNn9G1K0AmILT1fQ8YxhhKqfTi9ewBoPQjSiFAxAasOh2AbfGBRr0qMY4wPJ86phLuFmBm7ibo2oSioYAL+uPXgKvpBIMe9VavgctnE5C7fyuyz58Bc2oRVKMWaj7XBxVbWGuELjxMsOxIAYjUtaqMo9Z90CkHz7WwXkoNPMXZy2k4ePYGDvx3HVdSTHIjBqCVn7verJQJwBQzjKnzJyRlPcZJuJ6UxwsAHEoP/joXgA3nAiHWEYa3ps7dAgyTeTwSRdHcuecDYzdXHCN4oBrwaH3v9Fqr55GWmY2ICNe3XWtOEvyy17MVZmRsLnq2dH4bdv5qBt6Ytg3d29TDOAFvhjIFmNLDGp+c1UxCycs8xTu3jcrMJDvi5VhxOghiHWF4Z+rcvRXGGBy2EvCYABB8sZHggycpqoa6f+lgya/MXC20RUUIDXV9gGJueb/d5tkZ5r0OOejd2nldm/+5gkkLDuOzQe3QrY1r2+0yDZjiwbp4PUNJeelKSqlZSX3/ZRkWHVNArCMMbwFm/AaC8c9Qt65rPWkDCw7Lggw9YVLhcprWnCCoH5qKGmHUaC4tl8sgl0kgl7FPqWhdt6upuQiWc1AoXN96MSd849ez62/31YPeeSwHL7Z1DpixvxzA7hNJWP9lL1RmjgtcJL8ADOOBSkWDCqiGaQoYlYn+TZJh/hEF3HGE4YqpQp7/sC0PrzRPhYxPg9yQjmCkoTA/HUV5aZDq0wBZBQQ0my6kKFE028/BGODpOYHBYfPy8qDT6aDT6Y2flolpUxeDhznscAWkfxKzEFNDAbncteIk8xIzYinxSBj1VrtcvPSo4y0Zs0Z96qPVqFpBgcXjnhXEx/saMCZfZNmTQCjTmZCAEC0oUglPU3iOnDEYtCcb16nCrDaN6ZxKU1HK0xOEIOrMDSlmHnDPEYZLzhoKAW0aivLSQXRpCKRp4HTpKMxNAy1KN36XE+cRAHjKIb/pckhk7h967bXz70STao47wWHZ9bZebwJOMYDY38Zrb4vEtKwZeAKMq5IJSDKZFOuPpqFr8yqCNBjYDd3AXwwgnPu+2Qa3zccrjzleNY7G3cR7P+7G8+2jMWaAMH8r9zVg4pKynudA1jmawExnjKf8fwRkAwF+j46MuJSoyupEKdkdnyoh0/e65wjDUX1c3MdA3hUEEO+YL6fU+BwRNUQa07tAM7v5OpNM8LoXg8PqDXrotHrojUDSQafXgXmrKZ3i0uV4vKkwiT2TJ/WcqYWBBLp8PzkieK1NIV5r71iO8/2qE1i2O8542GeHfiHpvgbMRVX2RzzlpwnpKCGEOa76i5dynxCeTriaTvpP2RnqliMMhwC9MBaBBaeFNEcQTU7FvpDWeU0QrVCiCynA7jjHip9Cy3FFxxz/mVYi0//sPD2u5wWgXUOBSmkAXvtVj7R819s3R215ta0Orz/m2FVVnwkbkJyWa7xOZtfKQtJ9DZiEpKzXAfKbkI6W0JAiQrDyZjZ5adyWUM4dRxiO6qOqRVCkLRPXHCfUt2gjhLXw7jmGBYdl18Uf+Tg47K4LBCz0uZh6P1oJnL/p/qH/5dYGvNnBfv5rN7PRb9JGVAoLwoavrC1enQ3gfQ2YC1ey6kil3CV2lhE7S7MKuMIxf4UGuuMIw1FdhszjCLk6XmxTHNLrqRT5TVdAJnNfPaR04cbgsPsIJjzrmbqL2E4evgxsPy+uXubM7+Vfmbss9661X2lDMdhuABRgyc4LmLnmJGKbKfHlW8KNyu5rwLBBS0zSbKBuWGOyWCoj1rrnCMPRZNEX5SLk3ACmVih2PjmkV9WYiso1RHrec1I7i1HJ5Ct3Kjiso6rPXgeY9P6bPsKB2uSRWKSlZbjNy3FjhuOTD5kIzja9891OnEhMxVs9muHVbsL5e98DJu5ydkNOxh934enfhmPsUDl0ZRgCZUS0IwyHWzJmqPPfcATorrk9yKUzZld5DTKlKUCQNxLr98jlJhV/X6ZrmcBXmwnmDBReb2R0CxQWmiOaiG5uj+5dsOyPH23yMd2ybmNWg6nJfDv8cbRpLDzO6H0PGMaN2zYyi8Q6/Ru+Ogw6A8FfIh1hOBs5evE7KLJ3ih5cRxluSR5FWLNxXiuPFeRJ6D53G5KWC3y4gmDhG8IAw7Ssa9Vlpsrup8jaNXHh+A6bAnYcu4bPfjto/H3z1D4IZ5JcgalMAIb1NVGlHkwpmQ1QwRf3H6wPRU6Re44wHPHXcGMTQm7+LJD9rsnU+soIaO2ux1z75Yu163fdStcUuYXA6wsIVg4VBpjMLDUeaOrgAOK6OjNFcvwhVCiluzbh90PYdvQqqlcMxuovSjSkhRRbZgDDOnsxOaczpYaFlEKQp4Sxm0KQlidxyxGGI+Zqs+IRfuUDIbwXTJMWsxghIc79CAsu7C6Ndg0lAAAdVklEQVStMEws88Jsgg3DhQEmSXUdLdt55hLJuIKs/g2x7UvcdrJtWPcxq40q/h2bKfGViAM/K69MAYZ16NKlzHCDlHwBwr0FUKdr7efbQpCs8a4jjMKCfITHDQRH3d97l578qmqTUblWczGYcErLzjDT+/hej63HLA5r32YOCl135dyFeHTuahtsynVOa4qvPv8II4aVyLJOXUzFsG9NW+bXuz+EISK9lJc5wBSz69KNzEheLxlFQVnEIrvmUlN3B+NiuncdYWi1OsjjP0KQznvxIDVVh0Bem1kreCcZg8N2pwhzX4juVkN6zebwx+u8oHr/OXoCPXrZBpsSW/GAvj3wy6yvzdl+WnsKi3aYnKFPHtIBnZu79qBpWWeZBUxxJ69coYE6ae4zlOqfIyBPM59uxc++36/AuZvedYTBJNz6+OkIL3AVn1b40N8K6oawRu8Jz+CCcvImgiEdKKoLF7p7pe4B8zl8148XVO+uPQcwYNAwj+tt0iga/+4t0Z4a8MUms9HY0vE9ECnUHc7tlpR5wFhyfA+l0lqq7L4A/QlAhTmHgnA8We51Rxh5FxejcvZSjwe7uIAk/cOo0nqK18qbsYPghebUGO7Dl+n1Pzh89iwvqN71G7fhzbc/9Lh5LALCzr+PQVMkR2w0Na4u566m49J1tVElRqyDEb8CTDH3LyblPMhTw67fjwZVPXTV+44wspP2oVq6IBU3QRPiprYWwtvOE0QrhGj2PoKO0dSoR+fL9O5SDm/H8oLq/XP5Gowc7R2tic9/XIlNyU2wY5RH1gJGVvklYFjHL6k0Ty85EbhxV6KceNsRRuatS6h1fYTX5mK+IQR5TZcbDb+8kVhw2MY1KFrV8UZpwsv4ZC3BCw8LC0o7/7fF+HRCydnDWS1FOSmQh1S363aX5XtlxGTEBfbCxveAIMFCB/s1+i1gGDsGL9Cvvpgm6eVtRxgZGZmomTQYHNUKn01OKHlIcEG5AfWE+eB2WefKY0DVMCDWO0G5XNZXTMDOTu3qUzxuinDhNH0/cx6+nGYrpS+diflxLkhPgFRRGfIQ+wzq9OxA5DUei5VDgYruObw0V+vXgOn8LR3L85jibUcY6iw1KiV9CLnhpqt5Ieg5DxkOV16PRyKFyTBcFbrxDPNZJj44rKtyXT1nvsYaVqeC4k1OmfoDfpjl2ncYb9CiMOOS0edyUOVoEGM4cuvUuGkrBHdbgIVvALWs4++6arLNc78GTOx0yq6efvS2I4zs7ByEJY1HkNYUactZ4kkg9FwE9JIKMEgijH8bjN/Z36bftCQcudLaeKC6q9KEPd8dB2Tliw8OK6x0x1Q/7SWoGkrRt4XrksZN/Brzfl3skpB59S9IN13hy0KrQxZkK+ANCQ1Do7ePYO5AoIF1DFqX5Zcm8G/AfENfB8Fv3naEkZubi6CkbxCou2yc9CZARJgBwcCRVlgZV3KC0aSmAhwnQYBcYowHI5FIwIN9MjPfkt/shcUQPdq3Mxy5DLDwfQNFBod1t77ifMyxuVxCBdX7wZgJWLzUdXh3Zh7NtmSgPCQBIQgIt+8/qtmw3fj5zep4yDoGregu+TVgOk2nTNl8pbcdYeTnFyA9U2MMDhQYIIFcwoGTSGCgnHHLECTnIJVIMG2H1BjywtcCRBYc9shlgrdEBocVPbtKZVjyDwGLLyqk3mHvjsGa9ZtdV0k4FGZdBa/NM/JbUcX+wSy692z8PDoWAjwpOa3TvwEzjXajHLa0b0DxSXfvnA9cj3AJxfe7TG5bq4aKyeU5bWIqsOkswcguvu3zyuPE6IBDSL2DBr+Hrdv3uOxshVqNkZqwH7q8NCNtYKUG4CS2V2G1OozE7ClvoZOHFx3+DZjptD0F/m4RRTHpOd9OHja4c/cRdHuQGh3r+TKxScuMuXz9kmDRmM/dgKB6+wwYgv0HjrhkS6+Bb2PlbzNQpDbZILEtGdualU4VH3gaX0/92ii89HZSVpY7NQllzvOLfYG7W7d7Nqe3a/NGA1hR7WfQZhKKU0yAN62396wkhTKFyUPa1qVo6KXDvNB62YH/2x0EXzzv/cnjrA07zhPsT4SgepkeGdMnc5V++nE6Phz/PTITmEIlhSykOmQK24M/W3mmzV2Lpxp7f5z9BjCPT6P1DRwuetMRhqsBtnzOnFHEVAMeVvp24hbpmata4lHcFzH9LKZl8TJXn4Cgep98+kWcPmtSknSWVi/7BZNmrsc/G2eC1xVAqqgEeYjtVRjhpPji1wN49qE7x+uYyAi7C4E3XvA+XWFU6Vo1ABsP2MzJwvDlMnjTEYarAbZ8zrYoVUKBR+vduUF01J67YUR2OhmYs49g9suu+9uhy/OIT2DyFedpz/bVWLXtFL77/F3o8zMhCQxHQJh9nZ/RU5diYJc7p95QZgCTnKHLppTaHK3Zm3bwYhkqKIDFg72/VLsabLZFYbYhnRu6nkCuyhL7/G4AJuEWwKT9QsyUWz3WDdeSkl1268zR3ThwLgtDBzyFIo0KnDwYgRH2VfYrP/jCzKTdX3pPZ8ll60wE990Kk5yhi6OU2kSaZx5OBy2UIkDqPUcYAnloJDtwkSC7AHj6Dm4THK4wIoPDiumXI1pVJjBqBcGqYa5fEA+16IxbqaabL2cp+dJJ3MqRoGXL1si7cRKcNAiBFe2vIopqDZemn133kqsyvf38fgTMJkops4WxSUOWSFGoI9joRUcYQhl+SgUkZZK7EtBp3DpgsjhzdqHdckiXlQcMWcReTq4Bw+z5mV2/sxQcrMCVuH+NoQof7DwESf/+aTz4B1WyH8tDHl7zhDpxlwA9A4+7alXAfQcYVYb2V1C8YY8N7y6XQl1AsGoojyD3vZK6zWHm9siDmK9u13u3Mgrtb71GbZCbm+e0mbVq1cDJIyavMK99OAvrfp0IfVEOFJWj7earUKUG9mxZ45WuOzqv2Cv8vgNMcqZuCuXpWHudGb1GipvZxKuOMLwyIn5eSGSDR8AiQDtLDzZ+ALu3rTKSzPrzAMa//xK0OSlQVLHZfd8uhuDQ/p1QKDyPiFCmAaNK17KD3g/2mP/ZXxJcyeAw/xUeNT3UZPXzOe7V7tes2wx6vcFpme3btcaa5SbX2gfP56Dnk62NipiKqo7tB1at+BMPPdjE47a6kr1YVnD/rTAZ+r6U8ivscWnyVgnibnL4sT+P+l6yN/F4NMoLQLXIh2zizpRmy9PduuCP+ab3YE4h8OCjzyMzfrvDMwyjm/rVZPR8vofHHC7TgLmRpetoMFC7Ximm75TgVDJn1G96srHrw6jHnC4vQBAHqipd+zvu/2JP/Dhjsrm8zv0n4sSWHx3KYRjh0DcH44NRnt8sl2nApGTROnqD7oq9kZq1T4IjV0Q7/xc06OVE7nPg6DS2bXL+AqvW4hVEdvnEXEna2bW4uGY4pEGO99ZPPv4YZs3y3DNpmQYM42hyujaBAjbXJxvOcFhxggHGI+UD92dGeU67HDg6/SGAd36GqfHoMNTuULJaFGZexem5T4CTOL7ufCCmAf7dv0EQ11MyrWN6WmYq84C5lqEdyVF8J4hTlkQc+URZUSbMG4PowsVlSEhSO3zlBtm5+alR0UOPD+KaZ5fa0aQryM+3oi/d/ocfaYOCQudxQCeOHYUPRrxpLocZk8U0i8Wt1HSHLQ+Qy3Hj0jFjzE1Xya8Bw4IuJWfoFgJ42RWjip8TQlbVqijtbwz3dw8kfwJM23YdkaXWOOX6tMljMWzIQCuawW9/hJVrNznNt37Fr+jc8VGXI+rXgCnmjipT353w/Es80IIALDAIM56QMFBQSpmkLAUEJzmeX1qrSuBfLrnqQwJ/AkyXJ7sh+bo5ALZdLs+cPgmvDuxj9ezPFesxbETJucZexrfeeAnTv3QdQqTMAyY5TdeZEspcjdjXjfDm5Ka4REDerF1F5tos0Ev1+hNger7QGxfiLzrl3PyfpqJfb+sr4vSMTDR4qCOYy15HSVmrJs4ddx3Dp8wDRpWhvQQKYfGjvTGJCS4rK8nvPDhvt9WfADPwlUE4etx5ROpFv/6A55950mYkn+zxMv45etLpCB/esw5NGjm3Vy77gEnX+lyQIua2xFOM+hNghg8fjp17Djhl2aolc9C1i21A1x9//h3jJn3jNO+EsaPwocWFgT3isg+Y8hXGatzv51uyTz75GGvWb3E66Teu+h0dLYIlFRNfuapCs7bOgzG1a9MCW9ezKI+OU5kHTPkZxnrw72fAfP3VFPy+yK42k7mTOzf+idYt7cfB7PBkH6cmzsz/29ULhxAe5thlT5kHjOV0SUzKfp6CLwkMAnIjJjLcyo3bRZV6Kk8xxpyPIjsmqiQgYkKS5jpAzfauBFzP6Miw9Z5urdzN709bsjmzZ+K7mb84ZdWBnavR9MFGdmm+/XE+Jn7pXOy2cP536NnD8UrkX4BRaSZQSieauUnIphhl+LNWoFJpFlFKSy7yCYmLUYabRyBBpdkISp8pzkMImRitDP/c3QnvaT5/AsyyJQswYcq3Tll29O+NaBht/45HyLZs0Et9MOvbSQ7r8DfArKOUPm/BjSkxkRFWl++JKvUuSvF4CSCwO1oZ0aX4e0KSmmn2fWoBmPXRynAf2ymW9MCfALNt8zqMGD3BKWDOHt2BKKVj36+du/XD8VNnHZZRu2YNnD+xqxwwjAOJKvU1SlHiDYGgT4wywspZb8I19QUQlBhPULokJqqCecVJUKl7g8JkocS0zQiSopURUZ6uFO7m9yfA/HtoL14Z8r5TViWe2Y9qVR2HUftp7kJ84iLGjLNVqsysMKcTk2s3i67t0KXIheTsSlJK0yilJRqVFPVjoiIuW59z1Ew5q8T9EsE3McoI85km4Zq6HgjMvn4IIVRPSJVGtcMy3J30nuTzJ8AkXjiJZ3uXRD+2xzdV/BGEhzsO1JlyMxWNHnncqRDzmymfYuhg+9pS3gKMq/kqZE54pBp85sy1CjRIEmww2BfnKoKC23NEsrzk/IKc/PycRjzTzrudQoLCAi3BwH6mlH6eV5Bjjo3HEUIUitALoDBfpfDU0C+/IM+5gEAIB9ygCVGEXXeUrawpX2bcvIx2jzuPHJ167SQCA5yHZevR9w3s+9uxy9mnn+qMZQtYyFPb5Awwaek3BcUBkEg4jhQY8po2jcpyY8gtprAnuV3kTVCpPwKFOcgkIdgbrYzobJntokrTgKfUKjY4B/RvEBlRAjTT1m4Ppehk0fIxMcoI51KxO9Q3f1phaFEmHmhuNWQ2XNWknHMYpq+YePGytXhnpPkYalNGSEgwkuIOQyq11V721grjjeng0QrjqgGJKs0SSqmF/ynyfUxk+CjLfAlJWR0BYmWFKZVyHevVDPvbmk7zHUBHFv9GCPkzWhkuWOPZVVvFPPcnwFQI5lE1qrlD9jA1/bSkUy7Zl52TiwYPdkBhUZFD2u0blqBta9u6/AcwSZrzFNR8PcxR8mqDqHCm2m9O8Uma/gTUKjY4R0h0A2W4lcbfxWuaQTyhC8yAAbkQHRne2OVI3QECfwIME7pWr9sC+QUFdjkZFhqK5MR/BHH5taEfOtUa+GT0u/hk9Ds2ZfkFYG7coIo8gyabUpiDHUqItGl9ZYjV/WJikmYUBbW66A+RhgfXrEmsLJsuqXIfMlD9mZIVBoZgSXhYaTpBI+chkb8BpknLJ6BKvmGXa1WrVMbFs/sFcXT7rv3o8/Iwh7SO1GT8AjCJydmPUp4/ZMGdwmhleCghRG+11VKpp4HiI4vfNDGRETbG4JRSaaJKk8Ni9ZhBw3HtomuHHRY0Wl4kEgsYL1bt9aJcWVyyCnv1HYBz5+x78K9Zswb27NwqqF16gwGxnZ9Eerr9y01mffnv4QNQKIIElceIfKl0y+q7Y2eY+CTNOwS05NqDkKMxyvDWpTmRqNIsppRanEXIhRgHW60ElYb5I21VXAYFGd4wMtxzTwqCh8dE6G+AGfzW2zhwwPLdV8KwunXqYOtm4VpKX0+bjt//cKxs+cu8n9Gh/WOCR6TMACZRlT2PUr7E0Jtw82KUYUNLcyL+mno3ISi5hiFkV4wy/Al7HEtQZc8F5d8q2ZZx86OVYebvgrnsIaG/Aeaj/43Fhr/smxs3bBiDDWtXCubohbg49OzVzyH9kMGv46MPzXc7LsstO4BJ0hyloC3Nkxt4JzoyYnZpDiRcU8eBwOxTlFK6uGFUhVfscSoxSf02BcwrCgE5Fh0Zbl5xXHLXSwRiAXM/ayuztn88/mv8PM/qrsbMyRbNH8KeLVYSAJdcZnKd/87H26Vr3uxB7NtmrR1d5s8w7LxxUZWdQ0Etzhvk0eja4TaSq4Qko4cFs5iYI9y0Bsqw/9kFTLKmLeWp+cxCQAobKMNszkUuR8xDAn8DzLTv5mDy1B/tcq1d25bYus4+mByxedacBRg7cardxxzH4VrcYSt1/zIPmMuqzKZ6ylnatRpCpPlhNWvWtLr5unmTBmdrNbmWnCOUjIqOCv/eHjdv3LihyNUrspmzjOLnUsI3q6esaL498xALgrL7G2B+W7gcI8fYVw5/PPYxrFvO3DcIT2npGWj4cGfo9Vb3P+YCmMSfSf6LU5kHTPy17FcJ4f8o2Y6R89GR4Taepy+pNNEGShOsAYN+0VERDi2WEpM05yioWf5CKfdaw6gws3xG+LC5T+lvgNmwaQcGDravgNm9a2csX2hfpcUZh/u/+i42b9ttl2T40Ffx1eclm4wyD5jEJM131FoqvyRaGW7tuMqo7pIVSynZa8k1Cr5jw8iKVlJ+y+elb9UIyPfRpbQH3IeCsJz+BphDR46jW0+7x0qj4RczABObNm7ZhZdef89uNmaMxozS/GaFSVSp91KKWAtufBQTGTG9NHcuXtf05w3WUn4CNIiOjHAYhTQhST0agFmHjBDsi1ZGlOiYiR05N+j9DTDxiZfRqoOVzZ+Za/369MD8WfbPI85Yq9Pp0fDhTmDumEondo5hZssRtzWgy/QKw1T5L6o0WZbq+pTiiYZRETYWQolJ2R9Q8DMsGRakDFcoCbGvhwEg/pq6CyEwO7MigKaBMrwCU/l3Y+67lcXfAMNC9tVp1M4ur159uQ9mznBsLemMwWMnTMOsueaduxXp0j9m4ZluJpvCMg2YxCR1fQqY9cDYRA4MC6usDCc2r5KEJDVbKdiKUZzUMZERFZwxWaXSVCwE0i1tbFytSm6hwkkmR4Cxp9rPirnfr5WZM75KymYwGGw99Qr1XmmPnefjEtG2k6UxbgmV5TmmbAMmWd2H8jBLsgjBtWhlhN1wuglJmiWAlTbz+Rg7lwOlmZ2oUl+lFGaLS8Khb3TtCLNFprcBUro8fwMM6z/zYpmaZutc/L23X8eUCZaaTeK437l7Pxw/aWu+3Oyhxvh7h2lIyzZgktRTKGCOY0kI1kUrI+xaICUkqZl715LzB8WumKgIu1J+y2FIVKnXUgqzTT8BvoyOjHBsbCFuDF1SiwWMywLvIoEQXTLWvB49+yAhwcpsydjqYUOHYNT79g/vQrq1bPkqTPj8CxtSdo759/DfCA1lLrcdp/te0p+g0myCRWhx5jGmYVQFu5f4CSpNHCg1S/kJIYuileGDXDE6/lrWBOY5xkxHyOYYZbjZq4yr/J4+90fAvPbGWzh8xFaNf8S772D4OzYaT4JZnJubi/Ydu9gNqTF39kx0irX1qGlZuM8Bc+PGZa86k8jVVzwGwOwRQQLD4CCpxq5LkFxDxXOgCC5mAOEwO5jLdHnlUqAP72KA5FcLxqWHSDPNajiCR8tNwlx9xav2sjo6w9ymTeCobjTR3bpjQlaDvLbddjnrptAV5oPRH2PTZlsPmLVrVv1q7+bf57rJSmO2Zu36TM3LLzArmAVWqo+qD/dD96c6Y1T3CiASx/F1JNpku9t9T9rjLO8d01a+Uw0uL/fucCCoSqPvCYGN9JJS8n5B2nn7ejMCmxpUpUl7TsL9HRHdBVWbD0CYspXRNZA+Lz394IQq91SI4HLACBxUfydTVGs8FpROseUDHZafGufRCtNxOh1nyM+YKFVUMqs86fLSaW7y0U1n5j/teahlLw5eOWC8yMyyXJSiWqMhoLBRGiOUvpaXFueRalLsdPongAGMfwUZl6G4sARtcw4e/XrXNhv7qbvN43sCMGcSUyy1Asw8aRpdw+gcw9FzMcwrLktMnnLaEg4oqjV8DpSzsRSjPAYUpF9Y5gmvOs2gbXke069tm8A9l7enaYNQWXCAhKMNK4ZFdl6yxqHfO0/qdDfvPQEYdxtfns93HIj9xpBm0BVUpgYteH0ReL0W1FAEWXDl/w5+VvEhIS1JSbli98VYnLdGjbr7furWZVGYXDawYlAAgmTSMY8vXn1XXGk56k+ZBYw3ViV7TLvXVipXk1DIRHZGwyYxex47nf4LwJ6xXuK+0cR5CDERjdjzWs8IXsvdvJRTGDDt7HXt9QLtmIJbF34QUcQdJS2zgLmjXPPHwmu2UCj0+SxYr1XiCN8l91a8fT19kXwqBv9Xg975fuHZaw9reZN6YLWqlfYe2rGoRO4motxiwIvI4pS0HDDe4qSflDPrqS5aA6UyAtAR23dz3u52gyffH3vj9HYWrcE0Nyl0lCOjC255dnXtrXaWA8ZbnPSTcna/3PsyBa0LILPLkjWVvN3tyk2emp+fljTEVC5N43j0zU2Ps/KM6u06xZRXDhgx3Cqnxe6Xe12gYKFJSF6XJaudK3qJ5xdRVG3ETNvZJcI5nqPPFt6ME629IL5a4TnKNGAopfLkbIRIDAgBj2BQnUJPiUIqQRD7JNSgAIgCBIGUkkCOIIAHH0gIFwBKAkH5QEogJwRyUCKn4OWEcDJCIQeBnFLIACoFAfOgLQX7TnH7O5UCHAdQCQjhQKkEIKbvAGf8m4DAFAqEEGIcCnLbbMH4m3FDAtDbtj70dtADCmb7w/6B8gB4gBiMfxNiAGW/se8sogLRg0IPYvyvA2D6DqIn7DuFlhJoKeV1BJwWhGophZZQaEG4QhBaSClfxIEr/HbR1mZrli2unp/8X6tcHW92bhJdv/6cLRvW/AIiyweHPIMEubXDkEsI0QqfhibK4KqNXqEA86hxOF9X1B1Zl5mDlHsq3dOASU2lIQYZKuv0usrgSCUJIRUBvgLlSQVKEMGBhPOgEaB8OEDCKBBGYAyJEUKBEAI2ocuTOxw4dfoMzp0/j/j4RJw5+x/i4uJZGBKbotq0boWFf9jGwKSAjgDMwUkuBXIIkA3QbBBOw4GoeVANoVATjmYBXJaB0syWrR79SSaX33rhuef7zpr2P/u+ad3pjBfz3BXAUEq5lCzUNhj0dQmhUQBRArQWBalBCGoAtBqlqAZAuM9QLzKlvCjgzaHDceCgydslc+Eqk8nNoSiYIRn7r9PpUCEiAn/vMxvAepN1BYTgFkBuUYoUApoCEBYcWEUpuSaRSK/UqIBkQghbZX2W7jhgKKWylCx9WwOPdoTQhylIE0IRbemzzGe9La+oTHGA+aWjBIkE9Byl5JSEw6EaFaRHCCFs+3lH0h0FTHK6bjIFhoNtm8pTOQd8wgGiJsBPtSvLrAIPe6vqOw8YguGg5YDx1oCVl+OCA4SoCb1PAcO6Zt6SAe0IpQ9TigcBRANwHhSxfGaUc8A1B1g4s0RC8B8l5JQE9/mWzFF/iw/9hOjrGkCiYKDmQz9AaxKCqpSSagAtP/S7njRllIIUEELZgT+VgqZwIDeMh34JUUlAr1FaRg/9noxm8bUy1esq6+1cK5vORiS8/FrZEy7fmbzOrpUBqgGImhCoCUqulaU8zSBSWbpEh/SqVYmVz+0700rxpd7RM4z45ng3hz3BJSREoadQSDkSZKBQgPIKUAeCS8IHMiElE16aBZeAnICTWQouCYHUJMQ0Ci9vCy6JlIJKOJOAkqNMcGkrwCTMFJdYCCwtBZilBZbsO5NWwiQPoaUFlsQouGQSS8oTkzCzRHAJGIWVtLTgEryOAtpiwSUTWjJhJqi14JKnKCKEFoKgEITLlxDk63laICXIh4Hme0Nw6d3RvzOl/R8AdGoXzom1qQAAAABJRU5ErkJggg=="},96908:function($t){"use strict";$t.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKQAAAA8CAYAAADogBFvAAAAAXNSR0IArs4c6QAADzxJREFUeF7tnQl4VcUVx3/3JSEBARFEFllcQAMJuKDUD7FqtVbFtUqtS6ufS1soxaW1Si0KBaFVWy2ittqqdQ9xpYq4tLgVFWUThYQlJIEkkJXs63u333lzL+/mrfeF9/KSeM/35Xv3zZw5c+bM/83MOTN3ouGQY4EuZAGtC+niqOJYAAeQDgi6lAU0fUayHqCR5gJXEriS/T6TICkZNOMzIN/gFx7/8vvLiFxDtpfP4G2Xb5Ej6SaPKddav6mPtb5g9e/PF9nSvmTVlpD1S36Sr63WOj1ukD/d+PR+b1NpAekmj5Gve8Dd5lc2ivK4G2lzV4K7Eo/8eSrQ3ZW424rw6J/ST1utTb2jtkuhLAplwgDS7BDj09txdgFqgsjCbwVOKMCYAPH+IAzABIDf8qPYz+OygMus0+8HFQDmYDpaypj1mp+m/qKbgMoKQO+zxwIyCzhNPhOIQQFrAas/uK3l5dlt/SEY9bbn0ZsrS1obynfXNJQXFTeUbPugua5utQZrM7PZHgU2EsIaHJAJUcWp1JYFklKgVx/fX0oqpPSBgw6BASOh/xAlxgC+u6WJqh0bqdi2nrb66gI0sjQXL2W8xHpb9XUykwPITjZ43KuTpcnBw2HA4TBwFBw81Dt66+42aoq2U7FjAw0Ve8R52KxpLB6v86KWjTvuetmswAGkTUN1W7aDBsHIieiHjkVDlhpuavbkU7ThE9wtjQLMbTosyFzGc5pGoD/RyQ13ANnJBk9YdSm9YVg6+tB0NC2ZtqZ6dn/1P+rKirwqaRqrknVuSM9mZ8J0FD2CetmJ1MipO74WkPXn0VOg72CvY1ZRuJU9uRvQPW4ZLes0jdszlvG3+CoRWroDyERZPtH1Dk1HH56B5vHQWFvJzrUf42lrUaMlPJ4BMxOxtnQAmWhgJLL+3gPQR5+E1qsPDdXl5G9YjUdipIreGpzGFUOfpb4zVXQA2ZnW7op1paSiH30qWlIqdVWlFGz6Al1ipmqkXH0wnD0ym8bOUt0BZGdZuivXk9IH/ajJaK4Uasr3UJizUQX/Fb2WOZ7LtfniosefHEDG38bdo4bUvuijJqG5XFQU5VOSv22/3hr8NTObWzqjIQ4gO8PK3aWO3v3RR57gHR13blpHQ121FZTTM7N5Od5NcQAZbwt3N/mDjvDu8jQ11rHj6/XoskevqKxXMuOPfZHyeDbJAWQ8rdsdZct2zYjj0VJS2bu7gLLiXdZRMiszmx/Hs1kOIONp3e4qO60/+rBx6O5WdmzeRHOTz8lO0pg2fhkr4tU0B5Dxsmx3lytTd99B1FZVUZC31dqanMzxTNDmsz9gGcumOoCMpTV7kixXEvrwCV4HZ1vuZlqamqytu2VCNn+NR3MdQMbDqj1Epj5wBFqfgVSU7qWkWB3CENKgEhibme39jCklBpCysf/H3aohrY1w64CYNqrLCJOziRJg1hN+qqtjJklJQx88xrudmJuzBY+cVveBcmlmNr/qmODQpRIHyPuKlVYtjXBL/1i3K7HyDh4Gp94IU2+Ee0+A+pgPJJ3WPn3QEWgpvSkpKaaiosJabxsuJk7IYksslXEAGUtrmrIW5sHAkerb7UO6NSBJ6wcDhnvXkFu354HlDK8GKzOzOS+WJnQAGUtrmrIW5atXCHoCIDXwDDwSlyuJvIICGhran7OIdRjIAaQDyIgW0PsNRkvtR2l5OaXlAcuPmIaBuh4gp1wP/QYrI338ODRUBRpM0+Cc36p0OVT6nwd9PIcdAydcqr7nroL8NXDi5TBmKoyepPgL16n0dS+3dzgGjoaTjY0If7n+Wow+GdK/p1Jr9sC+Ihg1SX0X3Xob6+K3F0FLg0r/egUUbWovSRy8SdNh5PEw4jho2Ae71sOuDbDhVaWvP1nbWLIZvvo3TLwQvjtDvdQlaf+eB2Uxeuu1V2/oP4yGhnryCn3etqmWS+PmjGUsiYhsGwxdD5C/WwsjJirV7xkX3KjyPvZSY+poqoXbBvqaetzF8HPjDMAbc2HIWDjlp8FNsfldePIaH+iTU2FxIRxkyHvgu5D3afCyM5dDprF8emuBN4jM6TPDm/zZG+HTf/l4xpwG1z/nXaMFpYIv4fHpUGVEJEwmaxu/eBFyP4Br/t5exMPnwZb3bUDADouGPmiU9+3FnLxC3BZvW0rHMgzUswEpI5O8Q9LaDAVroHgzDE2H0SdB6kGqJyryYdFJ0GicbLnsfjjLOGn1yT/ghRmBPSajmgBXLg+Qwwd3j4WzboXTDV4J95jkPZxghH2e+xl89ozKEVDdlKVu8RAq/lqNikm91Eg++GiVXlsGD52tRr1ggCz+BgaPAXk/20oxBSTo/YagJfdiV8lequuMEd9SnwYxCQP1bECKwerK4ZELQUYbk2RbbNZbMOQYlbJyMSy/Wz3LdDjvG/XcWAN3Hg6t7XYp4IxZ8CNjmSCj7NJp7cEQyamRH8m8zT7H54WZ8MkTPhlyO4ZM+xcvUGkb3oDHLw8OSDP1m3fgw0ehtlSBWUb2ysL2eh3It7T+iMddVV1LUVnQMFZMwkA9H5CPXQqb3gzsChlVBBSyHm2uh7ljFHiFbn4Pjj1DPT/1U5Bp0Uq/XQ1HnKxSnrgC1r8aHSAvnAfn3aXKfPYsPHN9cKiYywIJrC+a5Ft/WqfsSDIOBITWsnJjRr/DaG1pIbewJKjUWISBejYgZTqeOzZ0l9zyPhxzusp/7BLY9JZ6FifjhhfUc85/YckPfDKsI6iMRnNGq3t+rBRphJyzBuQgrNBD34etHwTXcfLVcN3TKu/d++H136lnKyDlx3TXkcGdv1iB0ZTT7zDv0/aiMppaWoNKP9AwUM8G5Fdvwt8MjzuY+ab/Bc40dr+yfw2rDEdRRgMBlXSArAFl9KwyzgVaR7f3HoDX5gRKjgTIh6rV2lZow+uBSwJTojhX489R32QUltHYH5A7P4P7T4s19ILLk2k7JY3SqhpK99WFqvOAwkA9G5Af/R1emhW6s865HS5ZpPJXLYXsW328Fy+EH9yhvi+/B1YafH/YCoceqdLnZUBpu6NZKj0cICVgLvnRkoSCFk8OBOSXy+DJq6OV1jH+5F6Q1p/G5mZ2lAQJxxlSDyQMFHtATpgGR56iVNvyHmz7KLDxstcrXqpQUx3cdoiPJ5ZhnzUvwNPXhjb+tLth2lyV/86f4I3f+3jF8Zmfq+6SLNsB96TDUVPgNx8qHmnXg2cFlx0OkDIyPrhPrV2FJNbqe8MvtK4S3go2Zcv6Vta5nUGicp9B3vuBcooraXMHfxHxQMJAsQfkRQvg3DuVeazeq9Vgo06EOz9XKXu3wvwMX651fbXgeCgxPF5reQlgLzSCvuHikOJpSiwxFF3zBEy5TuU+exN8aqzXTP5fvgkZxvrxz2fC5CvhtJ+p3KevgzXPRw9IKWHd6w41yoYDmH8csrMAKTql9vWGqoqr6qisaw6pZUfDQLEH5Hd+Atc+qRRdmw3/vCpQaStPzn9gybk+nl+8BhMvUN+XXgCb3wksf+1T8J1rVHo4QMoux7xxwcMfElwXUJt7zg+cDnmr29clux+/MDxoGW0zzlVBc9lNmTMy9Nov0hpy1goY/31Vl3/Ix6rB8ZfACT9UKRJe+vw59ZxIQMq0nZJGbUMzBRVhL7XoUBgo9oCUoPMdxu6GBKQXTIByy4VaKWnwm4/VVpnQf5fAy7/2dcP0B+FMY90XbMo9fCLM+UJNpZEAKflfZqndGH8SZ0acGiEJSC82wjhWPokH3pvnA62ZJ/G+rJsDZZop1nWmePni7VvpuIvg56+oFNlynJ8JzX5OgswCd63zbUH+5Xuw/ePEA1KWGvIOt9vNlr21eDyhz3p2JAwUe0CKyWavhHRjfVVXoUAni38x8ik/geHGFC33yMgIZu2wcWfDr972dZ/slnz+PNTuhaNPhUvuVd6vSeFGSPGQBbjrXoH3/gxl22BIOpz0I593LXIevQi+ttRpBc/5c+ECI2hupt8rMcGvQgPSGk6SsFHO+2rPXLxyk2a8DrLeFirdrtaHEryXy0ZlmTD5Kt9uzTcrVXDfpESOkKKD7G3rOruqmqhuCv9qjcvF+RlZhDBuoAnjA0iJ1ckoaR4wCNV1794HrxsBYivPze/CsWcGLyUgWz5XAVMoHCAFiEInXhZcloBkxQKQvehQJFP6wh2+Lb78L+C+KaH5JUeWE7Ks8KdZaeqqZaFDRsCMN3z79qEk7t4IMjo21XQdQLpSvP8QoKaxlcJ9odeRorCmsSVjHBPtvhQWH0CKJtKRVz3mO4BgNXhFgQrHyC8/GMmhUNlTPvWG9rnVJarcphX2DleIByrOxxVL1Mhsxv5EqkyVWbNh4/Lw4JLc2e/4TvbI3raM2pFo6k1wxkwYPNa3z2wFpJSXeOf5v1d751bdJE/WqfJDkeWBf+A90SOkTNtJvdA9bWwpa8ET4RWNaMJA8QOk2WF9DlEHGmS6FhDszVX7rXao76EwdJy6yF2OjJXLieUIFKqzpPMlHCWjdsFadWTMDglQFhVAnwFqi/HOEYHrPTtywvFIBx96FAzPVODbk6PW3XbCQQdad0fLiz11D7urW9nXHP4eqmjCQPEHZEcb3NFysR49JMxz5SNKm9VPgZzYcQjE4ZOzKy1u8qtt3Jmv8fCEZcyOZDoHkJEsNHcjDBuvuO6bCvlG/DRSuW9Dvly74tHZUumOOG3LUWo7L4U5gAwHHHGsxMESkvOKC40DEd8GsEXRxqI6D1VNka+P1ODtzGzOD7t66XGX3sdyypaguATHhbJvg1UPR9FN3x7WxjbYsc/ezSqRwkA9b4QclqE8aiEJeH/5UseQITs5F81X/+tQSPa6g73f0zHpPaqUhMa3VrppDRMkNxscKQzU8wDZo7q6+zSmtFGntN6GcwOECwM5gOw+fd6lNW31QG6lADLytTHhwkAOILt0N3cv5XZWe6gXZNqhEGEgB5B2jOfw2LLAvmad3bX2pu1QYSAHkLZM7TDZsYD4NDn2YpJeccHCQA4g7Vja4bFtgeJ6D5WNNqdtcXD8TgM5gLRtaofRjgWa3LC9yl5M0jtK+p0GcgBpx8oOT1QWyKt209Aa2ds2hbpczM7Iwrvr4AAyKlM7zHYsEKVz0+5uIAeQdizs8Ni2gIyL8icxSbeNnZv9go0wkANI26Z2GKOxwJ56D+VRODdmGMgBZDRWdnhtW6C6WWeX/Zjk/jDQ/wHkSLPJ/mcrgQAAAABJRU5ErkJggg=="},57177:function($t){"use strict";$t.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANQAAAA8CAYAAAAeyZT3AAAAAXNSR0IArs4c6QAAEpJJREFUeF7tXQeYFdUV/mcbS1F6UUEsoLC7IGKNJWpERbEgSoxGo7HEQFDRWCAGgdASNBbEhglqsC1rAxVBNGg0qNgLsJRddmFhe3vby3uT7393ZmfeezOv7M57W3LP9/EtM3Pn3DPn3n/uvf85c58CKdID0gOOeUBxTJNUJD0gPQAJKNkJpAcc9EALoNRpCaqt3rh4QIkDvH/jxV/zuZZjrVy8uRzvSzDdrx3HxWnnEnz1eevhOf/79HpNdrAs6wrQr9VvtiMc+/kc0HSan9Nrq8Uzt9hquuZjv8kPev26r8x16X5VPYDHDYT7Vy/L8vo94d7P8u5mcV+w+1U34GEZ7a+5Tg/vV31tbrmu36ff23JcB9VdBo9a5v2rekq14/1wN30GNXGzctPKKgf7eExVKUGBpJsSEkgWYPMHXEuH0sHlB5iW8jrAtE6sd9AW8GidVD9mR/fvxDrAzJ3Yp/ObAGL3srC1XweJnf0awHUQWgGJ52i3P+D9OyOP/QHSAjYT8Lwd3gRGH3Bp5dza34D7LUDsD04vmPzuN9cZGkSAF3xm4JttNoFWdasNlRVNta4SV21l6YHakvyPGurrNivA12kZ2B1TdLSisvAA1QrF8hbpAUsP8EWVkAwkdgMSugHxiUB8EpDcC+g1AOjeG+BciSBWPXA3NaA8Pxel+7LRXF+bCwXpShxeTX0V33ZED0tAdcRW+X+2iaN3j35Ar/7iX/e+XnCpbg9cZfkozctBrauci/9tioIlKSpeUTLg7iguk4DqKC0h7bD2QPJBQP/hUHsNhsIVv+qBq7QI+7O2w93USGDtUoEFaavxoqJ4x7Z2FQmodnW/rDxsD3Ba2PcwqL0PhaLEobmxAXnZmaiuKPOqUBRsSlBx06gM7AlbZxQKSkBFwalSZRQ9kJAEDD4GSD7Yyz6WFu5HQV4uVI+Ho1W1ouCe1NV4OooWBFUtAdVenpf1ts0DfQ6F2mcoOMurq6nCnp2Z8DAMwNEKWJEKTG+PtZUEVNuaVd7dnh5I6gF1wFFQEpJQW+1CTtYueBgeEPLuwGRcNWQVamJpogRULL0t63LeA/GJUAeNhBKXgOpqF3Kzs6Ey3iVGqs29gQnDMlDnfMXWGiWgYuVpWU/0PBCfBHXQ0VCUeLgqK7B3b67I4BDyZloKrlTmQ6AsyiIBFWUHS/Ux8kBCMtT+w70MYGlJMfILCloqVoDH0jIwMxaWSEDFwsuyjth4IKk71D7DGKzCnj05qK0zZnoKMDUtA69F2xAJqGh7WOqPrQeYvtSjL+rr65C1JxeqMfUrTkpAyrGvoCSaBklARdO7UnfsPaAAat/DocTFo7C4FMWlIvBLUYD0tAz8KppGSUBF07tSd/t4ILE71N5DoHrcyMrJQ0NjY4sd8QompazGumgZJgEVLc9Kve3rgZ79gW49UVVdg9wDhWZbMtNSMEaZDxEFdlgkoBx2qFTXQTygxHnz/gAPdu3NR2Njk9mwmWMy8Fg0LJWAioZXpU7DA/0OB479hTguyQZ2/Sdm3lF79IWS2B2llVXILylvqVcBuLAamZbh/euotA+geg0E/ponHqSpDrizj6MP1WGU8WM671eq7fhVweTFwIQ/Cpe8PRfY8NfYuue4y4BbNbb6y1eA534Tu/rjEqEeNAAejxs7cgvg4VfGmijA8rQM3Oa0Me0HqKUHxLM01gEzD3b6udpXX+9DgNNvBs64GVh0PFDj+Isw/Oe7fAlw3t2i/NoHgPVLwr/XiZLtCShGpHr29zJ++aWVKHX5pPU1Iw5jx6RjuxOP2QLUsPaUcLJG6uII1ZUBtTAb6McAI4B7BktAtdcIRf/zM/vkg9HY3IydeQxBGbMFBVifloELnezecoRy0pu6rsU5QJ/DJKDogXYeoWiCp2c/7mWF7MJy1Nb7kBNwmkaXgJKAioYHDJ0dAFBqt55Q4ruhyFWDooqArzkcpdE7HqBOuxE4aKBokE9WALUGO9PSStxc4Px7xWFzI/DhI0YDDjoGOP5ycbxjE5CzBRh/JTDiDGD4CaL83m/E+W9e8yUM+g0HTtIC6f56/bvd8JOAURp75SoAKvYDh58gStG27tq68L3FQGOtOP/TOmD/j76aOP09YSowbBww9DigtgLY9y2w7zvguzeEvf5ifsb8bcAPbwNjLwF+Pg3oPQTgubfnAcW7ASfXUAOOBH52PTB0nKiHn6UXZwFFu4DPVwEFFssRK0BRz7gpwn/0U+7XQM6XwFfpYrsxpyUhEUjqhdqGJmQXVgRoj1NwR+pqLHOi2o4HqD99DQwdK55t7mjRKfyF++4t1xIf66uAu/oZJcwNuGYOMHgkcKoNs7TtfWDltQZoOd9eshfoqel76OdA9mfWfp6+FkjTpt/vLhA79Jw1PXibrLoZ+OwFo8yIM4EbXwT6MF5iIblfASumAuUaI6oX8e+kOz4Crn3GV8HjFwLbP3AOUJfMBybO9m7eYCnuJmDjQ4L4MIu/rR8+Bty2zvCxuezuT4AVVwHVxU70bR8dao8+XsY1c38F3Ca2j4WcpNG7NqA4MiT1AJoagNwtwIFtwJBRwPATvVF0r5TmAItPBOoqxfEVDwLnapn+n/4DeHlaYONyVCHw4hPErqoPjATOvRM4Syvr3RVWE2/jaQvhF38HfP4vcYEd7ZZ0sWsu5cBPYlTiW58j6cCjxfmqYuDRCWLU0cXcSQ9sBQaOEPvcmcVJQF08F7joz4b2sr3iRcOX2eHjxT9dVl4HfPWqta0cnRmX4r58WZ8CRbsD24Mvj8UnOE7kqN16eT/t2FdWjcrawFHfKRq9awOKzVpdAjxxCcC3vS79jwBmvCs2+6CQStbfrJxOzdsqzte5gFmHAU31vp317BnAL7VpJke55ZN8r4ciJQjyedsM4uLl6cCnzxo6uDcdp42XLRDnvlsDrLjSupPqZ7duAD5+EqgqEmBkh2fHb+uUjy+eJXliI0rK6/f6TrF5ji+TK5aK65wCzh1lbyvb48nJQM4XRpkBRwHT3gIOGS3Obfw78OYsX5+29YgvnLgklNc0YH+FNgX31ekIjd71AfXU5cCP7wQ2B9/q7NScwjTUAHNGCPBR7tgIHHu2+D8DkQxImuXezcARJ4kzz14FfPuG7/VQgLpkHnDh/eIerj3+daN1d9GnlQwM862tr7/MI1QoHW0FFNdLE+8ToQ6uFTlFtpJFe4C+Q8WVmb2NdaO/rS/cCHyxyro95m4Ve9ozNsn24MvBKeHW10nd0dTsxo5C663TnaDRuzagOJ2bM9K+SWZ+ABxzlrj+1GTgx3fF/0kS3PSy+H/mv4FlFxg6zCMYG3z28MCFdChAzd4CDDte6Hz0PGDnR9Y2nvxr4IbnxbX3HwTe+pP4v7mT8mVw/5HW5A3LthVQ4XboO94Hjj1HlF403hr8ZfsEULQ9HwJUz1gHpJwnTj89RZAtTgpHW9WD3cU1qG+y/iK+rTR61wbUD+8AT2uMn1XDTH0YOEfLPsn4I7BJI3q43zZBcdAgsUZiJyjfJzSYRxcuwt+cHag5FKAerRRrO8p3bwVOKXWNJEdSzhdHHAU5GvoDas/nwINn2nc7JwHF2NrxUwCydP2PFEQMiRzulcdjfV1Ke2iXv61b14vpt52Y169v3Ad88LCTcBJ2KvEoqmpAUbUFeypqaxON3rUB9Z9ngFdn2DfK+fcAzHWjbFoOZNxplL1sIXDBfeJ47VxgvVbuLztFh6LMSwWKdgbqDwYodkpej1RIpS85ObCTfrUaWPnr6AKKDNlVy4DxUwURE0rsABWqPZhzOEXLNfz4KSD99lA1RXbd+1NCiahrdCOrzH4jpLbQ6M4Daswk4MhTxYNu32idXcxcN7JklPpq4K6+hmOcpM23vAw8f7290yc9AEyaI65v+BuwxsRkkbiYv0PM6fWF9lGnAXd/LMoza/qRc611BwMUR6ZHKgz6mbE2uymQWTsZNaspX6iE07aOUInJwO0bgKNPM9qL8bHCXUBVoRhdmxuAibOMaawdoL54EXjht/btYR791y0E3pkfGWBClSbjH0c21IPM4no0e6yTlttCozsPqEsXCOdSzOyZ+WFJs87SWJ7CncD8VOOqeX2xYByQrzFu5vsZgF2oxaeCxaHIdDGWZCfXPgucdoO4uuoW4DNtvaKX/8M7QKq2fvr7OcDJVwNn/k5cff4GYMtLkQOKd5hz/exGuWCdI5Lsg7YCimzj5EXCmrzvBYXP4LO/zPrcCGzbASrYS4j6rvuHCBxT7MiLUKAJdZ3Teag44GpCWZ39j3a0lkZ3HlCnXAdcv1I81tcZwD+vCXxEc5nMD4FlE40yv38TGHuxOF5+MbBtQ+D91z8HnKKxTcEAxSyDeaMFfewvDA4TlHrO3UNnAdmbfUsx++D3GoPH0S51oghIskPNHma/9gm1hjIvvv0pc7MF4yaLNQuF9Dzf8JRYAop0NmcdlGeuBL5fE+hL/qbT0gJjOmgHKLbHn48CXD5f0Ap9bA/67eDB4njp6SKbxWnRfjmzqr4ZuZVBszJaRaM7DygGTe/TsgsYUF0wBigx/SACpxB3fyJSbSj/Xga8pn2vw+OpjwDnaOseqynbYWOB2V+KqRglGKB4neksVlQvyQiSEhQGVJdoNLi5ARkPWpRtgE6/xnhP+h32TW1eZ5FlJNtoluMuBW59XZxhytL8NKCh2rcMR+H7vzFSmB7+BcBMAkosAWWegvPlyJekv5hBx2t2gOK1/64EXro1UMeEu4ApfxPnmYa0VJti2nu59Vfi4r27y24vaYYnyLdqraHRnQcUH/P29cAobX1RXSpAw8U7O8mp1wGHalM8bu7OEcTc4UZPAG57z3AWsxW+eEnM148+XUw/yL7pEgxQZOgIvG9eF8HC4l3A4FHAib802D3qefJS4CdTneamumgOcLFfOs0ixoR+sG9QMx1P2j3zA5EzSFZQF3MnZMYA10cMPvOzbU4zT77GyJbwZ8daCyjq58sjHPlhrfDJb1aKNqMU7gBemgZk/VdkeHCtfPliY82s6w0GKJYhkULSgdN5Zq4wTKGzrbzOGQtnLtES9gmPB/uqPKhsCL6hbFwcLkpNh03nCDQwOoBirIajlJ4gaueY95cCb2kBTnMZc0zD/16CZO0cY14fDFAEEmX8FdYWsJOvWwAwF89OOCVcmGWkCIXz9uR0lNNSf5mRLH6rlsIg6LQ1Rt6iXf1ct3B0qncZJVoLqEg6qM5sWrUlM0hIruiM386PBdj09aUdoLZtFOSGTq8HtK1bZKywX0RVvL/cBlejir2u4D9+qCjYnjoaY8Pd1CU6gKIz2BGvecpIIDU7qDRX0Nl881oJf7WOMYnTb/K9Wpkv7vtxXXjJsWTASB6Q8uVbVo/9UCunWqRlv18buunIcumZ5czt46gZSs64BTh7OjBwpJFnZwYU7+cCmTlyzB0028ZrXKcR6Jxe+mdgxxJQtOWIU4CrHzdYPP3Z2Y7fvi5GV+b7MXmWYgcopi0xiM2g+aARvh7kfhP0LUf0GAk5vu2l7qDTPpoSCY0ePUDpTunRVwzrnO6xE/NNFm5KCXcBHTJaLFT5yQWdHkrsOhs7L6co+ucCTKMJR9jRF+cCjMUwK2HW0MD1Tjh6gpVh+hPz2Q5NE+ApyBTrznDo9LbWHe79tHFIigACaXJOH/VUrXB1mMuxTbne1j+nqSltjZY235NX5UFFiGlfJDR69AHV5keOUEEkb+9wVHMac/UTouTm5wBmjEvpMh6oblKRUxnGb14reHzMaoSMNEtAheoac74HDkkRpZae4ZslHepeeb3De4DL6O1load9/JQ1nE1dJKCCNTmTPUmQUPi90kItobXDdxNpYCQe2F/tQXl96J+PUoD30jJwUdDZe7vsehTJ00Za1skpH4O6DO5SMu4CNj0eqTWyfCfwQF0zkFUR3qf3oWj0rjdCHZJqxE0YczF/PRpJ4zJyf+l8b3ayV5jrZ7W/RSQ6ZdkO6QGyfTvL3Giyye0zGx2KRu96gOqQTSaN6ugeKKpTUVQTBjkRgkaXgOroLS3ti4kH+L3hjjICKvS22cFodAmomDSXrKQzeGBPpQc1Nl/yBthvQ6NLQHWGlpY2xsQDFQ0q8qrCm/bZ0egSUDFpKllJZ/AAOYnM8GJS3sexotEloDpDS0sbY+aBAzUelNWFjknpBvnT6BJQMWsqWVFn8EC9G9hdHl5MyjtK+WWjS0B1hlaWNsbUA9mVbtQ2hWb7TKPU7anp8Eb9JaBi2lSyss7ggQjJCZ+90SWgOkMLSxtj5gGOS/zHmJQ7jMyJFsM0Gl0CKmZNJSvqTB4oqPGgJAJyQqfRJaA6UytLW2PmgcoGFfvCj0m10Oj/A9jGm+feuyEMAAAAAElFTkSuQmCC"},81378:function($t){"use strict";$t.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALAAAAA8CAYAAADGxTD9AAAAAXNSR0IArs4c6QAAFoFJREFUeF7tXQl4k1W6fv8sTbqvlJa2tJSy74ugsiMqq4AKIlDUueNwR2dGHR0XdLwixW3uuF6Xq3O9o15nxuUiIIsCsijK1pa20NJ937eke5tmmec7f/40TfInaUNK6+R7nj5Jk7Of93z/t55w8JBnBYbwCnBDeOyeoXtWAB4Ae0AwpFeA+1SWbbA1A07KQSID6JWT0ivAyThIpBwgBSQy4+fCq0T4jANnrEdlWFkpjK/0ndAetd/znpMaTO0LZcz74tsxti0xjqVXfeNYZcZyxvHSuK3GbDYX03iMbbLy5nOz+pzGbGDrwpfj52DQG2DQAwad8Gcwvudf9ToDQN/pDdBrDYBFWfqMry/UAytP9fjPjJ/rYVHf2L7Qph4GaA0tOj1UnBYqvd6gMugMKr0OKoOOq+UMhhQ5DGfHPRNWMaSRaxy8bQBzPGAZAI3AFMAoAIJtnBnA2WaagdlU39iOAKKeje85FKY2TYDkwWh+APi2ebD0AJ8HMn/AzAHFA4x9Jxwss7bN5yXUpbnwB4SvY3Nu9LmwLr36NIKWAEhA1BlMgOUBCAZYBtJe761Byx+A3vV54Av1efDrtUawm4G+N+D5MfUcHH5s7H890KnqNjRWNGkaqlXqhgp1VV1JwxkOSJUAqUB0xk4s0Q4FgIty4KEweM8Yba+ARCmBzBuQeksgVXKQKugVkAdIoRwhhU+EHJycg0GrNz01Whs6UJhegtLsCmi7tI0GYC8H7osYTPhuO2Z3D9a19gB4sO6Mm8flFSKBd4QcyuFS+MbKIfOWMM6v69KjIq8WhVlFaKpvAQeuFsCr/gh45wmsbXHzsPrcvAfAfV6yn18FjgN8YmUInKiAd4TMJObUlNQj42wWutq7SNtXA9zrIVC88nts7Bgsq+AB8GDZiUEyDrm/BAFj5PBLUAASniNnpeSgvLCSjZADl8dBev8ubD41GIbsAfBg2IVBOAaSnUNnK6GM5DlyQ5UKmSlZ6GjvJBiT5epdGRSP7MRGzbUcvgfA13L1h0DfPtFyBE9VMKuMVqNH2rl0NNapBG78vQ98b9+B2xuu1VQ8AL5WKz+E+pV6cQiaqoAyXAp9tx5pyZfQUNdoBDEKAG5VEhJzrsWUPAC+Fqs+RPsMnOgF3xg5dBod0i9eRmM9D2IAFYB03m5sKRnoqXkAPNArPsT7CxingE+UFDqdHpfSMtHYYJIecn2hnL8DG+sGcooeAA/kav9M+gpIkEMZJYdBq0PqxXS0NDcLMvEFKRTzB1Kx8wD4ZwKqgZ6G/2g5vCPlaGttR+rFZMaRiSSQvLILW58YqPF4ADxQK/1z64cDs05IlByqqiqRX5gvKHV6gLspCYknB2LKHgAPxCr/TPuQ+XAImOQFzsDh0pVLUDcJ5jWUSaGcuBMbW9099WsOYDKYU8Qbi5zqshnZ6e41uGrtSxScU3NQhErR1UBhae4hstkaBiiWzDtSykSJri4NLmYmQ6s1dfz6bmx7xD0z7Gn1mgN4bX48CyapP9eBI/NLXZ5v3JYAzHlnOGvnyMJSqNO7TG36xMjYe41KB22r+GGR+nC48aNIVrb4780o2+OYkYTOVWLRnijk/JcKee+qoVHzMqE5zXlvOGLW+0MRIsXBGUVouuweJ9bys7HwjpJBldaJk2vcH/brP9aLRb1V11aisLzAKEpwWimks3Zic4bLm2qngUED4K5GHWpOttuda+U3bSj83ya7ZeLvCcD1f+HBd3hOMVQXeQDL/DhsVI1l71MerUXOm/zjzhYRV1lfmsC+Sn28FtmviZcV6t/wUSRGbQ5g/575RRWKPuE1c3Ma8+sgXPcmf7gynqvH5d3OO7DkARIowigzwDEtPxcLryApmrK7cGqtYwB31evQ3Wx94Bz3xJcgOThwrBd0Wj1Ssi6gW8sfTA44swuJ8zje9ewWGjQAdmZ2OW+rkPIwRfeJ09UAsH+CHGuuxLNOzj9Yjfz37R8axTAp1hWPBnmsOuu02BtXCL3Ges8IhOvLRkPmI0FjSie+ud55u//YB4Iw+w0e/Febkh+qQe47apea9Y2VQeYrQXlNGcpqeubFQfKrJGz9wKXG7VQeNADuqNKi6FNrrmU+9rqfOlDxtf3HudMAfkuFmPV+iN0QgMyXG6BK6xE1gqYpsDI5jnX9071VKHYwrklPhWDa88NY+csvNiDj2XrRJZ/7fgRG3xfIvv8qrgAdFc4Jq4MdwHQoCcQkA6fmXIBOz8v4HNAog2zcc9gsviguoNutAKZHsdRHYnd4y76LgU+UHKr0TvxwFx+y54iIu7WX9Ww8SwGS8/mp8YkBmPNuBHv/7fwSHph6A0jBshQhVqbGIWiKAgUfqnFue42p22HzvHHzyZHs/+83VKB8r/ihoRQjkuMp6IVShvYlFGLyjlCEzVXanIZXiJS5Y4laizSij+78/2lisrRA8kAJCz53RKO2BLL+ic5tr0btaftiGZXrrNGhu6n/IoQwJt+RMrbOJTVFqG4030vJX3dj632Oxt6f790K4CWHohF5s29/xmW3DoH98Oyex9TY3wRh9mvij1f15S4cWVBiBWCBW2vb9fhqZIFpEyNv9sGSQzFsDCdWlqHqqDgIiIsv+DyKlS39/xac3lSJpd9EI+Im1+Z9+YUGZPyHbaYVMlOB0DneNtdo5J3+GL7Ih31HcraYtYPmXPSx/SdeXzeORAifETJ0dnYivTgFBoMgRpEMLF24G5tP97VNR+WHJIBL97TgtBm37i+AJV4c1hbEsywEc8XOHJRHl5Si7rTtBASZLwfi4n7xXmydT60rR8XBNkx/IQwhM3s4cMgsJVOqCDT1Z5xLZij6W7MowMxFFkcbLPZ9R7UWX8XwFoOrSd4jOUilMuRWZkHdZq78cpdliJ5xtZNFBwTAxAW+u7nMap1uOhbDTEo1p9qR8oh95Ywe9YJp68fESpT8oyc9K+x6JUas8GPtB09TIGoV/55Eg45qHTprtSj8qMmmFWLKs6GY8scwNOdqcGBSEas3KjEAN3xotGRcV9xLPjafBJnFEv4tyPTRsZtKUfu9NUBJTApf6NOrD1dAYw7gikOt0Hc7r+SHTFcys6W7AOwVLIFXoBQ16iqU1BdaTvOJ3dj2iitzt6w7IADuqNHiq2jr0357xWgow2UoP9CK8/9eDZ8YOXxjZPAZaXyNkcN7uBRHF5dh7gcRGH1vIHQaA/ZE5ovKjk4rcUYzmt9oOW7L5i0Ox28tQ/Xxdkz+YyimPhvGPvsyPA8albV8GLXaF4u+iu61nqIAPhGD8Pk+aM7R4MBk/pC4QuYA3juqAJo+yK/XvRUOkpPdBWB6qpHuo9F0I73sgsU0uTYZFOShc93gb2x5wAD89YQiDLteyUBKDgVSZGI3+bOUb0e0L6EAEx8PRfQaP6gyOnFytbhts68Apr5vOT0SYXO9Uba3BT9sqMSNn0QiblMAOuu12BNpffDIbLYqLY4dPnMSA/CKlFgET1UyRdVcdnc0b7HvB7MIQWP2jiJlk8OVqgy0a6wU4H27sW1df+d+zTjwiRXlTF60R6TFd1Rq0VbSjbYyLdpLu9FW2s2UoxG3+qK1RIumzC67GnN/AEwmqmlJw5D3ngppO+pBjgCSYet+bGfc35IW7olih4mIQK4M44EsBuC1hfHswDYkd+LECuv2zNunC0wcORXMAaxR060nzsNB6ith9mp3cWAaiVewFBQnUaEqRVVzudXgOEjWJGHrAedHLV5ywDjw/rGFWF86Gu2lWrSV8cCM3xbIjPoElB+3VjHw0gbaIsHlXPyPZvyUWCU6I0sAtxV3Y/QvApH332pRTxx56TgJZwLOBtUYyP0kKPhrE87dX92rL6k3hzvrEtiTgwBZ+HGTybsmBuCN6jHMyO8M0eElU5w9MgfwF2F5fTKBCXZodwKY3MoE4rauVmTX2vQkF4dCOfFqpOcPGIBtycArLsQieLoS3a16ZL/WaFOWkyo4hN3gjejVPMdLe7oOWa+YUlms9tkcwAR2Uuh0HXrsH1folCuZYgjWF4/m+9pRh6w/Wfe1+EAUgiYp8M0NJezJILiubQGYAmvu7hjnDHZZmeY8DQ5MtC8nmwOY5Gq6b81Z8o6UMYuIOwFM3gvv4TLGjDJqkqHVWcd8SICXdmHbU86OW6zcNQWwI/OX5aAJ6IdnFqO1yPZNR8RJJz8dhomPhfSqShz/4NQipwAcscwHSw/zNuDv76hA+X5rJwYFDJFtmQKFzA+MLQCbx1VUHmlD9bE2m3sx/qFg5tBRZ3bh0PRipzlwfwHgVgADkAdL2F1zZc1FqG/v/RQzjrmbg9e0JGy60t85UD23AniZUfsmj9P+sdZchTRWAgxxMb943jtli7Tt5HnrRsnnLWg4T/cS9KaEXwZi5EZ/pulLjB45KkHyYe7bauS8pWIXdDgTzDPrtXCM+00w62BPTD46q+2HPToCcNQqXyzay1srLM1/5rNYkRyL4GlKNKZ24pu59mMkzDnwoZnF0DQ5H5o546VhzH3ubgBLlRLI/Tk0dzQjX51pc185cCeTkLhk0AL4ttxR8BvlxdyZx5bwygu5Q8l1KRDJpxTk0pKnYU4Aoti7/EEu1/Zyba/YB3Kn2nJ5Lvh8BAtTtKRvbyxBwwUe8M5Go60rjudd2xmdODzLcbCNIwBPfT4Mk5/iXbv2QihXpsUxsaTuTAeOLrRvZTIHcOmXLcy06CyRJYgcL+4GMF1XJQ+RsvvWLjcmQ0fXadogCbh7diHxY2fHb1nOrRz4rtYxTNkp+byZhQ7OejUc4Yt9cHBKEVryeDFAUM7MvWurMuIQOEGB6hNtOH4Lr8WS6eq23HhUHm5F+tP1vcSIcb8NwqQdoaDNNHQD437Lc1BnwinZ3b7G8xS+0BvLvuNjILLfaETqY44TbB0BeOmRaEQs8WXOhs8CckUDzVdfHoWAcV6oOtYGstjYo8FuRhPGToyJ4lRKW4rQ2NUTa2I+N7o8UAq/cTuxvl/hcG4DMGUd3FHNx9ReebWRKV7ktiVtPPcdFZIf4j1vzgJ4WlIYJj0RCl0nKWRFzGIhELl0dZ383bt9MaORy3j6i8NwfHk5yFohgI3abS3U4OCMYuja7XM3ewCmw3Fn3RjQfWP15ztwZJ44Z70tLx5+cXKTLdpZAP90TxW0rc4H4ox9MAgRS33dzoFp/BTYQ0p4i6YZha1Z9qb03m5s+3V/uLDbAEw3uaxM4e2+KY/VIucNFWb+aRjGPxzCrA57YwuY2coZAFMg9205o9j9tln/2Yi0p8Q5oxiAzZUpciuTB45kZqLkR2qgvtSFZcd47isQZVc4cnHbA/DIDf6Y/7cRrDlH1hMyMZKFoOj/mnDmvt5KD3FmWk+BYtb5IXYjHzx/9pdVIB3BWRqzPYgF+5B+cP6BHq6ozuhinsKrSSRGyPwl7B7izJZU6ETynDhAL4X0hp3Ycr6v/bsNwObKy+m7K9njnUxUxIVJO039Qy2yX1c5BeDrP4xAfGIgU1b2jym06doVJi4GYOK0ltYJqlN9vA2Xkhow+9VwZtKjCKqa4+0smozeH1taJhrMQ/XtAfjmUyMx7EY+auzriYUmscnWJt1Zn8BiCLLfVCH10d5xIRMeDcaMl8L7urd9Kn/xyVpc+bPjzJM+NUpc2FsCCQeUdRRA1S3OeDjg4lQor9uIjc5rpO60Qlz39nCM+RUf6GKuTC3aH4WoFX4sFpZEgbV5fE6cmAx8OanBJJemP1uHzBfFbcCWgBJkYP8xcqzJ4uMdiAiYFBif+VIjU/JINhfk5rz31YzDr8kZxTxsZJc9NKNYNFlTDMAhsxRYfpZ/AjnjQt7UOZYd7LRn6pD1cu85DmUAc3L6SQgJ2rXNKOiwK0ZQbu9Du7Dtzb4cErdwYDLe316eAJKDyQa7L77HsxS9zg8Lv4hC7Q/tOL25EreejrULYJKdKZWGLBDkzeuLTGquxJFiSMmHJZ+1IOvlBjRl8Y9LYTz0XrAXU8KneQaEvYMjBmDzWGjhCSS2MaSg3lHJ6wskEhR+ZB2nS8qQJUUs8wVF01Ecx8Wn6pD9qu3DPeU53hJCQVXkkcx/X42uut6MTswD2hcwiZUlzxz9NkduZxq6DeJiCgeu2RsY/zTsuFotOnELgEes9MXifbzt0zLFhsBNFgaSOYmckYFJGfIf44XmbMcy2vTdYSzwh+jgtCITUClIvTmvmylrAo1Y7osFX45glhLiyidXlZuC16nPVem8ZYBk9q8nFNq0CdsCsLmVwBnuO/EPIZj+Ap+SRFkkDeesbd3CmAkMI1b4ghwfw+bxMjwRJcSeWF1u/aTggDlvDwc5X8htT0Q28eK/tzD7OMm+7ibBNl+tKUO9zn7WDQd8loRtm5wdk1sALERz0SBI9qOYh/GP8KYtSxKi0djPTxnjWsnBwXEcA5Wt5Ehq48y91UyuJgpf5I15n4xgSiEBjoiSK/dEFYgGukTe4ouFe3rAe+GBGuT/pXfyprkcbysugvqxBDB9tvRIDBMHaPxkEqv+js/oGLbAGzNfCYeuXQ9dFz9fUlDDjNkVFAdB4ZZkUbEkGi/FKUet9mNxGgK1FGhw8ck6u2lPVJZMWgRicvpQZJwJ+KfaWYZ2OeUaOq8LOosvVo7iTCgxuVuvQW53msO6UnC3PI/Eow4LuksGnvnncIz/XTDqz3bgyIJSZqqypUA5M0CxMj9urWTiABFpuhvqE/iFMpKjDGaSUZedGMnuM7jwYA3yP7CdeXzT0RgMX+xjU7myBWAy7y0+EA3/0V649Hw9Lu3qSZ2nQKA7ahLYD6pYEkXiHVtSivqztrmv5RqSKzv/AzX70/fxN4ToYFL0XdBk3rJBThvy/rnzMhT62TNyahTpMtFhsO1OF9aEfsYgHKFTfoeVDh8PbuHANJCJj4ewC0QIGOQgEMvh6i+IKw609hIpxv8+mAWp0O0+ZftanLo0hOKRyUYrBl4aG5mvKOWo6ojtRY+72x+z3+Lz8egOhrofOxhXpUd8+h+tc9oS7g9EAF0EYvwJLNJc6n/qQOW3bb0SVS3XhTyYK5LjUL6vlUXJNSaLixlOrSnHZ55MeSaU5fE1pjrEilPNOiqkMtSiSmc/1oNxbXDPJSFxp6P23AZgRx17vu/HCtAD5mo/5t3Rpp2p6aFHji4VBgdaIwd0SsFN2YlE/tZAEfIAuB848lRxbQUq9Plo0ts3hxp7+HY3ti33ANi19fbUvsor0GFoRZHOvk1Y6FIC7q5dSPzcw4Gv8iZ4mnNtBQp0l9BlcHzFAAeu0h8B48V+JdQjQri2D57a/VyBBkMNanSOw1WNCt0bSUh82FZXHgD3cwM81VxbAT10yNWlQm+6vceupKuTQTJ7J7ZYGZE9AHZtHzy1XViBSn0B1Hpnr5jlziZh642WV7V6AOzCBniqurYCnWhDodZ2upGtliXA9l3Y9r75dx4Au7YHntourkChLhOdDjxzPV1wKl8oxpn/Fp0HwC5ugKe6ayvQbGhAuc75SwY5cB8lIfFeoVcPgF1bf09tl1fAgDxdut0wS+supIt2Y8v3zELxqSz7ajsnXZ6Sp4F/rRVoMFShRmf/yq3eK8JljcSE6dsxu9sD4H8trAzK2eqgQ54uDXohPdyJUXLgnkxC4sseADuxWJ4i7l+Ban0JGvW2U+9t9c4B7QZIJ3oA7P698fTgxAo0GepRobN/qaFlMxy4/f8E90wA8RE2tUgAAAAASUVORK5CYII="},81168:function($t,Qe,ae){"use strict";ae.d(Qe,{ZP:function(){return Gn}});const ee=Number.isFinite||function(D){return typeof D=="number"&&isFinite(D)},te=Number.isSafeInteger||function(D){return typeof D=="number"&&Math.abs(D)<=X},X=Number.MAX_SAFE_INTEGER||9007199254740991;let S=function(D){return D.NETWORK_ERROR="networkError",D.MEDIA_ERROR="mediaError",D.KEY_SYSTEM_ERROR="keySystemError",D.MUX_ERROR="muxError",D.OTHER_ERROR="otherError",D}({}),K=function(D){return D.KEY_SYSTEM_NO_KEYS="keySystemNoKeys",D.KEY_SYSTEM_NO_ACCESS="keySystemNoAccess",D.KEY_SYSTEM_NO_SESSION="keySystemNoSession",D.KEY_SYSTEM_NO_CONFIGURED_LICENSE="keySystemNoConfiguredLicense",D.KEY_SYSTEM_LICENSE_REQUEST_FAILED="keySystemLicenseRequestFailed",D.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED="keySystemServerCertificateRequestFailed",D.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED="keySystemServerCertificateUpdateFailed",D.KEY_SYSTEM_SESSION_UPDATE_FAILED="keySystemSessionUpdateFailed",D.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED="keySystemStatusOutputRestricted",D.KEY_SYSTEM_STATUS_INTERNAL_ERROR="keySystemStatusInternalError",D.KEY_SYSTEM_DESTROY_MEDIA_KEYS_ERROR="keySystemDestroyMediaKeysError",D.KEY_SYSTEM_DESTROY_CLOSE_SESSION_ERROR="keySystemDestroyCloseSessionError",D.KEY_SYSTEM_DESTROY_REMOVE_SESSION_ERROR="keySystemDestroyRemoveSessionError",D.MANIFEST_LOAD_ERROR="manifestLoadError",D.MANIFEST_LOAD_TIMEOUT="manifestLoadTimeOut",D.MANIFEST_PARSING_ERROR="manifestParsingError",D.MANIFEST_INCOMPATIBLE_CODECS_ERROR="manifestIncompatibleCodecsError",D.LEVEL_EMPTY_ERROR="levelEmptyError",D.LEVEL_LOAD_ERROR="levelLoadError",D.LEVEL_LOAD_TIMEOUT="levelLoadTimeOut",D.LEVEL_PARSING_ERROR="levelParsingError",D.LEVEL_SWITCH_ERROR="levelSwitchError",D.AUDIO_TRACK_LOAD_ERROR="audioTrackLoadError",D.AUDIO_TRACK_LOAD_TIMEOUT="audioTrackLoadTimeOut",D.SUBTITLE_LOAD_ERROR="subtitleTrackLoadError",D.SUBTITLE_TRACK_LOAD_TIMEOUT="subtitleTrackLoadTimeOut",D.FRAG_LOAD_ERROR="fragLoadError",D.FRAG_LOAD_TIMEOUT="fragLoadTimeOut",D.FRAG_DECRYPT_ERROR="fragDecryptError",D.FRAG_PARSING_ERROR="fragParsingError",D.FRAG_GAP="fragGap",D.REMUX_ALLOC_ERROR="remuxAllocError",D.KEY_LOAD_ERROR="keyLoadError",D.KEY_LOAD_TIMEOUT="keyLoadTimeOut",D.BUFFER_ADD_CODEC_ERROR="bufferAddCodecError",D.BUFFER_INCOMPATIBLE_CODECS_ERROR="bufferIncompatibleCodecsError",D.BUFFER_APPEND_ERROR="bufferAppendError",D.BUFFER_APPENDING_ERROR="bufferAppendingError",D.BUFFER_STALLED_ERROR="bufferStalledError",D.BUFFER_FULL_ERROR="bufferFullError",D.BUFFER_SEEK_OVER_HOLE="bufferSeekOverHole",D.BUFFER_NUDGE_ON_STALL="bufferNudgeOnStall",D.ASSET_LIST_LOAD_ERROR="assetListLoadError",D.ASSET_LIST_LOAD_TIMEOUT="assetListLoadTimeout",D.ASSET_LIST_PARSING_ERROR="assetListParsingError",D.INTERSTITIAL_ASSET_ITEM_ERROR="interstitialAssetItemError",D.INTERNAL_EXCEPTION="internalException",D.INTERNAL_ABORTED="aborted",D.ATTACH_MEDIA_ERROR="attachMediaError",D.UNKNOWN="unknown",D}({}),y=function(D){return D.MEDIA_ATTACHING="hlsMediaAttaching",D.MEDIA_ATTACHED="hlsMediaAttached",D.MEDIA_DETACHING="hlsMediaDetaching",D.MEDIA_DETACHED="hlsMediaDetached",D.MEDIA_ENDED="hlsMediaEnded",D.STALL_RESOLVED="hlsStallResolved",D.BUFFER_RESET="hlsBufferReset",D.BUFFER_CODECS="hlsBufferCodecs",D.BUFFER_CREATED="hlsBufferCreated",D.BUFFER_APPENDING="hlsBufferAppending",D.BUFFER_APPENDED="hlsBufferAppended",D.BUFFER_EOS="hlsBufferEos",D.BUFFERED_TO_END="hlsBufferedToEnd",D.BUFFER_FLUSHING="hlsBufferFlushing",D.BUFFER_FLUSHED="hlsBufferFlushed",D.MANIFEST_LOADING="hlsManifestLoading",D.MANIFEST_LOADED="hlsManifestLoaded",D.MANIFEST_PARSED="hlsManifestParsed",D.LEVEL_SWITCHING="hlsLevelSwitching",D.LEVEL_SWITCHED="hlsLevelSwitched",D.LEVEL_LOADING="hlsLevelLoading",D.LEVEL_LOADED="hlsLevelLoaded",D.LEVEL_UPDATED="hlsLevelUpdated",D.LEVEL_PTS_UPDATED="hlsLevelPtsUpdated",D.LEVELS_UPDATED="hlsLevelsUpdated",D.AUDIO_TRACKS_UPDATED="hlsAudioTracksUpdated",D.AUDIO_TRACK_SWITCHING="hlsAudioTrackSwitching",D.AUDIO_TRACK_SWITCHED="hlsAudioTrackSwitched",D.AUDIO_TRACK_LOADING="hlsAudioTrackLoading",D.AUDIO_TRACK_LOADED="hlsAudioTrackLoaded",D.AUDIO_TRACK_UPDATED="hlsAudioTrackUpdated",D.SUBTITLE_TRACKS_UPDATED="hlsSubtitleTracksUpdated",D.SUBTITLE_TRACKS_CLEARED="hlsSubtitleTracksCleared",D.SUBTITLE_TRACK_SWITCH="hlsSubtitleTrackSwitch",D.SUBTITLE_TRACK_LOADING="hlsSubtitleTrackLoading",D.SUBTITLE_TRACK_LOADED="hlsSubtitleTrackLoaded",D.SUBTITLE_TRACK_UPDATED="hlsSubtitleTrackUpdated",D.SUBTITLE_FRAG_PROCESSED="hlsSubtitleFragProcessed",D.CUES_PARSED="hlsCuesParsed",D.NON_NATIVE_TEXT_TRACKS_FOUND="hlsNonNativeTextTracksFound",D.INIT_PTS_FOUND="hlsInitPtsFound",D.FRAG_LOADING="hlsFragLoading",D.FRAG_LOAD_EMERGENCY_ABORTED="hlsFragLoadEmergencyAborted",D.FRAG_LOADED="hlsFragLoaded",D.FRAG_DECRYPTED="hlsFragDecrypted",D.FRAG_PARSING_INIT_SEGMENT="hlsFragParsingInitSegment",D.FRAG_PARSING_USERDATA="hlsFragParsingUserdata",D.FRAG_PARSING_METADATA="hlsFragParsingMetadata",D.FRAG_PARSED="hlsFragParsed",D.FRAG_BUFFERED="hlsFragBuffered",D.FRAG_CHANGED="hlsFragChanged",D.FPS_DROP="hlsFpsDrop",D.FPS_DROP_LEVEL_CAPPING="hlsFpsDropLevelCapping",D.MAX_AUTO_LEVEL_UPDATED="hlsMaxAutoLevelUpdated",D.ERROR="hlsError",D.DESTROYING="hlsDestroying",D.KEY_LOADING="hlsKeyLoading",D.KEY_LOADED="hlsKeyLoaded",D.LIVE_BACK_BUFFER_REACHED="hlsLiveBackBufferReached",D.BACK_BUFFER_REACHED="hlsBackBufferReached",D.STEERING_MANIFEST_LOADED="hlsSteeringManifestLoaded",D.ASSET_LIST_LOADING="hlsAssetListLoading",D.ASSET_LIST_LOADED="hlsAssetListLoaded",D.INTERSTITIALS_UPDATED="hlsInterstitialsUpdated",D.INTERSTITIALS_BUFFERED_TO_BOUNDARY="hlsInterstitialsBufferedToBoundary",D.INTERSTITIAL_ASSET_PLAYER_CREATED="hlsInterstitialAssetPlayerCreated",D.INTERSTITIAL_STARTED="hlsInterstitialStarted",D.INTERSTITIAL_ASSET_STARTED="hlsInterstitialAssetStarted",D.INTERSTITIAL_ASSET_ENDED="hlsInterstitialAssetEnded",D.INTERSTITIAL_ASSET_ERROR="hlsInterstitialAssetError",D.INTERSTITIAL_ENDED="hlsInterstitialEnded",D.INTERSTITIALS_PRIMARY_RESUMED="hlsInterstitialsPrimaryResumed",D.PLAYOUT_LIMIT_REACHED="hlsPlayoutLimitReached",D.EVENT_CUE_ENTER="hlsEventCueEnter",D}({});var L={MANIFEST:"manifest",LEVEL:"level",AUDIO_TRACK:"audioTrack",SUBTITLE_TRACK:"subtitleTrack"},A={MAIN:"main",AUDIO:"audio",SUBTITLE:"subtitle"};class s{constructor(e,t=0,i=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(.5)/e):0,this.estimate_=t,this.totalWeight_=i}sample(e,t){const i=Math.pow(this.alpha_,e);this.estimate_=t*(1-i)+i*this.estimate_,this.totalWeight_+=e}getTotalWeight(){return this.totalWeight_}getEstimate(){if(this.alpha_){const e=1-Math.pow(this.alpha_,this.totalWeight_);if(e)return this.estimate_/e}return this.estimate_}}class x{constructor(e,t,i,u=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_=i,this.minWeight_=.001,this.minDelayMs_=50,this.slow_=new s(e),this.fast_=new s(t),this.defaultTTFB_=u,this.ttfb_=new s(e)}update(e,t){const{slow_:i,fast_:u,ttfb_:v}=this;i.halfLife!==e&&(this.slow_=new s(e,i.getEstimate(),i.getTotalWeight())),u.halfLife!==t&&(this.fast_=new s(t,u.getEstimate(),u.getTotalWeight())),v.halfLife!==e&&(this.ttfb_=new s(e,v.getEstimate(),v.getTotalWeight()))}sample(e,t){e=Math.max(e,this.minDelayMs_);const i=8*t,u=e/1e3,v=i/u;this.fast_.sample(u,v),this.slow_.sample(u,v)}sampleTTFB(e){const t=e/1e3,i=Math.sqrt(2)*Math.exp(-Math.pow(t,2)/2);this.ttfb_.sample(i,Math.max(e,5))}canEstimate(){return this.fast_.getTotalWeight()>=this.minWeight_}getEstimate(){return this.canEstimate()?Math.min(this.fast_.getEstimate(),this.slow_.getEstimate()):this.defaultEstimate_}getEstimateTTFB(){return this.ttfb_.getTotalWeight()>=this.minWeight_?this.ttfb_.getEstimate():this.defaultTTFB_}get defaultEstimate(){return this.defaultEstimate_}destroy(){}}function c(D,e,t){return(e=d(e))in D?Object.defineProperty(D,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):D[e]=t,D}function l(){return l=Object.assign?Object.assign.bind():function(D){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var i in t)({}).hasOwnProperty.call(t,i)&&(D[i]=t[i])}return D},l.apply(null,arguments)}function f(D,e){var t=Object.keys(D);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(D);e&&(i=i.filter(function(u){return Object.getOwnPropertyDescriptor(D,u).enumerable})),t.push.apply(t,i)}return t}function n(D){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?f(Object(t),!0).forEach(function(i){c(D,i,t[i])}):Object.getOwnPropertyDescriptors?Object.defineProperties(D,Object.getOwnPropertyDescriptors(t)):f(Object(t)).forEach(function(i){Object.defineProperty(D,i,Object.getOwnPropertyDescriptor(t,i))})}return D}function o(D,e){if(typeof D!="object"||!D)return D;var t=D[Symbol.toPrimitive];if(t!==void 0){var i=t.call(D,e);if(typeof i!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(D)}function d(D){var e=o(D,"string");return typeof e=="symbol"?e:e+""}class m{constructor(e,t){this.trace=void 0,this.debug=void 0,this.log=void 0,this.warn=void 0,this.info=void 0,this.error=void 0;const i=`[${e}]:`;this.trace=_,this.debug=t.debug.bind(null,i),this.log=t.log.bind(null,i),this.warn=t.warn.bind(null,i),this.info=t.info.bind(null,i),this.error=t.error.bind(null,i)}}const _=function(){},h={trace:_,debug:_,log:_,warn:_,info:_,error:_};function g(){return l({},h)}function r(D,e){const t=self.console[D];return t?t.bind(self.console,`${e?"["+e+"] ":""}[${D}] >`):_}function a(D,e,t){return e[D]?e[D].bind(e):r(D,t)}const p=g();function E(D,e,t){const i=g();if(typeof console=="object"&&D===!0||typeof D=="object"){const u=["debug","log","info","warn","error"];u.forEach(v=>{i[v]=a(v,D,t)});try{i.log(`Debug logs enabled for "${e}" in hls.js version 1.6.7`)}catch(v){return g()}u.forEach(v=>{p[v]=a(v,D)})}else l(p,i);return i}const b=p;function w(D=!0){return typeof self=="undefined"?void 0:(D||!self.MediaSource)&&self.ManagedMediaSource||self.MediaSource||self.WebKitMediaSource}function R(D){return typeof self!="undefined"&&D===self.ManagedMediaSource}function O(D,e){const t=Object.keys(D),i=Object.keys(e),u=t.length,v=i.length;return!u||!v||u===v&&!t.some(T=>i.indexOf(T)===-1)}function z(D,e=!1){if(typeof TextDecoder!="undefined"){const N=new TextDecoder("utf-8").decode(D);if(e){const j=N.indexOf("\0");return j!==-1?N.substring(0,j):N}return N.replace(/\0/g,"")}const t=D.length;let i,u,v,T="",M=0;for(;M<t;){if(i=D[M++],i===0&&e)return T;if(i===0||i===3)continue;switch(i>>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:T+=String.fromCharCode(i);break;case 12:case 13:u=D[M++],T+=String.fromCharCode((i&31)<<6|u&63);break;case 14:u=D[M++],v=D[M++],T+=String.fromCharCode((i&15)<<12|(u&63)<<6|(v&63)<<0);break}}return T}const B={hexDump:function(D){let e="";for(let t=0;t<D.length;t++){let i=D[t].toString(16);i.length<2&&(i="0"+i),e+=i}return e}};function P(D){return Uint8Array.from(D.replace(/^0x/,"").replace(/([\da-fA-F]{2}) ?/g,"0x$1 ").replace(/ +$/,"").split(" ")).buffer}function F(D){return D&&D.__esModule&&Object.prototype.hasOwnProperty.call(D,"default")?D.default:D}var k={exports:{}},U;function G(){return U||(U=1,function(D,e){(function(t){var i=/^(?=((?:[a-zA-Z0-9+\-.]+:)?))\1(?=((?:\/\/[^\/?#]*)?))\2(?=((?:(?:[^?#\/]*\/)*[^;?#\/]*)?))\3((?:;[^?#]*)?)(\?[^#]*)?(#[^]*)?$/,u=/^(?=([^\/?#]*))\1([^]*)$/,v=/(?:\/|^)\.(?=\/)/g,T=/(?:\/|^)\.\.\/(?!\.\.\/)[^\/]*(?=\/)/g,M={buildAbsoluteURL:function(W,N,j){if(j=j||{},W=W.trim(),N=N.trim(),!N){if(!j.alwaysNormalize)return W;var Z=M.parseURL(W);if(!Z)throw new Error("Error trying to parse base URL.");return Z.path=M.normalizePath(Z.path),M.buildURLFromParts(Z)}var J=M.parseURL(N);if(!J)throw new Error("Error trying to parse relative URL.");if(J.scheme)return j.alwaysNormalize?(J.path=M.normalizePath(J.path),M.buildURLFromParts(J)):N;var re=M.parseURL(W);if(!re)throw new Error("Error trying to parse base URL.");if(!re.netLoc&&re.path&&re.path[0]!=="/"){var ie=u.exec(re.path);re.netLoc=ie[1],re.path=ie[2]}re.netLoc&&!re.path&&(re.path="/");var pe={scheme:re.scheme,netLoc:J.netLoc,path:null,params:J.params,query:J.query,fragment:J.fragment};if(!J.netLoc&&(pe.netLoc=re.netLoc,J.path[0]!=="/"))if(!J.path)pe.path=re.path,J.params||(pe.params=re.params,J.query||(pe.query=re.query));else{var _e=re.path,Se=_e.substring(0,_e.lastIndexOf("/")+1)+J.path;pe.path=M.normalizePath(Se)}return pe.path===null&&(pe.path=j.alwaysNormalize?M.normalizePath(J.path):J.path),M.buildURLFromParts(pe)},parseURL:function(W){var N=i.exec(W);return N?{scheme:N[1]||"",netLoc:N[2]||"",path:N[3]||"",params:N[4]||"",query:N[5]||"",fragment:N[6]||""}:null},normalizePath:function(W){for(W=W.split("").reverse().join("").replace(v,"");W.length!==(W=W.replace(T,"")).length;);return W.split("").reverse().join("")},buildURLFromParts:function(W){return W.scheme+W.netLoc+W.path+W.params+W.query+W.fragment}};D.exports=M})()}(k)),k.exports}var C=G();class I{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 H={AUDIO:"audio",VIDEO:"video",AUDIOVIDEO:"audiovideo"};class ${constructor(e){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,Ee(this,"stats")}setByteRange(e,t){const i=e.split("@",2);let u;i.length===1?u=(t==null?void 0:t.byteRangeEndOffset)||0:u=parseInt(i[1]),this._byteRange=[u,parseInt(i[0])+u]}get baseurl(){return this.base.url}get byteRange(){return this._byteRange===null?[]:this._byteRange}get byteRangeStartOffset(){return this.byteRange[0]}get byteRangeEndOffset(){return this.byteRange[1]}get elementaryStreams(){return this._streams===null&&(this._streams={[H.AUDIO]:null,[H.VIDEO]:null,[H.AUDIOVIDEO]:null}),this._streams}set elementaryStreams(e){this._streams=e}get hasStats(){return this._stats!==null}get hasStreams(){return this._streams!==null}get stats(){return this._stats===null&&(this._stats=new I),this._stats}set stats(e){this._stats=e}get url(){return!this._url&&this.baseurl&&this.relurl&&(this._url=C.buildAbsoluteURL(this.baseurl,this.relurl,{alwaysNormalize:!0})),this._url||""}set url(e){this._url=e}clearElementaryStreamInfo(){const{elementaryStreams:e}=this;e[H.AUDIO]=null,e[H.VIDEO]=null,e[H.AUDIOVIDEO]=null}}function q(D){return D.sn!=="initSegment"}class se extends ${constructor(e,t){super(t),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){const e=this.stats.total;if(e)return e}if(this.byteRange){const e=this.byteRange[0],t=this.byteRange[1];if(ee(e)&&ee(t))return t-e}return null}get bitrate(){return this.byteLength?this.byteLength*8/this.duration:this._bitrate?this._bitrate:null}set bitrate(e){this._bitrate=e}get decryptdata(){const{levelkeys:e}=this;if(!e&&!this._decryptdata)return null;if(!this._decryptdata&&this.levelkeys&&!this.levelkeys.NONE){const t=this.levelkeys.identity;if(t)this._decryptdata=t.getDecryptData(this.sn);else{const i=Object.keys(this.levelkeys);if(i.length===1)return this._decryptdata=this.levelkeys[i[0]].getDecryptData(this.sn)}}return this._decryptdata}get end(){return this.start+this.duration}get endProgramDateTime(){if(this.programDateTime===null)return null;const e=ee(this.duration)?this.duration:0;return this.programDateTime+e*1e3}get encrypted(){var e;if((e=this._decryptdata)!=null&&e.encrypted)return!0;if(this.levelkeys){const t=Object.keys(this.levelkeys),i=t.length;if(i>1||i===1&&this.levelkeys[t[0]].encrypted)return!0}return!1}get programDateTime(){return this._programDateTime===null&&this.rawProgramDateTime&&(this.programDateTime=Date.parse(this.rawProgramDateTime)),this._programDateTime}set programDateTime(e){if(!ee(e)){this._programDateTime=this.rawProgramDateTime=null;return}this._programDateTime=e}get ref(){return q(this)?(this._ref||(this._ref={base:this.base,start:this.start,duration:this.duration,sn:this.sn,programDateTime:this.programDateTime}),this._ref):null}addStart(e){this.setStart(this.start+e)}setStart(e){this.start=e,this._ref&&(this._ref.start=e)}setDuration(e){this.duration=e,this._ref&&(this._ref.duration=e)}setKeyFormat(e){if(this.levelkeys){const t=this.levelkeys[e];t&&!this._decryptdata&&(this._decryptdata=t.getDecryptData(this.sn))}}abortRequests(){var e,t;(e=this.loader)==null||e.abort(),(t=this.keyLoader)==null||t.abort()}setElementaryStreamInfo(e,t,i,u,v,T=!1){const{elementaryStreams:M}=this,W=M[e];if(!W){M[e]={startPTS:t,endPTS:i,startDTS:u,endDTS:v,partial:T};return}W.startPTS=Math.min(W.startPTS,t),W.endPTS=Math.max(W.endPTS,i),W.startDTS=Math.min(W.startDTS,u),W.endDTS=Math.max(W.endDTS,v)}}class ue extends ${constructor(e,t,i,u,v){super(i),this.fragOffset=0,this.duration=0,this.gap=!1,this.independent=!1,this.relurl=void 0,this.fragment=void 0,this.index=void 0,this.duration=e.decimalFloatingPoint("DURATION"),this.gap=e.bool("GAP"),this.independent=e.bool("INDEPENDENT"),this.relurl=e.enumeratedString("URI"),this.fragment=t,this.index=u;const T=e.enumeratedString("BYTERANGE");T&&this.setByteRange(T,v),v&&(this.fragOffset=v.fragOffset+v.duration)}get start(){return this.fragment.start+this.fragOffset}get end(){return this.start+this.duration}get loaded(){const{elementaryStreams:e}=this;return!!(e.audio||e.video||e.audiovideo)}}function me(D,e){const t=Object.getPrototypeOf(D);if(t){const i=Object.getOwnPropertyDescriptor(t,e);return i||me(t,e)}}function Ee(D,e){const t=me(D,e);t&&(t.enumerable=!0,Object.defineProperty(D,e,t))}const Le=Math.pow(2,32)-1,Fe=[].push,Ke={video:1,audio:2,id3:3,text:4};function Te(D){return String.fromCharCode.apply(null,D)}function We(D,e){const t=D[e]<<8|D[e+1];return t<0?65536+t:t}function Ce(D,e){const t=ge(D,e);return t<0?4294967296+t:t}function De(D,e){let t=Ce(D,e);return t*=Math.pow(2,32),t+=Ce(D,e+4),t}function ge(D,e){return D[e]<<24|D[e+1]<<16|D[e+2]<<8|D[e+3]}function Re(D){const e=D.byteLength;for(let t=0;t<e;){const i=Ce(D,t);if(i>8&&D[t+4]===109&&D[t+5]===111&&D[t+6]===111&&D[t+7]===102)return!0;t=i>1?t+i:e}return!1}function ve(D,e){const t=[];if(!e.length)return t;const i=D.byteLength;for(let u=0;u<i;){const v=Ce(D,u),T=Te(D.subarray(u+4,u+8)),M=v>1?u+v:i;if(T===e[0])if(e.length===1)t.push(D.subarray(u+8,M));else{const W=ve(D.subarray(u+8,M),e.slice(1));W.length&&Fe.apply(t,W)}u=M}return t}function we(D){const e=[],t=D[0];let i=8;const u=Ce(D,i);i+=4;let v=0,T=0;t===0?(v=Ce(D,i),T=Ce(D,i+4),i+=8):(v=De(D,i),T=De(D,i+8),i+=16),i+=2;let M=D.length+T;const W=We(D,i);i+=2;for(let N=0;N<W;N++){let j=i;const Z=Ce(D,j);j+=4;const J=Z&2147483647;if((Z&2147483648)>>>31===1)return b.warn("SIDX has hierarchical references (not supported)"),null;const ie=Ce(D,j);j+=4,e.push({referenceSize:J,subsegmentDuration:ie,info:{duration:ie/u,start:M,end:M+J-1}}),M+=J,j+=4,i=j}return{earliestPresentationTime:v,timescale:u,version:t,referencesCount:W,references:e}}function Ue(D){const e=[],t=ve(D,["moov","trak"]);for(let u=0;u<t.length;u++){const v=t[u],T=ve(v,["tkhd"])[0];if(T){let M=T[0];const W=Ce(T,M===0?12:20),N=ve(v,["mdia","mdhd"])[0];if(N){M=N[0];const j=Ce(N,M===0?12:20),Z=ve(v,["mdia","hdlr"])[0];if(Z){const J=Te(Z.subarray(8,12)),re={soun:H.AUDIO,vide:H.VIDEO}[J],ie=ve(v,["mdia","minf","stbl","stsd"])[0],pe=de(ie);re?(e[W]={timescale:j,type:re,stsd:pe},e[re]=n({timescale:j,id:W},pe)):e[W]={timescale:j,type:J,stsd:pe}}}}}return ve(D,["moov","mvex","trex"]).forEach(u=>{const v=Ce(u,4),T=e[v];T&&(T.default={duration:Ce(u,12),flags:Ce(u,20)})}),e}function de(D){const e=D.subarray(8),t=e.subarray(86),i=Te(e.subarray(4,8));let u=i,v;const T=i==="enca"||i==="encv";if(T){const N=ve(e,[i])[0].subarray(i==="enca"?28:78);ve(N,["sinf"]).forEach(Z=>{const J=ve(Z,["schm"])[0];if(J){const re=Te(J.subarray(4,8));if(re==="cbcs"||re==="cenc"){const ie=ve(Z,["frma"])[0];ie&&(u=Te(ie))}}})}const M=u;switch(u){case"avc1":case"avc2":case"avc3":case"avc4":{const W=ve(t,["avcC"])[0];W&&W.length>3&&(u+="."+ye(W[1])+ye(W[2])+ye(W[3]),v=oe(M==="avc1"?"dva1":"dvav",t));break}case"mp4a":{const W=ve(e,[i])[0],N=ve(W.subarray(28),["esds"])[0];if(N&&N.length>7){let j=4;if(N[j++]!==3)break;j=ce(N,j),j+=2;const Z=N[j++];if(Z&128&&(j+=2),Z&64&&(j+=N[j++]),N[j++]!==4)break;j=ce(N,j);const J=N[j++];if(J===64)u+="."+ye(J);else break;if(j+=12,N[j++]!==5)break;j=ce(N,j);const re=N[j++];let ie=(re&248)>>3;ie===31&&(ie+=1+((re&7)<<3)+((N[j]&224)>>5)),u+="."+ie}break}case"hvc1":case"hev1":{const W=ve(t,["hvcC"])[0];if(W&&W.length>12){const N=W[1],j=["","A","B","C"][N>>6],Z=N&31,J=Ce(W,2),re=(N&32)>>5?"H":"L",ie=W[12],pe=W.subarray(6,12);u+="."+j+Z,u+="."+ne(J).toString(16).toUpperCase(),u+="."+re+ie;let _e="";for(let Se=pe.length;Se--;){const ke=pe[Se];(ke||_e)&&(_e="."+ke.toString(16).toUpperCase()+_e)}u+=_e}v=oe(M=="hev1"?"dvhe":"dvh1",t);break}case"dvh1":case"dvhe":case"dvav":case"dva1":case"dav1":{u=oe(u,t)||u;break}case"vp09":{const W=ve(t,["vpcC"])[0];if(W&&W.length>6){const N=W[4],j=W[5],Z=W[6]>>4&15;u+="."+he(N)+"."+he(j)+"."+he(Z)}break}case"av01":{const W=ve(t,["av1C"])[0];if(W&&W.length>2){const N=W[1]>>>5,j=W[1]&31,Z=W[2]>>>7?"H":"M",J=(W[2]&64)>>6,re=(W[2]&32)>>5,ie=N===2&&J?re?12:10:J?10:8,pe=(W[2]&16)>>4,_e=(W[2]&8)>>3,Se=(W[2]&4)>>2,ke=W[2]&3;u+="."+N+"."+he(j)+Z+"."+he(ie)+"."+pe+"."+_e+Se+ke+"."+he(1)+"."+he(1)+"."+he(1)+"."+0,v=oe("dav1",t)}break}}return{codec:u,encrypted:T,supplemental:v}}function oe(D,e){const t=ve(e,["dvvC"]),i=t.length?t[0]:ve(e,["dvcC"])[0];if(i){const u=i[2]>>1&127,v=i[2]<<5&32|i[3]>>3&31;return D+"."+he(u)+"."+he(v)}}function ne(D){let e=0;for(let t=0;t<32;t++)e|=(D>>t&1)<<31-t;return e>>>0}function ce(D,e){const t=e+5;for(;D[e++]&128&&e<t;);return e}function ye(D){return("0"+D.toString(16).toUpperCase()).slice(-2)}function he(D){return(D<10?"0":"")+D}function xe(D,e){if(!D||!e)return D;const t=e.keyId;return t&&e.isCommonEncryption&&ve(D,["moov","trak"]).forEach(u=>{const T=ve(u,["mdia","minf","stbl","stsd"])[0].subarray(8);let M=ve(T,["enca"]);const W=M.length>0;W||(M=ve(T,["encv"])),M.forEach(N=>{const j=W?N.subarray(28):N.subarray(78);ve(j,["sinf"]).forEach(J=>{const re=Ne(J);if(re){const ie=re.subarray(8,24);ie.some(pe=>pe!==0)||(b.log(`[eme] Patching keyId in 'enc${W?"a":"v"}>sinf>>tenc' box: ${B.hexDump(ie)} -> ${B.hexDump(t)}`),re.set(t,8))}})})}),D}function Ne(D){const e=ve(D,["schm"])[0];if(e){const t=Te(e.subarray(4,8));if(t==="cbcs"||t==="cenc")return ve(D,["schi","tenc"])[0]}return null}function Be(D,e,t){const i={},u=ve(D,["moof","traf"]);for(let v=0;v<u.length;v++){const T=u[v],M=ve(T,["tfhd"])[0],W=Ce(M,4),N=e[W];if(!N)continue;const j=i[W]||(i[W]={start:NaN,duration:0,sampleCount:0,timescale:N.timescale,type:N.type}),Z=ve(T,["tfdt"])[0];if(Z){const Me=Z[0];let Ze=Ce(Z,4);Me===1&&(Ze===Le?t.warn("[mp4-demuxer]: Ignoring assumed invalid signed 64-bit track fragment decode time"):(Ze*=Le+1,Ze+=Ce(Z,8))),ee(Ze)&&(!ee(j.start)||Ze<j.start)&&(j.start=Ze)}const J=N.default,re=Ce(M,0)|(J==null?void 0:J.flags);let ie=(J==null?void 0:J.duration)||0;re&8&&(re&2?ie=Ce(M,12):ie=Ce(M,8));const pe=ve(T,["trun"]);let _e=j.start||0,Se=0,ke=ie;for(let Me=0;Me<pe.length;Me++){const Ze=pe[Me],ot=Ce(Ze,4),Pt=j.sampleCount;j.sampleCount+=ot;const it=Ze[3]&1,_t=Ze[3]&4,Et=Ze[2]&1,qe=Ze[2]&2,jt=Ze[2]&4,ur=Ze[2]&8;let Ur=8,Lr=ot;for(it&&(Ur+=4),_t&&ot&&(!(Ze[Ur+1]&1)&&j.keyFrameIndex===void 0&&(j.keyFrameIndex=Pt),Ur+=4,Et?(ke=Ce(Ze,Ur),Ur+=4):ke=ie,qe&&(Ur+=4),ur&&(Ur+=4),_e+=ke,Se+=ke,Lr--);Lr--;)Et?(ke=Ce(Ze,Ur),Ur+=4):ke=ie,qe&&(Ur+=4),jt&&(Ze[Ur+1]&1||j.keyFrameIndex===void 0&&(j.keyFrameIndex=j.sampleCount-(Lr+1),j.keyFrameStart=_e),Ur+=4),ur&&(Ur+=4),_e+=ke,Se+=ke;!Se&&ie&&(Se+=ie*ot)}j.duration+=Se}if(!Object.keys(i).some(v=>i[v].duration)){let v=1/0,T=0;const M=ve(D,["sidx"]);for(let W=0;W<M.length;W++){const N=we(M[W]);if(N!=null&&N.references){v=Math.min(v,N.earliestPresentationTime/N.timescale);const j=N.references.reduce((Z,J)=>Z+J.info.duration||0,0);T=Math.max(T,j+N.earliestPresentationTime/N.timescale)}}T&&ee(T)&&Object.keys(i).forEach(W=>{i[W].duration||(i[W].duration=T*i[W].timescale-i[W].start)})}return i}function je(D){const e={valid:null,remainder:null},t=ve(D,["moof"]);if(t.length<2)return e.remainder=D,e;const i=t[t.length-1];return e.valid=D.slice(0,i.byteOffset-8),e.remainder=D.slice(i.byteOffset-8),e}function et(D,e){const t=new Uint8Array(D.length+e.length);return t.set(D),t.set(e,D.length),t}function ft(D,e){const t=[],i=e.samples,u=e.timescale,v=e.id;let T=!1;return ve(i,["moof"]).map(W=>{const N=W.byteOffset-8;ve(W,["traf"]).map(Z=>{const J=ve(Z,["tfdt"]).map(re=>{const ie=re[0];let pe=Ce(re,4);return ie===1&&(pe*=Math.pow(2,32),pe+=Ce(re,8)),pe/u})[0];return J!==void 0&&(D=J),ve(Z,["tfhd"]).map(re=>{const ie=Ce(re,4),pe=Ce(re,0)&16777215,_e=(pe&1)!==0,Se=(pe&2)!==0,ke=(pe&8)!==0;let Me=0;const Ze=(pe&16)!==0;let ot=0;const Pt=(pe&32)!==0;let it=8;ie===v&&(_e&&(it+=8),Se&&(it+=4),ke&&(Me=Ce(re,it),it+=4),Ze&&(ot=Ce(re,it),it+=4),Pt&&(it+=4),e.type==="video"&&(T=tt(e.codec)),ve(Z,["trun"]).map(_t=>{const Et=_t[0],qe=Ce(_t,0)&16777215,jt=(qe&1)!==0;let ur=0;const Ur=(qe&4)!==0,Lr=(qe&256)!==0;let Sr=0;const vr=(qe&512)!==0;let Kr=0;const _r=(qe&1024)!==0,Hr=(qe&2048)!==0;let Gr=0;const pr=Ce(_t,4);let nr=8;jt&&(ur=Ce(_t,nr),nr+=4),Ur&&(nr+=4);let ii=ur+N;for(let li=0;li<pr;li++){if(Lr?(Sr=Ce(_t,nr),nr+=4):Sr=Me,vr?(Kr=Ce(_t,nr),nr+=4):Kr=ot,_r&&(nr+=4),Hr&&(Et===0?Gr=Ce(_t,nr):Gr=ge(_t,nr),nr+=4),e.type===H.VIDEO){let yi=0;for(;yi<Kr;){const mi=Ce(i,ii);if(ii+=4,At(T,i[ii])){const Ii=i.subarray(ii,ii+mi);It(Ii,T?2:1,D+Gr/u,t)}ii+=mi,yi+=mi+4}}D+=Sr/u}}))})})}),t}function tt(D){if(!D)return!1;const e=D.substring(0,4);return e==="hvc1"||e==="hev1"||e==="dvh1"||e==="dvhe"}function At(D,e){if(D){const t=e>>1&63;return t===39||t===40}else return(e&31)===6}function It(D,e,t,i){const u=Nt(D);let v=0;v+=e;let T=0,M=0,W=0;for(;v<u.length;){T=0;do{if(v>=u.length)break;W=u[v++],T+=W}while(W===255);M=0;do{if(v>=u.length)break;W=u[v++],M+=W}while(W===255);const N=u.length-v;let j=v;if(M<N)v+=M;else if(M>N){b.error(`Malformed SEI payload. ${M} is too small, only ${N} bytes left to parse.`);break}if(T===4){if(u[j++]===181){const J=We(u,j);if(j+=2,J===49){const re=Ce(u,j);if(j+=4,re===1195456820){const ie=u[j++];if(ie===3){const pe=u[j++],_e=31&pe,Se=64&pe,ke=Se?2+_e*3:0,Me=new Uint8Array(ke);if(Se){Me[0]=pe;for(let Ze=1;Ze<ke;Ze++)Me[Ze]=u[j++]}i.push({type:ie,payloadType:T,pts:t,bytes:Me})}}}}}else if(T===5&&M>16){const Z=[];for(let ie=0;ie<16;ie++){const pe=u[j++].toString(16);Z.push(pe.length==1?"0"+pe:pe),(ie===3||ie===5||ie===7||ie===9)&&Z.push("-")}const J=M-16,re=new Uint8Array(J);for(let ie=0;ie<J;ie++)re[ie]=u[j++];i.push({payloadType:T,pts:t,uuid:Z.join(""),userData:z(re),userDataBytes:re})}}}function Nt(D){const e=D.byteLength,t=[];let i=1;for(;i<e-2;)D[i]===0&&D[i+1]===0&&D[i+2]===3?(t.push(i+2),i+=2):i++;if(t.length===0)return D;const u=e-t.length,v=new Uint8Array(u);let T=0;for(i=0;i<u;T++,i++)T===t[0]&&(T++,t.shift()),v[i]=D[T];return v}function lt(D){const e=D[0];let t="",i="",u=0,v=0,T=0,M=0,W=0,N=0;if(e===0){for(;Te(D.subarray(N,N+1))!=="\0";)t+=Te(D.subarray(N,N+1)),N+=1;for(t+=Te(D.subarray(N,N+1)),N+=1;Te(D.subarray(N,N+1))!=="\0";)i+=Te(D.subarray(N,N+1)),N+=1;i+=Te(D.subarray(N,N+1)),N+=1,u=Ce(D,12),v=Ce(D,16),M=Ce(D,20),W=Ce(D,24),N=28}else if(e===1){N+=4,u=Ce(D,N),N+=4;const Z=Ce(D,N);N+=4;const J=Ce(D,N);for(N+=4,T=Qo(2,32)*Z+J,te(T)||(T=Number.MAX_SAFE_INTEGER,b.warn("Presentation time exceeds safe integer limit and wrapped to max safe integer in parsing emsg box")),M=Ce(D,N),N+=4,W=Ce(D,N),N+=4;Te(D.subarray(N,N+1))!=="\0";)t+=Te(D.subarray(N,N+1)),N+=1;for(t+=Te(D.subarray(N,N+1)),N+=1;Te(D.subarray(N,N+1))!=="\0";)i+=Te(D.subarray(N,N+1)),N+=1;i+=Te(D.subarray(N,N+1)),N+=1}const j=D.subarray(N,D.byteLength);return{schemeIdUri:t,value:i,timeScale:u,presentationTime:T,presentationTimeDelta:v,eventDuration:M,id:W,payload:j}}function Bt(D,...e){const t=e.length;let i=8,u=t;for(;u--;)i+=e[u].byteLength;const v=new Uint8Array(i);for(v[0]=i>>24&255,v[1]=i>>16&255,v[2]=i>>8&255,v[3]=i&255,v.set(D,4),u=0,i=8;u<t;u++)v.set(e[u],i),i+=e[u].byteLength;return v}function cr(D,e,t){if(D.byteLength!==16)throw new RangeError("Invalid system id");let i,u;i=0,u=new Uint8Array;let v;i>0?(v=new Uint8Array(4),e.length>0&&new DataView(v.buffer).setUint32(0,e.length,!1)):v=new Uint8Array;const T=new Uint8Array(4);return t&&t.byteLength>0&&new DataView(T.buffer).setUint32(0,t.byteLength,!1),Bt([112,115,115,104],new Uint8Array([i,0,0,0]),D,v,u,T,t||new Uint8Array)}const bt=()=>/\(Windows.+Firefox\//i.test(navigator.userAgent),ut={audio:{a3ds:1,"ac-3":.95,"ac-4":1,alac:.9,alaw:1,dra1:1,"dts+":1,"dts-":1,dtsc:1,dtse:1,dtsh:1,"ec-3":.9,enca:1,fLaC:.9,flac:.9,FLAC:.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:.8,dav1:.8,drac:1,dva1:1,dvav:1,dvh1:.7,dvhe:.7,encv:1,hev1:.75,hvc1:.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:.9},text:{stpp:1,wvtt:1}};function Wt(D,e){const t=ut[e];return!!t&&!!t[D.slice(0,4)]}function Ar(D,e,t=!0){return!D.split(",").some(i=>!Vt(i,e,t))}function Vt(D,e,t=!0){var i;const u=w(t);return(i=u==null?void 0:u.isTypeSupported(Ht(D,e)))!=null?i:!1}function Ht(D,e){return`${e}/mp4;codecs=${D}`}function ar(D){if(D){const e=D.substring(0,4);return ut.video[e]}return 2}function or(D){const e=bt();return D.split(",").reduce((t,i)=>{const v=e&&tt(i)?9:ut.video[i];return v?(v*2+t)/(t?3:2):(ut.audio[i]+t)/(t?2:1)},0)}const Tt={};function at(D,e=!0){if(Tt[D])return Tt[D];const t={flac:["flac","fLaC","FLAC"],opus:["opus","Opus"],"mp4a.40.34":["mp3"]}[D];for(let u=0;u<t.length;u++){var i;if(Vt(t[u],"audio",e))return Tt[D]=t[u],t[u];if(t[u]==="mp3"&&(i=w(e))!=null&&i.isTypeSupported("audio/mpeg"))return""}return D}const vt=/flac|opus|mp4a\.40\.34/i;function Yt(D,e=!0){return D.replace(vt,t=>at(t.toLowerCase(),e))}function qt(D,e){const t=[];if(D){const i=D.split(",");for(let u=0;u<i.length;u++)Wt(i[u],"video")||t.push(i[u])}return e&&t.push(e),t.join(",")}function Cr(D,e){if(D&&(D.length>4||["ac-3","ec-3","alac","fLaC","Opus"].indexOf(D)!==-1)&&(nt(D,"audio")||nt(D,"video")))return D;if(e){const t=e.split(",");if(t.length>1){if(D){for(let i=t.length;i--;)if(t[i].substring(0,4)===D.substring(0,4))return t[i]}return t[0]}}return e||D}function nt(D,e){return Wt(D,e)&&Vt(D,e)}function yt(D){const e=D.split(",");for(let t=0;t<e.length;t++){const i=e[t].split(".");i.length>2&&i[0]==="avc1"&&(e[t]=`avc1.${parseInt(i[1]).toString(16)}${("000"+parseInt(i[2]).toString(16)).slice(-4)}`)}return e.join(",")}function Lt(D){if(D.startsWith("av01.")){const e=D.split("."),t=["0","111","01","01","01","0"];for(let i=e.length;i>4&&i<10;i++)e[i]=t[i-4];return e.join(".")}return D}function Ut(D){const e=w(D)||{isTypeSupported:()=>!1};return{mpeg:e.isTypeSupported("audio/mpeg"),mp3:e.isTypeSupported('audio/mp4; codecs="mp3"'),ac3:e.isTypeSupported('audio/mp4; codecs="ac-3"')}}function rr(D){return D.replace(/^.+codecs=["']?([^"']+).*$/,"$1")}const dt={supported:!0,configurations:[],decodingInfoResults:[{supported:!0,powerEfficient:!0,smooth:!0}]};function V(D,e){return{supported:!1,configurations:e,decodingInfoResults:[{supported:!1,smooth:!1,powerEfficient:!1}],error:D}}function Y(D,e,t,i,u,v){const T=D.videoCodec,M=D.audioCodec?D.audioGroups:null,W=v==null?void 0:v.audioCodec,N=v==null?void 0:v.channels,j=N?parseInt(N):W?1/0:2;let Z=null;if(M!=null&&M.length)try{M.length===1&&M[0]?Z=e.groups[M[0]].channels:Z=M.reduce((J,re)=>{if(re){const ie=e.groups[re];if(!ie)throw new Error(`Audio track group ${re} not found`);Object.keys(ie.channels).forEach(pe=>{J[pe]=(J[pe]||0)+ie.channels[pe]})}return J},{2:0})}catch(J){return!0}return T!==void 0&&(T.split(",").some(J=>tt(J))||D.width>1920&&D.height>1088||D.height>1920&&D.width>1088||D.frameRate>Math.max(i,30)||D.videoRange!=="SDR"&&D.videoRange!==t||D.bitrate>Math.max(u,8e6))||!!Z&&ee(j)&&Object.keys(Z).some(J=>parseInt(J)>j)}function Q(D,e,t,i={}){const u=D.videoCodec;if(!u&&!D.audioCodec||!t)return Promise.resolve(dt);const v=[],T=le(D),M=T.length,W=fe(D,e,M>0),N=W.length;for(let j=M||1*N||1;j--;){const Z={type:"media-source"};if(M&&(Z.video=T[j%M]),N){Z.audio=W[j%N];const J=Z.audio.bitrate;Z.video&&J&&(Z.video.bitrate-=J)}v.push(Z)}if(u){const j=navigator.userAgent;if(u.split(",").some(Z=>tt(Z))&&bt())return Promise.resolve(V(new Error(`Overriding Windows Firefox HEVC MediaCapabilities result based on user-agent string: (${j})`),v))}return Promise.all(v.map(j=>{const Z=Ye(j);return i[Z]||(i[Z]=t.decodingInfo(j))})).then(j=>({supported:!j.some(Z=>!Z.supported),configurations:v,decodingInfoResults:j})).catch(j=>({supported:!1,configurations:v,decodingInfoResults:[],error:j}))}function le(D){var e;const t=(e=D.videoCodec)==null?void 0:e.split(","),i=Pe(D),u=D.width||640,v=D.height||480,T=D.frameRate||30,M=D.videoRange.toLowerCase();return t?t.map(W=>{const N={contentType:Ht(Lt(W),"video"),width:u,height:v,bitrate:i,framerate:T};return M!=="sdr"&&(N.transferFunction=M),N}):[]}function fe(D,e,t){var i;const u=(i=D.audioCodec)==null?void 0:i.split(","),v=Pe(D);return u&&D.audioGroups?D.audioGroups.reduce((T,M)=>{var W;const N=M?(W=e.groups[M])==null?void 0:W.tracks:null;return N?N.reduce((j,Z)=>{if(Z.groupId===M){const J=parseFloat(Z.channels||"");u.forEach(re=>{const ie={contentType:Ht(re,"audio"),bitrate:t?Oe(re,v):v};J&&(ie.channels=""+J),j.push(ie)})}return j},T):T},[]):[]}function Oe(D,e){if(e<=1)return 1;let t=128e3;return D==="ec-3"?t=768e3:D==="ac-3"&&(t=64e4),Math.min(e/2,t)}function Pe(D){return Math.ceil(Math.max(D.bitrate*.9,D.averageBitrate)/1e3)*1e3||1}function Ye(D){let e="";const{audio:t,video:i}=D;if(i){const u=rr(i.contentType);e+=`${u}_r${i.height}x${i.width}f${Math.ceil(i.framerate)}${i.transferFunction||"sd"}_${Math.ceil(i.bitrate/1e5)}`}if(t){const u=rr(t.contentType);e+=`${i?"_":""}${u}_c${t.channels}`}return e}const $e=["NONE","TYPE-0","TYPE-1",null];function Dt(D){return $e.indexOf(D)>-1}const zt=["SDR","PQ","HLG"];function Ie(D){return!!D&&zt.indexOf(D)>-1}var be={No:"",Yes:"YES",v2:"v2"};function ct(D){const{canSkipUntil:e,canSkipDateRanges:t,age:i}=D,u=i<e/2;return e&&u?t?be.v2:be.Yes:be.No}class ze{constructor(e,t,i){this.msn=void 0,this.part=void 0,this.skip=void 0,this.msn=e,this.part=t,this.skip=i}addDirectives(e){const t=new self.URL(e);return this.msn!==void 0&&t.searchParams.set("_HLS_msn",this.msn.toString()),this.part!==void 0&&t.searchParams.set("_HLS_part",this.part.toString()),this.skip&&t.searchParams.set("_HLS_skip",this.skip),t.href}}class He{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.details=void 0,this.fragmentError=0,this.loadError=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),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,this.codecSet=[e.videoCodec,e.audioCodec].filter(i=>!!i).map(i=>i.substring(0,4)).join(","),"supplemental"in e){var t;this.supplemental=e.supplemental;const i=(t=e.supplemental)==null?void 0:t.videoCodec;i&&i!==e.videoCodec&&(this.codecSet+=`,${i.substring(0,4)}`)}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 Xe(this._audioGroups,e)}hasSubtitleGroup(e){return Xe(this._subtitleGroups,e)}get audioGroups(){return this._audioGroups}get subtitleGroups(){return this._subtitleGroups}addGroupId(e,t){if(t){if(e==="audio"){let i=this._audioGroups;i||(i=this._audioGroups=[]),i.indexOf(t)===-1&&i.push(t)}else if(e==="text"){let i=this._subtitleGroups;i||(i=this._subtitleGroups=[]),i.indexOf(t)===-1&&i.push(t)}}}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 Xe(D,e){return!e||!D?!1:D.indexOf(e)!==-1}function st(){if(typeof matchMedia=="function"){const D=matchMedia("(dynamic-range: high)"),e=matchMedia("bad query");if(D.media!==e.media)return D.matches===!0}return!1}function mt(D,e){let t=!1,i=[];if(D&&(t=D!=="SDR",i=[D]),e){i=e.allowedVideoRanges||zt.slice(0);const u=i.join("")!=="SDR"&&!e.videoCodec;t=e.preferHDR!==void 0?e.preferHDR:u&&st(),t||(i=["SDR"])}return{preferHDR:t,allowedVideoRanges:i}}const Kt=D=>{const e=new WeakSet;return(t,i)=>{if(D&&(i=D(t,i)),typeof i=="object"&&i!==null){if(e.has(i))return;e.add(i)}return i}},gt=(D,e)=>JSON.stringify(D,Kt(e));function Ot(D,e,t,i,u){const v=Object.keys(D),T=i==null?void 0:i.channels,M=i==null?void 0:i.audioCodec,W=u==null?void 0:u.videoCodec,N=T&&parseInt(T)===2;let j=!1,Z=!1,J=1/0,re=1/0,ie=1/0,pe=1/0,_e=0,Se=[];const{preferHDR:ke,allowedVideoRanges:Me}=mt(e,u);for(let _t=v.length;_t--;){const Et=D[v[_t]];j||(j=Et.channels[2]>0),J=Math.min(J,Et.minHeight),re=Math.min(re,Et.minFramerate),ie=Math.min(ie,Et.minBitrate),Me.filter(jt=>Et.videoRanges[jt]>0).length>0&&(Z=!0)}J=ee(J)?J:0,re=ee(re)?re:0;const Ze=Math.max(1080,J),ot=Math.max(30,re);ie=ee(ie)?ie:t,t=Math.max(ie,t),Z||(e=void 0);const Pt=v.length>1;return{codecSet:v.reduce((_t,Et)=>{const qe=D[Et];if(Et===_t)return _t;if(Se=Z?Me.filter(jt=>qe.videoRanges[jt]>0):[],Pt){if(qe.minBitrate>t)return pt(Et,`min bitrate of ${qe.minBitrate} > current estimate of ${t}`),_t;if(!qe.hasDefaultAudio)return pt(Et,"no renditions with default or auto-select sound found"),_t;if(M&&Et.indexOf(M.substring(0,4))%5!==0)return pt(Et,`audio codec preference "${M}" not found`),_t;if(T&&!N){if(!qe.channels[T])return pt(Et,`no renditions with ${T} channel sound found (channels options: ${Object.keys(qe.channels)})`),_t}else if((!M||N)&&j&&qe.channels[2]===0)return pt(Et,"no renditions with stereo sound found"),_t;if(qe.minHeight>Ze)return pt(Et,`min resolution of ${qe.minHeight} > maximum of ${Ze}`),_t;if(qe.minFramerate>ot)return pt(Et,`min framerate of ${qe.minFramerate} > maximum of ${ot}`),_t;if(!Se.some(jt=>qe.videoRanges[jt]>0))return pt(Et,`no variants with VIDEO-RANGE of ${gt(Se)} found`),_t;if(W&&Et.indexOf(W.substring(0,4))%5!==0)return pt(Et,`video codec preference "${W}" not found`),_t;if(qe.maxScore<_e)return pt(Et,`max score of ${qe.maxScore} < selected max of ${_e}`),_t}return _t&&(or(Et)>=or(_t)||qe.fragmentError>D[_t].fragmentError)?_t:(pe=qe.minIndex,_e=qe.maxScore,Et)},void 0),videoRanges:Se,preferHDR:ke,minFramerate:re,minBitrate:ie,minIndex:pe}}function pt(D,e){b.log(`[abr] start candidates with "${D}" ignored because ${e}`)}function Ct(D){return D.reduce((e,t)=>{let i=e.groups[t.groupId];i||(i=e.groups[t.groupId]={tracks:[],channels:{2:0},hasDefault:!1,hasAutoSelect:!1}),i.tracks.push(t);const u=t.channels||"2";return i.channels[u]=(i.channels[u]||0)+1,i.hasDefault=i.hasDefault||t.default,i.hasAutoSelect=i.hasAutoSelect||t.autoselect,i.hasDefault&&(e.hasDefaultAudio=!0),i.hasAutoSelect&&(e.hasAutoSelectAudio=!0),e},{hasDefaultAudio:!1,hasAutoSelectAudio:!1,groups:{}})}function xt(D,e,t,i){return D.slice(t,i+1).reduce((u,v,T)=>{if(!v.codecSet)return u;const M=v.audioGroups;let W=u[v.codecSet];W||(u[v.codecSet]=W={minBitrate:1/0,minHeight:1/0,minFramerate:1/0,minIndex:T,maxScore:0,videoRanges:{SDR:0},channels:{2:0},hasDefaultAudio:!M,fragmentError:0}),W.minBitrate=Math.min(W.minBitrate,v.bitrate);const N=Math.min(v.height,v.width);return W.minHeight=Math.min(W.minHeight,N),W.minFramerate=Math.min(W.minFramerate,v.frameRate),W.minIndex=Math.min(W.minIndex,T),W.maxScore=Math.max(W.maxScore,v.score),W.fragmentError+=v.fragmentError,W.videoRanges[v.videoRange]=(W.videoRanges[v.videoRange]||0)+1,M&&M.forEach(j=>{if(!j)return;const Z=e.groups[j];Z&&(W.hasDefaultAudio=W.hasDefaultAudio||e.hasDefaultAudio?Z.hasDefault:Z.hasAutoSelect||!e.hasDefaultAudio&&!e.hasAutoSelectAudio,Object.keys(Z.channels).forEach(J=>{W.channels[J]=(W.channels[J]||0)+Z.channels[J]}))}),u},{})}function Ae(D){if(!D)return D;const{lang:e,assocLang:t,characteristics:i,channels:u,audioCodec:v}=D;return{lang:e,assocLang:t,characteristics:i,channels:u,audioCodec:v}}function Ve(D,e,t){if("attrs"in D){const i=e.indexOf(D);if(i!==-1)return i}for(let i=0;i<e.length;i++){const u=e[i];if(Je(D,u,t))return i}return-1}function Je(D,e,t){const{groupId:i,name:u,lang:v,assocLang:T,default:M}=D,W=D.forced;return(i===void 0||e.groupId===i)&&(u===void 0||e.name===u)&&(v===void 0||rt(v,e.lang))&&(v===void 0||e.assocLang===T)&&(M===void 0||e.default===M)&&(W===void 0||e.forced===W)&&(!("characteristics"in D)||St(D.characteristics||"",e.characteristics))&&(t===void 0||t(D,e))}function rt(D,e="--"){return D.length===e.length?D===e:D.startsWith(e)||e.startsWith(D)}function St(D,e=""){const t=D.split(","),i=e.split(",");return t.length===i.length&&!t.some(u=>i.indexOf(u)===-1)}function Rt(D,e){const{audioCodec:t,channels:i}=D;return(t===void 0||(e.audioCodec||"").substring(0,4)===t.substring(0,4))&&(i===void 0||i===(e.channels||"2"))}function Mt(D,e,t,i,u){const v=e[i],M=e.reduce((J,re,ie)=>{const pe=re.uri;return(J[pe]||(J[pe]=[])).push(ie),J},{})[v.uri];M.length>1&&(i=Math.max.apply(Math,M));const W=v.videoRange,N=v.frameRate,j=v.codecSet.substring(0,4),Z=Xt(e,i,J=>{if(J.videoRange!==W||J.frameRate!==N||J.codecSet.substring(0,4)!==j)return!1;const re=J.audioGroups,ie=t.filter(pe=>!re||re.indexOf(pe.groupId)!==-1);return Ve(D,ie,u)>-1});return Z>-1?Z:Xt(e,i,J=>{const re=J.audioGroups,ie=t.filter(pe=>!re||re.indexOf(pe.groupId)!==-1);return Ve(D,ie,u)>-1})}function Xt(D,e,t){for(let i=e;i>-1;i--)if(t(D[i]))return i;for(let i=e+1;i<D.length;i++)if(t(D[i]))return i;return-1}function Ge(D,e){var t;return!!D&&D!==((t=e.loadLevelObj)==null?void 0:t.uri)}class Gt extends m{constructor(e){super("abr",e.logger),this.hls=void 0,this.lastLevelLoadSec=0,this.lastLoadedFragLevel=-1,this.firstSelection=-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=t=>{var i;const{fragCurrent:u,partCurrent:v,hls:T}=this,{autoLevelEnabled:M,media:W}=T;if(!u||!W)return;const N=performance.now(),j=v?v.stats:u.stats,Z=v?v.duration:u.duration,J=N-j.loading.start,re=T.minAutoLevel,ie=u.level,pe=this._nextAutoLevel;if(j.aborted||j.loaded&&j.loaded===j.total||ie<=re){this.clearTimer(),this._nextAutoLevel=-1;return}if(!M)return;const _e=pe>-1&&pe!==ie,Se=!!t||_e;if(!Se&&(W.paused||!W.playbackRate||!W.readyState))return;const ke=T.mainForwardBufferInfo;if(!Se&&ke===null)return;const Me=this.bwEstimator.getEstimateTTFB(),Ze=Math.abs(W.playbackRate);if(J<=Math.max(Me,1e3*(Z/(Ze*2))))return;const ot=ke?ke.len/Ze:0,Pt=j.loading.first?j.loading.first-j.loading.start:-1,it=j.loaded&&Pt>-1,_t=this.getBwEstimate(),Et=T.levels,qe=Et[ie],jt=Math.max(j.loaded,Math.round(Z*(u.bitrate||qe.averageBitrate)/8));let ur=it?J-Pt:J;ur<1&&it&&(ur=Math.min(J,j.loaded*8/_t));const Ur=it?j.loaded*1e3/ur:0,Lr=Me/1e3,Sr=Ur?(jt-j.loaded)/Ur:jt*8/_t+Lr;if(Sr<=ot)return;const vr=Ur?Ur*8:_t,Kr=((i=(t==null?void 0:t.details)||this.hls.latestLevelDetails)==null?void 0:i.live)===!0,_r=this.hls.config.abrBandWidthUpFactor;let Hr=Number.POSITIVE_INFINITY,Gr;for(Gr=ie-1;Gr>re;Gr--){const li=Et[Gr].maxBitrate,yi=!Et[Gr].details||Kr;if(Hr=this.getTimeToLoadFrag(Lr,vr,Z*li,yi),Hr<Math.min(ot,Z+Lr))break}if(Hr>=Sr||Hr>Z*10)return;it?this.bwEstimator.sample(J-Math.min(Me,Pt),j.loaded):this.bwEstimator.sampleTTFB(J);const pr=Et[Gr].maxBitrate;this.getBwEstimate()*_r>pr&&this.resetEstimator(pr);const nr=this.findBestLevel(pr,re,Gr,0,ot,1,1);nr>-1&&(Gr=nr),this.warn(`Fragment ${u.sn}${v?" part "+v.index:""} of level ${ie} is loading too slowly;
Fragment duration: ${u.duration.toFixed(3)}
Time to underbuffer: ${ot.toFixed(3)} s
Estimated load time for current fragment: ${Sr.toFixed(3)} s
Estimated load time for down switch fragment: ${Hr.toFixed(3)} s
TTFB estimate: ${Pt|0} ms
Current BW estimate: ${ee(_t)?_t|0:"Unknown"} bps
New BW estimate: ${this.getBwEstimate()|0} bps
Switching to level ${Gr} @ ${pr|0} bps`),T.nextLoadLevel=T.nextAutoLevel=Gr,this.clearTimer();const ii=()=>{if(this.clearTimer(),this.fragCurrent===u&&this.hls.loadLevel===Gr&&Gr>0){const li=this.getStarvationDelay();if(this.warn(`Aborting inflight request ${Gr>0?"and switching down":""}
Fragment duration: ${u.duration.toFixed(3)} s
Time to underbuffer: ${li.toFixed(3)} s`),u.abortRequests(),this.fragCurrent=this.partCurrent=null,Gr>re){let yi=this.findBestLevel(this.hls.levels[re].bitrate,re,Gr,0,li,1,1);yi===-1&&(yi=re),this.hls.nextLoadLevel=this.hls.nextAutoLevel=yi,this.resetEstimator(this.hls.levels[yi].bitrate)}}};_e||Sr>Hr*2?ii():this.timer=self.setInterval(ii,Hr*1e3),T.trigger(y.FRAG_LOAD_EMERGENCY_ABORTED,{frag:u,part:v,stats:j})},this.hls=e,this.bwEstimator=this.initEstimator(),this.registerListeners()}resetEstimator(e){e&&(this.log(`setting initial bwe to ${e}`),this.hls.config.abrEwmaDefaultEstimate=e),this.firstSelection=-1,this.bwEstimator=this.initEstimator()}initEstimator(){const e=this.hls.config;return new x(e.abrEwmaSlowVoD,e.abrEwmaFastVoD,e.abrEwmaDefaultEstimate)}registerListeners(){const{hls:e}=this;e.on(y.MANIFEST_LOADING,this.onManifestLoading,this),e.on(y.FRAG_LOADING,this.onFragLoading,this),e.on(y.FRAG_LOADED,this.onFragLoaded,this),e.on(y.FRAG_BUFFERED,this.onFragBuffered,this),e.on(y.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(y.LEVEL_LOADED,this.onLevelLoaded,this),e.on(y.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(y.MAX_AUTO_LEVEL_UPDATED,this.onMaxAutoLevelUpdated,this),e.on(y.ERROR,this.onError,this)}unregisterListeners(){const{hls:e}=this;e&&(e.off(y.MANIFEST_LOADING,this.onManifestLoading,this),e.off(y.FRAG_LOADING,this.onFragLoading,this),e.off(y.FRAG_LOADED,this.onFragLoaded,this),e.off(y.FRAG_BUFFERED,this.onFragBuffered,this),e.off(y.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(y.LEVEL_LOADED,this.onLevelLoaded,this),e.off(y.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(y.MAX_AUTO_LEVEL_UPDATED,this.onMaxAutoLevelUpdated,this),e.off(y.ERROR,this.onError,this))}destroy(){this.unregisterListeners(),this.clearTimer(),this.hls=this._abandonRulesCheck=this.supportedCache=null,this.fragCurrent=this.partCurrent=null}onManifestLoading(e,t){this.lastLoadedFragLevel=-1,this.firstSelection=-1,this.lastLevelLoadSec=0,this.supportedCache={},this.fragCurrent=this.partCurrent=null,this.onLevelsUpdated(),this.clearTimer()}onLevelsUpdated(){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,t){const i=t.frag;if(!this.ignoreFragment(i)){if(!i.bitrateTest){var u;this.fragCurrent=i,this.partCurrent=(u=t.part)!=null?u:null}this.clearTimer(),this.timer=self.setInterval(this._abandonRulesCheck,100)}}onLevelSwitching(e,t){this.clearTimer()}onError(e,t){if(!t.fatal)switch(t.details){case K.BUFFER_ADD_CODEC_ERROR:case K.BUFFER_APPEND_ERROR:this.lastLoadedFragLevel=-1,this.firstSelection=-1;break;case K.FRAG_LOAD_TIMEOUT:{const i=t.frag,{fragCurrent:u,partCurrent:v}=this;if(i&&u&&i.sn===u.sn&&i.level===u.level){const T=performance.now(),M=v?v.stats:i.stats,W=T-M.loading.start,N=M.loading.first?M.loading.first-M.loading.start:-1;if(M.loaded&&N>-1){const Z=this.bwEstimator.getEstimateTTFB();this.bwEstimator.sample(W-Math.min(Z,N),M.loaded)}else this.bwEstimator.sampleTTFB(W)}break}}}getTimeToLoadFrag(e,t,i,u){const v=e+i/t,T=u?e+this.lastLevelLoadSec:0;return v+T}onLevelLoaded(e,t){const i=this.hls.config,{loading:u}=t.stats,v=u.end-u.first;ee(v)&&(this.lastLevelLoadSec=v/1e3),t.details.live?this.bwEstimator.update(i.abrEwmaSlowLive,i.abrEwmaFastLive):this.bwEstimator.update(i.abrEwmaSlowVoD,i.abrEwmaFastVoD),this.timer>-1&&this._abandonRulesCheck(t.levelInfo)}onFragLoaded(e,{frag:t,part:i}){const u=i?i.stats:t.stats;if(t.type===A.MAIN&&this.bwEstimator.sampleTTFB(u.loading.first-u.loading.start),!this.ignoreFragment(t)){if(this.clearTimer(),t.level===this._nextAutoLevel&&(this._nextAutoLevel=-1),this.firstSelection=-1,this.hls.config.abrMaxWithRealBitrate){const v=i?i.duration:t.duration,T=this.hls.levels[t.level],M=(T.loaded?T.loaded.bytes:0)+u.loaded,W=(T.loaded?T.loaded.duration:0)+v;T.loaded={bytes:M,duration:W},T.realBitrate=Math.round(8*M/W)}if(t.bitrateTest){const v={stats:u,frag:t,part:i,id:t.type};this.onFragBuffered(y.FRAG_BUFFERED,v),t.bitrateTest=!1}else this.lastLoadedFragLevel=t.level}}onFragBuffered(e,t){const{frag:i,part:u}=t,v=u!=null&&u.stats.loaded?u.stats:i.stats;if(v.aborted||this.ignoreFragment(i))return;const T=v.parsing.end-v.loading.start-Math.min(v.loading.first-v.loading.start,this.bwEstimator.getEstimateTTFB());this.bwEstimator.sample(T,v.loaded),v.bwEstimate=this.getBwEstimate(),i.bitrateTest?this.bitrateTestDelay=T/1e3:this.bitrateTestDelay=0}ignoreFragment(e){return e.type!==A.MAIN||e.sn==="initSegment"}clearTimer(){this.timer>-1&&(self.clearInterval(this.timer),this.timer=-1)}get firstAutoLevel(){const{maxAutoLevel:e,minAutoLevel:t}=this.hls,i=this.getBwEstimate(),u=this.hls.config.maxStarvationDelay,v=this.findBestLevel(i,t,e,0,u,1,1);if(v>-1)return v;const T=this.hls.firstLevel,M=Math.min(Math.max(T,t),e);return this.warn(`Could not find best starting auto level. Defaulting to first in playlist ${T} clamped to ${M}`),M}get forcedAutoLevel(){return this.nextAutoLevelKey?-1:this._nextAutoLevel}get nextAutoLevel(){const e=this.forcedAutoLevel,i=this.bwEstimator.canEstimate(),u=this.lastLoadedFragLevel>-1;if(e!==-1&&(!i||!u||this.nextAutoLevelKey===this.getAutoLevelKey()))return e;const v=i&&u?this.getNextABRAutoLevel():this.firstAutoLevel;if(e!==-1){const T=this.hls.levels;if(T.length>Math.max(e,v)&&T[e].loadError<=T[v].loadError)return e}return this._nextAutoLevel=v,this.nextAutoLevelKey=this.getAutoLevelKey(),v}getAutoLevelKey(){return`${this.getBwEstimate()}_${this.getStarvationDelay().toFixed(2)}`}getNextABRAutoLevel(){const{fragCurrent:e,partCurrent:t,hls:i}=this;if(i.levels.length<=1)return i.loadLevel;const{maxAutoLevel:u,config:v,minAutoLevel:T}=i,M=t?t.duration:e?e.duration:0,W=this.getBwEstimate(),N=this.getStarvationDelay();let j=v.abrBandWidthFactor,Z=v.abrBandWidthUpFactor;if(N){const _e=this.findBestLevel(W,T,u,N,0,j,Z);if(_e>=0)return this.rebufferNotice=-1,_e}let J=M?Math.min(M,v.maxStarvationDelay):v.maxStarvationDelay;if(!N){const _e=this.bitrateTestDelay;_e&&(J=(M?Math.min(M,v.maxLoadingDelay):v.maxLoadingDelay)-_e,this.info(`bitrate test took ${Math.round(1e3*_e)}ms, set first fragment max fetchDuration to ${Math.round(1e3*J)} ms`),j=Z=1)}const re=this.findBestLevel(W,T,u,N,J,j,Z);if(this.rebufferNotice!==re&&(this.rebufferNotice=re,this.info(`${N?"rebuffering expected":"buffer is empty"}, optimal quality level ${re}`)),re>-1)return re;const ie=i.levels[T],pe=i.loadLevelObj;return pe&&(ie==null?void 0:ie.bitrate)<pe.bitrate?T:i.loadLevel}getStarvationDelay(){const e=this.hls,t=e.media;if(!t)return 1/0;const i=t&&t.playbackRate!==0?Math.abs(t.playbackRate):1,u=e.mainForwardBufferInfo;return(u?u.len:0)/i}getBwEstimate(){return this.bwEstimator.canEstimate()?this.bwEstimator.getEstimate():this.hls.config.abrEwmaDefaultEstimate}findBestLevel(e,t,i,u,v,T,M){var W;const N=u+v,j=this.lastLoadedFragLevel,Z=j===-1?this.hls.firstLevel:j,{fragCurrent:J,partCurrent:re}=this,{levels:ie,allAudioTracks:pe,loadLevel:_e,config:Se}=this.hls;if(ie.length===1)return 0;const ke=ie[Z],Me=!!((W=this.hls.latestLevelDetails)!=null&&W.live),Ze=_e===-1||j===-1;let ot,Pt="SDR",it=(ke==null?void 0:ke.frameRate)||0;const{audioPreference:_t,videoPreference:Et}=Se,qe=this.audioTracksByGroup||(this.audioTracksByGroup=Ct(pe));let jt=-1;if(Ze){if(this.firstSelection!==-1)return this.firstSelection;const Kr=this.codecTiers||(this.codecTiers=xt(ie,qe,t,i)),_r=Ot(Kr,Pt,e,_t,Et),{codecSet:Hr,videoRanges:Gr,minFramerate:pr,minBitrate:nr,minIndex:ii,preferHDR:li}=_r;jt=ii,ot=Hr,Pt=li?Gr[Gr.length-1]:Gr[0],it=pr,e=Math.max(e,nr),this.log(`picked start tier ${gt(_r)}`)}else ot=ke==null?void 0:ke.codecSet,Pt=ke==null?void 0:ke.videoRange;const ur=re?re.duration:J?J.duration:0,Ur=this.bwEstimator.getEstimateTTFB()/1e3,Lr=[];for(let Kr=i;Kr>=t;Kr--){var Sr,vr;const _r=ie[Kr],Hr=Kr>Z;if(!_r)continue;if(Se.useMediaCapabilities&&!_r.supportedResult&&!_r.supportedPromise){const mi=navigator.mediaCapabilities;typeof(mi==null?void 0:mi.decodingInfo)=="function"&&Y(_r,qe,Pt,it,e,_t)?(_r.supportedPromise=Q(_r,qe,mi,this.supportedCache),_r.supportedPromise.then(Ii=>{if(!this.hls)return;_r.supportedResult=Ii;const un=this.hls.levels,Qi=un.indexOf(_r);Ii.error?this.warn(`MediaCapabilities decodingInfo error: "${Ii.error}" for level ${Qi} ${gt(Ii)}`):Ii.supported?Ii.decodingInfoResults.some(cn=>cn.smooth===!1||cn.powerEfficient===!1)&&this.log(`MediaCapabilities decodingInfo for level ${Qi} not smooth or powerEfficient: ${gt(Ii)}`):(this.warn(`Unsupported MediaCapabilities decodingInfo result for level ${Qi} ${gt(Ii)}`),Qi>-1&&un.length>1&&(this.log(`Removing unsupported level ${Qi}`),this.hls.removeLevel(Qi),this.hls.loadLevel===-1&&(this.hls.nextLoadLevel=0)))})):_r.supportedResult=dt}if((ot&&_r.codecSet!==ot||Pt&&_r.videoRange!==Pt||Hr&&it>_r.frameRate||!Hr&&it>0&&it<_r.frameRate||(Sr=_r.supportedResult)!=null&&(vr=Sr.decodingInfoResults)!=null&&vr.some(mi=>mi.smooth===!1))&&(!Ze||Kr!==jt)){Lr.push(Kr);continue}const Gr=_r.details,pr=(re?Gr==null?void 0:Gr.partTarget:Gr==null?void 0:Gr.averagetargetduration)||ur;let nr;Hr?nr=M*e:nr=T*e;const ii=ur&&u>=ur*2&&v===0?_r.averageBitrate:_r.maxBitrate,li=this.getTimeToLoadFrag(Ur,nr,ii*pr,Gr===void 0);if(nr>=ii&&(Kr===j||_r.loadError===0&&_r.fragmentError===0)&&(li<=Ur||!ee(li)||Me&&!this.bitrateTestDelay||li<N)){const mi=this.forcedAutoLevel;return Kr!==_e&&(mi===-1||mi!==_e)&&(Lr.length&&this.trace(`Skipped level(s) ${Lr.join(",")} of ${i} max with CODECS and VIDEO-RANGE:"${ie[Lr[0]].codecs}" ${ie[Lr[0]].videoRange}; not compatible with "${ot}" ${Pt}`),this.info(`switch candidate:${Z}->${Kr} adjustedbw(${Math.round(nr)})-bitrate=${Math.round(nr-ii)} ttfb:${Ur.toFixed(1)} avgDuration:${pr.toFixed(1)} maxFetchDuration:${N.toFixed(1)} fetchDuration:${li.toFixed(1)} firstSelection:${Ze} codecSet:${_r.codecSet} videoRange:${_r.videoRange} hls.loadLevel:${_e}`)),Ze&&(this.firstSelection=Kr),Kr}}return-1}set nextAutoLevel(e){const t=this.deriveNextAutoLevel(e);this._nextAutoLevel!==t&&(this.nextAutoLevelKey="",this._nextAutoLevel=t)}deriveNextAutoLevel(e){const{maxAutoLevel:t,minAutoLevel:i}=this.hls;return Math.min(Math.max(e,i),t)}}const hr={search:function(D,e){let t=0,i=D.length-1,u=null,v=null;for(;t<=i;){u=(t+i)/2|0,v=D[u];const T=e(v);if(T>0)t=u+1;else if(T<0)i=u-1;else return v}return null}};function Qt(D,e,t){if(e===null||!Array.isArray(D)||!D.length||!ee(e))return null;const i=D[0].programDateTime;if(e<(i||0))return null;const u=D[D.length-1].endProgramDateTime;if(e>=(u||0))return null;for(let v=0;v<D.length;++v){const T=D[v];if(Rr(e,t,T))return T}return null}function Zt(D,e,t=0,i=0,u=.005){let v=null;if(D){v=e[1+D.sn-e[0].sn]||null;const M=D.endDTS-t;M>0&&M<15e-7&&(t+=15e-7),v&&D.level!==v.level&&v.end<=D.end&&(v=e[2+D.sn-e[0].sn]||null)}else t===0&&e[0].start===0&&(v=e[0]);if(v&&((!D||D.level===v.level)&&Dr(t,i,v)===0||mr(v,D,Math.min(u,i))))return v;const T=hr.search(e,Dr.bind(null,t,i));return T&&(T!==D||!v)?T:v}function mr(D,e,t){if(e&&e.start===0&&e.level<D.level&&(e.endPTS||0)>0){const i=e.tagList.reduce((u,v)=>(v[0]==="INF"&&(u+=parseFloat(v[1])),u),t);return D.start<=i}return!1}function Dr(D=0,e=0,t){if(t.start<=D&&t.start+t.duration>D)return 0;const i=Math.min(e,t.duration+(t.deltaPTS?t.deltaPTS:0));return t.start+t.duration-i<=D?1:t.start-i>D&&t.start?-1:0}function Rr(D,e,t){const i=Math.min(e,t.duration+(t.deltaPTS?t.deltaPTS:0))*1e3;return(t.endProgramDateTime||0)-i>D}function lr(D,e,t){if(D&&D.startCC<=e&&D.endCC>=e){let i=D.fragments;const{fragmentHint:u}=D;u&&(i=i.concat(u));let v;return hr.search(i,T=>T.cc<e?1:T.cc>e?-1:(v=T,T.end<=t?1:T.start>t?-1:0)),v||null}return null}function ir(D){switch(D.details){case K.FRAG_LOAD_TIMEOUT:case K.KEY_LOAD_TIMEOUT:case K.LEVEL_LOAD_TIMEOUT:case K.MANIFEST_LOAD_TIMEOUT:return!0}return!1}function Or(D,e){const t=ir(e);return D.default[`${t?"timeout":"error"}Retry`]}function br(D,e){const t=D.backoff==="linear"?1:Math.pow(2,e);return Math.min(t*D.retryDelayMs,D.maxRetryDelayMs)}function yr(D){return n(n({},D),{errorRetry:null,timeoutRetry:null})}function Pr(D,e,t,i){if(!D)return!1;const u=i==null?void 0:i.code,v=e<D.maxNumRetry&&(gr(u)||!!t);return D.shouldRetry?D.shouldRetry(D,e,t,i,v):v}function gr(D){return D===0&&navigator.onLine===!1||!!D&&(D<400||D>499)}var er={DoNothing:0,SendEndCallback:1,SendAlternateToPenaltyBox:2,RemoveAlternatePermanently:3,InsertDiscontinuity:4,RetryRequest:5},Br={None:0,MoveAllAlternatesMatchingHost:1,MoveAllAlternatesMatchingHDCP:2,SwitchToSDR:4};class zr extends m{constructor(e){super("error-controller",e.logger),this.hls=void 0,this.playlistError=0,this.penalizedRenditions={},this.hls=e,this.registerListeners()}registerListeners(){const e=this.hls;e.on(y.ERROR,this.onError,this),e.on(y.MANIFEST_LOADING,this.onManifestLoading,this),e.on(y.LEVEL_UPDATED,this.onLevelUpdated,this)}unregisterListeners(){const e=this.hls;e&&(e.off(y.ERROR,this.onError,this),e.off(y.ERROR,this.onErrorOut,this),e.off(y.MANIFEST_LOADING,this.onManifestLoading,this),e.off(y.LEVEL_UPDATED,this.onLevelUpdated,this))}destroy(){this.unregisterListeners(),this.hls=null,this.penalizedRenditions={}}startLoad(e){}stopLoad(){this.playlistError=0}getVariantLevelIndex(e){return(e==null?void 0:e.type)===A.MAIN?e.level:this.hls.loadLevel}onManifestLoading(){this.playlistError=0,this.penalizedRenditions={}}onLevelUpdated(){this.playlistError=0}onError(e,t){var i;if(t.fatal)return;const u=this.hls,v=t.context;switch(t.details){case K.FRAG_LOAD_ERROR:case K.FRAG_LOAD_TIMEOUT:case K.KEY_LOAD_ERROR:case K.KEY_LOAD_TIMEOUT:t.errorAction=this.getFragRetryOrSwitchAction(t);return;case K.FRAG_PARSING_ERROR:if((i=t.frag)!=null&&i.gap){t.errorAction=Qr();return}case K.FRAG_GAP:case K.FRAG_DECRYPT_ERROR:{t.errorAction=this.getFragRetryOrSwitchAction(t),t.errorAction.action=er.SendAlternateToPenaltyBox;return}case K.LEVEL_EMPTY_ERROR:case K.LEVEL_PARSING_ERROR:{var T,M;const N=t.parent===A.MAIN?t.level:u.loadLevel;t.details===K.LEVEL_EMPTY_ERROR&&((T=t.context)!=null&&(M=T.levelDetails)!=null&&M.live)?t.errorAction=this.getPlaylistRetryOrSwitchAction(t,N):(t.levelRetry=!1,t.errorAction=this.getLevelSwitchAction(t,N))}return;case K.LEVEL_LOAD_ERROR:case K.LEVEL_LOAD_TIMEOUT:typeof(v==null?void 0:v.level)=="number"&&(t.errorAction=this.getPlaylistRetryOrSwitchAction(t,v.level));return;case K.AUDIO_TRACK_LOAD_ERROR:case K.AUDIO_TRACK_LOAD_TIMEOUT:case K.SUBTITLE_LOAD_ERROR:case K.SUBTITLE_TRACK_LOAD_TIMEOUT:if(v){const N=u.loadLevelObj;if(N&&(v.type===L.AUDIO_TRACK&&N.hasAudioGroup(v.groupId)||v.type===L.SUBTITLE_TRACK&&N.hasSubtitleGroup(v.groupId))){t.errorAction=this.getPlaylistRetryOrSwitchAction(t,u.loadLevel),t.errorAction.action=er.SendAlternateToPenaltyBox,t.errorAction.flags=Br.MoveAllAlternatesMatchingHost;return}}return;case K.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED:{const N=u.loadLevelObj,j=N==null?void 0:N.attrs["HDCP-LEVEL"];j?t.errorAction={action:er.SendAlternateToPenaltyBox,flags:Br.MoveAllAlternatesMatchingHDCP,hdcpLevel:j}:this.keySystemError(t)}return;case K.BUFFER_ADD_CODEC_ERROR:case K.REMUX_ALLOC_ERROR:case K.BUFFER_APPEND_ERROR:if(!t.errorAction){var W;t.errorAction=this.getLevelSwitchAction(t,(W=t.level)!=null?W:u.loadLevel)}return;case K.INTERNAL_EXCEPTION:case K.BUFFER_APPENDING_ERROR:case K.BUFFER_FULL_ERROR:case K.LEVEL_SWITCH_ERROR:case K.BUFFER_STALLED_ERROR:case K.BUFFER_SEEK_OVER_HOLE:case K.BUFFER_NUDGE_ON_STALL:t.errorAction=Qr();return}t.type===S.KEY_SYSTEM_ERROR&&this.keySystemError(t)}keySystemError(e){const t=this.getVariantLevelIndex(e.frag);e.levelRetry=!1,e.errorAction=this.getLevelSwitchAction(e,t)}getPlaylistRetryOrSwitchAction(e,t){const i=this.hls,u=Or(i.config.playlistLoadPolicy,e),v=this.playlistError++;if(Pr(u,v,ir(e),e.response))return{action:er.RetryRequest,flags:Br.None,retryConfig:u,retryCount:v};const M=this.getLevelSwitchAction(e,t);return u&&(M.retryConfig=u,M.retryCount=v),M}getFragRetryOrSwitchAction(e){const t=this.hls,i=this.getVariantLevelIndex(e.frag),u=t.levels[i],{fragLoadPolicy:v,keyLoadPolicy:T}=t.config,M=Or(e.details.startsWith("key")?T:v,e),W=t.levels.reduce((j,Z)=>j+Z.fragmentError,0);if(u&&(e.details!==K.FRAG_GAP&&u.fragmentError++,Pr(M,W,ir(e),e.response)))return{action:er.RetryRequest,flags:Br.None,retryConfig:M,retryCount:W};const N=this.getLevelSwitchAction(e,i);return M&&(N.retryConfig=M,N.retryCount=W),N}getLevelSwitchAction(e,t){const i=this.hls;t==null&&(t=i.loadLevel);const u=this.hls.levels[t];if(u){var v,T;const N=e.details;u.loadError++,N===K.BUFFER_APPEND_ERROR&&u.fragmentError++;let j=-1;const{levels:Z,loadLevel:J,minAutoLevel:re,maxAutoLevel:ie}=i;!i.autoLevelEnabled&&!i.config.preserveManualLevelOnError&&(i.loadLevel=-1);const pe=(v=e.frag)==null?void 0:v.type,Se=(pe===A.AUDIO&&N===K.FRAG_PARSING_ERROR||e.sourceBufferName==="audio"&&(N===K.BUFFER_ADD_CODEC_ERROR||N===K.BUFFER_APPEND_ERROR))&&Z.some(({audioCodec:Pt})=>u.audioCodec!==Pt),Me=e.sourceBufferName==="video"&&(N===K.BUFFER_ADD_CODEC_ERROR||N===K.BUFFER_APPEND_ERROR)&&Z.some(({codecSet:Pt,audioCodec:it})=>u.codecSet!==Pt&&u.audioCodec===it),{type:Ze,groupId:ot}=(T=e.context)!=null?T:{};for(let Pt=Z.length;Pt--;){const it=(Pt+J)%Z.length;if(it!==J&&it>=re&&it<=ie&&Z[it].loadError===0){var M,W;const _t=Z[it];if(N===K.FRAG_GAP&&pe===A.MAIN&&e.frag){const Et=Z[it].details;if(Et){const qe=Zt(e.frag,Et.fragments,e.frag.start);if(qe!=null&&qe.gap)continue}}else{if(Ze===L.AUDIO_TRACK&&_t.hasAudioGroup(ot)||Ze===L.SUBTITLE_TRACK&&_t.hasSubtitleGroup(ot))continue;if(pe===A.AUDIO&&(M=u.audioGroups)!=null&&M.some(Et=>_t.hasAudioGroup(Et))||pe===A.SUBTITLE&&(W=u.subtitleGroups)!=null&&W.some(Et=>_t.hasSubtitleGroup(Et))||Se&&u.audioCodec===_t.audioCodec||!Se&&u.audioCodec!==_t.audioCodec||Me&&u.codecSet===_t.codecSet)continue}j=it;break}}if(j>-1&&i.loadLevel!==j)return e.levelRetry=!0,this.playlistError=0,{action:er.SendAlternateToPenaltyBox,flags:Br.None,nextAutoLevel:j}}return{action:er.SendAlternateToPenaltyBox,flags:Br.MoveAllAlternatesMatchingHost}}onErrorOut(e,t){var i;switch((i=t.errorAction)==null?void 0:i.action){case er.DoNothing:break;case er.SendAlternateToPenaltyBox:this.sendAlternateToPenaltyBox(t),!t.errorAction.resolved&&t.details!==K.FRAG_GAP?t.fatal=!0:/MediaSource readyState: ended/.test(t.error.message)&&(this.warn(`MediaSource ended after "${t.sourceBufferName}" sourceBuffer append error. Attempting to recover from media error.`),this.hls.recoverMediaError());break;case er.RetryRequest:break}if(t.fatal){this.hls.stopLoad();return}}sendAlternateToPenaltyBox(e){const t=this.hls,i=e.errorAction;if(!i)return;const{flags:u,hdcpLevel:v,nextAutoLevel:T}=i;switch(u){case Br.None:this.switchLevel(e,T);break;case Br.MoveAllAlternatesMatchingHDCP:v&&(t.maxHdcpLevel=$e[$e.indexOf(v)-1],i.resolved=!0),this.warn(`Restricting playback to HDCP-LEVEL of "${t.maxHdcpLevel}" or lower`);break}i.resolved||this.switchLevel(e,T)}switchLevel(e,t){if(t!==void 0&&e.errorAction&&(this.warn(`switching to level ${t} after ${e.details}`),this.hls.nextAutoLevel=t,e.errorAction.resolved=!0,this.hls.nextLoadLevel=this.hls.nextAutoLevel,e.details===K.BUFFER_ADD_CODEC_ERROR&&e.mimeType&&e.sourceBufferName!=="audiovideo")){const i=rr(e.mimeType),u=this.hls.levels;for(let v=u.length;v--;)u[v][`${e.sourceBufferName}Codec`]===i&&this.hls.removeLevel(v)}}}function Qr(D){const e={action:er.DoNothing,flags:Br.None};return D&&(e.resolved=!0),e}var xr={NOT_LOADED:"NOT_LOADED",APPENDING:"APPENDING",PARTIAL:"PARTIAL",OK:"OK"};class ni{constructor(e){this.activePartLists=Object.create(null),this.endListFragments=Object.create(null),this.fragments=Object.create(null),this.timeRanges=Object.create(null),this.bufferPadding=.2,this.hls=void 0,this.hasGaps=!1,this.hls=e,this._registerListeners()}_registerListeners(){const{hls:e}=this;e.on(y.MANIFEST_LOADING,this.onManifestLoading,this),e.on(y.BUFFER_APPENDED,this.onBufferAppended,this),e.on(y.FRAG_BUFFERED,this.onFragBuffered,this),e.on(y.FRAG_LOADED,this.onFragLoaded,this)}_unregisterListeners(){const{hls:e}=this;e.off(y.MANIFEST_LOADING,this.onManifestLoading,this),e.off(y.BUFFER_APPENDED,this.onBufferAppended,this),e.off(y.FRAG_BUFFERED,this.onFragBuffered,this),e.off(y.FRAG_LOADED,this.onFragLoaded,this)}destroy(){this._unregisterListeners(),this.fragments=this.activePartLists=this.endListFragments=this.timeRanges=null}getAppendedFrag(e,t){const i=this.activePartLists[t];if(i)for(let u=i.length;u--;){const v=i[u];if(!v)break;const T=v.end;if(v.start<=e&&T!==null&&e<=T)return v}return this.getBufferedFrag(e,t)}getBufferedFrag(e,t){return this.getFragAtPos(e,t,!0)}getFragAtPos(e,t,i){const{fragments:u}=this,v=Object.keys(u);for(let T=v.length;T--;){const M=u[v[T]];if((M==null?void 0:M.body.type)===t&&(!i||M.buffered)){const W=M.body;if(W.start<=e&&e<=W.end)return W}}return null}detectEvictedFragments(e,t,i,u,v){this.timeRanges&&(this.timeRanges[e]=t);const T=(u==null?void 0:u.fragment.sn)||-1;Object.keys(this.fragments).forEach(M=>{const W=this.fragments[M];if(!W||T>=W.body.sn)return;if(!W.buffered&&(!W.loaded||v)){W.body.type===i&&this.removeFragment(W.body);return}const N=W.range[e];if(N){if(N.time.length===0){this.removeFragment(W.body);return}N.time.some(j=>{const Z=!this.isTimeBuffered(j.startPTS,j.endPTS,t);return Z&&this.removeFragment(W.body),Z})}})}detectPartialFragments(e){const t=this.timeRanges;if(!t||e.frag.sn==="initSegment")return;const i=e.frag,u=ei(i),v=this.fragments[u];if(!v||v.buffered&&i.gap)return;const T=!i.relurl;Object.keys(t).forEach(M=>{const W=i.elementaryStreams[M];if(!W)return;const N=t[M],j=T||W.partial===!0;v.range[M]=this.getBufferedTimes(i,e.part,j,N)}),v.loaded=null,Object.keys(v.range).length?(v.buffered=!0,(v.body.endList=i.endList||v.body.endList)&&(this.endListFragments[v.body.type]=v),$r(v)||this.removeParts(i.sn-1,i.type)):this.removeFragment(v.body)}removeParts(e,t){const i=this.activePartLists[t];i&&(this.activePartLists[t]=si(i,u=>u.fragment.sn>=e))}fragBuffered(e,t){const i=ei(e);let u=this.fragments[i];!u&&t&&(u=this.fragments[i]={body:e,appendedPTS:null,loaded:null,buffered:!1,range:Object.create(null)},e.gap&&(this.hasGaps=!0)),u&&(u.loaded=null,u.buffered=!0)}getBufferedTimes(e,t,i,u){const v={time:[],partial:i},T=e.start,M=e.end,W=e.minEndPTS||M,N=e.maxStartPTS||T;for(let j=0;j<u.length;j++){const Z=u.start(j)-this.bufferPadding,J=u.end(j)+this.bufferPadding;if(N>=Z&&W<=J){v.time.push({startPTS:Math.max(T,u.start(j)),endPTS:Math.min(M,u.end(j))});break}else if(T<J&&M>Z){const re=Math.max(T,u.start(j)),ie=Math.min(M,u.end(j));ie>re&&(v.partial=!0,v.time.push({startPTS:re,endPTS:ie}))}else if(M<=Z)break}return v}getPartialFragment(e){let t=null,i,u,v,T=0;const{bufferPadding:M,fragments:W}=this;return Object.keys(W).forEach(N=>{const j=W[N];j&&$r(j)&&(u=j.body.start-M,v=j.body.end+M,e>=u&&e<=v&&(i=Math.min(e-u,v-e),T<=i&&(t=j.body,T=i)))}),t}isEndListAppended(e){const t=this.endListFragments[e];return t!==void 0&&(t.buffered||$r(t))}getState(e){const t=ei(e),i=this.fragments[t];return i?i.buffered?$r(i)?xr.PARTIAL:xr.OK:xr.APPENDING:xr.NOT_LOADED}isTimeBuffered(e,t,i){let u,v;for(let T=0;T<i.length;T++){if(u=i.start(T)-this.bufferPadding,v=i.end(T)+this.bufferPadding,e>=u&&t<=v)return!0;if(t<=u)return!1}return!1}onManifestLoading(){this.removeAllFragments()}onFragLoaded(e,t){if(t.frag.sn==="initSegment"||t.frag.bitrateTest)return;const i=t.frag,u=t.part?null:t,v=ei(i);this.fragments[v]={body:i,appendedPTS:null,loaded:u,buffered:!1,range:Object.create(null)}}onBufferAppended(e,t){const{frag:i,part:u,timeRanges:v,type:T}=t;if(i.sn==="initSegment")return;const M=i.type;if(u){let N=this.activePartLists[M];N||(this.activePartLists[M]=N=[]),N.push(u)}this.timeRanges=v;const W=v[T];this.detectEvictedFragments(T,W,M,u)}onFragBuffered(e,t){this.detectPartialFragments(t)}hasFragment(e){const t=ei(e);return!!this.fragments[t]}hasFragments(e){const{fragments:t}=this,i=Object.keys(t);if(!e)return i.length>0;for(let u=i.length;u--;){const v=t[i[u]];if((v==null?void 0:v.body.type)===e)return!0}return!1}hasParts(e){var t;return!!((t=this.activePartLists[e])!=null&&t.length)}removeFragmentsInRange(e,t,i,u,v){u&&!this.hasGaps||Object.keys(this.fragments).forEach(T=>{const M=this.fragments[T];if(!M)return;const W=M.body;W.type!==i||u&&!W.gap||W.start<t&&W.end>e&&(M.buffered||v)&&this.removeFragment(W)})}removeFragment(e){const t=ei(e);e.clearElementaryStreamInfo();const i=this.activePartLists[e.type];if(i){const u=e.sn;this.activePartLists[e.type]=si(i,v=>v.fragment.sn!==u)}delete this.fragments[t],e.endList&&delete this.endListFragments[e.type]}removeAllFragments(){var e,t;this.fragments=Object.create(null),this.endListFragments=Object.create(null),this.activePartLists=Object.create(null),this.hasGaps=!1;const i=(e=this.hls)==null||(t=e.latestLevelDetails)==null?void 0:t.partList;i&&i.forEach(u=>u.clearElementaryStreamInfo())}}function $r(D){var e,t,i;return D.buffered&&(D.body.gap||((e=D.range.video)==null?void 0:e.partial)||((t=D.range.audio)==null?void 0:t.partial)||((i=D.range.audiovideo)==null?void 0:i.partial))}function ei(D){return`${D.type}_${D.level}_${D.sn}`}function si(D,e){return D.filter(t=>{const i=e(t);return i||t.clearElementaryStreamInfo(),i})}var Vr={cbc:0,ctr:1};class Er{constructor(e,t,i){this.subtle=void 0,this.aesIV=void 0,this.aesMode=void 0,this.subtle=e,this.aesIV=t,this.aesMode=i}decrypt(e,t){switch(this.aesMode){case Vr.cbc:return this.subtle.decrypt({name:"AES-CBC",iv:this.aesIV},t,e);case Vr.ctr:return this.subtle.decrypt({name:"AES-CTR",counter:this.aesIV,length:64},t,e);default:throw new Error(`[AESCrypto] invalid aes mode ${this.aesMode}`)}}}function kt(D){const e=D.byteLength,t=e&&new DataView(D.buffer).getUint8(e-1);return t?D.slice(0,e-t):D}class Ft{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){const t=new DataView(e),i=new Uint32Array(4);for(let u=0;u<4;u++)i[u]=t.getUint32(u*4);return i}initTable(){const e=this.sBox,t=this.invSBox,i=this.subMix,u=i[0],v=i[1],T=i[2],M=i[3],W=this.invSubMix,N=W[0],j=W[1],Z=W[2],J=W[3],re=new Uint32Array(256);let ie=0,pe=0,_e=0;for(_e=0;_e<256;_e++)_e<128?re[_e]=_e<<1:re[_e]=_e<<1^283;for(_e=0;_e<256;_e++){let Se=pe^pe<<1^pe<<2^pe<<3^pe<<4;Se=Se>>>8^Se&255^99,e[ie]=Se,t[Se]=ie;const ke=re[ie],Me=re[ke],Ze=re[Me];let ot=re[Se]*257^Se*16843008;u[ie]=ot<<24|ot>>>8,v[ie]=ot<<16|ot>>>16,T[ie]=ot<<8|ot>>>24,M[ie]=ot,ot=Ze*16843009^Me*65537^ke*257^ie*16843008,N[Se]=ot<<24|ot>>>8,j[Se]=ot<<16|ot>>>16,Z[Se]=ot<<8|ot>>>24,J[Se]=ot,ie?(ie=ke^re[re[re[Ze^ke]]],pe^=re[re[pe]]):ie=pe=1}}expandKey(e){const t=this.uint8ArrayToUint32Array_(e);let i=!0,u=0;for(;u<t.length&&i;)i=t[u]===this.key[u],u++;if(i)return;this.key=t;const v=this.keySize=t.length;if(v!==4&&v!==6&&v!==8)throw new Error("Invalid aes key size="+v);const T=this.ksRows=(v+6+1)*4;let M,W;const N=this.keySchedule=new Uint32Array(T),j=this.invKeySchedule=new Uint32Array(T),Z=this.sBox,J=this.rcon,re=this.invSubMix,ie=re[0],pe=re[1],_e=re[2],Se=re[3];let ke,Me;for(M=0;M<T;M++){if(M<v){ke=N[M]=t[M];continue}Me=ke,M%v===0?(Me=Me<<8|Me>>>24,Me=Z[Me>>>24]<<24|Z[Me>>>16&255]<<16|Z[Me>>>8&255]<<8|Z[Me&255],Me^=J[M/v|0]<<24):v>6&&M%v===4&&(Me=Z[Me>>>24]<<24|Z[Me>>>16&255]<<16|Z[Me>>>8&255]<<8|Z[Me&255]),N[M]=ke=(N[M-v]^Me)>>>0}for(W=0;W<T;W++)M=T-W,W&3?Me=N[M]:Me=N[M-4],W<4||M<=4?j[W]=Me:j[W]=ie[Z[Me>>>24]]^pe[Z[Me>>>16&255]]^_e[Z[Me>>>8&255]]^Se[Z[Me&255]],j[W]=j[W]>>>0}networkToHostOrderSwap(e){return e<<24|(e&65280)<<8|(e&16711680)>>8|e>>>24}decrypt(e,t,i){const u=this.keySize+6,v=this.invKeySchedule,T=this.invSBox,M=this.invSubMix,W=M[0],N=M[1],j=M[2],Z=M[3],J=this.uint8ArrayToUint32Array_(i);let re=J[0],ie=J[1],pe=J[2],_e=J[3];const Se=new Int32Array(e),ke=new Int32Array(Se.length);let Me,Ze,ot,Pt,it,_t,Et,qe,jt,ur,Ur,Lr,Sr,vr;const Kr=this.networkToHostOrderSwap;for(;t<Se.length;){for(jt=Kr(Se[t]),ur=Kr(Se[t+1]),Ur=Kr(Se[t+2]),Lr=Kr(Se[t+3]),it=jt^v[0],_t=Lr^v[1],Et=Ur^v[2],qe=ur^v[3],Sr=4,vr=1;vr<u;vr++)Me=W[it>>>24]^N[_t>>16&255]^j[Et>>8&255]^Z[qe&255]^v[Sr],Ze=W[_t>>>24]^N[Et>>16&255]^j[qe>>8&255]^Z[it&255]^v[Sr+1],ot=W[Et>>>24]^N[qe>>16&255]^j[it>>8&255]^Z[_t&255]^v[Sr+2],Pt=W[qe>>>24]^N[it>>16&255]^j[_t>>8&255]^Z[Et&255]^v[Sr+3],it=Me,_t=Ze,Et=ot,qe=Pt,Sr=Sr+4;Me=T[it>>>24]<<24^T[_t>>16&255]<<16^T[Et>>8&255]<<8^T[qe&255]^v[Sr],Ze=T[_t>>>24]<<24^T[Et>>16&255]<<16^T[qe>>8&255]<<8^T[it&255]^v[Sr+1],ot=T[Et>>>24]<<24^T[qe>>16&255]<<16^T[it>>8&255]<<8^T[_t&255]^v[Sr+2],Pt=T[qe>>>24]<<24^T[it>>16&255]<<16^T[_t>>8&255]<<8^T[Et&255]^v[Sr+3],ke[t]=Kr(Me^re),ke[t+1]=Kr(Pt^ie),ke[t+2]=Kr(ot^pe),ke[t+3]=Kr(Ze^_e),re=jt,ie=ur,pe=Ur,_e=Lr,t=t+4}return ke.buffer}}class tr{constructor(e,t,i){this.subtle=void 0,this.key=void 0,this.aesMode=void 0,this.subtle=e,this.key=t,this.aesMode=i}expandKey(){const e=Jt(this.aesMode);return this.subtle.importKey("raw",this.key,{name:e},!1,["encrypt","decrypt"])}}function Jt(D){switch(D){case Vr.cbc:return"AES-CBC";case Vr.ctr:return"AES-CTR";default:throw new Error(`[FastAESKey] invalid aes mode ${D}`)}}const Tr=16;class kr{constructor(e,{removePKCS7Padding:t=!0}={}){if(this.logEnabled=!0,this.removePKCS7Padding=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,this.removePKCS7Padding=t,t)try{const i=self.crypto;i&&(this.subtle=i.subtle||i.webkitSubtle)}catch(i){}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(){const{currentResult:e,remainderData:t}=this;if(!e||t)return this.reset(),null;const i=new Uint8Array(e);return this.reset(),this.removePKCS7Padding?kt(i):i}reset(){this.currentResult=null,this.currentIV=null,this.remainderData=null,this.softwareDecrypter&&(this.softwareDecrypter=null)}decrypt(e,t,i,u){return this.useSoftware?new Promise((v,T)=>{const M=ArrayBuffer.isView(e)?e:new Uint8Array(e);this.softwareDecrypt(M,t,i,u);const W=this.flush();W?v(W.buffer):T(new Error("[softwareDecrypt] Failed to decrypt data"))}):this.webCryptoDecrypt(new Uint8Array(e),t,i,u)}softwareDecrypt(e,t,i,u){const{currentIV:v,currentResult:T,remainderData:M}=this;if(u!==Vr.cbc||t.byteLength!==16)return b.warn("SoftwareDecrypt: can only handle AES-128-CBC"),null;this.logOnce("JS AES decrypt"),M&&(e=et(M,e),this.remainderData=null);const W=this.getValidChunk(e);if(!W.length)return null;v&&(i=v);let N=this.softwareDecrypter;N||(N=this.softwareDecrypter=new Ft),N.expandKey(t);const j=T;return this.currentResult=N.decrypt(W.buffer,0,i),this.currentIV=W.slice(-16).buffer,j||null}webCryptoDecrypt(e,t,i,u){if(this.key!==t||!this.fastAesKey){if(!this.subtle)return Promise.resolve(this.onWebCryptoError(e,t,i,u));this.key=t,this.fastAesKey=new tr(this.subtle,t,u)}return this.fastAesKey.expandKey().then(v=>this.subtle?(this.logOnce("WebCrypto AES decrypt"),new Er(this.subtle,new Uint8Array(i),u).decrypt(e.buffer,v)):Promise.reject(new Error("web crypto not initialized"))).catch(v=>(b.warn(`[decrypter]: WebCrypto Error, disable WebCrypto API, ${v.name}: ${v.message}`),this.onWebCryptoError(e,t,i,u)))}onWebCryptoError(e,t,i,u){const v=this.enableSoftwareAES;if(v){this.useSoftware=!0,this.logEnabled=!0,this.softwareDecrypt(e,t,i,u);const T=this.flush();if(T)return T.buffer}throw new Error("WebCrypto"+(v?" and softwareDecrypt":"")+": failed to decrypt data")}getValidChunk(e){let t=e;const i=e.length-e.length%Tr;return i!==e.length&&(t=e.slice(0,i),this.remainderData=e.slice(i)),t}logOnce(e){this.logEnabled&&(b.log(`[decrypter]: ${e}`),this.logEnabled=!1)}}const jr=Math.pow(2,17);class Fr{constructor(e){this.config=void 0,this.loader=null,this.partLoadTimeout=-1,this.config=e}destroy(){this.loader&&(this.loader.destroy(),this.loader=null)}abort(){this.loader&&this.loader.abort()}load(e,t){const i=e.url;if(!i)return Promise.reject(new ui({type:S.NETWORK_ERROR,details:K.FRAG_LOAD_ERROR,fatal:!1,frag:e,error:new Error(`Fragment does not have a ${i?"part list":"url"}`),networkDetails:null}));this.abort();const u=this.config,v=u.fLoader,T=u.loader;return new Promise((M,W)=>{if(this.loader&&this.loader.destroy(),e.gap)if(e.tagList.some(ie=>ie[0]==="GAP")){W(Ei(e));return}else e.gap=!1;const N=this.loader=v?new v(u):new T(u),j=ri(e);e.loader=N;const Z=yr(u.fragLoadPolicy.default),J={loadPolicy:Z,timeout:Z.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0,highWaterMark:e.sn==="initSegment"?1/0:jr};e.stats=N.stats;const re={onSuccess:(ie,pe,_e,Se)=>{this.resetLoader(e,N);let ke=ie.data;_e.resetIV&&e.decryptdata&&(e.decryptdata.iv=new Uint8Array(ke.slice(0,16)),ke=ke.slice(16)),M({frag:e,part:null,payload:ke,networkDetails:Se})},onError:(ie,pe,_e,Se)=>{this.resetLoader(e,N),W(new ui({type:S.NETWORK_ERROR,details:K.FRAG_LOAD_ERROR,fatal:!1,frag:e,response:n({url:i,data:void 0},ie),error:new Error(`HTTP Error ${ie.code} ${ie.text}`),networkDetails:_e,stats:Se}))},onAbort:(ie,pe,_e)=>{this.resetLoader(e,N),W(new ui({type:S.NETWORK_ERROR,details:K.INTERNAL_ABORTED,fatal:!1,frag:e,error:new Error("Aborted"),networkDetails:_e,stats:ie}))},onTimeout:(ie,pe,_e)=>{this.resetLoader(e,N),W(new ui({type:S.NETWORK_ERROR,details:K.FRAG_LOAD_TIMEOUT,fatal:!1,frag:e,error:new Error(`Timeout after ${J.timeout}ms`),networkDetails:_e,stats:ie}))}};t&&(re.onProgress=(ie,pe,_e,Se)=>t({frag:e,part:null,payload:_e,networkDetails:Se})),N.load(j,J,re)})}loadPart(e,t,i){this.abort();const u=this.config,v=u.fLoader,T=u.loader;return new Promise((M,W)=>{if(this.loader&&this.loader.destroy(),e.gap||t.gap){W(Ei(e,t));return}const N=this.loader=v?new v(u):new T(u),j=ri(e,t);e.loader=N;const Z=yr(u.fragLoadPolicy.default),J={loadPolicy:Z,timeout:Z.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0,highWaterMark:jr};t.stats=N.stats,N.load(j,J,{onSuccess:(re,ie,pe,_e)=>{this.resetLoader(e,N),this.updateStatsFromPart(e,t);const Se={frag:e,part:t,payload:re.data,networkDetails:_e};i(Se),M(Se)},onError:(re,ie,pe,_e)=>{this.resetLoader(e,N),W(new ui({type:S.NETWORK_ERROR,details:K.FRAG_LOAD_ERROR,fatal:!1,frag:e,part:t,response:n({url:j.url,data:void 0},re),error:new Error(`HTTP Error ${re.code} ${re.text}`),networkDetails:pe,stats:_e}))},onAbort:(re,ie,pe)=>{e.stats.aborted=t.stats.aborted,this.resetLoader(e,N),W(new ui({type:S.NETWORK_ERROR,details:K.INTERNAL_ABORTED,fatal:!1,frag:e,part:t,error:new Error("Aborted"),networkDetails:pe,stats:re}))},onTimeout:(re,ie,pe)=>{this.resetLoader(e,N),W(new ui({type:S.NETWORK_ERROR,details:K.FRAG_LOAD_TIMEOUT,fatal:!1,frag:e,part:t,error:new Error(`Timeout after ${J.timeout}ms`),networkDetails:pe,stats:re}))}})})}updateStatsFromPart(e,t){const i=e.stats,u=t.stats,v=u.total;if(i.loaded+=u.loaded,v){const W=Math.round(e.duration/t.duration),N=Math.min(Math.round(i.loaded/v),W),Z=(W-N)*Math.round(i.loaded/N);i.total=i.loaded+Z}else i.total=Math.max(i.loaded,i.total);const T=i.loading,M=u.loading;T.start?T.first+=M.first-M.start:(T.start=M.start,T.first=M.first),T.end=M.end}resetLoader(e,t){e.loader=null,this.loader===t&&(self.clearTimeout(this.partLoadTimeout),this.loader=null),t.destroy()}}function ri(D,e=null){const t=e||D,i={frag:D,part:e,responseType:"arraybuffer",url:t.url,headers:{},rangeStart:0,rangeEnd:0},u=t.byteRangeStartOffset,v=t.byteRangeEndOffset;if(ee(u)&&ee(v)){var T;let M=u,W=v;if(D.sn==="initSegment"&&pi((T=D.decryptdata)==null?void 0:T.method)){const N=v-u;N%16&&(W=v+(16-N%16)),u!==0&&(i.resetIV=!0,M=u-16)}i.rangeStart=M,i.rangeEnd=W}return i}function Ei(D,e){const t=new Error(`GAP ${D.gap?"tag":"attribute"} found`),i={type:S.MEDIA_ERROR,details:K.FRAG_GAP,fatal:!1,frag:D,error:t,networkDetails:null};return e&&(i.part=e),(e||D).stats.aborted=!0,new ui(i)}function pi(D){return D==="AES-128"||D==="AES-256"}class ui extends Error{constructor(e){super(e.error.message),this.data=void 0,this.data=e}}class Zr extends m{constructor(e,t){super(e,t),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){return this._tickInterval?!1:(this._tickCallCount=0,this._tickInterval=self.setInterval(this._boundTick,e),!0)}clearInterval(){return this._tickInterval?(self.clearInterval(this._tickInterval),this._tickInterval=null,!0):!1}clearNextTick(){return this._tickTimer?(self.clearTimeout(this._tickTimer),this._tickTimer=null,!0):!1}tick(){this._tickCallCount++,this._tickCallCount===1&&(this.doTick(),this._tickCallCount>1&&this.tickImmediate(),this._tickCallCount=0)}tickImmediate(){this.clearNextTick(),this._tickTimer=self.setTimeout(this._boundTick,0)}doTick(){}}class Ai{constructor(e,t,i,u=0,v=-1,T=!1){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.transmuxing=bi(),this.buffering={audio:bi(),video:bi(),audiovideo:bi()},this.level=e,this.sn=t,this.id=i,this.size=u,this.part=v,this.partial=T}}function bi(){return{start:0,executeStart:0,executeEnd:0,end:0}}const Di={length:0,start:()=>0,end:()=>0};class fr{static isBuffered(e,t){if(e){const i=fr.getBuffered(e);for(let u=i.length;u--;)if(t>=i.start(u)&&t<=i.end(u))return!0}return!1}static bufferedRanges(e){if(e){const t=fr.getBuffered(e);return fr.timeRangesToArray(t)}return[]}static timeRangesToArray(e){const t=[];for(let i=0;i<e.length;i++)t.push({start:e.start(i),end:e.end(i)});return t}static bufferInfo(e,t,i){if(e){const u=fr.bufferedRanges(e);if(u.length)return fr.bufferedInfo(u,t,i)}return{len:0,start:t,end:t,bufferedIndex:-1}}static bufferedInfo(e,t,i){t=Math.max(0,t),e.length>1&&e.sort((j,Z)=>j.start-Z.start||Z.end-j.end);let u=-1,v=[];if(i)for(let j=0;j<e.length;j++){t>=e[j].start&&t<=e[j].end&&(u=j);const Z=v.length;if(Z){const J=v[Z-1].end;e[j].start-J<i?e[j].end>J&&(v[Z-1].end=e[j].end):v.push(e[j])}else v.push(e[j])}else v=e;let T=0,M,W=t,N=t;for(let j=0;j<v.length;j++){const Z=v[j].start,J=v[j].end;if(u===-1&&t>=Z&&t<=J&&(u=j),t+i>=Z&&t<J)W=Z,N=J,T=N-t;else if(t+i<Z){M=Z;break}}return{len:T,start:W||0,end:N||0,nextStart:M,buffered:e,bufferedIndex:u}}static getBuffered(e){try{return e.buffered||Di}catch(t){return b.log("failed to get media.buffered",t),Di}}}const _i=/\{\$([a-zA-Z0-9-_]+)\}/g;function hi(D){return _i.test(D)}function Ri(D,e){if(D.variableList!==null||D.hasVariableRefs){const t=D.variableList;return e.replace(_i,i=>{const u=i.substring(2,i.length-1),v=t==null?void 0:t[u];return v===void 0?(D.playlistParsingError||(D.playlistParsingError=new Error(`Missing preceding EXT-X-DEFINE tag for Variable Reference: "${u}"`)),i):v})}return e}function Ni(D,e,t){let i=D.variableList;i||(D.variableList=i={});let u,v;if("QUERYPARAM"in e){u=e.QUERYPARAM;try{const T=new self.URL(t).searchParams;if(T.has(u))v=T.get(u);else throw new Error(`"${u}" does not match any query parameter in URI: "${t}"`)}catch(T){D.playlistParsingError||(D.playlistParsingError=new Error(`EXT-X-DEFINE QUERYPARAM: ${T.message}`))}}else u=e.NAME,v=e.VALUE;u in i?D.playlistParsingError||(D.playlistParsingError=new Error(`EXT-X-DEFINE duplicate Variable Name declarations: "${u}"`)):i[u]=v||""}function Bi(D,e,t){const i=e.IMPORT;if(t&&i in t){let u=D.variableList;u||(D.variableList=u={}),u[i]=t[i]}else D.playlistParsingError||(D.playlistParsingError=new Error(`EXT-X-DEFINE IMPORT attribute not found in Multivariant Playlist: "${i}"`))}const Pi=/^(\d+)x(\d+)$/,Li=/(.+?)=(".*?"|.*?)(?:,|$)/g;class ai{constructor(e,t){typeof e=="string"&&(e=ai.parseAttrList(e,t)),l(this,e)}get clientAttrs(){return Object.keys(this).filter(e=>e.substring(0,2)==="X-")}decimalInteger(e){const t=parseInt(this[e],10);return t>Number.MAX_SAFE_INTEGER?1/0:t}hexadecimalInteger(e){if(this[e]){let t=(this[e]||"0x").slice(2);t=(t.length&1?"0":"")+t;const i=new Uint8Array(t.length/2);for(let u=0;u<t.length/2;u++)i[u]=parseInt(t.slice(u*2,u*2+2),16);return i}return null}hexadecimalIntegerAsNumber(e){const t=parseInt(this[e],16);return t>Number.MAX_SAFE_INTEGER?1/0:t}decimalFloatingPoint(e){return parseFloat(this[e])}optionalFloat(e,t){const i=this[e];return i?parseFloat(i):t}enumeratedString(e){return this[e]}enumeratedStringList(e,t){const i=this[e];return(i?i.split(/[ ,]+/):[]).reduce((u,v)=>(u[v.toLowerCase()]=!0,u),t)}bool(e){return this[e]==="YES"}decimalResolution(e){const t=Pi.exec(this[e]);if(t!==null)return{width:parseInt(t[1],10),height:parseInt(t[2],10)}}static parseAttrList(e,t){let i;const u={},v='"';for(Li.lastIndex=0;(i=Li.exec(e))!==null;){const T=i[1].trim();let M=i[2];const W=M.indexOf(v)===0&&M.lastIndexOf(v)===M.length-1;let N=!1;if(W)M=M.slice(1,-1);else switch(T){case"IV":case"SCTE35-CMD":case"SCTE35-IN":case"SCTE35-OUT":N=!0}if(t&&(W||N))M=Ri(t,M);else if(!N&&!W)switch(T){case"CLOSED-CAPTIONS":if(M==="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":b.warn(`${e}: attribute ${T} is missing quotes`)}u[T]=M}return u}}const Oi="com.apple.hls.interstitial";function Xi(D){return D!=="ID"&&D!=="CLASS"&&D!=="CUE"&&D!=="START-DATE"&&D!=="DURATION"&&D!=="END-DATE"&&D!=="END-ON-NEXT"}function xi(D){return D==="SCTE35-OUT"||D==="SCTE35-IN"||D==="SCTE35-CMD"}class tn{constructor(e,t,i=0){var u;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=(t==null?void 0:t.tagAnchor)||null,this.tagOrder=(u=t==null?void 0:t.tagOrder)!=null?u:i,t){const v=t.attr;for(const T in v)if(Object.prototype.hasOwnProperty.call(e,T)&&e[T]!==v[T]){b.warn(`DATERANGE tag attribute: "${T}" does not match for tags with ID: "${e.ID}"`),this._badValueForSameId=T;break}e=l(new ai({}),v,e)}if(this.attr=e,t?(this._startDate=t._startDate,this._cue=t._cue,this._endDate=t._endDate,this._dateAtEnd=t._dateAtEnd):this._startDate=new Date(e["START-DATE"]),"END-DATE"in this.attr){const v=(t==null?void 0:t.endDate)||new Date(this.attr["END-DATE"]);ee(v.getTime())&&(this._endDate=v)}}get id(){return this.attr.ID}get class(){return this.attr.CLASS}get cue(){const e=this._cue;return e===void 0?this._cue=this.attr.enumeratedStringList(this.attr.CUE?"CUE":"X-CUE",{pre:!1,post:!1,once:!1}):e}get startTime(){const{tagAnchor:e}=this;return e===null||e.programDateTime===null?(b.warn(`Expected tagAnchor Fragment with PDT set for DateRange "${this.id}": ${e}`),NaN):e.start+(this.startDate.getTime()-e.programDateTime)/1e3}get startDate(){return this._startDate}get endDate(){const e=this._endDate||this._dateAtEnd;if(e)return e;const t=this.duration;return t!==null?this._dateAtEnd=new Date(this._startDate.getTime()+t*1e3):null}get duration(){if("DURATION"in this.attr){const e=this.attr.decimalFloatingPoint("DURATION");if(ee(e))return e}else if(this._endDate)return(this._endDate.getTime()-this._startDate.getTime())/1e3;return null}get plannedDuration(){return"PLANNED-DURATION"in this.attr?this.attr.decimalFloatingPoint("PLANNED-DURATION"):null}get endOnNext(){return this.attr.bool("END-ON-NEXT")}get isInterstitial(){return this.class===Oi}get isValid(){return!!this.id&&!this._badValueForSameId&&ee(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)}}const rn=10;class Yi{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.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}const t=this.lastPartSn-e.lastPartSn,i=this.lastPartIndex-e.lastPartIndex;this.updated=this.endSN!==e.endSN||!!i||!!t||!this.live,this.advanced=this.endSN>e.endSN||t>0||t===0&&i>0,this.updated||this.advanced?this.misses=Math.floor(e.misses*.6):this.misses=e.misses+1}get hasProgramDateTime(){return this.fragments.length?ee(this.fragments[this.fragments.length-1].programDateTime):!1}get levelTargetDuration(){return this.averagetargetduration||this.targetduration||rn}get drift(){const e=this.driftEndTime-this.driftStartTime;return e>0?(this.driftEnd-this.driftStart)*1e3/e:1}get edge(){return this.partEnd||this.fragmentEnd}get partEnd(){var e;return(e=this.partList)!=null&&e.length?this.partList[this.partList.length-1].end:this.fragmentEnd}get fragmentEnd(){var e;return(e=this.fragments)!=null&&e.length?this.fragments[this.fragments.length-1].end:0}get fragmentStart(){var e;return(e=this.fragments)!=null&&e.length?this.fragments[0].start:0}get age(){return this.advancedDateTime?Math.max(Date.now()-this.advancedDateTime,0)/1e3:0}get lastPartIndex(){var e;return(e=this.partList)!=null&&e.length?this.partList[this.partList.length-1].index:-1}get maxPartIndex(){const e=this.partList;if(e){const t=this.lastPartIndex;if(t!==-1){for(let i=e.length;i--;)if(e[i].index>t)return e[i].index;return t}}return 0}get lastPartSn(){var e;return(e=this.partList)!=null&&e.length?this.partList[this.partList.length-1].fragment.sn:this.endSN}get expired(){if(this.live&&this.age&&this.misses<3){const e=this.partEnd-this.fragmentStart;return this.age>Math.max(e,this.totalduration)+this.levelTargetDuration}return!1}}function Fi(D){return D==="AES-128"||D==="AES-256"||D==="AES-256-CTR"}function Ki(D){switch(D){case"AES-128":case"AES-256":return Vr.cbc;case"AES-256-CTR":return Vr.ctr;default:throw new Error(`invalid full segment method ${D}`)}}function Gi(D){return Uint8Array.from(atob(D),e=>e.charCodeAt(0))}function Ti(D){return Uint8Array.from(unescape(encodeURIComponent(D)),e=>e.charCodeAt(0))}function Mi(D){const e=Ti(D).subarray(0,16),t=new Uint8Array(16);return t.set(e,16-e.length),t}function ji(D){const e=function(i,u,v){const T=i[u];i[u]=i[v],i[v]=T};e(D,0,3),e(D,1,2),e(D,4,5),e(D,6,7)}function Jr(D){const e=D.split(":");let t=null;if(e[0]==="data"&&e.length===2){const i=e[1].split(";"),u=i[i.length-1].split(",");if(u.length===2){const v=u[0]==="base64",T=u[1];v?(i.splice(-1,1),t=Gi(T)):t=Mi(T)}}return t}const fi=typeof self!="undefined"?self:void 0;var Xr={CLEARKEY:"org.w3.clearkey",FAIRPLAY:"com.apple.fps",PLAYREADY:"com.microsoft.playready",WIDEVINE:"com.widevine.alpha"},sr={CLEARKEY:"org.w3.clearkey",FAIRPLAY:"com.apple.streamingkeydelivery",PLAYREADY:"com.microsoft.playready",WIDEVINE:"urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"};function Nr(D){switch(D){case sr.FAIRPLAY:return Xr.FAIRPLAY;case sr.PLAYREADY:return Xr.PLAYREADY;case sr.WIDEVINE:return Xr.WIDEVINE;case sr.CLEARKEY:return Xr.CLEARKEY}}function Ir(D){switch(D){case Xr.FAIRPLAY:return sr.FAIRPLAY;case Xr.PLAYREADY:return sr.PLAYREADY;case Xr.WIDEVINE:return sr.WIDEVINE;case Xr.CLEARKEY:return sr.CLEARKEY}}function Mr(D){const{drmSystems:e,widevineLicenseUrl:t}=D,i=e?[Xr.FAIRPLAY,Xr.WIDEVINE,Xr.PLAYREADY,Xr.CLEARKEY].filter(u=>!!e[u]):[];return!i[Xr.WIDEVINE]&&t&&i.push(Xr.WIDEVINE),i}const ti=function(D){return fi!=null&&(D=fi.navigator)!=null&&D.requestMediaKeySystemAccess?self.navigator.requestMediaKeySystemAccess.bind(self.navigator):null}();function ci(D,e,t,i){let u;switch(D){case Xr.FAIRPLAY:u=["cenc","sinf"];break;case Xr.WIDEVINE:case Xr.PLAYREADY:u=["cenc"];break;case Xr.CLEARKEY:u=["cenc","keyids"];break;default:throw new Error(`Unknown key-system: ${D}`)}return Zi(u,e,t,i)}function Zi(D,e,t,i){return[{initDataTypes:D,persistentState:i.persistentState||"optional",distinctiveIdentifier:i.distinctiveIdentifier||"optional",sessionTypes:i.sessionTypes||[i.sessionType||"temporary"],audioCapabilities:e.map(v=>({contentType:`audio/mp4; codecs=${v}`,robustness:i.audioRobustness||"",encryptionScheme:i.audioEncryptionScheme||null})),videoCapabilities:t.map(v=>({contentType:`video/mp4; codecs=${v}`,robustness:i.videoRobustness||"",encryptionScheme:i.videoEncryptionScheme||null}))}]}function dr(D){var e;return D.sessionType==="persistent-license"||!!((e=D.sessionTypes)!=null&&e.some(t=>t==="persistent-license"))}function wr(D){const e=new Uint16Array(D.buffer,D.byteOffset,D.byteLength/2),t=String.fromCharCode.apply(null,Array.from(e)),i=t.substring(t.indexOf("<"),t.length),T=new DOMParser().parseFromString(i,"text/xml").getElementsByTagName("KID")[0];if(T){const M=T.childNodes[0]?T.childNodes[0].nodeValue:T.getAttribute("VALUE");if(M){const W=Gi(M).subarray(0,16);return ji(W),W}}return null}let Wr={};class oi{static clearKeyUriToKeyIdMap(){Wr={}}constructor(e,t,i,u=[1],v=null,T){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.method=e,this.uri=t,this.keyFormat=i,this.keyFormatVersions=u,this.iv=v,this.encrypted=e?e!=="NONE":!1,this.isCommonEncryption=this.encrypted&&!Fi(e),T!=null&&T.startsWith("0x")&&(this.keyId=new Uint8Array(P(T)))}matches(e){var t,i;return e.uri===this.uri&&e.method===this.method&&e.encrypted===this.encrypted&&e.keyFormat===this.keyFormat&&e.keyFormatVersions.join(",")===this.keyFormatVersions.join(",")&&((t=e.iv)==null?void 0:t.join(","))===((i=this.iv)==null?void 0:i.join(","))}isSupported(){if(this.method){if(Fi(this.method)||this.method==="NONE")return!0;if(this.keyFormat==="identity")return this.method==="SAMPLE-AES";switch(this.keyFormat){case sr.FAIRPLAY:case sr.WIDEVINE:case sr.PLAYREADY:case sr.CLEARKEY:return["ISO-23001-7","SAMPLE-AES","SAMPLE-AES-CENC","SAMPLE-AES-CTR"].indexOf(this.method)!==-1}}return!1}getDecryptData(e){if(!this.encrypted||!this.uri)return null;if(Fi(this.method)&&this.uri&&!this.iv){typeof e!="number"&&(b.warn(`missing IV for initialization segment with method="${this.method}" - compliance issue`),e=0);const i=di(e);return new oi(this.method,this.uri,"identity",this.keyFormatVersions,i)}if(this.pssh&&this.keyId)return this;const t=Jr(this.uri);if(t)switch(this.keyFormat){case sr.WIDEVINE:if(this.pssh=t,!this.keyId&&t.length>=22){const i=t.length-22;this.keyId=t.subarray(i,i+16)}break;case sr.PLAYREADY:{const i=new Uint8Array([154,4,240,121,152,64,66,134,171,146,230,91,224,136,95,149]);this.pssh=cr(i,null,t),this.keyId=wr(t);break}default:{let i=t.subarray(0,16);if(i.length!==16){const u=new Uint8Array(16);u.set(i,16-i.length),i=u}this.keyId=i;break}}if(!this.keyId||this.keyId.byteLength!==16){let i=Wr[this.uri];if(!i){const u=Object.keys(Wr).length%Number.MAX_SAFE_INTEGER;i=new Uint8Array(16),new DataView(i.buffer,12,4).setUint32(0,u),Wr[this.uri]=i}this.keyId=i}return this}}function di(D){const e=new Uint8Array(16);for(let t=12;t<16;t++)e[t]=D>>8*(15-t)&255;return e}const nn=/#EXT-X-STREAM-INF:([^\r\n]*)(?:[\r\n](?:#[^\r\n]*)?)*([^\r\n]+)|#EXT-X-(SESSION-DATA|SESSION-KEY|DEFINE|CONTENT-STEERING|START):([^\r\n]*)[\r\n]+/g,Vi=/#EXT-X-MEDIA:(.*)/g,hn=/^#EXT(?:INF|-X-TARGETDURATION):/m,Ui=new RegExp([/#EXTINF:\s*(\d*(?:\.\d+)?)(?:,(.*)\s+)?/.source,/(?!#) *(\S[^\r\n]*)/.source,/#.*/.source].join("|"),"g"),Nn=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)/.source,/(#)([^:]*):(.*)/.source,/(#)(.*)(?:.*)\r?\n?/.source].join("|"));class an{static findGroup(e,t){for(let i=0;i<e.length;i++){const u=e[i];if(u.id===t)return u}}static resolve(e,t){return C.buildAbsoluteURL(t,e,{alwaysNormalize:!0})}static isMediaPlaylist(e){return hn.test(e)}static parseMasterPlaylist(e,t){const i=hi(e),u={contentSteering:null,levels:[],playlistParsingError:null,sessionData:null,sessionKeys:null,startTimeOffset:null,variableList:null,hasVariableRefs:i},v=[];nn.lastIndex=0;let T;for(;(T=nn.exec(e))!=null;)if(T[1]){var M;const N=new ai(T[1],u),j=Ri(u,T[2]),Z={attrs:N,bitrate:N.decimalInteger("BANDWIDTH")||N.decimalInteger("AVERAGE-BANDWIDTH"),name:N.NAME,url:an.resolve(j,t)},J=N.decimalResolution("RESOLUTION");J&&(Z.width=J.width,Z.height=J.height),Jn(N.CODECS,Z);const re=N["SUPPLEMENTAL-CODECS"];re&&(Z.supplemental={},Jn(re,Z.supplemental)),(M=Z.unknownCodecs)!=null&&M.length||v.push(Z),u.levels.push(Z)}else if(T[3]){const N=T[3],j=T[4];switch(N){case"SESSION-DATA":{const Z=new ai(j,u),J=Z["DATA-ID"];J&&(u.sessionData===null&&(u.sessionData={}),u.sessionData[J]=Z);break}case"SESSION-KEY":{const Z=Vn(j,t,u);Z.encrypted&&Z.isSupported()?(u.sessionKeys===null&&(u.sessionKeys=[]),u.sessionKeys.push(Z)):b.warn(`[Keys] Ignoring invalid EXT-X-SESSION-KEY tag: "${j}"`);break}case"DEFINE":{{const Z=new ai(j,u);Ni(u,Z,t)}break}case"CONTENT-STEERING":{const Z=new ai(j,u);u.contentSteering={uri:an.resolve(Z["SERVER-URI"],t),pathwayId:Z["PATHWAY-ID"]||"."};break}case"START":{u.startTimeOffset=wn(j);break}}}const W=v.length>0&&v.length<u.levels.length;return u.levels=W?v:u.levels,u.levels.length===0&&(u.playlistParsingError=new Error("no levels found in manifest")),u}static parseMasterPlaylistMedia(e,t,i){let u;const v={},T=i.levels,M={AUDIO:T.map(N=>({id:N.attrs.AUDIO,audioCodec:N.audioCodec})),SUBTITLES:T.map(N=>({id:N.attrs.SUBTITLES,textCodec:N.textCodec})),"CLOSED-CAPTIONS":[]};let W=0;for(Vi.lastIndex=0;(u=Vi.exec(e))!==null;){const N=new ai(u[1],i),j=N.TYPE;if(j){const Z=M[j],J=v[j]||[];v[j]=J;const re=N.LANGUAGE,ie=N["ASSOC-LANGUAGE"],pe=N.CHANNELS,_e=N.CHARACTERISTICS,Se=N["INSTREAM-ID"],ke={attrs:N,bitrate:0,id:W++,groupId:N["GROUP-ID"]||"",name:N.NAME||re||"",type:j,default:N.bool("DEFAULT"),autoselect:N.bool("AUTOSELECT"),forced:N.bool("FORCED"),lang:re,url:N.URI?an.resolve(N.URI,t):""};if(ie&&(ke.assocLang=ie),pe&&(ke.channels=pe),_e&&(ke.characteristics=_e),Se&&(ke.instreamId=Se),Z!=null&&Z.length){const Me=an.findGroup(Z,ke.groupId)||Z[0];Bn(ke,Me,"audioCodec"),Bn(ke,Me,"textCodec")}J.push(ke)}}return v}static parseLevelPlaylist(e,t,i,u,v,T){var M;const W={url:t},N=new Yi(t),j=N.fragments,Z=[];let J=null,re=0,ie=0,pe=0,_e=0,Se=0,ke=null,Me=new se(u,W),Ze,ot,Pt,it=-1,_t=!1,Et=null,qe;if(Ui.lastIndex=0,N.m3u8=e,N.hasVariableRefs=hi(e),((M=Ui.exec(e))==null?void 0:M[0])!=="#EXTM3U")return N.playlistParsingError=new Error("Missing format identifier #EXTM3U"),N;for(;(Ze=Ui.exec(e))!==null;){_t&&(_t=!1,Me=new se(u,W),Me.playlistOffset=pe,Me.start=pe,Me.sn=re,Me.cc=_e,Se&&(Me.bitrate=Se),Me.level=i,J&&(Me.initSegment=J,J.rawProgramDateTime&&(Me.rawProgramDateTime=J.rawProgramDateTime,J.rawProgramDateTime=null),Et&&(Me.setByteRange(Et),Et=null)));const Lr=Ze[1];if(Lr){Me.duration=parseFloat(Lr);const Sr=(" "+Ze[2]).slice(1);Me.title=Sr||null,Me.tagList.push(Sr?["INF",Lr,Sr]:["INF",Lr])}else if(Ze[3]){if(ee(Me.duration)){Me.playlistOffset=pe,Me.start=pe,Pt&&zn(Me,Pt,N),Me.sn=re,Me.level=i,Me.cc=_e,j.push(Me);const Sr=(" "+Ze[3]).slice(1);Me.relurl=Ri(N,Sr),Cn(Me,ke,Z),ke=Me,pe+=Me.duration,re++,ie=0,_t=!0}}else{if(Ze=Ze[0].match(Nn),!Ze){b.warn("No matches on slow regex match for level playlist!");continue}for(ot=1;ot<Ze.length&&Ze[ot]===void 0;ot++);const Sr=(" "+Ze[ot]).slice(1),vr=(" "+Ze[ot+1]).slice(1),Kr=Ze[ot+2]?(" "+Ze[ot+2]).slice(1):null;switch(Sr){case"BYTERANGE":ke?Me.setByteRange(vr,ke):Me.setByteRange(vr);break;case"PROGRAM-DATE-TIME":Me.rawProgramDateTime=vr,Me.tagList.push(["PROGRAM-DATE-TIME",vr]),it===-1&&(it=j.length);break;case"PLAYLIST-TYPE":N.type&&qi(N,Sr,Ze),N.type=vr.toUpperCase();break;case"MEDIA-SEQUENCE":N.startSN!==0?qi(N,Sr,Ze):j.length>0&&qn(N,Sr,Ze),re=N.startSN=parseInt(vr);break;case"SKIP":{N.skippedSegments&&qi(N,Sr,Ze);const _r=new ai(vr,N),Hr=_r.decimalInteger("SKIPPED-SEGMENTS");if(ee(Hr)){N.skippedSegments+=Hr;for(let pr=Hr;pr--;)j.push(null);re+=Hr}const Gr=_r.enumeratedString("RECENTLY-REMOVED-DATERANGES");Gr&&(N.recentlyRemovedDateranges=(N.recentlyRemovedDateranges||[]).concat(Gr.split(" ")));break}case"TARGETDURATION":N.targetduration!==0&&qi(N,Sr,Ze),N.targetduration=Math.max(parseInt(vr),1);break;case"VERSION":N.version!==null&&qi(N,Sr,Ze),N.version=parseInt(vr);break;case"INDEPENDENT-SEGMENTS":break;case"ENDLIST":N.live||qi(N,Sr,Ze),N.live=!1;break;case"#":(vr||Kr)&&Me.tagList.push(Kr?[vr,Kr]:[vr]);break;case"DISCONTINUITY":_e++,Me.tagList.push(["DIS"]);break;case"GAP":Me.gap=!0,Me.tagList.push([Sr]);break;case"BITRATE":Me.tagList.push([Sr,vr]),Se=parseInt(vr)*1e3,ee(Se)?Me.bitrate=Se:Se=0;break;case"DATERANGE":{const _r=new ai(vr,N),Hr=new tn(_r,N.dateRanges[_r.ID],N.dateRangeTagCount);N.dateRangeTagCount++,Hr.isValid||N.skippedSegments?N.dateRanges[Hr.id]=Hr:b.warn(`Ignoring invalid DATERANGE tag: "${vr}"`),Me.tagList.push(["EXT-X-DATERANGE",vr]);break}case"DEFINE":{{const _r=new ai(vr,N);"IMPORT"in _r?Bi(N,_r,T):Ni(N,_r,t)}break}case"DISCONTINUITY-SEQUENCE":N.startCC!==0?qi(N,Sr,Ze):j.length>0&&qn(N,Sr,Ze),N.startCC=_e=parseInt(vr);break;case"KEY":{const _r=Vn(vr,t,N);if(_r.isSupported()){if(_r.method==="NONE"){Pt=void 0;break}Pt||(Pt={});const Hr=Pt[_r.keyFormat];Hr!=null&&Hr.matches(_r)||(Hr&&(Pt=l({},Pt)),Pt[_r.keyFormat]=_r)}else b.warn(`[Keys] Ignoring invalid EXT-X-KEY tag: "${vr}"`);break}case"START":N.startTimeOffset=wn(vr);break;case"MAP":{const _r=new ai(vr,N);if(Me.duration){const Hr=new se(u,W);Hn(Hr,_r,i,Pt),J=Hr,Me.initSegment=J,J.rawProgramDateTime&&!Me.rawProgramDateTime&&(Me.rawProgramDateTime=J.rawProgramDateTime)}else{const Hr=Me.byteRangeEndOffset;if(Hr){const Gr=Me.byteRangeStartOffset;Et=`${Hr-Gr}@${Gr}`}else Et=null;Hn(Me,_r,i,Pt),J=Me,_t=!0}J.cc=_e;break}case"SERVER-CONTROL":{qe&&qi(N,Sr,Ze),qe=new ai(vr),N.canBlockReload=qe.bool("CAN-BLOCK-RELOAD"),N.canSkipUntil=qe.optionalFloat("CAN-SKIP-UNTIL",0),N.canSkipDateRanges=N.canSkipUntil>0&&qe.bool("CAN-SKIP-DATERANGES"),N.partHoldBack=qe.optionalFloat("PART-HOLD-BACK",0),N.holdBack=qe.optionalFloat("HOLD-BACK",0);break}case"PART-INF":{N.partTarget&&qi(N,Sr,Ze);const _r=new ai(vr);N.partTarget=_r.decimalFloatingPoint("PART-TARGET");break}case"PART":{let _r=N.partList;_r||(_r=N.partList=[]);const Hr=ie>0?_r[_r.length-1]:void 0,Gr=ie++,pr=new ai(vr,N),nr=new ue(pr,Me,W,Gr,Hr);_r.push(nr),Me.duration+=nr.duration;break}case"PRELOAD-HINT":{const _r=new ai(vr,N);N.preloadHint=_r;break}case"RENDITION-REPORT":{const _r=new ai(vr,N);N.renditionReports=N.renditionReports||[],N.renditionReports.push(_r);break}default:b.warn(`line parsed but not handled: ${Ze}`);break}}}ke&&!ke.relurl?(j.pop(),pe-=ke.duration,N.partList&&(N.fragmentHint=ke)):N.partList&&(Cn(Me,ke,Z),Me.cc=_e,N.fragmentHint=Me,Pt&&zn(Me,Pt,N)),N.targetduration||(N.playlistParsingError=new Error("#EXT-X-TARGETDURATION is required"));const jt=j.length,ur=j[0],Ur=j[jt-1];if(pe+=N.skippedSegments*N.targetduration,pe>0&&jt&&Ur){N.averagetargetduration=pe/jt;const Lr=Ur.sn;N.endSN=Lr!=="initSegment"?Lr:0,N.live||(Ur.endList=!0),ur&&N.startCC===void 0&&(N.startCC=ur.cc),it>0&&(yn(j,it),ur&&Z.unshift(ur))}else N.endSN=0,N.startCC=0;return N.fragmentHint&&(pe+=N.fragmentHint.duration),N.totalduration=pe,Z.length&&N.dateRangeTagCount&&ur&&Qn(Z,N),N.endCC=_e,N}}function Qn(D,e){const t=D.length;if(!t)return;const i=D[t-1],u=e.live?1/0:e.totalduration,v=Object.keys(e.dateRanges);for(let T=v.length;T--;){const M=e.dateRanges[v[T]],W=M.startDate.getTime();M.tagAnchor=i.ref;for(let N=t;N--;){const j=Sn(e,W,D,N,u);if(j!==-1){M.tagAnchor=e.fragments[j].ref;break}}}}function Sn(D,e,t,i,u){const v=t[i];if(v){const M=v.programDateTime;if(e>=M||i===0){var T;const W=(((T=t[i+1])==null?void 0:T.start)||u)-v.start;if(e<=M+W*1e3){const N=t[i].sn-D.startSN,j=D.fragments;if(j.length>t.length){const J=(t[i+1]||j[j.length-1]).sn-D.startSN;for(let re=J;re>N;re--){const ie=j[re].programDateTime;if(e>=ie&&e<ie+j[re].duration*1e3)return re}}return N}}}return-1}function Vn(D,e,t){var i,u;const v=new ai(D,t),T=(i=v.METHOD)!=null?i:"",M=v.URI,W=v.hexadecimalInteger("IV"),N=v.KEYFORMATVERSIONS,j=(u=v.KEYFORMAT)!=null?u:"identity";M&&v.IV&&!W&&b.error(`Invalid IV: ${v.IV}`);const Z=M?an.resolve(M,e):"",J=(N||"1").split("/").map(Number).filter(Number.isFinite);return new oi(T,Z,j,J,W,v.KEYID)}function wn(D){const t=new ai(D).decimalFloatingPoint("TIME-OFFSET");return ee(t)?t:null}function Jn(D,e){let t=(D||"").split(/[ ,]+/).filter(i=>i);["video","audio","text"].forEach(i=>{const u=t.filter(v=>Wt(v,i));u.length&&(e[`${i}Codec`]=u.map(v=>v.split("/")[0]).join(","),t=t.filter(v=>u.indexOf(v)===-1))}),e.unknownCodecs=t}function Bn(D,e,t){const i=e[t];i&&(D[t]=i)}function yn(D,e){let t=D[e];for(let i=e;i--;){const u=D[i];if(!u)return;u.programDateTime=t.programDateTime-u.duration*1e3,t=u}}function Cn(D,e,t){D.rawProgramDateTime?t.push(D):e!=null&&e.programDateTime&&(D.programDateTime=e.endProgramDateTime)}function Hn(D,e,t,i){D.relurl=e.URI,e.BYTERANGE&&D.setByteRange(e.BYTERANGE),D.level=t,D.sn="initSegment",i&&(D.levelkeys=i),D.initSegment=null}function zn(D,e,t){D.levelkeys=e;const{encryptedFragments:i}=t;(!i.length||i[i.length-1].levelkeys!==e)&&Object.keys(e).some(u=>e[u].isCommonEncryption)&&i.push(D)}function qi(D,e,t){D.playlistParsingError=new Error(`#EXT-X-${e} must not appear more than once (${t[0]})`)}function qn(D,e,t){D.playlistParsingError=new Error(`#EXT-X-${e} must appear before the first Media Segment (${t[0]})`)}function Pn(D,e){const t=e.startPTS;if(ee(t)){let i=0,u;e.sn>D.sn?(i=t-D.start,u=D):(i=D.start-t,u=e),u.duration!==i&&u.setDuration(i)}else e.sn>D.sn?D.cc===e.cc&&D.minEndPTS?e.setStart(D.start+(D.minEndPTS-D.start)):e.setStart(D.start+D.duration):e.setStart(Math.max(D.start-e.duration,0))}function ea(D,e,t,i,u,v){i-t<=0&&(b.warn("Fragment should have a positive duration",e),i=t+e.duration,v=u+e.duration);let M=t,W=i;const N=e.startPTS,j=e.endPTS;if(ee(N)){const _e=Math.abs(N-t);ee(e.deltaPTS)?e.deltaPTS=Math.max(_e,e.deltaPTS):e.deltaPTS=_e,M=Math.max(t,N),t=Math.min(t,N),u=Math.min(u,e.startDTS),W=Math.min(i,j),i=Math.max(i,j),v=Math.max(v,e.endDTS)}const Z=t-e.start;e.start!==0&&e.setStart(t),e.setDuration(i-e.start),e.startPTS=t,e.maxStartPTS=M,e.startDTS=u,e.endPTS=i,e.minEndPTS=W,e.endDTS=v;const J=e.sn;if(!D||J<D.startSN||J>D.endSN)return 0;let re;const ie=J-D.startSN,pe=D.fragments;for(pe[ie]=e,re=ie;re>0;re--)Pn(pe[re],pe[re-1]);for(re=ie;re<pe.length-1;re++)Pn(pe[re],pe[re+1]);return D.fragmentHint&&Pn(pe[pe.length-1],D.fragmentHint),D.PTSKnown=D.alignedSliding=!0,Z}function fa(D,e){if(D===e)return;let t=null;const i=D.fragments;for(let N=i.length-1;N>=0;N--){const j=i[N].initSegment;if(j){t=j;break}}D.fragmentHint&&delete D.fragmentHint.endPTS;let u;jn(D,e,(N,j,Z,J)=>{if((!e.startCC||e.skippedSegments)&&j.cc!==N.cc){const re=N.cc-j.cc;for(let ie=Z;ie<J.length;ie++)J[ie].cc+=re;e.endCC=J[J.length-1].cc}ee(N.startPTS)&&ee(N.endPTS)&&(j.setStart(j.startPTS=N.startPTS),j.startDTS=N.startDTS,j.maxStartPTS=N.maxStartPTS,j.endPTS=N.endPTS,j.endDTS=N.endDTS,j.minEndPTS=N.minEndPTS,j.setDuration(N.endPTS-N.startPTS),j.duration&&(u=j),e.PTSKnown=e.alignedSliding=!0),N.hasStreams&&(j.elementaryStreams=N.elementaryStreams),j.loader=N.loader,N.hasStats&&(j.stats=N.stats),N.initSegment&&(j.initSegment=N.initSegment,t=N.initSegment)});const v=e.fragments,T=e.fragmentHint?v.concat(e.fragmentHint):v;if(t&&T.forEach(N=>{var j;N&&(!N.initSegment||N.initSegment.relurl===((j=t)==null?void 0:j.relurl))&&(N.initSegment=t)}),e.skippedSegments){if(e.deltaUpdateFailed=v.some(N=>!N),e.deltaUpdateFailed){b.warn("[level-helper] Previous playlist missing segments skipped in delta playlist");for(let N=e.skippedSegments;N--;)v.shift();e.startSN=v[0].sn}else{e.canSkipDateRanges&&(e.dateRanges=da(D.dateRanges,e));const N=D.fragments.filter(j=>j.rawProgramDateTime);if(D.hasProgramDateTime&&!e.hasProgramDateTime)for(let j=1;j<T.length;j++)T[j].programDateTime===null&&Cn(T[j],T[j-1],N);Qn(N,e)}e.endCC=v[v.length-1].cc}if(!e.startCC){var M;const N=Wi(D,e.startSN-1);e.startCC=(M=N==null?void 0:N.cc)!=null?M:v[0].cc}_a(D.partList,e.partList,(N,j)=>{j.elementaryStreams=N.elementaryStreams,j.stats=N.stats}),u?ea(e,u,u.startPTS,u.endPTS,u.startDTS,u.endDTS):qr(D,e),v.length&&(e.totalduration=e.edge-v[0].start),e.driftStartTime=D.driftStartTime,e.driftStart=D.driftStart;const W=e.advancedDateTime;if(e.advanced&&W){const N=e.edge;e.driftStart||(e.driftStartTime=W,e.driftStart=N),e.driftEndTime=W,e.driftEnd=N}else e.driftEndTime=D.driftEndTime,e.driftEnd=D.driftEnd,e.advancedDateTime=D.advancedDateTime;e.requestScheduled===-1&&(e.requestScheduled=D.requestScheduled)}function da(D,e){const{dateRanges:t,recentlyRemovedDateranges:i}=e,u=l({},D);i&&i.forEach(M=>{delete u[M]});const T=Object.keys(u).length;return T&&Object.keys(t).forEach(M=>{const W=u[M],N=new tn(t[M].attr,W);N.isValid?(u[M]=N,W||(N.tagOrder+=T)):b.warn(`Ignoring invalid Playlist Delta Update DATERANGE tag: "${gt(t[M].attr)}"`)}),u}function _a(D,e,t){if(D&&e){let i=0;for(let u=0,v=D.length;u<=v;u++){const T=D[u],M=e[u+i];T&&M&&T.index===M.index&&T.fragment.sn===M.fragment.sn?t(T,M):i--}}}function jn(D,e,t){const i=e.skippedSegments,u=Math.max(D.startSN,e.startSN)-e.startSN,v=(D.fragmentHint?1:0)+(i?e.endSN:Math.min(D.endSN,e.endSN))-e.startSN,T=e.startSN-D.startSN,M=e.fragmentHint?e.fragments.concat(e.fragmentHint):e.fragments,W=D.fragmentHint?D.fragments.concat(D.fragmentHint):D.fragments;for(let N=u;N<=v;N++){const j=W[T+N];let Z=M[N];if(i&&!Z&&j&&(Z=e.fragments[N]=j),j&&Z){if(t(j,Z,N,M),j.url&&j.url!==Z.url){e.playlistParsingError=fn(`media sequence mismatch ${Z.sn}:`,D,e,j,Z);return}else if(j.cc!==Z.cc){e.playlistParsingError=fn(`discontinuity sequence mismatch (${j.cc}!=${Z.cc})`,D,e,j,Z);return}}}}function fn(D,e,t,i,u){return new Error(`${D} ${u.url}
Playlist starting @${e.startSN}
${e.m3u8}
Playlist starting @${t.startSN}
${t.m3u8}`)}function qr(D,e,t=!0){const i=e.startSN+e.skippedSegments-D.startSN,u=D.fragments,v=i>=0;let T=0;if(v&&i<u.length)T=u[i].start;else if(v&&e.startSN===D.endSN+1)T=D.fragmentEnd;else if(v&&t)T=D.fragmentStart+i*e.levelTargetDuration;else if(!e.skippedSegments&&e.fragmentStart===0)T=D.fragmentStart;else return;Yr(e,T)}function Yr(D,e){if(e){const t=D.fragments;for(let i=D.skippedSegments;i<t.length;i++)t[i].addStart(e);D.fragmentHint&&D.fragmentHint.addStart(e)}}function ki(D,e=1/0){let t=1e3*D.targetduration;if(D.updated){const i=D.fragments;if(i.length&&t*4>e){const v=i[i.length-1].duration*1e3;v<t&&(t=v)}}else t/=2;return Math.round(t)}function Wi(D,e,t){if(!D)return null;let i=D.fragments[e-D.startSN];return i||(i=D.fragmentHint,i&&i.sn===e)?i:e<D.startSN&&t&&t.sn===e?t:null}function wi(D,e,t){return D?Ci(D.partList,e,t):null}function Ci(D,e,t){if(D)for(let i=D.length;i--;){const u=D[i];if(u.index===t&&u.fragment.sn===e)return u}return null}function sn(D){D.forEach((e,t)=>{var i;(i=e.details)==null||i.fragments.forEach(u=>{u.level=t,u.initSegment&&(u.initSegment.level=t)})})}function Hi(D,e){for(let i=0,u=D.length;i<u;i++){var t;if(((t=D[i])==null?void 0:t.cc)===e)return D[i]}return null}function En(D,e){return!!(D&&e.startCC<D.endCC&&e.endCC>D.startCC)}function dn(D,e){if(D){const t=D.start+e;D.start=D.startPTS=t,D.endPTS=t+D.duration}}function _n(D,e){const t=e.fragments;for(let i=0,u=t.length;i<u;i++)dn(t[i],D);e.fragmentHint&&dn(e.fragmentHint,D),e.alignedSliding=!0}function Un(D,e){D&&(In(e,D),!e.alignedSliding&&D&&ta(e,D),!e.alignedSliding&&D&&!e.skippedSegments&&qr(D,e,!1))}function In(D,e){if(!En(e,D))return;const t=Math.min(e.endCC,D.endCC),i=Hi(e.fragments,t),u=Hi(D.fragments,t);if(!i||!u)return;b.log(`Aligning playlist at start of dicontinuity sequence ${t}`);const v=i.start-u.start;_n(v,D)}function ta(D,e){if(!D.hasProgramDateTime||!e.hasProgramDateTime)return;const t=D.fragments,i=e.fragments;if(!t.length||!i.length)return;let u,v;const T=Math.min(e.endCC,D.endCC);e.startCC<T&&D.startCC<T&&(u=Hi(i,T),v=Hi(t,T)),(!u||!v)&&(u=i[Math.floor(i.length/2)],v=Hi(t,u.cc)||t[Math.floor(t.length/2)]);const M=u.programDateTime,W=v.programDateTime;if(!M||!W)return;const N=(W-M)/1e3-(v.start-u.start);_n(N,D)}const Ga={toString:function(D){let e="";const t=D.length;for(let i=0;i<t;i++)e+=`[${D.start(i).toFixed(3)}-${D.end(i).toFixed(3)}]`;return e}},wt={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 gi extends Zr{constructor(e,t,i,u,v){super(u,e.logger),this.hls=void 0,this.fragPrevious=null,this.fragCurrent=null,this.fragmentTracker=void 0,this.transmuxer=null,this._state=wt.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=0,this.startTimeOffset=null,this.retryDate=0,this.levels=null,this.fragmentLoader=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=()=>{const{config:T,fragCurrent:M,media:W,mediaBuffer:N,state:j}=this,Z=W?W.currentTime:0,J=fr.bufferInfo(N||W,Z,T.maxBufferHole),re=!J.len;if(this.log(`Media seeking to ${ee(Z)?Z.toFixed(3):Z}, state: ${j}, ${re?"out of":"in"} buffer`),this.state===wt.ENDED)this.resetLoadingState();else if(M){const ie=T.maxFragLookUpTolerance,pe=M.start-ie,_e=M.start+M.duration+ie;if(re||_e<J.start||pe>J.end){const Se=Z>_e;(Z<pe||Se)&&(Se&&M.loader&&(this.log(`Cancelling fragment load for seek (sn: ${M.sn})`),M.abortRequests(),this.resetLoadingState()),this.fragPrevious=null)}}if(W){this.fragmentTracker.removeFragmentsInRange(Z,1/0,this.playlistType,!0);const ie=this.lastCurrentTime;if(Z>ie&&(this.lastCurrentTime=Z),!this.loadingParts){const pe=Math.max(J.end,Z),_e=this.shouldLoadParts(this.getLevelDetails(),pe);_e&&(this.log(`LL-Part loading ON after seeking to ${Z.toFixed(2)} with buffer @${pe.toFixed(2)}`),this.loadingParts=_e)}}this.hls.hasEnoughToStart||(this.log(`Setting ${re?"startPosition":"nextLoadPosition"} to ${Z} for seek without enough to start`),this.nextLoadPosition=Z,re&&(this.startPosition=Z)),this.tickImmediate()},this.onMediaEnded=()=>{this.log("setting startPosition to 0 because media ended"),this.startPosition=this.lastCurrentTime=0},this.playlistType=v,this.hls=e,this.fragmentLoader=new Fr(e.config),this.keyLoader=i,this.fragmentTracker=t,this.config=e.config,this.decrypter=new kr(e.config)}registerListeners(){const{hls:e}=this;e.on(y.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(y.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(y.MANIFEST_LOADING,this.onManifestLoading,this),e.on(y.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(y.ERROR,this.onError,this)}unregisterListeners(){const{hls:e}=this;e.off(y.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(y.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(y.MANIFEST_LOADING,this.onManifestLoading,this),e.off(y.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(y.ERROR,this.onError,this)}doTick(){this.onTickEnd()}onTickEnd(){}startLoad(e){}stopLoad(){if(this.state===wt.STOPPED)return;this.fragmentLoader.abort(),this.keyLoader.abort(this.playlistType);const e=this.fragCurrent;e!=null&&e.loader&&(e.abortRequests(),this.fragmentTracker.removeFragment(e)),this.resetTransmuxer(),this.fragCurrent=null,this.fragPrevious=null,this.clearInterval(),this.clearNextTick(),this.state=wt.STOPPED}get startPositionValue(){const{nextLoadPosition:e,startPosition:t}=this;return t===-1&&e?e:t}get bufferingEnabled(){return this.buffering}pauseBuffering(){this.buffering=!1}resumeBuffering(){this.buffering=!0}get inFlightFrag(){return{frag:this.fragCurrent,state:this.state}}_streamEnded(e,t){if(t.live||!this.media)return!1;const i=e.end||0,u=this.config.timelineOffset||0;if(i<=u)return!1;const v=e.buffered;this.config.maxBufferHole&&v&&v.length>1&&(e=fr.bufferedInfo(v,e.start,0));const T=e.nextStart;if(T&&T>u&&T<t.edge||this.media.currentTime<e.start)return!1;const W=t.partList;if(W!=null&&W.length){const j=W[W.length-1];return fr.isBuffered(this.media,j.start+j.duration/2)}const N=t.fragments[t.fragments.length-1].type;return this.fragmentTracker.isEndListAppended(N)}getLevelDetails(){if(this.levels&&this.levelLastLoaded!==null){var e;return(e=this.levelLastLoaded)==null?void 0:e.details}}get timelineOffset(){const e=this.config.timelineOffset;if(e){var t;return((t=this.getLevelDetails())==null?void 0:t.appliedTimelineOffset)||e}return 0}onMediaAttached(e,t){const i=this.media=this.mediaBuffer=t.media;i.removeEventListener("seeking",this.onMediaSeeking),i.removeEventListener("ended",this.onMediaEnded),i.addEventListener("seeking",this.onMediaSeeking),i.addEventListener("ended",this.onMediaEnded);const u=this.config;this.levels&&u.autoStartLoad&&this.state===wt.STOPPED&&this.startLoad(u.startPosition)}onMediaDetaching(e,t){const i=!!t.transferMedia,u=this.media;if(u!==null){if(u.ended&&(this.log("MSE detaching and video ended, reset startPosition"),this.startPosition=this.lastCurrentTime=0),u.removeEventListener("seeking",this.onMediaSeeking),u.removeEventListener("ended",this.onMediaEnded),this.keyLoader&&!i&&this.keyLoader.detach(),this.media=this.mediaBuffer=null,this.loopSn=void 0,i){this.resetLoadingState(),this.resetTransmuxer();return}this.loadingParts=!1,this.fragmentTracker.removeAllFragments(),this.stopLoad()}}onManifestLoading(){this.initPTS=[],this.levels=this.levelLastLoaded=this.fragCurrent=null,this.lastCurrentTime=this.startPosition=0,this.startFragRequested=!1}onError(e,t){}onManifestLoaded(e,t){this.startTimeOffset=t.startTimeOffset}onHandlerDestroying(){this.stopLoad(),this.transmuxer&&(this.transmuxer.destroy(),this.transmuxer=null),super.onHandlerDestroying(),this.hls=this.onMediaSeeking=this.onMediaEnded=null}onHandlerDestroyed(){this.state=wt.STOPPED,this.fragmentLoader&&this.fragmentLoader.destroy(),this.keyLoader&&this.keyLoader.destroy(),this.decrypter&&this.decrypter.destroy(),this.hls=this.log=this.warn=this.decrypter=this.keyLoader=this.fragmentLoader=this.fragmentTracker=null,super.onHandlerDestroyed()}loadFragment(e,t,i){this.startFragRequested=!0,this._loadFragForPlayback(e,t,i)}_loadFragForPlayback(e,t,i){const u=v=>{const T=v.frag;if(this.fragContextChanged(T)){this.warn(`${T.type} sn: ${T.sn}${v.part?" part: "+v.part.index:""} of ${this.fragInfo(T,!1,v.part)}) was dropped during download.`),this.fragmentTracker.removeFragment(T);return}T.stats.chunkCount++,this._handleFragmentLoadProgress(v)};this._doFragLoad(e,t,i,u).then(v=>{if(!v)return;const T=this.state,M=v.frag;if(this.fragContextChanged(M)){(T===wt.FRAG_LOADING||!this.fragCurrent&&T===wt.PARSING)&&(this.fragmentTracker.removeFragment(M),this.state=wt.IDLE);return}"payload"in v&&(this.log(`Loaded ${M.type} sn: ${M.sn} of ${this.playlistLabel()} ${M.level}`),this.hls.trigger(y.FRAG_LOADED,v)),this._handleFragmentLoadComplete(v)}).catch(v=>{this.state===wt.STOPPED||this.state===wt.ERROR||(this.warn(`Frag error: ${(v==null?void 0:v.message)||v}`),this.resetFragmentLoading(e))})}clearTrackerIfNeeded(e){var t;const{fragmentTracker:i}=this;if(i.getState(e)===xr.APPENDING){const v=e.type,T=this.getFwdBufferInfo(this.mediaBuffer,v),M=Math.max(e.duration,T?T.len:this.config.maxBufferLength),W=this.backtrackFragment;((W?e.sn-W.sn:0)===1||this.reduceMaxBufferLength(M,e.duration))&&i.removeFragment(e)}else((t=this.mediaBuffer)==null?void 0:t.buffered.length)===0?i.removeAllFragments():i.hasParts(e.type)&&(i.detectPartialFragments({frag:e,part:null,stats:e.stats,id:e.type}),i.getState(e)===xr.PARTIAL&&i.removeFragment(e))}checkLiveUpdate(e){if(e.updated&&!e.live){const t=e.fragments[e.fragments.length-1];this.fragmentTracker.detectPartialFragments({frag:t,part:null,stats:t.stats,id:t.type})}e.fragments[0]||(e.deltaUpdateFailed=!0)}waitForLive(e){const t=e.details;return(t==null?void 0:t.live)&&t.type!=="EVENT"&&(this.levelLastLoaded!==e||t.expired)}flushMainBuffer(e,t,i=null){if(!(e-t))return;const u={startOffset:e,endOffset:t,type:i};this.hls.trigger(y.BUFFER_FLUSHING,u)}_loadInitSegment(e,t){this._doFragLoad(e,t).then(i=>{const u=i==null?void 0:i.frag;if(!u||this.fragContextChanged(u)||!this.levels)throw new Error("init load aborted");return i}).then(i=>{const{hls:u}=this,{frag:v,payload:T}=i,M=v.decryptdata;if(T&&T.byteLength>0&&M!=null&&M.key&&M.iv&&Fi(M.method)){const W=self.performance.now();return this.decrypter.decrypt(new Uint8Array(T),M.key.buffer,M.iv.buffer,Ki(M.method)).catch(N=>{throw u.trigger(y.ERROR,{type:S.MEDIA_ERROR,details:K.FRAG_DECRYPT_ERROR,fatal:!1,error:N,reason:N.message,frag:v}),N}).then(N=>{const j=self.performance.now();return u.trigger(y.FRAG_DECRYPTED,{frag:v,payload:N,stats:{tstart:W,tdecrypt:j}}),i.payload=N,this.completeInitSegmentLoad(i)})}return this.completeInitSegmentLoad(i)}).catch(i=>{this.state===wt.STOPPED||this.state===wt.ERROR||(this.warn(i),this.resetFragmentLoading(e))})}completeInitSegmentLoad(e){const{levels:t}=this;if(!t)throw new Error("init load aborted, missing levels");const i=e.frag.stats;this.state!==wt.STOPPED&&(this.state=wt.IDLE),e.frag.data=new Uint8Array(e.payload),i.parsing.start=i.buffering.start=self.performance.now(),i.parsing.end=i.buffering.end=self.performance.now(),this.tick()}fragContextChanged(e){const{fragCurrent:t}=this;return!e||!t||e.sn!==t.sn||e.level!==t.level}fragBufferedComplete(e,t){const i=this.mediaBuffer?this.mediaBuffer:this.media;if(this.log(`Buffered ${e.type} sn: ${e.sn}${t?" part: "+t.index:""} of ${this.fragInfo(e,!1,t)} > buffer:${i?Ga.toString(fr.getBuffered(i)):"(detached)"})`),q(e)){var u;if(e.type!==A.SUBTITLE){const T=e.elementaryStreams;if(!Object.keys(T).some(M=>!!T[M])){this.state=wt.IDLE;return}}const v=(u=this.levels)==null?void 0:u[e.level];v!=null&&v.fragmentError&&(this.log(`Resetting level fragment error count of ${v.fragmentError} on frag buffered`),v.fragmentError=0)}this.state=wt.IDLE}_handleFragmentLoadComplete(e){const{transmuxer:t}=this;if(!t)return;const{frag:i,part:u,partsLoaded:v}=e,T=!v||v.length===0||v.some(W=>!W),M=new Ai(i.level,i.sn,i.stats.chunkCount+1,0,u?u.index:-1,!T);t.flush(M)}_handleFragmentLoadProgress(e){}_doFragLoad(e,t,i=null,u){var v;this.fragCurrent=e;const T=t==null?void 0:t.details;if(!this.levels||!T)throw new Error(`frag load aborted, missing level${T?"":" detail"}s`);let M=null;e.encrypted&&!((v=e.decryptdata)!=null&&v.key)?(this.log(`Loading key for ${e.sn} of [${T.startSN}-${T.endSN}], ${this.playlistLabel()} ${e.level}`),this.state=wt.KEY_LOADING,this.fragCurrent=e,M=this.keyLoader.load(e).then(Z=>{if(!this.fragContextChanged(Z.frag))return this.hls.trigger(y.KEY_LOADED,Z),this.state===wt.KEY_LOADING&&(this.state=wt.IDLE),Z}),this.hls.trigger(y.KEY_LOADING,{frag:e}),this.fragCurrent===null&&(M=Promise.reject(new Error("frag load aborted, context changed in KEY_LOADING")))):e.encrypted||(M=this.keyLoader.loadClear(e,T.encryptedFragments,this.startFragRequested),M&&this.log("[eme] blocking frag load until media-keys acquired"));const W=this.fragPrevious;if(q(e)&&(!W||e.sn!==W.sn)){const Z=this.shouldLoadParts(t.details,e.end);Z!==this.loadingParts&&(this.log(`LL-Part loading ${Z?"ON":"OFF"} loading sn ${W==null?void 0:W.sn}->${e.sn}`),this.loadingParts=Z)}if(i=Math.max(e.start,i||0),this.loadingParts&&q(e)){const Z=T.partList;if(Z&&u){i>e.end&&T.fragmentHint&&(e=T.fragmentHint);const J=this.getNextPart(Z,e,i);if(J>-1){const re=Z[J];e=this.fragCurrent=re.fragment,this.log(`Loading ${e.type} sn: ${e.sn} part: ${re.index} (${J}/${Z.length-1}) of ${this.fragInfo(e,!1,re)}) cc: ${e.cc} [${T.startSN}-${T.endSN}], target: ${parseFloat(i.toFixed(3))}`),this.nextLoadPosition=re.start+re.duration,this.state=wt.FRAG_LOADING;let ie;return M?ie=M.then(pe=>!pe||this.fragContextChanged(pe.frag)?null:this.doFragPartsLoad(e,re,t,u)).catch(pe=>this.handleFragLoadError(pe)):ie=this.doFragPartsLoad(e,re,t,u).catch(pe=>this.handleFragLoadError(pe)),this.hls.trigger(y.FRAG_LOADING,{frag:e,part:re,targetBufferTime:i}),this.fragCurrent===null?Promise.reject(new Error("frag load aborted, context changed in FRAG_LOADING parts")):ie}else if(!e.url||this.loadedEndOfParts(Z,i))return Promise.resolve(null)}}if(q(e)&&this.loadingParts)this.log(`LL-Part loading OFF after next part miss @${i.toFixed(2)}`),this.loadingParts=!1;else if(!e.url)return Promise.resolve(null);this.log(`Loading ${e.type} sn: ${e.sn} of ${this.fragInfo(e,!1)}) cc: ${e.cc} ${T?"["+T.startSN+"-"+T.endSN+"]":""}, target: ${parseFloat(i.toFixed(3))}`),ee(e.sn)&&!this.bitrateTest&&(this.nextLoadPosition=e.start+e.duration),this.state=wt.FRAG_LOADING;const N=this.config.progressive;let j;return N&&M?j=M.then(Z=>!Z||this.fragContextChanged(Z==null?void 0:Z.frag)?null:this.fragmentLoader.load(e,u)).catch(Z=>this.handleFragLoadError(Z)):j=Promise.all([this.fragmentLoader.load(e,N?u:void 0),M]).then(([Z])=>(!N&&Z&&u&&u(Z),Z)).catch(Z=>this.handleFragLoadError(Z)),this.hls.trigger(y.FRAG_LOADING,{frag:e,targetBufferTime:i}),this.fragCurrent===null?Promise.reject(new Error("frag load aborted, context changed in FRAG_LOADING")):j}doFragPartsLoad(e,t,i,u){return new Promise((v,T)=>{var M;const W=[],N=(M=i.details)==null?void 0:M.partList,j=Z=>{this.fragmentLoader.loadPart(e,Z,u).then(J=>{W[Z.index]=J;const re=J.part;this.hls.trigger(y.FRAG_LOADED,J);const ie=wi(i.details,e.sn,Z.index+1)||Ci(N,e.sn,Z.index+1);if(ie)j(ie);else return v({frag:e,part:re,partsLoaded:W})}).catch(T)};j(t)})}handleFragLoadError(e){if("data"in e){const t=e.data;e.data&&t.details===K.INTERNAL_ABORTED?this.handleFragLoadAborted(t.frag,t.part):this.hls.trigger(y.ERROR,t)}else this.hls.trigger(y.ERROR,{type:S.OTHER_ERROR,details:K.INTERNAL_EXCEPTION,err:e,error:e,fatal:!0});return null}_handleTransmuxerFlush(e){const t=this.getCurrentContext(e);if(!t||this.state!==wt.PARSING){!this.fragCurrent&&this.state!==wt.STOPPED&&this.state!==wt.ERROR&&(this.state=wt.IDLE);return}const{frag:i,part:u,level:v}=t,T=self.performance.now();i.stats.parsing.end=T,u&&(u.stats.parsing.end=T);const M=this.getLevelDetails(),N=M&&i.sn>M.endSN||this.shouldLoadParts(M,i.end);N!==this.loadingParts&&(this.log(`LL-Part loading ${N?"ON":"OFF"} after parsing segment ending @${i.end.toFixed(2)}`),this.loadingParts=N),this.updateLevelTiming(i,u,v,e.partial)}shouldLoadParts(e,t){if(this.config.lowLatencyMode){if(!e)return this.loadingParts;if(e!=null&&e.partList){var i;const v=e.partList[0],T=v.end+(((i=e.fragmentHint)==null?void 0:i.duration)||0);if(t>=T){var u;if((this.hls.hasEnoughToStart?((u=this.media)==null?void 0:u.currentTime)||this.lastCurrentTime:this.getLoadPosition())>v.start-v.fragment.duration)return!0}}}return!1}getCurrentContext(e){const{levels:t,fragCurrent:i}=this,{level:u,sn:v,part:T}=e;if(!(t!=null&&t[u]))return this.warn(`Levels object was unset while buffering fragment ${v} of ${this.playlistLabel()} ${u}. The current chunk will not be buffered.`),null;const M=t[u],W=M.details,N=T>-1?wi(W,v,T):null,j=N?N.fragment:Wi(W,v,i);return j?(i&&i!==j&&(j.stats=i.stats),{frag:j,part:N,level:M}):null}bufferFragmentData(e,t,i,u,v){var T;if(!e||this.state!==wt.PARSING)return;const{data1:M,data2:W}=e;let N=M;if(M&&W&&(N=et(M,W)),!((T=N)!=null&&T.length))return;const j=this.initPTS[t.cc],Z=j?-j.baseTime/j.timescale:void 0,J={type:e.type,frag:t,part:i,chunkMeta:u,offset:Z,parent:t.type,data:N};if(this.hls.trigger(y.BUFFER_APPENDING,J),e.dropped&&e.independent&&!i){if(v)return;this.flushBufferGap(t)}}flushBufferGap(e){const t=this.media;if(!t)return;if(!fr.isBuffered(t,t.currentTime)){this.flushMainBuffer(0,e.start);return}const i=t.currentTime,u=fr.bufferInfo(t,i,0),v=e.duration,T=Math.min(this.config.maxFragLookUpTolerance*2,v*.25),M=Math.max(Math.min(e.start-T,u.end-T),i+T);e.start-M>T&&this.flushMainBuffer(M,e.start)}getFwdBufferInfo(e,t){var i;const u=this.getLoadPosition();if(!ee(u))return null;const T=this.lastCurrentTime>u||(i=this.media)!=null&&i.paused?0:this.config.maxBufferHole;return this.getFwdBufferInfoAtPos(e,u,t,T)}getFwdBufferInfoAtPos(e,t,i,u){const v=fr.bufferInfo(e,t,u);if(v.len===0&&v.nextStart!==void 0){const T=this.fragmentTracker.getBufferedFrag(t,i);if(T&&(v.nextStart<=T.end||T.gap)){const M=Math.max(Math.min(v.nextStart,T.end)-t,u);return fr.bufferInfo(e,t,M)}}return v}getMaxBufferLength(e){const{config:t}=this;let i;return e?i=Math.max(8*t.maxBufferSize/e,t.maxBufferLength):i=t.maxBufferLength,Math.min(i,t.maxMaxBufferLength)}reduceMaxBufferLength(e,t){const i=this.config,u=Math.max(Math.min(e-t,i.maxBufferLength),t),v=Math.max(e-t*3,i.maxMaxBufferLength/2,u);return v>=u?(i.maxMaxBufferLength=v,this.warn(`Reduce max buffer length to ${v}s`),!0):!1}getAppendedFrag(e,t=A.MAIN){var i;const u=(i=this.fragmentTracker)==null?void 0:i.getAppendedFrag(e,t);return u&&"fragment"in u?u.fragment:u}getNextFragment(e,t){const i=t.fragments,u=i.length;if(!u)return null;const{config:v}=this,T=i[0].start,M=v.lowLatencyMode&&!!t.partList;let W=null;if(t.live){const Z=v.initialLiveManifestSize;if(u<Z)return this.warn(`Not enough fragments to start playback (have: ${u}, need: ${Z})`),null;if(!t.PTSKnown&&!this.startFragRequested&&this.startPosition===-1||e<T){var N;M&&!this.loadingParts&&(this.log("LL-Part loading ON for initial live fragment"),this.loadingParts=!0),W=this.getInitialLiveFragment(t);const J=this.hls.startPosition,re=this.hls.liveSyncPosition,ie=W?(J!==-1&&J>=T?J:re)||W.start:e;this.log(`Setting startPosition to ${ie} to match start frag at live edge. mainStart: ${J} liveSyncPosition: ${re} frag.start: ${(N=W)==null?void 0:N.start}`),this.startPosition=this.nextLoadPosition=ie}}else e<=T&&(W=i[0]);if(!W){const Z=this.loadingParts?t.partEnd:t.fragmentEnd;W=this.getFragmentAtPosition(e,Z,t)}let j=this.filterReplacedPrimary(W,t);if(!j&&W){const Z=W.sn-t.startSN;j=this.filterReplacedPrimary(i[Z+1]||null,t)}return this.mapToInitFragWhenRequired(j)}isLoopLoading(e,t){const i=this.fragmentTracker.getState(e);return(i===xr.OK||i===xr.PARTIAL&&!!e.gap)&&this.nextLoadPosition>t}getNextFragmentLoopLoading(e,t,i,u,v){let T=null;if(e.gap&&(T=this.getNextFragment(this.nextLoadPosition,t),T&&!T.gap&&i.nextStart)){const M=this.getFwdBufferInfoAtPos(this.mediaBuffer?this.mediaBuffer:this.media,i.nextStart,u,0);if(M!==null&&i.len+M.len>=v){const W=T.sn;return this.loopSn!==W&&(this.log(`buffer full after gaps in "${u}" playlist starting at sn: ${W}`),this.loopSn=W),null}}return this.loopSn=void 0,T}get primaryPrefetch(){if(Si(this.hls.config)){var e,t;if((e=this.hls.interstitialsManager)==null||(t=e.playingItem)==null?void 0:t.event)return!0}return!1}filterReplacedPrimary(e,t){if(!e)return e;if(Si(this.hls.config)&&e.type!==A.SUBTITLE){const i=this.hls.interstitialsManager,u=i==null?void 0:i.bufferingItem;if(u){const T=u.event;if(T){if(T.appendInPlace||Math.abs(e.start-u.start)>1||u.start===0)return null}else if(e.end<=u.start&&(t==null?void 0:t.live)===!1||e.start>u.end&&u.nextEvent&&(u.nextEvent.appendInPlace||e.start-u.end>1))return null}const v=i==null?void 0:i.playerQueue;if(v)for(let T=v.length;T--;){const M=v[T].interstitial;if(M.appendInPlace&&e.start>=M.startTime&&e.end<=M.resumeTime)return null}}return e}mapToInitFragWhenRequired(e){return e!=null&&e.initSegment&&!(e!=null&&e.initSegment.data)&&!this.bitrateTest?e.initSegment:e}getNextPart(e,t,i){let u=-1,v=!1,T=!0;for(let M=0,W=e.length;M<W;M++){const N=e[M];if(T=T&&!N.independent,u>-1&&i<N.start)break;const j=N.loaded;j?u=-1:(v||N.independent||T)&&N.fragment===t&&(u=M),v=j}return u}loadedEndOfParts(e,t){const i=e[e.length-1];return i&&t>i.start&&i.loaded}getInitialLiveFragment(e){const t=e.fragments,i=this.fragPrevious;let u=null;if(i){if(e.hasProgramDateTime&&(this.log(`Live playlist, switching playlist, load frag with same PDT: ${i.programDateTime}`),u=Qt(t,i.endProgramDateTime,this.config.maxFragLookUpTolerance)),!u){const v=i.sn+1;if(v>=e.startSN&&v<=e.endSN){const T=t[v-e.startSN];i.cc===T.cc&&(u=T,this.log(`Live playlist, switching playlist, load frag with next SN: ${u.sn}`))}u||(u=lr(e,i.cc,i.end),u&&this.log(`Live playlist, switching playlist, load frag with same CC: ${u.sn}`))}}else{const v=this.hls.liveSyncPosition;v!==null&&(u=this.getFragmentAtPosition(v,this.bitrateTest?e.fragmentEnd:e.edge,e))}return u}getFragmentAtPosition(e,t,i){const{config:u}=this;let{fragPrevious:v}=this,{fragments:T,endSN:M}=i;const{fragmentHint:W}=i,{maxFragLookUpTolerance:N}=u,j=i.partList,Z=!!(this.loadingParts&&j!=null&&j.length&&W);Z&&W&&!this.bitrateTest&&j[j.length-1].fragment.sn===W.sn&&(T=T.concat(W),M=W.sn);let J;if(e<t){var re;const pe=e<this.lastCurrentTime||e>t-N||(re=this.media)!=null&&re.paused||!this.startFragRequested?0:N;J=Zt(v,T,e,pe)}else J=T[T.length-1];if(J){const ie=J.sn-i.startSN,pe=this.fragmentTracker.getState(J);if((pe===xr.OK||pe===xr.PARTIAL&&J.gap)&&(v=J),v&&J.sn===v.sn&&(!Z||j[0].fragment.sn>J.sn||!i.live&&!Z)&&v&&J.level===v.level){const Se=T[ie+1];J.sn<M&&this.fragmentTracker.getState(Se)!==xr.OK?J=Se:J=null}}return J}alignPlaylists(e,t,i){const u=e.fragments.length;if(!u)return this.warn("No fragments in live playlist"),0;const v=e.fragmentStart,T=!t,M=e.alignedSliding&&ee(v);if(T||!M&&!v){Un(i,e);const W=e.fragmentStart;return this.log(`Live playlist sliding: ${W.toFixed(2)} start-sn: ${t?t.startSN:"na"}->${e.startSN} fragments: ${u}`),W}return v}waitForCdnTuneIn(e){return e.live&&e.canBlockReload&&e.partTarget&&e.tuneInGoal>Math.max(e.partHoldBack,e.partTarget*3)}setStartPosition(e,t){let i=this.startPosition;i<t&&(i=-1);const u=this.timelineOffset;if(i===-1){const v=this.startTimeOffset!==null,T=v?this.startTimeOffset:e.startTimeOffset;T!==null&&ee(T)?(i=t+T,T<0&&(i+=e.edge),i=Math.min(Math.max(t,i),t+e.totalduration),this.log(`Setting startPosition to ${i} for start time offset ${T} found in ${v?"multivariant":"media"} playlist`),this.startPosition=i):e.live?(i=this.hls.liveSyncPosition||t,this.log(`Setting startPosition to -1 to start at live edge ${i}`),this.startPosition=-1):(this.log("setting startPosition to 0 by default"),this.startPosition=i=0),this.lastCurrentTime=i+u}this.nextLoadPosition=i+u}getLoadPosition(){var e;const{media:t}=this;let i=0;return(e=this.hls)!=null&&e.hasEnoughToStart&&t?i=t.currentTime:this.nextLoadPosition>=0&&(i=this.nextLoadPosition),i}handleFragLoadAborted(e,t){this.transmuxer&&e.type===this.playlistType&&q(e)&&e.stats.aborted&&(this.log(`Fragment ${e.sn}${t?" part "+t.index:""} of ${this.playlistLabel()} ${e.level} was aborted`),this.resetFragmentLoading(e))}resetFragmentLoading(e){(!this.fragCurrent||!this.fragContextChanged(e)&&this.state!==wt.FRAG_LOADING_WAITING_RETRY)&&(this.state=wt.IDLE)}onFragmentOrKeyLoadError(e,t){if(t.chunkMeta&&!t.frag){const ie=this.getCurrentContext(t.chunkMeta);ie&&(t.frag=ie.frag)}const i=t.frag;if(!i||i.type!==e||!this.levels)return;if(this.fragContextChanged(i)){var u;this.warn(`Frag load error must match current frag to retry ${i.url} > ${(u=this.fragCurrent)==null?void 0:u.url}`);return}const v=t.details===K.FRAG_GAP;v&&this.fragmentTracker.fragBuffered(i,!0);const T=t.errorAction,{action:M,flags:W,retryCount:N=0,retryConfig:j}=T||{},Z=!!T&&!!j,J=Z&&M===er.RetryRequest,re=Z&&!T.resolved&&W===Br.MoveAllAlternatesMatchingHost;if(!J&&re&&q(i)&&!i.endList)this.resetFragmentErrors(e),this.treatAsGap(i),T.resolved=!0;else if((J||re)&&N<j.maxNumRetry){this.resetStartWhenNotLoaded(this.levelLastLoaded);const ie=br(j,N);this.warn(`Fragment ${i.sn} of ${e} ${i.level} errored with ${t.details}, retrying loading ${N+1}/${j.maxNumRetry} in ${ie}ms`),T.resolved=!0,this.retryDate=self.performance.now()+ie,this.state=wt.FRAG_LOADING_WAITING_RETRY}else if(j&&T)if(this.resetFragmentErrors(e),N<j.maxNumRetry)!v&&M!==er.RemoveAlternatePermanently&&(T.resolved=!0);else{this.warn(`${t.details} reached or exceeded max retry (${N})`);return}else M===er.SendAlternateToPenaltyBox?this.state=wt.WAITING_LEVEL:this.state=wt.ERROR;this.tickImmediate()}reduceLengthAndFlushBuffer(e){if(this.state===wt.PARSING||this.state===wt.PARSED){const t=e.frag,i=e.parent,u=this.getFwdBufferInfo(this.mediaBuffer,i),v=u&&u.len>.5;v&&this.reduceMaxBufferLength(u.len,(t==null?void 0:t.duration)||10);const T=!v;return T&&this.warn(`Buffer full error while media.currentTime is not buffered, flush ${i} buffer`),t&&(this.fragmentTracker.removeFragment(t),this.nextLoadPosition=t.start),this.resetLoadingState(),T}return!1}resetFragmentErrors(e){e===A.AUDIO&&(this.fragCurrent=null),this.hls.hasEnoughToStart||(this.startFragRequested=!1),this.state!==wt.STOPPED&&(this.state=wt.IDLE)}afterBufferFlushed(e,t,i){if(!e)return;const u=fr.getBuffered(e);this.fragmentTracker.detectEvictedFragments(t,u,i),this.state===wt.ENDED&&this.resetLoadingState()}resetLoadingState(){this.log("Reset loading state"),this.fragCurrent=null,this.fragPrevious=null,this.state!==wt.STOPPED&&(this.state=wt.IDLE)}resetStartWhenNotLoaded(e){if(!this.hls.hasEnoughToStart){this.startFragRequested=!1;const t=e?e.details:null;t!=null&&t.live?(this.log("resetting startPosition for live start"),this.startPosition=-1,this.setStartPosition(t,t.fragmentStart),this.resetLoadingState()):this.nextLoadPosition=this.startPosition}}resetWhenMissingContext(e){this.warn(`The loading context changed while buffering fragment ${e.sn} of ${this.playlistLabel()} ${e.level}. This chunk will not be buffered.`),this.removeUnbufferedFrags(),this.resetStartWhenNotLoaded(this.levelLastLoaded),this.resetLoadingState()}removeUnbufferedFrags(e=0){this.fragmentTracker.removeFragmentsInRange(e,1/0,this.playlistType,!1,!0)}updateLevelTiming(e,t,i,u){const v=i.details;if(!v){this.warn("level.details undefined");return}if(!Object.keys(e.elementaryStreams).reduce((W,N)=>{const j=e.elementaryStreams[N];if(j){const Z=j.endPTS-j.startPTS;if(Z<=0)return this.warn(`Could not parse fragment ${e.sn} ${N} duration reliably (${Z})`),W||!1;const J=u?0:ea(v,e,j.startPTS,j.endPTS,j.startDTS,j.endDTS);return this.hls.trigger(y.LEVEL_PTS_UPDATED,{details:v,level:i,drift:J,type:N,frag:e,start:j.startPTS,end:j.endPTS}),!0}return W},!1)){var M;if(i.fragmentError===0&&this.treatAsGap(e,i),((M=this.transmuxer)==null?void 0:M.error)===null){const W=new Error(`Found no media in fragment ${e.sn} of ${this.playlistLabel()} ${e.level} resetting transmuxer to fallback to playlist timing`);if(this.warn(W.message),this.hls.trigger(y.ERROR,{type:S.MEDIA_ERROR,details:K.FRAG_PARSING_ERROR,fatal:!1,error:W,frag:e,reason:`Found no media in msn ${e.sn} of ${this.playlistLabel()} "${i.url}"`}),!this.hls)return;this.resetTransmuxer()}}this.state=wt.PARSED,this.log(`Parsed ${e.type} sn: ${e.sn}${t?" part: "+t.index:""} of ${this.fragInfo(e,!1,t)})`),this.hls.trigger(y.FRAG_PARSED,{frag:e,part:t})}playlistLabel(){return this.playlistType===A.MAIN?"level":"track"}fragInfo(e,t=!0,i){var u,v;return`${this.playlistLabel()} ${e.level} (${i?"part":"frag"}:[${((u=t&&!i?e.startPTS:(i||e).start)!=null?u:NaN).toFixed(3)}-${((v=t&&!i?e.endPTS:(i||e).end)!=null?v:NaN).toFixed(3)}]${i&&e.type==="main"?"INDEPENDENT="+(i.independent?"YES":"NO"):""}`}treatAsGap(e,t){t&&t.fragmentError++,e.gap=!0,this.fragmentTracker.removeFragment(e),this.fragmentTracker.fragBuffered(e,!0)}resetTransmuxer(){var e;(e=this.transmuxer)==null||e.reset()}recoverWorkerError(e){e.event==="demuxerWorker"&&(this.fragmentTracker.removeAllFragments(),this.transmuxer&&(this.transmuxer.destroy(),this.transmuxer=null),this.resetStartWhenNotLoaded(this.levelLastLoaded),this.resetLoadingState())}set state(e){const t=this._state;t!==e&&(this._state=e,this.log(`${t}->${e}`))}get state(){return this._state}}function Si(D){return!!D.interstitialsController&&D.enableInterstitialPlayback!==!1}class $i{constructor(){this.chunks=[],this.dataLength=0}push(e){this.chunks.push(e),this.dataLength+=e.length}flush(){const{chunks:e,dataLength:t}=this;let i;if(e.length)e.length===1?i=e[0]:i=en(e,t);else return new Uint8Array(0);return this.reset(),i}reset(){this.chunks.length=0,this.dataLength=0}}function en(D,e){const t=new Uint8Array(e);let i=0;for(let u=0;u<D.length;u++){const v=D[u];t.set(v,i),i+=v.length}return t}var Fn={exports:{}},ra;function Va(){return ra||(ra=1,function(D){var e=Object.prototype.hasOwnProperty,t="~";function i(){}Object.create&&(i.prototype=Object.create(null),new i().__proto__||(t=!1));function u(W,N,j){this.fn=W,this.context=N,this.once=j||!1}function v(W,N,j,Z,J){if(typeof j!="function")throw new TypeError("The listener must be a function");var re=new u(j,Z||W,J),ie=t?t+N:N;return W._events[ie]?W._events[ie].fn?W._events[ie]=[W._events[ie],re]:W._events[ie].push(re):(W._events[ie]=re,W._eventsCount++),W}function T(W,N){--W._eventsCount===0?W._events=new i:delete W._events[N]}function M(){this._events=new i,this._eventsCount=0}M.prototype.eventNames=function(){var N=[],j,Z;if(this._eventsCount===0)return N;for(Z in j=this._events)e.call(j,Z)&&N.push(t?Z.slice(1):Z);return Object.getOwnPropertySymbols?N.concat(Object.getOwnPropertySymbols(j)):N},M.prototype.listeners=function(N){var j=t?t+N:N,Z=this._events[j];if(!Z)return[];if(Z.fn)return[Z.fn];for(var J=0,re=Z.length,ie=new Array(re);J<re;J++)ie[J]=Z[J].fn;return ie},M.prototype.listenerCount=function(N){var j=t?t+N:N,Z=this._events[j];return Z?Z.fn?1:Z.length:0},M.prototype.emit=function(N,j,Z,J,re,ie){var pe=t?t+N:N;if(!this._events[pe])return!1;var _e=this._events[pe],Se=arguments.length,ke,Me;if(_e.fn){switch(_e.once&&this.removeListener(N,_e.fn,void 0,!0),Se){case 1:return _e.fn.call(_e.context),!0;case 2:return _e.fn.call(_e.context,j),!0;case 3:return _e.fn.call(_e.context,j,Z),!0;case 4:return _e.fn.call(_e.context,j,Z,J),!0;case 5:return _e.fn.call(_e.context,j,Z,J,re),!0;case 6:return _e.fn.call(_e.context,j,Z,J,re,ie),!0}for(Me=1,ke=new Array(Se-1);Me<Se;Me++)ke[Me-1]=arguments[Me];_e.fn.apply(_e.context,ke)}else{var Ze=_e.length,ot;for(Me=0;Me<Ze;Me++)switch(_e[Me].once&&this.removeListener(N,_e[Me].fn,void 0,!0),Se){case 1:_e[Me].fn.call(_e[Me].context);break;case 2:_e[Me].fn.call(_e[Me].context,j);break;case 3:_e[Me].fn.call(_e[Me].context,j,Z);break;case 4:_e[Me].fn.call(_e[Me].context,j,Z,J);break;default:if(!ke)for(ot=1,ke=new Array(Se-1);ot<Se;ot++)ke[ot-1]=arguments[ot];_e[Me].fn.apply(_e[Me].context,ke)}}return!0},M.prototype.on=function(N,j,Z){return v(this,N,j,Z,!1)},M.prototype.once=function(N,j,Z){return v(this,N,j,Z,!0)},M.prototype.removeListener=function(N,j,Z,J){var re=t?t+N:N;if(!this._events[re])return this;if(!j)return T(this,re),this;var ie=this._events[re];if(ie.fn)ie.fn===j&&(!J||ie.once)&&(!Z||ie.context===Z)&&T(this,re);else{for(var pe=0,_e=[],Se=ie.length;pe<Se;pe++)(ie[pe].fn!==j||J&&!ie[pe].once||Z&&ie[pe].context!==Z)&&_e.push(ie[pe]);_e.length?this._events[re]=_e.length===1?_e[0]:_e:T(this,re)}return this},M.prototype.removeAllListeners=function(N){var j;return N?(j=t?t+N:N,this._events[j]&&T(this,j)):(this._events=new i,this._eventsCount=0),this},M.prototype.off=M.prototype.removeListener,M.prototype.addListener=M.prototype.on,M.prefixed=t,M.EventEmitter=M,D.exports=M}(Fn)),Fn.exports}var ba=Va(),ia=F(ba);const xn="1.6.7",Dn={};function Ha(){return typeof __HLS_WORKER_BUNDLE__=="function"}function el(){const D=Dn[xn];if(D)return D.clientCount++,D;const e=new self.Blob([`var exports={};var module={exports:exports};function define(f){f()};define.amd=true;(${__HLS_WORKER_BUNDLE__.toString()})(true);`],{type:"text/javascript"}),t=self.URL.createObjectURL(e),u={worker:new self.Worker(t),objectURL:t,clientCount:1};return Dn[xn]=u,u}function tl(D){const e=Dn[D];if(e)return e.clientCount++,e;const t=new self.URL(D,self.location.href).href,u={worker:new self.Worker(t),scriptURL:t,clientCount:1};return Dn[D]=u,u}function rl(D){const e=Dn[D||xn];if(e&&e.clientCount--===1){const{worker:i,objectURL:u}=e;delete Dn[D||xn],u&&self.URL.revokeObjectURL(u),i.terminate()}}function Ls(D,e){return e+10<=D.length&&D[e]===51&&D[e+1]===68&&D[e+2]===73&&D[e+3]<255&&D[e+4]<255&&D[e+6]<128&&D[e+7]<128&&D[e+8]<128&&D[e+9]<128}function za(D,e){return e+10<=D.length&&D[e]===73&&D[e+1]===68&&D[e+2]===51&&D[e+3]<255&&D[e+4]<255&&D[e+6]<128&&D[e+7]<128&&D[e+8]<128&&D[e+9]<128}function Sa(D,e){let t=0;return t=(D[e]&127)<<21,t|=(D[e+1]&127)<<14,t|=(D[e+2]&127)<<7,t|=D[e+3]&127,t}function ma(D,e){const t=e;let i=0;for(;za(D,e);){i+=10;const u=Sa(D,e+6);i+=u,Ls(D,e+10)&&(i+=10),e+=i}if(i>0)return D.subarray(t,t+i)}function il(D,e,t,i){const u=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350],v=e[t+2],T=v>>2&15;if(T>12){const re=new Error(`invalid ADTS sampling index:${T}`);D.emit(y.ERROR,y.ERROR,{type:S.MEDIA_ERROR,details:K.FRAG_PARSING_ERROR,fatal:!0,error:re,reason:re.message});return}const M=(v>>6&3)+1,W=e[t+3]>>6&3|(v&1)<<2,N="mp4a.40."+M,j=u[T];let Z=T;(M===5||M===29)&&(Z-=3);const J=[M<<3|(Z&14)>>1,(Z&1)<<7|W<<3];return b.log(`manifest codec:${i}, parsed codec:${N}, channels:${W}, rate:${j} (ADTS object type:${M} sampling index:${T})`),{config:J,samplerate:j,channelCount:W,codec:N,parsedCodec:N,manifestCodec:i}}function Rs(D,e){return D[e]===255&&(D[e+1]&246)===240}function ws(D,e){return D[e+1]&1?7:9}function ja(D,e){return(D[e+3]&3)<<11|D[e+4]<<3|(D[e+5]&224)>>>5}function nl(D,e){return e+5<D.length}function Da(D,e){return e+1<D.length&&Rs(D,e)}function al(D,e){return nl(D,e)&&Rs(D,e)&&ja(D,e)<=D.length-e}function sl(D,e){if(Da(D,e)){const t=ws(D,e);if(e+t>=D.length)return!1;const i=ja(D,e);if(i<=t)return!1;const u=e+i;return u===D.length||Da(D,u)}return!1}function Cs(D,e,t,i,u){if(!D.samplerate){const v=il(e,t,i,u);if(!v)return;l(D,v)}}function Ps(D){return 1024*9e4/D}function ol(D,e){const t=ws(D,e);if(e+t<=D.length){const i=ja(D,e)-t;if(i>0)return{headerLength:t,frameLength:i}}}function Is(D,e,t,i,u){const v=Ps(D.samplerate),T=i+u*v,M=ol(e,t);let W;if(M){const{frameLength:Z,headerLength:J}=M,re=J+Z,ie=Math.max(0,t+re-e.length);ie?(W=new Uint8Array(re-J),W.set(e.subarray(t+J,e.length),0)):W=e.subarray(t+J,t+re);const pe={unit:W,pts:T};return ie||D.samples.push(pe),{sample:pe,length:re,missing:ie}}const N=e.length-t;return W=new Uint8Array(N),W.set(e.subarray(t,e.length),0),{sample:{unit:W,pts:T},length:N,missing:-1}}function ll(D,e){return za(D,e)&&Sa(D,e+6)+10<=D.length-e}function ul(D){return D instanceof ArrayBuffer?D:D.byteOffset==0&&D.byteLength==D.buffer.byteLength?D.buffer:new Uint8Array(D).buffer}function Za(D,e=0,t=1/0){return cl(D,e,t,Uint8Array)}function cl(D,e,t,i){const u=hl(D);let v=1;"BYTES_PER_ELEMENT"in i&&(v=i.BYTES_PER_ELEMENT);const T=fl(D)?D.byteOffset:0,M=(T+D.byteLength)/v,W=(T+e)/v,N=Math.floor(Math.max(0,Math.min(W,M))),j=Math.floor(Math.min(N+Math.max(t,0),M));return new i(u,N,j-N)}function hl(D){return D instanceof ArrayBuffer?D:D.buffer}function fl(D){return D&&D.buffer instanceof ArrayBuffer&&D.byteLength!==void 0&&D.byteOffset!==void 0}function dl(D){const e={key:D.type,description:"",data:"",mimeType:null,pictureType:null},t=3;if(D.size<2)return;if(D.data[0]!==t){console.log("Ignore frame with unrecognized character encoding");return}const i=D.data.subarray(1).indexOf(0);if(i===-1)return;const u=z(Za(D.data,1,i)),v=D.data[2+i],T=D.data.subarray(3+i).indexOf(0);if(T===-1)return;const M=z(Za(D.data,3+i,T));let W;return u==="-->"?W=z(Za(D.data,4+i+T)):W=ul(D.data.subarray(4+i+T)),e.mimeType=u,e.pictureType=v,e.description=M,e.data=W,e}function _l(D){if(D.size<2)return;const e=z(D.data,!0),t=new Uint8Array(D.data.subarray(e.length+1));return{key:D.type,info:e,data:t.buffer}}function ml(D){if(D.size<2)return;if(D.type==="TXXX"){let t=1;const i=z(D.data.subarray(t),!0);t+=i.length+1;const u=z(D.data.subarray(t));return{key:D.type,info:i,data:u}}const e=z(D.data.subarray(1));return{key:D.type,info:"",data:e}}function pl(D){if(D.type==="WXXX"){if(D.size<2)return;let t=1;const i=z(D.data.subarray(t),!0);t+=i.length+1;const u=z(D.data.subarray(t));return{key:D.type,info:i,data:u}}const e=z(D.data);return{key:D.type,info:"",data:e}}function gl(D){return D.type==="PRIV"?_l(D):D.type[0]==="W"?pl(D):D.type==="APIC"?dl(D):ml(D)}function vl(D){const e=String.fromCharCode(D[0],D[1],D[2],D[3]),t=Sa(D,4),i=10;return{type:e,size:t,data:D.subarray(i,i+t)}}const La=10,yl=10;function Os(D){let e=0;const t=[];for(;za(D,e);){const i=Sa(D,e+6);D[e+5]>>6&1&&(e+=La),e+=La;const u=e+i;for(;e+yl<u;){const v=vl(D.subarray(e)),T=gl(v);T&&t.push(T),e+=v.size+La}Ls(D,e)&&(e+=La)}return t}function Ms(D){return D&&D.key==="PRIV"&&D.info==="com.apple.streaming.transportStreamTimestamp"}function El(D){if(D.data.byteLength===8){const e=new Uint8Array(D.data),t=e[3]&1;let i=(e[4]<<23)+(e[5]<<15)+(e[6]<<7)+e[7];return i/=45,t&&(i+=4772185884e-2),Math.round(i)}}function Xa(D){const e=Os(D);for(let t=0;t<e.length;t++){const i=e[t];if(Ms(i))return El(i)}}let ln=function(D){return D.audioId3="org.id3",D.dateRange="com.apple.quicktime.HLS",D.emsg="https://aomedia.org/emsg/ID3",D.misbklv="urn:misb:KLV:bin:1910.1",D}({});function Ln(D="",e=9e4){return{type:D,id:-1,pid:-1,inputTimeScale:e,sequenceNumber:-1,samples:[],dropped:0}}class Ya{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,t,i,u){this._id3Track={type:"id3",id:3,pid:-1,inputTimeScale:9e4,sequenceNumber:0,samples:[],dropped:0}}resetTimeStamp(e){this.initPTS=e,this.resetContiguity()}resetContiguity(){this.basePTS=null,this.lastPTS=null,this.frameIndex=0}canParse(e,t){return!1}appendFrame(e,t,i){}demux(e,t){this.cachedData&&(e=et(this.cachedData,e),this.cachedData=null);let i=ma(e,0),u=i?i.length:0,v;const T=this._audioTrack,M=this._id3Track,W=i?Xa(i):void 0,N=e.length;for((this.basePTS===null||this.frameIndex===0&&ee(W))&&(this.basePTS=xl(W,t,this.initPTS),this.lastPTS=this.basePTS),this.lastPTS===null&&(this.lastPTS=this.basePTS),i&&i.length>0&&M.samples.push({pts:this.lastPTS,dts:this.lastPTS,data:i,type:ln.audioId3,duration:Number.POSITIVE_INFINITY});u<N;){if(this.canParse(e,u)){const j=this.appendFrame(T,e,u);j?(this.frameIndex++,this.lastPTS=j.sample.pts,u+=j.length,v=u):u=N}else ll(e,u)?(i=ma(e,u),M.samples.push({pts:this.lastPTS,dts:this.lastPTS,data:i,type:ln.audioId3,duration:Number.POSITIVE_INFINITY}),u+=i.length,v=u):u++;if(u===N&&v!==N){const j=e.slice(v);this.cachedData?this.cachedData=et(this.cachedData,j):this.cachedData=j}}return{audioTrack:T,videoTrack:Ln(),id3Track:M,textTrack:Ln()}}demuxSampleAes(e,t,i){return Promise.reject(new Error(`[${this}] This demuxer does not support Sample-AES decryption`))}flush(e){const t=this.cachedData;return t&&(this.cachedData=null,this.demux(t,0)),{audioTrack:this._audioTrack,videoTrack:Ln(),id3Track:this._id3Track,textTrack:Ln()}}destroy(){this.cachedData=null,this._audioTrack=this._id3Track=void 0}}const xl=(D,e,t)=>{if(ee(D))return D*90;const i=t?t.baseTime*9e4/t.timescale:0;return e*9e4+i};let Ra=null;const Tl=[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],Al=[44100,48e3,32e3,22050,24e3,16e3,11025,12e3,8e3],bl=[[0,72,144,12],[0,0,0,0],[0,72,144,12],[0,144,144,12]],Sl=[0,1,1,4];function Ns(D,e,t,i,u){if(t+24>e.length)return;const v=Bs(e,t);if(v&&t+v.frameLength<=e.length){const T=v.samplesPerFrame*9e4/v.sampleRate,M=i+u*T,W={unit:e.subarray(t,t+v.frameLength),pts:M,dts:M};return D.config=[],D.channelCount=v.channelCount,D.samplerate=v.sampleRate,D.samples.push(W),{sample:W,length:v.frameLength,missing:0}}}function Bs(D,e){const t=D[e+1]>>3&3,i=D[e+1]>>1&3,u=D[e+2]>>4&15,v=D[e+2]>>2&3;if(t!==1&&u!==0&&u!==15&&v!==3){const T=D[e+2]>>1&1,M=D[e+3]>>6,W=t===3?3-i:i===3?3:4,N=Tl[W*14+u-1]*1e3,Z=Al[(t===3?0:t===2?1:2)*3+v],J=M===3?1:2,re=bl[t][i],ie=Sl[i],pe=re*8*ie,_e=Math.floor(re*N/Z+T)*ie;if(Ra===null){const Me=(navigator.userAgent||"").match(/Chrome\/(\d+)/i);Ra=Me?parseInt(Me[1]):0}return!!Ra&&Ra<=87&&i===2&&N>=224e3&&M===0&&(D[e+3]=D[e+3]|128),{sampleRate:Z,channelCount:J,frameLength:_e,samplesPerFrame:pe}}}function $a(D,e){return D[e]===255&&(D[e+1]&224)===224&&(D[e+1]&6)!==0}function Us(D,e){return e+1<D.length&&$a(D,e)}function Dl(D,e){return $a(D,e)&&4<=D.length-e}function Fs(D,e){if(e+1<D.length&&$a(D,e)){const i=Bs(D,e);let u=4;i!=null&&i.frameLength&&(u=i.frameLength);const v=e+u;return v===D.length||Us(D,v)}return!1}class Ll extends Ya{constructor(e,t){super(),this.observer=void 0,this.config=void 0,this.observer=e,this.config=t}resetInitSegment(e,t,i,u){super.resetInitSegment(e,t,i,u),this._audioTrack={container:"audio/adts",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"aac",samples:[],manifestCodec:t,duration:u,inputTimeScale:9e4,dropped:0}}static probe(e,t){if(!e)return!1;const i=ma(e,0);let u=(i==null?void 0:i.length)||0;if(Fs(e,u))return!1;for(let v=e.length;u<v;u++)if(sl(e,u))return t.log("ADTS sync word found !"),!0;return!1}canParse(e,t){return al(e,t)}appendFrame(e,t,i){Cs(e,this.observer,t,i,e.manifestCodec);const u=Is(e,t,i,this.basePTS,this.frameIndex);if(u&&u.missing===0)return u}}const ks=(D,e)=>{let t=0,i=5;e+=i;const u=new Uint32Array(1),v=new Uint32Array(1),T=new Uint8Array(1);for(;i>0;){T[0]=D[e];const M=Math.min(i,8),W=8-M;v[0]=4278190080>>>24+W<<W,u[0]=(T[0]&v[0])>>W,t=t?t<<M|u[0]:u[0],e+=1,i-=M}return t};class Rl extends Ya{constructor(e){super(),this.observer=void 0,this.observer=e}resetInitSegment(e,t,i,u){super.resetInitSegment(e,t,i,u),this._audioTrack={container:"audio/ac-3",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"ac3",samples:[],manifestCodec:t,duration:u,inputTimeScale:9e4,dropped:0}}canParse(e,t){return t+64<e.length}appendFrame(e,t,i){const u=Ws(e,t,i,this.basePTS,this.frameIndex);if(u!==-1)return{sample:e.samples[e.samples.length-1],length:u,missing:0}}static probe(e){if(!e)return!1;const t=ma(e,0);if(!t)return!1;const i=t.length;return e[i]===11&&e[i+1]===119&&Xa(t)!==void 0&&ks(e,i)<16}}function Ws(D,e,t,i,u){if(t+8>e.length||e[t]!==11||e[t+1]!==119)return-1;const v=e[t+4]>>6;if(v>=3)return-1;const M=[48e3,44100,32e3][v],W=e[t+4]&63,j=[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][W*3+v]*2;if(t+j>e.length)return-1;const Z=e[t+6]>>5;let J=0;Z===2?J+=2:(Z&1&&Z!==1&&(J+=2),Z&4&&(J+=2));const re=(e[t+6]<<8|e[t+7])>>12-J&1,pe=[2,1,2,3,3,4,4,5][Z]+re,_e=e[t+5]>>3,Se=e[t+5]&7,ke=new Uint8Array([v<<6|_e<<1|Se>>2,(Se&3)<<6|Z<<3|re<<2|W>>4,W<<4&224]),Me=1536/M*9e4,Ze=i+u*Me,ot=e.subarray(t,t+j);return D.config=ke,D.channelCount=pe,D.samplerate=M,D.samples.push({unit:ot,pts:Ze}),j}class wl extends Ya{resetInitSegment(e,t,i,u){super.resetInitSegment(e,t,i,u),this._audioTrack={container:"audio/mpeg",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"mp3",samples:[],manifestCodec:t,duration:u,inputTimeScale:9e4,dropped:0}}static probe(e){if(!e)return!1;const t=ma(e,0);let i=(t==null?void 0:t.length)||0;if(t&&e[i]===11&&e[i+1]===119&&Xa(t)!==void 0&&ks(e,i)<=16)return!1;for(let u=e.length;i<u;i++)if(Fs(e,i))return b.log("MPEG Audio sync word found !"),!0;return!1}canParse(e,t){return Dl(e,t)}appendFrame(e,t,i){if(this.basePTS!==null)return Ns(e,t,i,this.basePTS,this.frameIndex)}}const Cl=/\/emsg[-/]ID3/i;class Pl{constructor(e,t){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.config=t}resetTimeStamp(){}resetInitSegment(e,t,i,u){const v=this.videoTrack=Ln("video",1),T=this.audioTrack=Ln("audio",1),M=this.txtTrack=Ln("text",1);if(this.id3Track=Ln("id3",1),this.timeOffset=0,!(e!=null&&e.byteLength))return;const W=Ue(e);if(W.video){const{id:N,timescale:j,codec:Z,supplemental:J}=W.video;v.id=N,v.timescale=M.timescale=j,v.codec=Z,v.supplemental=J}if(W.audio){const{id:N,timescale:j,codec:Z}=W.audio;T.id=N,T.timescale=j,T.codec=Z}M.id=Ke.text,v.sampleDuration=0,v.duration=T.duration=u}resetContiguity(){this.remainderData=null}static probe(e){return Re(e)}demux(e,t){this.timeOffset=t;let i=e;const u=this.videoTrack,v=this.txtTrack;if(this.config.progressive){this.remainderData&&(i=et(this.remainderData,e));const M=je(i);this.remainderData=M.remainder,u.samples=M.valid||new Uint8Array}else u.samples=i;const T=this.extractID3Track(u,t);return v.samples=ft(t,u),{videoTrack:u,audioTrack:this.audioTrack,id3Track:T,textTrack:this.txtTrack}}flush(){const e=this.timeOffset,t=this.videoTrack,i=this.txtTrack;t.samples=this.remainderData||new Uint8Array,this.remainderData=null;const u=this.extractID3Track(t,this.timeOffset);return i.samples=ft(e,t),{videoTrack:t,audioTrack:Ln(),id3Track:u,textTrack:Ln()}}extractID3Track(e,t){const i=this.id3Track;if(e.samples.length){const u=ve(e.samples,["emsg"]);u&&u.forEach(v=>{const T=lt(v);if(Cl.test(T.schemeIdUri)){const M=Ks(T,t);let W=T.eventDuration===4294967295?Number.POSITIVE_INFINITY:T.eventDuration/T.timeScale;W<=.001&&(W=Number.POSITIVE_INFINITY);const N=T.payload;i.samples.push({data:N,len:N.byteLength,dts:M,pts:M,type:ln.emsg,duration:W})}else if(this.config.enableEmsgKLVMetadata&&T.schemeIdUri.startsWith("urn:misb:KLV:bin:1910.1")){const M=Ks(T,t);i.samples.push({data:T.payload,len:T.payload.byteLength,dts:M,pts:M,type:ln.misbklv,duration:Number.POSITIVE_INFINITY})}})}return i}demuxSampleAes(e,t,i){return Promise.reject(new 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}}function Ks(D,e){return ee(D.presentationTime)?D.presentationTime/D.timeScale:e+D.presentationTimeDelta/D.timeScale}class Il{constructor(e,t,i){this.keyData=void 0,this.decrypter=void 0,this.keyData=i,this.decrypter=new kr(t,{removePKCS7Padding:!1})}decryptBuffer(e){return this.decrypter.decrypt(e,this.keyData.key.buffer,this.keyData.iv.buffer,Vr.cbc)}decryptAacSample(e,t,i){const u=e[t].unit;if(u.length<=16)return;const v=u.subarray(16,u.length-u.length%16),T=v.buffer.slice(v.byteOffset,v.byteOffset+v.length);this.decryptBuffer(T).then(M=>{const W=new Uint8Array(M);u.set(W,16),this.decrypter.isSync()||this.decryptAacSamples(e,t+1,i)})}decryptAacSamples(e,t,i){for(;;t++){if(t>=e.length){i();return}if(!(e[t].unit.length<32)&&(this.decryptAacSample(e,t,i),!this.decrypter.isSync()))return}}getAvcEncryptedData(e){const t=Math.floor((e.length-48)/160)*16+16,i=new Int8Array(t);let u=0;for(let v=32;v<e.length-16;v+=160,u+=16)i.set(e.subarray(v,v+16),u);return i}getAvcDecryptedUnit(e,t){const i=new Uint8Array(t);let u=0;for(let v=32;v<e.length-16;v+=160,u+=16)e.set(i.subarray(u,u+16),v);return e}decryptAvcSample(e,t,i,u,v){const T=Nt(v.data),M=this.getAvcEncryptedData(T);this.decryptBuffer(M.buffer).then(W=>{v.data=this.getAvcDecryptedUnit(T,W),this.decrypter.isSync()||this.decryptAvcSamples(e,t,i+1,u)})}decryptAvcSamples(e,t,i,u){if(e instanceof Uint8Array)throw new Error("Cannot decrypt samples of type Uint8Array");for(;;t++,i=0){if(t>=e.length){u();return}const v=e[t].units;for(;!(i>=v.length);i++){const T=v[i];if(!(T.data.length<=48||T.type!==1&&T.type!==5)&&(this.decryptAvcSample(e,t,i,u,T),!this.decrypter.isSync()))return}}}}class Gs{constructor(){this.VideoSample=null}createVideoSample(e,t,i){return{key:e,frame:!1,pts:t,dts:i,units:[],length:0}}getLastNalUnit(e){var t;let i=this.VideoSample,u;if((!i||i.units.length===0)&&(i=e[e.length-1]),(t=i)!=null&&t.units){const v=i.units;u=v[v.length-1]}return u}pushAccessUnit(e,t){if(e.units.length&&e.frame){if(e.pts===void 0){const i=t.samples,u=i.length;if(u){const v=i[u-1];e.pts=v.pts,e.dts=v.dts}else{t.dropped++;return}}t.samples.push(e)}}parseNALu(e,t,i){const u=t.byteLength;let v=e.naluState||0;const T=v,M=[];let W=0,N,j,Z,J=-1,re=0;for(v===-1&&(J=0,re=this.getNALuType(t,0),v=0,W=1);W<u;){if(N=t[W++],!v){v=N?0:1;continue}if(v===1){v=N?0:2;continue}if(!N)v=3;else if(N===1){if(j=W-v-1,J>=0){const ie={data:t.subarray(J,j),type:re};M.push(ie)}else{const ie=this.getLastNalUnit(e.samples);ie&&(T&&W<=4-T&&ie.state&&(ie.data=ie.data.subarray(0,ie.data.byteLength-T)),j>0&&(ie.data=et(ie.data,t.subarray(0,j)),ie.state=0))}W<u?(Z=this.getNALuType(t,W),J=W,re=Z,v=0):v=-1}else v=0}if(J>=0&&v>=0){const ie={data:t.subarray(J,u),type:re,state:v};M.push(ie)}if(M.length===0){const ie=this.getLastNalUnit(e.samples);ie&&(ie.data=et(ie.data,t))}return e.naluState=v,M}}class pa{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(){const e=this.data,t=this.bytesAvailable,i=e.byteLength-t,u=new Uint8Array(4),v=Math.min(4,t);if(v===0)throw new Error("no bytes available");u.set(e.subarray(i,i+v)),this.word=new DataView(u.buffer).getUint32(0),this.bitsAvailable=v*8,this.bytesAvailable-=v}skipBits(e){let t;e=Math.min(e,this.bytesAvailable*8+this.bitsAvailable),this.bitsAvailable>e?(this.word<<=e,this.bitsAvailable-=e):(e-=this.bitsAvailable,t=e>>3,e-=t<<3,this.bytesAvailable-=t,this.loadWord(),this.word<<=e,this.bitsAvailable-=e)}readBits(e){let t=Math.min(this.bitsAvailable,e);const i=this.word>>>32-t;if(e>32&&b.error("Cannot read more than 32 bits at a time"),this.bitsAvailable-=t,this.bitsAvailable>0)this.word<<=t;else if(this.bytesAvailable>0)this.loadWord();else throw new Error("no bits available");return t=e-t,t>0&&this.bitsAvailable?i<<t|this.readBits(t):i}skipLZ(){let e;for(e=0;e<this.bitsAvailable;++e)if(this.word&2147483648>>>e)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(){const e=this.skipLZ();return this.readBits(e+1)-1}readEG(){const e=this.readUEG();return 1&e?1+e>>>1:-1*(e>>>1)}readBoolean(){return this.readBits(1)===1}readUByte(){return this.readBits(8)}readUShort(){return this.readBits(16)}readUInt(){return this.readBits(32)}}class Vs extends Gs{parsePES(e,t,i,u){const v=this.parseNALu(e,i.data,u);let T=this.VideoSample,M,W=!1;i.data=null,T&&v.length&&!e.audFound&&(this.pushAccessUnit(T,e),T=this.VideoSample=this.createVideoSample(!1,i.pts,i.dts)),v.forEach(N=>{var j,Z;switch(N.type){case 1:{let pe=!1;M=!0;const _e=N.data;if(W&&_e.length>4){const Se=this.readSliceType(_e);(Se===2||Se===4||Se===7||Se===9)&&(pe=!0)}if(pe){var J;(J=T)!=null&&J.frame&&!T.key&&(this.pushAccessUnit(T,e),T=this.VideoSample=null)}T||(T=this.VideoSample=this.createVideoSample(!0,i.pts,i.dts)),T.frame=!0,T.key=pe;break}case 5:M=!0,(j=T)!=null&&j.frame&&!T.key&&(this.pushAccessUnit(T,e),T=this.VideoSample=null),T||(T=this.VideoSample=this.createVideoSample(!0,i.pts,i.dts)),T.key=!0,T.frame=!0;break;case 6:{M=!0,It(N.data,1,i.pts,t.samples);break}case 7:{var re,ie;M=!0,W=!0;const pe=N.data,_e=this.readSPS(pe);if(!e.sps||e.width!==_e.width||e.height!==_e.height||((re=e.pixelRatio)==null?void 0:re[0])!==_e.pixelRatio[0]||((ie=e.pixelRatio)==null?void 0:ie[1])!==_e.pixelRatio[1]){e.width=_e.width,e.height=_e.height,e.pixelRatio=_e.pixelRatio,e.sps=[pe];const Se=pe.subarray(1,4);let ke="avc1.";for(let Me=0;Me<3;Me++){let Ze=Se[Me].toString(16);Ze.length<2&&(Ze="0"+Ze),ke+=Ze}e.codec=ke}break}case 8:M=!0,e.pps=[N.data];break;case 9:M=!0,e.audFound=!0,(Z=T)!=null&&Z.frame&&(this.pushAccessUnit(T,e),T=null),T||(T=this.VideoSample=this.createVideoSample(!1,i.pts,i.dts));break;case 12:M=!0;break;default:M=!1;break}T&&M&&T.units.push(N)}),u&&T&&(this.pushAccessUnit(T,e),this.VideoSample=null)}getNALuType(e,t){return e[t]&31}readSliceType(e){const t=new pa(e);return t.readUByte(),t.readUEG(),t.readUEG()}skipScalingList(e,t){let i=8,u=8,v;for(let T=0;T<e;T++)u!==0&&(v=t.readEG(),u=(i+v+256)%256),i=u===0?i:u}readSPS(e){const t=new pa(e);let i=0,u=0,v=0,T=0,M,W,N;const j=t.readUByte.bind(t),Z=t.readBits.bind(t),J=t.readUEG.bind(t),re=t.readBoolean.bind(t),ie=t.skipBits.bind(t),pe=t.skipEG.bind(t),_e=t.skipUEG.bind(t),Se=this.skipScalingList.bind(this);j();const ke=j();if(Z(5),ie(3),j(),_e(),ke===100||ke===110||ke===122||ke===244||ke===44||ke===83||ke===86||ke===118||ke===128){const _t=J();if(_t===3&&ie(1),_e(),_e(),ie(1),re())for(W=_t!==3?8:12,N=0;N<W;N++)re()&&(N<6?Se(16,t):Se(64,t))}_e();const Me=J();if(Me===0)J();else if(Me===1)for(ie(1),pe(),pe(),M=J(),N=0;N<M;N++)pe();_e(),ie(1);const Ze=J(),ot=J(),Pt=Z(1);Pt===0&&ie(1),ie(1),re()&&(i=J(),u=J(),v=J(),T=J());let it=[1,1];if(re()&&re())switch(j()){case 1:it=[1,1];break;case 2:it=[12,11];break;case 3:it=[10,11];break;case 4:it=[16,11];break;case 5:it=[40,33];break;case 6:it=[24,11];break;case 7:it=[20,11];break;case 8:it=[32,11];break;case 9:it=[80,33];break;case 10:it=[18,11];break;case 11:it=[15,11];break;case 12:it=[64,33];break;case 13:it=[160,99];break;case 14:it=[4,3];break;case 15:it=[3,2];break;case 16:it=[2,1];break;case 255:{it=[j()<<8|j(),j()<<8|j()];break}}return{width:Math.ceil((Ze+1)*16-i*2-u*2),height:(2-Pt)*(ot+1)*16-(Pt?2:4)*(v+T),pixelRatio:it}}}class Hs extends Gs{constructor(...e){super(...e),this.initVPS=null}parsePES(e,t,i,u){const v=this.parseNALu(e,i.data,u);let T=this.VideoSample,M,W=!1;i.data=null,T&&v.length&&!e.audFound&&(this.pushAccessUnit(T,e),T=this.VideoSample=this.createVideoSample(!1,i.pts,i.dts)),v.forEach(N=>{var j,Z;switch(N.type){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:T||(T=this.VideoSample=this.createVideoSample(!1,i.pts,i.dts)),T.frame=!0,M=!0;break;case 16:case 17:case 18:case 21:if(M=!0,W){var J;(J=T)!=null&&J.frame&&!T.key&&(this.pushAccessUnit(T,e),T=this.VideoSample=null)}T||(T=this.VideoSample=this.createVideoSample(!0,i.pts,i.dts)),T.key=!0,T.frame=!0;break;case 19:case 20:M=!0,(j=T)!=null&&j.frame&&!T.key&&(this.pushAccessUnit(T,e),T=this.VideoSample=null),T||(T=this.VideoSample=this.createVideoSample(!0,i.pts,i.dts)),T.key=!0,T.frame=!0;break;case 39:M=!0,It(N.data,2,i.pts,t.samples);break;case 32:M=!0,e.vps||(typeof e.params!="object"&&(e.params={}),e.params=l(e.params,this.readVPS(N.data)),this.initVPS=N.data),e.vps=[N.data];break;case 33:if(M=!0,W=!0,e.vps!==void 0&&e.vps[0]!==this.initVPS&&e.sps!==void 0&&!this.matchSPS(e.sps[0],N.data)&&(this.initVPS=e.vps[0],e.sps=e.pps=void 0),!e.sps){const re=this.readSPS(N.data);e.width=re.width,e.height=re.height,e.pixelRatio=re.pixelRatio,e.codec=re.codecString,e.sps=[],typeof e.params!="object"&&(e.params={});for(const ie in re.params)e.params[ie]=re.params[ie]}this.pushParameterSet(e.sps,N.data,e.vps),T||(T=this.VideoSample=this.createVideoSample(!0,i.pts,i.dts)),T.key=!0;break;case 34:if(M=!0,typeof e.params=="object"){if(!e.pps){e.pps=[];const re=this.readPPS(N.data);for(const ie in re)e.params[ie]=re[ie]}this.pushParameterSet(e.pps,N.data,e.vps)}break;case 35:M=!0,e.audFound=!0,(Z=T)!=null&&Z.frame&&(this.pushAccessUnit(T,e),T=null),T||(T=this.VideoSample=this.createVideoSample(!1,i.pts,i.dts));break;default:M=!1;break}T&&M&&T.units.push(N)}),u&&T&&(this.pushAccessUnit(T,e),this.VideoSample=null)}pushParameterSet(e,t,i){(i&&i[0]===this.initVPS||!i&&!e.length)&&e.push(t)}getNALuType(e,t){return(e[t]&126)>>>1}ebsp2rbsp(e){const t=new Uint8Array(e.byteLength);let i=0;for(let u=0;u<e.byteLength;u++)u>=2&&e[u]===3&&e[u-1]===0&&e[u-2]===0||(t[i]=e[u],i++);return new Uint8Array(t.buffer,0,i)}pushAccessUnit(e,t){super.pushAccessUnit(e,t),this.initVPS&&(this.initVPS=null)}readVPS(e){const t=new pa(e);t.readUByte(),t.readUByte(),t.readBits(4),t.skipBits(2),t.readBits(6);const i=t.readBits(3),u=t.readBoolean();return{numTemporalLayers:i+1,temporalIdNested:u}}readSPS(e){const t=new pa(this.ebsp2rbsp(e));t.readUByte(),t.readUByte(),t.readBits(4);const i=t.readBits(3);t.readBoolean();const u=t.readBits(2),v=t.readBoolean(),T=t.readBits(5),M=t.readUByte(),W=t.readUByte(),N=t.readUByte(),j=t.readUByte(),Z=t.readUByte(),J=t.readUByte(),re=t.readUByte(),ie=t.readUByte(),pe=t.readUByte(),_e=t.readUByte(),Se=t.readUByte(),ke=[],Me=[];for(let vi=0;vi<i;vi++)ke.push(t.readBoolean()),Me.push(t.readBoolean());if(i>0)for(let vi=i;vi<8;vi++)t.readBits(2);for(let vi=0;vi<i;vi++)ke[vi]&&(t.readUByte(),t.readUByte(),t.readUByte(),t.readUByte(),t.readUByte(),t.readUByte(),t.readUByte(),t.readUByte(),t.readUByte(),t.readUByte(),t.readUByte()),Me[vi]&&t.readUByte();t.readUEG();const Ze=t.readUEG();Ze==3&&t.skipBits(1);const ot=t.readUEG(),Pt=t.readUEG(),it=t.readBoolean();let _t=0,Et=0,qe=0,jt=0;it&&(_t+=t.readUEG(),Et+=t.readUEG(),qe+=t.readUEG(),jt+=t.readUEG());const ur=t.readUEG(),Ur=t.readUEG(),Lr=t.readUEG(),Sr=t.readBoolean();for(let vi=Sr?0:i;vi<=i;vi++)t.skipUEG(),t.skipUEG(),t.skipUEG();if(t.skipUEG(),t.skipUEG(),t.skipUEG(),t.skipUEG(),t.skipUEG(),t.skipUEG(),t.readBoolean()&&t.readBoolean())for(let Ji=0;Ji<4;Ji++)for(let vn=0;vn<(Ji===3?2:6);vn++)if(!t.readBoolean())t.readUEG();else{const bn=Math.min(64,1<<4+(Ji<<1));Ji>1&&t.readEG();for(let ha=0;ha<bn;ha++)t.readEG()}t.readBoolean(),t.readBoolean(),t.readBoolean()&&(t.readUByte(),t.skipUEG(),t.skipUEG(),t.readBoolean());const _r=t.readUEG();let Hr=0;for(let vi=0;vi<_r;vi++){let Ji=!1;if(vi!==0&&(Ji=t.readBoolean()),Ji){vi===_r&&t.readUEG(),t.readBoolean(),t.readUEG();let vn=0;for(let Yn=0;Yn<=Hr;Yn++){const bn=t.readBoolean();let ha=!1;bn||(ha=t.readBoolean()),(bn||ha)&&vn++}Hr=vn}else{const vn=t.readUEG(),Yn=t.readUEG();Hr=vn+Yn;for(let bn=0;bn<vn;bn++)t.readUEG(),t.readBoolean();for(let bn=0;bn<Yn;bn++)t.readUEG(),t.readBoolean()}}if(t.readBoolean()){const vi=t.readUEG();for(let Ji=0;Ji<vi;Ji++){for(let vn=0;vn<Lr+4;vn++)t.readBits(1);t.readBits(1)}}let pr=0,nr=1,ii=1,li=!0,yi=1,mi=0;t.readBoolean(),t.readBoolean();let Ii=!1;if(t.readBoolean()){if(t.readBoolean()){const $n=t.readUByte(),jo=[1,12,10,16,40,24,20,32,80,18,15,64,160,4,3,2],Ka=[1,11,11,11,33,11,11,11,33,11,11,33,99,3,2,1];$n>0&&$n<16?(nr=jo[$n-1],ii=Ka[$n-1]):$n===255&&(nr=t.readBits(16),ii=t.readBits(16))}if(t.readBoolean()&&t.readBoolean(),t.readBoolean()&&(t.readBits(3),t.readBoolean(),t.readBoolean()&&(t.readUByte(),t.readUByte(),t.readUByte())),t.readBoolean()&&(t.readUEG(),t.readUEG()),t.readBoolean(),t.readBoolean(),t.readBoolean(),Ii=t.readBoolean(),Ii&&(_t+=t.readUEG(),Et+=t.readUEG(),qe+=t.readUEG(),jt+=t.readUEG()),t.readBoolean()&&(yi=t.readBits(32),mi=t.readBits(32),t.readBoolean()&&t.readUEG(),t.readBoolean())){const Ka=t.readBoolean(),Zo=t.readBoolean();let Ta=!1;(Ka||Zo)&&(Ta=t.readBoolean(),Ta&&(t.readUByte(),t.readBits(5),t.readBoolean(),t.readBits(5)),t.readBits(4),t.readBits(4),Ta&&t.readBits(4),t.readBits(5),t.readBits(5),t.readBits(5));for(let Xo=0;Xo<=i;Xo++){li=t.readBoolean();const eh=li||t.readBoolean();let Yo=!1;eh?t.readEG():Yo=t.readBoolean();const $o=Yo?1:t.readUEG()+1;if(Ka)for(let Aa=0;Aa<$o;Aa++)t.readUEG(),t.readUEG(),Ta&&(t.readUEG(),t.readUEG()),t.skipBits(1);if(Zo)for(let Aa=0;Aa<$o;Aa++)t.readUEG(),t.readUEG(),Ta&&(t.readUEG(),t.readUEG()),t.skipBits(1)}}t.readBoolean()&&(t.readBoolean(),t.readBoolean(),t.readBoolean(),pr=t.readUEG())}let Qi=ot,cn=Pt;if(it||Ii){let vi=1,Ji=1;Ze===1?vi=Ji=2:Ze==2&&(vi=2),Qi=ot-vi*Et-vi*_t,cn=Pt-Ji*jt-Ji*qe}const Xn=u?["A","B","C"][u]:"",qc=M<<24|W<<16|N<<8|j;let Ss=0;for(let vi=0;vi<32;vi++)Ss=(Ss|(qc>>vi&1)<<31-vi)>>>0;let Ds=Ss.toString(16);return T===1&&Ds==="2"&&(Ds="6"),{codecString:`hvc1.${Xn}${T}.${Ds}.${v?"H":"L"}${Se}.B0`,params:{general_tier_flag:v,general_profile_idc:T,general_profile_space:u,general_profile_compatibility_flags:[M,W,N,j],general_constraint_indicator_flags:[Z,J,re,ie,pe,_e],general_level_idc:Se,bit_depth:ur+8,bit_depth_luma_minus8:ur,bit_depth_chroma_minus8:Ur,min_spatial_segmentation_idc:pr,chroma_format_idc:Ze,frame_rate:{fixed:li,fps:mi/yi}},width:Qi,height:cn,pixelRatio:[nr,ii]}}readPPS(e){const t=new pa(this.ebsp2rbsp(e));t.readUByte(),t.readUByte(),t.skipUEG(),t.skipUEG(),t.skipBits(2),t.skipBits(3),t.skipBits(2),t.skipUEG(),t.skipUEG(),t.skipEG(),t.skipBits(2),t.readBoolean()&&t.skipUEG(),t.skipEG(),t.skipEG(),t.skipBits(4);const u=t.readBoolean(),v=t.readBoolean();let T=1;return v&&u?T=0:v?T=3:u&&(T=2),{parallelismType:T}}matchSPS(e,t){return String.fromCharCode.apply(null,e).substr(3)===String.fromCharCode.apply(null,t).substr(3)}}const zi=188;class kn{constructor(e,t,i,u){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.aacOverFlow=null,this.remainderData=null,this.videoParser=void 0,this.observer=e,this.config=t,this.typeSupported=i,this.logger=u,this.videoParser=null}static probe(e,t){const i=kn.syncOffset(e);return i>0&&t.warn(`MPEG2-TS detected but first sync word found @ offset ${i}`),i!==-1}static syncOffset(e){const t=e.length;let i=Math.min(zi*5,t-zi)+1,u=0;for(;u<i;){let v=!1,T=-1,M=0;for(let W=u;W<t;W+=zi)if(e[W]===71&&(t-W===zi||e[W+zi]===71)){if(M++,T===-1&&(T=W,T!==0&&(i=Math.min(T+zi*99,e.length-zi)+1)),v||(v=Qa(e,W)===0),v&&M>1&&(T===0&&M>2||W+zi>i))return T}else{if(M)return-1;break}u++}return-1}static createTrack(e,t){return{container:e==="video"||e==="audio"?"video/mp2t":void 0,type:e,id:Ke[e],pid:-1,inputTimeScale:9e4,sequenceNumber:0,samples:[],dropped:0,duration:e==="audio"?t:void 0}}resetInitSegment(e,t,i,u){this.pmtParsed=!1,this._pmtId=-1,this._videoTrack=kn.createTrack("video"),this._videoTrack.duration=u,this._audioTrack=kn.createTrack("audio",u),this._id3Track=kn.createTrack("id3"),this._txtTrack=kn.createTrack("text"),this._audioTrack.segmentCodec="aac",this.aacOverFlow=null,this.remainderData=null,this.audioCodec=t,this.videoCodec=i}resetTimeStamp(){}resetContiguity(){const{_audioTrack:e,_videoTrack:t,_id3Track:i}=this;e&&(e.pesData=null),t&&(t.pesData=null),i&&(i.pesData=null),this.aacOverFlow=null,this.remainderData=null}demux(e,t,i=!1,u=!1){i||(this.sampleAes=null);let v;const T=this._videoTrack,M=this._audioTrack,W=this._id3Track,N=this._txtTrack;let j=T.pid,Z=T.pesData,J=M.pid,re=W.pid,ie=M.pesData,pe=W.pesData,_e=null,Se=this.pmtParsed,ke=this._pmtId,Me=e.length;if(this.remainderData&&(e=et(this.remainderData,e),Me=e.length,this.remainderData=null),Me<zi&&!u)return this.remainderData=e,{audioTrack:M,videoTrack:T,id3Track:W,textTrack:N};const Ze=Math.max(0,kn.syncOffset(e));Me-=(Me-Ze)%zi,Me<e.byteLength&&!u&&(this.remainderData=new Uint8Array(e.buffer,Me,e.buffer.byteLength-Me));let ot=0;for(let it=Ze;it<Me;it+=zi)if(e[it]===71){const _t=!!(e[it+1]&64),Et=Qa(e,it),qe=(e[it+3]&48)>>4;let jt;if(qe>1){if(jt=it+5+e[it+4],jt===it+zi)continue}else jt=it+4;switch(Et){case j:if(_t){if(Z&&(v=na(Z,this.logger))){if(this.videoParser===null)switch(T.segmentCodec){case"avc":this.videoParser=new Vs;break;case"hevc":this.videoParser=new Hs;break}this.videoParser!==null&&this.videoParser.parsePES(T,N,v,!1)}Z={data:[],size:0}}Z&&(Z.data.push(e.subarray(jt,it+zi)),Z.size+=it+zi-jt);break;case J:if(_t){if(ie&&(v=na(ie,this.logger)))switch(M.segmentCodec){case"aac":this.parseAACPES(M,v);break;case"mp3":this.parseMPEGPES(M,v);break;case"ac3":this.parseAC3PES(M,v);break}ie={data:[],size:0}}ie&&(ie.data.push(e.subarray(jt,it+zi)),ie.size+=it+zi-jt);break;case re:_t&&(pe&&(v=na(pe,this.logger))&&this.parseID3PES(W,v),pe={data:[],size:0}),pe&&(pe.data.push(e.subarray(jt,it+zi)),pe.size+=it+zi-jt);break;case 0:_t&&(jt+=e[jt]+1),ke=this._pmtId=Ol(e,jt);break;case ke:{_t&&(jt+=e[jt]+1);const ur=Ml(e,jt,this.typeSupported,i,this.observer,this.logger);j=ur.videoPid,j>0&&(T.pid=j,T.segmentCodec=ur.segmentVideoCodec),J=ur.audioPid,J>0&&(M.pid=J,M.segmentCodec=ur.segmentAudioCodec),re=ur.id3Pid,re>0&&(W.pid=re),_e!==null&&!Se&&(this.logger.warn(`MPEG-TS PMT found at ${it} after unknown PID '${_e}'. Backtracking to sync byte @${Ze} to parse all TS packets.`),_e=null,it=Ze-188),Se=this.pmtParsed=!0;break}case 17:case 8191:break;default:_e=Et;break}}else ot++;ot>0&&Ja(this.observer,new Error(`Found ${ot} TS packet/s that do not start with 0x47`),void 0,this.logger),T.pesData=Z,M.pesData=ie,W.pesData=pe;const Pt={audioTrack:M,videoTrack:T,id3Track:W,textTrack:N};return u&&this.extractRemainingSamples(Pt),Pt}flush(){const{remainderData:e}=this;this.remainderData=null;let t;return e?t=this.demux(e,-1,!1,!0):t={videoTrack:this._videoTrack,audioTrack:this._audioTrack,id3Track:this._id3Track,textTrack:this._txtTrack},this.extractRemainingSamples(t),this.sampleAes?this.decrypt(t,this.sampleAes):t}extractRemainingSamples(e){const{audioTrack:t,videoTrack:i,id3Track:u,textTrack:v}=e,T=i.pesData,M=t.pesData,W=u.pesData;let N;if(T&&(N=na(T,this.logger))){if(this.videoParser===null)switch(i.segmentCodec){case"avc":this.videoParser=new Vs;break;case"hevc":this.videoParser=new Hs;break}this.videoParser!==null&&(this.videoParser.parsePES(i,v,N,!0),i.pesData=null)}else i.pesData=T;if(M&&(N=na(M,this.logger))){switch(t.segmentCodec){case"aac":this.parseAACPES(t,N);break;case"mp3":this.parseMPEGPES(t,N);break;case"ac3":this.parseAC3PES(t,N);break}t.pesData=null}else M!=null&&M.size&&this.logger.log("last AAC PES packet truncated,might overlap between fragments"),t.pesData=M;W&&(N=na(W,this.logger))?(this.parseID3PES(u,N),u.pesData=null):u.pesData=W}demuxSampleAes(e,t,i){const u=this.demux(e,i,!0,!this.config.progressive),v=this.sampleAes=new Il(this.observer,this.config,t);return this.decrypt(u,v)}decrypt(e,t){return new Promise(i=>{const{audioTrack:u,videoTrack:v}=e;u.samples&&u.segmentCodec==="aac"?t.decryptAacSamples(u.samples,0,()=>{v.samples?t.decryptAvcSamples(v.samples,0,0,()=>{i(e)}):i(e)}):v.samples&&t.decryptAvcSamples(v.samples,0,0,()=>{i(e)})})}destroy(){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}parseAACPES(e,t){let i=0;const u=this.aacOverFlow;let v=t.data;if(u){this.aacOverFlow=null;const Z=u.missing,J=u.sample.unit.byteLength;if(Z===-1)v=et(u.sample.unit,v);else{const re=J-Z;u.sample.unit.set(v.subarray(0,Z),re),e.samples.push(u.sample),i=u.missing}}let T,M;for(T=i,M=v.length;T<M-1&&!Da(v,T);T++);if(T!==i){let Z;const J=T<M-1;if(J?Z=`AAC PES did not start with ADTS header,offset:${T}`:Z="No ADTS header found in AAC PES",Ja(this.observer,new Error(Z),J,this.logger),!J)return}Cs(e,this.observer,v,T,this.audioCodec);let W;if(t.pts!==void 0)W=t.pts;else if(u){const Z=Ps(e.samplerate);W=u.sample.pts+Z}else{this.logger.warn("[tsdemuxer]: AAC PES unknown PTS");return}let N=0,j;for(;T<M;)if(j=Is(e,v,T,W,N),T+=j.length,j.missing){this.aacOverFlow=j;break}else for(N++;T<M-1&&!Da(v,T);T++);}parseMPEGPES(e,t){const i=t.data,u=i.length;let v=0,T=0;const M=t.pts;if(M===void 0){this.logger.warn("[tsdemuxer]: MPEG PES unknown PTS");return}for(;T<u;)if(Us(i,T)){const W=Ns(e,i,T,M,v);if(W)T+=W.length,v++;else break}else T++}parseAC3PES(e,t){{const i=t.data,u=t.pts;if(u===void 0){this.logger.warn("[tsdemuxer]: AC3 PES unknown PTS");return}const v=i.length;let T=0,M=0,W;for(;M<v&&(W=Ws(e,i,M,u,T++))>0;)M+=W}}parseID3PES(e,t){if(t.pts===void 0){this.logger.warn("[tsdemuxer]: ID3 PES unknown PTS");return}const i=l({},t,{type:this._videoTrack?ln.emsg:ln.audioId3,duration:Number.POSITIVE_INFINITY});e.samples.push(i)}}function Qa(D,e){return((D[e+1]&31)<<8)+D[e+2]}function Ol(D,e){return(D[e+10]&31)<<8|D[e+11]}function Ml(D,e,t,i,u,v){const T={audioPid:-1,videoPid:-1,id3Pid:-1,segmentVideoCodec:"avc",segmentAudioCodec:"aac"},M=(D[e+1]&15)<<8|D[e+2],W=e+3+M-4,N=(D[e+10]&15)<<8|D[e+11];for(e+=12+N;e<W;){const j=Qa(D,e),Z=(D[e+3]&15)<<8|D[e+4];switch(D[e]){case 207:if(!i){qa("ADTS AAC",v);break}case 15:T.audioPid===-1&&(T.audioPid=j);break;case 21:T.id3Pid===-1&&(T.id3Pid=j);break;case 219:if(!i){qa("H.264",v);break}case 27:T.videoPid===-1&&(T.videoPid=j);break;case 3:case 4:!t.mpeg&&!t.mp3?v.log("MPEG audio found, not supported in this browser"):T.audioPid===-1&&(T.audioPid=j,T.segmentAudioCodec="mp3");break;case 193:if(!i){qa("AC-3",v);break}case 129:t.ac3?T.audioPid===-1&&(T.audioPid=j,T.segmentAudioCodec="ac3"):v.log("AC-3 audio found, not supported in this browser");break;case 6:if(T.audioPid===-1&&Z>0){let J=e+5,re=Z;for(;re>2;){switch(D[J]){case 106:t.ac3!==!0?v.log("AC-3 audio found, not supported in this browser for now"):(T.audioPid=j,T.segmentAudioCodec="ac3");break}const pe=D[J+1]+2;J+=pe,re-=pe}}break;case 194:case 135:return Ja(u,new Error("Unsupported EC-3 in M2TS found"),void 0,v),T;case 36:T.videoPid===-1&&(T.videoPid=j,T.segmentVideoCodec="hevc",v.log("HEVC in M2TS found"));break}e+=Z+5}return T}function Ja(D,e,t,i){i.warn(`parsing error: ${e.message}`),D.emit(y.ERROR,y.ERROR,{type:S.MEDIA_ERROR,details:K.FRAG_PARSING_ERROR,fatal:!1,levelRetry:t,error:e,reason:e.message})}function qa(D,e){e.log(`${D} with AES-128-CBC encryption found in unencrypted stream`)}function na(D,e){let t=0,i,u,v,T,M;const W=D.data;if(!D||D.size===0)return null;for(;W[0].length<19&&W.length>1;)W[0]=et(W[0],W[1]),W.splice(1,1);if(i=W[0],(i[0]<<16)+(i[1]<<8)+i[2]===1){if(u=(i[4]<<8)+i[5],u&&u>D.size-6)return null;const j=i[7];j&192&&(T=(i[9]&14)*536870912+(i[10]&255)*4194304+(i[11]&254)*16384+(i[12]&255)*128+(i[13]&254)/2,j&64?(M=(i[14]&14)*536870912+(i[15]&255)*4194304+(i[16]&254)*16384+(i[17]&255)*128+(i[18]&254)/2,T-M>60*9e4&&(e.warn(`${Math.round((T-M)/9e4)}s delta between PTS and DTS, align them`),T=M)):M=T),v=i[8];let Z=v+9;if(D.size<=Z)return null;D.size-=Z;const J=new Uint8Array(D.size);for(let re=0,ie=W.length;re<ie;re++){i=W[re];let pe=i.byteLength;if(Z)if(Z>pe){Z-=pe;continue}else i=i.subarray(Z),pe-=Z,Z=0;J.set(i,t),t+=pe}return u&&(u-=v+3),{data:J,pts:T,dts:M,len:u}}return null}class Nl{static getSilentFrame(e,t){switch(e){case"mp4a.40.2":if(t===1)return new Uint8Array([0,200,0,128,35,128]);if(t===2)return new Uint8Array([33,0,73,144,2,25,0,35,128]);if(t===3)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,142]);if(t===4)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,128,44,128,8,2,56]);if(t===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]);if(t===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(t===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]);if(t===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]);if(t===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}}}const Wn=Math.pow(2,32)-1;class ht{static init(){ht.types={avc1:[],avcC:[],hvc1:[],hvcC:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],".mp3":[],dac3:[],"ac-3":[],mvex:[],mvhd:[],pasp:[],sdtp:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[],smhd:[]};let e;for(e in ht.types)ht.types.hasOwnProperty(e)&&(ht.types[e]=[e.charCodeAt(0),e.charCodeAt(1),e.charCodeAt(2),e.charCodeAt(3)]);const t=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]),i=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]);ht.HDLR_TYPES={video:t,audio:i};const u=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),v=new Uint8Array([0,0,0,0,0,0,0,0]);ht.STTS=ht.STSC=ht.STCO=v,ht.STSZ=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),ht.VMHD=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0]),ht.SMHD=new Uint8Array([0,0,0,0,0,0,0,0]),ht.STSD=new Uint8Array([0,0,0,0,0,0,0,1]);const T=new Uint8Array([105,115,111,109]),M=new Uint8Array([97,118,99,49]),W=new Uint8Array([0,0,0,1]);ht.FTYP=ht.box(ht.types.ftyp,T,W,T,M),ht.DINF=ht.box(ht.types.dinf,ht.box(ht.types.dref,u))}static box(e,...t){let i=8,u=t.length;const v=u;for(;u--;)i+=t[u].byteLength;const T=new Uint8Array(i);for(T[0]=i>>24&255,T[1]=i>>16&255,T[2]=i>>8&255,T[3]=i&255,T.set(e,4),u=0,i=8;u<v;u++)T.set(t[u],i),i+=t[u].byteLength;return T}static hdlr(e){return ht.box(ht.types.hdlr,ht.HDLR_TYPES[e])}static mdat(e){return ht.box(ht.types.mdat,e)}static mdhd(e,t){t*=e;const i=Math.floor(t/(Wn+1)),u=Math.floor(t%(Wn+1));return ht.box(ht.types.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,i>>24,i>>16&255,i>>8&255,i&255,u>>24,u>>16&255,u>>8&255,u&255,85,196,0,0]))}static mdia(e){return ht.box(ht.types.mdia,ht.mdhd(e.timescale||0,e.duration||0),ht.hdlr(e.type),ht.minf(e))}static mfhd(e){return ht.box(ht.types.mfhd,new Uint8Array([0,0,0,0,e>>24,e>>16&255,e>>8&255,e&255]))}static minf(e){return e.type==="audio"?ht.box(ht.types.minf,ht.box(ht.types.smhd,ht.SMHD),ht.DINF,ht.stbl(e)):ht.box(ht.types.minf,ht.box(ht.types.vmhd,ht.VMHD),ht.DINF,ht.stbl(e))}static moof(e,t,i){return ht.box(ht.types.moof,ht.mfhd(e),ht.traf(i,t))}static moov(e){let t=e.length;const i=[];for(;t--;)i[t]=ht.trak(e[t]);return ht.box.apply(null,[ht.types.moov,ht.mvhd(e[0].timescale||0,e[0].duration||0)].concat(i).concat(ht.mvex(e)))}static mvex(e){let t=e.length;const i=[];for(;t--;)i[t]=ht.trex(e[t]);return ht.box.apply(null,[ht.types.mvex,...i])}static mvhd(e,t){t*=e;const i=Math.floor(t/(Wn+1)),u=Math.floor(t%(Wn+1)),v=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,i>>24,i>>16&255,i>>8&255,i&255,u>>24,u>>16&255,u>>8&255,u&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 ht.box(ht.types.mvhd,v)}static sdtp(e){const t=e.samples||[],i=new Uint8Array(4+t.length);let u,v;for(u=0;u<t.length;u++)v=t[u].flags,i[u+4]=v.dependsOn<<4|v.isDependedOn<<2|v.hasRedundancy;return ht.box(ht.types.sdtp,i)}static stbl(e){return ht.box(ht.types.stbl,ht.stsd(e),ht.box(ht.types.stts,ht.STTS),ht.box(ht.types.stsc,ht.STSC),ht.box(ht.types.stsz,ht.STSZ),ht.box(ht.types.stco,ht.STCO))}static avc1(e){let t=[],i=[],u,v,T;for(u=0;u<e.sps.length;u++)v=e.sps[u],T=v.byteLength,t.push(T>>>8&255),t.push(T&255),t=t.concat(Array.prototype.slice.call(v));for(u=0;u<e.pps.length;u++)v=e.pps[u],T=v.byteLength,i.push(T>>>8&255),i.push(T&255),i=i.concat(Array.prototype.slice.call(v));const M=ht.box(ht.types.avcC,new Uint8Array([1,t[3],t[4],t[5],255,224|e.sps.length].concat(t).concat([e.pps.length]).concat(i))),W=e.width,N=e.height,j=e.pixelRatio[0],Z=e.pixelRatio[1];return ht.box(ht.types.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,W>>8&255,W&255,N>>8&255,N&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]),M,ht.box(ht.types.btrt,new Uint8Array([0,28,156,128,0,45,198,192,0,45,198,192])),ht.box(ht.types.pasp,new Uint8Array([j>>24,j>>16&255,j>>8&255,j&255,Z>>24,Z>>16&255,Z>>8&255,Z&255])))}static esds(e){const t=e.config;return new Uint8Array([0,0,0,0,3,25,0,1,0,4,17,64,21,0,0,0,0,0,0,0,0,0,0,0,5,2,...t,6,1,2])}static audioStsd(e){const t=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,t>>8&255,t&255,0,0])}static mp4a(e){return ht.box(ht.types.mp4a,ht.audioStsd(e),ht.box(ht.types.esds,ht.esds(e)))}static mp3(e){return ht.box(ht.types[".mp3"],ht.audioStsd(e))}static ac3(e){return ht.box(ht.types["ac-3"],ht.audioStsd(e),ht.box(ht.types.dac3,e.config))}static stsd(e){const{segmentCodec:t}=e;if(e.type==="audio"){if(t==="aac")return ht.box(ht.types.stsd,ht.STSD,ht.mp4a(e));if(t==="ac3"&&e.config)return ht.box(ht.types.stsd,ht.STSD,ht.ac3(e));if(t==="mp3"&&e.codec==="mp3")return ht.box(ht.types.stsd,ht.STSD,ht.mp3(e))}else if(e.pps&&e.sps){if(t==="avc")return ht.box(ht.types.stsd,ht.STSD,ht.avc1(e));if(t==="hevc"&&e.vps)return ht.box(ht.types.stsd,ht.STSD,ht.hvc1(e))}else throw new Error("video track missing pps or sps");throw new Error(`unsupported ${e.type} segment codec (${t}/${e.codec})`)}static tkhd(e){const t=e.id,i=(e.duration||0)*(e.timescale||0),u=e.width||0,v=e.height||0,T=Math.floor(i/(Wn+1)),M=Math.floor(i%(Wn+1));return ht.box(ht.types.tkhd,new Uint8Array([1,0,0,7,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,t>>24&255,t>>16&255,t>>8&255,t&255,0,0,0,0,T>>24,T>>16&255,T>>8&255,T&255,M>>24,M>>16&255,M>>8&255,M&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,u>>8&255,u&255,0,0,v>>8&255,v&255,0,0]))}static traf(e,t){const i=ht.sdtp(e),u=e.id,v=Math.floor(t/(Wn+1)),T=Math.floor(t%(Wn+1));return ht.box(ht.types.traf,ht.box(ht.types.tfhd,new Uint8Array([0,0,0,0,u>>24,u>>16&255,u>>8&255,u&255])),ht.box(ht.types.tfdt,new Uint8Array([1,0,0,0,v>>24,v>>16&255,v>>8&255,v&255,T>>24,T>>16&255,T>>8&255,T&255])),ht.trun(e,i.length+16+20+8+16+8+8),i)}static trak(e){return e.duration=e.duration||4294967295,ht.box(ht.types.trak,ht.tkhd(e),ht.mdia(e))}static trex(e){const t=e.id;return ht.box(ht.types.trex,new Uint8Array([0,0,0,0,t>>24,t>>16&255,t>>8&255,t&255,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]))}static trun(e,t){const i=e.samples||[],u=i.length,v=12+16*u,T=new Uint8Array(v);let M,W,N,j,Z,J;for(t+=8+v,T.set([e.type==="video"?1:0,0,15,1,u>>>24&255,u>>>16&255,u>>>8&255,u&255,t>>>24&255,t>>>16&255,t>>>8&255,t&255],0),M=0;M<u;M++)W=i[M],N=W.duration,j=W.size,Z=W.flags,J=W.cts,T.set([N>>>24&255,N>>>16&255,N>>>8&255,N&255,j>>>24&255,j>>>16&255,j>>>8&255,j&255,Z.isLeading<<2|Z.dependsOn,Z.isDependedOn<<6|Z.hasRedundancy<<4|Z.paddingValue<<1|Z.isNonSync,Z.degradPrio&61440,Z.degradPrio&15,J>>>24&255,J>>>16&255,J>>>8&255,J&255],12+16*M);return ht.box(ht.types.trun,T)}static initSegment(e){ht.types||ht.init();const t=ht.moov(e);return et(ht.FTYP,t)}static hvc1(e){const t=e.params,i=[e.vps,e.sps,e.pps],u=4,v=new Uint8Array([1,t.general_profile_space<<6|(t.general_tier_flag?32:0)|t.general_profile_idc,t.general_profile_compatibility_flags[0],t.general_profile_compatibility_flags[1],t.general_profile_compatibility_flags[2],t.general_profile_compatibility_flags[3],t.general_constraint_indicator_flags[0],t.general_constraint_indicator_flags[1],t.general_constraint_indicator_flags[2],t.general_constraint_indicator_flags[3],t.general_constraint_indicator_flags[4],t.general_constraint_indicator_flags[5],t.general_level_idc,240|t.min_spatial_segmentation_idc>>8,255&t.min_spatial_segmentation_idc,252|t.parallelismType,252|t.chroma_format_idc,248|t.bit_depth_luma_minus8,248|t.bit_depth_chroma_minus8,0,parseInt(t.frame_rate.fps),u-1|t.temporal_id_nested<<2|t.num_temporal_layers<<3|(t.frame_rate.fixed?64:0),i.length]);let T=v.length;for(let ie=0;ie<i.length;ie+=1){T+=3;for(let pe=0;pe<i[ie].length;pe+=1)T+=2+i[ie][pe].length}const M=new Uint8Array(T);M.set(v,0),T=v.length;const W=i.length-1;for(let ie=0;ie<i.length;ie+=1){M.set(new Uint8Array([32+ie|(ie===W?128:0),0,i[ie].length]),T),T+=3;for(let pe=0;pe<i[ie].length;pe+=1)M.set(new Uint8Array([i[ie][pe].length>>8,i[ie][pe].length&255]),T),T+=2,M.set(i[ie][pe],T),T+=i[ie][pe].length}const N=ht.box(ht.types.hvcC,M),j=e.width,Z=e.height,J=e.pixelRatio[0],re=e.pixelRatio[1];return ht.box(ht.types.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,j>>8&255,j&255,Z>>8&255,Z&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]),N,ht.box(ht.types.btrt,new Uint8Array([0,28,156,128,0,45,198,192,0,45,198,192])),ht.box(ht.types.pasp,new Uint8Array([J>>24,J>>16&255,J>>8&255,J&255,re>>24,re>>16&255,re>>8&255,re&255])))}}ht.types=void 0,ht.HDLR_TYPES=void 0,ht.STTS=void 0,ht.STSC=void 0,ht.STCO=void 0,ht.STSZ=void 0,ht.VMHD=void 0,ht.SMHD=void 0,ht.STSD=void 0,ht.FTYP=void 0,ht.DINF=void 0;const zs=9e4;function es(D,e,t=1,i=!1){const u=D*e*t;return i?Math.round(u):u}function Bl(D,e,t=1,i=!1){return es(D,e,1/t,i)}function ga(D,e=!1){return es(D,1e3,1/zs,e)}function Ul(D,e=1){return es(D,zs,1/e)}const Fl=10*1e3,kl=1024,Wl=1152,Kl=1536;let aa=null,ts=null;function js(D,e,t,i){return{duration:e,size:t,cts:i,flags:{isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:D?2:1,isNonSync:D?0:1}}}class wa extends m{constructor(e,t,i,u){if(super("mp4-remuxer",u),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=t,this.typeSupported=i,this.ISGenerated=!1,aa===null){const T=(navigator.userAgent||"").match(/Chrome\/(\d+)/i);aa=T?parseInt(T[1]):0}if(ts===null){const v=navigator.userAgent.match(/Safari\/(\d+)/i);ts=v?parseInt(v[1]):0}}destroy(){this.config=this.videoTrackConfig=this._initPTS=this._initDTS=null}resetTimeStamp(e){this.log("initPTS & initDTS reset"),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 t=!1;const i=e[0].pts,u=e.reduce((v,T)=>{let M=T.pts,W=M-v;return W<-4294967296&&(t=!0,M=mn(M,i),W=M-v),W>0?v:M},i);return t&&this.debug("PTS rollover detected"),u}remux(e,t,i,u,v,T,M,W){let N,j,Z,J,re,ie,pe=v,_e=v;const Se=e.pid>-1,ke=t.pid>-1,Me=t.samples.length,Ze=e.samples.length>0,ot=M&&Me>0||Me>1;if((!Se||Ze)&&(!ke||ot)||this.ISGenerated||M){if(this.ISGenerated){var it,_t,Et,qe;const Lr=this.videoTrackConfig;(Lr&&(t.width!==Lr.width||t.height!==Lr.height||((it=t.pixelRatio)==null?void 0:it[0])!==((_t=Lr.pixelRatio)==null?void 0:_t[0])||((Et=t.pixelRatio)==null?void 0:Et[1])!==((qe=Lr.pixelRatio)==null?void 0:qe[1]))||!Lr&&ot||this.nextAudioTs===null&&Ze)&&this.resetInitSegment()}this.ISGenerated||(Z=this.generateIS(e,t,v,T));const jt=this.isVideoContiguous;let ur=-1,Ur;if(ot&&(ur=Gl(t.samples),!jt&&this.config.forceKeyFrameOnDiscontinuity))if(ie=!0,ur>0){this.warn(`Dropped ${ur} out of ${Me} video samples due to a missing keyframe`);const Lr=this.getVideoStartPts(t.samples);t.samples=t.samples.slice(ur),t.dropped+=ur,_e+=(t.samples[0].pts-Lr)/t.inputTimeScale,Ur=_e}else ur===-1&&(this.warn(`No keyframe found out of ${Me} video samples`),ie=!1);if(this.ISGenerated){if(Ze&&ot){const Lr=this.getVideoStartPts(t.samples),vr=(mn(e.samples[0].pts,Lr)-Lr)/t.inputTimeScale;pe+=Math.max(0,vr),_e+=Math.max(0,-vr)}if(Ze){if(e.samplerate||(this.warn("regenerate InitSegment as audio detected"),Z=this.generateIS(e,t,v,T)),j=this.remuxAudio(e,pe,this.isAudioContiguous,T,ke||ot||W===A.AUDIO?_e:void 0),ot){const Lr=j?j.endPTS-j.startPTS:0;t.inputTimeScale||(this.warn("regenerate InitSegment as video detected"),Z=this.generateIS(e,t,v,T)),N=this.remuxVideo(t,_e,jt,Lr)}}else ot&&(N=this.remuxVideo(t,_e,jt,0));N&&(N.firstKeyFrame=ur,N.independent=ur!==-1,N.firstKeyFramePTS=Ur)}}return this.ISGenerated&&this._initPTS&&this._initDTS&&(i.samples.length&&(re=Zs(i,v,this._initPTS,this._initDTS)),u.samples.length&&(J=Xs(u,v,this._initPTS))),{audio:j,video:N,initSegment:Z,independent:ie,text:J,id3:re}}generateIS(e,t,i,u){const v=e.samples,T=t.samples,M=this.typeSupported,W={},N=this._initPTS;let j=!N||u,Z="audio/mp4",J,re,ie,pe;if(j&&(J=re=1/0),e.config&&v.length){switch(e.timescale=e.samplerate,e.segmentCodec){case"mp3":M.mpeg?(Z="audio/mpeg",e.codec=""):M.mp3&&(e.codec="mp3");break;case"ac3":e.codec="ac-3";break}W.audio={id:"audio",container:Z,codec:e.codec,initSegment:e.segmentCodec==="mp3"&&M.mpeg?new Uint8Array(0):ht.initSegment([e]),metadata:{channelCount:e.channelCount}},j&&(pe=e.id,ie=e.inputTimeScale,!N||ie!==N.timescale?J=re=v[0].pts-Math.round(ie*i):j=!1)}if(t.sps&&t.pps&&T.length){if(t.timescale=t.inputTimeScale,W.video={id:"main",container:"video/mp4",codec:t.codec,initSegment:ht.initSegment([t]),metadata:{width:t.width,height:t.height}},j)if(pe=t.id,ie=t.inputTimeScale,!N||ie!==N.timescale){const _e=this.getVideoStartPts(T),Se=Math.round(ie*i);re=Math.min(re,mn(T[0].dts,_e)-Se),J=Math.min(J,_e-Se)}else j=!1;this.videoTrackConfig={width:t.width,height:t.height,pixelRatio:t.pixelRatio}}if(Object.keys(W).length)return this.ISGenerated=!0,j?(this._initPTS={baseTime:J,timescale:ie},this._initDTS={baseTime:re,timescale:ie}):J=ie=void 0,{tracks:W,initPTS:J,timescale:ie,trackId:pe}}remuxVideo(e,t,i,u){const v=e.inputTimeScale,T=e.samples,M=[],W=T.length,N=this._initPTS,j=N.baseTime*v/N.timescale;let Z=this.nextVideoTs,J=8,re=this.videoSampleDuration,ie,pe,_e=Number.POSITIVE_INFINITY,Se=Number.NEGATIVE_INFINITY,ke=!1;if(!i||Z===null){const pr=j+t*v,nr=T[0].pts-mn(T[0].dts,T[0].pts);aa&&Z!==null&&Math.abs(pr-nr-(Z+j))<15e3?i=!0:Z=pr-nr-j}const Me=Z+j;for(let pr=0;pr<W;pr++){const nr=T[pr];nr.pts=mn(nr.pts,Me),nr.dts=mn(nr.dts,Me),nr.dts<T[pr>0?pr-1:pr].dts&&(ke=!0)}ke&&T.sort(function(pr,nr){const ii=pr.dts-nr.dts,li=pr.pts-nr.pts;return ii||li}),ie=T[0].dts,pe=T[T.length-1].dts;const Ze=pe-ie,ot=Ze?Math.round(Ze/(W-1)):re||e.inputTimeScale/30;if(i){const pr=ie-Me,nr=pr>ot,ii=pr<-1;if((nr||ii)&&(nr?this.warn(`${(e.segmentCodec||"").toUpperCase()}: ${ga(pr,!0)} ms (${pr}dts) hole between fragments detected at ${t.toFixed(3)}`):this.warn(`${(e.segmentCodec||"").toUpperCase()}: ${ga(-pr,!0)} ms (${pr}dts) overlapping between fragments detected at ${t.toFixed(3)}`),!ii||Me>=T[0].pts||aa)){ie=Me;const li=T[0].pts-pr;if(nr)T[0].dts=ie,T[0].pts=li;else{let yi=!0;for(let mi=0;mi<T.length&&!(T[mi].dts>li&&yi);mi++){const Ii=T[mi].pts;if(T[mi].dts-=pr,T[mi].pts-=pr,mi<T.length-1){const un=T[mi+1].pts,Qi=T[mi].pts,cn=un<=Qi,Xn=un<=Ii;yi=cn==Xn}}}this.log(`Video: Initial PTS/DTS adjusted: ${ga(li,!0)}/${ga(ie,!0)}, delta: ${ga(pr,!0)} ms`)}}ie=Math.max(0,ie);let Pt=0,it=0,_t=ie;for(let pr=0;pr<W;pr++){const nr=T[pr],ii=nr.units,li=ii.length;let yi=0;for(let mi=0;mi<li;mi++)yi+=ii[mi].data.length;it+=yi,Pt+=li,nr.length=yi,nr.dts<_t?(nr.dts=_t,_t+=ot/4|0||1):_t=nr.dts,_e=Math.min(nr.pts,_e),Se=Math.max(nr.pts,Se)}pe=T[W-1].dts;const Et=it+4*Pt+8;let qe;try{qe=new Uint8Array(Et)}catch(pr){this.observer.emit(y.ERROR,y.ERROR,{type:S.MUX_ERROR,details:K.REMUX_ALLOC_ERROR,fatal:!1,error:pr,bytes:Et,reason:`fail allocating video mdat ${Et}`});return}const jt=new DataView(qe.buffer);jt.setUint32(0,Et),qe.set(ht.types.mdat,4);let ur=!1,Ur=Number.POSITIVE_INFINITY,Lr=Number.POSITIVE_INFINITY,Sr=Number.NEGATIVE_INFINITY,vr=Number.NEGATIVE_INFINITY;for(let pr=0;pr<W;pr++){const nr=T[pr],ii=nr.units;let li=0;for(let Ii=0,un=ii.length;Ii<un;Ii++){const Qi=ii[Ii],cn=Qi.data,Xn=Qi.data.byteLength;jt.setUint32(J,Xn),J+=4,qe.set(cn,J),J+=Xn,li+=4+Xn}let yi;if(pr<W-1)re=T[pr+1].dts-nr.dts,yi=T[pr+1].pts-nr.pts;else{const Ii=this.config,un=pr>0?nr.dts-T[pr-1].dts:ot;if(yi=pr>0?nr.pts-T[pr-1].pts:ot,Ii.stretchShortVideoTrack&&this.nextAudioTs!==null){const Qi=Math.floor(Ii.maxBufferHole*v),cn=(u?_e+u*v:this.nextAudioTs+j)-nr.pts;cn>Qi?(re=cn-un,re<0?re=un:ur=!0,this.log(`It is approximately ${cn/90} ms to the next segment; using duration ${re/90} ms for the last video frame.`)):re=un}else re=un}const mi=Math.round(nr.pts-nr.dts);Ur=Math.min(Ur,re),Sr=Math.max(Sr,re),Lr=Math.min(Lr,yi),vr=Math.max(vr,yi),M.push(js(nr.key,re,li,mi))}if(M.length){if(aa){if(aa<70){const pr=M[0].flags;pr.dependsOn=2,pr.isNonSync=0}}else if(ts&&vr-Lr<Sr-Ur&&ot/Sr<.025&&M[0].cts===0){this.warn("Found irregular gaps in sample duration. Using PTS instead of DTS to determine MP4 sample duration.");let pr=ie;for(let nr=0,ii=M.length;nr<ii;nr++){const li=pr+M[nr].duration,yi=pr+M[nr].cts;if(nr<ii-1){const mi=li+M[nr+1].cts;M[nr].duration=mi-yi}else M[nr].duration=nr?M[nr-1].duration:ot;M[nr].cts=0,pr=li}}}re=ur||!re?ot:re;const Kr=pe+re;this.nextVideoTs=Z=Kr-j,this.videoSampleDuration=re,this.isVideoContiguous=!0;const Gr={data1:ht.moof(e.sequenceNumber++,ie,l(e,{samples:M})),data2:qe,startPTS:(_e-j)/v,endPTS:(Se+re-j)/v,startDTS:(ie-j)/v,endDTS:Z/v,type:"video",hasAudio:!1,hasVideo:!0,nb:M.length,dropped:e.dropped};return e.samples=[],e.dropped=0,Gr}getSamplesPerFrame(e){switch(e.segmentCodec){case"mp3":return Wl;case"ac3":return Kl;default:return kl}}remuxAudio(e,t,i,u,v){const T=e.inputTimeScale,M=e.samplerate?e.samplerate:T,W=T/M,N=this.getSamplesPerFrame(e),j=N*W,Z=this._initPTS,J=e.segmentCodec==="mp3"&&this.typeSupported.mpeg,re=[],ie=v!==void 0;let pe=e.samples,_e=J?0:8,Se=this.nextAudioTs||-1;const ke=Z.baseTime*T/Z.timescale,Me=ke+t*T;if(this.isAudioContiguous=i=i||pe.length&&Se>0&&(u&&Math.abs(Me-(Se+ke))<9e3||Math.abs(mn(pe[0].pts,Me)-(Se+ke))<20*j),pe.forEach(function(vr){vr.pts=mn(vr.pts,Me)}),!i||Se<0){if(pe=pe.filter(vr=>vr.pts>=0),!pe.length)return;v===0?Se=0:u&&!ie?Se=Math.max(0,Me-ke):Se=pe[0].pts-ke}if(e.segmentCodec==="aac"){const vr=this.config.maxAudioFramesDrift;for(let Kr=0,_r=Se+ke;Kr<pe.length;Kr++){const Hr=pe[Kr],Gr=Hr.pts,pr=Gr-_r,nr=Math.abs(1e3*pr/T);if(pr<=-vr*j&&ie)Kr===0&&(this.warn(`Audio frame @ ${(Gr/T).toFixed(3)}s overlaps marker by ${Math.round(1e3*pr/T)} ms.`),this.nextAudioTs=Se=Gr-ke,_r=Gr);else if(pr>=vr*j&&nr<Fl&&ie){let ii=Math.round(pr/j);for(_r=Gr-ii*j;_r<0&&ii&&j;)ii--,_r+=j;Kr===0&&(this.nextAudioTs=Se=_r-ke),this.warn(`Injecting ${ii} audio frames @ ${((_r-ke)/T).toFixed(3)}s due to ${Math.round(1e3*pr/T)} ms gap.`);for(let li=0;li<ii;li++){let yi=Nl.getSilentFrame(e.parsedCodec||e.manifestCodec||e.codec,e.channelCount);yi||(this.log("Unable to get silent frame for given audio codec; duplicating last frame instead."),yi=Hr.unit.subarray()),pe.splice(Kr,0,{unit:yi,pts:_r}),_r+=j,Kr++}}Hr.pts=_r,_r+=j}}let Ze=null,ot=null,Pt,it=0,_t=pe.length;for(;_t--;)it+=pe[_t].unit.byteLength;for(let vr=0,Kr=pe.length;vr<Kr;vr++){const _r=pe[vr],Hr=_r.unit;let Gr=_r.pts;if(ot!==null){const nr=re[vr-1];nr.duration=Math.round((Gr-ot)/W)}else if(i&&e.segmentCodec==="aac"&&(Gr=Se+ke),Ze=Gr,it>0){it+=_e;try{Pt=new Uint8Array(it)}catch(nr){this.observer.emit(y.ERROR,y.ERROR,{type:S.MUX_ERROR,details:K.REMUX_ALLOC_ERROR,fatal:!1,error:nr,bytes:it,reason:`fail allocating audio mdat ${it}`});return}J||(new DataView(Pt.buffer).setUint32(0,it),Pt.set(ht.types.mdat,4))}else return;Pt.set(Hr,_e);const pr=Hr.byteLength;_e+=pr,re.push(js(!0,N,pr,0)),ot=Gr}const Et=re.length;if(!Et)return;const qe=re[re.length-1];Se=ot-ke,this.nextAudioTs=Se+W*qe.duration;const jt=J?new Uint8Array(0):ht.moof(e.sequenceNumber++,Ze/W,l({},e,{samples:re}));e.samples=[];const ur=(Ze-ke)/T,Ur=Se/T,Sr={data1:jt,data2:Pt,startPTS:ur,endPTS:Ur,startDTS:ur,endDTS:Ur,type:"audio",hasAudio:!0,hasVideo:!1,nb:Et};return this.isAudioContiguous=!0,Sr}}function mn(D,e){let t;if(e===null)return D;for(e<D?t=-8589934592:t=8589934592;Math.abs(D-e)>4294967296;)D+=t;return D}function Gl(D){for(let e=0;e<D.length;e++)if(D[e].key)return e;return-1}function Zs(D,e,t,i){const u=D.samples.length;if(!u)return;const v=D.inputTimeScale;for(let M=0;M<u;M++){const W=D.samples[M];W.pts=mn(W.pts-t.baseTime*v/t.timescale,e*v)/v,W.dts=mn(W.dts-i.baseTime*v/i.timescale,e*v)/v}const T=D.samples;return D.samples=[],{samples:T}}function Xs(D,e,t){const i=D.samples.length;if(!i)return;const u=D.inputTimeScale;for(let T=0;T<i;T++){const M=D.samples[T];M.pts=mn(M.pts-t.baseTime*u/t.timescale,e*u)/u}D.samples.sort((T,M)=>T.pts-M.pts);const v=D.samples;return D.samples=[],{samples:v}}class Vl extends m{constructor(e,t,i,u){super("passthrough-remuxer",u),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}destroy(){}resetTimeStamp(e){this.lastEndTime=null;const t=this.initPTS;t&&e&&t.baseTime===e.baseTime&&t.timescale===e.timescale||(this.initPTS=e)}resetNextTimestamp(){this.isVideoContiguous=!1,this.lastEndTime=null}resetInitSegment(e,t,i,u){this.audioCodec=t,this.videoCodec=i,this.generateInitSegment(xe(e,u)),this.emitInitSegment=!0}generateInitSegment(e){let{audioCodec:t,videoCodec:i}=this;if(!(e!=null&&e.byteLength)){this.initTracks=void 0,this.initData=void 0;return}const u=this.initData=Ue(e);u.audio&&(t=Ys(u.audio,H.AUDIO,this)),u.video&&(i=Ys(u.video,H.VIDEO,this));const v={};u.audio&&u.video?v.audiovideo={container:"video/mp4",codec:t+","+i,supplemental:u.video.supplemental,initSegment:e,id:"main"}:u.audio?v.audio={container:"audio/mp4",codec:t,initSegment:e,id:"audio"}:u.video?v.video={container:"video/mp4",codec:i,supplemental:u.video.supplemental,initSegment:e,id:"main"}:this.warn("initSegment does not contain moov or trak boxes."),this.initTracks=v}remux(e,t,i,u,v,T){var M,W;let{initPTS:N,lastEndTime:j}=this;const Z={audio:void 0,video:void 0,text:u,id3:i,initSegment:void 0};ee(j)||(j=this.lastEndTime=v||0);const J=t.samples;if(!(J!=null&&J.length))return Z;const re={initPTS:void 0,timescale:void 0,trackId:void 0};let ie=this.initData;if((M=ie)!=null&&M.length||(this.generateInitSegment(J),ie=this.initData),!((W=ie)!=null&&W.length))return this.warn("Failed to generate initSegment."),Z;this.emitInitSegment&&(re.tracks=this.initTracks,this.emitInitSegment=!1);const pe=Be(J,ie,this),_e=ie.audio?pe[ie.audio.id]:null,Se=ie.video?pe[ie.video.id]:null,ke=Ca(Se,1/0),Me=Ca(_e,1/0),Ze=Ca(Se,0,!0),ot=Ca(_e,0,!0);let Pt,it=v,_t=0;if(_e&&(!Se||!N&&Me<ke||N&&N.trackId===ie.audio.id)?(re.trackId=ie.audio.id,Pt=_e,_t=ot-Me):Se&&(re.trackId=ie.video.id,Pt=Se,_t=Ze-ke),Pt){const vr=Pt.timescale;it=Pt.start/vr,re.initPTS=Pt.start-v*vr,re.timescale=vr,N||(this.initPTS=N={baseTime:re.initPTS,timescale:vr,trackId:re.trackId})}(T||!N)&&(Hl(N,it,v,_t)||re.timescale!==N.timescale)&&(re.initPTS=it-v,re.timescale=1,N&&N.timescale===1&&this.warn(`Adjusting initPTS @${v} from ${N.baseTime/N.timescale} to ${re.initPTS}`),this.initPTS=N={baseTime:re.initPTS,timescale:1});const Et=e?it-N.baseTime/N.timescale:j,qe=Et+_t;_t>0?this.lastEndTime=qe:(this.warn("Duration parsed from mp4 should be greater than zero"),this.resetNextTimestamp());const jt=!!ie.audio,ur=!!ie.video;let Ur="";jt&&(Ur+="audio"),ur&&(Ur+="video");const Lr={data1:J,startPTS:Et,startDTS:Et,endPTS:qe,endDTS:qe,type:Ur,hasAudio:jt,hasVideo:ur,nb:1,dropped:0};Z.audio=jt&&!ur?Lr:void 0,Z.video=ur?Lr:void 0;const Sr=Se==null?void 0:Se.sampleCount;if(Sr){const vr=Se.keyFrameIndex,Kr=vr!==-1;Lr.nb=Sr,Lr.dropped=vr===0||this.isVideoContiguous?0:Kr?vr:Sr,Lr.independent=Kr,Lr.firstKeyFrame=vr,Kr&&Se.keyFrameStart&&(Lr.firstKeyFramePTS=(Se.keyFrameStart-N.baseTime)/N.timescale),this.isVideoContiguous||(Z.independent=Kr),this.isVideoContiguous||(this.isVideoContiguous=Kr),Lr.dropped&&this.warn(`fmp4 does not start with IDR: firstIDR ${vr}/${Sr} dropped: ${Lr.dropped} start: ${Lr.firstKeyFramePTS||"NA"}`)}return Z.initSegment=re,Z.id3=Zs(i,v,N,N),u.samples.length&&(Z.text=Xs(u,v,N)),Z}}function Ca(D,e,t=!1){return(D==null?void 0:D.start)!==void 0?(D.start+(t?D.duration:0))/D.timescale:e}function Hl(D,e,t,i){if(D===null)return!0;const u=Math.max(i,1),v=e-D.baseTime/D.timescale;return Math.abs(v-t)>u}function Ys(D,e,t){const i=D==null?void 0:D.codec;return i&&i.length>4?i:e===H.AUDIO?i==="ec-3"||i==="ac-3"||i==="alac"?i:i==="fLaC"||i==="Opus"?Yt(i,!1):(t.warn(`Unhandled audio codec "${i}" in mp4 MAP`),i||"mp4a"):(t.warn(`Unhandled video codec "${i}" in mp4 MAP`),i||"avc1")}let On;try{On=self.performance.now.bind(self.performance)}catch(D){On=Date.now}const Pa=[{demux:Pl,remux:Vl},{demux:kn,remux:wa},{demux:Ll,remux:wa},{demux:wl,remux:wa}];Pa.splice(2,0,{demux:Rl,remux:wa});class $s{constructor(e,t,i,u,v,T){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=t,this.config=i,this.id=v,this.logger=T}configure(e){this.transmuxConfig=e,this.decrypter&&this.decrypter.reset()}push(e,t,i,u){const v=i.transmuxing;v.executeStart=On();let T=new Uint8Array(e);const{currentTransmuxState:M,transmuxConfig:W}=this;u&&(this.currentTransmuxState=u);const{contiguous:N,discontinuity:j,trackSwitch:Z,accurateTimeOffset:J,timeOffset:re,initSegmentChange:ie}=u||M,{audioCodec:pe,videoCodec:_e,defaultInitPts:Se,duration:ke,initSegmentData:Me}=W,Ze=zl(T,t);if(Ze&&Fi(Ze.method)){const _t=this.getDecrypter(),Et=Ki(Ze.method);if(_t.isSync()){let qe=_t.softwareDecrypt(T,Ze.key.buffer,Ze.iv.buffer,Et);if(i.part>-1){const ur=_t.flush();qe=ur&&ur.buffer}if(!qe)return v.executeEnd=On(),rs(i);T=new Uint8Array(qe)}else return this.asyncResult=!0,this.decryptionPromise=_t.webCryptoDecrypt(T,Ze.key.buffer,Ze.iv.buffer,Et).then(qe=>{const jt=this.push(qe,null,i);return this.decryptionPromise=null,jt}),this.decryptionPromise}const ot=this.needsProbing(j,Z);if(ot){const _t=this.configureTransmuxer(T);if(_t)return this.logger.warn(`[transmuxer] ${_t.message}`),this.observer.emit(y.ERROR,y.ERROR,{type:S.MEDIA_ERROR,details:K.FRAG_PARSING_ERROR,fatal:!1,error:_t,reason:_t.message}),v.executeEnd=On(),rs(i)}(j||Z||ie||ot)&&this.resetInitSegment(Me,pe,_e,ke,t),(j||ie||ot)&&this.resetInitialTimestamp(Se),N||this.resetContiguity();const Pt=this.transmux(T,Ze,re,J,i);this.asyncResult=va(Pt);const it=this.currentTransmuxState;return it.contiguous=!0,it.discontinuity=!1,it.trackSwitch=!1,v.executeEnd=On(),Pt}flush(e){const t=e.transmuxing;t.executeStart=On();const{decrypter:i,currentTransmuxState:u,decryptionPromise:v}=this;if(v)return this.asyncResult=!0,v.then(()=>this.flush(e));const T=[],{timeOffset:M}=u;if(i){const Z=i.flush();Z&&T.push(this.push(Z.buffer,null,e))}const{demuxer:W,remuxer:N}=this;if(!W||!N){t.executeEnd=On();const Z=[rs(e)];return this.asyncResult?Promise.resolve(Z):Z}const j=W.flush(M);return va(j)?(this.asyncResult=!0,j.then(Z=>(this.flushRemux(T,Z,e),T))):(this.flushRemux(T,j,e),this.asyncResult?Promise.resolve(T):T)}flushRemux(e,t,i){const{audioTrack:u,videoTrack:v,id3Track:T,textTrack:M}=t,{accurateTimeOffset:W,timeOffset:N}=this.currentTransmuxState;this.logger.log(`[transmuxer.ts]: Flushed ${this.id} sn: ${i.sn}${i.part>-1?" part: "+i.part:""} of ${this.id===A.MAIN?"level":"track"} ${i.level}`);const j=this.remuxer.remux(u,v,T,M,N,W,!0,this.id);e.push({remuxResult:j,chunkMeta:i}),i.transmuxing.executeEnd=On()}resetInitialTimestamp(e){const{demuxer:t,remuxer:i}=this;!t||!i||(t.resetTimeStamp(e),i.resetTimeStamp(e))}resetContiguity(){const{demuxer:e,remuxer:t}=this;!e||!t||(e.resetContiguity(),t.resetNextTimestamp())}resetInitSegment(e,t,i,u,v){const{demuxer:T,remuxer:M}=this;!T||!M||(T.resetInitSegment(e,t,i,u),M.resetInitSegment(e,t,i,v))}destroy(){this.demuxer&&(this.demuxer.destroy(),this.demuxer=void 0),this.remuxer&&(this.remuxer.destroy(),this.remuxer=void 0)}transmux(e,t,i,u,v){let T;return t&&t.method==="SAMPLE-AES"?T=this.transmuxSampleAes(e,t,i,u,v):T=this.transmuxUnencrypted(e,i,u,v),T}transmuxUnencrypted(e,t,i,u){const{audioTrack:v,videoTrack:T,id3Track:M,textTrack:W}=this.demuxer.demux(e,t,!1,!this.config.progressive);return{remuxResult:this.remuxer.remux(v,T,M,W,t,i,!1,this.id),chunkMeta:u}}transmuxSampleAes(e,t,i,u,v){return this.demuxer.demuxSampleAes(e,t,i).then(T=>({remuxResult:this.remuxer.remux(T.audioTrack,T.videoTrack,T.id3Track,T.textTrack,i,u,!1,this.id),chunkMeta:v}))}configureTransmuxer(e){const{config:t,observer:i,typeSupported:u}=this;let v;for(let Z=0,J=Pa.length;Z<J;Z++){var T;if((T=Pa[Z].demux)!=null&&T.probe(e,this.logger)){v=Pa[Z];break}}if(!v)return new Error("Failed to find demuxer by probing fragment data");const M=this.demuxer,W=this.remuxer,N=v.remux,j=v.demux;(!W||!(W instanceof N))&&(this.remuxer=new N(i,t,u,this.logger)),(!M||!(M instanceof j))&&(this.demuxer=new j(i,t,u,this.logger),this.probe=j.probe)}needsProbing(e,t){return!this.demuxer||!this.remuxer||e||t}getDecrypter(){let e=this.decrypter;return e||(e=this.decrypter=new kr(this.config)),e}}function zl(D,e){let t=null;return D.byteLength>0&&(e==null?void 0:e.key)!=null&&e.iv!==null&&e.method!=null&&(t=e),t}const rs=D=>({remuxResult:{},chunkMeta:D});function va(D){return"then"in D&&D.then instanceof Function}class jl{constructor(e,t,i,u,v){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=t,this.initSegmentData=i,this.duration=u,this.defaultInitPts=v||null}}class Zl{constructor(e,t,i,u,v,T){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=t,this.accurateTimeOffset=i,this.trackSwitch=u,this.timeOffset=v,this.initSegmentChange=T}}let Qs=0;class Js{constructor(e,t,i,u){this.error=null,this.hls=void 0,this.id=void 0,this.instanceNo=Qs++,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=W=>{const N=W.data,j=this.hls;if(!(!j||!(N!=null&&N.event)||N.instanceNo!==this.instanceNo))switch(N.event){case"init":{var Z;const J=(Z=this.workerContext)==null?void 0:Z.objectURL;J&&self.URL.revokeObjectURL(J);break}case"transmuxComplete":{this.handleTransmuxComplete(N.data);break}case"flush":{this.onFlush(N.data);break}case"workerLog":{j.logger[N.data.logType]&&j.logger[N.data.logType](N.data.message);break}default:{N.data=N.data||{},N.data.frag=this.frag,N.data.part=this.part,N.data.id=this.id,j.trigger(N.event,N.data);break}}},this.onWorkerError=W=>{if(!this.hls)return;const N=new Error(`${W.message} (${W.filename}:${W.lineno})`);this.hls.config.enableWorker=!1,this.hls.logger.warn(`Error in "${this.id}" Web Worker, fallback to inline`),this.hls.trigger(y.ERROR,{type:S.OTHER_ERROR,details:K.INTERNAL_EXCEPTION,fatal:!1,event:"demuxerWorker",error:N})};const v=e.config;this.hls=e,this.id=t,this.useWorker=!!v.enableWorker,this.onTransmuxComplete=i,this.onFlush=u;const T=(W,N)=>{N=N||{},N.frag=this.frag||void 0,W===y.ERROR&&(N=N,N.parent=this.id,N.part=this.part,this.error=N.error),this.hls.trigger(W,N)};this.observer=new ia,this.observer.on(y.FRAG_DECRYPTED,T),this.observer.on(y.ERROR,T);const M=Ut(v.preferManagedMediaSource);if(this.useWorker&&typeof Worker!="undefined"){const W=this.hls.logger;if(v.workerPath||Ha()){try{v.workerPath?(W.log(`loading Web Worker ${v.workerPath} for "${t}"`),this.workerContext=tl(v.workerPath)):(W.log(`injecting Web Worker for "${t}"`),this.workerContext=el());const{worker:j}=this.workerContext;j.addEventListener("message",this.onWorkerMessage),j.addEventListener("error",this.onWorkerError),j.postMessage({instanceNo:this.instanceNo,cmd:"init",typeSupported:M,id:t,config:gt(v)})}catch(j){W.warn(`Error setting up "${t}" Web Worker, fallback to inline`,j),this.terminateWorker(),this.error=null,this.transmuxer=new $s(this.observer,M,v,"",t,e.logger)}return}}this.transmuxer=new $s(this.observer,M,v,"",t,e.logger)}reset(){if(this.frag=null,this.part=null,this.workerContext){const e=this.instanceNo;this.instanceNo=Qs++;const t=this.hls.config,i=Ut(t.preferManagedMediaSource);this.workerContext.worker.postMessage({instanceNo:this.instanceNo,cmd:"reset",resetNo:e,typeSupported:i,id:this.id,config:gt(t)})}}terminateWorker(){if(this.workerContext){const{worker:e}=this.workerContext;this.workerContext=null,e.removeEventListener("message",this.onWorkerMessage),e.removeEventListener("error",this.onWorkerError),rl(this.hls.config.workerPath)}}destroy(){if(this.workerContext)this.terminateWorker(),this.onWorkerMessage=this.onWorkerError=null;else{const t=this.transmuxer;t&&(t.destroy(),this.transmuxer=null)}const e=this.observer;e&&e.removeAllListeners(),this.frag=null,this.part=null,this.observer=null,this.hls=null}push(e,t,i,u,v,T,M,W,N,j){var Z,J;N.transmuxing.start=self.performance.now();const{instanceNo:re,transmuxer:ie}=this,pe=T?T.start:v.start,_e=v.decryptdata,Se=this.frag,ke=!(Se&&v.cc===Se.cc),Me=!(Se&&N.level===Se.level),Ze=Se?N.sn-Se.sn:-1,ot=this.part?N.part-this.part.index:-1,Pt=Ze===0&&N.id>1&&N.id===(Se==null?void 0:Se.stats.chunkCount),it=!Me&&(Ze===1||Ze===0&&(ot===1||Pt&&ot<=0)),_t=self.performance.now();(Me||Ze||v.stats.parsing.start===0)&&(v.stats.parsing.start=_t),T&&(ot||!it)&&(T.stats.parsing.start=_t);const Et=!(Se&&((Z=v.initSegment)==null?void 0:Z.url)===((J=Se.initSegment)==null?void 0:J.url)),qe=new Zl(ke,it,W,Me,pe,Et);if(!it||ke||Et){this.hls.logger.log(`[transmuxer-interface]: Starting new transmux session for ${v.type} sn: ${N.sn}${N.part>-1?" part: "+N.part:""} ${this.id===A.MAIN?"level":"track"}: ${N.level} id: ${N.id}
discontinuity: ${ke}
trackSwitch: ${Me}
contiguous: ${it}
accurateTimeOffset: ${W}
timeOffset: ${pe}
initSegmentChange: ${Et}`);const jt=new jl(i,u,t,M,j);this.configureTransmuxer(jt)}if(this.frag=v,this.part=T,this.workerContext)this.workerContext.worker.postMessage({instanceNo:re,cmd:"demux",data:e,decryptdata:_e,chunkMeta:N,state:qe},e instanceof ArrayBuffer?[e]:[]);else if(ie){const jt=ie.push(e,_e,N,qe);va(jt)?jt.then(ur=>{this.handleTransmuxComplete(ur)}).catch(ur=>{this.transmuxerError(ur,N,"transmuxer-interface push error")}):this.handleTransmuxComplete(jt)}}flush(e){e.transmuxing.start=self.performance.now();const{instanceNo:t,transmuxer:i}=this;if(this.workerContext)this.workerContext.worker.postMessage({instanceNo:t,cmd:"flush",chunkMeta:e});else if(i){const u=i.flush(e);va(u)?u.then(v=>{this.handleFlushResult(v,e)}).catch(v=>{this.transmuxerError(v,e,"transmuxer-interface flush error")}):this.handleFlushResult(u,e)}}transmuxerError(e,t,i){this.hls&&(this.error=e,this.hls.trigger(y.ERROR,{type:S.MEDIA_ERROR,details:K.FRAG_PARSING_ERROR,chunkMeta:t,frag:this.frag||void 0,part:this.part||void 0,fatal:!1,error:e,err:e,reason:i}))}handleFlushResult(e,t){e.forEach(i=>{this.handleTransmuxComplete(i)}),this.onFlush(t)}configureTransmuxer(e){const{instanceNo:t,transmuxer:i}=this;this.workerContext?this.workerContext.worker.postMessage({instanceNo:t,cmd:"configure",config:e}):i&&i.configure(e)}handleTransmuxComplete(e){e.chunkMeta.transmuxing.end=self.performance.now(),this.onTransmuxComplete(e)}}const qs=100;class Xl extends gi{constructor(e,t,i){super(e,t,i,"audio-stream-controller",A.AUDIO),this.mainAnchor=null,this.mainFragLoading=null,this.audioOnly=!1,this.bufferedTrack=null,this.switchingTrack=null,this.trackId=-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();const{hls:e}=this;e.on(y.LEVEL_LOADED,this.onLevelLoaded,this),e.on(y.AUDIO_TRACKS_UPDATED,this.onAudioTracksUpdated,this),e.on(y.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.on(y.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.on(y.BUFFER_RESET,this.onBufferReset,this),e.on(y.BUFFER_CREATED,this.onBufferCreated,this),e.on(y.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(y.BUFFER_FLUSHED,this.onBufferFlushed,this),e.on(y.INIT_PTS_FOUND,this.onInitPtsFound,this),e.on(y.FRAG_LOADING,this.onFragLoading,this),e.on(y.FRAG_BUFFERED,this.onFragBuffered,this)}unregisterListeners(){const{hls:e}=this;e&&(super.unregisterListeners(),e.off(y.LEVEL_LOADED,this.onLevelLoaded,this),e.off(y.AUDIO_TRACKS_UPDATED,this.onAudioTracksUpdated,this),e.off(y.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.off(y.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.off(y.BUFFER_RESET,this.onBufferReset,this),e.off(y.BUFFER_CREATED,this.onBufferCreated,this),e.off(y.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(y.BUFFER_FLUSHED,this.onBufferFlushed,this),e.off(y.INIT_PTS_FOUND,this.onInitPtsFound,this),e.off(y.FRAG_LOADING,this.onFragLoading,this),e.off(y.FRAG_BUFFERED,this.onFragBuffered,this))}onInitPtsFound(e,{frag:t,id:i,initPTS:u,timescale:v}){if(i===A.MAIN){const T=t.cc,M=this.fragCurrent;if(this.initPTS[T]={baseTime:u,timescale:v},this.log(`InitPTS for cc: ${T} found from main: ${u}/${v}`),this.mainAnchor=t,this.state===wt.WAITING_INIT_PTS){const W=this.waitingData;(!W&&!this.loadingParts||W&&W.frag.cc!==T)&&this.syncWithAnchor(t,W==null?void 0:W.frag)}else!this.hls.hasEnoughToStart&&M&&M.cc!==T?(M.abortRequests(),this.syncWithAnchor(t,M)):this.state===wt.IDLE&&this.tick()}}getLoadPosition(){return!this.startFragRequested&&this.nextLoadPosition>=0?this.nextLoadPosition:super.getLoadPosition()}syncWithAnchor(e,t){var i;const u=((i=this.mainFragLoading)==null?void 0:i.frag)||null;if(t&&(u==null?void 0:u.cc)===t.cc)return;const v=(u||e).cc,T=this.getLevelDetails(),M=this.getLoadPosition(),W=lr(T,v,M);W&&(this.log(`Syncing with main frag at ${W.start} cc ${W.cc}`),this.startFragRequested=!1,this.nextLoadPosition=W.start,this.resetLoadingState(),this.state===wt.IDLE&&this.doTickIdle())}startLoad(e,t){if(!this.levels){this.startPosition=e,this.state=wt.STOPPED;return}const i=this.lastCurrentTime;this.stopLoad(),this.setInterval(qs),i>0&&e===-1?(this.log(`Override startPosition with lastCurrentTime @${i.toFixed(3)}`),e=i,this.state=wt.IDLE):this.state=wt.WAITING_TRACK,this.nextLoadPosition=this.lastCurrentTime=e+this.timelineOffset,this.startPosition=t?-1:e,this.tick()}doTick(){switch(this.state){case wt.IDLE:this.doTickIdle();break;case wt.WAITING_TRACK:{const{levels:t,trackId:i}=this,u=t==null?void 0:t[i],v=u==null?void 0:u.details;if(v&&!this.waitForLive(u)){if(this.waitForCdnTuneIn(v))break;this.state=wt.WAITING_INIT_PTS}break}case wt.FRAG_LOADING_WAITING_RETRY:{var e;const t=performance.now(),i=this.retryDate;if(!i||t>=i||(e=this.media)!=null&&e.seeking){const{levels:u,trackId:v}=this;this.log("RetryDate reached, switch back to IDLE state"),this.resetStartWhenNotLoaded((u==null?void 0:u[v])||null),this.state=wt.IDLE}break}case wt.WAITING_INIT_PTS:{const t=this.waitingData;if(t){const{frag:i,part:u,cache:v,complete:T}=t,M=this.mainAnchor;if(this.initPTS[i.cc]!==void 0){this.waitingData=null,this.state=wt.FRAG_LOADING;const W=v.flush().buffer,N={frag:i,part:u,payload:W,networkDetails:null};this._handleFragmentLoadProgress(N),T&&super._handleFragmentLoadComplete(N)}else M&&M.cc!==t.frag.cc&&this.syncWithAnchor(M,t.frag)}else this.state=wt.IDLE}}this.onTickEnd()}resetLoadingState(){const e=this.waitingData;e&&(this.fragmentTracker.removeFragment(e.frag),this.waitingData=null),super.resetLoadingState()}onTickEnd(){const{media:e}=this;e!=null&&e.readyState&&(this.lastCurrentTime=e.currentTime)}doTickIdle(){var e;const{hls:t,levels:i,media:u,trackId:v}=this,T=t.config;if(!this.buffering||!u&&!this.primaryPrefetch&&(this.startFragRequested||!T.startFragPrefetch)||!(i!=null&&i[v]))return;const M=i[v],W=M.details;if(!W||this.waitForLive(M)||this.waitForCdnTuneIn(W)){this.state=wt.WAITING_TRACK,this.startFragRequested=!1;return}const N=this.mediaBuffer?this.mediaBuffer:this.media;this.bufferFlushed&&N&&(this.bufferFlushed=!1,this.afterBufferFlushed(N,H.AUDIO,A.AUDIO));const j=this.getFwdBufferInfo(N,A.AUDIO);if(j===null)return;if(!this.switchingTrack&&this._streamEnded(j,W)){t.trigger(y.BUFFER_EOS,{type:"audio"}),this.state=wt.ENDED;return}const Z=j.len,J=t.maxBufferLength,re=W.fragments,ie=re[0].start,pe=this.getLoadPosition(),_e=this.flushing?pe:j.end;if(this.switchingTrack&&u){const Me=pe;W.PTSKnown&&Me<ie&&(j.end>ie||j.nextStart)&&(this.log("Alt audio track ahead of main track, seek to start of alt audio track"),u.currentTime=ie+.05)}if(Z>=J&&!this.switchingTrack&&_e<re[re.length-1].start)return;let Se=this.getNextFragment(_e,W);if(Se&&this.isLoopLoading(Se,_e)&&(Se=this.getNextFragmentLoopLoading(Se,W,j,A.MAIN,J)),!Se){this.bufferFlushed=!0;return}let ke=((e=this.mainFragLoading)==null?void 0:e.frag)||null;if(!this.audioOnly&&this.startFragRequested&&ke&&q(Se)&&!Se.endList&&(!W.live||!this.loadingParts&&_e<this.hls.liveSyncPosition)&&(this.fragmentTracker.getState(ke)===xr.OK&&(this.mainFragLoading=ke=null),ke&&q(ke))){if(Se.start>ke.end){const Ze=this.fragmentTracker.getFragAtPos(_e,A.MAIN);Ze&&Ze.end>ke.end&&(ke=Ze,this.mainFragLoading={frag:Ze,targetBufferTime:null})}if(Se.start>ke.end)return}this.loadFragment(Se,M,_e)}onMediaDetaching(e,t){this.bufferFlushed=this.flushing=!1,super.onMediaDetaching(e,t)}onAudioTracksUpdated(e,{audioTracks:t}){this.resetTransmuxer(),this.levels=t.map(i=>new He(i))}onAudioTrackSwitching(e,t){const i=!!t.url;this.trackId=t.id;const{fragCurrent:u}=this;u&&(u.abortRequests(),this.removeUnbufferedFrags(u.start)),this.resetLoadingState(),i?(this.switchingTrack=t,this.flushAudioIfNeeded(t),this.state!==wt.STOPPED&&(this.setInterval(qs),this.state=wt.IDLE,this.tick())):(this.resetTransmuxer(),this.switchingTrack=null,this.bufferedTrack=t,this.clearInterval())}onManifestLoading(){super.onManifestLoading(),this.bufferFlushed=this.flushing=this.audioOnly=!1,this.resetItem(),this.trackId=-1}onLevelLoaded(e,t){this.mainDetails=t.details;const i=this.cachedTrackLoadedData;i&&(this.cachedTrackLoadedData=null,this.onAudioTrackLoaded(y.AUDIO_TRACK_LOADED,i))}onAudioTrackLoaded(e,t){var i;const{levels:u}=this,{details:v,id:T,groupId:M,track:W}=t;if(!u){this.warn(`Audio tracks reset while loading track ${T} "${W.name}" of "${M}"`);return}const N=this.mainDetails;if(!N||v.endCC>N.endCC||N.expired){this.cachedTrackLoadedData=t,this.state!==wt.STOPPED&&(this.state=wt.WAITING_TRACK);return}this.cachedTrackLoadedData=null,this.log(`Audio track ${T} "${W.name}" of "${M}" loaded [${v.startSN},${v.endSN}]${v.lastPartSn?`[part-${v.lastPartSn}-${v.lastPartIndex}]`:""},duration:${v.totalduration}`);const j=u[T];let Z=0;if(v.live||(i=j.details)!=null&&i.live){if(this.checkLiveUpdate(v),v.deltaUpdateFailed)return;if(j.details){var J;Z=this.alignPlaylists(v,j.details,(J=this.levelLastLoaded)==null?void 0:J.details)}v.alignedSliding||(In(v,N),v.alignedSliding||ta(v,N),Z=v.fragmentStart)}j.details=v,this.levelLastLoaded=j,this.startFragRequested||this.setStartPosition(N,Z),this.hls.trigger(y.AUDIO_TRACK_UPDATED,{details:v,id:T,groupId:t.groupId}),this.state===wt.WAITING_TRACK&&!this.waitForCdnTuneIn(v)&&(this.state=wt.IDLE),this.tick()}_handleFragmentLoadProgress(e){var t;const i=e.frag,{part:u,payload:v}=e,{config:T,trackId:M,levels:W}=this;if(!W){this.warn(`Audio tracks were reset while fragment load was in progress. Fragment ${i.sn} of level ${i.level} will not be buffered`);return}const N=W[M];if(!N){this.warn("Audio track is undefined on fragment load progress");return}const j=N.details;if(!j){this.warn("Audio track details undefined on fragment load progress"),this.removeUnbufferedFrags(i.start);return}const Z=T.defaultAudioCodec||N.audioCodec||"mp4a.40.2";let J=this.transmuxer;J||(J=this.transmuxer=new Js(this.hls,A.AUDIO,this._handleTransmuxComplete.bind(this),this._handleTransmuxerFlush.bind(this)));const re=this.initPTS[i.cc],ie=(t=i.initSegment)==null?void 0:t.data;if(re!==void 0){const _e=u?u.index:-1,Se=_e!==-1,ke=new Ai(i.level,i.sn,i.stats.chunkCount,v.byteLength,_e,Se);J.push(v,ie,Z,"",i,u,j.totalduration,!1,ke,re)}else{this.log(`Unknown video PTS for cc ${i.cc}, waiting for video PTS before demuxing audio frag ${i.sn} of [${j.startSN} ,${j.endSN}],track ${M}`);const{cache:pe}=this.waitingData=this.waitingData||{frag:i,part:u,cache:new $i,complete:!1};pe.push(new Uint8Array(v)),this.state!==wt.STOPPED&&(this.state=wt.WAITING_INIT_PTS)}}_handleFragmentLoadComplete(e){if(this.waitingData){this.waitingData.complete=!0;return}super._handleFragmentLoadComplete(e)}onBufferReset(){this.mediaBuffer=null}onBufferCreated(e,t){this.bufferFlushed=this.flushing=!1;const i=t.tracks.audio;i&&(this.mediaBuffer=i.buffer||null)}onFragLoading(e,t){!this.audioOnly&&t.frag.type===A.MAIN&&q(t.frag)&&(this.mainFragLoading=t,this.state===wt.IDLE&&this.tick())}onFragBuffered(e,t){const{frag:i,part:u}=t;if(i.type!==A.AUDIO){!this.audioOnly&&i.type===A.MAIN&&!i.elementaryStreams.video&&!i.elementaryStreams.audiovideo&&(this.audioOnly=!0,this.mainFragLoading=null);return}if(this.fragContextChanged(i)){this.warn(`Fragment ${i.sn}${u?" p: "+u.index:""} of level ${i.level} finished buffering, but was aborted. state: ${this.state}, audioSwitch: ${this.switchingTrack?this.switchingTrack.name:"false"}`);return}if(q(i)){this.fragPrevious=i;const v=this.switchingTrack;v&&(this.bufferedTrack=v,this.switchingTrack=null,this.hls.trigger(y.AUDIO_TRACK_SWITCHED,n({},v)))}this.fragBufferedComplete(i,u),this.media&&this.tick()}onError(e,t){var i;if(t.fatal){this.state=wt.ERROR;return}switch(t.details){case K.FRAG_GAP:case K.FRAG_PARSING_ERROR:case K.FRAG_DECRYPT_ERROR:case K.FRAG_LOAD_ERROR:case K.FRAG_LOAD_TIMEOUT:case K.KEY_LOAD_ERROR:case K.KEY_LOAD_TIMEOUT:this.onFragmentOrKeyLoadError(A.AUDIO,t);break;case K.AUDIO_TRACK_LOAD_ERROR:case K.AUDIO_TRACK_LOAD_TIMEOUT:case K.LEVEL_PARSING_ERROR:!t.levelRetry&&this.state===wt.WAITING_TRACK&&((i=t.context)==null?void 0:i.type)===L.AUDIO_TRACK&&(this.state=wt.IDLE);break;case K.BUFFER_ADD_CODEC_ERROR:case K.BUFFER_APPEND_ERROR:if(t.parent!=="audio")return;this.reduceLengthAndFlushBuffer(t)||this.resetLoadingState();break;case K.BUFFER_FULL_ERROR:if(t.parent!=="audio")return;this.reduceLengthAndFlushBuffer(t)&&(this.bufferedTrack=null,super.flushMainBuffer(0,Number.POSITIVE_INFINITY,"audio"));break;case K.INTERNAL_EXCEPTION:this.recoverWorkerError(t);break}}onBufferFlushing(e,{type:t}){t!==H.VIDEO&&(this.flushing=!0)}onBufferFlushed(e,{type:t}){if(t!==H.VIDEO){this.flushing=!1,this.bufferFlushed=!0,this.state===wt.ENDED&&(this.state=wt.IDLE);const i=this.mediaBuffer||this.media;i&&(this.afterBufferFlushed(i,t,A.AUDIO),this.tick())}}_handleTransmuxComplete(e){var t;const i="audio",{hls:u}=this,{remuxResult:v,chunkMeta:T}=e,M=this.getCurrentContext(T);if(!M){this.resetWhenMissingContext(T);return}const{frag:W,part:N,level:j}=M,{details:Z}=j,{audio:J,text:re,id3:ie,initSegment:pe}=v;if(this.fragContextChanged(W)||!Z){this.fragmentTracker.removeFragment(W);return}if(this.state=wt.PARSING,this.switchingTrack&&J&&this.completeAudioSwitch(this.switchingTrack),pe!=null&&pe.tracks){const _e=W.initSegment||W;this._bufferInitSegment(j,pe.tracks,_e,T),u.trigger(y.FRAG_PARSING_INIT_SEGMENT,{frag:_e,id:i,tracks:pe.tracks})}if(J){const{startPTS:_e,endPTS:Se,startDTS:ke,endDTS:Me}=J;N&&(N.elementaryStreams[H.AUDIO]={startPTS:_e,endPTS:Se,startDTS:ke,endDTS:Me}),W.setElementaryStreamInfo(H.AUDIO,_e,Se,ke,Me),this.bufferFragmentData(J,W,N,T)}if(ie!=null&&(t=ie.samples)!=null&&t.length){const _e=l({id:i,frag:W,details:Z},ie);u.trigger(y.FRAG_PARSING_METADATA,_e)}if(re){const _e=l({id:i,frag:W,details:Z},re);u.trigger(y.FRAG_PARSING_USERDATA,_e)}}_bufferInitSegment(e,t,i,u){if(this.state!==wt.PARSING||(t.video&&delete t.video,t.audiovideo&&delete t.audiovideo,!t.audio))return;const v=t.audio;v.id=A.AUDIO;const T=e.audioCodec;this.log(`Init audio buffer, container:${v.container}, codecs[level/parsed]=[${T}/${v.codec}]`),T&&T.split(",").length===1&&(v.levelCodec=T),this.hls.trigger(y.BUFFER_CODECS,t);const M=v.initSegment;if(M!=null&&M.byteLength){const W={type:"audio",frag:i,part:null,chunkMeta:u,parent:i.type,data:M};this.hls.trigger(y.BUFFER_APPENDING,W)}this.tickImmediate()}loadFragment(e,t,i){const u=this.fragmentTracker.getState(e);if(this.switchingTrack||u===xr.NOT_LOADED||u===xr.PARTIAL){var v;if(!q(e))this._loadInitSegment(e,t);else if((v=t.details)!=null&&v.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=wt.WAITING_INIT_PTS;const T=this.mainDetails;T&&T.fragmentStart!==t.details.fragmentStart&&ta(t.details,T)}else super.loadFragment(e,t,i)}else this.clearTrackerIfNeeded(e)}flushAudioIfNeeded(e){if(this.media&&this.bufferedTrack){const{name:t,lang:i,assocLang:u,characteristics:v,audioCodec:T,channels:M}=this.bufferedTrack;Je({name:t,lang:i,assocLang:u,characteristics:v,audioCodec:T,channels:M},e,Rt)||(Ge(e.url,this.hls)?(this.log("Switching audio track : flushing all audio"),super.flushMainBuffer(0,Number.POSITIVE_INFINITY,"audio"),this.bufferedTrack=null):this.bufferedTrack=e)}}completeAudioSwitch(e){const{hls:t}=this;this.flushAudioIfNeeded(e),this.bufferedTrack=e,this.switchingTrack=null,t.trigger(y.AUDIO_TRACK_SWITCHED,n({},e))}}class is extends m{constructor(e,t){super(t,e.logger),this.hls=void 0,this.canLoad=!1,this.timer=-1,this.hls=e}destroy(){this.clearTimer(),this.hls=this.log=this.warn=null}clearTimer(){this.timer!==-1&&(self.clearTimeout(this.timer),this.timer=-1)}startLoad(){this.canLoad=!0,this.loadPlaylist()}stopLoad(){this.canLoad=!1,this.clearTimer()}switchParams(e,t,i){const u=t==null?void 0:t.renditionReports;if(u){let v=-1;for(let T=0;T<u.length;T++){const M=u[T];let W;try{W=new self.URL(M.URI,t.url).href}catch(N){this.warn(`Could not construct new URL for Rendition Report: ${N}`),W=M.URI||""}if(W===e){v=T;break}else W===e.substring(0,W.length)&&(v=T)}if(v!==-1){const T=u[v],M=parseInt(T["LAST-MSN"])||(t==null?void 0:t.lastPartSn);let W=parseInt(T["LAST-PART"])||(t==null?void 0:t.lastPartIndex);if(this.hls.config.lowLatencyMode){const j=Math.min(t.age-t.partTarget,t.targetduration);W>=0&&j>t.partTarget&&(W+=1)}const N=i&&ct(i);return new ze(M,W>=0?W:void 0,N)}}}loadPlaylist(e){this.clearTimer()}loadingPlaylist(e,t){this.clearTimer()}shouldLoadPlaylist(e){return this.canLoad&&!!e&&!!e.url&&(!e.details||e.details.live)}getUrlWithDirectives(e,t){if(t)try{return t.addDirectives(e)}catch(i){this.warn(`Could not construct new URL with HLS Delivery Directives: ${i}`)}return e}playlistLoaded(e,t,i){const{details:u,stats:v}=t,T=self.performance.now(),M=v.loading.first?Math.max(0,T-v.loading.first):0;u.advancedDateTime=Date.now()-M;const W=this.hls.config.timelineOffset;if(W!==u.appliedTimelineOffset){const j=Math.max(W||0,0);u.appliedTimelineOffset=j,u.fragments.forEach(Z=>{Z.start=Z.playlistOffset+j})}if(u.live||i!=null&&i.live){const j="levelInfo"in t?t.levelInfo:t.track;if(u.reloaded(i),i&&u.fragments.length>0){fa(i,u);const ke=u.playlistParsingError;if(ke){this.warn(ke);const Me=this.hls;if(!Me.config.ignorePlaylistParsingErrors){var N;const{networkDetails:Ze}=t;Me.trigger(y.ERROR,{type:S.NETWORK_ERROR,details:K.LEVEL_PARSING_ERROR,fatal:!1,url:u.url,error:ke,reason:ke.message,level:t.level||void 0,parent:(N=u.fragments[0])==null?void 0:N.type,networkDetails:Ze,stats:v});return}u.playlistParsingError=null}}u.requestScheduled===-1&&(u.requestScheduled=v.loading.start);const Z=this.hls.mainForwardBufferInfo,J=Z?Z.end-Z.len:0,re=(u.edge-J)*1e3,ie=ki(u,re);if(u.requestScheduled+ie<T?u.requestScheduled=T:u.requestScheduled+=ie,this.log(`live playlist ${e} ${u.advanced?"REFRESHED "+u.lastPartSn+"-"+u.lastPartIndex:u.updated?"UPDATED":"MISSED"}`),!this.canLoad||!u.live)return;let pe,_e,Se;if(u.canBlockReload&&u.endSN&&u.advanced){const ke=this.hls.config.lowLatencyMode,Me=u.lastPartSn,Ze=u.endSN,ot=u.lastPartIndex,Pt=ot!==-1,it=Me===Ze;Pt?it?(_e=Ze+1,Se=ke?0:ot):(_e=Me,Se=ke?ot+1:u.maxPartIndex):_e=Ze+1;const _t=u.age,Et=_t+u.ageHeader;let qe=Math.min(Et-u.partTarget,u.targetduration*1.5);if(qe>0){if(Et>u.targetduration*3)this.log(`Playlist last advanced ${_t.toFixed(2)}s ago. Omitting segment and part directives.`),_e=void 0,Se=void 0;else if(i!=null&&i.tuneInGoal&&Et-u.partTarget>i.tuneInGoal)this.warn(`CDN Tune-in goal increased from: ${i.tuneInGoal} to: ${qe} with playlist age: ${u.age}`),qe=0;else{const jt=Math.floor(qe/u.targetduration);if(_e+=jt,Se!==void 0){const ur=Math.round(qe%u.targetduration/u.partTarget);Se+=ur}this.log(`CDN Tune-in age: ${u.ageHeader}s last advanced ${_t.toFixed(2)}s goal: ${qe} skip sn ${jt} to part ${Se}`)}u.tuneInGoal=qe}if(pe=this.getDeliveryDirectives(u,t.deliveryDirectives,_e,Se),ke||!it){u.requestScheduled=T,this.loadingPlaylist(j,pe);return}}else(u.canBlockReload||u.canSkipUntil)&&(pe=this.getDeliveryDirectives(u,t.deliveryDirectives,_e,Se));pe&&_e!==void 0&&u.canBlockReload&&(u.requestScheduled=v.loading.first+Math.max(ie-M*2,ie/2)),this.scheduleLoading(j,pe,u)}else this.clearTimer()}scheduleLoading(e,t,i){const u=i||e.details;if(!u){this.loadingPlaylist(e,t);return}const v=self.performance.now(),T=u.requestScheduled;if(v>=T){this.loadingPlaylist(e,t);return}const M=T-v;this.log(`reload live playlist ${e.name||e.bitrate+"bps"} in ${Math.round(M)} ms`),this.clearTimer(),this.timer=self.setTimeout(()=>this.loadingPlaylist(e,t),M)}getDeliveryDirectives(e,t,i,u){let v=ct(e);return t!=null&&t.skip&&e.deltaUpdateFailed&&(i=t.msn,u=t.part,v=be.No),new ze(i,u,v)}checkRetry(e){const t=e.details,i=ir(e),u=e.errorAction,{action:v,retryCount:T=0,retryConfig:M}=u||{},W=!!u&&!!M&&(v===er.RetryRequest||!u.resolved&&v===er.SendAlternateToPenaltyBox);if(W){var N;if(T>=M.maxNumRetry)return!1;if(i&&(N=e.context)!=null&&N.deliveryDirectives)this.warn(`Retrying playlist loading ${T+1}/${M.maxNumRetry} after "${t}" without delivery-directives`),this.loadPlaylist();else{const j=br(M,T);this.clearTimer(),this.timer=self.setTimeout(()=>this.loadPlaylist(),j),this.warn(`Retrying playlist loading ${T+1}/${M.maxNumRetry} after "${t}" in ${j}ms`)}e.levelRetry=!0,u.resolved=!0}return W}}function eo(D,e){if(D.length!==e.length)return!1;for(let t=0;t<D.length;t++)if(!ya(D[t].attrs,e[t].attrs))return!1;return!0}function ya(D,e,t){const i=D["STABLE-RENDITION-ID"];return i&&!t?i===e["STABLE-RENDITION-ID"]:!(t||["LANGUAGE","NAME","CHARACTERISTICS","AUTOSELECT","DEFAULT","FORCED","ASSOC-LANGUAGE"]).some(u=>D[u]!==e[u])}function ns(D,e){return e.label.toLowerCase()===D.name.toLowerCase()&&(!e.language||e.language.toLowerCase()===(D.lang||"").toLowerCase())}class Yl extends is{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(){const{hls:e}=this;e.on(y.MANIFEST_LOADING,this.onManifestLoading,this),e.on(y.MANIFEST_PARSED,this.onManifestParsed,this),e.on(y.LEVEL_LOADING,this.onLevelLoading,this),e.on(y.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(y.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.on(y.ERROR,this.onError,this)}unregisterListeners(){const{hls:e}=this;e.off(y.MANIFEST_LOADING,this.onManifestLoading,this),e.off(y.MANIFEST_PARSED,this.onManifestParsed,this),e.off(y.LEVEL_LOADING,this.onLevelLoading,this),e.off(y.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(y.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.off(y.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,t){this.tracks=t.audioTracks||[]}onAudioTrackLoaded(e,t){const{id:i,groupId:u,details:v}=t,T=this.tracksInGroup[i];if(!T||T.groupId!==u){this.warn(`Audio track with id:${i} and group:${u} not found in active group ${T==null?void 0:T.groupId}`);return}const M=T.details;T.details=t.details,this.log(`Audio track ${i} "${T.name}" lang:${T.lang} group:${u} loaded [${v.startSN}-${v.endSN}]`),i===this.trackId&&this.playlistLoaded(i,t,M)}onLevelLoading(e,t){this.switchLevel(t.level)}onLevelSwitching(e,t){this.switchLevel(t.level)}switchLevel(e){const t=this.hls.levels[e];if(!t)return;const i=t.audioGroups||null,u=this.groupIds;let v=this.currentTrack;if(!i||(u==null?void 0:u.length)!==(i==null?void 0:i.length)||i!=null&&i.some(M=>(u==null?void 0:u.indexOf(M))===-1)){this.groupIds=i,this.trackId=-1,this.currentTrack=null;const M=this.tracks.filter(J=>!i||i.indexOf(J.groupId)!==-1);if(M.length)this.selectDefaultTrack&&!M.some(J=>J.default)&&(this.selectDefaultTrack=!1),M.forEach((J,re)=>{J.id=re});else if(!v&&!this.tracksInGroup.length)return;this.tracksInGroup=M;const W=this.hls.config.audioPreference;if(!v&&W){const J=Ve(W,M,Rt);if(J>-1)v=M[J];else{const re=Ve(W,this.tracks);v=this.tracks[re]}}let N=this.findTrackId(v);N===-1&&v&&(N=this.findTrackId(null));const j={audioTracks:M};this.log(`Updating audio tracks, ${M.length} track(s) found in group(s): ${i==null?void 0:i.join(",")}`),this.hls.trigger(y.AUDIO_TRACKS_UPDATED,j);const Z=this.trackId;if(N!==-1&&Z===-1)this.setAudioTrack(N);else if(M.length&&Z===-1){var T;const J=new Error(`No audio track selected for current audio group-ID(s): ${(T=this.groupIds)==null?void 0:T.join(",")} track count: ${M.length}`);this.warn(J.message),this.hls.trigger(y.ERROR,{type:S.MEDIA_ERROR,details:K.AUDIO_TRACK_LOAD_ERROR,fatal:!0,error:J})}}}onError(e,t){t.fatal||!t.context||t.context.type===L.AUDIO_TRACK&&t.context.id===this.trackId&&(!this.groupIds||this.groupIds.indexOf(t.context.groupId)!==-1)&&this.checkRetry(t)}get allAudioTracks(){return this.tracks}get audioTracks(){return this.tracksInGroup}get audioTrack(){return this.trackId}set audioTrack(e){this.selectDefaultTrack=!1,this.setAudioTrack(e)}setAudioOption(e){const t=this.hls;if(t.config.audioPreference=e,e){const i=this.allAudioTracks;if(this.selectDefaultTrack=!1,i.length){const u=this.currentTrack;if(u&&Je(e,u,Rt))return u;const v=Ve(e,this.tracksInGroup,Rt);if(v>-1){const T=this.tracksInGroup[v];return this.setAudioTrack(v),T}else if(u){let T=t.loadLevel;T===-1&&(T=t.firstAutoLevel);const M=Mt(e,t.levels,i,T,Rt);if(M===-1)return null;t.nextLoadLevel=M}if(e.channels||e.audioCodec){const T=Ve(e,i);if(T>-1)return i[T]}}}return null}setAudioTrack(e){const t=this.tracksInGroup;if(e<0||e>=t.length){this.warn(`Invalid audio track id: ${e}`);return}this.selectDefaultTrack=!1;const i=this.currentTrack,u=t[e],v=u.details&&!u.details.live;if(e===this.trackId&&u===i&&v||(this.log(`Switching to audio-track ${e} "${u.name}" lang:${u.lang} group:${u.groupId} channels:${u.channels}`),this.trackId=e,this.currentTrack=u,this.hls.trigger(y.AUDIO_TRACK_SWITCHING,n({},u)),v))return;const T=this.switchParams(u.url,i==null?void 0:i.details,u.details);this.loadPlaylist(T)}findTrackId(e){const t=this.tracksInGroup;for(let i=0;i<t.length;i++){const u=t[i];if(!(this.selectDefaultTrack&&!u.default)&&(!e||Je(e,u,Rt)))return i}if(e){const{name:i,lang:u,assocLang:v,characteristics:T,audioCodec:M,channels:W}=e;for(let N=0;N<t.length;N++){const j=t[N];if(Je({name:i,lang:u,assocLang:v,characteristics:T,audioCodec:M,channels:W},j,Rt))return N}for(let N=0;N<t.length;N++){const j=t[N];if(ya(e.attrs,j.attrs,["LANGUAGE","ASSOC-LANGUAGE","CHARACTERISTICS"]))return N}for(let N=0;N<t.length;N++){const j=t[N];if(ya(e.attrs,j.attrs,["LANGUAGE"]))return N}}return-1}loadPlaylist(e){super.loadPlaylist();const t=this.currentTrack;this.shouldLoadPlaylist(t)&&Ge(t.url,this.hls)&&this.scheduleLoading(t,e)}loadingPlaylist(e,t){super.loadingPlaylist(e,t);const i=e.id,u=e.groupId,v=this.getUrlWithDirectives(e.url,t),T=e.details,M=T==null?void 0:T.age;this.log(`Loading audio-track ${i} "${e.name}" lang:${e.lang} group:${u}${(t==null?void 0:t.msn)!==void 0?" at sn "+t.msn+" part "+t.part:""}${M&&T.live?" age "+M.toFixed(1)+(T.type?" "+T.type||0:""):""} ${v}`),this.hls.trigger(y.AUDIO_TRACK_LOADING,{url:v,id:i,groupId:u,deliveryDirectives:t||null,track:e})}}class $l{constructor(e){this.tracks=void 0,this.queues={video:[],audio:[],audiovideo:[]},this.tracks=e}destroy(){this.tracks=this.queues=null}append(e,t,i){if(this.queues===null||this.tracks===null)return;const u=this.queues[t];u.push(e),u.length===1&&!i&&this.executeNext(t)}appendBlocker(e){return new Promise(t=>{const i={label:"async-blocker",execute:t,onStart:()=>{},onComplete:()=>{},onError:()=>{}};this.append(i,e)})}prependBlocker(e){return new Promise(t=>{if(this.queues){const i={label:"async-blocker-prepend",execute:t,onStart:()=>{},onComplete:()=>{},onError:()=>{}};this.queues[e].unshift(i)}})}removeBlockers(){this.queues!==null&&[this.queues.video,this.queues.audio,this.queues.audiovideo].forEach(e=>{var t;const i=(t=e[0])==null?void 0:t.label;(i==="async-blocker"||i==="async-blocker-prepend")&&(e[0].execute(),e.splice(0,1))})}unblockAudio(e){if(this.queues===null)return;this.queues.audio[0]===e&&this.shiftAndExecuteNext("audio")}executeNext(e){if(this.queues===null||this.tracks===null)return;const t=this.queues[e];if(t.length){const u=t[0];try{u.execute()}catch(v){var i;if(u.onError(v),this.queues===null||this.tracks===null)return;const T=(i=this.tracks[e])==null?void 0:i.buffer;T!=null&&T.updating||this.shiftAndExecuteNext(e)}}}shiftAndExecuteNext(e){this.queues!==null&&(this.queues[e].shift(),this.executeNext(e))}current(e){var t;return((t=this.queues)==null?void 0:t[e][0])||null}toString(){const{queues:e,tracks:t}=this;return e===null||t===null?"<destroyed>":`
${this.list("video")}
${this.list("audio")}
${this.list("audiovideo")}}`}list(e){var t,i;return(t=this.queues)!=null&&t[e]||(i=this.tracks)!=null&&i[e]?`${e}: (${this.listSbInfo(e)}) ${this.listOps(e)}`:""}listSbInfo(e){var t;const i=(t=this.tracks)==null?void 0:t[e],u=i==null?void 0:i.buffer;return u?`SourceBuffer${u.updating?" updating":""}${i.ended?" ended":""}${i.ending?" ending":""}`:"none"}listOps(e){var t;return((t=this.queues)==null?void 0:t[e].map(i=>i.label).join(", "))||""}}const to=/(avc[1234]|hvc1|hev1|dvh[1e]|vp09|av01)(?:\.[^.,]+)+/,ro="HlsJsTrackRemovedError";class Ql extends Error{constructor(e){super(e),this.name=ro}}class Jl extends m{constructor(e,t){super("buffer-controller",e.logger),this.hls=void 0,this.fragmentTracker=void 0,this.details=null,this._objectUrl=null,this.operationQueue=null,this.bufferCodecEventsTotal=0,this.media=null,this.mediaSource=null,this.lastMpegAudioChunk=null,this.blockedAudioAppend=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.tracks={},this.sourceBuffers=[[null,null],[null,null]],this._onEndStreaming=i=>{var u;this.hls&&((u=this.mediaSource)==null?void 0:u.readyState)==="open"&&this.hls.pauseBuffering()},this._onStartStreaming=i=>{this.hls&&this.hls.resumeBuffering()},this._onMediaSourceOpen=i=>{const{media:u,mediaSource:v}=this;i&&this.log("Media source opened"),!(!u||!v)&&(v.removeEventListener("sourceopen",this._onMediaSourceOpen),u.removeEventListener("emptied",this._onMediaEmptied),this.updateDuration(),this.hls.trigger(y.MEDIA_ATTACHED,{media:u,mediaSource:v}),this.mediaSource!==null&&this.checkPendingTracks())},this._onMediaSourceClose=()=>{this.log("Media source closed")},this._onMediaSourceEnded=()=>{this.log("Media source ended")},this._onMediaEmptied=()=>{const{mediaSrc:i,_objectUrl:u}=this;i!==u&&this.error(`Media element src was set while attaching MediaSource (${u} > ${i})`)},this.hls=e,this.fragmentTracker=t,this.appendSource=R(w(e.config.preferManagedMediaSource)),this.initTracks(),this.registerListeners()}hasSourceTypes(){return Object.keys(this.tracks).length>0}destroy(){this.unregisterListeners(),this.details=null,this.lastMpegAudioChunk=this.blockedAudioAppend=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}registerListeners(){const{hls:e}=this;e.on(y.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(y.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(y.MANIFEST_LOADING,this.onManifestLoading,this),e.on(y.MANIFEST_PARSED,this.onManifestParsed,this),e.on(y.BUFFER_RESET,this.onBufferReset,this),e.on(y.BUFFER_APPENDING,this.onBufferAppending,this),e.on(y.BUFFER_CODECS,this.onBufferCodecs,this),e.on(y.BUFFER_EOS,this.onBufferEos,this),e.on(y.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(y.LEVEL_UPDATED,this.onLevelUpdated,this),e.on(y.FRAG_PARSED,this.onFragParsed,this),e.on(y.FRAG_CHANGED,this.onFragChanged,this),e.on(y.ERROR,this.onError,this)}unregisterListeners(){const{hls:e}=this;e.off(y.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(y.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(y.MANIFEST_LOADING,this.onManifestLoading,this),e.off(y.MANIFEST_PARSED,this.onManifestParsed,this),e.off(y.BUFFER_RESET,this.onBufferReset,this),e.off(y.BUFFER_APPENDING,this.onBufferAppending,this),e.off(y.BUFFER_CODECS,this.onBufferCodecs,this),e.off(y.BUFFER_EOS,this.onBufferEos,this),e.off(y.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(y.LEVEL_UPDATED,this.onLevelUpdated,this),e.off(y.FRAG_PARSED,this.onFragParsed,this),e.off(y.FRAG_CHANGED,this.onFragChanged,this),e.off(y.ERROR,this.onError,this)}transferMedia(){const{media:e,mediaSource:t}=this;if(!e)return null;const i={};if(this.operationQueue){const v=this.isUpdating();v||this.operationQueue.removeBlockers();const T=this.isQueued();(v||T)&&this.warn(`Transfering MediaSource with${T?" operations in queue":""}${v?" updating SourceBuffer(s)":""} ${this.operationQueue}`),this.operationQueue.destroy()}const u=this.transferData;return!this.sourceBufferCount&&u&&u.mediaSource===t?l(i,u.tracks):this.sourceBuffers.forEach(v=>{const[T]=v;T&&(i[T]=l({},this.tracks[T]),this.removeBuffer(T)),v[0]=v[1]=null}),{media:e,mediaSource:t,tracks:i}}initTracks(){const e={};this.sourceBuffers=[[null,null],[null,null]],this.tracks=e,this.resetQueue(),this.resetAppendErrors(),this.lastMpegAudioChunk=this.blockedAudioAppend=null,this.lastVideoAppendEnd=0}onManifestLoading(){this.bufferCodecEventsTotal=0,this.details=null}onManifestParsed(e,t){var i;let u=2;(t.audio&&!t.video||!t.altAudio)&&(u=1),this.bufferCodecEventsTotal=u,this.log(`${u} bufferCodec event(s) expected.`),(i=this.transferData)!=null&&i.mediaSource&&this.sourceBufferCount&&u&&this.bufferCreated()}onMediaAttaching(e,t){const i=this.media=t.media,u=w(this.appendSource);if(this.transferData=this.overrides=void 0,i&&u){const v=!!t.mediaSource;(v||t.overrides)&&(this.transferData=t,this.overrides=t.overrides);const T=this.mediaSource=t.mediaSource||new u;if(this.assignMediaSource(T),v)this._objectUrl=i.src,this.attachTransferred();else{const M=this._objectUrl=self.URL.createObjectURL(T);if(this.appendSource)try{i.removeAttribute("src");const W=self.ManagedMediaSource;i.disableRemotePlayback=i.disableRemotePlayback||W&&T instanceof W,io(i),ql(i,M),i.load()}catch(W){i.src=M}else i.src=M}i.addEventListener("emptied",this._onMediaEmptied)}}assignMediaSource(e){var t,i;this.log(`${((t=this.transferData)==null?void 0:t.mediaSource)===e?"transferred":"created"} media source: ${(i=e.constructor)==null?void 0:i.name}`),e.addEventListener("sourceopen",this._onMediaSourceOpen),e.addEventListener("sourceended",this._onMediaSourceEnded),e.addEventListener("sourceclose",this._onMediaSourceClose),this.appendSource&&(e.addEventListener("startstreaming",this._onStartStreaming),e.addEventListener("endstreaming",this._onEndStreaming))}attachTransferred(){const e=this.media,t=this.transferData;if(!t||!e)return;const i=this.tracks,u=t.tracks,v=u?Object.keys(u):null,T=v?v.length:0,M=()=>{this.media&&this.mediaSourceOpenOrEnded&&this._onMediaSourceOpen()};if(u&&v&&T){if(!this.tracksReady){this.hls.config.startFragPrefetch=!0,this.log("attachTransferred: waiting for SourceBuffer track info");return}if(this.log(`attachTransferred: (bufferCodecEventsTotal ${this.bufferCodecEventsTotal})
required tracks: ${gt(i,(W,N)=>W==="initSegment"?void 0:N)};
transfer tracks: ${gt(u,(W,N)=>W==="initSegment"?void 0:N)}}`),!O(u,i)){t.mediaSource=null,t.tracks=void 0;const W=e.currentTime,N=this.details,j=Math.max(W,(N==null?void 0:N.fragments[0].start)||0);if(j-W>1){this.log(`attachTransferred: waiting for playback to reach new tracks start time ${W} -> ${j}`);return}this.warn(`attachTransferred: resetting MediaSource for incompatible tracks ("${Object.keys(u)}"->"${Object.keys(i)}") start time: ${j} currentTime: ${W}`),this.onMediaDetaching(y.MEDIA_DETACHING,{}),this.onMediaAttaching(y.MEDIA_ATTACHING,t),e.currentTime=j;return}this.transferData=void 0,v.forEach(W=>{const N=W,j=u[N];if(j){const Z=j.buffer;if(Z){const J=this.fragmentTracker,re=j.id;if(J.hasFragments(re)||J.hasParts(re)){const _e=fr.getBuffered(Z);J.detectEvictedFragments(N,_e,re,null,!0)}const ie=as(N),pe=[N,Z];this.sourceBuffers[ie]=pe,Z.updating&&this.operationQueue&&this.operationQueue.prependBlocker(N),this.trackSourceBuffer(N,j)}}}),M(),this.bufferCreated()}else this.log("attachTransferred: MediaSource w/o SourceBuffers"),M()}get mediaSourceOpenOrEnded(){var e;const t=(e=this.mediaSource)==null?void 0:e.readyState;return t==="open"||t==="ended"}onMediaDetaching(e,t){const i=!!t.transferMedia;this.transferData=this.overrides=void 0;const{media:u,mediaSource:v,_objectUrl:T}=this;if(v){if(this.log(`media source ${i?"transferring":"detaching"}`),i)this.sourceBuffers.forEach(([M])=>{M&&this.removeBuffer(M)}),this.resetQueue();else{if(this.mediaSourceOpenOrEnded){const M=v.readyState==="open";try{const W=v.sourceBuffers;for(let N=W.length;N--;)M&&W[N].abort(),v.removeSourceBuffer(W[N]);M&&v.endOfStream()}catch(W){this.warn(`onMediaDetaching: ${W.message} while calling endOfStream`)}}this.sourceBufferCount&&this.onBufferReset()}v.removeEventListener("sourceopen",this._onMediaSourceOpen),v.removeEventListener("sourceended",this._onMediaSourceEnded),v.removeEventListener("sourceclose",this._onMediaSourceClose),this.appendSource&&(v.removeEventListener("startstreaming",this._onStartStreaming),v.removeEventListener("endstreaming",this._onEndStreaming)),this.mediaSource=null,this._objectUrl=null}u&&(u.removeEventListener("emptied",this._onMediaEmptied),i||(T&&self.URL.revokeObjectURL(T),this.mediaSrc===T?(u.removeAttribute("src"),this.appendSource&&io(u),u.load()):this.warn("media|source.src was changed by a third party - skip cleanup")),this.media=null),this.hls.trigger(y.MEDIA_DETACHED,t)}onBufferReset(){this.sourceBuffers.forEach(([e])=>{e&&this.resetBuffer(e)}),this.initTracks()}resetBuffer(e){var t;const i=(t=this.tracks[e])==null?void 0:t.buffer;if(this.removeBuffer(e),i)try{var u;(u=this.mediaSource)!=null&&u.sourceBuffers.length&&this.mediaSource.removeSourceBuffer(i)}catch(v){this.warn(`onBufferReset ${e}`,v)}delete this.tracks[e]}removeBuffer(e){this.removeBufferListeners(e),this.sourceBuffers[as(e)]=[null,null];const t=this.tracks[e];t&&(t.buffer=void 0)}resetQueue(){this.operationQueue&&this.operationQueue.destroy(),this.operationQueue=new $l(this.tracks)}onBufferCodecs(e,t){const i=this.tracks,u=Object.keys(t);this.log(`BUFFER_CODECS: "${u}" (current SB count ${this.sourceBufferCount})`);const v="audiovideo"in t&&(i.audio||i.video)||i.audiovideo&&("audio"in t||"video"in t),T=!v&&this.sourceBufferCount&&this.media&&u.some(M=>!i[M]);if(v||T){this.warn(`Unsupported transition between "${Object.keys(i)}" and "${u}" SourceBuffers`);return}u.forEach(M=>{var W,N,j;const Z=t[M],{id:J,codec:re,levelCodec:ie,container:pe,metadata:_e,supplemental:Se}=Z;let ke=i[M];const Me=(W=this.transferData)==null||(N=W.tracks)==null?void 0:N[M],Ze=Me!=null&&Me.buffer?Me:ke,ot=(Ze==null?void 0:Ze.pendingCodec)||(Ze==null?void 0:Ze.codec),Pt=Ze==null?void 0:Ze.levelCodec;ke||(ke=i[M]={buffer:void 0,listeners:[],codec:re,supplemental:Se,container:pe,levelCodec:ie,metadata:_e,id:J});const it=Cr(ot,Pt),_t=it==null?void 0:it.replace(to,"$1");let Et=Cr(re,ie);const qe=(j=Et)==null?void 0:j.replace(to,"$1");Et&&it&&_t!==qe&&(M.slice(0,5)==="audio"&&(Et=Yt(Et,this.appendSource)),this.log(`switching codec ${ot} to ${Et}`),Et!==(ke.pendingCodec||ke.codec)&&(ke.pendingCodec=Et),ke.container=pe,this.appendChangeType(M,pe,Et))}),(this.tracksReady||this.sourceBufferCount)&&(t.tracks=this.sourceBufferTracks),!this.sourceBufferCount&&this.mediaSourceOpenOrEnded&&this.checkPendingTracks()}get sourceBufferTracks(){return Object.keys(this.tracks).reduce((e,t)=>{const i=this.tracks[t];return e[t]={id:i.id,container:i.container,codec:i.codec,levelCodec:i.levelCodec},e},{})}appendChangeType(e,t,i){const u=`${t};codecs=${i}`,v={label:`change-type=${u}`,execute:()=>{const T=this.tracks[e];if(T){const M=T.buffer;M!=null&&M.changeType&&(this.log(`changing ${e} sourceBuffer type to ${u}`),M.changeType(u),T.codec=i,T.container=t)}this.shiftAndExecuteNext(e)},onStart:()=>{},onComplete:()=>{},onError:T=>{this.warn(`Failed to change ${e} SourceBuffer type`,T)}};this.append(v,e,this.isPending(this.tracks[e]))}blockAudio(e){var t;const i=e.start,u=i+e.duration*.05;if(((t=this.fragmentTracker.getAppendedFrag(i,A.MAIN))==null?void 0:t.gap)===!0)return;const T={label:"block-audio",execute:()=>{var M;const W=this.tracks.video;(this.lastVideoAppendEnd>u||W!=null&&W.buffer&&fr.isBuffered(W.buffer,u)||((M=this.fragmentTracker.getAppendedFrag(u,A.MAIN))==null?void 0:M.gap)===!0)&&(this.blockedAudioAppend=null,this.shiftAndExecuteNext("audio"))},onStart:()=>{},onComplete:()=>{},onError:M=>{this.warn("Error executing block-audio operation",M)}};this.blockedAudioAppend={op:T,frag:e},this.append(T,"audio",!0)}unblockAudio(){const{blockedAudioAppend:e,operationQueue:t}=this;e&&t&&(this.blockedAudioAppend=null,t.unblockAudio(e.op))}onBufferAppending(e,t){const{tracks:i}=this,{data:u,type:v,parent:T,frag:M,part:W,chunkMeta:N,offset:j}=t,Z=N.buffering[v],{sn:J,cc:re}=M,ie=self.performance.now();Z.start=ie;const pe=M.stats.buffering,_e=W?W.stats.buffering:null;pe.start===0&&(pe.start=ie),_e&&_e.start===0&&(_e.start=ie);const Se=i.audio;let ke=!1;v==="audio"&&(Se==null?void 0:Se.container)==="audio/mpeg"&&(ke=!this.lastMpegAudioChunk||N.id===1||this.lastMpegAudioChunk.sn!==N.sn,this.lastMpegAudioChunk=N);const Me=i.video,Ze=Me==null?void 0:Me.buffer;if(Ze&&J!=="initSegment"){const it=W||M,_t=this.blockedAudioAppend;if(v==="audio"&&T!=="main"&&!this.blockedAudioAppend){const qe=it.start+it.duration*.05,jt=Ze.buffered,ur=this.currentOp("video");!jt.length&&!ur?this.blockAudio(it):!ur&&!fr.isBuffered(Ze,qe)&&this.lastVideoAppendEnd<qe&&this.blockAudio(it)}else if(v==="video"){const Et=it.end;if(_t){const qe=_t.frag.start;(Et>qe||Et<this.lastVideoAppendEnd||fr.isBuffered(Ze,qe))&&this.unblockAudio()}this.lastVideoAppendEnd=Et}}const ot=(W||M).start,Pt={label:`append-${v}`,execute:()=>{var it;Z.executeStart=self.performance.now();const _t=(it=this.tracks[v])==null?void 0:it.buffer;_t&&(ke?this.updateTimestampOffset(_t,ot,.1,v,J,re):j!==void 0&&ee(j)&&this.updateTimestampOffset(_t,j,1e-6,v,J,re)),this.appendExecutor(u,v)},onStart:()=>{},onComplete:()=>{const it=self.performance.now();Z.executeEnd=Z.end=it,pe.first===0&&(pe.first=it),_e&&_e.first===0&&(_e.first=it);const _t={};this.sourceBuffers.forEach(([Et,qe])=>{Et&&(_t[Et]=fr.getBuffered(qe))}),this.appendErrors[v]=0,v==="audio"||v==="video"?this.appendErrors.audiovideo=0:(this.appendErrors.audio=0,this.appendErrors.video=0),this.hls.trigger(y.BUFFER_APPENDED,{type:v,frag:M,part:W,chunkMeta:N,parent:M.type,timeRanges:_t})},onError:it=>{var _t;const Et={type:S.MEDIA_ERROR,parent:M.type,details:K.BUFFER_APPEND_ERROR,sourceBufferName:v,frag:M,part:W,chunkMeta:N,error:it,err:it,fatal:!1},qe=(_t=this.media)==null?void 0:_t.error;if(it.code===DOMException.QUOTA_EXCEEDED_ERR||it.name=="QuotaExceededError"||"quota"in it)Et.details=K.BUFFER_FULL_ERROR;else if(it.code===DOMException.INVALID_STATE_ERR&&this.mediaSourceOpenOrEnded&&!qe)Et.errorAction=Qr(!0);else if(it.name===ro&&this.sourceBufferCount===0)Et.errorAction=Qr(!0);else{const jt=++this.appendErrors[v];this.warn(`Failed ${jt}/${this.hls.config.appendErrorMaxRetry} times to append segment in "${v}" sourceBuffer (${qe||"no media error"})`),(jt>=this.hls.config.appendErrorMaxRetry||qe)&&(Et.fatal=!0)}this.hls.trigger(y.ERROR,Et)}};this.append(Pt,v,this.isPending(this.tracks[v]))}getFlushOp(e,t,i){return this.log(`queuing "${e}" remove ${t}-${i}`),{label:"remove",execute:()=>{this.removeExecutor(e,t,i)},onStart:()=>{},onComplete:()=>{this.hls.trigger(y.BUFFER_FLUSHED,{type:e})},onError:u=>{this.warn(`Failed to remove ${t}-${i} from "${e}" SourceBuffer`,u)}}}onBufferFlushing(e,t){const{type:i,startOffset:u,endOffset:v}=t;i?this.append(this.getFlushOp(i,u,v),i):this.sourceBuffers.forEach(([T])=>{T&&this.append(this.getFlushOp(T,u,v),T)})}onFragParsed(e,t){const{frag:i,part:u}=t,v=[],T=u?u.elementaryStreams:i.elementaryStreams;T[H.AUDIOVIDEO]?v.push("audiovideo"):(T[H.AUDIO]&&v.push("audio"),T[H.VIDEO]&&v.push("video"));const M=()=>{const W=self.performance.now();i.stats.buffering.end=W,u&&(u.stats.buffering.end=W);const N=u?u.stats:i.stats;this.hls.trigger(y.FRAG_BUFFERED,{frag:i,part:u,stats:N,id:i.type})};v.length===0&&this.warn(`Fragments must have at least one ElementaryStreamType set. type: ${i.type} level: ${i.level} sn: ${i.sn}`),this.blockBuffers(M,v).catch(W=>{this.warn(`Fragment buffered callback ${W}`),this.stepOperationQueue(this.sourceBufferTypes)})}onFragChanged(e,t){this.trimBuffers()}get bufferedToEnd(){return this.sourceBufferCount>0&&!this.sourceBuffers.some(([e])=>{var t,i;return e&&(!((t=this.tracks[e])!=null&&t.ended)||((i=this.tracks[e])==null?void 0:i.ending))})}onBufferEos(e,t){var i;this.sourceBuffers.forEach(([T])=>{if(T){const M=this.tracks[T];(!t.type||t.type===T)&&(M.ending=!0,M.ended||(M.ended=!0,this.log(`${T} buffer reached EOS`)))}});const u=((i=this.overrides)==null?void 0:i.endOfStream)!==!1;this.sourceBufferCount>0&&!this.sourceBuffers.some(([T])=>{var M;return T&&!((M=this.tracks[T])!=null&&M.ended)})&&(u?(this.log("Queueing EOS"),this.blockUntilOpen(()=>{this.tracksEnded();const{mediaSource:T}=this;if(!T||T.readyState!=="open"){T&&this.log(`Could not call mediaSource.endOfStream(). mediaSource.readyState: ${T.readyState}`);return}this.log("Calling mediaSource.endOfStream()"),T.endOfStream(),this.hls.trigger(y.BUFFERED_TO_END,void 0)})):(this.tracksEnded(),this.hls.trigger(y.BUFFERED_TO_END,void 0)))}tracksEnded(){this.sourceBuffers.forEach(([e])=>{if(e!==null){const t=this.tracks[e];t&&(t.ending=!1)}})}onLevelUpdated(e,{details:t}){t.fragments.length&&(this.details=t,this.updateDuration())}updateDuration(){this.blockUntilOpen(()=>{const e=this.getDurationAndRange();e&&this.updateMediaSource(e)})}onError(e,t){if(t.details===K.BUFFER_APPEND_ERROR&&t.frag){var i;const u=(i=t.errorAction)==null?void 0:i.nextAutoLevel;ee(u)&&u!==t.frag.level&&this.resetAppendErrors()}}resetAppendErrors(){this.appendErrors={audio:0,video:0,audiovideo:0}}trimBuffers(){const{hls:e,details:t,media:i}=this;if(!i||t===null||!this.sourceBufferCount)return;const u=e.config,v=i.currentTime,T=t.levelTargetDuration,M=t.live&&u.liveBackBufferLength!==null?u.liveBackBufferLength:u.backBufferLength;if(ee(M)&&M>=0){const W=Math.max(M,T),N=Math.floor(v/T)*T-W;this.flushBackBuffer(v,T,N)}if(ee(u.frontBufferFlushThreshold)&&u.frontBufferFlushThreshold>0){const W=Math.max(u.maxBufferLength,u.frontBufferFlushThreshold),N=Math.max(W,T),j=Math.floor(v/T)*T+N;this.flushFrontBuffer(v,T,j)}}flushBackBuffer(e,t,i){this.sourceBuffers.forEach(([u,v])=>{if(v){const M=fr.getBuffered(v);if(M.length>0&&i>M.start(0)){var T;this.hls.trigger(y.BACK_BUFFER_REACHED,{bufferEnd:i});const W=this.tracks[u];if((T=this.details)!=null&&T.live)this.hls.trigger(y.LIVE_BACK_BUFFER_REACHED,{bufferEnd:i});else if(W!=null&&W.ended){this.log(`Cannot flush ${u} back buffer while SourceBuffer is in ended state`);return}this.hls.trigger(y.BUFFER_FLUSHING,{startOffset:0,endOffset:i,type:u})}}})}flushFrontBuffer(e,t,i){this.sourceBuffers.forEach(([u,v])=>{if(v){const T=fr.getBuffered(v),M=T.length;if(M<2)return;const W=T.start(M-1),N=T.end(M-1);if(i>W||e>=W&&e<=N)return;this.hls.trigger(y.BUFFER_FLUSHING,{startOffset:W,endOffset:1/0,type:u})}})}getDurationAndRange(){var e;const{details:t,mediaSource:i}=this;if(!t||!this.media||(i==null?void 0:i.readyState)!=="open")return null;const u=t.edge;if(t.live&&this.hls.config.liveDurationInfinity){if(t.fragments.length&&t.live&&i.setLiveSeekableRange){const N=Math.max(0,t.fragmentStart),j=Math.max(N,u);return{duration:1/0,start:N,end:j}}return{duration:1/0}}const v=(e=this.overrides)==null?void 0:e.duration;if(v)return ee(v)?{duration:v}:null;const T=this.media.duration,M=ee(i.duration)?i.duration:0;return u>M&&u>T||!ee(T)?{duration:u}:null}updateMediaSource({duration:e,start:t,end:i}){const u=this.mediaSource;!this.media||!u||u.readyState!=="open"||(u.duration!==e&&(ee(e)&&this.log(`Updating MediaSource duration to ${e.toFixed(3)}`),u.duration=e),t!==void 0&&i!==void 0&&(this.log(`MediaSource duration is set to ${u.duration}. Setting seekable range to ${t}-${i}.`),u.setLiveSeekableRange(t,i)))}get tracksReady(){const e=this.pendingTrackCount;return e>0&&(e>=this.bufferCodecEventsTotal||this.isPending(this.tracks.audiovideo))}checkPendingTracks(){const{bufferCodecEventsTotal:e,pendingTrackCount:t,tracks:i}=this;if(this.log(`checkPendingTracks (pending: ${t} codec events expected: ${e}) ${gt(i)}`),this.tracksReady){var u;const v=(u=this.transferData)==null?void 0:u.tracks;v&&Object.keys(v).length?this.attachTransferred():this.createSourceBuffers()}}bufferCreated(){if(this.sourceBufferCount){const e={};this.sourceBuffers.forEach(([t,i])=>{if(t){const u=this.tracks[t];e[t]={buffer:i,container:u.container,codec:u.codec,supplemental:u.supplemental,levelCodec:u.levelCodec,id:u.id,metadata:u.metadata}}}),this.hls.trigger(y.BUFFER_CREATED,{tracks:e}),this.log(`SourceBuffers created. Running queue: ${this.operationQueue}`),this.sourceBuffers.forEach(([t])=>{this.executeNext(t)})}else{const e=new Error("could not create source buffer for media codec(s)");this.hls.trigger(y.ERROR,{type:S.MEDIA_ERROR,details:K.BUFFER_INCOMPATIBLE_CODECS_ERROR,fatal:!0,error:e,reason:e.message})}}createSourceBuffers(){const{tracks:e,sourceBuffers:t,mediaSource:i}=this;if(!i)throw new Error("createSourceBuffers called when mediaSource was null");for(const v in e){const T=v,M=e[T];if(this.isPending(M)){const W=this.getTrackCodec(M,T),N=`${M.container};codecs=${W}`;M.codec=W,this.log(`creating sourceBuffer(${N})${this.currentOp(T)?" Queued":""} ${gt(M)}`);try{const j=i.addSourceBuffer(N),Z=as(T),J=[T,j];t[Z]=J,M.buffer=j}catch(j){var u;this.error(`error while trying to add sourceBuffer: ${j.message}`),this.shiftAndExecuteNext(T),(u=this.operationQueue)==null||u.removeBlockers(),delete this.tracks[T],this.hls.trigger(y.ERROR,{type:S.MEDIA_ERROR,details:K.BUFFER_ADD_CODEC_ERROR,fatal:!1,error:j,sourceBufferName:T,mimeType:N,parent:M.id});return}this.trackSourceBuffer(T,M)}}this.bufferCreated()}getTrackCodec(e,t){const i=e.supplemental;let u=e.codec;i&&(t==="video"||t==="audiovideo")&&Ar(i,"video")&&(u=qt(u,i));const v=Cr(u,e.levelCodec);return v?t.slice(0,5)==="audio"?Yt(v,this.appendSource):v:""}trackSourceBuffer(e,t){const i=t.buffer;if(!i)return;const u=this.getTrackCodec(t,e);this.tracks[e]={buffer:i,codec:u,container:t.container,levelCodec:t.levelCodec,supplemental:t.supplemental,metadata:t.metadata,id:t.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",(v,T)=>{const M=T.removedRanges;M!=null&&M.length&&this.hls.trigger(y.BUFFER_FLUSHED,{type:v})})}get mediaSrc(){var e,t;const i=((e=this.media)==null||(t=e.querySelector)==null?void 0:t.call(e,"source"))||this.media;return i==null?void 0:i.src}onSBUpdateStart(e){const t=this.currentOp(e);t&&t.onStart()}onSBUpdateEnd(e){var t;if(((t=this.mediaSource)==null?void 0:t.readyState)==="closed"){this.resetBuffer(e);return}const i=this.currentOp(e);i&&(i.onComplete(),this.shiftAndExecuteNext(e))}onSBUpdateError(e,t){var i;const u=new Error(`${e} SourceBuffer error. MediaSource readyState: ${(i=this.mediaSource)==null?void 0:i.readyState}`);this.error(`${u}`,t),this.hls.trigger(y.ERROR,{type:S.MEDIA_ERROR,details:K.BUFFER_APPENDING_ERROR,sourceBufferName:e,error:u,fatal:!1});const v=this.currentOp(e);v&&v.onError(u)}updateTimestampOffset(e,t,i,u,v,T){const M=t-e.timestampOffset;Math.abs(M)>=i&&(this.log(`Updating ${u} SourceBuffer timestampOffset to ${t} (sn: ${v} cc: ${T})`),e.timestampOffset=t)}removeExecutor(e,t,i){const{media:u,mediaSource:v}=this,T=this.tracks[e],M=T==null?void 0:T.buffer;if(!u||!v||!M){this.warn(`Attempting to remove from the ${e} SourceBuffer, but it does not exist`),this.shiftAndExecuteNext(e);return}const W=ee(u.duration)?u.duration:1/0,N=ee(v.duration)?v.duration:1/0,j=Math.max(0,t),Z=Math.min(i,W,N);Z>j&&(!T.ending||T.ended)?(T.ended=!1,this.log(`Removing [${j},${Z}] from the ${e} SourceBuffer`),M.remove(j,Z)):this.shiftAndExecuteNext(e)}appendExecutor(e,t){const i=this.tracks[t],u=i==null?void 0:i.buffer;if(!u)throw new Ql(`Attempting to append to the ${t} SourceBuffer, but it does not exist`);i.ending=!1,i.ended=!1,u.appendBuffer(e)}blockUntilOpen(e){if(this.isUpdating()||this.isQueued())this.blockBuffers(e).catch(t=>{this.warn(`SourceBuffer blocked callback ${t}`),this.stepOperationQueue(this.sourceBufferTypes)});else try{e()}catch(t){this.warn(`Callback run without blocking ${this.operationQueue} ${t}`)}}isUpdating(){return this.sourceBuffers.some(([e,t])=>e&&t.updating)}isQueued(){return this.sourceBuffers.some(([e])=>e&&!!this.currentOp(e))}isPending(e){return!!e&&!e.buffer}blockBuffers(e,t=this.sourceBufferTypes){if(!t.length)return this.log("Blocking operation requested, but no SourceBuffers exist"),Promise.resolve().then(e);const{operationQueue:i}=this,u=t.map(T=>this.appendBlocker(T));return t.length>1&&!!this.blockedAudioAppend&&this.unblockAudio(),Promise.all(u).then(T=>{i===this.operationQueue&&(e(),this.stepOperationQueue(this.sourceBufferTypes))})}stepOperationQueue(e){e.forEach(t=>{var i;const u=(i=this.tracks[t])==null?void 0:i.buffer;!u||u.updating||this.shiftAndExecuteNext(t)})}append(e,t,i){this.operationQueue&&this.operationQueue.append(e,t,i)}appendBlocker(e){if(this.operationQueue)return this.operationQueue.appendBlocker(e)}currentOp(e){return this.operationQueue?this.operationQueue.current(e):null}executeNext(e){e&&this.operationQueue&&this.operationQueue.executeNext(e)}shiftAndExecuteNext(e){this.operationQueue&&this.operationQueue.shiftAndExecuteNext(e)}get pendingTrackCount(){return Object.keys(this.tracks).reduce((e,t)=>e+(this.isPending(this.tracks[t])?1:0),0)}get sourceBufferCount(){return this.sourceBuffers.reduce((e,[t])=>e+(t?1:0),0)}get sourceBufferTypes(){return this.sourceBuffers.map(([e])=>e).filter(e=>!!e)}addBufferListener(e,t,i){const u=this.tracks[e];if(!u)return;const v=u.buffer;if(!v)return;const T=i.bind(this,e);u.listeners.push({event:t,listener:T}),v.addEventListener(t,T)}removeBufferListeners(e){const t=this.tracks[e];if(!t)return;const i=t.buffer;i&&(t.listeners.forEach(u=>{i.removeEventListener(u.event,u.listener)}),t.listeners.length=0)}}function io(D){const e=D.querySelectorAll("source");[].slice.call(e).forEach(t=>{D.removeChild(t)})}function ql(D,e){const t=self.document.createElement("source");t.type="video/mp4",t.src=e,D.appendChild(t)}function as(D){return D==="audio"?1:0}class ss{constructor(e){this.hls=void 0,this.autoLevelCapping=void 0,this.firstLevel=void 0,this.media=void 0,this.restrictedLevels=void 0,this.timer=void 0,this.clientRect=void 0,this.streamController=void 0,this.hls=e,this.autoLevelCapping=Number.POSITIVE_INFINITY,this.firstLevel=-1,this.media=null,this.restrictedLevels=[],this.timer=void 0,this.clientRect=null,this.registerListeners()}setStreamController(e){this.streamController=e}destroy(){this.hls&&this.unregisterListener(),this.timer&&this.stopCapping(),this.media=null,this.clientRect=null,this.hls=this.streamController=null}registerListeners(){const{hls:e}=this;e.on(y.FPS_DROP_LEVEL_CAPPING,this.onFpsDropLevelCapping,this),e.on(y.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(y.MANIFEST_PARSED,this.onManifestParsed,this),e.on(y.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(y.BUFFER_CODECS,this.onBufferCodecs,this),e.on(y.MEDIA_DETACHING,this.onMediaDetaching,this)}unregisterListener(){const{hls:e}=this;e.off(y.FPS_DROP_LEVEL_CAPPING,this.onFpsDropLevelCapping,this),e.off(y.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(y.MANIFEST_PARSED,this.onManifestParsed,this),e.off(y.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(y.BUFFER_CODECS,this.onBufferCodecs,this),e.off(y.MEDIA_DETACHING,this.onMediaDetaching,this)}onFpsDropLevelCapping(e,t){const i=this.hls.levels[t.droppedLevel];this.isLevelAllowed(i)&&this.restrictedLevels.push({bitrate:i.bitrate,height:i.height,width:i.width})}onMediaAttaching(e,t){this.media=t.media instanceof HTMLVideoElement?t.media:null,this.clientRect=null,this.timer&&this.hls.levels.length&&this.detectPlayerSize()}onManifestParsed(e,t){const i=this.hls;this.restrictedLevels=[],this.firstLevel=t.firstLevel,i.config.capLevelToPlayerSize&&t.video&&this.startCapping()}onLevelsUpdated(e,t){this.timer&&ee(this.autoLevelCapping)&&this.detectPlayerSize()}onBufferCodecs(e,t){this.hls.config.capLevelToPlayerSize&&t.video&&this.startCapping()}onMediaDetaching(){this.stopCapping(),this.media=null}detectPlayerSize(){if(this.media){if(this.mediaHeight<=0||this.mediaWidth<=0){this.clientRect=null;return}const e=this.hls.levels;if(e.length){const t=this.hls,i=this.getMaxLevel(e.length-1);i!==this.autoLevelCapping&&t.logger.log(`Setting autoLevelCapping to ${i}: ${e[i].height}p@${e[i].bitrate} for media ${this.mediaWidth}x${this.mediaHeight}`),t.autoLevelCapping=i,t.autoLevelEnabled&&t.autoLevelCapping>this.autoLevelCapping&&this.streamController&&this.streamController.nextLevelSwitch(),this.autoLevelCapping=t.autoLevelCapping}}}getMaxLevel(e){const t=this.hls.levels;if(!t.length)return-1;const i=t.filter((u,v)=>this.isLevelAllowed(u)&&v<=e);return this.clientRect=null,ss.getMaxLevelByMediaSize(i,this.mediaWidth,this.mediaHeight)}startCapping(){this.timer||(this.autoLevelCapping=Number.POSITIVE_INFINITY,self.clearInterval(this.timer),this.timer=self.setInterval(this.detectPlayerSize.bind(this),1e3),this.detectPlayerSize())}stopCapping(){this.restrictedLevels=[],this.firstLevel=-1,this.autoLevelCapping=Number.POSITIVE_INFINITY,this.timer&&(self.clearInterval(this.timer),this.timer=void 0)}getDimensions(){if(this.clientRect)return this.clientRect;const e=this.media,t={width:0,height:0};if(e){const i=e.getBoundingClientRect();t.width=i.width,t.height=i.height,!t.width&&!t.height&&(t.width=i.right-i.left||e.width||0,t.height=i.bottom-i.top||e.height||0)}return this.clientRect=t,t}get mediaWidth(){return this.getDimensions().width*this.contentScaleFactor}get mediaHeight(){return this.getDimensions().height*this.contentScaleFactor}get contentScaleFactor(){let e=1;if(!this.hls.config.ignoreDevicePixelRatio)try{e=self.devicePixelRatio}catch(t){}return Math.min(e,this.hls.config.maxDevicePixelRatio)}isLevelAllowed(e){return!this.restrictedLevels.some(i=>e.bitrate===i.bitrate&&e.width===i.width&&e.height===i.height)}static getMaxLevelByMediaSize(e,t,i){if(!(e!=null&&e.length))return-1;const u=(M,W)=>W?M.width!==W.width||M.height!==W.height:!0;let v=e.length-1;const T=Math.max(t,i);for(let M=0;M<e.length;M+=1){const W=e[M];if((W.width>=T||W.height>=T)&&u(W,e[M+1])){v=M;break}}return v}}const on={MANIFEST:"m",AUDIO:"a",VIDEO:"v",MUXED:"av",INIT:"i",CAPTION:"c",TIMED_TEXT:"tt",KEY:"k",OTHER:"o"},eu={HLS:"h"},Ea={OBJECT:"CMCD-Object",REQUEST:"CMCD-Request",SESSION:"CMCD-Session",STATUS:"CMCD-Status"},tu={[Ea.OBJECT]:["br","ab","d","ot","tb","tpb","lb","tab","lab","url"],[Ea.REQUEST]:["pb","bl","tbl","dl","ltc","mtp","nor","nrr","rc","sn","sta","su","ttfb","ttfbb","ttlb","cmsdd","cmsds","smrt","df","cs"],[Ea.SESSION]:["cid","pr","sf","sid","st","v","msd"],[Ea.STATUS]:["bs","bsd","cdn","rtp","bg","pt","ec","e"]};class sa{constructor(e,t){Array.isArray(e)&&(e=e.map(i=>i instanceof sa?i:new sa(i))),this.value=e,this.params=t}}const ru="Dict";function iu(D){return Array.isArray(D)?JSON.stringify(D):D instanceof Map?"Map{}":D instanceof Set?"Set{}":typeof D=="object"?JSON.stringify(D):String(D)}function nu(D,e,t,i){return new Error(`failed to ${D} "${iu(e)}" as ${t}`,{cause:i})}function Rn(D,e,t){return nu("serialize",D,e,t)}class no{constructor(e){this.description=e}}const ao="Bare Item",au="Boolean";function su(D){if(typeof D!="boolean")throw Rn(D,au);return D?"?1":"?0"}function ou(D){return btoa(String.fromCharCode(...D))}const lu="Byte Sequence";function uu(D){if(ArrayBuffer.isView(D)===!1)throw Rn(D,lu);return`:${ou(D)}:`}const cu="Integer";function hu(D){return D<-999999999999999||999999999999999<D}function so(D){if(hu(D))throw Rn(D,cu);return D.toString()}function fu(D){return`@${so(D.getTime()/1e3)}`}function oo(D,e){if(D<0)return-oo(-D,e);const t=Math.pow(10,e);if(Math.abs(D*t%1-.5)<Number.EPSILON){const u=Math.floor(D*t);return(u%2===0?u:u+1)/t}else return Math.round(D*t)/t}const du="Decimal";function _u(D){const e=oo(D,3);if(Math.floor(Math.abs(e)).toString().length>12)throw Rn(D,du);const t=e.toString();return t.includes(".")?t:`${t}.0`}const mu="String",pu=/[\x00-\x1f\x7f]+/;function gu(D){if(pu.test(D))throw Rn(D,mu);return`"${D.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`}function vu(D){return D.description||D.toString().slice(7,-1)}const yu="Token";function lo(D){const e=vu(D);if(/^([a-zA-Z*])([!#$%&'*+\-.^_`|~\w:/]*)$/.test(e)===!1)throw Rn(e,yu);return e}function os(D){switch(typeof D){case"number":if(!ee(D))throw Rn(D,ao);return Number.isInteger(D)?so(D):_u(D);case"string":return gu(D);case"symbol":return lo(D);case"boolean":return su(D);case"object":if(D instanceof Date)return fu(D);if(D instanceof Uint8Array)return uu(D);if(D instanceof no)return lo(D);default:throw Rn(D,ao)}}const Eu="Key";function ls(D){if(/^[a-z*][a-z0-9\-_.*]*$/.test(D)===!1)throw Rn(D,Eu);return D}function us(D){return D==null?"":Object.entries(D).map(([e,t])=>t===!0?`;${ls(e)}`:`;${ls(e)}=${os(t)}`).join("")}function uo(D){return D instanceof sa?`${os(D.value)}${us(D.params)}`:os(D)}function xu(D){return`(${D.value.map(uo).join(" ")})${us(D.params)}`}function Tu(D,e={whitespace:!0}){if(typeof D!="object")throw Rn(D,ru);const t=D instanceof Map?D.entries():Object.entries(D),i=e!=null&&e.whitespace?" ":"";return Array.from(t).map(([u,v])=>{v instanceof sa||(v=new sa(v));let T=ls(u);return v.value===!0?T+=us(v.params):(T+="=",Array.isArray(v.value)?T+=xu(v):T+=uo(v)),T}).join(`,${i}`)}function Au(D,e){return Tu(D,e)}function bu(D){return["ot","sf","st","e","sta"].includes(D)}function Su(D){return typeof D=="number"?ee(D):D!=null&&D!==""&&D!==!1}function Du(D,e){const t=new URL(D),i=new URL(e);if(t.origin!==i.origin)return D;const u=t.pathname.split("/").slice(1),v=i.pathname.split("/").slice(1,-1);for(;u[0]===v[0];)u.shift(),v.shift();for(;v.length;)v.shift(),u.unshift("..");return u.join("/")}const Ia=D=>Math.round(D),Lu=(D,e)=>(e!=null&&e.baseUrl&&(D=Du(D,e.baseUrl)),encodeURIComponent(D)),Oa=D=>Ia(D/100)*100,Ru={br:Ia,d:Ia,bl:Oa,dl:Oa,mtp:Oa,nor:Lu,rtp:Oa,tb:Ia};function wu(D,e){const t={};if(D==null||typeof D!="object")return t;const i=Object.keys(D).sort(),u=l({},Ru,e==null?void 0:e.formatters),v=e==null?void 0:e.filter;return i.forEach(T=>{if((v==null?void 0:v(T))===!1)return;let M=D[T];const W=u[T];W&&(M=W(M,e)),!(T==="v"&&M===1)&&(T=="pr"&&M===1||Su(M)&&(bu(T)&&typeof M=="string"&&(M=new no(M)),t[T]=M))}),t}function co(D,e={}){return D?Au(wu(D,e),l({whitespace:!1},e)):""}function Cu(D,e={}){const t={};if(!D)return t;const i=Object.entries(D),u=Object.entries(tu).concat(Object.entries((e==null?void 0:e.customHeaderMap)||{})),v=i.reduce((T,M)=>{var W,N;const[j,Z]=M,J=((W=u.find(re=>re[1].includes(j)))===null||W===void 0?void 0:W[0])||Ea.REQUEST;return(N=T[J])!==null&&N!==void 0||(T[J]={}),T[J][j]=Z,T},{});return Object.entries(v).reduce((T,[M,W])=>(T[M]=co(W,e),T),t)}function Pu(D,e,t){return l(D,Cu(e,t))}const Iu="CMCD";function Ou(D,e={}){if(!D)return"";const t=co(D,e);return`${Iu}=${encodeURIComponent(t)}`}const ho=/CMCD=[^&#]+/;function Mu(D,e,t){const i=Ou(e,t);if(!i)return D;if(ho.test(D))return D.replace(ho,i);const u=D.includes("?")?"&":"?";return`${D}${u}${i}`}class Nu{constructor(e){this.hls=void 0,this.config=void 0,this.media=void 0,this.sid=void 0,this.cid=void 0,this.useHeaders=!1,this.includeKeys=void 0,this.initialized=!1,this.starved=!1,this.buffering=!0,this.audioBuffer=void 0,this.videoBuffer=void 0,this.onWaiting=()=>{this.initialized&&(this.starved=!0),this.buffering=!0},this.onPlaying=()=>{this.initialized||(this.initialized=!0),this.buffering=!1},this.applyPlaylistData=u=>{try{this.apply(u,{ot:on.MANIFEST,su:!this.initialized})}catch(v){this.hls.logger.warn("Could not generate manifest CMCD data.",v)}},this.applyFragmentData=u=>{try{const{frag:v,part:T}=u,M=this.hls.levels[v.level],W=this.getObjectType(v),N={d:(T||v).duration*1e3,ot:W};(W===on.VIDEO||W===on.AUDIO||W==on.MUXED)&&(N.br=M.bitrate/1e3,N.tb=this.getTopBandwidth(W)/1e3,N.bl=this.getBufferLength(W));const j=T?this.getNextPart(T):this.getNextFrag(v);j!=null&&j.url&&j.url!==v.url&&(N.nor=j.url),this.apply(u,N)}catch(v){this.hls.logger.warn("Could not generate segment CMCD data.",v)}},this.hls=e;const t=this.config=e.config,{cmcd:i}=t;i!=null&&(t.pLoader=this.createPlaylistLoader(),t.fLoader=this.createFragmentLoader(),this.sid=i.sessionId||e.sessionId,this.cid=i.contentId,this.useHeaders=i.useHeaders===!0,this.includeKeys=i.includeKeys,this.registerListeners())}registerListeners(){const e=this.hls;e.on(y.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(y.MEDIA_DETACHED,this.onMediaDetached,this),e.on(y.BUFFER_CREATED,this.onBufferCreated,this)}unregisterListeners(){const e=this.hls;e.off(y.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(y.MEDIA_DETACHED,this.onMediaDetached,this),e.off(y.BUFFER_CREATED,this.onBufferCreated,this)}destroy(){this.unregisterListeners(),this.onMediaDetached(),this.hls=this.config=this.audioBuffer=this.videoBuffer=null,this.onWaiting=this.onPlaying=this.media=null}onMediaAttached(e,t){this.media=t.media,this.media.addEventListener("waiting",this.onWaiting),this.media.addEventListener("playing",this.onPlaying)}onMediaDetached(){this.media&&(this.media.removeEventListener("waiting",this.onWaiting),this.media.removeEventListener("playing",this.onPlaying),this.media=null)}onBufferCreated(e,t){var i,u;this.audioBuffer=(i=t.tracks.audio)==null?void 0:i.buffer,this.videoBuffer=(u=t.tracks.video)==null?void 0:u.buffer}createData(){var e;return{v:1,sf:eu.HLS,sid:this.sid,cid:this.cid,pr:(e=this.media)==null?void 0:e.playbackRate,mtp:this.hls.bandwidthEstimate/1e3}}apply(e,t={}){l(t,this.createData());const i=t.ot===on.INIT||t.ot===on.VIDEO||t.ot===on.MUXED;this.starved&&i&&(t.bs=!0,t.su=!0,this.starved=!1),t.su==null&&(t.su=this.buffering);const{includeKeys:u}=this;u&&(t=Object.keys(t).reduce((T,M)=>(u.includes(M)&&(T[M]=t[M]),T),{}));const v={baseUrl:e.url};this.useHeaders?(e.headers||(e.headers={}),Pu(e.headers,t,v)):e.url=Mu(e.url,t,v)}getNextFrag(e){var t;const i=(t=this.hls.levels[e.level])==null?void 0:t.details;if(i){const u=e.sn-i.startSN;return i.fragments[u+1]}}getNextPart(e){var t,i;const{index:u,fragment:v}=e,T=(t=this.hls.levels[v.level])==null||(i=t.details)==null?void 0:i.partList;if(T){const{sn:M}=v;for(let W=T.length-1;W>=0;W--){const N=T[W];if(N.index===u&&N.fragment.sn===M)return T[W+1]}}}getObjectType(e){const{type:t}=e;if(t==="subtitle")return on.TIMED_TEXT;if(e.sn==="initSegment")return on.INIT;if(t==="audio")return on.AUDIO;if(t==="main")return this.hls.audioTracks.length?on.VIDEO:on.MUXED}getTopBandwidth(e){let t=0,i;const u=this.hls;if(e===on.AUDIO)i=u.audioTracks;else{const v=u.maxAutoLevel,T=v>-1?v+1:u.levels.length;i=u.levels.slice(0,T)}return i.forEach(v=>{v.bitrate>t&&(t=v.bitrate)}),t>0?t:NaN}getBufferLength(e){const t=this.media,i=e===on.AUDIO?this.audioBuffer:this.videoBuffer;return!i||!t?NaN:fr.bufferInfo(i,t.currentTime,this.config.maxBufferHole).len*1e3}createPlaylistLoader(){const{pLoader:e}=this.config,t=this.applyPlaylistData,i=e||this.config.loader;return class{constructor(v){this.loader=void 0,this.loader=new i(v)}get stats(){return this.loader.stats}get context(){return this.loader.context}destroy(){this.loader.destroy()}abort(){this.loader.abort()}load(v,T,M){t(v),this.loader.load(v,T,M)}}}createFragmentLoader(){const{fLoader:e}=this.config,t=this.applyFragmentData,i=e||this.config.loader;return class{constructor(v){this.loader=void 0,this.loader=new i(v)}get stats(){return this.loader.stats}get context(){return this.loader.context}destroy(){this.loader.destroy()}abort(){this.loader.abort()}load(v,T,M){t(v),this.loader.load(v,T,M)}}}}const Bu=3e5;class Uu extends m{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(){const e=this.hls;e.on(y.MANIFEST_LOADING,this.onManifestLoading,this),e.on(y.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(y.MANIFEST_PARSED,this.onManifestParsed,this),e.on(y.ERROR,this.onError,this)}unregisterListeners(){const e=this.hls;e&&(e.off(y.MANIFEST_LOADING,this.onManifestLoading,this),e.off(y.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(y.MANIFEST_PARSED,this.onManifestParsed,this),e.off(y.ERROR,this.onError,this))}pathways(){return(this.levels||[]).reduce((e,t)=>(e.indexOf(t.pathwayId)===-1&&e.push(t.pathwayId),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){const e=this.timeToLoad*1e3-(performance.now()-this.updated);if(e>0){this.scheduleRefresh(this.uri,e);return}}this.loadSteeringManifest(this.uri)}}stopLoad(){this.started=!1,this.loader&&(this.loader.destroy(),this.loader=null),this.clearTimeout()}clearTimeout(){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){const t=this.levels;t&&(this.levels=t.filter(i=>i!==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,t){const{contentSteering:i}=t;i!==null&&(this.pathwayId=i.pathwayId,this.uri=i.uri,this.started&&this.startLoad())}onManifestParsed(e,t){this.audioTracks=t.audioTracks,this.subtitleTracks=t.subtitleTracks}onError(e,t){const{errorAction:i}=t;if((i==null?void 0:i.action)===er.SendAlternateToPenaltyBox&&i.flags===Br.MoveAllAlternatesMatchingHost){const u=this.levels;let v=this._pathwayPriority,T=this.pathwayId;if(t.context){const{groupId:M,pathwayId:W,type:N}=t.context;M&&u?T=this.getPathwayForGroupId(M,N,T):W&&(T=W)}T in this.penalizedPathways||(this.penalizedPathways[T]=performance.now()),!v&&u&&(v=this.pathways()),v&&v.length>1&&(this.updatePathwayPriority(v),i.resolved=this.pathwayId!==T),t.details===K.BUFFER_APPEND_ERROR&&!t.fatal?i.resolved=!0:i.resolved||this.warn(`Could not resolve ${t.details} ("${t.error.message}") with content-steering for Pathway: ${T} levels: ${u&&u.length} priorities: ${gt(v)} penalized: ${gt(this.penalizedPathways)}`)}}filterParsedLevels(e){this.levels=e;let t=this.getLevelsForPathway(this.pathwayId);if(t.length===0){const i=e[0].pathwayId;this.log(`No levels found in Pathway ${this.pathwayId}. Setting initial Pathway to "${i}"`),t=this.getLevelsForPathway(i),this.pathwayId=i}return t.length!==e.length&&this.log(`Found ${t.length}/${e.length} levels in Pathway "${this.pathwayId}"`),t}getLevelsForPathway(e){return this.levels===null?[]:this.levels.filter(t=>e===t.pathwayId)}updatePathwayPriority(e){this._pathwayPriority=e;let t;const i=this.penalizedPathways,u=performance.now();Object.keys(i).forEach(v=>{u-i[v]>Bu&&delete i[v]});for(let v=0;v<e.length;v++){const T=e[v];if(T in i)continue;if(T===this.pathwayId)return;const M=this.hls.nextLoadLevel,W=this.hls.levels[M];if(t=this.getLevelsForPathway(T),t.length>0){this.log(`Setting Pathway to "${T}"`),this.pathwayId=T,sn(t),this.hls.trigger(y.LEVELS_UPDATED,{levels:t});const N=this.hls.levels[M];W&&N&&this.levels&&(N.attrs["STABLE-VARIANT-ID"]!==W.attrs["STABLE-VARIANT-ID"]&&N.bitrate!==W.bitrate&&this.log(`Unstable Pathways change from bitrate ${W.bitrate} to ${N.bitrate}`),this.hls.nextLoadLevel=M);break}}}getPathwayForGroupId(e,t,i){const u=this.getLevelsForPathway(i).concat(this.levels||[]);for(let v=0;v<u.length;v++)if(t===L.AUDIO_TRACK&&u[v].hasAudioGroup(e)||t===L.SUBTITLE_TRACK&&u[v].hasSubtitleGroup(e))return u[v].pathwayId;return i}clonePathways(e){const t=this.levels;if(!t)return;const i={},u={};e.forEach(v=>{const{ID:T,"BASE-ID":M,"URI-REPLACEMENT":W}=v;if(t.some(j=>j.pathwayId===T))return;const N=this.getLevelsForPathway(M).map(j=>{const Z=new ai(j.attrs);Z["PATHWAY-ID"]=T;const J=Z.AUDIO&&`${Z.AUDIO}_clone_${T}`,re=Z.SUBTITLES&&`${Z.SUBTITLES}_clone_${T}`;J&&(i[Z.AUDIO]=J,Z.AUDIO=J),re&&(u[Z.SUBTITLES]=re,Z.SUBTITLES=re);const ie=_o(j.uri,Z["STABLE-VARIANT-ID"],"PER-VARIANT-URIS",W),pe=new He({attrs:Z,audioCodec:j.audioCodec,bitrate:j.bitrate,height:j.height,name:j.name,url:ie,videoCodec:j.videoCodec,width:j.width});if(j.audioGroups)for(let _e=1;_e<j.audioGroups.length;_e++)pe.addGroupId("audio",`${j.audioGroups[_e]}_clone_${T}`);if(j.subtitleGroups)for(let _e=1;_e<j.subtitleGroups.length;_e++)pe.addGroupId("text",`${j.subtitleGroups[_e]}_clone_${T}`);return pe});t.push(...N),fo(this.audioTracks,i,W,T),fo(this.subtitleTracks,u,W,T)})}loadSteeringManifest(e){const t=this.hls.config,i=t.loader;this.loader&&this.loader.destroy(),this.loader=new i(t);let u;try{u=new self.URL(e)}catch(j){this.enabled=!1,this.log(`Failed to parse Steering Manifest URI: ${e}`);return}if(u.protocol!=="data:"){const j=(this.hls.bandwidthEstimate||t.abrEwmaDefaultEstimate)|0;u.searchParams.set("_HLS_pathway",this.pathwayId),u.searchParams.set("_HLS_throughput",""+j)}const v={responseType:"json",url:u.href},T=t.steeringManifestLoadPolicy.default,M=T.errorRetry||T.timeoutRetry||{},W={loadPolicy:T,timeout:T.maxLoadTimeMs,maxRetry:M.maxNumRetry||0,retryDelay:M.retryDelayMs||0,maxRetryDelay:M.maxRetryDelayMs||0},N={onSuccess:(j,Z,J,re)=>{this.log(`Loaded steering manifest: "${u}"`);const ie=j.data;if((ie==null?void 0:ie.VERSION)!==1){this.log(`Steering VERSION ${ie.VERSION} not supported!`);return}this.updated=performance.now(),this.timeToLoad=ie.TTL;const{"RELOAD-URI":pe,"PATHWAY-CLONES":_e,"PATHWAY-PRIORITY":Se}=ie;if(pe)try{this.uri=new self.URL(pe,u).href}catch(Me){this.enabled=!1,this.log(`Failed to parse Steering Manifest RELOAD-URI: ${pe}`);return}this.scheduleRefresh(this.uri||J.url),_e&&this.clonePathways(_e);const ke={steeringManifest:ie,url:u.toString()};this.hls.trigger(y.STEERING_MANIFEST_LOADED,ke),Se&&this.updatePathwayPriority(Se)},onError:(j,Z,J,re)=>{if(this.log(`Error loading steering manifest: ${j.code} ${j.text} (${Z.url})`),this.stopLoad(),j.code===410){this.enabled=!1,this.log(`Steering manifest ${Z.url} no longer available`);return}let ie=this.timeToLoad*1e3;if(j.code===429){const pe=this.loader;if(typeof(pe==null?void 0:pe.getResponseHeader)=="function"){const _e=pe.getResponseHeader("Retry-After");_e&&(ie=parseFloat(_e)*1e3)}this.log(`Steering manifest ${Z.url} rate limited`);return}this.scheduleRefresh(this.uri||Z.url,ie)},onTimeout:(j,Z,J)=>{this.log(`Timeout loading steering manifest (${Z.url})`),this.scheduleRefresh(this.uri||Z.url)}};this.log(`Requesting steering manifest: ${u}`),this.loader.load(v,W,N)}scheduleRefresh(e,t=this.timeToLoad*1e3){this.clearTimeout(),this.reloadTimer=self.setTimeout(()=>{var i;const u=(i=this.hls)==null?void 0:i.media;if(u&&!u.ended){this.loadSteeringManifest(e);return}this.scheduleRefresh(e,this.timeToLoad*1e3)},t)}}function fo(D,e,t,i){D&&Object.keys(e).forEach(u=>{const v=D.filter(T=>T.groupId===u).map(T=>{const M=l({},T);return M.details=void 0,M.attrs=new ai(M.attrs),M.url=M.attrs.URI=_o(T.url,T.attrs["STABLE-RENDITION-ID"],"PER-RENDITION-URIS",t),M.groupId=M.attrs["GROUP-ID"]=e[u],M.attrs["PATHWAY-ID"]=i,M});D.push(...v)})}function _o(D,e,t,i){const{HOST:u,PARAMS:v,[t]:T}=i;let M;e&&(M=T==null?void 0:T[e],M&&(D=M));const W=new self.URL(D);return u&&!M&&(W.host=u),v&&Object.keys(v).sort().forEach(N=>{N&&W.searchParams.set(N,v[N])}),W.href}function pn(D,e,t){Tn(D,e,t),D.addEventListener(e,t)}function Tn(D,e,t){D.removeEventListener(e,t)}class oa extends m{constructor(e){super("eme",e.logger),this.hls=void 0,this.config=void 0,this.media=null,this.keyFormatPromise=null,this.keySystemAccessPromises={},this._requestLicenseFailureCount=0,this.mediaKeySessions=[],this.keyIdToKeySessionPromise={},this.mediaKeys=null,this.setMediaKeysQueue=oa.CDMCleanupPromise?[oa.CDMCleanupPromise]:[],this.onWaitingForKey=t=>{this.log(`"${t.type}" event`)},this.hls=e,this.config=e.config,this.registerListeners()}destroy(){this.onDestroying(),this.onMediaDetached();const e=this.config;e.requestMediaKeySystemAccessFunc=null,e.licenseXhrSetup=e.licenseResponseCallback=void 0,e.drmSystems=e.drmSystemOptions={},this.hls=this.config=this.keyIdToKeySessionPromise=null,this.onWaitingForKey=null}registerListeners(){this.hls.on(y.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.on(y.MEDIA_DETACHED,this.onMediaDetached,this),this.hls.on(y.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.on(y.MANIFEST_LOADED,this.onManifestLoaded,this),this.hls.on(y.DESTROYING,this.onDestroying,this)}unregisterListeners(){this.hls.off(y.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.off(y.MEDIA_DETACHED,this.onMediaDetached,this),this.hls.off(y.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.off(y.MANIFEST_LOADED,this.onManifestLoaded,this),this.hls.off(y.DESTROYING,this.onDestroying,this)}getLicenseServerUrl(e){const{drmSystems:t,widevineLicenseUrl:i}=this.config,u=t[e];if(u)return u.licenseUrl;if(e===Xr.WIDEVINE&&i)return i}getLicenseServerUrlOrThrow(e){const t=this.getLicenseServerUrl(e);if(t===void 0)throw new Error(`no license server URL configured for key-system "${e}"`);return t}getServerCertificateUrl(e){const{drmSystems:t}=this.config,i=t[e];if(i)return i.serverCertificateUrl;this.log(`No Server Certificate in config.drmSystems["${e}"]`)}attemptKeySystemAccess(e){const t=this.hls.levels,i=(T,M,W)=>!!T&&W.indexOf(T)===M,u=t.map(T=>T.audioCodec).filter(i),v=t.map(T=>T.videoCodec).filter(i);return u.length+v.length===0&&v.push("avc1.42e01e"),new Promise((T,M)=>{const W=N=>{const j=N.shift();this.getMediaKeysPromise(j,u,v).then(Z=>T({keySystem:j,mediaKeys:Z})).catch(Z=>{N.length?W(N):Z instanceof gn?M(Z):M(new gn({type:S.KEY_SYSTEM_ERROR,details:K.KEY_SYSTEM_NO_ACCESS,error:Z,fatal:!0},Z.message))})};W(e)})}requestMediaKeySystemAccess(e,t){const{requestMediaKeySystemAccessFunc:i}=this.config;if(typeof i!="function"){let u=`Configured requestMediaKeySystemAccess is not a function ${i}`;return ti===null&&self.location.protocol==="http:"&&(u=`navigator.requestMediaKeySystemAccess is not available over insecure protocol ${location.protocol}`),Promise.reject(new Error(u))}return i(e,t)}getMediaKeysPromise(e,t,i){const u=ci(e,t,i,this.config.drmSystemOptions),v=this.keySystemAccessPromises[e];let T=v==null?void 0:v.keySystemAccess;if(!T){this.log(`Requesting encrypted media "${e}" key-system access with config: ${gt(u)}`),T=this.requestMediaKeySystemAccess(e,u);const M=this.keySystemAccessPromises[e]={keySystemAccess:T};return T.catch(W=>{this.log(`Failed to obtain access to key-system "${e}": ${W}`)}),T.then(W=>{this.log(`Access for key-system "${W.keySystem}" obtained`);const N=this.fetchServerCertificate(e);return this.log(`Create media-keys for "${e}"`),M.mediaKeys=W.createMediaKeys().then(j=>(this.log(`Media-keys created for "${e}"`),M.hasMediaKeys=!0,N.then(Z=>Z?this.setMediaKeysServerCertificate(j,e,Z):j))),M.mediaKeys.catch(j=>{this.error(`Failed to create media-keys for "${e}"}: ${j}`)}),M.mediaKeys})}return T.then(()=>v.mediaKeys)}createMediaKeySessionContext({decryptdata:e,keySystem:t,mediaKeys:i}){this.log(`Creating key-system session "${t}" keyId: ${B.hexDump(e.keyId||[])}`);const u=i.createSession(),v={decryptdata:e,keySystem:t,mediaKeys:i,mediaKeysSession:u,keyStatus:"status-pending"};return this.mediaKeySessions.push(v),v}renewKeySession(e){const t=e.decryptdata;if(t.pssh){const i=this.createMediaKeySessionContext(e),u=this.getKeyIdString(t),v="cenc";this.keyIdToKeySessionPromise[u]=this.generateRequestWithPreferredKeySession(i,v,t.pssh.buffer,"expired")}else this.warn("Could not renew expired session. Missing pssh initData.");this.removeSession(e)}getKeyIdString(e){if(!e)throw new Error("Could not read keyId of undefined decryptdata");if(e.keyId===null)throw new Error("keyId is null");return B.hexDump(e.keyId)}updateKeySession(e,t){var i;const u=e.mediaKeysSession;return this.log(`Updating key-session "${u.sessionId}" for keyID ${B.hexDump(((i=e.decryptdata)==null?void 0:i.keyId)||[])}
} (data length: ${t&&t.byteLength})`),u.update(t)}getSelectedKeySystemFormats(){return Object.keys(this.keySystemAccessPromises).map(e=>({keySystem:e,hasMediaKeys:this.keySystemAccessPromises[e].hasMediaKeys})).filter(({hasMediaKeys:e})=>!!e).map(({keySystem:e})=>Ir(e)).filter(e=>!!e)}getKeySystemAccess(e){return this.getKeySystemSelectionPromise(e).then(({keySystem:t,mediaKeys:i})=>this.attemptSetMediaKeys(t,i))}selectKeySystem(e){return new Promise((t,i)=>this.getKeySystemSelectionPromise(e).then(({keySystem:u})=>{const v=Ir(u);v?t(v):i(new Error(`Unable to find format for key-system "${u}"`))}).catch(i))}selectKeySystemFormat(e){const t=Object.keys(e.levelkeys||{});return this.keyFormatPromise||(this.log(`Selecting key-system from fragment (sn: ${e.sn} ${e.type}: ${e.level}) key formats ${t.join(", ")}`),this.keyFormatPromise=this.getKeyFormatPromise(t)),this.keyFormatPromise}getKeyFormatPromise(e){const t=Mr(this.config),i=e.map(Nr).filter(u=>!!u&&t.indexOf(u)!==-1);return this.selectKeySystem(i)}loadKey(e){const t=e.keyInfo.decryptdata,i=this.getKeyIdString(t),u=`(keyId: ${i} format: "${t.keyFormat}" method: ${t.method} uri: ${t.uri})`;this.log(`Starting session for key ${u}`);let v=this.keyIdToKeySessionPromise[i];return v||(v=this.getKeySystemForKeyPromise(t).then(({keySystem:M,mediaKeys:W})=>(this.throwIfDestroyed(),this.log(`Handle encrypted media sn: ${e.frag.sn} ${e.frag.type}: ${e.frag.level} using key ${u}`),this.attemptSetMediaKeys(M,W).then(()=>(this.throwIfDestroyed(),this.createMediaKeySessionContext({keySystem:M,mediaKeys:W,decryptdata:t}))))),(this.keyIdToKeySessionPromise[i]=v.then(M=>{const W="cenc",N=t.pssh?t.pssh.buffer:null;return this.generateRequestWithPreferredKeySession(M,W,N,"playlist-key")})).catch(M=>this.handleError(M))),v}throwIfDestroyed(e="Invalid state"){if(!this.hls)throw new Error("invalid state")}handleError(e){this.hls&&(this.error(e.message),e instanceof gn?this.hls.trigger(y.ERROR,e.data):this.hls.trigger(y.ERROR,{type:S.KEY_SYSTEM_ERROR,details:K.KEY_SYSTEM_NO_KEYS,error:e,fatal:!0}))}getKeySystemForKeyPromise(e){const t=this.getKeyIdString(e),i=this.keyIdToKeySessionPromise[t];if(!i){const u=Nr(e.keyFormat),v=u?[u]:Mr(this.config);return this.attemptKeySystemAccess(v)}return i}getKeySystemSelectionPromise(e){if(e.length||(e=Mr(this.config)),e.length===0)throw new gn({type:S.KEY_SYSTEM_ERROR,details:K.KEY_SYSTEM_NO_CONFIGURED_LICENSE,fatal:!0},`Missing key-system license configuration options ${gt({drmSystems:this.config.drmSystems})}`);return this.attemptKeySystemAccess(e)}attemptSetMediaKeys(e,t){if(this.mediaKeys===t)return Promise.resolve();const i=this.setMediaKeysQueue.slice();this.log(`Setting media-keys for "${e}"`);const u=Promise.all(i).then(()=>{if(!this.media)throw this.mediaKeys=null,new Error("Attempted to set mediaKeys without media element attached");return this.media.setMediaKeys(t)});return this.mediaKeys=t,this.setMediaKeysQueue.push(u),u.then(()=>{this.log(`Media-keys set for "${e}"`),i.push(u),this.setMediaKeysQueue=this.setMediaKeysQueue.filter(v=>i.indexOf(v)===-1)})}generateRequestWithPreferredKeySession(e,t,i,u){var v,T;const M=(v=this.config.drmSystems)==null||(T=v[e.keySystem])==null?void 0:T.generateRequest;if(M)try{const ie=M.call(this.hls,t,i,e);if(!ie)throw new Error("Invalid response from configured generateRequest filter");t=ie.initDataType,i=ie.initData?ie.initData:null,e.decryptdata.pssh=i?new Uint8Array(i):null}catch(ie){var W;if(this.warn(ie.message),(W=this.hls)!=null&&W.config.debug)throw ie}if(i===null)return this.log(`Skipping key-session request for "${u}" (no initData)`),Promise.resolve(e);const N=this.getKeyIdString(e.decryptdata);this.log(`Generating key-session request for "${u}": ${N} (init data type: ${t} length: ${i?i.byteLength:null})`);const j=new ia,Z=e._onmessage=ie=>{const pe=e.mediaKeysSession;if(!pe){j.emit("error",new Error("invalid state"));return}const{messageType:_e,message:Se}=ie;this.log(`"${_e}" message event for session "${pe.sessionId}" message size: ${Se.byteLength}`),_e==="license-request"||_e==="license-renewal"?this.renewLicense(e,Se).catch(ke=>{j.eventNames().length?j.emit("error",ke):this.handleError(ke)}):_e==="license-release"?e.keySystem===Xr.FAIRPLAY&&(this.updateKeySession(e,Ti("acknowledged")),this.removeSession(e)):this.warn(`unhandled media key message type "${_e}"`)},J=e._onkeystatuseschange=ie=>{if(!e.mediaKeysSession){j.emit("error",new Error("invalid state"));return}this.onKeyStatusChange(e);const _e=e.keyStatus;j.emit("keyStatus",_e),_e==="expired"&&(this.warn(`${e.keySystem} expired for key ${N}`),this.renewKeySession(e))};pn(e.mediaKeysSession,"message",Z),pn(e.mediaKeysSession,"keystatuseschange",J);const re=new Promise((ie,pe)=>{j.on("error",pe),j.on("keyStatus",_e=>{_e.startsWith("usable")?ie():_e==="output-restricted"?pe(new gn({type:S.KEY_SYSTEM_ERROR,details:K.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED,fatal:!1},"HDCP level output restricted")):_e==="internal-error"?pe(new gn({type:S.KEY_SYSTEM_ERROR,details:K.KEY_SYSTEM_STATUS_INTERNAL_ERROR,fatal:!0},`key status changed to "${_e}"`)):_e==="expired"?pe(new Error("key expired while generating request")):this.warn(`unhandled key status change "${_e}"`)})});return e.mediaKeysSession.generateRequest(t,i).then(()=>{var ie;this.log(`Request generated for key-session "${(ie=e.mediaKeysSession)==null?void 0:ie.sessionId}" keyId: ${N}`)}).catch(ie=>{throw new gn({type:S.KEY_SYSTEM_ERROR,details:K.KEY_SYSTEM_NO_SESSION,error:ie,fatal:!1},`Error generating key-session request: ${ie}`)}).then(()=>re).catch(ie=>{throw j.removeAllListeners(),this.removeSession(e),ie}).then(()=>(j.removeAllListeners(),e))}onKeyStatusChange(e){e.mediaKeysSession.keyStatuses.forEach((t,i)=>{if(typeof i=="string"&&typeof t=="object"){const u=i;i=t,t=u}this.log(`key status change "${t}" for keyStatuses keyId: ${B.hexDump("buffer"in i?new Uint8Array(i.buffer,i.byteOffset,i.byteLength):new Uint8Array(i))} session keyId: ${B.hexDump(new Uint8Array(e.decryptdata.keyId||[]))} uri: ${e.decryptdata.uri}`),e.keyStatus=t})}fetchServerCertificate(e){const t=this.config,i=t.loader,u=new i(t),v=this.getServerCertificateUrl(e);return v?(this.log(`Fetching server certificate for "${e}"`),new Promise((T,M)=>{const W={responseType:"arraybuffer",url:v},N=t.certLoadPolicy.default,j={loadPolicy:N,timeout:N.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0},Z={onSuccess:(J,re,ie,pe)=>{T(J.data)},onError:(J,re,ie,pe)=>{M(new gn({type:S.KEY_SYSTEM_ERROR,details:K.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,fatal:!0,networkDetails:ie,response:n({url:W.url,data:void 0},J)},`"${e}" certificate request failed (${v}). Status: ${J.code} (${J.text})`))},onTimeout:(J,re,ie)=>{M(new gn({type:S.KEY_SYSTEM_ERROR,details:K.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,fatal:!0,networkDetails:ie,response:{url:W.url,data:void 0}},`"${e}" certificate request timed out (${v})`))},onAbort:(J,re,ie)=>{M(new Error("aborted"))}};u.load(W,j,Z)})):Promise.resolve()}setMediaKeysServerCertificate(e,t,i){return new Promise((u,v)=>{e.setServerCertificate(i).then(T=>{this.log(`setServerCertificate ${T?"success":"not supported by CDM"} (${i==null?void 0:i.byteLength}) on "${t}"`),u(e)}).catch(T=>{v(new gn({type:S.KEY_SYSTEM_ERROR,details:K.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED,error:T,fatal:!0},T.message))})})}renewLicense(e,t){return this.requestLicense(e,new Uint8Array(t)).then(i=>this.updateKeySession(e,new Uint8Array(i)).catch(u=>{throw new gn({type:S.KEY_SYSTEM_ERROR,details:K.KEY_SYSTEM_SESSION_UPDATE_FAILED,error:u,fatal:!0},u.message)}))}unpackPlayReadyKeyMessage(e,t){const i=String.fromCharCode.apply(null,new Uint16Array(t.buffer));if(!i.includes("PlayReadyKeyMessage"))return e.setRequestHeader("Content-Type","text/xml; charset=utf-8"),t;const u=new DOMParser().parseFromString(i,"application/xml"),v=u.querySelectorAll("HttpHeader");if(v.length>0){let j;for(let Z=0,J=v.length;Z<J;Z++){var T,M;j=v[Z];const re=(T=j.querySelector("name"))==null?void 0:T.textContent,ie=(M=j.querySelector("value"))==null?void 0:M.textContent;re&&ie&&e.setRequestHeader(re,ie)}}const W=u.querySelector("Challenge"),N=W==null?void 0:W.textContent;if(!N)throw new Error("Cannot find <Challenge> in key message");return Ti(atob(N))}setupLicenseXHR(e,t,i,u){const v=this.config.licenseXhrSetup;return v?Promise.resolve().then(()=>{if(!i.decryptdata)throw new Error("Key removed");return v.call(this.hls,e,t,i,u)}).catch(T=>{if(!i.decryptdata)throw T;return e.open("POST",t,!0),v.call(this.hls,e,t,i,u)}).then(T=>(e.readyState||e.open("POST",t,!0),{xhr:e,licenseChallenge:T||u})):(e.open("POST",t,!0),Promise.resolve({xhr:e,licenseChallenge:u}))}requestLicense(e,t){const i=this.config.keyLoadPolicy.default;return new Promise((u,v)=>{const T=this.getLicenseServerUrlOrThrow(e.keySystem);this.log(`Sending license request to URL: ${T}`);const M=new XMLHttpRequest;M.responseType="arraybuffer",M.onreadystatechange=()=>{if(!this.hls||!e.mediaKeysSession)return v(new Error("invalid state"));if(M.readyState===4)if(M.status===200){this._requestLicenseFailureCount=0;let W=M.response;this.log(`License received ${W instanceof ArrayBuffer?W.byteLength:W}`);const N=this.config.licenseResponseCallback;if(N)try{W=N.call(this.hls,M,T,e)}catch(j){this.error(j)}u(W)}else{const W=i.errorRetry,N=W?W.maxNumRetry:0;if(this._requestLicenseFailureCount++,this._requestLicenseFailureCount>N||M.status>=400&&M.status<500)v(new gn({type:S.KEY_SYSTEM_ERROR,details:K.KEY_SYSTEM_LICENSE_REQUEST_FAILED,fatal:!0,networkDetails:M,response:{url:T,data:void 0,code:M.status,text:M.statusText}},`License Request XHR failed (${T}). Status: ${M.status} (${M.statusText})`));else{const j=N-this._requestLicenseFailureCount+1;this.warn(`Retrying license request, ${j} attempts left`),this.requestLicense(e,t).then(u,v)}}},e.licenseXhr&&e.licenseXhr.readyState!==XMLHttpRequest.DONE&&e.licenseXhr.abort(),e.licenseXhr=M,this.setupLicenseXHR(M,T,e,t).then(({xhr:W,licenseChallenge:N})=>{e.keySystem==Xr.PLAYREADY&&(N=this.unpackPlayReadyKeyMessage(W,N)),W.send(N)})})}onDestroying(){this.unregisterListeners(),this._clear()}onMediaAttached(e,t){if(!this.config.emeEnabled)return;const i=t.media;this.media=i,pn(i,"waitingforkey",this.onWaitingForKey)}onMediaDetached(){const e=this.media;e&&(Tn(e,"waitingforkey",this.onWaitingForKey),this.media=null,this.mediaKeys=null)}_clear(){var e;if(this._requestLicenseFailureCount=0,this.keyIdToKeySessionPromise={},!this.mediaKeys&&!this.mediaKeySessions.length)return;const t=this.media,i=this.mediaKeySessions.slice();this.mediaKeySessions=[],this.mediaKeys=null,oi.clearKeyUriToKeyIdMap();const u=i.length;oa.CDMCleanupPromise=Promise.all(i.map(v=>this.removeSession(v)).concat(t==null||(e=t.setMediaKeys(null))==null?void 0:e.catch(v=>{var T;this.log(`Could not clear media keys: ${v}`),(T=this.hls)==null||T.trigger(y.ERROR,{type:S.OTHER_ERROR,details:K.KEY_SYSTEM_DESTROY_MEDIA_KEYS_ERROR,fatal:!1,error:new Error(`Could not clear media keys: ${v}`)})}))).catch(v=>{var T;this.log(`Could not close sessions and clear media keys: ${v}`),(T=this.hls)==null||T.trigger(y.ERROR,{type:S.OTHER_ERROR,details:K.KEY_SYSTEM_DESTROY_CLOSE_SESSION_ERROR,fatal:!1,error:new Error(`Could not close sessions and clear media keys: ${v}`)})}).then(()=>{u&&this.log("finished closing key sessions and clearing media keys")})}onManifestLoading(){this.keyFormatPromise=null}onManifestLoaded(e,{sessionKeys:t}){if(!(!t||!this.config.emeEnabled)&&!this.keyFormatPromise){const i=t.reduce((u,v)=>(u.indexOf(v.keyFormat)===-1&&u.push(v.keyFormat),u),[]);this.log(`Selecting key-system from session-keys ${i.join(", ")}`),this.keyFormatPromise=this.getKeyFormatPromise(i)}}removeSession(e){const{mediaKeysSession:t,licenseXhr:i}=e;if(t){this.log(`Remove licenses and keys and close session ${t.sessionId}`),e._onmessage&&(t.removeEventListener("message",e._onmessage),e._onmessage=void 0),e._onkeystatuseschange&&(t.removeEventListener("keystatuseschange",e._onkeystatuseschange),e._onkeystatuseschange=void 0),i&&i.readyState!==XMLHttpRequest.DONE&&i.abort(),e.mediaKeysSession=e.decryptdata=e.licenseXhr=void 0;const u=this.mediaKeySessions.indexOf(e);u>-1&&this.mediaKeySessions.splice(u,1);const{drmSystemOptions:v}=this.config;return(dr(v)?new Promise((M,W)=>{self.setTimeout(()=>W(new Error("MediaKeySession.remove() timeout")),8e3),t.remove().then(M)}):Promise.resolve()).catch(M=>{var W;this.log(`Could not remove session: ${M}`),(W=this.hls)==null||W.trigger(y.ERROR,{type:S.OTHER_ERROR,details:K.KEY_SYSTEM_DESTROY_REMOVE_SESSION_ERROR,fatal:!1,error:new Error(`Could not remove session: ${M}`)})}).then(()=>t.close()).catch(M=>{var W;this.log(`Could not close session: ${M}`),(W=this.hls)==null||W.trigger(y.ERROR,{type:S.OTHER_ERROR,details:K.KEY_SYSTEM_DESTROY_CLOSE_SESSION_ERROR,fatal:!1,error:new Error(`Could not close session: ${M}`)})})}}}oa.CDMCleanupPromise=void 0;class gn extends Error{constructor(e,t){super(t),this.data=void 0,e.error||(e.error=new Error(t)),this.data=e,e.err=e.error}}class Fu{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(y.MEDIA_ATTACHING,this.onMediaAttaching,this),this.hls.on(y.MEDIA_DETACHING,this.onMediaDetaching,this)}unregisterListeners(){this.hls.off(y.MEDIA_ATTACHING,this.onMediaAttaching,this),this.hls.off(y.MEDIA_DETACHING,this.onMediaDetaching,this)}destroy(){this.timer&&clearInterval(this.timer),this.unregisterListeners(),this.isVideoPlaybackQualityAvailable=!1,this.media=null}onMediaAttaching(e,t){const i=this.hls.config;if(i.capLevelOnFPSDrop){const u=t.media instanceof self.HTMLVideoElement?t.media:null;this.media=u,u&&typeof u.getVideoPlaybackQuality=="function"&&(this.isVideoPlaybackQualityAvailable=!0),self.clearInterval(this.timer),this.timer=self.setInterval(this.checkFPSInterval.bind(this),i.fpsDroppedMonitoringPeriod)}}onMediaDetaching(){this.media=null}checkFPS(e,t,i){const u=performance.now();if(t){if(this.lastTime){const v=u-this.lastTime,T=i-this.lastDroppedFrames,M=t-this.lastDecodedFrames,W=1e3*T/v,N=this.hls;if(N.trigger(y.FPS_DROP,{currentDropped:T,currentDecoded:M,totalDroppedFrames:i}),W>0&&T>N.config.fpsDroppedMonitoringThreshold*M){let j=N.currentLevel;N.logger.warn("drop FPS ratio greater than max allowed value for currentLevel: "+j),j>0&&(N.autoLevelCapping===-1||N.autoLevelCapping>=j)&&(j=j-1,N.trigger(y.FPS_DROP_LEVEL_CAPPING,{level:j,droppedLevel:N.currentLevel}),N.autoLevelCapping=j,this.streamController.nextLevelSwitch())}}this.lastTime=u,this.lastDroppedFrames=i,this.lastDecodedFrames=t}}checkFPSInterval(){const e=this.media;if(e)if(this.isVideoPlaybackQualityAvailable){const t=e.getVideoPlaybackQuality();this.checkFPS(e,t.totalVideoFrames,t.droppedVideoFrames)}else this.checkFPS(e,e.webkitDecodedFrameCount,e.webkitDroppedFrameCount)}}function mo(D,e){let t;try{t=new Event("addtrack")}catch(i){t=document.createEvent("Event"),t.initEvent("addtrack",!1,!1)}t.track=D,e.dispatchEvent(t)}function po(D,e){const t=D.mode;if(t==="disabled"&&(D.mode="hidden"),D.cues&&!D.cues.getCueById(e.id))try{if(D.addCue(e),!D.cues.getCueById(e.id))throw new Error(`addCue is failed for: ${e}`)}catch(i){b.debug(`[texttrack-utils]: ${i}`);try{const u=new self.TextTrackCue(e.startTime,e.endTime,e.text);u.id=e.id,D.addCue(u)}catch(u){b.debug(`[texttrack-utils]: Legacy TextTrackCue fallback failed: ${u}`)}}t==="disabled"&&(D.mode=t)}function la(D,e){const t=D.mode;if(t==="disabled"&&(D.mode="hidden"),D.cues)for(let i=D.cues.length;i--;)e&&D.cues[i].removeEventListener("enter",e),D.removeCue(D.cues[i]);t==="disabled"&&(D.mode=t)}function cs(D,e,t,i){const u=D.mode;if(u==="disabled"&&(D.mode="hidden"),D.cues&&D.cues.length>0){const v=Wu(D.cues,e,t);for(let T=0;T<v.length;T++)(!i||i(v[T]))&&D.removeCue(v[T])}u==="disabled"&&(D.mode=u)}function ku(D,e){if(e<=D[0].startTime)return 0;const t=D.length-1;if(e>D[t].endTime)return-1;let i=0,u=t,v;for(;i<=u;)if(v=Math.floor((u+i)/2),e<D[v].startTime)u=v-1;else if(e>D[v].startTime&&i<t)i=v+1;else return v;return D[i].startTime-e<e-D[u].startTime?i:u}function Wu(D,e,t){const i=[],u=ku(D,e);if(u>-1)for(let v=u,T=D.length;v<T;v++){const M=D[v];if(M.startTime>=e&&M.endTime<=t)i.push(M);else if(M.startTime>t)return i}return i}function Ma(D){const e=[];for(let t=0;t<D.length;t++){const i=D[t];(i.kind==="subtitles"||i.kind==="captions")&&i.label&&e.push(D[t])}return e}class Ku extends is{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),!this.media||!this.hls.config.renderTextTracksNatively)return;let t=null;const i=Ma(this.media.textTracks);for(let v=0;v<i.length;v++)if(i[v].mode==="hidden")t=i[v];else if(i[v].mode==="showing"){t=i[v];break}const u=this.findTrackForTextTrack(t);this.subtitleTrack!==u&&this.setSubtitleTrack(u)},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){this._subtitleDisplay=e,this.trackId>-1&&this.toggleTrackModes()}registerListeners(){const{hls:e}=this;e.on(y.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(y.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(y.MANIFEST_LOADING,this.onManifestLoading,this),e.on(y.MANIFEST_PARSED,this.onManifestParsed,this),e.on(y.LEVEL_LOADING,this.onLevelLoading,this),e.on(y.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(y.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.on(y.ERROR,this.onError,this)}unregisterListeners(){const{hls:e}=this;e.off(y.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(y.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(y.MANIFEST_LOADING,this.onManifestLoading,this),e.off(y.MANIFEST_PARSED,this.onManifestParsed,this),e.off(y.LEVEL_LOADING,this.onLevelLoading,this),e.off(y.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(y.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.off(y.ERROR,this.onError,this)}onMediaAttached(e,t){this.media=t.media,this.media&&(this.queuedDefaultTrack>-1&&(this.subtitleTrack=this.queuedDefaultTrack,this.queuedDefaultTrack=-1),this.useTextTrackPolling=!(this.media.textTracks&&"onchange"in this.media.textTracks),this.useTextTrackPolling?this.pollTrackChange(500):this.media.textTracks.addEventListener("change",this.asyncPollTrackChange))}pollTrackChange(e){self.clearInterval(this.subtitlePollingInterval),this.subtitlePollingInterval=self.setInterval(this.onTextTracksChanged,e)}onMediaDetaching(e,t){const i=this.media;if(!i)return;const u=!!t.transferMedia;if(self.clearInterval(this.subtitlePollingInterval),this.useTextTrackPolling||i.textTracks.removeEventListener("change",this.asyncPollTrackChange),this.trackId>-1&&(this.queuedDefaultTrack=this.trackId),this.subtitleTrack=-1,this.media=null,u)return;Ma(i.textTracks).forEach(T=>{la(T)})}onManifestLoading(){this.tracks=[],this.groupIds=null,this.tracksInGroup=[],this.trackId=-1,this.currentTrack=null,this.selectDefaultTrack=!0}onManifestParsed(e,t){this.tracks=t.subtitleTracks}onSubtitleTrackLoaded(e,t){const{id:i,groupId:u,details:v}=t,T=this.tracksInGroup[i];if(!T||T.groupId!==u){this.warn(`Subtitle track with id:${i} and group:${u} not found in active group ${T==null?void 0:T.groupId}`);return}const M=T.details;T.details=t.details,this.log(`Subtitle track ${i} "${T.name}" lang:${T.lang} group:${u} loaded [${v.startSN}-${v.endSN}]`),i===this.trackId&&this.playlistLoaded(i,t,M)}onLevelLoading(e,t){this.switchLevel(t.level)}onLevelSwitching(e,t){this.switchLevel(t.level)}switchLevel(e){const t=this.hls.levels[e];if(!t)return;const i=t.subtitleGroups||null,u=this.groupIds;let v=this.currentTrack;if(!i||(u==null?void 0:u.length)!==(i==null?void 0:i.length)||i!=null&&i.some(T=>(u==null?void 0:u.indexOf(T))===-1)){this.groupIds=i,this.trackId=-1,this.currentTrack=null;const T=this.tracks.filter(j=>!i||i.indexOf(j.groupId)!==-1);if(T.length)this.selectDefaultTrack&&!T.some(j=>j.default)&&(this.selectDefaultTrack=!1),T.forEach((j,Z)=>{j.id=Z});else if(!v&&!this.tracksInGroup.length)return;this.tracksInGroup=T;const M=this.hls.config.subtitlePreference;if(!v&&M){this.selectDefaultTrack=!1;const j=Ve(M,T);if(j>-1)v=T[j];else{const Z=Ve(M,this.tracks);v=this.tracks[Z]}}let W=this.findTrackId(v);W===-1&&v&&(W=this.findTrackId(null));const N={subtitleTracks:T};this.log(`Updating subtitle tracks, ${T.length} track(s) found in "${i==null?void 0:i.join(",")}" group-id`),this.hls.trigger(y.SUBTITLE_TRACKS_UPDATED,N),W!==-1&&this.trackId===-1&&this.setSubtitleTrack(W)}}findTrackId(e){const t=this.tracksInGroup,i=this.selectDefaultTrack;for(let u=0;u<t.length;u++){const v=t[u];if(!(i&&!v.default||!i&&!e)&&(!e||Je(v,e)))return u}if(e){for(let u=0;u<t.length;u++){const v=t[u];if(ya(e.attrs,v.attrs,["LANGUAGE","ASSOC-LANGUAGE","CHARACTERISTICS"]))return u}for(let u=0;u<t.length;u++){const v=t[u];if(ya(e.attrs,v.attrs,["LANGUAGE"]))return u}}return-1}findTrackForTextTrack(e){if(e){const t=this.tracksInGroup;for(let i=0;i<t.length;i++){const u=t[i];if(ns(u,e))return i}}return-1}onError(e,t){t.fatal||!t.context||t.context.type===L.SUBTITLE_TRACK&&t.context.id===this.trackId&&(!this.groupIds||this.groupIds.indexOf(t.context.groupId)!==-1)&&this.checkRetry(t)}get allSubtitleTracks(){return this.tracks}get subtitleTracks(){return this.tracksInGroup}get subtitleTrack(){return this.trackId}set subtitleTrack(e){this.selectDefaultTrack=!1,this.setSubtitleTrack(e)}setSubtitleOption(e){if(this.hls.config.subtitlePreference=e,e){if(e.id===-1)return this.setSubtitleTrack(-1),null;const t=this.allSubtitleTracks;if(this.selectDefaultTrack=!1,t.length){const i=this.currentTrack;if(i&&Je(e,i))return i;const u=Ve(e,this.tracksInGroup);if(u>-1){const v=this.tracksInGroup[u];return this.setSubtitleTrack(u),v}else{if(i)return null;{const v=Ve(e,t);if(v>-1)return t[v]}}}}return null}loadPlaylist(e){super.loadPlaylist(),this.shouldLoadPlaylist(this.currentTrack)&&this.scheduleLoading(this.currentTrack,e)}loadingPlaylist(e,t){super.loadingPlaylist(e,t);const i=e.id,u=e.groupId,v=this.getUrlWithDirectives(e.url,t),T=e.details,M=T==null?void 0:T.age;this.log(`Loading subtitle ${i} "${e.name}" lang:${e.lang} group:${u}${(t==null?void 0:t.msn)!==void 0?" at sn "+t.msn+" part "+t.part:""}${M&&T.live?" age "+M.toFixed(1)+(T.type?" "+T.type||0:""):""} ${v}`),this.hls.trigger(y.SUBTITLE_TRACK_LOADING,{url:v,id:i,groupId:u,deliveryDirectives:t||null,track:e})}toggleTrackModes(){const{media:e}=this;if(!e)return;const t=Ma(e.textTracks),i=this.currentTrack;let u;if(i&&(u=t.filter(v=>ns(i,v))[0],u||this.warn(`Unable to find subtitle TextTrack with name "${i.name}" and language "${i.lang}"`)),[].slice.call(t).forEach(v=>{v.mode!=="disabled"&&v!==u&&(v.mode="disabled")}),u){const v=this.subtitleDisplay?"showing":"hidden";u.mode!==v&&(u.mode=v)}}setSubtitleTrack(e){const t=this.tracksInGroup;if(!this.media){this.queuedDefaultTrack=e;return}if(e<-1||e>=t.length||!ee(e)){this.warn(`Invalid subtitle track id: ${e}`);return}this.selectDefaultTrack=!1;const i=this.currentTrack,u=t[e]||null;if(this.trackId=e,this.currentTrack=u,this.toggleTrackModes(),!u){this.hls.trigger(y.SUBTITLE_TRACK_SWITCH,{id:e});return}const v=!!u.details&&!u.details.live;if(e===this.trackId&&u===i&&v)return;this.log(`Switching to subtitle-track ${e}`+(u?` "${u.name}" lang:${u.lang} group:${u.groupId}`:""));const{id:T,groupId:M="",name:W,type:N,url:j}=u;this.hls.trigger(y.SUBTITLE_TRACK_SWITCH,{id:T,groupId:M,name:W,type:N,url:j});const Z=this.switchParams(u.url,i==null?void 0:i.details,u.details);this.loadPlaylist(Z)}}function Gu(){try{return crypto.randomUUID()}catch(D){try{const e=URL.createObjectURL(new Blob),t=e.toString();return URL.revokeObjectURL(e),t.slice(t.lastIndexOf("/")+1)}catch(e){let t=new Date().getTime();return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,u=>{const v=(t+Math.random()*16)%16|0;return t=Math.floor(t/16),(u=="x"?v:v&3|8).toString(16)})}}}function xa(D){let e=5381,t=D.length;for(;t;)e=e*33^D.charCodeAt(--t);return(e>>>0).toString()}const ua=.025;let Na=function(D){return D[D.Point=0]="Point",D[D.Range=1]="Range",D}({});function Vu(D,e,t){return`${D.identifier}-${t+1}-${xa(e)}`}class Hu{constructor(e,t){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=t,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;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 t;if(e>0&&e>=this.assetList.length)return!0;const i=this.playoutLimit;return e<=0||isNaN(i)?!1:i===0?!0:(((t=this.assetList[e])==null?void 0:t.startOffset)||0)>i}findAssetIndex(e){return this.assetList.indexOf(e)}get identifier(){return this.dateRange.id}get startDate(){return this.dateRange.startDate}get startTime(){const e=this.dateRange.startTime;if(this.snapOptions.out){const t=this.dateRange.tagAnchor;if(t)return hs(e,t)}return e}get startOffset(){return this.cue.pre?0:this.startTime}get startIsAligned(){if(this.startTime===0||this.snapOptions.out)return!0;const e=this.dateRange.tagAnchor;if(e){const t=this.dateRange.startTime,i=hs(t,e);return t-i<.1}return!1}get resumptionOffset(){const e=this.resumeOffset,t=ee(e)?e:this.duration;return this.cumulativeDuration+t}get resumeTime(){const e=this.startOffset+this.resumptionOffset;if(this.snapOptions.in){const t=this.resumeAnchor;if(t)return hs(e,t)}return e}get appendInPlace(){return this.appendInPlaceStarted?!0:this.appendInPlaceDisabled?!1:!!(!this.cue.once&&!this.cue.pre&&this.startIsAligned&&(isNaN(this.playoutLimit)&&isNaN(this.resumeOffset)||this.resumeOffset&&this.duration&&Math.abs(this.resumeOffset-this.duration)<ua))}set appendInPlace(e){if(this.appendInPlaceStarted){this.resetOnResume=!e;return}this.appendInPlaceDisabled=!e}get timelineStart(){return this._timelineStart!==null?this._timelineStart:this.startTime}set timelineStart(e){this._timelineStart=e}get duration(){const e=this.playoutLimit;let t;return this._duration!==null?t=this._duration:this.dateRange.duration?t=this.dateRange.duration:t=this.dateRange.plannedDuration||0,!isNaN(e)&&e<t&&(t=e),t}set duration(e){this._duration=e}get cue(){return this.dateRange.cue}get timelineOccupancy(){return this.dateRange.attr["X-TIMELINE-OCCUPIES"]==="RANGE"?Na.Range:Na.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 zu(this)}}function hs(D,e){return D-e.start<e.duration/2&&!(Math.abs(D-(e.start+e.duration))<ua)?e.start:e.start+e.duration}function go(D,e,t){const i=new self.URL(D,t);return i.protocol!=="data:"&&i.searchParams.set("_HLS_primary_id",e),i}function fs(D,e){for(;(t=D.assetList[++e])!=null&&t.error;)var t;return e}function zu(D){return`["${D.identifier}" ${D.cue.pre?"<pre>":D.cue.post?"<post>":""}${D.timelineStart.toFixed(2)}-${D.resumeTime.toFixed(2)}]`}function ca(D){const e=D.timelineStart,t=D.duration||0;return`["${D.identifier}" ${e.toFixed(2)}-${(e+t).toFixed(2)}]`}class ju{constructor(e,t,i,u){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=()=>{this.reachedPlayout(this.currentTime)&&this.hls.trigger(y.PLAYOUT_LIMIT_REACHED,{})};const v=this.hls=new e(t);this.interstitial=i,this.assetItem=u;let T=u.uri;try{T=go(T,t.primarySessionId).href}catch(W){}v.loadSource(T);const M=()=>{this.hasDetails=!0};v.once(y.LEVEL_LOADED,M),v.once(y.AUDIO_TRACK_LOADED,M),v.once(y.SUBTITLE_TRACK_LOADED,M),v.on(y.MEDIA_ATTACHING,(W,{media:N})=>{this.removeMediaListeners(),this.mediaAttached=N,this.interstitial.playoutLimit&&(N.addEventListener("timeupdate",this.checkPlayout),this.appendInPlace&&v.on(y.BUFFER_APPENDED,()=>{const Z=this.bufferedEnd;this.reachedPlayout(Z)&&(this._bufferedEosTime=Z,v.trigger(y.BUFFERED_TO_END,void 0))}))})}get appendInPlace(){var e;return((e=this.interstitial)==null?void 0:e.appendInPlace)||!1}bufferedInPlaceToEnd(e){var t;if(!this.appendInPlace)return!1;if((t=this.hls)!=null&&t.bufferedToEnd)return!0;if(!e||!this._bufferedEosTime)return!1;const i=this.timelineOffset,u=fr.bufferInfo(e,i,0);return this.getAssetTime(u.end)>=this._bufferedEosTime-.02}reachedPlayout(e){const i=this.interstitial.playoutLimit;return this.startOffset+e>=i}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(){const e=this.media||this.mediaAttached;if(!e)return this._bufferedEosTime?this._bufferedEosTime:this.currentTime;const t=fr.bufferInfo(e,e.currentTime,.001);return this.getAssetTime(t.end)}get currentTime(){const e=this.media||this.mediaAttached;return e?this.getAssetTime(e.currentTime):this._currentTime||0}get duration(){const e=this.assetItem.duration;return e||0}get remaining(){const e=this.duration;return e?Math.max(0,e-this.currentTime):0}get startOffset(){return this.assetItem.startOffset}get timelineOffset(){var e;return((e=this.hls)==null?void 0:e.config.timelineOffset)||0}set timelineOffset(e){const t=this.timelineOffset;if(e!==t){const i=e-t;if(Math.abs(i)>1/9e4){if(this.hasDetails)throw new Error("Cannot set timelineOffset after playlists are loaded");this.hls.config.timelineOffset=e}}}getAssetTime(e){const t=this.timelineOffset,i=this.duration;return Math.min(Math.max(0,e-t),i)}removeMediaListeners(){const e=this.mediaAttached;e&&(this._currentTime=e.currentTime,this.bufferSnapShot(),e.removeEventListener("timeupdate",this.checkPlayout))}bufferSnapShot(){if(this.mediaAttached){var e;(e=this.hls)!=null&&e.bufferedToEnd&&(this._bufferedEosTime=this.bufferedEnd)}}destroy(){this.removeMediaListeners(),this.hls.destroy(),this.hls=this.interstitial=null,this.tracks=this.mediaAttached=this.checkPlayout=null}attachMedia(e){this.hls.attachMedia(e)}detachMedia(){this.removeMediaListeners(),this.mediaAttached=null,this.hls.detachMedia()}resumeBuffering(){this.hls.resumeBuffering()}pauseBuffering(){this.hls.pauseBuffering()}transferMedia(){return this.bufferSnapShot(),this.hls.transferMedia()}resetDetails(){const e=this.hls;if(this.hasDetails){e.stopLoad();const t=i=>delete i.details;e.levels.forEach(t),e.allAudioTracks.forEach(t),e.allSubtitleTracks.forEach(t),this.hasDetails=!1}}on(e,t,i){this.hls.on(e,t)}once(e,t,i){this.hls.once(e,t)}off(e,t,i){this.hls.off(e,t)}toString(){var e;return`HlsAssetPlayer: ${ca(this.assetItem)} ${(e=this.hls)==null?void 0:e.sessionId} ${this.appendInPlace?"append-in-place":""}`}}const vo=.033;class Zu extends m{constructor(e,t){super("interstitials-sched",t),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(){this.eventMap={},this.setDurations(0,0,0),this.events&&this.events.forEach(e=>e.reset()),this.events=this.items=null}resetErrorsInRange(e,t){return this.events?this.events.reduce((i,u)=>e<=u.startOffset&&t>u.startOffset?(delete u.error,i+1):i,0):0}get duration(){const 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}hasEvent(e){return e in this.eventMap}findItemIndex(e,t){if(e.event)return this.findEventIndex(e.event.identifier);let i=-1;e.nextEvent?i=this.findEventIndex(e.nextEvent.identifier)-1:e.previousEvent&&(i=this.findEventIndex(e.previousEvent.identifier)+1);const u=this.items;if(u)for(u[i]||(t===void 0&&(t=e.start),i=this.findItemIndexAtTime(t));i>=0&&(v=u[i])!=null&&v.event;){var v;i--}return i}findItemIndexAtTime(e,t){const i=this.items;if(i)for(let u=0;u<i.length;u++){let v=i[u];if(t&&t!=="primary"&&(v=v[t]),e===v.start||e>v.start&&e<v.end)return u}return-1}findJumpRestrictedIndex(e,t){const i=this.items;if(i)for(let u=e;u<=t&&i[u];u++){const v=i[u].event;if(v!=null&&v.restrictions.jump&&!v.appendInPlace)return u}return-1}findEventIndex(e){const t=this.items;if(t)for(let u=t.length;u--;){var i;if(((i=t[u].event)==null?void 0:i.identifier)===e)return u}return-1}findAssetIndex(e,t){const i=e.assetList,u=i.length;if(u>1)for(let v=0;v<u;v++){const T=i[v];if(!T.error){const M=T.timelineStart;if(t===M||t>M&&t<M+(T.duration||0))return v}}return 0}get assetIdAtEnd(){var e,t;const i=(e=this.items)==null||(t=e[this.length-1])==null?void 0:t.event;if(i){const u=i.assetList,v=u[u.length-1];if(v)return v.identifier}return null}parseInterstitialDateRanges(e,t){const i=e.main.details,{dateRanges:u}=i,v=this.events,T=this.parseDateRanges(u,{url:i.url},t),M=Object.keys(u),W=v?v.filter(N=>!M.includes(N.identifier)):[];T.length&&T.sort((N,j)=>{const Z=N.cue.pre,J=N.cue.post,re=j.cue.pre,ie=j.cue.post;if(Z&&!re)return-1;if(re&&!Z||J&&!ie)return 1;if(ie&&!J)return-1;if(!Z&&!re&&!J&&!ie){const pe=N.startTime,_e=j.startTime;if(pe!==_e)return pe-_e}return N.dateRange.tagOrder-j.dateRange.tagOrder}),this.events=T,W.forEach(N=>{this.removeEvent(N)}),this.updateSchedule(e,W)}updateSchedule(e,t=[]){const i=this.events||[];if(i.length||t.length||this.length<2){const u=this.items,v=this.parseSchedule(i,e);(t.length||(u==null?void 0:u.length)!==v.length||v.some((M,W)=>Math.abs(M.playout.start-u[W].playout.start)>.005||Math.abs(M.playout.end-u[W].playout.end)>.005))&&(this.items=v,this.onScheduleUpdate(t,u))}}parseDateRanges(e,t,i){const u=[],v=Object.keys(e);for(let T=0;T<v.length;T++){const M=v[T],W=e[M];if(W.isInterstitial){let N=this.eventMap[M];N?N.setDateRange(W):(N=new Hu(W,t),this.eventMap[M]=N,i===!1&&(N.appendInPlace=i)),u.push(N)}}return u}parseSchedule(e,t){const i=[],u=t.main.details,v=u.live?1/0:u.edge;let T=0;if(e=e.filter(W=>!W.error&&!(W.cue.once&&W.hasPlayed)),e.length){this.resolveOffsets(e,t);let W=0,N=0;if(e.forEach((j,Z)=>{const J=j.cue.pre,re=j.cue.post,ie=e[Z-1]||null,pe=j.appendInPlace,_e=re?v:j.startOffset,Se=j.duration,ke=j.timelineOccupancy===Na.Range?Se:0,Me=j.resumptionOffset,Ze=(ie==null?void 0:ie.startTime)===_e,ot=_e+j.cumulativeDuration;let Pt=pe?ot+Se:_e+Me;if(J||!re&&_e<=0){const _t=N;N+=ke,j.timelineStart=ot;const Et=T;T+=Se,i.push({event:j,start:ot,end:Pt,playout:{start:Et,end:T},integrated:{start:_t,end:N}})}else if(_e<=v){if(!Ze){const qe=_e-W;if(qe>vo){const jt=W,ur=N;N+=qe;const Ur=T;T+=qe;const Lr={previousEvent:e[Z-1]||null,nextEvent:j,start:jt,end:jt+qe,playout:{start:Ur,end:T},integrated:{start:ur,end:N}};i.push(Lr)}else qe>0&&ie&&(ie.cumulativeDuration+=qe,i[i.length-1].end=_e)}re&&(Pt=ot),j.timelineStart=ot;const _t=N;N+=ke;const Et=T;T+=Se,i.push({event:j,start:ot,end:Pt,playout:{start:Et,end:T},integrated:{start:_t,end:N}})}else return;const it=j.resumeTime;re||it>v?W=v:W=it}),W<v){var M;const j=W,Z=N,J=v-W;N+=J;const re=T;T+=J,i.push({previousEvent:((M=i[i.length-1])==null?void 0:M.event)||null,nextEvent:null,start:W,end:j+J,playout:{start:re,end:T},integrated:{start:Z,end:N}})}this.setDurations(v,T,N)}else i.push({previousEvent:null,nextEvent:null,start:0,end:v,playout:{start:0,end:v},integrated:{start:0,end:v}}),this.setDurations(v,v,v);return i}setDurations(e,t,i){this.durations={primary:e,playout:t,integrated:i}}resolveOffsets(e,t){const i=t.main.details,u=i.live?1/0:i.edge;let v=0,T=-1;e.forEach((M,W)=>{const N=M.cue.pre,j=M.cue.post,Z=N?0:j?u:M.startTime;this.updateAssetDurations(M),T===Z?M.cumulativeDuration=v:(v=0,T=Z),!j&&M.snapOptions.in&&(M.resumeAnchor=Zt(null,i.fragments,M.startOffset+M.resumptionOffset,0,0)||void 0),M.appendInPlace&&!M.appendInPlaceStarted&&(this.primaryCanResumeInPlaceAt(M,t)||(M.appendInPlace=!1)),!M.appendInPlace&&W+1<e.length&&e[W+1].startTime-e[W].resumeTime<vo&&(e[W+1].appendInPlace=!1,e[W+1].appendInPlace&&this.warn(`Could not change append strategy for abutting event ${M}`));const re=ee(M.resumeOffset)?M.resumeOffset:M.duration;v+=re})}primaryCanResumeInPlaceAt(e,t){const i=e.resumeTime,u=e.startTime+e.resumptionOffset;return Math.abs(i-u)>ua?(this.log(`"${e.identifier}" resumption ${i} not aligned with estimated timeline end ${u}`),!1):t?!Object.keys(t).some(T=>{const M=t[T].details,W=M.edge;if(i>=W)return this.log(`"${e.identifier}" resumption ${i} past ${T} playlist end ${W}`),!1;const N=Zt(null,M.fragments,i);if(!N)return this.log(`"${e.identifier}" resumption ${i} does not align with any fragments in ${T} playlist (${M.fragStart}-${M.fragmentEnd})`),!0;const j=T==="audio"?.175:0;return Math.abs(N.start-i)<ua+j||Math.abs(N.end-i)<ua+j?!1:(this.log(`"${e.identifier}" resumption ${i} not aligned with ${T} fragment bounds (${N.start}-${N.end} sn: ${N.sn} cc: ${N.cc})`),!0)}):(this.log(`"${e.identifier}" resumption ${i} can not be aligned with media (none selected)`),!1)}updateAssetDurations(e){if(!e.assetListLoaded)return;const t=e.timelineStart;let i=0,u=!1,v=!1;e.assetList.forEach((T,M)=>{const W=t+i;T.startOffset=i,T.timelineStart=W,u||(u=T.duration===null),v||(v=!!T.error);const N=T.error?0:T.duration||0;i+=N}),u&&!v?e.duration=Math.max(i,e.duration):e.duration=i}removeEvent(e){e.reset(),delete this.eventMap[e.identifier]}}function Kn(D){return`[${D.event?'"'+D.event.identifier+'"':"primary"}: ${D.start.toFixed(2)}-${D.end.toFixed(2)}]`}class Xu{constructor(e){this.hls=void 0,this.hls=e}destroy(){this.hls=null}loadAssetList(e,t){const i=e.assetListUrl;let u;try{u=go(i,this.hls.sessionId,e.baseUrl)}catch(J){const re=this.assignAssetListError(e,K.ASSET_LIST_LOAD_ERROR,J,i);this.hls.trigger(y.ERROR,re);return}t&&u.protocol!=="data:"&&u.searchParams.set("_HLS_start_offset",""+t);const v=this.hls.config,T=v.loader,M=new T(v),W={responseType:"json",url:u.href},N=v.interstitialAssetListLoadPolicy.default,j={loadPolicy:N,timeout:N.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0},Z={onSuccess:(J,re,ie,pe)=>{const _e=J.data,Se=_e==null?void 0:_e.ASSETS;if(!Array.isArray(Se)){const ke=this.assignAssetListError(e,K.ASSET_LIST_PARSING_ERROR,new Error("Invalid interstitial asset list"),ie.url,re,pe);this.hls.trigger(y.ERROR,ke);return}e.assetListResponse=_e,this.hls.trigger(y.ASSET_LIST_LOADED,{event:e,assetListResponse:_e,networkDetails:pe})},onError:(J,re,ie,pe)=>{const _e=this.assignAssetListError(e,K.ASSET_LIST_LOAD_ERROR,new Error(`Error loading X-ASSET-LIST: HTTP status ${J.code} ${J.text} (${re.url})`),re.url,pe,ie);this.hls.trigger(y.ERROR,_e)},onTimeout:(J,re,ie)=>{const pe=this.assignAssetListError(e,K.ASSET_LIST_LOAD_TIMEOUT,new Error(`Timeout loading X-ASSET-LIST (${re.url})`),re.url,J,ie);this.hls.trigger(y.ERROR,pe)}};return M.load(W,j,Z),this.hls.trigger(y.ASSET_LIST_LOADING,{event:e}),M}assignAssetListError(e,t,i,u,v,T){return e.error=i,{type:S.NETWORK_ERROR,details:t,fatal:!1,interstitial:e,url:u,error:i,networkDetails:T,stats:v}}}function yo(D){D==null||D.play().catch(()=>{})}class Yu extends m{constructor(e,t){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.shouldPlay=!1,this.onPlay=()=>{this.shouldPlay=!0},this.onPause=()=>{this.shouldPlay=!1},this.onSeeking=()=>{const i=this.currentTime;if(i===void 0||this.playbackDisabled)return;const u=i-this.timelinePos;if(Math.abs(u)<1/7056e5)return;const T=u<=-.01;this.timelinePos=i,this.bufferedPos=i;const M=this.playingItem;if(!M){this.checkBuffer();return}if(T&&this.schedule.resetErrorsInRange(i,i-u)&&this.updateSchedule(),this.checkBuffer(),T&&i<M.start||i>=M.end){var W;const J=this.schedule.findItemIndexAtTime(this.timelinePos);if(!this.isInterstitial(M)&&(W=this.media)!=null&&W.paused&&(this.shouldPlay=!1),!T){const re=this.findItemIndex(M);if(J>re){const ie=this.schedule.findJumpRestrictedIndex(re+1,J);if(ie>re){this.setSchedulePosition(ie);return}}}this.setSchedulePosition(J);return}const N=this.playingAsset;if(!N){if(this.playingLastItem&&this.isInterstitial(M)){const J=M.event.assetList[0];J&&(this.endedItem=this.playingItem,this.playingItem=null,this.setScheduleToAssetAtTime(i,J))}return}const j=N.timelineStart,Z=N.duration||0;(T&&i<j||i>=j+Z)&&this.setScheduleToAssetAtTime(i,N)},this.onTimeupdate=()=>{const i=this.currentTime;if(i===void 0||this.playbackDisabled)return;if(i>this.timelinePos)this.timelinePos=i,i>this.bufferedPos&&this.checkBuffer();else return;const u=this.playingItem;if(!u||this.playingLastItem)return;if(i>=u.end){this.timelinePos=u.end;const M=this.findItemIndex(u);this.setSchedulePosition(M+1)}const v=this.playingAsset;if(!v)return;const T=v.timelineStart+(v.duration||0);i>=T&&this.setScheduleToAssetAtTime(i,v)},this.onScheduleUpdate=(i,u)=>{const v=this.schedule,T=this.playingItem,M=v.events||[],W=v.items||[],N=v.durations,j=i.map(ie=>ie.identifier),Z=!!(M.length||j.length);(Z||u)&&this.log(`INTERSTITIALS_UPDATED (${M.length}): ${M}
Schedule: ${W.map(ie=>Kn(ie))} pos: ${this.timelinePos}`),j.length&&this.log(`Removed events ${j}`),this.playerQueue.forEach(ie=>{if(ie.interstitial.appendInPlace){const pe=ie.assetItem.timelineStart,_e=ie.timelineOffset-pe;if(_e)try{ie.timelineOffset=pe}catch(Se){Math.abs(_e)>ua&&this.warn(`${Se} ("${ie.assetId}" ${ie.timelineOffset}->${pe})`)}}});let J=null;if(T){const ie=this.updateItem(T,this.timelinePos);this.itemsMatch(T,ie)&&(this.playingItem=ie,this.waitingItem=this.endedItem=null,J=()=>this.trimInPlace(ie,T))}else this.waitingItem=this.updateItem(this.waitingItem),this.endedItem=this.updateItem(this.endedItem);const re=this.bufferingItem;if(re){const ie=this.updateItem(re,this.bufferedPos);this.itemsMatch(re,ie)?(this.bufferingItem=ie,J||(J=()=>this.trimInPlace(ie,re))):re.event&&(this.bufferingItem=this.playingItem,this.clearInterstitial(re.event,null))}if(i.forEach(ie=>{ie.assetList.forEach(pe=>{this.clearAssetPlayer(pe.identifier,null)})}),Z||u){if(this.hls.trigger(y.INTERSTITIALS_UPDATED,{events:M.slice(0),schedule:W.slice(0),durations:N,removedIds:j}),this.isInterstitial(T)&&j.includes(T.event.identifier)){this.warn(`Interstitial "${T.event.identifier}" removed while playing`),this.primaryFallback(T.event);return}J&&J(),this.checkBuffer()}},this.hls=e,this.HlsPlayerClass=t,this.assetListLoader=new Xu(e),this.schedule=new Zu(this.onScheduleUpdate,e.logger),this.registerListeners()}registerListeners(){const e=this.hls;e.on(y.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(y.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(y.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(y.MANIFEST_LOADING,this.onManifestLoading,this),e.on(y.LEVEL_UPDATED,this.onLevelUpdated,this),e.on(y.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.on(y.AUDIO_TRACK_UPDATED,this.onAudioTrackUpdated,this),e.on(y.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.on(y.SUBTITLE_TRACK_UPDATED,this.onSubtitleTrackUpdated,this),e.on(y.EVENT_CUE_ENTER,this.onInterstitialCueEnter,this),e.on(y.ASSET_LIST_LOADED,this.onAssetListLoaded,this),e.on(y.BUFFER_APPENDED,this.onBufferAppended,this),e.on(y.BUFFER_FLUSHED,this.onBufferFlushed,this),e.on(y.BUFFERED_TO_END,this.onBufferedToEnd,this),e.on(y.MEDIA_ENDED,this.onMediaEnded,this),e.on(y.ERROR,this.onError,this),e.on(y.DESTROYING,this.onDestroying,this)}unregisterListeners(){const e=this.hls;e&&(e.off(y.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(y.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(y.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(y.MANIFEST_LOADING,this.onManifestLoading,this),e.off(y.LEVEL_UPDATED,this.onLevelUpdated,this),e.off(y.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.off(y.AUDIO_TRACK_UPDATED,this.onAudioTrackUpdated,this),e.off(y.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.off(y.SUBTITLE_TRACK_UPDATED,this.onSubtitleTrackUpdated,this),e.off(y.EVENT_CUE_ENTER,this.onInterstitialCueEnter,this),e.off(y.ASSET_LIST_LOADED,this.onAssetListLoaded,this),e.off(y.BUFFER_CODECS,this.onBufferCodecs,this),e.off(y.BUFFER_APPENDED,this.onBufferAppended,this),e.off(y.BUFFER_FLUSHED,this.onBufferFlushed,this),e.off(y.BUFFERED_TO_END,this.onBufferedToEnd,this),e.off(y.MEDIA_ENDED,this.onMediaEnded,this),e.off(y.ERROR,this.onError,this),e.off(y.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(){this.unregisterListeners(),this.stopLoad(),this.assetListLoader&&this.assetListLoader.destroy(),this.emptyPlayerQueue(),this.clearScheduleState(),this.schedule&&this.schedule.destroy(),this.media=this.detachedData=this.mediaSelection=this.requiredTracks=this.altSelection=this.manager=null,this.hls=this.HlsPlayerClass=this.schedule=this.log=null,this.assetListLoader=null,this.onPlay=this.onPause=this.onSeeking=this.onTimeupdate=null,this.onScheduleUpdate=null}onDestroying(){const e=this.primaryMedia||this.media;e&&this.removeMediaListeners(e)}removeMediaListeners(e){Tn(e,"play",this.onPlay),Tn(e,"pause",this.onPause),Tn(e,"seeking",this.onSeeking),Tn(e,"timeupdate",this.onTimeupdate)}onMediaAttaching(e,t){const i=this.media=t.media;pn(i,"seeking",this.onSeeking),pn(i,"timeupdate",this.onTimeupdate),pn(i,"play",this.onPlay),pn(i,"pause",this.onPause)}onMediaAttached(e,t){const i=this.effectivePlayingItem,u=this.detachedData;if(this.detachedData=null,i===null)this.checkStart();else if(!u){this.clearScheduleState();const v=this.findItemIndex(i);this.setSchedulePosition(v)}}clearScheduleState(){this.playingItem=this.bufferingItem=this.waitingItem=this.endedItem=this.playingAsset=this.endedAsset=this.bufferingAsset=null}onMediaDetaching(e,t){const i=!!t.transferMedia,u=this.media;if(this.media=null,!i&&(u&&this.removeMediaListeners(u),this.detachedData)){const v=this.getBufferingPlayer();v&&(this.playingAsset=this.endedAsset=this.bufferingAsset=this.bufferingItem=this.waitingItem=this.detachedData=null,v.detachMedia()),this.shouldPlay=!1}}get interstitialsManager(){if(!this.manager){if(!this.hls)return null;const e=this,t=()=>e.bufferingItem||e.waitingItem,i=Z=>Z&&e.getAssetPlayer(Z.identifier),u=(Z,J,re,ie,pe)=>{if(Z){let _e=Z[J].start;const Se=Z.event;if(Se){if(J==="playout"||Se.timelineOccupancy!==Na.Point){const ke=i(re);(ke==null?void 0:ke.interstitial)===Se&&(_e+=ke.assetItem.startOffset+ke[pe])}}else{const ke=ie==="bufferedPos"?T():e[ie];_e+=ke-Z.start}return _e}return 0},v=(Z,J)=>{if(Z!==0&&J!=="primary"&&e.schedule.length){var re;const ie=e.schedule.findItemIndexAtTime(Z),pe=(re=e.schedule.items)==null?void 0:re[ie];if(pe){const _e=pe[J].start-pe.start;return Z+_e}}return Z},T=()=>{const Z=e.bufferedPos;return Z===Number.MAX_VALUE?M("primary"):Math.max(Z,0)},M=Z=>{var J;return(J=e.primaryDetails)!=null&&J.live?e.primaryDetails.edge:e.schedule.durations[Z]},W=(Z,J)=>{var re,ie;const pe=e.effectivePlayingItem;if(pe!=null&&(re=pe.event)!=null&&re.restrictions.skip)return;e.log(`seek to ${Z} "${J}"`);const _e=e.effectivePlayingItem,Se=e.schedule.findItemIndexAtTime(Z,J),ke=(ie=e.schedule.items)==null?void 0:ie[Se],Me=e.getBufferingPlayer(),Ze=Me==null?void 0:Me.interstitial,ot=Ze==null?void 0:Ze.appendInPlace,Pt=_e&&e.itemsMatch(_e,ke);if(_e&&(ot||Pt)){const _t=i(e.playingAsset),Et=(_t==null?void 0:_t.media)||e.primaryMedia;if(Et){const qe=J==="primary"?Et.currentTime:u(_e,J,e.playingAsset,"timelinePos","currentTime"),jt=Z-qe,ur=(ot?qe:Et.currentTime)+jt;if(ur>=0&&(!_t||ot||ur<=_t.duration)){Et.currentTime=ur;return}}}if(ke){let _t=Z;if(J!=="primary"){const qe=ke[J].start,jt=Z-qe;_t=ke.start+jt}const Et=!e.isInterstitial(ke);if((!e.isInterstitial(_e)||_e.event.appendInPlace)&&(Et||ke.event.appendInPlace)){const qe=e.media||(ot?Me==null?void 0:Me.media:null);qe&&(qe.currentTime=_t)}else if(_e){const qe=e.findItemIndex(_e);if(Se>qe){const ur=e.schedule.findJumpRestrictedIndex(qe+1,Se);if(ur>qe){e.setSchedulePosition(ur);return}}let jt=0;if(Et)e.timelinePos=_t,e.checkBuffer();else{var it;const ur=ke==null||(it=ke.event)==null?void 0:it.assetList;if(ur){const Ur=Z-(ke[J]||ke).start;for(let Lr=ur.length;Lr--;){const Sr=ur[Lr];if(Sr.duration&&Ur>=Sr.startOffset&&Ur<Sr.startOffset+Sr.duration){jt=Lr;break}}}}e.setSchedulePosition(Se,jt)}}},N=()=>{const Z=e.effectivePlayingItem;if(e.isInterstitial(Z))return Z;const J=t();return e.isInterstitial(J)?J:null},j={get currentTime(){const Z=N(),J=e.effectivePlayingItem;return J&&J===Z?u(J,"playout",e.effectivePlayingAsset,"timelinePos","currentTime")-J.playout.start:0},set currentTime(Z){const J=N(),re=e.effectivePlayingItem;re&&re===J&&W(Z+re.playout.start,"playout")},get duration(){const Z=N();return Z?Z.playout.end-Z.playout.start:0},get assetPlayers(){var Z;const J=(Z=N())==null?void 0:Z.event.assetList;return J?J.map(re=>e.getAssetPlayer(re.identifier)):[]},get playingIndex(){var Z;const J=(Z=N())==null?void 0:Z.event;return J&&e.effectivePlayingAsset?J.findAssetIndex(e.effectivePlayingAsset):-1},get scheduleItem(){return N()}};this.manager={get events(){var Z,J;return((Z=e.schedule)==null||(J=Z.events)==null?void 0:J.slice(0))||[]},get schedule(){var Z,J;return((Z=e.schedule)==null||(J=Z.items)==null?void 0:J.slice(0))||[]},get interstitialPlayer(){return N()?j:null},get playerQueue(){return e.playerQueue.slice(0)},get bufferingAsset(){return e.bufferingAsset},get bufferingItem(){return t()},get bufferingIndex(){const Z=t();return e.findItemIndex(Z)},get playingAsset(){return e.effectivePlayingAsset},get playingItem(){return e.effectivePlayingItem},get playingIndex(){const Z=e.effectivePlayingItem;return e.findItemIndex(Z)},primary:{get bufferedEnd(){return T()},get currentTime(){const Z=e.timelinePos;return Z>0?Z:0},set currentTime(Z){W(Z,"primary")},get duration(){return M("primary")},get seekableStart(){var Z;return((Z=e.primaryDetails)==null?void 0:Z.fragmentStart)||0}},integrated:{get bufferedEnd(){return u(t(),"integrated",e.bufferingAsset,"bufferedPos","bufferedEnd")},get currentTime(){return u(e.effectivePlayingItem,"integrated",e.effectivePlayingAsset,"timelinePos","currentTime")},set currentTime(Z){W(Z,"integrated")},get duration(){return M("integrated")},get seekableStart(){var Z;return v(((Z=e.primaryDetails)==null?void 0:Z.fragmentStart)||0,"integrated")}},skip:()=>{const Z=e.effectivePlayingItem,J=Z==null?void 0:Z.event;if(J&&!J.restrictions.skip){const re=e.findItemIndex(Z);if(J.appendInPlace){const ie=Z.playout.start+Z.event.duration;W(ie+.001,"playout")}else e.advanceAfterAssetEnded(J,re,1/0)}}}}return this.manager}get effectivePlayingItem(){return this.waitingItem||this.playingItem||this.endedItem}get effectivePlayingAsset(){return this.playingAsset||this.endedAsset}get playingLastItem(){var e;const t=this.playingItem,i=(e=this.schedule)==null?void 0:e.items;return!this.playbackStarted||!t||!i?!1:this.findItemIndex(t)===i.length-1}get playbackStarted(){return this.effectivePlayingItem!==null}get currentTime(){var e,t,i;if(this.mediaSelection===null)return;const u=this.waitingItem||this.playingItem;if(this.isInterstitial(u)&&!u.event.appendInPlace)return;let v=this.media;!v&&(e=this.bufferingItem)!=null&&(t=e.event)!=null&&t.appendInPlace&&(v=this.primaryMedia);const T=(i=v)==null?void 0:i.currentTime;if(!(T===void 0||!ee(T)))return T}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,t){const i=this.getAssetPlayer(e);i&&this.transferMediaFromPlayer(i,t)}transferMediaFromPlayer(e,t){const i=e.interstitial.appendInPlace,u=e.media;if(i&&u===this.primaryMedia){if(this.bufferingAsset=null,(!t||this.isInterstitial(t)&&!t.event.appendInPlace)&&t&&u){this.detachedData={media:u};return}const v=e.transferMedia();this.log(`transfer MediaSource from ${e} ${gt(v)}`),this.detachedData=v}else t&&u&&(this.shouldPlay||(this.shouldPlay=!u.paused))}transferMediaTo(e,t){var i,u;if(e.media===t)return;let v=null;const T=this.hls,M=e!==T,W=M&&e.interstitial.appendInPlace,N=(i=this.detachedData)==null?void 0:i.mediaSource;let j;if(T.media)W&&(v=T.transferMedia(),this.detachedData=v),j="Primary";else if(N){const re=this.getBufferingPlayer();re?(v=re.transferMedia(),j=`${re}`):j="detached MediaSource"}else j="detached media";if(!v){if(N)v=this.detachedData,this.log(`using detachedData: MediaSource ${gt(v)}`);else if(!this.detachedData||T.media===t){const re=this.playerQueue;re.length>1&&re.forEach(ie=>{if(M&&ie.interstitial.appendInPlace!==W){const pe=ie.interstitial;this.clearInterstitial(ie.interstitial,null),pe.appendInPlace=!1,pe.appendInPlace&&this.warn(`Could not change append strategy for queued assets ${pe}`)}}),this.hls.detachMedia(),this.detachedData={media:t}}}const Z=v&&"mediaSource"in v&&((u=v.mediaSource)==null?void 0:u.readyState)!=="closed",J=Z&&v?v:t;if(this.log(`${Z?"transfering MediaSource":"attaching media"} to ${M?e:"Primary"} from ${j}`),J===v){const re=M&&e.assetId===this.schedule.assetIdAtEnd;J.overrides={duration:this.schedule.duration,endOfStream:!M||re,cueRemoval:!M}}e.attachMedia(J)}onInterstitialCueEnter(){this.onTimeupdate()}checkStart(){const e=this.schedule,t=e.events;if(!t||this.playbackDisabled||!this.media)return;this.bufferedPos===-1&&(this.bufferedPos=0);const i=this.timelinePos,u=this.effectivePlayingItem;if(i===-1){const v=this.hls.startPosition;if(this.timelinePos=v,t.length&&t[0].cue.pre){const T=e.findEventIndex(t[0].identifier);this.setSchedulePosition(T)}else if(v>=0||!this.primaryLive){const T=this.timelinePos=v>0?v:0,M=e.findItemIndexAtTime(T);this.setSchedulePosition(M)}}else if(u&&!this.playingItem){const v=e.findItemIndex(u);this.setSchedulePosition(v)}}advanceAfterAssetEnded(e,t,i){const u=fs(e,i);if(!e.isAssetPastPlayoutLimit(u))this.setSchedulePosition(t,u);else{const v=this.schedule.items;if(v){const T=t+1,M=v.length;if(T>=M){this.setSchedulePosition(-1);return}const W=e.resumeTime;this.timelinePos<W&&(this.timelinePos=W,this.checkBuffer()),this.setSchedulePosition(T)}}}setScheduleToAssetAtTime(e,t){const i=this.schedule,u=t.parentIdentifier,v=i.getEvent(u);if(v){const T=i.findEventIndex(u),M=i.findAssetIndex(v,e);this.advanceAfterAssetEnded(v,T,M-1)}}setSchedulePosition(e,t){const i=this.schedule.items;if(!i||this.playbackDisabled)return;this.log(`setSchedulePosition ${e}, ${t}`);const u=e>=0?i[e]:null,v=this.playingItem,T=this.playingLastItem;if(this.isInterstitial(v)){var M;const N=v.event,j=this.playingAsset,Z=j==null?void 0:j.identifier,J=Z?this.getAssetPlayer(Z):null;if(J&&Z&&(!this.eventItemsMatch(v,u)||t!==void 0&&Z!==((M=N.assetList)==null?void 0:M[t].identifier))){var W;const re=N.findAssetIndex(j);if(this.log(`INTERSTITIAL_ASSET_ENDED ${re+1}/${N.assetList.length} ${ca(j)}`),this.endedAsset=j,this.playingAsset=null,this.hls.trigger(y.INTERSTITIAL_ASSET_ENDED,{asset:j,assetListIndex:re,event:N,schedule:i.slice(0),scheduleIndex:e,player:J}),v!==this.playingItem){this.itemsMatch(v,this.playingItem)&&!this.playingAsset&&this.advanceAfterAssetEnded(N,this.findItemIndex(this.playingItem),re);return}this.retreiveMediaSource(Z,u),J.media&&!((W=this.detachedData)!=null&&W.mediaSource)&&J.detachMedia()}if(!this.eventItemsMatch(v,u)&&(this.endedItem=v,this.playingItem=null,this.log(`INTERSTITIAL_ENDED ${N} ${Kn(v)}`),N.hasPlayed=!0,this.hls.trigger(y.INTERSTITIAL_ENDED,{event:N,schedule:i.slice(0),scheduleIndex:e}),N.cue.once)){this.updateSchedule();const re=this.schedule.items;if(u&&re){const ie=this.findItemIndex(u);this.advanceSchedule(ie,re,t,v,T)}return}}this.advanceSchedule(e,i,t,v,T)}advanceSchedule(e,t,i,u,v){const T=e>=0?t[e]:null,M=this.primaryMedia,W=this.playerQueue;if(W.length&&W.forEach(N=>{const j=N.interstitial,Z=this.schedule.findEventIndex(j.identifier);(Z<e||Z>e+1)&&this.clearInterstitial(j,T)}),this.isInterstitial(T)){this.timelinePos=Math.min(Math.max(this.timelinePos,T.start),T.end);const N=T.event;if(i===void 0){i=this.schedule.findAssetIndex(N,this.timelinePos);const re=fs(N,i-1);if(N.isAssetPastPlayoutLimit(re)){this.advanceAfterAssetEnded(N,e,i);return}i=re}const j=this.waitingItem;this.assetsBuffered(T,M)||this.setBufferingItem(T);let Z=this.preloadAssets(N,i);if(this.eventItemsMatch(T,j||u)||(this.waitingItem=T,this.log(`INTERSTITIAL_STARTED ${Kn(T)} ${N.appendInPlace?"append in place":""}`),this.hls.trigger(y.INTERSTITIAL_STARTED,{event:N,schedule:t.slice(0),scheduleIndex:e})),!N.assetListLoaded){this.log(`Waiting for ASSET-LIST to complete loading ${N}`);return}if(N.assetListLoader&&(N.assetListLoader.destroy(),N.assetListLoader=void 0),!M){this.log(`Waiting for attachMedia to start Interstitial ${N}`);return}this.waitingItem=this.endedItem=null,this.playingItem=T;const J=N.assetList[i];if(!J){const re=t[e+1],ie=this.media;re&&ie&&!this.isInterstitial(re)&&ie.currentTime<re.start&&(ie.currentTime=this.timelinePos=re.start),this.advanceAfterAssetEnded(N,e,i||0);return}if(Z||(Z=this.getAssetPlayer(J.identifier)),Z===null||Z.destroyed){const re=N.assetList.length;this.warn(`asset ${i+1}/${re} player destroyed ${N}`),Z=this.createAssetPlayer(N,J,i)}if(!this.eventItemsMatch(T,this.bufferingItem)&&N.appendInPlace&&this.isAssetBuffered(J))return;this.startAssetPlayer(Z,i,t,e,M),this.shouldPlay&&yo(Z.media)}else T!==null?(this.resumePrimary(T,e,u),this.shouldPlay&&yo(this.hls.media)):v&&this.isInterstitial(u)&&(this.endedItem=null,this.playingItem=u,u.event.appendInPlace||this.attachPrimary(this.schedule.durations.primary,null))}get playbackDisabled(){return this.hls.config.enableInterstitialPlayback===!1}get primaryDetails(){var e,t;return(e=this.mediaSelection)==null||(t=e.main)==null?void 0:t.details}get primaryLive(){var e;return!!((e=this.primaryDetails)!=null&&e.live)}resumePrimary(e,t,i){var u;if(this.playingItem=e,this.playingAsset=this.endedAsset=null,this.waitingItem=this.endedItem=null,this.bufferedToItem(e),this.log(`resuming ${Kn(e)}`),!((u=this.detachedData)!=null&&u.mediaSource)){let T=this.timelinePos;(T<e.start||T>=e.end)&&(T=this.getPrimaryResumption(e,t),this.timelinePos=T),this.attachPrimary(T,e)}if(!i)return;const v=this.schedule.items;v&&(this.log(`INTERSTITIALS_PRIMARY_RESUMED ${Kn(e)}`),this.hls.trigger(y.INTERSTITIALS_PRIMARY_RESUMED,{schedule:v.slice(0),scheduleIndex:t}),this.checkBuffer())}getPrimaryResumption(e,t){const i=e.start;if(this.primaryLive){const u=this.primaryDetails;if(t===0)return this.hls.startPosition;if(u&&(i<u.fragmentStart||i>u.edge))return this.hls.liveSyncPosition||-1}return i}isAssetBuffered(e){const t=this.getAssetPlayer(e.identifier);return t!=null&&t.hls?t.hls.bufferedToEnd:fr.bufferInfo(this.primaryMedia,this.timelinePos,0).end+1>=e.timelineStart+(e.duration||0)}attachPrimary(e,t,i){t?this.setBufferingItem(t):this.bufferingItem=this.playingItem,this.bufferingAsset=null;const u=this.primaryMedia;if(!u)return;const v=this.hls;v.media?this.checkBuffer():(this.transferMediaTo(v,u),i&&this.startLoadingPrimaryAt(e,i)),i||(this.timelinePos=e,this.startLoadingPrimaryAt(e,i))}startLoadingPrimaryAt(e,t){var i;const u=this.hls;!u.loadingEnabled||!u.media||Math.abs((((i=u.mainForwardBufferInfo)==null?void 0:i.start)||u.media.currentTime)-e)>.5?u.startLoad(e,t):u.bufferingEnabled||u.resumeBuffering()}onManifestLoading(){this.stopLoad(),this.schedule.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(y.BUFFER_CODECS,this.onBufferCodecs,this),this.hls.on(y.BUFFER_CODECS,this.onBufferCodecs,this)}onLevelUpdated(e,t){if(t.level===-1)return;const i=this.hls.levels[t.level],u=n(n({},this.mediaSelection||this.altSelection),{},{main:i});this.mediaSelection=u,this.schedule.parseInterstitialDateRanges(u,this.hls.config.interstitialAppendInPlace),!this.effectivePlayingItem&&this.schedule.items&&this.checkStart()}onAudioTrackUpdated(e,t){const i=this.hls.audioTracks[t.id],u=this.mediaSelection;if(!u){this.altSelection=n(n({},this.altSelection),{},{audio:i});return}const v=n(n({},u),{},{audio:i});this.mediaSelection=v}onSubtitleTrackUpdated(e,t){const i=this.hls.subtitleTracks[t.id],u=this.mediaSelection;if(!u){this.altSelection=n(n({},this.altSelection),{},{subtitles:i});return}const v=n(n({},u),{},{subtitles:i});this.mediaSelection=v}onAudioTrackSwitching(e,t){const i=Ae(t);this.playerQueue.forEach(u=>u.hls.setAudioOption(t)||u.hls.setAudioOption(i))}onSubtitleTrackSwitch(e,t){const i=Ae(t);this.playerQueue.forEach(u=>u.hls.setSubtitleOption(t)||t.id!==-1&&u.hls.setSubtitleOption(i))}onBufferCodecs(e,t){const i=t.tracks;i&&(this.requiredTracks=i)}onBufferAppended(e,t){this.checkBuffer()}onBufferFlushed(e,t){const i=this.playingItem;if(i&&!this.itemsMatch(i,this.bufferingItem)&&!this.isInterstitial(i)){const u=this.timelinePos;this.bufferedPos=u,this.checkBuffer()}}onBufferedToEnd(e){const t=this.schedule.events;if(this.bufferedPos<Number.MAX_VALUE&&t){for(let u=0;u<t.length;u++){const v=t[u];if(v.cue.post){var i;const T=this.schedule.findEventIndex(v.identifier),M=(i=this.schedule.items)==null?void 0:i[T];this.isInterstitial(M)&&this.eventItemsMatch(M,this.bufferingItem)&&this.bufferedToItem(M,0);break}}this.bufferedPos=Number.MAX_VALUE}}onMediaEnded(e){const t=this.playingItem;if(!this.playingLastItem&&t){const i=this.findItemIndex(t);this.setSchedulePosition(i+1)}else this.shouldPlay=!1}updateItem(e,t){const i=this.schedule.items;if(e&&i){const u=this.findItemIndex(e,t);return i[u]||null}return null}trimInPlace(e,t){if(this.isInterstitial(e)&&e.event.appendInPlace&&t.end-e.end>.25){e.event.assetList.forEach((v,T)=>{e.event.isAssetPastPlayoutLimit(T)&&this.clearAssetPlayer(v.identifier,null)});const i=e.end+.25,u=fr.bufferInfo(this.primaryMedia,i,0);(u.end>i||(u.nextStart||0)>i)&&(this.attachPrimary(i,null),this.flushFrontBuffer(i))}}itemsMatch(e,t){return!!t&&(e===t||e.event&&t.event&&this.eventItemsMatch(e,t)||!e.event&&!t.event&&this.findItemIndex(e)===this.findItemIndex(t))}eventItemsMatch(e,t){var i;return!!t&&(e===t||e.event.identifier===((i=t.event)==null?void 0:i.identifier))}findItemIndex(e,t){return e?this.schedule.findItemIndex(e,t):-1}updateSchedule(){const e=this.mediaSelection;e&&this.schedule.updateSchedule(e,[])}checkBuffer(e){const t=this.schedule.items;if(!t)return;const i=fr.bufferInfo(this.primaryMedia,this.timelinePos,0);e&&(this.bufferedPos=this.timelinePos),e||(e=i.len<1),this.updateBufferedPos(i.end,t,e)}updateBufferedPos(e,t,i){const u=this.schedule,v=this.bufferingItem;if(this.bufferedPos>e)return;if(t.length===1&&this.itemsMatch(t[0],v)){this.bufferedPos=e;return}const T=this.playingItem,M=this.findItemIndex(T);let W=u.findItemIndexAtTime(e);if(this.bufferedPos<e){var N,j;const Z=this.findItemIndex(v),J=Math.min(Z+1,t.length-1),re=t[J];if((W===-1&&v&&e>=v.end||(N=re.event)!=null&&N.appendInPlace&&e+.01>=re.start)&&(W=J),J-M>1&&(v==null||(j=v.event)==null?void 0:j.appendInPlace)===!1)return;if(this.bufferedPos=e,W>Z&&W>M)this.bufferedToItem(re);else{const ie=this.primaryDetails;this.primaryLive&&ie&&e>ie.edge-ie.targetduration&&re.start<ie.edge+this.hls.config.interstitialLiveLookAhead&&this.isInterstitial(re)&&this.preloadAssets(re.event,0)}}else i&&T&&!this.itemsMatch(T,v)&&(W===M?this.bufferedToItem(T):W===M+1&&this.bufferedToItem(t[W]))}assetsBuffered(e,t){return e.event.assetList.length===0?!1:!e.event.assetList.some(u=>{const v=this.getAssetPlayer(u.identifier);return!(v!=null&&v.bufferedInPlaceToEnd(t))})}setBufferingItem(e){const t=this.bufferingItem,i=this.schedule;if(this.itemsMatch(e,t))this.bufferingItem!==e&&(this.bufferingItem=e);else{const{items:u,events:v}=i;if(!u||!v)return t;const T=this.isInterstitial(e),M=this.getBufferingPlayer();this.bufferingItem=e,this.bufferedPos=Math.max(e.start,Math.min(e.end,this.timelinePos));const W=M?M.remaining:t?t.end-this.timelinePos:0;this.log(`INTERSTITIALS_BUFFERED_TO_BOUNDARY ${Kn(e)}`+(t?` (${W.toFixed(2)} remaining)`:"")),this.playbackDisabled||(T?e.event.assetList.forEach(N=>{const j=this.getAssetPlayer(N.identifier);j&&j.resumeBuffering()}):(this.hls.resumeBuffering(),this.playerQueue.forEach(N=>N.pauseBuffering()))),this.hls.trigger(y.INTERSTITIALS_BUFFERED_TO_BOUNDARY,{events:v.slice(0),schedule:u.slice(0),bufferingIndex:this.findItemIndex(e),playingIndex:this.findItemIndex(this.playingItem)})}return t}bufferedToItem(e,t=0){const i=this.setBufferingItem(e);if(!this.playbackDisabled){if(this.isInterstitial(e))this.bufferedToEvent(e,t);else if(i!==null){this.bufferingAsset=null;const u=this.detachedData;u?u.mediaSource?this.attachPrimary(e.start,e,!0):this.preloadPrimary(e):this.preloadPrimary(e)}}}preloadPrimary(e){const t=this.findItemIndex(e),i=this.getPrimaryResumption(e,t);this.startLoadingPrimaryAt(i)}bufferedToEvent(e,t){const i=e.event,u=i.assetList.length===0&&!i.assetListLoader,v=i.cue.once;if(u||!v){const T=this.preloadAssets(i,t);if(T!=null&&T.interstitial.appendInPlace){const M=i.assetList[t],W=this.primaryMedia;M&&W&&this.bufferAssetPlayer(T,W)}}}preloadAssets(e,t){const i=e.assetUrl,u=e.assetList.length,v=u===0&&!e.assetListLoader,T=e.cue.once;if(v){const W=e.timelineStart;if(e.appendInPlace){var M;const J=this.playingItem;!this.isInterstitial(J)&&(J==null||(M=J.nextEvent)==null?void 0:M.identifier)===e.identifier&&this.flushFrontBuffer(W+.25)}let N,j=0;if(!this.playingItem&&this.primaryLive&&(j=this.hls.startPosition,j===-1&&(j=this.hls.liveSyncPosition||0)),j&&!(e.cue.pre||e.cue.post)){const J=j-W;J>0&&(N=Math.round(J*1e3)/1e3)}if(this.log(`Load interstitial asset ${t+1}/${i?1:u} ${e}${N?` live-start: ${j} start-offset: ${N}`:""}`),i)return this.createAsset(e,0,0,W,e.duration,i);const Z=this.assetListLoader.loadAssetList(e,N);Z&&(e.assetListLoader=Z)}else if(!T&&u){for(let W=t;W<u;W++){const N=e.assetList[W],j=this.getAssetPlayerQueueIndex(N.identifier);(j===-1||this.playerQueue[j].destroyed)&&!N.error&&this.createAssetPlayer(e,N,W)}return this.getAssetPlayer(e.assetList[t].identifier)}return null}flushFrontBuffer(e){const t=this.requiredTracks;if(!t)return;this.log(`Removing front buffer starting at ${e}`),Object.keys(t).forEach(u=>{this.hls.trigger(y.BUFFER_FLUSHING,{startOffset:e,endOffset:1/0,type:u})})}getAssetPlayerQueueIndex(e){const t=this.playerQueue;for(let i=0;i<t.length;i++)if(e===t[i].assetId)return i;return-1}getAssetPlayer(e){const t=this.getAssetPlayerQueueIndex(e);return this.playerQueue[t]||null}getBufferingPlayer(){const{playerQueue:e,primaryMedia:t}=this;if(t){for(let i=0;i<e.length;i++)if(e[i].media===t)return e[i]}return null}createAsset(e,t,i,u,v,T){const M={parentIdentifier:e.identifier,identifier:Vu(e,T,t),duration:v,startOffset:i,timelineStart:u,uri:T};return this.createAssetPlayer(e,M,t)}createAssetPlayer(e,t,i){const u=this.hls,v=u.userConfig;let T=v.videoPreference;const M=u.loadLevelObj||u.levels[u.currentLevel];(T||M)&&(T=l({},T),M.videoCodec&&(T.videoCodec=M.videoCodec),M.videoRange&&(T.allowedVideoRanges=[M.videoRange]));const W=u.audioTracks[u.audioTrack],N=u.subtitleTracks[u.subtitleTrack];let j=0;if(this.primaryLive||e.appendInPlace){const Me=this.timelinePos-t.timelineStart;if(Me>1){const Ze=t.duration;Ze&&Me<Ze&&(j=Me)}}const Z=t.identifier,J=n(n({},v),{},{autoStartLoad:!0,startFragPrefetch:!0,primarySessionId:u.sessionId,assetPlayerId:Z,abrEwmaDefaultEstimate:u.bandwidthEstimate,interstitialsController:void 0,startPosition:j,liveDurationInfinity:!1,testBandwidth:!1,videoPreference:T,audioPreference:W||v.audioPreference,subtitlePreference:N||v.subtitlePreference});e.appendInPlace&&(e.appendInPlaceStarted=!0,t.timelineStart&&(J.timelineOffset=t.timelineStart));const re=J.cmcd;re!=null&&re.sessionId&&re.contentId&&(J.cmcd=l({},re,{contentId:xa(t.uri)})),this.getAssetPlayer(Z)&&this.warn(`Duplicate date range identifier ${e} and asset ${Z}`);const ie=new ju(this.HlsPlayerClass,J,e,t);this.playerQueue.push(ie),e.assetList[i]=t;const pe=Me=>{if(Me.live){const Pt=new Error(`Interstitials MUST be VOD assets ${e}`),it={fatal:!0,type:S.OTHER_ERROR,details:K.INTERSTITIAL_ASSET_ITEM_ERROR,error:Pt};this.handleAssetItemError(it,e,this.schedule.findEventIndex(e.identifier),i,Pt.message);return}const Ze=Me.edge-Me.fragmentStart,ot=t.duration;(ot===null||Ze>ot)&&(this.log(`Interstitial asset "${Z}" duration change ${ot} > ${Ze}`),t.duration=Ze,this.updateSchedule())};ie.on(y.LEVEL_UPDATED,(Me,{details:Ze})=>pe(Ze)),ie.on(y.LEVEL_PTS_UPDATED,(Me,{details:Ze})=>pe(Ze));const _e=(Me,Ze)=>{const ot=this.getAssetPlayer(Z);if(ot&&Ze.tracks){ot.off(y.BUFFER_CODECS,_e),ot.tracks=Ze.tracks;const Pt=this.primaryMedia;this.bufferingAsset===ot.assetItem&&Pt&&!ot.media&&this.bufferAssetPlayer(ot,Pt)}};ie.on(y.BUFFER_CODECS,_e);const Se=()=>{var Me;const Ze=this.getAssetPlayer(Z);if(this.log(`buffered to end of asset ${Ze}`),!Ze)return;const ot=this.schedule.findEventIndex(e.identifier),Pt=(Me=this.schedule.items)==null?void 0:Me[ot];if(this.isInterstitial(Pt)){const _t=e.findAssetIndex(t),Et=fs(e,_t);if(!e.isAssetPastPlayoutLimit(Et))this.bufferedToItem(Pt,Et);else{var it;const qe=(it=this.schedule.items)==null?void 0:it[ot+1];qe&&this.bufferedToItem(qe)}}};ie.on(y.BUFFERED_TO_END,Se);const ke=Me=>()=>{if(!this.getAssetPlayer(Z))return;this.shouldPlay=!0;const ot=this.schedule.findEventIndex(e.identifier);this.advanceAfterAssetEnded(e,ot,Me)};return ie.once(y.MEDIA_ENDED,ke(i)),ie.once(y.PLAYOUT_LIMIT_REACHED,ke(1/0)),ie.on(y.ERROR,(Me,Ze)=>{const ot=this.getAssetPlayer(Z);if(Ze.details===K.BUFFER_STALLED_ERROR){if(ot!=null&&ot.media){const Pt=ot.currentTime,it=ot.duration-Pt;Pt&&e.appendInPlace&&it/ot.media.playbackRate<.5?(this.log(`Advancing buffer past end of asset ${Z} ${e} at ${ot.media.currentTime}`),Se()):(this.warn(`Stalled at ${Pt} of ${Pt+it} in asset ${Z} ${e}`),this.onTimeupdate(),this.checkBuffer(!0))}return}this.handleAssetItemError(Ze,e,this.schedule.findEventIndex(e.identifier),i,`Asset player error ${Ze.error} ${e}`)}),ie.on(y.DESTROYING,()=>{if(!this.getAssetPlayer(Z))return;const Ze=new Error(`Asset player destroyed unexpectedly ${Z}`),ot={fatal:!0,type:S.OTHER_ERROR,details:K.INTERSTITIAL_ASSET_ITEM_ERROR,error:Ze};this.handleAssetItemError(ot,e,this.schedule.findEventIndex(e.identifier),i,Ze.message)}),this.log(`INTERSTITIAL_ASSET_PLAYER_CREATED ${ca(t)}`),this.hls.trigger(y.INTERSTITIAL_ASSET_PLAYER_CREATED,{asset:t,assetListIndex:i,event:e,player:ie}),ie}clearInterstitial(e,t){e.assetList.forEach(i=>{this.clearAssetPlayer(i.identifier,t)}),e.reset()}resetAssetPlayer(e){const t=this.getAssetPlayerQueueIndex(e);if(t!==-1){this.log(`reset asset player "${e}" after error`);const i=this.playerQueue[t];this.transferMediaFromPlayer(i,null),i.resetDetails()}}clearAssetPlayer(e,t){const i=this.getAssetPlayerQueueIndex(e);if(i!==-1){this.log(`clear asset player "${e}" toSegment: ${t&&Kn(t)}`);const u=this.playerQueue[i];this.transferMediaFromPlayer(u,t),this.playerQueue.splice(i,1),u.destroy()}}emptyPlayerQueue(){let e;for(;e=this.playerQueue.pop();)e.destroy();this.playerQueue=[]}startAssetPlayer(e,t,i,u,v){const{interstitial:T,assetItem:M,assetId:W}=e,N=T.assetList.length,j=this.playingAsset;this.endedAsset=null,this.playingAsset=M,(!j||j.identifier!==W)&&(j&&(this.clearAssetPlayer(j.identifier,i[u]),delete j.error),this.log(`INTERSTITIAL_ASSET_STARTED ${t+1}/${N} ${ca(M)}`),this.hls.trigger(y.INTERSTITIAL_ASSET_STARTED,{asset:M,assetListIndex:t,event:T,schedule:i.slice(0),scheduleIndex:u,player:e})),this.bufferAssetPlayer(e,v)}bufferAssetPlayer(e,t){var i,u;const{interstitial:v,assetItem:T}=e,M=this.schedule.findEventIndex(v.identifier),W=(i=this.schedule.items)==null?void 0:i[M];if(!W)return;this.setBufferingItem(W),this.bufferingAsset=T;const N=this.getBufferingPlayer();if(N===e)return;const j=v.appendInPlace;if(j&&(N==null?void 0:N.interstitial.appendInPlace)===!1)return;const Z=(N==null?void 0:N.tracks)||((u=this.detachedData)==null?void 0:u.tracks)||this.requiredTracks;if(j&&T!==this.playingAsset){if(!e.tracks)return;if(Z&&!O(Z,e.tracks)){const J=new Error(`Asset ${ca(T)} SourceBuffer tracks ('${Object.keys(e.tracks)}') are not compatible with primary content tracks ('${Object.keys(Z)}')`),re={fatal:!0,type:S.OTHER_ERROR,details:K.INTERSTITIAL_ASSET_ITEM_ERROR,error:J},ie=v.findAssetIndex(T);this.handleAssetItemError(re,v,M,ie,J.message);return}}this.transferMediaTo(e,t)}handleAssetItemError(e,t,i,u,v){if(e.details===K.BUFFER_STALLED_ERROR)return;const T=t.assetList[u];this.warn(`INTERSTITIAL_ASSET_ERROR ${T&&ca(T)} ${e.error}`);const M=T==null?void 0:T.identifier,W=this.getAssetPlayerQueueIndex(M),N=this.playerQueue[W]||null,j=this.schedule.items,Z=l({},e,{fatal:!1,errorAction:Qr(!0),asset:T,assetListIndex:u,event:t,schedule:j,scheduleIndex:i,player:N});if(this.hls.trigger(y.INTERSTITIAL_ASSET_ERROR,Z),!e.fatal)return;const J=this.playingAsset,re=new Error(v);if(T&&(this.clearAssetPlayer(M,null),T.error=re),!t.assetList.some(ie=>!ie.error))t.error=re;else{for(let ie=u;ie<t.assetList.length;ie++)this.resetAssetPlayer(t.assetList[ie].identifier);this.updateSchedule()}t.error?this.primaryFallback(t):J&&J.identifier===M&&this.advanceAfterAssetEnded(t,i,u)}primaryFallback(e){const t=e.timelineStart,i=this.effectivePlayingItem;if(this.updateSchedule(),i){this.log(`Fallback to primary from event "${e.identifier}" start: ${t} pos: ${this.timelinePos} playing: ${i?Kn(i):"<none>"} error: ${e.error}`);let u=this.timelinePos;u===-1&&(u=this.hls.startPosition);const v=this.updateItem(i,u);this.itemsMatch(i,v)&&this.clearInterstitial(e,null),e.appendInPlace&&(this.attachPrimary(t,null),this.flushFrontBuffer(t));const T=this.schedule.findItemIndexAtTime(u);this.setSchedulePosition(T)}else this.checkStart()}onAssetListLoaded(e,t){var i;const u=t.event,v=u.identifier,T=t.assetListResponse.ASSETS;if(!this.schedule.hasEvent(v))return;const M=u.timelineStart,W=u.duration;let N=0;T.forEach((ie,pe)=>{const _e=parseFloat(ie.DURATION);this.createAsset(u,pe,N,M+N,_e,ie.URI),N+=_e}),u.duration=N,this.log(`Loaded asset-list with duration: ${N} (was: ${W}) ${u}`);const j=this.waitingItem,Z=(j==null?void 0:j.event.identifier)===v;this.updateSchedule();const J=(i=this.bufferingItem)==null?void 0:i.event;if(Z){var re;const ie=this.schedule.findEventIndex(v),pe=(re=this.schedule.items)==null?void 0:re[ie];if(pe){if(!this.playingItem&&this.timelinePos>pe.end&&this.schedule.findItemIndexAtTime(this.timelinePos)!==ie){u.error=new Error(`Interstitial no longer within playback range ${this.timelinePos} ${u}`),this.primaryFallback(u);return}this.setBufferingItem(pe)}this.setSchedulePosition(ie)}else if((J==null?void 0:J.identifier)===v&&J.appendInPlace){const ie=u.assetList[0],pe=this.getAssetPlayer(ie.identifier),_e=this.primaryMedia;ie&&pe&&_e&&this.bufferAssetPlayer(pe,_e)}}onError(e,t){switch(t.details){case K.ASSET_LIST_PARSING_ERROR:case K.ASSET_LIST_LOAD_ERROR:case K.ASSET_LIST_LOAD_TIMEOUT:{const i=t.interstitial;i&&this.primaryFallback(i);break}case K.BUFFER_STALLED_ERROR:{this.onTimeupdate(),this.checkBuffer(!0);break}}}}const Eo=500;class $u extends gi{constructor(e,t,i){super(e,t,i,"subtitle-stream-controller",A.SUBTITLE),this.currentTrackId=-1,this.tracksBuffered=[],this.mainDetails=null,this.registerListeners()}onHandlerDestroying(){this.unregisterListeners(),super.onHandlerDestroying(),this.mainDetails=null}registerListeners(){super.registerListeners();const{hls:e}=this;e.on(y.LEVEL_LOADED,this.onLevelLoaded,this),e.on(y.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.on(y.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.on(y.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.on(y.SUBTITLE_FRAG_PROCESSED,this.onSubtitleFragProcessed,this),e.on(y.BUFFER_FLUSHING,this.onBufferFlushing,this)}unregisterListeners(){super.unregisterListeners();const{hls:e}=this;e.off(y.LEVEL_LOADED,this.onLevelLoaded,this),e.off(y.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.off(y.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.off(y.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.off(y.SUBTITLE_FRAG_PROCESSED,this.onSubtitleFragProcessed,this),e.off(y.BUFFER_FLUSHING,this.onBufferFlushing,this)}startLoad(e,t){this.stopLoad(),this.state=wt.IDLE,this.setInterval(Eo),this.nextLoadPosition=this.lastCurrentTime=e+this.timelineOffset,this.startPosition=t?-1:e,this.tick()}onManifestLoading(){super.onManifestLoading(),this.mainDetails=null}onMediaDetaching(e,t){this.tracksBuffered=[],super.onMediaDetaching(e,t)}onLevelLoaded(e,t){this.mainDetails=t.details}onSubtitleFragProcessed(e,t){const{frag:i,success:u}=t;if(this.fragContextChanged(i)||(q(i)&&(this.fragPrevious=i),this.state=wt.IDLE),!u)return;const v=this.tracksBuffered[this.currentTrackId];if(!v)return;let T;const M=i.start;for(let N=0;N<v.length;N++)if(M>=v[N].start&&M<=v[N].end){T=v[N];break}const W=i.start+i.duration;T?T.end=W:(T={start:M,end:W},v.push(T)),this.fragmentTracker.fragBuffered(i),this.fragBufferedComplete(i,null),this.media&&this.tick()}onBufferFlushing(e,t){const{startOffset:i,endOffset:u}=t;if(i===0&&u!==Number.POSITIVE_INFINITY){const v=u-1;if(v<=0)return;t.endOffsetSubtitles=Math.max(0,v),this.tracksBuffered.forEach(T=>{for(let M=0;M<T.length;){if(T[M].end<=v){T.shift();continue}else if(T[M].start<v)T[M].start=v;else break;M++}}),this.fragmentTracker.removeFragmentsInRange(i,v,A.SUBTITLE)}}onError(e,t){const i=t.frag;(i==null?void 0:i.type)===A.SUBTITLE&&(t.details===K.FRAG_GAP&&this.fragmentTracker.fragBuffered(i,!0),this.fragCurrent&&this.fragCurrent.abortRequests(),this.state!==wt.STOPPED&&(this.state=wt.IDLE))}onSubtitleTracksUpdated(e,{subtitleTracks:t}){if(this.levels&&eo(this.levels,t)){this.levels=t.map(i=>new He(i));return}this.tracksBuffered=[],this.levels=t.map(i=>{const u=new He(i);return this.tracksBuffered[u.id]=[],u}),this.fragmentTracker.removeFragmentsInRange(0,Number.POSITIVE_INFINITY,A.SUBTITLE),this.fragPrevious=null,this.mediaBuffer=null}onSubtitleTrackSwitch(e,t){var i;if(this.currentTrackId=t.id,!((i=this.levels)!=null&&i.length)||this.currentTrackId===-1){this.clearInterval();return}const u=this.levels[this.currentTrackId];u!=null&&u.details?this.mediaBuffer=this.mediaBufferTimeRanges:this.mediaBuffer=null,u&&this.state!==wt.STOPPED&&this.setInterval(Eo)}onSubtitleTrackLoaded(e,t){var i;const{currentTrackId:u,levels:v}=this,{details:T,id:M}=t;if(!v){this.warn(`Subtitle tracks were reset while loading level ${M}`);return}const W=v[M];if(M>=v.length||!W)return;this.log(`Subtitle track ${M} loaded [${T.startSN},${T.endSN}]${T.lastPartSn?`[part-${T.lastPartSn}-${T.lastPartIndex}]`:""},duration:${T.totalduration}`),this.mediaBuffer=this.mediaBufferTimeRanges;let N=0;if(T.live||(i=W.details)!=null&&i.live){if(T.deltaUpdateFailed)return;const Z=this.mainDetails;if(!Z){this.startFragRequested=!1;return}const J=Z.fragments[0];if(!W.details)T.hasProgramDateTime&&Z.hasProgramDateTime?(ta(T,Z),N=T.fragmentStart):J&&(N=J.start,Yr(T,N));else{var j;N=this.alignPlaylists(T,W.details,(j=this.levelLastLoaded)==null?void 0:j.details),N===0&&J&&(N=J.start,Yr(T,N))}Z&&!this.startFragRequested&&this.setStartPosition(Z,N)}W.details=T,this.levelLastLoaded=W,M===u&&(this.hls.trigger(y.SUBTITLE_TRACK_UPDATED,{details:T,id:M,groupId:t.groupId}),this.tick(),T.live&&!this.fragCurrent&&this.media&&this.state===wt.IDLE&&(Zt(null,T.fragments,this.media.currentTime,0)||(this.warn("Subtitle playlist not aligned with playback"),W.details=void 0)))}_handleFragmentLoadComplete(e){const{frag:t,payload:i}=e,u=t.decryptdata,v=this.hls;if(!this.fragContextChanged(t)&&i&&i.byteLength>0&&u!=null&&u.key&&u.iv&&Fi(u.method)){const T=performance.now();this.decrypter.decrypt(new Uint8Array(i),u.key.buffer,u.iv.buffer,Ki(u.method)).catch(M=>{throw v.trigger(y.ERROR,{type:S.MEDIA_ERROR,details:K.FRAG_DECRYPT_ERROR,fatal:!1,error:M,reason:M.message,frag:t}),M}).then(M=>{const W=performance.now();v.trigger(y.FRAG_DECRYPTED,{frag:t,payload:M,stats:{tstart:T,tdecrypt:W}})}).catch(M=>{this.warn(`${M.name}: ${M.message}`),this.state=wt.IDLE})}}doTick(){if(!this.media){this.state=wt.IDLE;return}if(this.state===wt.IDLE){const{currentTrackId:e,levels:t}=this,i=t==null?void 0:t[e];if(!i||!t.length||!i.details||this.waitForLive(i))return;const{config:u}=this,v=this.getLoadPosition(),T=fr.bufferedInfo(this.tracksBuffered[this.currentTrackId]||[],v,u.maxBufferHole),{end:M,len:W}=T,N=i.details,j=this.hls.maxBufferLength+N.levelTargetDuration;if(W>j)return;const Z=N.fragments,J=Z.length,re=N.edge;let ie=null;const pe=this.fragPrevious;if(M<re){const ke=u.maxFragLookUpTolerance,Me=M>re-ke?0:ke;ie=Zt(pe,Z,Math.max(Z[0].start,M),Me),!ie&&pe&&pe.start<Z[0].start&&(ie=Z[0])}else ie=Z[J-1];if(ie=this.filterReplacedPrimary(ie,i.details),!ie)return;const _e=ie.sn-N.startSN,Se=Z[_e-1];if(Se&&Se.cc===ie.cc&&this.fragmentTracker.getState(Se)===xr.NOT_LOADED&&(ie=Se),this.fragmentTracker.getState(ie)===xr.NOT_LOADED){const ke=this.mapToInitFragWhenRequired(ie);ke&&this.loadFragment(ke,i,M)}}}loadFragment(e,t,i){q(e)?super.loadFragment(e,t,i):this._loadInitSegment(e,t)}get mediaBufferTimeRanges(){return new Qu(this.tracksBuffered[this.currentTrackId]||[])}}class Qu{constructor(e){this.buffered=void 0;const t=(i,u,v)=>{if(u=u>>>0,u>v-1)throw new DOMException(`Failed to execute '${i}' on 'TimeRanges': The index provided (${u}) is greater than the maximum bound (${v})`);return e[u][i]};this.buffered={get length(){return e.length},end(i){return t("end",i,e.length)},start(i){return t("start",i,e.length)}}}}const Ju={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},xo=D=>String.fromCharCode(Ju[D]||D),An=15,Mn=100,qu={17:1,18:3,21:5,22:7,23:9,16:11,19:12,20:14},ec={17:2,18:4,21:6,22:8,23:10,19:13,20:15},tc={25:1,26:3,29:5,30:7,31:9,24:11,27:12,28:14},rc={25:2,26:4,29:6,30:8,31:10,27:13,28:15},ic=["white","green","blue","cyan","red","yellow","magenta","black","transparent"];class nc{constructor(){this.time=null,this.verboseLevel=0}log(e,t){if(this.verboseLevel>=e){const i=typeof t=="function"?t():t;b.log(`${this.time} [${e}] ${i}`)}}}const Zn=function(e){const t=[];for(let i=0;i<e.length;i++)t.push(e[i].toString(16));return t};class To{constructor(){this.foreground="white",this.underline=!1,this.italics=!1,this.background="black",this.flash=!1}reset(){this.foreground="white",this.underline=!1,this.italics=!1,this.background="black",this.flash=!1}setStyles(e){const t=["foreground","underline","italics","background","flash"];for(let i=0;i<t.length;i++){const u=t[i];e.hasOwnProperty(u)&&(this[u]=e[u])}}isDefault(){return this.foreground==="white"&&!this.underline&&!this.italics&&this.background==="black"&&!this.flash}equals(e){return this.foreground===e.foreground&&this.underline===e.underline&&this.italics===e.italics&&this.background===e.background&&this.flash===e.flash}copy(e){this.foreground=e.foreground,this.underline=e.underline,this.italics=e.italics,this.background=e.background,this.flash=e.flash}toString(){return"color="+this.foreground+", underline="+this.underline+", italics="+this.italics+", background="+this.background+", flash="+this.flash}}class ac{constructor(){this.uchar=" ",this.penState=new To}reset(){this.uchar=" ",this.penState.reset()}setChar(e,t){this.uchar=e,this.penState.copy(t)}setPenState(e){this.penState.copy(e)}equals(e){return this.uchar===e.uchar&&this.penState.equals(e.penState)}copy(e){this.uchar=e.uchar,this.penState.copy(e.penState)}isEmpty(){return this.uchar===" "&&this.penState.isDefault()}}class sc{constructor(e){this.chars=[],this.pos=0,this.currPenState=new To,this.cueStartTime=null,this.logger=void 0;for(let t=0;t<Mn;t++)this.chars.push(new ac);this.logger=e}equals(e){for(let t=0;t<Mn;t++)if(!this.chars[t].equals(e.chars[t]))return!1;return!0}copy(e){for(let t=0;t<Mn;t++)this.chars[t].copy(e.chars[t])}isEmpty(){let e=!0;for(let t=0;t<Mn;t++)if(!this.chars[t].isEmpty()){e=!1;break}return e}setCursor(e){this.pos!==e&&(this.pos=e),this.pos<0?(this.logger.log(3,"Negative cursor position "+this.pos),this.pos=0):this.pos>Mn&&(this.logger.log(3,"Too large cursor position "+this.pos),this.pos=Mn)}moveCursor(e){const t=this.pos+e;if(e>1)for(let i=this.pos+1;i<t+1;i++)this.chars[i].setPenState(this.currPenState);this.setCursor(t)}backSpace(){this.moveCursor(-1),this.chars[this.pos].setChar(" ",this.currPenState)}insertChar(e){e>=144&&this.backSpace();const t=xo(e);if(this.pos>=Mn){this.logger.log(0,()=>"Cannot insert "+e.toString(16)+" ("+t+") at position "+this.pos+". Skipping it!");return}this.chars[this.pos].setChar(t,this.currPenState),this.moveCursor(1)}clearFromPos(e){let t;for(t=e;t<Mn;t++)this.chars[t].reset()}clear(){this.clearFromPos(0),this.pos=0,this.currPenState.reset()}clearToEndOfRow(){this.clearFromPos(this.pos)}getTextString(){const e=[];let t=!0;for(let i=0;i<Mn;i++){const u=this.chars[i].uchar;u!==" "&&(t=!1),e.push(u)}return t?"":e.join("")}setPenStyles(e){this.currPenState.setStyles(e),this.chars[this.pos].setPenState(this.currPenState)}}class ds{constructor(e){this.rows=[],this.currRow=An-1,this.nrRollUpRows=null,this.lastOutputScreen=null,this.logger=void 0;for(let t=0;t<An;t++)this.rows.push(new sc(e));this.logger=e}reset(){for(let e=0;e<An;e++)this.rows[e].clear();this.currRow=An-1}equals(e){let t=!0;for(let i=0;i<An;i++)if(!this.rows[i].equals(e.rows[i])){t=!1;break}return t}copy(e){for(let t=0;t<An;t++)this.rows[t].copy(e.rows[t])}isEmpty(){let e=!0;for(let t=0;t<An;t++)if(!this.rows[t].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 = "+gt(e));let t=e.row-1;if(this.nrRollUpRows&&t<this.nrRollUpRows-1&&(t=this.nrRollUpRows-1),this.nrRollUpRows&&this.currRow!==t){for(let M=0;M<An;M++)this.rows[M].clear();const v=this.currRow+1-this.nrRollUpRows,T=this.lastOutputScreen;if(T){const M=T.rows[v].cueStartTime,W=this.logger.time;if(M!==null&&W!==null&&M<W)for(let N=0;N<this.nrRollUpRows;N++)this.rows[t-this.nrRollUpRows+N+1].copy(T.rows[v+N])}}this.currRow=t;const i=this.rows[this.currRow];if(e.indent!==null){const v=e.indent,T=Math.max(v-1,0);i.setCursor(e.indent),e.color=i.chars[T].penState.foreground}const u={foreground:e.color,underline:e.underline,italics:e.italics,background:"black",flash:!1};this.setPen(u)}setBkgData(e){this.logger.log(2,()=>"bkgData = "+gt(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());const e=this.currRow+1-this.nrRollUpRows,t=this.rows.splice(e,1)[0];t.clear(),this.rows.splice(this.currRow,0,t),this.logger.log(2,"Rolling up")}getDisplayText(e){e=e||!1;const t=[];let i="",u=-1;for(let v=0;v<An;v++){const T=this.rows[v].getTextString();T&&(u=v+1,e?t.push("Row "+u+": '"+T+"'"):t.push(T.trim()))}return t.length>0&&(e?i="["+t.join(" | ")+"]":i=t.join(`
`)),i}getTextAndFormat(){return this.rows}}class Ao{constructor(e,t,i){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=t,this.mode=null,this.verbose=0,this.displayedMemory=new ds(i),this.nonDisplayedMemory=new ds(i),this.lastOutputScreen=new ds(i),this.currRollUpRow=this.displayedMemory.rows[An-1],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null,this.logger=i}reset(){this.mode=null,this.displayedMemory.reset(),this.nonDisplayedMemory.reset(),this.lastOutputScreen.reset(),this.outputFilter.reset(),this.currRollUpRow=this.displayedMemory.rows[An-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){e!==this.mode&&(this.mode=e,this.logger.log(2,()=>"MODE="+e),this.mode==="MODE_POP-ON"?this.writeScreen=this.nonDisplayedMemory:(this.writeScreen=this.displayedMemory,this.writeScreen.reset()),this.mode!=="MODE_ROLL-UP"&&(this.displayedMemory.nrRollUpRows=null,this.nonDisplayedMemory.nrRollUpRows=null),this.mode=e)}insertChars(e){for(let i=0;i<e.length;i++)this.writeScreen.insertChar(e[i]);const t=this.writeScreen===this.displayedMemory?"DISP":"NON_DISP";this.logger.log(2,()=>t+": "+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(){this.logger.log(2,"BS - BackSpace"),this.mode!=="MODE_TEXT"&&(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"){const 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){const t={flash:!1};if(t.underline=e%2===1,t.italics=e>=46,t.italics)t.foreground="white";else{const i=Math.floor(e/2)-16,u=["white","green","blue","cyan","red","yellow","magenta"];t.foreground=u[i]}this.logger.log(2,"MIDROW: "+gt(t)),this.writeScreen.setPen(t)}outputDataUpdate(e=!1){const t=this.logger.time;t!==null&&this.outputFilter&&(this.cueStartTime===null&&!this.displayedMemory.isEmpty()?this.cueStartTime=t:this.displayedMemory.equals(this.lastOutputScreen)||(this.outputFilter.newCue(this.cueStartTime,t,this.lastOutputScreen),e&&this.outputFilter.dispatchCue&&this.outputFilter.dispatchCue(),this.cueStartTime=this.displayedMemory.isEmpty()?null:t),this.lastOutputScreen.copy(this.displayedMemory))}cueSplitAtTime(e){this.outputFilter&&(this.displayedMemory.isEmpty()||(this.outputFilter.newCue&&this.outputFilter.newCue(this.cueStartTime,e,this.displayedMemory),this.cueStartTime=e))}}class bo{constructor(e,t,i){this.channels=void 0,this.currentChannel=0,this.cmdHistory=lc(),this.logger=void 0;const u=this.logger=new nc;this.channels=[null,new Ao(e,t,u),new Ao(e+1,i,u)]}getHandler(e){return this.channels[e].getHandler()}setHandler(e,t){this.channels[e].setHandler(t)}addData(e,t){this.logger.time=e;for(let i=0;i<t.length;i+=2){const u=t[i]&127,v=t[i+1]&127;let T=!1,M=null;if(u===0&&v===0)continue;this.logger.log(3,()=>"["+Zn([t[i],t[i+1]])+"] -> ("+Zn([u,v])+")");const W=this.cmdHistory;if(u>=16&&u<=31){if(oc(u,v,W)){Ba(null,null,W),this.logger.log(3,()=>"Repeated command ("+Zn([u,v])+") is dropped");continue}Ba(u,v,this.cmdHistory),T=this.parseCmd(u,v),T||(T=this.parseMidrow(u,v)),T||(T=this.parsePAC(u,v)),T||(T=this.parseBackgroundAttributes(u,v))}else Ba(null,null,W);if(!T&&(M=this.parseChars(u,v),M)){const j=this.currentChannel;j&&j>0?this.channels[j].insertChars(M):this.logger.log(2,"No channel found yet. TEXT-MODE?")}!T&&!M&&this.logger.log(2,()=>"Couldn't parse cleaned data "+Zn([u,v])+" orig: "+Zn([t[i],t[i+1]]))}}parseCmd(e,t){const i=(e===20||e===28||e===21||e===29)&&t>=32&&t<=47,u=(e===23||e===31)&&t>=33&&t<=35;if(!(i||u))return!1;const v=e===20||e===21||e===23?1:2,T=this.channels[v];return e===20||e===21||e===28||e===29?t===32?T.ccRCL():t===33?T.ccBS():t===34?T.ccAOF():t===35?T.ccAON():t===36?T.ccDER():t===37?T.ccRU(2):t===38?T.ccRU(3):t===39?T.ccRU(4):t===40?T.ccFON():t===41?T.ccRDC():t===42?T.ccTR():t===43?T.ccRTD():t===44?T.ccEDM():t===45?T.ccCR():t===46?T.ccENM():t===47&&T.ccEOC():T.ccTO(t-32),this.currentChannel=v,!0}parseMidrow(e,t){let i=0;if((e===17||e===25)&&t>=32&&t<=47){if(e===17?i=1:i=2,i!==this.currentChannel)return this.logger.log(0,"Mismatch channel in midrow parsing"),!1;const u=this.channels[i];return u?(u.ccMIDROW(t),this.logger.log(3,()=>"MIDROW ("+Zn([e,t])+")"),!0):!1}return!1}parsePAC(e,t){let i;const u=(e>=17&&e<=23||e>=25&&e<=31)&&t>=64&&t<=127,v=(e===16||e===24)&&t>=64&&t<=95;if(!(u||v))return!1;const T=e<=23?1:2;t>=64&&t<=95?i=T===1?qu[e]:tc[e]:i=T===1?ec[e]:rc[e];const M=this.channels[T];return M?(M.setPAC(this.interpretPAC(i,t)),this.currentChannel=T,!0):!1}interpretPAC(e,t){let i;const u={color:null,italics:!1,indent:null,underline:!1,row:e};return t>95?i=t-96:i=t-64,u.underline=(i&1)===1,i<=13?u.color=["white","green","blue","cyan","red","yellow","magenta","white"][Math.floor(i/2)]:i<=15?(u.italics=!0,u.color="white"):u.indent=Math.floor((i-16)/2)*4,u}parseChars(e,t){let i,u=null,v=null;if(e>=25?(i=2,v=e-8):(i=1,v=e),v>=17&&v<=19){let T;v===17?T=t+80:v===18?T=t+112:T=t+144,this.logger.log(2,()=>"Special char '"+xo(T)+"' in channel "+i),u=[T]}else e>=32&&e<=127&&(u=t===0?[e]:[e,t]);return u&&this.logger.log(3,()=>"Char codes = "+Zn(u).join(",")),u}parseBackgroundAttributes(e,t){const i=(e===16||e===24)&&t>=32&&t<=47,u=(e===23||e===31)&&t>=45&&t<=47;if(!(i||u))return!1;let v;const T={};e===16||e===24?(v=Math.floor((t-32)/2),T.background=ic[v],t%2===1&&(T.background=T.background+"_semi")):t===45?T.background="transparent":(T.foreground="black",t===47&&(T.underline=!0));const M=e<=23?1:2;return this.channels[M].setBkgData(T),!0}reset(){for(let e=0;e<Object.keys(this.channels).length;e++){const t=this.channels[e];t&&t.reset()}Ba(null,null,this.cmdHistory)}cueSplitAtTime(e){for(let t=0;t<this.channels.length;t++){const i=this.channels[t];i&&i.cueSplitAtTime(e)}}}function Ba(D,e,t){t.a=D,t.b=e}function oc(D,e,t){return t.a===D&&t.b===e}function lc(){return{a:null,b:null}}var _s=function(){if(fi!=null&&fi.VTTCue)return self.VTTCue;const D=["","lr","rl"],e=["start","middle","end","left","right"];function t(M,W){if(typeof W!="string"||!Array.isArray(M))return!1;const N=W.toLowerCase();return~M.indexOf(N)?N:!1}function i(M){return t(D,M)}function u(M){return t(e,M)}function v(M,...W){let N=1;for(;N<arguments.length;N++){const j=arguments[N];for(const Z in j)M[Z]=j[Z]}return M}function T(M,W,N){const j=this,Z={enumerable:!0};j.hasBeenReset=!1;let J="",re=!1,ie=M,pe=W,_e=N,Se=null,ke="",Me=!0,Ze="auto",ot="start",Pt=50,it="middle",_t=50,Et="middle";Object.defineProperty(j,"id",v({},Z,{get:function(){return J},set:function(qe){J=""+qe}})),Object.defineProperty(j,"pauseOnExit",v({},Z,{get:function(){return re},set:function(qe){re=!!qe}})),Object.defineProperty(j,"startTime",v({},Z,{get:function(){return ie},set:function(qe){if(typeof qe!="number")throw new TypeError("Start time must be set to a number.");ie=qe,this.hasBeenReset=!0}})),Object.defineProperty(j,"endTime",v({},Z,{get:function(){return pe},set:function(qe){if(typeof qe!="number")throw new TypeError("End time must be set to a number.");pe=qe,this.hasBeenReset=!0}})),Object.defineProperty(j,"text",v({},Z,{get:function(){return _e},set:function(qe){_e=""+qe,this.hasBeenReset=!0}})),Object.defineProperty(j,"region",v({},Z,{get:function(){return Se},set:function(qe){Se=qe,this.hasBeenReset=!0}})),Object.defineProperty(j,"vertical",v({},Z,{get:function(){return ke},set:function(qe){const jt=i(qe);if(jt===!1)throw new SyntaxError("An invalid or illegal string was specified.");ke=jt,this.hasBeenReset=!0}})),Object.defineProperty(j,"snapToLines",v({},Z,{get:function(){return Me},set:function(qe){Me=!!qe,this.hasBeenReset=!0}})),Object.defineProperty(j,"line",v({},Z,{get:function(){return Ze},set:function(qe){if(typeof qe!="number"&&qe!=="auto")throw new SyntaxError("An invalid number or illegal string was specified.");Ze=qe,this.hasBeenReset=!0}})),Object.defineProperty(j,"lineAlign",v({},Z,{get:function(){return ot},set:function(qe){const jt=u(qe);if(!jt)throw new SyntaxError("An invalid or illegal string was specified.");ot=jt,this.hasBeenReset=!0}})),Object.defineProperty(j,"position",v({},Z,{get:function(){return Pt},set:function(qe){if(qe<0||qe>100)throw new Error("Position must be between 0 and 100.");Pt=qe,this.hasBeenReset=!0}})),Object.defineProperty(j,"positionAlign",v({},Z,{get:function(){return it},set:function(qe){const jt=u(qe);if(!jt)throw new SyntaxError("An invalid or illegal string was specified.");it=jt,this.hasBeenReset=!0}})),Object.defineProperty(j,"size",v({},Z,{get:function(){return _t},set:function(qe){if(qe<0||qe>100)throw new Error("Size must be between 0 and 100.");_t=qe,this.hasBeenReset=!0}})),Object.defineProperty(j,"align",v({},Z,{get:function(){return Et},set:function(qe){const jt=u(qe);if(!jt)throw new SyntaxError("An invalid or illegal string was specified.");Et=jt,this.hasBeenReset=!0}})),j.displayState=void 0}return T.prototype.getCueAsHTML=function(){return self.WebVTT.convertCueToDOMTree(self,this.text)},T}();class uc{decode(e,t){if(!e)return"";if(typeof e!="string")throw new Error("Error - expected string data.");return decodeURIComponent(encodeURIComponent(e))}}function So(D){function e(i,u,v,T){return(i|0)*3600+(u|0)*60+(v|0)+parseFloat(T||0)}const t=D.match(/^(?:(\d+):)?(\d{2}):(\d{2})(\.\d+)?/);return t?parseFloat(t[2])>59?e(t[2],t[3],0,t[4]):e(t[1],t[2],t[3],t[4]):null}class cc{constructor(){this.values=Object.create(null)}set(e,t){!this.get(e)&&t!==""&&(this.values[e]=t)}get(e,t,i){return i?this.has(e)?this.values[e]:t[i]:this.has(e)?this.values[e]:t}has(e){return e in this.values}alt(e,t,i){for(let u=0;u<i.length;++u)if(t===i[u]){this.set(e,t);break}}integer(e,t){/^-?\d+$/.test(t)&&this.set(e,parseInt(t,10))}percent(e,t){if(/^([\d]{1,3})(\.[\d]*)?%$/.test(t)){const i=parseFloat(t);if(i>=0&&i<=100)return this.set(e,i),!0}return!1}}function Do(D,e,t,i){const u=i?D.split(i):[D];for(const v in u){if(typeof u[v]!="string")continue;const T=u[v].split(t);if(T.length!==2)continue;const M=T[0],W=T[1];e(M,W)}}const ms=new _s(0,0,""),Ua=ms.align==="middle"?"middle":"center";function hc(D,e,t){const i=D;function u(){const M=So(D);if(M===null)throw new Error("Malformed timestamp: "+i);return D=D.replace(/^[^\sa-zA-Z-]+/,""),M}function v(M,W){const N=new cc;Do(M,function(J,re){let ie;switch(J){case"region":for(let pe=t.length-1;pe>=0;pe--)if(t[pe].id===re){N.set(J,t[pe].region);break}break;case"vertical":N.alt(J,re,["rl","lr"]);break;case"line":ie=re.split(","),N.integer(J,ie[0]),N.percent(J,ie[0])&&N.set("snapToLines",!1),N.alt(J,ie[0],["auto"]),ie.length===2&&N.alt("lineAlign",ie[1],["start",Ua,"end"]);break;case"position":ie=re.split(","),N.percent(J,ie[0]),ie.length===2&&N.alt("positionAlign",ie[1],["start",Ua,"end","line-left","line-right","auto"]);break;case"size":N.percent(J,re);break;case"align":N.alt(J,re,["start",Ua,"end","left","right"]);break}},/:/,/\s/),W.region=N.get("region",null),W.vertical=N.get("vertical","");let j=N.get("line","auto");j==="auto"&&ms.line===-1&&(j=-1),W.line=j,W.lineAlign=N.get("lineAlign","start"),W.snapToLines=N.get("snapToLines",!0),W.size=N.get("size",100),W.align=N.get("align",Ua);let Z=N.get("position","auto");Z==="auto"&&ms.position===50&&(Z=W.align==="start"||W.align==="left"?0:W.align==="end"||W.align==="right"?100:50),W.position=Z}function T(){D=D.replace(/^\s+/,"")}if(T(),e.startTime=u(),T(),D.slice(0,3)!=="-->")throw new Error("Malformed time stamp (time stamps must be separated by '-->'): "+i);D=D.slice(3),T(),e.endTime=u(),T(),v(D,e)}function Lo(D){return D.replace(/<br(?: \/)?>/gi,`
`)}class fc{constructor(){this.state="INITIAL",this.buffer="",this.decoder=new uc,this.regionList=[],this.cue=null,this.oncue=void 0,this.onparsingerror=void 0,this.onflush=void 0}parse(e){const t=this;e&&(t.buffer+=t.decoder.decode(e,{stream:!0}));function i(){let v=t.buffer,T=0;for(v=Lo(v);T<v.length&&v[T]!=="\r"&&v[T]!==`
`;)++T;const M=v.slice(0,T);return v[T]==="\r"&&++T,v[T]===`
`&&++T,t.buffer=v.slice(T),M}function u(v){Do(v,function(T,M){},/:/)}try{let v="";if(t.state==="INITIAL"){if(!/\r\n|\n/.test(t.buffer))return this;v=i();const M=v.match(/^()?WEBVTT([ \t].*)?$/);if(!(M!=null&&M[0]))throw new Error("Malformed WebVTT signature.");t.state="HEADER"}let T=!1;for(;t.buffer;){if(!/\r\n|\n/.test(t.buffer))return this;switch(T?T=!1:v=i(),t.state){case"HEADER":/:/.test(v)?u(v):v||(t.state="ID");continue;case"NOTE":v||(t.state="ID");continue;case"ID":if(/^NOTE($|[ \t])/.test(v)){t.state="NOTE";break}if(!v)continue;if(t.cue=new _s(0,0,""),t.state="CUE",v.indexOf("-->")===-1){t.cue.id=v;continue}case"CUE":if(!t.cue){t.state="BADCUE";continue}try{hc(v,t.cue,t.regionList)}catch(M){t.cue=null,t.state="BADCUE";continue}t.state="CUETEXT";continue;case"CUETEXT":{const M=v.indexOf("-->")!==-1;if(!v||M&&(T=!0)){t.oncue&&t.cue&&t.oncue(t.cue),t.cue=null,t.state="ID";continue}if(t.cue===null)continue;t.cue.text&&(t.cue.text+=`
`),t.cue.text+=v}continue;case"BADCUE":v||(t.state="ID")}}}catch(v){t.state==="CUETEXT"&&t.cue&&t.oncue&&t.oncue(t.cue),t.cue=null,t.state=t.state==="INITIAL"?"BADWEBVTT":"BADCUE"}return this}flush(){const e=this;try{if((e.cue||e.state==="HEADER")&&(e.buffer+=`
`,e.parse()),e.state==="INITIAL"||e.state==="BADWEBVTT")throw new Error("Malformed WebVTT signature.")}catch(t){e.onparsingerror&&e.onparsingerror(t)}return e.onflush&&e.onflush(),this}}const dc=/\r\n|\n\r|\n|\r/g,ps=function(e,t,i=0){return e.slice(i,i+t.length)===t},_c=function(e){let t=parseInt(e.slice(-3));const i=parseInt(e.slice(-6,-4)),u=parseInt(e.slice(-9,-7)),v=e.length>9?parseInt(e.substring(0,e.indexOf(":"))):0;if(!ee(t)||!ee(i)||!ee(u)||!ee(v))throw Error(`Malformed X-TIMESTAMP-MAP: Local:${e}`);return t+=1e3*i,t+=60*1e3*u,t+=60*60*1e3*v,t};function gs(D,e,t){return xa(D.toString())+xa(e.toString())+xa(t)}const mc=function(e,t,i){let u=e[t],v=e[u.prevCC];if(!v||!v.new&&u.new){e.ccOffset=e.presentationOffset=u.start,u.new=!1;return}for(;(T=v)!=null&&T.new;){var T;e.ccOffset+=u.start-v.start,u.new=!1,u=v,v=e[u.prevCC]}e.presentationOffset=i};function pc(D,e,t,i,u,v,T){const M=new fc,W=z(new Uint8Array(D)).trim().replace(dc,`
`).split(`
`),N=[],j=e?Ul(e.baseTime,e.timescale):0;let Z="00:00.000",J=0,re=0,ie,pe=!0;M.oncue=function(_e){const Se=t[i];let ke=t.ccOffset;const Me=(J-j)/9e4;if(Se!=null&&Se.new&&(re!==void 0?ke=t.ccOffset=Se.start:mc(t,i,Me)),Me){if(!e){ie=new Error("Missing initPTS for VTT MPEGTS");return}ke=Me-t.presentationOffset}const Ze=_e.endTime-_e.startTime,ot=mn((_e.startTime+ke-re)*9e4,u*9e4)/9e4;_e.startTime=Math.max(ot,0),_e.endTime=Math.max(ot+Ze,0);const Pt=_e.text.trim();_e.text=decodeURIComponent(encodeURIComponent(Pt)),_e.id||(_e.id=gs(_e.startTime,_e.endTime,Pt)),_e.endTime>0&&N.push(_e)},M.onparsingerror=function(_e){ie=_e},M.onflush=function(){if(ie){T(ie);return}v(N)},W.forEach(_e=>{if(pe)if(ps(_e,"X-TIMESTAMP-MAP=")){pe=!1,_e.slice(16).split(",").forEach(Se=>{ps(Se,"LOCAL:")?Z=Se.slice(6):ps(Se,"MPEGTS:")&&(J=parseInt(Se.slice(7)))});try{re=_c(Z)/1e3}catch(Se){ie=Se}return}else _e===""&&(pe=!1);M.parse(_e+`
`)}),M.flush()}const vs="stpp.ttml.im1t",Ro=/^(\d{2,}):(\d{2}):(\d{2}):(\d{2})\.?(\d+)?$/,wo=/^(\d*(?:\.\d*)?)(h|m|s|ms|f|t)$/,gc={left:"start",center:"center",right:"end",start:"start",end:"end"};function Co(D,e,t,i){const u=ve(new Uint8Array(D),["mdat"]);if(u.length===0){i(new Error("Could not parse IMSC1 mdat"));return}const v=u.map(M=>z(M)),T=Bl(e.baseTime,1,e.timescale);try{v.forEach(M=>t(vc(M,T)))}catch(M){i(M)}}function vc(D,e){const u=new DOMParser().parseFromString(D,"text/xml").getElementsByTagName("tt")[0];if(!u)throw new Error("Invalid ttml");const v={frameRate:30,subFrameRate:1,frameRateMultiplier:0,tickRate:0},T=Object.keys(v).reduce((Z,J)=>(Z[J]=u.getAttribute(`ttp:${J}`)||v[J],Z),{}),M=u.getAttribute("xml:space")!=="preserve",W=Po(ys(u,"styling","style")),N=Po(ys(u,"layout","region")),j=ys(u,"body","[begin]");return[].map.call(j,Z=>{const J=Io(Z,M);if(!J||!Z.hasAttribute("begin"))return null;const re=xs(Z.getAttribute("begin"),T),ie=xs(Z.getAttribute("dur"),T);let pe=xs(Z.getAttribute("end"),T);if(re===null)throw Oo(Z);if(pe===null){if(ie===null)throw Oo(Z);pe=re+ie}const _e=new _s(re-e,pe-e,J);_e.id=gs(_e.startTime,_e.endTime,_e.text);const Se=N[Z.getAttribute("region")],ke=W[Z.getAttribute("style")],Me=yc(Se,ke,W),{textAlign:Ze}=Me;if(Ze){const ot=gc[Ze];ot&&(_e.lineAlign=ot),_e.align=Ze}return l(_e,Me),_e}).filter(Z=>Z!==null)}function ys(D,e,t){const i=D.getElementsByTagName(e)[0];return i?[].slice.call(i.querySelectorAll(t)):[]}function Po(D){return D.reduce((e,t)=>{const i=t.getAttribute("xml:id");return i&&(e[i]=t),e},{})}function Io(D,e){return[].slice.call(D.childNodes).reduce((t,i,u)=>{var v;return i.nodeName==="br"&&u?t+`
`:(v=i.childNodes)!=null&&v.length?Io(i,e):e?t+i.textContent.trim().replace(/\s+/g," "):t+i.textContent},"")}function yc(D,e,t){const i="http://www.w3.org/ns/ttml#styling";let u=null;const v=["displayAlign","textAlign","color","backgroundColor","fontSize","fontFamily"],T=D!=null&&D.hasAttribute("style")?D.getAttribute("style"):null;return T&&t.hasOwnProperty(T)&&(u=t[T]),v.reduce((M,W)=>{const N=Es(e,i,W)||Es(D,i,W)||Es(u,i,W);return N&&(M[W]=N),M},{})}function Es(D,e,t){return D&&D.hasAttributeNS(e,t)?D.getAttributeNS(e,t):null}function Oo(D){return new Error(`Could not parse ttml timestamp ${D}`)}function xs(D,e){if(!D)return null;let t=So(D);return t===null&&(Ro.test(D)?t=Ec(D,e):wo.test(D)&&(t=xc(D,e))),t}function Ec(D,e){const t=Ro.exec(D),i=(t[4]|0)+(t[5]|0)/e.subFrameRate;return(t[1]|0)*3600+(t[2]|0)*60+(t[3]|0)+i/e.frameRate}function xc(D,e){const t=wo.exec(D),i=Number(t[1]);switch(t[2]){case"h":return i*3600;case"m":return i*60;case"ms":return i*1e3;case"f":return i/e.frameRate;case"t":return i/e.tickRate}return i}class Fa{constructor(e,t){this.timelineController=void 0,this.cueRanges=[],this.trackName=void 0,this.startTime=null,this.endTime=null,this.screen=null,this.timelineController=e,this.trackName=t}dispatchCue(){this.startTime!==null&&(this.timelineController.addCues(this.trackName,this.startTime,this.endTime,this.screen,this.cueRanges),this.startTime=null)}newCue(e,t,i){(this.startTime===null||this.startTime>e)&&(this.startTime=e),this.endTime=t,this.screen=i,this.timelineController.createCaptionsTrack(this.trackName)}reset(){this.cueRanges=[],this.startTime=null}}class Tc{constructor(e){this.hls=void 0,this.media=null,this.config=void 0,this.enabled=!0,this.Cues=void 0,this.textTracks=[],this.tracks=[],this.initPTS=[],this.unparsedVttFrags=[],this.captionsTracks={},this.nonNativeCaptionsTracks={},this.cea608Parser1=void 0,this.cea608Parser2=void 0,this.lastCc=-1,this.lastSn=-1,this.lastPartIndex=-1,this.prevCC=-1,this.vttCCs=Bo(),this.captionsProperties=void 0,this.hls=e,this.config=e.config,this.Cues=e.config.cueHandler,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(y.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(y.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(y.MANIFEST_LOADING,this.onManifestLoading,this),e.on(y.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(y.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.on(y.FRAG_LOADING,this.onFragLoading,this),e.on(y.FRAG_LOADED,this.onFragLoaded,this),e.on(y.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),e.on(y.FRAG_DECRYPTED,this.onFragDecrypted,this),e.on(y.INIT_PTS_FOUND,this.onInitPtsFound,this),e.on(y.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),e.on(y.BUFFER_FLUSHING,this.onBufferFlushing,this)}destroy(){const{hls:e}=this;e.off(y.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(y.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(y.MANIFEST_LOADING,this.onManifestLoading,this),e.off(y.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(y.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.off(y.FRAG_LOADING,this.onFragLoading,this),e.off(y.FRAG_LOADED,this.onFragLoaded,this),e.off(y.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),e.off(y.FRAG_DECRYPTED,this.onFragDecrypted,this),e.off(y.INIT_PTS_FOUND,this.onInitPtsFound,this),e.off(y.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),e.off(y.BUFFER_FLUSHING,this.onBufferFlushing,this),this.hls=this.config=this.media=null,this.cea608Parser1=this.cea608Parser2=void 0}initCea608Parsers(){const e=new Fa(this,"textTrack1"),t=new Fa(this,"textTrack2"),i=new Fa(this,"textTrack3"),u=new Fa(this,"textTrack4");this.cea608Parser1=new bo(1,e,t),this.cea608Parser2=new bo(3,i,u)}addCues(e,t,i,u,v){let T=!1;for(let M=v.length;M--;){const W=v[M],N=Ac(W[0],W[1],t,i);if(N>=0&&(W[0]=Math.min(W[0],t),W[1]=Math.max(W[1],i),T=!0,N/(i-t)>.5))return}if(T||v.push([t,i]),this.config.renderTextTracksNatively){const M=this.captionsTracks[e];this.Cues.newCue(M,t,i,u)}else{const M=this.Cues.newCue(null,t,i,u);this.hls.trigger(y.CUES_PARSED,{type:"captions",cues:M,track:e})}}onInitPtsFound(e,{frag:t,id:i,initPTS:u,timescale:v}){const{unparsedVttFrags:T}=this;i===A.MAIN&&(this.initPTS[t.cc]={baseTime:u,timescale:v}),T.length&&(this.unparsedVttFrags=[],T.forEach(M=>{this.initPTS[M.frag.cc]?this.onFragLoaded(y.FRAG_LOADED,M):this.hls.trigger(y.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:M.frag,error:new Error("Subtitle discontinuity domain does not match main")})}))}getExistingTrack(e,t){const{media:i}=this;if(i)for(let u=0;u<i.textTracks.length;u++){const v=i.textTracks[u];if(No(v,{name:e,lang:t,characteristics:"transcribes-spoken-dialog,describes-music-and-sound"}))return v}return null}createCaptionsTrack(e){this.config.renderTextTracksNatively?this.createNativeTrack(e):this.createNonNativeTrack(e)}createNativeTrack(e){if(this.captionsTracks[e])return;const{captionsProperties:t,captionsTracks:i,media:u}=this,{label:v,languageCode:T}=t[e],M=this.getExistingTrack(v,T);if(M)i[e]=M,la(i[e]),mo(i[e],u);else{const W=this.createTextTrack("captions",v,T);W&&(W[e]=!0,i[e]=W)}}createNonNativeTrack(e){if(this.nonNativeCaptionsTracks[e])return;const t=this.captionsProperties[e];if(!t)return;const i=t.label,u={_id:e,label:i,kind:"captions",default:t.media?!!t.media.default:!1,closedCaptions:t.media};this.nonNativeCaptionsTracks[e]=u,this.hls.trigger(y.NON_NATIVE_TEXT_TRACKS_FOUND,{tracks:[u]})}createTextTrack(e,t,i){const u=this.media;if(u)return u.addTextTrack(e,t,i)}onMediaAttaching(e,t){this.media=t.media,t.mediaSource||this._cleanTracks()}onMediaDetaching(e,t){const i=!!t.transferMedia;if(this.media=null,i)return;const{captionsTracks:u}=this;Object.keys(u).forEach(v=>{la(u[v]),delete u[v]}),this.nonNativeCaptionsTracks={}}onManifestLoading(){this.lastCc=-1,this.lastSn=-1,this.lastPartIndex=-1,this.prevCC=-1,this.vttCCs=Bo(),this._cleanTracks(),this.tracks=[],this.captionsTracks={},this.nonNativeCaptionsTracks={},this.textTracks=[],this.unparsedVttFrags=[],this.initPTS=[],this.cea608Parser1&&this.cea608Parser2&&(this.cea608Parser1.reset(),this.cea608Parser2.reset())}_cleanTracks(){const{media:e}=this;if(!e)return;const t=e.textTracks;if(t)for(let i=0;i<t.length;i++)la(t[i])}onSubtitleTracksUpdated(e,t){const i=t.subtitleTracks||[],u=i.some(v=>v.textCodec===vs);if(this.config.enableWebVTT||u&&this.config.enableIMSC1){if(eo(this.tracks,i)){this.tracks=i;return}if(this.textTracks=[],this.tracks=i,this.config.renderTextTracksNatively){const T=this.media,M=T?Ma(T.textTracks):null;if(this.tracks.forEach((W,N)=>{let j;if(M){let Z=null;for(let J=0;J<M.length;J++)if(M[J]&&No(M[J],W)){Z=M[J],M[J]=null;break}Z&&(j=Z)}if(j)la(j);else{const Z=Mo(W);j=this.createTextTrack(Z,W.name,W.lang),j&&(j.mode="disabled")}j&&this.textTracks.push(j)}),M!=null&&M.length){const W=M.filter(N=>N!==null).map(N=>N.label);W.length&&this.hls.logger.warn(`Media element contains unused subtitle tracks: ${W.join(", ")}. Replace media element for each source to clear TextTracks and captions menu.`)}}else if(this.tracks.length){const T=this.tracks.map(M=>({label:M.name,kind:M.type.toLowerCase(),default:M.default,subtitleTrack:M}));this.hls.trigger(y.NON_NATIVE_TEXT_TRACKS_FOUND,{tracks:T})}}}onManifestLoaded(e,t){this.config.enableCEA708Captions&&t.captions&&t.captions.forEach(i=>{const u=/(?:CC|SERVICE)([1-4])/.exec(i.instreamId);if(!u)return;const v=`textTrack${u[1]}`,T=this.captionsProperties[v];T&&(T.label=i.name,i.lang&&(T.languageCode=i.lang),T.media=i)})}closedCaptionsForLevel(e){const t=this.hls.levels[e.level];return t==null?void 0:t.attrs["CLOSED-CAPTIONS"]}onFragLoading(e,t){if(this.enabled&&t.frag.type===A.MAIN){var i,u;const{cea608Parser1:v,cea608Parser2:T,lastSn:M}=this,{cc:W,sn:N}=t.frag,j=(i=(u=t.part)==null?void 0:u.index)!=null?i:-1;v&&T&&(N!==M+1||N===M&&j!==this.lastPartIndex+1||W!==this.lastCc)&&(v.reset(),T.reset()),this.lastCc=W,this.lastSn=N,this.lastPartIndex=j}}onFragLoaded(e,t){const{frag:i,payload:u}=t;if(i.type===A.SUBTITLE)if(u.byteLength){const v=i.decryptdata,T="stats"in t;if(v==null||!v.encrypted||T){const M=this.tracks[i.level],W=this.vttCCs;W[i.cc]||(W[i.cc]={start:i.start,prevCC:this.prevCC,new:!0},this.prevCC=i.cc),M&&M.textCodec===vs?this._parseIMSC1(i,u):this._parseVTTs(t)}}else this.hls.trigger(y.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:i,error:new Error("Empty subtitle payload")})}_parseIMSC1(e,t){const i=this.hls;Co(t,this.initPTS[e.cc],u=>{this._appendCues(u,e.level),i.trigger(y.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:e})},u=>{i.logger.log(`Failed to parse IMSC1: ${u}`),i.trigger(y.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:e,error:u})})}_parseVTTs(e){var t;const{frag:i,payload:u}=e,{initPTS:v,unparsedVttFrags:T}=this,M=v.length-1;if(!v[i.cc]&&M===-1){T.push(e);return}const W=this.hls,N=(t=i.initSegment)!=null&&t.data?et(i.initSegment.data,new Uint8Array(u)).buffer:u;pc(N,this.initPTS[i.cc],this.vttCCs,i.cc,i.start,j=>{this._appendCues(j,i.level),W.trigger(y.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:i})},j=>{const Z=j.message==="Missing initPTS for VTT MPEGTS";Z?T.push(e):this._fallbackToIMSC1(i,u),W.logger.log(`Failed to parse VTT cue: ${j}`),!(Z&&M>i.cc)&&W.trigger(y.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:i,error:j})})}_fallbackToIMSC1(e,t){const i=this.tracks[e.level];i.textCodec||Co(t,this.initPTS[e.cc],()=>{i.textCodec=vs,this._parseIMSC1(e,t)},()=>{i.textCodec="wvtt"})}_appendCues(e,t){const i=this.hls;if(this.config.renderTextTracksNatively){const u=this.textTracks[t];if(!u||u.mode==="disabled")return;e.forEach(v=>po(u,v))}else{const u=this.tracks[t];if(!u)return;const v=u.default?"default":"subtitles"+t;i.trigger(y.CUES_PARSED,{type:"subtitles",cues:e,track:v})}}onFragDecrypted(e,t){const{frag:i}=t;i.type===A.SUBTITLE&&this.onFragLoaded(y.FRAG_LOADED,t)}onSubtitleTracksCleared(){this.tracks=[],this.captionsTracks={}}onFragParsingUserdata(e,t){if(!this.enabled||!this.config.enableCEA708Captions)return;const{frag:i,samples:u}=t;if(!(i.type===A.MAIN&&this.closedCaptionsForLevel(i)==="NONE"))for(let v=0;v<u.length;v++){const T=u[v].bytes;if(T){this.cea608Parser1||this.initCea608Parsers();const M=this.extractCea608Data(T);this.cea608Parser1.addData(u[v].pts,M[0]),this.cea608Parser2.addData(u[v].pts,M[1])}}}onBufferFlushing(e,{startOffset:t,endOffset:i,endOffsetSubtitles:u,type:v}){const{media:T}=this;if(!(!T||T.currentTime<i)){if(!v||v==="video"){const{captionsTracks:M}=this;Object.keys(M).forEach(W=>cs(M[W],t,i))}if(this.config.renderTextTracksNatively&&t===0&&u!==void 0){const{textTracks:M}=this;Object.keys(M).forEach(W=>cs(M[W],t,u))}}}extractCea608Data(e){const t=[[],[]],i=e[0]&31;let u=2;for(let v=0;v<i;v++){const T=e[u++],M=127&e[u++],W=127&e[u++];if(M===0&&W===0)continue;if((4&T)!==0){const j=3&T;(j===0||j===1)&&(t[j].push(M),t[j].push(W))}}return t}}function Mo(D){return D.characteristics&&/transcribes-spoken-dialog/gi.test(D.characteristics)&&/describes-music-and-sound/gi.test(D.characteristics)?"captions":"subtitles"}function No(D,e){return!!D&&D.kind===Mo(e)&&ns(e,D)}function Ac(D,e,t,i){return Math.min(e,i)-Math.max(D,t)}function Bo(){return{ccOffset:0,presentationOffset:0,0:{start:0,prevCC:-1,new:!0}}}const bc=/\s/,Sc={newCue(D,e,t,i){const u=[];let v,T,M,W,N;const j=self.VTTCue||self.TextTrackCue;for(let J=0;J<i.rows.length;J++)if(v=i.rows[J],M=!0,W=0,N="",!v.isEmpty()){var Z;for(let pe=0;pe<v.chars.length;pe++)bc.test(v.chars[pe].uchar)&&M?W++:(N+=v.chars[pe].uchar,M=!1);v.cueStartTime=e,e===t&&(t+=1e-4),W>=16?W--:W++;const re=Lo(N.trim()),ie=gs(e,t,re);D!=null&&(Z=D.cues)!=null&&Z.getCueById(ie)||(T=new j(e,t,re),T.id=ie,T.line=J+1,T.align="left",T.position=10+Math.min(80,Math.floor(W*8/32)*10),u.push(T))}return D&&u.length&&(u.sort((J,re)=>J.line==="auto"||re.line==="auto"?0:J.line>8&&re.line>8?re.line-J.line:J.line-re.line),u.forEach(J=>po(D,J))),u}};function Dc(){if(self.fetch&&self.AbortController&&self.ReadableStream&&self.Request)try{return new self.ReadableStream({}),!0}catch(D){}return!1}const Lc=/(\d+)-(\d+)\/(\d+)/;class Uo{constructor(e){this.fetchSetup=void 0,this.requestTimeout=void 0,this.request=null,this.response=null,this.controller=void 0,this.context=null,this.config=null,this.callbacks=null,this.stats=void 0,this.loader=null,this.fetchSetup=e.fetchSetup||Pc,this.controller=new self.AbortController,this.stats=new I}destroy(){this.loader=this.callbacks=this.context=this.config=this.request=null,this.abortInternal(),this.response=null,this.fetchSetup=this.controller=this.stats=null}abortInternal(){this.controller&&!this.stats.loading.end&&(this.stats.aborted=!0,this.controller.abort())}abort(){var e;this.abortInternal(),(e=this.callbacks)!=null&&e.onAbort&&this.callbacks.onAbort(this.stats,this.context,this.response)}load(e,t,i){const u=this.stats;if(u.loading.start)throw new Error("Loader can only be used once.");u.loading.start=self.performance.now();const v=Rc(e,this.controller.signal),T=e.responseType==="arraybuffer",M=T?"byteLength":"length",{maxTimeToFirstByteMs:W,maxLoadTimeMs:N}=t.loadPolicy;this.context=e,this.config=t,this.callbacks=i,this.request=this.fetchSetup(e,v),self.clearTimeout(this.requestTimeout),t.timeout=W&&ee(W)?W:N,this.requestTimeout=self.setTimeout(()=>{this.callbacks&&(this.abortInternal(),this.callbacks.onTimeout(u,e,this.response))},t.timeout),(va(this.request)?this.request.then(self.fetch):self.fetch(this.request)).then(Z=>{var J;this.response=this.loader=Z;const re=Math.max(self.performance.now(),u.loading.start);if(self.clearTimeout(this.requestTimeout),t.timeout=N,this.requestTimeout=self.setTimeout(()=>{this.callbacks&&(this.abortInternal(),this.callbacks.onTimeout(u,e,this.response))},N-(re-u.loading.start)),!Z.ok){const{status:pe,statusText:_e}=Z;throw new Ic(_e||"fetch, bad network response",pe,Z)}u.loading.first=re,u.total=Cc(Z.headers)||u.total;const ie=(J=this.callbacks)==null?void 0:J.onProgress;return ie&&ee(t.highWaterMark)?this.loadProgressively(Z,u,e,t.highWaterMark,ie):T?Z.arrayBuffer():e.responseType==="json"?Z.json():Z.text()}).then(Z=>{var J,re;const ie=this.response;if(!ie)throw new Error("loader destroyed");self.clearTimeout(this.requestTimeout),u.loading.end=Math.max(self.performance.now(),u.loading.first);const pe=Z[M];pe&&(u.loaded=u.total=pe);const _e={url:ie.url,data:Z,code:ie.status},Se=(J=this.callbacks)==null?void 0:J.onProgress;Se&&!ee(t.highWaterMark)&&Se(u,e,Z,ie),(re=this.callbacks)==null||re.onSuccess(_e,u,e,ie)}).catch(Z=>{var J;if(self.clearTimeout(this.requestTimeout),u.aborted)return;const re=Z&&Z.code||0,ie=Z?Z.message:null;(J=this.callbacks)==null||J.onError({code:re,text:ie},e,Z?Z.details:null,u)})}getCacheAge(){let e=null;if(this.response){const t=this.response.headers.get("age");e=t?parseFloat(t):null}return e}getResponseHeader(e){return this.response?this.response.headers.get(e):null}loadProgressively(e,t,i,u=0,v){const T=new $i,M=e.body.getReader(),W=()=>M.read().then(N=>{if(N.done)return T.dataLength&&v(t,i,T.flush().buffer,e),Promise.resolve(new ArrayBuffer(0));const j=N.value,Z=j.length;return t.loaded+=Z,Z<u||T.dataLength?(T.push(j),T.dataLength>=u&&v(t,i,T.flush().buffer,e)):v(t,i,j.buffer,e),W()}).catch(()=>Promise.reject());return W()}}function Rc(D,e){const t={method:"GET",mode:"cors",credentials:"same-origin",signal:e,headers:new self.Headers(l({},D.headers))};return D.rangeEnd&&t.headers.set("Range","bytes="+D.rangeStart+"-"+String(D.rangeEnd-1)),t}function wc(D){const e=Lc.exec(D);if(e)return parseInt(e[2])-parseInt(e[1])+1}function Cc(D){const e=D.get("Content-Range");if(e){const i=wc(e);if(ee(i))return i}const t=D.get("Content-Length");if(t)return parseInt(t)}function Pc(D,e){return new self.Request(D.url,e)}class Ic extends Error{constructor(e,t,i){super(e),this.code=void 0,this.details=void 0,this.code=t,this.details=i}}const Oc=/^age:\s*[\d.]+\s*$/im;class Fo{constructor(e){this.xhrSetup=void 0,this.requestTimeout=void 0,this.retryTimeout=void 0,this.retryDelay=void 0,this.config=null,this.callbacks=null,this.context=null,this.loader=null,this.stats=void 0,this.xhrSetup=e&&e.xhrSetup||null,this.stats=new I,this.retryDelay=0}destroy(){this.callbacks=null,this.abortInternal(),this.loader=null,this.config=null,this.context=null,this.xhrSetup=null}abortInternal(){const e=this.loader;self.clearTimeout(this.requestTimeout),self.clearTimeout(this.retryTimeout),e&&(e.onreadystatechange=null,e.onprogress=null,e.readyState!==4&&(this.stats.aborted=!0,e.abort()))}abort(){var e;this.abortInternal(),(e=this.callbacks)!=null&&e.onAbort&&this.callbacks.onAbort(this.stats,this.context,this.loader)}load(e,t,i){if(this.stats.loading.start)throw new Error("Loader can only be used once.");this.stats.loading.start=self.performance.now(),this.context=e,this.config=t,this.callbacks=i,this.loadInternal()}loadInternal(){const{config:e,context:t}=this;if(!e||!t)return;const i=this.loader=new self.XMLHttpRequest,u=this.stats;u.loading.first=0,u.loaded=0,u.aborted=!1;const v=this.xhrSetup;v?Promise.resolve().then(()=>{if(!(this.loader!==i||this.stats.aborted))return v(i,t.url)}).catch(T=>{if(!(this.loader!==i||this.stats.aborted))return i.open("GET",t.url,!0),v(i,t.url)}).then(()=>{this.loader!==i||this.stats.aborted||this.openAndSendXhr(i,t,e)}).catch(T=>{var M;(M=this.callbacks)==null||M.onError({code:i.status,text:T.message},t,i,u)}):this.openAndSendXhr(i,t,e)}openAndSendXhr(e,t,i){e.readyState||e.open("GET",t.url,!0);const u=t.headers,{maxTimeToFirstByteMs:v,maxLoadTimeMs:T}=i.loadPolicy;if(u)for(const M in u)e.setRequestHeader(M,u[M]);t.rangeEnd&&e.setRequestHeader("Range","bytes="+t.rangeStart+"-"+(t.rangeEnd-1)),e.onreadystatechange=this.readystatechange.bind(this),e.onprogress=this.loadprogress.bind(this),e.responseType=t.responseType,self.clearTimeout(this.requestTimeout),i.timeout=v&&ee(v)?v:T,this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),i.timeout),e.send()}readystatechange(){const{context:e,loader:t,stats:i}=this;if(!e||!t)return;const u=t.readyState,v=this.config;if(!i.aborted&&u>=2&&(i.loading.first===0&&(i.loading.first=Math.max(self.performance.now(),i.loading.start),v.timeout!==v.loadPolicy.maxLoadTimeMs&&(self.clearTimeout(this.requestTimeout),v.timeout=v.loadPolicy.maxLoadTimeMs,this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),v.loadPolicy.maxLoadTimeMs-(i.loading.first-i.loading.start)))),u===4)){self.clearTimeout(this.requestTimeout),t.onreadystatechange=null,t.onprogress=null;const N=t.status,j=t.responseType==="text"?t.responseText:null;if(N>=200&&N<300){const ie=j!=null?j:t.response;if(ie!=null){var T,M;i.loading.end=Math.max(self.performance.now(),i.loading.first);const pe=t.responseType==="arraybuffer"?ie.byteLength:ie.length;i.loaded=i.total=pe,i.bwEstimate=i.total*8e3/(i.loading.end-i.loading.first);const _e=(T=this.callbacks)==null?void 0:T.onProgress;_e&&_e(i,e,ie,t);const Se={url:t.responseURL,data:ie,code:N};(M=this.callbacks)==null||M.onSuccess(Se,i,e,t);return}}const Z=v.loadPolicy.errorRetry,J=i.retry,re={url:e.url,data:void 0,code:N};if(Pr(Z,J,!1,re))this.retry(Z);else{var W;b.error(`${N} while loading ${e.url}`),(W=this.callbacks)==null||W.onError({code:N,text:t.statusText},e,t,i)}}}loadtimeout(){if(!this.config)return;const e=this.config.loadPolicy.timeoutRetry,t=this.stats.retry;if(Pr(e,t,!0))this.retry(e);else{var i;b.warn(`timeout while loading ${(i=this.context)==null?void 0:i.url}`);const u=this.callbacks;u&&(this.abortInternal(),u.onTimeout(this.stats,this.context,this.loader))}}retry(e){const{context:t,stats:i}=this;this.retryDelay=br(e,i.retry),i.retry++,b.warn(`${status?"HTTP Status "+status:"Timeout"} while loading ${t==null?void 0:t.url}, retrying ${i.retry}/${e.maxNumRetry} in ${this.retryDelay}ms`),this.abortInternal(),this.loader=null,self.clearTimeout(this.retryTimeout),this.retryTimeout=self.setTimeout(this.loadInternal.bind(this),this.retryDelay)}loadprogress(e){const t=this.stats;t.loaded=e.loaded,e.lengthComputable&&(t.total=e.total)}getCacheAge(){let e=null;if(this.loader&&Oc.test(this.loader.getAllResponseHeaders())){const t=this.loader.getResponseHeader("age");e=t?parseFloat(t):null}return e}getResponseHeader(e){return this.loader&&new RegExp(`^${e}:\\s*[\\d.]+\\s*$`,"im").test(this.loader.getAllResponseHeaders())?this.loader.getResponseHeader(e):null}}const Mc={maxTimeToFirstByteMs:8e3,maxLoadTimeMs:2e4,timeoutRetry:null,errorRetry:null},Nc=n(n({autoStartLoad:!0,startPosition:-1,defaultAudioCodec:void 0,debug:!1,capLevelOnFPSDrop:!1,capLevelToPlayerSize:!1,ignoreDevicePixelRatio:!1,maxDevicePixelRatio:Number.POSITIVE_INFINITY,preferManagedMediaSource:!0,initialLiveManifestSize:1,maxBufferLength:30,backBufferLength:1/0,frontBufferFlushThreshold:1/0,startOnSegmentBoundary:!1,maxBufferSize:60*1e3*1e3,maxFragLookUpTolerance:.25,maxBufferHole:.1,detectStallWithCurrentTimeMs:1250,highBufferWatchdogPeriod:2,nudgeOffset:.1,nudgeMaxRetry:3,nudgeOnVideoHole:!0,liveSyncMode:"edge",liveSyncDurationCount:3,liveSyncOnStallIncrease:1,liveMaxLatencyDurationCount: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:5e3,fpsDroppedMonitoringThreshold:.2,appendErrorMaxRetry:3,ignorePlaylistParsingErrors:!1,loader:Fo,fLoader:void 0,pLoader:void 0,xhrSetup:void 0,licenseXhrSetup:void 0,licenseResponseCallback:void 0,abrController:Gt,bufferController:Jl,capLevelController:ss,errorController:zr,fpsController:Fu,stretchShortVideoTrack:!1,maxAudioFramesDrift:1,forceKeyFrameOnDiscontinuity:!0,abrEwmaFastLive:3,abrEwmaSlowLive:9,abrEwmaFastVoD:3,abrEwmaSlowVoD:9,abrEwmaDefaultEstimate:5e5,abrEwmaDefaultEstimateMax:5e6,abrBandWidthFactor:.95,abrBandWidthUpFactor:.7,abrMaxWithRealBitrate:!1,maxStarvationDelay:4,maxLoadingDelay:4,minAutoBitrate:0,emeEnabled:!1,widevineLicenseUrl:void 0,drmSystems:{},drmSystemOptions:{},requestMediaKeySystemAccessFunc:ti,requireKeySystemAccessOnStart:!1,testBandwidth:!0,progressive:!1,lowLatencyMode:!0,cmcd:void 0,enableDateRangeMetadataCues:!0,enableEmsgMetadataCues:!0,enableEmsgKLVMetadata:!1,enableID3MetadataCues:!0,enableInterstitialPlayback:!0,interstitialAppendInPlace:!0,interstitialLiveLookAhead:10,useMediaCapabilities:!0,preserveManualLevelOnError:!1,certLoadPolicy:{default:Mc},keyLoadPolicy:{default:{maxTimeToFirstByteMs:8e3,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:2e4,backoff:"linear"},errorRetry:{maxNumRetry:8,retryDelayMs:1e3,maxRetryDelayMs:2e4,backoff:"linear"}}},manifestLoadPolicy:{default:{maxTimeToFirstByteMs:1/0,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},playlistLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:2,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},fragLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:12e4,timeoutRetry:{maxNumRetry:4,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:6,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},steeringManifestLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},interstitialAssetListLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:3e4,timeoutRetry:{maxNumRetry:0,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:0,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},manifestLoadingTimeOut:1e4,manifestLoadingMaxRetry:1,manifestLoadingRetryDelay:1e3,manifestLoadingMaxRetryTimeout:64e3,levelLoadingTimeOut:1e4,levelLoadingMaxRetry:4,levelLoadingRetryDelay:1e3,levelLoadingMaxRetryTimeout:64e3,fragLoadingTimeOut:2e4,fragLoadingMaxRetry:6,fragLoadingRetryDelay:1e3,fragLoadingMaxRetryTimeout:64e3},Bc()),{},{subtitleStreamController:$u,subtitleTrackController:Ku,timelineController:Tc,audioStreamController:Xl,audioTrackController:Yl,emeController:oa,cmcdController:Nu,contentSteeringController:Uu,interstitialsController:Yu});function Bc(){return{cueHandler:Sc,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 Uc(D,e,t){if((e.liveSyncDurationCount||e.liveMaxLatencyDurationCount)&&(e.liveSyncDuration||e.liveMaxLatencyDuration))throw new Error("Illegal hls.js config: don't mix up liveSyncDurationCount/liveMaxLatencyDurationCount and liveSyncDuration/liveMaxLatencyDuration");if(e.liveMaxLatencyDurationCount!==void 0&&(e.liveSyncDurationCount===void 0||e.liveMaxLatencyDurationCount<=e.liveSyncDurationCount))throw new Error('Illegal hls.js config: "liveMaxLatencyDurationCount" must be greater than "liveSyncDurationCount"');if(e.liveMaxLatencyDuration!==void 0&&(e.liveSyncDuration===void 0||e.liveMaxLatencyDuration<=e.liveSyncDuration))throw new Error('Illegal hls.js config: "liveMaxLatencyDuration" must be greater than "liveSyncDuration"');const i=Ts(D),u=["manifest","level","frag"],v=["TimeOut","MaxRetry","RetryDelay","MaxRetryTimeout"];return u.forEach(T=>{const M=`${T==="level"?"playlist":T}LoadPolicy`,W=e[M]===void 0,N=[];v.forEach(j=>{const Z=`${T}Loading${j}`,J=e[Z];if(J!==void 0&&W){N.push(Z);const re=i[M].default;switch(e[M]={default:re},j){case"TimeOut":re.maxLoadTimeMs=J,re.maxTimeToFirstByteMs=J;break;case"MaxRetry":re.errorRetry.maxNumRetry=J,re.timeoutRetry.maxNumRetry=J;break;case"RetryDelay":re.errorRetry.retryDelayMs=J,re.timeoutRetry.retryDelayMs=J;break;case"MaxRetryTimeout":re.errorRetry.maxRetryDelayMs=J,re.timeoutRetry.maxRetryDelayMs=J;break}}}),N.length&&t.warn(`hls.js config: "${N.join('", "')}" setting(s) are deprecated, use "${M}": ${gt(e[M])}`)}),n(n({},i),e)}function Ts(D){return D&&typeof D=="object"?Array.isArray(D)?D.map(Ts):Object.keys(D).reduce((e,t)=>(e[t]=Ts(D[t]),e),{}):D}function Fc(D,e){const t=D.loader;t!==Uo&&t!==Fo?(e.log("[config]: Custom loader detected, cannot enable progressive streaming"),D.progressive=!1):Dc()&&(D.loader=Uo,D.progressive=!0,D.enableSoftwareAES=!0,e.log("[config]: Progressive streaming enabled, using FetchLoader"))}const ka=2,kc=.1,Wc=.05,Kc=100;class Gc extends Zr{constructor(e,t){super("gap-controller",e.logger),this.hls=null,this.fragmentTracker=null,this.media=null,this.mediaSource=void 0,this.nudgeRetry=0,this.stallReported=!1,this.stalled=null,this.moved=!1,this.seeking=!1,this.buffered={},this.lastCurrentTime=0,this.ended=0,this.waiting=0,this.onMediaPlaying=()=>{this.ended=0,this.waiting=0},this.onMediaWaiting=()=>{var i;(i=this.media)!=null&&i.seeking||(this.waiting=self.performance.now(),this.tick())},this.onMediaEnded=()=>{if(this.hls){var i;this.ended=((i=this.media)==null?void 0:i.currentTime)||1,this.hls.trigger(y.MEDIA_ENDED,{stalled:!1})}},this.hls=e,this.fragmentTracker=t,this.registerListeners()}registerListeners(){const{hls:e}=this;e&&(e.on(y.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(y.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(y.BUFFER_APPENDED,this.onBufferAppended,this))}unregisterListeners(){const{hls:e}=this;e&&(e.off(y.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(y.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(y.BUFFER_APPENDED,this.onBufferAppended,this))}destroy(){super.destroy(),this.unregisterListeners(),this.media=this.hls=this.fragmentTracker=null,this.mediaSource=void 0}onMediaAttached(e,t){this.setInterval(Kc),this.mediaSource=t.mediaSource;const i=this.media=t.media;pn(i,"playing",this.onMediaPlaying),pn(i,"waiting",this.onMediaWaiting),pn(i,"ended",this.onMediaEnded)}onMediaDetaching(e,t){this.clearInterval();const{media:i}=this;i&&(Tn(i,"playing",this.onMediaPlaying),Tn(i,"waiting",this.onMediaWaiting),Tn(i,"ended",this.onMediaEnded),this.media=null),this.mediaSource=void 0}onBufferAppended(e,t){this.buffered=t.timeRanges}get hasBuffered(){return Object.keys(this.buffered).length>0}tick(){var e;if(!((e=this.media)!=null&&e.readyState)||!this.hasBuffered)return;const t=this.media.currentTime;this.poll(t,this.lastCurrentTime),this.lastCurrentTime=t}poll(e,t){var i,u;const v=(i=this.hls)==null?void 0:i.config;if(!v)return;const T=this.media;if(!T)return;const{seeking:M}=T,W=this.seeking&&!M,N=!this.seeking&&M,j=T.paused&&!M||T.ended||T.playbackRate===0;if(this.seeking=M,e!==t){t&&(this.ended=0),this.moved=!0,M||(this.nudgeRetry=0,v.nudgeOnVideoHole&&!j&&e>t&&this.nudgeOnVideoHole(e,t)),this.waiting===0&&this.stallResolved(e);return}if(N||W){W&&this.stallResolved(e);return}if(j){this.nudgeRetry=0,this.stallResolved(e),!this.ended&&T.ended&&this.hls&&(this.ended=e||1,this.hls.trigger(y.MEDIA_ENDED,{stalled:!1}));return}if(!fr.getBuffered(T).length){this.nudgeRetry=0;return}const Z=fr.bufferInfo(T,e,0),J=Z.nextStart||0,re=this.fragmentTracker;if(M&&re&&this.hls){const Pt=ko(this.hls.inFlightFragments,e),it=Z.len>ka,_t=!J||Pt||J-e>ka&&!re.getPartialFragment(e);if(it||_t)return;this.moved=!1}const ie=(u=this.hls)==null?void 0:u.latestLevelDetails;if(!this.moved&&this.stalled!==null&&re){if(!(Z.len>0)&&!J)return;const it=Math.max(J,Z.start||0)-e,Et=!!(ie!=null&&ie.live)?ie.targetduration*2:ka,qe=re.getPartialFragment(e);if(it>0&&(it<=Et||qe)){T.paused||this._trySkipBufferHole(qe);return}}const pe=v.detectStallWithCurrentTimeMs,_e=self.performance.now(),Se=this.waiting;let ke=this.stalled;if(ke===null)if(Se>0&&_e-Se<pe)ke=this.stalled=Se;else{this.stalled=_e;return}const Me=_e-ke;if(!M&&(Me>=pe||Se)&&this.hls){var Ze;if(((Ze=this.mediaSource)==null?void 0:Ze.readyState)==="ended"&&!(ie!=null&&ie.live)&&Math.abs(e-((ie==null?void 0:ie.edge)||0))<1){if(this.ended)return;this.ended=e||1,this.hls.trigger(y.MEDIA_ENDED,{stalled:!0});return}if(this._reportStall(Z),!this.media||!this.hls)return}const ot=fr.bufferInfo(T,e,v.maxBufferHole);this._tryFixBufferStall(ot,Me,e)}stallResolved(e){const t=this.stalled;if(t&&this.hls&&(this.stalled=null,this.stallReported)){const i=self.performance.now()-t;this.log(`playback not stuck anymore @${e}, after ${Math.round(i)}ms`),this.stallReported=!1,this.waiting=0,this.hls.trigger(y.STALL_RESOLVED,{})}}nudgeOnVideoHole(e,t){var i;const u=this.buffered.video;if(this.hls&&this.media&&this.fragmentTracker&&(i=this.buffered.audio)!=null&&i.length&&u&&u.length>1&&e>u.end(0)){const v=fr.bufferedInfo(fr.timeRangesToArray(this.buffered.audio),e,0);if(v.len>1&&t>=v.start){const T=fr.timeRangesToArray(u),M=fr.bufferedInfo(T,t,0).bufferedIndex;if(M>-1&&M<T.length-1){const W=fr.bufferedInfo(T,e,0).bufferedIndex,N=T[M].end,j=T[M+1].start;if((W===-1||W>M)&&j-N<1&&e-N<2){const Z=new Error(`nudging playhead to flush pipeline after video hole. currentTime: ${e} hole: ${N} -> ${j} buffered index: ${W}`);this.warn(Z.message),this.media.currentTime+=1e-6;const J=this.fragmentTracker.getPartialFragment(e)||void 0,re=fr.bufferInfo(this.media,e,0);this.hls.trigger(y.ERROR,{type:S.MEDIA_ERROR,details:K.BUFFER_SEEK_OVER_HOLE,fatal:!1,error:Z,reason:Z.message,frag:J,buffer:re.len,bufferInfo:re})}}}}}_tryFixBufferStall(e,t,i){var u,v;const{fragmentTracker:T,media:M}=this,W=(u=this.hls)==null?void 0:u.config;if(!M||!T||!W)return;const N=(v=this.hls)==null?void 0:v.latestLevelDetails,j=T.getPartialFragment(i);if((j||N!=null&&N.live&&i<N.fragmentStart)&&(this._trySkipBufferHole(j)||!this.media))return;const Z=e.buffered,J=this.adjacentTraversal(e,i);(Z&&Z.length>1&&e.len>W.maxBufferHole||e.nextStart&&(e.nextStart-i<W.maxBufferHole||J))&&(t>W.highBufferWatchdogPeriod*1e3||this.waiting)&&(this.warn("Trying to nudge playhead over buffer-hole"),this._tryNudgeBuffer(e))}adjacentTraversal(e,t){const i=this.fragmentTracker,u=e.nextStart;if(i&&u){const v=i.getFragAtPos(t,A.MAIN),T=i.getFragAtPos(u,A.MAIN);if(v&&T)return T.sn-v.sn<2}return!1}_reportStall(e){const{hls:t,media:i,stallReported:u,stalled:v}=this;if(!u&&v!==null&&i&&t){this.stallReported=!0;const T=new Error(`Playback stalling at @${i.currentTime} due to low buffer (${gt(e)})`);this.warn(T.message),t.trigger(y.ERROR,{type:S.MEDIA_ERROR,details:K.BUFFER_STALLED_ERROR,fatal:!1,error:T,buffer:e.len,bufferInfo:e,stalled:{start:v}})}}_trySkipBufferHole(e){var t;const{fragmentTracker:i,media:u}=this,v=(t=this.hls)==null?void 0:t.config;if(!u||!i||!v)return 0;const T=u.currentTime,M=fr.bufferInfo(u,T,0),W=T<M.start?M.start:M.nextStart;if(W&&this.hls){const j=M.len<=v.maxBufferHole,Z=M.len>0&&M.len<1&&u.readyState<3,J=W-T;if(J>0&&(j||Z)){if(J>v.maxBufferHole){let ie=!1;if(T===0){const pe=i.getAppendedFrag(0,A.MAIN);pe&&W<pe.end&&(ie=!0)}if(!ie){const pe=e||i.getAppendedFrag(T,A.MAIN);if(pe){var N;if(!((N=this.hls.loadLevelObj)!=null&&N.details)||ko(this.hls.inFlightFragments,W))return 0;let Se=!1,ke=pe.end;for(;ke<W;){const Me=i.getAppendedFrag(ke,A.MAIN)||i.getPartialFragment(ke);if(Me)ke+=Me.duration;else{Se=!0;break}}if(Se)return 0}}}const re=Math.max(W+Wc,T+kc);if(this.warn(`skipping hole, adjusting currentTime from ${T} to ${re}`),this.moved=!0,u.currentTime=re,!(e!=null&&e.gap)){const ie=new Error(`fragment loaded with buffer holes, seeking from ${T} to ${re}`);this.hls.trigger(y.ERROR,{type:S.MEDIA_ERROR,details:K.BUFFER_SEEK_OVER_HOLE,fatal:!1,error:ie,reason:ie.message,frag:e||void 0,buffer:M.len,bufferInfo:M})}return re}}return 0}_tryNudgeBuffer(e){const{hls:t,media:i,nudgeRetry:u}=this,v=t==null?void 0:t.config;if(!i||!v)return 0;const T=i.currentTime;if(this.nudgeRetry++,u<v.nudgeMaxRetry){const M=T+(u+1)*v.nudgeOffset,W=new Error(`Nudging 'currentTime' from ${T} to ${M}`);this.warn(W.message),i.currentTime=M,t.trigger(y.ERROR,{type:S.MEDIA_ERROR,details:K.BUFFER_NUDGE_ON_STALL,error:W,fatal:!1,buffer:e.len,bufferInfo:e})}else{const M=new Error(`Playhead still not moving while enough data buffered @${T} after ${v.nudgeMaxRetry} nudges`);this.error(M.message),t.trigger(y.ERROR,{type:S.MEDIA_ERROR,details:K.BUFFER_STALLED_ERROR,error:M,fatal:!0,buffer:e.len,bufferInfo:e})}}}function ko(D,e){const t=Wo(D.main);if(t&&t.start<=e)return t;const i=Wo(D.audio);return i&&i.start<=e?i:null}function Wo(D){if(!D)return null;switch(D.state){case wt.IDLE:case wt.STOPPED:case wt.ENDED:case wt.ERROR:return null}return D.frag}const Vc=.25;function As(){if(typeof self!="undefined")return self.VTTCue||self.TextTrackCue}function Ko(D,e,t,i,u){let v=new D(e,t,"");try{v.value=i,u&&(v.type=u)}catch(T){v=new D(e,t,gt(u?n({type:u},i):i))}return v}const Wa=(()=>{const D=As();try{D&&new D(0,Number.POSITIVE_INFINITY,"")}catch(e){return Number.MAX_VALUE}return Number.POSITIVE_INFINITY})();class Hc{constructor(e){this.hls=void 0,this.id3Track=null,this.media=null,this.dateRangeCuesAppended={},this.removeCues=!0,this.onEventCueEnter=()=>{this.hls&&this.hls.trigger(y.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(){const{hls:e}=this;e.on(y.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(y.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(y.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(y.MANIFEST_LOADING,this.onManifestLoading,this),e.on(y.FRAG_PARSING_METADATA,this.onFragParsingMetadata,this),e.on(y.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(y.LEVEL_UPDATED,this.onLevelUpdated,this),e.on(y.LEVEL_PTS_UPDATED,this.onLevelPtsUpdated,this)}_unregisterListeners(){const{hls:e}=this;e.off(y.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(y.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(y.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(y.MANIFEST_LOADING,this.onManifestLoading,this),e.off(y.FRAG_PARSING_METADATA,this.onFragParsingMetadata,this),e.off(y.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(y.LEVEL_UPDATED,this.onLevelUpdated,this),e.off(y.LEVEL_PTS_UPDATED,this.onLevelPtsUpdated,this)}onMediaAttaching(e,t){var i;this.media=t.media,((i=t.overrides)==null?void 0:i.cueRemoval)===!1&&(this.removeCues=!1)}onMediaAttached(){const e=this.hls.latestLevelDetails;e&&this.updateDateRangeCues(e)}onMediaDetaching(e,t){this.media=null,!t.transferMedia&&(this.id3Track&&(this.removeCues&&la(this.id3Track,this.onEventCueEnter),this.id3Track=null),this.dateRangeCuesAppended={})}onManifestLoading(){this.dateRangeCuesAppended={}}createTrack(e){const t=this.getID3Track(e.textTracks);return t.mode="hidden",t}getID3Track(e){if(this.media){for(let t=0;t<e.length;t++){const i=e[t];if(i.kind==="metadata"&&i.label==="id3")return mo(i,this.media),i}return this.media.addTextTrack("metadata","id3")}}onFragParsingMetadata(e,t){if(!this.media)return;const{hls:{config:{enableEmsgMetadataCues:i,enableID3MetadataCues:u}}}=this;if(!i&&!u)return;const{samples:v}=t;this.id3Track||(this.id3Track=this.createTrack(this.media));const T=As();if(T)for(let M=0;M<v.length;M++){const W=v[M].type;if(W===ln.emsg&&!i||!u)continue;const N=Os(v[M].data);if(N){const j=v[M].pts;let Z=j+v[M].duration;Z>Wa&&(Z=Wa),Z-j<=0&&(Z=j+Vc);for(let re=0;re<N.length;re++){const ie=N[re];if(!Ms(ie)){this.updateId3CueEnds(j,W);const pe=Ko(T,j,Z,ie,W);pe&&this.id3Track.addCue(pe)}}}}}updateId3CueEnds(e,t){var i;const u=(i=this.id3Track)==null?void 0:i.cues;if(u)for(let v=u.length;v--;){const T=u[v];T.type===t&&T.startTime<e&&T.endTime===Wa&&(T.endTime=e)}}onBufferFlushing(e,{startOffset:t,endOffset:i,type:u}){const{id3Track:v,hls:T}=this;if(!T)return;const{config:{enableEmsgMetadataCues:M,enableID3MetadataCues:W}}=T;if(v&&(M||W)){let N;u==="audio"?N=j=>j.type===ln.audioId3&&W:u==="video"?N=j=>j.type===ln.emsg&&M:N=j=>j.type===ln.audioId3&&W||j.type===ln.emsg&&M,cs(v,t,i,N)}}onLevelUpdated(e,{details:t}){this.updateDateRangeCues(t,!0)}onLevelPtsUpdated(e,t){Math.abs(t.drift)>.01&&this.updateDateRangeCues(t.details)}updateDateRangeCues(e,t){if(!this.media||!e.hasProgramDateTime||!this.hls.config.enableDateRangeMetadataCues)return;const{id3Track:i}=this,{dateRanges:u}=e,v=Object.keys(u);let T=this.dateRangeCuesAppended;if(i&&t){var M;if((M=i.cues)!=null&&M.length){const j=Object.keys(T).filter(Z=>!v.includes(Z));for(let Z=j.length;Z--;){const J=j[Z],re=T[J].cues;delete T[J],Object.keys(re).forEach(ie=>{try{const pe=re[ie];pe.removeEventListener("enter",this.onEventCueEnter),i.removeCue(pe)}catch(pe){}})}}else T=this.dateRangeCuesAppended={}}const W=e.fragments[e.fragments.length-1];if(v.length===0||!ee(W==null?void 0:W.programDateTime))return;this.id3Track||(this.id3Track=this.createTrack(this.media));const N=As();for(let j=0;j<v.length;j++){const Z=v[j],J=u[Z],re=J.startTime,ie=T[Z],pe=(ie==null?void 0:ie.cues)||{};let _e=(ie==null?void 0:ie.durationKnown)||!1,Se=Wa;const{duration:ke,endDate:Me}=J;if(Me&&ke!==null)Se=re+ke,_e=!0;else if(J.endOnNext&&!_e){const ot=v.reduce((Pt,it)=>{if(it!==J.id){const _t=u[it];if(_t.class===J.class&&_t.startDate>J.startDate&&(!Pt||J.startDate<Pt.startDate))return _t}return Pt},null);ot&&(Se=ot.startTime,_e=!0)}const Ze=Object.keys(J.attr);for(let ot=0;ot<Ze.length;ot++){const Pt=Ze[ot];if(!Xi(Pt))continue;const it=pe[Pt];if(it)_e&&!ie.durationKnown?it.endTime=Se:Math.abs(it.startTime-re)>.01&&(it.startTime=re,it.endTime=Se);else if(N){let _t=J.attr[Pt];xi(Pt)&&(_t=P(_t));const qe=Ko(N,re,Se,{key:Pt,data:_t},ln.dateRange);qe&&(qe.id=Z,this.id3Track.addCue(qe),pe[Pt]=qe,this.hls.config.interstitialsController&&(Pt==="X-ASSET-LIST"||Pt==="X-ASSET-URL")&&qe.addEventListener("enter",this.onEventCueEnter))}}T[Z]={cues:pe,dateRange:J,durationKnown:_e}}}}class zc{constructor(e){this.hls=void 0,this.config=void 0,this.media=null,this.currentTime=0,this.stallCount=0,this._latency=null,this._targetLatencyUpdated=!1,this.onTimeupdate=()=>{const{media:t}=this,i=this.levelDetails;if(!t||!i)return;this.currentTime=t.currentTime;const u=this.computeLatency();if(u===null)return;this._latency=u;const{lowLatencyMode:v,maxLiveSyncPlaybackRate:T}=this.config;if(!v||T===1||!i.live)return;const M=this.targetLatency;if(M===null)return;const W=u-M,N=Math.min(this.maxLatency,M+i.targetduration);if(W<N&&W>.05&&this.forwardBufferLength>1){const Z=Math.min(2,Math.max(1,T)),J=Math.round(2/(1+Math.exp(-.75*W-this.edgeStalled))*20)/20,re=Math.min(Z,Math.max(1,J));this.changeMediaPlaybackRate(t,re)}else t.playbackRate!==1&&t.playbackRate!==0&&this.changeMediaPlaybackRate(t,1)},this.hls=e,this.config=e.config,this.registerListeners()}get levelDetails(){var e;return((e=this.hls)==null?void 0:e.latestLevelDetails)||null}get latency(){return this._latency||0}get maxLatency(){const{config:e}=this;if(e.liveMaxLatencyDuration!==void 0)return e.liveMaxLatencyDuration;const t=this.levelDetails;return t?e.liveMaxLatencyDurationCount*t.targetduration:0}get targetLatency(){const e=this.levelDetails;if(e===null||this.hls===null)return null;const{holdBack:t,partHoldBack:i,targetduration:u}=e,{liveSyncDuration:v,liveSyncDurationCount:T,lowLatencyMode:M}=this.config,W=this.hls.userConfig;let N=M&&i||t;(this._targetLatencyUpdated||W.liveSyncDuration||W.liveSyncDurationCount||N===0)&&(N=v!==void 0?v:T*u);const j=u;return N+Math.min(this.stallCount*this.config.liveSyncOnStallIncrease,j)}set targetLatency(e){this.stallCount=0,this.config.liveSyncDuration=e,this._targetLatencyUpdated=!0}get liveSyncPosition(){const e=this.estimateLiveEdge(),t=this.targetLatency;if(e===null||t===null)return null;const i=this.levelDetails;if(i===null)return null;const u=i.edge,v=e-t-this.edgeStalled,T=u-i.totalduration,M=u-(this.config.lowLatencyMode&&i.partTarget||i.targetduration);return Math.min(Math.max(T,v),M)}get drift(){const e=this.levelDetails;return e===null?1:e.drift}get edgeStalled(){const e=this.levelDetails;if(e===null)return 0;const t=(this.config.lowLatencyMode&&e.partTarget||e.targetduration)*3;return Math.max(e.age-t,0)}get forwardBufferLength(){const{media:e}=this,t=this.levelDetails;if(!e||!t)return 0;const i=e.buffered.length;return(i?e.buffered.end(i-1):t.edge)-this.currentTime}destroy(){this.unregisterListeners(),this.onMediaDetaching(),this.hls=null}registerListeners(){const{hls:e}=this;e&&(e.on(y.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(y.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(y.MANIFEST_LOADING,this.onManifestLoading,this),e.on(y.LEVEL_UPDATED,this.onLevelUpdated,this),e.on(y.ERROR,this.onError,this))}unregisterListeners(){const{hls:e}=this;e&&(e.off(y.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(y.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(y.MANIFEST_LOADING,this.onManifestLoading,this),e.off(y.LEVEL_UPDATED,this.onLevelUpdated,this),e.off(y.ERROR,this.onError,this))}onMediaAttached(e,t){this.media=t.media,this.media.addEventListener("timeupdate",this.onTimeupdate)}onMediaDetaching(){this.media&&(this.media.removeEventListener("timeupdate",this.onTimeupdate),this.media=null)}onManifestLoading(){this._latency=null,this.stallCount=0}onLevelUpdated(e,{details:t}){t.advanced&&this.onTimeupdate(),!t.live&&this.media&&this.media.removeEventListener("timeupdate",this.onTimeupdate)}onError(e,t){var i;t.details===K.BUFFER_STALLED_ERROR&&(this.stallCount++,this.hls&&(i=this.levelDetails)!=null&&i.live&&this.hls.logger.warn("[latency-controller]: Stall detected, adjusting target latency"))}changeMediaPlaybackRate(e,t){var i,u;e.playbackRate!==t&&((i=this.hls)==null||i.logger.debug(`[latency-controller]: latency=${this.latency.toFixed(3)}, targetLatency=${(u=this.targetLatency)==null?void 0:u.toFixed(3)}, forwardBufferLength=${this.forwardBufferLength.toFixed(3)}: adjusting playback rate from ${e.playbackRate} to ${t}`),e.playbackRate=t)}estimateLiveEdge(){const e=this.levelDetails;return e===null?null:e.edge+e.age}computeLatency(){const e=this.estimateLiveEdge();return e===null?null:e-this.currentTime}}class jc extends is{constructor(e,t){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.onParsedComplete=void 0,this.steering=t,this._registerListeners()}_registerListeners(){const{hls:e}=this;e.on(y.MANIFEST_LOADING,this.onManifestLoading,this),e.on(y.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(y.LEVEL_LOADED,this.onLevelLoaded,this),e.on(y.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(y.FRAG_BUFFERED,this.onFragBuffered,this),e.on(y.ERROR,this.onError,this)}_unregisterListeners(){const{hls:e}=this;e.off(y.MANIFEST_LOADING,this.onManifestLoading,this),e.off(y.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(y.LEVEL_LOADED,this.onLevelLoaded,this),e.off(y.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(y.FRAG_BUFFERED,this.onFragBuffered,this),e.off(y.ERROR,this.onError,this)}destroy(){this._unregisterListeners(),this.steering=null,this.resetLevels(),super.destroy()}stopLoad(){this._levels.forEach(t=>{t.loadError=0,t.fragmentError=0}),super.stopLoad()}resetLevels(){this._startLevel=void 0,this.manualLevelIndex=-1,this.currentLevelIndex=-1,this.currentLevel=null,this._levels=[],this._maxAutoLevel=-1}onManifestLoading(e,t){this.resetLevels()}onManifestLoaded(e,t){const i=this.hls.config.preferManagedMediaSource,u=[],v={},T={};let M=!1,W=!1,N=!1;t.levels.forEach(j=>{const Z=j.attrs;let{audioCodec:J,videoCodec:re}=j;J&&(j.audioCodec=J=Yt(J,i)||void 0),re&&(re=j.videoCodec=yt(re));const{width:ie,height:pe,unknownCodecs:_e}=j;let Se=_e?_e.length:0;if(_e)for(let qe=Se;qe--;){const jt=_e[qe];this.isAudioSupported(jt)?(j.audioCodec=J=J?`${J},${jt}`:jt,Se--,ut.audio[J.substring(0,4)]=2):this.isVideoSupported(jt)&&(j.videoCodec=re=re?`${re},${jt}`:jt,Se--,ut.video[re.substring(0,4)]=2)}if(M||(M=!!(ie&&pe)),W||(W=!!re),N||(N=!!J),Se||J&&!this.isAudioSupported(J)||re&&!this.isVideoSupported(re)){this.log(`Some or all CODECS not supported "${Z.CODECS}"`);return}const{CODECS:ke,"FRAME-RATE":Me,"HDCP-LEVEL":Ze,"PATHWAY-ID":ot,RESOLUTION:Pt,"VIDEO-RANGE":it}=Z,Et=`${`${ot||"."}-`}${j.bitrate}-${Pt}-${Me}-${ke}-${it}-${Ze}`;if(v[Et])if(v[Et].uri!==j.url&&!j.attrs["PATHWAY-ID"]){const qe=T[Et]+=1;j.attrs["PATHWAY-ID"]=new Array(qe+1).join(".");const jt=this.createLevel(j);v[Et]=jt,u.push(jt)}else v[Et].addGroupId("audio",Z.AUDIO),v[Et].addGroupId("text",Z.SUBTITLES);else{const qe=this.createLevel(j);v[Et]=qe,T[Et]=1,u.push(qe)}}),this.filterAndSortMediaOptions(u,t,M,W,N)}createLevel(e){const t=new He(e),i=e.supplemental;if(i!=null&&i.videoCodec&&!this.isVideoSupported(i.videoCodec)){const u=new Error(`SUPPLEMENTAL-CODECS not supported "${i.videoCodec}"`);this.log(u.message),t.supportedResult=V(u,[])}return t}isAudioSupported(e){return Ar(e,"audio",this.hls.config.preferManagedMediaSource)}isVideoSupported(e){return Ar(e,"video",this.hls.config.preferManagedMediaSource)}filterAndSortMediaOptions(e,t,i,u,v){let T=[],M=[],W=e;if((i||u)&&v&&(W=W.filter(({videoCodec:_e,videoRange:Se,width:ke,height:Me})=>(!!_e||!!(ke&&Me))&&Ie(Se))),W.length===0){Promise.resolve().then(()=>{if(this.hls){let _e="no level with compatible codecs found in manifest",Se=_e;t.levels.length&&(Se=`one or more CODECS in variant not supported: ${gt(t.levels.map(Me=>Me.attrs.CODECS).filter((Me,Ze,ot)=>ot.indexOf(Me)===Ze))}`,this.warn(Se),_e+=` (${Se})`);const ke=new Error(_e);this.hls.trigger(y.ERROR,{type:S.MEDIA_ERROR,details:K.MANIFEST_INCOMPATIBLE_CODECS_ERROR,fatal:!0,url:t.url,error:ke,reason:Se})}});return}t.audioTracks&&(T=t.audioTracks.filter(_e=>!_e.audioCodec||this.isAudioSupported(_e.audioCodec)),Go(T)),t.subtitles&&(M=t.subtitles,Go(M));const N=W.slice(0);W.sort((_e,Se)=>{if(_e.attrs["HDCP-LEVEL"]!==Se.attrs["HDCP-LEVEL"])return(_e.attrs["HDCP-LEVEL"]||"")>(Se.attrs["HDCP-LEVEL"]||"")?1:-1;if(i&&_e.height!==Se.height)return _e.height-Se.height;if(_e.frameRate!==Se.frameRate)return _e.frameRate-Se.frameRate;if(_e.videoRange!==Se.videoRange)return zt.indexOf(_e.videoRange)-zt.indexOf(Se.videoRange);if(_e.videoCodec!==Se.videoCodec){const ke=ar(_e.videoCodec),Me=ar(Se.videoCodec);if(ke!==Me)return Me-ke}if(_e.uri===Se.uri&&_e.codecSet!==Se.codecSet){const ke=or(_e.codecSet),Me=or(Se.codecSet);if(ke!==Me)return Me-ke}return _e.averageBitrate!==Se.averageBitrate?_e.averageBitrate-Se.averageBitrate:0});let j=N[0];if(this.steering&&(W=this.steering.filterParsedLevels(W),W.length!==N.length)){for(let _e=0;_e<N.length;_e++)if(N[_e].pathwayId===W[0].pathwayId){j=N[_e];break}}this._levels=W;for(let _e=0;_e<W.length;_e++)if(W[_e]===j){var Z;this._firstLevel=_e;const Se=j.bitrate,ke=this.hls.bandwidthEstimate;if(this.log(`manifest loaded, ${W.length} level(s) found, first bitrate: ${Se}`),((Z=this.hls.userConfig)==null?void 0:Z.abrEwmaDefaultEstimate)===void 0){const Me=Math.min(Se,this.hls.config.abrEwmaDefaultEstimateMax);Me>ke&&ke===this.hls.abrEwmaDefaultEstimate&&(this.hls.bandwidthEstimate=Me)}break}const J=v&&!u,re=this.hls.config,ie=!!(re.audioStreamController&&re.audioTrackController),pe={levels:W,audioTracks:T,subtitleTracks:M,sessionData:t.sessionData,sessionKeys:t.sessionKeys,firstLevel:this._firstLevel,stats:t.stats,audio:v,video:u,altAudio:ie&&!J&&T.some(_e=>!!_e.url)};this.hls.trigger(y.MANIFEST_PARSED,pe)}get levels(){return this._levels.length===0?null:this._levels}get loadLevelObj(){return this.currentLevel}get level(){return this.currentLevelIndex}set level(e){const t=this._levels;if(t.length===0)return;if(e<0||e>=t.length){const j=new Error("invalid level idx"),Z=e<0;if(this.hls.trigger(y.ERROR,{type:S.OTHER_ERROR,details:K.LEVEL_SWITCH_ERROR,level:e,fatal:Z,error:j,reason:j.message}),Z)return;e=Math.min(e,t.length-1)}const i=this.currentLevelIndex,u=this.currentLevel,v=u?u.attrs["PATHWAY-ID"]:void 0,T=t[e],M=T.attrs["PATHWAY-ID"];if(this.currentLevelIndex=e,this.currentLevel=T,i===e&&u&&v===M)return;this.log(`Switching to level ${e} (${T.height?T.height+"p ":""}${T.videoRange?T.videoRange+" ":""}${T.codecSet?T.codecSet+" ":""}@${T.bitrate})${M?" with Pathway "+M:""} from level ${i}${v?" with Pathway "+v:""}`);const W={level:e,attrs:T.attrs,details:T.details,bitrate:T.bitrate,averageBitrate:T.averageBitrate,maxBitrate:T.maxBitrate,realBitrate:T.realBitrate,width:T.width,height:T.height,codecSet:T.codecSet,audioCodec:T.audioCodec,videoCodec:T.videoCodec,audioGroups:T.audioGroups,subtitleGroups:T.subtitleGroups,loaded:T.loaded,loadError:T.loadError,fragmentError:T.fragmentError,name:T.name,id:T.id,uri:T.uri,url:T.url,urlId:0,audioGroupIds:T.audioGroupIds,textGroupIds:T.textGroupIds};this.hls.trigger(y.LEVEL_SWITCHING,W);const N=T.details;if(!N||N.live){const j=this.switchParams(T.uri,u==null?void 0:u.details,N);this.loadPlaylist(j)}}get manualLevel(){return this.manualLevelIndex}set manualLevel(e){this.manualLevelIndex=e,this._startLevel===void 0&&(this._startLevel=e),e!==-1&&(this.level=e)}get firstLevel(){return this._firstLevel}set firstLevel(e){this._firstLevel=e}get startLevel(){if(this._startLevel===void 0){const e=this.hls.config.startLevel;return e!==void 0?e:this.hls.firstAutoLevel}return this._startLevel}set startLevel(e){this._startLevel=e}get pathways(){return this.steering?this.steering.pathways():[]}get pathwayPriority(){return this.steering?this.steering.pathwayPriority:null}set pathwayPriority(e){if(this.steering){const t=this.steering.pathways(),i=e.filter(u=>t.indexOf(u)!==-1);if(e.length<1){this.warn(`pathwayPriority ${e} should contain at least one pathway from list: ${t}`);return}this.steering.pathwayPriority=i}}onError(e,t){t.fatal||!t.context||t.context.type===L.LEVEL&&t.context.level===this.level&&this.checkRetry(t)}onFragBuffered(e,{frag:t}){if(t!==void 0&&t.type===A.MAIN){const i=t.elementaryStreams;if(!Object.keys(i).some(v=>!!i[v]))return;const u=this._levels[t.level];u!=null&&u.loadError&&(this.log(`Resetting level error count of ${u.loadError} on frag buffered`),u.loadError=0)}}onLevelLoaded(e,t){var i;const{level:u,details:v}=t,T=t.levelInfo;if(!T){var M;this.warn(`Invalid level index ${u}`),(M=t.deliveryDirectives)!=null&&M.skip&&(v.deltaUpdateFailed=!0);return}if(T===this.currentLevel||t.withoutMultiVariant){T.fragmentError===0&&(T.loadError=0);let W=T.details;W===t.details&&W.advanced&&(W=void 0),this.playlistLoaded(u,t,W)}else(i=t.deliveryDirectives)!=null&&i.skip&&(v.deltaUpdateFailed=!0)}loadPlaylist(e){super.loadPlaylist(),this.shouldLoadPlaylist(this.currentLevel)&&this.scheduleLoading(this.currentLevel,e)}loadingPlaylist(e,t){super.loadingPlaylist(e,t);const i=this.getUrlWithDirectives(e.uri,t),u=this.currentLevelIndex,v=e.attrs["PATHWAY-ID"],T=e.details,M=T==null?void 0:T.age;this.log(`Loading level index ${u}${(t==null?void 0:t.msn)!==void 0?" at sn "+t.msn+" part "+t.part:""}${v?" Pathway "+v:""}${M&&T.live?" age "+M.toFixed(1)+(T.type?" "+T.type||0:""):""} ${i}`),this.hls.trigger(y.LEVEL_LOADING,{url:i,level:u,levelInfo:e,pathwayId:e.attrs["PATHWAY-ID"],id:0,deliveryDirectives:t||null})}get nextLoadLevel(){return this.manualLevelIndex!==-1?this.manualLevelIndex:this.hls.nextAutoLevel}set nextLoadLevel(e){this.level=e,this.manualLevelIndex===-1&&(this.hls.nextAutoLevel=e)}removeLevel(e){var t;if(this._levels.length===1)return;const i=this._levels.filter((v,T)=>T!==e?!0:(this.steering&&this.steering.removeLevel(v),v===this.currentLevel&&(this.currentLevel=null,this.currentLevelIndex=-1,v.details&&v.details.fragments.forEach(M=>M.level=-1)),!1));sn(i),this._levels=i,this.currentLevelIndex>-1&&(t=this.currentLevel)!=null&&t.details&&(this.currentLevelIndex=this.currentLevel.details.fragments[0].level),this.manualLevelIndex>-1&&(this.manualLevelIndex=this.currentLevelIndex);const u=i.length-1;this._firstLevel=Math.min(this._firstLevel,u),this._startLevel&&(this._startLevel=Math.min(this._startLevel,u)),this.hls.trigger(y.LEVELS_UPDATED,{levels:i})}onLevelsUpdated(e,{levels:t}){this._levels=t}checkMaxAutoUpdated(){const{autoLevelCapping:e,maxAutoLevel:t,maxHdcpLevel:i}=this.hls;this._maxAutoLevel!==t&&(this._maxAutoLevel=t,this.hls.trigger(y.MAX_AUTO_LEVEL_UPDATED,{autoLevelCapping:e,levels:this.levels,maxAutoLevel:t,minAutoLevel:this.hls.minAutoLevel,maxHdcpLevel:i}))}}function Go(D){const e={};D.forEach(t=>{const i=t.groupId||"";t.id=e[i]=e[i]||0,e[i]++})}function Vo(){return self.SourceBuffer||self.WebKitSourceBuffer}function Ho(){if(!w())return!1;const e=Vo();return!e||e.prototype&&typeof e.prototype.appendBuffer=="function"&&typeof e.prototype.remove=="function"}function Zc(){if(!Ho())return!1;const D=w();return typeof(D==null?void 0:D.isTypeSupported)=="function"&&(["avc1.42E01E,mp4a.40.2","av01.0.01M.08","vp09.00.50.08"].some(e=>D.isTypeSupported(Ht(e,"video")))||["mp4a.40.2","fLaC"].some(e=>D.isTypeSupported(Ht(e,"audio"))))}function Xc(){var D;const e=Vo();return typeof(e==null||(D=e.prototype)==null?void 0:D.changeType)=="function"}const Yc=100;class $c extends gi{constructor(e,t,i){super(e,t,i,"stream-controller",A.MAIN),this.audioCodecSwap=!1,this.level=-1,this._forceStartLoad=!1,this._hasEnoughToStart=!1,this.altAudio=0,this.audioOnly=!1,this.fragPlaying=null,this.fragLastKbps=0,this.couldBacktrack=!1,this.backtrackFragment=null,this.audioCodecSwitch=!1,this.videoBuffer=null,this.onMediaPlaying=()=>{this.tick()},this.onMediaSeeked=()=>{const u=this.media,v=u?u.currentTime:null;if(v===null||!ee(v)||(this.log(`Media seeked to ${v.toFixed(3)}`),!this.getBufferedFrag(v)))return;const T=this.getFwdBufferInfoAtPos(u,v,A.MAIN,0);if(T===null||T.len===0){this.warn(`Main forward buffer length at ${v} on "seeked" event ${T?T.len:"empty"})`);return}this.tick()},this.registerListeners()}registerListeners(){super.registerListeners();const{hls:e}=this;e.on(y.MANIFEST_PARSED,this.onManifestParsed,this),e.on(y.LEVEL_LOADING,this.onLevelLoading,this),e.on(y.LEVEL_LOADED,this.onLevelLoaded,this),e.on(y.FRAG_LOAD_EMERGENCY_ABORTED,this.onFragLoadEmergencyAborted,this),e.on(y.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.on(y.AUDIO_TRACK_SWITCHED,this.onAudioTrackSwitched,this),e.on(y.BUFFER_CREATED,this.onBufferCreated,this),e.on(y.BUFFER_FLUSHED,this.onBufferFlushed,this),e.on(y.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(y.FRAG_BUFFERED,this.onFragBuffered,this)}unregisterListeners(){super.unregisterListeners();const{hls:e}=this;e.off(y.MANIFEST_PARSED,this.onManifestParsed,this),e.off(y.LEVEL_LOADED,this.onLevelLoaded,this),e.off(y.FRAG_LOAD_EMERGENCY_ABORTED,this.onFragLoadEmergencyAborted,this),e.off(y.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.off(y.AUDIO_TRACK_SWITCHED,this.onAudioTrackSwitched,this),e.off(y.BUFFER_CREATED,this.onBufferCreated,this),e.off(y.BUFFER_FLUSHED,this.onBufferFlushed,this),e.off(y.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(y.FRAG_BUFFERED,this.onFragBuffered,this)}onHandlerDestroying(){this.onMediaPlaying=this.onMediaSeeked=null,this.unregisterListeners(),super.onHandlerDestroying()}startLoad(e,t){if(this.levels){const{lastCurrentTime:i,hls:u}=this;if(this.stopLoad(),this.setInterval(Yc),this.level=-1,!this.startFragRequested){let v=u.startLevel;v===-1&&(u.config.testBandwidth&&this.levels.length>1?(v=0,this.bitrateTest=!0):v=u.firstAutoLevel),u.nextLoadLevel=v,this.level=u.loadLevel,this._hasEnoughToStart=!!t}i>0&&e===-1&&!t&&(this.log(`Override startPosition with lastCurrentTime @${i.toFixed(3)}`),e=i),this.state=wt.IDLE,this.nextLoadPosition=this.lastCurrentTime=e+this.timelineOffset,this.startPosition=t?-1:e,this.tick()}else this._forceStartLoad=!0,this.state=wt.STOPPED}stopLoad(){this._forceStartLoad=!1,super.stopLoad()}doTick(){switch(this.state){case wt.WAITING_LEVEL:{const{levels:t,level:i}=this,u=t==null?void 0:t[i],v=u==null?void 0:u.details;if(v&&(!v.live||this.levelLastLoaded===u&&!this.waitForLive(u))){if(this.waitForCdnTuneIn(v))break;this.state=wt.IDLE;break}else if(this.hls.nextLoadLevel!==this.level){this.state=wt.IDLE;break}break}case wt.FRAG_LOADING_WAITING_RETRY:{var e;const t=self.performance.now(),i=this.retryDate;if(!i||t>=i||(e=this.media)!=null&&e.seeking){const{levels:u,level:v}=this,T=u==null?void 0:u[v];this.resetStartWhenNotLoaded(T||null),this.state=wt.IDLE}}break}this.state===wt.IDLE&&this.doTickIdle(),this.onTickEnd()}onTickEnd(){var e;super.onTickEnd(),(e=this.media)!=null&&e.readyState&&this.media.seeking===!1&&(this.lastCurrentTime=this.media.currentTime),this.checkFragmentChanged()}doTickIdle(){const{hls:e,levelLastLoaded:t,levels:i,media:u}=this;if(t===null||!u&&!this.primaryPrefetch&&(this.startFragRequested||!e.config.startFragPrefetch)||this.altAudio&&this.audioOnly)return;const v=this.buffering?e.nextLoadLevel:e.loadLevel;if(!(i!=null&&i[v]))return;const T=i[v],M=this.getMainFwdBufferInfo();if(M===null)return;const W=this.getLevelDetails();if(W&&this._streamEnded(M,W)){const pe={};this.altAudio===2&&(pe.type="video"),this.hls.trigger(y.BUFFER_EOS,pe),this.state=wt.ENDED;return}if(!this.buffering)return;e.loadLevel!==v&&e.manualLevel===-1&&this.log(`Adapting to level ${v} from level ${this.level}`),this.level=e.nextLoadLevel=v;const N=T.details;if(!N||this.state===wt.WAITING_LEVEL||this.waitForLive(T)){this.level=v,this.state=wt.WAITING_LEVEL,this.startFragRequested=!1;return}const j=M.len,Z=this.getMaxBufferLength(T.maxBitrate);if(j>=Z)return;this.backtrackFragment&&this.backtrackFragment.start>M.end&&(this.backtrackFragment=null);const J=this.backtrackFragment?this.backtrackFragment.start:M.end;let re=this.getNextFragment(J,N);if(this.couldBacktrack&&!this.fragPrevious&&re&&q(re)&&this.fragmentTracker.getState(re)!==xr.OK){var ie;const _e=((ie=this.backtrackFragment)!=null?ie:re).sn-N.startSN,Se=N.fragments[_e-1];Se&&re.cc===Se.cc&&(re=Se,this.fragmentTracker.removeFragment(Se))}else this.backtrackFragment&&M.len&&(this.backtrackFragment=null);if(re&&this.isLoopLoading(re,J)){if(!re.gap){const _e=this.audioOnly&&!this.altAudio?H.AUDIO:H.VIDEO,Se=(_e===H.VIDEO?this.videoBuffer:this.mediaBuffer)||this.media;Se&&this.afterBufferFlushed(Se,_e,A.MAIN)}re=this.getNextFragmentLoopLoading(re,N,M,A.MAIN,Z)}re&&(re.initSegment&&!re.initSegment.data&&!this.bitrateTest&&(re=re.initSegment),this.loadFragment(re,T,J))}loadFragment(e,t,i){const u=this.fragmentTracker.getState(e);u===xr.NOT_LOADED||u===xr.PARTIAL?q(e)?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,t)):super.loadFragment(e,t,i):this._loadInitSegment(e,t):this.clearTrackerIfNeeded(e)}getBufferedFrag(e){return this.fragmentTracker.getBufferedFrag(e,A.MAIN)}followingBufferedFrag(e){return e?this.getBufferedFrag(e.end+.5):null}immediateLevelSwitch(){this.abortCurrentFrag(),this.flushMainBuffer(0,Number.POSITIVE_INFINITY)}nextLevelSwitch(){const{levels:e,media:t}=this;if(t!=null&&t.readyState){let i;const u=this.getAppendedFrag(t.currentTime);u&&u.start>1&&this.flushMainBuffer(0,u.start-1);const v=this.getLevelDetails();if(v!=null&&v.live){const M=this.getMainFwdBufferInfo();if(!M||M.len<v.targetduration*2)return}if(!t.paused&&e){const M=this.hls.nextLoadLevel,W=e[M],N=this.fragLastKbps;N&&this.fragCurrent?i=this.fragCurrent.duration*W.maxBitrate/(1e3*N)+1:i=0}else i=0;const T=this.getBufferedFrag(t.currentTime+i);if(T){const M=this.followingBufferedFrag(T);if(M){this.abortCurrentFrag();const W=M.maxStartPTS?M.maxStartPTS:M.start,N=M.duration,j=Math.max(T.end,W+Math.min(Math.max(N-this.config.maxFragLookUpTolerance,N*(this.couldBacktrack?.5:.125)),N*(this.couldBacktrack?.75:.25)));this.flushMainBuffer(j,Number.POSITIVE_INFINITY)}}}}abortCurrentFrag(){const e=this.fragCurrent;switch(this.fragCurrent=null,this.backtrackFragment=null,e&&(e.abortRequests(),this.fragmentTracker.removeFragment(e)),this.state){case wt.KEY_LOADING:case wt.FRAG_LOADING:case wt.FRAG_LOADING_WAITING_RETRY:case wt.PARSING:case wt.PARSED:this.state=wt.IDLE;break}this.nextLoadPosition=this.getLoadPosition()}flushMainBuffer(e,t){super.flushMainBuffer(e,t,this.altAudio===2?"video":null)}onMediaAttached(e,t){super.onMediaAttached(e,t);const i=t.media;pn(i,"playing",this.onMediaPlaying),pn(i,"seeked",this.onMediaSeeked)}onMediaDetaching(e,t){const{media:i}=this;i&&(Tn(i,"playing",this.onMediaPlaying),Tn(i,"seeked",this.onMediaSeeked)),this.videoBuffer=null,this.fragPlaying=null,super.onMediaDetaching(e,t),!t.transferMedia&&(this._hasEnoughToStart=!1)}onManifestLoading(){super.onManifestLoading(),this.log("Trigger BUFFER_RESET"),this.hls.trigger(y.BUFFER_RESET,void 0),this.couldBacktrack=!1,this.fragLastKbps=0,this.fragPlaying=this.backtrackFragment=null,this.altAudio=0,this.audioOnly=!1}onManifestParsed(e,t){let i=!1,u=!1;t.levels.forEach(v=>{const T=v.audioCodec;T&&(i=i||T.indexOf("mp4a.40.2")!==-1,u=u||T.indexOf("mp4a.40.5")!==-1)}),this.audioCodecSwitch=i&&u&&!Xc(),this.audioCodecSwitch&&this.log("Both AAC/HE-AAC audio found in levels; declaring level codec as HE-AAC"),this.levels=t.levels,this.startFragRequested=!1}onLevelLoading(e,t){const{levels:i}=this;if(!i||this.state!==wt.IDLE)return;const u=t.levelInfo;(!u.details||u.details.live&&(this.levelLastLoaded!==u||u.details.expired)||this.waitForCdnTuneIn(u.details))&&(this.state=wt.WAITING_LEVEL)}onLevelLoaded(e,t){var i;const{levels:u,startFragRequested:v}=this,T=t.level,M=t.details,W=M.totalduration;if(!u){this.warn(`Levels were reset while loading level ${T}`);return}this.log(`Level ${T} loaded [${M.startSN},${M.endSN}]${M.lastPartSn?`[part-${M.lastPartSn}-${M.lastPartIndex}]`:""}, cc [${M.startCC}, ${M.endCC}] duration:${W}`);const N=t.levelInfo,j=this.fragCurrent;j&&(this.state===wt.FRAG_LOADING||this.state===wt.FRAG_LOADING_WAITING_RETRY)&&j.level!==t.level&&j.loader&&this.abortCurrentFrag();let Z=0;if(M.live||(i=N.details)!=null&&i.live){var J;if(this.checkLiveUpdate(M),M.deltaUpdateFailed)return;Z=this.alignPlaylists(M,N.details,(J=this.levelLastLoaded)==null?void 0:J.details)}if(N.details=M,this.levelLastLoaded=N,v||this.setStartPosition(M,Z),this.hls.trigger(y.LEVEL_UPDATED,{details:M,level:T}),this.state===wt.WAITING_LEVEL){if(this.waitForCdnTuneIn(M))return;this.state=wt.IDLE}v&&M.live&&this.synchronizeToLiveEdge(M),this.tick()}synchronizeToLiveEdge(e){const{config:t,media:i}=this;if(!i)return;const u=this.hls.liveSyncPosition,v=this.getLoadPosition(),T=e.fragmentStart,M=e.edge,W=v>=T-t.maxFragLookUpTolerance&&v<=M;if(u!==null&&i.duration>u&&(v<u||!W)){const j=t.liveMaxLatencyDuration!==void 0?t.liveMaxLatencyDuration:t.liveMaxLatencyDurationCount*e.targetduration;if((!W&&i.readyState<4||v<M-j)&&(this._hasEnoughToStart||(this.nextLoadPosition=u),i.readyState))if(this.warn(`Playback: ${v.toFixed(3)} is located too far from the end of live sliding playlist: ${M}, reset currentTime to : ${u.toFixed(3)}`),this.config.liveSyncMode==="buffered"){var N;const Z=fr.bufferInfo(i,u,0);if(!(Z!=null&&(N=Z.buffered)!=null&&N.length)){i.currentTime=u;return}if(Z.start<=v){i.currentTime=u;return}const{nextStart:re}=fr.bufferedInfo(Z.buffered,v,0);re&&(i.currentTime=re)}else i.currentTime=u}}_handleFragmentLoadProgress(e){var t;const i=e.frag,{part:u,payload:v}=e,{levels:T}=this;if(!T){this.warn(`Levels were reset while fragment load was in progress. Fragment ${i.sn} of level ${i.level} will not be buffered`);return}const M=T[i.level];if(!M){this.warn(`Level ${i.level} not found on progress`);return}const W=M.details;if(!W){this.warn(`Dropping fragment ${i.sn} of level ${i.level} after level details were reset`),this.fragmentTracker.removeFragment(i);return}const N=M.videoCodec,j=W.PTSKnown||!W.live,Z=(t=i.initSegment)==null?void 0:t.data,J=this._getAudioCodec(M),re=this.transmuxer=this.transmuxer||new Js(this.hls,A.MAIN,this._handleTransmuxComplete.bind(this),this._handleTransmuxerFlush.bind(this)),ie=u?u.index:-1,pe=ie!==-1,_e=new Ai(i.level,i.sn,i.stats.chunkCount,v.byteLength,ie,pe),Se=this.initPTS[i.cc];re.push(v,Z,J,N,i,u,W.totalduration,j,_e,Se)}onAudioTrackSwitching(e,t){const i=this.hls,u=this.altAudio===2;if(Ge(t.url,i))this.altAudio=1;else{if(this.mediaBuffer!==this.media){this.log("Switching on main audio, use media.buffered to schedule main fragment loading"),this.mediaBuffer=this.media;const T=this.fragCurrent;T&&(this.log("Switching to main audio track, cancel main fragment load"),T.abortRequests(),this.fragmentTracker.removeFragment(T)),this.resetTransmuxer(),this.resetLoadingState()}else this.audioOnly&&this.resetTransmuxer();if(u){this.fragmentTracker.removeAllFragments(),i.once(y.BUFFER_FLUSHED,()=>{var T;(T=this.hls)==null||T.trigger(y.AUDIO_TRACK_SWITCHED,t)}),i.trigger(y.BUFFER_FLUSHING,{startOffset:0,endOffset:Number.POSITIVE_INFINITY,type:null});return}i.trigger(y.AUDIO_TRACK_SWITCHED,t)}}onAudioTrackSwitched(e,t){const i=Ge(t.url,this.hls);if(i){const u=this.videoBuffer;u&&this.mediaBuffer!==u&&(this.log("Switching on alternate audio, use video.buffered to schedule main fragment loading"),this.mediaBuffer=u)}this.altAudio=i?2:0,this.tick()}onBufferCreated(e,t){const i=t.tracks;let u,v,T=!1;for(const M in i){const W=i[M];if(W.id==="main"){if(v=M,u=W,M==="video"){const N=i[M];N&&(this.videoBuffer=N.buffer)}}else T=!0}T&&u?(this.log(`Alternate track found, use ${v}.buffered to schedule main fragment loading`),this.mediaBuffer=u.buffer):this.mediaBuffer=this.media}onFragBuffered(e,t){const{frag:i,part:u}=t,v=i.type===A.MAIN;if(v){if(this.fragContextChanged(i)){this.warn(`Fragment ${i.sn}${u?" p: "+u.index:""} of level ${i.level} finished buffering, but was aborted. state: ${this.state}`),this.state===wt.PARSED&&(this.state=wt.IDLE);return}const M=u?u.stats:i.stats;this.fragLastKbps=Math.round(8*M.total/(M.buffering.end-M.loading.first)),q(i)&&(this.fragPrevious=i),this.fragBufferedComplete(i,u)}const T=this.media;T&&(!this._hasEnoughToStart&&fr.getBuffered(T).length&&(this._hasEnoughToStart=!0,this.seekToStartPos()),v&&this.tick())}get hasEnoughToStart(){return this._hasEnoughToStart}onError(e,t){var i;if(t.fatal){this.state=wt.ERROR;return}switch(t.details){case K.FRAG_GAP:case K.FRAG_PARSING_ERROR:case K.FRAG_DECRYPT_ERROR:case K.FRAG_LOAD_ERROR:case K.FRAG_LOAD_TIMEOUT:case K.KEY_LOAD_ERROR:case K.KEY_LOAD_TIMEOUT:this.onFragmentOrKeyLoadError(A.MAIN,t);break;case K.LEVEL_LOAD_ERROR:case K.LEVEL_LOAD_TIMEOUT:case K.LEVEL_PARSING_ERROR:!t.levelRetry&&this.state===wt.WAITING_LEVEL&&((i=t.context)==null?void 0:i.type)===L.LEVEL&&(this.state=wt.IDLE);break;case K.BUFFER_ADD_CODEC_ERROR:case K.BUFFER_APPEND_ERROR:if(t.parent!=="main")return;this.reduceLengthAndFlushBuffer(t)&&this.resetLoadingState();break;case K.BUFFER_FULL_ERROR:if(t.parent!=="main")return;this.reduceLengthAndFlushBuffer(t)&&this.flushMainBuffer(0,Number.POSITIVE_INFINITY);break;case K.INTERNAL_EXCEPTION:this.recoverWorkerError(t);break}}onFragLoadEmergencyAborted(){this.state=wt.IDLE,this._hasEnoughToStart||(this.startFragRequested=!1,this.nextLoadPosition=this.lastCurrentTime),this.tickImmediate()}onBufferFlushed(e,{type:t}){if(t!==H.AUDIO||!this.altAudio){const i=(t===H.VIDEO?this.videoBuffer:this.mediaBuffer)||this.media;i&&(this.afterBufferFlushed(i,t,A.MAIN),this.tick())}}onLevelsUpdated(e,t){this.level>-1&&this.fragCurrent&&(this.level=this.fragCurrent.level,this.level===-1&&this.resetWhenMissingContext(this.fragCurrent)),this.levels=t.levels}swapAudioCodec(){this.audioCodecSwap=!this.audioCodecSwap}seekToStartPos(){const{media:e}=this;if(!e)return;const t=e.currentTime;let i=this.startPosition;if(i>=0&&t<i){if(e.seeking){this.log(`could not seek to ${i}, already seeking at ${t}`);return}const u=this.timelineOffset;u&&i&&(i+=u);const v=this.getLevelDetails(),T=fr.getBuffered(e),M=T.length?T.start(0):0,W=M-i,N=Math.max(this.config.maxBufferHole,this.config.maxFragLookUpTolerance);(this.config.startOnSegmentBoundary||W>0&&(W<N||this.loadingParts&&W<2*((v==null?void 0:v.partTarget)||0)))&&(this.log(`adjusting start position by ${W} to match buffer start`),i+=W,this.startPosition=i),t<i&&(this.log(`seek to target start position ${i} from current time ${t} buffer start ${M}`),e.currentTime=i)}}_getAudioCodec(e){let t=this.config.defaultAudioCodec||e.audioCodec;return this.audioCodecSwap&&t&&(this.log("Swapping audio codec"),t.indexOf("mp4a.40.5")!==-1?t="mp4a.40.2":t="mp4a.40.5"),t}_loadBitrateTestFrag(e,t){e.bitrateTest=!0,this._doFragLoad(e,t).then(i=>{const{hls:u}=this,v=i==null?void 0:i.frag;if(!v||this.fragContextChanged(v))return;t.fragmentError=0,this.state=wt.IDLE,this.startFragRequested=!1,this.bitrateTest=!1;const T=v.stats;T.parsing.start=T.parsing.end=T.buffering.start=T.buffering.end=self.performance.now(),u.trigger(y.FRAG_LOADED,i),v.bitrateTest=!1})}_handleTransmuxComplete(e){var t;const i=this.playlistType,{hls:u}=this,{remuxResult:v,chunkMeta:T}=e,M=this.getCurrentContext(T);if(!M){this.resetWhenMissingContext(T);return}const{frag:W,part:N,level:j}=M,{video:Z,text:J,id3:re,initSegment:ie}=v,{details:pe}=j,_e=this.altAudio?void 0:v.audio;if(this.fragContextChanged(W)){this.fragmentTracker.removeFragment(W);return}if(this.state=wt.PARSING,ie){if(ie!=null&&ie.tracks){const Ze=W.initSegment||W;this._bufferInitSegment(j,ie.tracks,Ze,T),u.trigger(y.FRAG_PARSING_INIT_SEGMENT,{frag:Ze,id:i,tracks:ie.tracks})}const Se=ie.initPTS,ke=ie.timescale,Me=this.initPTS[W.cc];ee(Se)&&(!Me||Me.baseTime!==Se||Me.timescale!==ke)&&(this.initPTS[W.cc]={baseTime:Se,timescale:ke},u.trigger(y.INIT_PTS_FOUND,{frag:W,id:i,initPTS:Se,timescale:ke}))}if(Z&&pe){_e&&Z.type==="audiovideo"&&this.logMuxedErr(W);const Se=pe.fragments[W.sn-1-pe.startSN],ke=W.sn===pe.startSN,Me=!Se||W.cc>Se.cc;if(v.independent!==!1){const{startPTS:Ze,endPTS:ot,startDTS:Pt,endDTS:it}=Z;if(N)N.elementaryStreams[Z.type]={startPTS:Ze,endPTS:ot,startDTS:Pt,endDTS:it};else if(Z.firstKeyFrame&&Z.independent&&T.id===1&&!Me&&(this.couldBacktrack=!0),Z.dropped&&Z.independent){const _t=this.getMainFwdBufferInfo(),Et=(_t?_t.end:this.getLoadPosition())+this.config.maxBufferHole,qe=Z.firstKeyFramePTS?Z.firstKeyFramePTS:Ze;if(!ke&&Et<qe-this.config.maxBufferHole&&!Me){this.backtrack(W);return}else Me&&(W.gap=!0);W.setElementaryStreamInfo(Z.type,W.start,ot,W.start,it,!0)}else ke&&Ze-(pe.appliedTimelineOffset||0)>ka&&(W.gap=!0);W.setElementaryStreamInfo(Z.type,Ze,ot,Pt,it),this.backtrackFragment&&(this.backtrackFragment=W),this.bufferFragmentData(Z,W,N,T,ke||Me)}else if(ke||Me)W.gap=!0;else{this.backtrack(W);return}}if(_e){const{startPTS:Se,endPTS:ke,startDTS:Me,endDTS:Ze}=_e;N&&(N.elementaryStreams[H.AUDIO]={startPTS:Se,endPTS:ke,startDTS:Me,endDTS:Ze}),W.setElementaryStreamInfo(H.AUDIO,Se,ke,Me,Ze),this.bufferFragmentData(_e,W,N,T)}if(pe&&re!=null&&(t=re.samples)!=null&&t.length){const Se={id:i,frag:W,details:pe,samples:re.samples};u.trigger(y.FRAG_PARSING_METADATA,Se)}if(pe&&J){const Se={id:i,frag:W,details:pe,samples:J.samples};u.trigger(y.FRAG_PARSING_USERDATA,Se)}}logMuxedErr(e){this.warn(`${q(e)?"Media":"Init"} segment with muxed audiovideo where only video expected: ${e.url}`)}_bufferInitSegment(e,t,i,u){if(this.state!==wt.PARSING)return;this.audioOnly=!!t.audio&&!t.video,this.altAudio&&!this.audioOnly&&(delete t.audio,t.audiovideo&&this.logMuxedErr(i));const{audio:v,video:T,audiovideo:M}=t;if(v){const N=e.audioCodec;let j=Cr(v.codec,N);j==="mp4a"&&(j="mp4a.40.5");const Z=navigator.userAgent.toLowerCase();if(this.audioCodecSwitch){j&&(j.indexOf("mp4a.40.5")!==-1?j="mp4a.40.2":j="mp4a.40.5");const J=v.metadata;J&&"channelCount"in J&&(J.channelCount||1)!==1&&Z.indexOf("firefox")===-1&&(j="mp4a.40.5")}j&&j.indexOf("mp4a.40.5")!==-1&&Z.indexOf("android")!==-1&&v.container!=="audio/mpeg"&&(j="mp4a.40.2",this.log(`Android: force audio codec to ${j}`)),N&&N!==j&&this.log(`Swapping manifest audio codec "${N}" for "${j}"`),v.levelCodec=j,v.id=A.MAIN,this.log(`Init audio buffer, container:${v.container}, codecs[selected/level/parsed]=[${j||""}/${N||""}/${v.codec}]`),delete t.audiovideo}if(T){T.levelCodec=e.videoCodec,T.id=A.MAIN;const N=T.codec;if((N==null?void 0:N.length)===4)switch(N){case"hvc1":case"hev1":T.codec="hvc1.1.6.L120.90";break;case"av01":T.codec="av01.0.04M.08";break;case"avc1":T.codec="avc1.42e01e";break}this.log(`Init video buffer, container:${T.container}, codecs[level/parsed]=[${e.videoCodec||""}/${N}]${T.codec!==N?" parsed-corrected="+T.codec:""}${T.supplemental?" supplemental="+T.supplemental:""}`),delete t.audiovideo}M&&(this.log(`Init audiovideo buffer, container:${M.container}, codecs[level/parsed]=[${e.codecs}/${M.codec}]`),delete t.video,delete t.audio);const W=Object.keys(t);if(W.length){if(this.hls.trigger(y.BUFFER_CODECS,t),!this.hls)return;W.forEach(N=>{const Z=t[N].initSegment;Z!=null&&Z.byteLength&&this.hls.trigger(y.BUFFER_APPENDING,{type:N,data:Z,frag:i,part:null,chunkMeta:u,parent:i.type})})}this.tickImmediate()}getMainFwdBufferInfo(){const e=this.mediaBuffer&&this.altAudio===2?this.mediaBuffer:this.media;return this.getFwdBufferInfo(e,A.MAIN)}get maxBufferLength(){const{levels:e,level:t}=this,i=e==null?void 0:e[t];return i?this.getMaxBufferLength(i.maxBitrate):this.config.maxBufferLength}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=wt.IDLE}checkFragmentChanged(){const e=this.media;let t=null;if(e&&e.readyState>1&&e.seeking===!1){const i=e.currentTime;if(fr.isBuffered(e,i)?t=this.getAppendedFrag(i):fr.isBuffered(e,i+.1)&&(t=this.getAppendedFrag(i+.1)),t){this.backtrackFragment=null;const u=this.fragPlaying,v=t.level;(!u||t.sn!==u.sn||u.level!==v)&&(this.fragPlaying=t,this.hls.trigger(y.FRAG_CHANGED,{frag:t}),(!u||u.level!==v)&&this.hls.trigger(y.LEVEL_SWITCHED,{level:v}))}}}get nextLevel(){const e=this.nextBufferedFrag;return e?e.level:-1}get currentFrag(){var e;if(this.fragPlaying)return this.fragPlaying;const t=((e=this.media)==null?void 0:e.currentTime)||this.lastCurrentTime;return ee(t)?this.getAppendedFrag(t):null}get currentProgramDateTime(){var e;const t=((e=this.media)==null?void 0:e.currentTime)||this.lastCurrentTime;if(ee(t)){const i=this.getLevelDetails(),u=this.currentFrag||(i?Zt(null,i.fragments,t):null);if(u){const v=u.programDateTime;if(v!==null){const T=v+(t-u.start)*1e3;return new Date(T)}}}return null}get currentLevel(){const e=this.currentFrag;return e?e.level:-1}get nextBufferedFrag(){const e=this.currentFrag;return e?this.followingBufferedFrag(e):null}get forceStartLoad(){return this._forceStartLoad}}class Qc{constructor(e){this.config=void 0,this.keyUriToKeyInfo={},this.emeController=null,this.config=e}abort(e){for(const i in this.keyUriToKeyInfo){const u=this.keyUriToKeyInfo[i].loader;if(u){var t;if(e&&e!==((t=u.context)==null?void 0:t.frag.type))return;u.abort()}}}detach(){for(const e in this.keyUriToKeyInfo){const t=this.keyUriToKeyInfo[e];(t.mediaKeySessionContext||t.decryptdata.isCommonEncryption)&&delete this.keyUriToKeyInfo[e]}}destroy(){this.detach();for(const e in this.keyUriToKeyInfo){const t=this.keyUriToKeyInfo[e].loader;t&&t.destroy()}this.keyUriToKeyInfo={}}createKeyLoadError(e,t=K.KEY_LOAD_ERROR,i,u,v){return new ui({type:S.NETWORK_ERROR,details:t,fatal:!1,frag:e,response:v,error:i,networkDetails:u})}loadClear(e,t,i){if(this.emeController&&this.config.emeEnabled&&!this.emeController.getSelectedKeySystemFormats().length){if(t.length)for(let u=0,v=t.length;u<v;u++){const T=t[u];if(e.cc<=T.cc&&(!q(e)||!q(T)||e.sn<T.sn)||!i&&u==v-1)return this.emeController.selectKeySystemFormat(T).then(M=>{if(!this.emeController)return;T.setKeyFormat(M);const W=Nr(M);if(W)return this.emeController.getKeySystemAccess([W])})}if(this.config.requireKeySystemAccessOnStart){const u=Mr(this.config);if(u.length)return this.emeController.getKeySystemAccess(u)}}return null}load(e){return!e.decryptdata&&e.encrypted&&this.emeController&&this.config.emeEnabled?this.emeController.selectKeySystemFormat(e).then(t=>this.loadInternal(e,t)):this.loadInternal(e)}loadInternal(e,t){var i,u;t&&e.setKeyFormat(t);const v=e.decryptdata;if(!v){const N=new Error(t?`Expected frag.decryptdata to be defined after setting format ${t}`:"Missing decryption data on fragment in onKeyLoading");return Promise.reject(this.createKeyLoadError(e,K.KEY_LOAD_ERROR,N))}const T=v.uri;if(!T)return Promise.reject(this.createKeyLoadError(e,K.KEY_LOAD_ERROR,new Error(`Invalid key URI: "${T}"`)));let M=this.keyUriToKeyInfo[T];if((i=M)!=null&&i.decryptdata.key)return v.key=M.decryptdata.key,Promise.resolve({frag:e,keyInfo:M});if((u=M)!=null&&u.keyLoadPromise){var W;switch((W=M.mediaKeySessionContext)==null?void 0:W.keyStatus){case void 0:case"status-pending":case"usable":case"usable-in-future":return M.keyLoadPromise.then(N=>(v.key=N.keyInfo.decryptdata.key,{frag:e,keyInfo:M}))}}switch(M=this.keyUriToKeyInfo[T]={decryptdata:v,keyLoadPromise:null,loader:null,mediaKeySessionContext:null},v.method){case"ISO-23001-7":case"SAMPLE-AES":case"SAMPLE-AES-CENC":case"SAMPLE-AES-CTR":return v.keyFormat==="identity"?this.loadKeyHTTP(M,e):this.loadKeyEME(M,e);case"AES-128":case"AES-256":case"AES-256-CTR":return this.loadKeyHTTP(M,e);default:return Promise.reject(this.createKeyLoadError(e,K.KEY_LOAD_ERROR,new Error(`Key supplied with unsupported METHOD: "${v.method}"`)))}}loadKeyEME(e,t){const i={frag:t,keyInfo:e};if(this.emeController&&this.config.emeEnabled){const u=this.emeController.loadKey(i);if(u)return(e.keyLoadPromise=u.then(v=>(e.mediaKeySessionContext=v,i))).catch(v=>{throw e.keyLoadPromise=null,v})}return Promise.resolve(i)}loadKeyHTTP(e,t){const i=this.config,u=i.loader,v=new u(i);return t.keyLoader=e.loader=v,e.keyLoadPromise=new Promise((T,M)=>{const W={keyInfo:e,frag:t,responseType:"arraybuffer",url:e.decryptdata.uri},N=i.keyLoadPolicy.default,j={loadPolicy:N,timeout:N.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0},Z={onSuccess:(J,re,ie,pe)=>{const{frag:_e,keyInfo:Se,url:ke}=ie;if(!_e.decryptdata||Se!==this.keyUriToKeyInfo[ke])return M(this.createKeyLoadError(_e,K.KEY_LOAD_ERROR,new Error("after key load, decryptdata unset or changed"),pe));Se.decryptdata.key=_e.decryptdata.key=new Uint8Array(J.data),_e.keyLoader=null,Se.loader=null,T({frag:_e,keyInfo:Se})},onError:(J,re,ie,pe)=>{this.resetLoader(re),M(this.createKeyLoadError(t,K.KEY_LOAD_ERROR,new Error(`HTTP Error ${J.code} loading key ${J.text}`),ie,n({url:W.url,data:void 0},J)))},onTimeout:(J,re,ie)=>{this.resetLoader(re),M(this.createKeyLoadError(t,K.KEY_LOAD_TIMEOUT,new Error("key loading timed out"),ie))},onAbort:(J,re,ie)=>{this.resetLoader(re),M(this.createKeyLoadError(t,K.INTERNAL_ABORTED,new Error("key loading aborted"),ie))}};v.load(W,j,Z)})}resetLoader(e){const{frag:t,keyInfo:i,url:u}=e,v=i.loader;t.keyLoader===v&&(t.keyLoader=null,i.loader=null),delete this.keyUriToKeyInfo[u],v&&v.destroy()}}function zo(D){const{type:e}=D;switch(e){case L.AUDIO_TRACK:return A.AUDIO;case L.SUBTITLE_TRACK:return A.SUBTITLE;default:return A.MAIN}}function bs(D,e){let t=D.url;return(t===void 0||t.indexOf("data:")===0)&&(t=e.url),t}class Jc{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(){const{hls:e}=this;e.on(y.MANIFEST_LOADING,this.onManifestLoading,this),e.on(y.LEVEL_LOADING,this.onLevelLoading,this),e.on(y.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),e.on(y.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this),e.on(y.LEVELS_UPDATED,this.onLevelsUpdated,this)}unregisterListeners(){const{hls:e}=this;e.off(y.MANIFEST_LOADING,this.onManifestLoading,this),e.off(y.LEVEL_LOADING,this.onLevelLoading,this),e.off(y.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),e.off(y.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this),e.off(y.LEVELS_UPDATED,this.onLevelsUpdated,this)}createInternalLoader(e){const t=this.hls.config,i=t.pLoader,u=t.loader,v=i||u,T=new v(t);return this.loaders[e.type]=T,T}getInternalLoader(e){return this.loaders[e.type]}resetInternalLoader(e){this.loaders[e]&&delete this.loaders[e]}destroyInternalLoaders(){for(const e in this.loaders){const t=this.loaders[e];t&&t.destroy(),this.resetInternalLoader(e)}}destroy(){this.variableList=null,this.unregisterListeners(),this.destroyInternalLoaders()}onManifestLoading(e,t){const{url:i}=t;this.variableList=null,this.load({id:null,level:0,responseType:"text",type:L.MANIFEST,url:i,deliveryDirectives:null,levelOrTrack:null})}onLevelLoading(e,t){const{id:i,level:u,pathwayId:v,url:T,deliveryDirectives:M,levelInfo:W}=t;this.load({id:i,level:u,pathwayId:v,responseType:"text",type:L.LEVEL,url:T,deliveryDirectives:M,levelOrTrack:W})}onAudioTrackLoading(e,t){const{id:i,groupId:u,url:v,deliveryDirectives:T,track:M}=t;this.load({id:i,groupId:u,level:null,responseType:"text",type:L.AUDIO_TRACK,url:v,deliveryDirectives:T,levelOrTrack:M})}onSubtitleTrackLoading(e,t){const{id:i,groupId:u,url:v,deliveryDirectives:T,track:M}=t;this.load({id:i,groupId:u,level:null,responseType:"text",type:L.SUBTITLE_TRACK,url:v,deliveryDirectives:T,levelOrTrack:M})}onLevelsUpdated(e,t){const i=this.loaders[L.LEVEL];if(i){const u=i.context;u&&!t.levels.some(v=>v===u.levelOrTrack)&&(i.abort(),delete this.loaders[L.LEVEL])}}load(e){var t;const i=this.hls.config;let u=this.getInternalLoader(e);if(u){const N=this.hls.logger,j=u.context;if(j&&j.levelOrTrack===e.levelOrTrack&&(j.url===e.url||j.deliveryDirectives&&!e.deliveryDirectives)){j.url===e.url?N.log(`[playlist-loader]: ignore ${e.url} ongoing request`):N.log(`[playlist-loader]: ignore ${e.url} in favor of ${j.url}`);return}N.log(`[playlist-loader]: aborting previous loader for type: ${e.type}`),u.abort()}let v;if(e.type===L.MANIFEST?v=i.manifestLoadPolicy.default:v=l({},i.playlistLoadPolicy.default,{timeoutRetry:null,errorRetry:null}),u=this.createInternalLoader(e),ee((t=e.deliveryDirectives)==null?void 0:t.part)){let N;if(e.type===L.LEVEL&&e.level!==null?N=this.hls.levels[e.level].details:e.type===L.AUDIO_TRACK&&e.id!==null?N=this.hls.audioTracks[e.id].details:e.type===L.SUBTITLE_TRACK&&e.id!==null&&(N=this.hls.subtitleTracks[e.id].details),N){const j=N.partTarget,Z=N.targetduration;if(j&&Z){const J=Math.max(j*3,Z*.8)*1e3;v=l({},v,{maxTimeToFirstByteMs:Math.min(J,v.maxTimeToFirstByteMs),maxLoadTimeMs:Math.min(J,v.maxTimeToFirstByteMs)})}}}const T=v.errorRetry||v.timeoutRetry||{},M={loadPolicy:v,timeout:v.maxLoadTimeMs,maxRetry:T.maxNumRetry||0,retryDelay:T.retryDelayMs||0,maxRetryDelay:T.maxRetryDelayMs||0},W={onSuccess:(N,j,Z,J)=>{const re=this.getInternalLoader(Z);this.resetInternalLoader(Z.type);const ie=N.data;if(ie.indexOf("#EXTM3U")!==0){this.handleManifestParsingError(N,Z,new Error("no EXTM3U delimiter"),J||null,j);return}j.parsing.start=performance.now(),an.isMediaPlaylist(ie)||Z.type!==L.MANIFEST?this.handleTrackOrLevelPlaylist(N,j,Z,J||null,re):this.handleMasterPlaylist(N,j,Z,J)},onError:(N,j,Z,J)=>{this.handleNetworkError(j,Z,!1,N,J)},onTimeout:(N,j,Z)=>{this.handleNetworkError(j,Z,!0,void 0,N)}};u.load(e,M,W)}checkAutostartLoad(){if(!this.hls)return;const{config:{autoStartLoad:e,startPosition:t},forceStartLoad:i}=this.hls;(e||i)&&(this.hls.logger.log(`${e?"auto":"force"} startLoad with configured startPosition ${t}`),this.hls.startLoad(t))}handleMasterPlaylist(e,t,i,u){const v=this.hls,T=e.data,M=bs(e,i),W=an.parseMasterPlaylist(T,M);if(W.playlistParsingError){this.handleManifestParsingError(e,i,W.playlistParsingError,u,t);return}const{contentSteering:N,levels:j,sessionData:Z,sessionKeys:J,startTimeOffset:re,variableList:ie}=W;this.variableList=ie;const{AUDIO:pe=[],SUBTITLES:_e,"CLOSED-CAPTIONS":Se}=an.parseMasterPlaylistMedia(T,M,W);pe.length&&!pe.some(Me=>!Me.url)&&j[0].audioCodec&&!j[0].attrs.AUDIO&&(this.hls.logger.log("[playlist-loader]: audio codec signaled in quality level, but no embedded audio track signaled, create one"),pe.unshift({type:"main",name:"main",groupId:"main",default:!1,autoselect:!1,forced:!1,id:-1,attrs:new ai({}),bitrate:0,url:""})),v.trigger(y.MANIFEST_LOADED,{levels:j,audioTracks:pe,subtitles:_e,captions:Se,contentSteering:N,url:M,stats:t,networkDetails:u,sessionData:Z,sessionKeys:J,startTimeOffset:re,variableList:ie})}handleTrackOrLevelPlaylist(e,t,i,u,v){const T=this.hls,{id:M,level:W,type:N}=i,j=bs(e,i),Z=ee(W)?W:ee(M)?M:0,J=zo(i),re=an.parseLevelPlaylist(e.data,j,Z,J,0,this.variableList);if(N===L.MANIFEST){const ie={attrs:new ai({}),bitrate:0,details:re,name:"",url:j};re.requestScheduled=t.loading.start+ki(re,0),T.trigger(y.MANIFEST_LOADED,{levels:[ie],audioTracks:[],url:j,stats:t,networkDetails:u,sessionData:null,sessionKeys:null,contentSteering:null,startTimeOffset:null,variableList:null})}t.parsing.end=performance.now(),i.levelDetails=re,this.handlePlaylistLoaded(re,e,t,i,u,v)}handleManifestParsingError(e,t,i,u,v){this.hls.trigger(y.ERROR,{type:S.NETWORK_ERROR,details:K.MANIFEST_PARSING_ERROR,fatal:t.type===L.MANIFEST,url:e.url,err:i,error:i,reason:i.message,response:e,context:t,networkDetails:u,stats:v})}handleNetworkError(e,t,i=!1,u,v){let T=`A network ${i?"timeout":"error"+(u?" (status "+u.code+")":"")} occurred while loading ${e.type}`;e.type===L.LEVEL?T+=`: ${e.level} id: ${e.id}`:(e.type===L.AUDIO_TRACK||e.type===L.SUBTITLE_TRACK)&&(T+=` id: ${e.id} group-id: "${e.groupId}"`);const M=new Error(T);this.hls.logger.warn(`[playlist-loader]: ${T}`);let W=K.UNKNOWN,N=!1;const j=this.getInternalLoader(e);switch(e.type){case L.MANIFEST:W=i?K.MANIFEST_LOAD_TIMEOUT:K.MANIFEST_LOAD_ERROR,N=!0;break;case L.LEVEL:W=i?K.LEVEL_LOAD_TIMEOUT:K.LEVEL_LOAD_ERROR,N=!1;break;case L.AUDIO_TRACK:W=i?K.AUDIO_TRACK_LOAD_TIMEOUT:K.AUDIO_TRACK_LOAD_ERROR,N=!1;break;case L.SUBTITLE_TRACK:W=i?K.SUBTITLE_TRACK_LOAD_TIMEOUT:K.SUBTITLE_LOAD_ERROR,N=!1;break}j&&this.resetInternalLoader(e.type);const Z={type:S.NETWORK_ERROR,details:W,fatal:N,url:e.url,loader:j,context:e,error:M,networkDetails:t,stats:v};if(u){const J=(t==null?void 0:t.url)||e.url;Z.response=n({url:J,data:void 0},u)}this.hls.trigger(y.ERROR,Z)}handlePlaylistLoaded(e,t,i,u,v,T){const M=this.hls,{type:W,level:N,id:j,groupId:Z,deliveryDirectives:J}=u,re=bs(t,u),ie=zo(u),pe=typeof u.level=="number"&&ie===A.MAIN?N:void 0;if(!e.fragments.length){const Se=e.playlistParsingError=new Error("No Segments found in Playlist");M.trigger(y.ERROR,{type:S.NETWORK_ERROR,details:K.LEVEL_EMPTY_ERROR,fatal:!1,url:re,error:Se,reason:Se.message,response:t,context:u,level:pe,parent:ie,networkDetails:v,stats:i});return}e.targetduration||(e.playlistParsingError=new Error("Missing Target Duration"));const _e=e.playlistParsingError;if(_e){if(this.hls.logger.warn(_e),!M.config.ignorePlaylistParsingErrors){M.trigger(y.ERROR,{type:S.NETWORK_ERROR,details:K.LEVEL_PARSING_ERROR,fatal:!1,url:re,error:_e,reason:_e.message,response:t,context:u,level:pe,parent:ie,networkDetails:v,stats:i});return}e.playlistParsingError=null}switch(e.live&&T&&(T.getCacheAge&&(e.ageHeader=T.getCacheAge()||0),(!T.getCacheAge||isNaN(e.ageHeader))&&(e.ageHeader=0)),W){case L.MANIFEST:case L.LEVEL:M.trigger(y.LEVEL_LOADED,{details:e,levelInfo:u.levelOrTrack||M.levels[0],level:pe||0,id:j||0,stats:i,networkDetails:v,deliveryDirectives:J,withoutMultiVariant:W===L.MANIFEST});break;case L.AUDIO_TRACK:M.trigger(y.AUDIO_TRACK_LOADED,{details:e,track:u.levelOrTrack,id:j||0,groupId:Z||"",stats:i,networkDetails:v,deliveryDirectives:J});break;case L.SUBTITLE_TRACK:M.trigger(y.SUBTITLE_TRACK_LOADED,{details:e,track:u.levelOrTrack,id:j||0,groupId:Z||"",stats:i,networkDetails:v,deliveryDirectives:J});break}}}class Gn{static get version(){return xn}static isMSESupported(){return Ho()}static isSupported(){return Zc()}static getMediaSource(){return w()}static get Events(){return y}static get MetadataSchema(){return ln}static get ErrorTypes(){return S}static get ErrorDetails(){return K}static get DefaultConfig(){return Gn.defaultConfig?Gn.defaultConfig:Nc}static set DefaultConfig(e){Gn.defaultConfig=e}constructor(e={}){this.config=void 0,this.userConfig=void 0,this.logger=void 0,this.coreComponents=void 0,this.networkControllers=void 0,this._emitter=new ia,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.streamController=void 0,this.audioStreamController=void 0,this.subtititleStreamController=void 0,this.audioTrackController=void 0,this.subtitleTrackController=void 0,this.interstitialsController=void 0,this.gapController=void 0,this.emeController=void 0,this.cmcdController=void 0,this._media=null,this._url=null,this._sessionId=void 0,this.triggeringException=void 0,this.started=!1;const t=this.logger=E(e.debug||!1,"Hls instance",e.assetPlayerId),i=this.config=Uc(Gn.DefaultConfig,e,t);this.userConfig=e,i.progressive&&Fc(i,t);const{abrController:u,bufferController:v,capLevelController:T,errorController:M,fpsController:W}=i,N=new M(this),j=this.abrController=new u(this),Z=new ni(this),J=i.interstitialsController,re=J?this.interstitialsController=new J(this,Gn):null,ie=this.bufferController=new v(this,Z),pe=this.capLevelController=new T(this),_e=new W(this),Se=new Jc(this),ke=i.contentSteeringController,Me=ke?new ke(this):null,Ze=this.levelController=new jc(this,Me),ot=new Hc(this),Pt=new Qc(this.config),it=this.streamController=new $c(this,Z,Pt),_t=this.gapController=new Gc(this,Z);pe.setStreamController(it),_e.setStreamController(it);const Et=[Se,Ze,it];re&&Et.splice(1,0,re),Me&&Et.splice(1,0,Me),this.networkControllers=Et;const qe=[j,ie,_t,pe,_e,ot,Z];this.audioTrackController=this.createController(i.audioTrackController,Et);const jt=i.audioStreamController;jt&&Et.push(this.audioStreamController=new jt(this,Z,Pt)),this.subtitleTrackController=this.createController(i.subtitleTrackController,Et);const ur=i.subtitleStreamController;ur&&Et.push(this.subtititleStreamController=new ur(this,Z,Pt)),this.createController(i.timelineController,qe),Pt.emeController=this.emeController=this.createController(i.emeController,qe),this.cmcdController=this.createController(i.cmcdController,qe),this.latencyController=this.createController(zc,qe),this.coreComponents=qe,Et.push(N);const Ur=N.onErrorOut;typeof Ur=="function"&&this.on(y.ERROR,Ur,N),this.on(y.MANIFEST_LOADED,Se.onManifestLoaded,Se)}createController(e,t){if(e){const i=new e(this);return t&&t.push(i),i}return null}on(e,t,i=this){this._emitter.on(e,t,i)}once(e,t,i=this){this._emitter.once(e,t,i)}removeAllListeners(e){this._emitter.removeAllListeners(e)}off(e,t,i=this,u){this._emitter.off(e,t,i,u)}listeners(e){return this._emitter.listeners(e)}emit(e,t,i){return this._emitter.emit(e,t,i)}trigger(e,t){if(this.config.debug)return this.emit(e,e,t);try{return this.emit(e,e,t)}catch(i){if(this.logger.error("An internal error happened while handling event "+e+'. Error message: "'+i.message+'". Here is a stacktrace:',i),!this.triggeringException){this.triggeringException=!0;const u=e===y.ERROR;this.trigger(y.ERROR,{type:S.OTHER_ERROR,details:K.INTERNAL_EXCEPTION,fatal:u,event:e,error:i}),this.triggeringException=!1}}return!1}listenerCount(e){return this._emitter.listenerCount(e)}destroy(){this.logger.log("destroy"),this.trigger(y.DESTROYING,void 0),this.detachMedia(),this.removeAllListeners(),this._autoLevelCapping=-1,this._url=null,this.networkControllers.forEach(t=>t.destroy()),this.networkControllers.length=0,this.coreComponents.forEach(t=>t.destroy()),this.coreComponents.length=0;const e=this.config;e.xhrSetup=e.fetchSetup=void 0,this.userConfig=null}attachMedia(e){if(!e||"media"in e&&!e.media){const v=new Error(`attachMedia failed: invalid argument (${e})`);this.trigger(y.ERROR,{type:S.OTHER_ERROR,details:K.ATTACH_MEDIA_ERROR,fatal:!0,error:v});return}this.logger.log("attachMedia"),this._media&&(this.logger.warn("media must be detached before attaching"),this.detachMedia());const t="media"in e,i=t?e.media:e,u=t?e:{media:i};this._media=i,this.trigger(y.MEDIA_ATTACHING,u)}detachMedia(){this.logger.log("detachMedia"),this.trigger(y.MEDIA_DETACHING,{}),this._media=null}transferMedia(){this._media=null;const e=this.bufferController.transferMedia();return this.trigger(y.MEDIA_DETACHING,{transferMedia:e}),e}loadSource(e){this.stopLoad();const t=this.media,i=this._url,u=this._url=C.buildAbsoluteURL(self.location.href,e,{alwaysNormalize:!0});this._autoLevelCapping=-1,this._maxHdcpLevel=null,this.logger.log(`loadSource:${u}`),t&&i&&(i!==u||this.bufferController.hasSourceTypes())&&(this.detachMedia(),this.attachMedia(t)),this.trigger(y.MANIFEST_LOADING,{url:e})}get url(){return this._url}get hasEnoughToStart(){return this.streamController.hasEnoughToStart}get startPosition(){return this.streamController.startPositionValue}startLoad(e=-1,t){this.logger.log(`startLoad(${e+(t?", <skip seek to start>":"")})`),this.started=!0,this.resumeBuffering();for(let i=0;i<this.networkControllers.length&&(this.networkControllers[i].startLoad(e,t),!(!this.started||!this.networkControllers));i++);}stopLoad(){this.logger.log("stopLoad"),this.started=!1;for(let e=0;e<this.networkControllers.length&&(this.networkControllers[e].stopLoad(),!(this.started||!this.networkControllers));e++);}get loadingEnabled(){return this.started}get bufferingEnabled(){return this.streamController.bufferingEnabled}resumeBuffering(){this.bufferingEnabled||(this.logger.log("resume buffering"),this.networkControllers.forEach(e=>{e.resumeBuffering&&e.resumeBuffering()}))}pauseBuffering(){this.bufferingEnabled&&(this.logger.log("pause buffering"),this.networkControllers.forEach(e=>{e.pauseBuffering&&e.pauseBuffering()}))}get inFlightFragments(){const e={[A.MAIN]:this.streamController.inFlightFrag};return this.audioStreamController&&(e[A.AUDIO]=this.audioStreamController.inFlightFrag),this.subtititleStreamController&&(e[A.SUBTITLE]=this.subtititleStreamController.inFlightFrag),e}swapAudioCodec(){this.logger.log("swapAudioCodec"),this.streamController.swapAudioCodec()}recoverMediaError(){this.logger.log("recoverMediaError");const e=this._media,t=e==null?void 0:e.currentTime;this.detachMedia(),e&&(this.attachMedia(e),t&&this.startLoad(t))}removeLevel(e){this.levelController.removeLevel(e)}get sessionId(){let e=this._sessionId;return e||(e=this._sessionId=Gu()),e}get levels(){const e=this.levelController.levels;return 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(){const e=this.levelController.startLevel;return e===-1&&this.abrController.forcedAutoLevel>-1?this.abrController.forcedAutoLevel:e}set startLevel(e){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){const t=!!e;t!==this.config.capLevelToPlayerSize&&(t?this.capLevelController.startCapping():(this.capLevelController.stopCapping(),this.autoLevelCapping=-1,this.streamController.nextLevelSwitch()),this.config.capLevelToPlayerSize=t)}get autoLevelCapping(){return this._autoLevelCapping}get bandwidthEstimate(){const{bwEstimator:e}=this.abrController;return e?e.getEstimate():NaN}set bandwidthEstimate(e){this.abrController.resetEstimator(e)}get abrEwmaDefaultEstimate(){const{bwEstimator:e}=this.abrController;return e?e.defaultEstimate:NaN}get ttfbEstimate(){const{bwEstimator:e}=this.abrController;return e?e.getEstimateTTFB():NaN}set autoLevelCapping(e){this._autoLevelCapping!==e&&(this.logger.log(`set autoLevelCapping:${e}`),this._autoLevelCapping=e,this.levelController.checkMaxAutoUpdated())}get maxHdcpLevel(){return this._maxHdcpLevel}set maxHdcpLevel(e){Dt(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(){const{levels:e,config:{minAutoBitrate:t}}=this;if(!e)return 0;const i=e.length;for(let u=0;u<i;u++)if(e[u].maxBitrate>=t)return u;return 0}get maxAutoLevel(){const{levels:e,autoLevelCapping:t,maxHdcpLevel:i}=this;let u;if(t===-1&&e!=null&&e.length?u=e.length-1:u=t,i)for(let v=u;v--;){const T=e[v].attrs["HDCP-LEVEL"];if(T&&T<=i)return v}return u}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 maxBufferLength(){return this.streamController.maxBufferLength}setAudioOption(e){var t;return((t=this.audioTrackController)==null?void 0:t.setAudioOption(e))||null}setSubtitleOption(e){var t;return((t=this.subtitleTrackController)==null?void 0:t.setSubtitleOption(e))||null}get allAudioTracks(){const e=this.audioTrackController;return e?e.allAudioTracks:[]}get audioTracks(){const e=this.audioTrackController;return e?e.audioTracks:[]}get audioTrack(){const e=this.audioTrackController;return e?e.audioTrack:-1}set audioTrack(e){const t=this.audioTrackController;t&&(t.audioTrack=e)}get allSubtitleTracks(){const e=this.subtitleTrackController;return e?e.allSubtitleTracks:[]}get subtitleTracks(){const e=this.subtitleTrackController;return e?e.subtitleTracks:[]}get subtitleTrack(){const e=this.subtitleTrackController;return e?e.subtitleTrack:-1}get media(){return this._media}set subtitleTrack(e){const t=this.subtitleTrackController;t&&(t.subtitleTrack=e)}get subtitleDisplay(){const e=this.subtitleTrackController;return e?e.subtitleDisplay:!1}set subtitleDisplay(e){const t=this.subtitleTrackController;t&&(t.subtitleDisplay=e)}get lowLatencyMode(){return this.config.lowLatencyMode}set lowLatencyMode(e){this.config.lowLatencyMode=e}get liveSyncPosition(){return this.latencyController.liveSyncPosition}get latency(){return this.latencyController.latency}get maxLatency(){return this.latencyController.maxLatency}get targetLatency(){return this.latencyController.targetLatency}set targetLatency(e){this.latencyController.targetLatency=e}get drift(){return this.latencyController.drift}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(){var e;return((e=this.interstitialsController)==null?void 0:e.interstitialsManager)||null}getMediaDecodingInfo(e,t=this.allAudioTracks){const i=Ct(t);return Q(e,i,navigator.mediaCapabilities)}}Gn.defaultConfig=void 0},16722:function($t,Qe,ae){"use strict";ae.d(Qe,{Z:function(){return A}});const ee=s=>typeof s=="object"&&s!=null&&s.nodeType===1,te=(s,x)=>(!x||s!=="hidden")&&s!=="visible"&&s!=="clip",X=(s,x)=>{if(s.clientHeight<s.scrollHeight||s.clientWidth<s.scrollWidth){const c=getComputedStyle(s,null);return te(c.overflowY,x)||te(c.overflowX,x)||(l=>{const f=(n=>{if(!n.ownerDocument||!n.ownerDocument.defaultView)return null;try{return n.ownerDocument.defaultView.frameElement}catch(o){return null}})(l);return!!f&&(f.clientHeight<l.scrollHeight||f.clientWidth<l.scrollWidth)})(s)}return!1},S=(s,x,c,l,f,n,o,d)=>n<s&&o>x||n>s&&o<x?0:n<=s&&d<=c||o>=x&&d>=c?n-s-l:o>x&&d<c||n<s&&d>c?o-x+f:0,K=s=>{const x=s.parentElement;return x==null?s.getRootNode().host||null:x},y=(s,x)=>{var c,l,f,n;if(typeof document=="undefined")return[];const{scrollMode:o,block:d,inline:m,boundary:_,skipOverflowHiddenElements:h}=x,g=typeof _=="function"?_:se=>se!==_;if(!ee(s))throw new TypeError("Invalid target");const r=document.scrollingElement||document.documentElement,a=[];let p=s;for(;ee(p)&&g(p);){if(p=K(p),p===r){a.push(p);break}p!=null&&p===document.body&&X(p)&&!X(document.documentElement)||p!=null&&X(p,h)&&a.push(p)}const E=(l=(c=window.visualViewport)==null?void 0:c.width)!=null?l:innerWidth,b=(n=(f=window.visualViewport)==null?void 0:f.height)!=null?n:innerHeight,{scrollX:w,scrollY:R}=window,{height:O,width:z,top:B,right:P,bottom:F,left:k}=s.getBoundingClientRect(),{top:U,right:G,bottom:C,left:I}=(se=>{const ue=window.getComputedStyle(se);return{top:parseFloat(ue.scrollMarginTop)||0,right:parseFloat(ue.scrollMarginRight)||0,bottom:parseFloat(ue.scrollMarginBottom)||0,left:parseFloat(ue.scrollMarginLeft)||0}})(s);let H=d==="start"||d==="nearest"?B-U:d==="end"?F+C:B+O/2-U+C,$=m==="center"?k+z/2-I+G:m==="end"?P+G:k-I;const q=[];for(let se=0;se<a.length;se++){const ue=a[se],{height:me,width:Ee,top:Le,right:Fe,bottom:Ke,left:Te}=ue.getBoundingClientRect();if(o==="if-needed"&&B>=0&&k>=0&&F<=b&&P<=E&&(ue===r&&!X(ue)||B>=Le&&F<=Ke&&k>=Te&&P<=Fe))return q;const We=getComputedStyle(ue),Ce=parseInt(We.borderLeftWidth,10),De=parseInt(We.borderTopWidth,10),ge=parseInt(We.borderRightWidth,10),Re=parseInt(We.borderBottomWidth,10);let ve=0,we=0;const Ue="offsetWidth"in ue?ue.offsetWidth-ue.clientWidth-Ce-ge:0,de="offsetHeight"in ue?ue.offsetHeight-ue.clientHeight-De-Re:0,oe="offsetWidth"in ue?ue.offsetWidth===0?0:Ee/ue.offsetWidth:0,ne="offsetHeight"in ue?ue.offsetHeight===0?0:me/ue.offsetHeight:0;if(r===ue)ve=d==="start"?H:d==="end"?H-b:d==="nearest"?S(R,R+b,b,De,Re,R+H,R+H+O,O):H-b/2,we=m==="start"?$:m==="center"?$-E/2:m==="end"?$-E:S(w,w+E,E,Ce,ge,w+$,w+$+z,z),ve=Math.max(0,ve+R),we=Math.max(0,we+w);else{ve=d==="start"?H-Le-De:d==="end"?H-Ke+Re+de:d==="nearest"?S(Le,Ke,me,De,Re+de,H,H+O,O):H-(Le+me/2)+de/2,we=m==="start"?$-Te-Ce:m==="center"?$-(Te+Ee/2)+Ue/2:m==="end"?$-Fe+ge+Ue:S(Te,Fe,Ee,Ce,ge+Ue,$,$+z,z);const{scrollLeft:ce,scrollTop:ye}=ue;ve=ne===0?0:Math.max(0,Math.min(ye+ve/ne,ue.scrollHeight-me/ne+de)),we=oe===0?0:Math.max(0,Math.min(ce+we/oe,ue.scrollWidth-Ee/oe+Ue)),H+=ye-ve,$+=ce-we}q.push({el:ue,top:ve,left:we})}return q},L=s=>s===!1?{block:"end",inline:"nearest"}:(x=>x===Object(x)&&Object.keys(x).length!==0)(s)?s:{block:"start",inline:"nearest"};function A(s,x){if(!s.isConnected||!(f=>{let n=f;for(;n&&n.parentNode;){if(n.parentNode===document)return!0;n=n.parentNode instanceof ShadowRoot?n.parentNode.host:n.parentNode}return!1})(s))return;const c=(f=>{const n=window.getComputedStyle(f);return{top:parseFloat(n.scrollMarginTop)||0,right:parseFloat(n.scrollMarginRight)||0,bottom:parseFloat(n.scrollMarginBottom)||0,left:parseFloat(n.scrollMarginLeft)||0}})(s);if((f=>typeof f=="object"&&typeof f.behavior=="function")(x))return x.behavior(y(s,x));const l=typeof x=="boolean"||x==null?void 0:x.behavior;for(const{el:f,top:n,left:o}of y(s,L(x))){const d=n-c.top+c.bottom,m=o-c.left+c.right;f.scroll({top:d,left:m,behavior:l})}}}}]);
}());