1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4424],{15895:(e,t,i)=>{e.exports=i.p+"static/media/pptx.worker.3d650b93.js"},74424:(e,t,i)=>{i.r(t),i.d(t,{default:()=>O,resolvePptxPreviewErrorMessage:()=>F});let r=(e,t)=>{switch(e){case"arabicPeriod":return`${t}. `;case"arabicParenR":return`${t}) `;case"alphaLcParenR":return`${String.fromCharCode(t+96)}) `;case"alphaLcPeriod":return`${String.fromCharCode(t+96)}. `;case"alphaUcParenR":return`${String.fromCharCode(t+64)}) `;case"alphaUcPeriod":return`${String.fromCharCode(t+64)}. `;default:return String(t)}},n=(e,t,i,r=getComputedStyle(e))=>{let n=((e,t,i=getComputedStyle(e))=>{let r=(e=>`pptxFit${e.charAt(0).toUpperCase()}${e.slice(1)}`)(t),n=Number(e.dataset[r]);if(Number.isFinite(n)&&n>0)return n;let l=parseFloat(i[t]);if(Number.isFinite(l)&&!(l<=0))return e.dataset[r]=String(l),l})(e,t,r);void 0!==n&&(e.style[t]=`${n*i}px`)},l=(e,t)=>{for(let i of(e.dataset.pptxTextFitScale=String(t),(e=>{let t=new Set;return e.querySelectorAll(".text-block, .numeric-bullet-style").forEach(e=>{t.add(e)}),e.querySelectorAll(".slide-prgrph").forEach(e=>{Array.from(e.children).forEach(e=>{if(!(e instanceof HTMLElement)||e.querySelector(".text-block"))return;let i=parseFloat(getComputedStyle(e).fontSize);Number.isFinite(i)&&i>0&&t.add(e)})}),t})(e))){let e=getComputedStyle(i);n(i,"fontSize",t,e),n(i,"lineHeight",t,e),n(i,"paddingLeft",t,e),n(i,"paddingRight",t,e)}e.querySelectorAll(".slide-prgrph").forEach(e=>{let i=getComputedStyle(e);n(e,"lineHeight",t,i),n(e,"marginTop",t,i),n(e,"marginBottom",t,i),n(e,"paddingTop",t,i),n(e,"paddingBottom",t,i)}),e.querySelectorAll(".slide-prgrph > *").forEach(e=>{let i=getComputedStyle(e);n(e,"marginLeft",t,i),n(e,"marginRight",t,i),n(e,"paddingLeft",t,i),n(e,"paddingRight",t,i)})},s=e=>e.scrollHeight>e.clientHeight+1||e.scrollWidth>e.clientWidth+1,o=e=>{if(!e.querySelector(".text-block")||e.clientWidth<=0||e.clientHeight<=0)return;let t=Number(e.dataset.pptxTextFitScale)||1;if(s(e))for(let i=0;i<8&&s(e);i+=1){let i=Math.max(.7,t*Math.max(Math.min(e.scrollHeight>0?Math.min(1,e.clientHeight/e.scrollHeight):1,e.scrollWidth>0?Math.min(1,e.clientWidth/e.scrollWidth):1,.98),.95));if(l(e,t=i>=t-.002?Math.max(.7,.97*t):i),t<=.7&&s(e))break}},a=async e=>{var t;let r=e.data;if(!(null==r?void 0:r.chartID)||!r.chartType||!r.chartData)return;let n=await Promise.all([i.e(7529),i.e(9995),i.e(2893),i.e(9618),i.e(9781)]).then(i.bind(i,62589)),l=await i.e(6247).then(i.bind(i,56247)),s=n.default||n,{area:o,bar:a,line:d,pie:h,scatter:c}=n,p={bindto:`#${r.chartID}`},u=r.chartData,m={x:{tick:{format(e){var t,i;return(null==(i=null==(t=u[0])?void 0:t.xlabels)?void 0:i[e])||e}}}};switch(r.chartType){case"lineChart":Object.assign(p,{data:{columns:u.map(e=>[e.key,...e.values.map(({y:e})=>e)]),type:d()},axis:m,interaction:{enabled:!0}});break;case"barChart":Object.assign(p,{data:{columns:u.map(e=>[e.key,...e.values.map(({y:e})=>e)]),type:a()},axis:{x:{tick:{multiline:!0,format(e){var t,i;return(null==(i=null==(t=u[0])?void 0:t.xlabels)?void 0:i[e])||e}}}}});break;case"pieChart":case"pie3DChart":Object.assign(p,{data:{columns:Object.values((null==(t=u[0])?void 0:t.xlabels)||{}).map((e,t)=>{var i,r,n;return[e,null==(n=null==(r=null==(i=u[0])?void 0:i.values)?void 0:r[t])?void 0:n.y]}),type:h()}});break;case"areaChart":Object.assign(p,{data:{columns:u.map(e=>[e.key,...e.values.map(({y:e})=>e)]),type:o()},axis:m,interaction:{enabled:!0}});break;case"scatterChart":Object.assign(p,{data:{xs:{y:"x"},columns:u.map((e,t)=>[t?"y":"x",...e]),type:c()},axis:{x:{label:"X",showDist:!0,tick:{format:l.format(".02f")}},y:{label:"Y",showDist:!0,tick:{format:l.format(".02f")}}}});break;default:return}p.data&&s.generate(p)},d=async(e,t)=>{(e=>{for(let t of[...Array.from(e.querySelectorAll(".block")),...Array.from(e.querySelectorAll("table td"))]){let e=Array.from(t.querySelectorAll(".numeric-bullet-style")),i=new Map;for(let t of e){let e=String(t.dataset.bulltname||"arabicPeriod"),n=String(t.dataset.bulltlvl||"0"),l=`${n}:${e}`,s=(i.get(l)||0)+1;i.set(l,s),t.textContent=r(e,s)}}})(t),t.querySelectorAll(".slide div.content, .slide div.content-rtl").forEach(o);let i=(e=>Array.isArray(null==e?void 0:e.MsgQueue)?e.MsgQueue:[])(e);if(i.length)try{await Promise.all(i.map(a))}catch(e){console.warn("PPTX chart rendering skipped:",e)}},h={maxFileBytes:0xa000000},c=` 2.slide{position:relative;border:0;border-radius:0;overflow:hidden;margin-bottom:50px;margin-left:auto;margin-right:auto;z-index:100} 3.slide div.block{position:absolute;top:0;left:0;width:100%;line-height:1} 4.slide div.content{display:flex;flex-direction:column} 5.slide div.diagram-content{display:flex;flex-direction:column} 6.slide div.content-rtl{display:flex;flex-direction:column;direction:rtl} 7.slide .pregraph-rtl{direction:rtl} 8.slide .pregraph-ltr{direction:ltr} 9.slide .pregraph-inherit{direction:inherit} 10.slide .slide-prgrph{width:100%} 11.slide .line-break-br::before{content:"\\A";white-space:pre} 12.slide div.v-up{justify-content:flex-start} 13.slide div.v-mid{justify-content:center} 14.slide div.v-down{justify-content:flex-end} 15.slide div.h-left{justify-content:flex-start;align-items:flex-start;text-align:left} 16.slide div.h-left-rtl{justify-content:flex-end;align-items:flex-end;text-align:left} 17.slide div.h-mid{justify-content:center;align-items:center;text-align:center} 18.slide div.h-right{justify-content:flex-end;align-items:flex-end;text-align:right} 19.slide div.h-right-rtl{justify-content:flex-start;align-items:flex-start;text-align:right} 20.slide div.h-just,.slide div.h-dist{text-align:justify} 21.slide div.up-left{justify-content:flex-start;align-items:flex-start;text-align:left} 22.slide div.up-center{justify-content:flex-start;align-items:center} 23.slide div.up-right{justify-content:flex-start;align-items:flex-end} 24.slide div.center-left{justify-content:center;align-items:flex-start;text-align:left} 25.slide div.center-center{justify-content:center;align-items:center} 26.slide div.center-right{justify-content:center;align-items:flex-end} 27.slide div.down-left{justify-content:flex-end;align-items:flex-start;text-align:left} 28.slide div.down-center{justify-content:flex-end;align-items:center} 29.slide div.down-right{justify-content:flex-end;align-items:flex-end} 30.slide li.slide{margin:10px 0;font-size:18px} 31.slide table{position:absolute} 32.slide svg.drawing{position:absolute;overflow:visible} 33`,p=e=>e.replace(/(^|})\s*(\.[^{}]+)\{/g,(e,t,i)=>{let r=i.split(",").map(e=>`.flyfish-pptx-content ${e.trim()}`).join(",");return`${t}${r}{`}),u=` 34.flyfish-pptx-scale-box{position:relative;box-sizing:border-box;max-width:100%;margin:0 auto;min-width:0} 35.flyfish-pptx-content{position:absolute;top:0;left:0;box-sizing:border-box;max-width:none;min-width:0;transform-origin:top left;will-change:transform} 36.flyfish-pptx-content[data-render-state="loading"]{opacity:.82} 37.flyfish-pptx-slide-slot{display:flow-root;box-sizing:border-box;width:100%;min-width:0} 38.flyfish-pptx-slide-error{display:flex;align-items:center;justify-content:center;background:#fff7ed!important;color:#9a3412} 39.flyfish-pptx-slide-error-card{display:grid;gap:10px;max-width:70%;padding:24px;border:1px solid #fdba74;border-radius:12px;background:#fff;text-align:center;font:14px/1.5 system-ui,sans-serif} 40.flyfish-pptx-slide-error-card strong{font-size:18px} 41.flyfish-pptx-content .slide{background:#fff;box-shadow:0 18px 36px rgba(18,35,52,.12)} 42.flyfish-pptx-thumbnail{display:block;box-sizing:border-box;width:min(960px,100%);height:auto;margin:0 auto 28px;border-radius:12px;background:#fff;box-shadow:0 18px 36px rgba(18,35,52,.14)} 43${p(c)} 44.flyfish-pptx-content > .slide:last-of-type{margin-bottom:0} 45.flyfish-pptx-slide-slot:last-of-type > .slide{margin-bottom:0} 46`,m="flyfish-pptx-native-style",g=/\/\.?vite\/deps\/worker\/pptx\.worker\.js$/,f=/\/\/\s+(node_modules\/(?:\.pnpm\/[^\n]+?\/node_modules\/)?@file-viewer\/pptx\/dist\/worker\.js)\b/,w=e=>"data:"!==e.protocol&&"blob:"!==e.protocol,x=(e,t,i)=>Math.min(i,Math.max(t,e)),b=e=>x("number"==typeof e&&Number.isFinite(e)?e:100,25,300),v=e=>{if(null==e)return"";if("string"==typeof e)return e;if(e instanceof Error&&e.message)return e.message;try{let t=JSON.stringify(e);return t&&"{}"!==t?t:String(e)}catch{return String(e)}},y=(e,t,i,r,n)=>({name:"PptxDiagnosticError",code:e,stage:t,message:i,detail:v(r),hint:n}),S=(e,t)=>{let i=e.ownerDocument.createElement("template");i.innerHTML=t;let r=Array.from(i.content.children);return e.append(i.content),r[0]||null},P=(e,t,i=1,r=Number.MAX_SAFE_INTEGER)=>x("number"==typeof e&&Number.isFinite(e)?Math.floor(e):t,i,r);class E{static async open(e,t,i={}){let r=new E(e,t,i);return await r.open(),r}constructor(e,t,i){this.worker=null,this.resizeObserver=null,this.resizeFrame=0,this.fitScale=1,this.userZoomPercent=100,this.currentZoomPercent=100,this.thumbnailElement=null,this.previewThumbnailDataUrl=null,this.slideSize=null,this.slideRecords=[],this.slideWindowTarget=null,this.slideWindowListeners=[],this.slideWindowFrame=0,this.charts=null,this.disposed=!1,this.completed=!1,this.handleSlideWindowChange=()=>this.scheduleSlideWindowUpdate(),this.buffer=e,this.target=t,this.options=i,this.userZoomPercent=b(i.zoomPercent),this.currentZoomPercent=this.userZoomPercent;let r=t.ownerDocument||document;this.scaleBox=r.createElement("div"),this.scaleBox.className="flyfish-pptx-scale-box",this.content=r.createElement("div"),this.content.className="flyfish-pptx-content",this.content.dataset.renderState="loading",this.scaleBox.append(this.content)}get zoomPercent(){return Math.round(this.currentZoomPercent)}get thumbnailDataUrl(){return this.previewThumbnailDataUrl}async open(){((e,t)=>
46{let i={...h,...t.zipLimits};if(i.maxFileBytes&&e.byteLength>i.maxFileBytes)throw y("PPTX_FILE_TOO_LARGE","preflight","PPTX æä»¶è¶
è¿æµè§å¨å®å
¨é¢è§ä½ç§¯éå¶ã",`${e.byteLength} bytes > ${i.maxFileBytes} bytes`,"请å缩å¾çãæåæ¼ç¤ºæç¨¿ï¼æå¨ä¸å¡ä¾§æé« zipLimits.maxFileBytes ååé¢è§ã")})(this.buffer,this.options),((e,t=e)=>{if(t instanceof Document&&t.getElementById(m)||!(t instanceof Document)&&t.querySelector(`#${m}`))return;let i=e.createElement("style");if(i.id=m,i.textContent=u,t instanceof Document)return(t.head||t.documentElement).appendChild(i);t.appendChild(i)})(this.target.ownerDocument||document,this.options.styleRoot),this.target.replaceChildren(this.scaleBox),this.attachResizeObserver(),this.attachSlideWindowListeners(),this.startWorker()}async setZoom(e){let t=b(e);this.userZoomPercent=x(t/Math.max(this.fitScale,.01),25,600),this.scheduleResize()}destroy(){var e,t,i,r;this.disposed=!0,this.previewThumbnailDataUrl=null,null==(e=this.worker)||e.terminate(),this.worker=null,null==(t=this.resizeObserver)||t.disconnect(),this.resizeObserver=null,this.resizeFrame&&(null==(i=this.target.ownerDocument.defaultView)||i.cancelAnimationFrame(this.resizeFrame)),this.slideWindowFrame&&(null==(r=this.target.ownerDocument.defaultView)||r.cancelAnimationFrame(this.slideWindowFrame)),this.detachSlideWindowListeners(),this.target.replaceChildren()}startWorker(){var e;null==(e=this.worker)||e.terminate(),this.completed=!1,this.charts=null,this.previewThumbnailDataUrl=null,this.slideSize=null,this.slideRecords=[],this.content.replaceChildren(),this.content.dataset.renderState="loading";try{this.worker=((e={})=>{var t;return e.workerFactory?e.workerFactory():e.workerUrl?new Worker(e.workerUrl,{type:null!=(t=e.workerType)?t:"module"}):new Worker((()=>{let e,t=new i.U(i(15895));return w(t)&&g.test(t.pathname)?(e=>{if("undefined"==typeof XMLHttpRequest)return null;try{let t=new XMLHttpRequest;if(t.open("GET","file:///srv/elysia-tools/releases/dd069ad671319d6ce6a6048c8e6fabaa61db1be2/frontends/node_modules/@file-viewer/pptx/dist/worker.js",!1),t.send(null),t.status>0&&t.status<200||t.status>=400)return null;let i=f.exec(t.responseText||"");if(!i)return null;let r=i[1].replace(/dist\/worker\.js$/,"dist/worker/pptx.worker.js"),n=((e,t)=>{let i=e.pathname.indexOf("/.angular/cache/");if(i<0)return null;let r=new URL(e.href);return r.pathname=`${r.pathname.slice(0,i)}/${t}`,r.search="",r.hash="",r})(e,r);if(n)return n;let l="undefined"!=typeof location&&location.origin?location.origin:e.origin;return`${l}/${r}`}catch{return null}})(t)||(e=t,new URL("/node_modules/@file-viewer/pptx/dist/worker/pptx.worker.js",w(e)?e:new URL("undefined"!=typeof location?location.href:"file:///"))):t})(),{type:"module"})})(this.options)}catch(e){throw y("PPTX_WORKER_FAILED","start-worker","PPTX Worker å¯å¨å¤±è´¥ã",e,"è¯·æ£æ¥ presentation.workerUrlãWorker æä»¶æ¯å¦ 200 è¿åãMIME/CSP/è·¨åçç¥æ¯å¦å
许å è½½ã")}this.worker.addEventListener("message",e=>this.processMessage(e.data)),this.worker.addEventListener("error",e=>this.fail(y("PPTX_WORKER_FAILED","worker-runtime","PPTX Worker è¿è¡å¤±è´¥ã",e.error||e.message,"è¯·æ£æ¥ Worker èæ¬æ¯å¦å®æ´ãæµè§å¨æ§å¶å°æ¯å¦æ CSP/MIME/è·¨åæè¯æ³é误ã")));try{this.worker.postMessage({type:"processPPTX",data:this.buffer,IE11:!1,options:(e=>{var t,i,r,n,l,s,o,a;let d={slidesScale:"",slideMode:!1,slideType:"divs2slidesjs",revealjsPath:"",keyBoardShortCut:!1,mediaProcess:!0,jsZipV2:!1,themeProcess:!0,incSlide:{width:0,height:0},slideModeConfig:{first:1,nav:!0,navTxtColor:"black",keyBoardShortCut:!0,showSlideNum:!0,showTotalSlideNum:!0,autoSlide:!0,randomAutoSlide:!1,loop:!1,background:!1,transition:"default",transitionTime:1},revealjsConfig:{}};return{...d,...e,incSlide:{width:null!=(n=null!=(i=null==(t=null==e?void 0:e.incSlide)?void 0:t.width)?i:null==(r=d.incSlide)?void 0:r.width)?n:0,height:null!=(a=null!=(s=null==(l=null==e?void 0:e.incSlide)?void 0:l.height)?s:null==(o=d.incSlide)?void 0:o.height)?a:0},slideModeConfig:{...d.slideModeConfig,...null==e?void 0:e.slideModeConfig},revealjsConfig:{...d.revealjsConfig,...null==e?void 0:e.revealjsConfig}}})(this.options.engineOptions)})}catch(e){throw y("PPTX_WORKER_FAILED","post-worker-message","PPTX æ°æ®åéå° Worker 失败ã",e,"请确认æµè§å¨æ¯æ Worker æ¶æ¯ä¼ éï¼å¹¶é¿å
ä¼ å
¥å·²è¢«éæ¾æä¸å¯å
éçæ°æ®ã")}}processMessage(e){var t,i,r,n,l,s,o,a,d,h,c,p,u,m,g,f;if(!this.disposed&&!this.completed)switch(e.type){case"slide":if(this.clearThumbn
46ail(),this.shouldWindowSlides())this.appendWindowedSlide(String(e.data||""),Number(e.slide_num||0));else{let r=S(this.content,String(e.data||""));this.scheduleResize(),null==(i=(t=this.options).onSlideRendered)||i.call(t,Number(e.slide_num||0),r)}break;case"slide-error":{let t=Number(e.slide_num||0),i=e.data,d=((e,t)=>{let i,r=t&&"object"==typeof t?t:null,n=(null==r?void 0:r.message)||v(t)||"This slide could not be rendered.";return`<section class="slide flyfish-pptx-slide-error" data-slide-index="${e}"><div class="flyfish-pptx-slide-error-card" role="status"><strong>Slide ${e}</strong><span>${String(null!=(i=n)?i:"").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}</span></div></section>`})(t,i);if(this.clearThumbnail(),this.shouldWindowSlides())this.appendWindowedSlide(d,t);else{let e=S(this.content,d);this.scheduleResize(),null==(n=(r=this.options).onSlideRendered)||n.call(r,t,e)}null==(s=(l=this.options).onSlideError)||s.call(l,t,i),null==(a=(o=this.options).onWarning)||a.call(o,i);break}case"pptx-thumb":this.showThumbnail(String(e.data||"")),null==(h=(d=this.options).onThumbnail)||h.call(d,String(e.data||""));break;case"slideSize":this.slideSize=e.data||{},this.syncWindowedPlaceholderHeights(),null==(p=(c=this.options).onSlideSize)||p.call(c,e.data||{});break;case"globalCSS":this.appendGlobalCss(String(e.data||""));break;case"progress-update":null==(m=(u=this.options).onProgress)||m.call(u,Number(e.data||0),e);break;case"ExecutionTime":case"Done":this.complete(e.charts).catch(e=>this.fail(y("PPTX_PARSE_FAILED","post-process","PPTX 渲æåå¤ç失败ã",e)));break;case"WARN":null==(f=(g=this.options).onWarning)||f.call(g,e.data);break;case"ERROR":this.fail(e.data)}}appendGlobalCss(e){if(!e)return;let t=this.target.ownerDocument.createElement("style");t.textContent=p(e),this.content.append(t)}showThumbnail(e){if(!e||(this.previewThumbnailDataUrl=`data:image/jpeg;base64,${e}`,this.content.children.length>0))return;let t=this.target.ownerDocument.createElement("img");t.className="flyfish-pptx-thumbnail",t.alt="PPTX preview thumbnail",t.src=this.previewThumbnailDataUrl,this.thumbnailElement=t,this.scaleBox.insertBefore(t,this.content)}clearThumbnail(){var e;null==(e=this.thumbnailElement)||e.remove(),this.thumbnailElement=null}shouldWindowSlides(){var e;return!!(this.options.lazySlides||(null==(e=this.options.listOptions)?void 0:e.windowed))}getSlideWindowOptions(){let e=this.options.listOptions||{};return{initialSlides:P(e.initialSlides,3,1,20),batchSize:P(e.batchSize,4,1,20),overscanViewport:((e,t,i=0,r=Number.MAX_SAFE_INTEGER)=>x("number"==typeof e&&Number.isFinite(e)?e:1.5,i,r))(e.overscanViewport,0,.25,6)}}getEstimatedSlideHeight(){var e,t;let i=Number(null==(e=this.slideSize)?void 0:e.height),r=null==(t=this.slideRecords.find(e=>e.estimatedHeight>0))?void 0:t.estimatedHeight;return Math.ceil(Number.isFinite(i)&&i>0?i+50:r||590)}appendWindowedSlide(e,t){let i=this.createWindowedSlideRecord(e,t||this.slideRecords.length+1);this.slideRecords.push(i),this.content.append(i.slot),this.slideRecords.length<=this.getSlideWindowOptions().initialSlides&&this.renderSlideRecord(i),this.scheduleResize(),this.scheduleSlideWindowUpdate()}createWindowedSlideRecord(e,t){let i=this.target.ownerDocument.createElement("div"),r=this.getEstimatedSlideHeight();return i.className="flyfish-pptx-slide-slot",i.dataset.slideNumber=String(t),i.style.minHeight=`${r}px`,{slideNumber:t,html:e,slot:i,element:null,estimatedHeight:r,rendered:!1,notified:!1,postProcessed:!1,postProcessPromise:null}}getDesignerCanvases(e){return Array.from(e.slot.children).filter(e=>e.classList.contains("fv-print-mask-canvas"))}renderSlideRecord(e){var t,i;if(e.rendered||this.disposed)return;let r=this.getDesignerCanvases(e);e.slot.replaceChildren(),e.element=S(e.slot,e.html),e.slot.append(...r),e.rendered=!0,e.postProcessed=!1,this.updateMeasuredSlideHeight(e),e.notified||(e.notified=!0,null==(i=(t=this.options).onSlideRendered)||i.call(t,e.slideNumber,e.element)),this.completed&&this.postProcessSlideRecord(e).finally(()=>this.scheduleResize()),this.scheduleResize()}unmountSlideRecord(e){e.rendered&&!(this.getDesignerCanvases(e).length>0)&&(this.updateMeasuredSlideHeight(e),e.slot.replaceChildren(),e.element=null,e.rendered=!1,e.postProcessed=!1,e.postProcessPromise=null)}updateMeasuredSlideHeight(e){var t;let i=(null==(t=this.target.ownerDocument.defaultView)?void 0:t.HTMLElement)||HTMLElement;if(!(e.element instanceof i))return;let r=(this.target.ownerDocument.defaultView||window).getComputedStyle(e.element),n=parseFloat(r.marginTop)||0,l=parseFloat(r.marginBottom)||
460,s=Math.max(Math.ceil(e.element.offsetHeight+n+l),e.estimatedHeight,1);e.estimatedHeight=s,e.slot.style.minHeight=`${s}px`}syncWindowedPlaceholderHeights(){if(!this.shouldWindowSlides()||!this.slideRecords.length)return;let e=this.getEstimatedSlideHeight();for(let t of this.slideRecords)!t.rendered&&t.estimatedHeight<e&&(t.estimatedHeight=e,t.slot.style.minHeight=`${e}px`);this.scheduleResize()}scheduleSlideWindowUpdate(){if(!this.shouldWindowSlides()||this.disposed)return;let e=this.target.ownerDocument.defaultView||window;this.slideWindowFrame&&e.cancelAnimationFrame(this.slideWindowFrame),this.slideWindowFrame=e.requestAnimationFrame(()=>this.updateSlideWindow())}updateSlideWindow(){if(this.slideWindowFrame=0,!this.shouldWindowSlides()||!this.slideRecords.length||this.disposed)return;let e=this.getSlideWindowOptions(),t=this.getWindowedSlideIndexes(e),i=!1;this.slideRecords.forEach((e,r)=>{if(t.has(r)){let t=e.rendered;this.renderSlideRecord(e),i||(i=!t)}else e.rendered&&(this.unmountSlideRecord(e),i=!0)}),i&&this.scheduleResize()}getWindowedSlideIndexes(e){let t=this.getSlideViewport(),i=Math.max(e.initialSlides,e.initialSlides+4*e.batchSize,12),r=new Set;for(let t=0;t<Math.min(e.initialSlides,this.slideRecords.length);t+=1)r.add(t);let n=this.slideRecords.map((i,r)=>({index:r,distance:this.getDistanceFromViewport(i,t,e.overscanViewport)})).filter(e=>e.distance!==1/0).sort((e,t)=>e.distance-t.distance||e.index-t.index),l=n[0];for(let t of n)t.distance>0&&r.size>=e.initialSlides||r.add(t.index);if(l&&r.add(l.index),r.size<=i)return r;let s=new Set;for(let t=0;t<Math.min(e.initialSlides,this.slideRecords.length);t+=1)s.add(t);for(let e of n){if(s.size>=i)break;s.add(e.index)}return s}getDistanceFromViewport(e,t,i){let r=e.slot.getBoundingClientRect(),n=t.height*i,l=t.top-n,s=t.bottom+n;return r.bottom>=l&&r.top<=s?0:r.bottom<l?l-r.bottom:r.top>s?r.top-s:1/0}getSlideViewport(){let e=this.target.ownerDocument.defaultView||window,t=e.HTMLElement;if(this.slideWindowTarget instanceof t){let t=this.slideWindowTarget.getBoundingClientRect(),i=Math.max(1,t.height||this.slideWindowTarget.clientHeight||e.innerHeight||1);return{top:t.top,bottom:t.top+i,height:i}}
46let i=Math.max(1,e.innerHeight||this.target.ownerDocument.documentElement.clientHeight||540);return{top:0,bottom:i,height:i}}attachSlideWindowListeners(){if(!this.shouldWindowSlides())return;this.detachSlideWindowListeners();let e=this.target.ownerDocument.defaultView||window;this.slideWindowTarget=this.findSlideWindowTarget(),this.addSlideWindowListener(e,"scroll"),this.addSlideWindowListener(e,"resize"),this.slideWindowTarget&&this.slideWindowTarget!==e&&this.addSlideWindowListener(this.slideWindowTarget,"scroll")}addSlideWindowListener(e,t){e.addEventListener(t,this.handleSlideWindowChange,{passive:!0}),this.slideWindowListeners.push({target:e,type:t,listener:this.handleSlideWindowChange})}detachSlideWindowListeners(){for(let{target:e,type:t,listener:i}of this.slideWindowListeners)e.removeEventListener(t,i);this.slideWindowListeners=[],this.slideWindowTarget=null}findSlideWindowTarget(){let e=this.target.ownerDocument.defaultView||window,t=this.target.parentElement;for(;t&&t!==this.target.ownerDocument.body&&t!==this.target.ownerDocument.documentElement;){let i=e.getComputedStyle(t);if(/(auto|scroll|overlay)/.test(`${i.overflowY} ${i.overflow}`))return t;t=t.parentElement}return e}async postProcessRenderedContent(e){if(!this.shouldWindowSlides())return void await d(e,this.content);await Promise.all(this.slideRecords.filter(e=>e.rendered).map(e=>this.postProcessSlideRecord(e)))}async postProcessSlideRecord(e){!e.rendered||e.postProcessed||this.disposed||(e.postProcessPromise||(e.postProcessPromise=(async()=>{await d(this.charts,e.slot),this.disposed||(e.postProcessed=!0,this.updateMeasuredSlideHeight(e))})().finally(()=>{e.postProcessPromise=null})),await e.postProcessPromise)}async cloneForExport(){if(!this.shouldWindowSlides())return this.target.cloneNode(!0);let e=new Set(this.slideRecords.filter(e=>e.rendered));try{return this.slideRecords.forEach(e=>this.renderSlideRecord(e)),await Promise.all(this.slideRecords.map(e=>this.postProcessSlideRecord(e))),this.target.cloneNode(!0)}finally{this.slideRecords.forEach(t=>{e.has(t)||this.unmountSlideRecord(t)}),this.scheduleSlideWindowUpdate(),this.scheduleResize()}}async complete(e){var t,i,r;this.disposed||this.completed||(this.completed=!0,this.charts=e,this.content.dataset.renderState="ready",null==(t=this.worker)||t.terminate(),this.worker=null,this.scheduleSlideWindowUpdate(),this.scheduleResize(),await this.postProcessRenderedContent(e),this.disposed||(this.scheduleResize(),null==(r=(i=this.options).onRenderComplete)||r.call(i)))}fail(e){var t,i,r;this.disposed||(this.completed=!0,null==(t=this.worker)||t.terminate(),this.worker=null,this.content.dataset.renderState="error",null==(r=(i=this.options).onError)||r.call(i,e))}attachResizeObserver(){"undefined"!=typeof ResizeObserver&&(this.resizeObserver=new ResizeObserver(()=>{this.scheduleResize(),this.scheduleSlideWindowUpdate()}),this.resizeObserver.observe(this.target),this.target.parentElement&&this.resizeObserver.observe(this.target.parentElement))}scheduleResize(){let e=this.target.ownerDocument.defaultView||window;this.resizeFrame&&e.cancelAnimationFrame(this.resizeFrame),this.resizeFrame=e.requestAnimationFrame(()=>this.resize())}resize(){var e,t;let i=this.getMountedSlideElements(),r=Number(null==(e=this.slideSize)?void 0:e.width),n=Number.isFinite(r)&&r>0?r:0,l=Math.max(...i.map(e=>e.offsetWidth),n);if(!l)return;let s=this.target.clientWidth||(null==(t=this.target.parentElement)?void 0:t.clientWidth)||l;this.fitScale="none"===this.options.fitMode?1:Math.min(1,s/l);let o=x(this.fitScale*(this.userZoomPercent/100),.25,3);this.currentZoomPercent=100*o,this.content.style.width=`${l}px`,this.content.style.transform=`scale(${o})`,this.scaleBox.style.width=`${Math.ceil(l*o)}px`,this.scaleBox.style.height=`${Math.ceil(this.content.scrollHeight*o)}px`,this.scaleBox.style.minHeight=""}getMountedSlideElements(){var e;let t=(null==(e=this.target.ownerDocument.defaultView)?void 0:e.HTMLElement)||HTMLElement,i=[];for(let e of Array.from(this.content.children)){if(!(e instanceof t))continue;if(this.isSlideElement(e)){i.push(e);continue}if(!e.classList.contains("flyfish-pptx-slide-slot"))continue;let r=e.firstElementChild;r instanceof t&&this.isSlideElement(r)&&i.push(r)}return i}isSlideElement(e){return e.classList.contains("slide")||"SECTION"===e.tagName}}var k=i(97730);let T=` 47.pptx-viewer-shell{position:relative;box-sizing:border-box;min-height:100%;padding:24px 20px;background:var(--file-viewer-render-surface-background,#eef3f8);color:#1f2d3b;font-family:Aptos,'Segoe UI','PingFang SC','Microsoft YaHei',sans-serif} 48.pptx-render-surface{min-height:240px} 49.pptx-render-surface.is-loading{opacity:.72} 50.pptx-loading{position:sticky;top:12px;z-index:3;box-sizing:border-box;display:inline-flex;align-items:center;gap:10px;margin:0 0 16px 50%;padding:10px 14px;border:1px solid rgba(42,94,144,.14);border-radius:999px;background:rgba(255,255,255,.92);color:#41556b;box-shadow:0 12px 32px rgba(24,44,64,.12);transform:translateX(-50%)} 51.pptx-loading[hidden],.pptx-error[hidden]{display:none!important} 52.pptx-loading-dot{width:9px;height:9px;border-radius:999px;background:#1f9d67;box-shadow:0 0 0 6px rgba(31,157,103,.13)} 53.pptx-error{box-sizing:border-box;width:min(680px,calc(100% - 32px));margin:48px auto;padding:24px;border:1px solid rgba(28,43,58,.12);border-radius:14px;background:#fff;color:#1f2d3b;box-shadow:0 16px 42px rgba(25,42,54,.08)} 54.pptx-error strong{display:block;margin-bottom:10px;font-size:18px} 55.pptx-error p{margin:0;color:#607282;line-height:1.7} 56[data-viewer-theme='dark'] .pptx-viewer-shell{background:var(--file-viewer-render-surface-background,#101820);color:#e5eef8} 57[data-viewer-theme='dark'] .pptx-loading{border-color:rgba(148,163,184,.18);background:rgba(15,23,42,.9);color:#cbd5e1;box-shadow:0 18px 44px rgba(0,0,0,.26)} 58[data-viewer-theme='dark'] .pptx-error{border-color:rgba(148,163,184,.18);background:#151f2b;color:#f8fafc;box-shadow:0 22px 56px rgba(0,0,0,.32)} 59[data-viewer-theme='dark'] .pptx-error p{color:#94a3b8} 60[data-viewer-theme='dark'] .pptx-render-surface .slide,[data-viewer-theme='dark'] .pptx-render-surface [data-sli
60de-index]{color-scheme:only light;forced-color-adjust:none} 61@media (prefers-color-scheme:dark){[data-viewer-theme='system'] .pptx-viewer-shell{background:var(--file-viewer-render-surface-background,#101820);color:#e5eef8}[data-viewer-theme='system'] .pptx-loading{border-color:rgba(148,163,184,.18);background:rgba(15,23,42,.9);color:#cbd5e1;box-shadow:0 18px 44px rgba(0,0,0,.26)}[data-viewer-theme='system'] .pptx-error{border-color:rgba(148,163,184,.18);background:#151f2b;color:#f8fafc;box-shadow:0 22px 56px rgba(0,0,0,.32)}[data-viewer-theme='system'] .pptx-error p{color:#94a3b8}[data-viewer-theme='system'] .pptx-render-surface .slide,[data-viewer-theme='system'] .pptx-render-surface [data-slide-index]{color-scheme:only light;forced-color-adjust:none}} 62`,R=` 63 .pptx-viewer-shell { 64 background: #fff !important; 65 padding: 0 !important; 66 } 67 .pptx-render-surface { 68 display: block !important; 69 overflow: visible !important; 70 } 71 .pptx-render-surface [data-slide-index] { 72 break-after: page; 73 page-break-after: always; 74 margin: 0 auto !important; 75 } 76 .pptx-render-surface [data-slide-index]:last-child { 77 break-after: auto; 78 page-break-after: auto; 79 } 80`,z=(e,t,i,r)=>{let n=e.createElement(t);return i&&(n.className=i),void 0!==r&&(n.textContent=r),n},W=e=>Math.min(300,Math.max(25,Math.round(e))),C={PPTX_FILE_EMPTY:{zh:"æä»¶ä¸ºç©ºæè¿å°ï¼æ æ³è¯»åã",en:"The file is empty or too small to read."},PPTX_FILE_TOO_LARGE:{zh:"æä»¶è¶ è¿æµè§å¨å®å ¨é¢è§ä½ç§¯éå¶ã",en:"The file is larger than the browser-safe preview limit."},PPTX_INVALID_ZIP:{zh:"æä»¶ä¸æ¯ææç PowerPoint OpenXML å缩å ã",en:"The file is not a valid PowerPoint OpenXML package."},PPTX_MISSING_CONTENT_TYPES:{zh:"æä»¶ç¼ºå° [Content_Types].xmlï¼æ æ³è¯å«å é¨ç»æã",en:"The package is missing [Content_Types].xml, so its structure cannot be identified."},PPTX_MISSING_PRESENTATION:{zh:"æä»¶ç¼ºå° ppt/presentation.xmlï¼æ æ³è¯»åå¹»ç¯çå表ã",en:"The package is missing ppt/presentation.xml, so the slide list cannot be read."},PPTX_NO_SLIDES:{zh:"æä»¶ä¸æ²¡ææ¾å°å¯é¢è§çå¹»ç¯çã",en:"No previewable slides were found in the file."},PPTX_MISSING_SLIDE:{zh:"æä»¶ç¼ºå°æä¸é¡µå¹»ç¯çå 容ã",en:"The package is missing one of the slide parts."},PPTX_SLIDE_RENDER_FAILED:{zh:"æä¸é¡µå¹»ç¯çè§£æå¤±è´¥ã",en:"One slide failed to parse."},PPTX_WORKER_FAILED:{zh:"PPTX Worker å¯å¨æè¿è¡å¤±è´¥ã",en:"The PPTX Worker failed to start or run."},PPTX_PARSE_FAILED:{zh:"PPTX æä»¶è§£æå¤±è´¥ã",en:"The PPTX file could not be parsed."}},M={PPTX_INVALID_ZIP:{zh:"请确认æ¥å£è¿åçæ¯åå§ .pptx äºè¿å¶æä»¶ï¼è䏿¯ç»å½é¡µãHTML/JSON é误ååºæè¢«æªæçå 容ã",en:"Confirm that the response is the original .pptx binary, not a login page, HTML/JSON error response, or truncated download."},PPTX_WORKER_FAILED:{zh:"è¯·æ£æ¥ presentation.workerUrlãWorker æä»¶è·¯å¾ãMIME ç±»åãCSP åè·¨åçç¥ã",en:"Check presentation.workerUrl, the Worker file path, MIME type, CSP, and cross-origin policy."},PPTX_NO_SLIDES:{zh:"è¯·éæ°ä¿åæ¼ç¤ºæç¨¿ï¼ææ£æ¥å å æ¯å¦åå¨ ppt/slides/slide*.xmlã",en:"Re-save the presentation, or check whether ppt/slides/slide*.xml exists inside the package."}},D=(e,t)=>e?"zh-CN"===t?e.zh:e.en:"",L=e=>"string"!=typeof e?"":e.replace(/^Error:\s*/i,"").trim(),_=e=>{let t=e.toLowerCase();return t.includes("end of central directory")||t.includes("corrupt zip")||t.includes("invalid zip")||t.includes("not a zip")||t.includes("jszip")?{name:"PptxDiagnosticError",code:"PPTX_INVALID_ZIP",stage:"read-zip",detail:e}:t.includes("worker")||t.includes("script error")||t.includes("failed to construct")||t.includes("failed to load")?{name:"PptxDiagnosticError",code:"PPTX_WORKER_FAILED",stage:"worker-runtime",detail:e}:t.includes("[content_types].xml")?{name:"PptxDiagnosticError",code:"PPTX_MISSING_CONTENT_TYPES",stage:"read-content-types",detail
80:e}:t.includes("ppt/presentation.xml")?{name:"PptxDiagnosticError",code:"PPTX_MISSING_PRESENTATION",stage:"read-presentation",detail:e}:t.includes("slide")||t.includes("ppt/slides/")?{name:"PptxDiagnosticError",code:"PPTX_SLIDE_RENDER_FAILED",stage:"render-slide",detail:e}:null},N=(e,t,i)=>{let r=(0,k.lic)(null==i?void 0:i.options),n=String(e.code||"PPTX_PARSE_FAILED"),l=D(C[n],r),s=L(e.message),o=("zh-CN"===r?s||l:l||s)||t,a=L(e.detail),d=L(e.hint)||D(M[n],r),h=L(e.stage),c="zh-CN"===r?"ï¼":": ",p=[`${t}${c}${o}`];return h&&p.push("zh-CN"===r?`é¶æ®µï¼${h}`:`Stage: ${h}`),a&&a!==o&&p.push("zh-CN"===r?`详æ
ï¼${a}`:`Detail: ${a}`),d&&p.push("zh-CN"===r?`建议ï¼${d}`:`Hint: ${d}`),p.join("zh-CN"===r?"ï¼":"; ")},A=(e,t,i)=>{if((e=>!!(e&&"object"==typeof e&&("PptxDiagnosticError"===e.name||e.code||e.stage)))(e))return N(e,t,i);if(e instanceof Error||"string"==typeof e){let r=(0,k.Lxf)(e,null==i?void 0:i.options),n=_(r);return n?N(n,t,i):r||t}if(null==e)return t;try{let r=JSON.stringify(e)||"";if(r){let e=_(r);if(e)return N(e,t,i)}return r||t}catch{return String(e||t)}},F=A,I=e=>{let t=Array.from(e.querySelectorAll(".flyfish-pptx-slide-slot"));return t.length?t:Array.from(e.querySelectorAll("[data-slide-index], .slide"))};async function O(e,t,i,r){var n;let l=(0,k.Nxi)(null==r?void 0:r.options),s=t.ownerDocument||document,o=s.defaultView||("undefined"!=typeof window?window:null),a=(0,k._wZ)(),d=null,c="loading",p="",u=100,m=!1,g=!1,f=(e=>{let t=e.createElement("style");return t.textContent=T,t})(s),w=z(s,"div","pptx-viewer-shell");w.dataset.viewerZoomProvider="pptx";let x=z(s,"div","pptx-loading");x.setAttribute("aria-live","polite"),x.append(z(s,"span","pptx-loading-dot"),z(s,"span",void 0,l("presentation.state.loading")));let b=z(s,"div","pptx-error"),v=z(s,"strong",void 0,l("presentation.error.title")),y=z(s,"p");b.append(v,y);let S=z(s,"div","pptx-render-surface");w.append(x,b,S),t.replaceChildren(f,w),null==(n=null==r?void 0:r.registerThumbnailAdapter)||n.call(r,{captureSource:"embedded",beforeCapture:async({signal:e})=>{let t=()=>!!((null==d?void 0:d.thumbnailDataUrl)||S.querySelector(".slide, .flyfish-pptx-thumbnail"));for(;("loading"===c||"ready"===c&&!t())&&!g;){if(null==e?void 0:e.aborted)throw e.reason;await new Promise(e=>{o?o.setTimeout(e,16):setTimeout(e,16)})}if("error"===c)throw Error(p||l("presentation.error.parseFailed"))},capture:()=>(null==d?void 0:d.thumbnailDataUrl)?fetch(d.thumbnailDataUrl).then(e=>e.blob()):null,getTarget:()=>S});let P=()=>{var e;return W(null!=(e=null==d?void 0:d.zoomPercent)?e:u)},C=()=>{let e=P();return{scale:e/100,label:`${e}%`,canZoomIn:e<300,canZoomOut:e>25,canReset:100!==e,minScale:.25,maxScale:3}},M=async e=>{let t=W(e);return u=t,d&&(await d.setZoom(t),u=P()),a.emit(),C()},D=()=>{var e,t;m||g||null!=(e=null==r?void 0:r.signal)&&e.aborted||(m=!0,null==(t=null==r?void 0:r.onProgressiveRender)||t.call(r))},L=()=>{x.hidden=!("loading"===c&&!p),b.hidden="error"!==c,y.textContent=p,S.classList.toggle("is-loading","loading"===c)};(0,k.e57)(w,{zoomIn:()=>M(P()+15),zoomOut:()=>M(P()-15),resetZoom:()=>M(100),setZoom:e=>M(100*e),getState:C,subscribe:a.subscribe});let _=async()=>{var t,i,n,f,w,x,b,v,y,T,z,W,C;let M,_;c="loading",p="",m=!1,L();let N=null==(t=null==r?void 0:r.options)?void 0:t.presentation,F=new Promise((e,t)=>{M=e,_=t});F.catch(()=>{});let O=()=>{var e;let t=(null==(e=null==r?void 0:r.signal)?void 0:e.reason)||new DOMException("PPTX rendering aborted.","AbortError");null==d||d.destroy(),d=null,_(t)};null==(i=null==r?void 0:r.signal)||i.addEventListener("abort",O,{once:!0});try{let t;if(null==(n=null==r?void 0:r.signal)?void 0:n.aborted)throw r.signal.reason||new DOMException("PPTX rendering aborted.","AbortError");let i=await E.open(e,S,{styleRoot:(null==(z=null==r?void 0:r.surface)?void 0:z.shadowRoot)||(0,k.MsJ)(null==(W=null==r?void 0:r.surface)?void 0:W.container)||(0,k.MsJ)(S)||void 0,fitMode:"contain",zoomPercent:u,workerUrl:(null==N?void 0:N.workerUrl)?(0,k.SPq)(N,(0,k.rug)(s)):void 0,workerType:null==N?void 0:N.workerType,zipLimits:h,lazySlides:!0,lazyMedia:!0,listOptions:{windowed:!0,initialSlides:3,batchSize:4,overscanViewport:1.5},onSlideRendered:()=>D(),onRenderComplete:()=>{var e;g||null!=(e=null==r?void 0:r.signal)&&e.aborted||(c="ready",D(),u=P(),L(),a.emit(),M())},onSlideError:(e,t)=>
80{console.warn("PPTX slide render warning:",t)},onError:e=>{var t,i;g||null!=(t=null==r?void 0:r.signal)&&t.aborted||(c="error",p=A(e,l("presentation.error.parseFailed"),r),null==(i=null==r?void 0:r.registerExportAdapter)||i.call(r,null),L(),_(e))}});if(g||(null==(f=null==r?void 0:r.signal)?void 0:f.aborted))throw i.destroy(),(null==(w=null==r?void 0:r.signal)?void 0:w.reason)||new DOMException("PPTX rendering aborted.","AbortError");if(d=i,await F,g||(null==(x=null==r?void 0:r.signal)?void 0:x.aborted))throw(null==(b=null==r?void 0:r.signal)?void 0:b.reason)||new DOMException("PPTX rendering aborted.","AbortError");u=P(),null==(C=null==r?void 0:r.registerExportAdapter)||C.call(r,(t=()=>d,{print:!0,exportHtml:!0,includeDocumentStyles:!0,beforeSnapshot:()=>(0,k.gES)(o||void 0),getPrintMaskPages:()=>I(S),printStyle:R,toHtml:async()=>{var e;let i=await (null==(e=t())?void 0:e.cloneForExport())||S.cloneNode(!0);return I(i).forEach((e,t)=>{e.dataset.viewerPrintPageIndex=String(t)}),i.outerHTML}})),L(),a.emit()}catch(e){if(g||(null==(v=null==r?void 0:r.signal)?void 0:v.aborted))throw e;throw null==d||d.destroy(),d=null,c="error",p=A(e,l("presentation.error.parseFailed"),r),null==(y=null==r?void 0:r.registerExportAdapter)||y.call(r,null),L(),e}finally{null==(T=null==r?void 0:r.signal)||T.removeEventListener("abort",O)}};return await _(),{$el:w,unmount(){var e,i;g=!0,null==(e=null==r?void 0:r.registerExportAdapter)||e.call(r,null),null==(i=null==r?void 0:r.registerThumbnailAdapter)||i.call(r,null),(0,k.R_$)(w),null==d||d.destroy(),d=null,t.replaceChildren()}}}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.